diff --git a/src/api/product.js b/src/api/product.js new file mode 100644 index 0000000..9578421 --- /dev/null +++ b/src/api/product.js @@ -0,0 +1,67 @@ +import request from './request' + +/** + * 创建商品 + */ +export function createProduct(data) { + return request({ + url: '/product', + method: 'post', + data + }) +} + +/** + * 获取商品详情(通过商品ID或链接码) + */ +export function getProduct(id) { + return request({ + url: `/product/${id}`, + method: 'get' + }) +} + +/** + * 根据链接码获取商品详情 + */ +export function getProductByLinkCode(linkCode) { + return request({ + url: `/product/link/${linkCode}`, + method: 'get' + }) +} + +/** + * 获取商品列表 + */ +export function getProductList() { + return request({ + url: '/product/list', + method: 'get' + }) +} + +/** + * 获取商品URL + */ +export function getProductUrl(id) { + return request({ + url: `/product/${id}/url`, + method: 'get' + }) +} + +/** + * 上传商品图片 + */ +export function uploadProductImage(file) { + const formData = new FormData() + formData.append('file', file) + + return request({ + url: '/product/upload/image', + method: 'post', + data: formData + // 注意:不设置 Content-Type,让浏览器自动设置(包含 boundary) + }) +} diff --git a/src/views/ProductDetail.vue b/src/views/ProductDetail.vue new file mode 100644 index 0000000..0e1aa99 --- /dev/null +++ b/src/views/ProductDetail.vue @@ -0,0 +1,1058 @@ + + + + + diff --git a/src/views/ProductManage.vue b/src/views/ProductManage.vue new file mode 100644 index 0000000..c7a8cd4 --- /dev/null +++ b/src/views/ProductManage.vue @@ -0,0 +1,360 @@ + + + + + +