diff --git a/app.json b/app.json
index 148fc4b..9ad5d2d 100644
--- a/app.json
+++ b/app.json
@@ -1,34 +1,6 @@
{
"pages": [
"pages/home/home",
- "pages/usercenter/index",
- "pages/usercenter/person-info/index",
- "pages/usercenter/address/list/index",
- "pages/usercenter/address/edit/index",
- "pages/goods/list/index",
- "pages/goods/details/index",
- "pages/goods/category/index",
- "pages/goods/search/index",
- "pages/goods/result/index",
- "pages/cart/index",
- "pages/order/order-confirm/index",
- "pages/order/receipt/index",
- "pages/order/pay-result/index",
- "pages/order/order-list/index",
- "pages/order/order-detail/index",
- "pages/goods/comments/index",
- "pages/order/apply-service/index",
- "pages/order/after-service-list/index",
- "pages/order/after-service-detail/index",
- "pages/goods/comments/create/index",
- "pages/coupon/coupon-list/index",
- "pages/coupon/coupon-detail/index",
- "pages/coupon/coupon-activity-goods/index",
- "pages/promotion-detail/index",
- "pages/order/fill-tracking-no/index",
- "pages/order/delivery-detail/index",
- "pages/order/invoice/index",
- "pages/usercenter/name-edit/index",
"pages/home/session/session",
"pages/home/additive/additive",
"pages/home/chemical/chemical",
@@ -36,7 +8,8 @@
"pages/standard/list/index",
"pages/user/index",
"pages/user/session-list/index",
- "pages/user/edit/index"
+ "pages/user/edit/index",
+ "pages/info/content-page/index"
],
"tabBar": {
"custom": true,
diff --git a/components/goods-card/index.js b/components/goods-card/index.js
deleted file mode 100644
index eb75361..0000000
--- a/components/goods-card/index.js
+++ /dev/null
@@ -1,141 +0,0 @@
-Component({
- options: {
- addGlobalClass: true,
- },
-
- properties: {
- id: {
- type: String,
- value: '',
- observer(id) {
- this.genIndependentID(id);
- if (this.properties.thresholds?.length) {
- this.createIntersectionObserverHandle();
- }
- },
- },
- data: {
- type: Object,
- observer(data) {
- if (!data) {
- return;
- }
- let isValidityLinePrice = true;
- if (data.originPrice && data.price && data.originPrice < data.price) {
- isValidityLinePrice = false;
- }
- this.setData({ goods: data, isValidityLinePrice });
- },
- },
- currency: {
- type: String,
- value: '¥',
- },
-
- thresholds: {
- type: Array,
- value: [],
- observer(thresholds) {
- if (thresholds && thresholds.length) {
- this.createIntersectionObserverHandle();
- } else {
- this.clearIntersectionObserverHandle();
- }
- },
- },
- },
-
- data: {
- independentID: '',
- goods: { id: '' },
- isValidityLinePrice: false,
- },
-
- lifetimes: {
- ready() {
- this.init();
- },
- detached() {
- this.clear();
- },
- },
-
- pageLifeTimes: {},
-
- methods: {
- clickHandle() {
- this.triggerEvent('click', { goods: this.data.goods });
- },
-
- clickThumbHandle() {
- this.triggerEvent('thumb', { goods: this.data.goods });
- },
-
- addCartHandle(e) {
- const { id } = e.currentTarget;
- const { id: cardID } = e.currentTarget.dataset;
- this.triggerEvent('add-cart', {
- ...e.detail,
- id,
- cardID,
- goods: this.data.goods,
- });
- },
-
- genIndependentID(id) {
- let independentID;
- if (id) {
- independentID = id;
- } else {
- independentID = `goods-card-${~~(Math.random() * 10 ** 8)}`;
- }
- this.setData({ independentID });
- },
-
- init() {
- const { thresholds, id } = this.properties;
- this.genIndependentID(id);
- if (thresholds && thresholds.length) {
- this.createIntersectionObserverHandle();
- }
- },
-
- clear() {
- this.clearIntersectionObserverHandle();
- },
-
- intersectionObserverContext: null,
-
- createIntersectionObserverHandle() {
- if (this.intersectionObserverContext || !this.data.independentID) {
- return;
- }
- this.intersectionObserverContext = this.createIntersectionObserver({
- thresholds: this.properties.thresholds,
- }).relativeToViewport();
-
- this.intersectionObserverContext.observe(
- `#${this.data.independentID}`,
- (res) => {
- this.intersectionObserverCB(res);
- },
- );
- },
-
- intersectionObserverCB() {
- this.triggerEvent('ob', {
- goods: this.data.goods,
- context: this.intersectionObserverContext,
- });
- },
-
- clearIntersectionObserverHandle() {
- if (this.intersectionObserverContext) {
- try {
- this.intersectionObserverContext.disconnect();
- } catch (e) {}
- this.intersectionObserverContext = null;
- }
- },
- },
-});
diff --git a/components/goods-card/index.json b/components/goods-card/index.json
deleted file mode 100644
index f199647..0000000
--- a/components/goods-card/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "price": "/components/price/index",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-image": "/components/webp-image/index"
- }
-}
\ No newline at end of file
diff --git a/components/goods-card/index.wxml b/components/goods-card/index.wxml
deleted file mode 100644
index 1292f65..0000000
--- a/components/goods-card/index.wxml
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
-
-
-
-
-
- {{ goods.title }}
-
-
-
- {{tag}}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/components/goods-card/index.wxss b/components/goods-card/index.wxss
deleted file mode 100644
index 1326d59..0000000
--- a/components/goods-card/index.wxss
+++ /dev/null
@@ -1,133 +0,0 @@
-.goods-card {
- box-sizing: border-box;
- font-size: 24rpx;
- border-radius: 0 0 16rpx 16rpx;
- border-bottom: none;
-}
-
-.goods-card__main {
- position: relative;
- display: flex;
- line-height: 1;
- padding: 0;
- background: transparent;
- width: 342rpx;
- border-radius: 0 0 16rpx 16rpx;
- align-items: center;
- justify-content: center;
- margin-bottom: 16rpx;
- flex-direction: column;
-}
-
-.goods-card__thumb {
- flex-shrink: 0;
- position: relative;
- width: 340rpx;
- height: 340rpx;
-}
-
-.goods-card__thumb:empty {
- display: none;
- margin: 0;
-}
-
-.goods-card__img {
- display: block;
- width: 100%;
- height: 100%;
- border-radius: 16rpx 16rpx 0 0;
- overflow: hidden;
-}
-
-.goods-card__body {
- display: flex;
- flex: 1 1 auto;
- background: #fff;
- border-radius: 0 0 16rpx 16rpx;
- padding: 16rpx 24rpx 18rpx;
- flex-direction: column;
-}
-
-.goods-card__upper {
- display: flex;
- flex-direction: column;
- overflow: hidden;
- flex: 1 1 auto;
-}
-
-.goods-card__title {
- flex-shrink: 0;
- font-size: 28rpx;
- color: #333;
- font-weight: 400;
- display: -webkit-box;
- height: 72rpx;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- overflow: hidden;
- word-break: break-word;
- line-height: 36rpx;
-}
-
-.goods-card__tags {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- margin: 8rpx 0 0 0;
-}
-
-.goods-card__tag {
- color: #fa4126;
- background: transparent;
- font-size: 20rpx;
- border: 1rpx solid #fa4126;
- padding: 0 8rpx;
- border-radius: 16rpx;
- line-height: 30rpx;
- margin: 0 8rpx 8rpx 0;
- display: block;
- overflow: hidden;
- white-space: nowrap;
- word-break: keep-all;
- text-overflow: ellipsis;
-}
-
-.goods-card__down {
- display: flex;
- position: relative;
- flex-direction: row;
- justify-content: flex-start;
- align-items: baseline;
- line-height: 32rpx;
- margin: 8rpx 0 0 0;
-}
-
-.goods-card__origin-price {
- white-space: nowrap;
- font-weight: 700;
- order: 2;
- color: #bbbbbb;
- font-size: 24rpx;
- margin: 0 0 0 8rpx;
-}
-
-.goods-card__add-cart {
- order: 3;
- margin: auto 0 0 auto;
- position: absolute;
- bottom: 0;
- right: 0;
-}
-
-.spec-for-price {
- font-size: 36rpx;
- white-space: nowrap;
- font-weight: 700;
- order: 1;
- color: #fa4126;
- margin: 0;
-}
-
-.spec-for-symbol {
- font-size: 24rpx;
-}
diff --git a/components/goods-list/index.js b/components/goods-list/index.js
deleted file mode 100644
index 5184903..0000000
--- a/components/goods-list/index.js
+++ /dev/null
@@ -1,62 +0,0 @@
-Component({
- externalClasses: ['wr-class'],
-
- properties: {
- goodsList: {
- type: Array,
- value: [],
- },
- id: {
- type: String,
- value: '',
- observer: (id) => {
- this.genIndependentID(id);
- },
- },
- thresholds: {
- type: Array,
- value: [],
- },
- },
-
- data: {
- independentID: '',
- },
-
- lifetimes: {
- ready() {
- this.init();
- },
- },
-
- methods: {
- onClickGoods(e) {
- const { index } = e.currentTarget.dataset;
- this.triggerEvent('click', { ...e.detail, index });
- },
-
- onAddCart(e) {
- const { index } = e.currentTarget.dataset;
- this.triggerEvent('addcart', { ...e.detail, index });
- },
-
- onClickGoodsThumb(e) {
- const { index } = e.currentTarget.dataset;
- this.triggerEvent('thumb', { ...e.detail, index });
- },
-
- init() {
- this.genIndependentID(this.id || '');
- },
-
- genIndependentID(id) {
- if (id) {
- this.setData({ independentID: id });
- } else {
- this.setData({
- independentID: `goods-list-${~~(Math.random() * 10 ** 8)}`,
- });
- }
- },
- },
-});
diff --git a/components/goods-list/index.json b/components/goods-list/index.json
deleted file mode 100644
index bdaa23d..0000000
--- a/components/goods-list/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "goods-card": "/components/goods-card/index"
- }
-}
\ No newline at end of file
diff --git a/components/goods-list/index.wxml b/components/goods-list/index.wxml
deleted file mode 100644
index 5a9a804..0000000
--- a/components/goods-list/index.wxml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
diff --git a/components/goods-list/index.wxss b/components/goods-list/index.wxss
deleted file mode 100644
index 7262a4d..0000000
--- a/components/goods-list/index.wxss
+++ /dev/null
@@ -1,7 +0,0 @@
-.goods-list-wrap {
- display: flex;
- flex-flow: row wrap;
- justify-content: space-between;
- padding: 0;
- background: #fff;
-}
diff --git a/components/loading-content/index.wxml b/components/loading-content/index.wxml
index add589c..1f39412 100644
--- a/components/loading-content/index.wxml
+++ b/components/loading-content/index.wxml
@@ -1,11 +1,5 @@
-
-
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/components/price/index.js b/components/price/index.js
deleted file mode 100644
index c0218f7..0000000
--- a/components/price/index.js
+++ /dev/null
@@ -1,71 +0,0 @@
-Component({
- externalClasses: ['wr-class', 'symbol-class', 'decimal-class'],
- useStore: [],
- properties: {
- priceUnit: {
- type: String,
- value: 'fen',
- }, // 价格单位,分 | 元, fen,yuan
- price: {
- type: null,
- value: '',
- observer(price) {
- this.format(price);
- },
- }, // 价格, 以分为单位
- type: {
- type: String,
- value: '', //
- }, // main 粗体, lighter 细体, mini 黑色, del 中划线, delthrough 中划线,包括货币符号
- symbol: {
- type: String,
- value: '¥', // '¥',
- }, // 货币符号,默认是人民币符号¥
- fill: Boolean, // 是否自动补齐两位小数
- decimalSmaller: Boolean, // 小数字号小一点
- lineThroughWidth: {
- type: null,
- value: '0.12em',
- }, // 划线价线条高度
- },
-
- data: {
- pArr: [],
- },
-
- methods: {
- format(price) {
- price = parseFloat(`${price}`);
- const pArr = [];
- if (!isNaN(price)) {
- const isMinus = price < 0;
- if (isMinus) {
- price = -price;
- }
- if (this.properties.priceUnit === 'yuan') {
- const priceSplit = price.toString().split('.');
- pArr[0] = priceSplit[0];
- pArr[1] = !priceSplit[1]
- ? '00'
- : priceSplit[1].length === 1
- ? `${priceSplit[1]}0`
- : priceSplit[1];
- } else {
- price = Math.round(price * 10 ** 8) / 10 ** 8; // 恢复精度丢失
- price = Math.ceil(price); // 向上取整
- pArr[0] = price >= 100 ? `${price}`.slice(0, -2) : '0';
- pArr[1] = `${price + 100}`.slice(-2);
- }
- if (!this.properties.fill) {
- // 如果 fill 为 false, 不显示小数末尾的0
- if (pArr[1] === '00') pArr[1] = '';
- else if (pArr[1][1] === '0') pArr[1] = pArr[1][0];
- }
- if (isMinus) {
- pArr[0] = `-${pArr[0]}`;
- }
- }
- this.setData({ pArr });
- },
- },
-});
diff --git a/components/price/index.json b/components/price/index.json
deleted file mode 100644
index a89ef4d..0000000
--- a/components/price/index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
diff --git a/components/price/index.wxml b/components/price/index.wxml
deleted file mode 100644
index 7f4f9d9..0000000
--- a/components/price/index.wxml
+++ /dev/null
@@ -1,21 +0,0 @@
-
- var REGEXP = getRegExp('^\d+(\.\d+)?$');
- function addUnit(value) {
- if (value == null) {
- return '';
- }
- return REGEXP.test('' + value) ? value + 'rpx' : value;
- }
- module.exports = {
- addUnit: addUnit
- };
-
-
-
- {{symbol}}
-
- {{pArr[0]}}
- .{{pArr[1]}}
-
-
-
diff --git a/components/price/index.wxss b/components/price/index.wxss
deleted file mode 100644
index 45da266..0000000
--- a/components/price/index.wxss
+++ /dev/null
@@ -1,66 +0,0 @@
-:host {
- display: inline-block;
- display: inline-block;
- font-weight: inherit;
-}
-.inline {
- display: inline;
- white-space: nowrap;
-}
-.price {
- display: inline;
- color: inherit;
- font-size: inherit;
- text-decoration: inherit;
-}
-
-.lighter {
- font-weight: 400;
- font-size: 32rpx;
-}
-.mini {
- font-size: 24rpx;
- color: #5d5d5d;
- font-weight: 400;
-}
-.del .pprice {
- font-size: 32rpx;
- color: #9b9b9b;
- text-decoration: line-through;
- font-weight: 400;
-}
-.delthrough {
- position: relative;
-}
-.delthrough .line {
- position: absolute;
- top: 50%;
- left: 0;
- right: 0;
- transform: translateY(-50%);
- margin: 0;
- background-color: currentColor;
-}
-
-.symbol {
- display: inline;
- color: inherit;
- font-size: inherit;
- font-size: 0.8em;
-}
-.pprice {
- display: inline;
- margin: 0 0 0 4rpx;
-}
-.integer {
- color: inherit;
- font-size: inherit;
-}
-.decimal {
- color: inherit;
- font-size: inherit;
-}
-.decimal.smaller {
- font-size: 0.8em;
- vertical-align: baseline;
-}
diff --git a/components/swipeout/index.wxml b/components/swipeout/index.wxml
index 353bf72..dc343d8 100644
--- a/components/swipeout/index.wxml
+++ b/components/swipeout/index.wxml
@@ -4,7 +4,7 @@
var owner;
var state;
- var getState = function(ownerInstance) {
+ var getState = function (ownerInstance) {
owner = ownerInstance;
state = owner.getState();
state.leftWidth = state.leftWidth || 0;
@@ -13,7 +13,7 @@
state.startOffset = state.startOffset || 0;
};
- var initRightWidth = function(newVal, oldVal, ownerInstance) {
+ var initRightWidth = function (newVal, oldVal, ownerInstance) {
getState(ownerInstance);
state.rightWidth = newVal;
if (state.offset < 0) {
@@ -21,7 +21,7 @@
}
};
- var initLeftWidth = function(newVal, oldVal, ownerInstance) {
+ var initLeftWidth = function (newVal, oldVal, ownerInstance) {
getState(ownerInstance);
state.leftWidth = newVal;
if (state.offset > 0) {
@@ -29,7 +29,7 @@
}
}
- var resetTouchStatus = function() {
+ var resetTouchStatus = function () {
state.direction = '';
state.deltaX = 0;
state.deltaY = 0;
@@ -37,7 +37,7 @@
state.offsetY = 0;
};
- var touchMove = function(event) {
+ var touchMove = function (event) {
var touchPoint = event.touches[0];
state.deltaX = touchPoint.clientX - state.startX;
state.deltaY = touchPoint.clientY - state.startY;
@@ -46,7 +46,7 @@
state.direction = state.direction || getDirection(state.offsetX, state.offsetY);
};
- var getDirection = function(x, y) {
+ var getDirection = function (x, y) {
if (x > y && x > MIN_DISTANCE) {
return 'horizontal';
}
@@ -56,11 +56,11 @@
return '';
};
- var range = function(num, min, max) {
+ var range = function (num, min, max) {
return Math.min(Math.max(num, min), max);
};
- var swipeMove = function(_offset = 0) {
+ var swipeMove = function (_offset = 0) {
state.offset = range(
_offset,
-state.rightWidth,
@@ -79,11 +79,11 @@
});
};
- var close = function() {
+ var close = function () {
swipeMove(0);
};
- var onCloseChange = function(newVal, oldVal, ownerInstance) {
+ var onCloseChange = function (newVal, oldVal, ownerInstance) {
getState(ownerInstance);
if (newVal === oldVal) return;
if (newVal) {
@@ -91,7 +91,7 @@
}
};
- var touchStart = function(event) {
+ var touchStart = function (event) {
resetTouchStatus();
state.startOffset = state.offset;
var touchPoint = event.touches[0];
@@ -100,12 +100,12 @@
owner.callMethod('closeOther');
};
- var startDrag = function(event, ownerInstance) {
+ var startDrag = function (event, ownerInstance) {
getState(ownerInstance);
touchStart(event);
};
- var onDrag = function(event, ownerInstance) {
+ var onDrag = function (event, ownerInstance) {
getState(ownerInstance);
touchMove(event);
if (state.direction !== 'horizontal') {
@@ -115,13 +115,13 @@
swipeMove(state.startOffset + state.deltaX);
};
- var open = function(position) {
+ var open = function (position) {
var _offset = position === 'left' ? +state.leftWidth : -state.rightWidth;
owner.callMethod('open', { position: position });
swipeMove(_offset);
};
- var endDrag = function(event, ownerInstance) {
+ var endDrag = function (event, ownerInstance) {
getState(ownerInstance);
state.dragging = false;
// 左/右侧有可滑动区域,且当前不是已open状态,且滑动幅度超过阈值时open左/右侧(滚动到该侧的最边上)
@@ -147,21 +147,7 @@
};
-
+
@@ -171,4 +157,4 @@
-
+
\ No newline at end of file
diff --git a/components/tox-icon/index.js b/components/tox-icon/index.js
new file mode 100644
index 0000000..803a347
--- /dev/null
+++ b/components/tox-icon/index.js
@@ -0,0 +1,31 @@
+// components/tox-icon/index.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ ghsLevel: {
+ type: Number,
+ value: 99,
+ observer(ghsLevel) {
+ this.setData({
+ ghsLevel,
+ });
+ },
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ iconUrl: 'https://webplus-cn-hangzhou-s-603871eef968dd14ced82ed5.oss-cn-hangzhou.aliyuncs.com/hextech/static/tox.svg',
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/coupon/components/floating-button/index.json b/components/tox-icon/index.json
similarity index 100%
rename from pages/coupon/components/floating-button/index.json
rename to components/tox-icon/index.json
diff --git a/components/tox-icon/index.wxml b/components/tox-icon/index.wxml
new file mode 100644
index 0000000..c0de1ea
--- /dev/null
+++ b/components/tox-icon/index.wxml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/components/tox-icon/index.wxss b/components/tox-icon/index.wxss
new file mode 100644
index 0000000..5768bcd
--- /dev/null
+++ b/components/tox-icon/index.wxss
@@ -0,0 +1 @@
+/* components/tox-icon/index.wxss */
\ No newline at end of file
diff --git a/components/tox-tag/index.js b/components/tox-tag/index.js
new file mode 100644
index 0000000..c27c4d9
--- /dev/null
+++ b/components/tox-tag/index.js
@@ -0,0 +1,85 @@
+// components/tox-tag/index.js
+Component({
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ ghsLevel: {
+ type: Number,
+ value: 99,
+ observer(ghsLevel) {
+ this.setData({
+ ghsLevel,
+ levelName: this.data.ghsMap[ghsLevel].text,
+ levelTheme: this.data.ghsMap[ghsLevel].theme,
+ });
+ },
+ },
+ size: {
+ type: String,
+ value: 'medium',
+ observer(size) {
+ this.setData({
+ size,
+ });
+ },
+ },
+ variant: {
+ type: String,
+ value: 'dark',
+ observer(variant) {
+ this.setData({
+ variant,
+ });
+ },
+ },
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ size: '',
+ variant: '',
+ levelName: '',
+ ghsLevel: 99,
+ levelTheme: 'success',
+ ghsMap: {
+ 0: {
+ theme: 'success',
+ text: '无毒',
+ },
+ 5: {
+ theme: 'warning',
+ text: '可能有害',
+ },
+ 4: {
+ theme: 'danger',
+ text: '有害',
+ },
+ 3: {
+ theme: 'danger',
+ text: '有毒',
+ },
+ 2: {
+ theme: 'danger',
+ text: '致命',
+ },
+ 1: {
+ theme: 'danger',
+ text: '致命',
+ },
+ 99: {
+ theme: 'success',
+ text: '',
+ },
+ },
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/order/components/specs-goods-card/index.json b/components/tox-tag/index.json
similarity index 54%
rename from pages/order/components/specs-goods-card/index.json
rename to components/tox-tag/index.json
index ccbce72..eb6654d 100644
--- a/pages/order/components/specs-goods-card/index.json
+++ b/components/tox-tag/index.json
@@ -1,6 +1,6 @@
{
"component": true,
"usingComponents": {
- "goods-card": "../goods-card/index"
+ "t-tag": "tdesign-miniprogram/tag/tag"
}
}
\ No newline at end of file
diff --git a/components/tox-tag/index.wxml b/components/tox-tag/index.wxml
new file mode 100644
index 0000000..b846ac8
--- /dev/null
+++ b/components/tox-tag/index.wxml
@@ -0,0 +1,2 @@
+
+{{levelName}}
\ No newline at end of file
diff --git a/components/tox-tag/index.wxss b/components/tox-tag/index.wxss
new file mode 100644
index 0000000..37488a5
--- /dev/null
+++ b/components/tox-tag/index.wxss
@@ -0,0 +1 @@
+/* components/tox-tag/index.wxss */
\ No newline at end of file
diff --git a/components/webp-image/index.js b/components/webp-image/index.js
deleted file mode 100644
index 1706049..0000000
--- a/components/webp-image/index.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * @Author: rileycai
- * @Date: 2022-03-14 14:21:26
- * @LastEditTime: 2022-03-14 15:23:04
- * @LastEditors: rileycai
- * @Description: webp-image组件对t-image包裹了一层,主要实现图片裁剪、webp压缩功能
- * @FilePath: /tdesign-miniprogram-starter/components/webp-image/index.js
- */
-const systemInfo = wx.getSystemInfoSync();
-Component({
- externalClasses: ['t-class', 't-class-load'],
- properties: {
- loadFailed: {
- type: String,
- value: 'default',
- },
- loading: {
- type: String,
- value: 'default',
- },
- src: {
- type: String,
- value: '',
- },
- mode: {
- type: String,
- value: 'aspectFill',
- },
- webp: {
- type: Boolean,
- value: true,
- },
- lazyLoad: {
- type: Boolean,
- value: false,
- },
- showMenuByLongpress: {
- type: Boolean,
- value: false,
- },
- },
- data: {
- thumbHeight: 375,
- thumbWidth: 375,
- systemInfo,
- },
- lifetimes: {
- ready() {
- const { mode } = this.properties;
- // 获取容器的真实宽高,设置图片的裁剪宽度
- this.getRect('.J-image').then((res) => {
- if (res) {
- const { width, height } = res;
- this.setData(
- mode === 'heightFix'
- ? {
- thumbHeight: this.px2rpx(height) || 375,
- }
- : {
- thumbWidth: this.px2rpx(width) || 375,
- },
- );
- }
- });
- },
- },
- methods: {
- px2rpx(px) {
- return (750 / (systemInfo.screenWidth || 375)) * px;
- },
- getRect(selector) {
- return new Promise((resolve) => {
- if (!this.selectorQuery) {
- this.selectorQuery = this.createSelectorQuery();
- }
- this.selectorQuery.select(selector).boundingClientRect(resolve).exec();
- });
- },
- onLoad(e) {
- this.triggerEvent('load', e.detail);
- },
- onError(e) {
- this.triggerEvent('error', e.detail);
- },
- },
-});
diff --git a/components/webp-image/index.json b/components/webp-image/index.json
deleted file mode 100644
index 6ffda42..0000000
--- a/components/webp-image/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-image": "tdesign-miniprogram/image/image"
- }
-}
\ No newline at end of file
diff --git a/components/webp-image/index.wxml b/components/webp-image/index.wxml
deleted file mode 100644
index b32c199..0000000
--- a/components/webp-image/index.wxml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
diff --git a/components/webp-image/index.wxss b/components/webp-image/index.wxss
deleted file mode 100644
index e69de29..0000000
diff --git a/components/webp-image/utils.wxs b/components/webp-image/utils.wxs
deleted file mode 100644
index 4f6e5d1..0000000
--- a/components/webp-image/utils.wxs
+++ /dev/null
@@ -1,140 +0,0 @@
-var isString = function (value) {
- return typeof value === 'string';
-};
-
-var isNumber = function (value) {
- return typeof value === 'number';
-};
-
-var getFileExt = function (src) {
- var fileUrl = src.split('?')[0];
- var splitUlr = fileUrl.split('/');
- var filepath = splitUlr[splitUlr.length - 1];
- return filepath.split('.')[1] || 'jpg';
-};
-
-function isUrl(url) {
- // NOCC:ToolNameCheck(非敏感词)
- var urlReg = getRegExp(
- '/[(http(s)?)://(www.)?a-zA-Z0-9@:%._+~#=]{2,256}.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/',
- 'ig',
- );
-
- return urlReg.test(url);
-}
-
-function rpx2px(rpx, screenWidth) {
- // px / systemWidth = rpx / 750
- var result = (rpx * (screenWidth || 375)) / 750;
-
- return Math.round(result);
-}
-
-function imageMogr(url, options) {
- if (!isString(url) || !url) return '';
-
- if (
- url.indexOf('qlogo.cn') !== -1 ||
- url.indexOf('wxfile://') === 0 ||
- url.indexOf('http://tmp/wx') === 0 ||
- url.indexOf('imageMogr2') !== -1
- ) {
- //qlogo.cn域名或者本地图片不做转换
- return url;
- } //强制转https
-
- if (url.indexOf('http://') === 0) {
- url = url.replace('http://', 'https://');
- } else if (url.indexOf('//') === 0) {
- url = 'https:' + url;
- }
-
- if (!options) return url;
-
- var width = Math.ceil(options.width),
- height = Math.ceil(options.height),
- format = options.format,
- _optionsQuality = options.quality,
- quality = _optionsQuality === undefined ? 70 : _optionsQuality,
- _optionsStrip = options.strip,
- strip = _optionsStrip === undefined ? true : _optionsStrip,
- crop = options.crop;
- var isValidWidth = isNumber(width) && width > 0;
- var isValidHeight = isNumber(height) && height > 0;
- var imageMogrStr = '';
- var size = '';
-
- if (isValidWidth && isValidHeight) {
- size = ''.concat(width, 'x').concat(height);
- } else if (isValidWidth) {
- size = ''.concat(width, 'x');
- } else if (isValidHeight) {
- size = 'x'.concat(height);
- }
-
- if (size) {
- //缩放或者裁剪
- imageMogrStr += '/'.concat(crop ? 'crop' : 'thumbnail', '/').concat(size);
-
- if (crop) {
- //裁剪目前需求只有以图片中心为基准
- imageMogrStr += '/gravity/center';
- }
- }
-
- if (isNumber(quality)) {
- //质量变换
- imageMogrStr += '/quality/'.concat(quality);
- }
-
- if (strip) {
- //去除元信息
- imageMogrStr += '/strip';
- }
-
- var ext = getFileExt(url);
-
- // gif 图片不做格式转换,否则会损坏动图
- if (ext === 'gif') {
- imageMogrStr += '/cgif/1';
- } else if (format) {
- //格式转换
- imageMogrStr += '/format/'.concat(format);
- }
-
- if (format === 'jpg' || (!format && (ext === 'jpg' || ext === 'jpeg'))) {
- //渐进式 jpg 加载
- imageMogrStr += '/interlace/1';
- }
- if (!imageMogrStr) return url;
- return ''
- .concat(url)
- .concat(url.indexOf('?') !== -1 ? '&' : '?', 'imageMogr2')
- .concat(imageMogrStr);
-}
-function getSrc(options) {
- if (!options.src) return '';
-
- if (options.thumbWidth || options.thumbHeight) {
- return imageMogr(options.src, {
- width:
- options.mode !== 'heightFix'
- ? rpx2px(options.thumbWidth, options.systemInfo.screenWidth) *
- options.systemInfo.pixelRatio
- : null,
- height:
- options.mode !== 'widthFix'
- ? rpx2px(options.thumbHeight, options.systemInfo.screenWidth) *
- options.systemInfo.pixelRatio
- : null,
- format: options.webp ? 'webp' : null,
- });
- }
-
- return '';
-}
-
-module.exports = {
- imageMogr: imageMogr,
- getSrc: getSrc,
-};
diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js
index 90c58df..47634b4 100644
--- a/custom-tab-bar/index.js
+++ b/custom-tab-bar/index.js
@@ -7,11 +7,12 @@ Component({
methods: {
onChange(event) {
- this.setData({ active: event.detail.value });
+ this.setData({
+ active: event.detail.value
+ });
wx.switchTab({
- url: this.data.list[event.detail.value].url.startsWith('/')
- ? this.data.list[event.detail.value].url
- : `/${this.data.list[event.detail.value].url}`,
+ url: this.data.list[event.detail.value].url.startsWith('/') ?
+ this.data.list[event.detail.value].url : `/${this.data.list[event.detail.value].url}`,
});
},
@@ -20,10 +21,12 @@ Component({
const route = page ? page.route.split('?')[0] : '';
const active = this.data.list.findIndex(
(item) =>
- (item.url.startsWith('/') ? item.url.substr(1) : item.url) ===
- `${route}`,
+ (item.url.startsWith('/') ? item.url.substr(1) : item.url) ===
+ `${route}`,
);
- this.setData({ active });
+ this.setData({
+ active
+ });
},
},
-});
+});
\ No newline at end of file
diff --git a/custom-tab-bar/index.json b/custom-tab-bar/index.json
index 917a4e1..c8ba0bd 100644
--- a/custom-tab-bar/index.json
+++ b/custom-tab-bar/index.json
@@ -2,7 +2,7 @@
"component": true,
"usingComponents": {
"t-tab-bar": "tdesign-miniprogram/tab-bar/tab-bar",
- "t-tab-bar-item": "tdesign-miniprogram/tab-bar/tab-bar-item",
+ "t-tab-bar-item": "tdesign-miniprogram/tab-bar-item/tab-bar-item",
"t-icon": "tdesign-miniprogram/icon/icon"
}
}
\ No newline at end of file
diff --git a/images/additive.jpg b/images/additive.jpg
deleted file mode 100644
index d95a5a9..0000000
Binary files a/images/additive.jpg and /dev/null differ
diff --git a/images/check.png b/images/check.png
deleted file mode 100644
index db44445..0000000
Binary files a/images/check.png and /dev/null differ
diff --git a/images/chemical.png b/images/chemical.png
deleted file mode 100644
index e333885..0000000
Binary files a/images/chemical.png and /dev/null differ
diff --git a/images/history.png b/images/history.png
deleted file mode 100644
index b92d883..0000000
Binary files a/images/history.png and /dev/null differ
diff --git a/images/no_additives.png b/images/no_additives.png
deleted file mode 100644
index 1438000..0000000
Binary files a/images/no_additives.png and /dev/null differ
diff --git a/images/no_data.jpg b/images/no_data.jpg
deleted file mode 100644
index a3a419a..0000000
Binary files a/images/no_data.jpg and /dev/null differ
diff --git a/images/question.png b/images/question.png
deleted file mode 100644
index 4cad787..0000000
Binary files a/images/question.png and /dev/null differ
diff --git a/images/search.jpg b/images/search.jpg
deleted file mode 100644
index 2b495ec..0000000
Binary files a/images/search.jpg and /dev/null differ
diff --git a/images/standard.jpg b/images/standard.jpg
deleted file mode 100644
index 35f977c..0000000
Binary files a/images/standard.jpg and /dev/null differ
diff --git a/images/use_bi.jpg b/images/use_bi.jpg
deleted file mode 100644
index b144ada..0000000
Binary files a/images/use_bi.jpg and /dev/null differ
diff --git a/images/use_btn.jpg b/images/use_btn.jpg
deleted file mode 100644
index 6179d6a..0000000
Binary files a/images/use_btn.jpg and /dev/null differ
diff --git a/images/weixin.png b/images/weixin.png
deleted file mode 100644
index 1d953c2..0000000
Binary files a/images/weixin.png and /dev/null differ
diff --git a/model/activities.js b/model/activities.js
deleted file mode 100644
index 31bc3b8..0000000
--- a/model/activities.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { getActivity } from './activity';
-
-export function getActivityList(baseID = 0, length = 10) {
- return new Array(length).fill(0).map((_, idx) => getActivity(idx + baseID));
-}
-
-export const activityList = getActivityList();
diff --git a/model/activity.js b/model/activity.js
deleted file mode 100644
index 34abb07..0000000
--- a/model/activity.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * @param {string|number} key 唯一值
- */
-export function getActivity(key) {
- return {
- promotionId: `${key}`,
- title: `满减满折回归${key}`,
- description: null,
- promotionCode: 'MERCHANT',
- promotionSubCode: key % 2 === 0 ? 'MYJ' : 'MYG',
- tag: '满减',
- timeType: 1,
- startTime: '1588737710000',
- endTime: '1601467070000',
- teasingStartTime: null,
- activityLadder: [{ label: '满100元减99.9元' }],
- };
-}
diff --git a/model/address.js b/model/address.js
deleted file mode 100644
index c7ae8dc..0000000
--- a/model/address.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/** 地址 */
-export function genAddress(id) {
- return {
- saasId: '88888888',
- uid: `8888888820550${id}`,
- authToken: null,
- id: `${id}`,
- addressId: `${id}`,
- phone: '17612345678',
- name: `测试用户${id}`,
- countryName: '中国',
- countryCode: 'chn',
- provinceName: '甘肃省',
- provinceCode: '620000',
- cityName: '甘南藏族自治州',
- cityCode: '623000',
- districtName: '碌曲县',
- districtCode: '623026',
- detailAddress: `松日鼎盛大厦${id}层${id}号`,
- isDefault: `${id}` === '0' ? 1 : 0,
- addressTag: id === 0 ? '' : '公司',
- latitude: '34.59103',
- longitude: '102.48699',
- storeId: null,
- };
-}
-
-/** 地址列表 */
-export function genAddressList(len = 10) {
- return new Array(len).fill(0).map((_, idx) => genAddress(idx));
-}
diff --git a/model/cart.js b/model/cart.js
deleted file mode 100644
index d0ad6c5..0000000
--- a/model/cart.js
+++ /dev/null
@@ -1,324 +0,0 @@
-import { mockIp, mockReqId } from '../utils/mock';
-
-export function genCartGroupData() {
- const resp = {
- data: {
- isNotEmpty: true,
- storeGoods: [
- {
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- storeStatus: 1,
- totalDiscountSalePrice: '9990',
- promotionGoodsList: [
- {
- title: '满减满折回归',
- promotionCode: 'MERCHANT',
- promotionSubCode: 'MYJ',
- promotionId: '159174555838121985',
- tagText: ['满100元减99.9元'],
- promotionStatus: 3,
- tag: '满减',
- description: '满100元减99.9元,已减99.9元',
- doorSillRemain: null,
- isNeedAddOnShop: 0,
- goodsPromotionList: [
- {
- uid: '88888888205468',
- saasId: '88888888',
- storeId: '1000',
- spuId: '12',
- skuId: '135691622',
- isSelected: 1,
- thumb:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3a.png',
- title:
- '腾讯极光盒子4智能网络电视机顶盒6K千兆网络机顶盒4K高分辨率',
- primaryImage:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3a.png',
- quantity: 1,
- stockStatus: true,
- stockQuantity: 3,
- price: '9900',
- originPrice: '16900',
- tagPrice: null,
- titlePrefixTags: [{ text: '新品' }, { text: '火爆' }],
- roomId: null,
- specInfo: [
- {
- specTitle: '颜色',
- specValue: '经典白',
- },
- {
- specTitle: '类型',
- specValue: '经典套装',
- },
- ],
- joinCartTime: '2020-06-29T07:55:40.000+0000',
- available: 1,
- putOnSale: 1,
- etitle: null,
- },
- {
- uid: '88888888205468',
- saasId: '88888888',
- storeId: '1000',
- spuId: '18',
- skuId: '135681631',
- isSelected: 1,
- thumb:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- title:
- '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- primaryImage:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- quantity: 1,
- stockStatus: true,
- stockQuantity: 177,
- price: '29800',
- originPrice: '40000',
- tagPrice: null,
- titlePrefixTags: null,
- roomId: null,
- specInfo: [
- {
- specTitle: '颜色',
- specValue: '米色荷叶边',
- },
- {
- specTitle: '尺码',
- specValue: 'M',
- },
- ],
- joinCartTime: '2020-06-29T07:55:27.000+0000',
- available: 1,
- putOnSale: 1,
- etitle: null,
- },
- {
- uid: '88888888205468',
- saasId: '88888888',
- storeId: '1000',
- spuId: '13',
- skuId: '135698362',
- isSelected: 1,
- thumb:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- title:
- '带帽午休毯虎年款多功能加厚加大加绒简约多功能午休毯连帽披肩',
- primaryImage:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- quantity: 13,
- stockStatus: true,
- stockQuantity: 9,
- price: '29900',
- originPrice: '0',
- tagPrice: null,
- titlePrefixTags: [{ text: '火爆' }],
- roomId: null,
- specInfo: [
- {
- specTitle: '颜色',
- specValue: '浅灰色',
- },
- {
- specTitle: '尺码',
- specValue: 'M',
- },
- ],
- joinCartTime: '2020-06-29T07:54:43.000+0000',
- available: 1,
- putOnSale: 1,
- etitle: null,
- },
- {
- uid: '88888888205468',
- saasId: '88888888',
- storeId: '1000',
- spuId: '7',
- skuId: '135681625',
- isSelected: 1,
- thumb:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- title:
- '不锈钢刀叉勺套装家用西餐餐具ins简约耐用不锈钢金色银色可选',
- primaryImage:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- quantity: 1,
- stockStatus: true,
- stockQuantity: 0,
- price: '29900',
- originPrice: '29900',
- tagPrice: null,
- titlePrefixTags: null,
- roomId: null,
- specInfo: [
- {
- specTitle: '颜色',
- specValue: '奶黄色',
- },
- {
- specTitle: '数量',
- specValue: '六件套',
- },
- ],
- joinCartTime: '2020-06-29T07:55:00.000+0000',
- available: 1,
- putOnSale: 1,
- etitle: null,
- },
- ],
- lastJoinTime: '2020-06-29T07:55:40.000+0000',
- },
- {
- title: null,
- promotionCode: 'EMPTY_PROMOTION',
- promotionSubCode: null,
- promotionId: null,
- tagText: null,
- promotionStatus: null,
- tag: null,
- description: null,
- doorSillRemain: null,
- isNeedAddOnShop: 0,
- goodsPromotionList: [
- {
- uid: '88888888205468',
- saasId: '88888888',
- storeId: '1000',
- spuId: '11',
- skuId: '135691629',
- isSelected: 0,
- thumb:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a.png',
- title: '运动连帽拉链卫衣休闲开衫长袖多色运动细绒面料运动上衣',
- primaryImage:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a.png',
- quantity: 1,
- stockStatus: false,
- stockQuantity: 0,
- price: '25900',
- originPrice: '39900',
- tagPrice: null,
- tagText: null,
- roomId: null,
- specInfo: [
- {
- specTitle: '颜色',
- specValue: '军绿色',
- },
- {
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- joinCartTime: '2020-04-24T06:26:48.000+0000',
- available: 1,
- putOnSale: 1,
- etitle: null,
- },
- {
- uid: '88888888205468',
- saasId: '88888888',
- storeId: '1000',
- spuId: '5',
- skuId: '135691635',
- isSelected: 0,
- thumb:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a.png',
- title:
- '迷你便携高颜值蓝牙无线耳机立体声只能触控式操作简约立体声耳机',
- primaryImage:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a.png',
- quantity: 1,
- stockStatus: true,
- stockQuantity: 96,
- price: '29000',
- originPrice: '29900',
- tagPrice: null,
- tagText: null,
- roomId: null,
- specInfo: [
- {
- specTitle: '颜色',
- specValue: '黑色',
- },
- {
- specTitle: '类型',
- specValue: '简约款',
- },
- ],
- joinCartTime: '2020-06-29T07:55:17.000+0000',
- available: 1,
- putOnSale: 1,
- etitle: null,
- },
- ],
- lastJoinTime: null,
- },
- ],
- lastJoinTime: '2020-06-29T07:55:40.000+0000',
- postageFreePromotionVo: {
- title: null,
- promotionCode: null,
- promotionSubCode: null,
- promotionId: null,
- tagText: null,
- promotionStatus: null,
- tag: null,
- description: null,
- doorSillRemain: null,
- isNeedAddOnShop: 0,
- },
- },
- ],
- invalidGoodItems: [
- {
- uid: '88888888205468',
- saasId: '88888888',
- storeId: '1000',
- spuId: '1',
- skuId: '135691631',
- isSelected: 1,
- thumb: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- title: '纯色纯棉休闲圆领短袖T恤纯白亲肤厚柔软细腻面料纯白短袖套头T恤',
- primaryImage:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- quantity: 8,
- stockStatus: true,
- stockQuantity: 177,
- price: '26900',
- originPrice: '31900',
- tagPrice: null,
- tagText: null,
- roomId: null,
- specInfo: [
- {
- specTitle: '颜色',
- specValue: '白色',
- },
- {
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- joinCartTime: '2020-04-28T04:03:59.000+0000',
- available: 1,
- putOnSale: 1,
- etitle: null,
- },
- ],
- isAllSelected: false,
- selectedGoodsCount: 16,
- totalAmount: '179997',
- totalDiscountAmount: '110000',
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 269,
- success: true,
- };
- return resp;
-}
diff --git a/model/category.js b/model/category.js
deleted file mode 100644
index 81b7502..0000000
--- a/model/category.js
+++ /dev/null
@@ -1,206 +0,0 @@
-export function getCategoryList() {
- return [
- {
- groupId: '24948',
- name: '女装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249481',
- name: '女装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249480',
- name: '卫衣',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-1.png',
- },
- {
- groupId: '249480',
- name: '毛呢外套',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-2.png',
- },
- {
- groupId: '249480',
- name: '雪纺衫',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-3.png',
- },
- {
- groupId: '249480',
- name: '羽绒服',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-4.png',
- },
- {
- groupId: '249480',
- name: '毛衣',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-5.png',
- },
- {
- groupId: '249480',
- name: '棉衣',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-6.png',
- },
- {
- groupId: '249480',
- name: '西装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-7.png',
- },
- {
- groupId: '249480',
- name: '马甲',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-8.png',
- },
- {
- groupId: '249480',
- name: '连衣裙',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-9.png',
- },
- {
- groupId: '249480',
- name: '半身裙',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-10.png',
- },
- {
- groupId: '249480',
- name: '裤子',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-11.png',
- },
- ],
- },
- ],
- },
- {
- groupId: '24948',
- name: '男装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249481',
- name: '男装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249480',
- name: '卫衣',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-1.png',
- },
- {
- groupId: '249480',
- name: '裤子',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-11.png',
- },
- {
- groupId: '249480',
- name: '西装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-7.png',
- },
- {
- groupId: '249480',
- name: '羽绒服',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-4.png',
- },
- {
- groupId: '249480',
- name: '马甲',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-8.png',
- },
- ],
- },
- ],
- },
- {
- groupId: '24948',
- name: '儿童装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249481',
- name: '儿童装',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249480',
- name: '马甲',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-8.png',
- },
- {
- groupId: '249480',
- name: '裤子',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-11.png',
- },
- {
- groupId: '249480',
- name: '连衣裙',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/classify/img-9.png',
- },
- {
- groupId: '249480',
- name: '其他',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3b.png',
- },
- ],
- },
- ],
- },
- {
- groupId: '24948',
- name: '美妆',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249481',
- name: '美妆',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249480',
- name: '唇釉',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/mz-20a1.png',
- },
- {
- groupId: '249480',
- name: '美妆蛋',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/mz-11a1.png',
- },
- {
- groupId: '249480',
- name: '眼影',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/mz-12b.png',
- },
- ],
- },
- ],
- },
- ];
-}
diff --git a/model/comments.js b/model/comments.js
deleted file mode 100644
index 78dd61d..0000000
--- a/model/comments.js
+++ /dev/null
@@ -1,338 +0,0 @@
-/**
- * * @param {number} spuId
- * @param {number} pageNum
- * @param {number} pageSize
- * @param {number} commentsLevel
- * @param {boolean} hasImage
- */
-export function getGoodsAllComments(params) {
- const { hasImage } = params.queryParameter;
- if (hasImage) {
- return {
- pageNum: 1,
- pageSize: 10,
- totalCount: '1',
- pageList: [
- {
- spuId: '1722045',
- skuId: '0',
- specInfo: '',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentResources: [
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- type: 'image',
- },
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/comment-video.mp4',
- type: 'video',
- coverSrc:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- },
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/comment-video.mp4',
- type: 'video',
- coverSrc:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- },
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/comment-video.mp4',
- type: 'video',
- coverSrc:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- },
- ],
- commentScore: 4,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1591953561000',
- isAutoComment: false,
- sellerReply:
- '亲,你好,我们会联系商家和厂商给您一个满意的答复请一定妥善保管好发票',
- goodsDetailInfo: '颜色:纯净白 尺码:S码',
- },
- {
- spuId: '1722045',
- skuId: '0',
- specInfo: '',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentResources: [
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- type: 'image',
- },
- ],
- commentScore: 4,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1591953561000',
- isAutoComment: false,
- sellerReply:
- '亲,你好,我们会联系商家和厂商给您一个满意的答复请一定妥善保管好发票',
- goodsDetailInfo: '颜色:纯净白 尺码:S码',
- },
- {
- spuId: '1722045',
- skuId: '0',
- specInfo: '',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentResources: [
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- type: 'image',
- },
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/comment-video.mp4',
- type: 'video',
- coverSrc:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- },
- ],
- commentScore: 4,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1591953561000',
- isAutoComment: false,
- sellerReply:
- '亲,你好,我们会联系商家和厂商给您一个满意的答复请一定妥善保管好发票',
- goodsDetailInfo: '颜色:纯净白 尺码:S码',
- },
- {
- spuId: '1722045',
- skuId: '0',
- specInfo: '',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentResources: [
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- type: 'image',
- },
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/comment-video.mp4',
- type: 'video',
- coverSrc:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- },
- {
- src: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/comment-video.mp4',
- type: 'video',
- coverSrc:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- },
- ],
- commentScore: 4,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1591953561000',
- isAutoComment: false,
- sellerReply:
- '亲,你好,我们会联系商家和厂商给您一个满意的答复请一定妥善保管好发票',
- goodsDetailInfo: '颜色:纯净白 尺码:S码',
- },
- ],
- };
- }
- return {
- pageNum: 1,
- pageSize: 10,
- totalCount: '47',
- pageList: [
- {
- spuId: '1722045',
- skuId: '1697694',
- specInfo: '很不错',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 1,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592224320000',
- isAutoComment: false,
- sellerReply:
- '亲,你好,我们会联系商家和厂商给您一个满意的答复请一定妥善保管好发票',
- goodsDetailInfo: '颜色:纯净白 尺码:S码',
- },
- {
- spuId: '1722045',
- skuId: '1697693',
- specInfo: '很适合',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 1,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592224320000',
- isAutoComment: false,
- sellerReply:
- '亲,你好,我们会联系商家和厂商给您一个满意的答复请一定妥善保管好发票',
- goodsDetailInfo: '颜色:纯净白 尺码:S码',
- },
- {
- spuId: '1722045',
- skuId: '1697694',
- specInfo: 'NICE',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 5,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592218074000',
- isAutoComment: true,
- sellerReply:
- '亲,你好,我们会联系商家和厂商给您一个满意的答复请一定妥善保管好发票',
- },
- {
- spuId: '1722045',
- skuId: '0',
- specInfo: '',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 5,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592218074000',
- isAutoComment: false,
- goodsDetailInfo: '颜色:纯净白 尺码:S码',
- },
- {
- spuId: '1722045',
- skuId: '1697694',
- specInfo: '测试dr超长:dr专用超长;bwtgg01:fff',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 5,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592217607000',
- isAutoComment: false,
- },
- {
- spuId: '1722045',
- skuId: '1697693',
- specInfo: '测试dr超长:超长测试超长测试1;bwtgg01:bbb',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 4,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592217607000',
- isAutoComment: false,
- },
- {
- spuId: '1722045',
- skuId: '1697694',
- specInfo: '测试dr超长:dr专用超长;bwtgg01:fff',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 5,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592205599000',
- isAutoComment: false,
- },
- {
- spuId: '1722045',
- skuId: '1697694',
- specInfo: '测试dr超长:dr专用超长;bwtgg01:fff',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 5,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1592188822000',
- isAutoComment: false,
- },
- {
- spuId: '1722045',
- skuId: '1697694',
- specInfo: '测试dr超长:dr专用超长;bwtgg01:fff',
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentImageUrls: null,
- commentScore: 5,
- uid: '88881055835',
- userName: 'Max',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1593792002000',
- isAutoComment: true,
- },
- {
- spuId: '1722045',
- skuId: '1697694',
- specInfo: '测试dr超长:dr专用超长;bwtgg01:fff',
- commentContent: '',
- commentImageUrls: null,
- commentScore: 5,
- uid: '88881055835',
- userName: 'Max',
- userHeadUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/avatar/avatar1.png',
- isAnonymity: false,
- commentTime: '1593792001000',
- isAutoComment: true,
- },
- ],
- };
-}
-
-export function getGoodsCommentsCount() {
- return {
- commentCount: '47',
- badCount: '0',
- middleCount: '2',
- goodCount: '45',
- hasImageCount: '1',
- goodRate: 95.7,
- uidCount: '0',
- };
-}
diff --git a/model/comments/queryDetail.js b/model/comments/queryDetail.js
deleted file mode 100644
index 9ce2eb8..0000000
--- a/model/comments/queryDetail.js
+++ /dev/null
@@ -1,50 +0,0 @@
-const queryDetail = {
- commentInfos: [
- {
- id: '647984992708380600',
- uid: '',
- userName: 'Dean Cheng',
- userHeadUrl:
- 'https://bizmid-material-qa-1302115263.cos.ap-guangzhou.myqcloud.com/comment/default_head.png',
- commentId: '1937712',
- commentIdName: '小鹿商品',
- commentIdImageUrl:
- 'https://bizmid-material-qa-1302115263.file.myqcloud.com/persist/4bf2ded7-1759-4821-919c-cc4960e14120/1078823925183295617/100000114727/material/1/cdbeb389be64427b8c165627895ff0bc-1610425563793-%E5%A4%B4%E5%83%8F.png',
- commentStage: 1,
- commentCheckStatus: 2,
- commentIdType: 1,
- content: '',
- commentInfo: {
- score: null,
- content: '',
- medias: [],
- commentTime: '1617872404000',
- },
- isAgainComment: 0,
- commentHasAgainComment: 0,
- isAnonymous: 0,
- replyList: [],
- specification: '颜色:白色 ',
- specificationJson: '{"颜色":"白色"}',
- commentExtendId: '1937713',
- commentTime: '1617872404000',
- score: 0,
- goodsScore: null,
- freightScore: null,
- serviceScore: null,
- medias: [],
- againCommentList: null,
- },
- ],
- logisticsScore: null,
- serviceScore: null,
-};
-
-/**
- * @param {string} skuId
- * @param {string} spuId
- * @param {string} orderNo
- */
-export function queryCommentDetail() {
- return queryDetail;
-}
diff --git a/model/coupon.js b/model/coupon.js
deleted file mode 100644
index a41ff8b..0000000
--- a/model/coupon.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * 优惠券
- *
- * @typedef {'default'|'useless'|'disabled'} CouponCardStatus
- * @typedef {'discount'|'price'} CouponCardType
- *
- * @param {number} [id]
- * @param {CouponCardStatus} [status]
- * @param {CouponCardType} [type]
- */
-export function getCoupon(id = 0, status = 'default', type = (id % 2) + 1) {
- return {
- /** key */
- key: `${id}`,
- /** 优惠券状态 */
- status,
- /** 优惠券类型 */
- type,
- /** 折扣或者满减值 */
- value: type === 2 ? 5.5 : 1800,
- /** 标签 */
- tag: '',
- /** 描述 */
- desc: parseInt(id) > 0 ? `满${parseInt(id) * 100}元可用` : '无门槛使用',
- /** 订单底价,满n元 */
- base: 10000 * (parseInt(id) || 0),
- /** 标题 */
- title: type === 2 ? `生鲜折扣券 - ${id}` : `生鲜满减券 - ${id}`,
- /** 有效时间限制 */
- timeLimit: '2019.11.18-2023.12.18',
- /** 货币符号 */
- currency: '¥',
- };
-}
-
-/** 优惠券列表 */
-export function getCouponList(status = 'default', length = 10) {
- return new Array(length).fill(0).map((_, idx) => getCoupon(idx, status));
-}
diff --git a/model/detailsComments.js b/model/detailsComments.js
deleted file mode 100644
index 82fc887..0000000
--- a/model/detailsComments.js
+++ /dev/null
@@ -1,30 +0,0 @@
-export function getGoodsDetailsComments() {
- return {
- homePageComments: [
- {
- spuId: '1722045',
- skuId: null,
- specInfo: null,
- commentContent:
- '收到货了,第一时间试了一下,很漂亮特别喜欢,大爱大爱,颜色也很好看。棒棒!',
- commentScore: 4,
- uid: '88881048075',
- userName: 'Dean',
- userHeadUrl:
- 'https://wx.qlogo.cn/mmopen/vi_32/5mKrvn3ibyDNaDZSZics3aoKlz1cv0icqn4EruVm6gKjsK0xvZZhC2hkUkRWGxlIzOEc4600JkzKn9icOLE6zjgsxw/132',
- },
- ],
- };
-}
-
-export function getGoodsDetailsCommentsCount() {
- return {
- commentCount: '47',
- badCount: '0',
- middleCount: '2',
- goodCount: '45',
- hasImageCount: '1',
- goodRate: 95.7,
- uidCount: '0',
- };
-}
diff --git a/model/good.js b/model/good.js
deleted file mode 100644
index 9410d37..0000000
--- a/model/good.js
+++ /dev/null
@@ -1,1916 +0,0 @@
-import { cdnBase } from '../config/index';
-const imgPrefix = cdnBase;
-
-const defaultDesc = [`${imgPrefix}/goods/details-1.png`];
-
-const allGoods = [
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '0',
- title: '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09b.png',
- ],
- video: null,
- available: 1,
- minSalePrice: 29800,
- minLinePrice: 29800,
- maxSalePrice: 29800,
- maxLinePrice: 40000,
- spuStockQuantity: 510,
- soldNum: 1020,
- isPutOnSale: 1,
- categoryIds: [
- '127880527393854975',
- '127880527393854976',
- '127880537778953984',
- ],
- specList: [
- {
- specId: '10011',
- title: '颜色',
- specValueList: [
- {
- specValueId: '10012',
- specId: null,
- saasId: null,
- specValue: '米色荷叶边',
- image: null,
- },
- ],
- },
- {
- specId: '10013',
- title: '尺码',
- specValueList: [
- {
- specValueId: '11014',
- specId: null,
- saasId: null,
- specValue: 'S',
- image: null,
- },
- {
- specValueId: '10014',
- specId: null,
- saasId: null,
- specValue: 'M',
- image: null,
- },
- {
- specValueId: '11013',
- specId: null,
- saasId: null,
- specValue: 'L',
- image: null,
- },
- ],
- },
- ],
- skuList: [
- {
- skuId: '135676631',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- specInfo: [
- {
- specId: '10011',
- specTitle: null,
- specValueId: '10012',
- specValue: null,
- },
- {
- specId: '10013',
- specTitle: null,
- specValueId: '11014',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '29800', priceTypeName: null },
- { priceType: 2, price: '40000', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 175,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135676632',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- specInfo: [
- {
- specId: '10011',
- specTitle: null,
- specValueId: '10012',
- specValue: null,
- },
- {
- specId: '10013',
- specTitle: null,
- specValueId: '11013',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '29800', priceTypeName: null },
- { priceType: 2, price: '40000', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 158,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135681631',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- specInfo: [
- {
- specId: '10011',
- specTitle: null,
- specValueId: '10012',
- specValue: null,
- },
- {
- specId: '10013',
- specTitle: null,
- specValueId: '10014',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '29800', priceTypeName: null },
- { priceType: 2, price: '40000', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 177,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- ],
- spuTagList: [{ id: '13001', title: '限时抢购', image: null }],
- limitInfo: [
- {
- text: '限购5件',
- },
- ],
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09d.png',
- ],
- etitle: '',
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135686633',
- title: '纯色纯棉休闲圆领短袖T恤纯白亲肤厚柔软细腻面料纯白短袖套头T恤',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- minSalePrice: '25900',
- minLinePrice: '31900',
- maxSalePrice: '26900',
- maxLinePrice: '31900',
- isSoldOut: false,
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08a1.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- ],
- groupIdList: ['15029', '14023'],
- spuTagList: [
- {
- id: null,
- title: '2020夏季新款',
- image: null,
- },
- ],
- skuList: [
- {
- skuId: '135686634',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '10001',
- specValue: '白色',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '10003',
- specValue: 'M',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '25900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '31900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: -9,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135691631',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '10001',
- specValue: '白色',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '11003',
- specValue: 'S',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '26900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '31900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 177,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135691632',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '10001',
- specValue: '白色',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '11002',
- specValue: 'L',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '26900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '31900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 194,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- ],
- isAvailable: 1,
- spuStockQuantity: 371,
- soldNum: 1032,
- isPutOnSale: 1,
- specList: [
- {
- specId: '10000',
- title: '颜色',
- specValueList: [
- {
- specValueId: '10001',
- specId: '10000',
- saasId: '88888888',
- specValue: '白色',
- image: '',
- },
- ],
- },
- {
- specId: '10002',
- title: '尺码',
- specValueList: [
- {
- specValueId: '11003',
- specId: '10002',
- saasId: '88888888',
- specValue: 'S',
- image: '',
- },
- {
- specValueId: '10003',
- specId: '10002',
- saasId: '88888888',
- specValue: 'M',
- image: '',
- },
- {
- specValueId: '11002',
- specId: '10002',
- saasId: '88888888',
- specValue: 'L',
- image: '',
- },
- ],
- },
- ],
- promotionList: null,
- minProfitPrice: null,
- etitle: '',
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08d.png',
- ],
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135691628',
- title: '运动连帽拉链卫衣休闲开衫长袖多色运动细绒面料运动上衣',
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a1.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17b.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17b1.png',
- ],
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a.png',
- minSalePrice: '25900',
- minLinePrice: '39900',
- maxSalePrice: '25900',
- maxLinePrice: '39900',
- isSoldOut: true,
- groupIdList: ['15029', '14023'],
- spuTagList: [
- {
- id: null,
- title: '2020夏季新款',
- image: null,
- },
- ],
- skuList: [
- {
- skuId: '135686631',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904180768617216',
- specValue: '军绿色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862494014208',
- specValue: 'XS',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '25900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '39900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 0,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135686632',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904180768617216',
- specValue: '军绿色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862007474176',
- specValue: 'M',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '25900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '39900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 0,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135691629',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904180768617216',
- specValue: '军绿色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862175246592',
- specValue: 'S',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '25900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '39900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 0,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135691630',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904180768617216',
- specValue: '军绿色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904861755815680',
- specValue: 'L',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '25900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '39900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 0,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- ],
- isAvailable: 1,
- spuStockQuantity: 0,
- soldNum: 1022,
- isPutOnSale: 1,
- specList: [
- {
- specId: '127904180600844800',
- title: '颜色',
- specValueList: [
- {
- specValueId: '127904180768617216',
- specId: '127904180600844800',
- saasId: '88888888',
- specValue: '军绿色',
- image: '',
- },
- ],
- },
- {
- specId: '127904861604820480',
- title: '尺码',
- specValueList: [
- {
- specValueId: '127904862494014208',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: 'XS',
- image: '',
- },
- {
- specValueId: '127904862175246592',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: 'S',
- image: '',
- },
- {
- specValueId: '127904862007474176',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: 'M',
- image: '',
- },
- {
- specValueId: '127904861755815680',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: 'L',
- image: '',
- },
- ],
- },
- ],
- promotionList: null,
- minProfitPrice: null,
- etitle: '',
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17d.png',
- ],
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135686623',
- title: '腾讯极光盒子4智能网络电视机顶盒6K千兆网络机顶盒4K高分辨率',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3a.png',
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3b.png',
- ],
- minSalePrice: '9900',
- minLinePrice: '16900',
- maxSalePrice: '10900',
- maxLinePrice: '16900',
- isSoldOut: false,
- groupIdList: [
- '15029',
- '15030',
- '14023',
- '127886731843219200',
- '127886732665303040',
- '127886733101511680',
- '127886733923595520',
- '14025',
- '127886726071855616',
- '14026',
- '127886727481142784',
- '127886731440566784',
- ],
- spuTagList: [
- {
- id: null,
- title: '联名系列',
- image: null,
- },
- ],
- skuList: [
- {
- skuId: '135686624',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '10001',
- specValue: '经典白',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '10003',
- specValue: '节能套装',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '9900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '16900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 98,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135686625',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '11000',
- specValue: '贵族青',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '11003',
- specValue: '经典套装',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '9900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '16900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 100,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135686626',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '11000',
- specValue: '经典白',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '11002',
- specValue: '尊享礼盒装',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '9900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '16900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 100,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135691622',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '10001',
- specValue: '经典白',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '11003',
- specValue: 'S',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '9900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '16900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 100,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135691623',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '10001',
- specValue: '经典白',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '11002',
- specValue: '尊享礼盒装',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '10900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '16900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 100,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135691624',
- skuImage: null,
- specInfo: [
- {
- specId: '10000',
- specTitle: null,
- specValueId: '11000',
- specValue: '贵族青',
- },
- {
- specId: '10002',
- specTitle: null,
- specValueId: '10003',
- specValue: '节能套装',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '9900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '16900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 100,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- ],
- isAvailable: 1,
- spuStockQuantity: 598,
- soldNum: 102,
- isPutOnSale: 1,
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3d.png',
- ],
- specList: [
- {
- specId: '10000',
- title: '颜色',
- specValueList: [
- {
- specValueId: '10001',
- specId: '10000',
- saasId: '88888888',
- specValue: '经典白',
- image: '',
- },
- {
- specValueId: '11000',
- specId: '10000',
- saasId: '88888888',
- specValue: '贵族青',
- image: '',
- },
- ],
- },
- {
- specId: '10002',
- title: '尺码',
- specValueList: [
- {
- specValueId: '11003',
- specId: '10002',
- saasId: '88888888',
- specValue: '经典套装',
- image: '',
- },
- {
- specValueId: '10003',
- specId: '10002',
- saasId: '88888888',
- specValue: '节能套装',
- image: '',
- },
- {
- specValueId: '11002',
- specId: '10002',
- saasId: '88888888',
- specValue: '尊享礼盒装',
- image: '',
- },
- ],
- },
- ],
- promotionList: null,
- minProfitPrice: null,
- etitle: '',
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135681628',
- title: '带帽午休毯虎年款多功能加厚加大加绒简约多功能午休毯连帽披肩',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a1.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3b.png',
- ],
- minSalePrice: '29900',
- minLinePrice: '39900',
- maxSalePrice: '39900',
- maxLinePrice: '39900',
- isSoldOut: false,
- groupIdList: [
- '14023',
- '127886732245873408',
- '127886733487386880',
- '14025',
- '127886726071855616',
- '14026',
- '127886728420666112',
- '127886728957538048',
- '127886729779621888',
- '127886730165497088',
- '127886730652037376',
- '127886731037912576',
- '127886731440566784',
- '127886729360190464',
- '15029',
- '15030',
- ],
- spuTagList: [
- {
- id: null,
- title: '限时抢购',
- image: null,
- },
- ],
- skuList: [
- {
- skuId: '135676629',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181322265856',
- specValue: '浅灰色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862175246592',
- specValue: 'S',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '29900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '39900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 80,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135676630',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181322265856',
- specValue: '浅灰色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904861755815680',
- specValue: 'L',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '39900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '39900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 122,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135681629',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181322265856',
- specValue: '浅灰色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862007474176',
- specValue: 'M',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '39900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '39900',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 119,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- ],
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3d.png',
- ],
- isAvailable: 1,
- spuStockQuantity: 321,
- soldNum: 102,
- isPutOnSale: 1,
- specList: [
- {
- specId: '127904180600844800',
- title: '颜色',
- specValueList: [
- {
- specValueId: '127904181322265856',
- specId: '127904180600844800',
- saasId: '88888888',
- specValue: '浅灰色',
- image: '',
- },
- ],
- },
- {
- specId: '127904861604820480',
- title: '尺码',
- specValueList: [
- {
- specValueId: '127904862175246592',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: 'S',
- image: '',
- },
- {
- specValueId: '127904862007474176',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: 'M',
- image: '',
- },
- {
- specValueId: '127904861755815680',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: 'L',
- image: '',
- },
- ],
- },
- ],
- promotionList: null,
- minProfitPrice: null,
- etitle: '',
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135681626',
- title: '迷你便携高颜值蓝牙无线耳机立体声只能触控式操作简约立体声耳机',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a.png',
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a1.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2b.png',
- ],
- minSalePrice: '29000',
- minLinePrice: '40000',
- maxSalePrice: '39000',
- maxLinePrice: '40000',
- isSoldOut: false,
- groupIdList: [
- '15029',
- '15030',
- '14023',
- '127886732245873408',
- '127886733487386880',
- '14025',
- '127886726071855616',
- '14026',
- '127886728420666112',
- '127886728957538048',
- '127886730652037376',
- '127886731037912576',
- ],
- spuTagList: [
- {
- id: null,
- title: '限时抢购',
- image: null,
- },
- ],
- skuList: [
- {
- skuId: '135676627',
- skuImage: null,
- specInfo: [
- {
- specId: '10006',
- specTitle: null,
- specValueId: '10007',
- specValue: '黑色',
- },
- {
- specId: '11007',
- specTitle: null,
- specValueId: '10009',
- specValue: '简约款',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '29000',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '40000',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 123,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135676628',
- skuImage: null,
- specInfo: [
- {
- specId: '10006',
- specTitle: null,
- specValueId: '10007',
- specValue: '黑色',
- },
- {
- specId: '11007',
- specTitle: null,
- specValueId: '10008',
- specValue: '礼盒装',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '39000',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '40000',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 123,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135681627',
- skuImage: null,
- specInfo: [
- {
- specId: '10006',
- specTitle: null,
- specValueId: '10007',
- specValue: '黑色',
- },
- {
- specId: '11007',
- specTitle: null,
- specValueId: '11008',
- specValue: '带充电线简约款',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '39000',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '40000',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 120,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- ],
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2d.png',
- ],
- isAvailable: 1,
- spuStockQuantity: 366,
- soldNum: 102,
- isPutOnSale: 1,
- specList: [
- {
- specId: '10006',
- title: '颜色',
- specValueList: [
- {
- specValueId: '10007',
- specId: '10006',
- saasId: '88888888',
- specValue: '黑色',
- image: '',
- },
- ],
- },
- {
- specId: '11007',
- title: '类型',
- specValueList: [
- {
- specValueId: '10009',
- specId: '11007',
- saasId: '88888888',
- specValue: '简约款',
- image: '',
- },
- {
- specValueId: '11008',
- specId: '11007',
- saasId: '88888888',
- specValue: '带充电线简约款',
- image: '',
- },
- {
- specValueId: '10008',
- specId: '11007',
- saasId: '88888888',
- specValue: '礼盒款',
- image: '',
- },
- ],
- },
- ],
- promotionList: null,
- minProfitPrice: null,
- etitle: '',
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135681622',
- title: '简约餐盘耐热家用盘子菜盘套装多颜色简约餐盘耐热家用盘子',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-1a.png',
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-1a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-1a2.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-1b.png',
- ],
- minSalePrice: '129900',
- minLinePrice: '218000',
- maxSalePrice: '139900',
- maxLinePrice: '218000',
- isSoldOut: false,
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-1c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-1d.png',
- ],
- groupIdList: [
- '14023',
- '127886732665303040',
- '127886733101511680',
- '127886733923595520',
- '14025',
- '127886726071855616',
- '14026',
- '127886728957538048',
- '127886727481142784',
- '127886729779621888',
- '127886730165497088',
- '127886730652037376',
- '127886731440566784',
- '127886729360190464',
- '15029',
- '15030',
- ],
- spuTagList: [
- {
- id: null,
- title: '掌柜热卖',
- image: null,
- },
- ],
- skuList: [
- {
- skuId: '135676623',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181506815488',
- specValue: '奶黄色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862175246592',
- specValue: '单盘',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '129900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '218000',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 119,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135676624',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181506815488',
- specValue: '奶黄色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904861755815680',
- specValue: '盘+碗',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '139900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '218000',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 116,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135681623',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181506815488',
- specValue: '奶黄色',
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862007474176',
- specValue: '单盘',
- },
- ],
- priceInfo: [
- {
- priceType: 1,
- price: '139900',
- priceTypeName: '销售价格',
- },
- {
- priceType: 2,
- price: '218000',
- priceTypeName: '划线价格',
- },
- ],
- stockInfo: {
- stockQuantity: 122,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: null,
- volume: null,
- profitPrice: null,
- },
- ],
- isAvailable: 1,
- spuStockQuantity: 357,
- soldNum: 23102,
- isPutOnSale: 1,
- specList: [
- {
- specId: '127904180600844800',
- title: '颜色',
- specValueList: [
- {
- specValueId: '127904181506815488',
- specId: '127904180600844800',
- saasId: '88888888',
- specValue: '奶黄色',
- image: '',
- },
- ],
- },
- {
- specId: '127904861604820480',
- title: '类型',
- specValueList: [
- {
- specValueId: '127904862175246592',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: '单盘',
- image: '',
- },
- {
- specValueId: '127904862007474176',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: '单碗',
- image: '',
- },
- {
- specValueId: '127904861755815680',
- specId: '127904861604820480',
- saasId: '88888888',
- specValue: '盘+碗',
- image: '',
- },
- ],
- },
- ],
- promotionList: null,
- minProfitPrice: null,
- etitle: '',
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135681624',
- title: '不锈钢刀叉勺套装家用西餐餐具ins简约耐用不锈钢金色银色可选',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- images: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2a1.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- ],
- video: null,
- available: 1,
- minSalePrice: '19900',
- minLinePrice: '19900',
- maxSalePrice: '29900',
- maxLinePrice: '29900',
- spuStockQuantity: 0,
- soldNum: 102,
- isPutOnSale: 1,
- categoryIds: [
- '127880527393854975',
- '127880527393854977',
- '127880526789875961',
- ],
- specList: [
- {
- specId: '127904180600844800',
- title: '颜色',
- specValueList: [
- {
- specValueId: '127904180768617216',
- specId: null,
- saasId: null,
- specValue: '奶黄色',
- image: null,
- },
- ],
- },
- {
- specId: '127904861604820480',
- title: '数量',
- specValueList: [
- {
- specValueId: '127904862175246592',
- specId: null,
- saasId: null,
- specValue: '三件套',
- image: null,
- },
- {
- specValueId: '127904862007474176',
- specId: null,
- saasId: null,
- specValue: '六件套',
- image: null,
- },
- {
- specValueId: '127904861755815680',
- specId: null,
- saasId: null,
- specValue: '八件套',
- image: null,
- },
- ],
- },
- ],
- skuList: [
- {
- skuId: '135676625',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904180768617216',
- specValue: null,
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862175246592',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '19900', priceTypeName: null },
- { priceType: 2, price: '29900', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 0,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135676626',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904180768617216',
- specValue: null,
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904861755815680',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '29900', priceTypeName: null },
- { priceType: 2, price: '29900', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 0,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135681625',
- skuImage: null,
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904180768617216',
- specValue: null,
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862007474176',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '29900', priceTypeName: null },
- { priceType: 2, price: '29900', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 0,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- ],
- spuTagList: [{ id: '19011', title: '2020秋季新款', image: null }],
- spuLimitList: null,
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2d.png',
- ],
- etitle: '',
- },
- {
- saasId: '88888888',
- storeId: '1000',
- spuId: '135681628',
- title: '带帽午休毯虎年款多功能加厚加大加绒简约多功能午休毯连帽披肩',
- primaryImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- images: ['https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png'],
- video: null,
- available: 1,
- minSalePrice: '29900',
- minLinePrice: '29900',
- maxSalePrice: '39900',
- maxLinePrice: '39900',
- spuStockQuantity: 321,
- soldNum: 103,
- isPutOnSale: 1,
- categoryIds: [
- '127880527393854975',
- '127880527393854977',
- '127880526789875961',
- ],
- specList: [
- {
- specId: '127904180600844800',
- title: '颜色',
- specValueList: [
- {
- specValueId: '127904181322265856',
- specId: null,
- saasId: null,
- specValue: '浅灰色',
- image: null,
- },
- ],
- },
- {
- specId: '127904861604820480',
- title: '尺码',
- specValueList: [
- {
- specValueId: '127904862175246592',
- specId: null,
- saasId: null,
- specValue: 'S',
- image: null,
- },
- {
- specValueId: '127904862007474176',
- specId: null,
- saasId: null,
- specValue: 'M',
- image: null,
- },
- {
- specValueId: '127904861755815680',
- specId: null,
- saasId: null,
- specValue: 'L',
- image: null,
- },
- ],
- },
- ],
- skuList: [
- {
- skuId: '135676629',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181322265856',
- specValue: null,
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862175246592',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '29900', priceTypeName: null },
- { priceType: 2, price: '39900', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 80,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135676630',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181322265856',
- specValue: null,
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904861755815680',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '39900', priceTypeName: null },
- { priceType: 2, price: '39900', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 122,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- {
- skuId: '135681629',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- specInfo: [
- {
- specId: '127904180600844800',
- specTitle: null,
- specValueId: '127904181322265856',
- specValue: null,
- },
- {
- specId: '127904861604820480',
- specTitle: null,
- specValueId: '127904862007474176',
- specValue: null,
- },
- ],
- priceInfo: [
- { priceType: 1, price: '39900', priceTypeName: null },
- { priceType: 2, price: '39900', priceTypeName: null },
- ],
- stockInfo: {
- stockQuantity: 119,
- safeStockQuantity: 0,
- soldQuantity: 0,
- },
- weight: { value: null, unit: 'KG' },
- volume: null,
- profitPrice: null,
- },
- ],
- spuTagList: [{ id: '13001', title: '限时抢购', image: null }],
- spuLimitList: null,
- desc: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3c.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3d.png',
- ],
- etitle: '',
- },
-];
-
-/**
- * @param {string} id
- * @param {number} [available] 库存, 默认1
- */
-export function genGood(id, available = 1) {
- const specID = ['135681624', '135681628'];
- if (specID.indexOf(id) > -1) {
- return allGoods.filter((good) => good.spuId === id)[0];
- }
- const item = allGoods[id % allGoods.length];
- return {
- ...item,
- spuId: `${id}`,
- available: available,
- desc: item?.desc || defaultDesc,
- images: item?.images || [item?.primaryImage],
- };
-}
diff --git a/model/goods.js b/model/goods.js
deleted file mode 100644
index 850e0ba..0000000
--- a/model/goods.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { genGood } from './good';
-
-export function getGoodsList(baseID = 0, length = 10) {
- return new Array(length).fill(0).map((_, idx) => genGood(idx + baseID));
-}
-
-export const goodsList = getGoodsList();
diff --git a/model/order/applyService.js b/model/order/applyService.js
deleted file mode 100644
index e3a2fdf..0000000
--- a/model/order/applyService.js
+++ /dev/null
@@ -1,295 +0,0 @@
-import { mockIp, mockReqId } from '../../utils/mock';
-
-const orderResps = [
- {
- data: {
- saasId: '88888888',
- uid: '88888888205468',
- storeId: '1000',
- skuId: '135691625',
- numOfSku: 1,
- numOfSkuAvailable: 1,
- refundableAmount: '26900',
- refundableDiscountAmount: '0',
- shippingFeeIncluded: '0',
- paidAmountEach: '26900',
- boughtQuantity: 1,
- orderNo: '132222623132329291',
- goodsInfo: {
- goodsName:
- '迷你便携高颜值蓝牙无线耳机立体声只能触控式操作简约立体声耳机',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a.png',
- specInfo: [
- {
- specId: '50456',
- specTitle: '颜色',
- specValue: '黑色',
- },
- {
- specId: '50459',
- specTitle: '尺码',
- specValue: '简约款',
- },
- ],
- },
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 36,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- uid: '88888888205468',
- storeId: '1000',
- skuId: '135676631',
- numOfSku: 1,
- numOfSkuAvailable: 1,
- refundableAmount: '26900',
- refundableDiscountAmount: '0',
- shippingFeeIncluded: '0',
- paidAmountEach: '26900',
- boughtQuantity: 1,
- orderNo: '132222623132329291',
- goodsInfo: {
- goodsName: '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- specInfo: [
- {
- specId: '50456',
- specTitle: '颜色',
- specValue: '米色荷叶边',
- },
- {
- specId: '50459',
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- },
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 36,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- uid: '88888888205468',
- storeId: '1000',
- skuId: '135691622',
- numOfSku: 1,
- numOfSkuAvailable: 1,
- refundableAmount: '26900',
- refundableDiscountAmount: '0',
- shippingFeeIncluded: '0',
- paidAmountEach: '26900',
- boughtQuantity: 1,
- orderNo: '132222623132329291',
- goodsInfo: {
- goodsName: '腾讯极光盒子4智能网络电视机顶盒6K千兆网络机顶盒4K高分辨率',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3a.png',
- specInfo: [
- {
- specId: '50456',
- specTitle: '颜色',
- specValue: '经典白',
- },
- {
- specId: '50459',
- specTitle: '类型',
- specValue: '经典套装',
- },
- ],
- },
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 36,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- uid: '88888888205468',
- storeId: '1000',
- skuId: '135676629',
- numOfSku: 1,
- numOfSkuAvailable: 1,
- refundableAmount: '26900',
- refundableDiscountAmount: '0',
- shippingFeeIncluded: '0',
- paidAmountEach: '26900',
- boughtQuantity: 1,
- orderNo: '132222623132329291',
- goodsInfo: {
- goodsName: '带帽午休毯虎年款多功能加厚加大加绒简约多功能午休毯连帽披肩',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- specInfo: [
- {
- specId: '50456',
- specTitle: '颜色',
- specValue: '浅灰色',
- },
- {
- specId: '50459',
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- },
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 36,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- uid: '88888888205468',
- storeId: '1000',
- skuId: '135686631',
- numOfSku: 1,
- numOfSkuAvailable: 1,
- refundableAmount: '26900',
- refundableDiscountAmount: '0',
- shippingFeeIncluded: '0',
- paidAmountEach: '26900',
- boughtQuantity: 1,
- orderNo: '132222623132329291',
- goodsInfo: {
- goodsName: '运动连帽拉链卫衣休闲开衫长袖多色运动细绒面料运动上衣',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a.png',
- specInfo: [
- {
- specId: '50456',
- specTitle: '颜色',
- specValue: '军绿色',
- },
- {
- specId: '50459',
- specTitle: '尺码',
- specValue: 'XS',
- },
- ],
- },
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 36,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- uid: '88888888205468',
- storeId: '1000',
- skuId: '19384938948343',
- numOfSku: 1,
- numOfSkuAvailable: 1,
- refundableAmount: '26900',
- refundableDiscountAmount: '0',
- shippingFeeIncluded: '0',
- paidAmountEach: '26900',
- boughtQuantity: 1,
- orderNo: '130169571554503755',
- goodsInfo: {
- goodsName:
- '纯色纯棉休闲圆领短袖T恤纯白亲肤厚柔软细腻面料纯白短袖套头T恤',
- skuImage: 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- specInfo: [
- {
- specId: '50456',
- specTitle: '颜色',
- specValue: '军绿色',
- },
- {
- specId: '50459',
- specTitle: '尺码',
- specValue: 'XS',
- },
- ],
- },
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 36,
- success: true,
- },
-];
-
-export function genRightsPreview(params) {
- const { orderNo, skuId } = params;
- const resp = orderResps.find(
- (r) => r.data.orderNo === orderNo && r.data.skuId === skuId,
- );
- return resp;
-}
-
-export function genApplyReasonList(params) {
- const resp = {
- data: {
- saasId: '70000001',
- rightsReasonList: [
- { id: '1', desc: '实际商品与描述不符' },
- { id: '2', desc: '质量问题' },
- { id: '3', desc: '少件/漏发' },
- { id: '4', desc: '包装/商品/污迹/裂痕/变形' },
- { id: '5', desc: '发货太慢' },
- { id: '6', desc: '物流配送太慢' },
- { id: '7', desc: '商家发错货' },
- { id: '8', desc: '不喜欢' },
- ],
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 6,
- success: true,
- };
- // 未收货对应的原因列表
- if (params.rightsReasonType === 'REFUND_MONEY') {
- resp.data.rightsReasonList = [
- { id: '9', desc: '空包裹' },
- { id: '10', desc: '快递/物流一直未送到' },
- { id: '11', desc: '货物破损已拒签' },
- { id: '12', desc: '不喜欢' },
- ];
- }
- return resp;
-}
-
-export function applyService() {
- const resp = {
- data: {
- rightsNo: '123123423',
- saasId: '70000001',
- uid: '700000011070005',
- storeId: '542',
- result: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 269,
- success: true,
- };
- return resp;
-}
diff --git a/model/order/orderConfirm.js b/model/order/orderConfirm.js
deleted file mode 100644
index 7170492..0000000
--- a/model/order/orderConfirm.js
+++ /dev/null
@@ -1,147 +0,0 @@
-import { mockIp, mockReqId } from '../../utils/mock';
-
-export const transformGoodsDataToConfirmData = (goodsDataList) => {
- const list = [];
-
- goodsDataList.forEach((goodsData) => {
- list.push({
- storeId: goodsData.storeId,
- spuId: goodsData.spuId,
- skuId: goodsData.skuId,
- goodsName: goodsData.title,
- image: goodsData.primaryImage,
- reminderStock: 119,
- quantity: goodsData.quantity,
- payPrice: goodsData.price,
- totalSkuPrice: goodsData.price,
- discountSettlePrice: goodsData.price,
- realSettlePrice: goodsData.price,
- settlePrice: goodsData.price,
- oriPrice: goodsData.originPrice,
- tagPrice: null,
- tagText: null,
- skuSpecLst: goodsData.specInfo,
- promotionIds: null,
- weight: 0.0,
- unit: 'KG',
- volume: null,
- masterGoodsType: 0,
- viceGoodsType: 0,
- roomId: goodsData.roomId,
- egoodsName: null,
- });
- });
-
- return list;
-};
-
-/** 生成结算数据 */
-export function genSettleDetail(params) {
- const { userAddressReq, couponList, goodsRequestList } = params;
-
- const resp = {
- data: {
- settleType: 0,
- userAddress: null,
- totalGoodsCount: 3,
- packageCount: 1,
- totalAmount: '289997',
- totalPayAmount: '',
- totalDiscountAmount: '110000',
- totalPromotionAmount: '1100',
- totalCouponAmount: '0',
- totalSalePrice: '289997',
- totalGoodsAmount: '289997',
- totalDeliveryFee: '0',
- invoiceRequest: null,
- skuImages: null,
- deliveryFeeList: null,
- storeGoodsList: [
- {
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- remark: null,
- goodsCount: 1,
- deliveryFee: '0',
- deliveryWords: null,
- storeTotalAmount: '0',
- storeTotalPayAmount: '179997',
- storeTotalDiscountAmount: '110000',
- storeTotalCouponAmount: '0',
- skuDetailVos: [],
- couponList: [
- {
- couponId: 11,
- storeId: '1000',
- },
- ],
- },
- ],
- inValidGoodsList: null,
- outOfStockGoodsList: null,
- limitGoodsList: null,
- abnormalDeliveryGoodsList: null,
- invoiceSupport: 1,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 244,
- success: true,
- };
-
- const list = transformGoodsDataToConfirmData(goodsRequestList);
-
- // 获取购物车传递的商品数据
- resp.data.storeGoodsList[0].skuDetailVos = list;
-
- // 判断是否携带优惠券数据
- const discountPrice = [];
-
- if (couponList && couponList.length > 0) {
- couponList.forEach((coupon) => {
- if (coupon.status === 'default') {
- discountPrice.push({
- type: coupon.type,
- value: coupon.value,
- });
- }
- });
- }
-
- // 模拟计算场景
-
- // 计算总价
- const totalPrice = list.reduce((pre, cur) => {
- return pre + cur.quantity * Number(cur.settlePrice);
- }, 0);
-
- // 计算折扣
- const totalDiscountPrice =
- discountPrice.length > 0
- ? discountPrice.reduce((pre, cur) => {
- if (cur.type === 1) {
- return pre + cur.value;
- }
- if (cur.type === 2) {
- return pre + (Number(totalPrice) * cur.value) / 10;
- }
-
- return pre + cur;
- }, 0)
- : 0;
-
- resp.data.totalSalePrice = totalPrice;
-
- resp.data.totalCouponAmount = totalDiscountPrice;
-
- resp.data.totalPayAmount =
- totalPrice - totalDiscountPrice - Number(resp.data.totalPromotionAmount);
-
- if (userAddressReq) {
- resp.data.settleType = 1;
- resp.data.userAddress = userAddressReq;
- }
- return resp;
-}
diff --git a/model/order/orderDetail.js b/model/order/orderDetail.js
deleted file mode 100644
index 032a08b..0000000
--- a/model/order/orderDetail.js
+++ /dev/null
@@ -1,1212 +0,0 @@
-import { mockIp, mockReqId } from '../../utils/mock';
-
-const orderResps = [
- {
- data: {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '354021731671873099',
- orderId: '354021735982432279',
- orderNo: '354021731671873099',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 5,
- orderSubStatus: null,
- totalAmount: '10010',
- goodsAmount: '10000',
- goodsAmountApp: '10000',
- paymentAmount: '20',
- freightFee: '10',
- packageFee: '0',
- discountAmount: '9990',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '买电风扇送电池吗',
- cancelType: 0,
- cancelReasonType: 0,
- cancelReason: '',
- rightsType: 0,
- createTime: '1600350829288',
- orderItemVOs: [
- {
- id: '354021736133427225',
- orderNo: null,
- spuId: '3',
- skuId: '135696670',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '腾讯极光盒子4智能网络电视机顶盒6K千兆网络机顶盒4K高分辨率',
- specifications: [
- { specTitle: '颜色', specValue: '贵族青' },
- { specTitle: '类型', specValue: '尊享礼盒装' },
- ],
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3b.png',
- originPrice: '0',
- actualPrice: '9999',
- buyQuantity: 1,
- itemTotalAmount: '9999',
- itemDiscountAmount: '9990',
- itemPaymentAmount: '10',
- goodsPaymentPrice: '10',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: [{ primary: false }],
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '14',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '宝安区',
- receiverArea: '',
- receiverAddress: '沙井中心路28号丽沙花都xx栋xx号',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '测试用户',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '20',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: [{ primary: true, type: 1, name: '付款' }],
- labelVOs: null,
- invoiceVO: null,
- couponAmount: '0',
- autoCancelTime: '1823652629288',
- orderStatusName: '待付款',
- orderSatusRemark: '需支付¥0.20',
- logisticsLogVO: null,
- invoiceStatus: 3,
- invoiceDesc: '暂不开发票',
- invoiceUrl: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 89,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
-
- parentOrderNo: '132381532610540875',
- orderId: '132381537256650240',
- orderNo: '132381532610540875',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 10,
- orderSubStatus: null,
- totalAmount: '76600',
- goodsAmount: '76600',
- goodsAmountApp: '76600',
- paymentAmount: '36800',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '34800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '麻烦给个配饰',
- cancelType: 0,
- cancelReasonType: 0,
- cancelReason: '',
- rightsType: 0,
-
- createTime: '1587140043976',
-
- orderItemVOs: [
- {
- id: '132381537407645696',
- orderNo: null,
- spuId: '0',
- skuId: '135676631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName: '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- {
- specTitle: '颜色',
- specValue: '米色荷叶边',
- },
- {
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- buyQuantity: 1,
- itemTotalAmount: '29800',
- itemDiscountAmount: '19813',
- itemPaymentAmount: '9987',
- goodsPaymentPrice: '9987',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132381537407645952',
- orderNo: null,
- spuId: '7',
- skuId: '135691633',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '不锈钢刀叉勺套装家用西餐餐具ins简约耐用不锈钢金色银色可选',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- originPrice: '29900',
- actualPrice: '19900',
- specifications: [
- { specTitle: '颜色', specValue: '奶黄色' },
- { specTitle: '类型', specValue: '三件套' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '19900',
- itemDiscountAmount: '13230',
- itemPaymentAmount: '6670',
- goodsPaymentPrice: '6670',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132381537407646208',
- orderNo: null,
- spuId: '1',
- skuId: '135691631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '纯色纯棉休闲圆领短袖T恤纯白亲肤厚柔软细腻面料纯白短袖套头T恤',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08a.png',
- originPrice: '31900',
- actualPrice: '26900',
- specifications: [
- {
- specTitle: '颜色',
- specValue: '白色',
- },
- {
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- buyQuantity: 1,
- itemTotalAmount: '26900',
- itemDiscountAmount: '6757',
- itemPaymentAmount: '20143',
- goodsPaymentPrice: '20143',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
-
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '广州市',
- receiverCountry: '海珠区',
- receiverArea: '',
- receiverAddress: '新港中路397号',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '张三',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '36800',
- currency: 'CNY',
- payType: 0,
- payWay: null,
- payWayName: null,
- interactId: '4923587',
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: '1600162877000',
- paySuccessTime: '1600162877538',
- },
- buttonVOs: [
- {
- primary: false,
- type: 2,
- name: '取消订单',
- },
- {
- primary: true,
- type: 9,
- name: '再次购买',
- },
- ],
- labelVOs: null,
- invoiceVO: {
- buyerName: '腾讯计算机有限公司', //个人或公司名称
- buyerTaxNo: '9144 9808 0909 0293 XG', //税号
- buyerPhone: '18600008888', //手机
- email: '73900484@qq.com', //邮箱
- titleType: 2, //发票抬头 1-个人 2-公司
- ontentType: 1, //发票内容 1-明细 2类别
- invoiceType: 5, //是否开票 0-不开 5-电子发票
- money: '1.54',
- },
- trajectoryVos: [
- {
- title: '已下单',
- icon: 'https://cdn-we-retail.ym.tencent.com/web/trajectoryIcons/ordered.svg',
- code: '200002',
- nodes: [
- {
- status: '订单已经支付成功,支付方式为:微信支付',
- timestamp: '1600162877506',
- remark: null,
- },
- ],
- isShow: true,
- },
- {
- title: '',
- icon: null,
- code: '200001',
- nodes: [
- {
- status: '订单已提交',
- timestamp: '1600162856204',
- remark: null,
- },
- ],
- isShow: true,
- },
- ],
-
- couponAmount: '5000',
- autoCancelTime: null,
- orderStatusName: '待发货',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: 3,
- invoiceDesc: '暂不开发票',
- invoiceUrl: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 79,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '132222623132329291',
- orderId: '132222629674264064',
- orderNo: '132222623132329291',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 40,
- orderSubStatus: null,
- totalAmount: '500400',
- goodsAmount: '500400',
- goodsAmountApp: '500400',
- paymentAmount: '458600',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '36800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '我是买一送一的,记得送',
- cancelType: 3,
- cancelReasonType: 0,
- cancelReason: '',
- rightsType: 0,
- createTime: '1587130572345',
- orderItemVOs: [
- {
- id: '132222629825259776',
- orderNo: null,
- spuId: '5',
- skuId: '135691625',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '迷你便携高颜值蓝牙无线耳机立体声只能触控式操作简约立体声耳机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a.png',
- originPrice: '15900',
- actualPrice: '8900',
- specifications: [
- {
- specTitle: '颜色',
- specValue: '黑色',
- },
- {
- specTitle: '尺码',
- specValue: '简约款',
- },
- ],
- buyQuantity: 1,
- itemTotalAmount: '8900',
- itemDiscountAmount: '2134',
- itemPaymentAmount: '6766',
- goodsPaymentPrice: '6766',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: [{ primary: false, type: 4, name: '申请售后' }],
- },
- {
- id: '132222629825260032',
- orderNo: null,
- spuId: '0',
- skuId: '135676631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName: '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- {
- specTitle: '颜色',
- specValue: '米色荷叶边',
- },
- {
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- buyQuantity: 1,
- itemTotalAmount: '29800',
- itemDiscountAmount: '4026',
- itemPaymentAmount: '25774',
- goodsPaymentPrice: '25774',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: [{ primary: false, type: 4, name: '申请售后' }],
- },
- {
- id: '132222629825260288',
- orderNo: null,
- spuId: '3',
- skuId: '135691622',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '腾讯极光盒子4智能网络电视机顶盒6K千兆网络机顶盒4K高分辨率',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3a.png',
- originPrice: '16900',
- actualPrice: '9900',
- specifications: [
- {
- specTitle: '颜色',
- specValue: '经典白',
- },
- {
- specTitle: '类型',
- specValue: '经典套装',
- },
- ],
- buyQuantity: 1,
- itemTotalAmount: '9900',
- itemDiscountAmount: '1337',
- itemPaymentAmount: '8563',
- goodsPaymentPrice: '8563',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: [{ primary: false, type: 4, name: '申请售后' }],
- },
- {
- id: '132222629825260544',
- orderNo: null,
- spuId: '135681628',
- skuId: '135676629',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '带帽午休毯虎年款多功能加厚加大加绒简约多功能午休毯连帽披肩',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- originPrice: '39900',
- actualPrice: '29900',
- specifications: [
- {
- specTitle: '颜色',
- specValue: '浅灰色',
- },
- {
- specTitle: '尺码',
- specValue: 'S',
- },
- ],
- buyQuantity: 4,
- itemTotalAmount: '119600',
- itemDiscountAmount: '4040',
- itemPaymentAmount: '115560',
- goodsPaymentPrice: '28890',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: [{ primary: false, type: 4, name: '申请售后' }],
- },
- {
- id: '132222629825260800',
- orderNo: null,
- spuId: '2',
- skuId: '135686631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName: '运动连帽拉链卫衣休闲开衫长袖多色运动细绒面料运动上衣',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a.png',
- originPrice: '39900',
- actualPrice: '25900',
- specifications: [
- {
- specTitle: '颜色',
- specValue: '军绿色',
- },
- {
- specTitle: '尺码',
- specValue: 'XS',
- },
- ],
- buyQuantity: 1,
- itemTotalAmount: '25900',
- itemDiscountAmount: '392',
- itemPaymentAmount: '25508',
- goodsPaymentPrice: '25508',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: [{ primary: false, type: 4, name: '申请售后' }],
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '111112',
- logisticsStatus: null,
- logisticsCompanyCode: 'yunda',
- logisticsCompanyName: '韵达快递',
-
- receiverAddressId: '8',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '前海路333号阳光玫瑰园',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '700000011070005',
- receiverPhone: '17612345678',
- receiverName: '平均线',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: '1599795293089',
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '458600',
- currency: 'CNY',
- payType: 0,
- payWay: null,
- payWayName: null,
- interactId: '66869',
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: '1594869391000',
- paySuccessTime: '1594869391287',
- },
- buttonVOs: [
- {
- primary: true,
- type: 3,
- name: '确认收货',
- },
- ],
- labelVOs: null,
- trajectoryVos: [
- {
- title: '已发货',
- icon: 'deliver',
- code: '200003',
- nodes: [
- {
- status: '商家已发货,物流承运商:韵达快递',
- timestamp: '1599795293089',
- remark: null,
- },
- ],
- isShow: true,
- },
- {
- title: '已下单',
- icon: 'https://cdn-we-retail.ym.tencent.com/web/trajectoryIcons/ordered.svg',
- code: '200002',
- nodes: [
- {
- status: '订单已经支付成功,支付方式为:微信支付',
- timestamp: '1594869391220',
- remark: null,
- },
- ],
- isShow: true,
- },
- {
- title: '',
- icon: null,
- code: '200001',
- nodes: [
- {
- status: '订单已提交',
- timestamp: '1594869381185',
- remark: null,
- },
- ],
- isShow: true,
- },
- ],
-
- couponAmount: '5000',
- autoCancelTime: null,
- orderStatusName: '待收货',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: 1,
- invoiceDesc: '已开发票',
- invoiceUrl: null,
- invoiceVO: {
- buyerName: '公司名称XXXX', //个人或公司名称
- buyerTaxNo: 'R5647U7', //税号
- buyerPhone: '13534343434', //手机
- email: '123@qq.com', //邮箱
- titleType: 2, //发票抬头 1-个人 2-公司
- ontentType: 2, //发票内容 1-明细 2类别
- invoiceType: 5, //是否开票 0-不开 5-电子发票
- isInvoice: '已开票',
- money: 10000,
- },
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 74,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130862219672031307',
- orderId: '130862224737571072',
- orderNo: '130862219672031307',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 80,
- orderSubStatus: null,
- totalAmount: '298000',
- goodsAmount: '298000',
- goodsAmountApp: '298000',
- paymentAmount: '263200',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '29800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: 3,
- cancelReasonType: 0,
- cancelReason: '超时未支付',
- rightsType: 0,
- createTime: '1587049485895',
- orderItemVOs: [
- {
- id: '130862224922120960',
- orderNo: null,
- spuId: '0',
- skuId: '135676631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName: '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- { specTitle: '颜色', specValue: '米色荷叶边' },
- { specTitle: '尺码', specValue: 'S' },
- ],
- buyQuantity: 10,
- itemTotalAmount: '298000',
- itemDiscountAmount: '29800',
- itemPaymentAmount: '268200',
- goodsPaymentPrice: '26820',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '宝安区',
- receiverArea: '',
- receiverAddress: '沙井中心路28号丽沙花都xx栋xx号',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '测试用户',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '263200',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: null,
- labelVOs: null,
- invoiceVO: null,
- couponAmount: '5000',
- autoCancelTime: null,
- orderStatusName: '已取消(未支付)',
- orderSatusRemark: '超时未支付',
- logisticsLogVO: null,
- invoiceStatus: 2,
- invoiceDesc: '暂不开发票',
- invoiceUrl: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 70,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130494472895208267',
- orderId: '130494482155052032',
- orderNo: '130494472895208267',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 80,
- orderSubStatus: null,
- totalAmount: '59700',
- goodsAmount: '59700',
- goodsAmountApp: '59700',
- paymentAmount: '24900',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '29800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: 3,
- cancelReasonType: 0,
- cancelReason: '超时未支付',
- rightsType: 0,
- createTime: '1587027566726',
- orderItemVOs: [
- {
- id: '130494482322824704',
- orderNo: null,
- spuId: '7',
- skuId: '135691633',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '不锈钢刀叉勺套装家用西餐餐具ins简约耐用不锈钢金色银色可选',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- originPrice: '29900',
- actualPrice: '19900',
- specifications: [
- { specTitle: '颜色', specValue: '奶黄色' },
- { specTitle: '类型', specValue: '三件套' },
- ],
- buyQuantity: 3,
- itemTotalAmount: '59700',
- itemDiscountAmount: '29800',
- itemPaymentAmount: '29900',
- goodsPaymentPrice: '9966',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '宝安区',
- receiverArea: '',
- receiverAddress: '沙井中心路28号丽沙花都xx栋xx号',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '测试用户',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '24900',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: null,
- labelVOs: null,
- invoiceVO: null,
- couponAmount: '5000',
- autoCancelTime: null,
- orderStatusName: '已取消(未支付)',
- orderSatusRemark: '超时未支付',
- logisticsLogVO: null,
- invoiceStatus: 3,
- invoiceDesc: '暂不开发票',
- invoiceUrl: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 81,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130169571554503755',
- orderId: '130169572291521792',
- orderNo: '130169571554503755',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 50,
- orderSubStatus: null,
- totalAmount: '538000',
- goodsAmount: '538000',
- goodsAmountApp: '538000',
- paymentAmount: '508200',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '29800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: 0,
- cancelReasonType: 0,
- cancelReason: '',
- rightsType: 10,
- createTime: '1587008200587',
- orderItemVOs: [
- {
- id: '130169572425740032',
- orderNo: null,
- spuId: '1',
- skuId: '135691631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '纯色纯棉休闲圆领短袖T恤纯白亲肤厚柔软细腻面料纯白短袖套头T恤',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- originPrice: '31900',
- actualPrice: '26900',
- specifications: [
- { specTitle: '颜色', specValue: '橙色' },
- { specTitle: '尺码', specValue: 'M' },
- ],
- buyQuantity: 20,
- itemTotalAmount: '538000',
- itemDiscountAmount: '29800',
- itemPaymentAmount: '508200',
- goodsPaymentPrice: '25410',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '123',
- logisticsStatus: null,
- logisticsCompanyCode: 'zhongtong',
- logisticsCompanyName: '中通速递',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '宝安区',
- receiverArea: '',
- receiverAddress: '沙井中心路28号丽沙花都xx栋xx号',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '测试用户',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: '1587008529453',
- arrivalTime: '1587008623995',
- },
- paymentVO: {
- payStatus: 2,
- amount: '508200',
- currency: 'CNY',
- payType: 0,
- payWay: 0,
- payWayName: '微信支付',
- interactId: '121212',
- traceNo: '121212',
- channelTrxNo: '121212',
- period: null,
- payTime: '2020-03-23 00:00:00',
- paySuccessTime: '2020-04-16 11:36:41',
- },
- buttonVOs: [
- { primary: false, type: 4, name: '申请售后' },
- { primary: true, type: 6, name: '评价' },
- ],
- labelVOs: null,
- invoiceVO: {
- buyerName: '腾讯计算机有限公司', //个人或公司名称
- buyerTaxNo: '9144 9808 0909 0293 XG', //税号
- buyerPhone: '18600008888', //手机
- email: '73900484@qq.com', //邮箱
- titleType: 2, //发票抬头 1-个人 2-公司
- ontentType: 1, //发票内容 1-明细 2类别
- invoiceType: 5, //是否开票 0-不开 5-电子发票
- money: '1.54',
- },
- couponAmount: '0',
- autoCancelTime: null,
- orderStatusName: '交易完成',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: 2,
- invoiceDesc: '暂不开发票',
- invoiceUrl: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 91,
- success: true,
- },
- {
- data: {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130150835531421259',
- orderId: '130150836385879808',
- orderNo: '130150835531421259',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 50,
- orderSubStatus: null,
- totalAmount: '29800',
- goodsAmount: '29800',
- goodsAmountApp: '29800',
- paymentAmount: '4000',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '25800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: 0,
- cancelReasonType: 0,
- cancelReason: '',
- rightsType: 0,
- createTime: '1587007083839',
- orderItemVOs: [
- {
- id: '130150836520098048',
- orderNo: null,
- spuId: '0',
- skuId: '135681631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName: '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- { specTitle: '颜色', specValue: '米色荷叶边' },
- { specTitle: '尺码', specValue: 'M' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '29800',
- itemDiscountAmount: '25800',
- itemPaymentAmount: '4000',
- goodsPaymentPrice: '4000',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '123',
- logisticsStatus: null,
- logisticsCompanyCode: 'yuantong',
- logisticsCompanyName: '圆通速递',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '宝安区',
- receiverArea: '',
- receiverAddress: '沙井中心路28号丽沙花都xx栋xx号',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '测试用户',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: '1587008539953',
- arrivalTime: '1588291200508',
- },
- paymentVO: {
- payStatus: 2,
- amount: '4000',
- currency: 'RNB',
- payType: 0,
- payWay: 0,
- payWayName: '微信支付',
- interactId: '121212',
- traceNo: '121212',
- channelTrxNo: '121212',
- period: null,
- payTime: '2020-03-23 00:00:00',
- paySuccessTime: '2020-04-16 11:18:09',
- },
- buttonVOs: [
- { primary: false, type: 4, name: '申请售后' },
- { primary: true, type: 6, name: '评价' },
- ],
- labelVOs: null,
- invoiceVO: null,
- couponAmount: '0',
- autoCancelTime: null,
- orderStatusName: '交易完成',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: 2,
- invoiceDesc: '暂不开发票',
- invoiceUrl: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 95,
- success: true,
- },
-];
-
-export function genOrderDetail(params) {
- const { parameter } = params;
- const resp = orderResps.find((r) => r.data.orderNo === parameter);
- return resp;
-}
-
-export function genBusinessTime() {
- const resp = {
- data: {
- businessTime: ['周一,周二,周三,周四,周五:00:20:00-08:00:00'],
- telphone: '18565372257',
- saasId: '88888888',
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 3,
- success: true,
- };
- return resp;
-}
diff --git a/model/order/orderList.js b/model/order/orderList.js
deleted file mode 100644
index a581fbb..0000000
--- a/model/order/orderList.js
+++ /dev/null
@@ -1,1054 +0,0 @@
-import { mockIp, mockReqId } from '../../utils/mock';
-
-export function genOrders(params) {
- const resp = {
- data: {
- pageNum: 1,
- pageSize: 10,
- totalCount: 7,
- orders: [
- {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '354021731671873099',
- orderId: '354021735982432279',
- orderNo: '354021731671873099',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 5,
- orderSubStatus: null,
- totalAmount: '10010',
- goodsAmount: '10000',
- goodsAmountApp: '10000',
- paymentAmount: '20',
- freightFee: '10',
- packageFee: '0',
- discountAmount: '9990',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: null,
- cancelReasonType: null,
- cancelReason: null,
- rightsType: null,
- createTime: '1600350829291',
- orderItemVOs: [
- {
- id: '354021736133427225',
- orderNo: null,
- spuId: '3',
- skuId: '135696670',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '腾讯极光盒子4智能网络电视机顶盒6K千兆网络机顶盒4K高分辨率',
- specifications: [
- { specTitle: '颜色', specValue: '贵族青' },
- { specTitle: '类型', specValue: '尊享礼盒装' },
- ],
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3b.png',
- originPrice: '0',
- actualPrice: '9999',
- buyQuantity: 1,
- itemTotalAmount: '9999',
- itemDiscountAmount: '9990',
- itemPaymentAmount: '10',
- goodsPaymentPrice: '10',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '14',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '宝安区',
- receiverArea: '',
- receiverAddress: '沙井中心路28号丽沙花都xx栋xx号',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '测试用户',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '20',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: [
- { primary: false, type: 2, name: '取消订单' },
- { primary: true, type: 1, name: '付款' },
- ],
- labelVOs: null,
- invoiceVO: null,
- couponAmount: null,
- autoCancelTime: '1600352629291',
- orderStatusName: '待付款',
- orderSatusRemark: '需支付¥0.20',
- logisticsLogVO: null,
- invoiceStatus: null,
- invoiceDesc: null,
- invoiceUrl: null,
- },
- {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '132381532610540875',
- orderId: '132381537256650240',
- orderNo: '132381532610540875',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 10,
- orderSubStatus: null,
- totalAmount: '76600',
- goodsAmount: '76600',
- goodsAmountApp: '76600',
- paymentAmount: '36800',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '39800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: null,
- cancelReasonType: null,
- cancelReason: null,
- rightsType: null,
- createTime: '1587140043980',
- orderItemVOs: [
- {
- id: '132381537407645696',
- orderNo: null,
- spuId: '0',
- skuId: '135676631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- { specTitle: '颜色', specValue: '米色荷叶边' },
- { specTitle: '尺码', specValue: 'S' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '29800',
- itemDiscountAmount: '19813',
- itemPaymentAmount: '9987',
- goodsPaymentPrice: '9987',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132381537407645952',
- orderNo: null,
- spuId: '7',
- skuId: '135691633',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '不锈钢刀叉勺套装家用西餐餐具ins简约耐用不锈钢金色银色可选',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- originPrice: '29900',
- actualPrice: '19900',
- specifications: [
- { specTitle: '颜色', specValue: '奶黄色' },
- { specTitle: '类型', specValue: '三件套' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '19900',
- itemDiscountAmount: '13230',
- itemPaymentAmount: '6670',
- goodsPaymentPrice: '6670',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132381537407646208',
- orderNo: null,
- spuId: '1',
- skuId: '135691631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '纯色纯棉休闲圆领短袖T恤纯白亲肤厚柔软细腻面料纯白短袖套头T恤',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08a.png',
- originPrice: '31900',
- actualPrice: '26900',
- specifications: [
- { specTitle: '颜色', specValue: '白色' },
- { specTitle: '尺码', specValue: 'S' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '26900',
- itemDiscountAmount: '6757',
- itemPaymentAmount: '20143',
- goodsPaymentPrice: '20143',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '前海路333号阳光玫瑰园',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '平均线',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '36800',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: [
- {
- primary: false,
- type: 2,
- name: '取消订单',
- },
- {
- primary: true,
- type: 9,
- name: '再次购买',
- },
- ],
- labelVOs: null,
- invoiceVO: null,
- couponAmount: null,
- autoCancelTime: null,
- orderStatusName: '待发货',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: null,
- invoiceDesc: null,
- invoiceUrl: null,
- },
- {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '132222623132329291',
- orderId: '132222629674264064',
- orderNo: '132222623132329291',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 40,
- orderSubStatus: null,
- totalAmount: '500400',
- goodsAmount: '500400',
- goodsAmountApp: '500400',
- paymentAmount: '458600',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '41800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: null,
- cancelReasonType: null,
- cancelReason: null,
- rightsType: null,
- createTime: '1587130572349',
- orderItemVOs: [
- {
- id: '132222629825259776',
- orderNo: null,
- spuId: '5',
- skuId: '135691625',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '迷你便携高颜值蓝牙无线耳机立体声只能触控式操作简约立体声耳机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-2a.png',
- originPrice: '15900',
- actualPrice: '8900',
- specifications: [
- { specTitle: '颜色', specValue: '黑色' },
- { specTitle: '尺码', specValue: '简约' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '8900',
- itemDiscountAmount: '2134',
- itemPaymentAmount: '6766',
- goodsPaymentPrice: '6766',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132222629825260032',
- orderNo: null,
- spuId: '0',
- skuId: '135676631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- { specTitle: '颜色', specValue: '米色荷叶边' },
- { specTitle: '尺码', specValue: 'S' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '29800',
- itemDiscountAmount: '4026',
- itemPaymentAmount: '25774',
- goodsPaymentPrice: '25774',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132222629825260288',
- orderNo: null,
- spuId: '3',
- skuId: '135691622',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '腾讯极光盒子4智能网络电视机顶盒6K千兆网络机顶盒4K高分辨率',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/dz-3a.png',
- originPrice: '16900',
- actualPrice: '9900',
- specifications: [
- { specTitle: '颜色', specValue: '经典白' },
- { specTitle: '类型', specValue: '经典套装' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '9900',
- itemDiscountAmount: '1337',
- itemPaymentAmount: '8563',
- goodsPaymentPrice: '8563',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132222629825260544',
- orderNo: null,
- spuId: '135681628',
- skuId: '135676629',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '带帽午休毯虎年款多功能加厚加大加绒简约多功能午休毯连帽披肩',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/muy-3a.png',
- originPrice: '39900',
- actualPrice: '29900',
- specifications: [
- { specTitle: '颜色', specValue: '浅灰色' },
- { specTitle: '尺码', specValue: 'S' },
- ],
- buyQuantity: 4,
- itemTotalAmount: '119600',
- itemDiscountAmount: '4040',
- itemPaymentAmount: '115560',
- goodsPaymentPrice: '28890',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- {
- id: '132222629825260800',
- orderNo: null,
- spuId: '2',
- skuId: '135686631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName: '运动连帽拉链卫衣休闲开衫长袖多色运动细绒面料运动上衣',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-17a.png',
- originPrice: '39900',
- actualPrice: '25900',
- specifications: [
- { specTitle: '颜色', specValue: '军绿色' },
- { specTitle: '尺码', specValue: 'XS' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '25900',
- itemDiscountAmount: '392',
- itemPaymentAmount: '25508',
- goodsPaymentPrice: '25508',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '前海路333号阳光玫瑰园',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '平均线',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '458600',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: [
- {
- primary: true,
- type: 3,
- name: '确认收货',
- },
- ],
- labelVOs: null,
- invoiceVO: null,
- couponAmount: null,
- autoCancelTime: null,
- orderStatusName: '待收货',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: null,
- invoiceDesc: null,
- invoiceUrl: null,
- },
- {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130862219672031307',
- orderId: '130862224737571072',
- orderNo: '130862219672031307',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 80,
- orderSubStatus: null,
- totalAmount: '298000',
- goodsAmount: '298000',
- goodsAmountApp: '298000',
- paymentAmount: '263200',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '34800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: null,
- cancelReasonType: null,
- cancelReason: null,
- rightsType: null,
- createTime: '1587049485899',
- orderItemVOs: [
- {
- id: '130862224922120960',
- orderNo: null,
- spuId: '0',
- skuId: '135676631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- { specTitle: '颜色', specValue: '米色荷叶边' },
- { specTitle: '尺码', specValue: 'S' },
- ],
- buyQuantity: 10,
- itemTotalAmount: '298000',
- itemDiscountAmount: '29800',
- itemPaymentAmount: '268200',
- goodsPaymentPrice: '26820',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '前海路333号阳光玫瑰园',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '平均线',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '263200',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: null,
- labelVOs: null,
- invoiceVO: null,
- couponAmount: null,
- autoCancelTime: null,
- orderStatusName: '已取消',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: null,
- invoiceDesc: null,
- invoiceUrl: null,
- },
- {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130494472895208267',
- orderId: '130494482155052032',
- orderNo: '130494472895208267',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 80,
- orderSubStatus: null,
- totalAmount: '59700',
- goodsAmount: '59700',
- goodsAmountApp: '59700',
- paymentAmount: '24900',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '34800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: null,
- cancelReasonType: null,
- cancelReason: null,
- rightsType: null,
- createTime: '1587027566730',
- orderItemVOs: [
- {
- id: '130494482322824704',
- orderNo: null,
- spuId: '7',
- skuId: '135691633',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '不锈钢刀叉勺套装家用西餐餐具ins简约耐用不锈钢金色银色可选',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/gh-2b.png',
- originPrice: '29900',
- actualPrice: '19900',
- specifications: [
- { specTitle: '颜色', specValue: '奶黄色' },
- { specTitle: '类型', specValue: '三件套' },
- ],
- buyQuantity: 3,
- itemTotalAmount: '59700',
- itemDiscountAmount: '29800',
- itemPaymentAmount: '29900',
- goodsPaymentPrice: '9966',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '前海路333号阳光玫瑰园',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '平均线',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: null,
- arrivalTime: null,
- },
- paymentVO: {
- payStatus: 1,
- amount: '24900',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: null,
- labelVOs: null,
- invoiceVO: null,
- couponAmount: null,
- autoCancelTime: null,
- orderStatusName: '已取消',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: null,
- invoiceDesc: null,
- invoiceUrl: null,
- },
- {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130169571554503755',
- orderId: '130169572291521792',
- orderNo: '130169571554503755',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 50,
- orderSubStatus: null,
- totalAmount: '538000',
- goodsAmount: '538000',
- goodsAmountApp: '538000',
- paymentAmount: '508200',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '29800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: null,
- cancelReasonType: null,
- cancelReason: null,
- rightsType: null,
- createTime: '1587008200590',
- orderItemVOs: [
- {
- id: '130169572425740032',
- orderNo: null,
- spuId: '1',
- skuId: '135691631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '纯色纯棉休闲圆领短袖T恤纯白亲肤厚柔软细腻面料纯白短袖套头T恤',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-08b.png',
- originPrice: '31900',
- actualPrice: '26900',
- specifications: [
- { specTitle: '颜色', specValue: '橙色' },
- { specTitle: '尺码', specValue: 'M' },
- ],
- buyQuantity: 20,
- itemTotalAmount: '538000',
- itemDiscountAmount: '29800',
- itemPaymentAmount: '508200',
- goodsPaymentPrice: '25410',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: [
- {
- primary: true,
- type: 4,
- name: '',
- },
- ],
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '123',
- logisticsStatus: null,
- logisticsCompanyCode: 'zhongtong',
- logisticsCompanyName: '中通速递',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '前海路333号阳光玫瑰园',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '平均线',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: '1587008529453',
- arrivalTime: '1587008623995',
- },
- paymentVO: {
- payStatus: 1,
- amount: '508200',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: [
- { primary: false, type: 4, name: '申请售后' },
- { primary: true, type: 6, name: '评价' },
- ],
- labelVOs: null,
- invoiceVO: {
- buyerName: '腾讯计算机有限公司', //个人或公司名称
- buyerTaxNo: '9144 9808 0909 0293 XG', //税号
- buyerPhone: '18600008888', //手机
- email: '73900484@qq.com', //邮箱
- titleType: 2, //发票抬头 1-个人 2-公司
- ontentType: 1, //发票内容 1-明细 2类别
- invoiceType: 5, //是否开票 0-不开 5-电子发票
- money: '1.54',
- },
- couponAmount: null,
- autoCancelTime: null,
- orderStatusName: '交易完成',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: null,
- invoiceDesc: null,
- invoiceUrl: null,
- },
- {
- saasId: '88888888',
- storeId: '1000',
- storeName: '云Mall深圳旗舰店',
- uid: '88888888205468',
- parentOrderNo: '130150835531421259',
- orderId: '130150836385879808',
- orderNo: '130150835531421259',
- orderType: 0,
- orderSubType: 0,
- orderStatus: 50,
- orderSubStatus: null,
- totalAmount: '29800',
- goodsAmount: '29800',
- goodsAmountApp: '29800',
- paymentAmount: '4000',
- freightFee: '0',
- packageFee: '0',
- discountAmount: '25800',
- channelType: 0,
- channelSource: '',
- channelIdentity: '',
- remark: '',
- cancelType: null,
- cancelReasonType: null,
- cancelReason: null,
- rightsType: null,
- createTime: '1587007083842',
- orderItemVOs: [
- {
- id: '130150836520098048',
- orderNo: null,
- spuId: '0',
- skuId: '135681631',
- roomId: null,
- goodsMainType: 0,
- goodsViceType: 0,
- goodsName:
- '白色短袖连衣裙荷叶边裙摆宽松韩版休闲纯白清爽优雅连衣裙',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- originPrice: '40000',
- actualPrice: '29800',
- specifications: [
- { specTitle: '颜色', specValue: '米色荷叶边' },
- { specTitle: '尺码', specValue: 'M' },
- ],
- buyQuantity: 1,
- itemTotalAmount: '29800',
- itemDiscountAmount: '25800',
- itemPaymentAmount: '4000',
- goodsPaymentPrice: '4000',
- tagPrice: null,
- tagText: null,
- outCode: null,
- labelVOs: null,
- buttonVOs: null,
- },
- ],
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '123',
- logisticsStatus: null,
- logisticsCompanyCode: 'yuantong',
- logisticsCompanyName: '圆通速递',
- receiverAddressId: '2',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '前海路333号阳光玫瑰园',
- receiverPostCode: '',
- receiverLongitude: '113.829127',
- receiverLatitude: '22.713649',
- receiverIdentity: '88888888205468',
- receiverPhone: '17612345678',
- receiverName: '平均线',
- expectArrivalTime: null,
- senderName: '',
- senderPhone: '',
- senderAddress: '',
- sendTime: '1587008539953',
- arrivalTime: '1588291200508',
- },
- paymentVO: {
- payStatus: 1,
- amount: '4000',
- currency: null,
- payType: null,
- payWay: null,
- payWayName: null,
- interactId: null,
- traceNo: null,
- channelTrxNo: null,
- period: null,
- payTime: null,
- paySuccessTime: null,
- },
- buttonVOs: [{ primary: true, type: 6, name: '评价' }],
- labelVOs: null,
- invoiceVO: null,
- couponAmount: null,
- autoCancelTime: null,
- orderStatusName: '交易完成',
- orderSatusRemark: null,
- logisticsLogVO: null,
- invoiceStatus: null,
- invoiceDesc: null,
- invoiceUrl: null,
- },
- ],
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 113,
- success: true,
- };
- const { pageNum, pageSize, orderStatus } = params.parameter;
- // 实现筛选
- if (orderStatus > -1) {
- resp.data.orders = resp.data.orders.filter(
- (order) => order.orderStatus === orderStatus,
- );
- }
- // 实现分页
- resp.data.pageNum = pageNum;
- resp.data.pageSize = pageSize;
- resp.data.orders = resp.data.orders.slice(
- (pageNum - 1) * pageSize,
- pageNum * pageSize,
- );
- return resp;
-}
-
-export function genOrdersCount() {
- const resp = {
- data: [
- { tabType: 5, orderNum: 1 },
- { tabType: 10, orderNum: 1 },
- { tabType: 40, orderNum: 1 },
- { tabType: 50, orderNum: 2 },
- ],
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 41,
- success: true,
- };
- return resp;
-}
diff --git a/model/promotion.js b/model/promotion.js
deleted file mode 100644
index 0aaee61..0000000
--- a/model/promotion.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { getGoodsList } from './goods';
-
-export function getPromotion(baseID = 0, length = 10) {
- return {
- list: getGoodsList(baseID, length).map((item) => {
- return {
- spuId: item.spuId,
- thumb: item.primaryImage,
- title: item.title,
- price: item.minSalePrice,
- originPrice: item.maxLinePrice,
- tags: item.spuTagList.map((tag) => ({ title: tag.title })),
- };
- }),
- banner:
- 'https://cdn-we-retail.ym.tencent.com/tsr/promotion/banner-promotion.png',
- time: 1000 * 60 * 60 * 20,
- showBannerDesc: true,
- statusTag: 'running',
- };
-}
diff --git a/model/search.js b/model/search.js
deleted file mode 100644
index 2d2e68d..0000000
--- a/model/search.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import { getGoodsList } from './goods';
-
-/**
- * @param {number} sort
- * @param {number} pageNum
- * @param {number} pageSize
- * @param {number} minPrice
- * @param {number} maxPrice
- * @param {string} keyword
- */
-
-export function getSearchHistory() {
- return {
- historyWords: [
- '鸡',
- '电脑',
- 'iPhone12',
- '车载手机支架',
- '自然堂',
- '小米10',
- '原浆古井贡酒',
- '欧米伽',
- '华为',
- '针织半身裙',
- '氢跑鞋',
- '三盒处理器',
- ],
- };
-}
-
-export function getSearchPopular() {
- return {
- popularWords: [
- '鸡',
- '电脑',
- 'iPhone12',
- '车载手机支架',
- '自然堂',
- '小米10',
- '原浆古井贡酒',
- '欧米伽',
- '华为',
- '针织半身裙',
- '氢跑鞋',
- '三盒处理器',
- ],
- };
-}
-
-export function getSearchResult() {
- return {
- saasId: null,
- storeId: null,
- pageNum: 1,
- pageSize: 30,
- totalCount: 1,
- spuList: getGoodsList(7),
- algId: 0,
- };
-}
diff --git a/model/submitComment.js b/model/submitComment.js
deleted file mode 100644
index e620b4f..0000000
--- a/model/submitComment.js
+++ /dev/null
@@ -1,58 +0,0 @@
-export function getGoods() {
- return {
- goods: [
- {
- squid: '1',
- checkItems: [
- {
- name: '匿名评价',
- value: 'anonymous',
- checked: false,
- },
- ],
- detail: {
- image:
- 'https://wx.qlogo.cn/mmopen/vi_32/51VSMNuy1CyHiaAhAjLJ00kMZVqqnCqXeZduCLXHUBr52zFHRGxwL7kGia3fHj8GSNzFcqFDInQmRGM1eWjtQgqA/132',
- title: '',
- },
- goodComment: {
- /** 商品评价 */
- rate: 0,
- /** 评价内容 */
- label: '123',
- /** 上传图片 */
- images: [],
- },
- },
- {
- squid: '2',
- checkItems: [
- {
- name: '匿名评价',
- value: 'anonymous',
- checked: false,
- },
- ],
- detail: {
- image:
- 'https://wx.qlogo.cn/mmopen/vi_32/51VSMNuy1CyHiaAhAjLJ00kMZVqqnCqXeZduCLXHUBr52zFHRGxwL7kGia3fHj8GSNzFcqFDInQmRGM1eWjtQgqA/132',
- title: '评价内容 山姆智利进口',
- },
- goodComment: {
- /** 商品评价 */
- rate: 0,
- /** 评价内容 */
- label: '山姆智利进口',
- /** 上传图片 */
- images: [],
- },
- },
- ],
- storeComment: {
- /** 物流评价 */
- logisticsRate: 0,
- /** 服务评价 */
- servicesRate: 0,
- },
- };
-}
diff --git a/model/swiper.js b/model/swiper.js
index 3df27bb..1284c50 100644
--- a/model/swiper.js
+++ b/model/swiper.js
@@ -1,5 +1,5 @@
const images = [{
- img: '/images/use_btn.jpg',
+ img: 'https://webplus-cn-hangzhou-s-603871eef968dd14ced82ed5.oss-cn-hangzhou.aliyuncs.com/hextech/static/use_btn.jpg',
text: '1',
},
{
diff --git a/model/usercenter.js b/model/usercenter.js
deleted file mode 100644
index 8822f4f..0000000
--- a/model/usercenter.js
+++ /dev/null
@@ -1,52 +0,0 @@
-const userInfo = {
- avatarUrl:
- 'https://we-retail-static-1300977798.cos.ap-guangzhou.myqcloud.com/retail-ui/components-exp/avatar/avatar-1.jpg',
- nickName: 'TDesign 🌟',
- phoneNumber: '13438358888',
- gender: 2,
-};
-const countsData = [
- {
- num: 2,
- name: '积分',
- type: 'point',
- },
- {
- num: 10,
- name: '优惠券',
- type: 'coupon',
- },
-];
-
-const orderTagInfos = [
- {
- orderNum: 1,
- tabType: 5,
- },
- {
- orderNum: 1,
- tabType: 10,
- },
- {
- orderNum: 1,
- tabType: 40,
- },
- {
- orderNum: 0,
- tabType: 0,
- },
-];
-
-const customerServiceInfo = {
- servicePhone: '4006336868',
- serviceTimeDuration: '每周三至周五 9:00-12:00 13:00-15:00',
-};
-
-export const genSimpleUserInfo = () => ({ ...userInfo });
-
-export const genUsercenter = () => ({
- userInfo,
- countsData,
- orderTagInfos,
- customerServiceInfo,
-});
diff --git a/pages/cart/components/cart-bar/index.js b/pages/cart/components/cart-bar/index.js
deleted file mode 100644
index db7736c..0000000
--- a/pages/cart/components/cart-bar/index.js
+++ /dev/null
@@ -1,59 +0,0 @@
-Component({
- options: {
- addGlobalClass: true,
- },
- /**
- * 组件的属性列表
- */
- properties: {
- isAllSelected: {
- type: Boolean,
- value: false,
- },
- totalAmount: {
- type: Number,
- value: 1,
- },
- totalGoodsNum: {
- type: Number,
- value: 0,
- observer(num) {
- const isDisabled = num == 0;
- setTimeout(() => {
- this.setData({
- isDisabled,
- });
- });
- },
- },
- totalDiscountAmount: {
- type: Number,
- value: 0,
- },
- bottomHeight: {
- type: Number,
- value: 100,
- },
- fixed: Boolean,
- },
- data: {
- isDisabled: false,
- },
-
- methods: {
- handleSelectAll() {
- const { isAllSelected } = this.data;
- this.setData({
- isAllSelected: !isAllSelected,
- });
- this.triggerEvent('handleSelectAll', {
- isAllSelected: isAllSelected,
- });
- },
-
- handleToSettle() {
- if (this.data.isDisabled) return;
- this.triggerEvent('handleToSettle');
- },
- },
-});
diff --git a/pages/cart/components/cart-bar/index.json b/pages/cart/components/cart-bar/index.json
deleted file mode 100644
index c6c4351..0000000
--- a/pages/cart/components/cart-bar/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "price": "/components/price/index",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ No newline at end of file
diff --git a/pages/cart/components/cart-bar/index.wxml b/pages/cart/components/cart-bar/index.wxml
deleted file mode 100644
index 486a0d5..0000000
--- a/pages/cart/components/cart-bar/index.wxml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- 全选
-
-
- 总计
-
- (不含运费)
-
-
- 已优惠
-
-
-
-
- 去结算({{totalGoodsNum}})
-
-
-
diff --git a/pages/cart/components/cart-bar/index.wxss b/pages/cart/components/cart-bar/index.wxss
deleted file mode 100644
index 0e63f60..0000000
--- a/pages/cart/components/cart-bar/index.wxss
+++ /dev/null
@@ -1,80 +0,0 @@
-.cart-bar__placeholder {
- height: 100rpx;
-}
-.flex {
- display: flex;
-}
-.flex-v-center {
- align-items: center;
-}
-.flex1 {
- flex: 1;
-}
-.algin-bottom {
- text-align: end;
-}
-.cart-bar--fixed {
- position: fixed;
- left: 0;
- right: 0;
- z-index: 99;
- bottom: calc(100rpx + env(safe-area-inset-bottom));
-}
-
-.cart-bar {
- height: 112rpx;
- background-color: #fff;
- border-top: 1rpx solid #e5e5e5;
- padding: 16rpx 32rpx;
- box-sizing: border-box;
- font-size: 24rpx;
- line-height: 36rpx;
- color: #333;
-}
-
-.cart-bar .cart-bar__check {
- margin-right: 12rpx;
-}
-
-.cart-bar .cart-bar__total {
- margin-left: 24rpx;
-}
-
-.cart-bar .account-btn {
- width: 192rpx;
- height: 80rpx;
- border-radius: 40rpx;
- background-color: #fa4126;
- font-size: 28rpx;
- font-weight: bold;
- line-height: 80rpx;
- color: #ffffff;
- text-align: center;
-}
-.cart-bar .disabled-btn {
- background-color: #cccccc !important;
-}
-.cart-bar .hover-btn {
- opacity: 0.5;
-}
-
-.cart-bar__total .cart-bar__total--bold {
- font-size: 28rpx;
- line-height: 40rpx;
- color: #333;
- font-weight: bold;
-}
-.cart-bar__total .cart-bar__total--normal {
- font-size: 24rpx;
- line-height: 32rpx;
- color: #999;
-}
-
-.cart-bar__total .cart-bar__total--price {
- color: #fa4126;
- font-weight: bold;
-}
-
-.text-padding-right {
- padding-right: 4rpx;
-}
diff --git a/pages/cart/components/cart-empty/index.js b/pages/cart/components/cart-empty/index.js
deleted file mode 100644
index 01cf9c3..0000000
--- a/pages/cart/components/cart-empty/index.js
+++ /dev/null
@@ -1,23 +0,0 @@
-Component({
- properties: {
- imgUrl: {
- type: String,
- value:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/template/empty-cart.png',
- },
- tip: {
- type: String,
- value: '购物车是空的',
- },
- btnText: {
- type: String,
- value: '去首页',
- },
- },
- data: {},
- methods: {
- handleClick() {
- this.triggerEvent('handleClick');
- },
- },
-});
diff --git a/pages/cart/components/cart-empty/index.json b/pages/cart/components/cart-empty/index.json
deleted file mode 100644
index b659310..0000000
--- a/pages/cart/components/cart-empty/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-image": "/components/webp-image/index"
- }
-}
\ No newline at end of file
diff --git a/pages/cart/components/cart-empty/index.wxml b/pages/cart/components/cart-empty/index.wxml
deleted file mode 100644
index d0cdd43..0000000
--- a/pages/cart/components/cart-empty/index.wxml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- {{tip}}
- {{btnText}}
-
-
diff --git a/pages/cart/components/cart-empty/index.wxss b/pages/cart/components/cart-empty/index.wxss
deleted file mode 100644
index d074bc3..0000000
--- a/pages/cart/components/cart-empty/index.wxss
+++ /dev/null
@@ -1,33 +0,0 @@
-.cart-empty {
- padding: 64rpx 0rpx;
- display: flex;
- flex-direction: column;
- align-items: center;
- box-sizing: border-box;
- height: calc(100vh - 100rpx);
- background-color: #f5f5f5;
-}
-.cart-empty .cart-img {
- width: 160rpx;
- height: 160rpx;
- margin-bottom: 24rpx;
-}
-
-.cart-empty .tip {
- font-size: 28rpx;
- line-height: 40rpx;
- color: #999;
- margin-bottom: 24rpx;
-}
-.cart-empty .btn {
- width: 240rpx;
- height: 72rpx;
- border-radius: 36rpx;
- text-align: center;
- line-height: 72rpx;
- border: 2rpx solid #fa4126;
- color: #fa4126;
- background-color: transparent;
- font-size: 28rpx;
- font-weight: bold;
-}
diff --git a/pages/cart/components/cart-group/index.js b/pages/cart/components/cart-group/index.js
deleted file mode 100644
index 99a908d..0000000
--- a/pages/cart/components/cart-group/index.js
+++ /dev/null
@@ -1,166 +0,0 @@
-import Toast from 'tdesign-miniprogram/toast/index';
-
-const shortageImg =
- 'https://cdn-we-retail.ym.tencent.com/miniapp/cart/shortage.png';
-
-Component({
- isSpecsTap: false, // 标记本次点击事件是否因为点击specs触发(由于底层goods-card组件没有catch specs点击事件,只能在此处加状态来避免点击specs时触发跳转商品详情)
- externalClasses: ['wr-class'],
- properties: {
- storeGoods: {
- type: Array,
- observer(storeGoods) {
- for (const store of storeGoods) {
- for (const activity of store.promotionGoodsList) {
- for (const goods of activity.goodsPromotionList) {
- goods.specs = goods.specInfo.map((item) => item.specValue); // 目前仅展示商品已选规格的值
- }
- }
- for (const goods of store.shortageGoodsList) {
- goods.specs = goods.specInfo.map((item) => item.specValue); // 目前仅展示商品已选规格的值
- }
- }
-
- this.setData({ _storeGoods: storeGoods });
- },
- },
- invalidGoodItems: {
- type: Array,
- observer(invalidGoodItems) {
- invalidGoodItems.forEach((goods) => {
- goods.specs = goods.specInfo.map((item) => item.specValue); // 目前仅展示商品已选规格的值
- });
- this.setData({ _invalidGoodItems: invalidGoodItems });
- },
- },
- thumbWidth: { type: null },
- thumbHeight: { type: null },
- },
-
- data: {
- shortageImg,
- isShowSpecs: false,
- currentGoods: {},
- isShowToggle: false,
- _storeGoods: [],
- _invalidGoodItems: [],
- },
-
- methods: {
- // 删除商品
- deleteGoods(e) {
- const { goods } = e.currentTarget.dataset;
- this.triggerEvent('delete', { goods });
- },
-
- // 清空失效商品
- clearInvalidGoods() {
- this.triggerEvent('clearinvalidgoods');
- },
-
- // 选中商品
- selectGoods(e) {
- const { goods } = e.currentTarget.dataset;
- this.triggerEvent('selectgoods', {
- goods,
- isSelected: !goods.isSelected,
- });
- },
-
- changeQuantity(num, goods) {
- this.triggerEvent('changequantity', {
- goods,
- quantity: num,
- });
- },
- changeStepper(e) {
- const { value } = e.detail;
- const { goods } = e.currentTarget.dataset;
- let num = value;
- if (value > goods.stack) {
- num = goods.stack;
- }
- this.changeQuantity(num, goods);
- },
-
- input(e) {
- const { value } = e.detail;
- const { goods } = e.currentTarget.dataset;
- const num = value;
- this.changeQuantity(num, goods);
- },
-
- overlimit(e) {
- const text =
- e.detail.type === 'minus'
- ? '该商品数量不能减少了哦'
- : '同一商品最多购买999件';
- Toast({
- context: this,
- selector: '#t-toast',
- message: text,
- });
- },
-
- // 去凑单/再逛逛
- gotoBuyMore(e) {
- const { promotion, storeId = '' } = e.currentTarget.dataset;
- this.triggerEvent('gocollect', { promotion, storeId });
- },
-
- // 选中门店
- selectStore(e) {
- const { storeIndex } = e.currentTarget.dataset;
- const store = this.data.storeGoods[storeIndex];
- const isSelected = !store.isSelected;
- if (store.storeStockShortage && isSelected) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '部分商品库存不足',
- });
- return;
- }
- this.triggerEvent('selectstore', {
- store,
- isSelected,
- });
- },
-
- // 展开/收起切换
- showToggle() {
- this.setData({
- isShowToggle: !this.data.isShowToggle,
- });
- },
-
- // 展示规格popup
- specsTap(e) {
- this.isSpecsTap = true;
- const { goods } = e.currentTarget.dataset;
- this.setData({
- isShowSpecs: true,
- currentGoods: goods,
- });
- },
-
- hideSpecsPopup() {
- this.setData({
- isShowSpecs: false,
- });
- },
-
- goGoodsDetail(e) {
- if (this.isSpecsTap) {
- this.isSpecsTap = false;
- return;
- }
- const { goods } = e.currentTarget.dataset;
- this.triggerEvent('goodsclick', { goods });
- },
-
- gotoCoupons() {
- wx.navigateTo({ url: '/pages/coupon/coupon-list/index' });
- },
- },
-});
diff --git a/pages/cart/components/cart-group/index.json b/pages/cart/components/cart-group/index.json
deleted file mode 100644
index 9b8003d..0000000
--- a/pages/cart/components/cart-group/index.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-stepper": "tdesign-miniprogram/stepper/stepper",
- "swipeout": "/components/swipeout/index",
- "goods-card": "../../components/goods-card/index",
- "specs-popup": "../../components/specs-popup/index"
- }
-}
\ No newline at end of file
diff --git a/pages/cart/components/cart-group/index.wxml b/pages/cart/components/cart-group/index.wxml
deleted file mode 100644
index 63fe3dd..0000000
--- a/pages/cart/components/cart-group/index.wxml
+++ /dev/null
@@ -1,185 +0,0 @@
-
- var hasPromotion = function (code) {
- return code && code !== 'EMPTY_PROMOTION';
- }
- module.exports.hasPromotion = hasPromotion;
-
-
-
-
-
-
-
-
-
-
-
- {{store.storeName}}
-
- 优惠券
-
-
-
-
-
- {{promotion.tag}}
- {{promotion.description}}
-
-
-
- {{promotion.isNeedAddOnShop == 1 ? '去凑单' : '再逛逛'}}
-
-
-
-
-
-
-
-
-
-
-
-
-
- 仅剩{{goods.stockQuantity}}件
-
-
- 库存不足
-
-
-
-
-
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 无货
-
-
-
-
-
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/cart/components/cart-group/index.wxss b/pages/cart/components/cart-group/index.wxss
deleted file mode 100644
index 641101f..0000000
--- a/pages/cart/components/cart-group/index.wxss
+++ /dev/null
@@ -1,335 +0,0 @@
-.cart-group {
- border-radius: 8rpx;
-}
-.cart-group .goods-wrap {
- margin-top: 40rpx;
- background-color: #fff;
- border-radius: 8rpx;
- overflow: hidden;
-}
-.cart-group .goods-wrap:first-of-type {
- margin-top: 0;
-}
-.cart-group .cart-store {
- height: 96rpx;
- background-color: #fff;
- box-sizing: border-box;
- display: flex;
- align-items: center;
- padding: 0rpx 24rpx 0rpx 36rpx;
-}
-.cart-group .cart-store .cart-store__check {
- padding: 28rpx 32rpx 28rpx 0rpx;
-}
-.cart-group .cart-store__content {
- box-sizing: border-box;
- flex: auto;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-.cart-group .cart-store__content .store-title {
- flex: auto;
- font-size: 28rpx;
- line-height: 40rpx;
- color: #333333;
- display: flex;
- align-items: center;
- font-weight: bold;
- overflow: hidden;
-}
-
-.cart-group .cart-store__content .store-title .wr-store {
- font-size: 32rpx;
-}
-.cart-group .cart-store__content .store-title .store-name {
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
- margin-left: 12rpx;
-}
-.cart-group .cart-store__content .get-coupon {
- width: 112rpx;
- height: 40rpx;
- border-radius: 20rpx;
- background-color: #ffecf9;
- line-height: 40rpx;
- text-align: center;
- font-size: 26rpx;
- color: #fa4126;
-}
-
-.cart-group .promotion-wrap {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 0rpx 24rpx 32rpx 36rpx;
- background-color: #ffffff;
- font-size: 24rpx;
- line-height: 36rpx;
- color: #222427;
-}
-.cart-group .promotion-wrap .promotion-title {
- font-weight: bold;
- flex: auto;
- overflow: hidden;
- margin-right: 20rpx;
- display: flex;
- align-items: center;
-}
-.cart-group .promotion-wrap .promotion-title .promotion-icon {
- flex: none;
- font-weight: normal;
- display: inline-block;
- padding: 0 8rpx;
- color: #ffffff;
- background: #fa4126;
- font-size: 20rpx;
- height: 32rpx;
- line-height: 32rpx;
- margin-right: 16rpx;
- border-radius: 16rpx;
-}
-.cart-group .promotion-wrap .promotion-title .promotion-text {
- flex: auto;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-.cart-group .promotion-wrap .promotion-action {
- flex: none;
- color: #333333;
-}
-.cart-group .promotion-line-wrap {
- background-color: #fff;
- height: 2rpx;
- display: flex;
- justify-content: flex-end;
-}
-.cart-group .promotion-line-wrap .promotion-line {
- width: 684rpx;
- height: 2rpx;
- background-color: #e6e6e6;
-}
-.cart-group .goods-item-info {
- display: flex;
- background-color: #fff;
- align-items: flex-start;
-}
-.cart-group .goods-item-info .check-wrap {
- margin-top: 56rpx;
- padding: 20rpx 28rpx 20rpx 36rpx;
-}
-
-.cart-group .goods-item-info .check-wrap .unCheck-icon {
- box-sizing: border-box;
- width: 36rpx;
- height: 36rpx;
- border-radius: 20rpx;
- background: #f5f5f5;
- border: 2rpx solid #bbbbbb;
-}
-
-.cart-group .goods-item-info .goods-sku-info {
- padding: 0rpx 32rpx 40rpx 0;
- flex-grow: 1;
-}
-.cart-group .goods-item-info .goods-sku-info .stock-mask {
- position: absolute;
- color: #fff;
- font-size: 24rpx;
- bottom: 0rpx;
- background-color: rgba(0, 0, 0, 0.5);
- width: 100%;
- height: 40rpx;
- line-height: 40rpx;
- text-align: center;
-}
-.cart-group .goods-item-info .goods-sku-info .goods-stepper {
- position: absolute;
- right: 0;
- bottom: 8rpx;
-}
-.cart-group .goods-item-info .goods-sku-info .goods-stepper .stepper-tip {
- position: absolute;
- top: -36rpx;
- right: 0;
- height: 28rpx;
- color: #ff2525;
- font-size: 20rpx;
- line-height: 28rpx;
-}
-
-.cart-group .shortage-line {
- width: 662rpx;
- height: 2rpx;
- background-color: #e6e6e6;
- margin: 0 auto;
-}
-.cart-group .shortage-goods-wrap {
- background-color: #fff;
-}
-.cart-group .shortage-goods-wrap .shortage-tip-title {
- height: 72rpx;
- line-height: 72rpx;
- padding-left: 28rpx;
- font-size: 24rpx;
- color: #999;
-}
-.stepper-info {
- margin-left: auto;
-}
-.invalid-goods-wrap {
- background-color: #fff;
- border-radius: 8rpx;
- margin-top: 40rpx;
-}
-.invalid-goods-wrap .invalid-head {
- display: flex;
- justify-content: space-between;
- padding: 30rpx 20rpx;
- font-size: 24rpx;
- border-bottom: 2rpx solid #f6f6f6;
-}
-.invalid-goods-wrap .invalid-head .invalid-title {
- color: #333;
- font-size: 28rpx;
- font-weight: 600;
-}
-.invalid-goods-wrap .invalid-head .invalid-clear {
- color: #fa4126;
-}
-.invalid-goods-wrap .toggle {
- display: flex;
- height: 80rpx;
- justify-content: center;
- align-items: center;
- font-size: 24rpx;
- color: #fa4126;
-}
-.invalid-goods-wrap .toggle .m-r-6 {
- margin-right: 6rpx;
-}
-.invalid-goods-wrap .toggle .top-icon {
- display: inline-block;
- width: 0;
- height: 0;
- border-left: 10rpx solid transparent;
- border-right: 10rpx solid transparent;
- border-bottom: 10rpx solid #fa4126;
-}
-.invalid-goods-wrap .toggle .down-icon {
- display: inline-block;
- width: 0;
- height: 0;
- border-left: 10rpx solid transparent;
- border-right: 10rpx solid transparent;
- border-top: 10rpx solid #fa4126;
-}
-.action-btn {
- display: flex;
- align-items: center;
-}
-.action-btn .action-btn-arrow {
- font-size: 20rpx;
- margin-left: 8rpx;
-}
-.action-btn--active {
- opacity: 0.5;
-}
-
-.swiper-right-del {
- height: calc(100% - 40rpx);
- width: 144rpx;
- background-color: #fa4126;
- font-size: 28rpx;
- color: white;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-.goods-stepper .stepper {
- border: none;
- border-radius: 0;
- height: auto;
- width: 168rpx;
- overflow: visible;
-}
-.goods-stepper .stepper .stepper__minus,
-.goods-stepper .stepper .stepper__plus {
- width: 44rpx;
- height: 44rpx;
- background-color: #f5f5f5;
-}
-.goods-stepper .stepper .stepper__minus--hover,
-.goods-stepper .stepper .stepper__plus--hover {
- background-color: #f5f5f5;
-}
-.goods-stepper .stepper .stepper__minus .wr-icon,
-.goods-stepper .stepper .stepper__plus .wr-icon {
- font-size: 24rpx;
-}
-.goods-stepper .stepper .stepper__minus {
- position: relative;
-}
-.goods-stepper .stepper .stepper__minus::after {
- position: absolute;
- display: block;
- content: ' ';
- left: -20rpx;
- right: -5rpx;
- top: -20rpx;
- bottom: -20rpx;
- background-color: transparent;
-}
-.goods-stepper .stepper .stepper__plus {
- position: relative;
-}
-.goods-stepper .stepper .stepper__plus::after {
- position: absolute;
- display: block;
- content: ' ';
- left: -5rpx;
- right: -20rpx;
- top: -20rpx;
- bottom: -20rpx;
- background-color: transparent;
-}
-.goods-stepper .stepper .stepper__input {
- width: 72rpx;
- height: 44rpx;
- background-color: #f5f5f5;
- font-size: 24rpx;
- color: #222427;
- font-weight: 600;
- border-left: none;
- border-right: none;
- min-height: 40rpx;
- margin: 0 4rpx;
- display: flex;
- align-items: center;
-}
-
-.goods-sku-info .no-storage-mask {
- position: absolute;
- color: #fff;
- bottom: 0rpx;
- left: 0rpx;
- background-color: rgba(0, 0, 0, 0.1);
- height: 192rpx;
- width: 192rpx;
- border-radius: 8rpx;
- display: flex;
- justify-content: center;
- align-items: center;
-}
-
-.no-storage-mask .no-storage-content {
- width: 128rpx;
- height: 128rpx;
- border-radius: 64rpx;
- background-color: rgba(0, 0, 0, 0.4);
- text-align: center;
- line-height: 128rpx;
- font-size: 28rpx;
-}
diff --git a/pages/cart/components/cart-group/utils.wxs b/pages/cart/components/cart-group/utils.wxs
deleted file mode 100644
index f887eba..0000000
--- a/pages/cart/components/cart-group/utils.wxs
+++ /dev/null
@@ -1,20 +0,0 @@
-module.exports.slice = function(arr) {
- return arr.slice(0, 2);
-};
-module.exports.imgCut = function(url, width, height) {
- if (url && (url.slice(0, 5) === 'http:' || url.slice(0, 6) === 'https:' || url.slice(0, 2) === '//')) {
- var argsStr = 'imageMogr2/thumbnail/!' + width + 'x' + height + 'r';
- if (url.indexOf('?') > -1) {
- url = url + '&' + argsStr;
- } else {
- url = url + '?' + argsStr;
- }
- if (url.slice(0, 5) === 'http:') {
- url = 'https://' + url.slice(5)
- }
- if (url.slice(0, 2) === '//') {
- url = 'https:' + url
- }
- }
- return url;
-};
diff --git a/pages/cart/components/goods-card/index.js b/pages/cart/components/goods-card/index.js
deleted file mode 100644
index c59658c..0000000
--- a/pages/cart/components/goods-card/index.js
+++ /dev/null
@@ -1,243 +0,0 @@
-Component({
- options: {
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
- addGlobalClass: true,
- },
- intersectionObserverContext: null,
-
- externalClasses: [
- 'card-class',
- 'title-class',
- 'desc-class',
- 'num-class',
- 'thumb-class',
- 'specs-class',
- 'price-class',
- 'origin-price-class',
- 'price-prefix-class',
- ],
-
- properties: {
- hidden: {
- // 设置为null代表不做类型转换
- type: null,
- value: false,
- observer(hidden) {
- // null就是代表没有设置,没有设置的话不setData,防止祖先组件触发的setHidden操作被覆盖
- if (hidden !== null) {
- this.setHidden(!!hidden);
- }
- },
- },
- id: {
- type: String,
- // `goods-card-88888888`
- // 不能在这里写生成逻辑,如果在这里写,那么假设有多个goods-list时,他们将共享这个值
- value: '',
- observer: (id) => {
- this.genIndependentID(id);
- if (this.properties.thresholds?.length) {
- this.createIntersectionObserverHandle();
- }
- },
- },
- data: {
- type: Object,
- observer(goods) {
- // 有ID的商品才渲染
- if (!goods) {
- return;
- }
-
- /** 划线价是否有效 */
- let isValidityLinePrice = true;
- // 判断一次划线价格是否合理
- if (
- goods.originPrice &&
- goods.price &&
- goods.originPrice < goods.price
- ) {
- isValidityLinePrice = false;
- }
-
- // 敲定换行数量默认值
- if (goods.lineClamp === undefined || goods.lineClamp <= 0) {
- // tag数组长度 大于0 且 可见
- // 指定换行为1行
- if ((goods.tags?.length || 0) > 0 && !goods.hideKey?.tags) {
- goods.lineClamp = 1;
- } else {
- goods.lineClamp = 2;
- }
- }
-
- this.setData({ goods, isValidityLinePrice });
- },
- },
- layout: {
- type: String,
- value: 'horizontal',
- },
- thumbMode: {
- type: String,
- value: 'aspectFill',
- },
- priceFill: {
- type: Boolean,
- value: true,
- },
- currency: {
- type: String,
- value: '¥',
- },
- lazyLoad: {
- type: Boolean,
- value: false,
- },
- centered: {
- type: Boolean,
- value: false,
- },
- pricePrefix: {
- type: String,
- value: '',
- },
- /** 元素可见监控阈值, 数组长度大于0就创建 */
- thresholds: {
- type: Array,
- value: [],
- observer(current) {
- if (current && current.length) {
- this.createIntersectionObserverHandle();
- } else {
- this.clearIntersectionObserverHandle();
- }
- },
- },
- specsIconClassPrefix: {
- type: String,
- value: 'wr',
- },
- specsIcon: {
- type: String,
- value: 'expand_more',
- },
- addCartIconClassPrefix: {
- type: String,
- value: 'wr',
- },
- addCartIcon: {
- type: String,
- value: 'cart',
- },
- },
-
- data: {
- hiddenInData: false,
- independentID: '',
- goods: { id: '' },
- /** 保证划线价格不小于原价,否则不渲染划线价 */
- isValidityLinePrice: false,
- },
-
- lifetimes: {
- ready() {
- this.init();
- },
- detached() {
- this.clear();
- },
- },
-
- methods: {
- clickHandle() {
- this.triggerEvent('click', { goods: this.data.goods });
- },
- clickThumbHandle() {
- this.triggerEvent('thumb', { goods: this.data.goods });
- },
- clickSpecsHandle() {
- this.triggerEvent('specs', { goods: this.data.goods });
- },
- clickTagHandle(evt) {
- const { index } = evt.currentTarget.dataset;
- this.triggerEvent('tag', { goods: this.data.goods, index });
- },
- // 加入购物车
- addCartHandle(e) {
- const { id } = e.currentTarget;
- const { id: cardID } = e.currentTarget.dataset;
- this.triggerEvent('add-cart', {
- ...e.detail,
- id,
- cardID,
- goods: this.data.goods,
- });
- },
- genIndependentID(id, cb) {
- let independentID;
- if (id) {
- independentID = id;
- } else {
- independentID = `goods-card-${~~(Math.random() * 10 ** 8)}`;
- }
- this.setData({ independentID }, cb);
- },
-
- init() {
- const { thresholds, id, hidden } = this.properties;
- if (hidden !== null) {
- this.setHidden(!!hidden);
- }
-
- this.genIndependentID(id || '', () => {
- if (thresholds && thresholds.length) {
- this.createIntersectionObserverHandle();
- }
- });
- },
-
- clear() {
- this.clearIntersectionObserverHandle();
- },
-
- setHidden(hidden) {
- this.setData({ hiddenInData: !!hidden });
- },
-
- createIntersectionObserverHandle() {
- if (this.intersectionObserverContext || !this.data.independentID) {
- return;
- }
-
- this.intersectionObserverContext = wx
- .createIntersectionObserver(this, {
- thresholds: this.properties.thresholds,
- })
- .relativeToViewport();
-
- this.intersectionObserverContext.observe(
- `#${this.data.independentID}`,
- (res) => {
- this.intersectionObserverCB(res);
- },
- );
- },
- intersectionObserverCB(ob) {
- this.triggerEvent('ob', {
- goods: this.data.goods,
- context: this.intersectionObserverContext,
- ob,
- });
- },
- clearIntersectionObserverHandle() {
- if (this.intersectionObserverContext) {
- try {
- this.intersectionObserverContext.disconnect();
- } catch (e) {}
-
- this.intersectionObserverContext = null;
- }
- },
- },
-});
diff --git a/pages/cart/components/goods-card/index.json b/pages/cart/components/goods-card/index.json
deleted file mode 100644
index d76303b..0000000
--- a/pages/cart/components/goods-card/index.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "price": "/components/price/index",
- "t-tag": "tdesign-miniprogram/tag/tag",
- "t-image": "/components/webp-image/index",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ No newline at end of file
diff --git a/pages/cart/components/goods-card/index.wxml b/pages/cart/components/goods-card/index.wxml
deleted file mode 100644
index df4111f..0000000
--- a/pages/cart/components/goods-card/index.wxml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- {{ goods.title }}
-
-
- {{ goods.desc }}
-
-
- {{ goods.specs }}
-
-
- 库存不足
-
-
-
- {{ pricePrefix }}
-
-
-
-
-
-
-
-
-
- x
- {{ goods.num }}
-
-
-
-
- 请重新选择商品规格
- 重选
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/cart/components/goods-card/index.wxss b/pages/cart/components/goods-card/index.wxss
deleted file mode 100644
index 6a7a4da..0000000
--- a/pages/cart/components/goods-card/index.wxss
+++ /dev/null
@@ -1,260 +0,0 @@
-.wr-goods-card {
- box-sizing: border-box;
- font-size: 24rpx;
-}
-/* */
-.wr-goods-card__main {
- position: relative;
- display: flex;
- padding: 0;
- background: transparent;
-}
-
-.wr-goods-card.center .wr-goods-card__main {
- align-items: flex-start;
- justify-content: center;
-}
-
-.wr-goods-card__thumb {
- flex-shrink: 0;
- position: relative;
- width: 140rpx;
- height: 140rpx;
-}
-
-.wr-goods-card__thumb-com {
- width: 192rpx;
- height: 192rpx;
- border-radius: 8rpx;
- overflow: hidden;
-}
-.wr-goods-card__thumb:empty {
- display: none;
- margin: 0;
-}
-
-.wr-goods-card__body {
- display: flex;
- margin: 0 0 0 20rpx;
- flex-direction: row;
- flex: 1 1 auto;
- min-height: 192rpx;
-}
-
-.wr-goods-card__long_content {
- display: flex;
- flex-direction: column;
- overflow: hidden;
- flex: 1 1 auto;
-}
-.wr-goods-card__long_content .goods_tips {
- width: 100%;
- margin-top: 16rpx;
- text-align: right;
- color: #fa4126;
- font-size: 24rpx;
- line-height: 32rpx;
- font-weight: bold;
-}
-.wr-goods-card__title {
- flex-shrink: 0;
- font-size: 28rpx;
- color: #333;
- line-height: 40rpx;
- font-weight: 400;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- overflow: hidden;
- word-break: break-word;
-}
-.wr-goods-card__title__prefix-tags {
- display: inline-flex;
-}
-.wr-goods-card__title__prefix-tags .prefix-tag {
- margin: 0 8rpx 0 0;
-}
-.wr-goods-card__desc {
- font-size: 24rpx;
- color: #f5f5f5;
- line-height: 40rpx;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- overflow: hidden;
-}
-.wr-goods-card__specs__desc,
-.wr-goods-card__specs__text {
- font-size: 24rpx;
- height: 32rpx;
- line-height: 32rpx;
- color: #999999;
- margin: 8rpx 0;
-}
-.wr-goods-card__specs__desc {
- display: flex;
- align-self: flex-start;
- flex-direction: row;
- background: #f5f5f5;
- border-radius: 8rpx;
- padding: 4rpx 8rpx;
-}
-.wr-goods-card__specs__desc-text {
- height: 100%;
- max-width: 380rpx;
- word-break: break-all;
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 1;
-}
-.wr-goods-card__specs__desc-icon {
- line-height: inherit;
- margin-left: 8rpx;
- font-size: 24rpx;
- color: #bbb;
-}
-.wr-goods-card__specs__text {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 1;
- overflow: hidden;
- text-overflow: ellipsis;
- word-break: break-all;
-}
-.wr-goods-card__tags {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- margin: 16rpx 0 0 0;
-}
-.wr-goods-card__tag {
- color: #fa550f;
- background: transparent;
- font-size: 20rpx;
- border: 1rpx solid #fa550f;
- padding: 0 8rpx;
- height: 30rpx;
- line-height: 30rpx;
- margin: 0 8rpx 8rpx 0;
- display: block;
- overflow: hidden;
- white-space: nowrap;
- word-break: keep-all;
- text-overflow: ellipsis;
-}
-.wr-goods-card__short_content {
- display: flex;
- flex-direction: column;
- justify-content: flex-start;
- align-items: flex-end;
- margin: 0 0 0 46rpx;
-}
-.wr-goods-card__price__prefix {
- order: 0;
- color: #666;
- margin: 0;
-}
-.wr-goods-card__price {
- white-space: nowrap;
- font-weight: bold;
- order: 1;
- color: #fa4126;
- font-size: 36rpx;
- margin: 0;
- line-height: 48rpx;
-}
-.wr-goods-card__origin-price {
- white-space: nowrap;
- font-weight: normal;
- order: 2;
- color: #aaaaaa;
- font-size: 24rpx;
- margin: 0;
-}
-.wr-goods-card__num {
- white-space: nowrap;
- order: 4;
- font-size: 24rpx;
- color: #999;
- margin: 20rpx 0 0 auto;
-}
-.wr-goods-card__num__prefix {
- color: inherit;
-}
-.wr-goods-card__add-cart {
- order: 3;
- margin: auto 0 0 auto;
-}
-.wr-goods-card.horizontal-wrap .wr-goods-card__thumb {
- width: 192rpx;
- height: 192rpx;
- border-radius: 8rpx;
- overflow: hidden;
-}
-.wr-goods-card.horizontal-wrap .wr-goods-card__body {
- flex-direction: column;
-}
-.wr-goods-card.horizontal-wrap .wr-goods-card__short_content {
- flex-direction: row;
- align-items: center;
- margin: 16rpx 0 0 0;
-}
-
-.wr-goods-card.horizontal-wrap .wr-goods-card__num {
- margin: 0 0 0 auto;
-}
-.wr-goods-card.vertical .wr-goods-card__main {
- padding: 0 0 22rpx 0;
- flex-direction: column;
-}
-.wr-goods-card.vertical .wr-goods-card__thumb {
- width: 340rpx;
- height: 340rpx;
-}
-.wr-goods-card.vertical .wr-goods-card__body {
- margin: 20rpx 20rpx 0 20rpx;
- flex-direction: column;
-}
-.wr-goods-card.vertical .wr-goods-card__long_content {
- overflow: hidden;
-}
-.wr-goods-card.vertical .wr-goods-card__title {
- line-height: 36rpx;
-}
-.wr-goods-card.vertical .wr-goods-card__short_content {
- margin: 20rpx 0 0 0;
-}
-.wr-goods-card.vertical .wr-goods-card__price {
- order: 2;
- color: #fa4126;
- margin: 20rpx 0 0 0;
-}
-.wr-goods-card.vertical .wr-goods-card__origin-price {
- order: 1;
-}
-.wr-goods-card.vertical .wr-goods-card__add-cart {
- position: absolute;
- bottom: 20rpx;
- right: 20rpx;
-}
-
-.wr-goods-card__short_content .no_storage {
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: 40rpx;
- color: #333;
- font-size: 24rpx;
- line-height: 32rpx;
- width: 100%;
-}
-
-.no_storage .no_storage__right {
- width: 80rpx;
- height: 40rpx;
- border-radius: 20rpx;
- border: 2rpx solid #fa4126;
- line-height: 40rpx;
- text-align: center;
- color: #fa4126;
-}
diff --git a/pages/cart/components/specs-popup/index.js b/pages/cart/components/specs-popup/index.js
deleted file mode 100644
index 650d2aa..0000000
--- a/pages/cart/components/specs-popup/index.js
+++ /dev/null
@@ -1,72 +0,0 @@
-Component({
- options: {
- addGlobalClass: true,
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
- },
-
- properties: {
- show: {
- type: Boolean,
- value: false,
- },
- value: {
- type: String,
- value: '',
- },
- title: {
- type: String,
- observer(newVal) {
- this.setData({ 'goods.title': newVal });
- },
- },
- price: {
- type: String,
- value: '',
- observer(newVal) {
- this.setData({ 'goods.price': newVal });
- },
- },
- thumb: {
- type: String,
- value: '',
- observer(newVal) {
- this.setData({ 'goods.thumb': newVal });
- },
- },
- thumbMode: {
- type: String,
- value: 'aspectFit',
- },
- zIndex: {
- type: Number,
- value: 99,
- },
- specs: {
- type: Array,
- value: [],
- },
- },
-
- data: {
- goods: {
- title: '',
- thumb: '',
- price: '',
- hideKey: {
- originPrice: true,
- tags: true,
- specs: true,
- num: true,
- },
- },
- },
- methods: {
- onClose() {
- this.triggerEvent('close');
- },
-
- onCloseOver() {
- this.triggerEvent('closeover');
- },
- },
-});
diff --git a/pages/cart/components/specs-popup/index.json b/pages/cart/components/specs-popup/index.json
deleted file mode 100644
index d59fc6d..0000000
--- a/pages/cart/components/specs-popup/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup",
- "goods-card": "../../components/goods-card/index"
- }
-}
\ No newline at end of file
diff --git a/pages/cart/components/specs-popup/index.wxml b/pages/cart/components/specs-popup/index.wxml
deleted file mode 100644
index 4ddcb43..0000000
--- a/pages/cart/components/specs-popup/index.wxml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
diff --git a/pages/cart/components/specs-popup/index.wxss b/pages/cart/components/specs-popup/index.wxss
deleted file mode 100644
index 359c185..0000000
--- a/pages/cart/components/specs-popup/index.wxss
+++ /dev/null
@@ -1,68 +0,0 @@
-.specs-popup {
- width: 100vw;
- box-sizing: border-box;
- padding: 32rpx 32rpx calc(20rpx + env(safe-area-inset-bottom)) 32rpx;
- max-height: 80vh;
- display: flex;
- flex-direction: column;
- background-color: white;
- border-radius: 20rpx 20rpx 0 0;
-}
-.specs-popup .section {
- margin-top: 44rpx;
- flex: auto;
- overflow-y: scroll;
- overflow-x: hidden;
- -webkit-overflow-scrolling: touch;
-}
-.specs-popup .section .title {
- font-size: 26rpx;
- color: #4f5356;
-}
-.specs-popup .section .options {
- color: #333333;
- font-size: 24rpx;
- margin-right: -26rpx;
-}
-.specs-popup .section .options .option {
- display: inline-block;
- margin-top: 24rpx;
- height: 56rpx;
- line-height: 56rpx;
- padding: 0 16rpx;
- border-radius: 8rpx;
- background-color: #f5f5f5;
- max-width: 100%;
- box-sizing: border-box;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.specs-popup .section .options .option:not(:last-child) {
- margin-right: 26rpx;
-}
-.specs-popup .bottom-btn {
- margin-top: 42rpx;
- position: relative;
- height: 80rpx;
- line-height: 80rpx;
- text-align: center;
- background-color: white;
- color: #fa4126;
-}
-.specs-popup .bottom-btn--active {
- opacity: 0.5;
-}
-.specs-popup .bottom-btn::after {
- display: block;
- content: ' ';
- position: absolute;
- left: 0;
- top: 0;
- width: 200%;
- height: 200%;
- border: 1px solid #fa4126;
- border-radius: 80rpx;
- transform: scale(0.5);
- transform-origin: left top;
-}
diff --git a/pages/cart/index.js b/pages/cart/index.js
deleted file mode 100644
index 3fd6d61..0000000
--- a/pages/cart/index.js
+++ /dev/null
@@ -1,315 +0,0 @@
-import Dialog from 'tdesign-miniprogram/dialog/index';
-import Toast from 'tdesign-miniprogram/toast/index';
-import { fetchCartGroupData } from '../../services/cart/cart';
-
-Page({
- data: {
- cartGroupData: null,
- },
-
- // 调用自定义tabbar的init函数,使页面与tabbar激活状态保持一致
- onShow() {
- this.getTabBar().init();
- },
-
- onLoad() {
- this.refreshData();
- },
-
- refreshData() {
- this.getCartGroupData().then((res) => {
- let isEmpty = true;
- const cartGroupData = res.data;
- // 一些组件中需要的字段可能接口并没有返回,或者返回的数据结构与预期不一致,需要在此先对数据做一些处理
- // 统计门店下加购的商品是否全选、是否存在缺货/无货
- for (const store of cartGroupData.storeGoods) {
- store.isSelected = true; // 该门店已加购商品是否全选
- store.storeStockShortage = false; // 该门店已加购商品是否存在库存不足
- if (!store.shortageGoodsList) {
- store.shortageGoodsList = []; // 该门店已加购商品如果库存为0需单独分组
- }
- for (const activity of store.promotionGoodsList) {
- activity.goodsPromotionList = activity.goodsPromotionList.filter(
- (goods) => {
- goods.originPrice = undefined;
-
- // 统计是否有加购数大于库存数的商品
- if (goods.quantity > goods.stockQuantity) {
- store.storeStockShortage = true;
- }
- // 统计是否全选
- if (!goods.isSelected) {
- store.isSelected = false;
- }
- // 库存为0(无货)的商品单独分组
- if (goods.stockQuantity > 0) {
- return true;
- }
- store.shortageGoodsList.push(goods);
- return false;
- },
- );
-
- if (activity.goodsPromotionList.length > 0) {
- isEmpty = false;
- }
- }
- if (store.shortageGoodsList.length > 0) {
- isEmpty = false;
- }
- }
- cartGroupData.invalidGoodItems = cartGroupData.invalidGoodItems.map(
- (goods) => {
- goods.originPrice = undefined;
- return goods;
- },
- );
- cartGroupData.isNotEmpty = !isEmpty;
- this.setData({ cartGroupData });
- });
- },
-
- findGoods(spuId, skuId) {
- let currentStore;
- let currentActivity;
- let currentGoods;
- const { storeGoods } = this.data.cartGroupData;
- for (const store of storeGoods) {
- for (const activity of store.promotionGoodsList) {
- for (const goods of activity.goodsPromotionList) {
- if (goods.spuId === spuId && goods.skuId === skuId) {
- currentStore = store;
- currentActivity = currentActivity;
- currentGoods = goods;
- return {
- currentStore,
- currentActivity,
- currentGoods,
- };
- }
- }
- }
- }
- return {
- currentStore,
- currentActivity,
- currentGoods,
- };
- },
-
- // 注:实际场景时应该调用接口获取购物车数据
- getCartGroupData() {
- const { cartGroupData } = this.data;
- if (!cartGroupData) {
- return fetchCartGroupData();
- }
- return Promise.resolve({ data: cartGroupData });
- },
-
- // 选择单个商品
- // 注:实际场景时应该调用接口更改选中状态
- selectGoodsService({ spuId, skuId, isSelected }) {
- this.findGoods(spuId, skuId).currentGoods.isSelected = isSelected;
- return Promise.resolve();
- },
-
- // 全选门店
- // 注:实际场景时应该调用接口更改选中状态
- selectStoreService({ storeId, isSelected }) {
- const currentStore = this.data.cartGroupData.storeGoods.find(
- (s) => s.storeId === storeId,
- );
- currentStore.isSelected = isSelected;
- currentStore.promotionGoodsList.forEach((activity) => {
- activity.goodsPromotionList.forEach((goods) => {
- goods.isSelected = isSelected;
- });
- });
- return Promise.resolve();
- },
-
- // 加购数量变更
- // 注:实际场景时应该调用接口
- changeQuantityService({ spuId, skuId, quantity }) {
- this.findGoods(spuId, skuId).currentGoods.quantity = quantity;
- return Promise.resolve();
- },
-
- // 删除加购商品
- // 注:实际场景时应该调用接口
- deleteGoodsService({ spuId, skuId }) {
- function deleteGoods(group) {
- for (const gindex in group) {
- const goods = group[gindex];
- if (goods.spuId === spuId && goods.skuId === skuId) {
- group.splice(gindex, 1);
- return gindex;
- }
- }
- return -1;
- }
- const { storeGoods, invalidGoodItems } = this.data.cartGroupData;
- for (const store of storeGoods) {
- for (const activity of store.promotionGoodsList) {
- if (deleteGoods(activity.goodsPromotionList) > -1) {
- return Promise.resolve();
- }
- }
- if (deleteGoods(store.shortageGoodsList) > -1) {
- return Promise.resolve();
- }
- }
- if (deleteGoods(invalidGoodItems) > -1) {
- return Promise.resolve();
- }
- return Promise.reject();
- },
-
- // 清空失效商品
- // 注:实际场景时应该调用接口
- clearInvalidGoodsService() {
- this.data.cartGroupData.invalidGoodItems = [];
- return Promise.resolve();
- },
-
- onGoodsSelect(e) {
- const {
- goods: { spuId, skuId },
- isSelected,
- } = e.detail;
- const { currentGoods } = this.findGoods(spuId, skuId);
- Toast({
- context: this,
- selector: '#t-toast',
- message: `${isSelected ? '选择' : '取消'}"${
- currentGoods.title.length > 5
- ? `${currentGoods.title.slice(0, 5)}...`
- : currentGoods.title
- }"`,
- icon: '',
- });
- this.selectGoodsService({ spuId, skuId, isSelected }).then(() =>
- this.refreshData(),
- );
- },
-
- onStoreSelect(e) {
- const {
- store: { storeId },
- isSelected,
- } = e.detail;
- this.selectStoreService({ storeId, isSelected }).then(() =>
- this.refreshData(),
- );
- },
-
- onQuantityChange(e) {
- const {
- goods: { spuId, skuId },
- quantity,
- } = e.detail;
- const { currentGoods } = this.findGoods(spuId, skuId);
- const stockQuantity =
- currentGoods.stockQuantity > 0 ? currentGoods.stockQuantity : 0; // 避免后端返回的是-1
- // 加购数量超过库存数量
- if (quantity > stockQuantity) {
- // 加购数量等于库存数量的情况下继续加购
- if (
- currentGoods.quantity === stockQuantity &&
- quantity - stockQuantity === 1
- ) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '当前商品库存不足',
- });
- return;
- }
- Dialog.confirm({
- title: '商品库存不足',
- content: `当前商品库存不足,最大可购买数量为${stockQuantity}件`,
- confirmBtn: '修改为最大可购买数量',
- cancelBtn: '取消',
- })
- .then(() => {
- this.changeQuantityService({
- spuId,
- skuId,
- quantity: stockQuantity,
- }).then(() => this.refreshData());
- })
- .catch(() => {});
- return;
- }
- this.changeQuantityService({ spuId, skuId, quantity }).then(() =>
- this.refreshData(),
- );
- },
-
- goCollect() {
- /** 活动肯定有一个活动ID,用来获取活动banner,活动商品列表等 */
- const promotionID = '123';
- wx.navigateTo({
- url: `/pages/promotion-detail/index?promotion_id=${promotionID}`,
- });
- },
-
- goGoodsDetail(e) {
- const { spuId, storeId } = e.detail.goods;
- wx.navigateTo({
- url: `/pages/goods/details/index?spuId=${spuId}&storeId=${storeId}`,
- });
- },
-
- clearInvalidGoods() {
- // 实际场景时应该调用接口清空失效商品
- this.clearInvalidGoodsService().then(() => this.refreshData());
- },
-
- onGoodsDelete(e) {
- const {
- goods: { spuId, skuId },
- } = e.detail;
- Dialog.confirm({
- content: '确认删除该商品吗?',
- confirmBtn: '确定',
- cancelBtn: '取消',
- }).then(() => {
- this.deleteGoodsService({ spuId, skuId }).then(() => {
- Toast({ context: this, selector: '#t-toast', message: '商品删除成功' });
- this.refreshData();
- });
- });
- },
-
- onSelectAll(event) {
- const { isAllSelected } = event?.detail ?? {};
- Toast({
- context: this,
- selector: '#t-toast',
- message: `${isAllSelected ? '取消' : '点击'}了全选按钮`,
- });
- // 调用接口改变全选
- },
-
- onToSettle() {
- const goodsRequestList = [];
- this.data.cartGroupData.storeGoods.forEach((store) => {
- store.promotionGoodsList.forEach((promotion) => {
- promotion.goodsPromotionList.forEach((m) => {
- if (m.isSelected == 1) {
- goodsRequestList.push(m);
- }
- });
- });
- });
- wx.setStorageSync(
- 'order.goodsRequestList',
- JSON.stringify(goodsRequestList),
- );
- wx.navigateTo({ url: '/pages/order/order-confirm/index?type=cart' });
- },
- onGotoHome() {
- wx.switchTab({ url: '/pages/home/home' });
- },
-});
diff --git a/pages/cart/index.json b/pages/cart/index.json
deleted file mode 100644
index 1d2e717..0000000
--- a/pages/cart/index.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "navigationBarTitleText": "购物车",
- "usingComponents": {
- "cart-group": "./components/cart-group/index",
- "cart-empty": "./components/cart-empty/index",
- "cart-bar": "./components/cart-bar/index",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog"
- }
-}
\ No newline at end of file
diff --git a/pages/cart/index.wxml b/pages/cart/index.wxml
deleted file mode 100644
index aa1acec..0000000
--- a/pages/cart/index.wxml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/cart/index.wxss b/pages/cart/index.wxss
deleted file mode 100644
index 4eec899..0000000
--- a/pages/cart/index.wxss
+++ /dev/null
@@ -1,12 +0,0 @@
-:host {
- padding-bottom: 100rpx;
-}
-
-.gap {
- height: 100rpx;
- width: 100%;
-}
-
-.add-notes__confirm {
- color: #fa4126 !important;
-}
diff --git a/pages/coupon/components/coupon-card/index.js b/pages/coupon/components/coupon-card/index.js
deleted file mode 100644
index 07785fe..0000000
--- a/pages/coupon/components/coupon-card/index.js
+++ /dev/null
@@ -1,57 +0,0 @@
-const statusMap = {
- default: { text: '去使用', theme: 'primary' },
- useless: { text: '已使用', theme: 'default' },
- disabled: { text: '已过期', theme: 'default' },
-};
-Component({
- options: {
- addGlobalClass: true,
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
- },
-
- externalClasses: ['coupon-class'],
-
- properties: {
- couponDTO: {
- type: Object,
- value: {}, // 优惠券数据
- },
- },
-
- data: {
- btnText: '',
- btnTheme: '',
- },
-
- observers: {
- couponDTO: function (couponDTO) {
- if (!couponDTO) {
- return;
- }
- const statusInfo = statusMap[couponDTO.status];
-
- this.setData({
- btnText: statusInfo.text,
- btnTheme: statusInfo.theme,
- });
- },
- },
-
- attached() {},
-
- methods: {
- // 跳转到详情页
- gotoDetail() {
- wx.navigateTo({
- url: `/pages/coupon/coupon-detail/index?id=${this.data.couponDTO.key}`,
- });
- },
-
- // 跳转到商品列表
- gotoGoodsList() {
- wx.navigateTo({
- url: `/pages/coupon/coupon-activity-goods/index?id=${this.data.couponDTO.key}`,
- });
- },
- },
-});
diff --git a/pages/coupon/components/coupon-card/index.json b/pages/coupon/components/coupon-card/index.json
deleted file mode 100644
index 2d851d1..0000000
--- a/pages/coupon/components/coupon-card/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "ui-coupon-card": "../ui-coupon-card/index",
- "t-button": "tdesign-miniprogram/button/button"
- }
-}
diff --git a/pages/coupon/components/coupon-card/index.wxml b/pages/coupon/components/coupon-card/index.wxml
deleted file mode 100644
index 3c8315e..0000000
--- a/pages/coupon/components/coupon-card/index.wxml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- {{btnText}}
-
-
-
-
diff --git a/pages/coupon/components/coupon-card/index.wxss b/pages/coupon/components/coupon-card/index.wxss
deleted file mode 100644
index 666e4b4..0000000
--- a/pages/coupon/components/coupon-card/index.wxss
+++ /dev/null
@@ -1,12 +0,0 @@
-.coupon-btn-slot .coupon-btn-primary {
- width: 136rpx;
- height: 56rpx;
- border-radius: 28rpx;
- background-color: transparent;
- border-color: #fa4126;
- color: #fa4126;
-}
-
-.coupon-btn-default {
- display: none;
-}
diff --git a/pages/coupon/components/floating-button/index.js b/pages/coupon/components/floating-button/index.js
deleted file mode 100644
index f29bcad..0000000
--- a/pages/coupon/components/floating-button/index.js
+++ /dev/null
@@ -1,17 +0,0 @@
-Component({
- data: { icon: 'cart' },
-
- properties: {
- count: {
- type: Number,
- },
- },
-
- methods: {
- goToCart() {
- wx.switchTab({
- url: '/pages/cart/index',
- });
- },
- },
-});
diff --git a/pages/coupon/components/floating-button/index.wxml b/pages/coupon/components/floating-button/index.wxml
deleted file mode 100644
index 7f1a9e7..0000000
--- a/pages/coupon/components/floating-button/index.wxml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- {{count}}
-
-
-
diff --git a/pages/coupon/components/floating-button/index.wxss b/pages/coupon/components/floating-button/index.wxss
deleted file mode 100644
index faad943..0000000
--- a/pages/coupon/components/floating-button/index.wxss
+++ /dev/null
@@ -1,30 +0,0 @@
-.floating-button {
- position: fixed;
- right: 20rpx;
- bottom: 108rpx;
-}
-
-.floating-button .floating-inner-container {
- display: flex;
- align-items: center;
- justify-content: center;
- height: 96rpx;
- width: 96rpx;
- background-color: rgba(0, 0, 0, 0.8);
- opacity: 0.7;
- border-radius: 48rpx;
-}
-
-.floating-button .floating-right-top {
- position: absolute;
- right: 0rpx;
- top: 0rpx;
- height: 28rpx;
- background: #fa4126;
- border-radius: 64rpx;
- font-weight: bold;
- font-size: 22rpx;
- line-height: 28rpx;
- color: #fff;
- padding: 0 8rpx;
-}
diff --git a/pages/coupon/components/ui-coupon-card/index.js b/pages/coupon/components/ui-coupon-card/index.js
deleted file mode 100644
index 9101be8..0000000
--- a/pages/coupon/components/ui-coupon-card/index.js
+++ /dev/null
@@ -1,87 +0,0 @@
-Component({
- options: {
- addGlobalClass: true,
- multipleSlots: true,
- },
-
- externalClasses: ['coupon-class'],
-
- properties: {
- mask: {
- type: Boolean,
- value: false, // 是否添加遮罩
- },
- superposable: {
- type: Boolean,
- value: false, // 是否可叠加
- },
- type: {
- type: String,
- value: '', // 优惠券类型:CouponType
- },
- value: {
- type: String,
- value: '', // 优惠金额
- },
- tag: {
- type: String,
- value: '', // 优惠标签,优惠券名字标签,img
- },
- desc: {
- type: String,
- value: '', // 优惠金额描述,金额下方
- },
- title: {
- type: String, // 优惠券名称
- value: '',
- },
- timeLimit: {
- type: String, // 优惠券时限
- value: '',
- },
- ruleDesc: {
- type: String, // 优惠券适用规则描述
- value: '',
- },
- currency: {
- type: String,
- value: '¥', // 优惠货币
- },
- status: {
- type: String,
- value: 'default',
- },
- image: {
- type: String,
- value: '',
- },
- },
-
- data: {
- CouponType: {
- MJ_COUPON: 1,
- ZK_COUPON: 2,
- MJF_COUPON: 3,
- GIFT_COUPON: 4,
- },
- theme: 'primary',
- },
-
- observers: {
- status: function (value) {
- let theme = 'primary';
- // 已过期或已使用的券 颜色置灰
- if (value === 'useless' || value === 'disabled') {
- theme = 'weak';
- }
-
- this.setData({ theme });
- },
- },
-
- attached() {
- this.setData({
- color: `color${this.properties.colorStyle}`,
- });
- },
-});
diff --git a/pages/coupon/components/ui-coupon-card/index.json b/pages/coupon/components/ui-coupon-card/index.json
deleted file mode 100644
index dd874c8..0000000
--- a/pages/coupon/components/ui-coupon-card/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-image": "/components/webp-image/index"
- }
-}
\ No newline at end of file
diff --git a/pages/coupon/components/ui-coupon-card/index.wxml b/pages/coupon/components/ui-coupon-card/index.wxml
deleted file mode 100644
index baf53d9..0000000
--- a/pages/coupon/components/ui-coupon-card/index.wxml
+++ /dev/null
@@ -1,54 +0,0 @@
-
- function isBigValue(value) {
- var values = (value + '').split('.');
- if (values[1] && values[0].length >= 3) return true;
- else return false
- }
-
- function getBigValues(value) {
- return value.split('.');
- }
-
- module.exports = { isBigValue: isBigValue, getBigValues: getBigValues };
-
-
-
-
- {{value}}
- 折
- {{desc}}
-
-
-
- {{tools.getBigValues(value)[0]}}
- .{{tools.getBigValues(value)[1]}}
-
- {{value / 100}}
- 元
- {{desc}}
-
-
- 免邮
- {{desc}}
-
-
-
-
-
-
-
- {{title}}
- {{timeLimit}}
-
- {{ruleDesc}}
-
-
-
-
-
-
-
-
- 可叠加
-
-
diff --git a/pages/coupon/components/ui-coupon-card/index.wxss b/pages/coupon/components/ui-coupon-card/index.wxss
deleted file mode 100644
index 0ef9648..0000000
--- a/pages/coupon/components/ui-coupon-card/index.wxss
+++ /dev/null
@@ -1,147 +0,0 @@
-.wr-coupon {
- display: flex;
- background-image: url('https://cdn-we-retail.ym.tencent.com/miniapp/coupon/coupon-bg-nocorners.png');
- background-size: 100% 100%;
- background-repeat: no-repeat;
- position: relative;
- margin-bottom: 24rpx;
- overflow: hidden;
-}
-.theme-weak.wr-coupon {
- background-image: url('https://cdn-we-retail.ym.tencent.com/miniapp/coupon/coupon-bg-grey2.png');
-}
-
-.wr-coupon__left {
- width: 200rpx;
- height: 180rpx;
- display: flex;
- flex-direction: column;
- justify-content: center;
- text-align: center;
- color: #fa4126;
- overflow: hidden;
- position: relative;
-}
-.theme-weak .wr-coupon__left {
- color: #333;
-}
-
-.wr-coupon__left--value {
- font-size: 64rpx;
- line-height: 88rpx;
- font-weight: bold;
- font-family: 'DIN Alternate', cursive;
-}
-.wr-coupon__left--value-int {
- font-size: 48rpx;
- line-height: 88rpx;
-}
-.wr-coupon__left--value-decimal {
- font-size: 36rpx;
- line-height: 48rpx;
-}
-.wr-coupon__left--image {
- width: 128rpx;
- height: 128rpx;
- border-radius: 8px;
- margin-top: 30rpx;
-}
-.wr-coupon__left--unit {
- font-size: 24rpx;
- line-height: 32rpx;
-}
-.wr-coupon__left--desc {
- font-size: 24rpx;
- line-height: 32rpx;
- color: #fa4126;
-}
-
-.theme-weak .wr-coupon__left--desc {
- color: #333;
-}
-
-.wr-coupon__right {
- flex-grow: 1;
- padding: 0 20rpx;
- height: 180rpx;
- box-sizing: border-box;
- overflow: hidden;
- display: flex;
- align-items: center;
-}
-.wr-coupon__right--title {
- display: flex;
- -webkit-display: flex;
- flex-direction: column;
- align-items: flex-start;
- color: #999999;
- font-size: 24rpx;
- flex: 1;
-}
-.wr-coupon__right--title .coupon-title {
- max-width: 320rpx;
- color: #333333;
- font-size: 28rpx;
- line-height: 40rpx;
- font-weight: bold;
- display: -webkit-box;
- -webkit-line-clamp: 1;
- -webkit-box-orient: vertical;
- overflow: hidden;
- white-space: normal;
-}
-.wr-coupon__right--title .coupon-time {
- margin-top: 16rpx;
- /* // letter-spacing: -0.05em; */
-}
-.wr-coupon__right--title .coupon-desc {
- margin-top: 8rpx;
-}
-.wr-coupon__right--title .coupon-arrow {
- font-size: 22rpx;
-}
-.wr-coupon__right--oper {
- display: flex;
- justify-content: center;
- align-items: center;
-}
-.wr-coupon__mask {
- width: 702rpx;
- height: 182rpx;
- position: absolute;
- top: 0;
- left: 0;
- background-color: #ffffff;
- opacity: 0.5;
-}
-.wr-coupon__tag {
- position: absolute;
- top: 8px;
- right: -24rpx;
- text-align: center;
- width: 106rpx;
- height: 28rpx;
- opacity: 0.9;
- font-size: 20rpx;
- line-height: 28rpx;
- color: #fa4126;
- border: 0.5px solid #fa4126;
- box-sizing: border-box;
- transform: rotate(45deg);
-}
-.wr-coupon__seal {
- width: 128rpx;
- height: 128rpx;
- position: absolute;
- top: 0;
- right: 0;
- background-size: 100% 100%;
-}
-
-.wr-coupon__seal.seal-useless {
- background-image: url('https://cdn-we-retail.ym.tencent.com/miniapp/coupon/seal-used.png');
-}
-
-.wr-coupon__seal.seal-disabled {
- background-image: url('https://cdn-we-retail.ym.tencent.com/miniapp/coupon/coupon-expired.png');
-}
diff --git a/pages/coupon/coupon-activity-goods/index.js b/pages/coupon/coupon-activity-goods/index.js
deleted file mode 100644
index bf08d36..0000000
--- a/pages/coupon/coupon-activity-goods/index.js
+++ /dev/null
@@ -1,78 +0,0 @@
-import { fetchCouponDetail } from '../../../services/coupon/index';
-import { fetchGoodsList } from '../../../services/good/fetchGoods';
-import Toast from 'tdesign-miniprogram/toast/index';
-
-Page({
- data: {
- goods: [],
- detail: {},
- couponTypeDesc: '',
- showStoreInfoList: false,
- cartNum: 2,
- },
-
- id: '',
-
- onLoad(query) {
- const id = parseInt(query.id);
- this.id = id;
-
- this.getCouponDetail(id);
- this.getGoodsList(id);
- },
-
- getCouponDetail(id) {
- fetchCouponDetail(id).then(({ detail }) => {
- this.setData({ detail });
- if (detail.type === 2) {
- if (detail.base > 0) {
- this.setData({
- couponTypeDesc: `满${detail.base / 100}元${detail.value}折`,
- });
- } else {
- this.setData({ couponTypeDesc: `${detail.value}折` });
- }
- } else if (detail.type === 1) {
- if (detail.base > 0) {
- this.setData({
- couponTypeDesc: `满${detail.base / 100}元减${detail.value / 100}元`,
- });
- } else {
- this.setData({ couponTypeDesc: `减${detail.value / 100}元` });
- }
- }
- });
- },
-
- getGoodsList(id) {
- fetchGoodsList(id).then((goods) => {
- this.setData({ goods });
- });
- },
-
- openStoreList() {
- this.setData({
- showStoreInfoList: true,
- });
- },
-
- closeStoreList() {
- this.setData({
- showStoreInfoList: false,
- });
- },
-
- goodClickHandle(e) {
- const { index } = e.detail;
- const { spuId } = this.data.goods[index];
- wx.navigateTo({ url: `/pages/goods/details/index?spuId=${spuId}` });
- },
-
- cartClickHandle() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '点击加入购物车',
- });
- },
-});
diff --git a/pages/coupon/coupon-activity-goods/index.json b/pages/coupon/coupon-activity-goods/index.json
deleted file mode 100644
index 31cf9c3..0000000
--- a/pages/coupon/coupon-activity-goods/index.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "navigationBarTitleText": "活动商品",
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "goods-list": "/components/goods-list/index",
- "floating-button": "../components/floating-button/index"
- }
-}
\ No newline at end of file
diff --git a/pages/coupon/coupon-activity-goods/index.wxml b/pages/coupon/coupon-activity-goods/index.wxml
deleted file mode 100644
index a10ddd0..0000000
--- a/pages/coupon/coupon-activity-goods/index.wxml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
- 以下商品可使用
- {{couponTypeDesc}}
- 优惠券
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/coupon/coupon-activity-goods/index.wxss b/pages/coupon/coupon-activity-goods/index.wxss
deleted file mode 100644
index be5fdaf..0000000
--- a/pages/coupon/coupon-activity-goods/index.wxss
+++ /dev/null
@@ -1,74 +0,0 @@
-page {
- background-color: #f5f5f5;
-}
-
-.coupon-page-container .notice-bar-content {
- display: flex;
- flex-direction: row;
- align-items: center;
- padding: 8rpx 0;
-}
-
-.coupon-page-container .notice-bar-text {
- font-size: 26rpx;
- line-height: 36rpx;
- font-weight: 400;
- color: #666666;
- margin-left: 24rpx;
-}
-
-.coupon-page-container .notice-bar-text .height-light {
- color: #fa550f;
-}
-
-.coupon-page-container .notice-bar-icon {
- margin-left: 12rpx;
- height: 68rpx;
- line-height: 68rpx !important;
-}
-
-.coupon-page-container .popup-content-wrap {
- background-color: #fff;
- border-top-left-radius: 20rpx;
- border-top-right-radius: 20rpx;
-}
-
-.coupon-page-container .popup-content-title {
- font-size: 32rpx;
- color: #333;
- text-align: center;
- height: 104rpx;
- line-height: 104rpx;
- position: relative;
-}
-
-.coupon-page-container .desc-group-wrap {
- padding-bottom: env(safe-area-inset-bottom);
-}
-
-.coupon-page-container .desc-group-wrap .item-wrap {
- margin: 0 30rpx 30rpx;
-}
-
-.coupon-page-container .desc-group-wrap .item-title {
- font-size: 26rpx;
- color: #333;
- font-weight: 500;
-}
-
-.coupon-page-container .desc-group-wrap .item-label {
- font-size: 24rpx;
- color: #666;
- margin-top: 12rpx;
- white-space: pre-line;
- word-break: break-all;
- line-height: 34rpx;
-}
-
-.coupon-page-container .goods-list-container {
- margin: 0 24rpx 24rpx;
-}
-
-.coupon-page-container .goods-list-wrap {
- background: #f5f5f5 !important;
-}
diff --git a/pages/coupon/coupon-detail/index.js b/pages/coupon/coupon-detail/index.js
deleted file mode 100644
index 71ff5d6..0000000
--- a/pages/coupon/coupon-detail/index.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import { fetchCouponDetail } from '../../../services/coupon/index';
-
-Page({
- data: {
- detail: null,
- storeInfoList: [],
- storeInfoStr: '',
- showStoreInfoList: false,
- },
-
- id: '',
-
- onLoad(query) {
- const id = parseInt(query.id);
- this.id = id;
- this.getGoodsList(id);
- },
-
- getGoodsList(id) {
- fetchCouponDetail(id).then(({ detail }) => {
- this.setData({
- detail,
- });
- });
- },
-
- navGoodListHandle() {
- wx.navigateTo({
- url: `/pages/coupon/coupon-activity-goods/index?id=${this.id}`,
- });
- },
-});
diff --git a/pages/coupon/coupon-detail/index.json b/pages/coupon/coupon-detail/index.json
deleted file mode 100644
index d419a0b..0000000
--- a/pages/coupon/coupon-detail/index.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "navigationBarTitleText": "优惠券详情",
- "usingComponents": {
- "coupon-card": "../components/coupon-card/index",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-button": "tdesign-miniprogram/button/button",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ No newline at end of file
diff --git a/pages/coupon/coupon-detail/index.wxml b/pages/coupon/coupon-detail/index.wxml
deleted file mode 100644
index 5d1b906..0000000
--- a/pages/coupon/coupon-detail/index.wxml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 查看可用商品
-
-
-
-
diff --git a/pages/coupon/coupon-detail/index.wxss b/pages/coupon/coupon-detail/index.wxss
deleted file mode 100644
index eddcf25..0000000
--- a/pages/coupon/coupon-detail/index.wxss
+++ /dev/null
@@ -1,100 +0,0 @@
-page {
- background-color: #f5f5f5;
-}
-
-.coupon-card-wrap {
- background-color: #fff;
- padding: 32rpx 32rpx 1rpx;
-}
-.desc-wrap {
- margin-top: 24rpx;
-}
-.desc-wrap .button-wrap .view-good-list-btn {
- width: 686rpx;
- height: 88rpx;
- margin-top: 50rpx;
- background: #fa4126;
- border-radius: 44rpx;
- color: #fff;
- font-size: 32rpx;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.desc-group-wrap .t-class-cell {
- align-items: flex-start;
-}
-
-.desc-group-wrap .t-class-title {
- font-size: 26rpx;
- width: 140rpx;
- flex: none;
- color: #888;
-}
-
-.desc-group-wrap .t-class-note {
- font-size: 26rpx;
- word-break: break-all;
- white-space: pre-line;
- justify-content: flex-start;
- color: #333;
-}
-
-.desc-group-wrap {
- border-radius: 8rpx;
- overflow: hidden;
-
- --cell-label-font-size: 26rpx;
- --cell-label-line-height: 36rpx;
- --cell-label-color: #999;
-}
-
-.desc-group-wrap.in-popup {
- border-radius: 0;
- overflow: auto;
- max-height: 828rpx;
-}
-
-.desc-group-wrap .wr-cell__title {
- color: #333;
- font-size: 28rpx;
-}
-
-/* .desc-group-wrap .max-width-cell {
- overflow: hidden;
-} */
-
-/* .desc-group-wrap .signal-line-label {
- word-break: keep-all;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.desc-group-wrap .multi-line-label {
- word-break: break-all;
- white-space: pre-line;
-} */
-
-.popup-content-wrap {
- background-color: #fff;
- border-top-left-radius: 20rpx;
- border-top-right-radius: 20rpx;
-}
-
-.popup-content-title {
- font-size: 32rpx;
- color: #333;
-
- text-align: center;
- height: 104rpx;
- line-height: 104rpx;
-
- position: relative;
-}
-
-.popup-content-title .close-icon {
- position: absolute;
- top: 24rpx;
- right: 24rpx;
-}
diff --git a/pages/coupon/coupon-list/index.js b/pages/coupon/coupon-list/index.js
deleted file mode 100644
index f3b8675..0000000
--- a/pages/coupon/coupon-list/index.js
+++ /dev/null
@@ -1,77 +0,0 @@
-import { fetchCouponList } from '../../../services/coupon/index';
-
-Page({
- data: {
- status: 0,
- list: [
- {
- text: '可使用',
- key: 0,
- },
- {
- text: '已使用',
- key: 1,
- },
- {
- text: '已失效',
- key: 2,
- },
- ],
-
- couponList: [],
- },
-
- onLoad() {
- this.init();
- },
-
- init() {
- this.fetchList();
- },
-
- fetchList(status = this.data.status) {
- let statusInFetch = '';
- switch (Number(status)) {
- case 0: {
- statusInFetch = 'default';
- break;
- }
- case 1: {
- statusInFetch = 'useless';
- break;
- }
- case 2: {
- statusInFetch = 'disabled';
- break;
- }
- default: {
- throw new Error(`unknown fetchStatus: ${statusInFetch}`);
- }
- }
- fetchCouponList(statusInFetch).then((couponList) => {
- this.setData({ couponList });
- });
- },
-
- tabChange(e) {
- const { value } = e.detail;
-
- this.setData({ status: value });
- this.fetchList(value);
- },
-
- goCouponCenterHandle() {
- wx.showToast({ title: '去领券中心', icon: 'none' });
- },
-
- onPullDownRefresh_() {
- this.setData(
- {
- couponList: [],
- },
- () => {
- this.fetchList();
- },
- );
- },
-});
diff --git a/pages/coupon/coupon-list/index.json b/pages/coupon/coupon-list/index.json
deleted file mode 100644
index c09d584..0000000
--- a/pages/coupon/coupon-list/index.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "navigationBarTitleText": "优惠券",
- "usingComponents": {
- "t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh",
- "t-tabs": "tdesign-miniprogram/tabs/tabs",
- "t-tab-panel": "tdesign-miniprogram/tabs/tab-panel",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "coupon-card": "../components/coupon-card/index"
- }
-}
\ No newline at end of file
diff --git a/pages/coupon/coupon-list/index.wxml b/pages/coupon/coupon-list/index.wxml
deleted file mode 100644
index 391fe7b..0000000
--- a/pages/coupon/coupon-list/index.wxml
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- 领券中心
-
-
-
-
-
diff --git a/pages/coupon/coupon-list/index.wxss b/pages/coupon/coupon-list/index.wxss
deleted file mode 100644
index 9ee2b9d..0000000
--- a/pages/coupon/coupon-list/index.wxss
+++ /dev/null
@@ -1,78 +0,0 @@
-page {
- height: 100%;
-}
-
-.tabs-external__inner {
- height: 88rpx;
- width: 100%;
- line-height: 88rpx;
- z-index: 100;
-}
-.tabs-external__inner {
- font-size: 26rpx;
- color: #333333;
- position: fixed;
- width: 100vw;
- top: 0;
- left: 0;
-}
-
-.tabs-external__inner .tabs-external__track {
- background: #fa4126 !important;
-}
-
-.tabs-external__inner .tabs-external__item {
- color: #666;
-}
-
-.tabs-external__inner .tabs-external__active {
- font-size: 28rpx;
- color: #fa4126 !important;
-}
-
-.tabs-external__inner.order-nav .order-nav-item .bottom-line {
- bottom: 12rpx;
-}
-
-.coupon-list-wrap {
- margin-top: 108rpx;
- margin-left: 24rpx;
- margin-right: 24rpx;
- overflow-y: auto;
- padding-bottom: 100rpx;
- padding-bottom: calc(constant(safe-area-inset-top) + 100rpx);
- padding-bottom: calc(env(safe-area-inset-bottom) + 100rpx);
- -webkit-overflow-scrolling: touch;
-}
-
-.center-entry {
- box-sizing: content-box;
- border-top: 1rpx solid #dce0e4;
- background-color: #fff;
- position: fixed;
- bottom: 0;
- left: 0;
- right: 0;
- height: 100rpx;
- padding-bottom: 0;
- padding-bottom: constant(safe-area-inset-top);
- padding-bottom: env(safe-area-inset-bottom);
-}
-
-.center-entry-btn {
- color: #fa4126;
- font-size: 32rpx;
- text-align: center;
- line-height: 100rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- height: 100rpx;
-}
-
-.coupon-list-wrap .t-pull-down-refresh__bar {
- background: #fff !important;
-}
-.t-class-indicator {
- color: #b9b9b9 !important;
-}
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/README.md b/pages/goods/category/components/goods-category/components/c-sidebar/README.md
deleted file mode 100644
index 88d7b0b..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/README.md
+++ /dev/null
@@ -1,95 +0,0 @@
-# Sidebar 侧边导航
-
-### 引入
-
-全局引入,在miniprogram根目录下的`app.json`中配置,局部引入,在需要引入的页面或组件的`index.json`中配置。
-
-```json
-// app.json 或 index.json
-"usingComponents": {
- "wr-sidebar": "path/to/components/goods-category/wr-sidebar/index",
- "wr-sidebar-item": "path/to/component/goods-category/wr-sidebar/wr-sidebar-item/index"
-}
-```
-
-## 代码演示
-
-### 基础用法
-
-通过在`wr-sidebar`上设置`activeKey`属性来控制选中项
-
-```html
-
-
-
-
-
-```
-
-``` javascript
-Page({
- data: {
- activeKey: 0
- },
-
- onChange(event) {
- wx.showToast({
- icon: 'none',
- title: `切换至第${event.detail}项`
- });
- }
-});
-```
-
-### 提示气泡(暂未实现)
-
-设置`dot`属性后,会在右上角展示一个小红点。设置`info`属性后,会在右上角展示相应的徽标
-
-```html
-
-
-
-
-
-```
-
-## API
-
-### Sidebar Props
-
-| 参数 | 说明 | 类型 | 默认值 | 版本 |
-|-----------|-----------|-----------|-------------|-------------|
-| activeKey | 选中项的索引 | *string \| number* | `0` | - |
-
-### Sidebar Event
-
-| 事件名 | 说明 | 参数 |
-|------|------|------|
-| change | 切换选项时触发 | 当前选中选项的索引 |
-
-### Sidebar 外部样式类
-
-| 类名 | 说明 |
-|-----------|-----------|
-| custom-class | 根节点样式类 |
-
-### SidebarItem Props
-
-| 参数 | 说明 | 类型 | 默认值 | 版本 |
-|-----------|-----------|-----------|-------------|-------------|
-| title | 内容 | *string* | `''` | - |
-| disabled | 是否禁用 | | *boolean* | `false` | - |
-| dot | 是否显示右上角小红点 | *boolean* | `false` | - |
-| info | 提示消息 | *string \| number* | `''` | - |
-
-### SidebarItem Event
-
-| 事件名 | 说明 | 参数 |
-|------|------|------|
-| click | 点击徽章时触发 | 当前徽章的索引 |
-
-### SidebarItem 外部样式类
-
-| 类名 | 说明 |
-|-----------|-----------|
-| custom-class | 根节点样式类 |
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.js b/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.js
deleted file mode 100644
index 810d5e5..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.js
+++ /dev/null
@@ -1,51 +0,0 @@
-Component({
- relations: {
- '../../c-sidebar/index': {
- type: 'ancestor',
- linked(target) {
- this.parent = target;
- },
- },
- },
-
- externalClasses: ['custom-class'],
- properties: {
- title: String,
- disabled: Boolean,
- },
-
- data: {
- topRightRadius: false,
- bottomRightRadius: false,
- },
-
- methods: {
- setActive(selected) {
- return this.setData({ selected });
- },
- onClick() {
- const { parent } = this;
-
- if (!parent || this.properties.disabled) {
- return;
- }
-
- const index = parent.children.indexOf(this);
-
- parent.setActive(index).then(() => {
- this.triggerEvent('click', index);
- parent.triggerEvent('change', { index });
- });
- },
- setTopRightRadius(val) {
- return this.setData({
- topRightRadius: val,
- });
- },
- setBottomRightRadius(val) {
- return this.setData({
- bottomRightRadius: val,
- });
- },
- },
-});
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.json b/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.wxml b/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.wxml
deleted file mode 100644
index 435f1e9..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.wxml
+++ /dev/null
@@ -1,10 +0,0 @@
-
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.wxss b/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.wxss
deleted file mode 100644
index 28d50dc..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.wxss
+++ /dev/null
@@ -1,60 +0,0 @@
-.c-sidebar-item {
- display: flex;
- justify-content: center;
- text-align: center;
- background-color: #f5f5f5;
- color: #222427;
- padding: 20rpx 0;
- font-size: 26rpx;
-}
-
-.c-sidebar-item.active {
- position: relative;
- background: white;
-}
-
-.c-sidebar-item.active::before {
- content: '';
- position: absolute;
- width: 6rpx;
- height: 48rpx;
- background-color: #fa4126;
- left: 0;
- top: 50%;
- transform: translate(0, -50%);
- border-radius: 64rpx;
-}
-
-.c-sidebar-item__text {
- width: 136rpx;
- height: 36rpx;
- padding: 8rpx 0;
- line-height: 36rpx;
- text-align: center;
- font-size: 28rpx;
- color: #666666;
-}
-
-.c-sidebar-item.active .c-sidebar-item__text {
- background-color: white;
- border-radius: 36rpx;
- color: #fa4126;
-}
-
-.text-overflow {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.top-right-radius {
- border-top-right-radius: 16rpx;
-}
-
-.bottom-right-radius {
- border-bottom-right-radius: 16rpx;
-}
-
-.c-sidebar-item-container {
- background-color: white;
-}
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/index.js b/pages/goods/category/components/goods-category/components/c-sidebar/index.js
deleted file mode 100644
index b057ad1..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/index.js
+++ /dev/null
@@ -1,106 +0,0 @@
-Component({
- relations: {
- './c-sidebar-item/index': {
- type: 'descendant',
- linked(target) {
- this.children.push(target);
- this.setActive(this.properties.activeKey, true);
- },
- unlinked(target) {
- this.children = this.children.filter((item) => item !== target);
- this.setActive(this.properties.activeKey, true);
- },
- },
- },
-
- externalClasses: ['custom-class'],
-
- properties: {
- activeKey: {
- type: Number,
- value: 0,
- },
- },
- observers: {
- activeKey(newVal) {
- this.setActive(newVal);
- },
- },
-
- created() {
- this.children = [];
- this.currentActive = -1;
- this.topRightRadiusItemIndexs = [];
- this.bottomRightRadiusItemIndexs = [];
- },
-
- methods: {
- setActive(activeKey, isChildrenChange) {
- const {
- children,
- currentActive,
- topRightRadiusItemIndexs: preTopRightRadiusItemIndexs,
- bottomRightRadiusItemIndexs: preBottomRightRadiusItemIndexs,
- } = this;
-
- if (!children.length) {
- return Promise.resolve();
- }
-
- if (activeKey === currentActive && !isChildrenChange) {
- return Promise.resolve();
- }
-
- this.currentActive = activeKey;
- this.topRightRadiusItemIndexs = this.getTopRightRadiusItemIndexs(
- activeKey,
- children,
- );
- this.bottomRightRadiusItemIndexs = this.getBottomRightRadiusItemIndexs(
- activeKey,
- children,
- );
-
- const stack = []; // 任务列表,存放调用子组件的setActive后返回的一堆promise
-
- // 将旧的选中项改为false
- if (currentActive !== activeKey && children[currentActive]) {
- stack.push(children[currentActive].setActive(false));
- }
-
- // 将新的选中项改为true
- if (children[activeKey]) {
- stack.push(children[activeKey].setActive(true));
- }
-
- preTopRightRadiusItemIndexs.forEach((item) => {
- stack.push(children[item].setTopRightRadius(false));
- });
-
- preBottomRightRadiusItemIndexs.forEach((item) => {
- stack.push(children[item].setBottomRightRadius(false));
- });
-
- this.topRightRadiusItemIndexs.forEach((item) => {
- stack.push(children[item].setTopRightRadius(true));
- });
-
- this.bottomRightRadiusItemIndexs.forEach((item) => {
- stack.push(children[item].setBottomRightRadius(true));
- });
-
- return Promise.all(stack);
- },
- getTopRightRadiusItemIndexs(activeKey, children) {
- const { length } = children;
- if (activeKey !== 0 && activeKey < length - 1) return [0, activeKey + 1];
- if (activeKey !== 0) return [0];
- if (activeKey < length - 1) return [activeKey + 1];
- return [];
- },
- getBottomRightRadiusItemIndexs(activeKey) {
- if (activeKey !== 0) return [activeKey - 1];
- return [];
- },
- },
-});
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/index.json b/pages/goods/category/components/goods-category/components/c-sidebar/index.json
deleted file mode 100644
index 84ff738..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true
-}
-
\ No newline at end of file
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/index.wxml b/pages/goods/category/components/goods-category/components/c-sidebar/index.wxml
deleted file mode 100644
index a1fe026..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/index.wxml
+++ /dev/null
@@ -1,3 +0,0 @@
-
diff --git a/pages/goods/category/components/goods-category/components/c-sidebar/index.wxss b/pages/goods/category/components/goods-category/components/c-sidebar/index.wxss
deleted file mode 100644
index 95e59ff..0000000
--- a/pages/goods/category/components/goods-category/components/c-sidebar/index.wxss
+++ /dev/null
@@ -1,9 +0,0 @@
-.c-sidebar {
- width: 176rpx;
- height: 100vh;
-}
-.c-sidebar::-webkit-scrollbar {
- width: 0;
- height: 0;
- color: transparent;
-}
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.js b/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.js
deleted file mode 100644
index 2b6f95d..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.js
+++ /dev/null
@@ -1,37 +0,0 @@
-Component({
- externalClasses: ['custom-class'],
-
- properties: {
- tabList: Array,
- },
-
- data: {
- unfolded: false,
- boardMaxHeight: null,
- },
- attached() {
- wx.createSelectorQuery()
- .in(this)
- .select('.c-tabbar-more')
- .boundingClientRect((rect) => {
- this.setData({ boardMaxHeight: rect.height });
- })
- .exec();
- },
-
- methods: {
- changeFold() {
- this.setData({
- unfolded: !this.data.unfolded,
- });
- const { unfolded } = this.data;
- this.triggerEvent('change', { unfolded });
- },
-
- onSelect(event) {
- const activeKey = event.currentTarget.dataset.index;
- this.triggerEvent('select', activeKey);
- this.changeFold();
- },
- },
-});
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.json b/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.json
deleted file mode 100644
index a89ef4d..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.wxml b/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.wxml
deleted file mode 100644
index 0ea9ad4..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.wxml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.name }}
-
-
-
-
-
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.wxss b/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.wxss
deleted file mode 100644
index d0d08b3..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.wxss
+++ /dev/null
@@ -1,63 +0,0 @@
-.c-tabbar-more {
- width: 100%;
- height: calc(100% - var(--tabbar-height, 100rpx));
- position: absolute;
- top: var(--tabbar-height, 100rpx);
-}
-.c-tabbar-more__btn {
- position: absolute;
- top: calc(0rpx - var(--tabbar-height, 100rpx));
- right: 0;
- width: 80rpx;
- height: var(--tabbar-height, 100rpx);
- line-height: var(--tabbar-height, 100rpx);
- background-color: var(--tabbar-background-color, white);
- box-shadow: -20rpx 0 20rpx -10rpx var(--tabbar-background-color, white);
- text-align: center;
-}
-.c-tabbar-more__btn .market {
- font-size: 20rpx;
-}
-.t-tabbar-more__boardwrapper {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-.t-tabbar-more__mask {
- width: 100%;
- height: 100%;
- background-color: rgba(0, 0, 0, 0.5);
-}
-.c-tabbar-more__board {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- max-height: 100%;
-}
-.c-tabbar-more__boardinner {
- padding: 20rpx 0 20rpx 20rpx;
- background-color: var(--tabbar-background-color, white);
- display: flex;
- flex-flow: row wrap;
-}
-.c-tabbar-more__item {
- margin: 0 20rpx 20rpx 0;
- flex: 0 0 calc((100% - 60rpx) / 3);
- box-sizing: border-box;
- padding: 0 10rpx;
- border-radius: 30rpx;
- height: 60rpx;
- line-height: 60rpx;
- text-align: center;
- font-size: 22rpx;
- color: #5d5d5d;
- background-color: #eee;
-}
-.text-overflow {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/index.js b/pages/goods/category/components/goods-category/components/c-tabbar/index.js
deleted file mode 100644
index ddf6367..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/index.js
+++ /dev/null
@@ -1,68 +0,0 @@
-Component({
- externalClasses: ['custom-class'],
-
- properties: {
- activeKey: {
- type: Number,
- value: 0,
- },
- tabList: {
- type: Array,
- value: [],
- },
- showMore: Boolean, // 是否需要下拉功能
- },
- observers: {
- activeKey(newVal) {
- if (this.properties.tabList && newVal) {
- this.setActive(newVal).catch((e) => {
- console.error(e);
- });
- }
- },
- },
-
- data: {
- currentActive: -1,
- },
- attached() {
- this.setActive(this.properties.activeKey).catch((e) => {
- console.error(e);
- });
- },
-
- methods: {
- setActive(activeKey) {
- if (
- !this.properties.tabList[activeKey] ||
- this.properties.tabList[activeKey].disabled
- ) {
- return Promise.reject('数据异常或不可操作');
- }
- return new Promise((resolve) => {
- this.setData(
- {
- currentActive: activeKey,
- },
- () => resolve(),
- );
- });
- },
- onClick(event) {
- let activeKey;
- if (event.type === 'select') {
- activeKey = event.detail;
- } else {
- activeKey = event.currentTarget.dataset.index;
- }
- this.setActive(activeKey)
- .then(() => {
- const { currentActive } = this.data;
- this.triggerEvent('change', { index: currentActive });
- })
- .catch((e) => {
- console.error(e);
- });
- },
- },
-});
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/index.json b/pages/goods/category/components/goods-category/components/c-tabbar/index.json
deleted file mode 100644
index 644e632..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "c-tabbar-more": "./c-tabbar-more/index"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/index.wxml b/pages/goods/category/components/goods-category/components/c-tabbar/index.wxml
deleted file mode 100644
index 1227f88..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/index.wxml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
- {{ item.name }}
-
-
-
-
-
-
diff --git a/pages/goods/category/components/goods-category/components/c-tabbar/index.wxss b/pages/goods/category/components/goods-category/components/c-tabbar/index.wxss
deleted file mode 100644
index d89475f..0000000
--- a/pages/goods/category/components/goods-category/components/c-tabbar/index.wxss
+++ /dev/null
@@ -1,53 +0,0 @@
-.c-tabbar {
- width: 100%;
- height: 100%;
- position: relative;
- --tabbar-height: 100rpx;
- --tabbar-fontsize: 28rpx;
- --tabbar-background-color: white;
-}
-.c-tabbar__inner {
- display: flex;
- flex-flow: row nowrap;
-}
-.c-tabbar__scroll {
- position: relative;
-}
-.c-tabbar__scroll::after {
- content: '';
- display: block;
- position: absolute;
- width: 100%;
- left: 0;
- bottom: -1px;
- height: 1px;
- background-color: #eee;
- z-index: 1;
-}
-.c-tabbar__inner.c-tabbar__inner_more::after {
- content: '';
- display: block;
- width: 100rpx;
- height: 100rpx;
- flex: none;
-}
-.c-tabbar-item {
- flex: none;
- height: 100rpx;
- color: #282828;
- font-size: 28rpx;
- padding: 0 20rpx;
-}
-.c-tabbar-item.active:not(.disabled) {
- color: #0071ce;
- position: relative;
-}
-.c-tabbar-item.disabled {
- color: #ccc;
-}
-.c-tabbar-item__text {
- width: 100%;
- text-align: center;
- height: 100rpx;
- line-height: 100rpx;
-}
diff --git a/pages/goods/category/components/goods-category/index.js b/pages/goods/category/components/goods-category/index.js
deleted file mode 100644
index f622901..0000000
--- a/pages/goods/category/components/goods-category/index.js
+++ /dev/null
@@ -1,75 +0,0 @@
-Component({
- externalClasses: ['custom-class'],
-
- properties: {
- category: {
- type: Array,
- },
- initActive: {
- type: Array,
- value: [],
- observer(newVal, oldVal) {
- if (newVal[0] !== oldVal[0]) {
- this.setActiveKey(newVal[0], 0);
- }
- },
- },
- isSlotRight: {
- type: Boolean,
- value: false,
- },
- level: {
- type: Number,
- value: 3,
- },
- },
- data: {
- activeKey: 0,
- subActiveKey: 0,
- },
- attached() {
- if (this.properties.initActive && this.properties.initActive.length > 0) {
- this.setData({
- activeKey: this.properties.initActive[0],
- subActiveKey: this.properties.initActive[1] || 0,
- });
- }
- },
- methods: {
- onParentChange(event) {
- this.setActiveKey(event.detail.index, 0).then(() => {
- this.triggerEvent('change', [
- this.data.activeKey,
- this.data.subActiveKey,
- ]);
- });
- },
- onChildChange(event) {
- this.setActiveKey(this.data.activeKey, event.detail.index).then(() => {
- this.triggerEvent('change', [
- this.data.activeKey,
- this.data.subActiveKey,
- ]);
- });
- },
- changCategory(event) {
- const { item } = event.currentTarget.dataset;
- this.triggerEvent('changeCategory', {
- item,
- });
- },
- setActiveKey(key, subKey) {
- return new Promise((resolve) => {
- this.setData(
- {
- activeKey: key,
- subActiveKey: subKey,
- },
- () => {
- resolve();
- },
- );
- });
- },
- },
-});
diff --git a/pages/goods/category/components/goods-category/index.json b/pages/goods/category/components/goods-category/index.json
deleted file mode 100644
index 8ca3d3c..0000000
--- a/pages/goods/category/components/goods-category/index.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "c-tabbar": "./components/c-tabbar/index",
- "c-sidebar": "./components/c-sidebar/index",
- "c-sidebar-item": "./components/c-sidebar/c-sidebar-item/index",
- "t-image": "/components/webp-image/index"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/category/components/goods-category/index.wxml b/pages/goods/category/components/goods-category/index.wxml
deleted file mode 100644
index 1b0b83f..0000000
--- a/pages/goods/category/components/goods-category/index.wxml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
-
-
-
- {{subItem.name}}
-
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
-
-
-
-
-
-
-
diff --git a/pages/goods/category/components/goods-category/index.wxss b/pages/goods/category/components/goods-category/index.wxss
deleted file mode 100644
index fbf4569..0000000
--- a/pages/goods/category/components/goods-category/index.wxss
+++ /dev/null
@@ -1,102 +0,0 @@
-.goods-category {
- display: flex;
-}
-
-.custom-sidebar {
- height: 100%;
-}
-
-.goods-category__right {
- height: 100%;
- flex: auto;
- width: 0;
- position: relative;
- overflow: scroll;
- -webkit-overflow-scrolling: touch;
- background-color: white;
-}
-
-.flex {
- display: flex;
-}
-
-.goods-category-normal {
- margin: 28rpx 34rpx 0rpx 32rpx;
-}
-
-.goods-category-normal-item-title {
- font-size: 28rpx;
- font-weight: 500;
-}
-
-.goods-category-normal-item-container {
- background-color: #fff;
- border-radius: 8rpx;
- padding-top: 28rpx;
- margin-top: -24rpx;
- margin-bottom: 30rpx;
- display: flex;
- flex-wrap: wrap;
-}
-
-.goods-category-normal-item-container-item {
- height: 196rpx;
- display: flex;
- flex-direction: column;
- align-items: center;
- margin-top: 24rpx;
- width: 33.3%;
-}
-
-.goods-category-normal-item-container-item .image {
- width: 144rpx;
- height: 144rpx;
-}
-
-.goods-category-normal-item-container-item-title {
- justify-content: center;
- font-size: 24rpx;
- color: #666666;
- margin-top: 20rpx;
-}
-
-.goods-category .custom-sidebar {
- background-color: #f5f5f5;
-}
-
-.custom-sidebar {
- width: 180rpx;
- height: 100vh;
-}
-
-.custom-sidebar::-webkit-scrollbar {
- width: 0;
- height: 0;
- color: transparent;
-}
-
-.goods-category-normal-item-second-container {
- background-color: #fff;
- border-radius: 8rpx;
- margin-top: 8rpx;
- margin-bottom: 30rpx;
- display: grid;
- grid-template-columns: 33.33% 33.33% 33.33%;
-}
-
-.goods-category-normal-item-second-container-item {
- height: 200rpx;
- text-align: center;
- margin-top: 20rpx;
-}
-
-.goods-category-normal-item-second-container-item .image {
- width: 144rpx;
- height: 144rpx;
-}
-
-.goods-category-normal-item-second-container-item-title {
- justify-content: center;
- font-size: 24rpx;
- color: #222427;
-}
diff --git a/pages/goods/category/data.js b/pages/goods/category/data.js
deleted file mode 100644
index e625226..0000000
--- a/pages/goods/category/data.js
+++ /dev/null
@@ -1,135 +0,0 @@
-export const fullList = [
- {
- groupId: '24948',
- name: '数码',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249481',
- name: '手机',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249480',
- name: '华为',
- thumbnail:
- 'https://bl-material-qa-1300977798.cos.ap-guangzhou.myqcloud.com/persist/10001/8888/88881027711/material/1/5e40f0e5e450477781b0e3f8bd5b2fd8-1586832328290-手机1.jpg',
- },
- {
- groupId: '249480',
- name: '华为',
- thumbnail:
- 'https://bl-material-qa-1300977798.cos.ap-guangzhou.myqcloud.com/persist/10001/8888/88881027711/material/1/5e40f0e5e450477781b0e3f8bd5b2fd8-1586832328290-手机1.jpg',
- },
- {
- groupId: '249480',
- name: '华为',
- thumbnail:
- 'https://bl-material-qa-1300977798.cos.ap-guangzhou.myqcloud.com/persist/10001/8888/88881027711/material/1/5e40f0e5e450477781b0e3f8bd5b2fd8-1586832328290-手机1.jpg',
- },
- {
- groupId: '249480',
- name: '华为',
- thumbnail:
- 'https://bl-material-qa-1300977798.cos.ap-guangzhou.myqcloud.com/persist/10001/8888/88881027711/material/1/5e40f0e5e450477781b0e3f8bd5b2fd8-1586832328290-手机1.jpg',
- },
- {
- groupId: '249480',
- name: '华为',
- thumbnail:
- 'https://bl-material-qa-1300977798.cos.ap-guangzhou.myqcloud.com/persist/10001/8888/88881027711/material/1/5e40f0e5e450477781b0e3f8bd5b2fd8-1586832328290-手机1.jpg',
- },
- ],
- },
- {
- groupId: '249481',
- name: '电视',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249480',
- name: '华为',
- thumbnail:
- 'https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1135099865,3046620350&fm=26&gp=0.jpg',
- },
- ],
- },
- ],
- },
- {
- groupId: '24948',
- name: '水果',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249481',
- name: '热带水果',
- thumbnail:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/category/category-default.png',
- children: [
- {
- groupId: '249480',
- name: '菠萝',
- thumbnail:
- 'https://dss3.baidu.com/-rVXeDTa2gU2pMbgoY3K/it/u=322209122,2354607046&fm=202&mola=new&crop=v1',
- },
- ],
- },
- ],
- },
-];
-
-export const goodsList = [
- {
- thumb: '/static/images/apple.jpg',
- title:
- '智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦,智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦',
- price: '99.99',
- originPrice: '9.99',
- tags: [{ title: '热卖' }],
- },
- {
- thumb: '/static/images/apple.jpg',
- title:
- '智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦,智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦',
- price: '99.99',
- originPrice: '9.99',
- tags: [{ title: '热卖' }],
- },
- {
- thumb: '/static/images/apple.jpg',
- title:
- '智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦,智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦',
- price: '99.99',
- originPrice: '9.99',
- tags: [{ title: '热卖' }],
- },
- {
- thumb: '/static/images/apple.jpg',
- title:
- '智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦,智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦',
- price: '99.99',
- originPrice: '9.99',
- tags: [{ title: '热卖' }],
- },
- {
- thumb: '/static/images/apple.jpg',
- title:
- '智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦,智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦',
- price: '99.99',
- originPrice: '9.99',
- tags: [{ title: '热卖' }],
- },
- {
- thumb: '/static/images/apple.jpg',
- title:
- '智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦,智利 火龙果超级好吃,又大又甜 欢迎购买,限价五折优惠哦',
- price: '99.99',
- originPrice: '9.99',
- tags: [{ title: '热卖' }],
- },
-];
diff --git a/pages/goods/category/index.js b/pages/goods/category/index.js
deleted file mode 100644
index e8c56ac..0000000
--- a/pages/goods/category/index.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import { getCategoryList } from '../../../services/good/fetchCategoryList';
-Page({
- data: {
- list: [],
- },
- async init() {
- try {
- const result = await getCategoryList();
- this.setData({
- list: result,
- });
- } catch (error) {
- console.error('err:', error);
- }
- },
-
- onShow() {
- this.getTabBar().init();
- },
- onChange() {
- wx.navigateTo({
- url: '/pages/goods/list/index',
- });
- },
- onLoad() {
- this.init(true);
- },
-});
diff --git a/pages/goods/category/index.json b/pages/goods/category/index.json
deleted file mode 100644
index f989443..0000000
--- a/pages/goods/category/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "navigationBarTitleText": "分类",
- "usingComponents": {
- "goods-category": "./components/goods-category/index"
- }
-}
diff --git a/pages/goods/category/index.wxml b/pages/goods/category/index.wxml
deleted file mode 100644
index 2d8cab1..0000000
--- a/pages/goods/category/index.wxml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
diff --git a/pages/goods/category/index.wxss b/pages/goods/category/index.wxss
deleted file mode 100644
index ac2e0a7..0000000
--- a/pages/goods/category/index.wxss
+++ /dev/null
@@ -1,23 +0,0 @@
-.tabbar-position {
- position: fixed !important;
- bottom: 0;
- left: 0;
- width: 100%;
-}
-
-.wrap {
- height: 100vh;
- overflow: hidden;
-}
-.goods-category-class {
- background-color: #f6f6f6 !important;
- height: 100%;
-}
-.goods-category-class .goods-category-normal-item-container-item {
- margin-top: 20rpx;
-}
-
-page {
- min-height: none;
- padding-bottom: 0;
-}
diff --git a/pages/goods/comments/components/comments-card/components/images-videos/assets/play.png b/pages/goods/comments/components/comments-card/components/images-videos/assets/play.png
deleted file mode 100644
index d816ef7..0000000
Binary files a/pages/goods/comments/components/comments-card/components/images-videos/assets/play.png and /dev/null differ
diff --git a/pages/goods/comments/components/comments-card/components/images-videos/index.js b/pages/goods/comments/components/comments-card/components/images-videos/index.js
deleted file mode 100644
index a0a3c48..0000000
--- a/pages/goods/comments/components/comments-card/components/images-videos/index.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// pages/goods/comments/components/comments-card/images-videos/index.js
-Component({
- /**
- * 组件的属性列表
- */
- properties: {
- resources: {
- type: Array,
- value: [],
- },
- },
-
- /**
- * 组件的初始数据
- */
- data: {
- classType: 'single',
- },
-
- observers: {
- resources: function (newVal) {
- if (newVal.length <= 1) {
- this.setData({ classType: 'single' });
- } else if (newVal.length === 2) {
- this.setData({ classType: 'double' });
- } else {
- this.setData({ classType: 'multiple' });
- }
- },
- },
-
- /**
- * 组件的方法列表
- */
- methods: {},
-});
diff --git a/pages/goods/comments/components/comments-card/components/images-videos/index.json b/pages/goods/comments/components/comments-card/components/images-videos/index.json
deleted file mode 100644
index 83597fd..0000000
--- a/pages/goods/comments/components/comments-card/components/images-videos/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "my-video": "../my-video/index",
- "t-image": "/components/webp-image/index"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/comments/components/comments-card/components/images-videos/index.wxml b/pages/goods/comments/components/comments-card/components/images-videos/index.wxml
deleted file mode 100644
index 2515909..0000000
--- a/pages/goods/comments/components/comments-card/components/images-videos/index.wxml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/goods/comments/components/comments-card/components/images-videos/index.wxss b/pages/goods/comments/components/comments-card/components/images-videos/index.wxss
deleted file mode 100644
index e7944be..0000000
--- a/pages/goods/comments/components/comments-card/components/images-videos/index.wxss
+++ /dev/null
@@ -1,68 +0,0 @@
-.resource-item-single {
- width: 360rpx;
- height: 360rpx;
- border-radius: 8rpx;
-}
-
-.resource-item-double {
- width: 334rpx;
- height: 334rpx;
- border-radius: 8rpx;
-}
-
-.resource-item-multiple {
- width: 218rpx;
- height: 218rpx;
- border-radius: 8rpx;
-}
-
-.resource-container-single {
- padding-left: 0;
- padding-top: 0;
-}
-
-.resource-container-double {
- padding-left: 18rpx;
- padding-top: 18rpx;
-}
-
-.resource-container-multiple {
- padding-left: 16rpx;
- padding-top: 16rpx;
-}
-
-.container-single {
- margin-left: 0;
-}
-
-.container-double {
- margin-left: -18rpx;
- margin-top: -18rpx;
-}
-
-.container-multiple {
- margin-left: -16rpx;
- margin-top: -16rpx;
-}
-
-.resource-container {
- display: flex;
-}
-
-.play-icon {
- width: 96rpx;
- height: 96rpx;
-}
-
-.images-videos-container {
- display: flex;
- flex-wrap: wrap;
-}
-
-.image {
- border-radius: 8rpx;
-}
-
-.cover-img-container {
- background-color: white;
-}
diff --git a/pages/goods/comments/components/comments-card/components/my-video/index.js b/pages/goods/comments/components/comments-card/components/my-video/index.js
deleted file mode 100644
index 987cf18..0000000
--- a/pages/goods/comments/components/comments-card/components/my-video/index.js
+++ /dev/null
@@ -1,55 +0,0 @@
-Component({
- externalClasses: ['my-video', 'my-cover-img', 'my-play-icon'],
- properties: {
- videoSrc: { type: String },
- },
- data: {
- isShow: true,
- },
-
- options: {
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
- },
-
- attached() {
- this.videoContext = wx.createVideoContext('myVideo', this);
- },
-
- fullScreen: false,
-
- methods: {
- // 点击封面自定义播放按钮时触发
- bindplay(e) {
- this.setData({
- isShow: false,
- });
- this.videoContext.play();
- this.triggerEvent('play', e);
- },
-
- bindplayByVideo(e) {
- this.setData({
- isShow: false,
- });
- this.triggerEvent('play', e);
- },
-
- // 监听播放到末尾时触发
- bindended(e) {
- if (!this.fullScreen) {
- this.setData({
- isShow: true,
- });
- }
- this.triggerEvent('ended', e);
- },
- // 监听暂停播放时触发
- bindpause(e) {
- this.triggerEvent('pause', e);
- },
- bindfullscreenchange(e) {
- const fullScreen = e?.detail?.fullScreen;
- this.fullScreen = fullScreen;
- },
- },
-});
diff --git a/pages/goods/comments/components/comments-card/components/my-video/index.json b/pages/goods/comments/components/comments-card/components/my-video/index.json
deleted file mode 100644
index e8cfaaf..0000000
--- a/pages/goods/comments/components/comments-card/components/my-video/index.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "component": true,
- "usingComponents": {}
-}
\ No newline at end of file
diff --git a/pages/goods/comments/components/comments-card/components/my-video/index.wxml b/pages/goods/comments/components/comments-card/components/my-video/index.wxml
deleted file mode 100644
index af38919..0000000
--- a/pages/goods/comments/components/comments-card/components/my-video/index.wxml
+++ /dev/null
@@ -1,26 +0,0 @@
-
diff --git a/pages/goods/comments/components/comments-card/components/my-video/index.wxss b/pages/goods/comments/components/comments-card/components/my-video/index.wxss
deleted file mode 100644
index 63b962b..0000000
--- a/pages/goods/comments/components/comments-card/components/my-video/index.wxss
+++ /dev/null
@@ -1,21 +0,0 @@
-.video .video_cover {
- width: 100%;
- height: 100%;
- position: relative;
-}
-
-.video .video_play_icon {
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%, -50%);
- z-index: 5;
-}
-
-.video .video_txt {
- margin: 10rpx auto;
-}
-
-.video {
- display: flex;
-}
diff --git a/pages/goods/comments/components/comments-card/index.js b/pages/goods/comments/components/comments-card/index.js
deleted file mode 100644
index 53f6103..0000000
--- a/pages/goods/comments/components/comments-card/index.js
+++ /dev/null
@@ -1,51 +0,0 @@
-Component({
- externalClasses: ['wr-class'],
- options: {
- multipleSlots: true,
- },
- properties: {
- goodsDetailInfo: {
- type: String,
- value: '',
- },
- sellerReply: {
- type: String,
- value: '',
- },
- userHeadUrl: {
- type: String,
- value: '',
- },
- userName: {
- type: String,
- default: '',
- },
- commentContent: {
- type: String,
- value: '',
- },
- commentScore: {
- type: Number,
- value: 0,
- },
- commentTime: {
- type: String,
- value: '',
- },
- commentResources: {
- type: Array,
- value: [],
- },
- },
-
- data: {
- showMoreStatus: false,
- showContent: false,
- hideText: false,
- eleHeight: null,
- overText: false,
- isDisabled: true,
- startColors: ['#FFC51C', '#DDDDDD'],
- },
- methods: {},
-});
diff --git a/pages/goods/comments/components/comments-card/index.json b/pages/goods/comments/components/comments-card/index.json
deleted file mode 100644
index 1130655..0000000
--- a/pages/goods/comments/components/comments-card/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-rate": "tdesign-miniprogram/rate/rate",
- "images-videos": "./components/images-videos",
- "t-image": "/components/webp-image/index"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/comments/components/comments-card/index.wxml b/pages/goods/comments/components/comments-card/index.wxml
deleted file mode 100644
index a376cb2..0000000
--- a/pages/goods/comments/components/comments-card/index.wxml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
diff --git a/pages/goods/comments/components/comments-card/index.wxss b/pages/goods/comments/components/comments-card/index.wxss
deleted file mode 100644
index 30b4186..0000000
--- a/pages/goods/comments/components/comments-card/index.wxss
+++ /dev/null
@@ -1,170 +0,0 @@
-@import '../../../../../style/theme.wxss';
-
-.comments-card-item {
- padding: 32rpx;
- display: flex;
- background-color: #fff;
- position: relative;
-}
-
-.comments-card-item::after {
- content: '';
- position: absolute;
- bottom: 0rpx;
- width: 686rpx;
- height: 2rpx;
- background-color: #f5f5f5;
-}
-
-.comments-card-item-userImg {
- display: flex;
-}
-
-.comments-card-item-userImg .userImg {
- width: 64rpx;
- height: 64rpx;
- border-radius: 50%;
-}
-
-.comments-card-item-container {
- width: 100%;
-}
-
-.comments-card-item-container-name {
- display: flex;
- font-size: 28rpx;
- color: #333;
- font-weight: 600;
- align-items: center;
-}
-
-.comments-card-item-container-name .userName {
- margin-right: 12rpx;
-}
-
-.comments-card-item-container-date {
- font-size: 22rpx;
- color: #999;
- margin-top: 4rpx;
- display: flex;
-}
-
-.comments-card-item-container-content {
- margin-top: 16rpx;
- position: relative;
-}
-
-.comments-card-item-container-content .content-text {
- font-size: 28rpx;
- white-space: normal;
- word-break: break-all;
- font-weight: normal;
-}
-
-.comments-card-item-container-content .hide-text {
- overflow: hidden;
- text-overflow: ellipsis;
- -webkit-line-clamp: 5;
- text-align: justify;
- display: -webkit-box;
- -webkit-box-orient: vertical;
-}
-
-.comments-card-item-container-content .showMore {
- position: absolute;
- width: 112rpx;
- height: 36rpx;
- bottom: 0;
- right: 0;
- background: linear-gradient(
- to right,
- rgba(255, 255, 255, 0.2) 0,
- rgba(255, 255, 255, 0.45) 20%,
- rgba(255, 255, 255, 0.7) 25%,
- rgba(255, 255, 255, 0.9) 30%,
- rgba(255, 255, 255, 0.95) 35%,
- #ffffff 50%,
- #fff 100%
- );
- font-size: 26rpx;
- color: #fa550f;
- line-height: 36rpx;
- text-align: right;
-}
-
-.comments-card-item-container-image {
- margin-top: 24rpx;
- display: flex;
- justify-content: space-between;
- flex-wrap: wrap;
-}
-
-.comments-card-item-container-image .commentImg {
- border-radius: 8rpx;
- margin-top: 12rpx;
-}
-
-.comments-card-item-container-image .commentImg3 {
- width: 196rpx;
- height: 196rpx;
-}
-
-.comments-card-item-container-image .commentImg2 {
- width: 300rpx;
- height: 300rpx;
-}
-
-.comments-card-item-container-image .commentImg1 {
- width: 404rpx;
- height: 404rpx;
-}
-
-.comments-card-item-container .comments-title {
- display: flex;
- align-items: center;
- position: relative;
-}
-
-.comments-title .userName {
- font-size: 26rpx;
- color: #333333;
- margin-left: 24rpx;
-}
-
-.comments-title .commentTime {
- font-size: 24rpx;
- color: #999999;
- position: absolute;
- right: 0;
-}
-
-.comments-info {
- display: flex;
- margin-top: 18rpx;
-}
-
-.comments-info .rate {
- margin-right: 24rpx;
-}
-
-.comments-info .goods-info-text {
- font-size: 24rpx;
- color: #999999;
-}
-
-.comments-card-item-container .comments-card-reply {
- background-color: #f5f5f5;
- padding: 24rpx 16rpx;
- margin-top: 24rpx;
-}
-
-.comments-card-item-container .comments-card-reply .prefix {
- font-size: 26rpx;
- font-weight: bold;
- color: #666666;
-}
-
-.comments-card-item-container .comments-card-reply .content {
- font-size: 26rpx;
- color: #666666;
-}
diff --git a/pages/goods/comments/create/index.js b/pages/goods/comments/create/index.js
deleted file mode 100644
index be6d788..0000000
--- a/pages/goods/comments/create/index.js
+++ /dev/null
@@ -1,92 +0,0 @@
-// import { getCommentDetail } from '../../../../services/good/comments/fetchCommentDetail';
-import Toast from 'tdesign-miniprogram/toast/index';
-Page({
- data: {
- serviceRateValue: 1,
- goodRateValue: 1,
- conveyRateValue: 1,
- isAnonymous: false,
- uploadFiles: [],
- gridConfig: {
- width: 218,
- height: 218,
- column: 3,
- },
- isAllowedSubmit: false,
- imgUrl: '',
- title: '',
- goodsDetail: '',
- imageProps: {
- mode: 'aspectFit',
- },
- },
-
- onLoad(options) {
- this.setData({
- imgUrl: options.imgUrl,
- title: options.title,
- goodsDetail: options.specs,
- });
- },
-
- onRateChange(e) {
- const { value } = e?.detail;
- const item = e?.currentTarget?.dataset?.item;
- this.setData({ [item]: value }, () => {
- this.updateButtonStatus();
- });
- },
-
- onAnonymousChange(e) {
- const status = !!e?.detail?.checked;
- this.setData({ isAnonymous: status });
- },
-
- handleSuccess(e) {
- const { files } = e.detail;
-
- this.setData({
- uploadFiles: files,
- });
- },
-
- handleRemove(e) {
- const { index } = e.detail;
- const { uploadFiles } = this.data;
- uploadFiles.splice(index, 1);
- this.setData({
- uploadFiles,
- });
- },
-
- onTextAreaChange(e) {
- const value = e?.detail?.value;
- this.textAreaValue = value;
- this.updateButtonStatus();
- },
-
- updateButtonStatus() {
- const {
- serviceRateValue,
- goodRateValue,
- conveyRateValue,
- isAllowedSubmit,
- } = this.data;
- const { textAreaValue } = this;
- const temp =
- serviceRateValue && goodRateValue && conveyRateValue && textAreaValue;
- if (temp !== isAllowedSubmit) this.setData({ isAllowedSubmit: temp });
- },
-
- onSubmitBtnClick() {
- const { isAllowedSubmit } = this.data;
- if (!isAllowedSubmit) return;
- Toast({
- context: this,
- selector: '#t-toast',
- message: '评价提交成功',
- icon: 'check-circle',
- });
- wx.navigateBack();
- },
-});
diff --git a/pages/goods/comments/create/index.json b/pages/goods/comments/create/index.json
deleted file mode 100644
index 7c6d3eb..0000000
--- a/pages/goods/comments/create/index.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "navigationBarTitleText": "评价商品",
- "usingComponents": {
- "t-image": "/components/webp-image/index",
- "t-rate": "tdesign-miniprogram/rate/rate",
- "t-textarea": "tdesign-miniprogram/textarea/textarea",
- "t-checkbox": "tdesign-miniprogram/checkbox/checkbox",
- "t-button": "tdesign-miniprogram/button/button",
- "t-upload": "tdesign-miniprogram/upload/upload",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-toast": "tdesign-miniprogram/toast/toast"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/comments/create/index.wxml b/pages/goods/comments/create/index.wxml
deleted file mode 100644
index 254812d..0000000
--- a/pages/goods/comments/create/index.wxml
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/pages/goods/comments/create/index.wxss b/pages/goods/comments/create/index.wxss
deleted file mode 100644
index a63ef2e..0000000
--- a/pages/goods/comments/create/index.wxss
+++ /dev/null
@@ -1,171 +0,0 @@
-page {
- background-color: #f5f5f5;
-}
-
-.page-container .comment-card {
- padding: 24rpx 32rpx 28rpx;
- background-color: #ffffff;
-}
-
-.comment-card .goods-info-container .goods-image {
- width: 112rpx;
- height: 112rpx;
- border-radius: 8rpx;
-}
-
-.comment-card .goods-info-container {
- display: flex;
-}
-
-.comment-card .goods-info-container .goods-title-container {
- padding-left: 24rpx;
-}
-
-.comment-card .goods-info-container .goods-title {
- font-size: 28rpx;
- font-weight: normal;
- margin-top: 12rpx;
-}
-
-.comment-card .goods-info-container .goods-detail {
- font-size: 24rpx;
- font-weight: normal;
- color: #999999;
- margin-top: 16rpx;
-}
-
-.comment-card .rate-container {
- display: flex;
- align-items: center;
- margin-top: 22rpx;
-}
-
-.comment-card .rate-container .rate-title {
- font-size: 28rpx;
- font-weight: bold;
-}
-
-.comment-card .rate-container .rate {
- margin-left: 22rpx;
-}
-
-.comment-card .textarea-container {
- margin-top: 22rpx;
-}
-
-.comment-card .textarea-container .textarea {
- background-color: #f5f5f5;
- border-radius: 16rpx;
- font-size: 28rpx;
- font-weight: normal;
-}
-
-.page-container .t-checkbox__bordered {
- display: none;
-}
-
-.page-container .anonymous-box {
- display: flex;
- align-items: center;
- padding-top: 52rpx;
-}
-
-.page-container .anonymous-box .name {
- font-size: 28rpx;
- font-weight: normal;
- color: #999999;
- padding-left: 28rpx;
-}
-
-.page-container .t-checkbox {
- padding: 0rpx !important;
-}
-
-.page-container .t-checkbox__content {
- display: none;
-}
-
-.comment-card .convey-comment-title {
- font-size: 28rpx;
- font-weight: bold;
-}
-
-.convey-card {
- background-color: #ffffff;
- margin-top: 24rpx;
- padding: 32rpx;
- padding-bottom: calc(env(safe-area-inset-bottom) + 140rpx);
-}
-
-.convey-card .rate-container .rate-title {
- font-weight: normal;
-}
-
-.page-container .t-checkbox__icon-left {
- margin-right: 0rpx !important;
-}
-
-.submit-button-container {
- padding: 12rpx 0rpx;
- display: flex;
- width: 100vw;
- justify-content: center;
- position: fixed;
- bottom: 0;
- padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
- background-color: #ffffff;
- z-index: 99;
-}
-
-.submit-button-container .submit-button {
- background-color: #fa4126;
- border: 0;
- border-radius: 48rpx;
- width: 686rpx;
- height: 88rpx;
-}
-
-.submit-button-container .submit-button-disabled {
- background-color: rgba(0, 0, 0, 0.4);
- border: 0;
- border-radius: 48rpx;
- width: 686rpx;
- height: 88rpx;
-}
-
-.page-container .upload-container {
- margin-top: 24rpx;
-}
-
-.page-container .t-upload__wrapper {
- border-radius: 8rpx;
- overflow: hidden;
-}
-
-.page-container .submmit-bar {
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: 12;
- padding: 12rpx 32rpx;
- padding-bottom: env(safe-area-inset-bottom);
- background-color: #fff;
- height: 112rpx;
-}
-
-.page-container .submmit-bar-button {
- border-radius: 48rpx !important;
- padding: 0 !important;
-}
-
-.page-container .t-upload__close-btn {
- background-color: rgba(0, 0, 0, 0.4);
- border-bottom-left-radius: 8rpx;
- width: 36rpx;
- height: 36rpx;
-}
-
-.upload-container .upload-addcontent-slot {
- font-size: 26rpx;
-}
diff --git a/pages/goods/comments/index.js b/pages/goods/comments/index.js
deleted file mode 100644
index ef3b361..0000000
--- a/pages/goods/comments/index.js
+++ /dev/null
@@ -1,227 +0,0 @@
-import { fetchComments } from '../../../services/comments/fetchComments';
-import { fetchCommentsCount } from '../../../services/comments/fetchCommentsCount';
-import dayjs from 'dayjs';
-const layoutMap = {
- 0: 'vertical',
-};
-Page({
- data: {
- pageLoading: false,
- commentList: [],
- pageNum: 1,
- myPageNum: 1,
- pageSize: 10,
- total: 0,
- myTotal: 0,
- hasLoaded: false,
- layoutText: layoutMap[0],
- loadMoreStatus: 0,
- myLoadStatus: 0,
- spuId: '1060004',
- commentLevel: '',
- hasImage: '',
- commentType: '',
- totalCount: 0,
- countObj: {
- badCount: '0',
- commentCount: '0',
- goodCount: '0',
- middleCount: '0',
- hasImageCount: '0',
- uidCount: '0',
- },
- },
- onLoad(options) {
- this.getCount(options);
- this.getComments(options);
- },
- async getCount(options) {
- try {
- const result = await fetchCommentsCount(
- {
- spuId: options.spuId,
- },
- {
- method: 'POST',
- },
- );
- this.setData({
- countObj: result,
- });
- // const { data, code = '' } = result;
- // if (code.toUpperCase() === 'SUCCESS') {
- // wx.setNavigationBarTitle({
- // title: `全部评价(${data.commentCount})`,
- // });
- // this.setData({
- // countObj: data,
- // });
- // } else {
- // wx.showToast({
- // title: '查询失败,请稍候重试',
- // });
- // }
- } catch (error) {}
- },
- generalQueryData(reset) {
- const { hasImage, pageNum, pageSize, spuId, commentLevel } = this.data;
- const params = {
- pageNum: 1,
- pageSize: 30,
- queryParameter: {
- spuId,
- },
- };
- if (
- Number(commentLevel) === 3 ||
- Number(commentLevel) === 2 ||
- Number(commentLevel) === 1
- ) {
- params.queryParameter.commentLevel = Number(commentLevel);
- }
- if (hasImage && hasImage === '1') {
- params.queryParameter.hasImage = true;
- } else {
- delete params.queryParameter.hasImage;
- }
- // 重置请求
- if (reset) return params;
-
- return {
- ...params,
- pageNum: pageNum + 1,
- pageSize,
- };
- },
- async init(reset = true) {
- const { loadMoreStatus, commentList = [] } = this.data;
- const params = this.generalQueryData(reset);
-
- // 在加载中或者无更多数据,直接返回
- if (loadMoreStatus !== 0) return;
-
- this.setData({
- loadMoreStatus: 1,
- });
-
- try {
- const data = await fetchComments(params, {
- method: 'POST',
- });
- const code = 'SUCCESS';
- if (code.toUpperCase() === 'SUCCESS') {
- const { pageList, totalCount = 0 } = data;
- pageList.forEach((item) => {
- // eslint-disable-next-line no-param-reassign
- item.commentTime = dayjs(Number(item.commentTime)).format(
- 'YYYY/MM/DD HH:mm',
- );
- });
-
- if (Number(totalCount) === 0 && reset) {
- this.setData({
- commentList: [],
- hasLoaded: true,
- total: totalCount,
- loadMoreStatus: 2,
- });
- return;
- }
- const _commentList = reset ? pageList : commentList.concat(pageList);
- const _loadMoreStatus =
- _commentList.length === Number(totalCount) ? 2 : 0;
- this.setData({
- commentList: _commentList,
- pageNum: params.pageNum || 1,
- totalCount: Number(totalCount),
- loadMoreStatus: _loadMoreStatus,
- });
- } else {
- wx.showToast({
- title: '查询失败,请稍候重试',
- });
- }
- } catch (error) {}
- this.setData({
- hasLoaded: true,
- });
- },
- getScoreArray(score) {
- var array = [];
- for (let i = 0; i < 5; i++) {
- if (i < score) {
- array.push(2);
- } else {
- array.push(0);
- }
- }
- return array;
- },
- getComments(options) {
- const { commentLevel = -1, spuId, hasImage = '' } = options;
- if (commentLevel !== -1) {
- this.setData({
- commentLevel: commentLevel,
- });
- }
- this.setData({
- hasImage: hasImage,
- commentType: hasImage ? '4' : '',
- spuId: spuId,
- });
- this.init(true);
- },
- changeTag(e) {
- var { commenttype } = e.currentTarget.dataset;
- var { commentType } = this.data;
- if (commentType === commenttype) return;
- this.setData({
- loadMoreStatus: 0,
- commentList: [],
- total: 0,
- myTotal: 0,
- myPageNum: 1,
- pageNum: 1,
- });
- if (commenttype === '' || commenttype === '5') {
- this.setData({
- hasImage: '',
- commentLevel: '',
- });
- } else if (commenttype === '4') {
- this.setData({
- hasImage: '1',
- commentLevel: '',
- });
- } else {
- this.setData({
- hasImage: '',
- commentLevel: commenttype,
- });
- }
- if (commenttype === '5') {
- this.setData({
- myLoadStatus: 1,
- commentType: commenttype,
- });
- this.getMyCommentsList();
- } else {
- this.setData({
- myLoadStatus: 0,
- commentType: commenttype,
- });
- this.init(true);
- }
- },
- onReachBottom() {
- const { total = 0, commentList } = this.data;
- if (commentList.length === total) {
- this.setData({
- loadMoreStatus: 2,
- });
- return;
- }
-
- this.init(false);
- },
-});
diff --git a/pages/goods/comments/index.json b/pages/goods/comments/index.json
deleted file mode 100644
index a6418c9..0000000
--- a/pages/goods/comments/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "navigationBarTitleText": "全部评价",
- "usingComponents": {
- "t-tag": "tdesign-miniprogram/tag/tag",
- "comments-card": "./components/comments-card/index",
- "t-load-more": "/components/load-more/index"
- }
-}
diff --git a/pages/goods/comments/index.wxml b/pages/goods/comments/index.wxml
deleted file mode 100644
index 89d2b0f..0000000
--- a/pages/goods/comments/index.wxml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
diff --git a/pages/goods/comments/index.wxss b/pages/goods/comments/index.wxss
deleted file mode 100644
index b98f36b..0000000
--- a/pages/goods/comments/index.wxss
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 层级定义
-@z-index-0: 1;
-@z-index-1: 100;
-@z-index-2: 200;
-@z-index-5: 500;
-@z-index-component: 1000; // 通用组件级别
-@z-index-dropdown: @z-index-component;
-@z-index-sticky: @z-index-component + 20;
-@z-index-fixed: @z-index-component + 30;
-@z-index-modal-backdrop:@z-index-component + 40;
-@z-index-modal:@z-index-component + 50;
-@z-index-popover:@z-index-component + 60;
-@z-index-tooltip:@z-index-component + 70;
-*/
-/* var() css变量适配*/
-page {
- background-color: #FFFFFF;
-}
-
-.comments-header {
- display: flex;
- flex-wrap: wrap;
- padding: 32rpx 32rpx 0rpx;
- background-color: #fff;
- margin-top: -24rpx;
- margin-left: -24rpx;
-}
-
-.comments-header-tag {
- margin-top: 24rpx;
- margin-left: 24rpx;
- height: 56rpx !important;
- font-size: 24rpx !important;
- justify-content: center;
- background-color: #F5F5F5 !important;
- border-radius: 8rpx !important;
- border: 1px solid #F5F5F5 !important;
-}
-
-.comments-header-active {
- background-color: #FFECE9 !important;
- color: #FA4126 !important;
- border: 1px solid #FA4126 !important;
-}
-
-.no-more {
- padding-left: 20rpx;
- padding-right: 20rpx;
-}
\ No newline at end of file
diff --git a/pages/goods/details/components/buy-bar/index.js b/pages/goods/details/components/buy-bar/index.js
deleted file mode 100644
index ae274e2..0000000
--- a/pages/goods/details/components/buy-bar/index.js
+++ /dev/null
@@ -1,66 +0,0 @@
-Component({
- externalClasses: ['wr-sold-out', 'wr-class'],
-
- options: { multipleSlots: true },
-
- properties: {
- soldout: {
- // 商品是否下架
- type: Boolean,
- value: false,
- },
- jumpArray: {
- type: Array,
- value: [],
- },
- isStock: {
- type: Boolean,
- value: true,
- }, // 是否有库存
- isSlotButton: {
- type: Boolean,
- value: false,
- }, // 是否开启按钮插槽
- shopCartNum: {
- type: Number, // 购物车气泡数量
- },
- buttonType: {
- type: Number,
- value: 0,
- },
- minDiscountPrice: {
- type: String,
- value: '',
- },
- minSalePrice: {
- type: String,
- value: '',
- },
- },
-
- data: {
- fillPrice: false,
- },
-
- methods: {
- toAddCart() {
- const { isStock } = this.properties;
- if (!isStock) return;
- this.triggerEvent('toAddCart');
- },
-
- toBuyNow(e) {
- const { isStock } = this.properties;
- if (!isStock) return;
- this.triggerEvent('toBuyNow', e);
- },
-
- toNav(e) {
- const { url } = e.currentTarget.dataset;
- return this.triggerEvent('toNav', {
- e,
- url,
- });
- },
- },
-});
diff --git a/pages/goods/details/components/buy-bar/index.json b/pages/goods/details/components/buy-bar/index.json
deleted file mode 100644
index 7464ae6..0000000
--- a/pages/goods/details/components/buy-bar/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ 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
deleted file mode 100644
index 604afb4..0000000
--- a/pages/goods/details/components/buy-bar/index.wxml
+++ /dev/null
@@ -1,38 +0,0 @@
-
- {{soldout ? '商品已下架' : '商品已售馨'}}
-
-
-
diff --git a/pages/goods/details/components/buy-bar/index.wxss b/pages/goods/details/components/buy-bar/index.wxss
deleted file mode 100644
index 44e8ad0..0000000
--- a/pages/goods/details/components/buy-bar/index.wxss
+++ /dev/null
@@ -1,107 +0,0 @@
-.footer-cont {
- background-color: #fff;
- padding: 16rpx;
-}
-
-.icon-warp {
- width: 110rpx;
- display: flex;
- justify-content: center;
- align-items: center;
- text-align: center;
-}
-
-.operate-wrap {
- position: relative;
-}
-
-.bottom-operate-left {
- width: 100%;
-}
-
-.bottom-operate-left .icon-warp {
- width: 50%;
-}
-
-.tag-cart-num {
- display: inline-block;
- position: absolute;
- left: 50rpx;
- right: auto;
- top: 6rpx;
- color: #fff;
- line-height: 24rpx;
- text-align: center;
- z-index: 99;
- white-space: nowrap;
- min-width: 28rpx;
- border-radius: 14rpx;
- background-color: #fa550f !important;
- font-size: 20rpx;
- font-weight: 400;
- padding: 2rpx 6rpx;
-}
-
-.operate-text {
- color: #666;
- font-size: 20rpx;
-}
-
-.soldout {
- height: 80rpx;
- background: rgba(170, 170, 170, 1);
- width: 100%;
- color: #fff;
-}
-
-.addCart-disabled,
-.bar-addCart-disabled {
- background: rgba(221, 221, 221, 1) !important;
- color: #fff !important;
- font-size: 28rpx;
-}
-
-.buyNow-disabled,
-.bar-buyNow-disabled {
- background: rgba(198, 198, 198, 1) !important;
- color: #fff !important;
- font-size: 28rpx;
-}
-
-.bar-separately,
-.bar-buy {
- width: 254rpx;
- height: 80rpx;
- color: #fff;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.bar-separately {
- background: #ffece9;
- color: #fa4126;
- border-radius: 40rpx 0 0 40rpx;
-}
-
-.bar-buy {
- background-color: #fa4126;
- border-radius: 0rpx 40rpx 40rpx 0rpx;
-}
-
-.flex {
- display: flex;
- display: -webkit-flex;
-}
-
-.flex-center {
- justify-content: center;
- -webkit-justify-content: center;
- align-items: center;
- -webkit-align-items: center;
-}
-
-.flex-between {
- justify-content: space-between;
- -webkit-justify-content: space-between;
-}
diff --git a/pages/goods/details/components/goods-specs-popup/index.js b/pages/goods/details/components/goods-specs-popup/index.js
deleted file mode 100644
index d6a4f74..0000000
--- a/pages/goods/details/components/goods-specs-popup/index.js
+++ /dev/null
@@ -1,389 +0,0 @@
-/* eslint-disable no-param-reassign */
-/* eslint-disable no-nested-ternary */
-import Toast from 'tdesign-miniprogram/toast/index';
-
-Component({
- options: {
- multipleSlots: true,
- addGlobalClass: true,
- },
-
- properties: {
- src: {
- type: String,
- },
- title: String,
- show: {
- type: Boolean,
- value: false,
- },
- limitBuyInfo: {
- type: String,
- value: '',
- },
- isStock: {
- type: Boolean,
- value: true,
- },
- limitMaxCount: {
- type: Number,
- value: 999,
- },
- limitMinCount: {
- type: Number,
- value: 1,
- },
- skuList: {
- type: Array,
- value: [],
- observer(skuList) {
- if (skuList && skuList.length > 0) {
- if (this.initStatus) {
- this.initData();
- }
- }
- },
- },
- specList: {
- type: Array,
- value: [],
- observer(specList) {
- if (specList && specList.length > 0) {
- this.initData();
- }
- },
- },
- outOperateStatus: {
- type: Boolean,
- value: false,
- },
- hasAuth: {
- type: Boolean,
- value: false,
- },
- count: {
- type: Number,
- value: 1,
- observer(count) {
- this.setData({
- buyNum: count,
- });
- },
- },
- },
-
- initStatus: false,
- selectedSku: {},
- selectSpecObj: {},
-
- data: {
- buyNum: 1,
- isAllSelectedSku: false,
- },
-
- methods: {
- initData() {
- const { skuList } = this.properties;
- const { specList } = this.properties;
- specList.forEach((item) => {
- if (item.specValueList.length > 0) {
- item.specValueList.forEach((subItem) => {
- const obj = this.checkSkuStockQuantity(
- subItem.specValueId,
- skuList,
- );
- subItem.hasStockObj = obj;
- });
- }
- });
- const selectedSku = {};
- specList.forEach((item) => {
- selectedSku[item.specId] = '';
- });
- this.setData({
- specList,
- });
- this.selectSpecObj = {};
- this.selectedSku = {};
- this.initStatus = true;
- },
-
- checkSkuStockQuantity(specValueId, skuList) {
- let hasStock = false;
- const array = [];
- skuList.forEach((item) => {
- (item.specInfo || []).forEach((subItem) => {
- if (subItem.specValueId === specValueId && item.quantity > 0) {
- const subArray = [];
- (item.specInfo || []).forEach((specItem) => {
- subArray.push(specItem.specValueId);
- });
- array.push(subArray);
- hasStock = true;
- }
- });
- });
- return {
- hasStock,
- specsArray: array,
- };
- },
-
- chooseSpecValueId(specValueId, specId) {
- const { selectSpecObj } = this;
- const { skuList, specList } = this.properties;
- if (selectSpecObj[specId]) {
- selectSpecObj[specId] = [];
- this.selectSpecObj = selectSpecObj;
- } else {
- selectSpecObj[specId] = [];
- }
-
- const itemAllSpecArray = [];
- const itemUnSelectArray = [];
- const itemSelectArray = [];
- specList.forEach((item) => {
- if (item.specId === specId) {
- const subSpecValueItem = item.specValueList.find(
- (subItem) => subItem.specValueId === specValueId,
- );
- let specSelectStatus = false;
- item.specValueList.forEach((n) => {
- itemAllSpecArray.push(n.hasStockObj.specsArray);
- if (n.isChoosed) {
- specSelectStatus = true;
- }
- if (n.hasStockObj.hasStock) {
- itemSelectArray.push(n.specValueId);
- } else {
- itemUnSelectArray.push(n.specValueId);
- }
- });
- if (specSelectStatus) {
- selectSpecObj[specId] = this.flatten(
- subSpecValueItem?.hasStockObj.specsArray.concat(itemSelectArray),
- );
- } else {
- const subSet = function (arr1, arr2) {
- const set2 = new Set(arr2);
- const subset = [];
- arr1.forEach((val) => {
- if (!set2.has(val)) {
- subset.push(val);
- }
- });
- return subset;
- };
- selectSpecObj[specId] = subSet(
- this.flatten(itemAllSpecArray),
- this.flatten(itemUnSelectArray),
- );
- }
- } else {
- // 未点击规格的逻辑
- const itemSelectArray = [];
- let specSelectStatus = false;
- item.specValueList.map(
- // 找到有库存的规格数组
- (n) => {
- itemSelectArray.push(n.hasStockObj.specsArray);
- if (n.isChoosed) {
- specSelectStatus = true;
- }
- n.hasStockObj.hasStock = true;
- return n;
- },
- );
- if (specSelectStatus) {
- selectSpecObj[item.specId] = this.flatten(itemSelectArray);
- } else {
- delete selectSpecObj[item.specId];
- }
- }
- this.selectSpecObj = selectSpecObj;
- });
- const combatArray = Object.values(selectSpecObj);
- if (combatArray.length > 0) {
- const showArray = combatArray.reduce((x, y) =>
- this.getIntersection(x, y),
- );
- const lastResult = Array.from(new Set(showArray));
- specList.forEach((item) => {
- item.specValueList.forEach((subItem) => {
- if (lastResult.includes(subItem.specValueId)) {
- subItem.hasStockObj.hasStock = true;
- } else {
- subItem.hasStockObj.hasStock = false;
- }
- });
- });
- } else {
- specList.forEach((item) => {
- if (item.specValueList.length > 0) {
- item.specValueList.forEach((subItem) => {
- const obj = this.checkSkuStockQuantity(
- subItem.specValueId,
- skuList,
- );
- subItem.hasStockObj = obj;
- });
- }
- });
- }
- this.setData({
- specList,
- });
- },
-
- flatten(input) {
- const stack = [...input];
- const res = [];
- while (stack.length) {
- const next = stack.pop();
- if (Array.isArray(next)) {
- stack.push(...next);
- } else {
- res.push(next);
- }
- }
- return res.reverse();
- },
-
- getIntersection(array, nextArray) {
- return array.filter((item) => nextArray.includes(item));
- },
-
- toChooseItem(e) {
- const { isStock } = this.properties;
- if (!isStock) return;
- const { id } = e.currentTarget.dataset;
- const specId = e.currentTarget.dataset.specid;
- const hasStock = e.currentTarget.dataset.hasstock;
- if (!hasStock) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '该规格已售罄',
- icon: '',
- duration: 1000,
- });
- return;
- }
-
- let { selectedSku } = this;
- const { specList } = this.properties;
- selectedSku =
- selectedSku[specId] === id
- ? { ...this.selectedSku, [specId]: '' }
- : { ...this.selectedSku, [specId]: id };
- specList.forEach((item) => {
- item.specValueList.forEach((valuesItem) => {
- if (item.specId === specId) {
- valuesItem.isChoosed =
- valuesItem.specValueId === selectedSku[specId];
- }
- });
- });
- this.chooseSpecValueId(id, specId);
- const isAllSelectedSku = this.isAllSelected(specList, selectedSku);
- if (!isAllSelectedSku) {
- this.setData({
- selectSkuSellsPrice: 0,
- selectSkuImg: '',
- });
- }
- this.setData({
- specList,
- isAllSelectedSku,
- });
- this.selectedSku = selectedSku;
- this.triggerEvent('change', {
- specList,
- selectedSku,
- isAllSelectedSku,
- });
- },
-
- // 判断是否所有的sku都已经选中
- isAllSelected(skuTree, selectedSku) {
- const selected = Object.keys(selectedSku).filter(
- (skuKeyStr) => selectedSku[skuKeyStr] !== '',
- );
- return skuTree.length === selected.length;
- },
-
- handlePopupHide() {
- this.triggerEvent('closeSpecsPopup', {
- show: false,
- });
- },
-
- specsConfirm() {
- const { isStock } = this.properties;
- if (!isStock) return;
- this.triggerEvent('specsConfirm');
- },
-
- addCart() {
- const { isStock } = this.properties;
- if (!isStock) return;
- this.triggerEvent('addCart');
- },
-
- buyNow() {
- const { isAllSelectedSku } = this.data;
- const { isStock } = this.properties;
- if (!isStock) return;
- this.triggerEvent('buyNow', {
- isAllSelectedSku,
- });
- },
-
- // 加
- handleBuyNumPlus() {
- const { buyNum } = this.data;
- const { isStock } = this.properties;
- if (!isStock) return;
- const nextBuyNum = Number(buyNum) + 1;
- this.setBuyNum(nextBuyNum > 999 ? buyNum : nextBuyNum);
- },
-
- // 减
- handleBuyNumMinus() {
- const { buyNum } = this.data;
- const { limitMinCount } = this.properties;
- const { isStock } = this.properties;
- if (!isStock || buyNum < limitMinCount + 1) return;
- const nextBuyNum = Number(buyNum) - 1;
- this.setBuyNum(nextBuyNum < 1 ? buyNum : nextBuyNum);
- },
-
- // 总处理
- setBuyNum(buyNum) {
- this.setData({
- buyNum,
- });
- this.triggerEvent('changeNum', {
- buyNum,
- });
- },
-
- // 输入框
- handleBuyNumChange(e) {
- const {
- detail: { value },
- } = e;
- const valInNum = Number(value);
- const { limitMaxCount, limitMinCount } = this.properties;
- const nextData = {
- buyNum:
- valInNum < limitMinCount
- ? limitMinCount
- : valInNum > limitMaxCount
- ? limitMaxCount
- : valInNum,
- };
- this.setData(nextData);
- },
- },
-});
diff --git a/pages/goods/details/components/goods-specs-popup/index.json b/pages/goods/details/components/goods-specs-popup/index.json
deleted file mode 100644
index e699a1c..0000000
--- a/pages/goods/details/components/goods-specs-popup/index.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-image": "/components/webp-image/index",
- "t-toast": "tdesign-miniprogram/toast/toast"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/details/components/goods-specs-popup/index.wxml b/pages/goods/details/components/goods-specs-popup/index.wxml
deleted file mode 100644
index bb5fd25..0000000
--- a/pages/goods/details/components/goods-specs-popup/index.wxml
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
diff --git a/pages/goods/details/components/goods-specs-popup/index.wxss b/pages/goods/details/components/goods-specs-popup/index.wxss
deleted file mode 100644
index de0c749..0000000
--- a/pages/goods/details/components/goods-specs-popup/index.wxss
+++ /dev/null
@@ -1,300 +0,0 @@
-.popup-container {
- background-color: #ffffff;
- position: relative;
- z-index: 100;
- border-radius: 16rpx 16rpx 0 0;
- padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
-}
-
-.popup-container .popup-close {
- position: absolute;
- right: 30rpx;
- top: 30rpx;
- z-index: 9;
- color: #999999;
-}
-
-.popup-sku-header {
- display: flex;
- padding: 30rpx 28rpx 0 30rpx;
-}
-
-.popup-sku-header .popup-sku-header__img {
- width: 176rpx;
- height: 176rpx;
- border-radius: 8rpx;
- background: #d8d8d8;
- margin-right: 24rpx;
-}
-
-.popup-sku-header .popup-sku-header__goods-info {
- position: relative;
- width: 500rpx;
-}
-
-.popup-sku-header .popup-sku-header__goods-info .popup-sku__goods-name {
- font-size: 28rpx;
- line-height: 40rpx;
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- white-space: normal;
- overflow: hidden;
- width: 430rpx;
- text-overflow: ellipsis;
-}
-
-.popup-sku-header .popup-sku-header__goods-info .popup-sku__selected-spec {
- display: flex;
- color: #333333;
- font-size: 26rpx;
- line-height: 36rpx;
-}
-
-.popup-sku-header
- .popup-sku-header__goods-info
- .popup-sku__selected-spec
- .popup-sku__selected-item {
- margin-right: 10rpx;
-}
-
-.popup-sku-body {
- margin: 0 30rpx 40rpx;
- max-height: 600rpx;
- overflow-y: scroll;
- -webkit-overflow-scrolling: touch;
-}
-
-.popup-sku-body .popup-sku-group-container .popup-sku-row {
- padding: 32rpx 0;
- border-bottom: 1rpx solid #f5f5f5;
-}
-
-.popup-sku-body
- .popup-sku-group-container
- .popup-sku-row
- .popup-sku-row__title {
- font-size: 26rpx;
- color: #333;
-}
-
-.popup-sku-body .popup-sku-group-container .popup-sku-row .popup-sku-row__item {
- font-size: 24rpx;
- color: #333;
- min-width: 128rpx;
- height: 56rpx;
- background-color: #f5f5f5;
- border-radius: 8rpx;
- border: 2rpx solid #f5f5f5;
- margin: 19rpx 26rpx 0 0;
- padding: 0 16rpx;
- display: inline-flex;
- align-items: center;
- justify-content: center;
-}
-
-.popup-sku-body
- .popup-sku-group-container
- .popup-sku-row
- .popup-sku-row__item.popup-sku-row__item--active {
- border: 2rpx solid #fa4126;
- color: #fa4126;
- background: rgba(255, 95, 21, 0.04);
-}
-
-.popup-sku-body
- .popup-sku-group-container
- .popup-sku-row
- .disabled-sku-selected {
- background: #f5f5f5 !important;
- color: #cccccc;
-}
-
-.popup-sku-body .popup-sku-stepper-stock .popup-sku-stepper-container {
- display: flex;
- align-items: center;
- justify-content: space-between;
- margin: 40rpx 0;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-sku__stepper-title {
- display: flex;
- font-size: 26rpx;
- color: #333;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-sku__stepper-title
- .limit-text {
- margin-left: 10rpx;
- color: #999999;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper {
- display: flex;
- flex-flow: row nowrap;
- align-items: center;
- font-size: 28px;
- height: 48rpx;
- line-height: 62rpx;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .input-btn,
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .input-num-wrap {
- position: relative;
- height: 100%;
- text-align: center;
- background-color: #f5f5f5;
- border-radius: 4rpx;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .input-num-wrap {
- color: #282828;
- display: flex;
- max-width: 76rpx;
- align-items: center;
- justify-content: space-between;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .input-num-wrap
- .input-num {
- height: 100%;
- width: auto;
- font-weight: 600;
- font-size: 30rpx;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .input-btn {
- width: 48rpx;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .popup-stepper__minus {
- margin-right: 4rpx;
- border-radius: 4rpx;
- color: #9a979b;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .popup-stepper__plus {
- margin-left: 4rpx;
- border-radius: 4rpx;
- color: #9a979b;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .popup-stepper__plus::after {
- width: 24rpx;
- height: 3rpx;
- background-color: #999999;
-}
-
-.popup-sku-body
- .popup-sku-stepper-stock
- .popup-sku-stepper-container
- .popup-stepper
- .popup-stepper__plus::before {
- width: 3rpx;
- height: 24rpx;
- background-color: #999999;
-}
-
-.popup-sku-actions {
- font-size: 32rpx;
- height: 80rpx;
- text-align: center;
- line-height: 80rpx;
- padding: 0 20rpx;
-}
-
-.popup-sku-actions .sku-operate {
- height: 80rpx;
- width: 50%;
- color: #fff;
- border-radius: 48rpx;
-}
-
-.popup-sku-actions .sku-operate .sku-operate-addCart {
- background-color: #ffece9;
- color: #fa4126;
- border-radius: 48rpx 0 0 48rpx;
-}
-
-.popup-sku-actions .sku-operate .sku-operate-addCart.disabled {
- background: rgb(221, 221, 221);
- color: #fff;
-}
-
-.popup-sku-actions .sku-operate .sku-operate-buyNow {
- background-color: #fa4126;
- border-radius: 0 48rpx 48rpx 0;
-}
-
-.popup-sku-actions .sku-operate .sku-operate-buyNow.disabled {
- color: #fff;
- background: rgb(198, 198, 198);
-}
-
-.popup-sku-actions .sku-operate .selected-sku-btn {
- width: 100%;
-}
-
-.popup-container .single-confirm-btn {
- border-radius: 48rpx;
- color: #ffffff;
- margin: 0 32rpx;
- font-size: 32rpx;
- height: 80rpx;
- text-align: center;
- line-height: 88rpx;
- background-color: #fa4126;
-}
-
-.popup-container .single-confirm-btn.disabled {
- font-size: 32rpx;
- color: #fff;
- background-color: #dddddd;
-}
diff --git a/pages/goods/details/components/promotion-popup/index.js b/pages/goods/details/components/promotion-popup/index.js
deleted file mode 100644
index 9743cc1..0000000
--- a/pages/goods/details/components/promotion-popup/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-Component({
- options: {
- multipleSlots: true,
- },
-
- properties: {
- list: Array,
- title: {
- type: String,
- value: '促销说明',
- },
- show: {
- type: Boolean,
- },
- },
-
- // data: {
- // list: [],
- // },
-
- methods: {
- change(e) {
- const { index } = e.currentTarget.dataset;
- this.triggerEvent('promotionChange', {
- index,
- });
- },
-
- closePromotionPopup() {
- this.triggerEvent('closePromotionPopup', {
- show: false,
- });
- },
- },
-});
diff --git a/pages/goods/details/components/promotion-popup/index.json b/pages/goods/details/components/promotion-popup/index.json
deleted file mode 100644
index a9de77d..0000000
--- a/pages/goods/details/components/promotion-popup/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/details/components/promotion-popup/index.wxml b/pages/goods/details/components/promotion-popup/index.wxml
deleted file mode 100644
index c1cea9d..0000000
--- a/pages/goods/details/components/promotion-popup/index.wxml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
diff --git a/pages/goods/details/components/promotion-popup/index.wxss b/pages/goods/details/components/promotion-popup/index.wxss
deleted file mode 100644
index 6e0e167..0000000
--- a/pages/goods/details/components/promotion-popup/index.wxss
+++ /dev/null
@@ -1,131 +0,0 @@
-.promotion-popup-container {
- background-color: #ffffff;
- position: relative;
- z-index: 100;
- border-radius: 16rpx 16rpx 0 0;
-}
-
-.promotion-popup-container .promotion-popup-close {
- position: absolute;
- right: 30rpx;
- top: 30rpx;
- z-index: 9;
- color: rgba(153, 153, 153, 1);
-}
-
-.promotion-popup-container .promotion-popup-close .market {
- font-size: 25rpx;
- color: #999;
-}
-
-.promotion-popup-container .promotion-popup-title {
- height: 100rpx;
- position: relative;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.promotion-popup-container .promotion-popup-title {
- font-size: 32rpx;
- color: #222427;
- font-weight: 600;
-}
-
-.promotion-popup-container .promotion-popup-content {
- min-height: 400rpx;
- max-height: 600rpx;
- padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
- overflow-y: scroll;
- -webkit-overflow-scrolling: touch;
-}
-
-.promotion-popup-container .promotion-popup-content .promotion-detail-list {
- margin: 0 30rpx;
-}
-
-.promotion-popup-container
- .promotion-popup-content
- .promotion-detail-list
- .list-item:last-child {
- margin-bottom: env(safe-area-inset-bottom);
- border-bottom: 0;
- padding-bottom: calc(28rpx + env(safe-area-inset-bottom));
-}
-
-.promotion-popup-container
- .promotion-popup-content
- .promotion-detail-list
- .list-item {
- display: flex;
- justify-content: space-between;
- padding: 10rpx 0 28rpx;
- position: relative;
- font-size: 24rpx;
- color: #222427;
-}
-
-.promotion-popup-container
- .promotion-popup-content
- .promotion-detail-list
- .list-item
- .tag {
- box-sizing: border-box;
- font-size: 20rpx;
- line-height: 32rpx;
- padding: 2rpx 12rpx;
- background-color: #ffece9;
- margin-right: 16rpx;
- display: inline-flex;
- color: #fa4126;
- border-radius: 54rpx;
- flex-shrink: 0;
- position: relative;
- top: 2rpx;
-}
-
-.promotion-popup-container
- .promotion-popup-content
- .promotion-detail-list
- .list-item
- .content {
- font-size: 28rpx;
- color: #222427;
- flex: 1;
- line-height: 40rpx;
- display: flex;
-}
-
-.promotion-popup-container
- .promotion-popup-content
- .promotion-detail-list
- .list-item
- .content
- .list-content {
- width: 440rpx;
- white-space: nowrap;
- text-overflow: ellipsis;
- overflow: hidden;
- display: inline-block;
-}
-
-.promotion-popup-container
- .promotion-popup-content
- .promotion-detail-list
- .list-item
- .collect-btn {
- font-size: 24rpx;
- flex-shrink: 0;
- margin-left: 20rpx;
- display: flex;
- align-items: center;
-}
-
-.promotion-popup-container
- .promotion-popup-content
- .promotion-detail-list
- .list-item
- .collect-btn
- .linkText {
- margin-right: 8rpx;
-}
diff --git a/pages/goods/details/index.js b/pages/goods/details/index.js
deleted file mode 100644
index b41f007..0000000
--- a/pages/goods/details/index.js
+++ /dev/null
@@ -1,443 +0,0 @@
-import Toast from 'tdesign-miniprogram/toast/index';
-import { fetchGood } from '../../../services/good/fetchGood';
-import { fetchActivityList } from '../../../services/activity/fetchActivityList';
-import {
- getGoodsDetailsCommentList,
- getGoodsDetailsCommentsCount,
-} from '../../../services/good/fetchGoodsDetailsComments';
-
-import { cdnBase } from '../../../config/index';
-
-const imgPrefix = `${cdnBase}/`;
-
-const recLeftImg = `${imgPrefix}common/rec-left.png`;
-const recRightImg = `${imgPrefix}common/rec-right.png`;
-const obj2Params = (obj = {}, encode = false) => {
- const result = [];
- Object.keys(obj).forEach((key) =>
- result.push(`${key}=${encode ? encodeURIComponent(obj[key]) : obj[key]}`),
- );
-
- return result.join('&');
-};
-
-Page({
- data: {
- commentsList: [],
- commentsStatistics: {
- badCount: 0,
- commentCount: 0,
- goodCount: 0,
- goodRate: 0,
- hasImageCount: 0,
- middleCount: 0,
- },
- isShowPromotionPop: false,
- activityList: [],
- recLeftImg,
- recRightImg,
- details: {},
- goodsTabArray: [
- {
- name: '商品',
- value: '', // 空字符串代表置顶
- },
- {
- name: '详情',
- value: 'goods-page',
- },
- ],
- storeLogo: `${imgPrefix}common/store-logo.png`,
- storeName: '云mall标准版旗舰店',
- jumpArray: [
- {
- title: '首页',
- url: '/pages/home/home',
- iconName: 'home',
- },
- {
- title: '购物车',
- url: '/pages/cart/index',
- iconName: 'cart',
- showCartNum: true,
- },
- ],
- isStock: true,
- cartNum: 0,
- soldout: false,
- buttonType: 1,
- buyNum: 1,
- selectedAttrStr: '',
- skuArray: [],
- primaryImage: '',
- specImg: '',
- isSpuSelectPopupShow: false,
- isAllSelectedSku: false,
- buyType: 0,
- outOperateStatus: false, // 是否外层加入购物车
- operateType: 0,
- selectSkuSellsPrice: 0,
- maxLinePrice: 0,
- minSalePrice: 0,
- maxSalePrice: 0,
- list: [],
- spuId: '',
- navigation: { type: 'fraction' },
- current: 0,
- autoplay: true,
- duration: 500,
- interval: 5000,
- soldNum: 0, // 已售数量
- },
-
- handlePopupHide() {
- this.setData({
- isSpuSelectPopupShow: false,
- });
- },
-
- showSkuSelectPopup(type) {
- this.setData({
- buyType: type || 0,
- outOperateStatus: type >= 1,
- isSpuSelectPopupShow: true,
- });
- },
-
- buyItNow() {
- this.showSkuSelectPopup(1);
- },
-
- toAddCart() {
- this.showSkuSelectPopup(2);
- },
-
- toNav(e) {
- const { url } = e.detail;
- wx.switchTab({
- url: url,
- });
- },
-
- showCurImg(e) {
- const { index } = e.detail;
- const { images } = this.data.details;
- wx.previewImage({
- current: images[index],
- urls: images, // 需要预览的图片http链接列表
- });
- },
-
- onPageScroll({ scrollTop }) {
- const goodsTab = this.selectComponent('#goodsTab');
- goodsTab && goodsTab.onScroll(scrollTop);
- },
-
- chooseSpecItem(e) {
- const { specList } = this.data.details;
- const { selectedSku, isAllSelectedSku } = e.detail;
- if (!isAllSelectedSku) {
- this.setData({
- selectSkuSellsPrice: 0,
- });
- }
- this.setData({
- isAllSelectedSku,
- });
- this.getSkuItem(specList, selectedSku);
- },
-
- getSkuItem(specList, selectedSku) {
- const { skuArray, primaryImage } = this.data;
- const selectedSkuValues = this.getSelectedSkuValues(specList, selectedSku);
- let selectedAttrStr = ` 件 `;
- selectedSkuValues.forEach((item) => {
- selectedAttrStr += `,${item.specValue} `;
- });
- // eslint-disable-next-line array-callback-return
- const skuItem = skuArray.filter((item) => {
- let status = true;
- (item.specInfo || []).forEach((subItem) => {
- if (
- !selectedSku[subItem.specId] ||
- selectedSku[subItem.specId] !== subItem.specValueId
- ) {
- status = false;
- }
- });
- if (status) return item;
- });
- this.selectSpecsName(selectedSkuValues.length > 0 ? selectedAttrStr : '');
- if (skuItem) {
- this.setData({
- selectItem: skuItem,
- selectSkuSellsPrice: skuItem.price || 0,
- });
- } else {
- this.setData({
- selectItem: null,
- selectSkuSellsPrice: 0,
- });
- }
- this.setData({
- specImg: skuItem && skuItem.skuImage ? skuItem.skuImage : primaryImage,
- });
- },
-
- // 获取已选择的sku名称
- getSelectedSkuValues(skuTree, selectedSku) {
- const normalizedTree = this.normalizeSkuTree(skuTree);
- return Object.keys(selectedSku).reduce((selectedValues, skuKeyStr) => {
- const skuValues = normalizedTree[skuKeyStr];
- const skuValueId = selectedSku[skuKeyStr];
- if (skuValueId !== '') {
- const skuValue = skuValues.filter((value) => {
- return value.specValueId === skuValueId;
- })[0];
- skuValue && selectedValues.push(skuValue);
- }
- return selectedValues;
- }, []);
- },
-
- normalizeSkuTree(skuTree) {
- const normalizedTree = {};
- skuTree.forEach((treeItem) => {
- normalizedTree[treeItem.specId] = treeItem.specValueList;
- });
- return normalizedTree;
- },
-
- selectSpecsName(selectSpecsName) {
- if (selectSpecsName) {
- this.setData({
- selectedAttrStr: selectSpecsName,
- });
- } else {
- this.setData({
- selectedAttrStr: '',
- });
- }
- },
-
- addCart() {
- const { isAllSelectedSku } = this.data;
- Toast({
- context: this,
- selector: '#t-toast',
- message: isAllSelectedSku ? '点击加入购物车' : '请选择规格',
- icon: '',
- duration: 1000,
- });
- },
-
- gotoBuy(type) {
- const { isAllSelectedSku, buyNum } = this.data;
- if (!isAllSelectedSku) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '请选择规格',
- icon: '',
- duration: 1000,
- });
- return;
- }
- this.handlePopupHide();
- const query = {
- quantity: buyNum,
- storeId: '1',
- spuId: this.data.spuId,
- goodsName: this.data.details.title,
- skuId:
- type === 1 ? this.data.skuList[0].skuId : this.data.selectItem.skuId,
- available: this.data.details.available,
- price: this.data.details.minSalePrice,
- specInfo: this.data.details.specList?.map((item) => ({
- specTitle: item.title,
- specValue: item.specValueList[0].specValue,
- })),
- primaryImage: this.data.details.primaryImage,
- spuId: this.data.details.spuId,
- thumb: this.data.details.primaryImage,
- title: this.data.details.title,
- };
- let urlQueryStr = obj2Params({
- goodsRequestList: JSON.stringify([query]),
- });
- urlQueryStr = urlQueryStr ? `?${urlQueryStr}` : '';
- const path = `/pages/order/order-confirm/index${urlQueryStr}`;
- wx.navigateTo({
- url: path,
- });
- },
-
- specsConfirm() {
- const { buyType } = this.data;
- if (buyType === 1) {
- this.gotoBuy();
- } else {
- this.addCart();
- }
- // this.handlePopupHide();
- },
-
- changeNum(e) {
- this.setData({
- buyNum: e.detail.buyNum,
- });
- },
-
- closePromotionPopup() {
- this.setData({
- isShowPromotionPop: false,
- });
- },
-
- promotionChange(e) {
- const { index } = e.detail;
- wx.navigateTo({
- url: `/pages/promotion-detail/index?promotion_id=${index}`,
- });
- },
-
- showPromotionPopup() {
- this.setData({
- isShowPromotionPop: true,
- });
- },
-
- getDetail(spuId) {
- Promise.all([fetchGood(spuId), fetchActivityList()]).then((res) => {
- const [details, activityList] = res;
- const skuArray = [];
- const {
- skuList,
- primaryImage,
- isPutOnSale,
- minSalePrice,
- maxSalePrice,
- maxLinePrice,
- soldNum,
- } = details;
- skuList.forEach((item) => {
- skuArray.push({
- skuId: item.skuId,
- quantity: item.stockInfo ? item.stockInfo.stockQuantity : 0,
- specInfo: item.specInfo,
- });
- });
- const promotionArray = [];
- activityList.forEach((item) => {
- promotionArray.push({
- tag: item.promotionSubCode === 'MYJ' ? '满减' : '满折',
- label: '满100元减99.9元',
- });
- });
- this.setData({
- details,
- activityList,
- isStock: details.spuStockQuantity > 0,
- maxSalePrice: maxSalePrice ? parseInt(maxSalePrice) : 0,
- maxLinePrice: maxLinePrice ? parseInt(maxLinePrice) : 0,
- minSalePrice: minSalePrice ? parseInt(minSalePrice) : 0,
- list: promotionArray,
- skuArray: skuArray,
- primaryImage,
- soldout: isPutOnSale === 0,
- soldNum,
- });
- });
- },
-
- async getCommentsList() {
- try {
- const code = 'Success';
- const data = await getGoodsDetailsCommentList();
- const { homePageComments } = data;
- if (code.toUpperCase() === 'SUCCESS') {
- const nextState = {
- commentsList: homePageComments.map((item) => {
- return {
- goodsSpu: item.spuId,
- userName: item.userName || '',
- commentScore: item.commentScore,
- commentContent: item.commentContent || '用户未填写评价',
- userHeadUrl: item.isAnonymity
- ? this.anonymityAvatar
- : item.userHeadUrl || this.anonymityAvatar,
- };
- }),
- };
- this.setData(nextState);
- }
- } catch (error) {
- console.error('comments error:', error);
- }
- },
-
- onShareAppMessage() {
- // 自定义的返回信息
- const { selectedAttrStr } = this.data;
- let shareSubTitle = '';
- if (selectedAttrStr.indexOf('件') > -1) {
- const count = selectedAttrStr.indexOf('件');
- shareSubTitle = selectedAttrStr.slice(count + 1, selectedAttrStr.length);
- }
- const customInfo = {
- imageUrl: this.data.details.primaryImage,
- title: this.data.details.title + shareSubTitle,
- path: `/pages/goods/details/index?spuId=${this.data.spuId}`,
- };
- return customInfo;
- },
-
- /** 获取评价统计 */
- async getCommentsStatistics() {
- try {
- const code = 'Success';
- const data = await getGoodsDetailsCommentsCount();
- if (code.toUpperCase() === 'SUCCESS') {
- const {
- badCount,
- commentCount,
- goodCount,
- goodRate,
- hasImageCount,
- middleCount,
- } = data;
- const nextState = {
- commentsStatistics: {
- badCount: parseInt(`${badCount}`),
- commentCount: parseInt(`${commentCount}`),
- goodCount: parseInt(`${goodCount}`),
- /** 后端返回百分比后数据但没有限制位数 */
- goodRate: Math.floor(goodRate * 10) / 10,
- hasImageCount: parseInt(`${hasImageCount}`),
- middleCount: parseInt(`${middleCount}`),
- },
- };
- this.setData(nextState);
- }
- } catch (error) {
- console.error('comments statiistics error:', error);
- }
- },
-
- /** 跳转到评价列表 */
- navToCommentsListPage() {
- wx.navigateTo({
- url: `/pages/goods/comments/index?spuId=${this.data.spuId}`,
- });
- },
-
- onLoad(query) {
- const { spuId } = query;
- this.setData({
- spuId: spuId,
- });
- this.getDetail(spuId);
- this.getCommentsList(spuId);
- this.getCommentsStatistics(spuId);
- },
-});
diff --git a/pages/goods/details/index.json b/pages/goods/details/index.json
deleted file mode 100644
index a5d8558..0000000
--- a/pages/goods/details/index.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "navigationBarTitleText": "商品详情",
- "usingComponents": {
- "t-image": "/components/webp-image/index",
- "t-tag": "tdesign-miniprogram/tag/tag",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-rate": "tdesign-miniprogram/rate/rate",
- "t-swiper": "tdesign-miniprogram/swiper/swiper",
- "t-swiper-item": "tdesign-miniprogram/swiper/swiper-item",
- "t-button": "tdesign-miniprogram/button/button",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-popup": "tdesign-miniprogram/popup/popup",
- "price": "/components/price/index",
- "buy-bar": "./components/buy-bar/index",
- "promotion-popup": "./components/promotion-popup/index",
- "goods-specs-popup": "./components/goods-specs-popup/index"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/details/index.wxml b/pages/goods/details/index.wxml
deleted file mode 100644
index 1a616f4..0000000
--- a/pages/goods/details/index.wxml
+++ /dev/null
@@ -1,176 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- 起
-
-
- 已售{{soldNum}}
-
-
-
-
- {{item.tag}}
-
-
-
- 领劵
-
-
-
-
- {{details.title}}
-
-
-
-
- 分享
-
-
-
-
- {{intro}}
-
-
- 已选
-
-
- {{selectedAttrStr ? buyNum : ''}}{{selectedAttrStr || '请选择'}}
-
-
-
-
-
-
-
-
-
- 详情介绍
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/goods/details/index.wxss b/pages/goods/details/index.wxss
deleted file mode 100644
index eb74549..0000000
--- a/pages/goods/details/index.wxss
+++ /dev/null
@@ -1,356 +0,0 @@
-@import '../../../style/global.wxss';
-page {
- width: 100vw;
-}
-
-.goods-detail-page .goods-info {
- margin: 0 auto;
- padding: 26rpx 0 28rpx 30rpx;
- background-color: #fff;
-}
-
-.goods-detail-page .swipe-img {
- width: 100%;
- height: 750rpx;
-}
-
-.goods-detail-page .goods-info .goods-price {
- display: flex;
- align-items: baseline;
-}
-
-.goods-detail-page .goods-info .goods-price-up {
- color: #fa4126;
- font-size: 28rpx;
- position: relative;
- bottom: 4rpx;
- left: 8rpx;
-}
-
-.goods-detail-page .goods-info .goods-price .class-goods-price {
- font-size: 64rpx;
- color: #fa4126;
- font-weight: bold;
- font-family: DIN Alternate;
-}
-
-.goods-detail-page .goods-info .goods-price .class-goods-symbol {
- font-size: 36rpx;
- color: #fa4126;
-}
-
-.goods-detail-page .goods-info .goods-price .class-goods-del {
- position: relative;
- font-weight: normal;
- left: 16rpx;
- bottom: 2rpx;
- color: #999999;
- font-size: 32rpx;
-}
-
-.goods-detail-page .goods-info .goods-number {
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-
-.goods-detail-page .goods-info .goods-number .sold-num {
- font-size: 24rpx;
- color: #999999;
- display: flex;
- align-items: flex-end;
- margin-right: 32rpx;
-}
-
-.goods-detail-page .goods-info .goods-activity {
- display: flex;
- margin-top: 16rpx;
- justify-content: space-between;
-}
-
-.goods-detail-page .goods-info .goods-activity .tags-container {
- display: flex;
-}
-
-.goods-detail-page
- .goods-info
- .goods-activity
- .tags-container
- .goods-activity-tag {
- background: #ffece9;
- color: #fa4126;
- font-size: 24rpx;
- margin-right: 16rpx;
- padding: 4rpx 8rpx;
- border-radius: 4rpx;
-}
-
-.goods-detail-page .goods-info .goods-activity .activity-show {
- display: flex;
- justify-content: center;
- align-items: center;
- color: #fa4126;
- font-size: 24rpx;
- padding-right: 32rpx;
-}
-
-.goods-detail-page .goods-info .goods-activity .activity-show-text {
- line-height: 42rpx;
-}
-
-.goods-detail-page .goods-info .goods-title {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-top: 20rpx;
-}
-
-.goods-detail-page .goods-info .goods-title .goods-name {
- width: 600rpx;
- font-weight: 500;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- overflow: hidden;
- font-size: 32rpx;
- word-break: break-all;
- color: #333333;
-}
-
-.goods-detail-page .goods-info .goods-title .goods-tag {
- width: 104rpx;
- margin-left: 26rpx;
-}
-
-.goods-detail-page .goods-info .goods-title .goods-tag .shareBtn {
- border-radius: 200rpx 0px 0px 200rpx;
- width: 100rpx;
- height: 96rpx;
- border: none;
- padding-right: 36rpx !important;
-}
-
-.goods-detail-page .goods-info .goods-title .goods-tag .shareBtn::after {
- border: none;
-}
-
-.goods-detail-page .goods-info .goods-title .goods-tag .btn-icon {
- font-size: 20rpx;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- height: 96rpx;
- color: #999;
-}
-
-.goods-detail-page .goods-info .goods-title .goods-tag .btn-icon .share-text {
- line-height: 32rpx;
-}
-
-.goods-detail-page .goods-info .goods-intro {
- font-size: 26rpx;
- color: #888;
- line-height: 36rpx;
- word-break: break-all;
- padding-right: 30rpx;
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- white-space: normal;
- overflow: hidden;
-}
-
-.spu-select {
- height: 80rpx;
- background-color: #fff;
- margin-top: 20rpx;
- display: flex;
- align-items: center;
- padding: 30rpx;
- font-size: 28rpx;
-}
-
-.spu-select .label {
- margin-right: 30rpx;
- text-align: center;
- flex-shrink: 0;
- color: #999999;
- font-weight: normal;
-}
-
-.spu-select .content {
- display: flex;
- flex: 1;
- justify-content: space-between;
- align-items: center;
-}
-
-.spu-select .content .tintColor {
- color: #aaa;
-}
-
-.goods-detail-page .desc-content {
- margin-top: 20rpx;
- background-color: #fff;
- padding-bottom: 120rpx;
-}
-
-.goods-detail-page .desc-content__title {
- font-size: 28rpx;
- line-height: 36rpx;
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: center;
- padding: 30rpx 20rpx;
-}
-
-.goods-detail-page .desc-content__title .img {
- width: 206rpx;
- height: 10rpx;
-}
-
-.goods-detail-page .desc-content__title--text {
- font-size: 26rpx;
- margin: 0 32rpx;
- font-weight: 600;
-}
-
-.goods-detail-page .desc-content__img {
- width: 100%;
- height: auto;
-}
-
-.goods-bottom-operation {
- position: fixed;
- left: 0;
- bottom: 0;
- width: 100%;
- background-color: #fff;
- padding-bottom: env(safe-area-inset-bottom);
-}
-
-.popup-sku-header .popup-sku-header__goods-info .popup-sku__price {
- display: flex;
- align-items: baseline;
- color: #fa4126;
- margin-top: 48rpx;
-}
-
-.popup-sku-header
- .popup-sku-header__goods-info
- .popup-sku__price
- .popup-sku__price-num {
- font-size: 64rpx;
- color: #fa4126;
- font-weight: bold;
- font-family: DIN Alternate;
-}
-
-.popup-sku-header
- .popup-sku-header__goods-info
- .popup-sku__price
- .popup-sku__price-del {
- position: relative;
- font-weight: normal;
- left: 12rpx;
- bottom: 2rpx;
- color: #999999;
- font-size: 32rpx;
-}
-
-.popup-sku-header
- .popup-sku-header__goods-info
- .popup-sku__price
- .popup-sku__price-symbol {
- font-size: 36rpx;
- color: #fa4126;
-}
-
-.popup-sku-header
- .popup-sku-header__goods-info
- .popup-sku__price
- .popup-sku__price-max-num {
- font-size: 48rpx;
-}
-
-.goods-detail-page .goods-head .t-swiper {
- height: 750rpx !important;
-}
-
-.t-toast__content {
- z-index: 12000 !important;
-}
-
-.comments-wrap {
- margin-top: 20rpx;
- padding: 32rpx;
- background-color: #fff;
-}
-
-.comments-wrap .comments-head {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: space-between;
-}
-
-.comments-wrap .comments-head .comments-title-wrap {
- display: flex;
-}
-
-.comments-title-label,
-.comments-title-count {
- color: #333333;
- font-size: 32rpx;
- font-weight: 500;
- line-height: 48rpx;
-}
-
-.comments-rate-wrap {
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 24rpx;
-}
-
-.comments-rate-wrap .comments-good-rate {
- color: #999999;
- font-size: 26rpx;
- font-weight: 400;
- font-style: normal;
- line-height: 36rpx;
-}
-
-.comment-item-wrap .comment-item-head {
- display: flex;
- flex-direction: row;
- align-items: center;
- margin-top: 32rpx;
-}
-
-.comment-item-wrap .comment-item-head .comment-item-avatar {
- width: 64rpx;
- height: 64rpx;
- border-radius: 64rpx;
-}
-
-.comment-item-wrap .comment-item-head .comment-head-right {
- margin-left: 24rpx;
-}
-
-.comment-head-right .comment-username {
- font-size: 26rpx;
- color: #333333;
- line-height: 36rpx;
- font-weight: 400;
-}
-
-.comment-item-wrap .comment-item-content {
- margin-top: 20rpx;
- color: #333333;
- line-height: 40rpx;
- font-size: 28rpx;
- font-weight: 400;
-}
diff --git a/pages/goods/list/index.js b/pages/goods/list/index.js
deleted file mode 100644
index c16cd66..0000000
--- a/pages/goods/list/index.js
+++ /dev/null
@@ -1,226 +0,0 @@
-import { fetchGoodsList } from '../../../services/good/fetchGoodsList';
-import Toast from 'tdesign-miniprogram/toast/index';
-
-const initFilters = {
- overall: 1,
- sorts: '',
- layout: 0,
-};
-
-Page({
- data: {
- goodsList: [],
- layout: 0,
- sorts: '',
- overall: 1,
- show: false,
- minVal: '',
- maxVal: '',
- filter: initFilters,
- hasLoaded: false,
- loadMoreStatus: 0,
- loading: true,
- },
-
- pageNum: 1,
- pageSize: 30,
- total: 0,
-
- handleFilterChange(e) {
- const { layout, overall, sorts } = e.detail;
- this.pageNum = 1;
- this.setData({
- layout,
- sorts,
- overall,
- loadMoreStatus: 0,
- });
- this.init(true);
- },
-
- generalQueryData(reset = false) {
- const { filter, keywords, minVal, maxVal } = this.data;
- const { pageNum, pageSize } = this;
- const { sorts, overall } = filter;
- const params = {
- sort: 0, // 0 综合,1 价格
- pageNum: 1,
- pageSize: 30,
- keyword: keywords,
- };
-
- if (sorts) {
- params.sort = 1;
- params.sortType = sorts === 'desc' ? 1 : 0;
- }
-
- if (overall) {
- params.sort = 0;
- } else {
- params.sort = 1;
- }
- params.minPrice = minVal ? minVal * 100 : 0;
- params.maxPrice = maxVal ? maxVal * 100 : undefined;
- if (reset) return params;
- return {
- ...params,
- pageNum: pageNum + 1,
- pageSize,
- };
- },
-
- async init(reset = true) {
- const { loadMoreStatus, goodsList = [] } = this.data;
- const params = this.generalQueryData(reset);
- if (loadMoreStatus !== 0) return;
- this.setData({
- loadMoreStatus: 1,
- loading: true,
- });
- try {
- const result = await fetchGoodsList(params);
- const code = 'Success';
- const data = result;
- if (code.toUpperCase() === 'SUCCESS') {
- const { spuList, totalCount = 0 } = data;
- if (totalCount === 0 && reset) {
- this.total = totalCount;
- this.setData({
- emptyInfo: {
- tip: '抱歉,未找到相关商品',
- },
- hasLoaded: true,
- loadMoreStatus: 0,
- loading: false,
- goodsList: [],
- });
- return;
- }
-
- const _goodsList = reset ? spuList : goodsList.concat(spuList);
- const _loadMoreStatus = _goodsList.length === totalCount ? 2 : 0;
- this.pageNum = params.pageNum || 1;
- this.total = totalCount;
- this.setData({
- goodsList: _goodsList,
- loadMoreStatus: _loadMoreStatus,
- });
- } else {
- this.setData({
- loading: false,
- });
- wx.showToast({
- title: '查询失败,请稍候重试',
- });
- }
- } catch (error) {
- this.setData({
- loading: false,
- });
- }
- this.setData({
- hasLoaded: true,
- loading: false,
- });
- },
-
- onLoad() {
- this.init(true);
- },
-
- onReachBottom() {
- const { goodsList } = this.data;
- const { total = 0 } = this;
- if (goodsList.length === total) {
- this.setData({
- loadMoreStatus: 2,
- });
- return;
- }
- this.init(false);
- },
-
- handleAddCart() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '点击加购',
- });
- },
-
- tagClickHandle() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '点击标签',
- });
- },
-
- gotoGoodsDetail(e) {
- const { index } = e.detail;
- const { spuId } = this.data.goodsList[index];
- wx.navigateTo({
- url: `/pages/goods/details/index?spuId=${spuId}`,
- });
- },
-
- showFilterPopup() {
- this.setData({
- show: true,
- });
- },
-
- showFilterPopupClose() {
- this.setData({
- show: false,
- });
- },
-
- onMinValAction(e) {
- const { value } = e.detail;
- this.setData({ minVal: value });
- },
-
- onMaxValAction(e) {
- const { value } = e.detail;
- this.setData({ maxVal: value });
- },
-
- reset() {
- this.setData({ minVal: '', maxVal: '' });
- },
-
- confirm() {
- const { minVal, maxVal } = this.data;
- let message = '';
- if (minVal && !maxVal) {
- message = `价格最小是${minVal}`;
- } else if (!minVal && maxVal) {
- message = `价格范围是0-${minVal}`;
- } else if (minVal && maxVal && minVal <= maxVal) {
- message = `价格范围${minVal}-${this.data.maxVal}`;
- } else {
- message = '请输入正确范围';
- }
- if (message) {
- Toast({
- context: this,
- selector: '#t-toast',
- message,
- });
- }
- this.pageNum = 1;
- this.setData(
- {
- show: false,
- minVal: '',
- goodsList: [],
- loadMoreStatus: 0,
- maxVal: '',
- },
- () => {
- this.init();
- },
- );
- },
-});
diff --git a/pages/goods/list/index.json b/pages/goods/list/index.json
deleted file mode 100644
index 0811511..0000000
--- a/pages/goods/list/index.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "navigationBarTitleText": "商品列表",
- "usingComponents": {
- "t-input": "tdesign-miniprogram/input/input",
- "t-empty": "tdesign-miniprogram/empty/empty",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "goods-list": "/components/goods-list/index",
- "filter": "/components/filter/index",
- "filter-popup": "/components/filter-popup/index",
- "load-more": "/components/load-more/index"
- }
-}
\ No newline at end of file
diff --git a/pages/goods/list/index.wxml b/pages/goods/list/index.wxml
deleted file mode 100644
index 82d7bee..0000000
--- a/pages/goods/list/index.wxml
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
-
- 价格区间
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/goods/list/index.wxss b/pages/goods/list/index.wxss
deleted file mode 100644
index 4895167..0000000
--- a/pages/goods/list/index.wxss
+++ /dev/null
@@ -1,108 +0,0 @@
-page {
- background-color: #fff;
-}
-
-.goods-list-container {
- display: block;
-}
-
-.goods-list-container .t-search {
- padding: 0 30rpx;
- background-color: #fff;
-}
-
-.goods-list-container .t-class__input-container {
- height: 64rpx !important;
- border-radius: 32rpx !important;
-}
-
-.goods-list-container .t-search__left-icon {
- display: flex;
- align-items: center;
-}
-
-.goods-list-container .t-search__input {
- font-size: 28rpx !important;
- color: rgb(116, 116, 116) !important;
-}
-
-.goods-list-container .category-goods-list {
- background-color: #f2f2f2;
- overflow-y: scroll;
- -webkit-overflow-scrolling: touch;
- padding: 20rpx 24rpx;
- -webkit-overflow-scrolling: touch;
-}
-
-.goods-list-container .wr-goods-list {
- background: #f2f2f2 !important;
-}
-
-.goods-list-container .t-image__mask {
- display: flex !important;
-}
-
-.goods-list-container .empty-wrap {
- margin-top: 184rpx;
- margin-bottom: 120rpx;
- height: 300rpx;
-}
-
-.goods-list-container .empty-wrap .empty-tips .empty-content .content-text {
- margin-top: 40rpx;
-}
-
-.goods-list-container .price-container {
- padding: 32rpx;
- height: 100vh;
- max-width: 632rpx;
- background-color: #fff;
- border-radius: 30rpx 0 0 30rpx;
- box-sizing: border-box;
-}
-
-.goods-list-container .price-between {
- font-size: 26rpx;
- font-weight: 500;
- color: rgba(51, 51, 51, 1);
-}
-
-.goods-list-container .price-ipts-wrap {
- width: 100%;
- display: flex;
- flex-direction: row;
- justify-content: space-around;
- margin-top: 24rpx;
-}
-
-.goods-list-container .price-ipts-wrap .price-divided {
- position: relative;
- width: 22rpx;
- margin: 0 20rpx;
- color: #222427;
-}
-
-.goods-list-container .price-ipts-wrap .price-ipt {
- box-sizing: border-box;
- width: 246rpx;
- font-size: 24rpx;
- height: 56rpx;
- padding: 0 24rpx;
- text-align: center;
- border-radius: 8rpx;
- color: #333;
- background: rgba(245, 245, 245, 1);
-}
-
-.t-class-input {
- font-size: 24rpx !important;
-}
-
-.goods-list-container .price-ipts-wrap .price-ipt::after {
- border: none !important;
-}
-
-.goods-list-container .t-input__control {
- font-size: 24rpx !important;
- text-align: center;
-}
diff --git a/pages/goods/result/index.js b/pages/goods/result/index.js
deleted file mode 100644
index 47ce19d..0000000
--- a/pages/goods/result/index.js
+++ /dev/null
@@ -1,262 +0,0 @@
-/* eslint-disable no-param-reassign */
-import { getSearchResult } from '../../../services/good/featchSearchResult';
-import Toast from 'tdesign-miniprogram/toast/index';
-
-const initFilters = {
- overall: 1,
- sorts: '',
-};
-
-Page({
- data: {
- goodsList: [],
- sorts: '',
- overall: 1,
- show: false,
- minVal: '',
- maxVal: '',
- minSalePriceFocus: false,
- maxSalePriceFocus: false,
- filter: initFilters,
- hasLoaded: false,
- keywords: '',
- loadMoreStatus: 0,
- loading: true,
- },
-
- total: 0,
- pageNum: 1,
- pageSize: 30,
-
- onLoad(options) {
- const { searchValue = '' } = options || {};
- this.setData(
- {
- keywords: searchValue,
- },
- () => {
- this.init(true);
- },
- );
- },
-
- generalQueryData(reset = false) {
- const { filter, keywords, minVal, maxVal } = this.data;
- const { pageNum, pageSize } = this;
- const { sorts, overall } = filter;
- const params = {
- sort: 0, // 0 综合,1 价格
- pageNum: 1,
- pageSize: 30,
- keyword: keywords,
- };
-
- if (sorts) {
- params.sort = 1;
- params.sortType = sorts === 'desc' ? 1 : 0;
- }
- if (overall) {
- params.sort = 0;
- } else {
- params.sort = 1;
- }
- params.minPrice = minVal ? minVal * 100 : 0;
- params.maxPrice = maxVal ? maxVal * 100 : undefined;
- if (reset) return params;
- return {
- ...params,
- pageNum: pageNum + 1,
- pageSize,
- };
- },
-
- async init(reset = true) {
- const { loadMoreStatus, goodsList = [] } = this.data;
- const params = this.generalQueryData(reset);
- if (loadMoreStatus !== 0) return;
- this.setData({
- loadMoreStatus: 1,
- loading: true,
- });
- try {
- const result = await getSearchResult(params);
- const code = 'Success';
- const data = result;
- if (code.toUpperCase() === 'SUCCESS') {
- const { spuList, totalCount = 0 } = data;
- if (totalCount === 0 && reset) {
- this.total = totalCount;
- this.setData({
- emptyInfo: {
- tip: '抱歉,未找到相关商品',
- },
- hasLoaded: true,
- loadMoreStatus: 0,
- loading: false,
- goodsList: [],
- });
- return;
- }
-
- const _goodsList = reset ? spuList : goodsList.concat(spuList);
- _goodsList.forEach((v) => {
- v.tags = v.spuTagList.map((u) => u.title);
- v.hideKey = { desc: true };
- });
- const _loadMoreStatus = _goodsList.length === totalCount ? 2 : 0;
- this.pageNum = params.pageNum || 1;
- this.total = totalCount;
- this.setData({
- goodsList: _goodsList,
- loadMoreStatus: _loadMoreStatus,
- });
- } else {
- this.setData({
- loading: false,
- });
- wx.showToast({
- title: '查询失败,请稍候重试',
- });
- }
- } catch (error) {
- this.setData({
- loading: false,
- });
- }
- this.setData({
- hasLoaded: true,
- loading: false,
- });
- },
-
- handleCartTap() {
- wx.switchTab({
- url: '/pages/cart/index',
- });
- },
-
- handleSubmit() {
- this.setData(
- {
- goodsList: [],
- loadMoreStatus: 0,
- },
- () => {
- this.init(true);
- },
- );
- },
-
- onReachBottom() {
- const { goodsList } = this.data;
- const { total = 0 } = this;
- if (goodsList.length === total) {
- this.setData({
- loadMoreStatus: 2,
- });
- return;
- }
- this.init(false);
- },
-
- handleAddCart() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '点击加购',
- });
- },
-
- gotoGoodsDetail(e) {
- const { index } = e.detail;
- const { spuId } = this.data.goodsList[index];
- wx.navigateTo({
- url: `/pages/goods/details/index?spuId=${spuId}`,
- });
- },
-
- handleFilterChange(e) {
- const { overall, sorts } = e.detail;
- const { total } = this;
- const _filter = {
- sorts,
- overall,
- };
- this.setData({
- filter: _filter,
- sorts,
- overall,
- });
-
- this.pageNum = 1;
- this.setData(
- {
- goodsList: [],
- loadMoreStatus: 0,
- },
- () => {
- total && this.init(true);
- },
- );
- },
-
- showFilterPopup() {
- this.setData({
- show: true,
- });
- },
-
- showFilterPopupClose() {
- this.setData({
- show: false,
- });
- },
-
- onMinValAction(e) {
- const { value } = e.detail;
- this.setData({ minVal: value });
- },
-
- onMaxValAction(e) {
- const { value } = e.detail;
- this.setData({ maxVal: value });
- },
-
- reset() {
- this.setData({ minVal: '', maxVal: '' });
- },
-
- confirm() {
- const { minVal, maxVal } = this.data;
- let message = '';
- if (minVal && !maxVal) {
- message = `价格最小是${minVal}`;
- } else if (!minVal && maxVal) {
- message = `价格范围是0-${minVal}`;
- } else if (minVal && maxVal && minVal <= maxVal) {
- message = `价格范围${minVal}-${this.data.maxVal}`;
- } else {
- message = '请输入正确范围';
- }
- if (message) {
- Toast({
- context: this,
- selector: '#t-toast',
- message,
- });
- }
- this.pageNum = 1;
- this.setData(
- {
- show: false,
- minVal: '',
- goodsList: [],
- loadMoreStatus: 0,
- maxVal: '',
- },
- () => {
- this.init();
- },
- );
- },
-});
diff --git a/pages/goods/result/index.json b/pages/goods/result/index.json
deleted file mode 100644
index 130b48d..0000000
--- a/pages/goods/result/index.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "navigationBarTitleText": "搜索",
- "usingComponents": {
- "t-search": "tdesign-miniprogram/search/search",
- "t-input": "tdesign-miniprogram/input/input",
- "t-empty": "tdesign-miniprogram/empty/empty",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "goods-list": "/components/goods-list/index",
- "filter": "/components/filter/index",
- "filter-popup": "/components/filter-popup/index",
- "load-more": "/components/load-more/index",
- "t-icon": "tdesign-miniprogram/icon/icon"
- },
- "onReachBottomDistance": 50
-}
\ No newline at end of file
diff --git a/pages/goods/result/index.wxml b/pages/goods/result/index.wxml
deleted file mode 100644
index 30591d7..0000000
--- a/pages/goods/result/index.wxml
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
-
-
-
-
-
- 价格区间
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/goods/result/index.wxss b/pages/goods/result/index.wxss
deleted file mode 100644
index 804ec53..0000000
--- a/pages/goods/result/index.wxss
+++ /dev/null
@@ -1,110 +0,0 @@
-page {
- background-color: #fff;
-}
-
-page view {
- box-sizing: border-box;
-}
-
-.result-container {
- display: block;
-}
-
-.result-container .t-search {
- padding: 0 30rpx;
- background-color: #fff;
-}
-
-.result-container .t-class__input-container {
- height: 64rpx !important;
- border-radius: 32rpx !important;
-}
-
-.result-container .t-search__left-icon {
- display: flex;
- align-items: center;
-}
-
-.result-container .t-search__input {
- font-size: 28rpx !important;
- color: #333 !important;
-}
-
-.result-container .category-goods-list {
- background-color: #f2f2f2;
- overflow-y: scroll;
- padding: 20rpx 24rpx;
- -webkit-overflow-scrolling: touch;
-}
-
-.result-container .wr-goods-list {
- background: #f2f2f2 !important;
-}
-
-.result-container .t-image__mask {
- display: flex !important;
-}
-
-.result-container .empty-wrap {
- margin-top: 184rpx;
- margin-bottom: 120rpx;
- height: 300rpx;
-}
-
-.result-container .empty-wrap .empty-tips .empty-content .content-text {
- margin-top: 40rpx;
-}
-
-.result-container .price-container {
- padding: 32rpx;
- height: 100vh;
- max-width: 632rpx;
- background-color: #fff;
- border-radius: 30rpx 0 0 30rpx;
-}
-
-.result-container .price-between {
- font-size: 26rpx;
- font-weight: 500;
- color: rgba(51, 51, 51, 1);
-}
-
-.result-container .price-ipts-wrap {
- width: 100%;
- display: flex;
- flex-direction: row;
- justify-content: space-around;
- margin-top: 24rpx;
-}
-
-.result-container .price-ipts-wrap .price-divided {
- position: relative;
- width: 22rpx;
- margin: 0 20rpx;
- color: #222427;
-}
-
-.result-container .price-ipts-wrap .price-ipt {
- box-sizing: border-box;
- width: 246rpx;
- font-size: 24rpx;
- height: 56rpx;
- padding: 0 24rpx;
- text-align: center;
- border-radius: 8rpx;
- color: #333;
- background: rgba(245, 245, 245, 1);
-}
-
-.t-class-input {
- font-size: 24rpx !important;
-}
-
-.result-container .price-ipts-wrap .price-ipt::after {
- border: none !important;
-}
-
-.result-container .t-input__control {
- font-size: 24rpx !important;
- text-align: center;
-}
diff --git a/pages/goods/search/index.js b/pages/goods/search/index.js
deleted file mode 100644
index c726041..0000000
--- a/pages/goods/search/index.js
+++ /dev/null
@@ -1,119 +0,0 @@
-import {
- getSearchHistory,
- getSearchPopular,
-} from '../../../services/good/fetchSearchHistory';
-
-Page({
- data: {
- historyWords: [],
- popularWords: [],
- searchValue: '',
- dialog: {
- title: '确认删除当前历史记录',
- showCancelButton: true,
- message: '',
- },
- dialogShow: false,
- },
-
- deleteType: 0,
- deleteIndex: '',
-
- onShow() {
- this.queryHistory();
- this.queryPopular();
- },
-
- async queryHistory() {
- try {
- const data = await getSearchHistory();
- const code = 'Success';
- if (String(code).toUpperCase() === 'SUCCESS') {
- const { historyWords = [] } = data;
- this.setData({
- historyWords,
- });
- }
- } catch (error) {
- console.error(error);
- }
- },
-
- async queryPopular() {
- try {
- const data = await getSearchPopular();
- const code = 'Success';
- if (String(code).toUpperCase() === 'SUCCESS') {
- const { popularWords = [] } = data;
- this.setData({
- popularWords,
- });
- }
- } catch (error) {
- console.error(error);
- }
- },
-
- confirm() {
- const { historyWords } = this.data;
- const { deleteType, deleteIndex } = this;
- historyWords.splice(deleteIndex, 1);
- if (deleteType === 0) {
- this.setData({
- historyWords,
- dialogShow: false,
- });
- } else {
- this.setData({ historyWords: [], dialogShow: false });
- }
- },
-
- close() {
- this.setData({ dialogShow: false });
- },
-
- handleClearHistory() {
- const { dialog } = this.data;
- this.deleteType = 1;
- this.setData({
- dialog: {
- ...dialog,
- message: '确认删除所有历史记录',
- },
- dialogShow: true,
- });
- },
-
- deleteCurr(e) {
- const { index } = e.currentTarget.dataset;
- const { dialog } = this.data;
- this.deleteIndex = index;
- this.setData({
- dialog: {
- ...dialog,
- message: '确认删除当前历史记录',
- deleteType: 0,
- },
- dialogShow: true,
- });
- },
-
- handleHistoryTap(e) {
- const { historyWords } = this.data;
- const { dataset } = e.currentTarget;
- const _searchValue = historyWords[dataset.index || 0] || '';
- if (_searchValue) {
- wx.navigateTo({
- url: `/pages/goods/result/index?searchValue=${_searchValue}`,
- });
- }
- },
-
- handleSubmit(e) {
- const { value } = e.detail.value;
- if (value.length === 0) return;
- wx.navigateTo({
- url: `/pages/goods/result/index?searchValue=${value}`,
- });
- },
-});
diff --git a/pages/goods/search/index.json b/pages/goods/search/index.json
deleted file mode 100644
index 74abdf7..0000000
--- a/pages/goods/search/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "navigationBarTitleText": "搜索",
- "usingComponents": {
- "t-search": "tdesign-miniprogram/search/search",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-dialog": "tdesign-miniprogram/dialog/dialog"
- }
-}
diff --git a/pages/goods/search/index.wxml b/pages/goods/search/index.wxml
deleted file mode 100644
index 743f83c..0000000
--- a/pages/goods/search/index.wxml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{item}}
-
-
-
-
-
-
-
- {{item}}
-
-
-
-
-
-
-
diff --git a/pages/goods/search/index.wxss b/pages/goods/search/index.wxss
deleted file mode 100644
index 676603e..0000000
--- a/pages/goods/search/index.wxss
+++ /dev/null
@@ -1,79 +0,0 @@
-.search-page {
- box-sizing: border-box;
- width: 100vw;
- height: 100vh;
- padding: 0 30rpx;
-}
-
-.search-page .t-class__input-container {
- height: 64rpx !important;
- border-radius: 32rpx !important;
-}
-
-.search-page .t-search__input {
- font-size: 28rpx !important;
- color: #333 !important;
-}
-
-.search-page .search-wrap {
- margin-top: 44rpx;
-}
-
-.search-page .history-wrap {
- margin-bottom: 20px;
-}
-
-.search-page .search-header {
- display: flex;
- flex-flow: row nowrap;
- justify-content: space-between;
- align-items: center;
-}
-
-.search-page .search-title {
- font-size: 30rpx;
- font-family: PingFangSC-Semibold, PingFang SC;
- font-weight: 600;
- color: rgba(51, 51, 51, 1);
- line-height: 42rpx;
-}
-
-.search-page .search-clear {
- font-size: 24rpx;
- font-family: PingFang SC;
- line-height: 32rpx;
- color: #999999;
- font-weight: normal;
-}
-
-.search-page .search-content {
- overflow: hidden;
- display: flex;
- flex-flow: row wrap;
- justify-content: flex-start;
- align-items: flex-start;
- margin-top: 24rpx;
-}
-
-.search-page .search-item {
- color: #333333;
- font-size: 24rpx;
- line-height: 32rpx;
- font-weight: normal;
- margin-right: 24rpx;
- margin-bottom: 24rpx;
- background: #f5f5f5;
- border-radius: 38rpx;
- padding: 12rpx 24rpx;
-}
-
-.search-page .hover-history-item {
- position: relative;
- top: 3rpx;
- left: 3rpx;
- box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.1) inset;
-}
-
-.add-notes__confirm {
- color: #fa4126 !important;
-}
diff --git a/pages/home/additive/additive.json b/pages/home/additive/additive.json
index da66c1a..6055f4d 100644
--- a/pages/home/additive/additive.json
+++ b/pages/home/additive/additive.json
@@ -3,6 +3,7 @@
"onReachBottomDistance": 10,
"backgroundTextStyle": "light",
"usingComponents": {
+ "tox-tag": "../../../components/tox-tag",
"t-icon": "tdesign-miniprogram/icon/icon",
"t-tag": "tdesign-miniprogram/tag/tag",
"t-tabs": "tdesign-miniprogram/tabs/tabs"
diff --git a/pages/home/additive/additive.wxml b/pages/home/additive/additive.wxml
index f3a20ff..dc6b3a6 100644
--- a/pages/home/additive/additive.wxml
+++ b/pages/home/additive/additive.wxml
@@ -2,7 +2,7 @@
-
+
{{additiveData.name ? additiveData.name : 'XXX'}}
{{additiveData.enName ? additiveData.enName : 'xxx'}}
@@ -24,7 +24,10 @@
包含物质
- {{item.name}}
+
+ {{item.name}}
+
+
{{item.cas}}
diff --git a/pages/home/additive/additive.wxss b/pages/home/additive/additive.wxss
index f0abc85..95e2bd5 100644
--- a/pages/home/additive/additive.wxss
+++ b/pages/home/additive/additive.wxss
@@ -2,6 +2,7 @@
.main {
width: 100%;
+ padding-bottom: 30px;
}
.main-item {
diff --git a/pages/home/chemical/chemical.js b/pages/home/chemical/chemical.js
index ef8efd4..b5eb98d 100644
--- a/pages/home/chemical/chemical.js
+++ b/pages/home/chemical/chemical.js
@@ -25,7 +25,8 @@ Page({
"name": "",
"otherName": "",
"toxicity": []
- }
+ },
+ showToxInfo: false,
},
/**
@@ -41,13 +42,25 @@ Page({
if (respose.code == 10000) {
// console.log(respose.content);
this.setData({
- chemicalData: respose.content
+ chemicalData: respose.content,
})
console.log(this.data.chemicalData);
}
})
},
+ onOpenToxInfo() {
+ this.setData({
+ showToxInfo: true,
+ })
+ },
+
+ onCloseToxInfo() {
+ this.setData({
+ showToxInfo: false
+ })
+ },
+
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/home/chemical/chemical.json b/pages/home/chemical/chemical.json
index 78ed037..200306e 100644
--- a/pages/home/chemical/chemical.json
+++ b/pages/home/chemical/chemical.json
@@ -4,12 +4,14 @@
"backgroundTextStyle": "light",
"usingComponents": {
"no-data": "../components/no-data/no-data",
+ "tox-tag": "../../../components/tox-tag",
"t-search": "tdesign-miniprogram/search/search",
"t-icon": "tdesign-miniprogram/icon/icon",
"t-grid": "tdesign-miniprogram/grid/grid",
- "t-grid-item": "tdesign-miniprogram/grid/grid-item",
+ "t-grid-item": "tdesign-miniprogram/grid-item/grid-item",
"t-tag": "tdesign-miniprogram/tag/tag",
"t-tabs": "tdesign-miniprogram/tabs/tabs",
- "t-tab-panel": "tdesign-miniprogram/tabs/tab-panel"
+ "t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",
+ "t-dialog": "tdesign-miniprogram/dialog/dialog"
}
}
\ No newline at end of file
diff --git a/pages/home/chemical/chemical.wxml b/pages/home/chemical/chemical.wxml
index 19b594b..b5324ee 100644
--- a/pages/home/chemical/chemical.wxml
+++ b/pages/home/chemical/chemical.wxml
@@ -2,9 +2,13 @@
-
+
- {{chemicalData.name ? chemicalData.name : 'XXX'}}
+
+ {{chemicalData.name ? chemicalData.name : 'XXX'}}
+
+
+
{{chemicalData.enName ? chemicalData.enName : 'xxx'}}
@@ -19,12 +23,12 @@
-
+
-
+
- {{item}}
+ {{chemicalData.description}}
@@ -37,10 +41,10 @@
{{item}}
-
+
-
+
@@ -55,7 +59,7 @@
-
+
@@ -63,7 +67,7 @@
{{item.diseasename}}
- {{item.directevidence == 'therapeutic' ? '治疗' : '相关'}}
+ {{item.directevidence == 'therapeutic' ? '有疗效' : '标记/机制'}}
相关论文:
@@ -75,4 +79,14 @@
-
\ No newline at end of file
+
+
+
+
+
+ LD50值指的是一次全部给予造成试验动物50%(一半)死亡的化学品数量;
+ LC50值(50%致死浓度)指的是化学品在空气中或水中造成一组试验动物50%(一半)死亡的浓度;
+ LDLo值指的是产生毒性效应的最低剂量;
+
+
+
\ No newline at end of file
diff --git a/pages/home/chemical/chemical.wxss b/pages/home/chemical/chemical.wxss
index 842fe25..9be7eea 100644
--- a/pages/home/chemical/chemical.wxss
+++ b/pages/home/chemical/chemical.wxss
@@ -17,8 +17,10 @@
}
.logo-image {
- width: 50px;
- height: 50px;
+ min-width: 50px;
+ min-height: 50px;
+ max-width: 50px;
+ max-height: 50px;
border-radius: 9999px;
border-style: solid;
border-width: 2px;
@@ -46,6 +48,7 @@
.title-enname {
color: rgb(150, 150, 150);
+ word-break: break-all;
}
.total {
@@ -74,6 +77,8 @@
font-size: 0.75rem;
line-height: 1.25rem;
font-weight: 600;
+ margin-left: 10px;
+ margin-right: 10px;
}
.toxicity-item {
@@ -132,4 +137,18 @@
padding: 5px;
padding-left: 10px;
padding-right: 10px;
+}
+
+.long-content .content-container {
+ white-space: pre-line;
+}
+
+.toxinfo-text {
+ margin-top: 10px;
+}
+
+.main-tabs {
+ font-size: 1.125rem;
+ line-height: 1.75rem;
+ font-weight: 600;
}
\ No newline at end of file
diff --git a/pages/home/components/no-data/no-data.wxml b/pages/home/components/no-data/no-data.wxml
index 1341cfe..829e511 100644
--- a/pages/home/components/no-data/no-data.wxml
+++ b/pages/home/components/no-data/no-data.wxml
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file
diff --git a/pages/home/home.js b/pages/home/home.js
index f9d38d2..81ad425 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -1,9 +1,6 @@
import {
fetchHome
} from '../../services/home/home';
-import {
- fetchGoodsList
-} from '../../services/good/fetchGoods';
import Toast from 'tdesign-miniprogram/toast/index';
import {
isLogin
@@ -11,6 +8,9 @@ import {
import {
sessionUpload
} from '../../services/api/session'
+import {
+ articleList
+} from '../../services/api/article'
Page({
data: {
@@ -19,7 +19,7 @@ Page({
goodsList: [],
goodsListLoadStatus: 0,
pageLoading: false,
- current: 1,
+ current: 0,
autoplay: true,
duration: 500,
interval: 5000,
@@ -27,6 +27,7 @@ Page({
type: 'dots'
},
loadingDialog: false,
+ swiperList: [],
},
@@ -47,127 +48,50 @@ Page({
this.init();
},
- onReachBottom() {
- if (this.data.goodsListLoadStatus === 0) {
- this.loadGoodsList();
- }
- },
+ onReachBottom() {},
onPullDownRefresh() {
this.init();
},
init() {
- this.loadHomePage();
isLogin()
+ this.loadHomePage()
},
loadHomePage() {
- wx.stopPullDownRefresh();
-
- this.setData({
- pageLoading: true,
- });
- fetchHome().then(({
- swiper,
- tabList
- }) => {
- this.setData({
- tabList,
- imgSrcs: swiper,
- pageLoading: false,
- });
- this.loadGoodsList(true);
- });
+ articleList({
+ type: 2,
+ isPublic: 2,
+ pageNumber: 1,
+ pageSize: 10
+ }).then(response => {
+ if (response.code == 10000) {
+ console.log(response.content);
+ if (response.content.contentList.length == 0) {
+ return
+ }
+ let tmp = []
+ for (let index = 0; index < response.content.contentList.length; index++) {
+ const element = response.content.contentList[index];
+ tmp.push(element.headerUrl)
+ }
+ this.setData({
+ swiperList: response.content.contentList,
+ imgSrcs: tmp
+ })
+ console.log(this.data.imgSrcs);
+ }
+ })
+ // this.setData({
+ // imgSrcs: [
+ // 'https://webplus-cn-hangzhou-s-603871eef968dd14ced82ed5.oss-cn-hangzhou.aliyuncs.com/hextech/static/use_btn.jpg',
+ // 'https://cdn-we-retail.ym.tencent.com/tsr/home/v2/banner2.png'
+ // ],
+ // });
},
- tabChangeHandle(e) {
- this.privateData.tabIndex = e.detail;
- this.loadGoodsList(true);
- },
-
- onReTry() {
- this.loadGoodsList();
- },
-
- async loadGoodsList(fresh = false) {
- if (fresh) {
- wx.pageScrollTo({
- scrollTop: 0,
- });
- }
-
- this.setData({
- goodsListLoadStatus: 1
- });
-
- const pageSize = this.goodListPagination.num;
- let pageIndex =
- this.privateData.tabIndex * pageSize + this.goodListPagination.index + 1;
- if (fresh) {
- pageIndex = 0;
- }
-
- try {
- const nextList = await fetchGoodsList(pageIndex, pageSize);
- this.setData({
- goodsList: fresh ? nextList : this.data.goodsList.concat(nextList),
- goodsListLoadStatus: 0,
- });
-
- this.goodListPagination.index = pageIndex;
- this.goodListPagination.num = pageSize;
- } catch (err) {
- this.setData({
- goodsListLoadStatus: 3
- });
- }
- },
-
- goodListClickHandle(e) {
- const {
- index
- } = e.detail;
- const {
- spuId
- } = this.data.goodsList[index];
- wx.navigateTo({
- url: `/pages/goods/details/index?spuId=${spuId}`,
- });
- },
-
- goodListAddCartHandle() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '点击加入购物车',
- });
- },
-
- navToSearchPage() {
- wx.navigateTo({
- url: '/pages/goods/search/index'
- });
- },
-
- navToActivityDetail(detail) {
- console.log(detail);
- const {
- index: promotionID = 0
- } = detail || {};
- console.log(promotionID);
- wx.navigateTo({
- url: `/pages/promotion-detail/index?promotion_id=${promotionID}`,
- });
- },
-
- showLoadingDialog() {
- this.data.loadingDialog = true
- },
-
- closeLoadingDialog() {
- this.data.loadingDialog = false
- },
+ onReTry() {},
// 上传图片
uploadPicture() {
@@ -201,6 +125,14 @@ Page({
})
},
+ onSwiperClick(e) {
+ const id = this.data.swiperList[e.detail.index].id
+ console.log(id);
+ wx.navigateTo({
+ url: `/pages/info/content-page/index?id=${id}`,
+ });
+ },
+
textButton(e) {
// this.goSession(76)
this.setData({
diff --git a/pages/home/home.json b/pages/home/home.json
index 2eccc26..97f2ce8 100644
--- a/pages/home/home.json
+++ b/pages/home/home.json
@@ -6,16 +6,12 @@
"t-search": "tdesign-miniprogram/search/search",
"t-loading": "tdesign-miniprogram/loading/loading",
"t-swiper": "tdesign-miniprogram/swiper/swiper",
- "t-swiper-item": "tdesign-miniprogram/swiper/swiper-item",
- "t-swiper-nav": "tdesign-miniprogram/swiper/swiper-nav",
- "t-image": "/components/webp-image/index",
+ "t-swiper-nav": "tdesign-miniprogram/swiper-nav/swiper-nav",
+ "t-image": "tdesign-miniprogram/image/image",
"t-icon": "tdesign-miniprogram/icon/icon",
- "t-toast": "tdesign-miniprogram/toast/toast",
"t-button": "tdesign-miniprogram/button/button",
"t-tabs": "tdesign-miniprogram/tabs/tabs",
- "t-tab-panel": "tdesign-miniprogram/tabs/tab-panel",
- "goods-list": "/components/goods-list/index",
- "load-more": "/components/load-more/index",
+ "t-tab-panel": "tdesign-miniprogram/tab-panel/tab-panel",
"t-dialog": "tdesign-miniprogram/dialog/dialog"
}
}
\ No newline at end of file
diff --git a/pages/home/home.wxml b/pages/home/home.wxml
index 059b173..1e01788 100644
--- a/pages/home/home.wxml
+++ b/pages/home/home.wxml
@@ -1,16 +1,13 @@
-
+
-
+
@@ -19,20 +19,31 @@
-
-
+
+
推荐指数:
-
- {{pageData.rate.text}}
+
+
+ {{pageData.rank.level}}
+
+
+ * {{item}}
+
+
+ 不健康物质:
+
+ {{item}}
+
+
类别:
@@ -43,10 +54,10 @@
食品标准号:
{{pageData.standard}}
- 暂无数据
- {{pageData.standardInfo.type}}
+ 未识别到数据
+ {{pageData.standardInfo.type}}
标准查询中…
- 修正
+ 修正
@@ -54,7 +65,7 @@
生产许可证:
{{item}}
- 暂无数据
+ 未识别到数据
@@ -64,22 +75,20 @@
{{pageData.additives.count}}
无添加
+ 补充
+
+
+
+ {{item.name}}
+
+ {{itemF}}
-
-
-
- {{item.name}}:
- {{item.count}}
-
-
-
-
生产企业
-
+ 未查询到生产企业
+
@@ -87,7 +96,7 @@
-
+
@@ -108,7 +117,7 @@
{{item.name}}
-
+
{{tag}}
@@ -116,27 +125,32 @@
所含元素:
- {{chemical.name}}
+
+ {{chemical.name}}
+
+
{{chemical.cas}}
-
-
+
+
-
-
+
+
+ 注:本数据为AI识别,数据来源于公开信息或论文,仅供参考。
+
@@ -144,7 +158,10 @@
- {{pageData.standardInfo.code}}
+
+ {{pageData.standardInfo.code}}
+ 点击阅读
+
标准名称:
{{pageData.standardInfo.name}}
@@ -172,6 +189,10 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/home/session/session.wxss b/pages/home/session/session.wxss
index 24e651e..27cbae7 100644
--- a/pages/home/session/session.wxss
+++ b/pages/home/session/session.wxss
@@ -1,5 +1,13 @@
/* pages/home/session/session.wxss */
-.main {}
+.main {
+ padding-bottom: 50px;
+}
+
+.main-comment {
+ margin-left: 30px;
+ margin-right: 30px;
+ color: rgb(85, 130, 255);
+}
.header {
height: 20%;
@@ -72,8 +80,17 @@
height: 80%;
}
+.body-tabs {
+ padding-left: 20px;
+ padding-right: 20px;
+}
+
+.body-tabs-item {
+ font-weight: 600;
+}
+
.total {
- margin: 30px;
+ margin: 10px;
overflow: auto;
}
@@ -131,18 +148,31 @@
.additive {
padding: 15px;
+ padding-bottom: 30px;
}
.additive-item {
/* width: 100%; */
- margin-bottom: 20px;
+ margin-bottom: 30px;
+ margin-top: 10px;
padding: 15px;
border-radius: 0.5rem;
--tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
border-style: solid;
border-width: 2px;
- border-color: rgba(230, 230, 230, 0.719);
+ border-color: rgba(184, 184, 184, 0.719);
+}
+
+.additive-item-name {
+ margin-left: 10px;
+ margin-top: 10px;
+ margin-bottom: 5px;
+}
+
+.additive-item-function {
+ margin-left: 10px;
+ color: rgb(150, 150, 150);
}
.additive-title {
@@ -158,6 +188,10 @@
font-weight: 550;
}
+.additive-type-box {
+ max-width: 200px;
+}
+
.additive-type {
margin-left: 5px;
color: rgb(150, 150, 150);
@@ -189,11 +223,15 @@
line-height: 1.5rem;
}
-.additive-chemical-right-icon {
+.additive-chemical-right-icon-box {
display: flex;
align-items: center;
}
+.additive-chemical-right-icon {
+ color: #bbbbbb !important;
+}
+
.additive-chemical-cas {
margin-left: 10px;
margin-top: 5px;
@@ -238,4 +276,24 @@
.standard-info-item-title {
font-weight: 600;
min-width: 80px;
+}
+
+.body-rank {
+ display: flex;
+}
+
+.body-ranck-text {
+ margin-left: 20px;
+ font-weight: 600;
+ font-size: 1.25rem;
+ line-height: 1.75rem;
+ color: rgb(224, 135, 0);
+}
+
+.body-rank-info {
+ margin-top: 5px;
+}
+
+.body-rank-info-item {
+ margin-top: 5px;
}
\ No newline at end of file
diff --git a/pages/info/content-page/index.js b/pages/info/content-page/index.js
new file mode 100644
index 0000000..fac2b60
--- /dev/null
+++ b/pages/info/content-page/index.js
@@ -0,0 +1,96 @@
+// pages/info/content-page/index.js
+import {
+ articleQuery
+} from '../../../services/api/article'
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ id: 0,
+ pageData: {
+ "id": 0,
+ "type": 0,
+ "name": "",
+ "createBy": "",
+ "isTop": 0,
+ "content": "",
+ "isPublic": 0,
+ "headerUrl": "",
+ "header": ""
+ },
+ contentText: ''
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.id = options?.id;
+ this.init();
+ },
+
+ init() {
+ articleQuery({
+ id: this.id,
+ }).then(response => {
+ if (response.code == 10000) {
+ console.log(response.content);
+ this.setData({
+ pageData: response.content,
+ })
+ }
+ })
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/info/content-page/index.json b/pages/info/content-page/index.json
new file mode 100644
index 0000000..e7cdca0
--- /dev/null
+++ b/pages/info/content-page/index.json
@@ -0,0 +1,8 @@
+{
+ "navigationBarTitleText": "",
+ "onReachBottomDistance": 10,
+ "backgroundTextStyle": "light",
+ "usingComponents": {
+ "t-image": "tdesign-miniprogram/image/image"
+ }
+}
\ No newline at end of file
diff --git a/pages/info/content-page/index.wxml b/pages/info/content-page/index.wxml
new file mode 100644
index 0000000..c830e0b
--- /dev/null
+++ b/pages/info/content-page/index.wxml
@@ -0,0 +1,16 @@
+
+
+ {{pageData.name}}
+
+
+ {{pageData.createBy}}
+
+
+ {{pageData.createTime}}
+
+ 发表
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/info/content-page/index.wxss b/pages/info/content-page/index.wxss
new file mode 100644
index 0000000..502d3b6
--- /dev/null
+++ b/pages/info/content-page/index.wxss
@@ -0,0 +1,36 @@
+/* pages/info/content-page/index.wxss */
+
+.main {
+ margin: 20px;
+ padding-bottom: 50px;
+}
+
+.content-title {
+ font-size: 1.5rem;
+ line-height: 2rem;
+ font-weight: 600;
+ margin-bottom: 20px;
+}
+
+.content-info {
+ display: flex;
+}
+
+.content-editor {
+ color: rgb(47, 113, 255);
+ margin-right: 20px;
+}
+
+.content-time {
+ margin-right: 20px;
+ margin-bottom: 20px;
+}
+
+.content-text [alt] {
+ width: 100%;
+}
+
+.hearder-image {
+ width: 100%;
+ margin-bottom: 20px;
+}
\ No newline at end of file
diff --git a/pages/order/after-service-detail/api.js b/pages/order/after-service-detail/api.js
deleted file mode 100644
index 22d62fe..0000000
--- a/pages/order/after-service-detail/api.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { resp } from '../after-service-list/api';
-import dayjs from 'dayjs';
-import { mockIp, mockReqId } from '../../../utils/mock';
-
-export const formatTime = (date, template) => dayjs(date).format(template);
-
-export function getRightsDetail({ rightsNo }) {
- const _resq = {
- data: {},
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 79,
- success: true,
- };
- _resq.data =
- resp.data.dataList.filter((item) => item.rights.rightsNo === rightsNo) ||
- {};
- return Promise.resolve(_resq);
-}
-
-export function cancelRights() {
- const _resq = {
- data: {},
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 79,
- success: true,
- };
- return Promise.resolve(_resq);
-}
diff --git a/pages/order/after-service-detail/index.js b/pages/order/after-service-detail/index.js
deleted file mode 100644
index 0093961..0000000
--- a/pages/order/after-service-detail/index.js
+++ /dev/null
@@ -1,209 +0,0 @@
-import Toast from 'tdesign-miniprogram/toast/index';
-import { ServiceType, ServiceTypeDesc, ServiceStatus } from '../config';
-import { formatTime, getRightsDetail } from './api';
-
-const TitleConfig = {
- [ServiceType.ORDER_CANCEL]: '退款详情',
- [ServiceType.ONLY_REFUND]: '退款详情',
- [ServiceType.RETURN_GOODS]: '退货退款详情',
-};
-
-Page({
- data: {
- pageLoading: true,
- serviceRaw: {},
- service: {},
- deliveryButton: {},
- gallery: {
- current: 0,
- show: false,
- proofs: [],
- },
- showProofs: false,
- backRefresh: false,
- },
-
- onLoad(query) {
- this.rightsNo = query.rightsNo;
- this.inputDialog = this.selectComponent('#input-dialog');
- this.init();
- },
-
- onShow() {
- // 当从其他页面返回,并且 backRefresh 被置为 true 时,刷新数据
- if (!this.data.backRefresh) return;
- this.init();
- this.setData({ backRefresh: false });
- },
-
- // 页面刷新,展示下拉刷新
- onPullDownRefresh_(e) {
- const { callback } = e.detail;
- return this.getService().then(() => callback && callback());
- },
-
- init() {
- this.setData({ pageLoading: true });
- this.getService().then(() => {
- this.setData({ pageLoading: false });
- });
- },
-
- getService() {
- const params = { rightsNo: this.rightsNo };
- return getRightsDetail(params).then((res) => {
- const serviceRaw = res.data[0];
- // 滤掉填写运单号、修改运单号按钮,这两个按钮特殊处理,不在底部按钮栏展示
- if (!serviceRaw.buttonVOs) serviceRaw.buttonVOs = [];
- const deliveryButton = {};
- const service = {
- id: serviceRaw.rights.rightsNo,
- serviceNo: serviceRaw.rights.rightsNo,
- storeName: serviceRaw.rights.storeName,
- type: serviceRaw.rights.rightsType,
- typeDesc: ServiceTypeDesc[serviceRaw.rights.rightsType],
- status: serviceRaw.rights.rightsStatus,
- statusIcon: this.genStatusIcon(serviceRaw.rights),
- statusName: serviceRaw.rights.userRightsStatusName,
- statusDesc: serviceRaw.rights.userRightsStatusDesc,
- amount: serviceRaw.rights.refundRequestAmount,
- goodsList: (serviceRaw.rightsItem || []).map((item, i) => ({
- id: i,
- thumb: item.goodsPictureUrl,
- title: item.goodsName,
- specs: (item.specInfo || []).map((s) => s.specValues || ''),
- itemRefundAmount: item.itemRefundAmount,
- rightsQuantity: item.rightsQuantity,
- })),
- orderNo: serviceRaw.rights.orderNo, // 订单编号
- rightsNo: serviceRaw.rights.rightsNo, // 售后服务单号
- rightsReasonDesc: serviceRaw.rights.rightsReasonDesc, // 申请售后原因
- isRefunded:
- serviceRaw.rights.userRightsStatus === ServiceStatus.REFUNDED, // 是否已退款
- refundMethodList: (serviceRaw.refundMethodList || []).map((m) => ({
- name: m.refundMethodName,
- amount: m.refundMethodAmount,
- })), // 退款明细
- refundRequestAmount: serviceRaw.rights.refundRequestAmount, // 申请退款金额
- payTraceNo: serviceRaw.rightsRefund.traceNo, // 交易流水号
- createTime: formatTime(
- parseFloat(`${serviceRaw.rights.createTime}`),
- 'YYYY-MM-DD HH:mm',
- ), // 申请时间
- logisticsNo: serviceRaw.logisticsVO.logisticsNo, // 退货物流单号
- logisticsCompanyName: serviceRaw.logisticsVO.logisticsCompanyName, // 退货物流公司
- logisticsCompanyCode: serviceRaw.logisticsVO.logisticsCompanyCode, // 退货物流公司
- remark: serviceRaw.logisticsVO.remark, // 退货备注
- receiverName: serviceRaw.logisticsVO.receiverName, // 收货人
- receiverPhone: serviceRaw.logisticsVO.receiverPhone, // 收货人电话
- receiverAddress: this.composeAddress(serviceRaw), // 收货人地址
- applyRemark: serviceRaw.rightsRefund.refundDesc, // 申请退款时的填写的说明
- buttons: serviceRaw.buttonVOs || [],
- logistics: serviceRaw.logisticsVO,
- };
- const proofs = serviceRaw.rights.rightsImageUrls || [];
- this.setData({
- serviceRaw,
- service,
- deliveryButton,
- 'gallery.proofs': proofs,
- showProofs:
- serviceRaw.rights.userRightsStatus === ServiceStatus.PENDING_VERIFY &&
- (service.applyRemark || proofs.length > 0),
- });
- wx.setNavigationBarTitle({
- title: TitleConfig[service.type],
- });
- });
- },
-
- composeAddress(service) {
- return [
- service.logisticsVO.receiverProvince,
- service.logisticsVO.receiverCity,
- service.logisticsVO.receiverCountry,
- service.logisticsVO.receiverArea,
- service.logisticsVO.receiverAddress,
- ]
- .filter((item) => !!item)
- .join(' ');
- },
-
- onRefresh() {
- this.init();
- },
-
- editLogistices() {
- this.setData({
- inputDialogVisible: true,
- });
- this.inputDialog.setData({
- cancelBtn: '取消',
- confirmBtn: '确定',
- });
- this.inputDialog._onComfirm = () => {
- Toast({
- message: '确定填写物流单号',
- });
- };
- },
-
- onProofTap(e) {
- if (this.data.gallery.show) {
- this.setData({
- 'gallery.show': false,
- });
- return;
- }
- const { index } = e.currentTarget.dataset;
- this.setData({
- 'gallery.show': true,
- 'gallery.current': index,
- });
- },
-
- onGoodsCardTap(e) {
- const { index } = e.currentTarget.dataset;
- const goods = this.data.serviceRaw.rightsItem[index];
- wx.navigateTo({ url: `/pages/goods/details/index?skuId=${goods.skuId}` });
- },
-
- onServiceNoCopy() {
- wx.setClipboardData({
- data: this.data.service.serviceNo,
- });
- },
-
- onAddressCopy() {
- wx.setClipboardData({
- data: `${this.data.service.receiverName} ${this.data.service.receiverPhone}\n${this.data.service.receiverAddress}`,
- });
- },
-
- /** 获取状态ICON */
- genStatusIcon(item) {
- const { userRightsStatus, afterSaleRequireType } = item;
- switch (userRightsStatus) {
- // 退款成功
- case ServiceStatus.REFUNDED: {
- return 'succeed';
- }
- // 已取消、已关闭
- case ServiceStatus.CLOSED: {
- return 'indent_close';
- }
- default: {
- switch (afterSaleRequireType) {
- case 'REFUND_MONEY': {
- return 'goods_refund';
- }
- case 'REFUND_GOODS_MONEY':
- return 'goods_return';
- default: {
- return 'goods_return';
- }
- }
- }
- }
- },
-});
diff --git a/pages/order/after-service-detail/index.json b/pages/order/after-service-detail/index.json
deleted file mode 100644
index dc4df43..0000000
--- a/pages/order/after-service-detail/index.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "navigationBarTitleText": "",
- "usingComponents": {
- "wr-loading-content": "/components/loading-content/index",
- "wr-price": "/components/price/index",
- "wr-service-goods-card": "../components/order-goods-card/index",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh",
- "t-grid": "tdesign-miniprogram/grid/grid",
- "t-grid-item": "tdesign-miniprogram/grid/grid-item",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-input": "tdesign-miniprogram/input/input",
- "t-swiper": "tdesign-miniprogram/swiper/swiper",
- "wr-after-service-button-bar": "../components/after-service-button-bar/index",
- "t-image": "/components/webp-image/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/after-service-detail/index.wxml b/pages/order/after-service-detail/index.wxml
deleted file mode 100644
index dff24db..0000000
--- a/pages/order/after-service-detail/index.wxml
+++ /dev/null
@@ -1,223 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 复制
-
-
-
- {{service.receiverAddress}}
-
- 收货人:{{service.receiverName}}
- 收货人手机:{{service.receiverName}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 复制
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 物流单号
-
- {{amountTip}}
-
-
-
-
diff --git a/pages/order/after-service-detail/index.wxss b/pages/order/after-service-detail/index.wxss
deleted file mode 100644
index e604dd6..0000000
--- a/pages/order/after-service-detail/index.wxss
+++ /dev/null
@@ -1,443 +0,0 @@
-:host {
- background-color: #f5f5f5;
-}
-
-.service-detail {
- position: relative;
-}
-
-.service-detail wr-service-goods-card .wr-goods-card__body {
- margin-left: 50rpx;
-}
-
-.order-goods-card-footer {
- display: flex;
- width: calc(100% - 190rpx);
- justify-content: space-between;
- position: absolute;
- bottom: 20rpx;
- left: 190rpx;
-}
-
-.order-goods-card-footer-num {
- color: #999;
- line-height: 40rpx;
-}
-
-.service-detail .order-goods-card-footer .order-goods-card-footer-price-class {
- font-size: 36rpx;
- color: #333;
- font-family: DIN Alternate;
-}
-
-.service-detail
- .order-goods-card-footer
- .order-goods-card-footer-price-decimal {
- font-size: 28rpx;
- color: #333;
- font-family: DIN Alternate;
-}
-
-.service-detail .order-goods-card-footer .order-goods-card-footer-price-symbol {
- color: #333;
- font-size: 24rpx;
- font-family: DIN Alternate;
-}
-
-.service-detail .service-detail__header {
- padding: 60rpx 0 48rpx 40rpx;
- box-sizing: border-box;
- height: 220rpx;
- background-color: #fff;
-}
-.service-detail .service-detail__header .title,
-.service-detail .service-detail__header .desc {
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
-}
-
-.service-detail .service-detail__header .title {
- -webkit-line-clamp: 1;
- font-size: 48rpx;
- font-weight: bold;
- color: #333;
- display: flex;
-}
-
-.service-detail .service-detail__header .desc {
- -webkit-line-clamp: 2;
- margin-top: 10rpx;
- font-size: 28rpx;
- color: #999;
-}
-
-.service-detail .service-detail__header .desc .count-down {
- color: #fff185;
- display: inline;
-}
-
-.service-detail .service-section {
- margin: 20rpx 0 20rpx 0;
- padding: 30rpx 32rpx;
- width: auto;
- border-radius: 8rpx;
- background-color: white;
- overflow: hidden;
-}
-.service-section__pay {
- margin: 0 0 20rpx 0;
- width: auto;
- border-radius: 8rpx;
- background-color: white;
- overflow: hidden;
-}
-.service-detail .service-section__title {
- color: #333333;
- margin-bottom: 10rpx;
- height: 200rpx;
- position: relative;
-}
-.service-detail .service-section__title .icon {
- margin-right: 16rpx;
- font-size: 40rpx !important;
-}
-.service-detail .service-section__title .right {
- flex: none;
- font-weight: normal;
- font-size: 26rpx;
-}
-.service-detail .section-content {
- margin: 16rpx 0 0 52rpx;
-}
-
-.service-detail .main {
- font-size: 28rpx;
- color: #222427;
- font-weight: bold;
-}
-
-.service-detail .main .phone-num {
- margin-left: 16rpx;
- display: inline;
-}
-.service-detail .label {
- color: #999999;
- font-size: 26rpx;
-}
-
-.service-detail .custom-remark {
- font-size: 26rpx;
- line-height: 36rpx;
- color: #333333;
- word-wrap: break-word;
-}
-.service-detail .proofs {
- margin-top: 20rpx;
-}
-
-.service-detail .proofs .proof {
- width: 100%;
- height: 100%;
- background-color: #f9f9f9;
-}
-
-.service-detail .pay-result .t-cell-title,
-.service-detail .pay-result .t-cell-value {
- color: #666666;
- font-size: 28rpx;
-}
-
-.t-class-wrapper {
- padding: 10rpx 24rpx !important;
-}
-
-.t-class-wrapper-first-child {
- padding: 24rpx !important;
-}
-
-.service-detail .pay-result .wr-cell__value {
- font-weight: bold;
-}
-.service-detail .right {
- font-size: 36rpx;
- color: #fa550f;
- font-weight: bold;
-}
-
-.service-detail .title {
- font-weight: bold;
-}
-
-.service-detail .pay-result .service-section__title .right.integer {
- font-size: 48rpx;
-}
-.service-detail .pay-result .split-line {
- position: relative;
-}
-
-.service-detail .pay-result .split-line::after {
- position: absolute;
- display: block;
- content: ' ';
- height: 1px;
- left: -50%;
- right: -50%;
- transform: scale(0.5);
- background-color: #e6e6e6;
-}
-
-.service-detail .pay-result .section-content {
- margin-left: 0;
-}
-
-.service-detail .pay-result .section-content .label {
- color: #999999;
- font-size: 24rpx;
-}
-
-.service-detail .pay-result .wr-cell::after {
- left: 0;
-}
-
-.service-detail .footer-bar-wrapper {
- height: 100rpx;
-}
-
-.service-detail .footer-bar-wrapper .footer-bar {
- position: fixed;
- left: 0;
- bottom: 0;
- height: 100rpx;
- width: 100vw;
- box-sizing: border-box;
- padding: 0 20rpx;
- background-color: white;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-
-.service-detail .text-btn {
- display: inline;
- color: #333;
- border: 2rpx solid #efefef;
- border-radius: 25rpx;
- margin-left: 10rpx;
- padding: 0 30rpx;
- font-weight: normal;
- font-size: 24rpx;
-}
-.service-detail .text-btn--active {
- opacity: 0.5;
-}
-
-.service-detail .specs-popup .bottom-btn {
- color: #fa550f;
-}
-.service-detail .specs-popup .bottom-btn::after {
- color: #fa550f;
-}
-
-.dialog .dialog__button-confirm {
- color: #fa550f;
-}
-
-.page-container
- .order-goods-card
- > wr-goods-card
- .wr-goods-card__bottom
- .price {
- top: 100rpx;
- left: 10rpx;
- position: absolute;
- color: #333;
-}
-
-.page-container .order-goods-card > wr-goods-card .wr-goods-card__num {
- top: 100rpx;
- right: 0;
- position: absolute;
-}
-
-.page-container
- .order-goods-card
- > wr-goods-card
- .wr-goods-card__bottom
- .price::before {
- display: inline;
- content: '退款金额:';
- margin-right: 1em;
- font-size: 24rpx;
- color: #333333;
- font-weight: normal;
-}
-
-.page-container .wr-goods-card__specs {
- margin: 14rpx 20rpx 0 0;
-}
-
-.page-container .order-goods-card > wr-goods-card .wr-goods-card__title {
- margin-right: 0;
- -webkit-line-clamp: 1;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- overflow: hidden;
- width: 80%;
-}
-
-.page-container .order-card .header .store-name {
- -webkit-line-clamp: 1;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- overflow: hidden;
- width: 80%;
-}
-
-.page-container .status-desc {
- box-sizing: border-box;
- padding: 22rpx 20rpx;
- font-size: 26rpx;
- line-height: 1.3;
- text-align: left;
- color: #333333;
- background-color: #f5f5f5;
- border-radius: 8rpx;
- word-wrap: break-word;
- margin-top: 40rpx;
- margin-bottom: 20rpx;
-}
-
-.page-container .header__right {
- font-size: 24rpx;
- color: #333333;
- display: flex;
- align-items: center;
-}
-
-.page-container .header__right__icon {
- color: #d05b27;
- font-size: 16px !important;
- margin-right: 10rpx;
-}
-
-.page-container .wr-goods-card__thumb {
- width: 140rpx;
-}
-.page-container .page-background {
- position: absolute;
- z-index: -1;
- top: 0;
- left: 0;
- width: 100vw;
- color: #fff;
- overflow: hidden;
-}
-.page-container .page-background-img {
- width: 100%;
- height: 320rpx !important;
-}
-.page-container .navbar-bg .nav-back,
-.page-container .navbar-bg .page-background {
- background: linear-gradient(
- to right,
- rgba(250, 85, 15, 1) 0%,
- rgba(250, 85, 15, 0.6) 100%
- ) !important;
-}
-
-.page-container .navigation-bar__btn {
- font-size: 40rpx !important;
- font-weight: bold !important;
- color: #333;
-}
-
-.t-class-title {
- color: #000;
-}
-
-.refresh-bar {
- background: linear-gradient(90deg, #ff6b44 0%, #ed3427 100%) !important;
-}
-
-.page-container .navigation-bar__inner .navigation-bar__left {
- padding-left: 16rpx;
-}
-
-.t-refund-info {
- font-size: 26rpx;
- color: #666;
-}
-
-.t-refund-grid-image {
- width: 212rpx !important;
- height: 212rpx !important;
-}
-
-.t-refund-info-img {
- width: 100%;
- height: 100%;
-}
-
-.t-refund-wrapper {
- padding: 10rpx 24rpx 10rpx 20rpx !important;
-}
-
-.t-refund-title {
- font-size: 28rpx;
- color: #333;
- font-weight: bold;
-}
-
-.t-refund-note {
- font-size: 26rpx;
- color: #333 !important;
-}
-
-.service-detail .logistics {
- padding-top: 0;
- padding-bottom: 0;
- padding-right: 0;
-}
-
-.service-section__title__header {
- display: flex;
- align-items: center;
- color: #333;
- font-weight: normal;
- font-size: 32rpx;
-}
-
-.safe-bottom {
- padding-bottom: env(safe-area-inset-bottom);
-}
-
-.service-section-logistics {
- display: flex;
- justify-content: center;
- color: #fa4126;
- align-items: center;
- margin-top: 24rpx;
-}
-.add-notes__confirm {
- color: #fa4126 !important;
-}
-.t-class-indicator {
- color: #b9b9b9 !important;
-}
-
-.service-detail .goods-refund-address {
- padding-top: 0;
- padding-bottom: 0;
-}
-
-.service-detail .goods-refund-address .goods-refund-address-copy-btn {
- position: absolute;
- top: 22rpx;
- right: 0;
-}
-
-.service-detail .service-goods-card-wrap {
- padding-top: 0;
- padding-bottom: 0;
-}
diff --git a/pages/order/after-service-list/api.js b/pages/order/after-service-list/api.js
deleted file mode 100644
index 68bbf56..0000000
--- a/pages/order/after-service-list/api.js
+++ /dev/null
@@ -1,1278 +0,0 @@
-/* eslint-disable */
-import { mockIp, mockReqId } from '../../../utils/mock';
-
-export const resp = {
- data: {
- pageNum: 1,
- pageSize: 10,
- totalCount: 51,
- states: {
- audit: 1,
- approved: 6,
- complete: 2,
- closed: 1,
- },
- dataList: [
- {
- buttonVOs: [
- {
- name: '修改运单号',
- primary: false,
- type: 4,
- },
- {
- name: '查看物流',
- primary: false,
- type: 5,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- refundMethodList: [
- {
- refundMethodAmount: 99999,
- refundMethodName: '微信支付',
- },
- {
- refundMethodAmount: 100000,
- refundMethodName: '银行卡支付',
- },
- ],
- createTime: '1596524705613',
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '123123423',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 50,
- rightsStatusName: '已完成',
- rightsType: 20,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 120,
- userRightsStatusDesc:
- '商家已退款,退回资金将原路三个工作日返回您的账户',
- userRightsStatusName: '已退款',
- afterSaleRequireType: 'REFUND_MONEY',
- rightsImageUrls: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- ],
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- {
- actualPrice: 9999,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '华为手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 9999,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 8123129,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- refundDesc: '由于您信誉良好,商家同意退款',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: 'SF2380380982034',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '顺丰',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- nodes: [
- {
- title: '已签收',
- icon: 'https://cdn-we-retail.ym.tencent.com/tsr/icon/order.png',
- code: '200003',
- desc: '商家已签收,感谢使用顺丰,期待再次为您服务',
- date: '2020-09-11 11:34:53',
- },
- {
- title: '运输中',
- icon: 'https://cdn-we-retail.ym.tencent.com/tsr/icon/deliver.png',
- desc: '快件已到达成都中转站',
- code: '200002',
- date: '2020-07-16 11:16:31',
- },
- {
- title: '已寄出',
- icon: 'https://cdn-we-retail.ym.tencent.com/tsr/icon/deliver.png',
- desc: '买家已寄出,物流承运商:顺丰速运',
- date: '2020-07-16 11:16:21',
- },
- ],
- },
- },
- {
- buttonVOs: [
- {
- name: '填写运单号',
- primary: false,
- type: 3,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- rightsImageUrls: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- ],
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234231',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 20,
- rightsStatusName: '已审核',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 100,
- userRightsStatusDesc: '商家已审核确认,预计1小时内发起退款',
- userRightsStatusName: '商家已审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- refundDesc: '由于您信誉良好,商家同意退款',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: 'SA9208097023203',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '申通快递',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [
- {
- name: '撤销申请',
- primary: false,
- type: 2,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- rightsImageUrls: [
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- ],
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234232',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 60,
- rightsStatusName: '已关闭',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 100,
- userRightsStatusDesc: '商家将尽快确认您的退款申请',
- userRightsStatusName: '等待商家审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- refundDesc: '实际商品与描述不符',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: 'SF9343043084',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '顺丰',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- refundMethodList: [
- {
- refundMethodAmount: 99999,
- refundMethodName: '微信支付',
- },
- {
- refundMethodAmount: 100000,
- refundMethodName: '银行卡支付',
- },
- ],
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234233',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 50,
- rightsStatusName: '已完成',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName:
- '大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 160,
- userRightsStatusDesc: '退款/售后已完成',
- userRightsStatusName: '已完成',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [
- {
- name: '修改运单号',
- primary: false,
- type: 4,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234234',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 20,
- rightsStatusName: '已审核',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 1,
- userRightsStatusDesc: '商家已审核确认,预计1小时内发起退款',
- userRightsStatusName: '商家已审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '80900909',
- logisticsStatus: null,
- logisticsCompanyCode: '0004',
- logisticsCompanyName: '顺丰快递',
- remark: '质量问题,申请退货退款',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [
- {
- name: '撤销申请',
- primary: false,
- type: 2,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234235',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 10,
- rightsStatusName: '待审核',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName:
- '大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店-大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 1,
- userRightsStatusDesc:
- '商家将在24小时内审核,如24小时后商家仍未审核,系统将自动审核通过',
- userRightsStatusName: '待商家审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName:
- '小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [
- {
- name: '修改运单号',
- primary: false,
- type: 4,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234236',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 20,
- rightsStatusName: '已审核',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 1,
- userRightsStatusDesc: '商家已审核确认,预计1小时内发起退款',
- userRightsStatusName: '商家已审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '90900808',
- logisticsStatus: null,
- logisticsCompanyCode: '0002',
- logisticsCompanyName: '申通快递',
- remark: '质量问题,申请退货退款',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [
- {
- name: '填写运单号',
- primary: false,
- type: 3,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234237',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 20,
- rightsStatusName: '已审核',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 1,
- userRightsStatusDesc: '商家已审核确认,预计1小时内发起退款',
- userRightsStatusName: '商家已审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [
- {
- name: '撤销申请',
- primary: false,
- type: 2,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '123131231238',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234238',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 20,
- rightsStatusName: '已审核',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 1,
- userRightsStatusDesc: '商家已审核确认,预计1小时内发起退款',
- userRightsStatusName: '商家已审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName: '小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- {
- buttonVOs: [
- {
- name: '填写运单号',
- primary: false,
- type: 3,
- },
- ],
- saasId: '8888',
- storeId: '2591',
- uid: '88881046205',
- createTime: '1596524705613',
- rights: {
- bizRightsStatus: 1,
- bizRightsStatusName: '退款退货',
- createTime: '1596524705613',
- orderNo: '12313123123',
- refundAmount: 99999,
- refundRequestAmount: 999999,
- rightsMethod: 1,
- rightsNo: '1231234239',
- rightsParentNo: '78970',
- rightsReasonDesc: '太贵了,不想要了',
- rightsReasonType: 10,
- rightsStatus: 20,
- rightsStatusName: '已审核',
- rightsType: 10,
- saasId: 123,
- shippingFee: 99,
- shippingFeeBear: 1,
- storeId: 123,
- storeName: '大猫集团旗舰店',
- uid: '123',
- updateTime: '1596524705613',
- userRightsStatus: 1,
- userRightsStatusDesc: '商家已审核确认,预计1小时内发起退款',
- userRightsStatusName: '商家已审核',
- },
- rightsItem: [
- {
- actualPrice: 888,
- createTime: '1596524705613',
- disconutInfo: '现在下单,立刻优惠100元',
- goodsName:
- '小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机-小米手机',
- goodsPictureUrl:
- 'https://cdn-we-retail.ym.tencent.com/tsr/goods/nz-09a.png',
- goodsViceType: 1,
- itemDiscountAmount: 123123,
- itemRefundAmount: 888,
- itemStatus: 2,
- itemTotalAmount: 9913,
- orderNo: '12312333',
- parentOrderNo: '1231234',
- rightsId: 423423,
- rightsNo: '112333',
- rightsParentNo: '345345',
- rightsQuantity: 12,
- saasId: 123,
- skuId: 812312,
- specInfo: [
- {
- specTitle: '测试dr超长',
- specValues: '超长测试超长测试1',
- },
- {
- specTitle: 'bwtgg01',
- specValues: 'eee',
- },
- ],
- updateTime: '1596524705613',
- },
- ],
- rightsRefund: {
- callbackTime: '1596524705613',
- channel: '微信支付',
- channelTrxNo: '123123',
- createTime: '1596524705613',
- memo: '无摘要',
- refundAmount: 9999,
- refundStatus: 1,
- requestTime: '1596524705613',
- successTime: '1596524705613',
- traceNo: '123123',
- updateTime: '1596524705613',
- },
- logisticsVO: {
- logisticsType: 1,
- logisticsNo: '',
- logisticsStatus: null,
- logisticsCompanyCode: '',
- logisticsCompanyName: '',
- receiverAddressId: '20',
- provinceCode: '440000',
- cityCode: '440300',
- countryCode: '440306',
- receiverProvince: '广东省',
- receiverCity: '深圳市',
- receiverCountry: '南山区',
- receiverArea: '',
- receiverAddress: '清风路御龙湾',
- receiverPostCode: '',
- receiverLongitude: '113.880562',
- receiverLatitude: '22.56271',
- receiverIdentity: '88881046205',
- receiverPhone: '18371736717',
- receiverName: '周杰伦',
- expectArrivalTime: null,
- senderName: '刘德华',
- senderPhone: '1273109238123',
- senderAddress: '北京市昌平区大丰家园三号楼四单元108号',
- sendTime: null,
- arrivalTime: null,
- },
- },
- ],
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 79,
- success: true,
-};
-
-export function getRightsList({ parameter: { afterServiceStatus, pageNum } }) {
- const _resq = JSON.parse(JSON.stringify(resp));
- if (pageNum > 3) _resq.data.dataList = [];
- if (afterServiceStatus > -1) {
- _resq.data.dataList = _resq.data.dataList.filter(
- (item) => item.rights.rightsStatus === afterServiceStatus,
- );
- }
- return Promise.resolve(_resq);
-}
diff --git a/pages/order/after-service-list/index.js b/pages/order/after-service-list/index.js
deleted file mode 100644
index 7cd0cd5..0000000
--- a/pages/order/after-service-list/index.js
+++ /dev/null
@@ -1,220 +0,0 @@
-import { getRightsList } from './api';
-import { AfterServiceStatus, ServiceType, ServiceTypeDesc } from '../config';
-
-Page({
- page: {
- size: 10,
- num: 1,
- },
-
- data: {
- tabs: [
- {
- key: -1,
- text: '全部',
- },
- {
- key: AfterServiceStatus.TO_AUDIT,
- text: '待审核',
- },
- {
- key: AfterServiceStatus.THE_APPROVED,
- text: '已审核',
- },
- {
- key: AfterServiceStatus.COMPLETE,
- text: '已完成',
- },
- {
- key: AfterServiceStatus.CLOSED,
- text: '已关闭',
- },
- ],
- curTab: -1,
- dataList: [],
- listLoading: 0, // 0-未加载,1-加载中,2-已全部加载
- pullDownRefreshing: false, // 下拉刷新时不显示load-more
- emptyImg:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/order/empty-order-list.png',
- backRefresh: false,
- },
-
- onLoad(query) {
- let status = parseInt(query.status);
- status = this.data.tabs.map((t) => t.key).includes(status) ? status : -1;
- this.init(status);
- this.pullDownRefresh = this.selectComponent('#wr-pull-down-refresh');
- },
-
- onShow() {
- // 当从其他页面返回,并且 backRefresh 被置为 true 时,刷新数据
- if (!this.data.backRefresh) return;
- this.onRefresh();
- this.setData({
- backRefresh: false,
- });
- },
-
- onReachBottom() {
- if (this.data.listLoading === 0) {
- this.getAfterServiceList(this.data.curTab);
- }
- },
-
- onPageScroll(e) {
- this.pullDownRefresh && this.pullDownRefresh.onPageScroll(e);
- },
-
- onPullDownRefresh_(e) {
- const { callback } = e.detail;
- this.setData({
- pullDownRefreshing: true,
- }); // 下拉刷新时不显示load-more
- this.refreshList(this.data.curTab)
- .then(() => {
- this.setData({
- pullDownRefreshing: false,
- });
- callback && callback();
- })
- .catch((err) => {
- this.setData({
- pullDownRefreshing: false,
- });
- Promise.reject(err);
- });
- },
-
- init(status) {
- status = status !== undefined ? status : this.data.curTab;
- this.refreshList(status);
- },
-
- getAfterServiceList(statusCode = -1, reset = false) {
- const params = {
- parameter: {
- pageSize: this.page.size,
- pageNum: this.page.num,
- },
- };
- if (statusCode !== -1) params.parameter.afterServiceStatus = statusCode;
- this.setData({
- listLoading: 1,
- });
- return getRightsList(params)
- .then((res) => {
- this.page.num++;
- let dataList = [];
- let { tabs } = this.data;
- if (res && res.data && res.data.states) {
- tabs = this.data.tabs.map((item) => {
- switch (item.key) {
- case AfterServiceStatus.TO_AUDIT:
- item.info = res.data.states.audit;
- break;
- case AfterServiceStatus.THE_APPROVED:
- item.info = res.data.states.approved;
- break;
- case AfterServiceStatus.COMPLETE:
- item.info = res.data.states.complete;
- break;
- case AfterServiceStatus.CLOSED:
- item.info = res.data.states.closed;
- break;
- }
- return item;
- });
- }
- if (res && res.data && res.data.dataList) {
- dataList = (res.data.dataList || []).map((_data) => {
- return {
- id: _data.rights.rightsNo,
- serviceNo: _data.rights.rightsNo,
- storeName: _data.rights.storeName,
- type: _data.rights.rightsType,
- typeDesc: ServiceTypeDesc[_data.rights.rightsType],
- typeDescIcon:
- _data.rightsType === ServiceType.ONLY_REFUND
- ? 'money-circle'
- : 'return-goods-1',
- status: _data.rights.rightsStatus,
- statusName: _data.rights.userRightsStatusName,
- statusDesc: _data.rights.userRightsStatusDesc,
- amount: _data.rights.refundAmount,
- goodsList: _data.rightsItem.map((item, i) => ({
- id: i,
- thumb: item.goodsPictureUrl,
- title: item.goodsName,
- specs: (item.specInfo || []).map((s) => s.specValues || ''),
- itemRefundAmount: item.itemRefundAmount,
- rightsQuantity: item.itemRefundAmount,
- })),
- storeId: _data.storeId,
- buttons: _data.buttonVOs || [],
- logisticsNo: _data.logisticsVO.logisticsNo, // 退货物流单号
- logisticsCompanyName: _data.logisticsVO.logisticsCompanyName, // 退货物流公司
- logisticsCompanyCode: _data.logisticsVO.logisticsCompanyCode, // 退货物流公司
- remark: _data.logisticsVO.remark, // 退货备注
- logisticsVO: _data.logisticsVO,
- };
- });
- }
- return new Promise((resolve) => {
- if (reset) {
- this.setData(
- {
- dataList: [],
- },
- () => resolve(),
- );
- } else resolve();
- }).then(() => {
- this.setData({
- tabs,
- dataList: this.data.dataList.concat(dataList),
- listLoading: dataList.length > 0 ? 0 : 2,
- });
- });
- })
- .catch((err) => {
- this.setData({
- listLoading: 3,
- });
- return Promise.reject(err);
- });
- },
-
- onReTryLoad() {
- this.getAfterServiceList(this.data.curTab);
- },
-
- onTabChange(e) {
- const { value } = e.detail;
- const tab = this.data.tabs.find((v) => v.key === value);
- if (!tab) return;
- this.refreshList(value);
- },
-
- refreshList(status = -1) {
- this.page = {
- size: 10,
- num: 1,
- };
- this.setData({
- curTab: status,
- dataList: [],
- });
- return this.getAfterServiceList(status, true);
- },
-
- onRefresh() {
- this.refreshList(this.data.curTab);
- },
-
- // 点击订单卡片
- onAfterServiceCardTap(e) {
- wx.navigateTo({
- url: `/pages/order/after-service-detail/index?rightsNo=${e.currentTarget.dataset.order.id}`,
- });
- },
-});
diff --git a/pages/order/after-service-list/index.json b/pages/order/after-service-list/index.json
deleted file mode 100644
index 46b5d09..0000000
--- a/pages/order/after-service-list/index.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "navigationBarTitleText": "退款/售后",
- "usingComponents": {
- "wr-load-more": "/components/load-more/index",
- "wr-after-service-button-bar": "../components/after-service-button-bar/index",
- "wr-price": "/components/price/index",
- "wr-order-card": "../components/order-card/index",
- "wr-goods-card": "../components/goods-card/index",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-empty": "tdesign-miniprogram/empty/empty",
- "t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh"
- }
-}
\ No newline at end of file
diff --git a/pages/order/after-service-list/index.wxml b/pages/order/after-service-list/index.wxml
deleted file mode 100644
index 41ddd74..0000000
--- a/pages/order/after-service-list/index.wxml
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{order.statusDesc}}
-
-
-
-
-
-
-
-
- 暂无退款或售后申请记录
-
-
-
-
-
-
-
-
diff --git a/pages/order/after-service-list/index.wxss b/pages/order/after-service-list/index.wxss
deleted file mode 100644
index d518cbc..0000000
--- a/pages/order/after-service-list/index.wxss
+++ /dev/null
@@ -1,103 +0,0 @@
-:host {
- background-color: #f5f5f5;
-}
-
-.list-loading {
- height: 100rpx;
-}
-
-.empty-wrapper {
- height: calc(100vh - 88rpx);
-}
-
-.page-container .order-goods-card-footer {
- display: flex;
- width: calc(100% - 190rpx);
- justify-content: space-between;
- position: absolute;
- bottom: 20rpx;
- left: 190rpx;
-}
-
-.page-container .order-goods-card-footer .order-goods-card-footer-num {
- color: #999;
- line-height: 40rpx;
-}
-
-.page-container .order-goods-card-footer .order-goods-card-footer-price-class {
- font-size: 36rpx;
- color: #333;
- font-family: DIN Alternate;
-}
-
-.page-container .order-goods-card-footer .order-goods-card-footer-price-decimal {
- font-size: 28rpx;
- color: #333;
- font-family: DIN Alternate;
-}
-
-.page-container .order-goods-card-footer .order-goods-card-footer-price-symbol {
- color: #333;
- font-size: 24rpx;
- font-family: DIN Alternate;
-}
-
-.page-container .wr-goods-card__specs {
- margin: 14rpx 20rpx 0 0;
-}
-
-.page-container .order-goods-card > wr-goods-card .wr-goods-card__title {
- margin-right: 0;
- -webkit-line-clamp: 1;
-}
-
-.page-container .order-card .header .store-name {
- width: 80%;
- -webkit-line-clamp: 1;
-}
-
-.page-container .order-card .header .store-name > view {
- overflow: hidden;
- width: 100%;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.page-container .status-desc {
- box-sizing: border-box;
- padding: 22rpx 20rpx;
- font-size: 26rpx;
- line-height: 1.3;
- text-align: left;
- color: #333333;
- background-color: #f5f5f5;
- border-radius: 8rpx;
- word-wrap: break-word;
- margin-top: 24rpx;
- margin-bottom: 20rpx;
-}
-
-.page-container .header__right {
- font-size: 24rpx;
- color: #fa4126;
- display: flex;
- align-items: center;
-}
-
-.page-container .header__right__icon {
- color: #d05b27;
- font-size: 16px !important;
- margin-right: 10rpx;
-}
-
-.t-class-indicator {
- color: #b9b9b9 !important;
-}
-
-.add-notes__confirm {
- color: #fa4126 !important;
-}
-
-.page-container .header-class {
- margin-bottom: 5rpx!important;
-}
\ No newline at end of file
diff --git a/pages/order/apply-service/index.js b/pages/order/apply-service/index.js
deleted file mode 100644
index 6b6dc2d..0000000
--- a/pages/order/apply-service/index.js
+++ /dev/null
@@ -1,454 +0,0 @@
-import Dialog from 'tdesign-miniprogram/dialog/index';
-import Toast from 'tdesign-miniprogram/toast/index';
-import { priceFormat } from '../../../utils/util';
-import { OrderStatus, ServiceType, ServiceReceiptStatus } from '../config';
-import reasonSheet from '../components/reason-sheet/reasonSheet';
-import {
- fetchRightsPreview,
- dispatchConfirmReceived,
- fetchApplyReasonList,
- dispatchApplyService,
-} from '../../../services/order/applyService';
-
-Page({
- query: {},
- data: {
- uploading: false, // 凭证上传状态
- canApplyReturn: true, // 是否可退货
- goodsInfo: {},
- receiptStatusList: [
- { desc: '未收到货', status: ServiceReceiptStatus.NOT_RECEIPTED },
- { desc: '已收到货', status: ServiceReceiptStatus.RECEIPTED },
- ],
- applyReasons: [],
- serviceType: null, // 20-仅退款,10-退货退款
- serviceFrom: {
- returnNum: 1,
- receiptStatus: { desc: '请选择', status: null },
- applyReason: { desc: '请选择', type: null },
- // max-填写上限(单位分),current-当前值(单位分),temp输入框中的值(单位元)
- amount: { max: 0, current: 0, temp: 0, focus: false },
- remark: '',
- rightsImageUrls: [],
- },
- maxApplyNum: 2, // 最大可申请售后的商品数
- amountTip: '',
- showReceiptStatusDialog: false,
- validateRes: {
- valid: false,
- msg: '',
- },
- submitting: false,
- inputDialogVisible: false,
- uploadGridConfig: {
- column: 3,
- width: 212,
- height: 212,
- },
- serviceRequireType: '',
- },
-
- setWatcher(key, callback) {
- let lastData = this.data;
- const keys = key.split('.');
- keys.slice(0, -1).forEach((k) => {
- lastData = lastData[k];
- });
- const lastKey = keys[keys.length - 1];
- this.observe(lastData, lastKey, callback);
- },
-
- observe(data, k, callback) {
- let val = data[k];
- Object.defineProperty(data, k, {
- configurable: true,
- enumerable: true,
- set: (value) => {
- val = value;
- callback();
- },
- get: () => {
- return val;
- },
- });
- },
-
- validate() {
- let valid = true;
- let msg = '';
- // 检查必填项
- if (!this.data.serviceFrom.applyReason.type) {
- valid = false;
- msg = '请填写退款原因';
- } else if (!this.data.serviceFrom.amount.current) {
- valid = false;
- msg = '请填写退款金额';
- }
- if (this.data.serviceFrom.amount.current <= 0) {
- valid = false;
- msg = '退款金额必须大于0';
- }
- this.setData({ validateRes: { valid, msg } });
- },
-
- onLoad(query) {
- this.query = query;
- if (!this.checkQuery()) return;
- this.setData({
- canApplyReturn: query.canApplyReturn === 'true',
- });
- this.init();
- this.inputDialog = this.selectComponent('#input-dialog');
- this.setWatcher('serviceFrom.returnNum', this.validate.bind(this));
- this.setWatcher('serviceFrom.applyReason', this.validate.bind(this));
- this.setWatcher('serviceFrom.amount', this.validate.bind(this));
- this.setWatcher('serviceFrom.rightsImageUrls', this.validate.bind(this));
- },
-
- async init() {
- try {
- await this.refresh();
- } catch (e) {}
- },
-
- checkQuery() {
- const { orderNo, skuId } = this.query;
- if (!orderNo) {
- Dialog.alert({
- content: '请先选择订单',
- }).then(() => {
- wx.redirectTo({ url: 'pages/order/order-list/index' });
- });
- return false;
- }
- if (!skuId) {
- Dialog.alert({
- content: '请先选择商品',
- }).then(() => {
- wx.redirectTo(`pages/order/order-detail/index?orderNo=${orderNo}`);
- });
- return false;
- }
- return true;
- },
-
- async refresh() {
- wx.showLoading({ title: 'loading' });
- try {
- const res = await this.getRightsPreview();
- wx.hideLoading();
- const goodsInfo = {
- id: res.data.skuId,
- thumb: res.data.goodsInfo && res.data.goodsInfo.skuImage,
- title: res.data.goodsInfo && res.data.goodsInfo.goodsName,
- spuId: res.data.spuId,
- skuId: res.data.skuId,
- specs: ((res.data.goodsInfo && res.data.goodsInfo.specInfo) || []).map(
- (s) => s.specValue,
- ),
- paidAmountEach: res.data.paidAmountEach,
- boughtQuantity: res.data.boughtQuantity,
- };
- this.setData({
- goodsInfo,
- 'serviceFrom.amount': {
- max: res.data.refundableAmount,
- current: res.data.refundableAmount,
- },
- 'serviceFrom.returnNum': res.data.numOfSku,
- amountTip: `最多可申请退款¥ ${priceFormat(
- res.data.refundableAmount,
- 2,
- )},含发货运费¥ ${priceFormat(res.data.shippingFeeIncluded, 2)}`,
- maxApplyNum: res.data.numOfSkuAvailable,
- });
- } catch (err) {
- wx.hideLoading();
- throw err;
- }
- },
-
- async getRightsPreview() {
- const { orderNo, skuId, spuId } = this.query;
- const params = {
- orderNo,
- skuId,
- spuId,
- numOfSku: this.data.serviceFrom.returnNum,
- };
- const res = await fetchRightsPreview(params);
- return res;
- },
-
- onApplyOnlyRefund() {
- wx.setNavigationBarTitle({ title: '申请退款' });
- this.setData({ serviceRequireType: 'REFUND_MONEY' });
- this.switchReceiptStatus(0);
- },
-
- onApplyReturnGoods() {
- wx.setNavigationBarTitle({ title: '申请退货退款' });
- this.setData({ serviceRequireType: 'REFUND_GOODS' });
- const orderStatus = parseInt(this.query.orderStatus);
- Promise.resolve()
- .then(() => {
- if (orderStatus === OrderStatus.PENDING_RECEIPT) {
- return Dialog.confirm({
- title: '订单商品是否已经收到货',
- content: '',
- confirmBtn: '确认收货,并申请退货',
- cancelBtn: '未收到货',
- }).then(() => {
- return dispatchConfirmReceived({
- parameter: {
- logisticsNo: this.query.logisticsNo,
- orderNo: this.query.orderNo,
- },
- });
- });
- }
- return;
- })
- .then(() => {
- this.setData({ serviceType: ServiceType.RETURN_GOODS });
- this.switchReceiptStatus(1);
- });
- },
-
- onApplyReturnGoodsStatus() {
- reasonSheet({
- show: true,
- title: '选择退款原因',
- options: this.data.applyReasons.map((r) => ({
- title: r.desc,
- })),
- showConfirmButton: true,
- showCancelButton: true,
- emptyTip: '请选择退款原因',
- }).then((indexes) => {
- this.setData({
- 'serviceFrom.applyReason': this.data.applyReasons[indexes[0]],
- });
- });
- },
-
- onChangeReturnNum(e) {
- const { value } = e.detail;
- this.setData(
- {
- 'serviceFrom.returnNum': value,
- },
- () => {
- this.refresh();
- },
- );
- },
-
- onApplyGoodsStatus() {
- reasonSheet({
- show: true,
- title: '请选择收货状态',
- options: this.data.receiptStatusList.map((r) => ({
- title: r.desc,
- })),
- showConfirmButton: true,
- emptyTip: '请选择收货状态',
- }).then((indexes) => {
- this.setData({
- 'serviceFrom.receiptStatus': this.data.receiptStatusList[indexes[0]],
- });
- });
- },
-
- switchReceiptStatus(index) {
- const statusItem = this.data.receiptStatusList[index];
- // 没有找到对应的状态,则清空/初始化
- if (!statusItem) {
- this.setData({
- showReceiptStatusDialog: false,
- 'serviceFrom.receiptStatus': { desc: '请选择', status: null },
- 'serviceFrom.applyReason': { desc: '请选择', type: null }, // 收货状态改变时,初始化申请原因
- applyReasons: [],
- });
- return;
- }
- // 仅选中项与当前项不一致时,才切换申请原因列表applyReasons
- if (
- !statusItem ||
- statusItem.status === this.data.serviceFrom.receiptStatus.status
- ) {
- this.setData({ showReceiptStatusDialog: false });
- return;
- }
- this.getApplyReasons(statusItem.status).then((reasons) => {
- this.setData({
- showReceiptStatusDialog: false,
- 'serviceFrom.receiptStatus': statusItem,
- 'serviceFrom.applyReason': { desc: '请选择', type: null }, // 收货状态改变时,重置申请原因
- applyReasons: reasons,
- });
- });
- },
-
- getApplyReasons(receiptStatus) {
- const params = { rightsReasonType: receiptStatus };
- return fetchApplyReasonList(params)
- .then((res) => {
- return res.data.rightsReasonList.map((reason) => ({
- type: reason.id,
- desc: reason.desc,
- }));
- })
- .catch(() => {
- return [];
- });
- },
-
- onReceiptStatusDialogConfirm(e) {
- const { index } = e.currentTarget.dataset;
- this.switchReceiptStatus(index);
- },
-
- onAmountTap() {
- this.setData({
- 'serviceFrom.amount.temp': priceFormat(
- this.data.serviceFrom.amount.current,
- ),
- 'serviceFrom.amount.focus': true,
- inputDialogVisible: true,
- });
- this.inputDialog.setData({
- cancelBtn: '取消',
- confirmBtn: '确定',
- });
- this.inputDialog._onComfirm = () => {
- this.setData({
- 'serviceFrom.amount.current': this.data.serviceFrom.amount.temp * 100,
- });
- };
- this.inputDialog._onCancel = () => {};
- },
-
- // 对输入的值进行过滤
- onAmountInput(e) {
- let { value } = e.detail;
- const regRes = value.match(/\d+(\.?\d*)?/); // 输入中,允许末尾为小数点
- value = regRes ? regRes[0] : '';
- this.setData({ 'serviceFrom.amount.temp': value });
- },
-
- // 失去焦点时,更严格的过滤并转化为float
- onAmountBlur(e) {
- let { value } = e.detail;
- const regRes = value.match(/\d+(\.?\d+)?/); // 失去焦点时,不允许末尾为小数点
- value = regRes ? regRes[0] : '0';
- value = parseFloat(value) * 100;
- if (value > this.data.serviceFrom.amount.max) {
- value = this.data.serviceFrom.amount.max;
- }
- this.setData({
- 'serviceFrom.amount.temp': priceFormat(value),
- 'serviceFrom.amount.focus': false,
- });
- },
-
- onAmountFocus() {
- this.setData({ 'serviceFrom.amount.focus': true });
- },
-
- onRemarkChange(e) {
- const { value } = e.detail;
- this.setData({
- 'serviceFrom.remark': value,
- });
- },
-
- // 发起申请售后请求
- onSubmit() {
- this.submitCheck().then(() => {
- const params = {
- rights: {
- orderNo: this.query.orderNo,
- refundRequestAmount: this.data.serviceFrom.amount.current,
- rightsImageUrls: this.data.serviceFrom.rightsImageUrls,
- rightsReasonDesc: this.data.serviceFrom.applyReason.desc,
- rightsReasonType: this.data.serviceFrom.receiptStatus.status,
- rightsType: this.data.serviceType,
- },
- rightsItem: [
- {
- itemTotalAmount:
- this.data.goodsInfo.price * this.data.serviceFrom.returnNum,
- rightsQuantity: this.data.serviceFrom.returnNum,
- skuId: this.query.skuId,
- spuId: this.query.spuId,
- },
- ],
- refundMemo: this.data.serviceFrom.remark.current,
- };
- this.setData({ submitting: true });
- // 发起申请售后请求
- dispatchApplyService(params)
- .then((res) => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '申请成功',
- icon: '',
- });
-
- wx.redirectTo({
- url: `/pages/order/after-service-detail/index?rightsNo=${res.data.rightsNo}`,
- });
- })
- .then(() => this.setData({ submitting: false }))
- .catch(() => this.setData({ submitting: false }));
- });
- },
-
- submitCheck() {
- return new Promise((resolve) => {
- const { msg, valid } = this.data.validateRes;
- if (!valid) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: msg,
- icon: '',
- });
- return;
- }
- resolve();
- });
- },
-
- handleSuccess(e) {
- const { files } = e.detail;
- this.setData({
- 'sessionFrom.rightsImageUrls': files,
- });
- },
-
- handleRemove(e) {
- const { index } = e.detail;
- const {
- sessionFrom: { rightsImageUrls },
- } = this.data;
- rightsImageUrls.splice(index, 1);
- this.setData({
- 'sessionFrom.rightsImageUrls': rightsImageUrls,
- });
- },
-
- handleComplete() {
- this.setData({
- uploading: false,
- });
- },
-
- handleSelectChange() {
- this.setData({
- uploading: true,
- });
- },
-});
diff --git a/pages/order/apply-service/index.json b/pages/order/apply-service/index.json
deleted file mode 100644
index cfeaf7d..0000000
--- a/pages/order/apply-service/index.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "navigationBarTitleText": "选择售后类型",
- "usingComponents": {
- "wr-price": "/components/price/index",
- "wr-order-goods-card": "../components/order-goods-card/index",
- "wr-reason-sheet": "../components/reason-sheet/index",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-button": "tdesign-miniprogram/button/button",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-stepper": "tdesign-miniprogram/stepper/stepper",
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-textarea": "tdesign-miniprogram/textarea/textarea",
- "t-input": "tdesign-miniprogram/input/input",
- "t-uploader": "tdesign-miniprogram/upload/upload"
- }
-}
\ No newline at end of file
diff --git a/pages/order/apply-service/index.wxml b/pages/order/apply-service/index.wxml
deleted file mode 100644
index 8c451d6..0000000
--- a/pages/order/apply-service/index.wxml
+++ /dev/null
@@ -1,220 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 修改
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 上传凭证
- (最多3张)
-
-
-
-
-
-
- 提交
-
-
-
-
-
-
-
-
-
- {{item.desc}}
-
-
- 取消
-
-
-
-
-
-
- 退款金额
-
-
- ¥
-
- {{amountTip}}
-
-
-
-
-
diff --git a/pages/order/apply-service/index.wxss b/pages/order/apply-service/index.wxss
deleted file mode 100644
index c4ed87f..0000000
--- a/pages/order/apply-service/index.wxss
+++ /dev/null
@@ -1,290 +0,0 @@
-:host {
- background-color: #f5f5f5;
-}
-.select-service .service-form .service-from-group {
- margin-top: 20rpx;
-}
-.select-service .service-form {
- padding-bottom: calc(env(safe-area-inset-bottom) + 80rpx);
-}
-
-.order-goods-card-footer {
- display: flex;
- width: calc(100% - 190rpx);
- justify-content: space-between;
- position: absolute;
- bottom: 0;
- left: 190rpx;
-}
-
-.order-goods-card-footer-num {
- color: #999;
-}
-
-.select-service .order-goods-card-footer .order-goods-card-footer-price-class {
- font-size: 36rpx;
- color: #333;
- font-family: DIN Alternate;
-}
-.select-service
- .order-goods-card-footer
- .order-goods-card-footer-price-decimal {
- font-size: 28rpx;
- color: #333;
- font-family: DIN Alternate;
-}
-.select-service .order-goods-card-footer .order-goods-card-footer-price-symbol {
- color: #333;
- font-size: 24rpx;
- font-family: DIN Alternate;
-}
-
-.select-service .remark {
- min-height: 110rpx;
- border-radius: 10rpx;
- margin-top: 20rpx;
- background-color: #f5f5f5;
-}
-.select-service .remark::after {
- border: none;
-}
-
-.select-service .special-cell .special-cell-note {
- display: flex;
- flex-direction: column;
-}
-
-.select-service .special-cell .wr-cell__title {
- margin-right: 100rpx;
-}
-
-.select-service .special-cell .special-cell-note-price-class {
- font-size: 36rpx;
- color: #fa4126;
- font-family: DIN Alternate;
-}
-.select-service .special-cell .special-cell-note-price-decimal {
- font-size: 28rpx;
- color: #fa4126;
- font-family: DIN Alternate;
-}
-.select-service .special-cell .special-cell-note-price-symbol {
- color: #fa4126;
- font-size: 24rpx;
- font-family: DIN Alternate;
-}
-
-.select-service .bottom-bar__btn {
- width: 686rpx;
- background-color: #fa4126;
- color: white;
- font-size: 32rpx;
- border-radius: 48rpx;
- position: absolute;
- left: 50%;
- top: 20rpx;
- transform: translateX(-50%);
-}
-.select-service .bottom-bar__btn::after {
- border: none;
-}
-.select-service .bottom-bar__btn.disabled {
- background-color: #c6c6c6;
-}
-.select-service .bottom-bar__btn.disabled::after {
- border: none;
-}
-.select-service .order-goods-card .wr-goods-card {
- padding: 0 30rpx;
-}
-
-.order-goods-card-footer {
- display: flex;
- width: calc(100% - 190rpx);
- justify-content: space-between;
- position: absolute;
- bottom: 20rpx;
- left: 190rpx;
-}
-
-.order-goods-card-footer-num {
- color: #999;
- line-height: 40rpx;
-}
-
-.order-goods-card-title-class {
- width: 10rpx !important;
-}
-
-.input-dialog__content .input-dialog__input {
- font-size: 72rpx !important;
- height: 64rpx;
-}
-
-.input-dialog__content {
- text-align: left;
-}
-
-.input-dialog__content .input {
- font-size: 48rpx;
- padding-left: 0;
- padding-right: 0;
-}
-
-.input-dialog__content .tips {
- margin-top: 24rpx;
- font-size: 24rpx;
- color: #999999;
-}
-
-.t-input__name {
- width: 10rpx !important;
-}
-
-.input-dialog__title {
- color: #333;
- font-size: 32rpx;
- font-weight: normal;
-}
-
-.dialog--service-status {
- background-color: #f3f4f5;
- overflow: hidden;
-}
-.dialog--service-status .options .option {
- color: #333333;
- font-size: 30rpx;
- text-align: center;
- height: 100rpx;
- line-height: 100rpx;
- background-color: white;
-}
-.dialog--service-status .options .option:not(:last-child) {
- border-bottom: 1rpx solid #e6e6e6;
-}
-.dialog--service-status .options .option--active {
- opacity: 0.5;
-}
-.dialog--service-status .options .option.main {
- color: #fa4126;
-}
-.dialog--service-status .cancel {
- color: #333333;
- font-size: 30rpx;
- text-align: center;
- height: 100rpx;
- line-height: 100rpx;
- background-color: white;
- margin-top: 20rpx;
-}
-.dialog--service-status .cancel--active {
- opacity: 0.5;
-}
-.amount-dialog--focus .popup__content--center,
-.remark-dialog--focus .popup__content--center {
- top: 100rpx;
- transform: translate(-50%, 0);
-}
-.dialog .dialog__button-confirm {
- color: #fa4126;
- color: var(--color-primary, #fa4126);
-}
-.select-service .bottom-bar {
- background-color: #fff;
- position: fixed;
- bottom: 0;
- left: 0;
- width: 100%;
- height: 158rpx;
- z-index: 3;
-}
-.order-goods-card {
- background: #fff;
- margin-bottom: 24rpx;
-}
-.add-notes__confirm {
- color: #fa4126 !important;
-}
-.service-from-group__wrapper {
- display: flex;
- flex-direction: column;
- font-family: DIN Alternate;
- font-weight: bold;
- font-size: 36rpx;
- text-align: right;
- color: #fa4126;
-}
-.service-from-group__price {
- display: flex;
- align-items: center;
- color: #bbb;
- font-size: 24rpx;
- position: relative;
- left: 30rpx;
-}
-.service-from-group__textarea {
- margin-top: 32rpx;
- background: #f5f5f5 !important;
- border-radius: 16rpx;
-}
-.service-from-group__textarea
- .t-textarea__wrapper
- .t-textarea__wrapper-textarea {
- height: 136rpx;
- box-sizing: border-box;
-}
-.service-from-group__grid {
- padding: 0 32rpx 48rpx;
- background: #fff;
- margin-bottom: 148rpx;
-}
-.select-service .t-cell__left {
- margin-right: 0 !important;
-}
-
-.refund-money__description {
- font-size: 24rpx !important;
-}
-
-.upload-desc {
- text-align: center;
- display: flex;
- flex-direction: column;
- font-size: 24rpx;
- color: #999;
-}
-
-.t-cell__left__icon {
- position: relative;
- top: -24rpx;
- margin-right: 18rpx;
-}
-
-.service-choice .t-cell__title-text {
- color: #333;
- font-weight: bold;
-}
-
-.service-form
- .service-from-group
- .service-from-group__wrapper
- .refund-money-price-class {
- font-size: 36rpx;
- font-family: DIN Alternate;
-}
-
-.service-form
- .service-from-group
- .service-from-group__wrapper
- .refund-money-price-decimal {
- font-size: 28rpx;
- font-family: DIN Alternate;
-}
-
-.service-form
- .service-from-group
- .service-from-group__wrapper
- .refund-money-price-symbol {
- font-size: 24rpx;
- font-family: DIN Alternate;
-}
diff --git a/pages/order/components/after-service-button-bar/index.js b/pages/order/components/after-service-button-bar/index.js
deleted file mode 100644
index c1f813d..0000000
--- a/pages/order/components/after-service-button-bar/index.js
+++ /dev/null
@@ -1,95 +0,0 @@
-import Dialog from 'tdesign-miniprogram/dialog/index';
-import Toast from 'tdesign-miniprogram/toast/index';
-
-import { cancelRights } from '../../after-service-detail/api';
-import { ServiceButtonTypes } from '../../config';
-
-Component({
- properties: {
- service: {
- type: Object,
- observer(service) {
- const buttonsRight = service.buttons || service.buttonVOs || [];
- this.setData({
- buttons: {
- left: [],
- right: buttonsRight,
- },
- });
- },
- },
- },
-
- data: {
- service: {},
- buttons: {
- left: [],
- right: [],
- },
- },
-
- methods: {
- // 点击【订单操作】按钮,根据按钮类型分发
- onServiceBtnTap(e) {
- const { type } = e.currentTarget.dataset;
- switch (type) {
- case ServiceButtonTypes.REVOKE:
- this.onConfirm(this.data.service);
- break;
- case ServiceButtonTypes.FILL_TRACKING_NO:
- this.onFillTrackingNo(this.data.service);
- break;
- case ServiceButtonTypes.CHANGE_TRACKING_NO:
- this.onChangeTrackingNo(this.data.service);
- break;
- case ServiceButtonTypes.VIEW_DELIVERY:
- this.viewDelivery(this.data.service);
- break;
- }
- },
-
- onFillTrackingNo(service) {
- wx.navigateTo({
- url: `/pages/order/fill-tracking-no/index?rightsNo=${service.id}`,
- });
- },
-
- viewDelivery(service) {
- wx.navigateTo({
- url: `/pages/order/delivery-detail/index?data=${JSON.stringify(
- service.logistics || service.logisticsVO,
- )}&source=2`,
- });
- },
-
- onChangeTrackingNo(service) {
- wx.navigateTo({
- url: `/pages/order/fill-tracking-no/index?rightsNo=${
- service.id
- }&logisticsNo=${service.logisticsNo}&logisticsCompanyName=${
- service.logisticsCompanyName
- }&logisticsCompanyCode=${service.logisticsCompanyCode}&remark=${
- service.remark || ''
- }`,
- });
- },
-
- onConfirm() {
- Dialog.confirm({
- title: '是否撤销退货申请?',
- content: '',
- confirmBtn: '撤销申请',
- cancelBtn: '不撤销',
- }).then(() => {
- const params = { rightsNo: this.data.service.id };
- return cancelRights(params).then(() => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你确认撤销申请',
- });
- });
- });
- },
- },
-});
diff --git a/pages/order/components/after-service-button-bar/index.json b/pages/order/components/after-service-button-bar/index.json
deleted file mode 100644
index 75d1e24..0000000
--- a/pages/order/components/after-service-button-bar/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-button": "tdesign-miniprogram/button/button"
- }
-}
diff --git a/pages/order/components/after-service-button-bar/index.wxml b/pages/order/components/after-service-button-bar/index.wxml
deleted file mode 100644
index 8f48e2a..0000000
--- a/pages/order/components/after-service-button-bar/index.wxml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- {{leftBtn.name}}
-
-
-
-
- {{rightBtn.name}}
-
-
-
-
diff --git a/pages/order/components/after-service-button-bar/index.wxss b/pages/order/components/after-service-button-bar/index.wxss
deleted file mode 100644
index 2c31839..0000000
--- a/pages/order/components/after-service-button-bar/index.wxss
+++ /dev/null
@@ -1,46 +0,0 @@
-:host {
- width: 100%;
-}
-.btn-bar {
- display: flex;
- justify-content: space-between;
- align-items: center;
- line-height: 1;
-}
-.btn-bar .order-btn {
- background-color: inherit;
- font-size: 26rpx;
- padding: 16rpx 28rpx;
- line-height: 1;
- border-radius: unset;
- min-width: 160rpx;
- border-radius: 32rpx;
- height: 60rpx;
- margin-right: 10rpx;
-}
-
-.btn-bar .left .order-btn:not(:first-child),
-.btn-bar .right .order-btn:not(:first-child) {
- margin-left: 20rpx;
-}
-.btn-bar .left .delete-btn {
- font-size: 22rpx;
-}
-.btn-bar .left .delete-btn::after {
- display: none;
-}
-.btn-bar .right .normal {
- color: #333;
- font-size: 28rpx;
-}
-.btn-bar .right .normal:after {
- border-color: #bbbbbb;
-}
-.btn-bar .right .primary {
- color: #fa550f;
- color: var(--color-primary, #fa550f);
-}
-.btn-bar .right .primary:after {
- border-color: #fa550f;
- border-color: var(--color-primary, #fa550f);
-}
diff --git a/pages/order/components/customer-service/index.js b/pages/order/components/customer-service/index.js
deleted file mode 100644
index 419b97f..0000000
--- a/pages/order/components/customer-service/index.js
+++ /dev/null
@@ -1,38 +0,0 @@
-Component({
- externalClasses: ['wr-class'],
-
- properties: {
- phoneNumber: String,
- desc: String,
- },
-
- data: {
- show: false,
- },
-
- methods: {
- onBtnTap() {
- this.setData({
- show: true,
- });
- },
-
- onDialogClose() {
- this.setData({
- show: false,
- });
- },
-
- onCall() {
- const { phoneNumber } = this.properties;
- wx.makePhoneCall({
- phoneNumber,
- });
- },
- onCallOnlineService() {
- wx.showToast({
- title: '你点击了在线客服',
- });
- },
- },
-});
diff --git a/pages/order/components/customer-service/index.json b/pages/order/components/customer-service/index.json
deleted file mode 100644
index 6e4c04e..0000000
--- a/pages/order/components/customer-service/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup"
- }
-}
diff --git a/pages/order/components/customer-service/index.wxml b/pages/order/components/customer-service/index.wxml
deleted file mode 100644
index f5413a4..0000000
--- a/pages/order/components/customer-service/index.wxml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-联系客服
-
-
-
-
- 服务时间:
- {{desc}}
-
-
- 呼叫 {{phoneNumber}}
-
- 在线客服
- 取消
-
-
-
-
diff --git a/pages/order/components/customer-service/index.wxss b/pages/order/components/customer-service/index.wxss
deleted file mode 100644
index 75f0363..0000000
--- a/pages/order/components/customer-service/index.wxss
+++ /dev/null
@@ -1,48 +0,0 @@
-.text-btn {
- display: inline;
- color: #333;
- font-size: 24rpx;
-}
-.text-btn--active {
- opacity: 0.5;
-}
-.dialog--customer-service {
- background-color: #f3f4f5;
- overflow: hidden;
-}
-.dialog--customer-service .content {
- font-size: 26rpx;
- margin: 32rpx 30rpx;
- text-align: center;
-}
-.dialog--customer-service .content .title {
- display: inline;
- color: #999999;
- font-weight: bold;
-}
-.dialog--customer-service .content .subtitle {
- display: inline;
- color: #999999;
-}
-.dialog--customer-service .options .option {
- color: #333333;
- font-size: 30rpx;
- text-align: center;
- height: 100rpx;
- line-height: 100rpx;
- background-color: white;
-}
-.dialog--customer-service .options .option:not(:last-child) {
- margin-bottom: 20rpx;
-}
-.dialog--customer-service .options .option--active {
- opacity: 0.5;
-}
-.dialog--customer-service .options .option.main {
- color: #333;
-}
-.dialog--customer-service .options .option.online {
- position: relative;
- top: -17rpx;
- margin-bottom: 2rpx;
-}
diff --git a/pages/order/components/goods-card/index.js b/pages/order/components/goods-card/index.js
deleted file mode 100644
index a4409e3..0000000
--- a/pages/order/components/goods-card/index.js
+++ /dev/null
@@ -1,264 +0,0 @@
-Component({
- options: {
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
- addGlobalClass: true,
- },
- intersectionObserverContext: null,
-
- externalClasses: [
- 'card-class',
- 'title-class',
- 'desc-class',
- 'num-class',
- 'thumb-class',
- 'specs-class',
- 'price-class',
- 'origin-price-class',
- 'price-prefix-class',
- ],
-
- relations: {
- '../order-card/index': {
- type: 'ancestor',
- linked(target) {
- this.parent = target;
- },
- },
- },
-
- properties: {
- hidden: {
- // 设置为null代表不做类型转换
- type: null,
- value: false,
- observer(hidden) {
- // null就是代表没有设置,没有设置的话不setData,防止祖先组件触发的setHidden操作被覆盖
- if (hidden !== null) {
- this.setHidden(!!hidden);
- }
- },
- },
- id: {
- type: String,
- // `goods-card-88888888`
- // 不能在这里写生成逻辑,如果在这里写,那么假设有多个goods-list时,他们将共享这个值
- value: '',
- observer: (id) => {
- this.genIndependentID(id);
- if (this.properties.thresholds?.length) {
- this.createIntersectionObserverHandle();
- }
- },
- },
- data: {
- type: Object,
- observer(goods) {
- // 有ID的商品才渲染
- if (!goods) {
- return;
- }
-
- /** 划线价是否有效 */
- let isValidityLinePrice = true;
- // 判断一次划线价格是否合理
- if (
- goods.originPrice &&
- goods.price &&
- goods.originPrice < goods.price
- ) {
- isValidityLinePrice = false;
- }
-
- // 敲定换行数量默认值
- if (goods.lineClamp === undefined || goods.lineClamp <= 0) {
- // tag数组长度 大于0 且 可见
- // 指定换行为1行
- if ((goods.tags?.length || 0) > 0 && !goods.hideKey?.tags) {
- goods.lineClamp = 1;
- } else {
- goods.lineClamp = 2;
- }
- }
-
- this.setData({ goods, isValidityLinePrice });
- },
- },
- layout: {
- type: String,
- value: 'horizontal',
- },
- thumbMode: {
- type: String,
- value: 'aspectFill',
- },
- thumbWidth: Number,
- thumbHeight: Number,
- priceFill: {
- type: Boolean,
- value: true,
- },
- currency: {
- type: String,
- value: '¥',
- },
- lazyLoad: {
- type: Boolean,
- value: false,
- },
- centered: {
- type: Boolean,
- value: false,
- },
- showCart: {
- type: Boolean,
- value: false,
- },
- pricePrefix: {
- type: String,
- value: '',
- },
- cartSize: {
- type: Number,
- value: 48,
- },
- cartColor: {
- type: String,
- value: '#FA550F',
- },
- /** 元素可见监控阈值, 数组长度大于0就创建 */
- thresholds: {
- type: Array,
- value: [],
- observer(current) {
- if (current && current.length) {
- this.createIntersectionObserverHandle();
- } else {
- this.clearIntersectionObserverHandle();
- }
- },
- },
- specsIconClassPrefix: {
- type: String,
- value: 'wr',
- },
- specsIcon: {
- type: String,
- value: 'expand_more',
- },
- addCartIconClassPrefix: {
- type: String,
- value: 'wr',
- },
- addCartIcon: {
- type: String,
- value: 'cart',
- },
- },
-
- data: {
- hiddenInData: false,
- independentID: '',
- goods: { id: '' },
- /** 保证划线价格不小于原价,否则不渲染划线价 */
- isValidityLinePrice: false,
- },
-
- lifetimes: {
- ready() {
- this.init();
- },
- detached() {
- this.clear();
- },
- },
-
- methods: {
- clickHandle() {
- this.triggerEvent('click', { goods: this.data.goods });
- },
- clickThumbHandle() {
- this.triggerEvent('thumb', { goods: this.data.goods });
- },
- clickTagHandle(evt) {
- const { index } = evt.currentTarget.dataset;
- this.triggerEvent('tag', { goods: this.data.goods, index });
- },
- // 加入购物车
- addCartHandle(e) {
- const { id } = e.currentTarget;
- const { id: cardID } = e.currentTarget.dataset;
- this.triggerEvent('add-cart', {
- ...e.detail,
- id,
- cardID,
- goods: this.data.goods,
- });
- },
- genIndependentID(id, cb) {
- let independentID;
- if (id) {
- independentID = id;
- } else {
- // `goods-card-88888888`
- independentID = `goods-card-${~~(Math.random() * 10 ** 8)}`;
- }
- this.setData({ independentID }, cb);
- },
-
- init() {
- const { thresholds, id, hidden } = this.properties;
- if (hidden !== null) {
- this.setHidden(!!hidden);
- }
-
- this.genIndependentID(id || '', () => {
- if (thresholds && thresholds.length) {
- this.createIntersectionObserverHandle();
- }
- });
- },
-
- clear() {
- this.clearIntersectionObserverHandle();
- },
-
- setHidden(hidden) {
- this.setData({ hiddenInData: !!hidden });
- },
-
- createIntersectionObserverHandle() {
- if (this.intersectionObserverContext || !this.data.independentID) {
- return;
- }
-
- this.intersectionObserverContext = wx
- .createIntersectionObserver(this, {
- thresholds: this.properties.thresholds,
- })
- .relativeToViewport();
-
- this.intersectionObserverContext.observe(
- `#${this.data.independentID}`,
- (res) => {
- this.intersectionObserverCB(res);
- },
- );
- },
- intersectionObserverCB(ob) {
- this.triggerEvent('ob', {
- goods: this.data.goods,
- context: this.intersectionObserverContext,
- ob,
- });
- },
- clearIntersectionObserverHandle() {
- if (this.intersectionObserverContext) {
- try {
- this.intersectionObserverContext.disconnect();
- } catch (e) {}
-
- this.intersectionObserverContext = null;
- }
- },
- },
-});
diff --git a/pages/order/components/goods-card/index.json b/pages/order/components/goods-card/index.json
deleted file mode 100644
index 0dbb3d8..0000000
--- a/pages/order/components/goods-card/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "price": "/components/price/index",
- "t-image": "/components/webp-image/index",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ No newline at end of file
diff --git a/pages/order/components/goods-card/index.wxml b/pages/order/components/goods-card/index.wxml
deleted file mode 100644
index b14aed5..0000000
--- a/pages/order/components/goods-card/index.wxml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{ goods.title }}
-
-
- {{ goods.desc }}
-
-
- {{ goods.specs }}
-
- 库存不足
-
-
-
-
- {{ pricePrefix }}
-
-
-
-
-
-
-
-
-
- x
- {{ goods.num }}
-
-
-
-
- 请重新选择商品规格
- 重选
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/order/components/goods-card/index.wxss b/pages/order/components/goods-card/index.wxss
deleted file mode 100644
index 7bcb096..0000000
--- a/pages/order/components/goods-card/index.wxss
+++ /dev/null
@@ -1,254 +0,0 @@
-.wr-goods-card {
- box-sizing: border-box;
- font-size: 24rpx;
-}
-.wr-goods-card__main {
- position: relative;
- display: flex;
- line-height: 1;
- flex-direction: row;
- background: transparent;
- padding: 16rpx 0rpx;
-}
-.wr-goods-card.center .wr-goods-card__main {
- align-items: center;
- justify-content: center;
-}
-.wr-goods-card__thumb {
- flex-shrink: 0;
- position: relative;
- width: 176rpx;
- height: 176rpx;
-}
-.wr-goods-card__thumb-com {
- width: 176rpx;
- height: 176rpx;
- border-radius: 8rpx;
- overflow: hidden;
-}
-.wr-goods-card__thumb:empty {
- display: none;
- margin: 0;
-}
-
-.wr-goods-card__body {
- display: flex;
- margin: 0 0 0 16rpx;
- flex-direction: row;
- flex: 1 1 auto;
- min-height: 176rpx;
-}
-.wr-goods-card__long_content {
- display: flex;
- flex-direction: column;
- overflow: hidden;
- flex: 1 1 auto;
-}
-.wr-goods-card__long_content .goods_tips {
- width: 100%;
- margin-top: 16rpx;
- text-align: right;
- color: #fa4126;
- font-size: 24rpx;
- line-height: 32rpx;
- font-weight: bold;
-}
-.wr-goods-card__title {
- flex-shrink: 0;
- font-size: 28rpx;
- color: #333;
- line-height: 40rpx;
- font-weight: 400;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- overflow: hidden;
- word-break: break-word;
-}
-.wr-goods-card__title__prefix-tags {
- display: inline-flex;
-}
-.wr-goods-card__title__prefix-tags .prefix-tag {
- margin: 0 8rpx 0 0;
-}
-.wr-goods-card__desc {
- font-size: 24rpx;
- color: #f5f5f5;
- line-height: 40rpx;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- overflow: hidden;
-}
-.wr-goods-card__specs__desc,
-.wr-goods-card__specs__text {
- font-size: 24rpx;
- height: 32rpx;
- line-height: 32rpx;
- color: #999999;
- margin: 8rpx 0;
-}
-.wr-goods-card__specs__desc {
- display: flex;
- align-self: flex-start;
- flex-direction: row;
-}
-.wr-goods-card__specs__desc-text {
- height: 100%;
- max-width: 380rpx;
- word-break: break-all;
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 1;
-}
-.wr-goods-card__specs__desc-icon {
- line-height: inherit;
- margin-left: 8rpx;
- font-size: 24rpx;
- color: #bbb;
-}
-.wr-goods-card__specs__text {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 1;
- overflow: hidden;
- text-overflow: ellipsis;
- word-break: break-all;
-}
-.wr-goods-card__tags {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- margin: 16rpx 0 0 0;
-}
-.wr-goods-card__tag {
- color: #fa550f;
- background: transparent;
- font-size: 20rpx;
- border: 1rpx solid #fa550f;
- padding: 0 8rpx;
- height: 30rpx;
- line-height: 30rpx;
- margin: 0 8rpx 8rpx 0;
- display: block;
- overflow: hidden;
- white-space: nowrap;
- word-break: keep-all;
- text-overflow: ellipsis;
-}
-.wr-goods-card__short_content {
- display: flex;
- flex-direction: column;
- justify-content: flex-start;
- align-items: flex-end;
- margin: 0 0 0 46rpx;
-}
-.wr-goods-card__price__prefix {
- order: 0;
- color: #666;
- margin: 0;
-}
-.wr-goods-card__price {
- white-space: nowrap;
- font-weight: bold;
- order: 1;
- color: #fa4126;
- font-size: 36rpx;
- margin: 0;
- line-height: 48rpx;
-}
-.wr-goods-card__origin-price {
- white-space: nowrap;
- font-weight: normal;
- order: 2;
- color: #aaaaaa;
- font-size: 24rpx;
- margin: 0;
-}
-.wr-goods-card__num {
- white-space: nowrap;
- order: 4;
- font-size: 24rpx;
- color: #999;
- margin: 20rpx 0 0 auto;
-}
-.wr-goods-card__num__prefix {
- color: inherit;
-}
-.wr-goods-card__add-cart {
- order: 3;
- margin: auto 0 0 auto;
-}
-.wr-goods-card.horizontal-wrap .wr-goods-card__thumb {
- width: 192rpx;
- height: 192rpx;
- border-radius: 8rpx;
- overflow: hidden;
-}
-.wr-goods-card.horizontal-wrap .wr-goods-card__body {
- flex-direction: column;
-}
-.wr-goods-card.horizontal-wrap .wr-goods-card__short_content {
- flex-direction: row;
- align-items: center;
- margin: 16rpx 0 0 0;
-}
-
-.wr-goods-card.horizontal-wrap .wr-goods-card__num {
- margin: 0 0 0 auto;
-}
-.wr-goods-card.vertical .wr-goods-card__main {
- padding: 0 0 22rpx 0;
- flex-direction: column;
-}
-.wr-goods-card.vertical .wr-goods-card__thumb {
- width: 340rpx;
- height: 340rpx;
-}
-.wr-goods-card.vertical .wr-goods-card__body {
- margin: 20rpx 20rpx 0 20rpx;
- flex-direction: column;
-}
-.wr-goods-card.vertical .wr-goods-card__long_content {
- overflow: hidden;
-}
-.wr-goods-card.vertical .wr-goods-card__title {
- line-height: 36rpx;
-}
-.wr-goods-card.vertical .wr-goods-card__short_content {
- margin: 20rpx 0 0 0;
-}
-.wr-goods-card.vertical .wr-goods-card__price {
- order: 2;
- color: #fa4126;
- margin: 20rpx 0 0 0;
-}
-.wr-goods-card.vertical .wr-goods-card__origin-price {
- order: 1;
-}
-.wr-goods-card.vertical .wr-goods-card__add-cart {
- position: absolute;
- bottom: 20rpx;
- right: 20rpx;
-}
-
-.wr-goods-card__short_content .no_storage {
- display: flex;
- align-items: center;
- justify-content: space-between;
- height: 40rpx;
- color: #333;
- font-size: 24rpx;
- line-height: 32rpx;
- width: 100%;
-}
-
-.no_storage .no_storage__right {
- width: 80rpx;
- height: 40rpx;
- border-radius: 20rpx;
- border: 2rpx solid #fa4126;
- line-height: 40rpx;
- text-align: center;
- color: #fa4126;
-}
diff --git a/pages/order/components/noGoods/noGoods.js b/pages/order/components/noGoods/noGoods.js
deleted file mode 100644
index 53b6f86..0000000
--- a/pages/order/components/noGoods/noGoods.js
+++ /dev/null
@@ -1,57 +0,0 @@
-Component({
- properties: {
- settleDetailData: {
- type: Object,
- value: {},
- observer(settleDetailData) {
- const {
- outOfStockGoodsList,
- abnormalDeliveryGoodsList,
- inValidGoodsList,
- limitGoodsList,
- } = settleDetailData;
- // 弹窗逻辑 限购 超出配送范围 失效 库存不足;
- const tempList =
- limitGoodsList ||
- abnormalDeliveryGoodsList ||
- inValidGoodsList ||
- outOfStockGoodsList ||
- [];
-
- tempList.forEach((goods, index) => {
- goods.id = index;
- goods.unSettlementGoods &&
- goods.unSettlementGoods.forEach((ele) => {
- ele.name = ele.goodsName;
- ele.price = ele.payPrice;
- ele.imgUrl = ele.image;
- });
- });
- this.setData({
- // settleDetailData,
- goodsList: tempList,
- });
- },
- },
- },
-
- data: {
- goodList: [],
- },
- methods: {
- onCard(e) {
- const { item } = e.currentTarget.dataset;
- if (item === 'cart') {
- // 购物车
- Navigator.gotoPage('/cart');
- } else if (item === 'orderSure') {
- // 结算页
- this.triggerEvent('change', undefined);
- }
- },
- onDelive() {
- // 修改配送地址
- Navigator.gotoPage('/address', { type: 'orderSure' });
- },
- },
-});
diff --git a/pages/order/components/noGoods/noGoods.json b/pages/order/components/noGoods/noGoods.json
deleted file mode 100644
index 31f62da..0000000
--- a/pages/order/components/noGoods/noGoods.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "wr-order-card": "/pages/order/components/order-card/index",
- "wr-goods-card": "/components/goods-card/index",
- "wr-order-goods-card": "/pages/order/components/order-goods-card/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/components/noGoods/noGoods.wxml b/pages/order/components/noGoods/noGoods.wxml
deleted file mode 100644
index 1153a36..0000000
--- a/pages/order/components/noGoods/noGoods.wxml
+++ /dev/null
@@ -1,55 +0,0 @@
-
- var isOnlyBack = function(data) {
- return data.limitGoodsList || (data.inValidGoodsList && !data.storeGoodsList);
- }
-
- var isShowChangeAdress = function(data) {
- return data.abnormalDeliveryGoodsList
- }
-
- var isShowKeepPay = function(data) {
- return data.outOfStockGoodsList || (data.storeGoodsList && data.inValidGoodsList);
- }
-
- module.exports = {
- isOnlyBack:isOnlyBack,
- isShowChangeAdress: isShowChangeAdress,
- isShowKeepPay: isShowKeepPay,
- }
-
-
-
- 限购商品信息
- 以下商品限购数量,建议您修改商品数量
-
-
- 不支持配送
- 以下店铺的商品不支持配送,请更改地址或去掉对应店铺商品再进行结算
-
-
- 部分商品库存不足或失效
- 请返回购物车重新选择商品,如果继续结算将自动忽略库存不足或失效的商品。
-
-
- 全部商品库存不足或失效
- 请返回购物车重新选择商品
-
-
-
-
-
-
-
-
-
-
- 返回购物车
-
-
- 修改配送地址
-
-
- 继续结算
-
-
-
diff --git a/pages/order/components/noGoods/noGoods.wxss b/pages/order/components/noGoods/noGoods.wxss
deleted file mode 100644
index 0331d40..0000000
--- a/pages/order/components/noGoods/noGoods.wxss
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 层级定义
-@z-index-0: 1;
-@z-index-1: 100;
-@z-index-2: 200;
-@z-index-5: 500;
-@z-index-component: 1000; // 通用组件级别
-@z-index-dropdown: @z-index-component;
-@z-index-sticky: @z-index-component + 20;
-@z-index-fixed: @z-index-component + 30;
-@z-index-modal-backdrop:@z-index-component + 40;
-@z-index-modal:@z-index-component + 50;
-@z-index-popover:@z-index-component + 60;
-@z-index-tooltip:@z-index-component + 70;
-*/
-/* var() css变量适配*/
-.goods-fail {
- display: block;
- background: #fff;
- font-size: 30rpx;
- border-radius: 20rpx 20rpx 0 0;
-}
-.goods-fail .title {
- display: inline-block;
- width: 100%;
- text-align: center;
- margin-top: 30rpx;
- line-height: 42rpx;
- font-weight: bold;
- font-size: 32rpx;
-}
-.goods-fail .info {
- display: block;
- font-size: 26rpx;
- font-weight: 400;
- line-height: 36rpx;
- margin: 20rpx auto 10rpx;
- text-align: center;
- width: 560rpx;
- color: #999;
-}
-.goods-fail .goods-fail-btn {
- display: flex;
- padding: 30rpx;
- justify-content: space-between;
- align-items: center;
- font-size: 30rpx;
-}
-.goods-fail .goods-fail-btn .btn {
- width: 330rpx;
- height: 80rpx;
- line-height: 80rpx;
- border-radius: 8rpx;
- text-align: center;
- border: 1rpx solid #999;
- background: #fff;
- font-size: 32rpx;
- color: #666;
-}
-.goods-fail .goods-fail-btn .btn.origin,
-.goods-fail .goods-fail-btn .btn.limit {
- color: #fa550f;
- color: var(--color-primary, #fa550f);
- border: 1rpx solid #fa550f;
- border: 1rpx solid var(--color-primary, #fa550f);
-}
-.goods-fail .goods-fail-btn .btn.limit {
- flex-grow: 1;
-}
diff --git a/pages/order/components/order-button-bar/index.js b/pages/order/components/order-button-bar/index.js
deleted file mode 100644
index 1c8b4a8..0000000
--- a/pages/order/components/order-button-bar/index.js
+++ /dev/null
@@ -1,217 +0,0 @@
-import Toast from 'tdesign-miniprogram/toast/index';
-import Dialog from 'tdesign-miniprogram/dialog/index';
-import { OrderButtonTypes } from '../../config';
-
-Component({
- options: {
- addGlobalClass: true,
- },
- properties: {
- order: {
- type: Object,
- observer(order) {
- // 判定有传goodsIndex ,则认为是商品button bar, 仅显示申请售后按钮
- if (this.properties?.goodsIndex !== null) {
- const goods = order.goodsList[Number(this.properties.goodsIndex)];
- this.setData({
- buttons: {
- left: [],
- right: (goods.buttons || []).filter(
- (b) => b.type == OrderButtonTypes.APPLY_REFUND,
- ),
- },
- });
- return;
- }
- // 订单的button bar 不显示申请售后按钮
- const buttonsRight = (order.buttons || [])
- // .filter((b) => b.type !== OrderButtonTypes.APPLY_REFUND)
- .map((button) => {
- //邀请好友拼团按钮
- if (
- button.type === OrderButtonTypes.INVITE_GROUPON &&
- order.groupInfoVo
- ) {
- const {
- groupInfoVo: { groupId, promotionId, remainMember, groupPrice },
- goodsList,
- } = order;
- const goodsImg = goodsList[0] && goodsList[0].imgUrl;
- const goodsName = goodsList[0] && goodsList[0].name;
- return {
- ...button,
- openType: 'share',
- dataShare: {
- goodsImg,
- goodsName,
- groupId,
- promotionId,
- remainMember,
- groupPrice,
- storeId: order.storeId,
- },
- };
- }
- return button;
- });
- // 删除订单按钮单独挪到左侧
- const deleteBtnIndex = buttonsRight.findIndex(
- (b) => b.type === OrderButtonTypes.DELETE,
- );
- let buttonsLeft = [];
- if (deleteBtnIndex > -1) {
- buttonsLeft = buttonsRight.splice(deleteBtnIndex, 1);
- }
- this.setData({
- buttons: {
- left: buttonsLeft,
- right: buttonsRight,
- },
- });
- },
- },
- goodsIndex: {
- type: Number,
- value: null,
- },
- isBtnMax: {
- type: Boolean,
- value: false,
- },
- },
-
- data: {
- order: {},
- buttons: {
- left: [],
- right: [],
- },
- },
-
- methods: {
- // 点击【订单操作】按钮,根据按钮类型分发
- onOrderBtnTap(e) {
- const { type } = e.currentTarget.dataset;
- switch (type) {
- case OrderButtonTypes.DELETE:
- this.onDelete(this.data.order);
- break;
- case OrderButtonTypes.CANCEL:
- this.onCancel(this.data.order);
- break;
- case OrderButtonTypes.CONFIRM:
- this.onConfirm(this.data.order);
- break;
- case OrderButtonTypes.PAY:
- this.onPay(this.data.order);
- break;
- case OrderButtonTypes.APPLY_REFUND:
- this.onApplyRefund(this.data.order);
- break;
- case OrderButtonTypes.VIEW_REFUND:
- this.onViewRefund(this.data.order);
- break;
- case OrderButtonTypes.COMMENT:
- this.onAddComent(this.data.order);
- break;
- case OrderButtonTypes.INVITE_GROUPON:
- //分享邀请好友拼团
- break;
- case OrderButtonTypes.REBUY:
- this.onBuyAgain(this.data.order);
- }
- },
-
- onCancel() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你点击了取消订单',
- icon: 'check-circle',
- });
- },
-
- onConfirm() {
- Dialog.confirm({
- title: '确认是否已经收到货?',
- content: '',
- confirmBtn: '确认收货',
- cancelBtn: '取消',
- })
- .then(() => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你确认了确认收货',
- icon: 'check-circle',
- });
- })
- .catch(() => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你取消了确认收货',
- icon: 'check-circle',
- });
- });
- },
-
- onPay() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你点击了去支付',
- icon: 'check-circle',
- });
- },
-
- onBuyAgain() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你点击了再次购买',
- icon: 'check-circle',
- });
- },
-
- onApplyRefund(order) {
- const goods = order.goodsList[this.properties.goodsIndex];
- const params = {
- orderNo: order.orderNo,
- skuId: goods?.skuId ?? '19384938948343',
- spuId: goods?.spuId ?? '28373847384343',
- orderStatus: order.status,
- logisticsNo: order.logisticsNo,
- price: goods?.price ?? 89,
- num: goods?.num ?? 89,
- createTime: order.createTime,
- orderAmt: order.totalAmount,
- payAmt: order.amount,
- canApplyReturn: true,
- };
- const paramsStr = Object.keys(params)
- .map((k) => `${k}=${params[k]}`)
- .join('&');
- wx.navigateTo({ url: `/pages/order/apply-service/index?${paramsStr}` });
- },
-
- onViewRefund() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你点击了查看退款',
- icon: '',
- });
- },
-
- /** 添加订单评论 */
- onAddComent(order) {
- const imgUrl = order?.goodsList?.[0]?.thumb;
- const title = order?.goodsList?.[0]?.title;
- const specs = order?.goodsList?.[0]?.specs;
- wx.navigateTo({
- url: `/pages/goods/comments/create/index?specs=${specs}&title=${title}&orderNo=${order?.orderNo}&imgUrl=${imgUrl}`,
- });
- },
- },
-});
diff --git a/pages/order/components/order-button-bar/index.json b/pages/order/components/order-button-bar/index.json
deleted file mode 100644
index 3084bb3..0000000
--- a/pages/order/components/order-button-bar/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-button": "tdesign-miniprogram/button/button",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog"
- }
-}
\ No newline at end of file
diff --git a/pages/order/components/order-button-bar/index.wxml b/pages/order/components/order-button-bar/index.wxml
deleted file mode 100644
index 030c4c4..0000000
--- a/pages/order/components/order-button-bar/index.wxml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
- {{leftBtn.name}}
-
-
-
-
- {{rightBtn.name}}
-
-
-
-
-
-
diff --git a/pages/order/components/order-button-bar/index.wxss b/pages/order/components/order-button-bar/index.wxss
deleted file mode 100644
index 850282d..0000000
--- a/pages/order/components/order-button-bar/index.wxss
+++ /dev/null
@@ -1,57 +0,0 @@
-:host {
- width: 100%;
-}
-.btn-bar {
- display: flex;
- justify-content: space-between;
- align-items: center;
- line-height: 1;
-}
-.btn-bar .order-btn {
- background-color: inherit;
- line-height: 1;
- border-radius: unset;
- min-width: 160rpx;
- font-size: 28rpx;
-}
-.btn-bar .order-btn::after {
- border-radius: 16rpx;
-}
-.btn-bar .order-btn--active {
- opacity: 0.5;
-}
-
-.btn-bar .right {
- display: flex;
- align-items: center;
-}
-.btn-bar .t-button {
- width: 160rpx;
- height: 56rpx;
- border-radius: 28rpx;
- margin-left: 24rpx;
-}
-.btn-bar .t-button--max {
- width: 176rpx;
- height: 72rpx;
- border-radius: 36rpx;
- margin-left: 24rpx;
-}
-
-.btn-bar .left .delete-btn {
- font-size: 22rpx;
-}
-.btn-bar .left .delete-btn::after {
- display: none;
-}
-.btn-bar .right .normal {
- color: #333333;
-}
-.btn-bar .right .normal:after {
- border-color: #dddddd;
-}
-.btn-bar .right .primary {
- color: #ffffff;
- background-color: #fa4126;
- border-color: #fa4126;
-}
diff --git a/pages/order/components/order-card/index.js b/pages/order/components/order-card/index.js
deleted file mode 100644
index 636e66d..0000000
--- a/pages/order/components/order-card/index.js
+++ /dev/null
@@ -1,90 +0,0 @@
-Component({
- externalClasses: ['wr-class', 'header-class', 'title-class'],
-
- options: {
- multipleSlots: true,
- },
-
- relations: {
- '../order-goods-card/index': {
- type: 'descendant',
- linked(target) {
- this.children.push(target);
- this.setHidden();
- },
- unlinked(target) {
- this.children = this.children.filter((item) => item !== target);
- },
- },
- '../goods-card/index': {
- type: 'descendant',
- linked(target) {
- this.children.push(target);
- this.setHidden();
- },
- unlinked(target) {
- this.children = this.children.filter((item) => item !== target);
- },
- },
- '../specs-goods-card/index': {
- type: 'descendant',
- linked(target) {
- this.children.push(target);
- this.setHidden();
- },
- unlinked(target) {
- this.children = this.children.filter((item) => item !== target);
- },
- },
- },
-
- created() {
- this.children = [];
- },
-
- properties: {
- order: {
- type: Object,
- observer(order) {
- if (!order?.goodsList) return;
- const goodsCount = order.goodsList.length;
- this.setData({
- goodsCount,
- });
- },
- },
- useTopRightSlot: Boolean,
- // 初始显示的商品数量,超出部分会隐藏。
- defaultShowNum: {
- type: null,
- value: 10,
- },
- useLogoSlot: {
- type: Boolean,
- value: false,
- },
- },
-
- data: {
- showAll: true, // 是否展示所有商品,设置为false,可以使用展开更多功能
- goodsCount: 0,
- },
-
- methods: {
- setHidden() {
- const isHidden = !this.data.showAll;
- this.children.forEach(
- (c, i) => i >= this.properties.defaultShowNum && c.setHidden(isHidden),
- );
- },
-
- onOrderCardTap() {
- this.triggerEvent('cardtap');
- },
-
- onShowMoreTap() {
- this.setData({ showAll: true }, () => this.setHidden());
- this.triggerEvent('showall');
- },
- },
-});
diff --git a/pages/order/components/order-card/index.json b/pages/order/components/order-card/index.json
deleted file mode 100644
index 8c3cde6..0000000
--- a/pages/order/components/order-card/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-image": "/components/webp-image/index",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ No newline at end of file
diff --git a/pages/order/components/order-card/index.wxml b/pages/order/components/order-card/index.wxml
deleted file mode 100644
index 21f32d0..0000000
--- a/pages/order/components/order-card/index.wxml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
- 展开商品信息(共 {{goodsCount}} 个)
-
-
-
-
-
diff --git a/pages/order/components/order-card/index.wxss b/pages/order/components/order-card/index.wxss
deleted file mode 100644
index d241796..0000000
--- a/pages/order/components/order-card/index.wxss
+++ /dev/null
@@ -1,45 +0,0 @@
-.order-card {
- margin: 24rpx 0;
- padding: 24rpx 32rpx 24rpx;
- background-color: white;
- border-radius: 8rpx;
-}
-.order-card .header {
- display: flex;
- justify-content: space-between;
- align-items: center;
- margin-bottom: 24rpx;
-}
-.order-card .header .store-name {
- font-size: 28rpx;
- font-weight: normal;
- color: #333333;
- display: flex;
- align-items: center;
- line-height: 40rpx;
-}
-.order-card .header .store-name__logo {
- margin-right: 16rpx;
- font-size: 40rpx;
- width: 48rpx;
- height: 48rpx;
-}
-.order-card .header .store-name__label {
- max-width: 500rpx;
- overflow: hidden;
- text-overflow: ellipsis;
- word-break: break-all;
- white-space: nowrap;
-}
-.order-card .header .order-status {
- font-size: 26rpx;
- line-height: 40rpx;
- color: #fa4126;
-}
-.order-card .more-mask {
- padding: 20rpx 0;
- text-align: center;
- background-color: white;
- color: #fa4126;
- font-size: 24rpx;
-}
diff --git a/pages/order/components/order-goods-card/index.js b/pages/order/components/order-goods-card/index.js
deleted file mode 100644
index edaf299..0000000
--- a/pages/order/components/order-goods-card/index.js
+++ /dev/null
@@ -1,43 +0,0 @@
-Component({
- options: {
- addGlobalClass: true,
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
- },
-
- relations: {
- '../order-card/index': {
- type: 'ancestor',
- linked(target) {
- this.parent = target;
- },
- },
- },
-
- properties: {
- goods: Object,
- thumbWidth: Number,
- thumbHeight: Number,
- thumbWidthInPopup: Number,
- thumbHeightInPopup: Number,
- noTopLine: Boolean,
- step: Boolean,
- stepDisabled: Boolean,
- },
-
- data: {
- goods: {},
- hidden: false,
- },
-
- methods: {
- setHidden(hidden) {
- if (this.data.hidden === hidden) return;
- this.setData({ hidden });
- },
-
- onNumChange(e) {
- const { value } = e.detail;
- this.triggerEvent('num-change', { value });
- },
- },
-});
diff --git a/pages/order/components/order-goods-card/index.json b/pages/order/components/order-goods-card/index.json
deleted file mode 100644
index 7743bba..0000000
--- a/pages/order/components/order-goods-card/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-stepper": "tdesign-miniprogram/stepper/stepper",
- "goods-card": "../specs-goods-card/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/components/order-goods-card/index.wxml b/pages/order/components/order-goods-card/index.wxml
deleted file mode 100644
index 1cedf01..0000000
--- a/pages/order/components/order-goods-card/index.wxml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/order/components/reason-sheet/index.js b/pages/order/components/reason-sheet/index.js
deleted file mode 100644
index e5741e6..0000000
--- a/pages/order/components/reason-sheet/index.js
+++ /dev/null
@@ -1,114 +0,0 @@
-Component({
- properties: {
- show: Boolean,
- title: String,
- options: {
- type: Object,
- observer() {
- this.init();
- },
- },
- multiple: {
- type: Boolean,
- observer() {
- this.init();
- },
- },
- showConfirmButton: Boolean,
- showCloseButton: Boolean,
- confirmButtonText: {
- type: String,
- value: '确定',
- },
- cancelButtonText: {
- type: String,
- value: '取消',
- },
- emptyTip: {
- type: String,
- value: '请选择',
- },
- },
-
- data: {
- _options: [],
- checkedIndexes: [],
- },
-
- methods: {
- attached() {
- this.toast = this.selectComponent('#t-toast');
- },
-
- init() {
- const checkedIndexes = [];
- const _options = this.properties.options.map((opt, i) => {
- const checked = !!opt.checked;
- if (checked) {
- if (this.properties.multiple) checkedIndexes[0] = i;
- else checkedIndexes.push(i);
- }
- return {
- title: opt.title,
- checked,
- };
- });
- this.setData({ checkedIndexes, _options });
- },
-
- onOptionTap(e) {
- const { index } = e.currentTarget.dataset;
- const { checkedIndexes } = this.data;
- let data = {};
- if (this.properties.multiple) {
- if (checkedIndexes.includes(index)) {
- checkedIndexes.splice(index, 1);
- data = { checkedIndexes, [`_options[${index}].checked`]: false };
- } else {
- checkedIndexes.push(index);
- data = { checkedIndexes, [`_options[${index}].checked`]: true };
- }
- } else {
- if (checkedIndexes[0] === index) {
- // 单选不可取消选择
- return;
- }
- data = {
- [`_options[${index}].checked`]: true,
- checkedIndexes: [index],
- };
- if (checkedIndexes[0] !== undefined) {
- data[`_options[${checkedIndexes[0]}].checked`] = false;
- }
- }
- this.setData(data);
- this.triggerEvent('select', { index });
- this._onOptionTap && this._onOptionTap(index);
- if (!this.properties.showConfirmButton && !this.properties.multiple) {
- // 没有确认按钮且是单选的情况下,选择选项则自动确定
- this._onConfirm && this._onConfirm([index]);
- this.setData({ show: false });
- }
- },
-
- onCancel() {
- this.triggerEvent('cancel');
- this._onCancel && this._onCancel();
- this.setData({ show: false });
- },
-
- onConfirm() {
- if (this.data.checkedIndexes.length === 0) {
- this.toast.show({
- icon: '',
- text: this.properties.emptyTip,
- });
- return;
- }
- const indexed = this.data.checkedIndexes;
- this.triggerEvent('confirm', { indexed });
- this._onConfirm && this._onConfirm(indexed);
- this.setData({ show: false });
- },
- },
-});
diff --git a/pages/order/components/reason-sheet/index.json b/pages/order/components/reason-sheet/index.json
deleted file mode 100644
index a22be6b..0000000
--- a/pages/order/components/reason-sheet/index.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-button": "tdesign-miniprogram/button/button"
- }
-}
\ No newline at end of file
diff --git a/pages/order/components/reason-sheet/index.wxml b/pages/order/components/reason-sheet/index.wxml
deleted file mode 100644
index 35a5df2..0000000
--- a/pages/order/components/reason-sheet/index.wxml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
-
-
-
diff --git a/pages/order/components/reason-sheet/index.wxss b/pages/order/components/reason-sheet/index.wxss
deleted file mode 100644
index ed92d44..0000000
--- a/pages/order/components/reason-sheet/index.wxss
+++ /dev/null
@@ -1,47 +0,0 @@
-page view {
- box-sizing: border-box;
-}
-.popup-content {
- background-color: white;
- color: #222427;
- border-radius: 20rpx 20rpx 0 0;
- overflow: hidden;
-}
-.popup-content .header {
- height: 100rpx;
- line-height: 100rpx;
- text-align: center;
- vertical-align: middle;
- font-size: 32rpx;
- font-weight: bold;
- position: relative;
-}
-.popup-content .options {
- max-height: 60vh;
- overflow-y: scroll;
- -webkit-overflow-scrolling: touch;
-}
-.popup-content .options .cell {
- height: 100rpx;
- align-items: center;
- font-size: 30rpx;
- color: #333333;
-}
-.popup-content .button-bar {
- width: 100%;
- padding: 20rpx 30rpx;
- display: flex;
- flex-wrap: nowrap;
- align-items: center;
- justify-content: space-between;
- padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
-}
-.popup-content .button-bar .btn {
- width: 100%;
- background: #fa4126;
- color: #fff;
- border-radius: 48rpx;
-}
-.button-bar .btnWrapper {
- width: 100%;
-}
diff --git a/pages/order/components/reason-sheet/reasonSheet.js b/pages/order/components/reason-sheet/reasonSheet.js
deleted file mode 100644
index 384f68f..0000000
--- a/pages/order/components/reason-sheet/reasonSheet.js
+++ /dev/null
@@ -1,25 +0,0 @@
-function getInstance(context, selector = '#wr-reason-sheet') {
- if (!context) {
- const pages = getCurrentPages();
- const page = pages[pages.length - 1];
- context = page;
- }
- const instance = context && context.selectComponent(selector);
- if (!instance) {
- console.warn(`未找到reason-sheet组件,请检查selector是否正确`);
- return null;
- }
- return instance;
-}
-
-export default function (options) {
- const { context, selector, ..._options } = options;
- return new Promise((resolve, reject) => {
- const instance = getInstance(context, selector);
- if (instance) {
- instance.setData(Object.assign({}, _options));
- instance._onCancel = () => reject();
- instance._onConfirm = (indexes) => resolve(indexes);
- }
- });
-}
diff --git a/pages/order/components/selectCoupons/mock.js b/pages/order/components/selectCoupons/mock.js
deleted file mode 100644
index 6e67895..0000000
--- a/pages/order/components/selectCoupons/mock.js
+++ /dev/null
@@ -1,22 +0,0 @@
-export const couponsData = {
- couponResultList: [
- {
- couponVO: {
- condition: '满200元可用',
- couponId: 11,
- endTime: 1584530282686,
- name: '折扣券',
- profit: '5.5折',
- promotionCode: 90,
- promotionSubCode: 1,
- scopeText: '部分商品可用',
- startTime: 1584530282686,
- storeId: 90,
- value: 550,
- type: 2,
- },
- status: 0, // 0:未勾选。1:勾选。-1:置灰
- },
- ],
- reduce: 1000,
-};
diff --git a/pages/order/components/selectCoupons/selectCoupon.wxs b/pages/order/components/selectCoupons/selectCoupon.wxs
deleted file mode 100644
index 8c4ce2e..0000000
--- a/pages/order/components/selectCoupons/selectCoupon.wxs
+++ /dev/null
@@ -1,16 +0,0 @@
-function formatDays(value) {
- if (value < 10) {
- return '0' + value;
- }
- return value;
-}
-var dateFormat = function (d) {
- var date = getDate(+d);
- return (
- date.getFullYear() +
- '-' +
- formatDays(date.getMonth() + 1) +
- formatDays(date.getDate())
- );
-};
-module.exports.dateFormat = dateFormat;
diff --git a/pages/order/components/selectCoupons/selectCoupons.js b/pages/order/components/selectCoupons/selectCoupons.js
deleted file mode 100644
index 235ffba..0000000
--- a/pages/order/components/selectCoupons/selectCoupons.js
+++ /dev/null
@@ -1,160 +0,0 @@
-import dayjs from 'dayjs';
-import { couponsData } from './mock';
-
-const emptyCouponImg = `https://cdn-we-retail.ym.tencent.com/miniapp/coupon/ordersure-coupon-newempty.png`;
-
-Component({
- properties: {
- storeId: String,
- promotionGoodsList: {
- type: Array,
- value: [],
- },
- orderSureCouponList: {
- type: Array,
- value: [],
- },
- couponsShow: {
- type: Boolean,
- value: false,
- observer(couponsShow) {
- if (couponsShow) {
- const { promotionGoodsList, orderSureCouponList, storeId } =
- this.data;
- const products =
- promotionGoodsList &&
- promotionGoodsList.map((goods) => {
- this.storeId = goods.storeId;
- return {
- skuId: goods.skuId,
- spuId: goods.spuId,
- storeId: goods.storeId,
- selected: true,
- quantity: goods.num,
- prices: {
- sale: goods.settlePrice,
- },
- };
- });
- const selectedCoupons =
- orderSureCouponList &&
- orderSureCouponList.map((ele) => {
- return {
- promotionId: ele.promotionId,
- storeId: ele.storeId,
- couponId: ele.couponId,
- };
- });
- this.setData({
- products,
- });
- this.coupons({
- products,
- selectedCoupons,
- storeId,
- }).then((res) => {
- this.initData(res);
- });
- }
- },
- },
- },
- data: {
- emptyCouponImg,
- goodsList: [],
- selectedList: [],
- couponsList: [],
- orderSureCouponList: [],
- promotionGoodsList: [],
- },
- methods: {
- initData(data = {}) {
- const { couponResultList = [], reduce = 0 } = data;
- const selectedList = [];
- let selectedNum = 0;
- const couponsList =
- couponResultList &&
- couponResultList.map((coupon) => {
- const { status, couponVO } = coupon;
- const {
- couponId,
- condition = '',
- endTime = 0,
- name = '',
- startTime = 0,
- value,
- type,
- } = couponVO;
- if (status === 1) {
- selectedNum++;
- selectedList.push({
- couponId,
- promotionId: ruleId,
- storeId: this.storeId,
- });
- }
- const val = type === 2 ? value / 100 : value / 10;
- return {
- key: couponId,
- title: name,
- isSelected: false,
- timeLimit: `${dayjs(+startTime).format('YYYY-MM-DD')}-${dayjs(
- +endTime,
- ).format('YYYY-MM-DD')}`,
- value: val,
- status: status === -1 ? 'useless' : 'default',
- desc: condition,
- type,
- tag: '',
- };
- });
- this.setData({
- selectedList,
- couponsList,
- reduce,
- selectedNum,
- });
- },
- selectCoupon(e) {
- const { key } = e.currentTarget.dataset;
- const { couponsList, selectedList } = this.data;
- couponsList.forEach((coupon) => {
- if (coupon.key === key) {
- coupon.isSelected = !coupon.isSelected;
- }
- });
-
- const couponSelected = couponsList.filter(
- (coupon) => coupon.isSelected === true,
- );
-
- this.setData({
- selectedList: [...selectedList, ...couponSelected],
- couponsList: [...couponsList],
- });
-
- this.triggerEvent('sure', {
- selectedList: [...selectedList, ...couponSelected],
- });
- },
- hide() {
- this.setData({
- couponsShow: false,
- });
- },
- coupons(coupon = {}) {
- return new Promise((resolve, reject) => {
- if (coupon?.selectedCoupons) {
- resolve({
- couponResultList: couponsData.couponResultList,
- reduce: couponsData.reduce,
- });
- }
- return reject({
- couponResultList: [],
- reduce: undefined,
- });
- });
- },
- },
-});
diff --git a/pages/order/components/selectCoupons/selectCoupons.json b/pages/order/components/selectCoupons/selectCoupons.json
deleted file mode 100644
index c46dc55..0000000
--- a/pages/order/components/selectCoupons/selectCoupons.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-image": "/components/webp-image/index",
- "wr-price": "/components/price/index",
- "coupon-card": "/pages/coupon/components/ui-coupon-card/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/components/selectCoupons/selectCoupons.wxml b/pages/order/components/selectCoupons/selectCoupons.wxml
deleted file mode 100644
index 10b8898..0000000
--- a/pages/order/components/selectCoupons/selectCoupons.wxml
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
- 选择优惠券
-
-
- 你有{{couponsList.length}}张可用优惠券
-
- 已选中{{selectedNum}}张推荐优惠券, 共抵扣
-
-
-
-
-
-
-
-
-
-
-
- 此优惠券不能和已勾选的优惠券叠加使用
-
-
-
-
-
-
- 暂无优惠券
-
-
-
-
-
diff --git a/pages/order/components/selectCoupons/selectCoupons.wxss b/pages/order/components/selectCoupons/selectCoupons.wxss
deleted file mode 100644
index a8c795f..0000000
--- a/pages/order/components/selectCoupons/selectCoupons.wxss
+++ /dev/null
@@ -1,104 +0,0 @@
-.select-coupons {
- background: #fff;
- width: 100%;
- position: relative;
- border-radius: 20rpx 20rpx 0 0;
- padding-top: 28rpx;
- padding-bottom: env(safe-area-inset-bottom);
-}
-.select-coupons .title {
- width: 100%;
- text-align: center;
- font-size: 32rpx;
- color: #333;
- font-weight: 600;
- line-height: 44rpx;
-}
-.select-coupons .info {
- width: 100%;
- height: 34rpx;
- font-size: 24rpx;
- color: #999;
- line-height: 34rpx;
- margin: 20rpx 0;
- padding: 0 20rpx;
-}
-.select-coupons .info .price {
- color: #fa4126;
-}
-.select-coupons .coupons-list {
- max-height: 500rpx;
-}
-.select-coupons .coupons-list .coupons-wrap {
- padding: 0rpx 20rpx;
-}
-.select-coupons .coupons-list .disable {
- font-size: 24rpx;
- color: #ff2525;
- padding-top: 20rpx;
-}
-.select-coupons .coupons-list .slot-radio {
- position: absolute;
- right: 22rpx;
- top: 50%;
- transform: translateY(-50%);
- display: inline-block;
-}
-.select-coupons .coupons-list .slot-radio .wr-check-filled {
- font-size: 36rpx;
-}
-.select-coupons .coupons-list .slot-radio .check {
- width: 36rpx;
-}
-.select-coupons .coupons-list .slot-radio .text-primary {
- color: #fa4126;
-}
-.select-coupons .coupons-list .slot-radio .wr-check {
- font-size: 36rpx;
-}
-.select-coupons .coupons-list .slot-radio .wr-uncheck {
- font-size: 36rpx;
- color: #999;
-}
-.select-coupons .couponp-empty-wrap {
- padding: 40rpx;
-}
-.select-coupons .couponp-empty-wrap .couponp-empty-img {
- display: block;
- width: 240rpx;
- height: 240rpx;
- margin: 0 auto;
-}
-.select-coupons .couponp-empty-wrap .couponp-empty-title {
- font-size: 28rpx;
- color: #999;
- text-align: center;
- line-height: 40rpx;
- margin-top: 40rpx;
-}
-.select-coupons .coupons-cover {
- height: 112rpx;
- width: 100%;
- box-sizing: border-box;
- margin-top: 30rpx;
- padding: 12rpx 32rpx;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.select-coupons .coupons-cover .btn {
- width: 332rpx;
- height: 88rpx;
- text-align: center;
- line-height: 88rpx;
- font-size: 32rpx;
- border-radius: 44rpx;
- box-sizing: border-box;
- border: 2rpx solid #dddddd;
- color: #333333;
-}
-.select-coupons .coupons-cover .red {
- border-color: #fa4126;
- background-color: #fa4126;
- color: #ffffff;
-}
diff --git a/pages/order/components/specs-goods-card/index.js b/pages/order/components/specs-goods-card/index.js
deleted file mode 100644
index d5cd284..0000000
--- a/pages/order/components/specs-goods-card/index.js
+++ /dev/null
@@ -1,132 +0,0 @@
-Component({
- options: {
- addGlobalClass: true,
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
- },
-
- externalClasses: [
- 'title-class',
- 'desc-class',
- 'num-class',
- 'thumb-class',
- 'specs-class',
- 'price-class',
- 'origin-price-class',
- 'price-prefix-class',
- ],
-
- relations: {
- '../order-card/index': {
- type: 'ancestor',
- linked(target) {
- this.parent = target;
- },
- },
- },
-
- properties: {
- id: String,
- hidden: {
- // 设置为null代表不做类型转换
- type: null,
- observer(hidden) {
- // null就是代表没有设置,没有设置的话不setData,防止祖先组件触发的setHidden操作被覆盖
- if (hidden !== null) {
- this.setHidden(!!hidden);
- }
- },
- },
- data: Object,
- layout: {
- type: String,
- value: 'horizontal',
- },
- thumbMode: {
- type: String,
- value: 'aspectFill',
- },
- thumbWidth: Number,
- thumbHeight: Number,
- thumbWidthInPopup: Number,
- thumbHeightInPopup: Number,
- priceFill: {
- type: Boolean,
- value: true,
- },
- currency: {
- type: String,
- value: '¥',
- },
- lazyLoad: Boolean,
- centered: Boolean,
- showCart: Boolean,
- pricePrefix: String,
- cartSize: {
- type: Number,
- value: 48,
- },
- cartColor: {
- type: String,
- value: '#FA550F',
- },
- disablePopup: Boolean,
- },
-
- data: {
- hiddenInData: false,
- specsPopup: {
- insert: false,
- show: false,
- },
- },
-
- currentInTapSpecs: false,
-
- lifetimes: {
- ready() {
- const { hidden } = this.properties;
- if (hidden !== null) {
- this.setHidden(!!hidden);
- }
- },
- },
-
- methods: {
- closeSpecsPopup() {
- this.setData({
- 'specsPopup.show': false,
- });
- this.triggerEvent('specsclose', { good: this.properties.data });
- },
-
- removeSpecsPopup() {
- this.setData({
- 'specsPopup.insert': false,
- });
- },
-
- onClick(e) {
- if (this.currentInTapSpecs) {
- this.currentInTapSpecs = false;
- return;
- }
- this.triggerEvent('click', e.detail);
- },
-
- onClickThumb(e) {
- this.triggerEvent('thumb', e.detail);
- },
-
- onClickTag(e) {
- this.triggerEvent('tag', e.detail);
- },
-
- onClickCart(e) {
- this.triggerEvent('add-cart', e.detail);
- },
-
- setHidden(hidden) {
- this.setData({ hiddenInData: !!hidden });
- },
- },
-});
diff --git a/pages/order/components/specs-goods-card/index.wxml b/pages/order/components/specs-goods-card/index.wxml
deleted file mode 100644
index f6f2a38..0000000
--- a/pages/order/components/specs-goods-card/index.wxml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/order/components/specs-goods-card/index.wxss b/pages/order/components/specs-goods-card/index.wxss
deleted file mode 100644
index e69de29..0000000
diff --git a/pages/order/config.js b/pages/order/config.js
deleted file mode 100644
index 20a3317..0000000
--- a/pages/order/config.js
+++ /dev/null
@@ -1,94 +0,0 @@
-export const OrderStatus = {
- PENDING_PAYMENT: 5, // 待支付
- PENDING_DELIVERY: 10, // 待发货
- PENDING_RECEIPT: 40, // 待收货
- COMPLETE: 50, // 已完成/待评价
- PAYMENT_TIMEOUT: 80, // 已取消,支付超时
- CANCELED_NOT_PAYMENT: 80, // 已取消,未支付主动取消
- CANCELED_PAYMENT: 80, // 已取消,已支付主动取消
- CANCELED_REJECTION: 80, // 已取消,拒收
-};
-
-// 售后状态 10:待审核,20:已审核,30:已收货,40:收货异常,50:已完成,60:已关闭;
-export const AfterServiceStatus = {
- TO_AUDIT: 10, // 待审核
- THE_APPROVED: 20, // 已审核
- HAVE_THE_GOODS: 30, // 已收货
- ABNORMAL_RECEIVING: 40, // 收货异常
- COMPLETE: 50, // 已完成
- CLOSED: 60, // 已关闭
-};
-
-// 售后类型
-export const ServiceType = {
- RETURN_GOODS: 10, // 退货退款
- ONLY_REFUND: 20, // 仅退款
- ORDER_CANCEL: 30, // 支付后取消
-};
-
-export const ServiceTypeDesc = {
- [ServiceType.RETURN_GOODS]: '退货',
- [ServiceType.ONLY_REFUND]: '退款',
- [ServiceType.ORDER_CANCEL]: '支付后取消',
-};
-
-// 订单按钮类型
-export const OrderButtonTypes = {
- PAY: 1, // 付款
- CANCEL: 2, // 取消订单
- CONFIRM: 3, // 确认收货
- APPLY_REFUND: 4, // 申请售后
- VIEW_REFUND: 5, // 查看退款
- COMMENT: 6, // 评价
- DELETE: 7, // 删除订单
- DELIVERY: 8, // 查看物流
- REBUY: 9, // 再次购买
- INVITE_GROUPON: 11, //邀请好友拼团
-};
-
-// 售后服务按钮类型
-export const ServiceButtonTypes = {
- REVOKE: 2, // 撤销
- FILL_TRACKING_NO: 3, // 填写运单号
- CHANGE_TRACKING_NO: 4, // 修改运单号
- VIEW_DELIVERY: 5, // 查看物流
-};
-
-// 售后状态
-export const ServiceStatus = {
- PENDING_VERIFY: 100, //待审核
- VERIFIED: 110, // 已审核待寄回商品
- PENDING_DELIVERY: 120, // 等待买家寄回商品
- PENDING_RECEIPT: 130, // 已寄回商品,待收货
- RECEIVED: 140, // 已收货
- EXCEPTION: 150, // 收货异常
- REFUNDED: 160, // 已退款
- CLOSED: 170, // 已关闭
-};
-
-// 售后收货状态
-export const ServiceReceiptStatus = {
- RECEIPTED: 1, // 已收到货
- NOT_RECEIPTED: 2, // 未收到货
-};
-
-// 物流节点
-export const LogisticsNodeTypes = {
- SUBMITTED: 200001, // 已提交订单
- PAYMENTED: 200002, // 已付款/已下单
- SHIPPED: 200003, // 已发货
- CANCELED: 200004, // 已取消
- RECEIVED: 200005, // 已签收
- ADDRESS_CHANGED: 200006, // 已修改地址
- IN_TRANSIT: 200007, // 运输中
-};
-
-export const LogisticsIconMap = {
- [LogisticsNodeTypes.SUBMITTED]: '',
- [LogisticsNodeTypes.PAYMENTED]: 'credit_card',
- [LogisticsNodeTypes.SHIPPED]: 'deliver',
- [LogisticsNodeTypes.CANCELED]: '',
- [LogisticsNodeTypes.RECEIVED]: 'check',
- [LogisticsNodeTypes.ADDRESS_CHANGED]: '',
- [LogisticsNodeTypes.IN_TRANSIT]: 'yunshuzhong',
-};
diff --git a/pages/order/delivery-detail/index.js b/pages/order/delivery-detail/index.js
deleted file mode 100644
index f10ff02..0000000
--- a/pages/order/delivery-detail/index.js
+++ /dev/null
@@ -1,43 +0,0 @@
-Page({
- data: {
- logisticsData: {
- logisticsNo: '',
- nodes: [],
- company: '',
- phoneNumber: '',
- },
- active: 0,
- },
-
- onLoad(query) {
- let data;
- try {
- data = JSON.parse(decodeURIComponent(query.data || '{}'));
- } catch (e) {
- console.warn('物流节点数据解析失败', e);
- }
- if (Number(query.source) === 2) {
- const service = {
- company: data.logisticsCompanyName,
- logisticsNo: data.logisticsNo,
- nodes: data.nodes,
- };
- this.setData({
- logisticsData: service,
- });
- } else if (data) {
- this.setData({ logisticsData: data });
- }
- },
-
- onLogisticsNoCopy() {
- wx.setClipboardData({ data: this.data.logisticsData.logisticsNo });
- },
-
- onCall() {
- const { phoneNumber } = this.data.logisticsData;
- wx.makePhoneCall({
- phoneNumber,
- });
- },
-});
diff --git a/pages/order/delivery-detail/index.json b/pages/order/delivery-detail/index.json
deleted file mode 100644
index ba23e4c..0000000
--- a/pages/order/delivery-detail/index.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "navigationBarTitleText": "物流信息",
- "usingComponents": {
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-steps": "tdesign-miniprogram/steps/steps",
- "t-image": "/components/webp-image/index",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-step": "tdesign-miniprogram/steps/step-item"
- }
-}
\ No newline at end of file
diff --git a/pages/order/delivery-detail/index.wxml b/pages/order/delivery-detail/index.wxml
deleted file mode 100644
index b5a8bf5..0000000
--- a/pages/order/delivery-detail/index.wxml
+++ /dev/null
@@ -1,91 +0,0 @@
-
- var isUrl = function(item) {
- return item.indexOf('http') > -1;
- }
- module.exports = {
- isUrl: isUrl,
- }
-
-
-
-
-
- {{logisticsData.logisticsNo}}
- 复制
-
-
-
-
- 拨打
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{item.desc}}
- {{item.date}}
-
-
-
-
-
diff --git a/pages/order/delivery-detail/index.wxss b/pages/order/delivery-detail/index.wxss
deleted file mode 100644
index 6a2524c..0000000
--- a/pages/order/delivery-detail/index.wxss
+++ /dev/null
@@ -1,99 +0,0 @@
-page {
- background-color: #f5f5f5;
-}
-.page-section {
- margin-top: 24rpx;
- background-color: white;
-}
-.page-section .order-group__left {
- margin-right: 0 !important;
-}
-.cell-steps {
- padding: 8rpx;
-}
-.wr-cell__title {
- flex: none;
- font-size: 28rpx;
- color: #666;
-}
-.wr-cell__value {
- flex: auto;
- margin-left: 30rpx;
- font-size: 28rpx;
- color: #333 !important;
-}
-.logistics-no {
- display: inline-block;
- text-align: left;
- word-break: break-all;
- color: #333;
-}
-.text-btn {
- margin-left: 20rpx;
- display: inline;
- font-size: 24rpx;
- padding: 0 15rpx;
- border: 1rpx solid #ddd;
- border-radius: 28rpx;
- color: #333;
-}
-.text-btn--active {
- opacity: 0.5;
-}
-.steps .step-title {
- font-weight: bold;
- color: #333 !important;
- font-size: 30rpx;
-}
-.steps .step-desc {
- color: #333333;
- font-size: 28rpx;
-}
-.steps .step-date {
- color: #999999;
- font-size: 24rpx;
-}
-
-.cell-steps__img,
-.cell-steps__imgWrapper {
- width: 48rpx;
- height: 48rpx;
-}
-
-.steps
- .t-step--vertical.t-step--default-anchor
- .t-steps-item--process
- .t-steps-item__icon-number {
- background: #ffece9 !important;
- color: white !important;
- border: none;
-}
-
-.steps
- .t-step--vertical.t-step--default-anchor
- .t-steps-item--default
- .t-steps-item__icon-number {
- color: white !important;
- background: #f5f5f5 !important;
- border: none;
-}
-
-.steps
- .t-step--vertical.t-step--default-anchor.t-step--not-last-child
- .t-steps-item__inner::after {
- top: 48rpx;
- height: calc(100% - 44rpx - 4rpx);
-}
-
-.steps
- .t-step--vertical.t-step--default-anchor.t-step--not-last-child
- .t-steps-item__inner::after,
-.steps
- .t-step--vertical.t-step--default-anchor.t-step--not-last-child
- .t-steps-item--default
- .t-steps-item__inner:after {
- background: #f5f5f5 !important;
-}
-.page-section__steps {
- padding: 24rpx;
-}
diff --git a/pages/order/fill-tracking-no/api.js b/pages/order/fill-tracking-no/api.js
deleted file mode 100644
index 33f41de..0000000
--- a/pages/order/fill-tracking-no/api.js
+++ /dev/null
@@ -1,71 +0,0 @@
-import { mockIp, mockReqId } from '../../../utils/mock';
-
-export function create() {
- const _resq = {
- data: null,
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 79,
- success: true,
- };
- return Promise.resolve(_resq);
-}
-
-export function update() {
- const _resq = {
- data: null,
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 79,
- success: true,
- };
- return Promise.resolve(_resq);
-}
-
-export function getDeliverCompanyList() {
- const _resq = {
- data: [
- {
- name: '中通快递',
- code: '0001',
- },
- {
- name: '申通快递',
- code: '0002',
- },
- {
- name: '圆通快递',
- code: '0003',
- },
- {
- name: '顺丰快递',
- code: '0004',
- },
- {
- name: '百世快递',
- code: '0005',
- },
- {
- name: '韵达快递',
- code: '0006',
- },
- {
- name: '邮政快递',
- code: '0007',
- },
- {
- name: '丰网快递',
- code: '0008',
- },
- {
- name: '顺丰直邮',
- code: '0009',
- },
- ],
- };
- return Promise.resolve(_resq);
-}
diff --git a/pages/order/fill-tracking-no/index.js b/pages/order/fill-tracking-no/index.js
deleted file mode 100644
index dd6ff3b..0000000
--- a/pages/order/fill-tracking-no/index.js
+++ /dev/null
@@ -1,190 +0,0 @@
-import Dialog from 'tdesign-miniprogram/dialog/index';
-import Toast from 'tdesign-miniprogram/toast/index';
-import reasonSheet from '../components/reason-sheet/reasonSheet';
-import { getDeliverCompanyList, create, update } from './api';
-
-Page({
- deliveryCompanyList: [],
-
- data: {
- trackingNo: '',
- remark: '',
- deliveryCompany: null,
- submitActived: false,
- submitting: false,
- },
- onLoad(query) {
- const {
- rightsNo = '',
- logisticsNo = '',
- logisticsCompanyName = '',
- logisticsCompanyCode = '',
- remark = '',
- } = query;
-
- if (!rightsNo) {
- Dialog.confirm({
- title: '请选择售后单?',
- content: '',
- confirmBtn: '确认',
- }).then(() => {
- wx.navigateBack({ backRefresh: true });
- });
- }
- this.rightsNo = rightsNo;
- if (logisticsNo) {
- wx.setNavigationBarTitle({
- title: '修改运单号',
- fail() {},
- });
- this.isChange = true;
- this.setData({
- deliveryCompany: {
- name: logisticsCompanyName,
- code: logisticsCompanyCode,
- },
- trackingNo: logisticsNo,
- remark,
- submitActived: true,
- });
- }
- this.setWatcher('trackingNo', this.checkParams.bind(this));
- this.setWatcher('deliveryCompany', this.checkParams.bind(this));
- },
-
- setWatcher(key, callback) {
- let lastData = this.data;
- const keys = key.split('.');
- keys.slice(0, -1).forEach((k) => {
- lastData = lastData[k];
- });
- const lastKey = keys[keys.length - 1];
- this.observe(lastData, lastKey, callback);
- },
-
- observe(data, k, callback) {
- let val = data[k];
- Object.defineProperty(data, k, {
- configurable: true,
- enumerable: true,
- set: (value) => {
- val = value;
- callback();
- },
- get: () => {
- return val;
- },
- });
- },
-
- getDeliveryCompanyList() {
- if (this.deliveryCompanyList.length > 0) {
- return Promise.resolve(this.deliveryCompanyList);
- }
- return getDeliverCompanyList().then((res) => {
- this.deliveryCompanyList = res.data || [];
- return this.deliveryCompanyList;
- });
- },
-
- onInput(e) {
- const { key } = e.currentTarget.dataset;
- const { value } = e.detail;
- this.setData({ [key]: value });
- },
-
- onCompanyTap() {
- this.getDeliveryCompanyList().then((deliveryCompanyList) => {
- reasonSheet({
- show: true,
- title: '选择物流公司',
- options: deliveryCompanyList.map((company) => ({
- title: company.name,
- checked: this.data.deliveryCompany
- ? company.code === this.data.deliveryCompany.code
- : false,
- })),
- showConfirmButton: true,
- showCancelButton: true,
- emptyTip: '请选择物流公司',
- }).then((indexes) => {
- this.setData({
- deliveryCompany: deliveryCompanyList[indexes[0]],
- });
- });
- });
- },
-
- checkParams() {
- const res = { errMsg: '', require: false };
-
- if (!this.data.trackingNo) {
- res.errMsg = '请填写运单号';
- res.require = true;
- } else if (!this.data.deliveryCompany) {
- res.errMsg = '请选择物流公司';
- res.require = true;
- }
- this.setData({ submitActived: !res.require });
- return res;
- },
-
- onSubmit() {
- const checkRes = this.checkParams();
- if (checkRes.errMsg) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: checkRes.errMsg,
- icon: '',
- });
- return;
- }
-
- const {
- trackingNo,
- remark,
- deliveryCompany: { code, name },
- } = this.data;
-
- const params = {
- rightsNo: this.rightsNo,
- logisticsCompanyCode: code,
- logisticsCompanyName: name,
- logisticsNo: trackingNo,
- remark,
- };
- const api = this.isChange ? create : update;
- this.setData({ submitting: true });
- api(params)
- .then(() => {
- this.setData({ submitting: false });
- Toast({
- context: this,
- selector: '#t-toast',
- message: '保存成功',
- icon: '',
- });
- setTimeout(() => wx.navigateBack({ backRefresh: true }), 1000);
- })
- .catch(() => {
- this.setData({ submitting: false });
- });
- },
-
- onScanTap() {
- wx.scanCode({
- scanType: ['barCode'],
- success: (res) => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '扫码成功',
- icon: '',
- });
- this.setData({ trackingNo: res.result });
- },
- fail: () => {},
- });
- },
-});
diff --git a/pages/order/fill-tracking-no/index.json b/pages/order/fill-tracking-no/index.json
deleted file mode 100644
index bd1bb20..0000000
--- a/pages/order/fill-tracking-no/index.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "navigationBarTitleText": "填写运单号",
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-textarea": "tdesign-miniprogram/textarea/textarea",
- "t-input": "tdesign-miniprogram/input/input",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-button": "tdesign-miniprogram/button/button",
- "ui-reason-sheet": "../components/reason-sheet/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/fill-tracking-no/index.wxml b/pages/order/fill-tracking-no/index.wxml
deleted file mode 100644
index 18592b5..0000000
--- a/pages/order/fill-tracking-no/index.wxml
+++ /dev/null
@@ -1,54 +0,0 @@
-
- 请填写正确的退货包裹运单信息,以免影响退款进度
-
-
-
-
-
-
-
-
-
- 备注信息
-
-
-
-
-
- 保存
-
-
-
-
-
-
-
diff --git a/pages/order/fill-tracking-no/index.wxss b/pages/order/fill-tracking-no/index.wxss
deleted file mode 100644
index c64e653..0000000
--- a/pages/order/fill-tracking-no/index.wxss
+++ /dev/null
@@ -1,95 +0,0 @@
-@import '../../../style/theme.wxss';
-
-:host {
- background-color: #f5f5f5;
-}
-
-.notice-bar {
- padding: 24rpx 30rpx;
- text-align: center;
- font-size: 26rpx;
- color: #e17349;
- background: #fefcef;
-}
-
-.fill-tracking-no__form {
- margin-top: 20rpx;
-}
-
-.fill-tracking-no__form .t-cell__note {
- justify-content: flex-start;
-}
-
-.fill-tracking-no__form .t-cell__value {
- color: #333 !important;
- font-size: 30rpx;
- text-align: left;
- padding: 0;
-}
-
-
-.fill-tracking-no__form .t-cell__value::after {
- border: none !important;
-}
-
-.fill-tracking-no__form .t-cell__value .t-textarea__wrapper {
- padding: 0;
-}
-
-.fill-tracking-no__form .t-input__control,
-.fill-tracking-no__form .t-textarea__placeholder,
-.fill-tracking-no__form .t-cell__placeholder {
- font-size: 30rpx !important;
-}
-
-.fill-tracking-no__form .t-textarea__placeholder,
-.fill-tracking-no__form .t-cell__placeholder {
- color: #bbbbbb !important;
-}
-
-.t-textarea__note {
- width: 100%;
-}
-
-.fill-tracking-no__button-bar {
- margin: 38rpx 30rpx 0;
-}
-
-.fill-tracking-no__button-bar .btn {
- background-color: transparent;
- font-size: 32rpx;
- width: 100%;
- border-radius: 48rpx;
-}
-
-.fill-tracking-no__button-bar .btn:first-child {
- margin-bottom: 20rpx;
-}
-
-.fill-tracking-no__button-bar .btn.confirmBtn {
- background: #fa4126;
- color: #fff;
-}
-
-.fill-tracking-no__button-bar .btn.disabled {
- background-color: #c6c6c6;
- color: #fff;
-}
-
-.fill-tracking-no__button-bar .t-class-confirm {
- color: #fa4126;
-}
-
-.t-cell-title-width {
- width: 160rpx;
- flex: none !important;
-}
-.textarea-wrapper {
- background: #fff;
- display: flex;
- align-items: flex-start;
- padding: 24rpx 32rpx 0 32rpx;
-}
-.t-textarea-wrapper {
- box-sizing: border-box;
-}
diff --git a/pages/order/invoice/index.js b/pages/order/invoice/index.js
deleted file mode 100644
index 5333802..0000000
--- a/pages/order/invoice/index.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import { fetchOrderDetail } from '../../../services/order/orderDetail';
-
-Page({
- data: {
- invoice: {},
- },
- onLoad({ orderNo }) {
- this.orderNo = orderNo;
- this.init();
- },
- init() {
- this.getDetail();
- },
- getDetail() {
- const params = {
- parameter: this.orderNo,
- };
- return fetchOrderDetail(params).then((res) => {
- const order = res.data;
-
- const invoice = {
- buyerName: order?.invoiceVO?.buyerName, //个人或公司名称
- buyerTaxNo: order?.invoiceVO?.buyerTaxNo, //税号
- buyerPhone: order?.invoiceVO?.buyerPhone, //手机
- email: order?.invoiceVO?.email, //邮箱
- titleType: order?.invoiceVO?.titleType === 1 ? '个人' : '公司', //发票抬头 1-个人 2-公司
- ontentType: order?.invoiceVO?.ontentType === 1 ? '商品明细' : '2类别', //发票内容 1-明细 2类别
- invoiceType:
- order?.invoiceVO?.invoiceType === 5 ? '电子普通发票' : '不开发票', //是否开票 0-不开 5-电子发票
- isInvoice: order?.invoiceVO?.buyerName ? '已开票' : '未开票',
- money: order?.invoiceVO?.money,
- };
- this.setData({
- invoice,
- });
- });
- },
-});
diff --git a/pages/order/invoice/index.json b/pages/order/invoice/index.json
deleted file mode 100644
index ea83b65..0000000
--- a/pages/order/invoice/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "navigationBarTitleText": "发票详情",
- "usingComponents": {
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-button": "tdesign-miniprogram/button/button",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group"
- }
-}
diff --git a/pages/order/invoice/index.wxml b/pages/order/invoice/index.wxml
deleted file mode 100644
index b3bc794..0000000
--- a/pages/order/invoice/index.wxml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
- 发票详情
-
- 发票类型
- {{invoice.invoiceType}}
-
-
- 发票抬头
- {{invoice.buyerName}}
-
-
- 纳税人识别号
- {{invoice.buyerTaxNo}}
-
-
- 发票内容
- {{invoice.ontentType}}
-
-
- 发票金额
- {{invoice.money}}
-
-
-
- 收票人信息
-
- 邮箱
- {{invoice.email}}
-
-
- 手机号
- {{invoice.buyerPhone}}
-
-
- 开票状态
- {{invoice.isInvoice}}
-
-
-
diff --git a/pages/order/invoice/index.wxss b/pages/order/invoice/index.wxss
deleted file mode 100644
index 0a0379b..0000000
--- a/pages/order/invoice/index.wxss
+++ /dev/null
@@ -1,31 +0,0 @@
-:host {
- background-color: #f5f5f5;
-}
-
-.invoice-detail .invoice-detail-box {
- background-color: #fff;
- padding: 24rpx 32rpx;
- margin-top: 24rpx;
-}
-
-.invoice-detail-title {
- font-size: 14px;
- font-weight: 600;
-}
-
-.invoice-detail-box-row {
- display: flex;
- margin-top: 44rpx;
-}
-
-.invoice-detail-box-title {
- font-size: 13px;
- color: #666666;
- width: 156rpx;
- margin-right: 32rpx;
-}
-
-.invoice-detail-box-value {
- font-size: 13px;
- color: #333333;
-}
diff --git a/pages/order/order-confirm/components/address-card/index.js b/pages/order/order-confirm/components/address-card/index.js
deleted file mode 100644
index 96cf8ef..0000000
--- a/pages/order/order-confirm/components/address-card/index.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * @Author: rileycai
- * @Date: 2022-03-05 16:47:16
- * @LastEditTime: 2022-03-05 16:48:32
- * @LastEditors: rileycai
- * @Description:
- * @FilePath: /tdesign-miniprogram-starter/pages/order/order-confirm/components/address-card/index.js
- */
-Component({
- externalClasses: ['wr-class'],
- properties: {
- addressData: {
- type: Object,
- value: {},
- },
- },
- methods: {
- onAddressTap() {
- this.triggerEvent('addressclick');
- },
- onAddTap() {
- this.triggerEvent('addclick');
- },
- },
-});
diff --git a/pages/order/order-confirm/components/address-card/index.json b/pages/order/order-confirm/components/address-card/index.json
deleted file mode 100644
index 08ecc96..0000000
--- a/pages/order/order-confirm/components/address-card/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
diff --git a/pages/order/order-confirm/components/address-card/index.wxml b/pages/order/order-confirm/components/address-card/index.wxml
deleted file mode 100644
index 9cf86f4..0000000
--- a/pages/order/order-confirm/components/address-card/index.wxml
+++ /dev/null
@@ -1,46 +0,0 @@
-
- var hidePhoneNum = function(array) {
- if (!array) return;
- var mphone = array.substring(0, 3) + '****' + array.substring(7);
- return mphone;
- }
- module.exports = {
- hidePhoneNum:hidePhoneNum
- }
-
-
-
-
-
-
-
-
-
- {{addressData.addressTag}}
-
- {{addressData.provinceName}} {{addressData.cityName}} {{addressData.districtName}}
-
- {{addressData.detailAddress}}
-
- {{addressData.name}} {{utils.hidePhoneNum(addressData.phone)}}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/order/order-confirm/components/address-card/index.wxss b/pages/order/order-confirm/components/address-card/index.wxss
deleted file mode 100644
index aaff4bd..0000000
--- a/pages/order/order-confirm/components/address-card/index.wxss
+++ /dev/null
@@ -1,66 +0,0 @@
-.address-card {
- background: #fff;
- margin: 0rpx 0rpx 24rpx;
-}
-.address-card .wr-cell__title {
- color: #999;
- margin-left: 6rpx;
-}
-.address-card .order-address {
- display: flex;
- width: 100%;
-}
-.address-card .order-address .address-content {
- flex: 1;
-}
-.order-address .address__right {
- align-self: center;
-}
-.address-card .order-address .title {
- display: flex;
- align-items: center;
- height: 40rpx;
- font-size: 28rpx;
- font-weight: normal;
- color: #999999;
- line-height: 40rpx;
-}
-.address-card .order-address .title .address-tag {
- width: 52rpx;
- height: 29rpx;
- border: 1rpx solid #0091ff;
- background-color: rgba(122, 167, 251, 0.1);
- text-align: center;
- line-height: 29rpx;
- border-radius: 8rpx;
- color: #0091ff;
- font-size: 20rpx;
- margin-right: 12rpx;
-}
-.address-card .order-address .detail {
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- font-size: 36rpx;
- font-weight: bold;
- color: #333333;
- line-height: 48rpx;
- margin: 8rpx 0;
-}
-.address-card .order-address .info {
- height: 40rpx;
- font-size: 28rpx;
- font-weight: normal;
- color: #333333;
- line-height: 40rpx;
-}
-.address-card .top-line {
- width: 100%;
- height: 6rpx;
- background-color: #fff;
- background-image: url(https://cdn-we-retail.ym.tencent.com/miniapp/order/stripe.png);
- background-repeat: repeat-x;
- display: block;
-}
diff --git a/pages/order/order-confirm/getNotes.wxs b/pages/order/order-confirm/getNotes.wxs
deleted file mode 100644
index 935962c..0000000
--- a/pages/order/order-confirm/getNotes.wxs
+++ /dev/null
@@ -1,11 +0,0 @@
-var getNotes = function (storeInfoList, storeIndex) {
- if (!storeInfoList) {
- return '';
- }
- var storeInfo = storeInfoList[storeIndex];
- if (!storeInfo) {
- return '';
- }
- return storeInfoList[storeIndex].remark;
-};
-module.exports = getNotes;
diff --git a/pages/order/order-confirm/handleInvoice.wxs b/pages/order/order-confirm/handleInvoice.wxs
deleted file mode 100644
index 30e50f9..0000000
--- a/pages/order/order-confirm/handleInvoice.wxs
+++ /dev/null
@@ -1,11 +0,0 @@
-var handleInvoice = function (invoiceData) {
- if (!invoiceData || invoiceData.invoiceType == 0) {
- return '暂不开发票';
- }
- var title = invoiceData.titleType == 2 ? '公司' : '个人';
- var content = invoiceData.contentType == 2 ? '商品类别' : '商品明细';
- return invoiceData.email
- ? '电子普通发票 (' + content + ' - ' + title + ')'
- : '暂不开发票';
-};
-module.exports = handleInvoice;
diff --git a/pages/order/order-confirm/index.js b/pages/order/order-confirm/index.js
deleted file mode 100644
index 8ac2566..0000000
--- a/pages/order/order-confirm/index.js
+++ /dev/null
@@ -1,571 +0,0 @@
-import Toast from 'tdesign-miniprogram/toast/index';
-import { fetchSettleDetail } from '../../../services/order/orderConfirm';
-import { commitPay, wechatPayOrder } from './pay';
-import { getAddressPromise } from '../../usercenter/address/list/util';
-
-const stripeImg = `https://cdn-we-retail.ym.tencent.com/miniapp/order/stripe.png`;
-
-Page({
- data: {
- placeholder: '备注信息',
- stripeImg,
- loading: false,
- settleDetailData: {
- storeGoodsList: [], //正常下单商品列表
- outOfStockGoodsList: [], //库存不足商品
- abnormalDeliveryGoodsList: [], // 不能正常配送商品
- inValidGoodsList: [], // 失效或者库存不足
- limitGoodsList: [], //限购商品
- couponList: [], //门店优惠券信息
- }, // 获取结算页详情 data
- orderCardList: [], // 仅用于商品卡片展示
- couponsShow: false, // 显示优惠券的弹框
- invoiceData: {
- email: '', // 发票发送邮箱
- buyerTaxNo: '', // 税号
- invoiceType: null, // 开票类型 1:增值税专用发票; 2:增值税普通发票; 3:增值税电子发票;4:增值税卷式发票;5:区块链电子发票。
- buyerPhone: '', //手机号
- buyerName: '', //个人或公司名称
- titleType: '', // 发票抬头 1-公司 2-个人
- contentType: '', //发票内容 1-明细 2-类别
- },
- goodsRequestList: [],
- userAddressReq: null,
- popupShow: false, // 不在配送范围 失效 库存不足 商品展示弹框
- notesPosition: 'center',
- storeInfoList: [],
- storeNoteIndex: 0, //当前填写备注门店index
- promotionGoodsList: [], //当前门店商品列表(优惠券)
- couponList: [], //当前门店所选优惠券
- submitCouponList: [], //所有门店所选优惠券
- currentStoreId: null, //当前优惠券storeId
- userAddress: null,
- },
-
- payLock: false,
- noteInfo: [],
- tempNoteInfo: [],
- onLoad(options) {
- this.setData({
- loading: true,
- });
- this.handleOptionsParams(options);
- },
- onShow() {
- const invoiceData = wx.getStorageSync('invoiceData');
- if (invoiceData) {
- //处理发票
- this.invoiceData = invoiceData;
- this.setData({
- invoiceData,
- });
- wx.removeStorageSync('invoiceData');
- }
- },
-
- init() {
- this.setData({
- loading: true,
- });
- const { goodsRequestList } = this;
- this.handleOptionsParams({ goodsRequestList });
- },
- // 处理不同情况下跳转到结算页时需要的参数
- handleOptionsParams(options, couponList) {
- let { goodsRequestList } = this; // 商品列表
- let { userAddressReq } = this; // 收货地址
-
- const storeInfoList = []; // 门店列表
- // 如果是从地址选择页面返回,则使用地址显选择页面新选择的地址去获取结算数据
- if (options.userAddressReq) {
- userAddressReq = options.userAddressReq;
- }
- if (options.type === 'cart') {
- // 从购物车跳转过来时,获取传入的商品列表数据
- const goodsRequestListJson = wx.getStorageSync('order.goodsRequestList');
- goodsRequestList = JSON.parse(goodsRequestListJson);
- } else if (typeof options.goodsRequestList === 'string') {
- goodsRequestList = JSON.parse(options.goodsRequestList);
- }
- //获取结算页请求数据列表
- const storeMap = {};
- goodsRequestList.forEach((goods) => {
- if (!storeMap[goods.storeId]) {
- storeInfoList.push({
- storeId: goods.storeId,
- storeName: goods.storeName,
- });
- storeMap[goods.storeId] = true;
- }
- });
- this.goodsRequestList = goodsRequestList;
- this.storeInfoList = storeInfoList;
- const params = {
- goodsRequestList,
- storeInfoList,
- userAddressReq,
- couponList,
- };
- fetchSettleDetail(params).then(
- (res) => {
- this.setData({
- loading: false,
- });
- this.initData(res.data);
- },
- () => {
- //接口异常处理
- this.handleError();
- },
- );
- },
- initData(resData) {
- // 转换商品卡片显示数据
- const data = this.handleResToGoodsCard(resData);
- this.userAddressReq = resData.userAddress;
-
- if (resData.userAddress) {
- this.setData({ userAddress: resData.userAddress });
- }
- this.setData({ settleDetailData: data });
- this.isInvalidOrder(data);
- },
-
- isInvalidOrder(data) {
- // 失效 不在配送范围 限购的商品 提示弹窗
- if (
- (data.limitGoodsList && data.limitGoodsList.length > 0) ||
- (data.abnormalDeliveryGoodsList &&
- data.abnormalDeliveryGoodsList.length > 0) ||
- (data.inValidGoodsList && data.inValidGoodsList.length > 0)
- ) {
- this.setData({ popupShow: true });
- return true;
- }
- this.setData({ popupShow: false });
- if (data.settleType === 0) {
- return true;
- }
- return false;
- },
-
- handleError() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '结算异常, 请稍后重试',
- duration: 2000,
- icon: '',
- });
-
- setTimeout(() => {
- wx.navigateBack();
- }, 1500);
- this.setData({
- loading: false,
- });
- },
- getRequestGoodsList(storeGoodsList) {
- const filterStoreGoodsList = [];
- storeGoodsList &&
- storeGoodsList.forEach((store) => {
- const { storeName } = store;
- store.skuDetailVos &&
- store.skuDetailVos.forEach((goods) => {
- const data = goods;
- data.storeName = storeName;
- filterStoreGoodsList.push(data);
- });
- });
- return filterStoreGoodsList;
- },
- handleGoodsRequest(goods, isOutStock = false) {
- const {
- reminderStock,
- quantity,
- storeId,
- uid,
- saasId,
- spuId,
- goodsName,
- skuId,
- storeName,
- roomId,
- } = goods;
- const resQuantity = isOutStock ? reminderStock : quantity;
- return {
- quantity: resQuantity,
- storeId,
- uid,
- saasId,
- spuId,
- goodsName,
- skuId,
- storeName,
- roomId,
- };
- },
- handleResToGoodsCard(data) {
- // 转换数据 符合 goods-card展示
- const orderCardList = []; // 订单卡片列表
- const storeInfoList = [];
- const submitCouponList = []; //使用优惠券列表;
-
- data.storeGoodsList &&
- data.storeGoodsList.forEach((ele) => {
- const orderCard = {
- id: ele.storeId,
- storeName: ele.storeName,
- status: 0,
- statusDesc: '',
- amount: ele.storeTotalPayAmount,
- goodsList: [],
- }; // 订单卡片
- ele.skuDetailVos.forEach((item, index) => {
- orderCard.goodsList.push({
- id: index,
- thumb: item.image,
- title: item.goodsName,
- specs: item.skuSpecLst.map((s) => s.specValue), // 规格列表 string[]
- price: item.tagPrice || item.settlePrice || '0', // 优先取限时活动价
- settlePrice: item.settlePrice,
- titlePrefixTags: item.tagText ? [{ text: item.tagText }] : [],
- num: item.quantity,
- skuId: item.skuId,
- spuId: item.spuId,
- storeId: item.storeId,
- });
- });
-
- storeInfoList.push({
- storeId: ele.storeId,
- storeName: ele.storeName,
- remark: '',
- });
- submitCouponList.push({
- storeId: ele.storeId,
- couponList: ele.couponList || [],
- });
- this.noteInfo.push('');
- this.tempNoteInfo.push('');
- orderCardList.push(orderCard);
- });
-
- this.setData({ orderCardList, storeInfoList, submitCouponList });
- return data;
- },
- onGotoAddress() {
- /** 获取一个Promise */
- getAddressPromise()
- .then((address) => {
- this.handleOptionsParams({
- userAddressReq: { ...address, checked: true },
- });
- })
- .catch(() => {});
-
- const { userAddressReq } = this; // 收货地址
-
- let id = '';
-
- if (userAddressReq?.id) {
- id = `&id=${userAddressReq.id}`;
- }
-
- wx.navigateTo({
- url: `/pages/usercenter/address/list/index?selectMode=1&isOrderSure=1${id}`,
- });
- },
- onNotes(e) {
- const { storenoteindex: storeNoteIndex } = e.currentTarget.dataset;
- // 添加备注信息
- this.setData({
- dialogShow: true,
- storeNoteIndex,
- });
- },
- onInput(e) {
- const { storeNoteIndex } = this.data;
- this.noteInfo[storeNoteIndex] = e.detail.value;
- },
- onBlur() {
- this.setData({
- notesPosition: 'center',
- });
- },
- onFocus() {
- this.setData({
- notesPosition: 'self',
- });
- },
- onTap() {
- this.setData({
- placeholder: '',
- });
- },
- onNoteConfirm() {
- // 备注信息 确认按钮
- const { storeInfoList, storeNoteIndex } = this.data;
- this.tempNoteInfo[storeNoteIndex] = this.noteInfo[storeNoteIndex];
- storeInfoList[storeNoteIndex].remark = this.noteInfo[storeNoteIndex];
-
- this.setData({
- dialogShow: false,
- storeInfoList,
- });
- },
- onNoteCancel() {
- // 备注信息 取消按钮
- const { storeNoteIndex } = this.data;
- this.noteInfo[storeNoteIndex] = this.tempNoteInfo[storeNoteIndex];
- this.setData({
- dialogShow: false,
- });
- },
-
- onSureCommit() {
- // 商品库存不足继续结算
- const { settleDetailData } = this.data;
- const { outOfStockGoodsList, storeGoodsList, inValidGoodsList } =
- settleDetailData;
- if (
- (outOfStockGoodsList && outOfStockGoodsList.length > 0) ||
- (inValidGoodsList && storeGoodsList)
- ) {
- // 合并正常商品 和 库存 不足商品继续支付
- // 过滤不必要的参数
- const filterOutGoodsList = [];
- outOfStockGoodsList &&
- outOfStockGoodsList.forEach((outOfStockGoods) => {
- const { storeName } = outOfStockGoods;
- outOfStockGoods.unSettlementGoods.forEach((ele) => {
- const data = ele;
- data.quantity = ele.reminderStock;
- data.storeName = storeName;
- filterOutGoodsList.push(data);
- });
- });
- const filterStoreGoodsList = this.getRequestGoodsList(storeGoodsList);
- const goodsRequestList = filterOutGoodsList.concat(filterStoreGoodsList);
- this.handleOptionsParams({ goodsRequestList });
- }
- },
- // 提交订单
- submitOrder() {
- const {
- settleDetailData,
- userAddressReq,
- invoiceData,
- storeInfoList,
- submitCouponList,
- } = this.data;
- const { goodsRequestList } = this;
-
- if (!userAddressReq && !settleDetailData.userAddress) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '请添加收货地址',
- duration: 2000,
- icon: 'help-circle',
- });
-
- return;
- }
- if (
- this.payLock ||
- !settleDetailData.settleType ||
- !settleDetailData.totalAmount
- ) {
- return;
- }
- this.payLock = true;
- const resSubmitCouponList = this.handleCouponList(submitCouponList);
- const params = {
- userAddressReq: settleDetailData.userAddress || userAddressReq,
- goodsRequestList: goodsRequestList,
- userName: settleDetailData.userAddress.name || userAddressReq.name,
- totalAmount: settleDetailData.totalPayAmount, //取优惠后的结算金额
- invoiceRequest: null,
- storeInfoList,
- couponList: resSubmitCouponList,
- };
- if (invoiceData && invoiceData.email) {
- params.invoiceRequest = invoiceData;
- }
- commitPay(params).then(
- (res) => {
- this.payLock = false;
- const { data } = res;
- // 提交出现 失效 不在配送范围 限购的商品 提示弹窗
- if (this.isInvalidOrder(data)) {
- return;
- }
- if (res.code === 'Success') {
- this.handlePay(data, settleDetailData);
- } else {
- Toast({
- context: this,
- selector: '#t-toast',
- message: res.msg || '提交订单超时,请稍后重试',
- duration: 2000,
- icon: '',
- });
- setTimeout(() => {
- // 提交支付失败 返回购物车
- wx.navigateBack();
- }, 2000);
- }
- },
- (err) => {
- this.payLock = false;
- if (
- err.code === 'CONTAINS_INSUFFICIENT_GOODS' ||
- err.code === 'TOTAL_AMOUNT_DIFFERENT'
- ) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: err.msg || '支付异常',
- duration: 2000,
- icon: '',
- });
- this.init();
- } else if (err.code === 'ORDER_PAY_FAIL') {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '支付失败',
- duration: 2000,
- icon: 'close-circle',
- });
- setTimeout(() => {
- wx.redirectTo({ url: '/order/list' });
- });
- } else if (err.code === 'ILLEGAL_CONFIG_PARAM') {
- Toast({
- context: this,
- selector: '#t-toast',
- message:
- '支付失败,微信支付商户号设置有误,请商家重新检查支付设置。',
- duration: 2000,
- icon: 'close-circle',
- });
- setTimeout(() => {
- wx.redirectTo({ url: '/order/list' });
- });
- } else {
- Toast({
- context: this,
- selector: '#t-toast',
- message: err.msg || '提交支付超时,请稍后重试',
- duration: 2000,
- icon: '',
- });
- setTimeout(() => {
- // 提交支付失败 返回购物车
- wx.navigateBack();
- }, 2000);
- }
- },
- );
- },
-
- // 处理支付
- handlePay(data, settleDetailData) {
- const { channel, payInfo, tradeNo, interactId, transactionId } = data;
- const { totalAmount, totalPayAmount } = settleDetailData;
- const payOrderInfo = {
- payInfo: payInfo,
- orderId: tradeNo,
- orderAmt: totalAmount,
- payAmt: totalPayAmount,
- interactId: interactId,
- tradeNo: tradeNo,
- transactionId: transactionId,
- };
-
- if (channel === 'wechat') {
- wechatPayOrder(payOrderInfo);
- }
- },
-
- hide() {
- // 隐藏 popup
- this.setData({
- 'settleDetailData.abnormalDeliveryGoodsList': [],
- });
- },
- onReceipt() {
- // 跳转 开发票
- const invoiceData = this.invoiceData || {};
- wx.navigateTo({
- url: `/pages/order/receipt/index?invoiceData=${JSON.stringify(
- invoiceData,
- )}`,
- });
- },
-
- onCoupons(e) {
- const { submitCouponList, currentStoreId } = this.data;
- const { goodsRequestList } = this;
- const { selectedList } = e.detail;
- const tempSubmitCouponList = submitCouponList.map((storeCoupon) => {
- return {
- couponList:
- storeCoupon.storeId === currentStoreId
- ? selectedList
- : storeCoupon.couponList,
- };
- });
- const resSubmitCouponList = this.handleCouponList(tempSubmitCouponList);
- //确定选择优惠券
- this.handleOptionsParams({ goodsRequestList }, resSubmitCouponList);
- this.setData({ couponsShow: false });
- },
- onOpenCoupons(e) {
- const { storeid } = e.currentTarget.dataset;
- this.setData({
- couponsShow: true,
- currentStoreId: storeid,
- });
- },
-
- handleCouponList(storeCouponList) {
- //处理门店优惠券 转换成接口需要
- if (!storeCouponList) return [];
- const resSubmitCouponList = [];
- storeCouponList.forEach((ele) => {
- resSubmitCouponList.push(...ele.couponList);
- });
- return resSubmitCouponList;
- },
-
- onGoodsNumChange(e) {
- const {
- detail: { value },
- currentTarget: {
- dataset: { goods },
- },
- } = e;
- const index = this.goodsRequestList.findIndex(
- ({ storeId, spuId, skuId }) =>
- goods.storeId === storeId &&
- goods.spuId === spuId &&
- goods.skuId === skuId,
- );
- if (index >= 0) {
- // eslint-disable-next-line no-confusing-arrow
- const goodsRequestList = this.goodsRequestList.map((item, i) =>
- i === index ? { ...item, quantity: value } : item,
- );
- this.handleOptionsParams({ goodsRequestList });
- }
- },
-
- onPopupChange() {
- this.setData({
- popupShow: !this.data.popupShow,
- });
- },
-});
diff --git a/pages/order/order-confirm/index.json b/pages/order/order-confirm/index.json
deleted file mode 100644
index 11f25ac..0000000
--- a/pages/order/order-confirm/index.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "navigationBarTitleText": "订单确认",
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-textarea": "tdesign-miniprogram/textarea/textarea",
- "price": "/components/price/index",
- "select-coupons": "../components/selectCoupons/selectCoupons",
- "no-goods": "../components/noGoods/noGoods",
- "t-image": "/components/webp-image/index",
- "address-card": "./components/address-card/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/order-confirm/index.wxml b/pages/order/order-confirm/index.wxml
deleted file mode 100644
index c410ed3..0000000
--- a/pages/order/order-confirm/index.wxml
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{stores.storeName}}
-
-
-
-
- {{goods.title}}
- {{goods.specs}}
-
-
-
- x{{goods.num}}
-
-
-
-
-
- 商品总额
-
-
-
- 运费
-
-
- +
-
-
- 免运费
-
-
-
- 活动优惠
-
- -
-
-
-
-
- 优惠券
-
-
-
- -
-
- 选择优惠券
-
- 无可用
-
-
-
-
- 发票
-
- {{handleInvoice(invoiceData)}}
-
-
-
-
- 订单备注
-
-
-
-
-
-
-
-
- 共{{settleDetailData.totalGoodsCount}}件
- 小计
-
-
-
-
-
-
-
- 提交订单
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/order/order-confirm/index.wxss b/pages/order/order-confirm/index.wxss
deleted file mode 100644
index 73e0188..0000000
--- a/pages/order/order-confirm/index.wxss
+++ /dev/null
@@ -1,229 +0,0 @@
-.order-sure {
- box-sizing: border-box;
- background: #f6f6f6;
- padding: 24rpx 0 calc(env(safe-area-inset-bottom) + 136rpx);
- min-height: 100vh;
-}
-
-.order-sure .wx-pay-cover {
- position: fixed;
- left: 0;
- bottom: 0;
- right: 0;
- z-index: 10;
- background: #fff;
- height: 112rpx;
- padding-bottom: env(safe-area-inset-bottom);
-}
-.order-sure .wx-pay-cover .wx-pay {
- width: 100%;
- height: 100rpx;
- box-sizing: border-box;
- padding: 0rpx 32rpx;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.order-sure .wx-pay-cover .wx-pay .price {
- color: #fa4126;
- font-weight: bold;
- font-size: 63rpx;
- line-height: 88rpx;
-}
-
-.order-sure .wx-pay-cover .wx-pay .submit-btn {
- height: 80rpx;
- width: 240rpx;
- border-radius: 40rpx;
- background-color: #fa4126;
- color: #ffffff;
- line-height: 80rpx;
- font-weight: bold;
- font-size: 28rpx;
- text-align: center;
-}
-.order-sure .wx-pay-cover .wx-pay .btn-gray {
- background: #cccccc;
-}
-
-.order-wrapper .store-wrapper {
- width: 100%;
- height: 96rpx;
- box-sizing: border-box;
- padding: 0 32rpx;
- display: flex;
- align-items: center;
- font-size: 28rpx;
- line-height: 40rpx;
- color: #333333;
- background-color: #ffffff;
-}
-.order-wrapper .store-wrapper .store-logo {
- margin-right: 16rpx;
-}
-.order-wrapper .goods-wrapper {
- width: 100%;
- box-sizing: border-box;
- padding: 16rpx 32rpx;
- display: flex;
- align-items: flex-start;
- justify-content: space-between;
- font-size: 24rpx;
- line-height: 32rpx;
- color: #999999;
- background-color: #ffffff;
-}
-.goods-wrapper .goods-image {
- width: 176rpx;
- height: 176rpx;
- border-radius: 8rpx;
- overflow: hidden;
- margin-right: 16rpx;
-}
-.goods-wrapper .goods-content {
- flex: 1;
-}
-
-.goods-wrapper .goods-content .goods-title {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- overflow: hidden;
- text-overflow: ellipsis;
- font-size: 28rpx;
- line-height: 40rpx;
- margin-bottom: 12rpx;
- color: #333333;
- margin-right: 16rpx;
-}
-
-.goods-wrapper .goods-right {
- min-width: 128rpx;
- display: flex;
- flex-direction: column;
- align-items: flex-end;
-}
-
-.goods-right .goods-price {
- color: #333333;
- font-size: 32rpx;
- line-height: 48rpx;
- font-weight: bold;
- margin-bottom: 16rpx;
-}
-
-.goods-right .goods-num {
- text-align: right;
-}
-
-.order-sure .pay-detail {
- background-color: #ffffff;
- padding: 16rpx 32rpx;
- width: 100%;
- box-sizing: border-box;
-}
-
-.order-sure .pay-detail .pay-item {
- width: 100%;
- height: 72rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- font-size: 26rpx;
- line-height: 36rpx;
- color: #666666;
-}
-.order-sure .pay-detail .pay-item .pay-item__right {
- color: #333333;
- font-size: 24rpx;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- max-width: 400rpx;
-}
-.order-sure .pay-detail .pay-item .pay-item__right .pay-remark {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- max-width: 400rpx;
- text-overflow: ellipsis;
- overflow: hidden;
-}
-.order-sure .pay-detail .pay-item .font-bold {
- font-weight: bold;
-}
-.order-sure .pay-detail .pay-item .primary {
- color: #fa4126;
-}
-
-.add-notes .add-notes__content {
- padding: 32rpx 8rpx 0 !important;
-}
-.add-notes .add-notes__confirm {
- color: #fa4126;
-}
-
-.add-notes .t-textarea__placeholder,
-.add-notes .add-notes__placeholder {
- color: #aeb3b7;
-}
-.add-notes .add-notes__textarea__font {
- font-size: 26rpx;
-}
-.add-notes .add-notes__textarea {
- font-size: 24rpx;
- border-radius: 10rpx;
- color: #f5f5f5;
- margin-top: 30rpx;
-}
-.order-sure .add-notes .dialog__message {
- border-radius: 8rpx;
-}
-
-.order-sure .add-notes .dialog__button-cancel::after {
- border-right: 0;
-}
-
-.order-sure .amount-wrapper {
- width: 100%;
- box-sizing: border-box;
- background-color: #ffffff;
- padding: 0rpx 32rpx;
- height: 96rpx;
-}
-
-.order-sure .pay-amount {
- width: 100%;
- height: 96rpx;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- font-size: 28rpx;
- color: #333333;
- position: relative;
-}
-.order-sure .pay-amount::after {
- position: absolute;
- content: ' ';
- top: 0;
- left: 0;
- width: 200%;
- height: 200%;
- transform: scale(0.5);
- transform-origin: 0 0;
- border-top: 2rpx solid #f5f5f5;
-}
-.order-sure .pay-amount .order-num {
- color: #999999;
- padding-right: 8rpx;
-}
-
-.order-sure .pay-amount .total-price {
- font-size: 36rpx;
- color: #fa4126;
- font-weight: bold;
- padding-left: 8rpx;
-}
-.add-notes__confirm {
- color: #fa4126 !important;
-}
diff --git a/pages/order/order-confirm/order.wxs b/pages/order/order-confirm/order.wxs
deleted file mode 100644
index 42f3de1..0000000
--- a/pages/order/order-confirm/order.wxs
+++ /dev/null
@@ -1,8 +0,0 @@
-var toHide = function (array) {
- if (!array) return;
- var mphone = array.substring(0, 3) + '****' + array.substring(7);
- return mphone;
-};
-module.exports = {
- toHide: toHide,
-};
diff --git a/pages/order/order-confirm/pay.js b/pages/order/order-confirm/pay.js
deleted file mode 100644
index 0c27c3c..0000000
--- a/pages/order/order-confirm/pay.js
+++ /dev/null
@@ -1,115 +0,0 @@
-import Dialog from 'tdesign-miniprogram/dialog/index';
-import Toast from 'tdesign-miniprogram/toast/index';
-
-import { dispatchCommitPay } from '../../../services/order/orderConfirm';
-
-// 真实的提交支付
-export const commitPay = (params) => {
- return dispatchCommitPay({
- goodsRequestList: params.goodsRequestList, // 待结算的商品集合
- invoiceRequest: params.invoiceRequest, // 发票信息
- // isIgnore: params.isIgnore || false, // 删掉 是否忽视库存不足和商品失效,继续结算,true=继续结算 购物车请赋值false
- userAddressReq: params.userAddressReq, // 地址信息(用户在购物选择更换地址)
- currency: params.currency || 'CNY', // 支付货币: 人民币=CNY,美元=USD
- logisticsType: params.logisticsType || 1, // 配送方式 0=无需配送 1=快递 2=商家 3=同城 4=自提
- // orderMark: params.orderMark, // 下单备注
- orderType: params.orderType || 0, // 订单类型 0=普通订单 1=虚拟订单
- payType: params.payType || 1, // 支付类型(0=线上、1=线下)
- totalAmount: params.totalAmount, // 新增字段"totalAmount"总的支付金额
- userName: params.userName, // 用户名
- payWay: 1,
- authorizationCode: '', //loginCode, // 登录凭证
- storeInfoList: params.storeInfoList, //备注信息列表
- couponList: params.couponList,
- groupInfo: params.groupInfo,
- });
-};
-
-export const paySuccess = (payOrderInfo) => {
- const { payAmt, tradeNo, groupId, promotionId } = payOrderInfo;
- // 支付成功
- Toast({
- context: this,
- selector: '#t-toast',
- message: '支付成功',
- duration: 2000,
- icon: 'check-circle',
- });
-
- const params = {
- totalPaid: payAmt,
- orderNo: tradeNo,
- };
- if (groupId) {
- params.groupId = groupId;
- }
- if (promotionId) {
- params.promotionId = promotionId;
- }
- const paramsStr = Object.keys(params)
- .map((k) => `${k}=${params[k]}`)
- .join('&');
- // 跳转支付结果页面
- wx.redirectTo({ url: `/pages/order/pay-result/index?${paramsStr}` });
-};
-
-export const payFail = (payOrderInfo, resultMsg) => {
- if (resultMsg === 'requestPayment:fail cancel') {
- if (payOrderInfo.dialogOnCancel) {
- //结算页,取消付款,dialog提示
- Dialog.confirm({
- title: '是否放弃付款',
- content: '商品可能很快就会被抢空哦,是否放弃付款?',
- confirmBtn: '放弃',
- cancelBtn: '继续付款',
- }).then(() => {
- wx.redirectTo({ url: '/pages/order/order-list/index' });
- });
- } else {
- //订单列表页,订单详情页,取消付款,toast提示
- Toast({
- context: this,
- selector: '#t-toast',
- message: '支付取消',
- duration: 2000,
- icon: 'close-circle',
- });
- }
- } else {
- Toast({
- context: this,
- selector: '#t-toast',
- message: `支付失败:${resultMsg}`,
- duration: 2000,
- icon: 'close-circle',
- });
- setTimeout(() => {
- wx.redirectTo({ url: '/pages/order/order-list/index' });
- }, 2000);
- }
-};
-
-// 微信支付方式
-export const wechatPayOrder = (payOrderInfo) => {
- // const payInfo = JSON.parse(payOrderInfo.payInfo);
- // const { timeStamp, nonceStr, signType, paySign } = payInfo;
- return new Promise((resolve) => {
- // demo 中直接走支付成功
- paySuccess(payOrderInfo);
- resolve();
- /* wx.requestPayment({
- timeStamp,
- nonceStr,
- package: payInfo.package,
- signType,
- paySign,
- success: function () {
- paySuccess(payOrderInfo);
- resolve();
- },
- fail: function (err) {
- payFail(payOrderInfo, err.errMsg);
- },
- }); */
- });
-};
diff --git a/pages/order/order-detail/index.js b/pages/order/order-detail/index.js
deleted file mode 100644
index 8c09aee..0000000
--- a/pages/order/order-detail/index.js
+++ /dev/null
@@ -1,288 +0,0 @@
-import { formatTime } from '../../../utils/util';
-import { OrderStatus, LogisticsIconMap } from '../config';
-import {
- fetchBusinessTime,
- fetchOrderDetail,
-} from '../../../services/order/orderDetail';
-import Toast from 'tdesign-miniprogram/toast/index';
-import { getAddressPromise } from '../../usercenter/address/list/util';
-
-Page({
- data: {
- pageLoading: true,
- order: {}, // 后台返回的原始数据
- _order: {}, // 内部使用和提供给 order-card 的数据
- storeDetail: {},
- countDownTime: null,
- addressEditable: false,
- backRefresh: false, // 用于接收其他页面back时的状态
- formatCreateTime: '', //格式化订单创建时间
- logisticsNodes: [],
- /** 订单评论状态 */
- orderHasCommented: true,
- },
-
- onLoad(query) {
- this.orderNo = query.orderNo;
- this.init();
- this.navbar = this.selectComponent('#navbar');
- this.pullDownRefresh = this.selectComponent('#wr-pull-down-refresh');
- },
-
- onShow() {
- // 当从其他页面返回,并且 backRefresh 被置为 true 时,刷新数据
- if (!this.data.backRefresh) return;
- this.onRefresh();
- this.setData({ backRefresh: false });
- },
-
- onPageScroll(e) {
- this.pullDownRefresh && this.pullDownRefresh.onPageScroll(e);
- },
-
- onImgError(e) {
- if (e.detail) {
- console.error('img 加载失败');
- }
- },
-
- // 页面初始化,会展示pageLoading
- init() {
- this.setData({ pageLoading: true });
- this.getStoreDetail();
- this.getDetail()
- .then(() => {
- this.setData({ pageLoading: false });
- })
- .catch((e) => {
- console.error(e);
- });
- },
-
- // 页面刷新,展示下拉刷新
- onRefresh() {
- this.init();
- // 如果上一页为订单列表,通知其刷新数据
- const pages = getCurrentPages();
- const lastPage = pages[pages.length - 2];
- if (lastPage) {
- lastPage.data.backRefresh = true;
- }
- },
-
- // 页面刷新,展示下拉刷新
- onPullDownRefresh_(e) {
- const { callback } = e.detail;
- return this.getDetail().then(() => callback && callback());
- },
-
- getDetail() {
- const params = {
- parameter: this.orderNo,
- };
- return fetchOrderDetail(params).then((res) => {
- const order = res.data;
- const _order = {
- id: order.orderId,
- orderNo: order.orderNo,
- parentOrderNo: order.parentOrderNo,
- storeId: order.storeId,
- storeName: order.storeName,
- status: order.orderStatus,
- statusDesc: order.orderStatusName,
- amount: order.paymentAmount,
- totalAmount: order.goodsAmountApp,
- logisticsNo: order.logisticsVO.logisticsNo,
- goodsList: (order.orderItemVOs || []).map((goods) =>
- Object.assign({}, goods, {
- id: goods.id,
- thumb: goods.goodsPictureUrl,
- title: goods.goodsName,
- skuId: goods.skuId,
- spuId: goods.spuId,
- specs: (goods.specifications || []).map((s) => s.specValue),
- price: goods.tagPrice ? goods.tagPrice : goods.actualPrice, // 商品销售单价, 优先取限时活动价
- num: goods.buyQuantity,
- titlePrefixTags: goods.tagText ? [{ text: goods.tagText }] : [],
- buttons: goods.buttonVOs || [],
- }),
- ),
- buttons: order.buttonVOs || [],
- createTime: order.createTime,
- receiverAddress: this.composeAddress(order),
- groupInfoVo: order.groupInfoVo,
- };
- this.setData({
- order,
- _order,
- formatCreateTime: formatTime(
- parseFloat(`${order.createTime}`),
- 'YYYY-MM-DD HH:mm',
- ), // 格式化订单创建时间
- countDownTime: this.computeCountDownTime(order),
- addressEditable:
- [OrderStatus.PENDING_PAYMENT, OrderStatus.PENDING_DELIVERY].includes(
- order.orderStatus,
- ) && order.orderSubStatus !== -1, // 订单正在取消审核时不允许修改地址(但是返回的状态码与待发货一致)
- isPaid: !!order.paymentVO.paySuccessTime,
- invoiceStatus: this.datermineInvoiceStatus(order),
- invoiceDesc: order.invoiceDesc,
- invoiceType:
- order.invoiceVO?.invoiceType === 5 ? '电子普通发票' : '不开发票', //是否开票 0-不开 5-电子发票
- logisticsNodes: this.flattenNodes(order.trajectoryVos || []),
- });
- });
- },
-
- // 展开物流节点
- flattenNodes(nodes) {
- return (nodes || []).reduce((res, node) => {
- return (node.nodes || []).reduce((res1, subNode, index) => {
- res1.push({
- title: index === 0 ? node.title : '', // 子节点中仅第一个显示title
- desc: subNode.status,
- date: formatTime(+subNode.timestamp, 'YYYY-MM-DD HH:mm:ss'),
- icon: index === 0 ? LogisticsIconMap[node.code] || '' : '', // 子节点中仅第一个显示icon
- });
- return res1;
- }, res);
- }, []);
- },
-
- datermineInvoiceStatus(order) {
- // 1-已开票
- // 2-未开票(可补开)
- // 3-未开票
- // 4-门店不支持开票
- return order.invoiceStatus;
- },
-
- // 拼接省市区
- composeAddress(order) {
- return [
- //order.logisticsVO.receiverProvince,
- order.logisticsVO.receiverCity,
- order.logisticsVO.receiverCountry,
- order.logisticsVO.receiverArea,
- order.logisticsVO.receiverAddress,
- ]
- .filter((s) => !!s)
- .join(' ');
- },
-
- getStoreDetail() {
- fetchBusinessTime().then((res) => {
- const storeDetail = {
- storeTel: res.data.telphone,
- storeBusiness: res.data.businessTime.join('\n'),
- };
- this.setData({ storeDetail });
- });
- },
-
- // 仅对待支付状态计算付款倒计时
- // 返回时间若是大于2020.01.01,说明返回的是关闭时间,否则说明返回的直接就是剩余时间
- computeCountDownTime(order) {
- if (order.orderStatus !== OrderStatus.PENDING_PAYMENT) return null;
- return order.autoCancelTime > 1577808000000
- ? order.autoCancelTime - Date.now()
- : order.autoCancelTime;
- },
-
- onCountDownFinish() {
- //this.setData({ countDownTime: -1 });
- const { countDownTime, order } = this.data;
- if (
- countDownTime > 0 ||
- (order && order.groupInfoVo && order.groupInfoVo.residueTime > 0)
- ) {
- this.onRefresh();
- }
- },
-
- onGoodsCardTap(e) {
- const { index } = e.currentTarget.dataset;
- const goods = this.data.order.orderItemVOs[index];
- wx.navigateTo({ url: `/pages/goods/details/index?spuId=${goods.spuId}` });
- },
-
- onEditAddressTap() {
- getAddressPromise()
- .then((address) => {
- this.setData({
- 'order.logisticsVO.receiverName': address.name,
- 'order.logisticsVO.receiverPhone': address.phone,
- '_order.receiverAddress': address.address,
- });
- })
- .catch(() => {});
-
- wx.navigateTo({
- url: `/pages/usercenter/address/list/index?selectMode=1`,
- });
- },
-
- onOrderNumCopy() {
- wx.setClipboardData({
- data: this.data.order.orderNo,
- });
- },
-
- onDeliveryNumCopy() {
- wx.setClipboardData({
- data: this.data.order.logisticsVO.logisticsNo,
- });
- },
-
- onToInvoice() {
- wx.navigateTo({
- url: `/pages/order/invoice/index?orderNo=${this.data._order.orderNo}`,
- });
- },
-
- onSuppleMentInvoice() {
- wx.navigateTo({
- url: `/pages/order/receipt/index?orderNo=${this.data._order.orderNo}`,
- });
- },
-
- onDeliveryClick() {
- const logisticsData = {
- nodes: this.data.logisticsNodes,
- company: this.data.order.logisticsVO.logisticsCompanyName,
- logisticsNo: this.data.order.logisticsVO.logisticsNo,
- phoneNumber: this.data.order.logisticsVO.logisticsCompanyTel,
- };
- wx.navigateTo({
- url: `/pages/order/delivery-detail/index?data=${encodeURIComponent(
- JSON.stringify(logisticsData),
- )}`,
- });
- },
-
- /** 跳转订单评价 */
- navToCommentCreate() {
- wx.navigateTo({
- url: `/pages/order/createComment/index?orderNo=${this.orderNo}`,
- });
- },
-
- /** 跳转拼团详情/分享页*/
- toGrouponDetail() {
- wx.showToast({ title: '点击了拼团' });
- },
-
- clickService() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '您点击了联系客服',
- });
- },
-
- onOrderInvoiceView() {
- wx.navigateTo({
- url: `/pages/order/invoice/index?orderNo=${this.orderNo}`,
- });
- },
-});
diff --git a/pages/order/order-detail/index.json b/pages/order/order-detail/index.json
deleted file mode 100644
index b8bbaec..0000000
--- a/pages/order/order-detail/index.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "navigationBarTitleText": "订单详情",
- "usingComponents": {
- "t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh",
- "t-button": "tdesign-miniprogram/button/button",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-image": "/components/webp-image/index",
- "t-count-down": "tdesign-miniprogram/count-down/count-down",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "price": "/components/price/index",
- "order-card": "../components/order-card/index",
- "order-goods-card": "../components/order-goods-card/index",
- "order-button-bar": "../components/order-button-bar/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/order-detail/index.wxml b/pages/order/order-detail/index.wxml
deleted file mode 100644
index c273890..0000000
--- a/pages/order/order-detail/index.wxml
+++ /dev/null
@@ -1,182 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- 商品总额
-
-
-
- 运费
-
-
- +
-
-
- 免运费
-
-
-
- 活动优惠
-
- -
-
-
-
-
- 优惠券
-
-
- -
-
-
- 无可用
-
-
-
-
- {{isPaid ? '实付' : '应付'}}
-
-
-
-
-
-
- 订单编号
-
- {{order.orderNo}}
- 复制
-
-
-
- 下单时间
-
- {{formatCreateTime}}
-
-
-
-
- 发票
-
- {{invoiceType}}
- 查看
-
-
-
- 备注
-
- {{order.remark || '-'}}
-
-
-
-
-
- 联系客服
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/order/order-detail/index.wxss b/pages/order/order-detail/index.wxss
deleted file mode 100644
index e83a21c..0000000
--- a/pages/order/order-detail/index.wxss
+++ /dev/null
@@ -1,240 +0,0 @@
-:host {
- background-color: #f8f8f8;
-}
-
-.order-detail {
- width: 100%;
- box-sizing: border-box;
- padding: 0rpx 0rpx calc(env(safe-area-inset-bottom) + 144rpx);
-}
-
-.order-detail .count-down {
- color: #ffffff;
-}
-.order-detail .header {
- width: 100%;
- background-color: #ffffff;
-}
-.order-detail .order-detail__header {
- width: 700rpx;
- height: 200rpx;
- border-radius: 24rpx;
- margin: 0 auto;
- overflow: hidden;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- background-image: url('https://cdn-we-retail.ym.tencent.com/miniapp/template/order-bg.png');
- background-repeat: no-repeat;
- background-size: contain;
-}
-.order-detail .order-detail__header .title,
-.order-detail .order-detail__header .desc {
- color: #ffffff;
- overflow: hidden;
- display: -webkit-box;
- -webkit-box-orient: vertical;
-}
-.order-detail .order-detail__header .title {
- -webkit-line-clamp: 1;
- font-size: 44rpx;
- line-height: 64rpx;
- margin-bottom: 8rpx;
- font-weight: bold;
-}
-.order-detail .order-detail__header .desc {
- -webkit-line-clamp: 2;
- font-size: 24rpx;
- line-height: 32rpx;
-}
-.order-detail .order-detail__header .desc .count-down {
- display: inline;
-}
-.order-detail .order-logistics {
- box-sizing: border-box;
- padding: 32rpx;
- width: 100%;
- background-color: #ffffff;
- overflow: hidden;
- color: #333333;
- font-size: 32rpx;
- line-height: 48rpx;
- display: flex;
- position: relative;
-}
-
-.order-logistics .logistics-icon {
- width: 40rpx;
- height: 40rpx;
- margin-right: 16rpx;
- margin-top: 4rpx;
-}
-
-.order-logistics .logistics-content {
- flex: 1;
-}
-
-.order-logistics .logistics-content .logistics-time {
- font-size: 28rpx;
- line-height: 40rpx;
- color: #999999;
- margin-top: 12rpx;
-}
-
-.order-logistics .logistics-back {
- color: #999999;
- align-self: center;
-}
-
-.order-logistics .edit-text {
- color: #fa4126;
- font-size: 26rpx;
- line-height: 36rpx;
-}
-
-.order-detail .border-bottom {
- margin: 0 auto;
- width: 686rpx;
- scale: 1 0.5;
- height: 2rpx;
- background-color: #e5e5e5;
-}
-
-.order-detail .border-bottom-margin {
- margin: 16rpx auto;
-}
-
-.order-detail .pay-detail {
- background-color: #ffffff;
- width: 100%;
- box-sizing: border-box;
-}
-
-.order-detail .padding-inline {
- padding: 16rpx 32rpx;
-}
-
-.order-detail .pay-detail .pay-item {
- width: 100%;
- height: 72rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- font-size: 26rpx;
- line-height: 36rpx;
- color: #666666;
- background-color: #ffffff;
-}
-.order-detail .pay-detail .pay-item .pay-item__right {
- color: #333333;
- font-size: 24rpx;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- max-width: 400rpx;
-}
-.order-detail .pay-detail .pay-item .pay-item__right .pay-remark {
- display: -webkit-box;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- max-width: 400rpx;
- text-overflow: ellipsis;
- overflow: hidden;
-}
-.order-detail .pay-detail .pay-item .font-bold {
- font-weight: bold;
-}
-.order-detail .pay-detail .pay-item .primary {
- color: #fa4126;
-}
-.order-detail .pay-detail .pay-item .max-size {
- font-size: 36rpx;
- line-height: 48rpx;
-}
-
-.pay-item .pay-item__right .pay-item__right__copy {
- width: 80rpx;
- height: 40rpx;
- text-align: center;
- font-size: 24rpx;
- line-height: 40rpx;
- color: #333333;
- position: relative;
-}
-
-.pay-item .pay-item__right .pay-item__right__copy::before {
- position: absolute;
- content: '';
- width: 200%;
- height: 200%;
- border-radius: 40rpx;
- border: 2rpx solid #dddddd;
- transform: scale(0.5);
- left: 0;
- top: 0;
- transform-origin: left top;
-}
-
-.pay-item .pay-item__right .order-no {
- color: #333333;
- font-size: 26rpx;
- line-height: 40rpx;
- padding-right: 16rpx;
-}
-
-.pay-item .pay-item__right .normal-color {
- color: #333333;
-}
-
-.order-detail .pay-detail .pay-service {
- width: 100%;
- height: 72rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 32rpx;
- line-height: 36rpx;
- color: #333333;
- background-color: #ffffff;
-}
-
-.bottom-bar {
- position: fixed;
- left: 0;
- bottom: 0;
- right: 0;
- z-index: 10;
- background: #fff;
- height: 112rpx;
- width: 686rpx;
- padding: 0rpx 32rpx env(safe-area-inset-bottom);
- display: flex;
- align-items: center;
-}
-
-.bottom-bar::before {
- position: absolute;
- content: '';
- width: 200%;
- height: 200%;
- border-top: 2rpx solid #dddddd;
- transform: scale(0.5);
- left: 0;
- top: 0;
- transform-origin: left top;
-}
-
-.goods-button-bar {
- height: 112rpx;
- width: 686rpx;
- margin-bottom: 16rpx;
-}
-
-.t-class-indicator {
- color: #b9b9b9 !important;
-}
-
-.add-notes__confirm {
- color: #fa4126 !important;
-}
diff --git a/pages/order/order-list/index.js b/pages/order/order-list/index.js
deleted file mode 100644
index c62315b..0000000
--- a/pages/order/order-list/index.js
+++ /dev/null
@@ -1,189 +0,0 @@
-import { OrderStatus } from '../config';
-import {
- fetchOrders,
- fetchOrdersCount,
-} from '../../../services/order/orderList';
-import { cosThumb } from '../../../utils/util';
-
-Page({
- page: {
- size: 5,
- num: 1,
- },
-
- data: {
- tabs: [
- { key: -1, text: '全部' },
- { key: OrderStatus.PENDING_PAYMENT, text: '待付款', info: '' },
- { key: OrderStatus.PENDING_DELIVERY, text: '待发货', info: '' },
- { key: OrderStatus.PENDING_RECEIPT, text: '待收货', info: '' },
- { key: OrderStatus.COMPLETE, text: '已完成', info: '' },
- ],
- curTab: -1,
- orderList: [],
- listLoading: 0,
- pullDownRefreshing: false,
- emptyImg:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/order/empty-order-list.png',
- backRefresh: false,
- status: -1,
- },
-
- onLoad(query) {
- let status = parseInt(query.status);
- status = this.data.tabs.map((t) => t.key).includes(status) ? status : -1;
- this.init(status);
- this.pullDownRefresh = this.selectComponent('#wr-pull-down-refresh');
- },
-
- onShow() {
- if (!this.data.backRefresh) return;
- this.onRefresh();
- this.setData({ backRefresh: false });
- },
-
- onReachBottom() {
- if (this.data.listLoading === 0) {
- this.getOrderList(this.data.curTab);
- }
- },
-
- onPageScroll(e) {
- this.pullDownRefresh && this.pullDownRefresh.onPageScroll(e);
- },
-
- onPullDownRefresh_(e) {
- const { callback } = e.detail;
- this.setData({ pullDownRefreshing: true });
- this.refreshList(this.data.curTab)
- .then(() => {
- this.setData({ pullDownRefreshing: false });
- callback && callback();
- })
- .catch((err) => {
- this.setData({ pullDownRefreshing: false });
- Promise.reject(err);
- });
- },
-
- init(status) {
- status = status !== undefined ? status : this.data.curTab;
- this.setData({
- status,
- });
- this.refreshList(status);
- },
-
- getOrderList(statusCode = -1, reset = false) {
- const params = {
- parameter: {
- pageSize: this.page.size,
- pageNum: this.page.num,
- },
- };
- if (statusCode !== -1) params.parameter.orderStatus = statusCode;
- this.setData({ listLoading: 1 });
- return fetchOrders(params)
- .then((res) => {
- this.page.num++;
- let orderList = [];
- if (res && res.data && res.data.orders) {
- orderList = (res.data.orders || []).map((order) => {
- return {
- id: order.orderId,
- orderNo: order.orderNo,
- parentOrderNo: order.parentOrderNo,
- storeId: order.storeId,
- storeName: order.storeName,
- status: order.orderStatus,
- statusDesc: order.orderStatusName,
- amount: order.paymentAmount,
- totalAmount: order.totalAmount,
- logisticsNo: order.logisticsVO.logisticsNo,
- createTime: order.createTime,
- goodsList: (order.orderItemVOs || []).map((goods) => ({
- id: goods.id,
- thumb: cosThumb(goods.goodsPictureUrl, 70),
- title: goods.goodsName,
- skuId: goods.skuId,
- spuId: goods.spuId,
- specs: (goods.specifications || []).map(
- (spec) => spec.specValue,
- ),
- price: goods.tagPrice ? goods.tagPrice : goods.actualPrice,
- num: goods.buyQuantity,
- titlePrefixTags: goods.tagText ? [{ text: goods.tagText }] : [],
- })),
- buttons: order.buttonVOs || [],
- groupInfoVo: order.groupInfoVo,
- freightFee: order.freightFee,
- };
- });
- }
- return new Promise((resolve) => {
- if (reset) {
- this.setData({ orderList: [] }, () => resolve());
- } else resolve();
- }).then(() => {
- this.setData({
- orderList: this.data.orderList.concat(orderList),
- listLoading: orderList.length > 0 ? 0 : 2,
- });
- });
- })
- .catch((err) => {
- this.setData({ listLoading: 3 });
- return Promise.reject(err);
- });
- },
-
- onReTryLoad() {
- this.getOrderList(this.data.curTab);
- },
-
- onTabChange(e) {
- const { value } = e.detail;
- this.setData({
- status: value,
- });
- this.refreshList(value);
- },
-
- getOrdersCount() {
- return fetchOrdersCount().then((res) => {
- const tabsCount = res.data || [];
- const { tabs } = this.data;
- tabs.forEach((tab) => {
- const tabCount = tabsCount.find((c) => c.tabType === tab.key);
- if (tabCount) {
- tab.info = tabCount.orderNum;
- }
- });
- this.setData({ tabs });
- });
- },
-
- refreshList(status = -1) {
- this.page = {
- size: this.page.size,
- num: 1,
- };
- this.setData({ curTab: status, orderList: [] });
-
- return Promise.all([
- this.getOrderList(status, true),
- this.getOrdersCount(),
- ]);
- },
-
- onRefresh() {
- this.refreshList(this.data.curTab);
- },
-
- onOrderCardTap(e) {
- const { order } = e.currentTarget.dataset;
- wx.navigateTo({
- url: `/pages/order/order-detail/index?orderNo=${order.orderNo}`,
- });
- },
-});
diff --git a/pages/order/order-list/index.json b/pages/order/order-list/index.json
deleted file mode 100644
index ff0340e..0000000
--- a/pages/order/order-list/index.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "navigationBarTitleText": "我的订单",
- "usingComponents": {
- "t-tabs": "tdesign-miniprogram/tabs/tabs",
- "t-tab-panel": "tdesign-miniprogram/tabs/tab-panel",
- "t-empty": "tdesign-miniprogram/empty/empty",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-pull-down-refresh": "tdesign-miniprogram/pull-down-refresh/pull-down-refresh",
- "load-more": "/components/load-more/index",
- "order-button-bar": "../components/order-button-bar/index",
- "price": "/components/price/index",
- "order-card": "../components/order-card/index",
- "specs-goods-card": "../components/specs-goods-card/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/order-list/index.wxml b/pages/order/order-list/index.wxml
deleted file mode 100644
index 4475bba..0000000
--- a/pages/order/order-list/index.wxml
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 订单号
- {{order.orderNo}}
-
-
-
-
- 总价
-
- ,运费
-
-
- 实付
-
-
-
-
-
-
-
-
-
-
- 暂无相关订单
-
-
-
-
-
-
-
diff --git a/pages/order/order-list/index.wxss b/pages/order/order-list/index.wxss
deleted file mode 100644
index 55cec71..0000000
--- a/pages/order/order-list/index.wxss
+++ /dev/null
@@ -1,107 +0,0 @@
-:host {
- background-color: #f5f5f5;
-}
-.page-container .tab-bar__placeholder,
-.page-container .tab-bar__inner {
- height: 88rpx;
- line-height: 88rpx;
- background: #fff;
-}
-.page-container .tab-bar__inner {
- font-size: 26rpx;
- color: #333333;
- position: fixed;
- width: 100vw;
- top: 0;
- left: 0;
-}
-.page-container .tab-bar__inner.order-nav .order-nav-item .bottom-line {
- bottom: 12rpx;
-}
-.tab-bar__inner .t-tabs-is-active {
- color: #fa4126 !important;
-}
-
-.tab-bar__inner .t-tabs-track {
- background: #fa4126 !important;
-}
-
-.page-container .tab-bar__active {
- font-size: 28rpx;
-}
-.page-container .specs-popup .bottom-btn {
- color: #fa4126;
- color: var(--color-primary, #fa4126);
-}
-.page-container .specs-popup .bottom-btn::after {
- border-color: #fa4126;
- border-color: var(--color-primary, #fa4126);
-}
-.dialog .dialog__button-confirm {
- color: #fa4126;
- color: var(--color-primary, #fa4126);
-}
-.list-loading {
- height: 100rpx;
-}
-.empty-wrapper {
- height: calc(100vh - 88rpx);
-}
-.btn-bar {
- margin-top: 20rpx;
-}
-.load-more {
- margin: 0 24rpx;
-}
-wr-order-goods-card:not(:first-child) .wr-goods-card {
- margin-top: 40rpx;
-}
-
-.price-total {
- font-size: 24rpx;
- line-height: 32rpx;
- color: #999999;
- padding-top: 10rpx;
- width: 100%;
- display: flex;
- align-items: baseline;
- justify-content: flex-end;
-}
-.price-total .bold-price {
- color: #333333;
- font-size: 28rpx;
- line-height: 40rpx;
- color: #333333;
-}
-.price-total .real-pay {
- font-size: 36rpx;
- line-height: 48rpx;
- color: #fa4126;
- font-weight: bold;
-}
-
-.t-tabs.t-tabs--top .t-tabs-scroll {
- border: none !important;
-}
-.t-empty-text {
- font-size: 28rpx;
- color: #999;
-}
-
-.page-container .order-number {
- color: #666666;
- font-size: 28rpx;
-}
-.t-class-indicator {
- color: #b9b9b9 !important;
-}
-.tab-bar .tab-bar__active {
- color: #333333 !important;
-}
-
-.tab-bar .t-tabs-track {
- background: #333333 !important;
-}
-.add-notes__confirm {
- color: #fa4126 !important;
-}
diff --git a/pages/order/pay-result/index.js b/pages/order/pay-result/index.js
deleted file mode 100644
index bd6dad6..0000000
--- a/pages/order/pay-result/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * @Author: rileycai
- * @Date: 2022-03-14 21:18:07
- * @LastEditTime: 2022-03-22 21:17:16
- * @LastEditors: rileycai
- * @Description:
- * @FilePath: /tdesign-miniprogram-starter/pages/order/pay-result/index.js
- */
-Page({
- data: {
- totalPaid: 0,
- orderNo: '',
- groupId: '',
- groupon: null,
- spu: null,
- adUrl: '',
- },
-
- onLoad(options) {
- const { totalPaid = 0, orderNo = '', groupId = '' } = options;
- this.setData({
- totalPaid,
- orderNo,
- groupId,
- });
- },
-
- onTapReturn(e) {
- const target = e.currentTarget.dataset.type;
- const { orderNo } = this.data;
- if (target === 'home') {
- wx.switchTab({ url: '/pages/home/home' });
- } else if (target === 'orderList') {
- wx.navigateTo({
- url: `/pages/order/order-list/index?orderNo=${orderNo}`,
- });
- } else if (target === 'order') {
- wx.navigateTo({
- url: `/pages/order/order-detail/index?orderNo=${orderNo}`,
- });
- }
- },
-
- navBackHandle() {
- wx.navigateBack();
- },
-});
diff --git a/pages/order/pay-result/index.json b/pages/order/pay-result/index.json
deleted file mode 100644
index f572818..0000000
--- a/pages/order/pay-result/index.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "navigationBarTitleText": "支付结果",
- "navigationStyle": "custom",
- "usingComponents": {
- "t-navbar": "tdesign-miniprogram/navbar/navbar",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "price": "/components/price/index"
- }
-}
\ No newline at end of file
diff --git a/pages/order/pay-result/index.wxml b/pages/order/pay-result/index.wxml
deleted file mode 100644
index 3153fe6..0000000
--- a/pages/order/pay-result/index.wxml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- 支付成功
-
-
- 微信支付:
-
-
-
- 查看订单
- 返回首页
-
-
-
diff --git a/pages/order/pay-result/index.wxss b/pages/order/pay-result/index.wxss
deleted file mode 100644
index abe1b25..0000000
--- a/pages/order/pay-result/index.wxss
+++ /dev/null
@@ -1,54 +0,0 @@
-.pay-result {
- display: flex;
- flex-direction: column;
- align-items: center;
- width: 100%;
-}
-
-.pay-result .pay-status {
- margin-top: 100rpx;
- font-size: 48rpx;
- line-height: 72rpx;
- font-weight: bold;
- color: #333333;
- display: flex;
- align-items: center;
-}
-.pay-result .pay-status text {
- padding-left: 12rpx;
-}
-.pay-result .pay-money {
- color: #666666;
- font-size: 28rpx;
- line-height: 48rpx;
- margin-top: 28rpx;
- display: flex;
- align-items: baseline;
-}
-
-.pay-result .pay-money .pay-money__price {
- font-size: 36rpx;
- line-height: 48rpx;
- color: #fa4126;
-}
-.pay-result .btn-wrapper {
- margin-top: 48rpx;
- padding: 12rpx 32rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- width: 100%;
- box-sizing: border-box;
-}
-
-.pay-result .btn-wrapper .status-btn {
- height: 88rpx;
- width: 334rpx;
- border-radius: 44rpx;
- border: 2rpx solid #fa4126;
- color: #fa4126;
- font-size: 28rpx;
- font-weight: bold;
- line-height: 88rpx;
- text-align: center;
-}
diff --git a/pages/order/receipt/index.js b/pages/order/receipt/index.js
deleted file mode 100644
index ad85d40..0000000
--- a/pages/order/receipt/index.js
+++ /dev/null
@@ -1,190 +0,0 @@
-/* eslint-disable no-nested-ternary */
-import Dialog from 'tdesign-miniprogram/dialog/index';
-import Toast from 'tdesign-miniprogram/toast/index';
-import { dispatchSupplementInvoice } from '../../../services/order/orderConfirm';
-
-const invoiceJson = {
- info: [
- '1.根据当地税务局的要求,开具有效的企业发票需填写税务局登记证号。开具个人发票不需要填写纳税人识别码。 ',
- '2.电子普通发票: 电子普通发票是税局认可的有效首付款凭证,其法律效力、基本用途及使用规定同纸质发票,如需纸质发票可自行下载打印。 ',
- '3.增值税专用发票: 增值税发票暂时不可开,可查看《开局增值税发票》或致电400-633-6868。',
- ],
- codeTitle: [
- '1.什么是纳税人识别号/统一社会信用代码? 纳税人识别号,一律由15位、17位、18或者20位码(字符型)组成,其中:企业、事业单位等组织机构纳税人,以国家质量监督检验检疫总局编制的9位码(其中区分主码位与校检位之间的“—”符省略不打印)并在其“纳税人识别号”。国家税务总局下达的纳税人代码为15位,其中:1—2位为省、市代码,3—6位为地区代码,7—8位为经济性质代码,9—10位行业代码,11—15位为各地区自设的顺序码。',
- '2.入户获取/知晓纳税人识别号/统一社会信用代码? 纳税人识别号是税务登记证上的号码,通常简称为“税号”,每个企业的纳税人识别号都是唯一的。这个属于每个人自己且终身不变的数字代码很可能成为我们的第二张“身份证”。 ',
- ],
-};
-
-Page({
- orderNo: '',
- data: {
- receiptIndex: 0,
- addressTagsIndex: 0,
- goodsClassesIndex: 0,
- dialogShow: false,
- codeShow: false,
- receipts: [
- { title: '不开发票', id: 0, name: 'receipt' },
- { title: '电子发票', id: 1, name: 'receipt' },
- ],
- addressTags: [
- { title: '个人', id: 0, name: 'addressTags', type: 1 },
- { title: '公司', id: 1, name: 'addressTags', type: 2 },
- ],
- goodsClasses: [
- { title: '商品明细', id: 0, name: 'goodsClasses' },
- { title: '商品类别', id: 1, name: 'goodsClasses' },
- ],
- name: '',
- componentName: '',
- code: '',
- phone: '',
- email: '',
- invoiceInfo: invoiceJson,
- },
- onLoad(query) {
- const { orderNo, invoiceData } = query;
- const tempData = JSON.parse(invoiceData || '{}');
- const invoice = {
- receiptIndex: tempData.invoiceType === 5 ? 1 : 0,
- name: tempData.buyerName || '',
- email: tempData.email || '',
- phone: tempData.buyerPhone || '',
- addressTagsIndex: tempData.titleType === 2 ? 1 : 0,
- goodsClassesIndex: tempData.contentType === 2 ? 1 : 0,
- code: tempData.buyerTaxNo || '',
- componentName: tempData.titleType === 2 ? tempData.buyerName : '',
- };
- this.orderNo = orderNo;
- this.setData({ ...invoice });
- },
- onLabels(e) {
- const { item } = e.currentTarget.dataset;
- const nameIndex = `${item.name}Index`;
- this.setData({ [nameIndex]: item.id });
- },
- onInput(e) {
- const { addressTagsIndex } = this.data;
- const { item } = e.currentTarget.dataset;
- const { value } = e.detail;
- const key =
- item === 'name'
- ? addressTagsIndex === 0
- ? 'name'
- : 'componentName'
- : item === 'code'
- ? addressTagsIndex === 0
- ? 'phone'
- : 'code'
- : 'email';
- this.setData({ [key]: value });
- },
- onSure() {
- const result = this.checkSure();
- if (!result) {
- Dialog.alert({
- title: '请填写发票信息',
- content: '',
- confirmBtn: '确认',
- });
- return;
- }
- const {
- receiptIndex,
- addressTagsIndex,
- receipts,
- addressTags,
- name,
- componentName,
- code,
- phone,
- email,
- goodsClassesIndex,
- } = this.data;
-
- const data = {
- buyerName: addressTagsIndex === 0 ? name : componentName,
- buyerTaxNo: code,
- buyerPhone: phone,
- email,
- titleType: addressTags[addressTagsIndex].type,
- contentType: goodsClassesIndex === 0 ? 1 : 2,
- invoiceType: receiptIndex === 1 ? 5 : 0,
- };
- if (this.orderNo) {
- if (this.submitting) return;
- const params = {
- parameter: {
- orderNo: this.orderNo,
- invoiceVO: data,
- },
- };
- this.submitting = true;
- dispatchSupplementInvoice(params)
- .then(() => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '保存成功',
- duration: 2000,
- icon: '',
- });
- setTimeout(() => {
- this.submitting = false;
- wx.navigateBack({ delta: 1 });
- }, 1000);
- })
- .catch((err) => {
- this.submitting = false;
- console.error(err);
- });
- } else {
- Object.assign(data, {
- receipts: receipts[receiptIndex],
- addressTags: addressTags[addressTagsIndex],
- });
- wx.setStorageSync('invoiceData', data);
- wx.navigateBack({ delta: 1 });
- }
- },
- checkSure() {
- const {
- name,
- componentName,
- code,
- phone,
- email,
- addressTagsIndex,
- receiptIndex,
- } = this.data;
- if (receiptIndex === 0) {
- return true;
- }
- if (addressTagsIndex === 0) {
- if (!name.length || !phone.length) {
- return false;
- }
- } else if (addressTagsIndex === 1) {
- if (!componentName.length || !code.length) {
- return false;
- }
- }
- if (!email.length) {
- return false;
- }
- return true;
- },
- onDialogTap() {
- const { dialogShow } = this.data;
- this.setData({
- dialogShow: !dialogShow,
- codeShow: false,
- });
- },
- onKnoeCode() {
- this.setData({
- dialogShow: !this.data.dialogShow,
- codeShow: true,
- });
- },
-});
diff --git a/pages/order/receipt/index.json b/pages/order/receipt/index.json
deleted file mode 100644
index 5996047..0000000
--- a/pages/order/receipt/index.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "navigationBarTitleText": "发票",
- "usingComponents": {
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-input": "tdesign-miniprogram/input/input",
- "t-button": "tdesign-miniprogram/button/button"
- }
-}
diff --git a/pages/order/receipt/index.wxml b/pages/order/receipt/index.wxml
deleted file mode 100644
index df2d006..0000000
--- a/pages/order/receipt/index.wxml
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
- {{item.title}}
-
-
-
-
-
-
-
-
- {{tag.title}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{good.title}}
-
-
-
- 发票内容将显示详细商品名称与价格信息,发票金额为实际支付金额,不包含优惠等扣减金额
-
-
- 发票须知
-
-
-
-
-
-
-
-
- {{item}}
-
-
-
-
- {{item}}
-
-
-
-
-
-
-
-
-
- 确定
-
-
-
-
-
diff --git a/pages/order/receipt/index.wxss b/pages/order/receipt/index.wxss
deleted file mode 100644
index a6c1934..0000000
--- a/pages/order/receipt/index.wxss
+++ /dev/null
@@ -1,209 +0,0 @@
-@import '../../../style/theme.wxss';
-
-.receipt {
- height: 100vh;
- background: #f5f5f5;
- position: relative;
- padding-top: 20rpx;
-}
-.srcoll-view-wrap {
- margin-top: 20rpx;
-}
-.receipt .flex {
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-.receipt .head-title {
- color: #333;
- font-size: 30rpx;
- font-weight: bold;
-}
-.receipt .btn-wrap {
- display: flex;
-}
-.receipt .btn-wrap .btn {
- width: 128rpx;
- background: #f5f5f5;
- font-size: 24rpx;
- color: #333;
- margin-left: 22rpx;
- text-align: center;
- border-radius: 8rpx;
- position: relative;
- border: 2rpx solid #f5f5f5;
-}
-.receipt .btn-wrap .active-btn {
- background-color: transparent;
- border-color: #fa4126;
- color: #fa4126;
-}
-.receipt .title {
- width: 100%;
- background-color: #fff;
- margin-bottom: 20rpx;
-}
-
-.receipt .receipt-label {
- display: flex;
-}
-.receipt .receipt-label .btn {
- width: 128rpx;
- background: #f5f5f5;
- font-size: 24rpx;
- color: #333;
- margin-left: 22rpx;
- text-align: center;
- border-radius: 8rpx;
- border: 2rpx solid #f5f5f5;
-}
-.receipt .receipt-label .active-btn {
- background-color: transparent;
- border-color: #fa4126;
- color: #fa4126;
-}
-.receipt .receipt-label .wr-cell__title {
- font-size: 30rpx;
- color: #333;
- font-weight: bold;
-}
-.receipt .receipt-content {
- background: #fff;
- margin-top: 20rpx;
-}
-.receipt .receipt-content .addressTags {
- padding: 0 30rpx;
- height: 100rpx;
-}
-.receipt .receipt-content .addressTags .btn-wrap {
- display: flex;
-}
-.receipt .receipt-content .line {
- width: 720rpx;
- margin-left: 30rpx;
- background-color: #e6e6e6;
- height: 1rpx;
-}
-.receipt .receipt-content .receipt-input {
- display: flex;
- padding: 0 30rpx;
- align-items: center;
- height: 100rpx;
- color: #666;
-}
-.receipt .receipt-content .receipt-input .title {
- color: #333;
- display: inline-block;
- width: 140rpx;
- margin-right: 30rpx;
- font-size: 30rpx;
- font-weight: bold;
-}
-.input-com {
- display: inline-block;
- flex: 1;
- font-size: 30rpx;
- font-weight: 400;
- line-height: 30rpx;
- padding: 0 !important;
- color: #666;
-}
-.input-com::after {
- border: none !important;
-}
-
-.receipt .receipt-content .receipt-input .wr-icon {
- font-size: 28rpx !important;
- margin-left: 20rpx;
-}
-.receipt .receipt-info {
- background: #fff;
- margin-top: 20rpx;
-}
-.receipt .receipt-info .info-con {
- padding: 0 30rpx;
- height: 100rpx;
-}
-.receipt .receipt-info .title {
- font-size: 24rpx;
- color: #999999;
- line-height: 36rpx;
- padding: 0 30rpx 20rpx;
- box-sizing: border-box;
-}
-.receipt .receipt-know {
- display: flex;
- align-items: center;
- font-size: 26rpx;
- font-weight: 400;
- color: #999999;
- padding: 20rpx 30rpx;
- line-height: 26rpx;
-}
-.receipt .receipt-know .icon {
- margin-left: 16rpx;
- font-size: 26rpx;
-}
-.receipt .dialog-receipt .dialog__message {
- padding: 0;
-}
-.receipt .dialog-receipt .dialog-info {
- max-height: 622rpx;
-}
-.receipt .dialog-receipt .info-wrap {
- padding: 0 18rpx;
-}
-.receipt .dialog-receipt .info .title {
- display: inline-block;
- font-size: 28rpx;
- font-weight: 400;
- color: #999;
- line-height: 40rpx;
- margin-bottom: 40rpx;
- text-align: left;
-}
-.receipt .receipt-btn {
- position: fixed;
- bottom: 0;
- left: 0;
- right: 0;
- z-index: 100;
- background: #fff;
- width: 100%;
- padding: 0 20rpx;
- box-sizing: border-box;
- padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
-}
-.receipt .receipt-btn .receipt-btn-con {
- margin-top: 20rpx;
- display: inline-block;
- width: 100%;
- line-height: 80rpx;
- background: #fa4126;
- text-align: center;
- color: #fff;
- border-radius: 48rpx;
-}
-.dialog__button-confirm {
- color: #fa4126;
-}
-
-.cell-left {
- margin-right: 0 !important;
-}
-
-.cell-right {
- display: flex;
- justify-content: flex-start;
- width: 480rpx;
-}
-
-.addressTagsIndex-cell {
- display: flex;
- align-items: center;
- justify-content: space-between;
- width: 100%;
-}
-.dialog__button-confirm {
- color: #fa4126 !important;
-}
diff --git a/pages/promotion-detail/index.js b/pages/promotion-detail/index.js
deleted file mode 100644
index dd6614e..0000000
--- a/pages/promotion-detail/index.js
+++ /dev/null
@@ -1,57 +0,0 @@
-import Toast from 'tdesign-miniprogram/toast/index';
-import { fetchPromotion } from '../../services/promotion/detail';
-
-Page({
- data: {
- list: [],
- banner: '',
- time: 0,
- showBannerDesc: false,
- statusTag: '',
- },
-
- onLoad(query) {
- const promotionID = parseInt(query.promotion_id);
- this.getGoodsList(promotionID);
- },
-
- getGoodsList(promotionID) {
- fetchPromotion(promotionID).then(
- ({ list, banner, time, showBannerDesc, statusTag }) => {
- const goods = list.map((item) => ({
- ...item,
- tags: item.tags.map((v) => v.title),
- }));
- this.setData({
- list: goods,
- banner,
- time,
- showBannerDesc,
- statusTag,
- });
- },
- );
- },
-
- goodClickHandle(e) {
- const { index } = e.detail;
- const { spuId } = this.data.list[index];
- wx.navigateTo({ url: `/pages/goods/details/index?spuId=${spuId}` });
- },
-
- cardClickHandle() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '点击加购',
- });
- },
-
- bannerClickHandle() {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '点击规则详情',
- });
- },
-});
diff --git a/pages/promotion-detail/index.json b/pages/promotion-detail/index.json
deleted file mode 100644
index 2eb4145..0000000
--- a/pages/promotion-detail/index.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "navigationBarTitleText": "营销详情",
- "usingComponents": {
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-image": "/components/webp-image/index",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "count-down": "tdesign-miniprogram/count-down/count-down",
- "goods-list": "/components/goods-list/index"
- }
-}
\ No newline at end of file
diff --git a/pages/promotion-detail/index.wxml b/pages/promotion-detail/index.wxml
deleted file mode 100644
index be5b5c8..0000000
--- a/pages/promotion-detail/index.wxml
+++ /dev/null
@@ -1,76 +0,0 @@
-
-
-
-
-
-
- 已结束
- 活动已结束
-
-
-
- 未开始
-
- 距结束仅剩
-
-
-
- 规则详情
-
-
-
-
-
-
-
-
-
-
- 已结束
- 活动已结束
-
-
-
- 未开始
-
- 距结束仅剩
-
-
-
- 规则详情
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/promotion-detail/index.wxss b/pages/promotion-detail/index.wxss
deleted file mode 100644
index 42c670e..0000000
--- a/pages/promotion-detail/index.wxss
+++ /dev/null
@@ -1,111 +0,0 @@
-.promotion-detail-container .wrap {
- display: block;
- padding: 0 24rpx;
- background: linear-gradient(#fff, #f5f5f5);
-}
-
-.promotion-detail-container .t-class-promotion-head {
- width: 702rpx;
- height: 160rpx;
- border-radius: 8rpx;
-}
-
-.promotion-detail-container .wrap .count-down-wrap {
- display: flex;
- flex-direction: row;
- justify-content: flex-start;
- align-items: baseline;
- line-height: 34rpx;
-}
-
-.promotion-detail-container .wrap .count-down-wrap.in-banner-count-down-wrap {
- position: absolute;
- bottom: 32rpx;
- left: 32rpx;
- right: 32rpx;
-}
-
-.promotion-detail-container .wrap .count-down-wrap .status-tag {
- height: 32rpx;
- line-height: 32rpx;
- font-size: 20rpx;
- margin-right: 12rpx;
- border-radius: 16rpx;
- padding: 0 12rpx;
-}
-
-.promotion-detail-container .wrap .count-down-wrap .status-tag.before {
- color: #fff;
- background-color: #ff9853;
-}
-
-.promotion-detail-container .wrap .count-down-wrap .status-tag.finish {
- color: #fff;
- background-color: #ccc;
-}
-
-.promotion-detail-container .wrap .count-down-wrap .count-down-label {
- color: #666;
- font-size: 24rpx;
- margin-right: 0.5em;
-}
-
-.promotion-detail-container .wrap .count-down-wrap .detail-entry {
- margin-left: auto;
- height: 40rpx;
-}
-
-.promotion-detail-container .wrap .count-down-wrap .detail-entry-label {
- color: #fff;
- font-size: 24rpx;
- margin-right: 12rpx;
-}
-
-.promotion-detail-container
- .wrap
- .count-down-wrap.after-banner-count-down-wrap {
- padding: 0 10rpx 10rpx;
-}
-
-.promotion-detail-container
- .wrap
- .count-down-wrap.after-banner-count-down-wrap
- .detail-entry {
- display: flex;
- align-items: center;
-}
-
-.promotion-detail-container
- .wrap
- .count-down-wrap.after-banner-count-down-wrap
- .detail-entry-label {
- color: #999;
- margin-right: 0;
-}
-
-.promotion-detail-container .wrap .gl-empty-wrap {
- margin-top: 180rpx;
-}
-
-.promotion-detail-container .wrap .gl-empty-img {
- width: 240rpx;
- height: 240rpx;
- display: block;
- margin: 0 auto;
-}
-
-.promotion-detail-container .wrap .gl-empty-label {
- font-size: 28rpx;
- color: #999;
- margin-top: 40rpx;
- text-align: center;
-}
-
-.promotion-detail-container .goods-list-container {
- background: #f5f5f5 !important;
-}
-
-.promotion-detail-container .promotion-goods-list {
- padding: 20rpx 24rpx;
- background-color: #f5f5f5;
-}
diff --git a/pages/standard/list/index.json b/pages/standard/list/index.json
index 53f084f..e9de90e 100644
--- a/pages/standard/list/index.json
+++ b/pages/standard/list/index.json
@@ -5,7 +5,6 @@
"usingComponents": {
"t-search": "tdesign-miniprogram/search/search",
"t-tag": "tdesign-miniprogram/tag/tag",
- "t-check-tag": "tdesign-miniprogram/tag/check-tag",
"t-sticky": "tdesign-miniprogram/sticky/sticky",
"t-message": "tdesign-miniprogram/message/message",
"t-image": "tdesign-miniprogram/image/image"
diff --git a/pages/standard/list/index.wxml b/pages/standard/list/index.wxml
index f8a5ec7..1629448 100644
--- a/pages/standard/list/index.wxml
+++ b/pages/standard/list/index.wxml
@@ -7,7 +7,7 @@
-
+
diff --git a/pages/user/index.json b/pages/user/index.json
index 77ed03b..bb11b2e 100644
--- a/pages/user/index.json
+++ b/pages/user/index.json
@@ -3,9 +3,8 @@
"onReachBottomDistance": 10,
"backgroundTextStyle": "light",
"usingComponents": {
- "t-image": "/components/webp-image/index",
"t-grid": "tdesign-miniprogram/grid/grid",
- "t-grid-item": "tdesign-miniprogram/grid/grid-item",
+ "t-grid-item": "tdesign-miniprogram/grid-item/grid-item",
"t-icon": "tdesign-miniprogram/icon/icon",
"t-avatar": "tdesign-miniprogram/avatar/avatar"
}
diff --git a/pages/user/index.wxml b/pages/user/index.wxml
index 984e4d4..a52b4ea 100644
--- a/pages/user/index.wxml
+++ b/pages/user/index.wxml
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/pages/user/session-list/index.wxml b/pages/user/session-list/index.wxml
index 5a9136d..35f6b66 100644
--- a/pages/user/session-list/index.wxml
+++ b/pages/user/session-list/index.wxml
@@ -13,7 +13,7 @@
- {{item.rate}}
+ {{item.rank}}
diff --git a/pages/user/session-list/index.wxss b/pages/user/session-list/index.wxss
index 5792a84..9f26608 100644
--- a/pages/user/session-list/index.wxss
+++ b/pages/user/session-list/index.wxss
@@ -35,6 +35,7 @@
.history-left {
width: 100%;
padding-right: 5px;
+ display: flex;
}
.history-avatar {
diff --git a/pages/usercenter/address/edit/index.js b/pages/usercenter/address/edit/index.js
deleted file mode 100644
index 24b3ed3..0000000
--- a/pages/usercenter/address/edit/index.js
+++ /dev/null
@@ -1,359 +0,0 @@
-import Toast from 'tdesign-miniprogram/toast/index';
-import { fetchDeliveryAddress } from '../../../../services/address/fetchAddress';
-import { areaData } from '../../../../config/index';
-import { resolveAddress, rejectAddress } from './util';
-
-const innerPhoneReg =
- '^1(?:3\\d|4[4-9]|5[0-35-9]|6[67]|7[0-8]|8\\d|9\\d)\\d{8}$';
-const innerNameReg = '^[a-zA-Z\\d\\u4e00-\\u9fa5]+$';
-const labelsOptions = [
- { id: 0, name: '家' },
- { id: 1, name: '公司' },
-];
-
-Page({
- options: {
- multipleSlots: true,
- },
- externalClasses: ['theme-wrapper-class'],
- data: {
- locationState: {
- labelIndex: null,
- addressId: '',
- addressTag: '',
- cityCode: '',
- cityName: '',
- countryCode: '',
- countryName: '',
- detailAddress: '',
- districtCode: '',
- districtName: '',
- isDefault: false,
- name: '',
- phone: '',
- provinceCode: '',
- provinceName: '',
- isEdit: false,
- isOrderDetail: false,
- isOrderSure: false,
- },
- areaData: areaData,
- labels: labelsOptions,
- areaPickerVisible: false,
- submitActive: false,
- visible: false,
- labelValue: '',
- columns: 3,
- },
- privateData: {
- verifyTips: '',
- },
- onLoad(options) {
- const { id } = options;
- this.init(id);
- },
- onUnload() {
- if (!this.hasSava) {
- rejectAddress();
- }
- },
- hasSava: false,
- init(id) {
- if (id) {
- this.getAddressDetail(Number(id));
- }
- },
- getAddressDetail(id) {
- fetchDeliveryAddress(id).then((detail) => {
- this.setData({ locationState: detail }, () => {
- const { isLegal, tips } = this.onVerifyInputLegal();
- this.setData({
- submitActive: isLegal,
- });
- this.privateData.verifyTips = tips;
- });
- });
- },
- onInputValue(e) {
- const { item } = e.currentTarget.dataset;
- const { value = '', areas = [] } = e.detail;
- if (item === 'address') {
- this.setData(
- {
- 'locationState.provinceCode': areas[0].code,
- 'locationState.provinceName': areas[0].name,
- 'locationState.cityName': areas[1].name,
- 'locationState.cityCode': areas[1].code,
- 'locationState.districtCode': areas[2].code,
- 'locationState.districtName': areas[2].name,
- areaPickerVisible: false,
- },
- () => {
- const { isLegal, tips } = this.onVerifyInputLegal();
- this.setData({
- submitActive: isLegal,
- });
- this.privateData.verifyTips = tips;
- },
- );
- } else {
- this.setData(
- {
- [`locationState.${item}`]: value,
- },
- () => {
- const { isLegal, tips } = this.onVerifyInputLegal();
- this.setData({
- submitActive: isLegal,
- });
- this.privateData.verifyTips = tips;
- },
- );
- }
- },
- onPickArea() {
- this.setData({ areaPickerVisible: true });
- },
- onPickLabels(e) {
- const { item } = e.currentTarget.dataset;
- const {
- locationState: { labelIndex = undefined },
- labels = [],
- } = this.data;
- let payload = {
- labelIndex: item,
- addressTag: labels[item].name,
- };
- if (item === labelIndex) {
- payload = { labelIndex: null, addressTag: '' };
- }
- this.setData({
- 'locationState.labelIndex': payload.labelIndex,
- });
- this.triggerEvent('triggerUpdateValue', payload);
- },
- addLabels() {
- this.setData({
- visible: true,
- });
- },
- confirmHandle() {
- const { labels, labelValue } = this.data;
- this.setData({
- visible: false,
- labels: [
- ...labels,
- { id: labels[labels.length - 1].id + 1, name: labelValue },
- ],
- labelValue: '',
- });
- },
- cancelHandle() {
- this.setData({
- visible: false,
- labelValue: '',
- });
- },
- onCheckDefaultAddress({ detail }) {
- const { value } = detail;
- this.setData({
- 'locationState.isDefault': value,
- });
- },
-
- onVerifyInputLegal() {
- const { name, phone, detailAddress, districtName } =
- this.data.locationState;
- const prefixPhoneReg = String(this.properties.phoneReg || innerPhoneReg);
- const prefixNameReg = String(this.properties.nameReg || innerNameReg);
- const nameRegExp = new RegExp(prefixNameReg);
- const phoneRegExp = new RegExp(prefixPhoneReg);
-
- if (!name || !name.trim()) {
- return {
- isLegal: false,
- tips: '请填写收货人',
- };
- }
- if (!nameRegExp.test(name)) {
- return {
- isLegal: false,
- tips: '收货人仅支持输入中文、英文(区分大小写)、数字',
- };
- }
- if (!phone || !phone.trim()) {
- return {
- isLegal: false,
- tips: '请填写手机号',
- };
- }
- if (!phoneRegExp.test(phone)) {
- return {
- isLegal: false,
- tips: '请填写正确的手机号',
- };
- }
- if (!districtName || !districtName.trim()) {
- return {
- isLegal: false,
- tips: '请选择省市区信息',
- };
- }
- if (!detailAddress || !detailAddress.trim()) {
- return {
- isLegal: false,
- tips: '请完善详细地址',
- };
- }
- if (detailAddress && detailAddress.trim().length > 50) {
- return {
- isLegal: false,
- tips: '详细地址不能超过50个字符',
- };
- }
- return {
- isLegal: true,
- tips: '添加成功',
- };
- },
-
- builtInSearch({ code, name }) {
- return new Promise((resolve, reject) => {
- wx.getSetting({
- success: (res) => {
- if (res.authSetting[code] === false) {
- wx.showModal({
- title: `获取${name}失败`,
- content: `获取${name}失败,请在【右上角】-小程序【设置】项中,将【${name}】开启。`,
- confirmText: '去设置',
- confirmColor: '#FA550F',
- cancelColor: '取消',
- success(res) {
- if (res.confirm) {
- wx.openSetting({
- success(settinRes) {
- if (settinRes.authSetting[code] === true) {
- resolve();
- } else {
- console.warn('用户未打开权限', name, code);
- reject();
- }
- },
- });
- } else {
- reject();
- }
- },
- fail() {
- reject();
- },
- });
- } else {
- resolve();
- }
- },
- fail() {
- reject();
- },
- });
- });
- },
-
- onSearchAddress() {
- this.builtInSearch({ code: 'scope.userLocation', name: '地址位置' }).then(
- () => {
- wx.chooseLocation({
- success: (res) => {
- if (res.name) {
- this.triggerEvent('addressParse', {
- address: res.address,
- name: res.name,
- latitude: res.latitude,
- longitude: res.longitude,
- });
- } else {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '地点为空,请重新选择',
- icon: '',
- duration: 1000,
- });
- }
- },
- fail: function (res) {
- console.warn(`wx.chooseLocation fail: ${JSON.stringify(res)}`);
- if (res.errMsg !== 'chooseLocation:fail cancel') {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '地点错误,请重新选择',
- icon: '',
- duration: 1000,
- });
- }
- },
- });
- },
- );
- },
- formSubmit() {
- const { submitActive } = this.data;
- if (!submitActive) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: this.privateData.verifyTips,
- icon: '',
- duration: 1000,
- });
- return;
- }
- const { locationState } = this.data;
-
- this.hasSava = true;
-
- resolveAddress({
- saasId: '88888888',
- uid: `88888888205500`,
- authToken: null,
- id: locationState.addressId,
- addressId: locationState.addressId,
- phone: locationState.phone,
- name: locationState.name,
- countryName: locationState.countryName,
- countryCode: locationState.countryCode,
- provinceName: locationState.provinceName,
- provinceCode: locationState.provinceCode,
- cityName: locationState.cityName,
- cityCode: locationState.cityCode,
- districtName: locationState.districtName,
- districtCode: locationState.districtCode,
- detailAddress: locationState.detailAddress,
- isDefault: locationState.isDefault === 1 ? 1 : 0,
- addressTag: locationState.addressTag,
- latitude: locationState.latitude,
- longitude: locationState.longitude,
- storeId: null,
- });
-
- wx.navigateBack({ delta: 1 });
- },
-
- getWeixinAddress(e) {
- const { locationState } = this.data;
- const weixinAddress = e.detail;
- this.setData(
- {
- locationState: { ...locationState, ...weixinAddress },
- },
- () => {
- const { isLegal, tips } = this.onVerifyInputLegal();
- this.setData({
- submitActive: isLegal,
- });
- this.privateData.verifyTips = tips;
- },
- );
- },
-});
diff --git a/pages/usercenter/address/edit/index.json b/pages/usercenter/address/edit/index.json
deleted file mode 100644
index b977887..0000000
--- a/pages/usercenter/address/edit/index.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "navigationBarTitleText": "添加新地址",
- "usingComponents": {
- "t-textarea": "tdesign-miniprogram/textarea/textarea",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-input": "tdesign-miniprogram/input/input",
- "t-button": "tdesign-miniprogram/button/button",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-switch": "tdesign-miniprogram/switch/switch",
- "t-location": "/pages/usercenter/components/t-location/index",
- "t-area-picker": "../../components/area-picker-new/index"
- }
-}
\ No newline at end of file
diff --git a/pages/usercenter/address/edit/index.wxml b/pages/usercenter/address/edit/index.wxml
deleted file mode 100644
index 1d39db4..0000000
--- a/pages/usercenter/address/edit/index.wxml
+++ /dev/null
@@ -1,146 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/usercenter/address/edit/index.wxss b/pages/usercenter/address/edit/index.wxss
deleted file mode 100644
index 9189183..0000000
--- a/pages/usercenter/address/edit/index.wxss
+++ /dev/null
@@ -1,113 +0,0 @@
-page {
- background-color: #f5f5f5;
-}
-page .divider-line {
- width: 100%;
- height: 20rpx;
- background-color: #f5f5f5;
-}
-.address-flex-box {
- display: flex;
- flex-wrap: wrap;
-}
-.address-detail {
- font-size: 30rpx;
-}
-.address-detail-wx-location {
- background: #fff;
- padding: 24rpx 32rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
-}
-.address-detail-wx-arrow {
- align-items: flex-end;
-}
-.form-address .t-cell-left {
- margin-right: 0;
-}
-.form-address .t-cell-title {
- width: 196rpx;
- flex: none;
-}
-.form-address .t-cell-note {
- margin-bottom: -20rpx;
-}
-.form-address .t-input {
- width: 100%;
-}
-.form-address .t-textarea-cell-note {
- margin: 0 -32rpx;
-}
-
-.form-address .t-textarea__placeholder {
- color: #bbb !important;
-}
-page .form-address .t-dialog-confirm {
- color: #ff5f15;
-}
-.form-address .form-content {
- box-sizing: border-box;
- width: 100%;
- display: block;
-}
-.form-address .field-text {
- flex: 1;
- color: #666666;
- font-size: 30rpx;
- padding: 0;
-}
-.form-address .field-text::after {
- border: none !important;
-}
-.form-address .map {
- font-size: 48rpx !important;
- margin-left: 20rpx;
- color: #9d9d9f;
-}
-.form-address .field.text-area {
- height: 200rpx;
- align-items: flex-start;
-}
-.form-address .label-list {
- line-height: 50rpx;
- background: #f5f5f5;
- color: #333;
- min-width: 100rpx;
- padding: 0 20rpx;
- height: 56rpx;
- margin: 0 32rpx 20rpx 0;
- font-size: 26rpx;
- border: 2rpx solid transparent;
- width: auto;
-}
-.form-address .label-list::after {
- content: none;
-}
-.form-address .active-btn {
- color: #fa4126;
- border: 2rpx solid #fa4126;
- background: rgba(255, 95, 21, 0.04);
-}
-.form-address .active-btn::after {
- border: 4rpx solid #ff5f15;
-}
-.submit {
- box-sizing: border-box;
- padding: 64rpx 30rpx 88rpx 30rpx;
-}
-.submit .btn-submit-address {
- width: 100%;
- background: #fa4126;
- color: #fff;
- border-radius: 48rpx;
-}
-.submit .btn-submit-address.disabled {
- background-color: #c6c6c6;
-}
-.submit .btn-submit-address.disabled::after {
- display: none;
-}
-.dialog__button-confirm {
- color: #fa4126 !important;
-}
diff --git a/pages/usercenter/address/edit/util.js b/pages/usercenter/address/edit/util.js
deleted file mode 100644
index 17d619a..0000000
--- a/pages/usercenter/address/edit/util.js
+++ /dev/null
@@ -1,33 +0,0 @@
-let addressPromise = [];
-
-/** 地址编辑Promise */
-export const getAddressPromise = () => {
- let resolver;
- let rejecter;
- const nextPromise = new Promise((resolve, reject) => {
- resolver = resolve;
- rejecter = reject;
- });
-
- addressPromise.push({ resolver, rejecter });
-
- return nextPromise;
-};
-
-/** 用户保存了一个地址 */
-export const resolveAddress = (address) => {
- const allAddress = [...addressPromise];
- addressPromise = [];
-
- console.info('用户保存了一个地址', address);
-
- allAddress.forEach(({ resolver }) => resolver(address));
-};
-
-/** 取消编辑 */
-export const rejectAddress = () => {
- const allAddress = [...addressPromise];
- addressPromise = [];
-
- allAddress.forEach(({ rejecter }) => rejecter(new Error('cancel')));
-};
diff --git a/pages/usercenter/address/list/index.js b/pages/usercenter/address/list/index.js
deleted file mode 100644
index 9008572..0000000
--- a/pages/usercenter/address/list/index.js
+++ /dev/null
@@ -1,202 +0,0 @@
-/* eslint-disable no-param-reassign */
-import { fetchDeliveryAddressList } from '../../../../services/address/fetchAddress';
-import Toast from 'tdesign-miniprogram/toast/index';
-import { resolveAddress, rejectAddress } from './util';
-import { getAddressPromise } from '../edit/util';
-
-Page({
- data: {
- addressList: [],
- deleteID: '',
- showDeleteConfirm: false,
- isOrderSure: false,
- },
-
- /** 选择模式 */
- selectMode: false,
- /** 是否已经选择地址,不置为true的话页面离开时会触发取消选择行为 */
- hasSelect: false,
-
- onLoad(query) {
- const { selectMode = '', isOrderSure = '', id = '' } = query;
- this.setData({
- isOrderSure: !!isOrderSure,
- extraSpace: !!isOrderSure,
- id,
- });
- this.selectMode = !!selectMode;
- this.init();
- },
-
- init() {
- this.getAddressList();
- },
- onUnload() {
- if (this.selectMode && !this.hasSelect) {
- rejectAddress();
- }
- },
- addAddress() {
- wx.navigateTo({
- url: '/pages/usercenter/address/edit/index',
- });
- },
- onEdit(e) {
- wx.navigateTo({
- url: `/pages/usercenter/address/edit/index?id=${e.detail.id}`,
- });
- },
- getAddressList() {
- const { id } = this.data;
- fetchDeliveryAddressList().then((addressList) => {
- addressList.forEach((address) => {
- if (address.id === id) {
- address.checked = true;
- }
- });
- this.setData({ addressList });
- });
- },
- getWXAddressHandle() {
- wx.chooseAddress({
- success: (res) => {
- if (res.errMsg.indexOf('ok') === -1) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: res.errMsg,
- icon: '',
- duration: 1000,
- });
- return;
- }
- Toast({
- context: this,
- selector: '#t-toast',
- message: '添加成功',
- icon: '',
- duration: 1000,
- });
- const { length: len } = this.data.addressList;
- this.setData({
- [`addressList[${len}]`]: {
- name: res.userName,
- phoneNumber: res.telNumber,
- address: `${res.provinceName}${res.cityName}${res.countryName}${res.detailInfo}`,
- isDefault: 0,
- tag: '微信地址',
- id: len,
- },
- });
- },
- });
- },
- confirmDelteHandle({ detail }) {
- const { id } = detail || {};
- if (id !== undefined) {
- this.setData({ deleteID: id, showDeleteConfirm: true });
- Toast({
- context: this,
- selector: '#t-toast',
- message: '地址删除成功',
- theme: 'success',
- duration: 1000,
- });
- } else {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '需要组件库发新版才能拿到地址ID',
- icon: '',
- duration: 1000,
- });
- }
- },
- deleteAddressHandle(e) {
- const { id } = e.currentTarget.dataset;
- this.setData({
- addressList: this.data.addressList.filter((address) => address.id !== id),
- deleteID: '',
- showDeleteConfirm: false,
- });
- },
- editAddressHandle({ detail }) {
- this.waitForNewAddress();
-
- const { id } = detail || {};
- wx.navigateTo({ url: `/pages/usercenter/address/edit/index?id=${id}` });
- },
- selectHandle({ detail }) {
- if (this.selectMode) {
- this.hasSelect = true;
- resolveAddress(detail);
- wx.navigateBack({ delta: 1 });
- } else {
- this.editAddressHandle({ detail });
- }
- },
- createHandle() {
- this.waitForNewAddress();
- wx.navigateTo({ url: '/pages/usercenter/address/edit/index' });
- },
-
- waitForNewAddress() {
- getAddressPromise()
- .then((newAddress) => {
- let addressList = [...this.data.addressList];
-
- newAddress.phoneNumber = newAddress.phone;
- newAddress.address = `${newAddress.provinceName}${newAddress.cityName}${newAddress.districtName}${newAddress.detailAddress}`;
- newAddress.tag = newAddress.addressTag;
-
- if (!newAddress.addressId) {
- newAddress.id = `${addressList.length}`;
- newAddress.addressId = `${addressList.length}`;
-
- if (newAddress.isDefault === 1) {
- addressList = addressList.map((address) => {
- address.isDefault = 0;
-
- return address;
- });
- } else {
- newAddress.isDefault = 0;
- }
-
- addressList.push(newAddress);
- } else {
- addressList = addressList.map((address) => {
- if (address.addressId === newAddress.addressId) {
- return newAddress;
- }
- return address;
- });
- }
-
- addressList.sort((prevAddress, nextAddress) => {
- if (prevAddress.isDefault && !nextAddress.isDefault) {
- return -1;
- }
- if (!prevAddress.isDefault && nextAddress.isDefault) {
- return 1;
- }
- return 0;
- });
-
- this.setData({
- addressList: addressList,
- });
- })
- .catch((e) => {
- if (e.message !== 'cancel') {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '地址编辑发生错误',
- icon: '',
- duration: 1000,
- });
- }
- });
- },
-});
diff --git a/pages/usercenter/address/list/index.json b/pages/usercenter/address/list/index.json
deleted file mode 100644
index 1e59a76..0000000
--- a/pages/usercenter/address/list/index.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "navigationBarTitleText": "收货地址",
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-image": "/components/webp-image/index",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-address-item": "../../components/ui-address-item/index",
- "t-location": "../../components/t-location/index",
- "t-empty": "tdesign-miniprogram/empty/empty"
- }
-}
\ No newline at end of file
diff --git a/pages/usercenter/address/list/index.wxml b/pages/usercenter/address/list/index.wxml
deleted file mode 100644
index b7267f7..0000000
--- a/pages/usercenter/address/list/index.wxml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 新建收货地址
-
-
-
-
-
-
-
diff --git a/pages/usercenter/address/list/index.wxss b/pages/usercenter/address/list/index.wxss
deleted file mode 100644
index 05b2554..0000000
--- a/pages/usercenter/address/list/index.wxss
+++ /dev/null
@@ -1,109 +0,0 @@
-page {
- background: #f5f5f5;
- height: 100%;
-}
-.address-container {
- display: flex;
- flex-direction: column;
- align-items: stretch;
- padding-bottom: calc(env(safe-area-inset-bottom) + 172rpx);
-}
-.address-container .address-list {
- font-size: 24rpx;
- background-color: #ffffff;
- -webkit-overflow-scrolling: touch;
-}
-.address-list .no-address {
- width: 750rpx;
- padding-top: 30vh;
- display: flex;
- flex-direction: column;
- justify-content: flex-start;
- align-items: center;
-}
-.address-list .no-address__icon {
- width: 224rpx;
- height: 224rpx;
-}
-.address-list .no-address__text {
- font-size: 28rpx;
- line-height: 40rpx;
- color: #999999;
- margin-top: 24rpx;
-}
-.address-container .bottom-fixed {
- border-top: 1rpx solid #e5e5e5;
- position: fixed;
- bottom: 0;
- left: 0;
- right: 0;
- z-index: 1000;
- background: #fff;
- display: flex;
- justify-content: center;
- flex-direction: column;
- align-items: center;
- padding: 12rpx 32rpx calc(env(safe-area-inset-bottom) + 12rpx) 32rpx;
-}
-.address-container .btn-wrap {
- width: 100%;
- display: flex;
- justify-content: space-between;
- align-items: center;
- font-size: 32rpx;
- font-weight: bold;
-}
-.address-container .btn-wrap .location-btn {
- width: 332rpx;
- height: 88rpx;
- display: flex;
- justify-content: center;
- align-items: center;
- background-color: #ffffff;
- color: #333;
- position: relative;
-}
-.address-container .btn-wrap .location-btn::after {
- content: '';
- position: absolute; /* 把父视图设置为relative,方便定位*/
- top: 0;
- left: 0;
- width: 200%;
- height: 200%;
- transform: scale(0.5);
- transform-origin: 0 0;
- box-sizing: border-box;
- border-radius: 88rpx;
- border: #dddddd 2rpx solid;
-}
-.address-container .btn-wrap .address-btn {
- width: 332rpx;
- height: 88rpx;
- display: flex;
- justify-content: center;
- align-items: center;
- background-color: #fa4126;
- border-radius: 44rpx;
- color: #fff;
-}
-.address-container .btn-wrap .btn-default {
- background: #c6c6c6;
-}
-.address-container .bottom-fixed .footer {
- margin-top: 10rpx;
- display: inline-block;
- width: 100%;
- text-align: center;
- font-size: 24rpx;
- font-weight: 400;
- color: #ff2525;
- line-height: 60rpx;
- height: 60rpx;
-}
-.address-container .message {
- margin-top: 48rpx;
-}
-.address-container .custom-class {
- margin-right: 12rpx;
- font-weight: normal;
-}
diff --git a/pages/usercenter/address/list/util.js b/pages/usercenter/address/list/util.js
deleted file mode 100644
index 953f8d0..0000000
--- a/pages/usercenter/address/list/util.js
+++ /dev/null
@@ -1,31 +0,0 @@
-let addressPromise = [];
-
-/** 获取一个地址选择Promise */
-export const getAddressPromise = () => {
- let resolver;
- let rejecter;
- const nextPromise = new Promise((resolve, reject) => {
- resolver = resolve;
- rejecter = reject;
- });
-
- addressPromise.push({ resolver, rejecter });
-
- return nextPromise;
-};
-
-/** 用户选择了一个地址 */
-export const resolveAddress = (address) => {
- const allAddress = [...addressPromise];
- addressPromise = [];
-
- allAddress.forEach(({ resolver }) => resolver(address));
-};
-
-/** 用户没有选择任何地址只是返回上一页了 */
-export const rejectAddress = () => {
- const allAddress = [...addressPromise];
- addressPromise = [];
-
- allAddress.forEach(({ rejecter }) => rejecter(new Error('cancel')));
-};
diff --git a/pages/usercenter/components/area-picker-new/index.js b/pages/usercenter/components/area-picker-new/index.js
deleted file mode 100644
index d102f41..0000000
--- a/pages/usercenter/components/area-picker-new/index.js
+++ /dev/null
@@ -1,192 +0,0 @@
-Component({
- codeList: [],
- options: {
- multipleSlots: true,
- },
- properties: {
- show: {
- type: Boolean,
- observer(show) {
- if (!show) return;
- this.setData({ pickerValue: [] }, () => {
- this.codeList = this.splitCode(this.data.value);
- this.updateDivisions();
- });
- },
- },
- title: {
- type: String,
- value: '选择地区',
- },
- value: {
- type: String,
- value: '',
- },
- areaData: {
- type: Array,
- value: [],
- observer() {
- if (!this.data.show) return;
- this.updateDivisions();
- },
- },
- columns: {
- type: Number,
- value: 3,
- },
- columnsName: {
- type: Array,
- value: ['省市/地区', '城市', '区'],
- },
- useLoadingSlot: Boolean,
- },
- data: {
- pickerValue: [],
- pickerColumnData: [],
- hightLightIndex: [],
- loading: false,
- scrollTop: 0,
- },
- methods: {
- splitCode(value) {
- const codeList = [];
- for (let i = 1; i <= this.data.columns; i++) {
- let code = value.slice(0, i * 2);
- if (code.length < i * 2) {
- code = `${value.slice(0, (i - 1) * 2)}00`;
- }
- while (code.length < this.data.value.length) {
- code += '0';
- }
- codeList.push(code);
- }
- return codeList;
- },
- updateDivisions() {
- const { pickerValue } = this.data;
- const area = pickerValue[pickerValue.length - 1];
- let currentAreaData = [];
- if (pickerValue.length === 0) {
- currentAreaData = this.data.areaData;
- } else {
- if (area && area.children && area.children.length > 0) {
- currentAreaData = [...area.children];
- } else if (area && !area.children) {
- const newArea = this.getNewAreaByPickerValue(pickerValue).area;
- if (newArea && newArea.children) {
- area.children = newArea.children;
- currentAreaData = [...area.children];
- }
- }
- }
- if (currentAreaData.length > 0) {
- const pickerColumnData = currentAreaData[0].code
- ? [{ name: '', children: currentAreaData }]
- : currentAreaData;
- let oldPickedIndexes = [-1, -1];
- if (this.codeList.length > pickerValue.length) {
- for (const gi in pickerColumnData) {
- for (const ai in pickerColumnData[gi].children) {
- if (
- pickerColumnData[gi].children[ai].code ===
- this.codeList[pickerValue.length]
- ) {
- oldPickedIndexes = [+gi, +ai];
- break;
- }
- }
- if (oldPickedIndexes[0] > -1) break;
- }
- }
- this.setData({ loading: false, pickerColumnData }, () => {
- return new Promise((resolve) => {
- if (oldPickedIndexes[0] > -1) {
- this.createSelectorQuery()
- .select('#area-item-0-0')
- .boundingClientRect()
- .select(`#area-item-${oldPickedIndexes.join('-')}`)
- .boundingClientRect()
- .exec((res) => {
- if (res[0] && res[1]) {
- const offsetTop = res[1].top - res[0].top;
- const diff = res[1].height;
- resolve(offsetTop > diff ? offsetTop - diff : 0);
- } else {
- resolve(0);
- }
- });
- } else resolve(0);
- }).then((scrollTop) => {
- this.setData({
- hightLightIndex: oldPickedIndexes,
- scrollTop,
- });
- });
- });
- } else {
- this.setData({ loading: true, pickerColumnData: [] }, () => {
- if (area && area.code) {
- this.triggerEvent('pullchildren', { parentCode: area.code });
- } else {
- this.triggerEvent('pullchildren', {});
- }
- });
- }
- },
- getNewAreaByPickerValue(pickerValue) {
- let { areaData } = this.data;
- const areas = [];
- for (const pickedArea of pickerValue) {
- const _areaData =
- areaData.length > 0 && areaData[0].code
- ? [{ name: '', children: areaData }]
- : areaData;
- let newArea;
- for (const gi in _areaData) {
- for (const ai in _areaData[gi].children) {
- if (_areaData[gi].children[ai].code === pickedArea.code) {
- newArea = _areaData[gi].children[ai];
- break;
- }
- }
- if (newArea) break;
- }
- if (!newArea) break;
- areaData = newArea.children || [];
- areas.push(newArea);
- }
- return { area: areas[areas.length - 1], areas };
- },
- onChange(e) {
- const { gi, ai } = e.currentTarget.dataset;
- const area = this.data.pickerColumnData[gi].children[ai];
- const pickerValue = this.data.pickerValue.concat(area);
- if (pickerValue.length < this.data.columns) {
- this.setData({ pickerValue }, () => {
- this.updateDivisions();
- });
- this.triggerEvent('change', { value: area.code, areas: pickerValue });
- } else {
- this.setData({ show: false });
- this.triggerEvent('confirm', { value: area.code, areas: pickerValue });
- }
- },
- onPickerClick(e) {
- const { index } = e.currentTarget.dataset;
- if (index > this.data.pickerValue.length - 1) return;
- const pickerValue = this.data.pickerValue.slice(0, index);
- this.setData({ pickerValue }, () => {
- this.updateDivisions();
- });
- this.triggerEvent('change', {
- value: pickerValue[pickerValue.length - 1]?.code,
- areas: pickerValue,
- });
- },
-
- onClose() {
- this.setData({ show: false });
- this.triggerEvent('close');
- },
- },
-});
diff --git a/pages/usercenter/components/area-picker-new/index.json b/pages/usercenter/components/area-picker-new/index.json
deleted file mode 100644
index f27cef8..0000000
--- a/pages/usercenter/components/area-picker-new/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-loading-content": "/components/loading-content/index"
- }
-}
diff --git a/pages/usercenter/components/area-picker-new/index.wxml b/pages/usercenter/components/area-picker-new/index.wxml
deleted file mode 100644
index b0f68e0..0000000
--- a/pages/usercenter/components/area-picker-new/index.wxml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
- {{pickedArea.name}}
-
-
-
-
- 请选择{{columsName[pickerValue.length]}}
-
-
-
-
-
-
-
-
-
-
- 正在加载
-
-
-
- 选择{{columsName[pickerValue.length]}}
-
-
-
- {{group.name}}
-
- {{item.name}}
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/usercenter/components/area-picker-new/index.wxss b/pages/usercenter/components/area-picker-new/index.wxss
deleted file mode 100644
index 792bce2..0000000
--- a/pages/usercenter/components/area-picker-new/index.wxss
+++ /dev/null
@@ -1,153 +0,0 @@
-.area-picker {
- background-color: white;
- border-radius: 20rpx 20rpx 0 0;
- overflow: hidden;
- height: 80vh;
- display: flex;
- flex-direction: column;
- position: relative;
-}
-.area-picker__close {
- position: absolute;
- top: 0;
- right: 0;
- height: 100rpx;
- line-height: 100rpx;
- padding: 0 24rpx;
- font-size: 36rpx;
- color: #999;
- color: var(--color-text-caption, #999);
-}
-.area-picker__header {
- height: 100rpx;
- line-height: 100rpx;
- text-align: center;
- font-size: 32rpx;
- color: #333;
- color: var(--color-text, #333);
- font-weight: bold;
- flex: none;
-}
-.area-picker__selected-result {
- padding: 20rpx 24rpx 32rpx;
- flex: none;
-}
-.area-picker__selected-result__item {
- padding-left: 40rpx;
- position: relative;
-}
-.area-picker__selected-result__item.active
- .area-picker__selected-result__item__name {
- color: #fa550f;
- color: var(--color-primary, #fa550f);
-}
-.area-picker__selected-result__item.active
- .area-picker__selected-result__item__circle {
- background-color: transparent;
-}
-.area-picker__selected-result__item.active
- .area-picker__selected-result__item__circle::after {
- content: ' ';
- position: absolute;
- left: -50%;
- right: -50%;
- top: -50%;
- bottom: -50%;
- border-radius: 50%;
- box-sizing: border-box;
- border: 1px solid #fa550f;
- border: 1px solid var(--color-primary, #fa550f);
- transform: scale(0.5);
-}
-.area-picker__selected-result__item:not(:last-child) {
- padding-bottom: 48rpx;
-}
-.area-picker__selected-result__item__name {
- color: #616161;
- color: var(--area-picker-name-color, #616161);
- font-size: 28rpx;
- line-height: 40rpx;
-}
-.area-picker__selected-result__item__circle,
-.area-picker__selected-result__item__line {
- position: absolute;
- top: 20rpx;
- left: 8rpx;
- background: #fa550f;
- background: var(--color-primary, #fa550f);
-}
-.area-picker__selected-result__item__line {
- height: calc(100% - 8rpx);
- width: 1rpx;
-}
-.area-picker__selected-result__item__circle {
- width: 16rpx;
- height: 16rpx;
- border-radius: 50%;
- transform: translate(-50%, -50%);
-}
-.area-picker__split-line {
- width: 200%;
- height: 1px;
- background-color: #e5e5e5;
- background-color: var(--color-bg-line, #e5e5e5);
- transform-origin: left top;
- transform: scale(0.5);
- flex: none;
-}
-.area-picker__area-list {
- padding: 20rpx 24rpx calc(20rpx + env(safe-area-inset-bottom)) 24rpx;
- flex: auto;
- display: flex;
- flex-direction: column;
-}
-.area-picker__area-list__loading {
- height: 100%;
- width: 100%;
-}
-.area-picker__area-list__title {
- font-size: 24rpx;
- color: #999;
- color: var(--color-text-caption, #999);
- flex: none;
-}
-.area-picker__area-list__content {
- padding: 24rpx 0;
- flex: auto;
- height: 0;
- position: relative;
-}
-.area-picker__area-list__content__inner {
- position: absolute;
- height: 100%;
- overflow: hidden;
-}
-.area-picker__area-list__content__group {
- display: flex;
-}
-.area-picker__area-list__content__group__title {
- flex: none;
- width: 40rpx;
- font-size: 24rpx;
- line-height: 40rpx;
- color: #999;
- color: var(--color-text-caption, #999);
-}
-.area-picker__area-list__content__group__content {
- flex: auto;
-}
-.area-picker__area-list__content__group__content__item {
- font-size: 28rpx;
- line-height: 40rpx;
- color: #333;
- color: var(--color-text, #333);
- padding-bottom: 48rpx;
-}
-.area-picker__area-list__content__group__content__item__active {
- color: #fa550f;
- color: var(--color-primary, #fa550f);
-}
-.area-picker__area-list__content__group__content__item.active {
- color: #fa550f;
- color: var(--color-primary, #fa550f);
-}
diff --git a/pages/usercenter/components/order-group/index.js b/pages/usercenter/components/order-group/index.js
deleted file mode 100644
index 5bfe0f6..0000000
--- a/pages/usercenter/components/order-group/index.js
+++ /dev/null
@@ -1,37 +0,0 @@
-Component({
- externalClasses: ['title-class', 'icon-class', 'number-class'],
- options: {
- multipleSlots: true,
- },
- properties: {
- orderTagInfos: {
- type: Array,
- value: [],
- },
- title: {
- type: String,
- value: '我的订单',
- },
- desc: {
- type: String,
- value: '全部订单',
- },
- isTop: {
- type: Boolean,
- value: true,
- },
- classPrefix: {
- type: String,
- value: 'wr',
- },
- },
- methods: {
- onClickItem(e) {
- this.triggerEvent('onClickItem', e.currentTarget.dataset.item);
- },
-
- onClickTop() {
- this.triggerEvent('onClickTop', {});
- },
- },
-});
diff --git a/pages/usercenter/components/order-group/index.json b/pages/usercenter/components/order-group/index.json
deleted file mode 100644
index c22feda..0000000
--- a/pages/usercenter/components/order-group/index.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-badge": "tdesign-miniprogram/badge/badge",
- "t-icon": "tdesign-miniprogram/icon/icon"
- }
-}
\ No newline at end of file
diff --git a/pages/usercenter/components/order-group/index.wxml b/pages/usercenter/components/order-group/index.wxml
deleted file mode 100644
index 366345d..0000000
--- a/pages/usercenter/components/order-group/index.wxml
+++ /dev/null
@@ -1,38 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- {{item.title}}
-
-
-
-
diff --git a/pages/usercenter/components/order-group/index.wxss b/pages/usercenter/components/order-group/index.wxss
deleted file mode 100644
index 59b9aa1..0000000
--- a/pages/usercenter/components/order-group/index.wxss
+++ /dev/null
@@ -1,56 +0,0 @@
-.order-group {
- margin-bottom: 24rpx;
- background-color: #ffffff;
- border-radius: 16rpx 16rpx 0 0;
-}
-.order-group .order-group__top {
- padding: 24rpx 18rpx 24rpx 32rpx;
- border-radius: 16rpx 16rpx 0 0;
-}
-.order-group__top___title {
- font-size: 32rpx;
- line-height: 48rpx;
- font-weight: bold;
-}
-.order-group__top__note {
- font-size: 28rpx;
-}
-.order-group__content {
- overflow: hidden;
- width: 100%;
- height: 164rpx;
- display: flex;
- background-color: #fff;
- border-radius: 0 0 16rpx 16rpx;
-}
-.order-group__item {
- overflow: hidden;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- flex: 1;
-}
-.order-group__item:first-child {
- border-radius: 0 0 0 16rpx;
-}
-.order-group__item:last-child {
- border-radius: 0 0 16rpx 0;
-}
-.order-group__item__title {
- font-size: 24rpx;
- color: #666;
- line-height: 32rpx;
-}
-.order-group__item__icon {
- margin-bottom: 20rpx;
- width: 56rpx;
- height: 56rpx;
- position: relative;
-}
-.order-group__top__title {
- font-weight: bold;
-}
-.order-group .order-group__left {
- margin-right: 0;
-}
diff --git a/pages/usercenter/components/t-location/index.js b/pages/usercenter/components/t-location/index.js
deleted file mode 100644
index c09ca92..0000000
--- a/pages/usercenter/components/t-location/index.js
+++ /dev/null
@@ -1,126 +0,0 @@
-import { getPermission } from '../../../../utils/getPermission';
-import { phoneRegCheck } from '../../../../utils/util';
-import Toast from 'tdesign-miniprogram/toast/index';
-import { addressParse } from '../../../../utils/addressParse';
-import { resolveAddress, rejectAddress } from '../../address/list/util';
-
-Component({
- externalClasses: ['t-class'],
- properties: {
- title: {
- type: String,
- },
- navigator: {
- type: Boolean,
- },
- isCustomStyle: {
- type: Boolean,
- value: false,
- },
- isDisabledBtn: {
- type: Boolean,
- value: false,
- },
- isOrderSure: {
- type: Boolean,
- value: false,
- },
- },
- methods: {
- getWxLocation() {
- if (this.properties.isDisabledBtn) return;
- getPermission({ code: 'scope.address', name: '通讯地址' }).then(() => {
- wx.chooseAddress({
- success: async (options) => {
- const {
- provinceName,
- cityName,
- countryName,
- detailInfo,
- userName,
- telNumber,
- } = options;
-
- if (!phoneRegCheck(telNumber)) {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '请填写正确的手机号',
- });
- return;
- }
-
- const target = {
- name: userName,
- phone: telNumber,
- countryName: '中国',
- countryCode: 'chn',
- detailAddress: detailInfo,
- provinceName: provinceName,
- cityName: cityName,
- districtName: countryName,
- isDefault: false,
- isOrderSure: this.properties.isOrderSure,
- };
-
- addressParse(provinceName, cityName, countryName);
-
- try {
- const { provinceCode, cityCode, districtCode } =
- await addressParse(provinceName, cityName, countryName);
-
- const params = Object.assign(target, {
- provinceCode,
- cityCode,
- districtCode,
- });
- if (this.properties.isOrderSure) {
- this.onHandleSubmit(params);
- } else if (this.properties.navigator) {
- Navigator.gotoPage('/address-detail', params);
- } else {
- this.triggerEvent('change', params);
- }
- } catch (error) {
- wx.showToast({ title: '地址解析出错,请稍后再试', icon: 'none' });
- }
- },
- fail(err) {
- console.warn('未选择微信收货地址', err);
- },
- });
- });
- },
-
- async queryAddress(addressId) {
- try {
- const { data } = await apis.userInfo.queryAddress({ addressId });
- return data.userAddressVO;
- } catch (err) {
- console.error('查询地址错误', err);
- throw err;
- }
- },
-
- findPage(pageRouteUrl) {
- const currentRoutes = getCurrentPages().map((v) => v.route);
- return currentRoutes.indexOf(pageRouteUrl);
- },
-
- async onHandleSubmit(params) {
- try {
- const orderPageDeltaNum = this.findPage(
- 'pages/order/order-confirm/index',
- );
- if (orderPageDeltaNum > -1) {
- wx.navigateBack({ delta: 1 });
- resolveAddress(params);
- return;
- }
- } catch (err) {
- rejectAddress(params);
- console.error(err);
- }
- },
- },
-});
diff --git a/pages/usercenter/components/t-location/index.json b/pages/usercenter/components/t-location/index.json
deleted file mode 100644
index 4e3dc86..0000000
--- a/pages/usercenter/components/t-location/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-toast": "tdesign-miniprogram/toast/toast"
- }
-}
\ No newline at end of file
diff --git a/pages/usercenter/components/t-location/index.wxml b/pages/usercenter/components/t-location/index.wxml
deleted file mode 100644
index 5793dc0..0000000
--- a/pages/usercenter/components/t-location/index.wxml
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
- {{title}}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/usercenter/components/t-location/index.wxss b/pages/usercenter/components/t-location/index.wxss
deleted file mode 100644
index 4ba6cbc..0000000
--- a/pages/usercenter/components/t-location/index.wxss
+++ /dev/null
@@ -1,19 +0,0 @@
-.wx-address .weixin {
- display: inline-block;
- font-size: 48rpx !important;
- margin-right: 20rpx;
- font-weight: normal;
-}
-.wx-address .cell {
- padding: 32rpx 30rpx;
- border-radius: 8rpx;
-}
-.wx-address .cell__title {
- font-size: 30rpx;
- color: #333333;
-}
-.wx-address-custom {
- display: flex;
- align-items: center;
- font-size: 32rpx;
-}
diff --git a/pages/usercenter/components/ui-address-item/index.js b/pages/usercenter/components/ui-address-item/index.js
deleted file mode 100644
index 467bbf7..0000000
--- a/pages/usercenter/components/ui-address-item/index.js
+++ /dev/null
@@ -1,46 +0,0 @@
-Component({
- options: {
- addGlobalClass: true,
- multipleSlots: true,
- },
- properties: {
- address: {
- type: Object,
- value: {},
- },
- customIcon: {
- type: String,
- value: 'edit-1',
- },
- extraSpace: {
- type: Boolean,
- value: true,
- },
- isDrawLine: {
- type: Boolean,
- value: true,
- },
- },
- externalClasses: [
- 'item-wrapper-class',
- 'title-class',
- 'default-tag-class',
- 'normal-tag-class',
- 'address-info-class',
- 'delete-class',
- ],
- methods: {
- onDelete(e) {
- const { item } = e.currentTarget.dataset;
- this.triggerEvent('onDelete', item);
- },
- onSelect(e) {
- const { item } = e.currentTarget.dataset;
- this.triggerEvent('onSelect', item);
- },
- onEdit(e) {
- const { item } = e.currentTarget.dataset;
- this.triggerEvent('onEdit', item);
- },
- },
-});
diff --git a/pages/usercenter/components/ui-address-item/index.json b/pages/usercenter/components/ui-address-item/index.json
deleted file mode 100644
index 0f9fe0f..0000000
--- a/pages/usercenter/components/ui-address-item/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-tag": "tdesign-miniprogram/tag/tag",
- "t-swipe-cell": "tdesign-miniprogram/swipe-cell/swipe-cell"
- }
-}
diff --git a/pages/usercenter/components/ui-address-item/index.wxml b/pages/usercenter/components/ui-address-item/index.wxml
deleted file mode 100644
index 9b3319f..0000000
--- a/pages/usercenter/components/ui-address-item/index.wxml
+++ /dev/null
@@ -1,52 +0,0 @@
-
- var toHide = function(array) {
- var mphone = array.substring(0, 3) + '****' + array.substring(7);
- return mphone;
- }
- module.exports.toHide = toHide;
-
-
-
-
-
-
-
-
-
- {{address.name}}
- {{phoneReg.toHide(address.phoneNumber || '')}}
-
-
-
- 默认
- {{address.tag}}
- {{address.address}}
-
-
-
-
-
-
-
-
- 删除
-
-
-
-
diff --git a/pages/usercenter/components/ui-address-item/index.wxss b/pages/usercenter/components/ui-address-item/index.wxss
deleted file mode 100644
index 6b74669..0000000
--- a/pages/usercenter/components/ui-address-item/index.wxss
+++ /dev/null
@@ -1,103 +0,0 @@
-.address-item-wrapper {
- overflow: hidden;
-}
-.address-item-wrapper .swipe-out .wr-swiper-cell {
- margin-top: 20rpx;
-}
-.address-item-wrapper .swipe-out .swipe-right-del {
- display: flex;
- justify-content: center;
- align-items: center;
- width: 144rpx;
- height: 100%;
- background-color: #fa4126;
- color: #fff;
- font-size: 28rpx;
- line-height: 40rpx;
-}
-.address-item-wrapper .draw-line {
- position: relative;
-}
-.address-item-wrapper .draw-line::after {
- content: '';
- position: absolute;
- top: 0;
- left: 32rpx;
- width: 200%;
- height: 2rpx;
- transform: scale(0.5);
- transform-origin: 0 0;
- box-sizing: border-box;
- border-bottom: #e5e5e5 2rpx solid;
-}
-.address-item-wrapper .address {
- display: flex;
- justify-content: space-between;
- align-items: center;
- padding: 32rpx;
- background-color: #fff;
-}
-.address-item-wrapper .address .address-edit {
- padding: 20rpx 0 20rpx 46rpx;
-}
-.address-item-wrapper .address .address-left {
- width: 80rpx;
- display: flex;
- justify-content: center;
-}
-.address-item-wrapper .address .address-content {
- display: flex;
- flex-direction: column;
- flex: 1;
-}
-.address-item-wrapper .address .address-content .title {
- font-size: 32rpx;
- line-height: 48rpx;
- margin-bottom: 16rpx;
- color: #333333;
- font-weight: bold;
- display: flex;
-}
-.address-item-wrapper .address .address-content .title .text-style {
- margin-right: 8rpx;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- max-width: 280rpx;
-}
-.address-item-wrapper .address .address-content .label-adds {
- display: flex;
-}
-.address-item-wrapper .address .address-content .label-adds .adds {
- display: -webkit-box;
- overflow: hidden;
- text-overflow: ellipsis;
- -webkit-box-orient: vertical;
- -webkit-line-clamp: 2;
- color: #999999;
-}
-.address-item-wrapper .address .address-content .label-adds .tag {
- display: inline-block;
- padding: 0rpx 8rpx;
- min-width: 40rpx;
- height: 32rpx;
- border-radius: 18rpx;
- font-size: 20rpx;
- line-height: 32rpx;
- text-align: center;
- margin-right: 8rpx;
- vertical-align: text-top;
-}
-.address-item-wrapper .address .address-content .label-adds .tag-default {
- background: #ffece9;
- color: #fa4126;
-}
-.address-item-wrapper .address .address-content .label-adds .tag-primary {
- background: #f0f1ff;
- color: #5a66ff;
-}
-.address-item-wrapper .address .address-content .label-adds .address-text {
- font-size: 28rpx;
- line-height: 40rpx;
- color: #999999;
-}
diff --git a/pages/usercenter/components/ui-select-picker/index.js b/pages/usercenter/components/ui-select-picker/index.js
deleted file mode 100644
index fff68cc..0000000
--- a/pages/usercenter/components/ui-select-picker/index.js
+++ /dev/null
@@ -1,73 +0,0 @@
-Component({
- properties: {
- show: {
- type: Boolean,
- observer(show) {
- if (!show) return;
- this.updateDivisions();
- },
- },
- title: {
- type: String,
- value: '',
- },
- value: {
- type: String,
- value: '',
- observer() {
- if (!this.data.show) return;
- this.updateDivisions();
- },
- },
- pickerOptions: {
- type: Array,
- value: [],
- observer() {
- if (!this.data.show) return;
- this.updateDivisions();
- },
- },
- headerVisible: {
- type: Boolean,
- value: true,
- },
- },
- data: {
- pickerValue: [],
- },
- methods: {
- updateDivisions() {
- const { pickerOptions, value } = this.data;
- const index = (pickerOptions || []).findIndex(
- (item) => item.code === value,
- );
-
- setTimeout(() => {
- this.setData({ pickerValue: index >= 0 ? [index] : [0] });
- }, 0);
- },
-
- getAreaByIndex(indexes) {
- const { pickerOptions } = this.data;
- return pickerOptions[indexes.toString()];
- },
-
- onChange(e) {
- const currentValue = e.detail.value;
- const target = this.getAreaByIndex(currentValue);
- if (target === null) return;
-
- this.setData({ pickerValue: currentValue });
- this.triggerEvent('change', { value: target.code, target: target });
- },
-
- onConfirm() {
- const target = this.getAreaByIndex(this.data.pickerValue);
- this.triggerEvent('confirm', { value: target?.code, target });
- },
-
- onClose() {
- this.triggerEvent('close');
- },
- },
-});
diff --git a/pages/usercenter/components/ui-select-picker/index.json b/pages/usercenter/components/ui-select-picker/index.json
deleted file mode 100644
index 6e4c04e..0000000
--- a/pages/usercenter/components/ui-select-picker/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup"
- }
-}
diff --git a/pages/usercenter/components/ui-select-picker/index.wxml b/pages/usercenter/components/ui-select-picker/index.wxml
deleted file mode 100644
index 7df73f8..0000000
--- a/pages/usercenter/components/ui-select-picker/index.wxml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
- {{ item.name }}
-
-
-
-
-
-
diff --git a/pages/usercenter/components/ui-select-picker/index.wxss b/pages/usercenter/components/ui-select-picker/index.wxss
deleted file mode 100644
index 3e977be..0000000
--- a/pages/usercenter/components/ui-select-picker/index.wxss
+++ /dev/null
@@ -1,102 +0,0 @@
-.city-picker-container {
- opacity: 0;
- position: fixed;
- top: 100vh;
- left: 0;
- right: 0;
- height: 100vh;
- z-index: 100;
-}
-.city-picker-container.show {
- top: 0;
- opacity: 1;
-}
-.city-picker-container.show .city-picker-box {
- bottom: 0;
-}
-.city-picker-shadow {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- background-color: rgba(0, 0, 0, 0.65);
-}
-.city-picker-header {
- height: 100rpx;
- line-height: 100rpx;
- text-align: center;
- font-size: 32rpx;
- color: #333333;
-}
-.city-picker-more {
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.city-picker-footer {
- height: 100rpx;
- display: flex;
- justify-content: space-between;
- align-items: center;
-}
-.city-picker-footer .btn {
- width: 330rpx;
- height: 80rpx;
- line-height: 80rpx;
- text-align: center;
- color: #666666;
- font-size: 32rpx;
- position: relative;
-}
-.city-picker-footer .btn__active {
- opacity: 0.5;
-}
-.city-picker-footer .btn::after {
- display: block;
- content: ' ';
- position: absolute;
- left: -50%;
- right: -50%;
- top: -50%;
- bottom: -50%;
- transform: scale(0.5);
- border: 1rpx solid #999999;
- border-radius: 16rpx;
-}
-.city-picker-footer .btn.primary {
- color: #fa550f;
-}
-.city-picker-footer .btn.primary::after {
- border-color: #fa550f;
-}
-.picker-column:not(:first-child) {
- margin-left: 40rpx;
-}
-.city-picker-box {
- position: absolute;
- bottom: -100%;
- transition: 0.3s bottom ease-in-out;
- left: 0;
- right: 0;
- z-index: 100;
- background-color: #fff;
- padding: 0 30rpx;
- color: #333333;
- font-size: 34rpx;
- border-radius: 20rpx 20rpx 0 0;
- padding-bottom: env(safe-area-inset-bottom);
-}
-.show .city-picker-shadow {
- display: block;
-}
-.picker {
- height: 300rpx;
- margin: 50rpx 0;
- line-height: 88rpx;
- text-align: center;
-}
-/* 似乎小程序picker-view的bug,indicator-class仅height生效,其他诸如line-height、text-align等放到父class中设置 */
-.picker-center-row {
- height: 88rpx;
-}
diff --git a/pages/usercenter/components/user-center-card/index.js b/pages/usercenter/components/user-center-card/index.js
deleted file mode 100644
index 47593c4..0000000
--- a/pages/usercenter/components/user-center-card/index.js
+++ /dev/null
@@ -1,35 +0,0 @@
-const AuthStepType = {
- ONE: 1,
- TWO: 2,
- THREE: 3,
-};
-
-Component({
- options: {
- multipleSlots: true,
- },
- properties: {
- currAuthStep: {
- type: Number,
- value: AuthStepType.ONE,
- },
- userInfo: {
- type: Object,
- value: {},
- },
- isNeedGetUserInfo: {
- type: Boolean,
- value: false,
- },
- },
- data: {
- defaultAvatarUrl:
- 'https://cdn-we-retail.ym.tencent.com/miniapp/usercenter/icon-user-center-avatar@2x.png',
- AuthStepType,
- },
- methods: {
- gotoUserEditPage() {
- this.triggerEvent('gotoUserEditPage');
- },
- },
-});
diff --git a/pages/usercenter/components/user-center-card/index.json b/pages/usercenter/components/user-center-card/index.json
deleted file mode 100644
index e169f6f..0000000
--- a/pages/usercenter/components/user-center-card/index.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "component": true,
- "usingComponents": {
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-avatar": "tdesign-miniprogram/avatar/avatar"
- }
-}
\ No newline at end of file
diff --git a/pages/usercenter/components/user-center-card/index.wxml b/pages/usercenter/components/user-center-card/index.wxml
deleted file mode 100644
index 17ebac5..0000000
--- a/pages/usercenter/components/user-center-card/index.wxml
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/usercenter/components/user-center-card/index.wxss b/pages/usercenter/components/user-center-card/index.wxss
deleted file mode 100644
index 2b488c1..0000000
--- a/pages/usercenter/components/user-center-card/index.wxss
+++ /dev/null
@@ -1,48 +0,0 @@
-.user-center-card {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 480rpx;
- background-image: url('https://cdn-we-retail.ym.tencent.com/miniapp/template/user-center-bg-v1.png');
- background-size: cover;
- background-repeat: no-repeat;
- padding: 0 24rpx;
-}
-.user-center-card__header {
- margin-top: 192rpx;
- margin-bottom: 48rpx;
- height: 96rpx;
- line-height: 48rpx;
- display: flex;
- justify-content: flex-start;
- align-items: center;
- color: #333;
- position: relative;
-}
-.user-center-card__header__avatar {
- width: 96rpx;
- height: 96rpx;
- border-radius: 48rpx;
- overflow: hidden;
-}
-
-.user-center-card__header__name {
- font-size: 36rpx;
- line-height: 48rpx;
- color: #333;
- font-weight: bold;
- margin-left: 24rpx;
- margin-right: 16rpx;
-}
-.user-center-card__header__transparent {
- position: absolute;
- left: 0;
- top: 0;
- background-color: transparent;
- height: 100%;
- width: 100%;
-}
-.user-center-card__icon {
- line-height: 96rpx;
-}
diff --git a/pages/usercenter/index.js b/pages/usercenter/index.js
deleted file mode 100644
index 33a7d94..0000000
--- a/pages/usercenter/index.js
+++ /dev/null
@@ -1,240 +0,0 @@
-import { fetchUserCenter } from '../../services/usercenter/fetchUsercenter';
-import Toast from 'tdesign-miniprogram/toast/index';
-
-const menuData = [
- [
- {
- title: '收货地址',
- tit: '',
- url: '',
- type: 'address',
- },
- {
- title: '优惠券',
- tit: '',
- url: '',
- type: 'coupon',
- },
- {
- title: '积分',
- tit: '',
- url: '',
- type: 'point',
- },
- ],
- [
- {
- title: '帮助中心',
- tit: '',
- url: '',
- type: 'help-center',
- },
- {
- title: '客服热线',
- tit: '',
- url: '',
- type: 'service',
- icon: 'service',
- },
- ],
-];
-
-const orderTagInfos = [
- {
- title: '待付款',
- iconName: 'wallet',
- orderNum: 0,
- tabType: 5,
- status: 1,
- },
- {
- title: '待发货',
- iconName: 'deliver',
- orderNum: 0,
- tabType: 10,
- status: 1,
- },
- {
- title: '待收货',
- iconName: 'package',
- orderNum: 0,
- tabType: 40,
- status: 1,
- },
- {
- title: '待评价',
- iconName: 'comment',
- orderNum: 0,
- tabType: 60,
- status: 1,
- },
- {
- title: '退款/售后',
- iconName: 'exchang',
- orderNum: 0,
- tabType: 0,
- status: 1,
- },
-];
-
-const getDefaultData = () => ({
- showMakePhone: false,
- userInfo: {
- avatarUrl: '',
- nickName: '正在登录...',
- phoneNumber: '',
- },
- menuData,
- orderTagInfos,
- customerServiceInfo: {},
- currAuthStep: 1,
- showKefu: true,
- versionNo: '',
-});
-
-Page({
- data: getDefaultData(),
-
- onLoad() {
- this.getVersionInfo();
- },
-
- onShow() {
- this.getTabBar().init();
- this.init();
- },
- onPullDownRefresh() {
- this.init();
- },
-
- init() {
- this.fetUseriInfoHandle();
- },
-
- fetUseriInfoHandle() {
- fetchUserCenter().then(
- ({
- userInfo,
- countsData,
- orderTagInfos: orderInfo,
- customerServiceInfo,
- }) => {
- // eslint-disable-next-line no-unused-expressions
- menuData?.[0].forEach((v) => {
- countsData.forEach((counts) => {
- if (counts.type === v.type) {
- // eslint-disable-next-line no-param-reassign
- v.tit = counts.num;
- }
- });
- });
- const info = orderTagInfos.map((v, index) => ({
- ...v,
- ...orderInfo[index],
- }));
- this.setData({
- userInfo,
- menuData,
- orderTagInfos: info,
- customerServiceInfo,
- currAuthStep: 2,
- });
- wx.stopPullDownRefresh();
- },
- );
- },
-
- onClickCell({ currentTarget }) {
- const { type } = currentTarget.dataset;
-
- switch (type) {
- case 'address': {
- wx.navigateTo({ url: '/pages/usercenter/address/list/index' });
- break;
- }
- case 'service': {
- this.openMakePhone();
- break;
- }
- case 'help-center': {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你点击了帮助中心',
- icon: '',
- duration: 1000,
- });
- break;
- }
- case 'point': {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '你点击了积分菜单',
- icon: '',
- duration: 1000,
- });
- break;
- }
- case 'coupon': {
- wx.navigateTo({ url: '/pages/coupon/coupon-list/index' });
- break;
- }
- default: {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '未知跳转',
- icon: '',
- duration: 1000,
- });
- break;
- }
- }
- },
-
- jumpNav(e) {
- const status = e.detail.tabType;
-
- if (status === 0) {
- wx.navigateTo({ url: '/pages/order/after-service-list/index' });
- } else {
- wx.navigateTo({ url: `/pages/order/order-list/index?status=${status}` });
- }
- },
-
- jumpAllOrder() {
- wx.navigateTo({ url: '/pages/order/order-list/index' });
- },
-
- openMakePhone() {
- this.setData({ showMakePhone: true });
- },
-
- closeMakePhone() {
- this.setData({ showMakePhone: false });
- },
-
- call() {
- wx.makePhoneCall({
- phoneNumber: this.data.customerServiceInfo.servicePhone,
- });
- },
-
- gotoUserEditPage() {
- const { currAuthStep } = this.data;
- if (currAuthStep === 2) {
- wx.navigateTo({ url: '/pages/usercenter/person-info/index' });
- } else {
- this.fetUseriInfoHandle();
- }
- },
-
- getVersionInfo() {
- const versionInfo = wx.getAccountInfoSync();
- const { version, envVersion = __wxConfig } = versionInfo.miniProgram;
- this.setData({
- versionNo: envVersion === 'release' ? version : envVersion,
- });
- },
-});
diff --git a/pages/usercenter/index.json b/pages/usercenter/index.json
deleted file mode 100644
index 398a70b..0000000
--- a/pages/usercenter/index.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "navigationBarTitleText": "个人中心",
- "navigationStyle": "custom",
- "usingComponents": {
- "t-popup": "tdesign-miniprogram/popup/popup",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-user-center-card": "./components/user-center-card/index",
- "t-order-group": "./components/order-group/index",
- "t-toast": "tdesign-miniprogram/toast/toast"
- },
- "enablePullDownRefresh": true
-}
\ No newline at end of file
diff --git a/pages/usercenter/index.wxml b/pages/usercenter/index.wxml
deleted file mode 100644
index 9c6e5cf..0000000
--- a/pages/usercenter/index.wxml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/pages/usercenter/index.wxss b/pages/usercenter/index.wxss
deleted file mode 100644
index 483e6f2..0000000
--- a/pages/usercenter/index.wxss
+++ /dev/null
@@ -1,146 +0,0 @@
-page {
- background-color: #f5f5f5;
-}
-
-.content-wrapper {
- margin-top: 340rpx;
- position: relative;
- padding: 0 30rpx;
-}
-
-.main-content {
- height: 500rpx;
-}
-
-.order-group-wrapper {
- margin-bottom: 16rpx;
-}
-
-.order-group-note {
- font-size: 28rpx;
-}
-
-.cell-box {
- border-radius: 10rpx;
- overflow: hidden;
- margin-bottom: 20rpx;
-}
-.icon-color {
- color: #aaa;
-}
-.cell-class {
- height: 100rpx;
- display: flex;
- align-items: center;
-}
-
-.order-content {
- overflow: hidden;
- width: 100%;
- display: flex;
- background-color: #fff;
- border-radius: 16rpx;
-}
-
-.order-item {
- flex: 1;
- height: 180rpx;
- overflow: hidden;
- position: relative;
- text-align: center;
-}
-
-.order-content-box {
- margin: auto;
- position: absolute;
- width: 100%;
- top: 50%;
- left: 50%;
- -webkit-transform: translate(-50%, -50%);
- -ms-transform: translate(-50%, -50%);
- transform: translate(-50%, -50%);
-}
-.order-content-t {
- margin-top: 10rpx;
- font-size: 24rpx;
- color: #333;
- letter-spacing: 0;
- text-align: center;
-}
-
-.popup-content {
- background: #f5f5f5;
- margin-bottom: env(safe-area-inset-bottom);
- border-radius: 16rpx 16rpx 0 0;
-}
-.popup-content .popup-title {
- background: #fff;
- text-align: center;
- font-size: 24rpx;
- color: #999;
- height: 112rpx;
- text-align: center;
- line-height: 112rpx;
- border-radius: 16rpx 16rpx 0 0;
-}
-
-.border-bottom-1px {
- position: relative;
-}
-
-.border-bottom-1px::after {
- position: absolute;
- display: block;
- content: '';
- box-sizing: border-box;
- top: 0;
- left: 0;
- width: 200%;
- height: 200%;
- transform: scale(0.5);
- transform-origin: left top;
- border-bottom: 2rpx solid #e5e5e5;
-}
-.popup-content .popup-phone,
-.popup-content .popup-close {
- background: #fff;
- height: 100rpx;
- display: flex;
- justify-content: center;
- align-items: center;
- text-align: center;
- font-size: 30rpx;
- font-family: PingFangSC-Regular, PingFang SC;
- font-weight: 400;
- color: #333;
-}
-.popup-content .popup-phone.online {
- margin-bottom: 20rpx;
-}
-.popup-content .popup-phone.online::after {
- content: none;
-}
-.popup-content .popup-close {
- color: #333;
- border: 0;
- margin-top: 16rpx;
-}
-
-.my-order {
- border-radius: 10rpx;
-}
-
-.footer__version {
- text-align: center;
- margin-top: 50rpx;
- color: #999;
- margin-bottom: 4rpx;
- font-size: 24rpx;
- line-height: 32rpx;
-}
-.cell-box .order-group__left {
- margin-right: 0;
-}
-.cell-box .t-cell-padding {
- padding: 24rpx 18rpx 24rpx 32rpx;
-}
diff --git a/pages/usercenter/name-edit/index.js b/pages/usercenter/name-edit/index.js
deleted file mode 100644
index 57e4e3d..0000000
--- a/pages/usercenter/name-edit/index.js
+++ /dev/null
@@ -1,19 +0,0 @@
-Page({
- data: {
- nameValue: '',
- },
- onLoad(options) {
- const { name } = options;
- this.setData({
- nameValue: name,
- });
- },
- onSubmit() {
- wx.navigateBack({ backRefresh: true });
- },
- clearContent() {
- this.setData({
- nameValue: '',
- });
- },
-});
diff --git a/pages/usercenter/name-edit/index.json b/pages/usercenter/name-edit/index.json
deleted file mode 100644
index efc7e5f..0000000
--- a/pages/usercenter/name-edit/index.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "navigationBarTitleText": "昵称",
- "usingComponents": {
- "t-input": "tdesign-miniprogram/input/input",
- "t-icon": "tdesign-miniprogram/icon/icon",
- "t-button": "tdesign-miniprogram/button/button"
- }
-}
diff --git a/pages/usercenter/name-edit/index.wxml b/pages/usercenter/name-edit/index.wxml
deleted file mode 100644
index 0366a88..0000000
--- a/pages/usercenter/name-edit/index.wxml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
- 最多可输入15个字
-
-
- 保存
-
-
-
diff --git a/pages/usercenter/name-edit/index.wxss b/pages/usercenter/name-edit/index.wxss
deleted file mode 100644
index ef4b048..0000000
--- a/pages/usercenter/name-edit/index.wxss
+++ /dev/null
@@ -1,26 +0,0 @@
-page {
- background-color: #f5f5f5;
-}
-page view {
- box-sizing: border-box;
-}
-.name-edit {
- padding-top: 20rpx;
-}
-.name-edit .name-edit__input--desc {
- font-size: 26rpx;
- padding: 16rpx 32rpx;
- color: #999;
- margin-bottom: 200rpx;
-}
-.name-edit .name-edit__wrapper {
- width: 100%;
- padding: 0 32rpx;
-}
-.name-edit .name-edit__btn {
- height: 88rpx;
- width: 100%;
- background: #fa4126;
- color: #fff;
- border-radius: 48rpx;
-}
diff --git a/pages/usercenter/person-info/index.js b/pages/usercenter/person-info/index.js
deleted file mode 100644
index 48fed27..0000000
--- a/pages/usercenter/person-info/index.js
+++ /dev/null
@@ -1,122 +0,0 @@
-import { fetchPerson } from '../../../services/usercenter/fetchPerson';
-import { phoneEncryption } from '../../../utils/util';
-import Toast from 'tdesign-miniprogram/toast/index';
-
-Page({
- data: {
- personInfo: {
- avatarUrl: '',
- nickName: '',
- gender: 0,
- phoneNumber: '',
- },
- showUnbindConfirm: false,
- pickerOptions: [
- {
- name: '男',
- code: '1',
- },
- {
- name: '女',
- code: '2',
- },
- ],
- typeVisible: false,
- genderMap: ['', '男', '女'],
- },
- onLoad() {
- this.init();
- },
- init() {
- this.fetchData();
- },
- fetchData() {
- fetchPerson().then((personInfo) => {
- this.setData({
- personInfo,
- 'personInfo.phoneNumber': phoneEncryption(personInfo.phoneNumber),
- });
- });
- },
- onClickCell({ currentTarget }) {
- const { dataset } = currentTarget;
- const { nickName } = this.data.personInfo;
-
- switch (dataset.type) {
- case 'gender':
- this.setData({
- typeVisible: true,
- });
- break;
- case 'name':
- wx.navigateTo({
- url: `/pages/usercenter/name-edit/index?name=${nickName}`,
- });
- break;
- case 'avatarUrl':
- this.toModifyAvatar();
- break;
- default: {
- break;
- }
- }
- },
- onClose() {
- this.setData({
- typeVisible: false,
- });
- },
- onConfirm(e) {
- const { value } = e.detail;
- this.setData(
- {
- typeVisible: false,
- 'personInfo.gender': value,
- },
- () => {
- Toast({
- context: this,
- selector: '#t-toast',
- message: '设置成功',
- theme: 'success',
- });
- },
- );
- },
- async toModifyAvatar() {
- try {
- const tempFilePath = await new Promise((resolve, reject) => {
- wx.chooseImage({
- count: 1,
- sizeType: ['compressed'],
- sourceType: ['album', 'camera'],
- success: (res) => {
- const { path, size } = res.tempFiles[0];
- if (size <= 10485760) {
- resolve(path);
- } else {
- reject({ errMsg: '图片大小超出限制,请重新上传' });
- }
- },
- fail: (err) => reject(err),
- });
- });
- const tempUrlArr = tempFilePath.split('/');
- const tempFileName = tempUrlArr[tempUrlArr.length - 1];
- Toast({
- context: this,
- selector: '#t-toast',
- message: `已选择图片-${tempFileName}`,
- theme: 'success',
- });
- } catch (error) {
- if (error.errMsg === 'chooseImage:fail cancel') return;
- Toast({
- context: this,
- selector: '#t-toast',
- message: error.errMsg || error.msg || '修改头像出错了',
- theme: 'fail',
- });
- }
- },
-});
diff --git a/pages/usercenter/person-info/index.json b/pages/usercenter/person-info/index.json
deleted file mode 100644
index e63dcc5..0000000
--- a/pages/usercenter/person-info/index.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "navigationBarTitleText": "个人资料",
- "usingComponents": {
- "t-cell-group": "tdesign-miniprogram/cell-group/cell-group",
- "t-cell": "tdesign-miniprogram/cell/cell",
- "t-button": "tdesign-miniprogram/button/button",
- "t-image": "/components/webp-image/index",
- "t-dialog": "tdesign-miniprogram/dialog/dialog",
- "t-toast": "tdesign-miniprogram/toast/toast",
- "t-select-picker": "../components/ui-select-picker/index"
- }
-}
\ No newline at end of file
diff --git a/pages/usercenter/person-info/index.wxml b/pages/usercenter/person-info/index.wxml
deleted file mode 100644
index 2e460b1..0000000
--- a/pages/usercenter/person-info/index.wxml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- 切换账号登录
-
-
-
-
-
diff --git a/pages/usercenter/person-info/index.wxss b/pages/usercenter/person-info/index.wxss
deleted file mode 100644
index e1b5ea1..0000000
--- a/pages/usercenter/person-info/index.wxss
+++ /dev/null
@@ -1,41 +0,0 @@
-:host {
- background-color: #f5f5f5;
-}
-page view {
- box-sizing: border-box;
-}
-.person-info__btn {
- width: 100%;
- border: 2rpx solid #ddd;
- border-radius: 48rpx;
- padding: 18rpx 0;
- display: flex;
- align-self: center;
- justify-content: center;
-}
-.person-info__wrapper {
- width: 100%;
- padding: 0 32rpx;
- padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
- position: absolute;
- bottom: 0;
- left: 0;
-}
-
-.avatarUrl {
- width: 80rpx;
- height: 80rpx;
- border-radius: 50%;
- overflow: hidden;
-}
-
-.t-class-confirm {
- color: #fa550f !important;
-}
-
-.person-info .order-group__left {
- margin-right: 0;
-}
-.person-info .t-cell-class {
- height: 112rpx;
-}
diff --git a/services/_utils/pdf.js b/services/_utils/pdf.js
new file mode 100644
index 0000000..13173fc
--- /dev/null
+++ b/services/_utils/pdf.js
@@ -0,0 +1,32 @@
+export function openPDF(path) {
+ wx.downloadFile({
+ url: path, //示例的url地址
+ success: function (resinfo) {
+ console.log("pdf协议文件已下载")
+ let path = resinfo.tempFilePath;
+ console.log(path, resinfo)
+ wx.openDocument({
+ filePath: path,
+ fileType: 'pdf',
+ success: function (rest) {
+ console.log('打开文件成功')
+ console.log(rest);
+ },
+ fail: function (error) {
+ wx.showToast({
+ icon: 'none',
+ title: '打开文件失败'
+ });
+ },
+ })
+ },
+ fail: function (err) {
+ console.log('fail')
+ console.log(err)
+ wx.showToast({
+ icon: 'none',
+ title: '下载文件失败'
+ });
+ }
+ })
+}
\ No newline at end of file
diff --git a/services/activity/fetchActivity.js b/services/activity/fetchActivity.js
deleted file mode 100644
index e9aefa6..0000000
--- a/services/activity/fetchActivity.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取活动列表 */
-function mockFetchActivity(ID = 0) {
- const { delay } = require('../_utils/delay');
- const { getActivity } = require('../../model/activity');
-
- return delay().then(() => getActivity(ID));
-}
-
-/** 获取活动列表 */
-export function fetchActivity(ID = 0) {
- if (config.useMock) {
- return mockFetchActivity(ID);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/activity/fetchActivityList.js b/services/activity/fetchActivityList.js
deleted file mode 100644
index 2522aff..0000000
--- a/services/activity/fetchActivityList.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取活动列表 */
-function mockFetchActivityList(pageIndex = 1, pageSize = 20) {
- const { delay } = require('../_utils/delay');
- const { getActivityList } = require('../../model/activities');
-
- return delay().then(() => getActivityList(pageIndex, pageSize));
-}
-
-/** 获取活动列表 */
-export function fetchActivityList(pageIndex = 1, pageSize = 20) {
- if (config.useMock) {
- return mockFetchActivityList(pageIndex, pageSize);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/address/fetchAddress.js b/services/address/fetchAddress.js
deleted file mode 100644
index 9525ab0..0000000
--- a/services/address/fetchAddress.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取收货地址 */
-function mockFetchDeliveryAddress(id) {
- const { delay } = require('../_utils/delay');
- const { genAddress } = require('../../model/address');
-
- return delay().then(() => genAddress(id));
-}
-
-/** 获取收货地址 */
-export function fetchDeliveryAddress(id = 0) {
- if (config.useMock) {
- return mockFetchDeliveryAddress(id);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 获取收货地址列表 */
-function mockFetchDeliveryAddressList(len = 0) {
- const { delay } = require('../_utils/delay');
- const { genAddressList } = require('../../model/address');
-
- return delay().then(() =>
- genAddressList(len).map((address) => {
- return {
- ...address,
- phoneNumber: address.phone,
- address: `${address.provinceName}${address.cityName}${address.districtName}${address.detailAddress}`,
- tag: address.addressTag,
- };
- }),
- );
-}
-
-/** 获取收货地址列表 */
-export function fetchDeliveryAddressList(len = 10) {
- if (config.useMock) {
- return mockFetchDeliveryAddressList(len);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/api/article.js b/services/api/article.js
new file mode 100644
index 0000000..fd8d43b
--- /dev/null
+++ b/services/api/article.js
@@ -0,0 +1,19 @@
+import {
+ request
+} from './request'
+
+export function articleList(params) {
+ return request({
+ path: '/system/article/list',
+ params: params,
+ method: 'GET'
+ });
+}
+
+export function articleQuery(params) {
+ return request({
+ path: '/system/article',
+ params: params,
+ method: 'GET'
+ });
+}
\ No newline at end of file
diff --git a/services/api/request.js b/services/api/request.js
index a5b0277..cd87a63 100644
--- a/services/api/request.js
+++ b/services/api/request.js
@@ -5,13 +5,29 @@ import {
getToken,
isLogin
} from '../permission/login'
+
+const unsaveInterface = [
+ '/wx/login',
+ '/system/article/list'
+]
+
+function unsaveCheck(path) {
+ for (let index = 0; index < unsaveInterface.length; index++) {
+ const element = unsaveInterface[index];
+ if (element == path) {
+ return false
+ }
+ }
+ return true
+}
+
export function request({
path,
params,
method
}) {
return new Promise((resolve, reject) => {
- if (getToken() == '' && path != '/wx/login') {
+ if (getToken() == '' && unsaveCheck(path)) {
wx.showToast({
title: '请登录后再次尝试。',
icon: 'error',
diff --git a/services/api/session.js b/services/api/session.js
index 8e88014..1777508 100644
--- a/services/api/session.js
+++ b/services/api/session.js
@@ -82,4 +82,12 @@ export function sessionChangeStandard(params) {
params: params,
method: 'GET'
});
+}
+
+export function sessionAdditiveAdd(params) {
+ return request({
+ path: '/session/additive/add',
+ params: params,
+ method: 'POST'
+ });
}
\ No newline at end of file
diff --git a/services/cart/cart.js b/services/cart/cart.js
deleted file mode 100644
index d42f959..0000000
--- a/services/cart/cart.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取购物车mock数据 */
-function mockFetchCartGroupData(params) {
- const { delay } = require('../_utils/delay');
- const { genCartGroupData } = require('../../model/cart');
-
- return delay().then(() => genCartGroupData(params));
-}
-
-/** 获取购物车数据 */
-export function fetchCartGroupData(params) {
- if (config.useMock) {
- return mockFetchCartGroupData(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/comments/fetchComments.js b/services/comments/fetchComments.js
deleted file mode 100644
index 9bd1155..0000000
--- a/services/comments/fetchComments.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取商品评论 */
-function mockFetchComments(parmas) {
- const { delay } = require('../_utils/delay');
- const { getGoodsAllComments } = require('../../model/comments');
- return delay().then(() => getGoodsAllComments(parmas));
-}
-
-/** 获取商品评论 */
-export function fetchComments(parmas) {
- if (config.useMock) {
- return mockFetchComments(parmas);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/comments/fetchCommentsCount.js b/services/comments/fetchCommentsCount.js
deleted file mode 100644
index cbb09d0..0000000
--- a/services/comments/fetchCommentsCount.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取商品评论数 */
-function mockFetchCommentsCount(ID = 0) {
- const { delay } = require('../_utils/delay');
- const { getGoodsCommentsCount } = require('../../model/comments');
- return delay().then(() => getGoodsCommentsCount(ID));
-}
-
-/** 获取商品评论数 */
-export function fetchCommentsCount(ID = 0) {
- if (config.useMock) {
- return mockFetchCommentsCount(ID);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/coupon/index.js b/services/coupon/index.js
deleted file mode 100644
index a0010e0..0000000
--- a/services/coupon/index.js
+++ /dev/null
@@ -1,65 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取优惠券列表 */
-function mockFetchCoupon(status) {
- const { delay } = require('../_utils/delay');
- const { getCouponList } = require('../../model/coupon');
- return delay().then(() => getCouponList(status));
-}
-
-/** 获取优惠券列表 */
-export function fetchCouponList(status = 'default') {
- if (config.useMock) {
- return mockFetchCoupon(status);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 获取优惠券 详情 */
-function mockFetchCouponDetail(id, status) {
- const { delay } = require('../_utils/delay');
- const { getCoupon } = require('../../model/coupon');
- const { genAddressList } = require('../../model/address');
-
- return delay().then(() => {
- const result = {
- detail: getCoupon(id, status),
- storeInfoList: genAddressList(),
- };
-
- result.detail.useNotes = `1个订单限用1张,除运费券外,不能与其它类型的优惠券叠加使用(运费券除外)\n2.仅适用于各区域正常售卖商品,不支持团购、抢购、预售类商品`;
- result.detail.storeAdapt = `商城通用`;
-
- if (result.detail.type === 'price') {
- result.detail.desc = `减免 ${result.detail.value / 100} 元`;
-
- if (result.detail.base) {
- result.detail.desc += `,满${result.detail.base / 100}元可用`;
- }
-
- result.detail.desc += '。';
- } else if (result.detail.type === 'discount') {
- result.detail.desc = `${result.detail.value}折`;
-
- if (result.detail.base) {
- result.detail.desc += `,满${result.detail.base / 100}元可用`;
- }
-
- result.detail.desc += '。';
- }
-
- return result;
- });
-}
-
-/** 获取优惠券 详情 */
-export function fetchCouponDetail(id, status = 'default') {
- if (config.useMock) {
- return mockFetchCouponDetail(id, status);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/comments/fetchCommentDetail.js b/services/good/comments/fetchCommentDetail.js
deleted file mode 100644
index fce338d..0000000
--- a/services/good/comments/fetchCommentDetail.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import { config } from '../../../config/index';
-import { queryCommentDetail } from '../../../model/comments/queryDetail';
-/** 获取商品评价数据 */
-function mockQueryCommentDetail(params) {
- const { delay } = require('../../_utils/delay');
- const data = queryCommentDetail(params);
- return delay().then(() => {
- return data;
- });
-}
-
-/** 获取评价详情 */
-export function getCommentDetail(params) {
- if (config.useMock) {
- return mockQueryCommentDetail(params);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/featchSearchResult.js b/services/good/featchSearchResult.js
deleted file mode 100644
index 5b42851..0000000
--- a/services/good/featchSearchResult.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/* eslint-disable no-param-reassign */
-import { config } from '../../config/index';
-
-/** 获取搜索历史 */
-function mockSearchResult(params) {
- const { delay } = require('../_utils/delay');
- const { getSearchResult } = require('../../model/search');
-
- const data = getSearchResult(params);
-
- if (data.spuList.length) {
- data.spuList.forEach((item) => {
- item.spuId = item.spuId;
- item.thumb = item.primaryImage;
- item.title = item.title;
- item.price = item.minSalePrice;
- item.originPrice = item.maxLinePrice;
- if (item.spuTagList) {
- item.tags = item.spuTagList.map((tag) => ({ title: tag.title }));
- } else {
- item.tags = [];
- }
- });
- }
- return delay().then(() => {
- return data;
- });
-}
-
-/** 获取搜索历史 */
-export function getSearchResult(params) {
- if (config.useMock) {
- return mockSearchResult(params);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/fetchCategoryList.js b/services/good/fetchCategoryList.js
deleted file mode 100644
index adf6ba4..0000000
--- a/services/good/fetchCategoryList.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取商品列表 */
-function mockFetchGoodCategory() {
- const { delay } = require('../_utils/delay');
- const { getCategoryList } = require('../../model/category');
- return delay().then(() => getCategoryList());
-}
-
-/** 获取商品列表 */
-export function getCategoryList() {
- if (config.useMock) {
- return mockFetchGoodCategory();
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/fetchGood.js b/services/good/fetchGood.js
deleted file mode 100644
index 7a196d4..0000000
--- a/services/good/fetchGood.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取商品列表 */
-function mockFetchGood(ID = 0) {
- const { delay } = require('../_utils/delay');
- const { genGood } = require('../../model/good');
- return delay().then(() => genGood(ID));
-}
-
-/** 获取商品列表 */
-export function fetchGood(ID = 0) {
- if (config.useMock) {
- return mockFetchGood(ID);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/fetchGoods.js b/services/good/fetchGoods.js
deleted file mode 100644
index 16618c8..0000000
--- a/services/good/fetchGoods.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取商品列表 */
-function mockFetchGoodsList(pageIndex = 1, pageSize = 20) {
- const { delay } = require('../_utils/delay');
- const { getGoodsList } = require('../../model/goods');
- return delay().then(() =>
- getGoodsList(pageIndex, pageSize).map((item) => {
- return {
- spuId: item.spuId,
- thumb: item.primaryImage,
- title: item.title,
- price: item.minSalePrice,
- originPrice: item.maxLinePrice,
- tags: item.spuTagList.map((tag) => tag.title),
- };
- }),
- );
-}
-
-/** 获取商品列表 */
-export function fetchGoodsList(pageIndex = 1, pageSize = 20) {
- if (config.useMock) {
- return mockFetchGoodsList(pageIndex, pageSize);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/fetchGoodsDetailsComments.js b/services/good/fetchGoodsDetailsComments.js
deleted file mode 100644
index 95a11c4..0000000
--- a/services/good/fetchGoodsDetailsComments.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取商品详情页评论数 */
-function mockFetchGoodDetailsCommentsCount(spuId = 0) {
- const { delay } = require('../_utils/delay');
- const {
- getGoodsDetailsCommentsCount,
- } = require('../../model/detailsComments');
- return delay().then(() => getGoodsDetailsCommentsCount(spuId));
-}
-
-/** 获取商品详情页评论数 */
-export function getGoodsDetailsCommentsCount(spuId = 0) {
- if (config.useMock) {
- return mockFetchGoodDetailsCommentsCount(spuId);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 获取商品详情页评论 */
-function mockFetchGoodDetailsCommentList(spuId = 0) {
- const { delay } = require('../_utils/delay');
- const { getGoodsDetailsComments } = require('../../model/detailsComments');
- return delay().then(() => getGoodsDetailsComments(spuId));
-}
-
-/** 获取商品详情页评论 */
-export function getGoodsDetailsCommentList(spuId = 0) {
- if (config.useMock) {
- return mockFetchGoodDetailsCommentList(spuId);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/fetchGoodsList.js b/services/good/fetchGoodsList.js
deleted file mode 100644
index 1650b9b..0000000
--- a/services/good/fetchGoodsList.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/* eslint-disable no-param-reassign */
-import { config } from '../../config/index';
-
-/** 获取商品列表 */
-function mockFetchGoodsList(params) {
- const { delay } = require('../_utils/delay');
- const { getSearchResult } = require('../../model/search');
-
- const data = getSearchResult(params);
-
- if (data.spuList.length) {
- data.spuList.forEach((item) => {
- item.spuId = item.spuId;
- item.thumb = item.primaryImage;
- item.title = item.title;
- item.price = item.minSalePrice;
- item.originPrice = item.maxLinePrice;
- item.desc = '';
- if (item.spuTagList) {
- item.tags = item.spuTagList.map((tag) => tag.title);
- } else {
- item.tags = [];
- }
- });
- }
- return delay().then(() => {
- return data;
- });
-}
-
-/** 获取商品列表 */
-export function fetchGoodsList(params) {
- if (config.useMock) {
- return mockFetchGoodsList(params);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/good/fetchSearchHistory.js b/services/good/fetchSearchHistory.js
deleted file mode 100644
index 3a73963..0000000
--- a/services/good/fetchSearchHistory.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取搜索历史 */
-function mockSearchHistory() {
- const { delay } = require('../_utils/delay');
- const { getSearchHistory } = require('../../model/search');
- return delay().then(() => getSearchHistory());
-}
-
-/** 获取搜索历史 */
-export function getSearchHistory() {
- if (config.useMock) {
- return mockSearchHistory();
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 获取搜索历史 */
-function mockSearchPopular() {
- const { delay } = require('../_utils/delay');
- const { getSearchPopular } = require('../../model/search');
- return delay().then(() => getSearchPopular());
-}
-
-/** 获取搜索历史 */
-export function getSearchPopular() {
- if (config.useMock) {
- return mockSearchPopular();
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/home/home.js b/services/home/home.js
index 7d4469d..6e541c4 100644
--- a/services/home/home.js
+++ b/services/home/home.js
@@ -1,42 +1,19 @@
-import { config, cdnBase } from '../../config/index';
+import {
+ config,
+ cdnBase
+} from '../../config/index';
/** 获取首页数据 */
function mockFetchHome() {
- const { delay } = require('../_utils/delay');
- const { genSwiperImageList } = require('../../model/swiper');
+ const {
+ delay
+ } = require('../_utils/delay');
+ const {
+ genSwiperImageList
+ } = require('../../model/swiper');
return delay().then(() => {
return {
swiper: genSwiperImageList(),
- tabList: [
- {
- text: '精选推荐',
- key: 0,
- },
- {
- text: '夏日防晒',
- key: 1,
- },
- {
- text: '二胎大作战',
- key: 2,
- },
- {
- text: '人气榜',
- key: 3,
- },
- {
- text: '好评榜',
- key: 4,
- },
- {
- text: 'RTX 30',
- key: 5,
- },
- {
- text: '手机也疯狂',
- key: 6,
- },
- ],
activityImg: `${cdnBase}/activity/banner.png`,
};
});
@@ -50,4 +27,4 @@ export function fetchHome() {
return new Promise((resolve) => {
resolve('real api');
});
-}
+}
\ No newline at end of file
diff --git a/services/order/applyService.js b/services/order/applyService.js
deleted file mode 100644
index c66930a..0000000
--- a/services/order/applyService.js
+++ /dev/null
@@ -1,70 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取售后单mock数据 */
-function mockFetchRightsPreview(params) {
- const { delay } = require('../_utils/delay');
- const { genRightsPreview } = require('../../model/order/applyService');
-
- return delay().then(() => genRightsPreview(params));
-}
-
-/** 获取售后单数据 */
-export function fetchRightsPreview(params) {
- if (config.useMock) {
- return mockFetchRightsPreview(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 确认收货 */
-export function dispatchConfirmReceived() {
- if (config.useMock) {
- const { delay } = require('../_utils/delay');
- return delay();
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 获取可选的mock售后原因列表 */
-function mockFetchApplyReasonList(params) {
- const { delay } = require('../_utils/delay');
- const { genApplyReasonList } = require('../../model/order/applyService');
-
- return delay().then(() => genApplyReasonList(params));
-}
-
-/** 获取可选的售后原因列表 */
-export function fetchApplyReasonList(params) {
- if (config.useMock) {
- return mockFetchApplyReasonList(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 发起mock售后申请 */
-function mockDispatchApplyService(params) {
- const { delay } = require('../_utils/delay');
- const { applyService } = require('../../model/order/applyService');
-
- return delay().then(() => applyService(params));
-}
-
-/** 发起售后申请 */
-export function dispatchApplyService(params) {
- if (config.useMock) {
- return mockDispatchApplyService(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/order/orderConfirm.js b/services/order/orderConfirm.js
deleted file mode 100644
index 4d34744..0000000
--- a/services/order/orderConfirm.js
+++ /dev/null
@@ -1,69 +0,0 @@
-import { config } from '../../config/index';
-import { mockIp, mockReqId } from '../../utils/mock';
-
-/** 获取结算mock数据 */
-function mockFetchSettleDetail(params) {
- const { delay } = require('../_utils/delay');
- const { genSettleDetail } = require('../../model/order/orderConfirm');
-
- return delay().then(() => genSettleDetail(params));
-}
-
-/** 提交mock订单 */
-function mockDispatchCommitPay() {
- const { delay } = require('../_utils/delay');
-
- return delay().then(() => ({
- data: {
- isSuccess: true,
- tradeNo: '350930961469409099',
- payInfo: '{}',
- code: null,
- transactionId: 'E-200915180100299000',
- msg: null,
- interactId: '15145',
- channel: 'wechat',
- limitGoodsList: null,
- },
- code: 'Success',
- msg: null,
- requestId: mockReqId(),
- clientIp: mockIp(),
- rt: 891,
- success: true,
- }));
-}
-
-/** 获取结算数据 */
-export function fetchSettleDetail(params) {
- if (config.useMock) {
- return mockFetchSettleDetail(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/* 提交订单 */
-export function dispatchCommitPay(params) {
- if (config.useMock) {
- return mockDispatchCommitPay(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 开发票 */
-export function dispatchSupplementInvoice() {
- if (config.useMock) {
- const { delay } = require('../_utils/delay');
- return delay();
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/order/orderDetail.js b/services/order/orderDetail.js
deleted file mode 100644
index 3e7d797..0000000
--- a/services/order/orderDetail.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取订单详情mock数据 */
-function mockFetchOrderDetail(params) {
- const { delay } = require('../_utils/delay');
- const { genOrderDetail } = require('../../model/order/orderDetail');
-
- return delay().then(() => genOrderDetail(params));
-}
-
-/** 获取订单详情数据 */
-export function fetchOrderDetail(params) {
- if (config.useMock) {
- return mockFetchOrderDetail(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 获取客服mock数据 */
-function mockFetchBusinessTime(params) {
- const { delay } = require('../_utils/delay');
- const { genBusinessTime } = require('../../model/order/orderDetail');
-
- return delay().then(() => genBusinessTime(params));
-}
-
-/** 获取客服数据 */
-export function fetchBusinessTime(params) {
- if (config.useMock) {
- return mockFetchBusinessTime(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/order/orderList.js b/services/order/orderList.js
deleted file mode 100644
index f4a9e7a..0000000
--- a/services/order/orderList.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取订单列表mock数据 */
-function mockFetchOrders(params) {
- const { delay } = require('../_utils/delay');
- const { genOrders } = require('../../model/order/orderList');
-
- return delay(200).then(() => genOrders(params));
-}
-
-/** 获取订单列表数据 */
-export function fetchOrders(params) {
- if (config.useMock) {
- return mockFetchOrders(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
-
-/** 获取订单列表mock数据 */
-function mockFetchOrdersCount(params) {
- const { delay } = require('../_utils/delay');
- const { genOrdersCount } = require('../../model/order/orderList');
-
- return delay().then(() => genOrdersCount(params));
-}
-
-/** 获取订单列表统计 */
-export function fetchOrdersCount(params) {
- if (config.useMock) {
- return mockFetchOrdersCount(params);
- }
-
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/order/orderSubmitComment.js b/services/order/orderSubmitComment.js
deleted file mode 100644
index 5e3ea36..0000000
--- a/services/order/orderSubmitComment.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取评价商品 */
-function mockGetGoods(parameter) {
- const { delay } = require('../_utils/delay');
- const { getGoods } = require('../../model/submitComment');
- const data = getGoods(parameter);
-
- return delay().then(() => {
- return data;
- });
-}
-
-/** 获取评价商品 */
-export function getGoods(parameter) {
- if (config.useMock) {
- return mockGetGoods(parameter);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/promotion/detail.js b/services/promotion/detail.js
deleted file mode 100644
index 841f723..0000000
--- a/services/promotion/detail.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取商品列表 */
-function mockFetchPromotion(ID = 0) {
- const { delay } = require('../_utils/delay');
- const { getPromotion } = require('../../model/promotion');
- return delay().then(() => getPromotion(ID));
-}
-
-/** 获取商品列表 */
-export function fetchPromotion(ID = 0) {
- if (config.useMock) {
- return mockFetchPromotion(ID);
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/usercenter/fetchPerson.js b/services/usercenter/fetchPerson.js
deleted file mode 100644
index bd31178..0000000
--- a/services/usercenter/fetchPerson.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取个人中心信息 */
-function mockFetchPerson() {
- const { delay } = require('../_utils/delay');
- const { genSimpleUserInfo } = require('../../model/usercenter');
- const { genAddress } = require('../../model/address');
- const address = genAddress();
- return delay().then(() => ({
- ...genSimpleUserInfo(),
- address: {
- provinceName: address.provinceName,
- provinceCode: address.provinceCode,
- cityName: address.cityName,
- cityCode: address.cityCode,
- },
- }));
-}
-
-/** 获取个人中心信息 */
-export function fetchPerson() {
- if (config.useMock) {
- return mockFetchPerson();
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/services/usercenter/fetchUsercenter.js b/services/usercenter/fetchUsercenter.js
deleted file mode 100644
index b187644..0000000
--- a/services/usercenter/fetchUsercenter.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { config } from '../../config/index';
-
-/** 获取个人中心信息 */
-function mockFetchUserCenter() {
- const { delay } = require('../_utils/delay');
- const { genUsercenter } = require('../../model/usercenter');
- return delay(200).then(() => genUsercenter());
-}
-
-/** 获取个人中心信息 */
-export function fetchUserCenter() {
- if (config.useMock) {
- return mockFetchUserCenter();
- }
- return new Promise((resolve) => {
- resolve('real api');
- });
-}
diff --git a/utils/addressParse.js b/utils/addressParse.js
deleted file mode 100644
index 23b6cd0..0000000
--- a/utils/addressParse.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { areaData } from '../config/index';
-
-const addressParse = (provinceName, cityName, countryName) => {
- return new Promise((resolve, reject) => {
- try {
- const province = areaData.find((v) => v.name === provinceName);
- const { code: provinceCode } = province;
- const city = province.children.find((v) => v.name === cityName);
- const { code: cityCode } = city;
- const country = city.children.find((v) => v.name === countryName);
- const { code: districtCode } = country;
- resolve({
- provinceCode,
- cityCode,
- districtCode,
- });
- } catch (error) {
- reject('地址解析失败');
- }
- });
-};
-
-module.exports = {
- addressParse,
-};
diff --git a/utils/getPermission.js b/utils/getPermission.js
deleted file mode 100644
index e6a64cb..0000000
--- a/utils/getPermission.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const getPermission = ({ code, name }) => {
- return new Promise((resolve, reject) => {
- wx.getSetting({
- success: (res) => {
- if (res.authSetting[code] === false) {
- wx.showModal({
- title: `获取${name}失败`,
- content: `获取${name}失败,请在【右上角】-小程序【设置】项中,将【${name}】开启。`,
- confirmText: '去设置',
- confirmColor: '#FA550F',
- cancelColor: '取消',
- success(res) {
- if (res.confirm) {
- wx.openSetting({
- success(settinRes) {
- if (settinRes.authSetting[code] === true) {
- resolve();
- } else {
- console.warn('用户未打开权限', name, code);
- reject();
- }
- },
- });
- } else {
- reject();
- }
- },
- fail() {
- reject();
- },
- });
- } else {
- resolve();
- }
- },
- fail() {
- reject();
- },
- });
- });
-};
-
-module.exports = {
- getPermission,
-};
diff --git a/utils/mock.js b/utils/mock.js
deleted file mode 100644
index 27f13e8..0000000
--- a/utils/mock.js
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * 随机打散字符串
- * @param {number} n 长度
- * @param {string} str 字符串
- * @returns
- */
-function generateMixed(n, str) {
- var res = '';
- for (var i = 0; i < n; i++) {
- var id = Math.ceil(Math.random() * 35);
- res += str[id];
- }
- return res;
-}
-
-/**
- * 生成随机数
- * @param {number} min 最小值
- * @param {number} max 最大值
- * @returns
- */
-function getRandomNum(min, max) {
- var range = max - min;
- var rand = Math.random();
- return min + Math.round(rand * range);
-}
-
-/**
- * 生成随机IP
- * @returns
- */
-function mockIp() {
- return `10.${getRandomNum(1, 254)}.${getRandomNum(1, 254)}.${getRandomNum(
- 1,
- 254,
- )}`;
-}
-
-function mockReqId() {
- return `${getRandomNum(100000, 999999)}.${new Date().valueOf()}${getRandomNum(
- 1000,
- 9999,
- )}.${getRandomNum(10000000, 99999999)}`;
-}
-
-module.exports = {
- generateMixed,
- mockIp,
- mockReqId,
- getRandomNum,
-};
diff --git a/utils/util.js b/utils/util.js
deleted file mode 100644
index 4f0ec66..0000000
--- a/utils/util.js
+++ /dev/null
@@ -1,133 +0,0 @@
-import dayjs from 'dayjs';
-
-const formatTime = (date, template) => dayjs(date).format(template);
-
-/**
- * 格式化价格数额为字符串
- * 可对小数部分进行填充,默认不填充
- * @param price 价格数额,以分为单位!
- * @param fill 是否填充小数部分 0-不填充 1-填充第一位小数 2-填充两位小数
- */
-function priceFormat(price, fill = 0) {
- if (isNaN(price) || price === null || price === Infinity) {
- return price;
- }
-
- let priceFormatValue = Math.round(parseFloat(`${price}`) * 10 ** 8) / 10 ** 8; // 恢复精度丢失
- priceFormatValue = `${Math.ceil(priceFormatValue) / 100}`; // 向上取整,单位转换为元,转换为字符串
- if (fill > 0) {
- // 补充小数位数
- if (priceFormatValue.indexOf('.') === -1) {
- priceFormatValue = `${priceFormatValue}.`;
- }
- const n = fill - priceFormatValue.split('.')[1]?.length;
- for (let i = 0; i < n; i++) {
- priceFormatValue = `${priceFormatValue}0`;
- }
- }
- return priceFormatValue;
-}
-
-/**
- * 获取cdn裁剪后链接
- *
- * @param {string} url 基础链接
- * @param {number} width 宽度,单位px
- * @param {number} [height] 可选,高度,不填时与width同值
- */
-const cosThumb = (url, width, height = width) => {
- if (url.indexOf('?') > -1) {
- return url;
- }
-
- if (url.indexOf('http://') === 0) {
- url = url.replace('http://', 'https://');
- }
-
- return `${url}?imageMogr2/thumbnail/${~~width}x${~~height}`;
-};
-
-const get = (source, paths, defaultValue) => {
- if (typeof paths === 'string') {
- paths = paths
- .replace(/\[/g, '.')
- .replace(/\]/g, '')
- .split('.')
- .filter(Boolean);
- }
- const { length } = paths;
- let index = 0;
- while (source != null && index < length) {
- source = source[paths[index++]];
- }
- return source === undefined || index === 0 ? defaultValue : source;
-};
-let systemWidth = 0;
-/** 获取系统宽度,为了减少启动消耗所以在函数里边做初始化 */
-export const loadSystemWidth = () => {
- if (systemWidth) {
- return systemWidth;
- }
-
- try {
- ({ screenWidth: systemWidth, pixelRatio } = wx.getSystemInfoSync());
- } catch (e) {
- systemWidth = 0;
- }
- return systemWidth;
-};
-
-/**
- * 转换rpx为px
- *
- * @description
- * 什么时候用?
- * - 布局(width: 172rpx)已经写好, 某些组件只接受px作为style或者prop指定
- *
- */
-const rpx2px = (rpx, round = false) => {
- loadSystemWidth();
-
- // px / systemWidth = rpx / 750
- const result = (rpx * systemWidth) / 750;
-
- if (round) {
- return Math.floor(result);
- }
-
- return result;
-};
-
-/**
- * 手机号码*加密函数
- * @param {string} phone 电话号
- * @returns
- */
-const phoneEncryption = (phone) => {
- return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
-};
-
-// 内置手机号正则字符串
-const innerPhoneReg =
- '^1(?:3\\d|4[4-9]|5[0-35-9]|6[67]|7[0-8]|8\\d|9\\d)\\d{8}$';
-
-/**
- * 手机号正则校验
- * @param phone 手机号
- * @param phoneReg 正则字符串
- * @returns true - 校验通过 false - 校验失败
- */
-const phoneRegCheck = (phone) => {
- const phoneRegExp = new RegExp(innerPhoneReg);
- return phoneRegExp.test(phone);
-};
-
-module.exports = {
- formatTime,
- priceFormat,
- cosThumb,
- get,
- rpx2px,
- phoneEncryption,
- phoneRegCheck,
-};