From f4c1b30f2e86d17ef94a2370847c37de46d721de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=BD=E6=97=A5=E6=99=9A=E9=A3=8E?= <1811466536@qq.com> Date: Tue, 31 Oct 2023 17:41:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85.=E8=AF=84?= =?UTF-8?q?=E4=BB=B7=E9=A1=B5=E9=9D=A2.=E8=B4=AD=E7=89=A9=E8=BD=A6?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2.=E9=A6=96=E9=A1=B5=E8=BD=AE=E6=92=AD?= =?UTF-8?q?=E5=9B=BE.=E6=90=9C=E7=B4=A2=E5=8A=9F=E8=83=BD.=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/goods/comment/list.vue | 308 +++++++------ .../goods/components/detail/comment-item.vue | 8 +- .../components/detail/detail-comment-card.vue | 6 +- pages/goods/index.vue | 2 +- pages/goods/list.vue | 8 +- pages/index/cart.vue | 16 +- pages/index/category.vue | 428 +++++++++--------- pages/index/index.vue | 126 +++--- sheep/api/cart.js | 15 +- sheep/api/category.js | 6 +- sheep/api/goods.js | 14 +- sheep/api/index2.js | 9 + sheep/request2/index.js | 4 +- sheep/store/cart.js | 16 +- 14 files changed, 496 insertions(+), 470 deletions(-) create mode 100644 sheep/api/index2.js diff --git a/pages/goods/comment/list.vue b/pages/goods/comment/list.vue index f8958ad9..138b5f54 100644 --- a/pages/goods/comment/list.vue +++ b/pages/goods/comment/list.vue @@ -1,160 +1,170 @@ + .avatar { + width: 52rpx; + height: 52rpx; + border-radius: 50%; + } + + .nickname { + font-size: 26rpx; + font-weight: 500; + color: #999999; + } + + .create-time { + font-size: 24rpx; + font-weight: 500; + color: #c4c4c4; + } + + .content-title { + font-size: 26rpx; + font-weight: 400; + color: #666666; + line-height: 42rpx; + } + + .content-img { + width: 174rpx; + height: 174rpx; + } + + .cicon-info-o { + font-size: 26rpx; + color: #c4c4c4; + } + + .foot-title { + font-size: 24rpx; + font-weight: 500; + color: #999999; + } + } + + .btn-box { + width: 100%; + height: 120rpx; + background: #fff; + border-top: 2rpx solid #eee; + } + + .tab-btn { + width: 130rpx; + height: 62rpx; + background: #eeeeee; + border-radius: 31rpx; + font-size: 28rpx; + font-weight: 400; + color: #999999; + border: 1px solid #e5e5e5; + margin-right: 10rpx; + } + \ No newline at end of file diff --git a/pages/goods/components/detail/comment-item.vue b/pages/goods/components/detail/comment-item.vue index d81bac30..2c96ac04 100644 --- a/pages/goods/components/detail/comment-item.vue +++ b/pages/goods/components/detail/comment-item.vue @@ -5,19 +5,19 @@ - {{ item.user_nickname }} + {{ item.userNickname }} - + {{ item.content }} - + - + diff --git a/pages/goods/components/detail/detail-comment-card.vue b/pages/goods/components/detail/detail-comment-card.vue index 9068d402..90cd4dfd 100644 --- a/pages/goods/components/detail/detail-comment-card.vue +++ b/pages/goods/components/detail/detail-comment-card.vue @@ -46,10 +46,10 @@ async function getComment(id) { const { data } = await sheep.$api.goods.comment(id, { list_rows: 3, - }); - console.log(data) + }); + const {data:datas} = await sheep.$api.goods.comment2(id); state.commentList = data; - state.total = data.total; + state.total = datas.total; } onBeforeMount(() => { getComment(props.goodsId); diff --git a/pages/goods/index.vue b/pages/goods/index.vue index 27bb45c4..2c70b59c 100644 --- a/pages/goods/index.vue +++ b/pages/goods/index.vue @@ -95,7 +95,7 @@ - + @@ -112,9 +112,9 @@ isAllSelected: computed(() => cart.isAllSelected), totalPriceSelected: computed(() => cart.totalPriceSelected), }); - // 单选选中 function onSelectSingle(id) { + console.log('单选') cart.selectSingle(id); } // 全选 @@ -154,7 +154,7 @@ if(cartItem.goods_num === e) return; cartItem.goods_num = e; cart.update({ - goods_id: cartItem.goods_id, + goods_id: cartItem.id, goods_num: e, goods_sku_price_id: cartItem.goods_sku_price_id, }); diff --git a/pages/index/category.vue b/pages/index/category.vue index 9024ef04..e6e049e9 100644 --- a/pages/index/category.vue +++ b/pages/index/category.vue @@ -1,250 +1,232 @@ + .banner-img { + width: calc(100vw - 130px); + border-radius: 5px; + margin-bottom: 20rpx; + } + } + } + \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue index 8d953c6b..41567d99 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,70 +1,84 @@ - + \ No newline at end of file diff --git a/sheep/api/cart.js b/sheep/api/cart.js index efa5c8aa..a319ec55 100644 --- a/sheep/api/cart.js +++ b/sheep/api/cart.js @@ -1,9 +1,10 @@ import request from '@/sheep/request'; +import request2 from '@/sheep/request2'; export default { list: (data) => - request({ - url: 'cart', + request2({ + url: 'trade/cart/list', method: 'GET', custom: { showLoading: false, @@ -25,14 +26,14 @@ export default { }), // 删除购物车 delete: (ids) => - request({ - url: 'cart/' + ids, + request2({ + url: 'trade/cart/delete?ids=' + ids, method: 'DELETE', }), update: (data) => - request({ - url: 'cart', - method: 'POST', + request2({ + url: 'trade/cart/update-count', + method: 'PUT', data: { ...data, type: 'cover', diff --git a/sheep/api/category.js b/sheep/api/category.js index 742f9c0c..9c825069 100644 --- a/sheep/api/category.js +++ b/sheep/api/category.js @@ -1,9 +1,9 @@ -import request from '@/sheep/request'; +import request2 from '@/sheep/request2'; export default { list: (params) => - request({ - url: 'category', + request2({ + url: 'product/category/list', method: 'GET', params, }), diff --git a/sheep/api/goods.js b/sheep/api/goods.js index f9a00ad8..c2dfe610 100644 --- a/sheep/api/goods.js +++ b/sheep/api/goods.js @@ -16,8 +16,8 @@ export default { // 商品列表 list: (params) => - request({ - url: 'goods/goods', + request2({ + url: 'product/spu/page', method: 'GET', params, custom: { @@ -49,6 +49,16 @@ export default { showError: false, }, }), + comment2: (id, params = {pageNo:1,pageSize:10,type:0}) => + request2({ + url: 'product/comment/page?spuId='+id, + method: 'GET', + params, + custom: { + showLoading: false, + showError: false, + }, + }), // 商品评价类型 getType: (id) => request({ diff --git a/sheep/api/index2.js b/sheep/api/index2.js new file mode 100644 index 00000000..60fa605a --- /dev/null +++ b/sheep/api/index2.js @@ -0,0 +1,9 @@ +import request2 from '@/sheep/request2'; + +export default { + decorate: () => + request2({ + url: 'promotion/decorate/list?page=1', + method: 'GET', + }), +}; diff --git a/sheep/request2/index.js b/sheep/request2/index.js index 0ed91e48..358ddccd 100644 --- a/sheep/request2/index.js +++ b/sheep/request2/index.js @@ -68,7 +68,7 @@ const http = new Request({ */ http.interceptors.request.use( (config) => { - console.log(config); + // console.log(config); if (config.custom.auth && !$store('user').isLogin) { showAuthModal(); return Promise.reject(); @@ -110,7 +110,7 @@ http.interceptors.response.use( } response.config.custom.showLoading && closeLoading(); - if (response.data.error !== 0) { + if (response.data.code !== 0) { if (response.config.custom.showError) uni.showToast({ title: response.data.msg || '服务器开小差啦,请稍后再试~', diff --git a/sheep/store/cart.js b/sheep/store/cart.js index 829dd088..8e076343 100644 --- a/sheep/store/cart.js +++ b/sheep/store/cart.js @@ -15,7 +15,7 @@ const cart = defineStore({ if (!state.selectedIds.length) return price.toFixed(2); state.list.forEach((item) => { price += state.selectedIds.includes(item.id) - ? Number(item.sku_price.price) * item.goods_num + ? Number(item.sku.price/100) * item.count : 0; }); return price.toFixed(2); @@ -24,9 +24,9 @@ const cart = defineStore({ actions: { // 获取购物车列表 async getList() { - const { data, error } = await cartApi.list(); - if (error === 0) { - this.list = data; + const { data, code } = await cartApi.list(); + if (code === 0) { + this.list = data.validList; } }, // 添加购物车 @@ -44,8 +44,8 @@ const cart = defineStore({ // 更新购物车 async update(goodsInfo) { const { error } = await cartApi.update({ - goods_id: goodsInfo.goods_id, - goods_num: goodsInfo.goods_num, + id: goodsInfo.goods_id, + count: goodsInfo.goods_num, goods_sku_price_id: goodsInfo.goods_sku_price_id, }); if (error === 0) { @@ -58,8 +58,8 @@ const cart = defineStore({ if (typeof ids === 'array') { ids = ids.join(','); } - const { error } = await cartApi.delete(ids); - if (error === 0) { + const { code } = await cartApi.delete(ids); + if (code === 0) { this.selectAll(false); this.getList(); }