create-weapp-vite 2.0.32 → 2.0.34

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 (180) hide show
  1. package/README.md +0 -1
  2. package/dist/{chunk-IT75MAH3.js → chunk-6CRKNZN2.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/tailwindcss/package.json +1 -1
  8. package/templates/tdesign/package.json +1 -1
  9. package/templates/vant/package.json +1 -1
  10. package/templates/wevu/package.json +1 -1
  11. package/templates/wevu-tdesign/package.json +2 -2
  12. package/templates/wevu-retail/.editorconfig +0 -9
  13. package/templates/wevu-retail/.vscode/settings.json +0 -10
  14. package/templates/wevu-retail/AGENTS.md +0 -35
  15. package/templates/wevu-retail/README.md +0 -26
  16. package/templates/wevu-retail/auto-import-components.json +0 -1
  17. package/templates/wevu-retail/gitignore +0 -35
  18. package/templates/wevu-retail/package.json +0 -42
  19. package/templates/wevu-retail/postcss.config.js +0 -6
  20. package/templates/wevu-retail/project.config.json +0 -44
  21. package/templates/wevu-retail/project.private.config.json +0 -8
  22. package/templates/wevu-retail/src/app.vue +0 -104
  23. package/templates/wevu-retail/src/common/updateManager.ts +0 -29
  24. package/templates/wevu-retail/src/components/filter/index.vue +0 -134
  25. package/templates/wevu-retail/src/components/filter-popup/index.vue +0 -67
  26. package/templates/wevu-retail/src/components/goods-card/index.vue +0 -219
  27. package/templates/wevu-retail/src/components/goods-list/index.vue +0 -91
  28. package/templates/wevu-retail/src/components/load-more/index.vue +0 -99
  29. package/templates/wevu-retail/src/components/loading-content/index.vue +0 -48
  30. package/templates/wevu-retail/src/components/price/index.vue +0 -104
  31. package/templates/wevu-retail/src/components/promotion/ui-coupon-card/index.vue +0 -143
  32. package/templates/wevu-retail/src/components/promotion/ui-coupon-card/tools.wxs +0 -18
  33. package/templates/wevu-retail/src/components/swipeout/index.vue +0 -118
  34. package/templates/wevu-retail/src/components/swipeout/swipe.wxs +0 -151
  35. package/templates/wevu-retail/src/components/webp-image/index.vue +0 -105
  36. package/templates/wevu-retail/src/components/webp-image/utils.wxs +0 -140
  37. package/templates/wevu-retail/src/config/index.ts +0 -20437
  38. package/templates/wevu-retail/src/custom-tab-bar/data.ts +0 -22
  39. package/templates/wevu-retail/src/custom-tab-bar/index.vue +0 -62
  40. package/templates/wevu-retail/src/model/activities.ts +0 -7
  41. package/templates/wevu-retail/src/model/activity.ts +0 -18
  42. package/templates/wevu-retail/src/model/address.ts +0 -31
  43. package/templates/wevu-retail/src/model/cart.ts +0 -306
  44. package/templates/wevu-retail/src/model/category.ts +0 -175
  45. package/templates/wevu-retail/src/model/comments/queryDetail.ts +0 -50
  46. package/templates/wevu-retail/src/model/comments.ts +0 -298
  47. package/templates/wevu-retail/src/model/coupon.ts +0 -39
  48. package/templates/wevu-retail/src/model/detailsComments.ts +0 -30
  49. package/templates/wevu-retail/src/model/good.ts +0 -1904
  50. package/templates/wevu-retail/src/model/goods.ts +0 -7
  51. package/templates/wevu-retail/src/model/order/applyService.ts +0 -329
  52. package/templates/wevu-retail/src/model/order/orderConfirm.ts +0 -147
  53. package/templates/wevu-retail/src/model/order/orderDetail.ts +0 -1191
  54. package/templates/wevu-retail/src/model/order/orderList.ts +0 -1033
  55. package/templates/wevu-retail/src/model/promotion.ts +0 -20
  56. package/templates/wevu-retail/src/model/search.ts +0 -60
  57. package/templates/wevu-retail/src/model/submitComment.ts +0 -58
  58. package/templates/wevu-retail/src/model/swiper.ts +0 -39
  59. package/templates/wevu-retail/src/model/usercenter.ts +0 -52
  60. package/templates/wevu-retail/src/pages/cart/components/cart-bar/index.vue +0 -104
  61. package/templates/wevu-retail/src/pages/cart/components/cart-empty/index.vue +0 -41
  62. package/templates/wevu-retail/src/pages/cart/components/cart-group/index.vue +0 -333
  63. package/templates/wevu-retail/src/pages/cart/components/cart-group/index.wxs +0 -5
  64. package/templates/wevu-retail/src/pages/cart/components/cart-group/utils.wxs +0 -20
  65. package/templates/wevu-retail/src/pages/cart/components/goods-card/index.vue +0 -334
  66. package/templates/wevu-retail/src/pages/cart/components/specs-popup/index.vue +0 -100
  67. package/templates/wevu-retail/src/pages/cart/index.vue +0 -342
  68. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/README.md +0 -95
  69. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/c-sidebar-item/index.vue +0 -73
  70. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-sidebar/index.vue +0 -121
  71. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-tabbar/c-tabbar-more/index.vue +0 -74
  72. package/templates/wevu-retail/src/pages/category/components/goods-category/components/c-tabbar/index.vue +0 -102
  73. package/templates/wevu-retail/src/pages/category/components/goods-category/index.vue +0 -137
  74. package/templates/wevu-retail/src/pages/category/index.vue +0 -50
  75. package/templates/wevu-retail/src/pages/coupon/components/coupon-card/index.vue +0 -95
  76. package/templates/wevu-retail/src/pages/coupon/components/floating-button/index.vue +0 -44
  77. package/templates/wevu-retail/src/pages/coupon/coupon-activity-goods/index.vue +0 -135
  78. package/templates/wevu-retail/src/pages/coupon/coupon-detail/index.vue +0 -94
  79. package/templates/wevu-retail/src/pages/coupon/coupon-list/index.vue +0 -136
  80. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/images-videos/assets/play.png +0 -0
  81. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/images-videos/index.vue +0 -65
  82. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/components/my-video/index.vue +0 -92
  83. package/templates/wevu-retail/src/pages/goods/comments/components/comments-card/index.vue +0 -93
  84. package/templates/wevu-retail/src/pages/goods/comments/create/index.vue +0 -196
  85. package/templates/wevu-retail/src/pages/goods/comments/index.vue +0 -293
  86. package/templates/wevu-retail/src/pages/goods/details/components/buy-bar/index.vue +0 -117
  87. package/templates/wevu-retail/src/pages/goods/details/components/goods-specs-popup/index.vue +0 -440
  88. package/templates/wevu-retail/src/pages/goods/details/components/promotion-popup/index.vue +0 -83
  89. package/templates/wevu-retail/src/pages/goods/details/index.vue +0 -598
  90. package/templates/wevu-retail/src/pages/goods/list/index.vue +0 -299
  91. package/templates/wevu-retail/src/pages/goods/result/index.vue +0 -350
  92. package/templates/wevu-retail/src/pages/goods/search/index.vue +0 -196
  93. package/templates/wevu-retail/src/pages/home/home.vue +0 -215
  94. package/templates/wevu-retail/src/pages/home/readme +0 -8
  95. package/templates/wevu-retail/src/pages/order/after-service-detail/api.ts +0 -34
  96. package/templates/wevu-retail/src/pages/order/after-service-detail/index.vue +0 -430
  97. package/templates/wevu-retail/src/pages/order/after-service-list/api.ts +0 -1262
  98. package/templates/wevu-retail/src/pages/order/after-service-list/index.vue +0 -299
  99. package/templates/wevu-retail/src/pages/order/apply-service/index.vue +0 -665
  100. package/templates/wevu-retail/src/pages/order/components/after-service-button-bar/index.vue +0 -142
  101. package/templates/wevu-retail/src/pages/order/components/customer-service/index.vue +0 -75
  102. package/templates/wevu-retail/src/pages/order/components/goods-card/index.vue +0 -356
  103. package/templates/wevu-retail/src/pages/order/components/noGoods/noGood.wxs +0 -17
  104. package/templates/wevu-retail/src/pages/order/components/noGoods/noGoods.vue +0 -125
  105. package/templates/wevu-retail/src/pages/order/components/order-button-bar/index.vue +0 -262
  106. package/templates/wevu-retail/src/pages/order/components/order-card/index.vue +0 -126
  107. package/templates/wevu-retail/src/pages/order/components/order-goods-card/index.vue +0 -86
  108. package/templates/wevu-retail/src/pages/order/components/reason-sheet/index.vue +0 -161
  109. package/templates/wevu-retail/src/pages/order/components/reason-sheet/reasonSheet.ts +0 -25
  110. package/templates/wevu-retail/src/pages/order/components/selectCoupons/mock.ts +0 -22
  111. package/templates/wevu-retail/src/pages/order/components/selectCoupons/selectCoupon.wxs +0 -16
  112. package/templates/wevu-retail/src/pages/order/components/selectCoupons/selectCoupons.vue +0 -207
  113. package/templates/wevu-retail/src/pages/order/components/specs-goods-card/index.vue +0 -185
  114. package/templates/wevu-retail/src/pages/order/config.ts +0 -94
  115. package/templates/wevu-retail/src/pages/order/delivery-detail/index.vue +0 -145
  116. package/templates/wevu-retail/src/pages/order/delivery-detail/isUrl.wxs +0 -7
  117. package/templates/wevu-retail/src/pages/order/fill-tracking-no/api.ts +0 -71
  118. package/templates/wevu-retail/src/pages/order/fill-tracking-no/index.vue +0 -267
  119. package/templates/wevu-retail/src/pages/order/invoice/index.vue +0 -94
  120. package/templates/wevu-retail/src/pages/order/order-confirm/components/address-card/index.vue +0 -78
  121. package/templates/wevu-retail/src/pages/order/order-confirm/getNotes.wxs +0 -11
  122. package/templates/wevu-retail/src/pages/order/order-confirm/handleInvoice.wxs +0 -11
  123. package/templates/wevu-retail/src/pages/order/order-confirm/index.vue +0 -707
  124. package/templates/wevu-retail/src/pages/order/order-confirm/order.wxs +0 -8
  125. package/templates/wevu-retail/src/pages/order/order-confirm/pay.ts +0 -115
  126. package/templates/wevu-retail/src/pages/order/order-detail/index.vue +0 -456
  127. package/templates/wevu-retail/src/pages/order/order-list/index.vue +0 -288
  128. package/templates/wevu-retail/src/pages/order/pay-result/index.vue +0 -77
  129. package/templates/wevu-retail/src/pages/order/receipt/index.vue +0 -336
  130. package/templates/wevu-retail/src/pages/promotion/promotion-detail/index.vue +0 -145
  131. package/templates/wevu-retail/src/pages/user/address/edit/index.vue +0 -514
  132. package/templates/wevu-retail/src/pages/user/address/list/index.vue +0 -249
  133. package/templates/wevu-retail/src/pages/user/components/t-location/index.vue +0 -156
  134. package/templates/wevu-retail/src/pages/user/components/ui-address-item/index.vue +0 -92
  135. package/templates/wevu-retail/src/pages/user/name-edit/index.vue +0 -49
  136. package/templates/wevu-retail/src/pages/user/person-info/index.vue +0 -198
  137. package/templates/wevu-retail/src/pages/usercenter/address/edit/util.ts +0 -33
  138. package/templates/wevu-retail/src/pages/usercenter/components/order-group/index.vue +0 -90
  139. package/templates/wevu-retail/src/pages/usercenter/components/ui-select-picker/index.vue +0 -108
  140. package/templates/wevu-retail/src/pages/usercenter/components/user-center-card/index.vue +0 -82
  141. package/templates/wevu-retail/src/pages/usercenter/index.vue +0 -301
  142. package/templates/wevu-retail/src/services/_utils/delay.ts +0 -3
  143. package/templates/wevu-retail/src/services/_utils/timeout.ts +0 -3
  144. package/templates/wevu-retail/src/services/activity/fetchActivity.ts +0 -20
  145. package/templates/wevu-retail/src/services/activity/fetchActivityList.ts +0 -20
  146. package/templates/wevu-retail/src/services/address/edit.ts +0 -33
  147. package/templates/wevu-retail/src/services/address/fetchAddress.ts +0 -48
  148. package/templates/wevu-retail/src/services/address/list.ts +0 -31
  149. package/templates/wevu-retail/src/services/cart/cart.ts +0 -20
  150. package/templates/wevu-retail/src/services/comments/fetchComments.ts +0 -18
  151. package/templates/wevu-retail/src/services/comments/fetchCommentsCount.ts +0 -18
  152. package/templates/wevu-retail/src/services/coupon/index.ts +0 -65
  153. package/templates/wevu-retail/src/services/good/comments/fetchCommentDetail.ts +0 -20
  154. package/templates/wevu-retail/src/services/good/fetchCategoryList.ts +0 -18
  155. package/templates/wevu-retail/src/services/good/fetchGood.ts +0 -18
  156. package/templates/wevu-retail/src/services/good/fetchGoods.ts +0 -29
  157. package/templates/wevu-retail/src/services/good/fetchGoodsDetailsComments.ts +0 -37
  158. package/templates/wevu-retail/src/services/good/fetchGoodsList.ts +0 -39
  159. package/templates/wevu-retail/src/services/good/fetchSearchHistory.ts +0 -35
  160. package/templates/wevu-retail/src/services/good/fetchSearchResult.ts +0 -38
  161. package/templates/wevu-retail/src/services/home/home.ts +0 -53
  162. package/templates/wevu-retail/src/services/order/applyService.ts +0 -70
  163. package/templates/wevu-retail/src/services/order/orderConfirm.ts +0 -69
  164. package/templates/wevu-retail/src/services/order/orderDetail.ts +0 -39
  165. package/templates/wevu-retail/src/services/order/orderList.ts +0 -39
  166. package/templates/wevu-retail/src/services/order/orderSubmitComment.ts +0 -22
  167. package/templates/wevu-retail/src/services/promotion/detail.ts +0 -18
  168. package/templates/wevu-retail/src/services/usercenter/fetchPerson.ts +0 -28
  169. package/templates/wevu-retail/src/services/usercenter/fetchUsercenter.ts +0 -18
  170. package/templates/wevu-retail/src/sitemap.json +0 -7
  171. package/templates/wevu-retail/src/utils/addressParse.ts +0 -25
  172. package/templates/wevu-retail/src/utils/getPermission.ts +0 -45
  173. package/templates/wevu-retail/src/utils/mock.ts +0 -51
  174. package/templates/wevu-retail/src/utils/util.ts +0 -134
  175. package/templates/wevu-retail/src/vite-env.d.ts +0 -1
  176. package/templates/wevu-retail/tailwind.config.ts +0 -15
  177. package/templates/wevu-retail/tsconfig.app.json +0 -58
  178. package/templates/wevu-retail/tsconfig.json +0 -11
  179. package/templates/wevu-retail/tsconfig.node.json +0 -33
  180. package/templates/wevu-retail/vite.config.ts +0 -14
@@ -1,299 +0,0 @@
1
- <script lang="ts">
2
- import { fetchGoodsList } from '../../../services/good/fetchGoodsList';
3
- import Toast from 'tdesign-miniprogram/toast/index';
4
-
5
- const initFilters = {
6
- overall: 1,
7
- sorts: '',
8
- layout: 0,
9
- };
10
-
11
- Page({
12
- data: {
13
- goodsList: [],
14
- layout: 0,
15
- sorts: '',
16
- overall: 1,
17
- show: false,
18
- minVal: '',
19
- maxVal: '',
20
- filter: initFilters,
21
- hasLoaded: false,
22
- loadMoreStatus: 0,
23
- loading: true,
24
- },
25
-
26
- pageNum: 1,
27
- pageSize: 30,
28
- total: 0,
29
-
30
- handleFilterChange(e) {
31
- const { layout, overall, sorts } = e.detail;
32
- this.pageNum = 1;
33
- this.setData({
34
- layout,
35
- sorts,
36
- overall,
37
- loadMoreStatus: 0,
38
- });
39
- this.init(true);
40
- },
41
-
42
- generalQueryData(reset = false) {
43
- const { filter, keywords, minVal, maxVal } = this.data;
44
- const { pageNum, pageSize } = this;
45
- const { sorts, overall } = filter;
46
- const params = {
47
- sort: 0, // 0 综合,1 价格
48
- pageNum: 1,
49
- pageSize: 30,
50
- keyword: keywords,
51
- };
52
-
53
- if (sorts) {
54
- params.sort = 1;
55
- params.sortType = sorts === 'desc' ? 1 : 0;
56
- }
57
-
58
- if (overall) {
59
- params.sort = 0;
60
- } else {
61
- params.sort = 1;
62
- }
63
- params.minPrice = minVal ? minVal * 100 : 0;
64
- params.maxPrice = maxVal ? maxVal * 100 : undefined;
65
- if (reset) return params;
66
- return {
67
- ...params,
68
- pageNum: pageNum + 1,
69
- pageSize,
70
- };
71
- },
72
-
73
- async init(reset = true) {
74
- const { loadMoreStatus, goodsList = [] } = this.data;
75
- const params = this.generalQueryData(reset);
76
- if (loadMoreStatus !== 0) return;
77
- this.setData({
78
- loadMoreStatus: 1,
79
- loading: true,
80
- });
81
- try {
82
- const result = await fetchGoodsList(params);
83
- const code = 'Success';
84
- const data = result;
85
- if (code.toUpperCase() === 'SUCCESS') {
86
- const { spuList, totalCount = 0 } = data;
87
- if (totalCount === 0 && reset) {
88
- this.total = totalCount;
89
- this.setData({
90
- emptyInfo: {
91
- tip: '抱歉,未找到相关商品',
92
- },
93
- hasLoaded: true,
94
- loadMoreStatus: 0,
95
- loading: false,
96
- goodsList: [],
97
- });
98
- return;
99
- }
100
-
101
- const _goodsList = reset ? spuList : goodsList.concat(spuList);
102
- const _loadMoreStatus = _goodsList.length === totalCount ? 2 : 0;
103
- this.pageNum = params.pageNum || 1;
104
- this.total = totalCount;
105
- this.setData({
106
- goodsList: _goodsList,
107
- loadMoreStatus: _loadMoreStatus,
108
- });
109
- } else {
110
- this.setData({
111
- loading: false,
112
- });
113
- wx.showToast({
114
- title: '查询失败,请稍候重试',
115
- });
116
- }
117
- } catch (error) {
118
- this.setData({
119
- loading: false,
120
- });
121
- }
122
- this.setData({
123
- hasLoaded: true,
124
- loading: false,
125
- });
126
- },
127
-
128
- onLoad() {
129
- this.init(true);
130
- },
131
-
132
- onReachBottom() {
133
- const { goodsList } = this.data;
134
- const { total = 0 } = this;
135
- if (goodsList.length === total) {
136
- this.setData({
137
- loadMoreStatus: 2,
138
- });
139
- return;
140
- }
141
- this.init(false);
142
- },
143
-
144
- handleAddCart() {
145
- Toast({
146
- context: this,
147
- selector: '#t-toast',
148
- message: '点击加购',
149
- });
150
- },
151
-
152
- tagClickHandle() {
153
- Toast({
154
- context: this,
155
- selector: '#t-toast',
156
- message: '点击标签',
157
- });
158
- },
159
-
160
- gotoGoodsDetail(e) {
161
- const { index } = e.detail;
162
- const { spuId } = this.data.goodsList[index];
163
- wx.navigateTo({
164
- url: `/pages/goods/details/index?spuId=${spuId}`,
165
- });
166
- },
167
-
168
- showFilterPopup() {
169
- this.setData({
170
- show: true,
171
- });
172
- },
173
-
174
- showFilterPopupClose() {
175
- this.setData({
176
- show: false,
177
- });
178
- },
179
-
180
- onMinValAction(e) {
181
- const { value } = e.detail;
182
- this.setData({ minVal: value });
183
- },
184
-
185
- onMaxValAction(e) {
186
- const { value } = e.detail;
187
- this.setData({ maxVal: value });
188
- },
189
-
190
- reset() {
191
- this.setData({ minVal: '', maxVal: '' });
192
- },
193
-
194
- confirm() {
195
- const { minVal, maxVal } = this.data;
196
- let message = '';
197
- if (minVal && !maxVal) {
198
- message = `价格最小是${minVal}`;
199
- } else if (!minVal && maxVal) {
200
- message = `价格范围是0-${minVal}`;
201
- } else if (minVal && maxVal && minVal <= maxVal) {
202
- message = `价格范围${minVal}-${this.data.maxVal}`;
203
- } else {
204
- message = '请输入正确范围';
205
- }
206
- if (message) {
207
- Toast({
208
- context: this,
209
- selector: '#t-toast',
210
- message,
211
- });
212
- }
213
- this.pageNum = 1;
214
- this.setData(
215
- {
216
- show: false,
217
- minVal: '',
218
- goodsList: [],
219
- loadMoreStatus: 0,
220
- maxVal: '',
221
- },
222
- () => {
223
- this.init();
224
- },
225
- );
226
- },
227
- });
228
- </script>
229
-
230
- <template>
231
- <view class="goods-list-container [display:block] [&_.t-search]:[padding:0_30rpx] [&_.t-search]:[background-color:#fff] [&_.t-class__input-container]:[height:64rpx] [&_.t-class__input-container]:[border-radius:32rpx] [&_.t-search__left-icon]:[display:flex] [&_.t-search__left-icon]:[align-items:center] [&_.t-search__input]:[font-size:28rpx] [&_.t-search__input]:[color:rgb(116,_116,_116)] [&_.category-goods-list]:[background-color:#f2f2f2] [&_.category-goods-list]:[overflow-y:scroll] [&_.category-goods-list]:[-webkit-overflow-scrolling:touch] [&_.category-goods-list]:[padding:20rpx_24rpx] [&_.wr-goods-list]:[background:#f2f2f2] [&_.t-image__mask]:[display:flex] [&_.empty-wrap]:[margin-top:184rpx] [&_.empty-wrap]:[margin-bottom:120rpx] [&_.empty-wrap]:[height:300rpx] [&_.empty-wrap_.empty-tips_.empty-content_.content-text]:[margin-top:40rpx] [&_.price-container]:[padding:32rpx] [&_.price-container]:[height:100vh] [&_.price-container]:[max-width:632rpx] [&_.price-container]:[background-color:#fff] [&_.price-container]:[border-radius:30rpx_0_0_30rpx] [&_.price-container]:[box-sizing:border-box] [&_.price-between]:[font-size:26rpx] [&_.price-between]:[font-weight:500] [&_.price-between]:[color:rgba(51,_51,_51,_1)] [&_.price-ipts-wrap]:[width:100%] [&_.price-ipts-wrap]:[display:flex] [&_.price-ipts-wrap]:[align-items:center] [&_.price-ipts-wrap]:[justify-content:space-around] [&_.price-ipts-wrap]:[margin-top:24rpx] [&_.price-ipts-wrap_.price-divided]:[width:16rpx] [&_.price-ipts-wrap_.price-divided]:[margin:0_24rpx] [&_.price-ipts-wrap_.price-divided]:[color:#333333] [&_.price-ipts-wrap_.t-input__wrapper]:[margin:0] [&_.price-ipts-wrap_.t-input__content]:[font-size:24rpx] [&_.price-ipts-wrap_.t-input__placeholder]:[font-size:24rpx] [&_.price-ipts-wrap_.price-ipt]:[border-radius:8rpx]">
232
- <filter
233
- wr-class="filter-container"
234
- bind:change="handleFilterChange"
235
- layout="{{layout}}"
236
- sorts="{{sorts}}"
237
- overall="{{overall}}"
238
- bind:showFilterPopup="showFilterPopup"
239
- >
240
- <filter-popup
241
- slot="filterPopup"
242
- show="{{show}}"
243
- bind:showFilterPopupClose="showFilterPopupClose"
244
- bind:reset="reset"
245
- bind:confirm="confirm"
246
- >
247
- <view class="price-container" slot="filterSlot">
248
- <view class="price-between">价格区间</view>
249
- <view class="price-ipts-wrap">
250
- <t-input
251
- align="center"
252
- type="number"
253
- t-class="price-ipt"
254
- placeholder="最低价"
255
- value="{{minVal}}"
256
- bindchange="onMinValAction"
257
- />
258
- <view class="price-divided">-</view>
259
- <t-input
260
- align="center"
261
- type="number"
262
- t-class="price-ipt"
263
- placeholder="最高价"
264
- value="{{maxVal}}"
265
- bindchange="onMaxValAction"
266
- />
267
- </view>
268
- </view>
269
- </filter-popup>
270
- </filter>
271
- <view class="empty-wrap" wx:if="{{goodsList.length === 0 && hasLoaded}}">
272
- <t-empty t-class="empty-tips" size="240rpx" description="暂无相关商品" />
273
- </view>
274
- <view class="category-goods-list" wx:if="{{goodsList.length}}">
275
- <goods-list
276
- wr-class="wr-goods-list"
277
- goodsList="{{goodsList}}"
278
- bind:click="gotoGoodsDetail"
279
- bind:addcart="handleAddCart"
280
- />
281
- </view>
282
- <load-more wx:if="{{goodsList.length > 0}}" status="{{loadMoreStatus}}" no-more-text="没有更多了" />
283
- </view>
284
- <t-toast id="t-toast" />
285
- </template>
286
-
287
- <json>
288
- {
289
- "navigationBarTitleText": "商品列表",
290
- "usingComponents": {
291
- "t-input": "tdesign-miniprogram/input/input",
292
- "t-empty": "tdesign-miniprogram/empty/empty",
293
- "t-toast": "tdesign-miniprogram/toast/toast",
294
- "goods-list": "/components/goods-list/index",
295
- "filter": "/components/filter/index",
296
- "filter-popup": "/components/filter-popup/index",
297
- "load-more": "/components/load-more/index"
298
- }
299
- }</json>
@@ -1,350 +0,0 @@
1
- <script lang="ts">
2
- /* eslint-disable no-param-reassign */
3
- import { getSearchResult } from '../../../services/good/fetchSearchResult';
4
- import Toast from 'tdesign-miniprogram/toast/index';
5
-
6
- const initFilters = {
7
- overall: 1,
8
- sorts: '',
9
- };
10
-
11
- Page({
12
- data: {
13
- goodsList: [],
14
- sorts: '',
15
- overall: 1,
16
- show: false,
17
- minVal: '',
18
- maxVal: '',
19
- minSalePriceFocus: false,
20
- maxSalePriceFocus: false,
21
- filter: initFilters,
22
- hasLoaded: false,
23
- keywords: '',
24
- loadMoreStatus: 0,
25
- loading: true,
26
- },
27
-
28
- total: 0,
29
- pageNum: 1,
30
- pageSize: 30,
31
-
32
- onLoad(options) {
33
- const { searchValue = '' } = options || {};
34
- this.setData(
35
- {
36
- keywords: searchValue,
37
- },
38
- () => {
39
- this.init(true);
40
- },
41
- );
42
- },
43
-
44
- generalQueryData(reset = false) {
45
- const { filter, keywords, minVal, maxVal } = this.data;
46
- const { pageNum, pageSize } = this;
47
- const { sorts, overall } = filter;
48
- const params = {
49
- sort: 0, // 0 综合,1 价格
50
- pageNum: 1,
51
- pageSize: 30,
52
- keyword: keywords,
53
- };
54
-
55
- if (sorts) {
56
- params.sort = 1;
57
- params.sortType = sorts === 'desc' ? 1 : 0;
58
- }
59
- if (overall) {
60
- params.sort = 0;
61
- } else {
62
- params.sort = 1;
63
- }
64
- params.minPrice = minVal ? minVal * 100 : 0;
65
- params.maxPrice = maxVal ? maxVal * 100 : undefined;
66
- if (reset) return params;
67
- return {
68
- ...params,
69
- pageNum: pageNum + 1,
70
- pageSize,
71
- };
72
- },
73
-
74
- async init(reset = true) {
75
- const { loadMoreStatus, goodsList = [] } = this.data;
76
- const params = this.generalQueryData(reset);
77
- if (loadMoreStatus !== 0) return;
78
- this.setData({
79
- loadMoreStatus: 1,
80
- loading: true,
81
- });
82
- try {
83
- const result = await getSearchResult(params);
84
- const code = 'Success';
85
- const data = result;
86
- if (code.toUpperCase() === 'SUCCESS') {
87
- const { spuList, totalCount = 0 } = data;
88
- if (totalCount === 0 && reset) {
89
- this.total = totalCount;
90
- this.setData({
91
- emptyInfo: {
92
- tip: '抱歉,未找到相关商品',
93
- },
94
- hasLoaded: true,
95
- loadMoreStatus: 0,
96
- loading: false,
97
- goodsList: [],
98
- });
99
- return;
100
- }
101
-
102
- const _goodsList = reset ? spuList : goodsList.concat(spuList);
103
- _goodsList.forEach((v) => {
104
- v.tags = v.spuTagList.map((u) => u.title);
105
- v.hideKey = { desc: true };
106
- });
107
- const _loadMoreStatus = _goodsList.length === totalCount ? 2 : 0;
108
- this.pageNum = params.pageNum || 1;
109
- this.total = totalCount;
110
- this.setData({
111
- goodsList: _goodsList,
112
- loadMoreStatus: _loadMoreStatus,
113
- });
114
- } else {
115
- this.setData({
116
- loading: false,
117
- });
118
- wx.showToast({
119
- title: '查询失败,请稍候重试',
120
- });
121
- }
122
- } catch (error) {
123
- this.setData({
124
- loading: false,
125
- });
126
- }
127
- this.setData({
128
- hasLoaded: true,
129
- loading: false,
130
- });
131
- },
132
-
133
- handleCartTap() {
134
- wx.switchTab({
135
- url: '/pages/cart/index',
136
- });
137
- },
138
-
139
- handleSubmit() {
140
- this.setData(
141
- {
142
- goodsList: [],
143
- loadMoreStatus: 0,
144
- },
145
- () => {
146
- this.init(true);
147
- },
148
- );
149
- },
150
-
151
- onReachBottom() {
152
- const { goodsList } = this.data;
153
- const { total = 0 } = this;
154
- if (goodsList.length === total) {
155
- this.setData({
156
- loadMoreStatus: 2,
157
- });
158
- return;
159
- }
160
- this.init(false);
161
- },
162
-
163
- handleAddCart() {
164
- Toast({
165
- context: this,
166
- selector: '#t-toast',
167
- message: '点击加购',
168
- });
169
- },
170
-
171
- gotoGoodsDetail(e) {
172
- const { index } = e.detail;
173
- const { spuId } = this.data.goodsList[index];
174
- wx.navigateTo({
175
- url: `/pages/goods/details/index?spuId=${spuId}`,
176
- });
177
- },
178
-
179
- handleFilterChange(e) {
180
- const { overall, sorts } = e.detail;
181
- const { total } = this;
182
- const _filter = {
183
- sorts,
184
- overall,
185
- };
186
- this.setData({
187
- filter: _filter,
188
- sorts,
189
- overall,
190
- });
191
-
192
- this.pageNum = 1;
193
- this.setData(
194
- {
195
- goodsList: [],
196
- loadMoreStatus: 0,
197
- },
198
- () => {
199
- total && this.init(true);
200
- },
201
- );
202
- },
203
-
204
- showFilterPopup() {
205
- this.setData({
206
- show: true,
207
- });
208
- },
209
-
210
- showFilterPopupClose() {
211
- this.setData({
212
- show: false,
213
- });
214
- },
215
-
216
- onMinValAction(e) {
217
- const { value } = e.detail;
218
- this.setData({ minVal: value });
219
- },
220
-
221
- onMaxValAction(e) {
222
- const { value } = e.detail;
223
- this.setData({ maxVal: value });
224
- },
225
-
226
- reset() {
227
- this.setData({ minVal: '', maxVal: '' });
228
- },
229
-
230
- confirm() {
231
- const { minVal, maxVal } = this.data;
232
- let message = '';
233
- if (minVal && !maxVal) {
234
- message = `价格最小是${minVal}`;
235
- } else if (!minVal && maxVal) {
236
- message = `价格范围是0-${minVal}`;
237
- } else if (minVal && maxVal && minVal <= maxVal) {
238
- message = `价格范围${minVal}-${this.data.maxVal}`;
239
- } else {
240
- message = '请输入正确范围';
241
- }
242
- if (message) {
243
- Toast({
244
- context: this,
245
- selector: '#t-toast',
246
- message,
247
- });
248
- }
249
- this.pageNum = 1;
250
- this.setData(
251
- {
252
- show: false,
253
- minVal: '',
254
- goodsList: [],
255
- loadMoreStatus: 0,
256
- maxVal: '',
257
- },
258
- () => {
259
- this.init();
260
- },
261
- );
262
- },
263
- });
264
- </script>
265
-
266
- <template>
267
- <view class="result-container [display:block] [&_.t-search]:[padding:0_30rpx] [&_.t-search]:[background-color:#fff] [&_.t-class__input-container]:[height:64rpx] [&_.t-class__input-container]:[border-radius:32rpx] [&_.t-search__left-icon]:[display:flex] [&_.t-search__left-icon]:[align-items:center] [&_.t-search__input]:[font-size:28rpx] [&_.t-search__input]:[color:#333] [&_.category-goods-list]:[background-color:#f2f2f2] [&_.category-goods-list]:[overflow-y:scroll] [&_.category-goods-list]:[padding:20rpx_24rpx] [&_.category-goods-list]:[-webkit-overflow-scrolling:touch] [&_.wr-goods-list]:[background:#f2f2f2] [&_.t-image__mask]:[display:flex] [&_.empty-wrap]:[margin-top:184rpx] [&_.empty-wrap]:[margin-bottom:120rpx] [&_.empty-wrap]:[height:300rpx] [&_.empty-wrap_.empty-tips_.empty-content_.content-text]:[margin-top:40rpx] [&_.price-container]:[padding:32rpx] [&_.price-container]:[height:100vh] [&_.price-container]:[max-width:632rpx] [&_.price-container]:[background-color:#fff] [&_.price-container]:[border-radius:30rpx_0_0_30rpx] [&_.price-between]:[font-size:26rpx] [&_.price-between]:[font-weight:500] [&_.price-between]:[color:rgba(51,_51,_51,_1)] [&_.price-ipts-wrap]:[width:100%] [&_.price-ipts-wrap]:[display:flex] [&_.price-ipts-wrap]:[flex-direction:row] [&_.price-ipts-wrap]:[justify-content:space-around] [&_.price-ipts-wrap]:[margin-top:24rpx] [&_.price-ipts-wrap_.price-divided]:[position:relative] [&_.price-ipts-wrap_.price-divided]:[width:22rpx] [&_.price-ipts-wrap_.price-divided]:[margin:0_20rpx] [&_.price-ipts-wrap_.price-divided]:[color:#222427] [&_.price-ipts-wrap_.price-ipt]:[box-sizing:border-box] [&_.price-ipts-wrap_.price-ipt]:[width:246rpx] [&_.price-ipts-wrap_.price-ipt]:[font-size:24rpx] [&_.price-ipts-wrap_.price-ipt]:[height:56rpx] [&_.price-ipts-wrap_.price-ipt]:[padding:0_24rpx] [&_.price-ipts-wrap_.price-ipt]:[text-align:center] [&_.price-ipts-wrap_.price-ipt]:[border-radius:8rpx] [&_.price-ipts-wrap_.price-ipt]:[color:#333] [&_.price-ipts-wrap_.price-ipt]:[background:rgba(245,_245,_245,_1)] [&_.t-input__control]:[font-size:24rpx] [&_.t-input__control]:[text-align:center]">
268
- <t-search
269
- t-class="t-search"
270
- t-class-input-container="t-class__input-container"
271
- t-class-left="t-search__left-icon"
272
- t-class-input="t-search__input"
273
- value="{{keywords}}"
274
- leftIcon=""
275
- placeholder="iPhone12pro"
276
- bind:submit="handleSubmit"
277
- >
278
- <t-icon slot="left-icon" prefix="wr" name="search" size="40rpx" color="#bbb" />
279
- </t-search>
280
- <filter
281
- wr-class="filter-container"
282
- bind:change="handleFilterChange"
283
- layout="{{layout}}"
284
- sorts="{{sorts}}"
285
- overall="{{overall}}"
286
- bind:showFilterPopup="showFilterPopup"
287
- >
288
- <filter-popup
289
- show="{{show}}"
290
- slot="filterPopup"
291
- bind:showFilterPopupClose="showFilterPopupClose"
292
- bind:reset="reset"
293
- bind:confirm="confirm"
294
- >
295
- <view class="price-container" slot="filterSlot">
296
- <view class="price-between">价格区间</view>
297
- <view class="price-ipts-wrap">
298
- <t-input
299
- type="number"
300
- t-class="price-ipt"
301
- t-class-input="t-class-input"
302
- placeholder="最低价"
303
- value="{{minVal}}"
304
- bindchange="onMinValAction"
305
- />
306
- <view class="price-divided">-</view>
307
- <t-input
308
- type="number"
309
- t-class="price-ipt"
310
- t-class-input="t-class-input"
311
- placeholder="最高价"
312
- value="{{maxVal}}"
313
- bindchange="onMaxValAction"
314
- />
315
- </view>
316
- </view>
317
- </filter-popup>
318
- </filter>
319
- <view class="empty-wrap" wx:if="{{goodsList.length === 0 && hasLoaded}}">
320
- <t-empty t-class="empty-tips" size="240rpx" description="暂无相关商品" />
321
- </view>
322
- <view class="category-goods-list" wx:if="{{goodsList.length}}">
323
- <goods-list
324
- wr-class="wr-goods-list"
325
- goodsList="{{goodsList}}"
326
- bind:click="gotoGoodsDetail"
327
- bind:addcart="handleAddCart"
328
- />
329
- </view>
330
- <load-more wx:if="{{goodsList.length > 0}}" status="{{loadMoreStatus}}" no-more-text="没有更多了" />
331
- </view>
332
- <t-toast id="t-toast" />
333
- </template>
334
-
335
- <json>
336
- {
337
- "navigationBarTitleText": "搜索",
338
- "usingComponents": {
339
- "t-search": "tdesign-miniprogram/search/search",
340
- "t-input": "tdesign-miniprogram/input/input",
341
- "t-empty": "tdesign-miniprogram/empty/empty",
342
- "t-toast": "tdesign-miniprogram/toast/toast",
343
- "goods-list": "/components/goods-list/index",
344
- "filter": "/components/filter/index",
345
- "filter-popup": "/components/filter-popup/index",
346
- "load-more": "/components/load-more/index",
347
- "t-icon": "tdesign-miniprogram/icon/icon"
348
- },
349
- "onReachBottomDistance": 50
350
- }</json>