Commit 99cc549eb86e4c9f8c976c83e9c307eceaf7c204
1 parent
deacd713
测肤 历史档案
Showing
5 changed files
with
116 additions
and
70 deletions
packageD/pages/AI-test-skin/history_record/history_record.js
@@ -177,69 +177,102 @@ Page({ | @@ -177,69 +177,102 @@ Page({ | ||
177 | return initChart; | 177 | return initChart; |
178 | } | 178 | } |
179 | }, | 179 | }, |
180 | + history: [], | ||
181 | + page: 1, | ||
182 | + no_more: 0, | ||
183 | + isLoading: 0, | ||
184 | + is_get: 0, | ||
180 | }, | 185 | }, |
181 | 186 | ||
182 | /** | 187 | /** |
183 | * 生命周期函数--监听页面加载 | 188 | * 生命周期函数--监听页面加载 |
184 | */ | 189 | */ |
185 | onLoad: function (options) { | 190 | onLoad: function (options) { |
191 | + | ||
192 | + }, | ||
193 | + | ||
194 | + /** | ||
195 | + * 生命周期函数--监听页面初次渲染完成 | ||
196 | + */ | ||
197 | + onReady: function () { | ||
198 | + | ||
199 | + }, | ||
200 | + | ||
201 | + time_sort(data) { | ||
202 | + let arr = this.data.history; | ||
203 | + for (let i = 0; i < data.length; i++) { | ||
204 | + let history = data[i]; | ||
205 | + let id = history.id; | ||
206 | + let now = new Date(history['addtime'] * 1000); | ||
207 | + let year = now.getFullYear(); //年 | ||
208 | + let month = (now.getMonth() + 1).toString().padStart(2, 0); //月 | ||
209 | + let day = (now.getDate()).toString().padStart(2, 0); //日 | ||
210 | + let hour = (now.getHours()).toString().padStart(2, 0); //时 | ||
211 | + let minute = (now.getMinutes()).toString().padStart(2, 0); //分 | ||
212 | + let history_time = `${year}年${month}月`; | ||
213 | + let time = `${year}/${month}/${day} ${hour}:${minute}`; | ||
214 | + let time_obj = { | ||
215 | + history_time, | ||
216 | + time_arr: new Array(), | ||
217 | + }; | ||
218 | + if (arr.length > 0) { | ||
219 | + let index = arr.findIndex(item => { | ||
220 | + return item['history_time'] === history_time; | ||
221 | + }) | ||
222 | + if (index > -1) { | ||
223 | + let obj = { | ||
224 | + time, | ||
225 | + id, | ||
226 | + }; | ||
227 | + arr[index]['time_arr'].push(obj); | ||
228 | + } else { | ||
229 | + arr.push(time_obj); | ||
230 | + } | ||
231 | + } else { | ||
232 | + arr.push(time_obj); | ||
233 | + } | ||
234 | + } | ||
235 | + return arr; | ||
236 | + }, | ||
237 | + | ||
238 | + async getHistoryData() { | ||
239 | + if (this.data.no_more) return false; | ||
240 | + if (this.data.isLoading) return false; | ||
241 | + this.data.isLoading = 1; | ||
242 | + let history = this.data.history; | ||
186 | let url = `/api/weshop/face/storeSkinface/page`; | 243 | let url = `/api/weshop/face/storeSkinface/page`; |
187 | - app.request.promiseGet(url, { | 244 | + const { data: res } = await request.promiseGet(url, { |
188 | isShowLoading: true, | 245 | isShowLoading: true, |
189 | data: { | 246 | data: { |
190 | store_id: setting.stoid, | 247 | store_id: setting.stoid, |
191 | user_id: os.user_id, | 248 | user_id: os.user_id, |
249 | + page: this.data.page, | ||
192 | } | 250 | } |
193 | - }).then(res => { | ||
194 | - console.log('111111111', res); | ||
195 | - if (ut.ajax_ok(res)) { | ||
196 | - let data = res.data.data.pageData; | ||
197 | - let arr = []; | ||
198 | - for (let i = 0; i < data.length; i++) { | ||
199 | - let history = data[i]; | ||
200 | - let id = history.id; | ||
201 | - let now = new Date(history['addtime'] * 1000); | ||
202 | - let year = now.getFullYear(); //年 | ||
203 | - let month = (now.getMonth() + 1).toString().padStart(2, 0); //月 | ||
204 | - let day = (now.getDate()).toString().padStart(2, 0); //日 | ||
205 | - let hour = (now.getHours()).toString().padStart(2, 0); //时 | ||
206 | - let minute = (now.getMinutes()).toString().padStart(2, 0); //分 | ||
207 | - let history_time = `${year}年${month}月`; | ||
208 | - let time = `${year}/${month}/${day} ${hour}:${minute}`; | ||
209 | - let time_obj = { | ||
210 | - history_time, | ||
211 | - time_arr: new Array(), | ||
212 | - }; | ||
213 | - if (arr.length > 0) { | ||
214 | - let index = arr.findIndex(item => { | ||
215 | - return item['history_time'] === history_time; | ||
216 | - }) | ||
217 | - if (index > -1) { | ||
218 | - let obj = { | ||
219 | - time, | ||
220 | - id, | ||
221 | - }; | ||
222 | - arr[index]['time_arr'].push(obj); | ||
223 | - } else { | ||
224 | - arr.push(time_obj); | ||
225 | - } | ||
226 | - } else { | ||
227 | - arr.push(time_obj); | ||
228 | - } | ||
229 | - } | 251 | + }); |
252 | + // initChart.setOption(option); | ||
253 | + if (res.code == 0 && res.data.pageData.length > 0) { | ||
254 | + history = this.time_sort(res.data.pageData); | ||
255 | + this.setData({ | ||
256 | + history, | ||
257 | + no_more: 0, | ||
258 | + isLoading: 0, | ||
259 | + is_get: 1, | ||
260 | + }) | ||
261 | + } else { | ||
262 | + if (res.data.page > 1) { | ||
263 | + this.setData({ | ||
264 | + history, | ||
265 | + no_more: 1, | ||
266 | + isLoading: 0, | ||
267 | + is_get: 1, | ||
268 | + }) | ||
269 | + } else { | ||
230 | this.setData({ | 270 | this.setData({ |
231 | - history: arr, | 271 | + history: [], |
272 | + is_get: 1, | ||
232 | }) | 273 | }) |
233 | - initChart.setOption(option); | ||
234 | } | 274 | } |
235 | - | ||
236 | - }) | ||
237 | - }, | ||
238 | - | ||
239 | - /** | ||
240 | - * 生命周期函数--监听页面初次渲染完成 | ||
241 | - */ | ||
242 | - onReady: function () { | 275 | + } |
243 | 276 | ||
244 | }, | 277 | }, |
245 | 278 | ||
@@ -247,12 +280,12 @@ Page({ | @@ -247,12 +280,12 @@ Page({ | ||
247 | * 生命周期函数--监听页面显示 | 280 | * 生命周期函数--监听页面显示 |
248 | */ | 281 | */ |
249 | onShow: function () { | 282 | onShow: function () { |
250 | - setTimeout(() => { | ||
251 | - | ||
252 | - }, 1000); | 283 | + this.getHistoryData(); |
253 | }, | 284 | }, |
254 | go_result(e) { | 285 | go_result(e) { |
255 | - | 286 | + let id = e.currentTarget.dataset.id; |
287 | + let url =`/packageD/pages/AI-test-skin/success_result/success_result?id=${id}`; | ||
288 | + app.goto(url); | ||
256 | }, | 289 | }, |
257 | 290 | ||
258 | /** | 291 | /** |
@@ -280,7 +313,8 @@ Page({ | @@ -280,7 +313,8 @@ Page({ | ||
280 | * 页面上拉触底事件的处理函数 | 313 | * 页面上拉触底事件的处理函数 |
281 | */ | 314 | */ |
282 | onReachBottom: function () { | 315 | onReachBottom: function () { |
283 | - | 316 | + this.data.page++; |
317 | + this.getHistoryData(); | ||
284 | }, | 318 | }, |
285 | 319 | ||
286 | /** | 320 | /** |
packageD/pages/AI-test-skin/history_record/history_record.json
1 | { | 1 | { |
2 | "navigationBarTitleText": "历史变化", | 2 | "navigationBarTitleText": "历史变化", |
3 | "usingComponents": { | 3 | "usingComponents": { |
4 | - "ec-canvas": "../../../components/ec-canvas/ec-canvas" | 4 | + "ec-canvas": "../../../components/ec-canvas/ec-canvas", |
5 | + "nodata": "/components/nodata/nodata" | ||
5 | } | 6 | } |
6 | } | 7 | } |
7 | \ No newline at end of file | 8 | \ No newline at end of file |
packageD/pages/AI-test-skin/history_record/history_record.wxml
1 | <view class="content"> | 1 | <view class="content"> |
2 | - <view style="margin-bottom: 5%;">历史分析</view> | ||
3 | - <view class="echarts" style="border-radius: 30rpx;"> | ||
4 | - <view class="tubiao"> | ||
5 | - <ec-canvas id="mychart" canvas-id="mychart-bar" ec="{{ec}}"></ec-canvas> | 2 | + <view style="display: none;"> |
3 | + <view style="margin-bottom: 5%;">历史分析</view> | ||
4 | + <view class="echarts" style="border-radius: 30rpx;"> | ||
5 | + <view class="tubiao"> | ||
6 | + <ec-canvas id="mychart" canvas-id="mychart-bar" ec="{{ec}}"></ec-canvas> | ||
7 | + </view> | ||
8 | + <text class="fs24" style="position:absolute;bottom:25px;color: #333;"> | ||
9 | + 注:请确保多次拍摄姿态和环境光线一致。拍摄姿态的偏移、环境光线变化或者皮肤状态变化都可能导致分数较大波动。 | ||
10 | + </text> | ||
6 | </view> | 11 | </view> |
7 | - <text class="fs24" style="position:absolute;bottom:25px;color: #333;"> | ||
8 | - 注:请确保多次拍摄姿态和环境光线一致。拍摄姿态的偏移、环境光线变化或者皮肤状态变化都可能导致分数较大波动。 | ||
9 | - </text> | ||
10 | </view> | 12 | </view> |
11 | - <view class="mgv5">历史报告</view> | ||
12 | - | 13 | + <view class="mgb5">历史报告</view> |
13 | <view class="history_list"> | 14 | <view class="history_list"> |
14 | <view class="history_list_month" wx:for="{{history}}"> | 15 | <view class="history_list_month" wx:for="{{history}}"> |
15 | - <view style="color:#333;font-size:26rpx;margin-top: 30rpx">{{item.time}}</view> | ||
16 | - <view class="souce" wx:for="{{item.time_arr}}" wx:for-item="subitem" wx:for-index="subindex" wx:key="subindex"> | ||
17 | - <view style="font-weight: 600;">{{subitem}}</view> | ||
18 | - <view style="color: #9b9b9b;" bindtap="go_result">去查看<text style="font-size: 24rpx;" class="iconfont icon-arrow_right"></text></view> | 16 | + <view style="color:#333;font-size:26rpx;margin-top: 30rpx">{{item.history_time}}</view> |
17 | + <view class="souce" wx:for="{{item.time_arr}}" wx:for-item="subitem" bindtap="go_result" data-id="{{subitem.id}}" wx:for-index="subindex" wx:key="subindex"> | ||
18 | + <view style="font-weight: 600;">{{subitem.time}}</view> | ||
19 | + <view style="color: #9b9b9b;" >去查看<text style="font-size: 24rpx;" class="iconfont icon-arrow_right"></text></view> | ||
19 | </view> | 20 | </view> |
20 | </view> | 21 | </view> |
21 | </view> | 22 | </view> |
23 | + <view class="no-more txt-center" wx:if="{{history.length > 0 && no_more}}">- 没有更多了 -</view> | ||
24 | + <nodata class="t-c" wx:if="{{history.length==0 && is_get}}"></nodata> | ||
22 | </view> | 25 | </view> |
23 | \ No newline at end of file | 26 | \ No newline at end of file |
packageD/pages/AI-test-skin/history_record/history_record.wxss
@@ -4,10 +4,18 @@ page { | @@ -4,10 +4,18 @@ page { | ||
4 | height: 100%; | 4 | height: 100%; |
5 | } | 5 | } |
6 | 6 | ||
7 | -.mgv5 { | 7 | +.mgb5 { |
8 | margin-top: 5%; | 8 | margin-top: 5%; |
9 | margin-bottom: 5%; | 9 | margin-bottom: 5%; |
10 | } | 10 | } |
11 | +.txt-center { | ||
12 | + text-align: center; | ||
13 | +} | ||
14 | +.no-more { | ||
15 | + font-size: 24rpx; | ||
16 | + line-height: 3; | ||
17 | + color: #bbb; | ||
18 | +} | ||
11 | 19 | ||
12 | .content { | 20 | .content { |
13 | padding: 5%; | 21 | padding: 5%; |
packageD/pages/AI-test-skin/index/aiskin.wxml
1 | <view class="container1"> | 1 | <view class="container1"> |
2 | <view class="history"> | 2 | <view class="history"> |
3 | - <cover-view style="padding: 0 6rpx 0 25rpx;" bindtap="goto" data-url="/packageB/pages/AI-test-skin/history_record/history_record">历史档案</cover-view> | 3 | + <cover-view style="padding: 0 6rpx 0 25rpx;" bindtap="goto" data-url="/packageD/pages/AI-test-skin/history_record/history_record">历史档案</cover-view> |
4 | <text class="iconfont icon-arrow_right"></text> | 4 | <text class="iconfont icon-arrow_right"></text> |
5 | </view> | 5 | </view> |
6 | <image src="{{iurl}}/miniapp/images/skinimg/shouye.jpeg"></image> | 6 | <image src="{{iurl}}/miniapp/images/skinimg/shouye.jpeg"></image> |
7 | - <view class="start_btn" bindtap="goto" data-url="/packageB/pages/AI-test-skin/shoot_notice/shoot_notice"> | 7 | + <view class="start_btn" bindtap="goto" data-url="/packageD/pages/AI-test-skin/shoot_notice/shoot_notice"> |
8 | <text>开始测肤</text> | 8 | <text>开始测肤</text> |
9 | </view> | 9 | </view> |
10 | </view> | 10 | </view> |
11 | \ No newline at end of file | 11 | \ No newline at end of file |