From 40e5198c79727f18e55739433c16dc7029ed5ed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=99=8C?= Date: Tue, 16 Jan 2024 22:53:42 +0800 Subject: [PATCH] no message --- @babel/runtime/helpers/Arrayincludes.js | 22 + @babel/runtime/helpers/Objectvalues.js | 9 + @babel/runtime/helpers/arrayLikeToArray.js | 6 + @babel/runtime/helpers/arrayWithHoles.js | 4 + @babel/runtime/helpers/arrayWithoutHoles.js | 5 + .../runtime/helpers/assertThisInitialized.js | 8 + @babel/runtime/helpers/asyncToGenerator.js | 26 + @babel/runtime/helpers/classCallCheck.js | 5 + @babel/runtime/helpers/construct.js | 17 + @babel/runtime/helpers/createClass.js | 19 + .../helpers/createForOfIteratorHelper.js | 52 + @babel/runtime/helpers/createSuper.js | 16 + @babel/runtime/helpers/defineProperty.js | 15 + @babel/runtime/helpers/getPrototypeOf.js | 12 + @babel/runtime/helpers/inherits.js | 11 + @babel/runtime/helpers/isNativeFunction.js | 4 + .../helpers/isNativeReflectConstruct.js | 16 + @babel/runtime/helpers/iterableToArray.js | 8 + .../runtime/helpers/iterableToArrayLimit.js | 37 + @babel/runtime/helpers/nonIterableRest.js | 6 + @babel/runtime/helpers/nonIterableSpread.js | 6 + @babel/runtime/helpers/objectSpread2.js | 29 + .../helpers/possibleConstructorReturn.js | 11 + @babel/runtime/helpers/regeneratorRuntime.js | 406 + @babel/runtime/helpers/setPrototypeOf.js | 12 + @babel/runtime/helpers/slicedToArray.js | 13 + @babel/runtime/helpers/toConsumableArray.js | 13 + @babel/runtime/helpers/toPrimitive.js | 12 + @babel/runtime/helpers/toPropertyKey.js | 7 + @babel/runtime/helpers/typeof.js | 18 + .../helpers/unsupportedIterableToArray.js | 17 + @babel/runtime/helpers/wrapNativeSuper.js | 37 + App.wxml | 0 app.js | 38 + app.json | 69 + app.wxss | 72 + common/vendor.js | 24690 ++++++++++++++++ components/agreement/index.js | 85 + components/agreement/index.json | 6 + components/agreement/index.wxml | 86 + components/agreement/index.wxss | 86 + components/divider/index.js | 10 + components/divider/index.json | 1 + components/divider/index.wxml | 5 + components/divider/index.wxss | 18 + components/empty/index.js | 12 + components/empty/index.json | 1 + components/empty/index.wxml | 4 + components/empty/index.wxss | 20 + components/float-back-to-top/index.js | 24 + components/float-back-to-top/index.json | 6 + components/float-back-to-top/index.wxml | 15 + components/float-back-to-top/index.wxss | 15 + components/float-help/index.js | 15 + components/float-help/index.json | 1 + components/float-help/index.wxml | 8 + components/float-help/index.wxss | 20 + components/float-refresh/index.js | 40 + components/float-refresh/index.json | 7 + components/float-refresh/index.wxml | 23 + components/float-refresh/index.wxss | 15 + components/float-share/index.js | 10 + components/float-share/index.json | 1 + components/float-share/index.wxml | 11 + components/float-share/index.wxss | 20 + components/keyboard/index.js | 189 + components/keyboard/index.json | 6 + components/keyboard/index.wxml | 53 + components/keyboard/index.wxss | 63 + components/popup-copy-vin/index.js | 44 + components/popup-copy-vin/index.json | 6 + components/popup-copy-vin/index.wxml | 36 + components/popup-copy-vin/index.wxss | 53 + components/popup-coupon/index.js | 71 + components/popup-coupon/index.json | 7 + components/popup-coupon/index.wxml | 48 + components/popup-coupon/index.wxss | 98 + components/popup-login/index.js | 94 + components/popup-login/index.json | 6 + components/popup-login/index.wxml | 59 + components/popup-login/index.wxss | 72 + components/popup-modify-vin/index.js | 90 + components/popup-modify-vin/index.json | 7 + components/popup-modify-vin/index.wxml | 52 + components/popup-modify-vin/index.wxss | 104 + components/popup-order/index.js | 45 + components/popup-order/index.json | 6 + components/popup-order/index.wxml | 37 + components/popup-order/index.wxss | 72 + components/popup-pay-again/index.js | 77 + components/popup-pay-again/index.json | 6 + components/popup-pay-again/index.wxml | 55 + components/popup-pay-again/index.wxss | 69 + components/popup-upload-tips/index.js | 40 + components/popup-upload-tips/index.json | 6 + components/popup-upload-tips/index.wxml | 35 + components/popup-upload-tips/index.wxss | 45 + components/prompt/index.js | 10 + components/prompt/index.json | 1 + components/prompt/index.wxml | 3 + components/prompt/index.wxss | 6 + components/time-line/index.js | 64 + components/time-line/index.json | 1 + components/time-line/index.wxml | 88 + components/time-line/index.wxss | 89 + components/tips/index.js | 10 + components/tips/index.json | 1 + components/tips/index.wxml | 6 + components/tips/index.wxss | 27 + components/vehicle-number/index.js | 28 + components/vehicle-number/index.json | 1 + components/vehicle-number/index.wxml | 7 + components/vehicle-number/index.wxss | 15 + config/index.js | 7 + constant/index.js | 45 + data/index.js | 554 + enums/index.js | 34 + hooks/onMounted.js | 84 + hooks/onShareAppMessage.js | 11 + hooks/onShow.js | 11 + hooks/useHeight.js | 13 + hooks/useState.js | 7 + pages/accident-blank/index.js | 138 + pages/accident-blank/index.json | 9 + pages/accident-blank/index.wxml | 167 + pages/accident-blank/index.wxss | 233 + pages/accident-detail/index.js | 336 + pages/accident-detail/index.json | 11 + pages/accident-detail/index.wxml | 456 + pages/accident-detail/index.wxss | 448 + pages/accident-web-view/index.js | 30 + pages/accident-web-view/index.json | 1 + pages/accident-web-view/index.wxml | 1 + pages/accident-web-view/index.wxss | 0 pages/commercial-insurance-detail/index.js | 97 + pages/commercial-insurance-detail/index.json | 8 + pages/commercial-insurance-detail/index.wxml | 82 + pages/commercial-insurance-detail/index.wxss | 56 + pages/commercial-insurance-query/index.js | 205 + pages/commercial-insurance-query/index.json | 14 + pages/commercial-insurance-query/index.wxml | 124 + pages/commercial-insurance-query/index.wxss | 265 + pages/easter-egg/index.js | 50 + pages/easter-egg/index.json | 1 + pages/easter-egg/index.wxml | 4 + pages/easter-egg/index.wxss | 20 + pages/home/index.js | 174 + pages/home/index.json | 9 + pages/home/index.wxml | 86 + pages/home/index.wxss | 211 + pages/insurance-maintain-blank/index.js | 176 + pages/insurance-maintain-blank/index.json | 10 + pages/insurance-maintain-blank/index.wxml | 217 + pages/insurance-maintain-blank/index.wxss | 233 + pages/insurance-maintain-detail/index.js | 93 + pages/insurance-maintain-detail/index.json | 10 + pages/insurance-maintain-detail/index.wxml | 98 + pages/insurance-maintain-detail/index.wxss | 154 + pages/order-confirm/index.js | 300 + pages/order-confirm/index.json | 8 + pages/order-confirm/index.wxml | 160 + pages/order-confirm/index.wxss | 305 + pages/order-detail/index.js | 429 + pages/order-detail/index.json | 10 + pages/order-detail/index.wxml | 220 + pages/order-detail/index.wxss | 291 + pages/order-list-mine/index.js | 495 + pages/order-list-mine/index.json | 14 + pages/order-list-mine/index.wxml | 218 + pages/order-list-mine/index.wxss | 257 + pages/order-list/index.js | 477 + pages/order-list/index.json | 14 + pages/order-list/index.wxml | 209 + pages/order-list/index.wxss | 235 + pages/pay-fail/index.js | 92 + pages/pay-fail/index.json | 8 + pages/pay-fail/index.wxml | 45 + pages/pay-fail/index.wxss | 68 + pages/pay-success/index.js | 113 + pages/pay-success/index.json | 9 + pages/pay-success/index.wxml | 68 + pages/pay-success/index.wxss | 68 + pages/question/index.js | 84 + pages/question/index.json | 6 + pages/question/index.wxml | 15 + pages/question/index.wxss | 23 + pages/report-query/index.js | 453 + pages/report-query/index.json | 17 + pages/report-query/index.wxml | 676 + pages/report-query/index.wxss | 854 + pages/sali-check-detail/index.js | 86 + pages/sali-check-detail/index.json | 8 + pages/sali-check-detail/index.wxml | 56 + pages/sali-check-detail/index.wxss | 88 + pages/sali-check-query/index.js | 281 + pages/sali-check-query/index.json | 15 + pages/sali-check-query/index.wxml | 169 + pages/sali-check-query/index.wxss | 254 + pages/sali-detail/index.js | 109 + pages/sali-detail/index.json | 9 + pages/sali-detail/index.wxml | 98 + pages/sali-detail/index.wxss | 88 + pages/sali-query/index.js | 202 + pages/sali-query/index.json | 14 + pages/sali-query/index.wxml | 124 + pages/sali-query/index.wxss | 273 + pages/splash/index.js | 45 + pages/splash/index.json | 6 + pages/splash/index.wxml | 6 + pages/splash/index.wxss | 14 + pages/upload-success/index.js | 37 + pages/upload-success/index.json | 7 + pages/upload-success/index.wxml | 30 + pages/upload-success/index.wxss | 68 + pages/user/index.js | 106 + pages/user/index.json | 6 + pages/user/index.wxml | 199 + pages/user/index.wxss | 195 + pages/vehicle-five-detail/index.js | 92 + pages/vehicle-five-detail/index.json | 9 + pages/vehicle-five-detail/index.wxml | 57 + pages/vehicle-five-detail/index.wxss | 56 + pages/vehicle-five-query/index.js | 155 + pages/vehicle-five-query/index.json | 13 + pages/vehicle-five-query/index.wxml | 81 + pages/vehicle-five-query/index.wxss | 178 + pages/vehicle-info-detail/index.js | 174 + pages/vehicle-info-detail/index.json | 8 + pages/vehicle-info-detail/index.wxml | 55 + pages/vehicle-info-detail/index.wxss | 107 + pages/vehicle-info-query/index.js | 180 + pages/vehicle-info-query/index.json | 13 + pages/vehicle-info-query/index.wxml | 114 + pages/vehicle-info-query/index.wxss | 222 + pages/vehicle-status-detail/index.js | 118 + pages/vehicle-status-detail/index.json | 10 + pages/vehicle-status-detail/index.wxml | 80 + pages/vehicle-status-detail/index.wxss | 57 + pages/vehicle-status-query/index.js | 191 + pages/vehicle-status-query/index.json | 14 + pages/vehicle-status-query/index.wxml | 112 + pages/vehicle-status-query/index.wxss | 251 + pages/vin-info/index.js | 16 + pages/vin-info/index.json | 1 + pages/vin-info/index.wxml | 37 + pages/vin-info/index.wxss | 34 + pages/web-view/index.js | 29 + pages/web-view/index.json | 1 + pages/web-view/index.wxml | 1 + pages/web-view/index.wxss | 0 project.config.json | 26 + service/index.js | 170 + static/images/banner_home.png | Bin 0 -> 17438 bytes static/images/car.jpg | Bin 0 -> 3501 bytes static/images/icon_avatar.png | Bin 0 -> 1235 bytes static/images/icon_average.jpg | Bin 0 -> 10592 bytes static/images/icon_checked_1.png | Bin 0 -> 1291 bytes static/images/icon_checked_2.png | Bin 0 -> 1291 bytes static/images/icon_close.png | Bin 0 -> 788 bytes static/images/icon_close_3.png | Bin 0 -> 2273 bytes static/images/icon_code.png | Bin 0 -> 9845 bytes static/images/icon_coupon.png | Bin 0 -> 3157 bytes static/images/icon_excellent.jpg | Bin 0 -> 9148 bytes static/images/icon_good.jpg | Bin 0 -> 10868 bytes static/images/icon_home_operation_1.png | Bin 0 -> 2098 bytes static/images/icon_home_operation_2.png | Bin 0 -> 2405 bytes static/images/icon_home_operation_3.png | Bin 0 -> 2524 bytes static/images/icon_home_operation_4.png | Bin 0 -> 1404 bytes static/images/icon_home_operation_5.png | Bin 0 -> 1964 bytes static/images/icon_home_operation_6.png | Bin 0 -> 1364 bytes static/images/icon_home_operation_7.png | Bin 0 -> 2075 bytes static/images/icon_home_operation_8.png | Bin 0 -> 1331 bytes static/images/icon_phone.png | Bin 0 -> 9508 bytes static/images/icon_poor.jpg | Bin 0 -> 9879 bytes static/images/icon_title.png | Bin 0 -> 817 bytes static/images/icon_unchecked_1.png | Bin 0 -> 1552 bytes static/images/icon_unchecked_2.png | Bin 0 -> 1456 bytes static/images/icon_wechat.png | Bin 0 -> 1379 bytes static/images/icon_zhankai.png | Bin 0 -> 519 bytes static/images/logo_alipay.png | Bin 0 -> 1387 bytes static/images/logo_app.png | Bin 0 -> 10674 bytes static/images/logo_vehicle.png | Bin 0 -> 5255 bytes static/images/logo_wechat.png | Bin 0 -> 1941 bytes static/images/pic_accident.png | Bin 0 -> 7897 bytes static/images/pic_commercial_insurance.png | Bin 0 -> 10968 bytes static/images/pic_coupon.png | Bin 0 -> 47211 bytes static/images/pic_detail_info_1.png | Bin 0 -> 41088 bytes static/images/pic_detail_info_2.png | Bin 0 -> 42815 bytes static/images/pic_empty.png | Bin 0 -> 4498 bytes static/images/pic_home_query_1.png | Bin 0 -> 5871 bytes static/images/pic_home_query_2.png | Bin 0 -> 6208 bytes static/images/pic_home_query_3.png | Bin 0 -> 6608 bytes static/images/pic_home_query_4.png | Bin 0 -> 8431 bytes static/images/pic_maintain.png | Bin 0 -> 7191 bytes static/images/pic_notice.png | Bin 0 -> 9055 bytes static/images/pic_overall.png | Bin 0 -> 7383 bytes static/images/pic_pay_fail.png | Bin 0 -> 2427 bytes static/images/pic_pay_success.png | Bin 0 -> 2816 bytes static/images/pic_sali_check.png | Bin 0 -> 10415 bytes static/images/pic_share_mp.png | Bin 0 -> 16023 bytes static/images/pic_splash.png | Bin 0 -> 11541 bytes static/images/pic_title_1.png | Bin 0 -> 4280 bytes static/images/pic_title_2.png | Bin 0 -> 5182 bytes static/images/pic_title_3.png | Bin 0 -> 4227 bytes static/images/pic_title_4.png | Bin 0 -> 3089 bytes static/images/pic_title_5.png | Bin 0 -> 5055 bytes static/images/pic_title_6.png | Bin 0 -> 5019 bytes static/images/pic_title_7.png | Bin 0 -> 5128 bytes static/images/pic_title_8.png | Bin 0 -> 4948 bytes static/images/pic_title_9.png | Bin 0 -> 4389 bytes static/images/pic_upload_file.png | Bin 0 -> 7534 bytes static/images/pic_vehicle.jpg | Bin 0 -> 15841 bytes static/images/pic_vehicle_info.png | Bin 0 -> 12329 bytes static/images/pic_vin_info_1.png | Bin 0 -> 15373 bytes static/images/pic_vin_info_2.png | Bin 0 -> 11867 bytes static/images/pic_vin_info_3.png | Bin 0 -> 20539 bytes static/images/tabs/icon_home_default.png | Bin 0 -> 741 bytes static/images/tabs/icon_home_selected.png | Bin 0 -> 2419 bytes .../images/tabs/icon_order_list_default.png | Bin 0 -> 644 bytes .../images/tabs/icon_order_list_selected.png | Bin 0 -> 2339 bytes static/images/tabs/icon_user_default.png | Bin 0 -> 1032 bytes static/images/tabs/icon_user_selected.png | Bin 0 -> 2722 bytes static/svgs/icon_arrow_down.svg | 1 + static/svgs/icon_check_1.svg | 1 + static/svgs/icon_check_2.svg | 1 + static/svgs/icon_check_3.svg | 1 + static/svgs/icon_ckxx_normal_1.svg | 1 + static/svgs/icon_ckxx_normal_10.svg | 1 + static/svgs/icon_ckxx_normal_11.svg | 1 + static/svgs/icon_ckxx_normal_12.svg | 1 + static/svgs/icon_ckxx_normal_2.svg | 1 + static/svgs/icon_ckxx_normal_3.svg | 1 + static/svgs/icon_ckxx_normal_4.svg | 1 + static/svgs/icon_ckxx_normal_5.svg | 1 + static/svgs/icon_ckxx_normal_6.svg | 1 + static/svgs/icon_ckxx_normal_7.svg | 1 + static/svgs/icon_ckxx_normal_8.svg | 1 + static/svgs/icon_ckxx_normal_9.svg | 1 + static/svgs/icon_ckxx_unknown_1.svg | 1 + static/svgs/icon_ckxx_unknown_10.svg | 1 + static/svgs/icon_ckxx_unknown_11.svg | 1 + static/svgs/icon_ckxx_unknown_12.svg | 1 + static/svgs/icon_ckxx_unknown_2.svg | 1 + static/svgs/icon_ckxx_unknown_3.svg | 1 + static/svgs/icon_ckxx_unknown_4.svg | 1 + static/svgs/icon_ckxx_unknown_5.svg | 1 + static/svgs/icon_ckxx_unknown_6.svg | 1 + static/svgs/icon_ckxx_unknown_7.svg | 1 + static/svgs/icon_ckxx_unknown_8.svg | 1 + static/svgs/icon_ckxx_unknown_9.svg | 1 + static/svgs/icon_ckxx_warning_1.svg | 1 + static/svgs/icon_ckxx_warning_10.svg | 1 + static/svgs/icon_ckxx_warning_11.svg | 1 + static/svgs/icon_ckxx_warning_12.svg | 1 + static/svgs/icon_ckxx_warning_2.svg | 1 + static/svgs/icon_ckxx_warning_3.svg | 1 + static/svgs/icon_ckxx_warning_4.svg | 1 + static/svgs/icon_ckxx_warning_5.svg | 1 + static/svgs/icon_ckxx_warning_6.svg | 1 + static/svgs/icon_ckxx_warning_7.svg | 1 + static/svgs/icon_ckxx_warning_8.svg | 1 + static/svgs/icon_ckxx_warning_9.svg | 1 + static/svgs/icon_clear.svg | 1 + static/svgs/icon_close_1.svg | 1 + static/svgs/icon_close_2.svg | 1 + static/svgs/icon_close_3.svg | 1 + static/svgs/icon_colon.svg | 1 + static/svgs/icon_conceal_agreement.svg | 16 + static/svgs/icon_contact.svg | 14 + static/svgs/icon_contact_person.svg | 1 + static/svgs/icon_delete.svg | 1 + static/svgs/icon_down.svg | 1 + static/svgs/icon_easter_egg.svg | 1 + static/svgs/icon_feedback.svg | 1 + static/svgs/icon_free.svg | 1 + static/svgs/icon_help.svg | 1 + static/svgs/icon_more.svg | 1 + static/svgs/icon_normal.svg | 1 + static/svgs/icon_order_1.svg | 1 + static/svgs/icon_order_2.svg | 1 + static/svgs/icon_order_3.svg | 1 + static/svgs/icon_order_4.svg | 1 + static/svgs/icon_order_5.svg | 1 + static/svgs/icon_question.svg | 1 + static/svgs/icon_right.svg | 1 + static/svgs/icon_risk.svg | 1 + static/svgs/icon_risk_car.svg | 1 + static/svgs/icon_scan.svg | 1 + static/svgs/icon_selected.svg | 1 + static/svgs/icon_setting.svg | 1 + static/svgs/icon_share.svg | 1 + static/svgs/icon_share_1.svg | 1 + static/svgs/icon_shield.svg | 1 + static/svgs/icon_unknown.svg | 1 + static/svgs/icon_user_1.svg | 1 + static/svgs/icon_user_2.svg | 1 + static/svgs/icon_user_3.svg | 1 + static/svgs/icon_user_4.svg | 1 + static/svgs/icon_user_5.svg | 1 + static/svgs/icon_user_6.svg | 1 + static/svgs/icon_user_agreement.svg | 19 + static/svgs/icon_warning_1.svg | 1 + static/svgs/icon_warning_2.svg | 1 + static/svgs/icon_wechat.svg | 1 + static/svgs/pic_ckpc_doubt_1.svg | 1 + static/svgs/pic_ckpc_doubt_2.svg | 1 + static/svgs/pic_ckpc_doubt_3.svg | 1 + static/svgs/pic_ckpc_doubt_4.svg | 1 + static/svgs/pic_ckpc_doubt_6.svg | 1 + static/svgs/pic_ckpc_doubt_7.svg | 1 + static/svgs/pic_ckpc_doubt_8.svg | 1 + static/svgs/pic_ckpc_error_1.svg | 1 + static/svgs/pic_ckpc_error_2.svg | 1 + static/svgs/pic_ckpc_error_3.svg | 1 + static/svgs/pic_ckpc_error_4.svg | 1 + static/svgs/pic_ckpc_error_5.svg | 1 + static/svgs/pic_ckpc_error_6.svg | 1 + static/svgs/pic_ckpc_error_7.svg | 1 + static/svgs/pic_ckpc_error_8.svg | 1 + static/svgs/pic_ckpc_normal_1.svg | 1 + static/svgs/pic_ckpc_normal_2.svg | 1 + static/svgs/pic_ckpc_normal_3.svg | 1 + static/svgs/pic_ckpc_normal_4.svg | 1 + static/svgs/pic_ckpc_normal_5.svg | 1 + static/svgs/pic_ckpc_normal_6.svg | 1 + static/svgs/pic_ckpc_normal_7.svg | 1 + static/svgs/pic_ckpc_normal_8.svg | 1 + static/svgs/pic_ckpc_unidentified_1.svg | 1 + static/svgs/pic_ckpc_unidentified_2.svg | 1 + static/svgs/pic_ckpc_unidentified_3.svg | 1 + static/svgs/pic_ckpc_unidentified_4.svg | 1 + static/svgs/pic_ckpc_unidentified_5.svg | 1 + static/svgs/pic_ckpc_unidentified_6.svg | 1 + static/svgs/pic_ckpc_unidentified_7.svg | 1 + static/svgs/pic_ckpc_unidentified_8.svg | 1 + store/app/index.js | 202 + .../uni-collapse-item/uni-collapse-item.js | 156 + .../uni-collapse-item/uni-collapse-item.json | 6 + .../uni-collapse-item/uni-collapse-item.wxml | 44 + .../uni-collapse-item/uni-collapse-item.wxss | 101 + .../components/uni-collapse/uni-collapse.js | 99 + .../components/uni-collapse/uni-collapse.json | 1 + .../components/uni-collapse/uni-collapse.wxml | 3 + .../components/uni-collapse/uni-collapse.wxss | 7 + .../components/uni-countdown/i18n/index.js | 20 + .../components/uni-countdown/uni-countdown.js | 203 + .../uni-countdown/uni-countdown.json | 1 + .../uni-countdown/uni-countdown.wxml | 7 + .../uni-countdown/uni-countdown.wxss | 17 + .../uni-data-select/uni-data-select.js | 253 + .../uni-data-select/uni-data-select.json | 6 + .../uni-data-select/uni-data-select.wxml | 52 + .../uni-data-select/uni-data-select.wxss | 146 + .../uni-icons/components/uni-icons/icons.js | 1171 + .../components/uni-icons/uni-icons.js | 53 + .../components/uni-icons/uni-icons.json | 1 + .../components/uni-icons/uni-icons.wxml | 5 + .../components/uni-icons/uni-icons.wxss | 492 + .../components/uni-load-more/i18n/index.js | 17 + .../components/uni-load-more/uni-load-more.js | 114 + .../uni-load-more/uni-load-more.json | 1 + .../uni-load-more/uni-load-more.wxml | 30 + .../uni-load-more/uni-load-more.wxss | 228 + .../components/uni-popup/uni-popup.js | 288 + .../components/uni-popup/uni-popup.json | 6 + .../components/uni-popup/uni-popup.wxml | 29 + .../components/uni-popup/uni-popup.wxss | 24 + .../uni-transition/createAnimation.js | 136 + .../uni-transition/uni-transition.js | 226 + .../uni-transition/uni-transition.json | 1 + .../uni-transition/uni-transition.wxml | 10 + .../uni-transition/uni-transition.wxss | 0 utils/ald-stat.js | 1272 + utils/common.js | 310 + utils/mtj-wx-sdk.js | 1137 + utils/navigate.js | 20 + utils/request.js | 141 + utils/util.js | 81 + utils/vin.js | 80 + 479 files changed, 52166 insertions(+) create mode 100644 @babel/runtime/helpers/Arrayincludes.js create mode 100644 @babel/runtime/helpers/Objectvalues.js create mode 100644 @babel/runtime/helpers/arrayLikeToArray.js create mode 100644 @babel/runtime/helpers/arrayWithHoles.js create mode 100644 @babel/runtime/helpers/arrayWithoutHoles.js create mode 100644 @babel/runtime/helpers/assertThisInitialized.js create mode 100644 @babel/runtime/helpers/asyncToGenerator.js create mode 100644 @babel/runtime/helpers/classCallCheck.js create mode 100644 @babel/runtime/helpers/construct.js create mode 100644 @babel/runtime/helpers/createClass.js create mode 100644 @babel/runtime/helpers/createForOfIteratorHelper.js create mode 100644 @babel/runtime/helpers/createSuper.js create mode 100644 @babel/runtime/helpers/defineProperty.js create mode 100644 @babel/runtime/helpers/getPrototypeOf.js create mode 100644 @babel/runtime/helpers/inherits.js create mode 100644 @babel/runtime/helpers/isNativeFunction.js create mode 100644 @babel/runtime/helpers/isNativeReflectConstruct.js create mode 100644 @babel/runtime/helpers/iterableToArray.js create mode 100644 @babel/runtime/helpers/iterableToArrayLimit.js create mode 100644 @babel/runtime/helpers/nonIterableRest.js create mode 100644 @babel/runtime/helpers/nonIterableSpread.js create mode 100644 @babel/runtime/helpers/objectSpread2.js create mode 100644 @babel/runtime/helpers/possibleConstructorReturn.js create mode 100644 @babel/runtime/helpers/regeneratorRuntime.js create mode 100644 @babel/runtime/helpers/setPrototypeOf.js create mode 100644 @babel/runtime/helpers/slicedToArray.js create mode 100644 @babel/runtime/helpers/toConsumableArray.js create mode 100644 @babel/runtime/helpers/toPrimitive.js create mode 100644 @babel/runtime/helpers/toPropertyKey.js create mode 100644 @babel/runtime/helpers/typeof.js create mode 100644 @babel/runtime/helpers/unsupportedIterableToArray.js create mode 100644 @babel/runtime/helpers/wrapNativeSuper.js create mode 100644 App.wxml create mode 100644 app.js create mode 100644 app.json create mode 100644 app.wxss create mode 100644 common/vendor.js create mode 100644 components/agreement/index.js create mode 100644 components/agreement/index.json create mode 100644 components/agreement/index.wxml create mode 100644 components/agreement/index.wxss create mode 100644 components/divider/index.js create mode 100644 components/divider/index.json create mode 100644 components/divider/index.wxml create mode 100644 components/divider/index.wxss create mode 100644 components/empty/index.js create mode 100644 components/empty/index.json create mode 100644 components/empty/index.wxml create mode 100644 components/empty/index.wxss create mode 100644 components/float-back-to-top/index.js create mode 100644 components/float-back-to-top/index.json create mode 100644 components/float-back-to-top/index.wxml create mode 100644 components/float-back-to-top/index.wxss create mode 100644 components/float-help/index.js create mode 100644 components/float-help/index.json create mode 100644 components/float-help/index.wxml create mode 100644 components/float-help/index.wxss create mode 100644 components/float-refresh/index.js create mode 100644 components/float-refresh/index.json create mode 100644 components/float-refresh/index.wxml create mode 100644 components/float-refresh/index.wxss create mode 100644 components/float-share/index.js create mode 100644 components/float-share/index.json create mode 100644 components/float-share/index.wxml create mode 100644 components/float-share/index.wxss create mode 100644 components/keyboard/index.js create mode 100644 components/keyboard/index.json create mode 100644 components/keyboard/index.wxml create mode 100644 components/keyboard/index.wxss create mode 100644 components/popup-copy-vin/index.js create mode 100644 components/popup-copy-vin/index.json create mode 100644 components/popup-copy-vin/index.wxml create mode 100644 components/popup-copy-vin/index.wxss create mode 100644 components/popup-coupon/index.js create mode 100644 components/popup-coupon/index.json create mode 100644 components/popup-coupon/index.wxml create mode 100644 components/popup-coupon/index.wxss create mode 100644 components/popup-login/index.js create mode 100644 components/popup-login/index.json create mode 100644 components/popup-login/index.wxml create mode 100644 components/popup-login/index.wxss create mode 100644 components/popup-modify-vin/index.js create mode 100644 components/popup-modify-vin/index.json create mode 100644 components/popup-modify-vin/index.wxml create mode 100644 components/popup-modify-vin/index.wxss create mode 100644 components/popup-order/index.js create mode 100644 components/popup-order/index.json create mode 100644 components/popup-order/index.wxml create mode 100644 components/popup-order/index.wxss create mode 100644 components/popup-pay-again/index.js create mode 100644 components/popup-pay-again/index.json create mode 100644 components/popup-pay-again/index.wxml create mode 100644 components/popup-pay-again/index.wxss create mode 100644 components/popup-upload-tips/index.js create mode 100644 components/popup-upload-tips/index.json create mode 100644 components/popup-upload-tips/index.wxml create mode 100644 components/popup-upload-tips/index.wxss create mode 100644 components/prompt/index.js create mode 100644 components/prompt/index.json create mode 100644 components/prompt/index.wxml create mode 100644 components/prompt/index.wxss create mode 100644 components/time-line/index.js create mode 100644 components/time-line/index.json create mode 100644 components/time-line/index.wxml create mode 100644 components/time-line/index.wxss create mode 100644 components/tips/index.js create mode 100644 components/tips/index.json create mode 100644 components/tips/index.wxml create mode 100644 components/tips/index.wxss create mode 100644 components/vehicle-number/index.js create mode 100644 components/vehicle-number/index.json create mode 100644 components/vehicle-number/index.wxml create mode 100644 components/vehicle-number/index.wxss create mode 100644 config/index.js create mode 100644 constant/index.js create mode 100644 data/index.js create mode 100644 enums/index.js create mode 100644 hooks/onMounted.js create mode 100644 hooks/onShareAppMessage.js create mode 100644 hooks/onShow.js create mode 100644 hooks/useHeight.js create mode 100644 hooks/useState.js create mode 100644 pages/accident-blank/index.js create mode 100644 pages/accident-blank/index.json create mode 100644 pages/accident-blank/index.wxml create mode 100644 pages/accident-blank/index.wxss create mode 100644 pages/accident-detail/index.js create mode 100644 pages/accident-detail/index.json create mode 100644 pages/accident-detail/index.wxml create mode 100644 pages/accident-detail/index.wxss create mode 100644 pages/accident-web-view/index.js create mode 100644 pages/accident-web-view/index.json create mode 100644 pages/accident-web-view/index.wxml create mode 100644 pages/accident-web-view/index.wxss create mode 100644 pages/commercial-insurance-detail/index.js create mode 100644 pages/commercial-insurance-detail/index.json create mode 100644 pages/commercial-insurance-detail/index.wxml create mode 100644 pages/commercial-insurance-detail/index.wxss create mode 100644 pages/commercial-insurance-query/index.js create mode 100644 pages/commercial-insurance-query/index.json create mode 100644 pages/commercial-insurance-query/index.wxml create mode 100644 pages/commercial-insurance-query/index.wxss create mode 100644 pages/easter-egg/index.js create mode 100644 pages/easter-egg/index.json create mode 100644 pages/easter-egg/index.wxml create mode 100644 pages/easter-egg/index.wxss create mode 100644 pages/home/index.js create mode 100644 pages/home/index.json create mode 100644 pages/home/index.wxml create mode 100644 pages/home/index.wxss create mode 100644 pages/insurance-maintain-blank/index.js create mode 100644 pages/insurance-maintain-blank/index.json create mode 100644 pages/insurance-maintain-blank/index.wxml create mode 100644 pages/insurance-maintain-blank/index.wxss create mode 100644 pages/insurance-maintain-detail/index.js create mode 100644 pages/insurance-maintain-detail/index.json create mode 100644 pages/insurance-maintain-detail/index.wxml create mode 100644 pages/insurance-maintain-detail/index.wxss create mode 100644 pages/order-confirm/index.js create mode 100644 pages/order-confirm/index.json create mode 100644 pages/order-confirm/index.wxml create mode 100644 pages/order-confirm/index.wxss create mode 100644 pages/order-detail/index.js create mode 100644 pages/order-detail/index.json create mode 100644 pages/order-detail/index.wxml create mode 100644 pages/order-detail/index.wxss create mode 100644 pages/order-list-mine/index.js create mode 100644 pages/order-list-mine/index.json create mode 100644 pages/order-list-mine/index.wxml create mode 100644 pages/order-list-mine/index.wxss create mode 100644 pages/order-list/index.js create mode 100644 pages/order-list/index.json create mode 100644 pages/order-list/index.wxml create mode 100644 pages/order-list/index.wxss create mode 100644 pages/pay-fail/index.js create mode 100644 pages/pay-fail/index.json create mode 100644 pages/pay-fail/index.wxml create mode 100644 pages/pay-fail/index.wxss create mode 100644 pages/pay-success/index.js create mode 100644 pages/pay-success/index.json create mode 100644 pages/pay-success/index.wxml create mode 100644 pages/pay-success/index.wxss create mode 100644 pages/question/index.js create mode 100644 pages/question/index.json create mode 100644 pages/question/index.wxml create mode 100644 pages/question/index.wxss create mode 100644 pages/report-query/index.js create mode 100644 pages/report-query/index.json create mode 100644 pages/report-query/index.wxml create mode 100644 pages/report-query/index.wxss create mode 100644 pages/sali-check-detail/index.js create mode 100644 pages/sali-check-detail/index.json create mode 100644 pages/sali-check-detail/index.wxml create mode 100644 pages/sali-check-detail/index.wxss create mode 100644 pages/sali-check-query/index.js create mode 100644 pages/sali-check-query/index.json create mode 100644 pages/sali-check-query/index.wxml create mode 100644 pages/sali-check-query/index.wxss create mode 100644 pages/sali-detail/index.js create mode 100644 pages/sali-detail/index.json create mode 100644 pages/sali-detail/index.wxml create mode 100644 pages/sali-detail/index.wxss create mode 100644 pages/sali-query/index.js create mode 100644 pages/sali-query/index.json create mode 100644 pages/sali-query/index.wxml create mode 100644 pages/sali-query/index.wxss create mode 100644 pages/splash/index.js create mode 100644 pages/splash/index.json create mode 100644 pages/splash/index.wxml create mode 100644 pages/splash/index.wxss create mode 100644 pages/upload-success/index.js create mode 100644 pages/upload-success/index.json create mode 100644 pages/upload-success/index.wxml create mode 100644 pages/upload-success/index.wxss create mode 100644 pages/user/index.js create mode 100644 pages/user/index.json create mode 100644 pages/user/index.wxml create mode 100644 pages/user/index.wxss create mode 100644 pages/vehicle-five-detail/index.js create mode 100644 pages/vehicle-five-detail/index.json create mode 100644 pages/vehicle-five-detail/index.wxml create mode 100644 pages/vehicle-five-detail/index.wxss create mode 100644 pages/vehicle-five-query/index.js create mode 100644 pages/vehicle-five-query/index.json create mode 100644 pages/vehicle-five-query/index.wxml create mode 100644 pages/vehicle-five-query/index.wxss create mode 100644 pages/vehicle-info-detail/index.js create mode 100644 pages/vehicle-info-detail/index.json create mode 100644 pages/vehicle-info-detail/index.wxml create mode 100644 pages/vehicle-info-detail/index.wxss create mode 100644 pages/vehicle-info-query/index.js create mode 100644 pages/vehicle-info-query/index.json create mode 100644 pages/vehicle-info-query/index.wxml create mode 100644 pages/vehicle-info-query/index.wxss create mode 100644 pages/vehicle-status-detail/index.js create mode 100644 pages/vehicle-status-detail/index.json create mode 100644 pages/vehicle-status-detail/index.wxml create mode 100644 pages/vehicle-status-detail/index.wxss create mode 100644 pages/vehicle-status-query/index.js create mode 100644 pages/vehicle-status-query/index.json create mode 100644 pages/vehicle-status-query/index.wxml create mode 100644 pages/vehicle-status-query/index.wxss create mode 100644 pages/vin-info/index.js create mode 100644 pages/vin-info/index.json create mode 100644 pages/vin-info/index.wxml create mode 100644 pages/vin-info/index.wxss create mode 100644 pages/web-view/index.js create mode 100644 pages/web-view/index.json create mode 100644 pages/web-view/index.wxml create mode 100644 pages/web-view/index.wxss create mode 100644 project.config.json create mode 100644 service/index.js create mode 100644 static/images/banner_home.png create mode 100644 static/images/car.jpg create mode 100644 static/images/icon_avatar.png create mode 100644 static/images/icon_average.jpg create mode 100644 static/images/icon_checked_1.png create mode 100644 static/images/icon_checked_2.png create mode 100644 static/images/icon_close.png create mode 100644 static/images/icon_close_3.png create mode 100644 static/images/icon_code.png create mode 100644 static/images/icon_coupon.png create mode 100644 static/images/icon_excellent.jpg create mode 100644 static/images/icon_good.jpg create mode 100644 static/images/icon_home_operation_1.png create mode 100644 static/images/icon_home_operation_2.png create mode 100644 static/images/icon_home_operation_3.png create mode 100644 static/images/icon_home_operation_4.png create mode 100644 static/images/icon_home_operation_5.png create mode 100644 static/images/icon_home_operation_6.png create mode 100644 static/images/icon_home_operation_7.png create mode 100644 static/images/icon_home_operation_8.png create mode 100644 static/images/icon_phone.png create mode 100644 static/images/icon_poor.jpg create mode 100644 static/images/icon_title.png create mode 100644 static/images/icon_unchecked_1.png create mode 100644 static/images/icon_unchecked_2.png create mode 100644 static/images/icon_wechat.png create mode 100644 static/images/icon_zhankai.png create mode 100644 static/images/logo_alipay.png create mode 100644 static/images/logo_app.png create mode 100644 static/images/logo_vehicle.png create mode 100644 static/images/logo_wechat.png create mode 100644 static/images/pic_accident.png create mode 100644 static/images/pic_commercial_insurance.png create mode 100644 static/images/pic_coupon.png create mode 100644 static/images/pic_detail_info_1.png create mode 100644 static/images/pic_detail_info_2.png create mode 100644 static/images/pic_empty.png create mode 100644 static/images/pic_home_query_1.png create mode 100644 static/images/pic_home_query_2.png create mode 100644 static/images/pic_home_query_3.png create mode 100644 static/images/pic_home_query_4.png create mode 100644 static/images/pic_maintain.png create mode 100644 static/images/pic_notice.png create mode 100644 static/images/pic_overall.png create mode 100644 static/images/pic_pay_fail.png create mode 100644 static/images/pic_pay_success.png create mode 100644 static/images/pic_sali_check.png create mode 100644 static/images/pic_share_mp.png create mode 100644 static/images/pic_splash.png create mode 100644 static/images/pic_title_1.png create mode 100644 static/images/pic_title_2.png create mode 100644 static/images/pic_title_3.png create mode 100644 static/images/pic_title_4.png create mode 100644 static/images/pic_title_5.png create mode 100644 static/images/pic_title_6.png create mode 100644 static/images/pic_title_7.png create mode 100644 static/images/pic_title_8.png create mode 100644 static/images/pic_title_9.png create mode 100644 static/images/pic_upload_file.png create mode 100644 static/images/pic_vehicle.jpg create mode 100644 static/images/pic_vehicle_info.png create mode 100644 static/images/pic_vin_info_1.png create mode 100644 static/images/pic_vin_info_2.png create mode 100644 static/images/pic_vin_info_3.png create mode 100644 static/images/tabs/icon_home_default.png create mode 100644 static/images/tabs/icon_home_selected.png create mode 100644 static/images/tabs/icon_order_list_default.png create mode 100644 static/images/tabs/icon_order_list_selected.png create mode 100644 static/images/tabs/icon_user_default.png create mode 100644 static/images/tabs/icon_user_selected.png create mode 100644 static/svgs/icon_arrow_down.svg create mode 100644 static/svgs/icon_check_1.svg create mode 100644 static/svgs/icon_check_2.svg create mode 100644 static/svgs/icon_check_3.svg create mode 100644 static/svgs/icon_ckxx_normal_1.svg create mode 100644 static/svgs/icon_ckxx_normal_10.svg create mode 100644 static/svgs/icon_ckxx_normal_11.svg create mode 100644 static/svgs/icon_ckxx_normal_12.svg create mode 100644 static/svgs/icon_ckxx_normal_2.svg create mode 100644 static/svgs/icon_ckxx_normal_3.svg create mode 100644 static/svgs/icon_ckxx_normal_4.svg create mode 100644 static/svgs/icon_ckxx_normal_5.svg create mode 100644 static/svgs/icon_ckxx_normal_6.svg create mode 100644 static/svgs/icon_ckxx_normal_7.svg create mode 100644 static/svgs/icon_ckxx_normal_8.svg create mode 100644 static/svgs/icon_ckxx_normal_9.svg create mode 100644 static/svgs/icon_ckxx_unknown_1.svg create mode 100644 static/svgs/icon_ckxx_unknown_10.svg create mode 100644 static/svgs/icon_ckxx_unknown_11.svg create mode 100644 static/svgs/icon_ckxx_unknown_12.svg create mode 100644 static/svgs/icon_ckxx_unknown_2.svg create mode 100644 static/svgs/icon_ckxx_unknown_3.svg create mode 100644 static/svgs/icon_ckxx_unknown_4.svg create mode 100644 static/svgs/icon_ckxx_unknown_5.svg create mode 100644 static/svgs/icon_ckxx_unknown_6.svg create mode 100644 static/svgs/icon_ckxx_unknown_7.svg create mode 100644 static/svgs/icon_ckxx_unknown_8.svg create mode 100644 static/svgs/icon_ckxx_unknown_9.svg create mode 100644 static/svgs/icon_ckxx_warning_1.svg create mode 100644 static/svgs/icon_ckxx_warning_10.svg create mode 100644 static/svgs/icon_ckxx_warning_11.svg create mode 100644 static/svgs/icon_ckxx_warning_12.svg create mode 100644 static/svgs/icon_ckxx_warning_2.svg create mode 100644 static/svgs/icon_ckxx_warning_3.svg create mode 100644 static/svgs/icon_ckxx_warning_4.svg create mode 100644 static/svgs/icon_ckxx_warning_5.svg create mode 100644 static/svgs/icon_ckxx_warning_6.svg create mode 100644 static/svgs/icon_ckxx_warning_7.svg create mode 100644 static/svgs/icon_ckxx_warning_8.svg create mode 100644 static/svgs/icon_ckxx_warning_9.svg create mode 100644 static/svgs/icon_clear.svg create mode 100644 static/svgs/icon_close_1.svg create mode 100644 static/svgs/icon_close_2.svg create mode 100644 static/svgs/icon_close_3.svg create mode 100644 static/svgs/icon_colon.svg create mode 100644 static/svgs/icon_conceal_agreement.svg create mode 100644 static/svgs/icon_contact.svg create mode 100644 static/svgs/icon_contact_person.svg create mode 100644 static/svgs/icon_delete.svg create mode 100644 static/svgs/icon_down.svg create mode 100644 static/svgs/icon_easter_egg.svg create mode 100644 static/svgs/icon_feedback.svg create mode 100644 static/svgs/icon_free.svg create mode 100644 static/svgs/icon_help.svg create mode 100644 static/svgs/icon_more.svg create mode 100644 static/svgs/icon_normal.svg create mode 100644 static/svgs/icon_order_1.svg create mode 100644 static/svgs/icon_order_2.svg create mode 100644 static/svgs/icon_order_3.svg create mode 100644 static/svgs/icon_order_4.svg create mode 100644 static/svgs/icon_order_5.svg create mode 100644 static/svgs/icon_question.svg create mode 100644 static/svgs/icon_right.svg create mode 100644 static/svgs/icon_risk.svg create mode 100644 static/svgs/icon_risk_car.svg create mode 100644 static/svgs/icon_scan.svg create mode 100644 static/svgs/icon_selected.svg create mode 100644 static/svgs/icon_setting.svg create mode 100644 static/svgs/icon_share.svg create mode 100644 static/svgs/icon_share_1.svg create mode 100644 static/svgs/icon_shield.svg create mode 100644 static/svgs/icon_unknown.svg create mode 100644 static/svgs/icon_user_1.svg create mode 100644 static/svgs/icon_user_2.svg create mode 100644 static/svgs/icon_user_3.svg create mode 100644 static/svgs/icon_user_4.svg create mode 100644 static/svgs/icon_user_5.svg create mode 100644 static/svgs/icon_user_6.svg create mode 100644 static/svgs/icon_user_agreement.svg create mode 100644 static/svgs/icon_warning_1.svg create mode 100644 static/svgs/icon_warning_2.svg create mode 100644 static/svgs/icon_wechat.svg create mode 100644 static/svgs/pic_ckpc_doubt_1.svg create mode 100644 static/svgs/pic_ckpc_doubt_2.svg create mode 100644 static/svgs/pic_ckpc_doubt_3.svg create mode 100644 static/svgs/pic_ckpc_doubt_4.svg create mode 100644 static/svgs/pic_ckpc_doubt_6.svg create mode 100644 static/svgs/pic_ckpc_doubt_7.svg create mode 100644 static/svgs/pic_ckpc_doubt_8.svg create mode 100644 static/svgs/pic_ckpc_error_1.svg create mode 100644 static/svgs/pic_ckpc_error_2.svg create mode 100644 static/svgs/pic_ckpc_error_3.svg create mode 100644 static/svgs/pic_ckpc_error_4.svg create mode 100644 static/svgs/pic_ckpc_error_5.svg create mode 100644 static/svgs/pic_ckpc_error_6.svg create mode 100644 static/svgs/pic_ckpc_error_7.svg create mode 100644 static/svgs/pic_ckpc_error_8.svg create mode 100644 static/svgs/pic_ckpc_normal_1.svg create mode 100644 static/svgs/pic_ckpc_normal_2.svg create mode 100644 static/svgs/pic_ckpc_normal_3.svg create mode 100644 static/svgs/pic_ckpc_normal_4.svg create mode 100644 static/svgs/pic_ckpc_normal_5.svg create mode 100644 static/svgs/pic_ckpc_normal_6.svg create mode 100644 static/svgs/pic_ckpc_normal_7.svg create mode 100644 static/svgs/pic_ckpc_normal_8.svg create mode 100644 static/svgs/pic_ckpc_unidentified_1.svg create mode 100644 static/svgs/pic_ckpc_unidentified_2.svg create mode 100644 static/svgs/pic_ckpc_unidentified_3.svg create mode 100644 static/svgs/pic_ckpc_unidentified_4.svg create mode 100644 static/svgs/pic_ckpc_unidentified_5.svg create mode 100644 static/svgs/pic_ckpc_unidentified_6.svg create mode 100644 static/svgs/pic_ckpc_unidentified_7.svg create mode 100644 static/svgs/pic_ckpc_unidentified_8.svg create mode 100644 store/app/index.js create mode 100644 uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js create mode 100644 uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json create mode 100644 uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml create mode 100644 uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss create mode 100644 uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js create mode 100644 uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json create mode 100644 uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml create mode 100644 uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss create mode 100644 uni_modules/uni-countdown/components/uni-countdown/i18n/index.js create mode 100644 uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js create mode 100644 uni_modules/uni-countdown/components/uni-countdown/uni-countdown.json create mode 100644 uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxml create mode 100644 uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxss create mode 100644 uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js create mode 100644 uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json create mode 100644 uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml create mode 100644 uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss create mode 100644 uni_modules/uni-icons/components/uni-icons/icons.js create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.js create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.json create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.wxml create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.wxss create mode 100644 uni_modules/uni-load-more/components/uni-load-more/i18n/index.js create mode 100644 uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js create mode 100644 uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json create mode 100644 uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml create mode 100644 uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.js create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.json create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.wxml create mode 100644 uni_modules/uni-popup/components/uni-popup/uni-popup.wxss create mode 100644 uni_modules/uni-transition/components/uni-transition/createAnimation.js create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.js create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.json create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.wxml create mode 100644 uni_modules/uni-transition/components/uni-transition/uni-transition.wxss create mode 100644 utils/ald-stat.js create mode 100644 utils/common.js create mode 100644 utils/mtj-wx-sdk.js create mode 100644 utils/navigate.js create mode 100644 utils/request.js create mode 100644 utils/util.js create mode 100644 utils/vin.js diff --git a/@babel/runtime/helpers/Arrayincludes.js b/@babel/runtime/helpers/Arrayincludes.js new file mode 100644 index 0000000..cc51742 --- /dev/null +++ b/@babel/runtime/helpers/Arrayincludes.js @@ -0,0 +1,22 @@ +Array.prototype.includes || + Object.defineProperty(Array.prototype, "includes", { + value: function (r, e) { + if (null == this) throw new TypeError('"this" is null or not defined'); + var t = Object(this), + n = t.length >>> 0; + if (0 == n) return !1; + for ( + var i, o, a = 0 | e, u = Math.max(0 <= a ? a : n - Math.abs(a), 0); + u < n; + + ) { + if ( + (i = t[u]) === (o = r) || + ("number" == typeof i && "number" == typeof o && isNaN(i) && isNaN(o)) + ) + return !0; + u++; + } + return !1; + }, + }); diff --git a/@babel/runtime/helpers/Objectvalues.js b/@babel/runtime/helpers/Objectvalues.js new file mode 100644 index 0000000..55ec399 --- /dev/null +++ b/@babel/runtime/helpers/Objectvalues.js @@ -0,0 +1,9 @@ +Object.values || + (Object.values = function (e) { + if (e !== Object(e)) + throw new TypeError("Object.values called on a non-object"); + var t, + r = []; + for (t in e) Object.prototype.hasOwnProperty.call(e, t) && r.push(e[t]); + return r; + }); diff --git a/@babel/runtime/helpers/arrayLikeToArray.js b/@babel/runtime/helpers/arrayLikeToArray.js new file mode 100644 index 0000000..34796b6 --- /dev/null +++ b/@babel/runtime/helpers/arrayLikeToArray.js @@ -0,0 +1,6 @@ +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = new Array(a); e < a; e++) n[e] = r[e]; + return n; +} +module.exports = _arrayLikeToArray; diff --git a/@babel/runtime/helpers/arrayWithHoles.js b/@babel/runtime/helpers/arrayWithHoles.js new file mode 100644 index 0000000..d4cb1b6 --- /dev/null +++ b/@babel/runtime/helpers/arrayWithHoles.js @@ -0,0 +1,4 @@ +function _arrayWithHoles(r) { + if (Array.isArray(r)) return r; +} +module.exports = _arrayWithHoles; diff --git a/@babel/runtime/helpers/arrayWithoutHoles.js b/@babel/runtime/helpers/arrayWithoutHoles.js new file mode 100644 index 0000000..ecd0ad7 --- /dev/null +++ b/@babel/runtime/helpers/arrayWithoutHoles.js @@ -0,0 +1,5 @@ +var arrayLikeToArray = require("./arrayLikeToArray"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return arrayLikeToArray(r); +} +module.exports = _arrayWithoutHoles; diff --git a/@babel/runtime/helpers/assertThisInitialized.js b/@babel/runtime/helpers/assertThisInitialized.js new file mode 100644 index 0000000..6337313 --- /dev/null +++ b/@babel/runtime/helpers/assertThisInitialized.js @@ -0,0 +1,8 @@ +function _assertThisInitialized(e) { + if (void 0 === e) + throw new ReferenceError( + "this hasn't been initialised - super() hasn't been called" + ); + return e; +} +module.exports = _assertThisInitialized; diff --git a/@babel/runtime/helpers/asyncToGenerator.js b/@babel/runtime/helpers/asyncToGenerator.js new file mode 100644 index 0000000..f44f6c5 --- /dev/null +++ b/@babel/runtime/helpers/asyncToGenerator.js @@ -0,0 +1,26 @@ +function asyncGeneratorStep(n, e, r, t, o, a, c) { + try { + var i = n[a](c), + u = i.value; + } catch (n) { + return void r(n); + } + i.done ? e(u) : Promise.resolve(u).then(t, o); +} +function _asyncToGenerator(n) { + return function () { + var e = this, + r = arguments; + return new Promise(function (t, o) { + var a = n.apply(e, r); + function c(n) { + asyncGeneratorStep(a, t, o, c, i, "next", n); + } + function i(n) { + asyncGeneratorStep(a, t, o, c, i, "throw", n); + } + c(void 0); + }); + }; +} +module.exports = _asyncToGenerator; diff --git a/@babel/runtime/helpers/classCallCheck.js b/@babel/runtime/helpers/classCallCheck.js new file mode 100644 index 0000000..23042cd --- /dev/null +++ b/@babel/runtime/helpers/classCallCheck.js @@ -0,0 +1,5 @@ +function _classCallCheck(a, l) { + if (!(a instanceof l)) + throw new TypeError("Cannot call a class as a function"); +} +module.exports = _classCallCheck; diff --git a/@babel/runtime/helpers/construct.js b/@babel/runtime/helpers/construct.js new file mode 100644 index 0000000..dca0169 --- /dev/null +++ b/@babel/runtime/helpers/construct.js @@ -0,0 +1,17 @@ +var setPrototypeOf = require("./setPrototypeOf"), + isNativeReflectConstruct = require("./isNativeReflectConstruct"); +function _construct(t, e, r) { + return ( + isNativeReflectConstruct() + ? (module.exports = _construct = Reflect.construct.bind()) + : (module.exports = _construct = + function (t, e, r) { + var o = [null]; + o.push.apply(o, e); + var c = new (Function.bind.apply(t, o))(); + return r && setPrototypeOf(c, r.prototype), c; + }), + _construct.apply(null, arguments) + ); +} +module.exports = _construct; diff --git a/@babel/runtime/helpers/createClass.js b/@babel/runtime/helpers/createClass.js new file mode 100644 index 0000000..4bd71c1 --- /dev/null +++ b/@babel/runtime/helpers/createClass.js @@ -0,0 +1,19 @@ +var toPropertyKey = require("./toPropertyKey"); +function _defineProperties(e, r) { + for (var t = 0; t < r.length; t++) { + var o = r[t]; + (o.enumerable = o.enumerable || !1), + (o.configurable = !0), + "value" in o && (o.writable = !0), + Object.defineProperty(e, toPropertyKey(o.key), o); + } +} +function _createClass(e, r, t) { + return ( + r && _defineProperties(e.prototype, r), + t && _defineProperties(e, t), + Object.defineProperty(e, "prototype", { writable: !1 }), + e + ); +} +module.exports = _createClass; diff --git a/@babel/runtime/helpers/createForOfIteratorHelper.js b/@babel/runtime/helpers/createForOfIteratorHelper.js new file mode 100644 index 0000000..73c2ce9 --- /dev/null +++ b/@babel/runtime/helpers/createForOfIteratorHelper.js @@ -0,0 +1,52 @@ +var unsupportedIterableToArray = require("./unsupportedIterableToArray"); +function _createForOfIteratorHelper(r, e) { + var t = + ("undefined" != typeof Symbol && r[Symbol.iterator]) || r["@@iterator"]; + if (!t) { + if ( + Array.isArray(r) || + (t = unsupportedIterableToArray(r)) || + (e && r && "number" == typeof r.length) + ) { + t && (r = t); + var n = 0, + o = function () {}; + return { + s: o, + n: function () { + return n >= r.length ? { done: !0 } : { done: !1, value: r[n++] }; + }, + e: function (r) { + throw r; + }, + f: o, + }; + } + throw new TypeError( + "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + } + var a, + u = !0, + i = !1; + return { + s: function () { + t = t.call(r); + }, + n: function () { + var r = t.next(); + return (u = r.done), r; + }, + e: function (r) { + (i = !0), (a = r); + }, + f: function () { + try { + u || null == t.return || t.return(); + } finally { + if (i) throw a; + } + }, + }; +} +module.exports = _createForOfIteratorHelper; diff --git a/@babel/runtime/helpers/createSuper.js b/@babel/runtime/helpers/createSuper.js new file mode 100644 index 0000000..cf6edc1 --- /dev/null +++ b/@babel/runtime/helpers/createSuper.js @@ -0,0 +1,16 @@ +var getPrototypeOf = require("./getPrototypeOf"), + isNativeReflectConstruct = require("./isNativeReflectConstruct"), + possibleConstructorReturn = require("./possibleConstructorReturn"); +function _createSuper(t) { + var e = isNativeReflectConstruct(); + return function () { + var r, + o = getPrototypeOf(t); + if (e) { + var s = getPrototypeOf(this).constructor; + r = Reflect.construct(o, arguments, s); + } else r = o.apply(this, arguments); + return possibleConstructorReturn(this, r); + }; +} +module.exports = _createSuper; diff --git a/@babel/runtime/helpers/defineProperty.js b/@babel/runtime/helpers/defineProperty.js new file mode 100644 index 0000000..2da77c5 --- /dev/null +++ b/@babel/runtime/helpers/defineProperty.js @@ -0,0 +1,15 @@ +var toPropertyKey = require("./toPropertyKey"); +function _defineProperty(e, r, t) { + return ( + (r = toPropertyKey(r)) in e + ? Object.defineProperty(e, r, { + value: t, + enumerable: !0, + configurable: !0, + writable: !0, + }) + : (e[r] = t), + e + ); +} +module.exports = _defineProperty; diff --git a/@babel/runtime/helpers/getPrototypeOf.js b/@babel/runtime/helpers/getPrototypeOf.js new file mode 100644 index 0000000..c4f45e1 --- /dev/null +++ b/@babel/runtime/helpers/getPrototypeOf.js @@ -0,0 +1,12 @@ +function _getPrototypeOf(t) { + return ( + (module.exports = _getPrototypeOf = + Object.setPrototypeOf + ? Object.getPrototypeOf.bind() + : function (t) { + return t.__proto__ || Object.getPrototypeOf(t); + }), + _getPrototypeOf(t) + ); +} +module.exports = _getPrototypeOf; diff --git a/@babel/runtime/helpers/inherits.js b/@babel/runtime/helpers/inherits.js new file mode 100644 index 0000000..c390255 --- /dev/null +++ b/@babel/runtime/helpers/inherits.js @@ -0,0 +1,11 @@ +var setPrototypeOf = require("./setPrototypeOf"); +function _inherits(e, t) { + if ("function" != typeof t && null !== t) + throw new TypeError("Super expression must either be null or a function"); + (e.prototype = Object.create(t && t.prototype, { + constructor: { value: e, writable: !0, configurable: !0 }, + })), + Object.defineProperty(e, "prototype", { writable: !1 }), + t && setPrototypeOf(e, t); +} +module.exports = _inherits; diff --git a/@babel/runtime/helpers/isNativeFunction.js b/@babel/runtime/helpers/isNativeFunction.js new file mode 100644 index 0000000..cb77f4a --- /dev/null +++ b/@babel/runtime/helpers/isNativeFunction.js @@ -0,0 +1,4 @@ +function _isNativeFunction(n) { + return -1 !== Function.toString.call(n).indexOf("[native code]"); +} +module.exports = _isNativeFunction; diff --git a/@babel/runtime/helpers/isNativeReflectConstruct.js b/@babel/runtime/helpers/isNativeReflectConstruct.js new file mode 100644 index 0000000..671dbcc --- /dev/null +++ b/@babel/runtime/helpers/isNativeReflectConstruct.js @@ -0,0 +1,16 @@ +function _isNativeReflectConstruct() { + if ("undefined" == typeof Reflect || !Reflect.construct) return !1; + if (Reflect.construct.sham) return !1; + if ("function" == typeof Proxy) return !0; + try { + return ( + Boolean.prototype.valueOf.call( + Reflect.construct(Boolean, [], function () {}) + ), + !0 + ); + } catch (t) { + return !1; + } +} +module.exports = _isNativeReflectConstruct; diff --git a/@babel/runtime/helpers/iterableToArray.js b/@babel/runtime/helpers/iterableToArray.js new file mode 100644 index 0000000..83cd812 --- /dev/null +++ b/@babel/runtime/helpers/iterableToArray.js @@ -0,0 +1,8 @@ +function _iterableToArray(r) { + if ( + ("undefined" != typeof Symbol && null != r[Symbol.iterator]) || + null != r["@@iterator"] + ) + return Array.from(r); +} +module.exports = _iterableToArray; diff --git a/@babel/runtime/helpers/iterableToArrayLimit.js b/@babel/runtime/helpers/iterableToArrayLimit.js new file mode 100644 index 0000000..d16e3bb --- /dev/null +++ b/@babel/runtime/helpers/iterableToArrayLimit.js @@ -0,0 +1,37 @@ +function _iterableToArrayLimit(r, e) { + var l = + null == r + ? null + : ("undefined" != typeof Symbol && r[Symbol.iterator]) || r["@@iterator"]; + if (null != l) { + var t, + n, + i, + a, + u = [], + o = !0, + f = !1; + try { + if (((i = (l = l.call(r)).next), 0 === e)) { + if (Object(l) !== l) return; + o = !1; + } else + for ( + ; + !(o = (t = i.call(l)).done) && (u.push(t.value), u.length !== e); + o = !0 + ); + } catch (r) { + (f = !0), (n = r); + } finally { + try { + if (!o && null != l.return && ((a = l.return()), Object(a) !== a)) + return; + } finally { + if (f) throw n; + } + } + return u; + } +} +module.exports = _iterableToArrayLimit; diff --git a/@babel/runtime/helpers/nonIterableRest.js b/@babel/runtime/helpers/nonIterableRest.js new file mode 100644 index 0000000..16486c5 --- /dev/null +++ b/@babel/runtime/helpers/nonIterableRest.js @@ -0,0 +1,6 @@ +function _nonIterableRest() { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); +} +module.exports = _nonIterableRest; diff --git a/@babel/runtime/helpers/nonIterableSpread.js b/@babel/runtime/helpers/nonIterableSpread.js new file mode 100644 index 0000000..3b8597e --- /dev/null +++ b/@babel/runtime/helpers/nonIterableSpread.js @@ -0,0 +1,6 @@ +function _nonIterableSpread() { + throw new TypeError( + "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); +} +module.exports = _nonIterableSpread; diff --git a/@babel/runtime/helpers/objectSpread2.js b/@babel/runtime/helpers/objectSpread2.js new file mode 100644 index 0000000..b0290d8 --- /dev/null +++ b/@babel/runtime/helpers/objectSpread2.js @@ -0,0 +1,29 @@ +var defineProperty = require("./defineProperty"); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && + (o = o.filter(function (r) { + return Object.getOwnPropertyDescriptor(e, r).enumerable; + })), + t.push.apply(t, o); + } + return t; +} +function _objectSpread2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 + ? ownKeys(Object(t), !0).forEach(function (r) { + defineProperty(e, r, t[r]); + }) + : Object.getOwnPropertyDescriptors + ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) + : ownKeys(Object(t)).forEach(function (r) { + Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); + }); + } + return e; +} +module.exports = _objectSpread2; diff --git a/@babel/runtime/helpers/possibleConstructorReturn.js b/@babel/runtime/helpers/possibleConstructorReturn.js new file mode 100644 index 0000000..ee00fc2 --- /dev/null +++ b/@babel/runtime/helpers/possibleConstructorReturn.js @@ -0,0 +1,11 @@ +var _typeof = require("./typeof"), + assertThisInitialized = require("./assertThisInitialized"); +function _possibleConstructorReturn(e, r) { + if (r && ("object" === _typeof(r) || "function" == typeof r)) return r; + if (void 0 !== r) + throw new TypeError( + "Derived constructors may only return object or undefined" + ); + return assertThisInitialized(e); +} +module.exports = _possibleConstructorReturn; diff --git a/@babel/runtime/helpers/regeneratorRuntime.js b/@babel/runtime/helpers/regeneratorRuntime.js new file mode 100644 index 0000000..7035532 --- /dev/null +++ b/@babel/runtime/helpers/regeneratorRuntime.js @@ -0,0 +1,406 @@ +var t = require("./typeof"); +function r() { + (module.exports = r = + function () { + return e; + }), + (module.exports.__esModule = !0), + (module.exports.default = module.exports); + var e = {}, + n = Object.prototype, + o = n.hasOwnProperty, + i = + Object.defineProperty || + function (t, r, e) { + t[r] = e.value; + }, + a = "function" == typeof Symbol ? Symbol : {}, + c = a.iterator || "@@iterator", + u = a.asyncIterator || "@@asyncIterator", + l = a.toStringTag || "@@toStringTag"; + function h(t, r, e) { + return ( + Object.defineProperty(t, r, { + value: e, + enumerable: !0, + configurable: !0, + writable: !0, + }), + t[r] + ); + } + try { + h({}, ""); + } catch (t) { + h = function (t, r, e) { + return (t[r] = e); + }; + } + function f(t, r, e, n) { + var o = r && r.prototype instanceof d ? r : d, + a = Object.create(o.prototype), + c = new k(n || []); + return i(a, "_invoke", { value: E(t, e, c) }), a; + } + function s(t, r, e) { + try { + return { type: "normal", arg: t.call(r, e) }; + } catch (t) { + return { type: "throw", arg: t }; + } + } + e.wrap = f; + var p = {}; + function d() {} + function v() {} + function y() {} + var g = {}; + h(g, c, function () { + return this; + }); + var m = Object.getPrototypeOf, + w = m && m(m(G([]))); + w && w !== n && o.call(w, c) && (g = w); + var x = (y.prototype = d.prototype = Object.create(g)); + function L(t) { + ["next", "throw", "return"].forEach(function (r) { + h(t, r, function (t) { + return this._invoke(r, t); + }); + }); + } + function b(r, e) { + function n(i, a, c, u) { + var l = s(r[i], r, a); + if ("throw" !== l.type) { + var h = l.arg, + f = h.value; + return f && "object" == t(f) && o.call(f, "__await") + ? e.resolve(f.__await).then( + function (t) { + n("next", t, c, u); + }, + function (t) { + n("throw", t, c, u); + } + ) + : e.resolve(f).then( + function (t) { + (h.value = t), c(h); + }, + function (t) { + return n("throw", t, c, u); + } + ); + } + u(l.arg); + } + var a; + i(this, "_invoke", { + value: function (t, r) { + function o() { + return new e(function (e, o) { + n(t, r, e, o); + }); + } + return (a = a ? a.then(o, o) : o()); + }, + }); + } + function E(t, r, e) { + var n = "suspendedStart"; + return function (o, i) { + if ("executing" === n) throw new Error("Generator is already running"); + if ("completed" === n) { + if ("throw" === o) throw i; + return N(); + } + for (e.method = o, e.arg = i; ; ) { + var a = e.delegate; + if (a) { + var c = _(a, e); + if (c) { + if (c === p) continue; + return c; + } + } + if ("next" === e.method) e.sent = e._sent = e.arg; + else if ("throw" === e.method) { + if ("suspendedStart" === n) throw ((n = "completed"), e.arg); + e.dispatchException(e.arg); + } else "return" === e.method && e.abrupt("return", e.arg); + n = "executing"; + var u = s(t, r, e); + if ("normal" === u.type) { + if (((n = e.done ? "completed" : "suspendedYield"), u.arg === p)) + continue; + return { value: u.arg, done: e.done }; + } + "throw" === u.type && + ((n = "completed"), (e.method = "throw"), (e.arg = u.arg)); + } + }; + } + function _(t, r) { + var e = r.method, + n = t.iterator[e]; + if (void 0 === n) + return ( + (r.delegate = null), + ("throw" === e && + t.iterator.return && + ((r.method = "return"), + (r.arg = void 0), + _(t, r), + "throw" === r.method)) || + ("return" !== e && + ((r.method = "throw"), + (r.arg = new TypeError( + "The iterator does not provide a '" + e + "' method" + )))), + p + ); + var o = s(n, t.iterator, r.arg); + if ("throw" === o.type) + return (r.method = "throw"), (r.arg = o.arg), (r.delegate = null), p; + var i = o.arg; + return i + ? i.done + ? ((r[t.resultName] = i.value), + (r.next = t.nextLoc), + "return" !== r.method && ((r.method = "next"), (r.arg = void 0)), + (r.delegate = null), + p) + : i + : ((r.method = "throw"), + (r.arg = new TypeError("iterator result is not an object")), + (r.delegate = null), + p); + } + function O(t) { + var r = { tryLoc: t[0] }; + 1 in t && (r.catchLoc = t[1]), + 2 in t && ((r.finallyLoc = t[2]), (r.afterLoc = t[3])), + this.tryEntries.push(r); + } + function j(t) { + var r = t.completion || {}; + (r.type = "normal"), delete r.arg, (t.completion = r); + } + function k(t) { + (this.tryEntries = [{ tryLoc: "root" }]), + t.forEach(O, this), + this.reset(!0); + } + function G(t) { + if (t) { + var r = t[c]; + if (r) return r.call(t); + if ("function" == typeof t.next) return t; + if (!isNaN(t.length)) { + var e = -1, + n = function r() { + for (; ++e < t.length; ) + if (o.call(t, e)) return (r.value = t[e]), (r.done = !1), r; + return (r.value = void 0), (r.done = !0), r; + }; + return (n.next = n); + } + } + return { next: N }; + } + function N() { + return { value: void 0, done: !0 }; + } + return ( + (v.prototype = y), + i(x, "constructor", { value: y, configurable: !0 }), + i(y, "constructor", { value: v, configurable: !0 }), + (v.displayName = h(y, l, "GeneratorFunction")), + (e.isGeneratorFunction = function (t) { + var r = "function" == typeof t && t.constructor; + return ( + !!r && (r === v || "GeneratorFunction" === (r.displayName || r.name)) + ); + }), + (e.mark = function (t) { + return ( + Object.setPrototypeOf + ? Object.setPrototypeOf(t, y) + : ((t.__proto__ = y), h(t, l, "GeneratorFunction")), + (t.prototype = Object.create(x)), + t + ); + }), + (e.awrap = function (t) { + return { __await: t }; + }), + L(b.prototype), + h(b.prototype, u, function () { + return this; + }), + (e.AsyncIterator = b), + (e.async = function (t, r, n, o, i) { + void 0 === i && (i = Promise); + var a = new b(f(t, r, n, o), i); + return e.isGeneratorFunction(r) + ? a + : a.next().then(function (t) { + return t.done ? t.value : a.next(); + }); + }), + L(x), + h(x, l, "Generator"), + h(x, c, function () { + return this; + }), + h(x, "toString", function () { + return "[object Generator]"; + }), + (e.keys = function (t) { + var r = Object(t), + e = []; + for (var n in r) e.push(n); + return ( + e.reverse(), + function t() { + for (; e.length; ) { + var n = e.pop(); + if (n in r) return (t.value = n), (t.done = !1), t; + } + return (t.done = !0), t; + } + ); + }), + (e.values = G), + (k.prototype = { + constructor: k, + reset: function (t) { + if ( + ((this.prev = 0), + (this.next = 0), + (this.sent = this._sent = void 0), + (this.done = !1), + (this.delegate = null), + (this.method = "next"), + (this.arg = void 0), + this.tryEntries.forEach(j), + !t) + ) + for (var r in this) + "t" === r.charAt(0) && + o.call(this, r) && + !isNaN(+r.slice(1)) && + (this[r] = void 0); + }, + stop: function () { + this.done = !0; + var t = this.tryEntries[0].completion; + if ("throw" === t.type) throw t.arg; + return this.rval; + }, + dispatchException: function (t) { + if (this.done) throw t; + var r = this; + function e(e, n) { + return ( + (a.type = "throw"), + (a.arg = t), + (r.next = e), + n && ((r.method = "next"), (r.arg = void 0)), + !!n + ); + } + for (var n = this.tryEntries.length - 1; n >= 0; --n) { + var i = this.tryEntries[n], + a = i.completion; + if ("root" === i.tryLoc) return e("end"); + if (i.tryLoc <= this.prev) { + var c = o.call(i, "catchLoc"), + u = o.call(i, "finallyLoc"); + if (c && u) { + if (this.prev < i.catchLoc) return e(i.catchLoc, !0); + if (this.prev < i.finallyLoc) return e(i.finallyLoc); + } else if (c) { + if (this.prev < i.catchLoc) return e(i.catchLoc, !0); + } else { + if (!u) throw new Error("try statement without catch or finally"); + if (this.prev < i.finallyLoc) return e(i.finallyLoc); + } + } + } + }, + abrupt: function (t, r) { + for (var e = this.tryEntries.length - 1; e >= 0; --e) { + var n = this.tryEntries[e]; + if ( + n.tryLoc <= this.prev && + o.call(n, "finallyLoc") && + this.prev < n.finallyLoc + ) { + var i = n; + break; + } + } + i && + ("break" === t || "continue" === t) && + i.tryLoc <= r && + r <= i.finallyLoc && + (i = null); + var a = i ? i.completion : {}; + return ( + (a.type = t), + (a.arg = r), + i + ? ((this.method = "next"), (this.next = i.finallyLoc), p) + : this.complete(a) + ); + }, + complete: function (t, r) { + if ("throw" === t.type) throw t.arg; + return ( + "break" === t.type || "continue" === t.type + ? (this.next = t.arg) + : "return" === t.type + ? ((this.rval = this.arg = t.arg), + (this.method = "return"), + (this.next = "end")) + : "normal" === t.type && r && (this.next = r), + p + ); + }, + finish: function (t) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var e = this.tryEntries[r]; + if (e.finallyLoc === t) + return this.complete(e.completion, e.afterLoc), j(e), p; + } + }, + catch: function (t) { + for (var r = this.tryEntries.length - 1; r >= 0; --r) { + var e = this.tryEntries[r]; + if (e.tryLoc === t) { + var n = e.completion; + if ("throw" === n.type) { + var o = n.arg; + j(e); + } + return o; + } + } + throw new Error("illegal catch attempt"); + }, + delegateYield: function (t, r, e) { + return ( + (this.delegate = { iterator: G(t), resultName: r, nextLoc: e }), + "next" === this.method && (this.arg = void 0), + p + ); + }, + }), + e + ); +} +(module.exports = r), + (module.exports.__esModule = !0), + (module.exports.default = module.exports); diff --git a/@babel/runtime/helpers/setPrototypeOf.js b/@babel/runtime/helpers/setPrototypeOf.js new file mode 100644 index 0000000..b235a8c --- /dev/null +++ b/@babel/runtime/helpers/setPrototypeOf.js @@ -0,0 +1,12 @@ +function _setPrototypeOf(t, e) { + return ( + (module.exports = _setPrototypeOf = + Object.setPrototypeOf + ? Object.setPrototypeOf.bind() + : function (t, e) { + return (t.__proto__ = e), t; + }), + _setPrototypeOf(t, e) + ); +} +module.exports = _setPrototypeOf; diff --git a/@babel/runtime/helpers/slicedToArray.js b/@babel/runtime/helpers/slicedToArray.js new file mode 100644 index 0000000..0af9d8f --- /dev/null +++ b/@babel/runtime/helpers/slicedToArray.js @@ -0,0 +1,13 @@ +var arrayWithHoles = require("./arrayWithHoles"), + iterableToArrayLimit = require("./iterableToArrayLimit"), + unsupportedIterableToArray = require("./unsupportedIterableToArray"), + nonIterableRest = require("./nonIterableRest"); +function _slicedToArray(r, e) { + return ( + arrayWithHoles(r) || + iterableToArrayLimit(r, e) || + unsupportedIterableToArray(r, e) || + nonIterableRest() + ); +} +module.exports = _slicedToArray; diff --git a/@babel/runtime/helpers/toConsumableArray.js b/@babel/runtime/helpers/toConsumableArray.js new file mode 100644 index 0000000..fdd9096 --- /dev/null +++ b/@babel/runtime/helpers/toConsumableArray.js @@ -0,0 +1,13 @@ +var arrayWithoutHoles = require("./arrayWithoutHoles"), + iterableToArray = require("./iterableToArray"), + unsupportedIterableToArray = require("./unsupportedIterableToArray"), + nonIterableSpread = require("./nonIterableSpread"); +function _toConsumableArray(r) { + return ( + arrayWithoutHoles(r) || + iterableToArray(r) || + unsupportedIterableToArray(r) || + nonIterableSpread() + ); +} +module.exports = _toConsumableArray; diff --git a/@babel/runtime/helpers/toPrimitive.js b/@babel/runtime/helpers/toPrimitive.js new file mode 100644 index 0000000..f15d424 --- /dev/null +++ b/@babel/runtime/helpers/toPrimitive.js @@ -0,0 +1,12 @@ +var _typeof = require("./typeof"); +function _toPrimitive(r, t) { + if ("object" !== _typeof(r) || null === r) return r; + var e = r[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(r, t || "default"); + if ("object" !== _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === t ? String : Number)(r); +} +module.exports = _toPrimitive; diff --git a/@babel/runtime/helpers/toPropertyKey.js b/@babel/runtime/helpers/toPropertyKey.js new file mode 100644 index 0000000..92a9c4e --- /dev/null +++ b/@babel/runtime/helpers/toPropertyKey.js @@ -0,0 +1,7 @@ +var _typeof = require("./typeof"), + toPrimitive = require("./toPrimitive"); +function _toPropertyKey(r) { + var t = toPrimitive(r, "string"); + return "symbol" === _typeof(t) ? t : String(t); +} +module.exports = _toPropertyKey; diff --git a/@babel/runtime/helpers/typeof.js b/@babel/runtime/helpers/typeof.js new file mode 100644 index 0000000..f287981 --- /dev/null +++ b/@babel/runtime/helpers/typeof.js @@ -0,0 +1,18 @@ +function _typeof2(o) { + "@babel/helpers - typeof"; + return (_typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { + return typeof o; + } : function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; + })(o); +} + +function _typeof(o) { + return "function" == typeof Symbol && "symbol" === _typeof2(Symbol.iterator) ? module.exports = _typeof = function (o) { + return _typeof2(o); + } : module.exports = _typeof = function (o) { + return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : _typeof2(o); + }, _typeof(o); +} + +module.exports = _typeof; \ No newline at end of file diff --git a/@babel/runtime/helpers/unsupportedIterableToArray.js b/@babel/runtime/helpers/unsupportedIterableToArray.js new file mode 100644 index 0000000..4fea3d7 --- /dev/null +++ b/@babel/runtime/helpers/unsupportedIterableToArray.js @@ -0,0 +1,17 @@ +var arrayLikeToArray = require("./arrayLikeToArray"); +function _unsupportedIterableToArray(r, e) { + if (r) { + if ("string" == typeof r) return arrayLikeToArray(r, e); + var t = Object.prototype.toString.call(r).slice(8, -1); + return ( + "Object" === t && r.constructor && (t = r.constructor.name), + "Map" === t || "Set" === t + ? Array.from(r) + : "Arguments" === t || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) + ? arrayLikeToArray(r, e) + : void 0 + ); + } +} +module.exports = _unsupportedIterableToArray; diff --git a/@babel/runtime/helpers/wrapNativeSuper.js b/@babel/runtime/helpers/wrapNativeSuper.js new file mode 100644 index 0000000..3cf4fbf --- /dev/null +++ b/@babel/runtime/helpers/wrapNativeSuper.js @@ -0,0 +1,37 @@ +var getPrototypeOf = require("./getPrototypeOf"), + setPrototypeOf = require("./setPrototypeOf"), + isNativeFunction = require("./isNativeFunction"), + construct = require("./construct"); +function _wrapNativeSuper(t) { + var e = "function" == typeof Map ? new Map() : void 0; + return ( + (module.exports = _wrapNativeSuper = + function (t) { + if (null === t || !isNativeFunction(t)) return t; + if ("function" != typeof t) + throw new TypeError( + "Super expression must either be null or a function" + ); + if (void 0 !== e) { + if (e.has(t)) return e.get(t); + e.set(t, r); + } + function r() { + return construct(t, arguments, getPrototypeOf(this).constructor); + } + return ( + (r.prototype = Object.create(t.prototype, { + constructor: { + value: r, + enumerable: !1, + writable: !0, + configurable: !0, + }, + })), + setPrototypeOf(r, t) + ); + }), + _wrapNativeSuper(t) + ); +} +module.exports = _wrapNativeSuper; diff --git a/App.wxml b/App.wxml new file mode 100644 index 0000000..e69de29 diff --git a/app.js b/app.js new file mode 100644 index 0000000..4f4f80a --- /dev/null +++ b/app.js @@ -0,0 +1,38 @@ +Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); +var e = require("./common/vendor.js"); +require("./constant/index.js"); +var t = require("./utils/ald-stat.js"), + n = require("./utils/mtj-wx-sdk.js"), + i = require("./utils/util.js"); +Math; +var a = { + __name: "App", + setup: function (t) { + return ( + e.onLaunch(function () { + i.checkForUpdate(), + setTimeout(function () { + var t = e.index.getStorageSync("openId"); + t && (e.wx$1.aldstat.sendOpenid(t), e.wx$1.uma.setOpenid(t)); + }, 5e3); + }), + function (e, t) { + return {}; + } + ); + }, +}; +function r() { + var t = e.createSSRApp(a); + return t.use(e.createPinia()), { app: t, Pinia: e.Pinia }; +} +t.aldInit(), + n.mtjInit({}), + e.lib.init({ + appKey: "65793213a7208a5af185764c", + useOpenid: !0, + autoGetOpenid: !1, + debug: !0, + }), + r().app.mount("#app"), + (exports.createApp = r); diff --git a/app.json b/app.json new file mode 100644 index 0000000..f958a0c --- /dev/null +++ b/app.json @@ -0,0 +1,69 @@ +{ + "pages": [ + "pages/splash/index", + "pages/home/index", + "pages/order-list/index", + "pages/order-list-mine/index", + "pages/user/index", + "pages/vin-info/index", + "pages/web-view/index", + "pages/report-query/index", + "pages/insurance-maintain-detail/index", + "pages/insurance-maintain-blank/index", + "pages/accident-detail/index", + "pages/accident-blank/index", + "pages/accident-web-view/index", + "pages/vehicle-info-query/index", + "pages/vehicle-info-detail/index", + "pages/vehicle-five-query/index", + "pages/vehicle-five-detail/index", + "pages/commercial-insurance-query/index", + "pages/commercial-insurance-detail/index", + "pages/sali-query/index", + "pages/sali-detail/index", + "pages/sali-check-query/index", + "pages/sali-check-detail/index", + "pages/vehicle-status-query/index", + "pages/vehicle-status-detail/index", + "pages/order-confirm/index", + "pages/order-detail/index", + "pages/pay-success/index", + "pages/pay-fail/index", + "pages/upload-success/index", + "pages/question/index", + "pages/easter-egg/index" + ], + "window": { + "navigationBarTextStyle": "white", + "navigationBarBackgroundColor": "#1F68E9", + "backgroundColor": "#f8f9fe", + "backgroundColorTop": "#f8f9fe", + "backgroundTextStyle": "dark" + }, + "tabBar": { + "color": "#7A7E83", + "selectedColor": "#1F68E9", + "borderStyle": "black", + "backgroundColor": "#ffffff", + "list": [ + { + "pagePath": "pages/home/index", + "text": "首页", + "iconPath": "static/images/tabs/icon_home_default.png", + "selectedIconPath": "static/images/tabs/icon_home_selected.png" + }, + { + "pagePath": "pages/order-list/index", + "text": "订单", + "iconPath": "static/images/tabs/icon_order_list_default.png", + "selectedIconPath": "static/images/tabs/icon_order_list_selected.png" + }, + { + "pagePath": "pages/user/index", + "text": "我的", + "iconPath": "static/images/tabs/icon_user_default.png", + "selectedIconPath": "static/images/tabs/icon_user_selected.png" + } + ] + } +} diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..2fe5471 --- /dev/null +++ b/app.wxss @@ -0,0 +1,72 @@ +page { + background-color: #f8f9fe; + color: #2c2c34; + word-break: break-all; +} +view { + display: block; +} +scroll-view, +text, +view { + box-sizing: border-box; +} +image { + display: block; + width: 100%; +} +button:after { + display: none; +} +.default-hover-class { + opacity: 0.8; +} +.divider { + background-color: #f7f8fa; + height: 2px; + width: 100%; +} +.divider-box { + background-color: #f8f9fe; + height: 18rpx; + width: 100%; +} +.uni-collapse-item__title-arrow { + margin-right: 0 !important; +} +page::after { + animation: shadow-preload 0.1s; + animation-delay: 3s; + content: ""; + left: -1000px; + position: fixed; + top: -1000px; +} +@-webkit-keyframes shadow-preload { + 0% { + background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png); + } + 100% { + background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png); + } +} +@keyframes shadow-preload { + 0% { + background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png); + } + 100% { + background-image: url(https://cdn1.dcloud.net.cn/img/shadow-grey.png); + } +} +page { + --status-bar-height: 25px; + --top-window-height: 0px; + --window-top: 0px; + --window-bottom: 0px; + --window-left: 0px; + --window-right: 0px; + --window-magin: 0px; +} +[data-c-h="true"] { + display: none !important; +} diff --git a/common/vendor.js b/common/vendor.js new file mode 100644 index 0000000..f45a95c --- /dev/null +++ b/common/vendor.js @@ -0,0 +1,24690 @@ +var e = require("../@babel/runtime/helpers/assertThisInitialized"); +require("../@babel/runtime/helpers/Arrayincludes"); +var t = require("../@babel/runtime/helpers/regeneratorRuntime"), + n = require("../@babel/runtime/helpers/asyncToGenerator"), + r = require("../@babel/runtime/helpers/objectSpread2"), + i = require("../@babel/runtime/helpers/inherits"), + o = require("../@babel/runtime/helpers/createSuper"), + a = require("../@babel/runtime/helpers/wrapNativeSuper"), + u = require("../@babel/runtime/helpers/createForOfIteratorHelper"), + s = require("../@babel/runtime/helpers/classCallCheck"), + c = require("../@babel/runtime/helpers/createClass"), + f = require("../@babel/runtime/helpers/typeof"), + l = require("../@babel/runtime/helpers/defineProperty"), + h = require("../@babel/runtime/helpers/slicedToArray"), + p = require("../@babel/runtime/helpers/toConsumableArray"); +function d(e, t) { + for (var n = Object.create(null), r = e.split(","), i = 0; i < r.length; i++) + n[r[i]] = !0; + return t + ? function (e) { + return !!n[e.toLowerCase()]; + } + : function (e) { + return !!n[e]; + }; +} +var v = /;(?![^(]*\))/g, + g = /:([^]+)/, + y = /\/\*[\s\S]*?\*\//g; +function _(e) { + var t = {}; + return ( + e + .replace(y, "") + .split(v) + .forEach(function (e) { + if (e) { + var n = e.split(g); + n.length > 1 && (t[n[0].trim()] = n[1].trim()); + } + }), + t + ); +} +var m = function e(t, n) { + return n && n.__v_isRef + ? e(t, n.value) + : R(n) + ? l( + {}, + "Map(".concat(n.size, ")"), + p(n.entries()).reduce(function (e, t) { + var n = h(t, 2), + r = n[0], + i = n[1]; + return (e["".concat(r, " =>")] = i), e; + }, {}) + ) + : L(n) + ? l({}, "Set(".concat(n.size, ")"), p(n.values())) + : !U(n) || C(n) || F(n) + ? n + : String(n); + }, + w = {}, + k = [], + b = function () {}, + x = function () { + return !1; + }, + S = /^on[^a-z]/, + A = function (e) { + return S.test(e); + }, + I = function (e) { + return e.startsWith("onUpdate:"); + }, + O = Object.assign, + P = function (e, t) { + var n = e.indexOf(t); + n > -1 && e.splice(n, 1); + }, + T = Object.prototype.hasOwnProperty, + E = function (e, t) { + return T.call(e, t); + }, + C = Array.isArray, + R = function (e) { + return "[object Map]" === $(e); + }, + L = function (e) { + return "[object Set]" === $(e); + }, + D = function (e) { + return "function" == typeof e; + }, + B = function (e) { + return "string" == typeof e; + }, + N = function (e) { + return "symbol" == f(e); + }, + U = function (e) { + return null !== e && "object" == f(e); + }, + j = function (e) { + return U(e) && D(e.then) && D(e.catch); + }, + M = Object.prototype.toString, + $ = function (e) { + return M.call(e); + }, + F = function (e) { + return "[object Object]" === $(e); + }, + H = function (e) { + return B(e) && "NaN" !== e && "-" !== e[0] && "" + parseInt(e, 10) === e; + }, + q = d( + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" + ), + z = function (e) { + var t = Object.create(null); + return function (n) { + return t[n] || (t[n] = e(n)); + }; + }, + W = /-(\w)/g, + V = z(function (e) { + return e.replace(W, function (e, t) { + return t ? t.toUpperCase() : ""; + }); + }), + K = /\B([A-Z])/g, + J = z(function (e) { + return e.replace(K, "-$1").toLowerCase(); + }), + G = z(function (e) { + return e.charAt(0).toUpperCase() + e.slice(1); + }), + Y = z(function (e) { + return e ? "on".concat(G(e)) : ""; + }), + X = function (e, t) { + return !Object.is(e, t); + }, + Q = function (e, t) { + for (var n = 0; n < e.length; n++) e[n](t); + }, + Z = function (e) { + var t = parseFloat(e); + return isNaN(t) ? e : t; + }, + ee = "onShow", + te = "onHide", + ne = "onLaunch", + re = "onError", + ie = "onThemeChange", + oe = "onPageNotFound", + ae = "onUnhandledRejection", + ue = "onLoad", + se = "onReady", + ce = "onUnload", + fe = "onSaveExitState", + le = "onResize", + he = "onBackPress", + pe = "onPageScroll", + de = "onTabItemTap", + ve = "onReachBottom", + ge = "onPullDownRefresh", + ye = "onShareTimeline", + _e = "onAddToFavorites", + me = "onShareAppMessage", + we = "onNavigationBarButtonTap", + ke = "onNavigationBarSearchInputClicked", + be = "onNavigationBarSearchInputChanged", + xe = "onNavigationBarSearchInputConfirmed", + Se = "onNavigationBarSearchInputFocusChanged", + Ae = /:/g; +function Ie(e) { + var t, + n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; + return function () { + for (var r = arguments.length, i = new Array(r), o = 0; o < r; o++) + i[o] = arguments[o]; + return e && ((t = e.apply(n, i)), (e = null)), t; + }; +} +function Oe(e) { + var t = {}; + return ( + F(e) && + Object.keys(e) + .sort() + .forEach(function (n) { + var r = n; + t[r] = e[r]; + }), + Object.keys(t) ? t : e + ); +} +var Pe = encodeURIComponent; +function Te(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Pe, + n = e + ? Object.keys(e) + .map(function (n) { + var r = e[n]; + return ( + void 0 === f(r) || null === r + ? (r = "") + : F(r) && (r = JSON.stringify(r)), + t(n) + "=" + t(r) + ); + }) + .filter(function (e) { + return e.length > 0; + }) + .join("&") + : null; + return n ? "?".concat(n) : ""; +} +var Ee, + Ce = [ + "onInit", + ue, + ee, + te, + ce, + he, + pe, + de, + ve, + ge, + ye, + me, + _e, + fe, + we, + ke, + be, + xe, + Se, + ], + Re = [ + ee, + te, + ne, + re, + ie, + oe, + ae, + "onExit", + "onInit", + ue, + se, + ce, + le, + he, + pe, + de, + ve, + ge, + ye, + _e, + me, + fe, + we, + ke, + be, + xe, + Se, + ], + Le = { onPageScroll: 1, onShareAppMessage: 2, onShareTimeline: 4 }; +function De(e, t) { + var n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; + return !(n && !D(t)) && (Re.indexOf(e) > -1 || 0 === e.indexOf("on")); +} +var Be = [], + Ne = Ie(function (e, t) { + if (D(e._component.onError)) return t(e); + }), + Ue = function () {}; +Ue.prototype = { + on: function (e, t, n) { + var r = this.e || (this.e = {}); + return (r[e] || (r[e] = [])).push({ fn: t, ctx: n }), this; + }, + once: function (e, t, n) { + var r = this; + function i() { + r.off(e, i), t.apply(n, arguments); + } + return (i._ = t), this.on(e, i, n); + }, + emit: function (e) { + for ( + var t = [].slice.call(arguments, 1), + n = ((this.e || (this.e = {}))[e] || []).slice(), + r = 0, + i = n.length; + r < i; + r++ + ) + n[r].fn.apply(n[r].ctx, t); + return this; + }, + off: function (e, t) { + var n = this.e || (this.e = {}), + r = n[e], + i = []; + if (r && t) + for (var o = 0, a = r.length; o < a; o++) + r[o].fn !== t && r[o].fn._ !== t && i.push(r[o]); + return i.length ? (n[e] = i) : delete n[e], this; + }, +}; +var je = Ue, + Me = ["{", "}"], + $e = /^(?:\d)+/, + Fe = /^(?:\w)+/, + He = "zh-Hans", + qe = "zh-Hant", + ze = "en", + We = Object.prototype.hasOwnProperty, + Ve = function (e, t) { + return We.call(e, t); + }, + Ke = new ((function () { + function e() { + s(this, e), (this._caches = Object.create(null)); + } + return ( + c(e, [ + { + key: "interpolate", + value: function (e, t) { + var n = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : Me; + if (!t) return [e]; + var r = this._caches[e]; + return ( + r || + ((r = (function (e, t) { + for ( + var n = h(t, 2), r = n[0], i = n[1], o = [], a = 0, u = ""; + a < e.length; + + ) { + var s = e[a++]; + if (s === r) { + u && o.push({ type: "text", value: u }), (u = ""); + var c = ""; + for (s = e[a++]; void 0 !== s && s !== i; ) + (c += s), (s = e[a++]); + var f = s === i, + l = $e.test(c) + ? "list" + : f && Fe.test(c) + ? "named" + : "unknown"; + o.push({ value: c, type: l }); + } else u += s; + } + return u && o.push({ type: "text", value: u }), o; + })(e, n)), + (this._caches[e] = r)), + (function (e, t) { + var n, + r = [], + i = 0, + o = Array.isArray(t) + ? "list" + : null !== (n = t) && "object" == f(n) + ? "named" + : "unknown"; + if ("unknown" === o) return r; + for (; i < e.length; ) { + var a = e[i]; + switch (a.type) { + case "text": + r.push(a.value); + break; + case "list": + r.push(t[parseInt(a.value, 10)]); + break; + case "named": + "named" === o && r.push(t[a.value]); + } + i++; + } + return r; + })(r, t) + ); + }, + }, + ]), + e + ); + })())(); +function Je(e, t) { + if (e) { + if (((e = e.trim().replace(/_/g, "-")), t && t[e])) return e; + if ("chinese" === (e = e.toLowerCase())) return He; + if (0 === e.indexOf("zh")) + return e.indexOf("-hans") > -1 + ? He + : e.indexOf("-hant") > -1 + ? qe + : ((n = e), + ["-tw", "-hk", "-mo", "-cht"].find(function (e) { + return -1 !== n.indexOf(e); + }) + ? qe + : He); + var n, + r = [ze, "fr", "es"]; + return ( + t && Object.keys(t).length > 0 && (r = Object.keys(t)), + (function (e, t) { + return t.find(function (t) { + return 0 === e.indexOf(t); + }); + })(e, r) || void 0 + ); + } +} +var Ge = (function () { + function e(t) { + var n = t.locale, + r = t.fallbackLocale, + i = t.messages, + o = t.watcher, + a = t.formater; + s(this, e), + (this.locale = ze), + (this.fallbackLocale = ze), + (this.message = {}), + (this.messages = {}), + (this.watchers = []), + r && (this.fallbackLocale = r), + (this.formater = a || Ke), + (this.messages = i || {}), + this.setLocale(n || ze), + o && this.watchLocale(o); + } + return ( + c(e, [ + { + key: "setLocale", + value: function (e) { + var t = this, + n = this.locale; + (this.locale = Je(e, this.messages) || this.fallbackLocale), + this.messages[this.locale] || (this.messages[this.locale] = {}), + (this.message = this.messages[this.locale]), + n !== this.locale && + this.watchers.forEach(function (e) { + e(t.locale, n); + }); + }, + }, + { + key: "getLocale", + value: function () { + return this.locale; + }, + }, + { + key: "watchLocale", + value: function (e) { + var t = this, + n = this.watchers.push(e) - 1; + return function () { + t.watchers.splice(n, 1); + }; + }, + }, + { + key: "add", + value: function (e, t) { + var n = + !(arguments.length > 2 && void 0 !== arguments[2]) || + arguments[2], + r = this.messages[e]; + r + ? n + ? Object.assign(r, t) + : Object.keys(t).forEach(function (e) { + Ve(r, e) || (r[e] = t[e]); + }) + : (this.messages[e] = t); + }, + }, + { + key: "f", + value: function (e, t, n) { + return this.formater.interpolate(e, t, n).join(""); + }, + }, + { + key: "t", + value: function (e, t, n) { + var r = this.message; + return ( + "string" == typeof t + ? (t = Je(t, this.messages)) && (r = this.messages[t]) + : (n = t), + Ve(r, e) + ? this.formater.interpolate(r[e], n).join("") + : (console.warn( + "Cannot translate the value of keypath ".concat( + e, + ". Use the value of keypath as default." + ) + ), + e) + ); + }, + }, + ]), + e + ); +})(); +function Ye(e) { + return function () { + try { + return e.apply(e, arguments); + } catch (e) { + console.error(e); + } + }; +} +var Xe = 1, + Qe = {}; +function Ze(e, t, n) { + if ("number" == typeof e) { + var r = Qe[e]; + if (r) return r.keepAlive || delete Qe[e], r.callback(t, n); + } + return t; +} +var et = "success", + tt = "fail", + nt = "complete"; +var rt = "success", + it = "fail", + ot = "complete", + at = {}, + ut = {}; +function st(e, t) { + return function (n) { + return e(n, t) || n; + }; +} +function ct(e, t, n) { + for (var r = !1, i = 0; i < e.length; i++) { + var o = e[i]; + if (r) r = Promise.resolve(st(o, n)); + else { + var a = o(t, n); + if ((j(a) && (r = Promise.resolve(a)), !1 === a)) + return { then: function () {}, catch: function () {} }; + } + } + return ( + r || { + then: function (e) { + return e(t); + }, + catch: function () {}, + } + ); +} +function ft(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + return ( + [rt, it, ot].forEach(function (n) { + var r = e[n]; + if (C(r)) { + var i = t[n]; + t[n] = function (e) { + ct(r, e, t).then(function (e) { + return (D(i) && i(e)) || e; + }); + }; + } + }), + t + ); +} +function lt(e, t) { + var n = []; + C(at.returnValue) && n.push.apply(n, p(at.returnValue)); + var r = ut[e]; + return ( + r && C(r.returnValue) && n.push.apply(n, p(r.returnValue)), + n.forEach(function (e) { + t = e(t) || t; + }), + t + ); +} +function ht(e) { + var t = Object.create(null); + Object.keys(at).forEach(function (e) { + "returnValue" !== e && (t[e] = at[e].slice()); + }); + var n = ut[e]; + return ( + n && + Object.keys(n).forEach(function (e) { + "returnValue" !== e && (t[e] = (t[e] || []).concat(n[e])); + }), + t + ); +} +function pt(e, t, n, r) { + var i = ht(e); + return i && Object.keys(i).length + ? C(i.invoke) + ? ct(i.invoke, n).then(function (n) { + return t.apply(void 0, [ft(ht(e), n)].concat(p(r))); + }) + : t.apply(void 0, [ft(i, n)].concat(p(r))) + : t.apply(void 0, [n].concat(p(r))); +} +function dt(e, t, n, r) { + return Ze(e, O({ errMsg: t + ":fail" + (n ? " " + n : "") }, r)); +} +function vt(e, t, n, r) { + if (r && r.beforeInvoke) { + var i = r.beforeInvoke(t); + if (B(i)) return i; + } + var o = (function (e, t) { + var n = e[0]; + if (t && (F(t.formatArgs) || !F(n))) + for (var r = t.formatArgs, i = Object.keys(r), o = 0; o < i.length; o++) { + var a = i[o], + u = r[a]; + if (D(u)) { + var s = u(e[0][a], n); + if (B(s)) return s; + } else E(n, a) || (n[a] = u); + } + })(t, r); + if (o) return o; +} +function gt(e, t, n, r) { + return function (n) { + var i = (function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = + arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, + r = n.beforeAll, + i = n.beforeSuccess; + F(t) || (t = {}); + var o = (function (e) { + var t = {}; + for (var n in e) { + var r = e[n]; + D(r) && ((t[n] = Ye(r)), delete e[n]); + } + return t; + })(t), + a = o.success, + u = o.fail, + s = o.complete, + c = D(a), + f = D(u), + l = D(s), + h = Xe++; + return ( + (function (e, t, n) { + var r = + arguments.length > 3 && void 0 !== arguments[3] && arguments[3]; + Qe[e] = { name: t, keepAlive: r, callback: n }; + })(h, e, function (n) { + ((n = n || {}).errMsg = (function (e, t) { + return e && -1 !== e.indexOf(":fail") + ? t + e.substring(e.indexOf(":fail")) + : t + ":ok"; + })(n.errMsg, e)), + D(r) && r(n), + n.errMsg === e + ":ok" ? (D(i) && i(n, t), c && a(n)) : f && u(n), + l && s(n); + }), + h + ); + })(e, n, r), + o = vt(0, [n], 0, r); + return o + ? dt(i, e, o) + : t(n, { + resolve: function (t) { + return (function (e, t, n) { + return Ze(e, O(n || {}, { errMsg: t + ":ok" })); + })(i, e, t); + }, + reject: function (t, n) { + return dt( + i, + e, + (function (e) { + return !e || B(e) + ? e + : e.stack + ? (console.error(e.message + "\n" + e.stack), e.message) + : e; + })(t), + n + ); + }, + }); + }; +} +function yt(e, t, n, r) { + return (function (e, t, n, r) { + return function () { + for (var e = arguments.length, n = new Array(e), i = 0; i < e; i++) + n[i] = arguments[i]; + var o = vt(0, n, 0, r); + if (o) throw new Error(o); + return t.apply(null, n); + }; + })(0, t, 0, r); +} +var _t = !1, + mt = 0, + wt = 0; +var kt = yt(0, function (e, t) { + if ( + (0 === mt && + (function () { + var e = wx.getSystemInfoSync(), + t = e.platform, + n = e.pixelRatio, + r = e.windowWidth; + (mt = r), (wt = n), (_t = "ios" === t); + })(), + 0 === (e = Number(e))) + ) + return 0; + var n = (e / 750) * (t || mt); + return ( + n < 0 && (n = -n), + 0 === (n = Math.floor(n + 1e-4)) && (n = 1 !== wt && _t ? 0.5 : 1), + e < 0 ? -n : n + ); +}); +function bt(e, t) { + Object.keys(t).forEach(function (n) { + D(t[n]) && + (e[n] = (function (e, t) { + var n = t ? (e ? e.concat(t) : C(t) ? t : [t]) : e; + return n + ? (function (e) { + for (var t = [], n = 0; n < e.length; n++) + -1 === t.indexOf(e[n]) && t.push(e[n]); + return t; + })(n) + : n; + })(e[n], t[n])); + }); +} +function xt(e, t) { + e && + t && + Object.keys(t).forEach(function (n) { + var r = e[n], + i = t[n]; + C(r) && D(i) && P(r, i); + }); +} +var St, + At, + It, + Ot = yt(0, function (e, t) { + B(e) && F(t) ? bt(ut[e] || (ut[e] = {}), t) : F(e) && bt(at, e); + }), + Pt = yt(0, function (e, t) { + B(e) ? (F(t) ? xt(ut[e], t) : delete ut[e]) : F(e) && xt(at, e); + }), + Tt = new je(), + Et = yt(0, function (e, t) { + return ( + Tt.on(e, t), + function () { + return Tt.off(e, t); + } + ); + }), + Ct = yt(0, function (e, t) { + return ( + Tt.once(e, t), + function () { + return Tt.off(e, t); + } + ); + }), + Rt = yt(0, function (e, t) { + e + ? (C(e) || (e = [e]), + e.forEach(function (e) { + return Tt.off(e, t); + })) + : (Tt.e = {}); + }), + Lt = yt(0, function (e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + Tt.emit.apply(Tt, [e].concat(n)); + }); +function Dt(e) { + try { + return JSON.parse(e); + } catch (e) {} + return e; +} +var Bt = []; +function Nt(e, t) { + Bt.forEach(function (n) { + n(e, t); + }), + (Bt.length = 0); +} +var Ut = (function (e, t) { + return function () { + for ( + var n = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + r = arguments.length, + i = new Array(r > 1 ? r - 1 : 0), + o = 1; + o < r; + o++ + ) + i[o - 1] = arguments[o]; + return (function (e) { + return !( + !F(e) || + ![et, tt, nt].find(function (t) { + return D(e[t]); + }) + ); + })(n) + ? lt(e, pt(e, t, n, i)) + : lt( + e, + new Promise(function (r, o) { + pt(e, t, O(n, { success: r, fail: o }), i); + }) + ); + }; + })( + "getPushClientId", + gt( + "getPushClientId", + function (e, t) { + var n = t.resolve, + r = t.reject; + Promise.resolve().then(function () { + void 0 === It && + ((It = !1), (St = ""), (At = "uniPush is not enabled")), + Bt.push(function (e, t) { + e ? n({ cid: e }) : r(t); + }), + void 0 !== St && Nt(St, At); + }); + }, + 0, + void 0 + ) + ), + jt = [], + Mt = + /^\$|getLocale|setLocale|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getDeviceInfo|getAppBaseInfo|getWindowInfo|getSystemSetting|getAppAuthorizeSetting/, + $t = /^create|Manager$/, + Ft = ["createBLEConnection"], + Ht = ["createBLEConnection"], + qt = /^on|^off/; +function zt(e) { + return $t.test(e) && -1 === Ft.indexOf(e); +} +function Wt(e) { + return Mt.test(e) && -1 === Ht.indexOf(e); +} +function Vt(e, t) { + return (function (e) { + return !( + zt(e) || + Wt(e) || + (function (e) { + return qt.test(e) && "onPush" !== e; + })(e) + ); + })(e) && D(t) + ? function () { + for ( + var n = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + r = arguments.length, + i = new Array(r > 1 ? r - 1 : 0), + o = 1; + o < r; + o++ + ) + i[o - 1] = arguments[o]; + return D(n.success) || D(n.fail) || D(n.complete) + ? lt(e, pt(e, t, n, i)) + : lt( + e, + new Promise(function (r, o) { + pt(e, t, O({}, n, { success: r, fail: o }), i); + }) + ); + } + : t; +} +Promise.prototype.finally || + (Promise.prototype.finally = function (e) { + var t = this.constructor; + return this.then( + function (n) { + return t.resolve(e && e()).then(function () { + return n; + }); + }, + function (n) { + return t.resolve(e && e()).then(function () { + throw n; + }); + } + ); + }); +var Kt = ["success", "fail", "cancel", "complete"], + Jt = function () { + var e = D(getApp) && getApp({ allowDefault: !0 }); + return e && e.$vm + ? e.$vm.$locale + : Je(wx.getSystemInfoSync().language) || ze; + }, + Gt = []; +"undefined" != typeof global && (global.getLocale = Jt); +var Yt, + Xt = "__DC_STAT_UUID"; +function Qt() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : wx; + return function (t, n) { + (Yt = Yt || e.getStorageSync(Xt)) || + ((Yt = Date.now() + "" + Math.floor(1e7 * Math.random())), + wx.setStorage({ key: Xt, data: Yt })), + (n.deviceId = Yt); + }; +} +function Zt(e, t) { + if (e.safeArea) { + var n = e.safeArea; + t.safeAreaInsets = { + top: n.top, + left: n.left, + right: e.windowWidth - n.right, + bottom: e.screenHeight - n.bottom, + }; + } +} +function en(e, t) { + for ( + var n = e.deviceType || "phone", + r = { ipad: "pad", windows: "pc", mac: "pc" }, + i = Object.keys(r), + o = t.toLocaleLowerCase(), + a = 0; + a < i.length; + a++ + ) { + var u = i[a]; + if (-1 !== o.indexOf(u)) { + n = r[u]; + break; + } + } + return n; +} +function tn(e) { + var t = e; + return t && (t = t.toLocaleLowerCase()), t; +} +function nn(e) { + return Jt ? Jt() : e; +} +function rn(e) { + var t = e.hostName || "WeChat"; + return ( + e.environment + ? (t = e.environment) + : e.host && e.host.env && (t = e.host.env), + t + ); +} +var on = { + returnValue: function (e, t) { + Zt(e, t), + Qt()(e, t), + (function (e, t) { + var n, + r = e.brand, + i = void 0 === r ? "" : r, + o = e.model, + a = void 0 === o ? "" : o, + u = e.system, + s = void 0 === u ? "" : u, + c = e.language, + f = void 0 === c ? "" : c, + l = e.theme, + h = e.version, + p = (e.platform, e.fontSizeSetting), + d = e.SDKVersion, + v = e.pixelRatio, + g = e.deviceOrientation, + y = ""; + (y = s.split(" ")[0] || ""), (n = s.split(" ")[1] || ""); + var _ = h, + m = en(e, a), + w = tn(i), + k = rn(e), + b = g, + x = v, + S = d, + A = f.replace(/_/g, "-"), + I = { + appId: "__UNI__4AC81CE", + appName: "优选查车", + appVersion: "1.1.006", + appVersionCode: 11006, + appLanguage: nn(A), + uniCompileVersion: "3.99", + uniRuntimeVersion: "3.99", + uniPlatform: "mp-weixin", + deviceBrand: w, + deviceModel: a, + deviceType: m, + devicePixelRatio: x, + deviceOrientation: b, + osName: y.toLocaleLowerCase(), + osVersion: n, + hostTheme: l, + hostVersion: _, + hostLanguage: A, + hostName: k, + hostSDKVersion: S, + hostFontSizeSetting: p, + windowTop: 0, + windowBottom: 0, + osLanguage: void 0, + osTheme: void 0, + ua: void 0, + hostPackageName: void 0, + browserName: void 0, + browserVersion: void 0, + }; + O(t, I); + })(e, t); + }, + }, + an = on, + un = { + args: function (e, t) { + var n = parseInt(e.current); + if (!isNaN(n)) { + var r = e.urls; + if (C(r)) { + var i = r.length; + return i + ? (n < 0 ? (n = 0) : n >= i && (n = i - 1), + n > 0 + ? ((t.current = r[n]), + (t.urls = r.filter(function (e, t) { + return !(t < n) || e !== r[n]; + }))) + : (t.current = r[0]), + { indicator: !1, loop: !1 }) + : void 0; + } + } + }, + }, + sn = { + returnValue: function (e, t) { + var n = e.brand, + r = e.model, + i = en(e, r), + o = tn(n); + Qt()(e, t), + (t = Oe(O(t, { deviceType: i, deviceBrand: o, deviceModel: r }))); + }, + }, + cn = { + returnValue: function (e, t) { + var n = e.version, + r = e.language, + i = e.SDKVersion, + o = e.theme, + a = rn(e), + u = r.replace(/_/g, "-"); + t = Oe( + O(t, { + hostVersion: n, + hostLanguage: u, + hostName: a, + hostSDKVersion: i, + hostTheme: o, + appId: "__UNI__4AC81CE", + appName: "优选查车", + appVersion: "1.1.006", + appVersionCode: 11006, + appLanguage: nn(u), + }) + ); + }, + }, + fn = { + returnValue: function (e, t) { + Zt(e, t), (t = Oe(O(t, { windowTop: 0, windowBottom: 0 }))); + }, + }, + ln = { + $on: Et, + $off: Rt, + $once: Ct, + $emit: Lt, + upx2px: kt, + interceptors: {}, + addInterceptor: Ot, + removeInterceptor: Pt, + onCreateVueApp: function (e) { + if (Ee) return e(Ee); + Be.push(e); + }, + invokeCreateVueAppHook: function (e) { + (Ee = e), + Be.forEach(function (t) { + return t(e); + }); + }, + getLocale: Jt, + setLocale: function (e) { + var t = D(getApp) && getApp(); + return ( + !!t && + t.$vm.$locale !== e && + ((t.$vm.$locale = e), + Gt.forEach(function (t) { + return t({ locale: e }); + }), + !0) + ); + }, + onLocaleChange: function (e) { + -1 === Gt.indexOf(e) && Gt.push(e); + }, + getPushClientId: Ut, + onPushMessage: function (e) { + -1 === jt.indexOf(e) && jt.push(e); + }, + offPushMessage: function (e) { + if (e) { + var t = jt.indexOf(e); + t > -1 && jt.splice(t, 1); + } else jt.length = 0; + }, + invokePushCallback: function (e) { + if ("enabled" === e.type) It = !0; + else if ("clientId" === e.type) + (St = e.cid), (At = e.errMsg), Nt(St, e.errMsg); + else if ("pushMsg" === e.type) + for ( + var t = { type: "receive", data: Dt(e.message) }, n = 0; + n < jt.length && ((0, jt[n])(t), !t.stopped); + n++ + ); + else + "click" === e.type && + jt.forEach(function (t) { + t({ type: "click", data: Dt(e.message) }); + }); + }, + }, + hn = [ + "qy", + "env", + "error", + "version", + "lanDebug", + "cloud", + "serviceMarket", + "router", + "worklet", + "__webpack_require_UNI_MP_PLUGIN__", + ], + pn = ["lanDebug", "router", "worklet"], + dn = wx.getLaunchOptionsSync ? wx.getLaunchOptionsSync() : null; +function vn(e) { + return ( + (!dn || 1154 !== dn.scene || !pn.includes(e)) && + (hn.indexOf(e) > -1 || "function" == typeof wx[e]) + ); +} +function gn() { + var e = {}; + for (var t in wx) vn(t) && (e[t] = wx[t]); + return ( + "undefined" != typeof globalThis && + "undefined" == typeof requireMiniProgram && + (globalThis.wx = e), + e + ); +} +var yn, + _n = ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"], + mn = + ((yn = { + oauth: ["weixin"], + share: ["weixin"], + payment: ["wxpay"], + push: ["weixin"], + }), + function (e) { + var t, + n = e.service, + r = e.success, + i = e.fail, + o = e.complete; + yn[n] + ? ((t = { errMsg: "getProvider:ok", service: n, provider: yn[n] }), + D(r) && r(t)) + : ((t = { errMsg: "getProvider:fail:服务[" + n + "]不存在" }), + D(i) && i(t)), + D(o) && o(t); + }), + wn = gn(), + kn = wn.getAppBaseInfo && wn.getAppBaseInfo(); +kn || (kn = wn.getSystemInfoSync()); +var bn, + xn = kn ? kn.host : null, + Sn = + xn && "SAAASDK" === xn.env + ? wn.miniapp.shareVideoMessage + : wn.shareVideoMessage, + An = Object.freeze({ + __proto__: null, + createSelectorQuery: function () { + var e = wn.createSelectorQuery(), + t = e.in; + return ( + (e.in = function (e) { + return t.call( + this, + (function (e) { + var t = Object.create(null); + return ( + _n.forEach(function (n) { + t[n] = e[n]; + }), + t + ); + })(e) + ); + }), + e + ); + }, + getProvider: mn, + shareVideoMessage: Sn, + }), + In = Object.freeze({ + __proto__: null, + compressImage: { + args: function (e, t) { + e.compressedHeight && + !t.compressHeight && + (t.compressHeight = e.compressedHeight), + e.compressedWidth && + !t.compressWidth && + (t.compressWidth = e.compressedWidth); + }, + }, + getAppAuthorizeSetting: { + returnValue: function (e, t) { + var n = e.locationReducedAccuracy; + (t.locationAccuracy = "unsupported"), + !0 === n + ? (t.locationAccuracy = "reduced") + : !1 === n && (t.locationAccuracy = "full"); + }, + }, + getAppBaseInfo: cn, + getDeviceInfo: sn, + getSystemInfo: on, + getSystemInfoSync: an, + getWindowInfo: fn, + previewImage: un, + redirectTo: {}, + showActionSheet: { + args: function (e, t) { + t.alertText = e.title; + }, + }, + }), + On = gn(), + Pn = (function (e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : wx, + r = (function (e) { + function t(e, t, n) { + return function (i) { + return t(r(e, i, n)); + }; + } + function n(e, n) { + var r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : {}, + i = + arguments.length > 3 && void 0 !== arguments[3] + ? arguments[3] + : {}, + o = arguments.length > 4 && void 0 !== arguments[4] && arguments[4]; + if (F(n)) { + var a = !0 === o ? n : {}; + for (var u in (D(r) && (r = r(n, a) || {}), n)) + if (E(r, u)) { + var s = r[u]; + D(s) && (s = s(n[u], n, a)), + s + ? B(s) + ? (a[s] = n[u]) + : F(s) && (a[s.name ? s.name : u] = s.value) + : console.warn( + "微信小程序 ".concat(e, " 暂不支持 ").concat(u) + ); + } else if (-1 !== Kt.indexOf(u)) { + var c = n[u]; + D(c) && (a[u] = t(e, c, i)); + } else o || E(a, u) || (a[u] = n[u]); + return a; + } + return D(n) && (n = t(e, n, i)), n; + } + function r(t, r, i) { + var o = + arguments.length > 3 && void 0 !== arguments[3] && arguments[3]; + return ( + D(e.returnValue) && (r = e.returnValue(t, r)), n(t, r, i, {}, o) + ); + } + return function (t, i) { + if (!E(e, t)) return i; + var o = e[t]; + return o + ? function (e, i) { + var a = o; + D(o) && (a = o(e)); + var u = [(e = n(t, e, a.args, a.returnValue))]; + void 0 !== i && u.push(i); + var s = wx[a.name || t].apply(wx, u); + return Wt(t) ? r(t, s, a.returnValue, zt(t)) : s; + } + : function () { + console.error("微信小程序 暂不支持".concat(t)); + }; + }; + })(t); + return new Proxy( + {}, + { + get: function (t, i) { + return E(t, i) + ? t[i] + : E(e, i) + ? Vt(i, e[i]) + : E(ln, i) + ? Vt(i, ln[i]) + : Vt(i, r(i, n[i])); + }, + } + ); + })(An, In, On), + Tn = (function () { + function e() { + var t = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; + s(this, e), + (this.detached = t), + (this._active = !0), + (this.effects = []), + (this.cleanups = []), + (this.parent = bn), + !t && + bn && + (this.index = (bn.scopes || (bn.scopes = [])).push(this) - 1); + } + return ( + c(e, [ + { + key: "active", + get: function () { + return this._active; + }, + }, + { + key: "run", + value: function (e) { + if (this._active) { + var t = bn; + try { + return (bn = this), e(); + } finally { + bn = t; + } + } + }, + }, + { + key: "on", + value: function () { + bn = this; + }, + }, + { + key: "off", + value: function () { + bn = this.parent; + }, + }, + { + key: "stop", + value: function (e) { + if (this._active) { + var t, n; + for (t = 0, n = this.effects.length; t < n; t++) + this.effects[t].stop(); + for (t = 0, n = this.cleanups.length; t < n; t++) + this.cleanups[t](); + if (this.scopes) + for (t = 0, n = this.scopes.length; t < n; t++) + this.scopes[t].stop(!0); + if (!this.detached && this.parent && !e) { + var r = this.parent.scopes.pop(); + r && + r !== this && + ((this.parent.scopes[this.index] = r), + (r.index = this.index)); + } + (this.parent = void 0), (this._active = !1); + } + }, + }, + ]), + e + ); + })(); +function En(e) { + return new Tn(e); +} +function Cn() { + return bn; +} +var Rn, + Ln = function (e) { + var t = new Set(e); + return (t.w = 0), (t.n = 0), t; + }, + Dn = function (e) { + return (e.w & jn) > 0; + }, + Bn = function (e) { + return (e.n & jn) > 0; + }, + Nn = new WeakMap(), + Un = 0, + jn = 1, + Mn = Symbol(""), + $n = Symbol(""), + Fn = (function () { + function e(t) { + var n = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, + r = arguments.length > 2 ? arguments[2] : void 0; + s(this, e), + (this.fn = t), + (this.scheduler = n), + (this.active = !0), + (this.deps = []), + (this.parent = void 0), + (function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : bn; + t && t.active && t.effects.push(e); + })(this, r); + } + return ( + c(e, [ + { + key: "run", + value: function () { + if (!this.active) return this.fn(); + for (var e = Rn, t = qn; e; ) { + if (e === this) return; + e = e.parent; + } + try { + return ( + (this.parent = Rn), + (Rn = this), + (qn = !0), + (jn = 1 << ++Un), + Un <= 30 + ? (function (e) { + var t = e.deps; + if (t.length) + for (var n = 0; n < t.length; n++) t[n].w |= jn; + })(this) + : Hn(this), + this.fn() + ); + } finally { + Un <= 30 && + (function (e) { + var t = e.deps; + if (t.length) { + for (var n = 0, r = 0; r < t.length; r++) { + var i = t[r]; + Dn(i) && !Bn(i) ? i.delete(e) : (t[n++] = i), + (i.w &= ~jn), + (i.n &= ~jn); + } + t.length = n; + } + })(this), + (jn = 1 << --Un), + (Rn = this.parent), + (qn = t), + (this.parent = void 0), + this.deferStop && this.stop(); + } + }, + }, + { + key: "stop", + value: function () { + Rn === this + ? (this.deferStop = !0) + : this.active && + (Hn(this), this.onStop && this.onStop(), (this.active = !1)); + }, + }, + ]), + e + ); + })(); +function Hn(e) { + var t = e.deps; + if (t.length) { + for (var n = 0; n < t.length; n++) t[n].delete(e); + t.length = 0; + } +} +var qn = !0, + zn = []; +function Wn() { + zn.push(qn), (qn = !1); +} +function Vn() { + var e = zn.pop(); + qn = void 0 === e || e; +} +function Kn(e, t, n) { + if (qn && Rn) { + var r = Nn.get(e); + r || Nn.set(e, (r = new Map())); + var i = r.get(n); + i || r.set(n, (i = Ln())), Jn(i); + } +} +function Jn(e, t) { + var n = !1; + Un <= 30 ? Bn(e) || ((e.n |= jn), (n = !Dn(e))) : (n = !e.has(Rn)), + n && (e.add(Rn), Rn.deps.push(e)); +} +function Gn(e, t, n, r, i, o) { + var a = Nn.get(e); + if (a) { + var s = []; + if ("clear" === t) s = p(a.values()); + else if ("length" === n && C(e)) { + var c = Number(r); + a.forEach(function (e, t) { + ("length" === t || t >= c) && s.push(e); + }); + } else + switch ((void 0 !== n && s.push(a.get(n)), t)) { + case "add": + C(e) + ? H(n) && s.push(a.get("length")) + : (s.push(a.get(Mn)), R(e) && s.push(a.get($n))); + break; + case "delete": + C(e) || (s.push(a.get(Mn)), R(e) && s.push(a.get($n))); + break; + case "set": + R(e) && s.push(a.get(Mn)); + } + if (1 === s.length) s[0] && Yn(s[0]); + else { + var f, + l = [], + h = u(s); + try { + for (h.s(); !(f = h.n()).done; ) { + var d = f.value; + d && l.push.apply(l, p(d)); + } + } catch (e) { + h.e(e); + } finally { + h.f(); + } + Yn(Ln(l)); + } + } +} +function Yn(e, t) { + var n, + r = C(e) ? e : p(e), + i = u(r); + try { + for (i.s(); !(n = i.n()).done; ) { + var o = n.value; + o.computed && Xn(o); + } + } catch (e) { + i.e(e); + } finally { + i.f(); + } + var a, + s = u(r); + try { + for (s.s(); !(a = s.n()).done; ) { + var c = a.value; + c.computed || Xn(c); + } + } catch (e) { + s.e(e); + } finally { + s.f(); + } +} +function Xn(e, t) { + (e !== Rn || e.allowRecurse) && (e.scheduler ? e.scheduler() : e.run()); +} +var Qn = d("__proto__,__v_isRef,__isVue"), + Zn = new Set( + Object.getOwnPropertyNames(Symbol) + .filter(function (e) { + return "arguments" !== e && "caller" !== e; + }) + .map(function (e) { + return Symbol[e]; + }) + .filter(N) + ), + er = or(), + tr = or(!1, !0), + nr = or(!0), + rr = (function () { + var e = {}; + return ( + ["includes", "indexOf", "lastIndexOf"].forEach(function (t) { + e[t] = function () { + for (var e = Hr(this), n = 0, r = this.length; n < r; n++) + Kn(e, 0, n + ""); + for (var i = arguments.length, o = new Array(i), a = 0; a < i; a++) + o[a] = arguments[a]; + var u = e[t].apply(e, o); + return -1 === u || !1 === u ? e[t].apply(e, p(o.map(Hr))) : u; + }; + }), + ["push", "pop", "shift", "unshift", "splice"].forEach(function (t) { + e[t] = function () { + Wn(); + for (var e = arguments.length, n = new Array(e), r = 0; r < e; r++) + n[r] = arguments[r]; + var i = Hr(this)[t].apply(this, n); + return Vn(), i; + }; + }), + e + ); + })(); +function ir(e) { + var t = Hr(this); + return Kn(t, 0, e), t.hasOwnProperty(e); +} +function or() { + var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], + t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; + return function (n, r, i) { + if ("__v_isReactive" === r) return !e; + if ("__v_isReadonly" === r) return e; + if ("__v_isShallow" === r) return t; + if ("__v_raw" === r && i === (e ? (t ? Br : Dr) : t ? Lr : Rr).get(n)) + return n; + var o = C(n); + if (!e) { + if (o && E(rr, r)) return Reflect.get(rr, r, i); + if ("hasOwnProperty" === r) return ir; + } + var a = Reflect.get(n, r, i); + return (N(r) ? Zn.has(r) : Qn(r)) + ? a + : (e || Kn(n, 0, r), + t + ? a + : Jr(a) + ? o && H(r) + ? a + : a.value + : U(a) + ? e + ? Ur(a) + : Nr(a) + : a); + }; +} +function ar() { + var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; + return function (t, n, r, i) { + var o = t[n]; + if ($r(o) && Jr(o) && !Jr(r)) return !1; + if ( + !e && + (Fr(r) || $r(r) || ((o = Hr(o)), (r = Hr(r))), !C(t) && Jr(o) && !Jr(r)) + ) + return (o.value = r), !0; + var a = C(t) && H(n) ? Number(n) < t.length : E(t, n), + u = Reflect.set(t, n, r, i); + return ( + t === Hr(i) && (a ? X(r, o) && Gn(t, "set", n, r) : Gn(t, "add", n, r)), u + ); + }; +} +var ur = { + get: er, + set: ar(), + deleteProperty: function (e, t) { + var n = E(e, t); + e[t]; + var r = Reflect.deleteProperty(e, t); + return r && n && Gn(e, "delete", t, void 0), r; + }, + has: function (e, t) { + var n = Reflect.has(e, t); + return (N(t) && Zn.has(t)) || Kn(e, 0, t), n; + }, + ownKeys: function (e) { + return Kn(e, 0, C(e) ? "length" : Mn), Reflect.ownKeys(e); + }, + }, + sr = { + get: nr, + set: function (e, t) { + return !0; + }, + deleteProperty: function (e, t) { + return !0; + }, + }, + cr = O({}, ur, { get: tr, set: ar(!0) }), + fr = function (e) { + return e; + }, + lr = function (e) { + return Reflect.getPrototypeOf(e); + }; +function hr(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], + i = Hr((e = e.__v_raw)), + o = Hr(t); + n || (t !== o && Kn(i, 0, t), Kn(i, 0, o)); + var a = lr(i), + u = a.has, + s = r ? fr : n ? Wr : zr; + return u.call(i, t) + ? s(e.get(t)) + : u.call(i, o) + ? s(e.get(o)) + : void (e !== i && e.get(t)); +} +function pr(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = this.__v_raw, + r = Hr(n), + i = Hr(e); + return ( + t || (e !== i && Kn(r, 0, e), Kn(r, 0, i)), + e === i ? n.has(e) : n.has(e) || n.has(i) + ); +} +function dr(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; + return (e = e.__v_raw), !t && Kn(Hr(e), 0, Mn), Reflect.get(e, "size", e); +} +function vr(e) { + e = Hr(e); + var t = Hr(this); + return lr(t).has.call(t, e) || (t.add(e), Gn(t, "add", e, e)), this; +} +function gr(e, t) { + t = Hr(t); + var n = Hr(this), + r = lr(n), + i = r.has, + o = r.get, + a = i.call(n, e); + a || ((e = Hr(e)), (a = i.call(n, e))); + var u = o.call(n, e); + return ( + n.set(e, t), a ? X(t, u) && Gn(n, "set", e, t) : Gn(n, "add", e, t), this + ); +} +function yr(e) { + var t = Hr(this), + n = lr(t), + r = n.has, + i = n.get, + o = r.call(t, e); + o || ((e = Hr(e)), (o = r.call(t, e))), i && i.call(t, e); + var a = t.delete(e); + return o && Gn(t, "delete", e, void 0), a; +} +function _r() { + var e = Hr(this), + t = 0 !== e.size, + n = e.clear(); + return t && Gn(e, "clear", void 0, void 0), n; +} +function mr(e, t) { + return function (n, r) { + var i = this, + o = i.__v_raw, + a = Hr(o), + u = t ? fr : e ? Wr : zr; + return ( + !e && Kn(a, 0, Mn), + o.forEach(function (e, t) { + return n.call(r, u(e), u(t), i); + }) + ); + }; +} +function wr(e, t, n) { + return function () { + var r = this.__v_raw, + i = Hr(r), + o = R(i), + a = "entries" === e || (e === Symbol.iterator && o), + u = "keys" === e && o, + s = r[e].apply(r, arguments), + c = n ? fr : t ? Wr : zr; + return ( + !t && Kn(i, 0, u ? $n : Mn), + l( + { + next: function () { + var e = s.next(), + t = e.value, + n = e.done; + return n + ? { value: t, done: n } + : { value: a ? [c(t[0]), c(t[1])] : c(t), done: n }; + }, + }, + Symbol.iterator, + function () { + return this; + } + ) + ); + }; +} +function kr(e) { + return function () { + return "delete" !== e && this; + }; +} +var br = (function () { + var e = { + get: function (e) { + return hr(this, e); + }, + get size() { + return dr(this); + }, + has: pr, + add: vr, + set: gr, + delete: yr, + clear: _r, + forEach: mr(!1, !1), + }, + t = { + get: function (e) { + return hr(this, e, !1, !0); + }, + get size() { + return dr(this); + }, + has: pr, + add: vr, + set: gr, + delete: yr, + clear: _r, + forEach: mr(!1, !0), + }, + n = { + get: function (e) { + return hr(this, e, !0); + }, + get size() { + return dr(this, !0); + }, + has: function (e) { + return pr.call(this, e, !0); + }, + add: kr("add"), + set: kr("set"), + delete: kr("delete"), + clear: kr("clear"), + forEach: mr(!0, !1), + }, + r = { + get: function (e) { + return hr(this, e, !0, !0); + }, + get size() { + return dr(this, !0); + }, + has: function (e) { + return pr.call(this, e, !0); + }, + add: kr("add"), + set: kr("set"), + delete: kr("delete"), + clear: kr("clear"), + forEach: mr(!0, !0), + }; + return ( + ["keys", "values", "entries", Symbol.iterator].forEach(function (i) { + (e[i] = wr(i, !1, !1)), + (n[i] = wr(i, !0, !1)), + (t[i] = wr(i, !1, !0)), + (r[i] = wr(i, !0, !0)); + }), + [e, n, t, r] + ); + })(), + xr = h(br, 4), + Sr = xr[0], + Ar = xr[1], + Ir = xr[2], + Or = xr[3]; +function Pr(e, t) { + var n = t ? (e ? Or : Ir) : e ? Ar : Sr; + return function (t, r, i) { + return "__v_isReactive" === r + ? !e + : "__v_isReadonly" === r + ? e + : "__v_raw" === r + ? t + : Reflect.get(E(n, r) && r in t ? n : t, r, i); + }; +} +var Tr = { get: Pr(!1, !1) }, + Er = { get: Pr(!1, !0) }, + Cr = { get: Pr(!0, !1) }, + Rr = new WeakMap(), + Lr = new WeakMap(), + Dr = new WeakMap(), + Br = new WeakMap(); +function Nr(e) { + return $r(e) ? e : jr(e, !1, ur, Tr, Rr); +} +function Ur(e) { + return jr(e, !0, sr, Cr, Dr); +} +function jr(e, t, n, r, i) { + if (!U(e)) return e; + if (e.__v_raw && (!t || !e.__v_isReactive)) return e; + var o = i.get(e); + if (o) return o; + var a, + u = + (a = e).__v_skip || !Object.isExtensible(a) + ? 0 + : (function (e) { + switch (e) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } + })( + (function (e) { + return $(e).slice(8, -1); + })(a) + ); + if (0 === u) return e; + var s = new Proxy(e, 2 === u ? r : n); + return i.set(e, s), s; +} +function Mr(e) { + return $r(e) ? Mr(e.__v_raw) : !(!e || !e.__v_isReactive); +} +function $r(e) { + return !(!e || !e.__v_isReadonly); +} +function Fr(e) { + return !(!e || !e.__v_isShallow); +} +function Hr(e) { + var t = e && e.__v_raw; + return t ? Hr(t) : e; +} +function qr(e) { + return ( + (function (e, t, n) { + Object.defineProperty(e, t, { + configurable: !0, + enumerable: !1, + value: n, + }); + })(e, "__v_skip", !0), + e + ); +} +var zr = function (e) { + return U(e) ? Nr(e) : e; + }, + Wr = function (e) { + return U(e) ? Ur(e) : e; + }; +function Vr(e) { + qn && Rn && Jn((e = Hr(e)).dep || (e.dep = Ln())); +} +function Kr(e, t) { + var n = (e = Hr(e)).dep; + n && Yn(n); +} +function Jr(e) { + return !(!e || !0 !== e.__v_isRef); +} +function Gr(e) { + return (function (e, t) { + return Jr(e) ? e : new Yr(e, !1); + })(e); +} +var Yr = (function () { + function e(t, n) { + s(this, e), + (this.__v_isShallow = n), + (this.dep = void 0), + (this.__v_isRef = !0), + (this._rawValue = n ? t : Hr(t)), + (this._value = n ? t : zr(t)); + } + return ( + c(e, [ + { + key: "value", + get: function () { + return Vr(this), this._value; + }, + set: function (e) { + var t = this.__v_isShallow || Fr(e) || $r(e); + (e = t ? e : Hr(e)), + X(e, this._rawValue) && + ((this._rawValue = e), (this._value = t ? e : zr(e)), Kr(this)); + }, + }, + ]), + e + ); +})(); +function Xr(e) { + return Jr(e) ? e.value : e; +} +var Qr = { + get: function (e, t, n) { + return Xr(Reflect.get(e, t, n)); + }, + set: function (e, t, n, r) { + var i = e[t]; + return Jr(i) && !Jr(n) ? ((i.value = n), !0) : Reflect.set(e, t, n, r); + }, +}; +function Zr(e) { + return Mr(e) ? e : new Proxy(e, Qr); +} +var ei, + ti = (function () { + function e(t, n, r) { + s(this, e), + (this._object = t), + (this._key = n), + (this._defaultValue = r), + (this.__v_isRef = !0); + } + return ( + c(e, [ + { + key: "value", + get: function () { + var e = this._object[this._key]; + return void 0 === e ? this._defaultValue : e; + }, + set: function (e) { + this._object[this._key] = e; + }, + }, + { + key: "dep", + get: function () { + return ( + (e = Hr(this._object)), + (t = this._key), + null === (n = Nn.get(e)) || void 0 === n ? void 0 : n.get(t) + ); + var e, t, n; + }, + }, + ]), + e + ); + })(); +function ni(e, t, n) { + var r = e[t]; + return Jr(r) ? r : new ti(e, t, n); +} +var ri = (function () { + function e(t, n, r, i) { + var o = this; + s(this, e), + (this._setter = n), + (this.dep = void 0), + (this.__v_isRef = !0), + (this[ei] = !1), + (this._dirty = !0), + (this.effect = new Fn(t, function () { + o._dirty || ((o._dirty = !0), Kr(o)); + })), + (this.effect.computed = this), + (this.effect.active = this._cacheable = !i), + (this.__v_isReadonly = r); + } + return ( + c(e, [ + { + key: "value", + get: function () { + var e = Hr(this); + return ( + Vr(e), + (!e._dirty && e._cacheable) || + ((e._dirty = !1), (e._value = e.effect.run())), + e._value + ); + }, + set: function (e) { + this._setter(e); + }, + }, + ]), + e + ); +})(); +function ii(e, t, n, r) { + var i; + try { + i = r ? e.apply(void 0, p(r)) : e(); + } catch (e) { + ai(e, t, n); + } + return i; +} +function oi(e, t, n, r) { + if (D(e)) { + var i = ii(e, t, n, r); + return ( + i && + j(i) && + i.catch(function (e) { + ai(e, t, n); + }), + i + ); + } + for (var o = [], a = 0; a < e.length; a++) o.push(oi(e[a], t, n, r)); + return o; +} +function ai(e, t, n) { + var r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3]; + if ((t && t.vnode, t)) { + for (var i = t.parent, o = t.proxy, a = n; i; ) { + var u = i.ec; + if (u) + for (var s = 0; s < u.length; s++) if (!1 === u[s](e, o, a)) return; + i = i.parent; + } + var c = t.appContext.config.errorHandler; + if (c) return void ii(c, null, 10, [e, o, a]); + } + !(function (e, t, n) { + console.error(e); + })(e, 0, 0, r); +} +ei = "__v_isReadonly"; +var ui = !1, + si = !1, + ci = [], + fi = 0, + li = [], + hi = null, + pi = 0, + di = Promise.resolve(), + vi = null; +function gi(e) { + var t = vi || di; + return e ? t.then(this ? e.bind(this) : e) : t; +} +function yi(e) { + (ci.length && ci.includes(e, ui && e.allowRecurse ? fi + 1 : fi)) || + (null == e.id + ? ci.push(e) + : ci.splice( + (function (e) { + for (var t = fi + 1, n = ci.length; t < n; ) { + var r = (t + n) >>> 1; + ki(ci[r]) < e ? (t = r + 1) : (n = r); + } + return t; + })(e.id), + 0, + e + ), + _i()); +} +function _i() { + ui || si || ((si = !0), (vi = di.then(xi))); +} +function mi(e) { + C(e) + ? li.push.apply(li, p(e)) + : (hi && hi.includes(e, e.allowRecurse ? pi + 1 : pi)) || li.push(e), + _i(); +} +function wi(e) { + for ( + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : ui + ? fi + 1 + : 0; + t < ci.length; + t++ + ) { + var n = ci[t]; + n && n.pre && (ci.splice(t, 1), t--, n()); + } +} +var ki = function (e) { + return null == e.id ? 1 / 0 : e.id; + }, + bi = function (e, t) { + var n = ki(e) - ki(t); + if (0 === n) { + if (e.pre && !t.pre) return -1; + if (t.pre && !e.pre) return 1; + } + return n; + }; +function xi(e) { + (si = !1), (ui = !0), ci.sort(bi); + try { + for (fi = 0; fi < ci.length; fi++) { + var t = ci[fi]; + t && !1 !== t.active && ii(t, null, 14); + } + } finally { + (fi = 0), + (ci.length = 0), + (function (e) { + if (li.length) { + var t, + n = p(new Set(li)); + if (((li.length = 0), hi)) return void (t = hi).push.apply(t, p(n)); + for ( + (hi = n).sort(function (e, t) { + return ki(e) - ki(t); + }), + pi = 0; + pi < hi.length; + pi++ + ) + hi[pi](); + (hi = null), (pi = 0); + } + })(), + (ui = !1), + (vi = null), + (ci.length || li.length) && xi(); + } +} +function Si(e, t) { + if (!e.isUnmounted) { + for ( + var n = e.vnode.props || w, + r = arguments.length, + i = new Array(r > 2 ? r - 2 : 0), + o = 2; + o < r; + o++ + ) + i[o - 2] = arguments[o]; + var a = i, + u = t.startsWith("update:"), + s = u && t.slice(7); + if (s && s in n) { + var c = "".concat("modelValue" === s ? "model" : s, "Modifiers"), + f = n[c] || w, + l = f.number, + h = f.trim; + h && + (a = i.map(function (e) { + return B(e) ? e.trim() : e; + })), + l && (a = i.map(Z)); + } + var p, + d = n[(p = Y(t))] || n[(p = Y(V(t)))]; + !d && u && (d = n[(p = Y(J(t)))]), d && oi(d, e, 6, a); + var v = n[p + "Once"]; + if (v) { + if (e.emitted) { + if (e.emitted[p]) return; + } else e.emitted = {}; + (e.emitted[p] = !0), oi(v, e, 6, a); + } + } +} +function Ai(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + r = t.emitsCache, + i = r.get(e); + if (void 0 !== i) return i; + var o = e.emits, + a = {}, + u = !1; + if (!D(e)) { + var s = function (e) { + var n = Ai(e, t, !0); + n && ((u = !0), O(a, n)); + }; + !n && t.mixins.length && t.mixins.forEach(s), + e.extends && s(e.extends), + e.mixins && e.mixins.forEach(s); + } + return o || u + ? (C(o) + ? o.forEach(function (e) { + return (a[e] = null); + }) + : O(a, o), + U(e) && r.set(e, a), + a) + : (U(e) && r.set(e, null), null); +} +function Ii(e, t) { + return ( + !(!e || !A(t)) && + ((t = t.slice(2).replace(/Once$/, "")), + E(e, t[0].toLowerCase() + t.slice(1)) || E(e, J(t)) || E(e, t)) + ); +} +var Oi = null; +function Pi(e) { + var t = Oi; + return (Oi = e), e && e.type.__scopeId, t; +} +function Ti(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + r = Eo || Oi; + if (r) { + var i = + null == r.parent + ? r.vnode.appContext && r.vnode.appContext.provides + : r.parent.provides; + if (i && e in i) return i[e]; + if (arguments.length > 1) return n && D(t) ? t.call(r.proxy) : t; + } +} +var Ei = {}; +function Ci(e, t, n) { + return Ri(e, t, n); +} +function Ri(e, t) { + var n, + r, + i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : w, + o = i.immediate, + a = i.deep, + u = i.flush, + s = + (i.onTrack, + i.onTrigger, + Cn() === (null == Eo ? void 0 : Eo.scope) ? Eo : null), + c = !1, + f = !1; + if ( + (Jr(e) + ? ((n = function () { + return e.value; + }), + (c = Fr(e))) + : Mr(e) + ? ((n = function () { + return e; + }), + (a = !0)) + : C(e) + ? ((f = !0), + (c = e.some(function (e) { + return Mr(e) || Fr(e); + })), + (n = function () { + return e.map(function (e) { + return Jr(e) + ? e.value + : Mr(e) + ? Bi(e) + : D(e) + ? ii(e, s, 2) + : void 0; + }); + })) + : (n = D(e) + ? t + ? function () { + return ii(e, s, 2); + } + : function () { + if (!s || !s.isUnmounted) return r && r(), oi(e, s, 3, [p]); + } + : b), + t && a) + ) { + var l = n; + n = function () { + return Bi(l()); + }; + } + var h, + p = function (e) { + r = g.onStop = function () { + ii(e, s, 4); + }; + }, + d = f ? new Array(e.length).fill(Ei) : Ei, + v = function () { + if (g.active) + if (t) { + var e = g.run(); + (a || + c || + (f + ? e.some(function (e, t) { + return X(e, d[t]); + }) + : X(e, d))) && + (r && r(), + oi(t, s, 3, [e, d === Ei ? void 0 : f && d[0] === Ei ? [] : d, p]), + (d = e)); + } else g.run(); + }; + (v.allowRecurse = !!t), + "sync" === u + ? (h = v) + : "post" === u + ? (h = function () { + return Io(v, s && s.suspense); + }) + : ((v.pre = !0), + s && (v.id = s.uid), + (h = function () { + return yi(v); + })); + var g = new Fn(n, h); + return ( + t + ? o + ? v() + : (d = g.run()) + : "post" === u + ? Io(g.run.bind(g), s && s.suspense) + : g.run(), + function () { + g.stop(), s && s.scope && P(s.scope.effects, g); + } + ); +} +function Li(e, t, n) { + var r, + i = this.proxy, + o = B(e) + ? e.includes(".") + ? Di(i, e) + : function () { + return i[e]; + } + : e.bind(i, i); + D(t) ? (r = t) : ((r = t.handler), (n = t)); + var a = Eo; + Ro(this); + var u = Ri(o, r.bind(i), n); + return a ? Ro(a) : Lo(), u; +} +function Di(e, t) { + var n = t.split("."); + return function () { + for (var t = e, r = 0; r < n.length && t; r++) t = t[n[r]]; + return t; + }; +} +function Bi(e, t) { + if (!U(e) || e.__v_skip) return e; + if ((t = t || new Set()).has(e)) return e; + if ((t.add(e), Jr(e))) Bi(e.value, t); + else if (C(e)) for (var n = 0; n < e.length; n++) Bi(e[n], t); + else if (L(e) || R(e)) + e.forEach(function (e) { + Bi(e, t); + }); + else if (F(e)) for (var r in e) Bi(e[r], t); + return e; +} +var Ni = function (e) { + return e.type.__isKeepAlive; +}; +function Ui(e, t) { + Mi(e, "a", t); +} +function ji(e, t) { + Mi(e, "da", t); +} +function Mi(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Eo, + r = + e.__wdc || + (e.__wdc = function () { + for (var t = n; t; ) { + if (t.isDeactivated) return; + t = t.parent; + } + return e(); + }); + if ((Fi(t, r, n), n)) + for (var i = n.parent; i && i.parent; ) + Ni(i.parent.vnode) && $i(r, t, n, i), (i = i.parent); +} +function $i(e, t, n, r) { + var i = Fi(t, e, r, !0); + Ji(function () { + P(r[t], i); + }, n); +} +function Fi(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Eo, + r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3]; + if (n) { + (function (e) { + return Ce.indexOf(e) > -1; + })(e) && (n = n.root); + var i = n[e] || (n[e] = []), + o = + t.__weh || + (t.__weh = function () { + if (!n.isUnmounted) { + Wn(), Ro(n); + for (var r = arguments.length, i = new Array(r), o = 0; o < r; o++) + i[o] = arguments[o]; + var a = oi(t, n, e, i); + return Lo(), Vn(), a; + } + }); + return r ? i.unshift(o) : i.push(o), o; + } +} +var Hi = function (e) { + return function (t) { + var n = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Eo; + return ( + (!Bo || "sp" === e) && + Fi( + e, + function () { + return t.apply(void 0, arguments); + }, + n + ) + ); + }; + }, + qi = Hi("bm"), + zi = Hi("m"), + Wi = Hi("bu"), + Vi = Hi("u"), + Ki = Hi("bum"), + Ji = Hi("um"), + Gi = Hi("sp"), + Yi = Hi("rtg"), + Xi = Hi("rtc"); +function Qi(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Eo; + Fi("ec", e, t); +} +var Zi = "components"; +function eo(e, t) { + return e && (e[t] || e[V(t)] || e[G(V(t))]); +} +var to = function e(t) { + return t ? (Do(t) ? Uo(t) || t.proxy : e(t.parent)) : null; + }, + no = O(Object.create(null), { + $: function (e) { + return e; + }, + $el: function (e) { + return e.__$el || (e.__$el = {}); + }, + $data: function (e) { + return e.data; + }, + $props: function (e) { + return e.props; + }, + $attrs: function (e) { + return e.attrs; + }, + $slots: function (e) { + return e.slots; + }, + $refs: function (e) { + return e.refs; + }, + $parent: function (e) { + return to(e.parent); + }, + $root: function (e) { + return to(e.root); + }, + $emit: function (e) { + return e.emit; + }, + $options: function (e) { + return so(e); + }, + $forceUpdate: function (e) { + return ( + e.f || + (e.f = function () { + return yi(e.update); + }) + ); + }, + $watch: function (e) { + return Li.bind(e); + }, + }), + ro = function (e, t) { + return e !== w && !e.__isScriptSetup && E(e, t); + }, + io = { + get: function (e, t) { + var n, + r = e._, + i = r.ctx, + o = r.setupState, + a = r.data, + u = r.props, + s = r.accessCache, + c = r.type, + f = r.appContext; + if ("$" !== t[0]) { + var l = s[t]; + if (void 0 !== l) + switch (l) { + case 1: + return o[t]; + case 2: + return a[t]; + case 4: + return i[t]; + case 3: + return u[t]; + } + else { + if (ro(o, t)) return (s[t] = 1), o[t]; + if (a !== w && E(a, t)) return (s[t] = 2), a[t]; + if ((n = r.propsOptions[0]) && E(n, t)) return (s[t] = 3), u[t]; + if (i !== w && E(i, t)) return (s[t] = 4), i[t]; + oo && (s[t] = 0); + } + } + var h, + p, + d = no[t]; + return d + ? ("$attrs" === t && Kn(r, 0, t), d(r)) + : (h = c.__cssModules) && (h = h[t]) + ? h + : i !== w && E(i, t) + ? ((s[t] = 4), i[t]) + : ((p = f.config.globalProperties), E(p, t) ? p[t] : void 0); + }, + set: function (e, t, n) { + var r = e._, + i = r.data, + o = r.setupState, + a = r.ctx; + return ro(o, t) + ? ((o[t] = n), !0) + : i !== w && E(i, t) + ? ((i[t] = n), !0) + : !( + E(r.props, t) || + ("$" === t[0] && t.slice(1) in r) || + ((a[t] = n), 0) + ); + }, + has: function (e, t) { + var n, + r = e._, + i = r.data, + o = r.setupState, + a = r.accessCache, + u = r.ctx, + s = r.appContext, + c = r.propsOptions; + return ( + !!a[t] || + (i !== w && E(i, t)) || + ro(o, t) || + ((n = c[0]) && E(n, t)) || + E(u, t) || + E(no, t) || + E(s.config.globalProperties, t) + ); + }, + defineProperty: function (e, t, n) { + return ( + null != n.get + ? (e._.accessCache[t] = 0) + : E(n, "value") && this.set(e, t, n.value, null), + Reflect.defineProperty(e, t, n) + ); + }, + }, + oo = !0; +function ao(e, t, n) { + oi( + C(e) + ? e.map(function (e) { + return e.bind(t.proxy); + }) + : e.bind(t.proxy), + t, + n + ); +} +function uo(e, t, n, r) { + var i = r.includes(".") + ? Di(n, r) + : function () { + return n[r]; + }; + if (B(e)) { + var o = t[e]; + D(o) && Ci(i, o); + } else if (D(e)) Ci(i, e.bind(n)); + else if (U(e)) + if (C(e)) + e.forEach(function (e) { + return uo(e, t, n, r); + }); + else { + var a = D(e.handler) ? e.handler.bind(n) : t[e.handler]; + D(a) && Ci(i, a, e); + } +} +function so(e) { + var t, + n = e.type, + r = n.mixins, + i = n.extends, + o = e.appContext, + a = o.mixins, + u = o.optionsCache, + s = o.config.optionMergeStrategies, + c = u.get(n); + return ( + c + ? (t = c) + : a.length || r || i + ? ((t = {}), + a.length && + a.forEach(function (e) { + return co(t, e, s, !0); + }), + co(t, n, s)) + : (t = n), + U(n) && u.set(n, t), + t + ); +} +function co(e, t, n) { + var r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], + i = t.mixins, + o = t.extends; + for (var a in (o && co(e, o, n, !0), + i && + i.forEach(function (t) { + return co(e, t, n, !0); + }), + t)) + if (r && "expose" === a); + else { + var u = fo[a] || (n && n[a]); + e[a] = u ? u(e[a], t[a]) : t[a]; + } + return e; +} +var fo = { + data: lo, + props: vo, + emits: vo, + methods: vo, + computed: vo, + beforeCreate: po, + created: po, + beforeMount: po, + mounted: po, + beforeUpdate: po, + updated: po, + beforeDestroy: po, + beforeUnmount: po, + destroyed: po, + unmounted: po, + activated: po, + deactivated: po, + errorCaptured: po, + serverPrefetch: po, + components: vo, + directives: vo, + watch: function (e, t) { + if (!e) return t; + if (!t) return e; + var n = O(Object.create(null), e); + for (var r in t) n[r] = po(e[r], t[r]); + return n; + }, + provide: lo, + inject: function (e, t) { + return vo(ho(e), ho(t)); + }, +}; +function lo(e, t) { + return t + ? e + ? function () { + return O( + D(e) ? e.call(this, this) : e, + D(t) ? t.call(this, this) : t + ); + } + : t + : e; +} +function ho(e) { + if (C(e)) { + for (var t = {}, n = 0; n < e.length; n++) t[e[n]] = e[n]; + return t; + } + return e; +} +function po(e, t) { + return e ? p(new Set([].concat(e, t))) : t; +} +function vo(e, t) { + return e ? O(O(Object.create(null), e), t) : t; +} +function go(e, t, n) { + var r = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], + i = {}, + o = {}; + for (var a in ((e.propsDefaults = Object.create(null)), + yo(e, t, i, o), + e.propsOptions[0])) + a in i || (i[a] = void 0); + n + ? (e.props = r ? i : jr(i, !1, cr, Er, Lr)) + : e.type.props + ? (e.props = i) + : (e.props = o), + (e.attrs = o); +} +function yo(e, t, n, r) { + var i, + o = h(e.propsOptions, 2), + a = o[0], + u = o[1], + s = !1; + if (t) + for (var c in t) + if (!q(c)) { + var f = t[c], + l = void 0; + a && E(a, (l = V(c))) + ? u && u.includes(l) + ? ((i || (i = {}))[l] = f) + : (n[l] = f) + : Ii(e.emitsOptions, c) || + (c in r && f === r[c]) || + ((r[c] = f), (s = !0)); + } + if (u) + for (var p = Hr(n), d = i || w, v = 0; v < u.length; v++) { + var g = u[v]; + n[g] = _o(a, p, g, d[g], e, !E(d, g)); + } + return s; +} +function _o(e, t, n, r, i, o) { + var a = e[n]; + if (null != a) { + var u = E(a, "default"); + if (u && void 0 === r) { + var s = a.default; + if (a.type !== Function && D(s)) { + var c = i.propsDefaults; + n in c ? (r = c[n]) : (Ro(i), (r = c[n] = s.call(null, t)), Lo()); + } else r = s; + } + a[0] && + (o && !u ? (r = !1) : !a[1] || ("" !== r && r !== J(n)) || (r = !0)); + } + return r; +} +function mo(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + r = t.propsCache, + i = r.get(e); + if (i) return i; + var o = e.props, + a = {}, + u = [], + s = !1; + if (!D(e)) { + var c = function (e) { + s = !0; + var n = mo(e, t, !0), + r = h(n, 2), + i = r[0], + o = r[1]; + O(a, i), o && u.push.apply(u, p(o)); + }; + !n && t.mixins.length && t.mixins.forEach(c), + e.extends && c(e.extends), + e.mixins && e.mixins.forEach(c); + } + if (!o && !s) return U(e) && r.set(e, k), k; + if (C(o)) + for (var f = 0; f < o.length; f++) { + var l = V(o[f]); + wo(l) && (a[l] = w); + } + else if (o) + for (var d in o) { + var v = V(d); + if (wo(v)) { + var g = o[d], + y = (a[v] = C(g) || D(g) ? { type: g } : Object.assign({}, g)); + if (y) { + var _ = xo(Boolean, y.type), + m = xo(String, y.type); + (y[0] = _ > -1), + (y[1] = m < 0 || _ < m), + (_ > -1 || E(y, "default")) && u.push(v); + } + } + } + var b = [a, u]; + return U(e) && r.set(e, b), b; +} +function wo(e) { + return "$" !== e[0]; +} +function ko(e) { + var t = e && e.toString().match(/^\s*(function|class) (\w+)/); + return t ? t[2] : null === e ? "null" : ""; +} +function bo(e, t) { + return ko(e) === ko(t); +} +function xo(e, t) { + return C(t) + ? t.findIndex(function (t) { + return bo(t, e); + }) + : D(t) && bo(t, e) + ? 0 + : -1; +} +function So() { + return { + app: null, + config: { + isNativeTag: x, + performance: !1, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {}, + }, + mixins: [], + components: {}, + directives: {}, + provides: Object.create(null), + optionsCache: new WeakMap(), + propsCache: new WeakMap(), + emitsCache: new WeakMap(), + }; +} +var Ao = 0, + Io = mi; +var Oo = So(), + Po = 0; +function To(e, t, n) { + var r = e.type, + i = (t ? t.appContext : e.appContext) || Oo, + o = { + uid: Po++, + vnode: e, + type: r, + parent: t, + appContext: i, + root: null, + next: null, + subTree: null, + effect: null, + update: null, + scope: new Tn(!0), + render: null, + proxy: null, + exposed: null, + exposeProxy: null, + withProxy: null, + provides: t ? t.provides : Object.create(i.provides), + accessCache: null, + renderCache: [], + components: null, + directives: null, + propsOptions: mo(r, i), + emitsOptions: Ai(r, i), + emit: null, + emitted: null, + propsDefaults: w, + inheritAttrs: r.inheritAttrs, + ctx: w, + data: w, + props: w, + attrs: w, + slots: w, + refs: w, + setupState: w, + setupContext: null, + suspense: n, + suspenseId: n ? n.pendingId : 0, + asyncDep: null, + asyncResolved: !1, + isMounted: !1, + isUnmounted: !1, + isDeactivated: !1, + bc: null, + c: null, + bm: null, + m: null, + bu: null, + u: null, + um: null, + bum: null, + da: null, + a: null, + rtg: null, + rtc: null, + ec: null, + sp: null, + }; + return ( + (o.ctx = { _: o }), + (o.root = t ? t.root : o), + (o.emit = Si.bind(null, o)), + e.ce && e.ce(o), + o + ); +} +var Eo = null, + Co = function () { + return Eo || Oi; + }, + Ro = function (e) { + (Eo = e), e.scope.on(); + }, + Lo = function () { + Eo && Eo.scope.off(), (Eo = null); + }; +function Do(e) { + return 4 & e.vnode.shapeFlag; +} +var Bo = !1; +function No(e, t, n) { + var r = e.type; + e.render || (e.render = r.render || b), + Ro(e), + Wn(), + (function (e) { + var t = so(e), + n = e.proxy, + r = e.ctx; + (oo = !1), t.beforeCreate && ao(t.beforeCreate, e, "bc"); + var i = t.data, + o = t.computed, + a = t.methods, + u = t.watch, + s = t.provide, + c = t.inject, + f = t.created, + l = t.beforeMount, + h = t.mounted, + p = t.beforeUpdate, + d = t.updated, + v = t.activated, + g = t.deactivated, + y = (t.beforeDestroy, t.beforeUnmount), + _ = (t.destroyed, t.unmounted), + m = t.render, + w = t.renderTracked, + k = t.renderTriggered, + x = t.errorCaptured, + S = t.serverPrefetch, + A = t.expose, + I = t.inheritAttrs, + O = t.components, + P = t.directives; + if ( + (t.filters, + c && + (function (e, t) { + var n = + arguments.length > 3 && void 0 !== arguments[3] && arguments[3]; + C(e) && (e = ho(e)); + var r = function () { + var r, + o = e[i]; + Jr( + (r = U(o) + ? "default" in o + ? Ti(o.from || i, o.default, !0) + : Ti(o.from || i) + : Ti(o)) + ) && n + ? Object.defineProperty(t, i, { + enumerable: !0, + configurable: !0, + get: function () { + return r.value; + }, + set: function (e) { + return (r.value = e); + }, + }) + : (t[i] = r); + }; + for (var i in e) r(); + })(c, r, null, e.appContext.config.unwrapInjectedRef), + a) + ) + for (var T in a) { + var E = a[T]; + D(E) && (r[T] = E.bind(n)); + } + if (i) { + var R = i.call(n, n); + U(R) && (e.data = Nr(R)); + } + if (((oo = !0), o)) { + var L = function () { + var e = o[B], + t = D(e) ? e.bind(n, n) : D(e.get) ? e.get.bind(n, n) : b, + i = !D(e) && D(e.set) ? e.set.bind(n) : b, + a = jo({ get: t, set: i }); + Object.defineProperty(r, B, { + enumerable: !0, + configurable: !0, + get: function () { + return a.value; + }, + set: function (e) { + return (a.value = e); + }, + }); + }; + for (var B in o) L(); + } + if (u) for (var N in u) uo(u[N], r, n, N); + if (s) { + var j = D(s) ? s.call(n) : s; + Reflect.ownKeys(j).forEach(function (e) { + !(function (e, t) { + if (Eo) { + var n = Eo.provides, + r = Eo.parent && Eo.parent.provides; + r === n && (n = Eo.provides = Object.create(r)), + (n[e] = t), + "app" === Eo.type.mpType && Eo.appContext.app.provide(e, t); + } + })(e, j[e]); + }); + } + function M(e, t) { + C(t) + ? t.forEach(function (t) { + return e(t.bind(n)); + }) + : t && e(t.bind(n)); + } + if ( + (f && ao(f, e, "c"), + M(qi, l), + M(zi, h), + M(Wi, p), + M(Vi, d), + M(Ui, v), + M(ji, g), + M(Qi, x), + M(Xi, w), + M(Yi, k), + M(Ki, y), + M(Ji, _), + M(Gi, S), + C(A)) + ) + if (A.length) { + var $ = e.exposed || (e.exposed = {}); + A.forEach(function (e) { + Object.defineProperty($, e, { + get: function () { + return n[e]; + }, + set: function (t) { + return (n[e] = t); + }, + }); + }); + } else e.exposed || (e.exposed = {}); + m && e.render === b && (e.render = m), + null != I && (e.inheritAttrs = I), + O && (e.components = O), + P && (e.directives = P), + e.ctx.$onApplyOptions && e.ctx.$onApplyOptions(t, e, n); + })(e), + Vn(), + Lo(); +} +function Uo(e) { + if (e.exposed) + return ( + e.exposeProxy || + (e.exposeProxy = new Proxy(Zr(qr(e.exposed)), { + get: function (t, n) { + return n in t ? t[n] : e.proxy[n]; + }, + has: function (e, t) { + return t in e || t in no; + }, + })) + ); +} +var jo = function (e, t) { + return (function (e, t) { + var n, + r, + i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], + o = D(e); + return ( + o ? ((n = e), (r = b)) : ((n = e.get), (r = e.set)), + new ri(n, r, o || !r, i) + ); + })(e, 0, Bo); +}; +function Mo(e) { + return Xr(e); +} +var $o, + Fo, + Ho = "[object Array]", + qo = "[object Object]"; +function zo(e, t) { + var n = {}; + return ( + (function e(t, n) { + if ((t = Mo(t)) === n) return; + var r = $(t), + i = $(n); + if (r == qo && i == qo) + for (var o in n) { + var a = t[o]; + void 0 === a ? (t[o] = null) : e(a, n[o]); + } + else + r == Ho && + i == Ho && + t.length >= n.length && + n.forEach(function (n, r) { + e(t[r], n); + }); + })(e, t), + (function e(t, n, r, i) { + if ((t = Mo(t)) === n) return; + var o = $(t), + a = $(n); + if (o == qo) + if (a != qo || Object.keys(t).length < Object.keys(n).length) + Wo(i, r, t); + else { + var u = function (o) { + var a = Mo(t[o]), + u = n[o], + s = $(a), + c = $(u); + if (s != Ho && s != qo) + a != u && Wo(i, ("" == r ? "" : r + ".") + o, a); + else if (s == Ho) + c != Ho || a.length < u.length + ? Wo(i, ("" == r ? "" : r + ".") + o, a) + : a.forEach(function (t, n) { + e(t, u[n], ("" == r ? "" : r + ".") + o + "[" + n + "]", i); + }); + else if (s == qo) + if (c != qo || Object.keys(a).length < Object.keys(u).length) + Wo(i, ("" == r ? "" : r + ".") + o, a); + else + for (var f in a) + e(a[f], u[f], ("" == r ? "" : r + ".") + o + "." + f, i); + }; + for (var s in t) u(s); + } + else + o == Ho + ? a != Ho || t.length < n.length + ? Wo(i, r, t) + : t.forEach(function (t, o) { + e(t, n[o], r + "[" + o + "]", i); + }) + : Wo(i, r, t); + })(e, t, "", n), + n + ); +} +function Wo(e, t, n) { + e[t] = n; +} +function Vo(e) { + var t = e.ctx.__next_tick_callbacks; + if (t && t.length) { + var n = t.slice(0); + t.length = 0; + for (var r = 0; r < n.length; r++) n[r](); + } +} +function Ko(e, t) { + var n, + r = e.ctx; + return r.__next_tick_pending || + (function (e) { + return ci.includes(e.update); + })(e) + ? (r.__next_tick_callbacks || (r.__next_tick_callbacks = []), + r.__next_tick_callbacks.push(function () { + t ? ii(t.bind(e.proxy), e, 14) : n && n(e.proxy); + }), + new Promise(function (e) { + n = e; + })) + : gi(t && t.bind(e.proxy)); +} +function Jo(e) { + return (function e(t, n) { + var r = f((t = Mo(t))); + if ("object" === r && null !== t) { + var i = n.get(t); + if (void 0 !== i) return i; + if (C(t)) { + var o = t.length; + (i = new Array(o)), n.set(t, i); + for (var a = 0; a < o; a++) i[a] = e(t[a], n); + } else + for (var u in ((i = {}), n.set(t, i), t)) + E(t, u) && (i[u] = e(t[u], n)); + return i; + } + if ("symbol" !== r) return t; + })(e, "undefined" != typeof WeakMap ? new WeakMap() : new Map()); +} +function Go(e, t, n) { + if (t) { + t = Jo(t); + var r = e.ctx, + i = r.mpType; + if ("page" === i || "component" === i) { + t.r0 = 1; + var o = r.$scope, + a = Object.keys(t), + u = zo( + t, + n || + (function (e, t) { + var n = e.data, + r = Object.create(null); + return ( + t.forEach(function (e) { + r[e] = n[e]; + }), + r + ); + })(o, a) + ); + Object.keys(u).length + ? ((r.__next_tick_pending = !0), + o.setData(u, function () { + (r.__next_tick_pending = !1), Vo(e); + }), + wi()) + : Vo(e); + } + } +} +function Yo(e, t, n) { + t.appContext.config.globalProperties.$applyOptions(e, t, n); + var r = e.computed; + if (r) { + var i = Object.keys(r); + if (i.length) { + var o, + a = t.ctx; + a.$computedKeys || (a.$computedKeys = []), + (o = a.$computedKeys).push.apply(o, i); + } + } + delete t.ctx.$onApplyOptions; +} +function Xo(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = e.setupState, + r = e.$templateRefs, + i = e.ctx, + o = i.$scope, + a = i.$mpPlatform; + if ("mp-alipay" !== a && r && o) { + if (t) + return r.forEach(function (e) { + return Qo(e, null, n); + }); + var u = "mp-baidu" === a || "mp-toutiao" === a, + s = function (e) { + var t = (o.selectAllComponents(".r") || []).concat( + o.selectAllComponents(".r-i-f") || [] + ); + return e.filter(function (e) { + var r = (function (e, t) { + var n = e.find(function (e) { + return e && (e.properties || e.props).uI === t; + }); + if (n) { + var r = n.$vm; + return r + ? Uo(r.$) || r + : (function (e) { + return U(e) && qr(e), e; + })(n); + } + return null; + })(t, e.i); + return !(!u || null !== r) || (Qo(e, r, n), !1); + }); + }, + c = function () { + var t = s(r); + t.length && + e.proxy && + e.proxy.$scope && + e.proxy.$scope.setData({ r1: 1 }, function () { + s(t); + }); + }; + o._$setRef ? o._$setRef(c) : Ko(e, c); + } +} +function Qo(e, t, n) { + var r = e.r, + i = e.f; + if (D(r)) r(t, {}); + else { + var o = B(r), + a = Jr(r); + if (o || a) + if (i) { + if (!a) return; + C(r.value) || (r.value = []); + var u = r.value; + if (-1 === u.indexOf(t)) { + if ((u.push(t), !t)) return; + Ki(function () { + return P(u, t); + }, t.$); + } + } else o ? E(n, r) && (n[r] = t) : Jr(r) && (r.value = t); + } +} +((Fo = $o || ($o = {})).APP = "app"), + (Fo.PAGE = "page"), + (Fo.COMPONENT = "component"); +var Zo = mi; +function ea(e, t) { + var n = (e.component = To(e, t.parentComponent, null)); + return ( + (n.ctx.$onApplyOptions = Yo), + (n.ctx.$children = []), + "app" === t.mpType && (n.render = b), + t.onBeforeSetup && t.onBeforeSetup(n, t), + (function (e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; + Bo = t; + var n = e.vnode.props, + r = Do(e); + go(e, n, r, t); + var i = r + ? (function (e, t) { + var n = e.type; + (e.accessCache = Object.create(null)), + (e.proxy = qr(new Proxy(e.ctx, io))); + var r = n.setup; + if (r) { + var i = (e.setupContext = + r.length > 1 + ? (function (e) { + var t; + return { + get attrs() { + return ( + t || + (t = (function (e) { + return new Proxy(e.attrs, { + get: function (t, n) { + return Kn(e, 0, "$attrs"), t[n]; + }, + }); + })(e)) + ); + }, + slots: e.slots, + emit: e.emit, + expose: function (t) { + e.exposed = t || {}; + }, + }; + })(e) + : null); + Ro(e), Wn(); + var o = ii(r, e, 0, [e.props, i]); + Vn(), + Lo(), + j(o) + ? o.then(Lo, Lo) + : (function (e, t, n) { + D(t) ? (e.render = t) : U(t) && (e.setupState = Zr(t)), + No(e); + })(e, o); + } else No(e); + })(e) + : void 0; + Bo = !1; + })(n), + t.parentComponent && + n.proxy && + t.parentComponent.ctx.$children.push(Uo(n) || n.proxy), + (function (e) { + var t = oa.bind(e); + e.$updateScopedSlots = function () { + return gi(function () { + return yi(t); + }); + }; + var n = (e.effect = new Fn( + function () { + if (e.isMounted) { + e.next; + var t = e.bu, + n = e.u; + aa(e, !1), ia(), t && Q(t), aa(e, !0), Go(e, na(e)), n && Zo(n); + } else + Ki(function () { + Xo(e, !0); + }, e), + Go(e, na(e)); + }, + function () { + return yi(e.update); + }, + e.scope + )), + r = (e.update = n.run.bind(n)); + (r.id = e.uid), aa(e, !0), r(); + })(n), + n.proxy + ); +} +var ta = function (e) { + var t; + for (var n in e) + ("class" === n || "style" === n || A(n)) && ((t || (t = {}))[n] = e[n]); + return t; +}; +function na(e) { + var t, + n = e.type, + r = e.vnode, + i = e.proxy, + o = e.withProxy, + a = e.props, + u = h(e.propsOptions, 1)[0], + s = e.slots, + c = e.attrs, + f = e.emit, + l = e.render, + p = e.renderCache, + d = e.data, + v = e.setupState, + g = e.ctx, + y = e.uid, + _ = e.appContext.app.config.globalProperties.pruneComponentPropsCache, + m = e.inheritAttrs; + (e.$templateRefs = []), + (e.$ei = 0), + _(y), + (e.__counter = 0 === e.__counter ? 1 : 0); + var w = Pi(e); + try { + if (4 & r.shapeFlag) { + ra(m, a, u, c); + var k = o || i; + t = l.call(k, k, p, a, v, d, g); + } else { + ra(m, a, u, n.props ? c : ta(c)); + var b = n; + t = b.length > 1 ? b(a, { attrs: c, slots: s, emit: f }) : b(a, null); + } + } catch (n) { + ai(n, e, 1), (t = !1); + } + return Xo(e), Pi(w), t; +} +function ra(e, t, n, r) { + if (t && r && !1 !== e) { + var i = Object.keys(r).filter(function (e) { + return "class" !== e && "style" !== e; + }); + if (!i.length) return; + n && i.some(I) + ? i.forEach(function (e) { + (I(e) && e.slice(9) in n) || (t[e] = r[e]); + }) + : i.forEach(function (e) { + return (t[e] = r[e]); + }); + } +} +var ia = function (e) { + Wn(), wi(), Vn(); +}; +function oa() { + var e = this.$scopedSlotsData; + if (e && 0 !== e.length) { + var t = this.ctx.$scope, + n = t.data, + r = Object.create(null); + e.forEach(function (e) { + var t = e.path, + i = e.index, + o = e.data, + a = (function e(t, n) { + if (B(n)) { + var r = (n = n.replace(/\[(\d+)\]/g, ".$1")).split("."), + i = r[0]; + return ( + t || (t = {}), + 1 === r.length ? t[i] : e(t[i], r.slice(1).join(".")) + ); + } + })(n, t), + u = B(i) + ? "".concat(t, ".").concat(i) + : "".concat(t, "[").concat(i, "]"); + if (void 0 === a || void 0 === a[i]) r[u] = o; + else { + var s = zo(o, a[i]); + Object.keys(s).forEach(function (e) { + r[u + "." + e] = s[e]; + }); + } + }), + (e.length = 0), + Object.keys(r).length && t.setData(r); + } +} +function aa(e, t) { + var n = e.effect, + r = e.update; + n.allowRecurse = r.allowRecurse = t; +} +var ua, + sa = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; + D(e) || (e = Object.assign({}, e)), null == t || U(t) || (t = null); + var n = So(), + r = new Set(), + i = (n.app = { + _uid: Ao++, + _component: e, + _props: t, + _container: null, + _context: n, + _instance: null, + version: "3.2.47", + get config() { + return n.config; + }, + set config(e) {}, + use: function (e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), o = 1; + o < t; + o++ + ) + n[o - 1] = arguments[o]; + return ( + r.has(e) || + (e && D(e.install) + ? (r.add(e), e.install.apply(e, [i].concat(n))) + : D(e) && (r.add(e), e.apply(void 0, [i].concat(n)))), + i + ); + }, + mixin: function (e) { + return n.mixins.includes(e) || n.mixins.push(e), i; + }, + component: function (e, t) { + return t ? ((n.components[e] = t), i) : n.components[e]; + }, + directive: function (e, t) { + return t ? ((n.directives[e] = t), i) : n.directives[e]; + }, + mount: function () {}, + unmount: function () {}, + provide: function (e, t) { + return (n.provides[e] = t), i; + }, + }); + return i; + }; +function ca(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; + ("undefined" != typeof window + ? window + : "undefined" != typeof globalThis + ? globalThis + : "undefined" != typeof global + ? global + : "undefined" != typeof my + ? my + : void 0 + ).__VUE__ = !0; + var n = sa(e, t), + r = n._context; + r.config.globalProperties.$nextTick = function (e) { + return Ko(this.$, e); + }; + var i = function (e) { + return (e.appContext = r), (e.shapeFlag = 6), e; + }, + o = function (e, t) { + return ea(i(e), t); + }, + a = function (e) { + return ( + e && + (function (e) { + var t = e.bum, + n = e.scope, + r = e.update, + i = e.um; + t && Q(t), + n.stop(), + r && (r.active = !1), + i && Zo(i), + Zo(function () { + e.isUnmounted = !0; + }); + })(e.$) + ); + }; + return ( + (n.mount = function () { + e.render = b; + var t = ea(i({ type: e }), { + mpType: $o.APP, + mpInstance: null, + parentComponent: null, + slots: [], + props: null, + }); + return ( + (n._instance = t.$), + (t.$app = n), + (t.$createComponent = o), + (t.$destroyComponent = a), + (r.$appInstance = t), + t + ); + }), + (n.unmount = function () {}), + n + ); +} +function fa(e, t, n, r) { + D(t) && Fi(e, t.bind(n), r); +} +function la(e, t, n) { + !(function (e, t, n) { + var r = e.mpType || n.$mpType; + r && + "component" !== r && + Object.keys(e).forEach(function (r) { + if (De(r, e[r], !1)) { + var i = e[r]; + C(i) + ? i.forEach(function (e) { + return fa(r, e, n, t); + }) + : fa(r, i, n, t); + } + }); + })(e, t, n); +} +function ha(e, t, n) { + return (e[t] = n); +} +function pa(e) { + for ( + var t = this[e], + n = arguments.length, + r = new Array(n > 1 ? n - 1 : 0), + i = 1; + i < n; + i++ + ) + r[i - 1] = arguments[i]; + return t + ? t.apply(void 0, r) + : (console.error("method ".concat(e, " not found")), null); +} +function da(e) { + return function (t, n, r) { + if (!n) throw t; + var i = e._instance; + if (!i || !i.proxy) throw t; + i.proxy.$callHook(re, t); + }; +} +function va(e, t) { + return e ? p(new Set([].concat(e, t))) : t; +} +var ga = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + ya = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/; +function _a() { + var e, + t, + n = Pn.getStorageSync("uni_id_token") || "", + r = n.split("."); + if (!n || 3 !== r.length) + return { uid: null, role: [], permission: [], tokenExpired: 0 }; + try { + e = JSON.parse( + ((t = r[1]), + decodeURIComponent( + ua(t) + .split("") + .map(function (e) { + return "%" + ("00" + e.charCodeAt(0).toString(16)).slice(-2); + }) + .join("") + )) + ); + } catch (e) { + throw new Error("获取当前用户信息出错,详细错误信息为:" + e.message); + } + return (e.tokenExpired = 1e3 * e.exp), delete e.exp, delete e.iat, e; +} +ua = + "function" != typeof atob + ? function (e) { + if (((e = String(e).replace(/[\t\n\f\r ]+/g, "")), !ya.test(e))) + throw new Error( + "Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded." + ); + var t; + e += "==".slice(2 - (3 & e.length)); + for (var n, r, i = "", o = 0; o < e.length; ) + (t = + (ga.indexOf(e.charAt(o++)) << 18) | + (ga.indexOf(e.charAt(o++)) << 12) | + ((n = ga.indexOf(e.charAt(o++))) << 6) | + (r = ga.indexOf(e.charAt(o++)))), + (i += + 64 === n + ? String.fromCharCode((t >> 16) & 255) + : 64 === r + ? String.fromCharCode((t >> 16) & 255, (t >> 8) & 255) + : String.fromCharCode( + (t >> 16) & 255, + (t >> 8) & 255, + 255 & t + )); + return i; + } + : atob; +var ma = Object.create(null); +function wa(e) { + delete ma[e]; +} +function ka(e) { + if (e) { + var t = e.split(","), + n = h(t, 2), + r = n[0], + i = n[1]; + return ma[r] ? ma[r][parseInt(i)] : void 0; + } +} +var ba = { + install: function (e) { + (function (e) { + var t, + n = e._context.config; + (n.errorHandler = Ne(e, da)), + (t = n.optionMergeStrategies), + Re.forEach(function (e) { + t[e] = va; + }); + var r = n.globalProperties; + !(function (e) { + (e.uniIDHasRole = function (e) { + return _a().role.indexOf(e) > -1; + }), + (e.uniIDHasPermission = function (e) { + var t = _a().permission; + return this.uniIDHasRole("admin") || t.indexOf(e) > -1; + }), + (e.uniIDTokenValid = function () { + return _a().tokenExpired > Date.now(); + }); + })(r), + (r.$set = ha), + (r.$applyOptions = la), + (r.$callMethod = pa), + Pn.invokeCreateVueAppHook(e); + })(e), + (e.config.globalProperties.pruneComponentPropsCache = wa); + var t = e.mount; + e.mount = function (n) { + var r = t.call(e, n), + i = (function () { + var e = "createApp"; + return "undefined" != typeof global + ? global[e] + : "undefined" != typeof my + ? my[e] + : void 0; + })(); + return ( + i + ? i(r) + : "undefined" != typeof createMiniProgramApp && + createMiniProgramApp(r), + r + ); + }; + }, +}; +var xa = [ + "tap", + "longpress", + "longtap", + "transitionend", + "animationstart", + "animationiteration", + "animationend", + "touchforcechange", +]; +function Sa(e) { + return B(e) + ? e + : (function (e) { + var t = ""; + if (!e || B(e)) return t; + for (var n in e) + t += "".concat(n.startsWith("--") ? n : J(n), ":").concat(e[n], ";"); + return t; + })( + (function e(t) { + if (C(t)) { + for (var n = {}, r = 0; r < t.length; r++) { + var i = t[r], + o = B(i) ? _(i) : e(i); + if (o) for (var a in o) n[a] = o[a]; + } + return n; + } + return B(t) || U(t) ? t : void 0; + })(e) + ); +} +var Aa = [ + "createSelectorQuery", + "createIntersectionObserver", + "selectAllComponents", + "selectComponent", +]; +function Ia(e, t) { + var n = e.ctx; + (n.mpType = t.mpType), + (n.$mpType = t.mpType), + (n.$mpPlatform = "mp-weixin"), + (n.$scope = t.mpInstance), + (n.$mp = {}), + (n._self = {}), + (e.slots = {}), + C(t.slots) && + t.slots.length && + (t.slots.forEach(function (t) { + e.slots[t] = !0; + }), + e.slots.d && (e.slots.default = !0)), + (n.getOpenerEventChannel = function () { + return t.mpInstance.getOpenerEventChannel(); + }), + (n.$hasHook = Oa), + (n.$callHook = Pa), + (e.emit = (function (e, t) { + return function (n) { + for ( + var r = t.$scope, + i = arguments.length, + o = new Array(i > 1 ? i - 1 : 0), + a = 1; + a < i; + a++ + ) + o[a - 1] = arguments[a]; + if (r && n) { + var u = { __args__: o }; + r.triggerEvent(n, u); + } + return e.apply(this, [n].concat(o)); + }; + })(e.emit, n)); +} +function Oa(e) { + var t = this.$[e]; + return !(!t || !t.length); +} +function Pa(e, t) { + "mounted" === e && (Pa.call(this, "bm"), (this.$.isMounted = !0), (e = "m")); + var n = this.$[e]; + return ( + n && + (function (e, t) { + for (var n, r = 0; r < e.length; r++) n = e[r](t); + return n; + })(n, t) + ); +} +var Ta = [ue, ee, te, ce, le, de, ve, ge, _e]; +function Ea(e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : new Set(); + if (e) { + Object.keys(e).forEach(function (n) { + De(n, e[n]) && t.add(n); + }); + var n = e.extends, + r = e.mixins; + r && + r.forEach(function (e) { + return Ea(e, t); + }), + n && Ea(n, t); + } + return t; +} +function Ca(e, t, n) { + -1 !== n.indexOf(t) || + E(e, t) || + (e[t] = function (e) { + return this.$vm && this.$vm.$callHook(t, e); + }); +} +var Ra = [se]; +function La(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Ra; + t.forEach(function (t) { + return Ca(e, t, n); + }); +} +function Da(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : Ra; + Ea(t).forEach(function (t) { + return Ca(e, t, n); + }); +} +var Ba = Ie(function () { + var e = [], + t = D(getApp) && getApp({ allowDefault: !0 }); + if (t && t.$vm && t.$vm.$) { + var n = t.$vm.$.appContext.mixins; + if (C(n)) { + var r = Object.keys(Le); + n.forEach(function (t) { + r.forEach(function (n) { + E(t, n) && !e.includes(n) && e.push(n); + }); + }); + } + } + return e; + }), + Na = [ee, te, re, ie, oe, ae]; +function Ua(e, t) { + var n = e.$, + r = { + globalData: (e.$options && e.$options.globalData) || {}, + $vm: e, + onLaunch: function (t) { + this.$vm = e; + var r = n.ctx; + (this.$vm && r.$scope) || + (Ia(n, { mpType: "app", mpInstance: this, slots: [] }), + (r.globalData = this.globalData), + e.$callHook(ne, t)); + }, + }; + n.onError && + (n.appContext.config.errorHandler = function (t) { + e.$callHook(re, t); + }), + (function (e) { + var t = Gr(Je(wx.getSystemInfoSync().language) || ze); + Object.defineProperty(e, "$locale", { + get: function () { + return t.value; + }, + set: function (e) { + t.value = e; + }, + }); + })(e); + var i = e.$.type; + La(r, Na), Da(r, i); + var o = i.methods; + return o && O(r, o), t && t.parse(r), r; +} +function ja(e, t) { + if (D(e.onLaunch)) { + var n = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync(); + e.onLaunch(n); + } + D(e.onShow) && + wx.onAppShow && + wx.onAppShow(function (e) { + t.$callHook("onShow", e); + }), + D(e.onHide) && + wx.onAppHide && + wx.onAppHide(function (e) { + t.$callHook("onHide", e); + }); +} +var Ma = ["externalClasses"], + $a = /_(.*)_worklet_factory_/; +var Fa = ["eO", "uR", "uRIF", "uI", "uT", "uP", "uS"]; +function Ha(e) { + e.properties || (e.properties = {}), + O( + e.properties, + (function (e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = {}; + return ( + t || + (Fa.forEach(function (e) { + n[e] = { type: null, value: "" }; + }), + (n.uS = { + type: null, + value: [], + observer: function (e) { + var t = Object.create(null); + e && + e.forEach(function (e) { + t[e] = !0; + }), + this.setData({ $slots: t }); + }, + })), + e.behaviors && + e.behaviors.includes("wx://form-field") && + ((e.properties && e.properties.name) || + (n.name = { type: null, value: "" }), + (e.properties && e.properties.value) || + (n.value = { type: null, value: "" })), + n + ); + })(e), + (function (e) { + var t = {}; + return ( + e && + e.virtualHost && + ((t.virtualHostStyle = { type: null, value: "" }), + (t.virtualHostClass = { type: null, value: "" })), + t + ); + })(e.options) + ); +} +var qa, + za, + Wa = [String, Number, Boolean, Object, Array, null]; +function Va(e, t) { + var n = (function (e, t) { + return C(e) && 1 === e.length ? e[0] : e; + })(e); + return -1 !== Wa.indexOf(n) ? n : null; +} +function Ka(e, t) { + return ( + (t + ? (function (e) { + var t = {}; + return ( + F(e) && + Object.keys(e).forEach(function (n) { + -1 === Fa.indexOf(n) && (t[n] = e[n]); + }), + t + ); + })(e) + : ka(e.uP)) || {} + ); +} +function Ja(e) { + e.observers || (e.observers = {}), + (e.observers.uP = function () { + var e = this.properties.uP; + e && + (this.$vm + ? (function (e, t) { + var n, + r = Hr(t.props), + i = ka(e) || {}; + Ga(r, i) && + ((function (e, t, n, r) { + var i = e.props, + o = e.attrs, + a = e.vnode.patchFlag, + u = Hr(i), + s = h(e.propsOptions, 1)[0], + c = !1; + if (!(a > 0) || 16 & a) { + var f; + for (var l in (yo(e, t, i, o) && (c = !0), u)) + (t && (E(t, l) || ((f = J(l)) !== l && E(t, f)))) || + (s + ? !n || + (void 0 === n[l] && void 0 === n[f]) || + (i[l] = _o(s, u, l, void 0, e, !0)) + : delete i[l]); + if (o !== u) + for (var p in o) + (t && E(t, p)) || (delete o[p], (c = !0)); + } else if (8 & a) + for ( + var d = e.vnode.dynamicProps, v = 0; + v < d.length; + v++ + ) { + var g = d[v]; + if (!Ii(e.emitsOptions, g)) { + var y = t[g]; + if (s) + if (E(o, g)) y !== o[g] && ((o[g] = y), (c = !0)); + else { + var _ = V(g); + i[_] = _o(s, u, _, y, e, !1); + } + else y !== o[g] && ((o[g] = y), (c = !0)); + } + } + c && Gn(e, "set", "$attrs"); + })(t, i, r), + (n = t.update), + ci.indexOf(n) > -1 && + (function (e) { + var t = ci.indexOf(e); + t > fi && ci.splice(t, 1); + })(t.update), + t.update()); + })(e, this.$vm.$) + : "m" === this.properties.uT && + (function (e, t) { + var n = t.properties, + r = ka(e) || {}; + Ga(n, r, !1) && t.setData(r); + })(e, this)); + }); +} +function Ga(e, t) { + var n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], + r = Object.keys(t); + if (n && r.length !== Object.keys(e).length) return !0; + for (var i = 0; i < r.length; i++) { + var o = r[i]; + if (t[o] !== e[o]) return !0; + } + return !1; +} +function Ya(e, t) { + var n = t.parse, + r = t.mocks, + i = t.isPage, + o = t.initRelation, + a = t.handleLink, + u = t.initLifetimes; + e = e.default || e; + var s = { multipleSlots: !0, addGlobalClass: !0, pureDataPattern: /^uP$/ }; + C(e.mixins) && + e.mixins.forEach(function (e) { + U(e.options) && O(s, e.options); + }), + e.options && O(s, e.options); + var c, + f, + l, + h, + p = { + options: s, + lifetimes: u({ mocks: r, isPage: i, initRelation: o, vueOptions: e }), + pageLifetimes: { + show: function () { + this.$vm && this.$vm.$callHook("onPageShow"); + }, + hide: function () { + this.$vm && this.$vm.$callHook("onPageHide"); + }, + resize: function (e) { + this.$vm && this.$vm.$callHook("onPageResize", e); + }, + }, + methods: { __l: a }, + }; + return ( + (function (e, t) { + (e.data = {}), + (e.behaviors = (function (e) { + var t = e.behaviors, + n = e.props; + n || (e.props = n = []); + var r = []; + return ( + C(t) && + t.forEach(function (e) { + r.push(e.replace("uni://", "wx://")), + "uni://form-field" === e && + (C(n) + ? (n.push("name"), n.push("modelValue")) + : ((n.name = { type: String, default: "" }), + (n.modelValue = { + type: [String, Number, Boolean, Array, Object, Date], + default: "", + }))); + }), + r + ); + })(t)); + })(p, e), + Ha(p), + Ja(p), + (function (e, t) { + Ma.forEach(function (n) { + E(t, n) && (e[n] = t[n]); + }); + })(p, e), + (c = p.methods), + (f = e.wxsCallMethods), + C(f) && + f.forEach(function (e) { + c[e] = function (t) { + return this.$vm[e](t); + }; + }), + (l = p.methods), + (h = e.methods) && + Object.keys(h).forEach(function (e) { + var t = e.match($a); + if (t) { + var n = t[1]; + (l[e] = h[e]), (l[n] = h[n]); + } + }), + n && n(p, { handleLink: a }), + p + ); +} +function Xa() { + return getApp().$vm; +} +var Qa = Page, + Za = Component; +function eu(e) { + var t = e.triggerEvent, + n = function (n) { + for ( + var r = arguments.length, i = new Array(r > 1 ? r - 1 : 0), o = 1; + o < r; + o++ + ) + i[o - 1] = arguments[o]; + return t.apply(e, [((a = n), V(a.replace(Ae, "-")))].concat(i)); + var a; + }; + try { + e.triggerEvent = n; + } catch (t) { + e._triggerEvent = n; + } +} +function tu(e, t, n) { + var r = t[e]; + t[e] = r + ? function () { + for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) + t[n] = arguments[n]; + return eu(this), r.apply(this, t); + } + : function () { + eu(this); + }; +} +(Page = function (e) { + return tu(ue, e), Qa(e); +}), + (Component = function (e) { + return ( + tu("created", e), + (e.properties && e.properties.uP) || (Ha(e), Ja(e)), + Za(e) + ); + }); +var nu, + ru = Object.freeze({ + __proto__: null, + handleLink: function (e) { + var t, + n = e.detail || e.value, + r = n.vuePid; + r && + (t = (function e(t, n) { + for (var r, i = t.$children, o = i.length - 1; o >= 0; o--) { + var a = i[o]; + if (a.$scope._$vueId === n) return a; + } + for (var u = i.length - 1; u >= 0; u--) + if ((r = e(i[u], n))) return r; + })(this.$vm, r)), + t || (t = this.$vm), + (n.parent = t); + }, + initLifetimes: function (e) { + var t = e.mocks, + n = e.isPage, + r = e.initRelation, + i = e.vueOptions; + return { + attached: function () { + var e = this.properties; + !(function (e, t) { + if (e) { + var n = e.split(","), + r = n.length; + 1 === r + ? (t._$vueId = n[0]) + : 2 === r && ((t._$vueId = n[0]), (t._$vuePid = n[1])); + } + })(e.uI, this); + var o = { vuePid: this._$vuePid }; + r(this, o); + var a = this, + u = n(a), + s = e; + (this.$vm = (function (e, t) { + qa || (qa = Xa().$createComponent); + var n = qa(e, t); + return Uo(n.$) || n; + })( + { type: i, props: Ka(s, u) }, + { + mpType: u ? "page" : "component", + mpInstance: a, + slots: e.uS || {}, + parentComponent: o.parent && o.parent.$, + onBeforeSetup: function (e, n) { + !(function (e, t) { + Object.defineProperty(e, "refs", { + get: function () { + var e = {}; + return ( + (function (e, t, n) { + e.selectAllComponents(".r").forEach(function (e) { + var t = e.properties.uR; + n[t] = e.$vm || e; + }); + })(t, 0, e), + t.selectAllComponents(".r-i-f").forEach(function (t) { + var n = t.properties.uR; + n && (e[n] || (e[n] = []), e[n].push(t.$vm || t)); + }), + e + ); + }, + }); + })(e, a), + (function (e, t, n) { + var r = e.ctx; + n.forEach(function (n) { + E(t, n) && (e[n] = r[n] = t[n]); + }); + })(e, a, t), + (function (e, t) { + Ia(e, t); + var n = e.ctx; + Aa.forEach(function (e) { + n[e] = function () { + for ( + var t = n.$scope, + r = arguments.length, + i = new Array(r), + o = 0; + o < r; + o++ + ) + i[o] = arguments[o]; + if (t && t[e]) return t[e].apply(t, i); + }; + }); + })(e, n); + }, + } + )), + u || + (function (e) { + var t = e.$options; + C(t.behaviors) && + t.behaviors.includes("uni://form-field") && + e.$watch( + "modelValue", + function () { + e.$scope && + e.$scope.setData({ name: e.name, value: e.modelValue }); + }, + { immediate: !0 } + ); + })(this.$vm); + }, + ready: function () { + this.$vm && (this.$vm.$callHook("mounted"), this.$vm.$callHook(se)); + }, + detached: function () { + var e; + this.$vm && + (wa(this.$vm.$.uid), + (e = this.$vm), + za || (za = Xa().$destroyComponent), + za(e)); + }, + }; + }, + initRelation: function (e, t) { + e.triggerEvent("__l", t); + }, + isPage: function (e) { + return !!e.route; + }, + mocks: ["__route__", "__wxExparserNodeId__", "__wxWebviewId__"], + }), + iu = + ((nu = ru), + function (e) { + return Component( + (function (e, t) { + var n = t.parse, + r = t.mocks, + i = t.isPage, + o = t.initRelation, + a = t.handleLink, + u = Ya(e, { + mocks: r, + isPage: i, + initRelation: o, + handleLink: a, + initLifetimes: t.initLifetimes, + }); + !(function (e, t) { + var n = e.properties; + C(t) + ? t.forEach(function (e) { + n[e] = { type: String, value: "" }; + }) + : F(t) && + Object.keys(t).forEach(function (e) { + var r = t[e]; + if (F(r)) { + var i = r.default; + D(i) && (i = i()); + var o = r.type; + (r.type = Va(o)), (n[e] = { type: r.type, value: i }); + } else n[e] = { type: Va(r) }; + }); + })(u, (e.default || e).props); + var s = u.methods; + return ( + (s.onLoad = function (e) { + var t; + return ( + (this.options = e), + (this.$page = { + fullPath: + ((t = this.route + Te(e)), + (function (e) { + return 0 === e.indexOf("/"); + })(t) + ? t + : "/" + t), + }), + this.$vm && this.$vm.$callHook(ue, e) + ); + }), + La(s, Ta), + Da(s, e), + (function (e, t) { + t && + Object.keys(Le).forEach(function (n) { + t & Le[n] && Ca(e, n, []); + }); + })(s, e.__runtimeHooks), + La(s, Ba()), + n && n(u, { handleLink: a }), + u + ); + })(e, nu) + ); + }), + ou = (function (e) { + return function (t) { + return Component(Ya(t, e)); + }; + })(ru), + au = function (e) { + ja(Ua(e, void 0), e); + }, + uu = function (e) { + var t = Ua(e, void 0), + n = D(getApp) && getApp({ allowDefault: !0 }); + if (n) { + e.$.ctx.$scope = n; + var r = n.globalData; + r && + Object.keys(t.globalData).forEach(function (e) { + E(r, e) || (r[e] = t.globalData[e]); + }), + Object.keys(t).forEach(function (e) { + E(n, e) || (n[e] = t[e]); + }), + ja(t, e); + } + }; +(wx.createApp = global.createApp = + function (e) { + return App(Ua(e, void 0)); + }), + (wx.createPage = iu), + (wx.createComponent = ou), + (wx.createPluginApp = global.createPluginApp = au), + (wx.createSubpackageApp = global.createSubpackageApp = uu); +var su = + "undefined" != typeof globalThis + ? globalThis + : "undefined" != typeof window + ? window + : "undefined" != typeof global + ? global + : "undefined" != typeof self + ? self + : {}; +var cu, + fu = {}, + lu = { + get exports() { + return fu; + }, + set exports(e) { + fu = e; + }, + }, + hu = {}, + pu = { + get exports() { + return hu; + }, + set exports(e) { + hu = e; + }, + }, + du = (function (e) { + if (e.__esModule) return e; + var t = e.default; + if ("function" == typeof t) { + var n = function e() { + if (this instanceof e) { + var n = [null]; + return n.push.apply(n, arguments), new (Function.bind.apply(t, n))(); + } + return t.apply(this, arguments); + }; + n.prototype = t.prototype; + } else n = {}; + return ( + Object.defineProperty(n, "__esModule", { value: !0 }), + Object.keys(e).forEach(function (t) { + var r = Object.getOwnPropertyDescriptor(e, t); + Object.defineProperty( + n, + t, + r.get + ? r + : { + enumerable: !0, + get: function () { + return e[t]; + }, + } + ); + }), + n + ); + })( + Object.freeze( + Object.defineProperty( + { __proto__: null, default: {} }, + Symbol.toStringTag, + { value: "Module" } + ) + ) + ); +function vu() { + return ( + cu || + ((cu = 1), + (pu.exports = e = + e || + (function (e, t) { + var n; + if ( + ("undefined" != typeof window && + window.crypto && + (n = window.crypto), + "undefined" != typeof self && self.crypto && (n = self.crypto), + "undefined" != typeof globalThis && + globalThis.crypto && + (n = globalThis.crypto), + !n && + "undefined" != typeof window && + window.msCrypto && + (n = window.msCrypto), + !n && void 0 !== su && su.crypto && (n = su.crypto), + !n) + ) + try { + n = du; + } catch (e) {} + var r = function () { + if (n) { + if ("function" == typeof n.getRandomValues) + try { + return n.getRandomValues(new Uint32Array(1))[0]; + } catch (e) {} + if ("function" == typeof n.randomBytes) + try { + return n.randomBytes(4).readInt32LE(); + } catch (e) {} + } + throw new Error( + "Native crypto module could not be used to get secure random number." + ); + }, + i = + Object.create || + (function () { + function e() {} + return function (t) { + var n; + return ( + (e.prototype = t), (n = new e()), (e.prototype = null), n + ); + }; + })(), + o = {}, + a = (o.lib = {}), + u = (a.Base = { + extend: function (e) { + var t = i(this); + return ( + e && t.mixIn(e), + (t.hasOwnProperty("init") && this.init !== t.init) || + (t.init = function () { + t.$super.init.apply(this, arguments); + }), + (t.init.prototype = t), + (t.$super = this), + t + ); + }, + create: function () { + var e = this.extend(); + return e.init.apply(e, arguments), e; + }, + init: function () {}, + mixIn: function (e) { + for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]); + e.hasOwnProperty("toString") && (this.toString = e.toString); + }, + clone: function () { + return this.init.prototype.extend(this); + }, + }), + s = (a.WordArray = u.extend({ + init: function (e, t) { + (e = this.words = e || []), + (this.sigBytes = null != t ? t : 4 * e.length); + }, + toString: function (e) { + return (e || f).stringify(this); + }, + concat: function (e) { + var t = this.words, + n = e.words, + r = this.sigBytes, + i = e.sigBytes; + if ((this.clamp(), r % 4)) + for (var o = 0; o < i; o++) { + var a = (n[o >>> 2] >>> (24 - (o % 4) * 8)) & 255; + t[(r + o) >>> 2] |= a << (24 - ((r + o) % 4) * 8); + } + else + for (var u = 0; u < i; u += 4) t[(r + u) >>> 2] = n[u >>> 2]; + return (this.sigBytes += i), this; + }, + clamp: function () { + var t = this.words, + n = this.sigBytes; + (t[n >>> 2] &= 4294967295 << (32 - (n % 4) * 8)), + (t.length = e.ceil(n / 4)); + }, + clone: function () { + var e = u.clone.call(this); + return (e.words = this.words.slice(0)), e; + }, + random: function (e) { + for (var t = [], n = 0; n < e; n += 4) t.push(r()); + return new s.init(t, e); + }, + })), + c = (o.enc = {}), + f = (c.Hex = { + stringify: function (e) { + for ( + var t = e.words, n = e.sigBytes, r = [], i = 0; + i < n; + i++ + ) { + var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255; + r.push((o >>> 4).toString(16)), r.push((15 & o).toString(16)); + } + return r.join(""); + }, + parse: function (e) { + for (var t = e.length, n = [], r = 0; r < t; r += 2) + n[r >>> 3] |= + parseInt(e.substr(r, 2), 16) << (24 - (r % 8) * 4); + return new s.init(n, t / 2); + }, + }), + l = (c.Latin1 = { + stringify: function (e) { + for ( + var t = e.words, n = e.sigBytes, r = [], i = 0; + i < n; + i++ + ) { + var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255; + r.push(String.fromCharCode(o)); + } + return r.join(""); + }, + parse: function (e) { + for (var t = e.length, n = [], r = 0; r < t; r++) + n[r >>> 2] |= (255 & e.charCodeAt(r)) << (24 - (r % 4) * 8); + return new s.init(n, t); + }, + }), + h = (c.Utf8 = { + stringify: function (e) { + try { + return decodeURIComponent(escape(l.stringify(e))); + } catch (e) { + throw new Error("Malformed UTF-8 data"); + } + }, + parse: function (e) { + return l.parse(unescape(encodeURIComponent(e))); + }, + }), + p = (a.BufferedBlockAlgorithm = u.extend({ + reset: function () { + (this._data = new s.init()), (this._nDataBytes = 0); + }, + _append: function (e) { + "string" == typeof e && (e = h.parse(e)), + this._data.concat(e), + (this._nDataBytes += e.sigBytes); + }, + _process: function (t) { + var n, + r = this._data, + i = r.words, + o = r.sigBytes, + a = this.blockSize, + u = o / (4 * a), + c = + (u = t + ? e.ceil(u) + : e.max((0 | u) - this._minBufferSize, 0)) * a, + f = e.min(4 * c, o); + if (c) { + for (var l = 0; l < c; l += a) this._doProcessBlock(i, l); + (n = i.splice(0, c)), (r.sigBytes -= f); + } + return new s.init(n, f); + }, + clone: function () { + var e = u.clone.call(this); + return (e._data = this._data.clone()), e; + }, + _minBufferSize: 0, + })); + a.Hasher = p.extend({ + cfg: u.extend(), + init: function (e) { + (this.cfg = this.cfg.extend(e)), this.reset(); + }, + reset: function () { + p.reset.call(this), this._doReset(); + }, + update: function (e) { + return this._append(e), this._process(), this; + }, + finalize: function (e) { + return e && this._append(e), this._doFinalize(); + }, + blockSize: 16, + _createHelper: function (e) { + return function (t, n) { + return new e.init(n).finalize(t); + }; + }, + _createHmacHelper: function (e) { + return function (t, n) { + return new d.HMAC.init(e, n).finalize(t); + }; + }, + }); + var d = (o.algo = {}); + return o; + })(Math))), + hu + ); + var e; +} +var gu, + yu = {}, + _u = { + get exports() { + return yu; + }, + set exports(e) { + yu = e; + }, + }; +function mu() { + return ( + gu || + ((gu = 1), + (_u.exports = + ((t = (e = o = vu()).lib), + (n = t.Base), + (r = t.WordArray), + ((i = e.x64 = {}).Word = n.extend({ + init: function (e, t) { + (this.high = e), (this.low = t); + }, + })), + (i.WordArray = n.extend({ + init: function (e, t) { + (e = this.words = e || []), + (this.sigBytes = null != t ? t : 8 * e.length); + }, + toX32: function () { + for (var e = this.words, t = e.length, n = [], i = 0; i < t; i++) { + var o = e[i]; + n.push(o.high), n.push(o.low); + } + return r.create(n, this.sigBytes); + }, + clone: function () { + for ( + var e = n.clone.call(this), + t = (e.words = this.words.slice(0)), + r = t.length, + i = 0; + i < r; + i++ + ) + t[i] = t[i].clone(); + return e; + }, + })), + o))), + yu + ); + var e, t, n, r, i, o; +} +var wu, + ku = {}, + bu = { + get exports() { + return ku; + }, + set exports(e) { + ku = e; + }, + }; +var xu, + Su = {}, + Au = { + get exports() { + return Su; + }, + set exports(e) { + Su = e; + }, + }; +var Iu, + Ou = {}, + Pu = { + get exports() { + return Ou; + }, + set exports(e) { + Ou = e; + }, + }; +function Tu() { + return ( + Iu || + ((Iu = 1), + (Pu.exports = + ((e = vu()), + (function () { + var t = e, + n = t.lib.WordArray; + function r(e, t, r) { + for (var i = [], o = 0, a = 0; a < t; a++) + if (a % 4) { + var u = + (r[e.charCodeAt(a - 1)] << ((a % 4) * 2)) | + (r[e.charCodeAt(a)] >>> (6 - (a % 4) * 2)); + (i[o >>> 2] |= u << (24 - (o % 4) * 8)), o++; + } + return n.create(i, o); + } + t.enc.Base64 = { + stringify: function (e) { + var t = e.words, + n = e.sigBytes, + r = this._map; + e.clamp(); + for (var i = [], o = 0; o < n; o += 3) + for ( + var a = + (((t[o >>> 2] >>> (24 - (o % 4) * 8)) & 255) << 16) | + (((t[(o + 1) >>> 2] >>> (24 - ((o + 1) % 4) * 8)) & + 255) << + 8) | + ((t[(o + 2) >>> 2] >>> (24 - ((o + 2) % 4) * 8)) & 255), + u = 0; + u < 4 && o + 0.75 * u < n; + u++ + ) + i.push(r.charAt((a >>> (6 * (3 - u))) & 63)); + var s = r.charAt(64); + if (s) for (; i.length % 4; ) i.push(s); + return i.join(""); + }, + parse: function (e) { + var t = e.length, + n = this._map, + i = this._reverseMap; + if (!i) { + i = this._reverseMap = []; + for (var o = 0; o < n.length; o++) i[n.charCodeAt(o)] = o; + } + var a = n.charAt(64); + if (a) { + var u = e.indexOf(a); + -1 !== u && (t = u); + } + return r(e, t, i); + }, + _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + }; + })(), + e.enc.Base64))), + Ou + ); + var e; +} +var Eu, + Cu = {}, + Ru = { + get exports() { + return Cu; + }, + set exports(e) { + Cu = e; + }, + }; +var Lu, + Du = {}, + Bu = { + get exports() { + return Du; + }, + set exports(e) { + Du = e; + }, + }; +function Nu() { + return ( + Lu || + ((Lu = 1), + (Bu.exports = + ((e = vu()), + (function (t) { + var n = e, + r = n.lib, + i = r.WordArray, + o = r.Hasher, + a = n.algo, + u = []; + !(function () { + for (var e = 0; e < 64; e++) + u[e] = (4294967296 * t.abs(t.sin(e + 1))) | 0; + })(); + var s = (a.MD5 = o.extend({ + _doReset: function () { + this._hash = new i.init([ + 1732584193, 4023233417, 2562383102, 271733878, + ]); + }, + _doProcessBlock: function (e, t) { + for (var n = 0; n < 16; n++) { + var r = t + n, + i = e[r]; + e[r] = + (16711935 & ((i << 8) | (i >>> 24))) | + (4278255360 & ((i << 24) | (i >>> 8))); + } + var o = this._hash.words, + a = e[t + 0], + s = e[t + 1], + p = e[t + 2], + d = e[t + 3], + v = e[t + 4], + g = e[t + 5], + y = e[t + 6], + _ = e[t + 7], + m = e[t + 8], + w = e[t + 9], + k = e[t + 10], + b = e[t + 11], + x = e[t + 12], + S = e[t + 13], + A = e[t + 14], + I = e[t + 15], + O = o[0], + P = o[1], + T = o[2], + E = o[3]; + (O = c(O, P, T, E, a, 7, u[0])), + (E = c(E, O, P, T, s, 12, u[1])), + (T = c(T, E, O, P, p, 17, u[2])), + (P = c(P, T, E, O, d, 22, u[3])), + (O = c(O, P, T, E, v, 7, u[4])), + (E = c(E, O, P, T, g, 12, u[5])), + (T = c(T, E, O, P, y, 17, u[6])), + (P = c(P, T, E, O, _, 22, u[7])), + (O = c(O, P, T, E, m, 7, u[8])), + (E = c(E, O, P, T, w, 12, u[9])), + (T = c(T, E, O, P, k, 17, u[10])), + (P = c(P, T, E, O, b, 22, u[11])), + (O = c(O, P, T, E, x, 7, u[12])), + (E = c(E, O, P, T, S, 12, u[13])), + (T = c(T, E, O, P, A, 17, u[14])), + (O = f( + O, + (P = c(P, T, E, O, I, 22, u[15])), + T, + E, + s, + 5, + u[16] + )), + (E = f(E, O, P, T, y, 9, u[17])), + (T = f(T, E, O, P, b, 14, u[18])), + (P = f(P, T, E, O, a, 20, u[19])), + (O = f(O, P, T, E, g, 5, u[20])), + (E = f(E, O, P, T, k, 9, u[21])), + (T = f(T, E, O, P, I, 14, u[22])), + (P = f(P, T, E, O, v, 20, u[23])), + (O = f(O, P, T, E, w, 5, u[24])), + (E = f(E, O, P, T, A, 9, u[25])), + (T = f(T, E, O, P, d, 14, u[26])), + (P = f(P, T, E, O, m, 20, u[27])), + (O = f(O, P, T, E, S, 5, u[28])), + (E = f(E, O, P, T, p, 9, u[29])), + (T = f(T, E, O, P, _, 14, u[30])), + (O = l( + O, + (P = f(P, T, E, O, x, 20, u[31])), + T, + E, + g, + 4, + u[32] + )), + (E = l(E, O, P, T, m, 11, u[33])), + (T = l(T, E, O, P, b, 16, u[34])), + (P = l(P, T, E, O, A, 23, u[35])), + (O = l(O, P, T, E, s, 4, u[36])), + (E = l(E, O, P, T, v, 11, u[37])), + (T = l(T, E, O, P, _, 16, u[38])), + (P = l(P, T, E, O, k, 23, u[39])), + (O = l(O, P, T, E, S, 4, u[40])), + (E = l(E, O, P, T, a, 11, u[41])), + (T = l(T, E, O, P, d, 16, u[42])), + (P = l(P, T, E, O, y, 23, u[43])), + (O = l(O, P, T, E, w, 4, u[44])), + (E = l(E, O, P, T, x, 11, u[45])), + (T = l(T, E, O, P, I, 16, u[46])), + (O = h( + O, + (P = l(P, T, E, O, p, 23, u[47])), + T, + E, + a, + 6, + u[48] + )), + (E = h(E, O, P, T, _, 10, u[49])), + (T = h(T, E, O, P, A, 15, u[50])), + (P = h(P, T, E, O, g, 21, u[51])), + (O = h(O, P, T, E, x, 6, u[52])), + (E = h(E, O, P, T, d, 10, u[53])), + (T = h(T, E, O, P, k, 15, u[54])), + (P = h(P, T, E, O, s, 21, u[55])), + (O = h(O, P, T, E, m, 6, u[56])), + (E = h(E, O, P, T, I, 10, u[57])), + (T = h(T, E, O, P, y, 15, u[58])), + (P = h(P, T, E, O, S, 21, u[59])), + (O = h(O, P, T, E, v, 6, u[60])), + (E = h(E, O, P, T, b, 10, u[61])), + (T = h(T, E, O, P, p, 15, u[62])), + (P = h(P, T, E, O, w, 21, u[63])), + (o[0] = (o[0] + O) | 0), + (o[1] = (o[1] + P) | 0), + (o[2] = (o[2] + T) | 0), + (o[3] = (o[3] + E) | 0); + }, + _doFinalize: function () { + var e = this._data, + n = e.words, + r = 8 * this._nDataBytes, + i = 8 * e.sigBytes; + n[i >>> 5] |= 128 << (24 - (i % 32)); + var o = t.floor(r / 4294967296), + a = r; + (n[15 + (((i + 64) >>> 9) << 4)] = + (16711935 & ((o << 8) | (o >>> 24))) | + (4278255360 & ((o << 24) | (o >>> 8)))), + (n[14 + (((i + 64) >>> 9) << 4)] = + (16711935 & ((a << 8) | (a >>> 24))) | + (4278255360 & ((a << 24) | (a >>> 8)))), + (e.sigBytes = 4 * (n.length + 1)), + this._process(); + for (var u = this._hash, s = u.words, c = 0; c < 4; c++) { + var f = s[c]; + s[c] = + (16711935 & ((f << 8) | (f >>> 24))) | + (4278255360 & ((f << 24) | (f >>> 8))); + } + return u; + }, + clone: function () { + var e = o.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + })); + function c(e, t, n, r, i, o, a) { + var u = e + ((t & n) | (~t & r)) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + function f(e, t, n, r, i, o, a) { + var u = e + ((t & r) | (n & ~r)) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + function l(e, t, n, r, i, o, a) { + var u = e + (t ^ n ^ r) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + function h(e, t, n, r, i, o, a) { + var u = e + (n ^ (t | ~r)) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + (n.MD5 = o._createHelper(s)), (n.HmacMD5 = o._createHmacHelper(s)); + })(Math), + e.MD5))), + Du + ); + var e; +} +var Uu, + ju = {}, + Mu = { + get exports() { + return ju; + }, + set exports(e) { + ju = e; + }, + }; +function $u() { + return ( + Uu || + ((Uu = 1), + (Mu.exports = + ((t = (e = u = vu()).lib), + (n = t.WordArray), + (r = t.Hasher), + (i = e.algo), + (o = []), + (a = i.SHA1 = + r.extend({ + _doReset: function () { + this._hash = new n.init([ + 1732584193, 4023233417, 2562383102, 271733878, 3285377520, + ]); + }, + _doProcessBlock: function (e, t) { + for ( + var n = this._hash.words, + r = n[0], + i = n[1], + a = n[2], + u = n[3], + s = n[4], + c = 0; + c < 80; + c++ + ) { + if (c < 16) o[c] = 0 | e[t + c]; + else { + var f = o[c - 3] ^ o[c - 8] ^ o[c - 14] ^ o[c - 16]; + o[c] = (f << 1) | (f >>> 31); + } + var l = ((r << 5) | (r >>> 27)) + s + o[c]; + (l += + c < 20 + ? 1518500249 + ((i & a) | (~i & u)) + : c < 40 + ? 1859775393 + (i ^ a ^ u) + : c < 60 + ? ((i & a) | (i & u) | (a & u)) - 1894007588 + : (i ^ a ^ u) - 899497514), + (s = u), + (u = a), + (a = (i << 30) | (i >>> 2)), + (i = r), + (r = l); + } + (n[0] = (n[0] + r) | 0), + (n[1] = (n[1] + i) | 0), + (n[2] = (n[2] + a) | 0), + (n[3] = (n[3] + u) | 0), + (n[4] = (n[4] + s) | 0); + }, + _doFinalize: function () { + var e = this._data, + t = e.words, + n = 8 * this._nDataBytes, + r = 8 * e.sigBytes; + return ( + (t[r >>> 5] |= 128 << (24 - (r % 32))), + (t[14 + (((r + 64) >>> 9) << 4)] = Math.floor(n / 4294967296)), + (t[15 + (((r + 64) >>> 9) << 4)] = n), + (e.sigBytes = 4 * t.length), + this._process(), + this._hash + ); + }, + clone: function () { + var e = r.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + })), + (e.SHA1 = r._createHelper(a)), + (e.HmacSHA1 = r._createHmacHelper(a)), + u.SHA1))), + ju + ); + var e, t, n, r, i, o, a, u; +} +var Fu, + Hu = {}, + qu = { + get exports() { + return Hu; + }, + set exports(e) { + Hu = e; + }, + }; +function zu() { + return ( + Fu || + ((Fu = 1), + (qu.exports = + ((e = vu()), + (function (t) { + var n = e, + r = n.lib, + i = r.WordArray, + o = r.Hasher, + a = n.algo, + u = [], + s = []; + !(function () { + function e(e) { + for (var n = t.sqrt(e), r = 2; r <= n; r++) + if (!(e % r)) return !1; + return !0; + } + function n(e) { + return (4294967296 * (e - (0 | e))) | 0; + } + for (var r = 2, i = 0; i < 64; ) + e(r) && + (i < 8 && (u[i] = n(t.pow(r, 0.5))), + (s[i] = n(t.pow(r, 1 / 3))), + i++), + r++; + })(); + var c = [], + f = (a.SHA256 = o.extend({ + _doReset: function () { + this._hash = new i.init(u.slice(0)); + }, + _doProcessBlock: function (e, t) { + for ( + var n = this._hash.words, + r = n[0], + i = n[1], + o = n[2], + a = n[3], + u = n[4], + f = n[5], + l = n[6], + h = n[7], + p = 0; + p < 64; + p++ + ) { + if (p < 16) c[p] = 0 | e[t + p]; + else { + var d = c[p - 15], + v = + ((d << 25) | (d >>> 7)) ^ + ((d << 14) | (d >>> 18)) ^ + (d >>> 3), + g = c[p - 2], + y = + ((g << 15) | (g >>> 17)) ^ + ((g << 13) | (g >>> 19)) ^ + (g >>> 10); + c[p] = v + c[p - 7] + y + c[p - 16]; + } + var _ = (r & i) ^ (r & o) ^ (i & o), + m = + ((r << 30) | (r >>> 2)) ^ + ((r << 19) | (r >>> 13)) ^ + ((r << 10) | (r >>> 22)), + w = + h + + (((u << 26) | (u >>> 6)) ^ + ((u << 21) | (u >>> 11)) ^ + ((u << 7) | (u >>> 25))) + + ((u & f) ^ (~u & l)) + + s[p] + + c[p]; + (h = l), + (l = f), + (f = u), + (u = (a + w) | 0), + (a = o), + (o = i), + (i = r), + (r = (w + (m + _)) | 0); + } + (n[0] = (n[0] + r) | 0), + (n[1] = (n[1] + i) | 0), + (n[2] = (n[2] + o) | 0), + (n[3] = (n[3] + a) | 0), + (n[4] = (n[4] + u) | 0), + (n[5] = (n[5] + f) | 0), + (n[6] = (n[6] + l) | 0), + (n[7] = (n[7] + h) | 0); + }, + _doFinalize: function () { + var e = this._data, + n = e.words, + r = 8 * this._nDataBytes, + i = 8 * e.sigBytes; + return ( + (n[i >>> 5] |= 128 << (24 - (i % 32))), + (n[14 + (((i + 64) >>> 9) << 4)] = t.floor(r / 4294967296)), + (n[15 + (((i + 64) >>> 9) << 4)] = r), + (e.sigBytes = 4 * n.length), + this._process(), + this._hash + ); + }, + clone: function () { + var e = o.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + })); + (n.SHA256 = o._createHelper(f)), + (n.HmacSHA256 = o._createHmacHelper(f)); + })(Math), + e.SHA256))), + Hu + ); + var e; +} +var Wu, + Vu, + Ku = {}, + Ju = { + get exports() { + return Ku; + }, + set exports(e) { + Ku = e; + }, + }, + Gu = {}, + Yu = { + get exports() { + return Gu; + }, + set exports(e) { + Gu = e; + }, + }; +function Xu() { + return ( + Vu || + ((Vu = 1), + (Yu.exports = + ((e = vu()), + mu(), + (function () { + var t = e, + n = t.lib.Hasher, + r = t.x64, + i = r.Word, + o = r.WordArray, + a = t.algo; + function u() { + return i.create.apply(i, arguments); + } + var s = [ + u(1116352408, 3609767458), + u(1899447441, 602891725), + u(3049323471, 3964484399), + u(3921009573, 2173295548), + u(961987163, 4081628472), + u(1508970993, 3053834265), + u(2453635748, 2937671579), + u(2870763221, 3664609560), + u(3624381080, 2734883394), + u(310598401, 1164996542), + u(607225278, 1323610764), + u(1426881987, 3590304994), + u(1925078388, 4068182383), + u(2162078206, 991336113), + u(2614888103, 633803317), + u(3248222580, 3479774868), + u(3835390401, 2666613458), + u(4022224774, 944711139), + u(264347078, 2341262773), + u(604807628, 2007800933), + u(770255983, 1495990901), + u(1249150122, 1856431235), + u(1555081692, 3175218132), + u(1996064986, 2198950837), + u(2554220882, 3999719339), + u(2821834349, 766784016), + u(2952996808, 2566594879), + u(3210313671, 3203337956), + u(3336571891, 1034457026), + u(3584528711, 2466948901), + u(113926993, 3758326383), + u(338241895, 168717936), + u(666307205, 1188179964), + u(773529912, 1546045734), + u(1294757372, 1522805485), + u(1396182291, 2643833823), + u(1695183700, 2343527390), + u(1986661051, 1014477480), + u(2177026350, 1206759142), + u(2456956037, 344077627), + u(2730485921, 1290863460), + u(2820302411, 3158454273), + u(3259730800, 3505952657), + u(3345764771, 106217008), + u(3516065817, 3606008344), + u(3600352804, 1432725776), + u(4094571909, 1467031594), + u(275423344, 851169720), + u(430227734, 3100823752), + u(506948616, 1363258195), + u(659060556, 3750685593), + u(883997877, 3785050280), + u(958139571, 3318307427), + u(1322822218, 3812723403), + u(1537002063, 2003034995), + u(1747873779, 3602036899), + u(1955562222, 1575990012), + u(2024104815, 1125592928), + u(2227730452, 2716904306), + u(2361852424, 442776044), + u(2428436474, 593698344), + u(2756734187, 3733110249), + u(3204031479, 2999351573), + u(3329325298, 3815920427), + u(3391569614, 3928383900), + u(3515267271, 566280711), + u(3940187606, 3454069534), + u(4118630271, 4000239992), + u(116418474, 1914138554), + u(174292421, 2731055270), + u(289380356, 3203993006), + u(460393269, 320620315), + u(685471733, 587496836), + u(852142971, 1086792851), + u(1017036298, 365543100), + u(1126000580, 2618297676), + u(1288033470, 3409855158), + u(1501505948, 4234509866), + u(1607167915, 987167468), + u(1816402316, 1246189591), + ], + c = []; + !(function () { + for (var e = 0; e < 80; e++) c[e] = u(); + })(); + var f = (a.SHA512 = n.extend({ + _doReset: function () { + this._hash = new o.init([ + new i.init(1779033703, 4089235720), + new i.init(3144134277, 2227873595), + new i.init(1013904242, 4271175723), + new i.init(2773480762, 1595750129), + new i.init(1359893119, 2917565137), + new i.init(2600822924, 725511199), + new i.init(528734635, 4215389547), + new i.init(1541459225, 327033209), + ]); + }, + _doProcessBlock: function (e, t) { + for ( + var n = this._hash.words, + r = n[0], + i = n[1], + o = n[2], + a = n[3], + u = n[4], + f = n[5], + l = n[6], + h = n[7], + p = r.high, + d = r.low, + v = i.high, + g = i.low, + y = o.high, + _ = o.low, + m = a.high, + w = a.low, + k = u.high, + b = u.low, + x = f.high, + S = f.low, + A = l.high, + I = l.low, + O = h.high, + P = h.low, + T = p, + E = d, + C = v, + R = g, + L = y, + D = _, + B = m, + N = w, + U = k, + j = b, + M = x, + $ = S, + F = A, + H = I, + q = O, + z = P, + W = 0; + W < 80; + W++ + ) { + var V, + K, + J = c[W]; + if (W < 16) + (K = J.high = 0 | e[t + 2 * W]), + (V = J.low = 0 | e[t + 2 * W + 1]); + else { + var G = c[W - 15], + Y = G.high, + X = G.low, + Q = + ((Y >>> 1) | (X << 31)) ^ + ((Y >>> 8) | (X << 24)) ^ + (Y >>> 7), + Z = + ((X >>> 1) | (Y << 31)) ^ + ((X >>> 8) | (Y << 24)) ^ + ((X >>> 7) | (Y << 25)), + ee = c[W - 2], + te = ee.high, + ne = ee.low, + re = + ((te >>> 19) | (ne << 13)) ^ + ((te << 3) | (ne >>> 29)) ^ + (te >>> 6), + ie = + ((ne >>> 19) | (te << 13)) ^ + ((ne << 3) | (te >>> 29)) ^ + ((ne >>> 6) | (te << 26)), + oe = c[W - 7], + ae = oe.high, + ue = oe.low, + se = c[W - 16], + ce = se.high, + fe = se.low; + (K = + (K = + (K = Q + ae + ((V = Z + ue) >>> 0 < Z >>> 0 ? 1 : 0)) + + re + + ((V += ie) >>> 0 < ie >>> 0 ? 1 : 0)) + + ce + + ((V += fe) >>> 0 < fe >>> 0 ? 1 : 0)), + (J.high = K), + (J.low = V); + } + var le, + he = (U & M) ^ (~U & F), + pe = (j & $) ^ (~j & H), + de = (T & C) ^ (T & L) ^ (C & L), + ve = (E & R) ^ (E & D) ^ (R & D), + ge = + ((T >>> 28) | (E << 4)) ^ + ((T << 30) | (E >>> 2)) ^ + ((T << 25) | (E >>> 7)), + ye = + ((E >>> 28) | (T << 4)) ^ + ((E << 30) | (T >>> 2)) ^ + ((E << 25) | (T >>> 7)), + _e = + ((U >>> 14) | (j << 18)) ^ + ((U >>> 18) | (j << 14)) ^ + ((U << 23) | (j >>> 9)), + me = + ((j >>> 14) | (U << 18)) ^ + ((j >>> 18) | (U << 14)) ^ + ((j << 23) | (U >>> 9)), + we = s[W], + ke = we.high, + be = we.low, + xe = q + _e + ((le = z + me) >>> 0 < z >>> 0 ? 1 : 0), + Se = ye + ve; + (q = F), + (z = H), + (F = M), + (H = $), + (M = U), + ($ = j), + (U = + (B + + (xe = + (xe = + (xe = + xe + he + ((le += pe) >>> 0 < pe >>> 0 ? 1 : 0)) + + ke + + ((le += be) >>> 0 < be >>> 0 ? 1 : 0)) + + K + + ((le += V) >>> 0 < V >>> 0 ? 1 : 0)) + + ((j = (N + le) | 0) >>> 0 < N >>> 0 ? 1 : 0)) | + 0), + (B = L), + (N = D), + (L = C), + (D = R), + (C = T), + (R = E), + (T = + (xe + + (ge + de + (Se >>> 0 < ye >>> 0 ? 1 : 0)) + + ((E = (le + Se) | 0) >>> 0 < le >>> 0 ? 1 : 0)) | + 0); + } + (d = r.low = d + E), + (r.high = p + T + (d >>> 0 < E >>> 0 ? 1 : 0)), + (g = i.low = g + R), + (i.high = v + C + (g >>> 0 < R >>> 0 ? 1 : 0)), + (_ = o.low = _ + D), + (o.high = y + L + (_ >>> 0 < D >>> 0 ? 1 : 0)), + (w = a.low = w + N), + (a.high = m + B + (w >>> 0 < N >>> 0 ? 1 : 0)), + (b = u.low = b + j), + (u.high = k + U + (b >>> 0 < j >>> 0 ? 1 : 0)), + (S = f.low = S + $), + (f.high = x + M + (S >>> 0 < $ >>> 0 ? 1 : 0)), + (I = l.low = I + H), + (l.high = A + F + (I >>> 0 < H >>> 0 ? 1 : 0)), + (P = h.low = P + z), + (h.high = O + q + (P >>> 0 < z >>> 0 ? 1 : 0)); + }, + _doFinalize: function () { + var e = this._data, + t = e.words, + n = 8 * this._nDataBytes, + r = 8 * e.sigBytes; + return ( + (t[r >>> 5] |= 128 << (24 - (r % 32))), + (t[30 + (((r + 128) >>> 10) << 5)] = Math.floor( + n / 4294967296 + )), + (t[31 + (((r + 128) >>> 10) << 5)] = n), + (e.sigBytes = 4 * t.length), + this._process(), + this._hash.toX32() + ); + }, + clone: function () { + var e = n.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + blockSize: 32, + })); + (t.SHA512 = n._createHelper(f)), + (t.HmacSHA512 = n._createHmacHelper(f)); + })(), + e.SHA512))), + Gu + ); + var e; +} +var Qu, + Zu, + es = {}, + ts = { + get exports() { + return es; + }, + set exports(e) { + es = e; + }, + }, + ns = {}, + rs = { + get exports() { + return ns; + }, + set exports(e) { + ns = e; + }, + }; +var is, + os, + as = {}, + us = { + get exports() { + return as; + }, + set exports(e) { + as = e; + }, + }, + ss = {}, + cs = { + get exports() { + return ss; + }, + set exports(e) { + ss = e; + }, + }; +function fs() { + return ( + os || + ((os = 1), + (cs.exports = + ((t = (e = vu()).lib.Base), + (n = e.enc.Utf8), + void (e.algo.HMAC = t.extend({ + init: function (e, t) { + (e = this._hasher = new e.init()), + "string" == typeof t && (t = n.parse(t)); + var r = e.blockSize, + i = 4 * r; + t.sigBytes > i && (t = e.finalize(t)), t.clamp(); + for ( + var o = (this._oKey = t.clone()), + a = (this._iKey = t.clone()), + u = o.words, + s = a.words, + c = 0; + c < r; + c++ + ) + (u[c] ^= 1549556828), (s[c] ^= 909522486); + (o.sigBytes = a.sigBytes = i), this.reset(); + }, + reset: function () { + var e = this._hasher; + e.reset(), e.update(this._iKey); + }, + update: function (e) { + return this._hasher.update(e), this; + }, + finalize: function (e) { + var t = this._hasher, + n = t.finalize(e); + return t.reset(), t.finalize(this._oKey.clone().concat(n)); + }, + }))))), + ss + ); + var e, t, n; +} +var ls, + hs, + ps = {}, + ds = { + get exports() { + return ps; + }, + set exports(e) { + ps = e; + }, + }, + vs = {}, + gs = { + get exports() { + return vs; + }, + set exports(e) { + vs = e; + }, + }; +function ys() { + return ( + hs || + ((hs = 1), + (gs.exports = + ((u = vu()), + $u(), + fs(), + (n = (t = (e = u).lib).Base), + (r = t.WordArray), + (o = (i = e.algo).MD5), + (a = i.EvpKDF = + n.extend({ + cfg: n.extend({ keySize: 4, hasher: o, iterations: 1 }), + init: function (e) { + this.cfg = this.cfg.extend(e); + }, + compute: function (e, t) { + for ( + var n, + i = this.cfg, + o = i.hasher.create(), + a = r.create(), + u = a.words, + s = i.keySize, + c = i.iterations; + u.length < s; + + ) { + n && o.update(n), (n = o.update(e).finalize(t)), o.reset(); + for (var f = 1; f < c; f++) (n = o.finalize(n)), o.reset(); + a.concat(n); + } + return (a.sigBytes = 4 * s), a; + }, + })), + (e.EvpKDF = function (e, t, n) { + return a.create(n).compute(e, t); + }), + u.EvpKDF))), + vs + ); + var e, t, n, r, i, o, a, u; +} +var _s, + ms = {}, + ws = { + get exports() { + return ms; + }, + set exports(e) { + ms = e; + }, + }; +function ks() { + return ( + _s || + ((_s = 1), + (ws.exports = + ((e = vu()), + ys(), + void ( + e.lib.Cipher || + (function (t) { + var n = e, + r = n.lib, + i = r.Base, + o = r.WordArray, + a = r.BufferedBlockAlgorithm, + u = n.enc; + u.Utf8; + var s = u.Base64, + c = n.algo.EvpKDF, + f = (r.Cipher = a.extend({ + cfg: i.extend(), + createEncryptor: function (e, t) { + return this.create(this._ENC_XFORM_MODE, e, t); + }, + createDecryptor: function (e, t) { + return this.create(this._DEC_XFORM_MODE, e, t); + }, + init: function (e, t, n) { + (this.cfg = this.cfg.extend(n)), + (this._xformMode = e), + (this._key = t), + this.reset(); + }, + reset: function () { + a.reset.call(this), this._doReset(); + }, + process: function (e) { + return this._append(e), this._process(); + }, + finalize: function (e) { + return e && this._append(e), this._doFinalize(); + }, + keySize: 4, + ivSize: 4, + _ENC_XFORM_MODE: 1, + _DEC_XFORM_MODE: 2, + _createHelper: (function () { + function e(e) { + return "string" == typeof e ? m : y; + } + return function (t) { + return { + encrypt: function (n, r, i) { + return e(r).encrypt(t, n, r, i); + }, + decrypt: function (n, r, i) { + return e(r).decrypt(t, n, r, i); + }, + }; + }; + })(), + })); + r.StreamCipher = f.extend({ + _doFinalize: function () { + return this._process(!0); + }, + blockSize: 1, + }); + var l = (n.mode = {}), + h = (r.BlockCipherMode = i.extend({ + createEncryptor: function (e, t) { + return this.Encryptor.create(e, t); + }, + createDecryptor: function (e, t) { + return this.Decryptor.create(e, t); + }, + init: function (e, t) { + (this._cipher = e), (this._iv = t); + }, + })), + p = (l.CBC = (function () { + var e = h.extend(); + function t(e, t, n) { + var r, + i = this._iv; + i ? ((r = i), (this._iv = void 0)) : (r = this._prevBlock); + for (var o = 0; o < n; o++) e[t + o] ^= r[o]; + } + return ( + (e.Encryptor = e.extend({ + processBlock: function (e, n) { + var r = this._cipher, + i = r.blockSize; + t.call(this, e, n, i), + r.encryptBlock(e, n), + (this._prevBlock = e.slice(n, n + i)); + }, + })), + (e.Decryptor = e.extend({ + processBlock: function (e, n) { + var r = this._cipher, + i = r.blockSize, + o = e.slice(n, n + i); + r.decryptBlock(e, n), + t.call(this, e, n, i), + (this._prevBlock = o); + }, + })), + e + ); + })()), + d = ((n.pad = {}).Pkcs7 = { + pad: function (e, t) { + for ( + var n = 4 * t, + r = n - (e.sigBytes % n), + i = (r << 24) | (r << 16) | (r << 8) | r, + a = [], + u = 0; + u < r; + u += 4 + ) + a.push(i); + var s = o.create(a, r); + e.concat(s); + }, + unpad: function (e) { + var t = 255 & e.words[(e.sigBytes - 1) >>> 2]; + e.sigBytes -= t; + }, + }); + r.BlockCipher = f.extend({ + cfg: f.cfg.extend({ mode: p, padding: d }), + reset: function () { + var e; + f.reset.call(this); + var t = this.cfg, + n = t.iv, + r = t.mode; + this._xformMode == this._ENC_XFORM_MODE + ? (e = r.createEncryptor) + : ((e = r.createDecryptor), (this._minBufferSize = 1)), + this._mode && this._mode.__creator == e + ? this._mode.init(this, n && n.words) + : ((this._mode = e.call(r, this, n && n.words)), + (this._mode.__creator = e)); + }, + _doProcessBlock: function (e, t) { + this._mode.processBlock(e, t); + }, + _doFinalize: function () { + var e, + t = this.cfg.padding; + return ( + this._xformMode == this._ENC_XFORM_MODE + ? (t.pad(this._data, this.blockSize), + (e = this._process(!0))) + : ((e = this._process(!0)), t.unpad(e)), + e + ); + }, + blockSize: 4, + }); + var v = (r.CipherParams = i.extend({ + init: function (e) { + this.mixIn(e); + }, + toString: function (e) { + return (e || this.formatter).stringify(this); + }, + })), + g = ((n.format = {}).OpenSSL = { + stringify: function (e) { + var t = e.ciphertext, + n = e.salt; + return ( + n + ? o.create([1398893684, 1701076831]).concat(n).concat(t) + : t + ).toString(s); + }, + parse: function (e) { + var t, + n = s.parse(e), + r = n.words; + return ( + 1398893684 == r[0] && + 1701076831 == r[1] && + ((t = o.create(r.slice(2, 4))), + r.splice(0, 4), + (n.sigBytes -= 16)), + v.create({ ciphertext: n, salt: t }) + ); + }, + }), + y = (r.SerializableCipher = i.extend({ + cfg: i.extend({ format: g }), + encrypt: function (e, t, n, r) { + r = this.cfg.extend(r); + var i = e.createEncryptor(n, r), + o = i.finalize(t), + a = i.cfg; + return v.create({ + ciphertext: o, + key: n, + iv: a.iv, + algorithm: e, + mode: a.mode, + padding: a.padding, + blockSize: e.blockSize, + formatter: r.format, + }); + }, + decrypt: function (e, t, n, r) { + return ( + (r = this.cfg.extend(r)), + (t = this._parse(t, r.format)), + e.createDecryptor(n, r).finalize(t.ciphertext) + ); + }, + _parse: function (e, t) { + return "string" == typeof e ? t.parse(e, this) : e; + }, + })), + _ = ((n.kdf = {}).OpenSSL = { + execute: function (e, t, n, r) { + r || (r = o.random(8)); + var i = c.create({ keySize: t + n }).compute(e, r), + a = o.create(i.words.slice(t), 4 * n); + return ( + (i.sigBytes = 4 * t), v.create({ key: i, iv: a, salt: r }) + ); + }, + }), + m = (r.PasswordBasedCipher = y.extend({ + cfg: y.cfg.extend({ kdf: _ }), + encrypt: function (e, t, n, r) { + var i = (r = this.cfg.extend(r)).kdf.execute( + n, + e.keySize, + e.ivSize + ); + r.iv = i.iv; + var o = y.encrypt.call(this, e, t, i.key, r); + return o.mixIn(i), o; + }, + decrypt: function (e, t, n, r) { + (r = this.cfg.extend(r)), (t = this._parse(t, r.format)); + var i = r.kdf.execute(n, e.keySize, e.ivSize, t.salt); + return (r.iv = i.iv), y.decrypt.call(this, e, t, i.key, r); + }, + })); + })() + )))), + ms + ); + var e; +} +var bs, + xs, + Ss, + As = {}, + Is = { + get exports() { + return As; + }, + set exports(e) { + As = e; + }, + }, + Os = {}, + Ps = { + get exports() { + return Os; + }, + set exports(e) { + Os = e; + }, + }, + Ts = {}, + Es = { + get exports() { + return Ts; + }, + set exports(e) { + Ts = e; + }, + }; +var Cs, + Rs, + Ls, + Ds, + Bs, + Ns, + Us, + js, + Ms, + $s, + Fs = {}, + Hs = { + get exports() { + return Fs; + }, + set exports(e) { + Fs = e; + }, + }, + qs = {}, + zs = { + get exports() { + return qs; + }, + set exports(e) { + qs = e; + }, + }, + Ws = {}, + Vs = { + get exports() { + return Ws; + }, + set exports(e) { + Ws = e; + }, + }, + Ks = {}, + Js = { + get exports() { + return Ks; + }, + set exports(e) { + Ks = e; + }, + }, + Gs = {}, + Ys = { + get exports() { + return Gs; + }, + set exports(e) { + Gs = e; + }, + }, + Xs = {}, + Qs = { + get exports() { + return Xs; + }, + set exports(e) { + Xs = e; + }, + }, + Zs = {}, + ec = { + get exports() { + return Zs; + }, + set exports(e) { + Zs = e; + }, + }, + tc = {}, + nc = { + get exports() { + return tc; + }, + set exports(e) { + tc = e; + }, + }, + rc = {}, + ic = { + get exports() { + return rc; + }, + set exports(e) { + rc = e; + }, + }, + oc = {}, + ac = { + get exports() { + return oc; + }, + set exports(e) { + oc = e; + }, + }; +var uc, + sc, + cc, + fc, + lc, + hc, + pc, + dc, + vc, + gc = {}, + yc = { + get exports() { + return gc; + }, + set exports(e) { + gc = e; + }, + }, + _c = {}, + mc = { + get exports() { + return _c; + }, + set exports(e) { + _c = e; + }, + }, + wc = {}, + kc = { + get exports() { + return wc; + }, + set exports(e) { + wc = e; + }, + }; +lu.exports = (function (e) { + return e; +})( + vu(), + mu(), + (function () { + return ( + wu || + ((wu = 1), + (bu.exports = + ((e = vu()), + (function () { + if ("function" == typeof ArrayBuffer) { + var t = e.lib.WordArray, + n = t.init; + (t.init = function (e) { + if ( + (e instanceof ArrayBuffer && (e = new Uint8Array(e)), + (e instanceof Int8Array || + ("undefined" != typeof Uint8ClampedArray && + e instanceof Uint8ClampedArray) || + e instanceof Int16Array || + e instanceof Uint16Array || + e instanceof Int32Array || + e instanceof Uint32Array || + e instanceof Float32Array || + e instanceof Float64Array) && + (e = new Uint8Array(e.buffer, e.byteOffset, e.byteLength)), + e instanceof Uint8Array) + ) { + for (var t = e.byteLength, r = [], i = 0; i < t; i++) + r[i >>> 2] |= e[i] << (24 - (i % 4) * 8); + n.call(this, r, t); + } else n.apply(this, arguments); + }).prototype = t; + } + })(), + e.lib.WordArray))), + ku + ); + var e; + })(), + (function () { + return ( + xu || + ((xu = 1), + (Au.exports = + ((e = vu()), + (function () { + var t = e, + n = t.lib.WordArray, + r = t.enc; + function i(e) { + return ((e << 8) & 4278255360) | ((e >>> 8) & 16711935); + } + (r.Utf16 = r.Utf16BE = + { + stringify: function (e) { + for ( + var t = e.words, n = e.sigBytes, r = [], i = 0; + i < n; + i += 2 + ) { + var o = (t[i >>> 2] >>> (16 - (i % 4) * 8)) & 65535; + r.push(String.fromCharCode(o)); + } + return r.join(""); + }, + parse: function (e) { + for (var t = e.length, r = [], i = 0; i < t; i++) + r[i >>> 1] |= e.charCodeAt(i) << (16 - (i % 2) * 16); + return n.create(r, 2 * t); + }, + }), + (r.Utf16LE = { + stringify: function (e) { + for ( + var t = e.words, n = e.sigBytes, r = [], o = 0; + o < n; + o += 2 + ) { + var a = i((t[o >>> 2] >>> (16 - (o % 4) * 8)) & 65535); + r.push(String.fromCharCode(a)); + } + return r.join(""); + }, + parse: function (e) { + for (var t = e.length, r = [], o = 0; o < t; o++) + r[o >>> 1] |= i(e.charCodeAt(o) << (16 - (o % 2) * 16)); + return n.create(r, 2 * t); + }, + }); + })(), + e.enc.Utf16))), + Su + ); + var e; + })(), + Tu(), + (function () { + return ( + Eu || + ((Eu = 1), + (Ru.exports = + ((e = vu()), + (function () { + var t = e, + n = t.lib.WordArray; + function r(e, t, r) { + for (var i = [], o = 0, a = 0; a < t; a++) + if (a % 4) { + var u = + (r[e.charCodeAt(a - 1)] << ((a % 4) * 2)) | + (r[e.charCodeAt(a)] >>> (6 - (a % 4) * 2)); + (i[o >>> 2] |= u << (24 - (o % 4) * 8)), o++; + } + return n.create(i, o); + } + t.enc.Base64url = { + stringify: function (e) { + var t = + !(arguments.length > 1 && void 0 !== arguments[1]) || + arguments[1], + n = e.words, + r = e.sigBytes, + i = t ? this._safe_map : this._map; + e.clamp(); + for (var o = [], a = 0; a < r; a += 3) + for ( + var u = + (((n[a >>> 2] >>> (24 - (a % 4) * 8)) & 255) << 16) | + (((n[(a + 1) >>> 2] >>> (24 - ((a + 1) % 4) * 8)) & + 255) << + 8) | + ((n[(a + 2) >>> 2] >>> (24 - ((a + 2) % 4) * 8)) & 255), + s = 0; + s < 4 && a + 0.75 * s < r; + s++ + ) + o.push(i.charAt((u >>> (6 * (3 - s))) & 63)); + var c = i.charAt(64); + if (c) for (; o.length % 4; ) o.push(c); + return o.join(""); + }, + parse: function (e) { + var t = + !(arguments.length > 1 && void 0 !== arguments[1]) || + arguments[1], + n = e.length, + i = t ? this._safe_map : this._map, + o = this._reverseMap; + if (!o) { + o = this._reverseMap = []; + for (var a = 0; a < i.length; a++) o[i.charCodeAt(a)] = a; + } + var u = i.charAt(64); + if (u) { + var s = e.indexOf(u); + -1 !== s && (n = s); + } + return r(e, n, o); + }, + _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + _safe_map: + "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_", + }; + })(), + e.enc.Base64url))), + Cu + ); + var e; + })(), + Nu(), + $u(), + zu(), + Wu || + ((Wu = 1), + (Ju.exports = + ((vc = vu()), + zu(), + (lc = (fc = vc).lib.WordArray), + (hc = fc.algo), + (pc = hc.SHA256), + (dc = hc.SHA224 = + pc.extend({ + _doReset: function () { + this._hash = new lc.init([ + 3238371032, 914150663, 812702999, 4144912697, 4290775857, + 1750603025, 1694076839, 3204075428, + ]); + }, + _doFinalize: function () { + var e = pc._doFinalize.call(this); + return (e.sigBytes -= 4), e; + }, + })), + (fc.SHA224 = pc._createHelper(dc)), + (fc.HmacSHA224 = pc._createHmacHelper(dc)), + vc.SHA224))), + Xu(), + (function () { + return ( + Qu || + ((Qu = 1), + (ts.exports = + ((u = vu()), + mu(), + Xu(), + (t = (e = u).x64), + (n = t.Word), + (r = t.WordArray), + (i = e.algo), + (o = i.SHA512), + (a = i.SHA384 = + o.extend({ + _doReset: function () { + this._hash = new r.init([ + new n.init(3418070365, 3238371032), + new n.init(1654270250, 914150663), + new n.init(2438529370, 812702999), + new n.init(355462360, 4144912697), + new n.init(1731405415, 4290775857), + new n.init(2394180231, 1750603025), + new n.init(3675008525, 1694076839), + new n.init(1203062813, 3204075428), + ]); + }, + _doFinalize: function () { + var e = o._doFinalize.call(this); + return (e.sigBytes -= 16), e; + }, + })), + (e.SHA384 = o._createHelper(a)), + (e.HmacSHA384 = o._createHmacHelper(a)), + u.SHA384))), + es + ); + var e, t, n, r, i, o, a, u; + })(), + (function () { + return ( + Zu || + ((Zu = 1), + (rs.exports = + ((e = vu()), + mu(), + (function (t) { + var n = e, + r = n.lib, + i = r.WordArray, + o = r.Hasher, + a = n.x64.Word, + u = n.algo, + s = [], + c = [], + f = []; + !(function () { + for (var e = 1, t = 0, n = 0; n < 24; n++) { + s[e + 5 * t] = (((n + 1) * (n + 2)) / 2) % 64; + var r = (2 * e + 3 * t) % 5; + (e = t % 5), (t = r); + } + for (e = 0; e < 5; e++) + for (t = 0; t < 5; t++) + c[e + 5 * t] = t + ((2 * e + 3 * t) % 5) * 5; + for (var i = 1, o = 0; o < 24; o++) { + for (var u = 0, l = 0, h = 0; h < 7; h++) { + if (1 & i) { + var p = (1 << h) - 1; + p < 32 ? (l ^= 1 << p) : (u ^= 1 << (p - 32)); + } + 128 & i ? (i = (i << 1) ^ 113) : (i <<= 1); + } + f[o] = a.create(u, l); + } + })(); + var l = []; + !(function () { + for (var e = 0; e < 25; e++) l[e] = a.create(); + })(); + var h = (u.SHA3 = o.extend({ + cfg: o.cfg.extend({ outputLength: 512 }), + _doReset: function () { + for (var e = (this._state = []), t = 0; t < 25; t++) + e[t] = new a.init(); + this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32; + }, + _doProcessBlock: function (e, t) { + for ( + var n = this._state, r = this.blockSize / 2, i = 0; + i < r; + i++ + ) { + var o = e[t + 2 * i], + a = e[t + 2 * i + 1]; + (o = + (16711935 & ((o << 8) | (o >>> 24))) | + (4278255360 & ((o << 24) | (o >>> 8)))), + (a = + (16711935 & ((a << 8) | (a >>> 24))) | + (4278255360 & ((a << 24) | (a >>> 8)))), + ((P = n[i]).high ^= a), + (P.low ^= o); + } + for (var u = 0; u < 24; u++) { + for (var h = 0; h < 5; h++) { + for (var p = 0, d = 0, v = 0; v < 5; v++) + (p ^= (P = n[h + 5 * v]).high), (d ^= P.low); + var g = l[h]; + (g.high = p), (g.low = d); + } + for (h = 0; h < 5; h++) { + var y = l[(h + 4) % 5], + _ = l[(h + 1) % 5], + m = _.high, + w = _.low; + for ( + p = y.high ^ ((m << 1) | (w >>> 31)), + d = y.low ^ ((w << 1) | (m >>> 31)), + v = 0; + v < 5; + v++ + ) + ((P = n[h + 5 * v]).high ^= p), (P.low ^= d); + } + for (var k = 1; k < 25; k++) { + var b = (P = n[k]).high, + x = P.low, + S = s[k]; + S < 32 + ? ((p = (b << S) | (x >>> (32 - S))), + (d = (x << S) | (b >>> (32 - S)))) + : ((p = (x << (S - 32)) | (b >>> (64 - S))), + (d = (b << (S - 32)) | (x >>> (64 - S)))); + var A = l[c[k]]; + (A.high = p), (A.low = d); + } + var I = l[0], + O = n[0]; + for (I.high = O.high, I.low = O.low, h = 0; h < 5; h++) + for (v = 0; v < 5; v++) { + var P = n[(k = h + 5 * v)], + T = l[k], + E = l[((h + 1) % 5) + 5 * v], + C = l[((h + 2) % 5) + 5 * v]; + (P.high = T.high ^ (~E.high & C.high)), + (P.low = T.low ^ (~E.low & C.low)); + } + P = n[0]; + var R = f[u]; + (P.high ^= R.high), (P.low ^= R.low); + } + }, + _doFinalize: function () { + var e = this._data, + n = e.words; + this._nDataBytes; + var r = 8 * e.sigBytes, + o = 32 * this.blockSize; + (n[r >>> 5] |= 1 << (24 - (r % 32))), + (n[((t.ceil((r + 1) / o) * o) >>> 5) - 1] |= 128), + (e.sigBytes = 4 * n.length), + this._process(); + for ( + var a = this._state, + u = this.cfg.outputLength / 8, + s = u / 8, + c = [], + f = 0; + f < s; + f++ + ) { + var l = a[f], + h = l.high, + p = l.low; + (h = + (16711935 & ((h << 8) | (h >>> 24))) | + (4278255360 & ((h << 24) | (h >>> 8)))), + (p = + (16711935 & ((p << 8) | (p >>> 24))) | + (4278255360 & ((p << 24) | (p >>> 8)))), + c.push(p), + c.push(h); + } + return new i.init(c, u); + }, + clone: function () { + for ( + var e = o.clone.call(this), + t = (e._state = this._state.slice(0)), + n = 0; + n < 25; + n++ + ) + t[n] = t[n].clone(); + return e; + }, + })); + (n.SHA3 = o._createHelper(h)), + (n.HmacSHA3 = o._createHmacHelper(h)); + })(Math), + e.SHA3))), + ns + ); + var e; + })(), + (function () { + return ( + is || + ((is = 1), + (us.exports = + ((e = vu()), + (function (t) { + var n = e, + r = n.lib, + i = r.WordArray, + o = r.Hasher, + a = n.algo, + u = i.create([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, + 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, + 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, + 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, + 11, 6, 15, 13, + ]), + s = i.create([ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, + 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, + 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, + 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, + 14, 0, 3, 9, 11, + ]), + c = i.create([ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, + 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, + 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, + 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, + 13, 14, 11, 8, 5, 6, + ]), + f = i.create([ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, + 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, + 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, + 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, + 13, 6, 5, 15, 13, 11, 11, + ]), + l = i.create([0, 1518500249, 1859775393, 2400959708, 2840853838]), + h = i.create([1352829926, 1548603684, 1836072691, 2053994217, 0]), + p = (a.RIPEMD160 = o.extend({ + _doReset: function () { + this._hash = i.create([ + 1732584193, 4023233417, 2562383102, 271733878, 3285377520, + ]); + }, + _doProcessBlock: function (e, t) { + for (var n = 0; n < 16; n++) { + var r = t + n, + i = e[r]; + e[r] = + (16711935 & ((i << 8) | (i >>> 24))) | + (4278255360 & ((i << 24) | (i >>> 8))); + } + var o, + a, + p, + w, + k, + b, + x, + S, + A, + I, + O, + P = this._hash.words, + T = l.words, + E = h.words, + C = u.words, + R = s.words, + L = c.words, + D = f.words; + for ( + b = o = P[0], + x = a = P[1], + S = p = P[2], + A = w = P[3], + I = k = P[4], + n = 0; + n < 80; + n += 1 + ) + (O = (o + e[t + C[n]]) | 0), + (O += + n < 16 + ? d(a, p, w) + T[0] + : n < 32 + ? v(a, p, w) + T[1] + : n < 48 + ? g(a, p, w) + T[2] + : n < 64 + ? y(a, p, w) + T[3] + : _(a, p, w) + T[4]), + (O = ((O = m((O |= 0), L[n])) + k) | 0), + (o = k), + (k = w), + (w = m(p, 10)), + (p = a), + (a = O), + (O = (b + e[t + R[n]]) | 0), + (O += + n < 16 + ? _(x, S, A) + E[0] + : n < 32 + ? y(x, S, A) + E[1] + : n < 48 + ? g(x, S, A) + E[2] + : n < 64 + ? v(x, S, A) + E[3] + : d(x, S, A) + E[4]), + (O = ((O = m((O |= 0), D[n])) + I) | 0), + (b = I), + (I = A), + (A = m(S, 10)), + (S = x), + (x = O); + (O = (P[1] + p + A) | 0), + (P[1] = (P[2] + w + I) | 0), + (P[2] = (P[3] + k + b) | 0), + (P[3] = (P[4] + o + x) | 0), + (P[4] = (P[0] + a + S) | 0), + (P[0] = O); + }, + _doFinalize: function () { + var e = this._data, + t = e.words, + n = 8 * this._nDataBytes, + r = 8 * e.sigBytes; + (t[r >>> 5] |= 128 << (24 - (r % 32))), + (t[14 + (((r + 64) >>> 9) << 4)] = + (16711935 & ((n << 8) | (n >>> 24))) | + (4278255360 & ((n << 24) | (n >>> 8)))), + (e.sigBytes = 4 * (t.length + 1)), + this._process(); + for (var i = this._hash, o = i.words, a = 0; a < 5; a++) { + var u = o[a]; + o[a] = + (16711935 & ((u << 8) | (u >>> 24))) | + (4278255360 & ((u << 24) | (u >>> 8))); + } + return i; + }, + clone: function () { + var e = o.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + })); + function d(e, t, n) { + return e ^ t ^ n; + } + function v(e, t, n) { + return (e & t) | (~e & n); + } + function g(e, t, n) { + return (e | ~t) ^ n; + } + function y(e, t, n) { + return (e & n) | (t & ~n); + } + function _(e, t, n) { + return e ^ (t | ~n); + } + function m(e, t) { + return (e << t) | (e >>> (32 - t)); + } + (n.RIPEMD160 = o._createHelper(p)), + (n.HmacRIPEMD160 = o._createHmacHelper(p)); + })(), + e.RIPEMD160))), + as + ); + var e; + })(), + fs(), + (function () { + return ( + ls || + ((ls = 1), + (ds.exports = + ((s = vu()), + $u(), + fs(), + (n = (t = (e = s).lib).Base), + (r = t.WordArray), + (o = (i = e.algo).SHA1), + (a = i.HMAC), + (u = i.PBKDF2 = + n.extend({ + cfg: n.extend({ keySize: 4, hasher: o, iterations: 1 }), + init: function (e) { + this.cfg = this.cfg.extend(e); + }, + compute: function (e, t) { + for ( + var n = this.cfg, + i = a.create(n.hasher, e), + o = r.create(), + u = r.create([1]), + s = o.words, + c = u.words, + f = n.keySize, + l = n.iterations; + s.length < f; + + ) { + var h = i.update(t).finalize(u); + i.reset(); + for ( + var p = h.words, d = p.length, v = h, g = 1; + g < l; + g++ + ) { + (v = i.finalize(v)), i.reset(); + for (var y = v.words, _ = 0; _ < d; _++) p[_] ^= y[_]; + } + o.concat(h), c[0]++; + } + return (o.sigBytes = 4 * f), o; + }, + })), + (e.PBKDF2 = function (e, t, n) { + return u.create(n).compute(e, t); + }), + s.PBKDF2))), + ps + ); + var e, t, n, r, i, o, a, u, s; + })(), + ys(), + ks(), + (function () { + return ( + bs || + ((bs = 1), + (Is.exports = + ((e = vu()), + ks(), + (e.mode.CFB = (function () { + var t = e.lib.BlockCipherMode.extend(); + function n(e, t, n, r) { + var i, + o = this._iv; + o + ? ((i = o.slice(0)), (this._iv = void 0)) + : (i = this._prevBlock), + r.encryptBlock(i, 0); + for (var a = 0; a < n; a++) e[t + a] ^= i[a]; + } + return ( + (t.Encryptor = t.extend({ + processBlock: function (e, t) { + var r = this._cipher, + i = r.blockSize; + n.call(this, e, t, i, r), + (this._prevBlock = e.slice(t, t + i)); + }, + })), + (t.Decryptor = t.extend({ + processBlock: function (e, t) { + var r = this._cipher, + i = r.blockSize, + o = e.slice(t, t + i); + n.call(this, e, t, i, r), (this._prevBlock = o); + }, + })), + t + ); + })()), + e.mode.CFB))), + As + ); + var e; + })(), + (function () { + return ( + xs || + ((xs = 1), + (Ps.exports = + ((n = vu()), + ks(), + (n.mode.CTR = + ((t = (e = n.lib.BlockCipherMode.extend()).Encryptor = + e.extend({ + processBlock: function (e, t) { + var n = this._cipher, + r = n.blockSize, + i = this._iv, + o = this._counter; + i && ((o = this._counter = i.slice(0)), (this._iv = void 0)); + var a = o.slice(0); + n.encryptBlock(a, 0), (o[r - 1] = (o[r - 1] + 1) | 0); + for (var u = 0; u < r; u++) e[t + u] ^= a[u]; + }, + })), + (e.Decryptor = t), + e)), + n.mode.CTR))), + Os + ); + var e, t, n; + })(), + (function () { + return ( + Ss || + ((Ss = 1), + (Es.exports = + ((e = vu()), + ks(), + (e.mode.CTRGladman = (function () { + var t = e.lib.BlockCipherMode.extend(); + function n(e) { + if (255 == ((e >> 24) & 255)) { + var t = (e >> 16) & 255, + n = (e >> 8) & 255, + r = 255 & e; + 255 === t + ? ((t = 0), + 255 === n ? ((n = 0), 255 === r ? (r = 0) : ++r) : ++n) + : ++t, + (e = 0), + (e += t << 16), + (e += n << 8), + (e += r); + } else e += 1 << 24; + return e; + } + function r(e) { + return 0 === (e[0] = n(e[0])) && (e[1] = n(e[1])), e; + } + var i = (t.Encryptor = t.extend({ + processBlock: function (e, t) { + var n = this._cipher, + i = n.blockSize, + o = this._iv, + a = this._counter; + o && ((a = this._counter = o.slice(0)), (this._iv = void 0)), + r(a); + var u = a.slice(0); + n.encryptBlock(u, 0); + for (var s = 0; s < i; s++) e[t + s] ^= u[s]; + }, + })); + return (t.Decryptor = i), t; + })()), + e.mode.CTRGladman))), + Ts + ); + var e; + })(), + (function () { + return ( + Cs || + ((Cs = 1), + (Hs.exports = + ((n = vu()), + ks(), + (n.mode.OFB = + ((t = (e = n.lib.BlockCipherMode.extend()).Encryptor = + e.extend({ + processBlock: function (e, t) { + var n = this._cipher, + r = n.blockSize, + i = this._iv, + o = this._keystream; + i && + ((o = this._keystream = i.slice(0)), (this._iv = void 0)), + n.encryptBlock(o, 0); + for (var a = 0; a < r; a++) e[t + a] ^= o[a]; + }, + })), + (e.Decryptor = t), + e)), + n.mode.OFB))), + Fs + ); + var e, t, n; + })(), + (function () { + return ( + Rs || + ((Rs = 1), + (zs.exports = + ((t = vu()), + ks(), + (t.mode.ECB = + (((e = t.lib.BlockCipherMode.extend()).Encryptor = e.extend({ + processBlock: function (e, t) { + this._cipher.encryptBlock(e, t); + }, + })), + (e.Decryptor = e.extend({ + processBlock: function (e, t) { + this._cipher.decryptBlock(e, t); + }, + })), + e)), + t.mode.ECB))), + qs + ); + var e, t; + })(), + (function () { + return ( + Ls || + ((Ls = 1), + (Vs.exports = + ((e = vu()), + ks(), + (e.pad.AnsiX923 = { + pad: function (e, t) { + var n = e.sigBytes, + r = 4 * t, + i = r - (n % r), + o = n + i - 1; + e.clamp(), + (e.words[o >>> 2] |= i << (24 - (o % 4) * 8)), + (e.sigBytes += i); + }, + unpad: function (e) { + var t = 255 & e.words[(e.sigBytes - 1) >>> 2]; + e.sigBytes -= t; + }, + }), + e.pad.Ansix923))), + Ws + ); + var e; + })(), + (function () { + return ( + Ds || + ((Ds = 1), + (Js.exports = + ((e = vu()), + ks(), + (e.pad.Iso10126 = { + pad: function (t, n) { + var r = 4 * n, + i = r - (t.sigBytes % r); + t.concat(e.lib.WordArray.random(i - 1)).concat( + e.lib.WordArray.create([i << 24], 1) + ); + }, + unpad: function (e) { + var t = 255 & e.words[(e.sigBytes - 1) >>> 2]; + e.sigBytes -= t; + }, + }), + e.pad.Iso10126))), + Ks + ); + var e; + })(), + (function () { + return ( + Bs || + ((Bs = 1), + (Ys.exports = + ((e = vu()), + ks(), + (e.pad.Iso97971 = { + pad: function (t, n) { + t.concat(e.lib.WordArray.create([2147483648], 1)), + e.pad.ZeroPadding.pad(t, n); + }, + unpad: function (t) { + e.pad.ZeroPadding.unpad(t), t.sigBytes--; + }, + }), + e.pad.Iso97971))), + Gs + ); + var e; + })(), + (function () { + return ( + Ns || + ((Ns = 1), + (Qs.exports = + ((e = vu()), + ks(), + (e.pad.ZeroPadding = { + pad: function (e, t) { + var n = 4 * t; + e.clamp(), (e.sigBytes += n - (e.sigBytes % n || n)); + }, + unpad: function (e) { + var t = e.words, + n = e.sigBytes - 1; + for (n = e.sigBytes - 1; n >= 0; n--) + if ((t[n >>> 2] >>> (24 - (n % 4) * 8)) & 255) { + e.sigBytes = n + 1; + break; + } + }, + }), + e.pad.ZeroPadding))), + Xs + ); + var e; + })(), + (function () { + return ( + Us || + ((Us = 1), + (ec.exports = + ((e = vu()), + ks(), + (e.pad.NoPadding = { pad: function () {}, unpad: function () {} }), + e.pad.NoPadding))), + Zs + ); + var e; + })(), + (function () { + return ( + js || + ((js = 1), + (nc.exports = + ((r = vu()), + ks(), + (t = (e = r).lib.CipherParams), + (n = e.enc.Hex), + (e.format.Hex = { + stringify: function (e) { + return e.ciphertext.toString(n); + }, + parse: function (e) { + var r = n.parse(e); + return t.create({ ciphertext: r }); + }, + }), + r.format.Hex))), + tc + ); + var e, t, n, r; + })(), + (function () { + return ( + Ms || + ((Ms = 1), + (ic.exports = + ((e = vu()), + Tu(), + Nu(), + ys(), + ks(), + (function () { + var t = e, + n = t.lib.BlockCipher, + r = t.algo, + i = [], + o = [], + a = [], + u = [], + s = [], + c = [], + f = [], + l = [], + h = [], + p = []; + !(function () { + for (var e = [], t = 0; t < 256; t++) + e[t] = t < 128 ? t << 1 : (t << 1) ^ 283; + var n = 0, + r = 0; + for (t = 0; t < 256; t++) { + var d = r ^ (r << 1) ^ (r << 2) ^ (r << 3) ^ (r << 4); + (d = (d >>> 8) ^ (255 & d) ^ 99), (i[n] = d), (o[d] = n); + var v = e[n], + g = e[v], + y = e[g], + _ = (257 * e[d]) ^ (16843008 * d); + (a[n] = (_ << 24) | (_ >>> 8)), + (u[n] = (_ << 16) | (_ >>> 16)), + (s[n] = (_ << 8) | (_ >>> 24)), + (c[n] = _), + (_ = + (16843009 * y) ^ (65537 * g) ^ (257 * v) ^ (16843008 * n)), + (f[d] = (_ << 24) | (_ >>> 8)), + (l[d] = (_ << 16) | (_ >>> 16)), + (h[d] = (_ << 8) | (_ >>> 24)), + (p[d] = _), + n ? ((n = v ^ e[e[e[y ^ v]]]), (r ^= e[e[r]])) : (n = r = 1); + } + })(); + var d = [0, 1, 2, 4, 8, 16, 32, 64, 128, 27, 54], + v = (r.AES = n.extend({ + _doReset: function () { + if (!this._nRounds || this._keyPriorReset !== this._key) { + for ( + var e = (this._keyPriorReset = this._key), + t = e.words, + n = e.sigBytes / 4, + r = 4 * ((this._nRounds = n + 6) + 1), + o = (this._keySchedule = []), + a = 0; + a < r; + a++ + ) + a < n + ? (o[a] = t[a]) + : ((c = o[a - 1]), + a % n + ? n > 6 && + a % n == 4 && + (c = + (i[c >>> 24] << 24) | + (i[(c >>> 16) & 255] << 16) | + (i[(c >>> 8) & 255] << 8) | + i[255 & c]) + : ((c = + (i[(c = (c << 8) | (c >>> 24)) >>> 24] << 24) | + (i[(c >>> 16) & 255] << 16) | + (i[(c >>> 8) & 255] << 8) | + i[255 & c]), + (c ^= d[(a / n) | 0] << 24)), + (o[a] = o[a - n] ^ c)); + for ( + var u = (this._invKeySchedule = []), s = 0; + s < r; + s++ + ) { + if (((a = r - s), s % 4)) var c = o[a]; + else c = o[a - 4]; + u[s] = + s < 4 || a <= 4 + ? c + : f[i[c >>> 24]] ^ + l[i[(c >>> 16) & 255]] ^ + h[i[(c >>> 8) & 255]] ^ + p[i[255 & c]]; + } + } + }, + encryptBlock: function (e, t) { + this._doCryptBlock(e, t, this._keySchedule, a, u, s, c, i); + }, + decryptBlock: function (e, t) { + var n = e[t + 1]; + (e[t + 1] = e[t + 3]), + (e[t + 3] = n), + this._doCryptBlock( + e, + t, + this._invKeySchedule, + f, + l, + h, + p, + o + ), + (n = e[t + 1]), + (e[t + 1] = e[t + 3]), + (e[t + 3] = n); + }, + _doCryptBlock: function (e, t, n, r, i, o, a, u) { + for ( + var s = this._nRounds, + c = e[t] ^ n[0], + f = e[t + 1] ^ n[1], + l = e[t + 2] ^ n[2], + h = e[t + 3] ^ n[3], + p = 4, + d = 1; + d < s; + d++ + ) { + var v = + r[c >>> 24] ^ + i[(f >>> 16) & 255] ^ + o[(l >>> 8) & 255] ^ + a[255 & h] ^ + n[p++], + g = + r[f >>> 24] ^ + i[(l >>> 16) & 255] ^ + o[(h >>> 8) & 255] ^ + a[255 & c] ^ + n[p++], + y = + r[l >>> 24] ^ + i[(h >>> 16) & 255] ^ + o[(c >>> 8) & 255] ^ + a[255 & f] ^ + n[p++], + _ = + r[h >>> 24] ^ + i[(c >>> 16) & 255] ^ + o[(f >>> 8) & 255] ^ + a[255 & l] ^ + n[p++]; + (c = v), (f = g), (l = y), (h = _); + } + (v = + ((u[c >>> 24] << 24) | + (u[(f >>> 16) & 255] << 16) | + (u[(l >>> 8) & 255] << 8) | + u[255 & h]) ^ + n[p++]), + (g = + ((u[f >>> 24] << 24) | + (u[(l >>> 16) & 255] << 16) | + (u[(h >>> 8) & 255] << 8) | + u[255 & c]) ^ + n[p++]), + (y = + ((u[l >>> 24] << 24) | + (u[(h >>> 16) & 255] << 16) | + (u[(c >>> 8) & 255] << 8) | + u[255 & f]) ^ + n[p++]), + (_ = + ((u[h >>> 24] << 24) | + (u[(c >>> 16) & 255] << 16) | + (u[(f >>> 8) & 255] << 8) | + u[255 & l]) ^ + n[p++]), + (e[t] = v), + (e[t + 1] = g), + (e[t + 2] = y), + (e[t + 3] = _); + }, + keySize: 8, + })); + t.AES = n._createHelper(v); + })(), + e.AES))), + rc + ); + var e; + })(), + (function () { + return ( + $s || + (($s = 1), + (ac.exports = + ((e = vu()), + Tu(), + Nu(), + ys(), + ks(), + (function () { + var t = e, + n = t.lib, + r = n.WordArray, + i = n.BlockCipher, + o = t.algo, + a = [ + 57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, + 51, 43, 35, 27, 19, 11, 3, 60, 52, 44, 36, 63, 55, 47, 39, 31, + 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, + 21, 13, 5, 28, 20, 12, 4, + ], + u = [ + 14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, + 8, 16, 7, 27, 20, 13, 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, + 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32, + ], + s = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28], + c = [ + { + 0: 8421888, + 268435456: 32768, + 536870912: 8421378, + 805306368: 2, + 1073741824: 512, + 1342177280: 8421890, + 1610612736: 8389122, + 1879048192: 8388608, + 2147483648: 514, + 2415919104: 8389120, + 2684354560: 33280, + 2952790016: 8421376, + 3221225472: 32770, + 3489660928: 8388610, + 3758096384: 0, + 4026531840: 33282, + 134217728: 0, + 402653184: 8421890, + 671088640: 33282, + 939524096: 32768, + 1207959552: 8421888, + 1476395008: 512, + 1744830464: 8421378, + 2013265920: 2, + 2281701376: 8389120, + 2550136832: 33280, + 2818572288: 8421376, + 3087007744: 8389122, + 3355443200: 8388610, + 3623878656: 32770, + 3892314112: 514, + 4160749568: 8388608, + 1: 32768, + 268435457: 2, + 536870913: 8421888, + 805306369: 8388608, + 1073741825: 8421378, + 1342177281: 33280, + 1610612737: 512, + 1879048193: 8389122, + 2147483649: 8421890, + 2415919105: 8421376, + 2684354561: 8388610, + 2952790017: 33282, + 3221225473: 514, + 3489660929: 8389120, + 3758096385: 32770, + 4026531841: 0, + 134217729: 8421890, + 402653185: 8421376, + 671088641: 8388608, + 939524097: 512, + 1207959553: 32768, + 1476395009: 8388610, + 1744830465: 2, + 2013265921: 33282, + 2281701377: 32770, + 2550136833: 8389122, + 2818572289: 514, + 3087007745: 8421888, + 3355443201: 8389120, + 3623878657: 0, + 3892314113: 33280, + 4160749569: 8421378, + }, + { + 0: 1074282512, + 16777216: 16384, + 33554432: 524288, + 50331648: 1074266128, + 67108864: 1073741840, + 83886080: 1074282496, + 100663296: 1073758208, + 117440512: 16, + 134217728: 540672, + 150994944: 1073758224, + 167772160: 1073741824, + 184549376: 540688, + 201326592: 524304, + 218103808: 0, + 234881024: 16400, + 251658240: 1074266112, + 8388608: 1073758208, + 25165824: 540688, + 41943040: 16, + 58720256: 1073758224, + 75497472: 1074282512, + 92274688: 1073741824, + 109051904: 524288, + 125829120: 1074266128, + 142606336: 524304, + 159383552: 0, + 176160768: 16384, + 192937984: 1074266112, + 209715200: 1073741840, + 226492416: 540672, + 243269632: 1074282496, + 260046848: 16400, + 268435456: 0, + 285212672: 1074266128, + 301989888: 1073758224, + 318767104: 1074282496, + 335544320: 1074266112, + 352321536: 16, + 369098752: 540688, + 385875968: 16384, + 402653184: 16400, + 419430400: 524288, + 436207616: 524304, + 452984832: 1073741840, + 469762048: 540672, + 486539264: 1073758208, + 503316480: 1073741824, + 520093696: 1074282512, + 276824064: 540688, + 293601280: 524288, + 310378496: 1074266112, + 327155712: 16384, + 343932928: 1073758208, + 360710144: 1074282512, + 377487360: 16, + 394264576: 1073741824, + 411041792: 1074282496, + 427819008: 1073741840, + 444596224: 1073758224, + 461373440: 524304, + 478150656: 0, + 494927872: 16400, + 511705088: 1074266128, + 528482304: 540672, + }, + { + 0: 260, + 1048576: 0, + 2097152: 67109120, + 3145728: 65796, + 4194304: 65540, + 5242880: 67108868, + 6291456: 67174660, + 7340032: 67174400, + 8388608: 67108864, + 9437184: 67174656, + 10485760: 65792, + 11534336: 67174404, + 12582912: 67109124, + 13631488: 65536, + 14680064: 4, + 15728640: 256, + 524288: 67174656, + 1572864: 67174404, + 2621440: 0, + 3670016: 67109120, + 4718592: 67108868, + 5767168: 65536, + 6815744: 65540, + 7864320: 260, + 8912896: 4, + 9961472: 256, + 11010048: 67174400, + 12058624: 65796, + 13107200: 65792, + 14155776: 67109124, + 15204352: 67174660, + 16252928: 67108864, + 16777216: 67174656, + 17825792: 65540, + 18874368: 65536, + 19922944: 67109120, + 20971520: 256, + 22020096: 67174660, + 23068672: 67108868, + 24117248: 0, + 25165824: 67109124, + 26214400: 67108864, + 27262976: 4, + 28311552: 65792, + 29360128: 67174400, + 30408704: 260, + 31457280: 65796, + 32505856: 67174404, + 17301504: 67108864, + 18350080: 260, + 19398656: 67174656, + 20447232: 0, + 21495808: 65540, + 22544384: 67109120, + 23592960: 256, + 24641536: 67174404, + 25690112: 65536, + 26738688: 67174660, + 27787264: 65796, + 28835840: 67108868, + 29884416: 67109124, + 30932992: 67174400, + 31981568: 4, + 33030144: 65792, + }, + { + 0: 2151682048, + 65536: 2147487808, + 131072: 4198464, + 196608: 2151677952, + 262144: 0, + 327680: 4198400, + 393216: 2147483712, + 458752: 4194368, + 524288: 2147483648, + 589824: 4194304, + 655360: 64, + 720896: 2147487744, + 786432: 2151678016, + 851968: 4160, + 917504: 4096, + 983040: 2151682112, + 32768: 2147487808, + 98304: 64, + 163840: 2151678016, + 229376: 2147487744, + 294912: 4198400, + 360448: 2151682112, + 425984: 0, + 491520: 2151677952, + 557056: 4096, + 622592: 2151682048, + 688128: 4194304, + 753664: 4160, + 819200: 2147483648, + 884736: 4194368, + 950272: 4198464, + 1015808: 2147483712, + 1048576: 4194368, + 1114112: 4198400, + 1179648: 2147483712, + 1245184: 0, + 1310720: 4160, + 1376256: 2151678016, + 1441792: 2151682048, + 1507328: 2147487808, + 1572864: 2151682112, + 1638400: 2147483648, + 1703936: 2151677952, + 1769472: 4198464, + 1835008: 2147487744, + 1900544: 4194304, + 1966080: 64, + 2031616: 4096, + 1081344: 2151677952, + 1146880: 2151682112, + 1212416: 0, + 1277952: 4198400, + 1343488: 4194368, + 1409024: 2147483648, + 1474560: 2147487808, + 1540096: 64, + 1605632: 2147483712, + 1671168: 4096, + 1736704: 2147487744, + 1802240: 2151678016, + 1867776: 4160, + 1933312: 2151682048, + 1998848: 4194304, + 2064384: 4198464, + }, + { + 0: 128, + 4096: 17039360, + 8192: 262144, + 12288: 536870912, + 16384: 537133184, + 20480: 16777344, + 24576: 553648256, + 28672: 262272, + 32768: 16777216, + 36864: 537133056, + 40960: 536871040, + 45056: 553910400, + 49152: 553910272, + 53248: 0, + 57344: 17039488, + 61440: 553648128, + 2048: 17039488, + 6144: 553648256, + 10240: 128, + 14336: 17039360, + 18432: 262144, + 22528: 537133184, + 26624: 553910272, + 30720: 536870912, + 34816: 537133056, + 38912: 0, + 43008: 553910400, + 47104: 16777344, + 51200: 536871040, + 55296: 553648128, + 59392: 16777216, + 63488: 262272, + 65536: 262144, + 69632: 128, + 73728: 536870912, + 77824: 553648256, + 81920: 16777344, + 86016: 553910272, + 90112: 537133184, + 94208: 16777216, + 98304: 553910400, + 102400: 553648128, + 106496: 17039360, + 110592: 537133056, + 114688: 262272, + 118784: 536871040, + 122880: 0, + 126976: 17039488, + 67584: 553648256, + 71680: 16777216, + 75776: 17039360, + 79872: 537133184, + 83968: 536870912, + 88064: 17039488, + 92160: 128, + 96256: 553910272, + 100352: 262272, + 104448: 553910400, + 108544: 0, + 112640: 553648128, + 116736: 16777344, + 120832: 262144, + 124928: 537133056, + 129024: 536871040, + }, + { + 0: 268435464, + 256: 8192, + 512: 270532608, + 768: 270540808, + 1024: 268443648, + 1280: 2097152, + 1536: 2097160, + 1792: 268435456, + 2048: 0, + 2304: 268443656, + 2560: 2105344, + 2816: 8, + 3072: 270532616, + 3328: 2105352, + 3584: 8200, + 3840: 270540800, + 128: 270532608, + 384: 270540808, + 640: 8, + 896: 2097152, + 1152: 2105352, + 1408: 268435464, + 1664: 268443648, + 1920: 8200, + 2176: 2097160, + 2432: 8192, + 2688: 268443656, + 2944: 270532616, + 3200: 0, + 3456: 270540800, + 3712: 2105344, + 3968: 268435456, + 4096: 268443648, + 4352: 270532616, + 4608: 270540808, + 4864: 8200, + 5120: 2097152, + 5376: 268435456, + 5632: 268435464, + 5888: 2105344, + 6144: 2105352, + 6400: 0, + 6656: 8, + 6912: 270532608, + 7168: 8192, + 7424: 268443656, + 7680: 270540800, + 7936: 2097160, + 4224: 8, + 4480: 2105344, + 4736: 2097152, + 4992: 268435464, + 5248: 268443648, + 5504: 8200, + 5760: 270540808, + 6016: 270532608, + 6272: 270540800, + 6528: 270532616, + 6784: 8192, + 7040: 2105352, + 7296: 2097160, + 7552: 0, + 7808: 268435456, + 8064: 268443656, + }, + { + 0: 1048576, + 16: 33555457, + 32: 1024, + 48: 1049601, + 64: 34604033, + 80: 0, + 96: 1, + 112: 34603009, + 128: 33555456, + 144: 1048577, + 160: 33554433, + 176: 34604032, + 192: 34603008, + 208: 1025, + 224: 1049600, + 240: 33554432, + 8: 34603009, + 24: 0, + 40: 33555457, + 56: 34604032, + 72: 1048576, + 88: 33554433, + 104: 33554432, + 120: 1025, + 136: 1049601, + 152: 33555456, + 168: 34603008, + 184: 1048577, + 200: 1024, + 216: 34604033, + 232: 1, + 248: 1049600, + 256: 33554432, + 272: 1048576, + 288: 33555457, + 304: 34603009, + 320: 1048577, + 336: 33555456, + 352: 34604032, + 368: 1049601, + 384: 1025, + 400: 34604033, + 416: 1049600, + 432: 1, + 448: 0, + 464: 34603008, + 480: 33554433, + 496: 1024, + 264: 1049600, + 280: 33555457, + 296: 34603009, + 312: 1, + 328: 33554432, + 344: 1048576, + 360: 1025, + 376: 34604032, + 392: 33554433, + 408: 34603008, + 424: 0, + 440: 34604033, + 456: 1049601, + 472: 1024, + 488: 33555456, + 504: 1048577, + }, + { + 0: 134219808, + 1: 131072, + 2: 134217728, + 3: 32, + 4: 131104, + 5: 134350880, + 6: 134350848, + 7: 2048, + 8: 134348800, + 9: 134219776, + 10: 133120, + 11: 134348832, + 12: 2080, + 13: 0, + 14: 134217760, + 15: 133152, + 2147483648: 2048, + 2147483649: 134350880, + 2147483650: 134219808, + 2147483651: 134217728, + 2147483652: 134348800, + 2147483653: 133120, + 2147483654: 133152, + 2147483655: 32, + 2147483656: 134217760, + 2147483657: 2080, + 2147483658: 131104, + 2147483659: 134350848, + 2147483660: 0, + 2147483661: 134348832, + 2147483662: 134219776, + 2147483663: 131072, + 16: 133152, + 17: 134350848, + 18: 32, + 19: 2048, + 20: 134219776, + 21: 134217760, + 22: 134348832, + 23: 131072, + 24: 0, + 25: 131104, + 26: 134348800, + 27: 134219808, + 28: 134350880, + 29: 133120, + 30: 2080, + 31: 134217728, + 2147483664: 131072, + 2147483665: 2048, + 2147483666: 134348832, + 2147483667: 133152, + 2147483668: 32, + 2147483669: 134348800, + 2147483670: 134217728, + 2147483671: 134219808, + 2147483672: 134350880, + 2147483673: 134217760, + 2147483674: 134219776, + 2147483675: 0, + 2147483676: 133120, + 2147483677: 2080, + 2147483678: 131104, + 2147483679: 134350848, + }, + ], + f = [ + 4160749569, 528482304, 33030144, 2064384, 129024, 8064, 504, + 2147483679, + ], + l = (o.DES = i.extend({ + _doReset: function () { + for (var e = this._key.words, t = [], n = 0; n < 56; n++) { + var r = a[n] - 1; + t[n] = (e[r >>> 5] >>> (31 - (r % 32))) & 1; + } + for (var i = (this._subKeys = []), o = 0; o < 16; o++) { + var c = (i[o] = []), + f = s[o]; + for (n = 0; n < 24; n++) + (c[(n / 6) | 0] |= + t[(u[n] - 1 + f) % 28] << (31 - (n % 6))), + (c[4 + ((n / 6) | 0)] |= + t[28 + ((u[n + 24] - 1 + f) % 28)] << (31 - (n % 6))); + for (c[0] = (c[0] << 1) | (c[0] >>> 31), n = 1; n < 7; n++) + c[n] = c[n] >>> (4 * (n - 1) + 3); + c[7] = (c[7] << 5) | (c[7] >>> 27); + } + var l = (this._invSubKeys = []); + for (n = 0; n < 16; n++) l[n] = i[15 - n]; + }, + encryptBlock: function (e, t) { + this._doCryptBlock(e, t, this._subKeys); + }, + decryptBlock: function (e, t) { + this._doCryptBlock(e, t, this._invSubKeys); + }, + _doCryptBlock: function (e, t, n) { + (this._lBlock = e[t]), + (this._rBlock = e[t + 1]), + h.call(this, 4, 252645135), + h.call(this, 16, 65535), + p.call(this, 2, 858993459), + p.call(this, 8, 16711935), + h.call(this, 1, 1431655765); + for (var r = 0; r < 16; r++) { + for ( + var i = n[r], + o = this._lBlock, + a = this._rBlock, + u = 0, + s = 0; + s < 8; + s++ + ) + u |= c[s][((a ^ i[s]) & f[s]) >>> 0]; + (this._lBlock = a), (this._rBlock = o ^ u); + } + var l = this._lBlock; + (this._lBlock = this._rBlock), + (this._rBlock = l), + h.call(this, 1, 1431655765), + p.call(this, 8, 16711935), + p.call(this, 2, 858993459), + h.call(this, 16, 65535), + h.call(this, 4, 252645135), + (e[t] = this._lBlock), + (e[t + 1] = this._rBlock); + }, + keySize: 2, + ivSize: 2, + blockSize: 2, + })); + function h(e, t) { + var n = ((this._lBlock >>> e) ^ this._rBlock) & t; + (this._rBlock ^= n), (this._lBlock ^= n << e); + } + function p(e, t) { + var n = ((this._rBlock >>> e) ^ this._lBlock) & t; + (this._lBlock ^= n), (this._rBlock ^= n << e); + } + t.DES = i._createHelper(l); + var d = (o.TripleDES = i.extend({ + _doReset: function () { + var e = this._key.words; + if (2 !== e.length && 4 !== e.length && e.length < 6) + throw new Error( + "Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192." + ); + var t = e.slice(0, 2), + n = e.length < 4 ? e.slice(0, 2) : e.slice(2, 4), + i = e.length < 6 ? e.slice(0, 2) : e.slice(4, 6); + (this._des1 = l.createEncryptor(r.create(t))), + (this._des2 = l.createEncryptor(r.create(n))), + (this._des3 = l.createEncryptor(r.create(i))); + }, + encryptBlock: function (e, t) { + this._des1.encryptBlock(e, t), + this._des2.decryptBlock(e, t), + this._des3.encryptBlock(e, t); + }, + decryptBlock: function (e, t) { + this._des3.decryptBlock(e, t), + this._des2.encryptBlock(e, t), + this._des1.decryptBlock(e, t); + }, + keySize: 6, + ivSize: 2, + blockSize: 2, + })); + t.TripleDES = i._createHelper(d); + })(), + e.TripleDES))), + oc + ); + var e; + })(), + (function () { + return ( + uc || + ((uc = 1), + (yc.exports = + ((e = vu()), + Tu(), + Nu(), + ys(), + ks(), + (function () { + var t = e, + n = t.lib.StreamCipher, + r = t.algo, + i = (r.RC4 = n.extend({ + _doReset: function () { + for ( + var e = this._key, + t = e.words, + n = e.sigBytes, + r = (this._S = []), + i = 0; + i < 256; + i++ + ) + r[i] = i; + i = 0; + for (var o = 0; i < 256; i++) { + var a = i % n, + u = (t[a >>> 2] >>> (24 - (a % 4) * 8)) & 255; + o = (o + r[i] + u) % 256; + var s = r[i]; + (r[i] = r[o]), (r[o] = s); + } + this._i = this._j = 0; + }, + _doProcessBlock: function (e, t) { + e[t] ^= o.call(this); + }, + keySize: 8, + ivSize: 0, + })); + function o() { + for ( + var e = this._S, t = this._i, n = this._j, r = 0, i = 0; + i < 4; + i++ + ) { + n = (n + e[(t = (t + 1) % 256)]) % 256; + var o = e[t]; + (e[t] = e[n]), + (e[n] = o), + (r |= e[(e[t] + e[n]) % 256] << (24 - 8 * i)); + } + return (this._i = t), (this._j = n), r; + } + t.RC4 = n._createHelper(i); + var a = (r.RC4Drop = i.extend({ + cfg: i.cfg.extend({ drop: 192 }), + _doReset: function () { + i._doReset.call(this); + for (var e = this.cfg.drop; e > 0; e--) o.call(this); + }, + })); + t.RC4Drop = n._createHelper(a); + })(), + e.RC4))), + gc + ); + var e; + })(), + (function () { + return ( + sc || + ((sc = 1), + (mc.exports = + ((e = vu()), + Tu(), + Nu(), + ys(), + ks(), + (function () { + var t = e, + n = t.lib.StreamCipher, + r = t.algo, + i = [], + o = [], + a = [], + u = (r.Rabbit = n.extend({ + _doReset: function () { + for ( + var e = this._key.words, t = this.cfg.iv, n = 0; + n < 4; + n++ + ) + e[n] = + (16711935 & ((e[n] << 8) | (e[n] >>> 24))) | + (4278255360 & ((e[n] << 24) | (e[n] >>> 8))); + var r = (this._X = [ + e[0], + (e[3] << 16) | (e[2] >>> 16), + e[1], + (e[0] << 16) | (e[3] >>> 16), + e[2], + (e[1] << 16) | (e[0] >>> 16), + e[3], + (e[2] << 16) | (e[1] >>> 16), + ]), + i = (this._C = [ + (e[2] << 16) | (e[2] >>> 16), + (4294901760 & e[0]) | (65535 & e[1]), + (e[3] << 16) | (e[3] >>> 16), + (4294901760 & e[1]) | (65535 & e[2]), + (e[0] << 16) | (e[0] >>> 16), + (4294901760 & e[2]) | (65535 & e[3]), + (e[1] << 16) | (e[1] >>> 16), + (4294901760 & e[3]) | (65535 & e[0]), + ]); + for (this._b = 0, n = 0; n < 4; n++) s.call(this); + for (n = 0; n < 8; n++) i[n] ^= r[(n + 4) & 7]; + if (t) { + var o = t.words, + a = o[0], + u = o[1], + c = + (16711935 & ((a << 8) | (a >>> 24))) | + (4278255360 & ((a << 24) | (a >>> 8))), + f = + (16711935 & ((u << 8) | (u >>> 24))) | + (4278255360 & ((u << 24) | (u >>> 8))), + l = (c >>> 16) | (4294901760 & f), + h = (f << 16) | (65535 & c); + for ( + i[0] ^= c, + i[1] ^= l, + i[2] ^= f, + i[3] ^= h, + i[4] ^= c, + i[5] ^= l, + i[6] ^= f, + i[7] ^= h, + n = 0; + n < 4; + n++ + ) + s.call(this); + } + }, + _doProcessBlock: function (e, t) { + var n = this._X; + s.call(this), + (i[0] = n[0] ^ (n[5] >>> 16) ^ (n[3] << 16)), + (i[1] = n[2] ^ (n[7] >>> 16) ^ (n[5] << 16)), + (i[2] = n[4] ^ (n[1] >>> 16) ^ (n[7] << 16)), + (i[3] = n[6] ^ (n[3] >>> 16) ^ (n[1] << 16)); + for (var r = 0; r < 4; r++) + (i[r] = + (16711935 & ((i[r] << 8) | (i[r] >>> 24))) | + (4278255360 & ((i[r] << 24) | (i[r] >>> 8)))), + (e[t + r] ^= i[r]); + }, + blockSize: 4, + ivSize: 2, + })); + function s() { + for (var e = this._X, t = this._C, n = 0; n < 8; n++) o[n] = t[n]; + for ( + t[0] = (t[0] + 1295307597 + this._b) | 0, + t[1] = + (t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0)) | 0, + t[2] = + (t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0)) | 0, + t[3] = + (t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0)) | 0, + t[4] = + (t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0)) | 0, + t[5] = + (t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0)) | 0, + t[6] = + (t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0)) | 0, + t[7] = + (t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0)) | 0, + this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0, + n = 0; + n < 8; + n++ + ) { + var r = e[n] + t[n], + i = 65535 & r, + u = r >>> 16, + s = ((((i * i) >>> 17) + i * u) >>> 15) + u * u, + c = (((4294901760 & r) * r) | 0) + (((65535 & r) * r) | 0); + a[n] = s ^ c; + } + (e[0] = + (a[0] + + ((a[7] << 16) | (a[7] >>> 16)) + + ((a[6] << 16) | (a[6] >>> 16))) | + 0), + (e[1] = (a[1] + ((a[0] << 8) | (a[0] >>> 24)) + a[7]) | 0), + (e[2] = + (a[2] + + ((a[1] << 16) | (a[1] >>> 16)) + + ((a[0] << 16) | (a[0] >>> 16))) | + 0), + (e[3] = (a[3] + ((a[2] << 8) | (a[2] >>> 24)) + a[1]) | 0), + (e[4] = + (a[4] + + ((a[3] << 16) | (a[3] >>> 16)) + + ((a[2] << 16) | (a[2] >>> 16))) | + 0), + (e[5] = (a[5] + ((a[4] << 8) | (a[4] >>> 24)) + a[3]) | 0), + (e[6] = + (a[6] + + ((a[5] << 16) | (a[5] >>> 16)) + + ((a[4] << 16) | (a[4] >>> 16))) | + 0), + (e[7] = (a[7] + ((a[6] << 8) | (a[6] >>> 24)) + a[5]) | 0); + } + t.Rabbit = n._createHelper(u); + })(), + e.Rabbit))), + _c + ); + var e; + })(), + (function () { + return ( + cc || + ((cc = 1), + (kc.exports = + ((e = vu()), + Tu(), + Nu(), + ys(), + ks(), + (function () { + var t = e, + n = t.lib.StreamCipher, + r = t.algo, + i = [], + o = [], + a = [], + u = (r.RabbitLegacy = n.extend({ + _doReset: function () { + var e = this._key.words, + t = this.cfg.iv, + n = (this._X = [ + e[0], + (e[3] << 16) | (e[2] >>> 16), + e[1], + (e[0] << 16) | (e[3] >>> 16), + e[2], + (e[1] << 16) | (e[0] >>> 16), + e[3], + (e[2] << 16) | (e[1] >>> 16), + ]), + r = (this._C = [ + (e[2] << 16) | (e[2] >>> 16), + (4294901760 & e[0]) | (65535 & e[1]), + (e[3] << 16) | (e[3] >>> 16), + (4294901760 & e[1]) | (65535 & e[2]), + (e[0] << 16) | (e[0] >>> 16), + (4294901760 & e[2]) | (65535 & e[3]), + (e[1] << 16) | (e[1] >>> 16), + (4294901760 & e[3]) | (65535 & e[0]), + ]); + this._b = 0; + for (var i = 0; i < 4; i++) s.call(this); + for (i = 0; i < 8; i++) r[i] ^= n[(i + 4) & 7]; + if (t) { + var o = t.words, + a = o[0], + u = o[1], + c = + (16711935 & ((a << 8) | (a >>> 24))) | + (4278255360 & ((a << 24) | (a >>> 8))), + f = + (16711935 & ((u << 8) | (u >>> 24))) | + (4278255360 & ((u << 24) | (u >>> 8))), + l = (c >>> 16) | (4294901760 & f), + h = (f << 16) | (65535 & c); + for ( + r[0] ^= c, + r[1] ^= l, + r[2] ^= f, + r[3] ^= h, + r[4] ^= c, + r[5] ^= l, + r[6] ^= f, + r[7] ^= h, + i = 0; + i < 4; + i++ + ) + s.call(this); + } + }, + _doProcessBlock: function (e, t) { + var n = this._X; + s.call(this), + (i[0] = n[0] ^ (n[5] >>> 16) ^ (n[3] << 16)), + (i[1] = n[2] ^ (n[7] >>> 16) ^ (n[5] << 16)), + (i[2] = n[4] ^ (n[1] >>> 16) ^ (n[7] << 16)), + (i[3] = n[6] ^ (n[3] >>> 16) ^ (n[1] << 16)); + for (var r = 0; r < 4; r++) + (i[r] = + (16711935 & ((i[r] << 8) | (i[r] >>> 24))) | + (4278255360 & ((i[r] << 24) | (i[r] >>> 8)))), + (e[t + r] ^= i[r]); + }, + blockSize: 4, + ivSize: 2, + })); + function s() { + for (var e = this._X, t = this._C, n = 0; n < 8; n++) o[n] = t[n]; + for ( + t[0] = (t[0] + 1295307597 + this._b) | 0, + t[1] = + (t[1] + 3545052371 + (t[0] >>> 0 < o[0] >>> 0 ? 1 : 0)) | 0, + t[2] = + (t[2] + 886263092 + (t[1] >>> 0 < o[1] >>> 0 ? 1 : 0)) | 0, + t[3] = + (t[3] + 1295307597 + (t[2] >>> 0 < o[2] >>> 0 ? 1 : 0)) | 0, + t[4] = + (t[4] + 3545052371 + (t[3] >>> 0 < o[3] >>> 0 ? 1 : 0)) | 0, + t[5] = + (t[5] + 886263092 + (t[4] >>> 0 < o[4] >>> 0 ? 1 : 0)) | 0, + t[6] = + (t[6] + 1295307597 + (t[5] >>> 0 < o[5] >>> 0 ? 1 : 0)) | 0, + t[7] = + (t[7] + 3545052371 + (t[6] >>> 0 < o[6] >>> 0 ? 1 : 0)) | 0, + this._b = t[7] >>> 0 < o[7] >>> 0 ? 1 : 0, + n = 0; + n < 8; + n++ + ) { + var r = e[n] + t[n], + i = 65535 & r, + u = r >>> 16, + s = ((((i * i) >>> 17) + i * u) >>> 15) + u * u, + c = (((4294901760 & r) * r) | 0) + (((65535 & r) * r) | 0); + a[n] = s ^ c; + } + (e[0] = + (a[0] + + ((a[7] << 16) | (a[7] >>> 16)) + + ((a[6] << 16) | (a[6] >>> 16))) | + 0), + (e[1] = (a[1] + ((a[0] << 8) | (a[0] >>> 24)) + a[7]) | 0), + (e[2] = + (a[2] + + ((a[1] << 16) | (a[1] >>> 16)) + + ((a[0] << 16) | (a[0] >>> 16))) | + 0), + (e[3] = (a[3] + ((a[2] << 8) | (a[2] >>> 24)) + a[1]) | 0), + (e[4] = + (a[4] + + ((a[3] << 16) | (a[3] >>> 16)) + + ((a[2] << 16) | (a[2] >>> 16))) | + 0), + (e[5] = (a[5] + ((a[4] << 8) | (a[4] >>> 24)) + a[3]) | 0), + (e[6] = + (a[6] + + ((a[5] << 16) | (a[5] >>> 16)) + + ((a[4] << 16) | (a[4] >>> 16))) | + 0), + (e[7] = (a[7] + ((a[6] << 8) | (a[6] >>> 24)) + a[5]) | 0); + } + t.RabbitLegacy = n._createHelper(u); + })(), + e.RabbitLegacy))), + wc + ); + var e; + })() +); +var bc, + xc, + Sc = fu, + Ac = {}; +(bc = { + get exports() { + return Ac; + }, + set exports(e) { + Ac = e; + }, +}), + (xc = Ac), + function () { + var e, + t = "Expected a function", + n = "__lodash_hash_undefined__", + r = "__lodash_placeholder__", + i = 32, + o = 128, + a = 1 / 0, + u = 9007199254740991, + s = NaN, + c = 4294967295, + l = [ + ["ary", o], + ["bind", 1], + ["bindKey", 2], + ["curry", 8], + ["curryRight", 16], + ["flip", 512], + ["partial", i], + ["partialRight", 64], + ["rearg", 256], + ], + h = "[object Arguments]", + p = "[object Array]", + d = "[object Boolean]", + v = "[object Date]", + g = "[object Error]", + y = "[object Function]", + _ = "[object GeneratorFunction]", + m = "[object Map]", + w = "[object Number]", + k = "[object Object]", + b = "[object Promise]", + x = "[object RegExp]", + S = "[object Set]", + A = "[object String]", + I = "[object Symbol]", + O = "[object WeakMap]", + P = "[object ArrayBuffer]", + T = "[object DataView]", + E = "[object Float32Array]", + C = "[object Float64Array]", + R = "[object Int8Array]", + L = "[object Int16Array]", + D = "[object Int32Array]", + B = "[object Uint8Array]", + N = "[object Uint8ClampedArray]", + U = "[object Uint16Array]", + j = "[object Uint32Array]", + M = /\b__p \+= '';/g, + $ = /\b(__p \+=) '' \+/g, + F = /(__e\(.*?\)|\b__t\)) \+\n'';/g, + H = /&(?:amp|lt|gt|quot|#39);/g, + q = /[&<>"']/g, + z = RegExp(H.source), + W = RegExp(q.source), + V = /<%-([\s\S]+?)%>/g, + K = /<%([\s\S]+?)%>/g, + J = /<%=([\s\S]+?)%>/g, + G = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + Y = /^\w*$/, + X = + /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g, + Q = /[\\^$.*+?()[\]{}|]/g, + Z = RegExp(Q.source), + ee = /^\s+/, + te = /\s/, + ne = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, + re = /\{\n\/\* \[wrapped with (.+)\] \*/, + ie = /,? & /, + oe = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g, + ae = /[()=,{}\[\]\/\s]/, + ue = /\\(\\)?/g, + se = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g, + ce = /\w*$/, + fe = /^[-+]0x[0-9a-f]+$/i, + le = /^0b[01]+$/i, + he = /^\[object .+?Constructor\]$/, + pe = /^0o[0-7]+$/i, + de = /^(?:0|[1-9]\d*)$/, + ve = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g, + ge = /($^)/, + ye = /['\n\r\u2028\u2029\\]/g, + _e = "\\ud800-\\udfff", + me = "\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff", + we = "\\u2700-\\u27bf", + ke = "a-z\\xdf-\\xf6\\xf8-\\xff", + be = "A-Z\\xc0-\\xd6\\xd8-\\xde", + xe = "\\ufe0e\\ufe0f", + Se = + "\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", + Ae = "[" + _e + "]", + Ie = "[" + Se + "]", + Oe = "[" + me + "]", + Pe = "\\d+", + Te = "[" + we + "]", + Ee = "[" + ke + "]", + Ce = "[^" + _e + Se + Pe + we + ke + be + "]", + Re = "\\ud83c[\\udffb-\\udfff]", + Le = "[^" + _e + "]", + De = "(?:\\ud83c[\\udde6-\\uddff]){2}", + Be = "[\\ud800-\\udbff][\\udc00-\\udfff]", + Ne = "[" + be + "]", + Ue = "(?:" + Ee + "|" + Ce + ")", + je = "(?:" + Ne + "|" + Ce + ")", + Me = "(?:['’](?:d|ll|m|re|s|t|ve))?", + $e = "(?:['’](?:D|LL|M|RE|S|T|VE))?", + Fe = "(?:" + Oe + "|" + Re + ")?", + He = "[" + xe + "]?", + qe = + He + + Fe + + "(?:\\u200d(?:" + + [Le, De, Be].join("|") + + ")" + + He + + Fe + + ")*", + ze = "(?:" + [Te, De, Be].join("|") + ")" + qe, + We = "(?:" + [Le + Oe + "?", Oe, De, Be, Ae].join("|") + ")", + Ve = RegExp("['’]", "g"), + Ke = RegExp(Oe, "g"), + Je = RegExp(Re + "(?=" + Re + ")|" + We + qe, "g"), + Ge = RegExp( + [ + Ne + "?" + Ee + "+" + Me + "(?=" + [Ie, Ne, "$"].join("|") + ")", + je + "+" + $e + "(?=" + [Ie, Ne + Ue, "$"].join("|") + ")", + Ne + "?" + Ue + "+" + Me, + Ne + "+" + $e, + "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", + "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", + Pe, + ze, + ].join("|"), + "g" + ), + Ye = RegExp("[\\u200d" + _e + me + xe + "]"), + Xe = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/, + Qe = [ + "Array", + "Buffer", + "DataView", + "Date", + "Error", + "Float32Array", + "Float64Array", + "Function", + "Int8Array", + "Int16Array", + "Int32Array", + "Map", + "Math", + "Object", + "Promise", + "RegExp", + "Set", + "String", + "Symbol", + "TypeError", + "Uint8Array", + "Uint8ClampedArray", + "Uint16Array", + "Uint32Array", + "WeakMap", + "_", + "clearTimeout", + "isFinite", + "parseInt", + "setTimeout", + ], + Ze = -1, + et = {}; + (et[E] = + et[C] = + et[R] = + et[L] = + et[D] = + et[B] = + et[N] = + et[U] = + et[j] = + !0), + (et[h] = + et[p] = + et[P] = + et[d] = + et[T] = + et[v] = + et[g] = + et[y] = + et[m] = + et[w] = + et[k] = + et[x] = + et[S] = + et[A] = + et[O] = + !1); + var tt = {}; + (tt[h] = + tt[p] = + tt[P] = + tt[T] = + tt[d] = + tt[v] = + tt[E] = + tt[C] = + tt[R] = + tt[L] = + tt[D] = + tt[m] = + tt[w] = + tt[k] = + tt[x] = + tt[S] = + tt[A] = + tt[I] = + tt[B] = + tt[N] = + tt[U] = + tt[j] = + !0), + (tt[g] = tt[y] = tt[O] = !1); + var nt = { + "\\": "\\", + "'": "'", + "\n": "n", + "\r": "r", + "\u2028": "u2028", + "\u2029": "u2029", + }, + rt = parseFloat, + it = parseInt, + ot = "object" == f(su) && su && su.Object === Object && su, + at = + "object" == ("undefined" == typeof self ? "undefined" : f(self)) && + self && + self.Object === Object && + self, + ut = ot || at || Function("return this")(), + st = xc && !xc.nodeType && xc, + ct = st && bc && !bc.nodeType && bc, + ft = ct && ct.exports === st, + lt = ft && ot.process, + ht = (function () { + try { + return ( + (ct && ct.require && ct.require("util").types) || + (lt && lt.binding && lt.binding("util")) + ); + } catch (e) {} + })(), + pt = ht && ht.isArrayBuffer, + dt = ht && ht.isDate, + vt = ht && ht.isMap, + gt = ht && ht.isRegExp, + yt = ht && ht.isSet, + _t = ht && ht.isTypedArray; + function mt(e, t, n) { + switch (n.length) { + case 0: + return e.call(t); + case 1: + return e.call(t, n[0]); + case 2: + return e.call(t, n[0], n[1]); + case 3: + return e.call(t, n[0], n[1], n[2]); + } + return e.apply(t, n); + } + function wt(e, t, n, r) { + for (var i = -1, o = null == e ? 0 : e.length; ++i < o; ) { + var a = e[i]; + t(r, a, n(a), e); + } + return r; + } + function kt(e, t) { + for ( + var n = -1, r = null == e ? 0 : e.length; + ++n < r && !1 !== t(e[n], n, e); + + ); + return e; + } + function bt(e, t) { + for (var n = null == e ? 0 : e.length; n-- && !1 !== t(e[n], n, e); ); + return e; + } + function xt(e, t) { + for (var n = -1, r = null == e ? 0 : e.length; ++n < r; ) + if (!t(e[n], n, e)) return !1; + return !0; + } + function St(e, t) { + for (var n = -1, r = null == e ? 0 : e.length, i = 0, o = []; ++n < r; ) { + var a = e[n]; + t(a, n, e) && (o[i++] = a); + } + return o; + } + function At(e, t) { + return !(null == e || !e.length) && Bt(e, t, 0) > -1; + } + function It(e, t, n) { + for (var r = -1, i = null == e ? 0 : e.length; ++r < i; ) + if (n(t, e[r])) return !0; + return !1; + } + function Ot(e, t) { + for (var n = -1, r = null == e ? 0 : e.length, i = Array(r); ++n < r; ) + i[n] = t(e[n], n, e); + return i; + } + function Pt(e, t) { + for (var n = -1, r = t.length, i = e.length; ++n < r; ) e[i + n] = t[n]; + return e; + } + function Tt(e, t, n, r) { + var i = -1, + o = null == e ? 0 : e.length; + for (r && o && (n = e[++i]); ++i < o; ) n = t(n, e[i], i, e); + return n; + } + function Et(e, t, n, r) { + var i = null == e ? 0 : e.length; + for (r && i && (n = e[--i]); i--; ) n = t(n, e[i], i, e); + return n; + } + function Ct(e, t) { + for (var n = -1, r = null == e ? 0 : e.length; ++n < r; ) + if (t(e[n], n, e)) return !0; + return !1; + } + var Rt = Mt("length"); + function Lt(e, t, n) { + var r; + return ( + n(e, function (e, n, i) { + if (t(e, n, i)) return (r = n), !1; + }), + r + ); + } + function Dt(e, t, n, r) { + for (var i = e.length, o = n + (r ? 1 : -1); r ? o-- : ++o < i; ) + if (t(e[o], o, e)) return o; + return -1; + } + function Bt(e, t, n) { + return t == t + ? (function (e, t, n) { + for (var r = n - 1, i = e.length; ++r < i; ) + if (e[r] === t) return r; + return -1; + })(e, t, n) + : Dt(e, Ut, n); + } + function Nt(e, t, n, r) { + for (var i = n - 1, o = e.length; ++i < o; ) if (r(e[i], t)) return i; + return -1; + } + function Ut(e) { + return e != e; + } + function jt(e, t) { + var n = null == e ? 0 : e.length; + return n ? Ht(e, t) / n : s; + } + function Mt(t) { + return function (n) { + return null == n ? e : n[t]; + }; + } + function $t(t) { + return function (n) { + return null == t ? e : t[n]; + }; + } + function Ft(e, t, n, r, i) { + return ( + i(e, function (e, i, o) { + n = r ? ((r = !1), e) : t(n, e, i, o); + }), + n + ); + } + function Ht(t, n) { + for (var r, i = -1, o = t.length; ++i < o; ) { + var a = n(t[i]); + a !== e && (r = r === e ? a : r + a); + } + return r; + } + function qt(e, t) { + for (var n = -1, r = Array(e); ++n < e; ) r[n] = t(n); + return r; + } + function zt(e) { + return e ? e.slice(0, un(e) + 1).replace(ee, "") : e; + } + function Wt(e) { + return function (t) { + return e(t); + }; + } + function Vt(e, t) { + return Ot(t, function (t) { + return e[t]; + }); + } + function Kt(e, t) { + return e.has(t); + } + function Jt(e, t) { + for (var n = -1, r = e.length; ++n < r && Bt(t, e[n], 0) > -1; ); + return n; + } + function Gt(e, t) { + for (var n = e.length; n-- && Bt(t, e[n], 0) > -1; ); + return n; + } + var Yt = $t({ + À: "A", + Á: "A", + Â: "A", + Ã: "A", + Ä: "A", + Å: "A", + à: "a", + á: "a", + â: "a", + ã: "a", + ä: "a", + å: "a", + Ç: "C", + ç: "c", + Ð: "D", + ð: "d", + È: "E", + É: "E", + Ê: "E", + Ë: "E", + è: "e", + é: "e", + ê: "e", + ë: "e", + Ì: "I", + Í: "I", + Î: "I", + Ï: "I", + ì: "i", + í: "i", + î: "i", + ï: "i", + Ñ: "N", + ñ: "n", + Ò: "O", + Ó: "O", + Ô: "O", + Õ: "O", + Ö: "O", + Ø: "O", + ò: "o", + ó: "o", + ô: "o", + õ: "o", + ö: "o", + ø: "o", + Ù: "U", + Ú: "U", + Û: "U", + Ü: "U", + ù: "u", + ú: "u", + û: "u", + ü: "u", + Ý: "Y", + ý: "y", + ÿ: "y", + Æ: "Ae", + æ: "ae", + Þ: "Th", + þ: "th", + ß: "ss", + Ā: "A", + Ă: "A", + Ą: "A", + ā: "a", + ă: "a", + ą: "a", + Ć: "C", + Ĉ: "C", + Ċ: "C", + Č: "C", + ć: "c", + ĉ: "c", + ċ: "c", + č: "c", + Ď: "D", + Đ: "D", + ď: "d", + đ: "d", + Ē: "E", + Ĕ: "E", + Ė: "E", + Ę: "E", + Ě: "E", + ē: "e", + ĕ: "e", + ė: "e", + ę: "e", + ě: "e", + Ĝ: "G", + Ğ: "G", + Ġ: "G", + Ģ: "G", + ĝ: "g", + ğ: "g", + ġ: "g", + ģ: "g", + Ĥ: "H", + Ħ: "H", + ĥ: "h", + ħ: "h", + Ĩ: "I", + Ī: "I", + Ĭ: "I", + Į: "I", + İ: "I", + ĩ: "i", + ī: "i", + ĭ: "i", + į: "i", + ı: "i", + Ĵ: "J", + ĵ: "j", + Ķ: "K", + ķ: "k", + ĸ: "k", + Ĺ: "L", + Ļ: "L", + Ľ: "L", + Ŀ: "L", + Ł: "L", + ĺ: "l", + ļ: "l", + ľ: "l", + ŀ: "l", + ł: "l", + Ń: "N", + Ņ: "N", + Ň: "N", + Ŋ: "N", + ń: "n", + ņ: "n", + ň: "n", + ŋ: "n", + Ō: "O", + Ŏ: "O", + Ő: "O", + ō: "o", + ŏ: "o", + ő: "o", + Ŕ: "R", + Ŗ: "R", + Ř: "R", + ŕ: "r", + ŗ: "r", + ř: "r", + Ś: "S", + Ŝ: "S", + Ş: "S", + Š: "S", + ś: "s", + ŝ: "s", + ş: "s", + š: "s", + Ţ: "T", + Ť: "T", + Ŧ: "T", + ţ: "t", + ť: "t", + ŧ: "t", + Ũ: "U", + Ū: "U", + Ŭ: "U", + Ů: "U", + Ű: "U", + Ų: "U", + ũ: "u", + ū: "u", + ŭ: "u", + ů: "u", + ű: "u", + ų: "u", + Ŵ: "W", + ŵ: "w", + Ŷ: "Y", + ŷ: "y", + Ÿ: "Y", + Ź: "Z", + Ż: "Z", + Ž: "Z", + ź: "z", + ż: "z", + ž: "z", + IJ: "IJ", + ij: "ij", + Œ: "Oe", + œ: "oe", + ʼn: "'n", + ſ: "s", + }), + Xt = $t({ + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'", + }); + function Qt(e) { + return "\\" + nt[e]; + } + function Zt(e) { + return Ye.test(e); + } + function en(e) { + var t = -1, + n = Array(e.size); + return ( + e.forEach(function (e, r) { + n[++t] = [r, e]; + }), + n + ); + } + function tn(e, t) { + return function (n) { + return e(t(n)); + }; + } + function nn(e, t) { + for (var n = -1, i = e.length, o = 0, a = []; ++n < i; ) { + var u = e[n]; + (u !== t && u !== r) || ((e[n] = r), (a[o++] = n)); + } + return a; + } + function rn(e) { + var t = -1, + n = Array(e.size); + return ( + e.forEach(function (e) { + n[++t] = e; + }), + n + ); + } + function on(e) { + return Zt(e) + ? (function (e) { + for (var t = (Je.lastIndex = 0); Je.test(e); ) ++t; + return t; + })(e) + : Rt(e); + } + function an(e) { + return Zt(e) + ? (function (e) { + return e.match(Je) || []; + })(e) + : (function (e) { + return e.split(""); + })(e); + } + function un(e) { + for (var t = e.length; t-- && te.test(e.charAt(t)); ); + return t; + } + var sn = $t({ + "&": "&", + "<": "<", + ">": ">", + """: '"', + "'": "'", + }), + cn = (function te(_e) { + var me, + we = (_e = + null == _e ? ut : cn.defaults(ut.Object(), _e, cn.pick(ut, Qe))) + .Array, + ke = _e.Date, + be = _e.Error, + xe = _e.Function, + Se = _e.Math, + Ae = _e.Object, + Ie = _e.RegExp, + Oe = _e.String, + Pe = _e.TypeError, + Te = we.prototype, + Ee = xe.prototype, + Ce = Ae.prototype, + Re = _e["__core-js_shared__"], + Le = Ee.toString, + De = Ce.hasOwnProperty, + Be = 0, + Ne = (me = /[^.]+$/.exec((Re && Re.keys && Re.keys.IE_PROTO) || "")) + ? "Symbol(src)_1." + me + : "", + Ue = Ce.toString, + je = Le.call(Ae), + Me = ut._, + $e = Ie( + "^" + + Le.call(De) + .replace(Q, "\\$&") + .replace( + /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, + "$1.*?" + ) + + "$" + ), + Fe = ft ? _e.Buffer : e, + He = _e.Symbol, + qe = _e.Uint8Array, + ze = Fe ? Fe.allocUnsafe : e, + We = tn(Ae.getPrototypeOf, Ae), + Je = Ae.create, + Ye = Ce.propertyIsEnumerable, + nt = Te.splice, + ot = He ? He.isConcatSpreadable : e, + at = He ? He.iterator : e, + st = He ? He.toStringTag : e, + ct = (function () { + try { + var e = so(Ae, "defineProperty"); + return e({}, "", {}), e; + } catch (e) {} + })(), + lt = _e.clearTimeout !== ut.clearTimeout && _e.clearTimeout, + ht = ke && ke.now !== ut.Date.now && ke.now, + Rt = _e.setTimeout !== ut.setTimeout && _e.setTimeout, + $t = Se.ceil, + fn = Se.floor, + ln = Ae.getOwnPropertySymbols, + hn = Fe ? Fe.isBuffer : e, + pn = _e.isFinite, + dn = Te.join, + vn = tn(Ae.keys, Ae), + gn = Se.max, + yn = Se.min, + _n = ke.now, + mn = _e.parseInt, + wn = Se.random, + kn = Te.reverse, + bn = so(_e, "DataView"), + xn = so(_e, "Map"), + Sn = so(_e, "Promise"), + An = so(_e, "Set"), + In = so(_e, "WeakMap"), + On = so(Ae, "create"), + Pn = In && new In(), + Tn = {}, + En = Uo(bn), + Cn = Uo(xn), + Rn = Uo(Sn), + Ln = Uo(An), + Dn = Uo(In), + Bn = He ? He.prototype : e, + Nn = Bn ? Bn.valueOf : e, + Un = Bn ? Bn.toString : e; + function jn(e) { + if (eu(e) && !qa(e) && !(e instanceof Hn)) { + if (e instanceof Fn) return e; + if (De.call(e, "__wrapped__")) return jo(e); + } + return new Fn(e); + } + var Mn = (function () { + function t() {} + return function (n) { + if (!Za(n)) return {}; + if (Je) return Je(n); + t.prototype = n; + var r = new t(); + return (t.prototype = e), r; + }; + })(); + function $n() {} + function Fn(t, n) { + (this.__wrapped__ = t), + (this.__actions__ = []), + (this.__chain__ = !!n), + (this.__index__ = 0), + (this.__values__ = e); + } + function Hn(e) { + (this.__wrapped__ = e), + (this.__actions__ = []), + (this.__dir__ = 1), + (this.__filtered__ = !1), + (this.__iteratees__ = []), + (this.__takeCount__ = c), + (this.__views__ = []); + } + function qn(e) { + var t = -1, + n = null == e ? 0 : e.length; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function zn(e) { + var t = -1, + n = null == e ? 0 : e.length; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function Wn(e) { + var t = -1, + n = null == e ? 0 : e.length; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function Vn(e) { + var t = -1, + n = null == e ? 0 : e.length; + for (this.__data__ = new Wn(); ++t < n; ) this.add(e[t]); + } + function Kn(e) { + var t = (this.__data__ = new zn(e)); + this.size = t.size; + } + function Jn(e, t) { + var n = qa(e), + r = !n && Ha(e), + i = !n && !r && Ka(e), + o = !n && !r && !i && su(e), + a = n || r || i || o, + u = a ? qt(e.length, Oe) : [], + s = u.length; + for (var c in e) + (!t && !De.call(e, c)) || + (a && + ("length" == c || + (i && ("offset" == c || "parent" == c)) || + (o && + ("buffer" == c || + "byteLength" == c || + "byteOffset" == c)) || + go(c, s))) || + u.push(c); + return u; + } + function Gn(t) { + var n = t.length; + return n ? t[Wr(0, n - 1)] : e; + } + function Yn(e, t) { + return Ro(Ii(e), or(t, 0, e.length)); + } + function Xn(e) { + return Ro(Ii(e)); + } + function Qn(t, n, r) { + ((r !== e && !Ma(t[n], r)) || (r === e && !(n in t))) && rr(t, n, r); + } + function Zn(t, n, r) { + var i = t[n]; + (De.call(t, n) && Ma(i, r) && (r !== e || n in t)) || rr(t, n, r); + } + function er(e, t) { + for (var n = e.length; n--; ) if (Ma(e[n][0], t)) return n; + return -1; + } + function tr(e, t, n, r) { + return ( + fr(e, function (e, i, o) { + t(r, e, n(e), o); + }), + r + ); + } + function nr(e, t) { + return e && Oi(t, Eu(t), e); + } + function rr(e, t, n) { + "__proto__" == t && ct + ? ct(e, t, { + configurable: !0, + enumerable: !0, + value: n, + writable: !0, + }) + : (e[t] = n); + } + function ir(t, n) { + for (var r = -1, i = n.length, o = we(i), a = null == t; ++r < i; ) + o[r] = a ? e : Au(t, n[r]); + return o; + } + function or(t, n, r) { + return ( + t == t && + (r !== e && (t = t <= r ? t : r), + n !== e && (t = t >= n ? t : n)), + t + ); + } + function ar(t, n, r, i, o, a) { + var u, + s = 1 & n, + c = 2 & n, + f = 4 & n; + if ((r && (u = o ? r(t, i, o, a) : r(t)), u !== e)) return u; + if (!Za(t)) return t; + var l = qa(t); + if (l) { + if ( + ((u = (function (e) { + var t = e.length, + n = new e.constructor(t); + return ( + t && + "string" == typeof e[0] && + De.call(e, "index") && + ((n.index = e.index), (n.input = e.input)), + n + ); + })(t)), + !s) + ) + return Ii(t, u); + } else { + var p = lo(t), + g = p == y || p == _; + if (Ka(t)) return wi(t, s); + if (p == k || p == h || (g && !o)) { + if (((u = c || g ? {} : po(t)), !s)) + return c + ? (function (e, t) { + return Oi(e, fo(e), t); + })( + t, + (function (e, t) { + return e && Oi(t, Cu(t), e); + })(u, t) + ) + : (function (e, t) { + return Oi(e, co(e), t); + })(t, nr(u, t)); + } else { + if (!tt[p]) return o ? t : {}; + u = (function (e, t, n) { + var r, + i = e.constructor; + switch (t) { + case P: + return ki(e); + case d: + case v: + return new i(+e); + case T: + return (function (e, t) { + var n = t ? ki(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.byteLength); + })(e, n); + case E: + case C: + case R: + case L: + case D: + case B: + case N: + case U: + case j: + return bi(e, n); + case m: + return new i(); + case w: + case A: + return new i(e); + case x: + return (function (e) { + var t = new e.constructor(e.source, ce.exec(e)); + return (t.lastIndex = e.lastIndex), t; + })(e); + case S: + return new i(); + case I: + return (r = e), Nn ? Ae(Nn.call(r)) : {}; + } + })(t, p, s); + } + } + a || (a = new Kn()); + var b = a.get(t); + if (b) return b; + a.set(t, u), + ou(t) + ? t.forEach(function (e) { + u.add(ar(e, n, r, e, t, a)); + }) + : tu(t) && + t.forEach(function (e, i) { + u.set(i, ar(e, n, r, i, t, a)); + }); + var O = l ? e : (f ? (c ? to : eo) : c ? Cu : Eu)(t); + return ( + kt(O || t, function (e, i) { + O && (e = t[(i = e)]), Zn(u, i, ar(e, n, r, i, t, a)); + }), + u + ); + } + function ur(t, n, r) { + var i = r.length; + if (null == t) return !i; + for (t = Ae(t); i--; ) { + var o = r[i], + a = n[o], + u = t[o]; + if ((u === e && !(o in t)) || !a(u)) return !1; + } + return !0; + } + function sr(n, r, i) { + if ("function" != typeof n) throw new Pe(t); + return Po(function () { + n.apply(e, i); + }, r); + } + function cr(e, t, n, r) { + var i = -1, + o = At, + a = !0, + u = e.length, + s = [], + c = t.length; + if (!u) return s; + n && (t = Ot(t, Wt(n))), + r + ? ((o = It), (a = !1)) + : t.length >= 200 && ((o = Kt), (a = !1), (t = new Vn(t))); + e: for (; ++i < u; ) { + var f = e[i], + l = null == n ? f : n(f); + if (((f = r || 0 !== f ? f : 0), a && l == l)) { + for (var h = c; h--; ) if (t[h] === l) continue e; + s.push(f); + } else o(t, l, r) || s.push(f); + } + return s; + } + (jn.templateSettings = { + escape: V, + evaluate: K, + interpolate: J, + variable: "", + imports: { _: jn }, + }), + (jn.prototype = $n.prototype), + (jn.prototype.constructor = jn), + (Fn.prototype = Mn($n.prototype)), + (Fn.prototype.constructor = Fn), + (Hn.prototype = Mn($n.prototype)), + (Hn.prototype.constructor = Hn), + (qn.prototype.clear = function () { + (this.__data__ = On ? On(null) : {}), (this.size = 0); + }), + (qn.prototype.delete = function (e) { + var t = this.has(e) && delete this.__data__[e]; + return (this.size -= t ? 1 : 0), t; + }), + (qn.prototype.get = function (t) { + var r = this.__data__; + if (On) { + var i = r[t]; + return i === n ? e : i; + } + return De.call(r, t) ? r[t] : e; + }), + (qn.prototype.has = function (t) { + var n = this.__data__; + return On ? n[t] !== e : De.call(n, t); + }), + (qn.prototype.set = function (t, r) { + var i = this.__data__; + return ( + (this.size += this.has(t) ? 0 : 1), + (i[t] = On && r === e ? n : r), + this + ); + }), + (zn.prototype.clear = function () { + (this.__data__ = []), (this.size = 0); + }), + (zn.prototype.delete = function (e) { + var t = this.__data__, + n = er(t, e); + return !( + n < 0 || + (n == t.length - 1 ? t.pop() : nt.call(t, n, 1), --this.size, 0) + ); + }), + (zn.prototype.get = function (t) { + var n = this.__data__, + r = er(n, t); + return r < 0 ? e : n[r][1]; + }), + (zn.prototype.has = function (e) { + return er(this.__data__, e) > -1; + }), + (zn.prototype.set = function (e, t) { + var n = this.__data__, + r = er(n, e); + return r < 0 ? (++this.size, n.push([e, t])) : (n[r][1] = t), this; + }), + (Wn.prototype.clear = function () { + (this.size = 0), + (this.__data__ = { + hash: new qn(), + map: new (xn || zn)(), + string: new qn(), + }); + }), + (Wn.prototype.delete = function (e) { + var t = ao(this, e).delete(e); + return (this.size -= t ? 1 : 0), t; + }), + (Wn.prototype.get = function (e) { + return ao(this, e).get(e); + }), + (Wn.prototype.has = function (e) { + return ao(this, e).has(e); + }), + (Wn.prototype.set = function (e, t) { + var n = ao(this, e), + r = n.size; + return n.set(e, t), (this.size += n.size == r ? 0 : 1), this; + }), + (Vn.prototype.add = Vn.prototype.push = + function (e) { + return this.__data__.set(e, n), this; + }), + (Vn.prototype.has = function (e) { + return this.__data__.has(e); + }), + (Kn.prototype.clear = function () { + (this.__data__ = new zn()), (this.size = 0); + }), + (Kn.prototype.delete = function (e) { + var t = this.__data__, + n = t.delete(e); + return (this.size = t.size), n; + }), + (Kn.prototype.get = function (e) { + return this.__data__.get(e); + }), + (Kn.prototype.has = function (e) { + return this.__data__.has(e); + }), + (Kn.prototype.set = function (e, t) { + var n = this.__data__; + if (n instanceof zn) { + var r = n.__data__; + if (!xn || r.length < 199) + return r.push([e, t]), (this.size = ++n.size), this; + n = this.__data__ = new Wn(r); + } + return n.set(e, t), (this.size = n.size), this; + }); + var fr = Ei(_r), + lr = Ei(mr, !0); + function hr(e, t) { + var n = !0; + return ( + fr(e, function (e, r, i) { + return (n = !!t(e, r, i)); + }), + n + ); + } + function pr(t, n, r) { + for (var i = -1, o = t.length; ++i < o; ) { + var a = t[i], + u = n(a); + if (null != u && (s === e ? u == u && !uu(u) : r(u, s))) + var s = u, + c = a; + } + return c; + } + function dr(e, t) { + var n = []; + return ( + fr(e, function (e, r, i) { + t(e, r, i) && n.push(e); + }), + n + ); + } + function vr(e, t, n, r, i) { + var o = -1, + a = e.length; + for (n || (n = vo), i || (i = []); ++o < a; ) { + var u = e[o]; + t > 0 && n(u) + ? t > 1 + ? vr(u, t - 1, n, r, i) + : Pt(i, u) + : r || (i[i.length] = u); + } + return i; + } + var gr = Ci(), + yr = Ci(!0); + function _r(e, t) { + return e && gr(e, t, Eu); + } + function mr(e, t) { + return e && yr(e, t, Eu); + } + function wr(e, t) { + return St(t, function (t) { + return Ya(e[t]); + }); + } + function kr(t, n) { + for (var r = 0, i = (n = gi(n, t)).length; null != t && r < i; ) + t = t[No(n[r++])]; + return r && r == i ? t : e; + } + function br(e, t, n) { + var r = t(e); + return qa(e) ? r : Pt(r, n(e)); + } + function xr(t) { + return null == t + ? t === e + ? "[object Undefined]" + : "[object Null]" + : st && st in Ae(t) + ? (function (t) { + var n = De.call(t, st), + r = t[st]; + try { + t[st] = e; + var i = !0; + } catch (e) {} + var o = Ue.call(t); + return i && (n ? (t[st] = r) : delete t[st]), o; + })(t) + : (function (e) { + return Ue.call(e); + })(t); + } + function Sr(e, t) { + return e > t; + } + function Ar(e, t) { + return null != e && De.call(e, t); + } + function Ir(e, t) { + return null != e && t in Ae(e); + } + function Or(t, n, r) { + for ( + var i = r ? It : At, + o = t[0].length, + a = t.length, + u = a, + s = we(a), + c = 1 / 0, + f = []; + u--; + + ) { + var l = t[u]; + u && n && (l = Ot(l, Wt(n))), + (c = yn(l.length, c)), + (s[u] = + !r && (n || (o >= 120 && l.length >= 120)) + ? new Vn(u && l) + : e); + } + l = t[0]; + var h = -1, + p = s[0]; + e: for (; ++h < o && f.length < c; ) { + var d = l[h], + v = n ? n(d) : d; + if (((d = r || 0 !== d ? d : 0), !(p ? Kt(p, v) : i(f, v, r)))) { + for (u = a; --u; ) { + var g = s[u]; + if (!(g ? Kt(g, v) : i(t[u], v, r))) continue e; + } + p && p.push(v), f.push(d); + } + } + return f; + } + function Pr(t, n, r) { + var i = null == (t = Ao(t, (n = gi(n, t)))) ? t : t[No(Go(n))]; + return null == i ? e : mt(i, t, r); + } + function Tr(e) { + return eu(e) && xr(e) == h; + } + function Er(t, n, r, i, o) { + return ( + t === n || + (null == t || null == n || (!eu(t) && !eu(n)) + ? t != t && n != n + : (function (t, n, r, i, o, a) { + var u = qa(t), + s = qa(n), + c = u ? p : lo(t), + f = s ? p : lo(n), + l = (c = c == h ? k : c) == k, + y = (f = f == h ? k : f) == k, + _ = c == f; + if (_ && Ka(t)) { + if (!Ka(n)) return !1; + (u = !0), (l = !1); + } + if (_ && !l) + return ( + a || (a = new Kn()), + u || su(t) + ? Qi(t, n, r, i, o, a) + : (function (e, t, n, r, i, o, a) { + switch (n) { + case T: + if ( + e.byteLength != t.byteLength || + e.byteOffset != t.byteOffset + ) + return !1; + (e = e.buffer), (t = t.buffer); + case P: + return !( + e.byteLength != t.byteLength || + !o(new qe(e), new qe(t)) + ); + case d: + case v: + case w: + return Ma(+e, +t); + case g: + return ( + e.name == t.name && e.message == t.message + ); + case x: + case A: + return e == t + ""; + case m: + var u = en; + case S: + var s = 1 & r; + if ((u || (u = rn), e.size != t.size && !s)) + return !1; + var c = a.get(e); + if (c) return c == t; + (r |= 2), a.set(e, t); + var f = Qi(u(e), u(t), r, i, o, a); + return a.delete(e), f; + case I: + if (Nn) return Nn.call(e) == Nn.call(t); + } + return !1; + })(t, n, c, r, i, o, a) + ); + if (!(1 & r)) { + var b = l && De.call(t, "__wrapped__"), + O = y && De.call(n, "__wrapped__"); + if (b || O) { + var E = b ? t.value() : t, + C = O ? n.value() : n; + return a || (a = new Kn()), o(E, C, r, i, a); + } + } + return ( + !!_ && + (a || (a = new Kn()), + (function (t, n, r, i, o, a) { + var u = 1 & r, + s = eo(t), + c = s.length; + if (c != eo(n).length && !u) return !1; + for (var f = c; f--; ) { + var l = s[f]; + if (!(u ? l in n : De.call(n, l))) return !1; + } + var h = a.get(t), + p = a.get(n); + if (h && p) return h == n && p == t; + var d = !0; + a.set(t, n), a.set(n, t); + for (var v = u; ++f < c; ) { + var g = t[(l = s[f])], + y = n[l]; + if (i) + var _ = u ? i(y, g, l, n, t, a) : i(g, y, l, t, n, a); + if (!(_ === e ? g === y || o(g, y, r, i, a) : _)) { + d = !1; + break; + } + v || (v = "constructor" == l); + } + if (d && !v) { + var m = t.constructor, + w = n.constructor; + m == w || + !("constructor" in t) || + !("constructor" in n) || + ("function" == typeof m && + m instanceof m && + "function" == typeof w && + w instanceof w) || + (d = !1); + } + return a.delete(t), a.delete(n), d; + })(t, n, r, i, o, a)) + ); + })(t, n, r, i, Er, o)) + ); + } + function Cr(t, n, r, i) { + var o = r.length, + a = o, + u = !i; + if (null == t) return !a; + for (t = Ae(t); o--; ) { + var s = r[o]; + if (u && s[2] ? s[1] !== t[s[0]] : !(s[0] in t)) return !1; + } + for (; ++o < a; ) { + var c = (s = r[o])[0], + f = t[c], + l = s[1]; + if (u && s[2]) { + if (f === e && !(c in t)) return !1; + } else { + var h = new Kn(); + if (i) var p = i(f, l, c, t, n, h); + if (!(p === e ? Er(l, f, 3, i, h) : p)) return !1; + } + } + return !0; + } + function Rr(e) { + return ( + !(!Za(e) || ((t = e), Ne && Ne in t)) && + (Ya(e) ? $e : he).test(Uo(e)) + ); + var t; + } + function Lr(e) { + return "function" == typeof e + ? e + : null == e + ? ns + : "object" == f(e) + ? qa(e) + ? jr(e[0], e[1]) + : Ur(e) + : ls(e); + } + function Dr(e) { + if (!ko(e)) return vn(e); + var t = []; + for (var n in Ae(e)) De.call(e, n) && "constructor" != n && t.push(n); + return t; + } + function Br(e, t) { + return e < t; + } + function Nr(e, t) { + var n = -1, + r = Wa(e) ? we(e.length) : []; + return ( + fr(e, function (e, i, o) { + r[++n] = t(e, i, o); + }), + r + ); + } + function Ur(e) { + var t = uo(e); + return 1 == t.length && t[0][2] + ? xo(t[0][0], t[0][1]) + : function (n) { + return n === e || Cr(n, e, t); + }; + } + function jr(t, n) { + return _o(t) && bo(n) + ? xo(No(t), n) + : function (r) { + var i = Au(r, t); + return i === e && i === n ? Iu(r, t) : Er(n, i, 3); + }; + } + function Mr(t, n, r, i, o) { + t !== n && + gr( + n, + function (a, u) { + if ((o || (o = new Kn()), Za(a))) + !(function (t, n, r, i, o, a, u) { + var s = Io(t, r), + c = Io(n, r), + f = u.get(c); + if (f) Qn(t, r, f); + else { + var l = a ? a(s, c, r + "", t, n, u) : e, + h = l === e; + if (h) { + var p = qa(c), + d = !p && Ka(c), + v = !p && !d && su(c); + (l = c), + p || d || v + ? qa(s) + ? (l = s) + : Va(s) + ? (l = Ii(s)) + : d + ? ((h = !1), (l = wi(c, !0))) + : v + ? ((h = !1), (l = bi(c, !0))) + : (l = []) + : ru(c) || Ha(c) + ? ((l = s), + Ha(s) + ? (l = gu(s)) + : (Za(s) && !Ya(s)) || (l = po(c))) + : (h = !1); + } + h && (u.set(c, l), o(l, c, i, a, u), u.delete(c)), + Qn(t, r, l); + } + })(t, n, u, r, Mr, i, o); + else { + var s = i ? i(Io(t, u), a, u + "", t, n, o) : e; + s === e && (s = a), Qn(t, u, s); + } + }, + Cu + ); + } + function $r(t, n) { + var r = t.length; + if (r) return go((n += n < 0 ? r : 0), r) ? t[n] : e; + } + function Fr(e, t, n) { + t = t.length + ? Ot(t, function (e) { + return qa(e) + ? function (t) { + return kr(t, 1 === e.length ? e[0] : e); + } + : e; + }) + : [ns]; + var r = -1; + return ( + (t = Ot(t, Wt(oo()))), + (function (e, t) { + var n = e.length; + for (e.sort(t); n--; ) e[n] = e[n].value; + return e; + })( + Nr(e, function (e, n, i) { + return { + criteria: Ot(t, function (t) { + return t(e); + }), + index: ++r, + value: e, + }; + }), + function (e, t) { + return (function (e, t, n) { + for ( + var r = -1, + i = e.criteria, + o = t.criteria, + a = i.length, + u = n.length; + ++r < a; + + ) { + var s = xi(i[r], o[r]); + if (s) return r >= u ? s : s * ("desc" == n[r] ? -1 : 1); + } + return e.index - t.index; + })(e, t, n); + } + ) + ); + } + function Hr(e, t, n) { + for (var r = -1, i = t.length, o = {}; ++r < i; ) { + var a = t[r], + u = kr(e, a); + n(u, a) && Yr(o, gi(a, e), u); + } + return o; + } + function qr(e, t, n, r) { + var i = r ? Nt : Bt, + o = -1, + a = t.length, + u = e; + for (e === t && (t = Ii(t)), n && (u = Ot(e, Wt(n))); ++o < a; ) + for ( + var s = 0, c = t[o], f = n ? n(c) : c; + (s = i(u, f, s, r)) > -1; + + ) + u !== e && nt.call(u, s, 1), nt.call(e, s, 1); + return e; + } + function zr(e, t) { + for (var n = e ? t.length : 0, r = n - 1; n--; ) { + var i = t[n]; + if (n == r || i !== o) { + var o = i; + go(i) ? nt.call(e, i, 1) : si(e, i); + } + } + return e; + } + function Wr(e, t) { + return e + fn(wn() * (t - e + 1)); + } + function Vr(e, t) { + var n = ""; + if (!e || t < 1 || t > u) return n; + do { + t % 2 && (n += e), (t = fn(t / 2)) && (e += e); + } while (t); + return n; + } + function Kr(e, t) { + return To(So(e, t, ns), e + ""); + } + function Jr(e) { + return Gn(Mu(e)); + } + function Gr(e, t) { + var n = Mu(e); + return Ro(n, or(t, 0, n.length)); + } + function Yr(t, n, r, i) { + if (!Za(t)) return t; + for ( + var o = -1, a = (n = gi(n, t)).length, u = a - 1, s = t; + null != s && ++o < a; + + ) { + var c = No(n[o]), + f = r; + if ("__proto__" === c || "constructor" === c || "prototype" === c) + return t; + if (o != u) { + var l = s[c]; + (f = i ? i(l, c, s) : e) === e && + (f = Za(l) ? l : go(n[o + 1]) ? [] : {}); + } + Zn(s, c, f), (s = s[c]); + } + return t; + } + var Xr = Pn + ? function (e, t) { + return Pn.set(e, t), e; + } + : ns, + Qr = ct + ? function (e, t) { + return ct(e, "toString", { + configurable: !0, + enumerable: !1, + value: Zu(t), + writable: !0, + }); + } + : ns; + function Zr(e) { + return Ro(Mu(e)); + } + function ei(e, t, n) { + var r = -1, + i = e.length; + t < 0 && (t = -t > i ? 0 : i + t), + (n = n > i ? i : n) < 0 && (n += i), + (i = t > n ? 0 : (n - t) >>> 0), + (t >>>= 0); + for (var o = we(i); ++r < i; ) o[r] = e[r + t]; + return o; + } + function ti(e, t) { + var n; + return ( + fr(e, function (e, r, i) { + return !(n = t(e, r, i)); + }), + !!n + ); + } + function ni(e, t, n) { + var r = 0, + i = null == e ? r : e.length; + if ("number" == typeof t && t == t && i <= 2147483647) { + for (; r < i; ) { + var o = (r + i) >>> 1, + a = e[o]; + null !== a && !uu(a) && (n ? a <= t : a < t) + ? (r = o + 1) + : (i = o); + } + return i; + } + return ri(e, t, ns, n); + } + function ri(t, n, r, i) { + var o = 0, + a = null == t ? 0 : t.length; + if (0 === a) return 0; + for ( + var u = (n = r(n)) != n, s = null === n, c = uu(n), f = n === e; + o < a; + + ) { + var l = fn((o + a) / 2), + h = r(t[l]), + p = h !== e, + d = null === h, + v = h == h, + g = uu(h); + if (u) var y = i || v; + else + y = f + ? v && (i || p) + : s + ? v && p && (i || !d) + : c + ? v && p && !d && (i || !g) + : !d && !g && (i ? h <= n : h < n); + y ? (o = l + 1) : (a = l); + } + return yn(a, 4294967294); + } + function ii(e, t) { + for (var n = -1, r = e.length, i = 0, o = []; ++n < r; ) { + var a = e[n], + u = t ? t(a) : a; + if (!n || !Ma(u, s)) { + var s = u; + o[i++] = 0 === a ? 0 : a; + } + } + return o; + } + function oi(e) { + return "number" == typeof e ? e : uu(e) ? s : +e; + } + function ai(e) { + if ("string" == typeof e) return e; + if (qa(e)) return Ot(e, ai) + ""; + if (uu(e)) return Un ? Un.call(e) : ""; + var t = e + ""; + return "0" == t && 1 / e == -1 / 0 ? "-0" : t; + } + function ui(e, t, n) { + var r = -1, + i = At, + o = e.length, + a = !0, + u = [], + s = u; + if (n) (a = !1), (i = It); + else if (o >= 200) { + var c = t ? null : Vi(e); + if (c) return rn(c); + (a = !1), (i = Kt), (s = new Vn()); + } else s = t ? [] : u; + e: for (; ++r < o; ) { + var f = e[r], + l = t ? t(f) : f; + if (((f = n || 0 !== f ? f : 0), a && l == l)) { + for (var h = s.length; h--; ) if (s[h] === l) continue e; + t && s.push(l), u.push(f); + } else i(s, l, n) || (s !== u && s.push(l), u.push(f)); + } + return u; + } + function si(e, t) { + return null == (e = Ao(e, (t = gi(t, e)))) || delete e[No(Go(t))]; + } + function ci(e, t, n, r) { + return Yr(e, t, n(kr(e, t)), r); + } + function fi(e, t, n, r) { + for ( + var i = e.length, o = r ? i : -1; + (r ? o-- : ++o < i) && t(e[o], o, e); + + ); + return n + ? ei(e, r ? 0 : o, r ? o + 1 : i) + : ei(e, r ? o + 1 : 0, r ? i : o); + } + function li(e, t) { + var n = e; + return ( + n instanceof Hn && (n = n.value()), + Tt( + t, + function (e, t) { + return t.func.apply(t.thisArg, Pt([e], t.args)); + }, + n + ) + ); + } + function hi(e, t, n) { + var r = e.length; + if (r < 2) return r ? ui(e[0]) : []; + for (var i = -1, o = we(r); ++i < r; ) + for (var a = e[i], u = -1; ++u < r; ) + u != i && (o[i] = cr(o[i] || a, e[u], t, n)); + return ui(vr(o, 1), t, n); + } + function pi(t, n, r) { + for (var i = -1, o = t.length, a = n.length, u = {}; ++i < o; ) { + var s = i < a ? n[i] : e; + r(u, t[i], s); + } + return u; + } + function di(e) { + return Va(e) ? e : []; + } + function vi(e) { + return "function" == typeof e ? e : ns; + } + function gi(e, t) { + return qa(e) ? e : _o(e, t) ? [e] : Bo(yu(e)); + } + var yi = Kr; + function _i(t, n, r) { + var i = t.length; + return (r = r === e ? i : r), !n && r >= i ? t : ei(t, n, r); + } + var mi = + lt || + function (e) { + return ut.clearTimeout(e); + }; + function wi(e, t) { + if (t) return e.slice(); + var n = e.length, + r = ze ? ze(n) : new e.constructor(n); + return e.copy(r), r; + } + function ki(e) { + var t = new e.constructor(e.byteLength); + return new qe(t).set(new qe(e)), t; + } + function bi(e, t) { + var n = t ? ki(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.length); + } + function xi(t, n) { + if (t !== n) { + var r = t !== e, + i = null === t, + o = t == t, + a = uu(t), + u = n !== e, + s = null === n, + c = n == n, + f = uu(n); + if ( + (!s && !f && !a && t > n) || + (a && u && c && !s && !f) || + (i && u && c) || + (!r && c) || + !o + ) + return 1; + if ( + (!i && !a && !f && t < n) || + (f && r && o && !i && !a) || + (s && r && o) || + (!u && o) || + !c + ) + return -1; + } + return 0; + } + function Si(e, t, n, r) { + for ( + var i = -1, + o = e.length, + a = n.length, + u = -1, + s = t.length, + c = gn(o - a, 0), + f = we(s + c), + l = !r; + ++u < s; + + ) + f[u] = t[u]; + for (; ++i < a; ) (l || i < o) && (f[n[i]] = e[i]); + for (; c--; ) f[u++] = e[i++]; + return f; + } + function Ai(e, t, n, r) { + for ( + var i = -1, + o = e.length, + a = -1, + u = n.length, + s = -1, + c = t.length, + f = gn(o - u, 0), + l = we(f + c), + h = !r; + ++i < f; + + ) + l[i] = e[i]; + for (var p = i; ++s < c; ) l[p + s] = t[s]; + for (; ++a < u; ) (h || i < o) && (l[p + n[a]] = e[i++]); + return l; + } + function Ii(e, t) { + var n = -1, + r = e.length; + for (t || (t = we(r)); ++n < r; ) t[n] = e[n]; + return t; + } + function Oi(t, n, r, i) { + var o = !r; + r || (r = {}); + for (var a = -1, u = n.length; ++a < u; ) { + var s = n[a], + c = i ? i(r[s], t[s], s, r, t) : e; + c === e && (c = t[s]), o ? rr(r, s, c) : Zn(r, s, c); + } + return r; + } + function Pi(e, t) { + return function (n, r) { + var i = qa(n) ? wt : tr, + o = t ? t() : {}; + return i(n, e, oo(r, 2), o); + }; + } + function Ti(t) { + return Kr(function (n, r) { + var i = -1, + o = r.length, + a = o > 1 ? r[o - 1] : e, + u = o > 2 ? r[2] : e; + for ( + a = t.length > 3 && "function" == typeof a ? (o--, a) : e, + u && yo(r[0], r[1], u) && ((a = o < 3 ? e : a), (o = 1)), + n = Ae(n); + ++i < o; + + ) { + var s = r[i]; + s && t(n, s, i, a); + } + return n; + }); + } + function Ei(e, t) { + return function (n, r) { + if (null == n) return n; + if (!Wa(n)) return e(n, r); + for ( + var i = n.length, o = t ? i : -1, a = Ae(n); + (t ? o-- : ++o < i) && !1 !== r(a[o], o, a); + + ); + return n; + }; + } + function Ci(e) { + return function (t, n, r) { + for (var i = -1, o = Ae(t), a = r(t), u = a.length; u--; ) { + var s = a[e ? u : ++i]; + if (!1 === n(o[s], s, o)) break; + } + return t; + }; + } + function Ri(t) { + return function (n) { + var r = Zt((n = yu(n))) ? an(n) : e, + i = r ? r[0] : n.charAt(0), + o = r ? _i(r, 1).join("") : n.slice(1); + return i[t]() + o; + }; + } + function Li(e) { + return function (t) { + return Tt(Yu(Hu(t).replace(Ve, "")), e, ""); + }; + } + function Di(e) { + return function () { + var t = arguments; + switch (t.length) { + case 0: + return new e(); + case 1: + return new e(t[0]); + case 2: + return new e(t[0], t[1]); + case 3: + return new e(t[0], t[1], t[2]); + case 4: + return new e(t[0], t[1], t[2], t[3]); + case 5: + return new e(t[0], t[1], t[2], t[3], t[4]); + case 6: + return new e(t[0], t[1], t[2], t[3], t[4], t[5]); + case 7: + return new e(t[0], t[1], t[2], t[3], t[4], t[5], t[6]); + } + var n = Mn(e.prototype), + r = e.apply(n, t); + return Za(r) ? r : n; + }; + } + function Bi(t) { + return function (n, r, i) { + var o = Ae(n); + if (!Wa(n)) { + var a = oo(r, 3); + (n = Eu(n)), + (r = function (e) { + return a(o[e], e, o); + }); + } + var u = t(n, r, i); + return u > -1 ? o[a ? n[u] : u] : e; + }; + } + function Ni(n) { + return Zi(function (r) { + var i = r.length, + o = i, + a = Fn.prototype.thru; + for (n && r.reverse(); o--; ) { + var u = r[o]; + if ("function" != typeof u) throw new Pe(t); + if (a && !s && "wrapper" == ro(u)) var s = new Fn([], !0); + } + for (o = s ? o : i; ++o < i; ) { + var c = ro((u = r[o])), + f = "wrapper" == c ? no(u) : e; + s = + f && mo(f[0]) && 424 == f[1] && !f[4].length && 1 == f[9] + ? s[ro(f[0])].apply(s, f[3]) + : 1 == u.length && mo(u) + ? s[c]() + : s.thru(u); + } + return function () { + var e = arguments, + t = e[0]; + if (s && 1 == e.length && qa(t)) return s.plant(t).value(); + for (var n = 0, o = i ? r[n].apply(this, e) : t; ++n < i; ) + o = r[n].call(this, o); + return o; + }; + }); + } + function Ui(t, n, r, i, a, u, s, c, f, l) { + var h = n & o, + p = 1 & n, + d = 2 & n, + v = 24 & n, + g = 512 & n, + y = d ? e : Di(t); + return function o() { + for (var _ = arguments.length, m = we(_), w = _; w--; ) + m[w] = arguments[w]; + if (v) + var k = io(o), + b = (function (e, t) { + for (var n = e.length, r = 0; n--; ) e[n] === t && ++r; + return r; + })(m, k); + if ( + (i && (m = Si(m, i, a, v)), + u && (m = Ai(m, u, s, v)), + (_ -= b), + v && _ < l) + ) { + var x = nn(m, k); + return zi(t, n, Ui, o.placeholder, r, m, x, c, f, l - _); + } + var S = p ? r : this, + A = d ? S[t] : t; + return ( + (_ = m.length), + c + ? (m = (function (t, n) { + for ( + var r = t.length, i = yn(n.length, r), o = Ii(t); + i--; + + ) { + var a = n[i]; + t[i] = go(a, r) ? o[a] : e; + } + return t; + })(m, c)) + : g && _ > 1 && m.reverse(), + h && f < _ && (m.length = f), + this && this !== ut && this instanceof o && (A = y || Di(A)), + A.apply(S, m) + ); + }; + } + function ji(e, t) { + return function (n, r) { + return (function (e, t, n, r) { + return ( + _r(e, function (e, i, o) { + t(r, n(e), i, o); + }), + r + ); + })(n, e, t(r), {}); + }; + } + function Mi(t, n) { + return function (r, i) { + var o; + if (r === e && i === e) return n; + if ((r !== e && (o = r), i !== e)) { + if (o === e) return i; + "string" == typeof r || "string" == typeof i + ? ((r = ai(r)), (i = ai(i))) + : ((r = oi(r)), (i = oi(i))), + (o = t(r, i)); + } + return o; + }; + } + function $i(e) { + return Zi(function (t) { + return ( + (t = Ot(t, Wt(oo()))), + Kr(function (n) { + var r = this; + return e(t, function (e) { + return mt(e, r, n); + }); + }) + ); + }); + } + function Fi(t, n) { + var r = (n = n === e ? " " : ai(n)).length; + if (r < 2) return r ? Vr(n, t) : n; + var i = Vr(n, $t(t / on(n))); + return Zt(n) ? _i(an(i), 0, t).join("") : i.slice(0, t); + } + function Hi(t) { + return function (n, r, i) { + return ( + i && "number" != typeof i && yo(n, r, i) && (r = i = e), + (n = hu(n)), + r === e ? ((r = n), (n = 0)) : (r = hu(r)), + (function (e, t, n, r) { + for ( + var i = -1, o = gn($t((t - e) / (n || 1)), 0), a = we(o); + o--; + + ) + (a[r ? o : ++i] = e), (e += n); + return a; + })(n, r, (i = i === e ? (n < r ? 1 : -1) : hu(i)), t) + ); + }; + } + function qi(e) { + return function (t, n) { + return ( + ("string" == typeof t && "string" == typeof n) || + ((t = vu(t)), (n = vu(n))), + e(t, n) + ); + }; + } + function zi(t, n, r, o, a, u, s, c, f, l) { + var h = 8 & n; + (n |= h ? i : 64), 4 & (n &= ~(h ? 64 : i)) || (n &= -4); + var p = [ + t, + n, + a, + h ? u : e, + h ? s : e, + h ? e : u, + h ? e : s, + c, + f, + l, + ], + d = r.apply(e, p); + return mo(t) && Oo(d, p), (d.placeholder = o), Eo(d, t, n); + } + function Wi(e) { + var t = Se[e]; + return function (e, n) { + if (((e = vu(e)), (n = null == n ? 0 : yn(pu(n), 292)) && pn(e))) { + var r = (yu(e) + "e").split("e"); + return +( + (r = (yu(t(r[0] + "e" + (+r[1] + n))) + "e").split("e"))[0] + + "e" + + (+r[1] - n) + ); + } + return t(e); + }; + } + var Vi = + An && 1 / rn(new An([, -0]))[1] == a + ? function (e) { + return new An(e); + } + : us; + function Ki(e) { + return function (t) { + var n = lo(t); + return n == m + ? en(t) + : n == S + ? (function (e) { + var t = -1, + n = Array(e.size); + return ( + e.forEach(function (e) { + n[++t] = [e, e]; + }), + n + ); + })(t) + : (function (e, t) { + return Ot(t, function (t) { + return [t, e[t]]; + }); + })(t, e(t)); + }; + } + function Ji(n, a, u, s, c, f, l, h) { + var p = 2 & a; + if (!p && "function" != typeof n) throw new Pe(t); + var d = s ? s.length : 0; + if ( + (d || ((a &= -97), (s = c = e)), + (l = l === e ? l : gn(pu(l), 0)), + (h = h === e ? h : pu(h)), + (d -= c ? c.length : 0), + 64 & a) + ) { + var v = s, + g = c; + s = c = e; + } + var y = p ? e : no(n), + _ = [n, a, u, s, c, v, g, f, l, h]; + if ( + (y && + (function (e, t) { + var n = e[1], + i = t[1], + a = n | i, + u = a < 131, + s = + (i == o && 8 == n) || + (i == o && 256 == n && e[7].length <= t[8]) || + (384 == i && t[7].length <= t[8] && 8 == n); + if (!u && !s) return e; + 1 & i && ((e[2] = t[2]), (a |= 1 & n ? 0 : 4)); + var c = t[3]; + if (c) { + var f = e[3]; + (e[3] = f ? Si(f, c, t[4]) : c), + (e[4] = f ? nn(e[3], r) : t[4]); + } + (c = t[5]) && + ((f = e[5]), + (e[5] = f ? Ai(f, c, t[6]) : c), + (e[6] = f ? nn(e[5], r) : t[6])), + (c = t[7]) && (e[7] = c), + i & o && (e[8] = null == e[8] ? t[8] : yn(e[8], t[8])), + null == e[9] && (e[9] = t[9]), + (e[0] = t[0]), + (e[1] = a); + })(_, y), + (n = _[0]), + (a = _[1]), + (u = _[2]), + (s = _[3]), + (c = _[4]), + !(h = _[9] = _[9] === e ? (p ? 0 : n.length) : gn(_[9] - d, 0)) && + 24 & a && + (a &= -25), + a && 1 != a) + ) + m = + 8 == a || 16 == a + ? (function (t, n, r) { + var i = Di(t); + return function o() { + for ( + var a = arguments.length, u = we(a), s = a, c = io(o); + s--; + + ) + u[s] = arguments[s]; + var f = + a < 3 && u[0] !== c && u[a - 1] !== c ? [] : nn(u, c); + return (a -= f.length) < r + ? zi(t, n, Ui, o.placeholder, e, u, f, e, e, r - a) + : mt( + this && this !== ut && this instanceof o ? i : t, + this, + u + ); + }; + })(n, a, h) + : (a != i && 33 != a) || c.length + ? Ui.apply(e, _) + : (function (e, t, n, r) { + var i = 1 & t, + o = Di(e); + return function t() { + for ( + var a = -1, + u = arguments.length, + s = -1, + c = r.length, + f = we(c + u), + l = this && this !== ut && this instanceof t ? o : e; + ++s < c; + + ) + f[s] = r[s]; + for (; u--; ) f[s++] = arguments[++a]; + return mt(l, i ? n : this, f); + }; + })(n, a, u, s); + else + var m = (function (e, t, n) { + var r = 1 & t, + i = Di(e); + return function t() { + return (this && this !== ut && this instanceof t ? i : e).apply( + r ? n : this, + arguments + ); + }; + })(n, a, u); + return Eo((y ? Xr : Oo)(m, _), n, a); + } + function Gi(t, n, r, i) { + return t === e || (Ma(t, Ce[r]) && !De.call(i, r)) ? n : t; + } + function Yi(t, n, r, i, o, a) { + return ( + Za(t) && Za(n) && (a.set(n, t), Mr(t, n, e, Yi, a), a.delete(n)), t + ); + } + function Xi(t) { + return ru(t) ? e : t; + } + function Qi(t, n, r, i, o, a) { + var u = 1 & r, + s = t.length, + c = n.length; + if (s != c && !(u && c > s)) return !1; + var f = a.get(t), + l = a.get(n); + if (f && l) return f == n && l == t; + var h = -1, + p = !0, + d = 2 & r ? new Vn() : e; + for (a.set(t, n), a.set(n, t); ++h < s; ) { + var v = t[h], + g = n[h]; + if (i) var y = u ? i(g, v, h, n, t, a) : i(v, g, h, t, n, a); + if (y !== e) { + if (y) continue; + p = !1; + break; + } + if (d) { + if ( + !Ct(n, function (e, t) { + if (!Kt(d, t) && (v === e || o(v, e, r, i, a))) + return d.push(t); + }) + ) { + p = !1; + break; + } + } else if (v !== g && !o(v, g, r, i, a)) { + p = !1; + break; + } + } + return a.delete(t), a.delete(n), p; + } + function Zi(t) { + return To(So(t, e, zo), t + ""); + } + function eo(e) { + return br(e, Eu, co); + } + function to(e) { + return br(e, Cu, fo); + } + var no = Pn + ? function (e) { + return Pn.get(e); + } + : us; + function ro(e) { + for ( + var t = e.name + "", n = Tn[t], r = De.call(Tn, t) ? n.length : 0; + r--; + + ) { + var i = n[r], + o = i.func; + if (null == o || o == e) return i.name; + } + return t; + } + function io(e) { + return (De.call(jn, "placeholder") ? jn : e).placeholder; + } + function oo() { + var e = jn.iteratee || rs; + return ( + (e = e === rs ? Lr : e), + arguments.length ? e(arguments[0], arguments[1]) : e + ); + } + function ao(e, t) { + var n, + r, + i = e.__data__; + return ( + "string" == (r = f((n = t))) || + "number" == r || + "symbol" == r || + "boolean" == r + ? "__proto__" !== n + : null === n + ) + ? i["string" == typeof t ? "string" : "hash"] + : i.map; + } + function uo(e) { + for (var t = Eu(e), n = t.length; n--; ) { + var r = t[n], + i = e[r]; + t[n] = [r, i, bo(i)]; + } + return t; + } + function so(t, n) { + var r = (function (t, n) { + return null == t ? e : t[n]; + })(t, n); + return Rr(r) ? r : e; + } + var co = ln + ? function (e) { + return null == e + ? [] + : ((e = Ae(e)), + St(ln(e), function (t) { + return Ye.call(e, t); + })); + } + : ds, + fo = ln + ? function (e) { + for (var t = []; e; ) Pt(t, co(e)), (e = We(e)); + return t; + } + : ds, + lo = xr; + function ho(e, t, n) { + for (var r = -1, i = (t = gi(t, e)).length, o = !1; ++r < i; ) { + var a = No(t[r]); + if (!(o = null != e && n(e, a))) break; + e = e[a]; + } + return o || ++r != i + ? o + : !!(i = null == e ? 0 : e.length) && + Qa(i) && + go(a, i) && + (qa(e) || Ha(e)); + } + function po(e) { + return "function" != typeof e.constructor || ko(e) ? {} : Mn(We(e)); + } + function vo(e) { + return qa(e) || Ha(e) || !!(ot && e && e[ot]); + } + function go(e, t) { + var n = f(e); + return ( + !!(t = null == t ? u : t) && + ("number" == n || ("symbol" != n && de.test(e))) && + e > -1 && + e % 1 == 0 && + e < t + ); + } + function yo(e, t, n) { + if (!Za(n)) return !1; + var r = f(t); + return ( + !!("number" == r + ? Wa(n) && go(t, n.length) + : "string" == r && t in n) && Ma(n[t], e) + ); + } + function _o(e, t) { + if (qa(e)) return !1; + var n = f(e); + return ( + !( + "number" != n && + "symbol" != n && + "boolean" != n && + null != e && + !uu(e) + ) || + Y.test(e) || + !G.test(e) || + (null != t && e in Ae(t)) + ); + } + function mo(e) { + var t = ro(e), + n = jn[t]; + if ("function" != typeof n || !(t in Hn.prototype)) return !1; + if (e === n) return !0; + var r = no(n); + return !!r && e === r[0]; + } + ((bn && lo(new bn(new ArrayBuffer(1))) != T) || + (xn && lo(new xn()) != m) || + (Sn && lo(Sn.resolve()) != b) || + (An && lo(new An()) != S) || + (In && lo(new In()) != O)) && + (lo = function (t) { + var n = xr(t), + r = n == k ? t.constructor : e, + i = r ? Uo(r) : ""; + if (i) + switch (i) { + case En: + return T; + case Cn: + return m; + case Rn: + return b; + case Ln: + return S; + case Dn: + return O; + } + return n; + }); + var wo = Re ? Ya : vs; + function ko(e) { + var t = e && e.constructor; + return e === (("function" == typeof t && t.prototype) || Ce); + } + function bo(e) { + return e == e && !Za(e); + } + function xo(t, n) { + return function (r) { + return null != r && r[t] === n && (n !== e || t in Ae(r)); + }; + } + function So(t, n, r) { + return ( + (n = gn(n === e ? t.length - 1 : n, 0)), + function () { + for ( + var e = arguments, i = -1, o = gn(e.length - n, 0), a = we(o); + ++i < o; + + ) + a[i] = e[n + i]; + i = -1; + for (var u = we(n + 1); ++i < n; ) u[i] = e[i]; + return (u[n] = r(a)), mt(t, this, u); + } + ); + } + function Ao(e, t) { + return t.length < 2 ? e : kr(e, ei(t, 0, -1)); + } + function Io(e, t) { + if ( + ("constructor" !== t || "function" != typeof e[t]) && + "__proto__" != t + ) + return e[t]; + } + var Oo = Co(Xr), + Po = + Rt || + function (e, t) { + return ut.setTimeout(e, t); + }, + To = Co(Qr); + function Eo(e, t, n) { + var r = t + ""; + return To( + e, + (function (e, t) { + var n = t.length; + if (!n) return e; + var r = n - 1; + return ( + (t[r] = (n > 1 ? "& " : "") + t[r]), + (t = t.join(n > 2 ? ", " : " ")), + e.replace(ne, "{\n/* [wrapped with " + t + "] */\n") + ); + })( + r, + (function (e, t) { + return ( + kt(l, function (n) { + var r = "_." + n[0]; + t & n[1] && !At(e, r) && e.push(r); + }), + e.sort() + ); + })( + (function (e) { + var t = e.match(re); + return t ? t[1].split(ie) : []; + })(r), + n + ) + ) + ); + } + function Co(t) { + var n = 0, + r = 0; + return function () { + var i = _n(), + o = 16 - (i - r); + if (((r = i), o > 0)) { + if (++n >= 800) return arguments[0]; + } else n = 0; + return t.apply(e, arguments); + }; + } + function Ro(t, n) { + var r = -1, + i = t.length, + o = i - 1; + for (n = n === e ? i : n; ++r < n; ) { + var a = Wr(r, o), + u = t[a]; + (t[a] = t[r]), (t[r] = u); + } + return (t.length = n), t; + } + var Lo, + Do, + Bo = + ((Lo = La( + function (e) { + var t = []; + return ( + 46 === e.charCodeAt(0) && t.push(""), + e.replace(X, function (e, n, r, i) { + t.push(r ? i.replace(ue, "$1") : n || e); + }), + t + ); + }, + function (e) { + return 500 === Do.size && Do.clear(), e; + } + )), + (Do = Lo.cache), + Lo); + function No(e) { + if ("string" == typeof e || uu(e)) return e; + var t = e + ""; + return "0" == t && 1 / e == -1 / 0 ? "-0" : t; + } + function Uo(e) { + if (null != e) { + try { + return Le.call(e); + } catch (e) {} + try { + return e + ""; + } catch (e) {} + } + return ""; + } + function jo(e) { + if (e instanceof Hn) return e.clone(); + var t = new Fn(e.__wrapped__, e.__chain__); + return ( + (t.__actions__ = Ii(e.__actions__)), + (t.__index__ = e.__index__), + (t.__values__ = e.__values__), + t + ); + } + var Mo = Kr(function (e, t) { + return Va(e) ? cr(e, vr(t, 1, Va, !0)) : []; + }), + $o = Kr(function (t, n) { + var r = Go(n); + return ( + Va(r) && (r = e), Va(t) ? cr(t, vr(n, 1, Va, !0), oo(r, 2)) : [] + ); + }), + Fo = Kr(function (t, n) { + var r = Go(n); + return Va(r) && (r = e), Va(t) ? cr(t, vr(n, 1, Va, !0), e, r) : []; + }); + function Ho(e, t, n) { + var r = null == e ? 0 : e.length; + if (!r) return -1; + var i = null == n ? 0 : pu(n); + return i < 0 && (i = gn(r + i, 0)), Dt(e, oo(t, 3), i); + } + function qo(t, n, r) { + var i = null == t ? 0 : t.length; + if (!i) return -1; + var o = i - 1; + return ( + r !== e && ((o = pu(r)), (o = r < 0 ? gn(i + o, 0) : yn(o, i - 1))), + Dt(t, oo(n, 3), o, !0) + ); + } + function zo(e) { + return null != e && e.length ? vr(e, 1) : []; + } + function Wo(t) { + return t && t.length ? t[0] : e; + } + var Vo = Kr(function (e) { + var t = Ot(e, di); + return t.length && t[0] === e[0] ? Or(t) : []; + }), + Ko = Kr(function (t) { + var n = Go(t), + r = Ot(t, di); + return ( + n === Go(r) ? (n = e) : r.pop(), + r.length && r[0] === t[0] ? Or(r, oo(n, 2)) : [] + ); + }), + Jo = Kr(function (t) { + var n = Go(t), + r = Ot(t, di); + return ( + (n = "function" == typeof n ? n : e) && r.pop(), + r.length && r[0] === t[0] ? Or(r, e, n) : [] + ); + }); + function Go(t) { + var n = null == t ? 0 : t.length; + return n ? t[n - 1] : e; + } + var Yo = Kr(Xo); + function Xo(e, t) { + return e && e.length && t && t.length ? qr(e, t) : e; + } + var Qo = Zi(function (e, t) { + var n = null == e ? 0 : e.length, + r = ir(e, t); + return ( + zr( + e, + Ot(t, function (e) { + return go(e, n) ? +e : e; + }).sort(xi) + ), + r + ); + }); + function Zo(e) { + return null == e ? e : kn.call(e); + } + var ea = Kr(function (e) { + return ui(vr(e, 1, Va, !0)); + }), + ta = Kr(function (t) { + var n = Go(t); + return Va(n) && (n = e), ui(vr(t, 1, Va, !0), oo(n, 2)); + }), + na = Kr(function (t) { + var n = Go(t); + return ( + (n = "function" == typeof n ? n : e), ui(vr(t, 1, Va, !0), e, n) + ); + }); + function ra(e) { + if (!e || !e.length) return []; + var t = 0; + return ( + (e = St(e, function (e) { + if (Va(e)) return (t = gn(e.length, t)), !0; + })), + qt(t, function (t) { + return Ot(e, Mt(t)); + }) + ); + } + function ia(t, n) { + if (!t || !t.length) return []; + var r = ra(t); + return null == n + ? r + : Ot(r, function (t) { + return mt(n, e, t); + }); + } + var oa = Kr(function (e, t) { + return Va(e) ? cr(e, t) : []; + }), + aa = Kr(function (e) { + return hi(St(e, Va)); + }), + ua = Kr(function (t) { + var n = Go(t); + return Va(n) && (n = e), hi(St(t, Va), oo(n, 2)); + }), + sa = Kr(function (t) { + var n = Go(t); + return (n = "function" == typeof n ? n : e), hi(St(t, Va), e, n); + }), + ca = Kr(ra), + fa = Kr(function (t) { + var n = t.length, + r = n > 1 ? t[n - 1] : e; + return (r = "function" == typeof r ? (t.pop(), r) : e), ia(t, r); + }); + function la(e) { + var t = jn(e); + return (t.__chain__ = !0), t; + } + function ha(e, t) { + return t(e); + } + var pa = Zi(function (t) { + var n = t.length, + r = n ? t[0] : 0, + i = this.__wrapped__, + o = function (e) { + return ir(e, t); + }; + return !(n > 1 || this.__actions__.length) && + i instanceof Hn && + go(r) + ? ((i = i.slice(r, +r + (n ? 1 : 0))).__actions__.push({ + func: ha, + args: [o], + thisArg: e, + }), + new Fn(i, this.__chain__).thru(function (t) { + return n && !t.length && t.push(e), t; + })) + : this.thru(o); + }), + da = Pi(function (e, t, n) { + De.call(e, n) ? ++e[n] : rr(e, n, 1); + }), + va = Bi(Ho), + ga = Bi(qo); + function ya(e, t) { + return (qa(e) ? kt : fr)(e, oo(t, 3)); + } + function _a(e, t) { + return (qa(e) ? bt : lr)(e, oo(t, 3)); + } + var ma = Pi(function (e, t, n) { + De.call(e, n) ? e[n].push(t) : rr(e, n, [t]); + }), + wa = Kr(function (e, t, n) { + var r = -1, + i = "function" == typeof t, + o = Wa(e) ? we(e.length) : []; + return ( + fr(e, function (e) { + o[++r] = i ? mt(t, e, n) : Pr(e, t, n); + }), + o + ); + }), + ka = Pi(function (e, t, n) { + rr(e, n, t); + }); + function ba(e, t) { + return (qa(e) ? Ot : Nr)(e, oo(t, 3)); + } + var xa = Pi( + function (e, t, n) { + e[n ? 0 : 1].push(t); + }, + function () { + return [[], []]; + } + ), + Sa = Kr(function (e, t) { + if (null == e) return []; + var n = t.length; + return ( + n > 1 && yo(e, t[0], t[1]) + ? (t = []) + : n > 2 && yo(t[0], t[1], t[2]) && (t = [t[0]]), + Fr(e, vr(t, 1), []) + ); + }), + Aa = + ht || + function () { + return ut.Date.now(); + }; + function Ia(t, n, r) { + return ( + (n = r ? e : n), + (n = t && null == n ? t.length : n), + Ji(t, o, e, e, e, e, n) + ); + } + function Oa(n, r) { + var i; + if ("function" != typeof r) throw new Pe(t); + return ( + (n = pu(n)), + function () { + return ( + --n > 0 && (i = r.apply(this, arguments)), n <= 1 && (r = e), i + ); + } + ); + } + var Pa = Kr(function (e, t, n) { + var r = 1; + if (n.length) { + var o = nn(n, io(Pa)); + r |= i; + } + return Ji(e, r, t, n, o); + }), + Ta = Kr(function (e, t, n) { + var r = 3; + if (n.length) { + var o = nn(n, io(Ta)); + r |= i; + } + return Ji(t, r, e, n, o); + }); + function Ea(n, r, i) { + var o, + a, + u, + s, + c, + f, + l = 0, + h = !1, + p = !1, + d = !0; + if ("function" != typeof n) throw new Pe(t); + function v(t) { + var r = o, + i = a; + return (o = a = e), (l = t), (s = n.apply(i, r)); + } + function g(t) { + var n = t - f; + return f === e || n >= r || n < 0 || (p && t - l >= u); + } + function y() { + var e = Aa(); + if (g(e)) return _(e); + c = Po( + y, + (function (e) { + var t = r - (e - f); + return p ? yn(t, u - (e - l)) : t; + })(e) + ); + } + function _(t) { + return (c = e), d && o ? v(t) : ((o = a = e), s); + } + function m() { + var t = Aa(), + n = g(t); + if (((o = arguments), (a = this), (f = t), n)) { + if (c === e) + return (function (e) { + return (l = e), (c = Po(y, r)), h ? v(e) : s; + })(f); + if (p) return mi(c), (c = Po(y, r)), v(f); + } + return c === e && (c = Po(y, r)), s; + } + return ( + (r = vu(r) || 0), + Za(i) && + ((h = !!i.leading), + (u = (p = "maxWait" in i) ? gn(vu(i.maxWait) || 0, r) : u), + (d = "trailing" in i ? !!i.trailing : d)), + (m.cancel = function () { + c !== e && mi(c), (l = 0), (o = f = a = c = e); + }), + (m.flush = function () { + return c === e ? s : _(Aa()); + }), + m + ); + } + var Ca = Kr(function (e, t) { + return sr(e, 1, t); + }), + Ra = Kr(function (e, t, n) { + return sr(e, vu(t) || 0, n); + }); + function La(e, n) { + if ("function" != typeof e || (null != n && "function" != typeof n)) + throw new Pe(t); + var r = function t() { + var r = arguments, + i = n ? n.apply(this, r) : r[0], + o = t.cache; + if (o.has(i)) return o.get(i); + var a = e.apply(this, r); + return (t.cache = o.set(i, a) || o), a; + }; + return (r.cache = new (La.Cache || Wn)()), r; + } + function Da(e) { + if ("function" != typeof e) throw new Pe(t); + return function () { + var t = arguments; + switch (t.length) { + case 0: + return !e.call(this); + case 1: + return !e.call(this, t[0]); + case 2: + return !e.call(this, t[0], t[1]); + case 3: + return !e.call(this, t[0], t[1], t[2]); + } + return !e.apply(this, t); + }; + } + La.Cache = Wn; + var Ba = yi(function (e, t) { + var n = (t = + 1 == t.length && qa(t[0]) + ? Ot(t[0], Wt(oo())) + : Ot(vr(t, 1), Wt(oo()))).length; + return Kr(function (r) { + for (var i = -1, o = yn(r.length, n); ++i < o; ) + r[i] = t[i].call(this, r[i]); + return mt(e, this, r); + }); + }), + Na = Kr(function (t, n) { + var r = nn(n, io(Na)); + return Ji(t, i, e, n, r); + }), + Ua = Kr(function (t, n) { + var r = nn(n, io(Ua)); + return Ji(t, 64, e, n, r); + }), + ja = Zi(function (t, n) { + return Ji(t, 256, e, e, e, n); + }); + function Ma(e, t) { + return e === t || (e != e && t != t); + } + var $a = qi(Sr), + Fa = qi(function (e, t) { + return e >= t; + }), + Ha = Tr( + (function () { + return arguments; + })() + ) + ? Tr + : function (e) { + return eu(e) && De.call(e, "callee") && !Ye.call(e, "callee"); + }, + qa = we.isArray, + za = pt + ? Wt(pt) + : function (e) { + return eu(e) && xr(e) == P; + }; + function Wa(e) { + return null != e && Qa(e.length) && !Ya(e); + } + function Va(e) { + return eu(e) && Wa(e); + } + var Ka = hn || vs, + Ja = dt + ? Wt(dt) + : function (e) { + return eu(e) && xr(e) == v; + }; + function Ga(e) { + if (!eu(e)) return !1; + var t = xr(e); + return ( + t == g || + "[object DOMException]" == t || + ("string" == typeof e.message && + "string" == typeof e.name && + !ru(e)) + ); + } + function Ya(e) { + if (!Za(e)) return !1; + var t = xr(e); + return ( + t == y || + t == _ || + "[object AsyncFunction]" == t || + "[object Proxy]" == t + ); + } + function Xa(e) { + return "number" == typeof e && e == pu(e); + } + function Qa(e) { + return "number" == typeof e && e > -1 && e % 1 == 0 && e <= u; + } + function Za(e) { + var t = f(e); + return null != e && ("object" == t || "function" == t); + } + function eu(e) { + return null != e && "object" == f(e); + } + var tu = vt + ? Wt(vt) + : function (e) { + return eu(e) && lo(e) == m; + }; + function nu(e) { + return "number" == typeof e || (eu(e) && xr(e) == w); + } + function ru(e) { + if (!eu(e) || xr(e) != k) return !1; + var t = We(e); + if (null === t) return !0; + var n = De.call(t, "constructor") && t.constructor; + return "function" == typeof n && n instanceof n && Le.call(n) == je; + } + var iu = gt + ? Wt(gt) + : function (e) { + return eu(e) && xr(e) == x; + }, + ou = yt + ? Wt(yt) + : function (e) { + return eu(e) && lo(e) == S; + }; + function au(e) { + return "string" == typeof e || (!qa(e) && eu(e) && xr(e) == A); + } + function uu(e) { + return "symbol" == f(e) || (eu(e) && xr(e) == I); + } + var su = _t + ? Wt(_t) + : function (e) { + return eu(e) && Qa(e.length) && !!et[xr(e)]; + }, + cu = qi(Br), + fu = qi(function (e, t) { + return e <= t; + }); + function lu(e) { + if (!e) return []; + if (Wa(e)) return au(e) ? an(e) : Ii(e); + if (at && e[at]) + return (function (e) { + for (var t, n = []; !(t = e.next()).done; ) n.push(t.value); + return n; + })(e[at]()); + var t = lo(e); + return (t == m ? en : t == S ? rn : Mu)(e); + } + function hu(e) { + return e + ? (e = vu(e)) === a || e === -1 / 0 + ? 17976931348623157e292 * (e < 0 ? -1 : 1) + : e == e + ? e + : 0 + : 0 === e + ? e + : 0; + } + function pu(e) { + var t = hu(e), + n = t % 1; + return t == t ? (n ? t - n : t) : 0; + } + function du(e) { + return e ? or(pu(e), 0, c) : 0; + } + function vu(e) { + if ("number" == typeof e) return e; + if (uu(e)) return s; + if (Za(e)) { + var t = "function" == typeof e.valueOf ? e.valueOf() : e; + e = Za(t) ? t + "" : t; + } + if ("string" != typeof e) return 0 === e ? e : +e; + e = zt(e); + var n = le.test(e); + return n || pe.test(e) + ? it(e.slice(2), n ? 2 : 8) + : fe.test(e) + ? s + : +e; + } + function gu(e) { + return Oi(e, Cu(e)); + } + function yu(e) { + return null == e ? "" : ai(e); + } + var _u = Ti(function (e, t) { + if (ko(t) || Wa(t)) Oi(t, Eu(t), e); + else for (var n in t) De.call(t, n) && Zn(e, n, t[n]); + }), + mu = Ti(function (e, t) { + Oi(t, Cu(t), e); + }), + wu = Ti(function (e, t, n, r) { + Oi(t, Cu(t), e, r); + }), + ku = Ti(function (e, t, n, r) { + Oi(t, Eu(t), e, r); + }), + bu = Zi(ir), + xu = Kr(function (t, n) { + t = Ae(t); + var r = -1, + i = n.length, + o = i > 2 ? n[2] : e; + for (o && yo(n[0], n[1], o) && (i = 1); ++r < i; ) + for (var a = n[r], u = Cu(a), s = -1, c = u.length; ++s < c; ) { + var f = u[s], + l = t[f]; + (l === e || (Ma(l, Ce[f]) && !De.call(t, f))) && (t[f] = a[f]); + } + return t; + }), + Su = Kr(function (t) { + return t.push(e, Yi), mt(Lu, e, t); + }); + function Au(t, n, r) { + var i = null == t ? e : kr(t, n); + return i === e ? r : i; + } + function Iu(e, t) { + return null != e && ho(e, t, Ir); + } + var Ou = ji(function (e, t, n) { + null != t && "function" != typeof t.toString && (t = Ue.call(t)), + (e[t] = n); + }, Zu(ns)), + Pu = ji(function (e, t, n) { + null != t && "function" != typeof t.toString && (t = Ue.call(t)), + De.call(e, t) ? e[t].push(n) : (e[t] = [n]); + }, oo), + Tu = Kr(Pr); + function Eu(e) { + return Wa(e) ? Jn(e) : Dr(e); + } + function Cu(e) { + return Wa(e) + ? Jn(e, !0) + : (function (e) { + if (!Za(e)) + return (function (e) { + var t = []; + if (null != e) for (var n in Ae(e)) t.push(n); + return t; + })(e); + var t = ko(e), + n = []; + for (var r in e) + ("constructor" != r || (!t && De.call(e, r))) && n.push(r); + return n; + })(e); + } + var Ru = Ti(function (e, t, n) { + Mr(e, t, n); + }), + Lu = Ti(function (e, t, n, r) { + Mr(e, t, n, r); + }), + Du = Zi(function (e, t) { + var n = {}; + if (null == e) return n; + var r = !1; + (t = Ot(t, function (t) { + return (t = gi(t, e)), r || (r = t.length > 1), t; + })), + Oi(e, to(e), n), + r && (n = ar(n, 7, Xi)); + for (var i = t.length; i--; ) si(n, t[i]); + return n; + }), + Bu = Zi(function (e, t) { + return null == e + ? {} + : (function (e, t) { + return Hr(e, t, function (t, n) { + return Iu(e, n); + }); + })(e, t); + }); + function Nu(e, t) { + if (null == e) return {}; + var n = Ot(to(e), function (e) { + return [e]; + }); + return ( + (t = oo(t)), + Hr(e, n, function (e, n) { + return t(e, n[0]); + }) + ); + } + var Uu = Ki(Eu), + ju = Ki(Cu); + function Mu(e) { + return null == e ? [] : Vt(e, Eu(e)); + } + var $u = Li(function (e, t, n) { + return (t = t.toLowerCase()), e + (n ? Fu(t) : t); + }); + function Fu(e) { + return Gu(yu(e).toLowerCase()); + } + function Hu(e) { + return (e = yu(e)) && e.replace(ve, Yt).replace(Ke, ""); + } + var qu = Li(function (e, t, n) { + return e + (n ? "-" : "") + t.toLowerCase(); + }), + zu = Li(function (e, t, n) { + return e + (n ? " " : "") + t.toLowerCase(); + }), + Wu = Ri("toLowerCase"), + Vu = Li(function (e, t, n) { + return e + (n ? "_" : "") + t.toLowerCase(); + }), + Ku = Li(function (e, t, n) { + return e + (n ? " " : "") + Gu(t); + }), + Ju = Li(function (e, t, n) { + return e + (n ? " " : "") + t.toUpperCase(); + }), + Gu = Ri("toUpperCase"); + function Yu(t, n, r) { + return ( + (t = yu(t)), + (n = r ? e : n) === e + ? (function (e) { + return Xe.test(e); + })(t) + ? (function (e) { + return e.match(Ge) || []; + })(t) + : (function (e) { + return e.match(oe) || []; + })(t) + : t.match(n) || [] + ); + } + var Xu = Kr(function (t, n) { + try { + return mt(t, e, n); + } catch (e) { + return Ga(e) ? e : new be(e); + } + }), + Qu = Zi(function (e, t) { + return ( + kt(t, function (t) { + (t = No(t)), rr(e, t, Pa(e[t], e)); + }), + e + ); + }); + function Zu(e) { + return function () { + return e; + }; + } + var es = Ni(), + ts = Ni(!0); + function ns(e) { + return e; + } + function rs(e) { + return Lr("function" == typeof e ? e : ar(e, 1)); + } + var is = Kr(function (e, t) { + return function (n) { + return Pr(n, e, t); + }; + }), + os = Kr(function (e, t) { + return function (n) { + return Pr(e, n, t); + }; + }); + function as(e, t, n) { + var r = Eu(t), + i = wr(t, r); + null != n || + (Za(t) && (i.length || !r.length)) || + ((n = t), (t = e), (e = this), (i = wr(t, Eu(t)))); + var o = !(Za(n) && "chain" in n && !n.chain), + a = Ya(e); + return ( + kt(i, function (n) { + var r = t[n]; + (e[n] = r), + a && + (e.prototype[n] = function () { + var t = this.__chain__; + if (o || t) { + var n = e(this.__wrapped__); + return ( + (n.__actions__ = Ii(this.__actions__)).push({ + func: r, + args: arguments, + thisArg: e, + }), + (n.__chain__ = t), + n + ); + } + return r.apply(e, Pt([this.value()], arguments)); + }); + }), + e + ); + } + function us() {} + var ss = $i(Ot), + cs = $i(xt), + fs = $i(Ct); + function ls(e) { + return _o(e) + ? Mt(No(e)) + : (function (e) { + return function (t) { + return kr(t, e); + }; + })(e); + } + var hs = Hi(), + ps = Hi(!0); + function ds() { + return []; + } + function vs() { + return !1; + } + var gs, + ys = Mi(function (e, t) { + return e + t; + }, 0), + _s = Wi("ceil"), + ms = Mi(function (e, t) { + return e / t; + }, 1), + ws = Wi("floor"), + ks = Mi(function (e, t) { + return e * t; + }, 1), + bs = Wi("round"), + xs = Mi(function (e, t) { + return e - t; + }, 0); + return ( + (jn.after = function (e, n) { + if ("function" != typeof n) throw new Pe(t); + return ( + (e = pu(e)), + function () { + if (--e < 1) return n.apply(this, arguments); + } + ); + }), + (jn.ary = Ia), + (jn.assign = _u), + (jn.assignIn = mu), + (jn.assignInWith = wu), + (jn.assignWith = ku), + (jn.at = bu), + (jn.before = Oa), + (jn.bind = Pa), + (jn.bindAll = Qu), + (jn.bindKey = Ta), + (jn.castArray = function () { + if (!arguments.length) return []; + var e = arguments[0]; + return qa(e) ? e : [e]; + }), + (jn.chain = la), + (jn.chunk = function (t, n, r) { + n = (r ? yo(t, n, r) : n === e) ? 1 : gn(pu(n), 0); + var i = null == t ? 0 : t.length; + if (!i || n < 1) return []; + for (var o = 0, a = 0, u = we($t(i / n)); o < i; ) + u[a++] = ei(t, o, (o += n)); + return u; + }), + (jn.compact = function (e) { + for ( + var t = -1, n = null == e ? 0 : e.length, r = 0, i = []; + ++t < n; + + ) { + var o = e[t]; + o && (i[r++] = o); + } + return i; + }), + (jn.concat = function () { + var e = arguments.length; + if (!e) return []; + for (var t = we(e - 1), n = arguments[0], r = e; r--; ) + t[r - 1] = arguments[r]; + return Pt(qa(n) ? Ii(n) : [n], vr(t, 1)); + }), + (jn.cond = function (e) { + var n = null == e ? 0 : e.length, + r = oo(); + return ( + (e = n + ? Ot(e, function (e) { + if ("function" != typeof e[1]) throw new Pe(t); + return [r(e[0]), e[1]]; + }) + : []), + Kr(function (t) { + for (var r = -1; ++r < n; ) { + var i = e[r]; + if (mt(i[0], this, t)) return mt(i[1], this, t); + } + }) + ); + }), + (jn.conforms = function (e) { + return (function (e) { + var t = Eu(e); + return function (n) { + return ur(n, e, t); + }; + })(ar(e, 1)); + }), + (jn.constant = Zu), + (jn.countBy = da), + (jn.create = function (e, t) { + var n = Mn(e); + return null == t ? n : nr(n, t); + }), + (jn.curry = function t(n, r, i) { + var o = Ji(n, 8, e, e, e, e, e, (r = i ? e : r)); + return (o.placeholder = t.placeholder), o; + }), + (jn.curryRight = function t(n, r, i) { + var o = Ji(n, 16, e, e, e, e, e, (r = i ? e : r)); + return (o.placeholder = t.placeholder), o; + }), + (jn.debounce = Ea), + (jn.defaults = xu), + (jn.defaultsDeep = Su), + (jn.defer = Ca), + (jn.delay = Ra), + (jn.difference = Mo), + (jn.differenceBy = $o), + (jn.differenceWith = Fo), + (jn.drop = function (t, n, r) { + var i = null == t ? 0 : t.length; + return i + ? ei(t, (n = r || n === e ? 1 : pu(n)) < 0 ? 0 : n, i) + : []; + }), + (jn.dropRight = function (t, n, r) { + var i = null == t ? 0 : t.length; + return i + ? ei(t, 0, (n = i - (n = r || n === e ? 1 : pu(n))) < 0 ? 0 : n) + : []; + }), + (jn.dropRightWhile = function (e, t) { + return e && e.length ? fi(e, oo(t, 3), !0, !0) : []; + }), + (jn.dropWhile = function (e, t) { + return e && e.length ? fi(e, oo(t, 3), !0) : []; + }), + (jn.fill = function (t, n, r, i) { + var o = null == t ? 0 : t.length; + return o + ? (r && "number" != typeof r && yo(t, n, r) && ((r = 0), (i = o)), + (function (t, n, r, i) { + var o = t.length; + for ( + (r = pu(r)) < 0 && (r = -r > o ? 0 : o + r), + (i = i === e || i > o ? o : pu(i)) < 0 && (i += o), + i = r > i ? 0 : du(i); + r < i; + + ) + t[r++] = n; + return t; + })(t, n, r, i)) + : []; + }), + (jn.filter = function (e, t) { + return (qa(e) ? St : dr)(e, oo(t, 3)); + }), + (jn.flatMap = function (e, t) { + return vr(ba(e, t), 1); + }), + (jn.flatMapDeep = function (e, t) { + return vr(ba(e, t), a); + }), + (jn.flatMapDepth = function (t, n, r) { + return (r = r === e ? 1 : pu(r)), vr(ba(t, n), r); + }), + (jn.flatten = zo), + (jn.flattenDeep = function (e) { + return null != e && e.length ? vr(e, a) : []; + }), + (jn.flattenDepth = function (t, n) { + return null != t && t.length + ? vr(t, (n = n === e ? 1 : pu(n))) + : []; + }), + (jn.flip = function (e) { + return Ji(e, 512); + }), + (jn.flow = es), + (jn.flowRight = ts), + (jn.fromPairs = function (e) { + for (var t = -1, n = null == e ? 0 : e.length, r = {}; ++t < n; ) { + var i = e[t]; + r[i[0]] = i[1]; + } + return r; + }), + (jn.functions = function (e) { + return null == e ? [] : wr(e, Eu(e)); + }), + (jn.functionsIn = function (e) { + return null == e ? [] : wr(e, Cu(e)); + }), + (jn.groupBy = ma), + (jn.initial = function (e) { + return null != e && e.length ? ei(e, 0, -1) : []; + }), + (jn.intersection = Vo), + (jn.intersectionBy = Ko), + (jn.intersectionWith = Jo), + (jn.invert = Ou), + (jn.invertBy = Pu), + (jn.invokeMap = wa), + (jn.iteratee = rs), + (jn.keyBy = ka), + (jn.keys = Eu), + (jn.keysIn = Cu), + (jn.map = ba), + (jn.mapKeys = function (e, t) { + var n = {}; + return ( + (t = oo(t, 3)), + _r(e, function (e, r, i) { + rr(n, t(e, r, i), e); + }), + n + ); + }), + (jn.mapValues = function (e, t) { + var n = {}; + return ( + (t = oo(t, 3)), + _r(e, function (e, r, i) { + rr(n, r, t(e, r, i)); + }), + n + ); + }), + (jn.matches = function (e) { + return Ur(ar(e, 1)); + }), + (jn.matchesProperty = function (e, t) { + return jr(e, ar(t, 1)); + }), + (jn.memoize = La), + (jn.merge = Ru), + (jn.mergeWith = Lu), + (jn.method = is), + (jn.methodOf = os), + (jn.mixin = as), + (jn.negate = Da), + (jn.nthArg = function (e) { + return ( + (e = pu(e)), + Kr(function (t) { + return $r(t, e); + }) + ); + }), + (jn.omit = Du), + (jn.omitBy = function (e, t) { + return Nu(e, Da(oo(t))); + }), + (jn.once = function (e) { + return Oa(2, e); + }), + (jn.orderBy = function (t, n, r, i) { + return null == t + ? [] + : (qa(n) || (n = null == n ? [] : [n]), + qa((r = i ? e : r)) || (r = null == r ? [] : [r]), + Fr(t, n, r)); + }), + (jn.over = ss), + (jn.overArgs = Ba), + (jn.overEvery = cs), + (jn.overSome = fs), + (jn.partial = Na), + (jn.partialRight = Ua), + (jn.partition = xa), + (jn.pick = Bu), + (jn.pickBy = Nu), + (jn.property = ls), + (jn.propertyOf = function (t) { + return function (n) { + return null == t ? e : kr(t, n); + }; + }), + (jn.pull = Yo), + (jn.pullAll = Xo), + (jn.pullAllBy = function (e, t, n) { + return e && e.length && t && t.length ? qr(e, t, oo(n, 2)) : e; + }), + (jn.pullAllWith = function (t, n, r) { + return t && t.length && n && n.length ? qr(t, n, e, r) : t; + }), + (jn.pullAt = Qo), + (jn.range = hs), + (jn.rangeRight = ps), + (jn.rearg = ja), + (jn.reject = function (e, t) { + return (qa(e) ? St : dr)(e, Da(oo(t, 3))); + }), + (jn.remove = function (e, t) { + var n = []; + if (!e || !e.length) return n; + var r = -1, + i = [], + o = e.length; + for (t = oo(t, 3); ++r < o; ) { + var a = e[r]; + t(a, r, e) && (n.push(a), i.push(r)); + } + return zr(e, i), n; + }), + (jn.rest = function (n, r) { + if ("function" != typeof n) throw new Pe(t); + return Kr(n, (r = r === e ? r : pu(r))); + }), + (jn.reverse = Zo), + (jn.sampleSize = function (t, n, r) { + return ( + (n = (r ? yo(t, n, r) : n === e) ? 1 : pu(n)), + (qa(t) ? Yn : Gr)(t, n) + ); + }), + (jn.set = function (e, t, n) { + return null == e ? e : Yr(e, t, n); + }), + (jn.setWith = function (t, n, r, i) { + return ( + (i = "function" == typeof i ? i : e), + null == t ? t : Yr(t, n, r, i) + ); + }), + (jn.shuffle = function (e) { + return (qa(e) ? Xn : Zr)(e); + }), + (jn.slice = function (t, n, r) { + var i = null == t ? 0 : t.length; + return i + ? (r && "number" != typeof r && yo(t, n, r) + ? ((n = 0), (r = i)) + : ((n = null == n ? 0 : pu(n)), (r = r === e ? i : pu(r))), + ei(t, n, r)) + : []; + }), + (jn.sortBy = Sa), + (jn.sortedUniq = function (e) { + return e && e.length ? ii(e) : []; + }), + (jn.sortedUniqBy = function (e, t) { + return e && e.length ? ii(e, oo(t, 2)) : []; + }), + (jn.split = function (t, n, r) { + return ( + r && "number" != typeof r && yo(t, n, r) && (n = r = e), + (r = r === e ? c : r >>> 0) + ? (t = yu(t)) && + ("string" == typeof n || (null != n && !iu(n))) && + !(n = ai(n)) && + Zt(t) + ? _i(an(t), 0, r) + : t.split(n, r) + : [] + ); + }), + (jn.spread = function (e, n) { + if ("function" != typeof e) throw new Pe(t); + return ( + (n = null == n ? 0 : gn(pu(n), 0)), + Kr(function (t) { + var r = t[n], + i = _i(t, 0, n); + return r && Pt(i, r), mt(e, this, i); + }) + ); + }), + (jn.tail = function (e) { + var t = null == e ? 0 : e.length; + return t ? ei(e, 1, t) : []; + }), + (jn.take = function (t, n, r) { + return t && t.length + ? ei(t, 0, (n = r || n === e ? 1 : pu(n)) < 0 ? 0 : n) + : []; + }), + (jn.takeRight = function (t, n, r) { + var i = null == t ? 0 : t.length; + return i + ? ei(t, (n = i - (n = r || n === e ? 1 : pu(n))) < 0 ? 0 : n, i) + : []; + }), + (jn.takeRightWhile = function (e, t) { + return e && e.length ? fi(e, oo(t, 3), !1, !0) : []; + }), + (jn.takeWhile = function (e, t) { + return e && e.length ? fi(e, oo(t, 3)) : []; + }), + (jn.tap = function (e, t) { + return t(e), e; + }), + (jn.throttle = function (e, n, r) { + var i = !0, + o = !0; + if ("function" != typeof e) throw new Pe(t); + return ( + Za(r) && + ((i = "leading" in r ? !!r.leading : i), + (o = "trailing" in r ? !!r.trailing : o)), + Ea(e, n, { leading: i, maxWait: n, trailing: o }) + ); + }), + (jn.thru = ha), + (jn.toArray = lu), + (jn.toPairs = Uu), + (jn.toPairsIn = ju), + (jn.toPath = function (e) { + return qa(e) ? Ot(e, No) : uu(e) ? [e] : Ii(Bo(yu(e))); + }), + (jn.toPlainObject = gu), + (jn.transform = function (e, t, n) { + var r = qa(e), + i = r || Ka(e) || su(e); + if (((t = oo(t, 4)), null == n)) { + var o = e && e.constructor; + n = i ? (r ? new o() : []) : Za(e) && Ya(o) ? Mn(We(e)) : {}; + } + return ( + (i ? kt : _r)(e, function (e, r, i) { + return t(n, e, r, i); + }), + n + ); + }), + (jn.unary = function (e) { + return Ia(e, 1); + }), + (jn.union = ea), + (jn.unionBy = ta), + (jn.unionWith = na), + (jn.uniq = function (e) { + return e && e.length ? ui(e) : []; + }), + (jn.uniqBy = function (e, t) { + return e && e.length ? ui(e, oo(t, 2)) : []; + }), + (jn.uniqWith = function (t, n) { + return ( + (n = "function" == typeof n ? n : e), + t && t.length ? ui(t, e, n) : [] + ); + }), + (jn.unset = function (e, t) { + return null == e || si(e, t); + }), + (jn.unzip = ra), + (jn.unzipWith = ia), + (jn.update = function (e, t, n) { + return null == e ? e : ci(e, t, vi(n)); + }), + (jn.updateWith = function (t, n, r, i) { + return ( + (i = "function" == typeof i ? i : e), + null == t ? t : ci(t, n, vi(r), i) + ); + }), + (jn.values = Mu), + (jn.valuesIn = function (e) { + return null == e ? [] : Vt(e, Cu(e)); + }), + (jn.without = oa), + (jn.words = Yu), + (jn.wrap = function (e, t) { + return Na(vi(t), e); + }), + (jn.xor = aa), + (jn.xorBy = ua), + (jn.xorWith = sa), + (jn.zip = ca), + (jn.zipObject = function (e, t) { + return pi(e || [], t || [], Zn); + }), + (jn.zipObjectDeep = function (e, t) { + return pi(e || [], t || [], Yr); + }), + (jn.zipWith = fa), + (jn.entries = Uu), + (jn.entriesIn = ju), + (jn.extend = mu), + (jn.extendWith = wu), + as(jn, jn), + (jn.add = ys), + (jn.attempt = Xu), + (jn.camelCase = $u), + (jn.capitalize = Fu), + (jn.ceil = _s), + (jn.clamp = function (t, n, r) { + return ( + r === e && ((r = n), (n = e)), + r !== e && (r = (r = vu(r)) == r ? r : 0), + n !== e && (n = (n = vu(n)) == n ? n : 0), + or(vu(t), n, r) + ); + }), + (jn.clone = function (e) { + return ar(e, 4); + }), + (jn.cloneDeep = function (e) { + return ar(e, 5); + }), + (jn.cloneDeepWith = function (t, n) { + return ar(t, 5, (n = "function" == typeof n ? n : e)); + }), + (jn.cloneWith = function (t, n) { + return ar(t, 4, (n = "function" == typeof n ? n : e)); + }), + (jn.conformsTo = function (e, t) { + return null == t || ur(e, t, Eu(t)); + }), + (jn.deburr = Hu), + (jn.defaultTo = function (e, t) { + return null == e || e != e ? t : e; + }), + (jn.divide = ms), + (jn.endsWith = function (t, n, r) { + (t = yu(t)), (n = ai(n)); + var i = t.length, + o = (r = r === e ? i : or(pu(r), 0, i)); + return (r -= n.length) >= 0 && t.slice(r, o) == n; + }), + (jn.eq = Ma), + (jn.escape = function (e) { + return (e = yu(e)) && W.test(e) ? e.replace(q, Xt) : e; + }), + (jn.escapeRegExp = function (e) { + return (e = yu(e)) && Z.test(e) ? e.replace(Q, "\\$&") : e; + }), + (jn.every = function (t, n, r) { + var i = qa(t) ? xt : hr; + return r && yo(t, n, r) && (n = e), i(t, oo(n, 3)); + }), + (jn.find = va), + (jn.findIndex = Ho), + (jn.findKey = function (e, t) { + return Lt(e, oo(t, 3), _r); + }), + (jn.findLast = ga), + (jn.findLastIndex = qo), + (jn.findLastKey = function (e, t) { + return Lt(e, oo(t, 3), mr); + }), + (jn.floor = ws), + (jn.forEach = ya), + (jn.forEachRight = _a), + (jn.forIn = function (e, t) { + return null == e ? e : gr(e, oo(t, 3), Cu); + }), + (jn.forInRight = function (e, t) { + return null == e ? e : yr(e, oo(t, 3), Cu); + }), + (jn.forOwn = function (e, t) { + return e && _r(e, oo(t, 3)); + }), + (jn.forOwnRight = function (e, t) { + return e && mr(e, oo(t, 3)); + }), + (jn.get = Au), + (jn.gt = $a), + (jn.gte = Fa), + (jn.has = function (e, t) { + return null != e && ho(e, t, Ar); + }), + (jn.hasIn = Iu), + (jn.head = Wo), + (jn.identity = ns), + (jn.includes = function (e, t, n, r) { + (e = Wa(e) ? e : Mu(e)), (n = n && !r ? pu(n) : 0); + var i = e.length; + return ( + n < 0 && (n = gn(i + n, 0)), + au(e) ? n <= i && e.indexOf(t, n) > -1 : !!i && Bt(e, t, n) > -1 + ); + }), + (jn.indexOf = function (e, t, n) { + var r = null == e ? 0 : e.length; + if (!r) return -1; + var i = null == n ? 0 : pu(n); + return i < 0 && (i = gn(r + i, 0)), Bt(e, t, i); + }), + (jn.inRange = function (t, n, r) { + return ( + (n = hu(n)), + r === e ? ((r = n), (n = 0)) : (r = hu(r)), + (function (e, t, n) { + return e >= yn(t, n) && e < gn(t, n); + })((t = vu(t)), n, r) + ); + }), + (jn.invoke = Tu), + (jn.isArguments = Ha), + (jn.isArray = qa), + (jn.isArrayBuffer = za), + (jn.isArrayLike = Wa), + (jn.isArrayLikeObject = Va), + (jn.isBoolean = function (e) { + return !0 === e || !1 === e || (eu(e) && xr(e) == d); + }), + (jn.isBuffer = Ka), + (jn.isDate = Ja), + (jn.isElement = function (e) { + return eu(e) && 1 === e.nodeType && !ru(e); + }), + (jn.isEmpty = function (e) { + if (null == e) return !0; + if ( + Wa(e) && + (qa(e) || + "string" == typeof e || + "function" == typeof e.splice || + Ka(e) || + su(e) || + Ha(e)) + ) + return !e.length; + var t = lo(e); + if (t == m || t == S) return !e.size; + if (ko(e)) return !Dr(e).length; + for (var n in e) if (De.call(e, n)) return !1; + return !0; + }), + (jn.isEqual = function (e, t) { + return Er(e, t); + }), + (jn.isEqualWith = function (t, n, r) { + var i = (r = "function" == typeof r ? r : e) ? r(t, n) : e; + return i === e ? Er(t, n, e, r) : !!i; + }), + (jn.isError = Ga), + (jn.isFinite = function (e) { + return "number" == typeof e && pn(e); + }), + (jn.isFunction = Ya), + (jn.isInteger = Xa), + (jn.isLength = Qa), + (jn.isMap = tu), + (jn.isMatch = function (e, t) { + return e === t || Cr(e, t, uo(t)); + }), + (jn.isMatchWith = function (t, n, r) { + return (r = "function" == typeof r ? r : e), Cr(t, n, uo(n), r); + }), + (jn.isNaN = function (e) { + return nu(e) && e != +e; + }), + (jn.isNative = function (e) { + if (wo(e)) + throw new be( + "Unsupported core-js use. Try https://npms.io/search?q=ponyfill." + ); + return Rr(e); + }), + (jn.isNil = function (e) { + return null == e; + }), + (jn.isNull = function (e) { + return null === e; + }), + (jn.isNumber = nu), + (jn.isObject = Za), + (jn.isObjectLike = eu), + (jn.isPlainObject = ru), + (jn.isRegExp = iu), + (jn.isSafeInteger = function (e) { + return Xa(e) && e >= -9007199254740991 && e <= u; + }), + (jn.isSet = ou), + (jn.isString = au), + (jn.isSymbol = uu), + (jn.isTypedArray = su), + (jn.isUndefined = function (t) { + return t === e; + }), + (jn.isWeakMap = function (e) { + return eu(e) && lo(e) == O; + }), + (jn.isWeakSet = function (e) { + return eu(e) && "[object WeakSet]" == xr(e); + }), + (jn.join = function (e, t) { + return null == e ? "" : dn.call(e, t); + }), + (jn.kebabCase = qu), + (jn.last = Go), + (jn.lastIndexOf = function (t, n, r) { + var i = null == t ? 0 : t.length; + if (!i) return -1; + var o = i; + return ( + r !== e && (o = (o = pu(r)) < 0 ? gn(i + o, 0) : yn(o, i - 1)), + n == n + ? (function (e, t, n) { + for (var r = n + 1; r--; ) if (e[r] === t) return r; + return r; + })(t, n, o) + : Dt(t, Ut, o, !0) + ); + }), + (jn.lowerCase = zu), + (jn.lowerFirst = Wu), + (jn.lt = cu), + (jn.lte = fu), + (jn.max = function (t) { + return t && t.length ? pr(t, ns, Sr) : e; + }), + (jn.maxBy = function (t, n) { + return t && t.length ? pr(t, oo(n, 2), Sr) : e; + }), + (jn.mean = function (e) { + return jt(e, ns); + }), + (jn.meanBy = function (e, t) { + return jt(e, oo(t, 2)); + }), + (jn.min = function (t) { + return t && t.length ? pr(t, ns, Br) : e; + }), + (jn.minBy = function (t, n) { + return t && t.length ? pr(t, oo(n, 2), Br) : e; + }), + (jn.stubArray = ds), + (jn.stubFalse = vs), + (jn.stubObject = function () { + return {}; + }), + (jn.stubString = function () { + return ""; + }), + (jn.stubTrue = function () { + return !0; + }), + (jn.multiply = ks), + (jn.nth = function (t, n) { + return t && t.length ? $r(t, pu(n)) : e; + }), + (jn.noConflict = function () { + return ut._ === this && (ut._ = Me), this; + }), + (jn.noop = us), + (jn.now = Aa), + (jn.pad = function (e, t, n) { + e = yu(e); + var r = (t = pu(t)) ? on(e) : 0; + if (!t || r >= t) return e; + var i = (t - r) / 2; + return Fi(fn(i), n) + e + Fi($t(i), n); + }), + (jn.padEnd = function (e, t, n) { + e = yu(e); + var r = (t = pu(t)) ? on(e) : 0; + return t && r < t ? e + Fi(t - r, n) : e; + }), + (jn.padStart = function (e, t, n) { + e = yu(e); + var r = (t = pu(t)) ? on(e) : 0; + return t && r < t ? Fi(t - r, n) + e : e; + }), + (jn.parseInt = function (e, t, n) { + return ( + n || null == t ? (t = 0) : t && (t = +t), + mn(yu(e).replace(ee, ""), t || 0) + ); + }), + (jn.random = function (t, n, r) { + if ( + (r && "boolean" != typeof r && yo(t, n, r) && (n = r = e), + r === e && + ("boolean" == typeof n + ? ((r = n), (n = e)) + : "boolean" == typeof t && ((r = t), (t = e))), + t === e && n === e + ? ((t = 0), (n = 1)) + : ((t = hu(t)), n === e ? ((n = t), (t = 0)) : (n = hu(n))), + t > n) + ) { + var i = t; + (t = n), (n = i); + } + if (r || t % 1 || n % 1) { + var o = wn(); + return yn(t + o * (n - t + rt("1e-" + ((o + "").length - 1))), n); + } + return Wr(t, n); + }), + (jn.reduce = function (e, t, n) { + var r = qa(e) ? Tt : Ft, + i = arguments.length < 3; + return r(e, oo(t, 4), n, i, fr); + }), + (jn.reduceRight = function (e, t, n) { + var r = qa(e) ? Et : Ft, + i = arguments.length < 3; + return r(e, oo(t, 4), n, i, lr); + }), + (jn.repeat = function (t, n, r) { + return (n = (r ? yo(t, n, r) : n === e) ? 1 : pu(n)), Vr(yu(t), n); + }), + (jn.replace = function () { + var e = arguments, + t = yu(e[0]); + return e.length < 3 ? t : t.replace(e[1], e[2]); + }), + (jn.result = function (t, n, r) { + var i = -1, + o = (n = gi(n, t)).length; + for (o || ((o = 1), (t = e)); ++i < o; ) { + var a = null == t ? e : t[No(n[i])]; + a === e && ((i = o), (a = r)), (t = Ya(a) ? a.call(t) : a); + } + return t; + }), + (jn.round = bs), + (jn.runInContext = te), + (jn.sample = function (e) { + return (qa(e) ? Gn : Jr)(e); + }), + (jn.size = function (e) { + if (null == e) return 0; + if (Wa(e)) return au(e) ? on(e) : e.length; + var t = lo(e); + return t == m || t == S ? e.size : Dr(e).length; + }), + (jn.snakeCase = Vu), + (jn.some = function (t, n, r) { + var i = qa(t) ? Ct : ti; + return r && yo(t, n, r) && (n = e), i(t, oo(n, 3)); + }), + (jn.sortedIndex = function (e, t) { + return ni(e, t); + }), + (jn.sortedIndexBy = function (e, t, n) { + return ri(e, t, oo(n, 2)); + }), + (jn.sortedIndexOf = function (e, t) { + var n = null == e ? 0 : e.length; + if (n) { + var r = ni(e, t); + if (r < n && Ma(e[r], t)) return r; + } + return -1; + }), + (jn.sortedLastIndex = function (e, t) { + return ni(e, t, !0); + }), + (jn.sortedLastIndexBy = function (e, t, n) { + return ri(e, t, oo(n, 2), !0); + }), + (jn.sortedLastIndexOf = function (e, t) { + if (null != e && e.length) { + var n = ni(e, t, !0) - 1; + if (Ma(e[n], t)) return n; + } + return -1; + }), + (jn.startCase = Ku), + (jn.startsWith = function (e, t, n) { + return ( + (e = yu(e)), + (n = null == n ? 0 : or(pu(n), 0, e.length)), + (t = ai(t)), + e.slice(n, n + t.length) == t + ); + }), + (jn.subtract = xs), + (jn.sum = function (e) { + return e && e.length ? Ht(e, ns) : 0; + }), + (jn.sumBy = function (e, t) { + return e && e.length ? Ht(e, oo(t, 2)) : 0; + }), + (jn.template = function (t, n, r) { + var i = jn.templateSettings; + r && yo(t, n, r) && (n = e), (t = yu(t)), (n = wu({}, n, i, Gi)); + var o, + a, + u = wu({}, n.imports, i.imports, Gi), + s = Eu(u), + c = Vt(u, s), + f = 0, + l = n.interpolate || ge, + h = "__p += '", + p = Ie( + (n.escape || ge).source + + "|" + + l.source + + "|" + + (l === J ? se : ge).source + + "|" + + (n.evaluate || ge).source + + "|$", + "g" + ), + d = + "//# sourceURL=" + + (De.call(n, "sourceURL") + ? (n.sourceURL + "").replace(/\s/g, " ") + : "lodash.templateSources[" + ++Ze + "]") + + "\n"; + t.replace(p, function (e, n, r, i, u, s) { + return ( + r || (r = i), + (h += t.slice(f, s).replace(ye, Qt)), + n && ((o = !0), (h += "' +\n__e(" + n + ") +\n'")), + u && ((a = !0), (h += "';\n" + u + ";\n__p += '")), + r && + (h += "' +\n((__t = (" + r + ")) == null ? '' : __t) +\n'"), + (f = s + e.length), + e + ); + }), + (h += "';\n"); + var v = De.call(n, "variable") && n.variable; + if (v) { + if (ae.test(v)) + throw new be( + "Invalid `variable` option passed into `_.template`" + ); + } else h = "with (obj) {\n" + h + "\n}\n"; + (h = (a ? h.replace(M, "") : h).replace($, "$1").replace(F, "$1;")), + (h = + "function(" + + (v || "obj") + + ") {\n" + + (v ? "" : "obj || (obj = {});\n") + + "var __t, __p = ''" + + (o ? ", __e = _.escape" : "") + + (a + ? ", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n" + : ";\n") + + h + + "return __p\n}"); + var g = Xu(function () { + return xe(s, d + "return " + h).apply(e, c); + }); + if (((g.source = h), Ga(g))) throw g; + return g; + }), + (jn.times = function (e, t) { + if ((e = pu(e)) < 1 || e > u) return []; + var n = c, + r = yn(e, c); + (t = oo(t)), (e -= c); + for (var i = qt(r, t); ++n < e; ) t(n); + return i; + }), + (jn.toFinite = hu), + (jn.toInteger = pu), + (jn.toLength = du), + (jn.toLower = function (e) { + return yu(e).toLowerCase(); + }), + (jn.toNumber = vu), + (jn.toSafeInteger = function (e) { + return e ? or(pu(e), -9007199254740991, u) : 0 === e ? e : 0; + }), + (jn.toString = yu), + (jn.toUpper = function (e) { + return yu(e).toUpperCase(); + }), + (jn.trim = function (t, n, r) { + if ((t = yu(t)) && (r || n === e)) return zt(t); + if (!t || !(n = ai(n))) return t; + var i = an(t), + o = an(n); + return _i(i, Jt(i, o), Gt(i, o) + 1).join(""); + }), + (jn.trimEnd = function (t, n, r) { + if ((t = yu(t)) && (r || n === e)) return t.slice(0, un(t) + 1); + if (!t || !(n = ai(n))) return t; + var i = an(t); + return _i(i, 0, Gt(i, an(n)) + 1).join(""); + }), + (jn.trimStart = function (t, n, r) { + if ((t = yu(t)) && (r || n === e)) return t.replace(ee, ""); + if (!t || !(n = ai(n))) return t; + var i = an(t); + return _i(i, Jt(i, an(n))).join(""); + }), + (jn.truncate = function (t, n) { + var r = 30, + i = "..."; + if (Za(n)) { + var o = "separator" in n ? n.separator : o; + (r = "length" in n ? pu(n.length) : r), + (i = "omission" in n ? ai(n.omission) : i); + } + var a = (t = yu(t)).length; + if (Zt(t)) { + var u = an(t); + a = u.length; + } + if (r >= a) return t; + var s = r - on(i); + if (s < 1) return i; + var c = u ? _i(u, 0, s).join("") : t.slice(0, s); + if (o === e) return c + i; + if ((u && (s += c.length - s), iu(o))) { + if (t.slice(s).search(o)) { + var f, + l = c; + for ( + o.global || (o = Ie(o.source, yu(ce.exec(o)) + "g")), + o.lastIndex = 0; + (f = o.exec(l)); + + ) + var h = f.index; + c = c.slice(0, h === e ? s : h); + } + } else if (t.indexOf(ai(o), s) != s) { + var p = c.lastIndexOf(o); + p > -1 && (c = c.slice(0, p)); + } + return c + i; + }), + (jn.unescape = function (e) { + return (e = yu(e)) && z.test(e) ? e.replace(H, sn) : e; + }), + (jn.uniqueId = function (e) { + var t = ++Be; + return yu(e) + t; + }), + (jn.upperCase = Ju), + (jn.upperFirst = Gu), + (jn.each = ya), + (jn.eachRight = _a), + (jn.first = Wo), + as( + jn, + ((gs = {}), + _r(jn, function (e, t) { + De.call(jn.prototype, t) || (gs[t] = e); + }), + gs), + { chain: !1 } + ), + (jn.VERSION = "4.17.21"), + kt( + [ + "bind", + "bindKey", + "curry", + "curryRight", + "partial", + "partialRight", + ], + function (e) { + jn[e].placeholder = jn; + } + ), + kt(["drop", "take"], function (t, n) { + (Hn.prototype[t] = function (r) { + r = r === e ? 1 : gn(pu(r), 0); + var i = this.__filtered__ && !n ? new Hn(this) : this.clone(); + return ( + i.__filtered__ + ? (i.__takeCount__ = yn(r, i.__takeCount__)) + : i.__views__.push({ + size: yn(r, c), + type: t + (i.__dir__ < 0 ? "Right" : ""), + }), + i + ); + }), + (Hn.prototype[t + "Right"] = function (e) { + return this.reverse()[t](e).reverse(); + }); + }), + kt(["filter", "map", "takeWhile"], function (e, t) { + var n = t + 1, + r = 1 == n || 3 == n; + Hn.prototype[e] = function (e) { + var t = this.clone(); + return ( + t.__iteratees__.push({ iteratee: oo(e, 3), type: n }), + (t.__filtered__ = t.__filtered__ || r), + t + ); + }; + }), + kt(["head", "last"], function (e, t) { + var n = "take" + (t ? "Right" : ""); + Hn.prototype[e] = function () { + return this[n](1).value()[0]; + }; + }), + kt(["initial", "tail"], function (e, t) { + var n = "drop" + (t ? "" : "Right"); + Hn.prototype[e] = function () { + return this.__filtered__ ? new Hn(this) : this[n](1); + }; + }), + (Hn.prototype.compact = function () { + return this.filter(ns); + }), + (Hn.prototype.find = function (e) { + return this.filter(e).head(); + }), + (Hn.prototype.findLast = function (e) { + return this.reverse().find(e); + }), + (Hn.prototype.invokeMap = Kr(function (e, t) { + return "function" == typeof e + ? new Hn(this) + : this.map(function (n) { + return Pr(n, e, t); + }); + })), + (Hn.prototype.reject = function (e) { + return this.filter(Da(oo(e))); + }), + (Hn.prototype.slice = function (t, n) { + t = pu(t); + var r = this; + return r.__filtered__ && (t > 0 || n < 0) + ? new Hn(r) + : (t < 0 ? (r = r.takeRight(-t)) : t && (r = r.drop(t)), + n !== e && + (r = (n = pu(n)) < 0 ? r.dropRight(-n) : r.take(n - t)), + r); + }), + (Hn.prototype.takeRightWhile = function (e) { + return this.reverse().takeWhile(e).reverse(); + }), + (Hn.prototype.toArray = function () { + return this.take(c); + }), + _r(Hn.prototype, function (t, n) { + var r = /^(?:filter|find|map|reject)|While$/.test(n), + i = /^(?:head|last)$/.test(n), + o = jn[i ? "take" + ("last" == n ? "Right" : "") : n], + a = i || /^find/.test(n); + o && + (jn.prototype[n] = function () { + var n = this.__wrapped__, + u = i ? [1] : arguments, + s = n instanceof Hn, + c = u[0], + f = s || qa(n), + l = function (e) { + var t = o.apply(jn, Pt([e], u)); + return i && h ? t[0] : t; + }; + f && + r && + "function" == typeof c && + 1 != c.length && + (s = f = !1); + var h = this.__chain__, + p = !!this.__actions__.length, + d = a && !h, + v = s && !p; + if (!a && f) { + n = v ? n : new Hn(this); + var g = t.apply(n, u); + return ( + g.__actions__.push({ func: ha, args: [l], thisArg: e }), + new Fn(g, h) + ); + } + return d && v + ? t.apply(this, u) + : ((g = this.thru(l)), + d ? (i ? g.value()[0] : g.value()) : g); + }); + }), + kt( + ["pop", "push", "shift", "sort", "splice", "unshift"], + function (e) { + var t = Te[e], + n = /^(?:push|sort|unshift)$/.test(e) ? "tap" : "thru", + r = /^(?:pop|shift)$/.test(e); + jn.prototype[e] = function () { + var e = arguments; + if (r && !this.__chain__) { + var i = this.value(); + return t.apply(qa(i) ? i : [], e); + } + return this[n](function (n) { + return t.apply(qa(n) ? n : [], e); + }); + }; + } + ), + _r(Hn.prototype, function (e, t) { + var n = jn[t]; + if (n) { + var r = n.name + ""; + De.call(Tn, r) || (Tn[r] = []), Tn[r].push({ name: t, func: n }); + } + }), + (Tn[Ui(e, 2).name] = [{ name: "wrapper", func: e }]), + (Hn.prototype.clone = function () { + var e = new Hn(this.__wrapped__); + return ( + (e.__actions__ = Ii(this.__actions__)), + (e.__dir__ = this.__dir__), + (e.__filtered__ = this.__filtered__), + (e.__iteratees__ = Ii(this.__iteratees__)), + (e.__takeCount__ = this.__takeCount__), + (e.__views__ = Ii(this.__views__)), + e + ); + }), + (Hn.prototype.reverse = function () { + if (this.__filtered__) { + var e = new Hn(this); + (e.__dir__ = -1), (e.__filtered__ = !0); + } else (e = this.clone()).__dir__ *= -1; + return e; + }), + (Hn.prototype.value = function () { + var e = this.__wrapped__.value(), + t = this.__dir__, + n = qa(e), + r = t < 0, + i = n ? e.length : 0, + o = (function (e, t, n) { + for (var r = -1, i = n.length; ++r < i; ) { + var o = n[r], + a = o.size; + switch (o.type) { + case "drop": + e += a; + break; + case "dropRight": + t -= a; + break; + case "take": + t = yn(t, e + a); + break; + case "takeRight": + e = gn(e, t - a); + } + } + return { start: e, end: t }; + })(0, i, this.__views__), + a = o.start, + u = o.end, + s = u - a, + c = r ? u : a - 1, + f = this.__iteratees__, + l = f.length, + h = 0, + p = yn(s, this.__takeCount__); + if (!n || (!r && i == s && p == s)) return li(e, this.__actions__); + var d = []; + e: for (; s-- && h < p; ) { + for (var v = -1, g = e[(c += t)]; ++v < l; ) { + var y = f[v], + _ = y.iteratee, + m = y.type, + w = _(g); + if (2 == m) g = w; + else if (!w) { + if (1 == m) continue e; + break e; + } + } + d[h++] = g; + } + return d; + }), + (jn.prototype.at = pa), + (jn.prototype.chain = function () { + return la(this); + }), + (jn.prototype.commit = function () { + return new Fn(this.value(), this.__chain__); + }), + (jn.prototype.next = function () { + this.__values__ === e && (this.__values__ = lu(this.value())); + var t = this.__index__ >= this.__values__.length; + return { + done: t, + value: t ? e : this.__values__[this.__index__++], + }; + }), + (jn.prototype.plant = function (t) { + for (var n, r = this; r instanceof $n; ) { + var i = jo(r); + (i.__index__ = 0), + (i.__values__ = e), + n ? (o.__wrapped__ = i) : (n = i); + var o = i; + r = r.__wrapped__; + } + return (o.__wrapped__ = t), n; + }), + (jn.prototype.reverse = function () { + var t = this.__wrapped__; + if (t instanceof Hn) { + var n = t; + return ( + this.__actions__.length && (n = new Hn(this)), + (n = n.reverse()).__actions__.push({ + func: ha, + args: [Zo], + thisArg: e, + }), + new Fn(n, this.__chain__) + ); + } + return this.thru(Zo); + }), + (jn.prototype.toJSON = + jn.prototype.valueOf = + jn.prototype.value = + function () { + return li(this.__wrapped__, this.__actions__); + }), + (jn.prototype.first = jn.prototype.head), + at && + (jn.prototype[at] = function () { + return this; + }), + jn + ); + })(); + ct ? (((ct.exports = cn)._ = cn), (st._ = cn)) : (ut._ = cn); + }.call(su); +var Ic = Ac, + Oc = "[UMENG] -- ", + Pc = (function () { + var e = null, + t = !1; + function n() { + (this.setDebug = function (e) { + t = e; + }), + (this.d = function () { + if (t) + try { + "string" == typeof arguments[0] && + (arguments[0] = Oc + arguments[0]), + console.debug.apply(console, arguments); + } catch (e) {} + }), + (this.i = function () { + try { + if (t) + try { + "string" == typeof arguments[0] && + (arguments[0] = Oc + arguments[0]), + console.info.apply(console, arguments); + } catch (e) {} + } catch (e) {} + }), + (this.e = function () { + if (t) + try { + "string" == typeof arguments[0] && + (arguments[0] = Oc + arguments[0]), + console.error.apply(console, arguments); + } catch (e) {} + }), + (this.w = function () { + if (t) + try { + "string" == typeof arguments[0] && + (arguments[0] = Oc + arguments[0]), + console.warn.apply(console, arguments); + } catch (e) {} + }), + (this.v = function () { + if (t) + try { + "string" == typeof arguments[0] && + (arguments[0] = Oc + arguments[0]), + console.log.apply(console, arguments); + } catch (e) {} + }), + (this.t = function () { + if (t) + try { + console.table.apply(console, arguments); + } catch (e) {} + }), + (this.tip = function () { + try { + "string" == typeof arguments[0] && + (arguments[0] = Oc + arguments[0]), + console.log.apply(console, arguments); + } catch (e) {} + }), + (this.tip_w = function (e) { + try { + console.log( + "%c [UMENG] -- " + e, + "background:red; padding: 4px; padding-right: 8px; border-radius: 4px; color: #fff;" + ); + } catch (e) {} + }), + (this.err = function () { + try { + "string" == typeof arguments[0] && + (arguments[0] = Oc + arguments[0]), + console.error.apply(console, arguments); + } catch (e) {} + }), + (this.repeat = function (e) { + for (var t = e; t.length < 86; ) t += e; + return t; + }); + } + return function () { + return null === e && (e = new n()), e; + }; + })(), + Tc = (function () { + var e = null; + function t() { + var e = {}; + (this.useOpenid = function () { + return !!e.useOpenid; + }), + (this.useSwanid = function () { + return !!e.useSwanid; + }), + (this.autoGetOpenid = function () { + return !!e.autoGetOpenid; + }), + (this.appKey = function () { + return e.appKey; + }), + (this.uploadUserInfo = function () { + return e.uploadUserInfo; + }), + (this.enableVerify = function () { + return e.enableVerify; + }), + (this.set = function (t) { + e = t; + }), + (this.get = function () { + return e; + }), + (this.setItem = function (t, n) { + e[t] = n; + }), + (this.getItem = function (t) { + return e[t]; + }); + } + return function () { + return e || (e = new t()), e; + }; + })(); +function Ec() {} +Ec.prototype = { + on: function (e, t, n) { + var r = this.e || (this.e = {}); + return (r[e] || (r[e] = [])).push({ fn: t, ctx: n }), this; + }, + once: function (e, t, n) { + var r = this; + function i() { + r.off(e, i), t.apply(n, arguments); + } + return (i._ = t), this.on(e, i, n); + }, + emit: function (e) { + for ( + var t = [].slice.call(arguments, 1), + n = ((this.e || (this.e = {}))[e] || []).slice(), + r = 0, + i = n.length; + r < i; + r++ + ) + n[r].fn.apply(n[r].ctx, t); + return this; + }, + off: function (e, t) { + var n = this.e || (this.e = {}), + r = n[e], + i = []; + if (r && t) + for (var o = 0, a = r.length; o < a; o++) + r[o].fn !== t && r[o].fn._ !== t && i.push(r[o]); + return i.length ? (n[e] = i) : delete n[e], this; + }, +}; +var Cc = new Ec(); +Cc.messageType = { CONFIG_LOADED: 0, UMA_LIB_INITED: 1 }; +var Rc = new ((function () { + function e() {} + return ( + (e.prototype.setStorage = function (e, t, n) { + On.setStorage({ + key: e, + data: t, + success: function () { + "function" == typeof n && n(!0); + }, + fail: function () { + "function" == typeof n && n(!1); + }, + }); + }), + (e.prototype.getStorage = function (e, t) { + On.getStorage({ + key: e, + success: function (e) { + "function" == typeof t && t(e.data); + }, + fail: function (n) { + Pc().w(e + ": " + n.errMsg), "function" == typeof t && t(); + }, + }); + }), + (e.prototype.removeStorage = function (e, t) { + On.removeStorage({ + key: e, + success: function () { + "function" == typeof t && t(!0); + }, + fail: function () { + "function" == typeof t && t(!1); + }, + }); + }), + (e.prototype.getSystemInfo = function (e) { + On.getSystemInfo({ + success: function (t) { + t.safeArea = t.safeArea || {}; + var n = ""; + t.host && "string" == typeof t.host.env && (n = t.host.env); + var r = { + model: t.model, + brand: t.brand, + pixelRatio: t.pixelRatio, + screenWidth: t.screenWidth, + screenHeight: t.screenHeight, + fontSizeSetting: t.fontSizeSetting, + platform: t.platform, + platformVersion: t.version, + platformSDKVersion: t.SDKVersion, + language: t.language, + deviceName: t.model, + OSVersion: t.system, + resolution: "", + theme: t.theme, + benchmarkLevel: t.benchmarkLevel, + safeArea: { + width: t.safeArea.width, + height: t.safeArea.height, + top: t.safeArea.top, + left: t.safeArea.left, + bottom: t.safeArea.bottom, + right: t.safeArea.right, + }, + statusBarHeight: t.statusBarHeight, + host: n, + }, + i = t.system.split(" "); + Array.isArray(i) && (r.OS = i[0]); + var o = Math.round(t.screenWidth * t.pixelRatio), + a = Math.round(t.screenHeight * t.pixelRatio); + (r.resolution = o > a ? o + "*" + a : a + "*" + o), + "function" == typeof e && e(r); + }, + fail: function () { + "function" == typeof e && e(); + }, + }); + }), + (e.prototype.getDeviceInfo = function (e) { + "function" == typeof e && e(""); + }), + (e.prototype.checkNetworkAvailable = function (e) { + On.getNetworkType({ + success: function (t) { + "function" == typeof e && e(t && "none" !== t.networkType); + }, + fail: function () { + "function" == typeof e && e(!1); + }, + }); + }), + (e.prototype.getNetworkInfo = function (e) { + On.getNetworkType({ + success: function (t) { + "function" == typeof e && + e({ + networkAvailable: "none" !== t.networkType, + networkType: t.networkType, + }); + }, + fail: function () { + "function" == typeof e && e(); + }, + }); + }), + (e.prototype.getDeviceId = function (e) { + e(""); + }), + (e.prototype.getAdvertisingId = function (e) { + "function" == typeof e && e(""); + }), + (e.prototype.onNetworkStatusChange = function (e) { + On.onNetworkStatusChange(function (t) { + "function" == typeof e && e(t.isConnected); + }); + }), + (e.prototype.request = function (e) { + var t = e.success, + n = e.fail, + r = !1, + i = null; + (e.success = function (e) { + r || (i && clearTimeout(i), "function" == typeof t && t(e)); + }), + (e.fail = function () { + r || (i && clearTimeout(i), "function" == typeof n && n(!1)); + }), + On.request(e), + (i = setTimeout(function () { + i && clearTimeout(i), (r = !0), "function" == typeof n && n(r); + }, e.timeout || 5e3)); + }), + (e.prototype.getSdkType = function () { + return "wxmp"; + }), + (e.prototype.getPlatform = function () { + return "wx"; + }), + (e.prototype.getUserInfo = function (e) { + e(); + }), + (e.prototype.getAppInfoSync = function () { + if (On.getAccountInfoSync) { + var e = On.getAccountInfoSync(), + t = e && e.miniProgram ? e.miniProgram : {}; + return { + appId: t.appId, + appEnv: t.envVersion, + appVersion: t.version, + }; + } + return {}; + }), + (e.prototype.onShareAppMessage = function (e) { + On.onShareAppMessage(e); + }), + (e.prototype.shareAppMessage = function (e) { + On.shareAppMessage(e); + }), + (e.prototype.getLaunchOptionsSync = function () { + var e = null; + if (e) return e; + if (!On.getLaunchOptionsSync) return {}; + try { + e = On.getLaunchOptionsSync(); + } catch (t) { + e = null; + } + return e || {}; + }), + e + ); + })())(), + Lc = function (e, t) { + return (Lc = + Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && + function (e, t) { + e.__proto__ = t; + }) || + function (e, t) { + for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); + })(e, t); + }; +function Dc(e, t) { + function n() { + this.constructor = e; + } + Lc(e, t), + (e.prototype = + null === t ? Object.create(t) : ((n.prototype = t.prototype), new n())); +} +var Bc, + Nc, + Uc, + jc, + Mc = { + SESSION_INTERVAL: 3e4, + LOG_URL: "/wxm_logs", + GET_OPENID_URL: "/uminiprogram_logs/wx/getuut", + USERINFO_URL: "/uminiprogram_logs/comm/uif", + ENDPOINT: "https://umini.shujupie.com", + ENDPOINTB: "https://ulogs.umeng.com", + DEVICE_INFO_KEY: "device_info", + ADVERTISING_ID: "mobile_ad_id", + ANDROID_ID: "android_id", + CURRENT_SESSION: "current_session", + SESSION_PAUSE_TIME: "session_pause_time", + EVENT_SEND_DEFAULT_INTERVAL: 15e3, + EVENT_LAST_SEND_TIME: "last_send_time", + MAX_EVENTID_LENGTH: 128, + MAX_PROPERTY_KEY_LENGTH: 256, + MAX_PROPERTY_KEYS_COUNT: 100, + REPORT_POLICY: "report_policy", + REPORT_INTERVAL_TIME: "report_interval_time", + REPORT_POLICY_START_SEND: "1", + REPORT_POLICY_INTERVAL: "6", + IMPRINT: "imprint", + SEED_VERSION: "1.0.0", + IMPL_VERSION: "2.8.0", + ALIPAY_AVAILABLE_VERSION: "10.1.52", + SHARE_PATH: "um_share_path", + SHARES: "shares", + REQUESTS: "requests", + UUID: "um_uuid", + UUID_SUFFIX: "ud", + OPENID: "um_od", + UNIONID: "um_unid", + ALIPAYID: "um_alipayid", + USERID: "um_userid", + PROVIDER: "um_provider", + SWANID: "um_swanid", + ANONYMOUSID: "um_anonymousid", + LAUNCH_OPTIONS: "LAUNCH_OPTIONS", + UM_SSRC: "_um_ssrc", + USER_INFO: "user_info", + IS_ALIYUN: !1, + }, + $c = function (e) { + for ( + var t = "", + n = [ + "0", + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "a", + "b", + "c", + "d", + "e", + "f", + "g", + "h", + "i", + "j", + "k", + "l", + "m", + "n", + "o", + "p", + "q", + "r", + "s", + "t", + "u", + "v", + "w", + "x", + "y", + "z", + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z", + ], + r = 0; + r < Number(e); + r++ + ) + t += n[Math.round(Math.random() * (n.length - 1))]; + return t; + }, + Fc = function (e) { + return JSON.parse(JSON.stringify(e)); + }, + Hc = function (e) { + if (null == e) + throw new TypeError("Cannot convert undefined or null to object"); + for (var t = Object(e), n = 1; n < arguments.length; n++) { + var r = arguments[n]; + if (r) + for (var i in r) + Object.prototype.hasOwnProperty.call(r, i) && (t[i] = r[i]); + } + return t; + }, + qc = function (e) { + return "function" == typeof e; + }, + zc = (function (e) { + function t() { + return (null !== e && e.apply(this, arguments)) || this; + } + return ( + Dc(t, e), + (t.prototype.getOpenIdAsync = function (e, t) { + var n = this; + On.login({ + success: function (r) { + r.code + ? Rc.request({ + url: Mc.ENDPOINT + Mc.GET_OPENID_URL, + method: "GET", + data: { key: e, code: r.code }, + success: function (e) { + if (e && 200 === e.statusCode && e.data && e.data.data) { + var r = e.data.data; + return ( + n.setOpenid(r.oid), n.setUnionid(r.uid), t && t(!0) + ); + } + t && t(); + }, + fail: function (e) { + Pc().v("wx request failed...", e), t && t(); + }, + }) + : t && t(); + }, + fail: function () { + t && t(); + }, + }); + }), + t + ); + })( + (function (e) { + function t() { + var t = (null !== e && e.apply(this, arguments)) || this; + return (t._openid = ""), (t._unionid = ""), (t._useOpenid = !1), t; + } + return ( + Dc(t, e), + (t.prototype.initID = function (e) { + var t = this; + (t._idType = t._useOpenid ? "openid" : "uuid"), + Pc().v("id type: ", t._idType), + Rc.getStorage(Mc.UNIONID, function (e) { + t._unionid = e; + }), + this._useOpenid + ? Rc.getStorage(Mc.OPENID, function (n) { + (t._openid = n), e && e(); + }) + : e && e(); + }), + (t.prototype.setUseOpenid = function (e) { + this._useOpenid = e; + }), + (t.prototype.setOpenid = function (e) { + !this._openid && + e && + ((this._openid = e), Rc.setStorage(Mc.OPENID, e)); + }), + (t.prototype.setUnionid = function (e) { + !this._unionid && + e && + ((this._unionid = e), Rc.setStorage(Mc.UNIONID, e)); + }), + (t.prototype.getIdTracking = function () { + var t = e.prototype.getIdTracking.call(this); + return ( + this._openid && (t.openid = this._openid), + this._unionid && (t.unionid = this._unionid), + this._userid && (t.userid = this._userid), + t + ); + }), + (t.prototype.getId = function () { + return this._useOpenid ? this._openid : this._uuid; + }), + t + ); + })( + (function () { + function e() { + (this._uuid = ""), + (this._userid = ""), + (this._provider = ""), + (this._idType = ""); + } + return ( + (e.prototype.createUUID = function () { + return $c(10) + Date.now() + $c(7) + Mc.UUID_SUFFIX; + }), + (e.prototype.initUUID = function (e) { + var t = this; + Rc.getStorage(Mc.UUID, function (n) { + n + ? (t._uuid = n) + : ((t._uuid = t.createUUID()), Rc.setStorage(Mc.UUID, t._uuid)), + e && e(n); + }); + }), + (e.prototype.initUserid = function () { + var e = this; + Rc.getStorage(Mc.USERID, function (t) { + !e._userid && t && ((e._userid = t), Pc().v("userId is ", t)); + }), + Rc.getStorage(Mc.PROVIDER, function (t) { + !e._provider && + t && + ((e._provider = t), Pc().v("provider is ", t)); + }); + }), + (e.prototype.init = function (e) { + var t = this; + t.initUUID(function () { + t.initUserid(), t.initID(e); + }); + }), + (e.prototype.setUserid = function (e, t) { + !this._userid && + e && + ((this._userid = e), + (this._provider = t), + Rc.setStorage(Mc.USERID, e), + Rc.setStorage(Mc.PROVIDER, t)); + }), + (e.prototype.removeUserid = function () { + (this._userid = void 0), + (this._provider = void 0), + Rc.removeStorageSync(Mc.USERID), + Rc.removeStorageSync(Mc.PROVIDER); + }), + (e.prototype.getUserId = function () { + return this._userid; + }), + (e.prototype.getProvider = function () { + return this._provider; + }), + (e.prototype.getIdType = function () { + return this._idType; + }), + (e.prototype.getIdTracking = function () { + var e = {}; + return ( + this._uuid && (e.uuid = this._uuid), + this._userid && (e.userid = this._userid), + e + ); + }), + e + ); + })() + ) + ), + Wc = + ((Bc = null), + function () { + return Bc || (Bc = new zc()), Bc; + }), + Vc = (function () { + var e = null; + function t() { + var e = !1, + t = null, + n = []; + (this.addPageStart = function (n) { + n && !e && ((t = { ts: Date.now(), path: n, page_name: n }), (e = !0)); + }), + (this.addPageEnd = function (r) { + if (e && r && t && r === t.page_name) { + var i = Date.now() - t.ts; + (t.duration = Math.abs(i)), n.push(t), (t = null), (e = !1); + } + }), + (this.get = function () { + return n; + }), + (this.getCurrentPage = function () { + return t; + }), + (this.clear = function () { + n.length = 0; + }); + } + return function () { + return e || (e = new t()), e; + }; + })(), + Kc = {}, + Jc = (function () { + var e = null, + t = [], + n = ""; + function r() { + return { + add: function (e, r) { + Pc().v("share origin: %o", e); + var i = { + title: e && e.title, + path: e && e.path && e.path.split("?")[0], + _um_sts: Date.now(), + }; + i.path && + i.path.length > 1 && + (function (e, t) { + return ( + !(!e || !t || 0 === t.length || t.length > e.length) && + e.substr(0, t.length) === t + ); + })(i.path, "/") && + (i.path = (function (e, t) { + if (!e) return ""; + if ("string" == typeof t && t.length) { + var n = new RegExp("^" + t + "*"); + e = e.replace(n, ""); + } else e = e.replace(/^s*/, ""); + return e; + })(i.path, "/")); + var o = e.path || "", + a = Wc().getId(); + if (a) { + var u = n.split(","), + s = (u = u.filter(function (e) { + return e.length > 0; + })).indexOf(a); + s >= 0 && (u = u.slice(0, s)), u.length < 3 && u.push(a); + var c = u.join(","); + -1 !== o.indexOf("?") + ? (o += "&_um_ssrc=" + c) + : (o += "?_um_ssrc=" + c); + var f = Date.now(); + if (((o += "&_um_sts=" + f), r)) { + var l = (function (e) { + var t = []; + for (var n in e) + "_um_ssrc" !== n && + "_um_sts" !== n && + t.push(n + "=" + e[n]); + return t.join("&"); + })(Kc), + h = l + ? l + "&_um_ssrc=" + c + "&_um_sts=" + f + : "_um_ssrc=" + c + "&_um_sts=" + f; + e.query = e.query + ? e.query + "&_um_ssrc=" + c + "&_um_sts=" + f + : h; + } else e.path = o; + (i._um_ssrc = c), (i._um_sts = f); + } + return t.push(i), Pc().v("share: %o", e), e; + }, + setShareSource: function (e) { + n = e; + }, + clear: function () { + t.length = 0; + }, + get: function () { + return t; + }, + }; + } + return function () { + return e || (e = new r()), e; + }; + })(), + Gc = function (e) { + if (e) + try { + return JSON.stringify(e); + } catch (e) {} + return ""; + }, + Yc = function (e) { + if (e) + try { + return JSON.parse(e); + } catch (e) {} + return null; + }, + Xc = (function () { + var e = null, + t = "", + n = null, + r = !1; + function i() { + (this.load = function (e) { + n + ? (Rc.removeStorage(t), e()) + : ((t = "um_cache_" + Tc().appKey()), + Rc.getStorage(t, function (i) { + (n = Yc(i) || {}), (r = !0), Rc.removeStorage(t), e(); + })); + }), + (this.save = function () { + n && Rc.setStorage(t, Gc(n)); + }), + (this.set = function (e, t) { + n && (n[e] = t); + }), + (this.get = function (e) { + return (n || {})[e]; + }), + (this.remove = function (e) { + n && n[e] && delete n[e]; + }), + (this.getAll = function () { + return n; + }), + (this.clear = function () { + n = null; + }), + (this.has = function (e) { + return !!this.get(e); + }), + (this.isLoaded = function () { + return r; + }); + } + return function () { + return e || (e = new i()), e; + }; + })(), + Qc = (function () { + var e, + t, + n = [], + r = []; + function i(e, n) { + var r = (e = e || {})[t]; + return ( + Array.isArray(r) && r.length + ? (e[t] = r.concat(n)) + : (e[t] = [].concat(n)), + e + ); + } + return function () { + return ( + e || + (e = { + addEvent: function (e) { + t + ? (n.unshift(e), + n.length > 1 && + ((function () { + if (n.length) { + var e = Xc().get("ekvs"); + (function (e) { + var t = 0; + for (var n in e) + Array.isArray(e[n]) && (t += e[n].length); + return t; + })(e) + + n.length <= + 1e4 && ((e = i(e, n)), Xc().set("ekvs", e)); + } + })(), + (n.length = 0))) + : (Pc().w("session id is null: ", t), r.unshift(e)); + }, + setSessionId: function (e) { + if ( + ((t = e), + Pc().v("setSessionId: ", t), + Array.isArray(r) && r.length && t) + ) { + for (var n = 0; n < r.length; n++) this.addEvent(r[n]); + r.length = 0; + } + }, + getEkvs: function () { + var e = Xc().get("ekvs"); + return n && n.length && (e = i(e, n)), e; + }, + clear: function () { + Xc().remove("ekvs"), (n.length = 0); + }, + }), + e + ); + }; + })(), + Zc = "half_session", + ef = "close_session", + tf = ["access", "access_subtype"], + nf = (function () { + var e = null; + return { + instance: function () { + return ( + e || + (e = (function () { + var e = !1, + t = {}; + return { + init: function () { + !(function (e) { + var n = Xc().get(Mc.IMPRINT); + n && (t.imprint = n), + (t.device_type = "Phone"), + (t.sdk_version = Mc.IMPL_VERSION), + (t.appkey = Tc().appKey()), + Rc.getDeviceInfo(function (e) { + t.device_info = e || ""; + }); + var r = Rc.getAppInfoSync(); + (t.appid = r.appId), + (t.app_env = r.appEnv), + (t.app_version = r.appVersion), + Rc.getSystemInfo(function (n) { + Rc.getNetworkInfo(function (r) { + var i = (function (e, t) { + var n = {}; + (e = e || {}).safeArea = e.safeArea || {}; + var r = (t = t || {}).networkType; + "none" === r && (r = "unknown"); + var i = e.model || "", + o = e.platform || "", + a = e.brand || "", + u = a.toLowerCase(); + switch ( + ((n.sdk_type = Rc.getSdkType()), + (n.platform = Rc.getPlatform()), + (n.platform_sdk_version = e.platformSDKVersion), + (n.platform_version = e.platformVersion), + (n.resolution = e.resolution), + (n.pixel_ratio = e.pixelRatio), + (n.os = o), + (n.font_size_setting = e.fontSizeSetting), + (n.device_model = i), + (n.device_brand = a), + (n.device_manufacturer = u), + (n.device_manuid = i), + (n.device_name = i), + (n.os_version = e.OSVersion), + (n.language = e.language), + (n.theme = e.theme), + (n.benchmark_level = e.benchmarkLevel), + (n.status_bar_height = e.statusBarHeight), + (n.safe_area_top = e.safeArea.top), + (n.safe_area_left = e.safeArea.left), + (n.safe_area_right = e.safeArea.right), + (n.safe_area_bottom = e.safeArea.bottom), + (n.safe_area_height = e.safeArea.height), + (n.safe_area_width = e.safeArea.width), + (n.storage = e.storage), + (n.screen_width = e.screenWidth), + (n.screen_height = e.screenHeight), + (n.host = e.host), + (r = r ? r.toLowerCase() : "")) + ) { + case "4g": + (n.access_subtype = "LTE"), (n.access = "4G"); + break; + case "3g": + (n.access_subtype = "CDMA"), (n.access = "3G"); + break; + case "2g": + (n.access_subtype = "GRPS"), (n.access = "2G"); + break; + default: + (n.access = r), delete n.access_subtype; + } + return n; + })(n, r); + Hc(t, i), e && e(); + }); + }); + })(function () { + e = !0; + }); + }, + isLoaded: function () { + return e; + }, + get: function () { + return t; + }, + getRealtimeFields: function () { + var e = {}; + return ( + tf.forEach(function (n) { + e[n] = t[n]; + }), + e + ); + }, + setIdTracking: function (e) { + this.setItem("id_tracking", e); + }, + setIdType: function (e) { + this.setItem("id_type", e); + }, + setAppVersion: function (e) { + this.setItem("app_version", e); + }, + setSuperProperty: function (e) { + t.sp || (t.sp = {}), (t.sp.isv = e); + }, + getSuperProperty: function () { + return t && t.sp ? t.sp.isv : ""; + }, + setItem: function (e, n) { + t[e] = n; + }, + getItem: function (e) { + return t[e]; + }, + }; + })()), + e + ); + }, + }; + })(), + rf = + ((Nc = null), + (Uc = null), + (jc = null), + function () { + return ( + Nc || + (Nc = { + resume: function (e) { + var t = !1; + jc || (jc = Xc().get(Mc.CURRENT_SESSION)); + var n = new Date(); + return ( + (Uc = n.getTime()), + !jc || !jc.end_time || Uc - jc.end_time > Mc.SESSION_INTERVAL + ? ((t = !0), + (function (e) { + try { + var t = (jc || {}).options || {}, + n = Hc( + {}, + (function (e) { + var t = {}; + for (var n in e) + 0 === n.indexOf("_um_") && (t[n] = e[n]); + return ( + Pc().v("query: ", e), + Pc().v("_um_params: ", t), + t + ); + })(e.query) + ); + (n.path = e.path || t.path), + "gaode" !== Rc.getPlatform() && + (n.scene = e.scene + ? Rc.getPlatform() + "_" + e.scene + : t.scene); + var r = e.referrerInfo; + r && (n.referrerAppId = r.appId), + Pc().v("session options: ", n); + var i = n[Mc.UM_SSRC]; + i && Jc().setShareSource(i); + var o = Date.now(); + jc = { id: $c(10) + o, start_time: o, options: n }; + } catch (e) { + Pc().e("生成新session失败: ", e); + } + })(e), + Pc().v("开始新的session(%s): ", jc.id, jc)) + : Pc().v( + "延续上一次session(%s): %s ", + jc.id, + n.toLocaleTimeString(), + jc + ), + t + ); + }, + pause: function () { + !(function () { + if (jc) { + var e = new Date(); + (jc.end_time = e.getTime()), + "number" != typeof jc.duration && (jc.duration = 0), + (jc.duration = jc.end_time - Uc), + Xc().set(Mc.CURRENT_SESSION, jc), + Pc().v( + "退出会话(%s): %s ", + jc.id, + e.toLocaleTimeString(), + jc + ); + } + })(); + }, + getCurrentSessionId: function () { + return (jc || {}).id; + }, + getCurrentSession: function () { + return jc; + }, + cloneCurrentSession: function () { + return Fc(jc); + }, + }), + Nc + ); + }), + of = { sessions: "sn", ekvs: "e", active_user: "active_user" }, + af = { + sdk_type: "sdt", + access: "ac", + access_subtype: "acs", + device_model: "dm", + language: "lang", + device_type: "dt", + device_manufacturer: "dmf", + device_name: "dn", + platform_version: "pv", + id_type: "it", + font_size_setting: "fss", + os_version: "ov", + device_manuid: "did", + platform_sdk_version: "psv", + device_brand: "db", + appkey: "ak", + _id: "id", + id_tracking: "itr", + imprint: "imp", + sdk_version: "sv", + resolution: "rl", + testToken: "ttn", + theme: "t5", + benchmark_level: "bml", + screen_width: "sw", + screen_height: "sh", + status_bar_height: "sbh", + safe_area_top: "sat", + safe_area_left: "sal", + safe_area_right: "sar", + safe_area_bottom: "sab", + safe_area_height: "sah", + safe_area_width: "saw", + pixel_ratio: "pr", + storage: "s7", + host: "hs", + }, + uf = { + uuid: "ud", + unionid: "und", + openid: "od", + anonymousid: "nd", + alipay_id: "ad", + device_id: "dd", + userid: "puid", + }; +function sf(e, t) { + var n = cf(e, t); + return ( + e && + e.id_tracking && + (n[t.id_tracking || "id_tracking"] = cf(e.id_tracking, uf)), + n + ); +} +function cf(e, t) { + var n = {}; + for (var r in e) t[r] ? (n[t[r]] = e[r]) : (n[r] = e[r]); + return n; +} +function ff(e, t) { + var n = {}; + if (e) for (var r in e) e[r] && (n[t[r]] = e[r]); + return n; +} +var lf = ""; +function hf() { + return lf; +} +var pf = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", + df = (function (e) { + for (var t = {}, n = 0, r = e.length; n < r; n++) t[e.charAt(n)] = n; + return t; + })(pf), + vf = String.fromCharCode, + gf = function (e) { + if (e.length < 2) + return (t = e.charCodeAt(0)) < 128 + ? e + : t < 2048 + ? vf(192 | (t >>> 6)) + vf(128 | (63 & t)) + : vf(224 | ((t >>> 12) & 15)) + + vf(128 | ((t >>> 6) & 63)) + + vf(128 | (63 & t)); + var t = + 65536 + 1024 * (e.charCodeAt(0) - 55296) + (e.charCodeAt(1) - 56320); + return ( + vf(240 | ((t >>> 18) & 7)) + + vf(128 | ((t >>> 12) & 63)) + + vf(128 | ((t >>> 6) & 63)) + + vf(128 | (63 & t)) + ); + }, + yf = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g, + _f = function (e) { + var t = [0, 2, 1][e.length % 3], + n = + (e.charCodeAt(0) << 16) | + ((e.length > 1 ? e.charCodeAt(1) : 0) << 8) | + (e.length > 2 ? e.charCodeAt(2) : 0); + return [ + pf.charAt(n >>> 18), + pf.charAt((n >>> 12) & 63), + t >= 2 ? "=" : pf.charAt((n >>> 6) & 63), + t >= 1 ? "=" : pf.charAt(63 & n), + ].join(""); + }, + mf = function (e) { + return e.replace(yf, gf).replace(/[\s\S]{1,3}/g, _f); + }, + wf = new RegExp(["[À-ß][€-¿]", "[à-ï][€-¿]{2}", "[ð-÷][€-¿]{3}"].join("|"), "g"), + kf = function (e) { + switch (e.length) { + case 4: + var t = + (((7 & e.charCodeAt(0)) << 18) | + ((63 & e.charCodeAt(1)) << 12) | + ((63 & e.charCodeAt(2)) << 6) | + (63 & e.charCodeAt(3))) - + 65536; + return vf(55296 + (t >>> 10)) + vf(56320 + (1023 & t)); + case 3: + return vf( + ((15 & e.charCodeAt(0)) << 12) | + ((63 & e.charCodeAt(1)) << 6) | + (63 & e.charCodeAt(2)) + ); + default: + return vf(((31 & e.charCodeAt(0)) << 6) | (63 & e.charCodeAt(1))); + } + }, + bf = function (e) { + var t = e.length, + n = t % 4, + r = + (t > 0 ? df[e.charAt(0)] << 18 : 0) | + (t > 1 ? df[e.charAt(1)] << 12 : 0) | + (t > 2 ? df[e.charAt(2)] << 6 : 0) | + (t > 3 ? df[e.charAt(3)] : 0), + i = [vf(r >>> 16), vf((r >>> 8) & 255), vf(255 & r)]; + return (i.length -= [0, 0, 2, 1][n]), i.join(""); + }, + xf = new (function () { + var e = "", + t = this; + (this.set = function (t) { + e = t; + }), + (this.get = function () { + return e; + }), + (this.getImpObj = function () { + return Yc( + (function (e) { + return (function (e) { + return e.replace(/[\s\S]{1,4}/g, bf).replace(wf, kf); + })( + String(e) + .replace(/[-_]/g, function (e) { + return "-" == e ? "+" : "/"; + }) + .replace(/[^A-Za-z0-9\+\/]/g, "") + ); + })(e) + ); + }), + (this.getItem = function (e) { + var n = t.getImpObj(); + return (n && n[e]) || ""; + }), + (this.load = function () { + e = Xc().get(Mc.IMPRINT); + }), + (this.save = function () { + e && Xc().set(Mc.IMPRINT, e); + }); + })(); +function Sf(e) { + var t = e, + n = []; + (this.enqueue = function (e) { + "number" == typeof t && this.size() >= t && this.dequeue(), n.push(e); + }), + (this.dequeue = function () { + return n.shift(); + }), + (this.front = function () { + return n[0]; + }), + (this.isEmpty = function () { + return 0 === n.length; + }), + (this.clear = function () { + n.length = 0; + }), + (this.size = function () { + return n.length; + }), + (this.items = function () { + return n; + }), + (this.print = function () { + console.log(n.toString()); + }); +} +var Af = (function () { + var e = null, + t = !1, + n = [], + r = new Sf(50); + function i(e) { + Wc().getId() + ? t + ? Pc().i("队列正在发送中") + : ((t = !0), + (function e(t) { + var i = r.front(); + i + ? (function (e, t, n, r) { + nf.instance().setIdType(Wc().getIdType()), + nf.instance().setIdTracking(Wc().getIdTracking()); + var i = Wc().getUserId(); + i && + e.analytics && + (e.analytics.active_user = { + puid: i, + provider: Wc().getProvider(), + }); + var o = Fc(nf.instance().get()); + e.header = Hc(o, e.header, { + ts: Date.now(), + testToken: hf(), + traceId: $c(10) + Date.now() + $c(9), + }); + var a, + u = { h: sf((a = e).header, af), a: ff(a.analytics, of) }, + s = Gc(u), + c = { + url: Mc.ENDPOINT + Mc.LOG_URL, + method: "POST", + data: u, + success: function (r) { + var i = r.code || r.status || r.statusCode; + 200 === i || 413 === i + ? (Pc().i("数据发送成功: ", e, s), + (function (e) { + e && + (nf.instance().setItem(Mc.IMPRINT, e), + xf.set(e), + xf.save(), + Pc().v("imprint: ", xf.getImpObj()), + xf.getItem("ttn_invalid") && (lf = "")); + })((r.data || {}).imprint), + t()) + : (Pc().w("数据发送失败: ", s), n()); + }, + fail: function (e) { + Pc().w("超时: ", s), n(); + }, + complete: function () {}, + }; + Rc.request( + Hc(c, { + header: { + "Msg-Type": Rc.getSdkType() + "/json", + "disable-base64": "Y", + }, + }) + ); + })( + i, + function () { + r.dequeue(), e(t); + }, + function () { + var i = r.dequeue(); + i && !i.noCache && n.push(i), e(t); + } + ) + : (n.forEach(function (e) { + r.enqueue(e); + }), + (n.length = 0), + t()); + })(function () { + (t = !1), "function" == typeof e && e(); + })) + : (Pc().i("获取id标识失败,暂缓发送"), "function" == typeof e && e()); + } + function o() { + (this.send = function (e, t, n) { + e + ? this.add(e, t, function () { + i(n); + }) + : i(n); + }), + (this.add = function (e, t, n) { + !(function e(t, n, i) { + if (nf.instance().isLoaded()) { + n = n || {}; + var o = (function (e) { + var t, + n, + r = null; + switch (e) { + case Zc: + (t = null), + (n = rf().cloneCurrentSession()) && + (t = { + header: { st: "1" }, + analytics: { sessions: [n] }, + }), + (r = t); + break; + case ef: + r = (function () { + var e = null, + t = {}, + n = rf().cloneCurrentSession(); + if (n) { + var r = Vc().get(), + i = Jc().get(); + Array.isArray(r) && r.length && (n.pages = Fc(r)), + Array.isArray(i) && i.length && (n.shares = Fc(i)), + Vc().clear(), + Jc().clear(), + (t.sessions = [n]); + } + var o = Qc().getEkvs(); + return ( + o && ((t.ekvs = Fc(o)), Qc().clear()), + (t.sessions || t.ekvs) && (e = { analytics: t }), + e + ); + })(); + break; + case "ekv": + r = (function () { + var e = null, + t = Qc().getEkvs(); + return ( + t && + ((e = { analytics: { ekvs: Fc(t) } }), Qc().clear()), + e + ); + })(); + } + return r; + })(t); + if (o) { + var a = nf.instance().getRealtimeFields(); + (o.header = Hc({}, o.header, a)), + (o.noCache = n.noCache), + r.enqueue(o); + } + "function" == typeof i && i(); + } else + setTimeout(function () { + e(t, n, i); + }, 100); + })(e, t, n); + }), + (this.load = function () { + var e = Xc().get(Mc.REQUESTS); + e && + e.length && + e.forEach(function (e) { + r.enqueue(e); + }), + Xc().remove(Mc.REQUESTS); + }), + (this.save = function () { + Xc().set(Mc.REQUESTS, Fc(r.items())), r.clear(); + }); + } + return function () { + return e || (e = new o()), e; + }; + })(), + If = (function () { + var e = null, + t = null; + function n() { + function e(e) { + if (e && "object" == f(e)) { + var t = Xc().get(Mc.USER_INFO); + return ( + (t && + (function e(t, n) { + if (t === n) return !0; + if (t && "object" == f(t) && n && "object" == f(n)) { + if (Object.keys(t).length !== Object.keys(n).length) + return !1; + for (var r in t) { + if (Object.prototype.hasOwnProperty.call(n, r)) return !1; + if (!e(t[r], n[r])) return !1; + } + return !0; + } + return !1; + })(e, t)) || + (function (e, t) { + var n = Tc().appKey(), + r = Rc.getSdkType(), + i = Wc().getId(), + o = Wc().getIdType(); + if (n && r && i && o) { + var a = { + ak: Tc().appKey(), + sdt: Rc.getSdkType(), + uin: e.nickName, + uia: e.avatar || e.avatarUrl, + uig: e.gender, + uit: e.country, + uip: e.province, + uic: e.city, + uil: e.language, + id: Wc().getId(), + it: Wc().getIdType(), + age: e.age, + cln: e.constellation, + }, + u = JSON.stringify(a); + (u = (function (e, t) { + return mf(String(e)); + })(u)), + Rc.request({ + url: Mc.ENDPOINT + Mc.USERINFO_URL, + method: "POST", + header: { + "content-type": "application/x-www-form-urlencoded", + }, + data: "ui=" + u, + success: function (n) { + Pc().v("用户信息上传成功: ", e), + t && t(n && n.data && 200 === n.data.code); + }, + fail: function () { + Pc().e("用户信息上传失败: ", e), t && t(!1); + }, + }); + } + })(e, function (t) { + t && Xc().set(Mc.USER_INFO, e); + }), + !0 + ); + } + return !1; + } + (this.setUserInfo = function (e) { + t = e; + }), + (this.update = function () { + e(t) || + Rc.getUserInfo(function (t) { + e(t); + }); + }); + } + return function () { + return e || (e = new n()), e; + }; + })(); +function Of(e, t) { + (this.id = e), (this.ts = Date.now()); + var n = f(t); + if ("string" === n && t) this[e] = t; + else if ("object" === n) + for (var r in t) ({}).hasOwnProperty.call(t, r) && (this[r] = t[r]); +} +function Pf() { + var e = !1, + t = !1, + n = 0; + (this.init = function (t) { + Pc().v("sdk version: " + Mc.IMPL_VERSION), + e + ? Pc().v("Lib重复实例化") + : Xc().load(function () { + Pc().v("cache初始化成功: ", Xc().getAll()), + Wc().setUseOpenid && Wc().setUseOpenid(Tc().useOpenid()), + Wc().init(function () { + nf.instance().init(), Pc().v("Header初始化成功"); + }), + (e = !0), + "function" == typeof t && t(), + Pc().tip("SDK集成成功"); + }); + }), + (this.resume = function (n) { + var r; + e && + !t && + (Pc().v("showOptions: ", n), + (t = !0), + Tc().enableVerify() && + n && + n.query && + ((r = n.query._ttn), (lf = r || lf)), + this._resume(n)); + }), + (this._resume = function (e) { + Af().load(); + var t = rf().resume(e), + n = rf().getCurrentSessionId(); + Qc().setSessionId(n), + t && + Af().add(Zc, {}, function () { + Wc().setUseOpenid && Wc().setUseOpenid(Tc().useOpenid()), + Tc().useOpenid() && Tc().autoGetOpenid() && !Wc().getId() + ? (Pc().v("get id async"), + (function e(t, n) { + Wc().getId() || + t <= 0 || + Wc().getOpenIdAsync(Tc().appKey(), function (r) { + r + ? (Pc().v("获取id成功"), Af().send()) + : (Pc().v( + "获取openid失败,启动重试,剩余可用次数", + t - 1 + ), + setTimeout(function () { + e(t - 1, n); + }, n)); + }); + })(10, 3e3)) + : (Pc().v("session auto send"), Af().send()); + }); + }), + (this.pause = function (r) { + e && + ((t = !1), + (n = 0), + rf().pause(), + Tc().uploadUserInfo() && If().update(), + Af().send(ef, {}, function () { + Af().save(), + Xc().save(), + Pc().v("cache save success"), + "function" == typeof r && r(); + })); + }), + (this.setOpenid = function (e) { + Pc().v("setOpenId: %s", e), Wc().setOpenid(e), Af().send(); + }), + (this.setUnionid = function (e) { + Pc().v("setUnionid: %s", e), Wc().setUnionid(e); + }), + (this.setUserid = function (e, t) { + Pc().v("setUserid: %s", e, t), Wc().setUserid(e, t); + }), + (this.removeUserid = function () { + Pc().v("removeUserid"), Wc().removeUserid(); + }), + (this.setUserInfo = function (e) { + Pc().v("setUserInfo: %s", e), If().setUserInfo(e); + }), + (this.setAnonymousid = function (e) { + Pc().v("setAnonymousId: %s", e), Wc().setAnonymousid(e), Af().send(); + }), + (this.setAppVersion = function (e) { + e && "string" != typeof e + ? Pc().w("setAppVersion方法只接受字符串类型参数") + : nf.instance().setAppVersion(e); + }), + (this.setAlipayUserid = function (e) { + e && "string" != typeof e + ? Pc().w("setAlipayUserid方法只接受字符串类型参数") + : (Pc().v("setAlipayUserid: %s", e), Wc().setAlipayUserid(e)); + }), + (this.setDeviceId = function (e) { + if ("string" == typeof e) return Wc().setDeviceId(e), e; + }), + (this.setSuperProperty = function (e) { + if (e && "string" != typeof e) Pc().w("超级属性只支持字符串类型"); + else { + var t = this; + nf.instance().getSuperProperty() !== e && + (nf.instance().setSuperProperty(e), + t.pause(function () { + t.resume(); + })); + } + }), + (this.trackEvent = function (t, r) { + if ( + e && + (Pc().v("event: ", t, r), + (function (e, t) { + if (!e || "string" != typeof e) + return ( + Pc().e( + 'please check trackEvent id. id should be "string" and not null' + ), + !1 + ); + var n = ["id", "ts", "du"], + r = {}; + if ( + (n.forEach(function (e) { + r[e] = 1; + }), + r[e]) + ) + return Pc().e("eventId不能与以下保留字冲突: " + n.join(",")), !1; + if (e.length > Mc.MAX_EVENTID_LENGTH) + return ( + Pc().e( + "The maximum length of event id shall not exceed " + + Mc.MAX_EVENTID_LENGTH + ), + !1 + ); + if ( + t && + ("object" != f(t) || Array.isArray(t)) && + "string" != typeof t + ) + return ( + Pc().e( + "please check trackEvent properties. properties should be string or object(not include Array)" + ), + !1 + ); + if ("object" == f(t)) { + var i = 0; + for (var o in t) + if ({}.hasOwnProperty.call(t, o)) { + if (o.length > Mc.MAX_PROPERTY_KEY_LENGTH) + return ( + Pc().e( + "The maximum length of property key shall not exceed " + + Mc.MAX_PROPERTY_KEY_LENGTH + ), + !1 + ); + if (i >= Mc.MAX_PROPERTY_KEYS_COUNT) + return ( + Pc().e( + "The maximum count of properties shall not exceed " + + Mc.MAX_PROPERTY_KEYS_COUNT + ), + !1 + ); + if (r[o]) + return ( + Pc().e("属性中的key不能与以下保留字冲突: " + n.join(",")), + !1 + ); + i += 1; + } + } + return !0; + })(t, r)) + ) { + var i = new Of(t, r); + Qc().addEvent(i); + var o = !!hf(), + a = o ? 0 : Mc.EVENT_SEND_DEFAULT_INTERVAL, + u = Date.now(); + (s = a), + ("number" != typeof n || + "number" != typeof s || + n <= 0 || + u - n > s) && + ((n = u), Af().send("ekv", { noCache: o }, function () {})); + } + var s; + }), + (this.trackShare = function (t) { + if (e) + try { + Rc.getSdkType().indexOf("game") > -1 + ? ((t = Jc().add(t, !0)), Pc().v("shareQuery: ", t)) + : ((t = Jc().add(t, !1)), Pc().v("sharePath: ", t.path)); + } catch (e) { + Pc().v("shareAppMessage: ", e); + } + return t; + }), + (this.trackPageStart = function (t) { + e && Vc().addPageStart(t); + }), + (this.trackPageEnd = function (t) { + e && Vc().addPageEnd(t); + }), + (this.onShareAppMessage = function (e) { + var t = this; + Rc.onShareAppMessage(function () { + return t.trackShare(e()); + }); + }), + (this.shareAppMessage = function (e) { + this.trackShare(e), Rc.shareAppMessage(e); + }); +} +var Tf = []; +function Ef() {} +Ef.prototype = { + createMethod: function (e, t, n) { + try { + e[t] = + n && n[t] + ? function () { + return n[t].apply(n, arguments); + } + : function () { + Tf.push([t, [].slice.call(arguments)]); + }; + } catch (e) { + Pc().v("create method errror: ", e); + } + }, + installApi: function (e, t) { + try { + var n, + r, + i = + "resume,pause,trackEvent,trackPageStart,trackPageEnd,trackShare,setUserid,setOpenid,setUnionid,setSuperProperty,setUserInfo".split( + "," + ); + for (n = 0, r = i.length; n < r; n++) this.createMethod(e, i[n], t); + if (t) + for (n = 0, r = Tf.length; n < r; n++) { + var o = Tf[n]; + try { + t[o[0]].apply(t, o[1]); + } catch (e) { + Pc().v("impl[v[0]].apply error: ", o[0], e); + } + } + } catch (e) { + Pc().v("install api errror: ", e); + } + }, +}; +var Cf = [Mc.ENDPOINT, Mc.ENDPOINTB]; +var Rf = function (e) { + Mc.ENDPOINTB && + setTimeout(function () { + !(function e(t, n) { + var r, i; + if ( + (0 === t || (1 === t && n) + ? (r = Mc.ENDPOINT) + : 2 === t && n + ? (r = Mc.ENDPOINTB) + : n && (r = Cf[t]), + t >= Cf.length || n) + ) + return ( + n && ((i = r), (Mc.ENDPOINT = i)), + n && Pc().v("命中可用服务", r), + !n && Pc().tip_w("未命中可用服务"), + !1 + ); + Rc.request({ + url: Mc.ENDPOINT + "/uminiprogram_logs/ckdh", + success: function (n) { + 200 === (n.code || n.status || n.statusCode) && + n.data && + 200 === n.data.code + ? e(t + 1, !0) + : e(t + 1, !1); + }, + fail: function () { + e(t + 1, !1); + }, + }); + })(0, !1); + }, e); + }, + Lf = new Ef(), + Df = { + _inited: !1, + _log: Pc(), + preinit: function (e) { + if (e && "object" == f(e)) for (var t in e) Mc[t] = e[t]; + return Mc; + }, + use: function (e, t) { + return e && qc(e.install) ? e.install(Df, t) : qc(e) && e(Df, t), Df; + }, + messager: Cc, + init: function (e) { + if (this._inited) Pc().v("已经实例过,请避免重复初始化"); + else if (e) + if (e.appKey) { + "boolean" != typeof e.useOpenid && (e.useOpenid = !0), + Tc().set(e), + Pc().setDebug(e.debug), + (this._inited = !0); + var t = this; + Cc.emit(Cc.messageType.CONFIG_LOADED, e); + try { + var n = new Pf(); + Pc().v("成功创建Lib对象"), + n.init(function () { + Pc().v("Lib对象初始化成功"), + Lf.installApi(t, n), + Pc().v("安装Lib接口成功"), + Cc.emit(Cc.messageType.UMA_LIB_INITED, e); + }), + Rf(3e3); + } catch (e) { + Pc().w("创建Lib对象异常: " + e); + } + } else Pc().err("请确保传入正确的appkey"); + else Pc().err("请正确设置相关信息!"); + }, + }; +try { + Lf.installApi(Df, null); +} catch (Nc) { + Pc().w("uma赋值异常: ", Nc); +} +var Bf = {}, + Nf = Array.isArray; +(Bf.isArray = + Nf || + function (e) { + return "[object Array]" === toString.call(e); + }), + (Bf.isObject = function (e) { + return e === Object(e) && !Bf.isArray(e); + }), + (Bf.isEmptyObject = function (e) { + if (Bf.isObject(e)) { + for (var t in e) if (hasOwnProperty.call(e, t)) return !1; + return !0; + } + return !1; + }), + (Bf.isUndefined = function (e) { + return void 0 === e; + }), + (Bf.isString = function (e) { + return "[object String]" === toString.call(e); + }), + (Bf.isDate = function (e) { + return "[object Date]" === toString.call(e); + }), + (Bf.isNumber = function (e) { + return "[object Number]" === toString.call(e); + }), + (Bf.each = function (e, t, n) { + if (null != e) { + var r = {}, + i = Array.prototype.forEach; + if (i && e.forEach === i) e.forEach(t, n); + else if (e.length === +e.length) { + for (var o = 0, a = e.length; o < a; o++) + if (o in e && t.call(n, e[o], o, e) === r) return; + } else + for (var u in e) + if (hasOwnProperty.call(e, u) && t.call(n, e[u], u, e) === r) return; + } + }), + (Bf.buildQuery = function (e, t) { + var n, + r, + i = []; + return ( + void 0 === t && (t = "&"), + Bf.each(e, function (e, t) { + (n = encodeURIComponent(e.toString())), + (r = encodeURIComponent(t)), + (i[i.length] = r + "=" + n); + }), + i.join(t) + ); + }), + (Bf.JSONDecode = function (e) { + if (e) { + try { + return JSON.parse(e); + } catch (e) { + console.error("JSONDecode error", e); + } + return null; + } + }), + (Bf.JSONEncode = function (e) { + try { + return JSON.stringify(e); + } catch (e) { + console.error("JSONEncode error", e); + } + }); +var Uf = Object.create(null), + jf = Object.create(null), + Mf = null, + $f = !1, + Ff = { minFetchIntervalSeconds: 43200 }; +function Hf(e) { + e && + Bf.each(e, function (e) { + jf[e.k] = e; + }); +} +function qf() { + var e = this; + (this.STORAGE_NAME = null), + Cc.once(Cc.messageType.CONFIG_LOADED, function (t) { + Pc().v("云配初始化开始..."), e.init(t); + }); +} +qf.prototype = { + setDefaultValues: function (e) { + $f && + Bf.isObject(e) && + Bf.each(e, function (e, t) { + (jf[t] && jf[t].v) || (jf[t] = { v: e }); + }); + }, + getValue: function (e) { + Pc().v("从配置项中读取 value, 当前配置为: ", jf), + Pc().v("待读取的 key : ", e); + try { + if (!$f) return; + var t = jf[e] || {}; + return ( + Pc().v("读取相应配置ing..., 结果为: ", t), + Bf.isNumber(t.e) && + Bf.isNumber(t.g) && + (Pc().v("读取到相应配置, 开始数据上报..."), + (function (e) { + var t = { + appkey: Tc().appKey(), + sdkType: Rc.getSdkType(), + expId: e && e.e, + groupId: e && e.g, + clientTs: Date.now(), + key: e && e.k, + value: e && e.v, + umid: Wc().getId(), + }; + try { + Rc.request({ + url: "https://pslog.umeng.com/mini_ablog", + method: "POST", + data: [t], + success: function (e) { + e && 200 === e.statusCode + ? Pc().v("上传数据成功", t) + : Pc().w("ablog 请求成功, 返回结果异常 ", e); + }, + fail: function (e) { + Pc().w("ablog 请求数据错误 ", t, e); + }, + }); + } catch (e) { + Pc().w("urequest 调用错误", e); + } + })(t)), + t.v + ); + } catch (t) { + Pc().w("getValue error, key: ", e); + } + }, + active: function (e) { + try { + if (!$f) return; + var t, n; + e && e.params && (t = e.params), + e && e.callback && (n = e.callback), + Pc().v("激活配置项: ", t), + t + ? (Pc().v("本地已缓存的配置项: ", jf), + Hf(t), + Pc().v("合并后的配置项: ", jf), + n && n(jf), + Pc().v("active 结束")) + : (Pc().v("配置项为空!! 读取本地配置..."), + Rc.getStorage(this.STORAGE_NAME, function (e) { + e + ? (Hf((e = Bf.JSONDecode(e) || {}).params), + Pc().v("当前本地配置项为: ", jf), + n && n(jf), + Pc().v("active 结束")) + : Pc().v("当前本地配置项为空, 退出激活"); + })); + } catch (e) { + Pc().w("SDK active 错误", e); + } + }, + init: function (e) { + e.appKey && + ((Mf = e.appKey), + (this.STORAGE_NAME = "um_remote_config_{{" + Mf + "}}")), + Mf + ? $f + ? Pc().w("SDK 已经初始化, 请避免重复初始化") + : (($f = !0), this.setOptions(e), this.active()) + : Pc().err("请检查您的小程序 appKey, appKey 不能为空"); + }, + setOptions: function (e) { + if (Bf.isObject(e)) { + var t = e.minFetchIntervalSeconds; + Bf.isNumber(t) && (Ff.minFetchIntervalSeconds = Math.max(t, 5)); + } + }, + fetch: function (e) { + if ($f && this.STORAGE_NAME) { + var t, n; + e && e.active && (t = e.active), e && e.callback && (n = e.callback); + var r = this; + Rc.getStorage(this.STORAGE_NAME, function (e) { + Pc().v("开始读缓存 data is ", e), + (e = Bf.JSONDecode(e) || {}).params && + e.ts && + Date.now() - e.ts < 1e3 * Ff.minFetchIntervalSeconds + ? (Pc().v( + "缓存数据存在, 并且本次触发时间距离上次fetch触发时间未超过 fetch 时间间隔, 无需 fetch" + ), + n && n(e.params)) + : (function (e) { + Pc().v("开始构建 fetch body"), + Rc.getSystemInfo(function (t) { + Rc.getNetworkInfo(function (n) { + var r = (n = n || {}).networkType; + (r = "none" === r ? "unknown" : r.toUpperCase()), + (Uf.access = r), + (function (e, t) { + var n, + r = e.brand || ""; + if ( + ((Uf.deviceType = "Phone"), + (Uf.sdkVersion = "2.8.0"), + (Uf.appkey = Tc().appKey()), + (Uf.sdkType = Rc.getSdkType()), + (Uf.umid = Wc().getId()), + e) + ) { + (Uf.language = e.language || ""), + (Uf.os = e.OS), + (Uf.osVersion = e.OSVersion), + (Uf.deviceName = e.deviceName), + (Uf.platformVersion = e.platformVersion), + (Uf.platformSdkVersion = e.platformSDKVersion), + (Uf.deviceBrand = r); + var i = e.resolution.split("*"); + Bf.isArray(i) && + ((Uf.resolutionHeight = Number(i[0])), + (Uf.resolutionWidth = Number(i[1]))); + } + (n = xf.getImpObj()) && + ((Uf.installTime = + n.install_datetime && + Date.parse(n.install_datetime)), + (Uf.scene = n.install_scene), + (Uf.channel = n.install_channel), + (Uf.campaign = n.install_campaign)), + t && t(Uf); + })(t, e); + }); + }); + })(function (e) { + Pc().v("缓存数据不存在, 构建 fetch body :", e); + try { + Rc.request({ + url: "https://ucc.umeng.com/v1/mini/fetch", + method: "POST", + data: e, + success: function (e) { + if (e && 200 === e.statusCode && e.data && e.data.cc) { + Pc().v("fetch 请求成功, 响应数据: ", e.data); + var i = Object.create(null); + Bf.each(e.data.cc, function (e) { + i[e.k] = e; + }); + var o = { ts: Date.now(), params: i }; + Pc().v("开始缓存 fetch 请求的云配置结果..."), + Rc.setStorage( + r.STORAGE_NAME, + Bf.JSONEncode(o), + function (e) { + Pc().v("缓存云配置成功, 缓存数据为: ", o), + Pc().v("缓存云配置成功, 成功消息为: ", e), + Pc().v("云配拉取数据是否自动激活: ", t), + e && + t && + (Pc().v("激活云配置..."), + r.active({ params: i, callback: n })); + } + ); + } else + Pc().w("fetch 请求成功,返回结果异常 ", e.data), + n && n(); + }, + fail: function (t) { + Pc().w("fetch请求数据错误 ", e, t), n && n(); + }, + }); + } catch (e) { + Pc().w("urequest调用错误", e); + } + }); + }); + } + }, +}; +var zf = { + install: function (e, t) { + return ( + e.rc || (e.rc = new qf()), + e.messager.once(e.messager.messageType.CONFIG_LOADED, function () { + e._log.v("plugin rc installed"); + }), + e.rc + ); + }, + }, + Wf = !1, + Vf = { + install: function (e, t) { + e.wxpluginwraper || + (e.wxpluginwraper = function (t) { + Wf || + (t.onAppShow && + t.onAppShow(function (t) { + e.resume(t); + }), + t.onAppHide && + t.onAppHide(function (t) { + e.pause(t); + }), + (Wf = !0)); + }); + }, + }, + Kf = "", + Jf = {}; +function Gf(e) { + e && (Kf = e); +} +function Yf(e, t) { + if (e.onShareAppMessage) { + var n = e.onShareAppMessage; + e.onShareAppMessage = function (e) { + var r = n.call(this, e) || {}, + i = (function (e, t) { + if (!e) return ""; + var n = []; + for (var r in t) + "_um_ssrc" !== r && "_um_sts" !== r && n.push(r + "=" + t[r]); + var i = n.join("&"); + return i ? e + "?" + i : e; + })(Kf, Jf[Kf]); + !r.path && i && (r.path = i); + var o = t.trackShare.call(this, r); + return void 0 === o ? r : o; + }; + } +} +function Xf(e, t, n) { + var r = e[t]; + e[t] = function (e) { + n.call(this, e), r && r.call(this, e); + }; +} +function Qf(e) { + try { + Df.resume(e, !0); + } catch (e) { + Pc().v("onAppShow: ", e); + } +} +function Zf() { + try { + Df.pause(); + } catch (e) { + Pc().v("onAppHide: ", e); + } +} +function el() { + try { + Gf(this.route), Df.trackPageStart(this.route); + } catch (e) { + Pc().v("onPageShow: ", e); + } +} +function tl(e) { + try { + Gf(this.route), + e && ((t = this.route), (n = e), t && (Jf[t] = n)), + Pc().v("Page onLoad: ", this.route, e); + } catch (e) { + Pc().v("onPageLoad: ", e); + } + var t, n; +} +function nl() { + try { + Df.trackPageEnd(this.route); + } catch (e) { + Pc().v("onPageHide: ", e); + } +} +try { + var rl = App; + App = function (e) { + Xf(e, "onLaunch", function () { + !(function (e) { + try { + Df.init(e); + } catch (e) { + Pc().v("onAppLaunch: ", e); + } + })(e.umengConfig); + }), + Xf(e, "onShow", Qf), + Xf(e, "onHide", Zf), + rl(e); + }; +} catch (Nc) { + Pc().w("App重写异常"); +} +try { + var il = Page; + Page = function (e) { + Xf(e, "onShow", el), + Xf(e, "onHide", nl), + Xf(e, "onUnload", nl), + Xf(e, "onLoad", tl), + Yf(e, Df), + il(e); + }; +} catch (Nc) { + Pc().w("Page重写异常"); +} +try { + var ol = Component; + Component = function (e) { + try { + e.methods = e.methods || {}; + var t = e.methods; + Xf(t, "onShow", el), + Xf(t, "onHide", nl), + Xf(t, "onUnload", nl), + Xf(t, "onLoad", tl), + Yf(t, Df), + ol(e); + } catch (t) { + ol(e); + } + }; +} catch (Nc) { + Pc().w("Component重写异常"); +} +var al = Df.init; +(Df.init = function (e) { + e && + e.useOpenid && + (Pc().tip_w(Pc().repeat("!")), + Pc().tip_w( + "openid已开启,请确保使用setOpenid设置openid或通过设置autoGetOpenid为true,并在友盟后台设置secret由友盟帮您获取" + ), + Pc().tip_w(Pc().repeat("!"))), + al.call(Df, e); +}), + Df.use(zf), + Df.use(Vf), + (On.uma = Df); +var ul, + sl, + cl, + fl = Df, + ll = function (e) { + return (ul = e); + }, + hl = Symbol(); +function pl(e) { + return ( + e && + "object" == f(e) && + "[object Object]" === Object.prototype.toString.call(e) && + "function" != typeof e.toJSON + ); +} +((cl = sl || (sl = {})).direct = "direct"), + (cl.patchObject = "patch object"), + (cl.patchFunction = "patch function"); +var dl = "undefined" != typeof window; +function vl() { + var e = En(!0), + t = e.run(function () { + return Gr({}); + }), + n = [], + r = [], + i = qr({ + install: function (e) { + ll(i), + (i._a = e), + e.provide(hl, i), + (e.config.globalProperties.$pinia = i), + r.forEach(function (e) { + return n.push(e); + }), + (r = []); + }, + use: function (e) { + return this._a ? n.push(e) : r.push(e), this; + }, + _p: n, + _a: null, + _e: e, + _s: new Map(), + state: t, + }); + return i; +} +var gl = function () {}; +function yl(e, t, n) { + var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : gl; + e.push(t); + var i = function () { + var n = e.indexOf(t); + n > -1 && (e.splice(n, 1), r()); + }; + return ( + !n && + Cn() && + (function (e) { + bn && bn.cleanups.push(e); + })(i), + i + ); +} +function _l(e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + e.slice().forEach(function (e) { + e.apply(void 0, n); + }); +} +function ml(e, t) { + for (var n in (e instanceof Map && + t instanceof Map && + t.forEach(function (t, n) { + return e.set(n, t); + }), + e instanceof Set && t instanceof Set && t.forEach(e.add, e), + t)) + if (t.hasOwnProperty(n)) { + var r = t[n], + i = e[n]; + pl(i) && pl(r) && e.hasOwnProperty(n) && !Jr(r) && !Mr(r) + ? (e[n] = ml(i, r)) + : (e[n] = r); + } + return e; +} +var wl = Symbol(), + kl = Object.assign; +function bl(e, t) { + var n, + r, + i, + o, + a, + u = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, + s = arguments.length > 3 ? arguments[3] : void 0, + c = arguments.length > 5 ? arguments[5] : void 0, + f = kl({ actions: {} }, u), + l = { deep: !0 }, + h = qr([]), + p = qr([]), + d = s.state.value[e]; + function v(t) { + var n; + (r = i = !1), + "function" == typeof t + ? (t(s.state.value[e]), + (n = { type: sl.patchFunction, storeId: e, events: o })) + : (ml(s.state.value[e], t), + (n = { type: sl.patchObject, payload: t, storeId: e, events: o })); + var u = (a = Symbol()); + gi().then(function () { + a === u && (r = !0); + }), + (i = !0), + _l(h, n, s.state.value[e]); + } + c || d || (s.state.value[e] = {}), Gr({}); + var g = c + ? function () { + var e = u.state, + t = e ? e() : {}; + this.$patch(function (e) { + kl(e, t); + }); + } + : gl; + function y(t, n) { + return function () { + ll(s); + var r, + i = Array.from(arguments), + o = [], + a = []; + _l(p, { + args: i, + name: t, + store: _, + after: function (e) { + o.push(e); + }, + onError: function (e) { + a.push(e); + }, + }); + try { + r = n.apply(this && this.$id === e ? this : _, i); + } catch (e) { + throw (_l(a, e), e); + } + return r instanceof Promise + ? r + .then(function (e) { + return _l(o, e), e; + }) + .catch(function (e) { + return _l(a, e), Promise.reject(e); + }) + : (_l(o, r), r); + }; + } + var _ = Nr({ + _p: s, + $id: e, + $onAction: yl.bind(null, p), + $patch: v, + $reset: g, + $subscribe: function (t) { + var a = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + u = yl(h, t, a.detached, function () { + return c(); + }), + c = n.run(function () { + return Ci( + function () { + return s.state.value[e]; + }, + function (n) { + ("sync" === a.flush ? i : r) && + t({ storeId: e, type: sl.direct, events: o }, n); + }, + kl({}, l, a) + ); + }); + return u; + }, + $dispose: function () { + n.stop(), (h = []), (p = []), s._s.delete(e); + }, + }); + s._s.set(e, _); + var m, + w, + k = s._e.run(function () { + return (n = En()).run(function () { + return t(); + }); + }); + for (var b in k) { + var x = k[b]; + if ((Jr(x) && (!Jr((w = x)) || !w.effect)) || Mr(x)) + c || + (!d || + (pl((m = x)) && m.hasOwnProperty(wl)) || + (Jr(x) ? (x.value = d[b]) : ml(x, d[b])), + (s.state.value[e][b] = x)); + else if ("function" == typeof x) { + var S = y(b, x); + (k[b] = S), (f.actions[b] = x); + } + } + return ( + kl(_, k), + kl(Hr(_), k), + Object.defineProperty(_, "$state", { + get: function () { + return s.state.value[e]; + }, + set: function (e) { + v(function (t) { + kl(t, e); + }); + }, + }), + s._p.forEach(function (e) { + kl( + _, + n.run(function () { + return e({ store: _, app: s._a, pinia: s, options: f }); + }) + ); + }), + d && c && u.hydrate && u.hydrate(_.$state, d), + (r = !0), + (i = !0), + _ + ); +} +function xl(e, t, n) { + var r, + i, + o = "function" == typeof t; + function a(e, n) { + var a = Co(); + return ( + (e = e || (a && Ti(hl, null))) && ll(e), + (e = ul)._s.has(r) || + (o + ? bl(r, t, i, e) + : (function (e, t, n, r) { + var i = t.state, + o = t.actions, + a = t.getters, + u = n.state.value[e]; + bl( + e, + function () { + u || (n.state.value[e] = i ? i() : {}); + var t = (function (e) { + var t = C(e) ? new Array(e.length) : {}; + for (var n in e) t[n] = ni(e, n); + return t; + })(n.state.value[e]); + return kl( + t, + o, + Object.keys(a || {}).reduce(function (t, r) { + return ( + (t[r] = qr( + jo(function () { + ll(n); + var t = n._s.get(e); + return a[r].call(t, t); + }) + )), + t + ); + }, {}) + ); + }, + t, + n, + r, + !0 + ); + })(r, i, e)), + e._s.get(r) + ); + } + return ( + "string" == typeof e ? ((r = e), (i = o ? n : t)) : ((i = e), (r = e.id)), + (a.$id = r), + a + ); +} +var Sl = "Store"; +function Al(e, t) { + return Array.isArray(t) + ? t.reduce(function (t, n) { + return ( + (t[n] = function () { + return e(this.$pinia)[n]; + }), + t + ); + }, {}) + : Object.keys(t).reduce(function (n, r) { + return ( + (n[r] = function () { + var n = e(this.$pinia), + i = t[r]; + return "function" == typeof i ? i.call(this, n) : n[i]; + }), + n + ); + }, {}); +} +var Il = Al; +function Ol(e) { + e = Hr(e); + var t = {}; + for (var n in e) { + var r = e[n]; + (Jr(r) || Mr(r)) && (t[n] = ni(e, n)); + } + return t; +} +var Pl = Object.freeze( + Object.defineProperty( + { + __proto__: null, + get MutationType() { + return sl; + }, + PiniaVuePlugin: function (e) { + e.mixin({ + beforeCreate: function () { + var e = this.$options; + if (e.pinia) { + var t = e.pinia; + if (!this._provided) { + var n = {}; + Object.defineProperty(this, "_provided", { + get: function () { + return n; + }, + set: function (e) { + return Object.assign(n, e); + }, + }); + } + (this._provided[hl] = t), + this.$pinia || (this.$pinia = t), + (t._a = this), + dl && ll(t); + } else + !this.$pinia && + e.parent && + e.parent.$pinia && + (this.$pinia = e.parent.$pinia); + }, + destroyed: function () { + delete this._pStores; + }, + }); + }, + acceptHMRUpdate: function (e, t) { + return function () {}; + }, + createPinia: vl, + defineStore: xl, + getActivePinia: function () { + return (Co() && Ti(hl)) || ul; + }, + mapActions: function (e, t) { + return Array.isArray(t) + ? t.reduce(function (t, n) { + return ( + (t[n] = function () { + var t; + return (t = e(this.$pinia))[n].apply(t, arguments); + }), + t + ); + }, {}) + : Object.keys(t).reduce(function (n, r) { + return ( + (n[r] = function () { + var n; + return (n = e(this.$pinia))[t[r]].apply(n, arguments); + }), + n + ); + }, {}); + }, + mapGetters: Il, + mapState: Al, + mapStores: function () { + for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) + t[n] = arguments[n]; + return t.reduce(function (e, t) { + return ( + (e[t.$id + Sl] = function () { + return t(this.$pinia); + }), + e + ); + }, {}); + }, + mapWritableState: function (e, t) { + return Array.isArray(t) + ? t.reduce(function (t, n) { + return ( + (t[n] = { + get: function () { + return e(this.$pinia)[n]; + }, + set: function (t) { + return (e(this.$pinia)[n] = t); + }, + }), + t + ); + }, {}) + : Object.keys(t).reduce(function (n, r) { + return ( + (n[r] = { + get: function () { + return e(this.$pinia)[t[r]]; + }, + set: function (n) { + return (e(this.$pinia)[t[r]] = n); + }, + }), + n + ); + }, {}); + }, + setActivePinia: ll, + setMapStoreSuffix: function (e) { + Sl = e; + }, + skipHydrate: function (e) { + return Object.defineProperty(e, wl, {}); + }, + storeToRefs: Ol, + }, + Symbol.toStringTag, + { value: "Module" } + ) + ), + Tl = function (e) { + return function (t) { + var n = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Co(); + !Bo && Fi(e, t, n); + }; + }, + El = Tl(ee), + Cl = Tl(ne), + Rl = Tl(ue), + Ll = Tl(pe), + Dl = Tl(ve), + Bl = Tl(ge), + Nl = Tl(me), + Ul = { + pages: [ + { + path: "pages/splash/index", + style: { + disableScroll: !0, + navigationStyle: "custom", + navigationBarTextStyle: "black", + }, + }, + { + path: "pages/home/index", + style: { + navigationBarTitleText: "首页", + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + "app-plus": { animationType: "fade-in", animationDuration: 200 }, + }, + }, + { + path: "pages/order-list/index", + style: { + navigationBarTitleText: "订单", + enablePullDownRefresh: !0, + onReachBottomDistance: 50, + "app-plus": { + pullToRefresh: { support: !0, color: "#1F68E9", style: "circle" }, + }, + }, + }, + { + path: "pages/order-list-mine/index", + style: { + navigationBarTitleText: "我的订单", + enablePullDownRefresh: !0, + onReachBottomDistance: 50, + "app-plus": { + pullToRefresh: { support: !0, color: "#1F68E9", style: "circle" }, + }, + }, + }, + { + path: "pages/user/index", + style: { + navigationStyle: "custom", + navigationBarTextStyle: "white", + navigationBarTitleText: "我的", + }, + }, + { + path: "pages/vin-info/index", + style: { navigationBarTitleText: "什么是VIN" }, + }, + { path: "pages/web-view/index" }, + { + path: "pages/report-query/index", + style: { + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + }, + }, + { + path: "pages/insurance-maintain-detail/index", + style: { + navigationBarTitleText: "维保查询报告", + navigationBarBackgroundColor: "#1F68E9", + }, + }, + { + path: "pages/insurance-maintain-blank/index", + style: { + navigationBarTitleText: "维保查询报告", + navigationBarBackgroundColor: "#1F68E9", + }, + }, + { + path: "pages/accident-detail/index", + style: { + navigationBarTitleText: "出险查询报告", + navigationBarBackgroundColor: "#1F68E9", + }, + }, + { + path: "pages/accident-blank/index", + style: { + navigationBarTitleText: "出险查询报告", + navigationBarBackgroundColor: "#1F68E9", + }, + }, + { + path: "pages/accident-web-view/index", + style: { navigationBarBackgroundColor: "#1F68E9" }, + }, + { + path: "pages/vehicle-info-query/index", + style: { + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + }, + }, + { + path: "pages/vehicle-info-detail/index", + style: { navigationBarTitleText: "车辆信息" }, + }, + { + path: "pages/vehicle-five-query/index", + style: { + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + }, + }, + { + path: "pages/vehicle-five-detail/index", + style: { navigationBarTitleText: "车五项" }, + }, + { + path: "pages/commercial-insurance-query/index", + style: { + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + }, + }, + { + path: "pages/commercial-insurance-detail/index", + style: { navigationBarTitleText: "商业险信息" }, + }, + { + path: "pages/sali-query/index", + style: { + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + }, + }, + { + path: "pages/sali-detail/index", + style: { navigationBarTitleText: "交强险信息" }, + }, + { + path: "pages/sali-check-query/index", + style: { + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + }, + }, + { + path: "pages/sali-check-detail/index", + style: { navigationBarTitleText: "交强险投保日期" }, + }, + { + path: "pages/vehicle-status-query/index", + style: { + navigationBarTextStyle: "black", + navigationBarBackgroundColor: "#ffffff", + }, + }, + { + path: "pages/vehicle-status-detail/index", + style: { navigationBarTitleText: "车辆状态" }, + }, + { + path: "pages/order-confirm/index", + style: { navigationBarTitleText: "订单确认" }, + }, + { path: "pages/order-detail/index" }, + { + path: "pages/pay-success/index", + style: { navigationBarTitleText: "支付成功" }, + }, + { + path: "pages/pay-fail/index", + style: { navigationBarTitleText: "支付失败" }, + }, + { + path: "pages/upload-success/index", + style: { navigationBarTitleText: "查询中" }, + }, + { + path: "pages/question/index", + style: { navigationBarTitleText: "常见问题" }, + }, + { + path: "pages/easter-egg/index", + style: { navigationBarTitleText: "彩蛋" }, + }, + ], + globalStyle: { + navigationBarTextStyle: "white", + navigationBarBackgroundColor: "#1F68E9", + backgroundColor: "#f8f9fe", + backgroundColorTop: "#f8f9fe", + backgroundTextStyle: "dark", + }, + tabBar: { + color: "#7A7E83", + selectedColor: "#1F68E9", + borderStyle: "black", + backgroundColor: "#ffffff", + list: [ + { + pagePath: "pages/home/index", + iconPath: "static/images/tabs/icon_home_default.png", + selectedIconPath: "static/images/tabs/icon_home_selected.png", + text: "首页", + }, + { + pagePath: "pages/order-list/index", + iconPath: "static/images/tabs/icon_order_list_default.png", + selectedIconPath: "static/images/tabs/icon_order_list_selected.png", + text: "订单", + }, + { + pagePath: "pages/user/index", + iconPath: "static/images/tabs/icon_user_default.png", + selectedIconPath: "static/images/tabs/icon_user_selected.png", + text: "我的", + }, + ], + }, + }; +function jl(e, t, n) { + return ( + e( + (n = { + path: t, + exports: {}, + require: function (e, t) { + return (function () { + throw new Error( + "Dynamic requires are not currently supported by @rollup/plugin-commonjs" + ); + })(null == t && n.path); + }, + }), + n.exports + ), + n.exports + ); +} +var Ml = jl(function (e, t) { + var n; + e.exports = n = + n || + (function (e, t) { + var n = + Object.create || + (function () { + function e() {} + return function (t) { + var n; + return ( + (e.prototype = t), (n = new e()), (e.prototype = null), n + ); + }; + })(), + r = {}, + i = (r.lib = {}), + o = (i.Base = { + extend: function (e) { + var t = n(this); + return ( + e && t.mixIn(e), + (t.hasOwnProperty("init") && this.init !== t.init) || + (t.init = function () { + t.$super.init.apply(this, arguments); + }), + (t.init.prototype = t), + (t.$super = this), + t + ); + }, + create: function () { + var e = this.extend(); + return e.init.apply(e, arguments), e; + }, + init: function () {}, + mixIn: function (e) { + for (var t in e) e.hasOwnProperty(t) && (this[t] = e[t]); + e.hasOwnProperty("toString") && (this.toString = e.toString); + }, + clone: function () { + return this.init.prototype.extend(this); + }, + }), + a = (i.WordArray = o.extend({ + init: function (e, t) { + (e = this.words = e || []), + (this.sigBytes = null != t ? t : 4 * e.length); + }, + toString: function (e) { + return (e || s).stringify(this); + }, + concat: function (e) { + var t = this.words, + n = e.words, + r = this.sigBytes, + i = e.sigBytes; + if ((this.clamp(), r % 4)) + for (var o = 0; o < i; o++) { + var a = (n[o >>> 2] >>> (24 - (o % 4) * 8)) & 255; + t[(r + o) >>> 2] |= a << (24 - ((r + o) % 4) * 8); + } + else for (o = 0; o < i; o += 4) t[(r + o) >>> 2] = n[o >>> 2]; + return (this.sigBytes += i), this; + }, + clamp: function () { + var t = this.words, + n = this.sigBytes; + (t[n >>> 2] &= 4294967295 << (32 - (n % 4) * 8)), + (t.length = e.ceil(n / 4)); + }, + clone: function () { + var e = o.clone.call(this); + return (e.words = this.words.slice(0)), e; + }, + random: function (t) { + for ( + var n, + r = [], + i = function (t) { + var n = 987654321, + r = 4294967295; + return function () { + var i = + (((n = (36969 * (65535 & n) + (n >> 16)) & r) << 16) + + (t = (18e3 * (65535 & t) + (t >> 16)) & r)) & + r; + return ( + (i /= 4294967296), + (i += 0.5) * (e.random() > 0.5 ? 1 : -1) + ); + }; + }, + o = 0; + o < t; + o += 4 + ) { + var u = i(4294967296 * (n || e.random())); + (n = 987654071 * u()), r.push((4294967296 * u()) | 0); + } + return new a.init(r, t); + }, + })), + u = (r.enc = {}), + s = (u.Hex = { + stringify: function (e) { + for (var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++) { + var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255; + r.push((o >>> 4).toString(16)), r.push((15 & o).toString(16)); + } + return r.join(""); + }, + parse: function (e) { + for (var t = e.length, n = [], r = 0; r < t; r += 2) + n[r >>> 3] |= + parseInt(e.substr(r, 2), 16) << (24 - (r % 8) * 4); + return new a.init(n, t / 2); + }, + }), + c = (u.Latin1 = { + stringify: function (e) { + for (var t = e.words, n = e.sigBytes, r = [], i = 0; i < n; i++) { + var o = (t[i >>> 2] >>> (24 - (i % 4) * 8)) & 255; + r.push(String.fromCharCode(o)); + } + return r.join(""); + }, + parse: function (e) { + for (var t = e.length, n = [], r = 0; r < t; r++) + n[r >>> 2] |= (255 & e.charCodeAt(r)) << (24 - (r % 4) * 8); + return new a.init(n, t); + }, + }), + f = (u.Utf8 = { + stringify: function (e) { + try { + return decodeURIComponent(escape(c.stringify(e))); + } catch (e) { + throw new Error("Malformed UTF-8 data"); + } + }, + parse: function (e) { + return c.parse(unescape(encodeURIComponent(e))); + }, + }), + l = (i.BufferedBlockAlgorithm = o.extend({ + reset: function () { + (this._data = new a.init()), (this._nDataBytes = 0); + }, + _append: function (e) { + "string" == typeof e && (e = f.parse(e)), + this._data.concat(e), + (this._nDataBytes += e.sigBytes); + }, + _process: function (t) { + var n = this._data, + r = n.words, + i = n.sigBytes, + o = this.blockSize, + u = i / (4 * o), + s = + (u = t + ? e.ceil(u) + : e.max((0 | u) - this._minBufferSize, 0)) * o, + c = e.min(4 * s, i); + if (s) { + for (var f = 0; f < s; f += o) this._doProcessBlock(r, f); + var l = r.splice(0, s); + n.sigBytes -= c; + } + return new a.init(l, c); + }, + clone: function () { + var e = o.clone.call(this); + return (e._data = this._data.clone()), e; + }, + _minBufferSize: 0, + })); + i.Hasher = l.extend({ + cfg: o.extend(), + init: function (e) { + (this.cfg = this.cfg.extend(e)), this.reset(); + }, + reset: function () { + l.reset.call(this), this._doReset(); + }, + update: function (e) { + return this._append(e), this._process(), this; + }, + finalize: function (e) { + return e && this._append(e), this._doFinalize(); + }, + blockSize: 16, + _createHelper: function (e) { + return function (t, n) { + return new e.init(n).finalize(t); + }; + }, + _createHmacHelper: function (e) { + return function (t, n) { + return new h.HMAC.init(e, n).finalize(t); + }; + }, + }); + var h = (r.algo = {}); + return r; + })(Math); + }), + $l = + (jl(function (e, t) { + var n; + e.exports = + ((n = Ml), + (function (e) { + var t = n, + r = t.lib, + i = r.WordArray, + o = r.Hasher, + a = t.algo, + u = []; + !(function () { + for (var t = 0; t < 64; t++) + u[t] = (4294967296 * e.abs(e.sin(t + 1))) | 0; + })(); + var s = (a.MD5 = o.extend({ + _doReset: function () { + this._hash = new i.init([ + 1732584193, 4023233417, 2562383102, 271733878, + ]); + }, + _doProcessBlock: function (e, t) { + for (var n = 0; n < 16; n++) { + var r = t + n, + i = e[r]; + e[r] = + (16711935 & ((i << 8) | (i >>> 24))) | + (4278255360 & ((i << 24) | (i >>> 8))); + } + var o = this._hash.words, + a = e[t + 0], + s = e[t + 1], + p = e[t + 2], + d = e[t + 3], + v = e[t + 4], + g = e[t + 5], + y = e[t + 6], + _ = e[t + 7], + m = e[t + 8], + w = e[t + 9], + k = e[t + 10], + b = e[t + 11], + x = e[t + 12], + S = e[t + 13], + A = e[t + 14], + I = e[t + 15], + O = o[0], + P = o[1], + T = o[2], + E = o[3]; + (O = c(O, P, T, E, a, 7, u[0])), + (E = c(E, O, P, T, s, 12, u[1])), + (T = c(T, E, O, P, p, 17, u[2])), + (P = c(P, T, E, O, d, 22, u[3])), + (O = c(O, P, T, E, v, 7, u[4])), + (E = c(E, O, P, T, g, 12, u[5])), + (T = c(T, E, O, P, y, 17, u[6])), + (P = c(P, T, E, O, _, 22, u[7])), + (O = c(O, P, T, E, m, 7, u[8])), + (E = c(E, O, P, T, w, 12, u[9])), + (T = c(T, E, O, P, k, 17, u[10])), + (P = c(P, T, E, O, b, 22, u[11])), + (O = c(O, P, T, E, x, 7, u[12])), + (E = c(E, O, P, T, S, 12, u[13])), + (T = c(T, E, O, P, A, 17, u[14])), + (O = f( + O, + (P = c(P, T, E, O, I, 22, u[15])), + T, + E, + s, + 5, + u[16] + )), + (E = f(E, O, P, T, y, 9, u[17])), + (T = f(T, E, O, P, b, 14, u[18])), + (P = f(P, T, E, O, a, 20, u[19])), + (O = f(O, P, T, E, g, 5, u[20])), + (E = f(E, O, P, T, k, 9, u[21])), + (T = f(T, E, O, P, I, 14, u[22])), + (P = f(P, T, E, O, v, 20, u[23])), + (O = f(O, P, T, E, w, 5, u[24])), + (E = f(E, O, P, T, A, 9, u[25])), + (T = f(T, E, O, P, d, 14, u[26])), + (P = f(P, T, E, O, m, 20, u[27])), + (O = f(O, P, T, E, S, 5, u[28])), + (E = f(E, O, P, T, p, 9, u[29])), + (T = f(T, E, O, P, _, 14, u[30])), + (O = l( + O, + (P = f(P, T, E, O, x, 20, u[31])), + T, + E, + g, + 4, + u[32] + )), + (E = l(E, O, P, T, m, 11, u[33])), + (T = l(T, E, O, P, b, 16, u[34])), + (P = l(P, T, E, O, A, 23, u[35])), + (O = l(O, P, T, E, s, 4, u[36])), + (E = l(E, O, P, T, v, 11, u[37])), + (T = l(T, E, O, P, _, 16, u[38])), + (P = l(P, T, E, O, k, 23, u[39])), + (O = l(O, P, T, E, S, 4, u[40])), + (E = l(E, O, P, T, a, 11, u[41])), + (T = l(T, E, O, P, d, 16, u[42])), + (P = l(P, T, E, O, y, 23, u[43])), + (O = l(O, P, T, E, w, 4, u[44])), + (E = l(E, O, P, T, x, 11, u[45])), + (T = l(T, E, O, P, I, 16, u[46])), + (O = h( + O, + (P = l(P, T, E, O, p, 23, u[47])), + T, + E, + a, + 6, + u[48] + )), + (E = h(E, O, P, T, _, 10, u[49])), + (T = h(T, E, O, P, A, 15, u[50])), + (P = h(P, T, E, O, g, 21, u[51])), + (O = h(O, P, T, E, x, 6, u[52])), + (E = h(E, O, P, T, d, 10, u[53])), + (T = h(T, E, O, P, k, 15, u[54])), + (P = h(P, T, E, O, s, 21, u[55])), + (O = h(O, P, T, E, m, 6, u[56])), + (E = h(E, O, P, T, I, 10, u[57])), + (T = h(T, E, O, P, y, 15, u[58])), + (P = h(P, T, E, O, S, 21, u[59])), + (O = h(O, P, T, E, v, 6, u[60])), + (E = h(E, O, P, T, b, 10, u[61])), + (T = h(T, E, O, P, p, 15, u[62])), + (P = h(P, T, E, O, w, 21, u[63])), + (o[0] = (o[0] + O) | 0), + (o[1] = (o[1] + P) | 0), + (o[2] = (o[2] + T) | 0), + (o[3] = (o[3] + E) | 0); + }, + _doFinalize: function () { + var t = this._data, + n = t.words, + r = 8 * this._nDataBytes, + i = 8 * t.sigBytes; + n[i >>> 5] |= 128 << (24 - (i % 32)); + var o = e.floor(r / 4294967296), + a = r; + (n[15 + (((i + 64) >>> 9) << 4)] = + (16711935 & ((o << 8) | (o >>> 24))) | + (4278255360 & ((o << 24) | (o >>> 8)))), + (n[14 + (((i + 64) >>> 9) << 4)] = + (16711935 & ((a << 8) | (a >>> 24))) | + (4278255360 & ((a << 24) | (a >>> 8)))), + (t.sigBytes = 4 * (n.length + 1)), + this._process(); + for (var u = this._hash, s = u.words, c = 0; c < 4; c++) { + var f = s[c]; + s[c] = + (16711935 & ((f << 8) | (f >>> 24))) | + (4278255360 & ((f << 24) | (f >>> 8))); + } + return u; + }, + clone: function () { + var e = o.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + })); + function c(e, t, n, r, i, o, a) { + var u = e + ((t & n) | (~t & r)) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + function f(e, t, n, r, i, o, a) { + var u = e + ((t & r) | (n & ~r)) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + function l(e, t, n, r, i, o, a) { + var u = e + (t ^ n ^ r) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + function h(e, t, n, r, i, o, a) { + var u = e + (n ^ (t | ~r)) + i + a; + return ((u << o) | (u >>> (32 - o))) + t; + } + (t.MD5 = o._createHelper(s)), (t.HmacMD5 = o._createHmacHelper(s)); + })(Math), + n.MD5); + }), + jl(function (e, t) { + var n, r, i; + e.exports = + ((r = (n = Ml).lib.Base), + (i = n.enc.Utf8), + void (n.algo.HMAC = r.extend({ + init: function (e, t) { + (e = this._hasher = new e.init()), + "string" == typeof t && (t = i.parse(t)); + var n = e.blockSize, + r = 4 * n; + t.sigBytes > r && (t = e.finalize(t)), t.clamp(); + for ( + var o = (this._oKey = t.clone()), + a = (this._iKey = t.clone()), + u = o.words, + s = a.words, + c = 0; + c < n; + c++ + ) + (u[c] ^= 1549556828), (s[c] ^= 909522486); + (o.sigBytes = a.sigBytes = r), this.reset(); + }, + reset: function () { + var e = this._hasher; + e.reset(), e.update(this._iKey); + }, + update: function (e) { + return this._hasher.update(e), this; + }, + finalize: function (e) { + var t = this._hasher, + n = t.finalize(e); + return t.reset(), t.finalize(this._oKey.clone().concat(n)); + }, + }))); + }), + jl(function (e, t) { + e.exports = Ml.HmacMD5; + })), + Fl = jl(function (e, t) { + e.exports = Ml.enc.Utf8; + }), + Hl = jl(function (e, t) { + var n, r, i; + e.exports = + ((i = (r = n = Ml).lib.WordArray), + (r.enc.Base64 = { + stringify: function (e) { + var t = e.words, + n = e.sigBytes, + r = this._map; + e.clamp(); + for (var i = [], o = 0; o < n; o += 3) + for ( + var a = + (((t[o >>> 2] >>> (24 - (o % 4) * 8)) & 255) << 16) | + (((t[(o + 1) >>> 2] >>> (24 - ((o + 1) % 4) * 8)) & 255) << + 8) | + ((t[(o + 2) >>> 2] >>> (24 - ((o + 2) % 4) * 8)) & 255), + u = 0; + u < 4 && o + 0.75 * u < n; + u++ + ) + i.push(r.charAt((a >>> (6 * (3 - u))) & 63)); + var s = r.charAt(64); + if (s) for (; i.length % 4; ) i.push(s); + return i.join(""); + }, + parse: function (e) { + var t = e.length, + n = this._map, + r = this._reverseMap; + if (!r) { + r = this._reverseMap = []; + for (var o = 0; o < n.length; o++) r[n.charCodeAt(o)] = o; + } + var a = n.charAt(64); + if (a) { + var u = e.indexOf(a); + -1 !== u && (t = u); + } + return (function (e, t, n) { + for (var r = [], o = 0, a = 0; a < t; a++) + if (a % 4) { + var u = n[e.charCodeAt(a - 1)] << ((a % 4) * 2), + s = n[e.charCodeAt(a)] >>> (6 - (a % 4) * 2); + (r[o >>> 2] |= (u | s) << (24 - (o % 4) * 8)), o++; + } + return i.create(r, o); + })(e, t, r); + }, + _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + }), + n.enc.Base64); + }), + ql = "FUNCTION", + zl = "pending", + Wl = "rejected"; +function Vl(e) { + return Object.prototype.toString.call(e).slice(8, -1).toLowerCase(); +} +function Kl(e) { + return "object" === Vl(e); +} +function Jl(e) { + return "function" == typeof e; +} +function Gl(e) { + return function () { + try { + return e.apply(e, arguments); + } catch (e) { + console.error(e); + } + }; +} +var Yl = "REJECTED", + Xl = "NOT_PENDING", + Ql = (function () { + function e() { + var t = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = t.createPromise, + r = t.retryRule, + i = void 0 === r ? Yl : r; + s(this, e), + (this.createPromise = n), + (this.status = null), + (this.promise = null), + (this.retryRule = i); + } + return ( + c(e, [ + { + key: "needRetry", + get: function () { + if (!this.status) return !0; + switch (this.retryRule) { + case Yl: + return this.status === Wl; + case Xl: + return this.status !== zl; + } + }, + }, + { + key: "exec", + value: function () { + var e = this; + return this.needRetry + ? ((this.status = zl), + (this.promise = this.createPromise().then( + function (t) { + return (e.status = "fulfilled"), Promise.resolve(t); + }, + function (t) { + return (e.status = Wl), Promise.reject(t); + } + )), + this.promise) + : this.promise; + }, + }, + ]), + e + ); + })(); +function Zl(e) { + return e && "string" == typeof e ? JSON.parse(e) : e; +} +var eh = Zl([]), + th = "mp-weixin"; +Zl(""); +var nh = Zl("[]") || []; +try { + ("__UNI__4AC81CE"); +} catch (Nc) {} +var rh = {}; +function ih(e) { + var t, + n, + r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + return ( + (t = rh), + (n = e), + Object.prototype.hasOwnProperty.call(t, n) || (rh[e] = r), + rh[e] + ); +} +var oh = ["invoke", "success", "fail", "complete"], + ah = ih("_globalUniCloudInterceptor"); +function uh(e, t) { + ah[e] || (ah[e] = {}), + Kl(t) && + Object.keys(t).forEach(function (n) { + oh.indexOf(n) > -1 && + (function (e, t, n) { + var r = ah[e][t]; + r || (r = ah[e][t] = []), -1 === r.indexOf(n) && Jl(n) && r.push(n); + })(e, n, t[n]); + }); +} +function sh(e, t) { + ah[e] || (ah[e] = {}), + Kl(t) + ? Object.keys(t).forEach(function (n) { + oh.indexOf(n) > -1 && + (function (e, t, n) { + var r = ah[e][t]; + if (r) { + var i = r.indexOf(n); + i > -1 && r.splice(i, 1); + } + })(e, n, t[n]); + }) + : delete ah[e]; +} +function ch(e, t) { + return e && 0 !== e.length + ? e.reduce(function (e, n) { + return e.then(function () { + return n(t); + }); + }, Promise.resolve()) + : Promise.resolve(); +} +function fh(e, t) { + return (ah[e] && ah[e][t]) || []; +} +function lh(e) { + uh("callObject", e); +} +var hh = ih("_globalUniCloudListener"), + ph = "response", + dh = "needLogin", + vh = "refreshToken", + gh = "clientdb", + yh = "cloudfunction", + _h = "cloudobject"; +function mh(e) { + return hh[e] || (hh[e] = []), hh[e]; +} +function wh(e, t) { + var n = mh(e); + n.includes(t) || n.push(t); +} +function kh(e, t) { + var n = mh(e), + r = n.indexOf(t); + -1 !== r && n.splice(r, 1); +} +function bh(e, t) { + for (var n = mh(e), r = 0; r < n.length; r++) (0, n[r])(t); +} +var xh, + Sh = !1; +function Ah() { + return ( + xh || + (xh = new Promise(function (e) { + Sh && e(), + (function t() { + if ("function" == typeof getCurrentPages) { + var n = getCurrentPages(); + n && n[0] && ((Sh = !0), e()); + } + Sh || + setTimeout(function () { + t(); + }, 30); + })(); + })) + ); +} +function Ih(e) { + var t = {}; + for (var n in e) { + var r = e[n]; + Jl(r) && (t[n] = Gl(r)); + } + return t; +} +var Oh, + Ph, + Th = (function (e) { + i(n, e); + var t = o(n); + function n(e) { + var r; + return ( + s(this, n), + ((r = t.call(this, e.message)).errMsg = + e.message || e.errMsg || "unknown system error"), + (r.code = r.errCode = e.code || e.errCode || "SYSTEM_ERROR"), + (r.errSubject = r.subject = e.subject || e.errSubject), + (r.cause = e.cause), + (r.requestId = e.requestId), + r + ); + } + return ( + c(n, [ + { + key: "toJson", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : 0; + if (!(e >= 10)) + return ( + e++, + { + errCode: this.errCode, + errMsg: this.errMsg, + errSubject: this.errSubject, + cause: + this.cause && this.cause.toJson + ? this.cause.toJson(e) + : this.cause, + } + ); + }, + }, + ]), + n + ); + })(a(Error)), + Eh = { + request: function (e) { + return Pn.request(e); + }, + uploadFile: function (e) { + return Pn.uploadFile(e); + }, + setStorageSync: function (e, t) { + return Pn.setStorageSync(e, t); + }, + getStorageSync: function (e) { + return Pn.getStorageSync(e); + }, + removeStorageSync: function (e) { + return Pn.removeStorageSync(e); + }, + clearStorageSync: function () { + return Pn.clearStorageSync(); + }, + }; +function Ch() { + return { + token: Eh.getStorageSync("uni_id_token") || Eh.getStorageSync("uniIdToken"), + tokenExpired: Eh.getStorageSync("uni_id_token_expired"), + }; +} +function Rh() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = e.token, + n = e.tokenExpired; + t && Eh.setStorageSync("uni_id_token", t), + n && Eh.setStorageSync("uni_id_token_expired", n); +} +function Lh() { + return Oh || (Oh = Pn.getSystemInfoSync()), Oh; +} +function Dh() { + var e = (Pn.getLocale && Pn.getLocale()) || "en"; + if (Ph) return r(r({}, Ph), {}, { locale: e, LOCALE: e }); + for ( + var t = Lh(), + n = t.deviceId, + i = t.osName, + o = t.uniPlatform, + a = t.appId, + u = [ + "pixelRatio", + "brand", + "model", + "system", + "language", + "version", + "platform", + "host", + "SDKVersion", + "swanNativeVersion", + "app", + "AppPlatform", + "fontSizeSetting", + ], + s = 0; + s < u.length; + s++ + ) + delete t[u[s]]; + return ( + (Ph = r( + r( + { PLATFORM: o, OS: i, APPID: a, DEVICEID: n }, + (function () { + var e, t; + try { + if (Pn.getLaunchOptionsSync) { + if ( + Pn.getLaunchOptionsSync + .toString() + .indexOf("not yet implemented") > -1 + ) + return; + var n = Pn.getLaunchOptionsSync(), + r = n.scene; + (e = n.channel), (t = r); + } + } catch (e) {} + return { channel: e, scene: t }; + })() + ), + t + )), + r(r({}, Ph), {}, { locale: e, LOCALE: e }) + ); +} +var Bh, + Nh = function (e, t) { + var n = ""; + return ( + Object.keys(e) + .sort() + .forEach(function (t) { + e[t] && (n = n + "&" + t + "=" + e[t]); + }), + (n = n.slice(1)), + $l(n, t).toString() + ); + }, + Uh = function (e) { + return Hl.stringify(Fl.parse(e)); + }, + jh = (function () { + function e(t) { + var n = this; + s(this, e), + ["spaceId", "clientSecret"].forEach(function (e) { + if (!Object.prototype.hasOwnProperty.call(t, e)) + throw new Error("".concat(e, " required")); + }), + (this.config = Object.assign( + {}, + { + endpoint: + 0 === t.spaceId.indexOf("mp-") + ? "https://api.next.bspapp.com" + : "https://api.bspapp.com", + }, + t + )), + (this.config.provider = "aliyun"), + (this.config.requestUrl = this.config.endpoint + "/client"), + (this.config.envType = this.config.envType || "public"), + (this.config.accessTokenKey = "access_token_" + this.config.spaceId), + (this.adapter = Eh), + (this._getAccessTokenPromiseHub = new Ql({ + createPromise: function () { + return n + .requestAuth( + n.setupRequest( + { + method: "serverless.auth.user.anonymousAuthorize", + params: "{}", + }, + "auth" + ) + ) + .then(function (e) { + if (!e.result || !e.result.accessToken) + throw new Th({ + code: "AUTH_FAILED", + message: "获取accessToken失败", + }); + n.setAccessToken(e.result.accessToken); + }); + }, + retryRule: Xl, + })); + } + var r, i, o; + return ( + c(e, [ + { + key: "hasAccessToken", + get: function () { + return !!this.accessToken; + }, + }, + { + key: "setAccessToken", + value: function (e) { + this.accessToken = e; + }, + }, + { + key: "requestWrapped", + value: function (e) { + return (function (e, t) { + return new Promise(function (n, r) { + t( + Object.assign(e, { + complete: function (e) { + e || (e = {}); + var t = + (e.data && + e.data.header && + e.data.header["x-serverless-request-id"]) || + (e.header && e.header["request-id"]); + if (!e.statusCode || e.statusCode >= 400) + return r( + new Th({ + code: "SYS_ERR", + message: e.errMsg || "request:fail", + requestId: t, + }) + ); + var i = e.data; + if (i.error) + return r( + new Th({ + code: i.error.code, + message: i.error.message, + requestId: t, + }) + ); + (i.result = i.data), + (i.requestId = t), + delete i.data, + n(i); + }, + }) + ); + }); + })(e, this.adapter.request); + }, + }, + { + key: "requestAuth", + value: function (e) { + return this.requestWrapped(e); + }, + }, + { + key: "request", + value: function (e, t) { + var n = this; + return Promise.resolve().then(function () { + return n.hasAccessToken + ? t + ? n.requestWrapped(e) + : n.requestWrapped(e).catch(function (t) { + return new Promise(function (e, n) { + !t || + ("GATEWAY_INVALID_TOKEN" !== t.code && + "InvalidParameter.InvalidToken" !== t.code) + ? n(t) + : e(); + }) + .then(function () { + return n.getAccessToken(); + }) + .then(function () { + var t = n.rebuildRequest(e); + return n.request(t, !0); + }); + }) + : n.getAccessToken().then(function () { + var t = n.rebuildRequest(e); + return n.request(t, !0); + }); + }); + }, + }, + { + key: "rebuildRequest", + value: function (e) { + var t = Object.assign({}, e); + return ( + (t.data.token = this.accessToken), + (t.header["x-basement-token"] = this.accessToken), + (t.header["x-serverless-sign"] = Nh( + t.data, + this.config.clientSecret + )), + t + ); + }, + }, + { + key: "setupRequest", + value: function (e, t) { + var n = Object.assign({}, e, { + spaceId: this.config.spaceId, + timestamp: Date.now(), + }), + r = { "Content-Type": "application/json" }; + return ( + "auth" !== t && + ((n.token = this.accessToken), + (r["x-basement-token"] = this.accessToken)), + (r["x-serverless-sign"] = Nh(n, this.config.clientSecret)), + { + url: this.config.requestUrl, + method: "POST", + data: n, + dataType: "json", + header: r, + } + ); + }, + }, + { + key: "getAccessToken", + value: function () { + return this._getAccessTokenPromiseHub.exec(); + }, + }, + { + key: "authorize", + value: + ((o = n( + t().mark(function e() { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), this.getAccessToken(); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return o.apply(this, arguments); + }), + }, + { + key: "callFunction", + value: function (e) { + var t = { + method: "serverless.function.runtime.invoke", + params: JSON.stringify({ + functionTarget: e.name, + functionArgs: e.data || {}, + }), + }; + return this.request(this.setupRequest(t)); + }, + }, + { + key: "getOSSUploadOptionsFromPath", + value: function (e) { + var t = { + method: "serverless.file.resource.generateProximalSign", + params: JSON.stringify(e), + }; + return this.request(this.setupRequest(t)); + }, + }, + { + key: "uploadFileToOSS", + value: function (e) { + var t = this, + n = e.url, + r = e.formData, + i = e.name, + o = e.filePath, + a = e.fileType, + u = e.onUploadProgress; + return new Promise(function (e, s) { + var c = t.adapter.uploadFile({ + url: n, + formData: r, + name: i, + filePath: o, + fileType: a, + header: { "X-OSS-server-side-encrpytion": "AES256" }, + success: function (t) { + t && t.statusCode < 400 + ? e(t) + : s( + new Th({ + code: "UPLOAD_FAILED", + message: "文件上传失败", + }) + ); + }, + fail: function (e) { + s( + new Th({ + code: e.code || "UPLOAD_FAILED", + message: e.message || e.errMsg || "文件上传失败", + }) + ); + }, + }); + "function" == typeof u && + c && + "function" == typeof c.onProgressUpdate && + c.onProgressUpdate(function (e) { + u({ + loaded: e.totalBytesSent, + total: e.totalBytesExpectedToSend, + }); + }); + }); + }, + }, + { + key: "reportOSSUpload", + value: function (e) { + var t = { + method: "serverless.file.resource.report", + params: JSON.stringify(e), + }; + return this.request(this.setupRequest(t)); + }, + }, + { + key: "uploadFile", + value: + ((i = n( + t().mark(function e(n) { + var r, + i, + o, + a, + u, + s, + c, + f, + l, + h, + p, + d, + v, + g, + y, + _, + m, + w, + k, + b, + x, + S; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((r = n.filePath), + (i = n.cloudPath), + (o = n.fileType), + (a = void 0 === o ? "image" : o), + (u = n.cloudPathAsRealPath), + (s = void 0 !== u && u), + (c = n.onUploadProgress), + (f = n.config), + "string" === Vl(i)) + ) { + e.next = 3; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: "cloudPath必须为字符串类型", + }); + case 3: + if ((i = i.trim())) { + e.next = 5; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: "cloudPath不可为空", + }); + case 5: + if (!/:\/\//.test(i)) { + e.next = 7; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: "cloudPath不合法", + }); + case 7: + if ( + ((l = (f && f.envType) || this.config.envType), + !( + s && + ("/" !== i[0] && (i = "/" + i), + i.indexOf("\\") > -1) + )) + ) { + e.next = 10; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: + "使用cloudPath作为路径时,cloudPath不可包含“\\”", + }); + case 10: + return ( + (e.next = 12), + this.getOSSUploadOptionsFromPath({ + env: l, + filename: s ? i.split("/").pop() : i, + fileId: s ? i : void 0, + }) + ); + case 12: + return ( + (h = e.sent.result), + (p = "https://" + h.cdnDomain + "/" + h.ossPath), + (d = h.securityToken), + (v = h.accessKeyId), + (g = h.signature), + (y = h.host), + (_ = h.ossPath), + (m = h.id), + (w = h.policy), + (k = h.ossCallbackUrl), + (b = { + "Cache-Control": "max-age=2592000", + "Content-Disposition": "attachment", + OSSAccessKeyId: v, + Signature: g, + host: y, + id: m, + key: _, + policy: w, + success_action_status: 200, + }), + d && (b["x-oss-security-token"] = d), + k && + ((x = JSON.stringify({ + callbackUrl: k, + callbackBody: JSON.stringify({ + fileId: m, + spaceId: this.config.spaceId, + }), + callbackBodyType: "application/json", + })), + (b.callback = Uh(x))), + (S = { + url: "https://" + h.host, + formData: b, + fileName: "file", + name: "file", + filePath: r, + fileType: a, + }), + (e.next = 27), + this.uploadFileToOSS( + Object.assign({}, S, { onUploadProgress: c }) + ) + ); + case 27: + if (!k) { + e.next = 29; + break; + } + return e.abrupt("return", { + success: !0, + filePath: r, + fileID: p, + }); + case 29: + return (e.next = 31), this.reportOSSUpload({ id: m }); + case 31: + if (!e.sent.success) { + e.next = 33; + break; + } + return e.abrupt("return", { + success: !0, + filePath: r, + fileID: p, + }); + case 33: + throw new Th({ + code: "UPLOAD_FAILED", + message: "文件上传失败", + }); + case 34: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return i.apply(this, arguments); + }), + }, + { + key: "getTempFileURL", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = e.fileList; + return new Promise(function (e, n) { + (Array.isArray(t) && 0 !== t.length) || + n( + new Th({ + code: "INVALID_PARAM", + message: "fileList的元素必须是非空的字符串", + }) + ), + e({ + fileList: t.map(function (e) { + return { fileID: e, tempFileURL: e }; + }), + }); + }); + }, + }, + { + key: "getFileInfo", + value: + ((r = n( + t().mark(function e() { + var n, + r, + i, + o = arguments; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = o.length > 0 && void 0 !== o[0] ? o[0] : {}), + (r = n.fileList), + Array.isArray(r) && 0 !== r.length) + ) { + e.next = 3; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: "fileList的元素必须是非空的字符串", + }); + case 3: + return ( + (i = { + method: "serverless.file.resource.info", + params: JSON.stringify({ + id: r + .map(function (e) { + return e.split("?")[0]; + }) + .join(","), + }), + }), + (e.next = 6), + this.request(this.setupRequest(i)) + ); + case 6: + return ( + (e.t0 = e.sent.result), + e.abrupt("return", { fileList: e.t0 }) + ); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return r.apply(this, arguments); + }), + }, + ]), + e + ); + })(), + Mh = { + init: function (e) { + var t = new jh(e), + n = { + signInAnonymously: function () { + return t.authorize(); + }, + getLoginState: function () { + return Promise.resolve(!1); + }, + }; + return ( + (t.auth = function () { + return n; + }), + (t.customAuth = t.auth), + t + ); + }, + }, + $h = + "undefined" != typeof location && "http:" === location.protocol + ? "http:" + : "https:"; +!(function (e) { + (e.local = "local"), (e.none = "none"), (e.session = "session"); +})(Bh || (Bh = {})); +var Fh, + Hh = function () {}, + qh = jl(function (e, t) { + var n; + e.exports = + ((n = Ml), + (function (e) { + var t = n, + r = t.lib, + i = r.WordArray, + o = r.Hasher, + a = t.algo, + u = [], + s = []; + !(function () { + function t(t) { + for (var n = e.sqrt(t), r = 2; r <= n; r++) if (!(t % r)) return !1; + return !0; + } + function n(e) { + return (4294967296 * (e - (0 | e))) | 0; + } + for (var r = 2, i = 0; i < 64; ) + t(r) && + (i < 8 && (u[i] = n(e.pow(r, 0.5))), + (s[i] = n(e.pow(r, 1 / 3))), + i++), + r++; + })(); + var c = [], + f = (a.SHA256 = o.extend({ + _doReset: function () { + this._hash = new i.init(u.slice(0)); + }, + _doProcessBlock: function (e, t) { + for ( + var n = this._hash.words, + r = n[0], + i = n[1], + o = n[2], + a = n[3], + u = n[4], + f = n[5], + l = n[6], + h = n[7], + p = 0; + p < 64; + p++ + ) { + if (p < 16) c[p] = 0 | e[t + p]; + else { + var d = c[p - 15], + v = + ((d << 25) | (d >>> 7)) ^ + ((d << 14) | (d >>> 18)) ^ + (d >>> 3), + g = c[p - 2], + y = + ((g << 15) | (g >>> 17)) ^ + ((g << 13) | (g >>> 19)) ^ + (g >>> 10); + c[p] = v + c[p - 7] + y + c[p - 16]; + } + var _ = (r & i) ^ (r & o) ^ (i & o), + m = + ((r << 30) | (r >>> 2)) ^ + ((r << 19) | (r >>> 13)) ^ + ((r << 10) | (r >>> 22)), + w = + h + + (((u << 26) | (u >>> 6)) ^ + ((u << 21) | (u >>> 11)) ^ + ((u << 7) | (u >>> 25))) + + ((u & f) ^ (~u & l)) + + s[p] + + c[p]; + (h = l), + (l = f), + (f = u), + (u = (a + w) | 0), + (a = o), + (o = i), + (i = r), + (r = (w + (m + _)) | 0); + } + (n[0] = (n[0] + r) | 0), + (n[1] = (n[1] + i) | 0), + (n[2] = (n[2] + o) | 0), + (n[3] = (n[3] + a) | 0), + (n[4] = (n[4] + u) | 0), + (n[5] = (n[5] + f) | 0), + (n[6] = (n[6] + l) | 0), + (n[7] = (n[7] + h) | 0); + }, + _doFinalize: function () { + var t = this._data, + n = t.words, + r = 8 * this._nDataBytes, + i = 8 * t.sigBytes; + return ( + (n[i >>> 5] |= 128 << (24 - (i % 32))), + (n[14 + (((i + 64) >>> 9) << 4)] = e.floor(r / 4294967296)), + (n[15 + (((i + 64) >>> 9) << 4)] = r), + (t.sigBytes = 4 * n.length), + this._process(), + this._hash + ); + }, + clone: function () { + var e = o.clone.call(this); + return (e._hash = this._hash.clone()), e; + }, + })); + (t.SHA256 = o._createHelper(f)), + (t.HmacSHA256 = o._createHmacHelper(f)); + })(Math), + n.SHA256); + }), + zh = jl(function (e, t) { + e.exports = Ml.HmacSHA256; + }), + Wh = function () { + var e; + if (!Promise) { + (e = function () {}).promise = {}; + var t = function () { + throw new Th({ + message: + 'Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.', + }); + }; + return ( + Object.defineProperty(e.promise, "then", { get: t }), + Object.defineProperty(e.promise, "catch", { get: t }), + e + ); + } + var n = new Promise(function (t, n) { + e = function (e, r) { + return e ? n(e) : t(r); + }; + }); + return (e.promise = n), e; + }; +function Vh(e) { + return void 0 === e; +} +function Kh(e) { + return "[object Null]" === Object.prototype.toString.call(e); +} +!(function (e) { + (e.WEB = "web"), (e.WX_MP = "wx_mp"); +})(Fh || (Fh = {})); +var Jh = { adapter: null, runtime: void 0 }, + Gh = ["anonymousUuidKey"], + Yh = (function (e) { + i(n, Hh); + var t = o(n); + function n() { + var e; + return ( + s(this, n), + (e = t.call(this)), + Jh.adapter.root.tcbObject || (Jh.adapter.root.tcbObject = {}), + e + ); + } + return ( + c(n, [ + { + key: "setItem", + value: function (e, t) { + Jh.adapter.root.tcbObject[e] = t; + }, + }, + { + key: "getItem", + value: function (e) { + return Jh.adapter.root.tcbObject[e]; + }, + }, + { + key: "removeItem", + value: function (e) { + delete Jh.adapter.root.tcbObject[e]; + }, + }, + { + key: "clear", + value: function () { + delete Jh.adapter.root.tcbObject; + }, + }, + ]), + n + ); + })(); +function Xh(e, t) { + switch (e) { + case "local": + return t.localStorage || new Yh(); + case "none": + return new Yh(); + default: + return t.sessionStorage || new Yh(); + } +} +var Qh = (function () { + function e(t) { + if ((s(this, e), !this._storage)) { + (this._persistence = Jh.adapter.primaryStorage || t.persistence), + (this._storage = Xh(this._persistence, Jh.adapter)); + var n = "access_token_".concat(t.env), + r = "access_token_expire_".concat(t.env), + i = "refresh_token_".concat(t.env), + o = "anonymous_uuid_".concat(t.env), + a = "login_type_".concat(t.env), + u = "user_info_".concat(t.env); + this.keys = { + accessTokenKey: n, + accessTokenExpireKey: r, + refreshTokenKey: i, + anonymousUuidKey: o, + loginTypeKey: a, + userInfoKey: u, + }; + } + } + return ( + c(e, [ + { + key: "updatePersistence", + value: function (e) { + if (e !== this._persistence) { + var t = "local" === this._persistence; + this._persistence = e; + var n = Xh(e, Jh.adapter); + for (var r in this.keys) { + var i = this.keys[r]; + if (!t || !Gh.includes(r)) { + var o = this._storage.getItem(i); + Vh(o) || + Kh(o) || + (n.setItem(i, o), this._storage.removeItem(i)); + } + } + this._storage = n; + } + }, + }, + { + key: "setStore", + value: function (e, t, n) { + if (this._storage) { + var r = { version: n || "localCachev1", content: t }, + i = JSON.stringify(r); + try { + this._storage.setItem(e, i); + } catch (e) { + throw e; + } + } + }, + }, + { + key: "getStore", + value: function (e, t) { + try { + if (!this._storage) return; + } catch (e) { + return ""; + } + t = t || "localCachev1"; + var n = this._storage.getItem(e); + return n && n.indexOf(t) >= 0 ? JSON.parse(n).content : ""; + }, + }, + { + key: "removeStore", + value: function (e) { + this._storage.removeItem(e); + }, + }, + ]), + e + ); + })(), + Zh = {}, + ep = {}; +function tp(e) { + return Zh[e]; +} +var np = c(function e(t, n) { + s(this, e), (this.data = n || null), (this.name = t); + }), + rp = (function (e) { + i(n, np); + var t = o(n); + function n(e, r) { + var i; + return ( + s(this, n), + ((i = t.call(this, "error", { error: e, data: r })).error = e), + i + ); + } + return c(n); + })(), + ip = new ((function () { + function e() { + s(this, e), (this._listeners = {}); + } + return ( + c(e, [ + { + key: "on", + value: function (e, t) { + return ( + (function (e, t, n) { + (n[e] = n[e] || []), n[e].push(t); + })(e, t, this._listeners), + this + ); + }, + }, + { + key: "off", + value: function (e, t) { + return ( + (function (e, t, n) { + if (n && n[e]) { + var r = n[e].indexOf(t); + -1 !== r && n[e].splice(r, 1); + } + })(e, t, this._listeners), + this + ); + }, + }, + { + key: "fire", + value: function (e, t) { + if (e instanceof rp) return console.error(e.error), this; + var n = "string" == typeof e ? new np(e, t || {}) : e, + r = n.name; + if (this._listens(r)) { + n.target = this; + var i, + o = this._listeners[r] ? p(this._listeners[r]) : [], + a = u(o); + try { + for (a.s(); !(i = a.n()).done; ) { + i.value.call(this, n); + } + } catch (e) { + a.e(e); + } finally { + a.f(); + } + } + return this; + }, + }, + { + key: "_listens", + value: function (e) { + return this._listeners[e] && this._listeners[e].length > 0; + }, + }, + ]), + e + ); + })())(); +function op(e, t) { + ip.on(e, t); +} +function ap(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + ip.fire(e, t); +} +function up(e, t) { + ip.off(e, t); +} +var sp, + cp = "loginStateChanged", + fp = "loginStateExpire", + lp = "loginTypeChanged", + hp = "anonymousConverted", + pp = "refreshAccessToken"; +!(function (e) { + (e.ANONYMOUS = "ANONYMOUS"), + (e.WECHAT = "WECHAT"), + (e.WECHAT_PUBLIC = "WECHAT-PUBLIC"), + (e.WECHAT_OPEN = "WECHAT-OPEN"), + (e.CUSTOM = "CUSTOM"), + (e.EMAIL = "EMAIL"), + (e.USERNAME = "USERNAME"), + (e.NULL = "NULL"); +})(sp || (sp = {})); +var dp = [ + "auth.getJwt", + "auth.logout", + "auth.signInWithTicket", + "auth.signInAnonymously", + "auth.signIn", + "auth.fetchAccessTokenWithRefreshToken", + "auth.signUpWithEmailAndPassword", + "auth.activateEndUserMail", + "auth.sendPasswordResetEmail", + "auth.resetPasswordWithToken", + "auth.isUsernameRegistered", + ], + vp = { "X-SDK-Version": "1.3.5" }; +function gp(e, t, n) { + var i = e[t]; + e[t] = function (t) { + var o = {}, + a = {}; + n.forEach(function (n) { + var r = n.call(e, t), + i = r.data, + u = r.headers; + Object.assign(o, i), Object.assign(a, u); + }); + var u = t.data; + return ( + u && + (function () { + var e; + if ( + ((e = u), "[object FormData]" !== Object.prototype.toString.call(e)) + ) + t.data = r(r({}, u), o); + else for (var n in o) u.append(n, o[n]); + })(), + (t.headers = r(r({}, t.headers || {}), a)), + i.call(e, t) + ); + }; +} +function yp() { + var e = Math.random().toString(16).slice(2); + return { data: { seqId: e }, headers: r(r({}, vp), {}, { "x-seqid": e }) }; +} +var _p = (function () { + function e() { + var t, + n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + s(this, e), + (this.config = n), + (this._reqClass = new Jh.adapter.reqClass({ + timeout: this.config.timeout, + timeoutMsg: "请求在".concat( + this.config.timeout / 1e3, + "s内未完成,已中断" + ), + restrictedMethods: ["post"], + })), + (this._cache = tp(this.config.env)), + (this._localCache = ((t = this.config.env), ep[t])), + gp(this._reqClass, "post", [yp]), + gp(this._reqClass, "upload", [yp]), + gp(this._reqClass, "download", [yp]); + } + var i, o, a, u, f, l, h, p; + return ( + c(e, [ + { + key: "post", + value: + ((p = n( + t().mark(function e(n) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), this._reqClass.post(n); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return p.apply(this, arguments); + }), + }, + { + key: "upload", + value: + ((h = n( + t().mark(function e(n) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), this._reqClass.upload(n); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return h.apply(this, arguments); + }), + }, + { + key: "download", + value: + ((l = n( + t().mark(function e(n) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), this._reqClass.download(n); + case 2: + return e.abrupt("return", e.sent); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return l.apply(this, arguments); + }), + }, + { + key: "refreshAccessToken", + value: + ((f = n( + t().mark(function e() { + var n, r; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this._refreshAccessTokenPromise || + (this._refreshAccessTokenPromise = + this._refreshAccessToken()), + (e.prev = 1), + (e.next = 4), + this._refreshAccessTokenPromise + ); + case 4: + (n = e.sent), (e.next = 10); + break; + case 7: + (e.prev = 7), (e.t0 = e.catch(1)), (r = e.t0); + case 10: + if ( + ((this._refreshAccessTokenPromise = null), + (this._shouldRefreshAccessTokenHook = null), + !r) + ) { + e.next = 12; + break; + } + throw r; + case 12: + return e.abrupt("return", n); + case 13: + case "end": + return e.stop(); + } + }, + e, + this, + [[1, 7]] + ); + }) + )), + function () { + return f.apply(this, arguments); + }), + }, + { + key: "_refreshAccessToken", + value: + ((u = n( + t().mark(function e() { + var n, r, i, o, a, u, s, c, f, l, h, p, d; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = this._cache.keys), + (r = n.accessTokenKey), + (i = n.accessTokenExpireKey), + (o = n.refreshTokenKey), + (a = n.loginTypeKey), + (u = n.anonymousUuidKey), + this._cache.removeStore(r), + this._cache.removeStore(i), + (s = this._cache.getStore(o))) + ) { + e.next = 5; + break; + } + throw new Th({ message: "未登录CloudBase" }); + case 5: + return ( + (c = { refresh_token: s }), + (e.next = 8), + this.request( + "auth.fetchAccessTokenWithRefreshToken", + c + ) + ); + case 8: + if (!(f = e.sent).data.code) { + e.next = 21; + break; + } + if ( + "SIGN_PARAM_INVALID" !== (l = f.data.code) && + "REFRESH_TOKEN_EXPIRED" !== l && + "INVALID_REFRESH_TOKEN" !== l + ) { + e.next = 20; + break; + } + if ( + this._cache.getStore(a) !== sp.ANONYMOUS || + "INVALID_REFRESH_TOKEN" !== l + ) { + e.next = 19; + break; + } + return ( + (h = this._cache.getStore(u)), + (p = this._cache.getStore(o)), + (e.next = 17), + this.send("auth.signInAnonymously", { + anonymous_uuid: h, + refresh_token: p, + }) + ); + case 17: + return ( + (d = e.sent), + e.abrupt( + "return", + (this.setRefreshToken(d.refresh_token), + this._refreshAccessToken()) + ) + ); + case 19: + ap(fp), this._cache.removeStore(o); + case 20: + throw new Th({ + code: f.data.code, + message: "刷新access token失败:".concat( + f.data.code + ), + }); + case 21: + if (!f.data.access_token) { + e.next = 23; + break; + } + return e.abrupt( + "return", + (ap(pp), + this._cache.setStore(r, f.data.access_token), + this._cache.setStore( + i, + f.data.access_token_expire + Date.now() + ), + { + accessToken: f.data.access_token, + accessTokenExpire: f.data.access_token_expire, + }) + ); + case 23: + f.data.refresh_token && + (this._cache.removeStore(o), + this._cache.setStore(o, f.data.refresh_token), + this._refreshAccessToken()); + case 24: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return u.apply(this, arguments); + }), + }, + { + key: "getAccessToken", + value: + ((a = n( + t().mark(function e() { + var n, r, i, o, a, u, s; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = this._cache.keys), + (r = n.accessTokenKey), + (i = n.accessTokenExpireKey), + (o = n.refreshTokenKey), + this._cache.getStore(o)) + ) { + e.next = 3; + break; + } + throw new Th({ + message: "refresh token不存在,登录状态异常", + }); + case 3: + if ( + ((a = this._cache.getStore(r)), + (u = this._cache.getStore(i)), + (s = !0), + (e.t0 = this._shouldRefreshAccessTokenHook), + !e.t0) + ) { + e.next = 9; + break; + } + return ( + (e.next = 8), + this._shouldRefreshAccessTokenHook(a, u) + ); + case 8: + e.t0 = !e.sent; + case 9: + if (((e.t1 = e.t0), !e.t1)) { + e.next = 12; + break; + } + s = !1; + case 12: + return e.abrupt( + "return", + (!a || !u || u < Date.now()) && s + ? this.refreshAccessToken() + : { accessToken: a, accessTokenExpire: u } + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return a.apply(this, arguments); + }), + }, + { + key: "request", + value: + ((o = n( + t().mark(function e(n, i, o) { + var a, u, s, c, f, l, h, p, d, v, g, y, _, m, w, k; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((a = "x-tcb-trace_".concat(this.config.env)), + (u = "application/x-www-form-urlencoded"), + (s = r( + { + action: n, + env: this.config.env, + dataVersion: "2019-08-16", + }, + i + )), + -1 !== dp.indexOf(n)) + ) { + e.next = 10; + break; + } + if ( + ((c = this._cache.keys.refreshTokenKey), + (e.t0 = this._cache.getStore(c)), + !e.t0) + ) { + e.next = 10; + break; + } + return (e.next = 9), this.getAccessToken(); + case 9: + s.access_token = e.sent.accessToken; + case 10: + if ("storage.uploadFile" === n) { + for (l in (f = new FormData())) + f.hasOwnProperty(l) && + void 0 !== f[l] && + f.append(l, s[l]); + u = "multipart/form-data"; + } else + for (h in ((u = "application/json"), (f = {}), s)) + void 0 !== s[h] && (f[h] = s[h]); + return ( + (p = { headers: { "content-type": u } }), + o && + o.onUploadProgress && + (p.onUploadProgress = o.onUploadProgress), + (d = this._localCache.getStore(a)) && + (p.headers["X-TCB-Trace"] = d), + (v = i.parse), + (g = i.inQuery), + (y = i.search), + (_ = { env: this.config.env }), + v && (_.parse = !0), + g && (_ = r(r({}, g), _)), + (m = (function (e, t) { + var n = + arguments.length > 2 && + void 0 !== arguments[2] + ? arguments[2] + : {}, + r = /\?/.test(t), + i = ""; + for (var o in n) + "" === i ? !r && (t += "?") : (i += "&"), + (i += "" + .concat(o, "=") + .concat(encodeURIComponent(n[o]))); + return /^http(s)?\:\/\//.test((t += i)) + ? t + : "".concat(e).concat(t); + })($h, "//tcb-api.tencentcloudapi.com/web", _)), + y && (m += y), + (e.next = 22), + this.post(r({ url: m, data: f }, p)) + ); + case 22: + if ( + ((w = e.sent), + (k = w.header && w.header["x-tcb-trace"]) && + this._localCache.setStore(a, k), + (200 === Number(w.status) || + 200 === Number(w.statusCode)) && + w.data) + ) { + e.next = 26; + break; + } + throw new Th({ + code: "NETWORK_ERROR", + message: "network request error", + }); + case 26: + return e.abrupt("return", w); + case 27: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t, n) { + return o.apply(this, arguments); + }), + }, + { + key: "send", + value: + ((i = n( + t().mark(function e(n) { + var r, + i, + o, + a = arguments; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = a.length > 1 && void 0 !== a[1] ? a[1] : {}), + (e.next = 3), + this.request(n, r, { + onUploadProgress: r.onUploadProgress, + }) + ); + case 3: + if ( + "ACCESS_TOKEN_EXPIRED" !== (i = e.sent).data.code || + -1 !== dp.indexOf(n) + ) { + e.next = 13; + break; + } + return (e.next = 7), this.refreshAccessToken(); + case 7: + return ( + (e.next = 9), + this.request(n, r, { + onUploadProgress: r.onUploadProgress, + }) + ); + case 9: + if (!(o = e.sent).data.code) { + e.next = 12; + break; + } + throw new Th({ + code: o.data.code, + message: o.data.message, + }); + case 12: + return e.abrupt("return", o.data); + case 13: + if (!i.data.code) { + e.next = 15; + break; + } + throw new Th({ + code: i.data.code, + message: i.data.message, + }); + case 15: + return e.abrupt("return", i.data); + case 16: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return i.apply(this, arguments); + }), + }, + { + key: "setRefreshToken", + value: function (e) { + var t = this._cache.keys, + n = t.accessTokenKey, + r = t.accessTokenExpireKey, + i = t.refreshTokenKey; + this._cache.removeStore(n), + this._cache.removeStore(r), + this._cache.setStore(i, e); + }, + }, + ]), + e + ); + })(), + mp = {}; +function wp(e) { + return mp[e]; +} +var kp = (function () { + function e(t) { + s(this, e), + (this.config = t), + (this._cache = tp(t.env)), + (this._request = wp(t.env)); + } + var r; + return ( + c(e, [ + { + key: "setRefreshToken", + value: function (e) { + var t = this._cache.keys, + n = t.accessTokenKey, + r = t.accessTokenExpireKey, + i = t.refreshTokenKey; + this._cache.removeStore(n), + this._cache.removeStore(r), + this._cache.setStore(i, e); + }, + }, + { + key: "setAccessToken", + value: function (e, t) { + var n = this._cache.keys, + r = n.accessTokenKey, + i = n.accessTokenExpireKey; + this._cache.setStore(r, e), this._cache.setStore(i, t); + }, + }, + { + key: "refreshUserInfo", + value: + ((r = n( + t().mark(function e() { + var n, r; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._request.send("auth.getUserInfo", {}) + ); + case 2: + return ( + (n = e.sent), + (r = n.data), + e.abrupt("return", (this.setLocalUserInfo(r), r)) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return r.apply(this, arguments); + }), + }, + { + key: "setLocalUserInfo", + value: function (e) { + var t = this._cache.keys.userInfoKey; + this._cache.setStore(t, e); + }, + }, + ]), + e + ); + })(), + bp = (function () { + function e(t) { + if ((s(this, e), !t)) + throw new Th({ code: "PARAM_ERROR", message: "envId is not defined" }); + (this._envId = t), + (this._cache = tp(this._envId)), + (this._request = wp(this._envId)), + this.setUserInfo(); + } + var r, i, o; + return ( + c(e, [ + { + key: "linkWithTicket", + value: function (e) { + if ("string" != typeof e) + throw new Th({ + code: "PARAM_ERROR", + message: "ticket must be string", + }); + return this._request.send("auth.linkWithTicket", { ticket: e }); + }, + }, + { + key: "linkWithRedirect", + value: function (e) { + e.signInWithRedirect(); + }, + }, + { + key: "updatePassword", + value: function (e, t) { + return this._request.send("auth.updatePassword", { + oldPassword: t, + newPassword: e, + }); + }, + }, + { + key: "updateEmail", + value: function (e) { + return this._request.send("auth.updateEmail", { newEmail: e }); + }, + }, + { + key: "updateUsername", + value: function (e) { + if ("string" != typeof e) + throw new Th({ + code: "PARAM_ERROR", + message: "username must be a string", + }); + return this._request.send("auth.updateUsername", { username: e }); + }, + }, + { + key: "getLinkedUidList", + value: + ((o = n( + t().mark(function e() { + var n, r, i, o; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._request.send("auth.getLinkedUidList", {}) + ); + case 2: + return ( + (n = e.sent), + (r = n.data), + (i = !1), + (o = r.users), + e.abrupt( + "return", + (o.forEach(function (e) { + e.wxOpenId && e.wxPublicId && (i = !0); + }), + { users: o, hasPrimaryUid: i }) + ) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return o.apply(this, arguments); + }), + }, + { + key: "setPrimaryUid", + value: function (e) { + return this._request.send("auth.setPrimaryUid", { uid: e }); + }, + }, + { + key: "unlink", + value: function (e) { + return this._request.send("auth.unlink", { platform: e }); + }, + }, + { + key: "update", + value: + ((i = n( + t().mark(function e(n) { + var r, i, o, a, u, s, c, f; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = n.nickName), + (i = n.gender), + (o = n.avatarUrl), + (a = n.province), + (u = n.country), + (s = n.city), + (e.next = 8), + this._request.send("auth.updateUserInfo", { + nickName: r, + gender: i, + avatarUrl: o, + province: a, + country: u, + city: s, + }) + ); + case 8: + (c = e.sent), (f = c.data), this.setLocalUserInfo(f); + case 11: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return i.apply(this, arguments); + }), + }, + { + key: "refresh", + value: + ((r = n( + t().mark(function e() { + var n, r; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._request.send("auth.getUserInfo", {}) + ); + case 2: + return ( + (n = e.sent), + (r = n.data), + e.abrupt("return", (this.setLocalUserInfo(r), r)) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return r.apply(this, arguments); + }), + }, + { + key: "setUserInfo", + value: function () { + var e = this, + t = this._cache.keys.userInfoKey, + n = this._cache.getStore(t); + [ + "uid", + "loginType", + "openid", + "wxOpenId", + "wxPublicId", + "unionId", + "qqMiniOpenId", + "email", + "hasPassword", + "customUserId", + "nickName", + "gender", + "avatarUrl", + ].forEach(function (t) { + e[t] = n[t]; + }), + (this.location = { + country: n.country, + province: n.province, + city: n.city, + }); + }, + }, + { + key: "setLocalUserInfo", + value: function (e) { + var t = this._cache.keys.userInfoKey; + this._cache.setStore(t, e), this.setUserInfo(); + }, + }, + ]), + e + ); + })(), + xp = (function () { + function e(t) { + if ((s(this, e), !t)) + throw new Th({ code: "PARAM_ERROR", message: "envId is not defined" }); + this._cache = tp(t); + var n = this._cache.keys, + r = n.refreshTokenKey, + i = n.accessTokenKey, + o = n.accessTokenExpireKey, + a = this._cache.getStore(r), + u = this._cache.getStore(i), + c = this._cache.getStore(o); + (this.credential = { + refreshToken: a, + accessToken: u, + accessTokenExpire: c, + }), + (this.user = new bp(t)); + } + return ( + c(e, [ + { + key: "isAnonymousAuth", + get: function () { + return this.loginType === sp.ANONYMOUS; + }, + }, + { + key: "isCustomAuth", + get: function () { + return this.loginType === sp.CUSTOM; + }, + }, + { + key: "isWeixinAuth", + get: function () { + return ( + this.loginType === sp.WECHAT || + this.loginType === sp.WECHAT_OPEN || + this.loginType === sp.WECHAT_PUBLIC + ); + }, + }, + { + key: "loginType", + get: function () { + return this._cache.getStore(this._cache.keys.loginTypeKey); + }, + }, + ]), + e + ); + })(), + Sp = (function (e) { + i(f, kp); + var r, + a, + u = o(f); + function f() { + return s(this, f), u.apply(this, arguments); + } + return ( + c(f, [ + { + key: "signIn", + value: + ((a = n( + t().mark(function e() { + var n, r, i, o, a, u, s; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this._cache.updatePersistence("local"), + (n = this._cache.keys), + (r = n.anonymousUuidKey), + (i = n.refreshTokenKey), + (o = this._cache.getStore(r) || void 0), + (a = this._cache.getStore(i) || void 0), + (e.next = 8), + this._request.send("auth.signInAnonymously", { + anonymous_uuid: o, + refresh_token: a, + }) + ); + case 8: + if (!(u = e.sent).uuid || !u.refresh_token) { + e.next = 20; + break; + } + return ( + this._setAnonymousUUID(u.uuid), + this.setRefreshToken(u.refresh_token), + (e.next = 14), + this._request.refreshAccessToken() + ); + case 14: + return ( + ap(cp), + ap(lp, { + env: this.config.env, + loginType: sp.ANONYMOUS, + persistence: "local", + }), + (s = new xp(this.config.env)), + (e.next = 19), + s.user.refresh() + ); + case 19: + return e.abrupt("return", s); + case 20: + throw new Th({ message: "匿名登录失败" }); + case 21: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return a.apply(this, arguments); + }), + }, + { + key: "linkAndRetrieveDataWithTicket", + value: + ((r = n( + t().mark(function e(n) { + var r, i, o, a, u, s; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = this._cache.keys), + (i = r.anonymousUuidKey), + (o = r.refreshTokenKey), + (a = this._cache.getStore(i)), + (u = this._cache.getStore(o)), + (e.next = 7), + this._request.send( + "auth.linkAndRetrieveDataWithTicket", + { anonymous_uuid: a, refresh_token: u, ticket: n } + ) + ); + case 7: + if (!(s = e.sent).refresh_token) { + e.next = 16; + break; + } + return ( + this._clearAnonymousUUID(), + this.setRefreshToken(s.refresh_token), + (e.next = 13), + this._request.refreshAccessToken() + ); + case 13: + return ( + ap(hp, { env: this.config.env }), + ap(lp, { + loginType: sp.CUSTOM, + persistence: "local", + }), + e.abrupt("return", { + credential: { refreshToken: s.refresh_token }, + }) + ); + case 16: + throw new Th({ message: "匿名转化失败" }); + case 17: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return r.apply(this, arguments); + }), + }, + { + key: "_setAnonymousUUID", + value: function (e) { + var t = this._cache.keys, + n = t.anonymousUuidKey, + r = t.loginTypeKey; + this._cache.removeStore(n), + this._cache.setStore(n, e), + this._cache.setStore(r, sp.ANONYMOUS); + }, + }, + { + key: "_clearAnonymousUUID", + value: function () { + this._cache.removeStore(this._cache.keys.anonymousUuidKey); + }, + }, + ]), + f + ); + })(), + Ap = (function (e) { + i(u, kp); + var r, + a = o(u); + function u() { + return s(this, u), a.apply(this, arguments); + } + return ( + c(u, [ + { + key: "signIn", + value: + ((r = n( + t().mark(function e(n) { + var r, i; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" == typeof n) { + e.next = 2; + break; + } + throw new Th({ + code: "PARAM_ERROR", + message: "ticket must be a string", + }); + case 2: + return ( + (r = this._cache.keys.refreshTokenKey), + (e.next = 5), + this._request.send("auth.signInWithTicket", { + ticket: n, + refresh_token: this._cache.getStore(r) || "", + }) + ); + case 5: + if (!(i = e.sent).refresh_token) { + e.next = 15; + break; + } + return ( + this.setRefreshToken(i.refresh_token), + (e.next = 10), + this._request.refreshAccessToken() + ); + case 10: + return ( + ap(cp), + ap(lp, { + env: this.config.env, + loginType: sp.CUSTOM, + persistence: this.config.persistence, + }), + (e.next = 14), + this.refreshUserInfo() + ); + case 14: + return e.abrupt("return", new xp(this.config.env)); + case 15: + throw new Th({ message: "自定义登录失败" }); + case 16: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return r.apply(this, arguments); + }), + }, + ]), + u + ); + })(), + Ip = (function (e) { + i(l, kp); + var r, + a, + u, + f = o(l); + function l() { + return s(this, l), f.apply(this, arguments); + } + return ( + c(l, [ + { + key: "signIn", + value: + ((u = n( + t().mark(function e(n, r) { + var i, o, a, u, s; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" == typeof n) { + e.next = 2; + break; + } + throw new Th({ + code: "PARAM_ERROR", + message: "email must be a string", + }); + case 2: + return ( + (i = this._cache.keys.refreshTokenKey), + (e.next = 5), + this._request.send("auth.signIn", { + loginType: "EMAIL", + email: n, + password: r, + refresh_token: this._cache.getStore(i) || "", + }) + ); + case 5: + if ( + ((o = e.sent), + (a = o.refresh_token), + (u = o.access_token), + (s = o.access_token_expire), + !a) + ) { + e.next = 22; + break; + } + if ((this.setRefreshToken(a), !u || !s)) { + e.next = 15; + break; + } + this.setAccessToken(u, s), (e.next = 17); + break; + case 15: + return ( + (e.next = 17), this._request.refreshAccessToken() + ); + case 17: + return (e.next = 19), this.refreshUserInfo(); + case 19: + return ( + ap(cp), + ap(lp, { + env: this.config.env, + loginType: sp.EMAIL, + persistence: this.config.persistence, + }), + e.abrupt("return", new xp(this.config.env)) + ); + case 22: + throw o.code + ? new Th({ + code: o.code, + message: "邮箱登录失败: ".concat(o.message), + }) + : new Th({ message: "邮箱登录失败" }); + case 23: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return u.apply(this, arguments); + }), + }, + { + key: "activate", + value: + ((a = n( + t().mark(function e(n) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this._request.send("auth.activateEndUserMail", { + token: n, + }) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return a.apply(this, arguments); + }), + }, + { + key: "resetPasswordWithToken", + value: + ((r = n( + t().mark(function e(n, r) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this._request.send("auth.resetPasswordWithToken", { + token: n, + newPassword: r, + }) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return r.apply(this, arguments); + }), + }, + ]), + l + ); + })(), + Op = (function (e) { + i(u, kp); + var r, + a = o(u); + function u() { + return s(this, u), a.apply(this, arguments); + } + return ( + c(u, [ + { + key: "signIn", + value: + ((r = n( + t().mark(function e(n, r) { + var i, o, a, u, s; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" == typeof n) { + e.next = 2; + break; + } + throw new Th({ + code: "PARAM_ERROR", + message: "username must be a string", + }); + case 2: + return ( + "string" != typeof r && + ((r = ""), console.warn("password is empty")), + (i = this._cache.keys.refreshTokenKey), + (e.next = 6), + this._request.send("auth.signIn", { + loginType: sp.USERNAME, + username: n, + password: r, + refresh_token: this._cache.getStore(i) || "", + }) + ); + case 6: + if ( + ((o = e.sent), + (a = o.refresh_token), + (u = o.access_token_expire), + (s = o.access_token), + !a) + ) { + e.next = 23; + break; + } + if ((this.setRefreshToken(a), !s || !u)) { + e.next = 16; + break; + } + this.setAccessToken(s, u), (e.next = 18); + break; + case 16: + return ( + (e.next = 18), this._request.refreshAccessToken() + ); + case 18: + return (e.next = 20), this.refreshUserInfo(); + case 20: + return ( + ap(cp), + ap(lp, { + env: this.config.env, + loginType: sp.USERNAME, + persistence: this.config.persistence, + }), + e.abrupt("return", new xp(this.config.env)) + ); + case 23: + throw o.code + ? new Th({ + code: o.code, + message: "用户名密码登录失败: ".concat( + o.message + ), + }) + : new Th({ message: "用户名密码登录失败" }); + case 24: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return r.apply(this, arguments); + }), + }, + ]), + u + ); + })(), + Pp = (function () { + function e(t) { + s(this, e), + (this.config = t), + (this._cache = tp(t.env)), + (this._request = wp(t.env)), + (this._onAnonymousConverted = this._onAnonymousConverted.bind(this)), + (this._onLoginTypeChanged = this._onLoginTypeChanged.bind(this)), + op(lp, this._onLoginTypeChanged); + } + var i, o, a, u, f, l, h, p, d; + return ( + c(e, [ + { + key: "currentUser", + get: function () { + var e = this.hasLoginState(); + return (e && e.user) || null; + }, + }, + { + key: "loginType", + get: function () { + return this._cache.getStore(this._cache.keys.loginTypeKey); + }, + }, + { + key: "anonymousAuthProvider", + value: function () { + return new Sp(this.config); + }, + }, + { + key: "customAuthProvider", + value: function () { + return new Ap(this.config); + }, + }, + { + key: "emailAuthProvider", + value: function () { + return new Ip(this.config); + }, + }, + { + key: "usernameAuthProvider", + value: function () { + return new Op(this.config); + }, + }, + { + key: "signInAnonymously", + value: + ((d = n( + t().mark(function e() { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + new Sp(this.config).signIn() + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return d.apply(this, arguments); + }), + }, + { + key: "signInWithEmailAndPassword", + value: + ((p = n( + t().mark(function e(n, r) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + new Ip(this.config).signIn(n, r) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return p.apply(this, arguments); + }), + }, + { + key: "signInWithUsernameAndPassword", + value: function (e, t) { + return new Op(this.config).signIn(e, t); + }, + }, + { + key: "linkAndRetrieveDataWithTicket", + value: + ((h = n( + t().mark(function e(n) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this._anonymousAuthProvider || + (this._anonymousAuthProvider = new Sp( + this.config + )), + op(hp, this._onAnonymousConverted), + (e.next = 4), + this._anonymousAuthProvider.linkAndRetrieveDataWithTicket( + n + ) + ); + case 4: + return e.abrupt("return", e.sent); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return h.apply(this, arguments); + }), + }, + { + key: "signOut", + value: + ((l = n( + t().mark(function e() { + var n, r, i, o, a, u; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this.loginType !== sp.ANONYMOUS) { + e.next = 2; + break; + } + throw new Th({ message: "匿名用户不支持登出操作" }); + case 2: + if ( + ((n = this._cache.keys), + (r = n.refreshTokenKey), + (i = n.accessTokenKey), + (o = n.accessTokenExpireKey), + (a = this._cache.getStore(r))) + ) { + e.next = 5; + break; + } + return e.abrupt("return"); + case 5: + return ( + (e.next = 7), + this._request.send("auth.logout", { + refresh_token: a, + }) + ); + case 7: + return ( + (u = e.sent), + e.abrupt( + "return", + (this._cache.removeStore(r), + this._cache.removeStore(i), + this._cache.removeStore(o), + ap(cp), + ap(lp, { + env: this.config.env, + loginType: sp.NULL, + persistence: this.config.persistence, + }), + u) + ) + ); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return l.apply(this, arguments); + }), + }, + { + key: "signUpWithEmailAndPassword", + value: + ((f = n( + t().mark(function e(n, r) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this._request.send( + "auth.signUpWithEmailAndPassword", + { email: n, password: r } + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return f.apply(this, arguments); + }), + }, + { + key: "sendPasswordResetEmail", + value: + ((u = n( + t().mark(function e(n) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this._request.send("auth.sendPasswordResetEmail", { + email: n, + }) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return u.apply(this, arguments); + }), + }, + { + key: "onLoginStateChanged", + value: function (e) { + var t = this; + op(cp, function () { + var n = t.hasLoginState(); + e.call(t, n); + }); + var n = this.hasLoginState(); + e.call(this, n); + }, + }, + { + key: "onLoginStateExpired", + value: function (e) { + op(fp, e.bind(this)); + }, + }, + { + key: "onAccessTokenRefreshed", + value: function (e) { + op(pp, e.bind(this)); + }, + }, + { + key: "onAnonymousConverted", + value: function (e) { + op(hp, e.bind(this)); + }, + }, + { + key: "onLoginTypeChanged", + value: function (e) { + var t = this; + op(lp, function () { + var n = t.hasLoginState(); + e.call(t, n); + }); + }, + }, + { + key: "getAccessToken", + value: + ((a = n( + t().mark(function e() { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return (e.next = 2), this._request.getAccessToken(); + case 2: + return ( + (e.t0 = e.sent.accessToken), + (e.t1 = this.config.env), + e.abrupt("return", { accessToken: e.t0, env: e.t1 }) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return a.apply(this, arguments); + }), + }, + { + key: "hasLoginState", + value: function () { + var e = this._cache.keys.refreshTokenKey; + return this._cache.getStore(e) ? new xp(this.config.env) : null; + }, + }, + { + key: "isUsernameRegistered", + value: + ((o = n( + t().mark(function e(n) { + var r, i; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" == typeof n) { + e.next = 2; + break; + } + throw new Th({ + code: "PARAM_ERROR", + message: "username must be a string", + }); + case 2: + return ( + (e.next = 4), + this._request.send("auth.isUsernameRegistered", { + username: n, + }) + ); + case 4: + return ( + (r = e.sent), + (i = r.data), + e.abrupt("return", i && i.isRegistered) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return o.apply(this, arguments); + }), + }, + { + key: "getLoginState", + value: function () { + return Promise.resolve(this.hasLoginState()); + }, + }, + { + key: "signInWithTicket", + value: + ((i = n( + t().mark(function e(n) { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + new Ap(this.config).signIn(n) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return i.apply(this, arguments); + }), + }, + { + key: "shouldRefreshAccessToken", + value: function (e) { + this._request._shouldRefreshAccessTokenHook = e.bind(this); + }, + }, + { + key: "getUserInfo", + value: function () { + return this._request + .send("auth.getUserInfo", {}) + .then(function (e) { + return e.code + ? e + : r(r({}, e.data), {}, { requestId: e.seqId }); + }); + }, + }, + { + key: "getAuthHeader", + value: function () { + var e = this._cache.keys, + t = e.refreshTokenKey, + n = e.accessTokenKey, + r = this._cache.getStore(t); + return { + "x-cloudbase-credentials": this._cache.getStore(n) + "/@@/" + r, + }; + }, + }, + { + key: "_onAnonymousConverted", + value: function (e) { + e.data.env === this.config.env && + this._cache.updatePersistence(this.config.persistence); + }, + }, + { + key: "_onLoginTypeChanged", + value: function (e) { + var t = e.data, + n = t.loginType, + r = t.persistence; + t.env === this.config.env && + (this._cache.updatePersistence(r), + this._cache.setStore(this._cache.keys.loginTypeKey, n)); + }, + }, + ]), + e + ); + })(), + Tp = function (e, t) { + t = t || Wh(); + var n = wp(this.config.env), + r = e.cloudPath, + i = e.filePath, + o = e.onUploadProgress, + a = e.fileType, + u = void 0 === a ? "image" : a; + return ( + n + .send("storage.getUploadMetadata", { path: r }) + .then(function (e) { + var a = e.data, + s = a.url, + c = a.authorization, + f = a.token, + l = a.fileId, + h = a.cosFileId, + p = e.requestId, + d = { + key: r, + signature: c, + "x-cos-meta-fileid": h, + success_action_status: "201", + "x-cos-security-token": f, + }; + n.upload({ + url: s, + data: d, + file: i, + name: r, + fileType: u, + onUploadProgress: o, + }) + .then(function (e) { + 201 === e.statusCode + ? t(null, { fileID: l, requestId: p }) + : t( + new Th({ + code: "STORAGE_REQUEST_FAIL", + message: "STORAGE_REQUEST_FAIL: ".concat(e.data), + }) + ); + }) + .catch(function (e) { + t(e); + }); + }) + .catch(function (e) { + t(e); + }), + t.promise + ); + }, + Ep = function (e, t) { + t = t || Wh(); + var n = wp(this.config.env), + r = e.cloudPath; + return ( + n + .send("storage.getUploadMetadata", { path: r }) + .then(function (e) { + t(null, e); + }) + .catch(function (e) { + t(e); + }), + t.promise + ); + }, + Cp = function (e, t) { + var n = e.fileList; + if (((t = t || Wh()), !n || !Array.isArray(n))) + return { code: "INVALID_PARAM", message: "fileList必须是非空的数组" }; + var r, + i = u(n); + try { + for (i.s(); !(r = i.n()).done; ) { + var o = r.value; + if (!o || "string" != typeof o) + return { + code: "INVALID_PARAM", + message: "fileList的元素必须是非空的字符串", + }; + } + } catch (e) { + i.e(e); + } finally { + i.f(); + } + var a = { fileid_list: n }; + return ( + wp(this.config.env) + .send("storage.batchDeleteFile", a) + .then(function (e) { + e.code + ? t(null, e) + : t(null, { fileList: e.data.delete_list, requestId: e.requestId }); + }) + .catch(function (e) { + t(e); + }), + t.promise + ); + }, + Rp = function (e, t) { + var n = e.fileList; + (t = t || Wh()), + (n && Array.isArray(n)) || + t(null, { code: "INVALID_PARAM", message: "fileList必须是非空的数组" }); + var r, + i = [], + o = u(n); + try { + for (o.s(); !(r = o.n()).done; ) { + var a = r.value; + "object" == f(a) + ? ((a.hasOwnProperty("fileID") && a.hasOwnProperty("maxAge")) || + t(null, { + code: "INVALID_PARAM", + message: "fileList的元素必须是包含fileID和maxAge的对象", + }), + i.push({ fileid: a.fileID, max_age: a.maxAge })) + : "string" == typeof a + ? i.push({ fileid: a }) + : t(null, { + code: "INVALID_PARAM", + message: "fileList的元素必须是字符串", + }); + } + } catch (e) { + o.e(e); + } finally { + o.f(); + } + var s = { file_list: i }; + return ( + wp(this.config.env) + .send("storage.batchGetDownloadUrl", s) + .then(function (e) { + e.code + ? t(null, e) + : t(null, { + fileList: e.data.download_list, + requestId: e.requestId, + }); + }) + .catch(function (e) { + t(e); + }), + t.promise + ); + }, + Lp = (function () { + var e = n( + t().mark(function e(n, r) { + var i, o, a, u; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (i = n.fileID), + (e.next = 3), + Rp.call(this, { fileList: [{ fileID: i, maxAge: 600 }] }) + ); + case 3: + if ("SUCCESS" === (o = e.sent.fileList[0]).code) { + e.next = 6; + break; + } + return e.abrupt( + "return", + r + ? r(o) + : new Promise(function (e) { + e(o); + }) + ); + case 6: + if ( + ((a = wp(this.config.env)), + (u = o.download_url), + (u = encodeURI(u)), + r) + ) { + e.next = 10; + break; + } + return e.abrupt("return", a.download({ url: u })); + case 10: + return (e.t0 = r), (e.next = 13), a.download({ url: u }); + case 13: + (e.t1 = e.sent), (0, e.t0)(e.t1); + case 15: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(), + Dp = function (e, t) { + var n, + r = e.name, + i = e.data, + o = e.query, + a = e.parse, + u = e.search, + s = t || Wh(); + try { + n = i ? JSON.stringify(i) : ""; + } catch (e) { + return Promise.reject(e); + } + if (!r) + return Promise.reject( + new Th({ code: "PARAM_ERROR", message: "函数名不能为空" }) + ); + var c = { + inQuery: o, + parse: a, + search: u, + function_name: r, + request_data: n, + }; + return ( + wp(this.config.env) + .send("functions.invokeFunction", c) + .then(function (e) { + if (e.code) s(null, e); + else { + var t = e.data.response_data; + if (a) s(null, { result: t, requestId: e.requestId }); + else + try { + (t = JSON.parse(e.data.response_data)), + s(null, { result: t, requestId: e.requestId }); + } catch (e) { + s(new Th({ message: "response data must be json" })); + } + } + return s.promise; + }) + .catch(function (e) { + s(e); + }), + s.promise + ); + }, + Bp = { timeout: 15e3, persistence: "session" }, + Np = {}, + Up = new ((function () { + function e(t) { + s(this, e), (this.config = t || this.config), (this.authObj = void 0); + } + var i; + return ( + c(e, [ + { + key: "init", + value: function (t) { + switch ( + (Jh.adapter || + (this.requestClient = new Jh.adapter.reqClass({ + timeout: t.timeout || 5e3, + timeoutMsg: "请求在".concat( + (t.timeout || 5e3) / 1e3, + "s内未完成,已中断" + ), + })), + (this.config = r(r({}, Bp), t)), + !0) + ) { + case this.config.timeout > 6e5: + console.warn("timeout大于可配置上限[10分钟],已重置为上限数值"), + (this.config.timeout = 6e5); + break; + case this.config.timeout < 100: + console.warn("timeout小于可配置下限[100ms],已重置为下限数值"), + (this.config.timeout = 100); + } + return new e(this.config); + }, + }, + { + key: "auth", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = e.persistence; + if (this.authObj) return this.authObj; + var n, + i = t || Jh.adapter.primaryStorage || Bp.persistence; + return ( + i !== this.config.persistence && (this.config.persistence = i), + (function (e) { + var t = e.env; + (Zh[t] = new Qh(e)), + (ep[t] = new Qh(r(r({}, e), {}, { persistence: "local" }))); + })(this.config), + (n = this.config), + (mp[n.env] = new _p(n)), + (this.authObj = new Pp(this.config)), + this.authObj + ); + }, + }, + { + key: "on", + value: function (e, t) { + return op.apply(this, [e, t]); + }, + }, + { + key: "off", + value: function (e, t) { + return up.apply(this, [e, t]); + }, + }, + { + key: "callFunction", + value: function (e, t) { + return Dp.apply(this, [e, t]); + }, + }, + { + key: "deleteFile", + value: function (e, t) { + return Cp.apply(this, [e, t]); + }, + }, + { + key: "getTempFileURL", + value: function (e, t) { + return Rp.apply(this, [e, t]); + }, + }, + { + key: "downloadFile", + value: function (e, t) { + return Lp.apply(this, [e, t]); + }, + }, + { + key: "uploadFile", + value: function (e, t) { + return Tp.apply(this, [e, t]); + }, + }, + { + key: "getUploadMetadata", + value: function (e, t) { + return Ep.apply(this, [e, t]); + }, + }, + { + key: "registerExtension", + value: function (e) { + Np[e.name] = e; + }, + }, + { + key: "invokeExtension", + value: + ((i = n( + t().mark(function e(n, r) { + var i; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ((i = Np[n])) { + e.next = 3; + break; + } + throw new Th({ + message: "扩展".concat(n, " 必须先注册"), + }); + case 3: + return (e.next = 5), i.invoke(r, this); + case 5: + return e.abrupt("return", e.sent); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e, t) { + return i.apply(this, arguments); + }), + }, + { + key: "useAdapters", + value: function (e) { + var t = + (function (e) { + var t, + n, + r = + ((t = e), + "[object Array]" === Object.prototype.toString.call(t) + ? e + : [e]), + i = u(r); + try { + for (i.s(); !(n = i.n()).done; ) { + var o = n.value, + a = o.isMatch, + s = o.genAdapter, + c = o.runtime; + if (a()) return { adapter: s(), runtime: c }; + } + } catch (e) { + i.e(e); + } finally { + i.f(); + } + })(e) || {}, + n = t.adapter, + r = t.runtime; + n && (Jh.adapter = n), r && (Jh.runtime = r); + }, + }, + ]), + e + ); + })())(); +function jp(e, t, n) { + void 0 === n && (n = {}); + var r = /\?/.test(t), + i = ""; + for (var o in n) + "" === i ? !r && (t += "?") : (i += "&"), + (i += o + "=" + encodeURIComponent(n[o])); + return /^http(s)?:\/\//.test((t += i)) ? t : "" + e + t; +} +var Mp = (function () { + function e() { + s(this, e); + } + return ( + c(e, [ + { + key: "post", + value: function (e) { + var t = e.url, + n = e.data, + r = e.headers; + return new Promise(function (e, i) { + Eh.request({ + url: jp("https:", t), + data: n, + method: "POST", + header: r, + success: function (t) { + e(t); + }, + fail: function (e) { + i(e); + }, + }); + }); + }, + }, + { + key: "upload", + value: function (e) { + return new Promise(function (t, n) { + var r = e.url, + i = e.file, + o = e.data, + a = e.headers, + u = e.fileType, + s = Eh.uploadFile({ + url: jp("https:", r), + name: "file", + formData: Object.assign({}, o), + filePath: i, + fileType: u, + header: a, + success: function (e) { + var n = { statusCode: e.statusCode, data: e.data || {} }; + 200 === e.statusCode && + o.success_action_status && + (n.statusCode = parseInt(o.success_action_status, 10)), + t(n); + }, + fail: function (e) { + n(new Error(e.errMsg || "uploadFile:fail")); + }, + }); + "function" == typeof e.onUploadProgress && + s && + "function" == typeof s.onProgressUpdate && + s.onProgressUpdate(function (t) { + e.onUploadProgress({ + loaded: t.totalBytesSent, + total: t.totalBytesExpectedToSend, + }); + }); + }); + }, + }, + ]), + e + ); + })(), + $p = { + setItem: function (e, t) { + Eh.setStorageSync(e, t); + }, + getItem: function (e) { + return Eh.getStorageSync(e); + }, + removeItem: function (e) { + Eh.removeStorageSync(e); + }, + clear: function () { + Eh.clearStorageSync(); + }, + }, + Fp = { + genAdapter: function () { + return { + root: {}, + reqClass: Mp, + localStorage: $p, + primaryStorage: "local", + }; + }, + isMatch: function () { + return !0; + }, + runtime: "uni_app", + }; +Up.useAdapters(Fp); +var Hp = Up, + qp = Hp.init; +Hp.init = function (e) { + e.env = e.spaceId; + var t = qp.call(this, e); + (t.config.provider = "tencent"), (t.config.spaceId = e.spaceId); + var n = t.auth; + return ( + (t.auth = function (e) { + var t = n.call(this, e); + return ( + [ + "linkAndRetrieveDataWithTicket", + "signInAnonymously", + "signOut", + "getAccessToken", + "getLoginState", + "signInWithTicket", + "getUserInfo", + ].forEach(function (e) { + var n; + t[e] = ((n = t[e]), + function (e) { + var t = Ih((e = e || {})), + r = t.success, + i = t.fail, + o = t.complete; + if (!(r || i || o)) return n.call(this, e); + n.call(this, e).then( + function (e) { + r && r(e), o && o(e); + }, + function (e) { + i && i(e), o && o(e); + } + ); + }).bind(t); + }), + t + ); + }), + (t.customAuth = t.auth), + t + ); +}; +var zp = Hp, + Wp = (function (e) { + i(n, jh); + var t = o(n); + function n() { + return s(this, n), t.apply(this, arguments); + } + return ( + c(n, [ + { + key: "getAccessToken", + value: function () { + var e = this; + return new Promise(function (t, n) { + var r = "Anonymous_Access_token"; + e.setAccessToken(r), t(r); + }); + }, + }, + { + key: "setupRequest", + value: function (e, t) { + var n = Object.assign({}, e, { + spaceId: this.config.spaceId, + timestamp: Date.now(), + }), + r = { "Content-Type": "application/json" }; + "auth" !== t && + ((n.token = this.accessToken), + (r["x-basement-token"] = this.accessToken)), + (r["x-serverless-sign"] = Nh(n, this.config.clientSecret)); + var i = Dh(); + r["x-client-info"] = encodeURIComponent(JSON.stringify(i)); + var o = Ch().token; + return ( + (r["x-client-token"] = o), + { + url: this.config.requestUrl, + method: "POST", + data: n, + dataType: "json", + header: JSON.parse(JSON.stringify(r)), + } + ); + }, + }, + { + key: "uploadFileToOSS", + value: function (e) { + var t = this, + n = e.url, + r = e.formData, + i = e.name, + o = e.filePath, + a = e.fileType, + u = e.onUploadProgress; + return new Promise(function (e, s) { + var c = t.adapter.uploadFile({ + url: n, + formData: r, + name: i, + filePath: o, + fileType: a, + success: function (t) { + t && t.statusCode < 400 + ? e(t) + : s( + new Th({ + code: "UPLOAD_FAILED", + message: "文件上传失败", + }) + ); + }, + fail: function (e) { + s( + new Th({ + code: e.code || "UPLOAD_FAILED", + message: e.message || e.errMsg || "文件上传失败", + }) + ); + }, + }); + "function" == typeof u && + c && + "function" == typeof c.onProgressUpdate && + c.onProgressUpdate(function (e) { + u({ + loaded: e.totalBytesSent, + total: e.totalBytesExpectedToSend, + }); + }); + }); + }, + }, + { + key: "uploadFile", + value: function (e) { + var t, + n = this, + r = e.filePath, + i = e.cloudPath, + o = e.fileType, + a = void 0 === o ? "image" : o, + u = e.onUploadProgress; + if (!i) + throw new Th({ + code: "CLOUDPATH_REQUIRED", + message: "cloudPath不可为空", + }); + return this.getOSSUploadOptionsFromPath({ cloudPath: i }) + .then(function (e) { + var i = e.result, + o = i.url, + s = i.formData, + c = i.name; + t = e.result.fileUrl; + var f = { + url: o, + formData: s, + name: c, + filePath: r, + fileType: a, + }; + return n.uploadFileToOSS( + Object.assign({}, f, { onUploadProgress: u }) + ); + }) + .then(function () { + return n.reportOSSUpload({ cloudPath: i }); + }) + .then(function (e) { + return new Promise(function (n, i) { + e.success + ? n({ success: !0, filePath: r, fileID: t }) + : i( + new Th({ + code: "UPLOAD_FAILED", + message: "文件上传失败", + }) + ); + }); + }); + }, + }, + { + key: "deleteFile", + value: function (e) { + var t = e.fileList, + n = { + method: "serverless.file.resource.delete", + params: JSON.stringify({ fileList: t }), + }; + return this.request(this.setupRequest(n)).then(function (e) { + if (e.success) return e.result; + throw new Th({ + code: "DELETE_FILE_FAILED", + message: "删除文件失败", + }); + }); + }, + }, + { + key: "getTempFileURL", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = e.fileList, + n = e.maxAge; + if (!Array.isArray(t) || 0 === t.length) + throw new Th({ + code: "INVALID_PARAM", + message: "fileList的元素必须是非空的字符串", + }); + var r = { + method: "serverless.file.resource.getTempFileURL", + params: JSON.stringify({ fileList: t, maxAge: n }), + }; + return this.request(this.setupRequest(r)).then(function (e) { + if (e.success) + return { + fileList: e.result.fileList.map(function (e) { + return { fileID: e.fileID, tempFileURL: e.tempFileURL }; + }), + }; + throw new Th({ + code: "GET_TEMP_FILE_URL_FAILED", + message: "获取临时文件链接失败", + }); + }); + }, + }, + ]), + n + ); + })(), + Vp = { + init: function (e) { + var t = new Wp(e), + n = { + signInAnonymously: function () { + return t.authorize(); + }, + getLoginState: function () { + return Promise.resolve(!1); + }, + }; + return ( + (t.auth = function () { + return n; + }), + (t.customAuth = t.auth), + t + ); + }, + }, + Kp = jl(function (e, t) { + e.exports = Ml.enc.Hex; + }); +function Jp() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", + t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = t.data, + r = t.functionName, + i = t.method, + o = t.headers, + a = t.signHeaderKeys, + u = void 0 === a ? [] : a, + s = t.config, + c = Date.now(), + f = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (e) { + var t = (16 * Math.random()) | 0; + return ("x" === e ? t : (3 & t) | 8).toString(16); + }), + l = Object.assign({}, o, { + "x-from-app-id": s.spaceAppId, + "x-from-env-id": s.spaceId, + "x-to-env-id": s.spaceId, + "x-from-instance-id": c, + "x-from-function-name": r, + "x-client-timestamp": c, + "x-alipay-source": "client", + "x-request-id": f, + "x-alipay-callid": f, + "x-trace-id": f, + }), + p = [ + "x-from-app-id", + "x-from-env-id", + "x-to-env-id", + "x-from-instance-id", + "x-from-function-name", + "x-client-timestamp", + ].concat(u), + d = e.split("?") || [], + v = h(d, 2), + g = v[0], + y = void 0 === g ? "" : g, + _ = v[1], + m = void 0 === _ ? "" : _, + w = (function (e) { + var t = e.signedHeaders.join(";"), + n = e.signedHeaders + .map(function (t) { + return "".concat(t.toLowerCase(), ":").concat(e.headers[t], "\n"); + }) + .join(""), + r = qh(e.body).toString(Kp), + i = "" + .concat(e.method.toUpperCase(), "\n") + .concat(e.path, "\n") + .concat(e.query, "\n") + .concat(n, "\n") + .concat(t, "\n") + .concat(r, "\n"), + o = qh(i).toString(Kp), + a = "HMAC-SHA256\n".concat(e.timestamp, "\n").concat(o, "\n"), + u = zh(a, e.secretKey).toString(Kp); + return "HMAC-SHA256 Credential=" + .concat(e.secretId, ", SignedHeaders=") + .concat(t, ", Signature=") + .concat(u); + })({ + path: y, + query: m, + method: i, + headers: l, + timestamp: c, + body: JSON.stringify(n), + secretId: s.accessKey, + secretKey: s.secretKey, + signedHeaders: p.sort(), + }); + return { + url: "".concat(s.endpoint).concat(e), + headers: Object.assign({}, l, { Authorization: w }), + }; +} +function Gp(e) { + var t = e.url, + n = e.data, + r = e.method, + i = void 0 === r ? "POST" : r, + o = e.headers, + a = void 0 === o ? {} : o; + return new Promise(function (e, r) { + Eh.request({ + url: t, + method: i, + data: n, + header: a, + dataType: "json", + complete: function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = a["x-trace-id"] || ""; + if (!t.statusCode || t.statusCode >= 400) { + var i = t.data || {}, + o = i.message, + u = i.errMsg, + s = i.trace_id; + return r( + new Th({ + code: "SYS_ERR", + message: o || u || "request:fail", + requestId: s || n, + }) + ); + } + e({ + status: t.statusCode, + data: t.data, + headers: t.header, + requestId: n, + }); + }, + }); + }); +} +function Yp(e, t) { + var n = e.path, + r = e.data, + i = e.method, + o = void 0 === i ? "GET" : i, + a = Jp(n, { + functionName: "", + data: r, + method: o, + headers: { + "x-alipay-cloud-mode": "oss", + "x-data-api-type": "oss", + "x-expire-timestamp": Date.now() + 6e4, + }, + signHeaderKeys: ["x-data-api-type", "x-expire-timestamp"], + config: t, + }); + return Gp({ url: a.url, data: r, method: o, headers: a.headers }) + .then(function (e) { + var t = e.data || {}; + if (!t.success) + throw new Th({ + code: e.errCode, + message: e.errMsg, + requestId: e.requestId, + }); + return t.data || {}; + }) + .catch(function (e) { + throw new Th({ + code: e.errCode, + message: e.errMsg, + requestId: e.requestId, + }); + }); +} +function Xp() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", + t = e.trim().replace(/^cloud:\/\//, ""), + n = t.indexOf("/"); + if (n <= 0) throw new Th({ code: "INVALID_PARAM", message: "fileID不合法" }); + var r = t.substring(0, n), + i = t.substring(n + 1); + return ( + r !== this.config.spaceId && + console.warn( + "file " + .concat(e, " does not belong to env ") + .concat(this.config.spaceId) + ), + i + ); +} +function Qp() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; + return "cloud://" + .concat(this.config.spaceId, "/") + .concat(e.replace(/^\/+/, "")); +} +var Zp = (function () { + function e(t) { + if ( + (s(this, e), + ["spaceId", "spaceAppId", "accessKey", "secretKey"].forEach(function ( + e + ) { + if (!Object.prototype.hasOwnProperty.call(t, e)) + throw new Error("".concat(e, " required")); + }), + t.endpoint) + ) { + if ("string" != typeof t.endpoint) + throw new Error("endpoint must be string"); + if (!/^https:\/\//.test(t.endpoint)) + throw new Error("endpoint must start with https://"); + t.endpoint = t.endpoint.replace(/\/$/, ""); + } + this.config = Object.assign({}, t, { + endpoint: + t.endpoint || + "https://".concat(t.spaceId, ".api-hz.cloudbasefunction.cn"), + }); + } + var r, i; + return ( + c(e, [ + { + key: "callFunction", + value: function (e) { + return (function (e, t) { + var n = e.name, + r = e.data, + i = "POST", + o = Jp("/functions/invokeFunction", { + functionName: n, + data: r, + method: i, + headers: { "x-to-function-name": n }, + signHeaderKeys: ["x-to-function-name"], + config: t, + }); + return Gp({ url: o.url, data: r, method: i, headers: o.headers }) + .then(function (e) { + return { + errCode: 0, + success: !0, + requestId: e.requestId, + result: e.data, + }; + }) + .catch(function (e) { + throw new Th({ + code: e.errCode, + message: e.errMsg, + requestId: e.requestId, + }); + }); + })(e, this.config); + }, + }, + { + key: "uploadFileToOSS", + value: function (e) { + var t = e.url, + n = e.filePath, + r = e.fileType, + i = e.formData, + o = e.onUploadProgress; + return new Promise(function (e, a) { + var u = Eh.uploadFile({ + url: t, + filePath: n, + fileType: r, + formData: i, + name: "file", + success: function (t) { + t && t.statusCode < 400 + ? e(t) + : a( + new Th({ + code: "UPLOAD_FAILED", + message: "文件上传失败", + }) + ); + }, + fail: function (e) { + a( + new Th({ + code: e.code || "UPLOAD_FAILED", + message: e.message || e.errMsg || "文件上传失败", + }) + ); + }, + }); + "function" == typeof o && + u && + "function" == typeof u.onProgressUpdate && + u.onProgressUpdate(function (e) { + o({ + loaded: e.totalBytesSent, + total: e.totalBytesExpectedToSend, + }); + }); + }); + }, + }, + { + key: "uploadFile", + value: + ((i = n( + t().mark(function e(n) { + var r, i, o, a, u, s, c, f, l, h, p; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((r = n.filePath), + (i = n.cloudPath), + (o = void 0 === i ? "" : i), + (a = n.fileType), + (u = void 0 === a ? "image" : a), + (s = n.onUploadProgress), + "string" === Vl(o)) + ) { + e.next = 3; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: "cloudPath必须为字符串类型", + }); + case 3: + if ((o = o.trim())) { + e.next = 5; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: "cloudPath不可为空", + }); + case 5: + if (!/:\/\//.test(o)) { + e.next = 7; + break; + } + throw new Th({ + code: "INVALID_PARAM", + message: "cloudPath不合法", + }); + case 7: + return ( + (e.next = 9), + Yp( + { + path: "/".concat( + o.replace(/^\//, ""), + "?post_url" + ), + }, + this.config + ) + ); + case 9: + return ( + (c = e.sent), + (f = c.file_id), + (l = c.upload_url), + (h = c.form_data), + (p = + h && + h.reduce(function (e, t) { + return (e[t.key] = t.value), e; + }, {})), + e.abrupt( + "return", + this.uploadFileToOSS({ + url: l, + filePath: r, + fileType: u, + formData: p, + onUploadProgress: s, + }).then(function () { + return { fileID: f }; + }) + ) + ); + case 15: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function (e) { + return i.apply(this, arguments); + }), + }, + { + key: "getTempFileURL", + value: + ((r = n( + t().mark(function e(n) { + var r, + i = this; + return t().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = n.fileList), + e.abrupt( + "return", + new Promise(function (e, t) { + (!r || r.length < 0) && + t( + new Th({ + errCode: "INVALID_PARAM", + errMsg: "fileList不能为空数组", + }) + ), + r.length > 50 && + t( + new Th({ + errCode: "INVALID_PARAM", + errMsg: "fileList数组长度不能超过50", + }) + ); + var n, + o = [], + a = u(r); + try { + for (a.s(); !(n = a.n()).done; ) { + var s = n.value; + "string" !== Vl(s) && + t( + new Th({ + errCode: "INVALID_PARAM", + errMsg: + "fileList的元素必须是非空的字符串", + }) + ); + var c = Xp.call(i, s); + o.push({ file_id: c, expire: 600 }); + } + } catch (e) { + a.e(e); + } finally { + a.f(); + } + Yp( + { + path: "/?download_url", + data: { file_list: o }, + method: "POST", + }, + i.config + ) + .then(function (t) { + var n = t.file_list; + e({ + fileList: (void 0 === n ? [] : n).map( + function (e) { + return { + fileID: Qp.call(i, e.file_id), + tempFileURL: e.download_url, + }; + } + ), + }); + }) + .catch(function (e) { + return t(e); + }); + }) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )), + function (e) { + return r.apply(this, arguments); + }), + }, + ]), + e + ); + })(), + ed = { + init: function (e) { + e.provider = "alipay"; + var t = new Zp(e); + return ( + (t.auth = function () { + return { + signInAnonymously: function () { + return Promise.resolve(); + }, + getLoginState: function () { + return Promise.resolve(!0); + }, + }; + }), + t + ); + }, + }; +function td(e) { + var t, + n = e.data; + t = Dh(); + var r = JSON.parse(JSON.stringify(n || {})); + if ((Object.assign(r, { clientInfo: t }), !r.uniIdToken)) { + var i = Ch().token; + i && (r.uniIdToken = i); + } + return r; +} +var nd = [ + { + rule: /fc_function_not_found|FUNCTION_NOT_FOUND/, + content: + ",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间", + mode: "append", + }, + ], + rd = /[\\^$.*+?()[\]{}|]/g, + id = RegExp(rd.source); +function od(e, t, n) { + return e.replace( + new RegExp((r = t) && id.test(r) ? r.replace(rd, "\\$&") : r, "g"), + n + ); + var r; +} +var ad, + ud = "request", + sd = "response", + cd = 2e4, + fd = { code: 20101, message: "Invalid client" }; +function ld(e) { + var t = e || {}, + n = t.errSubject, + r = t.subject, + i = t.errCode, + o = t.errMsg, + a = t.code, + u = t.message, + s = t.cause; + return new Th({ + subject: n || r || "uni-secure-network", + code: i || a || cd, + message: o || u, + cause: s, + }); +} +function hd() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = e.secretType; + return t === ud || t === sd || "both" === t; +} +function pd() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + e.name, e.data; + return !1; +} +function dd(e) { + e.functionName, e.result, e.logPvd; +} +function vd(e) { + var t = e.callFunction, + n = function (n) { + var r = this, + i = n.name; + n.data = td.call(e, { data: n.data }); + var o = { + aliyun: "aliyun", + tencent: "tcb", + tcb: "tcb", + alipay: "alipay", + }[this.config.provider], + a = hd(n), + u = pd(n), + s = a || u; + return t.call(this, n).then( + function (e) { + return ( + (e.errCode = 0), + !s && dd.call(r, { functionName: i, result: e, logPvd: o }), + Promise.resolve(e) + ); + }, + function (e) { + return ( + !s && dd.call(r, { functionName: i, result: e, logPvd: o }), + e && + e.message && + (e.message = (function () { + for ( + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = e.message, + n = void 0 === t ? "" : t, + r = e.extraInfo, + i = void 0 === r ? {} : r, + o = e.formatter, + a = void 0 === o ? [] : o, + u = 0; + u < a.length; + u++ + ) { + var s = a[u], + c = s.rule, + f = s.content, + l = s.mode, + h = n.match(c); + if (h) { + for (var p = f, d = 1; d < h.length; d++) + p = od(p, "{$".concat(d, "}"), h[d]); + for (var v in i) p = od(p, "{".concat(v, "}"), i[v]); + return "replace" === l ? p : n + p; + } + } + return n; + })({ + message: "[".concat(n.name, "]: ").concat(e.message), + formatter: nd, + extraInfo: { functionName: i }, + })), + Promise.reject(e) + ); + } + ); + }; + e.callFunction = function (t) { + var r, + i, + o = e.config, + a = o.provider, + u = o.spaceId, + s = t.name; + return ( + (t.data = t.data || {}), + (r = (r = n).bind(e)), + pd(t) || + (i = (function (e) { + var t = e.name, + n = e.data; + return ( + "uni-id-co" === t && + "secureNetworkHandshakeByWeixin" === (void 0 === n ? {} : n).method + ); + })(t) + ? r.call(e, t) + : hd(t) + ? new ad({ + secretType: t.secretType, + uniCloudIns: e, + }).wrapEncryptDataCallFunction(n.bind(e))(t) + : (function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = e.provider, + n = e.spaceId, + r = e.functionName, + i = Lh(), + o = i.appId, + a = i.uniPlatform, + u = i.osName, + s = a; + "app" === a && (s = u); + var c = (function () { + var e, + t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + n = t.provider, + r = t.spaceId; + if (!eh) return {}; + n = "tencent" === (e = n) ? "tcb" : e; + var i = eh.find(function (e) { + return e.provider === n && e.spaceId === r; + }); + return i && i.config; + })({ provider: t, spaceId: n }); + if (!c || !c.accessControl || !c.accessControl.enable) return !1; + var f = c.accessControl.function || {}, + l = Object.keys(f); + if (0 === l.length) return !0; + var h = (function (e, t) { + for (var n, r, i, o = 0; o < e.length; o++) { + var a = e[o]; + a !== t + ? "*" !== a + ? a + .split(",") + .map(function (e) { + return e.trim(); + }) + .indexOf(t) > -1 && (r = a) + : (i = a) + : (n = a); + } + return n || r || i; + })(l, r); + if (!h) return !1; + if ( + (f[h] || []).find(function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}; + return ( + e.appId === o && + (e.platform || "").toLowerCase() === s.toLowerCase() + ); + }) + ) + return !0; + throw ( + (console.error( + "此应用[appId: " + .concat(o, ", platform: ") + .concat( + s, + "]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client" + ) + ), + ld(fd)) + ); + })({ provider: a, spaceId: u, functionName: s }) + ? new ad({ + secretType: t.secretType, + uniCloudIns: e, + }).wrapVerifyClientCallFunction(n.bind(e))(t) + : r(t)), + Object.defineProperty(i, "result", { + get: function () { + return ( + console.warn( + "当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise" + ), + {} + ); + }, + }), + i + ); + }; +} +ad = c(function e() { + throw ( + (s(this, e), + ld({ + message: "Platform ".concat( + th, + " is not enabled, please check whether secure network module is enabled in your manifest.json" + ), + })) + ); +}); +var gd = Symbol("CLIENT_DB_INTERNAL"); +function yd(e, t) { + return ( + (e.then = "DoNotReturnProxyWithAFunctionNamedThen"), + (e._internalType = gd), + (e.inspect = null), + (e.__v_raw = void 0), + new Proxy(e, { + get: function (e, n, r) { + if ("_uniClient" === n) return null; + if ("symbol" == f(n)) return e[n]; + if (n in e || "string" != typeof n) { + var i = e[n]; + return "function" == typeof i ? i.bind(e) : i; + } + return t.get(e, n, r); + }, + }) + ); +} +function _d(e) { + return { + on: function (t, n) { + (e[t] = e[t] || []), e[t].indexOf(n) > -1 || e[t].push(n); + }, + off: function (t, n) { + e[t] = e[t] || []; + var r = e[t].indexOf(n); + -1 !== r && e[t].splice(r, 1); + }, + }; +} +var md = ["db.Geo", "db.command", "command.aggregate"]; +function wd(e, t) { + return md.indexOf("".concat(e, ".").concat(t)) > -1; +} +function kd(e) { + switch ( + Vl( + (e = (function e(t) { + return (t && e(t.__v_raw)) || t; + })(e)) + ) + ) { + case "array": + return e.map(function (e) { + return kd(e); + }); + case "object": + return ( + e._internalType === gd || + Object.keys(e).forEach(function (t) { + e[t] = kd(e[t]); + }), + e + ); + case "regexp": + return { $regexp: { source: e.source, flags: e.flags } }; + case "date": + return { $date: e.toISOString() }; + default: + return e; + } +} +function bd(e) { + return e && e.content && e.content.$method; +} +var xd = (function () { + function e(t, n, r) { + s(this, e), + (this.content = t), + (this.prevStage = n || null), + (this.udb = null), + (this._database = r); + } + return ( + c(e, [ + { + key: "toJSON", + value: function () { + for (var e = this, t = [e.content]; e.prevStage; ) + (e = e.prevStage), t.push(e.content); + return { + $db: t.reverse().map(function (e) { + return { $method: e.$method, $param: kd(e.$param) }; + }), + }; + }, + }, + { + key: "toString", + value: function () { + return JSON.stringify(this.toJSON()); + }, + }, + { + key: "getAction", + value: function () { + var e = this.toJSON().$db.find(function (e) { + return "action" === e.$method; + }); + return e && e.$param && e.$param[0]; + }, + }, + { + key: "getCommand", + value: function () { + return { + $db: this.toJSON().$db.filter(function (e) { + return "action" !== e.$method; + }), + }; + }, + }, + { + key: "isAggregate", + get: function () { + for (var e = this; e; ) { + var t = bd(e), + n = bd(e.prevStage); + if (("aggregate" === t && "collection" === n) || "pipeline" === t) + return !0; + e = e.prevStage; + } + return !1; + }, + }, + { + key: "isCommand", + get: function () { + for (var e = this; e; ) { + if ("command" === bd(e)) return !0; + e = e.prevStage; + } + return !1; + }, + }, + { + key: "isAggregateCommand", + get: function () { + for (var e = this; e; ) { + var t = bd(e), + n = bd(e.prevStage); + if ("aggregate" === t && "command" === n) return !0; + e = e.prevStage; + } + return !1; + }, + }, + { + key: "getNextStageFn", + value: function (e) { + var t = this; + return function () { + return Sd( + { $method: e, $param: kd(Array.from(arguments)) }, + t, + t._database + ); + }; + }, + }, + { + key: "count", + get: function () { + return this.isAggregate + ? this.getNextStageFn("count") + : function () { + return this._send("count", Array.from(arguments)); + }; + }, + }, + { + key: "remove", + get: function () { + return this.isCommand + ? this.getNextStageFn("remove") + : function () { + return this._send("remove", Array.from(arguments)); + }; + }, + }, + { + key: "get", + value: function () { + return this._send("get", Array.from(arguments)); + }, + }, + { + key: "add", + get: function () { + return this.isCommand + ? this.getNextStageFn("add") + : function () { + return this._send("add", Array.from(arguments)); + }; + }, + }, + { + key: "update", + value: function () { + return this._send("update", Array.from(arguments)); + }, + }, + { + key: "end", + value: function () { + return this._send("end", Array.from(arguments)); + }, + }, + { + key: "set", + get: function () { + return this.isCommand + ? this.getNextStageFn("set") + : function () { + throw new Error("JQL禁止使用set方法"); + }; + }, + }, + { + key: "_send", + value: function (e, t) { + var n = this.getAction(), + r = this.getCommand(); + return ( + r.$db.push({ $method: e, $param: kd(t) }), + this._database._callCloudFunction({ action: n, command: r }) + ); + }, + }, + ]), + e + ); +})(); +function Sd(e, t, n) { + return yd(new xd(e, t, n), { + get: function (e, t) { + var r = "db"; + return ( + e && e.content && (r = e.content.$method), + wd(r, t) + ? Sd({ $method: t }, e, n) + : function () { + return Sd( + { $method: t, $param: kd(Array.from(arguments)) }, + e, + n + ); + } + ); + }, + }); +} +function Ad(e) { + var t = e.path, + n = e.method; + return (function () { + function e() { + s(this, e), (this.param = Array.from(arguments)); + } + return ( + c(e, [ + { + key: "toJSON", + value: function () { + return { + $newDb: [].concat( + p( + t.map(function (e) { + return { $method: e }; + }) + ), + [{ $method: n, $param: this.param }] + ), + }; + }, + }, + { + key: "toString", + value: function () { + return JSON.stringify(this.toJSON()); + }, + }, + ]), + e + ); + })(); +} +function Id(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + return yd(new e(t), { + get: function (e, t) { + return wd("db", t) + ? Sd({ $method: t }, null, e) + : function () { + return Sd( + { $method: t, $param: kd(Array.from(arguments)) }, + null, + e + ); + }; + }, + }); +} +var Od = (function (e) { + i(n, e); + var t = o(n); + function n() { + return s(this, n), t.apply(this, arguments); + } + return ( + c(n, [ + { + key: "_parseResult", + value: function (e) { + return this._isJQL ? e.result : e; + }, + }, + { + key: "_callCloudFunction", + value: function (e) { + var t = this, + n = e.action, + r = e.command, + i = e.multiCommand, + o = e.queryList; + function a(e, t) { + if (i && o) + for (var n = 0; n < o.length; n++) { + var r = o[n]; + r.udb && + "function" == typeof r.udb.setResult && + (t + ? r.udb.setResult(t) + : r.udb.setResult(e.result.dataList[n])); + } + } + var u = this, + s = this._isJQL ? "databaseForJQL" : "database"; + function c(e) { + return ( + u._callback("error", [e]), + ch(fh(s, "fail"), e) + .then(function () { + return ch(fh(s, "complete"), e); + }) + .then(function () { + return ( + a(null, e), + bh(ph, { type: gh, content: e }), + Promise.reject(e) + ); + }) + ); + } + var f = ch(fh(s, "invoke")), + l = this._uniClient; + return f + .then(function () { + return l.callFunction({ + name: "DCloud-clientDB", + type: "CLIENT_DB", + data: { action: n, command: r, multiCommand: i }, + }); + }) + .then( + function (e) { + var n = e.result, + r = n.code, + i = n.message, + o = n.token, + f = n.tokenExpired, + l = n.systemInfo, + h = void 0 === l ? [] : l; + if (h) + for (var p = 0; p < h.length; p++) { + var d = h[p], + v = d.level, + g = d.message, + y = d.detail, + _ = "[System Info]" + g; + y && (_ = "".concat(_, "\n详细信息:").concat(y)), + (console[v] || console.log)(_); + } + if (r) + return c( + new Th({ code: r, message: i, requestId: e.requestId }) + ); + (e.result.errCode = e.result.errCode || e.result.code), + (e.result.errMsg = e.result.errMsg || e.result.message), + o && + f && + (Rh({ token: o, tokenExpired: f }), + t._callbackAuth("refreshToken", [ + { token: o, tokenExpired: f }, + ]), + t._callback("refreshToken", [ + { token: o, tokenExpired: f }, + ]), + bh(vh, { token: o, tokenExpired: f })); + for ( + var m, + w = [ + { + prop: "affectedDocs", + tips: "affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代", + }, + { + prop: "code", + tips: "code不再推荐使用,请使用errCode替代", + }, + { + prop: "message", + tips: "message不再推荐使用,请使用errMsg替代", + }, + ], + k = function () { + var t = w[b], + n = t.prop, + r = t.tips; + if ((n in e.result)) { + var i = e.result[n]; + Object.defineProperty(e.result, n, { + get: function () { + return console.warn(r), i; + }, + }); + } + }, + b = 0; + b < w.length; + b++ + ) + k(); + return ( + (m = e), + ch(fh(s, "success"), m) + .then(function () { + return ch(fh(s, "complete"), m); + }) + .then(function () { + a(m, null); + var e = u._parseResult(m); + return ( + bh(ph, { type: gh, content: e }), Promise.resolve(e) + ); + }) + ); + }, + function (e) { + return ( + /fc_function_not_found|FUNCTION_NOT_FOUND/g.test( + e.message + ) && + console.warn( + "clientDB未初始化,请在web控制台保存一次schema以开启clientDB" + ), + c( + new Th({ + code: e.code || "SYSTEM_ERROR", + message: e.message, + requestId: e.requestId, + }) + ) + ); + } + ); + }, + }, + ]), + n + ); + })( + (function () { + function e() { + var t = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = t.uniClient, + r = void 0 === n ? {} : n, + i = t.isJQL, + o = void 0 !== i && i; + s(this, e), + (this._uniClient = r), + (this._authCallBacks = {}), + (this._dbCallBacks = {}), + r._isDefault && + (this._dbCallBacks = ih("_globalUniCloudDatabaseCallback")), + o || (this.auth = _d(this._authCallBacks)), + (this._isJQL = o), + Object.assign(this, _d(this._dbCallBacks)), + (this.env = yd( + {}, + { + get: function (e, t) { + return { $env: t }; + }, + } + )), + (this.Geo = yd( + {}, + { + get: function (e, t) { + return Ad({ path: ["Geo"], method: t }); + }, + } + )), + (this.serverDate = Ad({ path: [], method: "serverDate" })), + (this.RegExp = Ad({ path: [], method: "RegExp" })); + } + return ( + c(e, [ + { + key: "getCloudEnv", + value: function (e) { + if ("string" != typeof e || !e.trim()) + throw new Error("getCloudEnv参数错误"); + return { $env: e.replace("$cloudEnv_", "") }; + }, + }, + { + key: "_callback", + value: function (e, t) { + var n = this._dbCallBacks; + n[e] && + n[e].forEach(function (e) { + e.apply(void 0, p(t)); + }); + }, + }, + { + key: "_callbackAuth", + value: function (e, t) { + var n = this._authCallBacks; + n[e] && + n[e].forEach(function (e) { + e.apply(void 0, p(t)); + }); + }, + }, + { + key: "multiSend", + value: function () { + var e = Array.from(arguments), + t = e.map(function (e) { + var t = e.getAction(), + n = e.getCommand(); + if ("getTemp" !== n.$db[n.$db.length - 1].$method) + throw new Error("multiSend只支持子命令内使用getTemp"); + return { action: t, command: n }; + }); + return this._callCloudFunction({ multiCommand: t, queryList: e }); + }, + }, + ]), + e + ); + })() + ), + Pd = "token无效,跳转登录页面", + Td = "token过期,跳转登录页面", + Ed = { + TOKEN_INVALID_TOKEN_EXPIRED: Td, + TOKEN_INVALID_INVALID_CLIENTID: Pd, + TOKEN_INVALID: Pd, + TOKEN_INVALID_WRONG_TOKEN: Pd, + TOKEN_INVALID_ANONYMOUS_USER: Pd, + }, + Cd = { + "uni-id-token-expired": Td, + "uni-id-check-token-failed": Pd, + "uni-id-token-not-exist": Pd, + "uni-id-check-device-feature-failed": Pd, + }; +function Rd(e, t) { + return (e ? "".concat(e, "/").concat(t) : t).replace(/^\//, ""); +} +function Ld() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], + t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", + n = [], + r = []; + return ( + e.forEach(function (e) { + !0 === e.needLogin + ? n.push(Rd(t, e.path)) + : !1 === e.needLogin && r.push(Rd(t, e.path)); + }), + { needLoginPage: n, notNeedLoginPage: r } + ); +} +function Dd(e) { + return e.split("?")[0].replace(/^\//, ""); +} +function Bd() { + return (function (e) { + var t = (e && e.$page && e.$page.fullPath) || ""; + return t ? ("/" !== t.charAt(0) && (t = "/" + t), t) : t; + })( + (function () { + var e = getCurrentPages(); + return e[e.length - 1]; + })() + ); +} +function Nd() { + return Dd(Bd()); +} +function Ud() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", + t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + if (!e) return !1; + if (!(t && t.list && t.list.length)) return !1; + var n = t.list, + r = Dd(e); + return n.some(function (e) { + return e.pagePath === r; + }); +} +var jd, + Md = !!Ul.uniIdRouter, + $d = (function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Ul, + t = e.pages, + n = void 0 === t ? [] : t, + r = e.subPackages, + i = void 0 === r ? [] : r, + o = e.uniIdRouter, + a = void 0 === o ? {} : o, + u = e.tabBar, + s = void 0 === u ? {} : u, + c = a.loginPage, + f = a.needLogin, + l = void 0 === f ? [] : f, + h = a.resToLogin, + d = void 0 === h || h, + v = Ld(n), + g = v.needLoginPage, + y = v.notNeedLoginPage, + _ = (function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], + t = [], + n = []; + return ( + e.forEach(function (e) { + var r = e.root, + i = e.pages, + o = Ld(void 0 === i ? [] : i, r), + a = o.needLoginPage, + u = o.notNeedLoginPage; + t.push.apply(t, p(a)), n.push.apply(n, p(u)); + }), + { needLoginPage: t, notNeedLoginPage: n } + ); + })(i), + m = _.needLoginPage, + w = _.notNeedLoginPage; + return { + loginPage: c, + routerNeedLogin: l, + resToLogin: d, + needLoginPage: [].concat(p(g), p(m)), + notNeedLoginPage: [].concat(p(y), p(w)), + loginPageInTabBar: Ud(c, s), + }; + })(), + Fd = $d.loginPage, + Hd = $d.routerNeedLogin, + qd = $d.resToLogin, + zd = $d.needLoginPage, + Wd = $d.notNeedLoginPage, + Vd = $d.loginPageInTabBar; +if (zd.indexOf(Fd) > -1) + throw new Error( + "Login page [".concat( + Fd, + '] should not be "needLogin", please check your pages.json' + ) + ); +function Kd(e) { + var t = Nd(); + if ("/" === e.charAt(0)) return e; + var n = e.split("?"), + r = h(n, 2), + i = r[0], + o = r[1], + a = i.replace(/^\//, "").split("/"), + u = t.split("/"); + u.pop(); + for (var s = 0; s < a.length; s++) { + var c = a[s]; + ".." === c ? u.pop() : "." !== c && u.push(c); + } + return "" === u[0] && u.shift(), "/" + u.join("/") + (o ? "?" + o : ""); +} +function Jd(e) { + var t = Dd(e.redirect), + n = Dd(Fd); + return Nd() !== n && t !== n; +} +function Gd() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = e.api, + n = e.redirect; + if (n && Jd({ redirect: n })) { + var r, + i, + o = + ((i = n), + "/" !== (r = Fd).charAt(0) && (r = "/" + r), + i + ? r.indexOf("?") > -1 + ? r + "&uniIdRedirectUrl=".concat(encodeURIComponent(i)) + : r + "?uniIdRedirectUrl=".concat(encodeURIComponent(i)) + : r); + Vd + ? ("navigateTo" !== t && "redirectTo" !== t) || (t = "switchTab") + : "switchTab" === t && (t = "navigateTo"); + var a = { + navigateTo: Pn.navigateTo, + redirectTo: Pn.redirectTo, + switchTab: Pn.switchTab, + reLaunch: Pn.reLaunch, + }; + setTimeout(function () { + a[t]({ url: o }); + }); + } +} +function Yd() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = e.url, + n = { abortLoginPageJump: !1, autoToLoginPage: !1 }, + r = (function () { + var e, + t = Ch(), + n = t.token, + r = t.tokenExpired; + if (n) { + if (r < Date.now()) { + var i = "uni-id-token-expired"; + e = { errCode: i, errMsg: Cd[i] }; + } + } else { + var o = "uni-id-check-token-failed"; + e = { errCode: o, errMsg: Cd[o] }; + } + return e; + })(); + if ( + (function (e) { + var t = Dd(Kd(e)); + return ( + !(Wd.indexOf(t) > -1) && + (zd.indexOf(t) > -1 || + Hd.some(function (t) { + return (n = e), new RegExp(t).test(n); + var n; + })) + ); + })(t) && + r + ) { + if (((r.uniIdRedirectUrl = t), mh(dh).length > 0)) + return ( + setTimeout(function () { + bh(dh, r); + }, 0), + (n.abortLoginPageJump = !0), + n + ); + n.autoToLoginPage = !0; + } + return n; +} +function Xd() { + !(function () { + var e = Bd(), + t = Yd({ url: e }), + n = t.abortLoginPageJump, + r = t.autoToLoginPage; + n || (r && Gd({ api: "redirectTo", redirect: e })); + })(); + for ( + var e = ["navigateTo", "redirectTo", "reLaunch", "switchTab"], + t = function () { + var t = e[n]; + Pn.addInterceptor(t, { + invoke: function (e) { + var n = Yd({ url: e.url }), + r = n.abortLoginPageJump, + i = n.autoToLoginPage; + return r ? e : i ? (Gd({ api: t, redirect: Kd(e.url) }), !1) : e; + }, + }); + }, + n = 0; + n < e.length; + n++ + ) + t(); +} +function Qd() { + this.onResponse(function (e) { + var t = e.type, + n = e.content, + r = !1; + switch (t) { + case "cloudobject": + r = (function (e) { + return "object" == f(e) && (e || {}).errCode in Cd; + })(n); + break; + case "clientdb": + r = (function (e) { + return "object" == f(e) && (e || {}).errCode in Ed; + })(n); + } + r && + (function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = mh(dh); + Ah().then(function () { + var n = Bd(); + if (n && Jd({ redirect: n })) + return t.length > 0 + ? bh(dh, Object.assign({ uniIdRedirectUrl: n }, e)) + : void (Fd && Gd({ api: "navigateTo", redirect: n })); + }); + })(n); + }); +} +function Zd(e) { + var t; + ((t = e).onResponse = function (e) { + wh(ph, e); + }), + (t.offResponse = function (e) { + kh(ph, e); + }), + (function (e) { + (e.onNeedLogin = function (e) { + wh(dh, e); + }), + (e.offNeedLogin = function (e) { + kh(dh, e); + }), + Md && + (ih("_globalUniCloudStatus").needLoginInit || + ((ih("_globalUniCloudStatus").needLoginInit = !0), + Ah().then(function () { + Xd.call(e); + }), + qd && Qd.call(e))); + })(e), + (function (e) { + (e.onRefreshToken = function (e) { + wh(vh, e); + }), + (e.offRefreshToken = function (e) { + kh(vh, e); + }); + })(e); +} +var ev = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + tv = /^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/; +function nv() { + var e, + t, + n = Ch().token || "", + r = n.split("."); + if (!n || 3 !== r.length) + return { uid: null, role: [], permission: [], tokenExpired: 0 }; + try { + e = JSON.parse( + ((t = r[1]), + decodeURIComponent( + jd(t) + .split("") + .map(function (e) { + return "%" + ("00" + e.charCodeAt(0).toString(16)).slice(-2); + }) + .join("") + )) + ); + } catch (e) { + throw new Error("获取当前用户信息出错,详细错误信息为:" + e.message); + } + return (e.tokenExpired = 1e3 * e.exp), delete e.exp, delete e.iat, e; +} +jd = + "function" != typeof atob + ? function (e) { + if (((e = String(e).replace(/[\t\n\f\r ]+/g, "")), !tv.test(e))) + throw new Error( + "Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded." + ); + var t; + e += "==".slice(2 - (3 & e.length)); + for (var n, r, i = "", o = 0; o < e.length; ) + (t = + (ev.indexOf(e.charAt(o++)) << 18) | + (ev.indexOf(e.charAt(o++)) << 12) | + ((n = ev.indexOf(e.charAt(o++))) << 6) | + (r = ev.indexOf(e.charAt(o++)))), + (i += + 64 === n + ? String.fromCharCode((t >> 16) & 255) + : 64 === r + ? String.fromCharCode((t >> 16) & 255, (t >> 8) & 255) + : String.fromCharCode( + (t >> 16) & 255, + (t >> 8) & 255, + 255 & t + )); + return i; + } + : atob; +var rv = (function (e) { + return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") + ? e.default + : e; +})( + jl(function (e, t) { + Object.defineProperty(t, "__esModule", { value: !0 }); + var n = "chooseAndUploadFile:ok", + r = "chooseAndUploadFile:fail"; + function i(e, t) { + return ( + e.tempFiles.forEach(function (e, n) { + e.name || (e.name = e.path.substring(e.path.lastIndexOf("/") + 1)), + t && (e.fileType = t), + (e.cloudPath = + Date.now() + "_" + n + e.name.substring(e.name.lastIndexOf("."))); + }), + e.tempFilePaths || + (e.tempFilePaths = e.tempFiles.map(function (e) { + return e.path; + })), + e + ); + } + function o(e, t, r) { + var i = r.onChooseFile, + o = r.onUploadProgress; + return t + .then(function (e) { + if (i) { + var t = i(e); + if (void 0 !== t) + return Promise.resolve(t).then(function (t) { + return void 0 === t ? e : t; + }); + } + return e; + }) + .then(function (t) { + return !1 === t + ? { errMsg: n, tempFilePaths: [], tempFiles: [] } + : (function (e, t) { + var r = + arguments.length > 2 && void 0 !== arguments[2] + ? arguments[2] + : 5, + i = arguments.length > 3 ? arguments[3] : void 0; + (t = Object.assign({}, t)).errMsg = n; + var o = t.tempFiles, + a = o.length, + u = 0; + return new Promise(function (n) { + for (; u < r; ) s(); + function s() { + var r = u++; + if (r >= a) + !o.find(function (e) { + return !e.url && !e.errMsg; + }) && n(t); + else { + var c = o[r]; + e.uploadFile({ + filePath: c.path, + cloudPath: c.cloudPath, + fileType: c.fileType, + cloudPathAsRealPath: c.cloudPathAsRealPath, + onUploadProgress: function (e) { + (e.index = r), + (e.tempFile = c), + (e.tempFilePath = c.path), + i && i(e); + }, + }) + .then(function (e) { + (c.url = e.fileID), r < a && s(); + }) + .catch(function (e) { + (c.errMsg = e.errMsg || e.message), r < a && s(); + }); + } + } + }); + })(e, t, 5, o); + }); + } + t.initChooseAndUploadFile = function (e) { + return function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : { type: "all" }; + return "image" === t.type + ? o( + e, + (function (e) { + var t = e.count, + n = e.sizeType, + o = e.sourceType, + a = void 0 === o ? ["album", "camera"] : o, + u = e.extension; + return new Promise(function (e, o) { + Pn.chooseImage({ + count: t, + sizeType: n, + sourceType: a, + extension: u, + success: function (t) { + e(i(t, "image")); + }, + fail: function (e) { + o({ errMsg: e.errMsg.replace("chooseImage:fail", r) }); + }, + }); + }); + })(t), + t + ) + : "video" === t.type + ? o( + e, + (function (e) { + var t = e.camera, + n = e.compressed, + o = e.maxDuration, + a = e.sourceType, + u = void 0 === a ? ["album", "camera"] : a, + s = e.extension; + return new Promise(function (e, a) { + Pn.chooseVideo({ + camera: t, + compressed: n, + maxDuration: o, + sourceType: u, + extension: s, + success: function (t) { + var n = t.tempFilePath, + r = t.duration, + o = t.size, + a = t.height, + u = t.width; + e( + i( + { + errMsg: "chooseVideo:ok", + tempFilePaths: [n], + tempFiles: [ + { + name: (t.tempFile && t.tempFile.name) || "", + path: n, + size: o, + type: (t.tempFile && t.tempFile.type) || "", + width: u, + height: a, + duration: r, + fileType: "video", + cloudPath: "", + }, + ], + }, + "video" + ) + ); + }, + fail: function (e) { + a({ errMsg: e.errMsg.replace("chooseVideo:fail", r) }); + }, + }); + }); + })(t), + t + ) + : o( + e, + (function (e) { + var t = e.count, + n = e.extension; + return new Promise(function (e, o) { + var a = Pn.chooseFile; + if ( + (void 0 !== On && + "function" == typeof On.chooseMessageFile && + (a = On.chooseMessageFile), + "function" != typeof a) + ) + return o({ + errMsg: + r + + " 请指定 type 类型,该平台仅支持选择 image 或 video。", + }); + a({ + type: "all", + count: t, + extension: n, + success: function (t) { + e(i(t)); + }, + fail: function (e) { + o({ errMsg: e.errMsg.replace("chooseFile:fail", r) }); + }, + }); + }); + })(t), + t + ); + }; + }; + }) +); +function iv(e) { + return { + props: { + localdata: { + type: Array, + default: function () { + return []; + }, + }, + options: { + type: [Object, Array], + default: function () { + return {}; + }, + }, + spaceInfo: { + type: Object, + default: function () { + return {}; + }, + }, + collection: { type: [String, Array], default: "" }, + action: { type: String, default: "" }, + field: { type: String, default: "" }, + orderby: { type: String, default: "" }, + where: { type: [String, Object], default: "" }, + pageData: { type: String, default: "add" }, + pageCurrent: { type: Number, default: 1 }, + pageSize: { type: Number, default: 20 }, + getcount: { type: [Boolean, String], default: !1 }, + gettree: { type: [Boolean, String], default: !1 }, + gettreepath: { type: [Boolean, String], default: !1 }, + startwith: { type: String, default: "" }, + limitlevel: { type: Number, default: 10 }, + groupby: { type: String, default: "" }, + groupField: { type: String, default: "" }, + distinct: { type: [Boolean, String], default: !1 }, + foreignKey: { type: String, default: "" }, + loadtime: { type: String, default: "auto" }, + manual: { type: Boolean, default: !1 }, + }, + data: function () { + return { + mixinDatacomLoading: !1, + mixinDatacomHasMore: !1, + mixinDatacomResData: [], + mixinDatacomErrorMessage: "", + mixinDatacomPage: {}, + }; + }, + created: function () { + var e = this; + (this.mixinDatacomPage = { + current: this.pageCurrent, + size: this.pageSize, + count: 0, + }), + this.$watch( + function () { + var t = []; + return ( + [ + "pageCurrent", + "pageSize", + "localdata", + "collection", + "action", + "field", + "orderby", + "where", + "getont", + "getcount", + "gettree", + "groupby", + "groupField", + "distinct", + ].forEach(function (n) { + t.push(e[n]); + }), + t + ); + }, + function (t, n) { + if ("manual" !== e.loadtime) { + for (var r = !1, i = [], o = 2; o < t.length; o++) + t[o] !== n[o] && (i.push(t[o]), (r = !0)); + t[0] !== n[0] && (e.mixinDatacomPage.current = e.pageCurrent), + (e.mixinDatacomPage.size = e.pageSize), + e.onMixinDatacomPropsChange(r, i); + } + } + ); + }, + methods: { + onMixinDatacomPropsChange: function (e, t) {}, + mixinDatacomEasyGet: function () { + var e = this, + t = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = t.getone, + r = void 0 !== n && n, + i = t.success, + o = t.fail; + this.mixinDatacomLoading || + ((this.mixinDatacomLoading = !0), + (this.mixinDatacomErrorMessage = ""), + this.mixinDatacomGet() + .then(function (t) { + e.mixinDatacomLoading = !1; + var n = t.result, + o = n.data, + a = n.count; + e.getcount && (e.mixinDatacomPage.count = a), + (e.mixinDatacomHasMore = o.length < e.pageSize); + var u = r ? (o.length ? o[0] : void 0) : o; + (e.mixinDatacomResData = u), i && i(u); + }) + .catch(function (t) { + (e.mixinDatacomLoading = !1), + (e.mixinDatacomErrorMessage = t), + o && o(t); + })); + }, + mixinDatacomGet: function () { + var t, + n = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + r = e.database(this.spaceInfo), + i = n.action || this.action; + i && (r = r.action(i)); + var o = n.collection || this.collection; + r = Array.isArray(o) + ? (t = r).collection.apply(t, p(o)) + : r.collection(o); + var a = n.where || this.where; + a && Object.keys(a).length && (r = r.where(a)); + var u = n.field || this.field; + u && (r = r.field(u)); + var s = n.foreignKey || this.foreignKey; + s && (r = r.foreignKey(s)); + var c = n.groupby || this.groupby; + c && (r = r.groupBy(c)); + var f = n.groupField || this.groupField; + f && (r = r.groupField(f)), + !0 === (void 0 !== n.distinct ? n.distinct : this.distinct) && + (r = r.distinct()); + var l = n.orderby || this.orderby; + l && (r = r.orderBy(l)); + var h = + void 0 !== n.pageCurrent + ? n.pageCurrent + : this.mixinDatacomPage.current, + d = void 0 !== n.pageSize ? n.pageSize : this.mixinDatacomPage.size, + v = void 0 !== n.getcount ? n.getcount : this.getcount, + g = void 0 !== n.gettree ? n.gettree : this.gettree, + y = void 0 !== n.gettreepath ? n.gettreepath : this.gettreepath, + _ = { getCount: v }, + m = { + limitLevel: + void 0 !== n.limitlevel ? n.limitlevel : this.limitlevel, + startWith: void 0 !== n.startwith ? n.startwith : this.startwith, + }; + return ( + g && (_.getTree = m), + y && (_.getTreePath = m), + (r = r + .skip(d * (h - 1)) + .limit(d) + .get(_)) + ); + }, + }, + }; +} +function ov(e) { + return ih( + "_globalUniCloudSecureNetworkCache__{spaceId}".replace( + "{spaceId}", + e.config.spaceId + ) + ); +} +function av() { + return uv.apply(this, arguments); +} +function uv() { + return (uv = n( + t().mark(function e() { + var n, + r, + i, + o, + a, + u, + s, + c = arguments; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = c.length > 0 && void 0 !== c[0] ? c[0] : {}), + (r = n.openid), + (i = n.callLoginByWeixin), + (o = void 0 !== i && i), + (a = ov(this)), + !r || !o) + ) { + e.next = 4; + break; + } + throw new Error( + "[SecureNetwork] openid and callLoginByWeixin cannot be passed at the same time" + ); + case 4: + if (!r) { + e.next = 6; + break; + } + return e.abrupt("return", ((a.mpWeixinOpenid = r), {})); + case 6: + return ( + (e.next = 8), + new Promise(function (e, t) { + Pn.login({ + success: function (t) { + e(t.code); + }, + fail: function (e) { + t(new Error(e.errMsg)); + }, + }); + }) + ); + case 8: + return ( + (u = e.sent), + (s = this.importObject("uni-id-co", { customUI: !0 })), + (e.next = 12), + s.secureNetworkHandshakeByWeixin({ + code: u, + callLoginByWeixin: o, + }) + ); + case 12: + return (a.mpWeixinCode = u), e.abrupt("return", { code: u }); + case 14: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )).apply(this, arguments); +} +function sv(e) { + return cv.apply(this, arguments); +} +function cv() { + return (cv = n( + t().mark(function e(n) { + var r; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = ov(this)), + e.abrupt( + "return", + (r.initPromise || (r.initPromise = av.call(this, n)), + r.initPromise) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )).apply(this, arguments); +} +function fv(e) { + var t = { + getSystemInfo: Pn.getSystemInfo, + getPushClientId: Pn.getPushClientId, + }; + return function (n) { + return new Promise(function (i, o) { + t[e]( + r( + r({}, n), + {}, + { + success: function (e) { + i(e); + }, + fail: function (e) { + o(e); + }, + } + ) + ); + }); + }; +} +var lv = (function (r) { + i(f, r); + var a, + u = o(f); + function f() { + var t; + return ( + s(this, f), + ((t = u.call(this))._uniPushMessageCallback = + t._receivePushMessage.bind(e(t))), + (t._currentMessageId = -1), + (t._payloadQueue = []), + t + ); + } + return ( + c(f, [ + { + key: "init", + value: function () { + var e = this; + return Promise.all([ + fv("getSystemInfo")(), + fv("getPushClientId")(), + ]).then( + function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : [], + n = h(t, 2), + r = n[0], + i = void 0 === r ? {} : r, + o = i.appId, + a = n[1], + u = void 0 === a ? {} : a, + s = u.cid; + if (!o) + throw new Error( + "Invalid appId, please check the manifest.json file" + ); + if (!s) throw new Error("Invalid push client id"); + (e._appId = o), + (e._pushClientId = s), + (e._seqId = + Date.now() + "-" + Math.floor(9e5 * Math.random() + 1e5)), + e.emit("open"), + e._initMessageListener(); + }, + function (t) { + throw (e.emit("error", t), e.close(), t); + } + ); + }, + }, + { + key: "open", + value: + ((a = n( + t().mark(function e() { + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt("return", this.init()); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + )), + function () { + return a.apply(this, arguments); + }), + }, + { + key: "_isUniCloudSSE", + value: function (e) { + if ("receive" !== e.type) return !1; + var t = e && e.data && e.data.payload; + return !( + !t || + "UNI_CLOUD_SSE" !== t.channel || + t.seqId !== this._seqId + ); + }, + }, + { + key: "_receivePushMessage", + value: function (e) { + if (this._isUniCloudSSE(e)) { + var t = e && e.data && e.data.payload, + n = t.action, + r = t.messageId, + i = t.message; + this._payloadQueue.push({ action: n, messageId: r, message: i }), + this._consumMessage(); + } + }, + }, + { + key: "_consumMessage", + value: function () { + for (var e = this; ; ) { + var t = this._payloadQueue.find(function (t) { + return t.messageId === e._currentMessageId + 1; + }); + if (!t) break; + this._currentMessageId++, this._parseMessagePayload(t); + } + }, + }, + { + key: "_parseMessagePayload", + value: function (e) { + var t = e.action, + n = e.messageId, + r = e.message; + "end" === t + ? this._end({ messageId: n, message: r }) + : "message" === t && + this._appendMessage({ messageId: n, message: r }); + }, + }, + { + key: "_appendMessage", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = (e.messageId, e.message); + this.emit("message", t); + }, + }, + { + key: "_end", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = (e.messageId, e.message); + this.emit("end", t), this.close(); + }, + }, + { + key: "_initMessageListener", + value: function () { + Pn.onPushMessage(this._uniPushMessageCallback); + }, + }, + { + key: "_destroy", + value: function () { + Pn.offPushMessage(this._uniPushMessageCallback); + }, + }, + { + key: "toJSON", + value: function () { + return { + appId: this._appId, + pushClientId: this._pushClientId, + seqId: this._seqId, + }; + }, + }, + { + key: "close", + value: function () { + this._destroy(), this.emit("close"); + }, + }, + ]), + f + ); + })( + (function () { + function e() { + s(this, e), (this._callback = {}); + } + return ( + c(e, [ + { + key: "addListener", + value: function (e, t) { + this._callback[e] || (this._callback[e] = []), + this._callback[e].push(t); + }, + }, + { + key: "on", + value: function (e, t) { + return this.addListener(e, t); + }, + }, + { + key: "removeListener", + value: function (e, t) { + if (!t) + throw new Error( + 'The "listener" argument must be of type function. Received undefined' + ); + var n = this._callback[e]; + if (n) { + var r = (function (e, t) { + for (var n = e.length - 1; n >= 0; n--) + if (e[n] === t) return n; + return -1; + })(n, t); + n.splice(r, 1); + } + }, + }, + { + key: "off", + value: function (e, t) { + return this.removeListener(e, t); + }, + }, + { + key: "removeAllListener", + value: function (e) { + delete this._callback[e]; + }, + }, + { + key: "emit", + value: function (e) { + for ( + var t = this._callback[e], + n = arguments.length, + r = new Array(n > 1 ? n - 1 : 0), + i = 1; + i < n; + i++ + ) + r[i - 1] = arguments[i]; + if (t) for (var o = 0; o < t.length; o++) t[o].apply(t, r); + }, + }, + ]), + e + ); + })() + ), + hv = { tcb: zp, tencent: zp, aliyun: Mh, private: Vp, alipay: ed }, + pv = new ((function () { + function e() { + s(this, e); + } + return ( + c(e, [ + { + key: "init", + value: function (e) { + var i, + o = {}, + a = hv[e.provider]; + if (!a) throw new Error("未提供正确的provider参数"); + return ( + (function (e) { + e._initPromiseHub || + (e._initPromiseHub = new Ql({ + createPromise: function () { + var t = Promise.resolve(); + t = new Promise(function (e) { + setTimeout(function () { + e(); + }, 1); + }); + var n = e.auth(); + return t + .then(function () { + return n.getLoginState(); + }) + .then(function (e) { + return e ? Promise.resolve() : n.signInAnonymously(); + }); + }, + })); + })((o = a.init(e))), + vd(o), + (function (e) { + var t = e.uploadFile; + e.uploadFile = function (e) { + return t.call(this, e); + }; + })(o), + ((i = o).database = function (e) { + if (e && Object.keys(e).length > 0) return i.init(e).database(); + if (this._database) return this._database; + var t = Id(Od, { uniClient: i }); + return (this._database = t), t; + }), + (i.databaseForJQL = function (e) { + if (e && Object.keys(e).length > 0) + return i.init(e).databaseForJQL(); + if (this._databaseForJQL) return this._databaseForJQL; + var t = Id(Od, { uniClient: i, isJQL: !0 }); + return (this._databaseForJQL = t), t; + }), + (function (e) { + (e.getCurrentUserInfo = nv), + (e.chooseAndUploadFile = rv.initChooseAndUploadFile(e)), + Object.assign(e, { + get mixinDatacom() { + return iv(e); + }, + }), + (e.SSEChannel = lv), + (e.initSecureNetworkByWeixin = (function (e) { + return function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + n = t.openid, + r = t.callLoginByWeixin, + i = void 0 !== r && r; + return sv.call(e, { openid: n, callLoginByWeixin: i }); + }; + })(e)), + (e.importObject = (function (e) { + return function (i) { + var o = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}, + a = (o = (function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}; + return ( + (e.customUI = t.customUI || e.customUI), + (e.parseSystemError = + t.parseSystemError || e.parseSystemError), + Object.assign(e.loadingOptions, t.loadingOptions), + Object.assign(e.errorOptions, t.errorOptions), + "object" == f(t.secretMethods) && + (e.secretMethods = t.secretMethods), + e + ); + })( + { + customUI: !1, + loadingOptions: { title: "加载中...", mask: !0 }, + errorOptions: { type: "modal", retry: !1 }, + }, + o + )), + u = a.customUI, + s = a.loadingOptions, + c = a.errorOptions, + l = a.parseSystemError, + h = !u; + return new Proxy( + {}, + { + get: function (a, u) { + switch (u) { + case "toString": + return "[object UniCloudObject]"; + case "toJSON": + return {}; + } + return (function () { + var e = + arguments.length > 0 && + void 0 !== arguments[0] + ? arguments[0] + : {}, + i = e.fn, + o = e.interceptorName, + a = e.getCallbackArgs; + return n( + t().mark(function e() { + var n, + u, + s, + c, + f, + l, + h = arguments; + return t().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + for ( + n = h.length, + u = new Array(n), + s = 0; + s < n; + s++ + ) + u[s] = h[s]; + return ( + (c = a ? a({ params: u }) : {}), + (e.prev = 2), + (e.next = 5), + ch(fh(o, "invoke"), r({}, c)) + ); + case 5: + return ( + (e.next = 7), i.apply(void 0, u) + ); + case 7: + return ( + (f = e.sent), + (e.next = 10), + ch( + fh(o, "success"), + r(r({}, c), {}, { result: f }) + ) + ); + case 10: + return e.abrupt("return", f); + case 13: + return ( + (e.prev = 13), + (e.t0 = e.catch(2)), + (l = e.t0), + (e.next = 18), + ch( + fh(o, "fail"), + r(r({}, c), {}, { error: l }) + ) + ); + case 18: + throw l; + case 19: + return ( + (e.prev = 19), + (e.next = 22), + ch( + fh(o, "complete"), + r( + r({}, c), + {}, + l + ? { error: l } + : { result: f } + ) + ) + ); + case 22: + return e.finish(19); + case 23: + case "end": + return e.stop(); + } + }, + e, + null, + [[2, 13, 19, 23]] + ); + }) + ); + })({ + fn: (function () { + var a = n( + t().mark(function a() { + var d, + v, + g, + y, + _, + m, + w, + k, + b, + x, + S, + A, + I, + O, + P, + T = arguments; + return t().wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + for ( + h && + Pn.showLoading({ + title: s.title, + mask: s.mask, + }), + v = T.length, + g = new Array(v), + y = 0; + y < v; + y++ + ) + g[y] = T[y]; + return ( + (_ = { + name: i, + type: "OBJECT", + data: { + method: u, + params: g, + }, + }), + "object" == + f(o.secretMethods) && + (function (e, t) { + var n = t.data.method, + r = e.secretMethods || {}, + i = r[n] || r["*"]; + i && (t.secretType = i); + })(o, _), + (m = !1), + (a.prev = 5), + (a.next = 8), + e.callFunction(_) + ); + case 8: + (d = a.sent), (a.next = 14); + break; + case 11: + (a.prev = 11), + (a.t0 = a.catch(5)), + (m = !0), + (d = { result: new Th(a.t0) }); + case 14: + if ( + ((w = d.result || {}), + (k = w.errSubject), + (b = w.errCode), + (x = w.errMsg), + (S = w.newToken), + h && Pn.hideLoading(), + S && + S.token && + S.tokenExpired && + (Rh(S), bh(vh, r({}, S))), + !b) + ) { + a.next = 40; + break; + } + if ( + ((A = x), + (a.t1 = m && l), + !a.t1) + ) { + a.next = 25; + break; + } + return ( + (a.next = 21), + l({ + objectName: i, + methodName: u, + params: g, + errSubject: k, + errCode: b, + errMsg: x, + }) + ); + case 21: + if ( + ((a.t2 = a.sent.errMsg), a.t2) + ) { + a.next = 24; + break; + } + a.t2 = x; + case 24: + A = a.t2; + case 25: + if (!h) { + a.next = 38; + break; + } + if ("toast" !== c.type) { + a.next = 30; + break; + } + Pn.showToast({ + title: A, + icon: "none", + }), + (a.next = 38); + break; + case 30: + if ("modal" === c.type) { + a.next = 32; + break; + } + throw new Error( + "Invalid errorOptions.type: ".concat( + c.type + ) + ); + case 32: + return ( + (a.next = 34), + n( + t().mark(function e() { + var n, + r, + i, + o, + a, + u, + s = arguments; + return t().wrap(function ( + e + ) { + for (;;) + switch ( + (e.prev = e.next) + ) { + case 0: + return ( + (n = + s.length > 0 && + void 0 !== s[0] + ? s[0] + : {}), + (r = n.title), + (i = n.content), + (o = + n.showCancel), + (a = + n.cancelText), + (u = + n.confirmText), + e.abrupt( + "return", + new Promise( + function ( + e, + t + ) { + Pn.showModal( + { + title: + r, + content: + i, + showCancel: + o, + cancelText: + a, + confirmText: + u, + success: + function ( + t + ) { + e( + t + ); + }, + fail: function () { + e({ + confirm: + !1, + cancel: + !0, + }); + }, + } + ); + } + ) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e); + }) + )({ + title: "提示", + content: A, + showCancel: c.retry, + cancelText: "取消", + confirmText: c.retry + ? "重试" + : "确定", + }) + ); + case 34: + if ( + ((I = a.sent), + (O = I.confirm), + !c.retry || !O) + ) { + a.next = 38; + break; + } + return a.abrupt( + "return", + p.apply(void 0, g) + ); + case 38: + throw ( + (((P = new Th({ + subject: k, + code: b, + message: x, + requestId: d.requestId, + })).detail = d.result), + bh(ph, { + type: _h, + content: P, + }), + P) + ); + case 40: + return a.abrupt( + "return", + (bh(ph, { + type: _h, + content: d.result, + }), + d.result) + ); + case 41: + case "end": + return a.stop(); + } + }, + a, + null, + [[5, 11]] + ); + }) + ); + function p() { + return a.apply(this, arguments); + } + return p; + })(), + interceptorName: "callObject", + getCallbackArgs: function () { + var e = + arguments.length > 0 && + void 0 !== arguments[0] + ? arguments[0] + : {}, + t = e.params; + return { + objectName: i, + methodName: u, + params: t, + }; + }, + }); + }, + } + ); + }; + })(e)); + })(o), + [ + "callFunction", + "uploadFile", + "deleteFile", + "getTempFileURL", + "downloadFile", + "chooseAndUploadFile", + ].forEach(function (e) { + if (o[e]) { + var t, + n, + r = o[e]; + (o[e] = function () { + return r.apply(o, Array.from(arguments)); + }), + (o[e] = ((t = o[e]), + (n = e), + function (e) { + var r = this, + i = !1; + if ("callFunction" === n) { + var o = (e && e.type) || ql; + i = o !== ql; + } + var a = "callFunction" === n && !i, + u = this._initPromiseHub.exec(), + s = Ih((e = e || {})), + c = s.success, + f = s.fail, + l = s.complete, + h = u + .then(function () { + return i + ? Promise.resolve() + : ch(fh(n, "invoke"), e); + }) + .then(function () { + return t.call(r, e); + }) + .then( + function (e) { + return i + ? Promise.resolve(e) + : ch(fh(n, "success"), e) + .then(function () { + return ch(fh(n, "complete"), e); + }) + .then(function () { + return ( + a && bh(ph, { type: yh, content: e }), + Promise.resolve(e) + ); + }); + }, + function (e) { + return i + ? Promise.reject(e) + : ch(fh(n, "fail"), e) + .then(function () { + return ch(fh(n, "complete"), e); + }) + .then(function () { + return ( + bh(ph, { type: yh, content: e }), + Promise.reject(e) + ); + }); + } + ); + if (!(c || f || l)) return h; + h.then( + function (e) { + c && c(e), + l && l(e), + a && bh(ph, { type: yh, content: e }); + }, + function (e) { + f && f(e), + l && l(e), + a && bh(ph, { type: yh, content: e }); + } + ); + }).bind(o)); + } + }), + (o.init = this.init), + o + ); + }, + }, + ]), + e + ); + })())(); +!(function () { + var e = nh, + t = {}; + if (e && 1 === e.length) (t = e[0]), ((pv = pv.init(t))._isDefault = !0); + else { + var n; + (n = + e && e.length > 0 + ? "应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间" + : "uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间"), + [ + "auth", + "callFunction", + "uploadFile", + "deleteFile", + "getTempFileURL", + "downloadFile", + "database", + "getCurrentUSerInfo", + "importObject", + ].forEach(function (e) { + pv[e] = function () { + return ( + console.error(n), + Promise.reject(new Th({ code: "SYS_ERR", message: n })) + ); + }; + }); + } + Object.assign(pv, { + get mixinDatacom() { + return iv(pv); + }, + }), + Zd(pv), + (pv.addInterceptor = uh), + (pv.removeInterceptor = sh), + (pv.interceptObject = lh); +})(); +var dv = pv; +(exports.CryptoJS = Sc), + (exports.Pinia = Pl), + (exports.Ws = dv), + (exports._ = Ic), + (exports._export_sfc = function (e, t) { + var n, + r = e.__vccOpts || e, + i = u(t); + try { + for (i.s(); !(n = i.n()).done; ) { + var o = h(n.value, 2), + a = o[0], + s = o[1]; + r[a] = s; + } + } catch (e) { + i.e(e); + } finally { + i.f(); + } + return r; + }), + (exports.createPinia = vl), + (exports.createSSRApp = function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; + return e && (e.mpType = "app"), ca(e, t).use(ba); + }), + (exports.defineStore = xl), + (exports.e = function (e) { + for ( + var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1; + r < t; + r++ + ) + n[r - 1] = arguments[r]; + return O.apply(void 0, [e].concat(n)); + }), + (exports.f = function (e, t) { + return (function (e, t) { + var n; + if (C(e) || B(e)) { + n = new Array(e.length); + for (var r = 0, i = e.length; r < i; r++) n[r] = t(e[r], r, r); + } else if ("number" == typeof e) { + n = new Array(e); + for (var o = 0; o < e; o++) n[o] = t(o + 1, o, o); + } else if (U(e)) + if (e[Symbol.iterator]) + n = Array.from(e, function (e, n) { + return t(e, n, n); + }); + else { + var a = Object.keys(e); + n = new Array(a.length); + for (var u = 0, s = a.length; u < s; u++) { + var c = a[u]; + n[u] = t(e[c], c, u); + } + } + else n = []; + return n; + })(e, t); + }), + (exports.index = Pn), + (exports.initVueI18n = function (e) { + var t, + n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + r = arguments.length > 2 ? arguments[2] : void 0, + i = arguments.length > 3 ? arguments[3] : void 0; + "string" != typeof e && ((e = (t = [n, e])[0]), (n = t[1])), + "string" != typeof e && + (e = + void 0 !== Pn && Pn.getLocale + ? Pn.getLocale() + : "undefined" != typeof global && global.getLocale + ? global.getLocale() + : ze), + "string" != typeof r && + (r = + ("undefined" != typeof __uniConfig && __uniConfig.fallbackLocale) || + ze); + var o = new Ge({ locale: e, fallbackLocale: r, messages: n, watcher: i }), + a = function (e, t) { + if ("function" != typeof getApp) + a = function (e, t) { + return o.t(e, t); + }; + else { + var n = !1; + a = function (e, t) { + var r = getApp().$vm; + return ( + r && + (r.$locale, + n || + ((n = !0), + (function (e, t) { + e.$watchLocale + ? e.$watchLocale(function (e) { + t.setLocale(e); + }) + : e.$watch( + function () { + return e.$locale; + }, + function (e) { + t.setLocale(e); + } + ); + })(r, o))), + o.t(e, t) + ); + }; + } + return a(e, t); + }; + return { + i18n: o, + f: function (e, t, n) { + return o.f(e, t, n); + }, + t: function (e, t) { + return a(e, t); + }, + add: function (e, t) { + var n = + !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; + return o.add(e, t, n); + }, + watch: function (e) { + return o.watchLocale(e); + }, + getLocale: function () { + return o.getLocale(); + }, + setLocale: function (e) { + return o.setLocale(e); + }, + }; + }), + (exports.lib = fl), + (exports.n = function (e) { + return (function e(t) { + var n = ""; + if (B(t)) n = t; + else if (C(t)) + for (var r = 0; r < t.length; r++) { + var i = e(t[r]); + i && (n += i + " "); + } + else if (U(t)) for (var o in t) t[o] && (n += o + " "); + return n.trim(); + })(e); + }), + (exports.o = function (e, t) { + return (function (e, t) { + var n = Co(), + r = n.ctx, + i = + void 0 === t || + ("mp-weixin" !== r.$mpPlatform && "mp-qq" !== r.$mpPlatform) || + (!B(t) && "number" != typeof t) + ? "" + : "_" + t, + o = "e" + n.$ei++ + i, + a = r.$scope; + if (!e) return delete a[o], o; + var u = a[o]; + return ( + u + ? (u.value = e) + : (a[o] = (function (e, t) { + var n = function e(n) { + var r; + (r = n).type && + r.target && + ((r.preventDefault = b), + (r.stopPropagation = b), + (r.stopImmediatePropagation = b), + E(r, "detail") || (r.detail = {}), + E(r, "markerId") && + ((r.detail = "object" == f(r.detail) ? r.detail : {}), + (r.detail.markerId = r.markerId)), + F(r.detail) && + E(r.detail, "checked") && + !E(r.detail, "value") && + (r.detail.value = r.detail.checked), + F(r.detail) && (r.target = O({}, r.target, r.detail))); + var i = [n]; + n.detail && n.detail.__args__ && (i = n.detail.__args__); + var o = e.value, + a = function () { + return oi( + (function (e, t) { + if (C(t)) { + var n = e.stopImmediatePropagation; + return ( + (e.stopImmediatePropagation = function () { + n && n.call(e), (e._stopped = !0); + }), + t.map(function (e) { + return function (t) { + return !t._stopped && e(t); + }; + }) + ); + } + return t; + })(n, o), + t, + 5, + i + ); + }, + u = n.target, + s = + !!u && + !!u.dataset && + "true" === String(u.dataset.eventsync); + if (!xa.includes(n.type) || s) { + var c = a(); + if ("input" === n.type && (C(c) || j(c))) return; + return c; + } + setTimeout(a); + }; + return (n.value = e), n; + })(e, n)), + o + ); + })(e, t); + }), + (exports.onLaunch = Cl), + (exports.onLoad = Rl), + (exports.onMounted = zi), + (exports.onPageScroll = Ll), + (exports.onPullDownRefresh = Bl), + (exports.onReachBottom = Dl), + (exports.onShareAppMessage = Nl), + (exports.onShow = El), + (exports.p = function (e) { + return (function (e) { + var t = Co(), + n = t.uid, + r = t.__counter; + return ( + n + + "," + + ((ma[n] || (ma[n] = [])).push( + (function (e) { + return e + ? Mr((t = e)) || $r(t) || "__vInternal" in e + ? O({}, e) + : e + : null; + var t; + })(e) + ) - + 1) + + "," + + r + ); + })(e); + }), + (exports.ref = Gr), + (exports.resolveComponent = function (e, t) { + return ( + (function (e, t) { + var n = arguments.length > 3 && void 0 !== arguments[3] && arguments[3], + r = Oi || Eo; + if (r) { + var i = r.type; + if (e === Zi) { + var o = (function (e) { + var t = + !(arguments.length > 1 && void 0 !== arguments[1]) || + arguments[1]; + return D(e) ? e.displayName || e.name : e.name || (t && e.__name); + })(i, !1); + if (o && (o === t || o === V(t) || o === G(V(t)))) return i; + } + var a = eo(r[e] || i[e], t) || eo(r.appContext[e], t); + return !a && n ? i : a; + } + })(Zi, e, !0, t) || e + ); + }), + (exports.s = function (e) { + return Sa(e); + }), + (exports.sr = function (e, t, n) { + return (function (e, t) { + var n = + arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, + r = Co(), + i = r.$templateRefs; + i.push({ i: t, r: e, k: n.k, f: n.f }); + })(e, t, n); + }), + (exports.storeToRefs = Ol), + (exports.t = function (e) { + return (function (e) { + return B(e) + ? e + : null == e + ? "" + : C(e) || (U(e) && (e.toString === M || !D(e.toString))) + ? JSON.stringify(e, m, 2) + : String(e); + })(e); + }), + (exports.unref = Xr), + (exports.watch = Ci), + (exports.wx$1 = On); diff --git a/components/agreement/index.js b/components/agreement/index.js new file mode 100644 index 0000000..f1749a3 --- /dev/null +++ b/components/agreement/index.js @@ -0,0 +1,85 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/useState.js"), + t = require("../../constant/index.js"), + o = require("../../utils/navigate.js"), + a = require("../../utils/util.js"); +require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + Array || e.resolveComponent("uni-popup")(), + Math; +var r = { + __name: "index", + props: { checked: { type: Boolean, default: !0 } }, + emits: ["change"], + setup: function (r, i) { + var u = i.emit, + s = n.useState().setAgreementPopupShow, + c = e.ref(null), + l = e.ref(!1), + p = function () { + u("change"); + }, + d = function () { + o.navigateTo({ + url: "/pages/web-view/index", + params: { url: t.userAgreementUrl, title: "用户协议" }, + }); + }, + g = function () { + o.navigateTo({ + url: "/pages/web-view/index", + params: { url: t.userNoticeUrl, title: "用户须知" }, + }); + }, + v = function () { + l.value = !l.value; + }, + m = function () { + s(!1), c.value.close(); + }, + f = function () { + if (l.value) { + var n = e.index.getStorageSync("hasClickAgreement"); + n ? n++ : (n = 1), + e.index.setStorageSync("hasClickAgreement", n), + s(!1), + c.value.close(), + u("change"); + } else a.showToast("请先阅读并同意协议"); + }; + return ( + e.onMounted(function () { + !e.index.getStorageSync("hasClickAgreement") || + e.index.getStorageSync("hasClickAgreement") < 1 + ? setTimeout(function () { + c.value.open(), s(!0); + }, 300) + : (u("change"), s(!1)); + }), + function (n, t) { + return { + a: r.checked, + b: e.o(p), + c: !r.checked, + d: e.o(p), + e: e.o(p), + f: e.o(d), + g: e.o(g), + h: e.o(d), + i: e.o(g), + j: l.value, + k: !l.value, + l: e.o(v), + m: e.o(m), + n: e.n(l.value ? "canClick" : ""), + o: e.o(f), + p: e.sr(c, "14559edd-0", { k: "popup" }), + q: e.p({ type: "center", "is-mask-click": !1, animation: !0 }), + }; + } + ); + }, + }, + i = e._export_sfc(r, [["__scopeId", "data-v-14559edd"]]); +wx.createComponent(i); diff --git a/components/agreement/index.json b/components/agreement/index.json new file mode 100644 index 0000000..40d85b9 --- /dev/null +++ b/components/agreement/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/agreement/index.wxml b/components/agreement/index.wxml new file mode 100644 index 0000000..adf99e7 --- /dev/null +++ b/components/agreement/index.wxml @@ -0,0 +1,86 @@ + + + + + + 我已阅读并同意 + 《用户协议》 + + 《用户须知》 + + + + + 用户须知 + + + 使用本服务意味着您已阅读并同意 + 《用户协议》 + + 《用户须知》 + + + + + + 我已阅读以上协议并确认是 + 车主本人/经过车主授权 + 同意使用该服务 + + + + + + 取消 + + + 确认 + + + + + diff --git a/components/agreement/index.wxss b/components/agreement/index.wxss new file mode 100644 index 0000000..745719c --- /dev/null +++ b/components/agreement/index.wxss @@ -0,0 +1,86 @@ +.container.data-v-14559edd { + align-items: center; + color: #9a9a9a; + display: -webkit-flex; + display: flex; + font-size: 26rpx; + margin-top: 30rpx; +} +.container image.data-v-14559edd { + height: 44rpx; + margin-right: 10rpx; + width: 44rpx; +} +.agreement.data-v-14559edd { + color: #1f68e9; +} +.popup.data-v-14559edd { + background-color: #fff; + border-radius: 20rpx; + margin-bottom: 15vh; + overflow: hidden; + width: 625rpx; +} +.popup .popup-title.data-v-14559edd { + color: #333; + font-size: 32rpx; + font-weight: 700; + margin: 50rpx 0 40rpx; + text-align: center; +} +.popup .popup-content.data-v-14559edd { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + justify-content: center; + padding: 0 60rpx; +} +.popup .popup-content .tip.data-v-14559edd { + color: #333; + font-size: 32rpx; +} +.popup .popup-content .confirm.data-v-14559edd { + align-items: center; + color: #8a8a8a; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + margin-top: 10rpx; +} +.popup .popup-content .confirm image.data-v-14559edd { + flex-shrink: 0; + height: 40rpx; + margin-right: 10rpx; + width: 40rpx; +} +.popup .popup-content .important.data-v-14559edd { + color: #ff8453; +} +.popup .popup-buttons.data-v-14559edd { + align-items: center; + border-top: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + margin-top: 40rpx; +} +.popup .popup-buttons .button.data-v-14559edd { + flex-grow: 1; + font-size: 32rpx; + font-weight: 700; + padding: 30rpx; + text-align: center; +} +.popup .popup-buttons .button.normal.data-v-14559edd { + color: #333; +} +.popup .popup-buttons .button.canClick.data-v-14559edd { + color: #1f68e9; +} +.popup .popup-buttons .button.data-v-14559edd:nth-child(1) { + border-right: 2rpx solid #f2f2f2; + color: #333; +} +.hover-class.data-v-14559edd { + background-color: #e5e5e5; +} diff --git a/components/divider/index.js b/components/divider/index.js new file mode 100644 index 0000000..7994b42 --- /dev/null +++ b/components/divider/index.js @@ -0,0 +1,10 @@ +var e = require("../../common/vendor.js")._export_sfc({}, [ + [ + "render", + function (e, r) { + return {}; + }, + ], + ["__scopeId", "data-v-e781bbeb"], +]); +wx.createComponent(e); diff --git a/components/divider/index.json b/components/divider/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/divider/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/divider/index.wxml b/components/divider/index.wxml new file mode 100644 index 0000000..fcf8115 --- /dev/null +++ b/components/divider/index.wxml @@ -0,0 +1,5 @@ + + + 本服务数据由第三方提供 + + diff --git a/components/divider/index.wxss b/components/divider/index.wxss new file mode 100644 index 0000000..939fd48 --- /dev/null +++ b/components/divider/index.wxss @@ -0,0 +1,18 @@ +.content.data-v-e781bbeb { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin-top: 30rpx; +} +.content .after.data-v-e781bbeb, +.content .before.data-v-e781bbeb { + background-color: #ebedf0; + flex-grow: 1; + height: 1px; + margin: 0 20rpx; +} +.content .text.data-v-e781bbeb { + color: #bebebe; + font-size: 26rpx; +} diff --git a/components/empty/index.js b/components/empty/index.js new file mode 100644 index 0000000..62a2905 --- /dev/null +++ b/components/empty/index.js @@ -0,0 +1,12 @@ +var e = require("../../common/vendor.js"), + n = { + __name: "index", + props: { info: { type: String, default: "" } }, + setup: function (n) { + return function (t, r) { + return { a: e.t(n.info) }; + }; + }, + }, + t = e._export_sfc(n, [["__scopeId", "data-v-574ebeda"]]); +wx.createComponent(t); diff --git a/components/empty/index.json b/components/empty/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/empty/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/empty/index.wxml b/components/empty/index.wxml new file mode 100644 index 0000000..b228b23 --- /dev/null +++ b/components/empty/index.wxml @@ -0,0 +1,4 @@ + + + {{a}} + diff --git a/components/empty/index.wxss b/components/empty/index.wxss new file mode 100644 index 0000000..12bdc06 --- /dev/null +++ b/components/empty/index.wxss @@ -0,0 +1,20 @@ +.content.data-v-574ebeda { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 100%; + justify-content: center; + position: fixed; + width: 100%; + z-index: 10; +} +.content image.data-v-574ebeda { + height: 300rpx; + margin-top: -150rpx; + width: 300rpx; +} +.content text.data-v-574ebeda { + color: #9a9a9a; + font-size: 30rpx; +} diff --git a/components/float-back-to-top/index.js b/components/float-back-to-top/index.js new file mode 100644 index 0000000..22b35e8 --- /dev/null +++ b/components/float-back-to-top/index.js @@ -0,0 +1,24 @@ +var e = require("../../common/vendor.js"); +Array || e.resolveComponent("uni-icons")(), Math; +var o = { + __name: "index", + props: { visible: { type: Boolean, default: !1 } }, + setup: function (o) { + var r = function () { + e.index.pageScrollTo({ scrollTop: 0, duration: 100 }); + }; + return function (n, t) { + return e.e( + { a: o.visible }, + o.visible + ? { + b: e.p({ type: "arrow-up", size: "24", color: "#1F68E9" }), + c: e.o(r), + } + : {} + ); + }; + }, + }, + r = e._export_sfc(o, [["__scopeId", "data-v-f87a1e9e"]]); +wx.createComponent(r); diff --git a/components/float-back-to-top/index.json b/components/float-back-to-top/index.json new file mode 100644 index 0000000..9969b9a --- /dev/null +++ b/components/float-back-to-top/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons" + } +} diff --git a/components/float-back-to-top/index.wxml b/components/float-back-to-top/index.wxml new file mode 100644 index 0000000..b493dac --- /dev/null +++ b/components/float-back-to-top/index.wxml @@ -0,0 +1,15 @@ + + + diff --git a/components/float-back-to-top/index.wxss b/components/float-back-to-top/index.wxss new file mode 100644 index 0000000..a5f45a3 --- /dev/null +++ b/components/float-back-to-top/index.wxss @@ -0,0 +1,15 @@ +.button.data-v-f87a1e9e { + align-items: center; + background-color: #fff; + border-radius: 100%; + bottom: 180rpx; + box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15); + display: -webkit-flex; + display: flex; + height: 80rpx; + justify-content: center; + position: fixed; + right: 40rpx; + width: 80rpx; + z-index: 88; +} diff --git a/components/float-help/index.js b/components/float-help/index.js new file mode 100644 index 0000000..6b370fd --- /dev/null +++ b/components/float-help/index.js @@ -0,0 +1,15 @@ +var e = require("../../common/vendor.js"), + n = require("../../utils/navigate.js"), + t = { + __name: "index", + setup: function (t) { + var r = function () { + n.navigateTo({ url: "/pages/question/index" }); + }; + return function (n, t) { + return { a: e.o(r) }; + }; + }, + }, + r = e._export_sfc(t, [["__scopeId", "data-v-75efef85"]]); +wx.createComponent(r); diff --git a/components/float-help/index.json b/components/float-help/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/float-help/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/float-help/index.wxml b/components/float-help/index.wxml new file mode 100644 index 0000000..fc9ce0a --- /dev/null +++ b/components/float-help/index.wxml @@ -0,0 +1,8 @@ + + + diff --git a/components/float-help/index.wxss b/components/float-help/index.wxss new file mode 100644 index 0000000..0846d24 --- /dev/null +++ b/components/float-help/index.wxss @@ -0,0 +1,20 @@ +.button.data-v-75efef85 { + align-items: center; + background-color: #fff; + border-radius: 100%; + bottom: 180rpx; + box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15); + display: -webkit-flex; + display: flex; + height: 80rpx; + justify-content: center; + padding: 0; + position: fixed; + right: 40rpx; + width: 80rpx; + z-index: 10; +} +.button image.data-v-75efef85 { + height: 40rpx; + width: 40rpx; +} diff --git a/components/float-refresh/index.js b/components/float-refresh/index.js new file mode 100644 index 0000000..091d6cb --- /dev/null +++ b/components/float-refresh/index.js @@ -0,0 +1,40 @@ +var o = require("../../common/vendor.js"); +Array || + (o.resolveComponent("uni-load-more") + o.resolveComponent("uni-icons"))(), + Math || + ( + function () { + return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js"; + } + + function () { + return "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js"; + } + )(); +var n = { + __name: "index", + props: { loading: { type: Boolean, default: !1 } }, + emits: ["click"], + setup: function (n, e) { + var i = e.emit, + r = function () { + i("click"); + }; + return function (e, i) { + return { + a: n.loading, + b: o.p({ + iconType: "circle", + iconSize: 20, + status: "loading", + showText: !1, + color: "#1F68E9", + }), + c: !n.loading, + d: o.p({ type: "refreshempty", size: "24", color: "#1F68E9" }), + e: o.o(r), + }; + }; + }, + }, + e = o._export_sfc(n, [["__scopeId", "data-v-8535e783"]]); +wx.createComponent(e); diff --git a/components/float-refresh/index.json b/components/float-refresh/index.json new file mode 100644 index 0000000..c407c45 --- /dev/null +++ b/components/float-refresh/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more", + "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons" + } +} diff --git a/components/float-refresh/index.wxml b/components/float-refresh/index.wxml new file mode 100644 index 0000000..d9b224e --- /dev/null +++ b/components/float-refresh/index.wxml @@ -0,0 +1,23 @@ + + + + diff --git a/components/float-refresh/index.wxss b/components/float-refresh/index.wxss new file mode 100644 index 0000000..ba4e15f --- /dev/null +++ b/components/float-refresh/index.wxss @@ -0,0 +1,15 @@ +.button.data-v-8535e783 { + align-items: center; + background-color: #fff; + border-radius: 100%; + bottom: 80rpx; + box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15); + display: -webkit-flex; + display: flex; + height: 80rpx; + justify-content: center; + position: fixed; + right: 40rpx; + width: 80rpx; + z-index: 88; +} diff --git a/components/float-share/index.js b/components/float-share/index.js new file mode 100644 index 0000000..b192b06 --- /dev/null +++ b/components/float-share/index.js @@ -0,0 +1,10 @@ +var e = require("../../common/vendor.js")._export_sfc({}, [ + [ + "render", + function (e, r) { + return {}; + }, + ], + ["__scopeId", "data-v-babab3c4"], +]); +wx.createComponent(e); diff --git a/components/float-share/index.json b/components/float-share/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/float-share/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/float-share/index.wxml b/components/float-share/index.wxml new file mode 100644 index 0000000..191ef78 --- /dev/null +++ b/components/float-share/index.wxml @@ -0,0 +1,11 @@ + diff --git a/components/float-share/index.wxss b/components/float-share/index.wxss new file mode 100644 index 0000000..22a6b9a --- /dev/null +++ b/components/float-share/index.wxss @@ -0,0 +1,20 @@ +.button.data-v-babab3c4 { + align-items: center; + background-color: #fff; + border-radius: 100%; + bottom: 80rpx; + box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15); + display: -webkit-flex; + display: flex; + height: 80rpx; + justify-content: center; + padding: 0; + position: fixed; + right: 40rpx; + width: 80rpx; + z-index: 88; +} +.button image.data-v-babab3c4 { + height: 40rpx; + width: 40rpx; +} diff --git a/components/keyboard/index.js b/components/keyboard/index.js new file mode 100644 index 0000000..e2b4bea --- /dev/null +++ b/components/keyboard/index.js @@ -0,0 +1,189 @@ +require("../../@babel/runtime/helpers/Arrayincludes"); +var e = require("../../common/vendor.js"), + n = require("../../enums/index.js"), + a = require("../../utils/util.js"); +require("../../constant/index.js"), + Array || e.resolveComponent("uni-popup")(), + Math; +var r = { + __name: "index", + props: { + visible: { type: Boolean, default: !1 }, + keyboardType: { type: String, default: n.KeyboardEnum.ABC }, + vin: { type: String, default: "" }, + vehicleNoList: { type: Array, default: ["", "", "", "", "", "", "", ""] }, + vehicleNoIndex: { type: Number, default: 0 }, + canSwitch: { type: Boolean, default: !0 }, + initCopy: { type: Boolean, default: !0 }, + }, + emits: ["close", "change", "type-change"], + setup: function (r, o) { + var u = o.emit, + t = r, + i = [ + [1, 2, 3, 4, 5, 6, 7, 8, 9, 0], + ["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"], + ["A", "S", "D", "F", "G", "H", "J", "K", "L", "Z"], + [ + n.KeyboardEnum.AREA, + "X", + "C", + "V", + "B", + "N", + "M", + n.KeyboardEnum.DELETE, + ], + ], + d = [ + ["京", "津", "渝", "沪", "冀", "晋", "辽", "吉", "黑", "苏"], + ["浙", "皖", "闽", "赣", "鲁", "豫", "鄂", "湘", "粤", "琼"], + ["川", "贵", "云", "陕", "甘", "青", "蒙", "桂", "宁", "新"], + [ + n.KeyboardEnum.ABC, + "藏", + "使", + "警", + "学", + "港", + "澳", + n.KeyboardEnum.DELETE, + ], + ], + c = ["I", "O"], + l = e.ref(null), + y = e.ref(""); + e.watch( + function () { + return t.visible; + }, + function () { + t.visible + ? (t.initCopy || m(), l.value.open(), l.value.closeMask()) + : l.value.close(); + } + ); + var b = function () { + u("close"); + }, + E = function (e) { + e.show || u("close"); + }, + f = function (r) { + if ( + ((r !== n.KeyboardEnum.AREA && r !== n.KeyboardEnum.ABC) || + t.canSwitch) && + !c.includes(r) + ) + if ((a.vibrate(), t.canSwitch)) { + var o = e._.cloneDeep(t.vehicleNoList), + i = e._.cloneDeep(t.vehicleNoIndex); + r === n.KeyboardEnum.AREA || r === n.KeyboardEnum.ABC + ? u("type-change") + : r === n.KeyboardEnum.DELETE + ? (o[i] ? (o[i] = "") : (o[i - 1] = ""), + i > 0 && i--, + u("change", { value: o, index: i })) + : ((o[i] = r), + i < 7 && + (0 === i && + u("change", { keyboardType: n.KeyboardEnum.ABC }), + i++), + u("change", { value: o, index: i })); + } else { + var d = e._.cloneDeep(t.vin); + if (r === n.KeyboardEnum.DELETE) + (d = d.substring(0, d.length - 1)), u("change", { value: d }); + else { + if (r === n.KeyboardEnum.AREA) return; + if (d.length >= 17) return; + u("change", { value: (d += r) }); + } + } + }, + s = function () { + u("change", { value: y.value }); + }, + m = function () { + e.index.getClipboardData().then(function (a) { + var r = a.data; + e.index.hideToast(), + 17 === r.trim().length && t.keyboardType === n.KeyboardEnum.ABC + ? (y.value = r.trim()) + : (y.value = ""); + }); + }; + return ( + e.onMounted(function () { + t.initCopy && m(); + }), + function (a, o) { + return e.e( + { a: r.keyboardType === e.unref(n.KeyboardEnum).ABC && y.value }, + r.keyboardType === e.unref(n.KeyboardEnum).ABC && y.value + ? { b: e.t(y.value) } + : {}, + { + c: e.o(s), + d: e.o(b), + e: e.f( + r.keyboardType === e.unref(n.KeyboardEnum).ABC ? i : d, + function (a, o, u) { + return { + a: e.f(a, function (a, o, u) { + return e.e( + { a: a === e.unref(n.KeyboardEnum).DELETE }, + a === e.unref(n.KeyboardEnum).DELETE + ? { + b: e.o(function (e) { + return f(a); + }, o), + } + : a === e.unref(n.KeyboardEnum).AREA || + a === e.unref(n.KeyboardEnum).ABC + ? { + d: e.t(a), + e: e.n(r.canSwitch ? "" : "disabled"), + f: r.canSwitch ? "keyboard-hover" : "", + g: e.o(function (e) { + return f(a); + }, o), + } + : { + h: e.t(a), + i: e.n(c.includes(a) ? "disabled" : ""), + j: c.includes(a) ? "" : "keyboard-hover", + k: e.o(function (e) { + return f(a); + }, o), + }, + { + c: + a === e.unref(n.KeyboardEnum).AREA || + a === e.unref(n.KeyboardEnum).ABC, + l: o, + } + ); + }), + b: o, + }; + } + ), + f: e.sr(l, "8922672d-0", { k: "popup" }), + g: e.o(E), + h: e.p({ + type: "bottom", + "background-color": "#F2F2F2", + "mask-background-color": "rgba(0, 0, 0, 0)", + "safe-area": !1, + animation: !0, + "is-mask-click": !1, + }), + } + ); + } + ); + }, + }, + o = e._export_sfc(r, [["__scopeId", "data-v-8922672d"]]); +wx.createComponent(o); diff --git a/components/keyboard/index.json b/components/keyboard/index.json new file mode 100644 index 0000000..40d85b9 --- /dev/null +++ b/components/keyboard/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/keyboard/index.wxml b/components/keyboard/index.wxml new file mode 100644 index 0000000..94951b1 --- /dev/null +++ b/components/keyboard/index.wxml @@ -0,0 +1,53 @@ + + + + + + 粘贴({{b}}) + + + 收起 + + + + + {{value.d}} + {{value.h}} + + + + diff --git a/components/keyboard/index.wxss b/components/keyboard/index.wxss new file mode 100644 index 0000000..228038a --- /dev/null +++ b/components/keyboard/index.wxss @@ -0,0 +1,63 @@ +.content.data-v-8922672d { + color: #2c2c34; + padding: 0 30rpx 40rpx; + position: relative; +} +.content .close.data-v-8922672d { + align-items: center; + display: -webkit-flex; + display: flex; + font-weight: 700; + justify-content: space-between; +} +.content .close .copy-value.data-v-8922672d { + color: #1f68e9; + font-size: 34rpx; + padding: 25rpx 0 15rpx; +} +.content .close .copy-value text.data-v-8922672d { + color: #2c2c34; +} +.content .close .hide.data-v-8922672d { + color: #1f68e9; + display: block; + font-size: 34rpx; + padding: 25rpx 0 15rpx 20rpx; +} +.content .key-row .key.data-v-8922672d, +.content .key-row.data-v-8922672d { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: center; +} +.content .key-row .key.data-v-8922672d { + background-color: #fff; + border-radius: 8rpx; + font-size: 34rpx; + font-weight: 700; + height: 78rpx; + margin: 10rpx 6rpx; + min-width: 60rpx; + position: relative; +} +.content .key-row .key.big.data-v-8922672d { + width: 200rpx; +} +.content .key-row .key.disabled.data-v-8922672d { + color: #ccc; +} +.content .key-row .key.delete.data-v-8922672d { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAMAAACdUboEAAAAflBMVEUAAAAtLS0sLDUrKzQvLy8sLDMsLDQpKTosLDQsLDQsLDQsLDQsLDQrKzQsLDQsLDQrKzMrKzQtLTMsLDMsLDQqKjEsLDMtLTMsLDQsLDUsLDQsLDMsLDQsLDUtLTMsLDMuLjgqKjErKzUsLDQsLDQsLDMtLTMrKzQrKzMsLDT8XkmbAAAAKXRSTlMAEcdIBa56CHP5qfXu1722mYRaRjUM4yjz6cyPfW8sIBsUwpeKZ1VUQbJFaDkAAAFMSURBVFjD7ZfdboJAEIXHSlVQsSqCbbWt/Z/3f8HW6cVJN1mm4EnKxX5XZAkfBJizM5JIJBKJDoyKvXZm8TKVGFmpvVhLjLX241kijLUnVxHh44JsnN7Z2ftRJz5ajDc/t8ukE+O4cWPC2ydhGR/mZtwKy7hbmnAiNGNhwpXQjDMT1ieascrP63klLOOp1jNvwfLnsQquPjZ/NJYmLILVg6rOBGSFar51jciH5S4oobn+UmbX+k3pGZEP+0YCY66mhNCu9YzIh/dIVZrShMbGMyIfJACSSXAcNfr5AA2OfCPyoUV5gNAxOvkAJYRxo58PUELoG1+RD65yIp4RxdJIC9Nacdt/eEb2e+R/a/7/yK8Zfl3zs4efj/wMB6sL9hn2Xujv1wPuKQR9z4B7M0FmDLfHvbAP588K/HmGP3Px50L+7MqfrxOJRCIR5QtvTr9dFVXplQAAAABJRU5ErkJggg==); + background-position: 50%; + background-repeat: no-repeat; + background-size: 55rpx 55rpx; +} +.content .key-row .key.delete-hover.data-v-8922672d { + background-color: #1f68e9 !important; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFEAAABRCAMAAACdUboEAAAAh1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9qkf8RAAAALHRSTlMAEcdIBa56+bypCAv17teYhHRaS0Yc4/PpzLSPcm9UNCwofiIVwpqKZ0E4DWyPr9sAAAFbSURBVFjD7Zdpb8IwDIbdretBB2UcZQewDdiJ///vA1Iho0iJaZ0CH/x8qiL1SY/kjQ2KoihKA6J8ho3plz1wEWfYiiG4GGI7vsDBGFty5xCu+4GNvRc88BY1YukxftfTxdCIe7dxZITPUwhl/Hg0xgmEMhYDI0wgmDE3wlcIZpwbYRUFM/6nuCd9h1DGTYUHfq3hv4U1xXjxeaaxzofcGl0h4hyIOEdMJ6yR8mFQWFvILKcnEj7gnowzUj7M7BcqUjRKEtK9fuO0zocl2JR4VJIQR5yR8gEsSJJY14yR8sGnpCveSPngUa5IyBiZfCAlCTnjlssHoyQhb/yhfGCVCXBG2ixr8FBUaMgArvKM8u8o/9eh1mPCr8cTSuGeke/ry2ePPB/lGd75OSM/C6Xntbym2MAN1z0ntdnt1o8d1LiUGUKjvFe4VD8j77m67wvlvWv4/lpRFEVxsgO4qs1ntHZ77QAAAABJRU5ErkJggg==); +} +.content .keyboard-hover.data-v-8922672d { + background-color: #1f68e9 !important; + color: #fff; +} diff --git a/components/popup-copy-vin/index.js b/components/popup-copy-vin/index.js new file mode 100644 index 0000000..fc8edaa --- /dev/null +++ b/components/popup-copy-vin/index.js @@ -0,0 +1,44 @@ +var e = require("../../common/vendor.js"); +Array || e.resolveComponent("uni-popup")(), Math; +var n = { + __name: "index", + props: { + visible: { type: Boolean, default: !1 }, + copyVin: { type: String, default: "" }, + }, + emits: ["cancel", "confirm"], + setup: function (n, o) { + var t = o.emit, + c = n, + i = e.ref(null); + e.watch( + function () { + return c.visible; + }, + function () { + c.visible ? i.value.open() : i.value.close(); + } + ); + var r = function (e) { + e.show || t("cancel"); + }, + a = function () { + t("cancel"); + }, + u = function () { + t("confirm"); + }; + return function (o, t) { + return { + a: e.t(n.copyVin), + b: e.o(a), + c: e.o(u), + d: e.sr(i, "fa16f1de-0", { k: "popup" }), + e: e.o(r), + f: e.p({ type: "center", "is-mask-click": !1, animation: !0 }), + }; + }; + }, + }, + o = e._export_sfc(n, [["__scopeId", "data-v-fa16f1de"]]); +wx.createComponent(o); diff --git a/components/popup-copy-vin/index.json b/components/popup-copy-vin/index.json new file mode 100644 index 0000000..40d85b9 --- /dev/null +++ b/components/popup-copy-vin/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/popup-copy-vin/index.wxml b/components/popup-copy-vin/index.wxml new file mode 100644 index 0000000..1940fb0 --- /dev/null +++ b/components/popup-copy-vin/index.wxml @@ -0,0 +1,36 @@ + + + 提示 + + 是否要查询这个车架号? + {{a}} + + + + 不用了 + + + 马上查询 + + + + diff --git a/components/popup-copy-vin/index.wxss b/components/popup-copy-vin/index.wxss new file mode 100644 index 0000000..cafe8a5 --- /dev/null +++ b/components/popup-copy-vin/index.wxss @@ -0,0 +1,53 @@ +.content.data-v-fa16f1de { + background-color: #fff; + border-radius: 20rpx; + margin-bottom: 15vh; + overflow: hidden; + width: 625rpx; +} +.content .popup-title.data-v-fa16f1de { + color: #333; + font-size: 32rpx; + font-weight: 700; + margin: 50rpx 0 40rpx; + text-align: center; +} +.content .popup-content.data-v-fa16f1de { + align-items: center; + color: #8a8a8a; + display: -webkit-flex; + display: flex; + flex-direction: column; + font-size: 32rpx; + justify-content: center; +} +.content .popup-content .important.data-v-fa16f1de { + font-weight: 700; +} +.content .popup-content .type.data-v-fa16f1de { + color: #ff8453; +} +.content .popup-buttons.data-v-fa16f1de { + align-items: center; + border-top: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + margin-top: 40rpx; +} +.content .popup-buttons .button.data-v-fa16f1de { + flex-grow: 1; + font-size: 32rpx; + font-weight: 700; + padding: 30rpx; + text-align: center; +} +.content .popup-buttons .button.data-v-fa16f1de:nth-child(1) { + border-right: 2rpx solid #f2f2f2; + color: #333; +} +.content .popup-buttons .button.data-v-fa16f1de:nth-child(2) { + color: #1f68e9; +} +.hover-class.data-v-fa16f1de { + background-color: #e5e5e5; +} diff --git a/components/popup-coupon/index.js b/components/popup-coupon/index.js new file mode 100644 index 0000000..51b3e8b --- /dev/null +++ b/components/popup-coupon/index.js @@ -0,0 +1,71 @@ +var n = require("../../common/vendor.js"), + e = require("../../utils/navigate.js"), + o = require("../../enums/index.js"); +Array || + (n.resolveComponent("uni-countdown") + n.resolveComponent("uni-popup"))(), + Math || + ( + function () { + return "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js"; + } + + function () { + return "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js"; + } + )(); +var t = { + __name: "index", + props: { visible: { type: Boolean, default: !1 } }, + emits: ["close"], + setup: function (t, r) { + var u = r.emit, + i = t, + c = n.ref(null); + n.watch( + function () { + return i.visible; + }, + function () { + i.visible ? c.value.open() : c.value.close(); + } + ); + var s = function (n) { + n.show || u("close"); + }, + p = function () { + u("close"); + var e = n.index.getStorageSync("fisrtIn"); + e ? e++ : (e = 1), n.index.setStorageSync("fisrtIn", e); + }, + a = function () { + u("close"), + e.navigateTo({ + url: "/pages/report-query/index", + params: { + title: "综合车况", + productType: o.ProductTypeEnum.OVERALL, + queryType: o.QueryTypeEnum.VIN, + }, + }); + var t = n.index.getStorageSync("fisrtIn"); + t ? t++ : (t = 1), n.index.setStorageSync("fisrtIn", t); + }; + return function (e, o) { + return { + a: n.p({ + minute: 10, + "font-size": 30, + color: "#ffffff", + "splitor-color": "#910F0E", + "background-color": "#F11220", + }), + b: n.o(a), + c: n.o(p), + d: n.sr(c, "68f7b9c0-0", { k: "popup" }), + e: n.o(s), + f: n.p({ type: "center", animation: !0, "is-mask-click": !1 }), + }; + }; + }, + }, + r = n._export_sfc(t, [["__scopeId", "data-v-68f7b9c0"]]); +wx.createComponent(r); diff --git a/components/popup-coupon/index.json b/components/popup-coupon/index.json new file mode 100644 index 0000000..a19e8c6 --- /dev/null +++ b/components/popup-coupon/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "uni-countdown": "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown", + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/popup-coupon/index.wxml b/components/popup-coupon/index.wxml new file mode 100644 index 0000000..3264111 --- /dev/null +++ b/components/popup-coupon/index.wxml @@ -0,0 +1,48 @@ + + + + + + + 综合车况立减30元 + + + + 限时抢购: + + + + 领取使用 + + + + + + + diff --git a/components/popup-coupon/index.wxss b/components/popup-coupon/index.wxss new file mode 100644 index 0000000..87f0065 --- /dev/null +++ b/components/popup-coupon/index.wxss @@ -0,0 +1,98 @@ +.content.data-v-68f7b9c0 { + height: 1000rpx; + justify-content: center; +} +.container.data-v-68f7b9c0, +.content.data-v-68f7b9c0 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; +} +.container.data-v-68f7b9c0 { + height: 670rpx; + padding: 40rpx; + position: relative; + width: 525rpx; +} +.background.data-v-68f7b9c0 { + height: 670rpx; + left: 0; + position: absolute; + top: 0; + width: 525rpx; + z-index: 9; +} +.coupon.data-v-68f7b9c0 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: row; + justify-content: center; + margin-top: 200rpx; + padding: 25rpx 40rpx; + position: relative; + z-index: 20; +} +.coupon-text.data-v-68f7b9c0 { + color: #e95857; + font-size: 44rpx; + font-weight: 700; +} +.coupon-left.data-v-68f7b9c0 { + color: #e95857; + left: 0; + position: absolute; + top: 0; + z-index: 21; +} +.coupon-right.data-v-68f7b9c0 { + bottom: 0; + color: #e95857; + position: absolute; + right: 0; + z-index: 21; +} +.count-down.data-v-68f7b9c0 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: row; + justify-content: center; + margin-top: 60rpx; + position: relative; + z-index: 20; +} +.count-down-text.data-v-68f7b9c0 { + color: #910f0e; + font-size: 30rpx; + font-weight: 700; + margin-right: 10rpx; +} +.button.data-v-68f7b9c0 { + align-items: center; + background-color: #ffe1af; + border-radius: 100rpx; + display: -webkit-flex; + display: flex; + height: 70rpx; + justify-content: center; + line-height: 70rpx; + margin-top: 95rpx; + position: relative; + width: 200rpx; + z-index: 10; +} +.button-text.data-v-68f7b9c0 { + color: #690000; + font-size: 32rpx; + font-weight: 700; +} +.close.data-v-68f7b9c0 { + margin-top: 10rpx; +} +.close-image.data-v-68f7b9c0 { + height: 90rpx; + padding: 20rpx; + width: 90rpx; +} diff --git a/components/popup-login/index.js b/components/popup-login/index.js new file mode 100644 index 0000000..7821d7e --- /dev/null +++ b/components/popup-login/index.js @@ -0,0 +1,94 @@ +var e = require("../../common/vendor.js"), + n = require("../../constant/index.js"), + r = require("../../service/index.js"), + o = require("../../hooks/useState.js"), + t = require("../../config/index.js"), + i = require("../../utils/navigate.js"), + s = require("../../utils/util.js"); +require("../../utils/request.js"), + require("../../enums/index.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + Array || e.resolveComponent("uni-popup")(), + Math; +var u = { + __name: "index", + props: { visible: { type: Boolean, default: !1 } }, + emits: ["close"], + setup: function (u, a) { + var l = a.emit, + c = u, + p = o.useState().setUserData, + v = e.ref(!0), + f = e.ref(null); + e.watch( + function () { + return c.visible; + }, + function () { + c.visible ? f.value.open() : f.value.close(); + } + ); + var d = function (e) { + e.show || l("close"); + }, + m = function () { + l("close"); + }, + g = function (e) { + var n = e.detail; + if (v.value) { + var o = n.errMsg, + t = n.code; + "getPhoneNumber:ok" === o + ? r.getUserMobileForMpWeixin({ code: t }).then(function () { + r.getUserInfo().then(function (e) { + var n = e.token, + r = e.openId, + o = e.userId, + t = e.userInfo; + s.showToast("登录成功"), + p({ token: n, openId: r, userId: o, userInfo: t }), + l("close"); + }); + }) + : "getPhoneNumber:fail user deny" === o && + s.showToast("授权登录之后才能继续操作"); + } else s.showToast("请先阅读并同意协议"); + }, + h = function () { + v.value = !v.value; + }, + j = function () { + i.navigateTo({ + url: "/pages/web-view/index", + params: { url: n.userAgreementUrl, title: "用户协议" }, + }); + }, + q = function () { + i.navigateTo({ + url: "/pages/web-view/index", + params: { url: n.concealAgreementUrl, title: "隐私协议" }, + }); + }; + return function (n, r) { + return { + a: e.o(m), + b: e.t(e.unref(t.appName)), + c: e.o(function () {}), + d: e.o(g), + e: v.value, + f: e.o(h), + g: !v.value, + h: e.o(h), + i: e.o(j), + j: e.o(q), + k: e.sr(f, "1095514c-0", { k: "popup" }), + l: e.o(d), + m: e.p({ type: "center", "is-mask-click": !1, animation: !0 }), + }; + }; + }, + }, + a = e._export_sfc(u, [["__scopeId", "data-v-1095514c"]]); +wx.createComponent(a); diff --git a/components/popup-login/index.json b/components/popup-login/index.json new file mode 100644 index 0000000..40d85b9 --- /dev/null +++ b/components/popup-login/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/popup-login/index.wxml b/components/popup-login/index.wxml new file mode 100644 index 0000000..3f59950 --- /dev/null +++ b/components/popup-login/index.wxml @@ -0,0 +1,59 @@ + + + + 用户登录 + + {{b}} + + + + + + 已阅读并同意 + 《用户协议》 + + 《隐私协议》 + + + + diff --git a/components/popup-login/index.wxss b/components/popup-login/index.wxss new file mode 100644 index 0000000..59e43fa --- /dev/null +++ b/components/popup-login/index.wxss @@ -0,0 +1,72 @@ +.content.data-v-1095514c { + align-items: center; + background-color: #fff; + border-radius: 20rpx; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 520rpx; + padding: 0 30rpx 40rpx; + width: 600rpx; +} +.content .close.data-v-1095514c { + height: 30rpx; + padding: 20rpx; + position: absolute; + right: 20rpx; + top: 20rpx; + width: 30rpx; +} +.content .title.data-v-1095514c { + font-size: 32rpx; + font-weight: 700; + height: 120rpx; + line-height: 120rpx; +} +.content .app-logo.data-v-1095514c { + border-radius: 100%; + height: 128rpx; + width: 128rpx; +} +.content .app-name.data-v-1095514c { + font-size: 32rpx; + font-weight: 700; + margin-top: 20rpx; +} +.content button.data-v-1095514c { + align-items: center; + background-color: #1f68e9; + border: 0; + border-radius: 100rpx; + display: -webkit-flex; + display: flex; + justify-content: center; + margin-top: 40rpx; + padding: 0; + width: 500rpx; +} +.content button image.data-v-1095514c { + height: 44rpx; + margin-right: 40rpx; + width: 44rpx; +} +.content button text.data-v-1095514c { + color: #fff; + font-size: 28rpx; +} +.content .tips.data-v-1095514c { + align-items: center; + color: #9a9a9a; + display: -webkit-flex; + display: flex; + font-size: 24rpx; + margin-top: 30rpx; +} +.content .tips image.data-v-1095514c { + height: 38rpx; + margin-right: 10rpx; + width: 38rpx; +} +.content .tips .agreement.data-v-1095514c { + color: #1f68e9; +} diff --git a/components/popup-modify-vin/index.js b/components/popup-modify-vin/index.js new file mode 100644 index 0000000..51cc893 --- /dev/null +++ b/components/popup-modify-vin/index.js @@ -0,0 +1,90 @@ +var e = require("../../common/vendor.js"); +Array || e.resolveComponent("uni-popup")(); +Math || + ( + e.unref(n) + + function () { + return "../../uni_modules/uni-popup/components/uni-popup/uni-popup.js"; + } + )(); +var n = function () { + return "../keyboard/index.js"; + }, + u = { + __name: "index", + props: { + visible: { type: Boolean, default: !1 }, + copyVin: { type: String, default: "" }, + }, + emits: ["close", "confirm"], + setup: function (n, u) { + var o = u.emit, + t = n, + i = e.ref(null), + l = e.ref(""), + a = e.ref(!1); + e.watch( + function () { + return t.visible; + }, + function () { + t.visible + ? ((l.value = t.copyVin), + setTimeout(function () { + return (a.value = !0); + }, 100), + i.value.open()) + : ((a.value = !1), i.value.close()); + } + ); + var c = function (e) { + e.show || o("close"); + }, + r = function () { + o("close"); + }, + p = function () { + a.value = !1; + }, + v = function (e) { + l.value = e.value; + }, + s = function () { + l.value = ""; + }, + f = function () { + (a.value = !1), o("confirm", l.value); + }; + return function (n, u) { + return e.e( + { a: e.o(r), b: 0 === l.value.length }, + (l.value.length, {}), + { + c: e.t(l.value), + d: e.o(function (e) { + a.value = !0; + }), + e: l.value.length > 0, + }, + l.value.length > 0 ? { f: e.o(s) } : {}, + { + g: e.t(l.value.length), + h: e.o(f), + i: e.o(p), + j: e.o(v), + k: e.p({ + visible: a.value, + "can-switch": !1, + vin: l.value, + "init-copy": !1, + }), + l: e.sr(i, "665bd5fd-0", { k: "popup" }), + m: e.o(c), + n: e.p({ type: "center", "is-mask-click": !1, animation: !0 }), + } + ); + }; + }, + }, + o = e._export_sfc(u, [["__scopeId", "data-v-665bd5fd"]]); +wx.createComponent(o); diff --git a/components/popup-modify-vin/index.json b/components/popup-modify-vin/index.json new file mode 100644 index 0000000..f159b28 --- /dev/null +++ b/components/popup-modify-vin/index.json @@ -0,0 +1,7 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup", + "keyboard": "../keyboard/index" + } +} diff --git a/components/popup-modify-vin/index.wxml b/components/popup-modify-vin/index.wxml new file mode 100644 index 0000000..6ebe100 --- /dev/null +++ b/components/popup-modify-vin/index.wxml @@ -0,0 +1,52 @@ + + + + 修改VIN车架号 + + + 请输入17位VIN车架号 + {{c}} + + + + {{g}}/17 + + + 确认修改 + + + + diff --git a/components/popup-modify-vin/index.wxss b/components/popup-modify-vin/index.wxss new file mode 100644 index 0000000..4a2442b --- /dev/null +++ b/components/popup-modify-vin/index.wxss @@ -0,0 +1,104 @@ +.content.data-v-665bd5fd { + background-color: #fff; + border-radius: 20rpx; + margin-bottom: 15vh; + overflow: hidden; + padding: 50rpx; + width: 625rpx; +} +.content .close.data-v-665bd5fd { + height: 30rpx; + padding: 20rpx; + position: absolute; + right: 20rpx; + top: 20rpx; + width: 30rpx; +} +.content .popup-title.data-v-665bd5fd { + color: #333; + font-size: 32rpx; + font-weight: 700; + text-align: center; +} +.content .input-content.data-v-665bd5fd { + background-color: #f7f7f7; + border-radius: 10rpx; + height: 90rpx; + margin-top: 50rpx; + padding: 0 20rpx; +} +.content .input-content .input.data-v-665bd5fd, +.content .input-content.data-v-665bd5fd { + align-items: center; + display: -webkit-flex; + display: flex; + position: relative; +} +.content .input-content .input.data-v-665bd5fd { + flex-grow: 1; + font-size: 32rpx; + overflow-y: scroll; +} +.content .input-content .input .placeholder.data-v-665bd5fd { + color: silver; + left: 0; + position: absolute; +} +.content .input-content .input .cursor.data-v-665bd5fd { + animation: cursor-blinks-665bd5fd 1.5s step-start infinite; + background: #1f68e9; + height: 40rpx; + width: 4rpx; +} +.content .input-content .clear.data-v-665bd5fd { + flex-shrink: 0; + height: 32rpx; + padding: 0 10rpx 0 20rpx; + width: 32rpx; +} +.content .input-content .input-length.data-v-665bd5fd { + color: #232323; + flex-shrink: 0; + font-size: 26rpx; +} +.content .button.data-v-665bd5fd { + align-items: center; + background-color: #1f68e9; + border-radius: 100rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + font-weight: 700; + height: 80rpx; + justify-content: center; + margin-top: 50rpx; +} +@-webkit-keyframes cursor-blinks-665bd5fd { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-665bd5fd { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/components/popup-order/index.js b/components/popup-order/index.js new file mode 100644 index 0000000..19c8e20 --- /dev/null +++ b/components/popup-order/index.js @@ -0,0 +1,45 @@ +var e = require("../../common/vendor.js"), + t = require("../../utils/navigate.js"); +Array || e.resolveComponent("uni-popup")(), Math; +var n = { + __name: "index", + props: { + visible: { type: Boolean, default: !1 }, + title: { type: String, default: "" }, + }, + emits: ["close"], + setup: function (n, o) { + var i = o.emit, + r = n, + s = e.ref(null); + e.watch( + function () { + return r.visible; + }, + function () { + r.visible ? s.value.open() : s.value.close(); + } + ); + var a = function (e) { + e.show || i("close"); + }, + u = function () { + i("close"); + }, + c = function () { + i("close"), t.switchTab({ url: "/pages/order-list/index" }); + }; + return function (t, o) { + return { + a: e.t(n.title), + b: e.o(c), + c: e.o(u), + d: e.sr(s, "149b6e75-0", { k: "popup" }), + e: e.o(a), + f: e.p({ type: "center", animation: !0, "is-mask-click": !1 }), + }; + }; + }, + }, + o = e._export_sfc(n, [["__scopeId", "data-v-149b6e75"]]); +wx.createComponent(o); diff --git a/components/popup-order/index.json b/components/popup-order/index.json new file mode 100644 index 0000000..40d85b9 --- /dev/null +++ b/components/popup-order/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/popup-order/index.wxml b/components/popup-order/index.wxml new file mode 100644 index 0000000..1de6fb7 --- /dev/null +++ b/components/popup-order/index.wxml @@ -0,0 +1,37 @@ + + + + + {{a}} + 查看历史车况,杜绝事故车 + + 立即查看 + + + + + + + + + diff --git a/components/popup-order/index.wxss b/components/popup-order/index.wxss new file mode 100644 index 0000000..0f27b64 --- /dev/null +++ b/components/popup-order/index.wxss @@ -0,0 +1,72 @@ +.content.data-v-149b6e75 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 1000rpx; + justify-content: center; +} +.wrap.data-v-149b6e75 { + position: relative; +} +.notice.data-v-149b6e75 { + height: 550rpx; + position: absolute; + top: -125rpx; + width: 490rpx; +} +.container.data-v-149b6e75 { + align-items: center; + background-color: #fff; + border-radius: 20rpx; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 450rpx; + margin-top: 100rpx; + padding: 40rpx; + position: relative; + width: 490rpx; +} +.title.data-v-149b6e75 { + color: #1f68e9; + font-size: 34rpx; + font-weight: 700; + margin-top: 125rpx; + position: relative; + z-index: 10; +} +.title2.data-v-149b6e75 { + color: #666; + font-size: 28rpx; + margin-top: 25rpx; + position: relative; + z-index: 10; +} +.button.data-v-149b6e75 { + align-items: center; + background-color: #1f68e9; + border-radius: 100rpx; + display: -webkit-flex; + display: flex; + height: 75rpx; + justify-content: center; + line-height: 75rpx; + margin-bottom: 10rpx; + margin-top: 50rpx; + position: relative; + width: 350rpx; + z-index: 10; +} +.button-text.data-v-149b6e75 { + color: #fff; + font-size: 30rpx; +} +.close.data-v-149b6e75 { + margin-top: 10rpx; +} +.close-image.data-v-149b6e75 { + height: 90rpx; + padding: 20rpx; + width: 90rpx; +} diff --git a/components/popup-pay-again/index.js b/components/popup-pay-again/index.js new file mode 100644 index 0000000..6520972 --- /dev/null +++ b/components/popup-pay-again/index.js @@ -0,0 +1,77 @@ +var e = require("../../common/vendor.js"), + u = require("../../enums/index.js"), + r = require("../../utils/common.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/util.js"), + require("../../utils/navigate.js"), + Array || e.resolveComponent("uni-popup")(), + Math; +var n = { + __name: "index", + props: { visible: { type: Boolean, default: !1 } }, + emits: ["close", "confirm"], + setup: function (n, i) { + var t = i.emit, + o = n, + a = e.ref(null), + s = e.ref(null); + e.watch( + function () { + return o.visible; + }, + function () { + o.visible + ? (r.isSupportWeChatPay() + ? (s.value = u.PayMethodEnum.WECHAT_PAY) + : r.isSupportAliPay && (s.value = u.PayMethodEnum.ALI_PAY), + a.value.open()) + : a.value.close(); + } + ); + var l = function (e) { + e.show || t("close"); + }, + c = function () { + t("close"); + }, + p = function () { + t("confirm", s.value); + }, + f = function (e) { + s.value = e.detail.value; + }; + return function (n, i) { + return e.e( + { a: e.o(c), b: e.unref(r.isSupportWeChatPay)() }, + e.unref(r.isSupportWeChatPay)() + ? { + c: e.unref(u.PayMethodEnum).WECHAT_PAY, + d: s.value === e.unref(u.PayMethodEnum).WECHAT_PAY, + } + : {}, + { e: e.unref(r.isSupportAliPay)() }, + e.unref(r.isSupportAliPay)() + ? { + f: e.unref(u.PayMethodEnum).ALI_PAY, + g: s.value === e.unref(u.PayMethodEnum).ALI_PAY, + } + : {}, + { + h: e.o(f), + i: e.o(p), + j: e.sr(a, "c238c94e-0", { k: "popup" }), + k: e.o(l), + l: e.p({ type: "center", "is-mask-click": !1, animation: !0 }), + } + ); + }; + }, + }, + i = e._export_sfc(n, [["__scopeId", "data-v-c238c94e"]]); +wx.createComponent(i); diff --git a/components/popup-pay-again/index.json b/components/popup-pay-again/index.json new file mode 100644 index 0000000..40d85b9 --- /dev/null +++ b/components/popup-pay-again/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/popup-pay-again/index.wxml b/components/popup-pay-again/index.wxml new file mode 100644 index 0000000..76e162d --- /dev/null +++ b/components/popup-pay-again/index.wxml @@ -0,0 +1,55 @@ + + + + 支付订单 + + + + + + 确认支付 + + + diff --git a/components/popup-pay-again/index.wxss b/components/popup-pay-again/index.wxss new file mode 100644 index 0000000..d29ecee --- /dev/null +++ b/components/popup-pay-again/index.wxss @@ -0,0 +1,69 @@ +.content.data-v-c238c94e { + align-items: center; + background-color: #fff; + border-radius: 20rpx; + display: -webkit-flex; + display: flex; + flex-direction: column; + padding: 0 40rpx; + width: 600rpx; +} +.content .close.data-v-c238c94e { + height: 30rpx; + padding: 20rpx; + position: absolute; + right: 20rpx; + top: 20rpx; + width: 30rpx; +} +.content .title.data-v-c238c94e { + font-size: 32rpx; + font-weight: 700; + height: 120rpx; + line-height: 120rpx; +} +.content .pay-group.data-v-c238c94e { + flex-direction: column; + font-size: 32rpx; +} +.content .pay-group label.data-v-c238c94e, +.content .pay-group.data-v-c238c94e { + align-items: center; + display: -webkit-flex; + display: flex; + width: 100%; +} +.content .pay-group label.data-v-c238c94e { + border-bottom: 2rpx solid #f2f2f2; + justify-content: space-between; + padding: 25rpx 0; +} +.content .pay-group label image.data-v-c238c94e { + flex-shrink: 0; + height: 56rpx; + width: 56rpx; +} +.content .pay-group label text.data-v-c238c94e { + flex-grow: 1; + font-size: 30rpx; + margin-left: 30rpx; +} +.content .button.data-v-c238c94e { + align-items: center; + background-color: #1f68e9; + border-radius: 100rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + font-weight: 700; + height: 80rpx; + justify-content: center; + margin: 50rpx 0; + text-align: center; + width: 100%; +} +radio.data-v-c238c94e { + flex-shrink: 0; + transform: scale(0.8); +} diff --git a/components/popup-upload-tips/index.js b/components/popup-upload-tips/index.js new file mode 100644 index 0000000..5033d74 --- /dev/null +++ b/components/popup-upload-tips/index.js @@ -0,0 +1,40 @@ +var e = require("../../common/vendor.js"); +Array || e.resolveComponent("uni-popup")(), Math; +var n = { + __name: "index", + props: { visible: { type: Boolean, default: !1 } }, + emits: ["cancel", "confirm"], + setup: function (n, o) { + var t = o.emit, + a = n, + c = e.ref(null); + e.watch( + function () { + return a.visible; + }, + function () { + a.visible ? c.value.open() : c.value.close(); + } + ); + var i = function (e) { + e.show || t("cancel"); + }, + r = function () { + t("cancel"); + }, + u = function () { + t("confirm"); + }; + return function (n, o) { + return { + a: e.o(r), + b: e.o(u), + c: e.sr(c, "58a85bba-0", { k: "popup" }), + d: e.o(i), + e: e.p({ type: "center", "is-mask-click": !1, animation: !0 }), + }; + }; + }, + }, + o = e._export_sfc(n, [["__scopeId", "data-v-58a85bba"]]); +wx.createComponent(o); diff --git a/components/popup-upload-tips/index.json b/components/popup-upload-tips/index.json new file mode 100644 index 0000000..40d85b9 --- /dev/null +++ b/components/popup-upload-tips/index.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-popup": "../../uni_modules/uni-popup/components/uni-popup/uni-popup" + } +} diff --git a/components/popup-upload-tips/index.wxml b/components/popup-upload-tips/index.wxml new file mode 100644 index 0000000..d189cd1 --- /dev/null +++ b/components/popup-upload-tips/index.wxml @@ -0,0 +1,35 @@ + + + 提示 + 非常建议您上传行驶证提高报告的精准度。同时您作为查询服务的发起方,应确保被查询车辆与您相关或已获取车主授权,且不侵犯任何第三方利益。 + + + 我再想想 + + + 确认查询 + + + + diff --git a/components/popup-upload-tips/index.wxss b/components/popup-upload-tips/index.wxss new file mode 100644 index 0000000..b94d453 --- /dev/null +++ b/components/popup-upload-tips/index.wxss @@ -0,0 +1,45 @@ +.content.data-v-58a85bba { + background-color: #fff; + border-radius: 20rpx; + margin-bottom: 15vh; + overflow: hidden; + width: 625rpx; +} +.content .title.data-v-58a85bba { + color: #333; + font-size: 32rpx; + font-weight: 700; + margin: 50rpx 0 40rpx; + text-align: center; +} +.content .txt.data-v-58a85bba { + color: #8a8a8a; + font-size: 30rpx; + line-height: 46rpx; + margin-bottom: 30rpx; + padding: 0 55rpx; +} +.content .popup-buttons.data-v-58a85bba { + align-items: center; + border-top: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + margin-top: 40rpx; +} +.content .popup-buttons .button.data-v-58a85bba { + flex-grow: 1; + font-size: 32rpx; + font-weight: 700; + padding: 30rpx; + text-align: center; +} +.content .popup-buttons .button.data-v-58a85bba:nth-child(1) { + border-right: 2rpx solid #f2f2f2; + color: #333; +} +.content .popup-buttons .button.data-v-58a85bba:nth-child(2) { + color: #1f68e9; +} +.hover-class.data-v-58a85bba { + background-color: #e5e5e5; +} diff --git a/components/prompt/index.js b/components/prompt/index.js new file mode 100644 index 0000000..cf89eb9 --- /dev/null +++ b/components/prompt/index.js @@ -0,0 +1,10 @@ +var e = require("../../common/vendor.js")._export_sfc({}, [ + [ + "render", + function (e, r) { + return {}; + }, + ], + ["__scopeId", "data-v-42b6c56e"], +]); +wx.createComponent(e); diff --git a/components/prompt/index.json b/components/prompt/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/prompt/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/prompt/index.wxml b/components/prompt/index.wxml new file mode 100644 index 0000000..80a1ad5 --- /dev/null +++ b/components/prompt/index.wxml @@ -0,0 +1,3 @@ + + 查到的报告可能与本样例有所不同,请以实际报告为准。 + diff --git a/components/prompt/index.wxss b/components/prompt/index.wxss new file mode 100644 index 0000000..8feb95f --- /dev/null +++ b/components/prompt/index.wxss @@ -0,0 +1,6 @@ +.content.data-v-42b6c56e { + background-color: #fffbe8; + color: #ed6a0c; + font-size: 26rpx; + padding: 20rpx; +} diff --git a/components/time-line/index.js b/components/time-line/index.js new file mode 100644 index 0000000..0d53674 --- /dev/null +++ b/components/time-line/index.js @@ -0,0 +1,64 @@ +var e = require("../../common/vendor.js"), + t = require("../../enums/index.js"), + n = { + __name: "index", + props: { + data: { type: Array, default: [] }, + type: { type: String, default: "" }, + }, + setup: function (n) { + return function (a, r) { + return { + a: e.f(n.data, function (a, r, i) { + return e.e( + { a: r !== n.data.length - 1 && n.data.length > 1 }, + (r !== n.data.length - 1 && n.data.length, {}), + n.type === e.unref(t.TimeLineEnum).MILEAGE + ? e.e( + { + b: e.t(a.date), + c: e.t(a.mile), + d: a.important ? 1 : "", + e: a.important, + }, + (a.important, {}), + { f: r === n.data.length - 1 ? 1 : "" } + ) + : {}, + n.type === e.unref(t.TimeLineEnum).RECORD + ? e.e( + { g: e.t(a.date), h: a.amount }, + a.amount ? { i: e.t(a.amount) } : {}, + { j: a.mile }, + a.mile ? { k: e.t(a.mile) } : {}, + { l: a.detail || a.other }, + a.detail || a.other + ? { m: e.t(a.detail || "-"), n: e.t(a.other || "-") } + : {}, + { o: a.type || a.remark }, + a.type || a.remark + ? { p: e.t(a.type || "-"), q: e.t(a.remark || "-") } + : {} + ) + : {}, + n.type === e.unref(t.TimeLineEnum).VIOLATION + ? { + r: e.t(a.date), + s: e.t(a.location), + t: e.t(a.reason), + v: e.t(a.score), + w: e.t(a.pay), + } + : {}, + { x: r } + ); + }), + b: n.type === e.unref(t.TimeLineEnum).MILEAGE, + c: n.type === e.unref(t.TimeLineEnum).RECORD, + d: n.type === e.unref(t.TimeLineEnum).VIOLATION, + }; + }; + }, + }, + a = e._export_sfc(n, [["__scopeId", "data-v-03179962"]]); +wx.createComponent(a); diff --git a/components/time-line/index.json b/components/time-line/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/time-line/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/time-line/index.wxml b/components/time-line/index.wxml new file mode 100644 index 0000000..a3c117e --- /dev/null +++ b/components/time-line/index.wxml @@ -0,0 +1,88 @@ + + + + + + + {{item.b}} + {{item.c}}公里 + + + + + + {{item.g}} + {{item.i}}元 + {{item.k}}公里 + + + + 明细: + {{item.m}} + + 材料: + {{item.n}} + + + + 类型: + {{item.p}} + + 备注: + {{item.q}} + + + + + {{item.r}} + + + + 地点: + {{item.s}} + + 原因: + {{item.t}} + + 扣分: + {{item.v}} + + 付款: + {{item.w}} + + + + + diff --git a/components/time-line/index.wxss b/components/time-line/index.wxss new file mode 100644 index 0000000..d5ae564 --- /dev/null +++ b/components/time-line/index.wxss @@ -0,0 +1,89 @@ +.content.data-v-03179962 { + padding-top: 40rpx; +} +.content .item.data-v-03179962 { + align-items: flex-start; + display: -webkit-flex; + display: flex; + overflow: visible; + position: relative; +} +.content .item .dot.data-v-03179962 { + background-color: #1f68e9; + border-radius: 100%; + height: 20rpx; + left: 0; + position: absolute; + top: 10rpx; + width: 20rpx; + z-index: 10; +} +.content .item .tail.data-v-03179962 { + background-color: #e4e7ed; + height: 100%; + left: 8rpx; + position: absolute; + top: 20rpx; + width: 4rpx; + z-index: 9; +} +.content .item .body.data-v-03179962 { + font-size: 30rpx; + margin-left: 10rpx; + width: 100%; +} +.content .item .body .mileage-content.data-v-03179962 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + padding-bottom: 30rpx; + padding-left: 30rpx; + position: relative; +} +.content .item .body .mileage-content.last.data-v-03179962 { + padding-bottom: 0; +} +.content .item .body .mileage-content .date.data-v-03179962 { + color: #9a9a9a; +} +.content .item .body .mileage-content .unit.data-v-03179962 { + color: #000; +} +.content .item .body .mileage-content .unit.important.data-v-03179962 { + color: #ff7038; +} +.content .item .body .mileage-content .wraning.data-v-03179962 { + height: 28rpx; + left: 210rpx; + position: absolute; + top: 5rpx; + width: 28rpx; +} +.content .item .body .record-content.data-v-03179962 { + font-size: 30rpx; + padding-bottom: 30rpx; + padding-left: 30rpx; +} +.content .item .body .record-content .title.data-v-03179962 { + align-items: center; + color: #515151; + display: -webkit-flex; + display: flex; + font-weight: 700; + justify-content: space-between; +} +.content .item .body .record-content .record-info.data-v-03179962 { + background-color: #eaf1f8; + border-radius: 6rpx; + color: #515151; + display: -webkit-flex; + display: flex; + flex-direction: column; + line-height: 42rpx; + margin-top: 20rpx; + padding: 20rpx; +} +.content .item .body .record-content .record-info .title.data-v-03179962 { + font-weight: 700; +} diff --git a/components/tips/index.js b/components/tips/index.js new file mode 100644 index 0000000..613b976 --- /dev/null +++ b/components/tips/index.js @@ -0,0 +1,10 @@ +var e = require("../../common/vendor.js")._export_sfc({}, [ + [ + "render", + function (e, r) { + return {}; + }, + ], + ["__scopeId", "data-v-1cadef20"], +]); +wx.createComponent(e); diff --git a/components/tips/index.json b/components/tips/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/tips/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/tips/index.wxml b/components/tips/index.wxml new file mode 100644 index 0000000..90814fa --- /dev/null +++ b/components/tips/index.wxml @@ -0,0 +1,6 @@ + + + 用户通知:查询需车主本人/经过车主授权同意才可使用,若未经车主同意使用,需自行承担因此导致的法律责任。 + diff --git a/components/tips/index.wxss b/components/tips/index.wxss new file mode 100644 index 0000000..721829a --- /dev/null +++ b/components/tips/index.wxss @@ -0,0 +1,27 @@ +.content.data-v-1cadef20 { + height: 120rpx; + position: relative; +} +.content .blank.data-v-1cadef20 { + background-color: #fff9ea; + z-index: 1; +} +.content .blank.data-v-1cadef20, +.content .info.data-v-1cadef20 { + height: 120rpx; + left: -30rpx; + position: absolute; + top: -30rpx; + width: 750rpx; +} +.content .info.data-v-1cadef20 { + align-items: center; + background-color: #fffbe8; + color: #ed6a0c; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + justify-content: center; + padding: 0 18rpx; + z-index: 2; +} diff --git a/components/vehicle-number/index.js b/components/vehicle-number/index.js new file mode 100644 index 0000000..b1a9c51 --- /dev/null +++ b/components/vehicle-number/index.js @@ -0,0 +1,28 @@ +var t = require("../../common/vendor.js"), + e = { + __name: "index", + props: { + data: { type: String, default: "" }, + fontSize: { type: String, default: "28rpx" }, + }, + setup: function (e) { + return function (a, r) { + return t.e( + { a: e.data.trim().length < 7 }, + e.data.trim().length < 7 + ? { b: t.t(e.data.trim()) } + : { + c: t.t(e.data.trim().substring(0, 2)), + d: t.t(e.data.trim().substring(2)), + }, + { + e: e.data.trim().length > 7 ? 1 : "", + f: e.data.trim().length < 7 ? 1 : "", + g: e.fontSize, + } + ); + }; + }, + }, + a = t._export_sfc(e, [["__scopeId", "data-v-78f4d0b2"]]); +wx.createComponent(a); diff --git a/components/vehicle-number/index.json b/components/vehicle-number/index.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/components/vehicle-number/index.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/components/vehicle-number/index.wxml b/components/vehicle-number/index.wxml new file mode 100644 index 0000000..d5a1779 --- /dev/null +++ b/components/vehicle-number/index.wxml @@ -0,0 +1,7 @@ + + {{b}} + {{c}}·{{d}} + diff --git a/components/vehicle-number/index.wxss b/components/vehicle-number/index.wxss new file mode 100644 index 0000000..1e1e6d0 --- /dev/null +++ b/components/vehicle-number/index.wxss @@ -0,0 +1,15 @@ +.number.data-v-78f4d0b2 { + background: #2862c7; + border-radius: 8rpx; + color: #fff; + padding: 5rpx 10rpx; + text-align: center; +} +.number.new.data-v-78f4d0b2 { + background: linear-gradient(180deg, #ebebe7, #03b022); + color: #000; +} +.number.abnormal.data-v-78f4d0b2 { + background: #dbdbdb; + color: #000; +} diff --git a/config/index.js b/config/index.js new file mode 100644 index 0000000..f7fc096 --- /dev/null +++ b/config/index.js @@ -0,0 +1,7 @@ +require("../common/vendor.js"), require("../constant/index.js"); +(exports.appName = "优选查车"), + (exports.appVersion = "1.0.0"), + (exports.baseUrl = "https://api.rjxx.com.cn"), + (exports.defaultChannelName = "nature-mp-youxuan"), + (exports.mpWeixinBannerUnitAd = "adunit-c70d5c16146bdcad"), + (exports.mpWeixinVideoUnitAd = "adunit-305137feb58ae156"); diff --git a/constant/index.js b/constant/index.js new file mode 100644 index 0000000..2527bc7 --- /dev/null +++ b/constant/index.js @@ -0,0 +1,45 @@ +var e = { user: "", conceal: "", notice: "" }; +(e.user = + "https://xrh-1254083922.cos.ap-nanjing.myqcloud.com/static/%E4%BC%98%E9%80%89%E6%9F%A5%E8%BD%A6-%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E7%94%A8%E6%88%B7%E5%8D%8F%E8%AE%AE.html"), + (e.conceal = + "https://xrh-1254083922.cos.ap-nanjing.myqcloud.com/static/%E4%BC%98%E9%80%89%E6%9F%A5%E8%BD%A6-%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E9%9A%90%E7%A7%81%E5%8D%8F%E8%AE%AE.html"), + (e.notice = + "https://xrh-1254083922.cos.ap-nanjing.myqcloud.com/static/%E4%BC%98%E9%80%89%E6%9F%A5%E8%BD%A6-%E5%B0%8F%E7%A8%8B%E5%BA%8F/%E7%94%A8%E6%88%B7%E9%A1%BB%E7%9F%A5.html"); +var t = e.user, + a = e.conceal, + l = e.notice; +(exports.concealAgreementUrl = a), + (exports.decryptIV = "1234567890123456"), + (exports.decryptKey = "zhi11shi22seng33lin2023startwin1"), + (exports.disclaimer = + "本报告提供的所有内容仅基于截止到报告购买日期收集到的相关数据,所有数据均来自第三方。由于部分数据无法被采集, 所以我们不做准确性,真实性,完整性承诺(即本报告上的内容该车真实发生过,但不表示该车只发生过报告上的内容)由于我们的数据来源并非记录事故的第一手资料, 所以无法作为法律取证资料。不同数据格式及记录详细程度会存在差异, 此为行业正常现像。本报告仅作交易参考资料之一,请结合实车勘验结果和试乘体验,做出更准确的决策。"), + (exports.encryptKey = "jack928"), + (exports.userAgreementUrl = t), + (exports.userNoticeUrl = l), + (exports.vehicleNoExp = + /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](([0-9]{5}[A-Z])|([A-Z]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/), + (exports.vehicleTypeList = [ + { value: "10", text: "领馆摩托车" }, + { value: "11", text: "境外摩托车" }, + { value: "12", text: "外籍摩托车" }, + { value: "13", text: "低速车" }, + { value: "14", text: "拖拉机" }, + { value: "15", text: "挂车" }, + { value: "16", text: "教练汽车" }, + { value: "17", text: "教练摩托车" }, + { value: "20", text: "临时入境车" }, + { value: "21", text: "临时入境摩托车" }, + { value: "22", text: "临时行驶车" }, + { value: "23", text: "警用汽车" }, + { value: "51", text: "新能源大型车" }, + { value: "52", text: "新能源小型车" }, + { value: "01", text: "大型汽车" }, + { value: "02", text: "小型汽车" }, + { value: "03", text: "使馆汽车" }, + { value: "04", text: "领馆汽车" }, + { value: "05", text: "境外汽车" }, + { value: "06", text: "外籍汽车" }, + { value: "07", text: "普通摩托车" }, + { value: "08", text: "轻便摩托车" }, + { value: "09", text: "使馆摩托车" }, + ]); diff --git a/data/index.js b/data/index.js new file mode 100644 index 0000000..673dfc2 --- /dev/null +++ b/data/index.js @@ -0,0 +1,554 @@ +var e = require("../enums/index.js"), + a = [ + { + name: "综合车况", + desc: "", + icon: "/static/images/icon_home_operation_5.png", + url: "/pages/report-query/index", + params: { + title: "综合车况", + productType: e.ProductTypeEnum.OVERALL, + queryType: e.QueryTypeEnum.VIN, + }, + }, + { + name: "查维保信息", + desc: "", + icon: "/static/images/icon_home_operation_6.png", + url: "/pages/report-query/index", + params: { + title: "查维保信息", + productType: e.ProductTypeEnum.INSURANCE_MAINTAIN, + queryType: e.QueryTypeEnum.VIN, + }, + }, + { + name: "查出险信息", + desc: "", + icon: "/static/images/icon_home_operation_7.png", + url: "/pages/report-query/index", + params: { + title: "查出险信息", + productType: e.ProductTypeEnum.ACCIDENT, + queryType: e.QueryTypeEnum.VIN, + }, + }, + { + name: "查车辆状态", + desc: "", + icon: "/static/images/icon_home_operation_1.png", + url: "/pages/vehicle-status-query/index", + params: { + title: "查车辆状态", + productType: e.ProductTypeEnum.VEHICLE_STATUS, + queryType: e.QueryTypeEnum.VIN, + }, + }, + { + name: "查车五项", + desc: "", + icon: "/static/images/icon_home_operation_4.png", + url: "/pages/vehicle-five-query/index", + params: { + title: "查车五项", + productType: e.ProductTypeEnum.VEHICLE_FIVE, + }, + }, + { + name: "强险投保日期", + desc: "", + icon: "/static/images/icon_home_operation_1.png", + url: "/pages/sali-check-query/index", + params: { + title: "查交强险投保日期", + productType: e.ProductTypeEnum.SALI_CHECK, + }, + }, + { + name: "商业险查询", + desc: "", + icon: "/static/images/icon_home_operation_2.png", + url: "/pages/commercial-insurance-query/index", + params: { + title: "查商业险信息", + productType: e.ProductTypeEnum.COMMERICAL_INSURANCE, + }, + }, + { + name: "交强险查询", + desc: "", + icon: "/static/images/icon_home_operation_3.png", + url: "/pages/sali-query/index", + params: { title: "查交强险信息", productType: e.ProductTypeEnum.SALI }, + }, + { + name: "车型识别", + desc: "", + icon: "/static/images/icon_home_operation_8.png", + url: "/pages/vehicle-info-query/index", + params: { + title: "车型识别", + productType: e.ProductTypeEnum.VEHICLE_INFO, + }, + }, + ], + l = [ + { + name: "综合车况", + desc: "维修保养+出险事故", + icon: "/static/images/pic_home_query_1.png", + url: "/pages/report-query/index", + params: { + title: "综合车况", + productType: e.ProductTypeEnum.OVERALL, + queryType: e.QueryTypeEnum.VIN, + }, + }, + { + name: "扫描查车型", + desc: "定型号识别高低配", + icon: "/static/images/pic_home_query_2.png", + url: "/pages/vehicle-info-query/index", + params: { title: "车型识别" }, + }, + { + name: "出险记录查询", + desc: "识别车辆碰撞历史", + icon: "/static/images/pic_home_query_3.png", + url: "/pages/report-query/index", + params: { + title: "出险查询", + productType: e.ProductTypeEnum.ACCIDENT, + queryType: e.QueryTypeEnum.VIN, + }, + }, + { + name: "维保记录查询", + desc: "4S店维修保养记录", + icon: "/static/images/pic_home_query_4.png", + url: "/pages/report-query/index", + params: { + title: "维保查询", + productType: e.ProductTypeEnum.INSURANCE_MAINTAIN, + queryType: e.QueryTypeEnum.VIN, + }, + }, + ]; +(exports.mockBlankReportList = [ + { + date: "初登日期:未知", + mile: "0", + type: "出厂PDI", + desc: "4S店无记录,注意是否试驾车的情况", + }, +]), + (exports.mockCkdlpcList = [ + { + name: "骨架", + value: 0, + key: "type1", + icon: "/static/svgs/pic_ckpc_normal_1.svg", + }, + { + name: "外观", + value: 1, + key: "type2", + icon: "/static/svgs/pic_ckpc_normal_2.svg", + }, + { + name: "发动机", + value: 0, + key: "type3", + icon: "/static/svgs/pic_ckpc_normal_3.svg", + }, + { + name: "变速箱", + value: 0, + key: "type3", + icon: "/static/svgs/pic_ckpc_normal_4.svg", + }, + { + name: "火烧", + value: 0, + key: "type4", + icon: "/static/svgs/pic_ckpc_normal_5.svg", + }, + { + name: "水淹", + value: 0, + key: "type5", + icon: "/static/svgs/pic_ckpc_normal_6.svg", + }, + { + name: "气囊", + value: 0, + key: "type6", + icon: "/static/svgs/pic_ckpc_normal_7.svg", + }, + { + name: "加强件", + value: 1, + key: "type7", + icon: "/static/svgs/pic_ckpc_normal_8.svg", + }, + ]), + (exports.mockCkpclbList = [ + { name: "外观", value: [], key: "wg" }, + { name: "底盘悬挂", value: [], key: "dp" }, + { + name: "发动机", + value: [ + { name: "发送机", type: "更换配件" }, + { name: "变速器", type: "更换配件" }, + ], + key: "fdj", + }, + { name: "加强件", value: [], key: "jqj" }, + { name: "气囊", value: [], key: "qn" }, + { name: "附属配件", value: [], key: "fspj" }, + { name: "骨架", value: [], key: "gj" }, + { name: "火烧", value: [], key: "hs" }, + { name: "水淹", value: [], key: "sy" }, + ]), + (exports.mockCkxxList = [ + { + name: "非火烧车", + value: 0, + key: "isFire", + icon: "/static/svgs/icon_ckxx_normal_1.svg", + }, + { + name: "非泡水车", + value: 0, + key: "isFlood", + icon: "/static/svgs/icon_ckxx_normal_2.svg", + }, + { + name: "非盗抢车", + value: 0, + key: "isTheft", + icon: "/static/svgs/icon_ckxx_normal_3.svg", + }, + { + name: "覆盖件未损伤", + value: 0, + key: "isPanel", + icon: "/static/svgs/icon_ckxx_normal_4.svg", + }, + { + name: "无大额赔偿", + value: 2, + key: "isLargeCost", + icon: "/static/svgs/icon_ckxx_unknown_5.svg", + }, + { + name: "无结案记录", + value: 0, + key: "recordIcpending", + icon: "/static/svgs/icon_ckxx_normal_6.svg", + }, + { + name: "无注销记录", + value: 0, + key: "recordIwriteoff", + icon: "/static/svgs/icon_ckxx_normal_7.svg", + }, + { + name: "无拒赔记录", + value: 0, + key: "refusalRecord", + icon: "/static/svgs/icon_ckxx_normal_8.svg", + }, + { + name: "交强险有效", + value: 2, + key: "effectiveCpi", + icon: "/static/svgs/icon_ckxx_unknown_9.svg", + }, + { + name: "商业险有效", + value: 2, + key: "effectiveCmi", + icon: "/static/svgs/icon_ckxx_unknown_10.svg", + }, + { + name: "交强险连续投保", + value: 2, + key: "seriesCoverCpi", + icon: "/static/svgs/icon_ckxx_unknown_11.svg", + }, + { + name: "无营业记录", + value: 0, + key: "isBusiness", + icon: "/static/svgs/icon_ckxx_normal_12.svg", + }, + ]), + (exports.mockClfwzj = { + 正前方: 1, + 正后方: 1, + 顶部: 0, + 底部: 0, + 前方左侧: 1, + 后方左侧: 0, + 中间左侧: 0, + 前方右侧: 1, + 后方右侧: 0, + 中间右侧: 0, + 内部: 0, + 其他: 0, + }), + (exports.mockCommercialInsuranceList = [ + { label: "保险公司", value: "中国人保" }, + { label: "保单号", value: "PDAA202214251100096236" }, + { label: "起保日期", value: "2023-11-22 16:30:00" }, + { label: "终保日期", value: "2024-11-23 00:00:00" }, + { label: "保险种类", value: "机动车第三者责任保险" }, + { label: "VIN车架号", value: "WDDBF*******40972" }, + { label: "发动机号", value: "G4F781A" }, + { label: "投保地区", value: "浙江" }, + ]), + (exports.mockInsuranceList = [ + { + date: "2021-02-27", + mile: 29030, + other: "机油放油口垫:1.00;机油滤清器:1.00;发动机机油4L(紫) 0W-20:1.00;", + detail: "整车检查;定期维护;检查底盘、轮胎、车灯和机油;", + }, + { + date: "2020-09-21", + mile: 20244, + other: + "发动机机油4L(紫) 0W-20:1.00;氢氧除碳-进气系统清洗剂:1.00;机油润滑系统保护剂:1.00;汽油发动机清洁剂 新国标:1.00;【GHAC】高效空调滤芯:1.00;机油润滑系统清洗剂:1.00;空气滤清器:1.00;机油放油口垫:1.00;机油滤清器:1.00;氢氧除碳-燃油系统清洗剂:1.00;", + detail: + "整车检查;定期维护;节气门喷嘴清洁;检查底盘、轮胎、车灯和机油;四轮动平衡;", + }, + { + date: "2020-06-06", + mile: 15874, + other: "汽油泵维修包 CV1:1.00;", + detail: "燃油泵制造商召回;制造商活动、洗车;", + }, + { + date: "2020-03-15", + mile: 12809, + other: + "机油放油口垫:1.00;汽油发动机清洁剂:1.00;机油滤清器:1.00;线路保护剂:1.00;发动机机油4L(紫) 0W-20:1.00;空调滤网:1.00;空调清洗剂:1.00;", + detail: + "检查底盘、轮胎、车灯和机油;拆卸和组装左前门和右后门;整车检查;定期维护,出事故自费,洗车;左前门、右后门、右后翼子板喷漆;空调风机的拆装;", + }, + { + date: "2019-09-08", + mile: 8463, + other: + "汽油发动机清洁剂:1.00;机油放油口垫:1.00;发动机机油4L(紫) 0W-20:1.00;机油滤清器:1.00;调配管套件2:1.00;", + detail: + "整车检查;安装调整管套件;检查机箱;检查胎压灯;检查底盘、轮胎、车灯和机油;厂家活动,定期维护,机修,洗车;", + }, + { + date: "2019-02-23", + mile: 3056, + other: + "机油滤清器:1.00;机油放油口垫:1.00;发动机机油4L(绿)0W-20:1.00;汽油发动机清洁剂 通用型:1.00;", + detail: + "检查前后悬架系统、转向系统、空气滤清器和空调滤芯;第一次维护;根据本田保修进行定期维护(首次定期维护);检查空调系统、制动系统等;免费添加冷却液、制动液等;更换发动机机油、发动机机油滤清器、排放螺栓和垫片;添加汽油清洁剂;定期保养项目包括:检查整车的灯具、电器、轮胎、蓄电池、油和水;", + }, + ]), + (exports.mockJbxxList = [ + { label: "车身颜色", value: "黑色" }, + { label: "发动机号", value: "G3064*" }, + { label: "车辆排量", value: "2996" }, + { label: "排放标准", value: "GB18352.3-2005国Ⅳ" }, + { label: "车身结构", value: "4门5座三厢车" }, + { label: "车辆种类", value: "六座以下客车" }, + { label: "核定载客人数", value: "5" }, + { label: "初次登记日期", value: "7年及以上" }, + ]), + (exports.mockMailList = [ + { date: "2021-02-27", mile: 29030 }, + { date: "2020-09-21", mile: 20244 }, + { date: "2020-06-06", mile: 15874 }, + { date: "2020-03-15", mile: 12809 }, + { date: "2019-09-08", mile: 8463 }, + { date: "2019-02-23", mile: 3056 }, + ]), + (exports.mockPzlsmxList = [ + { + date: "2019-07", + result: [ + { + dangerSingleType: "1", + dangerSingleName: "雾灯护罩(前左)", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "1", + dangerSingleName: "保险杠(前下)", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "1", + dangerSingleName: "轮眉(前左)", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "2", + dangerSingleName: "前杠", + dangerSingleMoney: "0", + dangerSingleNum: "0", + }, + { + dangerSingleType: "2", + dangerSingleName: "左前叶子板", + dangerSingleMoney: "0", + dangerSingleNum: "0", + }, + ], + vin: "LVHRM3865F5017337", + type: "", + serviceMoney: "300000", + claimStatus: "已结案", + }, + { + date: "2019-10", + result: [ + { + dangerSingleType: "1", + dangerSingleName: "前保险杠皮", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "1", + dangerSingleName: "中网", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "1", + dangerSingleName: "前大灯(右)", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "2", + dangerSingleName: "发动机罩", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "2", + dangerSingleName: "前门壳", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + ], + vin: "LVHRM3865F5017337", + type: "", + serviceMoney: "400000", + claimStatus: "已结案", + }, + { + date: "2022-05", + result: [ + { + dangerSingleType: "2", + dangerSingleName: "右后视镜座", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + { + dangerSingleType: "2", + dangerSingleName: "后保险杠外皮", + dangerSingleMoney: "0", + dangerSingleNum: "1", + }, + ], + vin: "LVHRM3865F5017337", + type: "", + serviceMoney: "100000", + claimStatus: "已结案", + }, + ]), + (exports.mockSaliCheckList = [ + { label: "车牌号码", value: "粤A*****" }, + { label: "VIN车架号", value: "WDDBF*******40972" }, + { label: "号牌种类", value: "小型汽车" }, + { label: "初次投保日期", value: "2018-12-05" }, + { label: "上次交强险投保年月", value: "2022-12" }, + { label: "最近交强险投保期始", value: "2022-12-05" }, + { label: "最近交强险投保期止", value: "2023-12-05" }, + ]), + (exports.mockSaliList = [ + { label: "保险公司", value: "中国人保" }, + { label: "投保确认码", value: "67001080120220122493" }, + { label: "保单号", value: "6140101030120220013611" }, + { label: "起保日期", value: "2023-11-22 16:30:00" }, + { label: "终保日期", value: "2024-11-23 00:00:00" }, + { label: "车牌号码", value: "粤A*****" }, + { label: "号牌种类", value: "小型汽车" }, + { label: "VIN车架号", value: "WDDBF*******40972" }, + { label: "发动机号", value: "CA04474" }, + { label: "投保地区", value: "广东" }, + ]), + (exports.mockTjxxList = [ + { name: "事故次数", value: "3", key: "claimCount" }, + { name: "理赔总金额", value: "0万-1万", key: "totalAmount" }, + { name: "最大理赔金额", value: "0万-1万", key: "largestAmount" }, + { name: "已结案次数", value: "3", key: "claimCacCount" }, + { name: "拒赔次数", value: "0", key: "claimRejectedCount" }, + ]), + (exports.mockVehicleFiveList = [ + { label: "车牌号码", value: "粤A*****" }, + { label: "VIN车架号", value: "WDDBF*******40972" }, + { label: "车辆品牌", value: "奔驰" }, + { label: "车辆类型", value: "小型汽车" }, + { label: "发动机号", value: "2018C9****" }, + { label: "初次登记日期", value: "2019-03-11 00:00:00" }, + ]), + (exports.mockVehicleInfoList = [ + { label: "厂家名称", value: "奥迪(进口)" }, + { label: "车型名称", value: "Q7" }, + { label: "版本", value: "2021款 55 TFSI quattro S line运动型" }, + { label: "年款", value: "2020" }, + { label: "上市日期", value: "2020-12" }, + { label: "新车购置价格", value: "78.88万" }, + { label: "市场价", value: "-" }, + { label: "发动机型号", value: "DCB" }, + { label: "排量", value: "3.0T" }, + { label: "燃油类型", value: "汽油" }, + { label: "燃油标号", value: "95号" }, + { label: "喷射方式", value: "混合喷射" }, + { label: "最大功率 KW", value: "250" }, + { label: "最大马力(Ps)", value: "340" }, + { label: "轴距", value: "2999" }, + { label: "尺寸类型", value: "中大型SUV" }, + { label: "车身型式", value: "5门7座SUV" }, + { label: "车体结构", value: "承载式" }, + { label: "变速箱类型", value: "AT" }, + { label: "驱动方式", value: "前置四驱" }, + { label: "前轮胎尺寸", value: "285/40 R21" }, + { label: "后轮胎尺寸", value: "285/40 R21" }, + { label: "前制动类型", value: "通风盘式" }, + { label: "后制动类型", value: "通风盘式" }, + { label: "驻车制动类型", value: "电子驻车" }, + { label: "档位数", value: "无" }, + { label: "座位数", value: "7" }, + { label: "车门数", value: "5" }, + { label: "气缸数", value: "6" }, + { label: "长 mm", value: "5067" }, + { label: "宽", value: "1970" }, + { label: "高", value: "1712" }, + { label: "整备质量 kg", value: "2265" }, + { label: "是否是进口", value: "进口" }, + ]), + (exports.mockVehicleStatusList = [ + { label: "VIN车架号", value: "WDDBF*******40972" }, + { label: "车辆状态", value: "抵押、违法未处理" }, + { label: "车辆品牌", value: "奥迪" }, + ]), + (exports.theActionList1 = a), + (exports.theActionList2 = l); diff --git a/enums/index.js b/enums/index.js new file mode 100644 index 0000000..8c97c77 --- /dev/null +++ b/enums/index.js @@ -0,0 +1,34 @@ +(exports.KeyboardEnum = { ABC: "ABC", AREA: "地区", DELETE: "删除" }), + (exports.OrderStatusEnum = { UNPAID: 1, PAID: 2, REFUND: 3, COMPLETE: 4 }), + (exports.PageStatusEnum = { + LOADING: "loading", + MORE: "more", + NOMORE: "noMore", + }), + (exports.PayMethodEnum = { WECHAT_PAY: 1, ALI_PAY: 2 }), + (exports.ProductStatusEnum = { + SUCCESS: 1, + IN_QUERY: 2, + FAIL: 3, + UNPAID: 4, + TO_BE_UPLOADED: 5, + }), + (exports.ProductTypeEnum = { + VEHICLE_INFO: "200000", + OVERALL: "100000", + SALI_CHECK: "10000X", + INSURANCE_MAINTAIN: "100001", + ACCIDENT: "100002", + VEHICLE_FIVE: "100003", + COMMERICAL_INSURANCE: "100004", + VIOLATION: "100005", + SALI: "100006", + VEHICLE_STATUS: "100007", + }), + (exports.QueryTypeEnum = { VIN: "vin", VEHICLE_NO: "vehicleNo" }), + (exports.RoleEnum = { NORMAL: 1, VIP: 2 }), + (exports.TimeLineEnum = { + MILEAGE: "mileage", + RECORD: "record", + VIOLATION: "violation", + }); diff --git a/hooks/onMounted.js b/hooks/onMounted.js new file mode 100644 index 0000000..b754816 --- /dev/null +++ b/hooks/onMounted.js @@ -0,0 +1,84 @@ +var e = require("../@babel/runtime/helpers/slicedToArray"), + n = require("../common/vendor.js"), + t = require("./useState.js"), + o = require("../service/index.js"), + r = require("../utils/util.js"); +exports.onMounted = function (i) { + var u = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; + n.onLoad(function (a) { + var s = t.useState().setChannelName; + n.index.hideHomeButton(), + a && + a.channelName && + !t.useState().channelName.value && + s({ channelName: a.channelName }); + var c = new Date().getTime(); + u && r.showLoading(), + (function () { + var r = t.useState(), + i = r.setUserData, + u = r.setConfig, + a = n.index.getStorageSync("token"), + s = n.index.getStorageSync("openId"), + c = t.useState().userId.value, + d = t.useState().userInfo.value, + f = t.useState().config.value, + l = function () { + return Promise.resolve({ + token: a, + openId: s, + userId: c, + userInfo: d, + }); + }, + g = function () { + return Promise.resolve({ config: f }); + }; + return ( + a || s + ? c || + (l = function () { + return o.getUserInfo(); + }) + : (l = function () { + return n.index + .login({ provider: "weixin" }) + .then(function (e) { + var n = e.code; + return o.loginForMpWeixin({ code: n }); + }) + .then(function (e) { + return ( + n.index.setStorageSync("token", e.token), + n.index.setStorageSync("openId", e.openId), + o.getUserInfo() + ); + }); + }), + f || + (g = function () { + return o.getConfig(); + }), + Promise.all([l(), g()]).then(function (n) { + var t = e(n, 2), + o = t[0], + r = t[1]; + i({ + token: o.token, + openId: o.openId, + userId: o.userId, + userInfo: o.userInfo, + }), + u({ config: r.config }); + }) + ); + })().then(function () { + i( + n._.assign( + a.params ? JSON.parse(decodeURIComponent(a.params)) : null, + { loadingTime: new Date().getTime() - c } + ) + ); + }); + }); +}; diff --git a/hooks/onShareAppMessage.js b/hooks/onShareAppMessage.js new file mode 100644 index 0000000..ecb3046 --- /dev/null +++ b/hooks/onShareAppMessage.js @@ -0,0 +1,11 @@ +var e = require("../common/vendor.js"), + r = require("../config/index.js"); +exports.onShareAppMessage = function () { + return e.onShareAppMessage(function () { + return { + title: "欢迎使用".concat(r.appName), + path: "/pages/splash/index", + imageUrl: "/static/images/pic_share_mp.png", + }; + }); +}; diff --git a/hooks/onShow.js b/hooks/onShow.js new file mode 100644 index 0000000..4618555 --- /dev/null +++ b/hooks/onShow.js @@ -0,0 +1,11 @@ +var e = require("../common/vendor.js"), + o = require("./useState.js"); +exports.onShow = function (r) { + var t = o.useState().totalOrderNum; + e.onShow(function () { + t.value > 0 + ? e.index.showTabBarRedDot({ index: 1 }) + : e.index.hideTabBarRedDot({ index: 1 }), + r && r(); + }); +}; diff --git a/hooks/useHeight.js b/hooks/useHeight.js new file mode 100644 index 0000000..3ce4dc9 --- /dev/null +++ b/hooks/useHeight.js @@ -0,0 +1,13 @@ +var e = require("../common/vendor.js"); +exports.useHeight = function () { + var t = e.ref(0), + a = e.ref(0), + i = e.ref(0), + n = e.index.getMenuButtonBoundingClientRect(); + return ( + (t.value = e.index.getSystemInfoSync().statusBarHeight), + (a.value = 2 * (n.top - t.value) + n.height), + (i.value = t.value + a.value), + { statusBarHeight: t, titleBarHeight: a, navigationBarHeight: i } + ); +}; diff --git a/hooks/useState.js b/hooks/useState.js new file mode 100644 index 0000000..85a2d7a --- /dev/null +++ b/hooks/useState.js @@ -0,0 +1,7 @@ +var e = require("../@babel/runtime/helpers/objectSpread2"), + r = require("../common/vendor.js"), + t = require("../store/app/index.js"); +exports.useState = function () { + var s = t.useAppStore(); + return e(e({}, s), r.storeToRefs(s)); +}; diff --git a/pages/accident-blank/index.js b/pages/accident-blank/index.js new file mode 100644 index 0000000..4148a31 --- /dev/null +++ b/pages/accident-blank/index.js @@ -0,0 +1,138 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + a = require("../../hooks/onShareAppMessage.js"), + t = require("../../service/index.js"), + r = require("../../constant/index.js"), + i = require("../../utils/util.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../utils/request.js"), + Math || (e.unref(u) + e.unref(o) + e.unref(s))(); +var o = function () { + return "../../components/float-back-to-top/index.js"; + }, + u = function () { + return "../../components/divider/index.js"; + }, + s = function () { + return "../../components/float-share/index.js"; + }, + c = { + __name: "index", + setup: function (o) { + var u = e.ref(!0), + s = e.ref({}), + c = e.ref(!1), + v = e.ref([ + { + name: "骨架", + value: 0, + key: "type1", + icon: "/static/svgs/pic_ckpc_normal_1.svg", + }, + { + name: "外观", + value: 0, + key: "type2", + icon: "/static/svgs/pic_ckpc_normal_2.svg", + }, + { + name: "发动机", + value: 0, + key: "type3", + icon: "/static/svgs/pic_ckpc_normal_3.svg", + }, + { + name: "变速箱", + value: 0, + key: "type3", + icon: "/static/svgs/pic_ckpc_normal_4.svg", + }, + { + name: "火烧", + value: 0, + key: "type4", + icon: "/static/svgs/pic_ckpc_normal_5.svg", + }, + { + name: "水淹", + value: 0, + key: "type5", + icon: "/static/svgs/pic_ckpc_normal_6.svg", + }, + { + name: "气囊", + value: 0, + key: "type6", + icon: "/static/svgs/pic_ckpc_normal_7.svg", + }, + { + name: "加强件", + value: 0, + key: "type7", + icon: "/static/svgs/pic_ckpc_normal_8.svg", + }, + ]); + return ( + n.onMounted(function (e) { + var n = e.order_no, + a = e.product_id; + i.showLoading("努力查询中"), + t + .getBlankReportDetail({ order_no: n, product_id: a }) + .then(function (e) { + (s.value = e), (u.value = !1), i.hideLoading(); + }); + }, !1), + e.onPageScroll(function (n) { + var a = n.scrollTop; + c.value = a >= e.index.getSystemInfoSync().windowHeight / 3; + }), + a.onShareAppMessage(), + function (n, a) { + return e.e( + { a: !u.value }, + u.value + ? {} + : { + b: e.t( + (s.value.vin || "") + .toString() + .replace(/^(.{5}).{6}/, "$1******") + ), + c: e.t(s.value.order_no), + d: e.t(s.value.report_date), + e: e.t(s.value.manufacturer), + f: e.t(s.value.comfuelconsumption), + g: e.t(s.value.engine_no), + h: e.t(s.value.displacementml), + i: e.t(s.value.environmentalstandards), + j: e.t(s.value.sizetype), + k: e.t(s.value.isimport), + l: e.t(s.value.seatnum), + m: e.f(v.value, function (n, a, t) { + return e.e( + { a: n.icon, b: e.t(n.name), c: 0 === n.value }, + (n.value, {}), + { d: 1 === n.value }, + (n.value, {}), + { e: 2 === n.value }, + (n.value, {}), + { f: 3 === n.value || 4 === n.value }, + (3 === n.value || n.value, {}), + { g: a } + ); + }), + n: e.t(e.unref(r.disclaimer)), + o: e.p({ visible: c.value }), + } + ); + } + ); + }, + }, + v = e._export_sfc(c, [["__scopeId", "data-v-0ece0644"]]); +(c.__runtimeHooks = 3), wx.createPage(v); diff --git a/pages/accident-blank/index.json b/pages/accident-blank/index.json new file mode 100644 index 0000000..00949a2 --- /dev/null +++ b/pages/accident-blank/index.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "出险查询报告", + "navigationBarBackgroundColor": "#1F68E9", + "usingComponents": { + "float-back-to-top": "../../components/float-back-to-top/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/accident-blank/index.wxml b/pages/accident-blank/index.wxml new file mode 100644 index 0000000..4258212 --- /dev/null +++ b/pages/accident-blank/index.wxml @@ -0,0 +1,167 @@ + + 本查询结果仅供参考,具体车况,请自行检查判断 + + 车辆历史报告 + 中国汽车流通协会发起建设 + + + VIN车架号: + {{b}} + + + 订单编号: + {{c}} + + + 报告时间: + {{d}} + + + + + + 基本信息 + + + + 品牌 + {{e}} + + + 油耗 + {{f}} + + + 发动机号 + {{g}} + + + 排量(ml) + {{h}} + + + 排放标准 + {{i}} + + + 车辆种类 + {{j}} + + + 进口或国产 + {{k}} + + + 核定载客数 + {{l}} + + + + + + + 车况排查 + + + + + {{item.b}} + 正常 + 无法确定 + 疑似 + 异常 + + + + + + + 重大问题排查 + + + + + + + + 一般维修排查 + + + + + + + + 车况统计 + + + 出险 0次 + 核损金额 0元 + + 当前车辆投保期间没有事故出险记录 + + + + + 免责声明 + + {{n}} + + + + + diff --git a/pages/accident-blank/index.wxss b/pages/accident-blank/index.wxss new file mode 100644 index 0000000..4736d96 --- /dev/null +++ b/pages/accident-blank/index.wxss @@ -0,0 +1,233 @@ +.content.data-v-0ece0644 { + padding: 30rpx; + position: relative; +} +.content .notice.data-v-0ece0644 { + background-color: #fde198; + color: #936a26; + font-size: 25rpx; + height: 60rpx; + left: 0; + line-height: 60rpx; + position: absolute; + text-align: center; + top: 0; + width: 100%; +} +.content .background.data-v-0ece0644 { + background: linear-gradient(180deg, #1f68e9, #fff); + height: 2000rpx; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} +.content .content-title.data-v-0ece0644 { + border-bottom: 1rpx solid #74a8e6; + color: #fff; + font-size: 66rpx; + margin-top: 50rpx; + padding-bottom: 20rpx; + text-align: center; +} +.content .sub-title.data-v-0ece0644 { + color: #fff; + font-size: 26rpx; + margin-top: 20rpx; + text-align: center; +} +.content .order-detail.data-v-0ece0644 { + color: #fff; + font-size: 28rpx; + margin-top: 50rpx; +} +.content .order-detail .detail-item.data-v-0ece0644 { + align-items: center; + display: -webkit-flex; + display: flex; + margin: 15rpx 0; +} +.content .order-detail .detail-item .label.data-v-0ece0644 { + width: 170rpx; +} +.content .order-detail .detail-item .value.data-v-0ece0644 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 510rpx; +} +.content .card.data-v-0ece0644 { + background-color: #fff; + border-radius: 10rpx; + margin: 30rpx 0; + padding: 30rpx; + position: relative; +} +.content .card .card-title.data-v-0ece0644 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .card .card-title .icon-title.data-v-0ece0644 { + height: 30rpx; + margin-right: 10rpx; + width: 34rpx; +} +.content .card .card-title .suffix.data-v-0ece0644 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .card .card-title .suffix image.data-v-0ece0644 { + height: 30rpx; + margin-left: 30rpx; + width: 30rpx; +} +.content .card .card-title .suffix text.data-v-0ece0644 { + color: #9a9a9a; + font-size: 3028rpxrpx; + margin-left: 8rpx; +} +.content .card .card-title image.data-v-0ece0644 { + flex-shrink: 0; +} +.content .card .card-title text.data-v-0ece0644 { + color: #1f68e9; + flex-grow: 1; + font-size: 32rpx; +} +.content .card .pic1.data-v-0ece0644 { + height: 235rpx; + margin: 40rpx auto 0; + width: 500rpx; +} +.content .card .pic2.data-v-0ece0644 { + height: 320rpx; + margin: 40rpx auto 0; + width: 500rpx; +} +.content .card .checked.data-v-0ece0644 { + height: 44rpx; + position: absolute; + right: 50rpx; + top: 50rpx; + width: 44rpx; +} +.content .card .info.data-v-0ece0644 { + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + justify-content: space-between; + margin: 20rpx 0; +} +.content .card .msg.data-v-0ece0644 { + background-color: #dbf5e2; + border-radius: 10rpx; + color: #4aa444; + font-size: 28rpx; + padding: 18rpx 28rpx; + text-align: center; +} +.content .card .maintain.data-v-0ece0644 { + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-bottom: 20rpx; +} +.content .card .maintain text.data-v-0ece0644 { + font-size: 30rpx; + margin: 10rpx 0; +} +.content .card .maintain .button-content.data-v-0ece0644 { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin-top: 30rpx; +} +.content .card .maintain .button-content .button.data-v-0ece0644 { + background-color: #fff; + border-radius: 60rpx; + font-size: 28rpx; + height: 70rpx; + line-height: 70rpx; + margin: 0 10rpx; + padding: 0; + text-align: center; + width: 225rpx; +} +.content .card .maintain .button-content .button.type1.data-v-0ece0644 { + background: #1f68e9; + color: #fff; +} +.content .card .maintain .button-content .button.type2.data-v-0ece0644 { + border: 1rpx solid #1f68e9; + color: #1f68e9; +} +.content .brand-name.data-v-0ece0644 { + font-size: 32rpx; + font-weight: 700; + margin-top: 30rpx; +} +.content .cell-info.data-v-0ece0644 { + font-size: 30rpx; +} +.content .cell-info .cell.data-v-0ece0644 { + margin-top: 30rpx; +} +.content .cell-info .cell.data-v-0ece0644, +.content .ckpc-content.data-v-0ece0644 { + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .ckpc-content.data-v-0ece0644 { + align-items: center; + flex-wrap: wrap; +} +.content .ckpc-content .item.data-v-0ece0644 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-top: 30rpx; + position: relative; + width: 135rpx; +} +.content .ckpc-content .item .icon.data-v-0ece0644 { + height: 56rpx; + width: 56rpx; +} +.content .ckpc-content .item .name.data-v-0ece0644 { + font-size: 28rpx; + margin-top: 10rpx; +} +.content .ckpc-content .item .status.data-v-0ece0644 { + border-radius: 50rpx; + font-size: 24rpx; + margin-top: 20rpx; + padding: 5rpx 16rpx; +} +.content .ckpc-content .item .status.normal.data-v-0ece0644 { + background-color: #dbf5e2; + color: #4aa444; +} +.content .ckpc-content .item .status.error.data-v-0ece0644 { + background-color: rgba(238, 36, 25, 0.094); + color: #eb5a5a; +} +.content .ckpc-content .item .status.unidentified.data-v-0ece0644 { + background-color: #ececec; + color: #606060; +} +.content .ckpc-content .item .status.doubt.data-v-0ece0644 { + background-color: rgba(255, 112, 56, 0.157); + color: #ff7038; +} +.content .disclaimer.data-v-0ece0644 { + color: #333; + font-size: 30rpx; + padding: 20rpx 0; +} diff --git a/pages/accident-detail/index.js b/pages/accident-detail/index.js new file mode 100644 index 0000000..15e22a0 --- /dev/null +++ b/pages/accident-detail/index.js @@ -0,0 +1,336 @@ +var e = require("../../common/vendor.js"), + a = require("../../hooks/onMounted.js"), + l = require("../../hooks/onShareAppMessage.js"), + u = require("../../service/index.js"), + n = require("../../constant/index.js"), + t = require("../../utils/util.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../utils/request.js"), + Array || + ( + e.resolveComponent("uni-collapse-item") + + e.resolveComponent("uni-collapse") + )(), + Math || + ( + function () { + return "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js"; + } + + function () { + return "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js"; + } + + e.unref(v) + + e.unref(i) + + e.unref(r) + )(); +var i = function () { + return "../../components/float-back-to-top/index.js"; + }, + v = function () { + return "../../components/divider/index.js"; + }, + r = function () { + return "../../components/float-share/index.js"; + }, + c = { + __name: "index", + setup: function (i) { + var v = e.ref(!0), + r = e.ref({}), + c = e.ref(!1), + o = e.ref([ + { name: "品牌类型", value: "", key: "brandName" }, + { name: "上牌日期", value: "", key: "regDate" }, + { name: "发动机号", value: "", key: "engine" }, + { name: "车身颜色", value: "", key: "bodyColor" }, + { name: "指导价", value: "", key: "guidePrice" }, + { name: "排放标准", value: "", key: "emisSandard" }, + { name: "过户次数", value: "", key: "changeTimes" }, + { name: "使用性质", value: "", key: "properties" }, + { name: "使用性质是否红色警示", value: "", key: "warning" }, + { name: "车主任数", value: "", key: "ownerNumber" }, + { name: "车主类型", value: "", key: "ownerType" }, + ]), + d = e.ref([ + { name: "骨架", value: "", key: "type1" }, + { name: "外观", value: "", key: "type2" }, + { name: "发动机", value: "", key: "type3" }, + { name: "变速箱", value: "", key: "type3" }, + { name: "火烧", value: "", key: "type4" }, + { name: "水淹", value: "", key: "type5" }, + { name: "气囊", value: "", key: "type6" }, + { name: "加强件", value: "", key: "type7" }, + ]), + s = e.ref([ + { name: "外观", value: [], key: "wg" }, + { name: "底盘悬挂", value: [], key: "dp" }, + { name: "发动机", value: [], key: "fdj" }, + { name: "加强件", value: [], key: "jqj" }, + { name: "气囊", value: [], key: "qn" }, + { name: "附属配件", value: [], key: "fspj" }, + { name: "骨架", value: [], key: "gj" }, + { name: "火烧", value: [], key: "hs" }, + { name: "水淹", value: [], key: "sy" }, + ]), + f = e.ref([ + { name: "非火烧车", value: "", key: "isFire" }, + { name: "非泡水车", value: "", key: "isFlood" }, + { name: "非盗抢车", value: "", key: "isTheft" }, + { name: "覆盖件未损伤", value: "", key: "isPanel" }, + { name: "无大额赔偿", value: "", key: "isLargeCost" }, + { name: "无结案记录", value: "", key: "recordIcpending" }, + { name: "无注销记录", value: "", key: "recordIwriteoff" }, + { name: "无拒赔记录", value: "", key: "refusalRecord" }, + { name: "交强险有效", value: "", key: "effectiveCpi" }, + { name: "商业险有效", value: "", key: "effectiveCmi" }, + { name: "交强险连续投保", value: "", key: "seriesCoverCpi" }, + { name: "无营业记录", value: "", key: "isBusiness" }, + ]), + m = e.ref([ + { name: "事故次数", value: "", key: "claimCount" }, + { name: "理赔总金额", value: "", key: "totalAmount" }, + { name: "最大理赔金额", value: "", key: "largestAmount" }, + { name: "已结案次数", value: "", key: "claimCacCount" }, + { name: "拒赔次数", value: "", key: "claimRejectedCount" }, + ]); + return ( + a.onMounted(function (a) { + var l = a.order_no, + n = a.product_id; + t.showLoading("努力查询中"), + u + .getReportDetail({ order_no: l, product_id: n }) + .then(function (a) { + (a.detail.pzlsmx.records = e._.orderBy( + a.detail.pzlsmx.records, + ["date"], + ["desc"] + )), + (r.value = a); + var l = a.detail, + u = l.clxx, + n = l.ckdlpc, + i = l.ckpclb, + c = l.ckxx, + y = l.tjxx; + e._.each(o.value, function (e) { + if (((e.value = u[e.key]), "warning" === e.key)) { + var a = u[e.key]; + 1 === a + ? (e.value = "是") + : 0 === a + ? (e.value = "否") + : 2 === a && (e.value = "无法判断"); + } + }), + e._.each(d.value, function (e, a) { + e.value = n[e.key]; + var l = ""; + 0 === e.value + ? (l = "normal") + : 1 === e.value + ? (l = "unidentified") + : 2 === e.value + ? (l = "doubt") + : (3 !== e.value && 4 !== e.value) || (l = "error"), + (e.icon = "/static/svgs/pic_ckpc_" + .concat(l, "_") + .concat(a + 1, ".svg")); + }), + e._.each(s.value, function (e) { + e.value = i[e.key]; + }), + e._.each(f.value, function (e, a) { + if ( + ((e.value = c[e.key]), + null === c[e.key] && (e.value = 2), + "recordIcpending" === e.key || + "recordIwriteoff" === e.key || + "refusalRecord" === e.key) + ) { + var l = c[e.key]; + "是" === l ? (e.value = 1) : "否" === l && (e.value = 0); + } + if ("effectiveCpi" === e.key || "effectiveCmi" === e.key) { + var u = c[e.key]; + 0 === u ? (e.value = 1) : 1 === u && (e.value = 0); + } + if ("seriesCoverCpi" === e.key) { + var n = c[e.key]; + 1 === n || 2 === n + ? (e.value = 0) + : 3 === n + ? (e.value = 1) + : (0 !== n && 4 !== n) || (e.value = 2); + } + var t = ""; + 0 === e.value + ? (t = "normal") + : 1 === e.value + ? (t = "warning") + : 2 === e.value && (t = "unknown"), + (e.icon = "/static/svgs/icon_ckxx_" + .concat(t, "_") + .concat(a + 1, ".svg")); + }), + e._.each(m.value, function (e) { + e.value = y[e.key]; + }), + (v.value = !1), + t.hideLoading(); + }); + }, !1), + e.onPageScroll(function (a) { + var l = a.scrollTop; + c.value = l >= e.index.getSystemInfoSync().windowHeight / 3; + }), + l.onShareAppMessage(), + function (a, l) { + return e.e( + { a: !v.value }, + v.value + ? {} + : e.e( + { + b: e.t( + (r.value.vin || "") + .toString() + .replace(/^(.{5}).{6}/, "$1******") + ), + c: e.t(r.value.order_no), + d: e.t(r.value.create_time), + e: e.f(o.value, function (a, l, u) { + return { a: e.t(a.name), b: e.t(a.value || "-"), c: l }; + }), + f: e.f(d.value, function (a, l, u) { + return e.e( + { a: a.icon, b: e.t(a.name), c: 0 === a.value }, + (a.value, {}), + { d: 1 === a.value }, + (a.value, {}), + { e: 2 === a.value }, + (a.value, {}), + { f: 3 === a.value || 4 === a.value }, + (3 === a.value || a.value, {}), + { g: l } + ); + }), + g: 1 === r.value.detail.clpj, + }, + (r.value.detail.clpj, {}), + { h: 2 === r.value.detail.clpj }, + (r.value.detail.clpj, {}), + { i: 3 === r.value.detail.clpj }, + (r.value.detail.clpj, {}), + { j: 4 === r.value.detail.clpj }, + (r.value.detail.clpj, {}), + { + k: e.f(s.value, function (a, l, u) { + return { + a: e.t(a.name), + b: e.t(a.value.length), + c: a.value.length > 0 ? 1 : "", + d: e.f(a.value, function (a, l, u) { + return { a: e.t(a.name), b: e.t(a.type), c: l }; + }), + e: l, + f: "a4079225-1-" + u + ",a4079225-0", + g: e.p({ name: a.name, open: a.value.length > 0 }), + }; + }), + l: e.f(r.value.detail.clfwzj, function (a, l, u) { + return e.e( + { a: !a }, + {}, + { b: !!a }, + {}, + { c: e.t(l), d: l } + ); + }), + m: !!r.value.detail.clfwzj.前方左侧, + }, + (r.value.detail.clfwzj.前方左侧, {}), + { n: !!r.value.detail.clfwzj.中间左侧 }, + (r.value.detail.clfwzj.中间左侧, {}), + { o: !!r.value.detail.clfwzj.后方左侧 }, + (r.value.detail.clfwzj.后方左侧, {}), + { p: !!r.value.detail.clfwzj.前方右侧 }, + (r.value.detail.clfwzj.前方右侧, {}), + { q: !!r.value.detail.clfwzj.中间右侧 }, + (r.value.detail.clfwzj.中间右侧, {}), + { r: !!r.value.detail.clfwzj.底部 }, + (r.value.detail.clfwzj.底部, {}), + { s: !!r.value.detail.clfwzj.后方右侧 }, + (r.value.detail.clfwzj.后方右侧, {}), + { t: !!r.value.detail.clfwzj.顶部 }, + (r.value.detail.clfwzj.顶部, {}), + { v: !!r.value.detail.clfwzj.正前方 }, + (r.value.detail.clfwzj.正前方, {}), + { w: !!r.value.detail.clfwzj.内部 }, + (r.value.detail.clfwzj.内部, {}), + { x: !!r.value.detail.clfwzj.正后方 }, + (r.value.detail.clfwzj.正后方, {}), + { y: !!r.value.detail.clfwzj.其他 }, + (r.value.detail.clfwzj.其他, {}), + { + z: e.f(f.value, function (a, l, u) { + return e.e( + { a: a.icon, b: e.t(a.name), c: 0 === a.value }, + (a.value, {}), + { d: 1 === a.value }, + (a.value, {}), + { e: 2 === a.value }, + (a.value, {}), + { f: l } + ); + }), + A: e.f(m.value, function (a, l, u) { + return { a: e.t(a.name), b: e.t(a.value || "-"), c: l }; + }), + B: e.t(r.value.detail.pzlsmx.serviceSumCount), + C: e.t( + ( + Number(r.value.detail.pzlsmx.serviceSumMoney) / 100 + ).toFixed(0) + ), + D: e.f(r.value.detail.pzlsmx.records, function (a, l, u) { + return { + a: e.t(a.date), + b: e.t(a.claimStatus), + c: e.t((Number(a.serviceMoney) / 100).toFixed(0)), + d: e.f(a.result, function (a, l, u) { + return e.e( + { + a: e.t(a.dangerSingleName || "-"), + b: 1 == a.dangerSingleType, + }, + (1 == a.dangerSingleType || + 2 == a.dangerSingleType || + a.dangerSingleType, + {}), + { + c: 2 == a.dangerSingleType, + d: 3 == a.dangerSingleType, + e: e.t(a.dangerSingleNum), + f: l, + } + ); + }), + e: l, + }; + }), + E: e.t(e.unref(n.disclaimer)), + F: e.p({ visible: c.value }), + } + ) + ); + } + ); + }, + }, + o = e._export_sfc(c, [["__scopeId", "data-v-a4079225"]]); +(c.__runtimeHooks = 3), wx.createPage(o); diff --git a/pages/accident-detail/index.json b/pages/accident-detail/index.json new file mode 100644 index 0000000..4595512 --- /dev/null +++ b/pages/accident-detail/index.json @@ -0,0 +1,11 @@ +{ + "navigationBarTitleText": "出险查询报告", + "navigationBarBackgroundColor": "#1F68E9", + "usingComponents": { + "uni-collapse-item": "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item", + "uni-collapse": "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse", + "float-back-to-top": "../../components/float-back-to-top/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/accident-detail/index.wxml b/pages/accident-detail/index.wxml new file mode 100644 index 0000000..fa9b88f --- /dev/null +++ b/pages/accident-detail/index.wxml @@ -0,0 +1,456 @@ + + + 车辆历史报告 + 中国汽车流通协会发起建设 + + + VIN车架号: + {{b}} + + + 订单编号: + {{c}} + + + 报告时间: + {{d}} + + + + + + 基本信息 + + + + {{item.a}} + {{item.b}} + + + + + + + 车况排查 + + + + + {{item.b}} + 正常 + 无法确定 + 疑似 + 异常 + + + + + + + 综合车况评级 + + + + + + + + 车况评级分为四种:优秀、良好、中等、较差。车况评级结果仅供参考,请谨慎使用。 + + + + + + + 排查明细 + + + + + + {{item.a}} + + {{item.b}} + 项 + + + + + 部件名 + {{partItem.a}} + + + 类型 + {{partItem.b}} + + + + + + + + + + + 碰撞部位 + + + 正常 + + 异常 + + + + + + + + {{value.c}} + + + + + + 前方左侧 + + + + + 中间左侧 + + + + + 后方左侧 + + + + + 前方右侧 + + + + + 中间右侧 + + + + + 底部 + + + + + 后方右侧 + + + + + 顶部 + + + + + 正前方 + + + + + 内部 + + + + + 正后方 + + + + + 其他 + + + + + + + + + + 保险信息 + + + + * + 若当前交强险或商业险未在保,但当前断缴时长不超过一个月时,不纳入断缴统计记录中。 + + + + + {{item.b}} + 正常 + 异常 + 未知 + + + + + + {{item.a}} + {{item.b}} + + + + + + + + 出险明细 + + + + + {{B}} + 维修总次数(次) + + + {{C}} + 维修总金额(元) + + + + + + + {{item.a}} + ({{item.b}}) + {{item.c}}元 + + + + 维修名称 + 维修类型 + 件数 + + + {{listItem.a}} + + 更换 + 维修 + 其他 + - + + {{listItem.e}} + + + + + + + + + + 车况评级说明 + + + (1)优秀:外观无可见瑕疵和喷漆修复等记录;内饰无磨损维修记录;动力系统、机械部位运行正常且无维修;按时保养且记录完整;电子系统无任何故障 + + + (2)良好:外观局部有1-2处损伤记录;内饰有1-2 + 处磨损维修记录;动力系统正常且无维修;机械部位运行正常有部分维修或更换记录;电子设备及模块使用正常 + + + (3)中等:外观局部有3-5处损伤记录;内饰有5- + 10处磨损维修记录;动力系统有维修记录;结构件有轻微异常记录 + + + (4)较差:外观局部有5处以上损伤记录;内饰有 + 10处以上磨损记录;动力系统有3次以上维修记录或发动机变速箱有维修记录;大灯框架/水箱框架更换或变形;机械部位运行存在严重异常或有大修记录 + + + + + + 免责声明 + + {{E}} + + + + + diff --git a/pages/accident-detail/index.wxss b/pages/accident-detail/index.wxss new file mode 100644 index 0000000..e205777 --- /dev/null +++ b/pages/accident-detail/index.wxss @@ -0,0 +1,448 @@ +.content.data-v-a4079225 { + padding: 30rpx; + position: relative; +} +.content .background.data-v-a4079225 { + background: linear-gradient(180deg, #1f68e9, #fff); + height: 2000rpx; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} +.content .content-title.data-v-a4079225 { + border-bottom: 1rpx solid #74a8e6; + color: #fff; + font-size: 66rpx; + padding-bottom: 20rpx; + text-align: center; +} +.content .sub-title.data-v-a4079225 { + color: #fff; + font-size: 26rpx; + margin-top: 20rpx; + text-align: center; +} +.content .order-detail.data-v-a4079225 { + color: #fff; + font-size: 28rpx; + margin-top: 50rpx; +} +.content .order-detail .detail-item.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + margin: 15rpx 0; +} +.content .order-detail .detail-item .label.data-v-a4079225 { + width: 170rpx; +} +.content .order-detail .detail-item .value.data-v-a4079225 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 510rpx; +} +.content .card.data-v-a4079225 { + background-color: #fff; + border-radius: 10rpx; + margin: 30rpx 0; + padding: 30rpx; +} +.content .card .card-title.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .card .card-title .icon-title.data-v-a4079225 { + height: 30rpx; + margin-right: 10rpx; + width: 34rpx; +} +.content .card .card-title .suffix.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .card .card-title .suffix image.data-v-a4079225 { + height: 30rpx; + margin-left: 30rpx; + width: 30rpx; +} +.content .card .card-title .suffix text.data-v-a4079225 { + color: #9a9a9a; + font-size: 3028rpxrpx; + margin-left: 8rpx; +} +.content .card .card-title image.data-v-a4079225 { + flex-shrink: 0; +} +.content .card .card-title text.data-v-a4079225 { + color: #1f68e9; + flex-grow: 1; + font-size: 32rpx; +} +.content .brand-name.data-v-a4079225 { + font-size: 32rpx; + font-weight: 700; + margin-top: 30rpx; +} +.content .vehicle-info.data-v-a4079225 { + font-size: 30rpx; +} +.content .vehicle-info .item.data-v-a4079225 { + margin-top: 30rpx; +} +.content .ckpc-content.data-v-a4079225, +.content .vehicle-info .item.data-v-a4079225 { + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .ckpc-content.data-v-a4079225 { + align-items: center; + flex-wrap: wrap; +} +.content .ckpc-content .item.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-top: 30rpx; + position: relative; + width: 135rpx; +} +.content .ckpc-content .item .icon.data-v-a4079225 { + height: 56rpx; + width: 56rpx; +} +.content .ckpc-content .item .name.data-v-a4079225 { + font-size: 28rpx; + margin-top: 10rpx; +} +.content .ckpc-content .item .status.data-v-a4079225 { + border-radius: 50rpx; + font-size: 24rpx; + margin-top: 20rpx; + padding: 5rpx 16rpx; +} +.content .ckpc-content .item .status.normal.data-v-a4079225 { + background-color: #dbf5e2; + color: #4aa444; +} +.content .ckpc-content .item .status.error.data-v-a4079225 { + background-color: rgba(238, 36, 25, 0.094); + color: #eb5a5a; +} +.content .ckpc-content .item .status.unidentified.data-v-a4079225 { + background-color: #ececec; + color: #606060; +} +.content .ckpc-content .item .status.doubt.data-v-a4079225 { + background-color: rgba(255, 112, 56, 0.157); + color: #ff7038; +} +.content .grade-info.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; +} +.content .grade-info .grade-img.data-v-a4079225 { + height: 172rpx; + margin: 30rpx 0; + width: 200rpx; +} +.content .grade-info .explain.data-v-a4079225 { + background: #fafafa; + border-radius: 10rpx; + color: #9a9a9a; + font-size: 26rpx; + line-height: 38rpx; + padding: 20rpx; + position: relative; +} +.content .vehicle-detail.data-v-a4079225 { + margin-top: 20rpx; +} +.content .vehicle-detail .part-title.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + justify-content: space-between; + margin: 25rpx 0; +} +.content .vehicle-detail .part-title .count.data-v-a4079225 { + color: #333; +} +.content .vehicle-detail .part-list.data-v-a4079225 { + font-size: 28rpx; +} +.content .vehicle-detail .part-list .part-item.data-v-a4079225 { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 25rpx 0; +} +.content .vehicle-detail .part-list .part-item .label.data-v-a4079225 { + color: #9a9a9a; +} +.content .vehicle-detail .part-list .part-item .value.data-v-a4079225 { + color: #333; + margin-right: 50rpx; +} +.content .part-content.data-v-a4079225 { + border-radius: 17rpx; + display: -webkit-flex; + display: flex; + margin-top: 20rpx; +} +.content .part-content .part-left.data-v-a4079225 { + flex-shrink: 0; + width: 200rpx; +} +.content .part-content .part-left-item.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + height: 65rpx; +} +.content .part-content .part-left-item image.data-v-a4079225 { + height: 30rpx; + width: 30rpx; +} +.content .part-content .part-left-item text.data-v-a4079225 { + color: #333; + font-size: 28rpx; + margin-left: 20rpx; +} +.content .part-content .part-right.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + justify-content: center; + position: relative; +} +.content .part-content .part-right .pic.data-v-a4079225 { + height: 577rpx; + width: 300rpx; + z-index: 10; +} +.content .part-content .part-right .position.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + position: absolute; + z-index: 20; +} +.content .part-content .part-right .position.right.data-v-a4079225 { + flex-direction: row-reverse; +} +.content .part-content .part-right .position.top.data-v-a4079225 { + flex-direction: column; +} +.content .part-content .part-right .position.bottom.data-v-a4079225 { + flex-direction: column-reverse; +} +.content .part-content .part-right .position .name.data-v-a4079225 { + color: #333; + font-size: 26rpx; +} +.content .part-content .part-right .position .horizontal-line.data-v-a4079225 { + background: #bf5759; + height: 2rpx; + margin: 4rpx; + width: 15rpx; +} +.content .part-content .part-right .position .vertical-line.data-v-a4079225 { + background: #bf5759; + height: 15rpx; + margin: 4rpx; + width: 2rpx; +} +.content .part-content .part-right .position .icon.data-v-a4079225 { + background: #eb5a5b; + border: 1rpx solid #fff; + border-radius: 100%; + height: 22rpx; + width: 22rpx; +} +.content .insurance-content .tips.data-v-a4079225 { + color: #5e5e6b; + font-size: 24rpx; + margin-top: 30rpx; +} +.content .insurance-content .top-content.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-bottom: 30rpx; +} +.content .insurance-content .top-content .item.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-top: 20rpx; + position: relative; + width: 200rpx; +} +.content .insurance-content .top-content .item .icon.data-v-a4079225 { + height: 56rpx; + width: 56rpx; +} +.content .insurance-content .top-content .item .name.data-v-a4079225 { + font-size: 28rpx; + margin-top: 10rpx; +} +.content .insurance-content .top-content .item .status.data-v-a4079225 { + border-radius: 50rpx; + font-size: 24rpx; + margin-top: 20rpx; + padding: 5rpx 16rpx; +} +.content .insurance-content .top-content .item .status.normal.data-v-a4079225 { + background-color: #dbf5e2; + color: #4aa444; +} +.content .insurance-content .top-content .item .status.unknown.data-v-a4079225 { + background-color: #ececec; + color: #606060; +} +.content .insurance-content .top-content .item .status.warning.data-v-a4079225 { + background-color: rgba(255, 112, 56, 0.157); + color: #ff7038; +} +.content .insurance-content .bottom-content .item.data-v-a4079225 { + display: -webkit-flex; + display: flex; + font-size: 30rpx; + justify-content: space-between; + margin-top: 30rpx; +} +.content .insurance-content .bottom-content .item .title.data-v-a4079225, +.content .insurance-content .bottom-content .item .value.data-v-a4079225 { + color: #333; +} +.content .insurance-detail.data-v-a4079225 { + margin-top: 30rpx; +} +.content .insurance-detail .top-content.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .insurance-detail .top-content .item.data-v-a4079225 { + align-items: center; + background: #f3f3f3; + border: 1rpx solid #d9d9d9; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 167rpx; + justify-content: center; + width: 295rpx; +} +.content .insurance-detail .top-content .item .info.data-v-a4079225 { + color: #9a9a9a; + font-size: 26rpx; + margin-top: 20rpx; +} +.content .insurance-detail .top-content .item .count.data-v-a4079225 { + color: #1f68e9; + font-size: 50rpx; + font-weight: 700; +} +.content .insurance-detail .insurance-item .title.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + margin: 30rpx 0; +} +.content .insurance-detail .insurance-item .title .dot.data-v-a4079225 { + background-color: #1f68e9; + border-radius: 100%; + flex-shrink: 0; + height: 18rpx; + width: 18rpx; +} +.content .insurance-detail .insurance-item .title .date.data-v-a4079225 { + flex-shrink: 0; + font-weight: 700; + margin-left: 10rpx; +} +.content .insurance-detail .insurance-item .title .status.data-v-a4079225 { + flex-grow: 1; +} +.content .insurance-detail .insurance-item .title .money.data-v-a4079225 { + flex-shrink: 0; +} +.content .insurance-detail .insurance-item .records.data-v-a4079225 { + background-color: #fff; + border: 1rpx solid #d9d9d9; + border-radius: 10rpx; + font-size: 28rpx; +} +.content + .insurance-detail + .insurance-item + .records + .record-title.data-v-a4079225 { + align-items: center; + background-color: #f3f3f3; + display: -webkit-flex; + display: flex; + padding: 15rpx 0; +} +.content + .insurance-detail + .insurance-item + .records + .record-title + .value.data-v-a4079225 { + display: -webkit-flex; + display: flex; + font-weight: 700; + justify-content: center; + width: 30%; +} +.content + .insurance-detail + .insurance-item + .records + .record-item.data-v-a4079225 { + align-items: center; + display: -webkit-flex; + display: flex; + padding: 15rpx 0; +} +.content + .insurance-detail + .insurance-item + .records + .record-item + .value.data-v-a4079225 { + display: -webkit-flex; + display: flex; + justify-content: center; + width: 30%; +} +.content .intro.data-v-a4079225 { + color: #333; + font-size: 30rpx; + padding: 10rpx 0; +} +.content .disclaimer.data-v-a4079225 { + color: #333; + font-size: 30rpx; + padding: 20rpx 0; +} diff --git a/pages/accident-web-view/index.js b/pages/accident-web-view/index.js new file mode 100644 index 0000000..46a9972 --- /dev/null +++ b/pages/accident-web-view/index.js @@ -0,0 +1,30 @@ +var e = require("../../common/vendor.js"), + r = require("../../hooks/onMounted.js"), + i = require("../../hooks/onShareAppMessage.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/util.js"); +var s = { + __name: "index", + setup: function (s) { + var n = e.ref(""); + return ( + r.onMounted(function (r) { + e.index.setNavigationBarTitle({ title: "车辆历史报告" }), + (n.value = r.url); + }, !1), + i.onShareAppMessage(), + function (e, r) { + return { a: n.value }; + } + ); + }, + __runtimeHooks: 2, +}; +wx.createPage(s); diff --git a/pages/accident-web-view/index.json b/pages/accident-web-view/index.json new file mode 100644 index 0000000..1887129 --- /dev/null +++ b/pages/accident-web-view/index.json @@ -0,0 +1 @@ +{ "navigationBarBackgroundColor": "#1F68E9", "usingComponents": {} } diff --git a/pages/accident-web-view/index.wxml b/pages/accident-web-view/index.wxml new file mode 100644 index 0000000..0d2d5e6 --- /dev/null +++ b/pages/accident-web-view/index.wxml @@ -0,0 +1 @@ + diff --git a/pages/accident-web-view/index.wxss b/pages/accident-web-view/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/pages/commercial-insurance-detail/index.js b/pages/commercial-insurance-detail/index.js new file mode 100644 index 0000000..f539658 --- /dev/null +++ b/pages/commercial-insurance-detail/index.js @@ -0,0 +1,97 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShareAppMessage.js"), + r = require("../../service/index.js"), + i = require("../../constant/index.js"), + u = require("../../utils/util.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../utils/request.js"), + Math || (e.unref(o) + e.unref(a) + e.unref(s))(); +var a = function () { + return "../../components/empty/index.js"; + }, + o = function () { + return "../../components/divider/index.js"; + }, + s = function () { + return "../../components/float-share/index.js"; + }, + v = { + __name: "index", + setup: function (a) { + var o = e.ref(!0), + s = e.ref(!1), + v = e.ref({}), + d = function () { + e.index.setClipboardData({ data: v.value.vin }).then(function () { + u.showToast("VIN车架号已复制"); + }); + }; + return ( + n.onMounted(function (n) { + var t = n.order_no, + a = n.product_id; + u.showLoading("努力查询中"), + r + .getReportDetail({ order_no: t, product_id: a }) + .then(function (n) { + var t = e._.find(i.vehicleTypeList, function (e) { + return e.value == n.type; + }); + (n.type = t ? t.text : "-"), + (v.value = n), + (o.value = !1), + u.hideLoading(); + }); + }, !1), + t.onShareAppMessage(), + function (n, t) { + return e.e( + { a: !o.value }, + o.value + ? {} + : e.e( + { b: !s.value }, + s.value + ? {} + : e.e( + { c: v.value.info }, + v.value.info + ? { + d: e.t(v.value.vin), + e: e.o(d), + f: e.t(v.value.info || "-"), + g: e.t(v.value.create_time || "-"), + } + : {}, + { h: !v.value.info }, + v.value.info + ? {} + : { + i: e.t(v.value.name.trim() || "-"), + j: e.t(v.value.no.trim() || "-"), + k: e.t(v.value.start_time.trim() || "-"), + l: e.t(v.value.end_time.trim() || "-"), + m: e.t(v.value.insurance.trim() || "-"), + n: e.t(v.value.vin), + o: e.o(d), + p: e.t(v.value.engine_no.trim() || "-"), + q: e.t(v.value.area.trim() || "-"), + r: e.t(v.value.create_time || "-"), + }, + { s: e.t(e.unref(i.disclaimer)) } + ), + { t: s.value }, + s.value ? { v: e.p({ info: "抱歉~!没有查到数据哦" }) } : {} + ) + ); + } + ); + }, + }, + d = e._export_sfc(v, [["__scopeId", "data-v-1d1feea9"]]); +(v.__runtimeHooks = 2), wx.createPage(d); diff --git a/pages/commercial-insurance-detail/index.json b/pages/commercial-insurance-detail/index.json new file mode 100644 index 0000000..6e9ef0f --- /dev/null +++ b/pages/commercial-insurance-detail/index.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "商业险信息", + "usingComponents": { + "empty": "../../components/empty/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/commercial-insurance-detail/index.wxml b/pages/commercial-insurance-detail/index.wxml new file mode 100644 index 0000000..82838fb --- /dev/null +++ b/pages/commercial-insurance-detail/index.wxml @@ -0,0 +1,82 @@ + + + 商业险信息 + + + VIN车架号 + + {{d}} + 复制 + + + + 状态 + {{f}} + + + 报告时间 + {{g}} + + + + + 保险公司 + {{i}} + + + 保单号 + {{j}} + + + 起保日期 + {{k}} + + + 终保日期 + {{l}} + + + 保险种类 + {{m}} + + + VIN车架号 + + {{n}} + 复制 + + + + 发动机号 + {{p}} + + + 投保地区 + {{q}} + + + 报告时间 + {{r}} + + + 免责声明 + {{s}} + + + + + diff --git a/pages/commercial-insurance-detail/index.wxss b/pages/commercial-insurance-detail/index.wxss new file mode 100644 index 0000000..95ce002 --- /dev/null +++ b/pages/commercial-insurance-detail/index.wxss @@ -0,0 +1,56 @@ +.content.data-v-1d1feea9 { + padding: 30rpx; +} +.content .module-title.data-v-1d1feea9 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-1d1feea9 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .disclaimer.data-v-1d1feea9 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +.content .detail.data-v-1d1feea9 { + background-color: #fff; + border-radius: 10rpx; + padding: 10rpx 40rpx; + position: relative; +} +.content .detail .cell.data-v-1d1feea9 { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 30rpx 0; +} +.content .detail .cell .title.data-v-1d1feea9 { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .detail .cell .value.data-v-1d1feea9 { + color: #686868; + font-size: 30rpx; + max-width: 450rpx; + padding-right: 5rpx; +} +.content .detail .cell .value .copy.data-v-1d1feea9 { + color: #d71818; + margin-left: 15rpx; +} diff --git a/pages/commercial-insurance-query/index.js b/pages/commercial-insurance-query/index.js new file mode 100644 index 0000000..67e338d --- /dev/null +++ b/pages/commercial-insurance-query/index.js @@ -0,0 +1,205 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + u = require("../../hooks/onShareAppMessage.js"), + t = require("../../hooks/useState.js"), + i = require("../../enums/index.js"), + o = require("../../constant/index.js"), + r = require("../../data/index.js"), + a = require("../../utils/navigate.js"), + l = require("../../utils/util.js"), + s = require("../../utils/common.js"), + v = require("../../utils/vin.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../store/app/index.js"), + Math || + ( + e.unref(h) + + e.unref(f) + + e.unref(m) + + e.unref(p) + + e.unref(g) + + e.unref(x) + + e.unref(d) + + e.unref(c) + )(); +var c = function () { + return "../../components/popup-copy-vin/index.js"; + }, + f = function () { + return "../../components/agreement/index.js"; + }, + d = function () { + return "../../components/keyboard/index.js"; + }, + p = function () { + return "../../components/divider/index.js"; + }, + h = function () { + return "../../components/tips/index.js"; + }, + m = function () { + return "../../components/prompt/index.js"; + }, + g = function () { + return "../../components/float-back-to-top/index.js"; + }, + x = function () { + return "../../components/float-share/index.js"; + }, + j = { + __name: "index", + setup: function (c) { + var f = t.useState().showAgreementPopup, + d = e.ref(!0), + p = e.ref(""), + h = e.ref(i.QueryTypeEnum.VIN), + m = e.ref(!1), + g = e.ref(""), + x = e.ref(!1), + j = e.ref(0), + q = e.ref(!1), + y = e.ref(""), + T = e.ref(!1), + b = function () { + var e = f.value || q.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + w = function () { + a.navigateTo({ url: "/pages/vin-info/index" }); + }, + I = function () { + g.value = ""; + }, + k = function () { + s.ocrIdentifyVin().then(function (e) { + g.value = e; + }); + }, + _ = function () { + x.value = !0; + }, + N = function () { + x.value = !1; + }, + S = function (e) { + g.value = e.value; + }, + A = function () { + m.value = !m.value; + }, + M = function () { + q.value = !1; + }, + C = function () { + (g.value = y.value), (q.value = !1), V(); + }, + V = function () { + if (((x.value = !1), m.value)) { + if (h.value === i.QueryTypeEnum.VIN) { + if (0 === g.value.length) + return void l.showToast("请输入VIN车架号"); + if (g.value.length < 17) + return void l.showToast("请输入完整的VIN车架号"); + if (!v.validateVIN(g.value)) + return void l.showToast("车架号有误,请检查后重新输入"); + } + a.navigateTo({ + url: "/pages/order-confirm/index", + params: { + productType: i.ProductTypeEnum.COMMERICAL_INSURANCE, + queryType: h.value, + vin: g.value, + }, + }); + } else l.showToast("请先阅读并同意协议"); + }; + return ( + n.onMounted(function (n) { + e.index.setNavigationBarTitle({ title: n.title }), + s.hasClickAgreement() && + e.index.getClipboardData().then(function (n) { + var u = n.data; + e.index.hideToast(), + 17 === u.trim().length && + setTimeout(function () { + (y.value = u.trim()), (q.value = !0); + }, 300); + }), + (p.value = n.title), + (d.value = !1), + l.hideLoading(); + }), + e.onPageScroll(function (n) { + var u = n.scrollTop; + T.value = u >= e.index.getSystemInfoSync().windowHeight / 3; + }), + u.onShareAppMessage(), + function (n, u) { + return e.e( + { a: b(), b: !d.value }, + d.value + ? {} + : e.e( + { c: e.t(p.value), d: e.o(w), e: 0 === g.value.length }, + (g.value.length, {}), + { f: e.t(g.value), g: e.o(_), h: g.value.length > 0 }, + g.value.length > 0 ? { i: e.o(I) } : {}, + { + j: e.t(g.value.length), + k: e.o(k), + l: g.value.length > 0 ? 1 : "", + m: e.o(V), + n: e.o(A), + o: e.p({ checked: m.value }), + p: e.f(["车辆在保", "车辆脱保"], function (n, u, t) { + return { + a: e.t(n), + b: e.n(j.value === u ? "active" : ""), + c: u, + d: e.o(function (e) { + return (function (e) { + j.value = e; + })(u); + }, u), + }; + }), + q: 0 === j.value, + }, + 0 === j.value + ? { + r: e.f( + e.unref(r.mockCommercialInsuranceList), + function (n, u, t) { + return { a: e.t(n.label), b: e.t(n.value), c: u }; + } + ), + } + : {}, + { s: 1 === j.value }, + (j.value, {}), + { + t: e.t(e.unref(o.disclaimer)), + v: e.p({ visible: T.value }), + w: e.o(N), + x: e.o(S), + y: e.p({ + visible: x.value, + "can-switch": !1, + vin: g.value, + }), + z: e.o(C), + A: e.o(M), + B: e.p({ visible: q.value, "copy-vin": y.value }), + } + ) + ); + } + ); + }, + }, + q = e._export_sfc(j, [["__scopeId", "data-v-c416e9c3"]]); +(j.__runtimeHooks = 3), wx.createPage(q); diff --git a/pages/commercial-insurance-query/index.json b/pages/commercial-insurance-query/index.json new file mode 100644 index 0000000..66d2940 --- /dev/null +++ b/pages/commercial-insurance-query/index.json @@ -0,0 +1,14 @@ +{ + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "popup-copy-vin": "../../components/popup-copy-vin/index", + "agreement": "../../components/agreement/index", + "keyboard": "../../components/keyboard/index", + "divider": "../../components/divider/index", + "tips": "../../components/tips/index", + "prompt": "../../components/prompt/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/commercial-insurance-query/index.wxml b/pages/commercial-insurance-query/index.wxml new file mode 100644 index 0000000..8fbe420 --- /dev/null +++ b/pages/commercial-insurance-query/index.wxml @@ -0,0 +1,124 @@ + + + + + + {{c}} + 什么是VIN? + + + + + 请输入17位VIN车架号 + {{f}} + + + + {{j}}/17 + + + + 查 询 + + + + 样例报告 + + + {{item.a}} + + + + + {{item.a}} + {{item.b}} + + + + + VIN车架号 + WDDBF*******40972 + + + 状态 + 脱保 + + + 报告时间 + 2021-08-01 11:27:27 + + + + 免责声明 + {{t}} + + + + + + diff --git a/pages/commercial-insurance-query/index.wxss b/pages/commercial-insurance-query/index.wxss new file mode 100644 index 0000000..3583da2 --- /dev/null +++ b/pages/commercial-insurance-query/index.wxss @@ -0,0 +1,265 @@ +.content.data-v-c416e9c3 { + padding: 30rpx; +} +.content .banner.data-v-c416e9c3 { + background-color: #1f68e9; + border-radius: 15rpx; + color: #fff; + height: 240rpx; + padding: 30rpx; + position: relative; +} +.content .banner .title.data-v-c416e9c3 { + height: 95rpx; + position: absolute; + top: 40rpx; + z-index: 10; +} +.content .banner .image.data-v-c416e9c3 { + bottom: -15rpx; + height: 172rpx; + position: absolute; + right: -5rpx; + width: 350rpx; + z-index: 9; +} +.content .module-title.data-v-c416e9c3 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-c416e9c3 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .query-content.data-v-c416e9c3 { + background-color: #fff; + border-radius: 10rpx; + padding: 40rpx; +} +.content .query-content .radio-group.data-v-c416e9c3 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin-bottom: 30rpx; +} +.content .query-content .radio-group label.data-v-c416e9c3 { + align-items: center; + display: -webkit-flex; + display: flex; + margin-right: 20rpx; +} +.content .query-content .radio-group .tips.data-v-c416e9c3 { + color: #1f68e9; + font-size: 30rpx; +} +.content .query-content .vehicle-content.data-v-c416e9c3 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .query-content .vehicle-content .number-item.data-v-c416e9c3 { + border: 2rpx solid #e1e1e1; + display: -webkit-flex; + display: flex; + font-weight: 700; + height: 85rpx; + justify-content: center; + margin: 0 7rpx; + position: relative; + width: 75rpx; +} +.content .query-content .vehicle-content .number-item.new.data-v-c416e9c3 { + border: 2rpx dashed #6fd99a; +} +.content .query-content .vehicle-content .number-item .number.data-v-c416e9c3 { + font-size: 32rpx; + height: 50rpx; + margin-top: 18rpx; + padding-bottom: 18rpx; + text-align: center; + width: 35rpx; +} +.content + .query-content + .vehicle-content + .number-item + .number.selected.data-v-c416e9c3 { + border-bottom: 4rpx solid #1f68e9; +} +.content .query-content .vehicle-content .number-item .energy.data-v-c416e9c3 { + background: #0ac260; + border-radius: 14rpx; + color: #fff; + font-size: 16rpx; + height: 28rpx; + left: 2rpx; + line-height: 28rpx; + position: absolute; + text-align: center; + top: -20rpx; + width: 60rpx; +} +.content .query-content .input-content.data-v-c416e9c3 { + align-items: center; + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx; + position: relative; +} +.content .query-content .input-content.selected.data-v-c416e9c3 { + border-color: #1f68e9; +} +.content .query-content .input-content .input.data-v-c416e9c3 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + font-size: 32rpx; + overflow-y: scroll; + position: relative; +} +.content .query-content .input-content .input .placeholder.data-v-c416e9c3 { + color: silver; + left: 0; + position: absolute; +} +.content .query-content .input-content .input .cursor.data-v-c416e9c3 { + animation: cursor-blinks-c416e9c3 1.5s step-start infinite; + background: #1f68e9; + height: 40rpx; + width: 4rpx; +} +.content .query-content .input-content .clear.data-v-c416e9c3 { + flex-shrink: 0; + height: 32rpx; + padding: 0 10rpx 0 20rpx; + width: 32rpx; +} +.content .query-content .input-content .input-length.data-v-c416e9c3 { + color: #232323; + flex-shrink: 0; + font-size: 26rpx; +} +.content .query-content .input-content .photo.data-v-c416e9c3 { + flex-shrink: 0; + height: 50rpx; + margin-left: 10rpx; + margin-top: -5rpx; + width: 50rpx; +} +.content .query-content .button.data-v-c416e9c3 { + align-items: center; + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + font-weight: 700; + height: 90rpx; + justify-content: center; + margin-top: 30rpx; +} +.content .example-content.data-v-c416e9c3 { + background-color: #fff; + border-radius: 10rpx; + overflow: hidden; +} +.content .example-content .tabs.data-v-c416e9c3 { + align-items: center; + background-color: #fff; + border-bottom: 2rpx solid #ebeef5; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + height: 90rpx; + justify-content: space-evenly; + width: 100%; +} +.content .example-content .tabs .tab.data-v-c416e9c3 { + height: 90rpx; + line-height: 90rpx; +} +.content .example-content .tabs .tab.active.data-v-c416e9c3 { + border-bottom: 4rpx solid #1f68e9; + color: #1f68e9; +} +.content .example-content .cell.data-v-c416e9c3 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 40rpx; +} +.content .example-content .cell-title.data-v-c416e9c3 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + padding-left: 5rpx; +} +.content .example-content .cell-title image.data-v-c416e9c3 { + height: 30rpx; + margin-left: 10rpx; + width: 30rpx; +} +.content .example-content .cell-value.data-v-c416e9c3 { + color: #686868; + font-size: 30rpx; + padding-right: 5rpx; +} +.content .example-content .tips.data-v-c416e9c3 { + background-color: #fffbe8; + color: #ed6a0c; + font-size: 26rpx; + padding: 20rpx; +} +.content .disclaimer.data-v-c416e9c3 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +@-webkit-keyframes cursor-blinks-c416e9c3 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-c416e9c3 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/pages/easter-egg/index.js b/pages/easter-egg/index.js new file mode 100644 index 0000000..384df10 --- /dev/null +++ b/pages/easter-egg/index.js @@ -0,0 +1,50 @@ +var e = require("../../common/vendor.js"), + r = require("../../hooks/onMounted.js"), + n = require("../../service/index.js"), + i = require("../../utils/util.js"), + o = require("../../utils/navigate.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../constant/index.js"); +var t = { + __name: "index", + setup: function (t) { + var u = e.ref(""), + a = function (e) { + u.value = e.detail.value; + }, + s = function () { + u.value + ? u.value.length < 20 + ? i.showToast("请输入正确的订单编号") + : (i.showLoading(), + n + .getOrderDetail({ order_no: u.value }) + .then(function (e) { + o.navigateTo({ + url: "/pages/order-detail/index", + params: { orderNo: e.order_no, productName: "彩蛋查询" }, + }); + }) + .catch(function () { + i.showToast("订单不存在,请重新输入订单编号"); + }) + .finally(function () { + i.hideLoading(); + })) + : i.showToast("请输入订单编号"); + }; + return ( + r.onMounted(function () {}, !1), + function (r, n) { + return { a: u.value, b: e.o(a), c: e.o(s) }; + } + ); + }, + }, + u = e._export_sfc(t, [["__scopeId", "data-v-a2957840"]]); +wx.createPage(u); diff --git a/pages/easter-egg/index.json b/pages/easter-egg/index.json new file mode 100644 index 0000000..006b511 --- /dev/null +++ b/pages/easter-egg/index.json @@ -0,0 +1 @@ +{ "navigationBarTitleText": "彩蛋", "usingComponents": {} } diff --git a/pages/easter-egg/index.wxml b/pages/easter-egg/index.wxml new file mode 100644 index 0000000..b22d952 --- /dev/null +++ b/pages/easter-egg/index.wxml @@ -0,0 +1,4 @@ + + + 查 询 + diff --git a/pages/easter-egg/index.wxss b/pages/easter-egg/index.wxss new file mode 100644 index 0000000..8e72c22 --- /dev/null +++ b/pages/easter-egg/index.wxss @@ -0,0 +1,20 @@ +.content.data-v-a2957840 { + padding: 30rpx; +} +.content input.data-v-a2957840 { + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 10rpx; + font-size: 34rpx; + padding: 20rpx; +} +.content .button.data-v-a2957840 { + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + font-size: 32rpx; + height: 90rpx; + line-height: 90rpx; + margin-top: 30rpx; + text-align: center; +} diff --git a/pages/home/index.js b/pages/home/index.js new file mode 100644 index 0000000..896b229 --- /dev/null +++ b/pages/home/index.js @@ -0,0 +1,174 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShow.js"), + r = require("../../hooks/onShareAppMessage.js"), + u = require("../../hooks/useState.js"), + o = require("../../data/index.js"), + i = require("../../utils/navigate.js"), + a = require("../../service/index.js"), + c = require("../../enums/index.js"); +require("../../utils/util.js"), + require("../../constant/index.js"), + require("../../config/index.js"), + require("../../store/app/index.js"), + require("../../utils/request.js"), + Math || (e.unref(s) + e.unref(f))(); +var s = function () { + return "../../components/popup-order/index.js"; + }, + f = function () { + return "../../components/popup-coupon/index.js"; + }, + d = { + __name: "index", + setup: function (s) { + var f = u.useState(), + d = f.totalOrderNum, + p = f.setTotalOrderNum, + l = f.actionList, + m = e.ref(!1), + v = e.ref(""), + h = e.ref(!1), + g = e.ref(0), + T = function () { + var e = m.value || h.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + E = function () { + a.getOrderNum().then(function (n) { + var t = n.num; + p({ totalOrderNum: t }), + t > 0 && e.index.showTabBarRedDot({ index: 1 }); + }); + }, + j = function (e) { + var n = e.url, + t = e.params; + i.navigateTo({ url: n, params: t }); + }, + x = function () { + m.value = !1; + }, + S = function () { + (h.value = !1), g.value++; + }; + return ( + n.onMounted(function () { + e.index.$on("refreshOrderDetail", function (n) { + return (function (n) { + a.getOrderDetail({ order_no: n }) + .then(function (n) { + var t = e._.find(n.productIdList, function (e) { + return e.status === c.ProductStatusEnum.TO_BE_UPLOADED; + }); + n.status === c.OrderStatusEnum.UNPAID + ? (v.value = "存在一笔待支付订单") + : (v.value = t ? "存在待上传行驶证订单" : ""), + (m.value = !!v.value); + }) + .catch(function () { + m.value = !1; + }); + })(n); + }), + e.index.$on("refreshOrderNum", function () { + 0 === d.value && E(); + }), + E(), + g.value++; + }, !1), + t.onShow(function () { + (!e.index.getStorageSync("fisrtIn") || + e.index.getStorageSync("fisrtIn") < 2) && + 1 === g.value && + (setTimeout(function () { + h.value = !0; + }, 500), + console.log("onShow")); + }), + r.onShareAppMessage(), + function (n, t) { + return e.e( + { a: T(), b: 0 === e.unref(l).length }, + 0 === e.unref(l).length + ? { + c: e.f([1, 2, 3, 4, 5, 6, 7, 8], function (e, n, t) { + return { a: n }; + }), + } + : {}, + { d: e.unref(l).length > 0 }, + e.unref(l).length > 0 + ? { + e: e.f(e.unref(l), function (n, t, r) { + return e.e( + { + a: n.icon, + b: e.t(n.name), + c: + n.params.productType === + e.unref(c.ProductTypeEnum).OVERALL, + }, + (n.params.productType, + e.unref(c.ProductTypeEnum).OVERALL, + {}), + { + d: + n.params.productType === + e.unref(c.ProductTypeEnum).VEHICLE_INFO, + }, + (n.params.productType, + e.unref(c.ProductTypeEnum).VEHICLE_INFO, + {}), + { + e: + n.params.productType === + e.unref(c.ProductTypeEnum).VEHICLE_STATUS, + }, + (n.params.productType, + e.unref(c.ProductTypeEnum).VEHICLE_STATUS, + {}), + { + f: t, + g: e.o(function (e) { + return j(n); + }, t), + } + ); + }), + } + : {}, + { + f: e.f(e.unref(o.theActionList2), function (n, t, r) { + return e.e( + { a: e.t(n.name), b: e.t(n.desc), c: n.icon, d: 0 === t }, + {}, + { e: 1 === t }, + {}, + { + f: t, + g: e.n(t >= 2 ? "action-content2-item-top" : ""), + h: e.n(0 === t ? "action-content2-item-0" : ""), + i: e.n(1 === t ? "action-content2-item-1" : ""), + j: e.n(2 === t ? "action-content2-item-2" : ""), + k: e.n(3 === t ? "action-content2-item-3" : ""), + l: e.o(function (e) { + return j(n); + }, t), + } + ); + }), + g: e.o(x), + h: e.p({ visible: m.value, title: v.value }), + i: e.o(S), + j: e.p({ visible: h.value }), + } + ); + } + ); + }, + }, + p = e._export_sfc(d, [["__scopeId", "data-v-45f75add"]]); +(d.__runtimeHooks = 2), wx.createPage(p); diff --git a/pages/home/index.json b/pages/home/index.json new file mode 100644 index 0000000..33eba92 --- /dev/null +++ b/pages/home/index.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "首页", + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "popup-order": "../../components/popup-order/index", + "popup-coupon": "../../components/popup-coupon/index" + } +} diff --git a/pages/home/index.wxml b/pages/home/index.wxml new file mode 100644 index 0000000..8e3a3af --- /dev/null +++ b/pages/home/index.wxml @@ -0,0 +1,86 @@ + + + + 常用工具 + + + + + + + + + + + + {{item.b}} + 优惠 + 限免 + 违法+抵押 + + + 热门工具 + + + {{item.a}} + {{item.b}} + + + 热门 + + + 限免 + + + + + + diff --git a/pages/home/index.wxss b/pages/home/index.wxss new file mode 100644 index 0000000..ffb8a27 --- /dev/null +++ b/pages/home/index.wxss @@ -0,0 +1,211 @@ +label, +scroll-view, +swiper-item, +view { + align-content: flex-start; + align-items: stretch; + display: -webkit-flex; + display: flex; + flex-basis: auto; + flex-direction: column; + flex-grow: 0; + flex-shrink: 0; +} +image, +input, +scroll-view, +swiper, +swiper-item, +text, +textarea, +video, +view { + border: 0 solid #000; + box-sizing: border-box; + position: relative; +} +swiper-item { + position: absolute; +} +button { + margin: 0; +} +.content.data-v-45f75add { + padding: 30rpx; +} +.banner.data-v-45f75add { + border-radius: 12rpx; + height: 258rpx; + width: 690rpx; +} +.title.data-v-45f75add { + font-size: 34rpx; + font-weight: 700; + margin: 30rpx 10rpx; +} +.action-skeletons.data-v-45f75add { + background-color: #fff; + border-radius: 12rpx; + display: -webkit-flex; + display: flex; + flex-direction: row; + flex-wrap: wrap; + padding: 30rpx 0 10rpx; +} +.action-skeletons-item.data-v-45f75add { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 155rpx; + position: relative; + width: 171rpx; +} +.action-skeletons-item-image.data-v-45f75add { + background: #f1f2f4; + border-radius: 10rpx; + height: 100rpx; + width: 100rpx; +} +.action-skeletons-item-name.data-v-45f75add { + background: #f1f2f4; + border-radius: 5rpx; + height: 20rpx; + margin-top: 10rpx; + width: 100rpx; +} +.action-content1.data-v-45f75add { + background-color: #fff; + border-radius: 12rpx; + display: -webkit-flex; + display: flex; + flex-direction: row; + flex-wrap: wrap; + padding: 10rpx 0 30rpx; +} +.action-content1-item.data-v-45f75add { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 155rpx; + justify-content: flex-end; + position: relative; + width: 171rpx; +} +.action-content1-item-image-content.data-v-45f75add { + align-items: center; + display: -webkit-flex; + display: flex; + height: 100rpx; + justify-content: center; + width: 100rpx; +} +.action-content1-item-image.data-v-45f75add { + width: 100rpx; +} +.action-content1-item-name.data-v-45f75add { + font-size: 26rpx; + font-weight: 700; + height: 30rpx; +} +.tip.data-v-45f75add { + border-radius: 6rpx; + color: #fff; + font-size: 20rpx; + font-weight: 400; + height: 28rpx; + left: 57rpx; + line-height: 28rpx; + padding: 0 8rpx; + position: absolute; + top: 12rpx; +} +.tip-free.data-v-45f75add { + background-color: #fe902e; +} +.tip-discount.data-v-45f75add { + background-color: #f06a62; +} +.tip-info.data-v-45f75add { + background-color: #ffa39e; + left: 35rpx; +} +.action-content2.data-v-45f75add { + display: -webkit-flex; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} +.action-content2-item.data-v-45f75add { + background-color: #fff; + border-radius: 12rpx; + height: 200rpx; + overflow: hidden; + padding: 30rpx; + position: relative; + width: 335rpx; +} +.action-content2-item-0.data-v-45f75add { + background-color: #f1f0fd; +} +.action-content2-item-1.data-v-45f75add { + background-color: rgba(255, 249, 244, 0.886); +} +.action-content2-item-2.data-v-45f75add { + background-color: rgba(140, 222, 162, 0.1); +} +.action-content2-item-3.data-v-45f75add { + background-color: rgba(202, 234, 248, 0.255); +} +.action-content2-item-top.data-v-45f75add { + margin-top: 20rpx; +} +.action-content2-item-name.data-v-45f75add { + color: #444; + font-size: 32rpx; + font-weight: 700; + position: relative; + z-index: 2; +} +.action-content2-item-desc.data-v-45f75add { + color: #9a9a9a; + font-size: 28rpx; + margin-top: 5rpx; + position: relative; + z-index: 2; +} +.action-content2-item-image.data-v-45f75add { + bottom: 0; + height: 90rpx; + opacity: 0.8; + position: absolute; + right: 10rpx; + width: 90rpx; + z-index: 1; +} +.label.data-v-45f75add { + align-items: flex-start; + display: -webkit-flex; + display: flex; + margin-top: 20rpx; +} +.label-text.data-v-45f75add { + background-color: #fcdede; + border-radius: 6rpx; + font-size: 24rpx; + font-weight: 700; + height: 36rpx; + line-height: 36rpx; + padding: 0 6rpx; +} +.label-free.data-v-45f75add { + color: #fe902e; +} +.label-hot.data-v-45f75add { + color: #f06a62; +} +.default-hover-class.data-v-45f75add { + opacity: 0.8; +} diff --git a/pages/insurance-maintain-blank/index.js b/pages/insurance-maintain-blank/index.js new file mode 100644 index 0000000..c4fe2d6 --- /dev/null +++ b/pages/insurance-maintain-blank/index.js @@ -0,0 +1,176 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShareAppMessage.js"), + a = require("../../service/index.js"), + r = require("../../constant/index.js"), + i = require("../../utils/util.js"), + o = require("../../config/index.js"), + u = require("../../utils/common.js"), + s = require("../../utils/navigate.js"), + c = require("../../enums/index.js"), + l = require("../../data/index.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../utils/request.js"), + Math || (e.unref(v) + e.unref(d) + e.unref(p) + e.unref(m))(); +var v = function () { + return "../../components/time-line/index.js"; + }, + p = function () { + return "../../components/float-back-to-top/index.js"; + }, + d = function () { + return "../../components/divider/index.js"; + }, + m = function () { + return "../../components/float-share/index.js"; + }, + _ = { + __name: "index", + setup: function (v) { + var p = e.ref(!0), + d = e.ref({}), + m = e.ref(!1), + _ = e.ref(""), + f = e.ref([ + { + name: "骨架", + value: 0, + key: "type1", + icon: "/static/svgs/pic_ckpc_normal_1.svg", + }, + { + name: "外观", + value: 0, + key: "type2", + icon: "/static/svgs/pic_ckpc_normal_2.svg", + }, + { + name: "发动机", + value: 0, + key: "type3", + icon: "/static/svgs/pic_ckpc_normal_3.svg", + }, + { + name: "变速箱", + value: 0, + key: "type3", + icon: "/static/svgs/pic_ckpc_normal_4.svg", + }, + { + name: "火烧", + value: 0, + key: "type4", + icon: "/static/svgs/pic_ckpc_normal_5.svg", + }, + { + name: "水淹", + value: 0, + key: "type5", + icon: "/static/svgs/pic_ckpc_normal_6.svg", + }, + { + name: "气囊", + value: 0, + key: "type6", + icon: "/static/svgs/pic_ckpc_normal_7.svg", + }, + { + name: "加强件", + value: 0, + key: "type7", + icon: "/static/svgs/pic_ckpc_normal_8.svg", + }, + ]), + g = function () { + i.showLoading(), + a + .getOrderDetail({ order_no: _.value }) + .then(function (n) { + var t = e._.map(n.productList, function (e) { + return e.product_id; + }).join(","); + s.navigateTo({ + url: "/pages/order-detail/index", + params: { + orderNo: _.value, + productName: u.getProduct(t).product_name, + }, + }); + }) + .finally(function () { + i.hideLoading(); + }); + }, + k = function (e) { + e.detail.path && switchTab({ url: e.detail.path }); + }; + return ( + n.onMounted(function (e) { + var n = e.order_no, + t = e.product_id; + (_.value = n), + i.showLoading("努力查询中"), + a + .getBlankReportDetail({ order_no: n, product_id: t }) + .then(function (e) { + (d.value = e), (p.value = !1), i.hideLoading(); + }); + }, !1), + e.onPageScroll(function (n) { + var t = n.scrollTop; + m.value = t >= e.index.getSystemInfoSync().windowHeight / 3; + }), + t.onShareAppMessage(), + function (n, t) { + return e.e( + { a: !p.value }, + p.value + ? {} + : { + b: e.t( + (d.value.vin || "") + .toString() + .replace(/^(.{5}).{6}/, "$1******") + ), + c: e.t(d.value.order_no), + d: e.t(d.value.report_date), + e: e.t(d.value.name), + f: e.t(d.value.manufacturer), + g: e.t(d.value.comfuelconsumption), + h: e.t(d.value.engine_no), + i: e.t(d.value.displacementml), + j: e.t(d.value.environmentalstandards), + k: e.t(d.value.sizetype), + l: e.t(d.value.isimport), + m: e.t(d.value.seatnum), + n: e.f(f.value, function (n, t, a) { + return e.e( + { a: n.icon, b: e.t(n.name), c: 0 === n.value }, + (n.value, {}), + { d: 1 === n.value }, + (n.value, {}), + { e: 2 === n.value }, + (n.value, {}), + { f: 3 === n.value || 4 === n.value }, + (3 === n.value || n.value, {}), + { g: t } + ); + }), + o: e.p({ + type: e.unref(c.TimeLineEnum).RECORD, + data: e.unref(l.mockBlankReportList), + }), + p: e.o(g), + q: e.unref(o.appName), + r: e.o(k), + s: e.t(e.unref(r.disclaimer)), + t: e.p({ visible: m.value }), + } + ); + } + ); + }, + }, + f = e._export_sfc(_, [["__scopeId", "data-v-94bceea2"]]); +(_.__runtimeHooks = 3), wx.createPage(f); diff --git a/pages/insurance-maintain-blank/index.json b/pages/insurance-maintain-blank/index.json new file mode 100644 index 0000000..b05f203 --- /dev/null +++ b/pages/insurance-maintain-blank/index.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "维保查询报告", + "navigationBarBackgroundColor": "#1F68E9", + "usingComponents": { + "time-line": "../../components/time-line/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/insurance-maintain-blank/index.wxml b/pages/insurance-maintain-blank/index.wxml new file mode 100644 index 0000000..b43af4e --- /dev/null +++ b/pages/insurance-maintain-blank/index.wxml @@ -0,0 +1,217 @@ + + 本查询结果仅供参考,具体车况,请自行检查判断 + + 车辆维保报告 + 中国汽车流通协会发起建设 + + + VIN车架号: + {{b}} + + + 订单编号: + {{c}} + + + 报告时间: + {{d}} + + + + + + 基本信息 + + {{e}} + + + 品牌 + {{f}} + + + 油耗 + {{g}} + + + 发动机号 + {{h}} + + + 排量(ml) + {{i}} + + + 排放标准 + {{j}} + + + 车辆种类 + {{k}} + + + 进口或国产 + {{l}} + + + 核定载客数 + {{m}} + + + + + + + 车况排查 + + + + + {{item.b}} + 正常 + 无法确定 + 疑似 + 异常 + + + + + + + 重大问题排查 + + + + + + + + 一般维修排查 + + + + + + + + 维修保养记录 + + + + + + + + + 车况统计 + + + 无记录原因: + (1)车架号输入或识别错误,请核对车架号; + (2)该车辆品牌数据维护中,请到个人中心联系客服; + (3)该车辆未去正规店保养; + (4)该车辆未保养。 + + + + + + + + + + 免责声明 + + {{s}} + + + + + diff --git a/pages/insurance-maintain-blank/index.wxss b/pages/insurance-maintain-blank/index.wxss new file mode 100644 index 0000000..498e339 --- /dev/null +++ b/pages/insurance-maintain-blank/index.wxss @@ -0,0 +1,233 @@ +.content.data-v-94bceea2 { + padding: 30rpx; + position: relative; +} +.content .notice.data-v-94bceea2 { + background-color: #fde198; + color: #936a26; + font-size: 25rpx; + height: 60rpx; + left: 0; + line-height: 60rpx; + position: absolute; + text-align: center; + top: 0; + width: 100%; +} +.content .background.data-v-94bceea2 { + background: linear-gradient(180deg, #1f68e9, #fff); + height: 2000rpx; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} +.content .content-title.data-v-94bceea2 { + border-bottom: 1rpx solid #74a8e6; + color: #fff; + font-size: 66rpx; + margin-top: 50rpx; + padding-bottom: 20rpx; + text-align: center; +} +.content .sub-title.data-v-94bceea2 { + color: #fff; + font-size: 26rpx; + margin-top: 20rpx; + text-align: center; +} +.content .order-detail.data-v-94bceea2 { + color: #fff; + font-size: 28rpx; + margin-top: 50rpx; +} +.content .order-detail .detail-item.data-v-94bceea2 { + align-items: center; + display: -webkit-flex; + display: flex; + margin: 15rpx 0; +} +.content .order-detail .detail-item .label.data-v-94bceea2 { + width: 170rpx; +} +.content .order-detail .detail-item .value.data-v-94bceea2 { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 510rpx; +} +.content .card.data-v-94bceea2 { + background-color: #fff; + border-radius: 10rpx; + margin: 30rpx 0; + padding: 30rpx; + position: relative; +} +.content .card .card-title.data-v-94bceea2 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .card .card-title .icon-title.data-v-94bceea2 { + height: 30rpx; + margin-right: 10rpx; + width: 34rpx; +} +.content .card .card-title .suffix.data-v-94bceea2 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .card .card-title .suffix image.data-v-94bceea2 { + height: 30rpx; + margin-left: 30rpx; + width: 30rpx; +} +.content .card .card-title .suffix text.data-v-94bceea2 { + color: #9a9a9a; + font-size: 3028rpxrpx; + margin-left: 8rpx; +} +.content .card .card-title image.data-v-94bceea2 { + flex-shrink: 0; +} +.content .card .card-title text.data-v-94bceea2 { + color: #1f68e9; + flex-grow: 1; + font-size: 32rpx; +} +.content .card .pic1.data-v-94bceea2 { + height: 235rpx; + margin: 40rpx auto 0; + width: 500rpx; +} +.content .card .pic2.data-v-94bceea2 { + height: 320rpx; + margin: 40rpx auto 0; + width: 500rpx; +} +.content .card .checked.data-v-94bceea2 { + height: 44rpx; + position: absolute; + right: 50rpx; + top: 50rpx; + width: 44rpx; +} +.content .card .info.data-v-94bceea2 { + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + justify-content: space-between; + margin: 20rpx 0; +} +.content .card .msg.data-v-94bceea2 { + background-color: #dbf5e2; + border-radius: 100rpx; + color: #4aa444; + font-size: 28rpx; + padding: 18rpx 28rpx; + text-align: center; +} +.content .card .maintain.data-v-94bceea2 { + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-bottom: 20rpx; +} +.content .card .maintain text.data-v-94bceea2 { + font-size: 30rpx; + margin: 10rpx 0; +} +.content .card .maintain .button-content.data-v-94bceea2 { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin-top: 30rpx; +} +.content .card .maintain .button-content .button.data-v-94bceea2 { + background-color: #fff; + border-radius: 60rpx; + font-size: 28rpx; + height: 70rpx; + line-height: 70rpx; + margin: 0 10rpx; + padding: 0; + text-align: center; + width: 225rpx; +} +.content .card .maintain .button-content .button.type1.data-v-94bceea2 { + background: #1f68e9; + color: #fff; +} +.content .card .maintain .button-content .button.type2.data-v-94bceea2 { + border: 1rpx solid #1f68e9; + color: #1f68e9; +} +.content .brand-name.data-v-94bceea2 { + font-size: 32rpx; + font-weight: 700; + margin-top: 30rpx; +} +.content .cell-info.data-v-94bceea2 { + font-size: 30rpx; +} +.content .cell-info .cell.data-v-94bceea2 { + margin-top: 30rpx; +} +.content .cell-info .cell.data-v-94bceea2, +.content .ckpc-content.data-v-94bceea2 { + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .ckpc-content.data-v-94bceea2 { + align-items: center; + flex-wrap: wrap; +} +.content .ckpc-content .item.data-v-94bceea2 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-top: 30rpx; + position: relative; + width: 135rpx; +} +.content .ckpc-content .item .icon.data-v-94bceea2 { + height: 56rpx; + width: 56rpx; +} +.content .ckpc-content .item .name.data-v-94bceea2 { + font-size: 28rpx; + margin-top: 10rpx; +} +.content .ckpc-content .item .status.data-v-94bceea2 { + border-radius: 50rpx; + font-size: 24rpx; + margin-top: 20rpx; + padding: 5rpx 16rpx; +} +.content .ckpc-content .item .status.normal.data-v-94bceea2 { + background-color: #dbf5e2; + color: #4aa444; +} +.content .ckpc-content .item .status.error.data-v-94bceea2 { + background-color: rgba(238, 36, 25, 0.094); + color: #eb5a5a; +} +.content .ckpc-content .item .status.unidentified.data-v-94bceea2 { + background-color: #ececec; + color: #606060; +} +.content .ckpc-content .item .status.doubt.data-v-94bceea2 { + background-color: rgba(255, 112, 56, 0.157); + color: #ff7038; +} +.content .disclaimer.data-v-94bceea2 { + color: #333; + font-size: 30rpx; + padding: 20rpx 0; +} diff --git a/pages/insurance-maintain-detail/index.js b/pages/insurance-maintain-detail/index.js new file mode 100644 index 0000000..a7c223b --- /dev/null +++ b/pages/insurance-maintain-detail/index.js @@ -0,0 +1,93 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onShareAppMessage.js"), + i = require("../../hooks/onMounted.js"), + r = require("../../service/index.js"), + t = require("../../constant/index.js"), + a = require("../../utils/util.js"), + o = require("../../enums/index.js"); +require("../../config/index.js"), + require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + require("../../utils/request.js"), + Math || (e.unref(u) + e.unref(c) + e.unref(s) + e.unref(d))(); +var u = function () { + return "../../components/time-line/index.js"; + }, + s = function () { + return "../../components/float-back-to-top/index.js"; + }, + c = function () { + return "../../components/divider/index.js"; + }, + d = function () { + return "../../components/float-share/index.js"; + }, + l = { + __name: "index", + setup: function (u) { + var s = e.ref(!0), + c = e.ref({}), + d = e.ref(!1); + return ( + i.onMounted(function (n) { + var i = n.order_no, + t = n.product_id; + a.showLoading("努力查询中"), + r + .getReportDetail({ order_no: i, product_id: t }) + .then(function (n) { + var i = n.insurance || [], + r = n.maintain || []; + (n.insurance_maintain = e._.orderBy( + e._.concat(i, r), + ["date"], + ["desc"] + )), + (c.value = n), + (s.value = !1), + a.hideLoading(); + }); + }, !1), + e.onPageScroll(function (n) { + var i = n.scrollTop; + d.value = i >= e.index.getSystemInfoSync().windowHeight / 3; + }), + n.onShareAppMessage(), + function (n, i) { + return e.e( + { a: !s.value }, + s.value + ? {} + : { + b: e.t(c.value.carinfo.name), + c: e.t( + (c.value.carinfo.vin || "") + .toString() + .replace(/^(.{5}).{6}/, "$1******") + ), + d: e.t(c.value.mail.mail_section.date), + e: e.t(c.value.mail.mail_section.lower), + f: e.t(c.value.mail.mail_section.upper), + g: e.f(c.value.mail.mail_list, function (n, i, r) { + return { + a: e.t(n.date), + b: e.t(n.mile), + c: i, + d: i % 2 == 1 ? 1 : "", + }; + }), + h: e.p({ + type: e.unref(o.TimeLineEnum).RECORD, + data: c.value.insurance_maintain, + }), + i: e.t(e.unref(t.disclaimer)), + j: e.p({ visible: d.value }), + } + ); + } + ); + }, + }, + f = e._export_sfc(l, [["__scopeId", "data-v-b2dfd9ff"]]); +(l.__runtimeHooks = 3), wx.createPage(f); diff --git a/pages/insurance-maintain-detail/index.json b/pages/insurance-maintain-detail/index.json new file mode 100644 index 0000000..b05f203 --- /dev/null +++ b/pages/insurance-maintain-detail/index.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "维保查询报告", + "navigationBarBackgroundColor": "#1F68E9", + "usingComponents": { + "time-line": "../../components/time-line/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/insurance-maintain-detail/index.wxml b/pages/insurance-maintain-detail/index.wxml new file mode 100644 index 0000000..5a5e015 --- /dev/null +++ b/pages/insurance-maintain-detail/index.wxml @@ -0,0 +1,98 @@ + + + 车辆维保报告 + 中国汽车流通协会发起建设 + + + 车辆型号: + {{b}} + + + VIN车架号: + {{c}} + + + + + + 行驶里程分析 + + + + 截止日期 + {{d}} + + + 预计里程 + {{e}}~{{f}}公里 + + + + + + + 行驶里程统计 + + + + 日期 + 里程(公里) + + + {{item.a}} + {{item.b}} + + + + + + + 维修保养记录 + + + + + + + + + 免责声明 + + {{i}} + + + + + diff --git a/pages/insurance-maintain-detail/index.wxss b/pages/insurance-maintain-detail/index.wxss new file mode 100644 index 0000000..76d44bb --- /dev/null +++ b/pages/insurance-maintain-detail/index.wxss @@ -0,0 +1,154 @@ +.content.data-v-b2dfd9ff { + padding: 30rpx; +} +.content .background.data-v-b2dfd9ff { + background: linear-gradient(180deg, #1f68e9, #fff); + height: 1500rpx; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: -1; +} +.content .content-title.data-v-b2dfd9ff { + border-bottom: 1rpx solid #74a8e6; + color: #fff; + font-size: 66rpx; + padding-bottom: 20rpx; + text-align: center; +} +.content .sub-title.data-v-b2dfd9ff { + color: #fff; + font-size: 26rpx; + margin-top: 20rpx; + text-align: center; +} +.content .order-detail.data-v-b2dfd9ff { + color: #fff; + font-size: 28rpx; + margin-top: 50rpx; +} +.content .order-detail .detail-item.data-v-b2dfd9ff { + align-items: center; + display: -webkit-flex; + display: flex; + margin: 15rpx 0; +} +.content .order-detail .detail-item .label.data-v-b2dfd9ff { + width: 170rpx; +} +.content .order-detail .detail-item .value.data-v-b2dfd9ff { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 510rpx; +} +.content .card.data-v-b2dfd9ff { + background-color: #fff; + border-radius: 10rpx; + margin: 30rpx 0; + padding: 30rpx; +} +.content .card .card-title.data-v-b2dfd9ff { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .card .card-title .icon-title.data-v-b2dfd9ff { + height: 30rpx; + margin-right: 10rpx; + width: 34rpx; +} +.content .card .card-title .suffix.data-v-b2dfd9ff { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .card .card-title .suffix image.data-v-b2dfd9ff { + height: 30rpx; + margin-left: 30rpx; + width: 30rpx; +} +.content .card .card-title .suffix text.data-v-b2dfd9ff { + color: #9a9a9a; + font-size: 3028rpxrpx; + margin-left: 8rpx; +} +.content .card .card-title image.data-v-b2dfd9ff { + flex-shrink: 0; +} +.content .card .card-title text.data-v-b2dfd9ff { + color: #1f68e9; + flex-grow: 1; + font-size: 32rpx; +} +.content .cell-content.data-v-b2dfd9ff { + background-color: #fff; + border-radius: 10rpx; + margin-top: 20rpx; + position: relative; +} +.content .cell-content .cell.data-v-b2dfd9ff { + display: -webkit-flex; + display: flex; + justify-content: space-between; + padding: 15rpx; +} +.content .cell-content .cell .title.data-v-b2dfd9ff { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .cell-content .cell .value.data-v-b2dfd9ff { + color: #686868; + font-size: 30rpx; + max-width: 450rpx; + padding-right: 5rpx; +} +.content .mile-content.data-v-b2dfd9ff { + background-color: #fff; + margin-top: 20rpx; +} +.content .mile-content .mile-item.data-v-b2dfd9ff { + border-left: 2rpx solid #ebeef5; + border-right: 2rpx solid #ebeef5; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + width: 100%; +} +.content .mile-content .mile-item.data-v-b2dfd9ff:last-child { + border-bottom: 2rpx solid #ebeef5; +} +.content .mile-content .mile-item.selected.data-v-b2dfd9ff { + background: #fafafa; + border-bottom: 2rpx solid #ebeef5; + border-top: 2rpx solid #ebeef5; +} +.content .mile-content .mile-item .date-title.data-v-b2dfd9ff, +.content .mile-content .mile-item .mile-title.data-v-b2dfd9ff { + background-color: #f2f2f2; + border-bottom: 2rpx solid #ebeef5; + border-top: 2rpx solid #ebeef5; + font-weight: 700; +} +.content .mile-content .mile-item .date-title.data-v-b2dfd9ff, +.content .mile-content .mile-item .date.data-v-b2dfd9ff, +.content .mile-content .mile-item .mile-title.data-v-b2dfd9ff, +.content .mile-content .mile-item .mile.data-v-b2dfd9ff { + padding: 15rpx 0; + text-align: center; + width: 50%; +} +.content .record-content.data-v-b2dfd9ff { + background-color: #fff; + border-radius: 10rpx; +} +.content .disclaimer.data-v-b2dfd9ff { + color: #333; + font-size: 30rpx; + padding: 20rpx 0; +} diff --git a/pages/order-confirm/index.js b/pages/order-confirm/index.js new file mode 100644 index 0000000..f333707 --- /dev/null +++ b/pages/order-confirm/index.js @@ -0,0 +1,300 @@ +var e = require("../../common/vendor.js"), + u = require("../../hooks/onMounted.js"), + r = require("../../hooks/onShareAppMessage.js"), + n = require("../../hooks/useState.js"), + i = require("../../enums/index.js"), + o = require("../../service/index.js"), + t = require("../../utils/util.js"), + c = require("../../utils/common.js"), + a = require("../../utils/navigate.js"); +require("../../config/index.js"), + require("../../constant/index.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + require("../../utils/request.js"), + Array || e.resolveComponent("uni-countdown")(); +Math || + ( + e.unref(p) + + function () { + return "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js"; + } + + e.unref(d) + )(); +var d = function () { + return "../../components/divider/index.js"; + }, + p = function () { + return "../../components/vehicle-number/index.js"; + }, + l = { + __name: "index", + setup: function (d) { + var p = n.useState(), + l = p.insuranceMaintainProduct, + v = p.accidentProduct, + m = p.vehicleFiveProduct, + E = p.saliProduct, + _ = p.saliCheckProduct, + y = p.commercialInsuranceProduct, + f = p.violationProduct, + s = p.vehicleStatusProduct, + N = e.ref(!0), + T = e.ref(null), + A = e.ref(i.QueryTypeEnum.VIN), + P = e.ref("02"), + I = e.ref(""), + C = e.ref(""), + L = e.ref({}), + g = e.ref(null), + S = e.ref([]), + h = e.ref(0), + x = function () { + var e = new Date().getHours(); + return e >= 9 && e <= 21; + }, + M = function (e) { + h.value = Number(e.detail.value); + }, + b = function (e) { + g.value = e.detail.value; + }, + V = function () { + var e = S.value[h.value], + u = { + product: null, + money: null, + vin: null, + car_no: null, + type: null, + }; + (u.product = e.product_id), + (u.money = Number((100 * Number(e.price)).toFixed(2))), + (u.vin = I.value), + (u.car_no = C.value), + (u.type = P.value), + (u.payMethod = g.value), + A.value === i.QueryTypeEnum.VIN && (u.car_no = null), + A.value === i.QueryTypeEnum.VEHICLE_NO && (u.vin = null), + T.value !== i.ProductTypeEnum.SALI_CHECK && (u.type = null), + e.product_id === i.ProductTypeEnum.OVERALL && + (u.product = [l.value.product_id, v.value.product_id].join(",")), + t.showLoading("支付中"), + o.createOrder(u).then(function (e) { + c.payForOrder({ payMethod: g.value, data: e }) + .then(function (e) { + var u = e.orderNo; + a.redirectTo({ + url: "/pages/pay-success/index", + params: { orderNo: u }, + }); + }) + .catch(function (e) { + var u = e.orderNo; + a.redirectTo({ + url: "/pages/pay-fail/index", + params: { orderNo: u }, + }); + }); + }); + }; + return ( + u.onMounted(function (u) { + (T.value = u.productType), + (A.value = u.queryType), + (P.value = u.vehicleType), + (I.value = u.vin), + (C.value = u.vehicleNo), + c.isSupportWeChatPay() + ? (g.value = i.PayMethodEnum.WECHAT_PAY) + : c.isSupportAliPay() + ? (g.value = i.PayMethodEnum.ALI_PAY) + : (g.value = null), + (T.value != i.ProductTypeEnum.OVERALL && + T.value != i.ProductTypeEnum.INSURANCE_MAINTAIN && + T.value != i.ProductTypeEnum.ACCIDENT) || + ((S.value = [ + { + product_id: i.ProductTypeEnum.OVERALL, + origin_price: ( + Number(l.value.origin_price) + Number(v.value.origin_price) + ).toFixed(2), + price: ( + Number(l.value.price) + + Number(v.value.price) - + 10 + ).toFixed(2), + product_name: "综合车况", + product_desc: "维保、出险一起查,全面还原真实车况", + recommend: !0, + }, + l.value, + v.value, + ]), + T.value == i.ProductTypeEnum.OVERALL && (h.value = 0), + T.value == i.ProductTypeEnum.INSURANCE_MAINTAIN && (h.value = 1), + T.value == i.ProductTypeEnum.ACCIDENT && (h.value = 2)), + (T.value != i.ProductTypeEnum.SALI && + T.value != i.ProductTypeEnum.COMMERICAL_INSURANCE) || + ((S.value = [y.value, E.value]), + T.value == i.ProductTypeEnum.COMMERICAL_INSURANCE && + (h.value = 0), + T.value == i.ProductTypeEnum.SALI && (h.value = 1)), + T.value == i.ProductTypeEnum.SALI_CHECK && (S.value = [_.value]), + T.value == i.ProductTypeEnum.VEHICLE_FIVE && (S.value = [m.value]), + T.value == i.ProductTypeEnum.VIOLATION && (S.value = [f.value]), + T.value == i.ProductTypeEnum.VEHICLE_STATUS && + (S.value = [s.value]), + Promise.resolve().then(function () { + o.getPriceList({ + vin: A.value === i.QueryTypeEnum.VIN ? I.value : "", + }).then(function (u) { + if (u) { + var r = e._.find(u, function (e) { + return ( + e.product_id === i.ProductTypeEnum.INSURANCE_MAINTAIN + ); + }), + n = e._.find(u, function (e) { + return e.product_id === i.ProductTypeEnum.ACCIDENT; + }), + o = e._.find(u, function (e) { + return e.product_id === i.ProductTypeEnum.VEHICLE_FIVE; + }), + c = e._.find(u, function (e) { + return ( + e.product_id === i.ProductTypeEnum.COMMERICAL_INSURANCE + ); + }), + a = e._.find(u, function (e) { + return e.product_id === i.ProductTypeEnum.SALI; + }), + d = e._.find(u, function (e) { + return e.product_id === i.ProductTypeEnum.VEHICLE_STATUS; + }), + p = e._.cloneDeep(S.value); + e._.each(p, function (e) { + e.product_id === i.ProductTypeEnum.OVERALL && + ((e.origin_price = ( + Number(r.origin_price) + Number(n.origin_price) + ).toFixed(2)), + (e.price = ( + Number(r.price) + + Number(n.price) - + 10 + ).toFixed(2))), + e.product_id === i.ProductTypeEnum.INSURANCE_MAINTAIN && + ((e.origin_price = Number(r.origin_price).toFixed(2)), + (e.price = Number(r.price).toFixed(2))), + e.product_id === i.ProductTypeEnum.ACCIDENT && + ((e.origin_price = Number(n.origin_price).toFixed(2)), + (e.price = Number(n.price).toFixed(2))), + e.product_id === i.ProductTypeEnum.VEHICLE_FIVE && + ((e.origin_price = Number(o.origin_price).toFixed(2)), + (e.price = Number(o.price).toFixed(2))), + e.product_id === i.ProductTypeEnum.COMMERICAL_INSURANCE && + ((e.origin_price = Number(c.origin_price).toFixed(2)), + (e.price = Number(c.price).toFixed(2))), + e.product_id === i.ProductTypeEnum.SALI && + ((e.origin_price = Number(a.origin_price).toFixed(2)), + (e.price = Number(a.price).toFixed(2))), + e.product_id === i.ProductTypeEnum.VEHICLE_STATUS && + ((e.origin_price = Number(d.origin_price).toFixed(2)), + (e.price = Number(d.price).toFixed(2))); + }), + (S.value = p); + } + (N.value = !1), t.hideLoading(); + }); + }); + }), + r.onShareAppMessage(), + function (u, r) { + return e.e( + { a: !N.value }, + N.value + ? {} + : e.e( + { + b: A.value === e.unref(i.QueryTypeEnum).VIN && L.value.name, + }, + A.value === e.unref(i.QueryTypeEnum).VIN && L.value.name + ? { + c: L.value.logo, + d: e.t(L.value.name), + e: e.t(L.value.vin), + } + : e.e( + { f: A.value === e.unref(i.QueryTypeEnum).VEHICLE_NO }, + A.value === e.unref(i.QueryTypeEnum).VEHICLE_NO + ? { g: e.p({ data: C.value, "font-size": "32rpx" }) } + : {}, + { h: A.value === e.unref(i.QueryTypeEnum).VIN }, + A.value === e.unref(i.QueryTypeEnum).VIN + ? { i: e.t(I.value) } + : {} + ), + { + j: e.f(S.value, function (u, r, n) { + return e.e( + { a: e.t(u.product_name), b: u.recommend }, + (u.recommend, {}), + { + c: e.t(u.origin_price), + d: e.t(u.price), + e: e.t(u.product_desc), + f: h.value === r ? 1 : "", + g: r, + h: h.value === r, + i: r, + } + ); + }), + k: e.o(M), + l: !x(), + }, + (x(), {}), + { + m: + T.value == e.unref(i.ProductTypeEnum).SALI || + T.value == + e.unref(i.ProductTypeEnum).COMMERICAL_INSURANCE, + }, + (T.value == e.unref(i.ProductTypeEnum).SALI || + (T.value, e.unref(i.ProductTypeEnum).COMMERICAL_INSURANCE), + {}), + { + n: e.p({ + minute: 10, + "font-size": 28, + color: "#ffffff", + "splitor-color": "#FA5E29", + "background-color": "#FA5E29", + }), + o: e.t( + S.value[h.value].origin_price - S.value[h.value].price + ), + p: e.unref(c.isSupportWeChatPay)(), + }, + e.unref(c.isSupportWeChatPay)() + ? { + q: e.unref(i.PayMethodEnum).WECHAT_PAY, + r: g.value === e.unref(i.PayMethodEnum).WECHAT_PAY, + } + : {}, + { s: e.unref(c.isSupportAliPay)() }, + e.unref(c.isSupportAliPay)() + ? { + t: e.unref(i.PayMethodEnum).ALI_PAY, + v: g.value === e.unref(i.PayMethodEnum).ALI_PAY, + } + : {}, + { w: e.o(b), x: e.t(S.value[h.value].price), y: e.o(V) } + ) + ); + } + ); + }, + }, + v = e._export_sfc(l, [["__scopeId", "data-v-0986fd70"]]); +(l.__runtimeHooks = 2), wx.createPage(v); diff --git a/pages/order-confirm/index.json b/pages/order-confirm/index.json new file mode 100644 index 0000000..8de5452 --- /dev/null +++ b/pages/order-confirm/index.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "订单确认", + "usingComponents": { + "uni-countdown": "../../uni_modules/uni-countdown/components/uni-countdown/uni-countdown", + "divider": "../../components/divider/index", + "vehicle-number": "../../components/vehicle-number/index" + } +} diff --git a/pages/order-confirm/index.wxml b/pages/order-confirm/index.wxml new file mode 100644 index 0000000..e7efd55 --- /dev/null +++ b/pages/order-confirm/index.wxml @@ -0,0 +1,160 @@ + + + + + + + 车型:{{d}} + VIN :{{e}} + + + + + + + 车牌: + + + + + VIN: + + {{i}} + + + + + + + + 真实数据 + + 全面还原真实车况 + + + + 请确认您购买的产品 + + + + + + + 报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。 + + + + 购买须知 + + 通过车架号,查询车辆当前车险信息(不支持往年车险),存在以下两种情况: + 1. + 如果车辆正常在保:有保险公司名称、起保日期、终保日期等信息。 + 2. + 如果车辆已经脱保:则不会有上述信息。 + + 请购买之前认真阅读,一旦报告结果查出,概不退款。 + + + + + + 限时优惠 + + + + + + ¥{{o}} + + + + 支付方式 + + + + + + + + + 实付: + ¥{{x}} + + + 确认购买 + + + diff --git a/pages/order-confirm/index.wxss b/pages/order-confirm/index.wxss new file mode 100644 index 0000000..221fc7e --- /dev/null +++ b/pages/order-confirm/index.wxss @@ -0,0 +1,305 @@ +.content.data-v-0986fd70 { + padding: 30rpx 30rpx 180rpx; +} +.content .title.data-v-0986fd70 { + border-bottom: 2rpx solid #f2f2f2; + color: #444; + font-size: 32rpx; + font-weight: 700; + padding-bottom: 30rpx; +} +.content .header.data-v-0986fd70 { + background-color: #fff; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + flex-direction: column; + padding: 30rpx; +} +.content .header .header-content.data-v-0986fd70 { + align-items: center; + border-bottom: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + padding-bottom: 30rpx; +} +.content .header .header-content .car.data-v-0986fd70 { + height: 70rpx; + margin-right: 20rpx; + width: 152rpx; +} +.content .header .header-content .vehicle-number.data-v-0986fd70 { + height: 90rpx; + margin-right: 20rpx; + width: 90rpx; +} +.content .header .header-content .desc.data-v-0986fd70 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin-left: 20rpx; +} +.content .header .header-content .vehicle-info.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; + width: 100%; +} +.content .header .header-content .vehicle-info .logo.data-v-0986fd70 { + flex-shrink: 0; + height: 120rpx; + width: 120rpx; +} +.content .header .header-content .vehicle-info .right-content.data-v-0986fd70 { + margin-left: 30rpx; +} +.content + .header + .header-content + .vehicle-info + .right-content + .desc.data-v-0986fd70 { + font-size: 28rpx; + margin: 12rpx 0; +} +.content .header .tips-info.data-v-0986fd70 { + justify-content: space-between; + margin-top: 30rpx; +} +.content .header .tips-info .left-content.data-v-0986fd70, +.content .header .tips-info.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .header .tips-info .left-content image.data-v-0986fd70 { + height: 40rpx; + width: 40rpx; +} +.content .header .tips-info .left-content text.data-v-0986fd70 { + font-size: 28rpx; + margin-left: 5rpx; +} +.content .header .tips-info .right-content.data-v-0986fd70 { + color: #9a9a9a; + font-size: 28rpx; +} +.content .wrap.data-v-0986fd70 { + background-color: #fff; + border-radius: 10rpx; + margin-top: 30rpx; + padding: 30rpx; +} +.content .wrap radio.data-v-0986fd70 { + flex-shrink: 0; + transform: scale(0.8); +} +.content .wrap .product-group label.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 25rpx 0; + width: 100%; +} +.content .wrap .product-group label .product.data-v-0986fd70 { + border: 1rpx solid #f2f2f2; + border-radius: 10rpx; + flex-grow: 1; + margin-right: 20rpx; + padding: 30rpx; +} +.content .wrap .product-group label .product.selected.data-v-0986fd70 { + background-color: rgba(250, 93, 41, 0.03); + border-color: #fa5e29; +} +.content .wrap .product-group label .product .top.data-v-0986fd70 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + font-weight: 700; + justify-content: space-between; +} +.content + .wrap + .product-group + label + .product + .top + .product-name.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; + position: relative; +} +.content + .wrap + .product-group + label + .product + .top + .product-name + .recommend.data-v-0986fd70 { + background-color: #21252c; + border-bottom-right-radius: 10rpx; + border-top-left-radius: 10rpx; + border-top-right-radius: 10rpx; + color: #dadbad; + font-size: 24rpx; + padding: 0 4rpx; + position: absolute; + right: -60rpx; + top: -10rpx; +} +.content + .wrap + .product-group + label + .product + .top + .product-price.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content + .wrap + .product-group + label + .product + .top + .product-price + .origin.data-v-0986fd70 { + color: #d71714; + font-size: 24rpx; + text-decoration: line-through; +} +.content .wrap .product-group label .product-desc.data-v-0986fd70 { + color: #5f5f5f; + font-size: 26rpx; + margin: 10rpx 0; +} +.content .wrap .pay-group.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + font-size: 32rpx; +} +.content .wrap .pay-group label.data-v-0986fd70 { + align-items: center; + border-bottom: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + justify-content: space-between; + padding: 40rpx 0; + width: 100%; +} +.content .wrap .pay-group label image.data-v-0986fd70 { + flex-shrink: 0; + height: 56rpx; + margin-left: 10rpx; + width: 56rpx; +} +.content .wrap .pay-group label text.data-v-0986fd70 { + flex-grow: 1; + font-size: 30rpx; + margin-left: 30rpx; +} +.content .wrap .notice.data-v-0986fd70 { + background-color: #fff; + border-radius: 10rpx; + color: #ff7b00; + font-size: 26rpx; +} +.content .wrap .tips.data-v-0986fd70 { + font-size: 28rpx; + line-height: 1.5; + padding: 20rpx 0; +} +.content .coupon.data-v-0986fd70 { + background-color: #fff; + border-radius: 10rpx; + height: 220rpx; + margin-top: 30rpx; + padding: 10rpx 30rpx; +} +.content .coupon .top.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; + height: 60rpx; +} +.content .coupon .top image.data-v-0986fd70 { + height: 50rpx; + margin-right: 10rpx; + width: 50rpx; +} +.content .coupon .top text.data-v-0986fd70 { + color: #e83319; + font-size: 30rpx; + font-weight: 700; +} +.content .coupon-content.data-v-0986fd70 { + align-items: center; + background-color: rgba(250, 93, 41, 0.027); + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + height: 110rpx; + justify-content: space-between; + margin-top: 10rpx; + padding: 0 30rpx; + position: relative; +} +.content .coupon-content .price.data-v-0986fd70 { + color: #fa5e29; + font-size: 40rpx; + font-weight: 700; +} +.content .pay-content.data-v-0986fd70 { + align-items: center; + background: #fff; + border-top: 1rpx solid #d2d2d2; + bottom: 0; + display: -webkit-flex; + display: flex; + height: 150rpx; + justify-content: space-between; + left: 0; + padding: 0 50rpx; + position: fixed; + width: 100%; + z-index: 99; +} +.content .pay-content .price.data-v-0986fd70 { + align-items: center; + display: -webkit-flex; + display: flex; + font-weight: 700; +} +.content .pay-content .price .label.data-v-0986fd70 { + font-size: 28rpx; + margin-top: 10rpx; +} +.content .pay-content .price .amount.data-v-0986fd70 { + color: #fa5e29; + font-size: 40rpx; +} +.content .pay-content .button.data-v-0986fd70 { + align-items: center; + background: linear-gradient(90deg, #fc8633, #fa5e29); + border-radius: 100rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + font-weight: 700; + height: 65rpx; + justify-content: center; + width: 180rpx; +} diff --git a/pages/order-detail/index.js b/pages/order-detail/index.js new file mode 100644 index 0000000..ceceaa1 --- /dev/null +++ b/pages/order-detail/index.js @@ -0,0 +1,429 @@ +var u = require("../../common/vendor.js"), + e = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShareAppMessage.js"), + n = require("../../service/index.js"), + r = require("../../enums/index.js"), + a = require("../../config/index.js"), + o = require("../../utils/util.js"), + s = require("../../utils/navigate.js"), + i = require("../../utils/common.js"), + d = require("../../utils/vin.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + require("../../utils/request.js"), + require("../../constant/index.js"), + Array || u.resolveComponent("uni-load-more")(); +Math || + ( + u.unref(v) + + function () { + return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js"; + } + + u.unref(f) + + u.unref(p) + + u.unref(c) + + u.unref(l) + )(); +var c = function () { + return "../../components/popup-upload-tips/index.js"; + }, + l = function () { + return "../../components/popup-pay-again/index.js"; + }, + f = function () { + return "../../components/float-refresh/index.js"; + }, + v = function () { + return "../../components/vehicle-number/index.js"; + }, + p = function () { + return "../../components/popup-modify-vin/index.js"; + }, + E = { + __name: "index", + setup: function (c) { + var l = u.ref(!0), + f = u.ref(""), + v = u.ref(""), + p = u.ref({}), + E = u.ref(!1), + m = u.ref(!1), + I = u.ref(!1), + N = function () { + var u = E.value || m.value || I.value; + return "height: 100%; overflow: " + .concat(u ? "hidden" : "visible", "; position: ") + .concat(u ? "fixed" : "relative"); + }, + S = function () { + return u._.find(p.value.productList, function (u) { + return u.status === r.ProductStatusEnum.TO_BE_UPLOADED; + }); + }, + _ = function () { + var e = !1; + return ( + !u._.find(p.value.productList, function (u) { + return ( + u.product_id !== r.ProductTypeEnum.INSURANCE_MAINTAIN && + u.product_id !== r.ProductTypeEnum.ACCIDENT + ); + }) && + p.value.vin && + (p.value.status === r.OrderStatusEnum.UNPAID && (e = !0), + u._.find(p.value.productList, function (u) { + return u.status === r.ProductStatusEnum.TO_BE_UPLOADED; + }) && (e = !0)), + e + ); + }, + P = function () { + u.index.setClipboardData({ data: v.value }).then(function () { + o.showToast("订单编号已复制"); + }); + }, + O = function () { + u.index.setClipboardData({ data: p.value.vin }).then(function () { + o.showToast("VIN车架号已复制"); + }); + }, + T = function (u) { + var e = u.order_no, + t = u.product_id, + n = u.status; + i.openReport({ orderNo: e, productId: t, status: n }); + }, + A = function () { + o.showToast("已经帮您催了,请耐心等待一会儿..."); + }, + h = function () { + i.queryWithoutDrivingLicense({ orderNo: v.value }).then(function () { + s.redirectTo({ url: "/pages/upload-success/index" }); + }); + }, + y = function () { + m.value = !1; + }, + D = function () { + x(r.PayMethodEnum.WECHAT_PAY); + }, + C = function () { + I.value = !1; + }, + g = function (u) { + x(u), (I.value = !1); + }, + x = function (u) { + o.showLoading("支付中"), + n + .payOrderAgain({ payMethod: u, order_no: v.value }) + .then(function (e) { + i.payForOrder({ payMethod: u, data: e }) + .then(function (u) { + var e = u.orderNo; + s.redirectTo({ + url: "/pages/pay-success/index", + params: { orderNo: e }, + }); + }) + .catch(function (u) { + var e = u.orderNo; + s.redirectTo({ + url: "/pages/pay-fail/index", + params: { orderNo: e }, + }); + }); + }); + }, + L = function () { + E.value = !0; + }, + U = function () { + E.value = !1; + }, + j = function (u) { + 0 !== u.length + ? u.length < 17 + ? o.showToast("请输入完整的VIN车架号") + : d.validateVIN(u) + ? i.modifyVin({ orderNo: v.value, vin: u }).then(function () { + setTimeout(function () { + return R(); + }, 500); + }) + : o.showToast("车架号有误,请检查后重新输入") + : o.showToast("请输入VIN车架号"); + }, + M = function (u) { + u.detail.path && switchTab({ url: u.detail.path }); + }, + R = function () { + (l.value = !0), + o.showLoading(), + n.getOrderDetail({ order_no: v.value }).then(function (u) { + (p.value = u), (l.value = !1), o.hideLoading(); + }); + }; + return ( + e.onMounted(function (e) { + u.index.$on("updateOrderDetail", function () { + return R(); + }), + (v.value = e.orderNo), + (f.value = e.productName), + u.index.setNavigationBarTitle({ + title: "".concat(e.productName, "-订单信息"), + }), + R(); + }, !1), + t.onShareAppMessage(), + function (e, t) { + return u.e( + { a: N(), b: !l.value }, + l.value + ? {} + : u.e( + { + c: + p.value.carBrand && + (p.value.carBrand.logo || p.value.carBrand.name), + }, + p.value.carBrand && + (p.value.carBrand.logo || p.value.carBrand.name) + ? { + d: p.value.carBrand.logo, + e: u.t(p.value.carBrand.name), + } + : {}, + { f: u.t(p.value.order_no), g: u.o(P), h: p.value.car_no }, + p.value.car_no ? { i: u.p({ data: p.value.car_no }) } : {}, + { j: p.value.vin }, + p.value.vin ? { k: u.t(p.value.vin), l: u.o(O) } : {}, + { m: p.value.total_money }, + p.value.total_money + ? { n: u.t((p.value.total_money / 100).toFixed(2)) } + : {}, + { o: p.value.status === u.unref(r.OrderStatusEnum).UNPAID }, + (p.value.status, u.unref(r.OrderStatusEnum).UNPAID, {}), + { p: p.value.status === u.unref(r.OrderStatusEnum).PAID }, + p.value.status === u.unref(r.OrderStatusEnum).PAID + ? { q: u.t(u.unref(i.getOrderStatus)(p.value.productList)) } + : {}, + { r: p.value.status === u.unref(r.OrderStatusEnum).REFUND }, + (p.value.status, u.unref(r.OrderStatusEnum).REFUND, {}), + { s: p.value.status === u.unref(r.OrderStatusEnum).COMPLETE }, + (p.value.status, u.unref(r.OrderStatusEnum).COMPLETE, {}), + { + t: u.t(p.value.create_time), + v: + (p.value.status === u.unref(r.OrderStatusEnum).PAID || + p.value.status === + u.unref(r.OrderStatusEnum).COMPLETE) && + p.value.payInfo, + }, + (p.value.status !== u.unref(r.OrderStatusEnum).PAID && + p.value.status !== u.unref(r.OrderStatusEnum).COMPLETE) || + !p.value.payInfo + ? {} + : { w: u.t(p.value.payInfo.update_time) }, + { + x: + (p.value.status === u.unref(r.OrderStatusEnum).PAID || + p.value.status === + u.unref(r.OrderStatusEnum).COMPLETE) && + p.value.payInfo, + }, + (p.value.status !== u.unref(r.OrderStatusEnum).PAID && + p.value.status !== u.unref(r.OrderStatusEnum).COMPLETE) || + !p.value.payInfo + ? {} + : { y: u.t(p.value.payInfo.trade_no) }, + { + z: + (p.value.status === u.unref(r.OrderStatusEnum).PAID || + p.value.status === + u.unref(r.OrderStatusEnum).COMPLETE) && + p.value.payInfo, + }, + (p.value.status !== u.unref(r.OrderStatusEnum).PAID && + p.value.status !== u.unref(r.OrderStatusEnum).COMPLETE) || + !p.value.payInfo + ? {} + : u.e( + { A: [1, 2].indexOf(p.value.payInfo.source_from) > -1 }, + ([1, 2].indexOf(p.value.payInfo.source_from), {}), + { B: 3 === p.value.payInfo.source_from }, + (p.value.payInfo.source_from, {}) + ), + { C: p.value.productList }, + p.value.productList + ? { + D: u.f(p.value.productList, function (e, t, n) { + return u.e( + { + a: u.t( + u.unref(i.getProduct)(e.product_id).product_name + ), + b: u.t( + u.unref(i.getProduct)(e.product_id).product_desc + ), + c: + p.value.status !== + u.unref(r.OrderStatusEnum).REFUND && + e.status === + u.unref(r.ProductStatusEnum).IN_QUERY, + }, + p.value.status !== + u.unref(r.OrderStatusEnum).REFUND && + e.status === u.unref(r.ProductStatusEnum).IN_QUERY + ? { + d: "b85a2168-1-" + n, + e: u.p({ + iconType: "snow", + iconSize: 20, + status: "loading", + showText: !1, + }), + } + : {}, + p.value.status !== u.unref(r.OrderStatusEnum).REFUND + ? u.e( + { + f: + e.status === + u.unref(r.ProductStatusEnum).SUCCESS, + }, + e.status === + u.unref(r.ProductStatusEnum).SUCCESS + ? { + g: u.o(function (u) { + return T(e); + }, e.id), + } + : {}, + { + h: + e.status === + u.unref(r.ProductStatusEnum).FAIL && + (e.product_id == + u.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN || + e.product_id === + u.unref(r.ProductTypeEnum).ACCIDENT), + }, + e.status !== + u.unref(r.ProductStatusEnum).FAIL || + (e.product_id != + u.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN && + e.product_id !== + u.unref(r.ProductTypeEnum).ACCIDENT) + ? {} + : { + i: u.o(function (u) { + return T(e); + }, e.id), + }, + { + j: + e.status === + u.unref(r.ProductStatusEnum).IN_QUERY, + }, + e.status === + u.unref(r.ProductStatusEnum).IN_QUERY + ? { k: u.o(A, e.id) } + : {}, + { + l: + e.status === + u.unref(r.ProductStatusEnum).FAIL && + e.product_id !== + u.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN && + e.product_id !== + u.unref(r.ProductTypeEnum).ACCIDENT, + }, + (e.status === + u.unref(r.ProductStatusEnum).FAIL && + e.product_id !== + u.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN && + (e.product_id, + u.unref(r.ProductTypeEnum).ACCIDENT), + {}) + ) + : {}, + { m: e.id } + ); + }), + E: p.value.status !== u.unref(r.OrderStatusEnum).REFUND, + } + : {}, + { F: p.value.status !== u.unref(r.OrderStatusEnum).REFUND }, + p.value.status !== u.unref(r.OrderStatusEnum).REFUND + ? u.e( + { G: S() }, + S() + ? u.e( + { H: p.value.vin }, + p.value.vin + ? { + I: u.o(function (u) { + return e.product, void (m.value = !0); + }), + } + : {}, + { + J: u.o(function (u) { + return ( + e.product, + void i + .chooseDrivingLicense({ + orderNo: v.value, + }) + .then(function () { + s.redirectTo({ + url: "/pages/upload-success/index", + }); + }) + ); + }), + } + ) + : {}, + { K: _() }, + _() ? { L: u.o(L) } : {}, + { + M: + p.value.status === + u.unref(r.OrderStatusEnum).UNPAID, + }, + p.value.status === u.unref(r.OrderStatusEnum).UNPAID + ? { N: u.o(D) } + : {} + ) + : {}, + { + O: u.unref(a.appName), + P: u.o(M), + Q: u.o(R), + R: u.p({ loading: l.value }), + S: u.o(U), + T: u.o(j), + U: u.p({ visible: E.value, "copy-vin": p.value.vin }), + V: u.o(y), + W: u.o(h), + X: u.p({ visible: m.value }), + Y: u.o(C), + Z: u.o(g), + aa: u.p({ visible: I.value }), + } + ) + ); + } + ); + }, + }, + m = u._export_sfc(E, [["__scopeId", "data-v-b85a2168"]]); +(E.__runtimeHooks = 2), wx.createPage(m); diff --git a/pages/order-detail/index.json b/pages/order-detail/index.json new file mode 100644 index 0000000..9d6e03c --- /dev/null +++ b/pages/order-detail/index.json @@ -0,0 +1,10 @@ +{ + "usingComponents": { + "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more", + "popup-upload-tips": "../../components/popup-upload-tips/index", + "popup-pay-again": "../../components/popup-pay-again/index", + "float-refresh": "../../components/float-refresh/index", + "vehicle-number": "../../components/vehicle-number/index", + "popup-modify-vin": "../../components/popup-modify-vin/index" + } +} diff --git a/pages/order-detail/index.wxml b/pages/order-detail/index.wxml new file mode 100644 index 0000000..9b3cd09 --- /dev/null +++ b/pages/order-detail/index.wxml @@ -0,0 +1,220 @@ + + + 订单信息 + + + + + {{e}} + + + + 订单编号 + + {{f}} + 复制 + + + + 车牌号码 + + + + VIN 号码 + + {{k}} + 复制 + + + + 订单金额 + ¥{{n}} + + + 订单状态 + 待付款 + 已付款{{q}} + 已退款 + 已完成 + + + 下单时间 + {{t}} + + + 付款时间 + {{w}} + + + 支付单号 + {{y}} + + + 支付方式 + 微信支付 + 支付宝支付 + + + + + + {{product.a}} + {{product.b}} + + + + + + + + 查看报告 + + + + + 查看报告 + + + + + 我要催单 + + 正在查询中,请耐心等待 + + + 查询失败,请联系客服 + + + + + + + + + 无法提供行驶证 + + + 上传行驶证 + + + + + + + + + + + + diff --git a/pages/order-detail/index.wxss b/pages/order-detail/index.wxss new file mode 100644 index 0000000..d4fbb9e --- /dev/null +++ b/pages/order-detail/index.wxss @@ -0,0 +1,291 @@ +.content.data-v-b85a2168 { + padding: 0 20rpx; +} +.content .card.data-v-b85a2168 { + background-color: #fff; + border-radius: 10rpx; + padding: 30rpx; +} +.content .card .vehicle-info.data-v-b85a2168 { + align-items: center; + border-bottom: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + margin-bottom: 20rpx; + padding-bottom: 10rpx; +} +.content .card .vehicle-info .logo.data-v-b85a2168 { + flex-shrink: 0; + height: 120rpx; + width: 120rpx; +} +.content .card .vehicle-info .right-content.data-v-b85a2168 { + margin-left: 30rpx; +} +.content .card .vehicle-info .right-content .desc.data-v-b85a2168 { + color: #333; + font-size: 30rpx; + margin: 12rpx 0; +} +.content .card .desc.data-v-b85a2168 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + justify-content: space-between; + margin: 20rpx 0; +} +.content .card .desc .label.data-v-b85a2168 { + color: #333; + flex-shrink: 0; + width: 155rpx; +} +.content .card .desc .value.data-v-b85a2168 { + color: #333; +} +.content .card .desc .value.vin.data-v-b85a2168 { + color: #1f68e9; +} +.content .card .desc .copy.data-v-b85a2168 { + color: #d71818; + margin-left: 15rpx; +} +.content .card .product-list.data-v-b85a2168 { + margin-top: 20rpx; + padding: 5rpx 0; +} +.content .card .product-list .product.data-v-b85a2168 { + border-top: 2rpx solid #f2f2f2; + padding: 20rpx 0; +} +.content .card .product-list .product .product-wrap.data-v-b85a2168 { + background-color: rgba(234, 241, 248, 0.408); + border-radius: 10rpx; + padding: 20rpx; +} +.content + .card + .product-list + .product + .product-wrap + .product-content.data-v-b85a2168 { + color: #555; + position: relative; +} +.content + .card + .product-list + .product + .product-wrap + .product-content + .product-name.data-v-b85a2168 { + font-size: 30rpx; + font-weight: 700; +} +.content + .card + .product-list + .product + .product-wrap + .product-content + .product-desc.data-v-b85a2168 { + color: #5f5f5f; + font-size: 28rpx; + margin-top: 5rpx; +} +.content + .card + .product-list + .product + .product-wrap + .product-content + .loading.data-v-b85a2168 { + position: absolute; + right: 0; + top: 0; +} +.content + .card + .product-list + .product + .product-wrap + .button-content.data-v-b85a2168 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: row-reverse; +} +.content + .card + .product-list + .product + .product-wrap + .button-content + .button.data-v-b85a2168 { + align-items: center; + border-radius: 30rpx; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + height: 60rpx; + justify-content: center; + margin-top: 10rpx; + width: 165rpx; +} +.content + .card + .product-list + .product + .product-wrap + .button-content + .button.type1.data-v-b85a2168 { + border: 2rpx solid #1f68e9; + color: #1f68e9; +} +.content + .card + .product-list + .product + .product-wrap + .button-content + .button.type2.data-v-b85a2168 { + border: 2rpx solid #c4c8d1; +} +.content + .card + .product-list + .product + .product-wrap + .button-content + .button.type3.data-v-b85a2168 { + border: none; + color: brown; + width: auto; +} +.content + .card + .product-list + .product + .product-wrap + .button-content + .button.type4.data-v-b85a2168 { + color: #1f68e9; + margin-right: 10rpx; + width: 220rpx; +} +.content + .card + .product-list + .product + .product-wrap + .button-content + .button.type5.data-v-b85a2168 { + color: #ff7038; + font-size: 26rpx; + margin-right: 10rpx; + width: 300rpx; +} +.content .card .detail.data-v-b85a2168 { + font-size: 30rpx; +} +.content .card .detail .important.data-v-b85a2168 { + color: #d71818; + font-size: 28rpx; + font-weight: 700; +} +.content .card .concat-content.data-v-b85a2168 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: flex-end; +} +.content .card .concat-content .concat.data-v-b85a2168 { + align-items: center; + background-color: #fff; + border: 2rpx solid #1f68e9; + border-radius: 30rpx; + color: #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + height: 60rpx; + justify-content: center; + margin: 0 10rpx; + padding: 0; + width: 165rpx; +} +.content .card .bottom-content.data-v-b85a2168 { + align-items: center; + background-color: #fff; + border-top: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + justify-content: flex-end; + padding: 20rpx 10rpx 20rpx 0; +} +.content .card .bottom-content .button.data-v-b85a2168 { + align-items: center; + background-color: #fff; + border-radius: 30rpx; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + height: 60rpx; + justify-content: center; + margin: 0 10rpx; + padding: 0; + width: 165rpx; +} +.content .card .bottom-content .button.type1.data-v-b85a2168 { + background: #1f68e9; + color: #fff; +} +.content .card .bottom-content .button.type2.data-v-b85a2168 { + border: 2rpx solid #c4c8d1; +} +.content .card .bottom-content .button.type3.data-v-b85a2168 { + border: 2rpx solid #1f68e9; + color: #1f68e9; +} +.content .card .bottom-content .button.type4.data-v-b85a2168 { + color: #1f68e9; + margin-right: 10rpx; + width: 220rpx; +} +.content .card .bottom-content .button.type5.data-v-b85a2168 { + border: 2rpx solid #1f68e9; + color: #1f68e9; +} +.content .module-title.data-v-b85a2168 { + border-left: 6rpx solid #1f68e9; + box-sizing: border-box; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .contact.data-v-b85a2168, +.content .module-title.data-v-b85a2168 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .contact.data-v-b85a2168 { + background-color: #fff; + border-radius: 100%; + bottom: 180rpx; + box-shadow: 0 5rpx 15rpx rgba(0, 0, 0, 0.15); + height: 80rpx; + justify-content: center; + padding: 0; + position: fixed; + right: 40rpx; + width: 80rpx; + z-index: 10; +} +.content .contact image.data-v-b85a2168 { + height: 40rpx; + width: 40rpx; +} diff --git a/pages/order-list-mine/index.js b/pages/order-list-mine/index.js new file mode 100644 index 0000000..7c6e7ba --- /dev/null +++ b/pages/order-list-mine/index.js @@ -0,0 +1,495 @@ +var e = require("../../common/vendor.js"), + t = require("../../hooks/onMounted.js"), + u = require("../../hooks/onShareAppMessage.js"), + n = require("../../service/index.js"), + r = require("../../enums/index.js"), + o = require("../../utils/util.js"), + a = require("../../utils/navigate.js"), + s = require("../../utils/common.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/request.js"), + Array || e.resolveComponent("uni-load-more")(); +Math || + ( + e.unref(p) + + function () { + return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js"; + } + + e.unref(l) + + e.unref(c) + + e.unref(f) + + e.unref(i) + + e.unref(d) + )(); +var i = function () { + return "../../components/popup-upload-tips/index.js"; + }, + d = function () { + return "../../components/popup-pay-again/index.js"; + }, + c = function () { + return "../../components/float-refresh/index.js"; + }, + f = function () { + return "../../components/float-back-to-top/index.js"; + }, + l = function () { + return "../../components/empty/index.js"; + }, + p = function () { + return "../../components/vehicle-number/index.js"; + }, + v = { + __name: "index", + setup: function (i) { + var d = e.ref([ + { title: "全部", status: 0 }, + { title: "待付款", status: 4 }, + { title: "待上传", status: 5 }, + { title: "查询中", status: 2 }, + { title: "查询成功", status: 1 }, + ]), + c = e.ref(0), + f = e.ref(!0), + l = e.ref(!1), + p = e.ref(!1), + v = e.ref(1), + m = e.ref(r.PageStatusEnum.LOADING), + E = e.ref([]), + _ = e.ref(!1), + g = e.ref(!1), + S = e.ref(!1), + N = e.ref(null), + P = function () { + var e = g.value || S.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + h = function (t) { + return e._.find(t.productList, function (e) { + return e.status === r.ProductStatusEnum.TO_BE_UPLOADED; + }); + }, + I = function (e) { + var t = e.order_no, + u = e.product_id, + n = e.status; + s.openReport({ orderNo: t, productId: u, status: n }); + }, + T = function () { + o.showToast("已经帮您催了,请耐心等待一会儿..."); + }, + A = function () { + s.queryWithoutDrivingLicense({ orderNo: N.value.order_no }).then( + function () { + a.navigateTo({ url: "/pages/upload-success/index" }), + (g.value = !1); + } + ); + }, + O = function () { + g.value = !1; + }, + x = function () { + S.value = !1; + }, + y = function (e) { + D(e), (S.value = !1); + }, + D = function (e) { + o.showLoading("支付中"), + n + .payOrderAgain({ payMethod: e, order_no: N.value.order_no }) + .then(function (t) { + s.payForOrder({ payMethod: e, data: t }) + .then(function (e) { + var t = e.orderNo; + a.navigateTo({ + url: "/pages/pay-success/index", + params: { orderNo: t }, + }); + }) + .catch(function (e) { + var t = e.orderNo; + a.navigateTo({ + url: "/pages/pay-fail/index", + params: { orderNo: t }, + }); + }); + }); + }, + L = function () { + return m.value === r.PageStatusEnum.NOMORE + ? Promise.resolve() + : ((m.value = r.PageStatusEnum.LOADING), + n + .getOrderList({ + page: v.value, + status: d.value[c.value].status, + }) + .then(function (t) { + var u = t.data, + n = t.per_page; + 0 === u.length && 0 === E.value.length + ? (p.value = !0) + : ((p.value = !1), + u.length < n && (m.value = r.PageStatusEnum.NOMORE), + 1 === v.value + ? (E.value = u) + : (E.value = e._.concat(E.value, u))); + })); + }, + j = function () { + o.showLoading(), + (_.value = !0), + (m.value = ""), + (v.value = 1), + L().then(function () { + (_.value = !1), + o.hideLoading(), + e.index.stopPullDownRefresh(), + e.index.pageScrollTo({ scrollTop: 0, duration: 100 }); + }); + }; + return ( + t.onMounted(function (t) { + var u = t.tabIndex; + e.index.$on("updateMyOrderList", function (e) { + j(); + }), + (c.value = u || 0), + L().then(function () { + (f.value = !1), + o.hideLoading(), + e.index.pageScrollTo({ scrollTop: 0, duration: 100 }); + }); + }), + e.onPullDownRefresh(function () { + j(); + }), + e.onReachBottom(function () { + v.value++, L(); + }), + e.onPageScroll(function (t) { + var u = t.scrollTop; + l.value = u >= e.index.getSystemInfoSync().windowHeight / 3; + }), + u.onShareAppMessage(), + function (t, u) { + return e.e( + { a: P(), b: !f.value }, + f.value + ? {} + : e.e( + { + c: e.f(d.value, function (t, u, n) { + return { + a: e.t(t.title), + b: e.n(c.value === u ? "active" : ""), + c: u, + d: e.o(function (t) { + return (function (t) { + var u = t.index; + c.value !== u && + ((v.value = 1), + (m.value = ""), + (E.value = []), + (c.value = u), + o.showLoading(), + L().then(function () { + o.hideLoading(), + e.index.pageScrollTo({ + scrollTop: 0, + duration: 100, + }); + })); + })({ index: u }); + }, u), + }; + }), + d: !p.value, + }, + p.value + ? {} + : { + e: e.f(E.value, function (t, u, n) { + return e.e( + { + a: e.t( + e.unref(s.getProduct)(t.product_id).product_name + ), + b: t.status === e.unref(r.OrderStatusEnum).UNPAID, + }, + (t.status, e.unref(r.OrderStatusEnum).UNPAID, {}), + { c: t.status === e.unref(r.OrderStatusEnum).PAID }, + t.status === e.unref(r.OrderStatusEnum).PAID + ? { + d: e.t( + e.unref(s.getOrderStatus)(t.productList) + ), + } + : {}, + { + e: t.status === e.unref(r.OrderStatusEnum).REFUND, + }, + (t.status, e.unref(r.OrderStatusEnum).REFUND, {}), + { + f: + t.status === + e.unref(r.OrderStatusEnum).COMPLETE, + }, + (t.status, e.unref(r.OrderStatusEnum).COMPLETE, {}), + { g: e.t(t.order_no), h: t.car_name }, + t.car_name ? { i: e.t(t.car_name) } : {}, + { j: t.car_no }, + t.car_no + ? { + k: "2e6df7a1-0-" + n, + l: e.p({ data: t.car_no }), + } + : {}, + { m: t.vin }, + t.vin + ? { + n: e.t( + (t.vin || "") + .toString() + .replace(/^(.{5}).{6}/, "$1******") + ), + } + : {}, + { o: e.t(t.create_time), p: t.productList }, + t.productList + ? { + q: e.f(t.productList, function (u, o, a) { + return e.e( + { + a: e.t( + e.unref(s.getProduct)(u.product_id) + .product_name + ), + b: e.t( + e.unref(s.getProduct)(u.product_id) + .product_desc + ), + c: + t.status !== + e.unref(r.OrderStatusEnum).REFUND && + u.status === + e.unref(r.ProductStatusEnum) + .IN_QUERY, + }, + t.status !== + e.unref(r.OrderStatusEnum).REFUND && + u.status === + e.unref(r.ProductStatusEnum).IN_QUERY + ? { + d: "2e6df7a1-1-" + n + "-" + a, + e: e.p({ + iconType: "snow", + iconSize: 20, + status: "loading", + showText: !1, + }), + } + : {}, + t.status !== + e.unref(r.OrderStatusEnum).REFUND + ? e.e( + { + f: + u.status === + e.unref(r.ProductStatusEnum) + .SUCCESS, + }, + u.status === + e.unref(r.ProductStatusEnum) + .SUCCESS + ? { + g: e.o(function (e) { + return I(u); + }, u.id), + } + : {}, + { + h: + u.status === + e.unref(r.ProductStatusEnum) + .FAIL && + (u.product_id == + e.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN || + u.product_id === + e.unref(r.ProductTypeEnum) + .ACCIDENT), + }, + u.status !== + e.unref(r.ProductStatusEnum) + .FAIL || + (u.product_id != + e.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN && + u.product_id !== + e.unref(r.ProductTypeEnum) + .ACCIDENT) + ? {} + : { + i: e.o(function (e) { + return I(u); + }, u.id), + }, + { + j: + u.status === + e.unref(r.ProductStatusEnum) + .IN_QUERY, + }, + u.status === + e.unref(r.ProductStatusEnum) + .IN_QUERY + ? { k: e.o(T, u.id) } + : {}, + { + l: + u.status === + e.unref(r.ProductStatusEnum) + .FAIL && + u.product_id !== + e.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN && + u.product_id !== + e.unref(r.ProductTypeEnum) + .ACCIDENT, + }, + (u.status === + e.unref(r.ProductStatusEnum) + .FAIL && + u.product_id !== + e.unref(r.ProductTypeEnum) + .INSURANCE_MAINTAIN && + (u.product_id, + e.unref(r.ProductTypeEnum) + .ACCIDENT), + {}) + ) + : {}, + { m: u.id } + ); + }), + r: + t.status !== + e.unref(r.OrderStatusEnum).REFUND, + } + : {}, + { + s: t.status !== e.unref(r.OrderStatusEnum).REFUND, + }, + t.status !== e.unref(r.OrderStatusEnum).REFUND + ? e.e( + { + t: + t.status === + e.unref(r.OrderStatusEnum).UNPAID, + }, + t.status === e.unref(r.OrderStatusEnum).UNPAID + ? { + v: e.o(function (e) { + return ( + (u = t), + (N.value = u), + void D(r.PayMethodEnum.WECHAT_PAY) + ); + var u; + }, t.order_no), + } + : {}, + { w: h(t) }, + h(t) + ? e.e( + { + x: e.o(function (e) { + return ( + (u = t), + void s + .chooseDrivingLicense({ + orderNo: u.order_no, + }) + .then(function () { + a.navigateTo({ + url: "/pages/upload-success/index", + }); + }) + ); + var u; + }, t.order_no), + y: + t.vin || + t.type === + e.unref(r.ProductTypeEnum) + .VIOLATION, + }, + t.vin || + t.type === + e.unref(r.ProductTypeEnum).VIOLATION + ? { + z: e.o(function (e) { + return ( + (u = t), + (g.value = !0), + void (N.value = u) + ); + var u; + }, t.order_no), + } + : {} + ) + : {} + ) + : {}, + { + A: t.order_no, + B: e.o(function (e) { + return (function (e) { + var t = e.order_no, + u = e.product_id; + a.navigateTo({ + url: "/pages/order-detail/index", + params: { + orderNo: t, + productName: s.getProduct(u).product_name, + }, + }); + })(t); + }, t.order_no), + } + ); + }), + f: E.value.length, + g: e.p({ iconType: "snow", status: m.value }), + }, + { h: p.value }, + p.value ? { i: e.p({ info: "暂无订单记录" }) } : {}, + { + j: e.o(j), + k: e.p({ loading: _.value }), + l: e.p({ visible: l.value }), + m: e.o(O), + n: e.o(A), + o: e.p({ visible: g.value }), + p: e.o(x), + q: e.o(y), + r: e.p({ visible: S.value }), + } + ) + ); + } + ); + }, + }, + m = e._export_sfc(v, [["__scopeId", "data-v-2e6df7a1"]]); +(v.__runtimeHooks = 3), wx.createPage(m); diff --git a/pages/order-list-mine/index.json b/pages/order-list-mine/index.json new file mode 100644 index 0000000..6c90636 --- /dev/null +++ b/pages/order-list-mine/index.json @@ -0,0 +1,14 @@ +{ + "navigationBarTitleText": "我的订单", + "enablePullDownRefresh": true, + "onReachBottomDistance": 50, + "usingComponents": { + "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more", + "popup-upload-tips": "../../components/popup-upload-tips/index", + "popup-pay-again": "../../components/popup-pay-again/index", + "float-refresh": "../../components/float-refresh/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "empty": "../../components/empty/index", + "vehicle-number": "../../components/vehicle-number/index" + } +} diff --git a/pages/order-list-mine/index.wxml b/pages/order-list-mine/index.wxml new file mode 100644 index 0000000..0ef06c4 --- /dev/null +++ b/pages/order-list-mine/index.wxml @@ -0,0 +1,218 @@ + + + + {{item.a}} + + + + + {{item.a}} + 待付款 + + 已付款{{item.d}} + 已退款 + 已完成 + + + 订单编号: + {{item.g}} + + + 车辆型号: + {{item.i}} + + + 车牌号码: + + + + VIN 号码: + {{item.n}} + + + 下单时间: + {{item.o}} + + + + + + {{product.a}} + {{product.b}} + + + + + + + + 查看报告 + + + + + 查看报告 + + + + + 我要催单 + + 正在查询中,请耐心等待 + + + 查询失败,请联系客服 + + + + + + + + 去付款 + + + + 上传行驶证 + + + 无法提供行驶证 + + + + + + + + + + + + + + diff --git a/pages/order-list-mine/index.wxss b/pages/order-list-mine/index.wxss new file mode 100644 index 0000000..50c7347 --- /dev/null +++ b/pages/order-list-mine/index.wxss @@ -0,0 +1,257 @@ +.content.data-v-2e6df7a1 { + padding-bottom: 10rpx; +} +.content .tabs.data-v-2e6df7a1 { + align-items: center; + background-color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + height: 90rpx; + justify-content: space-evenly; + left: 0; + position: fixed; + top: 0; + width: 100%; + z-index: 55; +} +.content .tabs .tab.data-v-2e6df7a1 { + height: 90rpx; + line-height: 90rpx; +} +.content .tabs .tab.active.data-v-2e6df7a1 { + border-bottom: 4rpx solid #1f68e9; + color: #1f68e9; +} +.content .loading-content.data-v-2e6df7a1 { + margin: 30rpx; +} +.content .order.data-v-2e6df7a1 { + background: #fff; + border-radius: 10rpx; + margin: 25rpx; + padding: 25rpx 30rpx; +} +.content .order .title-content.data-v-2e6df7a1 { + align-items: center; + border-bottom: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin-bottom: 30rpx; + padding-bottom: 20rpx; +} +.content .order .title-content .product-name.data-v-2e6df7a1 { + color: #333; + font-size: 32rpx; + font-weight: 700; +} +.content .order .title-content .status.data-v-2e6df7a1 { + font-size: 28rpx; + font-weight: 700; +} +.content .order .title-content .status.type1.data-v-2e6df7a1 { + color: #eb010b; +} +.content .order .title-content .status.type2.data-v-2e6df7a1 { + color: #1f68e9; +} +.content .order .title-content .status.type3.data-v-2e6df7a1 { + color: #999; +} +.content .order .title-content .status.type4.data-v-2e6df7a1 { + color: #333; +} +.content .order .desc.data-v-2e6df7a1 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + margin: 15rpx 0; +} +.content .order .desc .label.data-v-2e6df7a1 { + color: #333; + flex-shrink: 0; + width: 155rpx; +} +.content .order .desc .value.data-v-2e6df7a1 { + color: #333; +} +.content .order .desc .value.vin.data-v-2e6df7a1 { + color: #1f68e9; +} +.content .order .product-list.data-v-2e6df7a1 { + margin-top: 20rpx; + padding: 5rpx 0; +} +.content .order .product-list .product.data-v-2e6df7a1 { + border-top: 2rpx solid #f2f2f2; + padding: 20rpx 0; +} +.content .order .product-list .product .product-wrap.data-v-2e6df7a1 { + background-color: rgba(234, 241, 248, 0.408); + border-radius: 10rpx; + padding: 20rpx; +} +.content + .order + .product-list + .product + .product-wrap + .product-content.data-v-2e6df7a1 { + color: #555; + position: relative; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .product-name.data-v-2e6df7a1 { + font-size: 30rpx; + font-weight: 700; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .product-desc.data-v-2e6df7a1 { + color: #5f5f5f; + font-size: 28rpx; + margin-top: 5rpx; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .loading.data-v-2e6df7a1 { + position: absolute; + right: 0; + top: 0; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .upload.data-v-2e6df7a1 { + color: #1f68e9; + font-size: 28rpx; + font-weight: 700; + position: absolute; + right: 0; + top: 0; +} +.content + .order + .product-list + .product + .product-wrap + .button-content.data-v-2e6df7a1 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: row-reverse; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.data-v-2e6df7a1 { + align-items: center; + border-radius: 30rpx; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + height: 60rpx; + justify-content: center; + margin-top: 10rpx; + width: 165rpx; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type1.data-v-2e6df7a1 { + border: 2rpx solid #1f68e9; + color: #1f68e9; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type2.data-v-2e6df7a1 { + border: 2rpx solid #c4c8d1; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type3.data-v-2e6df7a1 { + border: none; + color: brown; + width: auto; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type4.data-v-2e6df7a1 { + color: #ff7038; + font-size: 26rpx; + margin-right: 10rpx; + width: 300rpx; +} +.content .order .bottom-content.data-v-2e6df7a1 { + align-items: center; + border-top: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + flex-direction: row-reverse; + flex-grow: 1; + padding-top: 20rpx; +} +.content .order .bottom-content .button.data-v-2e6df7a1 { + align-items: center; + border-radius: 30rpx; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + height: 60rpx; + justify-content: center; + width: 165rpx; +} +.content .order .bottom-content .button.type1.data-v-2e6df7a1 { + background: #1f68e9; + color: #fff; +} +.content .order .bottom-content .button.type2.data-v-2e6df7a1 { + border: 2rpx solid #c4c8d1; +} +.content .order .bottom-content .button.type3.data-v-2e6df7a1 { + color: #1f68e9; + margin-right: 10rpx; + width: 220rpx; +} +.content .order .tips.data-v-2e6df7a1 { + color: #ff7038; + font-size: 25rpx; + margin-top: 20rpx; + text-align: right; +} diff --git a/pages/order-list/index.js b/pages/order-list/index.js new file mode 100644 index 0000000..847a8d8 --- /dev/null +++ b/pages/order-list/index.js @@ -0,0 +1,477 @@ +var e = require("../../common/vendor.js"), + u = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShow.js"), + n = require("../../hooks/onShareAppMessage.js"), + r = require("../../service/index.js"), + o = require("../../enums/index.js"), + a = require("../../utils/util.js"), + s = require("../../utils/navigate.js"), + i = require("../../utils/common.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/request.js"), + Array || e.resolveComponent("uni-load-more")(); +Math || + ( + e.unref(v) + + function () { + return "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js"; + } + + e.unref(p) + + e.unref(f) + + e.unref(l) + + e.unref(d) + + e.unref(c) + )(); +var d = function () { + return "../../components/popup-upload-tips/index.js"; + }, + c = function () { + return "../../components/popup-pay-again/index.js"; + }, + f = function () { + return "../../components/float-refresh/index.js"; + }, + l = function () { + return "../../components/float-back-to-top/index.js"; + }, + p = function () { + return "../../components/empty/index.js"; + }, + v = function () { + return "../../components/vehicle-number/index.js"; + }, + m = { + __name: "index", + setup: function (d) { + var c = e.ref(!0), + f = e.ref(!1), + l = e.ref(!1), + p = e.ref(1), + v = e.ref(o.PageStatusEnum.LOADING), + m = e.ref([]), + E = e.ref(!1), + _ = e.ref(!1), + S = e.ref(!1), + g = e.ref(null), + N = function () { + var e = _.value || S.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + h = function (u) { + return e._.find(u.productList, function (e) { + return e.status === o.ProductStatusEnum.TO_BE_UPLOADED; + }); + }, + P = function (e) { + var u = e.order_no, + t = e.product_id, + n = e.status; + i.openReport({ orderNo: u, productId: t, status: n }); + }, + I = function () { + a.showToast("已经帮您催了,请耐心等待一会儿..."); + }, + A = function () { + i.queryWithoutDrivingLicense({ orderNo: g.value.order_no }).then( + function () { + s.navigateTo({ url: "/pages/upload-success/index" }), + (_.value = !1); + } + ); + }, + T = function () { + _.value = !1; + }, + O = function () { + S.value = !1; + }, + x = function (e) { + y(e), (S.value = !1); + }, + y = function (e) { + a.showLoading("支付中"), + r + .payOrderAgain({ payMethod: e, order_no: g.value.order_no }) + .then(function (u) { + i.payForOrder({ payMethod: e, data: u }) + .then(function (e) { + var u = e.orderNo; + s.navigateTo({ + url: "/pages/pay-success/index", + params: { orderNo: u }, + }); + }) + .catch(function (e) { + var u = e.orderNo; + s.navigateTo({ + url: "/pages/pay-fail/index", + params: { orderNo: u }, + }); + }); + }); + }, + D = function () { + return v.value === o.PageStatusEnum.NOMORE + ? Promise.resolve() + : ((v.value = o.PageStatusEnum.LOADING), + r + .getOrderList({ page: p.value, status: 0 }) + .then(function (u) { + var t = u.data, + n = u.per_page; + 0 === t.length && 0 === m.value.length + ? (l.value = !0) + : ((l.value = !1), + t.length < n && (v.value = o.PageStatusEnum.NOMORE), + 1 === p.value + ? (m.value = t) + : (m.value = e._.concat(m.value, t))); + }) + .catch(function () { + l.value = !0; + }) + .finally(function () { + a.hideLoading(), e.index.stopPullDownRefresh(); + })); + }, + L = function () { + a.showLoading(), + (E.value = !0), + (v.value = ""), + (p.value = 1), + D().then(function () { + (E.value = !1), + a.hideLoading(), + e.index.stopPullDownRefresh(), + e.index.pageScrollTo({ scrollTop: 0, duration: 100 }); + }); + }; + return ( + u.onMounted(function () { + e.index.$on("updateOrderList", function (u) { + return (function (u) { + var t = e._.findIndex(m.value, function (e) { + return e.order_no === u; + }); + -1 === t + ? L() + : r.getOrderDetail({ order_no: u }).then(function (e) { + var u = m.value[t]; + (u.vin = e.vin), + (u.car_no = e.car_no), + (u.status = e.status), + (u.productList = e.productList), + (m.value[t] = u); + }); + })(u); + }), + D().then(function () { + (c.value = !1), + a.hideLoading(), + e.index.pageScrollTo({ scrollTop: 0, duration: 100 }); + }); + }), + e.onPullDownRefresh(function () { + L(); + }), + e.onReachBottom(function () { + p.value++, D(); + }), + e.onPageScroll(function (u) { + var t = u.scrollTop; + f.value = t >= e.index.getSystemInfoSync().windowHeight / 3; + }), + t.onShow(), + n.onShareAppMessage(), + function (u, t) { + return e.e( + { a: N(), b: !c.value }, + c.value + ? {} + : e.e( + { c: !l.value }, + l.value + ? {} + : { + d: e.f(m.value, function (u, t, n) { + return e.e( + { + a: e.t( + e.unref(i.getProduct)(u.product_id).product_name + ), + b: u.status === e.unref(o.OrderStatusEnum).UNPAID, + }, + (u.status, e.unref(o.OrderStatusEnum).UNPAID, {}), + { c: u.status === e.unref(o.OrderStatusEnum).PAID }, + u.status === e.unref(o.OrderStatusEnum).PAID + ? { + d: e.t( + e.unref(i.getOrderStatus)(u.productList) + ), + } + : {}, + { + e: u.status === e.unref(o.OrderStatusEnum).REFUND, + }, + (u.status, e.unref(o.OrderStatusEnum).REFUND, {}), + { + f: + u.status === + e.unref(o.OrderStatusEnum).COMPLETE, + }, + (u.status, e.unref(o.OrderStatusEnum).COMPLETE, {}), + { g: e.t(u.order_no), h: u.car_name }, + u.car_name ? { i: e.t(u.car_name) } : {}, + { j: u.car_no }, + u.car_no + ? { + k: "2f990aa7-0-" + n, + l: e.p({ data: u.car_no }), + } + : {}, + { m: u.vin }, + u.vin + ? { + n: e.t( + (u.vin || "") + .toString() + .replace(/^(.{5}).{6}/, "$1******") + ), + } + : {}, + { o: e.t(u.create_time), p: u.productList }, + u.productList + ? { + q: e.f(u.productList, function (t, r, a) { + return e.e( + { + a: e.t( + e.unref(i.getProduct)(t.product_id) + .product_name + ), + b: e.t( + e.unref(i.getProduct)(t.product_id) + .product_desc + ), + c: + u.status !== + e.unref(o.OrderStatusEnum).REFUND && + t.status === + e.unref(o.ProductStatusEnum) + .IN_QUERY, + }, + u.status !== + e.unref(o.OrderStatusEnum).REFUND && + t.status === + e.unref(o.ProductStatusEnum).IN_QUERY + ? { + d: "2f990aa7-1-" + n + "-" + a, + e: e.p({ + iconType: "snow", + iconSize: 20, + status: "loading", + showText: !1, + }), + } + : {}, + u.status !== + e.unref(o.OrderStatusEnum).REFUND + ? e.e( + { + f: + t.status === + e.unref(o.ProductStatusEnum) + .SUCCESS, + }, + t.status === + e.unref(o.ProductStatusEnum) + .SUCCESS + ? { + g: e.o(function (e) { + return P(t); + }, t.id), + } + : {}, + { + h: + t.status === + e.unref(o.ProductStatusEnum) + .FAIL && + (t.product_id == + e.unref(o.ProductTypeEnum) + .INSURANCE_MAINTAIN || + t.product_id === + e.unref(o.ProductTypeEnum) + .ACCIDENT), + }, + t.status !== + e.unref(o.ProductStatusEnum) + .FAIL || + (t.product_id != + e.unref(o.ProductTypeEnum) + .INSURANCE_MAINTAIN && + t.product_id !== + e.unref(o.ProductTypeEnum) + .ACCIDENT) + ? {} + : { + i: e.o(function (e) { + return P(t); + }, t.id), + }, + { + j: + t.status === + e.unref(o.ProductStatusEnum) + .IN_QUERY, + }, + t.status === + e.unref(o.ProductStatusEnum) + .IN_QUERY + ? { k: e.o(I, t.id) } + : {}, + { + l: + t.status === + e.unref(o.ProductStatusEnum) + .FAIL && + t.product_id !== + e.unref(o.ProductTypeEnum) + .INSURANCE_MAINTAIN && + t.product_id !== + e.unref(o.ProductTypeEnum) + .ACCIDENT, + }, + (t.status === + e.unref(o.ProductStatusEnum) + .FAIL && + t.product_id !== + e.unref(o.ProductTypeEnum) + .INSURANCE_MAINTAIN && + (t.product_id, + e.unref(o.ProductTypeEnum) + .ACCIDENT), + {}) + ) + : {}, + { m: t.id } + ); + }), + r: + u.status !== + e.unref(o.OrderStatusEnum).REFUND, + } + : {}, + { + s: u.status !== e.unref(o.OrderStatusEnum).REFUND, + }, + u.status !== e.unref(o.OrderStatusEnum).REFUND + ? e.e( + { + t: + u.status === + e.unref(o.OrderStatusEnum).UNPAID, + }, + u.status === e.unref(o.OrderStatusEnum).UNPAID + ? { + v: e.o(function (e) { + return ( + (t = u), + (g.value = t), + void y(o.PayMethodEnum.WECHAT_PAY) + ); + var t; + }, u.order_no), + } + : {}, + { w: h(u) }, + h(u) + ? e.e( + { + x: e.o(function (e) { + return ( + (t = u), + void i + .chooseDrivingLicense({ + orderNo: t.order_no, + }) + .then(function () { + s.navigateTo({ + url: "/pages/upload-success/index", + }); + }) + ); + var t; + }, u.order_no), + y: + u.vin || + u.type === + e.unref(o.ProductTypeEnum) + .VIOLATION, + }, + u.vin || + u.type === + e.unref(o.ProductTypeEnum).VIOLATION + ? { + z: e.o(function (e) { + return ( + (t = u), + (_.value = !0), + void (g.value = t) + ); + var t; + }, u.order_no), + } + : {} + ) + : {} + ) + : {}, + { + A: u.order_no, + B: e.o(function (e) { + return (function (e) { + var u = e.order_no, + t = e.product_id; + s.navigateTo({ + url: "/pages/order-detail/index", + params: { + orderNo: u, + productName: i.getProduct(t).product_name, + }, + }); + })(u); + }, u.order_no), + } + ); + }), + e: m.value.length, + f: e.p({ iconType: "snow", status: v.value }), + }, + { g: l.value }, + l.value ? { h: e.p({ info: "暂无订单记录" }) } : {}, + { + i: e.o(L), + j: e.p({ loading: E.value }), + k: e.p({ visible: f.value }), + l: e.o(T), + m: e.o(A), + n: e.p({ visible: _.value }), + o: e.o(O), + p: e.o(x), + q: e.p({ visible: S.value }), + } + ) + ); + } + ); + }, + }, + E = e._export_sfc(m, [["__scopeId", "data-v-2f990aa7"]]); +(m.__runtimeHooks = 3), wx.createPage(E); diff --git a/pages/order-list/index.json b/pages/order-list/index.json new file mode 100644 index 0000000..2c44836 --- /dev/null +++ b/pages/order-list/index.json @@ -0,0 +1,14 @@ +{ + "navigationBarTitleText": "订单", + "enablePullDownRefresh": true, + "onReachBottomDistance": 50, + "usingComponents": { + "uni-load-more": "../../uni_modules/uni-load-more/components/uni-load-more/uni-load-more", + "popup-upload-tips": "../../components/popup-upload-tips/index", + "popup-pay-again": "../../components/popup-pay-again/index", + "float-refresh": "../../components/float-refresh/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "empty": "../../components/empty/index", + "vehicle-number": "../../components/vehicle-number/index" + } +} diff --git a/pages/order-list/index.wxml b/pages/order-list/index.wxml new file mode 100644 index 0000000..6f2b2f7 --- /dev/null +++ b/pages/order-list/index.wxml @@ -0,0 +1,209 @@ + + + + + + {{item.a}} + 待付款 + + 已付款{{item.d}} + 已退款 + 已完成 + + + 订单编号: + {{item.g}} + + + 车辆型号: + {{item.i}} + + + 车牌号码: + + + + VIN 号码: + {{item.n}} + + + 下单时间: + {{item.o}} + + + + + + {{product.a}} + {{product.b}} + + + + + + + + 查看报告 + + + + + 查看报告 + + + + + 我要催单 + + 正在查询中,请耐心等待 + + + 查询失败,请联系客服 + + + + + + + + 去付款 + + + + 上传行驶证 + + + 无法提供行驶证 + + + + + + + + + + + + + + diff --git a/pages/order-list/index.wxss b/pages/order-list/index.wxss new file mode 100644 index 0000000..384f92a --- /dev/null +++ b/pages/order-list/index.wxss @@ -0,0 +1,235 @@ +.content.data-v-2f990aa7 { + padding-bottom: 10rpx; +} +.content .loading-content.data-v-2f990aa7 { + margin: 30rpx; +} +.content .order.data-v-2f990aa7 { + background: #fff; + border-radius: 10rpx; + margin: 25rpx; + padding: 25rpx 30rpx; +} +.content .order .title-content.data-v-2f990aa7 { + align-items: center; + border-bottom: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin-bottom: 30rpx; + padding-bottom: 20rpx; +} +.content .order .title-content .product-name.data-v-2f990aa7 { + color: #333; + font-size: 32rpx; + font-weight: 700; +} +.content .order .title-content .status.data-v-2f990aa7 { + font-size: 28rpx; + font-weight: 700; +} +.content .order .title-content .status.type1.data-v-2f990aa7 { + color: #eb010b; +} +.content .order .title-content .status.type2.data-v-2f990aa7 { + color: #1f68e9; +} +.content .order .title-content .status.type3.data-v-2f990aa7 { + color: #999; +} +.content .order .title-content .status.type4.data-v-2f990aa7 { + color: #333; +} +.content .order .desc.data-v-2f990aa7 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + margin: 15rpx 0; +} +.content .order .desc .label.data-v-2f990aa7 { + color: #333; + flex-shrink: 0; + width: 155rpx; +} +.content .order .desc .value.data-v-2f990aa7 { + color: #333; +} +.content .order .desc .value.vin.data-v-2f990aa7 { + color: #1f68e9; +} +.content .order .product-list.data-v-2f990aa7 { + margin-top: 20rpx; + padding: 5rpx 0; +} +.content .order .product-list .product.data-v-2f990aa7 { + border-top: 2rpx solid #f2f2f2; + padding: 20rpx 0; +} +.content .order .product-list .product .product-wrap.data-v-2f990aa7 { + background-color: rgba(234, 241, 248, 0.408); + border-radius: 10rpx; + padding: 20rpx; +} +.content + .order + .product-list + .product + .product-wrap + .product-content.data-v-2f990aa7 { + color: #555; + position: relative; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .product-name.data-v-2f990aa7 { + font-size: 30rpx; + font-weight: 700; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .product-desc.data-v-2f990aa7 { + color: #5f5f5f; + font-size: 28rpx; + margin-top: 5rpx; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .loading.data-v-2f990aa7 { + position: absolute; + right: 0; + top: 0; +} +.content + .order + .product-list + .product + .product-wrap + .product-content + .upload.data-v-2f990aa7 { + color: #1f68e9; + font-size: 28rpx; + font-weight: 700; + position: absolute; + right: 0; + top: 0; +} +.content + .order + .product-list + .product + .product-wrap + .button-content.data-v-2f990aa7 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: row-reverse; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.data-v-2f990aa7 { + align-items: center; + border-radius: 30rpx; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + height: 60rpx; + justify-content: center; + margin-top: 10rpx; + width: 165rpx; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type1.data-v-2f990aa7 { + border: 2rpx solid #1f68e9; + color: #1f68e9; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type2.data-v-2f990aa7 { + border: 2rpx solid #c4c8d1; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type3.data-v-2f990aa7 { + border: none; + color: brown; + width: auto; +} +.content + .order + .product-list + .product + .product-wrap + .button-content + .button.type4.data-v-2f990aa7 { + color: #ff7038; + font-size: 26rpx; + margin-right: 10rpx; + width: 300rpx; +} +.content .order .bottom-content.data-v-2f990aa7 { + align-items: center; + border-top: 2rpx solid #f2f2f2; + display: -webkit-flex; + display: flex; + flex-direction: row-reverse; + flex-grow: 1; + padding-top: 20rpx; +} +.content .order .bottom-content .button.data-v-2f990aa7 { + align-items: center; + border-radius: 30rpx; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + height: 60rpx; + justify-content: center; + width: 165rpx; +} +.content .order .bottom-content .button.type1.data-v-2f990aa7 { + background: #1f68e9; + color: #fff; +} +.content .order .bottom-content .button.type2.data-v-2f990aa7 { + border: 2rpx solid #c4c8d1; +} +.content .order .bottom-content .button.type3.data-v-2f990aa7 { + color: #1f68e9; + margin-right: 10rpx; + width: 220rpx; +} +.content .order .tips.data-v-2f990aa7 { + color: #ff7038; + font-size: 25rpx; + margin-top: 20rpx; + text-align: right; +} diff --git a/pages/pay-fail/index.js b/pages/pay-fail/index.js new file mode 100644 index 0000000..5213534 --- /dev/null +++ b/pages/pay-fail/index.js @@ -0,0 +1,92 @@ +var e = require("../../common/vendor.js"), + r = require("../../hooks/onMounted.js"), + n = require("../../hooks/onShareAppMessage.js"), + o = require("../../service/index.js"), + i = require("../../utils/navigate.js"), + u = require("../../utils/util.js"), + a = require("../../enums/index.js"), + t = require("../../utils/common.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/request.js"), + Math || (e.unref(d) + e.unref(c) + e.unref(s))(); +var s = function () { + return "../../components/popup-pay-again/index.js"; + }, + d = function () { + return "../../components/float-help/index.js"; + }, + c = function () { + return "../../components/float-share/index.js"; + }, + p = { + __name: "index", + setup: function (s) { + var d = e.ref(!0), + c = e.ref(""), + p = e.ref({}), + f = e.ref(!1), + l = function () { + i.redirectTo({ url: "/pages/order-list-mine/index" }); + }, + v = function () { + q(a.PayMethodEnum.WECHAT_PAY); + }, + h = function () { + f.value = !1; + }, + j = function (e) { + q(e), (f.value = !1); + }, + q = function (e) { + u.showLoading("支付中"), + o + .payOrderAgain({ payMethod: e, order_no: c.value }) + .then(function (r) { + t.payForOrder({ payMethod: e, data: r }) + .then(function (e) { + var r = e.orderNo; + i.redirectTo({ + url: "/pages/pay-success/index", + params: { orderNo: r }, + }); + }) + .catch(function (e) { + var r = e.orderNo; + i.redirectTo({ + url: "/pages/pay-fail/index", + params: { orderNo: r }, + }); + }); + }); + }; + return ( + r.onMounted(function (e) { + (c.value = e.orderNo), + o.getOrderDetail({ order_no: e.orderNo }).then(function (e) { + (p.value = e), (d.value = !1), u.hideLoading(); + }); + }), + n.onShareAppMessage(), + function (r, n) { + return e.e( + { a: !d.value }, + d.value + ? {} + : { + b: e.o(v), + c: e.o(l), + d: e.o(h), + e: e.o(j), + f: e.p({ visible: f.value }), + } + ); + } + ); + }, + }, + f = e._export_sfc(p, [["__scopeId", "data-v-cb7a366a"]]); +(p.__runtimeHooks = 2), wx.createPage(f); diff --git a/pages/pay-fail/index.json b/pages/pay-fail/index.json new file mode 100644 index 0000000..49ff8b8 --- /dev/null +++ b/pages/pay-fail/index.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "支付失败", + "usingComponents": { + "popup-pay-again": "../../components/popup-pay-again/index", + "float-help": "../../components/float-help/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/pay-fail/index.wxml b/pages/pay-fail/index.wxml new file mode 100644 index 0000000..64e0d2b --- /dev/null +++ b/pages/pay-fail/index.wxml @@ -0,0 +1,45 @@ + + + 支付失败 + 很遗憾,您没有支付成功 + + + + + + + + diff --git a/pages/pay-fail/index.wxss b/pages/pay-fail/index.wxss new file mode 100644 index 0000000..f2c1641 --- /dev/null +++ b/pages/pay-fail/index.wxss @@ -0,0 +1,68 @@ +page { + background-color: #fff; + overflow: visible !important; +} +.content.data-v-cb7a366a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + padding: 60rpx; +} +.content .pic.data-v-cb7a366a { + height: 207rpx; + margin-top: 120rpx; + width: 319rpx; +} +.content .pay-status.data-v-cb7a366a { + font-size: 42rpx; + font-weight: 700; + margin-top: 100rpx; +} +.content .tips.data-v-cb7a366a { + color: #5e5e6b; + font-size: 28rpx; + line-height: 44rpx; + margin-top: 40rpx; + padding: 0 20rpx; +} +.content .view-report.data-v-cb7a366a { + color: #1f68e9; + font-size: 32rpx; + font-weight: 700; + margin-top: 150rpx; +} +.content .button-content.data-v-cb7a366a { + padding: 0 20rpx; + width: 100%; +} +.content .button-content .button.data-v-cb7a366a { + background-color: #fff; + border-radius: 100rpx; + font-size: 32rpx; + height: 90rpx; + line-height: 90rpx; + padding: 0; + text-align: center; + width: 100%; +} +.content .button-content .button.type1.data-v-cb7a366a { + background-color: #1f68e9; + color: #fff; + margin-top: 60rpx; +} +.content .button-content .button.type2.data-v-cb7a366a { + background-color: #edf5ff; + color: #1f68e9; + margin-top: 40rpx; +} +.content .button-content .button.type3.data-v-cb7a366a { + border: 2rpx solid #c4c8d1; + margin-top: 40rpx; +} +.content .notice.data-v-cb7a366a { + color: rgba(94, 94, 107, 0.855); + font-size: 24rpx; + margin-top: 50rpx; + text-align: center; +} diff --git a/pages/pay-success/index.js b/pages/pay-success/index.js new file mode 100644 index 0000000..8fb9e33 --- /dev/null +++ b/pages/pay-success/index.js @@ -0,0 +1,113 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + u = require("../../hooks/onShareAppMessage.js"), + r = require("../../service/index.js"), + o = require("../../hooks/useState.js"), + i = require("../../utils/navigate.js"), + t = require("../../utils/util.js"), + s = require("../../utils/common.js"), + a = require("../../enums/index.js"); +require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/request.js"), + require("../../store/app/index.js"), + require("../../data/index.js"), + Math || (e.unref(l) + e.unref(f) + e.unref(d) + e.unref(c))(); +var c = function () { + return "../../components/popup-login/index.js"; + }, + d = function () { + return "../../components/popup-upload-tips/index.js"; + }, + l = function () { + return "../../components/float-help/index.js"; + }, + f = function () { + return "../../components/float-share/index.js"; + }, + p = { + __name: "index", + setup: function (c) { + var d = o.useState().mobile, + l = e.ref(!0), + f = e.ref(""), + p = e.ref({}), + v = e.ref(!1), + j = e.ref(!1), + m = function () { + i.redirectTo({ url: "/pages/order-list-mine/index" }); + }, + q = function () { + s.chooseDrivingLicense({ orderNo: f.value }).then(function () { + i.redirectTo({ url: "/pages/upload-success/index" }); + }); + }, + x = function () { + v.value = !0; + }, + h = function () { + s.queryWithoutDrivingLicense({ orderNo: f.value }).then(function () { + i.redirectTo({ url: "/pages/upload-success/index" }); + }); + }, + g = function () { + v.value = !1; + }, + _ = function () { + return ( + !!p.value.productList && + e._.find(p.value.productList, function (e) { + return ( + e.product_id === a.ProductTypeEnum.INSURANCE_MAINTAIN || + e.product_id === a.ProductTypeEnum.ACCIDENT + ); + }) + ); + }, + N = function () { + j.value = !1; + }; + return ( + n.onMounted(function (e) { + (f.value = e.orderNo), + r.getOrderDetail({ order_no: f.value }).then(function (e) { + d.value || + setTimeout(function () { + j.value = !0; + }, 300), + (p.value = e), + (l.value = !1), + t.hideLoading(); + }); + }), + u.onShareAppMessage(), + function (n, u) { + return e.e( + { a: !l.value }, + l.value + ? {} + : e.e( + { b: _() }, + (_(), {}), + { c: !_() }, + (_(), {}), + { d: _() }, + _() ? { e: e.o(q) } : {}, + { f: _() && p.value.vin }, + _() && p.value.vin ? { g: e.o(x) } : {}, + { + h: e.o(m), + i: e.o(g), + j: e.o(h), + k: e.p({ visible: v.value }), + l: e.o(N), + m: e.p({ visible: j.value }), + } + ) + ); + } + ); + }, + }, + v = e._export_sfc(p, [["__scopeId", "data-v-df5365c6"]]); +(p.__runtimeHooks = 2), wx.createPage(v); diff --git a/pages/pay-success/index.json b/pages/pay-success/index.json new file mode 100644 index 0000000..7a1c9d9 --- /dev/null +++ b/pages/pay-success/index.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "支付成功", + "usingComponents": { + "popup-login": "../../components/popup-login/index", + "popup-upload-tips": "../../components/popup-upload-tips/index", + "float-help": "../../components/float-help/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/pay-success/index.wxml b/pages/pay-success/index.wxml new file mode 100644 index 0000000..b06c736 --- /dev/null +++ b/pages/pay-success/index.wxml @@ -0,0 +1,68 @@ + + + 支付成功 + + 您已完成支付,为了更精确的查询,需提供行驶证后才能查看报告。 + + + 正常情况下,报告在3-15分钟内会有结果,车辆维保报告最快10-30分钟左右出结果。报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。 + + + + + + + + + + + diff --git a/pages/pay-success/index.wxss b/pages/pay-success/index.wxss new file mode 100644 index 0000000..d5ae04d --- /dev/null +++ b/pages/pay-success/index.wxss @@ -0,0 +1,68 @@ +page { + background-color: #fff; + overflow: visible !important; +} +.content.data-v-df5365c6 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + padding: 60rpx; +} +.content .pic.data-v-df5365c6 { + height: 210rpx; + margin-top: 120rpx; + width: 311rpx; +} +.content .pay-status.data-v-df5365c6 { + font-size: 42rpx; + font-weight: 700; + margin-top: 100rpx; +} +.content .tips.data-v-df5365c6 { + color: #5e5e6b; + font-size: 28rpx; + line-height: 44rpx; + margin-top: 40rpx; + padding: 0 20rpx; +} +.content .view-report.data-v-df5365c6 { + color: #1f68e9; + font-size: 32rpx; + font-weight: 700; + margin-top: 150rpx; +} +.content .button-content.data-v-df5365c6 { + padding: 0 20rpx; + width: 100%; +} +.content .button-content .button.data-v-df5365c6 { + background-color: #fff; + border-radius: 100rpx; + font-size: 32rpx; + height: 90rpx; + line-height: 90rpx; + padding: 0; + text-align: center; + width: 100%; +} +.content .button-content .button.type1.data-v-df5365c6 { + background-color: #1f68e9; + color: #fff; + margin-top: 60rpx; +} +.content .button-content .button.type2.data-v-df5365c6 { + background-color: #edf5ff; + color: #1f68e9; + margin-top: 40rpx; +} +.content .button-content .button.type3.data-v-df5365c6 { + border: 2rpx solid #c4c8d1; + margin-top: 40rpx; +} +.content .notice.data-v-df5365c6 { + color: rgba(94, 94, 107, 0.855); + font-size: 24rpx; + margin-top: 50rpx; + text-align: center; +} diff --git a/pages/question/index.js b/pages/question/index.js new file mode 100644 index 0000000..f7142a7 --- /dev/null +++ b/pages/question/index.js @@ -0,0 +1,84 @@ +var e = require("../../common/vendor.js"), + r = require("../../hooks/onMounted.js"), + n = require("../../hooks/onShareAppMessage.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/util.js"), + Array || e.resolveComponent("uni-icons")(), + Math; +var s = { + __name: "index", + setup: function (s) { + var i = e.ref([ + { + question: "一般多久可以生成报告?", + answer: + "正常情况下,报告在3-15分钟内会有结果,车辆维保报告最快10-30分钟左右出结果。报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。", + }, + { + question: "报告查询失败,是否收费?", + answer: + "查询失败或者没有结果(不含:无出险,无维保,保单脱保),可以申请退款。", + }, + { + question: "车架号或车牌号输入错误怎么办?", + answer: + "综合车况、维保、出险,如果使用车架号查询,待付款或者是待上传行驶证的情况可以修改车架号。如输错资料信息导致的查询失败,此情况不予退款。", + }, + { + question: "在哪里可以查看报告?", + answer: "底部导航栏“订单”里面查看报告。", + }, + { + question: "为什么有车查不到报告?", + answer: + "由于小部分车辆信息没有在服务商数据库中(如小保险公司、小众品牌车型)或车辆未在4S店进行过维修保养服务,都会查不到相关记录。", + }, + { + question: "为什么我的出险记录显示理赔金额为0元?", + answer: + "不管是否对方责任,或对方理赔,只要自己这边有向保险公司报案,就会有记录。", + }, + { + question: "为什么我的出险记录没有维修明细?", + answer: + "此情况很大可能为对方全责,对方车辆保险公司负责理赔,己方有向保险公司报案。", + }, + { + question: "报告来源是哪里?", + answer: + "报告来源于第三方服务商,报告仅是二手车交易的参考资料之一,请结合实车勘验结果和试乘试驾体验,做出更准确的交易决策。", + }, + { + question: "客服在线时间?", + answer: + "客服在线时间为9:00~18:00,请您在工作时间进行咨询,感谢您的理解!", + }, + ]); + return ( + r.onMounted(function () {}, !1), + n.onShareAppMessage(), + function (r, n) { + return { + a: e.f(i.value, function (r, n, s) { + return { + a: "b267452c-0-" + s, + b: e.t(r.question), + c: e.t(r.answer), + d: n, + }; + }), + b: e.p({ type: "help", size: "24", color: "#1F68E9" }), + }; + } + ); + }, + }, + i = e._export_sfc(s, [["__scopeId", "data-v-b267452c"]]); +(s.__runtimeHooks = 2), wx.createPage(i); diff --git a/pages/question/index.json b/pages/question/index.json new file mode 100644 index 0000000..df86c69 --- /dev/null +++ b/pages/question/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "常见问题", + "usingComponents": { + "uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons" + } +} diff --git a/pages/question/index.wxml b/pages/question/index.wxml new file mode 100644 index 0000000..fb120ea --- /dev/null +++ b/pages/question/index.wxml @@ -0,0 +1,15 @@ + + + + + {{item.b}} + + {{item.c}} + + diff --git a/pages/question/index.wxss b/pages/question/index.wxss new file mode 100644 index 0000000..20ef65a --- /dev/null +++ b/pages/question/index.wxss @@ -0,0 +1,23 @@ +page { + background-color: #fff; +} +.content.data-v-b267452c { + padding: 30rpx; +} +.content .item.data-v-b267452c { + margin-bottom: 20rpx; +} +.content .item .question.data-v-b267452c { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .item .question text.data-v-b267452c { + font-size: 32rpx; + font-weight: 700; + margin-left: 10rpx; +} +.content .item .answer.data-v-b267452c { + font-size: 30rpx; + padding: 10rpx; +} diff --git a/pages/report-query/index.js b/pages/report-query/index.js new file mode 100644 index 0000000..2201af7 --- /dev/null +++ b/pages/report-query/index.js @@ -0,0 +1,453 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + u = require("../../hooks/onShareAppMessage.js"), + r = require("../../hooks/useState.js"), + a = require("../../enums/index.js"), + t = require("../../constant/index.js"), + o = require("../../data/index.js"), + l = require("../../utils/navigate.js"), + i = require("../../utils/util.js"), + f = require("../../utils/common.js"), + c = require("../../utils/vin.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../store/app/index.js"), + Array || + ( + e.resolveComponent("uni-collapse-item") + + e.resolveComponent("uni-collapse") + )(); +Math || + ( + e.unref(T) + + e.unref(s) + + e.unref(j) + + e.unref(p) + + function () { + return "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js"; + } + + function () { + return "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js"; + } + + e.unref(y) + + e.unref(d) + + e.unref(E) + + e.unref(m) + + e.unref(v) + )(); +var v = function () { + return "../../components/popup-copy-vin/index.js"; + }, + s = function () { + return "../../components/agreement/index.js"; + }, + m = function () { + return "../../components/keyboard/index.js"; + }, + p = function () { + return "../../components/time-line/index.js"; + }, + d = function () { + return "../../components/float-back-to-top/index.js"; + }, + y = function () { + return "../../components/divider/index.js"; + }, + T = function () { + return "../../components/tips/index.js"; + }, + j = function () { + return "../../components/prompt/index.js"; + }, + E = function () { + return "../../components/float-share/index.js"; + }, + g = { + __name: "index", + setup: function (v) { + var s = r.useState().showAgreementPopup, + m = e.ref(!0), + p = e.ref(""), + d = e.ref(null), + y = e.ref(a.QueryTypeEnum.VIN), + T = e.ref(!1), + j = e.ref(""), + E = e.ref(!1), + g = e.ref(["", "", "", "", "", "", "", ""]), + k = e.ref(0), + C = e.ref(!1), + h = e.ref(a.KeyboardEnum.AREA), + w = e.ref(!1), + x = e.ref(0), + b = e.ref(!1), + N = e.ref(!1), + I = e.ref(""), + z = function () { + var e = s.value || N.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + A = function () { + l.navigateTo({ url: "/pages/vin-info/index" }); + }, + L = function (e) { + (y.value = e.detail.value), + e.detail.value === a.QueryTypeEnum.VIN + ? ((E.value = !0), (C.value = !1)) + : ((E.value = !1), (C.value = !0)); + }, + V = function () { + j.value = ""; + }, + q = function () { + f.ocrIdentifyVin().then(function (e) { + j.value = e; + }); + }, + S = function () { + E.value = !0; + }, + _ = function () { + E.value = !1; + }, + Q = function (e) { + j.value = e.value; + }, + P = function () { + C.value = !1; + }, + O = function (e) { + e.keyboardType + ? (h.value = e.keyboardType) + : ((g.value = e.value), (k.value = e.index)); + }, + R = function () { + h.value = + h.value === a.KeyboardEnum.AREA + ? a.KeyboardEnum.ABC + : a.KeyboardEnum.AREA; + }, + M = function () { + T.value = !T.value; + }, + H = function () { + N.value = !1; + }, + D = function () { + (j.value = I.value), (N.value = !1), K(); + }, + K = function () { + (E.value = !1), (C.value = !1); + var e = g.value.join(""); + if (T.value) { + if (y.value === a.QueryTypeEnum.VIN) { + if (0 === j.value.length) + return void i.showToast("请输入VIN车架号"); + if (j.value.length < 17) + return void i.showToast("请输入完整的VIN车架号"); + if (!c.validateVIN(j.value)) + return void i.showToast("车架号有误,请检查后重新输入"); + } + y.value !== a.QueryTypeEnum.VEHICLE_NO || t.vehicleNoExp.test(e) + ? l.navigateTo({ + url: "/pages/order-confirm/index", + params: { + productType: d.value, + queryType: y.value, + vin: j.value, + vehicleNo: e, + }, + }) + : i.showToast("请输入正确的车牌"); + } else i.showToast("请先阅读并同意协议"); + }; + return ( + n.onMounted(function (n) { + n.productType === a.ProductTypeEnum.OVERALL && (w.value = !0), + n.productType === a.ProductTypeEnum.ACCIDENT && (x.value = 1), + e.index.setNavigationBarTitle({ title: n.title }), + (p.value = n.title), + (d.value = n.productType), + (y.value = n.queryType), + (m.value = !1), + i.hideLoading(), + n.queryType === a.QueryTypeEnum.VIN && + f.hasClickAgreement() && + e.index.getClipboardData().then(function (n) { + var u = n.data; + e.index.hideToast(), + 17 === u.trim().length && + setTimeout(function () { + (I.value = u.trim()), (N.value = !0); + }, 300); + }), + n.queryType === a.QueryTypeEnum.VEHICLE_NO && + f.hasClickAgreement() && + setTimeout(function () { + C.value = !0; + }, 200); + }), + e.onPageScroll(function (n) { + var u = n.scrollTop; + b.value = u >= e.index.getSystemInfoSync().windowHeight / 3; + }), + u.onShareAppMessage(), + function (n, u) { + return e.e( + { a: z(), b: !m.value }, + m.value + ? {} + : e.e( + { c: d.value === e.unref(a.ProductTypeEnum).OVERALL }, + (d.value, e.unref(a.ProductTypeEnum).OVERALL, {}), + { + d: + d.value === e.unref(a.ProductTypeEnum).INSURANCE_MAINTAIN, + }, + (d.value, e.unref(a.ProductTypeEnum).INSURANCE_MAINTAIN, {}), + { e: d.value === e.unref(a.ProductTypeEnum).ACCIDENT }, + (d.value, e.unref(a.ProductTypeEnum).ACCIDENT, {}), + { f: e.t(p.value), g: w.value }, + (w.value, {}), + { + h: e.o(A), + i: e.unref(a.QueryTypeEnum).VIN, + j: y.value === e.unref(a.QueryTypeEnum).VIN, + k: e.unref(a.QueryTypeEnum).VEHICLE_NO, + l: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO, + m: e.o(L), + n: y.value === e.unref(a.QueryTypeEnum).VIN, + }, + y.value === e.unref(a.QueryTypeEnum).VIN + ? e.e( + { o: 0 === j.value.length }, + (j.value.length, {}), + { p: e.t(j.value), q: e.o(S), r: j.value.length > 0 }, + j.value.length > 0 ? { s: e.o(V) } : {}, + { + t: e.t(j.value.length), + v: e.o(q), + w: j.value.length > 0 ? 1 : "", + } + ) + : {}, + { x: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO }, + y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO + ? { + y: e.f(g.value, function (n, u, r) { + return e.e( + { + a: e.t(n), + b: u === k.value ? 1 : "", + c: 7 === u, + }, + {}, + { + d: u, + e: 7 === u ? 1 : "", + f: e.o(function (e) { + return (function (e) { + (k.value = e), (C.value = !0); + })(u); + }, u), + } + ); + }), + } + : {}, + { + z: e.o(K), + A: e.o(M), + B: e.p({ checked: T.value }), + C: w.value, + }, + w.value + ? { + D: e.f(["维保记录", "出险记录"], function (n, u, r) { + return { + a: e.t(n), + b: e.n(x.value === u ? "active" : ""), + c: u, + d: e.o(function (e) { + return (function (e) { + x.value = e; + })(u); + }, u), + }; + }), + } + : {}, + { E: 0 === x.value }, + 0 === x.value + ? { + F: e.f(e.unref(o.mockMailList), function (n, u, r) { + return { + a: e.t(n.date), + b: e.t(n.mile), + c: u, + d: u % 2 == 1 ? 1 : "", + }; + }), + G: e.p({ + type: e.unref(a.TimeLineEnum).RECORD, + data: e.unref(o.mockInsuranceList), + }), + } + : {}, + { H: 1 === x.value }, + 1 === x.value + ? e.e( + { + I: e.f(e.unref(o.mockJbxxList), function (n, u, r) { + return { a: e.t(n.label), b: e.t(n.value), c: u }; + }), + J: e.f(e.unref(o.mockCkdlpcList), function (n, u, r) { + return e.e( + { a: n.icon, b: e.t(n.name), c: 0 === n.value }, + (n.value, {}), + { d: 1 === n.value }, + (n.value, {}), + { e: 2 === n.value }, + (n.value, {}), + { f: 3 === n.value || 4 === n.value }, + (3 === n.value || n.value, {}), + { g: u } + ); + }), + K: e.f(e.unref(o.mockCkpclbList), function (n, u, r) { + return { + a: e.t(n.name), + b: e.t(n.value.length), + c: n.value.length > 0 ? 1 : "", + d: e.f(n.value, function (n, u, r) { + return { a: e.t(n.name), b: e.t(n.type), c: u }; + }), + e: u, + f: "1a2b913a-5-" + r + ",1a2b913a-4", + g: e.p({ + name: n.name, + open: n.value.length > 0, + }), + }; + }), + L: e.f(e.unref(o.mockClfwzj), function (n, u, r) { + return e.e( + { a: !n }, + {}, + { b: !!n }, + {}, + { c: e.t(u), d: u } + ); + }), + M: !!e.unref(o.mockClfwzj).前方左侧, + }, + (e.unref(o.mockClfwzj).前方左侧, {}), + { N: !!e.unref(o.mockClfwzj).中间左侧 }, + (e.unref(o.mockClfwzj).中间左侧, {}), + { O: !!e.unref(o.mockClfwzj).后方左侧 }, + (e.unref(o.mockClfwzj).后方左侧, {}), + { P: !!e.unref(o.mockClfwzj).前方右侧 }, + (e.unref(o.mockClfwzj).前方右侧, {}), + { Q: !!e.unref(o.mockClfwzj).中间右侧 }, + (e.unref(o.mockClfwzj).中间右侧, {}), + { R: !!e.unref(o.mockClfwzj).底部 }, + (e.unref(o.mockClfwzj).底部, {}), + { S: !!e.unref(o.mockClfwzj).后方右侧 }, + (e.unref(o.mockClfwzj).后方右侧, {}), + { T: !!e.unref(o.mockClfwzj).顶部 }, + (e.unref(o.mockClfwzj).顶部, {}), + { U: !!e.unref(o.mockClfwzj).正前方 }, + (e.unref(o.mockClfwzj).正前方, {}), + { V: !!e.unref(o.mockClfwzj).内部 }, + (e.unref(o.mockClfwzj).内部, {}), + { W: !!e.unref(o.mockClfwzj).正后方 }, + (e.unref(o.mockClfwzj).正后方, {}), + { X: !!e.unref(o.mockClfwzj).其他 }, + (e.unref(o.mockClfwzj).其他, {}), + { + Y: e.f(e.unref(o.mockCkxxList), function (n, u, r) { + return e.e( + { a: n.icon, b: e.t(n.name), c: 0 === n.value }, + (n.value, {}), + { d: 1 === n.value }, + (n.value, {}), + { e: 2 === n.value }, + (n.value, {}), + { f: u } + ); + }), + Z: e.f(e.unref(o.mockTjxxList), function (n, u, r) { + return { + a: e.t(n.name), + b: e.t(n.value || "-"), + c: u, + }; + }), + aa: e.f( + e.unref(o.mockPzlsmxList), + function (n, u, r) { + return { + a: e.t(n.date), + b: e.t(n.claimStatus), + c: e.t( + (Number(n.serviceMoney) / 100).toFixed(0) + ), + d: e.f(n.result, function (n, u, r) { + return e.e( + { + a: e.t(n.dangerSingleName || "-"), + b: 1 == n.dangerSingleType, + }, + (1 == n.dangerSingleType || + 2 == n.dangerSingleType || + n.dangerSingleType, + {}), + { + c: 2 == n.dangerSingleType, + d: 3 == n.dangerSingleType, + e: e.t(n.dangerSingleNum), + f: u, + } + ); + }), + e: u, + }; + } + ), + } + ) + : {}, + { + ab: e.t(e.unref(t.disclaimer)), + ac: e.p({ visible: b.value }), + ad: e.o(P), + ae: e.o(O), + af: e.o(R), + ag: e.p({ + visible: C.value, + "can-switch": !0, + "keyboard-type": h.value, + "vehicle-no-list": g.value, + "vehicle-no-index": k.value, + }), + ah: e.o(_), + ai: e.o(Q), + aj: e.p({ + visible: E.value, + "can-switch": !1, + vin: j.value, + }), + ak: e.o(D), + al: e.o(H), + am: e.p({ visible: N.value, "copy-vin": I.value }), + } + ) + ); + } + ); + }, + }, + k = e._export_sfc(g, [["__scopeId", "data-v-1a2b913a"]]); +(g.__runtimeHooks = 3), wx.createPage(k); diff --git a/pages/report-query/index.json b/pages/report-query/index.json new file mode 100644 index 0000000..daf35a8 --- /dev/null +++ b/pages/report-query/index.json @@ -0,0 +1,17 @@ +{ + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "uni-collapse-item": "../../uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item", + "uni-collapse": "../../uni_modules/uni-collapse/components/uni-collapse/uni-collapse", + "popup-copy-vin": "../../components/popup-copy-vin/index", + "agreement": "../../components/agreement/index", + "keyboard": "../../components/keyboard/index", + "time-line": "../../components/time-line/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "divider": "../../components/divider/index", + "tips": "../../components/tips/index", + "prompt": "../../components/prompt/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/report-query/index.wxml b/pages/report-query/index.wxml new file mode 100644 index 0000000..2bb0e89 --- /dev/null +++ b/pages/report-query/index.wxml @@ -0,0 +1,676 @@ + + + + + + + + + {{f}} + (维保+出险) + + 什么是VIN? + + + + + + + + + 请输入17位VIN车架号 + {{p}} + + + + {{t}}/17 + + + + + {{value.a}} + 新能源 + + + + 查 询 + + + + 样例报告 + + + {{item.a}} + + + + + 车辆维保报告 + 中国汽车流通协会发起建设 + + + 车辆型号: + 奥迪A4L PIUS 40 TFSI + + + VIN车架号: + WDDBF******J540972 + + + + + + 行驶里程分析 + + + + 截止日期 + 2022-08-30 + + + 预计里程 + 30000~35000公里 + + + + + + + 行驶里程统计 + + + + 日期 + 里程(公里) + + + {{item.a}} + {{item.b}} + + + + + + + 维修保养记录 + + + + + + + + + 车辆历史报告 + 中国汽车流通协会发起建设 + + + VIN车架号: + WDDBF******J540972 + + + 订单编号: + 35023967751878956 + + + 报告时间: + 2021-08-01 11:27:27 + + + + + + 基本信息 + + + + {{item.a}} + {{item.b}} + + + + + + + 车况排查 + + + + + {{item.b}} + 正常 + 无法确定 + 疑似 + 异常 + + + + + + + 综合车况评级 + + + + + 车况评级分为四种:优秀、良好、中等、较差。车况评级结果仅供参考,请谨慎使用。 + + + + + + + 排查明细 + + + + + + {{item.a}} + + {{item.b}} + 项 + + + + + 部件名 + {{partItem.a}} + + + 类型 + {{partItem.b}} + + + + + + + + + + + 碰撞部位 + + + 正常 + + 异常 + + + + + + + + {{value.c}} + + + + + + 前方左侧 + + + + + 中间左侧 + + + + + 后方左侧 + + + + + 前方右侧 + + + + + 中间右侧 + + + + + 底部 + + + + + 后方右侧 + + + + + 顶部 + + + + + 正前方 + + + + + 内部 + + + + + 正后方 + + + + + 其他 + + + + + + + + + + 保险信息 + + + + * + 若当前交强险或商业险未在保,但当前断缴时长不超过一个月时,不纳入断缴统计记录中。 + + + + + {{item.b}} + 正常 + 异常 + 未知 + + + + + + {{item.a}} + {{item.b}} + + + + + + + + 出险明细 + + + + + 3 + 维修总次数(次) + + + 8000 + 维修总金额(元) + + + + + + + {{item.a}} + ({{item.b}}) + {{item.c}}元 + + + + 维修名称 + 维修类型 + 件数 + + + {{listItem.a}} + + 更换 + 维修 + 其他 + - + + {{listItem.e}} + + + + + + + + + + 车况评级说明 + + + (1)优秀:外观无可见瑕疵和喷漆修复等记录;内饰无磨损维修记录;动力系统、机械部位运行正常且无维修;按时保养且记录完整;电子系统无任何故障 + + + (2)良好:外观局部有1-2处损伤记录;内饰有1-2 + 处磨损维修记录;动力系统正常且无维修;机械部位运行正常有部分维修或更换记录;电子设备及模块使用正常 + + + (3)中等:外观局部有3-5处损伤记录;内饰有5- + 10处磨损维修记录;动力系统有维修记录;结构件有轻微异常记录 + + + (4)较差:外观局部有5处以上损伤记录;内饰有 + 10处以上磨损记录;动力系统有3次以上维修记录或发动机变速箱有维修记录;大灯框架/水箱框架更换或变形;机械部位运行存在严重异常或有大修记录 + + + + + 免责声明 + {{ab}} + + + + + + + diff --git a/pages/report-query/index.wxss b/pages/report-query/index.wxss new file mode 100644 index 0000000..05772da --- /dev/null +++ b/pages/report-query/index.wxss @@ -0,0 +1,854 @@ +.content.data-v-1a2b913a { + padding: 30rpx; +} +.content .banner.data-v-1a2b913a { + background-color: #1f68e9; + border-radius: 15rpx; + color: #fff; + height: 240rpx; + padding: 30rpx; + position: relative; +} +.content .banner .title.data-v-1a2b913a { + height: 95rpx; + position: absolute; + top: 40rpx; + z-index: 9; +} +.content .banner.maintain .image.data-v-1a2b913a { + bottom: 5rpx; + height: 120rpx; + position: absolute; + right: 0; + width: 300rpx; + z-index: 9; +} +.content .banner.accident .image.data-v-1a2b913a { + bottom: -25rpx; + height: 200rpx; + position: absolute; + right: -20rpx; + width: 400rpx; + z-index: 9; +} +.content .banner.overall .image.data-v-1a2b913a { + bottom: 5rpx; + height: 128rpx; + position: absolute; + right: 0; + width: 300rpx; + z-index: 9; +} +.content .module-title.data-v-1a2b913a { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-1a2b913a { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .query-content.data-v-1a2b913a { + background-color: #fff; + border-radius: 10rpx; + padding: 40rpx; +} +.content .query-content .radio-group.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin-bottom: 30rpx; +} +.content .query-content .radio-group label.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + margin-right: 20rpx; +} +.content .query-content .radio-group .tips.data-v-1a2b913a { + color: #1f68e9; + font-size: 30rpx; +} +.content .query-content .vehicle-content.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .query-content .vehicle-content .number-item.data-v-1a2b913a { + border: 2rpx solid #e1e1e1; + display: -webkit-flex; + display: flex; + font-weight: 700; + height: 85rpx; + justify-content: center; + margin: 0 7rpx; + position: relative; + width: 75rpx; +} +.content .query-content .vehicle-content .number-item.new.data-v-1a2b913a { + border: 2rpx dashed #6fd99a; +} +.content .query-content .vehicle-content .number-item .number.data-v-1a2b913a { + font-size: 32rpx; + height: 50rpx; + margin-top: 18rpx; + padding-bottom: 18rpx; + text-align: center; + width: 35rpx; +} +.content + .query-content + .vehicle-content + .number-item + .number.selected.data-v-1a2b913a { + border-bottom: 4rpx solid #1f68e9; +} +.content .query-content .vehicle-content .number-item .energy.data-v-1a2b913a { + background: #0ac260; + border-radius: 14rpx; + color: #fff; + font-size: 16rpx; + height: 28rpx; + left: 2rpx; + line-height: 28rpx; + position: absolute; + text-align: center; + top: -20rpx; + width: 60rpx; +} +.content .query-content .input-content.data-v-1a2b913a { + align-items: center; + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx; + position: relative; +} +.content .query-content .input-content.selected.data-v-1a2b913a { + border-color: #1f68e9; +} +.content .query-content .input-content .input.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + font-size: 32rpx; + overflow-y: scroll; + position: relative; +} +.content .query-content .input-content .input .placeholder.data-v-1a2b913a { + color: silver; + left: 0; + position: absolute; +} +.content .query-content .input-content .input .cursor.data-v-1a2b913a { + animation: cursor-blinks-1a2b913a 1.5s step-start infinite; + background: #1f68e9; + height: 40rpx; + width: 4rpx; +} +.content .query-content .input-content .clear.data-v-1a2b913a { + flex-shrink: 0; + height: 32rpx; + padding: 0 10rpx 0 20rpx; + width: 32rpx; +} +.content .query-content .input-content .input-length.data-v-1a2b913a { + color: #232323; + flex-shrink: 0; + font-size: 26rpx; +} +.content .query-content .input-content .photo.data-v-1a2b913a { + flex-shrink: 0; + height: 50rpx; + margin-left: 10rpx; + margin-top: -5rpx; + width: 50rpx; +} +.content .query-content .button.data-v-1a2b913a { + align-items: center; + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + font-weight: 700; + height: 90rpx; + justify-content: center; + margin-top: 30rpx; +} +.content .example-content.data-v-1a2b913a { + background-color: #fff; + border-radius: 10rpx; + overflow: hidden; +} +.content .example-content .tabs.data-v-1a2b913a { + align-items: center; + background-color: #fff; + border-bottom: 2rpx solid #ebeef5; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + height: 90rpx; + justify-content: space-evenly; + width: 100%; +} +.content .example-content .tabs .tab.data-v-1a2b913a { + height: 90rpx; + line-height: 90rpx; +} +.content .example-content .tabs .tab.active.data-v-1a2b913a { + border-bottom: 4rpx solid #1f68e9; + color: #1f68e9; +} +.content .example-content .example.data-v-1a2b913a { + margin-top: 30rpx; + padding: 30rpx; + position: relative; +} +.content .example-content .example .background.data-v-1a2b913a { + background: linear-gradient(180deg, #1f68e9, #fff); + border-radius: 10rpx; + height: 2000rpx; + left: 0; + position: absolute; + top: 0; + width: 100%; + z-index: 1; +} +.content .example-content .example .content-title.data-v-1a2b913a { + border-bottom: 1rpx solid #74a8e6; + color: #fff; + font-size: 50rpx; + margin-top: 20rpx; + padding-bottom: 20rpx; + position: relative; + text-align: center; + z-index: 2; +} +.content .example-content .example .sub-title.data-v-1a2b913a { + color: #fff; + font-size: 26rpx; + margin-top: 20rpx; + position: relative; + text-align: center; + z-index: 2; +} +.content .example-content .example .order-detail.data-v-1a2b913a { + color: #fff; + font-size: 28rpx; + margin-top: 50rpx; + position: relative; + z-index: 2; +} +.content .example-content .example .order-detail .detail-item.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + margin: 15rpx 0; +} +.content + .example-content + .example + .order-detail + .detail-item + .label.data-v-1a2b913a { + width: 170rpx; +} +.content .example-content .card.data-v-1a2b913a { + background-color: #fff; + border-radius: 10rpx; + margin: 30rpx 0; + padding: 30rpx; + position: relative; + z-index: 2; +} +.content .example-content .card .card-title.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .example-content .card .card-title .icon-title.data-v-1a2b913a { + height: 30rpx; + margin-right: 10rpx; + width: 34rpx; +} +.content .example-content .card .card-title .suffix.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .example-content .card .card-title .suffix image.data-v-1a2b913a { + height: 30rpx; + margin-left: 30rpx; + width: 30rpx; +} +.content .example-content .card .card-title .suffix text.data-v-1a2b913a { + color: #9a9a9a; + font-size: 3028rpxrpx; + margin-left: 8rpx; +} +.content .example-content .card .card-title image.data-v-1a2b913a { + flex-shrink: 0; +} +.content .example-content .card .card-title text.data-v-1a2b913a { + color: #1f68e9; + flex-grow: 1; + font-size: 32rpx; +} +.content .example-content .brand-name.data-v-1a2b913a { + font-size: 32rpx; + font-weight: 700; + margin-top: 30rpx; +} +.content .example-content .cell-content.data-v-1a2b913a { + background-color: #fff; + border-radius: 10rpx; + margin-top: 20rpx; + position: relative; +} +.content .example-content .cell-content .cell.data-v-1a2b913a { + display: -webkit-flex; + display: flex; + justify-content: space-between; + padding: 15rpx; +} +.content .example-content .cell-content .cell .title.data-v-1a2b913a { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .example-content .cell-content .cell .value.data-v-1a2b913a { + color: #686868; + font-size: 30rpx; + max-width: 450rpx; + padding-right: 5rpx; +} +.content .example-content .mile-content.data-v-1a2b913a { + background-color: #fff; + margin-top: 20rpx; +} +.content .example-content .mile-content .mile-item.data-v-1a2b913a { + border-left: 2rpx solid #ebeef5; + border-right: 2rpx solid #ebeef5; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + width: 100%; +} +.content .example-content .mile-content .mile-item.data-v-1a2b913a:last-child { + border-bottom: 2rpx solid #ebeef5; +} +.content .example-content .mile-content .mile-item.selected.data-v-1a2b913a { + background: #fafafa; + border-bottom: 2rpx solid #ebeef5; + border-top: 2rpx solid #ebeef5; +} +.content .example-content .mile-content .mile-item .date-title.data-v-1a2b913a, +.content .example-content .mile-content .mile-item .mile-title.data-v-1a2b913a { + background-color: #f2f2f2; + border-bottom: 2rpx solid #ebeef5; + border-top: 2rpx solid #ebeef5; + font-weight: 700; +} +.content .example-content .mile-content .mile-item .date-title.data-v-1a2b913a, +.content .example-content .mile-content .mile-item .date.data-v-1a2b913a, +.content .example-content .mile-content .mile-item .mile-title.data-v-1a2b913a, +.content .example-content .mile-content .mile-item .mile.data-v-1a2b913a { + padding: 15rpx 0; + text-align: center; + width: 50%; +} +.content .example-content .record-content.data-v-1a2b913a { + background-color: #fff; + border-radius: 10rpx; +} +.content .example-content .ckpc-content.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-wrap: wrap; + justify-content: space-between; +} +.content .example-content .ckpc-content .item.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-top: 30rpx; + position: relative; + width: 135rpx; +} +.content .example-content .ckpc-content .item .icon.data-v-1a2b913a { + height: 56rpx; + width: 56rpx; +} +.content .example-content .ckpc-content .item .name.data-v-1a2b913a { + font-size: 28rpx; + margin-top: 10rpx; +} +.content .example-content .ckpc-content .item .status.data-v-1a2b913a { + border-radius: 50rpx; + font-size: 24rpx; + margin-top: 20rpx; + padding: 5rpx 16rpx; +} +.content .example-content .ckpc-content .item .status.normal.data-v-1a2b913a { + background-color: #dbf5e2; + color: #4aa444; +} +.content .example-content .ckpc-content .item .status.error.data-v-1a2b913a { + background-color: rgba(238, 36, 25, 0.094); + color: #eb5a5a; +} +.content + .example-content + .ckpc-content + .item + .status.unidentified.data-v-1a2b913a { + background-color: #ececec; + color: #606060; +} +.content .example-content .ckpc-content .item .status.doubt.data-v-1a2b913a { + background-color: rgba(255, 112, 56, 0.157); + color: #ff7038; +} +.content .example-content .grade-info.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; +} +.content .example-content .grade-info .grade-img.data-v-1a2b913a { + height: 172rpx; + margin: 30rpx 0; + width: 200rpx; +} +.content .example-content .grade-info .explain.data-v-1a2b913a { + background: #fafafa; + border-radius: 10rpx; + color: #9a9a9a; + font-size: 26rpx; + line-height: 38rpx; + padding: 20rpx; + position: relative; +} +.content .example-content .vehicle-detail.data-v-1a2b913a { + margin-top: 20rpx; +} +.content .example-content .vehicle-detail .part-title.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + justify-content: space-between; + margin: 25rpx 0; +} +.content .example-content .vehicle-detail .part-title .count.data-v-1a2b913a { + color: #333; +} +.content .example-content .vehicle-detail .part-list.data-v-1a2b913a { + font-size: 28rpx; +} +.content + .example-content + .vehicle-detail + .part-list + .part-item.data-v-1a2b913a { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 25rpx 0; +} +.content + .example-content + .vehicle-detail + .part-list + .part-item + .label.data-v-1a2b913a { + color: #9a9a9a; +} +.content + .example-content + .vehicle-detail + .part-list + .part-item + .value.data-v-1a2b913a { + color: #333; + margin-right: 50rpx; +} +.content .example-content .part-content.data-v-1a2b913a { + border-radius: 17rpx; + display: -webkit-flex; + display: flex; + margin-top: 20rpx; +} +.content .example-content .part-content .part-left.data-v-1a2b913a { + flex-shrink: 0; + width: 200rpx; +} +.content .example-content .part-content .part-left-item.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + height: 65rpx; +} +.content .example-content .part-content .part-left-item image.data-v-1a2b913a { + height: 30rpx; + width: 30rpx; +} +.content .example-content .part-content .part-left-item text.data-v-1a2b913a { + color: #333; + font-size: 28rpx; + margin-left: 20rpx; +} +.content .example-content .part-content .part-right.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + justify-content: center; + position: relative; +} +.content .example-content .part-content .part-right .pic.data-v-1a2b913a { + height: 577rpx; + width: 300rpx; + z-index: 10; +} +.content .example-content .part-content .part-right .position.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + position: absolute; + z-index: 20; +} +.content + .example-content + .part-content + .part-right + .position.right.data-v-1a2b913a { + flex-direction: row-reverse; +} +.content + .example-content + .part-content + .part-right + .position.top.data-v-1a2b913a { + flex-direction: column; +} +.content + .example-content + .part-content + .part-right + .position.bottom.data-v-1a2b913a { + flex-direction: column-reverse; +} +.content + .example-content + .part-content + .part-right + .position + .name.data-v-1a2b913a { + color: #333; + font-size: 26rpx; +} +.content + .example-content + .part-content + .part-right + .position + .horizontal-line.data-v-1a2b913a { + background: #bf5759; + height: 2rpx; + width: 15rpx; +} +.content + .example-content + .part-content + .part-right + .position + .vertical-line.data-v-1a2b913a { + background: #bf5759; + height: 15rpx; + width: 2rpx; +} +.content + .example-content + .part-content + .part-right + .position + .icon.data-v-1a2b913a { + background: #eb5a5b; + border: 1rpx solid #fff; + border-radius: 100%; + height: 22rpx; + width: 22rpx; +} +.content .example-content .top-content.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-bottom: 30rpx; +} +.content .example-content .top-content .item.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + margin-top: 20rpx; + position: relative; + width: 180rpx; +} +.content .example-content .top-content .item .icon.data-v-1a2b913a { + height: 56rpx; + width: 56rpx; +} +.content .example-content .top-content .item .name.data-v-1a2b913a { + font-size: 24rpx; + margin-top: 10rpx; +} +.content .example-content .top-content .item .status.data-v-1a2b913a { + border-radius: 50rpx; + font-size: 24rpx; + margin-top: 20rpx; + padding: 5rpx 16rpx; +} +.content .example-content .top-content .item .status.normal.data-v-1a2b913a { + background-color: #dbf5e2; + color: #4aa444; +} +.content .example-content .top-content .item .status.unknown.data-v-1a2b913a { + background-color: #ececec; + color: #606060; +} +.content .example-content .top-content .item .status.warning.data-v-1a2b913a { + background-color: rgba(255, 112, 56, 0.157); + color: #ff7038; +} +.content .example-content .bottom-content .item.data-v-1a2b913a { + display: -webkit-flex; + display: flex; + font-size: 30rpx; + justify-content: space-between; + margin-top: 30rpx; +} +.content .example-content .bottom-content .item .title.data-v-1a2b913a, +.content .example-content .bottom-content .item .value.data-v-1a2b913a { + color: #333; +} +.content .example-content .insurance-detail.data-v-1a2b913a { + margin-top: 30rpx; +} +.content .example-content .insurance-detail .top-content.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; +} +.content .example-content .insurance-detail .top-content .item.data-v-1a2b913a { + align-items: center; + background: #f3f3f3; + border: 1rpx solid #d9d9d9; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + flex-direction: column; + height: 167rpx; + justify-content: center; + width: 270rpx; +} +.content + .example-content + .insurance-detail + .top-content + .item + .info.data-v-1a2b913a { + color: #9a9a9a; + font-size: 26rpx; + margin-top: 20rpx; +} +.content + .example-content + .insurance-detail + .top-content + .item + .count.data-v-1a2b913a { + color: #1f68e9; + font-size: 50rpx; + font-weight: 700; +} +.content + .example-content + .insurance-detail + .insurance-item + .title.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + margin: 30rpx 0; +} +.content + .example-content + .insurance-detail + .insurance-item + .title + .dot.data-v-1a2b913a { + background-color: #1f68e9; + border-radius: 100%; + flex-shrink: 0; + height: 18rpx; + width: 18rpx; +} +.content + .example-content + .insurance-detail + .insurance-item + .title + .date.data-v-1a2b913a { + flex-shrink: 0; + font-weight: 700; + margin-left: 10rpx; +} +.content + .example-content + .insurance-detail + .insurance-item + .title + .status.data-v-1a2b913a { + flex-grow: 1; +} +.content + .example-content + .insurance-detail + .insurance-item + .title + .money.data-v-1a2b913a { + flex-shrink: 0; +} +.content + .example-content + .insurance-detail + .insurance-item + .records.data-v-1a2b913a { + background-color: #fff; + border: 1rpx solid #d9d9d9; + border-radius: 10rpx; + font-size: 28rpx; +} +.content + .example-content + .insurance-detail + .insurance-item + .records + .record-title.data-v-1a2b913a { + align-items: center; + background-color: #f3f3f3; + display: -webkit-flex; + display: flex; + padding: 15rpx 0; +} +.content + .example-content + .insurance-detail + .insurance-item + .records + .record-title + .value.data-v-1a2b913a { + display: -webkit-flex; + display: flex; + font-weight: 700; + justify-content: center; + width: 30%; +} +.content + .example-content + .insurance-detail + .insurance-item + .records + .record-item.data-v-1a2b913a { + align-items: center; + display: -webkit-flex; + display: flex; + padding: 15rpx 0; +} +.content + .example-content + .insurance-detail + .insurance-item + .records + .record-item + .value.data-v-1a2b913a { + display: -webkit-flex; + display: flex; + justify-content: center; + width: 30%; +} +.content .example-content .notice.data-v-1a2b913a { + color: #5e5e6b; + font-size: 24rpx; + margin-top: 30rpx; +} +.content .example-content .intro.data-v-1a2b913a { + color: #333; + font-size: 30rpx; + padding: 10rpx 0; +} +.content .example-content .tips.data-v-1a2b913a { + background-color: #fff9ea; + color: #ff9a43; + font-size: 26rpx; + padding: 20rpx; +} +.content .disclaimer.data-v-1a2b913a { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +@-webkit-keyframes cursor-blinks-1a2b913a { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-1a2b913a { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/pages/sali-check-detail/index.js b/pages/sali-check-detail/index.js new file mode 100644 index 0000000..797e6db --- /dev/null +++ b/pages/sali-check-detail/index.js @@ -0,0 +1,86 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + r = require("../../hooks/onShareAppMessage.js"), + t = require("../../service/index.js"), + u = require("../../constant/index.js"), + a = require("../../utils/util.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../utils/request.js"), + Math || (e.unref(i) + e.unref(s) + e.unref(o))(); +var i = function () { + return "../../components/vehicle-number/index.js"; + }, + o = function () { + return "../../components/empty/index.js"; + }, + s = function () { + return "../../components/divider/index.js"; + }, + d = { + __name: "index", + setup: function (i) { + var o = e.ref(!0), + s = e.ref(!1), + d = e.ref({}), + c = function () { + e.index.setClipboardData({ data: d.value.vin }).then(function () { + a.showToast("VIN车架号已复制"); + }); + }; + return ( + n.onMounted(function (n) { + var r = n.order_no, + i = n.product_id; + a.showLoading("努力查询中"), + t + .getReportDetail({ order_no: r, product_id: i }) + .then(function (n) { + var r = e._.find(u.vehicleTypeList, function (e) { + return e.value == n.type; + }); + (n.type = r ? r.text : "-"), + (d.value = n), + (o.value = !1), + a.hideLoading(); + }); + }, !1), + r.onShareAppMessage(), + function (n, r) { + return e.e( + { a: !o.value }, + o.value + ? {} + : e.e( + { b: !s.value }, + s.value + ? {} + : e.e( + { c: d.value.car_no }, + d.value.car_no + ? { d: e.p({ data: d.value.car_no }) } + : {}, + { e: d.value.vin }, + d.value.vin ? { f: e.t(d.value.vin), g: e.o(c) } : {}, + { + h: e.t(d.value.type || "-"), + i: e.t(d.value.first_insurance_date || "-"), + j: e.t(d.value.last_compulsory_insurance_date || "-"), + k: e.t(d.value.latest_insurance_date_start || "-"), + l: e.t(d.value.latest_insurance_date_end || "-"), + m: e.t(e.unref(u.disclaimer)), + } + ), + { n: s.value }, + s.value ? { o: e.p({ info: "抱歉~!没有查到数据哦" }) } : {} + ) + ); + } + ); + }, + }, + c = e._export_sfc(d, [["__scopeId", "data-v-ad616c8d"]]); +(d.__runtimeHooks = 2), wx.createPage(c); diff --git a/pages/sali-check-detail/index.json b/pages/sali-check-detail/index.json new file mode 100644 index 0000000..ac4b955 --- /dev/null +++ b/pages/sali-check-detail/index.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "交强险投保日期", + "usingComponents": { + "vehicle-number": "../../components/vehicle-number/index", + "empty": "../../components/empty/index", + "divider": "../../components/divider/index" + } +} diff --git a/pages/sali-check-detail/index.wxml b/pages/sali-check-detail/index.wxml new file mode 100644 index 0000000..26041dc --- /dev/null +++ b/pages/sali-check-detail/index.wxml @@ -0,0 +1,56 @@ + + + 交强险投保日期 + + + 车牌号码 + + + + + + VIN车架号 + + {{f}} + 复制 + + + + 号牌种类 + {{h}} + + + 初次投保日期 + {{i}} + + + 上次交强险投保年月 + {{j}} + + + 最近交强险投保期始 + {{k}} + + + 最近交强险投保期止 + {{l}} + + + 免责声明 + {{m}} + + + + diff --git a/pages/sali-check-detail/index.wxss b/pages/sali-check-detail/index.wxss new file mode 100644 index 0000000..0f810b5 --- /dev/null +++ b/pages/sali-check-detail/index.wxss @@ -0,0 +1,88 @@ +.content.data-v-ad616c8d { + padding: 30rpx; +} +.content .info.data-v-ad616c8d { + align-items: center; + background-color: #eaf1f8; + border-radius: 12rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx 30rpx; +} +.content .info .logo.data-v-ad616c8d { + flex-shrink: 0; + height: 100rpx; + width: 100rpx; +} +.content .info .right-content.data-v-ad616c8d { + flex-grow: 1; + margin-left: 30rpx; +} +.content .info .right-content .name.data-v-ad616c8d { + font-size: 32rpx; + font-weight: 700; +} +.content .info .right-content .desc.data-v-ad616c8d { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + margin-top: 8rpx; +} +.content .info .right-content .desc image.data-v-ad616c8d { + height: 40rpx; + width: 265rpx; +} +.content .module-title.data-v-ad616c8d { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-ad616c8d { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .disclaimer.data-v-ad616c8d { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +.content .detail.data-v-ad616c8d { + background-color: #fff; + border-radius: 10rpx; + padding: 10rpx 40rpx; + position: relative; +} +.content .detail .cell.data-v-ad616c8d { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 30rpx 0; +} +.content .detail .cell .title.data-v-ad616c8d { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .detail .cell .value.data-v-ad616c8d { + color: #686868; + font-size: 30rpx; + max-width: 450rpx; + padding-right: 5rpx; +} +.content .detail .cell .value .copy.data-v-ad616c8d { + color: #d71818; + margin-left: 15rpx; +} diff --git a/pages/sali-check-query/index.js b/pages/sali-check-query/index.js new file mode 100644 index 0000000..a4ca397 --- /dev/null +++ b/pages/sali-check-query/index.js @@ -0,0 +1,281 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + u = require("../../hooks/onShareAppMessage.js"), + t = require("../../hooks/useState.js"), + a = require("../../enums/index.js"), + r = require("../../constant/index.js"), + o = require("../../data/index.js"), + i = require("../../utils/navigate.js"), + l = require("../../utils/util.js"), + v = require("../../utils/common.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../store/app/index.js"), + Array || e.resolveComponent("uni-data-select")(); +Math || + ( + e.unref(p) + + function () { + return "../../uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js"; + } + + e.unref(c) + + e.unref(y) + + e.unref(d) + + e.unref(m) + + e.unref(h) + + e.unref(f) + + e.unref(s) + )(); +var s = function () { + return "../../components/popup-copy-vin/index.js"; + }, + c = function () { + return "../../components/agreement/index.js"; + }, + f = function () { + return "../../components/keyboard/index.js"; + }, + d = function () { + return "../../components/divider/index.js"; + }, + p = function () { + return "../../components/tips/index.js"; + }, + y = function () { + return "../../components/prompt/index.js"; + }, + m = function () { + return "../../components/float-back-to-top/index.js"; + }, + h = function () { + return "../../components/float-share/index.js"; + }, + E = { + __name: "index", + setup: function (s) { + var c = t.useState().showAgreementPopup, + f = e.ref(!0), + d = e.ref(""), + p = e.ref("02"), + y = e.ref(a.QueryTypeEnum.VIN), + m = e.ref(!1), + h = e.ref(""), + E = e.ref(!1), + T = e.ref(["", "", "", "", "", "", "", ""]), + g = e.ref(0), + x = e.ref(!1), + j = e.ref(a.KeyboardEnum.AREA), + I = e.ref(!1), + b = e.ref(""), + N = e.ref(!1), + V = function () { + var e = c.value || I.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + q = function () { + i.navigateTo({ url: "/pages/vin-info/index" }); + }, + _ = function (e) { + (y.value = e.detail.value), + e.detail.value === a.QueryTypeEnum.VIN + ? ((E.value = !0), (x.value = !1)) + : ((E.value = !1), (x.value = !0)); + }, + k = function () { + h.value = ""; + }, + A = function () { + v.ocrIdentifyVin().then(function (e) { + h.value = e; + }); + }, + C = function () { + E.value = !0; + }, + Q = function () { + E.value = !1; + }, + w = function (e) { + h.value = e.value; + }, + L = function () { + x.value = !1; + }, + H = function (e) { + e.keyboardType + ? (j.value = e.keyboardType) + : ((T.value = e.value), (g.value = e.index)); + }, + S = function () { + j.value = + j.value === a.KeyboardEnum.AREA + ? a.KeyboardEnum.ABC + : a.KeyboardEnum.AREA; + }, + K = function () { + m.value = !m.value; + }, + M = function () { + I.value = !1; + }, + O = function () { + (h.value = b.value), (I.value = !1), P(); + }, + P = function () { + (E.value = !1), (x.value = !1); + var e = T.value.join(""); + if (m.value) { + if (y.value === a.QueryTypeEnum.VIN) { + if (0 === h.value.length) + return void l.showToast("请输入VIN车架号"); + if (h.value.length < 17) + return void l.showToast("请输入完整的VIN车架号"); + } + y.value !== a.QueryTypeEnum.VEHICLE_NO || r.vehicleNoExp.test(e) + ? p.value + ? i.navigateTo({ + url: "/pages/order-confirm/index", + params: { + productType: a.ProductTypeEnum.SALI_CHECK, + queryType: y.value, + vehicleType: p.value, + vin: h.value, + vehicleNo: e, + }, + }) + : l.showToast("请选择车辆类型") + : l.showToast("请输入正确的车牌"); + } else l.showToast("请先阅读并同意协议"); + }; + return ( + n.onMounted(function (n) { + e.index.setNavigationBarTitle({ title: n.title }), + v.hasClickAgreement() && + e.index.getClipboardData().then(function (n) { + var u = n.data; + e.index.hideToast(), + 17 === u.trim().length && + setTimeout(function () { + (b.value = u.trim()), (I.value = !0); + }, 300); + }), + (d.value = n.title), + (f.value = !1), + l.hideLoading(); + }), + e.onPageScroll(function (n) { + var u = n.scrollTop; + N.value = u >= e.index.getSystemInfoSync().windowHeight / 3; + }), + u.onShareAppMessage(), + function (n, u) { + return e.e( + { a: V(), b: !f.value }, + f.value + ? {} + : e.e( + { + c: e.t(d.value), + d: e.o(q), + e: e.unref(a.QueryTypeEnum).VIN, + f: y.value === e.unref(a.QueryTypeEnum).VIN, + g: e.unref(a.QueryTypeEnum).VEHICLE_NO, + h: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO, + i: e.o(_), + j: y.value === e.unref(a.QueryTypeEnum).VIN, + }, + y.value === e.unref(a.QueryTypeEnum).VIN + ? e.e( + { k: 0 === h.value.length }, + (h.value.length, {}), + { l: e.t(h.value), m: e.o(C), n: h.value.length > 0 }, + h.value.length > 0 ? { o: e.o(k) } : {}, + { + p: e.t(h.value.length), + q: e.o(A), + r: h.value.length > 0 ? 1 : "", + } + ) + : {}, + { s: y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO }, + y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO + ? { + t: e.f(T.value, function (n, u, t) { + return e.e( + { + a: e.t(n), + b: u === g.value ? 1 : "", + c: 7 === u, + }, + {}, + { + d: u, + e: 7 === u ? 1 : "", + f: e.o(function (e) { + return (function (e) { + (g.value = e), (x.value = !0); + })(u); + }, u), + } + ); + }), + } + : {}, + { + v: e.o(function (e) { + return (p.value = e); + }), + w: e.p({ + localdata: e.unref(r.vehicleTypeList), + modelValue: p.value, + }), + x: e.o(P), + y: e.o(K), + z: e.p({ checked: m.value }), + A: e.f(e.unref(o.mockSaliCheckList), function (n, u, t) { + return { + a: e.t(n.label), + b: e.t(n.value), + c: u, + d: + (y.value === e.unref(a.QueryTypeEnum).VEHICLE_NO && + 1 === u) || + (y.value === e.unref(a.QueryTypeEnum).VIN && 0 === u) + ? "none" + : "", + }; + }), + B: e.t(e.unref(r.disclaimer)), + C: e.p({ visible: N.value }), + D: e.o(L), + E: e.o(H), + F: e.o(S), + G: e.p({ + visible: x.value, + "can-switch": !0, + "keyboard-type": j.value, + "vehicle-no-list": T.value, + "vehicle-no-index": g.value, + }), + H: e.o(Q), + I: e.o(w), + J: e.p({ + visible: E.value, + "can-switch": !1, + vin: h.value, + }), + K: e.o(O), + L: e.o(M), + M: e.p({ visible: I.value, "copy-vin": b.value }), + } + ) + ); + } + ); + }, + }, + T = e._export_sfc(E, [["__scopeId", "data-v-b545ddc3"]]); +(E.__runtimeHooks = 3), wx.createPage(T); diff --git a/pages/sali-check-query/index.json b/pages/sali-check-query/index.json new file mode 100644 index 0000000..ec5912d --- /dev/null +++ b/pages/sali-check-query/index.json @@ -0,0 +1,15 @@ +{ + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "uni-data-select": "../../uni_modules/uni-data-select/components/uni-data-select/uni-data-select", + "popup-copy-vin": "../../components/popup-copy-vin/index", + "agreement": "../../components/agreement/index", + "keyboard": "../../components/keyboard/index", + "divider": "../../components/divider/index", + "tips": "../../components/tips/index", + "prompt": "../../components/prompt/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/sali-check-query/index.wxml b/pages/sali-check-query/index.wxml new file mode 100644 index 0000000..d5fcfd4 --- /dev/null +++ b/pages/sali-check-query/index.wxml @@ -0,0 +1,169 @@ + + + + + + {{c}} + 什么是VIN? + + + + + + + + + 请输入17位VIN车架号 + {{l}} + + + + {{p}}/17 + + + + + {{value.a}} + 新能源 + + + + * + 请选择您的车辆类型 + + + + + + 查 询 + + + + 样例报告 + + + + {{item.a}} + {{item.b}} + + + 免责声明 + {{B}} + + + + + + + diff --git a/pages/sali-check-query/index.wxss b/pages/sali-check-query/index.wxss new file mode 100644 index 0000000..f6672ae --- /dev/null +++ b/pages/sali-check-query/index.wxss @@ -0,0 +1,254 @@ +.content.data-v-b545ddc3 { + padding: 30rpx; +} +.content .banner.data-v-b545ddc3 { + background-color: #1f68e9; + border-radius: 15rpx; + color: #fff; + height: 240rpx; + padding: 30rpx; + position: relative; +} +.content .banner .title.data-v-b545ddc3 { + height: 95rpx; + position: absolute; + top: 40rpx; + z-index: 10; +} +.content .banner .image.data-v-b545ddc3 { + bottom: -15rpx; + height: 170rpx; + position: absolute; + right: -10rpx; + width: 350rpx; + z-index: 9; +} +.content .module-title.data-v-b545ddc3 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 36rpx; + font-weight: 700; + justify-content: space-between; + line-height: 36rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-b545ddc3 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .query-content.data-v-b545ddc3 { + background-color: #fff; + border-radius: 10rpx; + padding: 40rpx; +} +.content .query-content .radio-group.data-v-b545ddc3 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin-bottom: 30rpx; +} +.content .query-content .radio-group label.data-v-b545ddc3 { + align-items: center; + display: -webkit-flex; + display: flex; + margin-right: 20rpx; +} +.content .query-content .radio-group .tips.data-v-b545ddc3 { + color: #1f68e9; + font-size: 30rpx; +} +.content .query-content .vehicle-content.data-v-b545ddc3 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .query-content .vehicle-content .number-item.data-v-b545ddc3 { + border: 2rpx solid #e1e1e1; + display: -webkit-flex; + display: flex; + font-weight: 700; + height: 85rpx; + justify-content: center; + margin: 0 7rpx; + position: relative; + width: 75rpx; +} +.content .query-content .vehicle-content .number-item.new.data-v-b545ddc3 { + border: 2rpx dashed #6fd99a; +} +.content .query-content .vehicle-content .number-item .number.data-v-b545ddc3 { + font-size: 32rpx; + height: 50rpx; + margin-top: 18rpx; + padding-bottom: 18rpx; + text-align: center; + width: 35rpx; +} +.content + .query-content + .vehicle-content + .number-item + .number.selected.data-v-b545ddc3 { + border-bottom: 4rpx solid #1f68e9; +} +.content .query-content .vehicle-content .number-item .energy.data-v-b545ddc3 { + background: #0ac260; + border-radius: 14rpx; + color: #fff; + font-size: 16rpx; + height: 28rpx; + left: 2rpx; + line-height: 28rpx; + position: absolute; + text-align: center; + top: -20rpx; + width: 60rpx; +} +.content .query-content .input-content.data-v-b545ddc3 { + align-items: center; + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx; + position: relative; +} +.content .query-content .input-content.selected.data-v-b545ddc3 { + border-color: #1f68e9; +} +.content .query-content .input-content .input.data-v-b545ddc3 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + font-size: 32rpx; + font-size: 30rpx; + overflow-y: scroll; + position: relative; +} +.content .query-content .input-content .input .placeholder.data-v-b545ddc3 { + color: silver; + left: 0; + position: absolute; +} +.content .query-content .input-content .input .cursor.data-v-b545ddc3 { + animation: cursor-blinks-b545ddc3 1.5s step-start infinite; + background: #1f68e9; + height: 40rpx; + width: 4rpx; +} +.content .query-content .input-content .clear.data-v-b545ddc3 { + flex-shrink: 0; + height: 32rpx; + padding: 0 10rpx 0 20rpx; + width: 32rpx; +} +.content .query-content .input-content .input-length.data-v-b545ddc3 { + color: #232323; + flex-shrink: 0; + font-size: 26rpx; +} +.content .query-content .input-content .photo.data-v-b545ddc3 { + flex-shrink: 0; + height: 50rpx; + margin-left: 10rpx; + margin-top: -5rpx; + width: 50rpx; +} +.content .query-content .title-content.data-v-b545ddc3 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin: 30rpx 0; +} +.content .query-content .button.data-v-b545ddc3 { + align-items: center; + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + font-weight: 700; + height: 90rpx; + justify-content: center; + margin-top: 40rpx; +} +.content .example-content.data-v-b545ddc3 { + background-color: #fff; + border-radius: 10rpx; + overflow: hidden; +} +.content .example-content .cell.data-v-b545ddc3 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 40rpx; +} +.content .example-content .cell-title.data-v-b545ddc3 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + padding-left: 5rpx; +} +.content .example-content .cell-title image.data-v-b545ddc3 { + height: 30rpx; + margin-left: 10rpx; + width: 30rpx; +} +.content .example-content .cell-value.data-v-b545ddc3 { + color: #686868; + font-size: 30rpx; + padding-right: 5rpx; +} +.content .example-content .tips.data-v-b545ddc3 { + background-color: #fffbe8; + color: #ed6a0c; + font-size: 26rpx; + padding: 20rpx; +} +.content .disclaimer.data-v-b545ddc3 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +@-webkit-keyframes cursor-blinks-b545ddc3 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-b545ddc3 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/pages/sali-detail/index.js b/pages/sali-detail/index.js new file mode 100644 index 0000000..9e72ad0 --- /dev/null +++ b/pages/sali-detail/index.js @@ -0,0 +1,109 @@ +var e = require("../../common/vendor.js"), + t = require("../../hooks/onMounted.js"), + n = require("../../hooks/onShareAppMessage.js"), + r = require("../../service/index.js"), + i = require("../../constant/index.js"), + u = require("../../utils/util.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../utils/request.js"), + Math || (e.unref(a) + e.unref(s) + e.unref(o) + e.unref(v))(); +var a = function () { + return "../../components/vehicle-number/index.js"; + }, + o = function () { + return "../../components/empty/index.js"; + }, + s = function () { + return "../../components/divider/index.js"; + }, + v = function () { + return "../../components/float-share/index.js"; + }, + l = { + __name: "index", + setup: function (a) { + var o = e.ref(!0), + s = e.ref(!1), + v = e.ref({}), + l = function () { + e.index.setClipboardData({ data: v.value.vin }).then(function () { + u.showToast("VIN车架号已复制"); + }); + }; + return ( + t.onMounted(function (t) { + var n = t.order_no, + a = t.product_id; + u.showLoading("努力查询中"), + r + .getReportDetail({ order_no: n, product_id: a }) + .then(function (t) { + var n = e._.find(i.vehicleTypeList, function (e) { + return e.value == t.type; + }); + (t.type = n ? n.text : "-"), + (v.value = t), + (o.value = !1), + u.hideLoading(); + }); + }, !1), + n.onShareAppMessage(), + function (t, n) { + return e.e( + { a: !o.value }, + o.value + ? {} + : e.e( + { b: !s.value }, + s.value + ? {} + : e.e( + { c: v.value.info }, + v.value.info + ? { + d: e.t(v.value.vin), + e: e.o(l), + f: e.t(v.value.info || "-"), + g: e.t(v.value.create_time || "-"), + } + : {}, + { h: !v.value.info }, + v.value.info + ? {} + : e.e( + { + i: e.t(v.value.name.trim() || "-"), + j: e.t(v.value.code.trim() || "-"), + k: e.t(v.value.no.trim() || "-"), + l: e.t(v.value.start_time.trim() || "-"), + m: e.t(v.value.end_time.trim() || "-"), + n: !!v.value.cph.trim(), + }, + v.value.cph.trim() + ? { o: e.p({ data: v.value.cph.trim() }) } + : {}, + { + p: e.t(v.value.type.trim() || "-"), + q: e.t(v.value.vin), + r: e.o(l), + s: e.t(v.value.engine_no.trim() || "-"), + t: e.t(v.value.area.trim() || "-"), + v: e.t(v.value.create_time || "-"), + } + ), + { w: e.t(e.unref(i.disclaimer)) } + ), + { x: s.value }, + s.value ? { y: e.p({ info: "抱歉~!没有查到数据哦" }) } : {} + ) + ); + } + ); + }, + }, + d = e._export_sfc(l, [["__scopeId", "data-v-a38072eb"]]); +(l.__runtimeHooks = 2), wx.createPage(d); diff --git a/pages/sali-detail/index.json b/pages/sali-detail/index.json new file mode 100644 index 0000000..a32197c --- /dev/null +++ b/pages/sali-detail/index.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "交强险信息", + "usingComponents": { + "vehicle-number": "../../components/vehicle-number/index", + "empty": "../../components/empty/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/sali-detail/index.wxml b/pages/sali-detail/index.wxml new file mode 100644 index 0000000..e6bcbff --- /dev/null +++ b/pages/sali-detail/index.wxml @@ -0,0 +1,98 @@ + + + 交强险信息 + + + VIN车架号 + + {{d}} + 复制 + + + + 状态 + {{f}} + + + 报告时间 + {{g}} + + + + + 保险公司 + {{i}} + + + 投保确认码 + {{j}} + + + 保单号 + {{k}} + + + 起保日期 + {{l}} + + + 终保日期 + {{m}} + + + 车牌号码 + + + + + + 号牌种类 + {{p}} + + + VIN车架号 + + {{q}} + 复制 + + + + 发动机号 + {{s}} + + + 投保地区 + {{t}} + + + 报告时间 + {{v}} + + + 免责声明 + {{w}} + + + + + diff --git a/pages/sali-detail/index.wxss b/pages/sali-detail/index.wxss new file mode 100644 index 0000000..974c951 --- /dev/null +++ b/pages/sali-detail/index.wxss @@ -0,0 +1,88 @@ +.content.data-v-a38072eb { + padding: 30rpx; +} +.content .info.data-v-a38072eb { + align-items: center; + background-color: #eaf1f8; + border-radius: 12rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx 30rpx; +} +.content .info .logo.data-v-a38072eb { + flex-shrink: 0; + height: 100rpx; + width: 100rpx; +} +.content .info .right-content.data-v-a38072eb { + flex-grow: 1; + margin-left: 30rpx; +} +.content .info .right-content .name.data-v-a38072eb { + font-size: 32rpx; + font-weight: 700; +} +.content .info .right-content .desc.data-v-a38072eb { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + margin-top: 8rpx; +} +.content .info .right-content .desc image.data-v-a38072eb { + height: 40rpx; + width: 265rpx; +} +.content .module-title.data-v-a38072eb { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-a38072eb { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .disclaimer.data-v-a38072eb { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +.content .detail.data-v-a38072eb { + background-color: #fff; + border-radius: 10rpx; + padding: 10rpx 40rpx; + position: relative; +} +.content .detail .cell.data-v-a38072eb { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 30rpx 0; +} +.content .detail .cell .title.data-v-a38072eb { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .detail .cell .value.data-v-a38072eb { + color: #686868; + font-size: 30rpx; + max-width: 450rpx; + padding-right: 5rpx; +} +.content .detail .cell .value .copy.data-v-a38072eb { + color: #d71818; + margin-left: 15rpx; +} diff --git a/pages/sali-query/index.js b/pages/sali-query/index.js new file mode 100644 index 0000000..a393cdb --- /dev/null +++ b/pages/sali-query/index.js @@ -0,0 +1,202 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + u = require("../../hooks/onShareAppMessage.js"), + t = require("../../hooks/useState.js"), + i = require("../../enums/index.js"), + o = require("../../constant/index.js"), + r = require("../../data/index.js"), + a = require("../../utils/navigate.js"), + l = require("../../utils/util.js"), + s = require("../../utils/common.js"), + v = require("../../utils/vin.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../store/app/index.js"), + Math || + ( + e.unref(h) + + e.unref(f) + + e.unref(m) + + e.unref(p) + + e.unref(g) + + e.unref(x) + + e.unref(d) + + e.unref(c) + )(); +var c = function () { + return "../../components/popup-copy-vin/index.js"; + }, + f = function () { + return "../../components/agreement/index.js"; + }, + d = function () { + return "../../components/keyboard/index.js"; + }, + p = function () { + return "../../components/divider/index.js"; + }, + h = function () { + return "../../components/tips/index.js"; + }, + m = function () { + return "../../components/prompt/index.js"; + }, + g = function () { + return "../../components/float-back-to-top/index.js"; + }, + x = function () { + return "../../components/float-share/index.js"; + }, + j = { + __name: "index", + setup: function (c) { + var f = t.useState().showAgreementPopup, + d = e.ref(!0), + p = e.ref(""), + h = e.ref(i.QueryTypeEnum.VIN), + m = e.ref(!1), + g = e.ref(""), + x = e.ref(!1), + j = e.ref(0), + q = e.ref(!1), + y = e.ref(""), + T = e.ref(!1), + b = function () { + var e = f.value || q.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + w = function () { + a.navigateTo({ url: "/pages/vin-info/index" }); + }, + k = function () { + g.value = ""; + }, + I = function () { + s.ocrIdentifyVin().then(function (e) { + g.value = e; + }); + }, + S = function () { + x.value = !0; + }, + _ = function () { + x.value = !1; + }, + A = function (e) { + g.value = e.value; + }, + N = function () { + m.value = !m.value; + }, + V = function () { + q.value = !1; + }, + M = function () { + (g.value = y.value), (q.value = !1), P(); + }, + P = function () { + if (((x.value = !1), m.value)) { + if (h.value === i.QueryTypeEnum.VIN) { + if (0 === g.value.length) + return void l.showToast("请输入VIN车架号"); + if (g.value.length < 17) + return void l.showToast("请输入完整的VIN车架号"); + if (!v.validateVIN(g.value)) + return void l.showToast("车架号有误,请检查后重新输入"); + } + a.navigateTo({ + url: "/pages/order-confirm/index", + params: { + productType: i.ProductTypeEnum.SALI, + queryType: h.value, + vin: g.value, + }, + }); + } else l.showToast("请先阅读并同意协议"); + }; + return ( + n.onMounted(function (n) { + e.index.setNavigationBarTitle({ title: n.title }), + s.hasClickAgreement() && + e.index.getClipboardData().then(function (n) { + var u = n.data; + e.index.hideToast(), + 17 === u.trim().length && + setTimeout(function () { + (y.value = u.trim()), (q.value = !0); + }, 300); + }), + (p.value = n.title), + (d.value = !1), + l.hideLoading(); + }), + e.onPageScroll(function (n) { + var u = n.scrollTop; + T.value = u >= e.index.getSystemInfoSync().windowHeight / 3; + }), + u.onShareAppMessage(), + function (n, u) { + return e.e( + { a: b(), b: !d.value }, + d.value + ? {} + : e.e( + { c: e.t(p.value), d: e.o(w), e: 0 === g.value.length }, + (g.value.length, {}), + { f: e.t(g.value), g: e.o(S), h: g.value.length > 0 }, + g.value.length > 0 ? { i: e.o(k) } : {}, + { + j: e.t(g.value.length), + k: e.o(I), + l: g.value.length > 0 ? 1 : "", + m: e.o(P), + n: e.o(N), + o: e.p({ checked: m.value }), + p: e.f(["车辆在保", "车辆脱保"], function (n, u, t) { + return { + a: e.t(n), + b: e.n(j.value === u ? "active" : ""), + c: u, + d: e.o(function (e) { + return (function (e) { + j.value = e; + })(u); + }, u), + }; + }), + q: 0 === j.value, + }, + 0 === j.value + ? { + r: e.f(e.unref(r.mockSaliList), function (n, u, t) { + return { a: e.t(n.label), b: e.t(n.value), c: u }; + }), + } + : {}, + { s: 1 === j.value }, + (j.value, {}), + { + t: e.t(e.unref(o.disclaimer)), + v: e.p({ visible: T.value }), + w: e.o(_), + x: e.o(A), + y: e.p({ + visible: x.value, + "can-switch": !1, + vin: g.value, + }), + z: e.o(M), + A: e.o(V), + B: e.p({ visible: q.value, "copy-vin": y.value }), + } + ) + ); + } + ); + }, + }, + q = e._export_sfc(j, [["__scopeId", "data-v-8a3351c6"]]); +(j.__runtimeHooks = 3), wx.createPage(q); diff --git a/pages/sali-query/index.json b/pages/sali-query/index.json new file mode 100644 index 0000000..66d2940 --- /dev/null +++ b/pages/sali-query/index.json @@ -0,0 +1,14 @@ +{ + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "popup-copy-vin": "../../components/popup-copy-vin/index", + "agreement": "../../components/agreement/index", + "keyboard": "../../components/keyboard/index", + "divider": "../../components/divider/index", + "tips": "../../components/tips/index", + "prompt": "../../components/prompt/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/sali-query/index.wxml b/pages/sali-query/index.wxml new file mode 100644 index 0000000..54a09e1 --- /dev/null +++ b/pages/sali-query/index.wxml @@ -0,0 +1,124 @@ + + + + + + {{c}} + 什么是VIN? + + + + + 请输入17位VIN车架号 + {{f}} + + + + {{j}}/17 + + + + 查 询 + + + + 样例报告 + + + {{item.a}} + + + + + {{item.a}} + {{item.b}} + + + + + VIN车架号 + WDDBF*******40972 + + + 状态 + 脱保 + + + 报告时间 + 2021-08-01 11:27:27 + + + + 免责声明 + {{t}} + + + + + + diff --git a/pages/sali-query/index.wxss b/pages/sali-query/index.wxss new file mode 100644 index 0000000..bd9af85 --- /dev/null +++ b/pages/sali-query/index.wxss @@ -0,0 +1,273 @@ +.content.data-v-8a3351c6 { + padding: 30rpx; +} +.content .banner.data-v-8a3351c6 { + background-color: #1f68e9; + border-radius: 15rpx; + color: #fff; + height: 240rpx; + padding: 30rpx; + position: relative; +} +.content .banner .title.data-v-8a3351c6 { + height: 95rpx; + position: absolute; + top: 40rpx; + z-index: 10; +} +.content .banner .image.data-v-8a3351c6 { + bottom: -15rpx; + height: 170rpx; + position: absolute; + right: -10rpx; + width: 350rpx; + z-index: 9; +} +.content .module-title.data-v-8a3351c6 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 36rpx; + font-weight: 700; + justify-content: space-between; + line-height: 36rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-8a3351c6 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .query-content.data-v-8a3351c6 { + background-color: #fff; + border-radius: 10rpx; + padding: 40rpx; +} +.content .query-content .radio-group.data-v-8a3351c6 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin-bottom: 30rpx; +} +.content .query-content .radio-group label.data-v-8a3351c6 { + align-items: center; + display: -webkit-flex; + display: flex; + margin-right: 20rpx; +} +.content .query-content .radio-group .tips.data-v-8a3351c6 { + color: #1f68e9; + font-size: 30rpx; +} +.content .query-content .vehicle-content.data-v-8a3351c6 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .query-content .vehicle-content .number-item.data-v-8a3351c6 { + border: 2rpx solid #e1e1e1; + display: -webkit-flex; + display: flex; + font-weight: 700; + height: 85rpx; + justify-content: center; + margin: 0 7rpx; + position: relative; + width: 75rpx; +} +.content .query-content .vehicle-content .number-item.new.data-v-8a3351c6 { + border: 2rpx dashed #6fd99a; +} +.content .query-content .vehicle-content .number-item .number.data-v-8a3351c6 { + font-size: 32rpx; + height: 50rpx; + margin-top: 18rpx; + padding-bottom: 18rpx; + text-align: center; + width: 35rpx; +} +.content + .query-content + .vehicle-content + .number-item + .number.selected.data-v-8a3351c6 { + border-bottom: 4rpx solid #1f68e9; +} +.content .query-content .vehicle-content .number-item .energy.data-v-8a3351c6 { + background: #0ac260; + border-radius: 14rpx; + color: #fff; + font-size: 16rpx; + height: 28rpx; + left: 2rpx; + line-height: 28rpx; + position: absolute; + text-align: center; + top: -20rpx; + width: 60rpx; +} +.content .query-content .input-content.data-v-8a3351c6 { + align-items: center; + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx; + position: relative; +} +.content .query-content .input-content.selected.data-v-8a3351c6 { + border-color: #1f68e9; +} +.content .query-content .input-content .input.data-v-8a3351c6 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + font-size: 32rpx; + font-size: 30rpx; + overflow-y: scroll; + position: relative; +} +.content .query-content .input-content .input .placeholder.data-v-8a3351c6 { + color: silver; + left: 0; + position: absolute; +} +.content .query-content .input-content .input .cursor.data-v-8a3351c6 { + animation: cursor-blinks-8a3351c6 1.5s step-start infinite; + background: #1f68e9; + height: 40rpx; + width: 4rpx; +} +.content .query-content .input-content .clear.data-v-8a3351c6 { + flex-shrink: 0; + height: 32rpx; + padding: 0 10rpx 0 20rpx; + width: 32rpx; +} +.content .query-content .input-content .input-length.data-v-8a3351c6 { + color: #232323; + flex-shrink: 0; + font-size: 26rpx; +} +.content .query-content .input-content .photo.data-v-8a3351c6 { + flex-shrink: 0; + height: 50rpx; + margin-left: 10rpx; + margin-top: -5rpx; + width: 50rpx; +} +.content .query-content .title-content.data-v-8a3351c6 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin: 30rpx 0; +} +.content .query-content .button.data-v-8a3351c6 { + align-items: center; + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + font-weight: 700; + height: 90rpx; + justify-content: center; + margin-top: 40rpx; +} +.content .example-content.data-v-8a3351c6 { + background-color: #fff; + border-radius: 10rpx; + overflow: hidden; +} +.content .example-content .tabs.data-v-8a3351c6 { + align-items: center; + background-color: #fff; + border-bottom: 2rpx solid #ebeef5; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + height: 90rpx; + justify-content: space-evenly; + width: 100%; +} +.content .example-content .tabs .tab.data-v-8a3351c6 { + height: 90rpx; + line-height: 90rpx; +} +.content .example-content .tabs .tab.active.data-v-8a3351c6 { + border-bottom: 4rpx solid #1f68e9; + color: #1f68e9; +} +.content .example-content .cell.data-v-8a3351c6 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 40rpx; +} +.content .example-content .cell-title.data-v-8a3351c6 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + padding-left: 5rpx; +} +.content .example-content .cell-title image.data-v-8a3351c6 { + height: 30rpx; + margin-left: 10rpx; + width: 30rpx; +} +.content .example-content .cell-value.data-v-8a3351c6 { + color: #686868; + font-size: 30rpx; + padding-right: 5rpx; +} +.content .example-content .tips.data-v-8a3351c6 { + background-color: #fffbe8; + color: #ed6a0c; + font-size: 26rpx; + padding: 20rpx; +} +.content .disclaimer.data-v-8a3351c6 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +@-webkit-keyframes cursor-blinks-8a3351c6 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-8a3351c6 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/pages/splash/index.js b/pages/splash/index.js new file mode 100644 index 0000000..1ea0e00 --- /dev/null +++ b/pages/splash/index.js @@ -0,0 +1,45 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + o = require("../../utils/navigate.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/util.js"); +var r = { + __name: "index", + setup: function (r) { + return ( + n.onMounted(function (n) { + var r = n.loadingTime; + console.log( + "当前小程序版本号:".concat( + e.index.getAccountInfoSync().miniProgram.version + ) + ), + console.log("初始化接口请求时间:".concat(r, "毫秒")), + console.log( + "闪屏页需要延迟时间:".concat(r > 1e3 ? 0 : 1e3 - r, "毫秒") + ), + console.log( + "闪屏页加载所需时间:".concat(r > 1e3 ? r : 1e3, "毫秒") + ), + setTimeout( + function () { + o.switchTab({ url: "/pages/home/index" }); + }, + r > 1e3 ? 0 : 1e3 - r + ); + }, !1), + function (e, n) { + return {}; + } + ); + }, + }, + i = e._export_sfc(r, [["__scopeId", "data-v-367a9f4e"]]); +wx.createPage(i); diff --git a/pages/splash/index.json b/pages/splash/index.json new file mode 100644 index 0000000..fd156c3 --- /dev/null +++ b/pages/splash/index.json @@ -0,0 +1,6 @@ +{ + "disableScroll": true, + "navigationStyle": "custom", + "navigationBarTextStyle": "black", + "usingComponents": {} +} diff --git a/pages/splash/index.wxml b/pages/splash/index.wxml new file mode 100644 index 0000000..d79de50 --- /dev/null +++ b/pages/splash/index.wxml @@ -0,0 +1,6 @@ + + + diff --git a/pages/splash/index.wxss b/pages/splash/index.wxss new file mode 100644 index 0000000..9c870b8 --- /dev/null +++ b/pages/splash/index.wxss @@ -0,0 +1,14 @@ +.content.data-v-367a9f4e { + align-items: center; + display: -webkit-flex; + display: flex; + height: 100%; + justify-content: center; + position: absolute; +} +.content .image1.data-v-367a9f4e { + height: 1334rpx; + margin-top: 200rpx; + transform: scale(0.9); + width: 750rpx; +} diff --git a/pages/upload-success/index.js b/pages/upload-success/index.js new file mode 100644 index 0000000..08b2fa0 --- /dev/null +++ b/pages/upload-success/index.js @@ -0,0 +1,37 @@ +var e = require("../../common/vendor.js"), + r = require("../../hooks/onMounted.js"), + n = require("../../hooks/onShareAppMessage.js"), + i = require("../../utils/navigate.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/util.js"), + Math || (e.unref(s) + e.unref(o))(); +var s = function () { + return "../../components/float-help/index.js"; + }, + o = function () { + return "../../components/float-share/index.js"; + }, + t = { + __name: "index", + setup: function (s) { + var o = function () { + i.redirectTo({ url: "/pages/order-list-mine/index" }); + }; + return ( + r.onMounted(function () {}, !1), + n.onShareAppMessage(), + function (r, n) { + return e.e({ a: !r.loading }, r.loading ? {} : { b: e.o(o) }); + } + ); + }, + }, + u = e._export_sfc(t, [["__scopeId", "data-v-10d49bcd"]]); +(t.__runtimeHooks = 2), wx.createPage(u); diff --git a/pages/upload-success/index.json b/pages/upload-success/index.json new file mode 100644 index 0000000..63b7f29 --- /dev/null +++ b/pages/upload-success/index.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "查询中", + "usingComponents": { + "float-help": "../../components/float-help/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/upload-success/index.wxml b/pages/upload-success/index.wxml new file mode 100644 index 0000000..1e13df0 --- /dev/null +++ b/pages/upload-success/index.wxml @@ -0,0 +1,30 @@ + + + 正在查询中,请耐心等待... + + 正常情况下,报告在3-15分钟内会有结果,车辆维保报告最快10-30分钟左右出结果。报告处理时间为9点-22点,22点后次日处理。18点以后,部分订单会在第二天早上9点后收到查询结果。 + + + + + + + diff --git a/pages/upload-success/index.wxss b/pages/upload-success/index.wxss new file mode 100644 index 0000000..61b5ed8 --- /dev/null +++ b/pages/upload-success/index.wxss @@ -0,0 +1,68 @@ +page { + background-color: #fff; + overflow: visible !important; +} +.content.data-v-10d49bcd { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + padding: 60rpx; +} +.content .pic.data-v-10d49bcd { + height: 313rpx; + margin-top: 120rpx; + width: 324rpx; +} +.content .pay-status.data-v-10d49bcd { + font-size: 42rpx; + font-weight: 700; + margin-top: 100rpx; +} +.content .tips.data-v-10d49bcd { + color: #5e5e6b; + font-size: 28rpx; + line-height: 44rpx; + margin-top: 40rpx; + padding: 0 20rpx; +} +.content .view-report.data-v-10d49bcd { + color: #1f68e9; + font-size: 32rpx; + font-weight: 700; + margin-top: 150rpx; +} +.content .button-content.data-v-10d49bcd { + padding: 0 20rpx; + width: 100%; +} +.content .button-content .button.data-v-10d49bcd { + background-color: #fff; + border-radius: 100rpx; + font-size: 32rpx; + height: 90rpx; + line-height: 90rpx; + padding: 0; + text-align: center; + width: 100%; +} +.content .button-content .button.type1.data-v-10d49bcd { + background-color: #1f68e9; + color: #fff; + margin-top: 60rpx; +} +.content .button-content .button.type2.data-v-10d49bcd { + background-color: #edf5ff; + color: #1f68e9; + margin-top: 40rpx; +} +.content .button-content .button.type3.data-v-10d49bcd { + border: 2rpx solid #c4c8d1; + margin-top: 40rpx; +} +.content .notice.data-v-10d49bcd { + color: rgba(94, 94, 107, 0.855); + font-size: 24rpx; + margin-top: 50rpx; + text-align: center; +} diff --git a/pages/user/index.js b/pages/user/index.js new file mode 100644 index 0000000..9738314 --- /dev/null +++ b/pages/user/index.js @@ -0,0 +1,106 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + r = require("../../hooks/onShow.js"), + u = require("../../hooks/onShareAppMessage.js"), + i = require("../../hooks/useState.js"), + t = require("../../hooks/useHeight.js"), + o = require("../../constant/index.js"), + a = require("../../utils/navigate.js"), + s = require("../../config/index.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../utils/util.js"), + require("../../enums/index.js"), + require("../../store/app/index.js"), + require("../../data/index.js"); +var c = { + __name: "index", + setup: function (c) { + var f = i.useState(), + l = f.userId, + d = f.nickName, + g = f.avatar, + v = f.token, + p = t.useHeight().navigationBarHeight, + q = e.ref(!0), + x = e.ref(!1), + h = function () {}, + j = function (e) { + a.navigateTo({ + url: "/pages/order-list-mine/index", + params: { tabIndex: e }, + }); + }, + m = function () { + a.navigateTo({ + url: "/pages/web-view/index", + params: { url: o.concealAgreementUrl, title: "隐私协议" }, + }); + }, + k = function () { + a.navigateTo({ + url: "/pages/web-view/index", + params: { url: o.userAgreementUrl, title: "用户协议" }, + }); + }, + w = function () { + a.navigateTo({ url: "/pages/question/index" }); + }, + _ = function (e) { + e.detail.path && a.switchTab({ url: e.detail.path }); + }, + S = function () { + a.navigateTo({ url: "/pages/easter-egg/index" }); + }; + return ( + n.onMounted(function () { + q.value = !1; + var n = e.index.getAccountInfoSync().miniProgram.envVersion; + ("develop" !== n && "trial" !== n) || (x.value = !0); + }, !1), + r.onShow(), + u.onShareAppMessage(), + function (n, r) { + return e.e( + { a: !q.value }, + q.value + ? {} + : e.e( + { b: e.unref(g), c: e.t(e.unref(d)), d: e.unref(v) }, + e.unref(v) ? { e: e.t(e.unref(l)) } : {}, + { f: !e.unref(v) }, + (e.unref(v), {}), + { + g: e.o(h), + h: "".concat(e.unref(p) + 10, "px"), + i: e.o(function (e) { + return j(0); + }), + j: e.o(function (e) { + return j(1); + }), + k: e.o(function (e) { + return j(2); + }), + l: e.o(function (e) { + return j(3); + }), + m: e.o(function (e) { + return j(4); + }), + n: e.o(m), + o: e.o(k), + p: e.o(w), + q: e.unref(s.appName), + r: e.o(_), + s: x.value, + }, + x.value ? { t: e.o(S) } : {} + ) + ); + } + ); + }, + }, + f = e._export_sfc(c, [["__scopeId", "data-v-d3798410"]]); +(c.__runtimeHooks = 2), wx.createPage(f); diff --git a/pages/user/index.json b/pages/user/index.json new file mode 100644 index 0000000..4e4d0c5 --- /dev/null +++ b/pages/user/index.json @@ -0,0 +1,6 @@ +{ + "navigationStyle": "custom", + "navigationBarTextStyle": "white", + "navigationBarTitleText": "我的", + "usingComponents": {} +} diff --git a/pages/user/index.wxml b/pages/user/index.wxml new file mode 100644 index 0000000..a9b3233 --- /dev/null +++ b/pages/user/index.wxml @@ -0,0 +1,199 @@ + + + + + + + + + 全部订单 + + + + 待付款 + + + + 待上传 + + + + 查询中 + + + + 查询成功 + + + + + + + + + + + 客服工作时间为9:00~18:00 + + diff --git a/pages/user/index.wxss b/pages/user/index.wxss new file mode 100644 index 0000000..1ae41c4 --- /dev/null +++ b/pages/user/index.wxss @@ -0,0 +1,195 @@ +page { + background-color: #fff; +} +.content.data-v-d3798410 { + position: relative; +} +.content .background.data-v-d3798410 { + height: 500rpx; + overflow: hidden; + position: relative; + width: 100%; + z-index: 9; +} +.content .background .background-inner.data-v-d3798410 { + background: linear-gradient(to right top, #1f68e9, #2c74ef); + border-radius: 0 0 50% 50%; + content: ""; + height: 500rpx; + left: -20%; + position: absolute; + top: 0; + width: 140%; + z-index: -1; +} +.content .background .user-info.data-v-d3798410 { + display: -webkit-flex; + display: flex; + padding: 40rpx; + position: relative; + z-index: 10; +} +.content .background .user-info .left-content.data-v-d3798410 { + border: 2rpx solid #fff; + border-radius: 100%; + height: 125rpx; + overflow: hidden; + width: 125rpx; +} +.content .background .user-info .left-content image.data-v-d3798410 { + height: 100%; + width: 100%; +} +.content .background .user-info .right-content.data-v-d3798410 { + color: #fff; + display: -webkit-flex; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + margin-left: 30rpx; +} +.content .background .user-info .right-content .name.data-v-d3798410 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 38rpx; + font-weight: 700; +} +.content .background .user-info .right-content .name image.data-v-d3798410 { + height: 20rpx; + margin-left: 10rpx; + width: 20rpx; +} +.content .background .user-info .right-content .id.data-v-d3798410 { + color: hsla(0, 0%, 100%, 0.847); + font-size: 28rpx; + margin-top: 16rpx; +} +.content .background .user-info .right-content .login.data-v-d3798410 { + color: #fff; + font-size: 38rpx; + font-weight: 700; +} +.content .order.data-v-d3798410 { + align-self: center; + background-color: #fff; + border-radius: 12rpx; + box-shadow: 0 2rpx 20rpx rgba(0, 0, 0, 0.1); + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: -120rpx 50rpx 20rpx; + padding: 30rpx 20rpx 20rpx; + position: relative; + z-index: 99; +} +.content .order .order-item.data-v-d3798410 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: column; + justify-content: center; + width: 150rpx; +} +.content .order .order-item image.data-v-d3798410 { + height: 50rpx; + width: 50rpx; +} +.content .order .order-item text.data-v-d3798410 { + color: #444; + font-size: 28rpx; + margin-top: 20rpx; +} +.content .cell-content.data-v-d3798410 { + background-color: #fff; + padding: 0 20rpx; +} +.content .cell-content .cell.data-v-d3798410 { + align-items: center; + background-color: #fff; + border: 0; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 0; + padding: 18rpx 40rpx; +} +.content .cell-content .cell .icon.data-v-d3798410 { + flex-shrink: 0; + height: 44rpx; + width: 44rpx; +} +.content .cell-content .cell text.data-v-d3798410 { + color: #333; + display: block; + flex-grow: 1; + font-size: 30rpx; + margin-left: 30rpx; + text-align: left; +} +.content .cell-content .cell .more.data-v-d3798410 { + flex-shrink: 0; + height: 22rpx; + width: 12rpx; +} +.content .cell-content .divider.data-v-d3798410 { + background-color: #f4f4f4; + height: 1rpx; + margin: 8rpx 0; + width: 100%; +} +.content .tips.data-v-d3798410 { + color: gray; + font-size: 24rpx; + padding: 20rpx 0 40rpx; + text-align: center; +} +.content .easter-egg.data-v-d3798410 { + animation: shake-d3798410 1s linear 0.15s infinite; + bottom: 100rpx; + height: 100rpx; + position: fixed; + right: 50rpx; + width: 100rpx; + z-index: 88; +} +.hover-class.data-v-d3798410 { + opacity: 0.7; +} +@-webkit-keyframes shake-d3798410 { + 10% { + transform: rotate(15deg); + } + 20% { + transform: rotate(-10deg); + } + 30% { + transform: rotate(5deg); + } + 40% { + transform: rotate(-5deg); + } + 50%, + to { + transform: rotate(0); + } +} +@keyframes shake-d3798410 { + 10% { + transform: rotate(15deg); + } + 20% { + transform: rotate(-10deg); + } + 30% { + transform: rotate(5deg); + } + 40% { + transform: rotate(-5deg); + } + 50%, + to { + transform: rotate(0); + } +} diff --git a/pages/vehicle-five-detail/index.js b/pages/vehicle-five-detail/index.js new file mode 100644 index 0000000..50196cb --- /dev/null +++ b/pages/vehicle-five-detail/index.js @@ -0,0 +1,92 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + r = require("../../hooks/onShareAppMessage.js"), + t = require("../../service/index.js"), + u = require("../../constant/index.js"), + i = require("../../utils/util.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../config/index.js"), + require("../../utils/request.js"), + Math || (e.unref(a) + e.unref(s) + e.unref(o) + e.unref(d))(); +var a = function () { + return "../../components/vehicle-number/index.js"; + }, + o = function () { + return "../../components/empty/index.js"; + }, + s = function () { + return "../../components/divider/index.js"; + }, + d = function () { + return "../../components/float-share/index.js"; + }, + v = { + __name: "index", + setup: function (a) { + var o = e.ref(!0), + s = e.ref(!1), + d = e.ref({}), + v = function () { + e.index.setClipboardData({ data: d.value.vin }).then(function () { + i.showToast("VIN车架号已复制"); + }); + }; + return ( + n.onMounted(function (e) { + var n = e.order_no, + r = e.product_id; + i.showLoading("努力查询中"), + t + .getReportDetail({ order_no: n, product_id: r }) + .then(function (e) { + var n = e.type; + "101" === n + ? (e.type = "小型汽车") + : "102" === n + ? (e.type = "大型汽车") + : "103" === n + ? (e.type = "小型新能源汽车") + : "104" === n && (e.type = "大型新能源汽车"), + (d.value = e), + (o.value = !1), + i.hideLoading(); + }); + }, !1), + r.onShareAppMessage(), + function (n, r) { + return e.e( + { a: !o.value }, + o.value + ? {} + : e.e( + { b: !s.value }, + s.value + ? {} + : e.e( + { c: d.value.car_no }, + d.value.car_no + ? { d: e.p({ data: d.value.car_no }) } + : {}, + { e: d.value.vin }, + d.value.vin ? { f: e.t(d.value.vin), g: e.o(v) } : {}, + { + h: e.t(d.value.brand_name), + i: e.t(d.value.type), + j: e.t(d.value.engine_no), + k: e.t(d.value.first_issue_date), + l: e.t(e.unref(u.disclaimer)), + } + ), + { m: s.value }, + s.value ? { n: e.p({ info: "抱歉~!没有查到数据哦" }) } : {} + ) + ); + } + ); + }, + }, + c = e._export_sfc(v, [["__scopeId", "data-v-1415ca37"]]); +(v.__runtimeHooks = 2), wx.createPage(c); diff --git a/pages/vehicle-five-detail/index.json b/pages/vehicle-five-detail/index.json new file mode 100644 index 0000000..6c1064f --- /dev/null +++ b/pages/vehicle-five-detail/index.json @@ -0,0 +1,9 @@ +{ + "navigationBarTitleText": "车五项", + "usingComponents": { + "vehicle-number": "../../components/vehicle-number/index", + "empty": "../../components/empty/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/vehicle-five-detail/index.wxml b/pages/vehicle-five-detail/index.wxml new file mode 100644 index 0000000..f562dbd --- /dev/null +++ b/pages/vehicle-five-detail/index.wxml @@ -0,0 +1,57 @@ + + + 车五项信息 + + + 车牌号码 + + + + + + VIN车架号 + + {{f}} + 复制 + + + + 车辆品牌 + {{h}} + + + 车辆类型 + {{i}} + + + 发动机号 + {{j}} + + + 初次登记日期 + {{k}} + + + 免责声明 + {{l}} + + + + + diff --git a/pages/vehicle-five-detail/index.wxss b/pages/vehicle-five-detail/index.wxss new file mode 100644 index 0000000..6a133f6 --- /dev/null +++ b/pages/vehicle-five-detail/index.wxss @@ -0,0 +1,56 @@ +.content.data-v-1415ca37 { + padding: 30rpx; +} +.content .module-title.data-v-1415ca37 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-1415ca37 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .disclaimer.data-v-1415ca37 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +.content .detail.data-v-1415ca37 { + background-color: #fff; + border-radius: 10rpx; + padding: 10rpx 40rpx; + position: relative; +} +.content .detail .cell.data-v-1415ca37 { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 30rpx 0; +} +.content .detail .cell .title.data-v-1415ca37 { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .detail .cell .value.data-v-1415ca37 { + color: #686868; + font-size: 30rpx; + max-width: 450rpx; + padding-right: 5rpx; +} +.content .detail .cell .value .copy.data-v-1415ca37 { + color: #d71818; + margin-left: 15rpx; +} diff --git a/pages/vehicle-five-query/index.js b/pages/vehicle-five-query/index.js new file mode 100644 index 0000000..677878e --- /dev/null +++ b/pages/vehicle-five-query/index.js @@ -0,0 +1,155 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + r = require("../../hooks/onShareAppMessage.js"), + u = require("../../hooks/useState.js"), + o = require("../../enums/index.js"), + t = require("../../constant/index.js"), + i = require("../../data/index.js"), + a = require("../../utils/navigate.js"), + s = require("../../utils/util.js"); +require("../../config/index.js"), + require("../../service/index.js"), + require("../../utils/request.js"), + require("../../store/app/index.js"), + Math || + ( + e.unref(f) + + e.unref(c) + + e.unref(d) + + e.unref(v) + + e.unref(p) + + e.unref(m) + + e.unref(l) + )(); +var c = function () { + return "../../components/agreement/index.js"; + }, + l = function () { + return "../../components/keyboard/index.js"; + }, + v = function () { + return "../../components/divider/index.js"; + }, + f = function () { + return "../../components/tips/index.js"; + }, + d = function () { + return "../../components/prompt/index.js"; + }, + p = function () { + return "../../components/float-back-to-top/index.js"; + }, + m = function () { + return "../../components/float-share/index.js"; + }, + h = { + __name: "index", + setup: function (c) { + var l = u.useState().showAgreementPopup, + v = e.ref(!0), + f = e.ref(""), + d = e.ref(!1), + p = e.ref(["", "", "", "", "", "", "", ""]), + m = e.ref(0), + h = e.ref(!1), + x = e.ref(o.KeyboardEnum.AREA), + j = e.ref(!1), + y = function () { + var e = l.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + b = function () { + h.value = !1; + }, + g = function (e) { + e.keyboardType + ? (x.value = e.keyboardType) + : ((p.value = e.value), (m.value = e.index)); + }, + q = function () { + x.value = + x.value === o.KeyboardEnum.AREA + ? o.KeyboardEnum.ABC + : o.KeyboardEnum.AREA; + }, + E = function () { + d.value = !d.value; + }, + k = function () { + h.value = !1; + var e = p.value.join(""); + d.value + ? t.vehicleNoExp.test(e) + ? a.navigateTo({ + url: "/pages/order-confirm/index", + params: { + productType: o.ProductTypeEnum.VEHICLE_FIVE, + queryType: o.QueryTypeEnum.VEHICLE_NO, + vehicleNo: e, + }, + }) + : s.showToast("请输入正确的车牌") + : s.showToast("请先阅读并同意协议"); + }; + return ( + n.onMounted(function (n) { + e.index.setNavigationBarTitle({ title: n.title }), + (f.value = n.title), + (v.value = !1), + s.hideLoading(); + }), + e.onPageScroll(function (n) { + var r = n.scrollTop; + j.value = r >= e.index.getSystemInfoSync().windowHeight / 3; + }), + r.onShareAppMessage(), + function (n, r) { + return e.e( + { a: y(), b: !v.value }, + v.value + ? {} + : { + c: e.t(f.value), + d: e.f(p.value, function (n, r, u) { + return e.e( + { a: e.t(n), b: r === m.value ? 1 : "", c: 7 === r }, + {}, + { + d: r, + e: 7 === r ? 1 : "", + f: e.o(function (e) { + return (function (e) { + (m.value = e), (h.value = !0); + })(r); + }, r), + } + ); + }), + e: e.o(k), + f: e.o(E), + g: e.p({ checked: d.value }), + h: e.f(e.unref(i.mockVehicleFiveList), function (n, r, u) { + return { a: e.t(n.label), b: e.t(n.value), c: r }; + }), + i: e.t(e.unref(t.disclaimer)), + j: e.p({ visible: j.value }), + k: e.o(b), + l: e.o(g), + m: e.o(q), + n: e.p({ + visible: h.value, + "can-switch": !0, + "keyboard-type": x.value, + "vehicle-no-list": p.value, + "vehicle-no-index": m.value, + }), + } + ); + } + ); + }, + }, + x = e._export_sfc(h, [["__scopeId", "data-v-c2411e15"]]); +(h.__runtimeHooks = 3), wx.createPage(x); diff --git a/pages/vehicle-five-query/index.json b/pages/vehicle-five-query/index.json new file mode 100644 index 0000000..7026815 --- /dev/null +++ b/pages/vehicle-five-query/index.json @@ -0,0 +1,13 @@ +{ + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "agreement": "../../components/agreement/index", + "keyboard": "../../components/keyboard/index", + "divider": "../../components/divider/index", + "tips": "../../components/tips/index", + "prompt": "../../components/prompt/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/vehicle-five-query/index.wxml b/pages/vehicle-five-query/index.wxml new file mode 100644 index 0000000..1e1fd84 --- /dev/null +++ b/pages/vehicle-five-query/index.wxml @@ -0,0 +1,81 @@ + + + + + {{c}} + + + + {{value.a}} + 新能源 + + + + 查 询 + + + + 样例报告 + + + + {{item.a}} + {{item.b}} + + + 免责声明 + {{i}} + + + + + diff --git a/pages/vehicle-five-query/index.wxss b/pages/vehicle-five-query/index.wxss new file mode 100644 index 0000000..511350f --- /dev/null +++ b/pages/vehicle-five-query/index.wxss @@ -0,0 +1,178 @@ +.content.data-v-c2411e15 { + padding: 30rpx; +} +.content .banner.data-v-c2411e15 { + background-color: #1f68e9; + border-radius: 15rpx; + color: #fff; + height: 240rpx; + padding: 30rpx; + position: relative; +} +.content .banner .title.data-v-c2411e15 { + height: 95rpx; + position: absolute; + top: 40rpx; + z-index: 9; +} +.content .banner .image.data-v-c2411e15 { + bottom: 5rpx; + height: 125rpx; + position: absolute; + right: 0; + width: 300rpx; + z-index: 9; +} +.content .module-title.data-v-c2411e15 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-c2411e15 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .query-content.data-v-c2411e15 { + background-color: #fff; + border-radius: 10rpx; + padding: 40rpx; +} +.content .query-content .vehicle-content.data-v-c2411e15 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .query-content .vehicle-content .number-item.data-v-c2411e15 { + border: 2rpx solid #e1e1e1; + display: -webkit-flex; + display: flex; + font-weight: 700; + height: 85rpx; + justify-content: center; + margin: 0 7rpx; + position: relative; + width: 75rpx; +} +.content .query-content .vehicle-content .number-item.new.data-v-c2411e15 { + border: 2rpx dashed #6fd99a; +} +.content .query-content .vehicle-content .number-item .number.data-v-c2411e15 { + font-size: 32rpx; + height: 50rpx; + margin-top: 18rpx; + padding-bottom: 18rpx; + text-align: center; + width: 35rpx; +} +.content + .query-content + .vehicle-content + .number-item + .number.selected.data-v-c2411e15 { + border-bottom: 4rpx solid #1f68e9; +} +.content .query-content .vehicle-content .number-item .energy.data-v-c2411e15 { + background: #0ac260; + border-radius: 14rpx; + color: #fff; + font-size: 16rpx; + height: 28rpx; + left: 2rpx; + line-height: 28rpx; + position: absolute; + text-align: center; + top: -20rpx; + width: 60rpx; +} +.content .query-content .button.data-v-c2411e15 { + align-items: center; + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + font-weight: 700; + height: 90rpx; + justify-content: center; + margin-top: 30rpx; +} +.content .example-content.data-v-c2411e15 { + background-color: #fff; + border-radius: 10rpx; + overflow: hidden; +} +.content .example-content .cell.data-v-c2411e15 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 40rpx; +} +.content .example-content .cell-title.data-v-c2411e15 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + padding-left: 5rpx; +} +.content .example-content .cell-title image.data-v-c2411e15 { + height: 30rpx; + margin-left: 10rpx; + width: 30rpx; +} +.content .example-content .cell-value.data-v-c2411e15 { + color: #686868; + font-size: 30rpx; + padding-right: 5rpx; +} +.content .example-content .tips.data-v-c2411e15 { + background-color: #fffbe8; + color: #ed6a0c; + font-size: 26rpx; + padding: 20rpx; +} +.content .disclaimer.data-v-c2411e15 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +@-webkit-keyframes cursor-blinks-c2411e15 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-c2411e15 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/pages/vehicle-info-detail/index.js b/pages/vehicle-info-detail/index.js new file mode 100644 index 0000000..a9b4153 --- /dev/null +++ b/pages/vehicle-info-detail/index.js @@ -0,0 +1,174 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShareAppMessage.js"), + a = require("../../service/index.js"), + o = require("../../constant/index.js"), + i = require("../../utils/util.js"), + r = require("../../utils/common.js"), + u = require("../../utils/navigate.js"), + c = require("../../config/index.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../utils/request.js"), + Math || (e.unref(d) + e.unref(s) + e.unref(l))(); +var s = function () { + return "../../components/empty/index.js"; + }, + d = function () { + return "../../components/divider/index.js"; + }, + l = function () { + return "../../components/float-share/index.js"; + }, + v = { + __name: "index", + setup: function (s) { + var d = e.ref(!0), + l = e.ref(!1), + v = e.ref({}), + f = e.ref([]), + g = e.ref(!0), + h = null, + m = function () { + h.show().catch(function () { + h.load() + .then(function () { + return h.show(); + }) + .catch(function (e) { + console.log("激励视频 广告显示失败", e); + }); + }); + }; + return ( + n.onMounted(function (n) { + i.showLoading("努力查询中"), + e.wx$1.createRewardedVideoAd && + ((h = e.wx$1.createRewardedVideoAd({ + adUnitId: c.mpWeixinVideoUnitAd, + })).onLoad(function () { + g.value = n.showMask; + }), + h.onError(function (e) { + (g.value = !1), console.log("视频激励广告拉取失败", e); + }), + h.onClose(function (t) { + if (t && t.isEnded) { + var a = e.index.getStorageSync("loadRewardedVideoAdCount"), + o = new Date().getFullYear(), + r = new Date().getMonth() + 1, + c = new Date().getDate(); + if (a) { + var s = JSON.parse(a), + d = s.date, + l = s.count; + d !== "".concat(o, "-").concat(r, "-").concat(c) + ? e.index.setStorageSync( + "loadRewardedVideoAdCount", + JSON.stringify({ + date: "".concat(o, "-").concat(r, "-").concat(c), + count: 1, + }) + ) + : l < 2 && + e.index.setStorageSync( + "loadRewardedVideoAdCount", + JSON.stringify({ + date: "".concat(o, "-").concat(r, "-").concat(c), + count: 2, + }) + ); + } else + e.index.setStorageSync( + "loadRewardedVideoAdCount", + JSON.stringify({ + date: "".concat(o, "-").concat(r, "-").concat(c), + count: 1, + }) + ); + u.redirectTo({ + url: "/pages/vehicle-info-detail/index", + params: { vin: n.vin, showMask: !1 }, + }), + console.log("视频激励广告播放完毕"); + } else i.showToast("看完广告后自动解锁剩余车辆信息~"); + })), + a + .getVehicleInfoDetail({ vin: n.vin }) + .then(function (e) { + e + ? ((f.value = r.getVehicleInfoList(e.detail)), (v.value = e)) + : (l.value = !0); + }) + .catch(function () { + l.value = !0; + }) + .finally(function () { + (d.value = !1), i.hideLoading(); + }); + }, !1), + t.onShareAppMessage(), + function (n, t) { + return e.e( + { a: !d.value }, + d.value + ? {} + : e.e( + { b: !l.value }, + l.value + ? {} + : e.e( + { + c: v.value.logo, + d: e.t(v.value.name), + e: e.t( + (v.value.vin || "") + .toString() + .replace(/^(.{5}).{6}/, "$1******") + ), + f: v.value.comfuelconsumption, + }, + v.value.comfuelconsumption + ? { g: e.t(v.value.comfuelconsumption) } + : {}, + { h: v.value.environmentalstandards }, + v.value.environmentalstandards + ? { i: e.t(v.value.environmentalstandards) } + : {}, + { + j: e.f(f.value, function (n, t, a) { + return e.e( + { + a: e.t(n.name), + b: e.t(n.value || "-"), + c: t >= 3 && g.value ? 1 : "", + d: t >= 20 && g.value ? 1 : "", + }, + g.value ? { e: e.o(m, t) } : {}, + { + f: + !g.value && + t + 1 === parseInt(f.value.length / 2), + }, + g.value || t + 1 !== parseInt(f.value.length / 2) + ? {} + : { g: e.unref(c.mpWeixinBannerUnitAd) }, + { h: t } + ); + }), + k: g.value, + l: e.t(e.unref(o.disclaimer)), + } + ), + { m: l.value }, + l.value ? { n: e.p({ info: "抱歉~!没有查到数据哦" }) } : {} + ) + ); + } + ); + }, + }, + f = e._export_sfc(v, [["__scopeId", "data-v-4dace52a"]]); +(v.__runtimeHooks = 2), wx.createPage(f); diff --git a/pages/vehicle-info-detail/index.json b/pages/vehicle-info-detail/index.json new file mode 100644 index 0000000..5bd5a5e --- /dev/null +++ b/pages/vehicle-info-detail/index.json @@ -0,0 +1,8 @@ +{ + "navigationBarTitleText": "车辆信息", + "usingComponents": { + "empty": "../../components/empty/index", + "divider": "../../components/divider/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/vehicle-info-detail/index.wxml b/pages/vehicle-info-detail/index.wxml new file mode 100644 index 0000000..14f67e1 --- /dev/null +++ b/pages/vehicle-info-detail/index.wxml @@ -0,0 +1,55 @@ + + + + + + {{d}} + VIN:{{e}} + + 油耗:百公里/{{g}}L + 国标:{{i}} + + + 基本信息 + + + + {{item.a}} + {{item.b}} + + + 立即解锁 + + + + + 免责声明 + {{l}} + + + + + diff --git a/pages/vehicle-info-detail/index.wxss b/pages/vehicle-info-detail/index.wxss new file mode 100644 index 0000000..80f2bcf --- /dev/null +++ b/pages/vehicle-info-detail/index.wxss @@ -0,0 +1,107 @@ +.content.data-v-4dace52a { + padding: 30rpx; +} +.content .info.data-v-4dace52a { + align-items: center; + background-color: #eaf1f8; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx 30rpx; +} +.content .info .logo.data-v-4dace52a { + border-radius: 10rpx; + flex-shrink: 0; + height: 120rpx; + width: 120rpx; +} +.content .info .right-content.data-v-4dace52a { + color: #333; + flex-grow: 1; + margin-left: 30rpx; +} +.content .info .right-content .name.data-v-4dace52a { + font-size: 32rpx; + font-weight: 700; +} +.content .info .right-content .desc.data-v-4dace52a { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + margin-top: 8rpx; +} +.content .info .right-content .desc image.data-v-4dace52a { + height: 40rpx; + width: 265rpx; +} +.content .module-title.data-v-4dace52a { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-4dace52a { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .disclaimer.data-v-4dace52a { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +.content .detail.data-v-4dace52a { + background-color: #fff; + border-radius: 10rpx; + padding: 10rpx 40rpx; + position: relative; +} +.content .detail .cell.data-v-4dace52a { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 30rpx 0; +} +.content .detail .cell .title.data-v-4dace52a { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .detail .cell .value.data-v-4dace52a { + color: #686868; + font-size: 30rpx; + max-width: 400rpx; + padding-right: 5rpx; +} +.content .detail .mask.data-v-4dace52a { + filter: blur(15rpx); +} +.content .detail .hidden.data-v-4dace52a { + display: none; +} +.content .detail .unlock.data-v-4dace52a { + background: #1f68e9; + border-radius: 50rpx; + color: #fff; + font-size: 28rpx; + height: 64rpx; + left: 50%; + line-height: 64rpx; + position: absolute; + text-align: center; + top: 600rpx; + transform: translate(-50%); + width: 170rpx; + z-index: 999; +} diff --git a/pages/vehicle-info-query/index.js b/pages/vehicle-info-query/index.js new file mode 100644 index 0000000..a65c24d --- /dev/null +++ b/pages/vehicle-info-query/index.js @@ -0,0 +1,180 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShareAppMessage.js"), + i = require("../../hooks/useState.js"), + o = require("../../constant/index.js"), + u = require("../../data/index.js"), + a = require("../../utils/navigate.js"), + r = require("../../utils/util.js"), + l = require("../../utils/common.js"), + s = require("../../utils/vin.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../enums/index.js"), + require("../../store/app/index.js"), + Math || + ( + e.unref(h) + + e.unref(c) + + e.unref(d) + + e.unref(p) + + e.unref(g) + + e.unref(f) + + e.unref(v) + )(); +var v = function () { + return "../../components/popup-copy-vin/index.js"; + }, + c = function () { + return "../../components/agreement/index.js"; + }, + f = function () { + return "../../components/keyboard/index.js"; + }, + d = function () { + return "../../components/divider/index.js"; + }, + h = function () { + return "../../components/tips/index.js"; + }, + p = function () { + return "../../components/float-back-to-top/index.js"; + }, + g = function () { + return "../../components/float-share/index.js"; + }, + m = { + __name: "index", + setup: function (v) { + var c = i.useState().showAgreementPopup, + f = e.ref(!0), + d = e.ref(""), + h = e.ref(!1), + p = e.ref(""), + g = e.ref(!1), + m = e.ref(!1), + x = e.ref(""), + j = e.ref(!1), + q = function () { + var e = c.value || m.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + w = function () { + a.navigateTo({ url: "/pages/vin-info/index" }); + }, + k = function () { + p.value = ""; + }, + b = function () { + l.ocrIdentifyVin().then(function (e) { + p.value = e; + }); + }, + S = function () { + g.value = !0; + }, + T = function () { + g.value = !1; + }, + y = function (e) { + p.value = e.value; + }, + _ = function () { + h.value = !h.value; + }, + I = function () { + m.value = !1; + }, + M = function () { + (p.value = x.value), (m.value = !1), V(); + }, + V = function () { + if (((g.value = !1), h.value)) + if (0 !== p.value.length) + if (p.value.length < 17) r.showToast("请输入完整的VIN车架号"); + else if (s.validateVIN(p.value)) { + var n = !1, + t = e.index.getStorageSync("loadRewardedVideoAdCount"), + i = new Date().getFullYear(), + o = new Date().getMonth() + 1, + u = new Date().getDate(); + if (t) { + var l = JSON.parse(t), + v = l.date, + c = l.count; + (v !== "".concat(i, "-").concat(o, "-").concat(u) || c < 2) && + (n = !0); + } else n = !0; + a.navigateTo({ + url: "/pages/vehicle-info-detail/index", + params: { vin: p.value, showMask: n }, + }); + } else r.showToast("车架号有误,请检查后重新输入"); + else r.showToast("请输入VIN车架号"); + else r.showToast("请先阅读并同意协议"); + }; + return ( + n.onMounted(function (n) { + e.index.setNavigationBarTitle({ title: n.title }), + l.hasClickAgreement() && + e.index.getClipboardData().then(function (n) { + var t = n.data; + e.index.hideToast(), + 17 === t.trim().length && + setTimeout(function () { + (x.value = t.trim()), (m.value = !0); + }, 300); + }), + (d.value = n.title), + (f.value = !1), + r.hideLoading(); + }), + e.onPageScroll(function (n) { + var t = n.scrollTop; + j.value = t >= e.index.getSystemInfoSync().windowHeight / 3; + }), + t.onShareAppMessage(), + function (n, t) { + return e.e( + { a: q(), b: !f.value }, + f.value + ? {} + : e.e( + { c: e.t(d.value), d: e.o(w), e: 0 === p.value.length }, + (p.value.length, {}), + { f: e.t(p.value), g: e.o(S), h: p.value.length > 0 }, + p.value.length > 0 ? { i: e.o(k) } : {}, + { + j: e.t(p.value.length), + k: e.o(b), + l: p.value.length > 0 ? 1 : "", + m: e.o(V), + n: e.o(_), + o: e.p({ checked: h.value }), + p: e.f(e.unref(u.mockVehicleInfoList), function (n, t, i) { + return { a: e.t(n.label), b: e.t(n.value), c: t }; + }), + q: e.t(e.unref(o.disclaimer)), + r: e.p({ visible: j.value }), + s: e.o(T), + t: e.o(y), + v: e.p({ + visible: g.value, + "can-switch": !1, + vin: p.value, + }), + w: e.o(M), + x: e.o(I), + y: e.p({ visible: m.value, "copy-vin": x.value }), + } + ) + ); + } + ); + }, + }, + x = e._export_sfc(m, [["__scopeId", "data-v-972a1a01"]]); +(m.__runtimeHooks = 3), wx.createPage(x); diff --git a/pages/vehicle-info-query/index.json b/pages/vehicle-info-query/index.json new file mode 100644 index 0000000..966970a --- /dev/null +++ b/pages/vehicle-info-query/index.json @@ -0,0 +1,13 @@ +{ + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "popup-copy-vin": "../../components/popup-copy-vin/index", + "agreement": "../../components/agreement/index", + "keyboard": "../../components/keyboard/index", + "divider": "../../components/divider/index", + "tips": "../../components/tips/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/vehicle-info-query/index.wxml b/pages/vehicle-info-query/index.wxml new file mode 100644 index 0000000..0e311b3 --- /dev/null +++ b/pages/vehicle-info-query/index.wxml @@ -0,0 +1,114 @@ + + + + + + {{c}} + 什么是VIN? + + + + + 请输入17位VIN车架号 + {{f}} + + + + {{j}}/17 + + + + 查 询 + + + + 样例报告 + + + + + 奥迪 Q7 2021款 55 TFSI quattro S line运动型 + VIN:LFV3B******359515 + 油耗:百公里/9.3L + 国标:国五 + + + + + {{item.a}} + {{item.b}} + + + + 免责声明 + {{q}} + + + + + + diff --git a/pages/vehicle-info-query/index.wxss b/pages/vehicle-info-query/index.wxss new file mode 100644 index 0000000..97385d0 --- /dev/null +++ b/pages/vehicle-info-query/index.wxss @@ -0,0 +1,222 @@ +.content.data-v-972a1a01 { + padding: 30rpx; +} +.content .banner.data-v-972a1a01 { + background-color: #1f68e9; + border-radius: 15rpx; + color: #fff; + height: 240rpx; + padding: 30rpx; + position: relative; +} +.content .banner .title.data-v-972a1a01 { + height: 95rpx; + position: absolute; + top: 40rpx; + z-index: 9; +} +.content .banner .image.data-v-972a1a01 { + bottom: 5rpx; + height: 125rpx; + position: absolute; + right: 0; + width: 300rpx; + z-index: 9; +} +.content .module-title.data-v-972a1a01 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-972a1a01 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .query-content.data-v-972a1a01 { + background-color: #fff; + border-radius: 10rpx; + padding: 40rpx; +} +.content .query-content .input-content.data-v-972a1a01 { + align-items: center; + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx; + position: relative; +} +.content .query-content .input-content.selected.data-v-972a1a01 { + border-color: #1f68e9; +} +.content .query-content .input-content .input.data-v-972a1a01 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + font-size: 32rpx; + overflow-y: scroll; + position: relative; +} +.content .query-content .input-content .input .placeholder.data-v-972a1a01 { + color: silver; + left: 0; + position: absolute; +} +.content .query-content .input-content .input .cursor.data-v-972a1a01 { + animation: cursor-blinks-972a1a01 1.5s step-start infinite; + background: #1f68e9; + height: 40rpx; + width: 4rpx; +} +.content .query-content .input-content .clear.data-v-972a1a01 { + flex-shrink: 0; + height: 32rpx; + padding: 0 10rpx 0 20rpx; + width: 32rpx; +} +.content .query-content .input-content .input-length.data-v-972a1a01 { + color: #232323; + flex-shrink: 0; + font-size: 26rpx; +} +.content .query-content .input-content .photo.data-v-972a1a01 { + flex-shrink: 0; + height: 50rpx; + margin-left: 10rpx; + margin-top: -5rpx; + width: 50rpx; +} +.content .query-content .button.data-v-972a1a01 { + align-items: center; + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + font-weight: 700; + height: 90rpx; + justify-content: center; + margin-top: 30rpx; +} +.content .example-content.data-v-972a1a01 { + background-color: #fff; + border-radius: 10rpx; + overflow: hidden; +} +.content .example-content .vehicle-info.data-v-972a1a01 { + align-items: center; + background-color: #eaf1f8; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + margin: 30rpx 30rpx 0; + padding: 20rpx 30rpx; +} +.content .example-content .vehicle-info .logo.data-v-972a1a01 { + flex-shrink: 0; + height: 120rpx; + width: 120rpx; +} +.content .example-content .vehicle-info .right-content.data-v-972a1a01 { + margin-left: 30rpx; +} +.content .example-content .vehicle-info .right-content .name.data-v-972a1a01 { + font-size: 32rpx; + font-weight: 700; +} +.content .example-content .vehicle-info .right-content .desc.data-v-972a1a01 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 28rpx; + margin-top: 12rpx; +} +.content + .example-content + .vehicle-info + .right-content + .desc + image.data-v-972a1a01 { + height: 40rpx; + width: 265rpx; +} +.content .example-content .vehicle-list.data-v-972a1a01 { + padding: 20rpx 30rpx; +} +.content .example-content .vehicle-list .cell.data-v-972a1a01 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 30rpx 0; +} +.content .example-content .vehicle-list .cell-title.data-v-972a1a01 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + padding-left: 5rpx; +} +.content .example-content .vehicle-list .cell-title image.data-v-972a1a01 { + height: 30rpx; + margin-left: 10rpx; + width: 30rpx; +} +.content .example-content .vehicle-list .cell-value.data-v-972a1a01 { + color: #686868; + font-size: 30rpx; + padding-right: 5rpx; +} +.content .example-content .vehicle-list .more.data-v-972a1a01 { + color: #568dd9; + font-size: 26rpx; + margin-top: 10rpx; + text-align: center; +} +.content .disclaimer.data-v-972a1a01 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +@-webkit-keyframes cursor-blinks-972a1a01 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-972a1a01 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/pages/vehicle-status-detail/index.js b/pages/vehicle-status-detail/index.js new file mode 100644 index 0000000..31336d0 --- /dev/null +++ b/pages/vehicle-status-detail/index.js @@ -0,0 +1,118 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShareAppMessage.js"), + r = require("../../hooks/useState.js"), + i = require("../../service/index.js"), + u = require("../../constant/index.js"), + o = require("../../utils/util.js"), + a = require("../../utils/common.js"); +require("../../config/index.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../utils/request.js"), + require("../../utils/navigate.js"), + Math || (e.unref(s) + e.unref(c) + e.unref(l) + e.unref(v) + e.unref(f))(); +var s = function () { + return "../../components/vehicle-number/index.js"; + }, + l = function () { + return "../../components/empty/index.js"; + }, + c = function () { + return "../../components/divider/index.js"; + }, + v = function () { + return "../../components/float-back-to-top/index.js"; + }, + f = function () { + return "../../components/float-share/index.js"; + }, + d = { + __name: "index", + setup: function (s) { + r.useState(); + var l = e.ref(!0), + c = e.ref(!1), + v = e.ref({}), + f = e.ref({}), + d = e.ref([]), + p = e.ref(!1), + m = function () { + e.index.setClipboardData({ data: v.value.vin }).then(function () { + o.showToast("VIN车架号已复制"); + }); + }; + return ( + n.onMounted(function (e) { + var n = e.order_no, + t = e.product_id; + o.showLoading("努力查询中"), + i + .getReportDetail({ order_no: n, product_id: t }) + .then(function (e) { + (v.value = e), + i + .getVehicleInfoDetail({ vin: e.vin }) + .then(function (e) { + (d.value = a.getVehicleInfoList(e.detail)), (f.value = e); + }) + .catch(function () { + d.value = []; + }) + .finally(function () { + (l.value = !1), o.hideLoading(); + }); + }); + }, !1), + e.onPageScroll(function (n) { + var t = n.scrollTop; + p.value = t >= e.index.getSystemInfoSync().windowHeight / 3; + }), + t.onShareAppMessage(), + function (n, t) { + return e.e( + { a: !l.value }, + l.value + ? {} + : e.e( + { b: !c.value }, + c.value + ? {} + : e.e( + { c: !!v.value.carno.trim() }, + v.value.carno.trim() + ? { d: e.p({ data: v.value.carno.trim() }) } + : {}, + { + e: e.t(v.value.vin), + f: e.o(m), + g: e.t(v.value.info), + h: e.t(v.value.create_time || "-"), + i: d.value.length > 0, + }, + d.value.length > 0 + ? { + j: e.t(f.value.brand), + k: e.f(d.value, function (n, t, r) { + return { + a: e.t(n.name), + b: e.t(n.value || "-"), + c: t, + }; + }), + } + : {}, + { l: e.t(e.unref(u.disclaimer)) } + ), + { m: c.value }, + c.value ? { n: e.p({ info: "抱歉~!没有查到数据哦" }) } : {}, + { o: e.p({ visible: p.value }) } + ) + ); + } + ); + }, + }, + p = e._export_sfc(d, [["__scopeId", "data-v-91b17388"]]); +(d.__runtimeHooks = 3), wx.createPage(p); diff --git a/pages/vehicle-status-detail/index.json b/pages/vehicle-status-detail/index.json new file mode 100644 index 0000000..d803ccf --- /dev/null +++ b/pages/vehicle-status-detail/index.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "车辆状态", + "usingComponents": { + "vehicle-number": "../../components/vehicle-number/index", + "empty": "../../components/empty/index", + "divider": "../../components/divider/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/vehicle-status-detail/index.wxml b/pages/vehicle-status-detail/index.wxml new file mode 100644 index 0000000..b8caa3b --- /dev/null +++ b/pages/vehicle-status-detail/index.wxml @@ -0,0 +1,80 @@ + + + 车辆状态 + + + 车牌号码 + + + + + + VIN车架号 + + {{e}} + 复制 + + + + 车辆状态 + {{g}} + + + 报告时间 + {{h}} + + + + 车辆信息 + + + 车辆品牌 + {{j}} + + + {{item.a}} + {{item.b}} + + + + 小提示 + + 一般车辆状态的结果有: + 正常、车辆处于抵押中、车辆处于查封状态、车辆处于违法未处理状态、车辆处于锁定中、车辆处于盗抢状态、逾期未检测强制注销等等。 + + 异常:行驶证上的车辆号码有被报失、被盗,或发生交通事故未处理完毕等等状况的,就会被车管部门记录为“状态异常”。 + + 免责声明 + {{l}} + + + + + + diff --git a/pages/vehicle-status-detail/index.wxss b/pages/vehicle-status-detail/index.wxss new file mode 100644 index 0000000..0ee0266 --- /dev/null +++ b/pages/vehicle-status-detail/index.wxss @@ -0,0 +1,57 @@ +.content.data-v-91b17388 { + padding: 30rpx; +} +.content .module-title.data-v-91b17388 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-91b17388 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .disclaimer.data-v-91b17388, +.content .tips-content.data-v-91b17388 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +.content .detail.data-v-91b17388 { + background-color: #fff; + border-radius: 10rpx; + padding: 10rpx 40rpx; + position: relative; +} +.content .detail .cell.data-v-91b17388 { + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 30rpx 0; +} +.content .detail .cell .title.data-v-91b17388 { + color: #333; + flex-shrink: 0; + font-size: 30rpx; + padding-left: 5rpx; + position: relative; +} +.content .detail .cell .value.data-v-91b17388 { + color: #686868; + font-size: 30rpx; + max-width: 450rpx; + padding-right: 5rpx; +} +.content .detail .cell .value .copy.data-v-91b17388 { + color: #d71818; + margin-left: 15rpx; +} diff --git a/pages/vehicle-status-query/index.js b/pages/vehicle-status-query/index.js new file mode 100644 index 0000000..9e9c20c --- /dev/null +++ b/pages/vehicle-status-query/index.js @@ -0,0 +1,191 @@ +var e = require("../../common/vendor.js"), + n = require("../../hooks/onMounted.js"), + t = require("../../hooks/onShareAppMessage.js"), + u = require("../../hooks/useState.js"), + i = require("../../enums/index.js"), + o = require("../../constant/index.js"), + r = require("../../data/index.js"), + a = require("../../utils/navigate.js"), + l = require("../../utils/util.js"), + s = require("../../utils/common.js"), + v = require("../../utils/vin.js"); +require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../store/app/index.js"), + Math || + ( + e.unref(h) + + e.unref(f) + + e.unref(m) + + e.unref(p) + + e.unref(g) + + e.unref(x) + + e.unref(d) + + e.unref(c) + )(); +var c = function () { + return "../../components/popup-copy-vin/index.js"; + }, + f = function () { + return "../../components/agreement/index.js"; + }, + d = function () { + return "../../components/keyboard/index.js"; + }, + p = function () { + return "../../components/divider/index.js"; + }, + h = function () { + return "../../components/tips/index.js"; + }, + m = function () { + return "../../components/prompt/index.js"; + }, + g = function () { + return "../../components/float-back-to-top/index.js"; + }, + x = function () { + return "../../components/float-share/index.js"; + }, + j = { + __name: "index", + setup: function (c) { + var f = u.useState().showAgreementPopup, + d = e.ref(!0), + p = e.ref(""), + h = e.ref(i.QueryTypeEnum.VIN), + m = e.ref(!1), + g = e.ref(""), + x = e.ref(!1), + j = e.ref(!1), + q = e.ref(""), + T = e.ref(!1), + y = function () { + var e = f.value || j.value; + return "height: 100%; overflow: " + .concat(e ? "hidden" : "visible", "; position: ") + .concat(e ? "fixed" : "relative"); + }, + b = function () { + a.navigateTo({ url: "/pages/vin-info/index" }); + }, + k = function () { + g.value = ""; + }, + w = function () { + s.ocrIdentifyVin().then(function (e) { + g.value = e; + }); + }, + I = function () { + x.value = !0; + }, + S = function () { + x.value = !1; + }, + V = function (e) { + g.value = e.value; + }, + _ = function () { + m.value = !m.value; + }, + N = function () { + j.value = !1; + }, + A = function () { + (g.value = q.value), (j.value = !1), E(); + }, + E = function () { + if (((x.value = !1), m.value)) { + if (h.value === i.QueryTypeEnum.VIN) { + if (0 === g.value.length) + return void l.showToast("请输入VIN车架号"); + if (g.value.length < 17) + return void l.showToast("请输入完整的VIN车架号"); + if (!v.validateVIN(g.value)) + return void l.showToast("车架号有误,请检查后重新输入"); + } + a.navigateTo({ + url: "/pages/order-confirm/index", + params: { + productType: i.ProductTypeEnum.VEHICLE_STATUS, + queryType: h.value, + vin: g.value, + }, + }); + } else l.showToast("请先阅读并同意协议"); + }; + return ( + n.onMounted(function (n) { + e.index.setNavigationBarTitle({ title: n.title }), + s.hasClickAgreement() && + e.index.getClipboardData().then(function (n) { + var t = n.data; + e.index.hideToast(), + 17 === t.trim().length && + setTimeout(function () { + (q.value = t.trim()), (j.value = !0); + }, 300); + }), + (p.value = n.title), + (d.value = !1), + l.hideLoading(); + }), + e.onPageScroll(function (n) { + var t = n.scrollTop; + T.value = t >= e.index.getSystemInfoSync().windowHeight / 3; + }), + t.onShareAppMessage(), + function (n, t) { + return e.e( + { a: y(), b: !d.value }, + d.value + ? {} + : e.e( + { c: e.t(p.value), d: e.o(b), e: 0 === g.value.length }, + (g.value.length, {}), + { f: e.t(g.value), g: e.o(I), h: g.value.length > 0 }, + g.value.length > 0 ? { i: e.o(k) } : {}, + { + j: e.t(g.value.length), + k: e.o(w), + l: g.value.length > 0 ? 1 : "", + m: e.o(E), + n: e.o(_), + o: e.p({ checked: m.value }), + p: e.f( + e.unref(r.mockVehicleStatusList), + function (n, t, u) { + return { + a: e.t(n.label), + b: e.t(n.value), + c: 1 === t ? 1 : "", + d: t, + }; + } + ), + q: e.f(e.unref(r.mockVehicleInfoList), function (n, t, u) { + return { a: e.t(n.label), b: e.t(n.value), c: t }; + }), + r: e.t(e.unref(o.disclaimer)), + s: e.p({ visible: T.value }), + t: e.o(S), + v: e.o(V), + w: e.p({ + visible: x.value, + "can-switch": !1, + vin: g.value, + }), + x: e.o(A), + y: e.o(N), + z: e.p({ visible: j.value, "copy-vin": q.value }), + } + ) + ); + } + ); + }, + }, + q = e._export_sfc(j, [["__scopeId", "data-v-a931ae86"]]); +(j.__runtimeHooks = 3), wx.createPage(q); diff --git a/pages/vehicle-status-query/index.json b/pages/vehicle-status-query/index.json new file mode 100644 index 0000000..66d2940 --- /dev/null +++ b/pages/vehicle-status-query/index.json @@ -0,0 +1,14 @@ +{ + "navigationBarTextStyle": "black", + "navigationBarBackgroundColor": "#ffffff", + "usingComponents": { + "popup-copy-vin": "../../components/popup-copy-vin/index", + "agreement": "../../components/agreement/index", + "keyboard": "../../components/keyboard/index", + "divider": "../../components/divider/index", + "tips": "../../components/tips/index", + "prompt": "../../components/prompt/index", + "float-back-to-top": "../../components/float-back-to-top/index", + "float-share": "../../components/float-share/index" + } +} diff --git a/pages/vehicle-status-query/index.wxml b/pages/vehicle-status-query/index.wxml new file mode 100644 index 0000000..3efa344 --- /dev/null +++ b/pages/vehicle-status-query/index.wxml @@ -0,0 +1,112 @@ + + + + + + {{c}} + 什么是VIN? + + + + + 请输入17位VIN车架号 + {{f}} + + + + {{j}}/17 + + + + 查 询 + + + + 样例报告 + + + + {{item.a}} + {{item.b}} + + + {{item.a}} + {{item.b}} + + + 小提示 + + 一般车辆状态的结果有: + 正常、车辆处于抵押中、车辆处于查封状态、车辆处于违法未处理状态、车辆处于锁定中、车辆处于盗抢状态、逾期未检测强制注销等等。 + + 异常:行驶证上的车辆号码有被报失、被盗,或发生交通事故未处理完毕等等状况的,就会被车管部门记录为“状态异常”。 + + 免责声明 + {{r}} + + + + + + diff --git a/pages/vehicle-status-query/index.wxss b/pages/vehicle-status-query/index.wxss new file mode 100644 index 0000000..7d03b98 --- /dev/null +++ b/pages/vehicle-status-query/index.wxss @@ -0,0 +1,251 @@ +.content.data-v-a931ae86 { + padding: 30rpx; +} +.content .banner.data-v-a931ae86 { + background-color: #1f68e9; + border-radius: 15rpx; + color: #fff; + height: 240rpx; + padding: 30rpx; + position: relative; +} +.content .banner .title.data-v-a931ae86 { + height: 95rpx; + position: absolute; + top: 40rpx; + z-index: 9; +} +.content .banner .image.data-v-a931ae86 { + bottom: 5rpx; + height: 125rpx; + position: absolute; + right: 0; + width: 300rpx; + z-index: 9; +} +.content .module-title.data-v-a931ae86 { + align-items: center; + border-left: 6rpx solid #1f68e9; + display: -webkit-flex; + display: flex; + font-size: 34rpx; + font-weight: 700; + justify-content: space-between; + line-height: 34rpx; + margin: 30rpx 0; + padding-left: 20rpx; +} +.content .module-title .tips.data-v-a931ae86 { + color: #1f68e9; + font-size: 30rpx; + font-weight: 400; +} +.content .query-content.data-v-a931ae86 { + background-color: #fff; + border-radius: 10rpx; + padding: 40rpx; +} +.content .query-content .radio-group.data-v-a931ae86 { + align-items: center; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + margin-bottom: 30rpx; +} +.content .query-content .radio-group label.data-v-a931ae86 { + align-items: center; + display: -webkit-flex; + display: flex; + margin-right: 20rpx; +} +.content .query-content .radio-group .tips.data-v-a931ae86 { + color: #1f68e9; + font-size: 30rpx; +} +.content .query-content .vehicle-content.data-v-a931ae86 { + align-items: center; + display: -webkit-flex; + display: flex; +} +.content .query-content .vehicle-content .number-item.data-v-a931ae86 { + border: 2rpx solid #e1e1e1; + display: -webkit-flex; + display: flex; + font-weight: 700; + height: 85rpx; + justify-content: center; + margin: 0 7rpx; + position: relative; + width: 75rpx; +} +.content .query-content .vehicle-content .number-item.new.data-v-a931ae86 { + border: 2rpx dashed #6fd99a; +} +.content .query-content .vehicle-content .number-item .number.data-v-a931ae86 { + font-size: 32rpx; + height: 50rpx; + margin-top: 18rpx; + padding-bottom: 18rpx; + text-align: center; + width: 35rpx; +} +.content + .query-content + .vehicle-content + .number-item + .number.selected.data-v-a931ae86 { + border-bottom: 4rpx solid #1f68e9; +} +.content .query-content .vehicle-content .number-item .energy.data-v-a931ae86 { + background: #0ac260; + border-radius: 14rpx; + color: #fff; + font-size: 16rpx; + height: 28rpx; + left: 2rpx; + line-height: 28rpx; + position: absolute; + text-align: center; + top: -20rpx; + width: 60rpx; +} +.content .query-content .input-content.data-v-a931ae86 { + align-items: center; + background-color: #fff; + border: 1px solid #e1e1e1; + border-radius: 10rpx; + display: -webkit-flex; + display: flex; + padding: 20rpx; + position: relative; +} +.content .query-content .input-content.selected.data-v-a931ae86 { + border-color: #1f68e9; +} +.content .query-content .input-content .input.data-v-a931ae86 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-grow: 1; + font-size: 32rpx; + overflow-y: scroll; + position: relative; +} +.content .query-content .input-content .input .placeholder.data-v-a931ae86 { + color: silver; + left: 0; + position: absolute; +} +.content .query-content .input-content .input .cursor.data-v-a931ae86 { + animation: cursor-blinks-a931ae86 1.5s step-start infinite; + background: #1f68e9; + height: 40rpx; + width: 4rpx; +} +.content .query-content .input-content .clear.data-v-a931ae86 { + flex-shrink: 0; + height: 32rpx; + padding: 0 10rpx 0 20rpx; + width: 32rpx; +} +.content .query-content .input-content .input-length.data-v-a931ae86 { + color: #232323; + flex-shrink: 0; + font-size: 26rpx; +} +.content .query-content .input-content .photo.data-v-a931ae86 { + flex-shrink: 0; + height: 50rpx; + margin-left: 10rpx; + margin-top: -5rpx; + width: 50rpx; +} +.content .query-content .button.data-v-a931ae86 { + align-items: center; + background-color: #1f68e9; + border-radius: 10rpx; + color: #fff; + display: -webkit-flex; + display: flex; + font-size: 32rpx; + font-weight: 700; + height: 90rpx; + justify-content: center; + margin-top: 30rpx; +} +.content .example-content.data-v-a931ae86 { + background-color: #fff; + border-radius: 10rpx; + overflow: hidden; +} +.content .example-content .cell.data-v-a931ae86 { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: space-between; + margin: 40rpx; +} +.content .example-content .cell-title.data-v-a931ae86 { + align-items: center; + color: #333; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + padding-left: 5rpx; +} +.content .example-content .cell-title image.data-v-a931ae86 { + height: 30rpx; + margin-left: 10rpx; + width: 30rpx; +} +.content .example-content .cell-value.data-v-a931ae86 { + color: #686868; + font-size: 30rpx; + padding-right: 5rpx; +} +.content .example-content .cell-value.important.data-v-a931ae86 { + color: #333; + font-weight: 700; +} +.content .example-content .tips.data-v-a931ae86 { + background-color: #fffbe8; + color: #ed6a0c; + font-size: 26rpx; + padding: 20rpx; +} +.content .disclaimer.data-v-a931ae86, +.content .tips-content.data-v-a931ae86 { + background-color: #fff; + border-radius: 10rpx; + color: #333; + font-size: 30rpx; + padding: 30rpx 40rpx; +} +@-webkit-keyframes cursor-blinks-a931ae86 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} +@keyframes cursor-blinks-a931ae86 { + 0% { + display: block; + opacity: 1; + } + 50% { + display: none; + opacity: 0; + } + to { + display: block; + opacity: 1; + } +} diff --git a/pages/vin-info/index.js b/pages/vin-info/index.js new file mode 100644 index 0000000..8b19763 --- /dev/null +++ b/pages/vin-info/index.js @@ -0,0 +1,16 @@ +var e = require("../../hooks/onShareAppMessage.js"), + r = require("../../common/vendor.js"); +require("../../config/index.js"), require("../../constant/index.js"); +var n = { + __name: "index", + setup: function (r) { + return ( + e.onShareAppMessage(), + function (e, r) { + return {}; + } + ); + }, + }, + s = r._export_sfc(n, [["__scopeId", "data-v-ef0fd91c"]]); +(n.__runtimeHooks = 2), wx.createPage(s); diff --git a/pages/vin-info/index.json b/pages/vin-info/index.json new file mode 100644 index 0000000..9acd6af --- /dev/null +++ b/pages/vin-info/index.json @@ -0,0 +1 @@ +{ "navigationBarTitleText": "什么是VIN", "usingComponents": {} } diff --git a/pages/vin-info/index.wxml b/pages/vin-info/index.wxml new file mode 100644 index 0000000..1ab33a6 --- /dev/null +++ b/pages/vin-info/index.wxml @@ -0,0 +1,37 @@ + + 什么是VIN? + + + VIN (Vehicle Identification + Number),中文名为车辆识别代码,俗称车架号,车架号就好比一辆车的身份证号码,分别由17位字母、数字组合而成。通过17位代号,我们可以了解这辆车的生产厂家、年代、车型、发动机型号等信息。 + + + 在哪可以找到? + + 一般位于前挡风玻璃下方 + + + + + 驾驶员一侧的中柱(B柱)上的铭牌 + + + + + 机动车行驶证 、保险单上也可以找到 + + + + diff --git a/pages/vin-info/index.wxss b/pages/vin-info/index.wxss new file mode 100644 index 0000000..0dd268c --- /dev/null +++ b/pages/vin-info/index.wxss @@ -0,0 +1,34 @@ +page { + background-color: #fff; +} +.content.data-v-ef0fd91c { + padding-bottom: 50rpx; +} +.content .title.data-v-ef0fd91c { + font-weight: 700; +} +.content .info.data-v-ef0fd91c, +.content .title.data-v-ef0fd91c { + font-size: 30rpx; + padding: 30rpx 40rpx; +} +.content .desc.data-v-ef0fd91c { + color: #9a9a9a; + font-size: 28rpx; + padding: 20rpx 40rpx; +} +.content .image-wrap.data-v-ef0fd91c { + align-items: center; + display: -webkit-flex; + display: flex; + justify-content: center; + padding: 10rpx 40rpx; +} +.content .image1.data-v-ef0fd91c, +.content .image2.data-v-ef0fd91c { + margin-left: 120rpx; + width: 500rpx; +} +.content .image3.data-v-ef0fd91c { + width: 400rpx; +} diff --git a/pages/web-view/index.js b/pages/web-view/index.js new file mode 100644 index 0000000..18eab34 --- /dev/null +++ b/pages/web-view/index.js @@ -0,0 +1,29 @@ +var e = require("../../common/vendor.js"), + r = require("../../hooks/onMounted.js"), + s = require("../../hooks/onShareAppMessage.js"); +require("../../hooks/useState.js"), + require("../../store/app/index.js"), + require("../../enums/index.js"), + require("../../data/index.js"), + require("../../service/index.js"), + require("../../utils/request.js"), + require("../../config/index.js"), + require("../../constant/index.js"), + require("../../utils/util.js"); +var u = { + __name: "index", + setup: function (u) { + var i = e.ref(""); + return ( + r.onMounted(function (e) { + i.value = e.url; + }, !1), + s.onShareAppMessage(), + function (e, r) { + return { a: i.value }; + } + ); + }, + __runtimeHooks: 2, +}; +wx.createPage(u); diff --git a/pages/web-view/index.json b/pages/web-view/index.json new file mode 100644 index 0000000..6f4b9d0 --- /dev/null +++ b/pages/web-view/index.json @@ -0,0 +1 @@ +{ "usingComponents": {} } diff --git a/pages/web-view/index.wxml b/pages/web-view/index.wxml new file mode 100644 index 0000000..0d2d5e6 --- /dev/null +++ b/pages/web-view/index.wxml @@ -0,0 +1 @@ + diff --git a/pages/web-view/index.wxss b/pages/web-view/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..441d3d1 --- /dev/null +++ b/project.config.json @@ -0,0 +1,26 @@ +{ + "miniprogramRoot": "", + "appid": "wxa41ff17634574443", + "compileType": "miniprogram", + "libVersion": "3.3.2", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "condition": false, + "minified": true, + "ignoreDevUnusedFiles": false, + "ignoreUploadUnusedFiles": false + }, + "condition": {}, + "editorSetting": { + "tabIndent": "auto", + "tabSize": 4 + } +} \ No newline at end of file diff --git a/service/index.js b/service/index.js new file mode 100644 index 0000000..7e92a70 --- /dev/null +++ b/service/index.js @@ -0,0 +1,170 @@ +var e = require("../common/vendor.js"), + r = require("../utils/request.js"), + t = require("../enums/index.js"); +(exports.createOrder = function (o) { + var n = o.payMethod, + i = o.product, + u = o.money, + a = o.vin, + d = o.car_no, + s = o.engine, + p = o.type; + var c = n === t.PayMethodEnum.WECHAT_PAY ? "we" : "ali"; + return r.request({ + url: "/pay/xcx", + method: "post", + formData: e._.assign( + { product: i, money: u, method: c }, + a ? { vin: a } : null, + d ? { car_no: d } : null, + s ? { engine: s } : null, + p ? { type: p } : null + ), + }); +}), + (exports.getBlankReportDetail = function (e) { + var t = e.order_no, + o = e.product_id; + return r.request({ + url: "/report/noinfo", + method: "post", + formData: { order_no: t, product_id: o }, + }); + }), + (exports.getConfig = function () { + return r.request({ url: "/config", method: "get" }).then(function (e) { + return { config: e }; + }); + }), + (exports.getOrderDetail = function (e) { + var t = e.order_no; + return r.request({ + url: "/order/detail", + method: "post", + formData: { order_no: t }, + }); + }), + (exports.getOrderList = function (e) { + var t = e.page, + o = e.status; + return r.request({ + url: "/order/list", + method: "post", + formData: { page: t, status: o }, + }); + }), + (exports.getOrderNum = function () { + return r.request({ url: "/order/count", method: "post" }); + }), + (exports.getPriceList = function (e) { + var t = e.vin; + return r.request({ + url: "/car/price", + method: "post", + formData: { vin: t }, + needToast: !1, + }); + }), + (exports.getReportDetail = function (e) { + var t = e.order_no, + o = e.product_id; + return r.request({ + url: "/report/detail", + method: "post", + formData: { order_no: t, product_id: o }, + }); + }), + (exports.getUserInfo = function () { + return r.request({ url: "/user/info", method: "get" }).then(function (r) { + var t = r.user_id, + o = r.nick_name, + n = r.avatar_image, + i = r.vip, + u = r.vip_limit_time, + a = r.mobile; + return { + token: e.index.getStorageSync("token"), + openId: e.index.getStorageSync("openId"), + userId: t, + userInfo: { + nickName: o, + avatar: n, + vip: i, + vipLimitTime: u, + mobile: a, + }, + }; + }); + }), + (exports.getUserMobileForMpWeixin = function (e) { + var t = e.code; + return r.request({ + url: "/user/xcx/phone", + method: "post", + formData: { code: t }, + }); + }), + (exports.getVehicleInfoDetail = function (e) { + var t = e.vin; + return r.request({ + url: "/car/carinfo", + method: "post", + formData: { vin: t }, + needToast: !1, + }); + }), + (exports.loginForMpWeixin = function (e) { + var t = e.code, + o = e.count; + return r + .request({ + url: "/login/xcx", + method: "post", + formData: { js_code: t }, + count: o, + }) + .then(function (e) { + return { token: e.token, openId: e.openid, userId: e.user_id }; + }); + }), + (exports.modifyOrderVin = function (e) { + var t = e.order_no, + o = e.vin; + return r.request({ + url: "/car/modify/vin", + method: "post", + formData: { order_no: t, vin: o }, + }); + }), + (exports.noDrivingLicense = function (e) { + var t = e.order_no; + return r.request({ + url: "/car/noimg", + method: "post", + formData: { order_no: t }, + }); + }), + (exports.ocrUploadDrivingLicense = function (e) { + var t = e.filePath; + return r.upload({ url: "/ocr/vin", name: "image", filePath: t }); + }), + (exports.payOrderAgain = function (e) { + var o = e.payMethod, + n = e.order_no; + var i = o === t.PayMethodEnum.WECHAT_PAY ? "we" : "ali"; + return r.request({ + url: "/pay/repay/xcx", + method: "post", + formData: { order_no: n, method: i }, + }); + }), + (exports.uploadDrivingLicense = function (e) { + var t = e.filePath, + o = e.order_no; + return r.upload({ + url: "/car/upload", + name: "img", + filePath: t, + formData: { order_no: o }, + }); + }); diff --git a/static/images/banner_home.png b/static/images/banner_home.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f26f34baafcaa49f9bb035ab5aa47e30961734 GIT binary patch literal 17438 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 literal 0 HcmV?d00001 diff --git a/static/images/icon_avatar.png b/static/images/icon_avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..ec9a8634b2888ccd447c93c10a46b9caa74961dc GIT binary patch literal 1235 zcmV;^1T6cBP){QUg?|NsC0|NsC0|NsC0|Nr3N;P?0U`1ttZ;^O7y z<@x#f|NsC0|Nr9R;{X5u|NsC0|NsC0|NsC0|NsB#>FMF&;o{=rFMe1?d?v|{S5#B048)&PE!E&LKDk!1zjUf z;Ly3K`AHn%c{5Y$*w(9?hJ9^Y@5-}=Xe_;_GBp>H000BhNkliU5#wv9t-W#jJGs%8AaZFRl7rlhRu!=q=s z#r@+@Qx-?pBcXRkGFG|@B9*gjy%?Y{6l7!9L8;qW#I{(W-5On7u+n8q;pKo0hLTo# zGB)8St+B7LS+ys%6T<+XNT-L+39NDj24?Adv><8WPwcgPqm) z+JAF_Op3%lGcw^HcYA+EHs?Jpsyk%V)wJY>tZua6gv?G017>8#@5fw0ZhXZMd8`^vDDrax8 zw-%WKWJ`-JJ$sWJ5T~VhrWbFM5DP3`Xy<{EL-t0yf>uBR#`O=>db5O!>s$G~t=?ga zx7)}My-lnt?1@L^3S&M!L-a*{$)(LMhMKT)Y3qEk6zA|K=p3^z*2%@ZSWcg^U**wO zion}R@x>-C^WO_B8BgAM3uCh@~o zHjb<)K0g~%p?v057NtWUy87@usskvA zfwByss3SLlfo2)G(T0o?L&=blHdZw=RQ&%~l^mU!VPs=BhS9mmVA(V-cqf_0<@$~c zj)B4E2Qq0KL%D{Gp3V$(ej>BC6T_U|s6h9@ARir-nH&SSi3BFy_%w^raTPbxO8u29 zTzgvYFz`ylf$F>ttHQogwN66Y!*&F5xE8JLfpFUK#3rY)C9wPP!ivjyPv4@OZWs5D xclL6dI{H@qG~V8avkUwwxbyIS8>gO1{RRMtn}^Z4M}7bR002ovPDHLkV1j1@lnVd= literal 0 HcmV?d00001 diff --git a/static/images/icon_average.jpg b/static/images/icon_average.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2c8eec4a10d8d1c99b9a47fd549fbf80038389c7 GIT binary patch literal 10592 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 literal 0 HcmV?d00001 diff --git a/static/images/icon_checked_1.png b/static/images/icon_checked_1.png new file mode 100644 index 0000000000000000000000000000000000000000..91b35b32a23ac83ed2c753ef844a7990241119f3 GIT binary patch literal 1291 zcmV+m1@!ufP)L6(9A86_S|NrCc{Hw7hVK8YuUushIz9{O-u@D9qh42zpMe$(d(L`sgp5mo8R{zFJajXW$ zE8!5L5f31!Zu3Wiv*EF)iNhwunr!wEYI3~C-9&qTR1>}9?pJ~l4wcY=yH^cK8@U@hUY5Ue{%{fPAmP3;5- zCK%}Sg{Z&N7Xs<;^o3-g(-+7_L4ahTLzXVl_Imq@XrmxNAR7f~DG78CoQ;A2QS&To z!;CBANUqoG541v3lXd-=@7#W(jVQF$%lyf$ttvrgvOea@rOkvSPP6VFm4X(Mz+^2R zm8Oye5|^y%v8g0pTC$!z<{Mf_!je@zDrh0dO4gdk1x=8or(yNjF5(5vv#Q7TW=E3K zBGsdP_^kvnE%L(ShDJz8i@fl-pcOBpMY=r@M6^h^hY*ntkBU3K*LU#%9WJtu2Ry@| z#o%$g$X*^u45KfH2Li*O#o+-ke7t7y0CoJQYWS+g<^k#$eLKFY^?US-w0~9O^g!N4 zq^y2bd5cxy%hFeI6_#KjwMWgwq3lhZ#zl*G)J*5O)yym>W!b zJ@`ec38x3*fM`_{J`cnln*BOAm~?ya55Lu9M-Lv6GQTk4^MLP|qBNK=c=XM+noYPo zkUQQ-noJlxdPN#dcsxKouexm}EFN%uB26Y79_aoY)MCQmfgS!$H<*m~i2JT1FLMJO z9&92g2YDdxy#Tu~c(jT*^iU4*fZP9%RXM@~BbL;Z13co8?JtGh198lDi^A=JJZM#X zVfMhVb!UawBaYi6RyaKn2kuEKj2@toTSp3?2gWYWENmWe@N(J0W}PkDt`cMZ%s z$-spKcan*#72bF#dp8NwWWvPC1tfotJ2Fs{yN3mnVC4Fzq~fmAHV?sf=x*|`aB1EB z1;m00O<&MDcs)J_H8;xFSm}+|Q>=8xYb{n97hVK8YuUushIz9{O-u@D9qh42zpMe$(d(L`sgp5mo8R{zFJajXW$ zE8!5L5f31!Zu3Wiv*EF)iNhwunr!wEYI3~C-9&qTR1>}9?pJ~l4wcY=yH^cK8@U@hUY5Ue{%{fPAmP3;5- zCK%}Sg{Z&N7Xs<;^o3-g(-+7_L4ahTLzXVl_Imq@XrmxNAR7f~DG78CoQ;A2QS&To z!;CBANUqoG541v3lXd-=@7#W(jVQF$%lyf$ttvrgvOea@rOkvSPP6VFm4X(Mz+^2R zm8Oye5|^y%v8g0pTC$!z<{Mf_!je@zDrh0dO4gdk1x=8or(yNjF5(5vv#Q7TW=E3K zBGsdP_^kvnE%L(ShDJz8i@fl-pcOBpMY=r@M6^h^hY*ntkBU3K*LU#%9WJtu2Ry@| z#o%$g$X*^u45KfH2Li*O#o+-ke7t7y0CoJQYWS+g<^k#$eLKFY^?US-w0~9O^g!N4 zq^y2bd5cxy%hFeI6_#KjwMWgwq3lhZ#zl*G)J*5O)yym>W!b zJ@`ec38x3*fM`_{J`cnln*BOAm~?ya55Lu9M-Lv6GQTk4^MLP|qBNK=c=XM+noYPo zkUQQ-noJlxdPN#dcsxKouexm}EFN%uB26Y79_aoY)MCQmfgS!$H<*m~i2JT1FLMJO z9&92g2YDdxy#Tu~c(jT*^iU4*fZP9%RXM@~BbL;Z13co8?JtGh198lDi^A=JJZM#X zVfMhVb!UawBaYi6RyaKn2kuEKj2@toTSp3?2gWYWENmWe@N(J0W}PkDt`cMZ%s z$-spKcan*#72bF#dp8NwWWvPC1tfotJ2Fs{yN3mnVC4Fzq~fmAHV?sf=x*|`aB1EB z1;m00O<&MDcs)J_H8;xFSm}+|Q>=8xYb{n97*cWT?QO+;kw6jF2d!n91=+6^coj=cIbw2Ux2LT6B7c1`$~R==11wr@SCKRD!V@1QZ5_i%AzS zTqd{`as;qk(&S?7aq2?OD?>m`cgx9_x`@e-7_Jzf1= J);T3K0RXelERO&H literal 0 HcmV?d00001 diff --git a/static/images/icon_close_3.png b/static/images/icon_close_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ff742439e56018cc885f95eaae8dcfbdd2debde6 GIT binary patch literal 2273 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 literal 0 HcmV?d00001 diff --git a/static/images/icon_code.png b/static/images/icon_code.png new file mode 100644 index 0000000000000000000000000000000000000000..821a2d0cf43d5ea366da4c21adb8c3b06aae8202 GIT binary patch literal 9845 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 Clps6+ literal 0 HcmV?d00001 diff --git a/static/images/icon_coupon.png b/static/images/icon_coupon.png new file mode 100644 index 0000000000000000000000000000000000000000..c8fc3ef4e731d2ef0573c71b4ab69b74a3a2c4a6 GIT binary patch literal 3157 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 Rj(*huGq9EMD?^XC{{UFrKW6{{ literal 0 HcmV?d00001 diff --git a/static/images/icon_excellent.jpg b/static/images/icon_excellent.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6cbcaf01d51dc9658136818e4bea2ded244a5493 GIT binary patch literal 9148 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 literal 0 HcmV?d00001 diff --git a/static/images/icon_good.jpg b/static/images/icon_good.jpg new file mode 100644 index 0000000000000000000000000000000000000000..535194787fc9bbcb0b1bcf76e1bfd471cc2af50a GIT binary patch literal 10868 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

oec2Q&>pbz~6Htt}*37N{lKMd1a_*iq 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 literal 0 HcmV?d00001 diff --git a/static/images/icon_home_operation_1.png b/static/images/icon_home_operation_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6d61e89e8bf7670cc85ef39dbfaaa1ec8e4e9a06 GIT binary patch literal 2098 zcmZuydpHyN8y~_rG{Z!>WLQ5sq~sEFMmF2BFqbZB<&sSow=O8T3}FaqQ$#MgwFskf z*TP(qh`C$DIhKqK<%IZ6=RCjXInVDr&-;Ep@Av(D-uHR``%)b3(X!IJr2zndEEa=w z5^~3O0>y-w8GEi&NU4rE7nG2$u8Xdw0t1`%Jllix`+`Hu*uH1OOlj#Uia;LPqCD$I|i*Fg zRH=&N73IJ;dhzWx&0Ax5;@vfA+a;(R{MPKhiYPV@NslZ!~ znTYzLk``b~`Q?DoFf`Bg64S2cGP#<#FGR#YW@aAXHdLNU_KDCYT<`$p5_Aq_obD|O zxno>By!yEEfNE)BZ;_N9A;*2^58Y$Ql03mcR8m+jK0)aL(xJm}haP#&-sgSXxCA=4 zij}B3DnEsiidpl@FrO@ZPiU+1K*{g|ykEcpWirk0^3*6eouOUtbJfI8W?%PqUCoot z8}G79EoljkHM!0oQ|wR^JmQHU>`rt7xDfjDM zK_6FmCF@@X`kloStJ1Vn=$n2FD9%GSn=vv;0L=Cm{I8v|yAIABrianrn8aLJw zIe-vk$y{gXdZ`ANlW8tK#|*WbgDnld0Tocck6z2lp?evFUB8=MuX`5nN5_3iv)i zi1%BJk|z#R)d)-Y4ZW5`$T1q)t?Jg^&dS={~Q`UfQS-Uxr_~Q(M zp>xcZGik24XNT4R8f(={a_C)Cnh}oujS;y;{fHqAdfpwjMwr9MG$`C2ktr0uk~Y3QRMGc z;nX_?Gem=fG&9kVjFsmsq&1Obd0F$TEy4%t$$n=`2A;2><%Ct;in0y&2bt(Ds~L#C zP2gM9S+j#Zxku#Jd(bZM{!T0%8H0oS=&mAhG4jkQ2BMhp zPI2(5p)o4k`WJoc!`eH zX1=xVkAv;2jGOH`AgRj~;QbIbcBkbMhQ*YQ?c&Z{3!VIcvbh5N_WDjb?UI7ZbR*l; zy#VE(;<#zj=RHo22>uf2&;)SR9n3NXhlZ>~*G5^`Jgl8pdmvp0vwLGU_J&<2y^=WI zk*!aHHkgFn;JUE@$Wd4zRJfC$?i(#*T@Y4wCxyO@GfVh5Dli6uU!HyOEp?J2_eDRl z`0Q{I%MjV{sZ;&j?(bm+$``&`A@^P#CHvZ(S5o4ga#l{jklqGD8g4U|fGyz9)L+(B zR`&ksIoIXK@Pei??SXBw)|hH!y|#2s08|$fx$1Dzh)J@T#Z9}6u$_~sPg~0?A_FfDvQBD#N*+ z*)NSZ4mE6q{h;)WXWQNdHB;A={7l=YiF-KV1UqFJiD;&~;lEMuyYq|**e3(Rf`jm* O1z=J3$md7hqy7tufD7RO literal 0 HcmV?d00001 diff --git a/static/images/icon_home_operation_2.png b/static/images/icon_home_operation_2.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf7a0a06d1b6d64b043bb11888afd024fbd95e9 GIT binary patch literal 2405 zcmZWrc{~&DAKx5dks4-2StS%(ZF9_#q>|?RA;Ma&+`^Q(zH)4YawN(SLQ>|4 zDECM)$1q}1%F%wS@Av!H_x1WbpZEKD-tXuAdH#HouvTUwphF-403d=gH@4*>o4dLM zdAWU`%ce6IvalBRCS1hiZK3maFnPP^++B3e4kl*@o%_2`x!dU6Z48CORna-SDDp3^ zK`(>zNBv{I|2N+;&EsHl|KWe%{nxXD%H!tzmQXod!j0X=J{(H+E zx}&sZ@`L*_INsLE4xskfBlOex)$K&%W3K}g2z)i~{PwXIKw`5^X)(iI+0KW*VOR*L zK-YK)w%92jr+>Pq!~p;hv_u&j*awdeU~?)nB>%tF3HwA^cgsZ9U#nf7f7@uJn_@TrT*oTc8rdNA+ex7oONHtLNb?!J2Kt{lc_d|Mix1^%{zgM}#I2wHQ4o37hGir(Ajt+DO%kHp z>gV<)(hav)oz_H7%KPyOcpqN9E8VeW8RSzj5>J5EoLU*(dOU<=ARLTl3`adof?>{~ zr0S!5+5&wpo;A5tZb5dl@s7l{&U?su)pE zW&0-8WH$`wTg7V)YlDxUh^Uu;?_#?->wPouBoLllKqza{@a@AAW;iNSg2V0cj`2AW z8BbnDYfT>CJJi-#-;A%5tnADB5Ke0LwRyu(l!MgZCtQx(=ecDd10xQ~_G_wb>I}W~ zDr|AGGz}YaiCIx;#XizQzopXk$d71~8JMPKGkzn%~E@1EN6B!7@6B^V>g{xtwHUry8wrO!=ED z?NY!v=_J=^P={E>SIQZ%SsCtBfKJ0O|MS?hr4VodmS&HO_HN7{qZb4;W(40oRRR{! z3ypFVK<~lF%1|I+(GP&t*+W2|^kYEd>sD33$53l&z}&koD<{gZr#(Dh``6$n3PB!Z z1cbhH%51PVFmS7eAZiIs98SNb0U2w)XZms}ZasXXcago~Xu-pW5SqT)b7=r4Duk6- z@23ry~3dgb%C`yyF}EOGjjB%G{&;=~iUAxVo(Vg(sNGL?Y8Xs>(4T z)3vQz(AGMgF(Kn{)m}Ozc|T5fZ(_1uHP34XP_Bc4>omR$T}*sm8%H}NXNqX$Nrxn4 z3&zpbj~-)jCZlPSL}Hlcs9M2V>!4bv=vDiVOE9W3S^9eW`3uIY>&3lQZ!fA(prg=mM_!R!&7uz>iIs0i{8W+15(+t&u`bZMZjEp~q^LWyp^2OuC zTq_PqzIh;d+zqXrkt?qK2{dcCw47r5a?Pe%=c4OKUubjsL?CrP5Wb>wDBww8%axuL&&w; z_T9wfdI=Mf4j3Y7J->8qcsD_E&qa8BLH;K*#Rb?=OAY3CW#Po{;d*Ybaeg&WW#5O7 zgv_cU>b`w*7kj=gA$c}|@!9=naGk4WJ@mP-*b~u5Da^=idgAH4km}&;x6bEQdjx|u zTr<2c!fX4xPjGs6CGxXP-y~DIO}be@Yp=b#OlO-NLtn&N8Z1TcA}5D4D@W&O&+6cF zQZP3qxVyhp4gH)7M3$BPl>pnnFXTqh^HC;^r&6S3!&70wFZf365e2M5mh241@2j@| zI^3lKMZzjTdOSS0v>8v$>?r+yruRaO^?%@Svmxm=V_ZFWI}~x>nrPpCI!{AJRg1F+OCI#mh<^< zT^3edtyGOYeG9O8MR@;~P6=L*uYrS$Dq~IG?~dhNJ4)wsSF&|0QlNIVZ;M24^4 zAUVUCB}de5iVR9c>Kt$RjHeBEyve*Z%CL~&wBhUodyYZl4s u18>wn){jigWQQ%M=-Y^!{I?pdBLQ``m_??&*97-h0zjEq8CMy)#QYz=0i>J& literal 0 HcmV?d00001 diff --git a/static/images/icon_home_operation_3.png b/static/images/icon_home_operation_3.png new file mode 100644 index 0000000000000000000000000000000000000000..258241bb96861ed869f1589feb03d4c3e2888e5a GIT binary patch literal 2524 zcmZ8jXIK-;76d`0_of%5h9U+6N)w2Jp-TuN9m6GbDH;$%RisD@Qbj;&uJk;5krE@4 zARtAm(jh1vq!Vd*LErmxzi)PD&g?m}`*UMqP<=M$OUyJhG;D?jkh@ggqOMLxI_l2; z_W_(r>99NZbg6urB!7~mKuHBsl7Oeb1=Tsz$?{b3M^lo)lw?`T@A9|v+fO`e`(yr| zrRJQ0l1%mg98m-RK>p;c`G0|DJ^u&QKS`!eo#jydKR0rIq^Y95O!4tus5wnfi~y>P z>sYL1e%XTl!qs29EMs?EG^e~jCWk3X3F-bE>Am}C2@{hfC%ag7cV_xW%Be!*U_~9&$m$(uaLp@xi})VtwVM}5 zhR`SEzi>*2R53`=^GKP;`~`C%=Ik*4SRL7qH!9kAuL~+#A1OuH3S^8-u#}}B>F1AW zE%ZX7_>RizYD?NuJPj;F8>$v;qb%5^s+Mxdg;gt%N&YHNb!qqPRJ~&U~y@ ztVAHKZeM2!hYT1Q*cf2M%;aLAc}}D|gSA|Hj3-gd*VXwOt##4uJa02(RxTmA;T(CuPqeSRyTREME}_s6m-+xq95lK^I$HZ3 zuuk#K9KSl3Zx%4fAjv4CO}`)^v*&B4he-Ptw~<0Z-jPmo$vJN!(_k3J!vM0U%0x5` zcT*`5KULYN!(->X!n4P#u+kiB_#kgM<)RlTs3^yLvQesKga6@VOxzE+?_cd4T@`QG zRyNWteG%xcGQ`M+?IjCJv#cu8E=h|h_v1l6N;!EosFZ^fMQbB|H_$J07>uiXR#?$T z%O@G-A6!0D9xcV&tF9E0>u<0CY>;7%ay|XQs#T9>{c<04Qp5S!G{eX}c{#hM$-8^d z&cOpP?N85!GuBTMn^NHotVpexh+ixh72cBaAc4p7t{Y4F!g;WJ$u4^LU^PR~^`3mJ+8e=mA34Fa8&?mWR1}DLEM9f7hX>VQyA{p+7#JX{- zrKbnb+#luU(8%+CzTO*6Y9mN5)ufZp+p2I#LGxFOCBe5|*AtEefVCHRg2^xQ9xWb@ z^i9c2GDkWJK21Y#($k*bp@a1duB~cOQYR!?Vx9~0`@dQ^Y&;p;powyHg&R!%il0&i z9#uvUaK(ujeESvOdqHV|jOifwWC@_oY6suSqj02B!+2f59Za9YG1=)PpPOd@;%&W_ zR8lKodJxL5gyrJ`w(Ak)nKb;Wn=0+fvn$h)U*4*TIxYe&gAG9k$Z5grGW&+#Y~mvT zTtGfv?~4PZTstp^{Rn~^@`D5GAPTHM*$#5pFQE<9bM6V0uO1(X+WG-SGN`m0=%Dy&L&)0LNS9&r^(leAQ`R&h5FoZ z+=s3TyNtr<5dEOA;dE{-#w9b^{S|Q+Z!gk7o{mKrw?CQaIo-W&Hl7Q`Z`s_K>9#+g z?ddnN7DW)(nZ{}BI$4AWu=;Gx6;EvYCGAxgU;J?mX{nt4MX<1q&RO`hKb$Kv3T<_4 zjk{qk%&iWlL75Q5H;JU9;7l}GP=VOEEX_h1ZAB>H)#(oU*C3CA`D&$1^h5lcbpS<( z85flY8Jlq@_|R8}?8!qvE$$c58G#zxSnc&`6Fr4+-(1qZl%?=!u>cyBN27F=8)4%@ zO=?n;mp zhgSp)Z6m5DE_b&I$lS~hN=hWfjRuEdobWNP&UU$^FEoS-7$iHy=sX$9b7 z*iC4eCUmE!FRnehdB^nOONZ71!bc#KU2yQizWZFn;m4HEV}8b#gd~ z9oVa~HAt{q8!8t4iomWwu&CnvNaY|K&fabO06*dd+t2bYMzPL>QmnPpFS)?SM{hAH z7yW^2rSVxTuXcm_q1Uchdo5&zwGAa1#cx?2c(gnUYQ<<*f7?O&8Er*6WR*x)$vVDc zi#z}6R+hP1d8I4moo8$G0`WUKZr)y6&XPavDNXzYEXe1&f|N@6rO#f_xlo;}z!;Y7 z!>@R#1=>8(s@NWP$}VXcjf$6nhn%9gj|T)R_o4nTNAttR~rzx-yGq~1A!xz5w#AT0WOG3mL<5xR0U!lGYC}ZPMFVXTi2U}oNmmeWq z(X3Vrz|H-W?Kad#Xx>J!vfij_lyL+Py?z9rhmlC!&{QXq3yRjmcuMm-k2i*Az366XImtN_?+p&-p z*aO9Lwif8ld~}~>(}1j#@a%OWZbP=IB!8nMZK{5=f7f`tSyo{%_Mz4VTN~EBu_6qy z17a6X>-|Zlf4S^de0-`^$HjeldRsVa4{9btxR#TAo*1_JA3PjDNg;7WBs0va@;yr; z)>sc`lm)owWiZP-9j&AW7F`h=mu@Dkmz&C+x=1U7P$fMY;~vgDGX!1ZDTUbfTw8Zw r?K6!A+0RRl=?qdN4gUr184)4byD?t8s)^Lk5RIWO6jGt{cldt+32fj) literal 0 HcmV?d00001 diff --git a/static/images/icon_home_operation_4.png b/static/images/icon_home_operation_4.png new file mode 100644 index 0000000000000000000000000000000000000000..386052abb783e8dc4c9d4abf24209e362dbe1a94 GIT binary patch literal 1404 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k8A#4*i(3PvCI|S0xB_YGoL@G%zikSCSm*u% zBCFh=HhCb1b>465oZk>Zo1FjFxga)B7Ayi2&jpGD1;Of}BuD{Rs{7ODkoZ&3&Dd7!flN`m}?84kKAT|LuboWAPG?}Y+|7ec<-_Qr|5U-nY> z?$();n$>nx`&zKw*jryN&9mWn^0~QQU5{)S7+5kqT^vIyZoRqY?Z@OO;`T86H^V_T zsn%vEBQ--Y+?cNo4Y?*-G{W`()?bGz8iQ0duxiO;~Ogn0?;ZG%)zQu~A^l z3Pl%Q#Vn4%;uOXCu~UC=wCJolvS-_;w%+A!jT2@rpVc|ltXyAU(yYkD`|MmlHyzUB z6DdmF&2f@H)As!4EDtlMu2!El``MRHxb`brv$e^Tpyn;-Tfx{!@iQ06BwL0 z6k8_nwg`aeH_kvpz{z7##feW=&jM9awrrU3D^z*O))iCTPRw<^D-2TfNBIel^EI*3 z)q;=AL(klfP?E^wmj5onBB!~b=1y^e>A&P# zUVJ;UyFxhneHO>ZX~m``x-pT9Z(g}suGO+f!`S>#>?}iBkOm{uD=%hi`+u3x*qFxj z$8n8-{UP3LkyV!~q*p(`a5cbp$pq%2cW)m2xs-V^X(yj>jn@JJ_L!=;S6_sM-Ae-> z&Q$!(VcIukqp3k)&gHDhrCpnzw+H0MybanDrMB}z)o+IH9fjY#by9Tt%{J=u))qQV zOE9x}^=P)Wwy){gB=LzoZhP;Y30WR}v|jer&pidsa|DEEPDuL_arn8({4_DaJWgS! zHGkv`6j!Z%AG=1|=LDN%_lBK}ri(c53+HnPFH%};cKa`X4fj0()fSbX0q+<46+FM? z7U*GcW&^(9jT4Non1JJ)t4?|Hl$Kt~ z%;Q~mcLMW_4K*=4d!9#|n%t?2zpUi@`a5&-vb?{K9rSrOGWhIPRN0v~A^*d{Ez+CV zC1%$hX9Efe^Y+*;j5iNBxYf$-L}spnu*}QrKEegLZ3Wy0#lK9I8?xQ2a=`F&Pu`}>RMbIMMvZQ+u<^ZRLAXmQLtjgS-Tvri~Ff^sV_uc2ReBgPkzkLe(?py0G{hlZ=*)A() zUY&4AXU0LX^Phedcw~C(1-wmnN;q=LIW1wz?1%Ba7x>dTjxCXY^vk~WSqz8U=Gps? z7%R65n?CH>_V1MB{`DePSNy;AIqc+-%QH8;cUSS8gpU4(?q~dC851%`s?i!$czC+{ KxvX;wxprDK(0020M zGDBMPdi&lI0P-|D*7XUmrDDu&jd`7~)gR2jgBSr|MgUI%3>=ujBYWe2sx<(_#Pjw7 z%smch3*_lPe!#ye{#G9M1GEzU;XDH$b1%-*zsX)4%p*)5A@Kbh--A5Q-{XISmg^HV z-m%URtu1W;zj`CL!w-#f8!9(cOS0v^@^wVv#TPFt9T1*<=yqZ_j;PW1zD33nO;1k5 zXis5x90WPM8)c%9hPI*XB{n69ZXgEwU}tp*f&?QY+W4Wk-re00CvmdW5etbk&z&^q zfRAy6Zea{i*OmFJzS!wdSb4C%#c7*ZEyNw? zdqE`mg(;b|%3>HQzr0$mk8XkOejMXvJ$gV>%6hz%(g{{GN}SkuWFO`cR}yl8<`Mm; zrb80+H0k$}v6J|+FD)ialB0+jywGBd{##xfLs;FU;TonGdW0>n-V&dndD`pTd9s*p zxJSAU^oXk20o?pRj-*ih{6G)v0XZhr)~Mzo5IRfc`1W5fZ6?bjFweH|-_RFh=hCmM z_GQ6^^s5)}xtT)-G?$Q?yeugrJ4|5BC>m@o+Cu9mExtw`>t%yYTnak*&4Meh>~gmv zw67`RZR~11>Z2CDx{#u$HUk(^Btk%v&9wOEjn@Kev(S~r&&jOhyP%WJmFHPE?z((r zZZ+Me1es50t(!#WY?z78U?V56uhJB>I*CJe64T-{xP>4?^UJ-6x*T}|vK{-zG?v;s zA8Hx@jGg_VJR(dlMN9A=<7}Jv>+4&+a4nd#-(~|nH+hgn74ZbXaI+Cg<4pu~kYRoc0)3W^BzmX)^?Gr>=yJzcp)8lVt0r#swLZIDiHaG89ZG!Rzt46_h3g$wL)ZFN zcpq9MG>!Jka`;)&Hl_m7FK(SgcCOx-%wMetl&Ie)ZJKqv*2tA8xp4<>LH}hz-(=^M zb*aCZ$jv#Gh=hVSJ4t3Rb0~3fr6%jVihtI`)Z6a+RY8@%O&A%d1a2=d^p4Gr-Jh0! zf>Qey(Dd>wU&cjCOy>HdT-^X`F}@bSsE1UYEkqP)%)GbOzV|rl*<~R2G;(tB!W;+R zFR_wh&`Y%KF|Iyazx=)b*B)6{wjkB8S9wB z%)ixh*k$noOLiJmL9ZYQz^a#Gu!H2;hhO)T^camX zM2PgwF#q$9h?=;~VTB{2PD5AhKD8v2q!gD;3$Hf$SDeGsMY)p-!R}UdYgc~A0x6f} zKm=4whU2w6_HY&bU7Mq+7~ik{X^(?mj&<`-COnr7=Bzu3(?T{@kB|=I+*&`41y}k# z6EWPtMaZozZu?Ru#o0gPO)wON+A1O89pHmaySa8@++lJz*^=))u|3r#fmEPnxMcOP zvhqMd`_HcAMOzu9Uz75CEtz2oWDO({^_o2<7z1B}*%(Cuy5an7tVEmT=t6zLI@SYz zY|PtO{Y*R_g_8t{DkuzoUGLGfkXlL6oMo8QE03qL!MC4w7Qz0II~HirvhR3l^o#Uchm!_|bEKOT!diyxtN Q@cuUd%GeTFhPWF27XW;wasU7T literal 0 HcmV?d00001 diff --git a/static/images/icon_home_operation_6.png b/static/images/icon_home_operation_6.png new file mode 100644 index 0000000000000000000000000000000000000000..4521af8bd475d8776032c76a57514ac603af5c46 GIT binary patch literal 1364 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k8A#4*i(3PvCI|S0xB}_#d(0u|^KOg(Ta3Q% zF$1C>d(FP>GyA_EDg{ySb2o_l1EwC%28)|y<0sHMsJI2h7N_=a5KHM}*l3TYh!(Hdv{!=HzGxoZi}{=Cu2{R`uqZw~rHcD0OcwSW@bKEz8>Ck-yTWt1OcDnslymO!!*oUsiP_zdk!< zsbXF6?=U@W?K!t>C$@g`xOuPZJsXJJ4I-5Jf8NW3)_pOmzM?>8P@IZ;yg&x^pBb~FA>kd&({ zky~+NPqTiJ^z`QD!k6D#vfbRS6sjy!GQ8oI;K4I(NNmo5E`2wHG(8_;{zZpwUjUNjUm?X>E+Qnsb1z zx{}<>);+?Lzc{I-bTxbFc6wGR@*h#zBhcUTF>tA2A*X(d*D;=erPYrn#hzH;cdR5} zVR({pbjNoq?|?<#&vFhvHNX8O@m_hLii%lr>ziv+R-Fx4;P!0C1J7qA8)k}L@nYL~ z-Q?OVb?xta7fdizcc@hf{?Td^=yuq#FWpFk!TX5En{6pU1$WnNQ&s=Ecg2K;V2^$u zt^=1AteJl2{zOl?2&Ypstal!r^(5Bx>x+k1CiHwNI6D8yLgn;%1(}MDv-zZ)Jr5ra zVOo~py7F7V6&uB`eB1s8&s|Y>U*^Ot^%%q74U<)53qQA95fUxTP6>IkXvz=G7moa) zk&^=hn}QyxzhVD);Gf37=ogEnJYCX`a;{UzQ~tluP}XvV!}G?T)w;)IS0CqcH%q*H z*!=gh%lnVsmA&yq*2`$#Z{<0Y>VysMA5K1fytIk!~!o*enR$Cqhcit{90ogM#Af96_uZjMUy)dJ7G&#AG)eH~#f# z{t<(#H*woxhB0Yjr-~z8$~qH?_Y> q&z*PpsnImsX<>+*4`f|gULW`PK;V2y<~_i2h{4m<&t;ucLK6UU6|DmR literal 0 HcmV?d00001 diff --git a/static/images/icon_home_operation_7.png b/static/images/icon_home_operation_7.png new file mode 100644 index 0000000000000000000000000000000000000000..1cc5f6415214add6a0871e6dec701163bd2ddea0 GIT binary patch literal 2075 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 V3rimP4qSTzX{zg~6{?`0{y&6a>vaGC literal 0 HcmV?d00001 diff --git a/static/images/icon_poor.jpg b/static/images/icon_poor.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d1c4609cf06a84d4bedcc8ead77b14a8db76644b GIT binary patch literal 9879 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 literal 0 HcmV?d00001 diff --git a/static/images/icon_title.png b/static/images/icon_title.png new file mode 100644 index 0000000000000000000000000000000000000000..ffb37670d53b35fb69c275df985433338d206b38 GIT binary patch literal 817 zcmV-11J3-3P)Px%>q$gGR5(vvlUrz9RTPH5wP$h?q230Qv!|_CDe25a`($F3g4$M)27)3Q8G{rt zq|HPGQ34Va>qDTZC=}0B6cHNJq0TM0ov4QFEi@4` z=LBwylozJ*nS*Zb(sKs+5ST9!+dkuMxu_j>2;?cy0!!h2a%|@B|3Fec*xdLNs2&9^ z8Hw%u%}bq0b{F4A=u()BFGkJ3EbUw*l5-$;BYI2*g7zxNbY9{HY4%#z%4}DD@TGi%Wo@_RN~2_v1I+$6Trj3S-+HiC=rdhj^m69 zxG4R8KGUaJw+$o5Q6ggch#a2!dKCh!@A~mJjYp%v9jNK|^Qk`D{nLX;=_`;}`Gdeq zf1@3CKgeq+Gb}GORzYsun+7|=)Mlc~>FAU1dD zRYBeWen)EW@e4m+u}#SlL3aSB{D$-{Eo@j%jgBJJBf4J(g4b6TYr6}(k=SRb5(%x- zUS`DRif;+L1ahTB*gQRX*Bl9Z8l(l)FBuHl1fmMWeSZ8-6ISR6gg*bhOuy|Zv`b`$ zfaOrwG3{l}>eI;&%CblGGF)qs!K-sCI!SgH&m**e9QVD{jGB8*)100000NkvXXu0mjfxha4p literal 0 HcmV?d00001 diff --git a/static/images/icon_unchecked_1.png b/static/images/icon_unchecked_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf6820b07be52827465c5f551dd93075d9af9de GIT binary patch literal 1552 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 KMNUMnLSTXc9lDJG literal 0 HcmV?d00001 diff --git a/static/images/icon_wechat.png b/static/images/icon_wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..f989d71d9b9dc8de68762ac24e4e21d2d23bc6c0 GIT binary patch literal 1379 zcmV-p1)TbcP)OnnfhHJSDb0CAB>zwLK-aJph?RdfZ*j~_r;P{kvH0s~W-Sb&HM5M$E~bwErA38)xZs2GuW2o@_U#iDVeDAT3s zb^O^r*VngVAb zMu!~HJZ4URCPaHW62K`(v@3?(bHbNY(9h$M9#f*tog8(<4I}O`rTAq7_Kdhil)}#P z{1ohRwy#%hlQ^U)8wX-2U*6Kb+Bu*LxT$ySq-YDhV@WHy|GD#*x)nM7a(<} z;AdE#DrAb2D@nOpWQ=?=Tae2D<+x;d6S+{Mt+>~nxF!$YR4-lmSU2_Oz9-?n zPV+mew-tSrwcv%gT37qM9L;+qi2kY7;+61z3Hit5@xwy{`yLf_I5rk z>ak^}*A}mfi?myEFOyZ3*L215t(ezt=zg7OpnLtLP^?W7+y792HOg-aI7^`~b;UTb zQD2cHFZMW%@X@$J?n*-JLP#$3ye-N{>2jBQ(c zF812QRmd%Kl?yW!G?e?f7TkR3-b_54-NVTnJBdtHJ&uVwS$n?C+3c&6B&)c=P;%cT z($&|N4y>e;8?xBe=Oe1C6JBaiEyYZ$$-5F`b3Sb%fs6^ZHSS{|HR=wXEomUL zL@ySkec2_~N>%AM$Z(ra?H}KR1|5(lcOhGh%z}Pj4Te%dzM}}enPANCxt>JZB&jHa z1{rzg$trrmIH^g}fGiwVB&zS6E6Lu~d$Kp5Bhw(Gt5#vvkkW#u0LTK<2&Oa0Kk=FA z4Fg~xY@ux#WK1JCUhP>{lYfL`2p1sisV!P^z7?59tiD|}`8`n>ECvc&8*J8)kt3%< zz-pw8($`n3KbuvOZ7fCb%|eYe?5=Km<}j6bL!%d?B}NMk8}H#*j1(BJ5^&LDJY;+w zH?_dEz@>i9b=g9!&nGn&xYuk!gIodJZ*()nW^(gV1%5||5LRSnra!UOJ=W^nbd5#K zHZ(c5twnpQhxYakU#xTNW?r++&W65^X#IX7_CT9}01;d&nI@6;*M9tg7 z{HSk}$kMFrYfiQ^G~0>dQfa15c3vF%mxE%;IL$p`enic~7RS=KEMNv}QqAtevAmu= zY;!Rja5Fsjllguu;By8}JL2Fp0nbeS1c5k1LiocYCrVTrc{(YCxI^o~=#T*JKm$|j lqeq7Z#o*D~(>DD_h`;)n!3Fy=_{#tQ002ovPDHLkV1ggvj_3dY literal 0 HcmV?d00001 diff --git a/static/images/icon_zhankai.png b/static/images/icon_zhankai.png new file mode 100644 index 0000000000000000000000000000000000000000..f719fc47c25cd21939ad135214ba8d11fdd4f81b GIT binary patch literal 519 zcmV+i0{H!jP)uc00001b5ch_0Itp) z=>Px$!AV3xR7gv$lszm2K@`XTZ{|*@L_?z5`_QOFqf_ZbA|Yx-6e5)5awi*{L`|qs zP-ql-jZ!p3aBF)Jz2oM|&V9t%&ts?AVs_s9y?O69gvQDjtsMrI0Ng9kyuF=$Z0;rg zH93{7*}KHN0N_q?#|$}1jDkHRg}QAfWYD`v(Nx9ETqO;WU9-9=jdK8Ft=L5S8YEwM z9%dnKekHAf#iCWt93=%~tlNf6t4lBjf5s%jfd+9_u2k6r)3Q4$F-VoIt=tAc{2w5r zWRFNz7XbQx#j&cX&(Ri$vzaYgYXs~75bmGFDfNEMRaOQ*{sNOPzDzUoF$i6*^F-HD zc1}K-{ckQ1-KH3a+JOl!4rkP>W}C%%K=km2T%!Vw$1=*~RIX+pqHe~I<+K}RYb)bw zw=al>F>OQEYL{Sg4VE?vG*#ISHpaXPvHoDlblSgw zkS8G&MCWYdivQEnXplyCqm06IgAb(&huHAzG00j3* zL_t(|+U=anbJH*o#%1z6CO|tJDdFK`cnvxh5<-s#h9SrB&au3j9*dng`m=$du&x#P z)7Du}nelga`|JAKm9(-{l~d>aeQio9xi{HSMe2;qR&?*XoAJ$TO?#1p@zrcmk2X{0 zW~)jg!8j-uoAJVIUAOX#zzFCt2MG;H%9cxpB=y2tp%GCW$+=E?DCY<%iR2t1J+*3G zKq=LTpk}9#sS(tQY?o7fI#U@j(b&>8qIxKtTa;fdBdp)`*fzqN$y!3D%#E#z#QJ}bE%eD41h2XdmO90y6ff%us5@HruCPMHkP2}#v~JY=atc}T3Z zJS3?GV&oyFhSZQ6QbTIUg@g1rtEWhPm%JgWglb3)xd4zdb#k#PzJ}D08d5|4SIEt= zrF}&jZ&1jF%oJPmDj-!v(lQl5f+`^GDj4A}pAVSH7A^hahQjir$ zE(m!rSu8&H7azw1?K7w}`HKi=D<56fWC{5WAnX-gFvvaJ zWI%o>5)3A5$rL~w6^w()S`uOi1;SAeT0#(qBdz|)p-bY z0bOPj2NJ-B%s_H+mjb~6Kv=fp5dcH5?QjGj$UcUUd%oHYZAh0LNQ5w7bRN>+2GV>4 zDZwZQX>tRZn>A4iiY5!`Farr_8Y?cEEF@qCa*ZZSpzMyNW(CqZ<@UTGE71Ab9h{od zl#G<^$s4RuD@1E061{Bf{9VU2q6AU0N9ALmoQwX6q@zQ@}yo9G@(wX1T(cV*g zh_C&T&Tf#s1DQpE;595Mw-#Yt)q-fQx?xkd$UKYflomjtXYui+}!aaTY(L zpK-a43nsriN}ItS$DbBEpriI|`f~S>uwEFbxK{vKu|FewrgE<2kb)vZoHGm@7_cF@ zwFI}0N$yb^r!uTq90yKi>t*s8IF&V`;L!x9vi8{x08=weWnE-h`J3$@XdZ=|jz`*@ zQ+xEH3o)<900C0joiWLc$)|pQarFL)F8|*Pj*Yn1G+oQ-L^X`KhN@}AHB%iUt{zpR zoT|9Unoy%Cr!_T-avD~2OuU=LEc0(|~ zsHYaTJ|>2U_4ZDmP$;pZp%n{6YU)bCa+)Ksu_WvLeyL@9iH|v>?K0M|>nyK3@DpKq tJw_*<%4=M_>(GBYxL-1HZ%*>P?N3UU_A_3xNlE|!002ovPDHLkV1gYxa((~+ literal 0 HcmV?d00001 diff --git a/static/images/logo_app.png b/static/images/logo_app.png new file mode 100644 index 0000000000000000000000000000000000000000..82461399ac5a603af41b858f685c372f807c880e GIT binary patch literal 10674 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 literal 0 HcmV?d00001 diff --git a/static/images/logo_vehicle.png b/static/images/logo_vehicle.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5dd293e448400282ce8e9ff2230758296a49e8 GIT binary patch literal 5255 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_coupon.png b/static/images/pic_coupon.png new file mode 100644 index 0000000000000000000000000000000000000000..cc698f117c46061c2f379b16834a582eba3d58ba GIT binary patch literal 47211 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�%x=?{I$0thp$ix4v0{>2Z8@{|= zmew1(qYy*qe3*c8!5<|{Hm*FQe@59MlNbi307%(3EuZvpZXN={)Mh6dni|B#1G~G1 zRLW+PXxlgbSkBMC-SQU%|Ef_O>N3P0?Y3yo_t>%ui;7Y7D1HIYZ38FyCMV&T{rp$L zj)QEWfcis^)ZW9w9N#i?i)8&wPxP5iVL)U&1?1@{Rn$vn6$}lisA3gK2^)Q)I3adJ z!uyuntG$Y*#N2;gsE$@yh&pJQqjZK>bdlVEQ2*>85E~iqG*Chw35K$fY&rM;pg^EE zVvjlL0B3g#I|c!MBtg9oHVJtmSK<|?N#OvXF7HaCE~UpKmaoHUALkMo+)T;_x!N#o zeeFV|xfB2;*(1n)hnQ|c#5*--u& z($<5mpGQ^Fq;4)d$w;lBz&gT=2Bg%;;q)o4e6rYR*d!)igoPG|EZT|CYei6NG-wL- zU62NV9BRxvI^u7u>Z-QqaCj6mBYtQ@iV9es^!|I9(L?%Zt60ROsfG;}HXDT=uqTgh zFYu%urss}Fk4#NXDV3`UTAW^$$|3L!Y;+gzVOVy!#uj`tsoEMA;#<7%t?77?_LriZ zv&~&}^Xx3>BK-0Spi6WV+>!P?Zh$7=J&}@?s~}fGe8_Fjai9R|$q1p7{Dj0CQnbTt z>9j>HY=KMPQC8(?#7^lck;yMbKg!KocwM>C#X!Q8UtO`AfO^S!lc)uvi1T9X$ZmFa z7lRHl|E5a26IJwimta?Fq8xj#qR7|33R`PQ&quT+O6dpy|Ey-Rn{AWpjPAabM>_3b?B$t6UgYiO}ThVvILwG=H!F2%zWy zk2D4=#P4}y%Q}!>SPS*5I{yI_)sZ{{giyV{ezz(KWr!Cc1sGabEvW>zr2FjB6&vZ=~+rWt_0yGZk7A$*z3_J;6WDb9QSWRyQsTl+b>n^<}Aj72y(e)-&@Ymyr}}BOSCzDHJPQbcOG#a0I=dJ`sz;#BBoATo#H7Dq zOi*&tb8^S2K{`U-s*ay_|9QZ-p$0O^aKR4YkiHb&Spi!lZ@krKZr_^WIxzbJwTjFPp9!ho^uL)|G@a|fGHG(eH?mhqyc@{)84C2 zPhd**gI1w(`l?dxx9Qd_F42k=S)9%hw#0R%FaTBwrJ>?7?7e(NNfF(I*)6MW2b*XB z9)KIs$7jR_5sPcJYAlPnTU?t$8To@GmUW~?T>P2qVmF_=DVoAg>$hb#>*Zlf8L%U? zJ1^ZjP$|5`z1lh*{G)5|JN@sn3t0uDKCp0~TFJ}{FhP#~t)+8fypn4zEB*-O`ED)6S zDIO|q#cRnfHVE)qsAC)Gx{^4P&kS>=cP=|UfgL$Yusd7vnlp%|DUaf$Cfwq>QAxl2 z+C&qds9!0e3?JsoMTfzGZ0cck69)Ck35g)z?^DAzU5Wg8IT`;HN2gKffrd9edy=lc zA?-1mzwm8s_i*CDx+d?(fa*=l*Q;BihR^&i1mm{d(Khh2nDj>YML5f2AP&btkyF))a)*oU+>)*lEQXir%8l^2ANbXV zY%);w`K1Q;u@_g>7S}(bVPK8;2z?MQB(VvF&Z>*c_9hX>GnNsv2il7?=(FQVYEM}z zPVso6rXO*c(Y2>OwwCZQ?x_FG&GzcwhfDOEAGwFS+oMl$_GR{N-)qhgzpd=P@5baG z=GP4bN}yG9iEk9|Iq?+xV+iV(bzXL|6CkJk&iY>+h*#p>ci}FJC=OwFmwtK}6);0z z=g4rV=Cu1j32xNE+=w~0eH=ic9W3X5{8{(Q2Ge}zl_mW$=#Uf|^o}w{DsYGWj{BUbw=Z-qogYDq8oL;J=Q()Rj9eEr`?ME7bGPpXu zuJb7Av z_{ec&goyGUx9TVcQsI`$rrWef?%oj3M_hi8ml#&zk#U-UE}%ueKB9mMoxV{c5kH_n z*at~U-u_mqmx@=|Ly3`}gfwQjOF4J`OGjfiO_Q62DsIwHW|Xyh9C0{gHWZ8(a4?P9 zuSfT4+`vx<>Khr>J;ln}=_zAkyVLq%OSNi+6)Ua%WZy*eJ}t8LTsl$zDcl8F&*>mD zflsHzNFTOmuecX1g2-NOE0+2zZ=DoI|CqJTjP_-3wNchfk8z>IZSP=3_y!H4iUxV> z2MxTAF-7XolMS&pT729WbT1ziNXRSj1`~gPbuEuGW#o~8prK)}y>hX{re7((znb6z$ax zTS+(Ld!07v(iIyN5-3#h9tS#MI<_S9%>_Xa$6E&*%YXYDl-#Fpn7PE!LWDpwSy*+d z4-ORnyVlWcGz|#KBHI6!2R5-brkj$cU)+3*R!F`n@qx~d^cBp=IztbrXPcf`2~96W z;=D;!;c0Gp_5T00+VsNu8vR#^%--}2vB_qx@NWfq>=Q!gAhE$C*O60?5Mevdk3u&i za}Hr2*4B2cr(BqxMMTL?+CQ-ZjOCa{QjOIo+{X~BT zz|a5BqpY#bJ@Q2)Sa$V;NVTqU{^d$vx)US*XCAkF_7k^!8XDm|+Iyz^7;MD&lD@C4 zgh=3Srmd~taSbujiVUxzoIW9%6VeEuDiY1`%cm&&ETM&=>3CLnYC};T*IF@K!yoFt z3f)coQk9VV+JG3JPa8HQLW_-*?aHU^#MS5g}xOiuOy%H|z@AafX;Hh|?|?LJBY^{rGVhaIK-v(((RnepuG z`q%b`++g7NmsN_)nYy0k>k*Ia z;}TH?(Rp|t45nuJ(y9+XC zfJo{S97ICq&;X6Gq1h&-XtHNH&d%4|Cqi|I34YJ9Vt|#AbK4D70^Vz4~-FjsM07=h2xHk*sd>3+*dH{qRVzSeb!aVh$Jls`L&;s7Nv)ivLUz ze#pCCkw|f(h&Eb|FY7;6coKF*>gRc<`p)BmN3v!<56qr5H^!eJ(hrNRu-*H4ErzpI z8xy7Cf1GC_*kOd(Ns%XCG-+;YTbzu2PQHlZk*?arn@4GpM~({dd|hkKpzsUR(-}e# zQ}7F`^bfzusAo20^78^{#H`nP^bVq4&$7fK^a8tV^y|W?l9m&8|D-6*>+bAIKe^Xs zi~K8e?SU$wwnsvEoK@jF9$Lkwbes)jxDq6_cCIPQ^jl^QwOUOQR)^-L++K@KyM9vL zC3(#fIQyw4bW=$w;hZMw7;lx+FNv=cNM-yk6kERC&%6YgLqwU}HG@ntMd}QGPHH#ARVb=e1QM0p9^6N{pw~w-}BKT=)E$?(818f;r zfA1zFu3@|UL>hCs4^Sfk4X9p9fi^=UUQosln2&We-~+w2Lt1%K{V<;I(Bd)itaTbT zTXuKDt|t9PaJZ8{k}l3O{iUj$v;{pm=9WV-)i>p;FFaj%Df^Z?1M-a?3;8?Qcif^d(CTyylkEje~=K|a&$eVl2FVttx~7<8%%jm zJ@B@!-6U7o5@}G?9*fZC6jDbjiv2l1xw?LmB150V0dPi`Jtn{5gXs|atbLBIKKxQE zP(P$Yyi`q!uU(4+vTO}S@3-@i7f>C#)az2UMp z!yIQvkaJdkDk^VrAw>5Y(+@{>%GViu?%c2CqeZvsOws^u**0YYNN2K?*l!A z`LHd_GUd#>Ij8wbPN56`duHOx<(nXh>$9XqtN&k5~`$A5sQ+~*|G>!TiUPIs4FvBOo` z)7`^D7!Wsg+tMrmH*VcO`Pj0m%?#X$De^=*(Cc?W2;$iCg#;^J(`D^BBHO)NMqc1Y zK8kwsIoJBPc#(qIggTf{NbFR_Efg0Dzg7lISS37bf%L~3jgq#nkh5k8cu~G*%u@Je z)U#bhkVo`BE08FRvoNg5`?=h?_%(;o0K6hZ>-ol-b$AY8$AJH=vMU4$Pmvtc-Cc&1b4Q&Z>MaLj%HZ>!_O9Yl)vsT zenpD{GbThI>FZ}KUbFdhdMj#a7{S4a!qRVs`(n$f3h;Q>0mLz29Hd8g7k?|NbHc^OO0(84i0L|@%)KNf*6Fqhki-8TzaqFp; zWt^}*CnX`L0+6$!Fd9NuyUC=AU&>-BxoR#*E5VFkHYL)$!fv&jPP&~~WI~xVOE1-| z`=P^uW&NGBHQA3}(v8SNT=##dPB1#w(+%YM_DEtarwn8K z-%-cg5YDFy`EE!fnj^lCUZ_#G9P+-cC%8g*u&$sY_>I?+spdOs5U>^?@W>ggn~k1No;0dNaB8R>>oELEsD2k}jINt!(p4DW7B-sgWc%-I8crLIiv& zj&#qOq;x@sCD8F#~TZ_%5h(IHHFi$|BnH#NeEk%xGpha$yL;agR$2UHHt_e|~?dKo9kmvZ9 zPcgy=5(TUaZB~)*+cv)>JWVsfI2?r96yQZY3qKdGyj-8TCbjs-ft>8X?^z@!q7{zH zrcIRLKQH}UOh>WbXHY_;Kt}N;>dg_Ld&u8~c6)P=t>42+=i(eBwlunU@a1ga>4Nx# zc0-=7%aimW=f4Z8hipezyRh5{ZB{K>g2(1nq;3-8_WY+G!JT&ZDbmAFcU{z&-oE%2 z<{yq5l&T|04*hm0$vYtKsxmGE1CJFk$yH#+@C=w@ZX;cjZbP{8S(pif9nu7qOvo-&-*GrVX(19=^h|G#Bu_3cl z^{OyJcAz*vdlp9nPLuc*hg%Q?)u~gz@?U$J1#2T3+dO+lzkZAKMvg{`*z2>}uT+(} zu;uXe^50;@kUCcFGegzr+JX+X)Un3!!(XKoWkOs|ovBUK;csikD5P=6B%3KhV1h(r zNiYPg*&Jyi0}GxKsAz|O70HB}R?c^_&;c(EMQC56&^-q0iw38o>M25Ea|y=xvViTZ zaA9}D;@2B#jg0f_y`kP{+RI%XfLuv(1~!o z1CDkuVakW>`Ok_FD*2ioc<*-CQ0}&C#|uzssa{HuK#9n7bNDHzoKaTRYn_GHXWtrR zd>00;;(K8BQjB8hS~iitb19F`SUJw`f7DE5LSA9z(sDBS{!U>FEIKNcT5{5KNEE)D zhShjvcxscnB8Nph6U>+nj`_d{qT~?1o9t@ z;-uX4(+8y~$j_MpycPBKE0L9rkHNiH@g=bNtW1h@?tBx7>zx4dd8kTTN0a!D-T2zg zPqxhv=0xc7PY2pHaVX5^P|6*3uyw8bMo@^eKg~pIFxm|36B9z=&v+kkFGc!UcJK?a zz=8ff`y}&?V;y9nrGE(+YF`&N76PC=Kw6e(D zfRoL}u_%Bg^z42o%~X>s(qg8eByn@;qpDUyO%5vpdvK!LQ<;=o3~HKz39Qy={KnWO zzQHnw1L0IngAI|gO7Gaj(bl7a@%3UkJ{wee%zXKL2&uLIcXh@-E9EEZcahT6vqYu} zvAP`YSn!|WsJ2i;vRG6k-IHc^tZ0w~^Y=r!k#1C%I|}f(`tdnGXS!K^<`P&T6nPLX>dFcGhBs6PwiqqZxHV50B@Q zy!a{pb(oAP_}xsP%}){Ems?K^u2$r=vP{S7?aS3w@FeO!qY9@a`+gpVB4z7RY8`zL zo{QOwo}o;)>G%k}rs_BbN*j?6YfZ~vG3|7k0owIbxb< z1h%-zsRkZobC=iOM`tpIa|E(4eyKC42|YGNGy65$*3+cJX42gp;ig}Q#Z~YtTS?@) zS&%|Dod(0NqgnX^YW;i3iCuolsGF-afE!)AGQS5^64uAm-7$J&UKZ6e%$lq+>Yg6` zP}S1l;IY1YJyXJ!*k;mMTMxJL=gj7nn^+9Dd;yD;6r5x*GXHSB9;^8ikKoaypHqU_ogZ5gAu?rgR9P<&7$%orN8+z}k^Bq@ zv?Ra)^$E@5Ja6C8YhvdF4z5SUcj=5>J|{ihekIoeG~`Xe;wk-~Jc9h435#6fj8tKD zE;TiXDY7L4p4kLQpP*WVnQfxL{nzVciDxJRM5`3?`pgCo4RK}65Q=LnMAXdXL_eMJ zhlX!_p4U_QAt2y<<951zgc3=AZjdB6bN1_Y^IH1&E#;F=@o*qjIIC@6X8v0a34F%( z(P@G&_SxlD6S=Jiv210YIiiewX~2G>`!0i~?C|yQDx=BUd?k(zt zxiBqX+p(~gyRdfeZ#htGxZWiZDLmVqUg%G7#ZT%mXaSBdn^wfff@+LwN?>gOpV!@f zXWw2M!nY7Q8~tmF zlOS5r<7-$(WZ;V>62#UR?E*=Hb(W``C+LBpR94k|jLq?%{rLVLis8UTW{f##VtE3M zv`Xw*RnK)Ucuv1-V9GZOmfT;rE_BW2Z5EDr#I0*>sS#d1?5gj zXvF0CIYA*=@cG`D6_Thp*k}t=up<-ZSSe#3)BqL znP4!5`oxD!h#gBI)6gCk%2g=zWs8|!8Q%2~J!e1%WRNLqWvwx%r0;Bc7}N7dXX#JJ z5FJjqGDdC%2?1WO?SynCe}6xqRJ{;>@%6&@q0_1eX{OM`>;HsEJ34z#kGPv2`h+L+ zXu-QYkd^j$r$q}-A(DKA9%_^>gwMom;lsU3jC(flx1eu^tXht&=&!QJiebpq@nym| zrK|wY;}e@qy{6eb_vTA!TZS%oS0uG#H!GcVbNKn~(7w5-t}7w9BO7a2XahvZ5-hG}EFe`%;1i+C)qm2p=mW?c7P%Zv^Xjjf}+ z=@qpMqBE+|O1C{vl=RT)S?)r0!E>?qAI5;XuWM`>_a(ofKUfcF{1a*o05@LGtpSp| z7Un4v@}FKIMR4J9+K~^Zi^Kx4Opg01EE_*l-jW1haga1k7K_s9eJu?4kBcHYjB8zR zz{FDj^Gmb`3? z?(Qy&yA;<#k%h$yi$f{yvba-Z@fItvIFv$hcYS>Ce{yFsGbfqcOioIDNX?`Czr21C zsD4F>t%jb@eB(oEU#eza<)gJi#lOa=lPqvv?$q(K`i(Kw-m?ZZ zlHsz+uhOyl$d_1<$)C}zzq{7TQ4Ja&%l*)g{RDUYXR`a&uW{)pwl$rAH*w7V!{trS z+QzTk{I%Q3-Nv&b`JHivR!Is7)*f?WjNFmjva3L0aY)k(i{C6j4j1^*_< zY?hP@KsM?77; z{bunpam6i_Gp9uc7Y|zVEwQJ*fQmjxz@zO4%o#j4@kqNZl;?=Eb#M4D#41c6uvhH9 zOSllAU^zLjE>y-B%ul~oSa+gA@XY$+1f-T}TfUd11aRWJOayGA-IAaVO35r_97Zfxz5+n?*`1%@_;S^%qi{x(QMOWA5XBv_lv7Vt|;G zF+OAu7Gwa1xs7wOXj0=>_az`~vF|5{rL5(9_t$h8DJ38V5@!87gH?Q8Dzc)4Sdl@= zj(9`1zL9_3r^FNu$&-f+OEEtpiOCgOxb#lz@zcYnEt@_++#k=Mdk=|JKR&OCQYm8e-Naof|G1J`R!0!KehVVoGCn8-=bRms&A`D?NA6OdsrbqXt7s4gSsg! zXG&n;Tjs0E*)T2In#pS$BlA?%t6qRR>QMJ^&gI7Ehvjkg*^*EYS zx1E<8UEY;=2%tWw1cJcg!VXev6xRadmX%YY;PK3rRLcrgq>R-zj6%Izq!)z)Ivz5E62om6} z2SByIY9g z|LW`IXv??#DVYy&~F5IbwcyOUj@9FMA%g=zc}i;o>YPq+e_j7Sl))Y8#5ILIC<^ zaCe2nv>-6F9%SH_(OU9XAfq+=@Z`)k8wfZe4t4x!R`MDRYBiU9BmXNFXsP2>afIa7QZqf<9(!NW`nsd%B>ny6t zwy#$8Pm#ebE__~mUsLlWWo&9nuHYKbjc8~Ps&SROXlgKk*Lb{A?w>Tyi!_;LJxtA# z8)JltJ6MO8W|&1IKctb5JhWN37}#a(amF5JKk>se{MjEB(8Sj<{UtpZ6}HkA1ryz4 z#pUsb>p#2Zdb9~#SG&snz0ni=OgP%{X|cY5alF;*@nB88c`lJLFt~el2?H2c4!}71 z`0|;g6S6U_z5H|(HV89sa~oN5tPjUhs1fOU-7Iv;{8n?7!VP^pyZq@zLj?BE-fL6v z$d@1ZmM<$Dyzrp8a;sn$5RI14K+{T$J3-6~BoS9B!+Grd`&Nb7k`qkcZC&CPOeHez z5dqY%Zi0T~CchlF@dhxs{MJ5U`ytO3Ti73%85hpW%uW&f9}R{ zZW|Kyo-7kY)0w^(G!0Q`0ntVWC8)!_ZCzPw{%J(~Yux>bYXSH%S^O9_j^e;tTEKG{ zt!z}_EbCy~2Q8)t$)o%}5WY0Qi0QMUfp$W6whoRP`;g2NQoN)AiI*qG5CL8M&p-@k zIl~2NoH2o-MB#Hq+C`w%HVcIjFg?GP&bd&a_qMUgV{F$TG1qoJFnEdKcC9P_Pugj) zsOZOgU2zj!j^MM+xA0i3rw634JpvP-pDZ}7d2KZxFE>5u2WWJ80eAWlSUpUKYl1MY zg$Nd<1fvLUsiV!YxvtY2d`9G5Wwo^Dq_#Zh@~9xMTie{LRB{%#6lOJ#mFrv?T7H3r zJv|Lv6G)0|(xT|`H_&JuDxup^ufNb$ZzyOgbaefq2r{BocNY=Cgg8vmsOw~~-(Y`2 z$hU~53e>)WqvMB&Zd$*URLc)BEl8AMtGk>HczMDl+$ zDG=ort^#gDvsDNJr{t_LNQy)qN6p;z{+PiDEx*>uI?8z~YiQy&JRa7IFj8pqDvTHe z%e{t~_ir!HiVF_C4DW|m1W%I^aj>U=q&t#Sdu+$F)IU8&{a}8h`;ad4?cZ zoBM|_7N6EKd721_Q2&hBAkK<(DQx(1WzlV^&+YW2+OX1r8Y7f_@WN-#{Y>yCaZYhz zU-;dS`#R!ViPJ?xH|XuFA#k(`u17Rn6Cz*c;O%}4GOa8C7*M3OvH zv)&5UtaQ3;th^-Y5`4$lx zajA98JQ-eMf7r&+nv?COxj1_^f6PrZF$6OOa3u#@(F5@5Eh*hUr_ifB3{xTe?6N!(b6( zU0(_eydUOXgg%Ys&Q(vxH4r*g*$xmDF=rYL2fak9XVAxNRFYRI2ry_nOX9eQCgd*0=r>f+g$9bBH{J8f`v!7|s6CNdpz=yD?%zLaVGBw^B#;FL`$WUYk8 z7rZMs{H{v_xF=Ea#&@*T;8Z-){}5+W%mFB}PT(5IE?McaOfsqjLGm{8EaHB7^bl}W zH*l}td_5!QTu?SZifC-fn(a+(V0~aDF+Mh{$q-SnrY(Qygn73YB|yKqBBx?DVGVeAPtFXF_Pc_8&)P?FE6%%IJ{NY35o z3{YrSezOfr38d%I1SlK)2gjkK=gyb7SkYW!=e7NP{p{yVIARGM#p+VfwUsY~8_ZM< zRcj*Mn|I55-+LGQ46t}>XtS{Yc|X4(YV_sDdts34dR_$xVvz(Z6-pxSl~=2_*Bv_> z!c0nivWqVy>K6zPoiYGa992WHN7PaYjJF|YO zGrrN98RkN@0&!aJagcaX2`?|ESH{Yp=&^Q^kt?%-%dqQHCrN%{RqMuzuU~41D7&lP z4otK9*0KWwQRdAoIz7^c1 zt7BKLL&Z+1{ULk`pLixn=j6+xMg1Tz25iKGg^#r`rEvY$lir1DglD`A`2sfCn%_`^ zP7=);j`?9K`VNwWYK?)0eV4TK$B6onz@oMNUp;p^kuaSt9CFBQ5=&LCK{Ae;Un_HIWN&FdA*glZ2I9>A+GrY@fKxI2P zA&Q%zz!&H#?XK|9Fp0}?8h@4aC^BYk&@Tla$W+hDu@Q;o!`nI(f?q+jihSC0w`W%K zUb=hw%NWbM;TQuhV$=8j{hFwQY?p|$#L`v+*{a->tF#6MaIVOctk_FG9w7v_^lykV zdfZp5XxZedI8UsPG!X6JzrD+qb$zf_eJC-4@z@7IN|Ilj3Ij*zRS~vXqt6z}y5{tQ+4lh0?&=BiNFXhA#xrIgy;c-u1oJ(%MO|AQy` z>>rj`7{M3RF?{_1Rh~VQ5Ve-iiGKlnbwRsP)9~24+Epx}_%Y2FFM+Wz9~-wy&=Pgm zU?NX-Ck^>eXwpxAhZXCIJ^NObB1H1J135`;3s0ar#{wsk(fPZkJpjqICj{ftoaBlO z_4rg7SCqiftt5WsBlnT-dF6kqpXhxq4~Q7M^2#=Fk`~ATiI-+~21kj2)#tC%udvbB zZ{Nmf7z@L``DNLbPKUnD&w(xdC8|gCXJ|&H0>B_4gsg<6Rm$5YkTBvahl{AHGJYwj zbWb3I{BWJ9M2WBa9pQ|=HwX^NA)y=pB5=UITR>@Y=x8mV2YD#jW2#U1-xbDB?oCX+ z$+W*7`^z*SU5I7oHneEGl)I{OjaXx3{2{W9hH>bn7U`hb5(-B%McpTolme}UZC~Ff z)3XizTjF&5YB%gCn*htg7(T%Rybd1}iikroDJOShGaXJP3jzLzl}%8vbB?4_B^bA{ z75|%3hYIl76r=wKN}qA?O6tPt-aDhL$Tm?qG=d&J-%O3QWp!4$&u~9G<;?KB1`8(D1qewdH zDJw%{Zpbx4C|&gOvHBM{ewp+ir}NDAq`LGLcuE{uh^A8So%y z1gXxD8V^uz>=@HO_{%aV=si@_s@*rEF+rb4;Fc{&r>j1ZZvfTwc{Ehl{jHsu)Vt2a z2uD|;xZl>}yc$r6`+a9#2m|k$&n|AHnMwEZFjPW)MOLG28gu*02qS~%%R#UIQ~hgd zeCR-8;DJhtv-9o8(vPx@jcNN?6BcRl`2m5w4MdVOo^V?y`Mb`7EE7V6pM2-jSf}*s za$^vTcgapY^j)u=WRB!8LM6lBvm(Dkc@HnfA*y6NTnSq~_Nq=8FNOUqo&-Lmx{4d0 znXRov!N!Ob8t%BP_OUMhNxruudg=ZGw#$pJ?I@MkPa{$CIANm)L$0BKZsWDEbR5zC zfs(%(6iyPjlZ> zATi4XGvT9sXjlvL;Sq-OAHee@v-~o+c;BZr=+#Z;=&m}J5#QQpHOLtH%??3C)mWht zws^P{0O0t@n8VjTn{%hXu<}g1!8oJ=390~45hoZnJMnFX@3Y#GmI5~1>@$lyJrMVY ziOBcVuA)EQ3Ok;^n9CehU=&+tEe=P0{eY!kbASFXrBUpSlWN6N6-4cFK14KeLAO{{ zfPHvB&rhErQ~$w;q~;806|<7IU;(}J^&IC_frgojB+shM#&^eOoBi#4IF!E6(mM*6 zIK-7><|ZYmo8NC~fCf>PuovqcoiEcGus-s{tL<)m6IJ+$<8(*-LYZ<0C0_fhF zS_&uYsC+%vQ#(-GRmgFDyQ2^)b2M6gn;^vZSC*I9020HR(k-i#q0M?Ds%Sx+&OcDz zkL1LdKmv32f_AOGC;@$Yra7*L#i~dM{?ZHg?}cIO9eoGef#cWeJ8shmqf?EW5S0I! zIG0vAdqV@yqF~l+Ok^=Tv05=ew}2l+2t?Q#|G7i)8znEH&7P+W^i91|x~LdGz2t*YRJ+chn%UrF?S zUPCW1Yd4s}*zf(|5hY3EN7o{U|hVr3LTj$R)pvEgEF6b$#xB4P^dqIml3 zlVoyN&ycs!1jmQ+l4}yTgqn15CE}WpLYr2H|0zS0T7o$d@xMvr2nk}U%^m5_BZ6!m!w4aFN5 z_ErhHP)cV@N=7H*CoC4xAoR5sAd1ot+a7A)74Pi}6yqAGa^AG&F}w=Wo;8;4gh0{7 zQ&>L|=01uc?F-N@91kpWPip`9PWs9sN1%_X8u`?M@SlTPzo{$g*Xq|@_HxxQ$!Av` z*-C6Xe~U6&tX`CX(oiLH2TBYug-hYn>t=Yd3XofZ4RRtbuuw)T%qrNc6RMFdOGpfcBdIGV60@@uv3!?$}=BHP5cbeHsUb7T_E@ zUvq!oAw_e)ldAPDuaK}##^dMVv?DDBY}5ww1~~B}Fy_v@H(@URq<#(P#~OBjgJ!3x zxtx>Vn!rb z7)1Jam!9{u38jI;o!Aiz?O?lvcyV|8y1f==L>7qbB)9uOO06R3+&c~D(ED1Z&_87L zzWVKS{4|h7kyNQbvE)A)UZG(f%x+9-w0d7)pC7<>MLA~eJ)Qn&koQCjF@@7snpCL9 zcldj9M0L$lV0wS!;R@JVPVu9io6>o;Q#@zlZ1({)PnF{>Y2eT+&~hSS1((kj{3xtd zL`xo9V3{Bx?D|x=*qA~0aXDEmU8X{2DLxH6vGaz-8iY zhW|HJ*gh)OlbJ6c$ijtK$set|V0d zKPO6v5VF-ycPv2P^NfGGtsw9f?#SaXd|S`n(+r}}=4|!HFmsjn(c0}7!vCd_I=N|(1u_y za$cECMBqTb?_XCXYRPrh8A0&?YuVNnW=3SlYVZMYW&!S4L~IuYa7K^+sTB%qC1y(m z%b+J`5yjIsF?yhE)JUiUeQje3pQB5y_nx-69Frg023dFE<=Vd6{WtnB)6TKY(x&c& zCHdQQFC?3ow`pulc|6MKgYwu91Uw&%JjpvG%$A0DX(cSFt9IG(MsmVOHvzjL67E!; z2hKPJG+Mi!{OYbwb)Ytd(l01@iVvtYe9TVmpXClqw|GBDF{l6gldG90ESa+b$ zcHKN1sgzUYH}gDyoQVd>BIFzi*M@pBn^wFGaOrBT!j`PYu+v|eFvi0-} zM*V9tR2*j+kXzS-z-@0peh-R?jwQ5Cd53N)?t7-qm$lxk#S>L0KhA6NhGh%UA!jxg z!)K;Wu5^J&@DAc^!fk9w0gk8){DjHw@`REEVN3>*dJyqV7sXJ(C|-T z!VaG{h!j|ziym3=k-iwDgUt?TjZR1Uq#4Rm&Eb}aZ{CXfEpo7-k}`>;YET_}pX8 zfAYjHPEzgx75s!U{NfxX0?~l!m>Ph)Xn@QS_s2;}lh)GVS*L`8pu5ew@9|sZPlBx) z#y5aBfRBBlWU_N&nH#@trg1Bo(er*cc0Avs3ZzT{U&RvV9?G7gA2r0~;E(dsD%`Qu zgWPm8y6NuQO-PB(n5`sB5BksK5iP`DXkPBX-OT@`ahJ0Ova$-f`SHr$`wTWUlc02xe!Ni}6Lz@qo- zhXeFcEFr>vOH+0S~zr%51fB;$JXgq#^U#9Xm2<4@gxr3J14!7VAdbH3 z!}k8s?sIGuNlklpYQRvgI48;d85j4N49D#tN9Yq84%!p68itYt;sLbMuwcyTnK*Lj z*Cm8@VV%B3wH5Ry_-gO7QL{GBUs5EjbiCeya1yeS0ZA&eGcU*j5TapT#N|eUaYO^k7_u&LvL6%)gAw)y>KMP1i{sSX2sJ8p0Fu2e z3`&F51b~D(B8LUY0-wlP@Bx&QU^zmBhzK#d4AJk`(YHT#Eo|``PG^hdhK6eZ^W0NY zQB&HfcsX~D<6BP`IT*uX8bEouL7Ysfc?r7Mpjf!825olkSbK^1T`%!*4-WzNyAU`2 z?4nBIIboNq6a)^oa)8;*!&?@)nVp&-<#~#WJgo)7;pQ8E7VnP|tAf4tI`ya<*$#Az zEqPSQwolDv#r&$hkP)8V)2j+>`NU+ShxrIsOjnqXNbx-a83~rzB2zL267#9s+0QlVNb4q2^Pvp;il z_*VY2z_uU!_3PlQddbsUnmDSa%$?IPOJH-{kL5OfL!pm3SQpH4wV1rG?QPDVjNGQr ziRJXRJxX72Kqv;ctp5Jv+|>Ct89;x5hnNYfvci!rWUaQ4ZqJbY#(T0f|D@sj3wXh;ZjkP;7Y{*f`*$}X15-YPRzTm^Ljx$E^PIK?Jz`dn;W z^jBo^zt+YWwe^zzbliayGJ?it*ORWs#VDgyHDxL6FStfA@yTM{*7fE{-E>x3z5kU6IZ9su_vV_=IGM9Ue?)#E4~dsC{hvhY1HCgMu* zl3B8D?Mq`_Hjgay*Q(@4Tl7?wW!e#FUc5NN5S_is35H**0gswVvEMseoZZMNq@Web zsp7w3^V{d62KrupWxl#j{ZXXya%IhF6RHYFvNAQ-YRYO{GI603R^kRKn_Wt*?PO=d zN{SR8755LSMlRc0DOhVul0k%W@vn_<3^0m;SxP5M4HF{_ve?xqabJ<@BeHlI;fyX?}A+!x>_wBkh zpHRYtrG$ObMcdBxj^j&)evKuwy!xK+_XN@kfaCFA>VyS8;MhTBAbi`3W*k34C`=`95mnKAVBz=3r1nc|wmBzLhIWyR1WS!TJSO!o5(wnuEk2+=mjz9e7FDiAkHqTZ1tlC}$kVSx? z-44NZ7`uvOjd_O}8TVrEsq%~~K2E;)=%kn4lKw||Z+>)uK##ySHvHII71-lfRuVo} zaH7cXcyVjxL80(ZyEX`jPX;;zAGcgG(~Dfzw9Y(xJE~h(IK^8KjO$;J+e~;%`2Uyh zRA;9a{!Q$I`z$?zcC<$Z$4;`XNH}%%V%r_nnARD9iZ%cA(lihZAYzbc4~z_+g?sdD=?u z#u_I4MX$}9@Fb(Rt|_dp*d*)kJ{Q(EY*<6}q^vsaJV%`usdk)KENU8eJi92n<3NNa z${GBoOEZ?GM6aKQmM6hOdbF*-6+N(aGi7Q?P`4%E-+pWU;044Lh9#3$8M*p|w@4Hu zDNMq$LuP?<(GMsJL^_zUm&bl*uYv$K2bGv>bO0vKBc@?@5qA+>P_I`O!n<9~0e6)U zA8I$q`ChGy(NDR+p?LUL-jv~G??!c^=lBNz71zQ@9_afz$5Tr}U^- ztr#yD4{3XQFF$i)W5Fv`hAjGXjM}b=p-v^W3Tfv%7q3s>T|esbu1>HuXrs!ZsE~Zc zWMI=OLTHDpeq6N*-&-g)^YRJ5T39eRkjcsK;QFK^r$TDln9w0@I<~qoWnOVanbKe7 z6ppU!P4MBn;9pG|+ZVDQ37d50j_*TmObEA`;^>i;oy`M=5-`#Tp`VSQL}HGIv2cLb z-0Kg)4%5r+xX|;{=_#$FD?Jm-pkvyeSU1Oj@(9O2)@2c&xkaK5=v?Lgr2al~EBr8L zN}O>-%g%0{W`o@U{fmJ3E+S)A#%V0(rGUUmEW_cj!buhK?aQ^;M;-9B$Lr-4-$&=# zW&^98;ObQZ4Yukl!6tbQQ(J7)J816Qc&|O>NUYt@rgvR#EBQxXk1T!_cGv%@pST+^ zy^%o3mAuXo!x|KNAGHV5$I~BCqO)!^cE|26a#inG&s-GqT_?IG=L`d1kaur1f1+NQ zj6aHhOYRAHpHMj)>`ximT z(flYV5#p>uposWgWQX-FUB^=)$CpR*2V=`j0$$$!^yv3wv_(K4*088LgW0&Es5ULL z@+YH5avzuT_}acnZvJ~gO0HgN)A`MrobtMhG`Ny}&Vqp<&UPnz;QHmwS0I>x#Jcx$CR`S^#*j}1xpt`(bOXlf-*tVB#>C*hBCDvavoEyb>lBo zWj9gw>vy{Q%JQ1Q7Yf(oSFryp!u>!f=9=aoAxzo9js@?dUI68G|D%^}(_?ZaK!416 ze$P`JD@5h$ZluisP3I}fz-qV`BeqajZpX`2GfPz1>=)Ok&n@s-;;F$E&JC*y6tTvLPdfFFfFm=x;_M;3t69bS{Pt7G{RzZgZOW_%%!ssx9bsZXrPIv-ZGt zm99=Da~hFJ{QEdP(h8Dc(ES^eWpBI}C}$xk>LF+TTC+j_7VZ;QnpGW~urR8_2)Zoi zAa{X)$#=2xHY1CpzbjthB*Tgb=sGsK^}MLIim2!)noY6aekmT6-Ilns?;=~h^13E( z+)BK_ceC109to=jP*2E;5r7`@KhKjsH)H@D-b|P2rzle_(-;sX6bg9 z)7F2gs3%sn-i`GAdIh#Uly4gH9CnHraBTa{=hvWYP=h+$e|l1b(2`S8g+tO(@jCaI z5oU0uk}l*qhA%Gx4O3ixlGi`B(Q73+kT1)jHEmMs6PA|6%PZe^JT@hzu1}4hFrQg> zcLkp8TAP=DD+JWV&);)FM5rN8M0OKbA=|Y3$Gmc^}RIIy@mi2?x>ZgTB zx|=@q0h8CBq@~E&%gjJv6~h~i?)&Q2&hTw%*DLn%U=>=`AthCLmD!Om%;OFnp_@&| z>-fp>J*ubV)ppnVlR@0&l^~O6kG-*%Wt2$_75}F^?mBaQ~B6m@7a9SrR5WqV(nySs>bz7z&hvO zHP#y;%hmC9_2_!e&)H8tkx9Iy=M;i;PR*>}6qjfZ9BB!ot@9XcG!l3KnVAl`8KFPdb zuOxERhIYOVrRR+uzJr*mz2A43W8UW8gGCF8!YeCB@~whI55>DJ4zOmEGo#nfl=ANC9pC{$+*v1bA{&(5|D4>Y!;411h}+8$67+fc$J!ox21zxX`d{hECQ+#lL-f*P(Q72pU`7(>QV$5-jxTqkW!IakBrpc;hN?Vf#6azbldt_aCFeeW{e1i2Wb^; zl+4sV`U$M)hb_4XwkEVTzRvr2_!;13_@=P~l=0{{(RFAHl7jf*S-2G#nB!5DdZ`jd zV%w|4cIz(M7PH-cj>G1OkB2j+Tm8#eVB`CD#}5=y`JU_PxFBRNH60gy4eS}Z=@>rJ zq}xC*ssz%eE!bnAp)i|`i@Ih9*w6PP2Ov=JK8zFaA$H?>M7HDx1>uBQ*-_N5AWBb1 zdTBtKB3e-vb8kPnPf|MdHLq*@Na#>qbBV;&!&jubpzxfC&M)lgiBPU4{Orh>7ZVqR z8!#IIY3qm21IzINQ#LhIOOk2D#Wn}VVLPsxOOGXMu-T=97e0i{TROj>u%|zN|C%B` z8cULni0$d?#G(&1YcJ`xDglM$-3Df0@Hk%*cx?PhZJO>ELC0_2b6DxwuW?a;nfvkI zQ#}8*ezoFLF)Br-wUnxoT0ZJ!B9I;*fXAW0OtXzbnWyL#5#IfFA)uP%#@BCTa|{Bp zAPO{s-wrEi{O&mZu#Mv5h@d0rs36<1Go>5Ij3%Xaa|ZDNlN837lkY5Pydu7(lCI?S z5QojXyYANrio<-<&}1dia3}a(pAv9Efyx+r3%_BZ>LpPb)BL!)1l#-+j3_9fKIwsf z{$Lu6o%OA{3AXy|$~}@;!*}&cNJ>asyuJ-qR^u3Zz-VL~j$51ag`s4jM460528T#- z40i(NpGRRsDr%FPcq{3`$&xvpH*{!+j4XGAlv-!g>kCf!Zl$Oc8o`98;QaWROsXt_ zsDxQAR7`E!@P^hV(EW&0bm7QtoY5q!2{MqUO_Y7HYVPnA7O*O*q+q;o&5T}I%%VOv z3@|A%$q6|ReLswhdiV7+CB5)XWbk;~(kO({;<4qeXYl3{Go+2;NOnl5zF_Seg&YnK z{59Yt@x}cza{r6F&V)=68D9(5E|iOOMQbA_Zd`dU&Rl!`!4f zW-T<-nb2c3r%_i&9)nN|>S=b&t28#wq zzwQD19Vq->C4s_}jJiDV0Mwf%W!hr;Ux$h;l}Sv62>Ch@S%p$@dWb_j*i^ietk zI2P8U*%*5y^nO9lFHxk2zkZ>6=+vt^Y8UYNhpTB`h9x0;_gnvzq>BAY|kkWE{qH)#(f9z{6We!TbU9t z7eBtV$qdp$;$sVflh6ilFHT){Fpmw^ohJ1vb3_P2HTaO&ycJU4ylqUL@ZU& z{a(_F;ibbWLWi30T?&~Y8b<_cu$;sy|7XSOGNMhob$yS0*(4f3g$vr2?oq#&;X7KT`x_$Y8hi4PoI?0sW>pI;Zd4K-h(k;dvBSv0fA^^uPorG<-aAy8=aJ1(n&QHP2Gz*wJ`KW5K`|dz;XnuK9e% zqlx_Vw|T{Ji9ygs$|f{)8*BEl7_pN;hiJTfa{|={Nx4A4k=sn^EkW2oN5OUxE(7hj4a&#S&XeV|3DpN^h;vMSuSRtuEbMt4U z1&e!O&7FwC(-kS^_RpXW+C#xnzIgo{H$jYpeVCl}!Dqx8%vDNwnTx;hpiy|VN*U6W zMm-vgh|hI3?330uQcq|C0#?#LKBwFn1thC`1C9`Sx2jpX-ONWm@U-m@9_k9JCyjid zX!qG-#}U3B4v+rb{OchwRMFl(kvu7=<%QWuWQQbvysFjIW3S;rQ&1yc1ZhZv@+Ewk zV0Z%b?aM=)ybOxNOTiP10((S!L}U!J;3=Nn2M_ZEWInp6t9yax-k*0%XwjmH@jW0GtWHef zZ0%*?Lo!~7e?6ypXB3At?2W5iJ^}hCRffK%`hs@kBftQb+t3Y zmtuy!*#)xR$qb#cS@a5)a^E$xa;_h5JdutogRh!HEIdRRu%)}~bZW7Gu5RaXLbSh6F15@4Z%hMsKM5x_tJxvY$#RTivp3N0{?evevtR>dQH< z#72~g{|+1`u4dmmP+4?dty%`GM>6c85)PIiF#^a!NZnWrP2V1DML3mQP3O{TG9T}O z_N74D{l(G)@D+ECT!#%ZdZd1?IV8VdH=AkB)b8XpSlmVJ%7V9+IP~`vQah$5@(nuN zWos1HNLcb|0)Ef`PExuK6%sHU*4V(~Y??Q!rPwhaX8kTOd6L^HQ_YB9O?eSY3Q^5$ zV19s$Z*Po;)% z6_74;D>=I6JG4`_+j7iN&=gl_$3iLwU z=B!H?pj(XrfP6vXO~$N0WGv*d?V%&26J1%AgxyslGD}$p4!5CUWzzr-oD$i<1>+$i z)5^%oDFzDPhFg8h?G2`f&DduQ&EJSv0nl?Ob8p*rf*r2Q*l->{7{=zuGY<6>WZ+)l zd)rykD)~U*bYZMwV_xr)29GpW`%qMpUYj@<$co+M?d7u#ld~@4j7tfpWrz6J>=l6b zblUbBM6dv!H=b(6v;b~MDT(Wqh3}5XgpO;eho~2AFE~!y7X6832@j*5OE5~zWolr59)6rsopd-Q}EK8?j;U3U~eD@ zUM`pcKse5yx{bEO0e`{z#Syb4<5w=lIA@%Gx}K0@0;Nq8BXo|XHU0tS@!nJ+f(IHf z5e7j59zB1_J?hB0tZ04r8@;@6j%{u2%%If%0ln`|O%q>#z4}Ux;3t`*$G;F*N94PR z%H-%o*{HK3!s4mK3XTe7+Fzsc=iyTKK7H4UC%GouV^=_2qnzDwaM==QiI&L}g&XvQ zg#%^2p2BbhHp#>mYbHyesM?Rr3T60P8V}V8x+76vqV}{<^dHv2R}gDpmjYABYcbM z-v$JkgMC%uN_TP{&eni&Rv>PZ#N*jPGYz@QO6y=DzA;+5(;+UEu0hb4^`C_haxpFHC!Agx>${v2BD!Uex zFVycV?aEP+WHxz;JC1iO@6vSrY&wn&Hb)qJBCV>e!?L{iZ7hSSiDmcLBz=VFLm`4Y zq$;1nUOXxBzU+5N&&@C~`AXlG6))hhwHQ0S<)cZp1aUFaKTKu*wQKi}xe<6uxCS+0 zl|$1v-boCH!Q$^~!qMwaJB<_tc0PrQ-8}))dH55*{WA~FuOquKA4;O8&J3`(+rB{G zINgeUrY6>NwR4q@{V}~B=OKvB(fd7>Ev`-7u#>BF&9w71x}yF0cK{K@#R^km!KhSi zhrm)?j@&MM^5eHwakSoqWyPdRdJfZ3 zc#_8Iqqmui>l*)JSF8R4D;z&fnUltmSWaD=`kdRzKU|C-nA1_b?rPg}hRo|`L@_^K zhTGEBj5#IXailGr#+BfajF`qDlkf} ztRYYUNLef@+0Lx}6bA>IfHRyTK9Q_8FU7z!cMYxIPjP42sS!8=WT1XRU(D}YU(3S+ zjNGwcsn5jKuY4OihP5X*Y?{8ZDgA;9xRhKi`nqux0Mm3n);52ve$VOyvH7#U8?Zz+ zN2rVA-Wb*{^BH)Do)t^>9~Rx>Hez2BDkLgVv?++1Hv-n7 zCmv5%VTa+2yfnM@T}Z-maNofv)Q`HU5ZsN3-(y-jp^lszl^?`a{+jk^$;&#TE8K1` z;&dkW6XnxBr`=)`8NLD;hzAwNbHQ_ijbPE)e*i5v^-_+XPjiOg+gDaVcOSs&FFeoO zwB$|ok9j!UcA2lk+GqrSdNm=nF(waq9jvDj0S@19{xOz59`c8{+ST~QINa7M{;F(s z>EuTq?@KmXw;tx0i^VclBiz5kA{Aj@uOz2tlS{akz8wEQr@9lV6!_ zhFMZGV?YNH7QbtAR2Q2Gv&zB!q&5)wL%9;PgQ8-V)mRK(7j~hr{5~9GnLvW_vXGl= z%B`iLv-Ri=-XFlEa|gM&4=H@>|8!xCCl!Zq;qgl!^?=)0<^%a%1;)PhUk_rI@CX5NW|$`rWP z(YDZy4`+iZiA32#ubWuBj`pCgo-Aed?Lm3=7Ez-5Ox`E zdgS|PpKsn#=duXk^!p8R`_46j_vh`YFBe<7KD|{3H3HU|ja4>Z9{009H$K^h2}R*x zuCNX##GIFx^WACUgJ0!>aWt6Q)FWSrvCDG!Q*)4W={OKEi&QEnOoMkYn7_eEzif)F~(93HzT4=O{#)Ij{gfP zH`T}i#ddbwIZ3Y=?1FDHP=+A(>I*J<4JeieW{(BPXdxq!!_*_iLdrjcqnP)OPpoQY zoAq#ECK}lcKk3tX6YB0GPU)r9ydP!ziQF?>F16l~pC7qP67QQSAH`h7q;$niR#qqx zplB|oE3Ua?&Wd8pNDY-X+!;*S&LmI+=0jMPdHY4htR*>HA`O`yyuwuTn+qyTzJ zNBp3Lj9SRmVi;}pis==KGW7aVM)$vb`g}hHC`J}QF2Y$ENTwY`OyB}c#C-!9qZkQ9 zu~ZYY7sS>;{%~Ixkn;4>Ea^yJ42O-d={dXma(_ykvxH{ShGKZXld9N ziaiH%Sv7`U-JnIQHG1>iF?a&S;*!N(n|1<)e1trI^qW4ykkOy&`TO3v^ws>>UVAE zgu5Z}#?1mQ-EYgULuBZcei2cOmQk}As>Z5Ps2p>c_wP0)!p%kLTa$1NgtzKnEf5H2B$G}| zaLpW65Wkx~i`)PI5$&vvBH3zyqFHo1xtY~1tOIh5D3u^XFK&q9P9R|f|CJ~;9^J>e zBitBCk0@o#0u7}X443DD8^TQ}<|zF=nq`Z^Ow_UVcJaYhm-SPV?AFoO3oxKEB@@K} z*=yje@9Jd8zL`}q>zCsFDl0wrYX>!?=q2m4q@l#`!P`$D)OhGs24dmZ^Jg#R5539} zrP!s^i=L0w>e||x_bee=lunviI%yJeC8%QvCR(VcRwZ-lfqj6bSSY#|6)%-ziE{F3 zum-R)+lySAICc|cHH#$V@^(RlYIRstC<#1k;kUZ_0}*%ToA*F^xOCL*4l37PYD3u> z3sx`G0sh-{C?>3dxMP^YmND%5a(Kz=N$DtFtj-cR`}`g$VvdT)!&4y|2f?~NT#}Yl z3nXQWQ*^Vf3q*Jw00Ha13{F_>jFP5olh&$KHZoV2<$ldY<5zyoVDioK=o z{8~WeUu4HphM$U2YQ$$vFk5EkW6eCiB%U!9?9_X?fRA1P8bF3&Ob;NQwSJs*y-lm^ zi}hE!{d-GG_xf(*$@NyJSS;xKZ#BpCYPE(?-C!_-WYi3vd7^1h%Q#O;=N-}v3dJPb zTuCyPky*=u1Z80>$qM@_J`wN)--#PyBy2GM}B|5)aj9wy_4_~Smc>H+i?SLFx z&F1(0L+97YlDDZ3wN$Z{ZOu`Zx1D8&d%w3dG`?ALOS!kcz7ETT3Cn!o-P(yf5mZ~fJ(+DQ`m?PXOt7+EFZ;4-j1ao_h%AHpXF*;(k&aj*!vQ^U(kz! zZ3@HM=^ndZ>GYjq&@aI9vUdN`WbSXS4|jK8ym+CSSea;WN@Osg!fLf%)wsG><5u}GNG2rLHp*D}~egzzI ziiHhR#a35WrTecvv#(Y&_RQF7uF*4%W$~6%W{%c|i7qAi|Hs)5XswxVuo+7=hmAno zV)OzvVDh00|Q^!-K4Xw-$Eh{lau*xmT!tsmhyV4<~GY^f{&@PGsTZSuX`(z$NLS2(K3wj@EZP zrsGn5F}QjS#1gP+LF^EkTK(T;<{g+>Y7(2howe*lsKw^PwwyF4X>FZuH?=Rd-X%MsBWKJgE66e!|nt0J(~|nTF2xxlA+d*gpe}4kipe zl0qw54<7o5jw7+sf=c6BcN+W33%*uE6QmJ24XqK2+g;s=U z`z6gMbKHicvzj@41%b$-pEJf;I7)DlnjZpQ&YEb8&#$r+3xei@6W%N85g7jVEp>=-1%@0po>-Y%}s z(bBe137D1k@I`H(>6p0WM4N^kr_~UPT`3T&2-}}Dk(nK4Qs-v$HN8A*oVlZ+_yV76 zDa3QnwpOY6%JkKA4CBCVu12f=#c`&dA7{z9@?50u!n~l1Y&5)*m~9uMS-Kby_Jo1h zbilz3F`Z>@24$U{d36S8ZfUrFe2@A4ZUXm@>nb-G^+cQbu4=j@ybJT{_^R-_hKqFq zu^og-$2NR{SlfN_I55keX2Ds2<~;!|W@uV8_5Fh7HTMX)|5AKDwuO}kqK6`6VO}*| zcOTzYc*VMMDYWfk_+3dDDT&g;;w;iqxbNkeGRFT8So+oyMAX49w;(fUiET<@es- zF3>WtpCkjSB+L7XUei-|K^K+RRyN+q#V|1}Y}yYYwl~C@cBf9jF*Xe|2G88j0yIlb zXRX%d*ue*l-;?+n6liVJ_0qkIs=klLth_d|@dk+bsH<66jTp5UfN}BZ>*tKk{7XRA zXJ%+_X+mv`wFK_PHff#v@tTgZq3z>by10IYQxK(fA+s$6T3DCY^AauS}%SsURE=0NYSh!MXnrl88m zGOmoQuI@_j8m;U9IAWfYlMx1D(;39}9b&}@aF%E3XRRLqW%L8+ah}Hvtw`e!?OVV( zfHW`E!1XJmIy?SQx)yvHUJOa3cTsrVS|H{oHU(cHvoLYgF-BDCAdKBdm7m4GI+H%M z;3PTC&?wPh4S||_8{maU{9PGL=2%o)1zCl4F(Lt77kJn05R<0D#6(et*egx#-^S|9 z4zU6oYq5K6xi?m!5uGBf_cTze1GILxLczhG6}TmfV^nK_Gok$J7lEZkMk^cFmu6g)^jltKnvZBMA3QvM-Ni_h z2{3027Xz_0Yk_^?Vr&I*x^cx;htpzdkVf`Qq}4ez16PaOx1?`b z33D}d3+O8tN-UK`Ra6D8n1v8p>?)EK!z=qFE@p^rNtAe4vN2rj4aBSiVv>&g8FD!$ z(PNu1Qqf7=0%+J>EDh8?!x^pyY1!IP0hzvT5|l0{D;Hb%mdY)+EoM;`)-$YGgta}ajjgSDo9&81TA=Mw;xUl0l3&49@GOxf)A|qCYRwTNQEm#vz)Zo6 z*wGNnHU?r59G7)j5{wbz^fue!14Dk6YHcfH`{A?&cQboyz%luOP+8ESQ5+$dGOub- zIaP4gz&cQA1+wOzzT~}?$8(~rT?`w$^iPOkVb^Uezgnd5_+m21aa_#GHNvKhDYU&A zZH`+)&P?t^-4}5u@cgKv1@vW>U-^58T;NMfNHdkW|OBi=i~)ERn&qcJ{eiZ#;E{F}&Ot~ur zVnwQiF#u!7kS~dWj~2&!qFc2bF>K5bi>Y#V6|s57NR@e#|4}rw-`-JMnLrF11F@@& zkw&jn{K?1I2e~_78%Yn<8C#b?%rr(!njj`>3dY88wU*Be$H$lryE9 znHh@}e*+B2(0RV!s6uZV!WcgG*oxoZ938QhDY+PzdQFT;4%P^<)BVB}e|?1u7`roN zY<(}r)+P`OHinO3V$&0MA#5wg{D>a=vTnX;VneLggikx*0v&NN zuAs@+3mF8M3L-bl3)Cl zn!nHUznDM_AFCMyF?8m~eGHK*ov{X4=j*iuV%S(@>>y1E%ZTaDcCVVTxdW}!F*fgL zjC=g4;|($EWX3o;amQzsAQlOe{G`gjneQLW*8Eez5^ij_zV-NX#@)rZ1CYTOh~>*A zIy}wCnj&EF-`0>Sy)Al|yzBAjj0YEcM?F?DW}QeFb=I)uQW$TjWK4>ga-HwO9>0f+ zy^|(0<@w;TgD;p3v!x>@HO5@jVzrOuQCj0FebQuohvy8HbG`h-LPzt9)GTQLri^gs4FlwclMD2?Z&K^YJPkSCB~$XDuK+m zR?E580zLjbaa_#W#K@+pQaX2VFAx(rYWNtRIbCCnl0Rh2-u|DKT@1(~W3UBc5au%y zL+xXS!pEA60ogkktKKO+{ycGavE*2swuzfxLEOB?S z@tUUUFxXkbymv177x);Eq4scO%QD@Q_0#hljeC3*@#tchS@JRCCToje3?Hiy%QO8b zK*p4w#CH?>FrhaZ_xLK}wTns7$0P@{X2nJfmz8IP$5oe^MWjBC(SU1pbS5&#Wf4GD7ov9-9e8-EY@R!46-6%Es55Q zp-kCrnAOl_b-@0iYQ#vXHDh!b!C3pil4OZstoE`Eg0#(Y)VhzYMj%#k24f`4Bwrm) znsg&8q|gjw1CT9IBd;|8>n64$fmkh$yMVEM1=)D&z8M)dcE!l7p&@BAWV#T_NwRy` zKNg79gr&)gtbtq^P6UCm!pQdXMi%HocvS^gV63zClf84vaubGv=zhSO_0*#bJjlt( z{&y2vLR=n2VbLKmaVSpHLXVFP*QIA6+h>p<<{L{sH1bT5v2Pn5Rv8=9I3SC7l_PJ! zWd_e)7Ip%GSc8#~ka^W6ua0dkMusTsEp-rE5Ef*5K`ZSxgChd*;2uiZrv;Dt$92W~GvZ^jq6BwJJG*e!VMmE;d5e8(!SoN=m zjJ*y}L0LuYb4@D5P6P+k97jlrlJJxLzjwUd#Yo7=`IWJ$*VM3==?a4^q)(rwbyx+) zfJ`Zy7kM6+i=85_E|z#5;$rG!AJ)g$ZvD~})XY<%2r@AgG0A*piv zf8%&YESIK9ma^t_N@K|&oS`O)7`K=vWyEr9g|YnRA=8z+*JP|tri&axL5y|nhJ+$x zK$a=7j2S1(e?`W|s&cvH{w^s?;|$8k{V%;lxL6g2ZzYUXnxG6+8Zj$c8D2pNFOwlY zYFcY~*+tol1Y-2Bl2xe0$AApRKm}RI5R7G-a4TV~%0f0MQkE_^dx^Y@rO^#6X@)U$ zpIFEl)JlXAKPv% zMP|(jFc_PCNb*BJ8{)0(Y8_7`zUy_PwH#!w)(o=Q^=@D+*x95xV>FCT98)2?06UFv zF(8Xd{#p(7;oEy`Ynfw+dqD`u7*I{K*h(3UU5K4U1+iP6JYX*Cr?r&JojJkCfNaan zP{2iV_$6fY`Cp8kO`7g|7c-a{$TB4uS&cSh78o17(ot4yk=~AZQ`x6WMK5{HJx7de z--~MwWN6B*0uUy`|JD8HX#T3AhV74yd&E+iS@Jz(0Q11f zhC+dC@!it^24)CTl2H>Yel`be0a@So@kI2~^xNv^2rFFj42HZ31k>q76--37NUEME#j3xUxLh#WZ^sDm}YC; zzm0ac`~B91Jp}mCp>aiwu{<8Hb|XVe$ndjxR|wGLJ~s~#;bi<49OBjDT?|Y@Y)k#` zx)|l-Tx@fT&sqLbKj&i99UTX;MBmpJ6^u+M%cCvC$!^V~DL}@tjab6Rwq9`%NHCJZ z%6)^2^@G&K$O#Eh*RDPvz`7VAiFVx>@0|-B6jv8Z$EYi^j1|!lQ622&Ni$BShvm>L zbRA3eROAy>)Z$`#7VG*8o_fkXs#_oyq|S+5a0H3R3JK4kG;wrrd@o|r2M0A98RhznFEKd}prrE$Bzb!j{?9TH~(u_nB5Y7~4Q z#(*pcCo9R*Hf0QdRVVY1v8106UpdFKz*841tH?E`Smqo>D-g9CVi)|=xY?hB7g2)_ zh$D|!%rd}B9(km!>lz^Yx|7w-JY*_)FB(n(jVJY9tc%$2Z@5^W{!JIl>qt{l7LdpI zQ>L|SfUJqJ`xaz;$kU6}_4+br+hb*QBk3h;hK#cS7i})ax-EpX?e5)`5j*6$rY}OqYF;|6aJyMJmjK$iAEcKH!P{{mt#RwV2URNduk1B6B+y%8A)sqAsGcO~pxPYlHV zl92(Lg=~wjI#x#*>ln1srg!$S?o3Y$#Ew;DOj5G3xy;Qbkg;x4TdA#O--sFGHQqFP zKa-CMVt*PkFoQKH6UZ!O&{gJpAxl|r+gzULN&PXz8d}SH{Ew40G?)4#TgAy{M{Z;6 zR4@2n?41jCn=lka_rveFJ>CD>N+rt|F&%g)K%F!rmw*K}h3nDN&;F7U#4dwuDAHbT z6b#C+v1N~UN+Xm-3d-@jZn@T{LX6Tfi{TYsaVyJ&4X*?~bZ1$>x(cvw$QJr!h)GBm zfGir6sf&RclyyemF6Q*<5EIA}V*$waDSOo>pNm=nD;vKtyILSN&B^P7`EHPX5Hi27 zw=rX79%X1q`2pG8gircu=+m?8~ajE#Tzl%FA_sv2P`TtS6Kcf{mqzQq4ogH4DfPF{&E zw)gX=3|IzhITj4UJY>%_fY$37x`_l#{&*i7U(?)qcXH|yGLt3~=w-I`ws5Sl@VT!x zsCLGqAl6R^Y}oesu-1>=P{xBLWxz)2#0D}r12+r|VPz`!J)#U$wB`g>DZ4Mc1q6!F z0i#j%uRmY1Z~jCV`{QBtFRu+x_ef={LMFt37RWh}c+UKw8*LIYS|8CQ##FK<<--+~ zcAes9On};H|5>T9wA?Z$^xQvKtgI1Y~i_gdaGnHr2?sEP)HSE9*_j=6gv#K6eUo?O`C` zshA3nc90|7KgY&$mC^uaAzRR5RP3q%1#APDfnicIFQ@jAZ*y8kdnjif)hGE?Fv?tN z;A(l-yV$J43xFXY>zkY`VI(#No@PMUd631w*xEp@Qx zW=csq$^K?#Pr#;W-pHrId2wz{>beTPe=Nct%G+R}c`9Ov+l3v3k5R|~ja!Iopp>l& znV5Vqq6mSLS3?oU&JtN6hQkhNVjU;WvE%y*XIWTjGC@V5de z5+g)3g+!IwYuHVm#^A-ytlfwhlJSdSN&6GR&H@@sQowdJ?VhuoAqIwkMwAA*Ilcmr zbyXW-fGPvd;Ey|KhGSmRIMQ8*7*bD&*DpO~!-p&^*8fXD)^D{M>o+GWWk~{(RR-*s zpH*B4?#1lXxmYEohrzG8P`v^%;$xPFB#^a*3+;{i0OlF1OLQm;OnON0B%oUP+E zUuqWD!LwwK=YA{K13NYmy~348lA<5-RgLnoOyvo-cJmRfOQOFW@4CsM>=zX3Il7xhY6G{W!vsOh9J zh*?YZcUf4rt2A;%VzYQpLdP;9sR3w-Irtd3E)h<4G33plI^MlNf3(0HoibRA4~xe9 z$GTS;z3W}9oj1c-x8eb@*#?;B&iIz=o||y7*X^HWUCif`>T<6ni&@w$JZ5fuE5@}D zmevfJGDcx}0%WmP*$(lpJB<`Wei%_kLT*09YE&^I*HTpsfk3#~bxSr|j-)MY7qEg@y3sZz#q))l-WHZX z$I$^ROJL=Pm!nJiDO)iU#%jozd#u1Hb;Vy_bMytB(PMMpHh5R~WLowI9fcqwtm{xsY&Yr|oSX#ZX)A}g2{v};yTy}UMF*1k=G|l-_ zT;gipGvZS}w4k&59Lc@E{-Q5c`?sqZd!)B*+5J%duEINqw;2D%biqE97%tK50ThA{VHd?IS5UpMZ zbXMEj_YcHwkg*GMu5`yP2g{G+T6^y6%{WmuITa7t0BB0oeiLUr9?Brp?FR}) z5GtLkW)O3qQW_dS>>ll*;@i&F@_aSxFEwERLrB;gBi;5x^T0}U*KfCN&k39tZX^u? zvD>u5L_ss-%R-b*?RuE5Rv1z#dy9bi)b>sMgaljFkiP5`oywdKKW0A3q+(j{;4yZB)_X#w&7Z zw6k>;EoPARA?sGn0;@PoC$k%}LZw!?Gv5=|rzCG3LCZJG--(z)mI3=YBNh&-9zfAT z8gyY%;N`9ncP4)z7N2;B7wTBckPS6yJkjuFd;V&zTlC0ZZi8k`bxue4nkL)l17i0J z!Wfw)O`c2;1pt}h|L3Be&KF!-w_rHc(>CGvOLoUR&X*2XEidr6= z4p#)TZdz{Kx`9Du1*m@WotoIOh1nNg<|%VFX3q@^qxcpunj)dUidZqRAk0LW&WREv z*)<2tBxDfQs2(%`tVprdc{u>rI!VkoHv1!)NX(8crsjE}zmC}c=L0Z?WISatPw4S8 z8VGfT0A~$~aP5FF{7e8VGH@XX8}hANHWQNiV-r3IW3Z4QHLV!kU$<0=9c-PFk8VhQ z-e*?EMSx7F&Vt!o^`N){?;H@xPCP88E7%dTsfpkQ9O0_DUm-!FqJ6Cho2WD_02f=U z6kNpC+4%(4HDu9P@-s_631@*&&&4=v7O@bBIqCgm?iC56Jt3HBrcS8@I^%;rOj*!) ztvz$Gm93e4-BPKQxnUrQ#}*VIk%7kn-x-WqBQq|>YJ(F2124ca2=d(r8`@exwKLKAqY5wXoN0Tvp24EO4P$kxTy zO~$3h@`(`HB>#z#1!2@YGBH`ZfPigA9rml8!&uJAJY{FB$b%?OX0%I1zOK{fX+N3@ z#1!Cy*ou}dwVKE;|JtKPkIw&<4mZV*+Ov@DNdox>v;tW9MgW7D_g}85~zA`y;Y;;Zi{2A-+0xmf~$Sn%NH^&-y)Utkv7Cq3*YwnsX$e;e^feRRhLGI0HV7YpAgO=^y7np6s0 z&@vt7@jNf#3lqD57!u;ywEd;2RfUY9{Q%ACG|XDzYpRUF2}f+8fYL5JqU zq#dKg+JI1oQf3ZfLD;PtOL0E|Wy}U0aMm}qiYyQlox+!j`aNVNKyrxfHJBHO;aw5G zvq!dc56#gcR+^OTh3m(8z6EJF16iK2f*6Dqa;#^^ehw8MGmK%qe$K_%I-l#Ae0kuK z2X9T9JJP!t9ay~&MFYqwY?N<4fH1N-zlM(H^BpFYJp|dU*qGc;QUag6-y)A%1(?0T z%zjgvpDf@ZTaw@?ZJx19hB01?FR|E4gJ)e#Q7p#6{p8wpu}SJz zJdvRe${4>e6^rr@0W|C%`hpHbZ0clIb=eM6gShLZ!W;W0aiwN-jA zwfVro%4gCWrL2)BkTtTy ziI4@jvfUuI?1*h1_Ln6Fo^G^GP*&i;n$T%8up_>&^nA2fS6S`r?@(gG^zSu z|9%{MfY^Je7yTpm6c@+{@#*LI{Ssw^j3GN~J`dNHf-+X0_Ze$VYLWF^ql2_y)R7|g zK9J!S$TZlEp3--g6<{YjE#ORo78-wlVfAhU7?Up2%uSkdvBa0eK%j*C??aflh2soq zMSnEY%e!zm4p?T)Ki@mjouhEmyo34?atR>TH z<~sYanE$GPDPySjLf+Rf`}YwGE{2D1co_;KVZT!pOl^!``UWgxW+6AZj2NtD48)`e zI@Jl(4k-H^#Hz_3egwxrH|b*YI>dkIJ!{w2&&W zUiU4%ti!g#$#UZ`*R)vri;a!GWdWnBEbX%ps~(@{{wKBw9sqVPP~9VyeXoevtY9OU zh2&MqVrRpQU0$^@CR8n-i5PB{AdU7!g;Ehr1!X4)-1VOR**MIwp*a_0Ve=4V3~GEN zV)g8xM0JH?Z2uUt`%jgPxVRot?IF2x21jF4pH-=Qf(wkzPq@$(U1DmJh}p_|mwb`V zh-ChN#m~Fgz11VPEAmb8@hiIy)Gg}iv!*WQY-~mZjZAvkH>MDyZfI&!e0Z09H!Z?! zFUX^Iz7#Sr1A&|}m=TP*v9WQ;i2utk`RbsPT;A#8QpbH+gXL>DW6x6vFQrNuEb#j9^=nezD}GU8T~24*fk zgD=8v#CeXe!!-zt!QBH^qb6T|#%s&|I~S{4_Zbq3nODxsD1WMmTuhX?5s2Xf;S9*= zCIhg9>ZPzogl3~1mMzbKZ~&i^W2O8 zOTX`wJCqfoEakK@fU*K-YKJuPqUdBm3>K!m_jhKoHT5)MYn$g|Wg&(>cFha}W{P5lNT7u$l971B1|fDPCxAT#jgi0J z6gsrrg_tt4O;H9f%M${xQ?wwAkTKXZ!W`?BnBh|hXzQt#g_tz6Z3r3XHHqrR-?5D_ zXCprukCQd~gJsS&-*&)|36EWf3Ce^hd2W-c@1-6vauIB}Y<~>H5c@9X&ud4@G-Aue zW?}8M&Alv@GT%;yV#YWdd&XU7kZoGa#aP{-{C$*PvQkB3;Rik z9dy)IBhWdRg|BtQ_J4~`uKe3rzh+axcT?O3N@;tl@)a*8xec^D}1$Aebw?xSbL;gMa-(NWel4l)xoOMIP!^@ zh092%ik7>XaeN;nAcoF8j z{mzakJ;YXT-)` zrRA({b$CUR`8{=7TYHk-ew7Se$}-`&bw26ES4_quRPn`1wi(W!7cqt%);=Jrg$TDlPs# zVPq08AT~Dyvm8@UHJV2K)N($XidY4#RP1j_V^*~M9L=H(*&{bc%r*aa|KferfhvB> zBwN5h9T2#eOMFEFZBp1@(y# z`_ta}V6m1Tb3%x@<2i7~Wewu{c9fBj}%W8KC z5pm#SJn?{SZBy}CeO_mn92q`G%VG8P_*0PtR)yY)^jL>(ZQ2qfd;KZ+DE}s z+T%B7$m(r%8tB0(H~|(>|6g^@VbZNx?L<*LmNR`NX}p zeGr=zOXwGeqlnZnE6v_!!LmiERpX&$7-8WBx(u>p@dwV5o*HARS5qtsR!AzAwVDLLLUx8cjA9LxzFR6{GJ5}N zhVdR>dbj$tVreTa)S26zhg=3Z;5xF#n3}56j^ud!dpMrXepR#u7V63+nq40e2TgL3&M^8l4hc3OErVOqGxmSf%9hJ zz9PFbpL7jTR#%RGOn-UlIqPHbcyX=w*W7-NG(Uf_W^wVpVAwp1lC8S`(6Q7anvLGR z1Zq0-MQ16vd84rVc!?itt!H$%4=X1$wx2VIfsAL%E(~WdBm)tKw=%08zY!FR*RRV4 zObsrO?aU3kmZ)+=0a0v5ef!9$wf&sCS5p06c6R$b=mk^J1lj zGdXob6rAe|O3Gf8;h|-jWB}x3V3?HsZFU-t kf!@6NF`=<-oh4!a0c$i^#vLnP0000007*qoM6N<$g83}fCIA2c literal 0 HcmV?d00001 diff --git a/static/images/pic_detail_info_1.png b/static/images/pic_detail_info_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8badfbab5365227503d77165d7ebbfbd44ecc68d GIT binary patch literal 41088 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_detail_info_2.png b/static/images/pic_detail_info_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe8f4301dfd3e6e05c367ca74d72356ff6b07e2 GIT binary patch literal 42815 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_home_query_1.png b/static/images/pic_home_query_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0aab6c8717d03910aa6ca82a41a2b85c5b3afd GIT binary patch literal 5871 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 FV1hmYqPqY9 literal 0 HcmV?d00001 diff --git a/static/images/pic_home_query_2.png b/static/images/pic_home_query_2.png new file mode 100644 index 0000000000000000000000000000000000000000..495cc0ebb31b9f420ad633bc38ce34e9ae9ac91c GIT binary patch literal 6208 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

HU`=|kf271Mop}B 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 JPDHLkV1gTvE1m!V literal 0 HcmV?d00001 diff --git a/static/images/pic_pay_fail.png b/static/images/pic_pay_fail.png new file mode 100644 index 0000000000000000000000000000000000000000..49eb3b995aa8883003508578c3ebd7dfc9b83695 GIT binary patch literal 2427 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 D$NJu0 literal 0 HcmV?d00001 diff --git a/static/images/pic_sali_check.png b/static/images/pic_sali_check.png new file mode 100644 index 0000000000000000000000000000000000000000..ba48777b400b0d6bb5156b900f193782c6940297 GIT binary patch literal 10415 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 R_;(cmbTkar>r@?L{|Dy@b07c! literal 0 HcmV?d00001 diff --git a/static/images/pic_title_2.png b/static/images/pic_title_2.png new file mode 100644 index 0000000000000000000000000000000000000000..16440ec3ea66bdad9a554a620b7c9f0515f24602 GIT binary patch literal 5182 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_title_3.png b/static/images/pic_title_3.png new file mode 100644 index 0000000000000000000000000000000000000000..ae63fe203234ff762c10287ebec48f3a82405e6b GIT binary patch literal 4227 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_title_5.png b/static/images/pic_title_5.png new file mode 100644 index 0000000000000000000000000000000000000000..111471e3cb27dfb5dbef0d5bff96d4eded4783bd GIT binary patch literal 5055 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_title_6.png b/static/images/pic_title_6.png new file mode 100644 index 0000000000000000000000000000000000000000..040bb5c5ebb0682b4ea1f8ee8511f612f6ac1f76 GIT binary patch literal 5019 zcmb`K^;;7T*!4&E2tlcl5>k$ygfzpTCXxc98#lf%KoBYEZt0Mc94#O)TFDUtqZ!jN zP*M?4e0<;QdH;j=bDis)`=|5sx#LZYpiK1K^Z)>W>4AYR3;-ZY`FA_hQvCBOKQX?4 zVPx{yOz&U*{r^W=E|2uTMlOGt(G$Srt3tU}*M1EyAphoLYoQa0)QD*Jv_YA0i53j)q6m@psi3Aq;gN*80R; zJBaV@?C+h90aQ={CIgUM(K}Ba0lN02DIrpFe=eMf$NxET_5k;-;_4RUh5*HuV%fJlr0q$xHDAw=IG)LGD{O(SL<1kBneCxrC2Vy)(5SDP;#$&P%7jV5Cue&Dd?oE|80#kXEB+}Tn1!m9oN6X!#ll(P0dpauhLhneo@b*Po&E#r8Kq3` zpE21bmM{Bheryv~L@gRpKKW9ZGr_uc)iYG^z>oi_-Ut0ZA7V3SwHy=}p8C($IybZO zN3z&Kvw!R|gSAwqm)WFrm-xnC$HE#5V_(Y6oK|T<$ui=ndPOt$KyR^>4868Luj1J1 zu5-HheKl#WJ3uGY`Yjiir`0**LKLpzw&BTL=65Z=N2QwSUZONo1)=^m>}4Dz3#Fr6 z&!ZM}Y8V${bRD#kysD|m5%#!DLfgfCM_4^zB!9;sY61M3!oXYpiH1R}A#2_{!wH*I zkrcsD*0krYG=7is&9X7Qsad-ep|iJ_cV&*7aguCY&AJzLMmJrX$yhd6gloKa-ij*P z%!tj89{*4!&U!R21sFsPIR~)`jC@S-A`j{^q=nxdJfSdExesOLWqn zLG0c72tseG#PMVbzZZ0eU1;5*tYe?psc<>vL?pl0W_`ZL@;-~m@Ojh;>F@uJkJ-0^ z>sVs>+OX#HD|D}vE`&wDbjX=zSVGBQGUs?PsOW36*`!AZU32H93>QvtVb;OeD4FvI z^Aq!4)Et=RS37j~i zZ;bvt%HP}6BS3KXn~)5t#Db7!(Im@1eI$hmQ<#7abbg#(3+1FNncY6Wl!&%0A`eSg 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 JYgO%H{|7P@dh`GQ literal 0 HcmV?d00001 diff --git a/static/images/pic_upload_file.png b/static/images/pic_upload_file.png new file mode 100644 index 0000000000000000000000000000000000000000..81e86f6109221f856b72c30d892d0935ee539a43 GIT binary patch literal 7534 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_vehicle.jpg b/static/images/pic_vehicle.jpg new file mode 100644 index 0000000000000000000000000000000000000000..075803d1d3b8005a75fe96c546698893889b3d2f GIT binary patch literal 15841 zcmb8WcUTk67dE^JE%XqOUIK((q<4^BLhn_jH|bTH(joK?(o3iU(gjqcOYbOEdIv>7 z0R{c?{I2(U-@m^}vO8z*dnRYkoSB{7o%3($-zES>s%oeLAP@k6FdyLGDxd`5U}F;2 ze_LD}99#%71cHYLff5qo6O%(J$YD?zjDm`RhJuow5(cAXrKM+NVrFKhph0jT;Oq== zX83=VfN*eeA$Sl{2!s^=0QLa>|2zHb2go3x6W|{fhztOefw0Ix{{{gDjGow7|Ec?b z6Bafu9tZ~l#>c?4p#PKpFA9J`SlBqY|5gAZED!*OVnH#`Y14l=j1E<-D{z6U>(szi zE%ggm{=b8mq--4|OCtaUi1KF9hgD+WSo!}QCS`A`RT(!kI=7z^vQv1)n(C)!^s1ZB z&N}#iFgg4{pun(B8x_@C8x9CZ3v@I$&`j82)!?HJ|06)WaU?~~41D;X%ZwVrX}OYE z*@%w#Osi>&BDGP}|1n-EWG}Z%m0s||gEM+T_0MLan;xP?$|e!iZxa_rFa+WhGAZnL zx~#2O3ZsW30BF~f!(upHz#v93z`86A0I*Dg#CqZUL3AYH7&_7JrD_@#mI1e$Jf>_a zo!~j~CqRrIgdx(B?7H;i3JHl;-C>|Ua)ezONNF~`X_F`%0A>PN&E^yb48$}s0udQl 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 SyV`@9?R{qY%NN^{+2= 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 E08~Q?_y7O^ literal 0 HcmV?d00001 diff --git a/static/images/pic_vin_info_1.png b/static/images/pic_vin_info_1.png new file mode 100644 index 0000000000000000000000000000000000000000..c5150a7618891cab2feefcff226b02cb8ddb4e7d GIT binary patch literal 15373 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 literal 0 HcmV?d00001 diff --git a/static/images/pic_vin_info_2.png b/static/images/pic_vin_info_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b5858691734c43b22a864d64ee4d6715344041f8 GIT binary patch literal 11867 zcmZ{~1yodD^goKCgh)w>bceKrfQ)o^w}7;Ypv1t?AtKETEuBhA!_X+q&>hmu&>*%^zq{_eJI-hCd(OG%?7P=J=d-@98tDUu2Y7gRq#EkVhIn}R03P0* zG$Q<4&4H@A=PkkLYa6TFQe3+}u37JEzpU2m>88`r9fYt{Kr z*{X;852lA}(zxYsneOiH|HO8kTL#yrdwajNx@Ee$y88P1u5WO+$Hc_M^z`)5&`^JW z|NQ*?t-iCfb6{X#WMpJ^cJ|k=Ut?oqi;Ii5w!eS>Mk0}Ob91*f+27yCTw!mI-QC^I z&CTuY?e+C_4CZocYwP^{-`UyO+S=O6$_fAgH|zC>hlhVoPA)DkmY0{0kB`vg_?>AG4H+|06X!!Nv)Wsm=W~E|(G@r3RROzpnBPQ2uE|3byv@$jAk8p;aB{)-2TqVM`dDDF?JKKgc_i1w+} z!=6w+sOdS#Jc<1!gPI#Uv)RR*e9kvGd#mcHN2={)8}w~%Aw zOIeX#B+IWiq72t~t{a{aJJ}z@ zAP#EeXOq|>_vze^`UzR^Gzni+MDYnf-4g9GCUz&Du;eP2P;Mj}2-A&Gg_SG5Ml&5n z4kEt@D4VXV>&8^VTmBc7QtyL_q*}#ioRt)$!~)9yAJL}wfkAq$;xtz!h0ks2|3L)R zb!p6gBO*+b7qNvlsjDgBy-iMt##>}(BE1Ek&wT9b)S(kAqCnvDX2J)C znfNEPv==v@4>P9_>WgC3oR22GDC=pagg~!+9c56D%lxxZAbWeawxb-#l)Z0-a=RFCzE0s{Z`=dj-zln#%~ohQ8b zWXBi&&K{_)n{nQ1szW;<@!=tWpgf(E%rN65^N_2dJwW?bBBNEoindga*7R>`B9-$y zO0Ue*lmRGV%l@ySr?)aW*{53e4j_do}FzwJR++n2W{G$`vgucuI;JFZ`j27EJ8 z>veZpZTM&Z@I|2Re9MC~0>4SSbfVtm#Y#lvJLZNAFeC7n1i;Tx=gt64^Ih3(P`VnB z{{!RQ3em(3f69BO;OF@Hm$2r_L!HHB5!oA@`pu?Us3ztIwxbb?Z5+>^Lepse8bQ>$C8OjFUxHV6)IdHc_X!GKC*0NBB*AdIA5IS&=bWd^TF zCd*APJ6OJ{G6XsWSjN9D%{My%;h7@!*&+1Ko?)nhEpCB@i<<4Zg*X2Itk%&Xji!8j zDiyy*@VQSmr(NXHGs)kVN!8lH#+^xW#siuJIOL=j^R+u93A;1hW&{N3T39p>$kFoX zd09R4985hAM5OmY3I7hhy*`aw_0N6aVNwd2Yvl%4^i?#$#acMQ+F<=r|3<#tsOv2r zcWv+#+A5_ituHf%$cWkfoj58)lun|{)B!m_>r(lp23?}ssTK42y&$+wx4L0((DMGgCVc+eu8!J&wH{Bjh^=7Y-YQqQfiBg=$ zRykgm#`#z#QM3Y|<8u`GNPo!F+xMFedfm>{q)}QqY@DRlG<~-Nd65wxV%1UX^urB_}c#G3~YPu!^1XtjI_7p_VGrN zQQBuz!7pS=$Vf`w( z@81H!sQ2HPx?Vu3o+Zgm&$hgA4Dr9Jwna$AvuZ6BbzSQEZZad3Y~sz(&Bxq-bymhA zw#S#QI;JY*tI-A3vuZ4pC&FITWzh&VFu+7>U9)y|B*=1WAgGzRQMsQE!46jNf=Zvz z>nzTZGHWl@eOg>RIB-!>vOU<}_q`G#d+tb)Sxt14^mc=dY1;fGBV7+oqqVYOn7zT$ zZ}&D&(>e#c)_;j1&1W|?T8H^{#L)4q`j$Mo>Zvf@8 zGu+{Iyn!yf4d%ABOb{|V6>w{J8kCTBSG#+;1D!O*b4FTsNHHx(x^smT7uomzg^+NNvqy*MvOc4$!f5y}+%aWJ{x)ToH5~ z)bi7W@aY;X3pkg+)7Q1UHbiyij1e}oGLhmn{QcA+Bk4dNYENHovUB}OJCEJu$a;-M zTpeDhFiS)FquMpeM8 zUOmW=z<*t~xWyD0uGZtz_xQW^)Y0dL353}C+L*!fk@8Gl(cNpi$w{v_2XCm99Oq+C zsUKWZT0)y$-kk2iy5_Yc#p0b2S`DuC`CeW1gB79+91lExyml@_e0WSDe#Tm?_}p9i zga#SVu325EGGq{s&ry=^Ts+K1eqj2PbbcUaCOu&GBEUk6P+V(;t<*1MRB&ZNtr}~aYDe%fhpHbTJ1kx8v55e2 z4f`b8uA*CCITR)*+HI|21-`oXNQ28hkV5_5{z;g%Zkj`}SYXg7LX)WSJ-mU#x4pw- zmYAJaAq>Ak`R7a_8aoxoEr0ViQAPbWmY5goV)@xNT{Wpv>snb2fJe0)X|=Y{CfiLM zN2>$ihCWB_!V**U1iH46E(Ai12Ta=J$qDe7_l2(X8UlHy!SS#>p{b1?`6?_@pl1D5 z&CW#5+Mty2L*#pLh6ecF*;GB8)(c2(00MtZBJE0Gc0TBB#P{zX6n=k3J>-A(5MkFv zLz9|^cZYssRACyHG#bMix}4HRKwgZH^PJ&RzT<7xt)Q}tLEKFpINPT@Tp z#)n{SL>DVY(S&I{1YWXrkBA4KEH0J2Kjee#EH)XNn3RI6Y0;M0&Y1~kj^rTRbksxC zWI!b6!Wm06osteOW1P;maf8cHf42 z-iOL}=G8K_H%2%kGjs@x@BXq2!l_yIyq&5QY3bqqC~H^q&|&%nRXljggsGkR4w_3C z`r9w7eUq0eBPeV?kGp)&hunpQf!VshcNVn*80le-c#AsS94!fVo&Lh zc-6fNX{v{w0g)Ri>><(4agZ^H+x+tE^(04-X9+WS5l*4~-onW^j+`z7oyOCpXx74x z5NQ1z42-xiU`Pc$*TqzG?F)a=wC_ib-&n4wt?Z-HaIez!dfMwf8NP14-LG-xK&;U5dH>THlQa~n~Yw) zUIeZbc!kzYb0#w!xB(4c#iui~dUmHI8Edf}MnpYZe*qOsMf z2-&tls+2Es>*;@W+D2QF!?>7)n&oQJSqkoN8|L%={JfXPGZal2A3{3y5Yit$FTvfX?mA{#=(<4Eu>C7%;)cr!O;v=KCvZm915{Dtb z)hEVe!vz^s%(UmfwG2EwdLl)7=QgbG&4>vR=S1($Bf&VK|A)AKrd8Ey5V0(bnz+@c zx!N}8@a_%^P%5xe zHd~{r;IsH3DPp2U3WZu}J%NF)Jm=jfA104zfx1ZW{M~xLv<}1|k7aRx zk*OKqHPL!%mHr~y5VBf_anXIq(1i=?+j;U-AKRD6ms7-K&bFA!jgNnk$8tD0!2KPr zP-=YhvH0RN;#c|7M3>=wOb#2n?p$PJIbRhZ^d$$Yi$-@QDhUXiF%yp2Nk4p+JA4)! zGn`El2p)DkM%Lis>8jx7>$R^WCl4w$DIOU$VPlp4tGTyuNPq`RBpFFsQ=AId-kg1> z)8yT(S$$i~@JusS{uFl;6|?}9aWoOXO3qfLD+xqES%X7_GyN8&GXSQmh^<>6*fNZd z+)dLDbV#92Ubm=T5N)$Cy>l9zzz78hdTv{FE)CUy{$=0-&;m~jPVx+zu#aN|Uo*L6 zunq6XdB1qc{l&W1b!B-->qKu9j`qtA`35QKH0>(6+lD*5S?bcv0)WFhoNHJe11>|y#4mK7Z(gIe1oA%&K3#gQ6s=6;osl6 zcw=7-y+bS5$M?L`I&A7Q?e(7r2+n-ir2S`DyG$+MJ#umyvV`}(I~5$?kwVF~jZ(J?Z)URa(HywUZ6=C93I>AW3^*i| z5(_4}p@Zf1Td>J(_k!~5$>pIgza!-Fb6gte>KrCa_m7TEs#a7e&yh}6H3|Qxmwn;@ z)^gEOrlo=Bp?|FPufmk)kdvhSQ5(#QZM#5?kVy|c#VXNSq6lBzOzHzX^K;Lg$aWi1O z^!K};uCI{}d2Pi0yCA!Q)}lNWvUB=TKUAPe1-A2)MZk^?m++$8dfqO=y6DY=O#7RL zwE%Zrfg-)yvt92geD5Y6xjyaW@8i{PFpTR$Qqo@N^IV)adMN5z;>|8$32Z2XO9-!d z*1{Q&`x>R={zuOH&OzBAC2v={-9#bmNlpuJH5P*D%`L0|K4VJ_F)SKYM4?7{@*;Rg z9SqMh%vEc0ADX|Q3^&a6()v_sOkyZbTWl(#epo$V5NGLw#p3sRw5jq*#nT^GC_Tg3 z11x3@Y0}X_{qW4RJCb2N9n40`#*d5sDp5srd=sdWA(Z`+gTHS^-Qkka^&LX~%>7Hf zX)q2WY$mS}a=8ja;*|HsjzqPxjvjWKiUvv%v`E?N$Ph?rn)r(uxd!B$;g8^TC)T2M z*qdgbyF9LS|1xD7e2y_&PgU>~sOc+?BB844EHS=OGYpws(3R-B@04o0_c*4V=QB?v zl%H%W_m8iy<*U&6MPqP8zpr};D&fZptY~}n?%L&BG=ADWAH1Lolopzfay2gN1lDLf z5}AFeNO=A5!0&?M`J5TK$$?A=(_J6_8m!4}SmpnpuxdixH6Ibdj`xa{$UbBD)cLyo zJB9lHIhOwy=F?s6KmKn-_%_bl2wX4J6)mgUvp(nxf_@NBCyG~fe1p#xo^&2k9M4v4 zOOn;Ja1I@q;*s_o1Kl>xt%5_%ArBfGDsSlFRu(D4!vY||eEMFq3ya<>6sen{>cu|tihUu@i@ctpqgw4&f zpM^vSzi*2Ba*^x=icjPWe+2!QF8|H5qMOU$e<@nDFg{WAfH>OO8=zy*Kj=gKMujED zKSfAwvp;QY;2GuY>^gmp@u6AUO5@UoP~;y$@r|e*H)eLflH9u3n=L|=;dgA z-#k95pmf4yKw4shK;S+CB@PeZpUNz@8!hty=NDk9Wyl+(-?w)+38vu+6V;q{O1OH| zYSkGeG|d2@ZTrC=RNJQ?iK;q|*@?^b<>J9jAxNO%R0M7O0-6?-77o;ELLcRp4+>E% z0m2~dC_3iO;y-=Fo$5l{^B#> zbs`NU&oOEzOoEbcR)>DPG7w+8=v4%-uS+|#<^0*LQC0Z~iS%V;EZ|y|ekDWdAR(Uj z>GvMT3GDF&`GfM3+7)DR}0FE0D(6=o+T)Ao&?Malso|A0Lbw#4$TcG z4l}!B#B=$;VNVfre}*}8FABrX#(}ooyG%)vH3I1eh0HRCzd~F85=8rL(8;ZBg{Lib2q>LF6I5`_-vv$Bq@I#-I~FYqisP zwi%iDlJBY+X@=(b=QuOyeI}~yb7PAMSjg?&6$x_@iRISWAs;(=0Tqt&FM&vj`+OqQ zp`vf2$L%6*qx+2N-7L3w}bKtHvjqxU-;(FMctqX}!5POZ>Rj_MSf>$;dwwFAPh zgcoYacBmz$Dg3WPu$EuB9wFwOaa9@2>5HVoBNSM8s#TNq{>zV|^0#+gYh*`nldD{5 zT8Wl3J}oh+oiBe(Z#*aT6s%K+o{aA(-N>iLe>Xw-=~+q3-DYHiKF6LK6c66n zXMbn#3PAQHygs#?$`^;5U;^%zhUK6aockSEcm9G(uQ<`-WV(yg zB_CCiQrvhe5AsB(G@yP@jq1Ih{$tvnnoinPs%rEbMHskIRTL|Jw~J~9>YRs`Cx;sbSSWPNFq=hNGZahp?sjh+K@MrE@<56|3M<;}Acxuvi9;V|3- z^o#Kf6NTpJ=!~k7B-)fyF1{E`KV_S@cOYfhDD%}~A8rRENeqk_HY%dxPa9;k65(w2 zsC!|DnN=xf;`xuMpTpa#7k>IH7w);dBb&smdkk{Bid&$m+-fN9zI>wxvG0CSsZ*9! z?a*RDy>iWeP0Xu?jK;2~9P(5P(K;k?Bei^MWSU$XdGq>kC%w5E6YpnKBqoaMzG^6) zo+GnM=Qv7jKL0ano+WN|HU~P~Nv=g#6)_z5dM#2Y>RYqf@sHfjG!<&q-_pg}J?5yQ z7bPRQbn+L#-AASmN%K#7{29L07#ngT5?U zR*s#w1h>9j2ZV&MRIDrS;ujh@zQcX|V~c@s+CgjY36DN0JbazSezi1QZ~c!wuMCE3 zsm7UL5;N{J|NJ$2@rd5>i8@~JFlI3<5Uo`^5B1Y}?Dbsyn-W_Dy}j0BDyMtgs;pbn zoto^0sqv|cl{>jbN!*}sOQS9Ek2CDV(2a%(M3UFjpNLHLO5o-z<=QH>#w7B11r?tg zLfBFL>FZyCysrQkg|JxL8Et0Ow>r@(%w7#ts=r(koml<@C>2upVfrF0AeHB!DCpjf zFfRLbkreuv*D~MYlXUM_*p-JZFIr{770?UH2;)7eWZ};fXYPCVT;x?YXrDHzD4eU8 zb9A2$12?)!HL|_C#VU_cXT3;STe4~R_U+eIwd@%USL9WxS<}x3Bl+-a8JY|y*lHj< z!N$X)dI^Pbrj$nU9`EKiOhosRbIT`r=PWS4SLzj1y-HP<^4O58wx@SiInX*Zcx`eM z=U9Sxy7Uc4kOv z!n_um)V8_7aZHycM)G$Vs}`Yl?cK_9y+fkO=EuRhFsnJC`WVQ4H`~P$e9A))_*mC} zjb9=7E_2taNkCTkhGkkaKp390J^c+rNddUI^@DxNv*gtr8F^LQlfQm7e=-sbwIyp* zt-43FKD!XUmSjrxxx7;ZeRy)G<5EkTeoiK)k%Ykan^$7(%q4Tpj4GY}w~|wHTA+80 z(BTJ0iZ>#F7<&@i<%VenKnwK|)CBgtMEN*gAJ!qmaC(?Abyfh5!-Tqm;_18C!QpJ! z7gh@tIcIy8du83agC^M%d*v;rOYp0My)uUi%}*-Jcb(jmKTK?TWaMo!54ueKn2pkq z>c@IEGtZeattu=mC!czC>gi0_cN{}7K0l`-5=HM4)AdF%=ivq<&PUWp-~A$DZ-}E* zc74ndGcKk|QQ#EEsyIYnpie!S#0;ji{IzqY@txNlV>b=3yMr6yh2`i(zFTzB#+ku) z-tEZ0gI{jVSpE(Bs2R{d>d%4m$Z+2G;{84wS*oRyI$NfpYDrIc8$H+-1Nc@m@&g z2S$H69ADQz^*@gq64C_N3r|s#7z%STW1&hydz>rd`KQ9HEMuJ zfPs4xTDGkZobGU_QM1Z(mN0eWf0btm%RY!XV~>J}ClH^`Mc>RZC-*qtaU+bd*3F*R znqmjNO#bM>u1KZ16=^vd=oQgs_2^v?{%2z4*Sb#ZkM9=^SX*G$N>pb3!%qcnNP8Ff zJ@p9DoA$+(fF`m@BSB@S{-#QkY|E4MS{JrTz{!OCWMmt$xL>sQWSv=8G}%&DLab>8 z;hsO+cELF|1#G-yqSibYhRdNNTwpkPsU$|j+`PYhd6W;@{hd32G{#~VYXxBBA_2(0 zfQEpP+saXJBMv4-{`%1}5-E~o=d81v`Oc$cfgIwm=SIz>5>dn;UbIuV>b{mNy?dqH zoI(GW&1Xm_vih||J#Zcn^4Io8vj5{2r*ALGOZE4IbF_aQY{1T5j<^WJ6(*iTeilhc z+J*u;2q}93wc{Il5?H;H!3$byDEpxl5zDqM5Ev!!u;Gf>gN}jE?o4%R=c=3~Sh&Xi z%pEyY{@LH4yg29GLHyJ8LJ0B-8p4aFllqs(_!sZ}41S7NoQorGI)`Got+8!e9E@i; z-xNa(;z3u937i9I_u?VyxAhYW)WN(J`5CPlEz#2C9iOg19E%El7gFHCDEs|BT3lY5 z4=1XF(ckvgu7p8EahjM|UEf-Z{TmC(v~%CKlOBW44bwCN6F)CKd; zL$RC7aPi*oCW&JB+U%^xPo_ERd_e?d}3J zdnG(vX&08a1`DyoB)v)+dd_ubj#*ne7N&82ZHnQm28s#y6fjK&QHEmfF35dR_%*tQ}FWs2NhbH7j^Uoq24+DIRy7vh+y;vVf`tCuyH5&kdjR*mLX?& zyoc;u@U9{Q#pqP^LBI+h$QqToUHt&x%V2(UcS-M}+zNb|`{0>LuqFq}W2hcE+ojN9r`XdFOHY+#d9SI$bFf_eT zErNahJu_cOu0V)j26;w!MTjAiYEK9)?13cD^tCXw9~N^mctaKK>e)3akd(DCqab z3dOp>=oYxn_>PTkCZNZI7bwpDWb=W9@p;HtsA3DfH6c2a`^DL>JxFJro_GHIt9!eb8?iZmQTm9bQGG56|lkKmz$H&=IF(lnXxCm(^~$fS&W=)R8P| zPpv_#l!Gr}=kJv;U=bOGBxjn~US|Lqh`SD0EEWhi4GUg@l$t=#MM+_f#AD zui;3Fmu|ehy}p7OwwPRfc*-`k>+`XabTxk-tA**!FdwKu<_hZf2N_ZVf!yFxp1j5< z6?5uWw44X$Bm{x(MpXlp6bn$Eah+kP)OgUoz3Ln*mumfA*H^lDHYUgY>}qvC+xdir zsnABD8)KV0Ben!+7k{)39Ozo8e}aA%#{00(8ac2!T%BRhwAI4Osy)4eu{P|$zW zSh{dJ{+almQBS(kBHO9-eV9P+ihGfhCTnGaPJqNqn4H(hoR9y!r^dEUq&CCCZhUNS zsu`k2VZ~l&@#fFg>h*(fua{RWjU~dI#a2N1mDMX#jX4J)TJk+BmdsDunw`aBnwS`35GPA>{u!BRrI+J z-~~4CxD&KRD3IjgYd)Anq2*Vmvtu0SE&L1=+?ZxB|IyL263v7&10KK3o5aeb@V9Qd%1_B)qN5;>g0dEwA6~j1ubvFtQje$FN%PtB=w zKX`jvb+Lytq3g9G>#kJPQuFDoLZu1?144>wIHJ8+@Rs62wrmojdqeG`gY91rCIA z0i*XooW-xYv!j793EG74>*7Y4|@VhhfWvcxuO4?>EKt z^=XbAT>k4nCx1?&>_$mx96>3LMZ(rp9@FmrQxJ=Xo(o?-TRX)xKlMCanmgG2i>?RD zh}-3wWr8fnOk7wNTio~TDfiO9-pK_LwZS!6*@UTBk;J6$lquD|zjr$`1Csf{0>^wc zZ2wH6tJ;#nhLtR@kQqj;IHIT1CDf?z3M6N4e;Mju7y2;_EeOb7c^g7K# zCcH)OQ3JTr;0uZ9ul}p5&Fo>Sw`V1S4gSeeJUBLHy6{MIM}fFa7mp+ioc;AyU4H);+-6f7F%SVTOx$HA2>$M%pU&4_~KrV9!23Jvdd8a4TI9>>qfVUNP1EZH-GC_lth5@p={-+GHgca z_WCN?%1wMs7BNKg$m=V7uSV1#`5S!{Rr?F+xk~R7VtZ^7X-!X4?mqj(PBXU*JJ0UG z-~ScW$Nr4`E6Ss?xJ48l=#R8gUMkRO|BCwEH)H7lhCfmNY0+-A^FXQe9x~|0=4QzG z$Q;<;(p{ZW>o%0yqH*=I?7DYmFl&1+;D2nl9!VBvV>72!ZQYCR?MAzG=&W#Q!YDlM zav91UfwbhQ6WKq`z*^&Lv;mbV_b37JWcLEE_#1S52j!*>?S|0pq<+AumYQdugsGMU z!>CN#AMv_uPeov{NCpqL)fjMKDk=PSRwWkZlF?2ck!Gy z%DXcxwH+(~HSV)td|;(jSCgVnvYgbeZUng{(c3fJ&(8DFU5`{LV@=*DuPosCdTJT= zG-WOweuWrd)wLzk4Zat>q-A?&{ZFtef#F7WrI!5ES6n)aCUg2To-qXIb~(NjzVPgc zjxD9wiOnpRUQ51Oie0YmBorlZ_8y@9T>9NWjft5ep6CuuBhkqTajb6_bFA&_&&>~t z1}M`k{t-f*76>eiGb7By*g2G(nemPxDZ>mL9=dbmZpiU;m73e0aGtoA5YMb3&#dP| z7<-8j4pn*WzhkA6YLNk_lPFMIm`0H_5d0RZJIJ-rU13k;w2LpxDr(W}e0D{S&{s9` z0`$~#^}PUteniM~%tyJIyFgRI=;J$4X;rxIy^xh4wUq$6TOMo`b@QH@dbn z9jFhXOXY!%At20ig%3br8aK;Q)97f^yt9kgd}uhO0G3!6(yJz-%fd0&aCz) zJYTV{-*%~T$beDa@a|;r`)tCGoz)7k+wwv(?LMmy=2Zh-r_HpTV76xrGyD>G$ zX99ShYuSeU$Ps5F3bMIRJ2XS&>Nh=R?{$L-$Hj=YEYbvtvz1O*-0}76Kyi5sJ$WOx zk9~6sG;Yoy4C6gsDu3!$dF<}2dnDkjQWK8^o47$f$a4%a@|AMG4UO!F)c9?ws4!tr{KPvCW(^*VQi|9eM)d_%;pVRQOhu?J373uhwxcH3 zcvi09=HurVWkUsY%J?`_oP+<){qb76HTcB9#FoXRo{Wnu!ObHaVPPfPqR*+--`kDS Ocp56Y%GHXm!v8OhQU~V% literal 0 HcmV?d00001 diff --git a/static/images/pic_vin_info_3.png b/static/images/pic_vin_info_3.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb72ecb1ec177024d2b9e7cf4673263e2e448bd GIT binary patch literal 20539 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 PQ&BjU!%2p~-XHxp%rXJk literal 0 HcmV?d00001 diff --git a/static/images/tabs/icon_order_list_default.png b/static/images/tabs/icon_order_list_default.png new file mode 100644 index 0000000000000000000000000000000000000000..6d3c9fe4ddd94c8efba47fb5a11fd05474b0c07a GIT binary patch literal 644 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5m8A!&LZC(qcbOU@sT!C~|T}xG6b7gIFReeiU zZBs=<1CU!)+gx4SR9)8s6mI~EG_(Q*U0*E@25R6d3GxeOxbLukeu6^%owUHMB1w|2 zHys%m7=L)WIEGZ*dVA-r7gM0bv5(F2$y+#(F*-|b<*}CrR`Q8Ph8dnty>y&&1s#i z$I*AImg*fmG5tW&AzvY7wwC4RnDizuWs$tO-^`^$K+&niBW|MS>8V^o4Y&8+ieQwC z42bO$5vo}yr0mMQx@)3wPfh2{FC&nYhu3r1eNKh`y2g@TK`7$aBdTgH#;FS zR~=}ArNEQ__exm>=EnYzRj_(~a=BU1vG!dzPfPx17MQzxDu2(3_q%7=DSe!N`gmji z+(U7C$9Ci%z07Om{+tu!WC6uVLY*b@C$HA;u*h&&vdMYTUOTne4PK?O`C;6W67I69 zDQ}#dWRtUFrj|@#o!9tj*0IPHWm~`5cJ7w^(|F>S!9T8}EdEB1Ytk1iI~?~a?R=YI c*_ppgtAFN;3u?V_0HzKGPgg&ebxsLQ0Lpe6kpKVy literal 0 HcmV?d00001 diff --git a/static/images/tabs/icon_order_list_selected.png b/static/images/tabs/icon_order_list_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..90d06da6c1b007a63c0d6a48719ff7f3aa457534 GIT binary patch literal 2339 zcmchZhf`D89>;I87q|qGO9LbJE?x8Yt@|i2wi^X4uj^BLk;%TtfW!Zb=xu zUUH9ar(;BLGzmL3CROrA&G&b~4T{t0Dm*6)%-4b*!mm5^?o&8yqIcLe&H>9<3N`1V zHKSPV?yDEq{A*KsjIx-{ZP`oWk!o1cPpi0W&&*;;avYHmzu;eV+vL3=0v^rFZlS?X3Aps*n>sYqih{2OD2D; zaQQU|t5Xkls$2uu@u_L=PAXXOUdQh~e*_ERO)QeToB-Mhg$Z%KG(!JvS<`}w0o$Ff zeoELLi~MuJiH>IuJ3HS_=hvtDMZBy^J5K)w5vs;zFB^T>Z^=@5^!ZW0x{yOznwpf8 zBeN!!t-<5*^&utB$upL_eFgDBhZ^SQ0%R)q2)**#Al8S#sLp?VnQi535Qr-|`seQd zZuzHgsJJCgUR~ZZvl#|y)h;^cqE98TOeI9sq~V+e&DC(q_@V_@ks0v>LT9O=S|*+iUc5?~rV?ExiqI!CSE{=xrgvnw61%(TdC|-vgpELKM5ur@5{)fs z8;RCgiQE{3emJK!Y{LF7{wwNpx$R0^T_r!AYM-PUu6*9av<0`7$PtN2sqa&)rGzn? zX>!(I;YTX}DwV$h<558Oh1rzH+dMdm@n2yQFcw_nbAc7?zqr)kG3%xf^Km%lT>pDf z?PJ`3v6kaoNJSR%sJN&?gC6B-pU}#IpvqRqM**|;s!k@y2!H6ysCd0^PM$~BNxF`U zhBx4~3`v+n8wi!w7h7%n-|oj|2!0N;1nx~Av(|T7N-mZ7nXJF&4dP}**1cIDicD_x z(8&!d9yJ&YN*N3aUpw>mN&TsUxKy!tSULArrv8u9o8@SDP}=Cjns+Ih!$V|v&BY`w zDyqZO{z}e_LE8OEhy?#eP5k`RNbje+es-OCrYuw{8G5b3V!sIL)Z{{feC~m8Gq@$# z%Yg2QYT9`B3x$8F6|e`=b}TFRPGISo)?nsc{Y;KZ=MH4uf*3= zBgBp6TrpeU`@4bG@)?H*AgGnq8&cIZP@_`sxnYh4k^bV?UlGtR@K9%Z8)oYEBQWao>kn!GlLMe~bgznnhN!0uZ*{ zxfSPu#3DE?*9$rr@N&w<#{@K;*0?@o4?trU<{L<0p#mP(Scv~yLesxEf0;?!7c;-B zBke&(B97+hI%>fZ?Kl2Bb$v8+c37o&M@ecLqH)FTbHE+%(Y34$=De*H4DPVunIFcm z(+Ney>$+YdaB-Uojqom?;Y~ltl!erYvK%c`BpgBsEfZi1?QIU?(6g#a9Oa>^5cIfS z#bQ7=dfZl~G?ExZ;gXl)8#!0k;N)uq|w#F=I_b$^7C~sU(E}AO_lX5ah;Bh zF$+9G5#^`{KKk;VD&2v0zpCQ?rVfo6!MGPs7pPy&;kwp$1(mNfZ&y(u7IHtf=pTh% gEhDx?bpgLjoXQgtLLE#6=&uK0*g4ylSs!5k2kO7sq5uE@ literal 0 HcmV?d00001 diff --git a/static/images/tabs/icon_user_default.png b/static/images/tabs/icon_user_default.png new file mode 100644 index 0000000000000000000000000000000000000000..ab44ce7a273c1665435df8c7d8624878086308d6 GIT binary patch literal 1032 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 literal 0 HcmV?d00001 diff --git a/static/svgs/icon_arrow_down.svg b/static/svgs/icon_arrow_down.svg new file mode 100644 index 0000000..e578002 --- /dev/null +++ b/static/svgs/icon_arrow_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_check_1.svg b/static/svgs/icon_check_1.svg new file mode 100644 index 0000000..21fb399 --- /dev/null +++ b/static/svgs/icon_check_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_check_2.svg b/static/svgs/icon_check_2.svg new file mode 100644 index 0000000..ab266ac --- /dev/null +++ b/static/svgs/icon_check_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_check_3.svg b/static/svgs/icon_check_3.svg new file mode 100644 index 0000000..896f2d3 --- /dev/null +++ b/static/svgs/icon_check_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_1.svg b/static/svgs/icon_ckxx_normal_1.svg new file mode 100644 index 0000000..a95f709 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_10.svg b/static/svgs/icon_ckxx_normal_10.svg new file mode 100644 index 0000000..b4c7a23 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_11.svg b/static/svgs/icon_ckxx_normal_11.svg new file mode 100644 index 0000000..9100978 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_12.svg b/static/svgs/icon_ckxx_normal_12.svg new file mode 100644 index 0000000..c2f28da --- /dev/null +++ b/static/svgs/icon_ckxx_normal_12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_2.svg b/static/svgs/icon_ckxx_normal_2.svg new file mode 100644 index 0000000..77903ea --- /dev/null +++ b/static/svgs/icon_ckxx_normal_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_3.svg b/static/svgs/icon_ckxx_normal_3.svg new file mode 100644 index 0000000..4dc1215 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_4.svg b/static/svgs/icon_ckxx_normal_4.svg new file mode 100644 index 0000000..d437dd5 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_5.svg b/static/svgs/icon_ckxx_normal_5.svg new file mode 100644 index 0000000..a3b977a --- /dev/null +++ b/static/svgs/icon_ckxx_normal_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_6.svg b/static/svgs/icon_ckxx_normal_6.svg new file mode 100644 index 0000000..9cd3c91 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_7.svg b/static/svgs/icon_ckxx_normal_7.svg new file mode 100644 index 0000000..83afe08 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_8.svg b/static/svgs/icon_ckxx_normal_8.svg new file mode 100644 index 0000000..5857ae1 --- /dev/null +++ b/static/svgs/icon_ckxx_normal_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_normal_9.svg b/static/svgs/icon_ckxx_normal_9.svg new file mode 100644 index 0000000..73b502d --- /dev/null +++ b/static/svgs/icon_ckxx_normal_9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_1.svg b/static/svgs/icon_ckxx_unknown_1.svg new file mode 100644 index 0000000..bcbf6d4 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_10.svg b/static/svgs/icon_ckxx_unknown_10.svg new file mode 100644 index 0000000..db4b05d --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_11.svg b/static/svgs/icon_ckxx_unknown_11.svg new file mode 100644 index 0000000..b825954 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_12.svg b/static/svgs/icon_ckxx_unknown_12.svg new file mode 100644 index 0000000..9a48f45 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_2.svg b/static/svgs/icon_ckxx_unknown_2.svg new file mode 100644 index 0000000..7df0531 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_3.svg b/static/svgs/icon_ckxx_unknown_3.svg new file mode 100644 index 0000000..c062164 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_4.svg b/static/svgs/icon_ckxx_unknown_4.svg new file mode 100644 index 0000000..750a7c6 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_5.svg b/static/svgs/icon_ckxx_unknown_5.svg new file mode 100644 index 0000000..37486cb --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_6.svg b/static/svgs/icon_ckxx_unknown_6.svg new file mode 100644 index 0000000..d1f063e --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_7.svg b/static/svgs/icon_ckxx_unknown_7.svg new file mode 100644 index 0000000..0c6aa05 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_8.svg b/static/svgs/icon_ckxx_unknown_8.svg new file mode 100644 index 0000000..5724a98 --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_unknown_9.svg b/static/svgs/icon_ckxx_unknown_9.svg new file mode 100644 index 0000000..c0817ae --- /dev/null +++ b/static/svgs/icon_ckxx_unknown_9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_1.svg b/static/svgs/icon_ckxx_warning_1.svg new file mode 100644 index 0000000..b02d9d2 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_10.svg b/static/svgs/icon_ckxx_warning_10.svg new file mode 100644 index 0000000..4999e67 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_10.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_11.svg b/static/svgs/icon_ckxx_warning_11.svg new file mode 100644 index 0000000..94deb35 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_11.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_12.svg b/static/svgs/icon_ckxx_warning_12.svg new file mode 100644 index 0000000..005f780 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_12.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_2.svg b/static/svgs/icon_ckxx_warning_2.svg new file mode 100644 index 0000000..6d2dad8 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_3.svg b/static/svgs/icon_ckxx_warning_3.svg new file mode 100644 index 0000000..8b43dd9 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_4.svg b/static/svgs/icon_ckxx_warning_4.svg new file mode 100644 index 0000000..287ca52 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_5.svg b/static/svgs/icon_ckxx_warning_5.svg new file mode 100644 index 0000000..41e1173 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_6.svg b/static/svgs/icon_ckxx_warning_6.svg new file mode 100644 index 0000000..aa7bfef --- /dev/null +++ b/static/svgs/icon_ckxx_warning_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_7.svg b/static/svgs/icon_ckxx_warning_7.svg new file mode 100644 index 0000000..5c8d715 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_8.svg b/static/svgs/icon_ckxx_warning_8.svg new file mode 100644 index 0000000..1af5d80 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_ckxx_warning_9.svg b/static/svgs/icon_ckxx_warning_9.svg new file mode 100644 index 0000000..8726106 --- /dev/null +++ b/static/svgs/icon_ckxx_warning_9.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_clear.svg b/static/svgs/icon_clear.svg new file mode 100644 index 0000000..cb5386f --- /dev/null +++ b/static/svgs/icon_clear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_close_1.svg b/static/svgs/icon_close_1.svg new file mode 100644 index 0000000..32b078b --- /dev/null +++ b/static/svgs/icon_close_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_close_2.svg b/static/svgs/icon_close_2.svg new file mode 100644 index 0000000..d2f13ed --- /dev/null +++ b/static/svgs/icon_close_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_close_3.svg b/static/svgs/icon_close_3.svg new file mode 100644 index 0000000..8ceb001 --- /dev/null +++ b/static/svgs/icon_close_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_colon.svg b/static/svgs/icon_colon.svg new file mode 100644 index 0000000..35ea074 --- /dev/null +++ b/static/svgs/icon_colon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_conceal_agreement.svg b/static/svgs/icon_conceal_agreement.svg new file mode 100644 index 0000000..d47be8c --- /dev/null +++ b/static/svgs/icon_conceal_agreement.svg @@ -0,0 +1,16 @@ + + + xieyi + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/svgs/icon_contact.svg b/static/svgs/icon_contact.svg new file mode 100644 index 0000000..9da144c --- /dev/null +++ b/static/svgs/icon_contact.svg @@ -0,0 +1,14 @@ + + + kefu + + + + + + + + + + + \ No newline at end of file diff --git a/static/svgs/icon_contact_person.svg b/static/svgs/icon_contact_person.svg new file mode 100644 index 0000000..cad26fd --- /dev/null +++ b/static/svgs/icon_contact_person.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_delete.svg b/static/svgs/icon_delete.svg new file mode 100644 index 0000000..fa92580 --- /dev/null +++ b/static/svgs/icon_delete.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_down.svg b/static/svgs/icon_down.svg new file mode 100644 index 0000000..4cc3e40 --- /dev/null +++ b/static/svgs/icon_down.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_easter_egg.svg b/static/svgs/icon_easter_egg.svg new file mode 100644 index 0000000..05d9988 --- /dev/null +++ b/static/svgs/icon_easter_egg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_feedback.svg b/static/svgs/icon_feedback.svg new file mode 100644 index 0000000..a3b01cd --- /dev/null +++ b/static/svgs/icon_feedback.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_free.svg b/static/svgs/icon_free.svg new file mode 100644 index 0000000..6427247 --- /dev/null +++ b/static/svgs/icon_free.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_help.svg b/static/svgs/icon_help.svg new file mode 100644 index 0000000..c6fc5d2 --- /dev/null +++ b/static/svgs/icon_help.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_more.svg b/static/svgs/icon_more.svg new file mode 100644 index 0000000..9104b96 --- /dev/null +++ b/static/svgs/icon_more.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_normal.svg b/static/svgs/icon_normal.svg new file mode 100644 index 0000000..96e5dea --- /dev/null +++ b/static/svgs/icon_normal.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_order_1.svg b/static/svgs/icon_order_1.svg new file mode 100644 index 0000000..9609873 --- /dev/null +++ b/static/svgs/icon_order_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_order_2.svg b/static/svgs/icon_order_2.svg new file mode 100644 index 0000000..8384e60 --- /dev/null +++ b/static/svgs/icon_order_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_order_3.svg b/static/svgs/icon_order_3.svg new file mode 100644 index 0000000..6f74d94 --- /dev/null +++ b/static/svgs/icon_order_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_order_4.svg b/static/svgs/icon_order_4.svg new file mode 100644 index 0000000..07e4ed4 --- /dev/null +++ b/static/svgs/icon_order_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_order_5.svg b/static/svgs/icon_order_5.svg new file mode 100644 index 0000000..142c40e --- /dev/null +++ b/static/svgs/icon_order_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_question.svg b/static/svgs/icon_question.svg new file mode 100644 index 0000000..824cb8b --- /dev/null +++ b/static/svgs/icon_question.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_right.svg b/static/svgs/icon_right.svg new file mode 100644 index 0000000..267b3a3 --- /dev/null +++ b/static/svgs/icon_right.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_risk.svg b/static/svgs/icon_risk.svg new file mode 100644 index 0000000..ca4e7c5 --- /dev/null +++ b/static/svgs/icon_risk.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_risk_car.svg b/static/svgs/icon_risk_car.svg new file mode 100644 index 0000000..b750046 --- /dev/null +++ b/static/svgs/icon_risk_car.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_scan.svg b/static/svgs/icon_scan.svg new file mode 100644 index 0000000..2317477 --- /dev/null +++ b/static/svgs/icon_scan.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_selected.svg b/static/svgs/icon_selected.svg new file mode 100644 index 0000000..f3a2459 --- /dev/null +++ b/static/svgs/icon_selected.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_setting.svg b/static/svgs/icon_setting.svg new file mode 100644 index 0000000..2d685ae --- /dev/null +++ b/static/svgs/icon_setting.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_share.svg b/static/svgs/icon_share.svg new file mode 100644 index 0000000..8c36d85 --- /dev/null +++ b/static/svgs/icon_share.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_share_1.svg b/static/svgs/icon_share_1.svg new file mode 100644 index 0000000..a7cd90a --- /dev/null +++ b/static/svgs/icon_share_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_shield.svg b/static/svgs/icon_shield.svg new file mode 100644 index 0000000..a2f8be7 --- /dev/null +++ b/static/svgs/icon_shield.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_unknown.svg b/static/svgs/icon_unknown.svg new file mode 100644 index 0000000..4fc33d3 --- /dev/null +++ b/static/svgs/icon_unknown.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_user_1.svg b/static/svgs/icon_user_1.svg new file mode 100644 index 0000000..402cfdf --- /dev/null +++ b/static/svgs/icon_user_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_user_2.svg b/static/svgs/icon_user_2.svg new file mode 100644 index 0000000..82a32c0 --- /dev/null +++ b/static/svgs/icon_user_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_user_3.svg b/static/svgs/icon_user_3.svg new file mode 100644 index 0000000..6ebd98c --- /dev/null +++ b/static/svgs/icon_user_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_user_4.svg b/static/svgs/icon_user_4.svg new file mode 100644 index 0000000..708e9e6 --- /dev/null +++ b/static/svgs/icon_user_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_user_5.svg b/static/svgs/icon_user_5.svg new file mode 100644 index 0000000..c1550a5 --- /dev/null +++ b/static/svgs/icon_user_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_user_6.svg b/static/svgs/icon_user_6.svg new file mode 100644 index 0000000..855715d --- /dev/null +++ b/static/svgs/icon_user_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_user_agreement.svg b/static/svgs/icon_user_agreement.svg new file mode 100644 index 0000000..0b2fd7c --- /dev/null +++ b/static/svgs/icon_user_agreement.svg @@ -0,0 +1,19 @@ + + + zhengce + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/static/svgs/icon_warning_1.svg b/static/svgs/icon_warning_1.svg new file mode 100644 index 0000000..8777c3a --- /dev/null +++ b/static/svgs/icon_warning_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_warning_2.svg b/static/svgs/icon_warning_2.svg new file mode 100644 index 0000000..fa557a9 --- /dev/null +++ b/static/svgs/icon_warning_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/icon_wechat.svg b/static/svgs/icon_wechat.svg new file mode 100644 index 0000000..acaeedc --- /dev/null +++ b/static/svgs/icon_wechat.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_doubt_1.svg b/static/svgs/pic_ckpc_doubt_1.svg new file mode 100644 index 0000000..9f866a3 --- /dev/null +++ b/static/svgs/pic_ckpc_doubt_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_doubt_2.svg b/static/svgs/pic_ckpc_doubt_2.svg new file mode 100644 index 0000000..68d8d42 --- /dev/null +++ b/static/svgs/pic_ckpc_doubt_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_doubt_3.svg b/static/svgs/pic_ckpc_doubt_3.svg new file mode 100644 index 0000000..ceebc05 --- /dev/null +++ b/static/svgs/pic_ckpc_doubt_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_doubt_4.svg b/static/svgs/pic_ckpc_doubt_4.svg new file mode 100644 index 0000000..be56cb4 --- /dev/null +++ b/static/svgs/pic_ckpc_doubt_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_doubt_6.svg b/static/svgs/pic_ckpc_doubt_6.svg new file mode 100644 index 0000000..6d2dad8 --- /dev/null +++ b/static/svgs/pic_ckpc_doubt_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_doubt_7.svg b/static/svgs/pic_ckpc_doubt_7.svg new file mode 100644 index 0000000..5bfaa14 --- /dev/null +++ b/static/svgs/pic_ckpc_doubt_7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_doubt_8.svg b/static/svgs/pic_ckpc_doubt_8.svg new file mode 100644 index 0000000..736b886 --- /dev/null +++ b/static/svgs/pic_ckpc_doubt_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_1.svg b/static/svgs/pic_ckpc_error_1.svg new file mode 100644 index 0000000..e969bf6 --- /dev/null +++ b/static/svgs/pic_ckpc_error_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_2.svg b/static/svgs/pic_ckpc_error_2.svg new file mode 100644 index 0000000..a01a292 --- /dev/null +++ b/static/svgs/pic_ckpc_error_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_3.svg b/static/svgs/pic_ckpc_error_3.svg new file mode 100644 index 0000000..77d8e1a --- /dev/null +++ b/static/svgs/pic_ckpc_error_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_4.svg b/static/svgs/pic_ckpc_error_4.svg new file mode 100644 index 0000000..41a932c --- /dev/null +++ b/static/svgs/pic_ckpc_error_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_5.svg b/static/svgs/pic_ckpc_error_5.svg new file mode 100644 index 0000000..ac03166 --- /dev/null +++ b/static/svgs/pic_ckpc_error_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_6.svg b/static/svgs/pic_ckpc_error_6.svg new file mode 100644 index 0000000..a9d1c4d --- /dev/null +++ b/static/svgs/pic_ckpc_error_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_7.svg b/static/svgs/pic_ckpc_error_7.svg new file mode 100644 index 0000000..29516b7 --- /dev/null +++ b/static/svgs/pic_ckpc_error_7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_error_8.svg b/static/svgs/pic_ckpc_error_8.svg new file mode 100644 index 0000000..822d009 --- /dev/null +++ b/static/svgs/pic_ckpc_error_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_1.svg b/static/svgs/pic_ckpc_normal_1.svg new file mode 100644 index 0000000..51209ea --- /dev/null +++ b/static/svgs/pic_ckpc_normal_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_2.svg b/static/svgs/pic_ckpc_normal_2.svg new file mode 100644 index 0000000..70d3e17 --- /dev/null +++ b/static/svgs/pic_ckpc_normal_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_3.svg b/static/svgs/pic_ckpc_normal_3.svg new file mode 100644 index 0000000..8afbd85 --- /dev/null +++ b/static/svgs/pic_ckpc_normal_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_4.svg b/static/svgs/pic_ckpc_normal_4.svg new file mode 100644 index 0000000..447215b --- /dev/null +++ b/static/svgs/pic_ckpc_normal_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_5.svg b/static/svgs/pic_ckpc_normal_5.svg new file mode 100644 index 0000000..a95f709 --- /dev/null +++ b/static/svgs/pic_ckpc_normal_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_6.svg b/static/svgs/pic_ckpc_normal_6.svg new file mode 100644 index 0000000..77903ea --- /dev/null +++ b/static/svgs/pic_ckpc_normal_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_7.svg b/static/svgs/pic_ckpc_normal_7.svg new file mode 100644 index 0000000..d240d33 --- /dev/null +++ b/static/svgs/pic_ckpc_normal_7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_normal_8.svg b/static/svgs/pic_ckpc_normal_8.svg new file mode 100644 index 0000000..c780b4b --- /dev/null +++ b/static/svgs/pic_ckpc_normal_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_1.svg b/static/svgs/pic_ckpc_unidentified_1.svg new file mode 100644 index 0000000..1d673c6 --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_2.svg b/static/svgs/pic_ckpc_unidentified_2.svg new file mode 100644 index 0000000..34665e5 --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_3.svg b/static/svgs/pic_ckpc_unidentified_3.svg new file mode 100644 index 0000000..b4f49c3 --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_4.svg b/static/svgs/pic_ckpc_unidentified_4.svg new file mode 100644 index 0000000..8124c94 --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_5.svg b/static/svgs/pic_ckpc_unidentified_5.svg new file mode 100644 index 0000000..bcbf6d4 --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_5.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_6.svg b/static/svgs/pic_ckpc_unidentified_6.svg new file mode 100644 index 0000000..7df0531 --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_6.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_7.svg b/static/svgs/pic_ckpc_unidentified_7.svg new file mode 100644 index 0000000..112723e --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_7.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/svgs/pic_ckpc_unidentified_8.svg b/static/svgs/pic_ckpc_unidentified_8.svg new file mode 100644 index 0000000..740f29d --- /dev/null +++ b/static/svgs/pic_ckpc_unidentified_8.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/store/app/index.js b/store/app/index.js new file mode 100644 index 0000000..3f0c013 --- /dev/null +++ b/store/app/index.js @@ -0,0 +1,202 @@ +var n = require("../../common/vendor.js"), + t = require("../../enums/index.js"), + o = require("../../data/index.js"), + u = n.defineStore("app", { + state: function () { + return { + token: "", + openId: "", + userId: "", + userInfo: null, + config: null, + channelName: "", + smsCountDown: 60, + totalOrderNum: 0, + showAgreementPopup: !1, + }; + }, + getters: { + nickName: function (n) { + return n.userInfo ? n.userInfo.nickName : ""; + }, + avatar: function (n) { + return n.userInfo + ? n.userInfo.avatar + : "/static/images/icon_avatar.png"; + }, + vip: function (n) { + return n.userInfo ? n.userInfo.vip : t.RoleEnum.NORMAL; + }, + vipLimitTime: function (n) { + return n.userInfo ? n.userInfo.vipLimitTime : ""; + }, + mobile: function (n) { + return n.userInfo ? n.userInfo.mobile : ""; + }, + actionList: function (u) { + if (!u.config) return []; + var r = n._.concat( + n._.map(u.config.product, function (n) { + return n.product_id; + }), + t.ProductTypeEnum.OVERALL, + t.ProductTypeEnum.VEHICLE_INFO + ); + return n._.filter(o.theActionList1, function (t) { + return ( + n._.findIndex(r, function (n) { + return n === t.params.productType; + }) > -1 + ); + }); + }, + insuranceMaintainProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.INSURANCE_MAINTAIN; + }), + { + product_name: "维保查询", + product_desc: "了解车辆维修保养记录,掌握细节不吃亏", + } + ) + : null; + }, + accidentProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.ACCIDENT; + }), + { + product_name: "出险查询", + product_desc: "查询历史车况,杜绝事故车", + } + ) + : null; + }, + vehicleFiveProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.VEHICLE_FIVE; + }), + { product_name: "查车五项", product_desc: "精准查询车辆重要信息" } + ) + : null; + }, + saliProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.SALI; + }), + { + product_name: "交强险信息", + product_desc: "根据车辆车架号,查车辆的保单号、保险公司等", + } + ) + : null; + }, + saliCheckProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.SALI_CHECK; + }), + { + product_name: "交强险投保日期", + product_desc: "查交强险保期、最近投保期始末", + } + ) + : null; + }, + commercialInsuranceProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.COMMERICAL_INSURANCE; + }), + { + product_name: "商业险查询", + product_desc: "根据车辆车架号,查车辆的保单号、保险公司等", + } + ) + : null; + }, + violationProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.VIOLATION; + }), + { + product_name: "违章查询", + product_desc: "车辆违章扣分、罚款查询", + } + ) + : null; + }, + vehicleStatusProduct: function (o) { + return o.config + ? n._.assign( + n._.find(o.config.product, function (n) { + return n.product_id == t.ProductTypeEnum.VEHICLE_STATUS; + }), + { + product_name: "查车辆状态", + product_desc: "查询车辆是否查封、锁定、抵押等信息", + } + ) + : null; + }, + payMethodList: function (n) { + return n.config ? JSON.parse(n.config.pay_method) : []; + }, + }, + actions: { + setUserData: function (t) { + var o = t.token, + u = t.openId, + r = t.userId, + e = t.userInfo; + n.index.setStorageSync("token", o), + n.index.setStorageSync("openId", u), + this.$patch({ token: o, openId: u, userId: r, userInfo: e }); + }, + setConfig: function (n) { + var t = n.config; + this.config = t; + }, + setChannelName: function (n) { + var t = n.channelName; + this.channelName = t; + }, + reduceSmsCountDown: function () { + this.smsCountDown > 0 && this.smsCountDown--; + }, + resetSmsCountDown: function () { + this.smsCountDown = 60; + }, + userLogout: function () { + n.index.setStorageSync("token", ""), + n.index.setStorageSync("openId", ""), + this.$patch({ + token: "", + openId: "", + userId: "", + userInfo: null, + totalOrderNum: 0, + }); + }, + setTotalOrderNum: function (n) { + var t = n.totalOrderNum; + this.totalOrderNum = t; + }, + setAgreementPopupShow: function (n) { + this.showAgreementPopup = n; + }, + }, + }); +exports.useAppStore = u; diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js new file mode 100644 index 0000000..fe427f0 --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.js @@ -0,0 +1,156 @@ +var e = require("../../../../common/vendor.js"), + t = { + name: "uniCollapseItem", + props: { + title: { type: String, default: "" }, + name: { type: [Number, String], default: "" }, + disabled: { type: Boolean, default: !1 }, + showAnimation: { type: Boolean, default: !0 }, + open: { type: Boolean, default: !1 }, + thumb: { type: String, default: "" }, + titleBorder: { type: String, default: "auto" }, + border: { type: Boolean, default: !0 }, + showArrow: { type: Boolean, default: !0 }, + }, + data: function () { + return { + isOpen: !1, + isheight: null, + height: 0, + elId: "Uni_".concat(Math.ceil(1e6 * Math.random()).toString(36)), + nameSync: 0, + }; + }, + watch: { + open: function (e) { + (this.isOpen = e), this.onClick(e, "init"); + }, + }, + updated: function (e) { + var t = this; + this.$nextTick(function () { + t.init(!0); + }); + }, + created: function () { + (this.collapse = this.getCollapse()), + (this.oldHeight = 0), + this.onClick(this.open, "init"); + }, + unmounted: function () { + (this.__isUnmounted = !0), this.uninstall(); + }, + mounted: function () { + this.collapse && + ("" !== this.name + ? (this.nameSync = this.name) + : (this.nameSync = this.collapse.childrens.length + ""), + -1 === this.collapse.names.indexOf(this.nameSync) + ? this.collapse.names.push(this.nameSync) + : console.warn("name 值 ".concat(this.nameSync, " 重复")), + -1 === this.collapse.childrens.indexOf(this) && + this.collapse.childrens.push(this), + this.init()); + }, + methods: { + init: function (e) { + this.getCollapseHeight(e); + }, + uninstall: function () { + var e = this; + this.collapse && + (this.collapse.childrens.forEach(function (t, i) { + t === e && e.collapse.childrens.splice(i, 1); + }), + this.collapse.names.forEach(function (t, i) { + t === e.nameSync && e.collapse.names.splice(i, 1); + })); + }, + onClick: function (e, t) { + this.disabled || + ((this.isOpen = e), + this.isOpen && this.collapse && this.collapse.setAccordion(this), + "init" !== t && this.collapse.onChange(e, this)); + }, + getCollapseHeight: function (t) { + var i = this, + n = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; + e.index + .createSelectorQuery() + .in(this) + .select("#".concat(this.elId)) + .fields({ size: !0 }, function (e) { + if (!(n >= 10)) { + if (!e) return n++, void i.getCollapseHeight(!1, n); + (i.height = e.height), + (i.isheight = !0), + t || i.onClick(i.isOpen, "init"); + } + }) + .exec(); + }, + getNvueHwight: function (e) { + var t = this; + dom.getComponentRect(this.$refs["collapse--hook"], function (i) { + if (i && i.result && i.size) { + if (((t.height = i.size.height), (t.isheight = !0), e)) return; + t.onClick(t.open, "init"); + } + }); + }, + getCollapse: function () { + for ( + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : "uniCollapse", + t = this.$parent, + i = t.$options.name; + i !== e; + + ) { + if (!(t = t.$parent)) return !1; + i = t.$options.name; + } + return t; + }, + }, + }; +Array || e.resolveComponent("uni-icons")(), Math; +var i = e._export_sfc(t, [ + [ + "render", + function (t, i, n, o, s, l) { + return e.e( + { a: n.thumb }, + n.thumb ? { b: n.thumb } : {}, + { c: e.t(n.title), d: n.disabled ? 1 : "", e: n.showArrow }, + n.showArrow + ? { + f: e.p({ + color: n.disabled ? "#ddd" : "#bbb", + size: "14", + type: "bottom", + }), + g: s.isOpen ? 1 : "", + h: !0 === n.showAnimation ? 1 : "", + } + : {}, + { + i: e.o(function (e) { + return l.onClick(!s.isOpen); + }), + j: s.isOpen && "auto" === n.titleBorder ? 1 : "", + k: "none" !== n.titleBorder ? 1 : "", + l: s.elId, + m: s.isheight ? 1 : "", + n: n.border && s.isOpen ? 1 : "", + o: n.showAnimation ? 1 : "", + p: (s.isOpen ? s.height : 0) + "px", + } + ); + }, + ], +]); +wx.createComponent(i); diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json new file mode 100644 index 0000000..e04ee64 --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-icons": "../../../uni-icons/components/uni-icons/uni-icons" + } +} diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml new file mode 100644 index 0000000..41797f8 --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxml @@ -0,0 +1,44 @@ + + + + + + + {{c}} + + + + + + + + + + + + diff --git a/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss new file mode 100644 index 0000000..ea39095 --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.wxss @@ -0,0 +1,101 @@ +.uni-collapse-item { + box-sizing: border-box; +} +.uni-collapse-item__title { + align-items: center; + box-sizing: border-box; + display: -webkit-flex; + display: flex; + flex-direction: row; + transition: border-bottom-color 0.3s; + width: 100%; +} +.uni-collapse-item__title-wrap { + flex: 1; + width: 100%; +} +.uni-collapse-item__title-box { + align-items: center; + background-color: #fff; + box-sizing: border-box; + color: #303133; + display: -webkit-flex; + display: flex; + flex-direction: row; + font-size: 13px; + font-weight: 500; + height: 48px; + justify-content: space-between; + line-height: 48px; + padding: 0 15px; + width: 100%; +} +.uni-collapse-item__title-box.is-disabled .uni-collapse-item__title-text { + color: #999; +} +.uni-collapse-item__title.uni-collapse-item-border { + border-bottom: 1px solid #ebeef5; +} +.uni-collapse-item__title.is-open { + border-bottom-color: transparent; +} +.uni-collapse-item__title-img { + height: 22px; + margin-right: 10px; + width: 22px; +} +.uni-collapse-item__title-text { + color: inherit; + flex: 1; + font-size: 14px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.uni-collapse-item__title-arrow { + align-items: center; + box-sizing: border-box; + display: -webkit-flex; + display: flex; + height: 20px; + justify-content: center; + margin-right: 10px; + transform: rotate(0); + width: 20px; +} +.uni-collapse-item__title-arrow-active { + transform: rotate(-180deg); +} +.uni-collapse-item__wrap { + background-color: #fff; + box-sizing: border-box; + height: 0; + overflow: hidden; + position: relative; + will-change: height; +} +.uni-collapse-item__wrap.is--transition { + transition-duration: 0.3s; + transition-property: height, border-bottom-width; + will-change: height; +} +.uni-collapse-item__wrap-content { + border-bottom: 0 solid transparent; + color: #303133; + font-size: 13px; + position: absolute; +} +.uni-collapse-item__wrap-content.uni-collapse-item--border { + border-bottom-color: #ebeef5; + border-bottom-width: 1px; +} +.uni-collapse-item__wrap-content.open { + position: relative; +} +.uni-collapse-item--animation { + transition-duration: 0.3s; + transition-property: -webkit-transform; + transition-property: transform; + transition-property: transform, -webkit-transform; + transition-timing-function: ease; +} diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js new file mode 100644 index 0000000..5e89c82 --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.js @@ -0,0 +1,99 @@ +var e = require("../../../../common/vendor.js"), + t = { + name: "uniCollapse", + emits: ["change", "activeItem", "input", "update:modelValue"], + props: { + value: { type: [String, Array], default: "" }, + modelValue: { type: [String, Array], default: "" }, + accordion: { type: [Boolean, String], default: !1 }, + }, + data: function () { + return {}; + }, + computed: { + dataValue: function () { + var e = + ("string" == typeof this.value && "" === this.value) || + (Array.isArray(this.value) && 0 === this.value.length); + return ( + ("string" == typeof this.modelValue && "" === this.modelValue) || + (Array.isArray(this.modelValue) && this.modelValue.length), + e ? this.modelValue : this.value + ); + }, + }, + watch: { + dataValue: function (e) { + this.setOpen(e); + }, + }, + created: function () { + (this.childrens = []), (this.names = []); + }, + mounted: function () { + var e = this; + this.$nextTick(function () { + e.setOpen(e.dataValue); + }); + }, + methods: { + setOpen: function (e) { + var t = this, + n = "string" == typeof e, + i = Array.isArray(e); + this.childrens.forEach(function (a, o) { + if (n && e === a.nameSync) { + if (!t.accordion) + return void console.warn( + "accordion 属性为 false ,v-model 类型应该为 array" + ); + a.isOpen = !0; + } + i && + e.forEach(function (e) { + if (e === a.nameSync) { + if (t.accordion) + return void console.warn( + "accordion 属性为 true ,v-model 类型应该为 string" + ); + a.isOpen = !0; + } + }); + }), + this.emit(e); + }, + setAccordion: function (e) { + this.accordion && + this.childrens.forEach(function (t, n) { + e !== t && (t.isOpen = !1); + }); + }, + resize: function () { + this.childrens.forEach(function (e, t) { + e.getCollapseHeight(); + }); + }, + onChange: function (e, t) { + var n = []; + this.accordion + ? (n = e ? t.nameSync : "") + : this.childrens.forEach(function (e, t) { + e.isOpen && n.push(e.nameSync); + }), + this.$emit("change", n), + this.emit(n); + }, + emit: function (e) { + this.$emit("input", e), this.$emit("update:modelValue", e); + }, + }, + }, + n = e._export_sfc(t, [ + [ + "render", + function (e, t, n, i, a, o) { + return {}; + }, + ], + ]); +wx.createComponent(n); diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml new file mode 100644 index 0000000..30a145b --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxml @@ -0,0 +1,3 @@ + + + diff --git a/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss new file mode 100644 index 0000000..f98d4d9 --- /dev/null +++ b/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.wxss @@ -0,0 +1,7 @@ +.uni-collapse { + background-color: #fff; + display: -webkit-flex; + display: flex; + flex-direction: column; + width: 100%; +} diff --git a/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js b/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js new file mode 100644 index 0000000..c44c67f --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js @@ -0,0 +1,20 @@ +exports.messages = { + en: { + "uni-countdown.day": "day", + "uni-countdown.h": "h", + "uni-countdown.m": "m", + "uni-countdown.s": "s", + }, + "zh-Hans": { + "uni-countdown.day": "天", + "uni-countdown.h": "时", + "uni-countdown.m": "分", + "uni-countdown.s": "秒", + }, + "zh-Hant": { + "uni-countdown.day": "天", + "uni-countdown.h": "時", + "uni-countdown.m": "分", + "uni-countdown.s": "秒", + }, +}; diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js new file mode 100644 index 0000000..03bbcdf --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.js @@ -0,0 +1,203 @@ +var t = require("../../../../common/vendor.js"), + i = require("./i18n/index.js"), + e = t.initVueI18n(i.messages).t, + n = { + name: "UniCountdown", + emits: ["timeup"], + props: { + showDay: { type: Boolean, default: !0 }, + showColon: { type: Boolean, default: !0 }, + start: { type: Boolean, default: !0 }, + backgroundColor: { type: String, default: "" }, + color: { type: String, default: "#333" }, + fontSize: { type: Number, default: 14 }, + splitorColor: { type: String, default: "#333" }, + day: { type: Number, default: 0 }, + hour: { type: Number, default: 0 }, + minute: { type: Number, default: 0 }, + second: { type: Number, default: 0 }, + milliSecond: { type: Number, default: 0 }, + timestamp: { type: Number, default: 0 }, + }, + data: function () { + return { + timer: null, + syncFlag: !1, + d: "00", + h: "00", + i: "00", + s: "00", + ms: "00", + milliSeconds: 0, + }; + }, + computed: { + dayText: function () { + return e("uni-countdown.day"); + }, + hourText: function (t) { + return e("uni-countdown.h"); + }, + minuteText: function (t) { + return e("uni-countdown.m"); + }, + secondText: function (t) { + return e("uni-countdown.s"); + }, + timeStyle: function () { + var t = this.color, + i = this.backgroundColor, + e = this.fontSize; + return { + color: t, + backgroundColor: i, + fontSize: "".concat(e, "rpx"), + width: (22 * e) / 14 + "rpx", + lineHeight: (20 * e) / 14 + "rpx", + borderRadius: (3 * e) / 14 + "rpx", + }; + }, + splitorStyle: function () { + var t = this.splitorColor, + i = this.fontSize; + this.backgroundColor; + return { color: t, fontSize: "".concat(i, "rpx") }; + }, + }, + watch: { + day: function (t) { + this.changeFlag(); + }, + hour: function (t) { + this.changeFlag(); + }, + minute: function (t) { + this.changeFlag(); + }, + second: function (t) { + this.changeFlag(); + }, + milliSecond: function (t) { + this.changeFlag(); + }, + start: { + immediate: !0, + handler: function (t, i) { + if (t) this.startData(); + else { + if (!i) return; + clearInterval(this.timer); + } + }, + }, + }, + created: function (t) { + (this.milliSeconds = this.toMilliSeconds( + this.day, + this.hour, + this.minute, + this.second, + this.milliSecond + )), + this.countDown(); + }, + unmounted: function () { + clearInterval(this.timer); + }, + methods: { + toMilliSeconds: function (t, i, e, n, o) { + return ( + 24 * t * 60 * 60 * 1e3 + + 60 * i * 60 * 1e3 + + 60 * e * 1e3 + + 1e3 * n + + o + ); + }, + timeUp: function () { + clearInterval(this.timer), this.$emit("timeup"); + }, + countDown: function () { + var t = this.milliSeconds, + i = 0, + e = 0, + n = 0, + o = 0, + s = 0; + t > 0 + ? ((i = Math.floor(t / 864e5)), + (e = Math.floor(t / 36e5) - 24 * i), + (n = Math.floor(t / 6e4) - 24 * i * 60 - 60 * e), + (o = Math.floor(t / 1e3) - 24 * i * 60 * 60 - 60 * e * 60 - 60 * n), + (s = Math.floor(t) - 24 * i * 60 * 60 - 60 * e * 60 - 60 * n - o)) + : this.timeUp(), + i < 10 && (i = "0" + i), + e < 10 && (e = "0" + e), + n < 10 && (n = "0" + n), + o < 10 && (o = "0" + o), + (s = s < 10 ? "0" + s : ((s % 1e3) / 10).toFixed(0)), + (this.d = i), + (this.h = e), + (this.i = n), + (this.s = o), + (this.ms = s); + }, + startData: function () { + var t = this; + if ( + ((this.milliSeconds = this.toMilliSeconds( + this.day, + this.hour, + this.minute, + this.second, + this.milliSecond + )), + this.milliSeconds <= 0) + ) + return ( + (this.milliSeconds = this.toMilliSeconds(0, 0, 0, 0, 0)), + void this.countDown() + ); + clearInterval(this.timer), + this.countDown(), + (this.timer = setInterval(function () { + (t.milliSeconds = t.milliSeconds - 10), + t.milliSeconds < 0 ? t.timeUp() : t.countDown(); + }, 10)); + }, + update: function () { + this.startData(); + }, + changeFlag: function () { + this.syncFlag || + ((this.milliSeconds = this.toSeconds( + this.day, + this.hour, + this.minute, + this.second, + this.milliSecond + )), + this.startData(), + (this.syncFlag = !0)); + }, + }, + }, + o = t._export_sfc(n, [ + [ + "render", + function (i, e, n, o, s, r) { + return { + a: t.t(s.i), + b: t.s(r.timeStyle), + c: t.s(r.splitorStyle), + d: t.t(s.s), + e: t.s(r.timeStyle), + f: t.s(r.splitorStyle), + g: t.t(s.ms), + h: t.s(r.timeStyle), + }; + }, + ], + ["__scopeId", "data-v-edf646b4"], + ]); +wx.createComponent(o); diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.json b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxml b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxml new file mode 100644 index 0000000..01cca43 --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxml @@ -0,0 +1,7 @@ + + {{a}} + + {{d}} + + {{g}} + diff --git a/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxss b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxss new file mode 100644 index 0000000..358260f --- /dev/null +++ b/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.wxss @@ -0,0 +1,17 @@ +.uni-countdown.data-v-edf646b4 { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: row; + justify-content: flex-start; +} +.uni-countdown__splitor.data-v-edf646b4 { + color: #333; + font-size: 14px; + margin: 0 2px; +} +.uni-countdown__number.data-v-edf646b4 { + border-radius: 3px; + font-size: 14px; + text-align: center; +} diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js new file mode 100644 index 0000000..fdd4b23 --- /dev/null +++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.js @@ -0,0 +1,253 @@ +var e = require("../../../../common/vendor.js"), + t = { + name: "uni-data-select", + mixins: [e.Ws.mixinDatacom || {}], + props: { + localdata: { + type: Array, + default: function () { + return []; + }, + }, + value: { type: [String, Number], default: "" }, + modelValue: { type: [String, Number], default: "" }, + label: { type: String, default: "" }, + placeholder: { type: String, default: "请选择" }, + emptyTips: { type: String, default: "无选项" }, + clear: { type: Boolean, default: !0 }, + defItem: { type: Number, default: 0 }, + disabled: { type: Boolean, default: !1 }, + format: { type: String, default: "" }, + }, + data: function () { + return { + showSelector: !1, + current: "", + mixinDatacomResData: [], + apps: [], + channels: [], + cacheKey: "uni-data-select-lastSelectedValue", + }; + }, + created: function () { + var e = this; + (this.debounceGet = this.debounce(function () { + e.query(); + }, 300)), + this.collection && !this.localdata.length && this.debounceGet(); + }, + computed: { + typePlaceholder: function () { + var e = this.placeholder, + t = { + "opendb-stat-app-versions": "版本", + "opendb-app-channels": "渠道", + "opendb-app-list": "应用", + }[this.collection]; + return t ? e + t : e; + }, + valueCom: function () { + return this.modelValue; + }, + }, + watch: { + localdata: { + immediate: !0, + handler: function (e, t) { + Array.isArray(e) && t !== e && (this.mixinDatacomResData = e); + }, + }, + valueCom: function (e, t) { + this.initDefVal(); + }, + mixinDatacomResData: { + immediate: !0, + handler: function (e) { + e.length && this.initDefVal(); + }, + }, + }, + methods: { + debounce: function (e) { + var t = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 100, + a = null; + return function () { + for ( + var i = this, n = arguments.length, o = new Array(n), c = 0; + c < n; + c++ + ) + o[c] = arguments[c]; + a && clearTimeout(a), + (a = setTimeout(function () { + e.apply(i, o); + }, t)); + }; + }, + query: function () { + this.mixinDatacomEasyGet(); + }, + onMixinDatacomPropsChange: function () { + this.collection && this.debounceGet(); + }, + initDefVal: function () { + var e = ""; + if ( + (!this.valueCom && 0 !== this.valueCom) || + this.isDisabled(this.valueCom) + ) { + var t; + if ((this.collection && (t = this.getCache()), t || 0 === t)) e = t; + else { + var a = ""; + this.defItem > 0 && + this.defItem <= this.mixinDatacomResData.length && + (a = this.mixinDatacomResData[this.defItem - 1].value), + (e = a); + } + (e || 0 === e) && this.emit(e); + } else e = this.valueCom; + var i = this.mixinDatacomResData.find(function (t) { + return t.value === e; + }); + this.current = i ? this.formatItemName(i) : ""; + }, + isDisabled: function (e) { + var t = !1; + return ( + this.mixinDatacomResData.forEach(function (a) { + a.value === e && (t = a.disable); + }), + t + ); + }, + clearVal: function () { + this.emit(""), this.collection && this.removeCache(); + }, + change: function (e) { + e.disable || + ((this.showSelector = !1), + (this.current = this.formatItemName(e)), + this.emit(e.value)); + }, + emit: function (e) { + this.$emit("input", e), + this.$emit("update:modelValue", e), + this.$emit("change", e), + this.collection && this.setCache(e); + }, + toggleSelector: function () { + this.disabled || (this.showSelector = !this.showSelector); + }, + formatItemName: function (e) { + var t = e.text, + a = e.value, + i = e.channel_code; + if (((i = i ? "(".concat(i, ")") : ""), this.format)) { + var n = ""; + for (var o in ((n = this.format), e)) + n = n.replace(new RegExp("{".concat(o, "}"), "g"), e[o]); + return n; + } + return this.collection.indexOf("app-list") > 0 + ? "".concat(t, "(").concat(a, ")") + : t || "未命名".concat(i); + }, + getLoadData: function () { + return this.mixinDatacomResData; + }, + getCurrentCacheKey: function () { + return this.collection; + }, + getCache: function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : this.getCurrentCacheKey(); + return (e.index.getStorageSync(this.cacheKey) || {})[t]; + }, + setCache: function (t) { + var a = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : this.getCurrentCacheKey(), + i = e.index.getStorageSync(this.cacheKey) || {}; + (i[a] = t), e.index.setStorageSync(this.cacheKey, i); + }, + removeCache: function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : this.getCurrentCacheKey(), + a = e.index.getStorageSync(this.cacheKey) || {}; + delete a[t], e.index.setStorageSync(this.cacheKey, a); + }, + }, + }; +Array || e.resolveComponent("uni-icons")(), Math; +var a = e._export_sfc(t, [ + [ + "render", + function (t, a, i, n, o, c) { + return e.e( + { a: i.label }, + i.label ? { b: e.t(i.label + ":") } : {}, + { c: o.current }, + o.current ? { d: e.t(o.current) } : { e: e.t(c.typePlaceholder) }, + { f: o.current && i.clear && !i.disabled }, + o.current && i.clear && !i.disabled + ? { + g: e.p({ type: "clear", color: "#c0c4cc", size: "20" }), + h: e.o(function () { + return c.clearVal && c.clearVal.apply(c, arguments); + }), + } + : { + i: e.p({ + type: o.showSelector ? "top" : "bottom", + size: "14", + color: "#999", + }), + }, + { + j: e.o(function () { + return c.toggleSelector && c.toggleSelector.apply(c, arguments); + }), + k: o.showSelector, + }, + o.showSelector + ? { + l: e.o(function () { + return c.toggleSelector && c.toggleSelector.apply(c, arguments); + }), + } + : {}, + { m: o.showSelector }, + o.showSelector + ? e.e( + { n: 0 === o.mixinDatacomResData.length }, + 0 === o.mixinDatacomResData.length + ? { o: e.t(i.emptyTips) } + : { + p: e.f(o.mixinDatacomResData, function (t, a, i) { + return { + a: e.t(c.formatItemName(t)), + b: t.disable ? 1 : "", + c: a, + d: e.o(function (e) { + return c.change(t); + }, a), + }; + }), + } + ) + : {}, + { q: i.disabled ? 1 : "", r: o.current ? 1 : "" } + ); + }, + ], +]); +wx.createComponent(a); diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json new file mode 100644 index 0000000..e04ee64 --- /dev/null +++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-icons": "../../../uni-icons/components/uni-icons/uni-icons" + } +} diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml new file mode 100644 index 0000000..b451187 --- /dev/null +++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxml @@ -0,0 +1,52 @@ + + + + + + {{d}} + {{e}} + + + + + + + + + + + + + {{o}} + + + + {{item.a}} + + + + + + + diff --git a/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss new file mode 100644 index 0000000..ccf402e --- /dev/null +++ b/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.wxss @@ -0,0 +1,146 @@ +@media screen and (max-width: 500px) { + .hide-on-phone { + display: none; + } +} +.uni-stat__select { + align-items: center; + box-sizing: border-box; + display: -webkit-flex; + display: flex; +} +.uni-stat-box, +.uni-stat__actived, +.uni-stat__select { + flex: 1; + width: 100%; +} +.uni-label-text { + color: #6a6a6a; + font-size: 14px; + font-weight: 700; + margin: auto 5px auto 0; +} +.uni-select { + align-items: center; + border: 1px solid #1f68e9; + border-radius: 8rpx; + box-sizing: border-box; + display: -webkit-flex; + display: flex; + flex: 1; + flex-direction: row; + font-size: 30rpx; + padding: 20rpx 30rpx; + position: relative; + user-select: none; + width: 100%; +} +.uni-select--disabled { + background-color: #f5f7fa; + cursor: not-allowed; +} +.uni-select__label { + color: #909399; + font-size: 16px; + padding-right: 10px; +} +.uni-select__input-box { + align-items: center; + display: -webkit-flex; + display: flex; + flex: 1; + flex-direction: row; + font-size: 30rpx; + position: relative; +} +.uni-select__input { + flex: 1; + font-size: 14px; + height: 22px; + line-height: 22px; +} +.uni-select__input-plac { + color: #909399; + font-size: 14px; +} +.uni-select__selector { + background-color: #fff; + border: 1px solid #ebeef5; + border-radius: 6px; + box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); + box-sizing: border-box; + left: 0; + padding: 4px 0; + position: absolute; + top: calc(100% + 12px); + width: 100%; + z-index: 3; +} +.uni-select__selector-scroll { + box-sizing: border-box; + max-height: 200px; +} +.uni-select__selector-empty, +.uni-select__selector-item { + cursor: pointer; + display: -webkit-flex; + display: flex; + font-size: 30rpx; + padding: 20rpx 30rpx; + text-align: center; +} +.uni-select__selector-item:hover { + background-color: #f9f9f9; +} +.uni-select__selector-empty:last-child, +.uni-select__selector-item:last-child { + border-bottom: none; +} +.uni-select__selector__disabled { + cursor: default; + opacity: 0.4; +} +.uni-popper__arrow, +.uni-popper__arrow:after { + border: 6px solid transparent; + display: block; + height: 0; + position: absolute; + width: 0; +} +.uni-popper__arrow { + border-bottom-color: #ebeef5; + border-top-width: 0; + filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03)); + left: 10%; + margin-right: 3px; + top: -6px; +} +.uni-popper__arrow:after { + border-bottom-color: #fff; + border-top-width: 0; + content: " "; + margin-left: -6px; + top: 1px; +} +.uni-select__input-text { + color: #333; + font-size: 30rpx; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 100%; +} +.uni-select__input-placeholder { + color: #6a6a6a; + font-size: 30rpx; +} +.uni-select--mask { + bottom: 0; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 2; +} diff --git a/uni_modules/uni-icons/components/uni-icons/icons.js b/uni_modules/uni-icons/components/uni-icons/icons.js new file mode 100644 index 0000000..920fc92 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/icons.js @@ -0,0 +1,1171 @@ +exports.icons = { + id: "2852637", + name: "uniui图标库", + font_family: "uniicons", + css_prefix_text: "uniui-", + description: "", + glyphs: [ + { + icon_id: "25027049", + name: "yanse", + font_class: "color", + unicode: "e6cf", + unicode_decimal: 59087, + }, + { + icon_id: "25027048", + name: "wallet", + font_class: "wallet", + unicode: "e6b1", + unicode_decimal: 59057, + }, + { + icon_id: "25015720", + name: "settings-filled", + font_class: "settings-filled", + unicode: "e6ce", + unicode_decimal: 59086, + }, + { + icon_id: "25015434", + name: "shimingrenzheng-filled", + font_class: "auth-filled", + unicode: "e6cc", + unicode_decimal: 59084, + }, + { + icon_id: "24934246", + name: "shop-filled", + font_class: "shop-filled", + unicode: "e6cd", + unicode_decimal: 59085, + }, + { + icon_id: "24934159", + name: "staff-filled-01", + font_class: "staff-filled", + unicode: "e6cb", + unicode_decimal: 59083, + }, + { + icon_id: "24932461", + name: "VIP-filled", + font_class: "vip-filled", + unicode: "e6c6", + unicode_decimal: 59078, + }, + { + icon_id: "24932462", + name: "plus_circle_fill", + font_class: "plus-filled", + unicode: "e6c7", + unicode_decimal: 59079, + }, + { + icon_id: "24932463", + name: "folder_add-filled", + font_class: "folder-add-filled", + unicode: "e6c8", + unicode_decimal: 59080, + }, + { + icon_id: "24932464", + name: "yanse-filled", + font_class: "color-filled", + unicode: "e6c9", + unicode_decimal: 59081, + }, + { + icon_id: "24932465", + name: "tune-filled", + font_class: "tune-filled", + unicode: "e6ca", + unicode_decimal: 59082, + }, + { + icon_id: "24932455", + name: "a-rilidaka-filled", + font_class: "calendar-filled", + unicode: "e6c0", + unicode_decimal: 59072, + }, + { + icon_id: "24932456", + name: "notification-filled", + font_class: "notification-filled", + unicode: "e6c1", + unicode_decimal: 59073, + }, + { + icon_id: "24932457", + name: "wallet-filled", + font_class: "wallet-filled", + unicode: "e6c2", + unicode_decimal: 59074, + }, + { + icon_id: "24932458", + name: "paihangbang-filled", + font_class: "medal-filled", + unicode: "e6c3", + unicode_decimal: 59075, + }, + { + icon_id: "24932459", + name: "gift-filled", + font_class: "gift-filled", + unicode: "e6c4", + unicode_decimal: 59076, + }, + { + icon_id: "24932460", + name: "fire-filled", + font_class: "fire-filled", + unicode: "e6c5", + unicode_decimal: 59077, + }, + { + icon_id: "24928001", + name: "refreshempty", + font_class: "refreshempty", + unicode: "e6bf", + unicode_decimal: 59071, + }, + { + icon_id: "24926853", + name: "location-ellipse", + font_class: "location-filled", + unicode: "e6af", + unicode_decimal: 59055, + }, + { + icon_id: "24926735", + name: "person-filled", + font_class: "person-filled", + unicode: "e69d", + unicode_decimal: 59037, + }, + { + icon_id: "24926703", + name: "personadd-filled", + font_class: "personadd-filled", + unicode: "e698", + unicode_decimal: 59032, + }, + { + icon_id: "24923351", + name: "back", + font_class: "back", + unicode: "e6b9", + unicode_decimal: 59065, + }, + { + icon_id: "24923352", + name: "forward", + font_class: "forward", + unicode: "e6ba", + unicode_decimal: 59066, + }, + { + icon_id: "24923353", + name: "arrowthinright", + font_class: "arrow-right", + unicode: "e6bb", + unicode_decimal: 59067, + }, + { + icon_id: "24923353", + name: "arrowthinright", + font_class: "arrowthinright", + unicode: "e6bb", + unicode_decimal: 59067, + }, + { + icon_id: "24923354", + name: "arrowthinleft", + font_class: "arrow-left", + unicode: "e6bc", + unicode_decimal: 59068, + }, + { + icon_id: "24923354", + name: "arrowthinleft", + font_class: "arrowthinleft", + unicode: "e6bc", + unicode_decimal: 59068, + }, + { + icon_id: "24923355", + name: "arrowthinup", + font_class: "arrow-up", + unicode: "e6bd", + unicode_decimal: 59069, + }, + { + icon_id: "24923355", + name: "arrowthinup", + font_class: "arrowthinup", + unicode: "e6bd", + unicode_decimal: 59069, + }, + { + icon_id: "24923356", + name: "arrowthindown", + font_class: "arrow-down", + unicode: "e6be", + unicode_decimal: 59070, + }, + { + icon_id: "24923356", + name: "arrowthindown", + font_class: "arrowthindown", + unicode: "e6be", + unicode_decimal: 59070, + }, + { + icon_id: "24923349", + name: "arrowdown", + font_class: "bottom", + unicode: "e6b8", + unicode_decimal: 59064, + }, + { + icon_id: "24923349", + name: "arrowdown", + font_class: "arrowdown", + unicode: "e6b8", + unicode_decimal: 59064, + }, + { + icon_id: "24923346", + name: "arrowright", + font_class: "right", + unicode: "e6b5", + unicode_decimal: 59061, + }, + { + icon_id: "24923346", + name: "arrowright", + font_class: "arrowright", + unicode: "e6b5", + unicode_decimal: 59061, + }, + { + icon_id: "24923347", + name: "arrowup", + font_class: "top", + unicode: "e6b6", + unicode_decimal: 59062, + }, + { + icon_id: "24923347", + name: "arrowup", + font_class: "arrowup", + unicode: "e6b6", + unicode_decimal: 59062, + }, + { + icon_id: "24923348", + name: "arrowleft", + font_class: "left", + unicode: "e6b7", + unicode_decimal: 59063, + }, + { + icon_id: "24923348", + name: "arrowleft", + font_class: "arrowleft", + unicode: "e6b7", + unicode_decimal: 59063, + }, + { + icon_id: "24923334", + name: "eye", + font_class: "eye", + unicode: "e651", + unicode_decimal: 58961, + }, + { + icon_id: "24923335", + name: "eye-filled", + font_class: "eye-filled", + unicode: "e66a", + unicode_decimal: 58986, + }, + { + icon_id: "24923336", + name: "eye-slash", + font_class: "eye-slash", + unicode: "e6b3", + unicode_decimal: 59059, + }, + { + icon_id: "24923337", + name: "eye-slash-filled", + font_class: "eye-slash-filled", + unicode: "e6b4", + unicode_decimal: 59060, + }, + { + icon_id: "24923305", + name: "info-filled", + font_class: "info-filled", + unicode: "e649", + unicode_decimal: 58953, + }, + { + icon_id: "24923299", + name: "reload-01", + font_class: "reload", + unicode: "e6b2", + unicode_decimal: 59058, + }, + { + icon_id: "24923195", + name: "mic_slash_fill", + font_class: "micoff-filled", + unicode: "e6b0", + unicode_decimal: 59056, + }, + { + icon_id: "24923165", + name: "map-pin-ellipse", + font_class: "map-pin-ellipse", + unicode: "e6ac", + unicode_decimal: 59052, + }, + { + icon_id: "24923166", + name: "map-pin", + font_class: "map-pin", + unicode: "e6ad", + unicode_decimal: 59053, + }, + { + icon_id: "24923167", + name: "location", + font_class: "location", + unicode: "e6ae", + unicode_decimal: 59054, + }, + { + icon_id: "24923064", + name: "starhalf", + font_class: "starhalf", + unicode: "e683", + unicode_decimal: 59011, + }, + { + icon_id: "24923065", + name: "star", + font_class: "star", + unicode: "e688", + unicode_decimal: 59016, + }, + { + icon_id: "24923066", + name: "star-filled", + font_class: "star-filled", + unicode: "e68f", + unicode_decimal: 59023, + }, + { + icon_id: "24899646", + name: "a-rilidaka", + font_class: "calendar", + unicode: "e6a0", + unicode_decimal: 59040, + }, + { + icon_id: "24899647", + name: "fire", + font_class: "fire", + unicode: "e6a1", + unicode_decimal: 59041, + }, + { + icon_id: "24899648", + name: "paihangbang", + font_class: "medal", + unicode: "e6a2", + unicode_decimal: 59042, + }, + { + icon_id: "24899649", + name: "font", + font_class: "font", + unicode: "e6a3", + unicode_decimal: 59043, + }, + { + icon_id: "24899650", + name: "gift", + font_class: "gift", + unicode: "e6a4", + unicode_decimal: 59044, + }, + { + icon_id: "24899651", + name: "link", + font_class: "link", + unicode: "e6a5", + unicode_decimal: 59045, + }, + { + icon_id: "24899652", + name: "notification", + font_class: "notification", + unicode: "e6a6", + unicode_decimal: 59046, + }, + { + icon_id: "24899653", + name: "staff", + font_class: "staff", + unicode: "e6a7", + unicode_decimal: 59047, + }, + { + icon_id: "24899654", + name: "VIP", + font_class: "vip", + unicode: "e6a8", + unicode_decimal: 59048, + }, + { + icon_id: "24899655", + name: "folder_add", + font_class: "folder-add", + unicode: "e6a9", + unicode_decimal: 59049, + }, + { + icon_id: "24899656", + name: "tune", + font_class: "tune", + unicode: "e6aa", + unicode_decimal: 59050, + }, + { + icon_id: "24899657", + name: "shimingrenzheng", + font_class: "auth", + unicode: "e6ab", + unicode_decimal: 59051, + }, + { + icon_id: "24899565", + name: "person", + font_class: "person", + unicode: "e699", + unicode_decimal: 59033, + }, + { + icon_id: "24899566", + name: "email-filled", + font_class: "email-filled", + unicode: "e69a", + unicode_decimal: 59034, + }, + { + icon_id: "24899567", + name: "phone-filled", + font_class: "phone-filled", + unicode: "e69b", + unicode_decimal: 59035, + }, + { + icon_id: "24899568", + name: "phone", + font_class: "phone", + unicode: "e69c", + unicode_decimal: 59036, + }, + { + icon_id: "24899570", + name: "email", + font_class: "email", + unicode: "e69e", + unicode_decimal: 59038, + }, + { + icon_id: "24899571", + name: "personadd", + font_class: "personadd", + unicode: "e69f", + unicode_decimal: 59039, + }, + { + icon_id: "24899558", + name: "chatboxes-filled", + font_class: "chatboxes-filled", + unicode: "e692", + unicode_decimal: 59026, + }, + { + icon_id: "24899559", + name: "contact", + font_class: "contact", + unicode: "e693", + unicode_decimal: 59027, + }, + { + icon_id: "24899560", + name: "chatbubble-filled", + font_class: "chatbubble-filled", + unicode: "e694", + unicode_decimal: 59028, + }, + { + icon_id: "24899561", + name: "contact-filled", + font_class: "contact-filled", + unicode: "e695", + unicode_decimal: 59029, + }, + { + icon_id: "24899562", + name: "chatboxes", + font_class: "chatboxes", + unicode: "e696", + unicode_decimal: 59030, + }, + { + icon_id: "24899563", + name: "chatbubble", + font_class: "chatbubble", + unicode: "e697", + unicode_decimal: 59031, + }, + { + icon_id: "24881290", + name: "upload-filled", + font_class: "upload-filled", + unicode: "e68e", + unicode_decimal: 59022, + }, + { + icon_id: "24881292", + name: "upload", + font_class: "upload", + unicode: "e690", + unicode_decimal: 59024, + }, + { + icon_id: "24881293", + name: "weixin", + font_class: "weixin", + unicode: "e691", + unicode_decimal: 59025, + }, + { + icon_id: "24881274", + name: "compose", + font_class: "compose", + unicode: "e67f", + unicode_decimal: 59007, + }, + { + icon_id: "24881275", + name: "qq", + font_class: "qq", + unicode: "e680", + unicode_decimal: 59008, + }, + { + icon_id: "24881276", + name: "download-filled", + font_class: "download-filled", + unicode: "e681", + unicode_decimal: 59009, + }, + { + icon_id: "24881277", + name: "pengyouquan", + font_class: "pyq", + unicode: "e682", + unicode_decimal: 59010, + }, + { + icon_id: "24881279", + name: "sound", + font_class: "sound", + unicode: "e684", + unicode_decimal: 59012, + }, + { + icon_id: "24881280", + name: "trash-filled", + font_class: "trash-filled", + unicode: "e685", + unicode_decimal: 59013, + }, + { + icon_id: "24881281", + name: "sound-filled", + font_class: "sound-filled", + unicode: "e686", + unicode_decimal: 59014, + }, + { + icon_id: "24881282", + name: "trash", + font_class: "trash", + unicode: "e687", + unicode_decimal: 59015, + }, + { + icon_id: "24881284", + name: "videocam-filled", + font_class: "videocam-filled", + unicode: "e689", + unicode_decimal: 59017, + }, + { + icon_id: "24881285", + name: "spinner-cycle", + font_class: "spinner-cycle", + unicode: "e68a", + unicode_decimal: 59018, + }, + { + icon_id: "24881286", + name: "weibo", + font_class: "weibo", + unicode: "e68b", + unicode_decimal: 59019, + }, + { + icon_id: "24881288", + name: "videocam", + font_class: "videocam", + unicode: "e68c", + unicode_decimal: 59020, + }, + { + icon_id: "24881289", + name: "download", + font_class: "download", + unicode: "e68d", + unicode_decimal: 59021, + }, + { + icon_id: "24879601", + name: "help", + font_class: "help", + unicode: "e679", + unicode_decimal: 59001, + }, + { + icon_id: "24879602", + name: "navigate-filled", + font_class: "navigate-filled", + unicode: "e67a", + unicode_decimal: 59002, + }, + { + icon_id: "24879603", + name: "plusempty", + font_class: "plusempty", + unicode: "e67b", + unicode_decimal: 59003, + }, + { + icon_id: "24879604", + name: "smallcircle", + font_class: "smallcircle", + unicode: "e67c", + unicode_decimal: 59004, + }, + { + icon_id: "24879605", + name: "minus-filled", + font_class: "minus-filled", + unicode: "e67d", + unicode_decimal: 59005, + }, + { + icon_id: "24879606", + name: "micoff", + font_class: "micoff", + unicode: "e67e", + unicode_decimal: 59006, + }, + { + icon_id: "24879588", + name: "closeempty", + font_class: "closeempty", + unicode: "e66c", + unicode_decimal: 58988, + }, + { + icon_id: "24879589", + name: "clear", + font_class: "clear", + unicode: "e66d", + unicode_decimal: 58989, + }, + { + icon_id: "24879590", + name: "navigate", + font_class: "navigate", + unicode: "e66e", + unicode_decimal: 58990, + }, + { + icon_id: "24879591", + name: "minus", + font_class: "minus", + unicode: "e66f", + unicode_decimal: 58991, + }, + { + icon_id: "24879592", + name: "image", + font_class: "image", + unicode: "e670", + unicode_decimal: 58992, + }, + { + icon_id: "24879593", + name: "mic", + font_class: "mic", + unicode: "e671", + unicode_decimal: 58993, + }, + { + icon_id: "24879594", + name: "paperplane", + font_class: "paperplane", + unicode: "e672", + unicode_decimal: 58994, + }, + { + icon_id: "24879595", + name: "close", + font_class: "close", + unicode: "e673", + unicode_decimal: 58995, + }, + { + icon_id: "24879596", + name: "help-filled", + font_class: "help-filled", + unicode: "e674", + unicode_decimal: 58996, + }, + { + icon_id: "24879597", + name: "plus-filled", + font_class: "paperplane-filled", + unicode: "e675", + unicode_decimal: 58997, + }, + { + icon_id: "24879598", + name: "plus", + font_class: "plus", + unicode: "e676", + unicode_decimal: 58998, + }, + { + icon_id: "24879599", + name: "mic-filled", + font_class: "mic-filled", + unicode: "e677", + unicode_decimal: 58999, + }, + { + icon_id: "24879600", + name: "image-filled", + font_class: "image-filled", + unicode: "e678", + unicode_decimal: 59e3, + }, + { + icon_id: "24855900", + name: "locked-filled", + font_class: "locked-filled", + unicode: "e668", + unicode_decimal: 58984, + }, + { + icon_id: "24855901", + name: "info", + font_class: "info", + unicode: "e669", + unicode_decimal: 58985, + }, + { + icon_id: "24855903", + name: "locked", + font_class: "locked", + unicode: "e66b", + unicode_decimal: 58987, + }, + { + icon_id: "24855884", + name: "camera-filled", + font_class: "camera-filled", + unicode: "e658", + unicode_decimal: 58968, + }, + { + icon_id: "24855885", + name: "chat-filled", + font_class: "chat-filled", + unicode: "e659", + unicode_decimal: 58969, + }, + { + icon_id: "24855886", + name: "camera", + font_class: "camera", + unicode: "e65a", + unicode_decimal: 58970, + }, + { + icon_id: "24855887", + name: "circle", + font_class: "circle", + unicode: "e65b", + unicode_decimal: 58971, + }, + { + icon_id: "24855888", + name: "checkmarkempty", + font_class: "checkmarkempty", + unicode: "e65c", + unicode_decimal: 58972, + }, + { + icon_id: "24855889", + name: "chat", + font_class: "chat", + unicode: "e65d", + unicode_decimal: 58973, + }, + { + icon_id: "24855890", + name: "circle-filled", + font_class: "circle-filled", + unicode: "e65e", + unicode_decimal: 58974, + }, + { + icon_id: "24855891", + name: "flag", + font_class: "flag", + unicode: "e65f", + unicode_decimal: 58975, + }, + { + icon_id: "24855892", + name: "flag-filled", + font_class: "flag-filled", + unicode: "e660", + unicode_decimal: 58976, + }, + { + icon_id: "24855893", + name: "gear-filled", + font_class: "gear-filled", + unicode: "e661", + unicode_decimal: 58977, + }, + { + icon_id: "24855894", + name: "home", + font_class: "home", + unicode: "e662", + unicode_decimal: 58978, + }, + { + icon_id: "24855895", + name: "home-filled", + font_class: "home-filled", + unicode: "e663", + unicode_decimal: 58979, + }, + { + icon_id: "24855896", + name: "gear", + font_class: "gear", + unicode: "e664", + unicode_decimal: 58980, + }, + { + icon_id: "24855897", + name: "smallcircle-filled", + font_class: "smallcircle-filled", + unicode: "e665", + unicode_decimal: 58981, + }, + { + icon_id: "24855898", + name: "map-filled", + font_class: "map-filled", + unicode: "e666", + unicode_decimal: 58982, + }, + { + icon_id: "24855899", + name: "map", + font_class: "map", + unicode: "e667", + unicode_decimal: 58983, + }, + { + icon_id: "24855825", + name: "refresh-filled", + font_class: "refresh-filled", + unicode: "e656", + unicode_decimal: 58966, + }, + { + icon_id: "24855826", + name: "refresh", + font_class: "refresh", + unicode: "e657", + unicode_decimal: 58967, + }, + { + icon_id: "24855808", + name: "cloud-upload", + font_class: "cloud-upload", + unicode: "e645", + unicode_decimal: 58949, + }, + { + icon_id: "24855809", + name: "cloud-download-filled", + font_class: "cloud-download-filled", + unicode: "e646", + unicode_decimal: 58950, + }, + { + icon_id: "24855810", + name: "cloud-download", + font_class: "cloud-download", + unicode: "e647", + unicode_decimal: 58951, + }, + { + icon_id: "24855811", + name: "cloud-upload-filled", + font_class: "cloud-upload-filled", + unicode: "e648", + unicode_decimal: 58952, + }, + { + icon_id: "24855813", + name: "redo", + font_class: "redo", + unicode: "e64a", + unicode_decimal: 58954, + }, + { + icon_id: "24855814", + name: "images-filled", + font_class: "images-filled", + unicode: "e64b", + unicode_decimal: 58955, + }, + { + icon_id: "24855815", + name: "undo-filled", + font_class: "undo-filled", + unicode: "e64c", + unicode_decimal: 58956, + }, + { + icon_id: "24855816", + name: "more", + font_class: "more", + unicode: "e64d", + unicode_decimal: 58957, + }, + { + icon_id: "24855817", + name: "more-filled", + font_class: "more-filled", + unicode: "e64e", + unicode_decimal: 58958, + }, + { + icon_id: "24855818", + name: "undo", + font_class: "undo", + unicode: "e64f", + unicode_decimal: 58959, + }, + { + icon_id: "24855819", + name: "images", + font_class: "images", + unicode: "e650", + unicode_decimal: 58960, + }, + { + icon_id: "24855821", + name: "paperclip", + font_class: "paperclip", + unicode: "e652", + unicode_decimal: 58962, + }, + { + icon_id: "24855822", + name: "settings", + font_class: "settings", + unicode: "e653", + unicode_decimal: 58963, + }, + { + icon_id: "24855823", + name: "search", + font_class: "search", + unicode: "e654", + unicode_decimal: 58964, + }, + { + icon_id: "24855824", + name: "redo-filled", + font_class: "redo-filled", + unicode: "e655", + unicode_decimal: 58965, + }, + { + icon_id: "24841702", + name: "list", + font_class: "list", + unicode: "e644", + unicode_decimal: 58948, + }, + { + icon_id: "24841489", + name: "mail-open-filled", + font_class: "mail-open-filled", + unicode: "e63a", + unicode_decimal: 58938, + }, + { + icon_id: "24841491", + name: "hand-thumbsdown-filled", + font_class: "hand-down-filled", + unicode: "e63c", + unicode_decimal: 58940, + }, + { + icon_id: "24841492", + name: "hand-thumbsdown", + font_class: "hand-down", + unicode: "e63d", + unicode_decimal: 58941, + }, + { + icon_id: "24841493", + name: "hand-thumbsup-filled", + font_class: "hand-up-filled", + unicode: "e63e", + unicode_decimal: 58942, + }, + { + icon_id: "24841494", + name: "hand-thumbsup", + font_class: "hand-up", + unicode: "e63f", + unicode_decimal: 58943, + }, + { + icon_id: "24841496", + name: "heart-filled", + font_class: "heart-filled", + unicode: "e641", + unicode_decimal: 58945, + }, + { + icon_id: "24841498", + name: "mail-open", + font_class: "mail-open", + unicode: "e643", + unicode_decimal: 58947, + }, + { + icon_id: "24841488", + name: "heart", + font_class: "heart", + unicode: "e639", + unicode_decimal: 58937, + }, + { + icon_id: "24839963", + name: "loop", + font_class: "loop", + unicode: "e633", + unicode_decimal: 58931, + }, + { + icon_id: "24839866", + name: "pulldown", + font_class: "pulldown", + unicode: "e632", + unicode_decimal: 58930, + }, + { + icon_id: "24813798", + name: "scan", + font_class: "scan", + unicode: "e62a", + unicode_decimal: 58922, + }, + { + icon_id: "24813786", + name: "bars", + font_class: "bars", + unicode: "e627", + unicode_decimal: 58919, + }, + { + icon_id: "24813788", + name: "cart-filled", + font_class: "cart-filled", + unicode: "e629", + unicode_decimal: 58921, + }, + { + icon_id: "24813790", + name: "checkbox", + font_class: "checkbox", + unicode: "e62b", + unicode_decimal: 58923, + }, + { + icon_id: "24813791", + name: "checkbox-filled", + font_class: "checkbox-filled", + unicode: "e62c", + unicode_decimal: 58924, + }, + { + icon_id: "24813794", + name: "shop", + font_class: "shop", + unicode: "e62f", + unicode_decimal: 58927, + }, + { + icon_id: "24813795", + name: "headphones", + font_class: "headphones", + unicode: "e630", + unicode_decimal: 58928, + }, + { + icon_id: "24813796", + name: "cart", + font_class: "cart", + unicode: "e631", + unicode_decimal: 58929, + }, + ], +}; diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.js b/uni_modules/uni-icons/components/uni-icons/uni-icons.js new file mode 100644 index 0000000..d1cee9c --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.js @@ -0,0 +1,53 @@ +var n = require("./icons.js"), + e = require("../../../../common/vendor.js"), + t = { + name: "UniIcons", + emits: ["click"], + props: { + type: { type: String, default: "" }, + color: { type: String, default: "#333333" }, + size: { type: [Number, String], default: 16 }, + customPrefix: { type: String, default: "" }, + }, + data: function () { + return { icons: n.icons.glyphs }; + }, + computed: { + unicode: function () { + var n = this, + e = this.icons.find(function (e) { + return e.font_class === n.type; + }); + return e ? unescape("%u".concat(e.unicode)) : ""; + }, + iconSize: function () { + return "number" == typeof (n = this.size) || /^[0-9]*$/g.test(n) + ? n + "px" + : n; + var n; + }, + }, + methods: { + _onClick: function () { + this.$emit("click"); + }, + }, + }, + i = e._export_sfc(t, [ + [ + "render", + function (n, t, i, o, c, r) { + return { + a: i.color, + b: r.iconSize, + c: e.n("uniui-" + i.type), + d: e.n(i.customPrefix), + e: e.n(i.customPrefix ? i.type : ""), + f: e.o(function () { + return r._onClick && r._onClick.apply(r, arguments); + }), + }; + }, + ], + ]); +wx.createComponent(i); diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.json b/uni_modules/uni-icons/components/uni-icons/uni-icons.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.wxml b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxml new file mode 100644 index 0000000..4163a8f --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxml @@ -0,0 +1,5 @@ + diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.wxss b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxss new file mode 100644 index 0000000..266e7ce --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.wxss @@ -0,0 +1,492 @@ +.uniui-color:before { + content: ""; +} +.uniui-wallet:before { + content: ""; +} +.uniui-settings-filled:before { + content: ""; +} +.uniui-auth-filled:before { + content: ""; +} +.uniui-shop-filled:before { + content: ""; +} +.uniui-staff-filled:before { + content: ""; +} +.uniui-vip-filled:before { + content: ""; +} +.uniui-plus-filled:before { + content: ""; +} +.uniui-folder-add-filled:before { + content: ""; +} +.uniui-color-filled:before { + content: ""; +} +.uniui-tune-filled:before { + content: ""; +} +.uniui-calendar-filled:before { + content: ""; +} +.uniui-notification-filled:before { + content: ""; +} +.uniui-wallet-filled:before { + content: ""; +} +.uniui-medal-filled:before { + content: ""; +} +.uniui-gift-filled:before { + content: ""; +} +.uniui-fire-filled:before { + content: ""; +} +.uniui-refreshempty:before { + content: ""; +} +.uniui-location-filled:before { + content: ""; +} +.uniui-person-filled:before { + content: ""; +} +.uniui-personadd-filled:before { + content: ""; +} +.uniui-back:before { + content: ""; +} +.uniui-forward:before { + content: ""; +} +.uniui-arrow-right:before, +.uniui-arrowthinright:before { + content: ""; +} +.uniui-arrow-left:before, +.uniui-arrowthinleft:before { + content: ""; +} +.uniui-arrow-up:before, +.uniui-arrowthinup:before { + content: ""; +} +.uniui-arrow-down:before, +.uniui-arrowthindown:before { + content: ""; +} +.uniui-arrowdown:before, +.uniui-bottom:before { + content: ""; +} +.uniui-arrowright:before, +.uniui-right:before { + content: ""; +} +.uniui-arrowup:before, +.uniui-top:before { + content: ""; +} +.uniui-arrowleft:before, +.uniui-left:before { + content: ""; +} +.uniui-eye:before { + content: ""; +} +.uniui-eye-filled:before { + content: ""; +} +.uniui-eye-slash:before { + content: ""; +} +.uniui-eye-slash-filled:before { + content: ""; +} +.uniui-info-filled:before { + content: ""; +} +.uniui-reload:before { + content: ""; +} +.uniui-micoff-filled:before { + content: ""; +} +.uniui-map-pin-ellipse:before { + content: ""; +} +.uniui-map-pin:before { + content: ""; +} +.uniui-location:before { + content: ""; +} +.uniui-starhalf:before { + content: ""; +} +.uniui-star:before { + content: ""; +} +.uniui-star-filled:before { + content: ""; +} +.uniui-calendar:before { + content: ""; +} +.uniui-fire:before { + content: ""; +} +.uniui-medal:before { + content: ""; +} +.uniui-font:before { + content: ""; +} +.uniui-gift:before { + content: ""; +} +.uniui-link:before { + content: ""; +} +.uniui-notification:before { + content: ""; +} +.uniui-staff:before { + content: ""; +} +.uniui-vip:before { + content: ""; +} +.uniui-folder-add:before { + content: ""; +} +.uniui-tune:before { + content: ""; +} +.uniui-auth:before { + content: ""; +} +.uniui-person:before { + content: ""; +} +.uniui-email-filled:before { + content: ""; +} +.uniui-phone-filled:before { + content: ""; +} +.uniui-phone:before { + content: ""; +} +.uniui-email:before { + content: ""; +} +.uniui-personadd:before { + content: ""; +} +.uniui-chatboxes-filled:before { + content: ""; +} +.uniui-contact:before { + content: ""; +} +.uniui-chatbubble-filled:before { + content: ""; +} +.uniui-contact-filled:before { + content: ""; +} +.uniui-chatboxes:before { + content: ""; +} +.uniui-chatbubble:before { + content: ""; +} +.uniui-upload-filled:before { + content: ""; +} +.uniui-upload:before { + content: ""; +} +.uniui-weixin:before { + content: ""; +} +.uniui-compose:before { + content: ""; +} +.uniui-qq:before { + content: ""; +} +.uniui-download-filled:before { + content: ""; +} +.uniui-pyq:before { + content: ""; +} +.uniui-sound:before { + content: ""; +} +.uniui-trash-filled:before { + content: ""; +} +.uniui-sound-filled:before { + content: ""; +} +.uniui-trash:before { + content: ""; +} +.uniui-videocam-filled:before { + content: ""; +} +.uniui-spinner-cycle:before { + content: ""; +} +.uniui-weibo:before { + content: ""; +} +.uniui-videocam:before { + content: ""; +} +.uniui-download:before { + content: ""; +} +.uniui-help:before { + content: ""; +} +.uniui-navigate-filled:before { + content: ""; +} +.uniui-plusempty:before { + content: ""; +} +.uniui-smallcircle:before { + content: ""; +} +.uniui-minus-filled:before { + content: ""; +} +.uniui-micoff:before { + content: ""; +} +.uniui-closeempty:before { + content: ""; +} +.uniui-clear:before { + content: ""; +} +.uniui-navigate:before { + content: ""; +} +.uniui-minus:before { + content: ""; +} +.uniui-image:before { + content: ""; +} +.uniui-mic:before { + content: ""; +} +.uniui-paperplane:before { + content: ""; +} +.uniui-close:before { + content: ""; +} +.uniui-help-filled:before { + content: ""; +} +.uniui-paperplane-filled:before { + content: ""; +} +.uniui-plus:before { + content: ""; +} +.uniui-mic-filled:before { + content: ""; +} +.uniui-image-filled:before { + content: ""; +} +.uniui-locked-filled:before { + content: ""; +} +.uniui-info:before { + content: ""; +} +.uniui-locked:before { + content: ""; +} +.uniui-camera-filled:before { + content: ""; +} +.uniui-chat-filled:before { + content: ""; +} +.uniui-camera:before { + content: ""; +} +.uniui-circle:before { + content: ""; +} +.uniui-checkmarkempty:before { + content: ""; +} +.uniui-chat:before { + content: ""; +} +.uniui-circle-filled:before { + content: ""; +} +.uniui-flag:before { + content: ""; +} +.uniui-flag-filled:before { + content: ""; +} +.uniui-gear-filled:before { + content: ""; +} +.uniui-home:before { + content: ""; +} +.uniui-home-filled:before { + content: ""; +} +.uniui-gear:before { + content: ""; +} +.uniui-smallcircle-filled:before { + content: ""; +} +.uniui-map-filled:before { + content: ""; +} +.uniui-map:before { + content: ""; +} +.uniui-refresh-filled:before { + content: ""; +} +.uniui-refresh:before { + content: ""; +} +.uniui-cloud-upload:before { + content: ""; +} +.uniui-cloud-download-filled:before { + content: ""; +} +.uniui-cloud-download:before { + content: ""; +} +.uniui-cloud-upload-filled:before { + content: ""; +} +.uniui-redo:before { + content: ""; +} +.uniui-images-filled:before { + content: ""; +} +.uniui-undo-filled:before { + content: ""; +} +.uniui-more:before { + content: ""; +} +.uniui-more-filled:before { + content: ""; +} +.uniui-undo:before { + content: ""; +} +.uniui-images:before { + content: ""; +} +.uniui-paperclip:before { + content: ""; +} +.uniui-settings:before { + content: ""; +} +.uniui-search:before { + content: ""; +} +.uniui-redo-filled:before { + content: ""; +} +.uniui-list:before { + content: ""; +} +.uniui-mail-open-filled:before { + content: ""; +} +.uniui-hand-down-filled:before { + content: ""; +} +.uniui-hand-down:before { + content: ""; +} +.uniui-hand-up-filled:before { + content: ""; +} +.uniui-hand-up:before { + content: ""; +} +.uniui-heart-filled:before { + content: ""; +} +.uniui-mail-open:before { + content: ""; +} +.uniui-heart:before { + content: ""; +} +.uniui-loop:before { + content: ""; +} +.uniui-pulldown:before { + content: ""; +} +.uniui-scan:before { + content: ""; +} +.uniui-bars:before { + content: ""; +} +.uniui-cart-filled:before { + content: ""; +} +.uniui-checkbox:before { + content: ""; +} +.uniui-checkbox-filled:before { + content: ""; +} +.uniui-shop:before { + content: ""; +} +.uniui-headphones:before { + content: ""; +} +.uniui-cart:before { + content: ""; +} +@font-face { + font-family: uniicons; + src: url(data:font/ttf;base64,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5nkAAOZ5AAAAVQAA5noAAOZ6AAAAVgAA5nsAAOZ7AAAAVwAA5nwAAOZ8AAAAWAAA5n0AAOZ9AAAAWQAA5n4AAOZ+AAAAWgAA5n8AAOZ/AAAASAAA5oAAAOaAAAAASQAA5oEAAOaBAAAASgAA5oIAAOaCAAAASwAA5oMAAOaDAAAAKgAA5oQAAOaEAAAATAAA5oUAAOaFAAAATQAA5oYAAOaGAAAATgAA5ocAAOaHAAAATwAA5ogAAOaIAAAAKwAA5okAAOaJAAAAUAAA5ooAAOaKAAAAUQAA5osAAOaLAAAAUgAA5owAAOaMAAAAUwAA5o0AAOaNAAAAVAAA5o4AAOaOAAAARQAA5o8AAOaPAAAALAAA5pAAAOaQAAAARgAA5pEAAOaRAAAARwAA5pIAAOaSAAAAPwAA5pMAAOaTAAAAQAAA5pQAAOaUAAAAQQAA5pUAAOaVAAAAQgAA5pYAAOaWAAAAQwAA5pcAAOaXAAAARAAA5pgAAOaYAAAAFQAA5pkAAOaZAAAAOQAA5poAAOaaAAAAOgAA5psAAOabAAAAOwAA5pwAAOacAAAAPAAA5p0AAOadAAAAFAAA5p4AAOaeAAAAPQAA5p8AAOafAAAAPgAA5qAAAOagAAAALQAA5qEAAOahAAAALgAA5qIAAOaiAAAALwAA5qMAAOajAAAAMAAA5qQAAOakAAAAMQAA5qUAAOalAAAAMgAA5qYAAOamAAAAMwAA5qcAAOanAAAANAAA5qgAAOaoAAAANQAA5qkAAOapAAAANgAA5qoAAOaqAAAANwAA5qsAAOarAAAAOAAA5qwAAOasAAAAJwAA5q0AAOatAAAAKAAA5q4AAOauAAAAKQAA5q8AAOavAAAAEwAA5rAAAOawAAAAJgAA5rEAAOaxAAAAAgAA5rIAAOayAAAAJQAA5rMAAOazAAAAIgAA5rQAAOa0AAAAIwAA5rUAAOa1AAAAHQAA5rYAAOa2AAAAHgAA5rcAAOa3AAAAHwAA5rgAAOa4AAAAHAAA5rkAAOa5AAAAFgAA5roAAOa6AAAAFwAA5rsAAOa7AAAAGAAA5rwAAOa8AAAAGQAA5r0AAOa9AAAAGgAA5r4AAOa+AAAAGwAA5r8AAOa/AAAAEgAA5sAAAObAAAAADAAA5sEAAObBAAAADQAA5sIAAObCAAAADgAA5sMAAObDAAAADwAA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ZWQLc2hvcC1maWxsZWQMc3RhZmYtZmlsbGVkCnZpcC1maWxsZWQLcGx1cy1maWxsZWQRZm9sZGVyLWFkZC1maWxsZWQMeWFuc2UtZmlsbGVkC3R1bmUtZmlsbGVkD2NhbGVuZGFyLWZpbGxlZBNub3RpZmljYXRpb24tZmlsbGVkDXdhbGxldC1maWxsZWQMbWVkYWwtZmlsbGVkC2dpZnQtZmlsbGVkC2ZpcmUtZmlsbGVkDHJlZnJlc2hlbXB0eQ9sb2NhdGlvbi1maWxsZWQNcGVyc29uLWZpbGxlZBBwZXJzb25hZGQtZmlsbGVkBGJhY2sHZm9yd2FyZAthcnJvdy1yaWdodAphcnJvdy1sZWZ0CGFycm93LXVwCmFycm93LWRvd24GYm90dG9tBXJpZ2h0A3RvcARsZWZ0A2V5ZQpleWUtZmlsbGVkCWV5ZS1zbGFzaBBleWUtc2xhc2gtZmlsbGVkC2luZm8tZmlsbGVkBnJlbG9hZA1taWNvZmYtZmlsbGVkD21hcC1waW4tZWxsaXBzZQdtYXAtcGluCGxvY2F0aW9uCHN0YXJoYWxmBHN0YXILc3Rhci1maWxsZWQIY2FsZW5kYXIEZmlyZQVtZWRhbARmb250BGdpZnQEbGluawxub3RpZmljYXRpb24Fc3RhZmYDdmlwCmZvbGRlci1hZGQEdHVuZQRhdXRoBnBlcnNvbgxlbWFpbC1maWxsZWQMcGhvbmUtZmlsbGVkBXBob25lBWVtYWlsCXBlcnNvbmFkZBBjaGF0Ym94ZXMtZmlsbGVkB2NvbnRhY3QRY2hhdGJ1YmJsZS1maWxsZWQOY29udGFjdC1maWxsZWQJY2hhdGJveGVzCmNoYXRidWJibGUNdXBsb2FkLWZpbGxlZAZ1cGxvYWQGd2VpeGluB2NvbXBvc2UCcXEPZG93bmxvYWQtZmlsbGVkA3B5cQVzb3VuZAx0cmFzaC1maWxsZWQMc291bmQtZmlsbGVkBXRyYXNoD3ZpZGVvY2FtLWZpbGxlZA1zcGlubmVyLWN5Y2xlBXdlaWJvCHZpZGVvY2FtCGRvd25sb2FkBGhlbHAPbmF2aWdhdGUtZmlsbGVkCXBsdXNlbXB0eQtzbWFsbGNpcmNsZQxtaW51cy1maWxsZWQGbWljb2ZmCmNsb3NlZW1wdHkFY2xlYXIIbmF2aWdhdGUFbWludXMFaW1hZ2UDbWljCnBhcGVycGxhbmUFY2xvc2ULaGVscC1maWxsZWQRcGFwZXJwbGFuZS1maWxsZWQEcGx1cwptaWMtZmlsbGVkDGltYWdlLWZpbGxlZA1sb2NrZWQtZmlsbGVkBGluZm8GbG9ja2VkDWNhbWVyYS1maWxsZWQLY2hhdC1maWxsZWQGY2FtZXJhBmNpcmNsZQ5jaGVja21hcmtlbXB0eQRjaGF0DWNpcmNsZS1maWxsZWQEZmxhZwtmbGFnLWZpbGxlZAtnZWFyLWZpbGxlZARob21lC2hvbWUtZmlsbGVkBGdlYXISc21hbGxjaXJjbGUtZmlsbGVkCm1hcC1maWxsZWQDbWFwDnJlZnJlc2gtZmlsbGVkB3JlZnJlc2gMY2xvdWQtdXBsb2FkFWNsb3VkLWRvd25sb2FkLWZpbGxlZA5jbG91ZC1kb3dubG9hZBNjbG91ZC11cGxvYWQtZmlsbGVkBHJlZG8NaW1hZ2VzLWZpbGxlZAt1bmRvLWZpbGxlZARtb3JlC21vcmUtZmlsbGVkBHVuZG8GaW1hZ2VzCXBhcGVyY2xpcAhzZXR0aW5ncwZzZWFyY2gLcmVkby1maWxsZWQEbGlzdBBtYWlsLW9wZW4tZmlsbGVkEGhhbmQtZG93bi1maWxsZWQJaGFuZC1kb3duDmhhbmQtdXAtZmlsbGVkB2hhbmQtdXAMaGVhcnQtZmlsbGVkCW1haWwtb3BlbgVoZWFydARsb29wCHB1bGxkb3duBHNjYW4EYmFycwtjYXJ0LWZpbGxlZAhjaGVja2JveA9jaGVja2JveC1maWxsZWQEc2hvcApoZWFkcGhvbmVzBGNhcnQAAAAA) + format("truetype"); +} +.uni-icons { + font-family: uniicons; + text-align: center; + text-decoration: none; +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 0000000..2589772 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,17 @@ +exports.messages = { + en: { + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data", + }, + "zh-Hans": { + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了", + }, + "zh-Hant": { + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了", + }, +}; diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js new file mode 100644 index 0000000..85bb5c9 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.js @@ -0,0 +1,114 @@ +var e, + n = require("../../../../common/vendor.js"), + t = require("./i18n/index.js"); +setTimeout(function () { + e = n.index.getSystemInfoSync().platform; +}, 16); +var o = n.initVueI18n(t.messages).t, + i = { + name: "UniLoadMore", + emits: ["clickLoadMore"], + props: { + status: { type: String, default: "more" }, + showIcon: { type: Boolean, default: !0 }, + iconType: { type: String, default: "auto" }, + iconSize: { type: Number, default: 24 }, + color: { type: String, default: "#777777" }, + contentText: { + type: Object, + default: function () { + return { contentdown: "", contentrefresh: "", contentnomore: "" }; + }, + }, + showText: { type: Boolean, default: !0 }, + }, + data: function () { + return { + webviewHide: !1, + platform: e, + imgBase64: + "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZVHb98LM+F5bHL8khA1iSeiyQBCRM+YGqKUnnJTDLGI0BGZlKDIU2MMglUiDApEZvSsZnQtBRJtKwQNKQMFYeRDR10WOLd8ljYXdh+v8v5fR3Od+797t1dnOnO/Ofce77z+J//+b/P+ZqtXbs2sJ9MJhNUV1cHJ06cCJo3bx7EPc2aNcvpy7pWrVoF+/fvDyoqKoI2bdoE9fX1F7TjN8a+EXBn/fkfvw942Tf+wYMHg9mzZwfjxo0LDhw4EPa1x2MbFw/fOGfPng1qa2tzcCkILsLDydq2bRsunpOTMM7TD/W/tZDZhPdeKD+yGxHhdu3aBV27dg3OnDlzMVANMheLAO3btw8KCwuDmpoaX5OxbgUIMEq7K8IcPnw4KCsrC/r37x8cP378/4cAXAB3vqSkJMuiDhTkw+XcuXNhOWbMmKBly5YhUT8xArhyFvP0BfwRsAuwxJZJsm/nzp2DTp06he/OU+cZ64K6o0ePBkOHDg2GDx8e6gEbJ5Q/NHNuAJQ1hgBeHUDlR7nVTkY8rQAvAi4z34vR/mPs1FoRsaCgIJThI0eOBC1atEiFGGV+5MiRoS45efJkqFjJFXV1dQuA012m2WcwTw98fy6CqBdsaiIO4CScrGPHjvk4odhavPquRtFWXEC25VgkREKOCh/qDSq+vn37htzD/mZTOmOc5U7zKzBPEedygWshcDyWvs30igAbU+6oyMgJBCFhwQE0fccxN60Ay9iebbjoDh06hMowjQxT4fXq1SskArmHZpkArvixp/kWzHdMeArExSJEaiXIjjRjRJ4DaAGWpibLzXN3Fm1vA5teBgh3j1Rv3bp1YgKwPdmf2p9zcyNYYgPKMfY0T5f5nNYdw158nJ8QawW4CLKwiOBSEgO/hok2eBydR+3dYH+PLxA5J8Vv0KBBwenTp0P2JWAx6+yFEBfs8lMY+y0SWMBNI9E4ThKi58VKTg3FQZS1RQF1cz27eC0QHMu+3E0SkUowjhVt5VdaWhp07949ZHv2Qd1EjDXM2cla1M0nl3GxAs3J9yREzyTdFVKVFOaE9qRA8GM0WebRuo9JGZKA7Mv2SeS/Z8+eoQ9BArMfFrLGo6jvxbhHbJZnKX2Rzz1O7QhJJ9Cs2ZMaWIyq/zhdeqPNfIoHd58clIQD+JSXl4dKlyIAuBdVXZwFVWKspSSoxE++h8x4k3uCnEhE4I5KwRiFWGOU0QWKiCYLbdoRMRKAu2kQ9vkfLU6dOhX06NEjlH+yMRZSinnuyWnYosVcji8CEA/6Cg2JF+IIUBqnGKUTCNwtwBN4f89RiK1R96DEgO2o0NDmtEdvVFdVVYV+P3UAPUEs6GFwV3PHmXkD4vh74iDFJysVI/MlaQhwKeBNTLYX5VuA8T4/gZxA4MRGFxDB6R7OmYPfyykGRJbyie+XnGYnQIC/coH9+vULiYrxrkL9ZA9+0ykaHIfEpM7ge8TiJ2CsHYwyMfafAF1yCGBHYIbCVDjDjKt7BeB51D+LgQa6OkG7IDYEEtvQ7lnXLKLtLdLuJBpE4gPUXcW2+PkZwOex+4cGDhwYDBkyRL7/HFcEwUGPo/8uWRUpYnfxGHco8HkewLHLyYmAawAPuIFZxhOpDfJQ8gbUv41yORAptMWBNr6oqMhWird5+u+iHmBb2nhjDV7HWBNQTgK8y11l5NetWzc5ULscAtSj7nbNI0skhWeUZCc0W4nyH/jO4Vz0u1IeYhbk4AiwM6tjxIWByHsoZ9qcIBPJd/y+DwPfBESOmCa/QF3WiZHucLlEDpNxcNhmheEOPgdQNx6/VZFQzFZ5TN08AHXQt2Ii3EdyFuUsPtTcGPhW5iMiCNELvz+Gdn9huG4HUJaW/w3g0wxV0XaG7arG2WeKiUWYM4Y7GO5ezshTARbbWGw/DvXkpp/ivVvE0JVoMxN4rpGzJMhE5Pl+xlATsDIqikP9F9D2z3h9nOksEUFhK+qO4rcPkoalMQ/HqJLIyb3F3JdjrCcw1yZ8joyJLR5gCo54etlag7qIoeNh1N1BRYj3DTFJ0elotxPlVzkGuYAmL0VSJVGAJA41c4Z6A3BzTLfn0HYwYKEI6CUAMzZEWvLsIcQOo1AmmyyM72nHJCfYsogflGV6jEk9vyQZXSuq6w4c16NsGcGZbwOPr+H1RkOk2LEzjNepxQkihHSCQ4ynAYNRx2zMKV92CQMWqj8J0BRE8EShxRFN6YrfCRhC0x3r/Zm4IbQCcmJoV0kMamllccR6FjHqUC5F2R/wS2dcymOlfAKOS4KmzQb5cpNC2MC7JhVn5wjXoJ44rYhLh8n0eXOCorJxa7POjbSlCGVczr34/RsAmrcvo9s+wGp3tzVhntxiXiJ4nvEYb4FJkf0O8HocAePmLvCxnL0AORraVekJk6TYjDabRVXfRE2lCN1h6ZQRN1+InUbsCpKwoBZHh0dODN9JBCUffItXxEavTQkUtnfTVAplCWL3JISz29h4NjotnuSsQKJCk8dF+kJR6RARjrqFVmfPnj3ZbK8cIJ0msd6jgHPGtfVTQ8VLmlvh4mct9sobRmPic0DyDQQnx/NlfYUgyz59+oScsH379pAwXABD32nTpoUHIToESeI5mnbE/UqDdyLcafEBf2MCqgC7NwxIbMREJQ0g4D4sfJwnD+AmRrII05cfMWJE+L1169bQr+fip06dGp4oJ83lmYd5wj/EmMa4TaHivo4EeCguYZBnkB5g2aWA69OIEnUHOaGysjIYMGBAMGnSpODYsWPZwCpFmm4lNq+4gSLQA7jcX8DwtjEyRC8wjabnXEx9kfWnTJkSJkAo90xpJVV+FmcVNeYAF5zWngS4C4O91MBxmAv8blLEpbjI5sz9MTdAhcgkCT1RO8mZkAjfiYpTEvStAS53Uw1vAiUGgZ3GpuQEYvoiBqlIan7kSDHnTwJQFNiPu0+5VxCVYhcZIjNrdXUDdp+Eq5AZ3Gkg8QAyVZRZIk4Tl4QAbF9cXJxNYZMAtAokgs4BrNxEpCtteXg7DDTMDKYNSuQdKsnJBek7HxewvxaosWxLYXtw+cJp18217wql4aKCfBNoEu0O5VU+PhctJ0YeXD4C6JQpyrlpSLTojpGGGN5YwNziChdIZLk4lvLcFJ9jMX3QdiImY9bmGQU+TRUL5CHITTRlgF8D9ouD1MfmLoEPl5xokIumZ2cfgMpHt47IW9N64Hsh7wQYYjyIugWuF5fCqYncXRd5vPMWyizzvhi/32+nvG0dZc9vR6fZOu0md5e+uC408FvKSIOZwXlGvxPv95izA2Vtvg1xKFWARI+vMX66HUhpQQb643uW1bSjuTWyw2SBvDrBvjFic1eGGlz5esq3ko9uSIlBRqPuFcCv8F4WIcN12nVaBd0SaYwI6PDDImR11JkqgHcPmQssjxIn6bUshygDFJUTxPMpHk+jfjPgupgdnYV2R/g7xSjtpah8RJBewhwf0gGK6XI92u4wXFEU40afJ4DN4h5LcAd+40HI3JgJecuT0c062W0i2hQJUTcxan3/CMW1PF2K6bbA+Daz4xRs1D3Br1Cm0OihKCqizW78/nXAF/G5TXrEcVzaNMH6CyMswqsAHqDyDLEyou8lwOXnKF8DjI6KjV3KzMBiXkDH8ij/H214J5A596ekrZ3F0zXlWeL7+P5eUrNo3/QwC15uxthuzidy7DzKRwEDaAViiDgKbTbz7CJnzo0bN7pIfIiid8SuPwn25o3QCmpnyjlZkyxPP8EomCJzrGb7GJMx7tNsq4MT2xMUYaiErZOluTzKsnz3gwCeCZyVRZJfYplNEokEjwrPtxlxjeYAk+F1F74VAzPxQRNYYdtpOUvWs8J1sGhBJMNsb7igN8plJs1eSmLIhLKE4rvaCX27gOhLpLOsIzJ7qn/i+wZzcvSOZ23/du8TZjwV8zHIXoP4R3ifBxiFz1dcVpa3aPntPE+c6TmIWE9EtcMmAcPdWAhYhAXxcLOQi9L1WhD1Sc8p1d2oL7XGiRKp8F4A2i8K/nfI+y/gsTDJ/YC/8+AD5Uh04KHiGl+cIFPnBDDrPMjwRGkLXyxO4VGbfQWnDH2v0bVWE3C9QOXlepbgjEfIJQI6XDG3z5ahD9cw2pS78ipB85wyScNTvsVzlzzhL8/jRrnmVjfFJK/m3m4nj9vbgQTguT8XZTjsm672R5uJKEaQmBI/c58gyus8ZDagLpEVSJBIyHp4jn++xqPV71OgQgJYEWOtZ/haxRtKmWOBu8xdBLftWltsY84zE6WIEy/eIOWL+BaayMx+KHtL7EAkqdNDLiEXmEMUHniedtJqg9HmZtfvt26vNi0BdG3Ft3g8ZOf7PAu59TxtzivLNIekyi+wD1i8CuUiD9FXAa8C+/xS3JPmZnomyc7H+fb4/Se0bk41Fel621r4cgVxbq91V4jVqwB7HTe2M7jgB+QWHavZkDRPmZcASoZEmBx6i75bGjPcMdL4/VKGFAGWZkGzPG0XAbdL9A81G5LOmUnC9hHKJeO7dcUMjblSl12867ElFTtaGl20xvvLGPdVz/8TVuU7y0x1PG7vtNg24oz9Uo/Z412++VFWI7Fcog9tu9Lm6gvRmIPv9x1xmQAu6RDkXtbOtlGEmpgD5Nvnyc0dcv0EE6cfdi1HmhMf9wDF3k3gtRvEedhxjpgfqPb9PU9iEJHnyOUA7bQUXh6kq/D7l2iTjWv7XOD530BDr8jIrus+srXjt4MzumJMHuTsBa63YKE1+RR5lBjEikCCnWKWiHdzOgKO+nRIBAF88za/IFmJ3eMZov4CYxGBabcpGL8EYx+SeMXJeRwHNsV/h+vdxeuhEpN3ZyNY78Gm2fknJxVGhyjixPiQvVkNzT1elD9Py/aTAL64Hb9vcYmC9zfdXdT/C1LeGbg4rnBaAihDFJH12W5ulfNCNe/xTsP3bp8ikzJs5BF+5PNfAQYAPaseTdsEcaYAAAAASUVORK5CYII=", + }; + }, + computed: { + iconSnowWidth: function () { + return 2 * (Math.floor(this.iconSize / 24) || 1); + }, + contentdownText: function () { + return this.contentText.contentdown || o("uni-load-more.contentdown"); + }, + contentrefreshText: function () { + return ( + this.contentText.contentrefresh || o("uni-load-more.contentrefresh") + ); + }, + contentnomoreText: function () { + return ( + this.contentText.contentnomore || o("uni-load-more.contentnomore") + ); + }, + }, + mounted: function () {}, + methods: { + onClick: function () { + this.$emit("clickLoadMore", { detail: { status: this.status } }); + }, + }, + }, + c = n._export_sfc(i, [ + [ + "render", + function (e, t, o, i, c, A) { + return n.e( + { + a: + !c.webviewHide && + ("circle" === o.iconType || + ("auto" === o.iconType && "android" === c.platform)) && + "loading" === o.status && + o.showIcon, + }, + !c.webviewHide && + ("circle" === o.iconType || + ("auto" === o.iconType && "android" === c.platform)) && + "loading" === o.status && + o.showIcon + ? { + b: o.color, + c: o.iconSize / 12, + d: o.color, + e: o.iconSize / 12, + f: o.color, + g: o.iconSize / 12, + h: o.iconSize + "px", + i: o.iconSize + "px", + } + : !c.webviewHide && "loading" === o.status && o.showIcon + ? { k: c.imgBase64, l: o.iconSize + "px", m: o.iconSize + "px" } + : {}, + { + j: !c.webviewHide && "loading" === o.status && o.showIcon, + n: o.showText, + }, + o.showText + ? { + o: n.t( + "more" === o.status + ? A.contentdownText + : "loading" === o.status + ? A.contentrefreshText + : A.contentnomoreText + ), + p: o.color, + } + : {}, + { + q: n.o(function () { + return A.onClick && A.onClick.apply(A, arguments); + }), + } + ); + }, + ], + ]); +wx.createComponent(c); diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml new file mode 100644 index 0000000..17d0ff9 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxml @@ -0,0 +1,30 @@ + + + + + + + + + + {{o}} + diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss new file mode 100644 index 0000000..0ad5a55 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.wxss @@ -0,0 +1,228 @@ +.uni-load-more { + align-items: center; + display: -webkit-flex; + display: flex; + flex-direction: row; + justify-content: center; +} +.uni-load-more__text { + font-size: 14px; + margin-left: 8px; +} +.uni-load-more__img { + height: 24px; + width: 24px; +} +.uni-load-more__img--nvue { + color: #666; +} +.uni-load-more__img--android, +.uni-load-more__img--ios { + height: 24px; + transform: rotate(0); + width: 24px; +} +.uni-load-more__img--android { + animation: loading-ios 1s linear 0s infinite; +} +.uni-load-more__img--ios-H5 { + animation: loading-ios-H5 1s step-end 0s infinite; + position: relative; +} +.uni-load-more__img--ios-H5 image { + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +@-webkit-keyframes loading-ios-H5 { + 0% { + transform: rotate(0); + } + 8% { + transform: rotate(30deg); + } + 16% { + transform: rotate(60deg); + } + 24% { + transform: rotate(90deg); + } + 32% { + transform: rotate(120deg); + } + 40% { + transform: rotate(150deg); + } + 48% { + transform: rotate(180deg); + } + 56% { + transform: rotate(210deg); + } + 64% { + transform: rotate(240deg); + } + 73% { + transform: rotate(270deg); + } + 82% { + transform: rotate(300deg); + } + 91% { + transform: rotate(330deg); + } + to { + transform: rotate(1turn); + } +} +@keyframes loading-ios-H5 { + 0% { + transform: rotate(0); + } + 8% { + transform: rotate(30deg); + } + 16% { + transform: rotate(60deg); + } + 24% { + transform: rotate(90deg); + } + 32% { + transform: rotate(120deg); + } + 40% { + transform: rotate(150deg); + } + 48% { + transform: rotate(180deg); + } + 56% { + transform: rotate(210deg); + } + 64% { + transform: rotate(240deg); + } + 73% { + transform: rotate(270deg); + } + 82% { + transform: rotate(300deg); + } + 91% { + transform: rotate(330deg); + } + to { + transform: rotate(1turn); + } +} +.uni-load-more__img--android-MP { + animation: loading-ios 1s ease 0s infinite; + height: 24px; + position: relative; + transform: rotate(0); + width: 24px; +} +.uni-load-more__img--android-MP .uni-load-more__img-icon { + border: 2px solid transparent; + border-radius: 50%; + border-top-color: #777; + box-sizing: border-box; + height: 100%; + position: absolute; + transform-origin: center; + width: 100%; +} +.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(1) { + animation: loading-android-MP-1 1s linear 0s infinite; +} +.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(2) { + animation: loading-android-MP-2 1s linear 0s infinite; +} +.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(3) { + animation: loading-android-MP-3 1s linear 0s infinite; +} +@-webkit-keyframes loading-android { + 0% { + transform: rotate(0); + } + to { + transform: rotate(1turn); + } +} +@keyframes loading-android { + 0% { + transform: rotate(0); + } + to { + transform: rotate(1turn); + } +} +@-webkit-keyframes loading-android-MP-1 { + 0% { + transform: rotate(0); + } + 50% { + transform: rotate(90deg); + } + to { + transform: rotate(1turn); + } +} +@keyframes loading-android-MP-1 { + 0% { + transform: rotate(0); + } + 50% { + transform: rotate(90deg); + } + to { + transform: rotate(1turn); + } +} +@-webkit-keyframes loading-android-MP-2 { + 0% { + transform: rotate(0); + } + 50% { + transform: rotate(180deg); + } + to { + transform: rotate(1turn); + } +} +@keyframes loading-android-MP-2 { + 0% { + transform: rotate(0); + } + 50% { + transform: rotate(180deg); + } + to { + transform: rotate(1turn); + } +} +@-webkit-keyframes loading-android-MP-3 { + 0% { + transform: rotate(0); + } + 50% { + transform: rotate(270deg); + } + to { + transform: rotate(1turn); + } +} +@keyframes loading-android-MP-3 { + 0% { + transform: rotate(0); + } + 50% { + transform: rotate(270deg); + } + to { + transform: rotate(1turn); + } +} diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.js b/uni_modules/uni-popup/components/uni-popup/uni-popup.js new file mode 100644 index 0000000..778c8c1 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.js @@ -0,0 +1,288 @@ +var t = require("../../../../common/vendor.js"), + o = { + name: "uniPopup", + components: {}, + emits: ["change", "maskClick"], + props: { + animation: { type: Boolean, default: !0 }, + type: { type: String, default: "center" }, + isMaskClick: { type: Boolean, default: null }, + maskClick: { type: Boolean, default: null }, + backgroundColor: { type: String, default: "none" }, + safeArea: { type: Boolean, default: !0 }, + maskBackgroundColor: { type: String, default: "rgba(0, 0, 0, 0.4)" }, + }, + watch: { + type: { + handler: function (t) { + this.config[t] && this[this.config[t]](!0); + }, + immediate: !0, + }, + isDesktop: { + handler: function (t) { + this.config[t] && this[this.config[this.type]](!0); + }, + immediate: !0, + }, + maskClick: { + handler: function (t) { + this.mkclick = t; + }, + immediate: !0, + }, + isMaskClick: { + handler: function (t) { + this.mkclick = t; + }, + immediate: !0, + }, + showPopup: function (t) {}, + }, + data: function () { + return { + duration: 300, + ani: [], + showPopup: !1, + showTrans: !1, + popupWidth: 0, + popupHeight: 0, + config: { + top: "top", + bottom: "bottom", + center: "center", + left: "left", + right: "right", + message: "top", + dialog: "center", + share: "bottom", + }, + maskClass: { + position: "fixed", + bottom: 0, + top: 0, + left: 0, + right: 0, + backgroundColor: "rgba(0, 0, 0, 0.4)", + }, + transClass: { position: "fixed", left: 0, right: 0 }, + maskShow: !0, + mkclick: !0, + popupstyle: this.isDesktop ? "fixforpc-top" : "top", + }; + }, + computed: { + isDesktop: function () { + return this.popupWidth >= 500 && this.popupHeight >= 500; + }, + bg: function () { + return "" === this.backgroundColor || "none" === this.backgroundColor + ? "transparent" + : this.backgroundColor; + }, + }, + mounted: function () { + var o = this; + !(function () { + var i = t.index.getSystemInfoSync(), + s = i.windowWidth, + e = i.windowHeight, + n = i.windowTop, + a = i.safeArea, + h = i.screenHeight; + i.safeAreaInsets; + (o.popupWidth = s), + (o.popupHeight = e + (n || 0)), + a && o.safeArea + ? (o.safeAreaInsets = h - a.bottom) + : (o.safeAreaInsets = 0); + })(); + }, + unmounted: function () { + this.setH5Visible(); + }, + created: function () { + null === this.isMaskClick && null === this.maskClick + ? (this.mkclick = !0) + : (this.mkclick = + null !== this.isMaskClick ? this.isMaskClick : this.maskClick), + this.animation ? (this.duration = 300) : (this.duration = 0), + (this.messageChild = null), + (this.clearPropagation = !1), + (this.maskClass.backgroundColor = this.maskBackgroundColor); + }, + methods: { + setH5Visible: function () {}, + closeMask: function () { + this.maskShow = !1; + }, + disableMask: function () { + this.mkclick = !1; + }, + clear: function (t) { + t.stopPropagation(), (this.clearPropagation = !0); + }, + open: function (t) { + this.showPopup || + ((t && + -1 !== + [ + "top", + "center", + "bottom", + "left", + "right", + "message", + "dialog", + "share", + ].indexOf(t)) || + (t = this.type), + this.config[t] + ? (this[this.config[t]](), + this.$emit("change", { show: !0, type: t })) + : console.error("缺少类型:", t)); + }, + close: function (t) { + var o = this; + (this.showTrans = !1), + this.$emit("change", { show: !1, type: this.type }), + clearTimeout(this.timer), + (this.timer = setTimeout(function () { + o.showPopup = !1; + }, 300)); + }, + touchstart: function () { + this.clearPropagation = !1; + }, + onTap: function () { + this.clearPropagation + ? (this.clearPropagation = !1) + : (this.$emit("maskClick"), this.mkclick && this.close()); + }, + top: function (t) { + var o = this; + (this.popupstyle = this.isDesktop ? "fixforpc-top" : "top"), + (this.ani = ["slide-top"]), + (this.transClass = { + position: "fixed", + left: 0, + right: 0, + backgroundColor: this.bg, + }), + t || + ((this.showPopup = !0), + (this.showTrans = !0), + this.$nextTick(function () { + o.messageChild && + "message" === o.type && + o.messageChild.timerClose(); + })); + }, + bottom: function (t) { + (this.popupstyle = "bottom"), + (this.ani = ["slide-bottom"]), + (this.transClass = { + position: "fixed", + left: 0, + right: 0, + bottom: 0, + paddingBottom: this.safeAreaInsets + "px", + backgroundColor: this.bg, + }), + t || ((this.showPopup = !0), (this.showTrans = !0)); + }, + center: function (t) { + (this.popupstyle = "center"), + (this.ani = ["zoom-out", "fade"]), + (this.transClass = { + position: "fixed", + display: "flex", + flexDirection: "column", + bottom: 0, + left: 0, + right: 0, + top: 0, + justifyContent: "center", + alignItems: "center", + }), + t || ((this.showPopup = !0), (this.showTrans = !0)); + }, + left: function (t) { + (this.popupstyle = "left"), + (this.ani = ["slide-left"]), + (this.transClass = { + position: "fixed", + left: 0, + bottom: 0, + top: 0, + backgroundColor: this.bg, + display: "flex", + flexDirection: "column", + }), + t || ((this.showPopup = !0), (this.showTrans = !0)); + }, + right: function (t) { + (this.popupstyle = "right"), + (this.ani = ["slide-right"]), + (this.transClass = { + position: "fixed", + bottom: 0, + right: 0, + top: 0, + backgroundColor: this.bg, + display: "flex", + flexDirection: "column", + }), + t || ((this.showPopup = !0), (this.showTrans = !0)); + }, + }, + }; +Array || t.resolveComponent("uni-transition")(), Math; +var i = t._export_sfc(o, [ + [ + "render", + function (o, i, s, e, n, a) { + return t.e( + { a: n.showPopup }, + n.showPopup + ? t.e( + { b: n.maskShow }, + n.maskShow + ? { + c: t.o(a.onTap), + d: t.p({ + name: "mask", + "mode-class": "fade", + styles: n.maskClass, + duration: n.duration, + show: n.showTrans, + }), + } + : {}, + { + e: a.bg, + f: t.n(n.popupstyle), + g: t.o(function () { + return a.clear && a.clear.apply(a, arguments); + }), + h: t.o(a.onTap), + i: t.p({ + "mode-class": n.ani, + name: "content", + styles: n.transClass, + duration: n.duration, + show: n.showTrans, + }), + j: t.o(function () { + return a.touchstart && a.touchstart.apply(a, arguments); + }), + k: t.n(n.popupstyle), + l: t.n(a.isDesktop ? "fixforpc-z-index" : ""), + } + ) + : {} + ); + }, + ], +]); +wx.createComponent(i); diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.json b/uni_modules/uni-popup/components/uni-popup/uni-popup.json new file mode 100644 index 0000000..0ac92b7 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.json @@ -0,0 +1,6 @@ +{ + "component": true, + "usingComponents": { + "uni-transition": "../../../uni-transition/components/uni-transition/uni-transition" + } +} diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml new file mode 100644 index 0000000..728c847 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml @@ -0,0 +1,29 @@ + + + + + + + + + + diff --git a/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss new file mode 100644 index 0000000..331e947 --- /dev/null +++ b/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss @@ -0,0 +1,24 @@ +.uni-popup { + position: fixed; + z-index: 99; +} +.uni-popup.left, +.uni-popup.right, +.uni-popup.top { + top: 0; +} +.uni-popup .uni-popup__wrapper { + display: block; + position: relative; +} +.uni-popup .uni-popup__wrapper.left, +.uni-popup .uni-popup__wrapper.right { + flex: 1; + padding-top: 0; +} +.fixforpc-z-index { + z-index: 999; +} +.fixforpc-top { + top: 0; +} diff --git a/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/uni_modules/uni-transition/components/uni-transition/createAnimation.js new file mode 100644 index 0000000..ab5c54c --- /dev/null +++ b/uni_modules/uni-transition/components/uni-transition/createAnimation.js @@ -0,0 +1,136 @@ +require("../../../../@babel/runtime/helpers/Arrayincludes"); +var t = require("../../../../@babel/runtime/helpers/objectSpread2"), + e = require("../../../../@babel/runtime/helpers/classCallCheck"), + n = require("../../../../@babel/runtime/helpers/createClass"), + i = require("../../../../common/vendor.js"), + a = (function () { + function a(n, r) { + e(this, a), + (this.options = n), + (this.animation = i.index.createAnimation(t({}, n))), + (this.currentStepAnimates = {}), + (this.next = 0), + (this.$ = r); + } + return ( + n(a, [ + { + key: "_nvuePushAnimates", + value: function (t, e) { + var n = {}; + if ( + ((n = this.currentStepAnimates[this.next] || { + styles: {}, + config: {}, + }), + r.includes(t)) + ) { + n.styles.transform || (n.styles.transform = ""); + var i = ""; + "rotate" === t && (i = "deg"), + (n.styles.transform += "".concat(t, "(").concat(e + i, ") ")); + } else n.styles[t] = "".concat(e); + this.currentStepAnimates[this.next] = n; + }, + }, + { + key: "_animateRun", + value: function () { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + n = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : {}, + i = this.$.$refs.ani.ref; + if (i) + return new Promise(function (a, r) { + nvueAnimation.transition(i, t({ styles: e }, n), function (t) { + a(); + }); + }); + }, + }, + { + key: "_nvueNextAnimate", + value: function (t) { + var e = this, + n = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0, + i = arguments.length > 2 ? arguments[2] : void 0, + a = t[n]; + if (a) { + var r = a.styles, + s = a.config; + this._animateRun(r, s).then(function () { + (n += 1), e._nvueNextAnimate(t, n, i); + }); + } else + (this.currentStepAnimates = {}), + "function" == typeof i && i(), + (this.isEnd = !0); + }, + }, + { + key: "step", + value: function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}; + return this.animation.step(t), this; + }, + }, + { + key: "run", + value: function (t) { + (this.$.animationData = this.animation.export()), + (this.$.timer = setTimeout(function () { + "function" == typeof t && t(); + }, this.$.durationTime)); + }, + }, + ]), + a + ); + })(), + r = [ + "matrix", + "matrix3d", + "rotate", + "rotate3d", + "rotateX", + "rotateY", + "rotateZ", + "scale", + "scale3d", + "scaleX", + "scaleY", + "scaleZ", + "skew", + "skewX", + "skewY", + "translate", + "translate3d", + "translateX", + "translateY", + "translateZ", + ]; +r + .concat( + ["opacity", "backgroundColor"], + ["width", "height", "left", "right", "top", "bottom"] + ) + .forEach(function (t) { + a.prototype[t] = function () { + var e; + return (e = this.animation)[t].apply(e, arguments), this; + }; + }), + (exports.createAnimation = function (t, e) { + if (e) return clearTimeout(e.timer), new a(t, e); + }); diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.js b/uni_modules/uni-transition/components/uni-transition/uni-transition.js new file mode 100644 index 0000000..1e3417d --- /dev/null +++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.js @@ -0,0 +1,226 @@ +var t = require("../../../../@babel/runtime/helpers/toConsumableArray"), + i = require("../../../../@babel/runtime/helpers/typeof"), + n = require("../../../../@babel/runtime/helpers/objectSpread2"), + a = require("./createAnimation.js"), + o = require("../../../../common/vendor.js"), + e = { + name: "uniTransition", + emits: ["click", "change"], + props: { + show: { type: Boolean, default: !1 }, + modeClass: { + type: [Array, String], + default: function () { + return "fade"; + }, + }, + duration: { type: Number, default: 300 }, + styles: { + type: Object, + default: function () { + return {}; + }, + }, + customClass: { type: String, default: "" }, + onceRender: { type: Boolean, default: !1 }, + }, + data: function () { + return { + isShow: !1, + transform: "", + opacity: 1, + animationData: {}, + durationTime: 300, + config: {}, + }; + }, + watch: { + show: { + handler: function (t) { + t ? this.open() : this.isShow && this.close(); + }, + immediate: !0, + }, + }, + computed: { + stylesObject: function () { + var t = n( + n({}, this.styles), + {}, + { "transition-duration": this.duration / 1e3 + "s" } + ), + i = ""; + for (var a in t) i += this.toLine(a) + ":" + t[a] + ";"; + return i; + }, + transformStyles: function () { + return ( + "transform:" + + this.transform + + ";opacity:" + + this.opacity + + ";" + + this.stylesObject + ); + }, + }, + created: function () { + (this.config = { + duration: this.duration, + timingFunction: "ease", + transformOrigin: "50% 50%", + delay: 0, + }), + (this.durationTime = this.duration); + }, + methods: { + init: function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + t.duration && (this.durationTime = t.duration), + (this.animation = a.createAnimation( + Object.assign(this.config, t), + this + )); + }, + onClick: function () { + this.$emit("click", { detail: this.isShow }); + }, + step: function (n) { + var a = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + if (this.animation) { + for (var o in n) + try { + var e; + "object" == i(n[o]) + ? (e = this.animation)[o].apply(e, t(n[o])) + : this.animation[o](n[o]); + } catch (t) { + console.error("方法 ".concat(o, " 不存在")); + } + return this.animation.step(a), this; + } + }, + run: function (t) { + this.animation && this.animation.run(t); + }, + open: function () { + var t = this; + clearTimeout(this.timer), (this.transform = ""), (this.isShow = !0); + var i = this.styleInit(!1), + n = i.opacity, + o = i.transform; + void 0 !== n && (this.opacity = n), + (this.transform = o), + this.$nextTick(function () { + t.timer = setTimeout(function () { + (t.animation = a.createAnimation(t.config, t)), + t.tranfromInit(!1).step(), + t.animation.run(), + t.$emit("change", { detail: t.isShow }); + }, 20); + }); + }, + close: function (t) { + var i = this; + this.animation && + this.tranfromInit(!0) + .step() + .run(function () { + (i.isShow = !1), (i.animationData = null), (i.animation = null); + var t = i.styleInit(!1), + n = t.opacity, + a = t.transform; + (i.opacity = n || 1), + (i.transform = a), + i.$emit("change", { detail: i.isShow }); + }); + }, + styleInit: function (t) { + var i = this, + n = { transform: "" }, + a = function (t, a) { + "fade" === a + ? (n.opacity = i.animationType(t)[a]) + : (n.transform += i.animationType(t)[a] + " "); + }; + return ( + "string" == typeof this.modeClass + ? a(t, this.modeClass) + : this.modeClass.forEach(function (i) { + a(t, i); + }), + n + ); + }, + tranfromInit: function (t) { + var i = this, + n = function (t, n) { + var a = null; + "fade" === n + ? (a = t ? 0 : 1) + : ((a = t ? "-100%" : "0"), + "zoom-in" === n && (a = t ? 0.8 : 1), + "zoom-out" === n && (a = t ? 1.2 : 1), + "slide-right" === n && (a = t ? "100%" : "0"), + "slide-bottom" === n && (a = t ? "100%" : "0")), + i.animation[i.animationMode()[n]](a); + }; + return ( + "string" == typeof this.modeClass + ? n(t, this.modeClass) + : this.modeClass.forEach(function (i) { + n(t, i); + }), + this.animation + ); + }, + animationType: function (t) { + return { + fade: t ? 1 : 0, + "slide-top": "translateY(".concat(t ? "0" : "-100%", ")"), + "slide-right": "translateX(".concat(t ? "0" : "100%", ")"), + "slide-bottom": "translateY(".concat(t ? "0" : "100%", ")"), + "slide-left": "translateX(".concat(t ? "0" : "-100%", ")"), + "zoom-in": "scaleX(" + .concat(t ? 1 : 0.8, ") scaleY(") + .concat(t ? 1 : 0.8, ")"), + "zoom-out": "scaleX(" + .concat(t ? 1 : 1.2, ") scaleY(") + .concat(t ? 1 : 1.2, ")"), + }; + }, + animationMode: function () { + return { + fade: "opacity", + "slide-top": "translateY", + "slide-right": "translateX", + "slide-bottom": "translateY", + "slide-left": "translateX", + "zoom-in": "scale", + "zoom-out": "scale", + }; + }, + toLine: function (t) { + return t.replace(/([A-Z])/g, "-$1").toLowerCase(); + }, + }, + }, + s = o._export_sfc(e, [ + [ + "render", + function (t, i, n, a, e, s) { + return { + a: e.isShow, + b: e.animationData, + c: o.n(n.customClass), + d: o.s(s.transformStyles), + e: o.o(function () { + return s.onClick && s.onClick.apply(s, arguments); + }), + }; + }, + ], + ]); +wx.createComponent(s); diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.json b/uni_modules/uni-transition/components/uni-transition/uni-transition.json new file mode 100644 index 0000000..1a3499c --- /dev/null +++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.json @@ -0,0 +1 @@ +{ "component": true, "usingComponents": {} } diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml b/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml new file mode 100644 index 0000000..b42886e --- /dev/null +++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml @@ -0,0 +1,10 @@ + diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.wxss b/uni_modules/uni-transition/components/uni-transition/uni-transition.wxss new file mode 100644 index 0000000..e69de29 diff --git a/utils/ald-stat.js b/utils/ald-stat.js new file mode 100644 index 0000000..689181b --- /dev/null +++ b/utils/ald-stat.js @@ -0,0 +1,1272 @@ +require("../@babel/runtime/helpers/Objectvalues"); +var n = require("../@babel/runtime/helpers/typeof"), + e = require("../common/vendor.js"); +exports.aldInit = function () { + var r = { + 867: function (n) { + n.exports = { wx: { name: "微信", version: "7.5.0" } }; + }, + }, + t = {}; + function o(n) { + var e = t[n]; + if (void 0 !== e) return e.exports; + var i = (t[n] = { exports: {} }); + return r[n](i, i.exports, o), i.exports; + } + (o.d = function (n, e) { + for (var r in e) + o.o(e, r) && + !o.o(n, r) && + Object.defineProperty(n, r, { enumerable: !0, get: e[r] }); + }), + (o.o = function (n, e) { + return Object.prototype.hasOwnProperty.call(n, e); + }), + (o.r = function (n) { + "undefined" != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(n, Symbol.toStringTag, { value: "Module" }), + Object.defineProperty(n, "__esModule", { value: !0 }); + }); + var i = {}; + return ( + (function () { + o.r(i), + o.d(i, { + App: function () { + return zn; + }, + Component: function () { + return se; + }, + Page: function () { + return Qn; + }, + }); + var r = [ + "request", + "getSystemInfoSync", + "getNetworkType", + "getStorageSync", + "setStorageSync", + ], + t = ["login"], + a = [ + "scanCode", + "chooseAddress", + "chooseImage", + "previewImage", + "chooseInvoiceTitle", + "chooseInvoice", + ], + u = "MiniApp-Stat", + c = "uuid_getstoragesync", + s = "life", + _ = "http://doc.aldwx.com", + l = "https://log.aldwx.com", + f = { + SDK_VERSION: l + "/config/app.json", + SDK_DOWNLOAD: "https://tj.aldwx.com/downSDK", + GET_OPEN_ID: l + "/authorize/mini_program_openid", + SEND_LOG: l + "/d.html", + }, + p = "请参考接入文档 " + _ + " 小程序统计平台-快速接入指南-自定义事件!", + d = + "请参考接入文档 " + _ + " 小程序统计平台-快速接入指南-智慧零售分析!", + v = { + ERR_MISS_APPKEY: + "请在 ald-stat-conf.js 文件中填写小程序统计/广告监测平台创建小程序后生成的 app_key,请参考接入文档 " + + _ + + " 小程序统计平台-快速接入指南!", + WARN_SDK_NEED_UPDATE: + "您的 SDK 不是最新版本,部分功能不可用,请尽快前往 " + + f.SDK_DOWNLOAD + + " 升级", + ERR_WRONG_OPENID: + "OpenID 不符合规则,请参考接入文档 " + + _ + + " 小程序统计/广告监测平台-快速接入指南!", + ERR_MISS_SESSION_KEY: "请传入从后台获取的 session_key", + ERR_API_WRONG_EVENT_NAME: + "事件名称必须为 String 类型且不能超过 255 个字符," + p, + ERR_API_EVENT_ARGS_TOO_LONG: + "自定义事件参数不能超过 255 个字符," + p, + ERR_API_WRONG_EVENT_ARGS: + "事件参数必须为 String、Object 类型,且参数长度不能超过 255 个字符," + + p, + ERR_API_EVENT_ARGS_INNER_TYPE: + "事件参数内部只支持 Number、String 等类型," + p, + ERR_API_SALE_WRONG_VISIT: "wx.aldVisit() 传参不符合规则," + d, + ERR_API_SALE_WRONG_VISIT_ARGS: + "category、id、name 为必传字段且数据类型必须符合规则," + d, + ERR_API_SALE_WRONG_VISIT_CATEGORY: + "category 字段(商品类别)只支持 String类 型,且长度小于 32 个字符," + + d, + ERR_API_SALE_WRONG_VISIT_ID: + "id 字段(商品唯一 id)只支持 Number 类型和 String 类型," + d, + ERR_API_SALE_WRONG_VISIT_NAME: + "name 字段(商品名称)只支持 String 类型,且长度小于 32 个字符," + + d, + ERR_API_SALE_WRONG_ORDER: "wx.aldPayOrder() 传参不符合规则," + d, + ERR_API_SALE_WRONG_ORDER_ARGS: + "price、details 为必传字段且数据类型必须符合规则," + d, + ERR_API_SALE_WRONG_ORDER_PRICE: + "price 字段(付费金额)只支持 Number 类型和数字字符串,且不能小于 0," + + d, + ERR_API_SALE_WRONG_ORDER_DETAILS: + "details 字段(订单详细信息)为 Array 类型,且长度不能小于 1," + d, + ERR_API_SALE_WRONG_ORDER_DETAIL_ARGS: + "amount、category、id、name 为必传字段且数据类型必须符合规则," + d, + ERR_API_SALE_WRONG_ORDER_DETAIL_AMOUNT: + "details 参数下 amount 字段值(商品数量)只支持 Number 类型和数字字符串,且不能小于或等于 0," + + d, + ERR_API_SALE_WRONG_ORDER_DETAIL_ID: + "id 字段(商品唯一 id)只支持 Number 类型和 String 类型," + d, + ERR_API_SALE_WRONG_ORDER_DETAIL_CATEGORY: + "details 参数下 category 字段值(商品类别)只支持 String 类型,且长度小于 32 个字符," + + d, + ERR_API_SALE_WRONG_ORDER_DETAIL_NAME: + "details 参数下 name 字段值(商品类别)只支持 String 类型,且长度小于 32 个字符," + + d, + }, + h = "aldstat_op", + R = ["aldVisit", "aldPayOrder"], + g = { UUID: "ald_share_src", OPEN_ID: "ald_share_op" }; + function E(n, e) { + (null == e || e > n.length) && (e = n.length); + for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r]; + return t; + } + for ( + var S, + A = {}, + y = function () { + var n = S.value; + A[n] = function () { + throw new Error( + "Do not use '" + n + "' api without implementation!" + ); + }; + }, + O = (function (n, e) { + var r = + ("undefined" != typeof Symbol && n[Symbol.iterator]) || + n["@@iterator"]; + if (r) return (r = r.call(n)).next.bind(r); + if ( + Array.isArray(n) || + (r = (function (n, e) { + if (n) { + if ("string" == typeof n) return E(n, e); + var r = Object.prototype.toString.call(n).slice(8, -1); + return ( + "Object" === r && n.constructor && (r = n.constructor.name), + "Map" === r || "Set" === r + ? Array.from(n) + : "Arguments" === r || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) + ? E(n, e) + : void 0 + ); + } + })(n)) + ) { + r && (n = r); + var t = 0; + return function () { + return t >= n.length + ? { done: !0 } + : { done: !1, value: n[t++] }; + }; + } + throw new TypeError( + "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + })(r); + !(S = O()).done; + + ) + y(); + var m = A; + function I(n, e) { + (null == e || e > n.length) && (e = n.length); + for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r]; + return t; + } + function N() { + return e.wx$1.getAccountInfoSync + ? e.wx$1.getAccountInfoSync().miniProgram.appId + : ""; + } + var b = {}; + function w(n) { + return b[n]; + } + function P(n, e) { + b[n] = e; + } + function D(n, e) { + b[n] = Object.assign(b[n], e); + } + function T(n, e) { + void 0 === e && (e = 1), (b[n] += e); + } + for ( + var G = "app_show_time", + L = "app_hide_time", + W = "app_error_count", + j = "page_show_time", + x = "qrcode_query", + C = "share_source", + M = "current_page_path", + V = "last_visit_page_path", + q = "page_options", + U = "is_first_onshow", + k = "is_first_open_mini_app", + K = "is_first_access_page", + $ = "page_duration", + Y = "is_under_30s_session", + F = "is_onshow_by_share", + B = "is_onshow_by_api", + J = "session_key", + H = "user_info", + z = "share_info", + Q = "openid", + X = "gender", + Z = "user_avatar", + nn = "ald_launch_session", + en = "ald_access_token", + rn = "ald_uuid", + tn = "show_options", + on = "show_scene", + an = "request_common_data", + un = "request_count", + cn = "queue_ins", + sn = { + type: "", + name: "", + version: "", + appKey: "", + isPlugin: !1, + useCompliance: !1, + }, + _n = sn, + ln = "aldstat_uuid", + fn = Object.prototype.toString, + pn = {}, + dn = function () { + var n = hn[vn]; + pn["is" + n] = function (e) { + return fn.call(e).slice(8, -1) === n; + }; + }, + vn = 0, + hn = [ + "String", + "Array", + "Function", + "Number", + "Date", + "Boolean", + "RegExp", + "Symbol", + ]; + vn < hn.length; + vn++ + ) + dn(); + function Rn(e) { + var r = n(e); + return "function" === r || ("object" === r && !!r); + } + function gn(n) { + var e = Number(n); + return (pn.isNumber(n) || pn.isString(n)) && e >= 0 && !isNaN(e); + } + var En = pn.isString, + Sn = pn.isArray, + An = pn.isFunction, + yn = pn.isNumber; + function On() { + return "" + Date.now() + Math.floor(1e7 * Math.random()); + } + function mn(n, e, r) { + var t = n[e]; + n[e] = function (n) { + r.call(this, n, e), t && An(t) && t.call(this, n); + }; + } + function In(n, e) { + (null == e || e > n.length) && (e = n.length); + for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r]; + return t; + } + function Nn(n) { + return Object.assign({}, w(an), n); + } + function bn(n) { + T(un), + (n.at = w(en)), + (n.uu = w(rn)), + (n.v = _n.version), + (n.ak = _n.appKey.replace(/(\t)|(\s)/g, "")), + (n.wsr = w(tn)), + (n.ifo = w(k)), + (n.rq_c = w(un)), + (n.ls = w(nn)), + (n.te = _n.type), + (n.et = Date.now()), + (n.st = Date.now()), + (n.ge = w(X)); + var e, + r = + ((e = n), + function () { + return new Promise(function (n) { + var r, + t = + (((r = {}).AldStat = u), + (r.se = w(J) || ""), + (r.op = w(Q) || ""), + (r.img = w(Z) || ""), + r), + o = w("appid"); + o && (t.ai = o), + m.request({ + url: f.SEND_LOG, + data: e, + header: t, + method: "GET", + success: function (e) { + e && 200 === e.statusCode ? n("") : n("status error"); + }, + fail: function () { + n("fail"); + }, + }); + }); + }); + w(cn).push(r); + } + function wn(n, e, r) { + var t, + o = Nn( + (((t = {}).ev = n), (t.tp = e), (t.dr = Date.now() - w(G)), t) + ); + r && (o.ct = r), bn(o); + } + function Pn(n, e) { + var r, + t = Nn( + (((r = {}).ev = n), + (r[s] = e), + (r.ec = w(W)), + (r.dr = Date.now() - w(G)), + r) + ); + "show" == e && (t.uo = !1); + var o = w(x); + o && (t.qr = t.sr = o); + var i = w(C); + i && (t.usr = i), bn(t); + } + function Dn(n, e) { + (null == e || e > n.length) && (e = n.length); + for (var r = 0, t = new Array(e); r < e; r++) t[r] = n[r]; + return t; + } + pn.isDate, pn.isBoolean, pn.isRegExp, pn.isSymbol; + var Tn = (function () { + function n() { + this.events = new Map(); + } + var e = n.prototype; + return ( + (e.on = function (n, e) { + var r = this.events; + return r.has(n) || r.set(n, []), r.get(n).push(e), this; + }), + (e.once = function (n, e) { + var r = this; + return this.on(n, function t() { + r.off(n, t); + for ( + var o = arguments.length, i = new Array(o), a = 0; + a < o; + a++ + ) + i[a] = arguments[a]; + e.apply(r, i); + }); + }), + (e.emit = function (n) { + for ( + var e = this.listeners(n), + r = arguments.length, + t = new Array(r > 1 ? r - 1 : 0), + o = 1; + o < r; + o++ + ) + t[o - 1] = arguments[o]; + for ( + var i, + a = (function (n, e) { + var r = + ("undefined" != typeof Symbol && n[Symbol.iterator]) || + n["@@iterator"]; + if (r) return (r = r.call(n)).next.bind(r); + if ( + Array.isArray(n) || + (r = (function (n, e) { + if (n) { + if ("string" == typeof n) return Dn(n, e); + var r = Object.prototype.toString + .call(n) + .slice(8, -1); + return ( + "Object" === r && + n.constructor && + (r = n.constructor.name), + "Map" === r || "Set" === r + ? Array.from(n) + : "Arguments" === r || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test( + r + ) + ? Dn(n, e) + : void 0 + ); + } + })(n)) + ) { + r && (n = r); + var t = 0; + return function () { + return t >= n.length + ? { done: !0 } + : { done: !1, value: n[t++] }; + }; + } + throw new TypeError( + "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + })(e); + !(i = a()).done; + + ) + i.value.apply(this, t); + }), + (e.off = function (n, e) { + var r = this.events; + if (!n) return r.clear(), this; + if (!e) return r.delete(n), this; + for (var t = this.listeners(n), o = 0, i = t.length; o < i; o++) + t[o] === e && (t.splice(o, 1), i--, o--); + return 0 === t.length && r.delete(n), this; + }), + (e.listeners = function (n) { + return this.events.get(n) || []; + }), + n + ); + })(), + Gn = "app_on_show", + Ln = "use_compliance", + Wn = new Tn(), + jn = { + sendEvent: function (n, e) { + return kn(function () { + (function (n, e) { + return !n || !En(n) || n.length > 255 + ? (console.error(v.ERR_API_WRONG_EVENT_NAME), !1) + : !( + !(En(e) && e.length <= 255) && + (Rn(e) + ? JSON.stringify(e).length >= 255 + ? (console.error(v.ERR_API_EVENT_ARGS_TOO_LONG), 1) + : (function (n) { + for (var e in n) + if (n.hasOwnProperty(e) && n[e] && Rn(n[e])) + return !0; + return !1; + })(e) && + (console.error(v.ERR_API_EVENT_ARGS_INNER_TYPE), 1) + : void 0 !== e && + (console.error(v.ERR_API_WRONG_EVENT_ARGS), 1)) + ); + })(n, e) && wn("event", n, Rn(e) ? JSON.stringify(e) : e); + }); + }, + sendSession: function (n) { + return kn(function () { + var e; + if (n) { + P(J, n); + var r = Nn( + (((e = {}).ev = "event"), + (e.tp = "session"), + (e.ct = "session"), + e) + ), + t = w(H); + if (t) { + r.ufo = t; + var o = w(z); + "" !== o && (r.gid = o); + } + bn(r); + } else console.error(v.ERR_MISS_SESSION_KEY); + }); + }, + sendOpenid: function (n) { + return kn(function () { + var e; + n && 28 === n.length + ? (P(Q, n), + m.setStorageSync(h, n), + bn( + Nn( + (((e = {}).ev = "event"), + (e.tp = "openid"), + (e.ct = "openid"), + e) + ) + )) + : console.error(v.ERR_WRONG_OPENID); + }); + }, + setOpenid: function (n) { + An(n) && + "" === w(Q) && + n().then(function (n) { + 28 === n.length && (P(Q, n), m.setStorageSync(h, n)); + }); + }, + sendUser: function (n, e) { + return kn(function () { + var n, r; + !w(H) && + e && + (P(H, e), + P( + Z, + (null == (n = e.avatarUrl) ? void 0 : n.split("/")).reduce( + function (n, e) { + return e.length > n.length ? e : n; + } + ) + ), + P(X, e.gender), + bn(Nn((((r = {}).ufo = e), r)))); + }); + }, + sendCompliance: function () { + _n.useCompliance && Wn.emit(Ln, !0); + }, + }, + xn = { + aldVisit: function (n) { + return kn(function () { + (function (n) { + if (!Rn(n)) + return console.error(v.ERR_API_SALE_WRONG_VISIT), !1; + var e = n.category, + r = n.id, + t = n.name; + return e && (0 === r || r) && t + ? !En(e) || e.length > 32 + ? (console.error(v.ERR_API_SALE_WRONG_VISIT_CATEGORY), !1) + : yn(r) || En(r) + ? !(!En(t) || t.length > 32) || + (console.error(v.ERR_API_SALE_WRONG_VISIT_NAME), !1) + : (console.error(v.ERR_API_SALE_WRONG_VISIT_ID), !1) + : (console.error(v.ERR_API_SALE_WRONG_VISIT_ARGS), !1); + })(n) && + wn("visit", null, { + category: n.category, + id: n.id, + name: n.name, + }); + }); + }, + aldPayOrder: function (n) { + return kn(function () { + (function (n) { + if (!Rn(n)) + return console.error(v.ERR_API_SALE_WRONG_ORDER), !1; + var e, + r, + t, + o, + i, + a = n.price, + u = n.details; + if ((0 !== a && !a) || !u) + return console.error(v.ERR_API_SALE_WRONG_ORDER_ARGS), !1; + if (!gn(a)) + return console.error(v.ERR_API_SALE_WRONG_ORDER_PRICE), !1; + if (!Sn(u) || u.length < 1) + return console.error(v.ERR_API_SALE_WRONG_ORDER_DETAILS), !1; + for (var c = 0, s = u.length; c < s; c++) + if ( + ((r = (e = u[c]).amount), + (t = e.category), + (o = e.id), + (i = e.name), + !(r && t && (0 === o || o) && i + ? gn(r) + ? yn(o) || En(o) + ? !En(t) || t.length > 32 + ? (console.error( + v.ERR_API_SALE_WRONG_ORDER_DETAIL_CATEGORY + ), + 0) + : (En(i) && !(i.length > 32)) || + (console.error( + v.ERR_API_SALE_WRONG_ORDER_DETAIL_NAME + ), + 0) + : (console.error( + v.ERR_API_SALE_WRONG_ORDER_DETAIL_ID + ), + 0) + : (console.error( + v.ERR_API_SALE_WRONG_ORDER_DETAIL_AMOUNT + ), + 0) + : (console.error(v.ERR_API_SALE_WRONG_ORDER_DETAIL_ARGS), + 0))) + ) + return !1; + return !0; + })(n) && wn("pay", null, { price: n.price, details: n.details }); + }); + }, + }, + Cn = (function () { + function n(n) { + void 0 === n && (n = {}), + (this.concurrency = void 0), + (this.queue = []), + (this.activeCount = 0), + (this.concurrency = n.concurrency || 4); + } + var e = n.prototype; + return ( + (e.push = function (n) { + var e = this, + r = function () { + e.activeCount++, + n().then(function () { + e.next(); + }); + }; + this.activeCount < this.concurrency ? r() : this.queue.push(r); + }), + (e.next = function () { + this.activeCount--, this.queue.length > 0 && this.queue.shift()(); + }), + n + ); + })(); + function Mn() { + return (Mn = + Object.assign || + function (n) { + for (var e = 1; e < arguments.length; e++) { + var r = arguments[e]; + for (var t in r) + Object.prototype.hasOwnProperty.call(r, t) && (n[t] = r[t]); + } + return n; + }).apply(this, arguments); + } + var Vn = an, + qn = o(867), + Un = "df9b8c987dabf51846641954b93c8625"; + function kn(n) { + n && n(); + } + function Kn(n) { + return ( + P(nn, On()), + (this.aldstat = jn), + kn(function () { + P(tn, n), P(on, n.scene); + }) + ); + } + function $n(n) { + return kn(function () { + var e = n.scene, + r = n.query, + t = n.shareTicket, + o = r.ald_share_src, + i = e === w(on); + P(on, e), + P(un, 0), + P(tn, n), + P(C, o), + P(x, r.aldsrc || ""), + P("share_query", o), + w(U) || w(F) || w(B) || P(k, !1), + P(U, !1); + var a = w(L); + ((0 !== a && Date.now() - a > 3e4) || !i) && + (w(F) || (P(en, On()), P(G, Date.now()), P($, 0))), + 0 !== a && Date.now() - a < 3e4 && P(Y, !0), + Pn("app", "show"), + Wn.emit(Gn, { aldShareSrc: o, shareTicket: t, scene: e }); + }); + } + function Yn() { + return ( + P(L, Date.now()), + kn(function () { + Pn("app", "hide"); + }) + ); + } + function Fn(n) { + return kn(function () { + T(W), wn("event", "ald_error_message", n); + }); + } + function Bn(n) { + return kn(function () { + P(q, n); + }); + } + function Jn() { + return ( + P(j, Date.now()), + kn(function () { + var n; + P(M, (n = m.getCurrentPages())[n.length - 1].route); + var e = Boolean(w(F) || w(B)); + P(F, !1), P(B, !1); + var r = w(K); + P(K, !1), + (function (n, e, r) { + var t, + o = void 0 === r ? {} : r, + i = o.isFirstPage, + a = void 0 !== i && i, + u = o.isFromShareOrApi, + c = void 0 !== u && u, + _ = w(M), + l = Nn( + (((t = {}).ev = "page"), + (t[s] = "show"), + (t.pp = _), + (t.pc = w(V) || ""), + (t.dr = Date.now() - w(G)), + t) + ); + c && (l.so = 1); + var f = w(q); + f && "{}" !== JSON.stringify(f) && (l.ag = f); + var p = w(x); + p && (l.qr = l.sr = p); + var d = w(C); + d && (l.usr = d), + w(Y) && (l.ps = 1), + a ? ((l.ifp = !0), (l.fp = _), (l.pdr = 0)) : (l.pdr = w($)), + bn(l); + })(0, 0, { isFromShareOrApi: e, isFirstPage: r }), + P(Y, !1); + }) + ); + } + function Hn() { + return ( + P($, Date.now() - w(j)), + kn(function () { + P(V, w(M)); + }) + ); + } + var zn, + Qn, + Xn, + Zn, + ne, + ee = Hn; + function re() { + return kn(function () { + wn("event", "ald_pulldownrefresh", 1); + }); + } + function te() { + return kn(function () { + wn("event", "ald_reachbottom", 1); + }); + } + function oe(n, e, r) { + var t = n[e]; + t + ? ~t.indexOf(r) || (t.length < 200 && (n[e] = t + "," + r)) + : (n[e] = r); + } + function ie(n) { + return ( + mn(n, "onLaunch", Kn), + mn(n, "onShow", $n), + mn(n, "onHide", Yn), + mn(n, "onError", Fn), + n + ); + } + function ae(n) { + return ( + mn(n, "onShow", Jn), + mn(n, "onHide", Hn), + mn(n, "onLoad", Bn), + mn(n, "onUnload", ee), + mn(n, "onReachBottom", te), + mn(n, "onPullDownRefresh", re), + (r = (e = n).onShareAppMessage) && + (e.onShareAppMessage = function (n) { + var e = r.call(this, n) || {}; + return ( + (e.path = e.path || w(M)), + (function (n) { + P(F, !0); + var e = n.path, + r = + (function (n) { + if (~n.indexOf("?")) { + var e, + r, + t = {}; + return ( + n + .split("?")[1] + .split("&") + .forEach(function (n) { + if (n) { + var o = n.split("="); + (e = o[0]), + (r = + o.length >= 2 + ? decodeURIComponent(o[1]) + : null), + (t[e] = r); + } + }), + t + ); + } + })(e) || {}, + t = {}, + o = (w(tn) || {}).query; + for (var i in o) + o.hasOwnProperty(i) && + Object.values(g).indexOf(i) > -1 && + (t[i] = o[i]); + var a = e.split("?")[0] + "?"; + for (var u in (Object.assign(t, r), + oe(t, g.UUID, w(rn)), + w(Q) && oe(t, g.OPEN_ID, w(Q)), + t)) + t.hasOwnProperty(u) && + !~u.indexOf("ald") && + (a += u + "=" + t[u] + "&"); + return ( + (n.path = + a + + (t.ald_share_op + ? g.OPEN_ID + "=" + t.ald_share_op + "&" + : "") + + g.UUID + + "=" + + t.ald_share_src), + wn("event", "ald_share_status", n), + n + ); + })(e) + ); + }), + n + ); + var e, r; + } + function ue() { + var n; + (function () { + P(en, On()), + P( + Q, + (function () { + var n = ""; + try { + n = m.getStorageSync(h); + } catch (n) {} + return n; + })() + ); + var n = (function () { + var n = ""; + try { + n = m.getStorageSync(ln); + } catch (e) { + n = c; + } + return n; + })(); + P(k, !n), + n || + (function (n) { + try { + m.setStorageSync(ln, n); + } catch (n) { + m.setStorageSync(ln, c); + } + })( + (n = (function () { + function n() { + return Math.floor(65536 * (1 + Math.random())) + .toString(16) + .substring(1); + } + return n() + n() + n() + n() + n() + n() + n() + n(); + })()) + ), + P(rn, n), + P( + "appid", + m + .getAppid() + .split("") + .map(function (n) { + return n.charCodeAt(0) + 9; + }) + .join("-") + ); + })(), + P(cn, new Cn()), + m.request({ + url: f.SDK_VERSION, + header: ((n = {}), (n.AldStat = u), n), + method: "GET", + success: function (n) { + if (200 === n.statusCode) { + var e = n.data; + (function (n, e) { + return ( + (function (n, e) { + for ( + var r = n.split("."), + t = e.split("."), + o = Math.max(r.length, t.length); + r.length < o; + + ) + r.push("0"); + for (; t.length < o; ) t.push("0"); + for (var i = 0; i < o; i++) { + var a = parseInt(r[i], 10), + u = parseInt(t[i], 10); + if (a > u) return 1; + if (a < u) return -1; + } + return 0; + })(n, e) > 0 + ); + })(e.version, _n.version) && + console.warn(v.WARN_SDK_NEED_UPDATE), + e.warn && console.warn(e.warn), + e.error && console.error(e.error); + } + }, + }), + (function () { + var n, + e = (function () { + try { + return m.getSystemInfoSync(); + } catch (n) {} + })(); + if (e) { + var r, + t = e.brand, + o = e.model, + i = e.pixelRatio, + a = e.windowWidth, + u = e.windowHeight, + c = e.language, + s = e.version, + _ = e.platform, + l = e.SDKVersion, + f = e.system; + D( + Vn, + (((r = {}).br = t), + (r.pm = o), + (r.pr = i), + (r.ww = a), + (r.wh = u), + (r.lang = c), + (r.wv = s), + (r.wvv = _), + (r.wsdk = l), + (r.sv = f), + r) + ); + } + (n = function (n) { + var e; + D(Vn, (((e = {}).nt = n), e)); + }), + m.getNetworkType({ + success: function (e) { + n && n(e.networkType); + }, + }); + })(), + Wn.on(Gn, function (n) { + var r = n.aldShareSrc, + t = n.shareTicket, + o = n.scene; + if ( + (r && 1044 === o && t + ? e.wx$1.getShareInfo({ + shareTicket: t, + success: function (n) { + P(z, n), + wn("event", "ald_share_click", JSON.stringify(n)); + }, + }) + : r && wn("event", "ald_share_click", 1), + !w(Q)) + ) { + var i = m.getAppid(); + m.login({ + success: function (n) { + m.request({ + url: f.GET_OPEN_ID, + data: { ai: i, uuid: w(rn), jc: n.code, reqid: "1" }, + success: function (n) { + var e = n.data; + if (!e.code) { + var r, + t = + null == e || null == (r = e.data) + ? void 0 + : r.openid; + P(Q, t), m.setStorageSync(h, t); + } + }, + }); + }, + fail: function (n) { + console.warn("sdk-login-err", n); + }, + }); + } + }); + } + if ( + ((function (n) { + Object.assign(sn, n); + })( + Mn({ type: "wx" }, qn.wx, { + appKey: Un, + isPlugin: !1, + useCompliance: !1, + }) + ), + P(Vn, {}), + P(U, !0), + P(K, !0), + P(G, Date.now()), + P(L, 0), + P(W, 0), + P(X, ""), + P(un, 0), + (function () { + for ( + var n, + o, + i = {}, + a = function () { + var r = n.value; + i[r] = function () { + return e.wx$1[r].apply(null, arguments); + }; + }, + u = (function (n, e) { + var r = + ("undefined" != typeof Symbol && n[Symbol.iterator]) || + n["@@iterator"]; + if (r) return (r = r.call(n)).next.bind(r); + if ( + Array.isArray(n) || + (r = (function (n, e) { + if (n) { + if ("string" == typeof n) return I(n, e); + var r = Object.prototype.toString.call(n).slice(8, -1); + return ( + "Object" === r && + n.constructor && + (r = n.constructor.name), + "Map" === r || "Set" === r + ? Array.from(n) + : "Arguments" === r || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) + ? I(n, e) + : void 0 + ); + } + })(n)) + ) { + r && (n = r); + var t = 0; + return function () { + return t >= n.length + ? { done: !0 } + : { done: !1, value: n[t++] }; + }; + } + throw new TypeError( + "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + })(r.concat(t)); + !(n = u()).done; + + ) + a(); + (i.getAppid = N), + (i.getCurrentPages = getCurrentPages), + (o = i), + Object.assign(A, o); + })(), + (function (n) { + n.aldstat = jn; + for (var r = 0, t = R.length; r < t; r++) + (o = e.wx$1), + (i = R[r]), + (u = xn[R[r]]), + Object.defineProperty(o, i, { + value: u, + writable: !1, + enumerable: !0, + configurable: !0, + }); + var o, i, u; + !(function (n) { + for ( + var e, + r = function () { + var r = e.value, + t = n[r]; + try { + Object.defineProperty(n, r, { + get: function () { + return P(B, !0), t; + }, + }); + } catch (n) {} + }, + t = (function (n, e) { + var r = + ("undefined" != typeof Symbol && n[Symbol.iterator]) || + n["@@iterator"]; + if (r) return (r = r.call(n)).next.bind(r); + if ( + Array.isArray(n) || + (r = (function (n, e) { + if (n) { + if ("string" == typeof n) return In(n, e); + var r = Object.prototype.toString.call(n).slice(8, -1); + return ( + "Object" === r && + n.constructor && + (r = n.constructor.name), + "Map" === r || "Set" === r + ? Array.from(n) + : "Arguments" === r || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) + ? In(n, e) + : void 0 + ); + } + })(n)) + ) { + r && (n = r); + var t = 0; + return function () { + return t >= n.length + ? { done: !0 } + : { done: !1, value: n[t++] }; + }; + } + throw new TypeError( + "Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + })(a); + !(e = t()).done; + + ) + r(); + })(n); + })(e.wx$1), + _n.useCompliance + ? Wn.on(Ln, function (n) { + P("is_compliance_enabled", n), ue(); + }) + : ue(), + _n.isPlugin) + ) { + var ce = { + App: (function (n) { + function e(e) { + return n.apply(this, arguments); + } + return ( + (e.toString = function () { + return n.toString(); + }), + e + ); + })(function (n) { + return App(ie(n)); + }), + Page: (function (n) { + function e(e) { + return n.apply(this, arguments); + } + return ( + (e.toString = function () { + return n.toString(); + }), + e + ); + })(function (n) { + return Page(ae(n)); + }), + }; + (zn = ce.App), (Qn = ce.Page); + } else + (Xn = App), + (App = function (n) { + ie(n), Xn(n); + }), + (Zn = Page), + (Page = function (n) { + ae(n), Zn(n); + }), + (ne = Component), + (Component = function (n) { + var e = n.methods; + e && ae(e), ne(n); + }), + (zn = App), + (Qn = Page); + var se = Component; + })(), + i + ); +}; diff --git a/utils/common.js b/utils/common.js new file mode 100644 index 0000000..01ebb5e --- /dev/null +++ b/utils/common.js @@ -0,0 +1,310 @@ +var e = require("../common/vendor.js"), + n = require("../service/index.js"), + r = require("../enums/index.js"), + t = require("./util.js"); +require("../config/index.js"); +var i = require("../hooks/useState.js"), + u = require("./navigate.js"); +require("../constant/index.js"); +var o = function (n) { + console.log("onEmit刷新", n), + e.index.$emit("refreshOrderDetail", n), + e.index.$emit("updateOrderDetail"), + e.index.$emit("refreshOrderNum"), + e.index.$emit("updateOrderList", n), + e.index.$emit("updateMyOrderList", n); +}; +(exports.chooseDrivingLicense = function (e) { + var r = e.orderNo; + return t.choosePhoto().then(function (e) { + return ( + t.showLoading(), + n.uploadDrivingLicense({ filePath: e, order_no: r }).then(function () { + o(r), t.hideLoading(); + }) + ); + }); +}), + (exports.getOrderStatus = function (n) { + var t = e._.find(n, function (e) { + return e.status === r.ProductStatusEnum.IN_QUERY; + }), + i = e._.find(n, function (e) { + return e.status === r.ProductStatusEnum.TO_BE_UPLOADED; + }), + u = e._.every(n, function (e) { + return ( + e.status === r.ProductStatusEnum.SUCCESS || + (e.status == e.status) === r.ProductStatusEnum.FAIL + ); + }); + return t ? ",查询中" : i ? ",待上传行驶证" : u ? ",查询完成" : ""; + }), + (exports.getProduct = function (e) { + var n = i.useState(), + t = n.insuranceMaintainProduct, + u = n.accidentProduct, + o = n.vehicleFiveProduct, + a = n.saliProduct, + c = n.saliCheckProduct, + s = n.commercialInsuranceProduct, + d = n.violationProduct, + l = n.vehicleStatusProduct, + m = null; + return ( + e.split(",").length > 1 + ? (m = { product_name: "综合车况" }) + : e === r.ProductTypeEnum.INSURANCE_MAINTAIN + ? (m = t.value) + : e === r.ProductTypeEnum.ACCIDENT + ? (m = u.value) + : e === r.ProductTypeEnum.VEHICLE_FIVE + ? (m = o.value) + : e === r.ProductTypeEnum.COMMERICAL_INSURANCE + ? (m = s.value) + : e === r.ProductTypeEnum.VIOLATION + ? (m = d.value) + : e === r.ProductTypeEnum.SALI + ? (m = a.value) + : e === r.ProductTypeEnum.SALI_CHECK + ? (m = c.value) + : e === r.ProductTypeEnum.VEHICLE_STATUS && (m = l.value), + m + ); + }), + (exports.getVehicleInfoList = function (n) { + var r = [ + "厂家名称", + "车型名称", + "版本", + "车型组名称", + "车型组ID", + "车ID", + "年款", + "上市日期", + "新车购置价格", + "市场价", + "发动机型号", + "排量", + "档位数", + "燃油类型", + "燃油标号", + "喷射方式", + "最大功率 KW", + "最大马力(Ps)", + "轴距", + "尺寸类型", + "车身型式", + "车体结构", + "变速箱类型", + "驱动方式", + "前轮胎尺寸", + "后轮胎尺寸", + "前制动类型", + "后制动类型", + "驻车制动类型", + "档位数", + "座位数", + "车门数", + "气缸数", + "长 mm", + "宽", + "高", + "整备质量 kg", + "是否是进口", + ], + t = []; + return ( + e._.each(r, function (r) { + var i = null, + u = []; + "发动机型号" === r + ? (u = e._.filter(n, function (e) { + return "发动机" === e.name || "发动机型号" === e.name; + })).length > 0 && ((i = u[0]).name = "发动机型号") + : "排量" === r + ? (u = e._.filter(n, function (e) { + return "排量 L" === e.name || "排量(mL)" === e.name; + })).length > 0 && ((i = u[0]).name = "排量") + : "变速箱类型" === r + ? (u = e._.filter(n, function (e) { + return "变速箱" === e.name || "变速箱类型" === e.name; + })).length > 0 && ((i = u[0]).name = "变速箱类型") + : (i = e._.find(n, function (e) { + return e.name === r; + })), + i && t.push(i); + }), + (t = e._.concat( + t, + e._.filter(n, function (e) { + return ( + r.indexOf(e.name) < 0 && + [ + "发动机", + "发动机型号", + "排量 L", + "排量(mL)", + "变速箱", + "变速箱类型", + ].indexOf(e.name) < 0 + ); + }) + )) + ); + }), + (exports.hasClickAgreement = function () { + return !( + !e.index.getStorageSync("hasClickAgreement") || + e.index.getStorageSync("hasClickAgreement") < 1 + ); + }), + (exports.isSupportAliPay = function () { + i.useState(); + return !1, !1; + }), + (exports.isSupportWeChatPay = function () { + i.useState(); + return !0, !0; + }), + (exports.modifyVin = function (e) { + var r = e.orderNo, + i = e.vin; + return ( + t.showLoading(), + n.modifyOrderVin({ order_no: r, vin: i }).then(function () { + t.showToast("修改成功"), o(r); + }) + ); + }), + (exports.ocrIdentifyVin = function () { + return t.choosePhoto().then(function (e) { + return ( + t.showLoading(), + n.ocrUploadDrivingLicense({ filePath: e }).then(function (e) { + return t.showToast("识别成功,请核对"), e ? e.vin : null; + }) + ); + }); + }), + (exports.openReport = function (e) { + var i = e.orderNo, + o = e.productId, + a = e.status; + t.showLoading(); + var c = null; + o === r.ProductTypeEnum.INSURANCE_MAINTAIN && + (c = + a === r.ProductStatusEnum.FAIL + ? function () { + return Promise.resolve({ + url: "/pages/insurance-maintain-blank/index", + }); + } + : function () { + return Promise.resolve({ + url: "/pages/insurance-maintain-detail/index", + }); + }), + o === r.ProductTypeEnum.ACCIDENT && + (c = + a === r.ProductStatusEnum.FAIL + ? function () { + return Promise.resolve({ url: "/pages/accident-blank/index" }); + } + : function () { + return n + .getReportDetail({ order_no: i, product_id: o }) + .then(function (e) { + var n = e.report_url_our; + return { + url: n + ? "/pages/accident-web-view/index" + : "/pages/accident-detail/index", + reportUrl: n, + }; + }); + }), + o === r.ProductTypeEnum.COMMERICAL_INSURANCE && + (c = function () { + return Promise.resolve({ + url: "/pages/commercial-insurance-detail/index", + }); + }), + o === r.ProductTypeEnum.VEHICLE_FIVE && + (c = function () { + return Promise.resolve({ url: "/pages/vehicle-five-detail/index" }); + }), + o === r.ProductTypeEnum.SALI && + (c = function () { + return Promise.resolve({ url: "/pages/sali-detail/index" }); + }), + o === r.ProductTypeEnum.SALI_CHECK && + (c = function () { + return Promise.resolve({ url: "/pages/sali-check-detail/index" }); + }), + o === r.ProductTypeEnum.VEHICLE_STATUS && + (c = function () { + return Promise.resolve({ url: "/pages/vehicle-status-detail/index" }); + }), + c + ? c().then(function (e) { + var n = e.url, + r = e.reportUrl; + t.hideLoading(), + u.navigateTo({ + url: n, + params: { order_no: i, product_id: o, url: r }, + }); + }) + : t.showToast("当前查询类型暂不支持"); + }), + (exports.payForOrder = function (n) { + var i = n.payMethod, + u = n.data, + a = u.orderNo; + return (function (n) { + var t = n.payMethod, + i = n.data, + u = null; + return ( + t === r.PayMethodEnum.WECHAT_PAY && + (u = function () { + return e.index.requestPayment({ + provider: "wxpay", + timeStamp: String(i.timestamp), + nonceStr: String(i.nonceStr), + package: String(i.package), + signType: String(i.signType), + paySign: String(i.paySign), + }); + }), + t === r.PayMethodEnum.ALI_PAY && + (u = function () { + return e.index.requestPayment({ + provider: "alipay", + orderInfo: String(i.alipay), + }); + }), + u() + ); + })({ payMethod: i, data: u }) + .then(function () { + return Promise.resolve({ orderNo: a }); + }) + .catch(function () { + return Promise.reject({ orderNo: a }); + }) + .finally(function () { + o(a), t.hideLoading(); + }); + }), + (exports.queryWithoutDrivingLicense = function (e) { + var r = e.orderNo; + return ( + t.showLoading(), + n.noDrivingLicense({ order_no: r }).then(function () { + o(r); + }) + ); + }); diff --git a/utils/mtj-wx-sdk.js b/utils/mtj-wx-sdk.js new file mode 100644 index 0000000..f7ec743 --- /dev/null +++ b/utils/mtj-wx-sdk.js @@ -0,0 +1,1137 @@ +var t = require("../common/vendor.js"); +exports.mtjInit = function (e) { + var n, + r, + o = "1.10.23", + a = "https://hmma.baidu.com/mini.gif", + i = { + app: ["onShow", "onHide", "onError"], + page: ["onShow", "onReady", "onHide", "onPageScroll"], + share: ["onShareAppMessage"], + behavior: ["tap"], + }, + c = "mtj_uuid", + s = "mtj_user", + u = "mtj_user_property", + f = "mtj_track_status", + l = "mtj_remote_config", + h = "mtj_ab_experiment_list", + p = "mtj_ab_active_experiment_ids", + d = {}, + g = { type: 1 }, + m = { aso: {} }, + y = {}, + v = function (t) { + if (!1 !== d.trackStatus) { + var e = t.data.et + ? { mtj_ii: t.data.uuid || "", mtj_et: t.data.et, mtj_en: t.data.en } + : {}; + return n.request({ + url: t.url, + data: t.data, + header: Object.assign( + { "content-type": "application/json" }, + e, + t.header + ), + method: t.method || "POST", + dataType: t.dataType || "json", + success: function (e) { + t.success && t.success(e); + }, + fail: function (e) { + t.fail && t.fail(e); + }, + }); + } + }, + b = function () { + return "undefined" != typeof crypto && crypto.getRandomValues + ? crypto.getRandomValues(new Uint32Array(1))[0] + : Math.floor(4294967295 * Math.random()); + }, + j = function (t, e) { + return "[object " + e + "]" === {}.toString.call(t); + }, + S = function t(e) { + return j(e, "Object") || j(e, "Array") + ? (Object.keys(e).forEach(function (n) { + var r = e[n]; + j(r, "Object") || j(r, "Array") ? (e[n] = t(r)) : (e[n] = "" + r); + }), + e) + : e; + }, + O = function (t) { + return j(t, "String") && /^\d{11}$/.test(t); + }, + w = function (t) { + return j(t, "String") && 28 === t.length; + }, + k = 0, + x = function (t) { + return new Promise(function (e, n) { + return ( + (t.data = t.data || {}), + d.blacklist && + ((d.blacklist.indexOf("all") > -1 && t.data.et) || + (d.blacklist.indexOf("behavior") > -1 && "behavior" === t.data.et)) + ? e() + : ((t.data.v = o), + (t.data.rqc = ++k), + (r = t.data), + JSON.stringify(r).length <= 204800 + ? ((t.success = function (t) { + return e(t); + }), + (t.fail = function (t) { + return n(t); + }), + void v(t)) + : (k--, n(new Error("invalid data")))) + ); + var r; + }); + }, + P = function (t, e) { + var n = j(e, "Object") ? JSON.stringify(e) : "" + e; + x({ + url: a, + dataType: "string", + data: Object.assign({}, g, { + et: "error", + en: t, + ep: { ex: n }, + rid: b(), + }), + }); + }, + _ = function (t) { + (t.rid = b()), (t.aso = t.aso || {}); + var e = { url: a, dataType: "string", data: Object.assign({}, g, t) }; + x(e), + (y.circleToken || y.circleByThreeFingers) && + (("page" === t.et && "show" === t.en) || + ("behavior" === t.et && "tap" === t.en)) && + ((e.url = "https://hmma.baidu.com/mini.gif?circle=1"), + (e.data.token = y.circleToken), + x(e).catch(function (t) { + return console.error(t); + })); + }; + function T(t, e) { + return ( + (function (t) { + if (Array.isArray(t)) return t; + })(t) || + (function (t, e) { + var n = + t && + (("undefined" != typeof Symbol && t[Symbol.iterator]) || + t["@@iterator"]); + if (null != n) { + var r, + o, + a = [], + i = !0, + c = !1; + try { + for ( + n = n.call(t); + !(i = (r = n.next()).done) && + (a.push(r.value), !e || a.length !== e); + i = !0 + ); + } catch (t) { + (c = !0), (o = t); + } finally { + try { + i || null == n.return || n.return(); + } finally { + if (c) throw o; + } + } + return a; + } + })(t, e) || + (function (t, e) { + if (t) { + if ("string" == typeof t) return I(t, e); + var n = Object.prototype.toString.call(t).slice(8, -1); + return ( + "Object" === n && t.constructor && (n = t.constructor.name), + "Map" === n || "Set" === n + ? Array.from(t) + : "Arguments" === n || + /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) + ? I(t, e) + : void 0 + ); + } + })(t, e) || + (function () { + throw new TypeError( + "Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." + ); + })() + ); + } + function I(t, e) { + (null == e || e > t.length) && (e = t.length); + for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n]; + return r; + } + var A = function (t) { + try { + return n.getStorageSync(t); + } catch (t) { + P("getStorageSync", t); + } + }, + E = function (t, e) { + try { + n.setStorageSync(t, e); + } catch (t) { + P("setStorageSync", t); + } + }, + N = function (t) { + try { + n.removeStorageSync(t); + } catch (t) { + P("removeStorageSync", t); + } + }, + C = function () { + return Promise.resolve().then(function () { + var t = A(c); + return ( + (j(t, "String") && 32 === t.length) || + ((t = ([1e7] + 1e3 + 4e3 + 8e3 + 1e11).replace( + /[018]/g, + function (t) { + return ( + t ^ + (("undefined" != typeof crypto && crypto.getRandomValues + ? crypto.getRandomValues(new Uint8Array(1))[0] + : Math.floor(255 * Math.random())) & + (15 >> (t / 4))) + ).toString(16); + } + )), + E(c, t), + d.hasABTest && (N(h), N(p))), + t + ); + }); + }, + q = function () { + return ( + r || + ((g.sid = b()), + (g.rqc = 0), + (r = Promise.all([ + C(), + new Promise(function (t) { + n.getSystemInfo({ + success: function (e) { + delete e.errMsg, t(e); + }, + fail: function () { + t({}); + }, + }); + }), + new Promise(function (t) { + n.getNetworkType({ + success: function (e) { + delete e.errMsg, t(e); + }, + fail: function () { + t({}); + }, + }); + }), + Promise.resolve().then(function () { + var t = A(s), + e = j(t, "Object") ? t : {}; + return new Promise(function (t) { + n.getSetting({ + success: function (r) { + r.authSetting && r.authSetting["scope.userInfo"] + ? n.getUserInfo({ + success: function (n) { + delete n.userInfo.errMsg, + t(Object.assign(e, n.userInfo)); + }, + fail: function () { + t(e); + }, + }) + : t(e); + }, + fail: function () { + t(e); + }, + }); + }); + }), + new Promise(function (t) { + if (!d.getLocation) return t({}); + n.getLocation({ + type: "wgs84", + success: function (e) { + delete e.errMsg, t(e); + }, + fail: function () { + t({}); + }, + }); + }), + Promise.resolve().then(function () { + var t = A(u); + return j(t, "Object") ? t : {}; + }), + ]).then(function (t) { + var e = T(t, 6), + n = e[0], + r = e[1], + a = e[2], + i = e[3], + c = e[4], + s = e[5]; + (g.uuid = n), + (m.system = S(r)), + (m.network = S(a)), + Object.keys(i).length > 0 && (m.user = S(i)), + Object.keys(c).length > 0 && (m.location = S(c)), + Object.keys(s).length > 0 && (m.userProperty = JSON.stringify(s)), + "devtools" === m.system.platform && + d.latestVersion && + (function (t, e) { + for ( + var n = t.split("."), r = e.split("."), o = 0; + o < 3; + o++ + ) { + var a = +n[o] || 0, + i = +r[o] || 0; + if (a > i) return 1; + if (i > a) return -1; + } + return 0; + })(o, d.latestVersion) < 0 && + console.warn( + "百度移动统计微信小程序SDK已更新,为不影响您的正常使用,请到SDK下载中心 https://mtj.baidu.com/web/sdk/index 下载最新版本" + ); + }))) + ); + }, + U = { + onShow: function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + e = (m.aso.query || []).filter(function (t) { + return 0 === t.key.indexOf("mtj_"); + }); + return ( + (m.aso.scene = "" + (t.scene || "")), + t.referrerInfo && t.referrerInfo.appId + ? (m.aso.referrerInfo = t.referrerInfo) + : delete m.aso.referrerInfo, + (m.aso.path = t.path || ""), + (m.aso.query = Object.keys(t.query || {}).map(function (e) { + return { key: e, value: t.query[e] }; + })), + e.length > 0 && + !/(^|,)mtj_/.test(Object.keys(t.query || {}).join(",")) && + (m.aso.query = m.aso.query.concat(e)), + (t.query || {}).mtj_ctoken && + !d.disableCircling && + (y.circleToken = t.query.mtj_ctoken), + (t.query || {}).mtj_htoken && + d.hasHeatmap && + (y.heatmapToken = t.query.mtj_htoken), + q() + .then(function () { + return (function (t) { + return new Promise(function (e) { + if (!t) return e(); + n.getShareInfo({ + shareTicket: t, + success: function (t) { + delete t.errMsg, e(t); + }, + fail: function () { + e({}); + }, + }); + }); + })(t.shareTicket); + }) + .then(function (t) { + t ? (m.aso.shareInfo = t) : delete m.aso.shareInfo, + _(Object.assign({ et: "app", en: "show" }, m)); + }) + .catch(function (t) { + P("app.onShow", t); + }) + ); + }, + onHide: function () { + _({ et: "app", en: "hide" }); + }, + onError: function (t) { + var e = j(t, "Object") ? JSON.stringify(S(t)) : "" + t; + _({ et: "app", en: "error", ep: { ex: e } }); + }, + }; + function B() { + this.options = { + opacity: 100, + radius: 30, + bshadow: 1.5, + boundVal: 15e3, + shadowBlur: 15, + points: { max: 100, data: [] }, + gradient: { + 0.45: "rgb(0,0,255)", + 0.55: "rgb(0,255,255)", + 0.65: "rgb(0,255,0)", + 0.95: "yellow", + 1: "rgb(255,0,0)", + }, + }; + } + B.prototype = { + getCanvas: function (t) { + return new Promise(function (e, r) { + n.createSelectorQuery() + .select(t) + .fields({ node: !0, size: !0 }) + .exec(function (t) { + e(t[0].node); + }); + }); + }, + getPageClientRect: function () { + return new Promise(function (t, e) { + n.createSelectorQuery() + .select(".hm-container") + .boundingClientRect(function (e) { + t([e.width, e.height]); + }) + .exec(); + }); + }, + init: function () { + var t = this; + return Promise.all([ + this.getPageClientRect(), + this.getCanvas("#cvs"), + this.getCanvas("#cvd"), + ]).then(function (e) { + var n = T(e, 3), + r = n[0], + o = n[1], + a = n[2]; + (t.options.width = r[0]), + (t.options.height = r[1]), + (o.width = t.options.width), + (o.height = t.options.height), + t.options.context.setData({ + p_width: t.options.width, + p_height: t.options.height, + }); + var i = o.getContext("2d"); + (t.options.ctx = i), (a.width = 1), (a.height = 256); + var c = a.getContext("2d"); + t.options.pctx = c; + }); + }, + renderShadow: function (t, e, n, r) { + var o = this.options.ctx, + a = this.options.boundVal, + i = parseFloat(n / this.options.points.max, 10); + (o.shadowColor = "rgba(0, 0, 0, " + i + ")"), + (o.shadowOffsetX = a), + (o.shadowOffsetY = a), + (o.shadowBlur = this.options.shadowBlur), + o.beginPath(), + o.arc(t - a, e - a, this.options.radius, 0, 2 * Math.PI, !0), + o.closePath(), + o.fill(), + r || this.cachePoint(t, e, n); + }, + colorize: function () { + for ( + var t = this.options.width, + e = this.options.height, + n = this.options.ctx, + r = n.getImageData(0, 0, t, e), + o = r.data, + a = o.length, + i = this.getPalette(), + c = this.options.opacity, + s = 3; + s < a; + s += 4 + ) { + var u = o[s], + f = 4 * u; + if (f) { + var l = u < c ? u : c; + (o[s - 3] = i[f]), + (o[s - 2] = i[f + 1]), + (o[s - 1] = i[f + 2]), + (o[s] = l); + } + } + n.putImageData(r, 0, 0); + }, + getPalette: function () { + var t = this.options.gradient, + e = this.options.pctx, + n = this.options.pctx.createLinearGradient(0, 0, 1, 256); + for (var r in t) t.hasOwnProperty(r) && n.addColorStop(r, t[r]); + return ( + (e.fillStyle = n), + e.fillRect(0, 0, 1, 256), + e.getImageData(0, 0, 1, 256).data + ); + }, + cachePoint: function (t, e, n) { + var r = this.options.points, + o = r.data; + n > r.max && (r.max = n), o.push([t, e, n]); + }, + addPoint: function (t, e, n) { + this.options.ctx.clearRect(0, 0, this.options.width, this.options.height), + this.options.pctx.clearRect(0, 0, 1, 256); + for (var r = this.options.points.data, o = r.length, a = 0; a < o; a++) + this.renderShadow(r[a][0], r[a][1], r[a][2], !0); + this.renderShadow(t, e, n), this.colorize(); + }, + start: function (t, e) { + var n = this; + (this.options.context = e), + this.init().then(function () { + for (var e = 0; e < t.length; e++) + n.renderShadow(t[e][0], t[e][1], t[e][2]); + n.colorize(); + }); + }, + }; + var D = -1, + M = -1, + R = 0, + F = { + onShow: function () { + var t = getCurrentPages(), + e = t[t.length - 1]; + return ( + (g.path = e.route), + (g.query = Object.keys(e.options) + .map(function (t) { + return { key: t, value: e.options[t] }; + }) + .filter(function (t) { + return ( + "mtj_qrid" !== t.key && + "mtj_lkid" !== t.key && + "mtj_shuuid" !== t.key + ); + })), + (g.path === y.lastPagePath && + JSON.stringify(g.query) === y.lastPageQuery) || + ((y.lastPagePath = g.path), + (y.lastPageQuery = JSON.stringify(g.query)), + (y.pageScrollTop = 0)), + q() + .then(function () { + _(Object.assign({ et: "page", en: "show" }, m)); + }) + .catch(function (t) { + P("page.onShow", t); + }) + ); + }, + onReady: function () { + var t = this; + d.hasHeatmap && + y.heatmapToken && + q() + .then(function () { + var e, + n = "" + .concat( + "https://hmma.baidu.com/analytics/ajax/cors", + "?corsToken=" + ) + .concat(y.heatmapToken), + r = g.query + .filter(function (t) { + return "mtj_htoken" !== t.key; + }) + .map(function (t) { + return "".concat(t.key, "=").concat(t.value); + }) + .join("&"), + o = g.path; + v({ + url: n, + data: { + method: "heatmap/heatmapData", + displayUrl: "".concat(o).concat(r ? "?" + r : ""), + screenWidth: + null === (e = m.system) || void 0 === e + ? void 0 + : e.windowWidth, + }, + method: "POST", + success: function (e) { + var n, + r, + o = + (null == e || + null === (n = e.data) || + void 0 === n || + null === (r = n.data) || + void 0 === r + ? void 0 + : r.points) || []; + o.length && + setTimeout(function () { + new B().start(o, t); + }, 1e3); + }, + fail: function () { + console.error("热力图数据请求失败"); + }, + }); + }) + .catch(function (t) { + P("get heatmap", t); + }); + }, + onHide: function () { + var t, + e, + r, + o, + a, + i = S({ + scrollTop: y.pageScrollTop, + height: + null === (t = m.system) || + void 0 === t || + null === (e = t.safeArea) || + void 0 === e + ? void 0 + : e.height, + width: + null === (r = m.system) || + void 0 === r || + null === (o = r.safeArea) || + void 0 === o + ? void 0 + : o.width, + }), + c = Object.keys(i).map(function (t) { + return { key: t, value: i[t] }; + }); + if ( + (_({ et: "page", en: "hide", ep: { data: c } }), d.getComponentScroll) + ) + try { + (a = JSON.parse(JSON.stringify(g))), + n + .createSelectorQuery() + .selectAll(".mtj-scroll") + .fields({ id: !0, size: !0, scrollOffset: !0 }) + .exec(function (t) { + Object.keys(t[0]).length > 0 && + _( + Object.assign( + { et: "page", en: "scroll", ep: S(t[0]) }, + a + ) + ); + }); + } catch (t) { + P("page.trackComponentScrollEvent", t); + } + }, + onPageScroll: function (t) { + (!y.pageScrollTop || t.scrollTop > y.pageScrollTop) && + (y.pageScrollTop = t.scrollTop); + }, + onShareAppMessage: function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = { from: t.from, path: e.path }; + if (!n.path) { + var r = g.query + .map(function (t) { + return t.key + "=" + t.value; + }) + .join("&"); + n.path = g.path + (r ? "?" + r : ""); + } + e.title && (n.title = "" + e.title), + t.target && (n.target = JSON.stringify(t.target)), + _(Object.assign({ et: "share", en: "action", ep: n }, m)); + var o = m.aso.query.filter(function (t) { + return "mtj_shuuid" === t.key; + }), + a = o[0] ? o[0].value.split("_") : []; + g.uuid !== a[a.length - 1] && a.push(g.uuid); + var i = a.slice(Math.max(0, a.length - 3)).join("_"); + return ( + (e.path = (function (t, e, n) { + var r = + (t = t + .replace(new RegExp(e + "=[^&]*", "g"), "") + .replace(/(\?|&)&/g, "$1") + .replace(/(\?|&)$/g, "")).indexOf("?") > 0 + ? "&" + : "?"; + return t + r + e + "=" + encodeURIComponent(n); + })(n.path, "mtj_shuuid", i)), + e + ); + }, + onAction: function (t, e) { + if (t && t.type && t.currentTarget) { + var n = "#" + (t.currentTarget.id || e); + if ("tap" === t.type) { + var r = [{ key: "xpath", value: n }], + o = t.detail, + a = o.x, + i = o.y, + c = {}; + return ( + void 0 !== a && + void 0 !== i && + (c = { x: Math.floor(a), y: Math.floor(i) }), + void _( + Object.assign( + { et: "behavior", en: "tap", ep: { data: r }, posi: c }, + m + ) + ) + ); + } + if ( + "touchmove" === t.type && + -1 === D && + t.touches instanceof Array && + 3 === t.touches.length + ) { + if (((R += 1), clearTimeout(M), 3 === R)) + return ( + (y.circleByThreeFingers = !0), + (y.circleToken = void 0), + void _(Object.assign({ et: "page", en: "show" }, m)) + ); + D = setTimeout(function () { + (D = -1), + (M = setTimeout(function () { + R = 0; + }, 500)); + }, 1e3); + } + } + }, + }, + J = { + trackEvent: function (t) { + var e = + arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; + if ( + !(function (t) { + return j(t, "String") && /^[a-z][a-z0-9_]{0,31}$/.test(t); + })(t) + ) + return Promise.reject(new Error("事件名称不合法")); + var n = Object.keys(e) + .filter(function (t) { + return ( + (function (t) { + return j(t, "String") && /^[a-z0-9_]{1,32}$/.test(t); + })(t) && + (function (t) { + return j(t, "String") || j(t, "Number"); + })(e[t]) + ); + }) + .map(function (t) { + return { + key: "" + t, + value: "" + e[t], + type: j(e[t], "String") ? "string" : "number", + }; + }); + return q() + .then(function () { + _(Object.assign({ et: "event", en: "" + t, ep: { data: n } }, m)); + }) + .catch(function (t) { + P("trackEvent", t); + }); + }, + setTrackStatus: function (t) { + j(t, "Boolean") && ((d.trackStatus = t), E(f, t)); + }, + setUserInfo: function () { + var t = + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + e = t.tel, + n = t.openId; + return q() + .then(function () { + var t = A(s), + r = j(t, "Object") ? t : {}; + O(e) && (r.tel = m.user.tel = e.substr(e.length - 11)), + w(n) && (r.openId = m.user.openId = n), + (r.tel || r.openId) && E(s, r), + j(e, "Undefined") || + O(e) || + console.error("手机号 ".concat(e, " 不合法")), + j(n, "Undefined") || + w(n) || + console.error("openid ".concat(n, " 不合法")); + }) + .catch(function (t) { + P("setUserInfo", t); + }); + }, + setUserId: function (t) { + return Promise.resolve().then(function () { + if (!(j(t, "String") || (j(t, "Number") && Number.isFinite(t)))) + return Promise.reject(new Error("userId只能是字符串或数字")); + var e = "" + t, + n = A(u), + r = j(n, "Object") ? n : {}; + if (!r.uid_ || r.uid_[0] !== e) { + (r.uid_ = [e, "1"]), E(u, r), (m.userProperty = JSON.stringify(r)); + var o = [{ key: "uid", value: e }]; + return q() + .then(function () { + _( + Object.assign( + { et: "api", en: "setUserId", ep: { data: o } }, + m + ) + ); + }) + .catch(function (t) { + P("setUserId", t); + }); + } + }); + }, + setUserProperty: function (t) { + return Promise.resolve().then(function () { + var e = A(u), + n = j(e, "Object") ? e : {}; + if (j(t, "Null")) + Object.keys(n).forEach(function (t) { + "_" !== t.charAt(0) && + "_" !== t.charAt(t.length - 1) && + delete n[t]; + }); + else if (!j(t, "Object")) + return Promise.reject(new Error("userProperty必须是对象")); + var r = Object.keys(n).filter(function (t) { + return "_" !== t.charAt(0) && "_" !== t.charAt(t.length - 1); + }).length; + Object.keys(t || {}).forEach(function (e) { + var o = t[e]; + "" === e || + "_" === e.charAt(0) || + ("_" === e.charAt(e.length - 1) && + "ab_" !== e && + "ab_filter_" !== e) || + (j(o, "Null") + ? n[e] && (delete n[e], r--) + : !(j(o, "String") || (j(o, "Number") && Number.isFinite(o))) || + e.length > 256 || + ("" + o).length > 256 || + (!n[e] && r >= 100) || + (n[e] || r++, (n[e] = [o, "1"]))); + }), + E(u, n), + (m.userProperty = JSON.stringify(n)); + }); + }, + }, + V = { + data: [], + init: function () { + var t = this, + e = g.uuid; + e + ? this.startFetch(e) + : C().then(function (e) { + (g.uuid = e), t.startFetch(e); + }); + }, + startFetch: function (t) { + console.log("---您的设备ID---", t), this.fetchTest(); + }, + getExpDataByParamName: function (t) { + var e = A(h); + if ((this.setLocalData(e), !e || !j(e, "Array"))) return {}; + var n = e.find(function (e) { + return e && j(e.params, "Object") && !j(e.params[t], "Undefined"); + }); + return n && n.params ? { expValue: n.params[t], expId: n.e } : {}; + }, + fetchTest: function (t, e, n) { + var r = this, + o = g.uuid, + a = g.key; + v({ + url: "https://hm.baidu.com/v1/diversion/", + data: { cid: o, tid: a }, + method: "GET", + success: function (o) { + j(o, "Object") && + 200 === o.statusCode && + j(o.data, "Object") && + 0 === o.data.status + ? r.handleFetchResponse(o.data, t, e, n) + : n && n(e); + }, + fail: function () { + console.error("请求分流实验失败"), n && n(e); + }, + }); + }, + handleFetchResponse: function (t, e, n, r) { + var o = []; + if ( + (j(t, "Object") && + j(t.data, "Object") && + j(t.data.expr, "Array") && + (o = t.data.expr), + this.updateStorage(o), + this.setLocalData(o), + r) + ) { + var a = this.getExpDataByParamName(e), + i = a.expValue, + c = a.expId; + j(i, "Null") || j(i, "Undefined") ? r(n) : this.handleInTest(i, c, r); + } + }, + handleInTest: function (t, e, n) { + n(t), this.updateUserProperty(e); + }, + updateStorage: function (t) { + E(h, t); + }, + setLocalData: function (t) { + this.data = t || []; + }, + updateUserProperty: function (t) { + var e = this, + n = this.getActiveExpIds(t) || [], + r = { ab_: null, ab_filter_: null }, + o = {}, + a = []; + if ( + (n.forEach(function (t) { + var n = e.getExpDataFromId(t); + j(n, "Object") && ((o[n.e] = n.g), a.push(n.h || 0)); + }), + a.length) + ) { + var i = 0; + a.forEach(function (t) { + i = (function (t, e) { + var n = "00000000000000000000000000000000"; + function r(t) { + var e = (n + n + Number(t).toString(2)).slice(-64); + return [parseInt(e.slice(0, 32), 2), parseInt(e.slice(-32), 2)]; + } + function o(t) { + return (n + t.toString(2)).slice(-32); + } + var a = r(t), + i = r(e); + return parseInt( + o((a[0] | i[0]) >>> 0) + o((a[1] | i[1]) >>> 0), + 2 + ); + })(i, t); + }), + (r = { ab_: JSON.stringify(o), ab_filter_: i }); + } + J.setUserProperty(r); + }, + getExpDataFromId: function (t) { + return A(h).find(function (e) { + return String(e.e) === String(t); + }); + }, + setActiveExperimentIds: function (t) { + E(p, t); + }, + getActiveExpIds: function (t) { + var e = this, + n = A(p) || []; + return ( + j(t, "Undefined") || -1 !== n.indexOf(t) || n.push(t), + (n = (n = n.filter(function (t) { + return !!e.getExpDataFromId(t); + })).filter(function (t, e) { + return n.indexOf(t) === e; + })), + this.setActiveExperimentIds(n), + n + ); + }, + }, + H = function (t) { + if (d.hasABTest) + if (j(t, "Object")) { + var e = t.paramName; + if (null != e) { + var n = t.defaultValue; + if (j(n, "Undefined")) console.error("请设置参数默认值"); + else { + var r = t.callback; + if (j(r, "Function")) { + var o = V.getExpDataByParamName(e), + a = o.expValue, + i = o.expId; + j(a, "Null") || j(a, "Undefined") + ? V.fetchTest(e, n, r) + : V.handleInTest(a, i, r); + } else console.error("callback必须为函数"); + } + } else console.error("请设置实验参数名称"); + } else console.error("传递参数请设置为对象"); + }, + L = function (t, e, n) { + var r = e[t]; + e[t] = function (e) { + if ((n.call(this, e, t), r)) return r.apply(this, arguments); + }; + }, + z = App, + $ = function (t) { + i.app.forEach(function (e) { + L(e, t, U[e]); + }), + (t.mtj = J), + (t.mtj.pageEvent = F), + (t.mtj.fetchABTest = H), + z(t); + }, + K = Page, + Q = function (t) { + i.page.forEach(function (e) { + L(e, t, F[e]); + }), + i.share.forEach(function (e) { + var n, r, o, a; + (o = F[e]), + (a = (r = t)[(n = e)]), + (r[n] = function (t) { + var e = a && a.apply(this, arguments); + return o.call(this, t, e); + }); + }), + Object.keys(t).forEach(function (e) { + "function" == typeof t[e] && + -1 === i.page.indexOf(e) && + -1 === i.share.indexOf(e) && + L(e, t, F.onAction); + }), + K(t); + }, + G = Behavior, + W = function (t) { + return ( + i.page.forEach(function (e) { + L(e, t.methods, F[e]); + }), + G(t) + ); + }; + W.prototype.constructor = Behavior; + var X = Component, + Y = function (t) { + return ( + i.page.forEach(function (e) { + L(e, t.methods, F[e]); + }), + X(t) + ); + }, + Z = function () { + var e, r; + (e = t.wx$1), (n = e); + try { + r = { + appKey: "1b968b76bf", + hasPlugin: !1, + getLocation: !1, + getComponentScroll: !1, + hasABTest: !1, + hasHeatmap: !1, + }; + } catch (t) { + return void console.error( + "请把mtj-wx-sdk.config.js文件拷贝到utils目录中" + ); + } + r && r.appKey + ? ((g.key = r.appKey), + (d.getLocation = r.getLocation || !1), + (d.getComponentScroll = r.getComponentScroll || !1), + (d.disableCircling = r.disableCircling || !1), + (d.trackStatus = !(!1 === A(f))), + (d.hasABTest = r.hasABTest || !1), + (d.hasHeatmap = r.hasHeatmap || !1), + d.hasABTest && V.init(), + (function () { + var t = A(l); + if (t) { + Object.keys(t).forEach(function (e) { + d[e] = t[e]; + }); + var e = t.updateTimestamp || 0; + if (+new Date() - e < 864e5) return Promise.resolve(); + } + x({ + url: "https://hmma.baidu.com/mini.conf", + method: "POST", + header: { "content-type": "application/x-www-form-urlencoded" }, + data: { type: "wx", key: g.key }, + }) + .then(function (t) { + if (t && t.data) { + var e = t.data; + Object.keys(e).forEach(function (t) { + d[t] = e[t]; + }), + (e.updateTimestamp = +new Date()), + E(l, e); + } else P("remoteConfig", t); + }) + .catch(function (t) { + P("sendRequest", t); + }); + })(), + r.hasPlugin || ((App = $), (Page = Q)), + (module.exports = { App: $, Page: Q, Behavior: W, Component: Y })) + : console.error("请设置mtj-wx-sdk.config.js文件中的appKey字段"); + }; + return ( + Z(), (e.init = Z), Object.defineProperty(e, "__esModule", { value: !0 }), e + ); +}; diff --git a/utils/navigate.js b/utils/navigate.js new file mode 100644 index 0000000..01c8aae --- /dev/null +++ b/utils/navigate.js @@ -0,0 +1,20 @@ +var r = require("../common/vendor.js"), + n = function (r, n) { + return n + ? "".concat(r, "?params=").concat(encodeURIComponent(JSON.stringify(n))) + : r; + }; +(exports.navigateTo = function (e) { + var t = e.url, + o = e.params; + r.index.navigateTo({ url: n(t, o) }); +}), + (exports.redirectTo = function (e) { + var t = e.url, + o = e.params; + r.index.redirectTo({ url: n(t, o) }); + }), + (exports.switchTab = function (n) { + var e = n.url; + r.index.switchTab({ url: e }); + }); diff --git a/utils/request.js b/utils/request.js new file mode 100644 index 0000000..2df4fdc --- /dev/null +++ b/utils/request.js @@ -0,0 +1,141 @@ +var e = require("../common/vendor.js"), + n = require("../hooks/useState.js"), + o = require("../config/index.js"), + t = require("../service/index.js"), + r = require("./util.js"); +require("../constant/index.js"); +(exports.request = function a(c) { + var s = c.url, + i = c.method, + u = c.formData, + l = c.needToast, + d = void 0 === l || l, + m = c.count, + h = void 0 === m ? 0 : m, + g = n.useState(), + f = g.channelName, + p = + (g.userLogout, + { + version: o.appVersion, + token: e.index.getStorageSync("token"), + channel: f.value ? f.value : o.defaultChannelName, + phoneType: e.index.getSystemInfoSync().deviceModel, + }), + v = r.encrypt(e._.cloneDeep(u), p.channel); + return ( + console.log("[请求开始] -- ", { + 渠道来源: p.channel, + 请求地址: "".concat(o.baseUrl).concat(s), + 请求参数: v || null, + token: p.token || "", + count: h, + }), + e.index + .request({ + url: "".concat(o.baseUrl).concat(s), + method: i, + data: v, + header: p, + timeout: 1e4, + dataType: "json", + }) + .then(function (n) { + var o = n.statusCode, + c = n.data, + l = r.decrypt(c.data), + d = l.code, + m = l.msg, + g = l.data; + + console.log(l) + + if ((console.log("[请求结束] -- ", g, m, d), 200 === o)) { + if (0 === d) return Promise.resolve(g); + if (301 === d) { + return (function () { + return e.index + .login({ provider: "weixin" }) + .then(function (e) { + var n = e.code; + return t.loginForMpWeixin({ code: n }); + }) + .then(function (n) { + var o = n.token, + t = n.openId; + return ( + e.index.setStorageSync("token", o), + e.index.setStorageSync("openId", t), + a({ url: s, method: i, formData: u, needToast: !1 }) + ); + }); + })(); + } + return h < 3 + ? a({ url: s, method: i, formData: u, needToast: !1, count: h + 1 }) + : Promise.reject({ msg: m }); + } + return Promise.reject({ msg: m }); + }) + .catch(function (e) { + return ( + console.error("[请求报错] -- ", e), + d && r.showToast(e.msg ? e.msg : "接口请求失败,请重新加载"), + Promise.reject() + ); + }) + ); +}), + (exports.upload = function (t) { + var a = t.url, + c = t.name, + s = t.filePath, + i = t.formData, + u = t.needToast, + l = void 0 === u || u, + d = n.useState().channelName, + m = { + version: o.appVersion, + token: e.index.getStorageSync("token"), + channel: d.value ? d.value : o.defaultChannelName, + phoneType: e.index.getSystemInfoSync().deviceModel, + }, + h = r.encrypt(e._.cloneDeep(i), m.channel); + return ( + console.log("[请求开始] -- ", { + 渠道来源: m.channel, + 请求地址: "".concat(o.baseUrl).concat(a), + 请求参数: h || null, + token: m.token || "", + }), + e.index + .uploadFile({ + url: "".concat(o.baseUrl).concat(a), + filePath: s, + name: c, + formData: h, + header: m, + }) + .then(function (e) { + var n = e.statusCode, + o = e.data, + t = r.decrypt(JSON.parse(o).data), + a = t.code, + c = t.msg, + s = t.data; + return ( + console.log("[请求结束] -- ", s, c, a), + 200 === n && 0 === a + ? Promise.resolve(s) + : Promise.reject({ msg: c }) + ); + }) + .catch(function (e) { + return ( + console.error("[请求报错] -- ", e), + l && r.showToast(e.msg ? e.msg : "上传失败,请重新上传"), + Promise.reject() + ); + }) + ); + }); diff --git a/utils/util.js b/utils/util.js new file mode 100644 index 0000000..f69e0d3 --- /dev/null +++ b/utils/util.js @@ -0,0 +1,81 @@ +var e = require("../common/vendor.js"), + t = require("../constant/index.js"), + n = function () { + e.index.hideLoading(); + }; +(exports.checkForUpdate = function () { + var t = e.index.getUpdateManager(); + t.onUpdateReady(function () { + e.index.showModal({ + title: "更新提示", + content: "新版本已经准备好,是否重启应用?", + success: function (e) { + e.confirm && t.applyUpdate(); + }, + }); + }); +}), + (exports.choosePhoto = function () { + return e.index + .showActionSheet({ + title: "请拍摄或上传行驶证", + itemList: ["拍摄行驶证", "从相册选择"], + }) + .then(function (t) { + var n = t.tapIndex; + return (function () { + return e.index + .chooseMedia({ + count: 1, + mediaType: ["image"], + sourceType: [0 === n ? "camera" : "album"], + }) + .then(function (e) { + return e.tempFiles[0].tempFilePath; + }); + })(); + }); + }), + (exports.decrypt = function (n) { + var o = e.CryptoJS.enc.Utf8.parse(t.decryptKey), + r = e.CryptoJS.enc.Utf8.parse(t.decryptIV), + i = e.CryptoJS.enc.Base64.parse(n), + c = e.CryptoJS.enc.Base64.stringify(i), + a = e.CryptoJS.AES.decrypt(c, o, { + iv: r, + mode: e.CryptoJS.mode.CBC, + padding: e.CryptoJS.pad.Pkcs7, + }); + return JSON.parse(a.toString(e.CryptoJS.enc.Utf8)); + }), + (exports.encrypt = function (n, o) { + var r = {}; + e._.isEmpty(n) || (r = e._.cloneDeep(n)), (r.channel = o); + var i = {}; + Object.keys(r) + .sort() + .forEach(function (e) { + i[e] = r[e]; + }); + var c = []; + for (var a in i) + i.hasOwnProperty(a) && + c.push( + "".concat(encodeURIComponent(a), "=").concat(encodeURIComponent(i[a])) + ); + var p = c.join("&") + t.encryptKey, + s = e.CryptoJS.MD5(p).toString(); + return e._.assign(n, { secret: s }); + }), + (exports.hideLoading = n), + (exports.showLoading = function () { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; + e.index.showLoading({ title: t, mask: !0 }); + }), + (exports.showToast = function () { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; + n(), e.index.showToast({ icon: "none", title: t }); + }), + (exports.vibrate = function () { + e.wx$1.vibrateShort({ type: "light" }); + }); diff --git a/utils/vin.js b/utils/vin.js new file mode 100644 index 0000000..9eaf32f --- /dev/null +++ b/utils/vin.js @@ -0,0 +1,80 @@ +var r = new Array(), + t = new Array(); +(r.A = 1), + (r.B = 2), + (r.C = 3), + (r.D = 4), + (r.E = 5), + (r.F = 6), + (r.G = 7), + (r.H = 8), + (r.J = 1), + (r.K = 2), + (r.L = 3), + (r.M = 4), + (r.N = 5), + (r.P = 7), + (r.R = 9), + (r.S = 2), + (r.T = 3), + (r.U = 4), + (r.V = 5), + (r.W = 6), + (r.X = 7), + (r.Y = 8), + (r.Z = 9), + (r[1] = 1), + (r[2] = 2), + (r[3] = 3), + (r[4] = 4), + (r[5] = 5), + (r[6] = 6), + (r[7] = 7), + (r[8] = 8), + (r[9] = 9), + (r[0] = 0), + (t[1] = 8), + (t[2] = 7), + (t[3] = 6), + (t[4] = 5), + (t[5] = 4), + (t[6] = 3), + (t[7] = 2), + (t[8] = 10), + (t[9] = 0), + (t[10] = 9), + (t[11] = 8), + (t[12] = 7), + (t[13] = 6), + (t[14] = 5), + (t[15] = 4), + (t[16] = 3), + (t[17] = 2), + (exports.validateVIN = function (a) { + var e = !1, + s = !1; + if (isNaN(a) && 17 == a.length) { + var n = 0, + i = 0, + u = r, + f = t; + try { + for (var v = 0; v < a.length; v++) { + if ( + -1 == "ABCDEFGHJKLMNPRSTUVWXYZ1234567890".indexOf(a.substr(v, 1)) + ) { + s = !1; + break; + } + (s = !0), (n += parseInt(u[a.substr(v, 1)]) * parseInt(f[v + 1])); + } + s + ? (10 == (i = n % 11) ? "X" : i.toString()) == a.substr(8, 1) && + (e = !0) + : (e = !1); + } catch (r) { + e = !1; + } + } + return e; + });