From bb3d0c8c0be4c19eb89680e19c500765f7b2353e Mon Sep 17 00:00:00 2001
From: "AERWEN\\26795" <123456789a>
Date: Mon, 23 Oct 2023 16:13:53 +0800
Subject: [PATCH] =?UTF-8?q?feat=20=E5=AF=B9=E6=8E=A5=E5=95=86=E5=93=81?=
=?UTF-8?q?=E6=94=B6=E8=97=8F(80%)=EF=BC=8C=E6=B5=8F=E8=A7=88=E8=AE=B0?=
=?UTF-8?q?=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 2 +
components/goods-card/index.js | 14 +-
components/goods-card/index.wxml | 142 ++++++++++++++++++
components/goods-card/index.wxss | 9 ++
pages/cart/components/cart-group/index.wxml | 2 +-
.../goods/details/components/buy-bar/index.js | 22 ++-
.../details/components/buy-bar/index.wxml | 1 +
pages/goods/details/index.js | 22 ++-
pages/home/home.js | 2 +-
pages/home/home.wxml | 3 +-
pages/usercenter/goods-collect/index.js | 122 +++++++++++++++
pages/usercenter/goods-collect/index.json | 8 +
pages/usercenter/goods-collect/index.wxml | 9 ++
pages/usercenter/goods-collect/index.wxss | 1 +
pages/usercenter/goods-history/index.js | 122 +++++++++++++++
pages/usercenter/goods-history/index.json | 8 +
pages/usercenter/goods-history/index.wxml | 9 ++
pages/usercenter/goods-history/index.wxss | 1 +
pages/usercenter/index.js | 14 +-
pages/usercenter/index.wxml | 12 ++
pages/usercenter/index.wxss | 24 +++
.../addOrUpdateGoodsBrowsingHistory.js | 20 +++
.../goods-collect/getGoodsCollectionList.js | 20 +++
.../addOrUpdateGoodsBrowsingHistory.js | 20 +++
.../getGoodsBrowsingHistoryList.js | 21 +++
25 files changed, 613 insertions(+), 17 deletions(-)
create mode 100644 pages/usercenter/goods-collect/index.js
create mode 100644 pages/usercenter/goods-collect/index.json
create mode 100644 pages/usercenter/goods-collect/index.wxml
create mode 100644 pages/usercenter/goods-collect/index.wxss
create mode 100644 pages/usercenter/goods-history/index.js
create mode 100644 pages/usercenter/goods-history/index.json
create mode 100644 pages/usercenter/goods-history/index.wxml
create mode 100644 pages/usercenter/goods-history/index.wxss
create mode 100644 services/usercenter/goods-collect/addOrUpdateGoodsBrowsingHistory.js
create mode 100644 services/usercenter/goods-collect/getGoodsCollectionList.js
create mode 100644 services/usercenter/goods-history/addOrUpdateGoodsBrowsingHistory.js
create mode 100644 services/usercenter/goods-history/getGoodsBrowsingHistoryList.js
diff --git a/app.json b/app.json
index d604e8d..ddf972d 100644
--- a/app.json
+++ b/app.json
@@ -5,6 +5,8 @@
"pages/login/authorize-avatar-name/index",
"pages/login/phone-register/index",
"pages/usercenter/index",
+ "pages/usercenter/goods-collect/index",
+ "pages/usercenter/goods-history/index",
"pages/usercenter/person-info/index",
"pages/usercenter/address/list/index",
"pages/usercenter/address/edit/index",
diff --git a/components/goods-card/index.js b/components/goods-card/index.js
index c24811b..af7d33b 100644
--- a/components/goods-card/index.js
+++ b/components/goods-card/index.js
@@ -1,3 +1,7 @@
+import {
+ addOrUpdateGoodsBrowsingHistory
+} from '~/services/usercenter/goods-history/addOrUpdateGoodsBrowsingHistory';
+
Component({
options: {
addGlobalClass: true,
@@ -68,7 +72,15 @@ Component({
pageLifeTimes: {},
methods: {
- clickHandle() {
+ clickHandle(e) {
+ // 点击加入历史记录
+ console.log(this.data.goods.spuId,'看看点击商品卡的id');
+ let data = {
+ goodsGuid: this.data.goods.spuId
+ }
+ addOrUpdateGoodsBrowsingHistory(data).then((res) => {
+ console.log(res);
+ })
this.triggerEvent('click', { goods: this.data.goods });
},
diff --git a/components/goods-card/index.wxml b/components/goods-card/index.wxml
index e7e3de9..493e186 100644
--- a/components/goods-card/index.wxml
+++ b/components/goods-card/index.wxml
@@ -137,3 +137,145 @@
+
+
+
+
+
+
+
+
+
+
+ {{ goods.title }}
+
+
+
+
+
+
+ {{tag}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ goods.title }}
+
+
+
+
+
+
+ {{tag}}
+
+
+
+
+
+
+
+ {{goods.craeteTime}}
+
+
+
+
diff --git a/components/goods-card/index.wxss b/components/goods-card/index.wxss
index 1905e00..571ae9f 100644
--- a/components/goods-card/index.wxss
+++ b/components/goods-card/index.wxss
@@ -178,4 +178,13 @@
.custom-tab-bar {
--td-tab-bar-active-bg: #ff0000; /* 设置选中状态的背景颜色为红色 */
+}
+
+.goods-card__crate-time{
+ width: 100%;
+ font-size: 25rpx;
+ color: grey;
+ display: flex;
+ justify-content: flex-end;
+ margin-right: 30rpx;
}
\ No newline at end of file
diff --git a/pages/cart/components/cart-group/index.wxml b/pages/cart/components/cart-group/index.wxml
index 373f955..9c2c55d 100644
--- a/pages/cart/components/cart-group/index.wxml
+++ b/pages/cart/components/cart-group/index.wxml
@@ -122,7 +122,7 @@
catchspecs="specsTap"
catchclick="goGoodsDetail"
>
-
+
无货
diff --git a/pages/goods/details/components/buy-bar/index.js b/pages/goods/details/components/buy-bar/index.js
index ae274e2..0c01145 100644
--- a/pages/goods/details/components/buy-bar/index.js
+++ b/pages/goods/details/components/buy-bar/index.js
@@ -1,7 +1,9 @@
Component({
externalClasses: ['wr-sold-out', 'wr-class'],
- options: { multipleSlots: true },
+ options: {
+ multipleSlots: true
+ },
properties: {
soldout: {
@@ -44,23 +46,33 @@ Component({
methods: {
toAddCart() {
- const { isStock } = this.properties;
+ const {
+ isStock
+ } = this.properties;
if (!isStock) return;
this.triggerEvent('toAddCart');
},
toBuyNow(e) {
- const { isStock } = this.properties;
+ const {
+ isStock
+ } = this.properties;
if (!isStock) return;
this.triggerEvent('toBuyNow', e);
},
toNav(e) {
- const { url } = e.currentTarget.dataset;
+ const {
+ url,
+ title
+ } = e.currentTarget.dataset;
+
return this.triggerEvent('toNav', {
e,
url,
+ title
});
+
},
},
-});
+});
\ No newline at end of file
diff --git a/pages/goods/details/components/buy-bar/index.wxml b/pages/goods/details/components/buy-bar/index.wxml
index 604afb4..e75d89b 100644
--- a/pages/goods/details/components/buy-bar/index.wxml
+++ b/pages/goods/details/components/buy-bar/index.wxml
@@ -11,6 +11,7 @@
data-ele="foot_navigation"
data-index="{{index}}"
data-url="{{item.url}}"
+ data-title="{{item.title}}"
>
diff --git a/pages/goods/details/index.js b/pages/goods/details/index.js
index 103658e..c49b732 100644
--- a/pages/goods/details/index.js
+++ b/pages/goods/details/index.js
@@ -58,9 +58,10 @@ Page({
storeLogo: `${imgPrefix}common/store-logo.png`,
storeName: '云mall标准版旗舰店',
jumpArray: [{
- title: '首页',
- url: '/pages/home/home',
- iconName: 'home',
+ title: '收藏',
+ url: '',
+ iconName: 'star',
+ filled_iconName: 'star-filled',
},
{
title: '购物车',
@@ -126,11 +127,18 @@ Page({
toNav(e) {
const {
- url
+ url,
+ title
} = e.detail;
- wx.switchTab({
- url: url,
- });
+
+ if (title == "收藏") {
+ console.log(this.data.details.spuId,'点击收藏的id');
+ // console.log("点击收藏");
+ } else {
+ wx.switchTab({
+ url: url,
+ });
+ }
},
showCurImg(e) {
diff --git a/pages/home/home.js b/pages/home/home.js
index e814ad6..7b9b7fa 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -28,7 +28,7 @@ Page({
goodsList: [],
goodsListLoadStatus: 0,
pageLoading: false,
- current: 1,
+ current: 0,
autoplay: true,
duration: '500',
interval: 5000,
diff --git a/pages/home/home.wxml b/pages/home/home.wxml
index 5be19ba..ba8254a 100644
--- a/pages/home/home.wxml
+++ b/pages/home/home.wxml
@@ -8,7 +8,8 @@
-
+
+
diff --git a/pages/usercenter/goods-collect/index.js b/pages/usercenter/goods-collect/index.js
new file mode 100644
index 0000000..3262b2b
--- /dev/null
+++ b/pages/usercenter/goods-collect/index.js
@@ -0,0 +1,122 @@
+import {
+ getGoodsCollectionList
+} from '~/services/usercenter/goods-collect/getGoodsCollectionList';
+
+
+Page({
+ page: {
+ size: 10,
+ num: 1,
+ },
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ list: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.init()
+ },
+
+ // 获取售后订单列表
+ init(reset = false) {
+ const params = {
+ pageSize: this.page.size,
+ pageIndex: this.page.num,
+ };
+
+ return getGoodsCollectionList(params)
+ .then((res) => {
+ this.page.num++;
+ let list = [];
+
+ if (res && res.data && res.data.result) {
+ this.setData({
+ list: res.data.result
+ })
+ }
+
+ return new Promise((resolve) => {
+ if (reset) {
+ this.setData({
+ list: [],
+ },
+ () => resolve(),
+ );
+ } else resolve();
+ }).then(() => {
+ this.setData({
+ list: this.data.list.concat(list),
+ });
+ });
+ })
+ .catch((err) => {
+ return Promise.reject(err);
+ });
+ },
+
+ gotoGoodsDetail(e) {
+ const {
+ index
+ } = e.detail;
+ const {
+ spuId
+ } = this.data.list[index];
+ wx.navigateTo({
+ url: `/pages/goods/details/index?spuId=${spuId}`,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/usercenter/goods-collect/index.json b/pages/usercenter/goods-collect/index.json
new file mode 100644
index 0000000..cff538b
--- /dev/null
+++ b/pages/usercenter/goods-collect/index.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "我的收藏",
+ "usingComponents": {
+ "t-empty": "tdesign-miniprogram/empty/empty",
+ "t-toast": "tdesign-miniprogram/toast/toast",
+ "goods-list": "/components/goods-list/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/usercenter/goods-collect/index.wxml b/pages/usercenter/goods-collect/index.wxml
new file mode 100644
index 0000000..82ecd1e
--- /dev/null
+++ b/pages/usercenter/goods-collect/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/usercenter/goods-collect/index.wxss b/pages/usercenter/goods-collect/index.wxss
new file mode 100644
index 0000000..9ffdd1f
--- /dev/null
+++ b/pages/usercenter/goods-collect/index.wxss
@@ -0,0 +1 @@
+/* pages/usercenter/goods-collect/index.wxss */
\ No newline at end of file
diff --git a/pages/usercenter/goods-history/index.js b/pages/usercenter/goods-history/index.js
new file mode 100644
index 0000000..a8930a5
--- /dev/null
+++ b/pages/usercenter/goods-history/index.js
@@ -0,0 +1,122 @@
+import {
+ getGoodsBrowsingHistoryList
+} from '~/services/usercenter/goods-history/getGoodsBrowsingHistoryList';
+
+
+Page({
+ page: {
+ size: 10,
+ num: 1,
+ },
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ list: []
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.init()
+ },
+
+ // 获取商品浏览记录列表
+ init(reset = false) {
+ const params = {
+ pageSize: this.page.size,
+ pageIndex: this.page.num,
+ };
+
+ return getGoodsBrowsingHistoryList(params)
+ .then((res) => {
+ this.page.num++;
+ let list = [];
+
+ if (res && res.data && res.data.result) {
+ this.setData({
+ list: res.data.result
+ })
+ }
+
+ return new Promise((resolve) => {
+ if (reset) {
+ this.setData({
+ list: [],
+ },
+ () => resolve(),
+ );
+ } else resolve();
+ }).then(() => {
+ this.setData({
+ list: this.data.list.concat(list),
+ });
+ });
+ })
+ .catch((err) => {
+ return Promise.reject(err);
+ });
+ },
+
+ gotoGoodsDetail(e) {
+ const {
+ index
+ } = e.detail;
+ const {
+ spuId
+ } = this.data.list[index];
+ wx.navigateTo({
+ url: `/pages/goods/details/index?spuId=${spuId}`,
+ });
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/usercenter/goods-history/index.json b/pages/usercenter/goods-history/index.json
new file mode 100644
index 0000000..9a25db8
--- /dev/null
+++ b/pages/usercenter/goods-history/index.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "我的浏览记录",
+ "usingComponents": {
+ "t-empty": "tdesign-miniprogram/empty/empty",
+ "t-toast": "tdesign-miniprogram/toast/toast",
+ "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
new file mode 100644
index 0000000..4d4d0a5
--- /dev/null
+++ b/pages/usercenter/goods-history/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/usercenter/goods-history/index.wxss b/pages/usercenter/goods-history/index.wxss
new file mode 100644
index 0000000..c20ef43
--- /dev/null
+++ b/pages/usercenter/goods-history/index.wxss
@@ -0,0 +1 @@
+/* pages/usercenter/goods-history/index.wxss */
\ No newline at end of file
diff --git a/pages/usercenter/index.js b/pages/usercenter/index.js
index 81bb51a..d4cd4bd 100644
--- a/pages/usercenter/index.js
+++ b/pages/usercenter/index.js
@@ -60,7 +60,7 @@ const menuData = [
const orderTagInfos = [{
title: '待付款',
iconName: 'wallet',
- orderNum: 0,
+ orderNum: 1,
tabType: 5,
status: 1,
},
@@ -253,6 +253,18 @@ Page({
});
},
+ jumpCollect() {
+ wx.navigateTo({
+ url: '/pages/usercenter/goods-collect/index'
+ });
+ },
+
+ jumpHistory() {
+ wx.navigateTo({
+ url: '/pages/usercenter/goods-history/index'
+ });
+},
+
openMakePhone() {
this.setData({
showMakePhone: true
diff --git a/pages/usercenter/index.wxml b/pages/usercenter/index.wxml
index d3dea60..3a9eea7 100644
--- a/pages/usercenter/index.wxml
+++ b/pages/usercenter/index.wxml
@@ -10,6 +10,18 @@
+
+
+
+ 0
+ 收藏
+
+
+
+ 0
+ 浏览记录
+
+
diff --git a/pages/usercenter/index.wxss b/pages/usercenter/index.wxss
index 483e6f2..c06d4d6 100644
--- a/pages/usercenter/index.wxss
+++ b/pages/usercenter/index.wxss
@@ -144,3 +144,27 @@ page {
.cell-box .t-cell-padding {
padding: 24rpx 18rpx 24rpx 32rpx;
}
+.order-history-box{
+ width: 90%;
+ display: flex;
+ justify-content: space-around;
+ margin: 30rpx auto;
+}
+.order-history-content-box{
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ cursor: pointer;
+}
+.order-history-content-num{
+ font-size: 35rpx;
+ font-weight: bold;
+ margin-bottom: 10rpx;
+}
+.order-history-content-line{
+ /* width: 1rpx; */
+ height: 80rpx;
+ border: 1px solid black;
+ display: flex;
+ align-self: center;
+}
\ No newline at end of file
diff --git a/services/usercenter/goods-collect/addOrUpdateGoodsBrowsingHistory.js b/services/usercenter/goods-collect/addOrUpdateGoodsBrowsingHistory.js
new file mode 100644
index 0000000..bb32acc
--- /dev/null
+++ b/services/usercenter/goods-collect/addOrUpdateGoodsBrowsingHistory.js
@@ -0,0 +1,20 @@
+import {
+ request
+} from '~/services/_utils/request';
+
+/** 添加商品浏览记录 */
+export function addOrUpdateGoodsBrowsingHistory(data) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: `GoodsCollectionApi/addOrUpdateGoodsBrowsingHistory`,
+ 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/getGoodsCollectionList.js b/services/usercenter/goods-collect/getGoodsCollectionList.js
new file mode 100644
index 0000000..9cb093d
--- /dev/null
+++ b/services/usercenter/goods-collect/getGoodsCollectionList.js
@@ -0,0 +1,20 @@
+import {
+ request
+} from '~/services/_utils/request';
+
+/** 获取商品收藏列表 */
+export function getGoodsCollectionList(data) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: `GoodsCollectionApi/getGoodsCollectionList`,
+ method: 'GET',
+ data: data,
+ success: function (res) {
+ resolve(res);
+ },
+ fail: function (error) {
+ reject(error);
+ }
+ });
+ });
+}
\ No newline at end of file
diff --git a/services/usercenter/goods-history/addOrUpdateGoodsBrowsingHistory.js b/services/usercenter/goods-history/addOrUpdateGoodsBrowsingHistory.js
new file mode 100644
index 0000000..57742d2
--- /dev/null
+++ b/services/usercenter/goods-history/addOrUpdateGoodsBrowsingHistory.js
@@ -0,0 +1,20 @@
+import {
+ request
+} from '~/services/_utils/request';
+
+/** 添加商品浏览记录 */
+export function addOrUpdateGoodsBrowsingHistory(data) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: `GoodsBrowsingHistoryApi/addOrUpdateGoodsBrowsingHistory`,
+ 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-history/getGoodsBrowsingHistoryList.js b/services/usercenter/goods-history/getGoodsBrowsingHistoryList.js
new file mode 100644
index 0000000..445082c
--- /dev/null
+++ b/services/usercenter/goods-history/getGoodsBrowsingHistoryList.js
@@ -0,0 +1,21 @@
+import data from '~/custom-tab-bar/data';
+import {
+ request
+} from '~/services/_utils/request';
+
+/** 获取商品浏览记录列表 */
+export function getGoodsBrowsingHistoryList(data) {
+ return new Promise((resolve, reject) => {
+ request({
+ url: `GoodsBrowsingHistoryApi/getGoodsBrowsingHistoryList`,
+ method: 'GET',
+ data: data,
+ success: function (res) {
+ resolve(res);
+ },
+ fail: function (error) {
+ reject(error);
+ }
+ });
+ });
+}
\ No newline at end of file