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 | 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 | 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 | 243 | let url = `/api/weshop/face/storeSkinface/page`; | 
| 187 | - app.request.promiseGet(url, { | |
| 244 | + const { data: res } = await request.promiseGet(url, { | |
| 188 | 245 | isShowLoading: true, | 
| 189 | 246 | data: { | 
| 190 | 247 | store_id: setting.stoid, | 
| 191 | 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 | 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 | 280 | * 生命周期函数--监听页面显示 | 
| 248 | 281 | */ | 
| 249 | 282 | onShow: function () { | 
| 250 | - setTimeout(() => { | |
| 251 | - | |
| 252 | - }, 1000); | |
| 283 | + this.getHistoryData(); | |
| 253 | 284 | }, | 
| 254 | 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 | 313 | * 页面上拉触底事件的处理函数 | 
| 281 | 314 | */ | 
| 282 | 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
packageD/pages/AI-test-skin/history_record/history_record.wxml
| 1 | 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 | 11 | </view> | 
| 7 | - <text class="fs24" style="position:absolute;bottom:25px;color: #333;"> | |
| 8 | - 注:请确保多次拍摄姿态和环境光线一致。拍摄姿态的偏移、环境光线变化或者皮肤状态变化都可能导致分数较大波动。 | |
| 9 | - </text> | |
| 10 | 12 | </view> | 
| 11 | - <view class="mgv5">历史报告</view> | |
| 12 | - | |
| 13 | + <view class="mgb5">历史报告</view> | |
| 13 | 14 | <view class="history_list"> | 
| 14 | 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 | 20 | </view> | 
| 20 | 21 | </view> | 
| 21 | 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 | 25 | </view> | 
| 23 | 26 | \ No newline at end of file | ... | ... | 
packageD/pages/AI-test-skin/history_record/history_record.wxss
| ... | ... | @@ -4,10 +4,18 @@ page { | 
| 4 | 4 | height: 100%; | 
| 5 | 5 | } | 
| 6 | 6 | |
| 7 | -.mgv5 { | |
| 7 | +.mgb5 { | |
| 8 | 8 | margin-top: 5%; | 
| 9 | 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 | 20 | .content { | 
| 13 | 21 | padding: 5%; | ... | ... | 
packageD/pages/AI-test-skin/index/aiskin.wxml
| 1 | 1 | <view class="container1"> | 
| 2 | 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 | 4 | <text class="iconfont icon-arrow_right"></text> | 
| 5 | 5 | </view> | 
| 6 | 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 | 8 | <text>开始测肤</text> | 
| 9 | 9 | </view> | 
| 10 | 10 | </view> | 
| 11 | 11 | \ No newline at end of file | ... | ... | 
