create-weapp-vite 2.0.32 → 2.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +0 -1
  2. package/dist/{chunk-IT75MAH3.js → chunk-MXKCD6NA.js} +2 -3
  3. package/dist/cli.js +1 -5
  4. package/dist/index.d.ts +0 -1
  5. package/dist/index.js +1 -1
  6. package/package.json +2 -2
  7. package/templates/wevu/package.json +1 -1
  8. package/templates/wevu-tdesign/package.json +1 -1
  9. package/templates/wevu-retail/.editorconfig +0 -9
  10. package/templates/wevu-retail/.vscode/settings.json +0 -10
  11. package/templates/wevu-retail/AGENTS.md +0 -35
  12. package/templates/wevu-retail/README.md +0 -26
  13. package/templates/wevu-retail/auto-import-components.json +0 -1
  14. package/templates/wevu-retail/gitignore +0 -35
  15. package/templates/wevu-retail/package.json +0 -42
  16. package/templates/wevu-retail/postcss.config.js +0 -6
  17. package/templates/wevu-retail/project.config.json +0 -44
  18. package/templates/wevu-retail/project.private.config.json +0 -8
  19. package/templates/wevu-retail/src/app.vue +0 -104
  20. package/templates/wevu-retail/src/common/updateManager.ts +0 -29
  21. package/templates/wevu-retail/src/components/filter/index.vue +0 -134
  22. package/templates/wevu-retail/src/components/filter-popup/index.vue +0 -67
  23. package/templates/wevu-retail/src/components/goods-card/index.vue +0 -219
  24. package/templates/wevu-retail/src/components/goods-list/index.vue +0 -91
  25. package/templates/wevu-retail/src/components/load-more/index.vue +0 -99
  26. package/templates/wevu-retail/src/components/loading-content/index.vue +0 -48
  27. package/templates/wevu-retail/src/components/price/index.vue +0 -104
  28. package/templates/wevu-retail/src/components/promotion/ui-coupon-card/index.vue +0 -143
  29. package/templates/wevu-retail/src/components/promotion/ui-coupon-card/tools.wxs +0 -18
  30. package/templates/wevu-retail/src/components/swipeout/index.vue +0 -118
  31. package/templates/wevu-retail/src/components/swipeout/swipe.wxs +0 -151
  32. package/templates/wevu-retail/src/components/webp-image/index.vue +0 -105
  33. package/templates/wevu-retail/src/components/webp-image/utils.wxs +0 -140
  34. package/templates/wevu-retail/src/config/index.ts +0 -20437
  35. package/templates/wevu-retail/src/custom-tab-bar/data.ts +0 -22
  36. package/templates/wevu-retail/src/custom-tab-bar/index.vue +0 -62
  37. package/templates/wevu-retail/src/model/activities.ts +0 -7
  38. package/templates/wevu-retail/src/model/activity.ts +0 -18
  39. package/templates/wevu-retail/src/model/address.ts +0 -31
  40. package/templates/wevu-retail/src/model/cart.ts +0 -306
  41. package/templates/wevu-retail/src/model/category.ts +0 -175
  42. package/templates/wevu-retail/src/model/comments/queryDetail.ts +0 -50
  43. package/templates/wevu-retail/src/model/comments.ts +0 -298
  44. package/templates/wevu-retail/src/model/coupon.ts +0 -39
  45. package/templates/wevu-retail/src/model/detailsComments.ts +0 -30
  46. package/templates/wevu-retail/src/model/good.ts +0 -1904
  47. package/templates/wevu-retail/src/model/goods.ts +0 -7
  48. package/templates/wevu-retail/src/model/order/applyService.ts +0 -329
  49. package/templates/wevu-retail/src/model/order/orderConfirm.ts +0 -147
  50. package/templates/wevu-retail/src/model/order/orderDetail.ts +0 -1191
  51. package/templates/wevu-retail/src/model/order/orderList.ts +0 -1033
  52. package/templates/wevu-retail/src/model/promotion.ts +0 -20
  53. package/templates/wevu-retail/src/model/search.ts +0 -60
  54. package/templates/wevu-retail/src/model/submitComment.ts +0 -58
  55. package/templates/wevu-retail/src/model/swiper.ts +0 -39
  56. package/templates/wevu-retail/src/model/usercenter.ts +0 -52
  57. package/templates/wevu-retail/src/pages/cart/components/cart-bar/index.vue +0 -104
  58. package/templates/wevu-retail/src/pages/cart/components/cart-empty/index.vue +0 -41
  59. package/templates/wevu-retail/src/pages/cart/components/cart-group/index.vue +0 -333
  60. package/templates/wevu-retail/src/pages/cart/components/cart-group/index.wxs +0 -5
  61. package/templates/wevu-retail/src/pages/cart/components/cart-group/utils.wxs +0 -20
  62. package/templates/wevu-retail/src/pages/cart/components/goods-card/index.vue +0 -334
  63. package/templates/wevu-retail/src/pages/cart/components/specs-popup/index.vue +0 -100
  64. package/templates/wevu-retail/src/pages/cart/index.vue +0 -342
  65. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/README.md +0 -95
  66. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.vue +0 -73
  67. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/index.vue +0 -121
  68. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.vue +0 -74
  69. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-tabbar/index.vue +0 -102
  70. package/templates/wevu-retail/src/pages/category/components/goods-category/index.vue +0 -137
  71. package/templates/wevu-retail/src/pages/category/index.vue +0 -50
  72. package/templates/wevu-retail/src/pages/coupon/components/coupon-card/index.vue +0 -95
  73. package/templates/wevu-retail/src/pages/coupon/components/floating-button/index.vue +0 -44
  74. package/templates/wevu-retail/src/pages/coupon/coupon-activity-goods/index.vue +0 -135
  75. package/templates/wevu-retail/src/pages/coupon/coupon-detail/index.vue +0 -94
  76. package/templates/wevu-retail/src/pages/coupon/coupon-list/index.vue +0 -136
  77. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/images-videos/assets/play.png +0 -0
  78. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/images-videos/index.vue +0 -65
  79. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/my-video/index.vue +0 -92
  80. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/index.vue +0 -93
  81. package/templates/wevu-retail/src/pages/goods/comments/create/index.vue +0 -196
  82. package/templates/wevu-retail/src/pages/goods/comments/index.vue +0 -293
  83. package/templates/wevu-retail/src/pages/goods/details/components/buy-bar/index.vue +0 -117
  84. package/templates/wevu-retail/src/pages/goods/details/components/goods-specs-popup/index.vue +0 -440
  85. package/templates/wevu-retail/src/pages/goods/details/components/promotion-popup/index.vue +0 -83
  86. package/templates/wevu-retail/src/pages/goods/details/index.vue +0 -598
  87. package/templates/wevu-retail/src/pages/goods/list/index.vue +0 -299
  88. package/templates/wevu-retail/src/pages/goods/result/index.vue +0 -350
  89. package/templates/wevu-retail/src/pages/goods/search/index.vue +0 -196
  90. package/templates/wevu-retail/src/pages/home/home.vue +0 -215
  91. package/templates/wevu-retail/src/pages/home/readme +0 -8
  92. package/templates/wevu-retail/src/pages/order/after-service-detail/api.ts +0 -34
  93. package/templates/wevu-retail/src/pages/order/after-service-detail/index.vue +0 -430
  94. package/templates/wevu-retail/src/pages/order/after-service-list/api.ts +0 -1262
  95. package/templates/wevu-retail/src/pages/order/after-service-list/index.vue +0 -299
  96. package/templates/wevu-retail/src/pages/order/apply-service/index.vue +0 -665
  97. package/templates/wevu-retail/src/pages/order/components/after-service-button-bar/index.vue +0 -142
  98. package/templates/wevu-retail/src/pages/order/components/customer-service/index.vue +0 -75
  99. package/templates/wevu-retail/src/pages/order/components/goods-card/index.vue +0 -356
  100. package/templates/wevu-retail/src/pages/order/components/noGoods/noGood.wxs +0 -17
  101. package/templates/wevu-retail/src/pages/order/components/noGoods/noGoods.vue +0 -125
  102. package/templates/wevu-retail/src/pages/order/components/order-button-bar/index.vue +0 -262
  103. package/templates/wevu-retail/src/pages/order/components/order-card/index.vue +0 -126
  104. package/templates/wevu-retail/src/pages/order/components/order-goods-card/index.vue +0 -86
  105. package/templates/wevu-retail/src/pages/order/components/reason-sheet/index.vue +0 -161
  106. package/templates/wevu-retail/src/pages/order/components/reason-sheet/reasonSheet.ts +0 -25
  107. package/templates/wevu-retail/src/pages/order/components/selectCoupons/mock.ts +0 -22
  108. package/templates/wevu-retail/src/pages/order/components/selectCoupons/selectCoupon.wxs +0 -16
  109. package/templates/wevu-retail/src/pages/order/components/selectCoupons/selectCoupons.vue +0 -207
  110. package/templates/wevu-retail/src/pages/order/components/specs-goods-card/index.vue +0 -185
  111. package/templates/wevu-retail/src/pages/order/config.ts +0 -94
  112. package/templates/wevu-retail/src/pages/order/delivery-detail/index.vue +0 -145
  113. package/templates/wevu-retail/src/pages/order/delivery-detail/isUrl.wxs +0 -7
  114. package/templates/wevu-retail/src/pages/order/fill-tracking-no/api.ts +0 -71
  115. package/templates/wevu-retail/src/pages/order/fill-tracking-no/index.vue +0 -267
  116. package/templates/wevu-retail/src/pages/order/invoice/index.vue +0 -94
  117. package/templates/wevu-retail/src/pages/order/order-confirm/components/address-card/index.vue +0 -78
  118. package/templates/wevu-retail/src/pages/order/order-confirm/getNotes.wxs +0 -11
  119. package/templates/wevu-retail/src/pages/order/order-confirm/handleInvoice.wxs +0 -11
  120. package/templates/wevu-retail/src/pages/order/order-confirm/index.vue +0 -707
  121. package/templates/wevu-retail/src/pages/order/order-confirm/order.wxs +0 -8
  122. package/templates/wevu-retail/src/pages/order/order-confirm/pay.ts +0 -115
  123. package/templates/wevu-retail/src/pages/order/order-detail/index.vue +0 -456
  124. package/templates/wevu-retail/src/pages/order/order-list/index.vue +0 -288
  125. package/templates/wevu-retail/src/pages/order/pay-result/index.vue +0 -77
  126. package/templates/wevu-retail/src/pages/order/receipt/index.vue +0 -336
  127. package/templates/wevu-retail/src/pages/promotion/promotion-detail/index.vue +0 -145
  128. package/templates/wevu-retail/src/pages/user/address/edit/index.vue +0 -514
  129. package/templates/wevu-retail/src/pages/user/address/list/index.vue +0 -249
  130. package/templates/wevu-retail/src/pages/user/components/t-location/index.vue +0 -156
  131. package/templates/wevu-retail/src/pages/user/components/ui-address-item/index.vue +0 -92
  132. package/templates/wevu-retail/src/pages/user/name-edit/index.vue +0 -49
  133. package/templates/wevu-retail/src/pages/user/person-info/index.vue +0 -198
  134. package/templates/wevu-retail/src/pages/usercenter/address/edit/util.ts +0 -33
  135. package/templates/wevu-retail/src/pages/usercenter/components/order-group/index.vue +0 -90
  136. package/templates/wevu-retail/src/pages/usercenter/components/ui-select-picker/index.vue +0 -108
  137. package/templates/wevu-retail/src/pages/usercenter/components/user-center-card/index.vue +0 -82
  138. package/templates/wevu-retail/src/pages/usercenter/index.vue +0 -301
  139. package/templates/wevu-retail/src/services/_utils/delay.ts +0 -3
  140. package/templates/wevu-retail/src/services/_utils/timeout.ts +0 -3
  141. package/templates/wevu-retail/src/services/activity/fetchActivity.ts +0 -20
  142. package/templates/wevu-retail/src/services/activity/fetchActivityList.ts +0 -20
  143. package/templates/wevu-retail/src/services/address/edit.ts +0 -33
  144. package/templates/wevu-retail/src/services/address/fetchAddress.ts +0 -48
  145. package/templates/wevu-retail/src/services/address/list.ts +0 -31
  146. package/templates/wevu-retail/src/services/cart/cart.ts +0 -20
  147. package/templates/wevu-retail/src/services/comments/fetchComments.ts +0 -18
  148. package/templates/wevu-retail/src/services/comments/fetchCommentsCount.ts +0 -18
  149. package/templates/wevu-retail/src/services/coupon/index.ts +0 -65
  150. package/templates/wevu-retail/src/services/good/comments/fetchCommentDetail.ts +0 -20
  151. package/templates/wevu-retail/src/services/good/fetchCategoryList.ts +0 -18
  152. package/templates/wevu-retail/src/services/good/fetchGood.ts +0 -18
  153. package/templates/wevu-retail/src/services/good/fetchGoods.ts +0 -29
  154. package/templates/wevu-retail/src/services/good/fetchGoodsDetailsComments.ts +0 -37
  155. package/templates/wevu-retail/src/services/good/fetchGoodsList.ts +0 -39
  156. package/templates/wevu-retail/src/services/good/fetchSearchHistory.ts +0 -35
  157. package/templates/wevu-retail/src/services/good/fetchSearchResult.ts +0 -38
  158. package/templates/wevu-retail/src/services/home/home.ts +0 -53
  159. package/templates/wevu-retail/src/services/order/applyService.ts +0 -70
  160. package/templates/wevu-retail/src/services/order/orderConfirm.ts +0 -69
  161. package/templates/wevu-retail/src/services/order/orderDetail.ts +0 -39
  162. package/templates/wevu-retail/src/services/order/orderList.ts +0 -39
  163. package/templates/wevu-retail/src/services/order/orderSubmitComment.ts +0 -22
  164. package/templates/wevu-retail/src/services/promotion/detail.ts +0 -18
  165. package/templates/wevu-retail/src/services/usercenter/fetchPerson.ts +0 -28
  166. package/templates/wevu-retail/src/services/usercenter/fetchUsercenter.ts +0 -18
  167. package/templates/wevu-retail/src/sitemap.json +0 -7
  168. package/templates/wevu-retail/src/utils/addressParse.ts +0 -25
  169. package/templates/wevu-retail/src/utils/getPermission.ts +0 -45
  170. package/templates/wevu-retail/src/utils/mock.ts +0 -51
  171. package/templates/wevu-retail/src/utils/util.ts +0 -134
  172. package/templates/wevu-retail/src/vite-env.d.ts +0 -1
  173. package/templates/wevu-retail/tailwind.config.ts +0 -15
  174. package/templates/wevu-retail/tsconfig.app.json +0 -58
  175. package/templates/wevu-retail/tsconfig.json +0 -11
  176. package/templates/wevu-retail/tsconfig.node.json +0 -33
  177. package/templates/wevu-retail/vite.config.ts +0 -14
@@ -1,142 +0,0 @@
1
- <script lang="ts">
2
- import Dialog from 'tdesign-miniprogram/dialog/index';
3
- import Toast from 'tdesign-miniprogram/toast/index';
4
-
5
- import { cancelRights } from '../../after-service-detail/api';
6
- import { ServiceButtonTypes } from '../../config';
7
-
8
- Component({
9
- properties: {
10
- service: {
11
- type: Object,
12
- observer(service) {
13
- const buttonsRight = service.buttons || service.buttonVOs || [];
14
- this.setData({
15
- buttons: {
16
- left: [],
17
- right: buttonsRight,
18
- },
19
- });
20
- },
21
- },
22
- },
23
-
24
- data: {
25
- service: {},
26
- buttons: {
27
- left: [],
28
- right: [],
29
- },
30
- },
31
-
32
- methods: {
33
- // 点击【订单操作】按钮,根据按钮类型分发
34
- onServiceBtnTap(e) {
35
- const { type } = e.currentTarget.dataset;
36
- switch (type) {
37
- case ServiceButtonTypes.REVOKE:
38
- this.onConfirm(this.data.service);
39
- break;
40
- case ServiceButtonTypes.FILL_TRACKING_NO:
41
- this.onFillTrackingNo(this.data.service);
42
- break;
43
- case ServiceButtonTypes.CHANGE_TRACKING_NO:
44
- this.onChangeTrackingNo(this.data.service);
45
- break;
46
- case ServiceButtonTypes.VIEW_DELIVERY:
47
- this.viewDelivery(this.data.service);
48
- break;
49
- }
50
- },
51
-
52
- onFillTrackingNo(service) {
53
- wx.navigateTo({
54
- url: `/pages/order/fill-tracking-no/index?rightsNo=${service.id}`,
55
- });
56
- },
57
-
58
- viewDelivery(service) {
59
- wx.navigateTo({
60
- url: `/pages/order/delivery-detail/index?data=${JSON.stringify(
61
- service.logistics || service.logisticsVO,
62
- )}&source=2`,
63
- });
64
- },
65
-
66
- onChangeTrackingNo(service) {
67
- wx.navigateTo({
68
- url: `/pages/order/fill-tracking-no/index?rightsNo=${
69
- service.id
70
- }&logisticsNo=${service.logisticsNo}&logisticsCompanyName=${
71
- service.logisticsCompanyName
72
- }&logisticsCompanyCode=${service.logisticsCompanyCode}&remark=${
73
- service.remark || ''
74
- }`,
75
- });
76
- },
77
-
78
- onConfirm() {
79
- Dialog.confirm({
80
- title: '是否撤销退货申请?',
81
- content: '',
82
- confirmBtn: '撤销申请',
83
- cancelBtn: '不撤销',
84
- }).then(() => {
85
- const params = { rightsNo: this.data.service.id };
86
- return cancelRights(params).then(() => {
87
- Toast({
88
- context: this,
89
- selector: '#t-toast',
90
- message: '你确认撤销申请',
91
- });
92
- });
93
- });
94
- },
95
- },
96
- });
97
- </script>
98
-
99
- <template>
100
- <view class="btn-bar [display:flex] [justify-content:space-between] [align-items:center] [line-height:1] [&_.order-btn]:[background-color:inherit] [&_.order-btn]:[font-size:26rpx] [&_.order-btn]:[padding:16rpx_28rpx] [&_.order-btn]:[line-height:1] [&_.order-btn]:[border-radius:unset] [&_.order-btn]:[min-width:160rpx] [&_.order-btn]:[border-radius:32rpx] [&_.order-btn]:[height:60rpx] [&_.order-btn]:[margin-right:10rpx] [&_.left_.delete-btn]:[font-size:22rpx]">
101
- <view class="left">
102
- <t-button
103
- wx:for="{{buttons.left}}"
104
- wx:key="type"
105
- wx:for-item="leftBtn"
106
- size="extra-small"
107
- shape="round"
108
- t-class="order-btn delete-btn"
109
- catchtap="onServiceBtnTap"
110
- data-type="{{leftBtn.type}}"
111
- >
112
- {{leftBtn.name}}
113
- </t-button>
114
- </view>
115
- <view class="right">
116
- <t-button
117
- wx:for="{{buttons.right}}"
118
- wx:key="type"
119
- wx:for-item="rightBtn"
120
- size="extra-small"
121
- variant="{{ rightBtn.primary ? 'base' : 'outline'}}"
122
- shape="round"
123
- t-class="order-btn {{rightBtn.primary ? 'primary' : 'normal'}}"
124
- catchtap="onServiceBtnTap"
125
- data-type="{{rightBtn.type}}"
126
- open-type="{{ rightBtn.openType }}"
127
- data-share="{{ rightBtn.dataShare }}"
128
- >
129
- {{rightBtn.name}}
130
- </t-button>
131
- </view>
132
- </view>
133
- </template>
134
-
135
- <json>
136
- {
137
- "component": true,
138
- "usingComponents": {
139
- "t-button": "tdesign-miniprogram/button/button"
140
- }
141
- }
142
- </json>
@@ -1,75 +0,0 @@
1
- <script lang="ts">
2
- Component({
3
- externalClasses: ['wr-class'],
4
-
5
- properties: {
6
- phoneNumber: String,
7
- desc: String,
8
- },
9
-
10
- data: {
11
- show: false,
12
- },
13
-
14
- methods: {
15
- onBtnTap() {
16
- this.setData({
17
- show: true,
18
- });
19
- },
20
-
21
- onDialogClose() {
22
- this.setData({
23
- show: false,
24
- });
25
- },
26
-
27
- onCall() {
28
- const { phoneNumber } = this.properties;
29
- wx.makePhoneCall({
30
- phoneNumber,
31
- });
32
- },
33
- onCallOnlineService() {
34
- wx.showToast({
35
- title: '你点击了在线客服',
36
- });
37
- },
38
- },
39
- });
40
- </script>
41
-
42
- <template>
43
- <!-- 联系客服按钮 -->
44
- <view class="wr-class customer-service text-btn [display:inline] [color:#333] [font-size:24rpx]" hover-class="text-btn--active [opacity:0.5]" bindtap="onBtnTap">联系客服</view>
45
- <!-- 联系客服弹框 -->
46
- <t-popup visible="{{show}}" placement="bottom" bind:visible-change="onDialogClose">
47
- <view class="dialog--customer-service [background-color:#f3f4f5] [overflow:hidden] [&_.content]:[font-size:26rpx] [&_.content]:[margin:32rpx_30rpx] [&_.content]:[text-align:center] [&_.content_.title]:[display:inline] [&_.content_.title]:[color:#999999] [&_.content_.title]:[font-weight:bold] [&_.content_.subtitle]:[display:inline] [&_.content_.subtitle]:[color:#999999] [&_.options_.option]:[color:#333333] [&_.options_.option]:[font-size:30rpx] [&_.options_.option]:[text-align:center] [&_.options_.option]:[height:100rpx] [&_.options_.option]:[line-height:100rpx] [&_.options_.option]:[background-color:white] [&_.options_.option--active]:[opacity:0.5] [&_.options_.option_.main]:[color:#333] [&_.options_.option_.online]:[position:relative] [&_.options_.option_.online]:[top:-17rpx] [&_.options_.option_.online]:[margin-bottom:2rpx]">
48
- <view class="content" wx:if="{{desc}}">
49
- <view class="title">服务时间:</view>
50
- <text class="subtitle">{{desc}}</text>
51
- </view>
52
- <view class="options">
53
- <view
54
- class="option main"
55
- hover-class="text-btn--active [opacity:0.5]"
56
- wx:if="{{phoneNumber}}"
57
- bindtap="onCall"
58
- >呼叫 {{phoneNumber}}
59
- </view>
60
- <view class="option main online" hover-class="text-btn--active [opacity:0.5]" bindtap="onCallOnlineService">在线客服</view>
61
- <view class="option" hover-class="text-btn--active [opacity:0.5]" bindtap="onDialogClose">取消</view>
62
- </view>
63
- </view>
64
- </t-popup>
65
-
66
- </template>
67
-
68
- <json>
69
- {
70
- "component": true,
71
- "usingComponents": {
72
- "t-popup": "tdesign-miniprogram/popup/popup"
73
- }
74
- }
75
- </json>
@@ -1,356 +0,0 @@
1
- <script lang="ts">
2
- Component({
3
- options: {
4
- multipleSlots: true, // 在组件定义时的选项中启用多slot支持
5
- addGlobalClass: true,
6
- },
7
- intersectionObserverContext: null,
8
-
9
- externalClasses: [
10
- 'card-class',
11
- 'title-class',
12
- 'desc-class',
13
- 'num-class',
14
- 'thumb-class',
15
- 'specs-class',
16
- 'price-class',
17
- 'origin-price-class',
18
- 'price-prefix-class',
19
- ],
20
-
21
- relations: {
22
- '../order-card/index': {
23
- type: 'ancestor',
24
- linked(target) {
25
- this.parent = target;
26
- },
27
- },
28
- },
29
-
30
- properties: {
31
- hidden: {
32
- // 设置为null代表不做类型转换
33
- type: null,
34
- value: false,
35
- observer(hidden) {
36
- // null就是代表没有设置,没有设置的话不setData,防止祖先组件触发的setHidden操作被覆盖
37
- if (hidden !== null) {
38
- this.setHidden(!!hidden);
39
- }
40
- },
41
- },
42
- id: {
43
- type: String,
44
- // `goods-card-88888888`
45
- // 不能在这里写生成逻辑,如果在这里写,那么假设有多个goods-list时,他们将共享这个值
46
- value: '',
47
- observer: (id) => {
48
- this.genIndependentID(id);
49
- if (this.properties.thresholds?.length) {
50
- this.createIntersectionObserverHandle();
51
- }
52
- },
53
- },
54
- data: {
55
- type: Object,
56
- observer(goods) {
57
- // 有ID的商品才渲染
58
- if (!goods) {
59
- return;
60
- }
61
-
62
- /** 划线价是否有效 */
63
- let isValidityLinePrice = true;
64
- // 判断一次划线价格是否合理
65
- if (
66
- goods.originPrice &&
67
- goods.price &&
68
- goods.originPrice < goods.price
69
- ) {
70
- isValidityLinePrice = false;
71
- }
72
-
73
- // 敲定换行数量默认值
74
- if (goods.lineClamp === undefined || goods.lineClamp <= 0) {
75
- // tag数组长度 大于0 且 可见
76
- // 指定换行为1行
77
- if ((goods.tags?.length || 0) > 0 && !goods.hideKey?.tags) {
78
- goods.lineClamp = 1;
79
- } else {
80
- goods.lineClamp = 2;
81
- }
82
- }
83
-
84
- this.setData({ goods, isValidityLinePrice });
85
- },
86
- },
87
- layout: {
88
- type: String,
89
- value: 'horizontal',
90
- },
91
- thumbMode: {
92
- type: String,
93
- value: 'aspectFill',
94
- },
95
- thumbWidth: Number,
96
- thumbHeight: Number,
97
- priceFill: {
98
- type: Boolean,
99
- value: true,
100
- },
101
- currency: {
102
- type: String,
103
- value: '¥',
104
- },
105
- lazyLoad: {
106
- type: Boolean,
107
- value: false,
108
- },
109
- centered: {
110
- type: Boolean,
111
- value: false,
112
- },
113
- showCart: {
114
- type: Boolean,
115
- value: false,
116
- },
117
- pricePrefix: {
118
- type: String,
119
- value: '',
120
- },
121
- cartSize: {
122
- type: Number,
123
- value: 48,
124
- },
125
- cartColor: {
126
- type: String,
127
- value: '#FA550F',
128
- },
129
- /** 元素可见监控阈值, 数组长度大于0就创建 */
130
- thresholds: {
131
- type: Array,
132
- value: [],
133
- observer(current) {
134
- if (current && current.length) {
135
- this.createIntersectionObserverHandle();
136
- } else {
137
- this.clearIntersectionObserverHandle();
138
- }
139
- },
140
- },
141
- specsIconClassPrefix: {
142
- type: String,
143
- value: 'wr',
144
- },
145
- specsIcon: {
146
- type: String,
147
- value: 'expand_more',
148
- },
149
- addCartIconClassPrefix: {
150
- type: String,
151
- value: 'wr',
152
- },
153
- addCartIcon: {
154
- type: String,
155
- value: 'cart',
156
- },
157
- },
158
-
159
- data: {
160
- hiddenInData: false,
161
- independentID: '',
162
- goods: { id: '' },
163
- /** 保证划线价格不小于原价,否则不渲染划线价 */
164
- isValidityLinePrice: false,
165
- },
166
-
167
- lifetimes: {
168
- ready() {
169
- this.init();
170
- },
171
- detached() {
172
- this.clear();
173
- },
174
- },
175
-
176
- methods: {
177
- clickHandle() {
178
- this.triggerEvent('click', { goods: this.data.goods });
179
- },
180
- clickThumbHandle() {
181
- this.triggerEvent('thumb', { goods: this.data.goods });
182
- },
183
- clickTagHandle(evt) {
184
- const { index } = evt.currentTarget.dataset;
185
- this.triggerEvent('tag', { goods: this.data.goods, index });
186
- },
187
- // 加入购物车
188
- addCartHandle(e) {
189
- const { id } = e.currentTarget;
190
- const { id: cardID } = e.currentTarget.dataset;
191
- this.triggerEvent('add-cart', {
192
- ...e.detail,
193
- id,
194
- cardID,
195
- goods: this.data.goods,
196
- });
197
- },
198
- genIndependentID(id, cb) {
199
- let independentID;
200
- if (id) {
201
- independentID = id;
202
- } else {
203
- // `goods-card-88888888`
204
- independentID = `goods-card-${~~(Math.random() * 10 ** 8)}`;
205
- }
206
- this.setData({ independentID }, cb);
207
- },
208
-
209
- init() {
210
- const { thresholds, id, hidden } = this.properties;
211
- if (hidden !== null) {
212
- this.setHidden(!!hidden);
213
- }
214
-
215
- this.genIndependentID(id || '', () => {
216
- if (thresholds && thresholds.length) {
217
- this.createIntersectionObserverHandle();
218
- }
219
- });
220
- },
221
-
222
- clear() {
223
- this.clearIntersectionObserverHandle();
224
- },
225
-
226
- setHidden(hidden) {
227
- this.setData({ hiddenInData: !!hidden });
228
- },
229
-
230
- createIntersectionObserverHandle() {
231
- if (this.intersectionObserverContext || !this.data.independentID) {
232
- return;
233
- }
234
-
235
- this.intersectionObserverContext = wx
236
- .createIntersectionObserver(this, {
237
- thresholds: this.properties.thresholds,
238
- })
239
- .relativeToViewport();
240
-
241
- this.intersectionObserverContext.observe(
242
- `#${this.data.independentID}`,
243
- (res) => {
244
- this.intersectionObserverCB(res);
245
- },
246
- );
247
- },
248
- intersectionObserverCB(ob) {
249
- this.triggerEvent('ob', {
250
- goods: this.data.goods,
251
- context: this.intersectionObserverContext,
252
- ob,
253
- });
254
- },
255
- clearIntersectionObserverHandle() {
256
- if (this.intersectionObserverContext) {
257
- try {
258
- this.intersectionObserverContext.disconnect();
259
- } catch (e) {}
260
-
261
- this.intersectionObserverContext = null;
262
- }
263
- },
264
- },
265
- });
266
- </script>
267
-
268
- <template>
269
- <view
270
- id="{{independentID}}"
271
- class="wr-goods-card card-class {{ layout }} {{ centered ? 'center' : ''}} [box-sizing:border-box] [font-size:24rpx] [&_.center_.wr-goods-card__main]:[align-items:center] [&_.center_.wr-goods-card__main]:[justify-content:center] [&_.horizontal-wrap_.wr-goods-card__thumb]:[width:192rpx] [&_.horizontal-wrap_.wr-goods-card__thumb]:[height:192rpx] [&_.horizontal-wrap_.wr-goods-card__thumb]:[border-radius:8rpx] [&_.horizontal-wrap_.wr-goods-card__thumb]:[overflow:hidden] [&_.horizontal-wrap_.wr-goods-card__body]:[flex-direction:column] [&_.horizontal-wrap_.wr-goods-card__short_content]:[flex-direction:row] [&_.horizontal-wrap_.wr-goods-card__short_content]:[align-items:center] [&_.horizontal-wrap_.wr-goods-card__short_content]:[margin:16rpx_0_0_0] [&_.horizontal-wrap_.wr-goods-card__num]:[margin:0_0_0_auto] [&_.vertical_.wr-goods-card__main]:[padding:0_0_22rpx_0] [&_.vertical_.wr-goods-card__main]:[flex-direction:column] [&_.vertical_.wr-goods-card__thumb]:[width:340rpx] [&_.vertical_.wr-goods-card__thumb]:[height:340rpx] [&_.vertical_.wr-goods-card__body]:[margin:20rpx_20rpx_0_20rpx] [&_.vertical_.wr-goods-card__body]:[flex-direction:column] [&_.vertical_.wr-goods-card__long_content]:[overflow:hidden] [&_.vertical_.wr-goods-card__title]:[line-height:36rpx] [&_.vertical_.wr-goods-card__short_content]:[margin:20rpx_0_0_0] [&_.vertical_.wr-goods-card__price]:[order:2] [&_.vertical_.wr-goods-card__price]:[color:#fa4126] [&_.vertical_.wr-goods-card__price]:[margin:20rpx_0_0_0] [&_.vertical_.wr-goods-card__origin-price]:[order:1] [&_.vertical_.wr-goods-card__add-cart]:[position:absolute] [&_.vertical_.wr-goods-card__add-cart]:[bottom:20rpx] [&_.vertical_.wr-goods-card__add-cart]:[right:20rpx]"
272
- bind:tap="clickHandle"
273
- data-goods="{{ goods }}"
274
- hidden="{{hiddenInData}}"
275
- >
276
- <view class="wr-goods-card__main [position:relative] [display:flex] [line-height:1] [flex-direction:row] [background:transparent] [padding:16rpx_0rpx]">
277
- <view class="wr-goods-card__thumb thumb-class [flex-shrink:0] [position:relative] [width:176rpx] [height:176rpx] [&:empty]:[display:none] [&:empty]:[margin:0]" bind:tap="clickThumbHandle">
278
- <!-- data-src 是方便加购动画读取图片用的 -->
279
- <t-image
280
- t-class="wr-goods-card__thumb-com [width:176rpx] [height:176rpx] [border-radius:8rpx] [overflow:hidden]"
281
- wx:if="{{ !!goods.thumb && !goods.hideKey.thumb }}"
282
- src="{{ goods.thumb }}"
283
- mode="{{ thumbMode }}"
284
- lazy-load="{{ lazyLoad }}"
285
- />
286
- <slot name="thumb-cover" />
287
- </view>
288
-
289
- <view class="wr-goods-card__body [display:flex] [margin:0_0_0_16rpx] [flex-direction:row] [flex:1_1_auto] [min-height:176rpx]">
290
- <view class="wr-goods-card__long_content [display:flex] [flex-direction:column] [overflow:hidden] [flex:1_1_auto] [&_.goods_tips]:[width:100%] [&_.goods_tips]:[margin-top:16rpx] [&_.goods_tips]:[text-align:right] [&_.goods_tips]:[color:#fa4126] [&_.goods_tips]:[font-size:24rpx] [&_.goods_tips]:[line-height:32rpx] [&_.goods_tips]:[font-weight:bold]">
291
- <view wx:if="{{ goods.title && !goods.hideKey.title }}" class="wr-goods-card__title title-class [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]" style="-webkit-line-clamp: {{ goods.lineClamp }};">
292
- <slot name="before-title" />
293
- {{ goods.title }}
294
- </view>
295
- <slot name="after-title" />
296
- <view wx:if="{{ goods.desc && !goods.hideKey.desc }}" class="wr-goods-card__desc desc-class [font-size:24rpx] [color:#f5f5f5] [line-height:40rpx] [display:-webkit-box] [-webkit-box-orient:vertical] [-webkit-line-clamp:2] [overflow:hidden]">{{ goods.desc }}</view>
297
- <slot name="after-desc" />
298
- <view wx:if="{{ goods.specs && goods.specs.length > 0 && !goods.hideKey.specs }}" class="wr-goods-card__specs__desc specs-class [font-size:24rpx] [height:32rpx] [line-height:32rpx] [color:#999999] [margin:8rpx_0] [display:flex] [align-self:flex-start] [flex-direction:row]" bind:tap="clickSpecsHandle">
299
- <view class="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]">{{ goods.specs }}</view>
300
- </view>
301
- <view class="goods_tips" wx:if="{{goods.stockQuantity !== 0 && goods.quantity >= goods.stockQuantity}}">库存不足</view>
302
- </view>
303
-
304
- <view class="wr-goods-card__short_content [display:flex] [flex-direction:column] [justify-content:flex-start] [align-items:flex-end] [margin:0_0_0_46rpx] [&_.no_storage]:[display:flex] [&_.no_storage]:[align-items:center] [&_.no_storage]:[justify-content:space-between] [&_.no_storage]:[height:40rpx] [&_.no_storage]:[color:#333] [&_.no_storage]:[font-size:24rpx] [&_.no_storage]:[line-height:32rpx] [&_.no_storage]:[width:100%]">
305
- <block wx:if="{{goods.stockQuantity !== 0}}">
306
- <view wx:if="{{ pricePrefix }}" class="wr-goods-card__price__prefix price-prefix-class [order:0] [color:#666] [margin:0]">{{ pricePrefix }}</view>
307
- <slot name="price-prefix" />
308
- <view wx:if="{{ goods.price && !goods.hideKey.price }}" class="wr-goods-card__price [white-space:nowrap] [font-weight:bold] [order:1] [color:#fa4126] [font-size:36rpx] [margin:0] [line-height:48rpx]">
309
- <price
310
- wr-class="price-class"
311
- symbol="{{currency}}"
312
- price="{{goods.price}}"
313
- fill="{{priceFill}}"
314
- decimalSmaller
315
- />
316
- </view>
317
- <view wx:if="{{ goods.originPrice && !goods.hideKey.originPrice && isValidityLinePrice }}" class="wr-goods-card__origin-price [white-space:nowrap] [font-weight:normal] [order:2] [color:#aaaaaa] [font-size:24rpx] [margin:0]">
318
- <price
319
- wr-class="origin-price-class"
320
- symbol="{{currency}}"
321
- price="{{goods.originPrice}}"
322
- fill="{{priceFill}}"
323
- />
324
- </view>
325
- <slot name="origin-price" />
326
- <view wx:if="{{goods.num && !goods.hideKey.num}}" class="wr-goods-card__num num-class [white-space:nowrap] [order:4] [font-size:24rpx] [color:#999] [margin:20rpx_0_0_auto]">
327
- <text class="wr-goods-card__num__prefix [color:inherit]">x </text>
328
- {{ goods.num }}
329
- </view>
330
- </block>
331
- <block wx:else>
332
- <view class="no_storage [&_.no_storage__right]:[width:80rpx] [&_.no_storage__right]:[height:40rpx] [&_.no_storage__right]:[border-radius:20rpx] [&_.no_storage__right]:[border:2rpx_solid_#fa4126] [&_.no_storage__right]:[line-height:40rpx] [&_.no_storage__right]:[text-align:center] [&_.no_storage__right]:[color:#fa4126]">
333
- <view>请重新选择商品规格</view>
334
- <view class="no_storage__right">重选</view>
335
- </view>
336
- </block>
337
-
338
- </view>
339
- <slot name="append-body" />
340
- </view>
341
- <slot name="footer" />
342
- </view>
343
- <slot name="append-card" />
344
- </view>
345
-
346
- </template>
347
-
348
- <json>
349
- {
350
- "component": true,
351
- "usingComponents": {
352
- "price": "/components/price/index",
353
- "t-image": "/components/webp-image/index",
354
- "t-icon": "tdesign-miniprogram/icon/icon"
355
- }
356
- }</json>
@@ -1,17 +0,0 @@
1
- var isOnlyBack = function (data) {
2
- return data.limitGoodsList || (data.inValidGoodsList && !data.storeGoodsList);
3
- };
4
-
5
- var isShowChangeAddress = function (data) {
6
- return data.abnormalDeliveryGoodsList;
7
- };
8
-
9
- var isShowKeepPay = function (data) {
10
- return data.outOfStockGoodsList || (data.storeGoodsList && data.inValidGoodsList);
11
- };
12
-
13
- module.exports = {
14
- isOnlyBack: isOnlyBack,
15
- isShowChangeAddress: isShowChangeAddress,
16
- isShowKeepPay: isShowKeepPay,
17
- };