ts_aimz/net/api/shop.js
2025-06-11 17:02:30 +08:00

161 lines
4.9 KiB
JavaScript

import {
request
} from "../http";
// 公共API
// 0b00884a-f7a2-425f-93e5-599fbaad4bde 软著分类
// ce3ded65-68ed-4f42-89da-de1b813b8f7e 证件类型
const proName = 'aiShop'
const apiPath = {
indexList: "/api/goodsonline/listpage", //上架的软著商品列表 GET
saveGoods: "/api/goods/save", //新增软著商品 POST
goodsDetail: "/api/goods/get/{goodsId}", //商品详情 GET
delGoods: "/api/goods/remove/{ids}", //删除商品 DELETE
updateGoods: "/api/goods/update/{goodsId}", //修改商品 PUT
doCheck: "/api/goods/sub-check/{goodsId}", //提交审核 PUT
onGoods: "/api/goods/{publish}/{goodsId}", //上架商品 PUT publish
offGoods: "/api/goods/{publish}/{goodsId}", //下架商品 no-publish
saleGoods: '/api/goods/{publish}/{goodsId}', //上架或下架商品
goodsDics: "/api/data/listbyparentid/{dId}", //商品数据字典
goodsDicDetail: '/api/data/get/{dId}', //字典详情
areaList: "/api/area/listbyparentid/{pId}", //省市区树结构
areaDetail: '/api/area/get/{areaId}', //地区详情
saveOrder: '/api/order/save/{goodsId}', //新增订单
confirmOrder: '/api/order/confirm-pay/{orderId}', //确定付款
cancelOrder: '/api/order/save-cancel/{orderId}', //取消订单
mineBuyOrder: '/api/order/listpage-buy', //我购买的订单
mineSellOrder: '/api/order/listpage-sell', //我销售的
mineSellGoods: '/api/goods/listpage', //我售卖的软著
}
class Shop {
// 通用路径参数替换方法
static #replacePathParams(path, params) {
return Object.entries(params).reduce(
(acc, [key, value]) => acc.replace(`{${key}}`, value),
path
)
}
// 通用请求方法
static requestHandler(endpoint, method, data = null, pathParams = {}) {
const path = Object.keys(pathParams).length ?
this.#replacePathParams(endpoint, pathParams) :
endpoint
return request(path, method, data, proName)
}
// 获取上架的软著列表
static doGetIndexList(data) {
return this.requestHandler(apiPath.indexList, "GET", data)
}
// 软著类型
static doGetGoodsDic(id) {
return this.requestHandler(apiPath.goodsDics, "GET", null, {
dId: id
})
}
//字典详情
static doGetDicDetail(id) {
return this.requestHandler(apiPath.goodsDicDetail, "GET", null, {
dId: id
})
}
// 新增软件商品
static doSaveGoods(data) {
return this.requestHandler(apiPath.saveGoods, "POST", data)
}
// 商品详情
static doGetGoodsDetail(id) {
return this.requestHandler(apiPath.goodsDetail, "GET", null, {
goodsId: id
})
}
// 删除商品
static doDelGoods(id) {
return this.requestHandler(apiPath.delGoods, "DELETE", null, {
ids: id
})
}
// 更新商品
static doUpdateGoods(id, data) {
return this.requestHandler(apiPath.updateGoods, "PUT", data, {
goodsId: id
})
}
// 提交审核
static doSubCheck(id) {
return this.requestHandler(apiPath.doCheck, "PUT", null, {
goodsId: id
})
}
// 上架商品
static doOnGoods(id) {
return this.requestHandler(apiPath.onGoods, "PUT", null, {
goodsId: id
})
}
// 下架商品
static doOffGoods(id) {
return this.requestHandler(apiPath.offGoods, "PUT", null, {
goodsId: id
})
}
//上架或下架商品
static doSaleGoods(status, id) {
return this.requestHandler(apiPath.saleGoods, "PUT", null, {
publish: status,
goodsId: id
})
}
//获取地区
static doGetAreaList(id) {
return this.requestHandler(apiPath.areaList, "GET", null, {
pId: id
})
}
//地区详情
static doGetAreaDetail(id) {
return this.requestHandler(apiPath.areaDetail, "GET", null, {
areaId: id
})
}
//新增订单
static doSaveOrder(id) {
return this.requestHandler(apiPath.saveOrder, "POST", null, {
goodsId: id
})
}
//确定付款
static doConfirmOrder(oId) {
return this.requestHandler(apiPath.confirmOrder, "PUT", null, {
orderId: oId
})
}
//取消订单
static doCancelOrder(oId) {
return this.requestHandler(apiPath.cancelOrder, "PUT", null, {
orderId: oId
})
}
//我购买的
static doGetMineOrders(data) {
return this.requestHandler(apiPath.mineBuyOrder, "GET", data)
}
//我已售卖的
static doGetMineSellOrder(data) {
return this.requestHandler(apiPath.mineSellOrder, "GET", data)
}
//我售卖的商品
static doGetMineSellGoods(data) {
return this.requestHandler(apiPath.mineSellGoods, "GET", data)
}
}
export default Shop;