diff --git a/web/src/api/goauto/shopee-products.js b/web/src/api/goauto/shopee-products.js new file mode 100644 index 0000000..6c0af4d --- /dev/null +++ b/web/src/api/goauto/shopee-products.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +export function listShopeeProducts(params) { + return request({ url: '/api/admin/v1/shopee-products', method: 'get', params }) +} + +export function createShopeeProduct(data) { + return request({ url: '/api/admin/v1/shopee-products', method: 'post', data }) +} + +export function getShopeeProduct(productId) { + return request({ url: `/api/admin/v1/shopee-products/${productId}`, method: 'get' }) +} + +export function updateShopeeProduct(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}`, method: 'patch', data }) +} + +export function linkShopeeProductPdd(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/link-pdd`, method: 'post', data }) +} + +export function restoreShopeeProduct(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/restore`, method: 'post', data }) +} + +export function addShopeeSpecValue(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/specs/values`, method: 'post', data }) +} + +export function removeShopeeSpecValue(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/specs/values`, method: 'delete', data }) +} + +export function setShopeeSpecMapping(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/specs/mapping`, method: 'put', data }) +} + +export function clearShopeeSpecMapping(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/specs/mapping`, method: 'delete', data }) +} + +export function confirmShopeeSpecMapping(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/specs/mapping/confirm`, method: 'post', data }) +} + +export function confirmShopeeExactMatches(productId, data) { + return request({ url: `/api/admin/v1/shopee-products/${productId}/specs/mapping/confirm-exact-matches`, method: 'post', data }) +} + +export function batchDeleteShopeeProducts(data) { + return request({ url: '/api/admin/v1/shopee-products/batch-delete', method: 'post', data }) +} diff --git a/web/src/router/index.js b/web/src/router/index.js index 08b20e5..f5c2697 100644 --- a/web/src/router/index.js +++ b/web/src/router/index.js @@ -106,6 +106,19 @@ export const constantRoutes = [ } ] }, + { + path: '/shopee-products', + component: Layout, + redirect: '/shopee-products/index', + children: [ + { + path: 'index', + component: () => import('@/views/goauto/shopee-products/index'), + name: 'GoAutoShopeeProducts', + meta: { title: '虾皮商品', icon: 'goods' } + } + ] + }, { path: '/collection-rules', component: Layout, diff --git a/web/src/views/goauto/shopee-products/index.vue b/web/src/views/goauto/shopee-products/index.vue new file mode 100644 index 0000000..eb71f86 --- /dev/null +++ b/web/src/views/goauto/shopee-products/index.vue @@ -0,0 +1,378 @@ + + + + +