diff --git a/components/goods-list/index.js b/components/goods-list/index.js index 52f1880..c5fddb9 100644 --- a/components/goods-list/index.js +++ b/components/goods-list/index.js @@ -262,7 +262,6 @@ Component({ }, init() { - console.log(this.properties.goodsList); this.genIndependentID(this.id || ''); this.setData({ type: this.properties.type diff --git a/pages/goods/details/components/buy-bar/index.js b/pages/goods/details/components/buy-bar/index.js index 0c01145..1cfee78 100644 --- a/pages/goods/details/components/buy-bar/index.js +++ b/pages/goods/details/components/buy-bar/index.js @@ -19,6 +19,10 @@ Component({ type: Boolean, value: true, }, // 是否有库存 + isCollect: { + type: Boolean, + value: false, + }, // 是否收藏 isSlotButton: { type: Boolean, value: false, diff --git a/pages/goods/details/index.js b/pages/goods/details/index.js index c49b732..003105e 100644 --- a/pages/goods/details/index.js +++ b/pages/goods/details/index.js @@ -8,6 +8,12 @@ import { import { fetchActivityList } from '~/services/activity/fetchActivityList'; +import { + addOrUpdateGoodsCollection +} from '~/services/usercenter/goods-collect/addOrUpdateGoodsCollection'; +import { + CancelGoodsCollection +} from '~/services/usercenter/goods-collect/CancelGoodsCollection'; import { getGoodsDetailsCommentList, getGoodsDetailsCommentsCount, @@ -61,7 +67,6 @@ Page({ title: '收藏', url: '', iconName: 'star', - filled_iconName: 'star-filled', }, { title: '购物车', @@ -132,7 +137,14 @@ Page({ } = e.detail; if (title == "收藏") { - console.log(this.data.details.spuId,'点击收藏的id'); + if(this.data.details.isCollect){ + CancelGoodsCollection({goodsGuid: this.data.details.spuId}) + } + else{ + addOrUpdateGoodsCollection({goodsGuid: this.data.details.spuId}) + } + this.getDetail(this.data.spuId) + // console.log(this.data.details.spuId, '点击收藏的id'); // console.log("点击收藏"); } else { wx.switchTab({ @@ -449,7 +461,18 @@ Page({ // details.desc = details.desc.replace(/\]*style\s*=\s*(['"])[^'"]*\1[^>]*>/gi, ']*>/gi, ''); - + if (details.isCollect === true) { + this.data.jumpArray[0].iconName = 'star_filled'; + this.setData({ + jumpArray: this.data.jumpArray + }) + } + else{ + this.data.jumpArray[0].iconName = 'star'; + this.setData({ + jumpArray: this.data.jumpArray + }) + } skuList.forEach((item) => { skuArray.push({ diff --git a/pages/goods/details/index.wxml b/pages/goods/details/index.wxml index 38f52fb..9da433e 100644 --- a/pages/goods/details/index.wxml +++ b/pages/goods/details/index.wxml @@ -141,6 +141,7 @@ jumpArray="{{jumpArray}}" soldout="{{soldout}}" isStock="{{isStock}}" + isCollect="{{details.isCollect}}" shopCartNum="{{cartNum}}" buttonType="{{buttonType}}" bind:toAddCart="toAddCart" diff --git a/pages/order/order-confirm/index.wxml b/pages/order/order-confirm/index.wxml index b729704..c8c0848 100644 --- a/pages/order/order-confirm/index.wxml +++ b/pages/order/order-confirm/index.wxml @@ -31,12 +31,12 @@ 运费 - + - + + - - + + 免运费 diff --git a/pages/usercenter/goods-collect/index.js b/pages/usercenter/goods-collect/index.js index 3262b2b..fc5da62 100644 --- a/pages/usercenter/goods-collect/index.js +++ b/pages/usercenter/goods-collect/index.js @@ -12,7 +12,8 @@ Page({ * 页面的初始数据 */ data: { - list: [] + list: [], + goodsListLoadStatus: 0 }, /** @@ -26,9 +27,11 @@ Page({ init(reset = false) { const params = { pageSize: this.page.size, - pageIndex: this.page.num, + pageNum: this.page.num, }; - + this.setData({ + goodsListLoadStatus: 1, + }); return getGoodsCollectionList(params) .then((res) => { this.page.num++; @@ -36,25 +39,15 @@ Page({ if (res && res.data && res.data.result) { this.setData({ - list: res.data.result - }) + list: this.data.list.concat(res.data.result), + goodsListLoadStatus: 0, + }); } - return new Promise((resolve) => { - if (reset) { - this.setData({ - list: [], - }, - () => resolve(), - ); - } else resolve(); - }).then(() => { - this.setData({ - list: this.data.list.concat(list), - }); + }).catch((err) => { + this.setData({ + goodsListLoadStatus: 3, }); - }) - .catch((err) => { return Promise.reject(err); }); }, @@ -71,6 +64,12 @@ Page({ }); }, + onReachBottom() { + if (this.data.goodsListLoadStatus === 0) { + this.init(); + } + }, + /** * 生命周期函数--监听页面初次渲染完成 */ @@ -106,13 +105,6 @@ Page({ }, - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - /** * 用户点击右上角分享 */ diff --git a/pages/usercenter/goods-collect/index.json b/pages/usercenter/goods-collect/index.json index cff538b..92548c6 100644 --- a/pages/usercenter/goods-collect/index.json +++ b/pages/usercenter/goods-collect/index.json @@ -3,6 +3,7 @@ "usingComponents": { "t-empty": "tdesign-miniprogram/empty/empty", "t-toast": "tdesign-miniprogram/toast/toast", + "load-more": "/components/load-more/index", "goods-list": "/components/goods-list/index" } } \ No newline at end of file diff --git a/pages/usercenter/goods-history/index.js b/pages/usercenter/goods-history/index.js index a8930a5..bb18a78 100644 --- a/pages/usercenter/goods-history/index.js +++ b/pages/usercenter/goods-history/index.js @@ -12,7 +12,8 @@ Page({ * 页面的初始数据 */ data: { - list: [] + list: [], + goodsListLoadStatus: 0 }, /** @@ -22,39 +23,36 @@ Page({ this.init() }, + onReTry() { + this.init(); + }, + // 获取商品浏览记录列表 - init(reset = false) { + async init(reset = false) { const params = { pageSize: this.page.size, - pageIndex: this.page.num, + pageNum: this.page.num, }; - + this.setData({ + goodsListLoadStatus: 1, + }); return getGoodsBrowsingHistoryList(params) .then((res) => { this.page.num++; - let list = []; if (res && res.data && res.data.result) { this.setData({ - list: res.data.result - }) + list: this.data.list.concat(res.data.result), + goodsListLoadStatus: 0, + }); } - return new Promise((resolve) => { - if (reset) { - this.setData({ - list: [], - }, - () => resolve(), - ); - } else resolve(); - }).then(() => { - this.setData({ - list: this.data.list.concat(list), - }); - }); + }) .catch((err) => { + this.setData({ + goodsListLoadStatus: 3, + }); return Promise.reject(err); }); }, @@ -71,6 +69,12 @@ Page({ }); }, + onReachBottom() { + if (this.data.goodsListLoadStatus === 0) { + this.init(); + } + }, + /** * 生命周期函数--监听页面初次渲染完成 */ @@ -106,13 +110,6 @@ Page({ }, - /** - * 页面上拉触底事件的处理函数 - */ - onReachBottom() { - - }, - /** * 用户点击右上角分享 */ diff --git a/pages/usercenter/goods-history/index.json b/pages/usercenter/goods-history/index.json index 9a25db8..afe8596 100644 --- a/pages/usercenter/goods-history/index.json +++ b/pages/usercenter/goods-history/index.json @@ -3,6 +3,7 @@ "usingComponents": { "t-empty": "tdesign-miniprogram/empty/empty", "t-toast": "tdesign-miniprogram/toast/toast", + "load-more": "/components/load-more/index", "goods-list": "/components/goods-list/index" } } \ No newline at end of file diff --git a/pages/usercenter/goods-history/index.wxml b/pages/usercenter/goods-history/index.wxml index 4d4d0a5..f333228 100644 --- a/pages/usercenter/goods-history/index.wxml +++ b/pages/usercenter/goods-history/index.wxml @@ -5,5 +5,6 @@ + \ No newline at end of file diff --git a/pages/usercenter/index.js b/pages/usercenter/index.js index d4cd4bd..a7e8335 100644 --- a/pages/usercenter/index.js +++ b/pages/usercenter/index.js @@ -101,6 +101,10 @@ const getDefaultData = () => ({ nickName: '正在登录...', phoneNumber: '', }, + collectData: { + collectCount: 0, + historyCount: 0, + }, menuData, orderTagInfos, customerServiceInfo: {}, @@ -133,6 +137,7 @@ Page({ fetchUserCenter().then( ({ userInfo, + collectData, // countsData, // orderTagInfos: orderInfo, // customerServiceInfo, @@ -151,9 +156,9 @@ Page({ // ...v, // ...orderInfo[index], // })); - console.log(userInfo,'来看看'); this.setData({ userInfo, + collectData, // menuData, // orderTagInfos: info, // customerServiceInfo, diff --git a/pages/usercenter/index.wxml b/pages/usercenter/index.wxml index 3a9eea7..4ae4670 100644 --- a/pages/usercenter/index.wxml +++ b/pages/usercenter/index.wxml @@ -13,12 +13,12 @@ - 0 + {{collectData.collectCount}} 收藏 - 0 + {{collectData.historyCount}} 浏览记录 diff --git a/services/usercenter/fetchUsercenter.js b/services/usercenter/fetchUsercenter.js index 0a40089..df9a7cc 100644 --- a/services/usercenter/fetchUsercenter.js +++ b/services/usercenter/fetchUsercenter.js @@ -13,12 +13,15 @@ export function fetchUserCenter() { url: `CustomerApi/getCustomerDetails?CustomerGuid=` + userData?.customerGuid, method: 'GET', success: function (res) { - let userInfo = res.data; let data = { userInfo: { - avatarUrl: userInfo.customerAvatar, - nickName: userInfo.customerNickname, - phoneNumber: userInfo.customerMobilePhoneNumber, + avatarUrl: res.data.customerAvatar, + nickName: res.data.customerNickname, + phoneNumber: res.data.customerMobilePhoneNumber, + }, + collectData: { + collectCount: res.data.collectCount, + historyCount: res.data.historyCount, } }; resolve(data); diff --git a/services/usercenter/goods-collect/CancelGoodsCollection.js b/services/usercenter/goods-collect/CancelGoodsCollection.js new file mode 100644 index 0000000..27fa41c --- /dev/null +++ b/services/usercenter/goods-collect/CancelGoodsCollection.js @@ -0,0 +1,20 @@ +import { + request +} from '~/services/_utils/request'; + +/** 删除商品收藏 */ +export function CancelGoodsCollection(data) { + return new Promise((resolve, reject) => { + request({ + url: `GoodsCollectionApi/CancelGoodsCollection`, + method: 'POST', + data: data, + success: function (res) { + resolve(res); + }, + fail: function (error) { + reject(error); + } + }); + }); +} \ No newline at end of file diff --git a/services/usercenter/goods-collect/addOrUpdateGoodsBrowsingHistory.js b/services/usercenter/goods-collect/addOrUpdateGoodsCollection.js similarity index 65% rename from services/usercenter/goods-collect/addOrUpdateGoodsBrowsingHistory.js rename to services/usercenter/goods-collect/addOrUpdateGoodsCollection.js index bb32acc..cc08ee5 100644 --- a/services/usercenter/goods-collect/addOrUpdateGoodsBrowsingHistory.js +++ b/services/usercenter/goods-collect/addOrUpdateGoodsCollection.js @@ -2,11 +2,11 @@ import { request } from '~/services/_utils/request'; -/** 添加商品浏览记录 */ -export function addOrUpdateGoodsBrowsingHistory(data) { +/** 添加商品收藏 */ +export function addOrUpdateGoodsCollection(data) { return new Promise((resolve, reject) => { request({ - url: `GoodsCollectionApi/addOrUpdateGoodsBrowsingHistory`, + url: `GoodsCollectionApi/addOrUpdateGoodsCollection`, method: 'Post', data: data, success: function (res) {