From f2c0fcff4cd622d43f1d12e28ef95fb94332bdb0 Mon Sep 17 00:00:00 2001 From: qcl_123 <5212384+qcl_123@user.noreply.gitee.com> Date: Tue, 25 Nov 2025 14:21:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E6=96=B0=E7=89=88=E5=8E=A8=E6=88=BF?= =?UTF-8?q?=E7=A7=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 2 +- assets/common.scss | 432 +++++++-- assets/iconfont-weapp-icon.css | 4 +- assets/iconfont.css | 2 +- assets/login.scss | 42 +- components/bluetooth.vue | 24 +- components/bluetooth_food - copy.vue | 10 +- components/bluetooth_food.vue | 456 +++++---- components/list.vue | 6 +- components/search.vue | 38 +- components/search2.vue | 25 +- components/select-ruler/select-ruler.vue | 8 +- components/tabbar.vue | 4 +- package-lock.json | 27 + package.json | 5 +- pageTwo/count/KcalEdit.vue | 14 +- pageTwo/count/everyDay.vue | 379 ++++++++ pageTwo/count/everyMeal.vue | 446 +++++++++ pageTwo/count/{food.vue => food-copy.vue} | 74 +- pageTwo/count/search.vue | 626 +++++++------ pageTwo/count/setting.vue | 339 ++++--- pageTwo/login/forgetPassword.vue | 30 +- pageTwo/login/login.vue | 13 +- pageTwo/me/feedBack.vue | 12 +- pageTwo/me/foodlist -copy.vue | 365 ++++++++ pageTwo/me/foodlist.vue | 879 +++++++++++------ pageTwo/me/menuEdit.vue | 38 +- pageTwo/me/menudetail.vue | 88 +- pageTwo/me/mymenu.vue | 54 +- pageTwo/me/record.vue | 83 +- pageTwo/me/recordetail.vue | 617 ++++++++++++ pageTwo/me/userEdit.vue | 28 +- pageTwo/setting/email.vue | 32 +- pageTwo/setting/password.vue | 24 +- pageTwo/setting/phone.vue | 32 +- pageTwo/setting/setting.vue | 24 +- pages.json | 55 +- pages/add/Preview.vue | 60 +- pages/add/add.vue | 32 +- pages/count/count.vue | 884 +++++++----------- pages/index/index.vue | 739 +++++---------- pages/me/me.vue | 42 +- pages/menu/menu.vue | 6 +- pages/search/list.vue | 14 +- pages/search/search.vue | 111 ++- static/0.png | Bin 96811 -> 0 bytes static/1.png | Bin 3290 -> 0 bytes static/2.png | Bin 57057 -> 0 bytes static/20.png | Bin 4276 -> 0 bytes static/21.png | Bin 4236 -> 0 bytes static/22.png | Bin 3730 -> 0 bytes static/23.png | Bin 4263 -> 0 bytes static/24.png | Bin 2559 -> 0 bytes static/25.png | Bin 3502 -> 0 bytes static/3.png | Bin 3057 -> 0 bytes static/4.png | Bin 51131 -> 0 bytes static/5.png | Bin 2305 -> 0 bytes static/6.png | Bin 35869 -> 0 bytes static/7.png | Bin 4644 -> 0 bytes static/8.png | Bin 49219 -> 0 bytes static/add.png | Bin 9588 -> 9953 bytes static/cheng.png | Bin 0 -> 6883 bytes static/close.png | Bin 4982 -> 0 bytes static/fenxi.png | Bin 0 -> 5436 bytes static/jia.png | Bin 64343 -> 0 bytes static/none.png | Bin 554838 -> 3840 bytes static/qie.png | Bin 0 -> 3740 bytes static/qupi.png | Bin 0 -> 3870 bytes static/wan.png | Bin 58427 -> 0 bytes static/wu.png | Bin 89654 -> 0 bytes static/xiangqing.png | Bin 0 -> 6695 bytes static/zao.png | Bin 102637 -> 0 bytes static/zhong.png | Bin 0 -> 4978 bytes static/断开.png | Bin 0 -> 5858 bytes store/index.js | 36 +- tools/https.js | 2 +- tools/model.js | 8 +- uni.scss | 19 +- uni_modules/llt-slider-range/changelog.md | 30 + .../llt-slider-range/llt-slider-range.vue | 467 +++++++++ .../components/llt-slider-range/throttle.js | 30 + uni_modules/llt-slider-range/package.json | 86 ++ uni_modules/llt-slider-range/readme.md | 153 +++ .../components/qiun-data-charts.vue | 31 +- .../qiun-data-charts/js_sdk/config-ucharts.js | 27 +- .../components/uni-drawer/uni-drawer.vue | 2 +- .../uni-file-picker/uni-file-picker.vue | 4 +- .../uni-file-picker/upload-file.vue | 20 +- .../uni-file-picker/upload-image.vue | 8 +- uni_modules/uni-popup/changelog.md | 102 ++ .../components/uni-popup-dialog/keypress.js | 45 + .../uni-popup-dialog/uni-popup-dialog.vue | 330 +++++++ .../uni-popup-message/uni-popup-message.vue | 143 +++ .../uni-popup-share/uni-popup-share.vue | 188 ++++ .../components/uni-popup/i18n/en.json | 7 + .../components/uni-popup/i18n/index.js | 8 + .../components/uni-popup/i18n/zh-Hans.json | 7 + .../components/uni-popup/i18n/zh-Hant.json | 7 + .../components/uni-popup/keypress.js | 45 + .../uni-popup/components/uni-popup/popup.js | 26 + .../components/uni-popup/uni-popup.uvue | 90 ++ .../components/uni-popup/uni-popup.vue | 518 ++++++++++ uni_modules/uni-popup/package.json | 107 +++ uni_modules/uni-popup/readme.md | 17 + .../uni-swipe-action-item.vue | 6 +- uni_modules/uni-transition/changelog.md | 31 + .../uni-transition/createAnimation.js | 131 +++ .../uni-transition/uni-transition.vue | 292 ++++++ uni_modules/uni-transition/package.json | 112 +++ uni_modules/uni-transition/readme.md | 11 + unpackage/dist/build/mp-weixin/app.json | 7 +- .../dist/build/mp-weixin/common/main.wxss | 16 +- .../dist/build/mp-weixin/common/vendor.js | 4 +- .../build/mp-weixin/components/bluetooth.js | 2 +- .../build/mp-weixin/components/bluetooth.wxml | 2 +- .../build/mp-weixin/components/bluetooth.wxss | 2 +- .../mp-weixin/components/bluetooth_food.js | 2 +- .../mp-weixin/components/bluetooth_food.json | 4 +- .../mp-weixin/components/bluetooth_food.wxml | 2 +- .../mp-weixin/components/bluetooth_food.wxss | 3 +- .../dist/build/mp-weixin/components/search.js | 2 +- .../build/mp-weixin/components/search.wxml | 2 +- .../build/mp-weixin/components/search.wxss | 2 +- .../build/mp-weixin/components/search2.js | 2 +- .../build/mp-weixin/components/search2.wxml | 2 +- .../build/mp-weixin/components/search2.wxss | 2 +- .../build/mp-weixin/pageTwo/count/KcalEdit.js | 2 +- .../mp-weixin/pageTwo/count/KcalEdit.wxml | 2 +- .../mp-weixin/pageTwo/count/KcalEdit.wxss | 2 +- .../build/mp-weixin/pageTwo/count/food.js | 2 +- .../build/mp-weixin/pageTwo/count/food.wxml | 2 +- .../build/mp-weixin/pageTwo/count/food.wxss | 6 +- .../build/mp-weixin/pageTwo/count/search.js | 2 +- .../build/mp-weixin/pageTwo/count/search.json | 4 +- .../build/mp-weixin/pageTwo/count/search.wxml | 2 +- .../build/mp-weixin/pageTwo/count/search.wxss | 6 +- .../build/mp-weixin/pageTwo/count/setting.js | 2 +- .../mp-weixin/pageTwo/count/setting.wxml | 2 +- .../mp-weixin/pageTwo/count/setting.wxss | 2 +- .../mp-weixin/pageTwo/login/forgetPassword.js | 2 +- .../pageTwo/login/forgetPassword.wxml | 2 +- .../pageTwo/login/forgetPassword.wxss | 2 +- .../build/mp-weixin/pageTwo/login/login.js | 2 +- .../build/mp-weixin/pageTwo/login/login.wxml | 2 +- .../build/mp-weixin/pageTwo/login/login.wxss | 2 +- .../build/mp-weixin/pageTwo/me/feedBack.js | 2 +- .../build/mp-weixin/pageTwo/me/feedBack.wxml | 2 +- .../build/mp-weixin/pageTwo/me/feedBack.wxss | 2 +- .../build/mp-weixin/pageTwo/me/foodlist.js | 2 +- .../build/mp-weixin/pageTwo/me/foodlist.json | 2 +- .../build/mp-weixin/pageTwo/me/foodlist.wxml | 2 +- .../build/mp-weixin/pageTwo/me/foodlist.wxss | 4 +- .../build/mp-weixin/pageTwo/me/menuEdit.js | 2 +- .../build/mp-weixin/pageTwo/me/menuEdit.wxml | 2 +- .../build/mp-weixin/pageTwo/me/menuEdit.wxss | 6 +- .../build/mp-weixin/pageTwo/me/menudetail.js | 2 +- .../mp-weixin/pageTwo/me/menudetail.wxml | 2 +- .../mp-weixin/pageTwo/me/menudetail.wxss | 2 +- .../dist/build/mp-weixin/pageTwo/me/mymenu.js | 2 +- .../build/mp-weixin/pageTwo/me/mymenu.wxml | 2 +- .../build/mp-weixin/pageTwo/me/mymenu.wxss | 2 +- .../dist/build/mp-weixin/pageTwo/me/record.js | 2 +- .../build/mp-weixin/pageTwo/me/record.wxml | 2 +- .../build/mp-weixin/pageTwo/me/record.wxss | 2 +- .../build/mp-weixin/pageTwo/me/recordetail.js | 1 + .../mp-weixin/pageTwo/me/recordetail.json | 8 + .../mp-weixin/pageTwo/me/recordetail.wxml | 1 + .../mp-weixin/pageTwo/me/recordetail.wxss | 1 + .../build/mp-weixin/pageTwo/me/userEdit.js | 2 +- .../build/mp-weixin/pageTwo/me/userEdit.wxml | 2 +- .../build/mp-weixin/pageTwo/me/userEdit.wxss | 2 +- .../build/mp-weixin/pageTwo/setting/email.js | 2 +- .../mp-weixin/pageTwo/setting/email.wxml | 2 +- .../mp-weixin/pageTwo/setting/email.wxss | 2 +- .../mp-weixin/pageTwo/setting/password.js | 2 +- .../mp-weixin/pageTwo/setting/password.wxml | 2 +- .../mp-weixin/pageTwo/setting/password.wxss | 2 +- .../build/mp-weixin/pageTwo/setting/phone.js | 2 +- .../mp-weixin/pageTwo/setting/phone.wxml | 2 +- .../mp-weixin/pageTwo/setting/phone.wxss | 2 +- .../mp-weixin/pageTwo/setting/setting.js | 2 +- .../mp-weixin/pageTwo/setting/setting.wxml | 2 +- .../mp-weixin/pageTwo/setting/setting.wxss | 2 +- .../dist/build/mp-weixin/pages/add/Preview.js | 2 +- .../build/mp-weixin/pages/add/Preview.wxml | 2 +- .../build/mp-weixin/pages/add/Preview.wxss | 2 +- .../dist/build/mp-weixin/pages/add/add.js | 2 +- .../dist/build/mp-weixin/pages/add/add.wxml | 2 +- .../dist/build/mp-weixin/pages/add/add.wxss | 6 +- .../dist/build/mp-weixin/pages/count/count.js | 2 +- .../build/mp-weixin/pages/count/count.json | 2 +- .../build/mp-weixin/pages/count/count.wxml | 2 +- .../build/mp-weixin/pages/count/count.wxss | 2 +- .../dist/build/mp-weixin/pages/index/index.js | 2 +- .../build/mp-weixin/pages/index/index.wxml | 2 +- .../build/mp-weixin/pages/index/index.wxss | 2 +- unpackage/dist/build/mp-weixin/pages/me/me.js | 2 +- .../dist/build/mp-weixin/pages/me/me.wxml | 2 +- .../dist/build/mp-weixin/pages/me/me.wxss | 2 +- .../dist/build/mp-weixin/pages/menu/menu.js | 2 +- .../dist/build/mp-weixin/pages/menu/menu.wxml | 2 +- .../dist/build/mp-weixin/pages/menu/menu.wxss | 2 +- .../dist/build/mp-weixin/pages/search/list.js | 2 +- .../build/mp-weixin/pages/search/list.wxml | 2 +- .../build/mp-weixin/pages/search/list.wxss | 2 +- .../build/mp-weixin/pages/search/search.js | 2 +- .../build/mp-weixin/pages/search/search.wxml | 2 +- .../build/mp-weixin/pages/search/search.wxss | 4 +- unpackage/dist/build/mp-weixin/static/add.png | Bin 9588 -> 9953 bytes .../build/mp-weixin/static/arrow-down.png | Bin 0 -> 2546 bytes .../dist/build/mp-weixin/static/arrow-up.png | Bin 0 -> 2486 bytes .../dist/build/mp-weixin/static/cheng.png | Bin 0 -> 6883 bytes .../dist/build/mp-weixin/static/chengIcon.png | Bin 0 -> 817 bytes unpackage/dist/build/mp-weixin/static/jia.png | Bin 64343 -> 43451 bytes .../build/mp-weixin/static/keybordIcon.png | Bin 0 -> 758 bytes .../dist/build/mp-weixin/static/none.png | Bin 554838 -> 231760 bytes unpackage/dist/build/mp-weixin/static/wan.png | Bin 58427 -> 31697 bytes unpackage/dist/build/mp-weixin/static/wu.png | Bin 89654 -> 52208 bytes unpackage/dist/build/mp-weixin/static/zao.png | Bin 102637 -> 50471 bytes .../components/qiun-data-charts.js | 2 +- .../components/qiun-data-charts.wxml | 2 +- .../components/qiun-data-charts.wxss | 2 +- .../components/uni-drawer/uni-drawer.js | 2 +- .../components/uni-drawer/uni-drawer.wxml | 2 +- .../components/uni-drawer/uni-drawer.wxss | 2 +- .../uni-swipe-action-item.js | 2 +- .../uni-swipe-action-item.wxss | 2 +- .../uni-swipe-action/uni-swipe-action.js | 2 +- .../.sourcemap/mp-weixin/common/main.js.map | 2 +- .../.sourcemap/mp-weixin/common/vendor.js.map | 2 +- .../mp-weixin/components/bluetooth.js.map | 2 +- .../components/bluetooth_food.js.map | 2 +- .../mp-weixin/components/food_item.js.map | 2 +- .../mp-weixin/components/search.js.map | 2 +- .../mp-weixin/components/search2.js.map | 2 +- .../@qiun/vue-ucharts/src/index.js.map | 1 + .../@qiun/vue-ucharts/src/loading1.js.map | 1 + .../@qiun/vue-ucharts/src/loading2.js.map | 1 + .../@qiun/vue-ucharts/src/loading3.js.map | 1 + .../@qiun/vue-ucharts/src/loading4.js.map | 1 + .../@qiun/vue-ucharts/src/loading5.js.map | 1 + .../@qiun/vue-ucharts/src/qiun-error.js.map | 1 + .../@qiun/vue-ucharts/src/qiun-loading.js.map | 1 + .../vue-ucharts/src/qiun-vue-ucharts.js.map | 1 + .../mp-weixin/pageTwo/count/KcalEdit.js.map | 2 +- .../mp-weixin/pageTwo/count/everyDay.js.map | 1 + .../mp-weixin/pageTwo/count/everyMeal.js.map | 1 + .../mp-weixin/pageTwo/count/food.js.map | 2 +- .../mp-weixin/pageTwo/count/search.js.map | 2 +- .../mp-weixin/pageTwo/count/setting.js.map | 2 +- .../mp-weixin/pageTwo/everyDay.js.map | 1 + .../pageTwo/login/forgetPassword.js.map | 2 +- .../mp-weixin/pageTwo/login/login.js.map | 2 +- .../mp-weixin/pageTwo/me/feedBack.js.map | 2 +- .../mp-weixin/pageTwo/me/foodlist.js.map | 2 +- .../mp-weixin/pageTwo/me/menuEdit.js.map | 2 +- .../mp-weixin/pageTwo/me/menudetail.js.map | 2 +- .../mp-weixin/pageTwo/me/mymenu.js.map | 2 +- .../mp-weixin/pageTwo/me/record.js.map | 2 +- .../mp-weixin/pageTwo/me/recordetail.js.map | 1 + .../mp-weixin/pageTwo/me/userEdit.js.map | 2 +- .../mp-weixin/pageTwo/setting/email.js.map | 2 +- .../mp-weixin/pageTwo/setting/password.js.map | 2 +- .../mp-weixin/pageTwo/setting/phone.js.map | 2 +- .../mp-weixin/pageTwo/setting/setting.js.map | 2 +- .../mp-weixin/pages/add/Preview.js.map | 2 +- .../.sourcemap/mp-weixin/pages/add/add.js.map | 2 +- .../mp-weixin/pages/count/count.js.map | 2 +- .../mp-weixin/pages/index/index.js.map | 2 +- .../.sourcemap/mp-weixin/pages/me/me.js.map | 2 +- .../mp-weixin/pages/menu/menu.js.map | 2 +- .../mp-weixin/pages/search/list.js.map | 2 +- .../mp-weixin/pages/search/search.js.map | 2 +- .../llt-slider-range/llt-slider-range.js.map | 1 + .../components/qiun-data-charts.js.map | 2 +- .../components/uni-drawer/uni-drawer.js.map | 2 +- .../components/uni-icons/uni-icons.js.map | 2 +- .../uni-popup-dialog/uni-popup-dialog.js.map | 1 + .../components/uni-popup/uni-popup.js.map | 1 + .../uni-swipe-action-item.js.map | 2 +- .../uni-transition/uni-transition.js.map | 1 + unpackage/dist/dev/mp-weixin/app.json | 10 +- unpackage/dist/dev/mp-weixin/common/main.wxss | 392 ++++++-- unpackage/dist/dev/mp-weixin/common/vendor.js | 533 ++++++++--- .../dev/mp-weixin/components/bluetooth.js | 34 +- .../dev/mp-weixin/components/bluetooth.wxss | 24 +- .../mp-weixin/components/bluetooth_food.js | 364 +++++--- .../mp-weixin/components/bluetooth_food.json | 5 +- .../mp-weixin/components/bluetooth_food.wxml | 2 +- .../mp-weixin/components/bluetooth_food.wxss | 80 +- .../dev/mp-weixin/components/food_item.wxml | 1 - .../dist/dev/mp-weixin/components/search.js | 30 +- .../dist/dev/mp-weixin/components/search.wxss | 38 +- .../dist/dev/mp-weixin/components/search2.js | 29 +- .../dev/mp-weixin/components/search2.wxml | 2 +- .../dev/mp-weixin/components/search2.wxss | 23 +- .../dev/mp-weixin/pageTwo/count/KcalEdit.js | 32 +- .../dev/mp-weixin/pageTwo/count/KcalEdit.wxss | 14 +- .../dev/mp-weixin/pageTwo/count/everyDay.js | 258 +++++ .../dev/mp-weixin/pageTwo/count/everyDay.json | 6 + .../dev/mp-weixin/pageTwo/count/everyDay.wxml | 1 + .../dev/mp-weixin/pageTwo/count/everyDay.wxss | 158 ++++ .../count/everyMeal.js} | 341 +++++-- .../mp-weixin/pageTwo/count/everyMeal.json | 10 + .../mp-weixin/pageTwo/count/everyMeal.wxml | 1 + .../mp-weixin/pageTwo/count/everyMeal.wxss | 187 ++++ .../dev/mp-weixin/pageTwo/count/food.json | 12 - .../dev/mp-weixin/pageTwo/count/food.wxml | 1 - .../dev/mp-weixin/pageTwo/count/food.wxss | 558 ----------- .../dev/mp-weixin/pageTwo/count/search.js | 305 +++--- .../dev/mp-weixin/pageTwo/count/search.wxml | 2 +- .../dev/mp-weixin/pageTwo/count/search.wxss | 332 ++++--- .../dev/mp-weixin/pageTwo/count/setting.js | 157 +++- .../dev/mp-weixin/pageTwo/count/setting.json | 5 +- .../dev/mp-weixin/pageTwo/count/setting.wxml | 2 +- .../dev/mp-weixin/pageTwo/count/setting.wxss | 133 +-- .../pageTwo/login/forgetPassword.wxss | 28 +- .../dev/mp-weixin/pageTwo/login/login.wxss | 55 +- .../dev/mp-weixin/pageTwo/me/feedBack.wxss | 12 +- .../dist/dev/mp-weixin/pageTwo/me/foodlist.js | 362 ++++--- .../dev/mp-weixin/pageTwo/me/foodlist.json | 2 +- .../dev/mp-weixin/pageTwo/me/foodlist.wxml | 2 +- .../dev/mp-weixin/pageTwo/me/foodlist.wxss | 428 ++++++--- .../dist/dev/mp-weixin/pageTwo/me/menuEdit.js | 44 +- .../dev/mp-weixin/pageTwo/me/menuEdit.wxml | 2 +- .../dev/mp-weixin/pageTwo/me/menuEdit.wxss | 30 +- .../dev/mp-weixin/pageTwo/me/menudetail.js | 38 +- .../dev/mp-weixin/pageTwo/me/menudetail.wxss | 80 +- .../dist/dev/mp-weixin/pageTwo/me/mymenu.js | 44 +- .../dist/dev/mp-weixin/pageTwo/me/mymenu.wxml | 2 +- .../dist/dev/mp-weixin/pageTwo/me/mymenu.wxss | 39 +- .../dist/dev/mp-weixin/pageTwo/me/record.js | 62 +- .../dist/dev/mp-weixin/pageTwo/me/record.wxss | 24 +- .../{count/food.js => me/recordetail.js} | 634 ++----------- .../dev/mp-weixin/pageTwo/me/recordetail.json | 8 + .../dev/mp-weixin/pageTwo/me/recordetail.wxml | 1 + .../dev/mp-weixin/pageTwo/me/recordetail.wxss | 377 ++++++++ .../dev/mp-weixin/pageTwo/me/userEdit.wxss | 28 +- .../dev/mp-weixin/pageTwo/setting/email.js | 32 +- .../dev/mp-weixin/pageTwo/setting/email.wxss | 32 +- .../dev/mp-weixin/pageTwo/setting/password.js | 32 +- .../mp-weixin/pageTwo/setting/password.wxss | 24 +- .../dev/mp-weixin/pageTwo/setting/phone.js | 32 +- .../dev/mp-weixin/pageTwo/setting/phone.wxss | 32 +- .../dev/mp-weixin/pageTwo/setting/setting.js | 34 +- .../mp-weixin/pageTwo/setting/setting.wxss | 24 +- .../dev/mp-weixin/pageTwo/webview/webview.js | 24 +- .../dist/dev/mp-weixin/pages/add/Preview.js | 4 +- .../dist/dev/mp-weixin/pages/add/Preview.wxss | 48 +- unpackage/dist/dev/mp-weixin/pages/add/add.js | 2 +- .../dist/dev/mp-weixin/pages/add/add.wxss | 32 +- .../dist/dev/mp-weixin/pages/count/count.js | 165 ++-- .../dist/dev/mp-weixin/pages/count/count.json | 4 +- .../dist/dev/mp-weixin/pages/count/count.wxml | 2 +- .../dist/dev/mp-weixin/pages/count/count.wxss | 469 ++++------ .../dist/dev/mp-weixin/pages/index/index.js | 152 +-- .../dist/dev/mp-weixin/pages/index/index.wxml | 2 +- .../dist/dev/mp-weixin/pages/index/index.wxss | 375 +++----- unpackage/dist/dev/mp-weixin/pages/me/me.js | 2 +- unpackage/dist/dev/mp-weixin/pages/me/me.wxss | 42 +- .../dist/dev/mp-weixin/pages/menu/menu.js | 2 +- .../dist/dev/mp-weixin/pages/menu/menu.wxss | 6 +- .../dist/dev/mp-weixin/pages/search/list.js | 6 +- .../dist/dev/mp-weixin/pages/search/list.wxml | 2 +- .../dist/dev/mp-weixin/pages/search/list.wxss | 8 +- .../dist/dev/mp-weixin/pages/search/search.js | 29 +- .../dev/mp-weixin/pages/search/search.wxml | 2 +- .../dev/mp-weixin/pages/search/search.wxss | 77 +- unpackage/dist/dev/mp-weixin/static/0.png | Bin 96811 -> 0 bytes unpackage/dist/dev/mp-weixin/static/1.png | Bin 3290 -> 0 bytes unpackage/dist/dev/mp-weixin/static/2.png | Bin 57057 -> 0 bytes unpackage/dist/dev/mp-weixin/static/20.png | Bin 4276 -> 0 bytes unpackage/dist/dev/mp-weixin/static/21.png | Bin 4236 -> 0 bytes unpackage/dist/dev/mp-weixin/static/22.png | Bin 3730 -> 0 bytes unpackage/dist/dev/mp-weixin/static/23.png | Bin 4263 -> 0 bytes unpackage/dist/dev/mp-weixin/static/24.png | Bin 2559 -> 0 bytes unpackage/dist/dev/mp-weixin/static/25.png | Bin 3502 -> 0 bytes unpackage/dist/dev/mp-weixin/static/3.png | Bin 3057 -> 0 bytes unpackage/dist/dev/mp-weixin/static/4.png | Bin 51131 -> 0 bytes unpackage/dist/dev/mp-weixin/static/5.png | Bin 2305 -> 0 bytes unpackage/dist/dev/mp-weixin/static/6.png | Bin 35869 -> 0 bytes unpackage/dist/dev/mp-weixin/static/7.png | Bin 4644 -> 0 bytes unpackage/dist/dev/mp-weixin/static/8.png | Bin 49219 -> 0 bytes unpackage/dist/dev/mp-weixin/static/add.png | Bin 9588 -> 9953 bytes unpackage/dist/dev/mp-weixin/static/cheng.png | Bin 0 -> 6883 bytes unpackage/dist/dev/mp-weixin/static/close.png | Bin 4982 -> 0 bytes unpackage/dist/dev/mp-weixin/static/fenxi.png | Bin 0 -> 5436 bytes unpackage/dist/dev/mp-weixin/static/jia.png | Bin 64343 -> 0 bytes unpackage/dist/dev/mp-weixin/static/none.png | Bin 554838 -> 3840 bytes unpackage/dist/dev/mp-weixin/static/qie.png | Bin 0 -> 3740 bytes unpackage/dist/dev/mp-weixin/static/qupi.png | Bin 0 -> 3870 bytes unpackage/dist/dev/mp-weixin/static/wan.png | Bin 58427 -> 0 bytes unpackage/dist/dev/mp-weixin/static/wu.png | Bin 89654 -> 0 bytes .../dist/dev/mp-weixin/static/xiangqing.png | Bin 0 -> 6695 bytes unpackage/dist/dev/mp-weixin/static/zao.png | Bin 102637 -> 0 bytes unpackage/dist/dev/mp-weixin/static/zhong.png | Bin 0 -> 4978 bytes .../dist/dev/mp-weixin/static/断开.png | Bin 0 -> 5858 bytes .../llt-slider-range/llt-slider-range.js | 515 ++++++++++ .../llt-slider-range/llt-slider-range.json} | 0 .../llt-slider-range/llt-slider-range.wxml | 1 + .../llt-slider-range/llt-slider-range.wxss | 100 ++ .../components/qiun-data-charts.js | 57 +- .../components/qiun-data-charts.wxml | 2 +- .../components/uni-drawer/uni-drawer.js | 28 +- .../components/uni-drawer/uni-drawer.wxss | 2 +- .../components/uni-icons/uni-icons.js | 30 +- .../uni-popup-dialog/uni-popup-dialog.js | 369 ++++++++ .../uni-popup-dialog/uni-popup-dialog.json | 4 + .../uni-popup-dialog/uni-popup-dialog.wxml | 1 + .../uni-popup-dialog/uni-popup-dialog.wxss | 100 ++ .../components/uni-popup/uni-popup.js | 598 ++++++++++++ .../components/uni-popup/uni-popup.json | 6 + .../components/uni-popup/uni-popup.wxml | 1 + .../components/uni-popup/uni-popup.wxss} | 54 +- .../uni-swipe-action-item.js | 42 +- .../uni-swipe-action-item.wxss | 2 +- .../uni-swipe-action/uni-swipe-action.js | 20 +- .../uni-transition/uni-transition.js | 416 +++++++++ .../uni-transition/uni-transition.json | 4 + .../uni-transition/uni-transition.wxml | 1 + 420 files changed, 14629 insertions(+), 6528 deletions(-) create mode 100644 package-lock.json create mode 100644 pageTwo/count/everyDay.vue create mode 100644 pageTwo/count/everyMeal.vue rename pageTwo/count/{food.vue => food-copy.vue} (97%) create mode 100644 pageTwo/me/foodlist -copy.vue create mode 100644 pageTwo/me/recordetail.vue delete mode 100644 static/0.png delete mode 100644 static/1.png delete mode 100644 static/2.png delete mode 100644 static/20.png delete mode 100644 static/21.png delete mode 100644 static/22.png delete mode 100644 static/23.png delete mode 100644 static/24.png delete mode 100644 static/25.png delete mode 100644 static/3.png delete mode 100644 static/4.png delete mode 100644 static/5.png delete mode 100644 static/6.png delete mode 100644 static/7.png delete mode 100644 static/8.png create mode 100644 static/cheng.png delete mode 100644 static/close.png create mode 100644 static/fenxi.png delete mode 100644 static/jia.png create mode 100644 static/qie.png create mode 100644 static/qupi.png delete mode 100644 static/wan.png delete mode 100644 static/wu.png create mode 100644 static/xiangqing.png delete mode 100644 static/zao.png create mode 100644 static/zhong.png create mode 100644 static/断开.png create mode 100644 uni_modules/llt-slider-range/changelog.md create mode 100644 uni_modules/llt-slider-range/components/llt-slider-range/llt-slider-range.vue create mode 100644 uni_modules/llt-slider-range/components/llt-slider-range/throttle.js create mode 100644 uni_modules/llt-slider-range/package.json create mode 100644 uni_modules/llt-slider-range/readme.md create mode 100644 uni_modules/uni-popup/changelog.md create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/keypress.js create mode 100644 uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue create mode 100644 uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue create mode 100644 uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/en.json create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/index.js create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json create mode 100644 uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json create mode 100644 uni_modules/uni-popup/components/uni-popup/keypress.js create mode 100644 uni_modules/uni-popup/components/uni-popup/popup.js create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.uvue create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.vue create mode 100644 uni_modules/uni-popup/package.json create mode 100644 uni_modules/uni-popup/readme.md create mode 100644 uni_modules/uni-transition/changelog.md create mode 100644 uni_modules/uni-transition/components/uni-transition/createAnimation.js create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.vue create mode 100644 uni_modules/uni-transition/package.json create mode 100644 uni_modules/uni-transition/readme.md create mode 100644 unpackage/dist/build/mp-weixin/pageTwo/me/recordetail.js create mode 100644 unpackage/dist/build/mp-weixin/pageTwo/me/recordetail.json create mode 100644 unpackage/dist/build/mp-weixin/pageTwo/me/recordetail.wxml create mode 100644 unpackage/dist/build/mp-weixin/pageTwo/me/recordetail.wxss create mode 100644 unpackage/dist/build/mp-weixin/static/arrow-down.png create mode 100644 unpackage/dist/build/mp-weixin/static/arrow-up.png create mode 100644 unpackage/dist/build/mp-weixin/static/cheng.png create mode 100644 unpackage/dist/build/mp-weixin/static/chengIcon.png create mode 100644 unpackage/dist/build/mp-weixin/static/keybordIcon.png create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/index.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/loading1.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/loading2.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/loading3.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/loading4.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/loading5.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/qiun-error.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/qiun-loading.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/node-modules/@qiun/vue-ucharts/src/qiun-vue-ucharts.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pageTwo/count/everyDay.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pageTwo/count/everyMeal.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pageTwo/everyDay.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/pageTwo/me/recordetail.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/llt-slider-range/components/llt-slider-range/llt-slider-range.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map create mode 100644 unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js.map delete mode 100644 unpackage/dist/dev/mp-weixin/components/food_item.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/everyDay.js create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/everyDay.json create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/everyDay.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/everyDay.wxss rename unpackage/dist/dev/mp-weixin/{components/food_item.js => pageTwo/count/everyMeal.js} (67%) create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/everyMeal.json create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/everyMeal.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/everyMeal.wxss delete mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/food.json delete mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/food.wxml delete mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/count/food.wxss rename unpackage/dist/dev/mp-weixin/pageTwo/{count/food.js => me/recordetail.js} (53%) create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/me/recordetail.json create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/me/recordetail.wxml create mode 100644 unpackage/dist/dev/mp-weixin/pageTwo/me/recordetail.wxss delete mode 100644 unpackage/dist/dev/mp-weixin/static/0.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/1.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/2.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/20.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/21.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/22.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/23.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/24.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/25.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/3.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/4.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/5.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/6.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/7.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/8.png create mode 100644 unpackage/dist/dev/mp-weixin/static/cheng.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/close.png create mode 100644 unpackage/dist/dev/mp-weixin/static/fenxi.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/jia.png create mode 100644 unpackage/dist/dev/mp-weixin/static/qie.png create mode 100644 unpackage/dist/dev/mp-weixin/static/qupi.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/wan.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/wu.png create mode 100644 unpackage/dist/dev/mp-weixin/static/xiangqing.png delete mode 100644 unpackage/dist/dev/mp-weixin/static/zao.png create mode 100644 unpackage/dist/dev/mp-weixin/static/zhong.png create mode 100644 unpackage/dist/dev/mp-weixin/static/断开.png create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/llt-slider-range/components/llt-slider-range/llt-slider-range.js rename unpackage/dist/dev/mp-weixin/{components/food_item.json => uni_modules/llt-slider-range/components/llt-slider-range/llt-slider-range.json} (100%) create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/llt-slider-range/components/llt-slider-range/llt-slider-range.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/llt-slider-range/components/llt-slider-range/llt-slider-range.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.wxml create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.wxss create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml rename unpackage/dist/dev/mp-weixin/{components/food_item.wxss => uni_modules/uni-popup/components/uni-popup/uni-popup.wxss} (51%) create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.json create mode 100644 unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml diff --git a/App.vue b/App.vue index 45c0e05..d5ac640 100644 --- a/App.vue +++ b/App.vue @@ -40,7 +40,7 @@ flex-direction: column; align-items: center; /* justify-content: center; */ - background-color: #efefef; + background-color: #f7f7f7; min-height: 100vh; } \ No newline at end of file diff --git a/assets/common.scss b/assets/common.scss index 2168ed9..61064c4 100644 --- a/assets/common.scss +++ b/assets/common.scss @@ -7,25 +7,37 @@ page { .ml-5{ margin-left: 5px !important; } + .mr-5{ + margin-right: 5px !important; + } .mt-5 { margin-top: 5px !important; } .mt-10 { - margin-top: 10px !important; + margin-top: 20rpx !important; } .mt-15 { - margin-top: 15px !important; + margin-top: 30rpx !important; } .mt-20 { - margin-top: 20px !important; + margin-top: 40rpx !important; + } + .size12{ + font-size: 26rpx !important; + } + .size14{ + font-size: 28rpx !important; } .size22{ font-size: 36rpx !important; font-weight: bold !important; } + .c999{ + color: #999 !important; + } .bold { font-weight: bold; } @@ -36,19 +48,19 @@ page { } .btn{ width: auto; - border-radius: 10px; + border-radius: 20rpx; background-color: #45C570; text-align: center; - height: 40px; - line-height: 40px; - margin: 15px; + height: 80rpx; + line-height: 80rpx; + margin: 30rpx; } .endtext{ color: #999; - margin-top: 20px; + margin-top: 40rpx; text-align: center; width: 100%; - margin-bottom: 15px; + margin-bottom: 30rpx; } .quan { @@ -60,8 +72,8 @@ page { .quan::before { content: ""; position: absolute; - width: 40rpx; - height: 40rpx; + width: 35rpx; + height: 35rpx; left: 0px; z-index: 22; background: #3CB383; @@ -71,16 +83,16 @@ page { .quan::after { content: ""; position: absolute; - width: 40rpx; - height: 40rpx; - left: 15rpx; + width: 35rpx; + height: 35rpx; + left: 17rpx; z-index: 11; background: #9CDCBF; border-radius: 50%; } // .列表样式 .footlist { - margin: 15px 0; + margin: 30rpx 0; width: 100%; height: auto; overflow: hidden; @@ -91,7 +103,7 @@ page { // justify-content: space-between; .list { - margin-bottom: 10px; + margin-bottom: 20rpx; // height: auto; overflow: auto; break-inside: avoid; @@ -101,7 +113,7 @@ page { .item { color: #666; - width: calc(100% - 10px); + width: calc(100% - 20rpx); position: initial; background: #fff; border-radius: 0 0 5px 5px; @@ -128,7 +140,7 @@ page { .zan { .iconfont { - font-size: 16px; + font-size: 32rpx; position: inherit !important; } @@ -136,8 +148,8 @@ page { } } .footbox { - // width: calc(100% - 30px); - // margin-top: 40px; + // width: calc(100% - 60rpx); + // margin-top: 80rpx; position: relative; .item { @@ -148,9 +160,9 @@ page { right: 5px; background: #403f3f5c; padding: 5px; - font-size: 15px; + font-size: 30rpx; z-index: 999999; - border-radius:0 0 10px 10px; + border-radius:0 0 20rpx 20rpx; .title { width: 100%; @@ -162,23 +174,23 @@ page { .name { display: flex; align-items: center; - font-size: 12px; + font-size: 26rpx; float: left; width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; - height: 30px; - line-height: 30px; + height: 60rpx; + line-height: 60rpx; image { - width: 25px; - height: 25px; + width: 50rpx; + height: 50rpx; border-radius: 50%; margin-right: 5px; } text{ - width: calc(100% - 30px); + width: calc(100% - 60rpx); display: inline-block; } } @@ -186,21 +198,21 @@ page { .zan { width: 30%; float: left; - font-size: 12px; + font-size: 26rpx; display: flex; align-items: center; height: auto; overflow: auto; - height: 30px; - line-height: 30px; + height: 60rpx; + line-height: 60rpx; justify-content: flex-end; .iconfont { display: flex; align-items: center; position: absolute; - right: 15px; - bottom: 10px; + right: 30rpx; + bottom: 20rpx; text-align: right; z-index: 99; margin-right: 5px; @@ -215,7 +227,7 @@ page { } // 菜谱左侧导航 .menu { - width: calc(100% - 30px); + width: calc(100% - 60rpx); height: auto; overflow: hidden; @@ -225,7 +237,7 @@ page { width: 100px; bottom: 0; top: 55px; - line-height: 45px; + line-height: 100rpx; font-size: 14px; font-weight: bold; overflow-y: scroll; @@ -233,7 +245,7 @@ page { height: calc(100vh - 70px); .name { - padding-left: 15px; + padding-left: 30rpx; white-space: nowrap; overflow-x: auto; width: 160rpx; @@ -259,7 +271,7 @@ page { right: 0; top: 55px; bottom: 0; - padding-bottom: 15px; + padding-bottom: 30rpx; height: calc(100vh - 70px); overflow-y: scroll; background: #fff; @@ -269,14 +281,14 @@ page { } .right_list { - padding: 0 10px; + padding: 0 20rpx; .title { width: 100%; display: flex; justify-content: space-between; align-items: center; - line-height: 45px; + line-height: 100rpx; font-weight: bold; } @@ -288,13 +300,13 @@ page { image { width: 140rpx; height: 140rpx; - border-radius: 10px; + border-radius: 20rpx; } text { display: block; text-align: center; - margin-bottom: 10px; + margin-bottom: 20rpx; } } } @@ -306,25 +318,25 @@ page { .title, .textarea { - width: calc(100% - 20px); - margin-bottom: 10px; + width: calc(100% - 40rpx); + margin-bottom: 20rpx; background: #fff; - padding: 0 10px; - border-radius: 10px; + padding: 0 20rpx; + border-radius: 20rpx; } .food, .step { - width: calc(100% - 20px); - margin-bottom: 10px; + width: calc(100% - 40rpx); + margin-bottom: 20rpx; background: #fff; - padding: 10px; - border-radius: 10px; + padding: 20rpx; + border-radius: 20rpx; .h4 { - height: 30px; - line-height: 30px; + height: 60rpx; + line-height: 60rpx; font-size: 14px; display: flex; font-weight: bold; @@ -333,8 +345,8 @@ page { text { font-size: 14px; border: 1px solid #dfdfdf; - border-radius: 15PX; - padding: 0 20px; + border-radius: 30rpx; + padding: 0 40rpx; } } @@ -344,17 +356,17 @@ page { .item { display: flex; justify-content: space-between; - width: calc(100% - 20px); + width: calc(100% - 40rpx); background: #f7f7f7; - border-radius: 10px; - padding: 8px 10px; - margin-top: 10px; + border-radius: 20rpx; + padding: 8px 20rpx; + margin-top: 20rpx; } .name { width: 30%; border-right: 1px solid #999; - margin-right: 15px; + margin-right: 30rpx; } .input { @@ -395,8 +407,8 @@ page { height: 35px; line-height: 35px; background: $maincolor; - margin-top: 15px; - border-radius: 10px; + margin-top: 30rpx; + border-radius: 20rpx; color: #fff; } } @@ -405,13 +417,13 @@ page { .top { display: flex; justify-content: space-between; - margin: 10px 0; + margin: 20rpx 0; font-size: 14px; font-weight: bold; } .textarea { - margin-top: 10px; + margin-top: 20rpx; background-color: #f7f7f7; } @@ -436,8 +448,8 @@ page { text-align: center; height: 35px; line-height: 35px; - border-radius: 10px; - margin-bottom: 15px; + border-radius: 20rpx; + margin-bottom: 30rpx; } .subbtn { @@ -472,16 +484,16 @@ page { display: flex; flex-wrap: wrap; overflow: scroll; - padding-bottom: 50px; + padding-bottom: 100rpx; .item { - width: calc(100% - 20px); + width: calc(100% - 40rpx); display: flex; justify-content: space-between; - height: 33px; + height: 66rpx; align-items: center; padding-bottom: 5px; - padding: 5px 10px; + padding: 5px 20rpx; border-bottom: 1px solid #dfdfdf; text { @@ -490,7 +502,7 @@ page { icon { color: $maincolor; - font-size: 16px; + font-size: 32rpx; } } } @@ -502,15 +514,15 @@ page { left: 0; right: 0; bottom: 0; - padding: 10px; - border-radius: 10px 10px 0 0; + padding: 20rpx; + border-radius: 20rpx 20rpx 0 0; .title { display: flex; justify-content: space-between; .cancel { - width: 80px; + width: 160rpx; display: flex; justify-content: flex-end; } @@ -521,9 +533,9 @@ page { .weight { width: auto; display: flex; - font-size: 24rpx; + font-size: 26rpx; background: $uni-color-warning; - border-radius: 10px; + border-radius: 20rpx; color: #fff; padding: 3px 8px; align-items: center; @@ -536,20 +548,20 @@ page { .name { width: 100%; text-align: center; - font-size: 16px; + font-size: 32rpx; font-weight: bold; - // margin-top:-15px + // margin-top:-30rpx } .val { text-align: center; - margin: 15px 0; + margin: 30rpx 0; text { display: inline-block; - width: 80px; + width:160rpx; border-bottom: 1px solid #dfdfdf; - font-size: 22px; + font-size: 44rpx; font-weight: bold; text-align: center; } @@ -579,7 +591,7 @@ page { height: 70rpx; background-color: #fff; border-radius: 10rpx; - font-size: 18px; + font-size: 36rpx; display: flex; justify-content: center; align-items: center; @@ -592,8 +604,8 @@ page { } image { - width: 25px; - height: 25px; + width: 50rpx; + height: 50rpx; } .MymaskList2 { @@ -602,9 +614,9 @@ page { flex-direction: column; justify-content: space-between; position: absolute; - right: 10px; - top: 10px; - bottom: 15px; + right: 20rpx; + top: 20rpx; + bottom: 30rpx; .maskListItem { width: 100%; @@ -624,8 +636,8 @@ page { } .close { - width: 32px; - height: 20px; + width: 64rpx; + height: 40rpx; } } } @@ -648,14 +660,14 @@ page { } .nolist { width: 100%; - padding-top: 50px; + padding-top: 100rpx; display: flex; align-items: center; flex-wrap: wrap; justify-content: center; icon { - font-size: 70px !important; + font-size: 140rpx !important; color: #ccc; } @@ -664,4 +676,246 @@ page { width: 100%; text-align: center; } + } + .foodDetail { + background-color: #F7F7F7; + padding: 20rpx; + box-sizing: border-box; + + .foodInfo { + display: flex; + width: 100%; + padding: 30rpx; + border-radius: 20rpx; + box-sizing: border-box; + background-color: #fff; + box-sizing: 0 0 20rpx #f1f1f1; + + image { + width: 90rpx; + height: 90rpx; + border-radius: 15rpx; + } + + .info { + display: flex; + flex-direction: column; + justify-content: center; + margin-left: 30rpx; + + .name { + font-size: 28rpx; + font-weight: 700; + margin-bottom: 10rpx; + } + + .kcal { + width: 100% !important; + font-size: 26rpx; + color: #666; + padding: 0 !important; + margin: 0 !important; + } + } + } + + .foodContent { + width: 100%; + padding: 30rpx; + margin-top: 16rpx; + box-sizing: border-box; + border-radius: 20rpx; + box-sizing: border-box; + background-color: #fff; + box-sizing: 0 0 20rpx #f1f1f1; + + .title { + font-size: 28rpx; + font-weight: 600; + } + + .progress { + display: flex; + align-items: center; + + .chart-wrap { + position: relative; + width: 280rpx; + height: 280rpx; + margin-top: -30rpx; + margin-left: -20px; + + // .uchart-kcal { + // position: absolute; + // left: 60rpx; + // top: 120rpx; + // width: 130rpx; + // font-size: 40rpx; + // text-align: center; + // z-index: 9; + // } + } + + .info { + display: flex; + flex-direction: column; + justify-content: space-between; + font-size: 26rpx; + height: 200rpx; + + .info-item { + display: flex; + align-items: center; + margin-top: 20rpx; + + .color { + width: 6rpx; + height: 20rpx; + margin-right: 10rpx; + border-radius: 3rpx; + } + } + } + } + + .tips { + display: flex; + justify-content: space-between; + border-bottom: 1px solid #f1f1f1; + padding: 16rpx 0; + font-size: 26rpx; + margin-top: 10rpx; + } + + .foodDetailList { + margin-top: 10rpx; + + .foodDetailItem { + display: flex; + justify-content: space-between; + padding: 20rpx 0; + box-sizing: border-box; + + .name { + font-size: 26rpx; + color: #777; + } + + .val { + font-size: 26rpx; + font-weight: 700; + color: #333; + } + } + } + } + } + .jishiqi { + margin-top: 30rpx; + + .left { + float: left; + width: 270rpx; + height: 320rpx; + display: flex; + flex-direction: column; + justify-content: space-between; + + .center { + border: none; + width: 280rpx; + height: 210rpx; + position: absolute; + top: 64rpx; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + text { + font-size: 40rpx; + font-weight: bold; + margin: 20rpx 0; + } + } + + .mubiao { + width: 100%; + margin-top: 32rpx; + text-align: center; + font-size: 26rpx; + + text { + font-weight: bold; + color: $maincolor; + } + } + + } + + .right { + width: calc(100% - 290rpx); + display: flex; + flex-direction: column; + float: left; + height: 300rpx; + margin-left: 20rpx; + margin-top: 10px; + justify-content: space-between; + + .item { + width: 100%; + font-size: 26rpx; + + image{ + width: 40rpx; + height: 40rpx; + } + + .left-icon { + width: 90rpx; + float: left; + height: 80rpx; + display: flex; + align-items: center; + flex-direction: column; + justify-content: space-between; + } + + .right-info { + width: calc(100% - 100rpx); + float: left; + height: 74rpx; + margin-left: 5px; + display: flex; + flex-direction: column; + justify-content: space-between; + + .right-info-top { + width: 100%; + display: flex; + justify-content: space-between; + } + + .right-info-bottom { + width: 100%; + height: 8px; + background-color: #f3f7f5; + border-radius: 5px; + position: relative; + + .val { + width: 45%; + position: absolute; + left: 0; + top: 0; + z-index: 9; + height: 16rpx; + border-radius: 5px; + } + + } + } + } + } } \ No newline at end of file diff --git a/assets/iconfont-weapp-icon.css b/assets/iconfont-weapp-icon.css index d8d1297..da096db 100644 --- a/assets/iconfont-weapp-icon.css +++ b/assets/iconfont-weapp-icon.css @@ -1,8 +1,8 @@ .t-icon { display: inline-block; - width: 20px; - height: 20px; + width: 40rpx; + height: 40rpx; background-repeat: no-repeat; background-position: center; background-size: 100%; diff --git a/assets/iconfont.css b/assets/iconfont.css index 3797758..776cf61 100644 --- a/assets/iconfont.css +++ b/assets/iconfont.css @@ -9,7 +9,7 @@ .iconfont { font-family: "iconfont" !important; - font-size: 20px; + font-size: 40rpx; font-style: normal; display: flex; align-items: center; diff --git a/assets/login.scss b/assets/login.scss index 39b4dba..25b3b2c 100644 --- a/assets/login.scss +++ b/assets/login.scss @@ -16,13 +16,13 @@ position: relative; top: 70px; z-index: 99; - margin-bottom: 15px; + margin-bottom: 30rpx; image { width: 70px; height: 70px; margin: auto; - margin-bottom: 10px; + margin-bottom: 20rpx; border-radius: 50%; } @@ -40,8 +40,8 @@ width: 86%; height: auto; background: #fff; - border-radius: 10px; - padding: 10px 0; + border-radius: 20rpx; + padding: 20rpx 0; background-color: #fff; z-index: 99; position: absolute; @@ -54,14 +54,14 @@ color: #333; font-size: 40rpx; font-weight: bold; - margin-bottom: 15px; - margin-left: 15px; + margin-bottom: 30rpx; + margin-left: 30rpx; } .toggle { position: absolute; - right: 15px; - top: 20px; + right: 30rpx; + top: 40rpx; } .editem { @@ -69,18 +69,18 @@ display: flex; align-items: center; font-size: 32rpx; - margin: 0 15px; + margin: 0 30rpx; justify-content: space-between; flex-wrap: wrap; .item { width: 100%; - margin-bottom: 15px; + margin-bottom: 30rpx; .text { font-size: 32rpx; - margin-bottom: 10px; + margin-bottom: 20rpx; } .input { @@ -89,15 +89,15 @@ display: flex; position: relative; border: #dfdfdf 1px solid; - padding: 0 10px; + padding: 0 20rpx; border-radius: 5px; } input { - height: 40px; - line-height: 40px; + height: 80rpx; + line-height: 80rpx; position: absolute; - left: 10px; + left: 20rpx; right: 0px; z-index: 88; font-size: 32rpx; @@ -116,7 +116,7 @@ background: #dfdfdf; font-size: 28rpx; margin: 0; - line-height: 40px; + line-height: 80rpx; border-radius: 5px; text-align: center; position: absolute; @@ -143,7 +143,7 @@ height: 35px; line-height: 35px; display: flex; - margin: 0 15px; + margin: 0 30rpx; justify-content: center; text { @@ -153,13 +153,13 @@ } .btnlogin { - width: calc(100% - 30px); - margin: 15px; + width: calc(100% - 60rpx); + margin: 30rpx; height: 42px; line-height: 42px; background: $btncolor; font-weight: 700; - border-radius: 15px; + border-radius: 30rpx; text-align: center; color: #fff !important; } @@ -168,7 +168,7 @@ .xieyi { font-size: 32rpx; color: $textcolor; - margin-left: 10px; + margin-left: 20rpx; text { border-bottom: 1px solid $textcolor; diff --git a/components/bluetooth.vue b/components/bluetooth.vue index 388f1a1..ca68278 100644 --- a/components/bluetooth.vue +++ b/components/bluetooth.vue @@ -506,9 +506,9 @@ justify-content: space-around; left: 0; right: 0; - bottom: 20px; - top: 60px; - margin-top: 20px; + bottom: 40rpx; + top: 120rpx; + margin-top: 40rpx; .weight { background: #fff; @@ -519,17 +519,17 @@ view { width: 60%; - height: 50px; + height: 100rpx; display: flex; margin-left: 25%; align-items: flex-end; - margin-bottom: 15px; + margin-bottom: 30rpx; text { width: 80px; display: inline-block; border-bottom: 1px solid #dfdfdf; - margin: 0 10px; + margin: 0 20rpx; font-size: 18px; font-weight: bold; color: #f0ae43; @@ -538,7 +538,7 @@ } .tips { - font-size: 12px; + font-size: 24rpx; text-align: center; } @@ -559,12 +559,12 @@ font-size: 16px; font-weight: bold; text-align: center; - margin: 15px 0; + margin: 30rpx 0; } .image { - width: 160px; - height: 160px; + width: 1120rpx; + height: 1120rpx; margin: auto; image { @@ -574,8 +574,8 @@ } .tips { - margin-bottom: 15px; - margin-left: 15px; + margin-bottom: 30rpx; + margin-left: 30rpx; display: flex; color: #999; } diff --git a/components/bluetooth_food - copy.vue b/components/bluetooth_food - copy.vue index 7e56026..16c1ab9 100644 --- a/components/bluetooth_food - copy.vue +++ b/components/bluetooth_food - copy.vue @@ -573,7 +573,7 @@ } .tips { - font-size: 12px; + font-size: 24rpx; text-align: center; } @@ -594,12 +594,12 @@ font-size: 16px; font-weight: bold; text-align: center; - margin: 15px 0; + margin: 30rpx 0; } .image { - width: 160px; - height: 160px; + width: 1120rpx; + height: 1120rpx; margin: auto; image { @@ -610,7 +610,7 @@ .tips { margin-top: 40rpx; - margin-left: 15px; + margin-left: 30rpx; display: flex; color: #999; } diff --git a/components/bluetooth_food.vue b/components/bluetooth_food.vue index 7b56d13..4674552 100644 --- a/components/bluetooth_food.vue +++ b/components/bluetooth_food.vue @@ -1,22 +1,56 @@ @@ -30,15 +64,23 @@ export default { data() { return { - dw: "g", + dw: "克", kcal: 0, - weight: "", - weightALL: "", unit: '', - weight0: 0, - bleTipsText: "蓝牙搜索中", - stopblue: false, + isShow: false, + bleTipsText: "", + inputDialog: false, isConnection: 0, //是否连接成功 + unitList: [{ + name: "克", + id: '00', + unit: "g" + }, { + name: "盎司", + id: "08", + unit: "oz" + }], + unitListIndex: 0, units: ['kg', '斤', 'st:lb', 'lb', 'g', 'ml', 'Waterml', 'milkml', 'oz', 'floz', 'lboz' ] @@ -53,60 +95,57 @@ type: Number, default: -1 //0分类测量,1累计测量,2购物车测量 }, - isLast: { - type: Boolean, - default: false - } + btnType: { + type: Number, + default: 1 //1添加食材,2保存测量 + }, }, computed: { - ...mapState(["user", 'isConnected', "isBluetoothTyle"]), + ...mapState(["bleValue", "isBluetoothTyle", "countFoodInfo"]), + weight() { + return this.bleValue.countWeight + } }, mounted() { let that = this - console.log("mounted_new", that.weightType) - that.openBluetoothAdapter() + if (that.bleValue.serviceId != '') { + that.getBLECharacteristicValueChange(that.bleValue.deviceId, that.bleValue.serviceId, that.bleValue.notify) + } else { + that.openBluetoothAdapter() + } that.onBLEConnectionStateChange() uni.onBluetoothAdapterStateChange(function(res) { that.$store.commit("changeBluetooth", res.available); }) }, destroyed() { - this.isConnection = 1 - this.closeBLEConnection() - this.closeBluetoothAdapter() + // this.isConnection = 1 + // this.closeBLEConnection() + // this.closeBluetoothAdapter() }, watch: { - // weightType: function() { - // let that = this - // that.openBluetoothAdapter() - // }, isBluetoothTyle: function() { let that = this if (!that.isBluetoothTyle) { that.handleBack() } }, - isLast: function() { - let that = this - that.stopblue = that.isLast - console.log("最后", this.isLast) - } }, methods: { // 初始化蓝牙 openBluetoothAdapter() { let that = this - that.weight = "" that.kcal = "" + that.isShow = false + that.bleTipsText = "蓝牙搜索中" uni.openBluetoothAdapter({ success: e => { that.isConnection = 0 - that.bleTipsText = "蓝牙搜索中" that.startBluetoothDeviceDiscovery() }, fail: e => { that.isConnection = 0 - that.bleTipsText = "请确定设备是开机状态、手机蓝牙权限已打开!" + that.bleTipsText = "请确定设备和手机蓝牙已打开!" console.log('openBluetoothAdapter', e) } }); @@ -126,7 +165,7 @@ }, fail: res => { that.isConnection = 0 - that.bleTipsText = "请确定设备是开机状态、手机蓝牙权限已打开!" + that.bleTipsText = "请确定设备和手机蓝牙已打开!" console.log('startBluetoothDeviceDiscovery', res) } }); @@ -141,7 +180,7 @@ that.closeBLEConnection() that.closeBluetoothAdapter() } - that.$store.commit("changeConnected", res.connected); + that.$store.commit("changeBluetooth", res.connected); }) }, /** @@ -223,10 +262,13 @@ that.kcal = (Number(that.weightKcal) / 100 * data2).toFixed(2) that.$emit('realTimeWeight', data2, that.dw) } - } else if (device.name.indexOf('Chipsea-BLE') != -1 || device.localName.indexOf( - 'Chipsea-BLE') != -1 || id == 'a5fe') { + return + } + if (device.name.indexOf('Chipsea-BLE') != -1 || (device.localName && device + .localName.indexOf('Chipsea-BLE') != -1) || id == 'a5fe') { that.stopBluetoothDevicesDiscovery() that.connectDevice(device.deviceId) + return } }) }); @@ -290,37 +332,52 @@ notify = item.uuid } } - - uni.notifyBLECharacteristicValueChange({ + let info = { deviceId: deviceId, serviceId: serviceId, - characteristicId: notify, - state: true, - success: () => { - that.isConnection = 0 - that.bleTipsText = "测量中,请将食物放到秤上" - uni.onBLECharacteristicValueChange(function(res) { - const value = res.value - const dataView = new DataView(value) - const header = dataView.getUint8(0) + notify: notify, + write: write, + } + that.handletoggleUnit(0x04) + that.$store.commit('changeBluetoothValue', info) + setTimeout(function() { + that.getBLECharacteristicValueChange(deviceId, serviceId, notify) + }, 300) + }, + fail: res => { + console.log('获取特征值失败:', JSON.stringify(res)) + } + }) + }, + getBLECharacteristicValueChange(deviceId, serviceId, notify) { + let that = this + uni.notifyBLECharacteristicValueChange({ + deviceId: deviceId, + serviceId: serviceId, + characteristicId: notify, + state: true, + success: () => { + that.isShow = true + that.isConnection = 0 + that.bleTipsText = "测量中,请将食物放到秤上" + uni.onBLECharacteristicValueChange(function(res) { + const value = res.value + const dataView = new DataView(value) + const header = dataView.getUint8(0) + console.log("value", that.$tools.ab2hex(res.value, "")) - // MCU主动上报数据 - if (header === 0xC7) { - const cmd = dataView.getUint8(2) + // MCU主动上报数据 + if (header === 0xC7) { + const cmd = dataView.getUint8(2) - switch (cmd) { - case 0x02: - that.parseWeightData(dataView) - break + switch (cmd) { + case 0x02: + that.parseWeightData(dataView) + break - case 0x03: - break - } - } - }) - }, - fail: res => { - console.log('获取特征值失败:', JSON.stringify(res)) + case 0x03: + break + } } }) }, @@ -329,6 +386,55 @@ } }) }, + changleUnits(e) { + let that = this + let name = that.unitList[e.detail.value].name + if (that.isShow && that.dw != name) { + that.handletoggleUnit(name == '盎司' ? 0x08 : 0x04) + that.$store.commit("changeBluetoothValue", { + countWeight: finalWeight, + unit: that.unitList[e.detail.value].unit + }) + } + that.unitListIndex = [e.detail.value] + that.dw = that.unitList[e.detail.value].name + + }, + handletoggleUnit(unit) { + let that = this + let checksum = 0; + const bytes = [0xC5, 0x03, 0x05, 0x11] + bytes[4] = unit + for (let i = 0; i < bytes.length; i++) { + checksum ^= bytes[i]; + } + bytes[5] = checksum + that.sendData(new Uint8Array(bytes).buffer) + }, + handleqingling() { + let that = this + let str = "C503071100D0" + let buf = new Uint8Array(str.match(/[\da-f]{2}/gi).map(function(h) { + return parseInt(h, 16) + })) + that.sendData(buf.buffer) + }, + sendData(buffer) { + let that = this + uni.writeBLECharacteristicValue({ + deviceId: that.bleValue.deviceId, + serviceId: that.bleValue.serviceId, + characteristicId: that.bleValue.write, + value: buffer, + success: res => { + console.log('下发指令成功', res.errMsg) + }, + fail: res => { + console.log("下发指令失败", res); + }, + }) + }, + parseWeightData(dataView) { const statusByte = dataView.getUint8(4) const isNegative = !!(statusByte & 0x80) // 最高位表示正负 @@ -349,13 +455,20 @@ let finalWeight = weightValue / Math.pow(10, precision) if (isNegative) finalWeight = -finalWeight - // 更新状态 - this.weight = finalWeight - this.dw = this.units[unitIndex] || 'g' - this.kcal = (Number(this.weightKcal) / 100 * finalWeight).toFixed(2) - // console.log('重量:' + finalWeight) - // console.log('单位:' + this.unit) - this.$emit('realTimeWeight', finalWeight, this.dw) + if (this.units[unitIndex] == 'kcal') { + this.dw = '千卡' + } else if (this.units[unitIndex] == 'g') { + this.dw = '克' + } else if (this.units[unitIndex] == 'lb') { + this.dw = '磅' + } else if (this.units[unitIndex] == 'oz') { + this.dw = '盎司' + } + this.$store.commit("changeBluetoothValue", { + countWeight: finalWeight, + unit: this.units[unitIndex] + }) + // this.$emit('realTimeWeight', finalWeight, this.dw) // 状态处理 // if (statusType === 0x02) { @@ -371,70 +484,7 @@ } else { that.$tools.msg("数据异常,请清零后重新测量!") } - }, - // 备料完成 - handleDetailSub() { - let that = this - if (that.weightType == 1) { //累计测量 - // that.weight0 = Number(that.weight) - Number(that.weightALL) - that.weight0 = Number((Number(that.weight) - Number(that.weightALL)).toFixed(2)) - if (that.weight0 > 0) { - that.weightALL = that.weight - } else { - that.$tools.msg("数据异常,请清零后重新测量!") - } - } else { - that.weight0 = that.weight - } - if (Number(that.weight0) > 0) { - that.$emit("handleDetailSub", that.weight0, that.dw, that.kcal) - // that.stopBluetoothDevicesDiscovery() //取消蓝牙搜索 - // that.closeBLEConnection() - // that.closeBluetoothAdapter() - that.weight = 0 - that.weight0 = 0 - } else { - that.$tools.msg("数据异常,请重新测量!") - } - }, - //备料下一个 - handleDetailNext() { - let that = this - if (that.weightType == 1) { - console.log('weight:' + that.weight) - console.log('weight0:' + that.weight0) - console.log('weightALL:' + that.weightALL) - // that.weight0 = Number(that.weight) - Number(that.weightALL) - that.weight0 = Number((Number(that.weight) - Number(that.weightALL)).toFixed(2)) - if (that.weight0 > 0) { - that.weightALL = that.weight - } else { - that.$tools.msg("数据异常,请清零后重新测量!") - } - } else { - that.weight0 = that.weight - } - - if (Number(that.weight0) > 0) { - that.$emit("handleDetailNext", that.weight0, that.dw, that.kcal) - that.weight = 0 - that.weight0 = 0 - } else { - that.$tools.msg("数据异常,请清零后重新测量!") - } - }, - - handlechongzhi(weight) { - let that = this - console.log('当前总重:' + that.weightALL) - console.log('重置重量:' + weight) - if (that.weightType == 1) { - that.weightALL = Number((Number(that.weightALL) - Number(weight)).toFixed(2)) - console.log('剩余重量:' + that.weightALL) - } - }, - handleBack() { let that = this that.isConnection = 1 @@ -449,6 +499,15 @@ let that = this; uni.closeBluetoothAdapter({ success: res => { + that.isConnection = 1 + that.$store.commit("changeBluetoothValue", { + deviceId: "", + serviceId: "", + notify: "", + write: "", + unit: "", + countWeight: 0, + }) console.log('蓝牙模块关闭成功'); } }) @@ -459,8 +518,9 @@ closeBLEConnection() { var that = this; uni.closeBLEConnection({ - deviceId: that.deviceId, + deviceId: that.bleValue.deviceId, success: res => { + that.isConnection = 1 console.log('断开蓝牙连接成功'); } }); @@ -476,7 +536,27 @@ return '盎司' } return unit - } + }, + // 添加食物 + handleAddFood() { + uni.navigateTo({ + url: "/pageTwo/count/search?name=早餐&time=" + this.countFoodInfo.date + }) + }, + inputDialogToggle() { + this.$refs.popup.open() + }, + confirm(value) { + console.log(value) + this.$store.commit("changeBluetoothValue", { + countWeight: value, + unit: this.unitList[this.unitListIndex].unit + }) + this.$refs.popup.close() + }, + close() { + this.$refs.popup.close() + }, // isNutritionScale(advertisData) { // const buffer = this.base64ToArrayBuffer(advertisData) // const dataView = new DataView(buffer) @@ -506,24 +586,37 @@ \ No newline at end of file diff --git a/components/select-ruler/select-ruler.vue b/components/select-ruler/select-ruler.vue index dbb6ee3..8bf5e92 100644 --- a/components/select-ruler/select-ruler.vue +++ b/components/select-ruler/select-ruler.vue @@ -144,7 +144,7 @@ } .line { - width: 10px; + width: 20rpx; position: absolute; left: 366rpx; top: 40rpx; @@ -198,7 +198,7 @@ } .ruler-item { - width: 10px; + width: 20rpx; text-align: center; display: inline-block; position: relative; @@ -213,7 +213,7 @@ &:before { content: ''; width: 1px; - height: 30px; + height: 60rpx; background: rgba(#3A414B, .15); display: inline-block; vertical-align: text-top; @@ -232,7 +232,7 @@ &:nth-child(10n+1) { &::before { width: 1px; - height: 40px; + height: 80rpx; } span { diff --git a/components/tabbar.vue b/components/tabbar.vue index 355b6a2..ce20b76 100644 --- a/components/tabbar.vue +++ b/components/tabbar.vue @@ -68,8 +68,8 @@ justify-content: center; image { - width: 25px; - height: 25px; + width: 50rpx; + height: 50rpx; } text { diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a735c05 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,27 @@ +{ + "name": "滑动刻度尺选择组件,刻度值拖动选择,支持按钮控制。", + "version": "v1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "滑动刻度尺选择组件,刻度值拖动选择,支持按钮控制。", + "version": "v1.0.0", + "dependencies": { + "@qiun/vue-ucharts": "^2.5.0-20230101" + } + }, + "node_modules/@qiun/vue-ucharts": { + "version": "2.5.0-20230101", + "resolved": "https://registry.npmmirror.com/@qiun/vue-ucharts/-/vue-ucharts-2.5.0-20230101.tgz", + "integrity": "sha512-HZ4q6CBjzheAmocr//jY2nV3wO2Xu+2CX6NjwUD+uM1Jo/ewlnNIL2TiRRqtwMBhyaIoJh4nCzmnoeT7kUvlxA==" + } + }, + "dependencies": { + "@qiun/vue-ucharts": { + "version": "2.5.0-20230101", + "resolved": "https://registry.npmmirror.com/@qiun/vue-ucharts/-/vue-ucharts-2.5.0-20230101.tgz", + "integrity": "sha512-HZ4q6CBjzheAmocr//jY2nV3wO2Xu+2CX6NjwUD+uM1Jo/ewlnNIL2TiRRqtwMBhyaIoJh4nCzmnoeT7kUvlxA==" + } + } +} diff --git a/package.json b/package.json index 838ede7..5575d2f 100644 --- a/package.json +++ b/package.json @@ -15,5 +15,8 @@ "前端组件", "通用组件" ] + }, + "dependencies": { + "@qiun/vue-ucharts": "^2.5.0-20230101" } -} \ No newline at end of file +} diff --git a/pageTwo/count/KcalEdit.vue b/pageTwo/count/KcalEdit.vue index 9fd9233..2c9e2a6 100644 --- a/pageTwo/count/KcalEdit.vue +++ b/pageTwo/count/KcalEdit.vue @@ -57,7 +57,7 @@ \ No newline at end of file diff --git a/pageTwo/count/everyDay.vue b/pageTwo/count/everyDay.vue new file mode 100644 index 0000000..5b5c603 --- /dev/null +++ b/pageTwo/count/everyDay.vue @@ -0,0 +1,379 @@ + + + + + \ No newline at end of file diff --git a/pageTwo/count/everyMeal.vue b/pageTwo/count/everyMeal.vue new file mode 100644 index 0000000..ad4a88f --- /dev/null +++ b/pageTwo/count/everyMeal.vue @@ -0,0 +1,446 @@ + + + + + \ No newline at end of file diff --git a/pageTwo/count/food.vue b/pageTwo/count/food-copy.vue similarity index 97% rename from pageTwo/count/food.vue rename to pageTwo/count/food-copy.vue index bc94ca7..f69bc36 100644 --- a/pageTwo/count/food.vue +++ b/pageTwo/count/food-copy.vue @@ -698,14 +698,14 @@ \ No newline at end of file diff --git a/pageTwo/count/setting.vue b/pageTwo/count/setting.vue index fb147e6..7ea30df 100644 --- a/pageTwo/count/setting.vue +++ b/pageTwo/count/setting.vue @@ -1,57 +1,42 @@ @@ -59,12 +44,21 @@ import { mapState } from "vuex"; + import lltSliderRange from '@/uni_modules/llt-slider-range/components/llt-slider-range/llt-slider-range.vue'; export default { data() { return { + weight: "", kcal: {}, nutrition: {}, - describe: [], + focus: false, + carbohydrate_v: 0, + protein_v: 0, + fat_v: 0, + carbohydrate_p: 0, + protein_p: 0, + fat_p: 0, + rangeValue: [0, 0] } }, computed: { @@ -76,6 +70,10 @@ onLoad() { this.handleList() }, + components: { + lltSliderRange + }, + watch: {}, methods: { handleList() { let that = this @@ -85,7 +83,11 @@ if (res.code == 0) { that.kcal = res.data.kcal that.nutrition = res.data.nutrition - that.describe = res.data.describe ? res.data.describe : [] + that.weight = res.data.kcal.suggestion_kcal_val + that.rangeValue[0] = Number(that.nutrition.list[0].proportion) + that.rangeValue[1] = Number(that.nutrition.list[0].proportion) + Number(that.nutrition.list[1].proportion) + console.log("that.rangeValue", that.rangeValue) + that.handleProportion() } }) }, @@ -94,10 +96,70 @@ url: "/pageTwo/me/userEdit?familayData=" + JSON.stringify(this.userInfo) }) }, - handleEditKcal() { - uni.navigateTo({ - url: "/pageTwo/count/KcalEdit?suggestion_kcal_range_val=" + this.kcal.suggestion_kcal_range_val + handleChange(val) { + let that = this + that.rangeValue = val + that.weight = that.weight ? that.weight : Number(that.kcal.suggestion_kcal_val) + that.handleProportion() + }, + handleProportion() { + let that = this + that.nutrition.list.forEach(ite => { + if (ite.name.indexOf('碳水') != -1) { + ite.proportion = that.rangeValue[0] + ite.val = Number(that.weight * ite.proportion / 100 / 4).toFixed(2) + that.carbohydrate_v = ite.val + that.carbohydrate_p = ite.proportion + } + if (ite.name.indexOf('蛋白') != -1) { + ite.proportion = that.rangeValue[1] - that.rangeValue[0] + ite.val = Number(that.weight * ite.proportion / 100 / 4).toFixed(2) + that.protein_v = ite.val + that.protein_p = ite.proportion + + } + if (ite.name.indexOf('脂肪') != -1) { + ite.proportion = 100 - that.rangeValue[1] + ite.val = Number(that.weight * ite.proportion / 100 / 9).toFixed(2) + that.fat_v = ite.val + that.fat_p = ite.proportion + } }) + }, + handleBlur() { + let that = this + that.weight = that.weight ? that.weight : Number(that.kcal.suggestion_kcal_val) + that.handleProportion() + }, + handleEditKcal() { + let that = this + if (that.weight == '' || Number(that.weight) <= 0) { + that.$tools.msg("请输入卡路里") + return + } + that.$model.getCountSetUserKcal({ + aud_id: that.user.aud_id, + set_kcal: that.weight, + carbohydrate_v: that.carbohydrate_v, + protein_v: that.protein_v, + fat_v: that.fat_v, + carbohydrate_p: that.carbohydrate_p, + protein_p: that.protein_p, + fat_p: that.fat_p, + }).then(res => { + if (res.code == 0) { + that.$tools.msg("设置成功") + setTimeout(function() { + uni.switchTab({ + url: '/pages/count/count' + }) + }, 1000) + } + }) + }, + handleclear() { + this.focus = true + this.weight = "" } } } @@ -105,118 +167,121 @@ \ No newline at end of file diff --git a/pageTwo/login/forgetPassword.vue b/pageTwo/login/forgetPassword.vue index 9c626b8..f382640 100644 --- a/pageTwo/login/forgetPassword.vue +++ b/pageTwo/login/forgetPassword.vue @@ -180,15 +180,15 @@ } .login { - width: calc(100% - 30px); + width: calc(100% - 60rpx); height: auto; background: #fff; - border-radius: 10px; - padding: 15px; + border-radius: 20rpx; + padding: 30rpx; background-color: #fff; z-index: 99; // position: relative; - // margin-left: calc(10% - 40px); + // margin-left: calc(10% - 80rpx); // box-shadow: 0px 1px 5px 2px #dfe2e1fc; .title { @@ -196,7 +196,7 @@ color: #333; font-size: 40rpx; font-weight: bold; - margin-bottom: 15px; + margin-bottom: 30rpx; } @@ -214,12 +214,12 @@ display: flex; align-items: center; justify-content: space-between; - margin-bottom: 15px; + margin-bottom: 30rpx; .text { width: 240rpx; - height: 40px; - line-height: 40px; + height: 80rpx; + line-height: 80rpx; font-size: 32rpx; } @@ -231,15 +231,15 @@ position: relative; border: #dfdfdf 1px solid; border-radius: 5px; - padding: 0 10px; + padding: 0 20rpx; background-color: #f7f7f7; } input { - height: 40px; - line-height: 40px; + height: 80rpx; + line-height: 80rpx; position: absolute; - left: 10px; + left: 20rpx; right: 0px; z-index: 88; font-size:28rpx; @@ -258,7 +258,7 @@ background: #dfdfdf; font-size: 28rpx; margin: 0; - line-height: 40px; + line-height: 80rpx; border-radius: 5px; text-align: center; position: absolute; @@ -290,12 +290,12 @@ .btnlogin { width: 100%; - margin: 15px 0; + margin: 30rpx 0; height: 42px; line-height: 42px; background: $btncolor; font-weight: 700; - border-radius: 15px; + border-radius: 30rpx; text-align: center; color: #fff !important; } diff --git a/pageTwo/login/login.vue b/pageTwo/login/login.vue index d5b8b40..61598f8 100644 --- a/pageTwo/login/login.vue +++ b/pageTwo/login/login.vue @@ -238,7 +238,7 @@ .xieyi { font-size: 28rpx; color: #999; - margin-left: 10px; + margin-left: 20rpx; text { color: $maincolor; @@ -252,11 +252,11 @@ .wxbtn { width: 100%; position: absolute; - margin-top: 30px; + margin-top: 60rpx; top: 80%; icon { - font-size: 25px; + font-size: 50rpx; color: #28c445; } @@ -265,7 +265,7 @@ display: block; // width: 100%; margin-top: 5px; - font-size: 12px; + font-size: 24rpx; // color: #666; text-align: center; border-bottom: 1px solid blue; @@ -274,7 +274,6 @@ button { line-height: initial; - background: #efefef; display: flex; flex-wrap: wrap; padding: 0; @@ -290,8 +289,8 @@ } image { - width: 30px; - height: 30px; + width: 60rpx; + height: 60rpx; border-radius: 50%; } } diff --git a/pageTwo/me/feedBack.vue b/pageTwo/me/feedBack.vue index d783e34..e312bfa 100644 --- a/pageTwo/me/feedBack.vue +++ b/pageTwo/me/feedBack.vue @@ -62,15 +62,15 @@ diff --git a/pageTwo/me/foodlist -copy.vue b/pageTwo/me/foodlist -copy.vue new file mode 100644 index 0000000..12fca9b --- /dev/null +++ b/pageTwo/me/foodlist -copy.vue @@ -0,0 +1,365 @@ + + + + + \ No newline at end of file diff --git a/pageTwo/me/foodlist.vue b/pageTwo/me/foodlist.vue index 31eb230..7489070 100644 --- a/pageTwo/me/foodlist.vue +++ b/pageTwo/me/foodlist.vue @@ -1,54 +1,113 @@ @@ -56,52 +115,49 @@ import { mapState } from "vuex"; - import search from "../../components/search.vue" + const plugin = requirePlugin("WechatSI") export default { - components: { - search - }, data() { return { - text: "", index: 0, - leftInd: 0, - menu: [], - menu2: [], - menu3: [], - menulist: [], - ActiveList: [], page: 1, - type: "", - name: "", + isShop: false, + showAll: false, + IsWeight: false, + search_list: [], + ActiveList: [], lastPage: "", + search_value: '', + mic_touch: false, + voiceManager: null, + autoSearchContent: "", + showAutoSearchDlg: false }; }, computed: { - ...mapState(["foodList"]), - menuTop() { - this.menu2 = this.foodList.length ? this.foodList[0].list : [], - console.log([...this.foodList, { - id: 4, - list: [], - name: '搜索' - }]) - return [...this.foodList, { - id: 4, - list: [], - name: '搜索' - }] + ...mapState(["configInfo", "user"]), + popular_food() { + return this.configInfo.search_guess.food_data }, - }, - onLoad(options) { - let that = this - if (options && options.list) { - let list = JSON.parse(options.list) - console.log("11111111", list) + history_food() { + return this.configInfo.search_history.food } - that.handleHomeInfo() }, - onPullDownRefresh() { + onLoad() { + let that = this + }, + mounted() { + let that = this + that.voiceManager = plugin.getRecordRecognitionManager() + that.voiceManager.onStop = function(res) { + that.autoSearchContent = res.result.replace('。', '') + } + that.voiceManager.onError = function(res) { + console.error("error msg", res.retcode) + } + that.voiceManager.stop() + }, + onReachBottom() { let that = this if (!this.lastPage || this.page >= this.lastPage) { uni.showToast({ @@ -111,49 +167,12 @@ return } this.page++ - if (that.menu2.length) { - that.handleHomeInfo() - } - setTimeout(function() { - uni.stopPullDownRefresh(); - }, 500); + this.handleSerach() }, methods: { - handleHomeInfo() { - let that = this - that.$model.getCookFoodList({ - food_level2_id: that.menu2[that.leftInd].id, - page: that.page, - search_data: that.name - }).then(res => { - if (res.code != 0) return - that.lastPage = res.data.page_total - that.menu3 = that.menu3.concat(res.data.content_list) - }) - }, - // 头部切换 - handleToggle(ind) { - let that = this - that.index = ind - that.leftInd = 0 - that.menu2 = that.menuTop[ind].list - that.menu3 = [] - that.page = 1 - if (that.menu2.length) { - that.handleHomeInfo() - } - }, - // 左侧切换 - handleToggleLeft(ind) { - let that = this - that.leftInd = ind - that.menu3 = [] - that.page = 1 - that.handleHomeInfo() - }, - // 商品选择 + // 食物选择 handleDetail(ite, ind) { - var that = this; + let that = this let list = [] if (ind == 1) { list.push(ite) @@ -166,11 +185,122 @@ } } }, - // 商品清空 - handledelete() { - this.ActiveList = [] + onShowSearchType(type) { + let that = this + console.log("autoSearchType", type, that.autoSearchContent) + this.autoSearchType = type + + if (type == 1) { + that.showAutoSearchDlg = true + } else if (type == 2) { + that.selectPhoto() + } }, - // 商品提交 + // 搜索 + handleSerach() { + let that = this + that.search_list = [] + that.$model.getFoodSearch({ + page: that.page, + search_data: that.search_value + }).then(res => { + if (res.code != 0) { + uni.showToast({ + title: res.msg, + icon: 'error' + }) + return + } + that.search_list = that.search_list.concat(res.data.content_list) + }) + }, + // 取消搜索 + handlecolse() { + this.search_value = "" + this.search_list = [] + }, + handleVoiceSearch() { + let that = this + if (that.autoSearchContent != '') { + that.search_value = that.autoSearchContent + that.showAutoSearchDlg = false + that.autoSearchContent = '' + that.handleSerach() + } + }, + // 历史搜索 + handleSearchHistory(text) { + let that = this + that.search_value = text + that.showAutoSearchDlg = false + that.autoSearchContent = '' + that.handleSerach() + }, + // 重试 + retrySearch() { + let that = this + that.autoSearchContent = '' + if (that.autoSearchType == 2) { + that.showAutoSearchDlg = false + that.selectPhoto() + } + }, + // 开始说话 + onVoiceTouchStart() { + let that = this + that.mic_touch = true + that.voiceManager.start({ + duration: 60000, + lang: "zh_CN" + }) + }, + // 语音结束 + onVoiceTouchEnd() { + let that = this + that.mic_touch = false + that.voiceManager.stop() + }, + selectPhoto() { + let that = this + uni.chooseMedia({ + count: 1, + mediaType: ['image'], + sourceType: ['album', 'camera'], + sizeType: ['compressed'], + camera: 'back', + success(res) { + const tempFilePath = res.tempFiles[0].tempFilePath + uni.getFileSystemManager().readFile({ + filePath: tempFilePath, + encoding: 'base64', + success: (res) => { + const base64 = 'data:image/jpeg;base64,' + res.data + + uni.showLoading({ + title: '图片识别中...', + mask: true + }) + + that.$model.getPhotoSearch({ + img_str: base64, + }).then(res => { + uni.hideLoading() + if (res.code != 0) return + that.autoSearchContent = res.data.name + that.showAutoSearchDlg = true + }) + }, + fail: (err) => { + console.error('读取文件失败:', err) + } + }) + }, + fail(err) { + console.error('拍照失败:', err) + } + }) + }, + // 购物车提交 handlesubbtn() { let that = this let pages = getCurrentPages() @@ -180,186 +310,399 @@ delta: 1 }) }, - // 搜索 - handleSearch(name) { + //删除购物车食材 + handledelactive(ite) { let that = this - let list = [] - if (name != "") { - that.$model.getFoodSearch({ - food_name: name - }).then(res => { - if (res.code != 0) { - uni.showToast({ - title: res.msg, - icon: 'error' - }) - return - } - that.index = 3 - that.menu2 = [] - that.menu3 = res.data - }) - } + that.ActiveList.splice(that.ActiveList.indexOf(ite), 1); }, - } } \ No newline at end of file diff --git a/pageTwo/me/menuEdit.vue b/pageTwo/me/menuEdit.vue index 9192b52..822bfdf 100644 --- a/pageTwo/me/menuEdit.vue +++ b/pageTwo/me/menuEdit.vue @@ -26,9 +26,9 @@ 添加食材 - 清空 + 清空 - + {{ite.name}} @@ -102,9 +102,9 @@ } }, computed: { - ...mapState(["menuList"]), + ...mapState(["configInfo"]), menu() { - return this.menuList + return this.configInfo.cookbook_label }, }, onLoad(options) { @@ -355,25 +355,25 @@ \ No newline at end of file diff --git a/pageTwo/me/record.vue b/pageTwo/me/record.vue index 0d3a56f..b3e1658 100644 --- a/pageTwo/me/record.vue +++ b/pageTwo/me/record.vue @@ -30,14 +30,8 @@ export default { data() { return { - list: [], page: 1, lastPage: '', - markDays: { - warning: [], - success: [], - error: [], - }, infoList: [] } }, @@ -53,7 +47,6 @@ onLoad() { let that = this that.page = 1 - that.list = [] that.handleList() }, onReachBottom() { @@ -76,56 +69,16 @@ page: that.page, }).then(res => { if (res) { - console.log("11111", res) - that.list = res.content_list - for (var i = 0; i < res.pkList.list.length; i++) { - if (Date.parse(that.endDate) == Date.parse(res.pkList.list[i].time)) { - that.infoList.push(res.pkList.list[i]); - } - if (res.pkList.list[i].describe=="超标") { - that.markDays.error.push(res.pkList.list[i].time); - } - if (res.pkList.list[i].describe=="达标") { - that.markDays.success.push(res.pkList.list[i].time); - } - if (res.pkList.list[i].describe=="不达标") { - that.markDays.warning.push(res.pkList.list[i].time); - } - } + that.infoList = that.infoList.concat(res.content_list) + that.lastPage = res.page_total } }) }, - // 日期选择 - maskClick(e) { - let that = this - console.log('maskClick事件:', e); - that.infoList = [] - for (var i = 0; i < that.list.length; i++) { - if (Date.parse(e.date) == Date.parse(that.list[i].time)) { //includes 检测数组是否有某个值 - that.infoList.push(that.list[i]); - } - } - }, - onMonthClickPre(data) { - let that = this - console.log("上月", data) - that.list = [] - that.infoList = [] - that.markDays = { - warning: [], - success: [], - error: [], - } - that.startM = data.substring(0, 10) - that.endM = data.substring(11, 21) - that.handleList() - }, - onMonthClickNext(data) { - console.log("下月", data) - }, handleDetail(item) { - let that = this - uni.setStorageSync("startDay", item.time) + this.$store.dispatch("getCountFoodInfo", { + aud_id: this.user.aud_id, + time: item.time + }) uni.switchTab({ url: '/pages/count/count' }); @@ -137,7 +90,7 @@ \ No newline at end of file diff --git a/pageTwo/me/userEdit.vue b/pageTwo/me/userEdit.vue index e5c88bd..15136ba 100644 --- a/pageTwo/me/userEdit.vue +++ b/pageTwo/me/userEdit.vue @@ -166,15 +166,15 @@ \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue index b56e4a9..f4940c6 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,97 +1,111 @@ @@ -157,31 +132,12 @@ data() { return { token: "", - isShow: false, - isFoodList: false, - // today_intake: { - // kcal: {}, - // list: [], - // time: "", - // title: "", - // other_elements: {} - // }, chartData: { series: [{ - data: 1, - color: "#ff4c4f" + data: 0, + color: "#3CB383" }] }, - ListDetail: { - title: "", - value: "", - unit: "", - content: { - time: '', - list: [] - } - }, - addfoodList: [], } }, components: { @@ -195,13 +151,15 @@ kcalVal() { return this.configInfo.kcal_data }, - today_intake() { - return this.countFoodInfo.home_food_count.kcal_data - } + foodInfo() { + let that = this + that.chartData.series[0].data = that.user.aud_id ? that.user.food_count.nutrients_four[0].proportion / + 100 : 0 + return uni.getStorageSync('token') ? that.user.food_count : that.configInfo.food_count + }, }, onLoad() { let that = this - that.addfoodList = that.$json.addfoodList that.token = uni.getStorageSync('token') that.$store.dispatch("getHomeConfig") }, @@ -215,92 +173,49 @@ }, 500); }, methods: { - //配置接口 - handleHomeConfig() { - let that = this - that.$model.getHomeConfig({}).then(res => { - if (res.code != 0) return - that.handleHomeUserInfo() - that.$store.commit('changeConfig', res.data) - }) - }, - // 获取账号信息 - handleHomeUserInfo() { - let that = this - that.$model.getHomeUserInfo({}).then(res => { - if (res.code != 0) { - that.$store.commit('changeUserInfo', {}) - console.log("11111") - return - } - that.$store.commit('changeUserInfo', res.data) - that.handleCountFoodInfo() - }) - }, - // 计食器信息 - handleCountFoodInfo() { - let that = this - that.$model.getCountFoodInfo({ - aud_id: that.info.aud_id, - time: that.$tools.getDate("start") - }).then(res => { - if (res.code != 0) return - that.today_intake = res.data.home_food_count.kcal_data - }) - }, - - // 搜索 - handleSearch() { - uni.switchTab({ - url: '/pages/search/search' - }) - }, // 登录 handleLogin() { uni.reLaunch({ url: "/pageTwo/login/login" }) }, - //个人资料 - handleUserEdit() { - uni.navigateTo({ - url: '/pageTwo/me/userEdit' - }) - }, - // 计食器详情 - handleNavTo(time) { - this.isShow = false - uni.setStorageSync("startDay", time) - uni.switchTab({ - url: "/pages/count/count" - }) - }, - // 添加食物 - handleAddFood(ind, name) { - this.isShow = false - if (ind != 3) { - uni.navigateTo({ - url: "/pageTwo/count/search?name=" + name + '&ind=' + ind - }) - } else { - this.isShow = true - } - - }, - // 计食器列表详情 - handleListDetail(item) { + handleAddFood(name) { let that = this - console.log("item", item) - if (item.content.list.length) { - that.isFoodList = true - that.ListDetail = item - } else { - that.$tools.msg("暂无摄入,快去添加吧") + if (!that.token) { + that.$tools.msg("登录后查看更多") + return } + uni.navigateTo({ + url: "/pageTwo/count/search?name=" + name + "&time=" + this.foodInfo.date + }) + }, + // 餐食详情 + handledetail(ind) { + let that = this + if (!that.token) { + that.$tools.msg("登录后查看更多") + return + } + uni.navigateTo({ + url: "/pageTwo/count/everyMeal?page=home&index=" + ind + }) + }, + handleEveryDay() { + let that = this + if (!that.token) { + that.$tools.msg("登录后查看更多") + return + } + uni.navigateTo({ + url: "/pageTwo/count/everyDay?page=home" + }) }, - // 功能页面跳转 navTo(url) { + if (!this.token) { + this.$tools.msg("登录后查看更多") + return + } uni.navigateTo({ url }) @@ -313,22 +228,14 @@ \ No newline at end of file diff --git a/pages/menu/menu.vue b/pages/menu/menu.vue index 9417161..0ad99ba 100644 --- a/pages/menu/menu.vue +++ b/pages/menu/menu.vue @@ -158,7 +158,7 @@ .right_inner_list { display: flex; flex-wrap: wrap; - margin-top: 10px; + margin-top: 20rpx; // justify-content: space-between; } @@ -169,14 +169,14 @@ margin: auto; width: 140rpx; height: 140rpx; - border-radius: 10px; + border-radius: 20rpx; } text { width: 100%; display: inline-block; text-align: center; - margin-bottom: 10px; + margin-bottom: 20rpx; } } \ No newline at end of file diff --git a/pages/search/list.vue b/pages/search/list.vue index be4808c..2fc61ce 100644 --- a/pages/search/list.vue +++ b/pages/search/list.vue @@ -1,7 +1,7 @@