From 71bbf8363fc1358e388322ddde4930efd91b61f4 Mon Sep 17 00:00:00 2001 From: zsk <710162063@qq.com> Date: Thu, 14 Dec 2023 16:03:02 +0800 Subject: [PATCH] start --- ApiDoc.txt | 31 + app.js | 473 +++ app.json | 88 + app.wxss | 1997 +++++++++++++ appcommon.wxss | 0 assets/iconfont-weapp/iconfont-weapp-icon.wxss | 671 +++++ assets/iconfont/iconfont.wxss | 1294 +++++++++ assets/images/back.png | Bin 0 -> 18743 bytes assets/images/bclogo.png | Bin 0 -> 15724 bytes assets/images/biao.svg | 15 + assets/images/biao1.svg | 10 + assets/images/biaog.svg | 15 + assets/images/bmz.svg | 42 + assets/images/border-circle.svg | 13 + assets/images/dh.svg | 48 + assets/images/dh1.svg | 49 + assets/images/dms.svg | 52 + assets/images/drz.svg | 25 + assets/images/dtlogo.svg | 14 + assets/images/dzb.svg | 17 + assets/images/face.png | Bin 0 -> 16249 bytes assets/images/gj.png | Bin 0 -> 2990 bytes assets/images/gj1.png | Bin 0 -> 1886 bytes assets/images/guanzhu.png | Bin 0 -> 4017 bytes assets/images/guanzhu1.png | Bin 0 -> 2848 bytes assets/images/gzt.png | Bin 0 -> 1737 bytes assets/images/gzt1.png | Bin 0 -> 1177 bytes assets/images/idCard.png | Bin 0 -> 19576 bytes assets/images/jian.svg | 13 + assets/images/jian1.svg | 10 + assets/images/jiang.svg | 13 + assets/images/kxz.svg | 113 + assets/images/logoColumn.svg | 1 + assets/images/logoColumn1.svg | 59 + assets/images/miniphone.png | Bin 0 -> 56832 bytes assets/images/phone.png | Bin 0 -> 83493 bytes assets/images/pz.svg | 48 + assets/images/qrcode.png | Bin 0 -> 74396 bytes assets/images/sc.svg | 21 + assets/images/sy.png | Bin 0 -> 3088 bytes assets/images/sy1.png | Bin 0 -> 2285 bytes assets/images/sz.svg | 63 + assets/images/wd.png | Bin 0 -> 2589 bytes assets/images/wd1.png | Bin 0 -> 1810 bytes assets/images/wdbm.svg | 57 + assets/images/wdlx.svg | 57 + assets/images/xx.png | Bin 0 -> 2247 bytes assets/images/xx1.png | Bin 0 -> 1680 bytes assets/images/yhk.svg | 37 + assets/images/ysd.png | Bin 0 -> 3629 bytes assets/images/ysd1.png | Bin 0 -> 3624 bytes assets/images/ysd11.png | Bin 0 -> 6303 bytes assets/images/ysd12.png | Bin 0 -> 4962 bytes assets/images/ysd2.png | Bin 0 -> 11905 bytes assets/images/ysd3.png | Bin 0 -> 2490 bytes assets/images/ywc.svg | 62 + assets/images/zj.svg | 51 + assets/images/zw.png | Bin 0 -> 3198 bytes assets/images/zw1.png | Bin 0 -> 2457 bytes assets/images/zz.svg | 64 + assets/images/zzz.svg | 39 + common.wxs | 402 +++ .../@miniprogram-component-plus/tabs/index.js | 148 + .../@miniprogram-component-plus/tabs/index.json | 4 + .../@miniprogram-component-plus/tabs/index.wxml | 20 + .../@miniprogram-component-plus/tabs/index.wxss | 1 + miniprogram_npm/wxml-to-canvas/index.js | 779 +++++ miniprogram_npm/wxml-to-canvas/index.json | 4 + miniprogram_npm/wxml-to-canvas/index.wxml | 2 + miniprogram_npm/wxml-to-canvas/index.wxss | 0 .../miniprogram_npm/eventemitter3/index.js | 349 +++ .../miniprogram_npm/eventemitter3/index.js.map | 1 + .../miniprogram_npm/widget-ui/index.js | 13 + .../miniprogram_npm/widget-ui/index.js.map | 1 + miniprogram_npm/wxml-to-canvas/utils.js | 57 + node_modules/.package-lock.json | 39 + .../tabs/miniprogram_dist/index.js | 148 + .../tabs/miniprogram_dist/index.json | 4 + .../tabs/miniprogram_dist/index.wxml | 20 + .../tabs/miniprogram_dist/index.wxss | 1 + .../@miniprogram-component-plus/tabs/package.json | 44 + node_modules/wxml-to-canvas/.babelrc | 10 + node_modules/wxml-to-canvas/.eslintrc.js | 99 + node_modules/wxml-to-canvas/LICENSE | 21 + node_modules/wxml-to-canvas/README.md | 187 ++ node_modules/wxml-to-canvas/gulpfile.js | 26 + .../wxml-to-canvas/miniprogram_dist/index.js | 779 +++++ .../wxml-to-canvas/miniprogram_dist/index.json | 4 + .../wxml-to-canvas/miniprogram_dist/index.wxml | 2 + .../wxml-to-canvas/miniprogram_dist/index.wxss | 0 .../wxml-to-canvas/miniprogram_dist/utils.js | 57 + .../node_modules/eventemitter3/LICENSE | 21 + .../node_modules/eventemitter3/README.md | 94 + .../node_modules/eventemitter3/index.d.ts | 134 + .../node_modules/eventemitter3/index.js | 336 +++ .../node_modules/eventemitter3/package.json | 84 + .../eventemitter3/umd/eventemitter3.js | 340 +++ .../eventemitter3/umd/eventemitter3.min.js | 1 + .../eventemitter3/umd/eventemitter3.min.js.map | 1 + .../node_modules/widget-ui/babel.config.js | 9 + .../node_modules/widget-ui/dist/element.d.ts | 40 + .../node_modules/widget-ui/dist/event.d.ts | 5 + .../node_modules/widget-ui/dist/index.js | 1 + .../node_modules/widget-ui/dist/style.d.ts | 36 + .../node_modules/widget-ui/jest.config.js | 6 + .../node_modules/widget-ui/package.json | 52 + .../node_modules/widget-ui/src/css-layout.js | 1186 ++++++++ .../node_modules/widget-ui/src/element.ts | 172 ++ .../node_modules/widget-ui/src/event.ts | 15 + .../node_modules/widget-ui/src/style.ts | 87 + .../node_modules/widget-ui/test/css-layout.test.ts | 183 ++ .../node_modules/widget-ui/tsconfig.json | 47 + .../node_modules/widget-ui/tslint.json | 206 ++ .../node_modules/widget-ui/webpack.config.js | 25 + node_modules/wxml-to-canvas/package.json | 90 + node_modules/wxml-to-canvas/src/draw.js | 225 ++ node_modules/wxml-to-canvas/src/index.js | 117 + node_modules/wxml-to-canvas/src/index.json | 4 + node_modules/wxml-to-canvas/src/index.wxml | 2 + node_modules/wxml-to-canvas/src/index.wxss | 0 node_modules/wxml-to-canvas/src/utils.js | 57 + node_modules/wxml-to-canvas/src/widget.js | 81 + node_modules/wxml-to-canvas/src/xml-parser.js | 164 ++ package-lock.json | 84 + package.json | 20 + pages/city/index.js | 530 ++++ pages/city/index.json | 5 + pages/city/index.wxml | 68 + pages/city/index.wxss | 159 + pages/collect/index.js | 1362 +++++++++ pages/collect/index.json | 5 + pages/collect/index.wxml | 108 + pages/collect/index.wxss | 19 + pages/detail/demo.js | 183 ++ pages/detail/index.js | 1571 ++++++++++ pages/detail/index.json | 3 + pages/detail/index.wxml | 496 ++++ pages/detail/index.wxss | 565 ++++ pages/index/filtercss.wxss | 71 + pages/index/index.js | 3062 ++++++++++++++++++++ pages/index/index.json | 3 + pages/index/index.wxml | 104 + pages/index/index.wxss | 1474 ++++++++++ pages/jobListSearch/index.js | 2425 ++++++++++++++++ pages/jobListSearch/index.json | 7 + pages/jobListSearch/index.wxml | 479 +++ pages/jobListSearch/index.wxss | 118 + pages/login/index.js | 690 +++++ pages/login/index.json | 6 + pages/login/index.wxml | 66 + pages/login/index.wxss | 225 ++ pages/message/index.js | 149 + pages/message/index.json | 6 + pages/message/index.wxml | 107 + pages/message/index.wxss | 56 + pages/messageDetail/index.js | 143 + pages/messageDetail/index.json | 7 + pages/messageDetail/index.wxml | 66 + pages/messageDetail/index.wxss | 100 + pages/mine/addAddress/index.js | 495 ++++ pages/mine/addAddress/index.json | 3 + pages/mine/addAddress/index.wxml | 60 + pages/mine/addAddress/index.wxss | 58 + pages/mine/addCard/index.js | 133 + pages/mine/addCard/index.json | 4 + pages/mine/addCard/index.wxml | 44 + pages/mine/addCard/index.wxss | 55 + pages/mine/addUserCard/index.js | 81 + pages/mine/addUserCard/index.json | 5 + pages/mine/addUserCard/index.wxml | 50 + pages/mine/addUserCard/index.wxss | 38 + pages/mine/addressBook/index.js | 169 ++ pages/mine/addressBook/index.json | 5 + pages/mine/addressBook/index.wxml | 47 + pages/mine/addressBook/index.wxss | 22 + pages/mine/addressPage/index.js | 363 +++ pages/mine/addressPage/index.json | 6 + pages/mine/addressPage/index.wxml | 87 + pages/mine/addressPage/index.wxss | 54 + pages/mine/changeAvatar/index.js | 139 + pages/mine/changeAvatar/index.json | 7 + pages/mine/changeAvatar/index.wxml | 16 + pages/mine/changeAvatar/index.wxss | 34 + pages/mine/changeGender/index.js | 135 + pages/mine/changeGender/index.json | 6 + pages/mine/changeGender/index.wxml | 18 + pages/mine/changeGender/index.wxss | 24 + pages/mine/changePsw/index.js | 312 ++ pages/mine/changePsw/index.json | 5 + pages/mine/changePsw/index.wxml | 67 + pages/mine/changePsw/index.wxss | 29 + pages/mine/collect/index.js | 1906 ++++++++++++ pages/mine/collect/index.json | 6 + pages/mine/collect/index.wxml | 561 ++++ pages/mine/collect/index.wxss | 1021 +++++++ pages/mine/connectUs/index.js | 58 + pages/mine/connectUs/index.json | 6 + pages/mine/connectUs/index.wxml | 32 + pages/mine/connectUs/index.wxss | 28 + pages/mine/index.js | 300 ++ pages/mine/index.json | 7 + pages/mine/index.wxml | 228 ++ pages/mine/index.wxss | 369 +++ pages/mine/myJob/index.js | 66 + pages/mine/myJob/index.json | 3 + pages/mine/myJob/index.wxml | 34 + pages/mine/myJob/index.wxss | 1 + pages/mine/realName1/index.js | 468 +++ pages/mine/realName1/index.json | 4 + pages/mine/realName1/index.wxml | 75 + pages/mine/realName1/index.wxss | 52 + pages/mine/returnMessage/index.js | 99 + pages/mine/returnMessage/index.json | 5 + pages/mine/returnMessage/index.wxml | 10 + pages/mine/returnMessage/index.wxss | 15 + pages/mine/seeIdCard/index.js | 99 + pages/mine/seeIdCard/index.json | 4 + pages/mine/seeIdCard/index.wxml | 24 + pages/mine/seeIdCard/index.wxss | 4 + pages/mine/setting/index.js | 76 + pages/mine/setting/index.json | 5 + pages/mine/setting/index.wxml | 44 + pages/mine/setting/index.wxss | 54 + pages/mine/trueName/index.js | 69 + pages/mine/trueName/index.json | 5 + pages/mine/trueName/index.wxml | 8 + pages/mine/trueName/index.wxss | 22 + pages/mine/userDetail/index.js | 54 + pages/mine/userDetail/index.json | 4 + pages/mine/userDetail/index.wxml | 81 + pages/mine/userDetail/index.wxss | 81 + pages/mine/userName/index.js | 115 + pages/mine/userName/index.json | 4 + pages/mine/userName/index.wxml | 17 + pages/mine/userName/index.wxss | 30 + pages/mine/userTel/index.js | 69 + pages/mine/userTel/index.json | 4 + pages/mine/userTel/index.wxml | 8 + pages/mine/userTel/index.wxss | 22 + pages/mine/versionPage/index.js | 68 + pages/mine/versionPage/index.json | 5 + pages/mine/versionPage/index.wxml | 11 + pages/mine/versionPage/index.wxss | 28 + pages/mine/wxNickname/index.js | 69 + pages/mine/wxNickname/index.json | 4 + pages/mine/wxNickname/index.wxml | 8 + pages/mine/wxNickname/index.wxss | 20 + pages/newEnroll/enroll/index.js | 1405 +++++++++ pages/newEnroll/enroll/index.json | 5 + pages/newEnroll/enroll/index.wxml | 427 +++ pages/newEnroll/enroll/index.wxss | 338 +++ pages/newEnroll/enrollEdit/index.js | 992 +++++++ pages/newEnroll/enrollEdit/index.json | 3 + pages/newEnroll/enrollEdit/index.wxml | 173 ++ pages/newEnroll/enrollEdit/index.wxss | 192 ++ pages/newEnroll/enrollJob/index.js | 537 ++++ pages/newEnroll/enrollJob/index.json | 3 + pages/newEnroll/enrollJob/index.wxml | 81 + pages/newEnroll/enrollJob/index.wxss | 4 + pages/newEnroll/index.js | 634 ++++ pages/newEnroll/index.json | 4 + pages/newEnroll/index.wxml | 134 + pages/newEnroll/index.wxss | 176 ++ pages/returnMessage/index.js | 106 + pages/returnMessage/index.json | 5 + pages/returnMessage/index.wxml | 10 + pages/returnMessage/index.wxss | 15 + pages/secret/index.js | 66 + pages/secret/index.json | 4 + pages/secret/index.wxml | 124 + pages/secret/index.wxss | 1 + pages/secret/secret.zip | Bin 0 -> 7527 bytes pages/serviceTerm/index.js | 66 + pages/serviceTerm/index.json | 4 + pages/serviceTerm/index.wxml | 333 +++ pages/serviceTerm/index.wxss | 1 + pages/serviceTerm/serviceTerm.zip | Bin 0 -> 11041 bytes pages/shareList/index.js | 2761 ++++++++++++++++++ pages/shareList/index.json | 5 + pages/shareList/index.wxml | 99 + pages/shareList/index.wxss | 28 + pages/test/index.js | 32 + pages/test/index.json | 3 + pages/test/index.wxml | 8 + pages/test/index.wxss | 47 + project.config.json | 52 + project.private.config.json | 190 ++ sitemap.json | 7 + utils/commonUtil.js | 1586 ++++++++++ utils/dateTimePicker.js | 141 + utils/dateUtil.js | 965 ++++++ utils/qqmap-wx-jssdk.min.js | 1 + utils/util.js | 19 + weui.wxss | 0 294 files changed, 47975 insertions(+) create mode 100644 ApiDoc.txt create mode 100644 app.js create mode 100644 app.json create mode 100644 app.wxss create mode 100644 appcommon.wxss create mode 100644 assets/iconfont-weapp/iconfont-weapp-icon.wxss create mode 100644 assets/iconfont/iconfont.wxss create mode 100644 assets/images/back.png create mode 100644 assets/images/bclogo.png create mode 100644 assets/images/biao.svg create mode 100644 assets/images/biao1.svg create mode 100644 assets/images/biaog.svg create mode 100644 assets/images/bmz.svg create mode 100644 assets/images/border-circle.svg create mode 100644 assets/images/dh.svg create mode 100644 assets/images/dh1.svg create mode 100644 assets/images/dms.svg create mode 100644 assets/images/drz.svg create mode 100644 assets/images/dtlogo.svg create mode 100644 assets/images/dzb.svg create mode 100644 assets/images/face.png create mode 100644 assets/images/gj.png create mode 100644 assets/images/gj1.png create mode 100644 assets/images/guanzhu.png create mode 100644 assets/images/guanzhu1.png create mode 100644 assets/images/gzt.png create mode 100644 assets/images/gzt1.png create mode 100644 assets/images/idCard.png create mode 100644 assets/images/jian.svg create mode 100644 assets/images/jian1.svg create mode 100644 assets/images/jiang.svg create mode 100644 assets/images/kxz.svg create mode 100644 assets/images/logoColumn.svg create mode 100644 assets/images/logoColumn1.svg create mode 100644 assets/images/miniphone.png create mode 100644 assets/images/phone.png create mode 100644 assets/images/pz.svg create mode 100644 assets/images/qrcode.png create mode 100644 assets/images/sc.svg create mode 100644 assets/images/sy.png create mode 100644 assets/images/sy1.png create mode 100644 assets/images/sz.svg create mode 100644 assets/images/wd.png create mode 100644 assets/images/wd1.png create mode 100644 assets/images/wdbm.svg create mode 100644 assets/images/wdlx.svg create mode 100644 assets/images/xx.png create mode 100644 assets/images/xx1.png create mode 100644 assets/images/yhk.svg create mode 100644 assets/images/ysd.png create mode 100644 assets/images/ysd1.png create mode 100644 assets/images/ysd11.png create mode 100644 assets/images/ysd12.png create mode 100644 assets/images/ysd2.png create mode 100644 assets/images/ysd3.png create mode 100644 assets/images/ywc.svg create mode 100644 assets/images/zj.svg create mode 100644 assets/images/zw.png create mode 100644 assets/images/zw1.png create mode 100644 assets/images/zz.svg create mode 100644 assets/images/zzz.svg create mode 100644 common.wxs create mode 100644 miniprogram_npm/@miniprogram-component-plus/tabs/index.js create mode 100644 miniprogram_npm/@miniprogram-component-plus/tabs/index.json create mode 100644 miniprogram_npm/@miniprogram-component-plus/tabs/index.wxml create mode 100644 miniprogram_npm/@miniprogram-component-plus/tabs/index.wxss create mode 100644 miniprogram_npm/wxml-to-canvas/index.js create mode 100644 miniprogram_npm/wxml-to-canvas/index.json create mode 100644 miniprogram_npm/wxml-to-canvas/index.wxml create mode 100644 miniprogram_npm/wxml-to-canvas/index.wxss create mode 100644 miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js create mode 100644 miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js.map create mode 100644 miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js create mode 100644 miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js.map create mode 100644 miniprogram_npm/wxml-to-canvas/utils.js create mode 100644 node_modules/.package-lock.json create mode 100644 node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.js create mode 100644 node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.json create mode 100644 node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxml create mode 100644 node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxss create mode 100644 node_modules/@miniprogram-component-plus/tabs/package.json create mode 100644 node_modules/wxml-to-canvas/.babelrc create mode 100644 node_modules/wxml-to-canvas/.eslintrc.js create mode 100644 node_modules/wxml-to-canvas/LICENSE create mode 100644 node_modules/wxml-to-canvas/README.md create mode 100644 node_modules/wxml-to-canvas/gulpfile.js create mode 100644 node_modules/wxml-to-canvas/miniprogram_dist/index.js create mode 100644 node_modules/wxml-to-canvas/miniprogram_dist/index.json create mode 100644 node_modules/wxml-to-canvas/miniprogram_dist/index.wxml create mode 100644 node_modules/wxml-to-canvas/miniprogram_dist/index.wxss create mode 100644 node_modules/wxml-to-canvas/miniprogram_dist/utils.js create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/LICENSE create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/README.md create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/index.d.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/index.js create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/package.json create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.js create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.min.js create mode 100644 node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.min.js.map create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/babel.config.js create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/dist/element.d.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/dist/event.d.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/dist/index.js create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/dist/style.d.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/jest.config.js create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/package.json create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/src/css-layout.js create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/src/element.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/src/event.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/src/style.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/test/css-layout.test.ts create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/tsconfig.json create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/tslint.json create mode 100644 node_modules/wxml-to-canvas/node_modules/widget-ui/webpack.config.js create mode 100644 node_modules/wxml-to-canvas/package.json create mode 100644 node_modules/wxml-to-canvas/src/draw.js create mode 100644 node_modules/wxml-to-canvas/src/index.js create mode 100644 node_modules/wxml-to-canvas/src/index.json create mode 100644 node_modules/wxml-to-canvas/src/index.wxml create mode 100644 node_modules/wxml-to-canvas/src/index.wxss create mode 100644 node_modules/wxml-to-canvas/src/utils.js create mode 100644 node_modules/wxml-to-canvas/src/widget.js create mode 100644 node_modules/wxml-to-canvas/src/xml-parser.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages/city/index.js create mode 100644 pages/city/index.json create mode 100644 pages/city/index.wxml create mode 100644 pages/city/index.wxss create mode 100644 pages/collect/index.js create mode 100644 pages/collect/index.json create mode 100644 pages/collect/index.wxml create mode 100644 pages/collect/index.wxss create mode 100644 pages/detail/demo.js create mode 100644 pages/detail/index.js create mode 100644 pages/detail/index.json create mode 100644 pages/detail/index.wxml create mode 100644 pages/detail/index.wxss create mode 100644 pages/index/filtercss.wxss create mode 100644 pages/index/index.js create mode 100644 pages/index/index.json create mode 100644 pages/index/index.wxml create mode 100644 pages/index/index.wxss create mode 100644 pages/jobListSearch/index.js create mode 100644 pages/jobListSearch/index.json create mode 100644 pages/jobListSearch/index.wxml create mode 100644 pages/jobListSearch/index.wxss create mode 100644 pages/login/index.js create mode 100644 pages/login/index.json create mode 100644 pages/login/index.wxml create mode 100644 pages/login/index.wxss create mode 100644 pages/message/index.js create mode 100644 pages/message/index.json create mode 100644 pages/message/index.wxml create mode 100644 pages/message/index.wxss create mode 100644 pages/messageDetail/index.js create mode 100644 pages/messageDetail/index.json create mode 100644 pages/messageDetail/index.wxml create mode 100644 pages/messageDetail/index.wxss create mode 100644 pages/mine/addAddress/index.js create mode 100644 pages/mine/addAddress/index.json create mode 100644 pages/mine/addAddress/index.wxml create mode 100644 pages/mine/addAddress/index.wxss create mode 100644 pages/mine/addCard/index.js create mode 100644 pages/mine/addCard/index.json create mode 100644 pages/mine/addCard/index.wxml create mode 100644 pages/mine/addCard/index.wxss create mode 100644 pages/mine/addUserCard/index.js create mode 100644 pages/mine/addUserCard/index.json create mode 100644 pages/mine/addUserCard/index.wxml create mode 100644 pages/mine/addUserCard/index.wxss create mode 100644 pages/mine/addressBook/index.js create mode 100644 pages/mine/addressBook/index.json create mode 100644 pages/mine/addressBook/index.wxml create mode 100644 pages/mine/addressBook/index.wxss create mode 100644 pages/mine/addressPage/index.js create mode 100644 pages/mine/addressPage/index.json create mode 100644 pages/mine/addressPage/index.wxml create mode 100644 pages/mine/addressPage/index.wxss create mode 100644 pages/mine/changeAvatar/index.js create mode 100644 pages/mine/changeAvatar/index.json create mode 100644 pages/mine/changeAvatar/index.wxml create mode 100644 pages/mine/changeAvatar/index.wxss create mode 100644 pages/mine/changeGender/index.js create mode 100644 pages/mine/changeGender/index.json create mode 100644 pages/mine/changeGender/index.wxml create mode 100644 pages/mine/changeGender/index.wxss create mode 100644 pages/mine/changePsw/index.js create mode 100644 pages/mine/changePsw/index.json create mode 100644 pages/mine/changePsw/index.wxml create mode 100644 pages/mine/changePsw/index.wxss create mode 100644 pages/mine/collect/index.js create mode 100644 pages/mine/collect/index.json create mode 100644 pages/mine/collect/index.wxml create mode 100644 pages/mine/collect/index.wxss create mode 100644 pages/mine/connectUs/index.js create mode 100644 pages/mine/connectUs/index.json create mode 100644 pages/mine/connectUs/index.wxml create mode 100644 pages/mine/connectUs/index.wxss create mode 100644 pages/mine/index.js create mode 100644 pages/mine/index.json create mode 100644 pages/mine/index.wxml create mode 100644 pages/mine/index.wxss create mode 100644 pages/mine/myJob/index.js create mode 100644 pages/mine/myJob/index.json create mode 100644 pages/mine/myJob/index.wxml create mode 100644 pages/mine/myJob/index.wxss create mode 100644 pages/mine/realName1/index.js create mode 100644 pages/mine/realName1/index.json create mode 100644 pages/mine/realName1/index.wxml create mode 100644 pages/mine/realName1/index.wxss create mode 100644 pages/mine/returnMessage/index.js create mode 100644 pages/mine/returnMessage/index.json create mode 100644 pages/mine/returnMessage/index.wxml create mode 100644 pages/mine/returnMessage/index.wxss create mode 100644 pages/mine/seeIdCard/index.js create mode 100644 pages/mine/seeIdCard/index.json create mode 100644 pages/mine/seeIdCard/index.wxml create mode 100644 pages/mine/seeIdCard/index.wxss create mode 100644 pages/mine/setting/index.js create mode 100644 pages/mine/setting/index.json create mode 100644 pages/mine/setting/index.wxml create mode 100644 pages/mine/setting/index.wxss create mode 100644 pages/mine/trueName/index.js create mode 100644 pages/mine/trueName/index.json create mode 100644 pages/mine/trueName/index.wxml create mode 100644 pages/mine/trueName/index.wxss create mode 100644 pages/mine/userDetail/index.js create mode 100644 pages/mine/userDetail/index.json create mode 100644 pages/mine/userDetail/index.wxml create mode 100644 pages/mine/userDetail/index.wxss create mode 100644 pages/mine/userName/index.js create mode 100644 pages/mine/userName/index.json create mode 100644 pages/mine/userName/index.wxml create mode 100644 pages/mine/userName/index.wxss create mode 100644 pages/mine/userTel/index.js create mode 100644 pages/mine/userTel/index.json create mode 100644 pages/mine/userTel/index.wxml create mode 100644 pages/mine/userTel/index.wxss create mode 100644 pages/mine/versionPage/index.js create mode 100644 pages/mine/versionPage/index.json create mode 100644 pages/mine/versionPage/index.wxml create mode 100644 pages/mine/versionPage/index.wxss create mode 100644 pages/mine/wxNickname/index.js create mode 100644 pages/mine/wxNickname/index.json create mode 100644 pages/mine/wxNickname/index.wxml create mode 100644 pages/mine/wxNickname/index.wxss create mode 100644 pages/newEnroll/enroll/index.js create mode 100644 pages/newEnroll/enroll/index.json create mode 100644 pages/newEnroll/enroll/index.wxml create mode 100644 pages/newEnroll/enroll/index.wxss create mode 100644 pages/newEnroll/enrollEdit/index.js create mode 100644 pages/newEnroll/enrollEdit/index.json create mode 100644 pages/newEnroll/enrollEdit/index.wxml create mode 100644 pages/newEnroll/enrollEdit/index.wxss create mode 100644 pages/newEnroll/enrollJob/index.js create mode 100644 pages/newEnroll/enrollJob/index.json create mode 100644 pages/newEnroll/enrollJob/index.wxml create mode 100644 pages/newEnroll/enrollJob/index.wxss create mode 100644 pages/newEnroll/index.js create mode 100644 pages/newEnroll/index.json create mode 100644 pages/newEnroll/index.wxml create mode 100644 pages/newEnroll/index.wxss create mode 100644 pages/returnMessage/index.js create mode 100644 pages/returnMessage/index.json create mode 100644 pages/returnMessage/index.wxml create mode 100644 pages/returnMessage/index.wxss create mode 100644 pages/secret/index.js create mode 100644 pages/secret/index.json create mode 100644 pages/secret/index.wxml create mode 100644 pages/secret/index.wxss create mode 100644 pages/secret/secret.zip create mode 100644 pages/serviceTerm/index.js create mode 100644 pages/serviceTerm/index.json create mode 100644 pages/serviceTerm/index.wxml create mode 100644 pages/serviceTerm/index.wxss create mode 100644 pages/serviceTerm/serviceTerm.zip create mode 100644 pages/shareList/index.js create mode 100644 pages/shareList/index.json create mode 100644 pages/shareList/index.wxml create mode 100644 pages/shareList/index.wxss create mode 100644 pages/test/index.js create mode 100644 pages/test/index.json create mode 100644 pages/test/index.wxml create mode 100644 pages/test/index.wxss create mode 100644 project.config.json create mode 100644 project.private.config.json create mode 100644 sitemap.json create mode 100644 utils/commonUtil.js create mode 100644 utils/dateTimePicker.js create mode 100644 utils/dateUtil.js create mode 100644 utils/qqmap-wx-jssdk.min.js create mode 100644 utils/util.js create mode 100644 weui.wxss diff --git a/ApiDoc.txt b/ApiDoc.txt new file mode 100644 index 0000000..9880646 --- /dev/null +++ b/ApiDoc.txt @@ -0,0 +1,31 @@ +接口地址: +正式:https://d.matripe.com.cn +测试:http://bl7.matripe.com.cn:8001 + + + +1.职位列表 +/overall/store/job/list +参数: + 当前页:pageNum + 每页条数:pageSize + 企业名搜索:aliasName + 省市县:district,北京市,北京市,海淀区 + 工价:monthlyPayStr,3000-4000 + 年龄:ageStr, 16-18或58 + 特色:jobSpecialLabelIds,多个ID英文逗号隔开 + 热门企业ID:hotStoreId + 城市:cityName和levelType两个要同时传 + 性别:sex,1男 2女,-1不限 + +2.职位详情 +/overall/store/job/getStoreJobDetailById?storeJobId=123456 + +3.工单详情 +/yishoudan/user/apply/order/details?orderId=123 + +4.根据渠道经理获取代理列表 +/agency/getByPmdUserId +参数: + 渠道经理ID(可不传,不传就是登录人ID):pmdUserId + 搜索代理的名称:agencyName \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..77b186f --- /dev/null +++ b/app.js @@ -0,0 +1,473 @@ +App({ + globalData: { + userInfo: null, + // ip: 'http://bl7.matripe.com.cn:8001', + ip: "https://daotian.matripe.com.cn", + // ip: 'http://localhost:8001', + sessionId: "", + header: { + "content-type": "application/x-www-form-urlencoded", + Authorization: "", + Cookie: "", + }, + headers2: { + "content-type": "multipart/form-data", + Authorization: "", + Cookie: "", + }, + headers: { + "content-type": "application/x-www-form-urlencoded", + Authorization: "", + Cookie: "", + }, + userLoginTokenInfo: { + tel: "", //用户电话 + token: "", //用户token + }, + isLogin: false, //是否登录 + loginUserInfo: { + id: "", + userName: "", + tel: "", + imgSrc: "", + }, + lng: "", + lat: "", + autoLoginTag: 0, //是否是自动登录,0否、1是 + isScanQRCodes: 0, //是否是扫码进来的,0否、1是 + hasUserInfo: 0, //是否有用户授权信息 + agencyStatus: 0, //是否是代理 + openId: "", + unionid: "", + isCommission: 0, //是否计算佣金,0否、1是 + user: {}, //用户信息 + serviceInfo: {}, // 客服电话 + version: null, + loginKey:'', + agencyId:'', + sceneStoreJobId:'', + appId:'wx0e390bea912ae982' + }, + // "permission": { + // "scope.userLocation": { + // "desc": "你的位置信息将用于小程序位置接口的效果展示" + // } + // }, + onLaunch() { + let that = this; + wx.hideShareMenu(); + Array.prototype.logResult = function (data) { + console.log("Array"); + return data; + }; + const updateManager = wx.getUpdateManager(); + updateManager.onCheckForUpdate(function (res) { + console.log("onCheckForUpdate====", res); + // 请求完新版本信息的回调 + if (res.hasUpdate) { + console.log("res.hasUpdate===="); + updateManager.onUpdateReady(function () { + wx.showModal({ + title: "更新提示", + content: "新版本已经准备好,是否重启应用?", + confirmColor: "#ff4400", + success: function (res) { + console.log("success====", res); + // res: {errMsg: "showModal: ok", cancel: false, confirm: true} + if (res.confirm) { + // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 + updateManager.applyUpdate(); + } + }, + }); + }); + updateManager.onUpdateFailed(function () { + // 新的版本下载失败 + wx.showModal({ + title: "已经有新版本了哟~", + content: "新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~", + confirmColor: "#ff4400", + }); + }); + } + }); + // 获取小程序版本 + const miniProgram = wx.getAccountInfoSync(); + console.log(miniProgram); + this.globalData.version = miniProgram.miniProgram.version || "1.1.1"; + that.getServiceInfo().then(() => { + console.log("getServiceInfo"); + }); + + // 展示本地存储能力 + const { statusBarHeight, platform } = wx.getSystemInfoSync(); + + const { top, height } = wx.getMenuButtonBoundingClientRect(); + console.log(statusBarHeight); + console.log(wx.getMenuButtonBoundingClientRect()); + console.log(top, height); + // 状态栏高度 + wx.setStorageSync("statusBarHeight", statusBarHeight); + // 胶囊按钮高度 一般是32 如果获取不到就使用32 + wx.setStorageSync("menuButtonHeight", height ? height : 32); + // 胶囊按钮信息 + wx.setStorageSync("menuButtonInfo", wx.getMenuButtonBoundingClientRect()); + + // 判断胶囊按钮信息是否成功获取 + if (top && top !== 0 && height && height !== 0) { + const navigationBarHeight = (top - statusBarHeight) * 2 + height; + // 导航栏高度 + wx.setStorageSync("navigationBarHeight", navigationBarHeight); + } else { + wx.setStorageSync("navigationBarHeight", platform === "android" ? 48 : 40); + } + const logs = wx.getStorageSync("logs") || []; + logs.unshift(Date.now()); + wx.setStorageSync("logs", logs); + + + this.getLoginUserTokenInfo(); + + // 登录 + wx.login({ + success: (res) => { + // 发送 res.code 到后台换取 openId, sessionKey, unionId + // this.appLoginByTel() + }, + }); + // 引入云开发 + // wx.cloud.init({ + // env: "cloud1-2gnvowo5e7ab00ec", + // }); + }, + isEmptyCheck: function (str) { + if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") { + return true; + } + return false; + }, + isNotEmptyCheck: function (str) { + return !this.isEmptyCheck(str); + }, + logout: function () { + var that = this; + return new Promise(function (reslove, reject) { + try { + wx.removeStorageSync("loginUserTokenInfo"); + that.globalData.autoLoginTag = 0; + that.globalData.sessionId = ""; + that.globalData.loginUserInfo = {}; + that.globalData.userLoginTokenInfo = {}; + that.globalData.headers.Cookie = ""; + that.globalData.headers2.Cookie = ""; + that.globalData.header.Authorization = ""; + that.globalData.headers.Authorization = ""; + that.globalData.headers2.Authorization = ""; + that.globalData.isLogin = false; + that.globalData.hasUserInfo = 0; + reslove(); + } catch (e) { + console.log("退出登录失败"); + console.log(e); + reject(); + } + }); + }, + load: function (text) { + wx.showLoading({ + title: text, + mask: true, + }); + }, + hideLoad: function () { + wx.hideLoading(); + }, + showTips: function (_that, msg) { + /*_that.setData({ + popErrorMsg: msg, + pop: 1, + }); + setTimeout(() => { + _that.setData({ + popErrorMsg: '', + pop: 0, + }); + return; + }, 2000)*/ + + wx.showToast({ + icon: "none", + title: msg, + duration: 3000, + }); + }, + setLoginUserTokenInfo: function (tel, token) { + var that = this; + return new Promise(function (resolve, reject) { + try { + that.globalData.userLoginTokenInfo.tel = tel; + that.globalData.userLoginTokenInfo.token = token; + wx.setStorageSync("loginUserTokenInfo", that.globalData.userLoginTokenInfo); + that.appLoginByTel(resolve, reject); + } catch (e) { + console.log("设置登录信息错误"); + console.log(e); + reject(); + } + }); + }, + appLoginByTel: function (resolve, reject) { + var that = this; + + var channelContactId = ""; + try { + var value = wx.getStorageSync("fromQrCodeChannelContactId"); + if (value) { + console.log("fromQrCodeChannelContactId:======", value); + channelContactId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + var agencyUserId = ""; + try { + var value = wx.getStorageSync("storageSyncAgencyUserId"); + if (value) { + console.log("storageSyncAgencyUserId======", value); + agencyUserId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + wx.request({ + url: that.globalData.ip + "/appLoginByTelYiShouDan", + data: { + tel: that.globalData.userLoginTokenInfo.tel, + autoLoginTag: that.globalData.autoLoginTag, + isScanQRCodes: that.globalData.isScanQRCodes, + channelContactId: channelContactId, + agencyUserId: agencyUserId, + openId: that.globalData.openId, + unionid: that.globalData.unionid, + loginKey: that.globalData.loginKey, + appId:that.globalData.appId, + + }, + header: { + "content-type": "application/json", + }, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + that.globalData.user = res.data.data.user; + // that.globalData.user.idauth = 0; + that.globalData.sessionId = res.data.data.sessionId; + that.globalData.headers.Cookie = "JSESSIONID=" + res.data.data.sessionId; + that.globalData.headers2.Cookie = "JSESSIONID=" + res.data.data.sessionId; + // that.globalData.headers.Authorization = "Bearer " + res.data.data.token; + // that.globalData.headers2.Authorization = "Bearer " + res.data.data.token; + + that.globalData.isLogin = true; + that.globalData.read = res.data.data.read; + that.globalData.userLoginTokenInfo.tel = res.data.data.tel; + that.globalData.userLoginTokenInfo.token = res.data.data.token; + + (that.globalData.hasUserInfo = res.data.data.imgSrc != "" && res.data.data.imgSrc != null && res.data.data.imgSrc != undefined && res.data.data.nickName != "" && res.data.data.nickName != null && res.data.data.nickName != undefined ? 1 : 0), (that.globalData.loginUserInfo = res.data.data); + wx.setStorageSync("loginUserTokenInfo", that.globalData.userLoginTokenInfo); + console.log("readySet"); + wx.showToast({ + title: "登录成功", + icon: "success", + duration: 2000, + }); + + + + + that.getServiceInfo().then(() => { + console.log("getServiceInfo"); + }); + console.log("appLoginByTel" + "+++++++++++++++++++++++++++++++++++++++++++"); + + resolve(); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + reject(); + } + if (that.userLoginCallback) { + that.userLoginCallback(res); + } + console.log("login====result=======1"); + console.log(that.globalData); + console.log("login====result=======2"); + }, + }); + }, + /** + * 获取客户经理信息 + * + * + */ + getServiceInfo() { + let that = this; + console.log("fromLogin"); + return new Promise((resolve, reject) => { + wx.request({ + url: that.globalData.ip + "/costumer/manager", + header: that.globalData.headers, + success(res) { + console.log(res); + if (res.data.status == 200) { + that.globalData.serviceInfo = res.data.data; + console.log(that.globalData.serviceInfo); + if (that.globalData.serviceInfo.workPhone) { + let tel = that.globalData.serviceInfo.workPhone; + let num1 = tel.slice(0, 3); + let num2 = tel.slice(3, 7); + let num3 = tel.slice(7, 11); + that.globalData.serviceInfo.tel = num1 + "-" + num2 + "-" + num3; + console.log(that.globalData.serviceInfo.tel); + } + resolve(true); + } + }, + }); + }); + }, + getLoginUserTokenInfo: function () { + var that = this; + // debugger; + return new Promise((resloveOutter, rejectOutter) => { + try { + var value = wx.getStorageSync("loginUserTokenInfo"); + console.log(value); + if (value) { + that.globalData.userLoginTokenInfo = value; + // console.log(that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.token)); + if (that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.token)) { + let token = that.globalData.userLoginTokenInfo.token; + that.globalData.header.Authorization = "Bearer " + token; + that.globalData.headers2.Authorization = "Bearer " + token; + that.globalData.headers.Authorization = "Bearer " + token; + console.log(that.globalData.headers); + wx.request({ + url: that.globalData.ip + "/checkToken", + method: "GET", + header: that.globalData.headers, + data:{loginKey: that.globalData.loginKey}, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + if (wx.getStorageSync("messageClick" + res.data.data.id)) { + console.log("messageClick" + res.data.data.id); + } else { + wx.setStorageSync("messageClick" + res.data.data.id, false); + } + that.globalData.isLogin = true; + that.globalData.test = "b"; + that.globalData.user = res.data.data.user; + // that.globalData.user.idauth = 0; + + that.globalData.loginUserInfo = res.data.data; + console.log(that.globalData.loginUserInfo); + that.getServiceInfo().then(() => { + console.log("getServiceInfo"); + }); + if (that.userLoginCallback) { + that.userLoginCallback(res); + } + let loginKeyTmp = that.globalData.loginKey; + resloveOutter(loginKeyTmp); + + } else { + //已过期 + that.globalData.autoLoginTag = 1; + // that.appLoginByTel(); + // that.globalData.isLogin = false; + return new Promise(function (resolve, reject) { + try { + that.appLoginByTel(resolve, reject); + } catch (e) { + console.log("设置登录信息错误"); + console.log(e); + reject(); + } + }); + rejectOutter(); + } + }, + }); + // console.log(that.globalData.isLogin); + } else if (that.isNotEmptyCheck(that.globalData.userLoginTokenInfo.tel)) { + that.globalData.autoLoginTag = 1; + // that.appLoginByTel(); + + return new Promise(function (resolve, reject) { + try { + that.appLoginByTel(resolve, reject); + } catch (e) { + console.log("设置登录信息错误"); + console.log(e); + reject(); + } + }); + rejectOutter(); + } + } else { + console.log("nologinInfo"); + if (that.userLoginCallback) { + that.userLoginCallback(); + } + rejectOutter(); + } + } catch (e) { + } + }) + }, + onTabItemTap(e) { + console.log(123); + console.log(e); + let that = this; + if (!that.globalData.isLogin) { + // wx.showModal({ + // title: '提示', + // content: '账号尚未登录,请先登录账号', + // success: res => { + // if (res.confirm) { + wx.navigateTo({ + url: "/pages/login/login", + }); + // } else if (res.cancel) { + // wx.reLaunch({ + // url: '/pages/main/homePage' + // }) + // } + // } + // }) + } + }, + dialog: function (title, content, btxt) { + wx.showModal({ + title: title, + content: content, + showCancel: false, + confirmColor: "#027AFF", + confirmText: btxt, + success: function (res) { + if (res.confirm) { + console.log("用户点击确定"); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, +}); diff --git a/app.json b/app.json new file mode 100644 index 0000000..971c06f --- /dev/null +++ b/app.json @@ -0,0 +1,88 @@ +{ + "pages": [ + "pages/index/index", + "pages/jobListSearch/index", + "pages/city/index", + "pages/detail/index", + "pages/mine/index", + "pages/collect/index", + "pages/shareList/index", + "pages/login/index", + "pages/newEnroll/index", + "pages/newEnroll/enrollEdit/index", + "pages/newEnroll/enroll/index", + "pages/newEnroll/enrollJob/index", + "pages/returnMessage/index", + "pages/test/index", + + "pages/mine/userDetail/index", + "pages/mine/changeAvatar/index", + "pages/mine/changeGender/index", + "pages/mine/setting/index", + "pages/mine/trueName/index", + "pages/mine/userName/index", + "pages/mine/returnMessage/index", + "pages/mine/realName1/index", + "pages/mine/userTel/index", + "pages/mine/wxNickname/index", + "pages/mine/addAddress/index", + "pages/mine/addCard/index", + "pages/mine/addressBook/index", + "pages/mine/addressPage/index", + "pages/mine/addUserCard/index", + "pages/mine/changePsw/index", + "pages/mine/connectUs/index", + "pages/mine/seeIdCard/index", + "pages/mine/versionPage/index", + "pages/mine/myJob/index", + + "pages/message/index", + "pages/messageDetail/index", + + "pages/secret/index", + "pages/serviceTerm/index" + ], + "permission": { + "scope.userLocation": { + "desc": "你的位置信息将用于小程序位置接口的效果展示" + } + }, + "requiredPrivateInfos":[ + "getLocation", + "chooseLocation", + "chooseAddress" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "Weixin", + "navigationBarTextStyle": "black" + }, + "tabBar": { + "color": "#666666", + "borderStyle": "black", + "selectedColor": "#027aff", + "list": [ + { + "iconPath": "./assets/images/zw.png", + "selectedIconPath": "./assets/images/zw1.png", + "pagePath": "pages/index/index", + "text": "首页" + }, + + + { + "iconPath": "./assets/images/wd.png", + "selectedIconPath": "./assets/images/wd1.png", + "pagePath": "pages/mine/index", + "text": "我的" + } + ] + }, + "useExtendedLib": { + "weui": true + }, + "style": "v2", + "sitemapLocation": "sitemap.json", + "lazyCodeLoading": "requiredComponents" +} \ No newline at end of file diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..951c700 --- /dev/null +++ b/app.wxss @@ -0,0 +1,1997 @@ +@import "./assets/iconfont-weapp/iconfont-weapp-icon.wxss"; +@import "./assets/iconfont/iconfont.wxss"; + +page { + height: 100vh; + background: #f5f5f5; + --color-ysd: #00B666; + --color-hover: #3393FF; + --color-be: #ff4400; + --color-f40: #ff4400; + --color-027: #ff4400; +} +::-webkit-scrollbar { + display: none; + width: 0; + height: 0; + color: transparent; +} +.weui-cells { + font-size: 16px; + margin: 0 !important; +} +.ysd-basebg-color { + background-color: var(--color-f40) !important; +} +.ysd-base-color { + color: var(--color-ysd) !important; +} +.color-f40{ + color: var(--color-f40) !important; +} +.br8 { + border-radius: 8px; +} +.dil { + display: inline; +} + +.dib { + display: inline-block; +} + +.fl { + float: left; +} + +.fr { + float: right; +} + +.clb { + clear: both; +} +.tl { + text-align: left; +} + +.tr { + text-align: right; +} + +.tc, +.center { + text-align: center; +} + +.f14 { + font-size: 14px !important; +} + +.f14s { + font-size: 14px; +} + +.ml8 { + margin-left: 8px; +} +.ml24 { + margin-left: 24px; +} +.m16 { + margin: 16px; +} +.m0 { + margin: 0 !important; +} +.m016 { + margin: 0 16px; +} +.m010 { + margin: 0 10px; +} +.m160 { + margin: 16px 0; +} +.mr4 { + margin-right: 4px; +} +.mr8 { + margin-right: 8px; +} +.mr12 { + margin-right: 12px; +} +.mt8 { + margin-top: 8px; +} + +.mb8 { + margin-bottom: 8px; +} + +.mb4 { + margin-bottom: 4px; +} +.mb2 { + margin-bottom: 2px; +} +.p0 { + padding: 0 !important; +} +.pr16 { + padding-right: 16px; +} + +.pl16 { + padding-left: 16px; +} +.pb12 { + padding-bottom: 12px; +} +.pb4 { + padding-bottom: 4px; +} +.p08 { + padding: 0 8px; +} +.p012 { + padding: 0 12px !important; +} +.p016 { + padding: 0 16px; +} +.mt6 { + margin-top: 6px; +} +.mt2 { + margin-top: 2px; +} +.p160 { + padding: 16px 0; +} +.p1612 { + padding: 16px 12px; +} +.pb10{ + padding-bottom: 10px; +} +.ml10 { + margin-left: 10px; +} +.ml12 { + margin-left: 12px; +} +.mr10 { + margin-right: 10px; +} +.ml6 { + margin-left: 6px; +} +.ml4 { + margin-left: 4px; +} +.mr6 { + margin-right: 6px; +} +.mr14 { + margin-right: 14px; +} +.ml14 { + margin-left: 14px; +} +.mb32 { + margin-bottom: 32px; +} +.mt2 { + margin-top: 2px; +} +.mt10 { + margin-top: 10px; +} + +.mb10 { + margin-bottom: 10px; +} +.mb12 { + margin-bottom: 12px; +} +.mb6 { + margin-bottom: 6px; +} +.mb16 { + margin-bottom: 16px; +} + +.pl8 { + padding-left: 8px; +} + +.pr8 { + padding-right: 8px; +} + +.pt8 { + padding-top: 8px; +} +.pt12 { + padding-top: 12px; +} +.pb8 { + padding-bottom: 8px; +} + +.p16 { + padding: 16px; +} +.border1 { + border: 1px solid #eee; +} +.bb1 { + border-bottom: 1px solid #eee; +} + +.br1 { + border-right: 1px solid #eee; +} +.bt1 { + border-top: 1px solid #eee; +} +.bl1 { + border-left: 1px solid #eee; +} +.bbd1 { + border-bottom: 1px dotted #eee; +} +.brd1 { + border-right: 1px dotted #eee; +} +.btd1 { + border-top: 1px dotted #eee; +} +.bld1 { + border-left: 1px dotted #eee; +} +.f6 { + font-size: 6px; +} +.f10 { + font-size: 10px; +} + +.f11 { + font-size: 10px; +} + +.va-center { + display: flex; + align-items: center; +} +.db { + display: block; +} + +.display-flex { + display: flex; +} +.tac { + text-align: center; +} +.flex-1 { + flex: 1; +} +.bgcf { + background-color: #fff; +} +.c085 { + color: rgba(0, 0, 0, 0.85); +} + +.cf085 { + color: rgba(255, 255, 255, 1); +} + +.c065 { + color: rgba(0, 0, 0, 0.65); +} + +.c3 { + color: #333333 !important; +} + +.p10 { + padding: 10px; +} + +.c045 { + color: rgba(0, 0, 0, 0.45); +} + +.cgreen { + color: #39bc8b; +} + +.c025 { + color: rgba(0, 0, 0, 0.25); +} + +.am-icon.c015 { + color: rgba(0, 0, 0, 0.15); +} +.pr0 { + padding-right: 0px !important; +} +.pl0 { + padding-left: 0px !important; +} +.pb0 { + padding-bottom: 0px !important; +} +.pt0 { + padding-top: 0px !important; +} + +.pl20 { + padding-left: 20px; +} +.pr10 { + padding-right: 10px; +} +.pl10 { + padding-left: 10px; +} + +.pr20 { + padding-right: 20px; +} + +.pb20 { + padding-bottom: 20px; +} + +.ml20 { + margin-left: 20px; +} + +.mr20 { + margin-right: 20px; +} + +.mt20 { + margin-top: 20px; +} + +.mt24 { + margin-top: 24px; +} + +.mt32 { + margin-top: 32px !important; +} + +.f11 { + font-size: 11px; +} + +.f12 { + font-size: 12px; +} + +.f16 { + font-size: 16px !important; +} +.f17 { + font-size: 17px !important; +} +.f22 { + font-size: 22px; +} +.f24 { + font-size: 24px; +} +.f26 { + font-size: 26px; +} +.f28 { + font-size: 28px; +} +.mt4 { + margin-top: 4px; +} + +.mt5 { + margin-top: 5px; +} + +.f18 { + font-size: 18px; +} + +.f20 { + font-size: 20px; +} +.f28 { + font-size: 28px; +} +.p1620 { + padding: 16px 20px; +} + +.p020 { + padding: 0px 20px; +} + +.p200 { + padding: 20px 0px; +} + +.lineT { + height: 1rpx; + width: calc(100vw - 40px); + margin: 0 auto; + background-color: rgba(0, 0, 0, 0.1); +} + +.p1020 { + padding: 16px 16px 15px; +} + +.pen { + pointer-events: none; +} + +.pea { + pointer-events: auto; +} + +.p1016 { + padding: 10px 16px; +} + +.p20 { + padding: 20px; +} +.p24 { + padding: 24px; +} +.c633 { + color: var(--color-f40); +} +.c6 { + color: #666666 !important; +} +.c9 { + color: #999999 !important; +} +.cbc { + color: #ccc !important; +} +.cf40 { + color: var(--color-ysd) !important; +} +.tar { + text-align: right; +} +.tal { + text-align: left; +} +.por { + position: relative; +} +.poa { + position: absolute; +} +.tagsLi { + display: inline-block; + font-size: 12px; + font-weight: 400; + color: #888; + background: #f1f1f1; + border-radius: 2px; + padding: 0 4px 0px; + line-height: 18px; + margin-right: 6px; + margin-bottom: 4px; + position: relative; + top: 1px; +} +.ticon { + background-repeat: no-repeat !important; + background-size: 100%; +} +.wsn { + white-space: nowrap; +} +.tagsLi.spli { + color: var(--color-ysd); + background-color: rgba(234, 67, 58, 0.2); +} + +.f00, +.cf00 { + color: var(--color-ysd) !important; +} +.cfred { + color: #ff1000; +} +.cf { + color: #ffffff; +} +.pr { + position: relative; +} + +/* .tagsLi.spli{ + color: #FFFFFF; + background-color: var(--color-ysd); +} */ + +.sbLine { + height: 1px; + background-color: rgba(0, 0, 0, 0.08); + /* margin-left: 20px; */ +} + +.ahover { + background-color: rgba(0, 0, 0, 0.08); +} + +.h2 { + font-size: 16px; + color: rgba(0, 0, 0, 0.85); + line-height: 1; + /* margin-top:12px; */ + margin-bottom: 10px; + font-weight: bold; +} + +.lh1 { + line-height: 1; +} +.lh12 { + line-height: 12px; +} +.w70 { + /* width: 100px; */ + white-space: nowrap; + text-align: right; + line-height: 1.5; +} + +.fw500 { + font-weight: bold; +} + +.fw400 { + font-weight: 400; +} + +.w70 + .c085 { + line-height: 1.5; + /* white-space: pre-line; */ +} + +.fwb { + font-weight: bold; +} + +/* .wspl { + white-space: pre-line; +} */ +button.weui-btn_primary::after { + border: 0; +} + +button[type="primary"] { + color: #ffffff; + background-color: var(--color-ysd); +} + +.button-hover[type="primary"] { + color: #ffffff; + /* opacity: 0.8; */ + background-color: var(--color-ysd) !important; +} +/* .login-hover { + opacity: 0.8 !important; +} */ +button[disabled][type="primary"] { + background-color: #c0deff; +} + +.am-button-ghost { + padding: 8px !important; + color: #1f6bbf !important; + box-shadow: inset 0 0 0 1px #1f6bbf !important; +} + +.am-button-primary { + padding: 8px !important; + background-color: #1f6bbf !important; +} + +.w180 { + width: 184px; + margin: 0 auto; + line-height: 42px; +} + +.tImage { + width: 50px; + height: 50px; + margin-right: 6px; + border-radius: 4px; + /* border: 1rpx solid #ddd; */ +} + +.row-extra.c025 { + color: rgba(0, 0, 0, 0.25); +} + +.page-description { + margin-bottom: 32rpx; +} + +.page-section { + background: #fff; +} + +.page-section-title { + padding: 16rpx 32rpx; +} + +.page-section-demo { + padding: 32rpx; +} + +button { + margin-top: 20rpx; + margin-bottom: 20rpx; +} + +.bc_blue { + background-color: #49a9ee; +} + +.bc_red { + background-color: #f04134; +} + +.bc_yellow { + background-color: #ffbf00; +} + +.bc_green { + background-color: #00a854; +} +.inherit_c { + color: inherit !important; +} +.form-row { + display: flex; + align-items: center; + padding: 0 20px; + height: 44px; + align-items: center; +} + +.form-row-label { + width: 50px; + font-size: 16px; + font-weight: 400; + color: #666666; + line-height: 22px; + margin-right: 10px; +} + +.form-row-content { + flex: 1; + font-size: 16px; + background: #f4f4f4; + border-radius: 6px; + line-height: 50px; +} + +.form-line { + height: 1px; + background-color: rgba(0, 0, 0, 0.08); + margin-left: 16px; + /*margin-left: 30rpx;*/ +} + +.f13 { + font-size: 13px; +} + +.row-title.f14 { + font-size: 14px; +} + +.inlineBlock .am-loading-wrap { + margin: 0 auto; +} + +.am-list-content-title { + font-size: 14px !important; +} + +.inlineBlock { + display: inline-block; + vertical-align: middle; +} + +.rightIcon { + position: relative; + padding-right: 16px; +} + +.rightIcon:after { + content: " "; + width: 12px; + height: 24px; + -webkit-mask-position: 0 0; + mask-position: 0 0; + -webkit-mask-repeat: no-repeat; + mask-repeat: no-repeat; + -webkit-mask-size: 100%; + mask-size: 100%; + background-color: currentColor; + color: var(--weui-FG-2); + -webkit-mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E); + mask-image: url(data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E); + position: absolute; + top: 50%; + right: 0; + margin-top: -12px; + -webkit-mask-position-x: 0px; + -webkit-mask-position-y: 0px; + -webkit-mask-repeat-x: no-repeat; + -webkit-mask-repeat-y: no-repeat; +} +.mt10 { + margin-top: 10px; +} +.mt16 { + margin-top: 16px; +} + +.mb16 { + margin-bottom: 16px; +} +.ml4 { + margin-left: 4px; +} +.mb8 { + margin-bottom: 8px; +} + +.pb8 { + padding-bottom: 8px; +} + +.bgf { + background-color: #fff; +} +.weui-cells { + font-size: 16px; + margin: 0 !important; +} +.wx-border-tb { + border-top: 1px solid #f3f3f3; + border-bottom: 1px solid #f3f3f3; +} + +.userImg { + width: 120rpx; + height: 120rpx; + /* border-radius: 4px; */ + overflow: hidden; + display: flex; + justify-content: center; + align-items: center; +} + +button::after { + border: 0; +} + +.v-center { + display: flex; + align-items: center; + justify-content: center; +} + +.vsb { + justify-content: space-between; + display: flex; + flex-flow: column; +} +.fsa { + display: flex; + align-items: center; + justify-content: space-between; +} +.fsc { + display: flex; + /* flex-direction: column; */ + align-items: center; + justify-content: center; +} + +.jobTitle { + font-size: 22px; + font-weight: 601; + color: rgba(0, 0, 0, 0.85); + line-height: 30px; + flex: 1; +} + +[data-title*="null"] { + display: none; +} + +.ui-poptips { + transform: translateY(-40px); + transition: all 0.5s; + padding: 0 30px; +} + +.ui-poptips.ui-poptipsTop { + transform: translateY(0px); +} + +.ui-poptips { + width: 100%; + position: fixed; + top: 0; + left: 0; + z-index: 99999999; + padding: 0 10px; + box-sizing: border-box; +} + +.ui-poptips-cnt { + background-color: rgba(0, 0, 0, 0.5); + line-height: 40px; + height: 40px; + color: #fff; + font-size: 16px; + text-align: center; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + max-width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.ui-poptips { + transform: translateY(-40px); + transition: all 0.5s; + padding: 0 30px; +} + +.ui-poptips.ui-poptipsTop { + transform: translateY(0px); +} + +.icon-weixuanzhong { + color: #888; + padding-right: 8px; + font-size: 20px; +} + +.icon-xuanzhong { + color: var(--color-ysd); + padding-right: 8px; + font-size: 20px; +} + +.radioText { + font-size: 16px; + color: rgba(0, 0, 0, 0.65); + position: relative; + top: -2px; +} + +.userName { + font-size: 16px; + font-weight: 400; + color: #333333; + line-height: 25px; + margin-top: 3px; +} + +.time { + font-size: 14px; + font-weight: 400; + color: #919191; + line-height: 16px; + margin-top: 6px; +} + +.ava { + width: 44px; + height: 44px; + border-radius: 4px; + margin-right: 6px; + display: block; +} + +.sm { + font-size: 14px; + font-weight: 400; + text-align: left; + color: #333333; + line-height: 44px; +} + +.oneP { + display: flex; + /* padding-bottom: 12px; + padding-top: 16px; */ + padding-bottom: 16px; + padding-top: 16px; + box-sizing: border-box; + border-bottom: 1px solid #f3f3f3; +} + +.staticTitle { + margin-top: 20px; + font-size: 22px; + font-weight: 601; + text-align: center; + color: #262626; + line-height: 30px; +} +.cccc { + color: #ccc; +} +.aca { + color: #c2c2c2; +} +.mr4 { + margin-right: 4px; +} + +.weui-btn_input-clear [class*="weui-icon-"] { + width: 18px; + height: 18px; +} + +.weui-btn_input-clear { + padding-top: 3px; +} + +.mr16 { + margin-right: 16px; +} + +.ml16 { + margin-left: 16px; +} + +.p2010 { + padding: 20px 10px; +} + +.weui-dialog__title { + font-size: 18px; + font-weight: 400; + color: #333333; + line-height: 25px; +} + +.weui-dialog__bd { + font-size: 16px; + font-weight: 400; + text-align: center; + color: #787878; + line-height: 22px; + margin-bottom: 20px; + /* border-bottom: 1rpx solid #e2e2e2; */ +} + +.weui-dialog__bd view { + /* padding-bottom: 20px; */ + + /* border-bottom: 1rpx solid #e2e2e2; */ +} + +.weui-dialog__hd { + padding: 32px 24px 20px; +} + +.lflex { + font-size: 18px; + font-weight: 601; + text-align: center; + color: var(--color-ysd); + line-height: 28px; + /* margin-top: 7px; */ + padding: 0 10px 0 30px; +} + +.rflex { + flex: 1; + padding: 0 30px 0 10px; +} + +.rflex button { + margin-top: 0; + margin-bottom: 0; + height: 42px; + opacity: 1; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + line-height: 26px; +} +.f22 { + font-size: 22px; +} + +.pb16 { + padding-bottom: 16px !important; +} + +.pb20 { + padding-bottom: 20px; +} +.mb0 { + margin-bottom: 0px !important; +} +.btnFlex { + margin: 0; + padding: 0; + background-color: #fff; + line-height: 28px; + color: var(--color-ysd); +} + +.lflex.p020 { + padding: 0 20px; +} +.newList { + padding: 17px 20px; +} + +.newList .lefticon { + /* font-size:20px; */ + width: 20px; + height: 20px; + line-height: 1; + color: #666; +} +.newList .icon-you { + line-height: 1; +} + +.newList .mw-labe { + display: flex; + flex-direction: row; + align-items: center; +} + +.storeName { + font-size: 18px; + color: rgba(0, 0, 0, 0.85); + /* flex:1; */ + width: 360rpx; + font-weight: 601; + line-height: 1.2; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.servicePrice { + border: 1rpx solid var(--color-ysd); + background-color: #ffeee7; + justify-content: space-between; + border-right-color: transparent; + border-left-color: transparent; +} +.newList .iconOut { + margin-right: 12px; +} +.newList .mw-labe .flex-1 { + display: flex; + flex-direction: row; + align-items: center; +} + +.flex-2 { + flex: 2; +} +.weui-cells__group_form .weui-cell { + padding: 18px 20px; +} +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before, +.weui-cells__group_form .weui-cells:after { + left: 20px; + right: 20px; +} +.mt12 { + margin-top: 12px; +} + +.rtText, +.rbText { + font-size: 14px; + font-weight: 400; + text-align: right; + color: #333333; + line-height: 18px; + margin-top: 3px; +} + +.rbText { + margin-top: 5px; + color: #919191; +} +.rtText { + font-size: 16px; +} +.weui-loading { + display: none; +} +.weui-btn_loading { + pointer-events: none; +} +.weui-btn_loading .weui-loading { + display: inline-block; +} + +.gztop { + background-color: #00a0ff; + padding: 20px 15px; + color: #fff; +} +.cred_new { + color: #e60012 !important; +} +.ui-step { + padding-bottom: 10px; + margin-bottom: 60px; + padding-top: 32rpx; + border-top: 1px solid #f3f3f3; +} + +.ui-step.ui-list > view { + margin-left: 48rpx; + padding-top: 0; + padding-bottom: 0; + padding-right: 32rpx; + position: relative; +} + +.mb18 { + margin-bottom: 36rpx; +} +.br8 { + border-radius: 8px; +} +.tc { + text-align: center; +} +.flex-2 { + flex: 2; +} +.weui-cells:after { + border-bottom: 0; +} +.mbtn { + background-color: #10aeff; +} + +.pull-right { + float: right; +} +.size100 { + width: 100%; + height: 100%; +} +.cardTitle { + flex: 1; + font-size: 34rpx; + font-weight: 400; + color: rgba(0, 0, 0, 0.9); + line-height: 48rpx; +} + +.cardTime { + font-size: 28rpx; + line-height: 56rpx; + color: rgba(0, 0, 0, 0.3); +} + +.smd-container { + padding: 40rpx; +} +.thover { + opacity: 0.8 !important; +} +.thover view { + opacity: 0.8 !important; +} +.textHov { + opacity: 0.8 !important; +} +.c009 { + color: rgba(0, 0, 0, 0.9); +} +.leftText { + color: rgba(0, 0, 0, 0.45); + font-size: 28rpx; + min-width: 160rpx; +} +.rightText { + flex: 1; + font-size: 28rpx; +} + +.c030 { + color: rgba(0, 0, 0, 0.3); +} +.c050 { + color: rgba(0, 0, 0, 0.5); +} +.c090 { + color: rgba(0, 0, 0, 0.9); +} +.p1220 { + padding: 32rpx 40rpx; +} +.mt8 { + margin-top: 16rpx; +} +.mt12 { + margin-top: 24rpx; +} +.mt32 { + margin-top: 64rpx; +} +.mPicker { + text-align: right; + margin-right: 36px; +} +.weui-cell::before { + left: 0; +} +.weui-cells::before { + display: none; +} +.weui-cells::after { + display: none; +} +.mbtn { + background-color: var(--color-ysd); +} +.primaryColor { + color: var(--color-ysd); +} +.p010 { + padding: 0 10px; +} + +.c065 { + color: rgba(0, 0, 0, 0.65); +} +.c045 { + color: rgba(0, 0, 0, 0.45); +} + +.lh24 { + line-height: 48rpx; +} +.mt0 { + margin-top: 0 !important; +} +.dn { + display: none !important; +} +.aic { + align-items: center; +} +.weui-loading { + display: none; +} +.weui-btn_loading { + pointer-events: none; +} +.weui-btn_loading .weui-loading { + display: inline-block; +} + +.gztop { + background-color: #00a0ff; + padding: 20px 15px; + color: #fff; +} +.cred_new { + color: #e60012 !important; +} +.ui-step { + padding-bottom: 10px; + margin-bottom: 60px; + padding-top: 32rpx; + border-top: 1px solid #f3f3f3; +} + +.ui-step.ui-list > view { + margin-left: 48rpx; + padding-top: 0; + padding-bottom: 0; + padding-right: 32rpx; + position: relative; +} + +.cg-cricle, +.cb-cricle { + position: absolute; + left: -4.5px; + top: -2px; + background: #cce0b7; + width: 10px; + height: 10px; + border-radius: 100%; +} + +.cb-cricle { + background-color: var(--color-ysd); +} + +.ui-step .ui-list-info { + padding-left: 26rpx; + border-left: 2px solid var(--color-ysd); + padding-bottom: 15px; + margin-top: -2px; +} + +.ui-step li:last-child .ui-list-info { + border-left: 0; +} + +.ui-step .f14.c3, +.ui-step .f12.c6 { + position: relative; + top: -5px; +} + +.ui-step view:last-child .ui-list-info { + border-left: 0; +} +.mb18 { + margin-bottom: 36rpx; +} + +.flex-2 { + flex: 2; +} +button.newBtn { + width: 200px; + height: 42px; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + line-height: 42px; + font-weight: 601; + padding: 0; +} + +button.newBtn.mbtn-hover { + background-color: #1890ff; +} +.topMenu { + display: flex; + padding: 12px 0; + border-bottom: 1px solid #f3f3f3; + background-color: #fff; +} + +.onMune { + flex: 1; + font-size: 16px; + font-weight: 400; + text-align: center; + color: #000; + line-height: 18px; +} + +.menuBorder { + position: absolute; + width: 20px; + height: 3px; + opacity: 1; + background: var(--color-ysd); + border-radius: 2px; + bottom: -12px; + left: 50%; + margin-left: -10px; +} + +.onMune .menuBorder { + display: none; +} + +.onMune.active .menuBorder { + display: block; +} + +.onMune.active { + font-size: 16px; + font-weight: 601; + text-align: center; + color: var(--color-ysd); + line-height: 18px; +} +.loadMore { + border-top: 1rpx solid transparent; + border-bottom: 1rpx solid transparent; + background-color: #fff; +} +.loadMore view { + width: 120px; + height: 28px; + border: 1px solid #f3f3f3; + border-radius: 20px; + font-size: 14px; + text-align: center; + color: #8c8c8c; + line-height: 28px; + margin: 20px auto; +} +view:empty, +text:empty { + content: "-"; +} +.c027 { + color: var(--color-ysd); +} + +page { + /* padding: 10px; */ + /* height: 100vh !important; */ + /* background-color: #fff; */ + color: #333; + box-sizing: border-box; +} + +.navigationbar { + width: 100%; + height: 88px; + display: none; + position: fixed; + top: 0; + left: 0; + z-index: 999; +} +.navigationbar text { + position: absolute; + bottom: 10px; + left: 50%; + transform: translateX(-50%); +} + +.navigationbar view { + position: absolute; + width: 15px; + height: 18px; + bottom: 15px; + left: 18px; + background-repeat: no-repeat; + background-size: 100% 100%; + background-position: center; +} +.mt_10 { + margin-top: 10px !important; +} +.br_8 { + border-radius: 8px; +} +/* .container{ + margin-top: 88px !important; +} */ +.logout-hover { + background-color: #ff44001a; +} +/* 搜索栏的样式 */ +.navigatortool { + position: fixed; + width: 100vw; + top: 0; + z-index: 1000; +} +.navigatortool .weui-search-bar { + display: flex; + justify-content: space-between; + /* padding-top: 52px; */ + margin-bottom: 4px; + padding-right: 120px; + position: relative; + background-color: #fff; + /* padding: 8px 16px; */ + /* padding-bottom: 10px; */ + /* background-color: #ff4400; */ +} +.navigatortool .weui-search-bar .weui-search-bar__box { + flex: 1; + /* width: 198px; */ + margin-left: 10px; + border-radius: 999px; + background-color: #f5f5f5 !important; + margin-left: 0px; + padding-left: 6px; +} +.navigatortool .weui-search-bar .weui-search-bar__box i { + margin-left: 6px; + margin-right: 4px; + color: #ccc; +} +.navigatortool .weui-search-bar .weui-search-bar__box .iconfont { + -webkit-text-stroke-width: 0.3px; +} +.navigatortool .weui-search-bar .weui-search-bar__input { + padding: 4px 0; +} +.navigatortool .weui-search-bar .weui-search-bar__input::placeholder { + line-height: 24px !important; +} +.navigatortool .weui-search-bar .icon-xiangzuo { + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + font-weight: bold; +} +.normalBtn { + width: 260px !important; + height: 42px; + color: #fff; + border-radius: 999px; +} +.loginOut { + width: 200px; + height: 42px; + opacity: 1; + background-color: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 42px; + /* margin-top: 30px; */ + margin-bottom: unset; +} +.uploadZheng image, +.uploadFan image { + width: 313px; + height: 167px; + border-radius: 8px; +} +.uploadFan { + text-align: center; + margin-top: 20px; +} +.circleNum { + display: inline-block; + width: 16px; + height: 16px; + background-color: #ff4400; + color: #fff; + font-size: 12px; + line-height: 16px; + text-align: center; + border-radius: 50%; + /* position: relative; */ + /* top: -2px; */ + /* right: 8px; */ +} + +.weui-cell:before { + transform: scaleY(1); +} + +.hcb { + background-color: #f2f2f2 !important; +} +.weui-dialog__ft:after { + border-top: 1px solid #eeeeee; + transform: scaleY(1); +} + +.weui-loadmore_line { + border-top: 1px solid #f3f3f3; +} +.weui-grid4, +.weui-grid5 { + position: relative; + float: left; + text-align: center; + padding: 20px 10px; + width: 25%; + box-sizing: border-box; +} +.weui-grid5 { + width: 20%; + padding: 10px 10px; +} +.weui-grids:after, +.weui-grids:before { + z-index: 99; +} +.weui-grids:after { + border-left: 0; +} +.weui-grid4:active, +.weui-grid5:active { + /* background-color: #ececec; */ +} + +.weui-grid4:before, +.weui-grid5::before { + content: " "; + position: absolute; + right: 0; + bottom: 0; + color: var(--weui-FG-3); + top: 0; + width: 1px; + border-right: 1px solid var(--weui-FG-3); + -webkit-transform-origin: 100% 0; + transform-origin: 100% 0; + -webkit-transform: scaleX(0.5); + transform: scaleX(0.5); +} +.weui-grid5:nth-child(1):before { + border-left: 0; +} +.weui-grid4:nth-child(4):before, +.weui-grid5:nth-child(5):before { + border-right: 0; + border-right-width: 0px; + border-right-style: initial; + border-right-color: initial; +} +.btmFix { + position: fixed; + z-index: 999; + bottom: 0px; + left: 0; + width: 100%; + padding: 0 32px; + box-sizing: border-box; + /* margin-top: 24px; + position: relative; */ + background-color: #fff !important; + height: 88px; + box-shadow: 0px -2px 4px 0px rgba(218, 218, 218, 0.5); + /* margin-bottom: 24px; */ +} +.dtBtn, +.dtBtnD { + display: inline-block; + border-radius: 18px; + font-size: 16px; + font-weight: 601; + padding: 0; + color: #ffffff; + + width: 128px !important; + height: 36px; + line-height: 36px; + box-sizing: border-box; + margin: 12px 0; +} +.button-hover[type="primary"] { + background-color: var(--color-hover) !important; +} +.dtBtn { + background-color: var(--color-ysd) !important; +} +.dtBtnD { + border: 1px solid var(--color-ysd); + border-radius: 18px; + background-color: #fff; + line-height: 34px; + color: var(--color-ysd); +} +.dtBtnD:active { + background-color: #fff5f1; +} +.iconView { + display: inline-block; + width: 24px; + height: 24px; + background: #f6f6f6; + border-radius: 50%; + text-align: center; +} +.iconView.active { + background: #fff5f1; +} +.editClass { + font-size: 16px; + text-align: center; + border-top: 1px solid #eee; + color: #576b95; + line-height: 48px; +} +.iconView .iconfont { + font-size: 12px; + line-height: 24px; + color: #ccc; +} +.iconView.active .iconfont { + color: #ff4400; +} +.weui-search-bar__input.c9 { + color: #999999 !important; +} +.weui-search-bar__input.c3 { + color: #333333 !important; +} + +/* 搜索框的公用样式 */ +.weui-search-bar { + padding-right: 12px; +} +.weui-search-bar__form { + border-radius: 40px !important; +} +.weui-search-bar__form .icon-sousuo { + position: absolute; + left: 14px; + width: 16px; + top: 1px; + height: 16px; + color: #cccccc; +} + +.weui-search-bar__box { + position: relative; + line-height: 40px; + height: 40px; + padding-left: 32px; + display: flex; + + justify-content: space-between; + padding-right: 0; +} + +.weui-search-bar__box .weui-search-bar__input { + width: 220px; + padding: 0; + height: 32px !important; + line-height: 32px !important; + font-size: 16px; +} +.weui-search-bar__box { + height: 32px !important; + line-height: 32px !important; + /* top: 8px; */ +} +.weui-search-bar__box .search { + position: relative; + text-align: left; + width: 52px; + padding-left: 12px; + box-sizing: border-box; + /* left: -10px; */ + font-size: 16px; + height: 40px !important; + font-weight: bold; + line-height: 40px !important; + color: var(--color-ysd); +} +.weui-search-bar__box .search::before { + content: ""; + position: absolute; + width: 1px; + height: 16px; + left: 0; + top: 50%; + transform: translateY(-50%); + background-color: #ddd; +} +.weui-search-bar .icon-qingchu1 { + position: absolute; + top: 50%; + right: 62px; + padding-right: 0; + transform: translateY(-50%); + width: 16px; + height: 16px; + z-index: 3; + line-height: 16px; + /* -webkit-mask-size: 16px; */ + /* mask-size: 16px; */ +} +.weui-search-bar .icon-qingchu1::before { + color: rgba(0, 0, 0, 0.25); +} +.navigatortool { + position: fixed; + width: 100vw; + top: 0; + z-index: 1000; +} +.navigatortool .weui-search-bar { + display: flex; + justify-content: space-between; + /* padding-top: 52px; */ + margin-bottom: 4px; + padding-right: 120px; + position: relative; + background-color: #fff; + /* padding: 8px 16px; */ + /* padding-bottom: 10px; */ + /* background-color: #ff4400; */ +} +.navigatortool .weui-search-bar .weui-search-bar__box { + flex: 1; + /* width: 198px; */ + margin-left: 10px; + border-radius: 999px; + background-color: #f5f5f5 !important; + margin-left: 0px; + padding-left: 6px; +} +.navigatortool .weui-search-bar .weui-search-bar__box i { + margin-left: 6px; + margin-right: 4px; + color: #ccc; +} +.navigatortool .weui-search-bar .weui-search-bar__box .iconfont { + -webkit-text-stroke-width: 0.3px; +} + +.navigatortool .weui-search-bar .weui-search-bar__input::placeholder { + line-height: 24px !important; +} +.navigatortool .weui-search-bar .icon-xiangzuo { + width: 30px; + height: 30px; + line-height: 30px; + text-align: center; + font-weight: bold; +} +.iconClass { + position: relative; + left: 0px; + top: -2px; + display: flex; + align-items: center; + justify-content: center; + width: 148px; + height: 34px; + background: #fff5f1; + border-radius: 17px; +} +.weui-dialog__hd { + padding: 16px 20px; +} +.weui-dialog__btn.weui-dialog__btn_primary { + color: var(--color-ysd); +} +.weui-dialog__btn.weui-dialog__btn_default { + color: #333; +} +.weui-dialog__bd.wbv0 view { + padding-bottom: 0; + border-bottom: 0; + text-align: left; +} +.weui-dialog__btn:after { + transform: scaleX(1); + border-left: 1px solid #eeeeee; +} +.elps { + overflow: hidden; + text-overflow: ellipsis; + width: 100%; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + word-break: break-all; +} +.oelps { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +/* 伪元素加大识别区域 */ +.biggerSize, +.biggerSize2 { + position: relative; +} + +.biggerSize::after { + content: ""; + /* display: inline-block; */ + width: 50px; + height: 50px; + position: absolute; + left: 50%; + top: 50%; + z-index: 99; + transform: translate(-50%, -50%); +} + +.biggerSize2::after { + content: ""; + /* display: inline-block; */ + width: 100px; + height: 70px; + position: absolute; + left: 50%; + top: 50%; + z-index: 99; + transform: translate(-50%, -50%); +} +.tobe { + height: 70% !important; +} +.tobe .guanbi { + top: 12px !important; +} +.tobe .weui-dialog__hd { + position: relative; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-top: 8%; +} +.tobe .weui-dialog__hd .top { + padding-bottom: 20px; + width: 100%; +} +.tobe .weui-dialog__hd .bottom { + display: flex; + flex: 1; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + /* padding-top: 10px; */ +} +.tobe .weui-dialog__hd .bottom > view { + margin-top: -30px; +} +/* + 成为代理二维码弹窗 +*/ +.contact { + width: 80%; + height: 350px; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} +.contact .weui-dialog__hd { + margin-top: 40px; + padding: 0; + position: relative; +} +.contact .guanbi { + position: absolute; + right: 16px; + top: -28px; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} diff --git a/appcommon.wxss b/appcommon.wxss new file mode 100644 index 0000000..e69de29 diff --git a/assets/iconfont-weapp/iconfont-weapp-icon.wxss b/assets/iconfont-weapp/iconfont-weapp-icon.wxss new file mode 100644 index 0000000..447e73a --- /dev/null +++ b/assets/iconfont-weapp/iconfont-weapp-icon.wxss @@ -0,0 +1,671 @@ + +.t-icon { + display: inline-block; + width: 16px; + height: 16px; + background-repeat: no-repeat; + background-position: center; + background-size: 100%; +} + + + +.t-icon-wodebaoming2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodebaoming2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M951.466667%20785.066667h-115.2v-110.933334c0-17.066667-12.8-29.866667-29.866667-29.866666-17.066667%200-29.866667%2012.8-29.866667%2029.866666v110.933334h-115.2c-17.066667%200-29.866667%2012.8-29.866666%2029.866666s12.8%2029.866667%2029.866666%2029.866667h115.2v110.933333c0%2017.066667%2012.8%2029.866667%2029.866667%2029.866667s29.866667-12.8%2029.866667-29.866667v-110.933333h115.2c17.066667%200%2029.866667-12.8%2029.866666-29.866667s-12.8-29.866667-29.866666-29.866666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M810.666667%20985.6c-17.066667%200-34.133333-12.8-34.133334-34.133333v-106.666667h-110.933333c-17.066667%200-34.133333-12.8-34.133333-34.133333%200-17.066667%2012.8-34.133333%2034.133333-34.133334h110.933333v-106.666666c0-17.066667%2012.8-34.133333%2034.133334-34.133334s34.133333%2012.8%2034.133333%2034.133334v106.666666h110.933333c17.066667%200%2034.133333%2012.8%2034.133334%2034.133334%200%2017.066667-12.8%2034.133333-34.133334%2034.133333h-110.933333v106.666667c0%2021.333333-17.066667%2034.133333-34.133333%2034.133333z%20m-140.8-196.266667c-12.8%200-25.6%208.533333-25.6%2025.6%200%2012.8%2012.8%2025.6%2025.6%2025.6h119.466666v115.2c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-8.533333%2025.6-25.6v-115.2h119.466667c12.8%200%2025.6-8.533333%2025.6-25.6%200-12.8-12.8-25.6-25.6-25.6h-119.466667v-115.2c0-12.8-12.8-25.6-25.6-25.6s-25.6%208.533333-25.6%2025.6v115.2h-119.466666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M507.733333%20533.333333c-140.8%200-260.266667-106.666667-260.266666-243.2C251.733333%20149.333333%20362.666667%2042.666667%20507.733333%2042.666667S768%20149.333333%20768%20285.866667c0%20132.266667-115.2%20247.466667-260.266667%20247.466666z%20m0-435.2c-110.933333%200-200.533333%2085.333333-200.533333%20187.733334s93.866667%20187.733333%20200.533333%20187.733333%20200.533333-85.333333%20200.533334-187.733333-89.6-187.733333-200.533334-187.733334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M507.733333%20541.866667c-149.333333%200-273.066667-115.2-273.066666-256%204.266667-145.066667%20123.733333-256%20273.066666-256%20149.333333%200%20273.066667%20115.2%20273.066667%20256s-123.733333%20256-273.066667%20256z%20m0-486.4C371.2%2055.466667%20260.266667%20157.866667%20256%20285.866667c0%20128%20110.933333%20234.666667%20251.733333%20234.666666s251.733333-106.666667%20251.733334-234.666666-115.2-230.4-251.733334-230.4z%20m0%20430.933333c-115.2%200-213.333333-89.6-213.333333-200.533333S392.533333%2085.333333%20507.733333%2085.333333s213.333333%2089.6%20213.333334%20200.533334c-4.266667%20110.933333-98.133333%20200.533333-213.333334%20200.533333z%20m0-375.466667c-102.4%200-192%2081.066667-192%20179.2s85.333333%20179.2%20192%20179.2c102.4%200%20192-81.066667%20192-179.2-4.266667-102.4-89.6-179.2-192-179.2z%22%20fill%3D%22%23343333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M68.266667%20981.333333c-17.066667%200-25.6-8.533333-25.6-21.333333%200-238.933333%20217.6-430.933333%20486.4-430.933333%20115.2%200%20153.6%2021.333333%20226.133333%2059.733333%208.533333%208.533333%2021.333333%2025.6%2012.8%2038.4-8.533333%2012.8-25.6%2012.8-51.2%200-55.466667-34.133333-119.466667-46.933333-187.733333-46.933333-238.933333%200-430.933333%20170.666667-430.933334%20384-8.533333%208.533333-17.066667%2017.066667-29.866666%2017.066666z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M68.266667%20994.133333c-21.333333%200-34.133333-12.8-34.133334-34.133333%200-243.2%20221.866667-443.733333%20494.933334-443.733333%20115.2%200%20157.866667%2021.333333%20226.133333%2059.733333l4.266667%204.266667c21.333333%2017.066667%2025.6%2034.133333%2012.8%2051.2-8.533333%2012.8-25.6%2021.333333-64%204.266666-55.466667-29.866667-115.2-46.933333-183.466667-46.933333-234.666667%200-422.4%20166.4-422.4%20371.2v4.266667c-4.266667%2017.066667-17.066667%2029.866667-34.133333%2029.866666z%20m460.8-456.533333c-260.266667%200-473.6%20187.733333-473.6%20422.4%200%208.533333%208.533333%2012.8%2012.8%2012.8%208.533333%200%2012.8-4.266667%2017.066666-12.8%200-217.6%20200.533333-392.533333%20443.733334-392.533333%2072.533333%200%20136.533333%2017.066667%20196.266666%2051.2%2017.066667%208.533333%2029.866667%208.533333%2034.133334%204.266666%200%200%204.266667-8.533333-12.8-21.333333h-4.266667c-64-42.666667-102.4-64-213.333333-64z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhiwei1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhiwei1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M805.236364%20279.272727h-125.672728V209.454545c0-65.163636-46.545455-116.363636-102.4-116.363636H451.490909C390.981818%2093.090909%20344.436364%20144.290909%20344.436364%20209.454545V279.272727H218.763636C162.909091%20279.272727%20111.709091%20330.472727%20111.709091%20395.636364v372.363636c0%2065.163636%2046.545455%20116.363636%20102.4%20116.363636h586.472727c55.854545%200%20102.4-51.2%20102.4-116.363636v-372.363636c4.654545-65.163636-41.890909-116.363636-97.745454-116.363637z%20m-418.909091-69.818182c0-37.236364%2027.927273-69.818182%2065.163636-69.818181h125.672727c32.581818%200%2060.509091%2032.581818%2060.509091%2069.818181V279.272727H386.327273V209.454545zM218.763636%20842.472727c-32.581818%200-65.163636-32.581818-65.163636-69.818182v-372.363636C158.254545%20358.4%20186.181818%20325.818182%20218.763636%20325.818182h111.709091v516.654545H218.763636z%20m102.4%200V325.818182H698.181818v516.654545H321.163636z%20m544.581819-69.818182c0%2037.236364-27.927273%2069.818182-60.509091%2069.818182h-111.709091V325.818182h111.709091c32.581818%200%2060.509091%2032.581818%2060.509091%2069.818182v377.018181z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M805.236364%20902.981818H218.763636c-65.163636%200-116.363636-60.509091-116.363636-130.327273v-372.363636c0-74.472727%2051.2-130.327273%20116.363636-130.327273h111.709091V209.454545c0-74.472727%2051.2-130.327273%20116.363637-130.327272h125.672727c65.163636%200%20116.363636%2060.509091%20116.363636%20130.327272v55.854546h111.709091c65.163636%200%20116.363636%2060.509091%20116.363637%20130.327273v372.363636c4.654545%2074.472727-46.545455%20134.981818-111.709091%20134.981818zM218.763636%20293.236364c-51.2%200-93.090909%2046.545455-93.090909%20102.4v372.363636c0%2055.854545%2041.890909%20102.4%2093.090909%20102.4h586.472728c51.2%200%2093.090909-46.545455%2093.090909-102.4v-372.363636c0-55.854545-41.890909-102.4-93.090909-102.4h-139.636364V209.454545c0-55.854545-41.890909-102.4-93.090909-102.4H446.836364c-51.2%200-93.090909%2046.545455-93.090909%20102.4v83.781819H218.763636z%20m586.472728%20563.2H218.763636c-41.890909%200-74.472727-37.236364-74.472727-83.781819v-372.363636c0-46.545455%2032.581818-83.781818%2074.472727-83.781818h586.472728c41.890909%200%2079.127273%2037.236364%2079.127272%2083.781818v372.363636c0%2046.545455-37.236364%2083.781818-79.127272%2083.781819z%20m-93.090909-27.927273h93.090909c27.927273%200%2051.2-23.272727%2051.2-55.854546v-372.363636c0-32.581818-23.272727-55.854545-51.2-55.854545h-93.090909v484.072727z%20m-367.709091%200h335.127272V339.781818H344.436364v488.727273zM218.763636%20339.781818c-27.927273%200-51.2%2023.272727-51.2%2055.854546v372.363636c0%2032.581818%2023.272727%2055.854545%2051.2%2055.854545h93.090909V339.781818h-93.090909z%20m432.872728-46.545454H372.363636V209.454545c0-46.545455%2032.581818-83.781818%2074.472728-83.781818h125.672727c41.890909%200%2079.127273%2037.236364%2079.127273%2083.781818v83.781819z%20m-251.345455-27.927273h223.418182V209.454545c0-32.581818-23.272727-55.854545-51.2-55.854545H446.836364c-27.927273%200-51.2%2023.272727-51.2%2055.854545v55.854546z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M316.509091%20344.436364H372.363636v484.072727H316.509091z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M377.018182%20833.163636H311.854545V339.781818h69.818182v493.381818zM325.818182%20819.2h41.890909v-465.454545H325.818182v465.454545z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M651.636364%20344.436364h55.854545v484.072727H651.636364z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M712.145455%20833.163636h-69.818182V339.781818h69.818182v493.381818z%20m-51.2-13.963636h37.236363v-465.454545h-41.890909v465.454545z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weixuanzhong4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weixuanzhong4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.2224%200%200%20229.2224%200%20512s229.2224%20512%20512%20512%20512-229.2224%20512-512S794.7776%200%20512%200z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20966.2464a454.2464%20454.2464%200%201%201%200-908.4928%20454.2464%20454.2464%200%200%201%200%20908.4928z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xuanzhong12 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xuanzhong12%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.2224%200%200%20229.2224%200%20512s229.2224%20512%20512%20512%20512-229.2224%20512-512S794.7776%200%20512%200z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20966.2464a454.2464%20454.2464%200%201%201%200-908.4928%20454.2464%20454.2464%200%200%201%200%20908.4928z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M456.0384%20734.976c-14.2848%200-27.9552-5.632-38.144-15.872l-100.5568-100.5056-51.0976-49.2544a33.3824%2033.3824%200%200%201%2046.336-48.128l51.7632%2049.92%2090.0608%2090.0608%20252.928-357.7856a33.3824%2033.3824%200%201%201%2054.528%2038.5536l-261.6832%20370.176a53.8624%2053.8624%200%200%201-44.1344%2022.8352z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao5 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao5%22%20viewBox%3D%220%200%201142%201024%22%3E%3Cpath%20d%3D%22M1010.361108%201020.396308c70.262154%200%20127.133538-56.871385%20127.133538-127.133539V291.064123c-3.347692-66.906585-56.879262-120.438154-127.133538-120.438154h-3.347693c66.914462%200%20123.785846%2053.531569%20127.133539%20120.442093v602.202584c0%2070.258215-56.875323%20127.1296-127.133539%20127.1296h3.347693z%20m27.557415-752.789662l0.468677%200.496246-0.630154-0.582892c-6.994708-6.266092-16.466708-9.909169-27.395938-9.909169h-163.934523l-127.1296-157.239139%20127.133538%20153.895385h3.347692l-130.48123-153.895385-0.003939-0.007877-0.685292-0.976738c-6.888369-9.275077-19.719877-12.402215-29.420308-12.402215h-230.845046c-13.382892%200-23.422031%206.691446-30.109538%2013.378953L294.407877%20257.614769H130.473354v-0.015754c-23.414154%200-40.1408%2016.730585-40.1408%2040.148677v595.511139c0%2023.422031%2016.726646%2040.148677%2040.1408%2040.148677h879.891692c23.024246%200%2039.581538-16.175262%2040.125046-38.982893l0.015754-1.157907c2.875077%2020.160985-11.594831%2037.840738-30.613661%2042.369969%2019.077908-4.525292%2033.957415-22.205046%2033.957415-42.369969V297.747692c0-23.414154-20.066462-43.484554-43.488492-43.484554h-3.347693c11.894154%200%2022.929723%205.175138%2030.905108%2013.33957z%20m0.468677%200.496246l0.106338%200.098462c7.546092%207.140431%2012.012308%2017.455262%2012.012308%2029.550277l-0.015754-1.110646c-0.291446-10.732308-4.777354-20.692677-11.831138-28.258462l-0.271754-0.279631zM399.844431%2012.7488l-1.378462%200.638031c-12.6976%205.947077-24.536615%2013.887015-34.800246%2024.052184l-0.370215%200.374154a141.571938%20141.571938%200%200%201%2036.548923-25.064369zM685.8752%200h-0.039385c40.148677%200%2073.605908%2016.726646%20100.371693%2046.836185l103.715446%20120.442092h120.438154c70.262154%200%20127.133538%2053.523692%20130.477292%20123.785846v602.202585c-3.347692%2070.258215-60.219077%20130.481231-130.477292%20130.48123H130.473354C60.2112%201023.744%200%20966.8608%200%20893.262769V297.747692c3.347692-70.258215%2060.219077-130.473354%20130.473354-130.473354H250.919385l103.715446-123.785846C377.210092%2017.687631%20409.115569%201.213046%20444.349046%200.063015a33.437538%2033.437538%200%200%201%200.606523-0.063015h240.888123l1.902277%200.015754-1.870769-0.015754z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M568.745354%20354.630892c116.413046%200%20212.984123%2092.585354%20214.106584%20212.007385l0.011816%202.107077c3.308308%20115.928615-91.746462%20212.176738-210.510769%20214.086892l-3.607631%200.031508c-120.438154%200-214.114462-93.676308-214.114462-214.1184%200-58.549169%2024.253046-112.0768%2063.145354-150.969108l0.535631-0.531692%200.929477-0.933416%200.208738-0.208738a209.5616%20209.5616%200%200%201%20121.245539-59.651938%20216.134892%20216.134892%200%200%201%2028.049723-1.81957z%20m0%2086.984862c-69.698954%200-126.227692%2055.973415-127.117785%20125.459692l-0.011815-1.673846c0%2070.262154%2056.871385%20127.133538%20127.133538%20127.133538%2069.698954%200%20126.223754-55.981292%20127.117785-125.46363l0.007877%201.673846c0-70.262154-56.871385-127.1296-127.1296-127.1296z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucang%22%20viewBox%3D%220%200%201048%201024%22%3E%3Cpath%20d%3D%22M365.539202%20463.229623c17.747946%208.876021%20106.495868%2057.687992%20106.495868%20221.867757%200%208.876021%200%2017.747946-8.876021%2026.623967-8.871925%208.876021-17.747946%2013.311983-26.623967%2013.311984a39.772111%2039.772111%200%200%201-39.93595-39.935951c0-115.371889-53.247934-146.431818-62.119859-150.867781-17.752042-8.876021-26.623967-31.064025-22.188005-48.811971%204.435962-8.876021%208.876021-17.747946%2022.188005-22.188005%208.871925-4.435962%2022.183908-4.435962%2031.059929%200z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M569.654917%2010.622185a87.900051%2087.900051%200%200%201%2048.811972%2048.811971l102.059905%20212.991736%20235.175645%2035.499988c39.93595%204.435962%2070.999976%2031.059929%2084.311959%2070.99588%2013.311983%2035.499988%204.435962%2079.871901-26.623967%20106.495868l-173.055785%20173.055785%2039.93595%20239.615703c4.435962%2039.93595-8.876021%2079.871901-44.376009%20102.059906-17.747946%2013.311983-39.93595%2017.747946-62.119859%2017.747946-17.752042%200-35.499988-4.435962-48.811971-13.311984l-204.115715-106.495868-204.119811%20110.931831c-35.495892%2017.752042-79.871901%2017.752042-110.931831-4.435963-31.059929-22.188004-48.811971-62.123955-44.371912-102.059905l39.93595-239.615703-173.055785-173.055786C1.679686%20458.793661-7.196335%20418.85771%206.115648%20378.92176c13.311983-35.499988%2044.371913-62.123955%2084.307864-70.99588l235.17974-35.499988%20102.059905-212.991736c13.311983-26.623967%2035.495892-44.371913%2062.119859-53.247934s57.687992-8.876021%2079.871901%204.435963z%20m-44.371913%2066.559917c-13.311983%200-26.623967%208.876021-31.059929%2017.752042l-115.371889%20226.303719c-4.435962%2013.311983-13.311983%2017.747946-26.623967%2022.183909l-252.927686%2035.499988c-13.311983%200-22.188004%208.876021-26.623967%2022.188004-4.435962%2013.311983%200%2026.623967%208.876021%2035.495892l186.367768%20186.367769c8.871925%208.876021%2013.311983%2017.752042%208.871925%2031.064026L232.419367%20911.4011c0%2013.311983%204.435962%2026.623967%2013.311984%2031.059929%208.876021%208.876021%2026.623967%208.876021%2039.93595%200l221.867757-119.807851h13.311984c4.435962%200%2013.311983%200%2017.747946%204.440058l221.867757%20119.807852c13.311983%204.435962%2026.623967%204.435962%2039.93595%200l0.716799-0.720896%201.433599-1.44179c8.073206-8.179702%2015.237101-16.670699%2011.161586-28.90134l-44.376009-257.363649c0-13.311983%200-22.188004%208.876021-31.059929l186.367769-186.367769c8.876021-8.876021%2013.311983-22.188004%208.876021-35.499988-4.440058-13.311983-13.311983-22.188004-26.623967-22.188005l-252.927687-39.93595c-13.311983%200-22.188004-8.871925-26.623967-17.747946l-0.368639-0.753663c-1.376254-1.212414-2.428925-2.445309-3.047421-3.686396-7.004151-15.540205-13.688815-30.330842-20.053991-44.371913l-87.465875-181.92771c-4.435962-13.311983-17.747946-17.752042-31.05993-17.752042zM4.45677%20414.503668l-0.016384%200.729087c-0.229376%2024.006626%209.523188%2046.731206%2027.78723%2065.232815l0.511999%200.516095a96.70644%2096.70644%200%200%201-28.282845-66.477997z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M672.277912%204.632477c57.878135%2022.260821%20111.304106%2053.425971%20160.277913%2097.947613%2013.356493%2013.356493%2022.260821%2031.16515%2017.808657%2053.425971l-8.904329%2062.330299c-4.452164%2048.973807%2022.260821%2097.947613%2062.3303%20115.75627l53.42597%2026.712986c20.034739%208.013896%2032.856972%2023.240297%2038.466699%2042.429125l1.60278%206.544681c4.452164%2031.16515%208.904328%2062.330299%208.904328%2093.495449%200%2031.16515-4.452164%2062.330299-8.904328%2093.495449-4.452164%2022.260821-17.808657%2040.069478-35.617314%2048.973807l-53.425971%2026.712985c-44.521642%2022.260821-71.234628%2066.782464-62.330299%20115.75627l8.904328%2062.330299c0%2022.260821-4.452164%2040.069478-17.808657%2053.425971-44.521642%2044.521642-97.947613%2075.686792-155.825748%2097.947613-17.808657%208.904328-40.069478%204.452164-53.425971-8.904328l-53.425971-40.069478c-35.617314-26.712985-89.043285-26.712985-124.660598%200l-62.3303%2040.069478c-13.356493%208.904328-22.260821%2013.356493-35.617313%2013.356493-4.452164%200-13.356493%200-17.808657-4.452165-57.878135-22.260821-111.304106-53.425971-160.277913-97.947613-13.356493-13.356493-22.260821-31.16515-17.808657-53.425971l4.452164-66.782463c4.452164-48.973807-22.260821-97.947613-62.330299-115.75627l-53.425971-26.712986c-17.808657-4.452164-31.16515-22.260821-35.617313-44.521642-4.452164-31.16515-8.904328-62.330299-8.904329-93.495449%200-31.16515%204.452164-62.330299%208.904329-93.495449%204.452164-22.260821%2017.808657-40.069478%2035.617313-48.973806l53.425971-26.712986c44.521642-22.260821%2066.782464-66.782464%2062.330299-115.75627l-4.452164-62.330299c0-22.260821%204.452164-40.069478%2017.808657-53.425971%2044.521642-44.521642%2097.947613-75.686792%20155.825748-97.947613%2022.260821-8.904328%2040.069478-4.452164%2057.878135%208.904328l53.425971%2040.069478c35.617314%2026.712985%2089.043285%2026.712985%20124.660599%200l53.425971-40.069478c17.808657-13.356493%2035.617314-17.808657%2053.42597-8.904328z%20m-17.808656%2071.234628l-48.973807%2035.617314c-35.617314%2026.712985-80.138956%2040.069478-129.112763%2035.617313-26.712985%200-57.878135-13.356493-84.59112-35.617313l-44.521643-31.16515c-44.521642%2017.808657-84.59112%2044.521642-120.208434%2075.686792l8.904328%2053.425971c8.904328%2084.59112-35.617314%20160.277912-106.851941%20195.895226l-48.973807%2022.260821c-4.452164%2026.712985-4.452164%2053.425971-4.452164%2075.686792s0%2048.973807%204.452164%2075.686792l48.973807%2022.260821c71.234628%2035.617314%20115.75627%20111.304106%20106.851941%20195.895227l-4.452164%2057.878135c35.617314%2031.16515%2075.686792%2057.878135%20120.208435%2075.686792l48.973806-35.617314c26.712985-26.712985%2062.330299-40.069478%20102.399778-40.069478h22.260821c31.16515%204.452164%2062.330299%2017.808657%2089.043284%2040.069478l44.521643%2031.165149c44.521642-17.808657%2084.59112-44.521642%20120.208434-75.686792l-8.904328-53.42597c-8.904328-84.59112%2035.617314-160.277912%20106.851941-195.895227l48.973807-22.260821c4.452164-26.712985%204.452164-48.973807%204.452164-75.686792%200-22.260821%200-48.973807-4.452164-75.686792l-48.973807-22.260821c-71.234628-35.617314-115.75627-111.304106-106.851941-195.895226l4.452164-57.878135c-35.617314-31.16515-75.686792-57.878135-120.208434-75.686792z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M503.095672%20712.52659c-111.304106%200-204.799555-93.495449-204.799555-204.799555%200-111.304106%2093.495449-204.799555%20204.799555-204.799554%20111.304106%200%20204.799555%2093.495449%20204.799554%20204.799554%200%20111.304106-93.495449%20204.799555-204.799554%20204.799555z%20m0-329.460153c-66.782464%200-124.660599%2057.878135-124.660599%20124.660598%200%2066.782464%2057.878135%20124.660599%20124.660599%20124.660599%2066.782464%200%20124.660599-57.878135%20124.660598-124.660599%200-66.782464-57.878135-124.660599-124.660598-124.660598z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fankuiyujianyi1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fankuiyujianyi1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M926.72%20317.44l-35.84-20.48V128c0-35.84-15.36-66.56-35.84-92.16-30.72-20.48-61.44-35.84-97.28-35.84H235.52c-35.84%200-66.56%2015.36-92.16%2035.84-25.6%2025.6-35.84%2061.44-35.84%2092.16v168.96l-40.96%2020.48C25.6%20343.04%200%20384%200%20430.08v460.8c0%2035.84%2015.36%2066.56%2035.84%2092.16%2025.6%2025.6%2056.32%2040.96%2092.16%2040.96h737.28c35.84%200%2066.56-15.36%2092.16-35.84%2025.6-25.6%2035.84-56.32%2035.84-92.16v-460.8c5.12-51.2-25.6-92.16-66.56-117.76zM184.32%20128c0-10.24%205.12-25.6%2015.36-35.84%2010.24-10.24%2020.48-15.36%2035.84-15.36h522.24c25.6%200%2051.2%2020.48%2051.2%2051.2v312.32l-312.32%20184.32-312.32-184.32V128z%20m-97.28%20256c0-5.12%205.12-5.12%2010.24-10.24l25.6-15.36v61.44l-51.2-30.72%2015.36-5.12z%20m834.56%20512c-5.12%2025.6-25.6%2051.2-56.32%2051.2H128c-25.6%200-51.2-20.48-51.2-51.2V471.04l394.24%20225.28c5.12%205.12%2015.36%2010.24%2025.6%2010.24h10.24c10.24%200%2020.48-5.12%2025.6-10.24L921.6%20471.04v424.96z%20m-46.08-471.04V363.52l20.48%2010.24c5.12%205.12%2010.24%205.12%2010.24%2010.24l15.36%2010.24-46.08%2030.72z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M691.2%20399.36c10.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H337.92c-20.48%200-35.84%2020.48-35.84%2040.96s15.36%2035.84%2035.84%2040.96h317.44c15.36%200%2025.6-5.12%2035.84-20.48zM337.92%20276.48h322.56c15.36%200%2025.6-5.12%2035.84-20.48%2010.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H343.04c-20.48%200-35.84%2020.48-35.84%2040.96-5.12%2020.48%2010.24%2040.96%2030.72%2040.96z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m62.330435%20387.33913H71.234783v463.026087c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V387.33913z%20m-62.330435-307.2H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957v151.373913h859.269565V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M823.652174%20618.852174c8.904348%200%2013.356522%204.452174%2013.356522%2013.356522v48.973913c0%204.452174-4.452174%2013.356522-13.356522%2013.356521h-267.130435c-8.904348%200-13.356522-4.452174-13.356522-13.356521v-48.973913c0-8.904348%204.452174-13.356522%2013.356522-13.356522h267.130435z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongzuo2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongzuo2%22%20viewBox%3D%220%200%201126%201024%22%3E%3Cpath%20d%3D%22M943.3088%20897.6896H183.6032a45.3632%2045.3632%200%200%200-45.056%2045.056c0%2024.7296%2020.3776%2045.1584%2045.056%2045.1584h759.7056c24.7296%200%2045.1072-20.4288%2045.1072-45.1072a45.3632%2045.3632%200%200%200-45.056-45.1072zM1012.0192%200H114.3808A114.7904%20114.7904%200%200%200%200%20114.3808v552.448a114.7904%20114.7904%200%200%200%20114.3808%20114.3296h897.6384A114.7904%20114.7904%200%200%200%201126.4%20666.8288V114.3808A114.432%20114.432%200%200%200%201012.0192%200zM90.7264%20114.3808c0-12.9024%2010.752-23.6544%2023.6544-23.6544h897.6384c12.9024%200%2023.6544%2010.752%2023.6544%2023.6544v552.448c0%2012.9024-10.752%2023.6032-23.6544%2023.6032H114.3808a23.808%2023.808%200%200%201-23.6544-23.6032V114.3808z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.2544%20632.4736c0.5632%200%200.5632%200%200%200a44.1344%2044.1344%200%200%200%2032.256-13.4144L431.104%20493.9264h188.4672c11.776%200%2023.6032-4.8128%2031.6928-13.4144l235.6736-244.8384a44.3904%2044.3904%200%200%200%200-63.3344%2044.7488%2044.7488%200%200%200-31.6928-13.4144c-11.776%200-23.04%204.8128-31.6416%2013.4144l-222.8224%20231.424h-187.904a42.0864%2042.0864%200%200%200-31.6928%2013.4144L243.2%20555.1616l-2.1504%202.1504a43.9296%2043.9296%200%200%200%201.6384%2061.7472%2040.6016%2040.6016%200%200%200%2030.5664%2013.4144z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben5 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben5%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m0%2080.13913H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957V845.913043c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957zM405.147826%20663.373913v80.13913H155.826087l-4.452174-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913v-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913V262.678261h253.773913z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M672.278261%20338.365217c80.13913%200%20146.921739%2066.782609%20146.921739%20151.373913%200%2040.069565-17.808696%2075.686957-44.521739%20106.852174%2062.330435%2035.617391%2097.947826%20102.4%2097.947826%20173.634783%200%2017.808696-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617392-35.617391%200-71.234783-57.878261-133.565217-129.113043-133.565217-71.234783%200-129.113043%2057.878261-129.113044%20133.565217%200%2022.26087-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617391-35.617391%200-71.234783%2035.617391-138.017391%2097.947826-173.634783-26.713043-26.713043-44.521739-66.782609-44.521739-106.852174%200-84.591304%2066.782609-151.373913%20146.921739-151.373913zM667.826087%20414.052174c-40.069565%200-75.686957%2035.617391-75.686957%2075.686956%200%2040.069565%2031.165217%2075.686957%2075.686957%2075.686957s75.686957-35.617391%2075.686956-75.686957c0-40.069565-31.165217-75.686957-75.686956-75.686956z%22%20fill%3D%22%230DCC91%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fankuiyujianyi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fankuiyujianyi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M926.72%20317.44l-35.84-20.48V128c0-35.84-15.36-66.56-35.84-92.16-30.72-20.48-61.44-35.84-97.28-35.84H235.52c-35.84%200-66.56%2015.36-92.16%2035.84-25.6%2025.6-35.84%2061.44-35.84%2092.16v168.96l-40.96%2020.48C25.6%20343.04%200%20384%200%20430.08v460.8c0%2035.84%2015.36%2066.56%2035.84%2092.16%2025.6%2025.6%2056.32%2040.96%2092.16%2040.96h737.28c35.84%200%2066.56-15.36%2092.16-35.84%2025.6-25.6%2035.84-56.32%2035.84-92.16v-460.8c5.12-51.2-25.6-92.16-66.56-117.76zM184.32%20128c0-10.24%205.12-25.6%2015.36-35.84%2010.24-10.24%2020.48-15.36%2035.84-15.36h522.24c25.6%200%2051.2%2020.48%2051.2%2051.2v312.32l-312.32%20184.32-312.32-184.32V128z%20m-97.28%20256c0-5.12%205.12-5.12%2010.24-10.24l25.6-15.36v61.44l-51.2-30.72%2015.36-5.12z%20m834.56%20512c-5.12%2025.6-25.6%2051.2-56.32%2051.2H128c-25.6%200-51.2-20.48-51.2-51.2V471.04l394.24%20225.28c5.12%205.12%2015.36%2010.24%2025.6%2010.24h10.24c10.24%200%2020.48-5.12%2025.6-10.24L921.6%20471.04v424.96z%20m-46.08-471.04V363.52l20.48%2010.24c5.12%205.12%2010.24%205.12%2010.24%2010.24l15.36%2010.24-46.08%2030.72z%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M691.2%20399.36c10.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H337.92c-20.48%200-35.84%2020.48-35.84%2040.96s15.36%2035.84%2035.84%2040.96h317.44c15.36%200%2025.6-5.12%2035.84-20.48zM337.92%20276.48h322.56c15.36%200%2025.6-5.12%2035.84-20.48%2010.24-15.36%2010.24-30.72%200-40.96-10.24-15.36-20.48-20.48-35.84-20.48H343.04c-20.48%200-35.84%2020.48-35.84%2040.96-5.12%2020.48%2010.24%2040.96%2030.72%2040.96z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua9 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua9%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFE085%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M450.56%20261.12c51.2%2051.2%2051.2%20138.24%200%20189.44-7.68%207.68-17.92%2015.36-25.6%2020.48%2017.92%2028.16%2035.84%2051.2%2056.32%2071.68%2020.48%2020.48%2043.52%2038.4%2071.68%2056.32%205.12-7.68%2012.8-17.92%2020.48-25.6%2023.8848-23.8848%2054.4768-36.6336%2087.5776-38.2208l7.1424-0.1792c35.84%200%2069.12%2012.8%2092.16%2038.4%2051.2%2051.2%2051.2%20138.24%200%20189.44-23.04%2023.04-56.32%2038.4-92.16%2038.4H665.6c-102.4%200-202.24-46.08-299.52-143.36-99.84-99.84-145.92-199.68-143.36-304.64%202.56-35.84%2015.36-66.56%2038.4-92.16%2051.2-51.2%20138.24-51.2%20189.44%200z%20m-94.72%202.56c-25.6%200-48.64%2010.24-61.44%2028.16-17.92%2017.92-28.16%2038.4-28.16%2064-2.56%2094.72%2040.96%20184.32%20133.12%20276.48%2089.6%2089.6%20176.64%20133.12%20268.8%20133.12h2.56c23.04%200%2046.08-10.24%2064-28.16%2035.84-38.4%2035.84-97.28-2.56-135.68-17.92-17.92-40.96-28.16-66.56-28.16s-48.64%2010.24-66.56%2028.16c-7.68%207.68-15.36%2017.92-20.48%2033.28l-2.56%202.56-5.12%205.12h-2.56c-2.56%202.56-5.12%202.56-7.68%202.56h-10.24c-38.4-20.48-74.24-46.08-99.84-74.24-25.6-25.6-51.2-61.44-74.24-99.84v-17.92h7.68l7.68-7.68c12.8-5.12%2023.04-12.8%2033.28-20.48%2038.4-38.4%2038.4-94.72%200-133.12-20.48-17.92-43.52-28.16-69.12-28.16z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiyeweixin11 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiyeweixin11%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFE085%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.848%20271.7952c-57.984%206.5024-110.6688%2031.7696-148.48%2071.2192a200.6528%20200.6528%200%200%200-36.2752%2051.9168%20183.552%20183.552%200%200%200%2012.544%20182.5536c10.24%2015.8208%2027.1616%2035.5584%2042.5728%2049.5616l-6.9888%2055.8336-0.768%202.3296c-0.2304%200.7424-0.2304%201.5104-0.2816%202.2016l-0.1536%201.792%200.1536%201.792a18.176%2018.176%200%200%200%209.5488%2014.4896c5.376%202.816%2011.8016%202.6368%2016.9984-0.512h0.3072l1.0752-0.7936%2016.6912-8.448%2049.7152-25.472c23.6288%206.912%2048.128%2010.3424%2072.7296%2010.1888a255.5648%20255.5648%200%200%200%2089.1904-15.8208%2032.8704%2032.8704%200%200%201-21.9904-34.432%20215.6544%20215.6544%200%200%201-91.6992%209.3184l-4.9408-0.7168a224.384%20224.384%200%200%201-32.9472-6.9632%2022.2208%2022.2208%200%200%200-17.6896%201.8688l-1.3824%200.7168-40.9088%2024.4992-1.7408%201.1008c-0.9728%200.5632-1.4336%200.768-1.9712%200.768a2.688%202.688%200%200%201-1.8944-0.9216%202.8416%202.8416%200%200%201-0.6912-2.048l1.536-6.4%201.792-6.9888%202.9696-11.52%203.4048-12.8a17.5104%2017.5104%200%200%200-6.2208-19.456%20181.7088%20181.7088%200%200%201-41.2672-43.8272%20144.4352%20144.4352%200%200%201-10.112-143.8976%20162.944%20162.944%200%200%201%2029.1584-41.3952c31.0272-32.5888%2074.5984-53.3248%20122.88-58.6496a224.8192%20224.8192%200%200%201%2050.2784%200c47.9488%205.632%2091.392%2026.624%20122.2912%2059.0336a162.304%20162.304%200%200%201%2028.7744%2041.6512c9.472%2019.456%2014.4384%2040.9344%2014.4896%2062.72%200%202.2528-0.256%204.5056-0.3072%206.7072a31.8464%2031.8464%200%200%201%2039.7824%204.7872l1.4592%201.792a182.272%20182.272%200%200%200-17.7152-93.5424%20200.6272%20200.6272%200%200%200-35.8912-51.9168%20242.1248%20242.1248%200%200%200-147.968-71.808%20248.6272%20248.6272%200%200%200-60.032-0.512zM592%20653.2864a8.0896%208.0896%200%200%200%201.0496%2012.3904%20104.9344%20104.9344%200%200%201%2032.512%2062.976c5.1456%2018.2272%2023.9872%2028.928%2042.1888%2023.8848a34.048%2034.048%200%200%200%2024.1408-41.5744c0-0.0768-0.1024-0.1536-0.1024-0.3072a34.2528%2034.2528%200%200%200-29.5168-24.96%20105.2416%20105.2416%200%200%201-58.5728-32.512%208.448%208.448%200%200%200-11.6736%200.1024zM753.2544%20600.6784c-5.7856%201.536-11.0848%204.608-15.4112%208.9088h-0.0768a33.7152%2033.7152%200%200%200-9.8048%2020.48%20104.5504%20104.5504%200%200%201-32.4864%2058.2912%208.0896%208.0896%200%200%200-0.2304%2011.4176l0.0768%200.0768c3.2256%203.2768%208.448%203.328%2011.7248%200.0768a4.5568%204.5568%200%200%200%200.9472-1.2032%20105.3952%20105.3952%200%200%201%2063.1552-32.2304c8.704-2.304%2016.1792-7.9872%2020.7104-15.8208%204.5312-7.8592%205.76-17.1776%203.4304-25.9584a34.304%2034.304%200%200%200-42.0352-24.064v0.0256z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M627.584%20550.0928l-0.5632%200.5632a104.3712%20104.3712%200%200%201-63.8976%2033.3312%2033.8432%2033.8432%200%200%200-15.104%2056.96%2034.2016%2034.2016%200%200%200%2058.0608-20.48%20104.8064%20104.8064%200%200%201%2032.512-58.24%208.2176%208.2176%200%200%200%200.7424-11.392l-0.1024-0.1024a8.32%208.32%200%200%200-11.648-0.64zM666.368%20497.8176a33.9968%2033.9968%200%200%200-15.3856%2056.6016l0.384%200.4096c5.5808%205.504%2012.8256%208.9344%2020.5568%209.8048%2022.528%204.1216%2043.136%2015.488%2058.7264%2032.3584a8.192%208.192%200%201%200%2010.4704-12.4672%20104.7808%20104.7808%200%200%201-32.5376-62.9504%2034.2016%2034.2016%200%200%200-42.24-23.7568z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M672.277912%204.632477c57.878135%2022.260821%20111.304106%2053.425971%20160.277913%2097.947613%2013.356493%2013.356493%2022.260821%2031.16515%2017.808657%2053.425971l-8.904329%2062.330299c-4.452164%2048.973807%2022.260821%2097.947613%2062.3303%20115.75627l53.42597%2026.712986c20.034739%208.013896%2032.856972%2023.240297%2038.466699%2042.429125l1.60278%206.544681c4.452164%2031.16515%208.904328%2062.330299%208.904328%2093.495449%200%2031.16515-4.452164%2062.330299-8.904328%2093.495449-4.452164%2022.260821-17.808657%2040.069478-35.617314%2048.973807l-53.425971%2026.712985c-44.521642%2022.260821-71.234628%2066.782464-62.330299%20115.75627l8.904328%2062.330299c0%2022.260821-4.452164%2040.069478-17.808657%2053.425971-44.521642%2044.521642-97.947613%2075.686792-155.825748%2097.947613-17.808657%208.904328-40.069478%204.452164-53.425971-8.904328l-53.425971-40.069478c-35.617314-26.712985-89.043285-26.712985-124.660598%200l-62.3303%2040.069478c-13.356493%208.904328-22.260821%2013.356493-35.617313%2013.356493-4.452164%200-13.356493%200-17.808657-4.452165-57.878135-22.260821-111.304106-53.425971-160.277913-97.947613-13.356493-13.356493-22.260821-31.16515-17.808657-53.425971l4.452164-66.782463c4.452164-48.973807-22.260821-97.947613-62.330299-115.75627l-53.425971-26.712986c-17.808657-4.452164-31.16515-22.260821-35.617313-44.521642-4.452164-31.16515-8.904328-62.330299-8.904329-93.495449%200-31.16515%204.452164-62.330299%208.904329-93.495449%204.452164-22.260821%2017.808657-40.069478%2035.617313-48.973806l53.425971-26.712986c44.521642-22.260821%2066.782464-66.782464%2062.330299-115.75627l-4.452164-62.330299c0-22.260821%204.452164-40.069478%2017.808657-53.425971%2044.521642-44.521642%2097.947613-75.686792%20155.825748-97.947613%2022.260821-8.904328%2040.069478-4.452164%2057.878135%208.904328l53.425971%2040.069478c35.617314%2026.712985%2089.043285%2026.712985%20124.660599%200l53.425971-40.069478c17.808657-13.356493%2035.617314-17.808657%2053.42597-8.904328z%20m-17.808656%2071.234628l-48.973807%2035.617314c-35.617314%2026.712985-80.138956%2040.069478-129.112763%2035.617313-26.712985%200-57.878135-13.356493-84.59112-35.617313l-44.521643-31.16515c-44.521642%2017.808657-84.59112%2044.521642-120.208434%2075.686792l8.904328%2053.425971c8.904328%2084.59112-35.617314%20160.277912-106.851941%20195.895226l-48.973807%2022.260821c-4.452164%2026.712985-4.452164%2053.425971-4.452164%2075.686792s0%2048.973807%204.452164%2075.686792l48.973807%2022.260821c71.234628%2035.617314%20115.75627%20111.304106%20106.851941%20195.895227l-4.452164%2057.878135c35.617314%2031.16515%2075.686792%2057.878135%20120.208435%2075.686792l48.973806-35.617314c26.712985-26.712985%2062.330299-40.069478%20102.399778-40.069478h22.260821c31.16515%204.452164%2062.330299%2017.808657%2089.043284%2040.069478l44.521643%2031.165149c44.521642-17.808657%2084.59112-44.521642%20120.208434-75.686792l-8.904328-53.42597c-8.904328-84.59112%2035.617314-160.277912%20106.851941-195.895227l48.973807-22.260821c4.452164-26.712985%204.452164-48.973807%204.452164-75.686792%200-22.260821%200-48.973807-4.452164-75.686792l-48.973807-22.260821c-71.234628-35.617314-115.75627-111.304106-106.851941-195.895226l4.452164-57.878135c-35.617314-31.16515-75.686792-57.878135-120.208434-75.686792z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M503.095672%20712.52659c-111.304106%200-204.799555-93.495449-204.799555-204.799555%200-111.304106%2093.495449-204.799555%20204.799555-204.799554%20111.304106%200%20204.799555%2093.495449%20204.799554%20204.799554%200%20111.304106-93.495449%20204.799555-204.799554%20204.799555z%20m0-329.460153c-66.782464%200-124.660599%2057.878135-124.660599%20124.660598%200%2066.782464%2057.878135%20124.660599%20124.660599%20124.660599%2066.782464%200%20124.660599-57.878135%20124.660598-124.660599%200-66.782464-57.878135-124.660599-124.660598-124.660598z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongzuo1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongzuo1%22%20viewBox%3D%220%200%201126%201024%22%3E%3Cpath%20d%3D%22M943.3088%20897.6896H183.6032a45.3632%2045.3632%200%200%200-45.056%2045.056c0%2024.7296%2020.3776%2045.1584%2045.056%2045.1584h759.7056c24.7296%200%2045.1072-20.4288%2045.1072-45.1072a45.3632%2045.3632%200%200%200-45.056-45.1072zM1012.0192%200H114.3808A114.7904%20114.7904%200%200%200%200%20114.3808v552.448a114.7904%20114.7904%200%200%200%20114.3808%20114.3296h897.6384A114.7904%20114.7904%200%200%200%201126.4%20666.8288V114.3808A114.432%20114.432%200%200%200%201012.0192%200zM90.7264%20114.3808c0-12.9024%2010.752-23.6544%2023.6544-23.6544h897.6384c12.9024%200%2023.6544%2010.752%2023.6544%2023.6544v552.448c0%2012.9024-10.752%2023.6032-23.6544%2023.6032H114.3808a23.808%2023.808%200%200%201-23.6544-23.6032V114.3808z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.2544%20632.4736c0.5632%200%200.5632%200%200%200a44.1344%2044.1344%200%200%200%2032.256-13.4144L431.104%20493.9264h188.4672c11.776%200%2023.6032-4.8128%2031.6928-13.4144l235.6736-244.8384a44.3904%2044.3904%200%200%200%200-63.3344%2044.7488%2044.7488%200%200%200-31.6928-13.4144c-11.776%200-23.04%204.8128-31.6416%2013.4144l-222.8224%20231.424h-187.904a42.0864%2042.0864%200%200%200-31.6928%2013.4144L243.2%20555.1616l-2.1504%202.1504a43.9296%2043.9296%200%200%200%201.6384%2061.7472%2040.6016%2040.6016%200%200%200%2030.5664%2013.4144z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m0%2080.13913H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957V845.913043c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957zM405.147826%20663.373913v80.13913H155.826087l-4.452174-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913v-80.13913h253.773913z%20m0-200.347826v80.13913H151.373913V262.678261h253.773913z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M672.278261%20338.365217c80.13913%200%20146.921739%2066.782609%20146.921739%20151.373913%200%2040.069565-17.808696%2075.686957-44.521739%20106.852174%2062.330435%2035.617391%2097.947826%20102.4%2097.947826%20173.634783%200%2017.808696-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617392-35.617391%200-71.234783-57.878261-133.565217-129.113043-133.565217-71.234783%200-129.113043%2057.878261-129.113044%20133.565217%200%2022.26087-17.808696%2035.617391-35.617391%2035.617391-22.26087%200-35.617391-17.808696-35.617391-35.617391%200-71.234783%2035.617391-138.017391%2097.947826-173.634783-26.713043-26.713043-44.521739-66.782609-44.521739-106.852174%200-84.591304%2066.782609-151.373913%20146.921739-151.373913zM667.826087%20414.052174c-40.069565%200-75.686957%2035.617391-75.686957%2075.686956%200%2040.069565%2031.165217%2075.686957%2075.686957%2075.686957s75.686957-35.617391%2075.686956-75.686957c0-40.069565-31.165217-75.686957-75.686956-75.686956z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben4%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M868.173913%200c75.686957%200%20133.565217%2071.234783%20133.565217%20155.826087V845.913043c-4.452174%2089.043478-62.330435%20160.278261-138.017391%20160.278261H133.565217c-75.686957%200-133.565217-71.234783-133.565217-155.826087V155.826087C0%2071.234783%2057.878261%200%20133.565217%200h734.608696z%20m62.330435%20387.33913H71.234783v463.026087c0%2040.069565%2026.713043%2075.686957%2062.330434%2075.686957h734.608696c35.617391%200%2062.330435-35.617391%2062.330435-75.686957V387.33913z%20m-62.330435-307.2H133.565217c-35.617391%200-62.330435%2035.617391-62.330434%2075.686957v151.373913h859.269565V155.826087c0-40.069565-26.713043-75.686957-62.330435-75.686957z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M823.652174%20618.852174c8.904348%200%2013.356522%204.452174%2013.356522%2013.356522v48.973913c0%204.452174-4.452174%2013.356522-13.356522%2013.356521h-267.130435c-8.904348%200-13.356522-4.452174-13.356522-13.356521v-48.973913c0-8.904348%204.452174-13.356522%2013.356522-13.356522h267.130435z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao4 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao4%22%20viewBox%3D%220%200%201142%201024%22%3E%3Cpath%20d%3D%22M685.843237%200c36.79889%200%2073.59778%2016.727306%2097.013642%2046.837642l103.719953%20123.785618h120.435422c66.915145%200%20123.785618%2053.532116%20127.135815%20120.441341v602.200786c0%2070.259422-56.876393%20127.129896-127.135815%20127.129896H130.474173c-70.259422%200-127.129896-56.870474-127.129896-127.129896V297.753156c0-70.259422%2056.876393-127.129896%20127.129896-127.129896h120.441341L354.629549%2046.837642C378.051329%2020.071584%20411.505942%203.344277%20444.954636%200h240.888601z%20m0%2083.636532h-230.843931c-13.383029%200-23.42178%206.688555-33.460531%2016.733225l-130.474174%20153.895954h-160.584509c-23.42178%200-43.493364%2020.065665-43.493364%2043.487445v595.512231c0%2023.42178%2020.071584%2043.493364%2043.487445%2043.493364h879.888278c23.415861%200%2043.487445-20.071584%2043.487445-43.493364V297.753156c0-23.415861-20.065665-43.487445-43.487445-43.487445h-160.584509l-130.480092-153.895954c-6.688555-10.038751-20.077503-16.733225-33.454613-16.733225z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1010.362451%201023.74548H130.474173c-70.259422%200-130.474173-56.882312-130.474173-130.480093V297.753156c3.344277-70.259422%2060.220671-130.474173%20130.474173-130.474173h120.441341L354.629549%2043.493364C378.051329%2016.727306%20411.505942%200%20448.304832%200h237.532486c40.149087%200%2073.603699%2016.727306%20100.369757%2046.837642l103.714035%20120.441341h120.441341c70.259422%200%20127.129896%2053.526197%20130.474173%20123.785618v602.200786c-3.344277%2070.259422-60.220671%20130.480092-130.474173%20130.480093zM130.474173%20170.629179c-70.259422%200-127.129896%2056.870474-127.129896%20127.123977v595.512231c0%2070.259422%2056.876393%20127.129896%20127.129896%20127.129896h879.888278c70.259422%200%20127.129896-56.870474%20127.129896-127.129896V291.058682c-3.344277-66.903306-56.876393-120.435422-127.129896-120.435422h-123.785619L782.856879%2046.837642C759.441017%2016.727306%20722.642127%200%20685.843237%200H448.310751c-33.460532%203.344277-66.915145%2016.727306-90.336924%2043.493364L254.265711%20170.62326H130.474173zM1010.362451%20936.752832H130.474173c-23.415861%200-43.487445-20.071584-43.487445-43.493364V297.753156c0-23.415861%2020.071584-43.487445%2043.487445-43.487445h160.584509l130.480093-153.895954c10.038751-10.038751%2020.077503-16.733225%2033.460531-16.733225h230.843931c13.37711%200%2026.760139%206.688555%2033.454613%2016.733225l127.129896%20153.895954h160.584508c23.42178%200%2043.493364%2020.065665%2043.493364%2043.487445v595.512231c3.344277%2023.42178-16.727306%2043.493364-40.143167%2043.493364zM130.474173%20257.59815c-23.415861%200-40.143168%2016.733225-40.143167%2040.149087v595.512231c0%2023.42178%2016.727306%2040.149087%2040.143167%2040.149087h879.888278c23.415861%200%2040.143168-16.727306%2040.143167-40.149087V297.753156c0-23.415861-16.727306-40.143168-40.143167-40.143168H846.427746l-127.129896-157.240231c-6.688555-10.038751-20.077503-13.383029-30.110336-13.383029h-230.84393c-13.383029%200-23.42178%206.688555-30.110335%2013.37711L294.408879%20257.615908H130.474173z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M568.746173%20354.629549c117.097064%200%20214.116624%2093.675283%20214.116625%20214.116624%200%20117.097064-93.675283%20214.116624-214.116625%20214.116625s-214.116624-93.675283-214.116624-214.116625c3.344277-120.441341%2097.019561-214.116624%20214.116624-214.116624z%20m0%2083.636532c-70.259422%200-127.129896%2056.882312-127.129896%20127.135815%200%2070.259422%2056.870474%20127.129896%20127.129896%20127.129896%2070.259422%200%20127.129896-56.876393%20127.129896-127.129896%203.344277-70.259422-53.526197-127.135815-127.129896-127.135815z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M568.746173%20782.856879c-117.097064%200-214.116624-97.013642-214.116624-214.110706s97.019561-214.116624%20214.116624-214.116624%20214.116624%2097.019561%20214.116625%20214.116624c3.344277%20117.097064-93.675283%20214.116624-214.116625%20214.116625z%20m0-428.22733c-117.097064%200-210.772347%2093.675283-210.772346%20210.772347%200%20117.091145%2093.675283%20210.766428%20210.772346%20210.766428s210.772347-93.675283%20210.772347-210.766428c0-117.097064-93.675283-210.772347-210.772347-210.772347z%20m0%20341.24652c-70.259422%200-130.480092-56.870474-130.480092-130.474173%200-73.603699%2056.882312-130.480092%20130.480092-130.480093%2073.603699%200%20130.474173%2056.876393%20130.474174%20130.480093s-56.870474%20130.474173-130.474174%20130.474173z%20m0-254.259792c-70.259422%200-127.129896%2056.870474-127.129896%20127.129896%200%2070.259422%2056.870474%20127.129896%20127.129896%20127.129896%2070.259422%200%20127.129896-56.870474%20127.129896-127.129896%200-70.259422-56.870474-127.129896-127.129896-127.129896z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiyeweixin1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiyeweixin1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23E7F2FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.848%20271.7952c-57.984%206.5024-110.6688%2031.7696-148.48%2071.2192a200.6528%20200.6528%200%200%200-36.2752%2051.9168%20183.552%20183.552%200%200%200%2012.544%20182.5536c10.24%2015.8208%2027.1616%2035.5584%2042.5728%2049.5616l-6.9888%2055.8336-0.768%202.3296c-0.2304%200.7424-0.2304%201.5104-0.2816%202.2016l-0.1536%201.792%200.1536%201.792a18.176%2018.176%200%200%200%209.5488%2014.4896c5.376%202.816%2011.8016%202.6368%2016.9984-0.512h0.3072l1.0752-0.7936%2016.6912-8.448%2049.7152-25.472c23.6288%206.912%2048.128%2010.3424%2072.7296%2010.1888a255.5648%20255.5648%200%200%200%2089.1904-15.8208%2032.8704%2032.8704%200%200%201-21.9904-34.432%20215.6544%20215.6544%200%200%201-91.6992%209.3184l-4.9408-0.7168a224.384%20224.384%200%200%201-32.9472-6.9632%2022.2208%2022.2208%200%200%200-17.6896%201.8688l-1.3824%200.7168-40.9088%2024.4992-1.7408%201.1008c-0.9728%200.5632-1.4336%200.768-1.9712%200.768a2.688%202.688%200%200%201-1.8944-0.9216%202.8416%202.8416%200%200%201-0.6912-2.048l1.536-6.4%201.792-6.9888%202.9696-11.52%203.4048-12.8a17.5104%2017.5104%200%200%200-6.2208-19.456%20181.7088%20181.7088%200%200%201-41.2672-43.8272%20144.4352%20144.4352%200%200%201-10.112-143.8976%20162.944%20162.944%200%200%201%2029.1584-41.3952c31.0272-32.5888%2074.5984-53.3248%20122.88-58.6496a224.8192%20224.8192%200%200%201%2050.2784%200c47.9488%205.632%2091.392%2026.624%20122.2912%2059.0336a162.304%20162.304%200%200%201%2028.7744%2041.6512c9.472%2019.456%2014.4384%2040.9344%2014.4896%2062.72%200%202.2528-0.256%204.5056-0.3072%206.7072a31.8464%2031.8464%200%200%201%2039.7824%204.7872l1.4592%201.792a182.272%20182.272%200%200%200-17.7152-93.5424%20200.6272%20200.6272%200%200%200-35.8912-51.9168%20242.1248%20242.1248%200%200%200-147.968-71.808%20248.6272%20248.6272%200%200%200-60.032-0.512zM592%20653.2864a8.0896%208.0896%200%200%200%201.0496%2012.3904%20104.9344%20104.9344%200%200%201%2032.512%2062.976c5.1456%2018.2272%2023.9872%2028.928%2042.1888%2023.8848a34.048%2034.048%200%200%200%2024.1408-41.5744c0-0.0768-0.1024-0.1536-0.1024-0.3072a34.2528%2034.2528%200%200%200-29.5168-24.96%20105.2416%20105.2416%200%200%201-58.5728-32.512%208.448%208.448%200%200%200-11.6736%200.1024zM753.2544%20600.6784c-5.7856%201.536-11.0848%204.608-15.4112%208.9088h-0.0768a33.7152%2033.7152%200%200%200-9.8048%2020.48%20104.5504%20104.5504%200%200%201-32.4864%2058.2912%208.0896%208.0896%200%200%200-0.2304%2011.4176l0.0768%200.0768c3.2256%203.2768%208.448%203.328%2011.7248%200.0768a4.5568%204.5568%200%200%200%200.9472-1.2032%20105.3952%20105.3952%200%200%201%2063.1552-32.2304c8.704-2.304%2016.1792-7.9872%2020.7104-15.8208%204.5312-7.8592%205.76-17.1776%203.4304-25.9584a34.304%2034.304%200%200%200-42.0352-24.064v0.0256z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M627.584%20550.0928l-0.5632%200.5632a104.3712%20104.3712%200%200%201-63.8976%2033.3312%2033.8432%2033.8432%200%200%200-15.104%2056.96%2034.2016%2034.2016%200%200%200%2058.0608-20.48%20104.8064%20104.8064%200%200%201%2032.512-58.24%208.2176%208.2176%200%200%200%200.7424-11.392l-0.1024-0.1024a8.32%208.32%200%200%200-11.648-0.64zM666.368%20497.8176a33.9968%2033.9968%200%200%200-15.3856%2056.6016l0.384%200.4096c5.5808%205.504%2012.8256%208.9344%2020.5568%209.8048%2022.528%204.1216%2043.136%2015.488%2058.7264%2032.3584a8.192%208.192%200%201%200%2010.4704-12.4672%20104.7808%20104.7808%200%200%201-32.5376-62.9504%2034.2016%2034.2016%200%200%200-42.24-23.7568z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23E7F2FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M448%20263.68c51.2%2051.2%2051.2%20133.12%200%20184.32-10.24%2010.24-20.48%2017.92-28.16%2023.04%2017.92%2028.16%2038.4%2056.32%2058.88%2076.8%2020.48%2020.48%2046.08%2040.96%2076.8%2058.88%205.12-10.24%2012.8-17.92%2023.04-28.16%2023.8848-23.8848%2052.224-36.6336%2085.0688-38.2208l7.0912-0.1792c33.28%200%2066.56%2012.8%2089.6%2035.84%2051.2%2051.2%2051.2%20133.12%200%20184.32-23.04%2023.04-53.76%2035.84-89.6%2038.4H665.6c-102.4%200-199.68-46.08-296.96-143.36-97.28-99.84-145.92-199.68-143.36-302.08%201.9456-27.2128%209.8048-51.4816%2023.552-71.68%200.8448-1.2544%201.7408-2.4832%202.6368-3.712A129.792%20129.792%200%200%201%20448%20263.68z%20m-92.16-5.12c-25.6%200-51.2%2010.24-66.56%2030.72-17.92%2017.92-28.16%2040.96-28.16%2066.56-2.56%2094.72%2040.96%20186.88%20133.12%20279.04%2089.6%2089.6%20179.2%20133.12%20273.92%20133.12h2.56c23.04%200%2046.08-10.24%2066.56-28.16%2038.4-38.4%2035.84-102.4-2.56-140.8s-99.84-38.4-138.24%200c-10.24%207.68-15.36%2017.92-23.04%2033.28v2.56l-5.12%205.12h-12.8l-4.5824-2.56H550.4a440.1408%20440.1408%200%200%201-88.6016-63.3088l-4.7616-4.5824a627.8144%20627.8144%200%200%201-1.3568-1.2288l-1.3568-1.3568-1.2032-1.2032c-25.0368-25.0368-46.0288-54.1184-64.768-85.4272l-6.912-11.8528V460.8c2.56%200%202.56-2.56%202.56-2.56v-2.56l7.68-7.68c12.8-5.12%2025.6-12.8%2033.28-23.04%2038.4-38.4%2038.4-99.84%200-138.24-17.92-17.92-43.52-28.16-69.12-28.16z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongzuo { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongzuo%22%20viewBox%3D%220%200%201126%201024%22%3E%3Cpath%20d%3D%22M943.3088%20897.6896H183.6032a45.3632%2045.3632%200%200%200-45.056%2045.056c0%2024.7296%2020.3776%2045.1584%2045.056%2045.1584h759.7056c24.7296%200%2045.1072-20.4288%2045.1072-45.1072a45.3632%2045.3632%200%200%200-45.056-45.1072zM1012.0192%200H114.3808A114.7904%20114.7904%200%200%200%200%20114.3808v552.448a114.7904%20114.7904%200%200%200%20114.3808%20114.3296h897.6384A114.7904%20114.7904%200%200%200%201126.4%20666.8288V114.3808A114.432%20114.432%200%200%200%201012.0192%200zM90.7264%20114.3808c0-12.9024%2010.752-23.6544%2023.6544-23.6544h897.6384c12.9024%200%2023.6544%2010.752%2023.6544%2023.6544v552.448c0%2012.9024-10.752%2023.6032-23.6544%2023.6032H114.3808a23.808%2023.808%200%200%201-23.6544-23.6032V114.3808z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.2544%20632.4736c0.5632%200%200.5632%200%200%200a44.1344%2044.1344%200%200%200%2032.256-13.4144L431.104%20493.9264h188.4672c11.776%200%2023.6032-4.8128%2031.6928-13.4144l235.6736-244.8384a44.3904%2044.3904%200%200%200%200-63.3344%2044.7488%2044.7488%200%200%200-31.6928-13.4144c-11.776%200-23.04%204.8128-31.6416%2013.4144l-222.8224%20231.424h-187.904a42.0864%2042.0864%200%200%200-31.6928%2013.4144L243.2%20555.1616l-2.1504%202.1504a43.9296%2043.9296%200%200%200%201.6384%2061.7472%2040.6016%2040.6016%200%200%200%2030.5664%2013.4144z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiyeweixin { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiyeweixin%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFF1EC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.848%20271.7952c-57.984%206.5024-110.6688%2031.7696-148.48%2071.2192a200.6528%20200.6528%200%200%200-36.2752%2051.9168%20183.552%20183.552%200%200%200%2012.544%20182.5536c10.24%2015.8208%2027.1616%2035.5584%2042.5728%2049.5616l-6.9888%2055.8336-0.768%202.3296c-0.2304%200.7424-0.2304%201.5104-0.2816%202.2016l-0.1536%201.792%200.1536%201.792a18.176%2018.176%200%200%200%209.5488%2014.4896c5.376%202.816%2011.8016%202.6368%2016.9984-0.512h0.3072l1.0752-0.7936%2016.6912-8.448%2049.7152-25.472c23.6288%206.912%2048.128%2010.3424%2072.7296%2010.1888a255.5648%20255.5648%200%200%200%2089.1904-15.8208%2032.8704%2032.8704%200%200%201-21.9904-34.432%20215.6544%20215.6544%200%200%201-91.6992%209.3184l-4.9408-0.7168a224.384%20224.384%200%200%201-32.9472-6.9632%2022.2208%2022.2208%200%200%200-17.6896%201.8688l-1.3824%200.7168-40.9088%2024.4992-1.7408%201.1008c-0.9728%200.5632-1.4336%200.768-1.9712%200.768a2.688%202.688%200%200%201-1.8944-0.9216%202.8416%202.8416%200%200%201-0.6912-2.048l1.536-6.4%201.792-6.9888%202.9696-11.52%203.4048-12.8a17.5104%2017.5104%200%200%200-6.2208-19.456%20181.7088%20181.7088%200%200%201-41.2672-43.8272%20144.4352%20144.4352%200%200%201-10.112-143.8976%20162.944%20162.944%200%200%201%2029.1584-41.3952c31.0272-32.5888%2074.5984-53.3248%20122.88-58.6496a224.8192%20224.8192%200%200%201%2050.2784%200c47.9488%205.632%2091.392%2026.624%20122.2912%2059.0336a162.304%20162.304%200%200%201%2028.7744%2041.6512c9.472%2019.456%2014.4384%2040.9344%2014.4896%2062.72%200%202.2528-0.256%204.5056-0.3072%206.7072a31.8464%2031.8464%200%200%201%2039.7824%204.7872l1.4592%201.792a182.272%20182.272%200%200%200-17.7152-93.5424%20200.6272%20200.6272%200%200%200-35.8912-51.9168%20242.1248%20242.1248%200%200%200-147.968-71.808%20248.6272%20248.6272%200%200%200-60.032-0.512zM592%20653.2864a8.0896%208.0896%200%200%200%201.0496%2012.3904%20104.9344%20104.9344%200%200%201%2032.512%2062.976c5.1456%2018.2272%2023.9872%2028.928%2042.1888%2023.8848a34.048%2034.048%200%200%200%2024.1408-41.5744c0-0.0768-0.1024-0.1536-0.1024-0.3072a34.2528%2034.2528%200%200%200-29.5168-24.96%20105.2416%20105.2416%200%200%201-58.5728-32.512%208.448%208.448%200%200%200-11.6736%200.1024zM753.2544%20600.6784c-5.7856%201.536-11.0848%204.608-15.4112%208.9088h-0.0768a33.7152%2033.7152%200%200%200-9.8048%2020.48%20104.5504%20104.5504%200%200%201-32.4864%2058.2912%208.0896%208.0896%200%200%200-0.2304%2011.4176l0.0768%200.0768c3.2256%203.2768%208.448%203.328%2011.7248%200.0768a4.5568%204.5568%200%200%200%200.9472-1.2032%20105.3952%20105.3952%200%200%201%2063.1552-32.2304c8.704-2.304%2016.1792-7.9872%2020.7104-15.8208%204.5312-7.8592%205.76-17.1776%203.4304-25.9584a34.304%2034.304%200%200%200-42.0352-24.064v0.0256z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M627.584%20550.0928l-0.5632%200.5632a104.3712%20104.3712%200%200%201-63.8976%2033.3312%2033.8432%2033.8432%200%200%200-15.104%2056.96%2034.2016%2034.2016%200%200%200%2058.0608-20.48%20104.8064%20104.8064%200%200%201%2032.512-58.24%208.2176%208.2176%200%200%200%200.7424-11.392l-0.1024-0.1024a8.32%208.32%200%200%200-11.648-0.64zM666.368%20497.8176a33.9968%2033.9968%200%200%200-15.3856%2056.6016l0.384%200.4096c5.5808%205.504%2012.8256%208.9344%2020.5568%209.8048%2022.528%204.1216%2043.136%2015.488%2058.7264%2032.3584a8.192%208.192%200%201%200%2010.4704-12.4672%20104.7808%20104.7808%200%200%201-32.5376-62.9504%2034.2016%2034.2016%200%200%200-42.24-23.7568z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocaiTV { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocaiTV%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M843.915636%20296.587636c44.032%200%2082.385455%2034.071273%2082.385455%2073.867637v515.723636c0%2039.796364-38.353455%2073.867636-82.385455%2073.867636H146.338909c-44.032%200-82.385455-34.071273-82.385454-73.867636V370.501818c0-39.796364%2038.353455-73.867636%2082.385454-73.867636H843.869091m0-63.953455H146.338909C65.349818%20232.634182%200%20293.748364%200%20370.501818v515.723637C0%20961.489455%2065.349818%201024%20146.338909%201024H843.869091c80.989091%200%20146.338909-61.114182%20146.338909-137.774545V370.501818c0-76.8-65.349818-137.867636-146.338909-137.867636z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M348.066909%20276.712727a30.254545%2030.254545%200%200%201-22.714182-9.960727L112.174545%2055.063273c-12.753455-12.8-12.753455-34.117818%200-45.474909%2012.8-12.8%2034.117818-12.8%2045.47491%200l213.131636%20211.688727c12.753455%2012.8%2012.753455%2034.117818%200%2045.474909a28.253091%2028.253091%200%200%201-22.760727%209.960727z%20m294.120727%200a32.442182%2032.442182%200%200%201-26.996363-14.242909c-11.357091-15.592727-7.121455-34.071273%207.074909-45.428363l201.774545-140.660364c15.639273-11.403636%2034.071273-7.121455%2045.474909%207.074909%2011.357091%2015.639273%207.074909%2034.117818-7.121454%2045.474909l-201.728%20140.660364a29.928727%2029.928727%200%200%201-18.478546%207.121454z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M431.476364%20788.712727l222.347636-121.576727a46.545455%2046.545455%200%200%200%200-81.687273L431.522909%20463.872a46.545455%2046.545455%200%200%200-68.887273%2040.820364v243.2a46.545455%2046.545455%200%200%200%2068.887273%2040.820363z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shangjiaguanli { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shangjiaguanli%22%20viewBox%3D%220%200%201072%201024%22%3E%3Cpath%20d%3D%22M1072.76288%20382.293333a37.64419%2037.64419%200%200%200-2.194286-12.629333l-107.129904-299.641905A105.667048%20105.667048%200%200%200%20864.061928%200H207.872975C163.353356%200%20123.368594%2028.233143%20108.447451%2070.265905L2.146499%20369.712762A37.059048%2037.059048%200%200%200%200.000975%20382.293333c0%2070.41219%2043.544381%20130.82819%20105.179429%20155.794286v338.797714a110.884571%20110.884571%200%200%200%20110.738286%20110.787048h653.312a110.884571%20110.884571%200%200%200%20110.787047-110.787048v-344.454095A168.17981%20168.17981%200%200%200%201072.76288%20382.293333z%20m-167.448381%20494.543238c0%2019.894857-16.14019%2035.986286-36.035048%2035.986286H215.91869a36.035048%2036.035048%200%200%201-35.986286-35.986286v-326.997333a168.228571%20168.228571%200%200%200%20110.884571-53.101714%20168.228571%20168.228571%200%200%200%20122.782476%2053.638095%20168.228571%20168.228571%200%200%200%20122.782477-53.638095%20168.228571%20168.228571%200%200%200%20122.782476%2053.638095%20168.228571%20168.228571%200%200%200%20122.782476-53.638095%20168.17981%20168.17981%200%200%200%20122.782476%2053.638095h0.585143v326.460952z%20m-0.633905-401.310476a93.622857%2093.622857%200%200%201-87.625143-61.635047%2037.400381%2037.400381%200%200%200-70.314666%200%2093.476571%2093.476571%200%200%201-87.625143%2061.635047%2093.525333%2093.525333%200%200%201-87.673905-61.635047%2037.400381%2037.400381%200%200%200-70.217143%200A93.476571%2093.476571%200%200%201%20413.501928%20475.526095a93.622857%2093.622857%200%200%201-87.673905-61.635047%2037.400381%2037.400381%200%200%200-70.265905%200%2093.476571%2093.476571%200%200%201-87.673905%2061.635047A93.379048%2093.379048%200%200%201%2074.899261%20388.144762l103.862857-292.961524a30.817524%2030.817524%200%200%201%2029.062095-20.48h656.188953c12.970667%200%2024.576%208.240762%2028.964571%2020.48l104.789333%20293.010286a93.330286%2093.330286%200%200%201-93.086476%2087.283809z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M786.04288%20252.099048H286.672213a37.400381%2037.400381%200%200%200%200%2074.752h499.468191a37.400381%2037.400381%200%200%200%200-74.752z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodetuandui { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodetuandui%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M349.928727%2093.090909C238.638545%2093.090909%20146.897455%20184.785455%20146.897455%20296.122182a202.519273%20202.519273%200%200%200%20203.031272%20203.031273c111.290182%200%20203.031273-91.694545%20203.031273-203.031273A203.310545%20203.310545%200%200%200%20349.928727%2093.090909z%20m0%20325.352727a122.647273%20122.647273%200%200%201-122.274909-122.321454%20122.647273%20122.647273%200%200%201%20122.274909-122.321455%20122.647273%20122.647273%200%200%201%20122.321455%20122.321455A121.902545%20121.902545%200%200%201%20349.928727%20418.443636z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M675.281455%20500.363636c111.290182%200%20203.031273-91.694545%20203.031272-203.031272a202.519273%20202.519273%200%200%200-203.031272-203.031273%2040.727273%2040.727273%200%200%200-40.35491%2040.354909c0%2022.016%2018.338909%2040.401455%2040.35491%2040.401455a122.647273%20122.647273%200%200%201%20122.321454%20122.274909%20122.647273%20122.647273%200%200%201-122.321454%20122.321454%2040.727273%2040.727273%200%200%200-40.35491%2040.354909c0%2022.016%2017.128727%2040.354909%2040.35491%2040.354909z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M890.554182%20934.586182a40.727273%2040.727273%200%200%200%2040.354909-40.354909v-162.676364a149.829818%20149.829818%200%200%200-149.224727-149.224727h-53.806546a40.727273%2040.727273%200%200%200-40.354909%2040.354909c0%2022.016%2018.338909%2040.354909%2040.354909%2040.354909h53.806546c37.934545%200%2067.258182%2030.580364%2067.258181%2067.304727v162.629818c1.256727%2023.272727%2019.549091%2041.611636%2041.611637%2041.611637z%20m-324.142546%200a40.727273%2040.727273%200%200%200%2040.354909-40.354909v-162.676364a149.829818%20149.829818%200%200%200-149.178181-149.224727H242.315636c-81.92%200-148.014545%2067.258182-149.224727%20149.224727v162.676364c0%2022.016%2018.338909%2040.354909%2040.354909%2040.354909a40.727273%2040.727273%200%200%200%2040.354909-40.354909v-162.676364c0-37.934545%2030.580364-67.258182%2067.304728-68.514909h216.436363c37.934545%200%2067.304727%2030.580364%2067.304727%2067.304727v162.629818c1.210182%2023.272727%2019.549091%2041.611636%2041.565091%2041.611637z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M587.776%20175.166061c24.824242%200%2049.648485%2012.412121%2065.163636%2031.030303l71.369697%2080.678788h80.678788c46.545455%200%2083.781818%2037.236364%2083.781818%2080.678787v400.290909c0%2046.545455-37.236364%2083.781818-83.781818%2083.781819h-586.472727c-46.545455%200-83.781818-37.236364-83.781818-83.781819v-394.084848c0-46.545455%2037.236364-83.781818%2083.781818-83.781818h80.678788l71.369697-83.781818c15.515152-18.618182%2037.236364-31.030303%2058.957576-31.030303H587.776z%20m0%2055.854545h-155.151515c-6.206061%200-15.515152%203.10303-18.618182%2012.412121l-86.884848%20102.4h-108.606061c-15.515152%200-27.927273%2012.412121-27.927273%2027.927273v397.187879c0%2015.515152%2012.412121%2027.927273%2027.927273%2027.927273h583.369697c15.515152%200%2027.927273-12.412121%2027.927273-27.927273v-397.187879c0-15.515152-12.412121-27.927273-27.927273-27.927273h-108.606061l-86.884848-102.4c0-9.309091-9.309091-12.412121-18.618182-12.412121z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M804.988121%20854.729697h-586.472727c-46.545455%200-86.884848-37.236364-86.884849-86.884849v-394.084848c0-46.545455%2037.236364-86.884848%2086.884849-86.884848h80.678788l68.266666-80.678788c15.515152-18.618182%2037.236364-31.030303%2062.060607-31.030303h161.357575c24.824242%200%2049.648485%2012.412121%2065.163637%2031.030303l68.266666%2080.678788h80.678788c46.545455%200%2083.781818%2037.236364%2086.884849%2083.781818v400.290909c0%2046.545455-40.339394%2083.781818-86.884849%2083.781818z%20m-586.472727-564.751515c-43.442424%200-83.781818%2037.236364-83.781818%2083.781818v397.187879c0%2046.545455%2037.236364%2083.781818%2083.781818%2083.781818h583.369697c46.545455%200%2083.781818-37.236364%2083.781818-83.781818v-400.290909c-3.10303-43.442424-37.236364-80.678788-83.781818-80.678788h-80.678788l-68.266667-83.781818c-15.515152-18.618182-40.339394-31.030303-65.163636-31.030303h-158.254545c-21.721212%200-43.442424%2012.412121-58.957576%2031.030303l-68.266667%2083.781818h-83.781818z%20m586.472727%20508.89697h-586.472727c-15.515152%200-31.030303-12.412121-31.030303-31.030304v-394.084848c0-15.515152%2012.412121-31.030303%2031.030303-31.030303h105.50303l86.884849-102.4c6.206061-6.206061%2015.515152-9.309091%2021.721212-9.309091h155.151515c9.309091%200%2018.618182%203.10303%2021.721212%209.309091l86.884849%20102.4h105.50303c15.515152%200%2031.030303%2012.412121%2031.030303%2031.030303v397.187879c0%2015.515152-12.412121%2027.927273-27.927273%2027.927273z%20m-586.472727-453.042425c-15.515152%200-27.927273%2012.412121-27.927273%2027.927273v397.187879c0%2015.515152%2012.412121%2027.927273%2027.927273%2027.927273h583.369697c15.515152%200%2027.927273-12.412121%2027.927273-27.927273v-397.187879c0-15.515152-12.412121-27.927273-27.927273-27.927273h-108.606061l-86.884848-102.4c-6.206061-6.206061-12.412121-9.309091-21.721212-9.309091h-155.151515c-3.10303%200-9.309091%203.10303-15.515152%209.309091l-86.884848%20102.4h-108.606061z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M513.303273%20410.996364c77.575758%200%20142.739394%2062.060606%20142.739394%20142.739394%200%2077.575758-62.060606%20142.739394-142.739394%20142.739394s-142.739394-62.060606-142.739394-142.739394c0-80.678788%2062.060606-142.739394%20142.739394-142.739394z%20m0%2055.854545c-46.545455%200-83.781818%2037.236364-83.781818%2083.781818%200%2046.545455%2037.236364%2083.781818%2083.781818%2083.781818s83.781818-37.236364%2083.781818-83.781818c0-46.545455-37.236364-83.781818-83.781818-83.781818z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M513.303273%20696.475152c-77.575758%200-142.739394-65.163636-142.739394-142.739394%200-77.575758%2065.163636-142.739394%20142.739394-142.739394%2077.575758%200%20142.739394%2065.163636%20142.739394%20142.739394%200%2077.575758-65.163636%20142.739394-142.739394%20142.739394z%20m0-285.478788c-77.575758%200-139.636364%2062.060606-139.636364%20139.636363s62.060606%20139.636364%20139.636364%20139.636364%20139.636364-62.060606%20139.636363-139.636364c0-74.472727-65.163636-139.636364-139.636363-139.636363z%20m0%20226.521212c-46.545455%200-86.884848-37.236364-86.884849-86.884849s37.236364-86.884848%2086.884849-86.884848c46.545455%200%2086.884848%2037.236364%2086.884848%2086.884848s-40.339394%2086.884848-86.884848%2086.884849z%20m0-167.563637c-46.545455%200-83.781818%2037.236364-83.781818%2083.781819%200%2046.545455%2037.236364%2083.781818%2083.781818%2083.781818s83.781818-37.236364%2083.781818-83.781818c-3.10303-46.545455-40.339394-83.781818-83.781818-83.781819z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-aixin { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-aixin%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M469.824%20877.824L152.704%20560.64l-31.872-31.552a221.76%20221.76%200%200%201%200-315.648%20226.752%20226.752%200%200%201%20318.592%200l30.4%2030.08%2031.744-31.744a224.256%20224.256%200%200%201%20356.8%20263.488h-3.968c-26.24%200-51.968%207.104-74.432%2020.608l-25.472%2015.36-14.4-23.744a145.024%20145.024%200%200%200-125.12-70.08%20146.56%20146.56%200%200%200-74.88%2020.608%20143.68%20143.68%200%200%200-49.92%20198.208l15.744%2025.92%2067.712%20112.768-102.336%20101.376-1.472%201.472z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M666.24%20865.408L517.44%20620.096a112.448%20112.448%200%200%201%2038.976-154.944c17.664-10.56%2037.824-16.128%2058.432-16.128h0.064c39.936%200%2076.992%2020.736%2097.92%2054.72l31.36%2051.84%2052.288-31.168a114.688%20114.688%200%200%201%20156.352%2038.656%20112.448%20112.448%200%200%201-38.976%20154.88l-247.616%20147.456z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-taiyang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-taiyang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M833.088%20883.072l-146.688-34.752a47.488%2047.488%200%200%200-51.904%2022.208L558.08%201000.512a47.552%2047.552%200%200%201-81.472%200.896l-79.168-128.256a47.552%2047.552%200%200%200-52.416-21.056l-145.92%2037.952a47.552%2047.552%200%200%201-58.24-56.96l34.752-146.688a47.488%2047.488%200%200%200-22.208-51.904L23.488%20558.08a47.552%2047.552%200%200%201-0.896-81.472l128.256-79.168a47.552%2047.552%200%200%200%2021.056-52.416l-37.952-145.92a47.552%2047.552%200%200%201%2056.96-58.24l146.688%2034.752a47.488%2047.488%200%200%200%2051.904-22.208L465.92%2023.488A47.552%2047.552%200%200%201%20547.328%2022.592l79.168%20128.256c10.944%2017.792%2032.192%2026.304%2052.416%2021.056l145.92-37.952a47.552%2047.552%200%200%201%2058.24%2056.96l-34.752%20146.688a47.488%2047.488%200%200%200%2022.208%2051.904l129.984%2076.352c30.912%2018.112%2031.36%2062.656%200.896%2081.472l-128.256%2079.168a47.552%2047.552%200%200%200-21.056%2052.416l37.952%20145.92a47.552%2047.552%200%200%201-56.96%2058.24z%22%20fill%3D%22%23FF7938%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M274.112%20512a237.888%20237.888%200%201%200%20475.776%200%20237.888%20237.888%200%200%200-475.776%200z%22%20fill%3D%22%23F7FF53%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M403.008%20462.464a29.76%2029.76%200%201%200%2059.456%200%2029.76%2029.76%200%200%200-59.52%200zM561.536%20462.464a29.76%2029.76%200%201%200%2059.52%200%2029.76%2029.76%200%200%200-59.52%200z%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M432.704%20592.192s19.84%2055.36%2079.296%2055.36%2079.296-55.36%2079.296-55.36H432.64z%22%20fill%3D%22%23FF2929%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuyi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuyi%22%20viewBox%3D%220%200%201173%201024%22%3E%3Cpath%20d%3D%22M585.205619%200.000039c57.785105%200%20110.591996%2029.987445%20140.729103%2079.50572L1145.699875%20768.291456c31.231999%2051.345721%2032.913722%20115.711996%204.387446%20168.593717A165.009717%20165.009717%200%200%201%201004.89988%201024H165.365635c-60.632613%200-116.223996-33.646276-145.041717-87.039997a169.617717%20169.617717%200%200%201%204.387446-168.668547L444.405625%2079.505759A164.277163%20164.277163%200%200%201%20585.205619%200.000039z%22%20fill%3D%22%23FFD112%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M592.519342%20699.246289c-48.490337%200-87.768612%2040.959998-87.768612%2091.427443%200%2050.467444%2039.278275%2091.427443%2087.768612%2091.427443%2048.494275%200%2087.77255-40.959998%2087.772551-91.427443%200-50.467444-39.278275-91.427443-87.772551-91.427443zM592.519342%20234.058861c-36.351999%200-65.827444%2030.719999-65.827443%2068.533167v259.58399c0%2037.813168%2029.475445%2068.533167%2065.827443%2068.533166%2036.351999%200%2065.831382-30.719999%2065.831382-68.533166V302.592028c0-37.813168-29.479383-68.533167-65.831382-68.533167z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-hongbao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-hongbao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M151.6544%200h716.8c51.2%200%2076.8%2025.6%2076.8%2076.8v870.4c0%2051.2-25.6%2076.8-76.8%2076.8h-716.8c-51.2%200-76.8-25.6-76.8-76.8v-870.4c0-51.2%2025.6-76.8%2076.8-76.8z%22%20fill%3D%22%23D73C1E%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M868.4544%200c42.417231%200%2076.8%2034.382769%2076.8%2076.8l0.027569%20275.8144c-122.289231%2051.968-272.64%2082.5856-435.2%2082.5856C347.4944%20435.2%20197.12%20404.558769%2074.830769%20352.6144L74.8544%2076.8C74.8544%2034.382769%20109.241108%200%20151.6544%200h716.8z%22%20fill%3D%22%23F14C2E%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M382.058338%20409.6c0%2084.834462%2068.765538%20153.6%20153.6%20153.6%2084.830523%200%20153.6-68.765538%20153.6-153.6a153.6%20153.6%200%200%200-307.2%200z%22%20fill%3D%22%23F7D49A%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M546.7136%20512h-21.909662v-51.2H459.035569v-20.48h65.764431V409.6H459.039508v-20.48h53.504l-53.681231-70.8096L477.672369%20307.2l54.3232%2071.68h12.469169l48.561231-67.84%2018.2272%2011.393969L563.483569%20389.12h48.970831v20.48h-63.6416l-2.095262%202.945969v27.774031h65.736862v20.48h-65.7408z%22%20fill%3D%22%23E98337%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chuangjianren { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chuangjianren%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20179.2c64%2070.4%20128%20140.8%20192%20224l-38.4%2038.4c-64-89.6-121.6-160-172.8-211.2-57.6%2083.2-121.6%20160-198.4%20230.4l-32-44.8c76.8-70.4%20140.8-147.2%20204.8-243.2H512zM403.2%20467.2v320c0%2019.2%206.4%2025.6%2032%2025.6H576c25.6%200%2044.8-6.4%2051.2-19.2%206.4-19.2%2012.8-44.8%2012.8-89.6l51.2%2019.2c-6.4%2064-12.8%20102.4-32%20121.6-12.8%2012.8-38.4%2019.2-70.4%2019.2H409.6c-44.8%200-64-19.2-64-57.6v-384h275.2v204.8c0%2038.4-19.2%2064-64%2064H473.6l-19.2-64c32%200%2057.6%206.4%2076.8%206.4%2019.2%200%2032-12.8%2032-32V467.2H403.2z%20m352%20396.8l-12.8-51.2c38.4%200%2076.8%206.4%20115.2%206.4%2019.2%200%2032-12.8%2032-32V172.8h57.6v627.2c0%2044.8-19.2%2070.4-64%2070.4h-128z%20m44.8-627.2v480h-51.2V236.8h51.2zM1734.4%20800l-6.4%2057.6h-224c-140.8%200-236.8-19.2-294.4-57.6-12.8-6.4-19.2-12.8-25.6-19.2-25.6%2038.4-57.6%2070.4-89.6%2096l-38.4-44.8c38.4-25.6%2064-57.6%2089.6-89.6-32-44.8-57.6-96-70.4-166.4l44.8-19.2c12.8%2057.6%2032%2096%2051.2%20134.4%2025.6-57.6%2038.4-115.2%2044.8-192h-140.8V448c44.8-57.6%2083.2-115.2%20121.6-185.6h-128v-51.2h185.6V256c-38.4%2070.4-76.8%20128-108.8%20185.6h121.6v32c0%20102.4-25.6%20185.6-57.6%20256%2012.8%2012.8%2025.6%2025.6%2038.4%2032%2051.2%2032%20134.4%2044.8%20236.8%2044.8%2076.8%200%20160%200%20249.6-6.4z%20m-224-313.6v64h179.2v44.8h-179.2v64h204.8v44.8h-204.8v76.8h-51.2V704h-172.8v-44.8h172.8v-64h-153.6v-51.2h153.6v-64h-134.4v-38.4h134.4v-64h-172.8v-44.8h172.8v-64h-134.4v-44.8h134.4v-57.6h51.2v57.6h166.4v108.8h51.2v44.8h-51.2v108.8h-166.4z%20m0-153.6h108.8v-64h-108.8v64z%20m0%20108.8h108.8v-64h-108.8v64zM2176%20339.2c44.8%20211.2%20153.6%20371.2%20332.8%20480l-38.4%2051.2c-153.6-102.4-262.4-243.2-320-416-44.8%20166.4-153.6%20307.2-326.4%20416l-32-51.2c211.2-128%20320-307.2%20326.4-524.8V172.8h57.6c6.4%2064%206.4%20121.6%200%20166.4z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chengyuan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chengyuan%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M864%20243.2l-38.4%2038.4h96v51.2h-236.8c6.4%2096%2012.8%20172.8%2032%20224%206.4%2019.2%2012.8%2038.4%2012.8%2051.2%2038.4-64%2070.4-134.4%2096-217.6l51.2%2019.2c-32%20102.4-70.4%20185.6-121.6%20256%2012.8%2025.6%2019.2%2044.8%2032%2064%2025.6%2038.4%2044.8%2057.6%2064%2057.6%2012.8%200%2025.6-38.4%2038.4-121.6l51.2%2025.6c-19.2%20102.4-44.8%20153.6-76.8%20153.6s-64-25.6-102.4-70.4c-12.8-19.2-25.6-38.4-38.4-64-51.2%2064-115.2%20108.8-192%20140.8l-32-44.8c76.8-32%20140.8-83.2%20192-153.6-12.8-25.6-19.2-57.6-32-89.6-19.2-64-25.6-147.2-32-243.2H364.8v128h185.6c0%20128-6.4%20211.2-19.2%20249.6-12.8%2032-32%2051.2-70.4%2051.2h-64l-12.8-38.4h76.8c19.2%200%2025.6-12.8%2032-32%200-25.6%206.4-83.2%206.4-166.4H364.8v25.6c0%20134.4-32%20249.6-89.6%20332.8l-44.8-38.4c51.2-70.4%2076.8-166.4%2076.8-294.4v-256h320V160h57.6v121.6h140.8c-25.6-25.6-51.2-57.6-96-83.2l38.4-38.4c38.4%2025.6%2070.4%2057.6%2096%2083.2zM1382.4%20544c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20179.2h-57.6V492.8h-409.6v243.2h-57.6V441.6H1600v281.6zM1561.6%20192v192h-422.4V192h422.4z%20m-51.2%2044.8h-320v96h320V236.8z%20m166.4%20582.4l-32%2044.8c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c102.4%2032%20192%2064%20275.2%20102.4z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanliyuan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanliyuan%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23FFF3F3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%23FEA39F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M281.6%20358.4l-51.2-32c44.8-44.8%2076.8-102.4%20102.4-160l51.2%2012.8c0%2012.8-12.8%2032-19.2%2044.8H576v51.2H448c19.2%2025.6%2032%2044.8%2044.8%2064l-57.6%2019.2c-12.8-32-32-57.6-51.2-83.2h-38.4c-19.2%2025.6-38.4%2057.6-64%2083.2z%20m620.8%20160h-51.2V428.8H307.2v89.6h-57.6V377.6h300.8c-6.4-12.8-12.8-32-19.2-44.8l51.2-12.8c38.4-44.8%2064-96%2076.8-153.6l51.2%2012.8c-6.4%2012.8-6.4%2032-12.8%2044.8h224v51.2h-134.4c19.2%2019.2%2032%2038.4%2038.4%2057.6l-57.6%2019.2c-12.8-25.6-32-51.2-51.2-76.8h-51.2c-12.8%2025.6-32%2051.2-44.8%2076.8L582.4%20320c6.4%2019.2%2019.2%2038.4%2025.6%2057.6h294.4v140.8z%20m-108.8%20102.4h-384v51.2H832v198.4h-57.6v-32H409.6v32h-51.2V473.6h435.2v147.2z%20m-51.2-44.8V512H409.6v64h332.8z%20m32%20217.6v-70.4H409.6v70.4h364.8zM1094.4%20454.4V275.2h-96v-57.6h243.2v51.2H1152V448h83.2v51.2H1152v172.8c32-12.8%2057.6-19.2%2083.2-32v64c-70.4%2032-147.2%2051.2-230.4%2076.8l-12.8-51.2c32-6.4%2070.4-12.8%20102.4-25.6V512h-83.2v-57.6h83.2z%20m563.2-256v352h-160V640h172.8v51.2h-172.8v102.4h198.4v51.2h-460.8v-51.2h204.8v-102.4h-172.8V640h172.8V556.8H1280V198.4h377.6z%20m-217.6%20153.6V249.6h-108.8v102.4h108.8z%20m0%2051.2h-108.8v102.4h108.8V403.2z%20m57.6-51.2H1600V249.6h-108.8v102.4z%20m102.4%2051.2h-108.8v102.4H1600V403.2zM2144%20550.4c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20185.6h-57.6V499.2h-409.6v243.2H1856V448h512v288z%20m-44.8-537.6v192h-422.4v-192h422.4z%20m-51.2%2051.2h-320v96h320V249.6z%20m166.4%20582.4l-32%2044.8c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c102.4%2025.6%20192%2057.6%20275.2%20102.4z%22%20fill%3D%22%23F6343E%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daiduifangtongyi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daiduifangtongyi%22%20viewBox%3D%220%200%204224%201024%22%3E%3Cpath%20d%3D%22M160%2032h3904c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-3904c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F5F5F5%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M4064%201024h-3904C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h3904C4153.6%200%204224%2070.4%204224%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h3904c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-3904z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M441.6%20172.8c-38.4%2083.2-102.4%20160-192%20224l-19.2-51.2c76.8-57.6%20128-121.6%20160-192l51.2%2019.2z%20m25.6%20179.2c-19.2%2038.4-38.4%2076.8-64%20115.2v390.4h-57.6V524.8c-25.6%2032-57.6%2057.6-89.6%2083.2l-12.8-51.2C320%20486.4%20384%20409.6%20422.4%20326.4l44.8%2025.6z%20m268.8-198.4v83.2h172.8v51.2h-172.8V384h204.8v51.2H480V384h198.4V288H512v-51.2h172.8V153.6h51.2z%20m44.8%20371.2v-57.6h57.6v57.6h89.6V576h-89.6v198.4c0%2051.2-25.6%2076.8-76.8%2076.8h-108.8l-12.8-51.2c38.4%200%2070.4%206.4%20102.4%206.4%2025.6%200%2038.4-12.8%2038.4-38.4V576H486.4v-51.2h294.4z%20m-108.8%20198.4l-44.8%2032c-19.2-38.4-51.2-76.8-96-121.6l44.8-25.6c44.8%2044.8%2076.8%2083.2%2096%20115.2zM1196.8%20512c25.6-70.4%2044.8-147.2%2051.2-224h-211.2v-57.6h262.4v38.4c-6.4%20102.4-25.6%20198.4-64%20288%2032%2044.8%2064%2089.6%2089.6%20128l-44.8%2044.8-76.8-115.2c-44.8%2076.8-96%20140.8-172.8%20198.4l-32-51.2c70.4-57.6%20128-121.6%20166.4-198.4-38.4-57.6-83.2-115.2-140.8-172.8l38.4-32c51.2%2044.8%2096%20102.4%20134.4%20153.6z%20m300.8%20102.4l-44.8%2032c-32-51.2-70.4-108.8-115.2-166.4l44.8-32c51.2%2064%2089.6%20115.2%20115.2%20166.4z%20m64-313.6V153.6h57.6v153.6h83.2v51.2h-83.2v422.4c0%2051.2-25.6%2076.8-76.8%2076.8h-121.6l-12.8-57.6c38.4%200%2076.8%206.4%20115.2%206.4%2025.6%200%2044.8-12.8%2044.8-38.4V358.4H1344v-57.6h217.6zM2118.4%20268.8c-12.8-32-32-64-57.6-96l51.2-19.2c19.2%2032%2038.4%2070.4%2057.6%20115.2h288V320h-403.2L2048%20454.4h320c0%20153.6-6.4%20249.6-19.2%20294.4-12.8%2064-51.2%2096-115.2%20102.4h-89.6l-19.2-51.2h102.4c38.4%200%2064-32%2070.4-83.2%206.4-32%206.4-102.4%206.4-204.8h-256c-12.8%2064-32%20115.2-57.6%20166.4-38.4%2064-89.6%20128-160%20179.2l-38.4-32c83.2-70.4%20134.4-134.4%20160-192%2025.6-57.6%2038.4-128%2044.8-198.4%200-51.2%206.4-83.2%206.4-108.8H1792v-57.6h326.4zM3033.6%20857.6l-12.8-57.6h102.4c19.2%200%2032-12.8%2032-32V236.8h-505.6v620.8h-57.6V185.6H3200v595.2c0%2051.2-19.2%2076.8-64%2076.8h-102.4z%20m57.6-531.2v51.2h-396.8v-51.2h396.8z%20m-44.8%20134.4v249.6h-307.2V460.8h307.2z%20m-51.2%2051.2h-198.4v147.2h198.4V512zM3436.8%20678.4c-19.2%2064-44.8%20115.2-76.8%20160l-44.8-32c32-44.8%2057.6-89.6%2070.4-140.8l51.2%2012.8z%20m-76.8-428.8v-51.2h262.4c-6.4-19.2-12.8-32-19.2-44.8l57.6-6.4c6.4%2019.2%2019.2%2032%2025.6%2051.2h268.8v44.8h-128l-32%2057.6h192v51.2H3328v-44.8h185.6l-25.6-57.6h-128zM3904%20403.2v230.4h-492.8V403.2H3904z%20m-51.2%2096V448h-384v51.2h384z%20m0%2038.4h-384v51.2h384v-51.2z%20m-275.2%20307.2c-51.2%200-76.8-25.6-76.8-70.4v-102.4h57.6v89.6c0%2019.2%2012.8%2032%2038.4%2032h160c19.2%200%2025.6%200%2032-6.4%206.4-6.4%2012.8-32%2019.2-70.4l51.2%2019.2c-6.4%2051.2-19.2%2083.2-32%2096-12.8%206.4-32%2012.8-64%2012.8h-185.6z%20m166.4-537.6l32-57.6h-230.4l25.6%2057.6h172.8z%20m0%20422.4l-44.8%2032c-19.2-25.6-44.8-57.6-76.8-89.6l44.8-32c32%2038.4%2057.6%2064%2076.8%2089.6z%20m262.4%2064l-44.8%2032c-25.6-44.8-57.6-89.6-96-140.8l44.8-25.6c44.8%2051.2%2076.8%2096%2096%20134.4z%22%20fill%3D%22%23999999%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-peizhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-peizhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M571.733333%20635.733333h405.333334V686.933333c0%204.266667-4.266667%208.533333-8.533334%208.533334h-401.066666-4.266667V644.266667c4.266667-4.266667%204.266667-8.533333%208.533333-8.533334z%20m0%20140.8h405.333334V832h-405.333334-4.266666V780.8s0-4.266667%204.266666-4.266667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M571.733333%20840.533333c-4.266667%200-4.266667%200-8.533333-4.266666%200%200-4.266667-4.266667-4.266667-8.533334v-46.933333c0-4.266667%204.266667-8.533333%208.533334-8.533333h405.333333c4.266667%200%204.266667%200%208.533333%204.266666%200%200%204.266667%204.266667%204.266667%208.533334v46.933333c0%204.266667%200%204.266667-4.266667%208.533333s-4.266667%204.266667-8.533333%204.266667h-401.066667v-4.266667z%20m0-59.733333s0%204.266667%200%200l-4.266666%2046.933333h401.066666v-46.933333h-396.8z%20m401.066667-81.066667h-401.066667c-4.266667%200-4.266667%200-8.533333-4.266666%200-4.266667-4.266667-4.266667-4.266667-8.533334V640c0-4.266667%204.266667-12.8%2012.8-12.8h401.066667c4.266667%200%204.266667%200%208.533333%204.266667%200%204.266667%204.266667%204.266667%204.266667%208.533333v46.933333c0%208.533333-4.266667%2012.8-12.8%2012.8zM571.733333%20640s0%204.266667%200%200l-4.266666%2046.933333h401.066666s4.266667%200%204.266667-4.266666v-46.933334h-401.066667zM571.733333%20917.333333h401.066667c4.266667%200%208.533333%204.266667%208.533333%208.533334v46.933333c0%204.266667-4.266667%208.533333-8.533333%208.533333h-401.066667c-4.266667%200-8.533333-4.266667-8.533333-8.533333v-46.933333c4.266667-4.266667%204.266667-8.533333%208.533333-8.533334z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M972.8%20981.333333h-401.066667c-8.533333%200-12.8-4.266667-12.8-12.8v-46.933333c0-8.533333%204.266667-12.8%2012.8-12.8h401.066667c8.533333%200%2012.8%204.266667%2012.8%2012.8v46.933333c0%208.533333-4.266667%2012.8-12.8%2012.8z%20m-401.066667-59.733333s-4.266667%200%200%200l-4.266666%2046.933333s0%204.266667%204.266666%204.266667h401.066667s4.266667%200%204.266667-4.266667v-46.933333s0-4.266667-4.266667-4.266667h-401.066667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M418.133333%20887.466667l-8.533333-46.933334c0-8.533333-8.533333-17.066667-21.333333-21.333333-17.066667-4.266667-29.866667-12.8-46.933334-21.333333-8.533333-4.266667-17.066667-8.533333-25.6-17.066667-12.8-8.533333-29.866667-21.333333-38.4-29.866667-8.533333-8.533333-17.066667-8.533333-29.866666-4.266666l-42.666667%2017.066666-29.866667%2012.8-72.533333-123.733333%2025.6-21.333333%2034.133333-29.866667c8.533333-8.533333%2012.8-17.066667%208.533334-29.866667v-46.933333-12.8-17.066667c0-17.066667%204.266667-34.133333%204.266666-51.2%204.266667-8.533333%200-21.333333-8.533333-29.866666l-34.133333-25.6-29.866667-21.333334%2072.533333-123.733333%2034.133334%2012.8%2042.666666%2017.066667c8.533333%204.266667%2021.333333%200%2029.866667-4.266667%2012.8-12.8%2025.6-21.333333%2042.666667-29.866667%208.533333-4.266667%2017.066667-8.533333%2021.333333-12.8%2017.066667-8.533333%2029.866667-12.8%2046.933333-21.333333%208.533333-4.266667%2017.066667-12.8%2021.333334-21.333333l8.533333-46.933334%204.266667-34.133333h140.8l4.266666%2034.133333%208.533334%2046.933334c0%208.533333%208.533333%2017.066667%2021.333333%2021.333333%2017.066667%204.266667%2029.866667%2012.8%2046.933333%2021.333333%208.533333%204.266667%2017.066667%208.533333%2021.333334%2012.8%2012.8%208.533333%2029.866667%2021.333333%2042.666666%2029.866667%208.533333%208.533333%2017.066667%208.533333%2029.866667%204.266667l42.666667-17.066667%2025.6-12.8%2072.533333%20123.733333-25.6%2021.333334-34.133333%2029.866666c-12.8%208.533333-17.066667%2017.066667-12.8%2029.866667%204.266667%2017.066667%204.266667%2034.133333%204.266666%2051.2v29.866667c0%2017.066667-4.266667%2034.133333-4.266666%2051.2v4.266666h72.533333l-12.8-8.533333c4.266667-17.066667%204.266667-38.4%204.266667-55.466667%200-21.333333%200-38.4-4.266667-59.733333l55.466667-42.666667c21.333333-17.066667%2025.6-42.666667%2012.8-64l-76.8-136.533333c-12.8-21.333333-38.4-29.866667-64-21.333333l-64%2017.066666c-29.866667-25.6-64-42.666667-98.133334-55.466666L622.933333%2085.333333c-4.266667-25.6-25.6-42.666667-51.2-42.666666H413.866667c-25.6%200-46.933333%2017.066667-46.933334%2042.666666l-12.8%2068.266667C320%20170.666667%20285.866667%20187.733333%20256%20213.333333l-64-25.6c-25.6-8.533333-51.2%200-64%2021.333334L51.2%20345.6c-12.8%2021.333333-8.533333%2046.933333%2012.8%2064l55.466667%2042.666667c-4.266667%2021.333333-4.266667%2038.4-4.266667%2059.733333%200%2017.066667%200%2038.4%204.266667%2055.466667l-51.2%2042.666666c-21.333333%2017.066667-25.6%2042.666667-12.8%2064L128%20810.666667c8.533333%2017.066667%2025.6%2025.6%2042.666667%2025.6%208.533333%200%2012.8%200%2017.066666-4.266667l64-21.333333c29.866667%2025.6%2064%2042.666667%20102.4%2059.733333l8.533334%2068.266667c4.266667%2025.6%2025.6%2042.666667%2051.2%2042.666666h89.6v-59.733333h-85.333334v-34.133333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M516.266667%20985.6H413.866667c-29.866667%200-55.466667-21.333333-59.733334-51.2l-8.533333-59.733333c-34.133333-12.8-68.266667-34.133333-93.866667-55.466667l-55.466666%2021.333333c-8.533333%204.266667-12.8%204.266667-21.333334%204.266667-21.333333%200-42.666667-12.8-51.2-29.866667L42.666667%20682.666667c-12.8-25.6-8.533333-59.733333%2012.8-76.8l51.2-38.4c-4.266667-17.066667-4.266667-34.133333-4.266667-55.466667%200-17.066667%200-38.4%204.266667-55.466667l-51.2-38.4C34.133333%20396.8%2025.6%20366.933333%2042.666667%20341.333333l76.8-136.533333c12.8-25.6%2046.933333-38.4%2072.533333-25.6l59.733333%2021.333333c29.866667-21.333333%2059.733333-38.4%2093.866667-55.466666L358.4%2085.333333C362.666667%2055.466667%20384%2034.133333%20413.866667%2034.133333h153.6c29.866667%200%2055.466667%2021.333333%2059.733333%2051.2l12.8%2064c34.133333%2012.8%2064%2029.866667%2093.866667%2055.466667l59.733333-21.333333c29.866667-12.8%2059.733333%200%2072.533333%2025.6L942.933333%20341.333333c12.8%2025.6%208.533333%2059.733333-12.8%2076.8l-51.2%2038.4c4.266667%2017.066667%204.266667%2038.4%204.266667%2055.466667s0%2034.133333-4.266667%2055.466667l29.866667%2021.333333h-106.666667v-8.533333-4.266667c4.266667-17.066667%204.266667-34.133333%204.266667-51.2v-4.266667-8.533333V499.2c0-17.066667-4.266667-34.133333-4.266667-46.933333-4.266667-12.8%200-25.6%2012.8-38.4l55.466667-46.933334L806.4%20256l-68.266667%2025.6c-12.8%204.266667-25.6%204.266667-38.4-8.533333-12.8-12.8-25.6-21.333333-38.4-29.866667-8.533333-4.266667-12.8-8.533333-21.333333-12.8-12.8-8.533333-29.866667-12.8-46.933333-21.333333-12.8-4.266667-21.333333-17.066667-25.6-29.866667L554.666667%20106.666667h-128l-8.533334%2076.8c0%2012.8-12.8%2025.6-25.6%2029.866666-12.8%204.266667-29.866667%208.533333-46.933333%2017.066667-4.266667%204.266667-12.8%208.533333-21.333333%2012.8-12.8%208.533333-25.6%2021.333333-38.4%2029.866667-12.8%2012.8-25.6%2012.8-38.4%208.533333L179.2%20256%20115.2%20366.933333l55.466667%2042.666667c12.8%208.533333%2017.066667%2021.333333%2012.8%2038.4-4.266667%2017.066667-4.266667%2034.133333-4.266667%2046.933333v25.6c0%2017.066667%204.266667%2034.133333%204.266667%2051.2%204.266667%2012.8%200%2025.6-12.8%2034.133334l-55.466667%2046.933333%2064%20110.933333%2068.266667-25.6c12.8-4.266667%2025.6%200%2038.4%208.533334%2012.8%2012.8%2025.6%2021.333333%2038.4%2029.866666l25.6%2012.8c12.8%208.533333%2029.866667%2012.8%2046.933333%2017.066667%2012.8%204.266667%2021.333333%2017.066667%2025.6%2029.866667l12.8%2072.533333h85.333333v76.8zM256%20797.866667c34.133333%2025.6%2068.266667%2046.933333%20102.4%2059.733333h4.266667l12.8%2072.533333c4.266667%2021.333333%2021.333333%2034.133333%2042.666666%2034.133334h81.066667v-42.666667h-85.333333l-12.8-85.333333c0-8.533333-4.266667-12.8-12.8-17.066667-17.066667-4.266667-34.133333-12.8-46.933334-21.333333-8.533333-4.266667-17.066667-8.533333-25.6-17.066667-12.8-8.533333-29.866667-21.333333-42.666666-29.866667-4.266667-4.266667-12.8-8.533333-21.333334-4.266666l-81.066666%2038.4-76.8-136.533334L162.133333%20597.333333c4.266667-4.266667%208.533333-12.8%208.533334-21.333333-4.266667-17.066667-4.266667-34.133333-4.266667-51.2v-4.266667-8.533333V499.2c0-17.066667%204.266667-34.133333%208.533333-51.2%200-8.533333%200-17.066667-8.533333-21.333333L93.866667%20371.2%20170.666667%20234.666667l81.066666%2034.133333c8.533333%204.266667%2012.8%200%2021.333334-4.266667%2012.8-12.8%2025.6-21.333333%2042.666666-29.866666%208.533333-8.533333%2017.066667-12.8%2025.6-17.066667%2017.066667-8.533333%2029.866667-12.8%2046.933334-21.333333%208.533333-4.266667%2012.8-8.533333%2012.8-17.066667l12.8-85.333333h157.866666l12.8%2089.6c0%208.533333%204.266667%2012.8%2012.8%2017.066666%2017.066667%204.266667%2034.133333%2012.8%2046.933334%2021.333334l25.6%2012.8c12.8%208.533333%2029.866667%2021.333333%2042.666666%2029.866666%204.266667%204.266667%2012.8%208.533333%2021.333334%204.266667l81.066666-34.133333L896%20371.2%20823.466667%20426.666667c-4.266667%204.266667-8.533333%2012.8-8.533334%2021.333333%204.266667%2017.066667%204.266667%2034.133333%208.533334%2051.2v25.6c0%2017.066667-4.266667%2029.866667-4.266667%2046.933333h42.666667v-4.266666c4.266667-17.066667%204.266667-38.4%204.266666-55.466667s0-38.4-4.266666-55.466667v-4.266666l55.466666-46.933334c17.066667-12.8%2021.333333-38.4%208.533334-55.466666L853.333333%20213.333333c-12.8-17.066667-34.133333-25.6-51.2-17.066666l-68.266666%2025.6-8.533334-4.266667c-29.866667-25.6-64-42.666667-98.133333-55.466667h-4.266667l-12.8-72.533333c-4.266667-21.333333-21.333333-38.4-42.666666-38.4H413.866667c-21.333333%200-38.4%2017.066667-42.666667%2034.133333l-8.533333%2076.8h-4.266667c-34.133333%2012.8-68.266667%2034.133333-98.133333%2055.466667l-4.266667%204.266667-68.266667-25.6c-21.333333-8.533333-42.666667%200-51.2%2017.066666L55.466667%20349.866667c-8.533333%2017.066667-4.266667%2042.666667%208.533333%2055.466666l55.466667%2046.933334v4.266666c-4.266667%2017.066667-4.266667%2038.4-4.266667%2059.733334%200%2017.066667%200%2038.4%204.266667%2055.466666v4.266667l-55.466667%2046.933333c-17.066667%2012.8-21.333333%2038.4-8.533333%2055.466667l76.8%20136.533333c8.533333%2012.8%2021.333333%2021.333333%2038.4%2021.333334%204.266667%200%2012.8%200%2017.066666-4.266667l68.266667-34.133333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M345.6%20512c0-81.066667%2064-149.333333%20149.333333-149.333333S640%20430.933333%20640%20512c0%2021.333333-4.266667%2046.933333-17.066667%2068.266667h64c29.866667-85.333333%200-179.2-72.533333-230.4s-170.666667-55.466667-243.2-4.266667-102.4%20145.066667-72.533333%20230.4%20106.666667%20145.066667%20196.266666%20145.066667h12.8v-59.733334h-12.8c-81.066667-4.266667-149.333333-68.266667-149.333333-149.333333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M494.933333%20725.333333c-93.866667%200-174.933333-59.733333-204.8-149.333333-29.866667-89.6%204.266667-187.733333%2081.066667-238.933333%2076.8-55.466667%20179.2-55.466667%20251.733333%204.266666%2076.8%2055.466667%20106.666667%20153.6%2076.8%20243.2v4.266667h-85.333333l8.533333-12.8c8.533333-21.333333%2017.066667-42.666667%2017.066667-64%200-76.8-64-140.8-140.8-140.8S354.133333%20435.2%20354.133333%20512c0%2076.8%2064%20140.8%20140.8%20140.8h21.333334V725.333333h-21.333334z%20m0-413.866666c-38.4%200-81.066667%2012.8-115.2%2038.4-68.266667%2051.2-98.133333%20140.8-72.533333%20221.866666%2025.6%2081.066667%20102.4%20136.533333%20187.733333%20136.533334h4.266667v-42.666667h-4.266667c-85.333333%200-157.866667-68.266667-157.866666-157.866667%200-85.333333%2068.266667-157.866667%20157.866666-157.866666s153.6%2076.8%20153.6%20162.133333c0%2021.333333-4.266667%2038.4-12.8%2059.733333H682.666667c25.6-81.066667-4.266667-166.4-72.533334-217.6-34.133333-25.6-76.8-42.666667-115.2-42.666666z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-tonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-tonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M450.094545%2046.592a124.788364%20124.788364%200%200%200-81.547636%2031.790545L161.512727%20273.687273l-6.283636%203.258182A130.466909%20130.466909%200%200%200%2023.272727%20408.948364v172.450909a130.466909%20130.466909%200%200%200%20132.002909%20131.723636l2.978909%201.768727%203.304728%201.489455%20207.266909%20195.584a119.994182%20119.994182%200%200%200%2082.478545%2034.443636%20107.985455%20107.985455%200%200%200%2077.125818-32.069818c22.528-22.714182%2035.048727-53.480727%2034.769455-85.457454V166.586182a121.762909%20121.762909%200%200%200-34.164364-89.972364A108.916364%20108.916364%200%200%200%20450.094545%2046.545455z%20m20.712728%20776.564364c0%2020.107636-11.962182%2030.021818-23.365818%2030.021818a28.206545%2028.206545%200%200%201-20.107637-9.309091l-239.988363-221.090909h-32.116364a39.005091%2039.005091%200%200%201-41.937455-41.378909V408.948364a39.005091%2039.005091%200%200%201%2041.984-40.820364h33.885091L429.149091%20147.083636a28.206545%2028.206545%200%200%201%2018.618182-10.472727c15.825455%200%2023.365818%2015.266909%2023.365818%2029.975273l-0.325818%20656.570182z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M951.202909%20230.679273A49.524364%2049.524364%200%200%200%20902.981818%20279.877818v507.904a49.524364%2049.524364%200%200%200%2097.745455%200V279.877818a49.524364%2049.524364%200%200%200-49.524364-49.198545zM757.992727%20361.006545A49.524364%2049.524364%200%200%200%20707.490909%20408.901818v249.902546a49.524364%2049.524364%200%200%200%2097.745455%200V408.901818c0-26.484364-20.805818-48.314182-47.243637-49.524363v1.62909z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zanwushouhuodizhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zanwushouhuodizhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M366.580989%2014.490151L31.358624%20101.298925v819.915699l335.222365-86.808775L657.562151%201008.012387l335.079225-86.797763V101.298925L705.965419%20174.190108%22%20fill%3D%22%23EDEDED%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M655.337978%201024l-291.124301-173.606538L16.516129%20940.483441V89.638538L362.870366%200l7.421247%2028.837161-324.079484%2083.95699v789.140645l322.604043-83.516559%20290.970151%20173.463397%20318.001548-82.327397v-789.140646l-268.111828%2068.277678-7.267097-28.980301L1007.483871%2082.019097v850.690752z%22%20fill%3D%22%23EDEDED%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M495.483871%20594.580645C462.605763%20594.580645%20258.752688%20435.255054%20258.752688%20303.896774%20258.752688%20172.538495%20364.742194%2066.064516%20495.483871%2066.064516S732.215054%20172.538495%20732.215054%20303.896774C732.215054%20435.255054%20528.361978%20594.580645%20495.483871%20594.580645z%20m0-218.012903c39.947011%200%2072.340645-32.536774%2072.340645-72.670968%200-40.134194-32.393634-72.670968-72.340645-72.670968s-72.340645%2032.536774-72.340645%2072.670968c0%2040.134194%2032.393634%2072.670968%2072.340645%2072.670968z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M659.577118%201008.012387v-522.900645%22%20fill%3D%22%23FFF061%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M640.055054%20501.627871l29.684989-16.516129v522.900645h-29.696z%22%20fill%3D%22%23E9E9E9%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M373.793032%20114.588903V14.490151%22%20fill%3D%22%23FFF061%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M354.259957%2014.490151h29.696v50.550365h-29.696zM373.793032%20824.991656V485.111742M348.622452%20496.331699l25.17058%2015.668301%2010.162925%20312.991656h-29.696z%22%20fill%3D%22%23E9E9E9%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M448.534022%2068.277677L356.186839%2012.992688%22%20fill%3D%22%23FFF061%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M348.622452%2025.875269L363.80628%200.187183l83.24129%2051.651441-32.481721%2012.706408z%22%20fill%3D%22%23E9E9E9%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocai1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocai1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M128.256%20581.056a382.016%20382.016%200%200%201%2081.92-240c27.712-35.2%2060.672-64.64%2097.28-87.68V153.344C307.52%2068.928%20239.04%200%20154.56%200H128v578.688h0.192l0.064%202.368%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M649.92%20427.776L795.328%20319.808a381.312%20381.312%200%200%201%20100.48%20270.272A381.12%20381.12%200%200%201%20787.84%20845.312L645.696%20733.44%20642.56%20735.936a204.8%20204.8%200%200%200%207.36-308.16%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M511.616%20962.752a380.16%20380.16%200%200%201-237.312-82.368A384.512%20384.512%200%200%201%20210.176%20341.12a382.08%20382.08%200%200%201%20302.08-146.56c86.784%200%20168.896%2028.544%20237.248%2082.432%2016.512%2012.928%2031.872%2027.2%2046.016%2042.688l-145.6%20108.16A202.24%20202.24%200%200%200%20537.6%20375.68a204.16%20204.16%200%200%200-195.712%2089.28c-59.072%2087.808-39.552%20209.088%2043.648%20274.496a202.432%20202.432%200%200%200%20126.272%2043.712c49.92%200%2097.024-17.792%20133.824-49.728l142.464%20112.192a381.952%20381.952%200%200%201-276.48%20117.12z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weiguanzhu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weiguanzhu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M389.907692%20274.825846a110.119385%20110.119385%200%200%200-69.159384-23.236923c-68.844308%200-124.612923%2061.44-124.612923%20137.294769-0.236308%2029.538462%208.428308%2058.289231%2024.733538%2081.841231l0.078769%200.157539a26.387692%2026.387692%200%200%200%2039.699693%203.229538%2033.240615%2033.240615%200%200%200%205.513846-39.936c0-0.236308-0.157538-0.236308-0.236308-0.393846l-1.024-1.575385a76.878769%2076.878769%200%200%201-12.445538-43.323077c0-41.590154%2030.562462-75.303385%2068.292923-75.303384%2015.281231%200%2028.672%204.962462%2040.014769%2014.25723l0.078769-0.078769c13.075692%209.216%2030.483692%205.041231%2038.833231-9.294769a32.846769%2032.846769%200%200%200-9.688615-43.638154z%22%20fill%3D%22%23595959%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M513.181538%20923.648c-15.675077%200-29.932308-11.106462-40.723692-20.952615L330.121846%20746.023385%20151.000615%20549.021538C65.063385%20454.025846%2065.142154%20299.638154%20151.394462%20204.878769c41.668923-45.686154%2096.886154-70.971077%20155.648-70.971077s113.979077%2015.596308%20155.648%2061.44l49.782153%2049.939693%208.27077-9.216%201.339077-1.417847%2040.96-40.172307C604.396308%20149.188923%20659.298462%20133.907692%20717.430154%20133.907692c58.683077%200%20113.900308%2025.206154%20155.490461%2071.049846%2043.874462%2048.364308%2066.166154%20112.403692%2064.275693%20185.107693v0.787692l-0.07877%200.393846v1.181539c-0.787692%2015.911385-12.051692%2028.829538-26.230153%2030.089846a25.363692%2025.363692%200%200%201-2.205539%200c-14.651077%200-27.096615-12.839385-28.278154-29.302154v-1.417846l-0.078769-1.496616c0-0.945231%200-2.126769%200.157539-3.387076l0.078769-0.315077v-0.315077a197.474462%20197.474462%200%200%200-49.545846-135.955693%20162.107077%20162.107077%200%200%200-120.595693-54.902153c-35.761231%200-70.104615%2012.130462-99.24923%2034.973538l-21.740308%2019.613538-77.036308%2075.224616-77.193846-75.224616-21.504-19.298461a159.428923%20159.428923%200%200%200-100.036923-35.682462c-35.918769%200-70.419692%2012.209231-99.564308%2035.288616-75.854769%2060.022154-93.262769%20176.836923-38.833231%20260.332307l0.315077%200.393847%20327.128616%20364.307692%2010.633846%2014.020923%208.822154-14.178462%2043.953231-49.07323h0.157538l2.048-2.441846a24.576%2024.576%200%200%201%2018.904615-9.373539c7.876923%200%2014.966154%203.702154%2019.849847%2010.161231a31.507692%2031.507692%200%200%201-3.15077%2041.432615l-0.472615%200.472616-51.278769%2056.477538c-13.627077%2013.863385-26.466462%2020.716308-39.069539%2020.716308z%22%20fill%3D%22%23595959%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.723077%20803.524923c-16.384%200-29.774769-14.966154-29.774769-33.476923V671.271385H665.757538c-16.462769%200-29.853538-14.966154-29.853538-33.476923s13.390769-33.555692%2029.853538-33.555693h90.19077V505.540923c0-18.510769%2013.390769-33.555692%2029.774769-33.555692%2016.462769%200%2029.853538%2015.044923%2029.853538%2033.555692V604.16h90.19077c16.462769%200%2029.853538%2015.044923%2029.853538%2033.555692s-13.390769%2033.555692-29.853538%2033.555693H815.576615v98.697846c0%2018.432-13.390769%2033.476923-29.853538%2033.476923z%22%20fill%3D%22%23595959%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gongdan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gongdan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M709.664%20224H302.016C266.592%20224%20240%20251.968%20240%20283.936v456.128c0%2032%2026.56%2059.936%2062.016%2059.936h407.648c35.456%200%2062.016-27.968%2062.016-59.936V283.936c0-32-26.56-59.936-62.016-59.936zM476.8%20600.64h-116c-16.096%200-32.224-16.64-32.224-33.28%200-16.576%2012.896-33.216%2032.224-33.216h112.8c16.096%200%2032.224%2016.64%2032.224%2033.248%200%2016.608-12.896%2033.216-29.024%2033.216z%20m129.984-132.96h-239.04c-19.584%200-39.168-16.608-39.168-33.216%200-16.64%2015.68-33.248%2039.2-33.248h235.104c11.744%200%2027.424%206.656%2031.36%2016.64%203.904%209.952%207.808%2023.264%200%2033.216-3.936%209.984-15.68%2016.64-27.456%2016.64z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhiwei { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhiwei%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.6%201024H150.4A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M777.6%20534.848h-187.52v-30.464h-156.16v30.4H246.4V383.04c0-33.536%2027.968-60.672%2062.496-60.672h93.76v-30.464c0-25.152%2020.928-45.504%2046.848-45.504h124.992c25.92%200%2046.88%2020.352%2046.88%2045.504v30.4h93.728c34.528%200%2062.496%2027.136%2062.496%2060.672V534.848z%20m0%2030.336v151.744c0%2033.6-27.968%2060.736-62.496%2060.736H308.96c-34.56%200-62.56-27.168-62.56-60.736v-151.68h187.52v30.272h156.16v-30.336h187.52z%20m-187.52-242.816v-30.464a15.392%2015.392%200%200%200-15.52-15.104h-125.056a15.392%2015.392%200%200%200-15.584%2015.168v30.4h156.16z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-pengyouquanzhushou { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-pengyouquanzhushou%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M511.999573%20667.56211a146.474545%20146.474545%200%200%201-146.303878-146.303878%2041.813298%2041.813298%200%200%200-83.58393%200A230.101142%20230.101142%200%200%200%20511.999573%20751.146041a230.101142%20230.101142%200%200%200%20229.887809-229.887809%2041.813298%2041.813298%200%200%200-83.626597%200A146.474545%20146.474545%200%200%201%20511.999573%20667.56211z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M0%20511.999573c0%2090.069258%2023.338647%20176.853186%2066.986611%20253.397123a17.621319%2017.621319%200%200%201-2.645331-6.997328c0.085333%201.407999-0.042667%203.92533-0.512%207.381327-1.109332%208.10666-3.711997%2019.029317-7.551994%2031.78664-2.175998%207.210661-4.693329%2014.805321-7.551993%2022.741315-5.162662%2014.506655-10.837324%2028.885309-16.938653%2043.093297l-29.823975%2067.839944%2073.514605-9.642659%2015.231988-1.919998c16.383986-2.005332%2032.810639-3.967997%2049.237292-5.759996a680.1061%20680.1061%200%200%201%2053.674622-4.479996c-1.919998%200-5.631995-0.853333-11.989323-6.271995A510.292908%20510.292908%200%200%200%20511.999573%201023.999147c282.751764%200%20511.999573-229.247809%20511.999574-511.999574%200-282.794431-229.247809-511.999573-511.999574-511.999573S0%20229.247809%200%20511.999573z%20m940.37255%200c0%20236.543803-191.786507%20428.372976-428.372977%20428.372977a426.538311%20426.538311%200%200%201-276.309103-100.94925c-12.15999-10.325325-25.898645-13.567989-42.069298-13.567988-12.330656%200-33.535972%201.791999-62.719948%204.991996l-14.079988%201.578665c-17.365319%201.962665-34.773304%204.095997-52.138623%206.314661l43.647963%2058.282618c6.911994-15.999987%2013.311989-32.255973%2019.199984-48.639959%203.199997-9.173326%206.143995-18.047985%208.74666-26.623978%2013.397322-44.245296%2017.322652-73.258606%203.28533-97.791918A426.324978%20426.324978%200%200%201%2083.626597%20511.999573C83.626597%20275.45577%20275.45577%2083.626597%20511.999573%2083.626597c236.58647%200%20428.372976%20191.74384%20428.372977%20428.372976z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhaogongtv { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhaogongtv%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M455.123437%20512.002133H227.540385a38.058508%2038.058508%200%200%201-37.930508-37.930508c0-20.863913%2017.066596-37.930509%2037.973175-37.930509h227.540385c20.863913%200%2037.930509%2017.066596%2037.930509%2037.973175%200%2020.821247-17.066596%2037.887842-37.973176%2037.887842z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M341.331911%20777.473027a38.058508%2038.058508%200%200%201-37.930509-37.930508v-265.470894c0-20.863913%2017.066596-37.930509%2037.930509-37.930509s37.930509%2017.066596%2037.930509%2037.973175v265.428228c0%2020.90658-17.066596%2037.973175-37.930509%2037.973175z%20m341.331911%200a37.461177%2037.461177%200%200%201-34.133191-22.741238l-113.791526-265.470894c-7.551969-18.986588%200-41.727826%2018.986588-49.322461%2018.943921-7.594635%2041.727826%200%2049.279794%2020.863913L682.663822%20644.73758l79.658335-183.935233a38.485173%2038.485173%200%200%201%2049.279795-20.863913%2036.09585%2036.09585%200%200%201%2018.986587%2049.322461L716.797013%20754.731789a37.461177%2037.461177%200%200%201-34.133191%2022.741238z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M910.204207%201024H113.791526A114.132858%20114.132858%200%200%201%200%20910.208474V303.405669c0-62.591739%2051.199787-113.791526%20113.791526-113.791526h796.412681C972.795947%20189.614143%201023.995733%20240.81393%201023.995733%20303.405669v606.802805C1023.995733%20972.800213%20972.795947%201024%20910.204207%201024zM113.791526%20265.475161c-20.90658%200-37.973175%2017.066596-37.973175%2037.973175v606.760138c0%2020.90658%2017.066596%2037.973175%2037.973175%2037.973175h796.412681c20.90658%200%2037.973175-17.066596%2037.973176-37.973175V303.405669c0-20.863913-17.066596-37.930509-37.973176-37.930508H113.791526z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M436.136849%20265.475161a37.418511%2037.418511%200%200%201-26.538556-11.349287L219.988417%2064.430665a36.69318%2036.69318%200%200%201%200-53.077112%2036.69318%2036.69318%200%200%201%2053.077112%200l189.609877%20189.609876a36.69318%2036.69318%200%200%201%200%2053.119779%2037.418511%2037.418511%200%200%201-26.538557%2011.349286z%20m151.722035%200a37.418511%2037.418511%200%200%201-26.538556-11.349287%2036.69318%2036.69318%200%200%201%200-53.119778L750.930204%2011.396219a36.69318%2036.69318%200%200%201%2053.077113%200%2036.69318%2036.69318%200%200%201%200%2053.077112L614.39744%20254.125874a37.418511%2037.418511%200%200%201-26.538556%2011.349287z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-hanshujiagong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-hanshujiagong%22%20viewBox%3D%220%200%201045%201024%22%3E%3Cpath%20d%3D%22M520%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%233392FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M725.952%20661.717333l-6.016-33.6c-2.218667-8.96-15.488-10.858667-15.488-10.858666l-1.557333-56.661334c-87.850667-11.626667-159.68%2036.202667-159.68%2036.202667h-39.68c-85.546667-52.928-159.274667-36.202667-159.274667-36.202667l-1.92%2056.661334c-14.101333%201.322667-16.512%2013.269333-16.512%2013.269333l-5.824%2037.525333c2.944%2021.162667%2020.010667%2019.072%2020.010667%2019.072%201.045333%2028.309333-8.512%2071.893333-8.512%2071.893334%20112.426667%208.704%20172.032%2051.648%20172.032%2051.648h39.744c64.426667-44.906667%20172.416-51.626667%20172.416-51.626667-5.888-11.968-8.746667-71.893333-8.746667-71.893333%2023.658667%200%2019.008-25.429333%2019.008-25.429334z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M445.162667%20502.101333c-23.594667%208.362667-45.44%2020.522667-64.768%2035.626667%2010.325333%200.704%2021.76%201.962667%2034.133333%203.84%2010.837333%201.493333%2020.309333%203.733333%2028.16%205.824%2034.176%208.234667%2057.642667%2020.586667%2069.738667%2028.096h21.44c12.096-7.509333%2035.541333-19.797333%2069.738666-28.096%207.893333-2.090667%2017.322667-4.309333%2028.16-5.824%2012.373333-1.813333%2023.808-3.136%2034.133334-3.84a232.362667%20232.362667%200%200%200-64.789334-35.626667c0.149333-0.064%200.277333-0.213333%200.405334-0.256a231.893333%20231.893333%200%200%200-28.501334-6.933333%2024.213333%2024.213333%200%200%201-2.346666-15.829333c36.053333-19.008%2044.437333-61.76%2044.437333-61.76%2058.56-60.266667%2012.096-73.472%2012.096-73.472%201.301333-48.746667-15.168-77.056-15.168-77.056%2019.093333-18.432%2017.642667-28.949333%2017.642667-28.949334-20.458667%200.128-51.882667-17.130667-51.882667-17.130666-51.904-15.808-83.669333-1.301333-83.669333-1.301334-79.744%2028.309333-70.528%20126.464-70.528%20126.464-45.482667%2012.224%2010.197333%2071.509333%2010.197333%2071.509334%203.989333%2038.378667%2037.12%2057.066667%2045.76%2061.312%200.256%202.026667%200.576%208.32-3.2%2015.808a183.146667%20183.146667%200%200%200-31.189333%207.594666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-jinriretui { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-jinriretui%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%232DBAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M514.944%20763.370667l83.989333-302.442667a7.509333%207.509333%200%200%200-1.066666-6.4%207.125333%207.125333%200%200%200-5.589334-3.050667h-172.074666a7.125333%207.125333%200%200%200-5.589334%203.029334%207.509333%207.509333%200%200%200-1.066666%206.4l88.106666%20302.464c1.066667%202.794667%203.712%204.629333%206.634667%204.629333a7.168%207.168%200%200%200%206.656-4.629333z%20m-49.664-20.48a7.424%207.424%200%200%200%203.584-8.384l-80.917333-277.781334a7.210667%207.210667%200%200%200-6.656-5.248h-125.973334a7.146667%207.146667%200%200%200-6.613333%204.181334%207.509333%207.509333%200%200%200%200.981333%207.893333l206.890667%20277.248a7.04%207.04%200%200%200%208.704%202.090667z%20m85.525333-2.090667a7.04%207.04%200%200%200%208.704-2.112l199.210667-275.136a7.509333%207.509333%200%200%200%200.533333-7.488%207.168%207.168%200%200%200-6.186666-4.053333h-122.88a7.210667%207.210667%200%200%200-6.677334%205.226666l-76.8%20275.157334a7.402667%207.402667%200%200%200%204.096%208.405333z%20m89.6-310.848h108.586667a7.168%207.168%200%200%200%206.186667-4.416%207.509333%207.509333%200%200%200-1.066667-7.68l-82.453333-95.573333a7.061333%207.061333%200%200%200-12.288%202.645333l-25.6%2095.573333a7.509333%207.509333%200%200%200%201.045333%206.4c1.301333%201.856%203.370667%202.986667%205.589333%203.050667z%20m-88.576-0.533333h50.688a7.210667%207.210667%200%200%200%206.656-5.248l18.944-71.424a7.445333%207.445333%200%200%200-3.178666-8.234667%207.04%207.04%200%200%200-8.597334%200.896l-69.632%2071.402667a7.466667%207.466667%200%200%200-1.621333%208.085333c1.130667%202.773333%203.797333%204.565333%206.741333%204.522667z%20m-144.426666%200h54.805333a7.168%207.168%200%200%200%206.72-4.522667%207.466667%207.466667%200%200%200-1.6-8.085333l-75.285333-73.514667a7.04%207.04%200%200%200-8.597334-0.874667%207.445333%207.445333%200%200%200-3.178666%208.234667l20.48%2072.981333c0.704%203.242667%203.413333%205.610667%206.656%205.781334z%20m-149.013334%200h112.64a7.125333%207.125333%200%200%200%205.610667-3.050667%207.509333%207.509333%200%200%200%201.066667-6.4l-28.672-97.152a7.061333%207.061333%200%201%200-12.288-2.624l-83.989334%2097.152a7.509333%207.509333%200%200%200-0.981333%207.893333%207.146667%207.146667%200%200%200%206.613333%204.181334z%20m253.482667-9.450667l106.026667-108.693333a7.466667%207.466667%200%200%200%201.578666-8.085334%207.168%207.168%200%200%200-6.72-4.522666h-218.666666a7.168%207.168%200%200%200-6.72%204.522666%207.466667%207.466667%200%200%200%201.6%208.085334l112.661333%20108.693333a7.082667%207.082667%200%200%200%2010.24%200z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shixisheng { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shixisheng%22%20viewBox%3D%220%200%201045%201024%22%3E%3Cpath%20d%3D%22M520%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFCC33%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M802.069333%20394.581333c14.528-9.088%2037.44-16.554667-14.72-39.253333-59.733333-24.597333-164.714667-65.685333-217.6-87.466667-0.256-0.085333-4.629333-2.026667-4.864-2.133333-39.594667-16.64-57.002667-9.536-89.045333%203.413333-54.314667%2020.522667-144.469333%2058.133333-206.464%2081.664-47.573333%2017.792-44.693333%2031.082667-0.768%2052.053334%2065.792%2031.424%20192%2079.701333%20219.904%2090.176%2027.904%2010.453333%2048.042667%2010.538667%2076.16-2.112%2026.837333-12.053333%2071.36-27.328%20184.149333-73.898667%202.538667-1.045333%2020.266667-8.533333%2053.248-22.442667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M571.136%20525.141333c-41.386667%2014.826667-52.757333%209.450667-86.4-0.768-46.464-14.144-114.453333-43.114667-154.005333-56.96a11.989333%2011.989333%200%200%200-10.922667%201.578667%2012.181333%2012.181333%200%200%200-5.077333%209.92v217.813333c0%204.245333%202.176%208.192%205.76%2010.389334C342.72%20720.853333%20426.816%20768%20532.544%20768c98.154667%200%20180.053333-47.125333%20201.813333-60.864a12.181333%2012.181333%200%200%200%205.674667-10.304V477.845333a12.181333%2012.181333%200%200%200-5.226667-10.048%2011.989333%2011.989333%200%200%200-11.178666-1.322666c-48.832%2019.050667-122.325333%2047.829333-152.490667%2058.666666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shehuigong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shehuigong%22%20viewBox%3D%220%200%201045%201024%22%3E%3Cpath%20d%3D%22M520%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M517.76%20391.104c108.8%200%20197.034667%2089.152%20197.034667%20199.125333%200%2071.125333-37.546667%20136.853333-98.517334%20172.437334a195.242667%20195.242667%200%200%201-197.034666%200C358.293333%20727.082667%20320.746667%20661.333333%20320.746667%20590.229333c0-109.973333%2088.213333-199.125333%20197.013333-199.125333z%20m0.042667%2085.333333a12.757333%2012.757333%200%200%200-11.712%207.68l-24.661334%2052.821334a13.205333%2013.205333%200%200%201-9.877333%207.552l-55.146667%208.448c-10.752%201.664-15.018667%2015.573333-7.253333%2023.552l39.872%2041.088c3.072%203.2%204.522667%207.765333%203.754667%2012.181333l-9.450667%2058.069333c-1.792%2011.306667%209.386667%2019.882667%2018.986667%2014.549334l49.322666-27.370667c3.776-2.133333%208.362667-2.133333%2012.138667%200l49.322667%2027.370667c9.6%205.333333%2020.821333-3.264%2018.986666-14.549334l-9.386666-58.069333a14.506667%2014.506667%200%200%201%203.754666-12.181333l39.957334-41.088c7.744-7.978667%203.413333-21.888-7.253334-23.552l-55.168-8.448a13.205333%2013.205333%200%200%201-9.877333-7.552l-24.661333-52.8a12.736%2012.736%200%200%200-11.648-7.68z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M411.925333%20394.794667l-46.570666-69.12c-1.877333-2.752-0.725333-5.376%202.602666-5.738667l73.109334-8.192a10.752%2010.752%200%200%201%209.322666%204.48l28.586667%2044.16c1.813333%202.816%200.618667%205.376-2.709333%205.76%200%200-38.954667%204.096-64.341334%2028.650667z%22%20fill%3D%22%23FEA15D%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M386.944%20416c-0.426667%200-0.853333%200-1.28-0.064a12.138667%2012.138667%200%200%201-8.704-5.248l-68.202667-101.269333a12.288%2012.288%200%200%201%208.704-18.986667l116.16-13.013333a12.032%2012.032%200%200%201%2011.434667%205.418666l48%2074.24a12.309333%2012.309333%200%200%201%200.810667%2011.946667%2012.032%2012.032%200%200%201-9.685334%206.890667c-0.533333%200.064-57.749333%206.549333-88.896%2036.672a11.946667%2011.946667%200%200%201-8.32%203.413333z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M628.096%20394.794667l46.570667-69.12c1.877333-2.752%200.725333-5.376-2.602667-5.738667l-73.109333-8.192a10.752%2010.752%200%200%200-9.301334%204.48l-28.608%2044.16c-1.813333%202.816-0.597333%205.376%202.709334%205.76%200%200%2038.954667%204.096%2064.341333%2028.650667z%22%20fill%3D%22%23FEA15D%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M653.077333%20416a12.16%2012.16%200%200%201-8.341333-3.349333c-31.274667-30.250667-88.341333-36.608-88.896-36.693334a12.117333%2012.117333%200%200%201-9.664-6.890666%2012.309333%2012.309333%200%200%201%200.768-11.904l48.021333-74.24a11.904%2011.904%200%200%201%2011.434667-5.461334l116.16%2013.013334a12.16%2012.16%200%200%201%209.685333%207.04%2012.437333%2012.437333%200%200%201-0.981333%2011.968l-68.202667%20101.141333a11.946667%2011.946667%200%200%201-8.704%205.248c-0.490667%200.064-0.917333%200.128-1.28%200.128z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gantan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gantan%22%20viewBox%3D%220%200%201170%201024%22%3E%3Cpath%20d%3D%22M585.194057%200c57.782857%200%20110.592%2029.988571%20140.726857%2079.506286l419.766857%20688.786285c31.232%2051.346286%2032.914286%20115.712%204.388572%20168.594286A165.010286%20165.010286%200%200%201%201004.887771%201024H165.354057c-60.635429%200-116.224-33.645714-145.042286-87.04a169.618286%20169.618286%200%200%201%204.388572-168.667429l419.693714-688.786285A164.278857%20164.278857%200%200%201%20585.194057%200z%20m7.314286%20699.245714c-48.493714%200-87.771429%2040.96-87.771429%2091.428572s39.277714%2091.428571%2087.771429%2091.428571c48.493714%200%2087.771429-40.96%2087.771428-91.428571s-39.277714-91.428571-87.771428-91.428572z%20m0-465.188571c-36.352%200-65.828571%2030.72-65.828572%2068.534857v259.584c0%2037.814857%2029.476571%2068.534857%2065.828572%2068.534857s65.828571-30.72%2065.828571-68.534857V302.592c0-37.814857-29.476571-68.534857-65.828571-68.534857z%22%20fill%3D%22%23E6F8F8%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-duoxuan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-duoxuan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M192%2021.333333h640c93.866667%200%20170.666667%2076.8%20170.666667%20170.666667v640c0%2093.866667-76.8%20170.666667-170.666667%20170.666667h-640c-93.866667%200-170.666667-76.8-170.666667-170.666667v-640c0-93.866667%2076.8-170.666667%20170.666667-170.666667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M832%201024h-640C85.333333%201024%200%20938.666667%200%20832v-640C0%2085.333333%2085.333333%200%20192%200h640C938.666667%200%201024%2085.333333%201024%20192v640c0%20106.666667-85.333333%20192-192%20192zM192%2042.666667C110.933333%2042.666667%2042.666667%20110.933333%2042.666667%20192v640C42.666667%20913.066667%20110.933333%20981.333333%20192%20981.333333h640c81.066667%200%20149.333333-68.266667%20149.333333-149.333333v-640C981.333333%20110.933333%20913.066667%2042.666667%20832%2042.666667h-640z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ziying1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ziying1%22%20viewBox%3D%220%200%201638%201024%22%3E%3Cpath%20d%3D%22M128%2025.6h1382.4c56.32%200%20102.4%2046.08%20102.4%20102.4v768c0%2056.32-46.08%20102.4-102.4%20102.4h-1382.4c-56.32%200-102.4-46.08-102.4-102.4v-768c0-56.32%2046.08-102.4%20102.4-102.4z%22%20fill%3D%22%23FFF3F3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1510.4%201024h-1382.4C56.32%201024%200%20967.68%200%20896v-768C0%2056.32%2056.32%200%20128%200h1382.4C1582.08%200%201638.4%2056.32%201638.4%20128v768c0%2071.68-56.32%20128-128%20128zM128%2051.2C87.04%2051.2%2051.2%2087.04%2051.2%20128v768c0%2040.96%2035.84%2076.8%2076.8%2076.8h1382.4c40.96%200%2076.8-35.84%2076.8-76.8v-768c0-40.96-35.84-76.8-76.8-76.8h-1382.4z%22%20fill%3D%22%23FEA39F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M716.8%20798.72h-46.08v-35.84H348.16v35.84h-46.08V312.32h133.12c15.36-25.6%2025.6-51.2%2030.72-76.8l46.08%205.12c-10.24%2025.6-20.48%2046.08-30.72%2071.68H716.8v486.4z%20m-46.08-353.28V353.28H348.16v92.16h322.56z%20m0%20133.12V486.4H348.16v92.16h322.56z%20m0%20138.24v-102.4H348.16v102.4h322.56zM998.4%20281.6v-40.96h46.08v40.96h163.84v-40.96h46.08v40.96h138.24v40.96h-138.24V358.4h-46.08v-40.96h-163.84v35.84h-46.08v-35.84h-138.24v-35.84h138.24z%20m373.76%20215.04H1331.2V419.84h-409.6v81.92h-40.96V378.88h491.52v117.76z%20m-35.84%20302.08h-40.96v-25.6h-332.8v25.6H921.6v-174.08h419.84v174.08z%20m-40.96-61.44V665.6h-332.8v71.68h332.8zM1280%20460.8v122.88h-307.2V460.8h307.2z%20m-40.96%2035.84h-225.28v56.32h225.28V496.64z%22%20fill%3D%22%23F6343E%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zanwu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zanwu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M258.403756%20334.122066L1.201878%20639.399061h1010.779343L754.779343%20334.122066z%22%20fill%3D%22%23B1B8C1%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M210.328638%200h606.948357c28.84507%200%2042.065728%2014.422535%2042.065728%2043.267606v734.347417c0%2028.84507-14.422535%2043.267606-42.065728%2043.267606H210.328638c-28.84507%200-42.065728-14.422535-42.065727-43.267606V43.267606C167.061033%2014.422535%20181.483568%200%20210.328638%200z%22%20fill%3D%22%23F5F5F7%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M721.126761%20679.061033c0%2033.652582-27.643192%2061.295775-62.497653%2061.295775H354.553991c-34.85446%200-62.497653-27.643192-62.497653-61.295775%200-21.633803-18.028169-39.661972-39.661972-39.661972H1.201878v306.478873c0%2038.460094%2031.248826%2069.70892%2070.910798%2069.70892h868.957747c19.230047%200%2037.258216-7.211268%2050.478873-20.431924s20.431925-31.248826%2020.431925-49.276996V639.399061H760.788732c-22.835681%201.201878-39.661972%2018.028169-39.661971%2039.661972zM287.248826%2069.70892h450.704226c15.624413%200%2024.037559%208.413146%2024.037558%2024.037559v230.760563c0%2015.624413-8.413146%2024.037559-24.037558%2024.037559H287.248826c-15.624413%200-24.037559-8.413146-24.037558-24.037559V92.544601c1.201878-15.624413%208.413146-22.835681%2024.037558-22.835681zM284.84507%20459.117371h456.713615c13.220657%200%2020.431925%207.211268%2020.431925%2020.431925%200%2014.422535-7.211268%2020.431925-20.431925%2020.431925h-456.713615c-13.220657%200-20.431925-7.211268-20.431924-20.431925s7.211268-20.431925%2020.431924-20.431925zM284.84507%20556.469484h456.713615c13.220657%200%2020.431925%207.211268%2020.431925%2020.431924%200%2014.422535-7.211268%2020.431925-20.431925%2020.431925h-456.713615c-13.220657%200-20.431925-7.211268-20.431924-20.431925s7.211268-20.431925%2020.431924-20.431924z%22%20fill%3D%22%23DEE0E4%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ziying3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ziying3%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M832%20864h-57.6v-44.8H371.2v44.8H320V249.6h166.4c12.8-25.6%2025.6-57.6%2032-89.6l57.6%206.4c-6.4%2032-19.2%2057.6-38.4%2083.2H832v614.4z%20m-51.2-441.6V307.2H371.2v115.2h409.6z%20m0%20166.4V467.2H371.2v115.2h409.6z%20m0%20172.8v-128H371.2v128h409.6zM1184%20211.2v-51.2h57.6v51.2h204.8v-51.2h57.6v51.2h172.8v51.2h-172.8v44.8h-57.6v-44.8h-204.8v44.8h-57.6v-44.8h-172.8v-51.2h172.8z%20m467.2%20268.8H1600V384h-512v102.4h-51.2V339.2h614.4v140.8z%20m-44.8%20384h-51.2V832h-416v32H1088v-217.6h524.8v217.6z%20m-51.2-76.8v-89.6h-416v89.6h416zM1536%20441.6v153.6h-384V441.6h384z%20m-51.2%2044.8h-281.6v70.4h281.6V486.4z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-sanfang2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-sanfang2%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M928%20761.6v57.6H236.8v-57.6h691.2z%20m-51.2-550.4v51.2H294.4v-51.2h582.4z%20m-51.2%20262.4v51.2H345.6v-51.2h480zM1350.4%20262.4c-12.8-32-32-64-57.6-96l51.2-19.2c19.2%2032%2038.4%2070.4%2057.6%20115.2h288V320h-403.2L1280%20454.4h320c0%20153.6-6.4%20249.6-19.2%20294.4-12.8%2064-51.2%2096-115.2%20102.4h-89.6l-19.2-51.2h102.4c38.4%200%2064-32%2070.4-83.2%206.4-32%206.4-102.4%206.4-204.8h-268.8c-12.8%2064-32%20115.2-57.6%20166.4-38.4%2064-89.6%20128-160%20179.2l-25.6-38.4c83.2-70.4%20134.4-134.4%20160-192%2025.6-57.6%2038.4-128%2044.8-198.4%200-51.2%206.4-83.2%206.4-108.8H1024v-57.6h326.4z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua8 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua8%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23F6F6F6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M574.171429%20574.171429c-7.314286%207.314286-14.628571%2018.285714-21.942858%2029.257142-25.6-14.628571-51.2-36.571429-73.142857-54.857142s-40.228571-47.542857-54.857143-73.142858c10.971429-3.657143%2021.942857-10.971429%2029.257143-21.942857%2043.885714-43.885714%2043.885714-117.028571%200-160.914285S336.457143%20248.685714%20292.571429%20292.571429c-21.942857%2018.285714-36.571429%2043.885714-36.571429%2076.8%200%2095.085714%2040.228571%20182.857143%20128%20270.628571%2087.771429%2087.771429%20175.542857%20128%20266.971429%20128h3.657142c29.257143%200%2058.514286-10.971429%2076.8-32.914286%2043.885714-43.885714%2043.885714-117.028571%200-160.914285-40.228571-43.885714-113.371429-43.885714-157.257142%200z%20m146.285714%20146.285714c-18.285714%2018.285714-40.228571%2025.6-62.171429%2025.6h-3.657143c-87.771429%200-168.228571-40.228571-248.685714-124.342857-84.114286-84.114286-124.342857-168.228571-124.342857-256%200-25.6%2010.971429-47.542857%2025.6-62.171429%2014.628571-18.285714%2036.571429-29.257143%2062.171429-29.257143s47.542857%2010.971429%2065.828571%2025.6c36.571429%2036.571429%2036.571429%2095.085714%200%20131.657143-10.971429%2010.971429-21.942857%2014.628571-32.914286%2021.942857v7.314286c18.285714%2032.914286%2040.228571%2062.171429%2065.828572%2087.771429s58.514286%2047.542857%2087.771428%2065.828571h7.314286l3.657143-3.657143c3.657143-10.971429%2010.971429-25.6%2021.942857-32.914286%2036.571429-36.571429%2095.085714-36.571429%20131.657143%200%2036.571429%2047.542857%2036.571429%20106.057143%200%20142.628572z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M650.971429%20778.971429c-95.085714%200-186.514286-43.885714-274.285715-131.657143-91.428571-91.428571-135.314286-182.857143-131.657143-277.942857%200-32.914286%2014.628571-62.171429%2036.571429-84.114286%2021.942857-21.942857%2054.857143-36.571429%2087.771429-36.571429s65.828571%2014.628571%2087.771428%2036.571429c47.542857%2047.542857%2047.542857%20128%200%20179.2-7.314286%207.314286-14.628571%2014.628571-21.942857%2018.285714%2014.628571%2021.942857%2029.257143%2043.885714%2047.542857%2062.171429s36.571429%2032.914286%2062.171429%2047.542857c3.657143-7.314286%2010.971429-14.628571%2018.285714-21.942857%2047.542857-47.542857%20128-47.542857%20175.542857%200%2021.942857%2021.942857%2036.571429%2054.857143%2036.571429%2087.771428%200%2032.914286-14.628571%2065.828571-36.571429%2087.771429-21.942857%2021.942857-51.2%2036.571429-84.114286%2036.571428h-3.657142z%20m-281.6-512c-29.257143%200-54.857143%2010.971429-73.142858%2029.257142s-29.257143%2043.885714-29.257142%2069.485715c0%2087.771429%2040.228571%20175.542857%20124.342857%20263.314285%2054.857143%2054.857143%20109.714286%2091.428571%20168.228571%20109.714286-54.857143-18.285714-109.714286-54.857143-164.571428-109.714286-87.771429-87.771429-128-171.885714-124.342858-263.314285%200-25.6%2010.971429-51.2%2029.257143-69.485715%2014.628571-18.285714%2043.885714-29.257143%2069.485715-29.257142s54.857143%2010.971429%2073.142857%2029.257142%2025.6%2036.571429%2029.257143%2058.514286c-3.657143-21.942857-14.628571-43.885714-29.257143-58.514286-18.285714-18.285714-43.885714-29.257143-73.142857-29.257142z%20m0%2021.942857c-21.942857%200-40.228571%2010.971429-51.2%2025.6-18.285714%2014.628571-25.6%2032.914286-25.6%2054.857143%200%2084.114286%2036.571429%20164.571429%20120.685714%20248.685714%2080.457143%2080.457143%20160.914286%20120.685714%20241.371428%20120.685714h3.657143c18.285714%200%2040.228571-7.314286%2054.857143-25.6%2032.914286-32.914286%2029.257143-84.114286%200-117.028571-32.914286-32.914286-84.114286-32.914286-117.028571%200-7.314286%207.314286-14.628571%2014.628571-18.285715%2029.257143l-3.657142%203.657142-7.314286%207.314286H544.914286c-36.571429-18.285714-65.828571-43.885714-91.428572-65.828571-25.6-25.6-47.542857-54.857143-65.828571-91.428572v-21.942857h7.314286l7.314285-7.314286c10.971429-3.657143%2021.942857-10.971429%2029.257143-18.285714%2014.628571-14.628571%2025.6-36.571429%2025.6-58.514286s-14.628571-43.885714-29.257143-58.514285c-14.628571-18.285714-36.571429-25.6-58.514285-25.6z%20m332.8%20274.285714c7.314286%203.657143%2018.285714%2010.971429%2025.6%2018.285714%2018.285714%2018.285714%2029.257143%2043.885714%2029.257142%2069.485715%200-25.6-10.971429-51.2-29.257142-73.142858-7.314286-7.314286-18.285714-10.971429-25.6-14.628571z%20m-292.571429-98.742857l7.314286-3.657143c7.314286-3.657143%2014.628571-10.971429%2025.6-18.285714%2014.628571-14.628571%2025.6-36.571429%2029.257143-58.514286-3.657143%2021.942857-14.628571%2043.885714-29.257143%2058.514286-7.314286%2010.971429-18.285714%2018.285714-32.914286%2021.942857z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhanghuyue { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhanghuyue%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.29408%200%200%20229.29408%200%20512s229.29408%20512%20512%20512%20512-229.29408%20512-512S794.70592%200%20512%200z%20m-20.76672%20298.2912c18.5344-8.9088%2037.82656-17.8176%2056.38144-26.70592%2018.55488-8.9088%2032.64512-15.58528%2043.04896-20.7872%2015.5648-7.41376%2029.67552-11.12064%2042.2912-10.38336%2012.61568%200.73728%2022.99904%202.23232%2031.17056%205.9392%209.6256%204.44416%2018.5344%2010.38336%2025.96864%2017.8176l39.3216%2066.7648h-307.2c23.7568-11.12064%2046.75584-22.26176%2069.0176-32.64512z%20m310.14912%20195.1744h-144.6912c-16.32256%200-29.696%205.18144-40.81664%2016.30208-11.12064%2010.40384-17.05984%2025.23136-17.05984%2040.81664%200.73728%2011.14112%202.9696%2020.7872%206.67648%2029.696%203.70688%207.41376%208.9088%2014.09024%2017.08032%2020.02944%208.15104%205.9392%2019.29216%208.88832%2034.11968%208.88832h144.6912V724.992c0%207.41376-1.47456%2015.5648-4.44416%2022.26176-2.9696%206.67648-6.67648%2013.35296-11.8784%2018.5344a55.00928%2055.00928%200%200%201-40.05888%2017.08032H282.70592c-8.15104%200-15.5648-1.49504-22.99904-4.46464-7.41376-2.9696-13.35296-7.41376-19.29216-12.61568a69.9392%2069.9392%200%200%201-13.35296-18.5344%2060.47744%2060.47744%200%200%201-4.44416-23.01952v-316.8256c0-16.34304%205.9392-29.696%2017.05984-40.81664a56.66816%2056.66816%200%200%201%2040.81664-17.08032h462.27456c16.32256%200%2029.696%205.9392%2040.81664%2017.08032%2011.12064%2011.12064%2017.05984%2025.21088%2017.05984%2040.79616v86.07744h0.73728z%20m-126.13632%2063.05792c0%207.41376-2.9696%2014.09024-8.17152%2019.29216a26.95168%2026.95168%200%200%201-38.58432%200%2026.95168%2026.95168%200%200%201-8.15104-19.29216c0-7.41376%202.9696-14.09024%208.15104-19.29216%205.20192-5.20192%2011.8784-8.17152%2019.29216-7.41376%207.43424%200%2014.11072%202.94912%2019.29216%207.41376%205.20192%205.20192%208.17152%2012.61568%208.17152%2019.29216z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333C42.666667%20921.6%2093.866667%20981.333333%20162.133333%20981.333333h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6zM192%20733.866667h217.6v-55.466667H187.733333l4.266667%2055.466667z%20m-4.266667-196.266667h221.866667v-55.466667H187.733333v55.466667z%20m0-192h221.866667V290.133333H187.733333v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM162.133333%2051.2c-59.733333%200-106.666667%2055.466667-106.666666%20128v661.333333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H162.133333zM861.866667%20938.666667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v661.333333c0%2055.466667-38.4%2098.133333-85.333333%2098.133334zM162.133333%20106.666667c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v661.333333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533334h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533334V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333z%20m260.266667%20635.733333H183.466667l-4.266667-76.8h243.2v76.8z%20m-217.6-21.333333h196.266667v-34.133334H200.533333l4.266667%2034.133334z%20m217.6-170.666667H179.2v-76.8h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%20m221.866667-170.666667H179.2V281.6h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M759.466667%20601.6c29.866667-25.6%2046.933333-59.733333%2046.933333-102.4%200-72.533333-59.733333-136.533333-132.266667-136.533333s-132.266667%2059.733333-132.266666%20136.533333c0%2042.666667%2017.066667%2076.8%2046.933333%20102.4-59.733333%2029.866667-102.4%2093.866667-102.4%20166.4%200%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333%2059.733333-136.533333%20132.266667-136.533333S810.666667%20691.2%20810.666667%20768c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333-42.666667-136.533333-102.4-166.4z%20m-81.066667-21.333333c-42.666667%200-81.066667-34.133333-81.066667-81.066667s34.133333-81.066667%2081.066667-81.066667%2081.066667%2034.133333%2081.066667%2081.066667-38.4%2081.066667-81.066667%2081.066667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M836.266667%20802.133333c-21.333333%200-34.133333-17.066667-34.133334-34.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733333%20128%200%2021.333333-17.066667%2034.133333-34.133334%2034.133333-21.333333%200-34.133333-17.066667-34.133333-34.133333%200-68.266667%2034.133333-132.266667%2093.866667-166.4-25.6-25.6-42.666667-64-42.666667-102.4%200-81.066667%2064-145.066667%20140.8-145.066667s140.8%2064%20140.8%20145.066667c0%2038.4-17.066667%2072.533333-42.666667%20102.4%2059.733333%2034.133333%2093.866667%2098.133333%2093.866667%20166.4%200%2017.066667-17.066667%2034.133333-34.133333%2034.133333z%20m-162.133334-179.2c76.8%200%20140.8%2064%20140.8%20145.066667%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s21.333333-8.533333%2021.333333-17.066667c0-68.266667-38.4-128-98.133333-157.866667l-12.8-4.266666%208.533333-8.533334c29.866667-25.6%2042.666667-59.733333%2042.666667-98.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733334%20128%200%2038.4%2017.066667%2072.533333%2042.666667%2098.133333l8.533333%208.533334c-59.733333%2029.866667-98.133333%2093.866667-98.133333%20157.866666%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s17.066667-8.533333%2017.066666-17.066667c0-76.8%2064-140.8%20140.8-140.8z%20m0-34.133333c-46.933333%200-89.6-38.4-89.6-89.6%200-51.2%2038.4-89.6%2089.6-89.6s89.6%2038.4%2089.6%2089.6c0%2046.933333-38.4%2089.6-89.6%2089.6z%20m0-162.133333c-38.4%200-72.533333%2034.133333-72.533333%2072.533333%200%2038.4%2029.866667%2072.533333%2072.533333%2072.533333s72.533333-34.133333%2072.533334-72.533333c0-42.666667-29.866667-72.533333-72.533334-72.533333z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%231F7FEF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M972.8%20422.4c-4.266667-17.066667-12.8-29.866667-25.6-34.133333L896%20362.666667c-46.933333-21.333333-72.533333-72.533333-68.266667-123.733334l4.266667-59.733333c0-17.066667-4.266667-29.866667-12.8-38.4-42.666667-38.4-89.6-68.266667-145.066667-89.6-12.8-4.266667-29.866667-4.266667-38.4%208.533333l-51.2%2038.4c-21.333333%2017.066667-42.666667%2021.333333-68.266666%2021.333334-25.6%200-46.933333-8.533333-68.266667-21.333334L392.533333%2051.2c-12.8-8.533333-25.6-12.8-42.666666-4.266667-51.2%2017.066667-102.4%2051.2-145.066667%2089.6-8.533333%208.533333-12.8%2025.6-12.8%2038.4l4.266667%2064C204.8%20290.133333%20174.933333%20341.333333%20128%20362.666667l-51.2%2025.6c-12.8%208.533333-25.6%2021.333333-25.6%2034.133333-4.266667%2029.866667-8.533333%2059.733333-8.533333%2089.6s4.266667%2059.733333%208.533333%2089.6c4.266667%2017.066667%2012.8%2029.866667%2025.6%2034.133333l51.2%2025.6c46.933333%2021.333333%2072.533333%2072.533333%2068.266667%20123.733334l-4.266667%2064c0%2017.066667%204.266667%2029.866667%2012.8%2038.4%2042.666667%2038.4%2089.6%2068.266667%20145.066667%2089.6%2012.8%204.266667%2029.866667%204.266667%2038.4-8.533334l51.2-38.4c21.333333-17.066667%2042.666667-21.333333%2068.266666-21.333333%2025.6%200%2046.933333%208.533333%2068.266667%2021.333333l51.2%2038.4c12.8%208.533333%2025.6%2012.8%2038.4%208.533334%2055.466667-21.333333%20102.4-51.2%20145.066667-89.6%2012.8-8.533333%2017.066667-25.6%2012.8-38.4l-4.266667-59.733334c-4.266667-55.466667%2021.333333-102.4%2068.266667-123.733333L938.666667%20640c12.8-4.266667%2025.6-21.333333%2025.6-34.133333%204.266667-29.866667%208.533333-59.733333%208.533333-89.6%208.533333-34.133333%204.266667-64%200-93.866667z%20m-42.666667%20170.666667l-51.2%2025.6c-64%2029.866667-102.4%20102.4-93.866666%20174.933333l4.266666%2059.733333c-38.4%2034.133333-81.066667%2064-128%2081.066667l-51.2-38.4c-25.6-17.066667-51.2-29.866667-81.066666-34.133333-38.4-4.266667-81.066667%204.266667-110.933334%2029.866666l-51.2%2038.4c-46.933333-17.066667-89.6-46.933333-128-81.066666l4.266667-59.733334c8.533333-72.533333-29.866667-145.066667-93.866667-174.933333l-51.2-25.6c-4.266667-25.6-8.533333-55.466667-8.533333-81.066667%200-25.6%204.266667-51.2%208.533333-81.066666l51.2-25.6C213.333333%20379.733333%20251.733333%20307.2%20243.2%20234.666667L234.666667%20170.666667c38.4-34.133333%2081.066667-64%20128-81.066667l51.2%2038.4c25.6%2017.066667%2051.2%2029.866667%2081.066666%2034.133333%2038.4%204.266667%2081.066667-4.266667%20110.933334-29.866666l51.2-38.4c46.933333%2017.066667%2089.6%2046.933333%20128%2081.066666l-4.266667%2059.733334c-8.533333%2072.533333%2029.866667%20145.066667%2093.866667%20174.933333l51.2%2025.6c4.266667%2025.6%208.533333%2055.466667%208.533333%2081.066667%200%2021.333333%200%2046.933333-4.266667%2076.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M366.933333%20994.133333c-4.266667%200-12.8%200-17.066666-4.266666-55.466667-21.333333-106.666667-51.2-153.6-93.866667-12.8-12.8-21.333333-29.866667-17.066667-51.2l4.266667-64c4.266667-46.933333-21.333333-93.866667-59.733334-110.933333l-51.2-25.6c-17.066667-4.266667-29.866667-21.333333-34.133333-42.666667-4.266667-29.866667-8.533333-59.733333-8.533333-89.6%200-29.866667%204.266667-59.733333%208.533333-89.6%204.266667-21.333333%2017.066667-38.4%2034.133333-46.933333l51.2-25.6c42.666667-21.333333%2064-64%2059.733334-110.933334l-4.266667-59.733333c0-21.333333%204.266667-38.4%2017.066667-51.2%2042.666667-42.666667%2093.866667-72.533333%20149.333333-93.866667%2021.333333-8.533333%2038.4-4.266667%2055.466667%208.533334l51.2%2038.4c34.133333%2025.6%2085.333333%2025.6%20119.466666%200l51.2-38.4c17.066667-12.8%2034.133333-17.066667%2051.2-8.533334%2055.466667%2021.333333%20106.666667%2051.2%20153.6%2093.866667%2012.8%2012.8%2021.333333%2029.866667%2017.066667%2051.2l-8.533333%2059.733333c-4.266667%2046.933333%2021.333333%2093.866667%2059.733333%20110.933334l51.2%2025.6c21.333333%208.533333%2034.133333%2025.6%2038.4%2046.933333%204.266667%2029.866667%208.533333%2059.733333%208.533333%2089.6%200%2029.866667-4.266667%2059.733333-8.533333%2089.6-4.266667%2021.333333-17.066667%2038.4-34.133333%2046.933333l-51.2%2025.6c-42.666667%2021.333333-68.266667%2064-59.733334%20110.933334l8.533334%2059.733333c0%2021.333333-4.266667%2038.4-17.066667%2051.2-42.666667%2042.666667-93.866667%2072.533333-149.333333%2093.866667-17.066667%208.533333-38.4%204.266667-51.2-8.533334l-51.2-38.4c-34.133333-25.6-85.333333-25.6-119.466667%200l-59.733333%2038.4c-12.8%208.533333-21.333333%2012.8-34.133334%2012.8z%20m0-938.666666h-8.533333C307.2%2076.8%20256%20106.666667%20213.333333%20145.066667c-4.266667%208.533333-8.533333%2017.066667-8.533333%2029.866666l4.266667%2064C213.333333%20298.666667%20183.466667%20354.133333%20132.266667%20375.466667l-51.2%2025.6c-8.533333%204.266667-17.066667%2012.8-17.066667%2025.6-4.266667%2029.866667-8.533333%2055.466667-8.533333%2085.333333s4.266667%2055.466667%208.533333%2085.333333c0%2012.8%208.533333%2021.333333%2017.066667%2025.6l51.2%2025.6c51.2%2025.6%2081.066667%2081.066667%2076.8%20136.533334l-4.266667%2064c0%2012.8%204.266667%2021.333333%208.533333%2029.866666%2042.666667%2038.4%2089.6%2068.266667%20140.8%2089.6%208.533333%204.266667%2021.333333%200%2029.866667-4.266666l51.2-38.4c42.666667-34.133333%20106.666667-34.133333%20153.6%200l51.2%2038.4c8.533333%208.533333%2017.066667%208.533333%2029.866667%204.266666%2051.2-21.333333%2098.133333-51.2%20140.8-89.6%208.533333-8.533333%2012.8-17.066667%208.533333-29.866666l-8.533333-59.733334c-4.266667-59.733333%2025.6-115.2%2076.8-140.8l51.2-25.6c8.533333-4.266667%2017.066667-12.8%2017.066666-25.6%204.266667-29.866667%208.533333-55.466667%208.533334-85.333333s-4.266667-55.466667-8.533334-85.333333c0-12.8-8.533333-21.333333-17.066666-25.6l-51.2-25.6c-51.2-25.6-81.066667-81.066667-76.8-136.533334l8.533333-59.733333c0-12.8-4.266667-21.333333-8.533333-29.866667-42.666667-38.4-89.6-68.266667-140.8-89.6-8.533333-4.266667-21.333333%200-29.866667%204.266667l-51.2%2038.4c-42.666667%2034.133333-106.666667%2034.133333-153.6%200L384%2064c-4.266667-4.266667-12.8-8.533333-17.066667-8.533333z%20m0%20891.733333l-8.533333-4.266667c-46.933333-17.066667-93.866667-46.933333-132.266667-85.333333l-4.266666-4.266667%208.533333-68.266666c8.533333-68.266667-29.866667-132.266667-89.6-162.133334L85.333333%20601.6v-8.533333c-4.266667-29.866667-8.533333-55.466667-8.533333-81.066667s4.266667-55.466667%208.533333-81.066667v-8.533333l59.733334-25.6c59.733333-25.6%2093.866667-93.866667%2089.6-162.133333l-12.8-68.266667%204.266666-4.266667c38.4-34.133333%2085.333333-64%20132.266667-81.066666l8.533333-4.266667%2051.2%2042.666667c25.6%2017.066667%2046.933333%2029.866667%2072.533334%2029.866666%2038.4%204.266667%2072.533333-4.266667%20102.4-29.866666l55.466666-42.666667%208.533334%204.266667c46.933333%2017.066667%2093.866667%2046.933333%20132.266666%2085.333333l4.266667%204.266667-8.533333%2068.266666c-8.533333%2068.266667%2029.866667%20132.266667%2089.6%20162.133334l59.733333%2025.6v8.533333c4.266667%2029.866667%208.533333%2055.466667%208.533333%2081.066667%200%2025.6-4.266667%2055.466667-8.533333%2081.066666v8.533334l-59.733333%2025.6c-59.733333%2025.6-93.866667%2093.866667-89.6%20162.133333l8.533333%2068.266667-4.266667%204.266666c-38.4%2034.133333-85.333333%2064-132.266666%2085.333334l-8.533334%204.266666-51.2-42.666666c-25.6-17.066667-46.933333-29.866667-72.533333-34.133334-38.4-4.266667-72.533333%204.266667-102.4%2029.866667l-55.466667%2038.4z%20m145.066667-98.133333h21.333333c29.866667%204.266667%2059.733333%2017.066667%2085.333334%2038.4l42.666666%2029.866666c42.666667-17.066667%2081.066667-42.666667%20115.2-72.533333l-8.533333-51.2c-8.533333-81.066667%2034.133333-153.6%20102.4-187.733333l46.933333-21.333334c4.266667-25.6%204.266667-46.933333%204.266667-72.533333%200-21.333333%200-46.933333-4.266667-72.533333l-46.933333-21.333334C802.133333%20384%20759.466667%20311.466667%20768%20230.4l4.266667-55.466667c-34.133333-29.866667-72.533333-55.466667-115.2-72.533333l-46.933334%2034.133333c-34.133333%2025.6-76.8%2038.4-123.733333%2034.133334-25.6%200-55.466667-12.8-81.066667-34.133334l-42.666666-29.866666c-42.666667%2017.066667-81.066667%2042.666667-115.2%2072.533333L256%20230.4c8.533333%2081.066667-34.133333%20153.6-102.4%20187.733333l-46.933333%2021.333334c-4.266667%2025.6-4.266667%2051.2-4.266667%2072.533333s0%2046.933333%204.266667%2072.533333l46.933333%2021.333334c68.266667%2034.133333%20110.933333%20106.666667%20102.4%20187.733333l-4.266667%2055.466667c34.133333%2029.866667%2072.533333%2055.466667%20115.2%2072.533333l46.933334-34.133333c25.6-25.6%2059.733333-38.4%2098.133333-38.4z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20712.533333c-106.666667%200-196.266667-89.6-196.266667-196.266666S405.333333%20320%20512%20320c106.666667%200%20196.266667%2089.6%20196.266667%20196.266667s-89.6%20196.266667-196.266667%20196.266666z%20m0-315.733333c-64%200-119.466667%2055.466667-119.466667%20119.466667%200%2064%2055.466667%20119.466667%20119.466667%20119.466666s119.466667-55.466667%20119.466667-119.466666c0-64-55.466667-119.466667-119.466667-119.466667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333C42.666667%20921.6%2093.866667%20981.333333%20162.133333%20981.333333h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6zM55.466667%20388.266667h900.266666V332.8H55.466667v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM51.2%20401.066667v443.733333c0%2068.266667%2046.933333%20128%20106.666667%20128h704c59.733333%200%20106.666667-55.466667%20106.666666-128V179.2c0-68.266667-46.933333-128-106.666666-128H162.133333c-59.733333%200-106.666667%2055.466667-106.666666%20128v140.8h25.6V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v140.8h17.066667v76.8h-17.066667v443.733333c0%2051.2-38.4%2093.866667-81.066667%2093.866667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V401.066667h-29.866667z%20m51.2%200v443.733333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533333h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533333V401.066667H102.4z%20m0-21.333334h823.466667v-34.133333H102.4v34.133333z%20m-38.4%200h12.8v-34.133333h-12.8v34.133333z%20m38.4-55.466666h823.466667V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v145.066667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M567.466667%20682.666667h260.266666v-46.933334h-260.266666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M823.466667%20695.466667h-256c-8.533333%200-12.8-4.266667-12.8-12.8v-46.933334c0-8.533333%204.266667-12.8%2012.8-12.8h256c8.533333%200%2012.8%204.266667%2012.8%2012.8V682.666667c0%204.266667-4.266667%2012.8-12.8%2012.8z%20m-243.2-25.6H810.666667v-21.333334h-234.666667v21.333334z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M848.457143%20138.971429H716.8c-21.942857%200-36.571429-14.628571-36.571429-36.571429s14.628571-36.571429%2036.571429-36.571429h226.742857c21.942857%200%2036.571429%2014.628571%2036.571429%2036.571429v226.742857c0%2021.942857-14.628571%2036.571429-36.571429%2036.571429s-36.571429-14.628571-36.571428-36.571429V190.171429l-124.342858%20124.342857c58.514286%2073.142857%2095.085714%20168.228571%2095.085715%20270.628571%200%20226.742857-182.857143%20409.6-416.914286%20409.6S51.2%20811.885714%2051.2%20585.142857c0-226.742857%20182.857143-409.6%20416.914286-409.6%2095.085714%200%20190.171429%2029.257143%20263.314285%2095.085714l117.028572-131.657142zM468.114286%20921.6C658.285714%20921.6%20804.571429%20768%20804.571429%20585.142857c0-182.857143-153.6-336.457143-336.457143-336.457143-190.171429%200-343.771429%20146.285714-343.771429%20336.457143%200%20182.857143%20153.6%20336.457143%20343.771429%20336.457143z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nv { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nv%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M490.057143%20870.4v-43.885714c-212.114286-14.628571-380.342857-197.485714-380.342857-409.6C117.028571%20190.171429%20299.885714%200%20526.628571%200s416.914286%20182.857143%20416.914286%20416.914286c0%20212.114286-160.914286%20387.657143-365.714286%20409.6v43.885714h73.142858c21.942857%200%2043.885714%2014.628571%2043.885714%2036.571429s-14.628571%2043.885714-43.885714%2043.885714H570.514286v29.257143c0%2021.942857-21.942857%2043.885714-43.885715%2043.885714s-43.885714-21.942857-43.885714-43.885714V950.857143h-73.142857c-21.942857%200-43.885714-14.628571-43.885714-36.571429s14.628571-43.885714%2036.571428-43.885714H490.057143z%20m36.571428-124.342857c182.857143%200%20329.142857-146.285714%20329.142858-329.142857s-146.285714-329.142857-329.142858-329.142857-329.142857%20146.285714-329.142857%20329.142857%20146.285714%20329.142857%20329.142857%20329.142857z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-biyan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-biyan%22%20viewBox%3D%220%200%201733%201024%22%3E%3Cpath%20d%3D%22M1587.2%20212.114286zM1587.2%20212.114286c-14.628571%200-36.571429%207.314286-43.885714%2021.942857-21.942857%2021.942857-65.828571%2051.2-138.971429%2080.457143-138.971429%2058.514286-336.457143%2087.771429-541.257143%2087.771428-204.8%200-402.285714-29.257143-541.257143-87.771428-73.142857-29.257143-117.028571-58.514286-138.971428-80.457143-7.314286-14.628571-21.942857-21.942857-36.571429-21.942857-58.514286%200-87.771429%2073.142857-43.885714%20109.714285%2036.571429%2043.885714%20102.4%2080.457143%20182.857143%20109.714286L153.6%20555.885714c-21.942857%2029.257143-21.942857%2073.142857%200%2095.085715s65.828571%2021.942857%2087.771429%200l160.914285-160.914286s7.314286-7.314286%207.314286-14.628572c65.828571%2014.628571%20138.971429%2029.257143%20219.428571%2036.571429l-36.571428%20226.742857c-7.314286%2036.571429%2014.628571%2065.828571%2051.2%2073.142857%2036.571429%207.314286%2065.828571-14.628571%2073.142857-51.2l36.571429-226.742857v-14.628571h117.028571c43.885714%200%2087.771429%200%20131.657143-7.314286v14.628571l36.571428%20226.742858c7.314286%2036.571429%2036.571429%2058.514286%2073.142858%2051.2%2036.571429-7.314286%2058.514286-36.571429%2051.2-73.142858l-43.885715-219.428571c73.142857-7.314286%20146.285714-21.942857%20212.114286-43.885714%200%207.314286%207.314286%2014.628571%207.314286%2014.628571l160.914285%20160.914286c21.942857%2021.942857%2065.828571%2021.942857%2087.771429%200%2021.942857-21.942857%2021.942857-65.828571%200-87.771429L1462.857143%20424.228571c73.142857-29.257143%20131.657143-65.828571%20175.542857-102.4%2036.571429-36.571429%207.314286-109.714286-51.2-109.714285z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chefeibaoxiao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chefeibaoxiao%22%20viewBox%3D%220%200%201070%201024%22%3E%3Cpath%20d%3D%22M707.490909%2069.864727c18.618182%200%2037.236364%204.654545%2055.854546%209.309091%2032.581818%2013.963636%2060.509091%2046.545455%2074.472727%2083.781818%2023.272727%2083.781818%2046.545455%20144.290909%2055.854545%20186.181819%204.654545%2013.963636%209.309091%2051.2%2018.618182%20111.70909%200%204.654545%204.654545%2013.963636%209.309091%2018.618182l27.927273%2032.581818c23.272727%2032.581818%2027.927273%2088.436364%2018.618182%20125.672728-4.654545%2027.927273-18.618182%20125.672727-41.89091%20307.2-9.309091%2046.545455-51.2%2079.127273-97.745454%2079.127272s-69.818182-23.272727-97.745455-60.50909l-13.963636-18.618182c-9.309091-13.963636-41.890909-23.272727-60.509091-23.272728h-325.818182c-18.618182%200-60.509091%209.309091-69.818182%2018.618182l-4.654545%204.654546-13.963636%2018.618182c-23.272727%2037.236364-37.236364%2060.509091-83.781819%2060.50909s-88.436364-32.581818-97.745454-74.472727v-4.654545c-32.581818-181.527273-51.2-279.272727-55.854546-307.2-9.309091-37.236364%200-93.090909%2023.272728-125.672728l32.581818-37.236363c4.654545-4.654545%204.654545-9.309091%209.309091-13.963637v-4.654545l93.090909-293.236364c18.618182-55.854545%2065.163636-93.090909%20121.018182-93.090909h423.563636z%20m-577.163636%20423.563637c0%204.654545-4.654545%209.309091-4.654546%209.309091l-4.654545%209.30909-27.927273%2037.236364c-9.309091%209.309091-13.963636%2027.927273-13.963636%2041.890909v4.654546c32.581818%20204.8%2051.2%20307.2%2051.2%20316.509091%200%204.654545%2023.272727%2041.890909%2032.581818%2041.890909%2018.618182%200%2032.581818-9.309091%2041.890909-23.272728l4.654545-4.654545%2013.963637-18.618182c23.272727-37.236364%2046.545455-46.545455%2093.090909-46.545454H656.290909c46.545455%200%20102.4%209.309091%20125.672727%2051.2l13.963637%2018.618181c9.309091%2013.963636%2027.927273%2027.927273%2046.545454%2023.272728%2013.963636-4.654545%2018.618182-18.618182%2023.272728-41.890909l41.890909-316.509091c4.654545-13.963636%200-32.581818-9.309091-46.545455l-27.927273-37.236364c-4.654545-4.654545-9.309091-9.309091-9.309091-18.618181H130.327273z%20m228.072727%20232.727272c0%2023.272727-13.963636%2037.236364-37.236364%2041.890909H232.727273c-23.272727%200-37.236364-18.618182-41.890909-37.236363%200-23.272727%2013.963636-41.890909%2037.236363-41.890909H316.509091c23.272727-4.654545%2041.890909%2013.963636%2041.890909%2037.236363z%20m325.818182-41.890909h83.781818c23.272727%200%2037.236364%2018.618182%2041.890909%2037.236364%200%2023.272727-13.963636%2037.236364-37.236364%2041.890909H684.218182c-23.272727%200-37.236364-18.618182-41.890909-37.236364%204.654545-18.618182%2018.618182-37.236364%2041.890909-41.890909h83.781818-83.781818zM279.272727%20135.028364c-23.272727%200-46.545455%2013.963636-55.854545%2037.236363v4.654546l-74.472727%20256H837.818182l-65.163637-256c-9.309091-23.272727-27.927273-41.890909-55.854545-41.890909H279.272727z%22%20%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M796.392727%200c-134.981818%200-242.036364%20107.054545-242.036363%20242.036364%200%20134.981818%20107.054545%20242.036364%20242.036363%20242.036363%20134.981818%200%20242.036364-107.054545%20242.036364-242.036363%200-134.981818-107.054545-242.036364-242.036364-242.036364z%22%20%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M796.392727%20432.872727c-102.4%200-190.836364-83.781818-190.836363-190.836363%200-102.4%2083.781818-190.836364%20190.836363-190.836364%20102.4%200%20190.836364%2083.781818%20190.836364%20190.836364%200%20102.4-88.436364%20190.836364-190.836364%20190.836363z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M717.265455%20204.8h176.872727v-27.927273h-176.872727v27.927273z%20m0%2088.436364h176.872727v-27.927273h-176.872727v27.927273z%20m74.472727-116.363637v204.8h27.927273V176.872727h-27.927273z%20m-69.818182-37.236363l65.163636%2065.163636%2018.618182-18.618182-65.163636-65.163636-18.618182%2018.618182z%20m167.563636%200l-65.163636%2065.163636-18.618182-23.272727%2065.163637-65.163637%2018.618181%2023.272728z%20m0%200l-65.163636%2065.163636-18.618182-23.272727%2065.163637-65.163637%2018.618181%2023.272728z%20m0%200l-65.163636%2065.163636-18.618182-23.272727%2065.163637-65.163637%2018.618181%2023.272728z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M833.629091%20390.981818h-55.854546V302.545455h-69.818181V251.345455h74.472727v-32.581819h-74.472727V162.909091h23.272727l-27.927273-23.272727%2037.236364-37.236364%2060.509091%2060.509091h4.654545l60.509091-60.509091%2037.236364%2037.236364-23.272728%2023.272727h23.272728v51.2h-69.818182v37.236364h74.472727v51.2h-74.472727v88.436363z%20m-32.581818-23.272727h4.654545V302.545455h-4.654545v65.163636z%20m32.581818-88.436364h51.2v-4.654545h-51.2V279.272727z%20m-32.581818%200h4.654545v-4.654545h-4.654545V279.272727z%20m-69.818182%200h51.2v-4.654545h-51.2V279.272727z%20m69.818182-27.927272h4.654545v-32.581819h-4.654545v32.581819z%20m51.2-55.854546h32.581818V186.181818h-27.927273l-4.654545%209.309091z%20m-121.018182%200h27.927273l-9.309091-9.309091h-18.618182v9.309091z%20m107.054545-32.581818h9.309091l23.272728-23.272727-4.654546-4.654546-27.927273%2027.927273z%20m-79.127272%200h9.309091l-27.927273-27.927273-4.654546%204.654546%2023.272728%2023.272727z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.090909%200C925.323636%200%20977.454545%2051.572364%20977.454545%20115.2v793.6C977.454545%20972.427636%20925.323636%201024%20861.090909%201024h-698.181818C98.676364%201024%2046.545455%20972.427636%2046.545455%20908.8V115.2C46.545455%2051.572364%2098.676364%200%20162.909091%200h698.181818z%20m-651.636364%2069.818182h-46.545454c-25.693091%200-46.545455%2017.454545-46.545455%2039.005091v806.353454c0%2021.550545%2020.852364%2039.005091%2046.545455%2039.005091h46.545454v-884.363636z%20m69.818182%200v881.710545h584.750546c21.271273%200%2038.632727-17.128727%2038.958545-38.353454V108.823273a39.005091%2039.005091%200%200%200-38.958545-39.005091H279.272727z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M584.145455%20268.8c113.105455%200%20204.8%2094.254545%20204.8%20210.571636a213.038545%20213.038545%200%200%201-55.947637%20144.616728l-4.049454%204.282181-108.078546%20111.150546a51.2%2051.2%200%200%201-69.12%203.956364l-3.816727-3.444364-108.590546-111.709091-4.049454-4.235636a213.038545%20213.038545%200%200%201-55.947636-144.616728c0-116.317091%2091.694545-210.571636%20204.8-210.571636z%20m0%2076.8c-70.190545%200-128%2059.438545-128%20133.771636%200%2032.814545%2011.264%2063.488%2030.673454%2086.946909l4.235636%204.887273%203.351273%203.490909%2089.739637%2092.299637%2088.994909-91.508364%203.351272-3.490909a136.238545%20136.238545%200%200%200%2035.653819-92.625455c0-74.333091-57.809455-133.771636-128-133.771636z%22%20fill%3D%22%231F7FEF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodebaoming { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodebaoming%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M958.592%20785.066667h-115.2v-110.933334c0-17.066667-12.8-29.866667-29.866667-29.866666-17.066667%200-29.866667%2012.8-29.866666%2029.866666v110.933334h-115.2c-17.066667%200-29.866667%2012.8-29.866667%2029.866666s12.8%2029.866667%2029.866667%2029.866667h115.2v110.933333c0%2017.066667%2012.8%2029.866667%2029.866666%2029.866667s29.866667-12.8%2029.866667-29.866667v-110.933333h115.2c17.066667%200%2029.866667-12.8%2029.866667-29.866667s-12.8-29.866667-29.866667-29.866666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M817.792%20985.6c-17.066667%200-34.133333-12.8-34.133333-34.133333v-106.666667h-110.933334c-17.066667%200-34.133333-12.8-34.133333-34.133333%200-17.066667%2012.8-34.133333%2034.133333-34.133334h110.933334v-106.666666c0-17.066667%2012.8-34.133333%2034.133333-34.133334s34.133333%2012.8%2034.133333%2034.133334v106.666666h110.933334c17.066667%200%2034.133333%2012.8%2034.133333%2034.133334%200%2017.066667-12.8%2034.133333-34.133333%2034.133333h-110.933334v106.666667c0%2021.333333-17.066667%2034.133333-34.133333%2034.133333z%20m-140.8-196.266667c-12.8%200-25.6%208.533333-25.6%2025.6%200%2012.8%2012.8%2025.6%2025.6%2025.6h119.466667v115.2c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-8.533333%2025.6-25.6v-115.2h119.466666c12.8%200%2025.6-8.533333%2025.6-25.6%200-12.8-12.8-25.6-25.6-25.6h-119.466666v-115.2c0-12.8-12.8-25.6-25.6-25.6s-25.6%208.533333-25.6%2025.6v115.2h-119.466667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M514.858667%20533.333333c-140.8%200-260.266667-106.666667-260.266667-243.2%204.266667-140.8%20115.2-247.466667%20260.266667-247.466666s260.266667%20106.666667%20260.266666%20243.2c0%20132.266667-115.2%20247.466667-260.266666%20247.466666z%20m0-435.2c-110.933333%200-200.533333%2085.333333-200.533334%20187.733334s93.866667%20187.733333%20200.533334%20187.733333%20200.533333-85.333333%20200.533333-187.733333-89.6-187.733333-200.533333-187.733334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M514.858667%20541.866667c-149.333333%200-273.066667-115.2-273.066667-256%204.266667-145.066667%20123.733333-256%20273.066667-256%20149.333333%200%20273.066667%20115.2%20273.066666%20256s-123.733333%20256-273.066666%20256z%20m0-490.666667c-136.533333%200-247.466667%20106.666667-251.733334%20234.666667%200%20128%20110.933333%20234.666667%20251.733334%20234.666666s251.733333-106.666667%20251.733333-234.666666-115.2-234.666667-251.733333-234.666667z%20m0%20435.2c-115.2%200-213.333333-89.6-213.333334-200.533333%200-106.666667%2098.133333-200.533333%20213.333334-200.533334s213.333333%2089.6%20213.333333%20200.533334c-4.266667%20110.933333-98.133333%20200.533333-213.333333%20200.533333z%20m0-375.466667c-102.4%200-192%2081.066667-192%20179.2s85.333333%20179.2%20192%20179.2%20192-81.066667%20192-179.2c-4.266667-102.4-89.6-179.2-192-179.2z%22%20fill%3D%22%23343333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M75.392%20981.333333c-17.066667%200-25.6-8.533333-25.6-21.333333%200-238.933333%20217.6-430.933333%20486.4-430.933333%20115.2%200%20153.6%2021.333333%20226.133333%2059.733333%208.533333%208.533333%2021.333333%2025.6%2012.8%2038.4-8.533333%2012.8-25.6%2012.8-51.2%200-55.466667-34.133333-119.466667-46.933333-187.733333-46.933333-238.933333%200-430.933333%20170.666667-430.933333%20384-8.533333%208.533333-17.066667%2017.066667-29.866667%2017.066666z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M75.392%20989.866667c-21.333333%200-34.133333-12.8-34.133333-34.133334%200-243.2%20221.866667-443.733333%20494.933333-443.733333%20115.2%200%20157.866667%2021.333333%20226.133333%2059.733333l4.266667%204.266667c21.333333%2017.066667%2025.6%2034.133333%2012.8%2051.2-8.533333%2012.8-25.6%2021.333333-64%204.266667-55.466667-29.866667-115.2-46.933333-183.466667-46.933334-234.666667%200-422.4%20166.4-422.4%20371.2v4.266667c-4.266667%2021.333333-17.066667%2029.866667-34.133333%2029.866667z%20m460.8-452.266667c-260.266667%200-473.6%20187.733333-473.6%20422.4%200%208.533333%208.533333%2012.8%2012.8%2012.8%204.266667%200%2012.8%200%2017.066667-12.8%200-217.6%20200.533333-392.533333%20443.733333-392.533333%2072.533333%200%20136.533333%2017.066667%20196.266667%2051.2%2017.066667%208.533333%2029.866667%208.533333%2034.133333%204.266666%200%200%204.266667-8.533333-12.8-21.333333h-4.266667c-64-42.666667-102.4-64-213.333333-64z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gongzitiao1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gongzitiao1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333c0%2081.066667%2051.2%20140.8%20119.466666%20140.8h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM162.133333%2051.2C102.4%2051.2%2055.466667%20106.666667%2055.466667%20179.2v661.333333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H162.133333zM861.866667%20938.666667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v661.333333c0%2055.466667-38.4%2098.133333-85.333333%2098.133334zM162.133333%20106.666667c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v661.333333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533334h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533334V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M396.8%20558.933333h260.266667v-42.666666H396.8v42.666666z%20m0%20128h260.266667v-42.666666H396.8v42.666666z%20m106.666667-170.666666v298.666666h42.666666v-298.666666h-42.666666z%20m-102.4-51.2l93.866666%2093.866666%2029.866667-29.866666-93.866667-93.866667-29.866666%2029.866667z%20m247.466666%200l-93.866666%2093.866666-29.866667-29.866666%2093.866667-93.866667%2029.866666%2029.866667z%20m0%200l-93.866666%2093.866666-29.866667-29.866666%2093.866667-93.866667%2029.866666%2029.866667z%20m0%200l-93.866666%2093.866666-29.866667-29.866666%2093.866667-93.866667%2029.866666%2029.866667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M558.933333%20827.733333h-64v-128H384v-64H490.666667v-64H384v-64h42.666667l-42.666667-42.666666%2046.933333-46.933334%2085.333334%2085.333334h12.8l85.333333-85.333334%2046.933333%2046.933334-42.666666%2042.666666h46.933333v64h-106.666667v64h106.666667v64h-106.666667v128z%20m-42.666666-21.333333h21.333333v-106.666667h-21.333333v106.666667z%20m42.666666-128h85.333334v-21.333333h-85.333334v21.333333z%20m-42.666666%200h21.333333v-21.333333h-21.333333v21.333333z%20m-110.933334%200h85.333334v-21.333333H405.333333v21.333333z%20m110.933334-42.666667h21.333333v-64h-21.333333v64z%20m59.733333-85.333333h68.266667v-21.333333h-46.933334l-21.333333%2021.333333z%20m-59.733333%200h17.066666l-8.533333-8.533333-8.533333%208.533333z%20m-110.933334%200h64l-21.333333-21.333333H405.333333v21.333333z%20m72.533334-21.333333l12.8%2012.8v-12.8h-12.8z%20m81.066666%200v12.8l12.8-12.8h-12.8z%20m0-21.333334h29.866667l42.666667-42.666666-17.066667-17.066667-55.466667%2059.733333z%20m-102.4%200h29.866667l-55.466667-55.466666-17.066666%2012.8%2042.666666%2042.666666z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M89.6%20345.6h844.8V298.666667H89.6z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M947.2%20358.4H81.066667V290.133333h866.133333v68.266667zM102.4%20337.066667h823.466667v-25.6H102.4v25.6z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-youhuiquan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-youhuiquan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%20981.333333h-153.6c-29.866667%200-59.733333-12.8-81.066667-34.133333-29.866667-29.866667-68.266667-46.933333-110.933333-46.933333s-81.066667%2017.066667-110.933334%2046.933333c-29.866667%2021.333333-55.466667%2034.133333-93.866666%2034.133333H162.133333C93.866667%20981.333333%2042.666667%20930.133333%2042.666667%20861.866667V162.133333C42.666667%2093.866667%2093.866667%2042.666667%20162.133333%2042.666667h157.866667c29.866667%200%2059.733333%2012.8%2081.066667%2034.133333%2029.866667%2029.866667%2068.266667%2046.933333%20110.933333%2046.933333s81.066667-17.066667%20110.933333-46.933333c25.6-21.333333%2055.466667-34.133333%2081.066667-34.133333h157.866667C930.133333%2042.666667%20981.333333%2093.866667%20981.333333%20162.133333v704c0%2064-51.2%20115.2-119.466666%20115.2zM512%20840.533333c59.733333%200%20110.933333%2021.333333%20153.6%2064%2012.8%2012.8%2029.866667%2017.066667%2042.666667%2017.066667h157.866666c34.133333%200%2059.733333-29.866667%2059.733334-59.733333V162.133333c0-34.133333-29.866667-59.733333-59.733334-59.733333h-157.866666c-12.8%200-29.866667%204.266667-42.666667%2017.066667-42.666667%2042.666667-93.866667%2064-153.6%2064s-110.933333-21.333333-153.6-64c-12.8-12.8-25.6-17.066667-42.666667-17.066667H162.133333c-29.866667%200-59.733333%2029.866667-59.733333%2059.733333v704c0%2034.133333%2029.866667%2059.733333%2059.733333%2059.733334h153.6c17.066667%200%2029.866667-4.266667%2042.666667-17.066667%2042.666667-46.933333%2093.866667-68.266667%20153.6-68.266667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667h-153.6c-34.133333%200-64-12.8-89.6-38.4-25.6-25.6-68.266667-42.666667-102.4-42.666667s-76.8%2017.066667-102.4%2042.666667c-34.133333%2025.6-64%2038.4-102.4%2038.4H162.133333c-72.533333%200-128-55.466667-128-128V162.133333c0-72.533333%2055.466667-128%20128-128h157.866667c34.133333%200%2064%2012.8%2089.6%2038.4%2025.6%2025.6%2068.266667%2042.666667%20102.4%2042.666667s76.8-17.066667%20102.4-42.666667c25.6-25.6%2055.466667-38.4%2089.6-38.4h157.866667c72.533333%200%20128%2055.466667%20128%20128v704c0%2068.266667-55.466667%20123.733333-128%20123.733334z%20m-345.6-102.4c42.666667%200%2085.333333%2017.066667%20119.466666%2051.2%2021.333333%2021.333333%2046.933333%2034.133333%2072.533334%2034.133333h153.6c59.733333%200%20106.666667-46.933333%20106.666666-106.666667V162.133333c0-59.733333-46.933333-106.666667-106.666666-106.666666h-157.866667c-25.6%200-55.466667%2012.8-72.533333%2034.133333-34.133333%2025.6-76.8%2046.933333-119.466667%2046.933333S426.666667%20115.2%20392.533333%2085.333333c-21.333333-21.333333-46.933333-34.133333-72.533333-34.133333H162.133333c-59.733333%200-106.666667%2046.933333-106.666666%20106.666667v704c0%2059.733333%2046.933333%20106.666667%20106.666666%20106.666666h153.6c29.866667%200%2059.733333-8.533333%2085.333334-34.133333%2029.866667-25.6%2072.533333-46.933333%20115.2-46.933333z%20m345.6%2046.933333h-157.866667c-12.8%200-34.133333-8.533333-46.933333-21.333333-38.4-42.666667-89.6-59.733333-145.066667-59.733334-55.466667%200-102.4%2021.333333-149.333333%2064-12.8%2012.8-29.866667%2021.333333-46.933334%2021.333334H162.133333c-34.133333%200-68.266667-25.6-68.266666-68.266667V162.133333c0-34.133333%2034.133333-68.266667%2068.266666-68.266666h157.866667c21.333333%200%2034.133333%204.266667%2046.933333%2021.333333%2038.4%2038.4%2089.6%2055.466667%20145.066667%2055.466667s106.666667-21.333333%20145.066667-59.733334c12.8-12.8%2034.133333-21.333333%2046.933333-21.333333h157.866667c34.133333%200%2068.266667%2025.6%2068.266666%2068.266667v704c4.266667%2034.133333-21.333333%2072.533333-68.266666%2072.533333zM512%20832c59.733333%200%20115.2%2021.333333%20162.133333%2068.266667%208.533333%208.533333%2025.6%2012.8%2034.133334%2012.8h157.866666c29.866667%200%2046.933333-25.6%2046.933334-46.933334V162.133333c0-29.866667-25.6-46.933333-46.933334-46.933333h-157.866666c-8.533333%200-25.6%204.266667-34.133334%2012.8-42.666667%2042.666667-98.133333%2068.266667-162.133333%2068.266667S396.8%20170.666667%20349.866667%20128c-8.533333-12.8-17.066667-17.066667-29.866667-17.066667H162.133333c-21.333333%200-46.933333%2025.6-46.933333%2046.933334v704c0%2029.866667%2025.6%2046.933333%2046.933333%2046.933333h153.6c12.8%200%2021.333333-4.266667%2034.133334-12.8%2046.933333-42.666667%20102.4-64%20162.133333-64z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M866.133333%20401.066667h-93.866666c-12.8%200-21.333333-8.533333-21.333334-25.6s8.533333-25.6%2021.333334-25.6h93.866666c12.8%200%2021.333333%208.533333%2021.333334%2025.6s-8.533333%2025.6-21.333334%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M866.133333%20413.866667h-93.866666c-21.333333%200-34.133333-17.066667-34.133334-38.4s12.8-38.4%2034.133334-38.4h93.866666c21.333333%200%2034.133333%2017.066667%2034.133334%2038.4s-12.8%2038.4-34.133334%2038.4z%20m-93.866666-55.466667c-4.266667%200-4.266667%2012.8-4.266667%2017.066667s0%2012.8%208.533333%2012.8h93.866667c8.533333%200%208.533333-12.8%208.533333-12.8s0-12.8-8.533333-12.8h-98.133333zM644.266667%20401.066667h-76.8c-17.066667%200-25.6-8.533333-25.6-25.6s8.533333-25.6%2025.6-25.6h76.8c17.066667%200%2025.6%208.533333%2025.6%2025.6s-8.533333%2025.6-25.6%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M644.266667%20413.866667h-76.8c-21.333333%200-38.4-17.066667-38.4-38.4s17.066667-38.4%2038.4-38.4h76.8c21.333333%200%2038.4%2017.066667%2038.4%2038.4s-12.8%2038.4-38.4%2038.4z%20m-72.533334-55.466667c-8.533333%200-12.8%204.266667-12.8%2012.8s4.266667%2012.8%2012.8%2012.8h76.8c8.533333%200%2012.8-4.266667%2012.8-12.8s-4.266667-12.8-12.8-12.8h-76.8z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.933333%20401.066667H362.666667c-17.066667%200-25.6-8.533333-25.6-25.6s8.533333-25.6%2025.6-25.6h76.8c17.066667%200%2025.6%208.533333%2025.6%2025.6s-17.066667%2025.6-34.133334%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.933333%20413.866667H362.666667c-21.333333%200-38.4-17.066667-38.4-38.4s17.066667-42.666667%2038.4-42.666667h76.8c21.333333%200%2038.4%2017.066667%2038.4%2038.4%200%2025.6-25.6%2042.666667-46.933334%2042.666667zM362.666667%20358.4c-8.533333%200-12.8%204.266667-12.8%2012.8s4.266667%2012.8%2012.8%2012.8h68.266666c8.533333%200%2021.333333-4.266667%2021.333334-12.8%200-8.533333-4.266667-12.8-12.8-12.8H362.666667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M234.666667%20401.066667H157.866667c-12.8%200-21.333333-8.533333-21.333334-25.6s8.533333-25.6%2021.333334-25.6h76.8c12.8-4.266667%2021.333333%208.533333%2021.333333%2025.6s-12.8%2025.6-21.333333%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M234.666667%20413.866667H157.866667c-17.066667%200-34.133333-17.066667-34.133334-38.4s12.8-38.4%2034.133334-38.4h76.8c17.066667%200%2034.133333%2017.066667%2034.133333%2038.4s-17.066667%2038.4-34.133333%2038.4zM157.866667%20358.4c-4.266667%200-8.533333%208.533333-8.533334%2012.8s0%2012.8%208.533334%2012.8h76.8s8.533333-4.266667%208.533333-12.8c0-4.266667%200-12.8-8.533333-12.8H157.866667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucang1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucang1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M430.933333%20704c-12.8%200-25.6-12.8-25.6-25.6%200-123.733333-64-153.6-68.266666-153.6-12.8-4.266667-17.066667-21.333333-12.8-34.133333s21.333333-17.066667%2029.866666-12.8c4.266667%200%2093.866667%2038.4%2093.866667%20200.533333%204.266667%2012.8-4.266667%2025.6-17.066667%2025.6z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M430.933333%20716.8c-21.333333%200-38.4-17.066667-38.4-38.4%200-110.933333-51.2-140.8-59.733333-145.066667-17.066667-8.533333-25.6-29.866667-21.333333-46.933333%204.266667-8.533333%208.533333-17.066667%2021.333333-21.333333%208.533333-4.266667%2021.333333-4.266667%2029.866667%200%2017.066667%208.533333%20102.4%2055.466667%20102.4%20213.333333%200%208.533333%200%2017.066667-8.533334%2025.6-8.533333%208.533333-17.066667%2012.8-25.6%2012.8z%20m-85.333333-226.133333c-4.266667%200-8.533333%204.266667-8.533333%208.533333-4.266667%204.266667%200%2012.8%204.266666%2017.066667%2012.8%208.533333%2072.533333%2042.666667%2072.533334%20166.4%200%208.533333%2012.8%2012.8%2021.333333%208.533333%200%200%204.266667-4.266667%200-4.266667%204.266667-149.333333-68.266667-192-89.6-196.266666%204.266667%200%204.266667%200%200%200z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M755.2%20994.133333c-17.066667%200-34.133333-4.266667-46.933333-12.8L512%20874.666667%20311.466667%20981.333333c-34.133333%2017.066667-72.533333%2017.066667-102.4-4.266666s-46.933333-55.466667-38.4-93.866667l38.4-230.4-166.4-170.666667C17.066667%20456.533333%208.533333%20418.133333%2021.333333%20384c12.8-34.133333%2042.666667-59.733333%2076.8-64l230.4-34.133333L422.4%2085.333333C448%2038.4%20503.466667%2017.066667%20554.666667%2042.666667c21.333333%208.533333%2034.133333%2025.6%2042.666666%2042.666666l98.133334%20204.8%20230.4%2034.133334c34.133333%204.266667%2064%2029.866667%2076.8%2064%2012.8%2034.133333%204.266667%2072.533333-21.333334%2098.133333l-166.4%20166.4%2038.4%20234.666667c4.266667%2038.4-8.533333%2072.533333-38.4%2093.866666-17.066667%208.533333-38.4%2012.8-59.733333%2012.8zM512%20814.933333c4.266667%200%208.533333%200%2012.8%204.266667l213.333333%20115.2c12.8%208.533333%2029.866667%204.266667%2042.666667-4.266667%2012.8-8.533333%2017.066667-21.333333%2017.066667-34.133333l-42.666667-247.466667c0-8.533333%200-17.066667%208.533333-25.6l179.2-179.2c8.533333-8.533333%2012.8-25.6%208.533334-38.4-4.266667-12.8-17.066667-21.333333-29.866667-25.6L678.4%20341.333333c-8.533333%200-17.066667-8.533333-21.333333-17.066666l-106.666667-221.866667c-8.533333-8.533333-25.6-17.066667-38.4-12.8-12.8%200-29.866667%208.533333-34.133333%2021.333333L371.2%20328.533333c-4.266667%208.533333-12.8%2017.066667-21.333333%2017.066667l-243.2%2034.133333c-17.066667%204.266667-25.6%2012.8-29.866667%2025.6-4.266667%2012.8%200%2025.6%208.533333%2038.4l179.2%20179.2c8.533333%208.533333%208.533333%2017.066667%208.533334%2025.6l-42.666667%20247.466667c-4.266667%2012.8%204.266667%2029.866667%2017.066667%2034.133333%2012.8%208.533333%2029.866667%208.533333%2042.666666%200l213.333334-115.2h8.533333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M755.2%20998.4c-17.066667%200-34.133333-4.266667-46.933333-12.8L512%20883.2l-196.266667%20106.666667c-34.133333%2017.066667-76.8%2017.066667-106.666666-4.266667s-46.933333-59.733333-42.666667-98.133333l38.4-230.4-166.4-166.4C12.8%20460.8%204.266667%20422.4%2017.066667%20384c12.8-34.133333%2042.666667-59.733333%2081.066666-68.266667l226.133334-34.133333%2098.133333-204.8c12.8-25.6%2034.133333-42.666667%2059.733333-51.2%2025.6-8.533333%2055.466667-8.533333%2076.8%204.266667%2021.333333%208.533333%2038.4%2025.6%2046.933334%2046.933333l98.133333%20204.8%20226.133333%2034.133333c38.4%204.266667%2068.266667%2029.866667%2081.066667%2068.266667%2012.8%2034.133333%204.266667%2076.8-25.6%20102.4l-166.4%20166.4%2038.4%20230.4c4.266667%2038.4-8.533333%2076.8-42.666667%2098.133333-17.066667%2012.8-38.4%2017.066667-59.733333%2017.066667z%20m-243.2-128l200.533333%20106.666667c12.8%208.533333%2029.866667%2012.8%2042.666667%2012.8%2017.066667%200%2038.4-4.266667%2051.2-17.066667%2029.866667-21.333333%2042.666667-55.466667%2038.4-89.6l-34.133333-234.666667%20166.4-166.4c25.6-25.6%2034.133333-59.733333%2021.333333-93.866666-12.8-34.133333-38.4-55.466667-72.533333-59.733334l-230.4-34.133333L597.333333%2085.333333c-8.533333-17.066667-25.6-34.133333-42.666666-42.666666-21.333333-12.8-46.933333-12.8-72.533334-4.266667-25.6%208.533333-42.666667%2025.6-55.466666%2046.933333L328.533333%20294.4l-230.4%2034.133333c-34.133333%204.266667-64%2025.6-76.8%2059.733334-12.8%2034.133333-4.266667%2068.266667%2021.333334%2093.866666l170.666666%20170.666667v4.266667l-38.4%20230.4c-4.266667%2034.133333%208.533333%2068.266667%2038.4%2085.333333%2029.866667%2021.333333%2068.266667%2021.333333%2098.133334%204.266667l200.533333-106.666667z%20m243.2%2068.266667c-8.533333%200-12.8%200-21.333333-4.266667l-213.333334-115.2c-8.533333-4.266667-17.066667-4.266667-25.6%200l-213.333333%20115.2c-12.8%208.533333-34.133333%208.533333-46.933333-4.266667-12.8-8.533333-21.333333-25.6-17.066667-38.4l42.666667-247.466666c0-8.533333%200-17.066667-8.533334-21.333334l-179.2-179.2c-12.8-8.533333-12.8-25.6-8.533333-42.666666%204.266667-12.8%2017.066667-25.6%2034.133333-25.6L349.866667%20341.333333c8.533333%200%2017.066667-8.533333%2017.066666-12.8l106.666667-221.866666c8.533333-12.8%2021.333333-25.6%2038.4-25.6s29.866667%208.533333%2038.4%2025.6l106.666667%20221.866666c4.266667%204.266667%208.533333%2012.8%2017.066666%2012.8l243.2%2038.4c17.066667%204.266667%2029.866667%2012.8%2034.133334%2025.6%204.266667%2012.8%200%2029.866667-8.533334%2042.666667l-179.2%20179.2c-4.266667%204.266667-8.533333%2012.8-8.533333%2021.333333l42.666667%20247.466667c4.266667%2017.066667-4.266667%2029.866667-17.066667%2038.4-4.266667%204.266667-12.8%204.266667-25.6%204.266667zM512%20810.666667c4.266667%200%2012.8%200%2017.066667%204.266666l213.333333%20115.2c12.8%204.266667%2025.6%204.266667%2038.4%200%208.533333-8.533333%2017.066667-17.066667%2012.8-29.866666l-42.666667-247.466667c0-12.8%200-21.333333%208.533334-29.866667l179.2-179.2c8.533333-8.533333%2012.8-21.333333%208.533333-34.133333-4.266667-12.8-12.8-21.333333-25.6-21.333333l-243.2-38.4c-12.8%200-21.333333-8.533333-25.6-17.066667l-106.666667-221.866667c-4.266667-12.8-17.066667-17.066667-29.866666-17.066666-12.8%200-25.6%208.533333-29.866667%2017.066666L375.466667%20328.533333c-4.266667%2012.8-12.8%2017.066667-25.6%2021.333334L106.666667%20384c-12.8%200-21.333333%208.533333-25.6%2021.333333-4.266667%2012.8%200%2025.6%208.533333%2034.133334l179.2%20179.2c8.533333%208.533333%2012.8%2017.066667%208.533333%2029.866666l-42.666666%20247.466667c0%2012.8%204.266667%2025.6%2012.8%2029.866667%208.533333%208.533333%2025.6%208.533333%2038.4%200l213.333333-115.2h12.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodejianli1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodejianli1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M931.541333%20273.066667s0-4.266667%200%200l-251.733333-213.333334h-4.266667l-456.533333-12.8c-76.8-17.066667-140.8%2051.2-140.8%20119.466667V853.333333c0%2072.533333%2064%20128%20140.8%20128h571.733333c76.8%200%20140.8-55.466667%20140.8-123.733333V273.066667z%20m-93.866666-21.333334h-72.533334c-46.933333%200-89.6-34.133333-89.6-76.8V119.466667l162.133334%20132.266666z%20m-618.666667%20682.666667c-46.933333%200-89.6-34.133333-89.6-76.8V166.4c0-42.666667%2038.4-76.8%2089.6-76.8h405.333333V170.666667c0%2068.266667%2064%20123.733333%20140.8%20123.733333h110.933334V853.333333c0%2042.666667-38.4%2076.8-89.6%2076.8h-567.466667v4.266667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.741333%20989.866667h-571.733333c-81.066667%200-145.066667-59.733333-145.066667-132.266667V166.4c0-72.533333%2064-132.266667%20145.066667-132.266667h448l8.533333%208.533334%20256%20213.333333v601.6c8.533333%2072.533333-59.733333%20132.266667-140.8%20132.266667zM219.008%2046.933333c-72.533333%200-132.266667%2055.466667-132.266667%20119.466667V853.333333c0%2064%2059.733333%20119.466667%20132.266667%20119.466667h571.733333c72.533333%200%20132.266667-55.466667%20132.266667-119.466667V273.066667v-8.533334l-8.533333%2034.133334v-25.6l-29.866667-8.533334-209.066667-204.8-17.066666%208.533334-247.466667%2017.066666-192-38.4z%20m699.733333%20217.6z%20m-128%20678.4h-571.733333c-51.2%200-93.866667-38.4-93.866667-85.333333V166.4c0-46.933333%2042.666667-85.333333%2093.866667-85.333333h413.866667V170.666667c0%2064%2059.733333%20119.466667%20132.266666%20119.466666h119.466667V853.333333c0%2051.2-42.666667%2089.6-93.866667%2089.6zM219.008%2098.133333c-46.933333%200-81.066667%2029.866667-81.066667%2068.266667V853.333333c0%2038.4%2038.4%2072.533333%2081.066667%2072.533334h571.733333c46.933333%200%2081.066667-34.133333%2081.066667-72.533334V302.933333h-106.666667c-81.066667%200-145.066667-59.733333-145.066666-132.266666V98.133333h-401.066667z%20m635.733333%20157.866667h-89.6c-51.2%200-93.866667-38.4-93.866666-85.333333V106.666667l183.466666%20149.333333z%20m-170.666666-123.733333V170.666667c0%2038.4%2038.4%2072.533333%2081.066666%2072.533333h55.466667l-136.533333-110.933333z%22%20fill%3D%22%23323333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M432.341333%20422.4c25.6-21.333333%2042.666667-55.466667%2042.666667-89.6%200-64-55.466667-119.466667-119.466667-119.466667s-115.2%2055.466667-115.2%20119.466667c0%2038.4%2017.066667%2068.266667%2042.666667%2089.6-51.2%2029.866667-89.6%2081.066667-89.6%20149.333333%200%2012.8%208.533333%2025.6%2021.333333%2025.6s21.333333-12.8%2021.333334-25.6c0-64%2051.2-119.466667%20119.466666-119.466666s115.2%2055.466667%20115.2%20119.466666c0%2012.8%208.533333%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-64-38.4-119.466667-89.6-149.333333z%20m-76.8-17.066667c-38.4%200-72.533333-34.133333-72.533333-72.533333s29.866667-72.533333%2072.533333-72.533333%2072.533333%2034.133333%2072.533334%2072.533333-34.133333%2072.533333-72.533334%2072.533333z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M496.341333%20601.6c-17.066667%200-34.133333-12.8-34.133333-34.133333%200-59.733333-46.933333-110.933333-106.666667-110.933334s-106.666667%2055.466667-106.666666%20115.2c0%2017.066667-12.8%2034.133333-34.133334%2034.133334s-34.133333-12.8-34.133333-34.133334c0-59.733333%2029.866667-119.466667%2085.333333-149.333333-21.333333-25.6-34.133333-55.466667-34.133333-89.6%200-72.533333%2055.466667-128%20128-128s128%2055.466667%20128%20128c0%2034.133333-12.8%2064-38.4%2089.6%2051.2%2029.866667%2085.333333%2089.6%2085.333333%20149.333333-4.266667%2017.066667-21.333333%2029.866667-38.4%2029.866667z%20m-140.8-157.866667c68.266667%200%20128%2055.466667%20128%20128%200%208.533333%208.533333%2017.066667%2012.8%2017.066667%208.533333%200%2017.066667-8.533333%2017.066667-17.066667%200-59.733333-34.133333-110.933333-85.333333-140.8l-12.8-4.266666%208.533333-8.533334c25.6-21.333333%2038.4-51.2%2038.4-85.333333%200-59.733333-46.933333-110.933333-106.666667-110.933333s-106.666667%2051.2-106.666666%20110.933333c0%2034.133333%2012.8%2064%2038.4%2085.333333l8.533333%208.533334-12.8%204.266666c-51.2%2025.6-85.333333%2081.066667-85.333333%20140.8%200%208.533333%208.533333%2017.066667%2012.8%2017.066667%208.533333%200%2017.066667-8.533333%2017.066666-17.066667%204.266667-72.533333%2059.733333-128%20128-128z%20m0-29.866666c-42.666667%200-81.066667-34.133333-81.066666-81.066667s34.133333-81.066667%2081.066666-81.066667%2081.066667%2034.133333%2081.066667%2081.066667-38.4%2081.066667-81.066667%2081.066667z%20m0-145.066667c-34.133333%200-59.733333%2029.866667-59.733333%2064s29.866667%2064%2059.733333%2064%2064-29.866667%2064-64-29.866667-64-64-64z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.741333%20768h-341.333333c-8.533333%200-21.333333%208.533333-21.333333%2021.333333s8.533333%2021.333333%2021.333333%2021.333334h345.6c12.8%200%2017.066667-8.533333%2017.066667-21.333334s-4.266667-21.333333-21.333334-21.333333z%20m4.266667-128h-221.866667c-8.533333%200-17.066667%208.533333-17.066666%2021.333333s8.533333%2021.333333%2017.066666%2021.333334h226.133334c12.8%200%2012.8-8.533333%2012.8-21.333334s-4.266667-21.333333-17.066667-21.333333z%20m-4.266667-128h-132.266666c-8.533333%200-21.333333%208.533333-21.333334%2021.333333s8.533333%2021.333333%2021.333334%2021.333334h136.533333c12.8%200%2017.066667-8.533333%2017.066667-21.333334s-4.266667-21.333333-21.333334-21.333333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M795.008%20819.2h-345.6c-17.066667%200-25.6-12.8-25.6-29.866667%200-17.066667%2012.8-29.866667%2025.6-29.866666h341.333333c17.066667%200%2025.6%208.533333%2029.866667%2025.6%200%2012.8%200%2034.133333-25.6%2034.133333z%20m-345.6-42.666667c-4.266667%200-12.8%204.266667-12.8%2012.8%200%208.533333%204.266667%2012.8%2012.8%2012.8h345.6c8.533333%200%208.533333%200%208.533333-12.8%200-8.533333-4.266667-12.8-17.066666-12.8h-337.066667z%20m349.866667-85.333333h-226.133334c-12.8%200-25.6-12.8-25.6-29.866667s12.8-29.866667%2025.6-29.866666h221.866667c25.6%200%2025.6%2021.333333%2025.6%2025.6%200%2012.8%200%2034.133333-21.333333%2034.133333z%20m-226.133334-42.666667c-4.266667%200-12.8%204.266667-12.8%2012.8s4.266667%2012.8%2012.8%2012.8h226.133334c4.266667%200%208.533333%200%208.533333-12.8s-4.266667-12.8-12.8-12.8h-221.866667z%20m221.866667-85.333333h-136.533333c-17.066667%200-25.6-12.8-25.6-29.866667s12.8-25.6%2025.6-25.6h132.266666c25.6%200%2025.6%2021.333333%2025.6%2025.6%204.266667%208.533333%204.266667%2029.866667-21.333333%2029.866667z%20m-132.266667-46.933333c-4.266667%200-12.8%204.266667-12.8%2017.066666%200%208.533333%204.266667%2017.066667%2012.8%2017.066667h136.533334c8.533333%200%208.533333%200%208.533333-17.066667%200-12.8-4.266667-17.066667-12.8-17.066666h-132.266667z%22%20fill%3D%22%23333234%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dangqiangongzuo { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dangqiangongzuo%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M854.817391%20262.678261h-146.921739V182.53913c0-75.686957-53.426087-138.017391-124.660869-138.017391H440.765217C369.530435%2044.521739%20316.104348%20106.852174%20316.104348%20182.53913v80.139131H169.182609C102.4%20262.678261%2048.973913%20325.008696%2048.973913%20400.695652v436.313044c0%2075.686957%2053.426087%20138.017391%20124.66087%20138.017391h685.634782c66.782609%200%20124.66087-62.330435%20124.66087-138.017391V400.695652c-4.452174-75.686957-62.330435-138.017391-129.113044-138.017391z%20m-489.73913-80.139131c0-44.521739%2031.165217-80.13913%2075.686956-80.13913h146.92174c40.069565%200%2075.686957%2035.617391%2075.686956%2080.13913v80.139131H365.078261V182.53913zM169.182609%20921.6c-40.069565%200-71.234783-35.617391-71.234783-80.13913V400.695652c0-44.521739%2031.165217-80.13913%2071.234783-80.13913h71.234782v601.043478H169.182609z%20m124.660869%200V316.104348H734.608696v601.043478H293.843478z%20m636.66087-84.591304c0%2044.521739-31.165217%2080.13913-71.234783%2080.13913H779.130435V316.104348h75.686956c40.069565%200%2071.234783%2035.617391%2071.234783%2080.13913v440.765218z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M854.817391%20983.930435H169.182609c-71.234783%200-133.565217-66.782609-133.565218-146.921739V400.695652c0-80.13913%2057.878261-146.921739%20133.565218-146.921739h138.017391V182.53913c0-80.13913%2057.878261-146.921739%20133.565217-146.921739h146.92174c71.234783%200%20133.565217%2066.782609%20133.565217%20146.921739v71.234783h138.017391c71.234783%200%20133.565217%2066.782609%20133.565218%20146.921739v436.313044c-4.452174%2080.13913-66.782609%20146.921739-138.017392%20146.921739zM169.182609%20271.582609C106.852174%20271.582609%2057.878261%20329.46087%2057.878261%20400.695652v436.313044c0%2071.234783%2048.973913%20129.113043%20111.304348%20129.113043h685.634782c62.330435%200%20111.304348-57.878261%20111.304348-129.113043V400.695652c0-71.234783-48.973913-129.113043-111.304348-129.113043h-155.826087v-89.043479c0-71.234783-48.973913-129.113043-111.304347-129.113043H440.765217C378.434783%2053.426087%20329.46087%20111.304348%20329.46087%20182.53913v89.043479H169.182609z%20m685.634782%20658.921739h-84.591304v-623.304348h84.591304c44.521739%200%2080.13913%2040.069565%2080.139131%2089.043478v436.313044c0%2057.878261-35.617391%2097.947826-80.139131%2097.947826z%20m-66.782608-17.808696h66.782608c35.617391%200%2062.330435-31.165217%2062.330435-71.234782V400.695652c0-40.069565-31.165217-71.234783-62.330435-71.234782h-66.782608v583.234782z%20m-44.52174%2017.808696H280.486957v-623.304348h458.573913v623.304348z%20m-445.217391-17.808696h422.956522V325.008696H298.295652v587.686956z%20m-44.521739%2017.808696H169.182609c-44.521739%200-84.591304-40.069565-84.591305-89.043478V400.695652c0-48.973913%2035.617391-89.043478%2084.591305-89.043478h84.591304v618.852174zM169.182609%20325.008696c-35.617391%200-62.330435%2035.617391-62.330435%2075.686956v436.313044c0%2040.069565%2031.165217%2071.234783%2062.330435%2071.234782h66.782608V325.008696H169.182609z%20m498.643478-53.426087h-311.652174v-89.043479c0-48.973913%2035.617391-89.043478%2084.591304-89.043478h146.92174c44.521739%200%2080.13913%2040.069565%2080.13913%2089.043478v89.043479z%20m-293.843478-17.808696h276.034782V182.53913c0-40.069565-31.165217-71.234783-62.330434-71.234782H440.765217c-35.617391%200-62.330435%2031.165217-62.330434%2071.234782v71.234783z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M235.965217%20329.46087h62.330435v583.234782H235.965217z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M302.747826%20912.695652H231.513043V325.008696h66.782609v587.686956z%20m-66.782609-4.452174h57.878261v-578.782608H235.965217v578.782608z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M725.704348%20329.46087h62.330435v583.234782h-62.330435z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M792.486957%20912.695652h-66.782609V325.008696h66.782609v587.686956z%20m-66.782609-4.452174h57.878261v-578.782608h-57.878261v578.782608z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-hetong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-hetong%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M464.847238%20934.180571H147.504762c-49.152%200-93.866667-35.742476-93.866667-80.457142V151.990857c0-44.714667%2044.714667-89.429333%2093.866667-89.429333H750.933333c49.152%200%2084.943238%2035.791238%2084.943238%2080.457143V321.828571c0%2013.409524%2013.409524%2026.819048%2026.819048%2026.819048%2022.332952-4.486095%2035.742476-13.409524%2035.742476-31.305143V138.581333c0-76.01981-67.047619-134.095238-143.018666-134.095238H147.504762C71.533714%204.486095%204.486095%2067.047619%204.486095%20138.581333v715.142096c0%2076.01981%2067.047619%20134.095238%20143.018667%20134.095238h317.342476c17.895619%200%2026.819048-13.409524%2026.819048-26.819048%204.486095-13.409524-8.923429-26.819048-26.819048-26.819048z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M464.847238%20992.304762H147.504762C67.047619%20992.304762%200%20929.743238%200%20853.723429V138.581333C0%2062.561524%2067.047619%200%20147.504762%200H750.933333c80.457143%200%20147.504762%2062.561524%20147.504762%20138.581333v178.761143a30.573714%2030.573714%200%200%201-31.305143%2031.305143%2030.573714%2030.573714%200%200%201-31.256381-31.305143V138.581333c0-40.228571-35.791238-76.01981-80.457142-76.019809H147.504762c-44.714667%200-89.380571%2044.714667-89.380572%2084.943238v706.218667c0%2040.228571%2040.228571%2076.01981%2089.380572%2076.019809h317.342476c17.895619%200%2031.305143%2013.409524%2031.305143%2031.256381%204.486095%2017.895619-13.409524%2031.305143-31.305143%2031.305143zM147.504762%208.923429C71.533714%208.923429%208.923429%2067.047619%208.923429%20138.581333v715.142096c0%2071.533714%2062.610286%20129.657905%20138.581333%20129.657904h317.342476c13.409524%200%2022.381714-8.97219%2022.381714-22.381714s-8.97219-22.332952-22.381714-22.332952H147.504762c-53.638095%200-98.352762-40.228571-98.352762-84.943238V151.990857c0-49.200762%2049.200762-93.866667%2098.352762-93.866667H750.933333c49.152%200%2089.380571%2040.228571%2089.380572%2084.894477V321.828571c0%2013.409524%208.97219%2022.332952%2022.381714%2022.332953s22.332952-8.923429%2022.332952-22.332953V138.581333c0-71.533714-62.561524-129.657905-138.581333-129.657904H147.504762z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M853.723429%20621.32419c26.819048-17.895619%2040.228571-49.200762%2040.228571-80.457142%200-53.638095-44.665905-98.352762-98.304-98.352762s-107.27619%2044.714667-107.27619%2098.352762c0%2053.638095%2035.742476%2089.380571%2053.638095%2080.457142%200%2049.152-17.895619%2089.380571-53.638095%20125.123048a226.986667%20226.986667%200%200%201-53.638096%2040.228572c-13.409524%200-22.381714%208.97219-22.381714%2022.381714v147.504762c0%2013.409524%208.97219%2022.332952%2022.381714%2022.332952h321.828572c13.409524%200%2022.332952-8.923429%2022.332952-22.332952v-147.504762c0-13.409524-8.923429-22.381714-22.332952-22.381714-17.895619-8.923429-102.838857-58.075429-102.838857-165.35162z%20m-58.075429-134.095238c31.256381%200%2053.638095%2026.819048%2053.638095%2053.638096s-26.819048%2053.638095-53.638095%2053.638095-53.638095-26.819048-53.638095-53.638095%2022.332952-53.638095%2053.638095-53.638096z%20m-76.01981%20295.009524a223.427048%20223.427048%200%200%200%2062.610286-138.581333h26.819048c4.437333%2067.047619%2035.742476%20111.762286%2062.561524%20143.018667l8.923428%208.97219h-174.323809c4.486095-8.97219%208.97219-13.409524%2013.409523-13.409524z%20m214.552381%20151.942095h-277.113904V831.390476h277.113904v102.790095z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M956.562286%20983.381333h-321.828572c-17.895619%200-26.819048-13.409524-26.819047-26.819047v-147.504762c0-13.409524%2013.409524-26.819048%2026.819047-26.819048a213.967238%20213.967238%200%200%200%2049.152-35.791238c31.305143-31.256381%2049.152-71.484952%2049.152-116.199619a101.717333%20101.717333%200%200%201-44.665904-84.943238c0-58.075429%2049.152-107.27619%20107.27619-107.276191%2058.075429%200%20107.27619%2049.200762%20107.27619%20107.276191%200%2031.305143-13.409524%2062.610286-40.228571%2084.943238%204.437333%2098.352762%2080.457143%20147.504762%2098.304%20156.428191%2013.409524%200%2026.819048%2013.409524%2026.819048%2026.819047v147.504762c-4.437333%208.97219-13.409524%2022.381714-31.256381%2022.381714z%20m-321.828572-187.733333c-8.97219%200-17.895619%208.923429-17.895619%2013.409524v147.504762c0%208.923429%208.923429%2013.409524%2013.409524%2013.409524h321.828571c8.923429%200%2013.409524-8.97219%2013.409524-13.409524v-147.504762c0-8.97219-8.923429-13.409524-13.409524-13.409524h-4.486095c-17.846857-8.97219-107.27619-58.12419-107.27619-169.886476v-4.437334h4.486095c22.332952-17.895619%2040.228571-44.714667%2040.228571-76.019809%200-49.152-40.228571-93.866667-93.866666-93.866667-49.152%200-93.866667%2040.228571-93.866667%2093.866667%200%2031.305143%2013.409524%2058.12419%2040.228572%2076.019809h4.486095v4.437334a179.004952%20179.004952%200%200%201-53.638095%20129.657905c-17.895619%2022.332952-40.228571%2035.742476-53.638096%2040.228571z%20m299.446857%20143.018667h-286.037333v-116.199619h295.009524v107.27619h-4.486095v8.923429h-4.486096z%20m-272.627809-13.409524h263.704381v-89.380572h-263.704381v89.380572z%20m254.780952-107.276191l-241.371428-4.486095%2031.256381-31.256381%208.97219-8.97219a212.016762%20212.016762%200%200%200%2062.561524-138.532572v-8.97219h44.714667v8.97219a212.016762%20212.016762%200%200%200%2062.561523%20138.532572l8.923429%208.97219%2022.381714%2035.742476z%20m-192.219428-35.742476h138.581333c-26.819048-26.819048-53.638095-71.533714-62.610286-134.095238h-13.409523c-4.437333%2062.561524-35.742476%20107.27619-62.561524%20134.095238z%20m71.533714-156.476952c-35.791238%200-93.866667-53.638095-93.866667-84.894476%200-35.791238%2053.638095-84.943238%2089.380572-84.943238%2035.742476%200%2093.866667%2040.228571%2093.866666%2075.971047%200%2035.791238-53.638095%2093.866667-89.380571%2093.866667z%20m0-134.095238c-26.819048%200-49.200762%2022.381714-49.200762%2049.200762%200%2026.819048%2022.381714%2049.152%2049.200762%2049.152%2026.819048%200%2049.152-22.332952%2049.152-49.152s-22.332952-49.200762-49.152-49.200762z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M223.47581%20272.676571c-13.409524%200-26.819048%208.923429-26.819048%2022.332953s13.409524%2022.332952%2026.819048%2022.332952h397.84838c13.409524%200%2022.332952-8.923429%2022.332953-22.332952s-8.923429-22.332952-22.332953-22.332953H223.47581z%20m330.800761%20201.142858c0-13.409524-13.409524-22.381714-26.819047-22.381715H223.47581c-13.409524%200-26.819048%208.97219-26.819048%2022.381715s13.409524%2022.332952%2026.819048%2022.332952h308.419047c13.409524%200%2022.381714-8.923429%2022.381714-22.332952z%20m-67.047619%20156.42819H223.47581c-13.409524%200-26.819048%208.923429-26.819048%2022.332952s13.409524%2022.381714%2026.819048%2022.381715h263.753142c13.409524%200%2026.819048-8.97219%2026.819048-22.381715s-13.409524-22.332952-26.819048-22.332952z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M487.228952%20683.885714H223.47581c-17.846857%200-35.742476-13.409524-35.742477-31.305143%200-17.846857%2013.409524-31.256381%2035.742477-31.256381h263.753142c17.846857%200%2035.742476%2013.409524%2035.742477%2031.256381%200%2017.895619-17.895619%2031.305143-35.742477%2031.305143z%20m-263.753142-44.714666c-8.923429%200-17.846857%204.486095-17.846858%2013.409523%200%208.97219%208.923429%2013.409524%2017.846858%2013.409524h263.753142c8.923429%200%2017.846857-4.437333%2017.846858-13.409524%200-8.923429-8.923429-13.409524-17.846858-13.409523H223.47581z%20m308.419047-134.095238H223.47581c-17.846857%200-35.742476-13.409524-35.742477-31.256381%200-17.895619%2013.409524-31.305143%2035.742477-31.305143h308.419047c17.895619%200%2035.791238%2013.409524%2035.791238%2031.305143-4.486095%2017.846857-17.895619%2031.256381-35.791238%2031.256381z%20m-308.419047-44.665905c-8.923429%200-17.846857%204.437333-17.846858%2013.409524%200%208.923429%208.923429%2013.409524%2017.846858%2013.409523h308.419047c8.97219%200%2017.895619-4.486095%2017.895619-13.409523%200-8.97219-8.923429-13.409524-17.895619-13.409524H223.47581z%20m397.84838-134.095238H223.47581a30.573714%2030.573714%200%200%201-31.256381-31.305143c0-17.895619%2013.409524-31.305143%2031.256381-31.305143h397.84838c17.846857%200%2031.256381%2013.409524%2031.256381%2031.305143a30.573714%2030.573714%200%200%201-31.256381%2031.305143z%20m-397.84838-44.714667c-8.923429%200-13.409524%204.486095-13.409524%2013.409524%200%208.923429%204.486095%2013.409524%2013.409524%2013.409524h397.84838c8.923429%200%2013.409524-4.486095%2013.409524-13.409524%200-8.923429-4.486095-13.409524-13.409524-13.409524H223.47581z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-feiyongbaoxiao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-feiyongbaoxiao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M742.723816%20507.603653a29.634637%2029.634637%200%200%200%200-59.269275H670.428328L750.399978%20353.56867a29.634637%2029.634637%200%201%200-44.986961-37.96211l-94.160919%20112.025442-94.114398-112.025442a29.588115%2029.588115%200%200%200-45.033483%2037.96211l79.366862%2094.765708h-75.226387a29.634637%2029.634637%200%200%200%200%2059.269275h103.651447v44.428694h-103.651447a29.634637%2029.634637%200%200%200%200%2059.269275h103.651447v79.413384a29.634637%2029.634637%200%201%200%2059.17623%200V611.301622h103.651447a29.634637%2029.634637%200%200%200%200-59.269275h-103.651447v-44.428694h103.651447z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M267.546132%20287.925855c-19.260188%200-34.891645%2014.328836-34.891645%2031.960747V456.84794c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747%2019.074099-0.325655%2034.519468-14.42188%2034.891645-31.960747V319.886602c0-17.678434-15.631457-31.960747-34.891645-31.960747z%20m0-273.17832a35.915133%2035.915133%200%200%200-24.656762%208.978784A30.099859%2030.099859%200%200%200%20232.654487%2046.056972v136.914815c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747s34.891645-14.328836%2034.891645-31.960747V46.056972C302.0656%2028.704193%20286.527187%2014.747535%20267.546132%2014.747535zM267.546132%20535.005225c-19.260188%200-34.891645%2014.328836-34.891645%2031.960747v136.914815c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747%2019.074099-0.325655%2034.519468-14.42188%2034.891645-31.960747v-136.914815c0-17.678434-15.631457-31.960747-34.891645-31.960747zM267.546132%20799.669983c-19.260188%200-34.891645%2014.328836-34.891645%2031.960747v136.914815c0%2017.678434%2015.631457%2031.960747%2034.891645%2031.960747%2019.074099-0.325655%2034.519468-14.42188%2034.891645-31.960747v-136.914815c0-17.678434-15.631457-31.960747-34.891645-31.960747z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M891.873968%200H63.406747c-18.794966%200-36.287311%2012.09577-45.591749%2031.542047a72.574622%2072.574622%200%200%200%200.744355%2062.618873l58.524919%20115.328517L8.32447%20336.820681A71.876789%2071.876789%200%200%200%209.068826%20405.208305l64.107582%20112.583708L7.952293%20641.913225a71.923311%2071.923311%200%200%200%201.302621%2068.155014l65.503249%20112.676752-55.361411%20105.884512c-9.955749%2019.167144-10.420971%2043.26564-1.256099%2062.944528%209.257916%2019.678888%2026.750261%2031.914225%2045.731316%2031.914225H891.873968c72.574622%200%20131.657807-70.108946%20131.657808-156.31457V156.31457C1023.531776%2070.155468%20964.44859%200%20891.873968%200zM134.353092%20792.505565l-65.456726-114.909817%2065.131071-126.586889a74.900731%2074.900731%200%200%200-1.116533-69.038935L68.942888%20367.246195l68.480669-129.424742c10.839671-20.469765%2011.165326-46.103494%200.790878-66.945436L87.877421%2069.78329H252.65903v883.921676H88.714821l47.033937-91.788288a74.900731%2074.900731%200%200%200-1.395666-69.411113z%20m816.13884%2081.832539c0%2043.730862-32.100313%2079.366862-71.644178%2079.366862H252.65903v-883.921676h626.188724c39.543864%200%2071.644178%2035.636%2071.644178%2079.366862v725.187952z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka-ka { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka-ka%22%20viewBox%3D%220%200%201194%201024%22%3E%3Cpath%20d%3D%22M1194.666667%20285.013333V77.909333A78.122667%2078.122667%200%200%200%201116.757333%200H77.909333A78.122667%2078.122667%200%200%200%200%2077.909333V285.013333h1194.666667zM0%20414.890667v499.285333c0%2040.234667%2033.109333%2072.704%2072.704%2072.704h1045.333333c42.837333%200%2077.226667-34.389333%2076.629334-76.629333V414.890667H0z%20m1024.554667%20268.8l-24.021334%2095.445333a43.093333%2043.093333%200%200%201-42.24%2033.109333H848.64a22.186667%2022.186667%200%200%201-21.418667-27.306666l25.301334-99.968a37.461333%2037.461333%200%200%201%2036.352-28.586667h114.944c14.293333%200%2024.661333%2013.653333%2020.778666%2027.306667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xinrenzhinan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xinrenzhinan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m64%200l896%200q64%200%2064%2064l0%20896q0%2064-64%2064l-896%200q-64%200-64-64l0-896q0-64%2064-64Z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M618.656%20401.216h-181.312c0%2048.96%2040.576%2088.64%2090.656%2088.64%2050.08%200%2090.656-39.68%2090.656-88.64z%20m-226.656%20221.568h272c75.104%200%20136%2059.52%20136%20132.896V800H256v-44.32c0-73.408%2060.896-132.896%20136-132.896z%20m136-44.32c-100.16%200-181.344-79.36-181.344-177.248C346.656%20303.36%20427.84%20224%20528%20224s181.344%2079.36%20181.344%20177.216c0%2097.92-81.184%20177.248-181.344%20177.248z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanyuwomen2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanyuwomen2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m64%200l896%200q64%200%2064%2064l0%20896q0%2064-64%2064l-896%200q-64%200-64-64l0-896q0-64%2064-64Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20224a288%20288%200%201%201%200%20576%20288%20288%200%200%201%200-576z%20m0%20233.6c-19.84%200-35.872%2016.064-35.872%2035.872v157.312a35.872%2035.872%200%201%200%2071.744%200v-157.312c0-19.808-16.064-35.84-35.872-35.84z%20m0-120.256a40.544%2040.544%200%201%200%200%2081.088%2040.544%2040.544%200%200%200%200-81.088z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-quanbu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-quanbu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M938.666667%20295.822222c0-113.777778-91.022222-210.488889-204.8-210.488889S529.066667%20176.355556%20529.066667%20295.822222v210.488889h204.8c113.777778-5.688889%20204.8-96.711111%20204.8-210.488889zM728.177778%20170.666667C796.444444%20170.666667%20853.333333%20227.555556%20853.333333%20295.822222c0%2068.266667-56.888889%20125.155556-125.155555%20125.155556h-125.155556V290.133333c0-62.577778%2056.888889-119.466667%20125.155556-119.466666zM295.822222%2085.333333c-113.777778%200-204.8%2091.022222-204.8%20210.488889s91.022222%20210.488889%20204.8%20210.488889h204.8V295.822222c0-119.466667-91.022222-210.488889-204.8-210.488889z%20m0%2085.333334c34.133333%200%2068.266667%2017.066667%2091.022222%2039.822222%2022.755556%2017.066667%2034.133333%2051.2%2034.133334%2079.644444v125.155556H295.822222C227.555556%20420.977778%20170.666667%20358.4%20170.666667%20290.133333S227.555556%20170.666667%20295.822222%20170.666667z%20m-210.488889%20557.511111c0%20113.777778%2091.022222%20210.488889%20204.8%20210.488889%2056.888889%200%20113.777778-22.755556%20147.911111-62.577778%2039.822222-39.822222%2062.577778-91.022222%2056.888889-142.222222V523.377778H290.133333c-108.088889%200-204.8%2091.022222-204.8%20204.8z%20m210.488889%20119.466666c-68.266667%200-125.155556-56.888889-125.155555-125.155555%200-68.266667%2056.888889-125.155556%20125.155555-125.155556h125.155556v125.155556c0%2068.266667-56.888889%20125.155556-125.155556%20125.155555z%20m432.355556-324.266666H523.377778v210.488889c0%20113.777778%2091.022222%20210.488889%20204.8%20210.488889s204.8-91.022222%20204.8-210.488889-91.022222-210.488889-204.8-210.488889z%20m-125.155556%2073.955555h125.155556c68.266667%200%20125.155556%2056.888889%20125.155555%20125.155556%200%2068.266667-56.888889%20125.155556-125.155555%20125.155555s-125.155556-56.888889-125.155556-125.155555v-125.155556z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shenfenzheng { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shenfenzheng%22%20viewBox%3D%220%200%201344%201024%22%3E%3Cpath%20d%3D%22M1132.8%200H192C89.6%200%200%2089.6%200%20192v640c0%20108.8%2089.6%20192%20192%20192h934.4c108.8%200%20192-89.6%20192-192V192c6.4-102.4-83.2-192-185.6-192z%20m102.4%20832c0%2057.6-44.8%20102.4-102.4%20102.4H192c-57.6%200-102.4-44.8-102.4-102.4V192c0-57.6%2044.8-102.4%20102.4-102.4h934.4c57.6%200%20102.4%2044.8%20102.4%20102.4v640z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1056%20531.2c38.4-32%2057.6-83.2%2057.6-134.4%200-108.8-83.2-192-192-192s-192%2083.2-192%20192c0%2051.2%2025.6%20102.4%2057.6%20134.4-64%2044.8-102.4%20115.2-102.4%20198.4%200%2025.6%2019.2%2044.8%2044.8%2044.8s44.8-19.2%2044.8-44.8c0-76.8%2057.6-134.4%20128-147.2h38.4c70.4%2012.8%20128%2070.4%20128%20147.2%200%2025.6%2019.2%2044.8%2044.8%2044.8s44.8-19.2%2044.8-44.8c0-83.2-38.4-160-102.4-198.4z%20m-108.8-38.4h-38.4c-44.8-6.4-83.2-51.2-83.2-96%200-57.6%2044.8-102.4%20102.4-102.4s96%2044.8%2096%2096-32%2089.6-76.8%20102.4zM588.8%20275.2H185.6c-25.6%200-44.8%2019.2-44.8%2044.8s19.2%2044.8%2044.8%2044.8h403.2c25.6%200%2044.8-19.2%2044.8-44.8s-19.2-44.8-44.8-44.8zM588.8%20467.2H185.6c-25.6%200-44.8%2019.2-44.8%2044.8%200%2025.6%2019.2%2044.8%2044.8%2044.8h403.2c25.6%200%2044.8-19.2%2044.8-44.8%200-25.6-19.2-44.8-44.8-44.8zM473.6%20665.6H185.6c-25.6%200-44.8%2019.2-44.8%2044.8%200%2025.6%2019.2%2044.8%2044.8%2044.8h281.6c25.6%200%2044.8-19.2%2044.8-44.8%206.4-25.6-12.8-44.8-38.4-44.8z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-jieren { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-jieren%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M819.2%20352c44.8%200%2089.6-19.2%20121.6-51.2s51.2-76.8%2044.8-115.2c0-96-76.8-166.4-172.8-166.4S640%2096%20640%20192c6.4%2083.2%2083.2%20160%20179.2%20160z%20m-76.8-172.8c0-44.8%2038.4-76.8%2083.2-76.8%2025.6%200%2044.8%206.4%2057.6%2025.6%2012.8%2012.8%2019.2%2032%2019.2%2051.2%200%2044.8-38.4%2076.8-83.2%2076.8s-76.8-32-76.8-76.8zM204.8%20352c96%200%20172.8-76.8%20172.8-172.8C377.6%2083.2%20300.8%2012.8%20204.8%2012.8c-51.2%200-96%2019.2-128%2051.2S32%20140.8%2032%20185.6c0%2089.6%2076.8%20166.4%20172.8%20166.4zM121.6%20179.2c0-44.8%2038.4-76.8%2083.2-76.8%2044.8%200%2083.2%2038.4%2083.2%2076.8%200%2044.8-38.4%2076.8-83.2%2076.8s-83.2-32-83.2-76.8z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M832%20358.4h-12.8c-102.4%200-179.2%2083.2-179.2%20179.2v6.4c-6.4%200-12.8%206.4-12.8%206.4l-128%20102.4-108.8-89.6v-32c0-96-83.2-179.2-179.2-179.2H192C89.6%20352%2012.8%20435.2%2012.8%20531.2v396.8c0%2044.8%2032%2076.8%2076.8%2076.8h217.6c44.8%200%2076.8-32%2083.2-76.8v-256l64%2057.6c6.4%206.4%2019.2%2012.8%2032%2012.8s19.2-6.4%2025.6-12.8l121.6-96v288c0%2044.8%2032%2076.8%2076.8%2076.8h217.6c44.8%200%2083.2-32%2083.2-76.8V531.2c0-96-83.2-172.8-179.2-172.8z%20m89.6%20172.8v384h-198.4v-384c0-51.2%2038.4-89.6%2089.6-89.6h12.8c51.2%206.4%2096%2044.8%2096%2089.6z%20m-620.8%200v384H102.4v-384C102.4%20486.4%20140.8%20448%20192%20448h12.8c57.6%200%2096%2038.4%2096%2083.2z%20m185.6%20198.4z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qiye { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qiye%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M898.844444%20506.311111l-278.755555-199.111111V159.288889c0-39.822222-17.066667-73.955556-51.2-96.711111C540.444444%2045.511111%20500.622222%2039.822222%20460.8%2056.888889L147.911111%20182.044444c-45.511111%2017.066667-73.955556%2056.888889-73.955555%20108.088889v568.888889c0%2062.577778%2051.2%20119.466667%20119.466666%20119.466667h642.844445c62.577778%200%20119.466667-51.2%20119.466666-119.466667v-256c-5.688889-39.822222-22.755556-73.955556-56.888889-96.711111z%20m-28.444444%20352.711111c0%2022.755556-17.066667%2039.822222-39.822222%2039.822222h-210.488889V403.911111L853.333333%20568.888889c11.377778%205.688889%2017.066667%2017.066667%2017.066667%2034.133333v256z%20m-523.377778-238.933333c-22.755556%200-39.822222%2017.066667-39.822222%2039.822222v238.933333h-113.777778c-11.377778%200-17.066667-5.688889-28.444444-11.377777-5.688889-5.688889-11.377778-17.066667-11.377778-28.444445v-568.888889c0-17.066667%2011.377778-28.444444%2022.755556-34.133333l312.888888-125.155556c5.688889%200%2011.377778-5.688889%2011.377778-5.688888%205.688889%200%2017.066667%200%2022.755556%205.688888%2011.377778%205.688889%2017.066667%2017.066667%2017.066666%2028.444445v739.555555H386.844444v-238.933333c0-22.755556-17.066667-39.822222-39.822222-39.822222z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-mianshi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-mianshi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M961.422222%20472.177778c-11.377778-5.688889-28.444444-5.688889-39.822222%200L512%20631.466667%20102.4%20472.177778c-11.377778-5.688889-28.444444-5.688889-39.822222%200-11.377778%205.688889-22.755556%2017.066667-17.066667%2034.133333v381.155556c0%2045.511111%2039.822222%2079.644444%2091.022222%2079.644444h756.622223c51.2%200%2091.022222-34.133333%2091.022222-79.644444V506.311111c-5.688889-17.066667-11.377778-28.444444-22.755556-34.133333z%20m-68.266666%2091.022222v318.577778s0%205.688889-5.688889%205.688889H130.844444s-5.688889%200-5.688888-5.688889V563.2l364.088888%20147.911111c11.377778%205.688889%2022.755556%205.688889%2034.133334%200l369.777778-147.911111z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.755556%2079.644444H238.933333c-45.511111%200-79.644444%2028.444444-79.644444%2068.266667v386.844445c0%2022.755556%2017.066667%2039.822222%2039.822222%2039.822222s39.822222-17.066667%2039.822222-39.822222V153.6h551.822223v381.155556c0%2022.755556%2017.066667%2039.822222%2039.822222%2039.822222%2022.755556%200%2039.822222-17.066667%2039.822222-39.822222V147.911111c0-39.822222-34.133333-68.266667-79.644444-68.266667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M711.111111%20358.4H347.022222c-22.755556%200-39.822222%2017.066667-39.822222%2039.822222s17.066667%2039.822222%2039.822222%2039.822222h364.088889c22.755556%200%2039.822222-17.066667%2039.822222-39.822222s-22.755556-39.822222-39.822222-39.822222zM546.133333%20341.333333h164.977778c22.755556%200%2039.822222-17.066667%2039.822222-39.822222s-17.066667-39.822222-39.822222-39.822222H546.133333c-22.755556%200-39.822222%2017.066667-39.822222%2039.822222s17.066667%2039.822222%2039.822222%2039.822222z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weizaizhilaoxiang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weizaizhilaoxiang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M77.575758%2015.515152h868.848484c34.133333%200%2062.060606%2027.927273%2062.060606%2062.060606v868.848484c0%2034.133333-27.927273%2062.060606-62.060606%2062.060606h-868.848484c-34.133333%200-62.060606-27.927273-62.060606-62.060606v-868.848484c0-34.133333%2027.927273-62.060606%2062.060606-62.060606z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M381.672727%20403.393939c40.339394%200%2071.369697-31.030303%2071.369697-71.369697V211.006061h-93.090909c-27.927273%200-52.751515%2021.721212-52.751515%2052.751515v68.266666c3.10303%2037.236364%2037.236364%2071.369697%2074.472727%2071.369697zM657.842424%20446.836364c34.133333%200%2065.163636-27.927273%2065.163637-65.163637V276.169697h-80.678788c-24.824242%200-46.545455%2021.721212-46.545455%2046.545455v62.060606c0%2034.133333%2027.927273%2062.060606%2062.060606%2062.060606zM456.145455%20449.939394H266.860606l-77.575758%2096.193939%2077.575758%2046.545455v217.212121h238.933333v-310.30303c0-27.927273-24.824242-49.648485-49.648484-49.648485zM763.345455%20490.278788H620.606061c-37.236364%200-68.266667%2031.030303-68.266667%2068.266667v251.345454h214.109091v-167.563636l74.472727-46.545455c-3.10303-3.10303-77.575758-105.50303-77.575757-105.50303z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M590.147368%20175.157895c24.252632%200%2048.505263%2010.778947%2064.673685%2029.642105l70.063158%2083.536842h80.842105c45.810526%200%2083.536842%2035.031579%2083.536842%2080.842105V768c0%2045.810526-37.726316%2083.536842-83.536842%2083.536842H218.273684c-45.810526%202.694737-83.536842-35.031579-83.536842-83.536842V371.873684c0-45.810526%2037.726316-83.536842%2083.536842-83.536842h80.842105l70.063158-83.536842c16.168421-16.168421%2037.726316-26.947368%2061.978948-29.642105h158.989473z%20m0%2056.589473h-153.6c-8.084211%200-16.168421%202.694737-21.557894%2010.778948l-88.926316%20102.4h-107.789474c-16.168421%200-26.947368%2013.473684-26.947368%2026.947368v396.126316c0%2016.168421%2013.473684%2026.947368%2026.947368%2026.947368h584.757895c16.168421%200%2026.947368-13.473684%2026.947368-26.947368V371.873684c0-16.168421-13.473684-26.947368-26.947368-26.947368h-107.789474L609.010526%20242.526316c-2.694737-8.084211-10.778947-10.778947-18.863158-10.778948z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M803.031579%20854.231579H218.273684c-45.810526%200-83.536842-37.726316-83.536842-86.231579V374.568421c0-48.505263%2037.726316-86.231579%2086.231579-86.231579h80.842105l67.368421-80.842105c13.473684-21.557895%2037.726316-32.336842%2061.978948-32.336842h158.989473c26.947368%200%2048.505263%2010.778947%2067.368421%2032.336842l67.368422%2080.842105h80.842105c45.810526%200%2083.536842%2035.031579%2086.231579%2080.842105V768c-2.694737%2048.505263-40.421053%2086.231579-88.926316%2086.231579z%20m-584.757895-565.894737c-45.810526%200-83.536842%2037.726316-83.536842%2086.231579v393.431579c0%2045.810526%2037.726316%2083.536842%2083.536842%2083.536842h584.757895c45.810526%200%2083.536842-37.726316%2083.536842-83.536842V369.178947c-2.694737-45.810526-37.726316-80.842105-83.536842-80.842105h-80.842105l-70.063158-83.536842c-13.473684-16.168421-37.726316-29.642105-61.978948-29.642105H431.157895c-24.252632%200-45.810526%2013.473684-59.284211%2029.642105l-70.063158%2083.536842H218.273684z%20m584.757895%20509.305263H218.273684c-16.168421%200-29.642105-13.473684-29.642105-29.642105V374.568421c0-16.168421%2013.473684-29.642105%2029.642105-29.642105h107.789474L412.294737%20242.526316c5.389474-8.084211%2013.473684-10.778947%2021.557895-10.778948h153.6c8.084211%200%2016.168421%202.694737%2021.557894%2010.778948l86.231579%20102.4h107.789474c16.168421%200%2029.642105%2013.473684%2029.642105%2029.642105v393.431579c2.694737%2018.863158-10.778947%2029.642105-29.642105%2029.642105zM218.273684%20344.926316c-16.168421%200-26.947368%2010.778947-26.947368%2026.947368v396.126316c0%2016.168421%2010.778947%2026.947368%2026.947368%2026.947368h584.757895c16.168421%200%2026.947368-10.778947%2026.947368-26.947368V374.568421c0-16.168421-10.778947-26.947368-26.947368-26.947368h-107.789474l-86.231579-102.4c-5.389474-5.389474-13.473684-10.778947-21.557894-10.778948h-153.6c-8.084211%200-16.168421%202.694737-21.557895%2010.778948l-83.536842%2099.705263H218.273684z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20412.294737c78.147368%200%20142.821053%2064.673684%20142.821053%20140.126316%200%2078.147368-64.673684%20142.821053-142.821053%20142.821052s-140.126316-64.673684-140.126316-142.821052%2061.978947-140.126316%20140.126316-140.126316z%20m0%2056.589474c-45.810526%200-83.536842%2037.726316-83.536842%2083.536842%200%2045.810526%2037.726316%2083.536842%2083.536842%2083.536842s83.536842-37.726316%2083.536842-83.536842c0-45.810526-37.726316-83.536842-83.536842-83.536842z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20695.242105c-78.147368%200-142.821053-64.673684-142.821053-142.821052s64.673684-142.821053%20142.821053-142.821053%20142.821053%2064.673684%20142.821053%20142.821053-64.673684%20142.821053-142.821053%20142.821052z%20m0-282.947368c-78.147368%200-140.126316%2061.978947-140.126316%20140.126316s61.978947%20140.126316%20140.126316%20140.126315%20140.126316-61.978947%20140.126316-140.126315-61.978947-140.126316-140.126316-140.126316z%20m0%20226.357895c-48.505263%200-86.231579-37.726316-86.231579-86.231579s37.726316-86.231579%2086.231579-86.231579%2086.231579%2037.726316%2086.231579%2086.231579-37.726316%2086.231579-86.231579%2086.231579z%20m0-169.768421c-45.810526%200-83.536842%2037.726316-83.536842%2083.536842%200%2045.810526%2037.726316%2083.536842%2083.536842%2083.536842%2045.810526%200%2083.536842-37.726316%2083.536842-83.536842%200-45.810526-37.726316-83.536842-83.536842-83.536842z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ludan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ludan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M538.543158%20898.56H274.324211A85.800421%2085.800421%200%200%201%20188.631579%20812.867368V209.650526a85.800421%2085.800421%200%200%201%2085.692632-85.692631h475.351578A85.800421%2085.800421%200%200%201%20835.368421%20209.650526v392.084211c0%20163.651368-133.173895%20296.825263-296.825263%20296.825263zM274.324211%20181.867789c-15.333053%200-27.809684%2012.449684-27.809685%2027.782737v603.216842c0%2015.333053%2012.476632%2027.809684%2027.809685%2027.809685h264.218947c131.745684%200%20238.942316-107.196632%20238.942316-238.969264V209.650526c0-15.333053-12.476632-27.809684-27.809685-27.809684H274.324211z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M636.604632%20460.8h-249.209264a28.941474%2028.941474%200%200%201%200-57.909895h249.209264a28.941474%2028.941474%200%200%201%200%2057.909895z%20m-109.514106%20178.930526h-139.695158a28.941474%2028.941474%200%200%201%200-57.882947h139.695158a28.941474%2028.941474%200%200%201%200%2057.882947z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangce { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangce%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M754.036364%2041.890909H269.963636C144.290909%2041.890909%2041.890909%20139.636364%2041.890909%20256v507.345455C41.890909%20884.363636%20144.290909%20977.454545%20269.963636%20977.454545h488.727273c125.672727%200%20223.418182-97.745455%20223.418182-214.10909V256C982.109091%20139.636364%20879.709091%2041.890909%20754.036364%2041.890909z%20m158.254545%20214.109091v507.345455c0%2083.781818-69.818182%20148.945455-158.254545%20148.945454H269.963636c-88.436364%200-158.254545-69.818182-158.254545-148.945454V256c0-83.781818%2069.818182-148.945455%20158.254545-148.945455h488.727273c83.781818%200%20153.6%2069.818182%20153.6%20148.945455z%22%20fill%3D%22%23666666%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M693.527273%20474.763636c-9.309091-18.618182-27.927273-32.581818-46.545455-32.581818s-41.890909%2013.963636-46.545454%2032.581818l-32.581819%2069.818182c0%204.654545-4.654545%204.654545-4.654545%200l-83.781818-195.490909c-9.309091-18.618182-27.927273-32.581818-46.545455-32.581818s-41.890909%2013.963636-46.545454%2032.581818l-125.672728%20288.581818c-9.309091%2018.618182-4.654545%2037.236364%204.654546%2051.2%209.309091%2013.963636%2027.927273%2023.272727%2041.890909%2023.272728h409.6c18.618182%200%2032.581818-9.309091%2041.890909-23.272728%209.309091-13.963636%209.309091-32.581818%204.654546-51.2l-69.818182-162.909091z%20m13.963636%20181.527273H316.509091l111.709091-260.654545%2074.472727%20176.872727c9.309091%2023.272727%2032.581818%2037.236364%2055.854546%2037.236364%2027.927273%200%2046.545455-13.963636%2055.854545-37.236364l23.272727-55.854546%2069.818182%20139.636364z%22%20fill%3D%22%23666666%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qudaohezuo { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qudaohezuo%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m56.888889%200l910.222222%200q56.888889%200%2056.888889%2056.888889l0%20910.222222q0%2056.888889-56.888889%2056.888889l-910.222222%200q-56.888889%200-56.888889-56.888889l0-910.222222q0-56.888889%2056.888889-56.888889Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M667.306667%20700.273778l-159.004445-158.520889a11.946667%2011.946667%200%200%200-17.265778%200%2011.861333%2011.861333%200%200%200%200%2017.208889l159.004445%20158.520889-60.387556%2060.188444-151.608889-149.902222a11.946667%2011.946667%200%200%200-17.265777%200%2011.861333%2011.861333%200%200%200%200%2017.208889l150.385777%20149.902222-33.28%2033.166222c-14.791111%2014.762667-38.200889%2014.762667-51.768888%200l-189.809778-187.989333-139.292445-140.060445a48.839111%2048.839111%200%200%201%200-70.030222l145.436445-145.009778a49.208889%2049.208889%200%200%201%2070.257778%200L512%20425.045333l215.694222%20215.04-60.387555%2060.188445z%20m199.68-200.277334l-122.026667%20121.628445-215.694222-213.788445%20122.026666-121.628444a49.208889%2049.208889%200%200%201%2070.257778%200l145.436445%20144.981333c19.712%2019.626667%2019.712%2050.346667%200%2068.807111z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuchang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuchang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m56.888889%200l910.222222%200q56.888889%200%2056.888889%2056.888889l0%20910.222222q0%2056.888889-56.888889%2056.888889l-910.222222%200q-56.888889%200-56.888889-56.888889l0-910.222222q0-56.888889%2056.888889-56.888889Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M278.840889%20622.279111c0%2057.457778-29.383111%2094.520889-33.905778%2099.868445l-0.568889%200.682666-47.104-25.827555c24.860444-26.481778%2028.899556-70.656%2029.184-74.467556l0.028445-0.256h52.337777z%20m617.102222%200c0%2057.457778-29.383111%2094.520889-33.905778%2099.868445l-0.568889%200.682666-47.104-25.827555c24.860444-26.481778%2028.899556-70.656%2029.212445-74.467556v-0.256h52.366222zM615.907556%20355.555556l-0.028445%2082.232888h35.100445v31.971556l-35.100445-0.028444v159.772444h35.100445v31.971556h-122.538667v-31.971556h35.043555v-159.772444h-35.043555v-31.943112h35.043555V355.555556h52.423112z%20m-153.201778%2038.769777v31.943111h-56.917334v54.926223h56.917334v31.971555h-56.917334v116.337778h60.302223v31.971556h-179.256889v-31.971556h66.56v-116.337778h-63.089778v-31.943111l63.089778-0.028444v-54.926223h-63.089778v-31.943111h172.401778z%20m278.471111%20166.599111c0%2070.656-25.002667%2096.910222-28.444445%20100.181334l-0.398222%200.369778-47.104-25.827556c20.593778-21.902222%2023.352889-55.950222%2023.608889-69.205333l0.028445-3.413334-0.028445-1.848889v-0.256h52.337778z%20m77.653333-78.819555v79.644444c1.137778%2076.743111-17.408%2098.247111-18.659555%2099.612445l-0.056889%200.056889-47.274667-25.827556c11.918222-19.911111%2013.511111-53.134222%2013.624889-67.214222v-4.124445l-0.056889-2.218666v-79.928889h52.394667zM250.908444%20355.555556l-0.028444%20125.639111h27.989333v141.027555H226.474667v-109.056H119.580444v-118.840889h52.394667v86.869334h26.538667v-93.866667H119.580444V355.555556h131.356445zM896%20622.222222h-52.423111v-152.490666h-177.635556v-31.943112l81.578667-50.289777h-81.578667V355.555556h177.635556v31.971555L761.742222%20437.76H896v184.433778z%20m-680.874667-65.991111v31.943111H99.555556v-31.971555h115.569777z%20m526.108445-75.008v79.644445h-52.423111v-79.644445h52.423111zM402.033778%20355.555556l7.566222%2033.848888h-52.423111l-7.566222-33.848888h52.423111z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodexiangmu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodexiangmu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M967.111111%200a56.888889%2056.888889%200%200%201%2056.888889%2056.888889v910.222222a56.888889%2056.888889%200%200%201-56.888889%2056.888889H56.888889a56.888889%2056.888889%200%200%201-56.888889-56.888889V56.888889a56.888889%2056.888889%200%200%201%2056.888889-56.888889h910.222222zM530.119111%20211.996444a62.833778%2062.833778%200%200%200-40.760889%200L231.224889%20338.773333c-4.522667%200-13.568%209.073778-18.090667%2018.119111-9.073778%2022.641778%200%2049.834667%2022.641778%2058.88l54.328889%2027.164445-54.328889%2027.164444c-18.119111%209.073778-27.192889%2022.641778-27.192889%2040.760889s9.073778%2031.715556%2027.192889%2040.760889l54.328889%2027.164445-54.328889%2027.164444c-18.119111%209.073778-27.192889%2022.670222-27.192889%2040.760889%200%2018.119111%204.551111%2031.715556%2022.641778%2040.760889l258.133333%20126.805333c9.045333%204.551111%2013.596444%204.551111%2022.641778%204.551111%209.045333%200%2018.119111%200%2022.641778-4.551111l249.059555-122.282667c22.641778-9.045333%2031.715556-27.164444%2031.715556-45.283555%200-22.641778-9.073778-36.209778-31.715556-45.283556l-49.806222-22.641777%2049.806222-22.641778c22.641778-9.045333%2031.715556-27.164444%2031.715556-45.283556%200-22.641778-9.073778-36.209778-31.715556-45.283555l-49.806222-22.641778%2054.328889-27.164445c4.551111%200%2013.596444-9.045333%2018.119111-18.119111%2013.596444-22.641778%204.551111-49.806222-18.119111-58.88z%20m-190.208%20393.955556l149.447111%2076.999111c9.045333%204.551111%2013.596444%204.551111%2022.641778%204.551111%209.045333%200%2018.119111%200%2022.641778-4.551111l149.447111-72.448%2086.044444%2040.760889L512%20778.040889l-258.133333-131.328%2086.044444-40.760889z%20m344.177778-135.850667l86.044444%2040.760889L512%20642.190222%20253.866667%20510.862222l86.044444-40.760889%20153.969778%2072.476445c13.596444%204.522667%2027.164444%204.522667%2040.760889%200l149.447111-72.476445z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodetonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodetonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M967.111111%200a56.888889%2056.888889%200%200%201%2056.888889%2056.888889v910.222222a56.888889%2056.888889%200%200%201-56.888889%2056.888889H56.888889a56.888889%2056.888889%200%200%201-56.888889-56.888889V56.888889a56.888889%2056.888889%200%200%201%2056.888889-56.888889h910.222222z%20m-182.044444%20438.983111h-66.844445v125.809778l-0.142222%204.835555c-2.474667%2036.721778-32.796444%2061.980444-66.645333%2061.980445H446.862222v78.648889l0.170667%203.896889c2.019556%2021.816889%2020.792889%2039.338667%2043.064889%2039.338666H651.377778l11.377778%209.045334c14.734222%2011.576889%2027.960889%2021.617778%2043.690666%2034.190222%207.822222%203.925333%2011.832889%2011.832889%2019.655111%2015.758222%203.925333%203.925333%2011.832889%207.822222%2015.758223%203.925333%203.896889-3.925333%207.822222-7.850667%207.822222-15.758222V753.493333h31.488l3.896889-0.170666a43.690667%2043.690667%200%200%200%2039.338666-43.064889v-228.124445l0.426667-3.669333c1.422222-21.845333-17.408-39.480889-39.736889-39.480889zM635.591111%20199.111111H242.346667l-3.896889%200.170667C216.661333%20201.329778%20199.111111%20220.302222%20199.111111%20246.272v306.773333l0.170667%203.868445c2.019556%2021.816889%2020.792889%2039.367111%2043.064889%2039.367111l39.310222-0.028445v70.826667l0.256%203.128889c0.881778%205.859556%204.266667%209.272889%207.594667%2012.629333%207.850667%203.925333%2011.832889%200%2015.758222-3.925333l9.500444-7.566222%202.304-1.848889v1.507555l1.422222-2.645333%205.262223-4.152889c11.662222-9.301333%2022.158222-18.033778%2032.654222-28.529778l8.846222-6.513777%2017.692445-14.506667c2.958222-2.304%205.916444-4.522667%208.874666-6.485333%206.456889-3.214222%2010.296889-6.428444%2015.815111-11.889778h227.953778l3.896889-0.199111a43.690667%2043.690667%200%200%200%2039.367111-43.036445V246.272l-0.199111-4.522667C676.693333%20216.661333%20657.92%20199.111111%20635.591111%20199.111111z%20m-318.492444%20153.372445a43.52%2043.52%200%200%201%2043.235555%2043.235555c0%2023.608889-19.683556%2043.235556-43.235555%2043.235556-23.608889%200-43.235556-19.626667-43.235556-43.235556%200-23.552%2019.626667-43.235556%2043.235556-43.235555z%20m117.959111%200a43.52%2043.52%200%200%201%2043.235555%2043.235555c0%2023.608889-19.655111%2043.235556-43.235555%2043.235556-23.580444%200-43.235556-19.626667-43.235556-43.235556%200-23.552%2019.655111-43.235556%2043.235556-43.235555z%20m121.884444%200a43.52%2043.52%200%200%201%2043.235556%2043.235555c0%2023.608889-19.626667%2043.235556-43.235556%2043.235556-23.580444%200-43.235556-19.626667-43.235555-43.235556%200-23.552%2019.655111-43.235556%2043.235555-43.235555z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongdan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongdan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M943.693576%206.237091a62.060606%2062.060606%200%200%201%2062.060606%2062.060606v868.848485a62.060606%2062.060606%200%200%201-62.060606%2062.060606h-868.848485a62.060606%2062.060606%200%200%201-62.060606-62.060606v-868.848485a62.060606%2062.060606%200%200%201%2062.060606-62.060606h868.848485z%20m-638.014061%20217.212121c-34.381576%200-60.167758%2027.120485-60.167757%2058.119758v442.336969c0%2030.968242%2025.786182%2058.088727%2060.167757%2058.088728h395.264c34.381576%200%2060.167758-27.120485%2060.167758-58.088728V281.56897c0-30.999273-25.786182-58.119758-60.167758-58.119758H305.679515z%20m166.384485%20300.776727c15.639273%200%2031.247515%2016.104727%2031.247515%2032.209455%200%2016.135758-12.505212%2032.209455-28.113454%2032.209454h-112.484849c-15.639273%200-31.247515-16.104727-31.247515-32.209454%200-16.135758%2012.474182-32.209455%2031.247515-32.209455h109.350788z%20m125.362424-128.899878c11.388121%200%2026.59297%206.423273%2030.409697%2016.104727%203.785697%209.650424%207.571394%2022.55903%200%2032.209454-3.816727%209.681455-15.204848%2016.135758-26.624%2016.135758h-231.765333c-18.990545%200-37.981091-16.135758-37.981091-32.240485%200-16.135758%2015.204848-32.209455%2037.981091-32.209454h227.979636z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-mendian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-mendian%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M326.4%20300.8v576h-51.2v-576h51.2z%20m153.6%206.4l-51.2%2025.6c-25.6-57.6-57.6-102.4-96-147.2l51.2-19.2c38.4%2044.8%2070.4%2089.6%2096%20140.8z%20m268.8%20563.2l-12.8-51.2h70.4c19.2%200%2032-12.8%2032-44.8v-512H537.6v-51.2h345.6v582.4c0%2051.2-25.6%2076.8-76.8%2076.8h-57.6zM1408%20249.6h281.6v51.2h-563.2v166.4c0%20166.4-32%20300.8-83.2%20403.2l-38.4-38.4c44.8-89.6%2070.4-211.2%2070.4-364.8V249.6h281.6c-12.8-25.6-25.6-51.2-38.4-70.4l57.6-6.4c6.4%2019.2%2019.2%2044.8%2032%2076.8z%20m12.8%2083.2v89.6h256v51.2h-256v115.2h204.8v288h-57.6v-38.4h-326.4v38.4h-57.6V588.8h172.8v-256h64z%20m147.2%20454.4V640h-326.4v147.2h326.4z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-tongye { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-tongye%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23FFF3F3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%23FEA39F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M716.8%20870.4l-12.8-57.6h102.4c19.2%200%2032-12.8%2032-32V256h-512v620.8h-51.2V198.4h614.4v595.2c0%2051.2-19.2%2076.8-64%2076.8h-108.8z%20m57.6-531.2v51.2H384v-51.2h390.4z%20m-38.4%20134.4v249.6H428.8V473.6h307.2z%20m-57.6%2051.2H480v147.2h198.4V524.8zM1292.8%20179.2v608h108.8V179.2h57.6v608h230.4v51.2H1011.2v-51.2h230.4V179.2h51.2z%20m-108.8%20492.8l-51.2%2012.8c-25.6-121.6-64-243.2-102.4-352l44.8-12.8c38.4%20102.4%2076.8%20217.6%20108.8%20352z%20m486.4-339.2c-32%20134.4-70.4%20249.6-115.2%20352l-51.2-19.2c44.8-89.6%2083.2-204.8%20115.2-345.6l51.2%2012.8z%22%20fill%3D%22%23F6343E%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yiye { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yiye%22%20viewBox%3D%220%200%201920%201024%22%3E%3Cpath%20d%3D%22M160%2032h1600c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-1600c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1760%201024h-1600C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h1600C1849.6%200%201920%2070.4%201920%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h1600c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-1600z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M435.2%20640V556.8h57.6V640h204.8V550.4h57.6V640h192v51.2h-192v185.6h-57.6v-185.6H486.4c-19.2%2089.6-76.8%20153.6-172.8%20185.6l-32-44.8c83.2-25.6%20128-70.4%20147.2-140.8h-192V640h198.4z%20m384-256H377.6v51.2c0%2025.6%2012.8%2038.4%2038.4%2038.4h403.2c19.2%200%2025.6-6.4%2032-12.8%206.4-6.4%206.4-32%2012.8-64l51.2%2019.2c0%2038.4-6.4%2057.6-12.8%2076.8-12.8%2025.6-32%2032-64%2038.4H396.8C345.6%20524.8%20320%20499.2%20320%20454.4V204.8h492.8V384z%20m-57.6-51.2V249.6h-384v83.2h384zM1299.2%20179.2v608H1408V179.2h57.6v608h230.4v51.2H1017.6v-51.2h230.4V179.2h51.2z%20m-108.8%20499.2l-51.2%2012.8c-25.6-121.6-64-243.2-102.4-352l44.8-19.2c38.4%20102.4%2076.8%20224%20108.8%20358.4z%20m486.4-345.6c-32%20134.4-70.4%20249.6-115.2%20352l-51.2-19.2c44.8-89.6%2083.2-204.8%20115.2-345.6l51.2%2012.8z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weixindibulan-dianji { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weixindibulan-dianji%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M376.539429%20671.110095c-41.447619%207.168-93.42781-3.462095-130.29181-15.993905a348.16%20348.16%200%200%201-26.819048-10.337523c-8.728381-3.803429-60.708571%2041.935238-68.900571%2037.546666-16.676571-9.020952%2011.264-69.046857-3.072-80.408381C86.649905%20553.788952%2048.761905%20485.814857%2048.761905%20410.38019%2048.761905%20264.533333%20191.341714%20133.412571%20365.714286%20146.285714c182.369524%2013.409524%20293.692952%20154.087619%20293.692952%20226.157715%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M224.304762%20346.209524m-48.761905%200a48.761905%2048.761905%200%201%200%2097.52381%200%2048.761905%2048.761905%200%201%200-97.52381%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M419.352381%20346.209524m-48.761905%200a48.761905%2048.761905%200%201%200%2097.52381%200%2048.761905%2048.761905%200%201%200-97.52381%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M682.666667%20877.714286c39.009524%200%2076.214857-6.339048%20110.250666-17.895619%208.484571-2.925714%2016.774095-6.095238%2024.81981-9.606096%207.996952-3.462095%2055.978667%2038.716952%2063.536762%2034.620953%2015.408762-8.289524-10.386286-63.683048%202.876952-74.118095%2056.07619-44.422095%2091.087238-107.227429%2091.087238-176.810667%200-134.680381-130.974476-243.809524-292.571428-243.809524s-292.571429%20109.129143-292.571429%20243.809524c0%20134.631619%20130.974476%20243.809524%20292.571429%20243.809524z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M565.638095%20565.638095m-48.761905%200a48.761905%2048.761905%200%201%200%2097.52381%200%2048.761905%2048.761905%200%201%200-97.52381%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M760.685714%20565.638095m-48.761904%200a48.761905%2048.761905%200%201%200%2097.523809%200%2048.761905%2048.761905%200%201%200-97.523809%200Z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-youhuiquan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-youhuiquan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M864%20981.333333h-152.533333c-29.354667%200-58.666667-11.733333-82.133334-35.2a160.298667%20160.298667%200%200%200-111.488-46.933333c-41.045333%200-82.133333%2017.621333-111.445333%2046.933333-29.354667%2023.466667-58.666667%2035.2-93.866667%2035.2H160A117.674667%20117.674667%200%200%201%2042.666667%20864V160A117.674667%20117.674667%200%200%201%20160%2042.666667h158.421333c29.312%200%2058.666667%2011.733333%2082.090667%2035.2%2029.354667%2029.354667%2070.4%2046.933333%20111.488%2046.933333%2041.088%200%2082.133333-17.621333%20111.488-46.933333%2023.466667-23.466667%2052.778667-35.2%2082.133333-35.2h158.378667A117.674667%20117.674667%200%200%201%20981.333333%20160v704A117.674667%20117.674667%200%200%201%20864%20981.333333zM512%20840.533333c58.666667%200%20111.488%2023.466667%20152.533333%2064.512%2011.733333%2011.776%2029.354667%2017.621333%2041.088%2017.621334h158.378667c35.2%200%2058.666667-29.354667%2058.666667-58.666667V160c0-35.2-29.354667-58.666667-58.666667-58.666667h-158.421333c-11.690667%200-29.312%205.845333-41.045334%2017.621334C623.488%20160%20570.666667%20183.466667%20512%20183.466667s-111.445333-23.466667-152.533333-64.512c-11.733333-11.733333-23.466667-17.621333-41.045334-17.621334H160c-29.312%200-58.666667%2029.354667-58.666667%2058.666667v704c0%2035.2%2029.354667%2058.666667%2058.666667%2058.666667h152.533333c17.621333%200%2029.354667-5.845333%2041.088-17.621334C400.554667%20864%20453.333333%20840.533333%20512%20840.533333z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M866.218667%20400h-92.970667c-12.117333%200-20.181333-10.666667-20.181333-26.666667s8.106667-26.666667%2020.181333-26.666666h92.970667c12.117333%200%2020.181333%2010.666667%2020.181333%2026.666666s-8.106667%2026.666667-20.181333%2026.666667zM645.76%20400h-74.666667c-16%200-26.666667-10.666667-26.666666-26.666667s10.666667-26.666667%2026.666666-26.666666h74.666667c16%200%2026.666667%2010.666667%2026.666667%2026.666666s-10.666667%2026.666667-26.666667%2026.666667zM431.786667%20400H362.453333c-16%200-26.666667-10.666667-26.666666-26.666667s10.666667-26.666667%2026.666666-26.666666h74.666667c16%200%2026.666667%2010.666667%2026.666667%2026.666666s-16%2026.666667-32%2026.666667zM235.605333%20400H157.354667c-11.733333%200-19.541333-10.666667-19.541334-26.666667s7.808-26.666667%2019.541334-26.666666h78.250666c11.733333%200%2019.541333%2010.666667%2019.541334%2026.666666s-11.733333%2026.666667-19.541334%2026.666667z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M864%2042.666667H160C95.146667%2042.666667%2042.666667%20104.448%2042.666667%20180.693333v662.613334C42.666667%20919.552%2095.146667%20981.333333%20160%20981.333333h704c64.853333%200%20117.333333-61.781333%20117.333333-138.026666V180.693333C981.333333%20104.448%20928.853333%2042.666667%20864%2042.666667z%20m70.4%20800.64c0%2045.696-31.573333%2082.773333-70.4%2082.773333H160c-38.826667%200-70.4-37.077333-70.4-82.773333V180.693333c0-45.696%2031.573333-82.773333%2070.4-82.773333h704c38.826667%200%2070.4%2037.077333%2070.4%2082.773333v662.613334zM55.466667%20389.034667h898.133333V333.824H55.466667v55.210667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M567.466667%20681.386667h258.133333v-47.658667H567.466667z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucangdibulan-dianji { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucangdibulan-dianji%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M893.318095%20352.353524l-155.891809-22.625524c-38.326857-5.607619-85.284571-39.643429-102.4-74.459429l-69.778286-141.312C547.693714%2078.506667%20524.385524%2073.142857%20512%2073.142857c-12.385524%200-35.693714%205.315048-53.248%2040.813714l-69.729524%20141.312c-17.16419%2034.767238-64.073143%2068.85181-102.4%2074.459429l-155.989333%2022.625524c-39.204571%205.705143-51.44381%2026.282667-55.296%2038.034286-3.803429%2011.751619-5.997714%2035.59619%2022.430476%2063.24419l112.835048%20110.006857c27.745524%2027.062857%2045.641143%2082.212571%2039.107047%20120.441905l-26.624%20155.257905c-5.168762%2030.086095%203.120762%2047.542857%2011.020191%2056.905143%2016.091429%2019.017143%2044.860952%2021.650286%2075.093333%205.753904l139.459048-73.337904c32.572952-17.066667%2094.110476-17.066667%20126.683428%200l139.459048%2073.337904c13.458286%207.070476%2026.331429%2010.630095%2038.180571%2010.630096%2014.872381%200%2027.989333-5.802667%2036.912762-16.384%207.899429-9.362286%2016.188952-26.819048%2011.068953-56.856381l-26.624-155.355429c-6.534095-38.180571%2011.361524-93.281524%2039.107047-120.344381l112.835048-110.006857c28.379429-27.648%2026.185143-51.541333%2022.381714-63.292952-3.900952-11.751619-16.091429-32.329143-55.296-38.034286z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shoucangdibulan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shoucangdibulan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M750.933333%20936.71619c-14.628571%200-34.133333-4.87619-48.761904-14.628571l-141.409524-73.142857c-24.380952-14.628571-78.019048-14.628571-102.4%200L316.952381%20922.087619c-39.009524%2019.504762-82.895238%2014.628571-107.276191-9.752381-9.752381-14.628571-24.380952-39.009524-14.628571-78.019048l24.380952-156.038095c4.87619-29.257143-9.752381-78.019048-34.133333-97.523809l-102.4-107.276191c-39.009524-39.009524-34.133333-78.019048-29.257143-92.647619%204.87619-14.628571%2019.504762-48.761905%2073.142857-53.638095l156.038096-24.380952c29.257143%200%2073.142857-29.257143%2082.895238-58.514286l73.142857-141.409524c24.380952-48.761905%2058.514286-53.638095%2073.142857-53.638095s48.761905%204.87619%2073.142857%2053.638095l73.142857%20141.409524c14.628571%2029.257143%2053.638095%2058.514286%2082.895238%2063.390476l156.038096%2024.380952c53.638095%209.752381%2068.266667%2039.009524%2073.142857%2053.638096%204.87619%2019.504762%209.752381%2053.638095-29.257143%2087.771428l-112.152381%20112.152381c-24.380952%2019.504762-39.009524%2068.266667-34.133333%2097.52381l24.380952%20156.038095c4.87619%2039.009524-4.87619%2063.390476-14.628571%2078.019048-9.752381%209.752381-29.257143%2019.504762-53.638096%2019.504761z%20m-238.933333-146.285714c29.257143%200%2053.638095%204.87619%2073.142857%2014.628572l141.409524%2073.142857c14.628571%209.752381%2029.257143%2014.628571%2043.885714%200%204.87619-9.752381%209.752381-19.504762%204.876191-39.009524l-24.380953-151.161905c-9.752381-43.885714%2014.628571-107.27619%2043.885715-141.409524l112.152381-112.152381c14.628571-14.628571%2019.504762-29.257143%2014.628571-39.009523-4.87619-9.752381-14.628571-19.504762-34.133333-19.504762l-156.038096-24.380953c-43.885714-4.87619-102.4-43.885714-121.904761-87.771428l-68.266667-141.409524c-19.504762-34.133333-43.885714-34.133333-63.390476%200l-68.266667%20141.409524c-19.504762%2043.885714-73.142857%2082.895238-121.904762%2087.771428l-151.161905%2024.380953c-19.504762%204.87619-34.133333%209.752381-39.009523%2024.380952-4.87619%209.752381%200%2024.380952%2014.628571%2039.009524l112.152381%20112.152381c34.133333%2034.133333%2053.638095%2097.52381%2043.885714%20141.409524l-24.380952%20156.038095c-4.87619%2019.504762%200%2029.257143%204.87619%2039.009524%209.752381%209.752381%2029.257143%209.752381%2043.885715%200l141.409523-73.142857c24.380952-19.504762%2048.761905-24.380952%2078.019048-24.380953z%22%20fill%3D%22%23787878%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daichuli2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daichuli2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M5.182061%206.237091m62.060606%200l868.848485%200q62.060606%200%2062.060606%2062.060606l0%20868.848485q0%2062.060606-62.060606%2062.060606l-868.848485%200q-62.060606%200-62.060606-62.060606l0-868.848485q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.37697%20404.138667v243.153454a87.722667%2087.722667%200%200%201-87.288243%2087.319273H305.245091a87.722667%2087.722667%200%200%201-87.288243-87.319273v-243.153454h567.420122z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M349.246061%20514.792727a32.892121%2032.892121%200%200%201%2032.736969%2032.73697%2032.892121%2032.892121%200%200%201-32.736969%2032.73697%2032.892121%2032.892121%200%200%201-32.73697-32.73697%2032.892121%2032.892121%200%200%201%2032.73697-32.73697z%20m152.420848%200a32.892121%2032.892121%200%200%201%2032.73697%2032.73697A32.892121%2032.892121%200%200%201%20501.666909%20580.266667a32.892121%2032.892121%200%200%201-32.73697-32.73697A32.892121%2032.892121%200%200%201%20501.666909%20514.792727z%20m152.358788%200a32.892121%2032.892121%200%200%201%2032.768%2032.73697%2032.892121%2032.892121%200%200%201-32.73697%2032.73697%2032.892121%2032.892121%200%200%201-32.736969-32.73697%2032.892121%2032.892121%200%200%201%2032.705939-32.73697z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.37697%20341.767758A87.722667%2087.722667%200%200%200%20698.088727%20254.479515H305.245091a87.722667%2087.722667%200%200%200-87.288243%2087.288243v24.917333h567.420122v-24.917333z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yichuli1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yichuli1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M28.578909%206.237091m62.060606%200l868.848485%200q62.060606%200%2062.060606%2062.060606l0%20868.848485q0%2062.060606-62.060606%2062.060606l-868.848485%200q-62.060606%200-62.060606-62.060606l0-868.848485q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M745.813333%20266.177939h-63.022545a31.650909%2031.650909%200%200%200-31.557818-31.557818%2031.650909%2031.650909%200%200%200-31.557818%2031.557818h-189.160728a31.650909%2031.650909%200%200%200-31.557818-31.557818%2031.650909%2031.650909%200%200%200-31.526788%2031.557818H304.376242a63.239758%2063.239758%200%200%200-62.991515%2063.022546V707.521939c0%2034.660848%2028.361697%2063.022545%2062.991515%2063.022546h441.375031a63.239758%2063.239758%200%200%200%2062.991515-62.991515V329.169455a63.115636%2063.115636%200%200%200-62.929455-63.022546z%20m-42.325333%20248.428606L525.063758%20692.906667a31.588848%2031.588848%200%200%201-44.559516%200l-133.740606-133.740606a31.588848%2031.588848%200%200%201%200-44.559516%2031.588848%2031.588848%200%200%201%2044.559516%200l111.429818%20111.398788%20156.082424-156.051394a31.588848%2031.588848%200%200%201%2044.621576%2044.652606z%20m10.767515-122.290424H335.934061a31.650909%2031.650909%200%200%201-31.557819-31.557818c0-17.37697%2014.211879-31.557818%2031.557819-31.557818h31.557818c0%2017.37697%2014.180848%2031.557818%2031.557818%2031.557818a31.650909%2031.650909%200%200%200%2031.557818-31.557818h189.160727c0%2017.37697%2014.180848%2031.557818%2031.526788%2031.557818a31.650909%2031.650909%200%200%200%2031.557818-31.557818h31.402667c17.37697%200%2031.557818%2014.180848%2031.557818%2031.557818a31.650909%2031.650909%200%200%201-31.557818%2031.557818z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiezhubaoming1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiezhubaoming1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M15.515152%2015.515152m62.060606%200l868.848484%200q62.060606%200%2062.060606%2062.060606l0%20868.848484q0%2062.060606-62.060606%2062.060606l-868.848484%200q-62.060606%200-62.060606-62.060606l0-868.848484q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%234DB54B%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M667.865212%20540.237576c48.407273%200%2087.195152-47.910788%2087.195152-107.209697S716.272485%20325.818182%20667.865212%20325.818182c-9.371152%200-18.40097%201.799758-26.561939%204.995879%2016.601212%2028.920242%2026.282667%2063.984485%2026.282666%20102.213818%200%2038.260364-9.929697%2072.921212-26.282666%20102.213818%208.22303%203.196121%2017.252848%204.995879%2026.561939%204.995879z%20m-125.98303%200c55.171879%200%2099.421091-47.910788%2099.421091-107.209697S597.02303%20325.818182%20541.913212%20325.818182c-55.171879%200-99.731394%2047.910788-99.731394%20107.209697s44.559515%20107.209697%2099.731394%20107.209697z%20m156.299636%200c26.996364%2027.710061%2044.807758%2062.991515%2044.807758%20107.861333v75.931152h97.435151v-75.931152c0.062061-58.430061-76.893091-94.549333-142.242909-107.861333z%20m-170.697697%200c-56.878545%200-170.635636%2036.770909-170.635636%20110.281697v73.541818h341.333333v-73.541818c0-73.541818-113.819152-110.281697-170.697697-110.281697z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M170.666667%20493.381818h198.593939V543.030303H170.666667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M294.787879%20418.909091v198.593939H245.139394V418.909091z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-weizaizhilaoxiang1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-weizaizhilaoxiang1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M15.515152%2015.515152m62.060606%200l868.848484%200q62.060606%200%2062.060606%2062.060606l0%20868.848484q0%2062.060606-62.060606%2062.060606l-868.848484%200q-62.060606%200-62.060606-62.060606l0-868.848484q0-62.060606%2062.060606-62.060606Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M462.072242%20478.797576H298.914909L232.727273%20560.934788%20298.914909%20601.987879v185.250909h205.203394v-266.426182a42.01503%2042.01503%200%200%200-42.01503-42.01503z%20m-62.060606-41.363394a61.719273%2061.719273%200%200%200%2061.626182-61.688243V273.066667h-79.096242c-24.420848%200-44.249212%2019.797333-44.249212%2044.249212v58.43006c0%2034.071273%2027.61697%2061.688242%2061.688242%2061.688243z%20m327.369697%2075.093333h-123.96606a58.957576%2058.957576%200%200%200-58.895515%2058.895515v215.815758h182.768484v-143.918546l64.015516-41.332363-63.922425-89.491394z%20m-90.112-36.92606c30.316606%200%2054.954667-24.60703%2054.954667-54.923637V329.231515h-70.438788c-21.783273%200-39.408485%2017.656242-39.408485%2039.408485v52.068848c0%2030.316606%2024.576%2054.923636%2054.923637%2054.923637z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhanghuyue1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhanghuyue1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%200C229.29408%200%200%20229.29408%200%20512s229.29408%20512%20512%20512%20512-229.29408%20512-512S794.70592%200%20512%200z%20m-20.76672%20298.2912c18.5344-8.9088%2037.82656-17.8176%2056.38144-26.70592%2018.55488-8.9088%2032.64512-15.58528%2043.04896-20.7872%2015.5648-7.41376%2029.67552-11.12064%2042.2912-10.38336%2012.61568%200.73728%2022.99904%202.23232%2031.17056%205.9392%209.6256%204.44416%2018.5344%2010.38336%2025.96864%2017.8176l39.3216%2066.7648h-307.2c23.7568-11.12064%2046.75584-22.26176%2069.0176-32.64512z%20m310.14912%20195.1744h-144.6912c-16.32256%200-29.696%205.18144-40.81664%2016.30208-11.12064%2010.40384-17.05984%2025.23136-17.05984%2040.81664%200.73728%2011.14112%202.9696%2020.7872%206.67648%2029.696%203.70688%207.41376%208.9088%2014.09024%2017.08032%2020.02944%208.15104%205.9392%2019.29216%208.88832%2034.11968%208.88832h144.6912V724.992c0%207.41376-1.47456%2015.5648-4.44416%2022.26176-2.9696%206.67648-6.67648%2013.35296-11.8784%2018.5344a55.00928%2055.00928%200%200%201-40.05888%2017.08032H282.70592c-8.15104%200-15.5648-1.49504-22.99904-4.46464-7.41376-2.9696-13.35296-7.41376-19.29216-12.61568a69.9392%2069.9392%200%200%201-13.35296-18.5344%2060.47744%2060.47744%200%200%201-4.44416-23.01952v-316.8256c0-16.34304%205.9392-29.696%2017.05984-40.81664a56.66816%2056.66816%200%200%201%2040.81664-17.08032h462.27456c16.32256%200%2029.696%205.9392%2040.81664%2017.08032%2011.12064%2011.12064%2017.05984%2025.21088%2017.05984%2040.79616v86.07744h0.73728z%20m-126.13632%2063.05792c0%207.41376-2.9696%2014.09024-8.17152%2019.29216a26.95168%2026.95168%200%200%201-38.58432%200%2026.95168%2026.95168%200%200%201-8.15104-19.29216c0-7.41376%202.9696-14.09024%208.15104-19.29216%205.20192-5.20192%2011.8784-8.17152%2019.29216-7.41376%207.43424%200%2014.11072%202.94912%2019.29216%207.41376%205.20192%205.20192%208.17152%2012.61568%208.17152%2019.29216z%22%20fill%3D%22%23FF6A00%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M838.784%2032.853333c60.16%200%20108.885333%2048.256%20108.885333%20107.818667v742.826667c0%2059.52-48.725333%20107.818667-108.885333%20107.818666H185.301333c-60.16%200-108.928-48.298667-108.928-107.861333V140.672C76.373333%2081.109333%20125.141333%2032.853333%20185.301333%2032.853333h653.482667zM228.864%2098.218667H185.301333c-24.064%200-43.562667%2016.341333-43.562666%2036.522666v754.688c0%2020.181333%2019.498667%2036.522667%2043.52%2036.522667h43.605333v-827.733333z%20m65.322667%200v825.258666h547.328a36.522667%2036.522667%200%200%200%2036.48-35.925333V134.741333a36.522667%2036.522667%200%200%200-36.48-36.522666H294.186667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M579.541333%20284.458667c105.898667%200%20191.701333%2088.234667%20191.701334%20197.077333a199.381333%20199.381333%200%200%201-52.352%20135.338667l-3.797334%204.010666-101.162666%20104.064c-17.493333%2017.962667-45.653333%2019.285333-64.682667%203.669334l-3.584-3.2-101.632-104.533334-3.84-4.010666a199.424%20199.424%200%200%201-52.309333-135.338667c0-108.842667%2085.802667-197.12%20191.658666-197.12z%20m0%2071.850666c-65.706667%200-119.808%2055.637333-119.808%20125.226667%200%2030.72%2010.538667%2059.434667%2028.714667%2081.365333l4.010667%204.608%203.072%203.285334%2084.053333%2086.357333%2083.285333-85.632%203.114667-3.285333a127.488%20127.488%200%200%200%2033.365333-86.698667c0-69.589333-54.058667-125.226667-119.808-125.226667z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M994.133333%20422.4c-4.266667-17.066667-12.8-29.866667-25.6-34.133333l-55.466666-25.6c-46.933333-21.333333-76.8-72.533333-72.533334-123.733334l8.533334-59.733333c0-17.066667-4.266667-29.866667-17.066667-38.4-42.666667-38.4-93.866667-68.266667-153.6-89.6-12.8-4.266667-29.866667-4.266667-42.666667%208.533333l-55.466666%2038.4c-21.333333%2017.066667-46.933333%2021.333333-72.533334%2021.333334s-51.2-8.533333-72.533333-21.333334L388.266667%2051.2c-12.8-8.533333-29.866667-12.8-42.666667-4.266667-55.466667%2017.066667-106.666667%2051.2-153.6%2089.6-12.8%208.533333-17.066667%2025.6-12.8%2038.4l8.533333%2064c0%2051.2-25.6%20102.4-76.8%20123.733334l-55.466666%2025.6c-12.8%204.266667-21.333333%2021.333333-25.6%2034.133333-4.266667%2029.866667-8.533333%2059.733333-8.533334%2089.6s4.266667%2059.733333%208.533334%2089.6c4.266667%2017.066667%2012.8%2029.866667%2025.6%2034.133333l55.466666%2025.6c46.933333%2021.333333%2076.8%2072.533333%2072.533334%20123.733334l-8.533334%2064c0%2012.8%204.266667%2029.866667%2017.066667%2038.4%2042.666667%2038.4%2093.866667%2068.266667%20153.6%2089.6%2012.8%204.266667%2029.866667%204.266667%2042.666667-8.533334l55.466666-38.4c21.333333-17.066667%2046.933333-21.333333%2072.533334-21.333333s51.2%208.533333%2072.533333%2021.333333l55.466667%2038.4c12.8%208.533333%2029.866667%2012.8%2042.666666%208.533334%2055.466667-21.333333%20106.666667-51.2%20153.6-89.6%2012.8-8.533333%2017.066667-25.6%2017.066667-38.4l-8.533333-59.733334c-4.266667-51.2%2021.333333-102.4%2072.533333-123.733333l55.466667-25.6c12.8-4.266667%2025.6-21.333333%2025.6-34.133333%204.266667-29.866667%208.533333-59.733333%208.533333-89.6-8.533333-34.133333-12.8-64-17.066667-93.866667z%20m-46.933333%20170.666667l-55.466667%2025.6c-68.266667%2029.866667-106.666667%2098.133333-98.133333%20174.933333l8.533333%2059.733333c-38.4%2034.133333-85.333333%2064-136.533333%2081.066667l-51.2-38.4c-25.6-17.066667-51.2-29.866667-85.333333-34.133333-42.666667-4.266667-85.333333%204.266667-119.466667%2029.866666l-55.466667%2038.4c-46.933333-17.066667-93.866667-46.933333-136.533333-81.066666l8.533333-59.733334c8.533333-72.533333-34.133333-145.066667-98.133333-174.933333l-55.466667-25.6c-4.266667-25.6-8.533333-55.466667-8.533333-81.066667%200-25.6%204.266667-51.2%208.533333-81.066666L128%20401.066667c68.266667-29.866667%20106.666667-98.133333%2098.133333-174.933334V170.666667c38.4-34.133333%2085.333333-64%20136.533334-81.066667l46.933333%2038.4c25.6%2017.066667%2051.2%2029.866667%2085.333333%2034.133333%2042.666667%204.266667%2085.333333-4.266667%20119.466667-29.866666l55.466667-38.4c46.933333%2017.066667%2093.866667%2046.933333%20136.533333%2081.066666l-8.533333%2059.733334c-8.533333%2072.533333%2034.133333%20145.066667%2098.133333%20174.933333l55.466667%2025.6c4.266667%2025.6%208.533333%2055.466667%208.533333%2081.066667-4.266667%2021.333333-8.533333%2046.933333-12.8%2076.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M358.4%20994.133333c-8.533333%200-12.8%200-17.066667-4.266666-59.733333-21.333333-110.933333-51.2-157.866666-93.866667-12.8-12.8-21.333333-29.866667-21.333334-51.2l8.533334-59.733333c4.266667-46.933333-21.333333-93.866667-64-110.933334l-55.466667-25.6c-17.066667-8.533333-29.866667-25.6-34.133333-46.933333-4.266667-29.866667-8.533333-59.733333-8.533334-89.6%200-29.866667%204.266667-59.733333%208.533334-89.6%204.266667-21.333333%2017.066667-38.4%2034.133333-46.933333l55.466667-25.6c42.666667-21.333333%2068.266667-64%2064-110.933334l-4.266667-59.733333c-4.266667-21.333333%204.266667-42.666667%2017.066667-51.2C230.4%2085.333333%20281.6%2055.466667%20341.333333%2034.133333c17.066667-8.533333%2038.4-4.266667%2051.2%208.533334l55.466667%2038.4c38.4%2025.6%2089.6%2025.6%20128%200l51.2-38.4c17.066667-12.8%2034.133333-12.8%2055.466667-8.533334%2059.733333%2021.333333%20110.933333%2051.2%20157.866666%2093.866667%2012.8%2012.8%2021.333333%2029.866667%2021.333334%2051.2L853.333333%20238.933333c-4.266667%2046.933333%2021.333333%2093.866667%2064%20110.933334l55.466667%2025.6c17.066667%208.533333%2029.866667%2025.6%2034.133333%2046.933333%204.266667%2029.866667%208.533333%2059.733333%208.533334%2089.6%200%2029.866667-4.266667%2059.733333-8.533334%2089.6-4.266667%2021.333333-17.066667%2038.4-34.133333%2046.933333l-55.466667%2025.6c-42.666667%2021.333333-68.266667%2064-64%20110.933334l8.533334%2059.733333c0%2021.333333-4.266667%2038.4-21.333334%2051.2-46.933333%2042.666667-98.133333%2072.533333-157.866666%2093.866667-17.066667%208.533333-38.4%204.266667-55.466667-8.533334l-55.466667-38.4c-38.4-25.6-89.6-25.6-128%200l-46.933333%2038.4c-12.8%208.533333-25.6%2012.8-38.4%2012.8z%20m0-938.666666h-8.533333c-55.466667%2021.333333-106.666667%2051.2-149.333334%2089.6-8.533333%208.533333-12.8%2017.066667-8.533333%2029.866666l8.533333%2064c4.266667%2055.466667-29.866667%20110.933333-81.066666%20136.533334l-55.466667%2025.6c-12.8%204.266667-21.333333%2012.8-21.333333%2025.6-4.266667%2029.866667-8.533333%2055.466667-8.533334%2085.333333s4.266667%2055.466667%208.533334%2085.333333c0%2012.8%208.533333%2021.333333%2021.333333%2025.6l55.466667%2025.6c55.466667%2025.6%2085.333333%2081.066667%2081.066666%20136.533334l-8.533333%2064c0%2012.8%204.266667%2021.333333%2012.8%2029.866666%2042.666667%2038.4%2093.866667%2068.266667%20149.333333%2089.6%208.533333%204.266667%2021.333333%200%2029.866667-4.266666l55.466667-38.4c46.933333-34.133333%20110.933333-34.133333%20157.866666%200l55.466667%2038.4c8.533333%208.533333%2021.333333%208.533333%2029.866667%204.266666%2055.466667-21.333333%20102.4-51.2%20149.333333-89.6%208.533333-8.533333%2012.8-17.066667%2012.8-29.866666l-8.533333-59.733334c-8.533333-59.733333%2025.6-115.2%2081.066666-136.533333l55.466667-25.6c8.533333-4.266667%2017.066667-12.8%2021.333333-25.6%204.266667-29.866667%208.533333-55.466667%208.533334-85.333333s-4.266667-55.466667-8.533334-85.333334c0-12.8-8.533333-21.333333-21.333333-25.6l-55.466667-25.6c-55.466667-25.6-85.333333-81.066667-81.066666-136.533333l8.533333-59.733333c0-12.8-4.266667-21.333333-12.8-29.866667-42.666667-38.4-93.866667-68.266667-149.333333-89.6-8.533333-4.266667-21.333333%200-29.866667%204.266667l-55.466667%2038.4c-46.933333%2034.133333-110.933333%2034.133333-157.866666%200l-59.733334-42.666667c-4.266667-4.266667-12.8-8.533333-21.333333-8.533333z%20m4.266667%20891.733333l-8.533334-4.266667C302.933333%20925.866667%20256%20896%20217.6%20861.866667l-4.266667-4.266667%208.533334-68.266667c8.533333-68.266667-29.866667-132.266667-93.866667-162.133333l-59.733333-25.6v-8.533333c-4.266667-29.866667-8.533333-55.466667-8.533334-81.066667s4.266667-55.466667%208.533334-81.066667v-8.533333L128%20396.8c64-25.6%2098.133333-93.866667%2093.866667-162.133333l-12.8-68.266667%204.266666-4.266667C256%20128%20302.933333%2098.133333%20354.133333%2081.066667l8.533334-4.266667%2055.466666%2038.4c25.6%2017.066667%2051.2%2029.866667%2076.8%2034.133333%2038.4%204.266667%2076.8-4.266667%20106.666667-29.866666l59.733333-42.666667%208.533334%204.266667C721.066667%2098.133333%20768%20128%20810.666667%20162.133333l4.266666%204.266667-8.533333%2068.266667c-8.533333%2068.266667%2029.866667%20132.266667%2093.866667%20162.133333l59.733333%2025.6v8.533333c4.266667%2029.866667%208.533333%2055.466667%208.533333%2081.066667%200%2025.6-4.266667%2055.466667-8.533333%2081.066667v8.533333l-64%2025.6c-64%2025.6-98.133333%2093.866667-93.866667%20162.133333l8.533334%2068.266667-4.266667%204.266667c-42.666667%2034.133333-89.6%2064-140.8%2081.066666l-8.533333%204.266667-55.466667-38.4c-25.6-17.066667-51.2-29.866667-76.8-34.133333-38.4-4.266667-76.8%204.266667-106.666667%2029.866666l-55.466666%2042.666667z%20m149.333333-98.133333h21.333333c29.866667%204.266667%2059.733333%2017.066667%2089.6%2038.4l42.666667%2034.133333c42.666667-17.066667%2085.333333-42.666667%20119.466667-72.533333l-4.266667-55.466667c-8.533333-81.066667%2034.133333-153.6%20106.666667-187.733333l51.2-21.333334c4.266667-25.6%204.266667-46.933333%204.266666-72.533333%200-21.333333%200-46.933333-4.266666-72.533333l-51.2-21.333334c-72.533333-34.133333-115.2-106.666667-106.666667-187.733333l4.266667-55.466667c-38.4-29.866667-76.8-55.466667-119.466667-72.533333l-46.933333%2034.133333c-38.4%2025.6-81.066667%2038.4-128%2034.133334-29.866667%200-59.733333-12.8-89.6-34.133334l-42.666667-34.133333c-42.666667%2017.066667-85.333333%2042.666667-119.466667%2072.533333l4.266667%2055.466667c8.533333%2081.066667-34.133333%20153.6-106.666667%20187.733333l-51.2%2021.333334c-4.266667%2025.6-4.266667%2046.933333-4.266666%2072.533333s0%2046.933333%204.266666%2072.533333l51.2%2021.333334c72.533333%2034.133333%20115.2%20106.666667%20106.666667%20187.733333l-4.266667%2055.466667c34.133333%2029.866667%2076.8%2055.466667%20119.466667%2072.533333l46.933333-34.133333c29.866667-29.866667%2068.266667-38.4%20106.666667-38.4z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20721.066667c-115.2%200-204.8-93.866667-204.8-204.8%200-115.2%2093.866667-204.8%20204.8-204.8%20115.2%200%20204.8%2093.866667%20204.8%20204.8%200%20110.933333-89.6%20204.8-204.8%20204.8z%20m0-332.8c-72.533333%200-128%2059.733333-128%20128s59.733333%20128%20128%20128%20128-55.466667%20128-128-55.466667-128-128-128z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-biyan11 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-biyan11%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M511.829333%20692.778667c-181.205333%200-357.162667-59.349333-495.445333-167.125334a31.445333%2031.445333%200%201%201%2038.741333-49.621333c127.232%2099.157333%20289.450667%20153.813333%20456.746667%20153.813333%20167.424%200%20329.770667-54.613333%20457.002667-153.813333a31.488%2031.488%200%201%201%2038.741333%2049.621333c-138.282667%20107.776-314.368%20167.125333-495.786667%20167.125334z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M653.269333%20852.053333a31.445333%2031.445333%200%200%201-31.061333-26.837333l-22.4-150.186667a31.488%2031.488%200%200%201%2062.293333-9.301333l22.357334%20150.186667a31.488%2031.488%200%200%201-31.146667%2036.138666z%20m291.968-69.546666a31.402667%2031.402667%200%200%201-22.272-9.258667l-132.650666-132.693333a31.445333%2031.445333%200%201%201%2044.501333-44.458667l132.693333%20132.650667a31.445333%2031.445333%200%200%201-22.272%2053.76zM370.773333%20852.053333a31.445333%2031.445333%200%200%201-31.146666-36.138666l22.4-150.186667a31.445333%2031.445333%200%201%201%2062.293333%209.344l-22.442667%20150.186667a31.488%2031.488%200%200%201-31.146666%2026.794666z%20m-292.010666-69.546666a31.402667%2031.402667%200%200%201-22.272-53.76l132.693333-132.693334a31.445333%2031.445333%200%201%201%2044.458667%2044.544l-132.650667%20132.693334a31.36%2031.36%200%200%201-22.229333%209.173333z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fenxiang { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fenxiang%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M995.155644%20409.30598L628.715723%2012.784792c-13.67699-13.666851-38.283406-13.666851-51.960396%200-8.202139%208.212277-10.939564%2019.151842-10.939565%2030.081267v213.306297C262.285941%20256.172356%2018.898376%20499.549782%2018.898376%20800.362455c0%2073.829386%2016.404277%20147.668911%2046.485545%20216.033585%2043.758257-226.973149%20259.791842-399.258614%20500.44198-399.258614V830.453861c-2.737426%2010.939564%202.737426%2021.879129%2010.929426%2030.081268%205.474851%208.202139%2016.414416%2010.939564%2027.343841%2010.939564%2010.949703%200%2021.879129-5.474851%2027.353981-13.67699l363.702495-391.046337c8.212277-8.212277%2010.939564-16.414416%2010.939564-27.35398s-5.474851-21.86899-10.949703-30.081267z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M889.263158%20369.178947c-2.694737-45.810526-40.421053-80.842105-86.231579-80.842105h-80.842105l-67.368421-80.842105c-16.168421-18.863158-40.421053-32.336842-67.368421-32.336842h-158.989474c-24.252632%200-45.810526%2013.473684-61.978947%2029.642105l-67.368422%2080.842105h-80.842105c-48.505263%200-86.231579%2037.726316-86.231579%2086.231579v396.126316c0%2048.505263%2037.726316%2086.231579%2086.231579%2086.231579h584.757895c48.505263%200%2086.231579-37.726316%2086.231579-86.231579V369.178947z%20m-697.936842%205.389474c0-16.168421%2010.778947-26.947368%2026.947368-26.947368h107.789474L414.989474%20242.526316c5.389474-5.389474%2013.473684-10.778947%2021.557894-10.778948h153.6c8.084211%200%2016.168421%202.694737%2021.557895%2010.778948l86.231579%20102.4h107.789474c16.168421%200%2026.947368%2010.778947%2026.947368%2026.947368v396.126316c0%2016.168421-10.778947%2026.947368-26.947368%2026.947368H218.273684c-16.168421%200-26.947368-10.778947-26.947368-26.947368V374.568421z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20409.6c-78.147368%200-142.821053%2064.673684-142.821053%20142.821053s64.673684%20142.821053%20142.821053%20142.821052%20142.821053-64.673684%20142.821053-142.821052-64.673684-142.821053-142.821053-142.821053z%20m0%20226.357895c-45.810526%200-83.536842-37.726316-83.536842-83.536842%200-45.810526%2037.726316-83.536842%2083.536842-83.536842%2045.810526%200%2083.536842%2037.726316%2083.536842%2083.536842%200%2045.810526-37.726316%2083.536842-83.536842%2083.536842z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-ludan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-ludan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M749.136842%20123.957895H274.863158C226.357895%20123.957895%20188.631579%20161.684211%20188.631579%20210.189474v603.621052c0%2048.505263%2037.726316%2086.231579%2086.231579%2086.231579H538.947368c164.378947%200%20296.421053-132.042105%20296.421053-296.421052V210.189474c0-48.505263-37.726316-86.231579-86.231579-86.231579z%20m29.642105%20476.968421c0%20132.042105-107.789474%20239.831579-239.831579%20239.831579h-264.08421c-16.168421%200-26.947368-13.473684-26.947369-26.947369V210.189474c0-16.168421%2013.473684-26.947368%2026.947369-26.947369h474.273684c16.168421%200%2026.947368%2013.473684%2026.947369%2026.947369v390.736842z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M528.168421%20582.063158h-140.126316c-16.168421%200-29.642105%2013.473684-29.642105%2029.642105%200%2016.168421%2013.473684%2029.642105%2029.642105%2029.642105h140.126316c16.168421%200%2029.642105-13.473684%2029.642105-29.642105-2.694737-16.168421-13.473684-29.642105-29.642105-29.642105zM635.957895%20404.210526h-247.91579c-16.168421%200-29.642105%2013.473684-29.642105%2029.642106s13.473684%2029.642105%2029.642105%2029.642105h247.91579c16.168421%200%2029.642105-13.473684%2029.642105-29.642105s-13.473684-29.642105-29.642105-29.642106z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chengyuanguanli { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chengyuanguanli%22%20viewBox%3D%220%200%201066%201024%22%3E%3Cpath%20d%3D%22M785.066667%20281.6c0-157.866667-128-281.6-290.133334-281.6-123.733333%200-234.666667%2076.8-273.066666%20196.266667s0%20243.2%20102.4%20315.733333C128%20580.266667%200%20763.733333%200%20968.533333c0%2025.6%2021.333333%2042.666667%2046.933333%2042.666667%2025.6%200%2046.933333-21.333333%2046.933334-42.666667%200-217.6%20183.466667-396.8%20405.333333-396.8h12.8-12.8c153.6-4.266667%20285.866667-132.266667%20285.866667-290.133333z%20m-290.133334%20196.266667c-110.933333%200-200.533333-85.333333-200.533333-196.266667C294.4%20174.933333%20384%2085.333333%20494.933333%2085.333333s200.533333%2085.333333%20200.533334%20196.266667c0%20110.933333-89.6%20196.266667-200.533334%20196.266667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M768%20742.4c-29.866667%200-51.2%2021.333333-51.2%2051.2s21.333333%2051.2%2051.2%2051.2c17.066667%200%2034.133333-8.533333%2042.666667-25.6%208.533333-17.066667%208.533333-34.133333%200-51.2-8.533333-17.066667-25.6-25.6-42.666667-25.6z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1015.466667%20750.933333l-85.333334-145.066666c-17.066667-25.6-42.666667-42.666667-72.533333-42.666667H682.666667c-29.866667%200-59.733333%2017.066667-72.533334%2042.666667l-85.333333%20145.066666c-17.066667%2025.6-17.066667%2059.733333%200%2085.333334l85.333333%20145.066666c17.066667%2025.6%2042.666667%2042.666667%2072.533334%2042.666667h174.933333c29.866667%200%2059.733333-17.066667%2072.533333-42.666667l85.333334-145.066666c17.066667-25.6%2017.066667-59.733333%200-85.333334z%20m-68.266667%2064L874.666667%20938.666667c-8.533333%2012.8-21.333333%2021.333333-38.4%2021.333333h-145.066667c-17.066667%200-29.866667-8.533333-38.4-21.333333l-72.533333-123.733334c-8.533333-12.8-8.533333-29.866667%200-42.666666l72.533333-123.733334c8.533333-12.8%2021.333333-21.333333%2038.4-21.333333h145.066667c17.066667%200%2029.866667%208.533333%2038.4%2021.333333l72.533333%20119.466667c8.533333%2017.066667%208.533333%2034.133333%200%2046.933333z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-quanbu1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-quanbu1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M936.96%20296.96c0-112.64-92.16-209.92-204.8-209.92s-204.8%2092.16-204.8%20209.92v209.92h204.8c112.64-5.12%20204.8-97.28%20204.8-209.92z%20m-209.92-128c66.56%200%20122.88%2056.32%20122.88%20128%200%2066.56-56.32%20128-128%20128h-122.88V291.84c5.12-66.56%2061.44-122.88%20128-122.88zM296.96%2087.04c-112.64%200-204.8%2092.16-204.8%20209.92s92.16%20209.92%20204.8%20209.92h204.8V296.96c0-117.76-92.16-209.92-204.8-209.92z%20m0%2081.92c35.84%200%2066.56%2015.36%2092.16%2040.96%2020.48%2020.48%2030.72%2051.2%2030.72%2081.92v128H296.96C225.28%20419.84%20168.96%20358.4%20168.96%20291.84s56.32-122.88%20128-122.88zM87.04%20727.04c0%20112.64%2092.16%20209.92%20204.8%20209.92%2056.32%200%20112.64-20.48%20148.48-61.44%2040.96-40.96%2061.44-92.16%2056.32-143.36v-209.92h-204.8c-112.64%200-204.8%2092.16-204.8%20204.8z%20m209.92%20122.88c-66.56%200-128-56.32-128-128%200-66.56%2056.32-128%20128-128h128v128c-5.12%2071.68-61.44%20128-128%20128zM727.04%20522.24h-204.8v209.92c0%20112.64%2092.16%20209.92%20204.8%20209.92s204.8-92.16%20204.8-209.92-87.04-209.92-204.8-209.92z%20m-122.88%2076.8h128c66.56%200%20128%2056.32%20128%20128%200%2066.56-56.32%20128-128%20128s-128-56.32-128-128v-128z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanliyuan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanliyuan1%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F2F9FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%2390CAFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M294.4%20345.6l-51.2-32c44.8-44.8%2076.8-102.4%20102.4-160l51.2%2012.8c-6.4%2019.2-12.8%2032-19.2%2051.2h204.8v51.2h-128c19.2%2025.6%2032%2044.8%2044.8%2064l-51.2%2019.2c-12.8-32-32-57.6-51.2-89.6h-44.8c-12.8%2032-38.4%2057.6-57.6%2083.2zM915.2%20512h-51.2V416H313.6V512h-51.2V371.2h300.8c-6.4-19.2-12.8-32-19.2-51.2l51.2-6.4h-6.4c38.4-44.8%2064-96%2076.8-153.6l51.2%2012.8c-6.4%2019.2-12.8%2032-19.2%2044.8h224v51.2h-134.4c19.2%2019.2%2032%2038.4%2038.4%2057.6l-51.2%2019.2c-12.8-25.6-32-51.2-51.2-76.8h-51.2c-12.8%2025.6-32%2051.2-44.8%2076.8l-32-32c6.4%2019.2%2019.2%2038.4%2025.6%2057.6h294.4V512z%20m-108.8%20102.4h-384v51.2h416v198.4h-57.6V832H422.4v32h-51.2V460.8h435.2v153.6z%20m-51.2-44.8v-64H422.4v64h332.8z%20m32%20211.2v-70.4H422.4v70.4h364.8zM1107.2%20448V262.4h-96v-51.2h243.2v51.2h-96V448h83.2v51.2h-83.2v172.8c32-12.8%2057.6-19.2%2083.2-32v51.2c-70.4%2032-147.2%2051.2-230.4%2076.8l-12.8-51.2c32-6.4%2070.4-12.8%20102.4-25.6v-192h-83.2V448h89.6zM1664%20192v352h-160v89.6h172.8v51.2h-172.8v102.4h198.4v51.2h-460.8v-51.2h204.8v-102.4H1280v-51.2h172.8V544h-160V192H1664z%20m-211.2%20153.6V243.2H1344v102.4h108.8z%20m0%2044.8H1344v102.4h108.8V390.4z%20m51.2-44.8h108.8V243.2h-108.8v102.4z%20m108.8%2044.8h-108.8v102.4h108.8V390.4zM2156.8%20544c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20179.2h-57.6V492.8H1920v243.2h-57.6V441.6h518.4v281.6zM2336%20192v192h-422.4V192h422.4z%20m-51.2%2044.8h-320v96h320V236.8z%20m166.4%20582.4l-32%2044.8c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c102.4%2032%20192%2064%20275.2%20102.4z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chengyuan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chengyuan1%22%20viewBox%3D%220%200%202688%201024%22%3E%3Cpath%20d%3D%22M160%2032h2368c70.4%200%20128%2057.6%20128%20128v704c0%2070.4-57.6%20128-128%20128h-2368c-70.4%200-128-57.6-128-128v-704c0-70.4%2057.6-128%20128-128z%22%20fill%3D%22%23F3FFFE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2528%201024h-2368C70.4%201024%200%20953.6%200%20864v-704C0%2070.4%2070.4%200%20160%200h2368C2617.6%200%202688%2070.4%202688%20160v704c0%2089.6-70.4%20160-160%20160zM160%2064C108.8%2064%2064%20108.8%2064%20160v704c0%2051.2%2044.8%2096%2096%2096h2368c51.2%200%2096-44.8%2096-96v-704c0-51.2-44.8-96-96-96h-2368z%22%20fill%3D%22%238EDDD6%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1132.8%20230.4l-38.4%2038.4h96V320h-236.8c6.4%2096%2012.8%20172.8%2032%20224%206.4%2019.2%2012.8%2038.4%2012.8%2051.2%2038.4-64%2070.4-134.4%2096-217.6l51.2%2019.2c-32%20102.4-70.4%20185.6-121.6%20256%2012.8%2025.6%2019.2%2044.8%2032%2064%2025.6%2038.4%2044.8%2057.6%2064%2057.6%2012.8%200%2025.6-38.4%2038.4-121.6l51.2%2025.6c-19.2%20102.4-44.8%20153.6-76.8%20153.6s-64-25.6-102.4-70.4c-12.8-19.2-25.6-38.4-38.4-64-51.2%2064-115.2%20108.8-192%20140.8l-32-32c76.8-32%20140.8-83.2%20192-153.6-12.8-25.6-19.2-57.6-32-89.6-19.2-64-25.6-147.2-32-243.2H633.6v128h185.6c0%20128-6.4%20211.2-19.2%20249.6-12.8%2032-32%2051.2-70.4%2051.2h-64l-19.2-51.2h76.8c19.2%200%2025.6-12.8%2032-32%206.4-25.6%2012.8-83.2%2012.8-166.4H633.6v25.6c0%20134.4-32%20249.6-89.6%20332.8l-44.8-38.4C550.4%20748.8%20576%20652.8%20576%20524.8v-256h320V147.2h57.6v121.6h140.8c-25.6-25.6-51.2-57.6-96-83.2l38.4-32c38.4%2019.2%2070.4%2051.2%2096%2076.8zM1913.6%20531.2c-12.8%20115.2-32%20192-70.4%20230.4-38.4%2044.8-134.4%2076.8-275.2%2089.6l-19.2-51.2c121.6-6.4%20204.8-32%20249.6-76.8%2038.4-38.4%2057.6-108.8%2064-198.4l51.2%206.4z%20m224%20185.6h-57.6V480h-409.6v243.2h-57.6V428.8h518.4v288z%20m-51.2-537.6v192H1664v-192h422.4z%20m-51.2%2044.8h-320V320h320V224z%20m172.8%20582.4l-32%2051.2c-89.6-44.8-179.2-83.2-268.8-108.8l25.6-38.4c96%2025.6%20192%2057.6%20275.2%2096z%22%20fill%3D%22%2305B2A3%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-boyinglian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-boyinglian%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.792%201024H150.208A150.208%20150.208%200%200%201%200%20873.792V150.208A150.208%20150.208%200%200%201%20150.208%200h723.584A150.208%20150.208%200%200%201%201024%20150.208v723.584A150.208%20150.208%200%200%201%20873.792%201024%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M291.68%20371.776a80.096%2080.096%200%201%200%200-160.192%2080.096%2080.096%200%200%200%200%20160.192M732.32%20371.776a80.096%2080.096%200%201%200%200-160.192%2080.096%2080.096%200%200%200%200%20160.192M512%20427.872a80.096%2080.096%200%201%200%200%20160.192%2080.096%2080.096%200%200%200%200-160.192%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M732.32%20431.904a80.096%2080.096%200%200%200-79.68%2088.128l0.064%201.184c6.72%2075.232-53.28%20132.032-119.84%20132.032-5.6%200-9.504-0.352-12.576-0.64l0.032%200.032a80.096%2080.096%200%201%200%2071.328%2071.232l-0.096-1.28a120.32%20120.32%200%200%201%20132.48-130.912%2080.096%2080.096%200%201%200%208.288-159.776%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M291.68%20652.224a80.096%2080.096%200%201%200%200%20160.192%2080.096%2080.096%200%200%200%200-160.192M732.32%20652.224a80.096%2080.096%200%201%200%200%20160.192%2080.096%2080.096%200%200%200%200-160.192%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M495.808%20370.816c3.52%200.128%207.968%200.544%207.968%200.544a80.096%2080.096%200%201%200-71.488-71.68c7.36%2067.36-45.376%20135.808-125.344%20133.12a165.76%20165.76%200%200%201-6.72-0.448%2080.096%2080.096%200%201%200%2071.136%2071.456l-0.192-2.56a120.544%20120.544%200%200%201%20124.64-130.432%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocaiyouren { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocaiyouren%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M150.4%201024A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4H150.4z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M277.44%20464.32c4.896%200%209.984-0.704%2015.2-2.08%205.216-1.376%208.48-2.784%209.76-4.16%201.28-1.376%201.92-3.584%201.92-6.56V265.28c2.976-1.696%204.48-3.52%204.48-5.44%200-1.92-1.184-3.424-3.52-4.48a50.56%2050.56%200%200%200-12.16-2.88c9.824-16.864%2016.896-29.984%2021.28-39.36%204.384-9.376%207.2-14.88%208.48-16.48%201.28-1.6%203.2-2.72%205.76-3.36%202.56-0.64%203.84-1.92%203.84-3.84%200-1.28-0.736-2.496-2.24-3.68-1.504-1.184-6.944-3.584-16.32-7.2-9.376-3.616-20.48-7.136-33.28-10.56-8.544%2065.504-28.896%20124.064-61.12%20175.68-1.696%202.56-2.56%204.224-2.56%204.96%200%200.736%200.224%201.12%200.64%201.12%202.144%200%208.384-5.824%2018.72-17.44%2010.336-11.616%2021.056-25.344%2032.16-41.12v109.44c0%2010.88-0.224%2021.44-0.64%2031.68l-0.64%2026.24c0%202.144%200.48%203.616%201.44%204.48%200.96%200.864%203.904%201.28%208.8%201.28z%20m60.16-2.88c5.536%200%2011.264-0.64%2017.12-1.92%205.856-1.28%209.664-2.496%2011.36-3.68%201.696-1.184%202.56-3.136%202.56-5.92v-21.12h92.8v20.48c0%203.84%200.896%206.304%202.72%207.36%201.824%201.056%205.664%201.6%2011.52%201.6s11.2-0.896%2016-2.72c4.8-1.824%207.68-3.136%208.64-4%200.96-0.864%201.44-2.24%201.44-4.16l-0.32-10.88c-0.224-4.064-0.32-11.104-0.32-21.12V263.04c7.904-1.92%2011.84-4.704%2011.84-8.32%200-2.336-1.664-4.8-4.96-7.36-3.296-2.56-10.176-7.136-20.64-13.76s-17.216-9.92-20.32-9.92c-3.104%200-7.744%206.496-13.92%2019.52h-55.68c9.184-14.72%2017.504-26.464%2024.96-35.2%207.456-8.736%2013.12-13.984%2016.96-15.68%203.84-1.696%205.76-3.36%205.76-4.96s-1.376-2.944-4.16-4a191.488%20191.488%200%200%200-19.36-5.12%20278.784%20278.784%200%200%200-33.12-5.44c0.864%2021.76-0.96%2045.216-5.44%2070.4h-11.52a215.232%20215.232%200%200%200-40-13.44c0.416%209.184%200.64%2020.256%200.64%2033.28v147.52c0%2011.52-0.224%2021.664-0.64%2030.4-0.416%208.736-0.64%2013.664-0.64%2014.72%200%203.84%202.24%205.76%206.72%205.76z%20m123.84-135.36h-92.8V259.52c2.144-1.28%203.744-3.2%204.8-5.76h88v72.32z%20m0%2092.16h-92.8v-81.6h92.8v81.6z%20m232.96%2049.92c14.08%200%2025.344-2.816%2033.76-8.48%208.416-5.664%2012.64-15.616%2012.64-29.92V260.48H832c4.256%200%206.4-1.28%206.4-3.84%200-2.56-6.784-9.12-20.32-19.68-13.536-10.56-21.92-15.84-25.12-15.84a3.968%203.968%200%200%200-2.88%201.28%2093.92%2093.92%200%200%200-6.88%2010.4c-3.744%206.08-7.104%2011.776-10.08%2017.12h-32.32V197.76c8.096-3.424%2012.16-7.264%2012.16-11.52%200-4.256-3.744-7.52-11.2-9.76-7.456-2.24-21.536-4.096-42.24-5.6%200.416%208.32%200.64%2017.824%200.64%2028.48v50.56h-139.84c-5.536%200-10.88-0.32-16-0.96l8.32%2015.04a19.84%2019.84%200%200%201%2011.52-3.52h105.28c-6.624%2021.76-17.984%2043.04-34.08%2063.84-16.096%2020.8-46.56%2045.696-91.36%2074.72-2.784%201.92-4.16%203.2-4.16%203.84%200%200.64%200.544%200.96%201.6%200.96%204.064%200%2019.456-5.376%2046.24-16.16%2026.784-10.784%2049.44-23.936%2068-39.52a170.88%20170.88%200%200%200%2044.48-58.24v106.56c0%2014.72-2.72%2023.584-8.16%2026.56-5.44%202.976-12.064%204.48-19.84%204.48s-14.784-0.224-20.96-0.64c-6.176-0.416-9.28-0.16-9.28%200.8%200%200.96%202.016%201.984%206.08%203.04%2013.856%203.2%2022.944%206.784%2027.2%2010.72%204.256%203.936%207.264%2010.176%208.96%2018.72%200.64%203.2%201.696%205.344%203.2%206.4%201.504%201.056%203.84%201.6%207.04%201.6zM418.24%20854.4c4.48%200%2011.424-1.184%2020.8-3.52%209.376-2.336%2015.904-5.824%2019.52-10.4%203.616-4.576%205.44-12.64%205.44-24.16v-130.88c9.824-1.92%2014.72-5.024%2014.72-9.28a6.784%206.784%200%200%200-1.44-4.16%2038.816%2038.816%200%200%200-7.2-6.08%20446.56%20446.56%200%200%200-25.44-16.8c-4.384-2.656-7.424-4-9.12-4-4.896%200-10.336%206.176-16.32%2018.56h-82.88c7.04-11.104%2015.264-25.6%2024.64-43.52h143.36c6.4%200%209.6-1.6%209.6-4.8%200-3.2-6.624-9.76-19.84-19.68-13.216-9.92-21.12-14.88-23.68-14.88-1.28%200-2.496%200.576-3.68%201.76a73.6%2073.6%200%200%200-6.88%2010.08c-3.424%205.536-6.496%2011.2-9.28%2016.96h-84.16c5.12-10.464%209.056-18.656%2011.84-24.64%202.784-5.984%206.08-9.984%209.92-12s5.76-3.84%205.76-5.44c0-1.6-2.816-3.2-8.48-4.8-5.664-1.6-22.144-4.96-49.44-10.08-4.256%2025.376-8.544%2044.384-12.8%2056.96H231.68c-5.536%200-10.88-0.32-16-0.96l8.32%2015.04a19.84%2019.84%200%200%201%2011.52-3.52h83.84c-23.904%2057.6-57.6%20102.816-101.12%20135.68-2.56%201.92-3.84%203.36-3.84%204.32%200%200.96%200.384%201.44%201.12%201.44%200.736%200%201.6-0.16%202.56-0.48a593.92%20593.92%200%200%200%2048.32-30.08c10.336-7.136%2019.904-14.336%2028.64-21.6v99.52c0%2014.08-0.64%2026.88-1.92%2038.4-0.416%204.256%203.04%206.4%2010.4%206.4s13.92-1.344%2019.68-4c5.76-2.656%208.64-6.656%208.64-12v-72h91.2v42.56c0%203.2-2.88%205.44-8.64%206.72-5.76%201.28-17.92%202.016-36.48%202.24-4.064%200-6.08%200.544-6.08%201.6s1.824%201.824%205.44%202.24c11.104%201.504%2019.2%204.32%2024.32%208.48%205.12%204.16%207.68%209.984%207.68%2017.44%200%204.896%202.976%207.36%208.96%207.36z%20m4.8-145.6h-91.2v-29.12c3.2-1.056%205.344-2.88%206.4-5.44h84.8v34.56z%20m0%2046.4h-91.2v-35.84h91.2v35.84z%20m109.76%2094.08c3.84%200%2018.08-5.536%2042.72-16.64%2024.64-11.104%2044.896-25.44%2060.8-43.04%2015.904-17.6%2028.16-39.68%2036.8-66.24%208.64-26.56%2014.784-61.696%2018.4-105.44%200.224%2043.296%203.904%2078.56%2011.04%20105.76%207.136%2027.2%2021.184%2053.344%2042.08%2078.4%2020.896%2025.056%2033.824%2037.6%2038.72%2037.6%202.144%200%203.616-0.864%204.48-2.56%209.6-16%2023.68-26.976%2042.24-32.96%203.84-1.056%205.76-1.984%205.76-2.72%200-0.736-1.28-1.664-3.84-2.72-43.936-19.84-76.96-46.88-99.04-81.12-22.08-34.24-34.72-76.32-37.92-126.24%201.92-6.624%204.736-10.816%208.48-12.64%203.744-1.824%205.6-3.776%205.6-5.92%200-1.504-0.864-2.72-2.56-3.68-1.696-0.96-8.416-2.496-20.16-4.64a253.984%20253.984%200%200%200-37.12-3.84c0.64%2055.456-2.176%20100.064-8.48%20133.76s-17.28%2062.144-32.96%2085.28c-15.68%2023.136-39.744%2044.736-72.16%2064.8-2.784%201.696-4.16%202.944-4.16%203.68%200%200.736%200.416%201.12%201.28%201.12z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nazha { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nazha%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M874.112%201024H149.888A149.888%20149.888%200%200%201%200%20874.112V149.888A149.888%20149.888%200%200%201%20149.888%200h724.224A149.888%20149.888%200%200%201%201024%20149.888v724.224A149.888%20149.888%200%200%201%20874.112%201024%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M169.92%20675.136h83.04v-50.08H169.92zM438.72%20625.056h57.44v50.08h-40.096zM284.256%20348.864h111.488v33.376H282.624zM422.08%20382.24h74.08v-33.376H422.08zM413.568%20518.08h82.56v-33.344h-82.56z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M457.568%20675.136h38.592V348.864h-38.592zM279.808%20440h113.344v33.376H278.208zM275.584%20531.168h120.16v33.376H273.92zM345.856%20625.056h49.888v50.08h-40.256zM267.2%20625.056h49.92v50.08H276.864z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M413.088%20348.864l-15.744%20326.272h-35.072V348.864zM454.08%20348.864l-17.344%20326.272h-31.84l15.744-326.272zM348.608%20348.864l-7.072%20326.272H285.92l27.616-326.272zM275.328%20348.864l-15.104%20326.272H225.152l15.104-326.272z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M265.728%20348.864l-60.704%20276.192H169.92l60.736-276.192zM219.744%20348.864L169.92%20585.6v-236.736zM665.984%20348.864h180.576l-7.68%2050.08h-175.456zM659.392%20486.976h165.92l-7.712%2050.048h-160.544zM688.448%20641.76h113.024l-5.12%2033.376h-109.504z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M773.696%20348.864L724.8%20675.136h-74.176l79.488-326.272zM527.808%20675.136h83.008v-50.08h-83.008z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M658.24%20348.864l-15.104%20326.272h-41.472l15.104-326.272z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M623.616%20348.864l-60.736%20276.192h-35.072l60.736-276.192zM577.6%20348.864L527.808%20585.6v-236.736zM804.256%20675.136l49.792-326.272v326.272z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daotian { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daotian%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.984%201024H150.016A150.016%20150.016%200%200%201%200%20873.92V150.016C0%2067.2%2067.2%200%20150.016%200h723.968A150.016%20150.016%200%200%201%201024%20150.016v723.936A150.016%20150.016%200%200%201%20873.984%201024%22%20fill%3D%22%230174E3%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M169.856%20479.872h124.096v-29.408H169.856zM408.768%20519.456h92.384v-29.408h-92.384zM368.32%20480.48a9.568%209.568%200%200%201-9.568%209.6h-53.44v29.376h63.04a29.408%2029.408%200%200%200%2029.376-29.408v-9.568h-29.408zM326.496%20600.096h71.232v-29.408h-71.232zM408.768%20600.096h83.36v-29.408h-83.36z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M501.152%20648.8v-140.16h-41.536v133.664a6.528%206.528%200%200%201-6.496%206.496h-99.744a6.528%206.528%200%200%201-6.528-6.496v-133.664H305.312v146.688c0%2012.64%2010.24%2022.88%2022.88%2022.88h150.208c12.64%200%2022.88-10.24%2022.88-22.88v-6.528h-0.128zM169.856%20668.064v-178.016c16.224%200%2029.376%2013.184%2029.376%2029.408v119.2a29.376%2029.376%200%200%201-29.376%2029.408M264.576%20638.656v-119.2c0-16.224%2013.152-29.408%2029.376-29.408v178.016a29.376%2029.376%200%200%201-29.376-29.408M211.136%20678.208h41.536V388.48H211.136zM688.192%20666.08h41.568v-276.192h-41.568z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M563.872%20417.376h290.272v-41.536h-290.24zM563.872%20541.76h290.272v-41.6h-290.24z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M812.608%20375.84v237.6a11.104%2011.104%200%200%201-11.104%2011.104h-184.96a11.104%2011.104%200%200%201-11.136-11.104v-237.6h-41.536v248.704c0%2022.944%2018.592%2041.536%2041.536%2041.536h207.2c22.944%200%2041.536-18.56%2041.536-41.536v-248.704h-41.536zM293.952%20366.72v-20.928h-29.376v11.168a9.792%209.792%200%200%201-9.792%209.76H169.856v29.376h94.72a29.28%2029.28%200%200%200%2029.376-29.376M471.776%20345.792v11.104c0%205.44-4.384%209.824-9.824%209.824H305.312v29.376h166.464a29.248%2029.248%200%200%200%2022.688-10.688%2029.248%2029.248%200%200%200%206.72-18.688v-20.928h-29.408zM362.176%20467.04a56.864%2056.864%200%200%201-56.864-56.864c31.392%200%2056.864%2025.472%2056.864%2056.864M428.576%20467.04a56.864%2056.864%200%200%201-56.864-56.864c31.424%200%2056.864%2025.472%2056.864%2056.864M444.32%20467.04c0-31.392%2025.44-56.864%2056.832-56.864%200%2031.392-25.44%2056.864-56.832%2056.864%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuchangtong { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuchangtong%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.792%201024H150.208A150.208%20150.208%200%200%201%200%20873.792V150.208A150.208%20150.208%200%200%201%20150.208%200h723.584A150.208%20150.208%200%200%201%201024%20150.208v723.584A150.208%20150.208%200%200%201%20873.792%201024%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M179.68%20378.624h86.976v-27.968H179.68zM329.696%20412.8h151.488v-28.096h-151.488zM659.776%20378.72h156.064v-28.064h-156.064zM538.912%20450.976h107.68v-28.096h-107.68zM538.912%20619.424h107.68v-28.064h-107.68zM329.696%20489.152h151.488v-28.064h-151.488zM659.776%20450.976h202.112v-28.096h-202.112zM326.656%20619.424h157.536v-28.064h-157.536zM179.68%20489.152h138.656v-28.064H179.68zM162.08%20555.04H263.68v-28.064H162.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M249.056%20479.808h46.08v-129.152h-46.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.632%20584.992H319.68V461.12H273.632zM179.68%20479.808h46.08v-95.104h-46.08zM385.152%20605.376h46.08v-207.552h-46.08zM569.728%20608.32h46.08v-257.664h-46.08zM434.528%20380.352H388.48l-6.656-29.696h46.08zM659.776%20422.88l52.512%2019.488%20103.552-63.648-46.56-23.328zM273.6%20584.992s-2.816%2041.344-25.664%2065.664l41.408%2022.72s30.336-33.728%2030.336-88.384H273.6zM815.84%20584.992h46.08V439.36h-46.08zM815.84%20584.992s-2.816%2041.344-25.664%2065.664l41.408%2022.72s30.304-33.728%2030.304-88.384h-46.048zM679.84%20531.072h46.048V461.12h-46.08zM679.84%20531.072s2.112%2041.344-20.704%2065.664l41.408%2022.72s25.344-21.696%2025.344-88.384h-46.08zM748%20531.84h46.048v-70.016h-46.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M748%20531.84s1.664%2042.24-11.904%2064.896l41.536%2022.72s17.472-17.856%2016.416-87.616h-46.08z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-fachebao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-fachebao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.6%201024H150.4A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4%22%20fill%3D%22%2313A34D%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M234.24%20596.288h112.768A333.792%20333.792%200%200%201%20512%20552.96c59.968%200%20116.256%2015.744%20164.992%2043.328h112.736A401.6%20401.6%200%200%200%20512%20485.312a401.6%20401.6%200%200%200-277.76%20110.976M512%20192.096a296.16%20296.16%200%200%200-286.08%20372.928%20432.448%20432.448%200%200%201%2081.152-56.736%20205.92%20205.92%200%201%201%20409.888%200c29.216%2015.776%2056.416%2034.88%2081.12%2056.736%206.56-24.48%2010.048-50.24%2010.048-76.8A296.16%20296.16%200%200%200%20512%20192.096m-78.08%20271.584c-24.384%204.48-48.064%2010.944-70.848%2019.328a149.056%20149.056%200%200%201%20297.856%200%20429.248%20429.248%200%200%200-70.88-19.328%2081.856%2081.856%200%200%200-156.128%200M355.136%20753.184h-24.384a4.832%204.832%200%200%200-3.84%207.776c3.808%204.928%208%209.504%2012.704%2013.728%201.76%201.6%204.512%201.632%206.336%200.096%204.896-4.256%209.28-8.896%2013.088-13.952%202.368-3.136%200-7.648-3.904-7.648m-36.8%2032.48a121.92%20121.92%200%200%201-10.496-12.864%204.768%204.768%200%200%200-8.032%200.576%20217.536%20217.536%200%200%201-15.296%2023.552c-2.816%203.808%200.896%208.992%205.344%207.424%2010.08-3.584%2019.072-7.328%2026.944-11.136a4.8%204.8%200%200%200%201.536-7.552m77.408%2045.984c-20.8-7.36-38.112-15.52-51.904-24.544a4.576%204.576%200%200%200-4.864-0.16c-6.72%203.84-14.336%207.52-22.88%2011.136-8.608%203.648-18.72%207.488-30.304%2011.52a4.864%204.864%200%200%201-5.952-2.4l-4.16-8.64a4.8%204.8%200%200%200-7.904-1.12%20262.752%20262.752%200%200%201-4.16%204.512%204.8%204.8%200%200%201-7.008%200.032l-10.4-11.072a4.8%204.8%200%200%201%200.16-6.624c11.488-11.648%2021.216-24.16%2029.12-37.504%207.68-12.896%2013.984-27.04%2018.944-42.496a4.8%204.8%200%200%200-4.64-6.24h-26.944a4.8%204.8%200%200%201-4.8-4.8v-14.304c0-0.576%200.096-1.088%200.288-1.632%200.96-2.56%202.144-6.816%203.584-12.736%201.12-4.576%202.112-8.704%202.912-12.384a4.768%204.768%200%200%201%205.504-3.648l12.576%202.208a4.8%204.8%200%200%201%203.84%205.888%20780.512%20780.512%200%200%201-3.648%2013.696%204.8%204.8%200%200%200%204.64%206.08h9.92a4.832%204.832%200%200%200%204.768-3.936c1.44-7.808%202.624-15.616%203.52-23.424a4.768%204.768%200%200%201%205.344-4.16l13.024%201.664a4.8%204.8%200%200%201%204.16%205.408c-0.928%207.296-1.792%2013.632-2.624%2018.976a4.768%204.768%200%200%200%204.768%205.44h25.088a4.8%204.8%200%200%200%203.2-8.32%20358.304%20358.304%200%200%200-9.792-8.64%204.8%204.8%200%200%201-0.64-6.656l6.72-8.32c2.144-2.688%205.12-3.04%207.168-1.44a364.576%20364.576%200%200%201%2018.336%2015.456%206.208%206.208%200%200%201%200.896%208.16%206.208%206.208%200%200%200%205.088%209.792h12.64a4.8%204.8%200%200%201%204.8%204.8v12.032a4.8%204.8%200%200%201-4.8%204.8h-73.92a6.24%206.24%200%200%200-6.048%204.704l-0.224%200.896a6.176%206.176%200%200%200%206.048%207.712h60.096a4.8%204.8%200%200%201%204.8%204.8v15.52a4.928%204.928%200%200%201-0.64%202.464%20191.552%20191.552%200%200%201-13.056%2019.936c-3.2%204.256-6.592%208.224-10.176%2011.936-2.24%202.304-1.792%206.112%201.088%207.616%2010.944%205.664%2023.584%2010.688%2037.952%2015.104a4.8%204.8%200%200%201%202.976%206.624l-6.496%2013.76a4.864%204.864%200%200%201-5.984%202.528M587.936%20783.872v12.608a4.8%204.8%200%200%201-4.8%204.8H530.24a4.8%204.8%200%200%200-4.8%204.8v18.304a4.8%204.8%200%200%201-4.8%204.8h-14.432a4.8%204.8%200%200%201-4.8-4.8v-18.336a4.8%204.8%200%200%200-4.8-4.8h-60.672a4.8%204.8%200%200%201-4.8-4.8v-12.576a4.8%204.8%200%200%201%204.8-4.8h60.672a4.8%204.8%200%200%200%204.8-4.8v-9.28a4.8%204.8%200%200%200-4.8-4.8h-44.608a4.8%204.8%200%200%201-4.8-4.8v-15.296c0-1.12%200.384-2.144%201.056-2.976%204.544-5.568%209.6-12.928%2015.136-22.08a4.8%204.8%200%200%200-4.064-7.36h-15.616a4.8%204.8%200%200%201-4.8-4.8v-12.384a4.8%204.8%200%200%201%204.8-4.8h32.64a4.864%204.864%200%200%200%204.352-2.784%20186.24%20186.24%200%200%200%206.688-15.872%204.736%204.736%200%200%201%205.28-3.04l15.232%202.56a4.768%204.768%200%200%201%203.648%206.56c-0.768%201.76-1.6%203.68-2.56%205.76a4.8%204.8%200%200%200%204.352%206.816h62.592a4.8%204.8%200%200%201%204.8%204.8v12.416a4.8%204.8%200%200%201-4.8%204.8h-78.4a4.864%204.864%200%200%200-4.16%202.496c-4.448%208-8.576%2014.912-12.416%2020.8a4.8%204.8%200%200%200%204%207.36h11.648a4.8%204.8%200%200%200%204.8-4.8v-14.592a4.8%204.8%200%200%201%204.96-4.8l14.464%200.544a4.8%204.8%200%200%201%204.608%204.8v14.08c0%202.656%202.144%204.8%204.8%204.8h35.328a4.8%204.8%200%200%201%204.8%204.8v12.224a4.8%204.8%200%200%201-4.8%204.8H530.24a4.8%204.8%200%200%200-4.8%204.8v9.28c0%202.624%202.144%204.8%204.8%204.8h52.928a4.8%204.8%200%200%201%204.8%204.768M737.568%20703.04h-92.32a4.8%204.8%200%200%200-4.8%204.8v4.288a4.8%204.8%200%200%201-4.8%204.8h-13.696a4.8%204.8%200%200%201-4.8-4.8v-26.08a4.8%204.8%200%200%201%204.8-4.8h51.456a4.8%204.8%200%200%200%204.64-5.92l-0.896-3.776a4.8%204.8%200%200%201%204.48-5.92l14.848-0.64a4.8%204.8%200%200%201%204.896%203.84l1.728%208.576a4.8%204.8%200%200%200%204.704%203.84h54.176a4.8%204.8%200%200%201%204.8%204.8v26.08a4.8%204.8%200%200%201-4.8%204.8h-14.816a4.8%204.8%200%200%201-4.8-4.8v-4.256a4.8%204.8%200%200%200-4.8-4.8m30.304%20106.88v12.576a4.8%204.8%200%200%201-4.8%204.8H620.48a4.8%204.8%200%200%201-4.8-4.8v-12.576a4.8%204.8%200%200%201%204.8-4.8h53.856a4.8%204.8%200%200%200%204.8-4.8v-15.2a4.8%204.8%200%200%200-4.8-4.8h-37.76a4.8%204.8%200%200%201-4.8-4.8v-13.12a4.8%204.8%200%200%201%204.8-4.8h37.76a4.8%204.8%200%200%200%204.8-4.8v-5.76a4.8%204.8%200%200%200-4.8-4.8h-43.136a4.8%204.8%200%200%201-4.8-4.8v-12.608a4.8%204.8%200%200%201%204.8-4.8h121.728a4.8%204.8%200%200%201%204.8%204.8v12.608a4.8%204.8%200%200%201-4.8%204.8h-45.536a4.8%204.8%200%200%200-4.8%204.8v5.76c0%202.656%202.176%204.8%204.8%204.8h39.616a4.8%204.8%200%200%201%204.8%204.8v13.12a4.8%204.8%200%200%201-4.8%204.8h-39.616a4.8%204.8%200%200%200-4.8%204.8v15.2c0%202.656%202.176%204.8%204.8%204.8h10.176a4.8%204.8%200%200%200%204.544-6.4%20142.4%20142.4%200%200%200-1.824-4.992%204.8%204.8%200%200%201%203.584-6.496l14.24-2.56a4.736%204.736%200%200%201%205.248%202.848c1.536%203.68%203.36%208.448%205.44%2014.336%200.704%201.92%202.528%203.264%204.544%203.264h9.728a4.8%204.8%200%200%201%204.8%204.8%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-jiesuanzhushou { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-jiesuanzhushou%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M160%201024h704a160%20160%200%200%200%20160-160V160a160%20160%200%200%200-160-160H160a160%20160%200%200%200-160%20160v704a160%20160%200%200%200%20160%20160z%22%20fill%3D%22%23FFE000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M506.08%20406.72l-40.448%2040.48a8.384%208.384%200%200%200%200%2011.84l40.448%2040.448a8.384%208.384%200%200%200%2011.84%200l40.448-40.448a8.384%208.384%200%200%200%200-11.84l-40.448-40.448a8.384%208.384%200%200%200-11.84%200%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20652.96a200.096%20200.096%200%200%201-199.872-199.84c0-68.16%2034.24-130.944%2091.52-168a24.032%2024.032%200%200%201%2036.64%2025.28%2024%2024%200%200%201-10.464%2015.232%20151.232%20151.232%200%200%200-69.472%20127.488A151.84%20151.84%200%200%200%20512%20604.768a151.84%20151.84%200%200%200%20151.648-151.68%20151.232%20151.232%200%200%200-69.504-127.456%2023.936%2023.936%200%200%201-10.464-15.2%2024.032%2024.032%200%200%201%2036.64-25.28%20199.296%20199.296%200%200%201%2091.52%20167.968A200.096%20200.096%200%200%201%20512%20652.96%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M511.68%20301.44a24.096%2024.096%200%200%201-15.36-5.568l-1.376-1.184-68.576-70.464a24.128%2024.128%200%200%201%2017.28-40.896c6.528%200%2012.672%202.56%2017.248%207.296l51.008%2052.416%2051.424-51.456a24%2024%200%200%201%2034.08%200%2023.968%2023.968%200%200%201%200%2034.08l-68.864%2068.864-1.824%201.6-1.92%201.408-0.704%200.416-1.344%200.8-0.512%200.224-1.6%200.736-0.32%200.096a24.192%2024.192%200%200%201-8.64%201.632M359.424%20805.056h-20.704a3.424%203.424%200%200%200-3.424%203.424v11.072c0%201.888%201.536%203.424%203.424%203.424h20.704c1.92%200%203.424-1.536%203.424-3.424v-11.072a3.424%203.424%200%200%200-3.424-3.424z%20m15.456%2031.872h-51.456a3.424%203.424%200%200%201-3.424-3.424v-39.104c0-1.888%201.536-3.424%203.424-3.424h51.456c1.888%200%203.424%201.536%203.424%203.424v39.104c0%201.92-1.536%203.424-3.424%203.424z%20m-18.336-104.064v6.4c0%201.888%201.536%203.424%203.424%203.424h20.352c1.856%200%203.424%201.536%203.424%203.424v7.584c0%201.92-1.568%203.424-3.424%203.424h-20.352a3.424%203.424%200%200%200-3.424%203.424v5.28c0%201.888%201.536%203.424%203.424%203.424h14.784c1.888%200%203.424%201.536%203.424%203.424v7.456c0%201.92-1.536%203.424-3.424%203.424h-50.976a3.424%203.424%200%200%201-3.424-3.424v-7.456c0-1.92%201.536-3.424%203.424-3.424h14.144c1.92%200%203.456-1.536%203.456-3.424v-5.28a3.424%203.424%200%200%200-3.456-3.424h-16.864a3.424%203.424%200%200%201-3.424-3.424v-7.584c0-1.92%201.536-3.424%203.424-3.424h16.864c1.92%200%203.456-1.536%203.456-3.424v-6.72c0-1.952%201.6-3.52%203.52-3.424l8.384%200.32c1.824%200.096%203.264%201.6%203.264%203.424z%20m-52.704%2026.816l1.504-2.784a3.424%203.424%200%200%201%204.48-1.44l5.76%202.752a3.456%203.456%200%200%201%201.632%204.64%20241.408%20241.408%200%200%201-12.16%2021.568%203.424%203.424%200%200%200%203.52%205.184l2.752-0.48a3.424%203.424%200%200%201%204.032%203.296l0.128%207.456a3.392%203.392%200%200%201-2.944%203.456%20762.048%20762.048%200%200%200-23.68%203.552l-0.224%200.064-2.624%200.576a3.424%203.424%200%200%201-4.096-2.56l-2.688-11.648a10.688%2010.688%200%200%200%203.776-1.6%2029.696%2029.696%200%200%200%203.264-3.584c1.504-1.92%203.2-4.224%205.024-6.944a3.424%203.424%200%200%200-3.136-5.312l-3.136%200.288a56.768%2056.768%200%200%200-5.312%200.864l-3.2-14.464a12.128%2012.128%200%200%200%202.176-1.28%2014.496%2014.496%200%200%200%201.792-1.92c1.632-2.144%204.16-6.496%207.648-13.024%202.848-5.408%205.312-10.496%207.456-15.296a3.392%203.392%200%200%201%204.416-1.76l6.432%202.656a3.424%203.424%200%200%201%201.824%204.576c-2.048%204.448-4.48%209.152-7.168%2014.144-3.36%206.208-5.792%209.984-7.296%2011.296l7.264-0.512a3.424%203.424%200%200%200%202.784-1.76z%20m-27.68%2063.36a3.392%203.392%200%200%201%202.816-3.808%201950.08%201950.08%200%200%200%2032.992-5.76%203.392%203.392%200%200%201%204.064%203.2l0.448%208.032a3.392%203.392%200%200%201-2.912%203.584c-3.232%200.448-8.16%201.216-14.752%202.336-7.264%201.216-13.184%202.24-17.76%203.072a3.392%203.392%200%200%201-4-2.976l-0.896-7.68zM439.552%20807.776c0%201.632%201.344%202.976%202.976%202.976h20.64a2.976%202.976%200%201%200%200-5.952h-20.64a2.976%202.976%200%200%200-2.976%202.976z%20m-14.816-13.12h54.592v-3.936h-54.592v3.968z%20m0-12.32h54.592v-4.096h-54.592v4.096z%20m0-12.864h54.592v-4.16h-54.592v4.16z%20m-4.736-21.44a182.144%20182.144%200%200%201-2.176%202.624%202.976%202.976%200%200%200%202.272%204.864h37.376l-11.616-4.576%203.328-4.064h-11.488l1.856%205.056-8.48%202.4a2.944%202.944%200%200%201-3.648-1.984%20110.4%20110.4%200%200%200-1.824-5.44h-3.264a2.976%202.976%200%200%200-2.336%201.088z%20m86.272%2065.664v6.08a2.976%202.976%200%200%201-2.976%202.944h-19.744a2.976%202.976%200%200%200-2.976%202.976v10.496a2.976%202.976%200%200%201-2.976%202.944h-8.512a2.976%202.976%200%200%201-2.976-2.944v-10.496a2.976%202.976%200%200%200-2.944-2.976h-23.808a2.976%202.976%200%200%200-2.56%201.6%2025.664%2025.664%200%200%201-8.224%208.608%2085.28%2085.28%200%200%201-14.528%207.52%203.008%203.008%200%200%201-3.648-1.088l-4.352-6.528a2.976%202.976%200%200%201%201.344-4.416c5.728-2.24%209.632-4.16%2011.776-5.696h-18.752a2.976%202.976%200%200%201-2.976-2.976v-6.048c0-1.6%201.312-2.944%202.976-2.944h21.6a2.976%202.976%200%201%200%200-5.952h-8.768a2.976%202.976%200%200%201-2.944-2.944v-42.752l-3.104%203.104-8.032-6.4a2.944%202.944%200%200%201-0.256-4.384c3.168-3.072%206.4-6.72%209.696-11.04%203.584-4.64%206.464-8.8%208.608-12.48a2.912%202.912%200%200%201%203.008-1.472l12.288%201.92c-0.832%201.92-1.888%203.936-3.2%206.176h20.608c1.664%200%202.976%201.312%202.976%202.976v4.16c2.848-3.968%205.504-8.352%207.936-13.12a2.976%202.976%200%200%201%203.072-1.6l12.096%201.76a96.608%2096.608%200%200%201-3.072%205.824h28.032c1.6%200%202.944%201.312%202.944%202.976v6.4a2.976%202.976%200%200%201-2.944%202.976h-15.328a20.992%2020.992%200%200%200%200.672%201.728c0.32%200.64%200.64%201.472%201.056%202.464l-8.32%202.976a2.944%202.944%200%200%201-3.776-1.792c-0.32-0.96-0.768-2.112-1.28-3.424a2.976%202.976%200%200%200-2.752-1.92h-4.096a2.88%202.88%200%200%200-2.464%201.344%2087.872%2087.872%200%200%201-1.76%202.624%202.976%202.976%200%200%200%202.432%204.64h25.472c1.632%200%202.976%201.344%202.976%202.976v43.36a2.976%202.976%200%200%201-2.976%202.944h-7.264a2.976%202.976%200%201%200%200%205.952h19.744c1.632%200%202.976%201.312%202.976%202.944zM551.872%20797.76h-7.232a3.424%203.424%200%200%200-3.424%203.424v6.656c0%202.112%201.888%203.712%203.968%203.392l7.232-1.152a3.424%203.424%200%200%200%202.88-3.392v-5.504a3.424%203.424%200%200%200-3.424-3.424z%20m-7.232-13.824h7.232c1.92%200%203.424-1.536%203.424-3.424v-4.032a3.424%203.424%200%200%200-3.424-3.424h-7.232a3.424%203.424%200%200%200-3.424%203.424v4.032c0%201.888%201.536%203.424%203.424%203.424z%20m10.656-28.16v-4.864a3.424%203.424%200%200%200-3.424-3.424h-7.232a3.424%203.424%200%200%200-3.424%203.424v4.896c0%201.92%201.536%203.424%203.424%203.424h7.232c1.92%200%203.424-1.536%203.424-3.424z%20m65.184-8.16c1.92%200%203.456%201.6%203.424%203.52l-0.32%2011.296a2209.216%202209.216%200%200%201-1.696%2059.68c-0.256%205.024-1.504%208.576-3.712%2010.688-2.24%202.08-5.856%203.36-10.88%203.744l-8.864%200.864a3.424%203.424%200%200%201-3.648-2.496l-2.304-8.384a3.424%203.424%200%200%201%202.944-4.32l6.208-0.608c1.792-0.16%203.072-0.8%203.744-1.92a15.808%2015.808%200%200%200%201.44-6.464c0.48-5.856%200.864-13.056%201.088-21.632%200.256-8.544%200.416-16.416%200.512-23.584l0.128-5.568h-10.752a329.792%20329.792%200%200%201-2.24%2033.088c-0.96%207.616-3.392%2015.232-7.264%2022.944a70.528%2070.528%200%200%201-15.744%2020.032%203.456%203.456%200%200%201-4.736-0.096l-5.344-5.248a3.456%203.456%200%200%201%200.096-4.96c2.112-1.984%203.968-3.936%205.6-5.856a891.616%20891.616%200%200%201-44.448%208%203.392%203.392%200%200%201-3.872-3.008l-0.96-8.96a3.424%203.424%200%200%201%202.976-3.744l2.144-0.288a3.456%203.456%200%200%200%203.008-3.392v-74.464c0-1.92%201.536-3.424%203.424-3.424h36c1.92%200%203.456%201.536%203.456%203.424v70.4a26.624%2026.624%200%200%201%202.208-0.416%2022.112%2022.112%200%200%200%202.592-0.544l0.384%206.56a55.36%2055.36%200%200%200%205.92-18.24c0.96-6.624%201.632-15.936%201.984-27.968l0.128-3.84h-5.472a3.424%203.424%200%200%201-3.424-3.424v-7.968c0-1.888%201.536-3.424%203.424-3.424h2.432a3.424%203.424%200%200%200%203.424-3.392l0.16-12.32c0.032-1.92%201.664-3.488%203.616-3.392l7.872%200.416c1.824%200.096%203.264%201.6%203.264%203.424%200%203.552-0.064%207.488-0.16%2011.744-0.032%201.92%201.504%203.52%203.424%203.52h18.816zM747.84%20794.528v8.576c0%201.92-1.504%203.424-3.392%203.424h-36.768a3.424%203.424%200%200%200-3.424%203.424v9.184c0%205.28-0.448%209.248-1.408%2011.936a9.6%209.6%200%200%201-4.768%205.664%2028.704%2028.704%200%200%201-9.76%202.304l-7.808%200.736a3.424%203.424%200%200%201-3.552-2.336l-2.944-8.576a3.424%203.424%200%200%201%202.88-4.48l4.768-0.544a11.904%2011.904%200%200%200%204.16-1.056c0.768-0.448%201.312-1.376%201.632-2.72a31.424%2031.424%200%200%200%200.512-6.592v-3.52a3.424%203.424%200%200%200-3.424-3.424h-38.624a3.424%203.424%200%200%201-3.424-3.424v-8.576c0-1.92%201.536-3.424%203.424-3.424h38.624c1.888%200%203.424-1.536%203.424-3.424v-5.376a3.424%203.424%200%200%200-3.424-3.424h-29.344a3.424%203.424%200%200%201-3.424-3.424v-8.608c0-1.888%201.536-3.424%203.424-3.424h29.344c1.888%200%203.424-1.536%203.424-3.424v-5.792a3.456%203.456%200%200%200-3.648-3.424c-11.392%200.64-21.792%201.024-31.2%201.216a3.392%203.392%200%200%201-3.456-3.168l-0.576-7.84a3.392%203.392%200%200%201%203.328-3.68c12.16-0.16%2026.176-0.832%2042.08-2.048%2015.776-1.184%2029.12-2.688%2039.936-4.544%201.92-0.32%203.744%200.992%204%202.944l1.024%208.544a3.424%203.424%200%200%201-2.88%203.84c-8.32%201.216-18.048%202.24-29.12%203.2a3.456%203.456%200%200%200-3.2%203.392v7.36c0%201.92%201.536%203.424%203.424%203.424h27.616c1.92%200%203.424%201.536%203.424%203.424v8.608c0%201.888-1.536%203.424-3.424%203.424h-27.616a3.424%203.424%200%200%200-3.424%203.424v5.376c0%201.888%201.536%203.424%203.424%203.424h36.768c1.92%200%203.424%201.536%203.424%203.424%22%20fill%3D%22%23000000%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-qudaoguanjia { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-qudaoguanjia%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M467.264%20405.44h-30.24a52.864%2052.864%200%200%201-50.176%2050.176v30.272c10.432-0.32%2020.416-2.56%2029.568-6.432v141.728h27.392a2.56%202.56%200%200%200%202.56-2.56V457.92c12.48-14.08%2020.288-32.384%2020.896-52.48M559.424%20592.544h-64.96v-46.912h92.032v19.84c0%2014.944-12.128%2027.072-27.072%2027.072z%20m-64.96-75.552v-46.944h92.032v46.976h-92.032v-0.032z%20m109.248-75.552h-72.736a64.64%2064.64%200%200%200%2010.88-36h-28.928c0%2019.36-15.232%2035.136-34.368%2036h-1.312a12.768%2012.768%200%200%200-12.768%2012.768V608.384c0%207.04%205.696%2012.768%2012.768%2012.768h80.576c32.416%200%2058.656-26.24%2058.656-58.624V454.208a12.768%2012.768%200%200%200-12.768-12.768zM860.064%20441.44h-50.048V405.44h-29.888v36h-123.936v29.568h89.92l-46.848%2086.56c-10.24%2018.944-20.672%2022.976-27.648%2023.04h-1.024v30.336c0.864%200.064%201.728%200.128%202.592%200.128%2011.584%200%2033.408-4.352%2049.12-33.44l57.792-106.624v85.056c0.032%2017.088-4.576%2028.672-13.376%2033.472l-0.896%200.512v31.104l2.016-0.352c20.384-3.648%2042.176-20.8%2042.176-58.048v-91.744h50.048v-29.568zM163.936%20393.472h3.872a35.84%2035.84%200%200%201%2035.776%2035.872v23.68a99.584%2099.584%200%200%200-39.648%2050.496v-110.048zM295.872%20575.36l31.232%2024.576a93.568%2093.568%200%200%200%201.824-124.896l-32%2023.744%200.448%200.416a54.4%2054.4%200%200%201-1.504%2076.16%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M257.824%20630.496a93.056%2093.056%200%200%201-58.08-20.16%2093.376%2093.376%200%200%201-35.136-62.72%2093.376%2093.376%200%200%201%2019.424-69.248%2093.536%2093.536%200%200%201%2073.92-35.84%2093.024%2093.024%200%200%201%2067.2%2028.352l-32.32%2024a53.632%2053.632%200%200%200-34.88-12.704%2054.4%2054.4%200%200%200-45.216%2024.128A54.464%2054.464%200%200%200%20224.32%20579.2a54.24%2054.24%200%200%200%2067.328-0.128l31.68%2024.96a93.12%2093.12%200%200%201-65.504%2026.464%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M671.584%20483.52l-134.272%2077.536v155.04l134.272%2077.504%20134.272-77.504v-155.04l-134.272-77.536zM230.4%20561.056v155.04l134.272%2077.504%20134.272-77.504v-155.04l-134.272-77.536L230.4%20561.056z%20m421.888-265.92L518.016%20217.6l-134.272%2077.536v155.008l134.272%2077.536%20134.272-77.536V295.136z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-guanyuwomen3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-guanyuwomen3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M864%200a160%20160%200%200%201%20160%20160v704a160%20160%200%200%201-160%20160H160a160%20160%200%200%201-160-160V160a160%20160%200%200%201%20160-160h704z%20m-312.864%20385.056c-35.52-15.68-126.912%2064.256-126.912%2064.256-8.896%207.84-13.6%2016.704-10.464%2022.464%2012.032%2020.896%2061.632-9.92%2061.632-9.92s18.304-14.624%2016.192%200c-6.24%2043.872-31.84%20239.744-25.6%20272.128%207.84%2042.816%2059.552%2050.144%20112.832-6.784%2064.256-84.608%204.16-43.872%204.16-43.872-25.568%2021.408-33.92%2042.816-41.248%2015.68-2.528-3.552%201.088-43.904%205.568-86.08l1.824-16.896c4.352-39.264%208.864-76.064%209.344-81.92%203.648-14.656%2016.704-122.784-7.328-129.056z%20m3.136-159.808c-30.304-7.328-55.36%2018.784-62.688%2049.088-6.784%2030.304%204.704%2065.28%2035.008%2072.608%2030.304%207.296%2058.496-18.272%2065.824-48.576%206.784-30.304-7.84-65.824-38.144-73.12z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-gongsizhengce { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-gongsizhengce%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M682.912%20224a60.8%2060.8%200%200%201%2060.992%2060.64v225.376a127.232%20127.232%200%200%200-91.488-38.912c-71.712%200-129.408%2059.776-129.408%20132.96%200%2021.44%204.928%2042.144%2014.208%2060.704l3.648%206.816-31.68%2056.96c-7.36%2013.184-5.824%2029.472%203.84%2041.12H316.96A60.8%2060.8%200%200%201%20256%20709.024V284.64A60.8%2060.8%200%200%201%20316.992%20224H682.88z%20m-83.296%20349.632a60.32%2060.32%200%200%200%200%2060.64c10.88%2018.752%2031.04%2030.304%2052.8%2030.304a60.8%2060.8%200%200%200%2060.992-60.608%2060.8%2060.8%200%200%200-60.992-60.64c-21.76%200-41.92%2011.552-52.8%2030.304z%20m-250.688-7.072a21.28%2021.28%200%200%200-21.344%2021.216c0%2011.712%209.536%2021.216%2021.344%2021.216h101.696a21.28%2021.28%200%200%200%2021.344-21.216%2021.28%2021.28%200%200%200-21.344-21.216h-101.696z%20m0-121.28a21.28%2021.28%200%200%200-21.344%2021.248c0%2011.712%209.536%2021.216%2021.344%2021.216h181.536a21.28%2021.28%200%200%200%2021.312-21.216%2021.28%2021.28%200%200%200-21.312-21.248h-181.536z%20m303.488-116.768h-303.488a21.376%2021.376%200%200%200-18.496%2010.624%2021.12%2021.12%200%200%200%200%2021.216c3.808%206.56%2010.88%2010.624%2018.496%2010.624h303.488a21.28%2021.28%200%200%200%2021.344-21.248%2021.28%2021.28%200%200%200-21.344-21.216z%20m0%20169.536l4.512%200.448%200.576%200.16-5.088-0.64z%20m8.96-0.832c9.472%200.864%2018.752%203.04%2027.584%206.496l1.056%200.384c6.176%202.496%2012.096%205.6%2017.632%209.28l3.008%202.016c9.376%206.56%2017.6%2014.624%2024.288%2023.872a110.016%20110.016%200%200%201%2021.056%2064.8%20110.208%20110.208%200%200%201-22.24%2066.432l39.232%2070.496c2.88%205.088%201.216%2011.52-3.776%2014.624a10.112%2010.112%200%200%201-4.576%201.44l-35.84%202.24a10.272%2010.272%200%200%200-8.032%204.8l-19.84%2031.04a10.112%2010.112%200%200%201-17.6-0.544l-30.912-55.456-15.296%2027.456-15.616%2028a10.144%2010.144%200%200%201-17.6%200.544l-19.84-31.04a10.272%2010.272%200%200%200-8-4.8l-35.872-2.24a10.592%2010.592%200%200%201-9.696-11.36%2011.008%2011.008%200%200%201%201.344-4.704l39.264-70.496a109.248%20109.248%200%200%201-22.24-66.4c0-57.28%2043.328-104.064%2097.92-107.104l5.632-0.16%205.344%200.16%203.648%200.224z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xinrenzhinan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xinrenzhinan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M614.528%20407.36h-171.264c0%2046.24%2038.336%2083.712%2085.632%2083.712%2047.296%200%2085.632-37.44%2085.632-83.68z%20m-214.08%20209.28h256.896c70.912%200%20128.448%2056.192%20128.448%20125.504V784H272v-41.856c0-69.312%2057.504-125.536%20128.448-125.536z%20m128.448-41.856c-94.592%200-171.264-74.944-171.264-167.392%200-92.48%2076.672-167.392%20171.264-167.392%2094.592%200%20171.264%2074.944%20171.264%20167.36%200%2092.48-76.672%20167.424-171.264%20167.424z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dagou { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dagou%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M873.6%201024H150.4A150.4%20150.4%200%200%201%200%20873.6V150.4A150.4%20150.4%200%200%201%20150.4%200h723.2A150.4%20150.4%200%200%201%201024%20150.4v723.2a150.4%20150.4%200%200%201-150.4%20150.4%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M469.856%20601.184a29.696%2029.696%200%200%200%2043.616-0.16l0.032-0.032%20175.104-175.136%200.416%200.832a196.448%20196.448%200%201%201-105.504-97.696l0.576%200.16a29.76%2029.76%200%200%200%2021.856-55.36l-0.32-0.128h-0.096A255.424%20255.424%200%200%200%20512%20256a256%20256%200%201%200%20208.032%20106.752%2029.76%2029.76%200%200%200-49.824-2.688l-0.096%200.16h-0.128l-178.4%20178.432-74.56-74.592h-0.064l-0.448-0.48a29.76%2029.76%200%201%200-42.816%2041.28l0.448%200.512%2095.712%2095.776z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodebaoming1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodebaoming1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M603.619556%20533.390222c64.056889%200%20115.427556-63.402667%20115.427555-141.880889%200-78.506667-51.370667-141.909333-115.427555-141.909333a96.711111%2096.711111%200%200%200-35.157334%206.627556c22.016%2038.286222%2034.787556%2084.650667%2034.787556%20135.281777a276.195556%20276.195556%200%200%201-34.787556%20135.253334c10.922667%204.238222%2022.840889%206.627556%2035.157334%206.627555z%20m-166.684445%200c72.988444%200%20131.527111-63.402667%20131.527111-141.880889%200-78.506667-58.538667-141.909333-131.555555-141.909333-72.988444%200-131.982222%2063.431111-131.982223%20141.909333%200%2078.506667%2058.993778%20141.880889%20131.982223%20141.880889z%20m206.819556%200c35.726222%2036.693333%2059.306667%2083.399111%2059.306666%20142.762667v100.494222h128.938667v-100.494222c0.113778-77.312-101.745778-125.155556-188.245333-142.762667z%20m-225.905778%200c-75.292444%200-225.848889%2048.64-225.848889%20145.976889v97.28h451.754667v-97.28c0-97.308444-150.641778-145.976889-225.905778-145.976889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dailishuju { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dailishuju%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M550.304%20476.96H800S800.8%20241.824%20550.304%20224%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M728%20543.776c0%20140.992-112.8%20255.296-252%20255.296C336.832%20799.072%20224%20684.8%20224%20543.776s112.832-255.328%20252-255.328v255.36h252z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodedaili { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodedaili%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M272%20697.024c0-29.408%2011.84-57.6%2032.832-78.4a112.608%20112.608%200%200%201%2079.296-32.416h255.744c61.888%200%20112.128%2049.664%20112.128%20110.816%200%2029.44-11.84%2057.632-32.832%2078.4a112.608%20112.608%200%200%201-79.296%2032.448h-255.776c-61.888%200-112.096-49.696-112.096-110.848zM512%20527.872c-80%200-144-71.296-144-158.336S432%20211.2%20512%20211.2s144%2071.296%20144%20158.336-64%20158.336-144%20158.336z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiezhubaoming { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiezhubaoming%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M672.711111%20541.127111c49.92%200%2089.969778-49.408%2089.969778-110.563555s-40.049778-110.563556-89.969778-110.563556c-9.671111%200-18.944%201.877333-27.363555%205.176889%2017.123556%2029.809778%2027.079111%2065.962667%2027.079111%20105.386667%200%2039.424-10.24%2075.235556-27.107556%20105.415111%208.533333%203.271111%2017.806222%205.148444%2027.392%205.148444z%20m-129.877333%200c56.888889%200%20102.513778-49.408%20102.513778-110.563555s-45.624889-110.563556-102.513778-110.563556-102.826667%2049.408-102.826667%20110.563556%2045.937778%20110.563556%20102.826667%20110.563555z%20m161.166222%200c27.818667%2028.558222%2046.193778%2064.967111%2046.193778%20111.217778v78.307555h100.465778v-78.307555c0.085333-60.245333-79.274667-97.507556-146.659556-111.217778z%20m-176.042667%200c-58.652444%200-175.957333%2037.916444-175.957333%20113.720889v75.832889H704v-75.832889c0-75.804444-117.390222-113.720889-176.042667-113.720889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M160%20492.8h204.8v51.2h-204.8z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M288%20416v204.8h-51.2v-204.8z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodelaoxiang1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodelaoxiang1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M562.232889%20454.200889h-149.560889l-60.672%2075.264%2060.672%2037.632v169.813333h188.103111v-244.195555a38.513778%2038.513778%200%200%200-38.513778-38.513778z%20m-56.888889-37.916445a56.576%2056.576%200%200%200%2056.519111-56.576V265.614222h-72.533333c-22.385778%200-40.561778%2018.119111-40.561778%2040.561778v53.532444c0%2031.232%2025.315556%2056.547556%2056.547556%2056.576z%20m300.088889%2068.807112H691.768889a54.044444%2054.044444%200%200%200-53.987556%2053.987555v197.859556h167.537778v-131.953778l58.680889-37.859556-58.595556-82.033777z%20m-82.602667-33.848889c27.790222%200%2050.375111-22.528%2050.375111-50.346667v-83.854222h-64.568889c-19.968%200-36.124444%2016.213333-36.124444%2036.152889v47.729777c0%2027.790222%2022.528%2050.346667%2050.346667%2050.346667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M128%20480h204.8v51.2H128zM128%20576h204.8v51.2H128zM128%20384h204.8v51.2H128z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-chuangjiandaili1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-chuangjiandaili1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M506.24%20515.424c30.688%200%2060.192%205.056%2087.84%2014.4-46.752%2022.848-79.296%2070.72-81.44%20127.616%200%2079.872%2065.984%20142.016%20143.936%20142.016l-6.08-0.096a17.44%2017.44%200%200%201-4.608%200.64H224c0-153.728%20126.464-284.576%20282.24-284.576z%22%20fill%3D%22%23FFFFFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M688.608%20772.032c-64%200-118.176-51.712-118.176-118.208%202.464-66.496%2054.176-118.208%20118.176-118.208a118.208%20118.208%200%200%201%200%20236.416z%22%20fill%3D%22%23FFFFFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M764.64%20638.528h-59.936v-59.136a14.912%2014.912%200%200%200-14.976-14.72%2014.912%2014.912%200%200%200-14.976%2014.72v59.136h-59.936a14.912%2014.912%200%200%200-14.944%2014.784c0%208.096%206.72%2014.752%2014.944%2014.752h59.872v59.136c0%208.096%206.72%2014.752%2014.976%2014.752a14.912%2014.912%200%200%200%2014.944-14.752v-59.136h60.032a14.912%2014.912%200%200%200%2014.944-14.752%2014.912%2014.912%200%200%200-14.944-14.784z%22%20fill%3D%22%23027AFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M508.896%20508.032c-77.984%200-143.936-62.144-143.936-142.016C367.936%20286.144%20430.912%20224%20508.896%20224c77.952%200%20143.936%2062.144%20143.936%20142.016%200%2076.928-62.976%20142.016-143.936%20142.016z%22%20fill%3D%22%23FFFFFF%22%20opacity%3D%22.944%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodegongdan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodegongdan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M725.816889%20752.583111a8.305778%208.305778%200%200%201-8.305778%208.305778H302.705778a8.305778%208.305778%200%200%201-8.305778-8.305778v-165.916444c0-4.579556%203.697778-8.305778%208.305778-8.305778h414.805333c4.579556%200%208.305778%203.726222%208.305778%208.305778v165.916444z%20m-373.76-299.008h28.359111a24.746667%2024.746667%200%200%201%2024.462222%2025.059556%2024.746667%2024.746667%200%200%201-24.462222%2025.059555h-28.359111a24.746667%2024.746667%200%200%201-24.462222-25.031111%2024.746667%2024.746667%200%200%201%2024.462222-25.088z%20m0-148.992h28.359111c13.511111%200%2024.462222%2011.235556%2024.462222%2025.088a24.746667%2024.746667%200%200%201-24.462222%2025.031111h-28.359111a24.746667%2024.746667%200%200%201-24.462222-25.031111c0-13.852444%2010.951111-25.088%2024.462222-25.088z%20m104.533333%20148.992h211.569778a24.746667%2024.746667%200%200%201%2024.462222%2025.059556%2024.746667%2024.746667%200%200%201-24.462222%2025.059555h-211.569778a24.746667%2024.746667%200%200%201-24.462222-25.031111%2024.746667%2024.746667%200%200%201%2024.462222-25.088z%20m0-148.992h211.569778c13.511111%200%2024.462222%2011.235556%2024.462222%2025.088a24.746667%2024.746667%200%200%201-24.462222%2025.031111h-211.569778a24.746667%2024.746667%200%200%201-24.462222-25.031111c0-13.852444%2010.979556-25.088%2024.462222-25.088zM742.4%20213.333333H277.816889c-18.346667%200-33.194667%2014.848-33.194667%2033.194667v530.944c0%2018.346667%2014.848%2033.194667%2033.194667%2033.194667H742.4c18.318222%200%2033.194667-14.848%2033.194667-33.194667V246.528c0-18.346667-14.876444-33.194667-33.194667-33.194667zM380.416%20636.103111a24.746667%2024.746667%200%200%201%2024.462222%2025.031111%2024.775111%2024.775111%200%200%201-24.462222%2025.088h-28.387556a24.775111%2024.775111%200%200%201-24.462222-25.059555%2024.746667%2024.746667%200%200%201%2024.462222-25.031111h28.387556z%20m287.744%200c13.511111%200%2024.462222%2011.207111%2024.462222%2025.031111a24.803556%2024.803556%200%200%201-24.462222%2025.088h-211.569778a24.775111%2024.775111%200%200%201-24.462222-25.059555%2024.746667%2024.746667%200%200%201%2024.462222-25.031111h211.569778z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangmuzhiwei { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangmuzhiwei%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M684.8%20368h-28.8v-28.8c0-63.36-51.84-115.2-115.2-115.2h-57.6a115.52%20115.52%200%200%200-115.2%20115.2v28.8h-28.8A115.52%20115.52%200%200%200%20224%20483.2v201.6c0%2063.36%2051.84%20115.2%20115.2%20115.2h345.6c63.36%200%20115.2-51.84%20115.2-115.2v-201.6c0-63.36-51.84-115.2-115.2-115.2z%20m-246.4-36.8c0-22.08%2014.72-36.8%2036.8-36.8h73.6c22.08%200%2036.8%2014.72%2036.8%2036.8v36.8h-147.2v-36.8z%20m118.4%20382.4h-89.6c-26.88%200-44.8-17.92-44.8-44.8%200-26.88%2017.92-44.8%2044.8-44.8h89.6c26.88%200%2044.8%2017.92%2044.8%2044.8%200%2026.88-17.92%2044.8-44.8%2044.8z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangmutonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangmutonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%231890FF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M785.066667%20438.983111h-66.844445v125.809778c0%2039.310222-31.459556%2066.816-66.787555%2066.816H446.862222v78.648889c0%2023.580444%2019.655111%2043.235556%2043.235556%2043.235555H651.377778c19.655111%2015.758222%2035.413333%2027.505778%2055.068444%2043.235556%207.822222%203.925333%2011.832889%2011.832889%2019.655111%2015.758222%203.925333%203.925333%2011.832889%207.822222%2015.758223%203.925333%203.896889-3.925333%207.822222-7.850667%207.822222-15.758222V753.493333h31.488c23.608889%200%2043.235556-19.655111%2043.235555-43.235555v-228.124445c3.925333-23.495111-15.729778-43.150222-39.310222-43.150222z%20m-487.651556%20137.642667v90.453333l110.136889-82.545778v-35.413333l-110.136889%2027.505778z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M281.685333%20576.625778v90.453333c0%207.850667%203.896889%2011.832889%207.822223%2015.758222%207.850667%203.925333%2011.832889%200%2015.758222-3.925333%2019.626667-15.729778%2035.384889-27.477333%2051.143111-43.235556%2011.832889-7.822222%2023.580444-19.655111%2035.413333-27.505777%207.822222-3.896889%2011.832889-7.822222%2019.655111-15.729778%207.850667-3.925333%203.925333-15.758222%203.925334-23.608889v-19.626667c0-11.832889-11.832889-15.758222-19.655111-15.758222-23.608889%2011.832889-55.096889%2019.655111-86.471112%2027.505778-3.953778%200-7.850667%203.896889-15.758222%203.896889-7.850667%200-11.832889%207.850667-11.832889%2015.758222a21.731556%2021.731556%200%200%200%2019.655111%2011.832889c31.488-7.850667%2066.844444-15.758222%2098.304-23.608889%203.925333%200%207.850667-3.896889%2015.758223-3.896889-7.850667-3.925333-15.758222-11.832889-23.608889-15.729778v35.384889c0-3.896889%203.953778-7.822222%203.953778-11.804444l-35.413334%2027.477333-58.993778%2047.160889-11.747555%2011.747556c7.822222%203.925333%2015.729778%207.850667%2027.505778%2011.832888v-94.378666c0-7.850667-7.850667-15.758222-15.758223-15.758222-11.747556%203.925333-19.655111%207.822222-19.655111%2015.758222z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M635.591111%20199.111111H242.346667C218.766222%20199.111111%20199.111111%20218.766222%20199.111111%20246.272v306.773333c0%2023.580444%2019.655111%2043.235556%2043.235556%2043.235556h393.244444c23.608889%200%2043.235556-19.655111%2043.235556-43.235556V246.272c0-27.505778-19.626667-47.160889-43.235556-47.160889z%20m-275.256889%20196.636445c0%2023.580444-19.683556%2043.235556-43.235555%2043.235555-23.608889%200-43.235556-19.655111-43.235556-43.235555%200-23.608889%2019.626667-43.235556%2043.235556-43.235556a43.52%2043.52%200%200%201%2043.235555%2043.235556z%20m117.959111%200c0%2023.580444-19.655111%2043.235556-43.235555%2043.235555-23.580444%200-43.235556-19.655111-43.235556-43.235555%200-23.608889%2019.655111-43.235556%2043.235556-43.235556a43.52%2043.52%200%200%201%2043.235555%2043.235556z%20m121.912889%200c0%2023.580444-19.683556%2043.235556-43.235555%2043.235555-23.608889%200-43.235556-19.655111-43.235556-43.235555%200-23.608889%2019.626667-43.235556%2043.235556-43.235556a43.52%2043.52%200%200%201%2043.235555%2043.235556z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodelaoxiang3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodelaoxiang3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M465.92%20530.432a140.600889%20140.600889%200%200%200%205.944889-0.853333c0.711111-0.085333%201.422222-0.227556%202.161778-0.369778l3.811555-0.711111a139.093333%20139.093333%200%200%200%205.745778-1.336889l1.536-0.398222%204.778667-1.365334%201.422222-0.455111c1.678222-0.540444%203.328-1.080889%204.949333-1.678222l0.995556-0.369778a138.24%20138.24%200%200%200%205.688889-2.247111h0.085333a137.784889%20137.784889%200%200%200%2012.202667-247.921778l-0.654223-0.341333a137.386667%20137.386667%200%200%200-16.497777-7.509333l-1.991111-0.739556a135.879111%20135.879111%200%200%200-12.003556-3.697778l-3.84-0.938666a137.045333%20137.045333%200%200%200-10.951111-2.048l-3.555556-0.455111a142.222222%20142.222222%200%200%200-4.949333-0.483556l-3.128889-0.256A139.463111%20139.463111%200%200%200%20449.962667%20256h-0.483556a137.728%20137.728%200%200%200-11.235555%20274.972444h-0.056889a139.719111%20139.719111%200%200%200%2027.733333-0.540444z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M527.132444%20512.512a247.352889%20247.352889%200%200%200-18.261333-5.176889l-1.991111-0.483555a248.860444%20248.860444%200%200%200-14.734222-2.986667l-3.128889-0.568889c-1.848889-0.284444-3.697778-0.512-5.603556-0.768a255.402667%20255.402667%200%200%200-18.318222-1.848889l-4.067555-0.227555a255.800889%20255.800889%200%200%200-23.267556%200l-4.067556%200.227555a244.707556%20244.707556%200%200%200-18.318222%201.848889l-5.632%200.768-3.100444%200.568889c-4.949333%200.853333-9.870222%201.848889-14.734222%202.986667-0.682667%200.170667-1.336889%200.284444-1.991112%200.483555a252.700444%20252.700444%200%200%200-18.232888%205.176889%20250.680889%20250.680889%200%200%200-171.719112%20216.462222l-0.056888%200.654222A252.700444%20252.700444%200%200%200%20199.111111%20749.795556v5.944888c0.170667%208.817778%200.824889%2017.550222%201.877333%2026.140445h496.810667a250.481778%20250.481778%200%200%200-170.666667-269.368889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M824.888889%20697.344a200.305778%20200.305778%200%200%200-181.191111-198.542222%20113.265778%20113.265778%200%200%201-38.087111-0.028445%20201.130667%20201.130667%200%200%200-23.04%203.555556%20282.225778%20282.225778%200%200%201%2047.388444%2032.142222l1.934222%201.564445c2.816%202.389333%205.575111%204.835556%208.305778%207.367111l1.706667%201.621333c2.275556%202.133333%204.551111%204.295111%206.741333%206.513778l1.820445%201.848889c2.645333%202.673778%205.233778%205.404444%207.765333%208.192l0.910222%201.024c2.275556%202.56%204.494222%205.12%206.656%207.736889l1.592889%201.905777c10.325333%2012.572444%2019.512889%2026.026667%2027.505778%2040.192l0.853333%201.479111c1.820444%203.356444%203.612444%206.712889%205.347556%2010.126223l0.170666%200.341333c1.848889%203.669333%203.584%207.367111%205.262223%2011.093333l0.426666%200.967111c1.564444%203.527111%203.072%207.111111%204.465778%2010.666667l0.312889%200.768c1.536%203.896889%202.958222%207.822222%204.323555%2011.776l0.028445%200.142222c1.308444%203.84%202.531556%207.68%203.669333%2011.605334l0.284445%201.052444a279.978667%20279.978667%200%200%201%2010.183111%2056.206222H824.888889v-31.288889z%20m-258.389333-213.105778c1.365333%201.450667%202.759111%202.787556%204.152888%204.152889-1.393778-1.365333-2.787556-2.730667-4.152888-4.152889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M626.773333%20531.655111c5.688889-0.113778%2011.320889-0.625778%2016.896-1.564444l-1.166222-0.142223a112.696889%20112.696889%200%200%200%2030.805333-212.622222%20112.867556%20112.867556%200%200%200-77.112888-7.367111c5.233778%209.187556%209.614222%2018.858667%2013.084444%2028.842667%202.190222%206.485333%204.039111%2013.084444%205.461333%2019.825778v0.085333c0.967111%204.437333%201.706667%208.931556%202.304%2013.482667l0.113778%200.881777c0.483556%204.067556%200.853333%208.135111%201.052445%2012.202667%200%200.625778%200.056889%201.223111%200.085333%201.848889a170.723556%20170.723556%200%200%201-0.085333%2014.648889l-0.142223%202.417778c-0.113778%201.934222-0.284444%203.84-0.455111%205.774222l-0.227555%202.446222c-0.284444%202.332444-0.568889%204.636444-0.910223%206.940444l-0.113777%200.910223c-0.426667%202.56-0.910222%205.12-1.422223%207.68l-0.483555%202.161777c-0.398222%201.877333-0.853333%203.697778-1.308445%205.575112l-0.625777%202.332444c-0.568889%202.076444-1.137778%204.124444-1.792%206.144l-0.398223%201.308444a171.804444%20171.804444%200%200%201-2.503111%207.224889l-0.711111%201.848889c-1.706667%204.437333-3.640889%208.817778-5.717333%2013.084445l-0.654222%201.393777c-1.137778%202.275556-2.360889%204.551111-3.612445%206.769778l-0.711111%201.251556a166.741333%20166.741333%200%200%201-3.214222%205.404444l-1.080889%201.735111c-1.137778%201.792-2.275556%203.555556-3.498667%205.290667l-0.739555%201.080889c-2.503111%203.555556-5.12%206.968889-7.907556%2010.325333a282.396444%20282.396444%200%200%201%2046.791111%2030.776889z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiangmutongzhi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiangmutongzhi%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%23FFAB00%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M830.691556%20278.016c-2.56-14.222222-11.662222-22.016-27.192889-22.016H219.192889c-1.28%200-3.868444%200-6.456889%201.28-14.250667%202.588444-20.736%2011.662222-20.736%2027.221333V636.871111c3.896889%2014.250667%2012.942222%2024.632889%2027.192889%2028.501333h330.382222v116.622223c3.868444%2015.530667%2012.970667%2024.604444%2028.501333%2028.501333%207.765333-1.308444%2014.791111-3.413333%2020.707556-10.353778l115.313778-134.769778h89.400889c1.28%200%203.896889%200%206.485333-1.28%2014.222222-2.588444%2022.016-11.662222%2022.016-27.221333V284.501333c0-1.308444%200-3.896889-1.308444-6.485333z%20m-260.920889%20279.751111c-3.128889%201.592889-6.257778%201.592889-7.850667%201.592889h-244.736c-17.237333-4.721778-28.245333-17.265778-32.938667-34.531556%200-18.801778%207.850667-29.781333%2025.088-32.938666%203.157333-1.564444%206.286222-1.564444%207.850667-1.564445h244.736c18.858667%200%2029.838222%209.415111%2032.967111%2026.652445%201.564444%203.128889%201.564444%206.257778%201.564445%207.850666%200%2018.858667-9.386667%2029.809778-26.680889%2032.938667z%20m0-141.653333c-3.128889%201.592889-6.257778%201.592889-7.850667%201.592889h-244.736c-17.237333-4.721778-28.245333-17.265778-32.938667-34.503111%200-18.858667%207.850667-29.838222%2025.088-32.995556%203.157333-1.536%206.286222-1.536%207.850667-1.536h244.736c18.858667%200%2029.838222%209.386667%2032.967111%2026.680889%201.564444%203.128889%201.564444%206.257778%201.564445%207.850667%200%2018.801778-9.386667%2029.781333-26.680889%2032.938666z%20m116.110222%20141.653333c-3.128889%201.592889-6.286222%201.592889-7.850667%201.592889-18.830222%200-29.809778-9.386667-32.938666-26.680889-1.592889-3.128889-1.592889-6.257778-1.592889-7.850667%200-18.801778%209.443556-29.781333%2026.680889-32.938666%203.128889-1.564444%206.257778-1.564444%207.850666-1.564445%2018.830222%200%2029.809778%209.415111%2032.938667%2026.652445%201.564444%203.128889%201.564444%206.257778%201.564444%207.850666%200%2018.858667-9.386667%2029.809778-26.652444%2032.938667z%20m0-141.653333c-3.128889%201.592889-6.286222%201.592889-7.850667%201.592889-18.830222%200-29.809778-9.415111-32.938666-26.680889-1.592889-3.128889-1.592889-6.257778-1.592889-7.822222%200-18.858667%209.443556-29.838222%2026.680889-32.995556%203.128889-1.536%206.257778-1.536%207.850666-1.536%2018.830222%200%2029.809778%209.386667%2032.938667%2026.680889%201.564444%203.128889%201.564444%206.257778%201.564444%207.850667%200%2018.801778-9.386667%2029.781333-26.652444%2032.938666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-wodexiangmu1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-wodexiangmu1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m142.222222%200l739.555556%200q142.222222%200%20142.222222%20142.222222l0%20739.555556q0%20142.222222-142.222222%20142.222222l-739.555556%200q-142.222222%200-142.222222-142.222222l0-739.555556q0-142.222222%20142.222222-142.222222Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M668.16%20522.467556h-192.426667a28.728889%2028.728889%200%200%201-28.842666-28.842667%2028.728889%2028.728889%200%200%201%2028.842666-28.871111h192.426667a28.728889%2028.728889%200%200%201%2028.871111%2028.871111%2028.728889%2028.728889%200%200%201-28.871111%2028.842667z%20m-328.704%2084.992c0%2017.635556%2012.8%2030.464%2030.435556%2030.464a30.435556%2030.435556%200%200%200%2030.492444-30.464%2030.435556%2030.435556%200%200%200-30.464-30.464c-17.635556%200-30.464%2012.8-30.464%2030.464z%20m0-113.834667c0%2017.635556%2012.8%2030.435556%2030.435556%2030.435555a30.435556%2030.435556%200%200%200%2030.492444-30.435555%2030.435556%2030.435556%200%201%200-60.928%200zM668.16%20636.302222h-192.426667a28.728889%2028.728889%200%200%201-28.842666-28.871111%2028.728889%2028.728889%200%200%201%2028.842666-28.871111h192.426667a28.728889%2028.728889%200%200%201%2028.871111%2028.871111%2028.728889%2028.728889%200%200%201-28.871111%2028.871111z%20m131.498667%2093.013334V368.526222c0-43.292444-40.106667-40.106667-40.106667-40.106666h-226.076444c-12.828444%200-20.849778-6.4-20.849778-6.4s-9.614222-16.042667-27.249778-41.699556c-16.042667-28.871111-36.892444-24.035556-36.892444-24.035556H273.720889c-49.720889%200-49.720889%2046.478222-49.720889%2046.478223v423.338666c0%2052.906667%2040.106667%2046.478222%2040.106667%2046.478223h500.252444c41.699556%200%2035.271111-43.292444%2035.271111-43.292445z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-duoxuan1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-duoxuan1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m170.666667%200l682.666666%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666666%200q-170.666667%200-170.666667-170.666667l0-682.666666q0-170.666667%20170.666667-170.666667Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M185.728%20538.026667a26.453333%2026.453333%200%200%201-2.56-32.64l11.946667-16.213334a20.864%2020.864%200%200%201%2029.269333-4.138666l131.370667%20100.693333c18.645333%2014.293333%2048.469333%2013.653333%2066.56-1.450667l377.856-314.752a23.808%2023.808%200%200%201%2031.232%201.28l6.912%206.826667a20.736%2020.736%200%200%201-0.426667%2030.037333l-417.92%20411.306667a41.941333%2041.941333%200%200%201-59.946667-0.597333L185.728%20538.026667z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shujutongji { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shujutongji%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m160%200l704%200q160%200%20160%20160l0%20704q0%20160-160%20160l-704%200q-160%200-160-160l0-704q0-160%20160-160Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M301.44%20581.76h75.2v84.16H301.44v-84.16z%20m346.24-134.72h75.2v219.2h-75.2v-219.2z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M790.4%20275.52H233.6c-23.04%200-41.6%2018.56-41.6%2041.6v389.44c0%2023.04%2018.56%2041.6%2041.6%2041.6h556.8c23.04%200%2041.6-18.56%2041.6-41.6V317.12c0-23.04-18.56-41.6-41.6-41.6z%20m0%20417.28c0%207.68-6.08%2013.76-13.76%2013.76H247.68c-7.68%200-13.76-6.08-13.76-13.76v-361.6c0-7.68%206.08-13.76%2013.76-13.76h528.64c7.68%200%2013.76%206.08%2013.76%2013.76v361.6h0.32z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M407.04%20514.24h75.2v151.68h-75.2v-151.68z%20m120.32-134.72h75.2v286.72h-75.2v-286.72z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-paizhao2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-paizhao2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M588.866783%20175.148522c24.486957%200%2048.973913%2011.130435%2064.556521%2031.165217l69.008696%2082.365218h80.13913c44.521739%200%2082.365217%2035.617391%2084.591305%2080.13913v400.695652c0%2046.747826-37.843478%2084.591304-84.591305%2084.591304h-583.234782c-46.747826%200-84.591304-37.843478-84.591305-84.591304v-396.243478c0-46.747826%2037.843478-84.591304%2084.591305-84.591304h80.13913l69.008696-82.365218c15.582609-17.808696%2037.843478-28.93913%2060.104348-31.165217h160.278261z%20m0%2055.652174h-153.6c-8.904348%200-15.582609%204.452174-22.26087%2011.130434l-86.817391%20102.4h-106.852174c-15.582609%200-28.93913%2013.356522-28.939131%2028.939131v396.243478c0%2015.582609%2013.356522%2028.93913%2028.939131%2028.939131h585.460869c15.582609%200%2028.93913-13.356522%2028.939131-28.939131v-396.243478c0-15.582609-13.356522-28.93913-28.939131-28.939131h-106.852174l-86.817391-102.4c-4.452174-6.678261-13.356522-11.130435-22.260869-11.130434z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M804.797217%20856.33113h-585.460869c-46.747826%200-86.817391-37.843478-86.817391-86.817391v-396.243478c2.226087-46.747826%2040.069565-86.817391%2086.817391-86.817391h80.13913l69.008696-82.365218c15.582609-17.808696%2037.843478-28.93913%2062.330435-28.93913H588.866783c26.713043%200%2048.973913%2011.130435%2066.782608%2031.165217l69.008696%2080.139131h80.13913c46.747826%200%2084.591304%2035.617391%2086.817392%2082.365217v400.695652c-2.226087%2046.747826-40.069565%2086.817391-86.817392%2086.817391z%20m-585.460869-567.652173c-46.747826%200-84.591304%2037.843478-84.591305%2084.591304v396.243478c0%2046.747826%2037.843478%2084.591304%2084.591305%2084.591304h585.460869c46.747826%200%2084.591304-37.843478%2084.591305-84.591304v-400.695652c-2.226087-44.521739-37.843478-80.13913-84.591305-80.13913h-82.365217l-69.008696-82.365218c-15.582609-20.034783-40.069565-31.165217-64.556521-31.165217h-158.052174c-22.26087%202.226087-44.521739%2011.130435-60.104348%2028.93913l-69.008696%2084.591305h-82.365217z%20m585.460869%20509.773913h-585.460869c-15.582609%200-28.93913-13.356522-28.939131-28.939131v-396.243478c0-15.582609%2013.356522-28.93913%2028.939131-28.939131h106.852174l86.817391-102.4c6.678261-6.678261%2013.356522-11.130435%2022.26087-11.130434h153.6c8.904348%200%2017.808696%204.452174%2022.260869%2011.130434l84.591305%20102.4h106.852173c15.582609%200%2028.93913%2013.356522%2028.939131%2028.939131v396.243478c2.226087%2015.582609-11.130435%2028.93913-26.713044%2028.939131z%20m-585.460869-451.895653c-15.582609%200-26.713043%2011.130435-26.713044%2026.713044v396.243478c0%2015.582609%2011.130435%2026.713043%2026.713044%2026.713044h585.460869c15.582609%200%2026.713043-11.130435%2026.713044-26.713044v-396.243478c0-15.582609-11.130435-26.713043-26.713044-26.713044h-109.07826l-84.591305-104.626087c-4.452174-6.678261-13.356522-8.904348-20.034782-8.904347h-153.6c-8.904348%200-15.582609%204.452174-20.034783%208.904347l-89.043478%20104.626087h-109.078261z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M510.953739%20411.113739c77.913043%200%20142.469565%2062.330435%20142.469565%20142.469565%200%2077.913043-62.330435%20142.469565-142.469565%20142.469566s-142.469565-62.330435-142.469565-142.469566c2.226087-80.13913%2064.556522-142.469565%20142.469565-142.469565z%20m0%2055.652174c-46.747826%200-84.591304%2037.843478-84.591304%2084.591304%200%2046.747826%2037.843478%2084.591304%2084.591304%2084.591305s84.591304-37.843478%2084.591304-84.591305c2.226087-46.747826-35.617391-84.591304-84.591304-84.591304z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M510.953739%20696.05287c-77.913043%200-142.469565-64.556522-142.469565-142.469566%200-77.913043%2064.556522-142.469565%20142.469565-142.469565s142.469565%2064.556522%20142.469565%20142.469565c2.226087%2077.913043-62.330435%20142.469565-142.469565%20142.469566z%20m0-284.939131c-77.913043%200-140.243478%2062.330435-140.243478%20140.243478s62.330435%20140.243478%20140.243478%20140.243479%20140.243478-62.330435%20140.243478-140.243479-62.330435-140.243478-140.243478-140.243478z%20m0%20227.06087c-46.747826%200-86.817391-37.843478-86.817391-86.817392s37.843478-86.817391%2086.817391-86.817391%2086.817391%2037.843478%2086.817391%2086.817391-37.843478%2086.817391-86.817391%2086.817392z%20m0-169.182609c-46.747826%200-84.591304%2037.843478-84.591304%2084.591304%200%2046.747826%2037.843478%2084.591304%2084.591304%2084.591305%2046.747826%200%2084.591304-37.843478%2084.591304-84.591305%200-46.747826-37.843478-84.591304-84.591304-84.591304z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shenfenzheng2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shenfenzheng2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFF5F1%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M729.234286%20316.306286c26.514286%200%2048.018286%2021.504%2048.018285%2047.981714v295.424c0%2026.477714-21.504%2047.981714-47.981714%2047.981714H294.765714A48.054857%2048.054857%200%200%201%20246.857143%20659.748571V364.251429c0-26.477714%2021.504-47.981714%2047.981714-47.981715h434.468572m0-42.020571H294.765714A90.002286%2090.002286%200%200%200%20204.8%20364.288v295.424A90.002286%2090.002286%200%200%200%20294.802286%20749.714286h434.468571a90.002286%2090.002286%200%200%200%2090.002286-90.002286V364.251429A90.002286%2090.002286%200%200%200%20729.270857%20274.285714z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M634.148571%20409.307429c25.819429%200%2046.848%2021.028571%2046.848%2046.848%200%2025.856-21.028571%2046.848-46.811428%2046.848a46.921143%2046.921143%200%200%201-46.884572-46.811429c0-25.856%2021.028571-46.884571%2046.848-46.884571m0-41.984a88.868571%2088.868571%200%201%200%200%20177.700571%2088.868571%2088.868571%200%200%200%200-177.737143z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M723.017143%20631.954286a20.992%2020.992%200%200%201-21.028572-20.992%2067.913143%2067.913143%200%200%200-67.84-67.84%2067.913143%2067.913143%200%200%200-67.84%2067.84%2020.992%2020.992%200%201%201-42.020571%200%20109.970286%20109.970286%200%200%201%20109.860571-109.860572%20109.970286%20109.970286%200%200%201%20109.860572%20109.860572%2020.992%2020.992%200%200%201-20.992%2020.992z%20m-243.675429-188.342857h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2042.020571z%20m0%2090.331428h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2041.984z%20m-55.808%2090.331429H292.096a20.992%2020.992%200%201%201%200-42.020572h131.437714a20.992%2020.992%200%201%201%200%2042.020572z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua6 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua6%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23FFF5F1%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M574.171429%20574.171429c-7.314286%207.314286-14.628571%2018.285714-21.942858%2029.257142-25.6-14.628571-51.2-36.571429-73.142857-54.857142s-40.228571-47.542857-54.857143-73.142858c10.971429-3.657143%2021.942857-10.971429%2029.257143-21.942857%2043.885714-43.885714%2043.885714-117.028571%200-160.914285S336.457143%20248.685714%20292.571429%20292.571429c-21.942857%2018.285714-36.571429%2043.885714-36.571429%2076.8%200%2095.085714%2040.228571%20182.857143%20128%20270.628571%2087.771429%2087.771429%20175.542857%20128%20266.971429%20128h3.657142c29.257143%200%2058.514286-10.971429%2076.8-32.914286%2043.885714-43.885714%2043.885714-117.028571%200-160.914285-40.228571-43.885714-113.371429-43.885714-157.257142%200z%20m146.285714%20146.285714c-18.285714%2018.285714-40.228571%2025.6-62.171429%2025.6h-3.657143c-87.771429%200-168.228571-40.228571-248.685714-124.342857-84.114286-84.114286-124.342857-168.228571-124.342857-256%200-25.6%2010.971429-47.542857%2025.6-62.171429%2014.628571-18.285714%2036.571429-29.257143%2062.171429-29.257143s47.542857%2010.971429%2065.828571%2025.6c36.571429%2036.571429%2036.571429%2095.085714%200%20131.657143-10.971429%2010.971429-21.942857%2014.628571-32.914286%2021.942857v7.314286c18.285714%2032.914286%2040.228571%2062.171429%2065.828572%2087.771429s58.514286%2047.542857%2087.771428%2065.828571h7.314286l3.657143-3.657143c3.657143-10.971429%2010.971429-25.6%2021.942857-32.914286%2036.571429-36.571429%2095.085714-36.571429%20131.657143%200%2036.571429%2047.542857%2036.571429%20106.057143%200%20142.628572z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M650.971429%20778.971429c-95.085714%200-186.514286-43.885714-274.285715-131.657143-91.428571-91.428571-135.314286-182.857143-131.657143-277.942857%200-32.914286%2014.628571-62.171429%2036.571429-84.114286%2021.942857-21.942857%2054.857143-36.571429%2087.771429-36.571429s65.828571%2014.628571%2087.771428%2036.571429c47.542857%2047.542857%2047.542857%20128%200%20179.2-7.314286%207.314286-14.628571%2014.628571-21.942857%2018.285714%2014.628571%2021.942857%2029.257143%2043.885714%2047.542857%2062.171429s36.571429%2032.914286%2062.171429%2047.542857c3.657143-7.314286%2010.971429-14.628571%2018.285714-21.942857%2047.542857-47.542857%20128-47.542857%20175.542857%200%2021.942857%2021.942857%2036.571429%2054.857143%2036.571429%2087.771428%200%2032.914286-14.628571%2065.828571-36.571429%2087.771429-21.942857%2021.942857-51.2%2036.571429-84.114286%2036.571428h-3.657142z%20m-281.6-512c-29.257143%200-54.857143%2010.971429-73.142858%2029.257142s-29.257143%2043.885714-29.257142%2069.485715c0%2087.771429%2040.228571%20175.542857%20124.342857%20263.314285%2054.857143%2054.857143%20109.714286%2091.428571%20168.228571%20109.714286-54.857143-18.285714-109.714286-54.857143-164.571428-109.714286-87.771429-87.771429-128-171.885714-124.342858-263.314285%200-25.6%2010.971429-51.2%2029.257143-69.485715%2014.628571-18.285714%2043.885714-29.257143%2069.485715-29.257142s54.857143%2010.971429%2073.142857%2029.257142%2025.6%2036.571429%2029.257143%2058.514286c-3.657143-21.942857-14.628571-43.885714-29.257143-58.514286-18.285714-18.285714-43.885714-29.257143-73.142857-29.257142z%20m0%2021.942857c-21.942857%200-40.228571%2010.971429-51.2%2025.6-18.285714%2014.628571-25.6%2032.914286-25.6%2054.857143%200%2084.114286%2036.571429%20164.571429%20120.685714%20248.685714%2080.457143%2080.457143%20160.914286%20120.685714%20241.371428%20120.685714h3.657143c18.285714%200%2040.228571-7.314286%2054.857143-25.6%2032.914286-32.914286%2029.257143-84.114286%200-117.028571-32.914286-32.914286-84.114286-32.914286-117.028571%200-7.314286%207.314286-14.628571%2014.628571-18.285715%2029.257143l-3.657142%203.657142-7.314286%207.314286H544.914286c-36.571429-18.285714-65.828571-43.885714-91.428572-65.828571-25.6-25.6-47.542857-54.857143-65.828571-91.428572v-21.942857h7.314286l7.314285-7.314286c10.971429-3.657143%2021.942857-10.971429%2029.257143-18.285714%2014.628571-14.628571%2025.6-36.571429%2025.6-58.514286s-14.628571-43.885714-29.257143-58.514285c-14.628571-18.285714-36.571429-25.6-58.514285-25.6z%20m332.8%20274.285714c7.314286%203.657143%2018.285714%2010.971429%2025.6%2018.285714%2018.285714%2018.285714%2029.257143%2043.885714%2029.257142%2069.485715%200-25.6-10.971429-51.2-29.257142-73.142858-7.314286-7.314286-18.285714-10.971429-25.6-14.628571z%20m-292.571429-98.742857l7.314286-3.657143c7.314286-3.657143%2014.628571-10.971429%2025.6-18.285714%2014.628571-14.628571%2025.6-36.571429%2029.257143-58.514286-3.657143%2021.942857-14.628571%2043.885714-29.257143%2058.514286-7.314286%2010.971429-18.285714%2018.285714-32.914286%2021.942857z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dianhua7 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dianhua7%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23EBFAFA%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M574.171429%20574.171429c-7.314286%207.314286-14.628571%2018.285714-21.942858%2029.257142-25.6-14.628571-51.2-36.571429-73.142857-54.857142s-40.228571-47.542857-54.857143-73.142858c10.971429-3.657143%2021.942857-10.971429%2029.257143-21.942857%2043.885714-43.885714%2043.885714-117.028571%200-160.914285S336.457143%20248.685714%20292.571429%20292.571429c-21.942857%2018.285714-36.571429%2043.885714-36.571429%2076.8%200%2095.085714%2040.228571%20182.857143%20128%20270.628571%2087.771429%2087.771429%20175.542857%20128%20266.971429%20128h3.657142c29.257143%200%2058.514286-10.971429%2076.8-32.914286%2043.885714-43.885714%2043.885714-117.028571%200-160.914285-40.228571-43.885714-113.371429-43.885714-157.257142%200z%20m146.285714%20146.285714c-18.285714%2018.285714-40.228571%2025.6-62.171429%2025.6h-3.657143c-87.771429%200-168.228571-40.228571-248.685714-124.342857-84.114286-84.114286-124.342857-168.228571-124.342857-256%200-25.6%2010.971429-47.542857%2025.6-62.171429%2014.628571-18.285714%2036.571429-29.257143%2062.171429-29.257143s47.542857%2010.971429%2065.828571%2025.6c36.571429%2036.571429%2036.571429%2095.085714%200%20131.657143-10.971429%2010.971429-21.942857%2014.628571-32.914286%2021.942857v7.314286c18.285714%2032.914286%2040.228571%2062.171429%2065.828572%2087.771429s58.514286%2047.542857%2087.771428%2065.828571h7.314286l3.657143-3.657143c3.657143-10.971429%2010.971429-25.6%2021.942857-32.914286%2036.571429-36.571429%2095.085714-36.571429%20131.657143%200%2036.571429%2047.542857%2036.571429%20106.057143%200%20142.628572z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M650.971429%20778.971429c-95.085714%200-186.514286-43.885714-274.285715-131.657143-91.428571-91.428571-135.314286-182.857143-131.657143-277.942857%200-32.914286%2014.628571-62.171429%2036.571429-84.114286%2021.942857-21.942857%2054.857143-36.571429%2087.771429-36.571429s65.828571%2014.628571%2087.771428%2036.571429c47.542857%2047.542857%2047.542857%20128%200%20179.2-7.314286%207.314286-14.628571%2014.628571-21.942857%2018.285714%2014.628571%2021.942857%2029.257143%2043.885714%2047.542857%2062.171429s36.571429%2032.914286%2062.171429%2047.542857c3.657143-7.314286%2010.971429-14.628571%2018.285714-21.942857%2047.542857-47.542857%20128-47.542857%20175.542857%200%2021.942857%2021.942857%2036.571429%2054.857143%2036.571429%2087.771428%200%2032.914286-14.628571%2065.828571-36.571429%2087.771429-21.942857%2021.942857-51.2%2036.571429-84.114286%2036.571428h-3.657142z%20m-281.6-512c-29.257143%200-54.857143%2010.971429-73.142858%2029.257142s-29.257143%2043.885714-29.257142%2069.485715c0%2087.771429%2040.228571%20175.542857%20124.342857%20263.314285%2054.857143%2054.857143%20109.714286%2091.428571%20168.228571%20109.714286-54.857143-18.285714-109.714286-54.857143-164.571428-109.714286-87.771429-87.771429-128-171.885714-124.342858-263.314285%200-25.6%2010.971429-51.2%2029.257143-69.485715%2014.628571-18.285714%2043.885714-29.257143%2069.485715-29.257142s54.857143%2010.971429%2073.142857%2029.257142%2025.6%2036.571429%2029.257143%2058.514286c-3.657143-21.942857-14.628571-43.885714-29.257143-58.514286-18.285714-18.285714-43.885714-29.257143-73.142857-29.257142z%20m0%2021.942857c-21.942857%200-40.228571%2010.971429-51.2%2025.6-18.285714%2014.628571-25.6%2032.914286-25.6%2054.857143%200%2084.114286%2036.571429%20164.571429%20120.685714%20248.685714%2080.457143%2080.457143%20160.914286%20120.685714%20241.371428%20120.685714h3.657143c18.285714%200%2040.228571-7.314286%2054.857143-25.6%2032.914286-32.914286%2029.257143-84.114286%200-117.028571-32.914286-32.914286-84.114286-32.914286-117.028571%200-7.314286%207.314286-14.628571%2014.628571-18.285715%2029.257143l-3.657142%203.657142-7.314286%207.314286H544.914286c-36.571429-18.285714-65.828571-43.885714-91.428572-65.828571-25.6-25.6-47.542857-54.857143-65.828571-91.428572v-21.942857h7.314286l7.314285-7.314286c10.971429-3.657143%2021.942857-10.971429%2029.257143-18.285714%2014.628571-14.628571%2025.6-36.571429%2025.6-58.514286s-14.628571-43.885714-29.257143-58.514285c-14.628571-18.285714-36.571429-25.6-58.514285-25.6z%20m332.8%20274.285714c7.314286%203.657143%2018.285714%2010.971429%2025.6%2018.285714%2018.285714%2018.285714%2029.257143%2043.885714%2029.257142%2069.485715%200-25.6-10.971429-51.2-29.257142-73.142858-7.314286-7.314286-18.285714-10.971429-25.6-14.628571z%20m-292.571429-98.742857l7.314286-3.657143c7.314286-3.657143%2014.628571-10.971429%2025.6-18.285714%2014.628571-14.628571%2025.6-36.571429%2029.257143-58.514286-3.657143%2021.942857-14.628571%2043.885714-29.257143%2058.514286-7.314286%2010.971429-18.285714%2018.285714-32.914286%2021.942857z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shenfenzheng3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shenfenzheng3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M512%20512m-512%200a512%20512%200%201%200%201024%200%20512%20512%200%201%200-1024%200Z%22%20fill%3D%22%23EBFAFA%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M729.234286%20316.306286c26.514286%200%2048.018286%2021.504%2048.018285%2047.981714v295.424c0%2026.477714-21.504%2047.981714-47.981714%2047.981714H294.765714A48.054857%2048.054857%200%200%201%20246.857143%20659.748571V364.251429c0-26.477714%2021.504-47.981714%2047.981714-47.981715h434.468572m0-42.020571H294.765714A90.002286%2090.002286%200%200%200%20204.8%20364.288v295.424A90.002286%2090.002286%200%200%200%20294.802286%20749.714286h434.468571a90.002286%2090.002286%200%200%200%2090.002286-90.002286V364.251429A90.002286%2090.002286%200%200%200%20729.270857%20274.285714z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M634.148571%20409.307429c25.819429%200%2046.848%2021.028571%2046.848%2046.848%200%2025.856-21.028571%2046.848-46.811428%2046.848a46.921143%2046.921143%200%200%201-46.884572-46.811429c0-25.856%2021.028571-46.884571%2046.848-46.884571m0-41.984a88.868571%2088.868571%200%201%200%200%20177.700571%2088.868571%2088.868571%200%200%200%200-177.737143z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M723.017143%20631.954286a20.992%2020.992%200%200%201-21.028572-20.992%2067.913143%2067.913143%200%200%200-67.84-67.84%2067.913143%2067.913143%200%200%200-67.84%2067.84%2020.992%2020.992%200%201%201-42.020571%200%20109.970286%20109.970286%200%200%201%20109.860571-109.860572%20109.970286%20109.970286%200%200%201%20109.860572%20109.860572%2020.992%2020.992%200%200%201-20.992%2020.992z%20m-243.675429-188.342857h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2042.020571z%20m0%2090.331428h-187.245714a20.992%2020.992%200%201%201%200-41.984h187.245714a20.992%2020.992%200%201%201%200%2041.984z%20m-55.808%2090.331429H292.096a20.992%2020.992%200%201%201%200-42.020572h131.437714a20.992%2020.992%200%201%201%200%2042.020572z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-tonggaoquan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-tonggaoquan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m170.666667%200l682.666666%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666666%200q-170.666667%200-170.666667-170.666667l0-682.666666q0-170.666667%20170.666667-170.666667Z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M269.858133%20819.2a30.993067%2030.993067%200%200%201-29.627733-39.799467l41.608533-137.9328A284.228267%20284.228267%200%200%201%20238.933333%20490.939733C238.933333%20333.141333%20367.274667%20204.8%20525.073067%20204.8c157.7984%200%20286.139733%20128.375467%20286.139733%20286.139733%200%20157.730133-128.4096%20286.139733-286.139733%20286.139734-32.256%200-64-5.461333-94.583467-16.247467l-149.7088%2056.388267a30.378667%2030.378667%200%200%201-10.922667%201.979733z%20m255.214934-552.5504a224.5632%20224.5632%200%200%200-224.256%20224.256c0%2045.943467%2013.858133%2090.112%2040.174933%20127.863467a31.232%2031.232%200%200%201%204.266667%2026.624L317.576533%20737.28l101.9904-38.434133a31.095467%2031.095467%200%200%201%2022.391467%200.2048%20222.3104%20222.3104%200%200%200%2083.114667%2016.0768%20224.5632%20224.5632%200%200%200%20224.256-224.256%20224.494933%20224.494933%200%200%200-224.256-224.221867z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M525.073067%20665.8048a174.1824%20174.1824%200%200%201-173.9776-173.9776%20174.216533%20174.216533%200%200%201%20173.9776-173.9776%20174.216533%20174.216533%200%200%201%20173.943466%20173.9776%20174.1824%20174.1824%200%200%201-173.943466%20173.9776z%20m0-286.139733a112.2304%20112.2304%200%200%200-112.093867%20112.093866%20112.264533%20112.264533%200%200%200%20112.093867%20112.093867%20112.264533%20112.264533%200%200%200%20112.093866-112.093867%20112.264533%20112.264533%200%200%200-112.093866-112.093866z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M525.073067%20553.642667a61.952%2061.952%200%200%201-61.8496-61.883734c0-34.0992%2027.7504-61.8496%2061.8496-61.8496%2034.0992%200%2061.8496%2027.7504%2061.8496%2061.8496%200%2034.0992-27.7504%2061.8496-61.8496%2061.8496z%20m1.297066-60.279467h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%20m0%200h0.750934-0.750934z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-lianjie { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-lianjie%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M632.945778%20522.24c0-7.395556-0.568889-14.677333-1.592889-21.788444a32.881778%2032.881778%200%200%200-65.592889-2.275556%2032.995556%2032.995556%200%200%200%200.796444%2010.695111c0.341333%203.982222%200.739556%207.964444%200.739556%2011.946667v3.811555c0%2048.184889-48.64%2082.488889-96.824889%2082.488889H264.817778c-48.184889-0.056889-87.324444-39.253333-87.381334-87.438222v-3.868444c0-48.184889%2039.253333-87.381333%2087.324445-87.324445h90.851555a35.669333%2035.669333%200%200%200%2010.808889-70.542222l0.056889-0.113778h-0.967111a35.896889%2035.896889%200%200%200-9.272889-0.341333L264.874667%20354.417778a161.905778%20161.905778%200%200%200-161.393778%20161.393778v3.868444a161.905778%20161.905778%200%200%200%20161.336889%20161.336889H470.471111c88.689778-0.056889%20162.474667-66.332444%20162.474667-154.965333V522.24z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M931.953778%20519.623111v-3.811555a161.848889%20161.848889%200%200%200-161.393778-161.393778l-205.596444%200.056889c-88.746667%200-155.306667%2061.667556-155.306667%20150.414222v3.754667c0%204.039111%200.170667%208.021333%200.512%2011.946666a31.175111%2031.175111%200%200%200%209.045333%2023.722667%2031.061333%2031.061333%200%200%200%2051.2-11.719111c3.640889-9.443556%202.218667-18.830222%202.218667-26.339556v-3.754666c0-48.184889%2044.088889-74.069333%2092.330667-74.069334l205.653333%200.056889a87.381333%2087.381333%200%200%201%2087.324444%2087.324445v3.811555c0%2048.241778-39.196444%2087.438222-87.381333%2087.438222h-90.567111a35.384889%2035.384889%200%200%200-13.482667%2069.518223v0.227555h1.308445a35.612444%2035.612444%200%200%200%2010.979555%200.455111l91.761778%203.697778a161.792%20161.792%200%200%200%20161.393778-161.336889z%22%20fill%3D%22%23CCCCCC%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yuanquan { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yuanquan%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m136.533333%200l750.933334%200q136.533333%200%20136.533333%20136.533333l0%20750.933334q0%20136.533333-136.533333%20136.533333l-750.933334%200q-136.533333%200-136.533333-136.533333l0-750.933334q0-136.533333%20136.533333-136.533333Z%22%20fill%3D%22%23323033%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20221.866667a290.133333%20290.133333%200%201%201%200%20580.266666%20290.133333%20290.133333%200%200%201%200-580.266666z%20m0%20102.4a187.733333%20187.733333%200%201%200%200%20375.466666%20187.733333%20187.733333%200%200%200%200-375.466666z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-luban { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-luban%22%20viewBox%3D%220%200%201058%201024%22%3E%3Cpath%20d%3D%22M166.946133%201024A149.879467%20149.879467%200%200%201%2017.066667%20874.120533V149.845333A149.879467%20149.879467%200%200%201%20166.946133%200H891.221333A149.879467%20149.879467%200%200%201%201041.066667%20149.845333V874.154667A149.879467%20149.879467%200%200%201%20891.1872%201024H166.912z%22%20fill%3D%22%23004D7F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M515.242667%20368.981333v364.066134h52.0192V368.981333h156.023466V290.952533H463.530667l-104.277334%2056.866134v21.162666h156.023467zM450.218667%20238.933333h299.076266c14.370133%200%2026.0096%2011.639467%2026.0096%2026.0096v130.048a26.0096%2026.0096%200%200%201-26.0096%2025.975467h-130.048v338.090667c0%2014.336-11.605333%2026.0096-25.975466%2026.0096h-104.0384a26.0096%2026.0096%200%200%201-26.0096-26.0096v-338.090667h-130.048a26.0096%2026.0096%200%200%201-25.975467-26.0096V332.3904c0-9.5232%205.188267-18.261333%2013.550933-22.8352L450.218667%20238.933333z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M619.281067%20290.952533h52.0192v78.0288h-52.0192z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhaogonghezi { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhaogonghezi%22%20viewBox%3D%220%200%201058%201024%22%3E%3Cpath%20d%3D%22M187.733333%201024h682.666667a170.666667%20170.666667%200%200%200%20170.666667-170.666667V170.666667a170.666667%20170.666667%200%200%200-170.666667-170.666667h-682.666667a170.666667%20170.666667%200%200%200-170.666666%20170.666667v682.666666a170.666667%20170.666667%200%200%200%20170.666666%20170.666667z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M273.066667%20377.856c0-10.001067%205.3248-19.217067%2013.994666-24.234667l41.847467-24.1664%20167.594667-96.733866%2041.8816-24.1664a27.921067%2027.921067%200%200%201%2027.921066%200l41.8816%2024.1664%20167.5264%2096.733866%2041.915734%2024.1664c8.635733%204.983467%2013.960533%2014.199467%2013.960533%2024.200534v268.356266a27.921067%2027.921067%200%200%201-13.9264%2024.1664l-9.5232%205.461334-241.834667%20139.639466a27.921067%2027.921067%200%200%201-27.921066%200l-41.915734-24.1664-199.953066-115.473066-9.489067-5.461334A27.921067%2027.921067%200%200%201%20273.066667%20646.178133v-268.356266z%20m55.842133%2037.410133v214.766934l195.515733%20112.878933v-214.801067l-195.515733-112.8448z%20m446.839467%200L580.266667%20528.042667v214.8352l195.4816-112.878934v-214.766933z%20m-223.402667-150.289066l-186.026667%20107.383466%20186.026667%20107.383467%20185.992533-107.383467-186.026666-107.383466z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shujutongji1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shujutongji1%22%20viewBox%3D%220%200%201058%201024%22%3E%3Cpath%20d%3D%22M17.066667%200m170.666666%200l682.666667%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666667%200q-170.666667%200-170.666666-170.666667l0-682.666666q0-170.666667%20170.666666-170.666667Z%22%20fill%3D%22%231989FA%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M397.755733%20702.5664c0%207.816533-6.3488%2014.2336-14.199466%2014.2336H321.194667a14.2336%2014.2336%200%200%201-14.199467-14.2336v-176.3328c0-7.816533%206.382933-14.2336%2014.199467-14.2336h62.3616c7.850667%200%2014.199467%206.382933%2014.199466%2014.2336v176.3328h0.034134z%20m181.4528%200c0%207.816533-6.3488%2014.199467-14.199466%2014.199467h-62.327467a14.2336%2014.2336%200%200%201-14.199467-14.199467V253.166933c0-7.816533%206.3488-14.2336%2014.199467-14.2336h62.327467c7.850667%200%2014.199467%206.382933%2014.199466%2014.2336v449.399467z%20m181.521067%200c0%207.816533-6.382933%2014.2336-14.199467%2014.2336h-62.3616a14.2336%2014.2336%200%200%201-14.199466-14.2336v-312.866133c0-7.816533%206.382933-14.2336%2014.165333-14.2336h62.395733c7.816533%200%2014.199467%206.382933%2014.199467%2014.2336v312.866133zM253.1328%20785.066667a14.2336%2014.2336%200%200%201-14.199467-14.2336v-17.032534c0-7.850667%206.382933-14.2336%2014.199467-14.2336h561.493333c7.714133%200%2014.1312%206.3488%2014.1312%2014.2336v17.032534c0%207.816533-6.382933%2014.2336-14.165333%2014.2336H253.1328z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daotian1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daotian1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M853.333333%200a170.666667%20170.666667%200%200%201%20170.666667%20170.666667v682.666666a170.666667%20170.666667%200%200%201-170.666667%20170.666667H170.666667a170.666667%20170.666667%200%200%201-170.666667-170.666667V170.666667a170.666667%20170.666667%200%200%201%20170.666667-170.666667h682.666666zM290.065067%20341.333333c-42.496%206.3488-80.759467%209.898667-114.824534%2010.717867l-14.336%200.170667v45.806933c11.195733%200%2022.186667-0.170667%2033.041067-0.512l16.145067-0.6144v32.6656H156.023467v45.806933h56.695466v207.2576h45.431467v-124.279466l34.542933%2019.899733v-53.691733l-34.542933-19.899734v-29.2864h39.048533v-45.806933H258.1504v-37.1712c11.6736-1.672533%2021.026133-3.072%2027.989333-4.232533l3.925334-0.648534V341.333333z%20m101.000533%20136.2944c-30.890667%203.925333-57.6512%206.144-80.2816%206.656l-9.454933%200.1024v192.989867h193.365333v-196.744533h-90.862933v40.174933h45.806933v34.9184h-43.178667v40.174933h43.178667v41.301334h-103.253333v-41.301334h41.301333v-40.174933h-41.301333v-33.041067c10.171733-0.8192%2020.206933-1.8432%2030.037333-3.003733l14.6432-1.877333v-40.174934z%20m459.195733-123.153066h-295.867733v318.395733h295.867733v-318.395733zM202.581333%20492.6464H167.287467c0%2052.770133-3.925333%20104.106667-11.776%20154.043733l-3.618134%2021.2992h37.1712c8.021333-46.4896%2012.458667-97.860267%2013.346134-154.043733l0.170666-21.2992z%20m475.716267%2043.178667v87.8592h-75.093333v-87.8592h75.093333z%20m123.153067%200v87.8592h-75.093334v-87.8592h75.093334z%20m-123.153067-132.164267v84.104533h-75.093333v-84.104533h75.093333z%20m123.153067%200v84.104533h-75.093334v-84.104533h75.093334z%20m-300.7488%201.501867h-43.178667l-13.141333%2061.576533h43.178666l13.141334-61.576533z%20m-151.688534%207.509333H305.083733l11.639467%2054.0672h43.9296l-11.639467-54.0672z%20m70.587734%200h-43.9296l9.762133%2054.0672h43.9296l-9.762133-54.0672zM493.568%20341.333333c-30.549333%205.0176-62.122667%208.772267-94.788267%2011.264-24.507733%201.877333-48.3328%203.072-71.509333%203.515734l-22.9376%200.238933v45.056a1142.784%201142.784%200%200%200%2096.119467-3.3792%20955.1872%20955.1872%200%200%200%2075.332266-8.635733l17.783467-3.003734V341.333333z%22%20fill%3D%22%23FF4300%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiniu { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiniu%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M849.92%200C945.493333%200%201024%2078.506667%201024%20174.08v675.84c0%2098.986667-78.506667%20174.08-174.08%20174.08H174.08C78.506667%201024%200%20945.493333%200%20849.92V174.08C0%2078.506667%2078.506667%200%20174.08%200h675.84z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M849.92%201024H174.08c-47.786667%200-92.16-17.066667-122.88-51.2S0%20897.706667%200%20849.92V174.08c0-47.786667%2017.066667-92.16%2051.2-122.88C85.333333%2017.066667%20129.706667%200%20174.08%200h675.84c47.786667%200%2092.16%2017.066667%20122.88%2051.2S1024%20126.293333%201024%20174.08v675.84c0%2047.786667-17.066667%2092.16-51.2%20122.88S897.706667%201024%20849.92%201024zM174.08%2017.066667C133.12%2017.066667%2092.16%2034.133333%2061.44%2061.44%2034.133333%2092.16%2017.066667%20133.12%2017.066667%20174.08v675.84c0%2040.96%2017.066667%2081.92%2044.373333%20112.64%2030.72%2030.72%2068.266667%2044.373333%20112.64%2044.373333h675.84c40.96%200%2081.92-17.066667%20112.64-44.373333s44.373333-68.266667%2044.373333-112.64V174.08c0-40.96-17.066667-81.92-44.373333-112.64-30.72-30.72-68.266667-44.373333-112.64-44.373333H174.08z%22%20fill%3D%22%23EEEEEE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M945.493333%20348.16c13.653333%2013.653333%2013.653333%2030.72%206.826667%2047.786667%200%200-10.24%2017.066667-23.893333%2030.72-13.653333%2013.653333-30.72%2023.893333-34.133334%2023.893333v10.24c0%2051.2-40.96%2095.573333-95.573333%2095.573333h-88.746667c0%2013.653333-3.413333%2027.306667-10.24%2037.546667v81.92c10.24%2010.24%2017.066667%2023.893333%2017.066667%2037.546667%200%2013.653333-13.653333%2027.306667-27.306667%2027.306666H648.533333v6.826667c0%2013.653333-13.653333%2027.306667-27.306666%2027.306667h-102.4c-20.48%200-37.546667-17.066667-37.546667-37.546667v-85.333333H409.6v23.893333c10.24%2010.24%2017.066667%2023.893333%2017.066667%2037.546667%200%2013.653333-13.653333%2027.306667-27.306667%2027.306666h-40.96v6.826667c0%2013.653333-13.653333%2027.306667-27.306667%2027.306667h-102.4c-20.48%200-37.546667-17.066667-37.546666-37.546667v-105.813333c-23.893333-17.066667-40.96-44.373333-44.373334-75.093334v-81.92-13.653333c-17.066667%203.413333-30.72%2020.48-30.72%2037.546667v23.893333c6.826667%206.826667%2010.24%2013.653333%2010.24%2023.893333v10.24c0%2017.066667-13.653333%2027.306667-27.306666%2027.306667s-30.72-13.653333-30.72-30.72v-10.24c0-10.24%203.413333-17.066667%2010.24-23.893333v-20.48c0-40.96%2030.72-71.68%2071.68-71.68h3.413333c10.24-30.72%2027.306667-58.026667%2051.2-78.506667%2027.306667-23.893333%2064.853333-37.546667%20102.4-37.546667h201.386667c23.893333-23.893333%2058.026667-37.546667%2095.573333-37.546666h20.48c10.24-13.653333%2027.306667-23.893333%2044.373333-30.72%2013.653333-3.413333%2027.306667-6.826667%2040.96-3.413334%206.826667%203.413333%2013.653333%200%2023.893334%200%2017.066667%200%2030.72%200%2047.786666%206.826667%206.826667%203.413333%2010.24%2010.24%2010.24%2017.066667s-3.413333%2013.653333-10.24%2017.066666c-10.24%203.413333-20.48%2010.24-23.893333%2020.48%203.413333%203.413333%206.826667%203.413333%2010.24%206.826667l68.266667%2058.026667c13.653333-6.826667%2023.893333%200%2037.546666-6.826667%206.826667-3.413333%2013.653333-10.24%2013.653334-10.24%2017.066667-17.066667%2040.96-13.653333%2058.026666%200z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M918.186667%20372.053333c3.413333%203.413333%200%203.413333%200%206.826667%200%200-6.826667%2017.066667-27.306667%2030.72-13.653333%2013.653333-37.546667%2017.066667-37.546667%2017.066667h-13.653333l-10.24-10.24v-13.653334l10.24-10.24s23.893333%200%2037.546667-6.826666c17.066667-6.826667%2027.306667-20.48%2027.306666-20.48%2010.24%206.826667%2013.653333%206.826667%2013.653334%206.826666z%22%20fill%3D%22%23FFE4CC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M860.16%20464.213333c0%2030.72-27.306667%2058.026667-58.026667%2058.026667h-105.813333c-3.413333%200-10.24%203.413333-13.653333%206.826667-3.413333%203.413333-6.826667%206.826667-6.826667%2013.653333v10.24c0%2017.066667-6.826667%2034.133333-17.066667%2047.786667-10.24%2013.653333-27.306667%2020.48-44.373333%2020.48-10.24%200-17.066667%2010.24-17.066667%2017.066666v85.333334c0%206.826667%203.413333%2010.24%206.826667%2013.653333%203.413333%200%203.413333%203.413333%206.826667%206.826667h-92.16s-3.413333%200-3.413334-3.413334v-102.4c0-10.24-6.826667-17.066667-17.066666-17.066666H324.266667c-10.24%200-17.066667%206.826667-17.066667%2017.066666v85.333334c0%206.826667%203.413333%2010.24%206.826667%2013.653333%203.413333%200%203.413333%203.413333%206.826666%206.826667H228.693333s-3.413333%200-3.413333-3.413334v-112.64c0-6.826667-3.413333-13.653333-10.24-17.066666-20.48-10.24-34.133333-30.72-34.133333-54.613334V477.866667c0-10.24%200-20.48%203.413333-27.306667%206.826667-30.72%2020.48-54.613333%2044.373333-71.68%2023.893333-20.48%2051.2-30.72%2078.506667-30.72h208.213333c3.413333%200%2010.24-3.413333%2013.653334-6.826667%2010.24-10.24%2020.48-17.066667%2034.133333-23.893333s27.306667-6.826667%2040.96-6.826667v6.826667c-3.413333%2010.24%203.413333%2020.48%2013.653333%2020.48h3.413334c6.826667%200%2013.653333-6.826667%2017.066666-13.653333%203.413333-17.066667%2017.066667-34.133333%2034.133334-40.96-3.413333%2010.24-6.826667%2020.48-10.24%2027.306666%200%2010.24%206.826667%2017.066667%2013.653333%2020.48%2010.24%200%2017.066667-6.826667%2020.48-13.653333%203.413333-17.066667%2010.24-30.72%2023.893333-40.96%203.413333%200%203.413333%200%206.826667-3.413333-6.826667%206.826667-10.24%2017.066667-13.653333%2027.306666-3.413333%2010.24%200%2020.48%2010.24%2023.893334%206.826667%203.413333%2013.653333%206.826667%2017.066666%2010.24%203.413333%200%2064.853333%2054.613333%2064.853334%2054.613333v3.413333c-6.826667%2013.653333-6.826667%2027.306667-3.413334%2040.96%203.413333%2013.653333%2013.653333%2023.893333%2027.306667%2030.72%206.826667%203.413333%2013.653333%206.826667%2023.893333%206.826667%200-3.413333%203.413333-3.413333%206.826667-6.826667z%22%20fill%3D%22%23CEC8C8%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M723.626667%20385.706667c10.24%200%2017.066667%206.826667%2017.066666%2017.066666s-6.826667%2017.066667-17.066666%2017.066667-17.066667-6.826667-17.066667-17.066667c-3.413333-6.826667%206.826667-17.066667%2017.066667-17.066666z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M679.253333%20709.973333h-44.373333v-58.026666c10.24-3.413333%2020.48-6.826667%2030.72-13.653334v51.2c0%206.826667%203.413333%2010.24%206.826667%2013.653334%203.413333%200%206.826667%203.413333%206.826666%206.826666z%20m-290.133333%200h-44.373333v-54.613333h30.72v34.133333c0%206.826667%203.413333%2010.24%206.826666%2013.653334%203.413333%200%203.413333%203.413333%206.826667%206.826666z%22%20fill%3D%22%23D2CDCE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M307.2%20395.946667c10.24%200%2017.066667%206.826667%2017.066667%2017.066666s-6.826667%2017.066667-17.066667%2017.066667c-20.48%200-37.546667%2013.653333-44.373333%2034.133333%200%2010.24-6.826667%2017.066667-13.653334%2017.066667h-3.413333c-10.24-3.413333-17.066667-13.653333-13.653333-23.893333%206.826667-34.133333%2040.96-61.44%2075.093333-61.44z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-daotian2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-daotian2%22%20viewBox%3D%220%200%202108%201024%22%3E%3Cpath%20d%3D%22M318.795294%201024V651.143529l103.634824%2059.693177v-161.099294l-103.604706-59.693177v-87.883294h117.157647V264.734118h-117.157647V153.208471c42.044235-6.023529%2073.938824-10.902588%2095.744-14.637177V0C268.860235%2021.775059%20139.685647%2032.677647%2027.045647%2032.677647v137.426824c50.296471%200%2099.508706-1.114353%20147.576471-3.373177V264.734118H12.348235v137.426823H182.512941V1024h136.312471z%20m138.541177-843.745882c93.906824%200.752941%20190.042353-2.650353%20288.406588-10.149647a2781.033412%202781.033412%200%200%200%20279.371294-34.936471V0c-91.617882%2015.028706-186.428235%2026.292706-284.431059%2033.792-98.002824%207.529412-192.451765%2011.264-283.316706%2011.264v135.198118z%20m549.767529%20196.005647l39.454118-184.741647h-129.566118l-39.454118%20184.741647h129.566118z%20m-380.777412%200l-34.906353-162.213647h-131.794823l34.93647%20162.213647h131.764706z%20m206.155294%200l-29.274353-162.213647h-131.794823l29.274353%20162.213647h131.794823z%20m196.035765%20631.958588v-590.305882h-272.624941v120.560941h137.426823v104.779294H763.783529v120.530823h129.536v123.904H583.529412V763.783529h123.934117v-120.530823h-123.934117v-99.147294a2440.131765%202440.131765%200%200%200%20134.053647-14.637177v-120.530823c-105.893647%2013.492706-195.644235%2020.269176-269.251765%2020.269176v579.011765H1028.517647z%20m-916.992-28.16C138.571294%20823.115294%20152.094118%20647.740235%20152.094118%20453.993412H46.200471c0%20181.007059-15.420235%20356.352-46.200471%20526.064941h111.525647z%20m1983.789177%2014.667294V39.424H1207.627294v955.301647H2095.284706zM1579.369412%20439.356235h-225.28V186.970353h225.28v252.325647z%20m369.483294%200h-225.28V186.970353h225.28v252.325647zM1579.369412%20847.119059h-225.28v-263.619765h225.28v263.619765z%20m369.483294%200h-225.28v-263.619765h225.28v263.619765z%22%20fill%3D%22%23FF4400%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-nazha1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-nazha1%22%20viewBox%3D%220%200%202168%201024%22%3E%3Cpath%20d%3D%22M260.156235%201024H0v-157.184h260.156235zM843.083294%20866.243765h180.766118v157.214117H898.108235zM358.912%200.090353h349.786353v104.508235H353.430588z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1023.608471%20104.508235h-232.658824V0h232.658824z%22%20fill%3D%22%23CE131C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1023.638588%20531.124706h-259.373176v-104.508235h259.373176z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M902.505412%201024V0.662588h121.072941V1024zM344.786824%20286.177882H700.837647v104.538353H340.028235zM331.414588%20572.295529h377.283765v104.508236H326.686118zM552.267294%20866.243765h156.431059v157.214117h-126.554353zM305.483294%20866.243765h156.400941v157.214117h-126.554353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M762.910118%200.090353l-49.513412%201023.337412h-110.019765V0.090353zM891.813647%200.090353l-54.211765%201023.337412H736.978824L786.492235%200.090353zM560.911059%200.090353l-22.799059%201023.337412h-174.471529L450.861176%200.090353zM330.631529%200.090353L283.467294%201023.427765H173.417412L220.581647%200.090353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M300.754824%200.090353L109.778824%20866.243765H0.512L190.735059%200.090353zM156.129882%200.090353L0.512%20742.851765V0.090353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1556.781176%200.090353h565.880471l-23.582118%20157.214118H1548.107294zM1535.548235%20433.152h521.09553l-24.395294%20157.214118H1528.470588zM1626.714353%20918.889412h355.267765l-16.504471%20104.538353H1621.985882z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1894.701176%200.090353l-153.238588%201023.337412h-232.658823L1757.967059%200.090353zM1383.454118%201024h-260.156236v-157.214118h260.156236z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1532.385882%200.090353l-47.947294%201023.337412h-129.686588L1401.916235%200.090353z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1423.149176%200.090353l-190.223058%20866.153412h-110.019765L1313.882353%200.090353zM1279.307294%200.090353l-156.400941%20742.761412V0.090353zM1990.625882%201023.427765L2146.243765%200.090353v1023.337412z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-xiniu1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-xiniu1%22%20viewBox%3D%220%200%201686%201024%22%3E%3Cpath%20d%3D%22M1662.023588%20209.251257c23.370607%2024.334343%2028.098938%2060.715391%2011.89612%2090.290051%200%200-18.280874%2033.730773-45.265492%2060.71539-25.810064%2025.810064-60.293756%2044.873974-61.799594%2045.596777a180.098232%20180.098232%200%200%201-178.893562%20199.613894H1219.427664a197.264786%20197.264786%200%200%201-20.358931%2074.087232v155.914473a98.602276%2098.602276%200%200%201%2030.719097%2071.617659c0%2028.309756-22.979089%2051.288844-51.258728%2051.288844h-75.23167c0.752919%204.698215%200.963736%209.245846%200.963737%2014.154878%200%2028.249522-23.009206%2051.258728-51.288845%2051.258728h-196.602217a72.731978%2072.731978%200%200%201-72.581395-72.581395v-162.118526h-136.669863v46.560513a98.602276%2098.602276%200%200%201%2030.719097%2071.647775c0%2028.249522-22.979089%2051.258728-51.258728%2051.258728h-75.201553c0.752919%204.728332%201.11432%209.245846%201.114321%2014.154878%200%2028.249522-22.979089%2051.258728-51.258728%2051.258727h-196.813035a72.731978%2072.731978%200%200%201-72.581395-72.581394v-197.746655a196.993735%20196.993735%200%200%201-84.628099-145.52419l-0.1807-157.570895c0-9.245846%200.391518-18.672392%201.325137-27.888121a70.172054%2070.172054%200%200%200-60.715391%2069.569718v44.271639c12.64904%209.998765%2020.931149%2025.448663%2020.931149%2042.765801v18.88321a54.300521%2054.300521%200%200%201-108.570924%200v-18.853093c0-17.347254%208.282109-32.82727%2020.931149-42.795918v-44.271639c0-75.593071%2061.438193-137.061381%20136.850563-137.06138h4.336814A312.190347%20312.190347%200%200%201%20262.015823%20210.395694a308.606453%20308.606453%200%200%201%20193.04844-68.06388h380.013294a261.082203%20261.082203%200%200%201%20178.893561-71.617659c12.438222%200%2024.876445%200.93362%2036.92315%202.620159A177.899709%20177.899709%200%200%201%201135.913885%2016.263051a177.990059%20177.990059%200%200%201%2078.996265-6.023352%20178.411694%20178.411694%200%200%201%20132.905267%205.661951c12.046705%205.421017%2019.786712%2017.527955%2019.575895%2030.899797a33.670539%2033.670539%200%200%201-20.358931%2030.357695c-19.395194%208.101409-35.98953%2021.684068-48.066351%2038.820506%206.41487%203.945296%2012.64904%208.131526%2018.491692%2012.649039l131.941531%20112.907738c24.334343-10.751684%2046.741213-2.469574%2070.503338-11.89612a104.595512%20104.595512%200%200%200%2033.369372-22.22617%2076.857975%2076.857975%200%200%201%20108.751625%201.867239z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1613.776536%20255.450369a10.179465%2010.179465%200%200%201%201.505838%2011.866004s-13.552543%2030.357695-52.222464%2061.438193c-28.821741%2023.189906-68.425282%2034.694509-68.425282%2034.694509-8.101409%202.830976-16.775036%202.258757-24.304226-1.505838a31.622599%2031.622599%200%200%201-16.202818-18.280874c-2.830976-8.131526-2.288874-16.564219%201.505839-24.304226%203.764595-7.52919%2010.179465-13.401959%2018.280874-16.232935%201.505838-0.572218%2042.223699-1.11432%2071.256257-12.257522C1578.118291%20278.278874%201599.440958%20255.088968%201599.440958%20255.088968a10.299932%2010.299932%200%200%201%2014.335578%200.391518z%22%20fill%3D%22%23FFE4CC%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1501.049499%20430.549219a113.239022%20113.239022%200%200%201-113.088439%20108.028823H1186.600394c-9.245846%200-17.527955%203.764595-23.551307%209.787947-6.023352%206.023352-9.818064%2014.335578-9.818064%2023.581424v18.853093a130.495927%20130.495927%200%200%201-35.055911%2089.145613%20131.821064%20131.821064%200%200%201-81.616423%2041.259963%2033.429605%2033.429605%200%200%200-29.815593%2033.218788v162.479927c0%2011.504603%205.872768%2022.045469%2015.660716%2028.279639%204.728332%203.011676%208.492927%206.956972%2011.143201%2011.685303h-177.207023a5.872768%205.872768%200%200%201-5.842652-5.842652V755.328373c0-18.491691-14.87768-33.369371-33.369371-33.369372H488.222817c-18.461575%200-33.369371%2014.87768-33.369372%2033.369372v161.365607c0%2011.474486%205.842652%2022.045469%2015.660716%2028.249522%204.698215%203.011676%208.46281%206.987089%2011.113085%2011.71542h-177.207023a5.872768%205.872768%200%200%201-5.842652-5.872769v-215.63601c0-12.046705-6.595571-23.370607-17.317137-29.213259a130.586277%20130.586277%200%200%201-67.491662-103.11979v-152.089645c0-18.310991%202.078057-36.772566%206.204052-54.511338a243.283198%20243.283198%200%200%201%2084.085998-133.628069%20238.70545%20238.70545%200%200%201%20151.186141-53.366901H848.9915c9.637364%200%2018.280874-4.125996%2024.304227-10.540867a194.16276%20194.16276%200%200%201%2065.052204-45.446193%20198.138172%20198.138172%200%200%201%2077.641011-16.022117c1.144437%200-0.752919%206.987089-1.505839%2010.390283a33.399488%2033.399488%200%200%200%2032.616453%2040.507044c15.269198%200%2029.032558-10.540866%2032.616452-26.020882a111.642834%20111.642834%200%200%201%2061.829711-76.888091%20183.350843%20183.350843%200%200%200-16.413635%2054.661921c-2.409341%2018.280874%2010.570983%2035.05591%2028.851858%2037.344784a33.218788%2033.218788%200%200%200%2037.344784-28.851857%20112.937855%20112.937855%200%200%201%2043.729537-75.050969c0.361401-0.180701%200.752919-0.180701%201.11432-0.361401a90.350284%2090.350284%200%200%201%2013.944061-3.975413%20180.098232%20180.098232%200%200%200-27.888121%2049.993824c-6.23417%2016.92562%202.439458%2035.778712%2019.214493%2042.374283%2012.438222%204.909032%2024.334343%2011.504603%2034.87521%2019.606012l0.572218%200.602335c4.336814%203.192377%20121.009147%20103.661892%20121.009147%20103.661892-0.903503%201.505838-1.686539%203.192377-2.439457%204.698215a98.813094%2098.813094%200%200%200-4.698215%2075.41237%2097.879474%2097.879474%200%200%200%2049.93359%2056.529161c13.94406%206.806388%2028.671157%2010.179465%2043.548837%2010.179465%205.661951%200%2011.143202-0.542102%2016.775036-1.505838z%22%20fill%3D%22%23CEC8C8%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1241.292433%20281.29055c19.425311%200%2035.236611%2015.8113%2035.23661%2035.236611%200%2019.395194-15.8113%2035.236611-35.23661%2035.236611-19.425311%200-35.236611-15.841416-35.236611-35.236611%200-19.606012%2015.8113-35.236611%2035.236611-35.236611z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1159.103791%20891.456134h-85.591835v-109.534661a200.005412%20200.005412%200%200%200%2058.818034-26.743684v96.313402c0%2011.504603%205.842652%2022.045469%2015.660716%2028.279639%204.698215%203.011676%208.46281%206.956972%2011.143202%2011.685304z%20m-552.130584%200H521.622305v-102.728273h58.818035v62.76333c0%2011.504603%205.842652%2022.045469%2015.660716%2028.279639%204.517514%203.011676%208.282109%206.956972%2010.902267%2011.685304z%22%20fill%3D%22%23D2CDCE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M455.064263%20299.179906c18.461575%200%2033.339255%2014.87768%2033.339255%2033.369372%200%2018.461575-14.87768%2033.369371-33.369372%2033.369371a85.049734%2085.049734%200%200%200-82.369342%2065.594307%2033.339255%2033.339255%200%200%201-32.405635%2025.810064%2025.870298%2025.870298%200%200%201-7.52919-0.93362%2033.128437%2033.128437%200%200%201-24.906562-39.964942c15.449899-67.853063%2077.490427-117.244552%20147.210729-117.244552z%22%20fill%3D%22%23663333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-bocai { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-bocai%22%20viewBox%3D%220%200%203329%201024%22%3E%3Cpath%20d%3D%22M1449.988042%200.063996h-143.606755a250.927847%20250.927847%200%200%201-238.128671%20238.12867v143.606756a391.078824%20391.078824%200%200%200%20140.27897-30.526035V1023.99808h130.16762a12.159217%2012.159217%200%200%200%2012.159218-12.159217V249.199958A392.422738%20392.422738%200%200%200%201449.924046%200.063996M1887.399884%20888.134826h-308.396147v-222.769659h436.96387v94.073944c0%2071.099423-57.596292%20128.631719-128.631719%20128.631719z%20m-308.396147-358.632913V306.604262h436.96387V529.565909h-436.96387v-0.063996z%20m518.686609-358.632913H1752.432572c32.573903-48.892853%2051.580679-107.641071%2051.58068-170.805004h-137.335159a170.996992%20170.996992%200%200%201-163.189495%20170.805004h-6.2076a60.540103%2060.540103%200%200%200-60.540103%2060.540103V963.329986c0%2033.469845%2027.134253%2060.604099%2060.540103%2060.604098h382.631368a278.382079%20278.382079%200%200%200%20278.382079-278.382079V231.409103a60.540103%2060.540103%200%200%200-60.604099-60.540103zM3314.508014%20170.869h-237.616704V0.063996h-141.878866v170.805004h-588.186136v140.27897h426.852522l-222.44968%20410.853551c-48.508877%2089.978208-98.16968%20109.112976-131.319547%20109.36896h-4.735695v144.118722c4.095736%200.191988%208.127477%200.511967%2012.223213%200.511967%2055.036457%200%20158.517795-20.606673%20233.200988-158.645787l274.222347-506.207413h0.191988v403.814004c0.063996%2081.08278-21.886591%20136.055241-63.611905%20158.965767l-4.159732%202.239856V1023.99808l9.535386-1.727889c96.697775-17.342884%20200.115118-98.809639%20200.115117-275.502264V311.083974h237.616704V170.869z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M1.889264%20618.008216a406.309844%20406.309844%200%200%201%2087.162388-255.215571A409.573634%20409.573634%200%200%201%20192.532991%20269.486652V163.253491A163.125499%20163.125499%200%200%200%2029.727471%200.063996H1.63328v615.44838h0.191988l0.063996%202.559836%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M556.733545%20455.010709L711.347592%20340.202099a405.541893%20405.541893%200%200%201%20106.87312%20287.469495%20405.349906%20405.349906%200%200%201-114.936601%20271.470524L552.189838%20780.10978%20548.862052%20782.861603a217.777981%20217.777981%200%200%200%2019.390752-316.395632s-8.831431-8.959423-11.519259-11.327271%22%20fill%3D%22%2300D000%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M409.671013%201023.99808a404.325972%20404.325972%200%200%201-252.463748-87.546364%20408.933675%20408.933675%200%200%201-68.155613-573.659071%20406.37384%20406.37384%200%200%201%20321.259319-155.829968c92.346055%200%20179.57244%2030.334047%20252.335756%2087.61036%2017.534871%2013.759114%2033.917817%2028.990134%2048.892853%2045.437075L556.66955%20455.074705a215.154149%20215.154149%200%200%200-119.480309-55.420433%20217.138022%20217.138022%200%200%200-208.050607%2094.969887c-62.843954%2093.433985-42.109289%20222.385684%2046.397014%20291.949205%2038.717508%2030.398043%2085.114521%2046.461009%20134.327352%2046.461009a216.306075%20216.306075%200%200%200%20142.326838-52.860597l151.542244%20119.288321A406.181852%20406.181852%200%200%201%20409.671013%201023.99808z%22%20fill%3D%22%23027AFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuchangtong1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuchangtong1%22%20viewBox%3D%220%200%203824%201024%22%3E%3Cpath%20d%3D%22M0%20719.570824h357.225412v-98.725648H0z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M435.561412%200.752941H61.982118v98.243765h243.952941v290.153412H191.367529V120.440471H62.042353V487.875765h358.008471v273.287529s-7.920941%20116.374588-72.222118%20185.012706l116.615529%2063.789176s85.473882-94.930824%2085.473883-248.771764V389.12h-114.05553V0.752941h-0.271059zM946.688%20487.905882h175.826824v-98.785882h-175.826824V219.196235h175.826824v-98.785882h-533.082353v98.785882h195.222588v169.923765h-195.192471v98.785882h195.192471v359.243294h-205.673412v99.026824h553.984v-99.026824h-186.277647zM1595.843765%200.752941h-162.032941v253.891765h-108.182589v98.785882h108.182589v493.748706h-108.182589v98.996706h378.669177v-98.996706h-108.453647V353.400471h108.423529V254.674824h-108.423529zM958.433882%20105.110588l-23.491764-104.357647h-162.032942l23.491765%20104.357647zM1815.280941%20656.323765s4.577882%20118.874353-33.430588%20182.663529l116.856471%2063.789177s49.272471-50.266353%2046.20047-246.452706V389.12h-129.626353v267.143529zM2073.750588%20656.323765s4.638118%20118.874353-33.430588%20182.663529l116.916706%2063.789177s49.212235-50.266353%2046.140235-246.452706V389.12h-129.626353v267.143529z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M2299.602824%20254.674824h-252.867765l252.867765-155.407059V0.512H1750.467765v98.755765h252.084706l-252.084706%20155.407059v98.755764h549.135059v407.762824s0%20120.922353-72.222118%20184.982588L2369.536%201024s90.051765-70.896941%2092.099765-257.204706h0.240941V254.644706h-162.273882zM2899.004235%20140.589176L2867.621647%200.752941%202696.884706%200l31.412706%20139.836235zM3083.474824%20825.735529s40.327529-44.152471%2045.68847-210.251294h156.16v146.462118h129.626353v-146.462118h155.136c-1.807059%2040.297412-8.432941%20104.869647-33.159529%20146.462118l116.85647%2064.030118s46.200471-50.507294%2046.200471-246.753883V205.402353H3506.567529l106.405647-106.405647V0.240941H3087.058824v98.785883h386.319058l-88.786823%2088.786823-40.83953-40.839529-58.428235%2058.428235h-285.033412v373.820235s4.608%20118.934588-33.430588%20182.723765l116.61553%2063.789176z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3028.359529%20844.860235s-78.095059-5.360941-130.891294-46.682353c0.752941-10.962824%201.264941-22.467765%201.264941-34.454588h0.301177V252.084706h-202.149647v98.785882h40.05647v407.762824s0%20120.952471-72.192%20184.982588l142.125177%2077.824s43.399529-33.912471%2070.686118-116.856471a310.994824%20310.994824%200%200%200%20151.070117%2039.032471h769.325177v-98.755765h-769.596236z%22%20fill%3D%22%2300BEBE%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M3129.645176%20358.520471h155.407059v-54.362353h-155.407059zM3414.708706%20358.520471h155.407059v-54.362353h-155.407059zM3414.708706%20516.969412h155.407059v-59.693177h-155.407059zM3129.675294%20516.728471h155.407059v-59.723295h-155.407059z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-yinhangka2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-yinhangka2%22%20viewBox%3D%220%200%201066%201024%22%3E%3Cpath%20d%3D%22M875.946667%2042.666667H171.946667c-64%200-115.2%2059.733333-115.2%20136.533333v661.333333c0%2081.066667%2051.2%20140.8%20115.2%20140.8h704c64%200%20119.466667-59.733333%20119.466666-136.533333V179.2c0-76.8-51.2-136.533333-119.466666-136.533333z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H171.946667c-38.4%200-72.533333-38.4-72.533334-81.066667V179.2c0-46.933333%2029.866667-81.066667%2072.533334-81.066667h704c38.4%200%2068.266667%2038.4%2068.266666%2081.066667v665.6zM69.546667%20388.266667h900.266666V332.8H69.546667v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M880.213333%20989.866667H176.213333c-72.533333%200-128-68.266667-128-149.333334V179.2c0-81.066667%2055.466667-149.333333%20128-149.333333h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c0%2085.333333-59.733333%20149.333333-128%20149.333334z%20m-810.666666-588.8v443.733333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H176.213333c-59.733333%200-106.666667%2055.466667-106.666666%20128v140.8h25.6V179.2c0-51.2%2034.133333-93.866667%2081.066666-93.866667h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v140.8h17.066667v76.8h-17.066667v443.733333c0%2051.2-38.4%2093.866667-81.066667%2093.866667H176.213333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V401.066667h-25.6z%20m46.933333%200v443.733333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533333h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533333V401.066667H116.48z%20m0-21.333334h823.466667v-34.133333H116.48v34.133333z%20m-38.4%200h12.8v-34.133333h-12.8v34.133333z%20m38.4-55.466666h823.466667V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H176.213333c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v145.066667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M581.546667%20682.666667h260.266666v-46.933334h-260.266666z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M837.546667%20695.466667h-256c-8.533333%200-12.8-4.266667-12.8-12.8v-46.933334c0-8.533333%204.266667-12.8%2012.8-12.8h256c8.533333%200%2012.8%204.266667%2012.8%2012.8V682.666667c0%204.266667-4.266667%2012.8-12.8%2012.8z%20m-243.2-25.6h230.4v-21.333334h-234.666667v21.333334z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhengjian1 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhengjian1%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M861.866667%2042.666667H162.133333C93.866667%2042.666667%2042.666667%20102.4%2042.666667%20179.2v661.333333C42.666667%20921.6%2093.866667%20981.333333%20162.133333%20981.333333h704c64%200%20119.466667-59.733333%20119.466667-136.533333V179.2C981.333333%20102.4%20930.133333%2042.666667%20861.866667%2042.666667z%20m72.533333%20802.133333c0%2046.933333-29.866667%2081.066667-68.266667%2081.066667H162.133333c-38.4%200-68.266667-38.4-68.266666-81.066667V179.2c0-46.933333%2029.866667-81.066667%2068.266666-81.066667h704c38.4%200%2068.266667%2038.4%2068.266667%2081.066667v665.6zM192%20733.866667h217.6v-55.466667H187.733333l4.266667%2055.466667z%20m-4.266667-196.266667h221.866667v-55.466667H187.733333v55.466667z%20m0-192h221.866667V290.133333H187.733333v55.466667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M861.866667%20989.866667H162.133333c-72.533333%200-128-68.266667-128-149.333334V179.2C34.133333%2098.133333%2089.6%2029.866667%20162.133333%2029.866667h704c72.533333%200%20128%2068.266667%20128%20149.333333v661.333333c-4.266667%2085.333333-59.733333%20149.333333-132.266666%20149.333334zM162.133333%2051.2c-59.733333%200-106.666667%2055.466667-106.666666%20128v661.333333c0%2068.266667%2046.933333%20128%20106.666666%20128h704c59.733333%200%20106.666667-55.466667%20106.666667-128V179.2c0-68.266667-46.933333-128-106.666667-128H162.133333zM861.866667%20938.666667H162.133333c-42.666667%200-81.066667-42.666667-81.066666-93.866667V179.2C81.066667%20128%20115.2%2085.333333%20162.133333%2085.333333h704c42.666667%200%2081.066667%2042.666667%2081.066667%2093.866667v661.333333c0%2055.466667-38.4%2098.133333-85.333333%2098.133334zM162.133333%20106.666667c-34.133333%200-59.733333%2034.133333-59.733333%2072.533333v661.333333c0%2038.4%2025.6%2072.533333%2059.733333%2072.533334h704c34.133333%200%2059.733333-34.133333%2059.733334-72.533334V179.2c0-38.4-25.6-72.533333-59.733334-72.533333H162.133333z%20m260.266667%20635.733333H183.466667l-4.266667-76.8h243.2v76.8z%20m-217.6-21.333333h196.266667v-34.133334H200.533333l4.266667%2034.133334z%20m217.6-170.666667H179.2v-76.8h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%20m221.866667-170.666667H179.2V281.6h243.2v76.8z%20m-221.866667-21.333333h200.533334v-34.133334H200.533333v34.133334z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M759.466667%20601.6c29.866667-25.6%2046.933333-59.733333%2046.933333-102.4%200-72.533333-59.733333-136.533333-132.266667-136.533333s-132.266667%2059.733333-132.266666%20136.533333c0%2042.666667%2017.066667%2076.8%2046.933333%20102.4-59.733333%2029.866667-102.4%2093.866667-102.4%20166.4%200%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333%2059.733333-136.533333%20132.266667-136.533333S810.666667%20691.2%20810.666667%20768c0%2012.8%2012.8%2025.6%2025.6%2025.6s25.6-12.8%2025.6-25.6c0-72.533333-42.666667-136.533333-102.4-166.4z%20m-81.066667-21.333333c-42.666667%200-81.066667-34.133333-81.066667-81.066667s34.133333-81.066667%2081.066667-81.066667%2081.066667%2034.133333%2081.066667%2081.066667-38.4%2081.066667-81.066667%2081.066667z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M836.266667%20802.133333c-21.333333%200-34.133333-17.066667-34.133334-34.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733333%20128%200%2021.333333-17.066667%2034.133333-34.133334%2034.133333-21.333333%200-34.133333-17.066667-34.133333-34.133333%200-68.266667%2034.133333-132.266667%2093.866667-166.4-25.6-25.6-42.666667-64-42.666667-102.4%200-81.066667%2064-145.066667%20140.8-145.066667s140.8%2064%20140.8%20145.066667c0%2038.4-17.066667%2072.533333-42.666667%20102.4%2059.733333%2034.133333%2093.866667%2098.133333%2093.866667%20166.4%200%2017.066667-17.066667%2034.133333-34.133333%2034.133333z%20m-162.133334-179.2c76.8%200%20140.8%2064%20140.8%20145.066667%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s21.333333-8.533333%2021.333333-17.066667c0-68.266667-38.4-128-98.133333-157.866667l-12.8-4.266666%208.533333-8.533334c29.866667-25.6%2042.666667-59.733333%2042.666667-98.133333%200-68.266667-55.466667-128-123.733333-128-68.266667%200-123.733333%2055.466667-123.733334%20128%200%2038.4%2017.066667%2072.533333%2042.666667%2098.133333l8.533333%208.533334c-59.733333%2029.866667-98.133333%2093.866667-98.133333%20157.866666%200%208.533333%208.533333%2017.066667%2017.066667%2017.066667s17.066667-8.533333%2017.066666-17.066667c0-76.8%2064-140.8%20140.8-140.8z%20m0-34.133333c-46.933333%200-89.6-38.4-89.6-89.6%200-51.2%2038.4-89.6%2089.6-89.6s89.6%2038.4%2089.6%2089.6c0%2046.933333-38.4%2089.6-89.6%2089.6z%20m0-162.133333c-38.4%200-72.533333%2034.133333-72.533333%2072.533333%200%2038.4%2029.866667%2072.533333%2072.533333%2072.533333s72.533333-34.133333%2072.533334-72.533333c0-42.666667-29.866667-72.533333-72.533334-72.533333z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-dizhiben3 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-dizhiben3%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M838.784%2032.853333c60.16%200%20108.885333%2048.256%20108.885333%20107.818667v742.826667c0%2059.52-48.725333%20107.818667-108.885333%20107.818666H185.301333c-60.16%200-108.928-48.298667-108.928-107.861333V140.672C76.373333%2081.109333%20125.141333%2032.853333%20185.301333%2032.853333h653.482667zM228.864%2098.218667H185.301333c-24.064%200-43.562667%2016.341333-43.562666%2036.522666v754.688c0%2020.181333%2019.498667%2036.522667%2043.52%2036.522667h43.605333v-827.733333z%20m65.322667%200v825.258666h547.328a36.522667%2036.522667%200%200%200%2036.48-35.925333V134.741333a36.522667%2036.522667%200%200%200-36.48-36.522666H294.186667z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M579.541333%20284.458667c105.898667%200%20191.701333%2088.234667%20191.701334%20197.077333a199.381333%20199.381333%200%200%201-52.352%20135.338667l-3.797334%204.010666-101.162666%20104.064c-17.493333%2017.962667-45.653333%2019.285333-64.682667%203.669334l-3.584-3.2-101.632-104.533334-3.84-4.010666a199.424%20199.424%200%200%201-52.309333-135.338667c0-108.842667%2085.802667-197.12%20191.658666-197.12z%20m0%2071.850666c-65.706667%200-119.808%2055.637333-119.808%20125.226667%200%2030.72%2010.538667%2059.434667%2028.714667%2081.365333l4.010667%204.608%203.072%203.285334%2084.053333%2086.357333%2083.285333-85.632%203.114667-3.285333a127.488%20127.488%200%200%200%2033.365333-86.698667c0-69.589333-54.058667-125.226667-119.808-125.226667z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-shezhi2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-shezhi2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M994.133333%20422.4c-4.266667-17.066667-12.8-29.866667-25.6-34.133333l-55.466666-25.6c-46.933333-21.333333-76.8-72.533333-72.533334-123.733334l8.533334-59.733333c0-17.066667-4.266667-29.866667-17.066667-38.4-42.666667-38.4-93.866667-68.266667-153.6-89.6-12.8-4.266667-29.866667-4.266667-42.666667%208.533333l-55.466666%2038.4c-21.333333%2017.066667-46.933333%2021.333333-72.533334%2021.333334s-51.2-8.533333-72.533333-21.333334L388.266667%2051.2c-12.8-8.533333-29.866667-12.8-42.666667-4.266667-55.466667%2017.066667-106.666667%2051.2-153.6%2089.6-12.8%208.533333-17.066667%2025.6-12.8%2038.4l8.533333%2064c0%2051.2-25.6%20102.4-76.8%20123.733334l-55.466666%2025.6c-12.8%204.266667-21.333333%2021.333333-25.6%2034.133333-4.266667%2029.866667-8.533333%2059.733333-8.533334%2089.6s4.266667%2059.733333%208.533334%2089.6c4.266667%2017.066667%2012.8%2029.866667%2025.6%2034.133333l55.466666%2025.6c46.933333%2021.333333%2076.8%2072.533333%2072.533334%20123.733334l-8.533334%2064c0%2012.8%204.266667%2029.866667%2017.066667%2038.4%2042.666667%2038.4%2093.866667%2068.266667%20153.6%2089.6%2012.8%204.266667%2029.866667%204.266667%2042.666667-8.533334l55.466666-38.4c21.333333-17.066667%2046.933333-21.333333%2072.533334-21.333333s51.2%208.533333%2072.533333%2021.333333l55.466667%2038.4c12.8%208.533333%2029.866667%2012.8%2042.666666%208.533334%2055.466667-21.333333%20106.666667-51.2%20153.6-89.6%2012.8-8.533333%2017.066667-25.6%2017.066667-38.4l-8.533333-59.733334c-4.266667-51.2%2021.333333-102.4%2072.533333-123.733333l55.466667-25.6c12.8-4.266667%2025.6-21.333333%2025.6-34.133333%204.266667-29.866667%208.533333-59.733333%208.533333-89.6-8.533333-34.133333-12.8-64-17.066667-93.866667z%20m-46.933333%20170.666667l-55.466667%2025.6c-68.266667%2029.866667-106.666667%2098.133333-98.133333%20174.933333l8.533333%2059.733333c-38.4%2034.133333-85.333333%2064-136.533333%2081.066667l-51.2-38.4c-25.6-17.066667-51.2-29.866667-85.333333-34.133333-42.666667-4.266667-85.333333%204.266667-119.466667%2029.866666l-55.466667%2038.4c-46.933333-17.066667-93.866667-46.933333-136.533333-81.066666l8.533333-59.733334c8.533333-72.533333-34.133333-145.066667-98.133333-174.933333l-55.466667-25.6c-4.266667-25.6-8.533333-55.466667-8.533333-81.066667%200-25.6%204.266667-51.2%208.533333-81.066666L128%20401.066667c68.266667-29.866667%20106.666667-98.133333%2098.133333-174.933334V170.666667c38.4-34.133333%2085.333333-64%20136.533334-81.066667l46.933333%2038.4c25.6%2017.066667%2051.2%2029.866667%2085.333333%2034.133333%2042.666667%204.266667%2085.333333-4.266667%20119.466667-29.866666l55.466667-38.4c46.933333%2017.066667%2093.866667%2046.933333%20136.533333%2081.066666l-8.533333%2059.733334c-8.533333%2072.533333%2034.133333%20145.066667%2098.133333%20174.933333l55.466667%2025.6c4.266667%2025.6%208.533333%2055.466667%208.533333%2081.066667-4.266667%2021.333333-8.533333%2046.933333-12.8%2076.8z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M358.4%20994.133333c-8.533333%200-12.8%200-17.066667-4.266666-59.733333-21.333333-110.933333-51.2-157.866666-93.866667-12.8-12.8-21.333333-29.866667-21.333334-51.2l8.533334-59.733333c4.266667-46.933333-21.333333-93.866667-64-110.933334l-55.466667-25.6c-17.066667-8.533333-29.866667-25.6-34.133333-46.933333-4.266667-29.866667-8.533333-59.733333-8.533334-89.6%200-29.866667%204.266667-59.733333%208.533334-89.6%204.266667-21.333333%2017.066667-38.4%2034.133333-46.933333l55.466667-25.6c42.666667-21.333333%2068.266667-64%2064-110.933334l-4.266667-59.733333c-4.266667-21.333333%204.266667-42.666667%2017.066667-51.2C230.4%2085.333333%20281.6%2055.466667%20341.333333%2034.133333c17.066667-8.533333%2038.4-4.266667%2051.2%208.533334l55.466667%2038.4c38.4%2025.6%2089.6%2025.6%20128%200l51.2-38.4c17.066667-12.8%2034.133333-12.8%2055.466667-8.533334%2059.733333%2021.333333%20110.933333%2051.2%20157.866666%2093.866667%2012.8%2012.8%2021.333333%2029.866667%2021.333334%2051.2L853.333333%20238.933333c-4.266667%2046.933333%2021.333333%2093.866667%2064%20110.933334l55.466667%2025.6c17.066667%208.533333%2029.866667%2025.6%2034.133333%2046.933333%204.266667%2029.866667%208.533333%2059.733333%208.533334%2089.6%200%2029.866667-4.266667%2059.733333-8.533334%2089.6-4.266667%2021.333333-17.066667%2038.4-34.133333%2046.933333l-55.466667%2025.6c-42.666667%2021.333333-68.266667%2064-64%20110.933334l8.533334%2059.733333c0%2021.333333-4.266667%2038.4-21.333334%2051.2-46.933333%2042.666667-98.133333%2072.533333-157.866666%2093.866667-17.066667%208.533333-38.4%204.266667-55.466667-8.533334l-55.466667-38.4c-38.4-25.6-89.6-25.6-128%200l-46.933333%2038.4c-12.8%208.533333-25.6%2012.8-38.4%2012.8z%20m0-938.666666h-8.533333c-55.466667%2021.333333-106.666667%2051.2-149.333334%2089.6-8.533333%208.533333-12.8%2017.066667-8.533333%2029.866666l8.533333%2064c4.266667%2055.466667-29.866667%20110.933333-81.066666%20136.533334l-55.466667%2025.6c-12.8%204.266667-21.333333%2012.8-21.333333%2025.6-4.266667%2029.866667-8.533333%2055.466667-8.533334%2085.333333s4.266667%2055.466667%208.533334%2085.333333c0%2012.8%208.533333%2021.333333%2021.333333%2025.6l55.466667%2025.6c55.466667%2025.6%2085.333333%2081.066667%2081.066666%20136.533334l-8.533333%2064c0%2012.8%204.266667%2021.333333%2012.8%2029.866666%2042.666667%2038.4%2093.866667%2068.266667%20149.333333%2089.6%208.533333%204.266667%2021.333333%200%2029.866667-4.266666l55.466667-38.4c46.933333-34.133333%20110.933333-34.133333%20157.866666%200l55.466667%2038.4c8.533333%208.533333%2021.333333%208.533333%2029.866667%204.266666%2055.466667-21.333333%20102.4-51.2%20149.333333-89.6%208.533333-8.533333%2012.8-17.066667%2012.8-29.866666l-8.533333-59.733334c-8.533333-59.733333%2025.6-115.2%2081.066666-136.533333l55.466667-25.6c8.533333-4.266667%2017.066667-12.8%2021.333333-25.6%204.266667-29.866667%208.533333-55.466667%208.533334-85.333333s-4.266667-55.466667-8.533334-85.333334c0-12.8-8.533333-21.333333-21.333333-25.6l-55.466667-25.6c-55.466667-25.6-85.333333-81.066667-81.066666-136.533333l8.533333-59.733333c0-12.8-4.266667-21.333333-12.8-29.866667-42.666667-38.4-93.866667-68.266667-149.333333-89.6-8.533333-4.266667-21.333333%200-29.866667%204.266667l-55.466667%2038.4c-46.933333%2034.133333-110.933333%2034.133333-157.866666%200l-59.733334-42.666667c-4.266667-4.266667-12.8-8.533333-21.333333-8.533333z%20m4.266667%20891.733333l-8.533334-4.266667C302.933333%20925.866667%20256%20896%20217.6%20861.866667l-4.266667-4.266667%208.533334-68.266667c8.533333-68.266667-29.866667-132.266667-93.866667-162.133333l-59.733333-25.6v-8.533333c-4.266667-29.866667-8.533333-55.466667-8.533334-81.066667s4.266667-55.466667%208.533334-81.066667v-8.533333L128%20396.8c64-25.6%2098.133333-93.866667%2093.866667-162.133333l-12.8-68.266667%204.266666-4.266667C256%20128%20302.933333%2098.133333%20354.133333%2081.066667l8.533334-4.266667%2055.466666%2038.4c25.6%2017.066667%2051.2%2029.866667%2076.8%2034.133333%2038.4%204.266667%2076.8-4.266667%20106.666667-29.866666l59.733333-42.666667%208.533334%204.266667C721.066667%2098.133333%20768%20128%20810.666667%20162.133333l4.266666%204.266667-8.533333%2068.266667c-8.533333%2068.266667%2029.866667%20132.266667%2093.866667%20162.133333l59.733333%2025.6v8.533333c4.266667%2029.866667%208.533333%2055.466667%208.533333%2081.066667%200%2025.6-4.266667%2055.466667-8.533333%2081.066667v8.533333l-64%2025.6c-64%2025.6-98.133333%2093.866667-93.866667%20162.133333l8.533334%2068.266667-4.266667%204.266667c-42.666667%2034.133333-89.6%2064-140.8%2081.066666l-8.533333%204.266667-55.466667-38.4c-25.6-17.066667-51.2-29.866667-76.8-34.133333-38.4-4.266667-76.8%204.266667-106.666667%2029.866666l-55.466666%2042.666667z%20m149.333333-98.133333h21.333333c29.866667%204.266667%2059.733333%2017.066667%2089.6%2038.4l42.666667%2034.133333c42.666667-17.066667%2085.333333-42.666667%20119.466667-72.533333l-4.266667-55.466667c-8.533333-81.066667%2034.133333-153.6%20106.666667-187.733333l51.2-21.333334c4.266667-25.6%204.266667-46.933333%204.266666-72.533333%200-21.333333%200-46.933333-4.266666-72.533333l-51.2-21.333334c-72.533333-34.133333-115.2-106.666667-106.666667-187.733333l4.266667-55.466667c-38.4-29.866667-76.8-55.466667-119.466667-72.533333l-46.933333%2034.133333c-38.4%2025.6-81.066667%2038.4-128%2034.133334-29.866667%200-59.733333-12.8-89.6-34.133334l-42.666667-34.133333c-42.666667%2017.066667-85.333333%2042.666667-119.466667%2072.533333l4.266667%2055.466667c8.533333%2081.066667-34.133333%20153.6-106.666667%20187.733333l-51.2%2021.333334c-4.266667%2025.6-4.266667%2046.933333-4.266666%2072.533333s0%2046.933333%204.266666%2072.533333l51.2%2021.333334c72.533333%2034.133333%20115.2%20106.666667%20106.666667%20187.733333l-4.266667%2055.466667c34.133333%2029.866667%2076.8%2055.466667%20119.466667%2072.533333l46.933333-34.133333c29.866667-29.866667%2068.266667-38.4%20106.666667-38.4z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M512%20721.066667c-115.2%200-204.8-93.866667-204.8-204.8%200-115.2%2093.866667-204.8%20204.8-204.8%20115.2%200%20204.8%2093.866667%20204.8%20204.8%200%20110.933333-89.6%20204.8-204.8%20204.8z%20m0-332.8c-72.533333%200-128%2059.733333-128%20128s59.733333%20128%20128%20128%20128-55.466667%20128-128-55.466667-128-128-128z%22%20fill%3D%22%23A43F3F%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zhuanfa2 { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zhuanfa2%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M40.011337%201024A40.009143%2040.009143%200%200%201%200.002194%20984.064C-0.948663%20443.538286%20327.170194%20238.299429%20519.682194%20210.651429V40.009143a40.009143%2040.009143%200%200%201%2067.437715-29.110857l424.301714%20400.237714a40.009143%2040.009143%200%200%201%200%2058.221714l-424.228572%20400.237715a40.009143%2040.009143%200%201%201-67.437714-29.110858l-0.073143-165.522285c-150.820571%2017.188571-341.138286%20128.950857-444.123428%20327.460571A40.082286%2040.082286%200%200%201%2040.011337%201024zM599.70048%20132.754286V247.222857a39.936%2039.936%200%200%201-39.277714%2040.009143c-55.222857%200.950857-177.883429%2032.182857-287.890286%20142.628571-99.035429%2099.474286-161.353143%20238.738286-183.515429%20407.478858%20137.874286-167.277714%20328.850286-244.662857%20470.674286-244.662858%2022.089143%200%2040.009143%2017.92%2040.009143%2039.936v115.126858l325.997714-307.492572-325.997714-307.565714z%22%20fill%3D%22%23333333%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} + +.t-icon-zidongtonggao { + background: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20width%3D%27100%25%27%20height%3D%27100%25%27%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22t-icon-zidongtonggao%22%20viewBox%3D%220%200%201024%201024%22%3E%3Cpath%20d%3D%22M0%200m170.666667%200l682.666666%200q170.666667%200%20170.666667%20170.666667l0%20682.666666q0%20170.666667-170.666667%20170.666667l-682.666666%200q-170.666667%200-170.666667-170.666667l0-682.666666q0-170.666667%20170.666667-170.666667Z%22%20fill%3D%22%23E4000C%22%20%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M751.342933%20588.9024c23.893333-108.032-27.716267-218.7264-125.44-268.970667A115.677867%20115.677867%200%200%200%20512%20221.866667a115.677867%20115.677867%200%200%200-113.902933%2098.065066A247.739733%20247.739733%200%200%200%20266.922667%20538.282667c0.170667%2017.066667%202.116267%2034.030933%205.768533%2050.653866a116.872533%20116.872533%200%200%200-49.7664%20112.264534%20116.155733%20116.155733%200%200%200%2077.7216%2094.685866%20114.5856%20114.5856%200%200%200%20118.510933-28.501333%20240.64%20240.64%200%200%200%20185.412267%200%20114.5856%20114.5856%200%200%200%20118.510933%2028.8768%20116.155733%20116.155733%200%200%200%2077.960534-94.651733%20116.872533%20116.872533%200%200%200-49.698134-112.366934v-0.3072zM512%20276.2752c31.8464%200%2057.685333%2026.077867%2057.685333%2058.231467s-25.838933%2058.197333-57.685333%2058.197333c-31.8464%200-57.685333-26.043733-57.685333-58.197333%200-15.4624%206.109867-30.242133%2016.930133-41.1648%2010.786133-10.922667%2025.463467-17.066667%2040.7552-17.066667zM339.012267%20742.058667c-31.8464%200-57.685333-26.077867-57.685334-58.231467s25.838933-58.197333%2057.685334-58.197333c31.8464%200%2057.685333%2026.043733%2057.685333%2058.197333%200%2032.1536-25.838933%2058.231467-57.685333%2058.231467z%20m110.148266-25.941334a117.418667%20117.418667%200%200%200%205.188267-32.290133c0-64.3072-51.643733-116.4288-115.370667-116.4288a111.684267%20111.684267%200%200%200-12.0832%200%20189.6448%20189.6448%200%200%201%2080.145067-185.412267%20115.268267%20115.268267%200%200%200%20105.130667%2068.471467%20115.268267%20115.268267%200%200%200%20105.0624-68.471467%20188.8256%20188.8256%200%200%201%2082.193066%20156.330667c-0.136533%209.728-1.024%2019.456-2.594133%2029.0816a111.684267%20111.684267%200%200%200-11.810133%200c-63.726933%200-115.370667%2052.1216-115.370667%20116.4288%200.238933%2010.9568%201.979733%2021.845333%205.2224%2032.324267a191.1808%20191.1808%200%200%201-125.713067%200z%20m235.861334%2025.941334c-31.8464%200-57.685333-26.077867-57.685334-58.231467s25.838933-58.197333%2057.685334-58.197333c31.8464%200%2057.685333%2026.043733%2057.685333%2058.197333%200%2032.1536-25.838933%2058.231467-57.685333%2058.231467z%22%20fill%3D%22%23FFFFFF%22%20%3E%3C%2Fpath%3E%3C%2Fsvg%3E); +} diff --git a/assets/iconfont/iconfont.wxss b/assets/iconfont/iconfont.wxss new file mode 100644 index 0000000..869a5d3 --- /dev/null +++ b/assets/iconfont/iconfont.wxss @@ -0,0 +1,1294 @@ +@font-face { + font-family: "iconfont"; /* Project id 2708790 */ + src: url('//at.alicdn.com/t/c/font_2708790_wf39q5p5n5.woff2?t=1695172930420') format('woff2'), + url('//at.alicdn.com/t/c/font_2708790_wf39q5p5n5.woff?t=1695172930420') format('woff'), + url('//at.alicdn.com/t/c/font_2708790_wf39q5p5n5.ttf?t=1695172930420') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-jiaobiao:before { + content: "\e8e6"; +} + +.icon-retui:before { + content: "\e8e5"; +} + +.icon-shangjiahoutai:before { + content: "\e8e0"; +} + +.icon-daohang:before { + content: "\e8df"; +} + +.icon-shoucang:before { + content: "\e8dd"; +} + +.icon-yishoucang:before { + content: "\e8de"; +} + +.icon-huadong:before { + content: "\e8dc"; +} + +.icon-shaixuan4:before { + content: "\e8db"; +} + +.icon-shenfenzheng1:before { + content: "\e8da"; +} + +.icon-paizhao3:before { + content: "\e8d9"; +} + +.icon-zizhushangchuan:before { + content: "\e8d5"; +} + +.icon-shoudongshuru:before { + content: "\e8d6"; +} + +.icon-shuashenfenzheng:before { + content: "\e8d8"; +} + +.icon-shouji1:before { + content: "\e8d7"; +} + +.icon-jinxuan:before { + content: "\e8d4"; +} + +.icon-wei:before { + content: "\e8d3"; +} + +.icon-tuandui:before { + content: "\e8d2"; +} + +.icon-shenqingchengweidaili:before { + content: "\e8d1"; +} + +.icon-nv3:before { + content: "\e8cf"; +} + +.icon-nan3:before { + content: "\e8d0"; +} + +.icon-weixin5:before { + content: "\e8ca"; +} + +.icon-dianhua:before { + content: "\e8cb"; +} + +.icon-qingkong1:before { + content: "\e8cd"; +} + +.icon-yigezhuanmenfuwudailidepingtai:before { + content: "\e8ce"; +} + +.icon-qiyeweixin:before { + content: "\e8cc"; +} + +.icon-weiguanzhu:before { + content: "\e8c8"; +} + +.icon-yiguanzhu:before { + content: "\e8c9"; +} + +.icon-yirenzheng:before { + content: "\e8c7"; +} + +.icon-zanting:before { + content: "\e8c1"; +} + +.icon-jia11:before { + content: "\e8c2"; +} + +.icon-jian:before { + content: "\e8c3"; +} + +.icon-kaishi:before { + content: "\e8c4"; +} + +.icon-xiangyou1:before { + content: "\e8c5"; +} + +.icon-xiangzuo1:before { + content: "\e8c6"; +} + +.icon-tianjia3:before { + content: "\e8c0"; +} + +.icon-shaixuan1:before { + content: "\e8bf"; +} + +.icon-shanchu2:before { + content: "\e8be"; +} + +.icon-dangqianzhuangtai:before { + content: "\e8bd"; +} + +.icon-gengxinshijian:before { + content: "\e8b9"; +} + +.icon-wanzhengdu:before { + content: "\e8ba"; +} + +.icon-gengxinshijian1:before { + content: "\e8bb"; +} + +.icon-wanzhengdu1:before { + content: "\e8bc"; +} + +.icon-hanshujiagong:before { + content: "\e8b5"; +} + +.icon-jinriretui:before { + content: "\e8b6"; +} + +.icon-shixisheng:before { + content: "\e8b7"; +} + +.icon-shehuigong:before { + content: "\e8b8"; +} + +.icon-beizhu:before { + content: "\e8a5"; +} + +.icon-gantan:before { + content: "\e89d"; +} + +.icon-zidongtonggao:before { + content: "\e8b4"; +} + +.icon-yilizhi:before { + content: "\e8ad"; +} + +.icon-yijiedao:before { + content: "\e8ae"; +} + +.icon-baomingchenggong:before { + content: "\e8af"; +} + +.icon-ruzhichenggong:before { + content: "\e8b0"; +} + +.icon-yuyuelizhi:before { + content: "\e8b1"; +} + +.icon-shenhezhong:before { + content: "\e8b2"; +} + +.icon-mianshitongguo:before { + content: "\e8b3"; +} + +.icon-zhuanfa2:before { + content: "\e8aa"; +} + +.icon-dianzan:before { + content: "\e8ab"; +} + +.icon-yinhangka2:before { + content: "\e8a6"; +} + +.icon-zhengjian1:before { + content: "\e8a7"; +} + +.icon-dizhiben3:before { + content: "\e8a8"; +} + +.icon-shezhi2:before { + content: "\e8a9"; +} + +.icon-zhuchangtong1:before { + content: "\e8a3"; +} + +.icon-bocai:before { + content: "\e8a4"; +} + +.icon-daotian2:before { + content: "\e8a0"; +} + +.icon-nazha1:before { + content: "\e8a1"; +} + +.icon-xiniu1:before { + content: "\e8a2"; +} + +.icon-xiniu:before { + content: "\e89f"; +} + +.icon-daotian1:before { + content: "\e89e"; +} + +.icon-shujutongji1:before { + content: "\e89c"; +} + +.icon-yuanquan:before { + content: "\e899"; +} + +.icon-luban:before { + content: "\e89a"; +} + +.icon-zhaogonghezi:before { + content: "\e89b"; +} + +.icon-lianjie:before { + content: "\e898"; +} + +.icon-tonggaoquan:before { + content: "\e897"; +} + +.icon-yulan:before { + content: "\e896"; +} + +.icon-dianhua8:before { + content: "\e894"; +} + +.icon-shenfenzheng4:before { + content: "\e895"; +} + +.icon-dianhua7:before { + content: "\e892"; +} + +.icon-shenfenzheng3:before { + content: "\e893"; +} + +.icon-dianhua6:before { + content: "\e891"; +} + +.icon-shenfenzheng2:before { + content: "\e890"; +} + +.icon-gengduo1:before { + content: "\e617"; +} + +.icon-paizhao2:before { + content: "\e88f"; +} + +.icon-shanchu1:before { + content: "\e88e"; +} + +.icon-shijian:before { + content: "\e88b"; +} + +.icon-youjindaoyuan:before { + content: "\e88c"; +} + +.icon-youyuandaojin:before { + content: "\e88d"; +} + +.icon-xiala-zuijin:before { + content: "\e88a"; +} + +.icon-bianji:before { + content: "\e887"; +} + +.icon-shouqi1:before { + content: "\e888"; +} + +.icon-fujian:before { + content: "\e889"; +} + +.icon-shujutongji:before { + content: "\e886"; +} + +.icon-fuzhi:before { + content: "\e884"; +} + +.icon-qitadizhi:before { + content: "\e883"; +} + +.icon-qingkong:before { + content: "\e881"; +} + +.icon-shanchu:before { + content: "\e882"; +} + +.icon-zhuchangxinxi:before { + content: "\e880"; +} + +.icon-sushe:before { + content: "\e87e"; +} + +.icon-hesuan:before { + content: "\e87d"; +} + +.icon-tijian:before { + content: "\e87f"; +} + +.icon-guanbi11:before { + content: "\e87c"; +} + +.icon-duoxuan:before { + content: "\e877"; +} + +.icon-duoxuan1:before { + content: "\e878"; +} + +.icon-wodegongdan1:before { + content: "\e871"; +} + +.icon-xiangmuzhiwei:before { + content: "\e872"; +} + +.icon-xiangmutonggao:before { + content: "\e873"; +} + +.icon-wodelaoxiang3:before { + content: "\e874"; +} + +.icon-xiangmutongzhi:before { + content: "\e875"; +} + +.icon-wodexiangmu1:before { + content: "\e876"; +} + +.icon-wodebaoming1:before { + content: "\e86b"; +} + +.icon-dailishuju:before { + content: "\e86c"; +} + +.icon-wodedaili:before { + content: "\e86d"; +} + +.icon-xiezhubaoming:before { + content: "\e86e"; +} + +.icon-wodelaoxiang1:before { + content: "\e86f"; +} + +.icon-chuangjiandaili1:before { + content: "\e870"; +} + +.icon-ziying3:before { + content: "\e869"; +} + +.icon-sanfang2:before { + content: "\e86a"; +} + +.icon-dagou:before { + content: "\e865"; +} + +.icon-gongsizhengce:before { + content: "\e85f"; +} + +.icon-xinrenzhinan1:before { + content: "\e864"; +} + +.icon-qudaoguanjia:before { + content: "\e85b"; +} + +.icon-guanyuwomen3:before { + content: "\e85d"; +} + +.icon-boyinglian:before { + content: "\e85c"; +} + +.icon-bocaiyouren:before { + content: "\e85e"; +} + +.icon-nazha:before { + content: "\e860"; +} + +.icon-daotian:before { + content: "\e861"; +} + +.icon-zhuchangtong:before { + content: "\e862"; +} + +.icon-fachebao:before { + content: "\e866"; +} + +.icon-jiesuanzhushou:before { + content: "\e867"; +} + +.icon-xuanzhong4:before { + content: "\e857"; +} + +.icon-weixuanzhong4:before { + content: "\e858"; +} + +.icon-xuanzhong12:before { + content: "\e859"; +} + +.icon-biyan1:before { + content: "\e713"; +} + +.icon-nan2:before { + content: "\e71b"; +} + +.icon-tijiaochenggong2:before { + content: "\e71c"; +} + +.icon-nv2:before { + content: "\e71d"; +} + +.icon-dianhuadibulan:before { + content: "\e71e"; +} + +.icon-weixin4:before { + content: "\e71f"; +} + +.icon-dianhuadibulan-dianji:before { + content: "\e720"; +} + +.icon-xiala2:before { + content: "\e725"; +} + +.icon-kefu3:before { + content: "\e727"; +} + +.icon-wode-xuanzhong:before { + content: "\e728"; +} + +.icon-zhuanfa1:before { + content: "\e72b"; +} + +.icon-dianhua5:before { + content: "\e72c"; +} + +.icon-weixindibulan-dianji:before { + content: "\e72d"; +} + +.icon-youhuiquan1:before { + content: "\e72e"; +} + +.icon-yinhangka1:before { + content: "\e730"; +} + +.icon-shoucangdibulan-dianji:before { + content: "\e731"; +} + +.icon-zhengyan1:before { + content: "\e735"; +} + +.icon-shoucangdibulan:before { + content: "\e729"; +} + +.icon-weixindibulan:before { + content: "\e733"; +} + +.icon-wode2:before { + content: "\e72a"; +} + +.icon-daichuli2:before { + content: "\e73b"; +} + +.icon-yichuli1:before { + content: "\e73e"; +} + +.icon-xiezhubaoming1:before { + content: "\e73f"; +} + +.icon-weixuanzhong3:before { + content: "\e742"; +} + +.icon-xuanzhong3:before { + content: "\e743"; +} + +.icon-xiala11:before { + content: "\e744"; +} + +.icon-duihao2:before { + content: "\e745"; +} + +.icon-weizaizhilaoxiang1:before { + content: "\e746"; +} + +.icon-tianjia2:before { + content: "\e747"; +} + +.icon-xuanzhong-dizhi:before { + content: "\e74a"; +} + +.icon-weixuanzhong-dizhi:before { + content: "\e74b"; +} + +.icon-qita:before { + content: "\e74c"; +} + +.icon-gongsi1:before { + content: "\e74d"; +} + +.icon-jia1:before { + content: "\e74e"; +} + +.icon-dingwei1:before { + content: "\e74f"; +} + +.icon-zhanghuyue1:before { + content: "\e750"; +} + +.icon-jiazai-danchuang:before { + content: "\e751"; +} + +.icon-shibai-danchuang:before { + content: "\e752"; +} + +.icon-chenggong-danchuang:before { + content: "\e755"; +} + +.icon-baisegengduo:before { + content: "\e758"; +} + +.icon-dizhi11:before { + content: "\e759"; +} + +.icon-gengduo11:before { + content: "\e75a"; +} + +.icon-xuanzhong11:before { + content: "\e7b5"; +} + +.icon-weixuanzhong11:before { + content: "\e7b6"; +} + +.icon-weixin12:before { + content: "\e634"; +} + +.icon-morentouxiang:before { + content: "\e605"; +} + +.icon-dizhiben2:before { + content: "\e7fe"; +} + +.icon-shezhi1:before { + content: "\e805"; +} + +.icon-biyan11:before { + content: "\e807"; +} + +.icon-zhengyan11:before { + content: "\e808"; +} + +.icon-zhuyi:before { + content: "\e809"; +} + +.icon-fenxiang:before { + content: "\e80b"; +} + +.icon-shipin:before { + content: "\e80d"; +} + +.icon-paizhao:before { + content: "\e80e"; +} + +.icon-ludan1:before { + content: "\e80f"; +} + +.icon-chengyuanguanli:before { + content: "\e812"; +} + +.icon-ziying12:before { + content: "\e817"; +} + +.icon-quanbu1:before { + content: "\e821"; +} + +.icon-chuangjianren1:before { + content: "\e822"; +} + +.icon-guanliyuan1:before { + content: "\e823"; +} + +.icon-chengyuan1:before { + content: "\e824"; +} + +.icon-lajitong:before { + content: "\e856"; +} + +.icon-guanliyuan:before { + content: "\e855"; +} + +.icon-chuangjianren:before { + content: "\e854"; +} + +.icon-chengyuan:before { + content: "\e853"; +} + +.icon-nv1:before { + content: "\e852"; +} + +.icon-mendian:before { + content: "\e84f"; +} + +.icon-tongye:before { + content: "\e850"; +} + +.icon-yiye:before { + content: "\e851"; +} + +.icon-nan1:before { + content: "\e844"; +} + +.icon-wodexiangmu:before { + content: "\e841"; +} + +.icon-wodetonggao:before { + content: "\e842"; +} + +.icon-wodegongdan:before { + content: "\e843"; +} + +.icon-qudaohezuo:before { + content: "\e83b"; +} + +.icon-zhuchang:before { + content: "\e83e"; +} + +.icon-xiangce:before { + content: "\e810"; +} + +.icon-ludan:before { + content: "\e840"; +} + +.icon-paizhao1:before { + content: "\e83f"; +} + +.icon-weizaizhilaoxiang:before { + content: "\e834"; +} + +.icon-zhankai:before { + content: "\e819"; +} + +.icon-shouqi:before { + content: "\e81c"; +} + +.icon-qiye:before { + content: "\e81a"; +} + +.icon-mianshi:before { + content: "\e826"; +} + +.icon-jieren:before { + content: "\e81b"; +} + +.icon-shenfenzheng:before { + content: "\e830"; +} + +.icon-zhankai2:before { + content: "\e82e"; +} + +.icon-xiala1:before { + content: "\e82f"; +} + +.icon-quanbu:before { + content: "\e827"; +} + +.icon-dianhua-gongdan:before { + content: "\e740"; +} + +.icon-gengduo:before { + content: "\e717"; +} + +.icon-sousuo1:before { + content: "\e721"; +} + +.icon-qingchu1:before { + content: "\e723"; +} + +.icon-dianhua-gongdanxiangqing:before { + content: "\e753"; +} + +.icon-xiangzuo:before { + content: "\e754"; +} + +.icon-weixin3:before { + content: "\e600"; +} + +.icon-duihao1:before { + content: "\e7fa"; +} + +.icon-jingshi:before { + content: "\e7f9"; +} + +.icon-shuaxin:before { + content: "\e7f7"; +} + +.icon-xinrenzhinan:before { + content: "\e7d3"; +} + +.icon-guanyuwomen2:before { + content: "\e7d4"; +} + +.icon-shouji:before { + content: "\e7b4"; +} + +.icon-rili:before { + content: "\e7b1"; +} + +.icon-zanwu:before { + content: "\e6ec"; +} + +.icon-dianhua4:before { + content: "\e6e6"; +} + +.icon-chakangengduo:before { + content: "\e6eb"; +} + +.icon-guanbi1:before { + content: "\e6e7"; +} + +.icon-yinhangka-ka:before { + content: "\e6e4"; +} + +.icon-weixin-bg:before { + content: "\e6e5"; +} + +.icon-yinhangka-bg:before { + content: "\e6e2"; +} + +.icon-weixin-ka:before { + content: "\e6e3"; +} + +.icon-tianjia1:before { + content: "\e6b7"; +} + +.icon-fuzhi1:before { + content: "\e613"; +} + +.icon-jiazai:before { + content: "\e6a1"; +} + +.icon-tishi:before { + content: "\e6a2"; +} + +.icon-tijiaochenggong11:before { + content: "\e6a3"; +} + +.icon-tianjia11:before { + content: "\e6a4"; +} + +.icon-weixin2:before { + content: "\e6a5"; +} + +.icon-zhengyan:before { + content: "\e6a8"; +} + +.icon-duihao:before { + content: "\e6a9"; +} + +.icon-guanbi:before { + content: "\e6aa"; +} + +.icon-xuanzhong1:before { + content: "\e6ab"; +} + +.icon-weixuanzhong1:before { + content: "\e6ac"; +} + +.icon-dingwei:before { + content: "\e6ae"; +} + +.icon-gongsi:before { + content: "\e6af"; +} + +.icon-xuexiao:before { + content: "\e6b0"; +} + +.icon-xiangyou:before { + content: "\e6b1"; +} + +.icon-jia:before { + content: "\e6b2"; +} + +.icon-chenggong:before { + content: "\e6b3"; +} + +.icon-shibai1:before { + content: "\e6b4"; +} + +.icon-jiazai2:before { + content: "\e6b5"; +} + +.icon-chuangjiandaili:before { + content: "\e6bd"; +} + +.icon-zhengjian:before { + content: "\e6bf"; +} + +.icon-dizhiben:before { + content: "\e6c0"; +} + +.icon-shezhi:before { + content: "\e6c1"; +} + +.icon-yinhangka:before { + content: "\e6c3"; +} + +.icon-nan:before { + content: "\e6c4"; +} + +.icon-nv:before { + content: "\e6c5"; +} + +.icon-biyan:before { + content: "\e6c9"; +} + +.icon-chefeibaoxiao:before { + content: "\e6ca"; +} + +.icon-dizhiben1:before { + content: "\e6cb"; +} + +.icon-wodebaoming:before { + content: "\e6cc"; +} + +.icon-gongzitiao1:before { + content: "\e6cd"; +} + +.icon-youhuiquan:before { + content: "\e6ce"; +} + +.icon-wodejianli1:before { + content: "\e6d0"; +} + +.icon-dangqiangongzuo:before { + content: "\e6d1"; +} + +.icon-hetong:before { + content: "\e6d2"; +} + +.icon-dianhua3:before { + content: "\e6d7"; +} + +.icon-feiyongbaoxiao:before { + content: "\e6d8"; +} + +.icon-zhanghuyue:before { + content: "\e6ad"; +} + +.icon-weixin11:before { + content: "\e698"; +} + +.icon-baoming:before { + content: "\e681"; +} + +.icon-tijiaochenggong1:before { + content: "\e667"; +} + +.icon-mingxiyoujiantou:before { + content: "\e66a"; +} + +.icon-shimingrenzheng:before { + content: "\e66b"; +} + +.icon-tuiguangmingxi-mianxing:before { + content: "\e66c"; +} + +.icon-tianjia:before { + content: "\e66d"; +} + +.icon-wode-mianxing:before { + content: "\e66e"; +} + +.icon-wode1:before { + content: "\e670"; +} + +.icon-you:before { + content: "\e671"; +} + +.icon-xiayiye:before { + content: "\e65e"; +} + +.icon-kefu2:before { + content: "\e65d"; +} + +.icon-weixin:before { + content: "\e647"; +} + +.icon-liebiaoyishoucang1:before { + content: "\e645"; +} + +.icon-liebiaoshoucang1:before { + content: "\e646"; +} + +.icon-kefu1:before { + content: "\e644"; +} + +.icon-wode-red:before { + content: "\e638"; +} + +.icon-dianhua-red1:before { + content: "\e628"; +} + +.icon-dianhua2:before { + content: "\e62a"; +} + +.icon-kefu:before { + content: "\e62b"; +} + +.icon-liebiaoweishoucang:before { + content: "\e62d"; +} + +.icon-sousuo:before { + content: "\e62e"; +} + +.icon-shaixuan:before { + content: "\e62f"; +} + +.icon-shoucang-red:before { + content: "\e630"; +} + +.icon-tijiaochenggong:before { + content: "\e631"; +} + +.icon-weixin-red:before { + content: "\e632"; +} + +.icon-liebiaoyishoucang:before { + content: "\e633"; +} + +.icon-weixuanzhong:before { + content: "\e635"; +} + +.icon-xiala:before { + content: "\e636"; +} + +.icon-wode-shoucang:before { + content: "\e637"; +} + +.icon-weixin1:before { + content: "\e63a"; +} + +.icon-zhuanfa:before { + content: "\e63c"; +} + +.icon-wode:before { + content: "\e63e"; +} + +.icon-xuanzhong:before { + content: "\e641"; +} + +.icon-dianhua-red:before { + content: "\e61f"; +} + +.icon-dianhua1:before { + content: "\e61e"; +} + +.icon-message:before { + content: "\e690"; +} + +.icon-xiayiye1:before { + content: "\e695"; +} diff --git a/assets/images/back.png b/assets/images/back.png new file mode 100644 index 0000000000000000000000000000000000000000..c4624b9dd511e5ff14154022aba9f5b3c4c5a3bf GIT binary patch literal 18743 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 bJHbeo5A$Xi8dKayi>|0>DSuS7y!U?qM+hKE literal 0 HcmV?d00001 diff --git a/assets/images/bclogo.png b/assets/images/bclogo.png new file mode 100644 index 0000000000000000000000000000000000000000..26465a6f6f2010fc2ec7e32b800ee3c0a296231c GIT binary patch literal 15724 zcmeHu`6JZb7x0J5Qr3hdBs~;avy?rO?8&~2H9KPvL)Ic|=&4Xiw#SlPjBRXL%Mij~ z%n*e#X2wp|_fF6EegBE~`C*pN{oHfUde6DbISF?SwV6+zI|)G$v(BAc_aNvP5`2Og z=s=5u3wtN{VMN@q3VAqG>}6{C~POG z3h6~rL)IaWbfRO>bPoi{!Q9hd7W5f>pYZWz7e+a6bv*X?fii~M-1kDo@qKi#ZNW)jhpbLLb zg+89<xm8 zg-{qnYS_sv!%v!K&OQU+(FrtH+o~lf4jqIu8bGk7+Mkr75cNj&g=Cdn76>W{tUeWj zliOw^E5eFH^Y^L?LF1CE!L(`z;qpYwbc=M1A_Tc(S}GE^51Z`kQ7lMan|XciB|}rh zbqH$Thd&Uc>^8mYL@^<;V>FPuwHKP-m(-EPr4K=OB(dLHT5DhxWg`W4nTT;8AGYv@ zBC+e|fgm;kps#qH;g0!<-YS1y8#ITMFC#F)D)YI+Bl8UUuX?aXlk#H_q-fl&lo29s zhwCE%6DhK$hoA=+x$z`_4c%X&NMT37WZaz_#@Eams78X8*Wbg^KoET+f!U@pZT@P3 z2WGkMdV|CSXuKAWN3>wrul!St_wgo~6Kko!>kSPxgu`0{g`KeaRznnE-_mq_L^jh0 zvy2@la4tho)L&;Q3CIs)FDCCdOx3iKEl>@^>Hg zLLG1Z*h%QY!n+Nt06*58G?e7r)bJsLeucUqWJsGV6*F{o@OKtzwj?M)zCc0rP}6*hN+F^YhBhXLiw1?OibCAKXNKJ0m7nlDlb_4;XPuXLhJ86QYoX1WU+ zuw%beu`}hh;v-a`sLJvO(d%hu^Z$eXioe0Y3!AlFW(LPdmKPiHflSD4iQC`P)RD?>@hyt5c(gG-P`L+tw`;1 z{D4Y22N*=?#=Y?$9IOJWZ+}Hj6!aYVivy5{>lJ>7Vcc?oqo?QfEfVM1-cKDs`|1@zzk?#N%8UKQ$96cg>ZWY zLZLbz%hgr`!s3@{DpO-2{IN|WxU5{pvYp(C_T} zg(6ks<*)p2_$lW`(%--tK0yNO?&xo;zk- z(=4cyFs&5~Ue-E0m!6jl6-D;Ks2GG*PLoal@KTE|&q7eq*A09S!TU5(?cV?=j!o_) zc#N|F5$L3rH3A=zV_?*6thQQy6nr*`a)_al?~WZ2r6MLN9g2ri^(O0U(g3=;&*=EP zrV-)+_*Hx$wxj<4^N{ z-~UPAKMDLNf&V`xFcZZ7x)+tLdU&+)t@IxJz37u2$m~d^@rbQ zHQnCi<0jvcjs$6Ek|p&T*FvsXs7cNrS{TZKNd6enYwOC4+zSsYdb#bJ@|Yj28I-a3 z;Zp8w@%em#w6*R^-4N2t01#p^7xB{ZMe=&T*TwRmA$L8-fk)>03ol*F5F-6{o}wn< zvL4yU1wm4hvnist&BJ8F%kdvaOQ9<2oC;*s!cSl(<)M3WCl* zL1?E%gx9^)t89=5(51dgCZkJZCI$Fi?JL}B0SON5z1incDwVkC%G;4{UYuSJQ_F)9 zBQ1Lc_=BQ)vGY#`FI)1@rj)d-Yh2lG6P;f(7-wAAB%jL9)hZ48j=A^c@clIAOtwhr z^uzi3aovzTHH$r^3z?Q)0(?rP=6h~uu144CmvAc-7P@!ro5RXIpQy;ud@^jvf9U6Y zPSbojntqgg*k*eXiWR~S$8gNZ-Q-v(a2lKG6eNZ~XP+aquSKlB-O|5aqAE6B{jR`V zBrFK3qKi>_bNU#2)Fh*vkaRLD^nruyu3MYoAss!rX+^3CITdwHB^*9#+j9JZ+HA^# zWhi|O2l=+C6pbZ)2j4(KUls}}l{qrFfy{$jDC%Fbmf2&VF1MHr8uE3jXRjct803t6 zwgR5>hne*qR4z4Nkld_#6xv|nH-9>6^8$YO(ku(hxJB`mG+&yb@x^Y!-oZXU^y)Sh zy1MbBD5C0`wM?kjXQuJCpNrd2yDUJuwBEyM&9OJtQtWRrtvEG9`LMtemCJ~f)thH2 zB%%WwdmK2-&=#SJtSEB{8cRt4a+>VWbZT%L>F@MPH+kwpF^;AR4j6aUJ05JSyz|pb z*Y&;ZM3ahOh)WJbTv26*S=I*iCl*0G; zkNHknR@u>}x=+&3rv^8t>cY*&SfX?pkg`7ON)-ajV~dJ4Uztz8_h^ABul%a<=TC`FxjvPZYp(>Eg9QU)-+AIV*i7eX=udqg=N2md%?x zJ722IO5JZB?4`y{5oJn(w(5@M$b+R(@;RsFqlvv^ET z_H{cJW}={Td`dy>J@FOfAUVsD!_K~Jry_^1zTIGT-xqxrs!^!&iE!JXr1++Y{;g>y ztNjX7zICXX9 zWv;KTQ~9LvbT*jNK4WaXS%PP@s`zDW$1lYG!tXfAiler82VY&9`kJf^T##n9T_Y#2 z&Geb`U;%pS9DRMTu5!h#u93NhYS{g6TKHSts!qn@jhwj@`~1k0QN+KdwFM5`cMxYN zz3!jiYVBvm(_C%~hL=l>S;r67`h7}9Y`B0z3aM1{;ZIu z3hW1GLerz2-{^`9YN-hpvNf znIkPO)f4^1@V!Xg#bQ@RX4T8 z-$0ri4Sc3$KHiv>Tko#~xm5@mzfnPWcC2433$Yi?+6B%Sf+`H?b)?zotj(y*F5- z&d#Qwq~W1S;q~6$djsm}4BW<9>}$KyaGHvP*$zpy*DbUGU+?QHS_ja?{)PYh-CblA z!`a9Ptxq;6h6ju9_zr5ewjE6a-3TKU4Y_WtHVzPzUPHds_qvYgTMq0?u0lV=E%aNS z4slGm*RuWWajIF%VD1Ln6X2MxSog4$T3Cc2z+OIYO;bD zoIab=W&^1ow9cO!PGsP5JCZ$ExQ1gqTAVq7c1imD#(v+^^s`XqOk^P^H)JgWf|Uo7K+>! z>8fF4pC@|mrXp7Md0e^;^yy|pzO}JI@B;G1lvMu1GiH~@nhv!%DIgB}|4JK{2OH{9 z&_!2ZhNrwT)71E^MQT|&uX$N_Qk2gzFDOcp0ck2iSG4cYcYVvf^QpSyOq1d*C2w2S zPICx~6~P;)F$76pcWHA!N|IOid9}&IYLoDd8EQu?2WZQ&oD4GNlaVcevp1*u;y73# zhs&Z!Q%CEnDZ;|H#m6wQ9^wjbY?&E4)-A0TE;F;<4;FdmpR zs=_R8XD1iB(QXX54GwpAHVAeQk|p=vU!8g5e?;@zGC;d>?){{ZYFLUL^o^I`3}C8#I5E7arV_GYs0C>(O2j6c3;n=`ERZVs&PQ1 z_!0u!Os93ZV zD~m<+>Ka(P)hnsb_kIb*%q88>Ak;otk@h21p%zw!6(Kp?y~2L6{@;laqCu864xlv{;6H4sRZjDt&;cg2c~rwWwSzDHzHY4 z+zv6%GDMb*uXE*w{~gH7e$wbb@QC|xdi&1)h&qqMWz8^wUgYOm`j~cq2IN&(Sg?_2 zO%jdhq`YYA_&Lsuv&6PU-c1H*_1dA#(;RLi8~a_m$g~!hI!8l}%D>>UGU8RK2mwl} z&C!nVawZe~=mq{y%)@+nCj`um8k~R4(S=8{#Y;XHjrkTW6g#v^O!oZt55zmZmSkVv+9D5E_J*@mg=wmIXKj4rwq%}7DG1ra zeUH3XYW8X-5^G*OC5f}oYmtu4?Z1dk=q~&*V&`kyTRgGpXTsLz9N&@w$s{F=X)6B< z&IiEbSt$oEAZI>HFHO_D0%?se|Kv)QClFVo+g`4%*|S#6b)%BT!|w9BE^Cb!HP9sR zvP0?4#c{4L`1ff`h49s9cuInd=Mzz`lh_ko(5qsN>1pn1Pmj*G!gXID2fx)Dtv}P{ z*5m)8t&4gT!HB%-Z9N8$S9!3&Nu3f_1>Dw>xlJmTOSsR~K0UvRuc#nt z6lRW`pRm<$O<&e*y86a2DmQDN?B0Qx$s;-+y{m7Ricw0>!>0E$1kn|rHz?C93nau~ z^`m}GhvXi;;9xywM#|yu;5(J%VDWuneD#v?(NS1lGOA~*pJQh14WpD!ZAGuq%-mjw zrfG2;qPN4-`}4*nKR?tvwer_cDz8)L+D=7Q?V`BU`Pq~wSrLV;0Y7!-=JJ-TzHjuu zDf&RmBxsF|E5>P^YNJ>eCn0(@oK}N;Ok|wn6I+7PzmvQ+`AqQb-sTf@Oj0ieOM+Hm zUZ>?o!9q?@Q~8SWQ-^wG>4UPKC0O#9QF#J_qS*usBAt3mM$)rJ$vQD$@>TSGu zN%ccyVMp9aC_G6b77R07M?rHfT>@r^6GgUqr&m&k;B<~^g#|~v@)#=#x(jyvjolB? zxH@$yl$V^RjRm{SMX0O>P^#xTljrG{DOfyS593`hn_>NK72qR=M7KL|7}^@+`6uzQYkqd*+F=ikjsuT zSbQRQKJvp$3!}}Wr0;^B%FD-=3dCPDj+u5RB%4-7*nNC-DG2pp#dfOmL{w|D(ol5W zIeKrJ)YIfwHU=c)$AqPBhqNh9mFn=N&nH=EbKF)5AbuSjP0!fzhOi$-K;ZhdLqFwQv6EXT{igXnd4$OiK9JU3&llM5<@)*kOj#ua>s7iPBu2($0jkNS+ zyNr7@I92hqrkp8%-1=bGcuM18r(9H^KbWO$6QSF{M*iyH3z*zDR9PJ8>WUb9&}v4G z3S_r=#I&j|CVzDs;=~C89N#(3^q;zrsT;S-iK?)8RFE+$$p;Y?#DMHCDAajUh}ahF*^hc%Lf=Hs&Mgla+5eU;tM@90jHsNg=p+L0v zFzRXaSelJ587k_Lc_7+HNjw4bs}@*_gl5>VzEcYyWYyg?XP-?v>JAUaM=bY|9;)*}*n9OTqFwXizHc=BNzU)ElJ>rIv>)OYaZu z@$?GJqS5JKy-p&BkF!RFQ722r8R7&Ggbz5oQ`a(7Q`!AB)jjBK$x=?eJ`t7aik&w` zp?BURX=)9@eL-=TS5fSHTsM}!BxndMlL}v_GpGxL7)T}vpzhO>z~Rapj|Ad?@Rqu; zF)Gxv=7{@#r~fC-hGQwq_y5Ypfp)Ipgf%k6A>&-LhEZrqzHkbR!Wa2YWY)Mhc#`G5!RUwS3d?}{Ak_w|zCA46010QrtFrQA zj%L2JXg4x>b^Ej1of$tCNafU@^(1*%pWkUU`Lx-iM8$_NRD$HwOm2%GlVF z^A-Md$3}R7*QsVa(0pWzW4x{S+XZOh%#1ydLPV%R@2UIXC@$j-yu|GJE=STKNt~hT zyr#D$KSop{Vu@D699Z0Yj{(?K4epg)zunhODcVW=LnXyH=HU?k)tY-`-rFZU7=dBc zX-!CmS5hr|QPj$fhfJuX;(0)gFpWESQ&cpbIycdIQQP;la)oN%Xw+_AR4=ttlIyRN zsdj8E;rk&BqQo0fk!qIy2xKWINmFyVQ#LtWKgUe743$J##?+mDv;oF2xA9u=I;MZ# zMx@drD1tP2y!P^A0vpwa*MlAfQbP@{XXq5Nl*2^E%Vylt#73(9>Rio6N5DaL$DK(fO+WErF*?(F!jV9Yy|SN)CE43{xUUia_G6B{MA&{=Wr@+dUNd7H`M~<3tY_0`^-NXW@Ig7xQtS^Y3veTu953-)Ft+&C7A)nJS66%NGnQdJf%o~FEfg=uvV*Fe`D{%R{nPL#=`Bt$|JwU? zd4q9P^`gxdk6bv&mWdbzqH=0muwm$eu~v5lwwq)vlM83RdU+mYl0R#w>F(3HCP*uF zUl=T^6H%1?!tFWfXTXEvp#F)_I&56|$SXKA<}c8H z^@-j0(SA14lko`akB>|xXjin=Dz?wspdBB**$6z=LiTzyr_B00e8hUJf&p3e00i)W zg1Hji+Hl)*KXp9CE>4U!OB5BzUAmjuYF$1aVlWaM)pwVemhZ`}R{pC-yr$>Zbd@)N z;z&z-la1@yr9Wmaob=6RUHF4vXCC3y!ua?MCGa4$X)-XLsWDdt@Q88 zzwf=+1dB^k@v@}EIvyI|OSc2Z`Int`-`y0IY6}?LLat%U#jlCxffK-{f&-FQ=iy;U z)~`nAe+pWT9P9v{oZ>eG7=j1l1D~T<)!qHnq0x)D>D`A>BXbWcwQglb9!KYHA3q?W z%^qug${AKgZAYAGSNs)*Ol&eXs&<-qRZLAfbKxBm0*CQ3B-IB_|9soAv}Yskyo zFQPgwp*%kG8Katjz(2mR@$F@c_2JXy^%fp7&LNu$dRlz*NE>r6%*t)XOT=!5yX_4= z<(vZjqT1DY5djvz`!7)Yx6XO8`9z1C-JYX(_4L8Q;I|nPbYWpeqq1h#u|oB@I{w9K zN|ZP6acp-z%){K#wxu-OvUef@{(VwG?Q^455dLlR2rB2clIK;Y)bXaH1mET@_u(=} zJ{^2*G45m7+`?~e74zFNwMN>{Lfwo?BL=2AV-$GtyAIy*J_%)w&ah&9wM@AIMG@)G&ya(=Gkv|FyS|qkR;35sYZuvKJn$@KaJ%$}djO`)bC4aGefZb8 zu|9XXHybnB-B;<#nF0^2BQ7#)647h$72~$Ku<=oi$TO=1*{%!M%#^SRV6U#_1taBe zi6rpm7YAv5Dm`E%N35F4%8zEbJhy57(!l%P$aZi8Fd<5lw_U!`i#vW;z93rE`T zal)9z;o)qmyQ@;-M;6W6RzhHl%*mOPUMf{BO$t`DCJ9Pvz+#5o#Z{JKo7nFcq4Ika zn_m@%R2Jztw*gl#l+=c1Uyik0#4pj|#1pqV%;So?_5$K5!)2Wj4(F)H6^Nl-dSdYL ztzg`Jaj&(W{4a~lfuUMTOSSKFt6373I@)W?FPXZS3$I)q9nz^3 zE2&c3!Ca0i?;x{r+6c7&-8D0|qkPVD24!A)M?6vD6_!7O*~*w7BehJQ(qYc9ak2H; z#WVdMSjtXRyIyE5n{!jv|F)Y^8k)#AR$I*fF2vQ;(WW5S2OJv9>bu<2^TGFbZ$6b= zcB#m^exv{plsSF%VJfuTT>N+w9`>G4E?JGb>ov8}g~S#JNKj_KD>Lm;z4V5##z(zD zmhG4jvn{%ouVy(;uQ;$fR>8%<)-Tfd089`T4dj5G*vr-qzU%dV$q9IXZaOq9gb z9Gy3l&hS$ay3?c+)7ib)VdF-e&@>&Z5LgZWio&=OMTD0)OGEzpp!es;l$RN0GFZ)vr~#s>U8vRZtJ+XlDCI z0&6*?GmC3)Uq~eeMQEH&D#~YHIgIF1d1`&0tsSvdr*`e_OymN^M<8M?cfFaxr?X6K zM26=UespH5VC-!}b?fh%&o(!^Ouo8BDC`CL08dwjwlrBT4B5Om@jL8ocAX>kHKO+d z8A%Fe)z|hmtWD_txv4|)^Me^3_?^MCoTfqCJHb|*`M$1HWJ3JQF$QXPhdjciErWcO z-X?<=lKQV>xjy<>2d9c0Ri_+xPx`kf`Mc6|QJKPQ%FS;2sz>KYiGrflGlYNS2O4fB zuyH%Wy^(8EG3A_5O3Ji zmedp-t_+xr3g}PVqbas2{k~(vzNo+-!x)s5G;1e({{uNjsf5iZjMfhA#AkQBc_PlM zZI6(QX*)13Wvac*-`C)1ms}j*b3v4~g{!EE3C!IwwiO%~aYc34_=<0MNTn z$cS!KiIu)s(%-+}t~ui0!?8^NSn3~7!4P&ObDaZ^D_wtu(B_!K$fyoEOQM_$rOZVN z+giM%{oM_fpC+`S;V)AqRJWacRyQTJ7l$7#t`d9}jBbp+oZ5}jVG2A+aD-$A5*Q%pD+r%KBL4*Fj* zuvPyeq9tFhB`w;ba~p5`^MKXPE>QRlJB+Qm)v(~e*iTiy&QtNCE_c;T?c&A$epPTw zq59MQkoZHSylgs{!|r1WVl!oA={GDHb1DTmgcz((F{6tXh!s zWa;%8`B|4rccZ=b0gJJ`0&!JIA7hPEJ**e!1oO5muAlRHElY|}$XzX^GgITsI#&4%1V11Ag^|SI!Q04`K)jT|Y|5FS(qQ|SU?W=4yi?}YFPSms@AG3EHEc{cJLXWMS2gN@5SR8YTg5~6gHw~9v|f4+KA z|80o%3E#`ZGU4+9#24<`%JK1WH5z@z4hw0tSaT=P&f03KE?90YVj+rPv$wucf9cF;N-}7C?G$i!B1(t+bDdt;)RQa z>vsxl|Fv(HS+`B$t9!g-8?PSlgqFWA9!YHBZ9Vm%%GxN5sK&4QAmuZBJ(4kmo_%R) z1NVM-P*h9Zaz34F6)8!_&ll-GDl;&<6GPy!n+TSKWG~gYvT>f5ro_1{c$q z&Y$z}G_?YW%u!p6$g=X{_*jZvBqqMdGZTR+~i`s$Y$(p!}UdIl~lO`b+i|8m3Ou1RuLruOFZc7VJJ z)flB$AA`Tzdk@*#OrQw{LP_i+>ojg-=zLcftm4V2U&ACkw3X} z|7Otr_x+y){*%Ce68Qg80=1OeF=$?iOVqUDKdH>8*{BK4|9<0;VjYA)ZcrMN0Jg@ zkqWldBx_;P7h|3{C5~%UFZ`f>nGq@MO6~pYZv=AuPdfD1&5QqLK_g!i$mR?mgFs~u zL`v{s>wDJ+Yal6t-m>$=EY_`9B~3H%3b(d-T4@#}J?Fse7q9>OXS`SYa8o_ashFCz zZqn0f+Sl3#lQsqQB{@6_Tl_x{5lBKHm5UCc-v)n@tw)3cO#aOpH>kvuyfgN&1VEuF zB`9O2wXV(I0^A{iS|6m#5zWaz$=V@T>s3As5?&oprBbr#;D+`lt2OAPp%G)$fs4O( z!7(1QhF&1cTs@25#@B*{;s0g2Zz1YIT^8;%K#-%Tu;u$mO1|8mdm70H8cJkPn6(^4 zksL^5$dS-yMOsrORpO7rcyREUHj4fG=;wee_>*oP`@0jS@T5DInjqfUr0k=+FyWYn z&U*;NF4dqJFi9;dP~Nxz>QT5!D)SG4>^8{LUxIE#Oh{%G{EsWT_35i^mQ*PePw9tv z7b3<<1rAkI$+fZY{UamqHDA$heG)L`;Nkkk@md@@i{#(((tk=0jP|oT89aGm?H|1C zgBiDgF@6sG?V8-L$C0TgIWNGf|R%D1xBQW?iE&BZD0^- zAba5N`g|q-24WAwIusCIbuJ)K?~6&J7_7mBI-+GoV@Z(9G-BM0Que>+0PNpIE@T&f zAl>$_=R-6W?AGgCQr=GkQC;oT`0bh72jelLIQ4FDNKm`r;mh6`*OK;WlFZ2+ycGhV zNrQ`=XnUQiX=1_4(h4EaWGjJe^c2Jt<2lEu$^DJWme{K=3St1eg!iv~CBF{>el3M4 zfgzrbr&vvSK+R2N!7__QHB}Dnvs}1chc*|KONxSgWVlr%ND@`|*Bda>JB92ewd$z!ng5X=-yg}WJqs??f@>6HP+_?L%64|MD<0qu$oT#I(sSnXp#SU6Oev&VGY!R9ZpB{l=&-Qv!XDX0suw(TRPUD zf>^-gCbGWtI&e-=lZ0Zyi8SjD!aK${RHQ?RQ<~l(QU>B_N;DuV*InmF`n5j|aRU8A@^>PXEf}+9G;U3SFAVov10T*IWY>L9nIZ! zu<&F>&JRZ+^B;EtePA*3T#sSFbF-asoacMIl80Jy#uTWQw3Vkj)<|hkCky!+VmuR}oulF0o@}szkD-|#ArI=Am z1J(EV9}tOf)Q;{OPYmA64Q;ES0}RFT`6o^h8|I*bd4$Dn8j3mhN`?8K?wLIt(v-Te zgEu}HysvZVJ}5OahiL=7nvw^yNNaYnNiT)*oWzws0uw8E>($5{&{jAlvrWX#^3~6R z$`V9WX?bO3<|VUvcqOQRx_xDy@Q3oVminFh2I=zs;1&lhb23;&Z<3Hbck53TACpL- zW9z$e>w1eNgo5h?a2sW)dce}Po1R|mzGZWdrz5*`3RhpTB zP!RH313E?GBvaKv5vjzF?)wAd2II$}sDjX;f%ahgVx@Dla6wInd)CJ!;l*{iP90^F_zb_B+`%V!C)wz_0%K^-N?E zr%En8)IO<_loOB+KQUK9OMTQ~Y)b5cxpZR(Lg*CWv=HLLZze)#I%cvkcA>yrw>wA#^vCIwp hhtK6{^lA5YY1J)=cNXUYQ^4$obhHd_RcJUo{y)XVIl}+| literal 0 HcmV?d00001 diff --git a/assets/images/biao.svg b/assets/images/biao.svg new file mode 100644 index 0000000..f333411 --- /dev/null +++ b/assets/images/biao.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/biao1.svg b/assets/images/biao1.svg new file mode 100644 index 0000000..14af3c3 --- /dev/null +++ b/assets/images/biao1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/biaog.svg b/assets/images/biaog.svg new file mode 100644 index 0000000..a40a061 --- /dev/null +++ b/assets/images/biaog.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/bmz.svg b/assets/images/bmz.svg new file mode 100644 index 0000000..b7ba9aa --- /dev/null +++ b/assets/images/bmz.svg @@ -0,0 +1,42 @@ + + + + +报名中 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/border-circle.svg b/assets/images/border-circle.svg new file mode 100644 index 0000000..9335af1 --- /dev/null +++ b/assets/images/border-circle.svg @@ -0,0 +1,13 @@ + + + 选中 + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/dh.svg b/assets/images/dh.svg new file mode 100644 index 0000000..2e3b39a --- /dev/null +++ b/assets/images/dh.svg @@ -0,0 +1,48 @@ + + + + +电话 + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/dh1.svg b/assets/images/dh1.svg new file mode 100644 index 0000000..4159669 --- /dev/null +++ b/assets/images/dh1.svg @@ -0,0 +1,49 @@ + + + + +电话 + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/dms.svg b/assets/images/dms.svg new file mode 100644 index 0000000..0c6b9b4 --- /dev/null +++ b/assets/images/dms.svg @@ -0,0 +1,52 @@ + + + + +待面试 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/drz.svg b/assets/images/drz.svg new file mode 100644 index 0000000..177f8ad --- /dev/null +++ b/assets/images/drz.svg @@ -0,0 +1,25 @@ + + + + +待入职 + + + + + diff --git a/assets/images/dtlogo.svg b/assets/images/dtlogo.svg new file mode 100644 index 0000000..274c923 --- /dev/null +++ b/assets/images/dtlogo.svg @@ -0,0 +1,14 @@ + + + 职位云logo + + + + + + + + \ No newline at end of file diff --git a/assets/images/dzb.svg b/assets/images/dzb.svg new file mode 100644 index 0000000..076e923 --- /dev/null +++ b/assets/images/dzb.svg @@ -0,0 +1,17 @@ + + + 地址本 + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/face.png b/assets/images/face.png new file mode 100644 index 0000000000000000000000000000000000000000..6602dcd57d4185dc21ff58411e6dd4be25027ddf GIT binary patch literal 16249 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 LGyQjZ&XNBC0Op0T literal 0 HcmV?d00001 diff --git a/assets/images/gj1.png b/assets/images/gj1.png new file mode 100644 index 0000000000000000000000000000000000000000..e59d3f6b27a50869760b9de851e112f06f329f36 GIT binary patch literal 1886 zcmZvddpy&P9>;$!xy>48Dz|5HG?umEncI;{=91f7h7+Dh)G!udy|Nk+B~%Kh8H?jV zmRpQi#bS}=GUn2d>)anpNTd$`obx)b*ZJe~eSf~+@8|!|U7U*@SV3I@006Lqy^Z@W zaeI=J*_|26t1osT5$$eg4ODb#&hIWZ!9ETl&dvaG*UJGCDFi@zFS0B3T>*d;LjsW6 zrNrKiA^D##jv@75zZX0)?&JypGVKmFXFSOg%Xwi}w6Lo0e?>!ot9!wM5%4|kUlK}F zds4ho`6ep2`AFoEd+5?acp*F$Rkc)d_Qut^qxvM ztv}Q~JnPG?jgaV-v8B;d-gXlw2kKU=VKadV&sF1uPQ)lvq7C(vCAhboZ&7hK zNZK2vsDpPuF2bWe0E*1;-#*C&qJ+aPi=oJ{%8&*x|IFjFUObM)x>ZJY2T6sAH$Xf| zv0g`xbch#|V!!+3$yec=)}E8(qDkptVfR!#~Sm;y}Udh?X-k`uu9N- zEcDh9E)d@VDq|GsZ%2HMv#grhu+>Sc8Q7xb&jKyRo0K5o)!0EdOOJuPCA9+zeenm8 z2hmM<^czT#zdxu#`hAChUwh`fzjD6MU4QSyZ`z_shbGQcu>b}?|3zkbO6R#sY&H1> zztwgkrZL~r8n!6&AZX0u;*Ajl%jA!>?8X*o>IOGo{IJzee&q;9=!k~!BIwU%Sx zgKc_bE&3?8Rlh<=I!0U5n?T)n=u#5|kPF${$Kut|F5YCxp0a%lLXu8g@u`~pmoEnJ zHEh%pON-Eis?YprmimuSjX@a$x-Uqx#j!u^4xVguyVJr|M}v*`xlP#w{|cb`cDxx6 zETPWvB+ak#E_rOvcUQ|*HT>vMsD#n`7g1ZQQfb76AZyIEzYK96hqS``!cYEBdvSupwG?Ea?I# z0Of5O1Si{H8vH0)YM^_uFg|_s6TGYq~K}YV0KC z6y1lzkhNTV@49(E3E6d2`!21cp8~YCh8q@FXo16tKnFmv2HO;H5@~&HsrWd#nnq;jJ zNLH*Gs}!J(ay`OO&fjF3CL_KZ`v!DP$V-_=#?ug1Z#&b=I;BbK&CoyW2$XJGBIs+0 zOgnZN8y|Jje3@0#{;1+8Mf|FEHoa{!LG|USmTx@u6RJFgOJGmly zpQ|cH2dmDUfRF4THK^T2>Lyt6OK+WDmswpx%q8gpE{7yw+pK2Vz|Bheobn%9 z;?5vVt1?~4)N>y9v@-gXUd$B7HLi2wRar-&XEZgMOa@3v8+qP$u(SY#M$uvsioLaQ#v5R^($0fsF0tqb^*w z;*N?y_g^tpX-e*zr(pSd>~3h(%;64&(*%OpaqY}V=eWmOnz_-3`lB;0KWTTaeUBRs zo@v{zB@F=CeLaxqq@~%5+p2M3=cR>l2~qmoY~&}~&adCA{!eM_R!9#Z`AdpRX)4TV R6Os11%>nCTQ(+yD_-{@Qd(i*@ literal 0 HcmV?d00001 diff --git a/assets/images/guanzhu.png b/assets/images/guanzhu.png new file mode 100644 index 0000000000000000000000000000000000000000..5040c29a46741cb04ac5a177fd619e3df5483834 GIT binary patch literal 4017 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 T(M`Nof9*0<53XCT{WSDH@!6dz literal 0 HcmV?d00001 diff --git a/assets/images/guanzhu1.png b/assets/images/guanzhu1.png new file mode 100644 index 0000000000000000000000000000000000000000..27e7d2eb50e2aacc73a1aa562a274fe491731feb GIT binary patch literal 2848 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 literal 0 HcmV?d00001 diff --git a/assets/images/gzt.png b/assets/images/gzt.png new file mode 100644 index 0000000000000000000000000000000000000000..931459dc2648cd0b910f5c1624170819c26d03b6 GIT binary patch literal 1737 zcmZWpdpOezAOHR4vay-bT*8s$vXml=<~j@6k&(+;xfC;ZZ{^T(R!&2?L~gxeE~k4UkdWPhVIG3>Sr|hbm0x%t&>iL?jZ~Yi0H99S1LKVCRchB<$*4gR18AJ@rJayLifO%xd$`m>h#Z>=)bneSt|5u8cu ziT(|!bwN%}GlzdvZp3ric7aNzz8o1HrI{9xI%M3FN$rhEDL0-xdGbyv$%Y*ynwy&& znVg(_FAxaSdsjziac=@RNV>VY$#^u*%q)*PbfG@vmv|%+IhlD@r(*poUI2VP-hbv? zyVX%UfGn2Q_3G4ow3pfYoGW2r8$Fb|hq&kx>H|gX{As7^+S*%Wn2srKiPmOe)~TgD z96$cnvZ3Z-FLX=uA>CX1sXlHlAwHfRdgY2$GU<6Nx0#77Nk4bU+uNHrG<5F8?^$p- zoV+a($ty!#9{(a65FOjh`|@dZb=A1`_wB8nogJMS&x-QtGV@B|LG*8%gLM z#xYedman&`#VXi!irTy`iT=tGvz6m_&Y|2t<^9R6pRmGWvBK$3LKm=IJ{*H?jrQ~N zlYDh~4gnDyCzTm7LPu+H?H8E!MYls80z*TW4DipBeb@^Sf-bkQp~2kP*!Zhz8TqiM zmzUS#;^Ka&TWjzim&Lzoj+Qw;ev1ja#LGSTsH-CrVf#}Pgqcs%z10-(pr8!`ob7qZutcaD_ORU>tPU`V);oZi~aTgAml@N z`SF_cqHaerYDr^yC(%_Ui^={B>yL3zP!TSs#>X)`mH(tiM11jW^OZ;3jiD6gJnk!) z+^#r2X2~RB-${X*^#CBRRlF;f^2n7jW#MJ8xHdmoK|+V;zf2-*_77=Qx3wg z)lqFsDI=@ax39pZ|Jc_gK4S)978@3={>C+ts+t^jz(F#EhA07lotXW(C8+vlqoPkp zjB7R8sGHr_pdGm~PCxA6isyw*3~41apZQjb?im?w!Y|7NP_PoiDUU+^4}g_Id$==L znZuw&WEMi)48iVstUcQK0<+YR|;dSyI&8lu+KT{*qUKJWxE^BI%CGL@3(F$$KSi<;nk)x_e=A4tXf=0ETwkqQ)jP#pQ{*|01%F)GY7-SU+Tdt#^t%eRn<|_bXZdbRAv(SI>r99>)D?r(p?VYK_!K6~TMhw~F6tBv1(uiJlqpSkhwb&Q)j z8#p?!BYnoF+5sypei>YQ$o@^_vH63IyZZAN9{VJ?{ha%R0K+eJa}=KOJnk2h|FiRk zSe65Sp|PcNDf_h~x$6rr25)m~RlM@JN9yqRO}~S4&d99DJIj?iC%eOQ9-Kq~wo42-$ubFv@z4hkgA3RTaUOhSb zq}0IYaY~#B@h; zM)Fzm?MDxVe@#DReJ`T)v)+T;7lO_Dm3q4`?@_IqDYZ<{L|>&?6GfdQ<8=4Q_aGobDfUYKag%*Y{P2v-FDt})$_miTj{N~ zOR_s_u*@*W%yL$Y?>W1`y=MdVJ-&HDg}rj$t=Gl}A8Ztnn|Ni<;a@M3b@bQsO|M`# zynjUoXs>X?PVwvy3a?C@OZCH&xE}9Oy?HifPEzHHqoyrt?}T$4cS{|ZlWU;PQdeSj zw2^yTbNZJ1TV|=Oeww!TN$1U@hM(IqCAgQ~TH~?Su~KRM+HQYS8@{bKo3r*ApMU)< zV7BdwLnU#xm6co9os~1$J}a-4bH(iVHQO7GdEAj=xpG$jTC_v5N**uMt7qb`br%>4 zZD(UF{oMUk?1DsRbaTV5pGT{>GkT7!b#%D>9$WN95uKG^!U1G^8d8| z9ZkDu7Cd?7*`m#Cq5L0aCdX})F+Y7*Z)(=&Qx~PSSVVE3E1nj2=BSUU@#QO*n(DMq z2B|N9f5V;mweyXJ_&@ud8hitzdu`9pN_}T!oV_N_Gn~c60UKJN#`2Gmt@il#B|9HZ P0~HINu6{1-oD!MY literal 0 HcmV?d00001 diff --git a/assets/images/idCard.png b/assets/images/idCard.png new file mode 100644 index 0000000000000000000000000000000000000000..90df2202da7cd1f883433c0d750435a016370925 GIT binary patch literal 19576 zcmaG|by!r-*N0^(0V(MQ2|+rgkuCv6QbLgK?v`%pMv(6AmTr({>4sgp>s|b+zyIFn zx%;r(otZl)=X1`SxxtF>B+;G`K7)aQL6epedk+Hxdjo;^!;zS56c`v`7-=yPWoKA$noAV%jK{Lh=z)*cCxD1A0O=Vy^8023%yE&yZ(QHZ z)$^!xR(?j<&3=qXn|)w^%#ow=+7zPw=ve6f(xA6MnK-^!&Gw7B<67L8BwT|XO5|f0 z5pN(877ThS$^k@f`_co{mXyAfwCh>sHu4~7yLEm%GD>uC2^z&G#3G0Ne=i?Q45R=O zBm4l-NV{2=FYYge0Z&&H4F*so(UYt1)+dNj+&xOXr(D__DCG^z4R0s^*~a0Mm#?re z8h%ajdvttwpUR)DQSBdoNh+O%#XPl>%A^N|1hpizqif8flL;p?lPa@G70J&wcI-g*{Sae9*|ljY{uKn{q}I8v%=~A;LTT`-=%1P6bNW=zr|iJC z4!-bIjUHt@GC*>Z9cw$Y1s&Y2x6ph7>2D=lv3{-}=IC<4PE^NE)~KsAb#&`9`a=xM z7l4-dGZQ4a4;<#hzkK&;keHIE=2K`A-R7DvA{CMpz$UTOS1$g73GH~8m+|?`%%e#S zRJX$idxDe35S$n68Z^?!kmsehAI=q0eiP>n43H%+_@p${Py1?0gZq5`RTY=hL@_D< z=lFP)&=3#O=+PI>IyP3ww}TTJLifvL9K$tEQp1M0_%GfP3E$GsdEz-G?Gjn~uyOsN z(HI-!+%&SKsD5r{JY3MU;FCA*!@=b+qtGQ>Ri0XrpzOx&v;4?<$xbG?9R&fx#3>!; zCUs3AI?!Qg-!$H^w^?_uD({RM6xtN>IympDAB%5`k0u``cZW|hHU;km zNixi?Odi!Q)mQWG^CnX^g`Q^1D>wsfQw6E&RJc{h;~w;izdgIPcQ1vuF#;L+XIx~w zvxDKuI`NJVKY}H zuzV0+J1B@#AMwKF$MH$l_p%%TO+G8jmV4%*Qra>?%5n^Z!S1gB%ceD2`<|5YIc48>~KEW3ClTe zx=E{wY2dld<6DF zT4CJ&7~|d($rfb4bvUKPi<~p$ZzZ0dcEY|!V|4biY1*eEuMJ};@bWuwT(K%vfByC9Ww1!srjJ#+^w`$IS zSRiU3nAOg%=7_u1Ip1ZbNie8-;;$Ivkbk8MoYbsv3ts1|Yb7A?8%}YXqi7rEh*RpI zmn93_w&{9m(kunH>MILcIeEO_05$c+tUctv_IEq}rI6e+q{p5wJF%hPv~DE6n6v+R z6cjrAcm~$Vu2;Rz8)}aEtt~H+ISzTRM2f=QAR5&g>M1qz$Y?bh^vR|*ID}?=1Dk`U zR&22cX0$%N<}Q3GBNB8zkK@eCjGPf^!@^A))I59_O!~;*tWU{W@2t8~E?Ncn2<%1v z2xN*vw?>HrOT)x}mWeFVs5ChDt!7CNK>GDbG{UygFRZI#$aO@HHPYje!f2xF>G$gT zh5T(?)2-$EQ5{sgy5&@%SN4B}3muE|ef5Me`{xNtWGOv3#?XLYYjV>ukOBE&y<)qT*3`F{pZ%>Xkkje z8fuWhqv5#hnBX(LH7nU#OT%&bw87p0Y@Om{{!E!A8hO8!YTqeDHwl|%1D8VX@=A6# zh3qzm@6A>^x}a9{e+CD`QFR@x(>OUaz{OJA@tR@7#$Fc9@l?dvQg*|xdMz#==juz0 zw$4indz2NgMA0i=8$GWof{?yJu|^F#WMLLc2*#bl{hrav*S{JjMNSJlK4RRf$^jCe zE~yPcE5RAAnGeNNiO?76@xaSYPM`BtxVV($3=%c;=s75oUUp|M?l*U-$gx_A=zd%* zYhz!m*sokORD;gJYr25UvZDhZp(jZDCC~6@oxjG;?_ki~l-PbBaKMg+@s6A)0 z$v$V|+ZSJ$@I2c-M9=QH`gEO1^%tc0aKRRR&&t6tG%f;D)Rmb}hnUdDsQy{#g#o3&&L+}E#AH*ViHf(9$qS35Cf2sE z1xbYtF{R~=7IKy^iQCZ)>$)}fzr!l5FyM>RHLN9@jcR^Et{;SLww>gz5jUT zf%J3!SxJrPnk_n-wr|20?v_OwPNK4@YI_Z`_ID9&v>7RW?^D_Z8@MDY){bGd%4SyM zx&QSZ0cIA|mJtt-?w44!hay<9P|mh&O*r8=qh;E;r24dmMh81oZa0H@qtwroxP3_o z6|JiOgOX5`$d5b=UhYyKpHmbZ`$Wu}O}J=5-0CJK0BqIt(0zpo017~ajOT)9nqU4! zu}3d6CsKc@w`lKS8FCLt5I$-VI|;tEE;)7zR?W85v2WZa`DZaAfQs49iA~!Qn=4|G z-X@TvlL_stgPZ@WJH<;y-aVsk%h|`Kh7I<=x(AC0;5-Wxof38Kgh%M+PEIEz;qxDT zkPsc~@Q|zgKqWcf(KqmhPcSpmc;>v3XC8 zlJBvxbO?Vj$V-;zz(wFgD^GvEQai2T*n(M|ZV$z}9NZt#hEczbYf0&jp8O@Ro zpfamDlxefyptE7M|Bskg05y6^?1vF+^6~K-PCSY0wDNhMl7T7 z@4<@CVZrHvt$Q{4eGot-5=K%;qtVZZ-5+*;7@Cg&JEdwNMm5vFpZeksC}^}|FY(8M zU$PJaUR;e^8x{ZI1B)U69$vepNMNj*&H8VDI#{Q)^CMX1MCCl~sZu&S!@mK=z)Quz z(t+L)o35H=u?sY}@ogD>;yUDPj_PW`1S4L`zXo7U2?KKA@B~=lXibrDqP!`K|F`I5 z0s+P?p`~lZ1X8a@zFKjmcAe*AUpe6LaTnB_lx}mp>p7Hz)LysjPYl)Zr=P-SIp~7Y{T_@DoH(d0n z_gDCz07ihy=`|E!VsFW~OsePd-t#2PF8?^aA}7rG(PA5>7%`I7SuBVU9%1Ek2sQaL zzvX|^vH*;!6vz0Lz@32WTuK+=wcSuK@|gTDL-`bLcK%XbC@y@C(-6@5c3S||_xnFD zoX7?h#w!Lz!@xi0CfwcRDd*V z?+e$n@utI%DX2MN%B-mWjFOdnh4$zuN3bTr6P2y&?*2KQ9#VqSoVKA8~;brON_4sv=kf zyZdARqfHJG)|kPu%n$4|AJ)W6+Y9(rH$N#7*YGDf;e(0QUeA{mX;EDu5SGC~#dcm$ zE4gv@_OE3{QD!z4a%t0+eHd{AxjK$h(SWlg$4FT(WiT`T@#ZHmv&>WLj1+JzQwr<>^60 z`tbXS>tZlj5$A`dw>iUFD={|_^`F0uX3^e}(gOC)dWy^D6_EIr5|KPuSWG3I3al7z zz(#wuUAW`uhFf7K9)=5~&i}3HimBd#BaJBh-;h7gguqiywOu$%vLgV02&g@NDg6{Pwh>1=Kk=l-R$imW!^pj$P&SnMXHVcIkNW`%2zJpvc$zYTWR{23G(IA zUrF^M``tMHGY*0$%Me|`L~eXmjWXM^Ku(3{4odL0_bLm@&+Zm{)tNqm-gu)uOmipbuFp~QrYL-!FrEPPb}8|=)=A&DSuI-B7rNe};>bW^kArx^Y*dlCI{ zYIGB{^)?@e%V)fCE}1zS1oh@rMB4m1(l%C@G1JWkH7_sehe>UH*azLvbu|=|AVkdo3BT18-$!+E)NZDAPqy8%J|BySuv5y3pg5( z1Z}J3(-0s{9E@l0m4NEBu;%B?8c*JRiX&2ObIR*DX_$3zft~9HInC6=@QhEBQ{Ak{ZJsSR)NTZWH=3F~3pXH( zvL6Q+Pc?7=AMdq9jabK@*FqS!)wUo2tA)F(w?i!T7h#~AvWo5dGAZMRF%LSdyX_IZg!L*qXQmm9#K>&xO zh@rVeu+?G}*L~$f*9qAUD8tw`)aTB3g`z zTAu_`9`qtEeDFTqu7D7d9SGNLJL+G6*pF~))0)Tyo^=!}vlz>jUov6q&F~UpB~k*e zv{XlhKa|w>)T+&X85ws*YX0dB85i!cU_E(;?aX<)~4#{A^E`E$-J4~ee#M=V*2@~>1}%waJzJdgl*@NntU{EJ-piDO2Ll|s=8tsN+th=raF2b!_Z80!HpRSa zev;}t8{ndMQTn6<#Z)`}hiTePQ?LEgN9a!h>kzbYG`oCVTW@Rq(W9>(=r@$xkFlPXz1a z!kUq?YSJhLK-X0kdw{gXdDJdX%Y$HG`YLj`wRmIrAcun2LZVUI2g9IjwEa1%9&!bP zaXaga9AmhYtktk4uY*pN zXiaOXS4WFR&DS(Ze1s0G%6y&P1iRWegJ`4tl`pcXMDRauhnJK;?o;ChR_c)K*- z9ntJ3qU1;F!{!PXlI!>I6hx3S!%oe9p%N@x{>nFC2atG`U=YNIWvlF1Ky;y0CJn>A zq-T0L@XoH1`%DV;1n>kzmby5OIx!b~e50I`?{fZwwJhxw zp$x@i&B8|eH~CPSSr51G*3VoJ;L7Pt2k2t5OftQG%R{z3{hE>&g|DE_<-QlP2ru|% zDWdQ5uLwxtZFtMr;Oy+y?4{%&1}!hRX(pGV9{ez#n*+qHm6MnwV$<*qO9M*jVj=Ia zQlUxn3rd5BlgONWMhUE`)8bec?hjt+Gqni5ckj@&ikZGOObO6E)OznnyqYAY3riy| zuP#a}J}L6}L_$=ccOm=yxQ!-nWZe&<(YD1PwBCi4?3sRD23M_~iTZU>^OjM@#CZ?4 z=yxMZbuBFU6f#y}0TK3zweLI=n{C>4=+&}5Cv4RYG_PG+Awe7HIm`%hianEhGM{v4hR0aA z2#kjsHy61ep~I6^y)$=^m$8fw$;@be2r+TLzAPCt62}?faa`}yN!mJjWTQF!%w#a! z$vl8y(53&SDkSmnNn?Y&GupcnJjXH>xc2gpB0i{uIF9O6h|i7MfL9d=+4+_o zDc5&8THWR^`x#6?Ty4j+xyM(kaBH;hIVok(YPUd;JEnYmQF*>| z^Kl5P0oWVS-Y!M%e!We1=z>VzdVfLw{zIGj(AspXqG;;yl0KV;^M$znNCpI~^V|s; z;#pVVv6F#c1xCPb29thxoNbHckF(EOa+o7gbR`N&>@-k*X?sHr4aa;Ip}w?adI0Yw zE*bhdD?&z?c+rdW3R=J9vwc#=<;6LA7mynr?bsCgLB^FhcHc$=2KIV{(LtEgDG zB`fFa;81zz2ZPD0=>&QFx^};7c0!qSGA<0EmdS3ebebiN*uIIv zwY=AF(>1+pZt8OJE-_lZ4bI0|I?na*<2-bvOdE=_y6YxOJZd;h?n!_y&N{Bsyp?8a z3nP4GUqJ3!joX?yAy*dnT|)W??l1&wbmr~(ePVB7mBxdk{MkETo}^9g=WR)v7jDdR zIi`W`Gb*J9uM;RPhS*#VEJj`J5Nk|xlXJdFGzsAeOkkd!XrHxn-t;92E%P{vl534| zI5g2u$n?)W#=*RxZKc@7Wc?bg;&o~kncSoAW$2r7DLy)}%r>I)xYJfXILktyAWx@% zF}&TXj~-0oh%UiRYo&T*^d{GuOlD;exz*V-B_Z!)@;I0CLh5g;0{c|JIsW?s48@ z!)D3FY6hnoU!;srgLUh9b1X{ve8nIiT`bP;xJB6q2EH}yJyYYTi#i}Q39F@14g+ma+O~cp&77ce+1;i||VkaJuhF z=7XM{`LU`wxmaU1NWqy`I$VW)eJaAcfY8C=Snim1>r zK#XS+SahH7F^3!tbq;Fw)*^JY#*uAzS;0zo-%eBURWpV&Dn*b@ zlvKnA>4jh$f9Hc009j=!n&YBOGyQXC&naAy_$igMXGlAYF(!5KaMG_aT>XPQ&1eY3qJ?|YDKzJj{F0PKlSoGZ>7V~Kp7XIeFXK|wbxF5n` z=fxxHwt!#So?^i#cR%?!54=5$BiQ9mxlwp<&ojOps2_?)w`^MeC3wc(^V*!V265SH zPw3q0gp7ZZ;Zwr4xaJX)%{b$eW0qrqy_9yei4-y0=3l%Ge^g+pRh|e566;F7ohwZY0QP+IHb20UvC0H7+Ku`^+#JFTIuR4;?h3jf z)$knCS}S~xEi=!(eZA}v`;6&C@NmKjR=N2->ZAck<9CnNay)prOs3 zvpKKa_bfV;Hwy1%A%8a?FbI4Py3ACyPWNJ@*tww<71#DF&eT%o*wb>1CnE1zfjG@+ zfxjvJvV5cKtMFK9@~}cQp3Bo;v3D*0!EHyBrvAPozPxC8o=@lt;Ztyh*n!&BS5fUR zH(p8q;@X-&Fw&zx5nBO`maXS4)FVa7m^g1RgO_7hRu$q%Zh-!X7L3zh^LP^!7w41D zpPSZZ8ov?yv+_g)2rM4^~9&chYjOmYk5$Jo>+!GrqDVlKY&@#B6;}%Wzv0X zp=7qRDB;H|9rp9cyAMx+{r`S#MzC1)r;6OYk4{h5Ef_Om97HpfKm-rS^xE92TtpB%u#cIzQ=5hdy5 z@gYOpinq<+lIOqx-46@>qJM**)zM8u&b6xpsp|A%uDvZJ{hexcF+zF=0P~Y)7c^W_ zC5LgP_F<*+UOok*<5wBoj=#y9uYPJp}IE_+_6gX9|hOAl*h=HF1}59 zHuJq&4<%`M0mWq$OaOxPQ|XVUv8@&{&r7Q{bYTQ0R!`lnu7d@3SzQW zF($ApO$UWk>%?)N-=smM*{!vkcT}Z}v9|!_wZKAkqHEs*8nB&CJGX9CD;-gMfKK7c z{&#{m2UF1{pd@)8w>}_hS=CnI(|L*GgJSMz&Y&O|WZP!vRF~%-|56dU%&^Ji8W5ME zj40suzGjtwsmq0TP?I9|bxiqo+{U?0t~_)pasfdHHvSvVo85x|fu2;yL#E}ZC`_-aBX9!!8%>&w{x%kzMp^5~GLv7YMMXJ`<~@qq38(rX0h)SR74y!w-u z<%E+icWUklb|hWy^XpZ*C}X5qag3zf-yof=tRxro4qUNJZB;hw@yVu1iY% zJI(D-q+fx+*{bcgira{{t1p;R-d3QG+L80&B;Q}6F~98*1Nc#rx9Q)ykt$!U6EpGl ze||<^-Q;v7o&7U&qD~Z{bB8pWE`UoM>J46D zT}IvOJwjj>F!6Se@okd{NRX?MR>}#k?^WE$Zg9gd{F^k0B3Z9~B%6ix8-dT1A*Nh4 zflUlBVVH+8@!S!1jCv|xBCl9k9r-=QBj_3R+JEd^xj+a0_MmhX7gO)M@Fi4%6p!!O zP1t0d_YlFFO@*{^R)GV7%FnafzT@x99n}mbb@c zW|P=b$IoL)Cn~1BytgS2S;s}>BBG6M{V;ohLLnwX)KpGi-U?))xr<37jyeD|_`vBW z6MmO|cHmuTka3;%8sItEN5c@=^{#}g>vt3mRZkz7A#vh^h_L6Pj zQc8+Gm&2mmrBe1aw&r!PfOFb?i3B7M$W!|J2c?tBJ!z-IPJX(UXH*56G~~QLjOrTo*6ed<@ZjM z?pGi`;XRcc_=lK4TZ6NVRh;Dwm>UP(=)I`$Qb%ScGFO};F8rkM;S&O8c?L)apj)MD zOGXcV?hR&C8k|)Y=PIl?B@Re?Q0fh|q1|Z77a@?ly{Hx^7#D(u-ig>pGn!6u5d5>q zmi@2Zti2q+HiifLjl|KWBbRTj#}#Qtg-$-%gZXW>Bnae41#%Oil&v8L)#?=z5l)ns z{F+C6_a+o)zF*-*Qcq5;KE@=3c>TzK#u9FV5ixAeuD5#KbQ|48JUx_9UE63d)0pQB zn&lP-bkSrE6mzXzj?MpY3VcmYUpn{o- z5!LT08c#*e&nlX39IR2aMXGhekXD!*qS9qe8@SJKb5QQvVF z*3dPZ6dQDt%SQ>zyC(~?L}Nc17rm_Cu*p?*feIey2BLu+x%SV^CkJMVO#e#xyH zHM2o*6H9F|!%>PJ?o))A7mM(IYLQELrkG0UC=Q0=LWj5q*r(P;~3te7{!mSu4~1%m5?vL^S$PN!VQusv7Y?`+5>eop!|)l=l5S2j#WW;11jdr#1$x zDQwAb7p1S-6CBELA|5G7w-0WC%m*X{IME5(FKRdVGLN7svrI}LKTx~yh1v;@)UwEj zQl&}b%E+Y$ZR-c##?3&G?cs&K|5&!>T?AtIo7-=!d65LC^MigwZ0$+=e3xRkeTR)T zu_U{V27}iG8YdXnCEQZUUlahpBPo0*z}T#{z=Xyu3#nbmB7CcEf=KMd?%ngUPxz_c zH#m#gv?i+0f%T)zFHo!$TPaT7b9K}bA>zPw z{SMA;k#&Qxvx^-tK^UF;f*X5GM_edDs3nekgG{yH&;d_>hJ+rk0zx4E{;0$KT@3@< z{+;}_R5vg#X5Y4rsYZM^m?bg#xu4eR*hyM+#=zZ{Fjq2yjK@kHC>TE^0TP>1fq)%ABUlVEUE;BC7UWmE(KdC9~Ffj2dQEw9PKN8 zS;=%eG%1Jc^Z5{kMcqD814>;5d1m7?K1*f3Tv^e+!{OTbQ@#w>1U9}D!%igKIGEot zY8V6Tl)95Yq%S(qDO|l%X*pPu2R)MFUL-zw^=#)Y`nvwq7P&Z;fhUP)g6V^Upf}iueCGV z%@SXKb#&DgYH*#VY;5gC_5q-)%Sb}SyR1#Gv&?G=zk1$8N*H-% zF=%p>z;3G^dFj;VP4tPN#|IIj`4H;a@^SIQC4JNkONp874%(h&){c?&SfV$XAJfzAhI(@IZz9)RHH#r?! z|MC_4o$lwsuSV^(*M&u-SZP6}iHFmfZ8S8PC$T!VxEC9EEQ8ip2KWb!4p-4^J^eJ+ zF$b2a(lNh2N;#Yel3^(LNQx0A8DU&caMzadptzZb(l~Xh1vDtdZCf8M7$AyRvM7^| zJ^O0E0Eg4JpNr1x2QlPwb zQT2w2R3@2E2{-=f5$$b5;*!(Y`HyMWz2dyO-OXe^qe>$-sEv8k`doVSBsMLRknn*C zfGzUOunV@2!Cr<#i=AhNwn%U6bP$EUiph(;AO%rlN0-r4zkgSnMSuyLN_a7XPGHx| zC+B?7WLqC}VCl4(m0D84l?7y-kH%_W{xB5ZCQb8MZ>Z%P=p-0=@Z=0jGYxZLvL2_MTO;c+u65qeHgBs=?Ke&4$}Yi*O$17*I;~ukq9?c_CyDtL3NW0&Au1gxHJqI@2R03;d)9In z$_Qy}#X-TEEmD4MXTVmY!m|qu=Moi|7;P%pDR!SQ0)N}u^RY0b_ugskUkak>ZpN}0 z1t^giPS~1WJ-fLHK`zrGwKNFkD~!`FMtv%Ycnug+=2-Zsk7;>AcsbW2x>5yK5{5E# z^wTC_-!B9I1vC+4s3DGQmc5Cs9Ve}_^2V6G4gcI7m6tT&H{_#wxuQ)itf$l<<$3p( z;B)O@DDP~uD7^|CkX-8sx;*8nE@F#gzP4mH9MoJxP7TJR*3L3p>iM9Th#K;=;LA{F zegmX2>T)CkM3fhcg51g-@|2wiAgIwcj+o6bDFU&i7gzBFjbJ}8w}c(4%sWFCT2Vm0 z@YquwPJ2DJqRmXtnRVli60L9;K3Pygzx;`_HGzNF@fS=Nz6f`)Oa+DkjeEItW7K#! z|3%eWs6kDh)rMQ>S(q+>)VZ|m!ajK)p8hlb+Da}#gY`JHI=MX`S=h*7kKf$5^w!n+ z(lBqDKFaHd2<^mr>i`1#0tMwM8?q%h8Hd(QL%mJ?BJrA3YE$^)1bu%z>`K=WHDNhC z{}WiwsTkL|SW=JqEtxN^p!y(qY@cFq#rMr|SMbNyq8S*buL>+3^)xVfhiIVlgYKZhS~kX{S&Us7 zj6v&BFqKKj`rcPcGuQnoRDllNjimdAwQ+OY81;J{q-Qk2jsNU#5&TOQF=$B$MW>-M zwB6Ii@)|&@b(W8vxevpBYmc$yfztBXAnN#u!B0H?f~goTUg&_^;`V$|^GKTP-1!a^ zfm1K}?st0r_YkiDg;fzx3F?6i@gwC1C*E%gmGFS~q2gpi;0mbBP=@2aqmv z^S8W;9#hdm-mDZ34z068wzJ?yh3`1ze|<@T${(gKkO10uG;=jQAO~7LrkK+W1*<=U zM^VBUs5cv0Ml!h;U}tK0 zXTM81>5#bEDfnM;G~GLxy#7^hf+qE1`|&_eN|XXec8K6&XP(*9p54>s(+Q-T@yBF? z`Evtb=xGm7U}u~Y-LDk*8xj6))`5A%bK32J+De6m;{-Z4w06<&`!i!jWPpm%y3M6V zvs~$Fy4^=(r;MZTty32${;mIU_{orHR+fCN3V2QN64wH!Z(aNQ^{oGP{|GSVq}3eh zN)})4(8SJk?3G>mBV8zYK`?PHVk-o{6T8s6_SBh^^S>Z_bhqE#@B}EuYG4Eq8pTU> z4n-XIc7E@kK0Pwi!?y?yB@)-YgWg|sZ724xG$n<9%oSGclyDVl8dY!StuFc2eWsF- zD;J#vWk=|Ct>FD(YLqY(1gkWumdrv6ZXgW1qGeN%bQ!@XAp863lZ6&jf}0=SL!dgB zuQ=3GG2dl~LD>ZU@X6)3?LbL`?(Bc4=#c+Vt-{@SjMU%anW_29RZN2U57p3clmfa< z-X)Ev|G%n8VQ+vA3~9?#G1+hbfpvs&^%W0Xs_OR1uHXJo`FZG zBqu9^{m)N#G1SRrH_G7!Xcj-Ok^BaLPeTaX0LJW6N%LyaFu9@IQ!6p6X6~l6%g4!o zI3m>^2}3xE;W9hRIjvul9N139g%8@HXTcCH>MA$ux4Eo1Nco^{KnA zJrK$~u9Eq$Gha`e)u=`OR_2CaN^z}XesfG}@*lu$CSq=U0`yOs8cZ(ilM$q+M+rsC z&=Csd+qFtTO*<9+XpYn42DU+yrQ=0hu3PDUXd9p)?|f!agFWYvM2y?rL;zg1f|fx( zP>la~DDsKNNcp*iVCkGpr%|=t@V_k4%>*ts?L-qd;kC@lC(ZTBTOw!(qo)4;Ia3dq zS%J2j5omE)bUxVD)V^@+)Yi8X`nNARB5W#+(Pb7M-`BAwA|V~f@fhM?cC=$4*VnCR zWqcM$3+-Av_4{x#*{wQZYzRwr*7SqyOLGBXAdN_ffxZJCsR|%`` zjsHmvL9AWN2;?#Q!%dkQA=Uulug*@23lmNB#pTKI-MY)T&#LfI;;fTdZDjndO%(=! zkbiLE5+3L-_O5(C3VKnr&JsfkI-MPl_*)+=1+9w4zlj$$G&gG4G1J(w>lvF|_%0fF zlYwajFKG1ofA!ld@5n{XZcWY+e1sNhZ?Zj>j&c66Y6aa7KMP#Lk)}rB_2la;_ ztQ9Xl89YTA(#(9spOR0gJ6w^;EXkoC9n)y2oiF;%xG%1wDY~<|GmbXe)u?VJ@N3hC z=a|M^+gM;5{_o)4e6Yp^0^;wQ3ws7~!jkH0>TvcX!Yy0Ag`)a!8=9CD*u8GW{8Sh2 zbY9@7p9aWyIr!IET2p6g6wW_e;93)R!#4EeqFvg}LHK?t0H!)lxiNRHpsAQLG!nbw zG%V2Km|i~EO=AAXaW-UN_&N7{glSd{r<lqFRn;6t<|DYAUsxGVDd z(t_$+b*#(WbRiuSLu$RG-bi&%RVG0YA7Sf1FVROi)@*xBU`+p$fY7Xra02QeY6uq@ zVaCmiKm|@jK*94ReDIppN1{EW>d;noJevdzQ@fgS&*Q}pA{f@8O=vLJzwHM)w@PGT z(S56Qw?eKDDBnxuIWoUbIKFE#W)3s0Fs<^Ky)PM7hx>26b;HD}c79_N1wEUxK<>`h zCsE>939{17yA&T!6S)6U-g@CaQokGa*YJdq)WH0=6ET>mQtZ{76EjkF+1x#^_r*IQ zxpUDnw8ReD5}GRl^BVMlrCz8fqgp!rN@mG5^X3@Srfe$St-x8SA%E4!YW5dP|BUO5 zTDRr{2gkIsanY38xP~!PwQAsUHnnYJvgg7t%FqJR2OI75rOG#C$HT826 z+v8kq*t_usG3yMj)pI^)mYhygpF0(sH7=bchccY}jox%J4Zqz%Xvh4y=fakR<@H}c zfJ5_iERWtd85|eLF%woSs^c?F8Xg&J5#AO`qiGQ#K+UPylV)EKRrY+8Cx3Z4$I@x}u?c|PZ!1q2ulhpYi6dR*_Iz;#$3e@DdBsi*r3+#8& z@w7@1Q6w{K7}2$Qmlv!iRXu=$re{|8feB0iEpxB6jcX&KeY3JT2U|imjT8JBtKza> zBgBu9tMi<-8*ykBf1DHsU`)dJWi{J`+=5)htQxYG8yaCKqT`(aBz>9ZVX4TkRRLwm zHTeE~FIPuL9eIC-+oOg{waxTky5`$Am$}YbE`98|Pi>9@{O5~@Q>8X?OMunitGCQz z;yDZq%JkE_0HTC9k#&az_^*c!IaSNFBXOH$HHqef5h{&eap2593kNRdMm>0tB6|;HDt#q6Zesxa8_3Y{ND>*ubr-K?*0-l?LL>dY9Ce|@p z?>h1PPV+q3jf-ulQaOy5{ws}F_J!fV(7;c3Sq(iWc;o6pV~HW_)I9Z0P6hAxIkoQ< z;JMR5R;sDB9mi}H${9+i*4x^PYCmXi3Vs{4$Tt-mlYr!!nV5kQAOkz!G}M7E@@; zOS0%!rQU%-`9|xAk4m4}@4;|k&S+p<{>AQ`IFQJo!bPBlROZL^Q)!9(Dj)^bV!K2q< zi5;rkVVZQ4{d@@%bZ1)sxS?&gc2H2o$IR?$vtKGNv}Dd<#leGPRD&7ZtW0elPsNH} z+)8y?#fnq_(jbl$X-w?%9tn**54~3Ou04@;x(f(u*Fm zAd|b&feD@&BMLWyV4-_K27c8?aZui5%yZ^@!L*Ds=qn3uJXD-ZA3_@y@@Pr4p>G8c z+P$rQJcGVJ;L|;xL&iG=;&d+lY>C1z0ElieNl{(Be>x{QJ%&ZIW=tgiSCj?Qx;scrUKCpxW;=X-J0^<>dow;fG)8i!b+)v5ZEZ8*#j(qNLFk}Cs~ zZsz`MD$P0s#A6waliu1?)aQwOXc{M{3CuH&%U(_PZQNwf(Zpk^%@p|IZ3#VWllpzRmVCs$ zx@Ep$HeH5ZMN?xeT^O70zFWR)lOy8#S>DpPE_K=Z;Wgv1rj$#}xPz2(<(X;D@-%1xG-AWo;(jM8{4u8}SRB+E>d#N;7VjmRC{BB5#un%4!RV~FjEVpcK)z05zwkpvxC#nvYzX5MWvEn2KUP zP?Swq*-S^KNlK>Xt7T$ZA_@7xd@P-Ld;#JE24<-Un9S13(b?F)_m6we@0@$i{e3^@ z{ysH9m!0-deAYgkU46K}c;@}5>9_h2dZ(!0G*VU2f4$T5jlCDOLl__MXE}fcgAK;x zx37&m!ntt$($?GKuVO7%^`BiAh>ofK#QmG{Vy+u)>Fy(BnMyn1oM>{)>D%$bxTjU{ z^Ba@u=-4{%X%}GMrIr@khh;=OHcjWxDXk~s#_psgY7=d9Jm3pRrmON04o!Dzg$$tMT#rIEE zMQ}M?nDe;VmSD9DlWrPkxzr#E^|)vF`zc>NJz@_otV&@jNoJ>J&N|$5GcG{nZyj27 ziBDhGjU&`_2Xa#LZ9sU9!s5ecX-4x5=W2OMdB9Jh8R3di$!8G;T|J{wYG`yH(*|1^ zuo=yA#%F29K)PZNb<%a91NSPTu!pm;vF=Y}CiEPdZxjsIV4n(a;6#gEn9~HhaP{%7 z?!}m0Q43uI^MNnR@DyocRnsMh@9Oe|ln_n%l|v|~dBmwb{!@vBVn04JjhrJqpdrPR*thx0(n%(S1^=GrWK=RQH`v`M8CYOM3rgcpx(7{I;|8){>~S#AV)M)>A;^ zdEx&#G7r8byqOxXlOES$p5ah{4)@&&V4)VRmIP|~(L@&NL)0}&C?Ay_L~7-~J6Q-- zPJr4Lq$)CH)>}sFUvc*5h7{y*@E$h#>6g$LbwX9t8Zi=|*#KW(zvK8{hm^NBi;>E_ z^5ala?Zwt76E#i55qQdu6fO_#*cO6&l63|ZN$tLQgzW|!5mBZCoQDBJut4q1ajK9su+`;kOoNhOZ4j52T zEJn92wK&i?LpwjBn{xK*x0ia;KDcVC0W}W61k|IzzgnWIP zuNucUvmxzY>Xc%|5+rn`0h$Dot|YL7U#rHJf3{|^mQ>ptC^5@Lq>Yd|$Lc`Bs5blt z0|gynDR(J|<9cng5Mav~sbS*}5$=s_hUi-FCzese-CRlnCgsh+Wy?QUI~l=K*#WE> zxoi7KEv&$YEeDX z6Jyat$E~V1w-uUEGt(OJ_w#GWTI^?gQ0FwS*wzQgPcJb`%)DCcQo8tsV!2ns6R&~@2JxM_!`aiAG3{;+p!+Kvu} zvh~heE%QP9cN#d4d_}O-1JURzXw)~(y@)l?v?}2MkJzyfBUf&b!jwuGWFXI=a=;813oR-jR3@o38aTxO&mh*=?<@M=gt!_wRmpds=h zRrHb!x5O#QzgM1e>w#`H;jI>6T=h75fn$F-v(0^Q zyktl6R7BBqV-M3^!^fvCu*43JEG!z&#(qWNzBYfiU>zL;J@7tHJAkTzrmj64tPUpo zH+qjZuBsohoWQ_}9mIz(mYlcyB;$6 qrQ(I{zo4h6v*LMJ_x|dSn_CXd9Xe{ + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/jian1.svg b/assets/images/jian1.svg new file mode 100644 index 0000000..0e4f81a --- /dev/null +++ b/assets/images/jian1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/jiang.svg b/assets/images/jiang.svg new file mode 100644 index 0000000..247abcb --- /dev/null +++ b/assets/images/jiang.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/kxz.svg b/assets/images/kxz.svg new file mode 100644 index 0000000..d07e28e --- /dev/null +++ b/assets/images/kxz.svg @@ -0,0 +1,113 @@ + + + + +空闲中 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/logoColumn.svg b/assets/images/logoColumn.svg new file mode 100644 index 0000000..2bd8640 --- /dev/null +++ b/assets/images/logoColumn.svg @@ -0,0 +1 @@ +职位云logo \ No newline at end of file diff --git a/assets/images/logoColumn1.svg b/assets/images/logoColumn1.svg new file mode 100644 index 0000000..d8e28f6 --- /dev/null +++ b/assets/images/logoColumn1.svg @@ -0,0 +1,59 @@ + + + logo-竖排 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/miniphone.png b/assets/images/miniphone.png new file mode 100644 index 0000000000000000000000000000000000000000..6c3b1e05c6b7103c68fef43726d6786ddf4a58d2 GIT binary patch literal 56832 zcmYIwbySq!6So2?AtfRW(k0!Ef|R6`w1{*!OE=Qpuyl7zE}>G=CArkHu*A{}3+%pp z-}n5^`^P;uo;mm4GjnI=Gc)Hr(VFUt__&m~Po6x%S5}h${N%|~&Hozq^T(BgeU|0N z?y37{#Sc&FC#eq}C-RnGl&#d%o^U*lv7bDRvVDT}AIW2*d~8piU=}`og8A4#{co)h z<9}bDY8GPt|M7o>q$linPoBs=QI>zN z(Vbdv*}h>2vVD*fxjfA4U3x&HgzV}&P5l}=uUDW)ZHv^foVxti zOG}7A+McwL@*%s5jz-3u#w^@*B`|z;Rd-Nh^&bOQP&Lax#CV_g_@KA#U56#yFUO37 zj>M5o4$JrBW-I===^w(staKqW`sw3iG!Xan?|t%h0ZoAgHKi9e1MaL~#CJ z^V`la1OfAEN9Kz(u!E`ANq42*%Xmi}tVpabt#!}lKMAJQL;Get8cXlb^efA(4-p0` zdHS49M|+|aw)#yKbC_lK34zXw+&j7uys-vBo~tU%a{|B z>L)q+G}+Iy8DvyI=Bm`v(xQxa@5>fDVE3?^wlF||yZ!C%7K7YzyTaG3cdIKc?)Q`d z0i8YmBcta$98V?XKrencl4H7mTL}C0yH4WLFL(RadE67SFrks*=Q~1JOGO=Ge(vA` z<+AAFzLqrLENhtC4NMMP`ee0#VTsWpPKa|Afb9Luc~>y|yUM$+-Y!YGl zQ7#iV0K+T)nzh?GLt8g9h^D#`)^^{5NL5gvCPJ`Bovh?%fhXJJwdg~fY@qR?nmwIs zm7_O~$aN->_T%%rx%ZbEtKW z3;(?zSOXB-cr+Zm2Sg-LnO3uw2YS{k+5)u826GwzMM7Mfc^-pKCRVhEe*1zE^`L z&1mlTPD<$Tz@Snvon5Z=f=nq`vCZ$N5oe=DG|INFUPiZm9xi)N$5*$%HC@xX-DhZ6 z|M|6#>LqHWPvroDd+?|SOUi^(D>AB}sC|U2R_8H^&lo)XX0ws$XI%SnX-Lf2Nif^ln0uAK?3`XDtjm4oDt;Vae73zZWT+@P_SG znK=hmuK7{M(FJ_!EO25$VwBBPj4oD;l^;H%V>VK5*T;cEm@7K{WrYJ3JKOH>wu}!B zVCD27z!Vg@lt${k|E*EZSddW-&&Fqu99%-7l$SCLcN<(cHR5;3l|3Pdh-rablSJ6Pg=A^yS_35b3!scwU@F{2N}0`cKV1d@DyCUy z{beYYnhEoVTvnp;daA0b%sYXNLoE9 zRyVV_k;K15{b}z{K+DueGh8aK=7~>2A>Q2od|4j0#F+xK30?p$W_~9~=>Gz2{cf<0 zLCXV7ZnL+({ql_}UX7?0!_b$1>JMFlc~{$ z9}J@>#2e=^{7Ds$t%=32J{%>41gF~s++r40U?3L;a%hq+I(r` zVHZ8xlB}f3#Lhyg(EiAgrrouBoU?5S

j5R<%v^u%1JXRwCJ{AmhWooTGYrYy(n| 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 %08y@P_Q!W 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

8?;|`au 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

1Vpd2ebR-czh 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 NzHe}^RKxc5{{hs> + + + +拍照 + + + + + + + + + + + + + + + + + diff --git a/assets/images/qrcode.png b/assets/images/qrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..19587c6bc339a6cd6e875a16c04bf1460bba84bd GIT binary patch literal 74396 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 + + 收藏 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/sy.png b/assets/images/sy.png new file mode 100644 index 0000000000000000000000000000000000000000..1532e221e759bfe93a0eccf6b811568c0b2ef430 GIT binary patch literal 3088 zcmaJ@XE+;-7EZ)oRkKnAZPlo&ni{pDMu-xzX>Bo5Dk_TDZK)2c8e1aNr&X&)t9I3A zt4fE_8lMP4RjibV>eWB@{<`;hpZC1)Ip=+z^Y=VJAuWXX!TbOKKnP)JW`CrPf5^*y zRAquix{m~iv$rq-)Q-xm95rVCu805|8-VJO=LG;$F#yg#kt2eS2mpY{Kmh1Sfq!OX zj{j^O$)NxGKf&gp_r?H#Kn%j{vST#xM=@WR^B0N!#zw+`=ws^VI|>RYH4%Zoh-FYz zQz)?^&C%qYGnyWdDyc4OQ#9l%)rV9YKf^WnGWp>bMOA_%f3Lhee5f3HCdFA_lFPKn zmqQ6%+SL>1^@c&~V8jkf?NQrxaLco}^_Jygb{9LI!M3-5ch*e)e}b&9kX3kYbhHEp zW3Np$>NGVsOOf=WYUQ=GUIFH6<%u?WMQ@02fS#b0UBpCot&OcM%s9HEtgK8$dNmvY zBXRc%$QK<#HRQVhlU-9UeR>cjF&t8Dr;{WlBxbC76O(qu`1qJW z)U~melxWsI^ZPC*eBkMwWM?JPjU)oel{?>$I;f-wLH#by&2?@KooSsAE&Y(5@rZ+7 zdT}|yuRZUGiZz|(fcp?8f+R`XDFRxjM<$U&%&Oz@Z zsofV9Ff8T*b}k*VJ7vSQSI=`uFvHf1^3&g?2(Y!awby$n$H6kHFHausn7J5#qwI_n zKrOu4{vpdN2769DsmFeYE5^R4F6P6dp97b;dCm{BcUGV*-@7UjJxe}iA3(Fh9(HlW zw+6onOFX5&NY;8&G6vBb;rWeDa5V{*r@#MVW>r;HTf}{}HpzyHiVDpB&PooG$;<;$ zb*}_iSogWj#lwlfE;j@K>F6)wf{{4D={0NPO-~n&-_Vz+2En$J+K1!lVrvGfU4r?&C zZt=#Y=!cL~cd9vu%lTV+I;cSYx;Q z6}~~`n6z0pu6&Jxb~JLAPFYZh8$Y!YvknQ}_}+{))_h}j@~>Xm4?nJIO9zFrey2iU zjhl;dCrN6#8pZ{QTL8wR3a+dB=FZFxr8@oc#)by8UHrsOPV0=jy?uDfAg<^qm+}*Q zy*7Y+EZ8%OyyzjWgX(hZ3_$fO_TtRL+Yr0liv&fD$dgDH}49 zNPQhmn?6)=Ai+1=`+o{5!)Gs~Q}LHjk-scb@Ci-WCUtaG(1CFGhs_a`X1Ou#~&LG=;h5*gN4I$IRZciA(g;Mj@0 zdfgv1kDTRU-l1tYYp(ReNAkt5pF&-tW1=+m&bgvyo&55dSxx2-MkC5tA=lE}kk){P zzY(+dydL(PwK0+a-^sWe_qFl!`{E%<46n}_f6vnDPPgCR$d~UXTwjf{8eYxNh^jgW zh*(8FHCsbmsrve85?48*oi>YJqUOhG+TYkJ{+JXgVCV;BMaIs<_cWf`c3##q5!v`8 zE!`jsHqTZl>awsr6#&?vdj7#ii2N3@^UT{i zi+OfT9LP#wz2Zz%zH=qLrs>U&jLR`{t!e-1~LbSUZ(yJ4D*#xWvh2k!D_+HvK@Peb@Na!{NS`f9y za37P=?^V zL{H*05sVNFNus*Zvm^G`?x+cl#-%~(KzIbQa z(~2r&-lnwT&*X(E_$>6LuUu;m?a1~D7evnzT965Tjyz$EqC6GAKUceWhZqIOV%_=& zS*vrzI< z)AMs!w7jwO1;3n@%y1koSX@KJk~Jd=^E=QQ9T^j*Y)g%O-wp1B=qZzP<%YuI)THMq zxI(aCet03c?lQ+ns(*7SD*-e2DBE2e^iPn#u0l<91h=Bw`~HT+oNG^!-tWGRyaPwi zUXe38 z2OK~3!Xr<}gy&Mszc|MNtrq}#)V;czK4%x&x1-wXie;!AK zyIT!tZI@v}w2pUn7rRL>p3(a$q-Y}Ztm)IPR1P~n|CGo*KM9+_29x{gReTI~#n*dH)YKlHdLYdV2YL^@j+*`}2(>%#mibCf;}c E4dOGxj{pDw literal 0 HcmV?d00001 diff --git a/assets/images/sy1.png b/assets/images/sy1.png new file mode 100644 index 0000000000000000000000000000000000000000..41bb37385550c102099f92b7f4239acd2107afda GIT binary patch literal 2285 zcmZ`*X*|@68vf7F*kMe$VfDpXYtw=l6bo(`~FwVeBI8006+S*D-eI>hO!Kkn<`Q z%-wS?pfEdAG*CY-_T{|6__<*HEiD1XbI%HZQUd|zUy*Z)oD%?;%0U3rxq^Pp%EABJ zI+Qd0-~S4}AdI2TPdH;Sh7OUSEsvNGeq*7ZYxQ@V@3*S+XRu{+2-q zIC3+8G=%nJ_IZ;=nuH8J0=0A}R+wvAcV~Fi@X@pQ3MQuabcRUloYkyyd$K6xuHVeg z9X*V@9bjQQcKSzQM0?P2Q^c(6U`wBow0*hqe2TKy4eBnfkq4|{c{ph=2U~N_Qxz*) zP4E}#7~H0M+PGXRp*y@JW=M?xpeH$5Hz;j=KMsz9cP~ENz-2)CLVUb#Cg^v5V0c{- zeSZyQJi58@gv)y|{0gkuUI0x$%?CQYDV!sK=L+>;=#jt|09-85hdL<9fvP=|RpsaV zVTyb2-^5TKNkvc;2S^)Xp6xB51CiM1No#|i2exhfGI?cFeM($oJHne1;=0Z4v4hs4 z({PJKNoqq}e6%r(MbFa<@=k{42)B=vU<_@Ctn4V^+lLjtXqs3|GH#8+zuGj;0T zHJA%eX6evSnne|4y^B$wD1I*2RBT!-g>5#=y2@$lv&TSC3oYA>d@7%04LkZG=txnR z7?3aAs`wfMjj(#>B+CW65Li@O*qUG%YxD2^IxS^!CnhEc4qCUiTi=2(87C8A~urR?oQY? zdTLUx^Mc))Ia7v0pSl7p&?4(`+${!LQ9GeOWh5R|(S>M*&5hfKV68}X+0Ciw9)hcE zpoPk~16DQ)b<7GT8FSWrfXb5}kWzR|l(s7{f~HUtz1y*Nw6^aF-+7qj$1BY$*zkcU zRn6&xNkD*w7(lFGdztSuCfiBoBmddeCbR_49V4)<$Ep%m^wFLR%e*kDK_R=G-#>@5 zV_x*hWmzQ(EDDAAZvXIz?-=RKaQ11~i4PBY)vm00RnS!M=fkDXZhe`O-kl{R!Xq zb$Vs-R3=Qg{*0w9uHd*7f9AW#r-WOBg|!WNPkUX(TPb7kBBm z)wVAr-TB12h)z&MvI3)?_u(`gl)KO_KoFU}T%Mwa%qcb|{4K9+%MX@CH8oxuo^iJD zrcJ0uCVnV=4T*@RYdyLjI5D4$S0qm#(S3}o6Z5#191q{!-i3uScGlJwDn3a!?HCfM$myB3DPhhI45)4vnC z2Zwq0-+YY&&9fj{^cQ;O0>Z%A7J<>#(CTX7^6JSaq+38S1NOUgypv}TE+E-rHdzgO zcR6%3hM{7YCv}9IxDojm-ci_0H5?_ZPot;X^Qf|la_mGc->MCw^$l<`HS%>Xi&o>4 z%PfH~gUAft)l9Pi`OW3RTLhV_To(trolmf}`;F=$h^B~cBYo83VnKl+%iHyv@mdci zYF9Ox-{iU)%8K~%d<&lSK`AG9z=M3Pxk!%nZYhlCp=_KBr4F_wfHfJ3~@!vWqK{AZ|1xL)(NB2z|vDMFV}ju#x#?6w6tgNFMc$|{gTz~znN9uzw4DIrjnAY)f8f?Z4}O8j1U&n zdQw5ckdDIq>>G^x1Gj54XHWvyFZOC={z>z f1phPU)WJW&He84zFboO*^=e>^tuXay+`az--O~F@ literal 0 HcmV?d00001 diff --git a/assets/images/sz.svg b/assets/images/sz.svg new file mode 100644 index 0000000..4dee4b8 --- /dev/null +++ b/assets/images/sz.svg @@ -0,0 +1,63 @@ + + + + +设置 + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/wd.png b/assets/images/wd.png new file mode 100644 index 0000000000000000000000000000000000000000..6698bbce193966f07f144410f7151eb4eae8f8cb GIT binary patch literal 2589 zcmZWrc{~%08=o!5^bX~WB8ye-vk@}K9LaJn6`R+6%Q2$Fk~3lq@7k~z3pqlYoAka- zWlW@%Gp{2tM?sH#Op}y5P zn;VY@sjI0`UMY9+TRepxQ=JA(nhrPCH-*0)9$xS3>kGP7Jv;vAl*FbxSc7Mm)Rv5= zXtgNAU~C%{O1`kP)bymTuC8Q*;R`P>nnfee-rn9wO8r`NVYzW`h^KD!RA=0=q^$>| zMRjWX{JAN$+1RS4FzBXuYoKHVbZQ#$5GVF#t)Qsr^3!!Q8h*gR^TJZnc0zpo&b=v5 zVWl2i*hFh%7CEoB<=bRQ_o~l!tMZv#PAeWT4~v!;R%<2#h9ms^Rv)|8>^1bUi9j6O z!Jix7KPHX4AY>>;ofxXrDIZo(CSbk%_5$Y1?eXoT_9lVrzb{h^qcmD{%qs8z=9}9r zH$VSiE34Gnw0fZKuKr{LjmBKPUbL$$$RC}h^MzHQdS$O>T{{CLC{jzscNIdp-QG(q zOW%+9urd1CBg~bTN`3+M*x&x~p%3phEX@LycQtlIqPd*9#adGQL_7%1J$9!VzvmwN zCnRdpRt?fd7|~TF*PiQP_}938f--igYgMHZ?paa2ux^lKcG4DkIHWVrTgrd1BtawF zsw%ZT+;ureM##a>F~wK@h9+4*m_tKf;LsTioJy#VNAq8mg<_Vn5^vPUJ~THsA1%&7 zYn(lMtmk!{)4TA6LkZON?)!Ma3B$-a5yWv9j#U32+OzTnITvfItK%e-q-*-Z#rM#0 zACU>wTjy>fk;s>yhsv2CELEV`e01;eqn$2eCIicNEdef)f#l+8#M6y2lI z>GZ4b@52pqUp@*rxjg!`(szCC^(F)YQQtCt`=!@^hI>g~Kgh)>2i>fB@?rOnT5-58 zy|vX~{@`Zsb>%7n(*iSEbI(nBatB1L4Z4e>%ydEn(u-IL#Xu8`YSBCwdc6qq`MN^71$2bBNdm&*z4xQIy=4%JGaiz=hBO+OuL? zTicX__pP}x;}iL0e1 z;1VFyq(!!Fp77a4EIIvfTPNJj7xPFBw63&Auw3WjXzoDx;pOh^xd0SzI!g6FIt4)R( z`!>>o(2esuu$>>C5O!0v;M1??Rl}kB!o-dx$ul?_O{Ong)N7L78~Z5Ii$q(W4i}`d z>AC`k$`L~g8g=4*&+0dLCt0V(P3#DjF)KoPWhIVON~qkKOpdR=e`1iO-9~X|FfM~l zS{9;&%ZzIlv~PF_W~kw*^3OU=n5DJF4@C~qIpQ2L!n+_AV|JpqX%=^$oA5t9j*ugkaK z>=ZL@{9}H~s5F}odG)&Dbcy>@KYJ><`S=$UtE@bP*9h9Z6#8?;T>7py)m^9kiAb2u z&bzlMK_&3TZ{T7Rz_rBp$#RPo!O=ej@*F)per5*O8Hc3{1{t#n{2Z-*&g__o>qpw>Eoxtf zR5qU^1iFQwxqVZ3J;=B+_vzEBu$Sr4c#jva3q1V9t^m!`I-Hzo5q}kNM zyrxEpBFqjWD6yZm?m=9cw)5e~LK7d=I=|OeWC7x0uaa}=GnGC$5qQ_~16 z4*@L^m-F+L8s2Te^%lpKw@ZLpOm7U5NShJczLwEbH#MlCNZU7Jrn|r`jE{oS)dAtF&T)UGF17+{kg4bToKt$y<^o!lNkO5 nI(oD)<^OHYzpiHsE50RqQ{_(3U|9wAmo>9RqAcspJ@5Vp7^2Uw literal 0 HcmV?d00001 diff --git a/assets/images/wd1.png b/assets/images/wd1.png new file mode 100644 index 0000000000000000000000000000000000000000..581f2d862a20aea9cca795ad210827f7f328b751 GIT binary patch literal 1810 zcmZXVYakN}AI5iKG>14g985$Gq0Nb03$xM2*qD(^?)OVBVJ*EjZ!V*Y)G60@Ls%k~ zBi@RaGITOFx0FyFxlAY~cfEXh-w)@*^Zz~n|Nr^^Fo`aXvQSkh005B1oyEBAlYAg) z$o^E1mhapLFv-mk4S3YAKEJY+qTBuR@^8#}X?Jt2DX^DBk$- zZEnvGGG6sv!Q#Y8tLQ>PT*~rfQPSRQYHC<&SbrNPE=fWi=-8nU|95;))nyl`T)t%F zxu);k=RBm<2vu!z7T2uIVL}gGN$B@fF5vh?<6#0a0;yHKMmPI${9Q+}994fMso_B| z4qPJ54o&vG?(|igo~CD_i3N706HOTu*7-^r`prpSfu-OgVgQL+#FpO9V|wUYdKXvM zoY<;uF5DVSt^@HmtWUD4mgR>x&NB43BGJW5uIMQd7OI2(%=Bpmq1Lfk4@^<~sDZ(3 zh3OoRW{8+|f+k7o%g>eAU4C3ZJ8u};;AKUj--w>U+1WV zX`*tCW*sNI9|a8jVrELVu+I#V+8Rj^mpOOu1ns1kX;I4iRApjxmKWPaT^_?$gR`W8 z%2zGeW`(MMe6d9`ceQip9*(Z{mM%WD+*`IcuuXs?i_`(lf{DfEh03$NrA zeafxvSw$%I(P}tb20y3C-czN7j3u_Nq^4|&8X7+n?lghKjSVY>DG%Xt9AsHJB(S9N zRJbIEaxQ}W446F2f!`!|RyMb_TUreEB$Ty4$WmTq)gBSmQ;xDqr=Cb&7qxLxbVNRq zv_a3d-+%Fz(Bw_tA6uOpNmFdo0ouQS1abdk+=L$iLx&)oBAA;np~JW20$Ixb?#(K% zqjWh;ZTPqGXLFKpqO1WepjX~Qh?U;^8T`iYb(rv1)|pBuIQjNtSD2uaX!5>aqqZA! z5f0b8hj))oK329B+bmM^JrUW%l&rPmQ|~#swg~TJIJ(F4?p_9#>8m+~_cwSVa9|7e zug12f&u@owPYj4dY{jVWX6WfPFuGxEJuo2N!5Hy!Z`HZ@`}&4R3=ge)-YjS0G2jHe z0I!}39~aA4 zxZ)Vk`YkIt78g*qv|8wHK|8|V-Zalp{bVm(_UiS%747Djou-@i!koBk{Z@$c&s+b! zQc9TpFgdgwH!nUCTq5M|pjl3Uq*PEq6uoM$#m3>u)amYs7mXygW8xnORQ;@)AEcLj zgDYw`J~NfJS^AY>%s!8J1DZJ=*e2u~Pvr9l8FHy(>?m94pNQ@=w*Wv?406a=c>o zERE0DueqJ!(WC6_Zbx;ygzL_Vx9?w=t8VA5EL85=tSS6#03}C5i$@k7z$WruDrsHU z?VG#Wlq?(REf~6wNzc+=L0S2B(HKi-HEcp;BTSdrGFb+}AKzPu*T!$jH1mi3qg23_ zDoT&BGXYBp76s}WJ=72lU7aqU?tpYp^_GvzOu5e4y%OD_^F#CbTmV8nAag(wsWhh$ z($ANie%ne5*B%pfh8|T<)n+SM$L{1Hm%N}?LQ)iW*|6ulKX`H%TU*7@=}c>ajCJv! zlFz@+dbVCQ06hJvCm6u_Y0Zr~m8XU~eB<)1y8G+l-`YolqX^nsEtj?T3=JHpFL|H( lEkHNu+8?CN|BiTq;)b%hT?I+75UzXBM>wnt<`Fs| + + + +我的报名 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/wdlx.svg b/assets/images/wdlx.svg new file mode 100644 index 0000000..d6215f4 --- /dev/null +++ b/assets/images/wdlx.svg @@ -0,0 +1,57 @@ + + + + +我的老乡 + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/xx.png b/assets/images/xx.png new file mode 100644 index 0000000000000000000000000000000000000000..84ad246ae11bab620b8d5d9be9fe28b0966936ee GIT binary patch literal 2247 zcmYjTYdjO|8{V8-G{Y;T&@ysJR8-Dmm@zBFoU+OJOim%@7!nzJ=d6-p<~XG^gm~u= z$>fxBDr!^Cr|Q4Hy#M#Z^<39|-`Df}e)p&ANyDH`g+Nju001C_G&8=+VVge?;NzUq zzQUax0)}2Sg#)NV(#xE}*xerKVQC3a;%ET?Fx4Bt^T)!06bAqRcNq}C&0*l5UK!WF zQ=2mG|LZ@-r(S~woF~+g#)dYLKvq$l1rs6N8@r(8Fv&;yJ3Yl0<*CtIKyt4wdN%eq z4738X7zxS^_&IU_tr(kT48}Pe)-)7*H*9}RdB$R51#DUXvpFJsoa8DG6(FR_Sk*z< zKTg2DA3R%KkICB)=#6F5w_irbeb{b&Gqe3{^;|$vs~~p@uqz(dan@Dhte^znzvbB$ z$)HxJdlU*~$Ffk<64E#`A<(4VQDav}XHHE;PcPpLs3ViTs;E@Dm*>DdOOV>urbB6O zkJHV+bgbydkyN({_RNbe*4+taQi)EKhWMHXl1nb)mYbW~U5hF8mJ8(xXDOqs{MVrf zQ_~mU%pP|y@F|~zOJ*P|Yim_K*wd}xH>LXe!1h)#9c6(m0jKHJQ+2q`1m2nTrNK}Y z=jZQiZEeRC*b|G5Jrq)5p>_j}wuv;uTAIDK8zQukl0KPW)E1=_?NBi#A*Bce!dXA) zqruVTY!^9b?mzB2=XM6@bh_=??@BoJ?wt#G*%qRwm8cB#*H+(sXk2RgShjEhiF7(8 z=m;ZF;kKXH;)~$or;1ZXtySIlhf>RXLipLji@|dbl9Q7oOq9HOUY3bG51xPR#mwz* zU_@Mj?VbR&%Fc^?68z+MXf$Qd(u}nHa5z3C(0lN#l=4{c6Q?dX46N2C+Ltx$3EqhdN*}-bvqCUG}(77O!H_M zoGq%Wt6L}Pc_kuY68UZO zZgwojImE=oM4BfZ(qK|cL?4K?KkqWXntC~u_A~wloK+h(!|mFh`AJ?C1y=K3%kF1a!aEL6pn zTj)1^Mc2S&Cx*;|y}i9fsY|Min@WofygMI$fe93-k=)`N6Bh?0k)Snmv+PXlRa*E4nZw^-JyMjwv&3=FS!ns2}T za=j7fG`g3Pl0v98BpvnQ*gNj{Yc&Wd)TQSs+f6RT8OY1ahusXh&%=N1$K+nK#n(GD z5zzZZB}J9F8rJ{|vi~fKuQUU99X+kK3avE9no=@{k86i_56|NvxxKXYGD@*#1~~TWK%%kh9F13?ZRuCCX#lgcjgL z+?O{V+%^pt{rIM9)bu~GDH%B@+n1`o(?qprLAZGd8URR3qr?SU^@)wM)A^$F{g zkt_IiGZz0!cj66P(&WV98_Wp2)`$G@g@1_AK}fcx)D8dM=w_^S)XszW0Rlx2x|-0!CkYf7ClO z+N-~wfBf>zFL%{0?|d^_9z4WTTDs1g>&%#InLabiZiPZ=$L`dBclvN$4;)4FS?(Lt33UH-aN0MmVwN5| z)p;~R&q|T&MF-7yoJv19h)LBa<~-di4B;eE2Y07|f!=uxUw5lT%!~uG@llB?{-Hz| zm)ptZrBnfs(GObM!mH0%7d|7vmeg}1C=;WICk)?#}wahF1vWeCZ_i5nv$JZ zSg_MnWyWX6`T-s7?9=h7MHnDFo6(CcZK{RcE-#k|dAU0`gq#Qz=-(v}tl<76I5;>t zrtdd+o;};v)~0w{PJu8^7wmI*m2@FOG;c|HexSX$6u!COJUeB{tS&^K3o5GI=cjpP5Mb4OxVN1RRf*3aw4 Rl(ave2qXe+Ooh89{12L}DFpxk literal 0 HcmV?d00001 diff --git a/assets/images/xx1.png b/assets/images/xx1.png new file mode 100644 index 0000000000000000000000000000000000000000..85b0122c7228d2d868164abe5680eb549b6736de GIT binary patch literal 1680 zcmZ9NYdjkU7shjIC^GkjxKul#WT6+=w9BHRn)RhYvbPO!>!PITTdS~ zinz3*RMB7*b*)wqYvvZ!m7q*qT5ns|#h2~(+lS};pL5Rh`J5X>Pj{FaLJa@_zzC=C z-b#{or3zJ68tqX{MZJo?d!vo0kJ(o5e;jC>-BvVC9#zi?R5bvlB<%k;{3akJ zoL~ud^p0`%X=$Uv?!d1`p^M$W_t~Aia3MUuzi@EEzmoO;xC6ynbI9wCLz0s{GaHw} z-f568^4+)bx_&YuqlA#S(03hLDa@Q_j-^U+Jip2k7t7z; zDa@JTJ#pTGpW3_1x~Z!hQ99)!^COmp@X_`NlkH)_Fr!v3;3U~+;4;G{Zg0NV%_mQ% zsSlg6j(@Y`s=E1|V!eR&$CSLS+(*=)=kRJUVNAp}etw?p`DTA&1Gi1)0Z6N;hdb0l zJ{}@u+PN*uIcS?G?HRU_+ThGq4UG;xqupl0{CcWSD_t%AOYJ|Yh_2aLMplrN%Bsl& zE!NSda*zMoYqU}RQ6X%@wtAVnY<(RZ6gXb#gsq`E#p_3ND+~uO25{3XhpKyVa;|!P zx__lDJiyG&bmJ}h%P;O#yH)uyGiL39!m^B7!)7#xN zJZp9-wEd3BsBuf_t1wV;kd~7~ucJH6mmT5TqbL$$XeJ-BielPH5ajP659U=K2Z|L% z>9(is3ye$W`;UR&UPb0@_$<|7YtOKM6o#x32k3l9Gzj^aI z9r|@NNq3W8J0b?#bD=2W*v2^z+;BL;;DOBzUMMv3*agHxT-Y7~@3#iZ+!drKysQJt zl=F_bd?SnToT3+{Fg;5TaCI>hlI{{h1y7!uKHkQ$k8`OZ*K4zmFE2 zK-YLh6II$s4K-;t4q%cmKV-x%z^>c%$r>@FW1d{FLY&Dyih~hDKz;L{j=%b_`rfTW zh0|EFKrVQ6jl7nvzo$__HAMZeIbw*Z81B8Fd~lk!VlX`{dS3BgCWD9lv|GN8m(w+;ynh(DqHoFf!NYg#!?=0!M%cvO{8;2o z%hIHDk_RT#vUkb9*{y~V>x?ukbI96uE}3YGC(Eh%_ceQ3qL&?vO|88Aw%a4Pw%?x% zeV(>Nj;TWIw1QVZFi`jiSpdBJPfU$Ue;XjV(6fAKlNY5tD$A{AM6wYD4P5h|>C!VT z8mNBJ3MUg(zPd%#>4>%REfGEuKWd)!e|`CcdM|avs_fy!swLvEh9qLG!cm&+JfB-w zYAYVPYEKbzU{Y7^A{}vYtvHo$Dmc9}8Kl~UP{)%wJgIh55&@VVGKigd}-VlVZ5brvh* zpW&T-w0Fw`bzlm+kvc(=-T!#G_0#` Yf>9gUGE|cZd-od<+&uABCjt}y0`0K|FaQ7m literal 0 HcmV?d00001 diff --git a/assets/images/yhk.svg b/assets/images/yhk.svg new file mode 100644 index 0000000..7178f2c --- /dev/null +++ b/assets/images/yhk.svg @@ -0,0 +1,37 @@ + + + + +银行卡 + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/ysd.png b/assets/images/ysd.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea21f65fb00baf0252c80cde22585dc2da3709c GIT binary patch literal 3629 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 literal 0 HcmV?d00001 diff --git a/assets/images/ysd1.png b/assets/images/ysd1.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d0ad66c19973f5a3cba9e82d7faafd78634118 GIT binary patch literal 3624 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 literal 0 HcmV?d00001 diff --git a/assets/images/ysd11.png b/assets/images/ysd11.png new file mode 100644 index 0000000000000000000000000000000000000000..7f1c85c8ad3c7c81143d1c86334469b52922959c GIT binary patch literal 6303 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 IV4jKp2SYZe5C8xG literal 0 HcmV?d00001 diff --git a/assets/images/ysd12.png b/assets/images/ysd12.png new file mode 100644 index 0000000000000000000000000000000000000000..84f7336e9dc63d78e55ab9667457a2f0da406657 GIT binary patch literal 4962 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 Nu2|TaS6_CI{ST0m(y;&l literal 0 HcmV?d00001 diff --git a/assets/images/ysd2.png b/assets/images/ysd2.png new file mode 100644 index 0000000000000000000000000000000000000000..20e6308a3ad5fd4ebc5ea7e9af9a05532e01b250 GIT binary patch literal 11905 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 VVtKJd_Fwt8k~~PRO2#bse*x(9t84%O literal 0 HcmV?d00001 diff --git a/assets/images/ysd3.png b/assets/images/ysd3.png new file mode 100644 index 0000000000000000000000000000000000000000..758a17e10272255d2986f5a1a6347566ee438354 GIT binary patch literal 2490 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 X%ceTk%+b2|_ii$Rnd?{Ic7OICFH)XH literal 0 HcmV?d00001 diff --git a/assets/images/ywc.svg b/assets/images/ywc.svg new file mode 100644 index 0000000..b9642e0 --- /dev/null +++ b/assets/images/ywc.svg @@ -0,0 +1,62 @@ + + + + +已完成 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/zj.svg b/assets/images/zj.svg new file mode 100644 index 0000000..6512bfd --- /dev/null +++ b/assets/images/zj.svg @@ -0,0 +1,51 @@ + + + + +证件 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/zw.png b/assets/images/zw.png new file mode 100644 index 0000000000000000000000000000000000000000..92a0924b1e3076dfbdcd3efcf7bf04d2dfef9b3d GIT binary patch literal 3198 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 literal 0 HcmV?d00001 diff --git a/assets/images/zz.svg b/assets/images/zz.svg new file mode 100644 index 0000000..9cf3782 --- /dev/null +++ b/assets/images/zz.svg @@ -0,0 +1,64 @@ + + + + +在职 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/zzz.svg b/assets/images/zzz.svg new file mode 100644 index 0000000..beef64d --- /dev/null +++ b/assets/images/zzz.svg @@ -0,0 +1,39 @@ + + + + +在职中 + + + + + + + + + + + + + + + + + + diff --git a/common.wxs b/common.wxs new file mode 100644 index 0000000..a1e4389 --- /dev/null +++ b/common.wxs @@ -0,0 +1,402 @@ +var formatDateYYYYMMDDHHMM = function (time) { + var date = getDate(time); + var m = date.getMonth() + 1; + if(m < 10) { + m = "0" + m; + } + var d = date.getDate(); + if(d < 10) { + d = "0" + d; + } + var h = date.getHours(); + if(h < 10) { + h = "0" + h; + } + var mm = date.getMinutes(); + if(mm < 10) { + mm = "0" + mm; + } + return date.getFullYear() + '-' + m + '-' + d + ' ' + h + ':' + mm; +} +var formatDateYYYYMMDD = function (time) { + var date = getDate(time); + var m = date.getMonth() + 1; + if(m < 10) { + m = "0" + m; + } + var d = date.getDate(); + if(d < 10) { + d = "0" + d; + } + return date.getFullYear() + '-' + m + '-' + d; +} +var formatDateYYYYMMDD2 = function (time) { + var date = getDate(time); + var m = date.getMonth() + 1; + if(m < 10) { + m = "0" + m; + } + var d = date.getDate(); + if(d < 10) { + d = "0" + d; + } + return date.getFullYear() + '/' + m + '/' + d; +} +var formatDateMMSS = function (time) { + return (getDate(time).getHours() > 9 ? getDate(time).getHours() : '0' + getDate(time).getHours()) + ':' + (getDate(time).getMinutes() > 9 ? getDate(time).getMinutes() : '0' + getDate(time).getMinutes()); +} + +var showClockResult = function (confirmStatus, confirmReason) { + temp = ""; + if (confirmStatus == 0) { + temp = "未出勤"; + } else if (confirmStatus == 1) { + temp = "出勤半天"; + } else if (confirmStatus == 2) { + temp = "出勤一天"; + } + if (confirmReason == 0) { + temp = temp + " 休息"; + } else if (confirmReason == 1) { + temp = temp + " 请假"; + } + return temp; +} + +var showClockResult2 = function (reason) { + temp = "未出勤 "; + if (reason == 0) { + temp += "休息"; + } else if (reason == 1) { + temp += "请假"; + } + return temp; +} + + +var showWorkState = function(followNewState, appraiserState) { + var res = ""; + if (appraiserState === 0) { + res = "未鉴定"; + } else if (appraiserState == 1) { + res = "待鉴定"; + } else if (appraiserState == 2) { + res = "已鉴定"; + } + + var temp = ""; + switch(followNewState) { + case 10 : + temp = "已预约"; + break; + case 20 : + temp = "待面试"; + break ; + case 30 : + temp = "待入职"; + break ; + case 40 : + temp = "在职中"; + break ; + case 50 : + temp = "已离职"; + break ; + case 60 : + temp = "关闭期望"; + break ; + default : + temp = res; + } + return temp; +} + +showSourceName = function (intervieweeSource) { + var result = ''; + switch (intervieweeSource) { + case 0 : + result = '58'; + break; + case 5 : + result = '赶集'; + break; + case 6 : + result = '打勾网预约'; + break; + case 1 : + result = '推广军推荐'; + break; + case 2 : + result = '御林军推荐'; + break; + case 3 : + result = '会员推荐'; + break; + case 4 : + result = '其它'; + break; + default: + break; + } + return result; +} + +initHopePositionType = function(type) { + var res = ''; + if(isNotEmptyCheck(type)) { + switch (type) { + case 1 : + res = '全职'; + break; + case 2 : + res = '兼职'; + break; + case 3 : + res = '小时工'; + break; + } + } + return res; +} + +/** + * 如果是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isEmptyCheck(value) { + if(value == null || value === '' || value == 'null' || typeof(value)=="undefined") { + return true; + } + return false; +} +/** + * 如果不是是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isNotEmptyCheck(value) { + return !isEmptyCheck(value); +} + +function showNotNullStr(value) { + return value == null ? '' : value; +} + +function showNotNullNum(value) { + return value == null || value == '' ? 0 : value; +} + +function showStoreAddress(township, distance) { + + result = ''; + if (!isEmptyCheck(township) && !isEmptyCheck(distance)) { + if (distance >= 1000) { + distance = distance / 1000; + return township + '·' + parseInt(distance) + '千米'; + } else { + return township + '·' + distance + '米'; + } + } else if (!isEmptyCheck(township) && isEmptyCheck(distance)) { + result = township; + } else if (isEmptyCheck(township) && !isEmptyCheck(distance)) { + if (distance >= 1000) { + distance = distance / 1000; + result = parseInt(distance) + '千米'; + } else { + result = distance + '米'; + } + + + } + return result; +} + + +function initDormType(_type) { + var temp = ""; + switch (_type) { + case 0: + temp = "有宿舍"; + break; + case 1: + temp = "男有宿舍"; + break; + case 2: + temp = "女有宿舍"; + break; + case 3: + temp = "无宿舍"; + break; + } + return temp; +} + +function timeago(timestamp) { + var mistiming = Math.round((getDate().getTime() - timestamp) / 1000); + + var arrr = ['年', '个月', '天', '小时', '分钟', '秒']; + var arrn = [31536000, 2592000, 86400, 3600, 60, 1]; + var str = ""; + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + str = inm + arrr[i] + '前'; + break; + } else if (inm < 0) { + str = '1秒前'; + break; + } + } + if(str == "") { + str = '1秒前'; + } + return str; +} + + +function timeafter(timestamp) { + var mistiming = Math.round((timestamp - getDate().getTime()) / 1000); + + var arrr = ['年', '个月', '天', '小时', '分钟', '秒']; + var arrn = [31536000, 2592000, 86400, 3600, 60, 1]; + var str = ""; + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + str = inm + arrr[i] + '后'; + break; + } else if (inm < 0) { + str = '1秒后'; + break; + } + } + if(str == "") { + str = '1秒后'; + } + return str; +} + +function timeago4str(date) { + var reg = getRegExp("-", "g"); + return timeago(getDate(date.replace(reg, "/")).getTime()); +} + +function showNum (_money, num) { + if (_money == null || _money == '' || typeof _money == 'undefined') { + return 0; + } else { + if (parseInt(_money) - _money != 0) { + if (num == 1) { + return parseInt(_money * 10) / 10.0; + } else if (num == 2) { + return parseInt(_money * 100) / 100.0; + } else { + return parseInt(_money); + } + + } else { + return parseInt(_money); + } + } +} + +/** + * 获取几天前、几小时前等格式(剩余|超时) + */ +function timeagoLater(timestamp) { + + if(timestamp == '' || timestamp == null || timestamp == undefined) { + return ''; + } + var str = ""; + var arrr = ['年', '个月', '天', '小时', '分钟', '秒']; + var arrn = [31536000, 2592000, 86400, 3600, 60, 1]; + if(getDate().getTime() - timestamp > 0) { + var mistiming = Math.round((getDate().getTime() - timestamp) / 1000); + + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + // str = '超时' + (inm + arrr[i]); + // str = '已处理' + (inm + arrr[i]); + str = (inm + arrr[i]) + '前'; + break; + } else if (inm < 0) { + str = '剩余' + (-inm + arrr[5 - i]); + //str = '1秒前'; + break; + } + } + if(str == "") { + // str = '超时1秒'; + // str = '已处理1秒'; + str = '1秒前'; + } + } else { + var mistiming = Math.round((timestamp - getDate().getTime()) / 1000); + + for (var i = 0; i < 6; ++i) { + var inm = Math.floor(mistiming / arrn[i]); + if(inm > 0) { + str = '剩余' + (inm + arrr[i]); + break; + } else if (inm < 0) { + // str = '超时1秒'; + // str = '已处理1秒'; + str = '1秒前'; + break; + } + } + if(str == "") { + // str = '超时1秒'; + // str = '已处理1秒'; + str = '1秒前'; + } + } + + return str; +} +/** + * 格式化距离 + */ +function getDistanceNum(distance) { + if(distance == null || distance === '' || distance == 'null' || typeof(distance)=="undefined") { + return ''; + } + if(distance < 1000) { + return distance + 'm'; + } else if(distance == 99999999) { + return ''; + } else { + var num = distance / 1000; + return num.toFixed(2) + 'km' + } +} + +/** + * endwith + */ +function spliceStr(str) { + return str.split('_')[1] +} +module.exports.spliceStr = spliceStr; +module.exports.timeagoLater = timeagoLater; +module.exports.timeago = timeago; +module.exports.timeago4str = timeago4str; +module.exports.formatDateYYYYMMDDHHMM = formatDateYYYYMMDDHHMM; +module.exports.formatDateYYYYMMDD = formatDateYYYYMMDD; +module.exports.formatDateYYYYMMDD2 = formatDateYYYYMMDD2; +module.exports.formatDateMMSS = formatDateMMSS; +module.exports.showClockResult = showClockResult; +module.exports.showClockResult2 = showClockResult2; +module.exports.showWorkState = showWorkState; +module.exports.showSourceName = showSourceName; +module.exports.initHopePositionType = initHopePositionType; +module.exports.isEmptyCheck = isEmptyCheck; +module.exports.isNotEmptyCheck = isNotEmptyCheck; +module.exports.showStoreAddress = showStoreAddress; +module.exports.showNotNullStr = showNotNullStr; +module.exports.showNotNullNum = showNotNullNum; +module.exports.initDormType = initDormType; +module.exports.showNum = showNum; +module.exports.getDistanceNum = getDistanceNum; \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.js b/miniprogram_npm/@miniprogram-component-plus/tabs/index.js new file mode 100644 index 0000000..cfb261f --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.js @@ -0,0 +1,148 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 5); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 5: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Component({ + options: { + addGlobalClass: true, + pureDataPattern: /^_/, + multipleSlots: true + }, + properties: { + tabs: { type: Array, value: [] }, + tabClass: { type: String, value: '' }, + swiperClass: { type: String, value: '' }, + activeClass: { type: String, value: '' }, + tabUnderlineColor: { type: String, value: '#07c160' }, + tabActiveTextColor: { type: String, value: '#000000' }, + tabInactiveTextColor: { type: String, value: '#000000' }, + tabBackgroundColor: { type: String, value: '#ffffff' }, + activeTab: { type: Number, value: 0 }, + swipeable: { type: Boolean, value: true }, + animation: { type: Boolean, value: true }, + duration: { type: Number, value: 500 } + }, + data: { + currentView: 0 + }, + observers: { + activeTab: function activeTab(_activeTab) { + var len = this.data.tabs.length; + if (len === 0) return; + var currentView = _activeTab - 1; + if (currentView < 0) currentView = 0; + if (currentView > len - 1) currentView = len - 1; + this.setData({ currentView: currentView }); + } + }, + lifetimes: { + created: function created() {} + }, + methods: { + handleTabClick: function handleTabClick(e) { + var index = e.currentTarget.dataset.index; + this.setData({ activeTab: index }); + this.triggerEvent('tabclick', { index: index }); + }, + handleSwiperChange: function handleSwiperChange(e) { + var index = e.detail.current; + this.setData({ activeTab: index }); + this.triggerEvent('change', { index: index }); + } + } +}); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.json b/miniprogram_npm/@miniprogram-component-plus/tabs/index.json new file mode 100644 index 0000000..b18bd46 --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxml b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxml new file mode 100644 index 0000000..ddb213c --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxml @@ -0,0 +1,20 @@ + + + + + + + + {{item.title}} + + + + + + + + + + + + \ No newline at end of file diff --git a/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxss b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxss new file mode 100644 index 0000000..a6982e7 --- /dev/null +++ b/miniprogram_npm/@miniprogram-component-plus/tabs/index.wxss @@ -0,0 +1 @@ +.weui-tabs{width:100%}.weui-tabs-bar__wrp{width:100%;background:#fff}.weui-tabs-bar__content{width:100%;white-space:nowrap}.weui-tabs-bar__item{display:inline-block}.weui-tabs-bar__title{display:inline-block;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent} \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.js b/miniprogram_npm/wxml-to-canvas/index.js new file mode 100644 index 0000000..2a4f21e --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/index.js @@ -0,0 +1,779 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else { + var a = factory(); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})(window, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const compareVersion = (v1, v2) => { + v1 = v1.split('.') + v2 = v2.split('.') + const len = Math.max(v1.length, v2.length) + while (v1.length < len) { + v1.push('0') + } + while (v2.length < len) { + v2.push('0') + } + for (let i = 0; i < len; i++) { + const num1 = parseInt(v1[i], 10) + const num2 = parseInt(v2[i], 10) + + if (num1 > num2) { + return 1 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + +const xmlParse = __webpack_require__(2) +const {Widget} = __webpack_require__(3) +const {Draw} = __webpack_require__(5) +const {compareVersion} = __webpack_require__(0) + +const canvasId = 'weui-canvas' + +Component({ + properties: { + width: { + type: Number, + value: 400 + }, + height: { + type: Number, + value: 300 + } + }, + data: { + use2dCanvas: false, // 2.9.2 后可用canvas 2d 接口 + }, + lifetimes: { + attached() { + const {SDKVersion, pixelRatio: dpr} = wx.getSystemInfoSync() + const use2dCanvas = compareVersion(SDKVersion, '2.9.2') >= 0 + this.dpr = dpr + this.setData({use2dCanvas}, () => { + if (use2dCanvas) { + const query = this.createSelectorQuery() + query.select(`#${canvasId}`) + .fields({node: true, size: true}) + .exec(res => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + this.ctx = ctx + this.canvas = canvas + }) + } else { + this.ctx = wx.createCanvasContext(canvasId, this) + } + }) + } + }, + methods: { + async renderToCanvas(args) { + const {wxml, style} = args + const ctx = this.ctx + const canvas = this.canvas + const use2dCanvas = this.data.use2dCanvas + + if (use2dCanvas && !canvas) { + return Promise.reject(new Error('renderToCanvas: fail canvas has not been created')) + } + + ctx.clearRect(0, 0, this.data.width, this.data.height) + const {root: xom} = xmlParse(wxml) + + const widget = new Widget(xom, style) + const container = widget.init() + this.boundary = { + top: container.layoutBox.top, + left: container.layoutBox.left, + width: container.computedStyle.width, + height: container.computedStyle.height, + } + const draw = new Draw(ctx, canvas, use2dCanvas) + await draw.drawNode(container) + + if (!use2dCanvas) { + await this.canvasDraw(ctx) + } + return Promise.resolve(container) + }, + + canvasDraw(ctx, reserve) { + return new Promise(resolve => { + ctx.draw(reserve, () => { + resolve() + }) + }) + }, + + canvasToTempFilePath(args = {}) { + const use2dCanvas = this.data.use2dCanvas + + return new Promise((resolve, reject) => { + const { + top, left, width, height + } = this.boundary + + const copyArgs = { + x: left, + y: top, + width, + height, + destWidth: width * this.dpr, + destHeight: height * this.dpr, + canvasId, + fileType: args.fileType || 'png', + quality: args.quality || 1, + success: resolve, + fail: reject + } + + if (use2dCanvas) { + delete copyArgs.canvasId + copyArgs.canvas = this.canvas + } + wx.canvasToTempFilePath(copyArgs, this) + }) + } + } +}) + + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + + +/** + * Module dependencies. + */ + + +/** + * Expose `parse`. + */ + + +/** + * Parse the given string of `xml`. + * + * @param {String} xml + * @return {Object} + * @api public + */ + +function parse(xml) { + xml = xml.trim() + + // strip comments + xml = xml.replace(//g, '') + + return document() + + /** + * XML document. + */ + + function document() { + return { + declaration: declaration(), + root: tag() + } + } + + /** + * Declaration. + */ + + function declaration() { + const m = match(/^<\?xml\s*/) + if (!m) return + + // tag + const node = { + attributes: {} + } + + // attributes + while (!(eos() || is('?>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + match(/\?>\s*/) + + return node + } + + /** + * Tag. + */ + + function tag() { + const m = match(/^<([\w-:.]+)\s*/) + if (!m) return + + // name + const node = { + name: m[1], + attributes: {}, + children: [] + } + + // attributes + while (!(eos() || is('>') || is('?>') || is('/>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + // self closing tag + if (match(/^\s*\/>\s*/)) { + return node + } + + match(/\??>\s*/) + + // content + node.content = content() + + // children + let child + while (child = tag()) { + node.children.push(child) + } + + // closing + match(/^<\/[\w-:.]+>\s*/) + + return node + } + + /** + * Text content. + */ + + function content() { + const m = match(/^([^<]*)/) + if (m) return m[1] + return '' + } + + /** + * Attribute. + */ + + function attribute() { + const m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/) + if (!m) return + return {name: m[1], value: strip(m[2])} + } + + /** + * Strip quotes from `val`. + */ + + function strip(val) { + return val.replace(/^['"]|['"]$/g, '') + } + + /** + * Match `re` and advance the string. + */ + + function match(re) { + const m = xml.match(re) + if (!m) return + xml = xml.slice(m[0].length) + return m + } + + /** + * End-of-source. + */ + + function eos() { + return xml.length == 0 + } + + /** + * Check for `prefix`. + */ + + function is(prefix) { + return xml.indexOf(prefix) == 0 + } +} + +module.exports = parse + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +const Block = __webpack_require__(4) +const {splitLineToCamelCase} = __webpack_require__(0) + +class Element extends Block { + constructor(prop) { + super(prop.style) + this.name = prop.name + this.attributes = prop.attributes + } +} + + +class Widget { + constructor(xom, style) { + this.xom = xom + this.style = style + + this.inheritProps = ['fontSize', 'lineHeight', 'textAlign', 'verticalAlign', 'color'] + } + + init() { + this.container = this.create(this.xom) + this.container.layout() + + this.inheritStyle(this.container) + return this.container + } + + // 继承父节点的样式 + inheritStyle(node) { + const parent = node.parent || null + const children = node.children || {} + const computedStyle = node.computedStyle + + if (parent) { + this.inheritProps.forEach(prop => { + computedStyle[prop] = computedStyle[prop] || parent.computedStyle[prop] + }) + } + + Object.values(children).forEach(child => { + this.inheritStyle(child) + }) + } + + create(node) { + let classNames = (node.attributes.class || '').split(' ') + classNames = classNames.map(item => splitLineToCamelCase(item.trim())) + const style = {} + classNames.forEach(item => { + Object.assign(style, this.style[item] || {}) + }) + + const args = {name: node.name, style} + + const attrs = Object.keys(node.attributes) + const attributes = {} + for (const attr of attrs) { + const value = node.attributes[attr] + const CamelAttr = splitLineToCamelCase(attr) + + if (value === '' || value === 'true') { + attributes[CamelAttr] = true + } else if (value === 'false') { + attributes[CamelAttr] = false + } else { + attributes[CamelAttr] = value + } + } + attributes.text = node.content + args.attributes = attributes + const element = new Element(args) + node.children.forEach(childNode => { + const childElement = this.create(childNode) + element.add(childElement) + }) + return element + } +} + +module.exports = {Widget} + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +module.exports = require("widget-ui"); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +class Draw { + constructor(context, canvas, use2dCanvas = false) { + this.ctx = context + this.canvas = canvas || null + this.use2dCanvas = use2dCanvas + } + + roundRect(x, y, w, h, r, fill = true, stroke = false) { + if (r < 0) return + const ctx = this.ctx + + ctx.beginPath() + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2) + ctx.arc(x + w - r, y + r, r, Math.PI * 3 / 2, 0) + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI / 2) + ctx.arc(x + r, y + h - r, r, Math.PI / 2, Math.PI) + ctx.lineTo(x, y + r) + if (stroke) ctx.stroke() + if (fill) ctx.fill() + } + + drawView(box, style) { + const ctx = this.ctx + const { + left: x, top: y, width: w, height: h + } = box + const { + borderRadius = 0, + borderWidth = 0, + borderColor, + color = '#000', + backgroundColor = 'transparent', + } = style + ctx.save() + // 外环 + if (borderWidth > 0) { + ctx.fillStyle = borderColor || color + this.roundRect(x, y, w, h, borderRadius) + } + + // 内环 + ctx.fillStyle = backgroundColor + const innerWidth = w - 2 * borderWidth + const innerHeight = h - 2 * borderWidth + const innerRadius = borderRadius - borderWidth >= 0 ? borderRadius - borderWidth : 0 + this.roundRect(x + borderWidth, y + borderWidth, innerWidth, innerHeight, innerRadius) + ctx.restore() + } + + async drawImage(img, box, style) { + await new Promise((resolve, reject) => { + const ctx = this.ctx + const canvas = this.canvas + + const { + borderRadius = 0 + } = style + const { + left: x, top: y, width: w, height: h + } = box + ctx.save() + this.roundRect(x, y, w, h, borderRadius, false, false) + ctx.clip() + + const _drawImage = (img) => { + if (this.use2dCanvas) { + const Image = canvas.createImage() + Image.onload = () => { + ctx.drawImage(Image, x, y, w, h) + ctx.restore() + resolve() + } + Image.onerror = () => { reject(new Error(`createImage fail: ${img}`)) } + Image.src = img + } else { + ctx.drawImage(img, x, y, w, h) + ctx.restore() + resolve() + } + } + + const isTempFile = /^wxfile:\/\//.test(img) + const isNetworkFile = /^https?:\/\//.test(img) + + if (isTempFile) { + _drawImage(img) + } else if (isNetworkFile) { + wx.downloadFile({ + url: img, + success(res) { + if (res.statusCode === 200) { + _drawImage(res.tempFilePath) + } else { + reject(new Error(`downloadFile:fail ${img}`)) + } + }, + fail() { + reject(new Error(`downloadFile:fail ${img}`)) + } + }) + } else { + reject(new Error(`image format error: ${img}`)) + } + }) + } + + // eslint-disable-next-line complexity + drawText(text, box, style) { + const ctx = this.ctx + let { + left: x, top: y, width: w, height: h + } = box + let { + color = '#000', + lineHeight = '1.4em', + fontSize = 14, + textAlign = 'left', + verticalAlign = 'top', + backgroundColor = 'transparent' + } = style + + if (typeof lineHeight === 'string') { // 2em + lineHeight = Math.ceil(parseFloat(lineHeight.replace('em')) * fontSize) + } + if (!text || (lineHeight > h)) return + + ctx.save() + ctx.textBaseline = 'top' + ctx.font = `${fontSize}px sans-serif` + ctx.textAlign = textAlign + + // 背景色 + ctx.fillStyle = backgroundColor + this.roundRect(x, y, w, h, 0) + + // 文字颜色 + ctx.fillStyle = color + + // 水平布局 + switch (textAlign) { + case 'left': + break + case 'center': + x += 0.5 * w + break + case 'right': + x += w + break + default: break + } + + const textWidth = ctx.measureText(text).width + const actualHeight = Math.ceil(textWidth / w) * lineHeight + let paddingTop = Math.ceil((h - actualHeight) / 2) + if (paddingTop < 0) paddingTop = 0 + + // 垂直布局 + switch (verticalAlign) { + case 'top': + break + case 'middle': + y += paddingTop + break + case 'bottom': + y += 2 * paddingTop + break + default: break + } + + const inlinePaddingTop = Math.ceil((lineHeight - fontSize) / 2) + + // 不超过一行 + if (textWidth <= w) { + ctx.fillText(text, x, y + inlinePaddingTop) + return + } + + // 多行文本 + const chars = text.split('') + const _y = y + + // 逐行绘制 + let line = '' + for (const ch of chars) { + const testLine = line + ch + const testWidth = ctx.measureText(testLine).width + + if (testWidth > w) { + ctx.fillText(line, x, y + inlinePaddingTop) + y += lineHeight + line = ch + if ((y + lineHeight) > (_y + h)) break + } else { + line = testLine + } + } + + // 避免溢出 + if ((y + lineHeight) <= (_y + h)) { + ctx.fillText(line, x, y + inlinePaddingTop) + } + ctx.restore() + } + + async drawNode(element) { + const {layoutBox, computedStyle, name} = element + const {src, text} = element.attributes + if (name === 'view') { + this.drawView(layoutBox, computedStyle) + } else if (name === 'image') { + await this.drawImage(src, layoutBox, computedStyle) + } else if (name === 'text') { + this.drawText(text, layoutBox, computedStyle) + } + const childs = Object.values(element.children) + for (const child of childs) { + await this.drawNode(child) + } + } +} + + +module.exports = { + Draw +} + + +/***/ }) +/******/ ]); +}); \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.json b/miniprogram_npm/wxml-to-canvas/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.wxml b/miniprogram_npm/wxml-to-canvas/index.wxml new file mode 100644 index 0000000..a0010ad --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/index.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/index.wxss b/miniprogram_npm/wxml-to-canvas/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js new file mode 100644 index 0000000..65dc011 --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js @@ -0,0 +1,349 @@ +module.exports = (function() { +var __MODS__ = {}; +var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; }; +var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; +var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; +var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; +__DEFINE__(1702536291628, function(require, module, exports) { + + +var has = Object.prototype.hasOwnProperty + , prefix = '~'; + +/** + * Constructor to create a storage for our `EE` objects. + * An `Events` instance is a plain object whose properties are event names. + * + * @constructor + * @private + */ +function Events() {} + +// +// We try to not inherit from `Object.prototype`. In some engines creating an +// instance in this way is faster than calling `Object.create(null)` directly. +// If `Object.create(null)` is not supported we prefix the event names with a +// character to make sure that the built-in object properties are not +// overridden or used as an attack vector. +// +if (Object.create) { + Events.prototype = Object.create(null); + + // + // This hack is needed because the `__proto__` property is still inherited in + // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5. + // + if (!new Events().__proto__) prefix = false; +} + +/** + * Representation of a single event listener. + * + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} [once=false] Specify if the listener is a one-time listener. + * @constructor + * @private + */ +function EE(fn, context, once) { + this.fn = fn; + this.context = context; + this.once = once || false; +} + +/** + * Add a listener for a given event. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} once Specify if the listener is a one-time listener. + * @returns {EventEmitter} + * @private + */ +function addListener(emitter, event, fn, context, once) { + if (typeof fn !== 'function') { + throw new TypeError('The listener must be a function'); + } + + var listener = new EE(fn, context || emitter, once) + , evt = prefix ? prefix + event : event; + + if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++; + else if (!emitter._events[evt].fn) emitter._events[evt].push(listener); + else emitter._events[evt] = [emitter._events[evt], listener]; + + return emitter; +} + +/** + * Clear event by name. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} evt The Event name. + * @private + */ +function clearEvent(emitter, evt) { + if (--emitter._eventsCount === 0) emitter._events = new Events(); + else delete emitter._events[evt]; +} + +/** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + * + * @constructor + * @public + */ +function EventEmitter() { + this._events = new Events(); + this._eventsCount = 0; +} + +/** + * Return an array listing the events for which the emitter has registered + * listeners. + * + * @returns {Array} + * @public + */ +EventEmitter.prototype.eventNames = function eventNames() { + var names = [] + , events + , name; + + if (this._eventsCount === 0) return names; + + for (name in (events = this._events)) { + if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); + } + + if (Object.getOwnPropertySymbols) { + return names.concat(Object.getOwnPropertySymbols(events)); + } + + return names; +}; + +/** + * Return the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Array} The registered listeners. + * @public + */ +EventEmitter.prototype.listeners = function listeners(event) { + var evt = prefix ? prefix + event : event + , handlers = this._events[evt]; + + if (!handlers) return []; + if (handlers.fn) return [handlers.fn]; + + for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { + ee[i] = handlers[i].fn; + } + + return ee; +}; + +/** + * Return the number of listeners listening to a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Number} The number of listeners. + * @public + */ +EventEmitter.prototype.listenerCount = function listenerCount(event) { + var evt = prefix ? prefix + event : event + , listeners = this._events[evt]; + + if (!listeners) return 0; + if (listeners.fn) return 1; + return listeners.length; +}; + +/** + * Calls each of the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Boolean} `true` if the event had listeners, else `false`. + * @public + */ +EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return false; + + var listeners = this._events[evt] + , len = arguments.length + , args + , i; + + if (listeners.fn) { + if (listeners.once) this.removeListener(event, listeners.fn, undefined, true); + + switch (len) { + case 1: return listeners.fn.call(listeners.context), true; + case 2: return listeners.fn.call(listeners.context, a1), true; + case 3: return listeners.fn.call(listeners.context, a1, a2), true; + case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true; + case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; + case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; + } + + for (i = 1, args = new Array(len -1); i < len; i++) { + args[i - 1] = arguments[i]; + } + + listeners.fn.apply(listeners.context, args); + } else { + var length = listeners.length + , j; + + for (i = 0; i < length; i++) { + if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true); + + switch (len) { + case 1: listeners[i].fn.call(listeners[i].context); break; + case 2: listeners[i].fn.call(listeners[i].context, a1); break; + case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break; + case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break; + default: + if (!args) for (j = 1, args = new Array(len -1); j < len; j++) { + args[j - 1] = arguments[j]; + } + + listeners[i].fn.apply(listeners[i].context, args); + } + } + } + + return true; +}; + +/** + * Add a listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.on = function on(event, fn, context) { + return addListener(this, event, fn, context, false); +}; + +/** + * Add a one-time listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.once = function once(event, fn, context) { + return addListener(this, event, fn, context, true); +}; + +/** + * Remove the listeners of a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn Only remove the listeners that match this function. + * @param {*} context Only remove the listeners that have this context. + * @param {Boolean} once Only remove one-time listeners. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return this; + if (!fn) { + clearEvent(this, evt); + return this; + } + + var listeners = this._events[evt]; + + if (listeners.fn) { + if ( + listeners.fn === fn && + (!once || listeners.once) && + (!context || listeners.context === context) + ) { + clearEvent(this, evt); + } + } else { + for (var i = 0, events = [], length = listeners.length; i < length; i++) { + if ( + listeners[i].fn !== fn || + (once && !listeners[i].once) || + (context && listeners[i].context !== context) + ) { + events.push(listeners[i]); + } + } + + // + // Reset the array, or remove it completely if we have no more listeners. + // + if (events.length) this._events[evt] = events.length === 1 ? events[0] : events; + else clearEvent(this, evt); + } + + return this; +}; + +/** + * Remove all listeners, or those of the specified event. + * + * @param {(String|Symbol)} [event] The event name. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { + var evt; + + if (event) { + evt = prefix ? prefix + event : event; + if (this._events[evt]) clearEvent(this, evt); + } else { + this._events = new Events(); + this._eventsCount = 0; + } + + return this; +}; + +// +// Alias methods names because people roll like that. +// +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.addListener = EventEmitter.prototype.on; + +// +// Expose the prefix. +// +EventEmitter.prefixed = prefix; + +// +// Allow `EventEmitter` to be imported as module namespace. +// +EventEmitter.EventEmitter = EventEmitter; + +// +// Expose the module. +// +if ('undefined' !== typeof module) { + module.exports = EventEmitter; +} + +}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); }) +return __REQUIRE__(1702536291628); +})() +//miniprogram-npm-outsideDeps=[] +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js.map b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js.map new file mode 100644 index 0000000..4f2cb7b --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/eventemitter3/index.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.js","sourcesContent":["\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Add a listener for a given event.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} context The context to invoke the listener with.\n * @param {Boolean} once Specify if the listener is a one-time listener.\n * @returns {EventEmitter}\n * @private\n */\nfunction addListener(emitter, event, fn, context, once) {\n if (typeof fn !== 'function') {\n throw new TypeError('The listener must be a function');\n }\n\n var listener = new EE(fn, context || emitter, once)\n , evt = prefix ? prefix + event : event;\n\n if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;\n else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);\n else emitter._events[evt] = [emitter._events[evt], listener];\n\n return emitter;\n}\n\n/**\n * Clear event by name.\n *\n * @param {EventEmitter} emitter Reference to the `EventEmitter` instance.\n * @param {(String|Symbol)} evt The Event name.\n * @private\n */\nfunction clearEvent(emitter, evt) {\n if (--emitter._eventsCount === 0) emitter._events = new Events();\n else delete emitter._events[evt];\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Array} The registered listeners.\n * @public\n */\nEventEmitter.prototype.listeners = function listeners(event) {\n var evt = prefix ? prefix + event : event\n , handlers = this._events[evt];\n\n if (!handlers) return [];\n if (handlers.fn) return [handlers.fn];\n\n for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {\n ee[i] = handlers[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Return the number of listeners listening to a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Number} The number of listeners.\n * @public\n */\nEventEmitter.prototype.listenerCount = function listenerCount(event) {\n var evt = prefix ? prefix + event : event\n , listeners = this._events[evt];\n\n if (!listeners) return 0;\n if (listeners.fn) return 1;\n return listeners.length;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n return addListener(this, event, fn, context, false);\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn The listener function.\n * @param {*} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n return addListener(this, event, fn, context, true);\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {(String|Symbol)} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {*} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n clearEvent(this, evt);\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn &&\n (!once || listeners.once) &&\n (!context || listeners.context === context)\n ) {\n clearEvent(this, evt);\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn ||\n (once && !listeners[i].once) ||\n (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else clearEvent(this, evt);\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {(String|Symbol)} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) clearEvent(this, evt);\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n"]} \ No newline at end of file diff --git a/miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js new file mode 100644 index 0000000..4f42c98 --- /dev/null +++ b/miniprogram_npm/wxml-to-canvas/miniprogram_npm/widget-ui/index.js @@ -0,0 +1,13 @@ +module.exports = (function() { +var __MODS__ = {}; +var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; }; +var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; +var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; +var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; +__DEFINE__(1702536291629, function(require, module, exports) { +!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var o=e();for(var r in o)("object"==typeof exports?exports:t)[r]=o[r]}}(this,(function(){return function(t){var e={};function o(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,o),i.l=!0,i.exports}return o.m=t,o.c=e,o.d=function(t,e,r){o.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},o.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)o.d(r,i,function(e){return t[e]}.bind(null,i));return r},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,"a",e),e},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o.p="",o(o.s=0)}([function(t,e,o){var r=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var i=r(o(1)),l=o(2),n=0,a=function(){function t(e){var o=this;void 0===e&&(e={}),this.parent=null,this.id=t.uuid(),this.style={},this.computedStyle={},this.lastComputedStyle={},this.children={},this.layoutBox={left:0,top:0,width:0,height:0},e=Object.assign(l.getDefaultStyle(),e),this.computedStyle=Object.assign(l.getDefaultStyle(),e),this.lastComputedStyle=Object.assign(l.getDefaultStyle(),e),Object.keys(e).forEach((function(t){Object.defineProperty(o.style,t,{configurable:!0,enumerable:!0,get:function(){return e[t]},set:function(r){r!==e[t]&&void 0!==r&&(o.lastComputedStyle=o.computedStyle[t],e[t]=r,o.computedStyle[t]=r,l.scalableStyles.includes(t)&&o.style.scale&&(o.computedStyle[t]=r*o.style.scale),"scale"===t&&l.scalableStyles.forEach((function(t){e[t]&&(o.computedStyle[t]=e[t]*r)})),"hidden"===t&&(r?l.layoutAffectedStyles.forEach((function(t){o.computedStyle[t]=0})):l.layoutAffectedStyles.forEach((function(t){o.computedStyle[t]=o.lastComputedStyle[t]}))))}})})),this.style.scale&&l.scalableStyles.forEach((function(t){if(o.style[t]){var e=o.style[t]*o.style.scale;o.computedStyle[t]=e}})),e.hidden&&l.layoutAffectedStyles.forEach((function(t){o.computedStyle[t]=0}))}return t.uuid=function(){return n++},t.prototype.getAbsolutePosition=function(t){if(!t)return this.getAbsolutePosition(this);if(!t.parent)return{left:0,top:0};var e=this.getAbsolutePosition(t.parent),o=e.left,r=e.top;return{left:o+t.layoutBox.left,top:r+t.layoutBox.top}},t.prototype.add=function(t){t.parent=this,this.children[t.id]=t},t.prototype.remove=function(t){var e=this;t?this.children[t.id]&&(t.remove(),delete this.children[t.id]):Object.keys(this.children).forEach((function(t){e.children[t].remove(),delete e.children[t]}))},t.prototype.getNodeTree=function(){var t=this;return{id:this.id,style:this.computedStyle,children:Object.keys(this.children).map((function(e){return t.children[e].getNodeTree()}))}},t.prototype.applyLayout=function(t){var e=this;["left","top","width","height"].forEach((function(o){t.layout&&"number"==typeof t.layout[o]&&(e.layoutBox[o]=t.layout[o],!e.parent||"left"!==o&&"top"!==o||(e.layoutBox[o]+=e.parent.layoutBox[o]))})),t.children.forEach((function(t){e.children[t.id].applyLayout(t)}))},t.prototype.layout=function(){var t=this.getNodeTree();i.default(t),this.applyLayout(t)},t}();e.default=a},function(t,e,o){o.r(e);var r=function(){var t,e="inherit",o="ltr",r="rtl",i="row",l="row-reverse",n="column",a="column-reverse",u="flex-start",d="center",s="flex-end",y="space-between",c="space-around",f="flex-start",h="center",p="flex-end",g="stretch",v="relative",m="absolute",b={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},x={row:"right","row-reverse":"left",column:"bottom","column-reverse":"top"},w={row:"left","row-reverse":"right",column:"top","column-reverse":"bottom"},S={row:"width","row-reverse":"width",column:"height","column-reverse":"height"};function W(t){return void 0===t}function L(t){return t===i||t===l}function k(t,e){if(void 0!==t.style.marginStart&&L(e))return t.style.marginStart;var o=null;switch(e){case"row":o=t.style.marginLeft;break;case"row-reverse":o=t.style.marginRight;break;case"column":o=t.style.marginTop;break;case"column-reverse":o=t.style.marginBottom}return void 0!==o?o:void 0!==t.style.margin?t.style.margin:0}function j(t,e){if(void 0!==t.style.marginEnd&&L(e))return t.style.marginEnd;var o=null;switch(e){case"row":o=t.style.marginRight;break;case"row-reverse":o=t.style.marginLeft;break;case"column":o=t.style.marginBottom;break;case"column-reverse":o=t.style.marginTop}return null!=o?o:void 0!==t.style.margin?t.style.margin:0}function B(t,e){if(void 0!==t.style.borderStartWidth&&t.style.borderStartWidth>=0&&L(e))return t.style.borderStartWidth;var o=null;switch(e){case"row":o=t.style.borderLeftWidth;break;case"row-reverse":o=t.style.borderRightWidth;break;case"column":o=t.style.borderTopWidth;break;case"column-reverse":o=t.style.borderBottomWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function E(t,e){if(void 0!==t.style.borderEndWidth&&t.style.borderEndWidth>=0&&L(e))return t.style.borderEndWidth;var o=null;switch(e){case"row":o=t.style.borderRightWidth;break;case"row-reverse":o=t.style.borderLeftWidth;break;case"column":o=t.style.borderBottomWidth;break;case"column-reverse":o=t.style.borderTopWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function C(t,e){return function(t,e){if(void 0!==t.style.paddingStart&&t.style.paddingStart>=0&&L(e))return t.style.paddingStart;var o=null;switch(e){case"row":o=t.style.paddingLeft;break;case"row-reverse":o=t.style.paddingRight;break;case"column":o=t.style.paddingTop;break;case"column-reverse":o=t.style.paddingBottom}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+B(t,e)}function T(t,e){return function(t,e){if(void 0!==t.style.paddingEnd&&t.style.paddingEnd>=0&&L(e))return t.style.paddingEnd;var o=null;switch(e){case"row":o=t.style.paddingRight;break;case"row-reverse":o=t.style.paddingLeft;break;case"column":o=t.style.paddingBottom;break;case"column-reverse":o=t.style.paddingTop}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+E(t,e)}function O(t,e){return B(t,e)+E(t,e)}function _(t,e){return k(t,e)+j(t,e)}function R(t,e){return C(t,e)+T(t,e)}function A(t,e){return e.style.alignSelf?e.style.alignSelf:t.style.alignItems?t.style.alignItems:"stretch"}function P(t,e){if(e===r){if(t===i)return l;if(t===l)return i}return t}function D(t,e){return function(t){return t===n||t===a}(t)?P(i,e):n}function H(t){return t.style.position?t.style.position:"relative"}function M(t){return H(t)===v&&t.style.flex>0}function I(t,e){return t.layout[S[e]]+_(t,e)}function N(t,e){return void 0!==t.style[S[e]]&&t.style[S[e]]>=0}function F(t,e){return void 0!==t.style[e]}function q(t,e){return void 0!==t.style[e]?t.style[e]:0}function z(t,e,o){var r={row:t.style.minWidth,"row-reverse":t.style.minWidth,column:t.style.minHeight,"column-reverse":t.style.minHeight}[e],i={row:t.style.maxWidth,"row-reverse":t.style.maxWidth,column:t.style.maxHeight,"column-reverse":t.style.maxHeight}[e],l=o;return void 0!==i&&i>=0&&l>i&&(l=i),void 0!==r&&r>=0&&le?t:e}function G(t,e){void 0===t.layout[S[e]]&&N(t,e)&&(t.layout[S[e]]=U(z(t,e,t.style[S[e]]),R(t,e)))}function J(t,e,o){e.layout[x[o]]=t.layout[S[o]]-e.layout[S[o]]-e.layout[w[o]]}function K(t,e){return void 0!==t.style[b[e]]?q(t,b[e]):-q(t,x[e])}function Q(r,E,Q){var X=function(t,r){var i;return(i=t.style.direction?t.style.direction:e)===e&&(i=void 0===r?o:r),i}(r,Q),Y=P(function(t){return t.style.flexDirection?t.style.flexDirection:n}(r),X),Z=D(Y,X),$=P(i,X);G(r,Y),G(r,Z),r.layout.direction=X,r.layout[b[Y]]+=k(r,Y)+K(r,Y),r.layout[x[Y]]+=j(r,Y)+K(r,Y),r.layout[b[Z]]+=k(r,Z)+K(r,Z),r.layout[x[Z]]+=j(r,Z)+K(r,Z);var tt=r.children.length,et=R(r,$);if(function(t){return void 0!==t.style.measure}(r)){var ot=!W(r.layout[S[$]]),rt=t;rt=N(r,$)?r.style.width:ot?r.layout[S[$]]:E-_(r,$),rt-=et;var it=!N(r,$)&&!ot,lt=!N(r,n)&&W(r.layout[S[n]]);if(it||lt){var nt=r.style.measure(rt);it&&(r.layout.width=nt.width+et),lt&&(r.layout.height=nt.height+R(r,n))}if(0===tt)return}var at,ut,dt,st,yt=function(t){return"wrap"===t.style.flexWrap}(r),ct=function(t){return t.style.justifyContent?t.style.justifyContent:"flex-start"}(r),ft=C(r,Y),ht=C(r,Z),pt=R(r,Y),gt=R(r,Z),vt=!W(r.layout[S[Y]]),mt=!W(r.layout[S[Z]]),bt=L(Y),xt=null,wt=null,St=t;vt&&(St=r.layout[S[Y]]-pt);for(var Wt=0,Lt=0,kt=0,jt=0,Bt=0,Et=0;LtSt&&at!==Wt){Rt--,kt=1;break}At&&(H(dt)!==v||M(dt))&&(At=!1,Pt=at),Dt&&(H(dt)!==v||Xt!==g&&Xt!==f||W(dt.layout[S[Z]]))&&(Dt=!1,Ht=at),At&&(dt.layout[w[Y]]+=Nt,vt&&J(r,dt,Y),Nt+=I(dt,Y),Ft=U(Ft,z(dt,Z,I(dt,Z)))),Dt&&(dt.layout[w[Z]]+=jt+ht,mt&&J(r,dt,Z)),kt=0,Tt+=qt,Lt=at+1}var zt=0,Ut=0,Gt=0;if(Gt=vt?St-Tt:U(Tt,0)-Tt,0!==Ot){var Jt,Kt,Qt=Gt/_t;for(It=Mt;null!==It;)(Jt=Qt*It.style.flex+R(It,Y))!==(Kt=z(It,Y,Jt))&&(Gt-=Kt,_t-=It.style.flex),It=It.nextFlexChild;for((Qt=Gt/_t)<0&&(Qt=0),It=Mt;null!==It;)It.layout[S[Y]]=z(It,Y,Qt*It.style.flex+R(It,Y)),Ct=t,N(r,$)?Ct=r.layout[S[$]]-et:bt||(Ct=E-_(r,$)-et),V(It,Ct,X),dt=It,It=It.nextFlexChild,dt.nextFlexChild=null}else ct!==u&&(ct===d?zt=Gt/2:ct===s?zt=Gt:ct===y?(Gt=U(Gt,0),Ut=Ot+Rt-1!=0?Gt/(Ot+Rt-1):0):ct===c&&(zt=(Ut=Gt/(Ot+Rt))/2));for(Nt+=zt,at=Pt;at1&&mt){var $t=r.layout[S[Z]]-gt,te=$t-jt,ee=0,oe=ht,re=function(t){return t.style.alignContent?t.style.alignContent:"flex-start"}(r);re===p?oe+=te:re===h?oe+=te/2:re===g&&$t>jt&&(ee=te/Et);var ie=0;for(at=0;at=0&&L(e))return t.style.borderStartWidth;var o=null;switch(e){case\"row\":o=t.style.borderLeftWidth;break;case\"row-reverse\":o=t.style.borderRightWidth;break;case\"column\":o=t.style.borderTopWidth;break;case\"column-reverse\":o=t.style.borderBottomWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function E(t,e){if(void 0!==t.style.borderEndWidth&&t.style.borderEndWidth>=0&&L(e))return t.style.borderEndWidth;var o=null;switch(e){case\"row\":o=t.style.borderRightWidth;break;case\"row-reverse\":o=t.style.borderLeftWidth;break;case\"column\":o=t.style.borderBottomWidth;break;case\"column-reverse\":o=t.style.borderTopWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function C(t,e){return function(t,e){if(void 0!==t.style.paddingStart&&t.style.paddingStart>=0&&L(e))return t.style.paddingStart;var o=null;switch(e){case\"row\":o=t.style.paddingLeft;break;case\"row-reverse\":o=t.style.paddingRight;break;case\"column\":o=t.style.paddingTop;break;case\"column-reverse\":o=t.style.paddingBottom}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+B(t,e)}function T(t,e){return function(t,e){if(void 0!==t.style.paddingEnd&&t.style.paddingEnd>=0&&L(e))return t.style.paddingEnd;var o=null;switch(e){case\"row\":o=t.style.paddingRight;break;case\"row-reverse\":o=t.style.paddingLeft;break;case\"column\":o=t.style.paddingBottom;break;case\"column-reverse\":o=t.style.paddingTop}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+E(t,e)}function O(t,e){return B(t,e)+E(t,e)}function _(t,e){return k(t,e)+j(t,e)}function R(t,e){return C(t,e)+T(t,e)}function A(t,e){return e.style.alignSelf?e.style.alignSelf:t.style.alignItems?t.style.alignItems:\"stretch\"}function P(t,e){if(e===r){if(t===i)return l;if(t===l)return i}return t}function D(t,e){return function(t){return t===n||t===a}(t)?P(i,e):n}function H(t){return t.style.position?t.style.position:\"relative\"}function M(t){return H(t)===v&&t.style.flex>0}function I(t,e){return t.layout[S[e]]+_(t,e)}function N(t,e){return void 0!==t.style[S[e]]&&t.style[S[e]]>=0}function F(t,e){return void 0!==t.style[e]}function q(t,e){return void 0!==t.style[e]?t.style[e]:0}function z(t,e,o){var r={row:t.style.minWidth,\"row-reverse\":t.style.minWidth,column:t.style.minHeight,\"column-reverse\":t.style.minHeight}[e],i={row:t.style.maxWidth,\"row-reverse\":t.style.maxWidth,column:t.style.maxHeight,\"column-reverse\":t.style.maxHeight}[e],l=o;return void 0!==i&&i>=0&&l>i&&(l=i),void 0!==r&&r>=0&&le?t:e}function G(t,e){void 0===t.layout[S[e]]&&N(t,e)&&(t.layout[S[e]]=U(z(t,e,t.style[S[e]]),R(t,e)))}function J(t,e,o){e.layout[x[o]]=t.layout[S[o]]-e.layout[S[o]]-e.layout[w[o]]}function K(t,e){return void 0!==t.style[b[e]]?q(t,b[e]):-q(t,x[e])}function Q(r,E,Q){var X=function(t,r){var i;return(i=t.style.direction?t.style.direction:e)===e&&(i=void 0===r?o:r),i}(r,Q),Y=P(function(t){return t.style.flexDirection?t.style.flexDirection:n}(r),X),Z=D(Y,X),$=P(i,X);G(r,Y),G(r,Z),r.layout.direction=X,r.layout[b[Y]]+=k(r,Y)+K(r,Y),r.layout[x[Y]]+=j(r,Y)+K(r,Y),r.layout[b[Z]]+=k(r,Z)+K(r,Z),r.layout[x[Z]]+=j(r,Z)+K(r,Z);var tt=r.children.length,et=R(r,$);if(function(t){return void 0!==t.style.measure}(r)){var ot=!W(r.layout[S[$]]),rt=t;rt=N(r,$)?r.style.width:ot?r.layout[S[$]]:E-_(r,$),rt-=et;var it=!N(r,$)&&!ot,lt=!N(r,n)&&W(r.layout[S[n]]);if(it||lt){var nt=r.style.measure(rt);it&&(r.layout.width=nt.width+et),lt&&(r.layout.height=nt.height+R(r,n))}if(0===tt)return}var at,ut,dt,st,yt=function(t){return\"wrap\"===t.style.flexWrap}(r),ct=function(t){return t.style.justifyContent?t.style.justifyContent:\"flex-start\"}(r),ft=C(r,Y),ht=C(r,Z),pt=R(r,Y),gt=R(r,Z),vt=!W(r.layout[S[Y]]),mt=!W(r.layout[S[Z]]),bt=L(Y),xt=null,wt=null,St=t;vt&&(St=r.layout[S[Y]]-pt);for(var Wt=0,Lt=0,kt=0,jt=0,Bt=0,Et=0;LtSt&&at!==Wt){Rt--,kt=1;break}At&&(H(dt)!==v||M(dt))&&(At=!1,Pt=at),Dt&&(H(dt)!==v||Xt!==g&&Xt!==f||W(dt.layout[S[Z]]))&&(Dt=!1,Ht=at),At&&(dt.layout[w[Y]]+=Nt,vt&&J(r,dt,Y),Nt+=I(dt,Y),Ft=U(Ft,z(dt,Z,I(dt,Z)))),Dt&&(dt.layout[w[Z]]+=jt+ht,mt&&J(r,dt,Z)),kt=0,Tt+=qt,Lt=at+1}var zt=0,Ut=0,Gt=0;if(Gt=vt?St-Tt:U(Tt,0)-Tt,0!==Ot){var Jt,Kt,Qt=Gt/_t;for(It=Mt;null!==It;)(Jt=Qt*It.style.flex+R(It,Y))!==(Kt=z(It,Y,Jt))&&(Gt-=Kt,_t-=It.style.flex),It=It.nextFlexChild;for((Qt=Gt/_t)<0&&(Qt=0),It=Mt;null!==It;)It.layout[S[Y]]=z(It,Y,Qt*It.style.flex+R(It,Y)),Ct=t,N(r,$)?Ct=r.layout[S[$]]-et:bt||(Ct=E-_(r,$)-et),V(It,Ct,X),dt=It,It=It.nextFlexChild,dt.nextFlexChild=null}else ct!==u&&(ct===d?zt=Gt/2:ct===s?zt=Gt:ct===y?(Gt=U(Gt,0),Ut=Ot+Rt-1!=0?Gt/(Ot+Rt-1):0):ct===c&&(zt=(Ut=Gt/(Ot+Rt))/2));for(Nt+=zt,at=Pt;at1&&mt){var $t=r.layout[S[Z]]-gt,te=$t-jt,ee=0,oe=ht,re=function(t){return t.style.alignContent?t.style.alignContent:\"flex-start\"}(r);re===p?oe+=te:re===h?oe+=te/2:re===g&&$t>jt&&(ee=te/Et);var ie=0;for(at=0;at { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const compareVersion = (v1, v2) => { + v1 = v1.split('.') + v2 = v2.split('.') + const len = Math.max(v1.length, v2.length) + while (v1.length < len) { + v1.push('0') + } + while (v2.length < len) { + v2.push('0') + } + for (let i = 0; i < len; i++) { + const num1 = parseInt(v1[i], 10) + const num2 = parseInt(v2[i], 10) + + if (num1 > num2) { + return 1 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 0000000..c55fe0c --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,39 @@ +{ + "name": "yimini", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "node_modules/@miniprogram-component-plus/sticky": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@miniprogram-component-plus/sticky/-/sticky-1.0.1.tgz", + "integrity": "sha512-HYZ/PCm8KjUSQYwMLG61bhHBKU8s9aDx5Tl2BvruAku8bvEbyd8A3Povpb9V6lPPvsD/oXp2R7/GmgsCgDuI4g==" + }, + "node_modules/@miniprogram-component-plus/tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==" + }, + "node_modules/wxml-to-canvas": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "dependencies": { + "widget-ui": "^1.0.2" + } + }, + "node_modules/wxml-to-canvas/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/wxml-to-canvas/node_modules/widget-ui": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "dependencies": { + "eventemitter3": "^4.0.0" + } + } + } +} diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.js b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.js new file mode 100644 index 0000000..cfb261f --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.js @@ -0,0 +1,148 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 5); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ 5: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Component({ + options: { + addGlobalClass: true, + pureDataPattern: /^_/, + multipleSlots: true + }, + properties: { + tabs: { type: Array, value: [] }, + tabClass: { type: String, value: '' }, + swiperClass: { type: String, value: '' }, + activeClass: { type: String, value: '' }, + tabUnderlineColor: { type: String, value: '#07c160' }, + tabActiveTextColor: { type: String, value: '#000000' }, + tabInactiveTextColor: { type: String, value: '#000000' }, + tabBackgroundColor: { type: String, value: '#ffffff' }, + activeTab: { type: Number, value: 0 }, + swipeable: { type: Boolean, value: true }, + animation: { type: Boolean, value: true }, + duration: { type: Number, value: 500 } + }, + data: { + currentView: 0 + }, + observers: { + activeTab: function activeTab(_activeTab) { + var len = this.data.tabs.length; + if (len === 0) return; + var currentView = _activeTab - 1; + if (currentView < 0) currentView = 0; + if (currentView > len - 1) currentView = len - 1; + this.setData({ currentView: currentView }); + } + }, + lifetimes: { + created: function created() {} + }, + methods: { + handleTabClick: function handleTabClick(e) { + var index = e.currentTarget.dataset.index; + this.setData({ activeTab: index }); + this.triggerEvent('tabclick', { index: index }); + }, + handleSwiperChange: function handleSwiperChange(e) { + var index = e.detail.current; + this.setData({ activeTab: index }); + this.triggerEvent('change', { index: index }); + } + } +}); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.json b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.json new file mode 100644 index 0000000..b18bd46 --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxml b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxml new file mode 100644 index 0000000..ddb213c --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxml @@ -0,0 +1,20 @@ + + + + + + + + {{item.title}} + + + + + + + + + + + + \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxss b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxss new file mode 100644 index 0000000..a6982e7 --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/miniprogram_dist/index.wxss @@ -0,0 +1 @@ +.weui-tabs{width:100%}.weui-tabs-bar__wrp{width:100%;background:#fff}.weui-tabs-bar__content{width:100%;white-space:nowrap}.weui-tabs-bar__item{display:inline-block}.weui-tabs-bar__title{display:inline-block;border-bottom-width:2px;border-bottom-style:solid;border-bottom-color:transparent} \ No newline at end of file diff --git a/node_modules/@miniprogram-component-plus/tabs/package.json b/node_modules/@miniprogram-component-plus/tabs/package.json new file mode 100644 index 0000000..a6df0d5 --- /dev/null +++ b/node_modules/@miniprogram-component-plus/tabs/package.json @@ -0,0 +1,44 @@ +{ + "_from": "@miniprogram-component-plus/tabs", + "_id": "@miniprogram-component-plus/tabs@1.0.0", + "_inBundle": false, + "_integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==", + "_location": "/@miniprogram-component-plus/tabs", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "@miniprogram-component-plus/tabs", + "name": "@miniprogram-component-plus/tabs", + "escapedName": "@miniprogram-component-plus%2ftabs", + "scope": "@miniprogram-component-plus", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "_shasum": "cbf6b4e3ce7c4ac8ad790a844b407155f07d9ed7", + "_spec": "@miniprogram-component-plus/tabs", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini", + "author": { + "name": "sanfordsun" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "", + "keywords": [ + "tabs", + "miniprogram" + ], + "license": "ISC", + "main": "miniprogram_dist/index.js", + "name": "@miniprogram-component-plus/tabs", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "version": "1.0.0" +} diff --git a/node_modules/wxml-to-canvas/.babelrc b/node_modules/wxml-to-canvas/.babelrc new file mode 100644 index 0000000..c062b77 --- /dev/null +++ b/node_modules/wxml-to-canvas/.babelrc @@ -0,0 +1,10 @@ +{ + "plugins": [ + ["module-resolver", { + "root": ["./src"], + "alias": {} + }], + "@babel/transform-runtime" + ], + "presets": ["@babel/preset-env"] +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/.eslintrc.js b/node_modules/wxml-to-canvas/.eslintrc.js new file mode 100644 index 0000000..6576a30 --- /dev/null +++ b/node_modules/wxml-to-canvas/.eslintrc.js @@ -0,0 +1,99 @@ +module.exports = { + 'extends': [ + 'airbnb-base', + 'plugin:promise/recommended' + ], + 'parserOptions': { + 'ecmaVersion': 9, + 'ecmaFeatures': { + 'jsx': false + }, + 'sourceType': 'module' + }, + 'env': { + 'es6': true, + 'node': true, + 'jest': true + }, + 'plugins': [ + 'import', + 'node', + 'promise' + ], + 'rules': { + 'arrow-parens': 'off', + 'comma-dangle': [ + 'error', + 'only-multiline' + ], + 'complexity': ['error', 10], + 'func-names': 'off', + 'global-require': 'off', + 'handle-callback-err': [ + 'error', + '^(err|error)$' + ], + 'import/no-unresolved': [ + 'error', + { + 'caseSensitive': true, + 'commonjs': true, + 'ignore': ['^[^.]'] + } + ], + 'import/prefer-default-export': 'off', + 'linebreak-style': 'off', + 'no-catch-shadow': 'error', + 'no-continue': 'off', + 'no-div-regex': 'warn', + 'no-else-return': 'off', + 'no-param-reassign': 'off', + 'no-plusplus': 'off', + 'no-shadow': 'off', + 'no-multi-assign': 'off', + 'no-underscore-dangle': 'off', + 'node/no-deprecated-api': 'error', + 'node/process-exit-as-throw': 'error', + 'object-curly-spacing': [ + 'error', + 'never' + ], + 'operator-linebreak': [ + 'error', + 'after', + { + 'overrides': { + ':': 'before', + '?': 'before' + } + } + ], + 'prefer-arrow-callback': 'off', + 'prefer-destructuring': 'off', + 'prefer-template': 'off', + 'quote-props': [ + 1, + 'as-needed', + { + 'unnecessary': true + } + ], + 'semi': [ + 'error', + 'never' + ], + 'no-await-in-loop': 'off', + 'no-restricted-syntax': 'off', + 'promise/always-return': 'off', + }, + 'globals': { + 'window': true, + 'document': true, + 'App': true, + 'Page': true, + 'Component': true, + 'Behavior': true, + 'wx': true, + 'getCurrentPages': true, + } +} diff --git a/node_modules/wxml-to-canvas/LICENSE b/node_modules/wxml-to-canvas/LICENSE new file mode 100644 index 0000000..3617210 --- /dev/null +++ b/node_modules/wxml-to-canvas/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 wechat-miniprogram + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/wxml-to-canvas/README.md b/node_modules/wxml-to-canvas/README.md new file mode 100644 index 0000000..8ee64df --- /dev/null +++ b/node_modules/wxml-to-canvas/README.md @@ -0,0 +1,187 @@ +# wxml-to-canvas + +[![](https://img.shields.io/npm/v/wxml-to-canvas)](https://www.npmjs.com/package/wxml-to-canvas) +[![](https://img.shields.io/npm/l/wxml-to-canvas)](https://github.com/wechat-miniprogram/wxml-to-canvas) + +小程序内通过静态模板和样式绘制 canvas ,导出图片,可用于生成分享图等场景。[代码片段](https://developers.weixin.qq.com/s/r6UBlEm17pc6) + + +## 使用方法 + +#### Step1. npm 安装,参考 [小程序 npm 支持](https://developers.weixin.qq.com/miniprogram/dev/devtools/npm.html) + +``` +npm install --save wxml-to-canvas +``` + +#### Step2. JSON 组件声明 + +``` +{ + "usingComponents": { + "wxml-to-canvas": "wxml-to-canvas", + } +} +``` + +#### Step3. wxml 引入组件 + +``` + + +``` + +##### 属性列表 + +| 属性 | 类型 | 默认值 | 必填 | 说明 | +| --------------- | ------- | ------- | ---- | ---------------------- | +| width | Number | 400 | 否 | 画布宽度 | +| height | Number | 300 | 否 | 画布高度 | + + +#### Step4. js 获取实例 + +``` +const {wxml, style} = require('./demo.js') +Page({ + data: { + src: '' + }, + onLoad() { + this.widget = this.selectComponent('.widget') + }, + renderToCanvas() { + const p1 = this.widget.renderToCanvas({ wxml, style }) + p1.then((res) => { + this.container = res + this.extraImage() + }) + }, + extraImage() { + const p2 = this.widget.canvasToTempFilePath() + p2.then(res => { + this.setData({ + src: res.tempFilePath, + width: this.container.layoutBox.width, + height: this.container.layoutBox.height + }) + }) + } +}) +``` + +## wxml 模板 + +支持 `view`、`text`、`image` 三种标签,通过 class 匹配 style 对象中的样式。 + +``` + + + + + yeah! + + + + + +``` + +## 样式 + +对象属性值为对应 wxml 标签的 cass 驼峰形式。**需为每个元素指定 width 和 height 属性**,否则会导致布局错误。 + +存在多个 className 时,位置靠后的优先级更高,子元素会继承父级元素的可继承属性。 + +元素均为 flex 布局。left/top 等 仅在 absolute 定位下生效。 + +``` +const style = { + container: { + width: 300, + height: 200, + flexDirection: 'row', + justifyContent: 'space-around', + backgroundColor: '#ccc', + alignItems: 'center', + }, + itemBox: { + width: 80, + height: 60, + }, + red: { + backgroundColor: '#ff0000' + }, + green: { + backgroundColor: '#00ff00' + }, + blue: { + backgroundColor: '#0000ff' + }, + text: { + width: 80, + height: 60, + textAlign: 'center', + verticalAlign: 'middle', + } +} +``` + +## 接口 + +#### f1. `renderToCanvas({wxml, style}): Promise` + +渲染到 canvas,传入 wxml 模板 和 style 对象,返回的容器对象包含布局和样式信息。 + +#### f2. `canvasToTempFilePath({fileType, quality}): Promise` + +提取画布中容器所在区域内容生成相同大小的图片,返回临时文件地址。 + +`fileType` 支持 `jpg`、`png` 两种格式,quality 为图片的质量,目前仅对 jpg 有效。取值范围为 (0, 1],不在范围内时当作 1.0 处理。 + +## 支持的 css 属性 + +### 布局相关 + +| 属性名 | 支持的值或类型 | 默认值 | +| --------------------- | --------------------------------------------------------- | ---------- | +| width | number | 0 | +| height | number | 0 | +| position | relative, absolute | relative | +| left | number | 0 | +| top | number | 0 | +| right | number | 0 | +| bottom | number | 0 | +| margin | number | 0 | +| padding | number | 0 | +| borderWidth | number | 0 | +| borderRadius | number | 0 | +| flexDirection | column, row | row | +| flexShrink | number | 1 | +| flexGrow | number | | +| flexWrap | wrap, nowrap | nowrap | +| justifyContent | flex-start, center, flex-end, space-between, space-around | flex-start | +| alignItems, alignSelf | flex-start, center, flex-end, stretch | flex-start | + +支持 marginLeft、paddingLeft 等 + +### 文字 + +| 属性名 | 支持的值或类型 | 默认值 | +| --------------- | ------------------- | ----------- | +| fontSize | number | 14 | +| lineHeight | number / string | '1.4em' | +| textAlign | left, center, right | left | +| verticalAlign | top, middle, bottom | top | +| color | string | #000000 | +| backgroundColor | string | transparent | + +lineHeight 可取带 em 单位的字符串或数字类型。 + +### 变形 + +| 属性名 | 支持的值或类型 | 默认值 | +| ------ | -------------- | ------ | +| scale | number | 1 | diff --git a/node_modules/wxml-to-canvas/gulpfile.js b/node_modules/wxml-to-canvas/gulpfile.js new file mode 100644 index 0000000..fb292c2 --- /dev/null +++ b/node_modules/wxml-to-canvas/gulpfile.js @@ -0,0 +1,26 @@ +const gulp = require('gulp') +const clean = require('gulp-clean') + +const config = require('./tools/config') +const BuildTask = require('./tools/build') +const id = require('./package.json').name || 'miniprogram-custom-component' + +// 构建任务实例 +// eslint-disable-next-line no-new +new BuildTask(id, config.entry) + +// 清空生成目录和文件 +gulp.task('clean', gulp.series(() => gulp.src(config.distPath, {read: false, allowEmpty: true}).pipe(clean()), done => { + if (config.isDev) { + return gulp.src(config.demoDist, {read: false, allowEmpty: true}) + .pipe(clean()) + } + + return done() +})) +// 监听文件变化并进行开发模式构建 +gulp.task('watch', gulp.series(`${id}-watch`)) +// 开发模式构建 +gulp.task('dev', gulp.series(`${id}-dev`)) +// 生产模式构建 +gulp.task('default', gulp.series(`${id}-default`)) diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.js b/node_modules/wxml-to-canvas/miniprogram_dist/index.js new file mode 100644 index 0000000..2a4f21e --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/index.js @@ -0,0 +1,779 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else { + var a = factory(); + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; + } +})(window, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const compareVersion = (v1, v2) => { + v1 = v1.split('.') + v2 = v2.split('.') + const len = Math.max(v1.length, v2.length) + while (v1.length < len) { + v1.push('0') + } + while (v2.length < len) { + v2.push('0') + } + for (let i = 0; i < len; i++) { + const num1 = parseInt(v1[i], 10) + const num2 = parseInt(v2[i], 10) + + if (num1 > num2) { + return 1 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __webpack_require__) { + + +const xmlParse = __webpack_require__(2) +const {Widget} = __webpack_require__(3) +const {Draw} = __webpack_require__(5) +const {compareVersion} = __webpack_require__(0) + +const canvasId = 'weui-canvas' + +Component({ + properties: { + width: { + type: Number, + value: 400 + }, + height: { + type: Number, + value: 300 + } + }, + data: { + use2dCanvas: false, // 2.9.2 后可用canvas 2d 接口 + }, + lifetimes: { + attached() { + const {SDKVersion, pixelRatio: dpr} = wx.getSystemInfoSync() + const use2dCanvas = compareVersion(SDKVersion, '2.9.2') >= 0 + this.dpr = dpr + this.setData({use2dCanvas}, () => { + if (use2dCanvas) { + const query = this.createSelectorQuery() + query.select(`#${canvasId}`) + .fields({node: true, size: true}) + .exec(res => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + this.ctx = ctx + this.canvas = canvas + }) + } else { + this.ctx = wx.createCanvasContext(canvasId, this) + } + }) + } + }, + methods: { + async renderToCanvas(args) { + const {wxml, style} = args + const ctx = this.ctx + const canvas = this.canvas + const use2dCanvas = this.data.use2dCanvas + + if (use2dCanvas && !canvas) { + return Promise.reject(new Error('renderToCanvas: fail canvas has not been created')) + } + + ctx.clearRect(0, 0, this.data.width, this.data.height) + const {root: xom} = xmlParse(wxml) + + const widget = new Widget(xom, style) + const container = widget.init() + this.boundary = { + top: container.layoutBox.top, + left: container.layoutBox.left, + width: container.computedStyle.width, + height: container.computedStyle.height, + } + const draw = new Draw(ctx, canvas, use2dCanvas) + await draw.drawNode(container) + + if (!use2dCanvas) { + await this.canvasDraw(ctx) + } + return Promise.resolve(container) + }, + + canvasDraw(ctx, reserve) { + return new Promise(resolve => { + ctx.draw(reserve, () => { + resolve() + }) + }) + }, + + canvasToTempFilePath(args = {}) { + const use2dCanvas = this.data.use2dCanvas + + return new Promise((resolve, reject) => { + const { + top, left, width, height + } = this.boundary + + const copyArgs = { + x: left, + y: top, + width, + height, + destWidth: width * this.dpr, + destHeight: height * this.dpr, + canvasId, + fileType: args.fileType || 'png', + quality: args.quality || 1, + success: resolve, + fail: reject + } + + if (use2dCanvas) { + delete copyArgs.canvasId + copyArgs.canvas = this.canvas + } + wx.canvasToTempFilePath(copyArgs, this) + }) + } + } +}) + + +/***/ }), +/* 2 */ +/***/ (function(module, exports) { + + +/** + * Module dependencies. + */ + + +/** + * Expose `parse`. + */ + + +/** + * Parse the given string of `xml`. + * + * @param {String} xml + * @return {Object} + * @api public + */ + +function parse(xml) { + xml = xml.trim() + + // strip comments + xml = xml.replace(//g, '') + + return document() + + /** + * XML document. + */ + + function document() { + return { + declaration: declaration(), + root: tag() + } + } + + /** + * Declaration. + */ + + function declaration() { + const m = match(/^<\?xml\s*/) + if (!m) return + + // tag + const node = { + attributes: {} + } + + // attributes + while (!(eos() || is('?>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + match(/\?>\s*/) + + return node + } + + /** + * Tag. + */ + + function tag() { + const m = match(/^<([\w-:.]+)\s*/) + if (!m) return + + // name + const node = { + name: m[1], + attributes: {}, + children: [] + } + + // attributes + while (!(eos() || is('>') || is('?>') || is('/>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + // self closing tag + if (match(/^\s*\/>\s*/)) { + return node + } + + match(/\??>\s*/) + + // content + node.content = content() + + // children + let child + while (child = tag()) { + node.children.push(child) + } + + // closing + match(/^<\/[\w-:.]+>\s*/) + + return node + } + + /** + * Text content. + */ + + function content() { + const m = match(/^([^<]*)/) + if (m) return m[1] + return '' + } + + /** + * Attribute. + */ + + function attribute() { + const m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/) + if (!m) return + return {name: m[1], value: strip(m[2])} + } + + /** + * Strip quotes from `val`. + */ + + function strip(val) { + return val.replace(/^['"]|['"]$/g, '') + } + + /** + * Match `re` and advance the string. + */ + + function match(re) { + const m = xml.match(re) + if (!m) return + xml = xml.slice(m[0].length) + return m + } + + /** + * End-of-source. + */ + + function eos() { + return xml.length == 0 + } + + /** + * Check for `prefix`. + */ + + function is(prefix) { + return xml.indexOf(prefix) == 0 + } +} + +module.exports = parse + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +const Block = __webpack_require__(4) +const {splitLineToCamelCase} = __webpack_require__(0) + +class Element extends Block { + constructor(prop) { + super(prop.style) + this.name = prop.name + this.attributes = prop.attributes + } +} + + +class Widget { + constructor(xom, style) { + this.xom = xom + this.style = style + + this.inheritProps = ['fontSize', 'lineHeight', 'textAlign', 'verticalAlign', 'color'] + } + + init() { + this.container = this.create(this.xom) + this.container.layout() + + this.inheritStyle(this.container) + return this.container + } + + // 继承父节点的样式 + inheritStyle(node) { + const parent = node.parent || null + const children = node.children || {} + const computedStyle = node.computedStyle + + if (parent) { + this.inheritProps.forEach(prop => { + computedStyle[prop] = computedStyle[prop] || parent.computedStyle[prop] + }) + } + + Object.values(children).forEach(child => { + this.inheritStyle(child) + }) + } + + create(node) { + let classNames = (node.attributes.class || '').split(' ') + classNames = classNames.map(item => splitLineToCamelCase(item.trim())) + const style = {} + classNames.forEach(item => { + Object.assign(style, this.style[item] || {}) + }) + + const args = {name: node.name, style} + + const attrs = Object.keys(node.attributes) + const attributes = {} + for (const attr of attrs) { + const value = node.attributes[attr] + const CamelAttr = splitLineToCamelCase(attr) + + if (value === '' || value === 'true') { + attributes[CamelAttr] = true + } else if (value === 'false') { + attributes[CamelAttr] = false + } else { + attributes[CamelAttr] = value + } + } + attributes.text = node.content + args.attributes = attributes + const element = new Element(args) + node.children.forEach(childNode => { + const childElement = this.create(childNode) + element.add(childElement) + }) + return element + } +} + +module.exports = {Widget} + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +module.exports = require("widget-ui"); + +/***/ }), +/* 5 */ +/***/ (function(module, exports) { + +class Draw { + constructor(context, canvas, use2dCanvas = false) { + this.ctx = context + this.canvas = canvas || null + this.use2dCanvas = use2dCanvas + } + + roundRect(x, y, w, h, r, fill = true, stroke = false) { + if (r < 0) return + const ctx = this.ctx + + ctx.beginPath() + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2) + ctx.arc(x + w - r, y + r, r, Math.PI * 3 / 2, 0) + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI / 2) + ctx.arc(x + r, y + h - r, r, Math.PI / 2, Math.PI) + ctx.lineTo(x, y + r) + if (stroke) ctx.stroke() + if (fill) ctx.fill() + } + + drawView(box, style) { + const ctx = this.ctx + const { + left: x, top: y, width: w, height: h + } = box + const { + borderRadius = 0, + borderWidth = 0, + borderColor, + color = '#000', + backgroundColor = 'transparent', + } = style + ctx.save() + // 外环 + if (borderWidth > 0) { + ctx.fillStyle = borderColor || color + this.roundRect(x, y, w, h, borderRadius) + } + + // 内环 + ctx.fillStyle = backgroundColor + const innerWidth = w - 2 * borderWidth + const innerHeight = h - 2 * borderWidth + const innerRadius = borderRadius - borderWidth >= 0 ? borderRadius - borderWidth : 0 + this.roundRect(x + borderWidth, y + borderWidth, innerWidth, innerHeight, innerRadius) + ctx.restore() + } + + async drawImage(img, box, style) { + await new Promise((resolve, reject) => { + const ctx = this.ctx + const canvas = this.canvas + + const { + borderRadius = 0 + } = style + const { + left: x, top: y, width: w, height: h + } = box + ctx.save() + this.roundRect(x, y, w, h, borderRadius, false, false) + ctx.clip() + + const _drawImage = (img) => { + if (this.use2dCanvas) { + const Image = canvas.createImage() + Image.onload = () => { + ctx.drawImage(Image, x, y, w, h) + ctx.restore() + resolve() + } + Image.onerror = () => { reject(new Error(`createImage fail: ${img}`)) } + Image.src = img + } else { + ctx.drawImage(img, x, y, w, h) + ctx.restore() + resolve() + } + } + + const isTempFile = /^wxfile:\/\//.test(img) + const isNetworkFile = /^https?:\/\//.test(img) + + if (isTempFile) { + _drawImage(img) + } else if (isNetworkFile) { + wx.downloadFile({ + url: img, + success(res) { + if (res.statusCode === 200) { + _drawImage(res.tempFilePath) + } else { + reject(new Error(`downloadFile:fail ${img}`)) + } + }, + fail() { + reject(new Error(`downloadFile:fail ${img}`)) + } + }) + } else { + reject(new Error(`image format error: ${img}`)) + } + }) + } + + // eslint-disable-next-line complexity + drawText(text, box, style) { + const ctx = this.ctx + let { + left: x, top: y, width: w, height: h + } = box + let { + color = '#000', + lineHeight = '1.4em', + fontSize = 14, + textAlign = 'left', + verticalAlign = 'top', + backgroundColor = 'transparent' + } = style + + if (typeof lineHeight === 'string') { // 2em + lineHeight = Math.ceil(parseFloat(lineHeight.replace('em')) * fontSize) + } + if (!text || (lineHeight > h)) return + + ctx.save() + ctx.textBaseline = 'top' + ctx.font = `${fontSize}px sans-serif` + ctx.textAlign = textAlign + + // 背景色 + ctx.fillStyle = backgroundColor + this.roundRect(x, y, w, h, 0) + + // 文字颜色 + ctx.fillStyle = color + + // 水平布局 + switch (textAlign) { + case 'left': + break + case 'center': + x += 0.5 * w + break + case 'right': + x += w + break + default: break + } + + const textWidth = ctx.measureText(text).width + const actualHeight = Math.ceil(textWidth / w) * lineHeight + let paddingTop = Math.ceil((h - actualHeight) / 2) + if (paddingTop < 0) paddingTop = 0 + + // 垂直布局 + switch (verticalAlign) { + case 'top': + break + case 'middle': + y += paddingTop + break + case 'bottom': + y += 2 * paddingTop + break + default: break + } + + const inlinePaddingTop = Math.ceil((lineHeight - fontSize) / 2) + + // 不超过一行 + if (textWidth <= w) { + ctx.fillText(text, x, y + inlinePaddingTop) + return + } + + // 多行文本 + const chars = text.split('') + const _y = y + + // 逐行绘制 + let line = '' + for (const ch of chars) { + const testLine = line + ch + const testWidth = ctx.measureText(testLine).width + + if (testWidth > w) { + ctx.fillText(line, x, y + inlinePaddingTop) + y += lineHeight + line = ch + if ((y + lineHeight) > (_y + h)) break + } else { + line = testLine + } + } + + // 避免溢出 + if ((y + lineHeight) <= (_y + h)) { + ctx.fillText(line, x, y + inlinePaddingTop) + } + ctx.restore() + } + + async drawNode(element) { + const {layoutBox, computedStyle, name} = element + const {src, text} = element.attributes + if (name === 'view') { + this.drawView(layoutBox, computedStyle) + } else if (name === 'image') { + await this.drawImage(src, layoutBox, computedStyle) + } else if (name === 'text') { + this.drawText(text, layoutBox, computedStyle) + } + const childs = Object.values(element.children) + for (const child of childs) { + await this.drawNode(child) + } + } +} + + +module.exports = { + Draw +} + + +/***/ }) +/******/ ]); +}); \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.json b/node_modules/wxml-to-canvas/miniprogram_dist/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.wxml b/node_modules/wxml-to-canvas/miniprogram_dist/index.wxml new file mode 100644 index 0000000..a0010ad --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/index.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/index.wxss b/node_modules/wxml-to-canvas/miniprogram_dist/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/wxml-to-canvas/miniprogram_dist/utils.js b/node_modules/wxml-to-canvas/miniprogram_dist/utils.js new file mode 100644 index 0000000..c3cf7d7 --- /dev/null +++ b/node_modules/wxml-to-canvas/miniprogram_dist/utils.js @@ -0,0 +1,57 @@ +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const compareVersion = (v1, v2) => { + v1 = v1.split('.') + v2 = v2.split('.') + const len = Math.max(v1.length, v2.length) + while (v1.length < len) { + v1.push('0') + } + while (v2.length < len) { + v2.push('0') + } + for (let i = 0; i < len; i++) { + const num1 = parseInt(v1[i], 10) + const num2 = parseInt(v2[i], 10) + + if (num1 > num2) { + return 1 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/LICENSE b/node_modules/wxml-to-canvas/node_modules/eventemitter3/LICENSE new file mode 100644 index 0000000..abcbd54 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Arnout Kazemier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/README.md b/node_modules/wxml-to-canvas/node_modules/eventemitter3/README.md new file mode 100644 index 0000000..aba7e18 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/README.md @@ -0,0 +1,94 @@ +# EventEmitter3 + +[![Version npm](https://img.shields.io/npm/v/eventemitter3.svg?style=flat-square)](https://www.npmjs.com/package/eventemitter3)[![Build Status](https://img.shields.io/travis/primus/eventemitter3/master.svg?style=flat-square)](https://travis-ci.org/primus/eventemitter3)[![Dependencies](https://img.shields.io/david/primus/eventemitter3.svg?style=flat-square)](https://david-dm.org/primus/eventemitter3)[![Coverage Status](https://img.shields.io/coveralls/primus/eventemitter3/master.svg?style=flat-square)](https://coveralls.io/r/primus/eventemitter3?branch=master)[![IRC channel](https://img.shields.io/badge/IRC-irc.freenode.net%23primus-00a8ff.svg?style=flat-square)](https://webchat.freenode.net/?channels=primus) + +[![Sauce Test Status](https://saucelabs.com/browser-matrix/eventemitter3.svg)](https://saucelabs.com/u/eventemitter3) + +EventEmitter3 is a high performance EventEmitter. It has been micro-optimized +for various of code paths making this, one of, if not the fastest EventEmitter +available for Node.js and browsers. The module is API compatible with the +EventEmitter that ships by default with Node.js but there are some slight +differences: + +- Domain support has been removed. +- We do not `throw` an error when you emit an `error` event and nobody is + listening. +- The `newListener` and `removeListener` events have been removed as they + are useful only in some uncommon use-cases. +- The `setMaxListeners`, `getMaxListeners`, `prependListener` and + `prependOnceListener` methods are not available. +- Support for custom context for events so there is no need to use `fn.bind`. +- The `removeListener` method removes all matching listeners, not only the + first. + +It's a drop in replacement for existing EventEmitters, but just faster. Free +performance, who wouldn't want that? The EventEmitter is written in EcmaScript 3 +so it will work in the oldest browsers and node versions that you need to +support. + +## Installation + +```bash +$ npm install --save eventemitter3 +``` + +## CDN + +Recommended CDN: + +```text +https://unpkg.com/eventemitter3@latest/umd/eventemitter3.min.js +``` + +## Usage + +After installation the only thing you need to do is require the module: + +```js +var EventEmitter = require('eventemitter3'); +``` + +And you're ready to create your own EventEmitter instances. For the API +documentation, please follow the official Node.js documentation: + +http://nodejs.org/api/events.html + +### Contextual emits + +We've upgraded the API of the `EventEmitter.on`, `EventEmitter.once` and +`EventEmitter.removeListener` to accept an extra argument which is the `context` +or `this` value that should be set for the emitted events. This means you no +longer have the overhead of an event that required `fn.bind` in order to get a +custom `this` value. + +```js +var EE = new EventEmitter() + , context = { foo: 'bar' }; + +function emitted() { + console.log(this === context); // true +} + +EE.once('event-name', emitted, context); +EE.on('another-event', emitted, context); +EE.removeListener('another-event', emitted, context); +``` + +### Tests and benchmarks + +This module is well tested. You can run: + +- `npm test` to run the tests under Node.js. +- `npm run test-browser` to run the tests in real browsers via Sauce Labs. + +We also have a set of benchmarks to compare EventEmitter3 with some available +alternatives. To run the benchmarks run `npm run benchmark`. + +Tests and benchmarks are not included in the npm package. If you want to play +with them you have to clone the GitHub repository. +Note that you will have to run an additional `npm i` in the benchmarks folder +before `npm run benchmark`. + +## License + +[MIT](LICENSE) diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.d.ts b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.d.ts new file mode 100644 index 0000000..118f68b --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.d.ts @@ -0,0 +1,134 @@ +/** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + */ +declare class EventEmitter< + EventTypes extends EventEmitter.ValidEventTypes = string | symbol, + Context extends any = any +> { + static prefixed: string | boolean; + + /** + * Return an array listing the events for which the emitter has registered + * listeners. + */ + eventNames(): Array>; + + /** + * Return the listeners registered for a given event. + */ + listeners>( + event: T + ): Array>; + + /** + * Return the number of listeners listening to a given event. + */ + listenerCount(event: EventEmitter.EventNames): number; + + /** + * Calls each of the listeners registered for a given event. + */ + emit>( + event: T, + ...args: EventEmitter.EventArgs + ): boolean; + + /** + * Add a listener for a given event. + */ + on>( + event: T, + fn: EventEmitter.EventListener, + context?: Context + ): this; + addListener>( + event: T, + fn: EventEmitter.EventListener, + context?: Context + ): this; + + /** + * Add a one-time listener for a given event. + */ + once>( + event: T, + fn: EventEmitter.EventListener, + context?: Context + ): this; + + /** + * Remove the listeners of a given event. + */ + removeListener>( + event: T, + fn?: EventEmitter.EventListener, + context?: Context, + once?: boolean + ): this; + off>( + event: T, + fn?: EventEmitter.EventListener, + context?: Context, + once?: boolean + ): this; + + /** + * Remove all listeners, or those of the specified event. + */ + removeAllListeners(event?: EventEmitter.EventNames): this; +} + +declare namespace EventEmitter { + export interface ListenerFn { + (...args: Args): void; + } + + export interface EventEmitterStatic { + new < + EventTypes extends ValidEventTypes = string | symbol, + Context = any + >(): EventEmitter; + } + + /** + * `object` should be in either of the following forms: + * ``` + * interface EventTypes { + * 'event-with-parameters': any[] + * 'event-with-example-handler': (...args: any[]) => void + * } + * ``` + */ + export type ValidEventTypes = string | symbol | object; + + export type EventNames = T extends string | symbol + ? T + : keyof T; + + export type ArgumentMap = { + [K in keyof T]: T[K] extends (...args: any[]) => void + ? Parameters + : T[K] extends any[] + ? T[K] + : any[]; + }; + + export type EventListener< + T extends ValidEventTypes, + K extends EventNames + > = T extends string | symbol + ? (...args: any[]) => void + : ( + ...args: ArgumentMap>[Extract] + ) => void; + + export type EventArgs< + T extends ValidEventTypes, + K extends EventNames + > = Parameters>; + + export const EventEmitter: EventEmitterStatic; +} + +export = EventEmitter; diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.js b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.js new file mode 100644 index 0000000..6ea485c --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/index.js @@ -0,0 +1,336 @@ +'use strict'; + +var has = Object.prototype.hasOwnProperty + , prefix = '~'; + +/** + * Constructor to create a storage for our `EE` objects. + * An `Events` instance is a plain object whose properties are event names. + * + * @constructor + * @private + */ +function Events() {} + +// +// We try to not inherit from `Object.prototype`. In some engines creating an +// instance in this way is faster than calling `Object.create(null)` directly. +// If `Object.create(null)` is not supported we prefix the event names with a +// character to make sure that the built-in object properties are not +// overridden or used as an attack vector. +// +if (Object.create) { + Events.prototype = Object.create(null); + + // + // This hack is needed because the `__proto__` property is still inherited in + // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5. + // + if (!new Events().__proto__) prefix = false; +} + +/** + * Representation of a single event listener. + * + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} [once=false] Specify if the listener is a one-time listener. + * @constructor + * @private + */ +function EE(fn, context, once) { + this.fn = fn; + this.context = context; + this.once = once || false; +} + +/** + * Add a listener for a given event. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} context The context to invoke the listener with. + * @param {Boolean} once Specify if the listener is a one-time listener. + * @returns {EventEmitter} + * @private + */ +function addListener(emitter, event, fn, context, once) { + if (typeof fn !== 'function') { + throw new TypeError('The listener must be a function'); + } + + var listener = new EE(fn, context || emitter, once) + , evt = prefix ? prefix + event : event; + + if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++; + else if (!emitter._events[evt].fn) emitter._events[evt].push(listener); + else emitter._events[evt] = [emitter._events[evt], listener]; + + return emitter; +} + +/** + * Clear event by name. + * + * @param {EventEmitter} emitter Reference to the `EventEmitter` instance. + * @param {(String|Symbol)} evt The Event name. + * @private + */ +function clearEvent(emitter, evt) { + if (--emitter._eventsCount === 0) emitter._events = new Events(); + else delete emitter._events[evt]; +} + +/** + * Minimal `EventEmitter` interface that is molded against the Node.js + * `EventEmitter` interface. + * + * @constructor + * @public + */ +function EventEmitter() { + this._events = new Events(); + this._eventsCount = 0; +} + +/** + * Return an array listing the events for which the emitter has registered + * listeners. + * + * @returns {Array} + * @public + */ +EventEmitter.prototype.eventNames = function eventNames() { + var names = [] + , events + , name; + + if (this._eventsCount === 0) return names; + + for (name in (events = this._events)) { + if (has.call(events, name)) names.push(prefix ? name.slice(1) : name); + } + + if (Object.getOwnPropertySymbols) { + return names.concat(Object.getOwnPropertySymbols(events)); + } + + return names; +}; + +/** + * Return the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Array} The registered listeners. + * @public + */ +EventEmitter.prototype.listeners = function listeners(event) { + var evt = prefix ? prefix + event : event + , handlers = this._events[evt]; + + if (!handlers) return []; + if (handlers.fn) return [handlers.fn]; + + for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) { + ee[i] = handlers[i].fn; + } + + return ee; +}; + +/** + * Return the number of listeners listening to a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Number} The number of listeners. + * @public + */ +EventEmitter.prototype.listenerCount = function listenerCount(event) { + var evt = prefix ? prefix + event : event + , listeners = this._events[evt]; + + if (!listeners) return 0; + if (listeners.fn) return 1; + return listeners.length; +}; + +/** + * Calls each of the listeners registered for a given event. + * + * @param {(String|Symbol)} event The event name. + * @returns {Boolean} `true` if the event had listeners, else `false`. + * @public + */ +EventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return false; + + var listeners = this._events[evt] + , len = arguments.length + , args + , i; + + if (listeners.fn) { + if (listeners.once) this.removeListener(event, listeners.fn, undefined, true); + + switch (len) { + case 1: return listeners.fn.call(listeners.context), true; + case 2: return listeners.fn.call(listeners.context, a1), true; + case 3: return listeners.fn.call(listeners.context, a1, a2), true; + case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true; + case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true; + case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true; + } + + for (i = 1, args = new Array(len -1); i < len; i++) { + args[i - 1] = arguments[i]; + } + + listeners.fn.apply(listeners.context, args); + } else { + var length = listeners.length + , j; + + for (i = 0; i < length; i++) { + if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true); + + switch (len) { + case 1: listeners[i].fn.call(listeners[i].context); break; + case 2: listeners[i].fn.call(listeners[i].context, a1); break; + case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break; + case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break; + default: + if (!args) for (j = 1, args = new Array(len -1); j < len; j++) { + args[j - 1] = arguments[j]; + } + + listeners[i].fn.apply(listeners[i].context, args); + } + } + } + + return true; +}; + +/** + * Add a listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.on = function on(event, fn, context) { + return addListener(this, event, fn, context, false); +}; + +/** + * Add a one-time listener for a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn The listener function. + * @param {*} [context=this] The context to invoke the listener with. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.once = function once(event, fn, context) { + return addListener(this, event, fn, context, true); +}; + +/** + * Remove the listeners of a given event. + * + * @param {(String|Symbol)} event The event name. + * @param {Function} fn Only remove the listeners that match this function. + * @param {*} context Only remove the listeners that have this context. + * @param {Boolean} once Only remove one-time listeners. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) { + var evt = prefix ? prefix + event : event; + + if (!this._events[evt]) return this; + if (!fn) { + clearEvent(this, evt); + return this; + } + + var listeners = this._events[evt]; + + if (listeners.fn) { + if ( + listeners.fn === fn && + (!once || listeners.once) && + (!context || listeners.context === context) + ) { + clearEvent(this, evt); + } + } else { + for (var i = 0, events = [], length = listeners.length; i < length; i++) { + if ( + listeners[i].fn !== fn || + (once && !listeners[i].once) || + (context && listeners[i].context !== context) + ) { + events.push(listeners[i]); + } + } + + // + // Reset the array, or remove it completely if we have no more listeners. + // + if (events.length) this._events[evt] = events.length === 1 ? events[0] : events; + else clearEvent(this, evt); + } + + return this; +}; + +/** + * Remove all listeners, or those of the specified event. + * + * @param {(String|Symbol)} [event] The event name. + * @returns {EventEmitter} `this`. + * @public + */ +EventEmitter.prototype.removeAllListeners = function removeAllListeners(event) { + var evt; + + if (event) { + evt = prefix ? prefix + event : event; + if (this._events[evt]) clearEvent(this, evt); + } else { + this._events = new Events(); + this._eventsCount = 0; + } + + return this; +}; + +// +// Alias methods names because people roll like that. +// +EventEmitter.prototype.off = EventEmitter.prototype.removeListener; +EventEmitter.prototype.addListener = EventEmitter.prototype.on; + +// +// Expose the prefix. +// +EventEmitter.prefixed = prefix; + +// +// Allow `EventEmitter` to be imported as module namespace. +// +EventEmitter.EventEmitter = EventEmitter; + +// +// Expose the module. +// +if ('undefined' !== typeof module) { + module.exports = EventEmitter; +} diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/package.json b/node_modules/wxml-to-canvas/node_modules/eventemitter3/package.json new file mode 100644 index 0000000..8e60976 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/package.json @@ -0,0 +1,84 @@ +{ + "_from": "eventemitter3@^4.0.0", + "_id": "eventemitter3@4.0.7", + "_inBundle": false, + "_integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "_location": "/wxml-to-canvas/eventemitter3", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "eventemitter3@^4.0.0", + "name": "eventemitter3", + "escapedName": "eventemitter3", + "rawSpec": "^4.0.0", + "saveSpec": null, + "fetchSpec": "^4.0.0" + }, + "_requiredBy": [ + "/wxml-to-canvas/widget-ui" + ], + "_resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "_shasum": "2de9b68f6528d5644ef5c59526a1b4a07306169f", + "_spec": "eventemitter3@^4.0.0", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini/node_modules/wxml-to-canvas/node_modules/widget-ui", + "author": { + "name": "Arnout Kazemier" + }, + "bugs": { + "url": "https://github.com/primus/eventemitter3/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "EventEmitter3 focuses on performance while maintaining a Node.js AND browser compatible interface.", + "devDependencies": { + "assume": "^2.2.0", + "browserify": "^16.5.0", + "mocha": "^8.0.1", + "nyc": "^15.1.0", + "pre-commit": "^1.2.0", + "sauce-browsers": "^2.0.0", + "sauce-test": "^1.3.3", + "uglify-js": "^3.9.0" + }, + "files": [ + "index.js", + "index.d.ts", + "umd" + ], + "homepage": "https://github.com/primus/eventemitter3#readme", + "keywords": [ + "EventEmitter", + "EventEmitter2", + "EventEmitter3", + "Events", + "addEventListener", + "addListener", + "emit", + "emits", + "emitter", + "event", + "once", + "pub/sub", + "publish", + "reactor", + "subscribe" + ], + "license": "MIT", + "main": "index.js", + "name": "eventemitter3", + "repository": { + "type": "git", + "url": "git://github.com/primus/eventemitter3.git" + }, + "scripts": { + "benchmark": "find benchmarks/run -name '*.js' -exec benchmarks/start.sh {} \\;", + "browserify": "rm -rf umd && mkdir umd && browserify index.js -s EventEmitter3 -o umd/eventemitter3.js", + "minify": "uglifyjs umd/eventemitter3.js --source-map -cm -o umd/eventemitter3.min.js", + "prepublishOnly": "npm run browserify && npm run minify", + "test": "nyc --reporter=html --reporter=text mocha test/test.js", + "test-browser": "node test/browser.js" + }, + "typings": "index.d.ts", + "version": "4.0.7" +} diff --git a/node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.js b/node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.js new file mode 100644 index 0000000..888fcb8 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/eventemitter3/umd/eventemitter3.js @@ -0,0 +1,340 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.EventEmitter3 = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i=0&&L(e))return t.style.borderStartWidth;var o=null;switch(e){case"row":o=t.style.borderLeftWidth;break;case"row-reverse":o=t.style.borderRightWidth;break;case"column":o=t.style.borderTopWidth;break;case"column-reverse":o=t.style.borderBottomWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function E(t,e){if(void 0!==t.style.borderEndWidth&&t.style.borderEndWidth>=0&&L(e))return t.style.borderEndWidth;var o=null;switch(e){case"row":o=t.style.borderRightWidth;break;case"row-reverse":o=t.style.borderLeftWidth;break;case"column":o=t.style.borderBottomWidth;break;case"column-reverse":o=t.style.borderTopWidth}return null!=o&&o>=0?o:void 0!==t.style.borderWidth&&t.style.borderWidth>=0?t.style.borderWidth:0}function C(t,e){return function(t,e){if(void 0!==t.style.paddingStart&&t.style.paddingStart>=0&&L(e))return t.style.paddingStart;var o=null;switch(e){case"row":o=t.style.paddingLeft;break;case"row-reverse":o=t.style.paddingRight;break;case"column":o=t.style.paddingTop;break;case"column-reverse":o=t.style.paddingBottom}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+B(t,e)}function T(t,e){return function(t,e){if(void 0!==t.style.paddingEnd&&t.style.paddingEnd>=0&&L(e))return t.style.paddingEnd;var o=null;switch(e){case"row":o=t.style.paddingRight;break;case"row-reverse":o=t.style.paddingLeft;break;case"column":o=t.style.paddingBottom;break;case"column-reverse":o=t.style.paddingTop}return null!=o&&o>=0?o:void 0!==t.style.padding&&t.style.padding>=0?t.style.padding:0}(t,e)+E(t,e)}function O(t,e){return B(t,e)+E(t,e)}function _(t,e){return k(t,e)+j(t,e)}function R(t,e){return C(t,e)+T(t,e)}function A(t,e){return e.style.alignSelf?e.style.alignSelf:t.style.alignItems?t.style.alignItems:"stretch"}function P(t,e){if(e===r){if(t===i)return l;if(t===l)return i}return t}function D(t,e){return function(t){return t===n||t===a}(t)?P(i,e):n}function H(t){return t.style.position?t.style.position:"relative"}function M(t){return H(t)===v&&t.style.flex>0}function I(t,e){return t.layout[S[e]]+_(t,e)}function N(t,e){return void 0!==t.style[S[e]]&&t.style[S[e]]>=0}function F(t,e){return void 0!==t.style[e]}function q(t,e){return void 0!==t.style[e]?t.style[e]:0}function z(t,e,o){var r={row:t.style.minWidth,"row-reverse":t.style.minWidth,column:t.style.minHeight,"column-reverse":t.style.minHeight}[e],i={row:t.style.maxWidth,"row-reverse":t.style.maxWidth,column:t.style.maxHeight,"column-reverse":t.style.maxHeight}[e],l=o;return void 0!==i&&i>=0&&l>i&&(l=i),void 0!==r&&r>=0&&le?t:e}function G(t,e){void 0===t.layout[S[e]]&&N(t,e)&&(t.layout[S[e]]=U(z(t,e,t.style[S[e]]),R(t,e)))}function J(t,e,o){e.layout[x[o]]=t.layout[S[o]]-e.layout[S[o]]-e.layout[w[o]]}function K(t,e){return void 0!==t.style[b[e]]?q(t,b[e]):-q(t,x[e])}function Q(r,E,Q){var X=function(t,r){var i;return(i=t.style.direction?t.style.direction:e)===e&&(i=void 0===r?o:r),i}(r,Q),Y=P(function(t){return t.style.flexDirection?t.style.flexDirection:n}(r),X),Z=D(Y,X),$=P(i,X);G(r,Y),G(r,Z),r.layout.direction=X,r.layout[b[Y]]+=k(r,Y)+K(r,Y),r.layout[x[Y]]+=j(r,Y)+K(r,Y),r.layout[b[Z]]+=k(r,Z)+K(r,Z),r.layout[x[Z]]+=j(r,Z)+K(r,Z);var tt=r.children.length,et=R(r,$);if(function(t){return void 0!==t.style.measure}(r)){var ot=!W(r.layout[S[$]]),rt=t;rt=N(r,$)?r.style.width:ot?r.layout[S[$]]:E-_(r,$),rt-=et;var it=!N(r,$)&&!ot,lt=!N(r,n)&&W(r.layout[S[n]]);if(it||lt){var nt=r.style.measure(rt);it&&(r.layout.width=nt.width+et),lt&&(r.layout.height=nt.height+R(r,n))}if(0===tt)return}var at,ut,dt,st,yt=function(t){return"wrap"===t.style.flexWrap}(r),ct=function(t){return t.style.justifyContent?t.style.justifyContent:"flex-start"}(r),ft=C(r,Y),ht=C(r,Z),pt=R(r,Y),gt=R(r,Z),vt=!W(r.layout[S[Y]]),mt=!W(r.layout[S[Z]]),bt=L(Y),xt=null,wt=null,St=t;vt&&(St=r.layout[S[Y]]-pt);for(var Wt=0,Lt=0,kt=0,jt=0,Bt=0,Et=0;LtSt&&at!==Wt){Rt--,kt=1;break}At&&(H(dt)!==v||M(dt))&&(At=!1,Pt=at),Dt&&(H(dt)!==v||Xt!==g&&Xt!==f||W(dt.layout[S[Z]]))&&(Dt=!1,Ht=at),At&&(dt.layout[w[Y]]+=Nt,vt&&J(r,dt,Y),Nt+=I(dt,Y),Ft=U(Ft,z(dt,Z,I(dt,Z)))),Dt&&(dt.layout[w[Z]]+=jt+ht,mt&&J(r,dt,Z)),kt=0,Tt+=qt,Lt=at+1}var zt=0,Ut=0,Gt=0;if(Gt=vt?St-Tt:U(Tt,0)-Tt,0!==Ot){var Jt,Kt,Qt=Gt/_t;for(It=Mt;null!==It;)(Jt=Qt*It.style.flex+R(It,Y))!==(Kt=z(It,Y,Jt))&&(Gt-=Kt,_t-=It.style.flex),It=It.nextFlexChild;for((Qt=Gt/_t)<0&&(Qt=0),It=Mt;null!==It;)It.layout[S[Y]]=z(It,Y,Qt*It.style.flex+R(It,Y)),Ct=t,N(r,$)?Ct=r.layout[S[$]]-et:bt||(Ct=E-_(r,$)-et),V(It,Ct,X),dt=It,It=It.nextFlexChild,dt.nextFlexChild=null}else ct!==u&&(ct===d?zt=Gt/2:ct===s?zt=Gt:ct===y?(Gt=U(Gt,0),Ut=Ot+Rt-1!=0?Gt/(Ot+Rt-1):0):ct===c&&(zt=(Ut=Gt/(Ot+Rt))/2));for(Nt+=zt,at=Pt;at1&&mt){var $t=r.layout[S[Z]]-gt,te=$t-jt,ee=0,oe=ht,re=function(t){return t.style.alignContent?t.style.alignContent:"flex-start"}(r);re===p?oe+=te:re===h?oe+=te/2:re===g&&$t>jt&&(ee=te/Et);var ie=0;for(at=0;at { + left: undefined; + top: undefined; + right: undefined; + bottom: undefined; + width: undefined; + height: undefined; + maxWidth: undefined; + maxHeight: undefined; + minWidth: undefined; + minHeight: undefined; + margin: undefined; + marginLeft: undefined; + marginRight: undefined; + marginTop: undefined; + marginBottom: undefined; + padding: undefined; + paddingLeft: undefined; + paddingRight: undefined; + paddingTop: undefined; + paddingBottom: undefined; + borderWidth: undefined; + flexDirection: undefined; + justifyContent: undefined; + alignItems: undefined; + alignSelf: undefined; + flex: undefined; + flexWrap: undefined; + position: undefined; + hidden: boolean; + scale: number; +}; +export { getDefaultStyle, scalableStyles, textStyles, layoutAffectedStyles }; diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/jest.config.js b/node_modules/wxml-to-canvas/node_modules/widget-ui/jest.config.js new file mode 100644 index 0000000..837466b --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/jest.config.js @@ -0,0 +1,6 @@ +module.exports = { + transform: { + "^.+\\.js$": "babel-jest", + "^.+\\.ts$": "ts-jest" + } +}; \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/package.json b/node_modules/wxml-to-canvas/node_modules/widget-ui/package.json new file mode 100644 index 0000000..4672791 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/package.json @@ -0,0 +1,52 @@ +{ + "_from": "widget-ui@1.0.2", + "_id": "widget-ui@1.0.2", + "_inBundle": false, + "_integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "_location": "/wxml-to-canvas/widget-ui", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "widget-ui@1.0.2", + "name": "widget-ui", + "escapedName": "widget-ui", + "rawSpec": "1.0.2", + "saveSpec": null, + "fetchSpec": "1.0.2" + }, + "_requiredBy": [ + "/wxml-to-canvas" + ], + "_resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "_shasum": "d65a560b91739fbd0ea7c2f5f2d28fe4c0132470", + "_spec": "widget-ui@1.0.2", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini/node_modules/wxml-to-canvas", + "author": "", + "bundleDependencies": false, + "dependencies": { + "eventemitter3": "^4.0.0" + }, + "deprecated": false, + "description": "", + "devDependencies": { + "@babel/preset-env": "^7.6.3", + "@babel/preset-typescript": "^7.6.0", + "@types/jest": "^24.0.18", + "babel-jest": "^24.9.0", + "jest": "^24.9.0", + "ts-jest": "^24.1.0", + "ts-loader": "^6.2.0", + "typescript": "^3.6.4", + "webpack": "^4.41.1", + "webpack-cli": "^3.3.9" + }, + "license": "ISC", + "main": "dist/index.js", + "name": "widget-ui", + "scripts": { + "build": "webpack", + "test": "jest" + }, + "version": "1.0.2" +} diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/css-layout.js b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/css-layout.js new file mode 100644 index 0000000..790c753 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/css-layout.js @@ -0,0 +1,1186 @@ +/* eslint-disable */ +// https://www.npmjs.com/package/css-layout +// change: module export strategy. Use ES6 Module + +/** + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +var computeLayout = (function() { + + var CSS_UNDEFINED; + + var CSS_DIRECTION_INHERIT = 'inherit'; + var CSS_DIRECTION_LTR = 'ltr'; + var CSS_DIRECTION_RTL = 'rtl'; + + var CSS_FLEX_DIRECTION_ROW = 'row'; + var CSS_FLEX_DIRECTION_ROW_REVERSE = 'row-reverse'; + var CSS_FLEX_DIRECTION_COLUMN = 'column'; + var CSS_FLEX_DIRECTION_COLUMN_REVERSE = 'column-reverse'; + + var CSS_JUSTIFY_FLEX_START = 'flex-start'; + var CSS_JUSTIFY_CENTER = 'center'; + var CSS_JUSTIFY_FLEX_END = 'flex-end'; + var CSS_JUSTIFY_SPACE_BETWEEN = 'space-between'; + var CSS_JUSTIFY_SPACE_AROUND = 'space-around'; + + var CSS_ALIGN_FLEX_START = 'flex-start'; + var CSS_ALIGN_CENTER = 'center'; + var CSS_ALIGN_FLEX_END = 'flex-end'; + var CSS_ALIGN_STRETCH = 'stretch'; + + var CSS_POSITION_RELATIVE = 'relative'; + var CSS_POSITION_ABSOLUTE = 'absolute'; + + var leading = { + 'row': 'left', + 'row-reverse': 'right', + 'column': 'top', + 'column-reverse': 'bottom' + }; + var trailing = { + 'row': 'right', + 'row-reverse': 'left', + 'column': 'bottom', + 'column-reverse': 'top' + }; + var pos = { + 'row': 'left', + 'row-reverse': 'right', + 'column': 'top', + 'column-reverse': 'bottom' + }; + var dim = { + 'row': 'width', + 'row-reverse': 'width', + 'column': 'height', + 'column-reverse': 'height' + }; + + // When transpiled to Java / C the node type has layout, children and style + // properties. For the JavaScript version this function adds these properties + // if they don't already exist. + function fillNodes(node) { + if (!node.layout || node.isDirty) { + node.layout = { + width: undefined, + height: undefined, + top: 0, + left: 0, + right: 0, + bottom: 0 + }; + } + + if (!node.style) { + node.style = {}; + } + + if (!node.children) { + node.children = []; + } + node.children.forEach(fillNodes); + return node; + } + + function isUndefined(value) { + return value === undefined; + } + + function isRowDirection(flexDirection) { + return flexDirection === CSS_FLEX_DIRECTION_ROW || + flexDirection === CSS_FLEX_DIRECTION_ROW_REVERSE; + } + + function isColumnDirection(flexDirection) { + return flexDirection === CSS_FLEX_DIRECTION_COLUMN || + flexDirection === CSS_FLEX_DIRECTION_COLUMN_REVERSE; + } + + function getLeadingMargin(node, axis) { + if (node.style.marginStart !== undefined && isRowDirection(axis)) { + return node.style.marginStart; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.marginLeft; break; + case 'row-reverse': value = node.style.marginRight; break; + case 'column': value = node.style.marginTop; break; + case 'column-reverse': value = node.style.marginBottom; break; + } + + if (value !== undefined) { + return value; + } + + if (node.style.margin !== undefined) { + return node.style.margin; + } + + return 0; + } + + function getTrailingMargin(node, axis) { + if (node.style.marginEnd !== undefined && isRowDirection(axis)) { + return node.style.marginEnd; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.marginRight; break; + case 'row-reverse': value = node.style.marginLeft; break; + case 'column': value = node.style.marginBottom; break; + case 'column-reverse': value = node.style.marginTop; break; + } + + if (value != null) { + return value; + } + + if (node.style.margin !== undefined) { + return node.style.margin; + } + + return 0; + } + + function getLeadingPadding(node, axis) { + if (node.style.paddingStart !== undefined && node.style.paddingStart >= 0 + && isRowDirection(axis)) { + return node.style.paddingStart; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.paddingLeft; break; + case 'row-reverse': value = node.style.paddingRight; break; + case 'column': value = node.style.paddingTop; break; + case 'column-reverse': value = node.style.paddingBottom; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.padding !== undefined && node.style.padding >= 0) { + return node.style.padding; + } + + return 0; + } + + function getTrailingPadding(node, axis) { + if (node.style.paddingEnd !== undefined && node.style.paddingEnd >= 0 + && isRowDirection(axis)) { + return node.style.paddingEnd; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.paddingRight; break; + case 'row-reverse': value = node.style.paddingLeft; break; + case 'column': value = node.style.paddingBottom; break; + case 'column-reverse': value = node.style.paddingTop; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.padding !== undefined && node.style.padding >= 0) { + return node.style.padding; + } + + return 0; + } + + function getLeadingBorder(node, axis) { + if (node.style.borderStartWidth !== undefined && node.style.borderStartWidth >= 0 + && isRowDirection(axis)) { + return node.style.borderStartWidth; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.borderLeftWidth; break; + case 'row-reverse': value = node.style.borderRightWidth; break; + case 'column': value = node.style.borderTopWidth; break; + case 'column-reverse': value = node.style.borderBottomWidth; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.borderWidth !== undefined && node.style.borderWidth >= 0) { + return node.style.borderWidth; + } + + return 0; + } + + function getTrailingBorder(node, axis) { + if (node.style.borderEndWidth !== undefined && node.style.borderEndWidth >= 0 + && isRowDirection(axis)) { + return node.style.borderEndWidth; + } + + var value = null; + switch (axis) { + case 'row': value = node.style.borderRightWidth; break; + case 'row-reverse': value = node.style.borderLeftWidth; break; + case 'column': value = node.style.borderBottomWidth; break; + case 'column-reverse': value = node.style.borderTopWidth; break; + } + + if (value != null && value >= 0) { + return value; + } + + if (node.style.borderWidth !== undefined && node.style.borderWidth >= 0) { + return node.style.borderWidth; + } + + return 0; + } + + function getLeadingPaddingAndBorder(node, axis) { + return getLeadingPadding(node, axis) + getLeadingBorder(node, axis); + } + + function getTrailingPaddingAndBorder(node, axis) { + return getTrailingPadding(node, axis) + getTrailingBorder(node, axis); + } + + function getBorderAxis(node, axis) { + return getLeadingBorder(node, axis) + getTrailingBorder(node, axis); + } + + function getMarginAxis(node, axis) { + return getLeadingMargin(node, axis) + getTrailingMargin(node, axis); + } + + function getPaddingAndBorderAxis(node, axis) { + return getLeadingPaddingAndBorder(node, axis) + + getTrailingPaddingAndBorder(node, axis); + } + + function getJustifyContent(node) { + if (node.style.justifyContent) { + return node.style.justifyContent; + } + return 'flex-start'; + } + + function getAlignContent(node) { + if (node.style.alignContent) { + return node.style.alignContent; + } + return 'flex-start'; + } + + function getAlignItem(node, child) { + if (child.style.alignSelf) { + return child.style.alignSelf; + } + if (node.style.alignItems) { + return node.style.alignItems; + } + return 'stretch'; + } + + function resolveAxis(axis, direction) { + if (direction === CSS_DIRECTION_RTL) { + if (axis === CSS_FLEX_DIRECTION_ROW) { + return CSS_FLEX_DIRECTION_ROW_REVERSE; + } else if (axis === CSS_FLEX_DIRECTION_ROW_REVERSE) { + return CSS_FLEX_DIRECTION_ROW; + } + } + + return axis; + } + + function resolveDirection(node, parentDirection) { + var direction; + if (node.style.direction) { + direction = node.style.direction; + } else { + direction = CSS_DIRECTION_INHERIT; + } + + if (direction === CSS_DIRECTION_INHERIT) { + direction = (parentDirection === undefined ? CSS_DIRECTION_LTR : parentDirection); + } + + return direction; + } + + function getFlexDirection(node) { + if (node.style.flexDirection) { + return node.style.flexDirection; + } + return CSS_FLEX_DIRECTION_COLUMN; + } + + function getCrossFlexDirection(flexDirection, direction) { + if (isColumnDirection(flexDirection)) { + return resolveAxis(CSS_FLEX_DIRECTION_ROW, direction); + } else { + return CSS_FLEX_DIRECTION_COLUMN; + } + } + + function getPositionType(node) { + if (node.style.position) { + return node.style.position; + } + return 'relative'; + } + + function isFlex(node) { + return ( + getPositionType(node) === CSS_POSITION_RELATIVE && + node.style.flex > 0 + ); + } + + function isFlexWrap(node) { + return node.style.flexWrap === 'wrap'; + } + + function getDimWithMargin(node, axis) { + return node.layout[dim[axis]] + getMarginAxis(node, axis); + } + + function isDimDefined(node, axis) { + return node.style[dim[axis]] !== undefined && node.style[dim[axis]] >= 0; + } + + function isPosDefined(node, pos) { + return node.style[pos] !== undefined; + } + + function isMeasureDefined(node) { + return node.style.measure !== undefined; + } + + function getPosition(node, pos) { + if (node.style[pos] !== undefined) { + return node.style[pos]; + } + return 0; + } + + function boundAxis(node, axis, value) { + var min = { + 'row': node.style.minWidth, + 'row-reverse': node.style.minWidth, + 'column': node.style.minHeight, + 'column-reverse': node.style.minHeight + }[axis]; + + var max = { + 'row': node.style.maxWidth, + 'row-reverse': node.style.maxWidth, + 'column': node.style.maxHeight, + 'column-reverse': node.style.maxHeight + }[axis]; + + var boundValue = value; + if (max !== undefined && max >= 0 && boundValue > max) { + boundValue = max; + } + if (min !== undefined && min >= 0 && boundValue < min) { + boundValue = min; + } + return boundValue; + } + + function fmaxf(a, b) { + if (a > b) { + return a; + } + return b; + } + + // When the user specifically sets a value for width or height + function setDimensionFromStyle(node, axis) { + // The parent already computed us a width or height. We just skip it + if (node.layout[dim[axis]] !== undefined) { + return; + } + // We only run if there's a width or height defined + if (!isDimDefined(node, axis)) { + return; + } + + // The dimensions can never be smaller than the padding and border + node.layout[dim[axis]] = fmaxf( + boundAxis(node, axis, node.style[dim[axis]]), + getPaddingAndBorderAxis(node, axis) + ); + } + + function setTrailingPosition(node, child, axis) { + child.layout[trailing[axis]] = node.layout[dim[axis]] - + child.layout[dim[axis]] - child.layout[pos[axis]]; + } + + // If both left and right are defined, then use left. Otherwise return + // +left or -right depending on which is defined. + function getRelativePosition(node, axis) { + if (node.style[leading[axis]] !== undefined) { + return getPosition(node, leading[axis]); + } + return -getPosition(node, trailing[axis]); + } + + function layoutNodeImpl(node, parentMaxWidth, /*css_direction_t*/parentDirection) { + var/*css_direction_t*/ direction = resolveDirection(node, parentDirection); + var/*(c)!css_flex_direction_t*//*(java)!int*/ mainAxis = resolveAxis(getFlexDirection(node), direction); + var/*(c)!css_flex_direction_t*//*(java)!int*/ crossAxis = getCrossFlexDirection(mainAxis, direction); + var/*(c)!css_flex_direction_t*//*(java)!int*/ resolvedRowAxis = resolveAxis(CSS_FLEX_DIRECTION_ROW, direction); + + // Handle width and height style attributes + setDimensionFromStyle(node, mainAxis); + setDimensionFromStyle(node, crossAxis); + + // Set the resolved resolution in the node's layout + node.layout.direction = direction; + + // The position is set by the parent, but we need to complete it with a + // delta composed of the margin and left/top/right/bottom + node.layout[leading[mainAxis]] += getLeadingMargin(node, mainAxis) + + getRelativePosition(node, mainAxis); + node.layout[trailing[mainAxis]] += getTrailingMargin(node, mainAxis) + + getRelativePosition(node, mainAxis); + node.layout[leading[crossAxis]] += getLeadingMargin(node, crossAxis) + + getRelativePosition(node, crossAxis); + node.layout[trailing[crossAxis]] += getTrailingMargin(node, crossAxis) + + getRelativePosition(node, crossAxis); + + // Inline immutable values from the target node to avoid excessive method + // invocations during the layout calculation. + var/*int*/ childCount = node.children.length; + var/*float*/ paddingAndBorderAxisResolvedRow = getPaddingAndBorderAxis(node, resolvedRowAxis); + + if (isMeasureDefined(node)) { + var/*bool*/ isResolvedRowDimDefined = !isUndefined(node.layout[dim[resolvedRowAxis]]); + + var/*float*/ width = CSS_UNDEFINED; + if (isDimDefined(node, resolvedRowAxis)) { + width = node.style.width; + } else if (isResolvedRowDimDefined) { + width = node.layout[dim[resolvedRowAxis]]; + } else { + width = parentMaxWidth - + getMarginAxis(node, resolvedRowAxis); + } + width -= paddingAndBorderAxisResolvedRow; + + // We only need to give a dimension for the text if we haven't got any + // for it computed yet. It can either be from the style attribute or because + // the element is flexible. + var/*bool*/ isRowUndefined = !isDimDefined(node, resolvedRowAxis) && !isResolvedRowDimDefined; + var/*bool*/ isColumnUndefined = !isDimDefined(node, CSS_FLEX_DIRECTION_COLUMN) && + isUndefined(node.layout[dim[CSS_FLEX_DIRECTION_COLUMN]]); + + // Let's not measure the text if we already know both dimensions + if (isRowUndefined || isColumnUndefined) { + var/*css_dim_t*/ measureDim = node.style.measure( + /*(c)!node->context,*/ + /*(java)!layoutContext.measureOutput,*/ + width + ); + if (isRowUndefined) { + node.layout.width = measureDim.width + + paddingAndBorderAxisResolvedRow; + } + if (isColumnUndefined) { + node.layout.height = measureDim.height + + getPaddingAndBorderAxis(node, CSS_FLEX_DIRECTION_COLUMN); + } + } + if (childCount === 0) { + return; + } + } + + var/*bool*/ isNodeFlexWrap = isFlexWrap(node); + + var/*css_justify_t*/ justifyContent = getJustifyContent(node); + + var/*float*/ leadingPaddingAndBorderMain = getLeadingPaddingAndBorder(node, mainAxis); + var/*float*/ leadingPaddingAndBorderCross = getLeadingPaddingAndBorder(node, crossAxis); + var/*float*/ paddingAndBorderAxisMain = getPaddingAndBorderAxis(node, mainAxis); + var/*float*/ paddingAndBorderAxisCross = getPaddingAndBorderAxis(node, crossAxis); + + var/*bool*/ isMainDimDefined = !isUndefined(node.layout[dim[mainAxis]]); + var/*bool*/ isCrossDimDefined = !isUndefined(node.layout[dim[crossAxis]]); + var/*bool*/ isMainRowDirection = isRowDirection(mainAxis); + + var/*int*/ i; + var/*int*/ ii; + var/*css_node_t**/ child; + var/*(c)!css_flex_direction_t*//*(java)!int*/ axis; + + var/*css_node_t**/ firstAbsoluteChild = null; + var/*css_node_t**/ currentAbsoluteChild = null; + + var/*float*/ definedMainDim = CSS_UNDEFINED; + if (isMainDimDefined) { + definedMainDim = node.layout[dim[mainAxis]] - paddingAndBorderAxisMain; + } + + // We want to execute the next two loops one per line with flex-wrap + var/*int*/ startLine = 0; + var/*int*/ endLine = 0; + // var/*int*/ nextOffset = 0; + var/*int*/ alreadyComputedNextLayout = 0; + // We aggregate the total dimensions of the container in those two variables + var/*float*/ linesCrossDim = 0; + var/*float*/ linesMainDim = 0; + var/*int*/ linesCount = 0; + while (endLine < childCount) { + // Layout non flexible children and count children by type + + // mainContentDim is accumulation of the dimensions and margin of all the + // non flexible children. This will be used in order to either set the + // dimensions of the node if none already exist, or to compute the + // remaining space left for the flexible children. + var/*float*/ mainContentDim = 0; + + // There are three kind of children, non flexible, flexible and absolute. + // We need to know how many there are in order to distribute the space. + var/*int*/ flexibleChildrenCount = 0; + var/*float*/ totalFlexible = 0; + var/*int*/ nonFlexibleChildrenCount = 0; + + // Use the line loop to position children in the main axis for as long + // as they are using a simple stacking behaviour. Children that are + // immediately stacked in the initial loop will not be touched again + // in . + var/*bool*/ isSimpleStackMain = + (isMainDimDefined && justifyContent === CSS_JUSTIFY_FLEX_START) || + (!isMainDimDefined && justifyContent !== CSS_JUSTIFY_CENTER); + var/*int*/ firstComplexMain = (isSimpleStackMain ? childCount : startLine); + + // Use the initial line loop to position children in the cross axis for + // as long as they are relatively positioned with alignment STRETCH or + // FLEX_START. Children that are immediately stacked in the initial loop + // will not be touched again in . + var/*bool*/ isSimpleStackCross = true; + var/*int*/ firstComplexCross = childCount; + + var/*css_node_t**/ firstFlexChild = null; + var/*css_node_t**/ currentFlexChild = null; + + var/*float*/ mainDim = leadingPaddingAndBorderMain; + var/*float*/ crossDim = 0; + + var/*float*/ maxWidth; + for (i = startLine; i < childCount; ++i) { + child = node.children[i]; + child.lineIndex = linesCount; + + child.nextAbsoluteChild = null; + child.nextFlexChild = null; + + var/*css_align_t*/ alignItem = getAlignItem(node, child); + + // Pre-fill cross axis dimensions when the child is using stretch before + // we call the recursive layout pass + if (alignItem === CSS_ALIGN_STRETCH && + getPositionType(child) === CSS_POSITION_RELATIVE && + isCrossDimDefined && + !isDimDefined(child, crossAxis)) { + child.layout[dim[crossAxis]] = fmaxf( + boundAxis(child, crossAxis, node.layout[dim[crossAxis]] - + paddingAndBorderAxisCross - getMarginAxis(child, crossAxis)), + // You never want to go smaller than padding + getPaddingAndBorderAxis(child, crossAxis) + ); + } else if (getPositionType(child) === CSS_POSITION_ABSOLUTE) { + // Store a private linked list of absolutely positioned children + // so that we can efficiently traverse them later. + if (firstAbsoluteChild === null) { + firstAbsoluteChild = child; + } + if (currentAbsoluteChild !== null) { + currentAbsoluteChild.nextAbsoluteChild = child; + } + currentAbsoluteChild = child; + + // Pre-fill dimensions when using absolute position and both offsets for the axis are defined (either both + // left and right or top and bottom). + for (ii = 0; ii < 2; ii++) { + axis = (ii !== 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; + if (!isUndefined(node.layout[dim[axis]]) && + !isDimDefined(child, axis) && + isPosDefined(child, leading[axis]) && + isPosDefined(child, trailing[axis])) { + child.layout[dim[axis]] = fmaxf( + boundAxis(child, axis, node.layout[dim[axis]] - + getPaddingAndBorderAxis(node, axis) - + getMarginAxis(child, axis) - + getPosition(child, leading[axis]) - + getPosition(child, trailing[axis])), + // You never want to go smaller than padding + getPaddingAndBorderAxis(child, axis) + ); + } + } + } + + var/*float*/ nextContentDim = 0; + + // It only makes sense to consider a child flexible if we have a computed + // dimension for the node. + if (isMainDimDefined && isFlex(child)) { + flexibleChildrenCount++; + totalFlexible += child.style.flex; + + // Store a private linked list of flexible children so that we can + // efficiently traverse them later. + if (firstFlexChild === null) { + firstFlexChild = child; + } + if (currentFlexChild !== null) { + currentFlexChild.nextFlexChild = child; + } + currentFlexChild = child; + + // Even if we don't know its exact size yet, we already know the padding, + // border and margin. We'll use this partial information, which represents + // the smallest possible size for the child, to compute the remaining + // available space. + nextContentDim = getPaddingAndBorderAxis(child, mainAxis) + + getMarginAxis(child, mainAxis); + + } else { + maxWidth = CSS_UNDEFINED; + if (!isMainRowDirection) { + if (isDimDefined(node, resolvedRowAxis)) { + maxWidth = node.layout[dim[resolvedRowAxis]] - + paddingAndBorderAxisResolvedRow; + } else { + maxWidth = parentMaxWidth - + getMarginAxis(node, resolvedRowAxis) - + paddingAndBorderAxisResolvedRow; + } + } + + // This is the main recursive call. We layout non flexible children. + if (alreadyComputedNextLayout === 0) { + layoutNode(/*(java)!layoutContext, */child, maxWidth, direction); + } + + // Absolute positioned elements do not take part of the layout, so we + // don't use them to compute mainContentDim + if (getPositionType(child) === CSS_POSITION_RELATIVE) { + nonFlexibleChildrenCount++; + // At this point we know the final size and margin of the element. + nextContentDim = getDimWithMargin(child, mainAxis); + } + } + + // The element we are about to add would make us go to the next line + if (isNodeFlexWrap && + isMainDimDefined && + mainContentDim + nextContentDim > definedMainDim && + // If there's only one element, then it's bigger than the content + // and needs its own line + i !== startLine) { + nonFlexibleChildrenCount--; + alreadyComputedNextLayout = 1; + break; + } + + // Disable simple stacking in the main axis for the current line as + // we found a non-trivial child. The remaining children will be laid out + // in . + if (isSimpleStackMain && + (getPositionType(child) !== CSS_POSITION_RELATIVE || isFlex(child))) { + isSimpleStackMain = false; + firstComplexMain = i; + } + + // Disable simple stacking in the cross axis for the current line as + // we found a non-trivial child. The remaining children will be laid out + // in . + if (isSimpleStackCross && + (getPositionType(child) !== CSS_POSITION_RELATIVE || + (alignItem !== CSS_ALIGN_STRETCH && alignItem !== CSS_ALIGN_FLEX_START) || + isUndefined(child.layout[dim[crossAxis]]))) { + isSimpleStackCross = false; + firstComplexCross = i; + } + + if (isSimpleStackMain) { + child.layout[pos[mainAxis]] += mainDim; + if (isMainDimDefined) { + setTrailingPosition(node, child, mainAxis); + } + + mainDim += getDimWithMargin(child, mainAxis); + crossDim = fmaxf(crossDim, boundAxis(child, crossAxis, getDimWithMargin(child, crossAxis))); + } + + if (isSimpleStackCross) { + child.layout[pos[crossAxis]] += linesCrossDim + leadingPaddingAndBorderCross; + if (isCrossDimDefined) { + setTrailingPosition(node, child, crossAxis); + } + } + + alreadyComputedNextLayout = 0; + mainContentDim += nextContentDim; + endLine = i + 1; + } + + // Layout flexible children and allocate empty space + + // In order to position the elements in the main axis, we have two + // controls. The space between the beginning and the first element + // and the space between each two elements. + var/*float*/ leadingMainDim = 0; + var/*float*/ betweenMainDim = 0; + + // The remaining available space that needs to be allocated + var/*float*/ remainingMainDim = 0; + if (isMainDimDefined) { + remainingMainDim = definedMainDim - mainContentDim; + } else { + remainingMainDim = fmaxf(mainContentDim, 0) - mainContentDim; + } + + // If there are flexible children in the mix, they are going to fill the + // remaining space + if (flexibleChildrenCount !== 0) { + var/*float*/ flexibleMainDim = remainingMainDim / totalFlexible; + var/*float*/ baseMainDim; + var/*float*/ boundMainDim; + + // If the flex share of remaining space doesn't meet min/max bounds, + // remove this child from flex calculations. + currentFlexChild = firstFlexChild; + while (currentFlexChild !== null) { + baseMainDim = flexibleMainDim * currentFlexChild.style.flex + + getPaddingAndBorderAxis(currentFlexChild, mainAxis); + boundMainDim = boundAxis(currentFlexChild, mainAxis, baseMainDim); + + if (baseMainDim !== boundMainDim) { + remainingMainDim -= boundMainDim; + totalFlexible -= currentFlexChild.style.flex; + } + + currentFlexChild = currentFlexChild.nextFlexChild; + } + flexibleMainDim = remainingMainDim / totalFlexible; + + // The non flexible children can overflow the container, in this case + // we should just assume that there is no space available. + if (flexibleMainDim < 0) { + flexibleMainDim = 0; + } + + currentFlexChild = firstFlexChild; + while (currentFlexChild !== null) { + // At this point we know the final size of the element in the main + // dimension + currentFlexChild.layout[dim[mainAxis]] = boundAxis(currentFlexChild, mainAxis, + flexibleMainDim * currentFlexChild.style.flex + + getPaddingAndBorderAxis(currentFlexChild, mainAxis) + ); + + maxWidth = CSS_UNDEFINED; + if (isDimDefined(node, resolvedRowAxis)) { + maxWidth = node.layout[dim[resolvedRowAxis]] - + paddingAndBorderAxisResolvedRow; + } else if (!isMainRowDirection) { + maxWidth = parentMaxWidth - + getMarginAxis(node, resolvedRowAxis) - + paddingAndBorderAxisResolvedRow; + } + + // And we recursively call the layout algorithm for this child + layoutNode(/*(java)!layoutContext, */currentFlexChild, maxWidth, direction); + + child = currentFlexChild; + currentFlexChild = currentFlexChild.nextFlexChild; + child.nextFlexChild = null; + } + + // We use justifyContent to figure out how to allocate the remaining + // space available + } else if (justifyContent !== CSS_JUSTIFY_FLEX_START) { + if (justifyContent === CSS_JUSTIFY_CENTER) { + leadingMainDim = remainingMainDim / 2; + } else if (justifyContent === CSS_JUSTIFY_FLEX_END) { + leadingMainDim = remainingMainDim; + } else if (justifyContent === CSS_JUSTIFY_SPACE_BETWEEN) { + remainingMainDim = fmaxf(remainingMainDim, 0); + if (flexibleChildrenCount + nonFlexibleChildrenCount - 1 !== 0) { + betweenMainDim = remainingMainDim / + (flexibleChildrenCount + nonFlexibleChildrenCount - 1); + } else { + betweenMainDim = 0; + } + } else if (justifyContent === CSS_JUSTIFY_SPACE_AROUND) { + // Space on the edges is half of the space between elements + betweenMainDim = remainingMainDim / + (flexibleChildrenCount + nonFlexibleChildrenCount); + leadingMainDim = betweenMainDim / 2; + } + } + + // Position elements in the main axis and compute dimensions + + // At this point, all the children have their dimensions set. We need to + // find their position. In order to do that, we accumulate data in + // variables that are also useful to compute the total dimensions of the + // container! + mainDim += leadingMainDim; + + for (i = firstComplexMain; i < endLine; ++i) { + child = node.children[i]; + + if (getPositionType(child) === CSS_POSITION_ABSOLUTE && + isPosDefined(child, leading[mainAxis])) { + // In case the child is position absolute and has left/top being + // defined, we override the position to whatever the user said + // (and margin/border). + child.layout[pos[mainAxis]] = getPosition(child, leading[mainAxis]) + + getLeadingBorder(node, mainAxis) + + getLeadingMargin(child, mainAxis); + } else { + // If the child is position absolute (without top/left) or relative, + // we put it at the current accumulated offset. + child.layout[pos[mainAxis]] += mainDim; + + // Define the trailing position accordingly. + if (isMainDimDefined) { + setTrailingPosition(node, child, mainAxis); + } + + // Now that we placed the element, we need to update the variables + // We only need to do that for relative elements. Absolute elements + // do not take part in that phase. + if (getPositionType(child) === CSS_POSITION_RELATIVE) { + // The main dimension is the sum of all the elements dimension plus + // the spacing. + mainDim += betweenMainDim + getDimWithMargin(child, mainAxis); + // The cross dimension is the max of the elements dimension since there + // can only be one element in that cross dimension. + crossDim = fmaxf(crossDim, boundAxis(child, crossAxis, getDimWithMargin(child, crossAxis))); + } + } + } + + var/*float*/ containerCrossAxis = node.layout[dim[crossAxis]]; + if (!isCrossDimDefined) { + containerCrossAxis = fmaxf( + // For the cross dim, we add both sides at the end because the value + // is aggregate via a max function. Intermediate negative values + // can mess this computation otherwise + boundAxis(node, crossAxis, crossDim + paddingAndBorderAxisCross), + paddingAndBorderAxisCross + ); + } + + // Position elements in the cross axis + for (i = firstComplexCross; i < endLine; ++i) { + child = node.children[i]; + + if (getPositionType(child) === CSS_POSITION_ABSOLUTE && + isPosDefined(child, leading[crossAxis])) { + // In case the child is absolutely positionned and has a + // top/left/bottom/right being set, we override all the previously + // computed positions to set it correctly. + child.layout[pos[crossAxis]] = getPosition(child, leading[crossAxis]) + + getLeadingBorder(node, crossAxis) + + getLeadingMargin(child, crossAxis); + + } else { + var/*float*/ leadingCrossDim = leadingPaddingAndBorderCross; + + // For a relative children, we're either using alignItems (parent) or + // alignSelf (child) in order to determine the position in the cross axis + if (getPositionType(child) === CSS_POSITION_RELATIVE) { + // This variable is intentionally re-defined as the code is transpiled to a block scope language + var/*css_align_t*/ alignItem = getAlignItem(node, child); + if (alignItem === CSS_ALIGN_STRETCH) { + // You can only stretch if the dimension has not already been set + // previously. + if (isUndefined(child.layout[dim[crossAxis]])) { + child.layout[dim[crossAxis]] = fmaxf( + boundAxis(child, crossAxis, containerCrossAxis - + paddingAndBorderAxisCross - getMarginAxis(child, crossAxis)), + // You never want to go smaller than padding + getPaddingAndBorderAxis(child, crossAxis) + ); + } + } else if (alignItem !== CSS_ALIGN_FLEX_START) { + // The remaining space between the parent dimensions+padding and child + // dimensions+margin. + var/*float*/ remainingCrossDim = containerCrossAxis - + paddingAndBorderAxisCross - getDimWithMargin(child, crossAxis); + + if (alignItem === CSS_ALIGN_CENTER) { + leadingCrossDim += remainingCrossDim / 2; + } else { // CSS_ALIGN_FLEX_END + leadingCrossDim += remainingCrossDim; + } + } + } + + // And we apply the position + child.layout[pos[crossAxis]] += linesCrossDim + leadingCrossDim; + + // Define the trailing position accordingly. + if (isCrossDimDefined) { + setTrailingPosition(node, child, crossAxis); + } + } + } + + linesCrossDim += crossDim; + linesMainDim = fmaxf(linesMainDim, mainDim); + linesCount += 1; + startLine = endLine; + } + + // + // + // Note(prenaux): More than one line, we need to layout the crossAxis + // according to alignContent. + // + // Note that we could probably remove and handle the one line case + // here too, but for the moment this is safer since it won't interfere with + // previously working code. + // + // See specs: + // http://www.w3.org/TR/2012/CR-css3-flexbox-20120918/#layout-algorithm + // section 9.4 + // + if (linesCount > 1 && isCrossDimDefined) { + var/*float*/ nodeCrossAxisInnerSize = node.layout[dim[crossAxis]] - + paddingAndBorderAxisCross; + var/*float*/ remainingAlignContentDim = nodeCrossAxisInnerSize - linesCrossDim; + + var/*float*/ crossDimLead = 0; + var/*float*/ currentLead = leadingPaddingAndBorderCross; + + var/*css_align_t*/ alignContent = getAlignContent(node); + if (alignContent === CSS_ALIGN_FLEX_END) { + currentLead += remainingAlignContentDim; + } else if (alignContent === CSS_ALIGN_CENTER) { + currentLead += remainingAlignContentDim / 2; + } else if (alignContent === CSS_ALIGN_STRETCH) { + if (nodeCrossAxisInnerSize > linesCrossDim) { + crossDimLead = (remainingAlignContentDim / linesCount); + } + } + + var/*int*/ endIndex = 0; + for (i = 0; i < linesCount; ++i) { + var/*int*/ startIndex = endIndex; + + // compute the line's height and find the endIndex + var/*float*/ lineHeight = 0; + for (ii = startIndex; ii < childCount; ++ii) { + child = node.children[ii]; + if (getPositionType(child) !== CSS_POSITION_RELATIVE) { + continue; + } + if (child.lineIndex !== i) { + break; + } + if (!isUndefined(child.layout[dim[crossAxis]])) { + lineHeight = fmaxf( + lineHeight, + child.layout[dim[crossAxis]] + getMarginAxis(child, crossAxis) + ); + } + } + endIndex = ii; + lineHeight += crossDimLead; + + for (ii = startIndex; ii < endIndex; ++ii) { + child = node.children[ii]; + if (getPositionType(child) !== CSS_POSITION_RELATIVE) { + continue; + } + + var/*css_align_t*/ alignContentAlignItem = getAlignItem(node, child); + if (alignContentAlignItem === CSS_ALIGN_FLEX_START) { + child.layout[pos[crossAxis]] = currentLead + getLeadingMargin(child, crossAxis); + } else if (alignContentAlignItem === CSS_ALIGN_FLEX_END) { + child.layout[pos[crossAxis]] = currentLead + lineHeight - getTrailingMargin(child, crossAxis) - child.layout[dim[crossAxis]]; + } else if (alignContentAlignItem === CSS_ALIGN_CENTER) { + var/*float*/ childHeight = child.layout[dim[crossAxis]]; + child.layout[pos[crossAxis]] = currentLead + (lineHeight - childHeight) / 2; + } else if (alignContentAlignItem === CSS_ALIGN_STRETCH) { + child.layout[pos[crossAxis]] = currentLead + getLeadingMargin(child, crossAxis); + // TODO(prenaux): Correctly set the height of items with undefined + // (auto) crossAxis dimension. + } + } + + currentLead += lineHeight; + } + } + + var/*bool*/ needsMainTrailingPos = false; + var/*bool*/ needsCrossTrailingPos = false; + + // If the user didn't specify a width or height, and it has not been set + // by the container, then we set it via the children. + if (!isMainDimDefined) { + node.layout[dim[mainAxis]] = fmaxf( + // We're missing the last padding at this point to get the final + // dimension + boundAxis(node, mainAxis, linesMainDim + getTrailingPaddingAndBorder(node, mainAxis)), + // We can never assign a width smaller than the padding and borders + paddingAndBorderAxisMain + ); + + if (mainAxis === CSS_FLEX_DIRECTION_ROW_REVERSE || + mainAxis === CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsMainTrailingPos = true; + } + } + + if (!isCrossDimDefined) { + node.layout[dim[crossAxis]] = fmaxf( + // For the cross dim, we add both sides at the end because the value + // is aggregate via a max function. Intermediate negative values + // can mess this computation otherwise + boundAxis(node, crossAxis, linesCrossDim + paddingAndBorderAxisCross), + paddingAndBorderAxisCross + ); + + if (crossAxis === CSS_FLEX_DIRECTION_ROW_REVERSE || + crossAxis === CSS_FLEX_DIRECTION_COLUMN_REVERSE) { + needsCrossTrailingPos = true; + } + } + + // Set trailing position if necessary + if (needsMainTrailingPos || needsCrossTrailingPos) { + for (i = 0; i < childCount; ++i) { + child = node.children[i]; + + if (needsMainTrailingPos) { + setTrailingPosition(node, child, mainAxis); + } + + if (needsCrossTrailingPos) { + setTrailingPosition(node, child, crossAxis); + } + } + } + + // Calculate dimensions for absolutely positioned elements + currentAbsoluteChild = firstAbsoluteChild; + while (currentAbsoluteChild !== null) { + // Pre-fill dimensions when using absolute position and both offsets for + // the axis are defined (either both left and right or top and bottom). + for (ii = 0; ii < 2; ii++) { + axis = (ii !== 0) ? CSS_FLEX_DIRECTION_ROW : CSS_FLEX_DIRECTION_COLUMN; + + if (!isUndefined(node.layout[dim[axis]]) && + !isDimDefined(currentAbsoluteChild, axis) && + isPosDefined(currentAbsoluteChild, leading[axis]) && + isPosDefined(currentAbsoluteChild, trailing[axis])) { + currentAbsoluteChild.layout[dim[axis]] = fmaxf( + boundAxis(currentAbsoluteChild, axis, node.layout[dim[axis]] - + getBorderAxis(node, axis) - + getMarginAxis(currentAbsoluteChild, axis) - + getPosition(currentAbsoluteChild, leading[axis]) - + getPosition(currentAbsoluteChild, trailing[axis]) + ), + // You never want to go smaller than padding + getPaddingAndBorderAxis(currentAbsoluteChild, axis) + ); + } + + if (isPosDefined(currentAbsoluteChild, trailing[axis]) && + !isPosDefined(currentAbsoluteChild, leading[axis])) { + currentAbsoluteChild.layout[leading[axis]] = + node.layout[dim[axis]] - + currentAbsoluteChild.layout[dim[axis]] - + getPosition(currentAbsoluteChild, trailing[axis]); + } + } + + child = currentAbsoluteChild; + currentAbsoluteChild = currentAbsoluteChild.nextAbsoluteChild; + child.nextAbsoluteChild = null; + } + } + + function layoutNode(node, parentMaxWidth, parentDirection) { + node.shouldUpdate = true; + + var direction = node.style.direction || CSS_DIRECTION_LTR; + var skipLayout = + !node.isDirty && + node.lastLayout && + node.lastLayout.requestedHeight === node.layout.height && + node.lastLayout.requestedWidth === node.layout.width && + node.lastLayout.parentMaxWidth === parentMaxWidth && + node.lastLayout.direction === direction; + + if (skipLayout) { + node.layout.width = node.lastLayout.width; + node.layout.height = node.lastLayout.height; + node.layout.top = node.lastLayout.top; + node.layout.left = node.lastLayout.left; + } else { + if (!node.lastLayout) { + node.lastLayout = {}; + } + + node.lastLayout.requestedWidth = node.layout.width; + node.lastLayout.requestedHeight = node.layout.height; + node.lastLayout.parentMaxWidth = parentMaxWidth; + node.lastLayout.direction = direction; + + // Reset child layouts + node.children.forEach(function(child) { + child.layout.width = undefined; + child.layout.height = undefined; + child.layout.top = 0; + child.layout.left = 0; + }); + + layoutNodeImpl(node, parentMaxWidth, parentDirection); + + node.lastLayout.width = node.layout.width; + node.lastLayout.height = node.layout.height; + node.lastLayout.top = node.layout.top; + node.lastLayout.left = node.layout.left; + } + } + + return { + layoutNodeImpl: layoutNodeImpl, + computeLayout: layoutNode, + fillNodes: fillNodes + }; +})(); + +export default function(node) { + // disabling ESLint because this code relies on the above include + computeLayout.fillNodes(node); + computeLayout.computeLayout(node); +}; diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/element.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/element.ts new file mode 100644 index 0000000..4677bc0 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/element.ts @@ -0,0 +1,172 @@ + +import computeLayout from "./css-layout"; +import { getDefaultStyle, scalableStyles, layoutAffectedStyles } from "./style"; + +type LayoutData = { + left: number, + top: number, + width: number, + height: number +}; + +type LayoutNode = { + id: number, + style: Object, + children: LayoutNode[], + layout?: LayoutData +}; + +let uuid = 0; + +class Element { + public static uuid(): number { + return uuid++; + } + + public parent: Element | null = null; + public id: number = Element.uuid(); + public style: { [key: string]: any } = {}; + public computedStyle: { [key: string]: any } = {}; + public lastComputedStyle: { [key: string]: any } = {}; + public children: { [key: string]: Element } = {}; + public layoutBox: LayoutData = { left: 0, top: 0, width: 0, height: 0 }; + + constructor(style: { [key: string]: any } = {}) { + // 拷贝一份,防止被外部逻辑修改 + style = Object.assign(getDefaultStyle(), style); + this.computedStyle = Object.assign(getDefaultStyle(), style); + this.lastComputedStyle = Object.assign(getDefaultStyle(), style); + + Object.keys(style).forEach(key => { + Object.defineProperty(this.style, key, { + configurable: true, + enumerable: true, + get: () => style[key], + set: (value: any) => { + if (value === style[key] || value === undefined) { + return; + } + + this.lastComputedStyle = this.computedStyle[key] + style[key] = value + this.computedStyle[key] = value + + // 如果设置的是一个可缩放的属性, 计算自己 + if (scalableStyles.includes(key) && this.style.scale) { + this.computedStyle[key] = value * this.style.scale + } + + // 如果设置的是 scale, 则把所有可缩放的属性计算 + if (key === "scale") { + scalableStyles.forEach(prop => { + if (style[prop]) { + this.computedStyle[prop] = style[prop] * value + } + }) + } + + if (key === "hidden") { + if (value) { + layoutAffectedStyles.forEach((key: string) => { + this.computedStyle[key] = 0; + }); + } else { + layoutAffectedStyles.forEach((key: string) => { + this.computedStyle[key] = this.lastComputedStyle[key]; + }); + } + } + } + }) + }) + + if (this.style.scale) { + scalableStyles.forEach((key: string) => { + if (this.style[key]) { + const computedValue = this.style[key] * this.style.scale; + this.computedStyle[key] = computedValue; + } + }); + } + + if (style.hidden) { + layoutAffectedStyles.forEach((key: string) => { + this.computedStyle[key] = 0; + }); + } + } + + getAbsolutePosition(element: Element) { + if (!element) { + return this.getAbsolutePosition(this) + } + + if (!element.parent) { + return { + left: 0, + top: 0 + } + } + + const {left, top} = this.getAbsolutePosition(element.parent) + + return { + left: left + element.layoutBox.left, + top: top + element.layoutBox.top + } + } + + public add(element: Element) { + element.parent = this; + this.children[element.id] = element; + } + + public remove(element?: Element) { + // 删除自己 + if (!element) { + Object.keys(this.children).forEach(id => { + const child = this.children[id] + child.remove() + delete this.children[id] + }) + } else if (this.children[element.id]) { + // 是自己的子节点才删除 + element.remove() + delete this.children[element.id]; + } + } + + public getNodeTree(): LayoutNode { + return { + id: this.id, + style: this.computedStyle, + children: Object.keys(this.children).map((id: string) => { + const child = this.children[id]; + return child.getNodeTree(); + }) + } + } + + public applyLayout(layoutNode: LayoutNode) { + ["left", "top", "width", "height"].forEach((key: string) => { + if (layoutNode.layout && typeof layoutNode.layout[key] === "number") { + this.layoutBox[key] = layoutNode.layout[key]; + if (this.parent && (key === "left" || key === "top")) { + this.layoutBox[key] += this.parent.layoutBox[key]; + } + } + }); + + layoutNode.children.forEach((child: LayoutNode) => { + this.children[child.id].applyLayout(child); + }); + } + + layout() { + const nodeTree = this.getNodeTree(); + computeLayout(nodeTree); + this.applyLayout(nodeTree); + } +} + +export default Element; \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/event.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/event.ts new file mode 100644 index 0000000..fe41980 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/event.ts @@ -0,0 +1,15 @@ +import _EventEmitter from "eventemitter3"; +const emitter = new _EventEmitter(); +export default class EventEmitter { + public emit(event: string, data?: any) { + emitter.emit(event, data); + } + + public on(event: string, callback) { + emitter.on(event, callback); + } + + public off(event: string, callback) { + emitter.off(event, callback); + } +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/src/style.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/style.ts new file mode 100644 index 0000000..7d595c2 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/src/style.ts @@ -0,0 +1,87 @@ +const textStyles: string[] = ["color", "fontSize", "textAlign", "fontWeight", "lineHeight", "lineBreak"]; + +const scalableStyles: string[] = ["left", "top", "right", "bottom", "width", "height", + "margin", "marginLeft", "marginRight", "marginTop", "marginBottom", + "padding", "paddingLeft", "paddingRight", "paddingTop", "paddingBottom", + "borderWidth", "borderLeftWidth", "borderRightWidth", "borderTopWidth", "borderBottomWidth"]; + +const layoutAffectedStyles: string[] = [ + "margin", "marginTop", "marginBottom", "marginLeft", "marginRight", + "padding", "paddingTop", "paddingBottom", "paddingLeft", "paddingRight", + "width", "height"]; + +type Style = { + left: number, + top: number, + right: number, + bottom: number, + width: number, + height: number, + maxWidth: number, + maxHeight: number, + minWidth: number, + minHeight: number, + margin: number, + marginLeft: number, + marginRight: number, + marginTop: number, + marginBottom: number, + padding: number, + paddingLeft: number, + paddingRight: number, + paddingTop: number, + paddingBottom: number, + borderWidth: number, + borderLeftWidth: number, + borderRightWidth: number, + borderTopWidth: number, + borderBottomWidth: number, + flexDirection: "column" | "row", + justifyContent: "flex-start" | "center" | "flex-end" | "space-between" | "space-around", + alignItems: "flex-start" | "center" | "flex-end" | "stretch", + alignSelf: "flex-start" | "center" | "flex-end" | "stretch", + flex: number, + flexWrap: "wrap" | "nowrap", + position: "relative" | "absolute", + + hidden: boolean, + scale: number +} + +const getDefaultStyle = () => ({ + left: undefined, + top: undefined, + right: undefined, + bottom: undefined, + width: undefined, + height: undefined, + maxWidth: undefined, + maxHeight: undefined, + minWidth: undefined, + minHeight: undefined, + margin: undefined, + marginLeft: undefined, + marginRight: undefined, + marginTop: undefined, + marginBottom: undefined, + padding: undefined, + paddingLeft: undefined, + paddingRight: undefined, + paddingTop: undefined, + paddingBottom: undefined, + borderWidth: undefined, + flexDirection: undefined, + justifyContent: undefined, + alignItems: undefined, + alignSelf: undefined, + flex: undefined, + flexWrap: undefined, + position: undefined, + + hidden: false, + scale: 1 +}) + +export { + getDefaultStyle, scalableStyles, textStyles, layoutAffectedStyles +} diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/test/css-layout.test.ts b/node_modules/wxml-to-canvas/node_modules/widget-ui/test/css-layout.test.ts new file mode 100644 index 0000000..9657d2c --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/test/css-layout.test.ts @@ -0,0 +1,183 @@ + +import Element from "../src/element"; + +test("layout", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2 + }) + + const div1 = new Element({ + left: 5, + top: 5, + width: 14, + height: 14 + }) + + container.add(div1); + container.layout(); + // css-layout 是 border-box + expect(container.layoutBox.left).toBe(0); + expect(container.layoutBox.top).toBe(0); + expect(container.layoutBox.width).toBe(100); + expect(container.layoutBox.height).toBe(100); + + expect(div1.layoutBox.left).toBe(10 + 2 + 5); + expect(div1.layoutBox.top).toBe(10 + 2 + 5); + expect(div1.layoutBox.width).toBe(14); + expect(div1.layoutBox.height).toBe(14); +}); + +test("overflow", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2 + }) + + const div1 = new Element({ + width: 114, + height: 114, + }) + + container.add(div1); + container.layout(); + + // 写死尺寸的情况下子元素不收缩父元素不撑开 + expect(container.layoutBox.width).toBe(100); + expect(container.layoutBox.height).toBe(100); + + expect(div1.layoutBox.left).toBe(10 + 2); + expect(div1.layoutBox.top).toBe(10 + 2); + expect(div1.layoutBox.width).toBe(114); + expect(div1.layoutBox.height).toBe(114); +}); + +test("right bottom", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2 + }) + + const div1 = new Element({ + width: 14, + height: 14, + right: 13, + bottom: 9, + position: "absolute" + }) + + container.add(div1); + container.layout(); + + // right bottom 只有在 position 为 absolute 的情况下才有用 + expect(container.layoutBox.width).toBe(100); + expect(container.layoutBox.height).toBe(100); + + // 但这时就是以整个父元素为边界,而不是 border + padding 后的边界 + expect(div1.layoutBox.left).toBe(100 - 13 - 14); + expect(div1.layoutBox.top).toBe(100 - 9 - 14); +}); + +test("flex center", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2, + flexDirection: "row", + justifyContent: "center", + alignItems: "center" + }) + + const div1 = new Element({ + width: 14, + height: 14 + }) + + container.add(div1); + container.layout(); + // 使用 flex 水平垂直居中 + expect(div1.layoutBox.left).toBe((100 - 14)/2); + expect(div1.layoutBox.top).toBe((100 - 14)/2); +}) + +test("flex top bottom", () => { + const container = new Element({ + width: 100, + height: 100, + padding: 10, + borderWidth: 2, + flexDirection: "column", + justifyContent: "space-between", + alignItems: "stretch" + }) + + // flex 实现一上一下两行水平填满 + const div1 = new Element({ + height: 10 + }) + + const div2 = new Element({ + height: 20 + }) + + container.add(div1); + container.add(div2); + container.layout(); + + expect(div1.layoutBox.left).toBe(10 + 2); + expect(div1.layoutBox.top).toBe(10 + 2); + expect(div1.layoutBox.width).toBe(100 - 10*2 - 2*2); + + expect(div2.layoutBox.left).toBe(10 + 2); + expect(div2.layoutBox.top).toBe(100 - 10 - 2 - 20); + expect(div2.layoutBox.width).toBe(100 - 10*2 - 2*2); +}) + +test("rewrite uuid", () => { + // 小程序为了保证 webview 和 service 侧的 coverview 不冲突,所以设置了不同的自增起点 + // uuid 静态方法就是为了根据不同的需求去覆写 + let uuid = 79648527; + Element.uuid = () => uuid++; + const container = new Element(); + expect(container.id).toEqual(79648527); + const div = new Element(); + expect(div.id).toEqual(79648528); +}); + +test("absolute left top", () => { + const container = new Element({ + width: 300, + height: 200, + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center' + }) + + + const div1 = new Element({ + width: 80, + height: 60 + }) + + const div2 = new Element({ + width: 40, + height: 30 + }) + + div1.add(div2) + container.add(div1) + container.layout() + + expect(div1.layoutBox.left).toBe(110) + expect(div1.layoutBox.top).toBe(70) + + expect(div2.layoutBox.left).toBe(110) + expect(div2.layoutBox.top).toBe(70) +}) \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/tsconfig.json b/node_modules/wxml-to-canvas/node_modules/widget-ui/tsconfig.json new file mode 100644 index 0000000..5e628f9 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/tsconfig.json @@ -0,0 +1,47 @@ +{ + "compilerOptions": { + "baseUrl": "src", + "resolveJsonModule": true, + "downlevelIteration": false, + "target": "es5", + "module": "commonjs", + "lib": [ + "es5", + "es2015.promise", + "es2016", + "dom" + ], + "outDir": "./dist", + "paths": { + "@/*": [ + "*" + ], + "*": [ + "*" + ] + }, + "typeRoots": [ + "./node_modules/@types" + ], + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "declaration": true, + "stripInternal": true, + "experimentalDecorators": true, + "noImplicitReturns": true, + "alwaysStrict": true, + "noFallthroughCasesInSwitch": true, + "removeComments": false, + "strictNullChecks": true, + "strictFunctionTypes": true, + "skipLibCheck": true, + "pretty": true, + "strictPropertyInitialization": true + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "node_modules" + ] +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/tslint.json b/node_modules/wxml-to-canvas/node_modules/widget-ui/tslint.json new file mode 100644 index 0000000..f6dac04 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/tslint.json @@ -0,0 +1,206 @@ +{ + "defaultSeverity": "error", + "extends": [], + "rules": { + "adjacent-overload-signatures": true, + "align": { + "options": [ + "parameters", + "statements" + ] + }, + "arrow-return-shorthand": true, + "ban-types": { + "options": [ + [ + "Object", + "Avoid using the `Object` type. Did you mean `object`?" + ], + [ + "Function", + "Avoid using the `Function` type. Prefer a specific function type, like `() => void`." + ], + [ + "Boolean", + "Avoid using the `Boolean` type. Did you mean `boolean`?" + ], + [ + "Number", + "Avoid using the `Number` type. Did you mean `number`?" + ], + [ + "String", + "Avoid using the `String` type. Did you mean `string`?" + ], + [ + "Symbol", + "Avoid using the `Symbol` type. Did you mean `symbol`?" + ] + ] + }, + "comment-format": { + "options": [ + "check-space" + ] + }, + "curly": { + "options": [ + "ignore-same-line" + ] + }, + "cyclomatic-complexity": false, + "import-spacing": true, + "indent": { + "options": [ + "spaces" + ] + }, + "interface-over-type-literal": true, + "member-ordering": [ + true, + { + "order": [ + "public-static-field", + "public-instance-field", + "private-static-field", + "private-instance-field", + "public-constructor", + "private-constructor", + "public-instance-method", + "protected-instance-method", + "private-instance-method" + ], + "alphabetize": false + } + ], + "no-angle-bracket-type-assertion": true, + "no-arg": true, + "no-conditional-assignment": true, + "no-debugger": true, + "no-duplicate-super": true, + "no-eval": true, + "no-internal-module": true, + "no-misused-new": true, + "no-reference-import": true, + "no-string-literal": true, + "no-string-throw": true, + "no-unnecessary-initializer": true, + "no-unsafe-finally": true, + "no-unused-expression": true, + "no-use-before-declare": false, + "no-var-keyword": true, + "no-var-requires": true, + "one-line": { + "options": [ + "check-catch", + "check-else", + "check-finally", + "check-open-brace", + "check-whitespace" + ] + }, + "one-variable-per-declaration": { + "options": [ + "ignore-for-loop" + ] + }, + "ordered-imports": { + "options": { + "import-sources-order": "case-insensitive", + "module-source-path": "full", + "named-imports-order": "case-insensitive" + } + }, + "prefer-const": true, + "prefer-for-of": false, + "quotemark": { + "options": [ + "double", + "avoid-escape" + ] + }, + "radix": true, + "semicolon": { + "options": [ + "always" + ] + }, + "space-before-function-paren": { + "options": { + "anonymous": "never", + "asyncArrow": "always", + "constructor": "never", + "method": "never", + "named": "never" + } + }, + "trailing-comma": { + "options": { + "esSpecCompliant": true, + "multiline": { + "objects": "always", + "arrays": "always", + "functions": "always", + "typeLiterals": "always" + }, + "singleline": "never" + } + }, + "triple-equals": { + "options": [ + "allow-null-check" + ] + }, + "typedef": false, + "typedef-whitespace": { + "options": [ + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + }, + { + "call-signature": "onespace", + "index-signature": "onespace", + "parameter": "onespace", + "property-declaration": "onespace", + "variable-declaration": "onespace" + } + ] + }, + "typeof-compare": false, + "unified-signatures": true, + "use-isnan": true, + "whitespace": { + "options": [ + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type", + "check-typecast" + ] + } + }, + "jsRules": {}, + "rulesDirectory": [], + "no-var-requires": false, + "trailing-comma": [ + true, + { + "multiline": { + "objects": "always", + "arrays": "always", + "functions": "always", + "typeLiterals": "ignore" + }, + "esSpecCompliant": true + } + ], + "no-unused-expression": [ + true, + "allow-fast-null-checks" + ] +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/node_modules/widget-ui/webpack.config.js b/node_modules/wxml-to-canvas/node_modules/widget-ui/webpack.config.js new file mode 100644 index 0000000..2a3a7e2 --- /dev/null +++ b/node_modules/wxml-to-canvas/node_modules/widget-ui/webpack.config.js @@ -0,0 +1,25 @@ +const path = require("path"); + +module.exports = { + mode: "production", + entry: path.resolve(__dirname, "src/element.ts"), + module: { + rules: [ + { + test: /\.ts$/, + use: "ts-loader", + exclude: /node_modules/ + } + ] + }, + resolve: { + extensions: [".js", ".ts"] + }, + output: { + filename: "index.js", + path: path.resolve(__dirname, "dist"), + libraryTarget: "umd", // 采用通用模块定义 + libraryExport: "default", // 兼容 ES6(ES2015) 的模块系统、CommonJS 和 AMD 模块规范 + globalObject: "this" // 兼容node和浏览器运行,避免window is not undefined情况 + } +}; \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/package.json b/node_modules/wxml-to-canvas/package.json new file mode 100644 index 0000000..c44cfbf --- /dev/null +++ b/node_modules/wxml-to-canvas/package.json @@ -0,0 +1,90 @@ +{ + "_from": "wxml-to-canvas@1.1.1", + "_id": "wxml-to-canvas@1.1.1", + "_inBundle": false, + "_integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "_location": "/wxml-to-canvas", + "_phantomChildren": {}, + "_requested": { + "type": "version", + "registry": true, + "raw": "wxml-to-canvas@1.1.1", + "name": "wxml-to-canvas", + "escapedName": "wxml-to-canvas", + "rawSpec": "1.1.1", + "saveSpec": null, + "fetchSpec": "1.1.1" + }, + "_requiredBy": [ + "/" + ], + "_resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "_shasum": "64771473fb1e251bdad94f8c6ffa7dd64290e7ca", + "_spec": "wxml-to-canvas@1.1.1", + "_where": "/Users/zhangshaokang/Desktop/matripeGit/demo/yiMini", + "author": { + "name": "sanfordsun" + }, + "bundleDependencies": false, + "dependencies": { + "widget-ui": "^1.0.2" + }, + "deprecated": false, + "description": "[![](https://img.shields.io/npm/v/wxml-to-canvas)](https://www.npmjs.com/package/wxml-to-canvas) [![](https://img.shields.io/npm/l/wxml-to-canvas)](https://github.com/wechat-miniprogram/wxml-to-canvas)", + "devDependencies": { + "colors": "^1.3.1", + "eslint": "^5.14.1", + "eslint-config-airbnb-base": "13.1.0", + "eslint-loader": "^2.1.2", + "eslint-plugin-import": "^2.16.0", + "eslint-plugin-node": "^7.0.1", + "eslint-plugin-promise": "^3.8.0", + "gulp": "^4.0.0", + "gulp-clean": "^0.4.0", + "gulp-if": "^2.0.2", + "gulp-install": "^1.1.0", + "gulp-less": "^4.0.1", + "gulp-rename": "^1.4.0", + "gulp-sourcemaps": "^2.6.5", + "jest": "^23.5.0", + "miniprogram-simulate": "^1.0.0", + "through2": "^2.0.3", + "vinyl": "^2.2.0", + "webpack": "^4.29.5", + "webpack-cli": "^3.3.10", + "webpack-node-externals": "^1.7.2" + }, + "jest": { + "testEnvironment": "jsdom", + "testURL": "https://jest.test", + "collectCoverageFrom": [ + "src/**/*.js" + ], + "moduleDirectories": [ + "node_modules", + "src" + ] + }, + "license": "MIT", + "main": "miniprogram_dist/index.js", + "miniprogram": "miniprogram_dist", + "name": "wxml-to-canvas", + "repository": { + "type": "git", + "url": "" + }, + "scripts": { + "build": "gulp", + "clean": "gulp clean", + "clean-dev": "gulp clean --develop", + "coverage": "jest ./test/* --coverage --bail", + "dev": "gulp dev --develop", + "dist": "npm run build", + "lint": "eslint \"src/**/*.js\" --fix", + "lint-tools": "eslint \"tools/**/*.js\" --rule \"import/no-extraneous-dependencies: false\" --fix", + "test": "jest --bail", + "test-debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --bail", + "watch": "gulp watch --develop --watch" + }, + "version": "1.1.1" +} diff --git a/node_modules/wxml-to-canvas/src/draw.js b/node_modules/wxml-to-canvas/src/draw.js new file mode 100644 index 0000000..42e69c4 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/draw.js @@ -0,0 +1,225 @@ +class Draw { + constructor(context, canvas, use2dCanvas = false) { + this.ctx = context + this.canvas = canvas || null + this.use2dCanvas = use2dCanvas + } + + roundRect(x, y, w, h, r, fill = true, stroke = false) { + if (r < 0) return + const ctx = this.ctx + + ctx.beginPath() + ctx.arc(x + r, y + r, r, Math.PI, Math.PI * 3 / 2) + ctx.arc(x + w - r, y + r, r, Math.PI * 3 / 2, 0) + ctx.arc(x + w - r, y + h - r, r, 0, Math.PI / 2) + ctx.arc(x + r, y + h - r, r, Math.PI / 2, Math.PI) + ctx.lineTo(x, y + r) + if (stroke) ctx.stroke() + if (fill) ctx.fill() + } + + drawView(box, style) { + const ctx = this.ctx + const { + left: x, top: y, width: w, height: h + } = box + const { + borderRadius = 0, + borderWidth = 0, + borderColor, + color = '#000', + backgroundColor = 'transparent', + } = style + ctx.save() + // 外环 + if (borderWidth > 0) { + ctx.fillStyle = borderColor || color + this.roundRect(x, y, w, h, borderRadius) + } + + // 内环 + ctx.fillStyle = backgroundColor + const innerWidth = w - 2 * borderWidth + const innerHeight = h - 2 * borderWidth + const innerRadius = borderRadius - borderWidth >= 0 ? borderRadius - borderWidth : 0 + this.roundRect(x + borderWidth, y + borderWidth, innerWidth, innerHeight, innerRadius) + ctx.restore() + } + + async drawImage(img, box, style) { + await new Promise((resolve, reject) => { + const ctx = this.ctx + const canvas = this.canvas + + const { + borderRadius = 0 + } = style + const { + left: x, top: y, width: w, height: h + } = box + ctx.save() + this.roundRect(x, y, w, h, borderRadius, false, false) + ctx.clip() + + const _drawImage = (img) => { + if (this.use2dCanvas) { + const Image = canvas.createImage() + Image.onload = () => { + ctx.drawImage(Image, x, y, w, h) + ctx.restore() + resolve() + } + Image.onerror = () => { reject(new Error(`createImage fail: ${img}`)) } + Image.src = img + } else { + ctx.drawImage(img, x, y, w, h) + ctx.restore() + resolve() + } + } + + const isTempFile = /^wxfile:\/\//.test(img) + const isNetworkFile = /^https?:\/\//.test(img) + + if (isTempFile) { + _drawImage(img) + } else if (isNetworkFile) { + wx.downloadFile({ + url: img, + success(res) { + if (res.statusCode === 200) { + _drawImage(res.tempFilePath) + } else { + reject(new Error(`downloadFile:fail ${img}`)) + } + }, + fail() { + reject(new Error(`downloadFile:fail ${img}`)) + } + }) + } else { + reject(new Error(`image format error: ${img}`)) + } + }) + } + + // eslint-disable-next-line complexity + drawText(text, box, style) { + const ctx = this.ctx + let { + left: x, top: y, width: w, height: h + } = box + let { + color = '#000', + lineHeight = '1.4em', + fontSize = 14, + textAlign = 'left', + verticalAlign = 'top', + backgroundColor = 'transparent' + } = style + + if (typeof lineHeight === 'string') { // 2em + lineHeight = Math.ceil(parseFloat(lineHeight.replace('em')) * fontSize) + } + if (!text || (lineHeight > h)) return + + ctx.save() + ctx.textBaseline = 'top' + ctx.font = `${fontSize}px sans-serif` + ctx.textAlign = textAlign + + // 背景色 + ctx.fillStyle = backgroundColor + this.roundRect(x, y, w, h, 0) + + // 文字颜色 + ctx.fillStyle = color + + // 水平布局 + switch (textAlign) { + case 'left': + break + case 'center': + x += 0.5 * w + break + case 'right': + x += w + break + default: break + } + + const textWidth = ctx.measureText(text).width + const actualHeight = Math.ceil(textWidth / w) * lineHeight + let paddingTop = Math.ceil((h - actualHeight) / 2) + if (paddingTop < 0) paddingTop = 0 + + // 垂直布局 + switch (verticalAlign) { + case 'top': + break + case 'middle': + y += paddingTop + break + case 'bottom': + y += 2 * paddingTop + break + default: break + } + + const inlinePaddingTop = Math.ceil((lineHeight - fontSize) / 2) + + // 不超过一行 + if (textWidth <= w) { + ctx.fillText(text, x, y + inlinePaddingTop) + return + } + + // 多行文本 + const chars = text.split('') + const _y = y + + // 逐行绘制 + let line = '' + for (const ch of chars) { + const testLine = line + ch + const testWidth = ctx.measureText(testLine).width + + if (testWidth > w) { + ctx.fillText(line, x, y + inlinePaddingTop) + y += lineHeight + line = ch + if ((y + lineHeight) > (_y + h)) break + } else { + line = testLine + } + } + + // 避免溢出 + if ((y + lineHeight) <= (_y + h)) { + ctx.fillText(line, x, y + inlinePaddingTop) + } + ctx.restore() + } + + async drawNode(element) { + const {layoutBox, computedStyle, name} = element + const {src, text} = element.attributes + if (name === 'view') { + this.drawView(layoutBox, computedStyle) + } else if (name === 'image') { + await this.drawImage(src, layoutBox, computedStyle) + } else if (name === 'text') { + this.drawText(text, layoutBox, computedStyle) + } + const childs = Object.values(element.children) + for (const child of childs) { + await this.drawNode(child) + } + } +} + + +module.exports = { + Draw +} diff --git a/node_modules/wxml-to-canvas/src/index.js b/node_modules/wxml-to-canvas/src/index.js new file mode 100644 index 0000000..ffa8834 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/index.js @@ -0,0 +1,117 @@ + +const xmlParse = require('./xml-parser') +const {Widget} = require('./widget') +const {Draw} = require('./draw') +const {compareVersion} = require('./utils') + +const canvasId = 'weui-canvas' + +Component({ + properties: { + width: { + type: Number, + value: 400 + }, + height: { + type: Number, + value: 300 + } + }, + data: { + use2dCanvas: false, // 2.9.2 后可用canvas 2d 接口 + }, + lifetimes: { + attached() { + const {SDKVersion, pixelRatio: dpr} = wx.getSystemInfoSync() + const use2dCanvas = compareVersion(SDKVersion, '2.9.2') >= 0 + this.dpr = dpr + this.setData({use2dCanvas}, () => { + if (use2dCanvas) { + const query = this.createSelectorQuery() + query.select(`#${canvasId}`) + .fields({node: true, size: true}) + .exec(res => { + const canvas = res[0].node + const ctx = canvas.getContext('2d') + canvas.width = res[0].width * dpr + canvas.height = res[0].height * dpr + ctx.scale(dpr, dpr) + this.ctx = ctx + this.canvas = canvas + }) + } else { + this.ctx = wx.createCanvasContext(canvasId, this) + } + }) + } + }, + methods: { + async renderToCanvas(args) { + const {wxml, style} = args + const ctx = this.ctx + const canvas = this.canvas + const use2dCanvas = this.data.use2dCanvas + + if (use2dCanvas && !canvas) { + return Promise.reject(new Error('renderToCanvas: fail canvas has not been created')) + } + + ctx.clearRect(0, 0, this.data.width, this.data.height) + const {root: xom} = xmlParse(wxml) + + const widget = new Widget(xom, style) + const container = widget.init() + this.boundary = { + top: container.layoutBox.top, + left: container.layoutBox.left, + width: container.computedStyle.width, + height: container.computedStyle.height, + } + const draw = new Draw(ctx, canvas, use2dCanvas) + await draw.drawNode(container) + + if (!use2dCanvas) { + await this.canvasDraw(ctx) + } + return Promise.resolve(container) + }, + + canvasDraw(ctx, reserve) { + return new Promise(resolve => { + ctx.draw(reserve, () => { + resolve() + }) + }) + }, + + canvasToTempFilePath(args = {}) { + const use2dCanvas = this.data.use2dCanvas + + return new Promise((resolve, reject) => { + const { + top, left, width, height + } = this.boundary + + const copyArgs = { + x: left, + y: top, + width, + height, + destWidth: width * this.dpr, + destHeight: height * this.dpr, + canvasId, + fileType: args.fileType || 'png', + quality: args.quality || 1, + success: resolve, + fail: reject + } + + if (use2dCanvas) { + delete copyArgs.canvasId + copyArgs.canvas = this.canvas + } + wx.canvasToTempFilePath(copyArgs, this) + }) + } + } +}) diff --git a/node_modules/wxml-to-canvas/src/index.json b/node_modules/wxml-to-canvas/src/index.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/node_modules/wxml-to-canvas/src/index.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/src/index.wxml b/node_modules/wxml-to-canvas/src/index.wxml new file mode 100644 index 0000000..a0010ad --- /dev/null +++ b/node_modules/wxml-to-canvas/src/index.wxml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/node_modules/wxml-to-canvas/src/index.wxss b/node_modules/wxml-to-canvas/src/index.wxss new file mode 100644 index 0000000..e69de29 diff --git a/node_modules/wxml-to-canvas/src/utils.js b/node_modules/wxml-to-canvas/src/utils.js new file mode 100644 index 0000000..c3cf7d7 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/utils.js @@ -0,0 +1,57 @@ +const hex = (color) => { + let result = null + + if (/^#/.test(color) && (color.length === 7 || color.length === 9)) { + return color + // eslint-disable-next-line no-cond-assign + } else if ((result = /^(rgb|rgba)\((.+)\)/.exec(color)) !== null) { + return '#' + result[2].split(',').map((part, index) => { + part = part.trim() + part = index === 3 ? Math.floor(parseFloat(part) * 255) : parseInt(part, 10) + part = part.toString(16) + if (part.length === 1) { + part = '0' + part + } + return part + }).join('') + } else { + return '#00000000' + } +} + +const splitLineToCamelCase = (str) => str.split('-').map((part, index) => { + if (index === 0) { + return part + } + return part[0].toUpperCase() + part.slice(1) +}).join('') + +const compareVersion = (v1, v2) => { + v1 = v1.split('.') + v2 = v2.split('.') + const len = Math.max(v1.length, v2.length) + while (v1.length < len) { + v1.push('0') + } + while (v2.length < len) { + v2.push('0') + } + for (let i = 0; i < len; i++) { + const num1 = parseInt(v1[i], 10) + const num2 = parseInt(v2[i], 10) + + if (num1 > num2) { + return 1 + } else if (num1 < num2) { + return -1 + } + } + + return 0 +} + +module.exports = { + hex, + splitLineToCamelCase, + compareVersion +} diff --git a/node_modules/wxml-to-canvas/src/widget.js b/node_modules/wxml-to-canvas/src/widget.js new file mode 100644 index 0000000..af3ccc2 --- /dev/null +++ b/node_modules/wxml-to-canvas/src/widget.js @@ -0,0 +1,81 @@ +const Block = require('widget-ui') +const {splitLineToCamelCase} = require('./utils') + +class Element extends Block { + constructor(prop) { + super(prop.style) + this.name = prop.name + this.attributes = prop.attributes + } +} + + +class Widget { + constructor(xom, style) { + this.xom = xom + this.style = style + + this.inheritProps = ['fontSize', 'lineHeight', 'textAlign', 'verticalAlign', 'color'] + } + + init() { + this.container = this.create(this.xom) + this.container.layout() + + this.inheritStyle(this.container) + return this.container + } + + // 继承父节点的样式 + inheritStyle(node) { + const parent = node.parent || null + const children = node.children || {} + const computedStyle = node.computedStyle + + if (parent) { + this.inheritProps.forEach(prop => { + computedStyle[prop] = computedStyle[prop] || parent.computedStyle[prop] + }) + } + + Object.values(children).forEach(child => { + this.inheritStyle(child) + }) + } + + create(node) { + let classNames = (node.attributes.class || '').split(' ') + classNames = classNames.map(item => splitLineToCamelCase(item.trim())) + const style = {} + classNames.forEach(item => { + Object.assign(style, this.style[item] || {}) + }) + + const args = {name: node.name, style} + + const attrs = Object.keys(node.attributes) + const attributes = {} + for (const attr of attrs) { + const value = node.attributes[attr] + const CamelAttr = splitLineToCamelCase(attr) + + if (value === '' || value === 'true') { + attributes[CamelAttr] = true + } else if (value === 'false') { + attributes[CamelAttr] = false + } else { + attributes[CamelAttr] = value + } + } + attributes.text = node.content + args.attributes = attributes + const element = new Element(args) + node.children.forEach(childNode => { + const childElement = this.create(childNode) + element.add(childElement) + }) + return element + } +} + +module.exports = {Widget} diff --git a/node_modules/wxml-to-canvas/src/xml-parser.js b/node_modules/wxml-to-canvas/src/xml-parser.js new file mode 100644 index 0000000..de7526c --- /dev/null +++ b/node_modules/wxml-to-canvas/src/xml-parser.js @@ -0,0 +1,164 @@ + +/** + * Module dependencies. + */ + + +/** + * Expose `parse`. + */ + + +/** + * Parse the given string of `xml`. + * + * @param {String} xml + * @return {Object} + * @api public + */ + +function parse(xml) { + xml = xml.trim() + + // strip comments + xml = xml.replace(//g, '') + + return document() + + /** + * XML document. + */ + + function document() { + return { + declaration: declaration(), + root: tag() + } + } + + /** + * Declaration. + */ + + function declaration() { + const m = match(/^<\?xml\s*/) + if (!m) return + + // tag + const node = { + attributes: {} + } + + // attributes + while (!(eos() || is('?>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + match(/\?>\s*/) + + return node + } + + /** + * Tag. + */ + + function tag() { + const m = match(/^<([\w-:.]+)\s*/) + if (!m) return + + // name + const node = { + name: m[1], + attributes: {}, + children: [] + } + + // attributes + while (!(eos() || is('>') || is('?>') || is('/>'))) { + const attr = attribute() + if (!attr) return node + node.attributes[attr.name] = attr.value + } + + // self closing tag + if (match(/^\s*\/>\s*/)) { + return node + } + + match(/\??>\s*/) + + // content + node.content = content() + + // children + let child + while (child = tag()) { + node.children.push(child) + } + + // closing + match(/^<\/[\w-:.]+>\s*/) + + return node + } + + /** + * Text content. + */ + + function content() { + const m = match(/^([^<]*)/) + if (m) return m[1] + return '' + } + + /** + * Attribute. + */ + + function attribute() { + const m = match(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/) + if (!m) return + return {name: m[1], value: strip(m[2])} + } + + /** + * Strip quotes from `val`. + */ + + function strip(val) { + return val.replace(/^['"]|['"]$/g, '') + } + + /** + * Match `re` and advance the string. + */ + + function match(re) { + const m = xml.match(re) + if (!m) return + xml = xml.slice(m[0].length) + return m + } + + /** + * End-of-source. + */ + + function eos() { + return xml.length == 0 + } + + /** + * Check for `prefix`. + */ + + function is(prefix) { + return xml.indexOf(prefix) == 0 + } +} + +module.exports = parse diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..1f060ee --- /dev/null +++ b/package-lock.json @@ -0,0 +1,84 @@ +{ + "name": "yimini", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "yimini", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "@miniprogram-component-plus/sticky": "^1.0.1", + "@miniprogram-component-plus/tabs": "^1.0.0", + "wxml-to-canvas": "^1.1.1" + } + }, + "node_modules/@miniprogram-component-plus/sticky": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@miniprogram-component-plus/sticky/-/sticky-1.0.1.tgz", + "integrity": "sha512-HYZ/PCm8KjUSQYwMLG61bhHBKU8s9aDx5Tl2BvruAku8bvEbyd8A3Povpb9V6lPPvsD/oXp2R7/GmgsCgDuI4g==" + }, + "node_modules/@miniprogram-component-plus/tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==" + }, + "node_modules/wxml-to-canvas": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "dependencies": { + "widget-ui": "^1.0.2" + } + }, + "node_modules/wxml-to-canvas/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/wxml-to-canvas/node_modules/widget-ui": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "dependencies": { + "eventemitter3": "^4.0.0" + } + } + }, + "dependencies": { + "@miniprogram-component-plus/sticky": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@miniprogram-component-plus/sticky/-/sticky-1.0.1.tgz", + "integrity": "sha512-HYZ/PCm8KjUSQYwMLG61bhHBKU8s9aDx5Tl2BvruAku8bvEbyd8A3Povpb9V6lPPvsD/oXp2R7/GmgsCgDuI4g==" + }, + "@miniprogram-component-plus/tabs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@miniprogram-component-plus/tabs/-/tabs-1.0.0.tgz", + "integrity": "sha512-oV9dFpIoYAz0IbDECS9toS1GHivWoAd1cchxeZKCBV3PoPCEipHOeXQS3K2USr7EY8LDyfg3f0tDAacPfagYjg==" + }, + "wxml-to-canvas": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/wxml-to-canvas/-/wxml-to-canvas-1.1.1.tgz", + "integrity": "sha512-3mDjHzujY/UgdCOXij/MnmwJYerVjwkyQHMBFBE8zh89DK7h7UTzoydWFqEBjIC0rfZM+AXl5kDh9hUcsNpSmg==", + "requires": { + "widget-ui": "^1.0.2" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "widget-ui": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/widget-ui/-/widget-ui-1.0.2.tgz", + "integrity": "sha512-gDXosr5mflJdMA1weU1A47aTsTFfMJhfA4EKgO5XFebY3eVklf80KD4GODfrjo8J2WQ+9YjL1Rd9UUmKIzhShw==", + "requires": { + "eventemitter3": "^4.0.0" + } + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..90805d7 --- /dev/null +++ b/package.json @@ -0,0 +1,20 @@ +{ + "name": "yimini", + "version": "1.0.0", + "description": "", + "main": ".eslintrc.js", + "dependencies": { + "@miniprogram-component-plus/sticky": "^1.0.1", + "@miniprogram-component-plus/tabs": "^1.0.0", + "wxml-to-canvas": "^1.1.1" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "http://zsk@47.95.113.45:19998/r/matripe/minapp/1shoudan.git" + }, + "author": "", + "license": "ISC" +} diff --git a/pages/city/index.js b/pages/city/index.js new file mode 100644 index 0000000..61c4484 --- /dev/null +++ b/pages/city/index.js @@ -0,0 +1,530 @@ +// pages/city/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + inputShowed: false, + inputVal: "", + hotCity: [ + { id: 1, name: "郑州" }, + { id: 2, name: "上海" }, + { id: 3, name: "昆山" }, + { id: 4, name: "苏州" }, + { id: 5, name: "无锡" }, + { id: 6, name: "深圳" }, + { id: 7, name: "南京" }, + { id: 8, name: "东莞" }, + { id: 9, name: "常州" }, + ], + hotCitySelect: -1, + toView: "", + from: "", + cityList: [], + letter: ["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"], + selectedQuanGuo: { + name: "全国", + shortName: "全国", + checked: true, + }, + selectedCityLocal: { + name: "", + shortName: "", + checked: false, + }, + selectedCity: { + name: "", + shortName: "", + checked: false, + }, + selectedCityTemp: { + name: "", + shortName: "", + checked: false, + }, + alpha: "", + plShow: false, + pltop: 70, + + selectedQuanGuoStorage: { + name: "全国", + shortName: "全国", + checked: true, + }, + selectedCityStorage: { + name: "", + shortName: "", + checked: false, + }, + selectedCityLocalStorage: { + name: "", + shortName: "", + checked: false, + }, + selectedCityTempStorage: { + name: "", + shortName: "", + checked: false, + }, + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + console.log(options); + if (options.from) { + this.setData({ + from: options.from, + }); + } + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + console.log("searchCityParamStorage======", searchCityParamStorage); + var selectedCityTempParamStorage = wx.getStorageSync("selectedCityTempParamStorage"); + console.log("selectedCityTempParamStorage======", selectedCityTempParamStorage); + + var tag = wx.getStorageSync("selectedQuanGuoStorage"); + if (tag && app.isNotEmptyCheck(tag.name)) { + that.data.selectedQuanGuoStorage = wx.getStorageSync("selectedQuanGuoStorage"); + console.log("selectedQuanGuoStorage======", that.data.selectedQuanGuoStorage); + that.data.selectedCityStorage = wx.getStorageSync("selectedCityStorage"); + console.log("selectedCityStorage======", that.data.selectedCityStorage); + that.data.selectedCityLocalStorage = wx.getStorageSync("selectedCityLocalStorage"); + console.log("selectedCityLocalStorage======", that.data.selectedCityLocalStorage); + that.data.selectedCityTempStorage = wx.getStorageSync("selectedCityTempStorage"); + console.log("selectedCityTempStorage======", that.data.selectedCityTempStorage); + } + + if (searchCityParamStorage && app.isNotEmptyCheck(searchCityParamStorage.name)) { + that.setData({ + selectedQuanGuo: JSON.parse(JSON.stringify(that.data.selectedQuanGuoStorage)), + selectedCity: JSON.parse(JSON.stringify(that.data.selectedCityStorage)), + selectedCityTemp: JSON.parse(JSON.stringify(that.data.selectedCityTempStorage)), + }); + } else { + that.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCityLocal: that.data.selectedCityLocal, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + }); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + this.getAllCityLevel2(); + }, + leftMove(e) { + this.setData({ + toView: "", + }); + }, + handlerAlphaTap(e) { + console.log(e.target.dataset.item); + this.setData({ + toView: e.target.dataset.item, + alpha: e.target.dataset.item, + plShow: true, + }); + }, + touchEnd(e) { + this.setData({ + plShow: false, + }); + }, + touchMove(e) { + var that = this; + // console.log(e) + console.log(e.changedTouches[0].clientY); + let moveY = e.changedTouches[0].clientY; + let rY = moveY - 80; + + // toView:'hot' + // toView:e.target.dataset.item + + if (rY >= 0) { + let index = Math.ceil(rY / 22); + // console.log(index); + if (index == 1) { + this.setData({ toView: "top", alpha: "查", plShow: true }); + } else if (index == 2) { + this.setData({ toView: "hot", alpha: "热", plShow: true, pltop: 92 }); + } else { + let nonwAp = that.data.letter[index - 3]; + let hg = (index - 2) * 22; + this.setData({ toView: nonwAp, alpha: nonwAp, plShow: true, pltop: 92 + hg }); + } + + // if(0 <= index < list.length) { + // let nonwAp = list[index]; + // nonwAp && this.setData({alpha: nonwAp.alphabet}); + // } + } + + // let {list} = this.data; + // console.log(list) + // console.log(this.data.alphabet) + // let moveY = e.touches[0].clientY; + // let rY = moveY - this.offsetTop; + // if(rY >= 0) { + // let index = Math.ceil((rY - this.apHeight)/ this.apHeight); + // if(0 <= index < list.length) { + // let nonwAp = list[index]; + // nonwAp && this.setData({alpha: nonwAp.alphabet}); + // } + // } + }, + getLocation() { + var that = this; + if (app.isNotEmptyCheck(app.globalData.lng) && app.isNotEmptyCheck(app.globalData.lat)) { + that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 1); + } else { + wx.getSetting({ + success: (res) => { + console.log(res); // res.authSetting.location + + if (res.authSetting["scope.userLocation"]) { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.getCityNameByLatLng(res1.longitude, res1.latitude, 1); + }, + fail() {}, + }); + that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 1); + } else { + console.log("11111111"); + wx.openSetting({ + success(res) { + console.log(res.authSetting); + // res.authSetting = { + // "scope.userInfo": true, + // "scope.userLocation": true + // } + }, + }); + // that.getStoreJobDetailById(); + } + }, + }); + } + }, + selectQuanGuo: function (e) { + var that = this; + that.data.selectedQuanGuo.checked = true; + that.data.selectedCity.checked = false; + that.data.selectedCityLocal.checked = false; + that.data.selectedCityTemp.checked = false; + + this.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedCityLocal: that.data.selectedCityLocal, + }); + }, + selectOld: function (e) { + var that = this; + that.clearAllChecked(); + that.data.selectedCity.checked = true; + + this.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedCityLocal: that.data.selectedCityLocal, + }); + }, + reset: function (e) { + this.clearAllChecked(); + this.data.selectedQuanGuo.checked = true; + this.setAllSelected(); + }, + selectCity: function (e) { + var city = e.currentTarget.dataset.city; + console.log(city); + this.data.selectedCityLocal.checked = false; + var that = this; + + if (this.data.selectedCity.id != city.id) { + this.data.selectedCity.checked = false; + } + + this.data.selectedCityTemp = city; + this.data.selectedCityTemp.checked = true; + + this.data.selectedQuanGuo.checked = false; + + this.setData({ + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCityLocal: this.data.selectedCityLocal, + }); + }, + loginOut: function () { + var that = this; + + var temp; + if (that.data.selectedCityTemp.checked) { + that.clearAllChecked(); + that.data.selectedCityTemp.checked = true; + + temp = that.data.selectedCityTemp; + that.data.selectedCity = that.data.selectedCityTemp; + } else if (that.data.selectedQuanGuo.checked) { + that.clearAllChecked(); + that.data.selectedQuanGuo.checked = true; + + temp = that.data.selectedQuanGuo; + } else if (that.data.selectedCity.checked) { + that.clearAllChecked(); + that.data.selectedCity.checked = true; + + temp = that.data.selectedCity; + } else if (that.data.selectedCityLocal.checked) { + that.clearAllChecked(); + that.data.selectedCityLocal.checked = true; + + temp = that.data.selectedCityLocal; + } + + try { + wx.setStorageSync("selectedCityTempParamStorage", that.data.selectedCity); + wx.setStorageSync("searchCityParamStorage", temp); + + wx.setStorageSync("selectedQuanGuoStorage", that.data.selectedQuanGuo); + wx.setStorageSync("selectedCityStorage", that.data.selectedCity); + wx.setStorageSync("selectedCityLocalStorage", that.data.selectedCityLocal); + wx.setStorageSync("selectedCityTempStorage", that.data.selectedCityTemp); + wx.setStorageSync("FROMCITY", true); + } catch (e) { + console.log("index-设置查询职位列表参数错误", e); + } + if (this.data.from == "search") { + var pages = getCurrentPages(); + var prevPage = pages[pages.length - 2]; // 上一个页面 + + prevPage.data.storeJobListSearchForm.cityName = temp.name; + prevPage.setData({ + storeJobListSearchForm: prevPage.data.storeJobListSearchForm, + searchCityParamStorage: temp, + }); + wx.navigateBack({ + delta: 1, + }); + // wx.reLaunch({ + // url: "../jobListSearch/index?fromSearchPage=1", + // }); + } else { + var pages = getCurrentPages(); + var prevPage = pages[pages.length - 2]; // 上一个页面 + + prevPage.data.storeJobListSearchForm.cityName = temp.name; + prevPage.setData({ + storeJobListSearchForm: prevPage.data.storeJobListSearchForm, + searchCityParamStorage: temp, + }); + wx.navigateBack({ + delta: 1, + }); + // var pages = getCurrentPages(); + // var prevPage = pages[pages.length - 2]; // 上一个页面 + // console.log(prevPage); + // console.log(temp); + // prevPage.data.storeJobListSearchForm.cityName = temp.name; + // prevPage.setData({ + // storeJobListSearchForm: prevPage.data.storeJobListSearchForm, + // searchCityParamStorage: temp, + // }); + // wx.navigateBack({ + // delta: 1, + // }); + // wx.reLaunch({ + // url: "../firstBill/index?fromSearchPage=1", + // }); + } + }, + showInput: function () { + this.setData({ + inputShowed: true, + }); + }, + hideInput: function () { + this.setData({ + inputVal: "", + inputShowed: false, + }); + }, + clearInput: function () { + this.setData({ + inputVal: "", + }); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + }, + clickHot: function (e) { + this.setData({ + toView: "hot", + }); + }, + goTop: function (e) { + this.setData({ + toView: "top", + }); + }, + chooseLetter: function (e) { + console.log(e.target.dataset.item); + this.setData({ + toView: e.target.dataset.item, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + getAllCityLevel2: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/city/getAllCityLevel2", + data: {}, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + that.setData({ + cityList: res.data.data, + }); + console.log(that.data.cityList); + + if (app.isNotEmptyCheck(app.globalData.lng) && app.isNotEmptyCheck(app.globalData.lat)) { + that.getCityNameByLatLng(app.globalData.lng, app.globalData.lat, 0); + } else { + wx.getLocation({ + type: "gcj02", + success(res) { + console.log(res); + app.globalData.lng = res.longitude; + app.globalData.lat = res.latitude; + that.getCityNameByLatLng(res.longitude, res.latitude, 0); + }, + }); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () {}, + + getCityNameByLatLng: function (longitude, latitude, comeFrom) { + var that = this; + wx.request({ + url: app.globalData.ip + "/location/getCityNameByLatLng", + data: { + lng: longitude, + lat: latitude, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + var cityName = res.data.data; + + var tag = false; + + that.data.cityList.forEach((item) => { + item.list.forEach((item1) => { + if (item1.name == cityName) { + // if (that.data.selectedCityLocalStorage) {} + + // debugger; + if (comeFrom == 1) { + //主动点击获取位置 + + that.clearAllChecked(); + that.data.selectedCityLocal = item1; + that.data.selectedCityLocal.checked = true; + + that.setAllSelected(); + } else { + if (that.data.selectedCityLocalStorage.checked) { + that.clearAllChecked(); + that.data.selectedCityLocal = item1; + that.data.selectedCityLocal.checked = true; + + that.setAllSelected(); + } else { + // that.clearAllChecked(); + that.data.selectedCityLocal = item1; + that.data.selectedCityLocal.checked = false; + + that.setAllSelected(); + } + } + } + }); + }); + } + }, + }); + }, + + clearAllChecked: function () { + var that = this; + that.data.selectedQuanGuo.checked = false; + that.data.selectedCity.checked = false; + that.data.selectedCityLocal.checked = false; + that.data.selectedCityTemp.checked = false; + }, + setAllSelected: function () { + var that = this; + this.setData({ + selectedQuanGuo: that.data.selectedQuanGuo, + selectedCity: that.data.selectedCity, + selectedCityTemp: that.data.selectedCityTemp, + selectedCityLocal: that.data.selectedCityLocal, + }); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + // onShareAppMessage1: function () { + + // } +}); diff --git a/pages/city/index.json b/pages/city/index.json new file mode 100644 index 0000000..b42112c --- /dev/null +++ b/pages/city/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "选择城市", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/city/index.wxml b/pages/city/index.wxml new file mode 100644 index 0000000..0f90518 --- /dev/null +++ b/pages/city/index.wxml @@ -0,0 +1,68 @@ + + {{alpha}} + + + + + + + + 当前城市 + + 全国 + {{selectedCityLocal.shortName}} + {{selectedCity.shortName}} + + + + {{item.name}} + + {{item1.shortName}} + + + + + + + + + + + + + {{item}} + + + + + + + + + + + \ No newline at end of file diff --git a/pages/city/index.wxss b/pages/city/index.wxss new file mode 100644 index 0000000..12e14a4 --- /dev/null +++ b/pages/city/index.wxss @@ -0,0 +1,159 @@ +page { + padding-bottom: 120px; +} + +.p1020 { + padding: 10px 10px 10px 20px; +} + +.container { + margin-top: 10px; +} + +.container::after { + content: "."; + display: block; + height: 0; + visibility: hidden; + clear: both; +} + +.container .item { + width: calc(33.33% - 10px); + float: left; + margin-right: 10px; + background: #fff; + border-radius: 16px; + font-size: 16px; + font-weight: 400; + text-align: center; + padding: 8px 0; + color: #1d1d1d; + margin-bottom: 10px; + line-height: 20px; + /* display: flex; + align-items: center; + justify-content: center; */ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.container .item.active { + background: var(--color-ysd); + color: #ffffff; +} + +.headTxt { + font-size: 18px; + font-weight: 400; + color: #999999; + line-height: 25px; + margin-top: 10px; +} +.resetBtn{ + height: 44px; + opacity: 1; + background: #fff; + border: 1px solid var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: var(--color-ysd); + padding: 0; + line-height: 44px; + margin-bottom: 40px; +} +.resetBtn:active{ + background-color: #f2f2f2; +} +.loginOut { + width: 100%; + height: 44px; + opacity: 1; + background: var(--color-ysd) !important; + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} +.pl10{ + padding-left: 10px; +} +.pr10{ + padding-right: 10px; +} + +.btmFix { + position: fixed; + bottom: 0px; + left: 0; + width: 100%; + /* background-color: #ffffff; */ + z-index: 99; +} +page { + padding-bottom: 0; +} +.weui-search-bar { + padding: 0; +} +.weui-search-bar__box { + background-color: #f6f6f6; +} +.weui-search-bar__form { + padding-right: 10px; +} +.weui-search-bar__box { + border-radius: 17px; +} +.p10200 { + padding: 10px 10px 140px 20px; +} +.letter-list { + position: fixed; + top: 80px; + right: 0; + z-index: 999; + width: 24px; + font-size: 11px; + text-align: center; + color: #999999; +} + +.letter-list .letter { + padding: 4px; + line-height: 1.3; +} + +.rlhc { + background: var(--color-ysd); + border-radius: 100%; + color: #ffffff; +} +.positionLetter { + position: fixed; + right: 40px; + top: 90px; + width: 47px; + height: 47px; + opacity: 1; + background: #cccccc; + border-radius: 50%; + font-size: 25px; + font-weight: 601; + text-align: center; + color: #ffffff; + line-height: 47px; + z-index: 9999; +} +.loginOut { + margin-top: 20rpx; +} +.btn { + width: unset !important; +} diff --git a/pages/collect/index.js b/pages/collect/index.js new file mode 100644 index 0000000..f264225 --- /dev/null +++ b/pages/collect/index.js @@ -0,0 +1,1362 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); +Page({ + data: { + toped: "1", + chaShowed: false, + backHeight:wx.getMenuButtonBoundingClientRect().top + (wx.getMenuButtonBoundingClientRect().height/2) +'px', + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 20, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + jobCategoryLabelIds: "", + ucj: 1, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, //筛选是否高亮 + + labelItems: [], + checkedlabelItems: [], + hasMoreData: false, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "搜索工作", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: app.globalData.isLogin, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "zuigao", + sexid: "-1", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + choiceCollect: 0, //收藏的筛选 + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, // 内部成员的判断 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, // 是否是代理的判断 + serviceInfo: {}, // 代理信息 + navigatorBarHeight: 0, // 头部整体高度信息 + iosDialog: false, // 成为代理弹窗 + isLoading: true, // 成为代理图片加载loading效果 + isScrollTop: false, // 控制职位列表的滚动 + swiperTextList: ["日结工", "18岁", "电子厂", "短期工", "47岁", "保底", "小时工"], // 关键词轮播的关键词列表 + placeholderText: "", // 当前关键词 + leftShow: false, // 左侧智能匹配抽屉显示 + from:'', + /** + * 滑动相关变量 + */ + lastX: 0, //滑动开始x轴位置 + lastY: 0, //滑动开始y轴位置 + text: "没有滑动", + currentGesture: 0, //标识手势 + listPosition: null, // 存储列表当前位置 + halfHide: true, // 智能匹配显示一半控制 + topNum: 0, + scrollTo: "", // 列表滚动的控制 + navList: [ + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ztrt.png", + url: "/pages/hotList/index", + title: "主推/热推", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dtld.png",url:'/pages/hotList/index', title: "职位云亮点" }, + // { img: "http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/zjzp.png",url:'/pages/hotList/index', title: "职教职培" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/cwdl.png", + url: "/pages/tobeAgency/index", + title: "成为代理", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dzkf.png",url:'/pages/hotList/index', title: "定制开发" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmhz.png", + url: "/pages/xiangmuhezuo/index", + title: "项目合作", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xtxx.png", + url: "/pages/message/index", + title: "消息中心", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/lxwm.png", + url: "/pages/connectUs/index", + title: "联系我们", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/jqqd.png",url:'/pages/hotList/index', title: "敬请期待" }, + ], + bannerList: [], + /** + * 筛选的相关变量 + * + * + */ + filterData: { + yanba: [ + { + name: "无", + id: 1, + active: 0, + }, + { + name: "小面积", + id: 2, + active: 0, + }, + { + name: "大面积", + id: 3, + active: 0, + }, + ], + area: [ + { + name: "江浙沪", + id: 1, + active: 0, + }, + { + name: "鄂豫皖", + id: 2, + active: 0, + }, + { + name: "京津冀", + id: 3, + active: 0, + }, + { + name: "晋西北", + id: 4, + active: 0, + }, + { + name: "粤桂闽", + id: 5, + active: 0, + }, + { + name: "鲁东南", + id: 6, + active: 0, + }, + { + name: "黑吉辽", + id: 7, + active: 0, + }, + { + name: "疆藏青", + id: 8, + active: 0, + }, + { + name: "渝湘赣", + id: 9, + active: 0, + }, + { + name: "陕甘宁", + id: 10, + active: 0, + }, + { + name: "云贵川", + id: 11, + active: 0, + }, + { + name: "港澳台", + id: 12, + active: 0, + }, + ], + price: [ + { + name: "3000-4000", + id: 1, + active: 0, + }, + { + name: "4000-5000", + id: 2, + active: 0, + }, + { + name: "5000-6000", + id: 3, + active: 0, + }, + { + name: "6000-7000", + id: 4, + active: 0, + }, + { + name: "7000-8000", + id: 5, + active: 0, + }, + { + name: "8000以上", + id: 6, + active: 0, + }, + ], + sex: [ + { + name: "男", + id: 1, + active: 0, + }, + { + name: "女", + id: 2, + active: 0, + }, + { + name: "男女不限", + id: -1, + active: -1, + }, + ], + jobFilter: { + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + }, + classifyList: [], + }, + copyList: {}, + innerFilter: false, + }, + goBack(){ + wx.navigateBack({ + delta: -1, + }) + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + goLogin() { + wx.setStorageSync("comeFromPage", "index"); + wx.navigateTo({ + url: "/pages/login/index", + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + + cc: function () {}, + + onShareAppMessage: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + let img; + + this.data.templateList.forEach((element) => { + if (element.title == "职位云小程序首页卡片分享封面") { + img = element.img + "?" + new Date().getTime(); + } + }); + return { + title: " ", + path: path, + imageUrl: img, + }; + }, + + /** + * 清除本地缓存 + * + * + */ + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + + onLoad(options) { + var that = this; + console.log(options.from == 'shoucang'); + console.log(wx.getSystemInfoSync()); + // Array.prototype.logResult = function(){ + // console.log('Array'); + // } + if(options.from == 'shoucang'){ + wx.setNavigationBarTitle({ + title: '我的收藏', + }) + this.setData({ + from: 'shoucang', + }); + }else if(options.from == 'baoming'){ + wx.setNavigationBarTitle({ + title: '我的报名', + }) + this.setData({ + from: 'baoming', + }); + } + + + this.setData({ + placeholderText: this.data.swiperTextList[0], + + }); + let arr = []; + arr.logResult(); + + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + + // if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + // try { + // var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + // if (searchCityParamStorage) { + // console.log("searchCityParamStorage======", searchCityParamStorage); + // that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + // if (app.isEmptyCheck(searchCityParamStorage.name)) { + // that.data.storeJobListSearchForm.cityName = "全国"; + // } + // that.setData({ + // searchCityParamStorage: searchCityParamStorage, + // }); + // } + // } catch (e) { + // console.log("获取缓存设置的查询职位列表参数错误:", e); + // } + // } else { + // try { + // wx.removeStorageSync("searchJobListParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // try { + // wx.removeStorageSync("searchCityParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(that.data.serviceInfo); + }; + console.log(that.data.serviceInfo); + } + //登录=================================end + + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + app.getLoginUserTokenInfo(); + + // this.getJobList(); + if (wx.getStorageSync("FILTER_LIST")) { + let list = wx.getStorageSync("FILTER_LIST"); + list.forEach((item) => { + item.active = 0; + if (item.typeClassify == "0") { + this.data.filterData.jobFilter["tagArray0"].push(item); + } else if (item.typeClassify == "1") { + this.data.filterData.jobFilter["tagArray1"].push(item); + } else if (item.typeClassify == "2") { + this.data.filterData.jobFilter["tagArray2"].push(item); + } else if (item.typeClassify == "3") { + this.data.filterData.jobFilter["tagArray3"].push(item); + } else if (item.typeClassify == "4") { + this.data.filterData.jobFilter["tagArray4"].push(item); + } + }); + let jobFilter = "filterData.jobFilter"; + this.setData({ + [jobFilter]: this.data.filterData.jobFilter, + }); + } + + if (wx.getStorageSync("CLASSIFY_LIST")) { + this.data.filterData.classifyList = wx.getStorageSync("CLASSIFY_LIST"); + this.data.filterData.classifyList.forEach((item) => { + item.active = 0; + }); + let classifyList = "filterData.classifyList"; + this.setData({ + [classifyList]: this.data.filterData.classifyList, + }); + } + this.setData({ + copyList: JSON.parse(JSON.stringify(this.data.filterData)), + }); + // that.getJobList(); + }, + + /** + * 智能匹配结束 + * + * + * + */ + /** + * 获取banner信息 + * + * + */ + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + emptyMethod(e) { + console.log(e); + }, + + onShow() { + let that = this; + that.setData({ + recordList: [], + }); + that.data.storeJobListSearchForm.pageNum = 1; + wx.setStorageSync("BILLFROM", "firstBill"); + + // wx.showTabBar({ + // success(e) {}, + // }); + // let index = 1; + // that.setData({ + // placeholderText: that.data.swiperTextList[0], + // }); + // setInterval(() => { + // that.data.placeholderText = that.data.swiperTextList[index % that.data.swiperTextList.length]; + // that.setData({ + // placeholderText: that.data.placeholderText, + // }); + // index++; + // }, 5000); + if (wx.getStorageSync("FROMCITY")) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + + that.setData({ + searchCityParamStorage: searchCityParamStorage, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.setData({ + recordList: [], + }); + + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + wx.removeStorageSync("FROMCITY"); + }else{ + that.setData({ + recordList: [], + }); + } + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 0, + isShow: true, + }); + } + wx.setStorageSync("comeFromPage", "index"); + + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + recordBillType: "", + }); + console.log(app.globalData); + + setTimeout(() => { + if (app.globalData.isLogin) { + that.setData({ + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(app.globalData.loginUserInfo); + } else { + that.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + this.wxLogin(); + } + }, 100); + console.log(app.globalData.headers); + // if (that.data.inputVal != "搜索工作") { + // console.log(that.data.inputVal); + // that.setData({ + // recordList: [], + // }); + + // that.getJobList(); + // } + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + var reset = true;*/ + this.getJobList(); + }, + + + getJobList() { + var that = this; + // debugger + that.setData({ + pageShow: false, + }); + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + that.data.storeJobListSearchForm.cityName = that.data.searchCityParamStorage.name; + if (app.isEmptyCheck(that.data.searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.data.storeJobListSearchForm.keys = that.data.inputVal == "搜索工作" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + let url = ''; + if(that.data.from == 'shoucang'){ + url = '/overall/store/job/list' + }else if(that.data.from == 'baoming'){ + url = '/yishoudan/user/apply/order/mine' + } + + + wx.request({ + url: app.globalData.ip + url, + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + if(that.data.from == 'baoming'){ + res.data.data.recordList = res.data.data.list + } + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + + that.data.recordList.forEach((item, index) => { + // console.log(item); + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + // 简版弹窗通告显示 + if (item.id == that.data.currentJobDrawer.id) { + item["jobDesp"] = item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + item["jobDesp1"] = item.jobDesp.replace("⚠", ""); + item["jobDesp1"] = item.jobDesp1.replace("[红包]", ""); + that.data.currentJobDrawer = { + ...item, + index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null, + }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + }); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + if (this.data.isLogin) { + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode+ "&fromShoucangOrBaoming="+that.data.from, + }); + } else { + wx.navigateTo({ + url: "../login/index", + }); + } + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + + modalMove() { + return false; + }, + /** + * 获取搜索轮播的关键字索引 + * + * + */ + + + goList() { + wx.navigateTo({ + url: "/pages/filterPage/index", + }); + }, + recordBill(e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + // }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, +}); diff --git a/pages/collect/index.json b/pages/collect/index.json new file mode 100644 index 0000000..ffb5dc3 --- /dev/null +++ b/pages/collect/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "我的收藏", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/collect/index.wxml b/pages/collect/index.wxml new file mode 100644 index 0000000..549f0be --- /dev/null +++ b/pages/collect/index.wxml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName || item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + + + + 热推 + + {{item1}} + 暂无特色 + + + + 报名 + + + 已报名 + + + 报名 + + + + + + + + + + + + + + + 没有符合条件的职位 + + + + + + 暂无记录 + + + + + + + diff --git a/pages/collect/index.wxss b/pages/collect/index.wxss new file mode 100644 index 0000000..83b8599 --- /dev/null +++ b/pages/collect/index.wxss @@ -0,0 +1,19 @@ +@import "../index/index.wxss"; +page{ + background-color: #f00 !important; +} +.goback { + position: absolute; + color: #000; + left: 0px; + /* top: 40px; */ + transform: translateY(-50%); + margin-left: 5px; + height: 24px; + font-size: 24px; + font-weight: 400; + z-index: 99999; +} +.jobOne:last-child{ + margin-bottom: 60px; +} \ No newline at end of file diff --git a/pages/detail/demo.js b/pages/detail/demo.js new file mode 100644 index 0000000..03f19e4 --- /dev/null +++ b/pages/detail/demo.js @@ -0,0 +1,183 @@ +const wxml = (jobDetail) => { + console.log(jobDetail.storeJob.hourlyPay); + // debugger; + var str = '' + for (var i = 0; i < jobDetail.storeJob.jobSpecialLabelNames.length; i++) { + str += ` + ` + jobDetail.storeJob.jobSpecialLabelNames[i] + ` + ` + } + + // + // + + + return ` + + + + + + ` + jobDetail.storeJob.jobName + ` + + + + + ` + jobDetail.storeJob.hourlyPay + ` + + + + + ` + jobDetail.storeJob.monthlyPay + ` + + + + + + ` + str + ` + + + + + 查看详情 + + + + + +` +} +{/* */} + + +// return ` +// +// +// +// +// +// +// yeah!12 +// +// +// +// ` + +const style = { + container: { + width: 300, + height: 240, + lingHeight: 1, + backgroundColor: "#f8f8f8", + }, + df: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + df1: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + df2: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + df4: { + width: 300, + height: 30, + padding: 12, + marginTop: 10, + flexDirection: 'row', + }, + logo: { + width: 30, + height: 30, + }, + next: { + width: 12, + height: 12, + marginLeft: 54, + marginTop: 3, + }, + dib2: { + width: 32, + height: 32, + borderWidth: 1, + borderColor: '#fff', + borderStyle: 'dashed' + + }, + itembox: { + width: 184, + height: 24, + }, + itemboxTag: { + width: 300, + height: 24, + flexDirection: 'row', + }, + + text: { + width: 180, + height: 30, + color: '#1a1a1a', + marginTop: 4, + marginLeft:8, + fontSize: 20, + }, + text1: { + width: 180, + height: 30, + marginLeft: 10, + marginTop: 30, + fontSize: 16, + }, + tag: { + width: 64, + height: 20, + marginRight: 10, + backgroundColor: 'rgba(212,212,212,0.50)', + borderRadius: 16, + fontSize: 12, + lineHeight: 20, + color: '#353535', + textAlign: 'center', + }, + money: { + width: 180, + height: 36, + fontSize: 24, + fontWeight: 'blod', + fontWeight: 700, + color: '#ff6a00', + }, + moneyD: { + width: 180, + height: 24, + fontSize: 16, + }, + detail: { + color: '#353535', + width: 180, + height: 24, + fontSize: 12, + } +}; + +function getText(str) { + return str +}; + +module.exports = { + wxml, + style +} \ No newline at end of file diff --git a/pages/detail/index.js b/pages/detail/index.js new file mode 100644 index 0000000..dc80802 --- /dev/null +++ b/pages/detail/index.js @@ -0,0 +1,1571 @@ +const app = getApp(); +const commonUtil = require("../../utils/commonUtil"); +const { wxml, style } = require("./demo.js"); +var QQMapWX = require("../../utils/qqmap-wx-jssdk.min.js"); +var qqmapsdk; + +Page({ + data: { + isLogin:false, + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + backHeight:wx.getMenuButtonBoundingClientRect().top + (wx.getMenuButtonBoundingClientRect().height/2) +'px', + storeJobId: "", + iosDialog: false, + //职位ID + searchForm: { + storeJobId: "", + lng: "", + lat: "", + }, + fullScreen: false, + bclr: "", + djxx: "", + currIndex: "1", + jobDetail: {}, //详情 + wxCode: "", + pbtm: 0, + shareTitle: "", + isCollect: false, + src: "", + word: "woca", + phoneDialog: false, + isImg: true, + labelColor: ["#c41d7f", "#096dd9", "#531dab", "#d46b08", "#389e0d", "#08979c", "#cf1322"], + bgColor: ["#fff0f6", "#e6f7ff", "#f9f0ff", "#fff7e6", "#f6ffed", "#e6fffb", "#fff1f0"], + wxml: { + text: "啊啊按", + }, + addressNew: "", + citys: "", + showSexAgeText: "", + fuWuFei: "", + isServicePriceShow: true, + isAgency: true, + isShareShow: false, + managerRoleClassify: false, // 管理员权限 + serviceInfo: app.globalData.serviceInfo, + isMaskShow: false, + onSiteRemark: "", + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/bg.png", + canvasImg: "", + isLoading: true, + iosDialogTobe: false, // 成为代理弹窗显示 + userInfo: {}, + shareListImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/detail830-1.png", + shareDetailImg: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/posterbg1.1.png", + posterImg: "", + safeBottom:wx.getWindowInfo().screenHeight - wx.getWindowInfo().safeArea.height+'px', + fromScene:false, + fromShoucangOrBaoming:'' + }, + showdialog() { + this.setData({ + iosDialog: true, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + onShow() { + var that = this; + + console.log(that.data.safeBottom); + + this.setData({ + isLogin: app.globalData.isLogin, + // backHeight:wx.getMenuButtonBoundingClientRect().top, + isLoading: true, + // userInfo:{...app.globalData.loginUserInfo, agencyStatus:0}, + }); + if (app.globalData.isLogin) { + that.setData({ + // agencyStatus: app.globalData.agencyStatus, + userInfo: app.globalData.loginUserInfo, + }); + } else { + this.wxLogin(); + } + that.searchAnimate(); + + console.log(that.data.userInfo); + }, + showphone: function () { + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + close: function () { + this.setData({ + phoneDialog: false, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + showImage(e) { + let resImg = e.currentTarget.dataset.src; + var imgArr = []; + + this.data.jobDetail.storeImage.forEach((item) => { + // let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + // item.isImg = regs.test(item.url.toLowerCase()); + if (item.isImg) { + imgArr.push(item.url); + } + }); + wx.previewImage({ + current: e.currentTarget.dataset.src, // 当前显示图片的http链接 + urls: imgArr, + }); + }, + + renderToCanvas() { + const p1 = this.widget.renderToCanvas({ wxml: wxml(that.data.wxml), style }); + p1.then((res) => { + console.log("container", res.layoutBox); + this.container = res; + console.log(res); + }); + }, + extraImage() { + var that = this; + // return new Promise(function (resolve, reject) { + that.widget.renderToCanvas({ wxml: wxml(that.data.wxml), style }).then((res1) => { + const p2 = that.widget.canvasToTempFilePath(); + p2.then((res) => { + console.log(res); + that.setData({ + src: res.tempFilePath, + }); + }); + }); + // }); + }, + onLoad(query) { + var that = this; + + +// let systemInfo = wx.getSystemInfoSync(); +// let rect = wx.getMenuButtonBoundingClientRect ? wx.getMenuButtonBoundingClientRect() : null; //胶囊按钮位置信息 +// wx.getMenuButtonBoundingClientRect(); +// let navBarHeight = (function() { //导航栏高度 +// let gap = rect.top - systemInfo.statusBarHeight; //动态计算每台手机状态栏到胶囊按钮间距 +// return 2 * gap + rect.height; +// })(); + + console.log((wx.getMenuButtonBoundingClientRect().top - wx.getWindowInfo().statusBarHeight) * 2 + wx.getMenuButtonBoundingClientRect().height + wx.getWindowInfo().statusBarHeight); + + console.log(wx.getWindowInfo().screenTop) + + + + + + + + + console.log(app.globalData.loginUserInfo); + qqmapsdk = new QQMapWX({ + key: "5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR", + }); + + that.setData({ + isAgency: app.globalData.loginUserInfo.agencyStatus == 1 ? true : false, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + userInfo: app.globalData.loginUserInfo, + }); + that.widget = that.selectComponent(".widget"); + wx.getSystemInfo({ + success: (res) => { + console.log("手机信息res" + res.model); + let modelmes = res.model; + console.log(modelmes.search("iPhone X")); + if (modelmes.search("iPhone 12 Pro") != -1 || modelmes.search("iPhone X") != -1 || modelmes.search("iPhone XR") != -1 || modelmes.search("iPhone XS max") != -1 || modelmes.search("iPhone 11") != -1) { + that.setData({ + pbtm: 40, + }); + } else { + } + }, + }); + console.log(query); + if(app.isNotEmptyCheck(query.fromShoucangOrBaoming)){ + that.setData({ + fromShoucangOrBaoming:query.fromShoucangOrBaoming + }) + } + console.log("HHHHHHHHHHHHH" + query.storeJobId); + if (app.isNotEmptyCheck(query.storeJobId)) { + console.log("HHHHHHHHHHHHH"); + this.data.searchForm.storeJobId = query.storeJobId; + } else if (app.isNotEmptyCheck(query.scene)) { + console.log("XXXXXXXXXXXX") + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(query.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + let arr = sceneJson.i.split('_') + if(arr[0] > 0){ + wx.setStorageSync("applyUserId", arr[0]); + } + if(arr[1] > 0){ + wx.setStorageSync("agencyId", arr[1]); + app.globalData.agencyId = arr[1] + } + if(arr[2] > 0){ + this.data.searchForm.storeJobId = arr[2]; + } + + // wx.setStorageSync("agencyId", sceneJson.agencyId); + + that.setData({ + fromScene:true + }) + + } + if(app.isNotEmptyCheck(query.from)){ + that.setData({ + fromScene:true + }) + } + + + + + // this.data.wxCode = query.wxCode; + // this.getLocation(); + this.getStoreJobDetailById(); + // that.setData({ + // wxCode: that.data.wxCode + // }) + wx.setStorageSync({ + key: "storeJobId", + data: query.storeJobId, + }); + + let agencyUserId = query.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + }, + backIndex(){ + wx.switchTab({ + url: '../index/index', + }) + }, + searchAnimate() { + let that = this; + wx.createSelectorQuery() + .select("#listBox") + .fields( + { + scrollOffset: true, + size: true, + }, + (res) => { + this.animate( + ".navigatorBar", + [ + { + opacity: 0 + }, + { + opacity: 1 + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 120, + } + ); + this.animate( + ".noBack", + [ + { + opacity: 1 + }, + { + opacity: 0 + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 1, + } + ); + + } + ) + .exec(); + }, + + + + getAgencyInfo(job) { + var that = this; + console.log(job); + console.log("打印基本信息"); + + let objAgency = { + returnFeeDesp: job.returnFeeDesp, + returnFeeType: job.returnFeeType, + transferFee: job.transferFee, + returnFee: job.returnFee != null ? new Number(job.returnFee).toFixed(2) : null, + }; + let agencyStr = ""; + if (app.isNotEmptyCheck(job.transferFee)) { + agencyStr = "伯才利润:" + job.transferFee + ";"; + } + if (job.returnFeeType == 0) { + agencyStr += `\n服务费:xxx元/时`; + } else if (job.returnFeeType == 1) { + agencyStr += `\n服务费:xxx元/天`; + } else if (job.returnFeeType == 2) { + agencyStr += `\n服务费:xxx元/月`; + } else if (job.returnFeeType == 3) { + agencyStr += `\n服务费:xxx元/次`; + } + if (objAgency.returnFee > 0) { + agencyStr = agencyStr.replace("xxx", objAgency.returnFee); + } else if (app.isNotEmptyCheck(job.transferFee)) { + agencyStr = "伯才利润:" + job.transferFee + ";"; + } else { + agencyStr = "-"; + } + if (app.isEmptyCheck(objAgency.returnFeeDesp)) { + // return agencyStr + that.setData({ + bclr: agencyStr, + }); + } else { + that.setData({ + bclr: agencyStr + "\n" + objAgency.returnFeeDesp, + }); + // return agencyStr + '\n' + objAgency.returnFeeDesp; + } + }, + toMapChoice(e) { + var that = this; + console.log(e); + try { + wx.setStorageSync("onSiteRemark", that.data.onSiteRemark); + wx.setStorageSync("addressList", e.currentTarget.dataset.address); + } catch (error) { + console.log(error); + } + wx.navigateTo({ + url: "../mine/addressPage/index", + }); + }, + // openMap(e) { + // wx.showLoading({ + // title: "加载中", + // }); + // console.log(e); + // let address = e.currentTarget.dataset.address; + // let lat = e.currentTarget.dataset.lat; + // var formatted_addresses = ""; + // qqmapsdk.reverseGeocoder({ + // location: `${e.currentTarget.dataset.lat},${e.currentTarget.dataset.lng}`, + // success: function (res) { + // console.log(res); + // formatted_addresses = res.result.formatted_addresses.recommend; + // }, + // }); + // console.log(formatted_addresses); + // console.log(lat); + // wx.getLocation({ + // type: "gcj02", //返回可以用于wx.openLocation的经纬度 + // success(res) { + // wx.openLocation({ + // latitude: e.currentTarget.dataset.lat - 0, + // longitude: e.currentTarget.dataset.lng - 0, + // name: formatted_addresses, + // address: address, + // scale: 8, + // }); + // }, + // complete(res) { + // wx.hideLoading(); + // console.log(1123213); + // }, + // }); + // }, + changeMenu(e) { + let currentIndex = parseInt(e.currentTarget.dataset.id); + this.setData({ + currIndex: e.currentTarget.dataset.id, + }); + }, + getLocation() { + var that = this; + + wx.getSetting({ + success: (res) => { + console.log(res); // res.authSetting.location + + if (res.authSetting.location) { + wx.getLocation({ + success(res1) { + console.log("获取位置"); + console.log(res1); + + if (app.isNotEmptyCheck(res1.latitude) && app.isNotEmptyCheck(res1.longitude)) { + that.data.searchForm.lat = res1.latitude; + that.data.searchForm.lng = res1.longitude; + } + + that.getStoreJobDetailById(); + }, + + fail() { + that.getStoreJobDetailById(); + }, + }); + } else { + that.getStoreJobDetailById(); + } + }, + }); // my.getLocation({ + // success(res) { + // my.hideLoading(); + // console.log(res) + // that.data.searchForm.lng = res.longitude; + // that.data.searchForm.lat = res.latitude; + // that.getStoreJobDetailById(); + // }, + // fail() { + // my.hideLoading(); + // that.getStoreJobDetailById(); + // }, + // }) + }, + // onShareAppMessage1: function () { + // var path = commonUtil.getCurrentPageUrlWithArgs(); + // if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + // //当前用户是代理人 + // path += "&agencyUserId=" + app.globalData.loginUserInfo.id; + // } + // var that = this; + // // const promise = new Promise(resolve => { + // // that.widget.renderToCanvas({ wxml:wxml(that.data.jobDetail), style }).then(res1 => { + // // const p2 = that.widget.canvasToTempFilePath() + // // p2.then(res => { + // // console.log(res); + // // resolve({ + // // title:that.data.shareTitle, + // // imageUrl: res.tempFilePath, + // // }) + + // // }) + + // // }); + // // }); + // return this.getCanvas().then(()=>{ + // return { + // title: that.data.shareTitle, + // imageUrl: that.data.canvasImg, + // path: path, + // // promise + // }; + // }) + + // }, + getCanvas() { + const that = this; + return new Promise((resolve) => { + var mycenter = 0; //文字左右居中显示 + var myheight = 0; //文字高度 + const query = wx.createSelectorQuery(); + query + .select("#canvasId") + .fields({ node: true, size: true }) + .exec((res) => { + console.log(res); + const canvas = res[0].node; + const ctx = canvas.getContext("2d"); + new Promise(function (resolve) { + // 绘制背景图片 + wx.getImageInfo({ + src: that.data.img, //网络图片,如果不行请换一个 + success(res) { + console.log(res); + var width = res.width; + var height = res.height; + mycenter = width / 2; + myheight = height; + canvas.width = width; + canvas.height = height; + const img = canvas.createImage(); + console.log(ctx); + img.src = res.path; + img.onload = () => { + ctx.drawImage(img, 0, 0, width, height); + resolve(true); + }; + }, + }); + }) + .then(() => { + ctx.font = "500 70px Arial"; + ctx.textAlign = "left"; + // ctx.fillStyle = "#333"; + ctx.fillStyle = "#fff"; + // console.log(that.data.factoryBill.totalSalary.toString().length); + // let steNumber = that.data.factoryBill.totalSalary.toString().length + // ctx.fillRect(40, 168, steNumber * 30, 72); + ctx.fillText("职位详情", 40, 210); + }) + .then(function () { + wx.canvasToTempFilePath({ + canvas: canvas, + success(res) { + console.log(res); + that.setData({ + canvasImg: res.tempFilePath, + // base64: canvas.toDataURL(), + }); + resolve(); + // console.log(that.data.canvasImg); + }, + }); + }) + .catch((err) => {}); + }); + }); + }, + // onShareTimeline: function () { + // return { + // title: this.data.shareTitle, + // query: "?storeJobId=" + this.data.storeJobId, + // }; + // }, + getCanvas() { + const that = this; + + return new Promise((resolve) => { + var mycenter = 0; //文字左右居中显示 + var myheight = 0; //文字高度 + const query = wx.createSelectorQuery(); + query + .select("#canvasId") + .fields({ node: true, size: true }) + .exec((res) => { + console.log(res); + const canvas = res[0].node; + const ctx = canvas.getContext("2d"); + new Promise(function (resolve) { + // 绘制背景图片 + wx.getImageInfo({ + src: that.data.shareDetailImg, //网络图片,如果不行请换一个 + success(res) { + console.log(res); + var width = res.width; + var height = res.height; + mycenter = width / 2; + myheight = height; + canvas.width = width; + canvas.height = height; + const img = canvas.createImage(); + console.log(ctx); + img.src = res.path; + img.onload = () => { + ctx.drawImage(img, 0, 0, width, height); + resolve(true); + }; + }, + }); + }).then(() => { + console.log(530); + const fillTextLineBreak = (ctx, text, x, y, lw, lh, color = "#333", font = "32", weight = "500") => { + var i = 0; + var n = 0; + var r = -1; + var initHeight = 0; + ctx.font = weight + " " + font + "px Arial"; //字体大小 + ctx.fillStyle = color; //字体颜色 + while (i < text.length) { + while (ctx.measureText(text.substring(n, i)).width < lw && i < text.length) { + i++; + } + r++; + ctx.fillText(text.substring(n, i), x, y + lh * r); + n = i; + } + initHeight = lh * r; + // wx.setStorageSync("initHeight", initHeight); + }; + const roundRect = (ctx, img, bg_x, bg_y, bg_w, bg_h, bg_r) => { + // 开始绘制 + ctx.save(); + ctx.beginPath(); + ctx.arc(bg_x + bg_r, bg_y + bg_r, bg_r, Math.PI, Math.PI * 1.5); + ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_r, bg_r, Math.PI * 1.5, Math.PI * 2); + ctx.arc(bg_x + bg_w - bg_r, bg_y + bg_h - bg_r, bg_r, 0, Math.PI * 0.5); + ctx.arc(bg_x + bg_r, bg_y + bg_h - bg_r, bg_r, Math.PI * 0.5, Math.PI); + ctx.clip(); + ctx.drawImage(img, bg_x, bg_y, bg_w, bg_h); + // 恢复之前保存的绘图上下文 + ctx.restore(); + }; + const roundRect_yuan = (ctx, x, y, size) => { + // 开始绘制 + ctx.save(); // 保存 + ctx.beginPath(); // 开始绘制 + // ctx.arc(100, 75, 50, 0, 2 * Math.PI) + ctx.arc(size / 2 + x, size / 2 + y, size / 2, 0, Math.PI * 2, false); + ctx.clip(); + // 恢复之前保存的绘图上下文 + ctx.restore(); + }; + function roundRect1(ctx, x, y, w, h, r, color) { + //绘制圆角矩形(无填充色)) + ctx.save(); + ctx.fillStyle = color; + ctx.strokeStyle = color; + ctx.lineJoin = "round"; //交点设置成圆角 + ctx.lineWidth = r; + ctx.strokeRect(x + r / 2, y + r / 2, w - r, h - r); + ctx.fillRect(x + r, y + r, w - r * 2, h - r * 2); + ctx.stroke(); + ctx.closePath(); + } + //使用: + new Promise((imgres) => { + // that.data.checkedList.forEach((item, index) => { + console.log(587); + let labelLeft = 0; + // ctx.arcTo() + let baseTop, logoLeft, logoSize, titleSize, ageTop, salaryClassifyValueLeft, salaryClassifyValueTop, monthlyPaySize, position, markTop, roundRectHeight; + logoLeft = 56 * 2; + let baseMiddle = 248 * 2; + // if (that.data.checkedList.length == 1) { + baseTop = 2 * 370; + logoSize = 2 * 96; + titleSize = 2 * 36; + roundRectHeight = 2 * 260; + ageTop = 2 * 110; + salaryClassifyValueLeft = 2 * 176; + salaryClassifyValueTop = 2 * 54; + monthlyPaySize = 2 * 28; + markTop = 2 * 145; + console.log(603); + + // } + // else { + // baseTop = 2 * 294; + // logoSize = 2 * 80; + // titleSize = 2 * 32; + // roundRectHeight = 2 * 226; + // ageTop = 2 * 88; + // salaryClassifyValueLeft = 2 * 156; + // salaryClassifyValueTop = 2 * 48; + // monthlyPaySize = 2 * 24; + // markTop = 2 * 115; + // } + roundRect1(ctx, 24 * 2, baseTop - 100, 1104, roundRectHeight, 32, "#fff"); + console.log(that.data.jobDetail.store); + + that.data.jobDetail.storeJob.jobSpecialLabelNames.forEach((item1, index) => { + // console.log(item1); + // console.log(ctx.measureText(item1).width); + if (index <= 2) { + fillTextLineBreak(ctx, item1, 60 * 2 + labelLeft, baseTop + markTop + 30 * 2, 400 * 2, 20, "#333", monthlyPaySize); // 标签字符 + roundRect1(ctx, 52 * 2 + labelLeft, baseTop + markTop, ctx.measureText(item1).width + 16 * 2, 40 * 2, 32 * 2, "#00000008"); + labelLeft += ctx.measureText(item1).width + 32 * 2; + } + }); + console.log(that.data.jobDetail.store); + console.log(that.data.jobDetail); + + fillTextLineBreak(ctx, that.data.jobDetail.store.aliasName, logoLeft, baseTop, 500 * 2, 20, "#333", titleSize, "600"); // 岗位标题 + console.log(630); + fillTextLineBreak(ctx, that.data.jobDetail.storeJob.hourlyPay, salaryClassifyValueLeft, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", titleSize, "600"); // 时薪 + fillTextLineBreak(ctx, that.data.jobDetail.storeJob.monthlyPay, salaryClassifyValueLeft + ctx.measureText(that.data.jobDetail.storeJob.monthlyPay).width, baseTop + salaryClassifyValueTop, 400 * 2, 20, "#ff4400", monthlyPaySize, "400"); // 月工资 + fillTextLineBreak(ctx, that.data.jobDetail.store.districtStr + "丨", salaryClassifyValueLeft, baseTop + ageTop, 300 * 2, 20, "#333", monthlyPaySize); // 省市年龄 + fillTextLineBreak(ctx, that.data.jobDetail.storeJob.age, salaryClassifyValueLeft + ctx.measureText(that.data.jobDetail.store.districtStr + "丨").width, baseTop + ageTop, 300 * 2, 20, "#333", monthlyPaySize); // 省市年龄 + // let src + // src = that.data.jobDetail.store.logo.indexOf("https") > -1 ? that.data.jobDetail.store.logo : that.data.jobDetail.store.logo.replace("http", "https") + console.log(that.data.jobDetail.store.logo); + wx.downloadFile({ + url: that.data.jobDetail.store.logo, //网络图片,如果不行请换一个 + success(res) { + console.log(res); + const img = canvas.createImage(); + img.src = res.tempFilePath; + img.onload = () => { + roundRect(ctx, img, logoLeft, baseTop + 40, logoSize, logoSize, 8); + // if (index == that.data.checkedList.length - 1) { + setTimeout(() => { + imgres(); + }, 200); + // } + }; + }, + fail(err){ + console.log(err); + } + }); + // }); + // setTimeout(() => { + // },500); + }) + .then(function () { + wx.canvasToTempFilePath({ + canvas: canvas, + success(res) { + console.log(res); + that.setData({ + canvasImg: res.tempFilePath, + }); + resolve(res); + }, + fail(res) { + wx.hideLoading(); + + wx.showToast({ + title: res.errMsg, + icon: "error", + }); + }, + }); + }) + .catch((err) => { + console.log(err); + }); + }); + }); + }); + }, + /** + * 分享海报生成海报图并转发 + * + * + */ + sharePoster() { + wx.showLoading({ + title: "生成中...", + }); + this.getCanvas().then((res) => { + console.log(res); + wx.hideLoading(); + this.setData({ + posterImg: res.tempFilePath, + posterShow: true, + }); + }); + // this.setData({ + // }); + }, + hidePoster() { + this.setData({ + posterShow: false, + }); + }, + saveToalbum() { + let that = this; + wx.saveImageToPhotosAlbum({ + filePath: that.data.posterImg, + success(res) { + console.log(res); + if (res.errMsg == "saveImageToPhotosAlbum:ok") { + wx.showToast({ + title: "图片已保存", + icon: "none", + duration: 1500, + }); + } + }, + fail(res) { + console.log(res); + wx.showToast({ + title: "图片保存失败", + icon: "none", + duration: 1500, + }); + }, + }); + }, + goBack(){ + if(this.data.fromScene){ + wx.switchTab({ + url: '../index/index', + }) + }else{ + wx.navigateBack({ + delta: -1, + }) + } + }, + getStoreJobDetailById() { + var that = this; + wx.showLoading({ + title: "加载中...", + }); + wx.request({ + // url: app.globalData.ip + "/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId, + url: app.globalData.ip + "/overall/store/job/getStoreJobDetailById?storeJobId=" + that.data.searchForm.storeJobId, + method: "POST", + header: app.globalData.headers, + data: that.data.searchForm, + success: function (res) { + console.log(res); + if (res.data.status == 200) { + var result = res.data.data; + var title = result.storeJob.jobName; + // var title1 = result.store.aliasName; + // that.data.logo2 + // wx.setStorageSync({ + // key: "onSiteRemark", + // data: result.storeJob.onSiteRemark, + // }) + + that.setData({ + shareTitle: title, + onSiteRemark: result.storeJob.onSiteRemark, + }); + + let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + res.data.data.storeImage.forEach((item) => { + item.isImg = regs.test(item.url.toLowerCase()); + }); + result.storeJob.genderRestrict = commonUtil.getGenderByMinAge(result.storeJob); + if (app.isNotEmptyCheck(title)) { + title = result.storeJob.jobName; + } else { + title = result.store.aliasName; + } + + wx.setNavigationBarTitle({ + title, + }); + + result.storeJob.workType = commonUtil.getWorkTypeById(result.storeJob.workTypeMulti); + + if (app.isNotEmptyCheck(result.storeJob.calculationSalaryType)) { + result.storeJob.calculationSalaryType = result.storeJob.calculationSalaryType.split("#")[0]; + } + if (app.isNotEmptyCheck(result.storeJob.jobDesp)) { + result.storeJob.jobDesp = result.storeJob.jobDesp.replaceAll("*****", "").split("————————")[0]; + result.storeJob["jobDesp1"] = result.storeJob.jobDesp.replace("⚠", ""); + result.storeJob["jobDesp1"] = result.storeJob.jobDesp1.replace("[红包]", ""); + } + + if (app.isNotEmptyCheck(result.storeJob.paymentSalaryType)) { + result.storeJob.paymentSalaryType = result.storeJob.paymentSalaryType.split(","); + } + + if (app.isNotEmptyCheck(result.storeJob.salaryDesp)) { + result.storeJob.salaryDesp = result.storeJob.salaryDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.workDurationDesp)) { + result.storeJob.workDurationDesp = result.storeJob.workDurationDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.probationDesp)) { + result.storeJob.probationDesp = result.storeJob.probationDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.workingLunchDesp)) { + result.storeJob.workingLunchDesp = result.storeJob.workingLunchDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.dormitoryDesp)) { + result.storeJob.dormitoryDesp = result.storeJob.dormitoryDesp.split(";"); + } + + if (app.isNotEmptyCheck(result.storeJob.foregift)) { + result.storeJob.foregift = result.storeJob.foregift.split(";"); + var arrTemp = []; + result.storeJob.foregift.forEach((item) => { + var arr = item.split(","); + + if (app.length > 0) { + arrTemp.push({ + item0: arr[0].split("#")[0], + item1: arr[1].split("#")[0], + }); + } + }); + result.storeJob.foregift = arrTemp; + } else { + result.storeJob.foregift = "无押金"; + } + + result.store.distance = commonUtil.getDistanceName(result.store.distance); + if (app.isNotEmptyCheck(result.store.distance)) { + result.store.distance = "丨" + result.store.distance; + } + + /*if (app.isNotEmptyCheck(result.store.district)) { + var tempArr = result.store.district.split(","); + + if (tempArr.length == 1) { + result.store.district = tempArr[0]; + } else if (tempArr.length == 2) { + result.store.district = tempArr[0] + "" + tempArr[1]; + } else if (tempArr.length > 2) { + result.store.district = tempArr[1] + "" + tempArr[2]; + } + }*/ + // getStoreAddress + + that.disposeJobListData(result); + if (app.isNotEmptyCheck(result.store.logo)) { + result["logo2"] = result.store.logo.replace("http:", "https:"); + result.store.logo.indexOf("https") > -1 ? result.store.logo : result.store.logo.replace("http", "https") + } else { + result["logo2"] = ""; + } + // console.log(commonUtil.getReturnFeeTypeName1ById(result.storeJob.returnFeeType, result.storeJob.returnFee)); + console.log("isout"); + if (app.isNotEmptyCheck(result.storeJob.returnFeeType) || result.storeJob.returnFeeType == "0" || result.storeJob.returnFee == "0") { + that.setData({ + fuWuFei: commonUtil.getReturnFeeTypeName1ById(result.storeJob.returnFeeType, result.storeJob.returnFee), + }); + } + // else if (result.storeJob.returnFeeType == 7) { + // that.setData({ + // fuWuFei: commonUtil.getReturnFeeTypeNameById(result.storeJob.returnFeeType), + // }); + // } + else { + that.setData({ + fuWuFei: "-", + }); + } + + console.log(result); + console.log(commonUtil); + let citys = commonUtil.setJobInfoPosition(result.store.district); + // city = city.replace(/,/g, " | ") + result.storeImage.splice(0,1) + + + + that.setData({ + jobDetail: result, + isMaskShow: !(result.storeJob.recruitment == "1"), + citys: citys || "-", + addressNew: result.store.district.replace(/,/g, "") + result.store.detailPosition, + }); + that.data.jobDetail.storeJob["storeName"] = that.data.jobDetail.store.storeName; + + that.showSexAge(); + + // that.getAgencyInfo(res.data.data.storeJob); + + if (app.isEmptyCheck(res.data.data.storeJob.handoverInfo)) { + that.setData({ + djxx: "暂无对接信息", + }); + } else { + that.setData({ + djxx: res.data.data.storeJob.handoverInfo, + }); + } + console.log(that.data.jobDetail); + } + wx.hideLoading(); + }, + }); + }, + + showSexAge() { + var that = this; + var manStr = ""; + var womanStr = ""; + + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeMan) || app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeMan)) { + manStr = "男 "; + } + + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeMan)) { + manStr = manStr + that.data.jobDetail.storeJob.minAgeMan; + } + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeMan)) { + manStr = manStr + "-" + that.data.jobDetail.storeJob.maxAgeMan; + } + + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeWoman) || app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeWoman)) { + womanStr = "女 "; + } + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.minAgeWoman)) { + womanStr = womanStr + that.data.jobDetail.storeJob.minAgeWoman; + } + if (app.isNotEmptyCheck(that.data.jobDetail.storeJob.maxAgeWoman)) { + womanStr = womanStr + "-" + that.data.jobDetail.storeJob.maxAgeWoman; + } + + if (womanStr != "") { + manStr = manStr + `${manStr == "" ? "" : ";"}` + womanStr; + } + + that.setData({ + showSexAgeText: manStr, + }); + }, + /** + * 处理后台返回的职位列表 + */ + disposeJobListData(jobDetail) { + var that = this; + + // item["workType"] = commonUtil.getWorkTypeById( + // item.workTypeMulti + // ); + + // if (app.isNotEmptyCheck(item.distance)) { + // item["distanceKm"] = commonUtil.getDistanceName( + // item.distance + // ); + // } + //年龄 + var ageStr = ""; + if (app.isNotEmptyCheck(jobDetail.storeJob.minAge) && app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) { + ageStr = jobDetail.storeJob.minAge + "-" + jobDetail.storeJob.maxAge + "岁"; + } else if (app.isNotEmptyCheck(jobDetail.storeJob.minAge)) { + ageStr = jobDetail.storeJob.minAge + "岁以上"; + } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxAge)) { + ageStr = jobDetail.storeJob.maxAge + "岁以下"; + } + jobDetail.storeJob["age"] = ageStr; + //时薪 + // var hourlyPayStr = ""; + var hasHourlyPay = true; + console.log(jobDetail.storeJob); + // if (app.isNotEmptyCheck(jobDetail.storeJob.hourlyPay)) { + // hourlyPayStr = jobDetail.storeJob.hourlyPay + "元/小时"; + // hasHourlyPay = true; + // } else if (app.isNotEmptyCheck(jobDetail.storeJob.dayPay)) { + // hourlyPayStr = jobDetail.storeJob.dayPay + "元/日"; + // hasHourlyPay = true; + // } else { + // if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + // if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) { + // hourlyPayStr = jobDetail.storeJob.minMonthlyPay; + // } else { + // hourlyPayStr = jobDetail.storeJob.minMonthlyPay + "-" + jobDetail.storeJob.maxMonthlyPay; + // } + // } else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) { + // hourlyPayStr = jobDetail.storeJob.minMonthlyPay; + // } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + // hourlyPayStr = jobDetail.storeJob.maxMonthlyPay; + // } + // } + // if (app.isNotEmptyCheck(jobDetail.storeJob.dayPay)){ + + // } + // if (app.isNotEmptyCheck(jobDetail.storeJob.salaryClassify) && app.isNotEmptyCheck(jobDetail.storeJob.salaryClassifyValue)) { + + jobDetail.storeJob["hourlyPay"] = commonUtil.getSalaryClassifyValue(jobDetail.storeJob.salaryClassify, jobDetail.storeJob.salaryClassifyValue); + // } + //月薪 + var monthlyPayStr = ""; + if (hasHourlyPay) { + if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay) && app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + if (jobDetail.storeJob.minMonthlyPay == jobDetail.storeJob.maxMonthlyPay) { + monthlyPayStr = jobDetail.storeJob.minMonthlyPay; + } else { + monthlyPayStr = jobDetail.storeJob.minMonthlyPay + "-" + jobDetail.storeJob.maxMonthlyPay; + } + } else if (app.isNotEmptyCheck(jobDetail.storeJob.minMonthlyPay)) { + monthlyPayStr = jobDetail.storeJob.minMonthlyPay; + } else if (app.isNotEmptyCheck(jobDetail.storeJob.maxMonthlyPay)) { + monthlyPayStr = jobDetail.storeJob.maxMonthlyPay; + } + } + jobDetail.storeJob["monthlyPay"] = monthlyPayStr; + //地址深圳丨龙岗区丨 + var districtStr = ""; + if (app.isNotEmptyCheck(jobDetail.store.district)) { + var districtArr = jobDetail.store.district.split(","); + if (districtArr.length < 3) { + districtStr = districtArr[districtArr.length - 1]; + } else { + districtStr = districtArr[1] + "丨" + districtArr[2]; + } + //districtStr = districtArr[1] + '丨' + districtArr[2]; + } + jobDetail.store["districtStr"] = districtStr; + jobDetail.storeJob["districtDetail"] = commonUtil.getStoreAddress(jobDetail.storeJob.district, jobDetail.storeJob.detailPosition); + //职位特色 + if (app.isNotEmptyCheck(jobDetail.storeJob.jobSpecialLabelNames)) { + jobDetail.storeJob["jobSpecialLabelNames"] = that.getJobSpecialLabelNamesArray(jobDetail.storeJob.jobSpecialLabelNames); + } + // if (app.isNotEmptyCheck(jobDetail.storeJob.jobRequestLabelNames)) { + // jobDetail.storeJob['jobRequestLabelNames'] = that.getJobRequestLabelNamesArray(jobDetail.storeJob.jobRequestLabelNames); + // } + }, + getJobSpecialLabelNamesArray(jobSpecialLabelNames) { + if (app.isNotEmptyCheck(jobSpecialLabelNames)) { + return jobSpecialLabelNames.split(", "); + } + return []; + }, + getJobRequestLabelNamesArray(jobRequestLabelNames) { + console.log(jobRequestLabelNames); + if (app.isNotEmptyCheck(jobRequestLabelNames)) { + return jobRequestLabelNames.split(", "); + } + return []; + }, + goSimilar() { + var that = this; + + console.log(that.data.jobDetail); + console.log(that.data.jobDetail.storeJob.jobLabelId); + + wx.navigateTo({ + url: "../similar/index?brandId=" + that.data.jobDetail.store.brandId + "&jobLabelId=" + that.data.jobDetail.storeJob.jobLabelId + "&classify=99", + }); + }, + + makePhoneCall() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + // var that = this; + + // let res = wx.getStorageSync({ + // key: "assistantUserTel" + // }); + + // console.log(res); + // console.log("缓存获取电话号:" + res.data); + + // if (app.isNotEmptyCheck(res.data)) { + // wx.makePhoneCall({ + // number: res.data + // }); + // } else { + // wx.request({ + // url: app.globalData.ip + "/store/job/getOneAssistantUser", + // method: "POST", + // header: app.globalData.headers, + // data: {}, + // success: function (res) { + // console.log(res.data.data.tel); + + // wx.setStorageSync({ + // key: "assistantUserTel", + // data: res.data.data.tel + // }); + + // wx.makePhoneCall({ + // number: res.data.data.tel + "" + // }); + // } + // }); + // } + }, + textPaste() { + var that = this; + wx.setClipboardData({ + // data: that.data.jobDetail.assistantUserWechat, + data: "16619732648", + success: function (res) { + wx.getClipboardData({ + success: function (res) { + wx.showToast({ + icon: "none", + title: "已复制微信号,快去添加好友吧", + duration: 0, + }); + wx.showModal({ + title: "已复制微信号", + content: "快去搜索添加经纪人好友吧", + showCancel: false, + success(res) { + if (res.confirm) { + console.log("用户点击确定"); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + + console.log(res.data); // data + }, + }); + }, + }); + }, + /*collectPaste() { + var txt; + var that = this; + if(!this.data.isCollect){ + that.setData({ + isCollect: true + }) + txt = '收藏成功' + }else{ + that.setData({ + isCollect: false + }) + txt = '取消收藏' + } + wx.showToast({ + icon: "none", + title: txt, + }) + + },*/ + + goNewEnroll(e) { + let that = this; + + let argument; + argument = JSON.stringify(that.data.jobDetail.storeJob).replace(/\=|\&/g, "3D"); + + if (!app.globalData.isLogin) { + wx.setStorageSync("comeFromPage", "detailBaoming"); + wx.setStorageSync("baomingDetail",argument); + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + // }); + }, + emptyMethod() {}, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + console.log(that.data.jobDetail.storeJob); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.jobDetail.storeJob, + });*/ + wx.setStorageSync("jobDetailStorage", that.data.jobDetail.storeJob); + // console.log(e); + // console.log(e.detail.errMsg) + console.log(e.detail.iv); + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + + console.log(that.data.isAgency); + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + /*wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + });*/ + promise.then((res) => { + let argument; + argument = JSON.stringify(that.data.jobDetail.storeJob).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + promise.then(() => { + console.log(app.globalData.loginUserInfo.agencyStatus); + that.setData({ + isAgency: app.globalData.loginUserInfo.agencyStatus == 1 ? true : false, + }); + }); + // wx.navigateTo({ + // url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + // }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(that.data.jobDetail.storeJob).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + promise.then(() => { + console.log(app.globalData.loginUserInfo.agencyStatus); + that.setData({ + isAgency: app.globalData.loginUserInfo.agencyStatus == 1 ? true : false, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "detail"); + wx.setStorageSync("comeFromPageParam", { storeJobId: that.data.searchForm.storeJobId }); + } catch (e) { + console.log("detail-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + setCopy(e) { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + wx.setClipboardData({ + data: e.currentTarget.dataset.content + contentInfo, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.setStorageSync("comeFromPage", "detail"); + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + // console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + that.data.jobDetail.storeJob.collected = 2; + txt = "取消收藏"; + } else { + //收藏 + that.data.jobDetail.storeJob.collected = 1; + txt = "收藏成功"; + } + + that.setData({ + jobDetail: that.data.jobDetail, + isLogin: app.globalData.isLogin, + }); + console.log(that.data.jobDetail); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + toggleprice(type) { + console.log(type); + if (type.target.dataset.index == 1) { + this.setData({ + isServicePriceShow: false, + }); + } else { + this.setData({ + isServicePriceShow: true, + }); + } + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + showTobe() { + this.setData({ + iosDialogTobe: true, + }); + }, + closeTobe() { + this.setData({ + iosDialogTobe: false, + }); + }, +}); diff --git a/pages/detail/index.json b/pages/detail/index.json new file mode 100644 index 0000000..5b28bc4 --- /dev/null +++ b/pages/detail/index.json @@ -0,0 +1,3 @@ +{ + "navigationStyle":"custom" +} \ No newline at end of file diff --git a/pages/detail/index.wxml b/pages/detail/index.wxml new file mode 100644 index 0000000..f072c08 --- /dev/null +++ b/pages/detail/index.wxml @@ -0,0 +1,496 @@ + + + + + {{jobDetail.storeJob.jobName}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{jobDetail.storeJob.jobName}} + + + + + + + + + {{citys}}{{jobDetail.store.distance}} + + + + + {{jobDetail.storeJob.genderRestrict}} + 丨{{jobDetail.storeJob.age}} + + + + + + + + {{jobDetail.storeJob.hourlyPay || '--'}} + + + + {{jobDetail.storeJob.monthlyPay || '--'}} + + + + + + + + {{item1}} + + + {{item1}} + + + + + + + + {{jobDetail.poses.store.posContent ? jobDetail.poses.store.posContent :'暂无地址信息'}} + + + + + + + + + 温馨提示 + {{jobDetail.storeJob.notes}} + + 薪资待遇 + + + 薪资明细 + {{jobDetail.storeJob.salaryDetail}} + + + 薪资发放 + {{jobDetail.storeJob.payDay}} + + + 银行卡 + {{jobDetail.storeJob.bankInfo}} + + + 押金 + {{jobDetail.storeJob.mealCardDeposit}} + + + 培训 + {{jobDetail.storeJob.training}} + + + 试用期 + {{jobDetail.storeJob.probation}} + + + 福利待遇 + {{jobDetail.storeJob.boon}} + + + 薪资说明 + {{jobDetail.storeJob.salaryDesp}} + + + 招聘要求 + + + 性别年龄 + {{showSexAgeText}} + + + 文化学历 + {{jobDetail.storeJob.education}} + + + + + + 证件 + {{jobDetail.storeJob.idCard}} + + + + 疑难杂症 + {{jobDetail.storeJob.otherRequire}} + + + + 体检 + {{jobDetail.storeJob.healthRequire}} + + + 岗位说明 + + + 工作内容 + {{jobDetail.storeJob.workContent}} + + + 工作方式 + {{jobDetail.storeJob.workMode}} + + + 班次工时 + {{jobDetail.storeJob.workClasses}} + + + 工作衣 + {{jobDetail.storeJob.workClothes}} + + + 车间 + {{jobDetail.storeJob.securityCheck}} + + + 保险 + {{jobDetail.storeJob.employeeInsurance}} + + + 换岗调班 + {{jobDetail.storeJob.otherDesp}} + + + 吃饭住宿 + + + + + + 吃饭 + {{jobDetail.storeJob.workingLunch}} + + + + + + + + + 住宿费用 + {{jobDetail.storeJob.dormitory}} + + + 宿舍设施 + {{jobDetail.storeJob.dormitoryFacilities}} + + + 宿舍距离 + {{jobDetail.storeJob.dormDistance}} + + + + + 入住要求 + {{jobDetail.storeJob.dormitoryDesp}} + + + + + 对接信息 + + + + + + 面试时间 + {{jobDetail.storeJob.interviewDuration}} + + + + + + 面试说明 + {{jobDetail.storeJob.interviewDesp}} + + + 入职说明 + {{jobDetail.storeJob.entryDesp}} + + + 离职说明 + {{jobDetail.storeJob.leaveRequire}} + + + + + + 其它信息 + {{jobDetail.storeJob.OtherInfo}} + + + + + + + 面试 + + + 面试时间 + {{jobDetail.storeJob.interviewDuration}} + + + + + 出行方式 + {{jobDetail.storeJob.tripMode}} + + + + 面试说明 + {{jobDetail.storeJob.interviewDesp}} + + + 入离职 + + + + 入职说明 + {{jobDetail.storeJob.entryDesp}} + + + 入职说明 + {{jobDetail.storeJob.leaveRequire}} + + + 返厂 + {{jobDetail.storeJob.leaveDesp}} + + + + + + 报名须知 + {{jobDetail.storeJob.agencyStatement}} + + + + 财务信息 + + + + + + + + + 服务费详情 + {{jobDetail.storeJob.agencyProfit}} + + + 扣税说明 + {{jobDetail.storeJob.deductTaxDesp}} + + + + 账单日 + (出名单时间) + + {{jobDetail.storeJob.outListTime}} + + + + 结算日 + (结算时间) + + {{jobDetail.storeJob.settlementTime}} + + + 仅代理可见 + + + + + + 复制 + + + {{userInfo.agencyStatus == 1 ? (userInfo.noticeEndStr ? userInfo.noticeEndStr : ('详情咨询:' + userInfo.tel)) : ('详情咨询:' + serviceInfo.aliasName + (serviceInfo.workPhone || '-'))}} + + 以上联系人,可以 + 改成我的 + + + + + + + + + + + + 该职位暂时停招 + + + + + + + + + + + {{jobDetail.storeJob.collected - 1 == 0 ? '已' : ''}}收藏 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/detail/index.wxss b/pages/detail/index.wxss new file mode 100644 index 0000000..435daa0 --- /dev/null +++ b/pages/detail/index.wxss @@ -0,0 +1,565 @@ + .goback { + position: absolute; + color: #000; + left: 0px; + /* top: 40px; */ + /* transform: translateY(-50%); */ + margin-left: 6px; + font-size: 18px; + font-weight: bold; + z-index: 99999; +} +page, +.pb180 { + padding-bottom: 120px; + background-color: #fff; +} +.p14{ + padding: 14px; +} +.mg020 { + margin: 0 20px; +} +.pb10{ + padding-bottom: 10px; +} +.desp-copy { + color: #FF4400; + font-size: 12px; + float: right; + /* top: 11px; + right: 8px; + position: relative; */ + border: 1px solid #FF4400; + border-radius: 25rpx; + padding: 0px 8px; + height: 16px; + line-height: 16px; + + margin-top: 16px; + margin-right: 16px; +} +.jobMoney { + font-size: 18px; + font-weight: 601; + line-height: 20px; +} +.bottomBtn { + position: fixed; + width: 100%; + left: 0; + bottom: 0; + background-color: #fff; + border-top: 1rpx solid rgba(0, 0, 0, 0.1); +} +.bottomBtn > view { + justify-content: start; +} + + +.servicePrice { + border: 1rpx solid var(--color-ysd); + background-color: #ffeee7; + justify-content: space-between; + border-right-color: transparent; + border-left-color: transparent; +} +.servicePrice .left .display-flex { + align-items: center; + line-height: 20px; + margin-bottom: 12px; +} +.servicePrice .left .display-flex .icon-zhuyi { + width: 14px; + height: 20px; + margin-right: 4px; +} +.servicePrice .left .display-flex .iconfont::before { + position: absolute; +} +.servicePrice .right { + display: flex; + align-items: center; + margin-right: 8px; +} +.servicePrice .right .iconfont { + font-size: 24px; +} +.price { + font-size: 18px; + line-height: 20px; + font-weight: bold; +} +.mt3 { + margin-top: 3px; +} +.sharebtn { + padding-right: 0; + margin: 0; + display: inline; + background-color: transparent; + line-height: 1; + float: right; + margin-top: 5px; +} +.ml2 { + margin-left: 2px; +} +.am-button { + margin-top: 0; + margin-bottom: 0; +} + +.activeList { + display: flex; + text-align: center; +} +button::after { + border: 0; +} + +/* .menu { + flex: 1; + line-height: 1.5; + font-size: 16px; + color: rgba(0, 0, 0, 0.65); + border-bottom: 4px solid transparent; +} + +.menu.active { + font-weight: 601; + color: rgba(0, 0, 0, 0.85); + border-bottom: 4px solid #FE633F; +} */ +/* .icon-wode-shoucang{ + color: #787878 !important; +} +.icon-shoucang-red{ + color: #FF6A00 !important; +} */ +.scrollImgBox { + position: relative; + border-radius: 4px; + width: 60px; + height: 60px; + margin: 12px 5px; + overflow: hidden; +} +.scrollImg,swiper,.theVideo { + width: 100vw; + height: calc(100vw * 281 / 375); + /* position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%,-50%); */ + /* margin: 0; + /* margin-top: 16px; */ +} + +.show { + display: show; +} +.hide { + display: none; +} + +.scroll-header { + display: flex; + white-space: nowrap; +} + +.scroll-header view { + display: inline-block; +} +.scroll-header video { + width: 100%; + height: 100%; + border-radius: 8px; +} +.scroll-header image:first-child { + margin-left: 0px; +} +.bottomBtn .flex-1 { + flex: 1; +} +.bottomBtn .flex-3 { + flex: 1; +} +button.loginOut { + width: 136px; + line-height: 36px; + height: 36px; + margin-right:16px; + margin-left: 0; + background-color: var(--color-ysd); +} +.wxBtn { + background-color: #fff !important; + color: var(--color-ysd); + border: 1px solid var(--color-ysd); +} +.loginBtnHov{ + background-color: var(--color-ysd) !important; + color: #fff !important; +} +.bottomBox{ + /* padding-bottom: 16px; */ +} +.button-hover[type="primary"] { + color: #ffffff; + /* opacity: 0.8; */ + background-color: #fc7617; +} +.flex-1.f14.c085 { + /* white-space: pre-wrap; */ + /* white-space: pre-line; */ + font-size: 17px; + line-height: 28px; +} +button.collectBtn { + margin: 0; + padding: 0; + line-height: 1.4; + padding: 0; + background-color: #fff; + /* text-align: left; */ + /* background-color: #fff; */ +} +.tagsLi { + height: 20px; + font-size: 14px; + font-weight: 400; + margin-right: 8px; + margin-bottom: 0; + color: #888; + line-height: 18px; + padding: 0px 4px; +} +.t-icon-ziying1 { + background-repeat: no-repeat; + display: inline-block; + width: 32px; + height: 20px; + margin-right: 6px; +} +.dName { + font-size: 16px; + font-weight: 601; + color: #262626; + line-height: 22px; +} +.dsName { + font-size: 12px; + font-weight: 400; + color: #8c8c8c; + line-height: 17px; +} +.ava { + width: 48px; + height: 48px; + border-radius: 50%; + margin-right: 14px; +} +.f25 { + font-size: 25px; +} +.p20-0 { + padding: 20px 0; + margin-bottom: 20px; +} +.p020 { + padding: 0 20px; +} +.dianhua { + color: #787878; +} +.achover .dianhua { + color: #999; +} +.storeTitle { + font-size: 18px; + font-weight: 601; + color: #262626; + line-height: 25px; + /* margin-bottom: 10px; */ +} +.storeInfo { + font-size: 15px; + font-weight: 400; + color: #939393; + line-height: 21px; + white-space: pre-line; +} +.address { + font-size: 15px; + font-weight: 400; + color: #787878; + line-height: 21px; + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.btext { + font-size: 11px; + font-weight: 400; + color: #444444; + line-height: 16px; + margin-top: 2px; +} +.flex-3 { + flex: 3; +} +.noShow { + position: absolute; + top: -9999px; +} +.onMune { + font-size: 16px; + flex: inherit; +} +.topMenu { + justify-content: space-around; + padding: 0; +} +.topMenu > view { + padding: 12px 0; +} +.onMune.active { + position: relative; + font-size: 16px; + font-weight: 500; + text-align: center; +} +.onMune.active:after { + display: block; + content: ""; + width: 20px; + height: 3px; + background-color: var(--color-ysd); + position: absolute; + bottom: 0px; + left: 50%; + transform: translateX(-10px); +} +/* .menuBorder { + display: block; + content: ""; + width: 20px; + height: 3px; + background-color: var(--color-ysd); + position: absolute; + bottom: -8px; + left: 50%; + transform: translateX(-10px); +} */ +.detailH3 { + font-size: 16px; + font-weight: 400; + color: #000; + line-height: 22px; + margin-top: 16px; + margin-bottom: 8px; +} +.pri { + white-space: pre-line; +} +.pri:empty:before, +.textb1:empty:before { + content: "-" !important; + color: #333; +} +.outSp { + border: 1px solid #f3f3f3; + border-radius: 4px; + /* line-height: 56rpx; */ +} +.outSp .display-flex:last-child .rb1, +.outSp .display-flex:last-child .textb1 { + border-bottom: 0; +} +.sbb1 { + border-bottom: 1rpx solid #eee !important; +} +.tabBox .display-flex { + flex-wrap: wrap; +} +.tabBox .display-flex > view { + margin-bottom: 8px; +} +.rb1 { + font-size: 14px; + color: #666; + text-align: center; + width: 60px; + border-right: 1px solid #f3f3f3; + border-bottom: 1px solid #f3f3f3; + display: flex; + align-items: center; + justify-content: flex-start; + padding: 0 8px; +} +.textb1 { + white-space: pre-line; + color: #000; + border-bottom: 1px solid #f3f3f3; + padding: 0 8px; + flex: 1; + line-height: 1.8; + padding-top: 3px; +} +.jobMoney { + color: var(--color-ysd); +} +.c633 { + color: var(--color-ysd); +} + +.navigatorBar { + position: relative; + letter-spacing:1px; + /* z-index: 999; */ + /* background-color: var(--color-ysd); */ + padding-bottom: 8px; +} +.navigatorBar { + position: absolute; + letter-spacing:1px; + background-color: #fff; + padding-bottom: 8px; + z-index: 999; + left: 0; + right: 0; +} +.navigatorBar .tabs { + position: relative; + left: 50%; + color: #000; + font-size: 35rpx; + transform: translateX(-50%); + /* justify-content: center; */ + box-sizing: border-box; +} + +.navigatorBar .tabs > view { + flex: 1; + line-height: 26px; + width: 56px; + color: #666; + text-align: center; +} +.mask { + position: fixed; + width: 100vw; + height: 100vh; + background-color: rgba(0, 0, 0, 0.3); + top: 0; + left: 0; + z-index: 99; + pointer-events: none; + /* display: none; */ +} +.norecruit { + position: absolute; + width: 100%; + height: 38px; + line-height: 38px; + top: -38px; + font-size: 14px; + text-align: center; + background-color: #666; + color: #fff; + /* display: none; */ +} +.transparentBtn{ + background-color: transparent !important; + color: #FF4400 !important; +} +.drawerMask { + position: fixed; + z-index: 1000; + top: 0; + right: 0; + left: 0; + bottom: 0; + transition: opacity 0.3s, visibility 0.3s; + background: rgba(0, 0, 0, 0.6); + visibility: hidden; + opacity: 0; +} +.drawerMask.showDrawer { + opacity: 1; + visibility: visible; +} +.drawer.showDrawer { + /* position: relative; */ + border-radius: 8px 8px 0 0; + width: 100vw; + height: 92vh; + /* bottom: -44px; */ + /* padding-bottom: 44px; */ +} +.drawer { + position: fixed; + left: 0; + right: 0; + bottom: 0px; + z-index: 2000; + width: 100vw; + background-color: #fff; + height: 0; + transition: all 0.3s; +} +.showDrawer .title { + padding: 6px 16px; +} +.showDrawer .title { + position: relative; +} +.showDrawer .title .icon-guanbi { + content: ""; + position: absolute; + right: 12px; + top: 0; + /* transform: translate(0%, -50%); */ +} +.showDrawer .content { + height: 100%; + padding-top: 16px; + display: flex; + align-items: start; + justify-content: center; +} +.showDrawer .annunciate { + height: calc(100% - 112px); + overflow: auto; +} +.showDrawer .annunciate .info { + width: 100%; + padding: 12px 22px; + padding-bottom: 120px; + box-sizing: border-box; +} +.showDrawer .footer { + display: flex; + justify-content: space-between; + text-align: center; + align-items: center; + padding-top: 15px; + padding-right: 48px; + padding-left: 48px; + border-top: 1px dashed #cccccc; +} +.drawerBox .bottom { + position: sticky; + bottom: 24px; + width: 100%; + text-align: center; +} +.drawerBox .bottom .loginOut { + width: 260px !important; +} +.posterImg { + height: 75vh; + width: calc(75vh * .52); +} diff --git a/pages/index/filtercss.wxss b/pages/index/filtercss.wxss new file mode 100644 index 0000000..d1dc41c --- /dev/null +++ b/pages/index/filtercss.wxss @@ -0,0 +1,71 @@ + +.container { + /* margin: 10px; + padding: 0 10px; */ + padding-bottom: 32px; + margin-bottom: 10px; + background-color: #fff; + border-radius: 8px; +} +.sub { + overflow: hidden; +} +.sub .title { + margin: 32px 0 20px 0; + font-size: 18px; + line-height: 1; + font-weight: bold; + text-align: left; +} +.sub .content { + display: flex; + flex-wrap: wrap; +} +.sub .content > span { + width: calc(32% - 2px); + height: 34px; + line-height: 34px; + border-radius: 4px; + background-color: #fff; + text-align: center; + color: #333; + font-size: 14px; + border: 1px solid transparent; +} +.sub .content > span.active { + background-color: #E7F2FF; + color: var(--color-ysd); + border-color: var(--color-ysd); +} +.sub .content > span:not(:nth-child(3n)) { + margin-right: 2%; +} +.sub .content > span:not(:nth-last-child(-n + 3)) { + margin-bottom: 12px; +} +.btnBox { + position: sticky; + bottom: 0; + height: 44px; + padding-top: 12px; + display: flex; + justify-content: center; + background-color: #fff; +} +.btnBox button { + width: 128px !important; + height: 32px; + padding: 0; + margin: 0; + border-radius: 24px; + line-height: 32px; + font-size: 14px; + box-sizing: border-box; +} +.btnBox .clearFilter{ + margin-right: 20px; + line-height: 30px; + border:1px solid var(--color-ysd); + background-color: #fff; + color: var(--color-ysd); +} \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..a488ba5 --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,3062 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); +Page({ + data: { + toped: "1", + chaShowed: false, + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 20, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + jobCategoryLabelIds: "", + ucj: 0, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, //筛选是否高亮 + + labelItems: [], + checkedlabelItems: [], + hasMoreData: false, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "搜索工作", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: app.globalData.isLogin, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "zuigao", + sexid: "-1", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + choiceCollect: 0, //收藏的筛选 + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, // 内部成员的判断 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, // 是否是代理的判断 + serviceInfo: {}, // 代理信息 + navigatorBarHeight: 0, // 头部整体高度信息 + iosDialog: false, // 成为代理弹窗 + isLoading: true, // 成为代理图片加载loading效果 + isScrollTop: false, // 控制职位列表的滚动 + swiperTextList: ["搜索职位"], // 关键词轮播的关键词列表 + placeholderText: "", // 当前关键词 + leftShow: false, // 左侧智能匹配抽屉显示 + /** + * 滑动相关变量 + */ + lastX: 0, //滑动开始x轴位置 + lastY: 0, //滑动开始y轴位置 + text: "没有滑动", + currentGesture: 0, //标识手势 + listPosition: null, // 存储列表当前位置 + halfHide: true, // 智能匹配显示一半控制 + topNum: 0, + scrollTo: "", // 列表滚动的控制 + navList: [ + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ztrt.png", + url: "/pages/hotList/index", + title: "主推/热推", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dtld.png",url:'/pages/hotList/index', title: "职位云亮点" }, + // { img: "http://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/zjzp.png",url:'/pages/hotList/index', title: "职教职培" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/cwdl.png", + url: "/pages/tobeAgency/index", + title: "成为代理", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/dzkf.png",url:'/pages/hotList/index', title: "定制开发" }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmhz.png", + url: "/pages/xiangmuhezuo/index", + title: "项目合作", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xtxx.png", + url: "/pages/message/index", + title: "消息中心", + }, + { + img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/lxwm.png", + url: "/pages/connectUs/index", + title: "联系我们", + }, + // { img: "https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/jqqd.png",url:'/pages/hotList/index', title: "敬请期待" }, + ], + bannerList: [], + /** + * 筛选的相关变量 + * + * + */ + filterData: { + yanba: [ + { + name: "无", + id: 1, + active: 0, + }, + { + name: "小面积", + id: 2, + active: 0, + }, + { + name: "大面积", + id: 3, + active: 0, + }, + ], + area: [ + { + name: "江浙沪", + id: 1, + active: 0, + }, + { + name: "鄂豫皖", + id: 2, + active: 0, + }, + { + name: "京津冀", + id: 3, + active: 0, + }, + { + name: "晋西北", + id: 4, + active: 0, + }, + { + name: "粤桂闽", + id: 5, + active: 0, + }, + { + name: "鲁东南", + id: 6, + active: 0, + }, + { + name: "黑吉辽", + id: 7, + active: 0, + }, + { + name: "疆藏青", + id: 8, + active: 0, + }, + { + name: "渝湘赣", + id: 9, + active: 0, + }, + { + name: "陕甘宁", + id: 10, + active: 0, + }, + { + name: "云贵川", + id: 11, + active: 0, + }, + { + name: "港澳台", + id: 12, + active: 0, + }, + ], + price: [ + { + name: "3000-4000", + id: 1, + active: 0, + }, + { + name: "4000-5000", + id: 2, + active: 0, + }, + { + name: "5000-6000", + id: 3, + active: 0, + }, + { + name: "6000-7000", + id: 4, + active: 0, + }, + { + name: "7000-8000", + id: 5, + active: 0, + }, + { + name: "8000以上", + id: 6, + active: 0, + }, + ], + sex: [ + { + name: "男", + id: 1, + active: 0, + }, + { + name: "女", + id: 2, + active: 0, + }, + { + name: "男女不限", + id: -1, + active: -1, + }, + ], + jobFilter: { + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + tagArray4: [], + }, + classifyList: [], + }, + copyList: {}, + innerFilter: false, + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + goLogin() { + wx.setStorageSync("comeFromPage", "index"); + wx.navigateTo({ + url: "/pages/login/index", + }); + }, + close() { + let that = this; + let brandList = that.data.brandList; + let selectBrandList = that.data.selectBrandList; + if (selectBrandList.length > 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + // that.data.storeJobListSearchForm.pageNum = 1; + let id = e.currentTarget.dataset.id; + setTimeout(() => { + that.setData({ + toped: id, + // isScrollTop: false, + }); + }, 0); + // 切换标准 简版 重新查询列表 + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // toped: id, + // recordList: [], + // }); + // that.getJobList(); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + // if (!that.data.isLogin) { + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + // return; + // } + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 0); + that.setData({ + siv: "menu", + scrollTo: "sticky", + }); + } + this.hideLeft(); + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + this.setData({ + activez: str, + }); + }, + watch() {}, + witchNav(e) { + console.log(e); + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + if (e.currentTarget.dataset.title == "成为代理") { + console.log("成为代理"); + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.showToast({ + title: "您已经是代理了", + icon: "none", + duration: 2000, + }); + return; + } + } else if (e.currentTarget.dataset.title == "主推/热推") { + wx.navigateTo({ + url: e.currentTarget.dataset.url + "?listtype=" + this.data.toped, + }); + return; + } + + wx.navigateTo({ + url: e.currentTarget.dataset.url, + }); + }, + toHot(e) { + if (e.currentTarget.dataset.path) { + if (e.currentTarget.dataset.path == "/pages/hotList/index") { + wx.navigateTo({ + url: `${e.currentTarget.dataset.path}?listtype=${this.data.toped}`, + }); + } + } + }, + choiceSex(e) { + var that = this; + let data = e.currentTarget.dataset; + that.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + // let str = that.data.sexid + console.log(e); + let str = e.currentTarget.dataset.id; + console.log(str); + if (str == "1") { + that.data.secondMenu = "男生"; + } else if (str == "2") { + that.data.secondMenu = "女生"; + } else if (str == "-1") { + that.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + filterData: that.data.filterData, + innerFilter: true, + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + whichOneShow: "", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + phoneDialog: false, + }); + }, + searchKey: function (e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + console.log(e); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal; + this.getJobList(); + }, + onShareAppMessage: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + let img; + + this.data.templateList.forEach((element) => { + if (element.title == "职位云小程序首页卡片分享封面") { + img = element.img + "?" + new Date().getTime(); + } + }); + return { + title: " ", + path: path, + imageUrl: img, + }; + }, + goSearch() { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + wx.navigateTo({ + url: `../jobListSearch/index?from=project&listtype=${this.data.toped}&key=${this.data.placeholderText}`, + }); + }, + clearInput: function () { + this.setData({ + inputVal: "搜索工作", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + }); + this.inputBlur(); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + } + }, + /** + * 清除本地缓存 + * + * + */ + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + wx.setStorageSync("FILTER_LIST", res.data.data); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } else if (item.typeClassify == "4") { + that.data.tagArray4.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + tagArray4: that.data.tagArray4, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + golistSharePage() { + if (this.data.isLogin) { + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.navigateTo({ + url: `/pages/listSharePage/index?listtype=${this.data.toped}`, + }); + } else { + wx.navigateTo({ + url: `/pages/tobeAgency/index`, + }); + } + } else { + wx.navigateTo({ + url: `/pages/login/index`, + }); + } + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/type/95", // 分类列表获取接口 + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (that.data.storeJobListSearchForm.brandIds) { + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + } + console.log(res.data.data.labels); + wx.setStorageSync("CLASSIFY_LIST", res.data.data.labels); + res.data.data.labels.forEach((item) => { + item["checked"] = false; + if (brandIdArray) { + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + } + }); + that.setData({ + brandList: res.data.data.labels, + }); + } + }, + }); + // wx.request({ + // url: app.globalData.ip + "/brand/getBrandNameAllList", // 品牌列表获取接口 + // data: {}, + // header: app.globalData.header, + // method: "GET", + // success: function (res) { + // console.log(res); + + // var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + // res.data.data.forEach((item) => { + // item["checked"] = false; + // brandIdArray.forEach((item1) => { + // if (item.id == item1) { + // item["checked"] = true; + // } + // }); + // }); + // that.setData({ + // brandList: res.data.data, + // }); + // }, + // }); + }, + + selectBrand: function (e) { + var that = this; + let data = e.currentTarget.dataset; + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + + if (that.data.brandList[data.index].checked) { + that.data.brandList[data.index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[data.index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + filterData: that.data.filterData, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // that.data.storeJobListSearchForm.brandIds = ""; + } else if (e.target.dataset.type == 4) { + that.setData({ + activez: "", + }); + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + innerFilter: false, + }); + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + + // var brandIdArray = []; + that.data.selectBrandList = []; + that.data.filterData.classifyList.forEach((item) => { + if (item.active) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + // brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let subArr = that.data.filterData.jobFilter; + let jobList = subArr.tagArray0.concat(subArr.tagArray1, subArr.tagArray2, subArr.tagArray3, subArr.tagArray4); + jobList.forEach((item) => { + if (item.active) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + // if (brandIdArray.length > 0) { + // // that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + // that.data.storeJobListSearchForm.jobCategoryLabelIds = brandIdArray.join(","); + // } else { + // // that.data.storeJobListSearchForm.brandIds = ""; + // that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // } + // that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + // recordList: [], + // siv: "", + // whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + // innerFilter:true + }); + // that.getJobList(); + }, + onLoad(options) { + var that = this; + console.log(options); + console.log(wx.getSystemInfoSync()); + // Array.prototype.logResult = function(){ + // console.log('Array'); + // } + this.setData({ + placeholderText: this.data.swiperTextList[0], + }); + let arr = []; + arr.logResult(); + + this.getListByTypeAndIndustry(); + this.getBrandNameAllList(); + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + + // if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + // try { + // var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + // if (searchCityParamStorage) { + // console.log("searchCityParamStorage======", searchCityParamStorage); + // that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + // if (app.isEmptyCheck(searchCityParamStorage.name)) { + // that.data.storeJobListSearchForm.cityName = "全国"; + // } + // that.setData({ + // searchCityParamStorage: searchCityParamStorage, + // }); + // } + // } catch (e) { + // console.log("获取缓存设置的查询职位列表参数错误:", e); + // } + // } else { + // try { + // wx.removeStorageSync("searchJobListParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // try { + // wx.removeStorageSync("searchCityParamStorage"); + // } catch (e) { + // console.log("删除缓存设置的查询职位列表参数错误:", e); + // } + // } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(that.data.serviceInfo); + }; + console.log(that.data.serviceInfo); + } + //登录=================================end + + this.getHopeJobLabels(); + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + app.getLoginUserTokenInfo(); + + this.getJobList(); + if (wx.getStorageSync("FILTER_LIST")) { + let list = wx.getStorageSync("FILTER_LIST"); + list.forEach((item) => { + item.active = 0; + if (item.typeClassify == "0") { + this.data.filterData.jobFilter["tagArray0"].push(item); + } else if (item.typeClassify == "1") { + this.data.filterData.jobFilter["tagArray1"].push(item); + } else if (item.typeClassify == "2") { + this.data.filterData.jobFilter["tagArray2"].push(item); + } else if (item.typeClassify == "3") { + this.data.filterData.jobFilter["tagArray3"].push(item); + } else if (item.typeClassify == "4") { + this.data.filterData.jobFilter["tagArray4"].push(item); + } + }); + let jobFilter = "filterData.jobFilter"; + this.setData({ + [jobFilter]: this.data.filterData.jobFilter, + }); + } + + if (wx.getStorageSync("CLASSIFY_LIST")) { + this.data.filterData.classifyList = wx.getStorageSync("CLASSIFY_LIST"); + this.data.filterData.classifyList.forEach((item) => { + item.active = 0; + }); + let classifyList = "filterData.classifyList"; + this.setData({ + [classifyList]: this.data.filterData.classifyList, + }); + } + this.setData({ + copyList: JSON.parse(JSON.stringify(this.data.filterData)), + }); + // that.getJobList(); + that.getBannerList(); + that.getchannelList(); + }, + onReady() { + let that = this; + }, + /** + * 智能匹配结束 + * + * + * + */ + goChannel(e) { + console.log(e); + }, + /** + * 筛选标签的点击 + * + * + */ + setActive(e) { + console.log(e); + let data = e.currentTarget.dataset; + if (data.type == "yanba" || data.type == "sex" || data.type == "price") { + console.log(data.id); + let index = this.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + if (this.data.filterData[data.type][index].active == data.id) { + this.data.filterData[data.type][index].active = 0; + } else { + this.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + this.data.filterData[data.type][index].active = data.id; + } + + this.setData({ + filterData: this.data.filterData, + }); + } else if (data.type != "jobFilter") { + this.data.filterData[data.type].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + console.log(this.data.filterData[data.type]); + } else { + this.data.filterData[data.type][data.arr].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + } + + this.setData({ + filterData: this.data.filterData, + }); + }, + + /** + * 获取banner信息 + * + * + */ + getBannerList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/banner/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + bannerList: res.data.data.banners, + }); + } + }, + }); + }, + + /** + * 获取图片模板信息 + * + * + */ + getTemplateList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/image/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + app.globalData.templateList = res.data.data.images; + that.setData({ + templateList: res.data.data.images, + }); + } + }, + }); + }, + + /** + * 获取频道列表 + * + * + */ + getchannelList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/channel/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + navList: res.data.data.channels, + }); + } + }, + }); + }, + /** + * 清除筛选信息 + * + * + */ + clearFilter1(e) { + let middleList = JSON.parse(JSON.stringify(this.data.copyList)); + let type = e.currentTarget.dataset.type; + let filterData = this.data.filterData; + console.log(type); + if (type == 2) { + filterData = { + ...filterData, + classifyList: middleList.classifyList, + }; + this.setData({ + selectBrandList: [], + }); + } else if (type == 1) { + filterData = { + ...filterData, + jobFilter: middleList.jobFilter, + }; + this.setData({ + selectJobList: [], + }); + } else if (type == "outerClear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } else if (type == "innerclear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } + console.log(filterData); + this.setData({ + filterData, + leftShow: false, + recordList: [], + whichOneShow: "", + scrollTo: "sticky", + }); + if (this.data.choiceCollect == 0) { + this.data.storeJobListSearchForm.ucj = 0; + } else { + this.data.storeJobListSearchForm.ucj = 1; + } + this.toList(); + + // this.getJobList(); + }, + /** + * 点击确认按钮 + * + * + */ + toList() { + let that = this; + let innerFilter = false; + console.log(this.data.filterData); + let formSearch = { + pageNum: 1, + pageSize: 20, + }; + let filter = this.data.filterData; + for (var k in filter) { + if (k != "jobFilter") { + let jobCategoryArr = []; + filter[k].forEach((item) => { + if (item.active != 0) { + if (k == "price") { + if (item.name == "8000以上") { + formSearch.monthlyPayStr = "8001-20000"; + } else { + formSearch.monthlyPayStr = item.name; + } + } else if (k == "sex") { + formSearch.sex = item.id; + if (item.id == -1) { + this.data.secondMenu = "不限"; + } else if (item.id == 1) { + this.data.secondMenu = "男生"; + innerFilter = true; + } else if (item.id == 2) { + this.data.secondMenu = "女生"; + innerFilter = true; + } + this.setData({ + sexid: item.id, + secondMenu: this.data.secondMenu, + }); + } else if (k == "classifyList") { + jobCategoryArr.push(item.id); + if (jobCategoryArr.length > 0) { + innerFilter = true; + } + } + } + }); + formSearch.jobCategoryLabelIds = jobCategoryArr.join(); + } else { + let totalArr = [...filter["jobFilter"].tagArray0, ...filter["jobFilter"].tagArray1, ...filter["jobFilter"].tagArray2, ...filter["jobFilter"].tagArray3, ...filter["jobFilter"].tagArray4]; + let jobSpecialArr = []; + console.log(totalArr); + totalArr.forEach((item) => { + if (item.active != 0) { + jobSpecialArr.push(item.id); + } + }); + console.log(jobSpecialArr); + if (jobSpecialArr.length > 0) { + innerFilter = true; + } + console.log(jobSpecialArr.join(",")); + formSearch.jobSpecialLabelIds = jobSpecialArr.join(","); + } + } + console.log(formSearch); + + that.data.storeJobListSearchForm = { ...that.data.storeJobListSearchForm, ...formSearch }; + if (this.data.choiceCollect == 0) { + that.data.storeJobListSearchForm.ucj = 0; + } else { + that.data.storeJobListSearchForm.ucj = 1; + } + console.log(that.data.storeJobListSearchForm); + that.setData({ + recordList: [], + leftShow: false, + innerFilter, + whichOneShow: "", + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.loginOut(); + that.getJobList(); + }, + /** + * 智能匹配结束 + * + * + */ + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + if (that.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${res.tempFilePaths[0]}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + if (this.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + PageScroll(e) { + let that = this; + const query = wx.createSelectorQuery().in(this); + query + .select(".sticky") + .boundingClientRect(function (res) { + // console.log(res); + if (res.top <= 5) { + that.setData({ + isScrollTop: true, + }); + } else if (res.top > 0 && res.top < 90) { + that.setData({ + isScrollTop: false, + }); + } else if (res.top >= 90) { + that.setData({ + isScrollTop: false, + }); + } + }) + .exec(); + }, + onShow() { + let that = this; + that.data.storeJobListSearchForm.pageNum = 1; + wx.setStorageSync("BILLFROM", "firstBill"); + + // wx.showTabBar({ + // success(e) {}, + // }); + // let index = 1; + // that.setData({ + // placeholderText: that.data.swiperTextList[0], + // }); + // setInterval(() => { + // that.data.placeholderText = that.data.swiperTextList[index % that.data.swiperTextList.length]; + // that.setData({ + // placeholderText: that.data.placeholderText, + // }); + // index++; + // }, 5000); + if (wx.getStorageSync("FROMCITY")) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + + that.setData({ + searchCityParamStorage: searchCityParamStorage, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.setData({ + recordList: [], + }); + this.getJobList(); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + wx.removeStorageSync("FROMCITY"); + }else{ + that.setData({ + recordList: [], + }); + that.getJobList(); + } + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 0, + isShow: true, + }); + } + wx.setStorageSync("comeFromPage", "index"); + + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + recordBillType: "", + }); + console.log(app.globalData); + + setTimeout(() => { + if (app.globalData.isLogin) { + that.setData({ + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(app.globalData.loginUserInfo); + } else { + that.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + this.wxLogin(); + } + }, 100); + console.log(app.globalData.headers); + // if (that.data.inputVal != "搜索工作") { + // console.log(that.data.inputVal); + // that.setData({ + // recordList: [], + // }); + + // that.getJobList(); + // } + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + this.getHopeJobLabels(); + var reset = true;*/ + that.getTemplateList(); + that.searchAnimate(); + + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + let that = this; + + wx.navigateTo({ + url: "../city/index", + }); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList() { + var that = this; + // debugger + that.setData({ + pageShow: false, + }); + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + that.data.storeJobListSearchForm.cityName = that.data.searchCityParamStorage.name; + if (app.isEmptyCheck(that.data.searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.data.storeJobListSearchForm.keys = that.data.inputVal == "搜索工作" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/overall/store/job/list", + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + // console.log(item); + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + // 简版弹窗通告显示 + if (item.id == that.data.currentJobDrawer.id) { + item["jobDesp"] = item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + item["jobDesp1"] = item.jobDesp.replace("⚠", ""); + item["jobDesp1"] = item.jobDesp1.replace("[红包]", ""); + that.data.currentJobDrawer = { + ...item, + index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null, + }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + }); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + // if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + + this.setData({ + loadMore: "load", + }); + // } else { + + // } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + // if (this.data.isLogin) { + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode, + }); + // } else { + // wx.navigateTo({ + // url: "../login/index", + // }); + // } + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + + console.log(event.currentTarget.dataset.item); + event.currentTarget.dataset.item["jobDesp"] = event.currentTarget.dataset.item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp.replace("⚠", ""); + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp1.replace("[红包]", ""); + + // wx.hideTabBar({ + // success(e) { + this.getTabBar().setData({ + isShow: false, + }); + that.setData({ + currentJobDrawer: { + ...event.currentTarget.dataset.item, + index: event.currentTarget.dataset.index, + }, + drawerShow: true, + }); + // }, + // }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + var text = that.data.currentJobDrawer.jobDesp + contentInfo; + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + this.getTabBar().setData({ + isShow: true, + }); + that.setData({ + drawerShow: false, + }); + // this.getJobList(); + // setTimeout(() => { + // wx.showTabBar({ + // success(e) {}, + // }); + // }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + toSmart() { + wx.navigateTo({ + url: "/pages/IDCardWithNFC/index", + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, + /** + * 收藏的切换 + * + * + */ + collectChange(e) { + let that = this; + if (that.data.isLogin || (!that.data.isLogin && e.currentTarget.dataset.id == 0)) { + if (e.currentTarget.dataset.id) { + that.data.choiceCollect = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.ucj = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + choiceCollect: that.data.choiceCollect, + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + hasMoreData: false, + }); + that.getJobList(); + } + } else { + that.setData({ + recordList: [], + hasMoreData:false, + choiceCollect: 1, + }); + // } + } + }, + choiceFilter(e) { + var that = this; + // let str = that.data.activez + let str = e.currentTarget.dataset.id; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + // var promise = new Promise(function(resolve,reject){ + // that.getJobList(); + // }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + // wx.openSetting({ + // success(res) { + // console.log(res.authSetting); + // if (res.authSetting["scope.userLocation"]) { + // wx.getLocation({ + // type: "gcj02", + // success(res1) { + // console.log("获取位置2"); + // console.log(res1); + // app.globalData.lng = res1.longitude; + // app.globalData.lat = res1.latitude; + + // that.data.storeJobListSearchForm.sortTag = 2; + // that.data.storeJobListSearchForm.lng = res1.longitude; + // that.data.storeJobListSearchForm.lat = res1.latitude; + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // recordList: [], + // }); + // that.getJobList().then(() => { + // that.setData({ + // siv: "menu", + // }); + // }); + // }, + // fail() {}, + // }); + // } + // }, + // }); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "排序", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + that.setData({ + activez: str, + }); + that.setData({ + whichOneShow: "", + siv: "", + }); + // setTimeout(() => { + // that.setData({ + // whichOneShow: "", + // }); + // console.log(this.data.whichOneShow); + // console.log("112233"); + // }, 1); + }, + /** + * 清除所有的筛选项 + * + * + */ + clearFilter() { + let that = this; + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + // that.data.storeJobListSearchForm.ucj = + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + brandList: that.data.brandList, + selectJobList: [], + selectBrandList: [], + recordList: [], + whichOneShow: "", + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + }); + // that.choiceFilter({ + // currentTarget: { + // dataset: { + // id: "all", + // }, + // }, + // }); + // that.choiceSex({ + // currentTarget: { + // dataset: { + // id: "-1", + // }, + // }, + // }); + that.getJobList(); + }, + scroll(e) { + return false; + }, + stoptap(e) { + return false; + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + /** + * 简版报名 + * + * + */ + recordBill(e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + // }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + showLeft() { + this.setData({ + leftShow: true, + }); + }, + hideLeft() { + this.setData({ + leftShow: false, + whichOneShow: "", + }); + console.log(this.data.innerFilter); + if (!this.data.innerFilter) { + this.setData({ + filterData: JSON.parse(JSON.stringify(this.data.copyList)), + }); + } + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + /** + * 获取搜索轮播的关键字索引 + * + * + */ + getSwiperIndex(e) { + // console.dir(e); + if (e.detail.current) { + this.setData({ + placeholderText: this.data.swiperTextList[e.detail.current], + }); + // console.log(this.data.swiperTextList[e.detail.current]); + // console.log(this.data.placeholderText); + } + }, + onPageScroll(e) {}, + drawerTouchStart(event) { + this.handletouchtart(event); + }, + drawerTouchMove(event) { + let tx = this.handletouchmove(event); + console.log(tx); + if (tx.ty > 100) { + this.hideDrawer(); + } + }, + filterTouchMove(event) { + let tx = this.handletouchmove(event); + if (tx.tx < -100) { + this.setData({ + leftShow: false, + }); + } + }, + filterTouchStart(event) { + this.handletouchtart(event); + }, + listTouchMove(event) { + if (event.detail.scrollTop - this.data.listPosition > 15 && this.data.halfHide == false) { + this.setData({ + halfHide: true, + }); + } else if (event.detail.scrollTop - this.data.listPosition < -15 && this.data.halfHide == true) { + this.setData({ + halfHide: false, + }); + } + if (event.detail.scrollTop > 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "回顶部", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/top.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } else if (event.detail.scrollTop <= 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "首页", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/ysd1.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } + // console.log(event); + }, + listTouchStart(event) { + this.data.listPosition = event.detail.scrollTop; + }, + + /** + * 页面滑动事件监听 + * + * + */ + handletouchmove: function (event) { + let that = this; + var currentX = event.touches[0].pageX; + var currentY = event.touches[0].pageY; + var tx = currentX - this.data.lastX; + var ty = currentY - this.data.lastY; + var text = ""; + //左右方向滑动 + if (Math.abs(tx) > Math.abs(ty)) { + return { + tx, + }; + } + //上下方向滑动 + else { + return { + ty, + }; + } + }, + // 触摸开始事件 + handletouchtart: function (event) { + this.data.lastX = event.touches[0].pageX; + this.data.lastY = event.touches[0].pageY; + }, + searchAnimate() { + let that = this; + wx.createSelectorQuery() + .select("#listBox") + .fields( + { + scrollOffset: true, + size: true, + }, + (res) => { + this.animate( + "#searchInputBox", + [ + { + // paddingTop: "10px", + // paddingBottom: "10px", + top: "10px", + width: "100%", + // height: "40px", + // backgroundColor: "#f5f5f5", + }, + { + // paddingTop: that.data.statusBarHeight + (that.data.navigationBarHeight - that.data.menuButtonHeight) / 2 + "px", + // paddingBottom: "30px", + top: "-40px", + width: "70%", + // height: "84px", + // backgroundColor: "#ff4400", + // paddingTop:'100px', + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 60, + } + ); + this.animate( + "#searchInput", + [ + { + backgroundColor: '#fff' + }, + { + backgroundColor: '#f5f5f5' + }, + ], + 500, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + this.animate( + "#sticky", + [ + { + marginTop: "56px", + // top: "0px", + }, + { + marginTop: "0px", + // top: "-272px", + }, + ], + 2000, + { + scrollSource: "#listBox", + timeRange: 2000, + startScrollOffset: 50, + endScrollOffset: 362, + } + ); + this.animate( + ".daotian", + [ + { + opacity: "1", + }, + { + opacity: "0", + }, + ], + 1000, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + } + ) + .exec(); + }, + + // tabbar点击监听 + onTabItemTap(e) { + console.log(e); + let that = this; + that.setData({ + topNum: 1, + }); + }, + onHide() { + this.setData({ + whichOneShow: "", + // topNum: 1, + }); + }, + onUnload() { + console.log("destory"); + }, + goList() { + wx.navigateTo({ + url: "/pages/filterPage/index", + }); + }, +}); diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..5b28bc4 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "navigationStyle":"custom" +} \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..e748125 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,104 @@ + + + 报名助手 + + + + + + + + + + {{item}} + + + + + + 搜索 + + + + + + + + + + + + + + + + + + + + + + {{item.jobName || item.aliasName}} + {{item.salaryClassifyValue}} + + + + {{item.monthlyPay}}元/月,{{item.age}} + + + + + + + 郑州一才工作 + + + 1分钟前 + + + + + + + + + + + + + + + 没有符合条件的职位 + + + 已经到底啦~ + 上滑加载更多 + + + + + 暂无记录 + + + + + + + diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..e12174c --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,1474 @@ +/* required by usingComponents */ +/* @import "../../appcommon.wxss"; */ +/* @import "../index/index.wxss"; */ +/* @import "./filtercss.wxss"; */ +/* @font-face{ +  font-family:YaHeiConsolasHybrid; +  src:url('https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf'); +  } */ +/* @font-face { + font-family: "DingTalk"; + src: url("https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf"); 服务器上ttf文件的路径,记得配置域名权限 + font-weight: normal; + font-style: normal; + font-display: swap; +} */ +page { + /* position: fixed; */ + background-color: #f5f5f5; +} +.container { + /* position: relative; */ + /* display: flex; */ + height: 100vh; + width: 100%; + padding-bottom: 0 !important; + /* flex-direction: column; */ +} + +#listBox { + position: relative; + height: 100vh; + /* background-color: #f5f5f5; */ + /* background: linear-gradient(to bottom, #00B666, #fff) */ + + background: linear-gradient(#00B666 0%,#f5f5f5 15%); + /* display: none; */ + /* width: 90%; */ +} +.standardList { + flex: 1 !important; + overflow: hidden; + /* min-height: calc(100vh - 214px); */ +} +.searchBar { + height: 50px; + line-height: 50px; + padding-left: 12px; + padding-right: 8px; + background-color: #f5f5f5; +} +.searchBar .weui-search-bar__form { + flex: unset; + width: 210px !important; + /* width: 160px !important; */ + height: 32px; + /* left: 10px; */ + position: relative; + box-shadow: 0px 0px 8px 0px rgba(206, 206, 206, 0.5); +} +.searchBar .weui-search-bar__form .weui-search-bar__box { + height: 32px !important; + line-height: 32px !important; + padding-left: 28px; +} +.searchBar .weui-search-bar__form .weui-search-bar__box .icon-guanbi11 { + position: absolute; + right: 58px; +} +.weui-search-bar__form .icon-sousuo { + left: 8px; +} +.searchBar .typeChange { + display: flex; + align-items: center; + /* padding-top: 6px; */ +} +.searchBar .typeChange image { + border-radius: 24px; + box-shadow: 0px 2px 2px 0px rgba(214, 214, 214, 0.5); +} +.tarbarText { + font-size: 18px; + font-weight: 400; + color: #666666; + /* line-height: 25px; */ +} +.tarbarText.active { + font-weight: 601; + color: #000000; +} +.tarbar { + text-align: center; +} +.tarbarImg { + width: 22px; + height: 5px; + display: block; + margin: 0 auto; + margin-bottom: 12px; +} +.newSearch { + width: 88px; + height: 32px; + background: #ffffff; + border-radius: 16px; + position: relative; + top: 50%; + transform: translateY(-50%); + float: right; + font-size: 16px; + font-weight: 600; + text-align: center; + color: #999; + line-height: 32px; + /* margin-top: 12px; */ +} + +.lNum { + opacity: 0.6; + font-size: 32px; + font-weight: 400; + text-align: right; + color: var(--color-ysd); + line-height: 39px; + margin-right: 12px; + font-family: "DingTalk"; +} +.f10 { + font-size: 10px !important; +} +.jobTitle2 { + font-size: 16px; + color: #333; + font-weight: bold; + line-height: 24px; +} +.jobText.bz { + height: 20px; + padding: 0px 8px; + background-color: var(--color-ysd); + border-radius: 10px; + color: #fff; + line-height: 20px; +} +.jobText { + line-height: 24px; +} +.daili { + width: 30px; + height: 16px; + background: #fff3f3; + border: 1px solid #fea39f; + border-radius: 2px; + font-size: 12px; + font-weight: 400; + text-align: center; + color: #f6343e; + line-height: 16px; + float: right; + margin-top: 4px; +} +.ahoverd { + background-color: #f5f5f5 !important; +} +.fixedNum { + position: fixed; + right: 16px; + bottom: 32px; + z-index: 999; + width: 60px; + height: 60px; + background: #ffffff; + border-radius: 50%; + box-shadow: 0px 2px 8px 0px rgba(169, 169, 169, 0.5); + text-align: center; + line-height: 60px; +} + +.p024 { + padding: 0 24px; +} +.demo-steps-class { + margin: 20px 0; + border-bottom: 1px solid #e5e5e5; +} + +.demo-btn-container { + display: flex; + justify-content: space-between; + margin: 20px; +} + +.demo-btn { + width: 47%; +} + +.atd-config-transparent-header { + background-color: #fff; +} + +/*.atd-config-transparent-header .content-top { +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*13jpTYrECqYAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +color: #fff; +}*/ + +/* .atd-config-transparent-header .content-top{ +color: #000; +} */ + +.atd-config-transparent-header .content-top .statusBar { + background-color: transparent; + display: flex; + align-items: center; + justify-content: center; +} + +.atd-config-transparent-header .content-top .titleBar { + /* background-color: #108ee9; */ + display: flex; + align-items: center; + justify-content: left; + padding-left: 32rpx; +} + +.tab-content { + display: flex; + justify-content: center; + align-items: center; + padding: 40rpx; + box-sizing: border-box; + /* 如果 swipeable="{{true}}",需要增加 height */ + /* height: 350px; */ + /* 为了体现 stickyBar 的作用而增加的 tab-content 的高度 */ + height: 100vh; +} + +/*.atd-config-transparent-header .content-bottom { +margin-top: 1000rpx; +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*rFctR6myHjcAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +} +*/ + +.atd-config-transparent-header .content-top .titleBar { + background-color: #fff; +} + +.am-tabs-content-wrap { + height: auto !important; +} + +.atd-config-transparent-header .content-top .titleBar { + padding-left: 0; +} + +.am-tabs-tab-bar-wrap { + width: calc(100vw - 120px); +} + +.latest { + color: rgba(0, 0, 0, 0.65); +} + +.latest .active { + color: rgba(0, 0, 0, 0.85); + font-weight: 601; +} + +.secondSelect { + padding: 8px 20px; +} + +.zoneSelect .dib { + font-size: 14px; + margin-left: 8px; + background-color: rgba(0, 0, 0, 0.06); + color: rgba(0, 0, 0, 0.65); + padding: 4px; +} + +.zoneSelect .dib.active { + background-color: rgba(254, 99, 63, 0.15); + color: #fe633f; +} + +.am-tabs-bar { + padding-left: 20px; +} + +.navigator { + /* position: sticky; */ + /* width: 100vw; + top: 0; + left: 0; */ + /* z-index: 1000; */ +} +.navigatorBar { + position: relative; + letter-spacing:1px; + /* z-index: 999; */ + background-color: var(--color-ysd); + padding-bottom: 8px; +} +.navigatorBar .tabs { + position: relative; + left: 50%; + font-size: 35rpx; + transform: translateX(-50%); + justify-content: center; + box-sizing: border-box; +} + +.navigatorBar .tabs > view { + flex: 1; + line-height: 26px; + width: 56px; + color: #666; + text-align: center; +} +.navigatorBar .tabs .active { + height: 26px; + background-color: var(--color-ysd); + color: #fff; + border-radius: 6px; +} +.weui-tabs-swiper { + display: none; +} + +.weui-tabs-bar__item { + margin: 12px 8px; +} + +.weui-tabs-bar__title { + color: rgba(0, 0, 0, 0.65); +} + +.weui-tabs-bar__title.tab-bar-title__selected { + font-weight: bolder; + color: rgba(0, 0, 0, 0.85); + border-bottom-color: #fe633f !important; +} + +.dian { + float: left; + position: relative; + line-height: 36px; + left: 20px; + box-shadow: -30px 0 30px #fff; +} + +.weui-cell_access .weui-cell__ft { + padding-right: 16px; +} + +.weui-tabs { + padding-left: 12px; +} + +.mt6 { + margin-top: 6px; +} +.mb6 { + margin-bottom: 5px; +} +.storeName{ + max-width: 360rpx; +} +.logoClass { + width: 52px; + height: 52px; + max-width: 100%; + /* border: 1rpx solid #ddd; */ + margin-bottom: 8px; + border-radius: 4px; +} +.pendant { + position: absolute; + width: 52px; + height: 52px; + left: 0; + top: 0; +} +.f20.c633.lh1 { + font-weight: 601; +} +.hourPay { + /* f18 c633 lh1 flex-1 tr */ + font-size: 18px; + line-height: 1; + flex: 1; + text-align: right; + white-space: nowrap; + color: var(--color-f40); + font-weight: 601; +} +.weui-btn { + margin-left: 0 !important; + margin-right: 0 !important; +} +.weui-btn_primary { + border-radius: 3px; + font-size: 12px; + margin-top: 0; + font-weight: 400; + width: 48px; + height: 18px; + border-radius: 9px; + /* line-height: 18px; */ + background-color: var(--color-ysd); + margin-bottom: 0; +} + +.tttg { + /* max-width: calc(100vw - 200px); */ + /* float: left; */ + display: flex; + justify-content: start; + align-items: center; + width: 63%; + white-space: nowrap; +} +.tttg .t-icon { + display: block; + width: 32px; + height: 20px; + margin-right: 6px; +} +/* .tttg .tagsLi { + display: none; +} */ + +.tttg.isTagShow > view:nth-child(n + 4) { + display: none; +} +/* .tttg .tagsLi:nth-child(-n + 3) { + display: inline-block; +} */ +.tagsLi { + display: inline-block; + height: 21px; + box-sizing: border-box; + font-size: 12px; + font-weight: 400; + color: #666; + background: #f1f1f1; + border-radius: 2px; + padding: 0 4px 0px; + line-height: 20px; + margin-right: 6px; + margin-bottom: 0px; + position: relative; + top: 1px; + /* border: 1rpx solid transparent; */ +} + +.tagsLi.spli { + color: var(--color-ysd); + background-color: rgba(234, 67, 58, 0.2); +} + +.f12.c045.flex-1.mb4 { + margin-bottom: 7px; +} +.prImg { + position: relative; + display: flex; + flex-direction: column; + justify-content: space-around; + width: 53px; + /* height: 52px; */ + margin-right: 8px; +} +button.collect { + /* position: absolute; */ + /* left: 0; */ + /* top: 61px; */ + /* bottom: -1px; */ + padding: 0 3px; + /* max-width: 52px; */ + width: 52px; + border: 1px solid rgb(236, 235, 235); + border-radius: 2px; + height: 20px; + box-sizing: border-box; + text-align: center; + margin: 0; + padding: 0px; + background-color: #fff; + line-height: 20px; + display: flex; + align-items: center; + justify-content: center; +} +button.collect icon { + display: block; + font-size: 10px; +} +button.collect icon::before { + display: block; +} +.cf { + color: #fff; +} + +.f15 { + font-size: 15px !important; +} + +.p1020 { + padding: 10px; +} +#searchBar .cf, +#searchBar .cf085 { + color: #fff; +} + +.innerSwiper { + border-radius: 8px; + overflow: hidden; +} + +.jobCenter { + height: calc(100vh); + padding: 0px; + margin-top: 10px; + border-radius: 8px; + position: relative; + z-index: 999; + background-color: #fff; + box-sizing: border-box; +} +.jobCenterActive { + /* height: calc(100vh); */ + /* padding: 0 10px; + margin-top:10px; */ + /* border-radius: 8px; */ + position: relative; + z-index: 998; + background-color: #f5f5f5; + box-sizing: border-box; +} +.jobOne { + /* margin-top: 10px; */ + padding: 0 10px; + line-height: 1; + /* margin-top: -1rpx; */ +} + +.jobIn { + /* border-bottom: 1px solid #f3f3f3; */ + padding: 16px 0px; + /* background-color: #fff; */ + /* border-radius: 4px; */ +} +/* .jobOne:nth-of-type(1) .jobIn { + border-top: 1rpx solid #f00; +} */ +/* .jobOne:nth-child(1) .jobIn { + border-top: 0; +} */ +.icon-weixuanzhong2 { + color: #999; + font-size: 6px; + margin-left: 2px; + line-height: 36px; + position: relative; + top: -2px; +} +.csbf { + /* position: relative; */ + padding: 0px 8px; + /* flex: 1; */ + /* width: 66px; */ + height: 28px; + /* margin-top: 10px; */ + background-color: #fff; + border-radius: 16px; + /* width:60px; */ + text-align: center; + font-size: 14px; + font-weight: 400; + color: #333333; + line-height: 28px; + box-sizing: border-box; + /* margin-right: 8px; */ +} +.csbf .icon-shouye-xiala { + font-size: 7px; + position: relative; + color: #f6f6f6 !important; + top: -2px; +} +.csbf.active { + /* color: var(--color-ysd); */ + /* height: 35px; */ + font-weight: 601 !important; + /* border-radius: 16px 16px 0 0; */ +} +.special_active, +.brand_active { + /* padding-bottom: 7px; */ +} +.csbf.activecolor { + font-weight: 600; + color: var(--color-ysd) !important; +} +.csbf.active .icon-shouye-xiala { + /* color: var(--color-ysd) !important; */ +} +.csbf .icon-zhankai { + /* margin-left: 2px; */ + color: #999; +} + +.topHover, +.ahover { + opacity: 0.8; +} +.c8, +.icon-wode-shoucang { + color: #888; +} +/* .cred, +.icon-shoucang-red { + color: rgba(234, 67, 58, 1); +} */ +.collect.collectred { + /* opacity: 0.5; */ + /* border: 1rpx solid var(--color-ysd); + color: var(--color-ysd); */ + background: rgba(255, 68, 0, 0.2); + color: var(--color-ysd); + border: 1rpx solid rgba(255, 68, 0, 0.2); +} +.opacityBtn { + position: absolute; + padding: 0; + width: unset !important; + /* width: calc(100vw - 100px); */ + z-index: 999; + opacity: 0; +} +.opacityBtn button { + padding: 0 10px; +} +.clickMore { + width: 120px; + height: 28px; + margin: 16px auto; + padding: 0; + opacity: 1; + border: 1px solid #0000000f; + border-radius: 20px; + color: #8c8c8c; + line-height: 25px; + font-size: 14px; + font-weight: normal; + background-color: #fff; +} +.stm { + font-size: 13px; + font-weight: 400; + text-align: center; + color: #666; + line-height: 18px; +} + +.filterprice { + position: relative; + height: 68.5%; + /* height: 500px; */ + overflow: auto; + border-radius: 0 0 14px 14px; + background-color: #f6f6f6; +} +.filterprice .b1 { + border: 1px solid var(--color-ysd); +} +.filter.filterprice > view { + margin: 16px 18px 0; + border-radius: 24px; + text-align: center; + overflow: hidden; + background-color: #fff; +} +/* .filter.filterprice > view:first-child{ + margin-top:0; +} */ +.sort.filterprice { + /* border-radius: 12px; */ + overflow: hidden; + /* display: flex; + flex-direction: column; + justify-content: center; */ +} +.btmFix { + height: 56px; + /* padding-left: 50px; */ + justify-content: center; + border-radius: 0 0 10px 10px; + line-height: 56px; + background-color: #fff !important; +} +.btmFix > view { + display: flex; + align-items: center; + width: 128px !important; + /* margin-right: 20px; */ + line-height: 48px; +} +.btmFix > view:first-child { + margin-right: 20px; +} +.btmFix button { + height: 36px; + margin: 0; + /* margin-top: 10px; */ + margin-bottom: 0; + font-size: 16px; + line-height: 36px; +} +.brand .content { + padding: 16px 18px; + padding-bottom: 50px; + border-radius: 12px; + flex-wrap: wrap; + /* height: 208px; */ + overflow: auto; + justify-content: start; +} +.brand .content > view { + display: flex; + align-items: center; + justify-content: center; + border: 1px solid transparent; + padding: 0px 8px; + width: 30%; + height: 36px; + font-size: 16px; + color: #1d1d1d; + font-weight: 401; + background-color: #fff; + border-radius: 100px; + margin-bottom: 10px; + margin-right: 4%; + box-sizing: border-box; +} +/* .brand .content > view image { + width: 44px; + height: 44px; + border-radius: 6px; + margin-right: 8px; +} */ +.brand .content > view:nth-child(3n) { + margin-right: 0px; +} + +/* .filterprice .specialtag .mt10 { + display: flex; + justify-content: start; + flex-wrap: wrap; +} */ +.gjFixed { + position: absolute; + top: 44px; + left: 0; + width: 100vw; + height: 100vh; + /* right:0; + bottom:0; */ + z-index: 999999; + background-color: rgba(0, 0, 0, 0.8); +} +.sort { + animation: singleBox 0.2s; + animation-fill-mode: forwards; + /* animation-timing-function: linear; */ + /* animation-timing-function: ease-out; */ + animation-timing-function: ease-in; +} +.filterBox, +.brand { + animation: filterBox 0.35s; + animation-fill-mode: forwards; + /* animation-timing-function: linear; */ + /* animation-timing-function: ease-out; */ + animation-timing-function: ease-in; +} +@keyframes filterBox { + 0% { + height: 0; + /* opacity: 0; */ + } + 100% { + height: 58.5%; + /* opacity: 1; */ + } +} +@keyframes singleBox { + 0% { + height: 0; + /* opacity: 0; */ + } + 100% { + height: 240px; + /* opacity: 1; */ + } +} +/* .activeWindow { + height: 240px !important; +} */ +.oh { + overflow: hidden; + height: 100vh; +} +.oa { + overflow: auto; +} +.weui-half-screen-dialog { + height: 75vh; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding: 0; +} +.specialtag { + position: relative; + padding: 0 18px 10px; + height: calc(100% - 48px); + overflow: auto; + box-sizing: border-box; +} +.specialtag .tagBox { + display: flex; + justify-content: start; + align-items: center; + flex-wrap: wrap; + padding: 0; +} +.bgAc { + display: inline-block; + /* width: 82px; */ + width: 29%; + height: 36px; + background: #fff; + border: 1px solid transparent; + border-radius: 999px; + font-size: 16px; + font-weight: 401 !important; + color: #1d1d1d; + line-height: 36px; + text-align: center; + margin-right: 5%; + margin-bottom: 10px; +} +.bgAc:nth-child(3n) { + margin-right: 0; +} +.bgAc.active { + border-color: var(--color-ysd); + /* background-color: #ffefe9; */ + color: var(--color-ysd); +} +.brandactive { + color: var(--color-ysd) !important; + border-color: var(--color-ysd) !important; +} +.btmFix { + position: absolute; + bottom: 0px; + left: 0; + width: 100%; + /* background-color: #ffffff; */ + z-index: 99; +} +.resetBtn { + width: 100% !important; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + opacity: 1; + background: #fff; + border: 1px solid var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: var(--color-ysd); + padding: 0; + margin-top: 0; + box-sizing: border-box; +} +.resetBtn:active { + background-color: #f2f2f2; +} +button.loginOut { + width: 100% !important; + height: 44px; + opacity: 1; + display: flex; + align-items: center; + justify-content: center; + background-color: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} +.spef { + /* padding: 10px 0; */ + justify-content: space-between; +} +.spef .flex-1 { + max-width: 57px; + min-width: 52px; +} +.p10100 { + padding: 10px 10px 0; + min-height: 100vh; +} +.xgxg { + /* height: 44px; */ + /* position: relative; */ + padding: 8px 0px; + /* position: sticky; */ + /* top: 103px; */ + /* z-index: 9999; */ + /* background-color: #fff; */ + /* border-bottom: 1px solid #f3f3f3; */ + border-top-left-radius: 16px; + border-top-right-radius: 16px; + /* border-radius: 8px; */ +} +.login_now { + padding: 0; +} +.record { + width: 64px !important; + padding: 0; + height: 20px !important; + line-height: 20px; + /* background-color: var(--color-ysd) !important; */ +} +.filterTag { + display: flex; + height: 44px; + width: 100%; + align-items: center; + /* padding: 10px 0; */ + line-height: 44px; + background-color: #f5f5f5; + box-sizing: border-box; + border-top: 1rpx solid #eee; + /* margin-top: 8px; */ +} +.clear { + position: sticky; + right: 0px; + top: 0px; + height: 50px; + min-width: 60px; + text-align: center; + line-height: 50px; + font-size: 14px; + background: linear-gradient(180deg, #f5f5f5, #ffffff 23%, #ffffff 79%, #f5f5f5); + box-shadow: -12px 0px 8px -4px rgba(206, 206, 206, 0.6); +} +.filterTag .brandTag, +.filterTag .specialTag { + display: flex; + /* width: 200vw; */ + position: relative; + justify-content: start; + align-items: center; + flex-wrap: nowrap; + padding-right: 8px; + /* border-right: 1px solid #ccc; */ +} +/* .filterTag .brandTag .mt10, +.filterTag .specialTag .mt10 { + display: flex; + justify-content: space-between; +} */ +.filterTag .brandTag.hascontent::after { + content: ""; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 18px; + background-color: #ccc; +} +.hascontent::after { + content: ""; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 18px; + background-color: #ccc; +} +.filterTag .brandTag > view, +.filterTag .specialTag > view, +.genderTag > view { + height: 28px; + line-height: 26px; + background-color: #E7F2FF; + border: 1px solid var(--color-ysd); + border-radius: 999px; + margin-right: 8px; + font-size: 12px; + color: var(--color-ysd); + /* min-width: 100px; */ + white-space: nowrap; + padding: 0px 12px; + box-sizing: border-box; +} +.genderTag { + width: 80px; + padding-left: 8px; + justify-content: center !important; +} +.filterTag .brandTag > view:last-child, +.filterTag .specialTag > view:last-child { + margin-right: 0px; +} +.filterTag .specialTag { + padding-left: 8px; +} +.specialnum { + height: 16px; + min-width: 16px !important; + line-height: 16px; + padding: 0px; + font-size: 12px; + color: #fff; + text-align: center; + border-radius: 999px; + background-color: var(--color-ysd); +} +.quickapply { + /* position: relative; */ + display: flex; + justify-content: space-between; + height: 80px; + margin: 0 10px 0; + padding-top: 10px; + margin-bottom: 0; + /* background-color: #fff; */ + overflow: hidden; +} +.quickapply button { + display: flex; + height: 100%; + width: 100%; + padding: 0; + margin: 0; +} +.sticky { + position: sticky; + top: 0px; + left: 0; + z-index: 999; +} +.quickapply button > view { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + width: 50%; + padding: 20px 24px; + border-radius: 8px; + background-color: #fff; +} +.quickapply button > view:last-child { + margin-left: 10px; +} +/* .quickapply button > view:first-child::after { + content: ""; + width: 1px; + height: 20px; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + background-color: #eee; +} */ +.quickapply button > view .t-icon { + width: 38px; + height: 38px; +} +.quickapply button > view .info > view { + text-align: left; + line-height: 1.6; +} + +.tabTable { + margin-top: 10px; + padding: 0 10px; + justify-content: space-between; +} +.tabTable > view { + display: flex; + flex: 1; + padding: 8px 0 4px 0; + justify-content: center; + align-items: center; + text-align: center; + font-size: 18px; +} +.tabTable .all .iconfont { + font-size: 18px !important; +} +.tabTable > view .iconfont { + font-size: 20px; +} +.tabTable > view.active { + background-color: #fff; + border-radius: 12px 12px 0px 0px; + color: #f40; + /* font-weight: 600; */ +} +.tabTable > view.active .iconfont { + /* font-weight: 600; */ + color: #f40; +} +.tabTable > view .iconfont { + /* font-size: 18px; */ + margin-right: 5px; +} +.display-flex { + display: flex; + justify-content: space-between; +} +.drawerMask { + position: fixed; + z-index: 1000; + top: 0; + right: 0; + left: 0; + bottom: 0; + transition: opacity 0.3s, visibility 0.3s; + background: rgba(0, 0, 0, 0.6); + visibility: hidden; + opacity: 0; +} +.drawerMask.showDrawer { + opacity: 1; + visibility: visible; +} +.drawer.showDrawer { + /* position: relative; */ + border-radius: 8px 8px 0 0; + width: 100vw; + height: 90vh; + /* bottom: -44px; */ + /* padding-bottom: 44px; */ +} +.drawer { + position: fixed; + left: 0; + right: 0; + bottom: 0px; + z-index: 2000; + width: 100vw; + background-color: #fff; + height: 0; + transition: all 0.3s; +} +.showDrawer .title { + padding: 6px 16px; +} +.showDrawer .title { + position: relative; +} +.showDrawer .title .icon-guanbi { + content: ""; + position: absolute; + right: 24px; + top: 16px; + /* transform: translate(0%, -50%); */ +} +.showDrawer .content { + height: 100%; +} +.showDrawer .annunciate { + height: calc(100% - 112px); + overflow: auto; +} +.showDrawer .annunciate .info { + width: 100%; + padding: 12px 22px; + padding-bottom: 120px; + box-sizing: border-box; +} +.showDrawer .footer { + display: flex; + justify-content: space-between; + text-align: center; + align-items: center; + padding-top: 15px; + padding-right: 48px; + padding-left: 48px; + border-top: 1px dashed #cccccc; +} +.collectActive { + color: var(--color-ysd); + font-weight: 601; + position: relative; +} +.collectActive::after { + content: ""; + background: var(--color-ysd); + height: 3px; + width: 22px; + position: absolute; + bottom: 8px; + left: 50%; + transform: translateX(-50%); +} +.fee { + height: 20px; + padding-right: 4px; + background: #fff; + border: 1px solid var(--color-ysd); + background-color: var(--color-ysd); + color: #fff; + /* box-sizing: border-box; */ + border-radius: 20px; + overflow: hidden; + line-height: 20px; +} +.fee .inner { + height: 100%; + padding: 0 4px; + margin-right: 4px; + + background-color: #fff; + color: var(--color-ysd); +} +.miniBtn { + width: 64px; + height: 20px; + background-color: var(--color-f40); + font-size: 14px; + border-radius: 99px; + line-height: 20px; + color: #fff; + text-align: center; + /* border: 4px solid #fff; */ +} +.miniBtn.disabled{ + background-color: #ccc; +} + +.pabtm { + position: fixed; + /* height: 86px; */ + width: 48px; + right: 12px; + padding: 6px 0px; + border-radius: 999px; + background-color: rgba(0, 0, 0, 0.6); + display: flex; + align-items: center; + flex-direction: column; + justify-content: space-between; + box-sizing: border-box; + z-index: 999; +} +.pabtm .typeChange { + width: 36px; + height: 36px; + display: flex; + align-items: center; + justify-content: center; + background-color: #fff; + border-radius: 50%; + padding: 5px; + text-align: center; + box-sizing: border-box; +} +.tjsx { + position: relative; + width: 48px; + height: 48px; + background: #ffffff; + border-radius: 24px; + display: flex; + /* box-shadow: 0px 0px 8px 0px #dddddd; */ + /* line-height: 1; */ + color: #333; + font-weight: bold; + justify-content: center; + align-items: center; + /* margin-left: 24px; */ +} +.tjsx view { + font-size: 13px; + line-height: 1.2 !important; +} +.tjsx i { + width: 16px; + height: 16px; + margin-bottom: 2px; + margin-top: -4px; +} + +.leftBox { + position: fixed; + left: 0; + top: 0; + width: 0; + height: 0; + /* width: 100vw; + height: 100vh; */ + z-index: 9999; +} +.filterContainer { + padding: 0 10px; + height: calc(40vh - 64px); + /* width: calc(100%); */ + box-sizing: border-box; + background-color: #f6f6f6; + padding-bottom: 10px; +} +.leftBox .mask { + position: fixed; + width: 100vw; + height: 100vh; + z-index: 1; + background-color: rgba(0, 0, 0, 0.5); +} + +.leftBox .hideBox { + position: relative; + left: -100vw; + top: 0; + width: 88vw; + height: 100vh; + overflow: hidden; + z-index: 1; + background-color: #fff; + border-radius: 0px 8px 8px 0px; + transition: left linear 0.2s; +} +.buttonShow { + left: 88vw !important; + transform: translateY(-50%) translateX(-50%) !important; +} +.leftBox .leftShow { + left: 0 !important; +} + +.leftButton { + position: fixed; + display: flex; + left: 0; + z-index: 999; + /* top: 350px; */ + width: 40px; + height: 88px; + background: rgba(0, 0, 0, 0.6); + border-radius: 0px 8px 8px 0px; + align-items: center; + justify-content: center; + color: #fff; + transform: translateY(-50%); + transition: all linear 0.2s; +} +.halfHide { + transform: translateY(-50%) translateX(-50%); +} +.leftButton .column { + font-size: 14px; + width: 14px; + line-height: 1.2; + word-spacing: wrap; +} +.rotate { + transform: rotate(180deg); +} +/* .the_city { + min-width: 60px; +} */ + +#searchInputBox { + display: flex; + justify-content: space-between; + padding: 0 10px; + box-sizing: border-box; + position: absolute; + z-index: 1; + width: 100vw; +} +#searchInput { + /* margin-left: 12px; */ + /* margin-left: 8px; */ + flex: 1; + border-radius: 99px; + background-color: #fff; +} +.bannerContainer { + background-color: #f5f5f5; + padding-top: 10px; +} +.banner { + width: calc(100vw - 20px); + height: 70px; + margin: 0 10px; + border-radius: 8px; + overflow: hidden; + transform: translateY(0); + /* background-color: #fff; */ +} +.banner swiper-item { + width: 100%; + box-sizing: border-box; + padding: 0 3px; + text-align: center; +} +.navListContainer { + overflow: hidden; + background-color: #f5f5f5; +} +.navList { + width: calc(100vw - 20px); + /* height: 97px; */ + display: flex; + flex-wrap: wrap; + justify-content: start; + align-items: center; + text-align: center; + padding-top: 12px; + margin: 0 10px; + margin-top: 10px; + border-radius: 8px; + background-color: #fff; +} +.navSub { + width: 20%; + margin-bottom: 12px; +} +.navSub image { + width: 44px; + height: 44px; +} +#navBox { + position: relative; + overflow: hidden; + margin-top: 50px; + /* z-index: -1; */ + /* visibility: ; */ +} +.dlLogo{ + width: 24px; +height: 24px; +border-radius: 100%; +} diff --git a/pages/jobListSearch/index.js b/pages/jobListSearch/index.js new file mode 100644 index 0000000..cd9f795 --- /dev/null +++ b/pages/jobListSearch/index.js @@ -0,0 +1,2425 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); +Page({ + data: { + toped: "1", + chaShowed: false, + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + wannaList: ["电子厂", "大龄工", "日结", "保底", "返费", "短期工", "新能源", "富士康", "暑假工", "焊工", "食品", "学生"], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 20, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + ucj: 0, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, + //筛选是否高亮 + labelItems: [], + checkedlabelItems: [], + hasMoreData: true, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: app.globalData.isLogin, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "all", + sexid: "-1", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + choiceCollect: 0, //收藏的筛选 + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, // 内部成员的判断 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, // 是否是代理的判断 + serviceInfo: {}, // 代理信息 + navigatorBarHeight: 0, // 头部整体高度信息 + iosDialog: false, // 成为代理弹窗 + isLoading: true, // 成为代理图片加载loading效果 + isScrollTop: false, // 控制职位列表的滚动 + isWannaShow: false, // 猜你想搜是否显示 + historyList: [], // 最近搜索列表 + from: "", // 来自哪个页面 + placeholderText: "请输入关键词", + isFilterPage: false, + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + goLogin() { + wx.setStorageSync("comeFromPage", "index"); + wx.navigateTo({ + url: "/pages/login/index", + }); + }, + close() { + let that = this; + let brandList = that.data.brandList; + let selectBrandList = that.data.selectBrandList; + if (selectBrandList.length > 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + // that.data.storeJobListSearchForm.pageNum = 1; + let id = e.currentTarget.dataset.id; + console.log(id); + that.setData({ + toped: id, + // isScrollTop: false, + }); + + // 切换标准 简版 重新查询列表 + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // toped: id, + // recordList: [], + // }); + // that.getJobList(); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + if (!that.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 0); + that.setData({ + siv: "menu", + }); + } + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + this.setData({ + activez: str, + }); + }, + watch() {}, + + choosen: function (e) { + var str = e.currentTarget.dataset.id; + // var ageStr = e.currentTarget.dataset.str; + this.setData({ + sexid: str, + }); + }, + choiceSex(e) { + var that = this; + // let str = that.data.sexid + console.log(e); + let str = e.currentTarget.dataset.id; + console.log(str); + if (str == "1") { + this.data.secondMenu = "男生"; + } else if (str == "2") { + this.data.secondMenu = "女生"; + } else if (str == "-1") { + this.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + whichOneShow: "", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + }); + }, + openIOS1: function () { + this.setData({ + iosDialog1: true, + }); + }, + + openIOS2: function () { + this.setData({ + iosDialog2: true, + }); + }, + showphone: function () { + this.setData({ + phoneDialog: true, + }); + }, + searchKey: function (e) { + console.log(e); + + if (this.data.inputVal.trim() == "" && this.data.placeholderText == "请输入关键词") { + wx.showToast({ + title: "请输入内容", + icon: "none", + }); + } else { + this.setData({ + isWannaShow: false, + recordList: [], + }); + console.log(this.data.placeholderText); + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal || this.data.placeholderText; + this.setData({ + inputVal: this.data.inputVal || this.data.placeholderText, + }); + this.getJobList(); + this.setHistoryList(); + } + }, + setHistoryList() { + let that = this; + if (app.isNotEmptyCheck(wx.getStorageSync("projectSearch"))) { + that.data.historyList = wx.getStorageSync("projectSearch"); + } + if (that.data.historyList.indexOf(that.data.inputVal) > -1) { + that.data.historyList.splice(that.data.historyList.indexOf(that.data.inputVal), 1); + that.data.historyList.unshift(that.data.inputVal); + } else { + that.data.historyList.unshift(that.data.inputVal); + } + if (that.data.historyList.length > 10) { + that.data.historyList = that.data.historyList.splice(0, 10); + } + that.setData({ + historyList: that.data.historyList, + }); + wx.setStorageSync("projectSearch", that.funQC(that.data.historyList)); + }, + showInput: function () { + this.setData({ + inputShowed: true, + }); + }, + hideInput: function () { + this.setData({ + inputVal: "", + inputShowed: false, + }); + }, + onShareAppMessage1: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + return { + title: "伯才", + path: path, + }; + }, + + clearInput: function () { + this.setData({ + inputVal: "", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + recordList: [], + isWannaShow: true, + placeholderText: "请输入关键词", + }); + this.inputBlur(); + this.clearFilter(); + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.setData({ + recordList: [], + isWannaShow: true, + }); + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + // this.getJobList(); + } + }, + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + // that.setData({ + // tagArray0: [], + // tagArray1: [], + // tagArray2: [], + // tagArray3: [], + // }); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/type/95", // 分类列表获取接口 + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (that.data.storeJobListSearchForm.brandIds) { + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + } + console.log(res.data.data.labels); + + res.data.data.labels.forEach((item) => { + item["checked"] = false; + if (brandIdArray) { + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + } + }); + that.setData({ + brandList: res.data.data.labels, + }); + } + }, + }); + // wx.request({ + // url: app.globalData.ip + "/brand/getBrandNameAllList", + // data: {}, + // header: app.globalData.header, + // method: "GET", + // success: function (res) { + // console.log(res); + + // var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + // res.data.data.forEach((item) => { + // item["checked"] = false; + // brandIdArray.forEach((item1) => { + // if (item.id == item1) { + // item["checked"] = true; + // } + // }); + // }); + // that.setData({ + // brandList: res.data.data, + // }); + // }, + // }); + }, + selectJobSpecialLabel: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + var indexTag = e.currentTarget.dataset.indexTag; + let index1 = ""; + console.log(e); + console.log(indexTag); + // debugger; + if (indexTag == "0") { + if (that.data.tagArray0[index].checked) { + that.data.tagArray0[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray0[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray0[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray0[index]); + } + this.setData({ + tagArray0: that.data.tagArray0, + }); + } else if (indexTag == "1") { + console.log('indexTag == "1"'); + if (that.data.tagArray1[index].checked) { + that.data.tagArray1[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray1[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray1[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray1[index]); + } + this.setData({ + tagArray1: that.data.tagArray1, + }); + } else if (indexTag == "2") { + if (that.data.tagArray2[index].checked) { + that.data.tagArray2[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray2[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray2[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray2[index]); + } + this.setData({ + tagArray2: that.data.tagArray2, + }); + } else if (indexTag == "3") { + if (that.data.tagArray3[index].checked) { + that.data.tagArray3[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray3[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray3[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray3[index]); + } + this.setData({ + tagArray3: that.data.tagArray3, + }); + } + this.setData({ + selectJobList: that.data.selectJobList, + }); + // jobSpecialLabelList + + // if(that.data.jobSpecialLabelList[index].checked) { + // that.data.jobSpecialLabelList[index].checked = false; + // } else { + // that.data.jobSpecialLabelList[index].checked = true; + // } + // this.setData({ + // jobSpecialLabelList: that.data.jobSpecialLabelList + // }); + }, + selectBrand: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + if (that.data.brandList[index].checked) { + that.data.brandList[index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // that.data.storeJobListSearchForm.brandIds = ""; + } else if (e.target.dataset.type == 4) { + that.setData({ + activez: "", + }); + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + that.data.jobSpecialLabelList.forEach((item) => { + if (item.checked) { + jobSpecialLabelIdArray.push(item.id); + } + }); + + if (jobSpecialLabelIdArray.length > 0) { + that.data.storeJobListSearchForm.jobSpecialLabelIds = jobSpecialLabelIdArray.join(","); + } else { + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } + + var brandIdArray = []; + that.data.selectBrandList = []; + that.data.brandList.forEach((item) => { + if (item.checked) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let jobList = that.data.tagArray0.concat(that.data.tagArray1, that.data.tagArray2, that.data.tagArray3); + jobList.forEach((item) => { + if (item.checked) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + if (brandIdArray.length > 0) { + // that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + that.data.storeJobListSearchForm.jobCategoryLabelIds = brandIdArray.join(","); + } else { + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + siv: "", + whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + }); + that.getJobList(); + }, + onLoad(options) { + var that = this; + console.log(options); + console.log(that.data.menuButton); + // let query = wx.createSelectorQuery() + // console.log(query.select('#searchBar')); + console.log(app.globalData.isLogin); + console.log(app.globalData.loginUserInfo.agencyStatus); + + console.log(); + this.getListByTypeAndIndustry(); + this.getBrandNameAllList(); + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + // 检查从哪个页面进来的 + console.log(options); + if (options.from) { + if (options.from != "filter") { + this.setData({ + isWannaShow: true, + }); + if (options.listtype) { + this.setData({ + toped: options.listtype, + }); + } + } + this.setData({ + from: options.from, + }); + } + if (options.data) { + console.log(JSON.parse(options.data)); + that.data.storeJobListSearchForm = JSON.parse(options.data); + } + if (options.key) { + this.setData({ + placeholderText: options.key, + }); + } + if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + // try { + // var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + // var searchValue = wx.getStorageSync("SEARCH_VAL"); + // console.log(searchValue); + // if (searchCityParamStorage) { + // console.log("searchCityParamStorage======", searchCityParamStorage); + // that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + // if (app.isEmptyCheck(searchCityParamStorage.name)) { + // that.data.storeJobListSearchForm.cityName = "全国"; + // } + // console.log(that.data.storeJobListSearchForm); + // console.log(searchValue); + // if (searchValue) { + // that.data.storeJobListSearchForm.keys = searchValue; + // that.data.inputVal = searchValue; + // } + // that.setData({ + // searchCityParamStorage: searchCityParamStorage, + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // inputVal: that.data.inputVal, + // }); + // this.getJobList(); + // } + // } catch (e) { + // console.log("获取缓存设置的查询职位列表参数错误:", e); + // } + } else { + try { + wx.removeStorageSync("searchJobListParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + try { + wx.removeStorageSync("searchCityParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(that.data.serviceInfo); + }; + console.log(that.data.serviceInfo); + } + //登录=================================end + + this.getHopeJobLabels(); + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + }, + onReady() { + let that = this; + }, + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + if (that.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${res.tempFilePaths[0]}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + if (this.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + PageScroll(e) { + let that = this; + const query = wx.createSelectorQuery().in(this); + query + .select(".sticky") + .boundingClientRect(function (res) { + console.log(res); + if (res.top <= 5) { + that.setData({ + isScrollTop: true, + }); + } else if (res.top > 0 && res.top < 90) { + that.setData({ + isScrollTop: false, + }); + } else if (res.top >= 90) { + that.setData({ + isScrollTop: false, + }); + } + }) + .exec(); + }, + onShow() { + let that = this; + that.data.storeJobListSearchForm.pageNum = 1; + console.log(that.data.from); + if (wx.getStorageSync("FROMCITY")) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + + that.setData({ + searchCityParamStorage: searchCityParamStorage, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.setData({ + recordList: [], + }); + this.getJobList(); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + wx.removeStorageSync("FROMCITY"); + }else{ + // that.setData({ + // recordList: [], + // }); + // that.getJobList(); + } + if (app.isNotEmptyCheck(wx.getStorageSync("projectSearch")) && that.data.from == "project") { + console.log(wx.getStorageSync("projectSearch")); + that.setData({ + historyList: wx.getStorageSync("projectSearch"), + }); + } + if (that.data.from == "filter") { + console.log(123); + that.data.storeJobListSearchForm.keys = "1"; + that.setData({ + isFilterPage: true, + recordList: [], + }); + that.getJobList(); + wx.setNavigationBarTitle({ + title: "职位匹配", + }); + } + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + iosDialog2: app.globalData.isLogin ? false : that.data.iosDialog2, + recordBillType: "", + }); + console.log(app.globalData); + + setTimeout(() => { + if (app.globalData.isLogin) { + that.setData({ + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + }); + console.log(app.globalData.loginUserInfo); + } else { + that.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + this.wxLogin(); + } + }, 100); + console.log(app.globalData.headers); + // if (that.data.inputVal != "") { + // console.log(that.data.inputVal); + // that.setData({ + // recordList: [], + // }); + + // that.getJobList(); + // } + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + this.getHopeJobLabels(); + var reset = true;*/ + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + let that = this; + console.log("search"); + if (!that.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + wx.navigateTo({ + url: "../city/index?from=search", + }); + wx.setStorageSync("SEARCH_VAL", that.data.storeJobListSearchForm.keys); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList(e) { + console.log(e); + var that = this; + // debugger + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + console.log(that.data.searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = that.data.searchCityParamStorage.name; + if (app.isEmptyCheck(that.data.searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.data.storeJobListSearchForm.keys = that.data.inputVal == "" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/overall/store/job/list", + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + }); + + that.setData({ + recordList: that.data.recordList, + isWannaShow: that.data.searchCityParamStorage ? false : true, + }); + setTimeout(() => { + var query = wx.createSelectorQuery(); + query.select(".navigator").boundingClientRect(); + query.exec(function (res) { + //res就是 所有标签为v1的元素的信息 的数组 + console.log(res); + //取高度 + console.log(res[0].height); + that.setData({ + navigatorBarHeight: res[0].height, + }); + console.log(that.data.navigatorBarHeight); + }); + }, 300); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + // 根据实际数据加载情况设定 loadMore 的值即可,分别为 load 和 over + + this.setData({ + loadMore: "load", + // loading:true + }); + } else { + // if (that.data.pullNum == 0) { + // that.openIOS1(); + // } + } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + if (this.data.isLogin) { + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode, + }); + } else { + wx.navigateTo({ + url: "../login/index", + }); + } + }, + backIndex() { + console.log(123); + wx.reLaunch({ + url: "/pages/firstBill/index", + success: (result) => {}, + fail: () => {}, + complete: () => {}, + }); + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + + console.log(event.currentTarget.dataset.item); + event.currentTarget.dataset.item["jobDesp"] = event.currentTarget.dataset.item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp.replace("⚠", ""); + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp1.replace("[红包]", ""); + that.setData({ + currentJobDrawer: { ...event.currentTarget.dataset.item, index: event.currentTarget.dataset.index }, + drawerShow: true, + }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + var text = that.data.currentJobDrawer.jobDesp + contentInfo; + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + that.setData({ + drawerShow: false, + }); + setTimeout(() => { + wx.showTabBar({ + success(e) {}, + }); + }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.redirectTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + that.showInput(); + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, + /** + * 收藏的切换 + * + * + */ + collectChange(e) { + let that = this; + if (that.data.isLogin || (!that.data.isLogin && e.currentTarget.dataset.id == 0)) { + if (e.currentTarget.dataset.id) { + that.data.choiceCollect = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.ucj = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + choiceCollect: that.data.choiceCollect, + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + hasMoreData: true, + }); + that.getJobList(); + } + } else { + // if(e.currentTarget.dataset.id == 1){ + that.setData({ + recordList: [], + choiceCollect: 1, + }); + // } + } + }, + choiceFilter(e) { + var that = this; + // let str = that.data.activez + let str = e.currentTarget.dataset.id; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "工价", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + that.setData({ + activez: str, + }); + that.setData({ + whichOneShow: "", + siv: "", + }); + // setTimeout(() => { + // that.setData({ + // whichOneShow: "", + // }); + // console.log(this.data.whichOneShow); + // console.log("112233"); + // }, 1); + }, + /** + * 清除所有的筛选项 + * + * + */ + clearFilter() { + let that = this; + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + // that.data.storeJobListSearchForm.ucj = + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sortTag = 0; + that.data.storeJobListSearchForm.sex = -1; + + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + brandList: that.data.brandList, + selectJobList: [], + selectBrandList: [], + recordList: [], + whichOneShow: "", + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "all", + }); + + if (!that.data.isWannaShow) { + // that.choiceFilter({ + // currentTarget: { + // dataset: { + // id: "all", + // }, + // }, + // }); + // that.choiceSex({ + // currentTarget: { + // dataset: { + // id: "-1", + // }, + // }, + // }); + that.getJobList("isWannaShow"); + } + }, + scroll(e) { + e.preventDefault(); + e.stopPropagation(); + }, + stoptap(e) { + e.preventDefault(); + e.stopPropagation(); + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + /** + * 简版报名 + * + * + */ + recordBill(e) { + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + setKey(e) { + console.log(e); + let data = e.currentTarget.dataset.key; + this.data.storeJobListSearchForm.keys = data; + this.setData({ + inputVal: data, + isWannaShow: false, + }); + this.setHistoryList(); + this.getJobList(); + }, + /** + * 存最近搜索调用的函数 + * + * + */ + funQC(arr) { + let newsArr = []; + for (let i = 0; i < arr.length; i++) { + if (app.isEmptyCheck(arr[i])) { + continue; + } + if (newsArr.indexOf(arr[i]) === -1) { + newsArr.push(arr[i]); + } + } + return newsArr; + }, + /** + * 删除最近搜索 + * + * + */ + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + /** + * 阻止滑动穿透 + * + * + */ + clearNearSearch() { + let that = this; + wx.showModal({ + title: "删除最近搜索", + content: "确定删除所有的最近搜索吗?", + contentColor: "#ccc", + confirmColor: "#ff4400", + confirmText: "确定", + cancelText: "取消", + success(res) { + console.log(res); + if (res.confirm) { + that.setData({ + historyList: [], + }); + wx.removeStorageSync("projectSearch"); + wx.showToast({ + title: "已删除", + icon: "none", + }); + } + }, + }); + }, + modalMove() { + return false; + }, + onHide() { + console.log("hide"); + wx.removeStorageSync("searchJobListParamStorage"); + wx.removeStorageSync("searchCityParamStorage"); + this.setData({ + whichOneShow: "", + }); + }, + onUnload() { + console.log("destory"); + }, +}); diff --git a/pages/jobListSearch/index.json b/pages/jobListSearch/index.json new file mode 100644 index 0000000..84dd50b --- /dev/null +++ b/pages/jobListSearch/index.json @@ -0,0 +1,7 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "搜索", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/jobListSearch/index.wxml b/pages/jobListSearch/index.wxml new file mode 100644 index 0000000..2a16f1e --- /dev/null +++ b/pages/jobListSearch/index.wxml @@ -0,0 +1,479 @@ + + + + + + + 搜索 + + + + + + + 最近搜索 + + + + {{item}} + + + + + + 猜你想搜 + + {{item}} + + + + + + + + + + + + {{searchCityParamStorage.name == '' ? '全国' : searchCityParamStorage.shortName}} + + + + {{firstMenu}} + + + + + + 综合排序 + 工价优先 + 距离优先 + + + + + {{ secondMenu }} + + + + + 男女不限 + 男生 + 女生 + + + + + 分类 + + + {{selectBrandList.length}} + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + + + 筛选 + + + {{selectJobList.length}} + + + + 薪资福利 + + + {{item.name}} + + + 食宿保障 + + + {{item.name}} + + + 班制特色 + + + {{item.name}} + + + 其它特色 + + + {{item.name}} + + + + + + + + + + + + + + + + + + + {{firstMenu}} + + + {{secondMenu}} + + + + {{item.name}} + + + + + {{item.name}} + + + + + + 清除 + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName}} + {{item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + {{item1}} + 暂无特色 + + + 报名 + + + 报名 + + + + + + + + + + + + + 没有符合条件的职位 + + + + 已经到底啦~ + 上滑加载更多 + + + + + + + + + 没有符合条件的职位 + + + + + + + + + + + + + + + + {{index < 9?'0'+(index+1):index+1 }} + + {{item.jobName}} + {{item.salaryClassifyValue}},{{item.age}} + {{item.minMonthlyPay+'-'+item.maxMonthlyPay+'元/月'}},{{item.age}} + + + + + + + + + + 代理 + + + {{!isLogin ? '登录查看服务费' : (agencyStatus == 1 ? (item.fuWuFei ? item.fuWuFei : '-') : '服务费仅代理可见')}} + + + + + + + + 没有符合条件的职位 + + + + 已经到底啦~ + 上滑加载更多 + + + + 未登录时只能使用部分功能,成为伯才代理即可使用更多功能。 + + 登录稻田 + + + + + + + + 没有符合条件的职位 + + + + + + + + + + + + {{currentJobDrawer.jobName}} + + 服务费:{{!isLogin ? '登录查看服务费' : (agencyStatus == 1 ? (currentJobDrawer.fuWuFei ? currentJobDrawer.fuWuFei : '-') : '服务费仅代理可见')}} + + + + + + + + + +

已收藏

+ + +

收藏

+
+ + 报名 + + + 复制 + + + + + + + {{userInfo.agencyStatus == 1 ? (userInfo.noticeEndStr ? userInfo.noticeEndStr : ('详情咨询:' + userInfo.tel)) : ('详情咨询:' + serviceInfo.aliasName + (serviceInfo.workPhone || '-'))}} + + 以上联系人,可以 + 改成我的 + + + + + + + + + + + + + 成为伯才代理 + 请联系客户经理 + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + + + + 加载中... + + + 长按识别二维码 +
+
+
+
+
diff --git a/pages/jobListSearch/index.wxss b/pages/jobListSearch/index.wxss new file mode 100644 index 0000000..d775d9c --- /dev/null +++ b/pages/jobListSearch/index.wxss @@ -0,0 +1,118 @@ +@import "../index/index.wxss"; +.p1216 { + padding: 12px 16px; +} +page { + display: flex; + flex-direction: column; +} +.container { + flex: 1; +} +.historyBox { + display: flex; + flex-wrap: wrap; +} +.searchTag { + display: flex; + padding: 6px 12px; + margin-bottom: 10px; + /* float: left; */ + background-color: #fff; + border-radius: 2px; + font-size: 14px; + color: #333333; + margin-left: 10px; +} +.weui-search-bar.fff { + background-color: #fff; +} +.weui-search-bar.be { + background-color: #ff4400; +} +.weui-search-bar .icon-qingchu1 { + position: absolute !important; + z-index: 9999999; +} +.weui-search-bar .icon-qingchu1::after { + z-index: 9999; +} +.agencyRoleContainer { + padding: 10px; +} +.sub { + display: flex; + justify-content: space-between; + align-items: center; + height: 81px; + padding: 0 10px; + font-size: 18px; + background-color: #fff; + border-radius: 8px; +} +.sub-hover { + background-color: #e5e5e5; +} +.sub:not(:first-child) { + margin-top: 10px; +} +.weui-search-bar__box .weui-search-bar__input { + width: unset; +} + +.wannaList { + display: flex; + flex-wrap: wrap; +} +.wannaList .subset { + position: relative; + padding: 5px 12px; + margin-right: 10px; + margin-top: 10px; + background-color: #fff; + border-radius: 16px; +} +.wannaList .subset .clearIcon{ + position: absolute; + top: -6px; + right: -4px; + color: #aaa; +} +.wannaSearch { + position: relative; + /* margin-top: 32px; */ +} +.wannaSearch .laji{ + position: absolute; + right: 16px; + top: 0; + color: #999; +} +.markImg{ + z-index: 9; +} +.bottomBox{ + background-color: #fff; + border-top: 1px solid #eeeeee; + overflow: hidden; + position: absolute; + bottom: 0; + width: 100%; +} +.backIndex{ + width: 260px !important; + height: 44px; + opacity: 1; + display: flex; + align-items: center; + justify-content: center; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} \ No newline at end of file diff --git a/pages/login/index.js b/pages/login/index.js new file mode 100644 index 0000000..85cab28 --- /dev/null +++ b/pages/login/index.js @@ -0,0 +1,690 @@ +const app = getApp(); +const commonUtil = require("../../utils/commonUtil"); +Page({ + data: { + disabled: 0, //0不可点 + getmsg: "获取验证码", + pop: 0, + tel: "", + userId: -1, + msgCode: "", + userUniqueCheck: true, //用户是否唯一 + tapFlag: true, //点击手机号倒计时变红 + regionMgrId: "", + reg_type: "a", + wxCode: "", + btnColor: false, + formPath: "", + loginType: "tel", // 登录类型 + password: null, + + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + onLoad: function (options) { + var that = this; + console.log(options); + if (options.type) { + this.setData({ + loginType: options.type, + }); + } + this.setData({ + formPath: options.path, + }); + if (app.isNotEmptyCheck(options.scene)) { + console.log("XXXXXXXXXXXX") + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + app.globalData.loginKey = sceneJson.loginKey + debugger + + app.getLoginUserTokenInfo().then(res => { + console.log(res) + + if(app.isNotEmptyCheck(app.globalData.loginKey)) { + app.globalData.loginKey = ""; + if(app.globalData.loginUserInfo.agencyStatus == 1) { + wx.navigateTo({ + url: '/pages/bocaiTV/index', + }) + } + + } + }) + + } + }, + onShow: function () { + + var comeFrom = wx.getStorageSync("comeFromPage"); + console.log(comeFrom); + + // app.dialog("通知","请注意","知道了") + this.wxLogin(); + }, + changeBtn: function (e) { + var myreg = /^[1][3456789][0-9]{9}$/; + if (myreg.test(e.detail.value)) { + console.log("验证码变色"); + this.setData({ + disabled: "1", + btnColor: true, + tel: e.detail.value, + }); + } else { + this.setData({ + btnColor: false, + disabled: 0, + }); + } + }, + showCha: function (e) { + var myreg = /^[1][3456789][0-9]{9}$/; + console.log(e.detail.value); + if (e.target.dataset.tel == 1) { + // && this.data.tapFlag + if (myreg.test(e.detail.value)) { + console.log("验证码变色"); + this.setData({ + disabled: 1, + btnColor: true, + tel: e.detail.value, + }); + } else { + this.setData({ + btnColor: false, + disabled: 0, + }); + } + } else { + this.setData({ + msgCode: e.detail.value, + }); + } + }, + /** + * 改变登录类型 + * + * + */ + changeLoginType() { + this.setData({ + loginType: this.data.loginType == "psw" ? "tel" : "psw", + }); + }, + sendMsg: function () { + console.log(this.data.tel); + var that = this; + + that.setData({ + btnColor: false, + disabled: 0, + }); + + that.getCode(); + var timer = 1; + if (timer == 1) { + timer = 0; + var time = 60; + var inter = setInterval(function () { + that.setData({ + getmsg: time + "s", + btnColor: false, + disabled: 0, + tapFlag: false, + }); + time--; + if (time < 0) { + timer = 1; + clearInterval(inter); + that.setData({ + getmsg: "重新获取", + btnColor: true, + disabled: 1, + tapFlag: true, + }); + } + }, 1000); + } + }, + + getCode: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/commons/sendMsgCode", + data: { + tel: that.data.tel, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log("发送短信验证码"); + console.log(res); + if (res.data.status == 200) { + } else if (res.data.status == 9999) { + app.dialogNotLogin(); + } else { + } + }, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + wx.showLoading({ + title: "登录中...", + }); + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + app.globalData.unionid = res.data.data.unionid; + app.globalData.isLogin = 1; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + try { + var comeFrom = wx.getStorageSync("comeFromPage"); + console.log(comeFrom); + // debugger + // console.log(app.isNotEmptyCheck(that.globalData.loginKey)); + + + + + // var comeFromPageParam = wx.getStorageSync('comeFromPageParam'); + console.log(comeFrom); + if (comeFrom == "me") { + wx.reLaunch({ + url: "/pages/mine/index", + }); + } else if (comeFrom == "set") { + wx.reLaunch({ + url: "../workBench/index", + }); + } else if (comeFrom == "detail") { + wx.navigateBack({ + delta: 1, + }); + }else if (comeFrom == "shareList") { + wx.reLaunch({ + url: "/pages/shareList/index", + }); + } else if (comeFrom == "detailBaoming") { + wx.reLaunch({ + url: `../newEnroll/enroll/index?applyType=1&info=${wx.getStorageSync("baomingDetail")}`, + }); + } else if (comeFrom == "collect") { + wx.reLaunch({ + url: "/pages/collect/index", + }); + } else if (comeFrom == "index") { + wx.reLaunch({ + url: "/pages/index/index", + }); + } else if (comeFrom == "BillInfo") { + // console.log(wx.getStorageSync('QRBillInfo')); + // console.log(JSON.stringify(wx.getStorageSync('QRBillInfo'))); + wx.reLaunch({ + url: "/pages/wodeBillDetail/index?info=" + JSON.stringify(wx.getStorageSync("QRBillInfo")), + }); + wx.removeStorageSync("QRBillInfo"); + } else { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/index/index", + }); + } + + // if (app.isNotEmptyCheck(that.globalData.loginKey)){ + // wx.redirectTo({ + // url: 'pages/bocaiTV/index', + // }) + // return + // } + + + + } catch (e) { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/index/index", + }); + } + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "dtdl", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + wx.reLaunch({ + url: "/pages/index/index", + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + try { + wx.setStorageSync("comeFromPage", "me"); + } catch (e) { + console.log("0-页面跳转,设置参数错误:", e); + } + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + } + return false; + }, + /** + * 登录信息提交前校验 + * + * + */ + beforeFormSubmit(e) { + console.log(e); + let that = this; + if (that.data.loginType == "tel") { + this.formSubmit(e.detail.value); + } else { + this.pswLogin(); + } + }, + /** + * 账号密码登录 + * + * + */ + pswLogin() { + let that = this; + app.load("登录中..."); + console.log(that.data.tel); + console.log(that.data.password); + if (that.data.tel == "") { + app.hideLoad(); + app.showTips(that, "请输入正确手机号"); + return; + } + if (that.data.password == "") { + app.hideLoad(); + app.showTips(that, "密码不能为空"); + return; + } + var channelContactId = ""; + try { + var value = wx.getStorageSync("fromQrCodeChannelContactId"); + if (value) { + console.log("fromQrCodeChannelContactId:======", value); + channelContactId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + var agencyUserId = ""; + try { + var value = wx.getStorageSync("storageSyncAgencyUserId"); + if (value) { + console.log("storageSyncAgencyUserId======", value); + agencyUserId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + wx.request({ + url: app.globalData.ip + "/yishoudan/login", + data: { + tel: that.data.tel, + password: that.data.password, + autoLoginTag: 0, + loginType: 0, + channelContactId: channelContactId, + agencyUserId: agencyUserId, + isScanQRCodes: app.globalData.isScanQRCodes, + wxCode: that.data.wxCode, + }, + method: "post", + header: { + "content-type": "application/x-www-form-urlencoded", + }, + success: function (res) { + app.hideLoad(); + console.log(res.data); + + if (res.data.status == 200) { + that.setLoginData(res); + wx.request({ + url: app.globalData.ip + "/costumer/manager", + header: app.globalData.headers, + success(res) { + console.log(res); + if (res.data.status == 200) { + app.globalData.serviceInfo = res.data.data; + console.log(app.globalData.serviceInfo); + if (app.globalData.serviceInfo.workPhone) { + let tel = app.globalData.serviceInfo.workPhone; + let num1 = tel.slice(0, 3); + let num2 = tel.slice(3, 7); + let num3 = tel.slice(7, 11); + app.globalData.serviceInfo.tel = num1 + "-" + num2 + "-" + num3; + console.log(app.globalData.serviceInfo.tel); + } + } + }, + }); + console.log(222); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + } + }, + }); + }, + /** + * 手机验证登录 + * + * + */ + formSubmit: function (data) { + app.load("登录中..."); + var that = this; + + if (that.data.tel == "") { + app.hideLoad(); + app.showTips(that, "请输入正确手机号"); + return; + } + if (that.data.msgCode == "") { + app.hideLoad(); + app.showTips(that, "验证码不能为空"); + return; + } + + var channelContactId = ""; + try { + var value = wx.getStorageSync("fromQrCodeChannelContactId"); + if (value) { + console.log("fromQrCodeChannelContactId:======", value); + channelContactId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + + var agencyUserId = ""; + try { + var value = wx.getStorageSync("storageSyncAgencyUserId"); + if (value) { + console.log("storageSyncAgencyUserId======", value); + agencyUserId = value; + } + } catch (e) { + console.log("获取缓存设置的参数错误:", e); + } + console.log(that.data.tel); + // if (that.data.tel == "18537774") { + // // (app.globalData.header.Authorization = "Bearer " + "eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ0b2tlbiI6IntcImNyZWF0ZWRcIjoxNjg2OTA0NDEzMzM0LFwidGVsXCI6XCIxODUzNzc3MjI0NFwiLFwidXNlcklkXCI6MzEyNDk2LFwidXNlck5hbWVcIjpcIumZiOe7j-eQhlwifSJ9.9Z0cqhQ9o7dKyxyLflUcT6MhkdkmPXOs49wHjM4z1ko"), + // wx.request({ + // url: app.globalData.ip + "/appLoginByToken", + // header: app.globalData.header, + // success: function (res) { + // console.log(res); + // if (app.isNotEmptyCheck(res.data)) { + // app.globalData.user = res.data.data.user; + // app.globalData.sessionId = res.data.data.sessionId; + // app.globalData.headers.Cookie = "JSESSIONID=" + res.data.data.sessionId; + // app.globalData.headers2.Cookie = "JSESSIONID=" + res.data.data.sessionId; + // app.globalData.isLogin = true; + // app.globalData.agencyStatus = res.data.data.agencyStatus; + // app.globalData.loginUserInfo = res.data.data; + // //登录设置缓存 + // app.globalData.userLoginTokenInfo.tel = res.data.data.tel; + // app.globalData.userLoginTokenInfo.token = "eyJUeXBlIjoiSnd0IiwidHlwIjoiSldUIiwiYWxnIjoiSFMyNTYifQ.eyJ0b2tlbiI6IntcImNyZWF0ZWRcIjoxNjg2OTA0NDEzMzM0LFwidGVsXCI6XCIxODUzNzc3MjI0NFwiLFwidXNlcklkXCI6MzEyNDk2LFwidXNlck5hbWVcIjpcIumZiOe7j-eQhlwifSJ9.9Z0cqhQ9o7dKyxyLflUcT6MhkdkmPXOs49wHjM4z1ko"; + // wx.setStorageSync("loginUserTokenInfo", app.globalData.userLoginTokenInfo); + // try { + // var comeFrom = wx.getStorageSync("comeFromPage"); + // // var comeFromPageParam = wx.getStorageSync('comeFromPageParam'); + // console.log(comeFrom); + // if (comeFrom == "me") { + // wx.reLaunch({ + // url: "/pages/index/index", + // }); + // } else if (comeFrom == "index") { + // wx.reLaunch({ + // url: "/pages/index/index", + // }); + // } else if (comeFrom == "detail") { + // wx.navigateBack({ + // delta: 1, + // }); + + // // wx.reLaunch({ + // // url: "/pages/detail/index?storeJobId=" + comeFromPageParam.storeJobId + // // }) + // } else if (comeFrom == "collect") { + // wx.reLaunch({ + // url: "/pages/collect/index", + // }); + // } else if (comeFrom == "BillInfo") { + // // console.log(wx.getStorageSync('QRBillInfo')); + // // console.log(JSON.stringify(wx.getStorageSync('QRBillInfo'))); + // wx.reLaunch({ + // url: "/pages/wodeBillDetail/index?info=" + JSON.stringify(wx.getStorageSync("QRBillInfo")), + // }); + // wx.removeStorageSync("QRBillInfo"); + // } else { + // wx.setStorage({ + // key: "comeFrom", + // data: "login", + // }); + // wx.reLaunch({ + // url: "/pages/workBench/index", + // }); + // } + // } catch (e) { + // wx.setStorage({ + // key: "comeFrom", + // data: "login", + // }); + // wx.reLaunch({ + // url: "/pages/index/index", + // }); + // } + // } else { + // } + // }, + // }); + // } else { + + wx.request({ + url: app.globalData.ip + "/appLoginByTelYiShouDan", + data: { + tel: that.data.tel, + code: that.data.msgCode, + autoLoginTag: 0, + loginType: "login", + channelContactId: channelContactId, + agencyUserId: agencyUserId, + isScanQRCodes: app.globalData.isScanQRCodes, + wxCode: that.data.wxCode, + }, + header: { + "content-type": "application/json", + }, + success: function (res) { + app.hideLoad(); + + console.log(res.data); + + if (res.data.status == 200) { + that.setLoginData(res); + console.log(222); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + } + }, + }); + // } + }, + /** + * 将传回的登录信息存储以及页面的跳转 + * + * + */ + setLoginData(res) { + console.log(res); + app.globalData.user = res.data.data.user; + app.globalData.sessionId = res.data.data.sessionId; + app.globalData.headers.Cookie = "JSESSIONID=" + res.data.data.sessionId; + app.globalData.headers2.Cookie = "JSESSIONID=" + res.data.data.sessionId; + app.globalData.isLogin = true; + app.globalData.agencyStatus = res.data.data.agencyStatus; + app.globalData.loginUserInfo = res.data.data; + //登录设置缓存 + app.globalData.userLoginTokenInfo.tel = res.data.data.tel; + // app.globalData.userLoginTokenInfo.token = null; + wx.setStorageSync("loginUserTokenInfo", app.globalData.userLoginTokenInfo); + + console.log(111); + try { + var comeFrom = wx.getStorageSync("comeFromPage"); + // var comeFromPageParam = wx.getStorageSync('comeFromPageParam'); + console.log(comeFrom); + if (app.isNotEmptyCheck(that.globalData.loginKey)){ + wx.redirectTo({ + url: 'pages/bocaiTV/index', + }) + } + + + + if (comeFrom == "me") { + wx.reLaunch({ + url: "/pages/index/index", + }); + } else if (comeFrom == "index") { + wx.reLaunch({ + url: "/pages/index/index", + }); + } else if (comeFrom == "detail") { + wx.navigateBack({ + delta: 1, + }); + } else if (comeFrom == "collect") { + wx.reLaunch({ + url: "/pages/collect/index", + }); + }else if (comeFrom == "shareList") { + wx.reLaunch({ + url: "/pages/shareList/index", + }); + } else if (comeFrom == "BillInfo") { + // console.log(wx.getStorageSync('QRBillInfo')); + // console.log(JSON.stringify(wx.getStorageSync('QRBillInfo'))); + wx.reLaunch({ + url: "/pages/wodeBillDetail/index?info=" + JSON.stringify(wx.getStorageSync("QRBillInfo")), + }); + wx.removeStorageSync("QRBillInfo"); + } else { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/workBench/index", + }); + } + } catch (e) { + wx.setStorage({ + key: "comeFrom", + data: "login", + }); + wx.reLaunch({ + url: "/pages/index/index", + }); + } + }, + ohShitfadeOut() { + var fadeOutTimeout = setTimeout(() => { + this.setData({ popErrorMsg: "", pop: 0 }); + clearTimeout(fadeOutTimeout); + }, 3000); + }, +}); diff --git a/pages/login/index.json b/pages/login/index.json new file mode 100644 index 0000000..c2afa67 --- /dev/null +++ b/pages/login/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarBackgroundColor":"#027aff", + "navigationBarTextStyle":"white", + "backgroundColor": "#FFFFFF", + "navigationBarTitleText": "登录" +} \ No newline at end of file diff --git a/pages/login/index.wxml b/pages/login/index.wxml new file mode 100644 index 0000000..bc26b31 --- /dev/null +++ b/pages/login/index.wxml @@ -0,0 +1,66 @@ + + + + + + + + + + + 为劳动者创造价值 + + + +
+ + + + + + + + + {{getmsg}} + + + + + + + + + + {{loginType == 'psw' ? '验证码登录':'密码登录'}} + 找回密码 + + + + + + + + + + + +
+
+ + + + 伯才人力资源供应链平台 荣誉出品 + + + +
+ + {{popErrorMsg}} + diff --git a/pages/login/index.wxss b/pages/login/index.wxss new file mode 100644 index 0000000..de511db --- /dev/null +++ b/pages/login/index.wxss @@ -0,0 +1,225 @@ +page { + background-color: #fff; +} +.tc .logo { + width: 70px; + height: 70px; + margin: 5% 0 0; +} +.container { + display: flex; + flex-direction: column; + justify-content: space-around; + height: 100vh; +} +.logoPng { + width: 70px; + height: 70px; + margin-top: 30px; + /* margin-bottom: 20px; */ +} +.logoTxt { + font-size: 18px; + font-weight: 400; + color: #919191; + line-height: 25px; + margin-bottom: 30px; +} +.input_base { + border: 2rpx solid #0000000f; + padding-left: 10rpx; + margin-right: 50rpx; +} + +.input_h30 { + height: 30px; + line-height: 30px; +} + +.input_h60 { + height: 60px; +} + +.input_view { + font: 12px; + background: #fff; + color: #000; + line-height: 30px; +} + +.wx-text-list, +.wx-text-cover { + background-color: #fff; +} + +.wx-text-list .wx-list-li, +.wx-text-cover .wx-list-li { + display: flex; + -webkit-align-items: center; + align-items: center; + -webkit-justify-content: center; + justify-content: center; + padding: 10px 15px 10px 0; + margin-left: 15px; + border-bottom: 1px solid #f3f3f3; +} + +.li-hover { + background-color: #ececec; +} + +.wx-text-list .wx-list-li:last-child { + border-bottom: 0; +} + +.flex-right { + text-align: right; + flex: 1; +} + +.flex-left { + text-align: left; + flex: 1; +} + +.input-pl { + padding-left: 30px; +} + +.mw-label { + min-width: 90px; +} + +.wx-list-li .icon-xiayiye, +.wx-list-li .icon-dianji { + font-size: 30rpx; + padding-left: 5px; + display: inline; + color: #ccc; + position: relative; + top: -3px; +} + +.wx-list-li .icon-dianji { + opacity: 0; + pointer-events: none; +} + +.cur.icon-dianji { + opacity: 1; + pointer-events: auto; +} + +.pce { + color: #ccc; +} + +.wx-text-cover .wx-list-li { + margin-left: 0; + padding-left: 15px; +} + +.list-avater { + width: 120rpx; + height: 120rpx; + border-radius: 4px; + margin-right: 10px; +} + +.radio-group { + background-color: #fff; +} + +label.radio { + display: block; + padding: 12px 0; + margin-left: 15px; + background: #fff; + border-bottom: 1px solid #0000000f; +} + +label.radio:last-child { + border-bottom: 0; +} + +.icon-fangdajing { + line-height: 30px; + position: relative; + top: -4px; + margin-right: 3px; +} + +.ui-searchbar input { + padding: 0; +} +.loginForm { + padding: 0 37px; + /* margin-top: 12%; */ +} + +.phoneInput { + height: 50px; + opacity: 1; + background: #f4f4f4; + border-radius: 8px; + font-size: 17px; + font-weight: 400; + color: #000; + line-height: 24px; + padding-left: 20px; + padding-right: 60px; +} +.onlyBtn { + margin-top: 12%; +} +button.loginBtn { + width: 260px !important; + height: 48px; + font-weight: 500; + border-radius: 25px; + font-size: 18px; + padding: 0; + color: #ffffff; + background-color: var(--color-ysd); + line-height: 48px; +} +.loginBtn.wxBtn { + width: 258px !important; + height: 46px; + line-height: 46px; + background-color: #fff; + color: var(--color-ysd); + border: 1px solid var(--color-ysd); +} +.loginBtnHov{ + background-color: var(--color-ysd) !important; + color: #fff !important; +} +/* .wxBtn.button-hover[type=primary] { + color: #FFFFFF; + background-color: #0c880a +} */ + +.sendCode.code { + border-left: 1px solid #0000000f; + line-height: 20px; + height: 20px; + font-size: 17px; + color: #333; + padding-left: 10px; + padding-right: 20px; + text-align: center; +} +.code.disabled { + color: #979797; + pointer-events: none; +} +.bocai { + /* position: sticky; */ + /* bottom: 0; + left: 0; */ + /* margin-top: 15%; */ +} +.changeType{ + padding: 0 20px; +} \ No newline at end of file diff --git a/pages/message/index.js b/pages/message/index.js new file mode 100644 index 0000000..23c7f05 --- /dev/null +++ b/pages/message/index.js @@ -0,0 +1,149 @@ +// pages/message/index.js +const app = getApp(); +import dateUtil from "../../utils/dateUtil"; +Page({ + /** + * 页面的初始数据 + */ + data: { + isLogin: app.globalData.isLogin, + serviceInfo: {}, + iosDialog: false, + isLoading: true, + messageClick: false, + infoList: [], + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.setData({ + messageClick: wx.getStorageSync("messageClick" + app.globalData.loginUserInfo.id), + }); + console.log(this.data.messageClick); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + // let serviceInfo = wx.getStorageSync('ServiceInfo') + this.getInfoList(); + console.log('messageTab'+typeof this.getTabBar); + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 1, + }); + } + setTimeout(() => { + this.setData({ + serviceInfo: app.globalData.serviceInfo, + isLoading: true, + messageClick: wx.getStorageSync("messageClick" + app.globalData.loginUserInfo.id), + }); + }, 10); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + this.setData({ + iosDialog: false, + }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + + makePhoneCall() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + + showdialog() { + this.setData({ + iosDialog: true, + loading: true, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + getInfoList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/bocai/cms/list", + data: { pageSize: 100, pageNum: 1, keys: "" }, + header: app.globalData.headers, + method: "post", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + res.data.data.pageBean.recordList.forEach(item => { + item['pubTime'] = dateUtil.timeShow(item.publishTime); + console.log(item); + }); + that.setData({ + infoList: res.data.data.pageBean.recordList, + }); + } + }, + }); + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + goDetail(e) { + console.log(e); + if (e.currentTarget.dataset.type == "wellcome") { + wx.setStorageSync("messageClick" + app.globalData.loginUserInfo.id, true); + wx.navigateTo({ + url: "/pages/messageDetail/index?type=1", + }); + } else { + wx.navigateTo({ + url: "/pages/messageDetail/index?id=" + e.currentTarget.dataset.id, + }); + } + }, +}); diff --git a/pages/message/index.json b/pages/message/index.json new file mode 100644 index 0000000..072ff77 --- /dev/null +++ b/pages/message/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText" : "消息", + "navigationBarBackgroundColor": "#027aff", + "backgroundColor": "#f5f5f5", + "navigationBarTextStyle": "white" +} \ No newline at end of file diff --git a/pages/message/index.wxml b/pages/message/index.wxml new file mode 100644 index 0000000..bcacfcc --- /dev/null +++ b/pages/message/index.wxml @@ -0,0 +1,107 @@ + + + + + + + + + + + 客户经理 + + {{serviceInfo.userName}} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+
+
+ + + + +
+ + + 伯才稻田欢迎您 + + 伯才稻田(以下简称”稻田“),是一个专门服务代理的平台。 + + + + + + + {{item.title}} + + {{item.pubTime}} + + {{item.remark}} + + + + 暂无消息 + +
+ + + + + + + + + + 加客户经理微信 + + + + + 加载中... + + + + + 长按识别二维码 + + + + diff --git a/pages/message/index.wxss b/pages/message/index.wxss new file mode 100644 index 0000000..8fdff57 --- /dev/null +++ b/pages/message/index.wxss @@ -0,0 +1,56 @@ +/* pages/message/index.wxss */ +.container{ + padding: 10px; +} +.container .servicebox { + /* display: flex; */ + /* justify-content: space-between; */ + /* flex-direction: column; */ + /* align-items: start; */ + /* padding: 20px; */ + padding: 16px 12px; + /* padding-bottom: 0; */ + /* padding-right: 10px; */ + background-color: #fff; +} +.container .servicebox .serviceinfo{ +} +.container .servicebox .serviceinfo image { + width: 52px; + height: 52px; +} +.servicebox .serviceBottom { + height: 48px; + line-height: 48px; + width: 100%; + justify-content: space-between; +} +.servicebox .serviceBottom > view { + flex: 1; + justify-content: space-between; + padding: 0 10px 0 16px; +} +.contact { + width: 80%; + height: 350px; +} +.contact .weui-dialog__hd{ + margin-top: 40px; + padding: 0; + position: relative; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} +.guanbi{ + position: absolute; + right: 16px; + top: -28px; +} +.mb32{ + margin-bottom: 32px; +} \ No newline at end of file diff --git a/pages/messageDetail/index.js b/pages/messageDetail/index.js new file mode 100644 index 0000000..bfe99bc --- /dev/null +++ b/pages/messageDetail/index.js @@ -0,0 +1,143 @@ +const app = getApp(); +// pages/messageDetail/index.js +Page({ + /** + * 页面的初始数据 + */ + data: { + iosDialogTobe: false, + serviceInfo: {}, + pageType: null, + currentId: null, + currentInfo: {}, + tagStyle: { + p: "margin-top: 0; margin-bottom: 0;line-height: 1.8; white-space:pre-wrap;", + body: " margin: 0; color: #333; font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-variant: tabular-nums; line-height: 1.8; -webkit-font-feature-settings: 'tnum'; font-feature-settings: 'tnum';", + h1: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1;font-size:24px; ", + h2: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1;font-size:21px; ", + h3: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1;font-size:16px; ", + h4: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1 ", + h5: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1 ", + h6: " margin-top: 0; margin-bottom: 0.5em;margin-top:0.3em; color: rgba(0, 0, 0, 0.85); font-weight: 500;line-height: 1.1 ", + strong: "font-weight: bolder;", + b: "font-weight: bolder;", + dl: "margin-top: 0; margin-bottom: 1em;", + ol: "margin-top: 0; margin-bottom: 1em;", + ul: "margin-top: 0; margin-bottom: 1em;", + li: "line-height: 1.8", + hr: "box-sizing: content-box;height:1rpx;overflow: visible;background-color: #ddd;border:0;", + table: "border-collapse: collapse;border: 1px solid #d9d9d9;margin: 18px 0 16px 0;line-height: 1.8", + td: "border: 1px solid #d9d9d9;vertical-align: top;padding: 4px 8px;line-height: 1.8", + }, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + if (options.type) { + this.setData({ + pageType: options.type, + }); + } + if (options.id) { + this.setData({ + currentId: options.id, + }); + this.requestInfo(); + } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + setTimeout(() => { + this.setData({ + serviceInfo: app.globalData.serviceInfo, + }); + }, 10); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + requestInfo() { + let that = this; + wx.showLoading({ + title: "正在获取内容", + }); + wx.request({ + url: app.globalData.ip + "/bocai/cms/details/" + this.data.currentId, + header: app.globalData.headers, + success: function (res) { + console.log(res); + if (res.data.status == 200) { + setTimeout(() => { + // let reg = /]*href=['"]([^"]*)['"][^>]*>(.*?)<\/a>/g.exec(res.data.data.content); + // console.log(reg); + + that.setData({ + currentInfo: res.data.data, + html: res.data.data.content.replace(//g, ""), + }); + wx.hideLoading(); + }, 1000); + wx.request({ + url: app.globalData.ip + "/bocai/cms/read/" + that.data.currentId, + header: app.globalData.headers, + success: function (res) { + console.log(res); + if (res.data.status == 200) { + } + }, + }); + } else { + wx.showToast({ + title: res.data.msg, + icon: "none", + duration: 2000, + }); + wx.hideLoading(); + } + }, + }); + }, + showTobe() { + this.setData({ + iosDialogTobe: true, + }); + }, + closeDialog() { + this.setData({ + iosDialogTobe: false, + }); + }, +}); diff --git a/pages/messageDetail/index.json b/pages/messageDetail/index.json new file mode 100644 index 0000000..0d20f46 --- /dev/null +++ b/pages/messageDetail/index.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText" : "消息", + "backgroundColor":"#f5f5f5", + "navigationBarBackgroundColor": "#027aff", + "navigationBarTextStyle": "white" + +} \ No newline at end of file diff --git a/pages/messageDetail/index.wxml b/pages/messageDetail/index.wxml new file mode 100644 index 0000000..09ceb49 --- /dev/null +++ b/pages/messageDetail/index.wxml @@ -0,0 +1,66 @@ + + 伯才稻田欢迎您 + + 伯才稻田(以下简称“稻田”),是一个专门服务代理的平台。 + 稻田秉承“资源共享、伙伴共赢”的理念,为合作伙伴提供海量项目内容分发及流量分佣。在稻田,您可以享受项目查看、老乡报名、面试跟踪、财务结算等一站式服务,省时、省心、省力。 + + 如果您还现在不是稻田的合作代理,您可以在此 + 申请成为代理,共享平台项目及流量资源。 + + 稻田期待与您一道,细细耕耘,共同助力人力资源行业新发展,为劳动者创造价值。 + 感谢您的支持与合作! + + + 伯才稻田运营中心 + 2023年6月16日 + + + + + + + + 成为伯才代理 + 请联系客户经理 + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + 长按识别二维码 +
+
+
+
+
+
+ + + 通许聚创人力 + 请求添加你为团队成员 + + + + + + + + + 张三 + 已同意成为你的成员 + + + + + {{currentInfo.title}} + + + diff --git a/pages/messageDetail/index.wxss b/pages/messageDetail/index.wxss new file mode 100644 index 0000000..e3af288 --- /dev/null +++ b/pages/messageDetail/index.wxss @@ -0,0 +1,100 @@ +/* pages/messageDetail/index.wxss */ +page { + padding: 10px; + + height: calc(100vh - 20px); +} +.content { + height: calc(100% - 30px); + padding: 24px 12px; + background-color: #fff; + border-radius: 8px; + /* overflow: hidden; */ +} +.content .title { + text-align: center; + padding-bottom: 24px; +} +.info view { + padding-bottom: 24px; + white-space: pre-wrap; + text-indent: 20px; +} +.bottom { + text-align: right; +} +.tobe { + height: 70%; +} +.guanbi { + position: absolute; + right: 16px; + top: -28px; +} +.tobe .guanbi { + top: 12px; +} +.tobe .weui-dialog__hd { + position: relative; + height: 100%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + margin-top: 8%; +} +.tobe .weui-dialog__hd .top { + padding-bottom: 20px; + width: 100%; +} +.tobe .weui-dialog__hd .bottom { + display: flex; + flex: 1; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + /* padding-top: 10px; */ +} +.tobe .weui-dialog__hd .bottom > view { + text-align: center; + margin-top: -30px; +} +.tobeText { + display: inline; + color: #576b95; + font-weight: bold; + text-decoration: underline; +} +.messageContent { + padding: 16px 0; + border-radius: 8px; + background-color: #fff; + text-align: center; +} +.btnBox { + display: flex; + justify-content: center; + margin-top: 110px; +} +.btnBox button { + width: 128px; + height: 42px; + margin: 10px; + padding: 0; + border-radius: 22px; + font-weight: bold; + font-size: 16px; + line-height: 42px; +} +.cancel { + background: #ffffff; + border: 1px solid #ff4400; + border-radius: 22px; + color: #ff4400; +} +.agree { + background: #ff4400; + border-radius: 21px; + color: #fff; +} diff --git a/pages/mine/addAddress/index.js b/pages/mine/addAddress/index.js new file mode 100644 index 0000000..b26d848 --- /dev/null +++ b/pages/mine/addAddress/index.js @@ -0,0 +1,495 @@ +const app = getApp(); +import { isEmptyCheck } from "../../../utils/commonUtil"; +var QQMapWX = require("../../../utils/qqmap-wx-jssdk.min.js"); +var qqmapsdk; +// pages/addAddress/index.js +Page({ + /** + * 页面的初始数据 + */ + data: { + multiSelected: false, + multiIndex: [0, 0, 0], + multiIndexTemp: [0, 0, 0], + // multiArray: [['无脊柱动物', '脊柱动物'], ['扁性动物', '线形动物', '环节动物', '软体动物', '节肢动物'], ['猪肉绦虫', '吸血虫']], + multiArray: [[], [], []], + multiArrayTemp: [[], [], []], + multiArrayRecord: [[], [], []], + title: "添加地址", + btnLoading: false, + address: { + contacts: "", + contactsTel: "", + }, + addressClassify: "", + addressStr: "", + recordId: "", + locationObj: { + provinceName: "", + cityName: "", + districtName: "", + }, + // provinceId: '', + // cityId: '', + // districtId: '', + }, + + delAddress:function(e){ + var that = this; + // var record = e.currentTarget.dataset.record; + // console.log(record); + + wx.showModal({ + title: '提示', + content: `确定要删除该地址吗?`, + cancelColor:"#666666", + confirmColor: "#ff4400", + success (res) { + if (res.confirm) { + console.log('用户点击确定') + + wx.request({ + url: app.globalData.ip + "/user/address/deleteUserAddress", + method: "POST", + header: app.globalData.headers, + data: { + id: that.data.recordId + }, + success: function(res) { + console.log(res); + wx.showToast({ + title: '删除成功', + icon: 'success', + duration: 2000, + + }) + setTimeout(()=>{ + wx.navigateBack({ + delta: -1, + }) + },2000) + + } + + }); + + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + }, + getProvinceByPid: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/city/getProvince", + data: {}, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.data.multiArrayRecord[0] = [{ id: -1, name: "请选择" }].concat(res.data.data); + + var nameArray = ["请选择"]; + res.data.data.forEach((item, index) => { + nameArray.push(item.name); + }); + that.data.multiArrayTemp[0] = nameArray; + that.setData({ + multiArrayTemp: that.data.multiArrayTemp, + }); + + //如果有省市回显处理 + if (app.isNotEmptyCheck(that.data.address.provinceId) && app.isNotEmptyCheck(that.data.address.cityId) && app.isNotEmptyCheck(that.data.address.districtId)) { + that.data.multiArrayRecord[0].forEach((item, index) => { + if (item.id == that.data.address.provinceId) { + that.data.multiIndex[0] = index; + } + }); + + that.setData({ + multiArray: that.data.multiArrayTemp, + multiIndex: that.data.multiIndex, + multiIndexTemp: that.data.multiIndex, + }); + + that.getCityByPid2(1, that.data.address.provinceId); + } + } else { + app.showTips(that, res.data.msg); + } + }, + }); + }, + bindMultiPickerChange: function (e) { + console.log("picker发送选择改变,携带值为", e.detail.value); + var that = this; + var multiSelected = false; + if (e.detail.value[0] > 0 && e.detail.value[1] > 0 && e.detail.value[2] > 0) { + multiSelected = true; + } + + this.setData({ + multiIndex: e.detail.value, + multiSelected: multiSelected, + multiArray: that.data.multiArrayTemp, + }); + }, + bindMultiPickerColumnChange: function (e) { + console.log("修改的列为", e.detail.column, ",值为", e.detail.value); + var that = this; + if (e.detail.column == 0) { + that.data.multiIndexTemp[0] = e.detail.value; + that.data.multiIndexTemp[1] = 0; + that.data.multiIndexTemp[2] = 0; + that.data.multiArrayTemp[1] = []; + that.data.multiArrayTemp[2] = []; + this.setData({ + multiIndexTemp: that.data.multiIndexTemp, + multiArrayTemp: that.data.multiArrayTemp, + }); + } + if (e.detail.column < 2) { + this.getCityByPid(e.detail.column, e.detail.value); + } + }, + + getCityByPid: function (column, value) { + var that = this; + // var pid = that.data.userDetails.bankProvinceCode; + console.log(that.data.multiArrayRecord[column][value]); + var pid = that.data.multiArrayRecord[column][value].id; + wx.request({ + url: app.globalData.ip + "/city/getCityByPid", + data: { + pid: pid, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.data.multiArrayRecord[column + 1] = [{ id: -1, name: "请选择" }].concat(res.data.data); + + var nameArray = ["请选择"]; + res.data.data.forEach((item, index) => { + nameArray.push(item.name); + }); + that.data.multiArrayTemp[column + 1] = nameArray; + + that.setData({ + multiArrayTemp: that.data.multiArrayTemp, + }); + } else { + app.showTips(that, res.data.msg); + } + }, + }); + }, + + getCityByPid2: function (column, pid) { + var that = this; + wx.request({ + url: app.globalData.ip + "/city/getCityByPid", + data: { + pid: pid, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.data.multiArrayRecord[column] = [{ id: -1, name: "请选择" }].concat(res.data.data); + + var nameArray = ["请选择"]; + res.data.data.forEach((item, index) => { + nameArray.push(item.name); + }); + that.data.multiArrayTemp[column] = nameArray; + + that.data.multiArrayRecord[column].forEach((item, index) => { + if (column == 1 && item.id == that.data.address.cityId) { + that.data.multiIndex[column] = index; + } else if (column == 2 && item.id == that.data.address.districtId) { + that.data.multiIndex[column] = index; + } + }); + + that.setData({ + multiArray: that.data.multiArrayTemp, + multiArrayTemp: that.data.multiArrayTemp, + multiIndex: that.data.multiIndex, + multiIndexTemp: that.data.multiIndex, + }); + + if (column == 1) { + that.getCityByPid2(2, that.data.address.cityId); + } + } else { + app.showTips(that, res.data.msg); + } + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + console.log(options); + if (!isEmptyCheck(options.id)) { + this.data.recordId = options.id; + this.data.title = "修改地址"; + this.setData({ + recordId:options.id + }) + + this.getDetail(); + } else { + this.getProvinceByPid(); + } + + wx.setNavigationBarTitle({ + title: this.data.title, + }); + qqmapsdk = new QQMapWX({ + key: "5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR", + }); + console.log(123); + }, + selectAddressClassify: function (e) { + var that = this; + + var classify = e.currentTarget.dataset.classify; + console.log(classify); + + that.setData({ + addressClassify: classify, + }); + }, + getDetail() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/user/address/getUserAddressDetail?id=" + that.data.recordId, + method: "GET", + header: app.globalData.headers, + data: {}, + success: function (res) { + console.log(res); + + if (app.isNotEmptyCheck(res.data.data)) { + that.setData({ + address: res.data.data, + addressClassify: res.data.data.classify, + addressStr: res.data.data.address, + }); + if (app.isNotEmptyCheck(res.data.data.provinceId) && app.isNotEmptyCheck(res.data.data.cityId) && app.isNotEmptyCheck(res.data.data.districtId)) { + that.setData({ + multiSelected: true, + }); + } + that.getProvinceByPid(); + } + }, + }); + }, + onSubmit(e) { + console.log(e); + + var that = this; + + that.setData({ + btnLoading: true, + }); + + if (app.isEmptyCheck(e.detail.value.contacts)) { + wx.showToast({ + icon: "none", + title: "请输入姓名", + duration: 3000, + }); + + that.setData({ + btnLoading: false, + }); + return; + } + + var myreg = /^[1][3456789][0-9]{9}$/; + if (!myreg.test(e.detail.value.contactsTel) || e.detail.value.contactsTel == "") { + wx.showToast({ + icon: "none", + title: "请输入正确手机号", + duration: 3000, + }); + + that.setData({ + btnLoading: false, + }); + return; + } + // if (that.data.multiIndex[0] == 0 || that.data.multiIndex[1] == 0 || that.data.multiIndex[2] == 0) { + // wx.showToast({ + // icon: "none", + // title: "请选择详细地区", + // duration: 3000, + // }); + + // that.setData({ + // btnLoading: false, + // }); + // return; + // } + + if (!e.detail.value.address) { + wx.showToast({ + icon: "none", + title: "请输入详细地址", + duration: 3000, + }); + + that.setData({ + btnLoading: false, + }); + return; + } + // if (app.isEmptyCheck(that.data.addressClassify)) { + // wx.showToast({ + // icon: "none", + // title: "请选择标签", + // duration: 3000, + // }); + + // that.setData({ + // btnLoading: false, + // }); + // return; + // } + + var formData = e.detail.value; + formData["id"] = that.data.recordId; + formData["classify"] = that.data.addressClassify; + + if (that.data.locationObj.provinceName) { + // formData["provinceId"] = that.data.multiArrayRecord[0][that.data.multiIndex[0]].id; + // formData["cityId"] = that.data.multiArrayRecord[1][that.data.multiIndex[1]].id; + // formData["districtId"] = that.data.multiArrayRecord[2][that.data.multiIndex[2]].id; + formData["provinceName"] = that.data.locationObj.provinceName; + formData["cityName"] = that.data.locationObj.cityName; + formData["districtName"] = that.data.locationObj.districtName; + } else { + wx.showToast({ + icon: "none", + title: "请选择地区", + duration: 3000, + }); + } + + console.log(formData); + + that.setData({ + btnLoading: false, + }); + + wx.request({ + url: app.globalData.ip + "/user/address/addOrUpdateUserAddress", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + wx.navigateBack({ + delta: 1, + }); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, + + chooseMap: function () { + var that = this; + console.log("1111111"); + // wx.chooseLocation({ + wx.chooseLocation({ + success: function (res) { + console.log("res", res); + that.data.addressStr = res.name; + qqmapsdk.reverseGeocoder({ + location: `${res.latitude},${res.longitude}`, + success: function (res) { + console.log(res.result); + let address = res.result.address_component; + that.data.addressStr = `${address.province} ${address.city} ${address.district} ` + that.data.addressStr; + that.setData({ + addressStr: that.data.addressStr, + locationObj: { + provinceName: res.result.address_component.province, + cityName: res.result.address_component.city, + districtName: res.result.address_component.district, + }, + }); + }, + fail: function (res) { + console.log(res); + }, + }); + }, + fail: function (e) { + console.log(e); + }, + }); + }, + goAddAddress: function () { + wx.navigateTo({ + url: "/pages/addressBook/index", + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/mine/addAddress/index.json b/pages/mine/addAddress/index.json new file mode 100644 index 0000000..f3d0dd5 --- /dev/null +++ b/pages/mine/addAddress/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "添加地址" +} \ No newline at end of file diff --git a/pages/mine/addAddress/index.wxml b/pages/mine/addAddress/index.wxml new file mode 100644 index 0000000..a2d8d83 --- /dev/null +++ b/pages/mine/addAddress/index.wxml @@ -0,0 +1,60 @@ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 公司 + 其它 + + + + 删除该地址 + + +
diff --git a/pages/mine/addAddress/index.wxss b/pages/mine/addAddress/index.wxss new file mode 100644 index 0000000..b88cc8e --- /dev/null +++ b/pages/mine/addAddress/index.wxss @@ -0,0 +1,58 @@ +@import "/pages/login/index.wxss"; +page { + padding: 10px; + padding-top: 0; + background-color: #f5f5f5; +} +.weui-cell { + padding-left: 0 !important; + padding-right: 0 !important; +} +.weui-cells__group { + border-radius: 8px; + padding: 0 20px; + overflow: hidden; + background-color: #fff; + margin-top: 16px !important; +} +.mark { + border-radius: 8px; + padding: 16px 20px !important; + overflow: hidden; + background-color: #fff; +} +.mark::before{ + display: none; +} +.adTag { + width: 56px; + height: 28px; + border: 1rpx solid #e2e2e2; + border-radius: 25px; + text-align: center; + font-size: 14px; + color: #333; + line-height: 28px; + display: inline-block; + margin-left: 8px; +} +.adTag.active { + background: var(--color-ysd); + color: #fff; + border: 1rpx solid var(--color-ysd); +} +.normalBtn { + width: 260px !important; + height: 42px; + line-height: 42px; + color: #fff; + border-radius: 999px; +} + +.weui-cell::before{ + display: none; + +} +.textarea{ + width: 65%; +} \ No newline at end of file diff --git a/pages/mine/addCard/index.js b/pages/mine/addCard/index.js new file mode 100644 index 0000000..ba8f42e --- /dev/null +++ b/pages/mine/addCard/index.js @@ -0,0 +1,133 @@ +// pages/addCard/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + iosDialog1:false, + user: {}, + bankArray: [], + }, + showDialog(){ + this.setData({ + iosDialog1:true + }) + }, + close: function () { + this.setData({ + iosDialog1: false + }) +}, +emptyMethod:function(){ + wx.navigateTo({ + url: '/pages/realName1/index', + }) + +}, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.setData({ + user: app.globalData.user, + }); + this.getUserBankList(); + }, + getUserBankList: function() { + var that = this; + wx.request({ + url: app.globalData.ip + '/user/bank/getUserBankList', + data: {}, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (app.isNotEmptyCheck(res.data.data) && res.data.data.length > 0) { + res.data.data.forEach(item => { + if (app.isNotEmptyCheck(item.bankNo) && item.bankNo.length > 4) { + item.bankNo = '****' + item.bankNo.substring(item.bankNo.length - 4); + } else { + item.bankNo = ''; + } + if (app.isEmptyCheck(item.bankLogo)) { + item.bankLogo = 'http://matripe.oss-cn-beijing.aliyuncs.com/bankCard.png'; + } + }); + } + that.setData({ + bankArray: res.data.data, + }); + + } else { + app.showTips(that, res.data.msg); + } + } + }) + }, + + toCardDetail: function(e) { + var item = e.currentTarget.dataset.item; + + try { + wx.setStorageSync('storageSyncBankDetail', item) + } catch (e) { + console.log('设置银行卡详情缓存错误', e); + } + + wx.navigateTo({ + url: '/pages/cardDetail/index', + }) + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + this.setData({ + iosDialog1:false + }) + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/mine/addCard/index.json b/pages/mine/addCard/index.json new file mode 100644 index 0000000..c9f9de6 --- /dev/null +++ b/pages/mine/addCard/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "银行卡", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/addCard/index.wxml b/pages/mine/addCard/index.wxml new file mode 100644 index 0000000..7d81465 --- /dev/null +++ b/pages/mine/addCard/index.wxml @@ -0,0 +1,44 @@ + + + + 微信零钱 + + + + + + {{item.bankName}} + + {{item.bankNo}} + + + + + 绑定银行卡 + + + + 绑定银行卡 + + + + + + + 实名认证 + + 实名认证后才可以绑定银行卡,现在去实名吗? + + + + 取消 + + + + + + + \ No newline at end of file diff --git a/pages/mine/addCard/index.wxss b/pages/mine/addCard/index.wxss new file mode 100644 index 0000000..bf9a166 --- /dev/null +++ b/pages/mine/addCard/index.wxss @@ -0,0 +1,55 @@ +page{ + padding: 10px; + padding-top: 0; +} +.bgTest { + background-image: url('//matripe.oss-cn-beijing.aliyuncs.com/dagouAgency/bg.png'); + width: 100%; + height: 90px; + background-size: cover; + border-radius: 8px; + overflow: hidden; +} + +.cardbgTest { + background-image: url('//matripe.oss-cn-beijing.aliyuncs.com/dagouAgency/cardbg.png'); + width: 100%; + height: 90px; + background-size: cover; + border-radius: 8px; + overflow: hidden; +} + +.cardName { + font-size: 18px; + font-weight: 601; + color: #ffffff; + line-height: 26px; + margin-left: 12px; +} + +.addcard { + background-color: #ff44001a; + border-radius: 8px; + height: 80px; + font-size: 20px; + font-weight: 601; + color: var(--color-ysd); + line-height: 26px; +} + +.cardlogo { + width: 46px; + height: 46px; + background-color: #fff; + border-radius: 50%; + margin-left: 20px; + display: inline-block; +} + +.cardbgTest image { + width: 28px; + height: 28px; + margin-left: 9px; + margin-top: 9px; +} \ No newline at end of file diff --git a/pages/mine/addUserCard/index.js b/pages/mine/addUserCard/index.js new file mode 100644 index 0000000..23bc87e --- /dev/null +++ b/pages/mine/addUserCard/index.js @@ -0,0 +1,81 @@ +// pages/addUserCard/index.js +const app = getApp(); +const commonUtil = require("../../../utils/commonUtil.js"); +Page({ + /** + * 页面的初始数据 + */ + data: {}, + + subCard: function (str, frontLen, endLen) { + console.log(str); + //str:要进行隐藏的变量 frontLen: 前面需要保留几位 endLen: 后面需要保留几位 + var len = str.length - frontLen - endLen; + var xing = ""; + for (var i = 0; i != len; i++) { + xing += "*"; + } + let res = str.substring(0, frontLen) + xing + str.substring(str.length - endLen); + console.log(res); + return res; + }, + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + card: this.subCard(app.globalData.user.idcard, 1, 1), + healthTime: commonUtil.formatDateYMD(app.globalData.user.healthTime), + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + card: this.subCard(app.globalData.user.idcard, 1, 1), + healthTime: commonUtil.formatDateYMD(app.globalData.user.healthTime), + }); + }; + } + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/mine/addUserCard/index.json b/pages/mine/addUserCard/index.json new file mode 100644 index 0000000..facd958 --- /dev/null +++ b/pages/mine/addUserCard/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "证件", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/mine/addUserCard/index.wxml b/pages/mine/addUserCard/index.wxml new file mode 100644 index 0000000..11d1b1d --- /dev/null +++ b/pages/mine/addUserCard/index.wxml @@ -0,0 +1,50 @@ + + + + + + 身份证 + {{card}} + + 查看身份证照片 + + + + + + + 身份证 + 未添加 + 添加照片以查看证件 + + 添加并使用 + + + + + diff --git a/pages/mine/addUserCard/index.wxss b/pages/mine/addUserCard/index.wxss new file mode 100644 index 0000000..73b600c --- /dev/null +++ b/pages/mine/addUserCard/index.wxss @@ -0,0 +1,38 @@ +page{ + padding: 10px; + padding-top: 0; +} +.bgsfz{ + position: relative; + width: 100%; + height: 120px; + background-image: url(//matripe.oss-cn-beijing.aliyuncs.com/tuiguang/sfz.png); + background-size: cover; + border-radius: 8px; + padding: 10px; + box-sizing: border-box; +} +.bgsfz image{ + width:24px;height:24px;border-radius: 50%;display:inline-block; vertical-align: text-bottom; +} +.bottom{ + position: absolute; + bottom: 0; + left: 0; + height: 38px; + line-height: 38px; + width: 100%; + font-size: 14px; + color: #333; + text-align: center; + background: rgba(0, 0, 0, 0.09); + border-radius: 0px 0px 8px 8px; +} +.bgsfz.jkz{ + background-image: none; + background-color: #027aff; +} +.bottom.jkz{ + background-color: rgba(255,255, 255, 0.3); + color: #fff; +} \ No newline at end of file diff --git a/pages/mine/addressBook/index.js b/pages/mine/addressBook/index.js new file mode 100644 index 0000000..eab3731 --- /dev/null +++ b/pages/mine/addressBook/index.js @@ -0,0 +1,169 @@ +// pages/addressBook/index.js +var app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + items: [ + {value: '1', name: '设为默认'}, + {value: '2', name: '已设为默认', checked: 'true'}, + {value: '3', name: '设为默认'}, + ], + hasAddress: false, + recordList: [], + }, + + getList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/user/address/getUserAddressList", + method: "POST", + header: app.globalData.headers, + data: that.data.searchForm, + success: function(res) { + console.log(res); + + if (app.isNotEmptyCheck(res.data.data)) { + + that.setData({ + recordList: res.data.data, + hasAddress: true + }); + } else { + that.setData({ + recordList: [], + hasAddress: false + }); + } + } + + }); + }, + radioChange(e) { + console.log('radio发生change事件,携带value值为:', e.detail.value) + + var that = this; + that.data.recordList.forEach(item => { + item.defaultFlag = 0; + if (item.id == e.detail.value) { + item.defaultFlag = 1; + } + }); + + this.setData({ + recordList: that.data.recordList + }) + + wx.request({ + url: app.globalData.ip + "/user/address/updateDefaultFlag", + method: "POST", + header: app.globalData.headers, + data: { + id: e.detail.value, + defaultFlag: 1, + }, + success: function(res) { + console.log(res); + } + + }); + + }, + addAddress:function(){ + wx.navigateTo({ + url: '../addAddress/index', + }) + }, + delAddress:function(e){ + var that = this; + var record = e.currentTarget.dataset.record; + console.log(record); + + wx.showModal({ + title: '提示', + content: `确定要删除该地址吗?`, + cancelColor:"#666666", + confirmColor: "#ff4400", + success (res) { + if (res.confirm) { + console.log('用户点击确定') + + wx.request({ + url: app.globalData.ip + "/user/address/deleteUserAddress", + method: "POST", + header: app.globalData.headers, + data: { + id: record.id + }, + success: function(res) { + console.log(res); + that.getList(); + } + + }); + + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.getList(); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/mine/addressBook/index.json b/pages/mine/addressBook/index.json new file mode 100644 index 0000000..7c81c20 --- /dev/null +++ b/pages/mine/addressBook/index.json @@ -0,0 +1,5 @@ +{ + "backgroundColorTop":"#f5f5f5", + "backgroundColor": "#f5f5f5", + "navigationBarTitleText": "地址本" +} \ No newline at end of file diff --git a/pages/mine/addressBook/index.wxml b/pages/mine/addressBook/index.wxml new file mode 100644 index 0000000..ed5ca91 --- /dev/null +++ b/pages/mine/addressBook/index.wxml @@ -0,0 +1,47 @@ + + + + + 暂无收货地址 + + + + + + + + + +

{{item.contacts}}

+

{{item.contactsTel}}

+
+ {{item.provinceName}} {{item.cityName}} {{item.districtName}} {{item.address}} +
+ + + 家 + + + + 公司 + + + + 其他 + +
+ + + + {{item.defaultFlag == 1 ? '默认' : '设为默认'}} + + 编辑 + + + +
+
+
+ + +
diff --git a/pages/mine/addressBook/index.wxss b/pages/mine/addressBook/index.wxss new file mode 100644 index 0000000..35ccd5e --- /dev/null +++ b/pages/mine/addressBook/index.wxss @@ -0,0 +1,22 @@ +page { + background-color: #f5f5f5; +} +.container { + padding: 10px; + padding-top: 0; +} +.text-hover { + color: #666; +} +.normalBtn { + width: 260px !important; + height: 42px; + line-height: 42px; + color: #fff; + border-radius: 999px; +} +.borderImg { + border-image: url("http://matripe.oss-cn-beijing.aliyuncs.com/goodJob/wmk.svg") 4 fill / 6px; + border-image-width: 6px 0 0 0; + clip-path: inset(0 round 8px); +} diff --git a/pages/mine/addressPage/index.js b/pages/mine/addressPage/index.js new file mode 100644 index 0000000..d291243 --- /dev/null +++ b/pages/mine/addressPage/index.js @@ -0,0 +1,363 @@ +// pages/addressPage/index.js +// const { variableDeclaration } = require("jscodeshift"); +const app = getApp(); +var QQMapWX = require("../../../utils/qqmap-wx-jssdk.min"); +var qqmapsdk; +Page({ + /** + * 页面的初始数据 + */ + data: { + onSiteRemark: "", + jobDetail: {}, + addressList: { + storeAddress: { + color: "#027AFF", + icon: "icon-qiye", + name: "厂区地址", + addressName: "无", + address: "暂无详细地址", + }, + meetingAddress: { + color: "#4DB54B", + icon: "icon-jieren", + name: "接人地址", + addressName: "无", + address: "暂无详细地址", + }, + interviewAddress: { + color: "#FF4400", + icon: "icon-mianshi", + name: "面试地址", + addressName: "无", + address: "暂无详细地址", + }, + }, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + var that = this; + qqmapsdk = new QQMapWX({ + key: "5PTBZ-YI7C6-MZGS3-ES7QN-4T5O2-EJFVR", + }); + console.log(wx.getStorageSync("addressList")); + + wx.getStorage({ + key: "addressList", + success(res) { + that.setData({ + jobDetail: res.data, + }); + console.log(res.data); + var data = res.data; + new Promise(function (resolve, reject) { + console.log(data); + var d1 = ""; + var d2 = ""; + var d3 = ""; + if (data.store.lat != "") { + qqmapsdk.reverseGeocoder({ + location: `${data.store.lat},${data.store.lng}`, + success: function (res) { + console.log(res); + d1 = res.result.formatted_addresses.recommend; + that.data.addressList["storeAddress"] = { + color: "#027AFF", + icon: "icon-qiye", + name: "企业地址", + addresss: data.store.detailPosition, + lat: data.store.lat, + lng: data.store.lng, + addressName: d1, + }; + that.setData({ + addressList: that.data.addressList, + }); + }, + }); + } + if (data.storeJob.meettingAddr != "") { + qqmapsdk.reverseGeocoder({ + location: `${data.storeJob.meettingLat},${data.storeJob.meettingLng}`, + success: function (res) { + console.log(res); + d2 = res.result.formatted_addresses.recommend; + that.data.addressList["meetingAddress"] = { + color: "#4DB54B", + icon: "icon-jieren", + name: "接人地址", + addresss: data.storeJob.meettingAddr, + lat: data.storeJob.meettingLat, + lng: data.storeJob.meettingLng, + addressName: d2, + }; + that.setData({ + addressList: that.data.addressList, + }); + }, + }); + } + if (data.storeJob.interviewAddress != "") { + qqmapsdk.reverseGeocoder({ + location: `${data.storeJob.interviewLat},${data.storeJob.interviewLng}`, + success: function (res) { + console.log(res); + d3 = res.result.formatted_addresses.recommend; + that.data.addressList["interviewAddress"] = { + color: "#FF4400", + icon: "icon-mianshi", + name: "面试地址", + addresss: data.storeJob.interviewAddr, + lat: data.storeJob.interviewLat, + lng: data.storeJob.interviewLng, + addressName: d3, + }; + that.setData({ + addressList: that.data.addressList, + }); + }, + }); + + console.log(that.data.addressList); + } + resolve(); + }) + .then(() => { + that.setData({ + addressList: that.data.addressList, + }); + console.log(that.data.addressList); + }) + .catch((err) => { + console.log(err); + }); + }, + }); + + // resolve(); + // }).then(() => { + // setTimeout(function () { + // that.setData({ + // addressList: that.data.addressList, + // }); + // console.log(that.data.addressList); + // }, 800) + + // }); + }, + toMap(e) { + var that = this; + wx.setClipboardData({ + data: that.data.onSiteRemark, + success(res) { + wx.getClipboardData({ + success(res) { + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + console.log(res.data); // data + // wx.hideToast() + // wx.showLoading({ + // title: "加载中", + // }); + }, + // , + // complete:()=>{ + // wx.hideToast() + // } + }); + }, + }); + console.log(e.currentTarget.dataset.info.lat); + if (app.isEmptyCheck(e.currentTarget.dataset.info.lat)) { + return; + } + + console.log(e); + var address = e.currentTarget.dataset.info.addresss; + let lat = e.currentTarget.dataset.info.lat; + var formatted_addresses = ""; + // wx.getStorageSync("addressList").store.aliasName; + console.log(address); + qqmapsdk.reverseGeocoder({ + // location: `${e.currentTarget.dataset.info.lat ? e.currentTarget.dataset.info.lat : "39.909115"},${e.currentTarget.dataset.info.lng ? e.currentTarget.dataset.info.lng : "116.397407"}`, + location: `${e.currentTarget.dataset.info.lat},${e.currentTarget.dataset.info.lng}`, + success: function (res) { + console.log(res); + formatted_addresses = res.result.formatted_addresses.recommend; + wx.getLocation({ + type: "gcj02", //返回可以用于wx.openLocation的经纬度 + success(res) { + console.log(formatted_addresses); + console.log(lat); + console.log(address); + wx.openLocation({ + latitude: e.currentTarget.dataset.info.lat ? e.currentTarget.dataset.info.lat - 0 : 39.909115, + longitude: e.currentTarget.dataset.info.lng ? e.currentTarget.dataset.info.lng - 0 : 116.397407, + name: formatted_addresses, + address: address ? address : "", + scale: 15, + }); + }, + complete(res) { + wx.hideLoading(); + console.log(1123213); + }, + }); + }, + fail(res) { + console.log(res); + }, + }); + }, + setCopy() { + var that = this; + wx.setClipboardData({ + data: that.data.onSiteRemark, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + chooseMap2(e) { + var that = this; + setTimeout(() => { + console.log(e.currentTarget.dataset.lat); + if (e.currentTarget.dataset.lat == "") { + return; + } + let name = e.currentTarget.dataset.postitle; + let content = e.currentTarget.dataset.poscontent; + let lat = e.currentTarget.dataset.lat - 0; + let lng = e.currentTarget.dataset.lng - 0; + + wx.openLocation({ + latitude: lat, + longitude: lng, + name: name, + address: content, + scale: 15, + }); + }, 200); + // wx.setClipboardData({ + // data: that.data.onSiteRemark, + // success (res) { + // wx.getClipboardData({ + // success (res) { + // wx.showToast({ + // title: '内容已复制', + // icon: 'none', + // duration: 1500 + // }) + + // console.log(res.data) // data + // // wx.hideToast() + // // wx.showLoading({ + // // title: "加载中", + // // }); + + // } + // // , + // // complete:()=>{ + // // wx.hideToast() + // // } + // }) + // } + // }) + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + console.log(wx.getStorageSync("onSiteRemark")); + + var that = this; + that.setData({ + onSiteRemark: wx.getStorageSync("onSiteRemark"), + }); + + // new Promise((resolve, reject) => { + // let data = wx.getStorageSync("addressList"); + // console.log("start Promise"); + // if (data.store.lat != "") { + // qqmapsdk.reverseGeocoder({ + // location: `${data.store.lat},${data.store.lng}`, + // success: function (res) { + // console.log(res); + // that.data.addressList.storeAddress["addressName"] = res.result.formatted_addresses.recommend; + // } + // }) + // } + + // if (data.storeJob.meettingLat != "") { + // qqmapsdk.reverseGeocoder({ + // location: `${data.storeJob.meettingLat},${data.storeJob.meettingLng}`, + // success: function (res) { + // console.log(res); + // that.data.addressList.meetingAddress["addressName"] = res.result.formatted_addresses.recommend; + // } + // }) + // } + // if (data.storeJob.interviewLat != "") { + // qqmapsdk.reverseGeocoder({ + // location: `${data.storeJob.interviewLat},${data.storeJob.interviewLng}`, + // success: function (res) { + // console.log(res); + // that.data.addressList.interviewAddress["addressName"] = res.result.formatted_addresses.recommend; + // } + // }) + // } + // resolve("resolved"); + // }).then(() => { + // that.setData({ + // addressList: that.data.addressList, + // }); + // console.log(that.data.addressList) + // }) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, +}); diff --git a/pages/mine/addressPage/index.json b/pages/mine/addressPage/index.json new file mode 100644 index 0000000..71f77ee --- /dev/null +++ b/pages/mine/addressPage/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": {}, + "navigationBarTitleText":"地址导航", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/mine/addressPage/index.wxml b/pages/mine/addressPage/index.wxml new file mode 100644 index 0000000..596514e --- /dev/null +++ b/pages/mine/addressPage/index.wxml @@ -0,0 +1,87 @@ + + + + 厂区地址 + + + + + + {{jobDetail.poses.store.posTitle ? jobDetail.poses.store.posTitle : '无'}} + {{jobDetail.poses.store.posContent ? jobDetail.poses.store.posContent : '暂无地址信息'}} + + + + + + + + + + 面试地址 + + + + + + {{jobDetail.jobPoses.interview.posTitle ? jobDetail.jobPoses.interview.posTitle : '无'}} + {{jobDetail.jobPoses.interview.posContent ? jobDetail.jobPoses.interview.posContent : '暂无地址信息'}} + + + + + + + + + + 宿舍地址 + + + + + + {{jobDetail.jobPoses.room.posTitle ? jobDetail.jobPoses.room.posTitle : '无'}} + {{jobDetail.jobPoses.room.posContent ? jobDetail.jobPoses.room.posContent : '暂无地址信息'}} + + + + + + + + + + + {{item.posName}} + + + + + + {{item.posTitle ? item.posTitle : '无'}} + {{item.posContent ? item.posContent : '暂无地址信息'}} + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/mine/addressPage/index.wxss b/pages/mine/addressPage/index.wxss new file mode 100644 index 0000000..9414f6e --- /dev/null +++ b/pages/mine/addressPage/index.wxss @@ -0,0 +1,54 @@ +/* pages/addressPage/index.wxss */ +page { + padding: 0 10px 30px; + padding-bottom: 40px; +} + +.subset { + margin-top: 12px; +} +.subset .title .iconfont { + font-weight: lighter; + font-size: 18px; + line-height: 26px; + margin-right: 8px; +} +.navigator { + display: flex; + align-items: center; + justify-content: space-between; + min-height: 76px; + padding: 0px 10px; + margin-top: 8px; + border-radius: 6px; + background-color: #fff; +} +.navigator .icon-gengduo1 { + color: #999; + margin-left: 8px; + margin-right: 12px; +} +.copyBtn{ + position: absolute; + right: 0px; + font-size: 12px; + line-height: 14px; + border:1rpx solid #ccc; + padding: 2px 4px; + color: #666; + border-radius: 2px; +} +.copyBtn:active{ + background-color: #ddd; +} +.weui-slidecells { + margin:8px 0; +} + +.weui-slidecell { + background-color: var(--weui-BG-2); + border-radius: 8px; + padding: 12px; + line-height: 1.4; + font-size: 17px; +} \ No newline at end of file diff --git a/pages/mine/changeAvatar/index.js b/pages/mine/changeAvatar/index.js new file mode 100644 index 0000000..491a133 --- /dev/null +++ b/pages/mine/changeAvatar/index.js @@ -0,0 +1,139 @@ +// pages/changeAvatar/index.js +let app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + files: [], + userInfo: {}, + temporaryImg: "", + isSure: false, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + this.setData({ + userInfo: app.globalData.user, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + + /** + * 选择临时图片 + * + * + */ + chooseImage() { + const that = this; + wx.chooseImage({ + sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有 + sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 + success(res) { + // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 + console.log(res); + that.setData({ + files: that.data.files.concat(res.tempFilePaths), + temporaryImg: res.tempFilePaths[0], + isSure: true, + }); + }, + }); + }, + changeUserImgsrc: function () { + var that = this; + // wx.chooseImage({ + // count: 1, // 默认9 + // sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有 + // sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 + // success: function (res) { + // // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 + // var tempFilePaths = res.tempFilePaths; + // // var formData = {'userId': app.globalData.userId}; + + // }, + // }); + wx.uploadFile({ + url: app.globalData.ip + "/user/changeUserImgsrc", + filePath: that.data.temporaryImg, + name: "uploadFile", + header: app.globalData.headers2, + // formData: formData, // HTTP 请求中其他额外的 form data + success: function (res1) { + console.log(res1); + if (res1.statusCode == 200) { + var result = JSON.parse(res1.data); + if (result.status == 200) { + app.globalData.user.imgSrc = result.data.url; + + app.showTips(that, "更改成功"); + setTimeout(() => { + that.setData({ + userInfo: app.globalData.user, + isSure: false, + }); + wx.navigateBack({ + delta: 1, + }); + }, 1000); + } else { + app.showTips(that, result.msg); + } + } else if (res.data.status == 9999) { + app.dialogNotLogin(); + } + }, + fail: function (res2) {}, + }); + }, + cancelChoice() { + this.setData({ + isSure: false, + temporaryImg: "", + }); + }, + choiceAvatar(e) { + console.log(e); + const { avatarUrl } = e.detail; + this.setData({ + temporaryImg: avatarUrl, + isSure: true, + }); + }, +}); diff --git a/pages/mine/changeAvatar/index.json b/pages/mine/changeAvatar/index.json new file mode 100644 index 0000000..c9d85ea --- /dev/null +++ b/pages/mine/changeAvatar/index.json @@ -0,0 +1,7 @@ +{ + "navigationBarTitleText": "个人头像", + "navigationBarBackgroundColor":"#000", + "navigationBarTextStyle" : "white", + "backgroundColor": "#000" + +} \ No newline at end of file diff --git a/pages/mine/changeAvatar/index.wxml b/pages/mine/changeAvatar/index.wxml new file mode 100644 index 0000000..f9d1e8a --- /dev/null +++ b/pages/mine/changeAvatar/index.wxml @@ -0,0 +1,16 @@ + + + + + + + + + + + 取消 + 确定 + + + + \ No newline at end of file diff --git a/pages/mine/changeAvatar/index.wxss b/pages/mine/changeAvatar/index.wxss new file mode 100644 index 0000000..42c85a7 --- /dev/null +++ b/pages/mine/changeAvatar/index.wxss @@ -0,0 +1,34 @@ +page { + background-color: #000; + text-align: center; + height: 100vh; +} +page .container { + position: relative; + top: 50%; + transform: translateY(-50%); +} +page image { + width: 100%; + height: 375px; +} +page .weui-btn_primary { + height: 32px; + width: 112px; + padding: 0; + /* margin-top: 30px; */ + line-height: 30px; + font-size: 14px; + background-color: transparent; + border-radius: 999px; + color: #fff; + border: 1px solid #fff; + box-sizing: border-box; +} +.btnBox{ + margin-top: 30px; + padding: 0 20%; +} +.change{ + margin: 0 auto; +} \ No newline at end of file diff --git a/pages/mine/changeGender/index.js b/pages/mine/changeGender/index.js new file mode 100644 index 0000000..68c83e6 --- /dev/null +++ b/pages/mine/changeGender/index.js @@ -0,0 +1,135 @@ +// pages/changeGender/index.js +let app = getApp(); + +Page({ + /** + * 页面的初始数据 + */ + data: { + items: [ + { name: "男", value: "1" }, + { name: "女", value: "2" }, + ], + userInfo: {}, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad() {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + console.log(this.data.userInfo); + this.setData({ + userInfo:app.globalData.user + }) + if (this.data.userInfo.sex == 1) { + let data = "items[0].checked"; + this.setData({ + [data]: true, + }); + } else if (this.data.userInfo.sex == 2) { + let data = "items[1].checked"; + this.setData({ + [data]: true, + }); + } + console.log(this.data.items); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload(options) {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + radioChange(e) { + console.log(e); + this.data.items.forEach((item) => { + item.checked = false; + if (item.value == e.detail.value) { + item.checked = true; + } + }); + this.setData({ + items: this.data.items, + }); + console.log(this.data); + }, + formSubmit(e) { + console.log("form发生了submit事件,携带数据为:", e.detail.value); + var that = this; + + var sex = ""; + that.data.items.forEach((item) => { + if (item.checked) { + sex = item.value; + } + }); + + var formData = { + userId: app.globalData.user.id, + sex: sex, + }; + console.log(formData); + + wx.request({ + url: app.globalData.ip + "/user/updateSex", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + // let data = "user.sex"; + // app.({ + // [data]: formData.sex, + // }); + app.globalData.user.sex = formData.sex; + console.log(app.globalData.user.sex ); + + wx.navigateBack({ + delta: 1, + }); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, +}); diff --git a/pages/mine/changeGender/index.json b/pages/mine/changeGender/index.json new file mode 100644 index 0000000..cecd7fa --- /dev/null +++ b/pages/mine/changeGender/index.json @@ -0,0 +1,6 @@ +{ + "usingComponents": {}, + "navigationBarTitleText":"设置性别", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/mine/changeGender/index.wxml b/pages/mine/changeGender/index.wxml new file mode 100644 index 0000000..993fc6b --- /dev/null +++ b/pages/mine/changeGender/index.wxml @@ -0,0 +1,18 @@ + + + + + + + + + + diff --git a/pages/mine/changeGender/index.wxss b/pages/mine/changeGender/index.wxss new file mode 100644 index 0000000..aae9122 --- /dev/null +++ b/pages/mine/changeGender/index.wxss @@ -0,0 +1,24 @@ +.radio-group{ + margin: 10px; + padding: 0 9px; + border-radius: 8px; + overflow: hidden; + background-color: #fff; +} +.radio-group label { + height: 56px; + line-height: 56px; + padding: 0px 0; + border-top: none; +} +.radio-group label::before { + display: none; +} +.save { + margin-top: 90px; + width: 260px; + /* height: 42px; + line-height: 42px; + background-color: var(--color-ysd); + border-radius: 999px; */ +} diff --git a/pages/mine/changePsw/index.js b/pages/mine/changePsw/index.js new file mode 100644 index 0000000..5c9285b --- /dev/null +++ b/pages/mine/changePsw/index.js @@ -0,0 +1,312 @@ +// pages/changePsw/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + type: 1, + disabled: 0, + getmsg: "获取验证码", + btnColor: false, + tel: "", + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + if (options.type) { + this.setData({ + type: options.type, + }); + if (options.type == 1) { + wx.setNavigationBarTitle({ + title: "找回密码", + }); + } else { + wx.setNavigationBarTitle({ + title: "修改登录密码", + }); + } + } + }, + changeBtn: function (e) { + console.log(e); + if (this.verifyTel(e.detail.value)) { + this.setData({ + disabled: "1", + btnColor: true, + tel: e.detail.value, + }); + } else { + this.setData({ + btnColor: false, + disabled: 0, + }); + } + }, + /** + * 手机号合规校验 + * + * + */ + verifyTel(value) { + console.log(value); + var myreg = /^[1][3456789][0-9]{9}$/; + if (myreg.test(value)) { + return true; + } else { + return false; + } + }, + /** + * 密码重复校验 + * + * + */ + verify(newStr, oldStr) { + if (newStr != oldStr) { + return false; + } else { + return true; + } + }, + /** + * 表单信息提交校验 + * + * + */ + beforeFormSubmit(e) { + console.log(e); + wx.showLoading({ + title: "提交中", + mask: true, + success: (result) => {}, + }); + let that = this; + let value = e.detail.value; + if (e.currentTarget.dataset.type == 1) { + if (value.tel == "" || !this.verifyTel(value.tel)) { + app.hideLoad(); + app.showTips(that, "请输入正确手机号"); + return; + } + if (value.code == "") { + app.hideLoad(); + app.showTips(that, "验证码不能为空"); + return; + } + if (value.newPsw.trim() == "" || value.rePsw.trim() == "") { + app.hideLoad(); + value.newPsw.trim() == "" ? app.showTips(that, "请输入新密码") : app.showTips(that, "请再次输入密码"); + return; + } + if (!this.verify(value.newPsw.trim(), value.rePsw.trim())) { + app.hideLoad(); + app.showTips(that, "前后密码不一致"); + return; + } + app.hideLoad(); + this.formSubmit(value, 1); + } else { + console.log(app.globalData.user); + if (value.tel == "") { + app.hideLoad(); + app.showTips(that, "请输入原密码"); + return; + } + if (value.newPsw.trim() == "" || value.rePsw.trim() == "") { + app.hideLoad(); + value.newPsw.trim() == "" ? app.showTips(that, "请输入新密码") : app.showTips(that, "请再次输入密码"); + return; + } + if (!this.verify(value.newPsw.trim(), value.rePsw.trim())) { + app.hideLoad(); + app.showTips(that, "前后密码不一致"); + return; + } + this.formSubmit(value, 2); + } + }, + /** + * 表单信息提交 + * + * + */ + formSubmit(value, type) { + let that = this; + if (type == 1) { + console.log(value); + wx.request({ + url: app.globalData.ip + "/yishoudan/updatePassword", + data: { + tel: value.tel, + code: value.code, + password: value.newPsw, + }, + header: { + "content-type": "application/json", + }, + success: function ({ data }) { + console.log(data); + if (data.status == 200) { + app.showTips(that, "修改成功"); + setTimeout(() => { + if (app.globalData.isLogin) { + wx.navigateBack({ + target: 1, + success: (result) => {}, + }); + } else { + wx.reLaunch({ + url: "/pages/login/index?type=psw", + success: (result) => {}, + }); + } + }, 2000); + } else { + app.showTips(that, data.msg); + } + }, + }); + } else { + wx.request({ + url: app.globalData.ip + "/yishoudan/updatePasswordByPwd", + data: { + tel: app.globalData.user.tel, + oldPassword: value.oldPsw, + password: value.newPsw, + }, + method:'post', + header:app.globalData.header, + success: function ({ data }) { + console.log(data); + if (data.status == 200) { + app.showTips(that, "修改成功"); + setTimeout(() => { + if (app.globalData.isLogin) { + wx.navigateBack({ + target: 1, + success: (result) => {}, + }); + } else { + wx.reLaunch({ + url: "/pages/login/index?type=psw", + success: (result) => {}, + }); + } + }, 2000); + } else { + app.showTips(that, data.msg); + } + }, + }); + } + }, + /** + * 改变修改密码类型 + * + * + */ + changeType() { + this.setData({ + type: 1, + }); + wx.setNavigationBarTitle({ + title: "找回密码", + }); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + /** + * 获取验证码 + * + * + */ + sendMsg: function () { + console.log(this.data.tel); + var that = this; + + that.setData({ + btnColor: false, + disabled: 0, + }); + + that.getCode(); + var timer = 1; + if (timer == 1) { + timer = 0; + var time = 60; + var inter = setInterval(function () { + that.setData({ + getmsg: time + "s", + btnColor: false, + disabled: 0, + }); + time--; + if (time < 0) { + timer = 1; + clearInterval(inter); + that.setData({ + getmsg: "重新获取", + btnColor: true, + disabled: 1, + }); + } + }, 1000); + } + }, + getCode: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/commons/sendMsgCode", + data: { + tel: that.data.tel, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log("发送短信验证码"); + console.log(res); + if (res.data.status == 200) { + app.showTips(that, "验证码发送成功"); + } else if (res.data.status == 9999) { + app.dialogNotLogin(); + } else { + } + }, + }); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, +}); diff --git a/pages/mine/changePsw/index.json b/pages/mine/changePsw/index.json new file mode 100644 index 0000000..da7c217 --- /dev/null +++ b/pages/mine/changePsw/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "" + +} \ No newline at end of file diff --git a/pages/mine/changePsw/index.wxml b/pages/mine/changePsw/index.wxml new file mode 100644 index 0000000..ed6355b --- /dev/null +++ b/pages/mine/changePsw/index.wxml @@ -0,0 +1,67 @@ + + +
+ + + 手机号 + + + + + + 验证码 + + + + + {{getmsg}} + + + + + + 新密码 + + + + + + 确认密码 + + + + + + +
+
+ + + +
+ + + 原密码 + + + + + + 忘记原密码 + + + 新密码 + + + + + + 确认密码 + + + + + + +
+
diff --git a/pages/mine/changePsw/index.wxss b/pages/mine/changePsw/index.wxss new file mode 100644 index 0000000..6b9c497 --- /dev/null +++ b/pages/mine/changePsw/index.wxss @@ -0,0 +1,29 @@ +page { + padding: 10px; + padding-top: 0; +} +.container { + background-color: #fff; + padding: 0 10px; + border-radius: 8px; +} +.sub { + height: 56px; +} +.sub input { + text-align: right; +} +.code.disabled { + color: #979797; + pointer-events: none; +} + +.sendCode.code { + border-left: 1px solid #999999; + line-height: 20px; + height: 20px; + font-size: 17px; + color: #333; + padding-left: 10px; + text-align: center; +} diff --git a/pages/mine/collect/index.js b/pages/mine/collect/index.js new file mode 100644 index 0000000..050ab08 --- /dev/null +++ b/pages/mine/collect/index.js @@ -0,0 +1,1906 @@ +const app = getApp(); + +const commonUtil = require("../../utils/commonUtil.js"); + +Page({ + data: { + toped: "2", + chaShowed: false, + isTrigger: false, + // background: ["../../assets/images/banner1.jpg", "../../assets/images/banner2.jpg", "../../assets/images/banner3.jpg", "../../assets/images/banner4.jpg"], + pullNum: 0, //下拉次数 + tabs: [], + activeTab: 0, + systemInfo: {}, + getMenuButtonBoundingClientRect: {}, + // 手机基础信息 + tabs2: [], + loadMore: "", + loadContent: ["马不停蹄加载更多数据中...", "-- 已经到底了,加不了咯 --"], + + statusBarHeight: wx.getStorageSync("statusBarHeight"), // 状态栏高度 + + navigationBarHeight: wx.getStorageSync("navigationBarHeight"), // 导航栏高度 + + menuButtonHeight: wx.getStorageSync("menuButtonHeight"), // 胶囊按钮高度 + + menuButton: wx.getStorageSync("menuButtonInfo"), // 胶囊信息 + navigatorHeight: 60, + activeTab2: 0, + contentIndex: 0, + latestClass: 0, + zoneClass: 0, + recordList: [], + jobSpecialLabelNames: [], + storeJobListSearchForm: { + pageNum: 1, + pageSize: 25, + classify: 1, + sex: -1, + workTypeStr: "", + lat: "", + lng: "", + jobClassify: "", + sortTag: 0, + jobSpecialLabelIds: "", + cityName: "", + brandIds: "", + ucj: 1, + }, + loading: true, + topJobList: [], + hasLocation: false, + chooseActive: false, + //筛选是否高亮 + labelItems: [], + checkedlabelItems: [], + hasMoreData: true, //下拉是否还有更多数据 + inputShowed: false, + inputVal: "搜索工作", + wxCode: "", + isCollect: false, + collectTxt: "收藏", + isLogin: false, + hasUserInfo: 0, + searchCityParamStorage: { + name: "", + shortName: "", + }, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + triggered: false, + pageShow: false, + whichOneShow: "", + siv: "", + activez: "", + sexid: "", // 性别筛选的id + dialog1: false, + dialog2: false, + jobSpecialLabelList: [], + brandList: [], + firstMenu: "排序", // 工价筛选tab显示 + secondMenu: "性别", // 性别筛选tab显示 + selectBrandList: [], // 选中的品牌标签 + selectJobList: [], // 选中的特色标签 + tagArray0: [], + tagArray1: [], + tagArray2: [], + tagArray3: [], + recordBillType: "", // 报名类型(拍照或者直接报名) + signType: 0, // 职位类型(自营 三方) + recordCount: 0, + totalPage: 0, + currPage: 0, + currentJobDrawer: {}, // 当前简版职位抽屉信息 + drawerShow: false, // 简版职位抽屉显隐 + }, + // onPullDownRefresh:function(){ + // this.getJobList(); + // console.log(123); + + // wx.stopPullDownRefresh({ + // success() { + // app.refreshSuccess(); + // } + // }); + // }, + close() { + let that = this; + let brandList = that.data.brandList; + let selectBrandList = that.data.selectBrandList; + if (selectBrandList.length > 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + setTimeout(() => { + that.setData({ + whichOneShow: "", + siv: "", + }); + console.log(this.data.whichOneShow); + console.log("112233"); + }, 1); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + let id = e.currentTarget.dataset.id; + console.log(id); + that.setData({ + toped: id, + }); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 300); + that.setData({ + siv: "menu", + }); + } + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + var that = this; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + // var promise = new Promise(function(resolve,reject){ + // that.getJobList(); + // }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + // wx.openSetting({ + // success(res) { + // console.log(res.authSetting); + // if (res.authSetting["scope.userLocation"]) { + // wx.getLocation({ + // type: "gcj02", + // success(res1) { + // console.log("获取位置2"); + // console.log(res1); + // app.globalData.lng = res1.longitude; + // app.globalData.lat = res1.latitude; + + // that.data.storeJobListSearchForm.sortTag = 2; + // that.data.storeJobListSearchForm.lng = res1.longitude; + // that.data.storeJobListSearchForm.lat = res1.latitude; + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // recordList: [], + // }); + // that.getJobList().then(() => { + // that.setData({ + // siv: "menu", + // }); + // }); + // }, + // fail() {}, + // }); + // } + // }, + // }); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "工价", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + + that.setData({ + activez: str, + }); + }, + watch() {}, + + choosen: function (e) { + var str = e.currentTarget.dataset.id; + // var ageStr = e.currentTarget.dataset.str; + console.log(str); + var that = this; + if (that.data.sexid == str) { + str = ""; + this.data.secondMenu = "不限"; + } else if (str == "1") { + this.data.secondMenu = "男"; + } else if (str == "2") { + this.data.secondMenu = "女"; + } else if (str == "-1") { + this.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + iosDialog1: false, + iosDialog2: false, + phoneDialog: false, + }); + }, + openIOS1: function () { + this.setData({ + iosDialog1: true, + }); + }, + + openIOS2: function () { + this.setData({ + iosDialog2: true, + }); + }, + showphone: function () { + this.setData({ + phoneDialog: true, + }); + }, + searchKey: function (e) { + console.log(e); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal; + this.getJobList(); + }, + showInput: function () { + this.setData({ + inputShowed: true, + }); + }, + hideInput: function () { + this.setData({ + inputVal: "", + inputShowed: false, + }); + }, + onShareAppMessage1: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + return { + title: "伯才", + path: path, + }; + }, + goSearch() { + wx.navigateTo({ + url: "../search/index?from=project", + }); + }, + clearInput: function () { + this.setData({ + inputVal: "搜索工作", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + }); + this.inputBlur(); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + } + }, + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + // that.setData({ + // tagArray0: [], + // tagArray1: [], + // tagArray2: [], + // tagArray3: [], + // }); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/brand/getBrandNameAllList", + data: {}, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + that.setData({ + brandList: res.data.data, + }); + }, + }); + }, + selectJobSpecialLabel: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + var indexTag = e.currentTarget.dataset.indextag; + let index1 = ""; + console.log(e); + // debugger; + if (indexTag == "0") { + if (that.data.tagArray0[index].checked) { + that.data.tagArray0[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray0[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray0[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray0[index]); + } + this.setData({ + tagArray0: that.data.tagArray0, + }); + } else if (indexTag == "1") { + if (that.data.tagArray1[index].checked) { + that.data.tagArray1[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray1[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray1[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray1[index]); + } + this.setData({ + tagArray1: that.data.tagArray1, + }); + } else if (indexTag == "2") { + if (that.data.tagArray2[index].checked) { + that.data.tagArray2[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray2[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray2[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray2[index]); + } + this.setData({ + tagArray2: that.data.tagArray2, + }); + } else if (indexTag == "3") { + if (that.data.tagArray3[index].checked) { + that.data.tagArray3[index].checked = false; + // index1 = that.data.selectJobList.indexOf(that.data.tagArray3[index]); + // that.data.selectJobList.splice(index1, 1); + } else { + that.data.tagArray3[index].checked = true; + // that.data.selectJobList.push(that.data.tagArray3[index]); + } + this.setData({ + tagArray3: that.data.tagArray3, + }); + } + this.setData({ + selectJobList: that.data.selectJobList, + }); + // jobSpecialLabelList + + // if(that.data.jobSpecialLabelList[index].checked) { + // that.data.jobSpecialLabelList[index].checked = false; + // } else { + // that.data.jobSpecialLabelList[index].checked = true; + // } + // this.setData({ + // jobSpecialLabelList: that.data.jobSpecialLabelList + // }); + }, + selectBrand: function (e) { + var that = this; + var index = e.currentTarget.dataset.index; + if (that.data.brandList[index].checked) { + that.data.brandList[index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.brandIds = ""; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + that.data.jobSpecialLabelList.forEach((item) => { + if (item.checked) { + jobSpecialLabelIdArray.push(item.id); + } + }); + + if (jobSpecialLabelIdArray.length > 0) { + that.data.storeJobListSearchForm.jobSpecialLabelIds = jobSpecialLabelIdArray.join(","); + } else { + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } + + var brandIdArray = []; + that.data.selectBrandList = []; + that.data.brandList.forEach((item) => { + if (item.checked) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let jobList = that.data.tagArray0.concat(that.data.tagArray1, that.data.tagArray2, that.data.tagArray3); + jobList.forEach((item) => { + if (item.checked) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + if (brandIdArray.length > 0) { + that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + } else { + that.data.storeJobListSearchForm.brandIds = ""; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + siv: "", + whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + }); + that.getJobList(); + }, + onLoad(options) { + var that = this; + console.log(123); + console.log(options); + console.log(wx.getStorageSync("navigationBarHeight")); + console.log(wx.getStorageSync("statusBarHeight")); + console.log(that.data.menuButton); + // let query = wx.createSelectorQuery() + // console.log(query.select('#searchBar')); + + this.getListByTypeAndIndustry(); + this.getBrandNameAllList(); + + // 查看是否授权 + wx.getSetting({ + success(res) { + if (res.authSetting["scope.userInfo"]) { + // 已经授权,可以直接调用 getUserInfo 获取头像昵称 + wx.getUserInfo({ + success: function (res) { + console.log(res.userInfo); + }, + }); + } + }, + }); + + if (app.isNotEmptyCheck(options.fromSearchPage) && options.fromSearchPage == 1) { + try { + var searchCityParamStorage = wx.getStorageSync("searchCityParamStorage"); + if (searchCityParamStorage) { + console.log("searchCityParamStorage======", searchCityParamStorage); + that.data.storeJobListSearchForm.cityName = searchCityParamStorage.name; + if (app.isEmptyCheck(searchCityParamStorage.name)) { + that.data.storeJobListSearchForm.cityName = "全国"; + } + that.setData({ + searchCityParamStorage: searchCityParamStorage, + }); + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + } else { + try { + wx.removeStorageSync("searchJobListParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + try { + wx.removeStorageSync("searchCityParamStorage"); + } catch (e) { + console.log("删除缓存设置的查询职位列表参数错误:", e); + } + } + + try { + if (app.globalData.isScanQRCodes - 1 == 0) { + wx.showToast({ + title: "欢迎查看好工作", + icon: "success", + duration: 2000, + }); + if (!getApp().globalData.isLogin) { + setTimeout(function () { + if (!getApp().globalData.isLogin) { + that.openIOS2(); + } + }, 5000); + } + } + } catch (e) { + console.log("获取缓存设置的查询职位列表参数错误:", e); + } + + console.log("options==============================1"); + console.log(options); + console.log("options==============================2"); + + if (app.isNotEmptyCheck(options.scene)) { + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(options.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + if (sceneJson.fromType == 1) { + app.globalData.isCommission = 1; + wx.setStorageSync("storageSyncAgencyUserId", sceneJson.userId); + } + + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } else if (app.isNotEmptyCheck(options.fromType)) { + //扫小程序普通二维码携带参数-来源ID + console.log("options.fromType========" + options.fromType); + if (options.fromType == 0) { + console.log("options.id========" + options.id); + console.log("options.userId========" + options.userId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", options.id); + that.getAgencyUserId(options.id); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else if (options.fromType.indexOf("0&id=") >= 0) { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0&id=", ""); + console.log("¶msTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } else { + //兼容2021-9-9之前的二维码 + var paramsTempId = options.fromType.replace("0,id=", ""); + console.log("=paramsTempId========" + paramsTempId); + try { + app.globalData.isCommission = 1; + wx.setStorageSync("fromQrCodeChannelContactId", paramsTempId); + that.getAgencyUserId(paramsTempId); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + } + } + } else { + console.log("options.fromType===else=====" + options); + } + + //this.wxLogin(); + let res = wx.getStorageSync("storeJobId"); //详情页返回 + console.log(res); + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [], + }); + } else { + wx.removeStorageSync({ + key: "storeJobId", + }); + } + + console.log("on show"); + + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = (res) => { + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + }); + }; + } + //登录=================================end + + this.getHopeJobLabels(); + var reset = true; + let agencyUserId = options.agencyUserId; + if (agencyUserId) { + wx.setStorageSync("storageSyncAgencyUserId", agencyUserId); + console.log("agencyUserId", agencyUserId); + app.globalData.isCommission = 1; + } + // that.getJobList(); + }, + onReady() {}, + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${JSON.stringify(res)}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + onShow() { + let that = this; + that.data.storeJobListSearchForm.pageNum = 1; + this.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + isLogin: app.globalData.isLogin, + iosDialog2: app.globalData.isLogin ? false : that.data.iosDialog2, + recordBillType: "", + }); + // that.getJobList(); + if (!app.globalData.isLogin) { + wx.setStorageSync("comeFromPage", "collect"); + wx.redirectTo({ + url: "/pages/login/index", + }); + } else { + this.collectedStoreJobList(); + } + console.log(app.globalData.headers); + that.setData({ + recordList: [], + }); + this.getJobList(); + + wx.removeStorage({ + key: "townsManInfo", + }); + wx.removeStorage({ + key: "townsManInfoJob", + }); + + /*this.wxLogin(); + let res = wx.getStorageSync({ + key: "storeJobId" + }); //详情页返回 + + if (app.isEmptyCheck(res.data)) { + this.setData({ + recordList: [] + }); + } else { + wx.removeStorageSync({ + key: "storeJobId" + }); + } + + console.log("on show"); + this.getHopeJobLabels(); + var reset = true;*/ + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + console.log("gocity"); + wx.navigateTo({ + url: "../city/index", + }); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList() { + var that = this; + // debugger + return new Promise(function (resolve, reject) { + if (that.data.storeJobListSearchForm.sortTag == 2) { + //如果按照距离排序,拼接上坐标 + that.data.storeJobListSearchForm.lng = app.globalData.lng; + that.data.storeJobListSearchForm.lat = app.globalData.lat; + } + + console.log(that.data.inputVal); + + that.data.storeJobListSearchForm.keys = that.data.inputVal == "搜索工作" ? "" : that.data.inputVal; + // debugger; + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/overall/store/job/list", + method: "POST", + header: app.globalData.headers, + data: that.data.storeJobListSearchForm, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + that.setData({ + totalPage: res.data.data.pageCount, + currPage: res.data.data.currentPage, + }); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + if (res.data.data.recordList == null || res.data.data.recordList.length == 0 || res.data.data.recordList.length < that.data.storeJobListSearchForm.pageSize) { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + hasMoreData: false, + isTrigger: false, + }); + } else { + var jobListTemp = commonUtil.disposeJobListData(res.data.data.recordList); + that.data.recordList = that.data.recordList.concat(jobListTemp); + + that.setData({ + recordList: that.data.recordList, + isTrigger: false, + }); + } + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + if ((app.isNotEmptyCheck(item.returnFeeType) && app.isNotEmptyCheck(item.returnFee)) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + }); + + that.setData({ + recordList: that.data.recordList, + }); + if (that.data.recordList.length < res.data.data.recordCount) { + that.setData({ + hasMoreData: true, + }); + } else { + that.setData({ + hasMoreData: false, + }); + } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + // 根据实际数据加载情况设定 loadMore 的值即可,分别为 load 和 over + + this.setData({ + loadMore: "load", + // loading:true + }); + } else { + if (that.data.pullNum == 0) { + that.openIOS1(); + } + } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode, + }); + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + wx.hideTabBar({ + success(e) { + that.setData({ + currentJobDrawer: { ...event.currentTarget.dataset.item, index: event.currentTarget.dataset.index }, + drawerShow: true, + }); + }, + }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var text = that.data.currentJobDrawer.jobDesp; + + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + that.setData({ + drawerShow: false, + }); + setTimeout(() => { + wx.showTabBar({ + success(e) {}, + }); + }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + txt = "收藏成功"; + } + that.data.recordList.forEach((item) => { + if (item.id == that.data.currentJobDrawer.id) { + that.data.currentJobDrawer = { ...item, index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + that.showInput(); + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, +}); diff --git a/pages/mine/collect/index.json b/pages/mine/collect/index.json new file mode 100644 index 0000000..102043d --- /dev/null +++ b/pages/mine/collect/index.json @@ -0,0 +1,6 @@ +{"navigationBarTitleText" : "职位", + "navigationBarBackgroundColor":"#ff4400", + "navigationBarTextStyle" :"white", + "navigationStyle":"custom", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/collect/index.wxml b/pages/mine/collect/index.wxml new file mode 100644 index 0000000..9c666a5 --- /dev/null +++ b/pages/mine/collect/index.wxml @@ -0,0 +1,561 @@ + + + + + + 标准 + + + + 简版 + + + + + + + {{searchCityParamStorage.name == '' ? '全国' : searchCityParamStorage.shortName}} + + +
+ + + {{inputVal}} + + 搜索 + +
+
+ + + + + {{firstMenu}} + + + + + 综合排序 + 工价优先 + 距离优先 + + + + + + 品牌 + + + {{selectBrandList.length}} + + + + + + + + {{item.name}} + + + + + + + + + + + + + + + + {{ secondMenu }} + + + + + 男女不限 + + + + + + + 筛选 + + + {{selectJobList.length}} + + + + 薪资福利 + + + {{item.name}} + + + 食宿保障 + + + {{item.name}} + + + 班制特色 + + + {{item.name}} + + + 其它特色 + + + {{item.name}} + + + + + + + + + + + + + + + + + + + {{item.name}} + + + + + {{item.name}} + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName}} + {{item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + {{item1}} + 暂无特色 + + 服务费: {{item.fuWuFei ? item.fuWuFei : '-' }} + + + + + + + + + + 没有符合条件的职位 + + + + + + 暂无更多数据 + 上滑加载更多 + + + + + + + 暂无记录 + + + + + + + + + + + + + + {{index < 9?'0'+(index+1):index+1 }} + + {{item.jobName}} + {{item.salaryClassifyValue}},{{item.age}} + + + + + + + + + 代理 + + + {{item.fuWuFei ? item.fuWuFei : '-' }} + + + + + + + + + + 没有符合条件的职位 + + + + + 暂无更多数据 + 上滑加载更多 + + + + + + 暂无记录 + + {{currPage}}/{{totalPage}} + + + + + + + 登录后才能查看全部职位 + + + 现在登录吗? + + + 知道了 + + + + + + + + + + + 请提供你的手机号 + + + 方便客服联系你,帮你推荐工作 + + + + + + + + + + + + + + + + + 周耀锋 + 专属客服 + + 13937184434 + + + 取消 + + + + + + +
+ + + + + {{currentJobDrawer.jobName}} + + + + + + + {{currentJobDrawer.index < 9 ? '0'+(currentJobDrawer.index + 1): currentJobDrawer.index + 1 }} + + {{currentJobDrawer.jobName}} + {{currentJobDrawer.salaryClassifyValue}},{{currentJobDrawer.age}} + + + + + + + + + 代理 + + + {{currentJobDrawer.fuWuFei ? currentJobDrawer.fuWuFei : '-' }} + + + + + + + {{currentJobDrawer.jobDesp}} + + + + + + + 取消 + + + + + + 复制 + + + + + + + + \ No newline at end of file diff --git a/pages/mine/collect/index.wxss b/pages/mine/collect/index.wxss new file mode 100644 index 0000000..dfbf905 --- /dev/null +++ b/pages/mine/collect/index.wxss @@ -0,0 +1,1021 @@ +/* required by usingComponents */ +@import "../../appcommon.wxss"; +@import "../index/index.wxss"; +/* @font-face{ +  font-family:YaHeiConsolasHybrid; +  src:url('https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf'); +  } */ +@font-face { + font-family: "DingTalk"; /* 这里的字体名称是自定义的 */ + src: url("https://matripecandy.oss-cn-beijing.aliyuncs.com/1shoudanImg/DingTalk%20Sans.ttf"); /* 服务器上ttf文件的路径,记得配置域名权限 */ + font-weight: normal; + font-style: normal; + font-display: swap; +} +/* .tarbarText { + font-size: 18px; + font-weight: 400; + color: #666666; + line-height: 25px; +} +.tarbarText.active { + font-weight: 600; + color: #000000; +} +.tarbar { + text-align: center; +} +.tarbarImg { + width: 22px; + height: 5px; + display: block; + margin: 0 auto; + margin-bottom: 12px; +} */ +.newSearch { + width: 88px; + height: 32px; + background: #ffffff; + border-radius: 16px; + float: right; + font-size: 16px; + font-weight: 600; + text-align: center; + color: #666666; + line-height: 32px; + margin-top: 12px; +} + +.lNum { + opacity: 0.6; + font-size: 32px; + font-weight: 400; + text-align: right; + color: #ff4400; + line-height: 39px; + margin-right: 12px; + font-family: "DingTalk"; +} +.f10 { + font-size: 10px !important; +} +.jobTitle2 { + font-size: 16px; + color: #333; + font-weight: 600; + line-height: 24px; +} +.jobText.bz { + height: 20px; + padding: 0px 8px; + background-color: #ff4400; + border-radius: 10px; + color: #fff; + line-height: 20px; +} +.jobText{ + line-height: 24px; + +} +.daili { + width: 30px; + height: 16px; + background: #fff3f3; + border: 1px solid #fea39f; + border-radius: 2px; + font-size: 12px; + font-weight: 400; + text-align: center; + color: #f6343e; + line-height: 16px; + float: right; + margin-top: 4px; +} +.ahoverd { + background-color: #f5f5f5 !important; +} +.fixedNum { + position: fixed; + right: 16px; + bottom: 32px; + z-index: 999; + width: 60px; + height: 60px; + background: #ffffff; + border-radius: 50%; + box-shadow: 0px 2px 8px 0px rgba(169, 169, 169, 0.5); + text-align: center; + line-height: 60px; +} + +.p024 { + padding: 0 24px; +} +.demo-steps-class { + margin: 20px 0; + border-bottom: 1px solid #e5e5e5; +} + +.demo-btn-container { + display: flex; + justify-content: space-between; + margin: 20px; +} + +.demo-btn { + width: 47%; +} + +.atd-config-transparent-header { + background-color: #fff; +} + +/*.atd-config-transparent-header .content-top { +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*13jpTYrECqYAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +color: #fff; +}*/ + +/* .atd-config-transparent-header .content-top{ +color: #000; +} */ + +.atd-config-transparent-header .content-top .statusBar { + background-color: transparent; + display: flex; + align-items: center; + justify-content: center; +} + +.atd-config-transparent-header .content-top .titleBar { + /* background-color: #108ee9; */ + display: flex; + align-items: center; + justify-content: left; + padding-left: 32rpx; +} + +.tab-content { + display: flex; + justify-content: center; + align-items: center; + padding: 40rpx; + box-sizing: border-box; + /* 如果 swipeable="{{true}}",需要增加 height */ + /* height: 350px; */ + /* 为了体现 stickyBar 的作用而增加的 tab-content 的高度 */ + height: 100vh; +} + +/*.atd-config-transparent-header .content-bottom { +margin-top: 1000rpx; +background-image: url('https://gw.alipayobjects.com/mdn/rms_7a3c08/afts/img/A*rFctR6myHjcAAAAAAAAAAABjARQnAQ'); +background-repeat: no-repeat; +background-size: 100% 100%; +-moz-background-size: 100% 100%; +width: 100vw; +height: 746rpx; +} +*/ + +.atd-config-transparent-header .content-top .titleBar { + background-color: #fff; +} + +.am-tabs-content-wrap { + height: auto !important; +} + +.atd-config-transparent-header .content-top .titleBar { + padding-left: 0; +} + +.am-tabs-tab-bar-wrap { + width: calc(100vw - 120px); +} + +.latest { + color: rgba(0, 0, 0, 0.65); +} + +.latest .active { + color: rgba(0, 0, 0, 0.85); + font-weight: 601; +} + +.secondSelect { + padding: 8px 20px; +} + +.zoneSelect .dib { + font-size: 14px; + margin-left: 8px; + background-color: rgba(0, 0, 0, 0.06); + color: rgba(0, 0, 0, 0.65); + padding: 4px; +} + +.zoneSelect .dib.active { + background-color: rgba(254, 99, 63, 0.15); + color: #fe633f; +} + +.am-tabs-bar { + padding-left: 20px; +} + +.navigator { + position: fixed; + width: 100vw; + top: 0; + z-index: 1000; +} +.navigatorBar { + background-color: #ff4400; + padding-bottom: 8px; +} +.navigatorBar .tabs { + position: relative; + left: 50%; + height: 30px; + padding: 2px; + background-color: #fff; + border-radius: 8px; + transform: translateX(-50%); + justify-content: center; + box-sizing: border-box; +} + +.navigatorBar .tabs > view { + flex: 1; + line-height: 26px; + width: 56px; + color: #666; + text-align: center; +} +.navigatorBar .tabs .active{ + height: 26px; + background-color: #ff4400; + color: #fff; + border-radius: 6px; + +} +.weui-tabs-swiper { + display: none; +} + +.weui-tabs-bar__item { + margin: 12px 8px; +} + +.weui-tabs-bar__title { + color: rgba(0, 0, 0, 0.65); +} + +.weui-tabs-bar__title.tab-bar-title__selected { + font-weight: bolder; + color: rgba(0, 0, 0, 0.85); + border-bottom-color: #fe633f !important; +} + +.dian { + float: left; + position: relative; + line-height: 36px; + left: 20px; + box-shadow: -30px 0 30px #fff; +} + +.weui-cell_access .weui-cell__ft { + padding-right: 16px; +} + +.weui-tabs { + padding-left: 12px; +} + +.mt6 { + margin-top: 6px; +} +.mb6 { + margin-bottom: 5px; +} +.logoClass { + width: 52px; + height: 52px; + max-width: 100%; + /* border: 1rpx solid #ddd; */ + margin-bottom: 8px; + border-radius: 4px; +} +.f20.c633.lh1 { + font-weight: 601; +} +.hourPay { + /* f18 c633 lh1 flex-1 tr */ + font-size: 18px; + line-height: 1; + flex: 1; + text-align: right; + white-space: nowrap; + color: var(--color-ysd); + font-weight: 601; +} +.weui-btn { + margin-left: 0 !important; + margin-right: 0 !important; +} +.weui-btn_primary { + border-radius: 3px; + font-size: 12px; + margin-top: 0; + font-weight: 400; + width: 48px; + height: 18px; + border-radius: 9px; + /* line-height: 18px; */ + background-color: var(--color-ysd); + margin-bottom: 0; +} + +.tttg { + /* max-width: calc(100vw - 200px); */ + /* float: left; */ + display: flex; + justify-content: start; + align-items: center; +} +.tttg .t-icon { + display: block; + width: 32px; + height: 20px; + margin-right: 6px; +} +/* .tttg .tagsLi { + display: none; +} */ + +.tttg.isTagShow > view:nth-child(n + 4) { + display: none; +} +/* .tttg .tagsLi:nth-child(-n + 3) { + display: inline-block; +} */ +.tagsLi { + display: inline-block; + font-size: 12px; + font-weight: 400; + color: #666; + background: #f1f1f1; + border-radius: 2px; + padding: 0 4px 0px; + line-height: 20px; + margin-right: 6px; + margin-bottom: 0px; + position: relative; + top: 1px; + /* border: 1rpx solid transparent; */ +} + +.tagsLi.spli { + color: var(--color-ysd); + background-color: rgba(234, 67, 58, 0.2); +} + +.f12.c045.flex-1.mb4 { + margin-bottom: 7px; +} +.prImg { + position: relative; + width: 52px; + /* height: 52px; */ + margin-right: 8px; +} +button.collect { + position: absolute; + left: 0; + /* top: 61px; */ + bottom: -1px; + padding: 0 3px; + /* max-width: 52px; */ + width: 52px; + border: 1px solid rgb(236, 235, 235); + border-radius: 2px; + height: 20px; + text-align: center; + margin: 0; + padding: 0px; + background-color: #fff; + /* opacity: 0.7; */ + line-height: 20px; + /* border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; */ + display: flex; + align-items: center; + justify-content: center; +} +button.collect icon { + display: block; + font-size: 10px; +} +button.collect icon::before { + display: block; +} +.cf { + color: #fff; +} + +.f15 { + font-size: 15px !important; +} + +.p1020 { + padding: 10px; +} +#searchBar .cf, +#searchBar .cf085 { + color: #fff; +} +.banner { + /* background-color: var(--color-ysd); */ + margin-top: 10px; + padding: 0 10px; +} +.innerSwiper { + border-radius: 8px; + overflow: hidden; +} + +.jobCenter { + height: calc(100vh); + padding: 0px; + margin-top: 10px; + border-radius: 8px; + position: relative; + z-index: 999; + background-color: #fff; + box-sizing: border-box; +} +.jobCenterActive { + height: calc(100vh); + /* padding: 0 10px; + margin-top:10px; */ + /* border-radius: 8px; */ + position: relative; + z-index: 999; + background-color: #f5f5f5; + box-sizing: border-box; +} +.jobOne { + /* margin-top: 10px; */ + padding: 0 10px; + line-height: 1; + /* margin-top: -1rpx; */ +} + +.jobIn { + border-bottom: 1px solid #f3f3f3; + padding: 16px 0px; + /* background-color: #fff; */ + /* border-radius: 4px; */ +} +/* .jobOne:nth-of-type(1) .jobIn { + border-top: 1rpx solid #f00; +} */ +/* .jobOne:nth-child(1) .jobIn { + border-top: 0; +} */ +.icon-weixuanzhong2 { + color: #999; + font-size: 6px; + margin-left: 2px; + line-height: 36px; + position: relative; + top: -2px; +} +.csbf { + position: relative; + padding: 4px 12px 4px 16px; + /* width: 78px; */ + height: 36px; + background-color: #f6f6f6; + border-radius: 16px; + /* width:60px; */ + text-align: center; + font-size: 14px; + font-weight: 400; + color: #333333; + line-height: 28px; + box-sizing: border-box; + margin-right: 8px; +} +.csbf .icon-shouye-xiala { + font-size: 7px; + position: relative; + color: #f6f6f6 !important; + top: -2px; +} +.csbf.active { + /* color: var(--color-ysd); */ + height: 35px; + border-radius: 16px 16px 0 0; +} +.csbf.activecolor { + color: var(--color-ysd); +} +.csbf.active .icon-shouye-xiala { + /* color: var(--color-ysd) !important; */ +} +.csbf .icon-zhankai { + /* margin-left: 2px; */ + color: #999; +} + +.topHover, +.ahover { + opacity: 0.8; +} +.c8, +.icon-wode-shoucang { + color: #888; +} +/* .cred, +.icon-shoucang-red { + color: rgba(234, 67, 58, 1); +} */ +.collect.collectred { + /* opacity: 0.5; */ + /* border: 1rpx solid var(--color-ysd); + color: var(--color-ysd); */ + background: rgba(255, 68, 0, 0.2); + color: #ff4400; + border: 1rpx solid rgba(255, 68, 0, 0.2); +} +.opacityBtn { + position: absolute; + padding: 0; + width: unset !important; + /* width: calc(100vw - 100px); */ + z-index: 999; + opacity: 0; +} +.opacityBtn button { + padding: 0 10px; +} +.clickMore { + width: 120px; + height: 28px; + margin: 16px auto; + padding: 0; + opacity: 1; + border: 1px solid #0000000f; + border-radius: 20px; + color: #8c8c8c; + line-height: 25px; + font-size: 14px; + font-weight: normal; + background-color: #fff; +} +.stm { + font-size: 13px; + font-weight: 400; + text-align: center; + color: #666; + line-height: 18px; +} + +.filterprice { + position: relative; + border-radius: 0 0 14px 14px; +} +.filterprice > view { + background-color: #f6f6f6; + border-radius: 12px; +} +.sort.filterprice { + /* border-radius: 12px; */ + overflow: hidden; +} +.sort.filterprice > view { + border-radius: unset; +} +.sort.filterprice > view:first-child { + border-radius: 12px 12px 0 0; +} +.btmFix { + height: 48px; + /* padding-left: 50px; */ + justify-content: center; + border-radius: 0 0 10px 10px; + line-height: 48px; + background-color: #fff !important; +} +.btmFix > view { + display: flex; + align-items: center; + width: 128px !important; + /* margin-right: 20px; */ + line-height: 48px; +} +.btmFix > view:first-child { + margin-right: 20px; +} +.btmFix button { + height: 32px; + margin: 0; + /* margin-top: 10px; */ + margin-bottom: 0; + font-size: 14px; + line-height: 32px; +} +.brand .content { + padding: 8px; + padding-bottom: 50px; + border-radius: 12px; + flex-wrap: wrap; + height: 208px; + overflow: auto; + justify-content: space-between; +} +.brand .content > view { + display: flex; + align-items: center; + border: 1px solid transparent; + padding: 9px 8px; + flex: 43% 0 0; + height: 42px; + background-color: #fff; + border-radius: 8px; + margin-bottom: 8px; +} +.brand .content > view image { + width: 44px; + height: 44px; + border-radius: 6px; + margin-right: 8px; +} +.brand .content > view:nth-child(2n-1) { + margin-right: 8px; +} +.specialtag { + position: relative; + padding: 12px 10px 50px; + height: 269px; + overflow: auto; +} +/* .filterprice .specialtag .mt10 { + display: flex; + justify-content: start; + flex-wrap: wrap; +} */ +.gjFixed { + position: fixed; + top: 0px; + left: 0; + width: 100vw; + height: 100vh; + /* right:0; + bottom:0; */ + z-index: 999; + background-color: rgba(0, 0, 0, 0.8); +} +.oh { + overflow: hidden; + height: 100vh; +} +.oa { + overflow: auto; +} +.weui-half-screen-dialog { + height: 75vh; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + padding: 0; +} +.bgAc { + display: inline-block; + /* width: 82px; */ + flex: 23% 0 0; + height: 32px; + background: #fff; + border: 1rpx solid transparent; + border-radius: 999px; + font-size: 12px; + color: #333; + line-height: 32px; + text-align: center; + margin-right: 4px; + margin-bottom: 10px; +} +.bgAc.active { + border-color: var(--color-ysd); + background-color: #ffefe9; + color: var(--color-ysd); +} +.brandactive { + border-color: var(--color-ysd) !important; +} +.btmFix { + position: absolute; + bottom: 0px; + left: 0; + width: 100%; + /* background-color: #ffffff; */ + z-index: 99; +} +.resetBtn { + width: 100% !important; + height: 44px; + opacity: 1; + background: #fff; + border: 1px solid var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: var(--color-ysd); + padding: 0; + line-height: 44px; + margin-bottom: 40px; +} +.resetBtn:active { + background-color: #f2f2f2; +} +.loginOut { + width: 100% !important; + height: 44px; + opacity: 1; + background: var(--color-ysd); + border-radius: 25px; + font-size: 18px; + font-weight: 601; + color: #ffffff; + padding: 0; + line-height: 44px; + margin-bottom: 40px; + margin-top: 20rpx; +} +.spef { + /* padding: 10px 0; */ + justify-content: space-between; +} +.spef .flex-1 { + max-width: 57px; + min-width: 52px; +} +.p10100 { + padding: 10px 10px 0; + min-height: 100vh; +} +.xgxg { + /* height: 44px; */ + padding: 8px 10px; + position: sticky; + top: 103px; + z-index: 999; + background-color: #fff; + border-bottom: 1rpx solid #f3f3f3; + border-top-left-radius: 16px; + border-top-right-radius: 16px; + /* border-radius: 8px; */ +} +.login_now { + padding: 0; +} +.record { + width: 64px !important; + padding: 0; + height: 20px !important; + line-height: 20px; + /* background-color: var(--color-ysd) !important; */ +} +.filterTag { + display: flex; + padding: 0 10px 8px 0px; + /* margin-top: 8px; */ +} +.filterTag .brandTag, +.filterTag .specialTag { + display: flex; + /* width: 200vw; */ + position: relative; + justify-content: start; + align-items: center; + flex-wrap: nowrap; + padding-right: 8px; + /* border-right: 1px solid #ccc; */ +} +.specialtag .tagBox { + display: flex; + justify-content: start; + align-items: center; + flex-wrap: wrap; +} +/* .filterTag .brandTag .mt10, +.filterTag .specialTag .mt10 { + display: flex; + justify-content: space-between; +} */ +.filterTag .brandTag.hascontent::after { + content: ""; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + width: 1px; + height: 18px; + background-color: #ccc; +} +.filterTag .brandTag > view, +.filterTag .specialTag > view { + height: 24px; + line-height: 24px; + background-color: #ffefe9; + border: 0.5px solid #ff8255; + border-radius: 999px; + margin-right: 8px; + font-size: 12px; + color: var(--color-ysd); + /* min-width: 100px; */ + white-space: nowrap; + padding: 0px 12px; +} +.filterTag .brandTag > view:last-child, +.filterTag .specialTag > view:last-child { + margin-right: 0px; +} +.filterTag .specialTag { + padding-left: 8px; +} +.specialnum { + font-size: 12px; + color: #fff; + text-align: center; + background-color: var(--color-ysd); + padding: 0 4px; + border-radius: 999px; +} +.quickapply { + position: relative; + height: 80px; + margin: 10px; + margin-bottom: 0; + /* background-color: #fff; */ + overflow: hidden; + border-radius: 8px; +} +.quickapply button { + display: flex; + height: 100%; + width: 100%; + padding: 0; + margin: 0; + background-color: #fff; +} +.quickapply button > view { + position: relative; + display: flex; + justify-content: space-between; + align-items: center; + width: 50%; + padding: 20px 24px; +} +.quickapply button > view:first-child::after { + content: ""; + width: 1px; + height: 20px; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); + background-color: #eee; +} +.quickapply button > view .t-icon { + width: 38px; + height: 38px; +} +.quickapply button > view .info > view { + text-align: left; + line-height: 1.6; +} +.quickapply button > view .info > view:first-child { + font-size: 18px; + font-weight: 400; +} +.quickapply button > view .info > view:last-child { + font-size: 14px; + color: #999; + font-weight: 400; +} +.tabTable { + margin-top: 10px; + padding: 0 10px; + justify-content: space-between; +} +.tabTable > view { + display: flex; + flex: 1; + padding: 8px 0 4px 0; + justify-content: center; + align-items: center; + text-align: center; + font-size: 18px; +} +.tabTable .all .iconfont { + font-size: 18px !important; +} +.tabTable > view .iconfont { + font-size: 20px; +} +.tabTable > view.active { + background-color: #fff; + border-radius: 12px 12px 0px 0px; + color: #f40; + /* font-weight: 600; */ +} +.tabTable > view.active .iconfont { + /* font-weight: 600; */ + color: #f40; +} +.tabTable > view .iconfont { + /* font-size: 18px; */ + margin-right: 5px; +} +.display-flex { + display: flex; + justify-content: space-between; +} +.drawerMask { + position: fixed; + z-index: 1000; + top: 0; + right: 0; + left: 0; + bottom: 0; + transition: opacity 0.3s, visibility 0.3s; + background: rgba(0, 0, 0, 0.6); + visibility: hidden; + opacity: 0; +} +.drawerMask.showDrawer { + opacity: 1; + visibility: visible; +} +.drawer.showDrawer { + /* position: relative; */ + border-radius: 8px 8px 0 0; + width: 100vw; + height: 660px; + /* bottom: -44px; */ + /* padding-bottom: 44px; */ +} +.drawer { + position: fixed; + left: 0; + right: 0; + bottom: 0px; + z-index: 2000; + width: 100vw; + background-color: #fff; + height: 0; + transition: all 0.3s; +} +.showDrawer .title{ + padding: 12px 16px; +} +.showDrawer .title .icon-guanbi { + position: relative; +} +.showDrawer .title .icon-guanbi::after{ + content: ''; + display: inline-block; + width: 60px; + height: 60px; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); +} +.showDrawer .annunciate { + height: 430px; + + overflow: auto; +} +.showDrawer .annunciate .info{ + width: 100%; + padding:12px 22px; + box-sizing: border-box; +} +.showDrawer .footer{ + display: flex; + justify-content: space-between; + text-align: center; + align-items: center; + padding-top: 15px; + padding-right: 48px; + padding-left: 48px; + border-top: 1px dashed #cccccc; +} \ No newline at end of file diff --git a/pages/mine/connectUs/index.js b/pages/mine/connectUs/index.js new file mode 100644 index 0000000..963811a --- /dev/null +++ b/pages/mine/connectUs/index.js @@ -0,0 +1,58 @@ +// pages/connectUs/index.js +const app = getApp(); + +Page({ + /** + * 页面的初始数据 + */ + data: { + serviceInfo: app.globalData.serviceInfo, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + call() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, +}); diff --git a/pages/mine/connectUs/index.json b/pages/mine/connectUs/index.json new file mode 100644 index 0000000..2d0a05f --- /dev/null +++ b/pages/mine/connectUs/index.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "联系我们", + "navigationBarBackgroundColor": "#fff", + "navigationBarTextStyle": "black", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/connectUs/index.wxml b/pages/mine/connectUs/index.wxml new file mode 100644 index 0000000..73fbb95 --- /dev/null +++ b/pages/mine/connectUs/index.wxml @@ -0,0 +1,32 @@ + + + + + + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ +
+
+ + + +
+ + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + 长按识别二维码 +
+
diff --git a/pages/mine/connectUs/index.wxss b/pages/mine/connectUs/index.wxss new file mode 100644 index 0000000..6df2b22 --- /dev/null +++ b/pages/mine/connectUs/index.wxss @@ -0,0 +1,28 @@ +page { + padding: 10px; +} +.bottom { + background-color: #fff; + border-radius: 8px; + text-align: center; +} +.serviceinfo { + line-height: 1; + padding: 26px 16px 16px 16px; + align-items: center; +} +.serviceinfo image { + width: 52px; + height: 52px; +} +.telBox { + width: 40px; + height: 40px; + line-height: 40px; + border-radius: 50%; + background-color: #fff1ec; +} +.telBox i { + font-size: 24px; + color: #ff4400; +} diff --git a/pages/mine/index.js b/pages/mine/index.js new file mode 100644 index 0000000..e98b93e --- /dev/null +++ b/pages/mine/index.js @@ -0,0 +1,300 @@ +// pages/mine/mine.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + isopen: 1, // 账户余额是否显示 + iosDialog: false, + iosDialogTobe: false, + isLoading: true, // 成为代理loading效果 + isLogin: app.globalData.isLogin, + // user:app.globalData.user, + serviceInfo: {}, + map: { num10: "0", num20: "0", num25: "0", num30: "0", num40: "0", num999: "0", user999: "0", user40: "0", user48: "0", user50: "0", billStatus10Salary: "0", billStatus30Salary: "0" }, + motto: "Hello World", + userInfo: {}, + hasUserInfo: false, + canIUse: wx.canIUse("button.open-type.getUserInfo"), + canIUseGetUserProfile: false, + // 如需尝试获取用户信息可改为false + underReviewNum: -1, + underReviewList: [], + searchParam: {}, + recordBillType: "", + configInfo:{} + // agencyStatus: 0, // 是否是代理判断 + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + setTimeout(() => { + console.log(app.globalData.loginUserInfo); + this.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + // agencyStatus: app.globalData.loginUserInfo.agencyStatus, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + }); + }, 100); + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + console.log("isshow"); + let that = this; + console.log(wx.getWindowInfo().screenTop) + + wx.setStorageSync("comeFromPage", "me"); + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 2, + isShow:true + }); + } + wx.setStorageSync('BILLFROM','mine') + + // wx.showTabBar({ + // success(e) {}, + // }); + // if (!app.globalData.isLogin) { + // wx.setStorageSync('comeFromPage', "me") + // wx.redirectTo({ + // url: "/pages/login/index", + // }); + // } else { + // wx.switchTab({ + // url: "/pages/mine/index", + // }); + // } + // let serviceInfo = wx.getStorageSync('ServiceInfo') + setTimeout(() => { + if (app.globalData.isLogin) { + console.log(that.data.userInfo); + that.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + // agencyStatus: app.globalData.loginUserInfo.agencyStatus, + userInfo: app.globalData.loginUserInfo, + serviceInfo: app.globalData.serviceInfo, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + }); + that.getDataNum(); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + // app.userLoginCallback = (res) => { + setTimeout(() => { + console.log(that.data.userInfo); + that.setData({ + isLogin: app.globalData.isLogin, + hasUserInfo: app.globalData.hasUserInfo, + userInfo: app.globalData.loginUserInfo, + // agencyStatus: app.globalData.agencyStatus, + serviceInfo: app.globalData.serviceInfo, + }); + }, 100); + // }; + that.getDataNum(); + } + console.log(that.data.serviceInfo); + // this.watch(); + }, 100); + this.getConfigInfo(); + + }, + watch() { + // var obj = app.globalData; + // this.setData({ + // isLogin: obj.isLogin, + // }); + }, + onTabItemTap(item) { + console.log(item.index); + console.log(item.pagePath); + console.log(item.text); + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + console.log(123); + + this.setData({ + iosDialog: false, + iosDialogTobe: false, + }); + wx.onAppRoute({ + success(item) { + console.log(item); + }, + fail: function (item) { + console.log(item); + }, + }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // var that = this; + // console.log(that.data.isLogin) + // if(!that.data.isLogin){ + // wx.setStorageSync('comeFromPage', "me") + // wx.redirectTo({ + // url: "/pages/login/index", + // }); + // } + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, + showbalance(e) { + this.setData({ + isopen: e.mark.open, + }); + }, + showdialog() { + this.setData({ + iosDialog: true, + }); + }, + showTobe() { + this.setData({ + iosDialogTobe: true, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + iosDialogTobe: false, + }); + }, + login() { + // this.setData({ + // isLogin:true + // }) + + app.globalData.isLogin = true; + wx.reLaunch({ + url: "/pages/mine/index", + }); + }, + /** + * 获取商家配置信息 + * + * + */ + getConfigInfo() { + let that = this; + wx.request({ + url: app.globalData.ip + "/yishoudan/agency/config/get", // 分类列表获取接口 + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + configInfo: res.data.data.config, + }); + wx.setStorageSync('configInfo', res.data.data.config) + console.log(that.data.configInfo); + } + }, + }); + }, + makePhoneCall() { + console.log(1); + var that = this; + wx.makePhoneCall({ + // number: that.data.jobDetail.assistantUserTel + "" + phoneNumber: that.data.serviceInfo.workPhone || "0371-6611 3723", + }); + }, + /** + * 前往工单页面 + * + * + */ + goList() { + if (!app.globalData.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../myBill/index?status=0", + }); + } + }, + /** + * 获取各个数量 + * + * + */ + getDataNum() { + let that = this; + wx.request({ + url: app.globalData.ip + "/statistics/home", + header: app.globalData.headers, + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + map: res.data.data, + }); + } + }, + }); + }, + /** + * 二维码加载laoding隐藏 + * + * + */ + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + toTodayData() { + if (!app.globalData.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "/pages/todayData/index", + }); + } + }, + modalMove() { + return false; + }, +}); diff --git a/pages/mine/index.json b/pages/mine/index.json new file mode 100644 index 0000000..b693d42 --- /dev/null +++ b/pages/mine/index.json @@ -0,0 +1,7 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "我的", + "navigationBarBackgroundColor": "#027aff", + "navigationBarTextStyle": "white", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/index.wxml b/pages/mine/index.wxml new file mode 100644 index 0000000..9352b8a --- /dev/null +++ b/pages/mine/index.wxml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + {{userInfo.user.userName || '微信用户'}} + + + + {{userInfo.user.tel}} + + + + + + 去认证 + + + + + + + + + + + + + + 微信用户 + + 为劳动者创造价值 + + + + + + + + + + + + + + 我的报名 + + + + + + + + + + + + 我的服务 + + + + + + + 工作 + + + + + + + 证件 + + + + + + + + + + + 地址本 + + + + + + 收藏 + + + + + + + + + + + + + + + + 设置 + + + + + + + + + + + + + + + + + + 加客户经理微信 + + + + + 加载中... + + + + + 长按识别二维码 + + + + + + + + + + + 成为伯才代理 + 请联系客户经理 + + + + 客户经理 + + {{serviceInfo.userName }} + +

{{serviceInfo.tel || '0371-6611 3723'}}

+
+ + + + + 加载中... + + + 长按识别二维码 +
+
+
+
+
+ + diff --git a/pages/mine/index.wxss b/pages/mine/index.wxss new file mode 100644 index 0000000..36bf766 --- /dev/null +++ b/pages/mine/index.wxss @@ -0,0 +1,369 @@ +/* pages/mine/mine.wxss */ +/* @import "../../appcommon.wxss"; */ +page { + height: 90vh; +} +.container { + padding: 10px; +} +.container .no_login { + display: flex; + align-items: center; +} +.container .no_login .t-icon-morentouxiang { + width: 56px; + height: 56px; +} +.container .no_login view:last-child { + font-size: 22px; +} +.container .login { + margin-top: 30px; +} +.container .login .loginBtn { + width: 200px; + height: 42px; + background-color: var(--color-ysd); + border-radius: 999px; +} +.container .setting { + padding: 18px 10px !important; + padding-left: 16px !important; +} +.container .userinfobox, +.container .setting { + display: flex; + background-color: #fff; + justify-content: space-between; + align-items: center; + border-radius: 8px; + padding: 15px 10px; + + /* padding-left: 20px !important; */ +} +.container .userinfobox .userinfo, +.container .setting .userinfo { + display: flex; + justify-content: space-between; + align-items: center; +} +.container .userinfobox .userinfo > view:last-child, +.container .setting .userinfo > view:last-child { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; +} +.container .userinfobox .userinfo > view:last-child view:last-child, +.container .setting .userinfo > view:last-child view:last-child { + color: #666; + line-height: 1; +} +.container .userinfobox .userinfo .usernamebox, +.container .setting .userinfo .usernamebox { + display: flex; + justify-content: space-between; + flex-direction: column; + /* margin-left: 4px; */ +} +.container .userinfobox .userinfo .usernamebox .username, +.container .setting .userinfo .usernamebox .username { + display: flex; + justify-content: start; + flex-direction: row; + align-items: center; + line-height: 1; + margin-bottom: 15px; + font-size: 20px; + font-weight: 603; +} +.container .userinfobox .userinfo .usernamebox .username .theusername { + max-width: 160px; + word-wrap: nowrap; + word-break: keep-all; + overflow: hidden; + text-overflow: ellipsis; + color: #333; +} +.container .userinfobox .userinfo .usernamebox .username i, +.container .setting .userinfo .usernamebox .username i { + width: 20px; + height: 20px; + margin-left: 5px; +} +.container .userinfobox .userinfo image, +.container .setting .userinfo image { + width: 56px; + height: 56px; + border-radius: 999px; + /* margin-right: 12px; */ +} +.container .userinfobox > view:last-child, +.container .setting > view:last-child { + display: flex; + align-items: center; + color: #acacac; +} +.container .userinfobox > view:last-child text, +.container .setting > view:last-child text { + margin-left: 4px; +} +.balanceBox { + border-radius: 8px; + margin-bottom: 10px; + overflow: hidden; + margin-top: 10px; +} +.balanceBox .myaBill { + display: flex; + justify-content: space-between; + align-items: center; + height: 48px; + padding: 0 10px 0 16px; + background-color: #fff; +} +.balanceBox .myaBill .icon-gengduo11 { + color: #999; + font-size: 12px; +} +.container .userbalance { + display: flex; + justify-content: space-between; + align-items: center; + /* padding: 16px; */ + border-radius: 8px 8px 0 0; + /* width: 355px; */ + /* height: 96px; */ + box-sizing: border-box; + color: #fff; + background-color: #fff; +} +.container .userbalance > navigator { + height: 100%; + display: flex; + flex: 1; + flex-direction: column; + justify-content: space-around; + padding: 16px 0 16px 16px; +} +.container .userbalance > view > view:last-child { + font-size: 26px; +} +.container .userbalance .balanceinfo { + display: flex; + justify-content: start; + flex-direction: row; + align-items: center; +} +.container .userbalance .balanceinfo > view:last-child { + width: 20px; + height: 20px; + background-repeat: no-repeat; + background-size: 100% 100%; +} +.container .userbalance .rightbox { + display: flex; + justify-content: space-between; + flex-direction: column; + align-items: center; +} +.container .userbalance .rightbox > view:last-child { + width: 12px; + height: 12px; + /* margin-left: 8px; */ +} +.container .mycard, +.container .myserve { + background-color: #fff; +} +.container .mycard .title, +.container .myserve .title { + font-size: 16px; + /* font-weight: 400; */ + padding: 9px 0px; + /* padding-top: 16px; */ +} +.container .mycard .content, +.container .myserve .content { + display: flex; + justify-content: start; + padding: 16px 0px; +} +.container .mycard .content > view, +.container .myserve .content > view { + width: 25%; + text-align: center; + font-size: 14px; + color: #666; + /* margin-right: 24px; */ +} +.container .mycard .content > view image, +.container .myserve .content > view image { + width: 22px; + height: 22px; +} +/* .container .myserve .content { + justify-content: space-between; +} */ +.container .myserve .content > view { + margin-right: 0; +} +.container .servicebox { + /* display: flex; + justify-content: space-between; + flex-direction: column; + align-items: start; */ + /* padding: 20px; */ + padding: 16px 12px; + /* padding-bottom: 0; */ + /* padding-right: 10px; */ + background-color: #fff; +} +.thover06{ + opacity: 0.6; +} +.container .servicebox .serviceinfo image { + width: 52px; + height: 52px; +} +.servicebox .serviceBottom { + height: 48px; + line-height: 48px; + width: 100%; + justify-content: space-between; +} +.servicebox .serviceBottom > view { + flex: 1; + justify-content: space-between; + padding: 0 10px 0 16px; +} +.container .setting { + display: flex; + justify-content: space-between; + background-color: #fff; + align-items: center; + padding: 20px; +} +.container .setting > view:first-child { + display: flex; + justify-content: space-between; + align-items: center; +} + +.weui-dialog .weui-dialog__ft { + display: flex; + align-items: center; + justify-content: space-around; + height: 80px; +} +.weui-dialog .weui-dialog__ft .cancel { + flex: unset; + width: 112px; + color: var(--color-ysd); +} +.weui-dialog .weui-dialog__ft .call { + flex: unset; + width: 112px; + height: 42px; + line-height: 42px; + padding: 0; + background-color: var(--color-ysd); + border-radius: 999px; + color: #fff; +} +.weui-dialog .weui-dialog__bd { + text-align: center; + padding: 20px 20px 0; + margin-bottom: 0; + font-weight: normal; +} +.weui-dialog .weui-dialog__bd .avatar { + margin-bottom: 12px; +} +.weui-dialog .weui-dialog__bd .avatar image { + width: 56px; + height: 56px; +} +.weui-dialog .weui-dialog__bd .name { + margin-bottom: 8px; + font-size: 20px; +} +.weui-dialog .weui-dialog__bd .job { + margin-bottom: 20px; + font-size: 14px; +} +.weui-dialog .weui-dialog__bd .tel { + margin-bottom: 20px; + font-size: 22px; +} +.contact { + width: 80%; + height: 350px; +} +.contact .weui-dialog__hd { + margin-top: 40px; + padding: 0; + position: relative; +} +.guanbi { + position: absolute; + right: 16px; + top: -28px; +} +.contact .contact_bottomBtn .v-center { + width: 80px !important; +} +.contact .contact_bottomBtn .rflex button { + padding: 0; + width: 100%; +} +.button-hover { + opacity: 0.8; + background-color: #fff; +} +.friendBar .container { + display: flex; + justify-content: start; + padding: 0; +} +.friendBar .container .sub { + flex: 25%; + padding: 16px 0; + text-align: center; +} +.friendBar .container .sub .t-icon { + margin-bottom: 6px; +} +.friendBar .container .sub view { + line-height: 1; +} +.myBill .weui-grids { + border-top: 1px solid #f5f5f5; +} +.myBill .weui-grids::before, +.myTownsman .weui-grids::before { + display: none; +} +.weui-grids navigator { + width: 20%; +} +.weui-grid4 { + padding: 10px 0; + text-align: center; +} +.weui-grid4::before { + display: none; +} +.weui-grid5::before { + display: none; +} + +.bb1 { + border-bottom: 1px solid #f5f5f5; +} +.mark { + position: absolute; + left: 50%; + bottom: -5px; + transform: translateX(-50%); +} diff --git a/pages/mine/myJob/index.js b/pages/mine/myJob/index.js new file mode 100644 index 0000000..ad26a39 --- /dev/null +++ b/pages/mine/myJob/index.js @@ -0,0 +1,66 @@ +// pages/mine/myJob/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/mine/myJob/index.json b/pages/mine/myJob/index.json new file mode 100644 index 0000000..6bfcd14 --- /dev/null +++ b/pages/mine/myJob/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "我的工作" +} \ No newline at end of file diff --git a/pages/mine/myJob/index.wxml b/pages/mine/myJob/index.wxml new file mode 100644 index 0000000..ea80243 --- /dev/null +++ b/pages/mine/myJob/index.wxml @@ -0,0 +1,34 @@ + + + 暂无记录 + + + \ No newline at end of file diff --git a/pages/mine/myJob/index.wxss b/pages/mine/myJob/index.wxss new file mode 100644 index 0000000..0b93c6c --- /dev/null +++ b/pages/mine/myJob/index.wxss @@ -0,0 +1 @@ +/* pages/mine/myJob/index.wxss */ \ No newline at end of file diff --git a/pages/mine/realName1/index.js b/pages/mine/realName1/index.js new file mode 100644 index 0000000..7835090 --- /dev/null +++ b/pages/mine/realName1/index.js @@ -0,0 +1,468 @@ +// pages/realName/index.js +let app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + level: 1, + isFinish: false, + user: { + sex: "", + sexStr: "", + IDCard: "", + realName: "", + idcardImgFrontm: "", // 正面mini照 + idcardImgFront: "", // 正面标准照 + idcardImgBackm: "", // 反面mini照 + idcardImgBack: "", // 反面标准照 + }, + canFinish: false, + switch1Checked: false, + + sexArr: [ + { + text: "男", + id: 1, + }, + { + text: "女", + id: 2, + }, + ], + }, + switch1Change: function (e) { + console.log("radio发生change事件,携带value值为:", e.detail.value); + console.log(e.detail.value); + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + // if (app.globalData.isLogin) { + // this.setData({ + // isLogin: app.globalData.isLogin, + // user: app.globalData.user, + // }); + // if (this.data.user.idcardImgBack && this.data.user.idcardImgFront) { + // this.setData({ + // btnDisabled: false, + // }); + // } + // this.data.user["IDCard"] = this.data.user["IDCard"]; + // } else { + // // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // // 所以此处加入 callback 以防止这种情况 + // app.userLoginCallback = (res) => { + // this.setData({ + // isLogin: app.globalData.isLogin, + // user: app.globalData.user, + // }); + // if (this.data.user.idcardImgBack && this.data.user.idcardImgFront) { + // this.setData({ + // btnDisabled: false, + // }); + // } + // this.data.user["IDCard"] = this.data.user["idcard"]; + // }; + // } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + getId(e) { + console.log(e); + let user = "user.IDCard"; + this.setData({ + [user]: e.detail.value, + }); + console.log(this.data.user.IDCard); + this.idverify(); + }, + getRealName(e) { + console.log(e); + let user = "user.realName"; + this.setData({ + [user]: e.detail.value, + }); + this.idverify(); + }, + // toNext(data) { + // console.log(data); + // if (data.currentTarget.dataset.level == 1) { + // if (this.isNotEmptyCheck(this.data.user.idcardImgFront)) { + // this.setData({ + // level: 2, + // }); + // } + // } else { + // if (this.isNotEmptyCheck(this.data.user.idcardImgBack)) { + // this.setData({ + // level: 3, + // }); + // } + // } + // this.idverify(); + // // this.setData({ + // // level : this.data.level <= 2 ? this.data.level + 1 : this.data.level + // // }) + // // wx.navigateTo({ + // // url: '../realName2/index', + // // }) + // // console.log(123); + // }, + idverify() { + var username = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/; + if (this.data.user.IDCard.length == 18 && username.test(this.data.user.realName)) { + this.setData({ + canFinish: true, + }); + } else { + this.setData({ + canFinish: false, + }); + } + }, + goBack() { + // this.data.level = this.data.level - 1 + this.setData({ + level: this.data.level >= 1 ? this.data.level - 1 : this.data.level, + isFinish: false, + }); + if (this.data.level == 0) { + wx.navigateBack({ + delta: 1, + }); + } + // this.onLoad() + }, + toFinish() { + let that = this; + this.idverify(); + console.log(that.data.canFinish); + if (!that.data.switch1Checked) { + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + return; + } + if (!that.data.user.idcardImgFront || !that.data.user.idcardImgBack) { + wx.showToast({ + title: "请上传身份证照片", + icon: "none", + duration: 2000, + }); + return; + } + if (that.data.canFinish) { + wx.showLoading({ + title: "保存中...", + mask: true, + }); + + var realName = that.data.user.realName; + var IDCard = that.data.user.IDCard; + + wx.request({ + url: app.globalData.ip + "/commons/validatecard", + data: { + name: realName, + cardno: IDCard, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + console.log(res); + + // if (res.data.status == 9999) { + // app.dialogNotLogin(); + // return; + // } + + var state = res.data.data.state; + // wx.navigateTo({ + // url: `/pages/returnMessage/index?from=real&type=success&msg=实名认证成功`, + // }); + // app.globalData.loginUserInfo.user.idauth = 1; + // return; + if (state == 101) { + wx.hideLoading(); + that.dialog("已被占用", "你输入的身份证号已经被其他人占用了", "知道了"); + } else if (state == 102) { + wx.hideLoading(); + that.dialog("次数超限", "你今天已经认证失败3次,明天再认证吧", "知道了"); + } else if (state == 5 || state == 14 || state == 96) { + wx.hideLoading(); + that.dialog("认证失败", "姓名或身份证号错误,认证失败", "知道了"); + } else if (state == 0) { + that.saveIDCard(realName, IDCard); + } else { + wx.hideLoading(); + that.dialog("认证失败", res.data.msg, "知道了"); + } + }, + }); + } else { + wx.showToast({ + icon: "none", + title: "请确保信息完整", + duration: 2000, + }); + } + }, + saveIDCard: function (realName, IDCard) { + let that = this; + wx.request({ + url: app.globalData.ip + "/user/auth/authIDCard", + data: { + realName: realName, + IDCard: IDCard, + }, + header: app.globalData.headers, + method: "POST", + success: function (res) { + // console.log(res); + if (res.data.status == 200) { + wx.showToast({ + title: "保存成功", + icon: "success", + image: "", + duration: 1000, + mask: true, + success: function (res) { + wx.hideLoading(); + that.updateSex(); + app.globalData.loginUserInfo.user.idauth = 1; //如果身份证上传成功,登录缓存的实名认证状态更新为已实名 + // that.makeInfoSuccess(); + wx.navigateTo({ + url: `../returnMessage/index?from=real&type=success&msg=实名认证成功`, + }); + }, + fail: function (res) { + wx.hideLoading(); + }, + complete: function (res) {}, + }); + } else { + wx.navigateTo({ + url: `../returnMessage/index?from=real&type=fail&msg=实名认证失败&status=${res.data.status}`, + }); + // app.showTips(that, res.data.msg); + } + }, + }); + }, + dialog: function (title, content, btxt) { + wx.showModal({ + title: title, + content: content, + showCancel: false, + confirmColor: "#ff4400", + confirmText: btxt, + success: function (res) { + if (res.confirm) { + console.log("用户点击确定"); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + uploadCard(data) { + var that = this; + // return + let type = data.currentTarget.dataset.type; + console.log(type); + wx.chooseImage({ + count: 1, // 默认9 + sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有 + sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有 + success: function (res) { + wx.showLoading({ + title: "上传中", + mask: true, + }); + // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 + var tempFilePaths = res.tempFilePaths; + var formData = { + type: type, + userId: app.globalData.userId, + }; + wx.uploadFile({ + url: app.globalData.ip + "/user/auth/uploadImage", + filePath: res.tempFilePaths[0], + name: "uploadFile", + header: app.globalData.headers2, // 设置请求的 header + formData: formData, // HTTP 请求中其他额外的 form data + success: function (res1) { + var result = JSON.parse(res1.data); + console.log(result); + if (result.status == 200) { + if (type == 2) { + that.data.user["idcardImgFrontm"] = result.data.miniUrl; + that.data.user["idcardImgFront"] = result.data.url; + that.data.user["IDCard"] = result.data.IDCard; + that.data.user["realName"] = result.data.realName; + console.log(that.data.user.IDCard); + if (that.data.user.IDCard) { + if (that.data.user.IDCard.slice(16, 17) % 2 == 0) { + that.data.user.sex = 2; + that.data.user.sexStr = "女"; + } else { + that.data.user.sex = 1; + that.data.user.sexStr = "男"; + } + } + } else if (type == 3) { + that.data.user["idcardImgBackm"] = result.data.miniUrl; + that.data.user["idcardImgBack"] = result.data.url; + } + console.log(that.data.user); + that.setData({ + user: that.data.user, + }); + } else { + wx.showToast({ + icon: "none", + title: result.msg, + duration: 2000, + }); + } + //判断是否可以进入下一步 + // if (!that.isEmptyCheck(that.data.user.idcardImgFront) && !that.isEmptyCheck(that.data.user.idcardImgBack)) { + // that.setData({ + // btnDisabled: false, + // }); + // } + wx.hideLoading(); + }, + fail: function (res2) { + wx.hideLoading(); + }, + }); + }, + }); + }, + updateSex() { + // that.updateSex(that.data.user["IDCard"]); + + var formData = { + userId: app.globalData.user.id, + sex: this.data.user.sex, + }; + wx.request({ + url: app.globalData.ip + "/user/updateSex", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + // let data = "user.sex"; + // app.({ + // [data]: formData.sex, + // }); + app.globalData.user.sex = formData.sex; + console.log(app.globalData.user.sex); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, + isEmptyCheck: function (str) { + if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") { + return true; + } + return false; + }, + isNotEmptyCheck: function (str) { + return !this.isEmptyCheck(str); + }, + tomine() { + wx.navigateBack({ + delta: 1, + }); + }, + changeDateTime(e) { + console.log(e); + console.log(this.data.sex); + if (e.detail.value == 0) { + this.data.user.sexStr = "男"; + this.data.user.sex = 1; + } else { + this.data.user.sexStr = "女"; + this.data.user.sex = 2; + } + this.setData({ + user: this.data.user, + }); + }, + changeDateTimeColumn(e) { + console.log(e); + }, +}); diff --git a/pages/mine/realName1/index.json b/pages/mine/realName1/index.json new file mode 100644 index 0000000..6d218e1 --- /dev/null +++ b/pages/mine/realName1/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "实名认证", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/realName1/index.wxml b/pages/mine/realName1/index.wxml new file mode 100644 index 0000000..6c81ac5 --- /dev/null +++ b/pages/mine/realName1/index.wxml @@ -0,0 +1,75 @@ + + + + + + + + + 人像面照片 + + + + + + + 国徽面照片 + + + + + + + 姓名 + + + + + + 性别 + + {{!!user.sexStr ? user.sexStr : '选择性别' }} + + + + 身份证号 + + + + + + + + + 上传成功 + + + + + + + + + + 我已阅读并同意 + 《服务协议》及 + 《隐私政策》 + + diff --git a/pages/mine/realName1/index.wxss b/pages/mine/realName1/index.wxss new file mode 100644 index 0000000..c350770 --- /dev/null +++ b/pages/mine/realName1/index.wxss @@ -0,0 +1,52 @@ +page { + padding: 10px; + background-color: #f5f5f5; +} +.IDcardBox { + display: flex; + flex-direction: column; + justify-content: center; + height: 366px; + + align-items: center; + background-color: #fff; + border-radius: 8px; +} +.imgBox { + width: 240px; + height: 151px; + position: relative; +} +.imgBox image { + width: 100%; + height: 100%; +} +.imgBox:first-child { + margin-bottom: 16px; +} +.cardText { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + text-align: center; +} +.infoBox { + background-color: #fff; + border-radius: 8px; +} +.infoBox .userInfo { + padding: 0 10px; +} +.dfsb { + display: flex; + justify-content: space-between; + align-items: center; + line-height: 52px; +} +.dfsb input { + color: #333; +} +.bgh { + background-color: #ccc; +} diff --git a/pages/mine/returnMessage/index.js b/pages/mine/returnMessage/index.js new file mode 100644 index 0000000..b60131e --- /dev/null +++ b/pages/mine/returnMessage/index.js @@ -0,0 +1,99 @@ +// pages/returnMessage/index.js +Page({ + /** + * 页面的初始数据 + */ + data: { + success: false, + fail: false, + from: "", + messageInfo: "", + status: null, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + let type = options.type; + this.setData({ + [type]: true, + messageInfo: options.msg, + from: options.from, + }); + if (options.status) { + this.setData({ + status: options.status, + }); + } + console.log(this.data); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + finish() { + // if (wx.getStorageSync("comeFromPage")) { + // let from = wx.getStorageSync("comeFromPage"); + // wx.navigateTo({ + // url: `/pages/${from}/index`, + // }); + // console.log(wx.getStorageSync("comeFromPage")); + // } + wx.switchTab({ + url: "/pages/mine/index", + }); + // wx.navigateBack({ + // delta: 2, + // }); + }, + /** + * 点击返回我的 + * + * + */ + toMine(e) { + console.log(e); + if (this.data.from == "bill") { + wx.reLaunch({ + url: "/pages/firstBill/index", + }); + } else if (this.data.from == "real") { + wx.reLaunch({ + url: "/pages/mine/index", + }); + } + }, +}); diff --git a/pages/mine/returnMessage/index.json b/pages/mine/returnMessage/index.json new file mode 100644 index 0000000..da7c217 --- /dev/null +++ b/pages/mine/returnMessage/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "" + +} \ No newline at end of file diff --git a/pages/mine/returnMessage/index.wxml b/pages/mine/returnMessage/index.wxml new file mode 100644 index 0000000..d982f04 --- /dev/null +++ b/pages/mine/returnMessage/index.wxml @@ -0,0 +1,10 @@ + + + + {{messageInfo}} + + {{'错误代码:' + status}} + + 完成 + {{from == 'bill' ? '返回职位列表' : '返回我的'}} + diff --git a/pages/mine/returnMessage/index.wxss b/pages/mine/returnMessage/index.wxss new file mode 100644 index 0000000..d9db717 --- /dev/null +++ b/pages/mine/returnMessage/index.wxss @@ -0,0 +1,15 @@ +.container{ + display: flex; + flex-direction: column; + justify-content: start; + height: 100%; + text-align: center; +} +.iconfont{ + font-size: 70px; + margin-top: 100px; +} +.loginOut{ + margin: 0 auto; + margin-top: 120px; +} \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.js b/pages/mine/seeIdCard/index.js new file mode 100644 index 0000000..e1789ab --- /dev/null +++ b/pages/mine/seeIdCard/index.js @@ -0,0 +1,99 @@ +// pages/seeIdCard/index.js +const app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + user: {}, + switch1Checked: true, + }, + TT(e){ + var url = e.currentTarget.dataset.url; + console.log(url); + + wx.previewImage({ + current: url, // 当前显示图片的http链接 + urls: [this.data.user.idcardImgFront != null ? this.data.user.idcardImgFront : '//matripe.oss-cn-beijing.aliyuncs.com/tuiguang/renxiang.png',this.data.user.idcardImgBack != null ? this.data.user.idcardImgBack : '//matripe.oss-cn-beijing.aliyuncs.com/tuiguang/guohui.png'] // 需要预览的图片http链接列表 + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + goBack(){ + /*wx.navigateTo({ + url: '/pages/seeCard/index', + })*/ + wx.navigateBack({ + delta: 1 + }) + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + //登录=================================start + if (app.globalData.isLogin) { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + }); + } else { + // 由于 userLogin 是网络请求,可能会在 Page.onLoad 之后才返回 + // 所以此处加入 callback 以防止这种情况 + app.userLoginCallback = res => { + this.setData({ + isLogin: app.globalData.isLogin, + user: app.globalData.user, + }); + } + } + console.log(this.data.user) + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.json b/pages/mine/seeIdCard/index.json new file mode 100644 index 0000000..7879f5d --- /dev/null +++ b/pages/mine/seeIdCard/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "实名认证", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.wxml b/pages/mine/seeIdCard/index.wxml new file mode 100644 index 0000000..ca4657f --- /dev/null +++ b/pages/mine/seeIdCard/index.wxml @@ -0,0 +1,24 @@ + + + + + 身份证正面 + + + + 身份证反面 + + + + + + + 我已阅读并同意 + 《用户服务协议》 + 及 + 《隐私政策》 + + + \ No newline at end of file diff --git a/pages/mine/seeIdCard/index.wxss b/pages/mine/seeIdCard/index.wxss new file mode 100644 index 0000000..6fc7f22 --- /dev/null +++ b/pages/mine/seeIdCard/index.wxss @@ -0,0 +1,4 @@ +/* @import "/pages/makeInfo/index.wxss"; */ +page{ + background-color: #fff; +} \ No newline at end of file diff --git a/pages/mine/setting/index.js b/pages/mine/setting/index.js new file mode 100644 index 0000000..c978887 --- /dev/null +++ b/pages/mine/setting/index.js @@ -0,0 +1,76 @@ +// pages/setting/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + version: app.globalData.version, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + loginOut: function () { + wx.showModal({ + title: "退出登录", + content: "确定要退出登录吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + console.log("用户点击确定"); + app.logout().then(() => { + wx.reLaunch({ + url: "/pages/login/index", + }); + app.getServiceInfo().then(() => { + wx.setStorageSync("ServiceInfo", app.globalData.serviceInfo); + }); + }); + + // wx.navigateBack({ + // delta: 1 + // }) + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, +}); diff --git a/pages/mine/setting/index.json b/pages/mine/setting/index.json new file mode 100644 index 0000000..f97fc84 --- /dev/null +++ b/pages/mine/setting/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "设置", + "usingComponents": {}, + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/setting/index.wxml b/pages/mine/setting/index.wxml new file mode 100644 index 0000000..9d57ae1 --- /dev/null +++ b/pages/mine/setting/index.wxml @@ -0,0 +1,44 @@ + + + + 修改密码 + + + + + + + + + 用户协议 + + + + + + + + + 隐私政策 + + + + + + + + + 关于职位云 + + 版本{{version}} + + + + + + + + 退出登录 + + + diff --git a/pages/mine/setting/index.wxss b/pages/mine/setting/index.wxss new file mode 100644 index 0000000..2ea7d3d --- /dev/null +++ b/pages/mine/setting/index.wxss @@ -0,0 +1,54 @@ +page{ + background-color: #f5f5f5 +} +.container{ + padding: 10px; + padding-top: 0; +} +.container .userinfo { + font-size: 16px; + background-color: #fff; + border-radius: 8px; + overflow: hidden; +} +.container .userinfo navigator>view { + display: flex; + flex-direction: row; + align-items: center; + height: 56px; + line-height: 56px; + justify-content: space-between; + margin: 0 10px; + border-bottom: 1px solid #f3f3f3 +} +.container .userinfo > view:last-child { + border-bottom-color: transparent; +} +.container .userinfo > view > view:last-child { + display: flex; + align-items: center; + color: #666; +} +.icon-gengduo11{ + font-size: 14px; + line-height: 24px; + color: #b8b8b8; +} +.loginOut{ + width: unset; + height: 56px; + background-color: #fff; + line-height: 56px; + border-radius: 8px; + text-align: center; + /* border: 1px solid var(--color-ysd); */ + margin: 32px 0 0 0; + color: red; + font-weight: bold; + overflow: hidden; +} +.changePsw{ + padding: 0 10px; + height: 56px; + +} diff --git a/pages/mine/trueName/index.js b/pages/mine/trueName/index.js new file mode 100644 index 0000000..fe42399 --- /dev/null +++ b/pages/mine/trueName/index.js @@ -0,0 +1,69 @@ +// pages/trueName/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + trueName:'' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + this.setData({ + trueName:options.realName + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/trueName/index.json b/pages/mine/trueName/index.json new file mode 100644 index 0000000..1c0df8c --- /dev/null +++ b/pages/mine/trueName/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "实名认证", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/trueName/index.wxml b/pages/mine/trueName/index.wxml new file mode 100644 index 0000000..da8d058 --- /dev/null +++ b/pages/mine/trueName/index.wxml @@ -0,0 +1,8 @@ + + + 实名认证 + {{trueName}} + + + 暂不支持修改。 + \ No newline at end of file diff --git a/pages/mine/trueName/index.wxss b/pages/mine/trueName/index.wxss new file mode 100644 index 0000000..08b2ab2 --- /dev/null +++ b/pages/mine/trueName/index.wxss @@ -0,0 +1,22 @@ +page { + padding: 10px; +} +page .trueName { + display: flex; + justify-content: space-between; + height: 56px; + line-height: 56px; + padding: 0px 10px; + background-color: #fff; + border-radius: 8px; + font-size: 16px; +} +page .trueName span:last-child { + color: #999; +} +page .explain { + font-size: 14px; + text-align: center; + color: #999; + margin-top: 10px; +} diff --git a/pages/mine/userDetail/index.js b/pages/mine/userDetail/index.js new file mode 100644 index 0000000..86745c2 --- /dev/null +++ b/pages/mine/userDetail/index.js @@ -0,0 +1,54 @@ +// pages/userdetail/index.js +let app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + userInfo: {}, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) {}, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.setData({ + userInfo: app.globalData.loginUserInfo.user, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/mine/userDetail/index.json b/pages/mine/userDetail/index.json new file mode 100644 index 0000000..8af5935 --- /dev/null +++ b/pages/mine/userDetail/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "个人信息", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/userDetail/index.wxml b/pages/mine/userDetail/index.wxml new file mode 100644 index 0000000..beee6cf --- /dev/null +++ b/pages/mine/userDetail/index.wxml @@ -0,0 +1,81 @@ + + + + + 头像 + + + + + + + + + + + + + + + + 用户名 + + {{userInfo.userName || '暂无'}} + + + + + + + + 性别 + + + + 未知 + + + + + + + + 手机号 + + {{userInfo.tel || '暂无'}} + + + + + + + + + + 实名认证 + + 去认证 + + + + + + + 实名认证 + + {{userInfo.realName}} + + + + + \ No newline at end of file diff --git a/pages/mine/userDetail/index.wxss b/pages/mine/userDetail/index.wxss new file mode 100644 index 0000000..96c972b --- /dev/null +++ b/pages/mine/userDetail/index.wxss @@ -0,0 +1,81 @@ +.container { + padding: 10px; +} +.container .userinfo { + font-size: 16px; + background-color: #fff; + border-radius: 8px; + overflow: hidden; +} +.container .userinfo navigator>view { + display: flex; + flex-direction: row; + align-items: center; + height: 56px; + line-height: 56px; + justify-content: space-between; + padding: 0px 0; + margin: 0 9px; + border-bottom: 1px solid #f3f3f3 +} +.container .userinfo > view:last-child { + border-bottom-color: transparent; +} +.container .userinfo > view > view:last-child { + display: flex; + align-items: center; + color: #666; +} +.container .userinfo > view > view:last-child image { + width: 50px; + height: 50px; +} +.container .wxnickname, +.container .realname, +.container .phone, +.container .gender, +.container .userName, +.container .useravatar { + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; + height: 56px; + line-height: 56px; + padding: 0px 9px; + /* background-color: #fff; */ +} +.container .wxnickname > view, +.container .realname > view, +.container .phone > view, +.container .gender > view, +.container .userName > view, +.container .useravatar > view { + display: flex; + align-items: center; +} +.container .wxnickname > view:last-child, +.container .realname > view:last-child, +.container .phone > view:last-child, +.container .gender > view:last-child, +.container .userName > view:last-child, +.container .useravatar > view:last-child { + color: #666; +} +.container .wxnickname > view:last-child image, +.container .realname > view:last-child image, +.container .phone > view:last-child image, +.container .gender > view:last-child image, +.container .userName > view:last-child image, +.container .useravatar > view:last-child image { + width: 50px; + height: 50px; +} +.icon-gengduo11{ + margin-left: 4px; + font-size: 14px; + color: #999; +} +.c0{ + color: #000; +} \ No newline at end of file diff --git a/pages/mine/userName/index.js b/pages/mine/userName/index.js new file mode 100644 index 0000000..04c5cbe --- /dev/null +++ b/pages/mine/userName/index.js @@ -0,0 +1,115 @@ +// pages/changeName/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + userId: "", + userName: "", + btnLoading: false, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) {}, + + onSubmit(e) { + console.log(e); + + var that = this; + + if (app.isEmptyCheck(e.detail.value.userName)) { + wx.showToast({ + icon: "none", + title: "请输入姓名", + duration: 3000, + }); + + return; + } + + var formData = e.detail.value; + formData["userId"] = that.data.userId; + + console.log(formData); + + wx.request({ + url: app.globalData.ip + "/user/updateUserName", + method: "POST", + header: app.globalData.headers, + data: formData, + success: function (res) { + console.log(res); + + if (res.data.status == 200) { + app.globalData.user.userName = formData.userName; + + wx.navigateBack({ + delta: 1, + }); + } else { + wx.showToast({ + icon: "none", + title: res.data.msg, + duration: 2000, + }); + + that.setData({ + btnLoading: false, + }); + } + }, + }); + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + this.setData({ + userId: app.globalData.user.id, + userName: app.globalData.user.userName, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, + // toRole() { + // let res = { + // data:{ + // msg:'失败' + // } + // } + // wx.navigateTo({ + // url: `/pages/returnMessage/index?type=fail&msg=${res.data.msg}&status=304`, + // }); + // }, +}); diff --git a/pages/mine/userName/index.json b/pages/mine/userName/index.json new file mode 100644 index 0000000..37c8bca --- /dev/null +++ b/pages/mine/userName/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "更改用户名", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/userName/index.wxml b/pages/mine/userName/index.wxml new file mode 100644 index 0000000..d92176f --- /dev/null +++ b/pages/mine/userName/index.wxml @@ -0,0 +1,17 @@ +
+ + + + + + + + + + + + +
+ diff --git a/pages/mine/userName/index.wxss b/pages/mine/userName/index.wxss new file mode 100644 index 0000000..1d2ff92 --- /dev/null +++ b/pages/mine/userName/index.wxss @@ -0,0 +1,30 @@ +page { + padding: 10px; +} +.weui-cell{ + display: flex; + justify-content: space-between; + height: 56px !important; + line-height: 56px; + padding: 0px 10px !important; + border-radius: 8px; + font-size: 16px; +} +page .tel > span:first-child { + width: 60px; +} +page .tel input { + height: 25px; + line-height: 25px; +} +page .save { + margin-top: 90px; + width: 260px; + /* height: 42px; + line-height: 42px; + background-color: var(--color-ysd); + border-radius: 999px; */ +} +page .weui-cells_form { + margin: 0 !important; +} \ No newline at end of file diff --git a/pages/mine/userTel/index.js b/pages/mine/userTel/index.js new file mode 100644 index 0000000..a3c1a9c --- /dev/null +++ b/pages/mine/userTel/index.js @@ -0,0 +1,69 @@ +// pages/userTel/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + tel:'' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + this.setData({ + tel:options.tel + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/userTel/index.json b/pages/mine/userTel/index.json new file mode 100644 index 0000000..7111327 --- /dev/null +++ b/pages/mine/userTel/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "手机号", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/userTel/index.wxml b/pages/mine/userTel/index.wxml new file mode 100644 index 0000000..1de8a9a --- /dev/null +++ b/pages/mine/userTel/index.wxml @@ -0,0 +1,8 @@ + + + 手机号 + {{tel}} + + + 暂不支持修改。 + \ No newline at end of file diff --git a/pages/mine/userTel/index.wxss b/pages/mine/userTel/index.wxss new file mode 100644 index 0000000..b8965d2 --- /dev/null +++ b/pages/mine/userTel/index.wxss @@ -0,0 +1,22 @@ +page { + padding: 10px; +} +page .tel { + display: flex; + justify-content: space-between; + height: 56px; + line-height: 56px; + padding: 0px 10px; + background-color: #fff; + border-radius: 8px; + font-size: 16px; +} +page .tel span:last-child { + color: #999; +} +page .explain { + font-size: 14px; + text-align: center; + color: #999; + margin-top: 10px; +} diff --git a/pages/mine/versionPage/index.js b/pages/mine/versionPage/index.js new file mode 100644 index 0000000..1911169 --- /dev/null +++ b/pages/mine/versionPage/index.js @@ -0,0 +1,68 @@ +// pages/versionPage/index.js +const app = getApp(); + +Page({ + + /** + * 页面的初始数据 + */ + data: { + version:app.globalData.version + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/versionPage/index.json b/pages/mine/versionPage/index.json new file mode 100644 index 0000000..8a365a9 --- /dev/null +++ b/pages/mine/versionPage/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/versionPage/index.wxml b/pages/mine/versionPage/index.wxml new file mode 100644 index 0000000..5ad1150 --- /dev/null +++ b/pages/mine/versionPage/index.wxml @@ -0,0 +1,11 @@ + + + +

职位云

+

Version {{version}}

+
+ + 伯才公司 版权所有 + Copyright © 2021-2023 BocaiGroup. All Rights Reserved. + +
\ No newline at end of file diff --git a/pages/mine/versionPage/index.wxss b/pages/mine/versionPage/index.wxss new file mode 100644 index 0000000..a181076 --- /dev/null +++ b/pages/mine/versionPage/index.wxss @@ -0,0 +1,28 @@ +/* pages/versionPage/index.wxss */ +.container { + height: 100%; + flex-direction: column; + justify-content: space-between; +} +.logoContainer { + margin-top: 120px; + text-align: center; + flex-direction: column; + +} +.logoContainer p:first-of-type{ + font-size: 24px; + font-weight: 600; +} +.logoContainer image { + width: 64px; + height: 64px; + position: relative; + left: 50%; + transform: translateX(-50%); +} +.copyRight{ + color: #999999; + text-align: center; + margin-bottom: 55px; +} \ No newline at end of file diff --git a/pages/mine/wxNickname/index.js b/pages/mine/wxNickname/index.js new file mode 100644 index 0000000..8c36288 --- /dev/null +++ b/pages/mine/wxNickname/index.js @@ -0,0 +1,69 @@ +// pages/wxNickname/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + nickName:'', + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + this.setData({ + nickName:options.nickName + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() { + + } +}) \ No newline at end of file diff --git a/pages/mine/wxNickname/index.json b/pages/mine/wxNickname/index.json new file mode 100644 index 0000000..48b9bbb --- /dev/null +++ b/pages/mine/wxNickname/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "微信昵称 ", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/mine/wxNickname/index.wxml b/pages/mine/wxNickname/index.wxml new file mode 100644 index 0000000..c3097c0 --- /dev/null +++ b/pages/mine/wxNickname/index.wxml @@ -0,0 +1,8 @@ + + + 微信昵称 + {{nickName}} + + + 暂不支持修改。 + \ No newline at end of file diff --git a/pages/mine/wxNickname/index.wxss b/pages/mine/wxNickname/index.wxss new file mode 100644 index 0000000..07a13ae --- /dev/null +++ b/pages/mine/wxNickname/index.wxss @@ -0,0 +1,20 @@ +page { + padding: 10px; +} +page .nickname { + display: flex; + justify-content: space-between; + padding: 20px 10px; + background-color: #fff; + border-radius: 8px; + font-size: 16px; +} +page .nickname span:last-child { + color: #999; +} +page .explain { + font-size: 14px; + text-align: center; + color: #999; + margin-top: 10px; +} diff --git a/pages/newEnroll/enroll/index.js b/pages/newEnroll/enroll/index.js new file mode 100644 index 0000000..a685cf2 --- /dev/null +++ b/pages/newEnroll/enroll/index.js @@ -0,0 +1,1405 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../../utils/dateTimePicker.js"); +var dateUtil = require("../../../utils/dateUtil.js"); +import { isNotEmptyCheck, nationArray } from "../../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + pageFrom: 1, + files: [], + switch1Checked: true, + urls: [], + userInfo: { + name: "", + address: "", + age: "", + nationality: "", + sex: "", + num: "", + tel: "", + idCardImageUrl: "", + }, + showUpload: true, + name: "", + sex: [ + { + id: 1, + value: "男", + }, + { + id: 2, + value: "女", + }, + ], + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + ageArray: [], + ageIndex: -1, + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()), + currentTime2: dateUtil.formatDateYMD(mydate.toLocaleDateString()), + copyTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()), + searchListShow: false, + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, // 管理员权限 + agencyStatus: app.globalData.loginUserInfo.agencyStatus, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, //内部成员 + nationArray, + currentUser: {}, + jobName: "", + newAddImg: [], + tel: "", + iosDialog1: false, + zhedie: false, + isShowZhedie: false, + idCardImg: "", + dateTime: "", + pageShow: false, + items: [ + {value: '1', name: '一', checked: true}, + {value: '2', name: '二', checked: false}, + {value: '3', name: '三', checked: false}, + {value: '4', name: '四', checked: false}, + {value: '5', name: '五', checked: false}, + ] + }, + radioChange2(e) { + console.log('radio发生change事件,携带value值为:', e.detail.value) + + const items = this.data.items + for (let i = 0, len = items.length; i < len; ++i) { + items[i].checked = items[i].value === e.detail.value + } + + this.setData({ + items + }) + }, + open1() { + this.setData({ + dialog1: true, + }); + }, + close() { + this.setData({ + dialog1: false, + }); + }, + preventTouchMove() {}, + bindPickerChangeAge(e) { + console.log("picker发送选择改变,携带值为", e.detail.value); + this.setData({ + ageIndex: e.detail.value, + ["userInfo.age"]: parseInt(e.detail.value) + 16, + }); + }, + + ifZhedie() { + this.setData({ + zhedie: false, + }); + }, + ifZhankai() { + this.setData({ + zhedie: true, + }); + }, + copyClose() { + var that = this; + + console.log(that.data.userInfo); + + var text = ""; + if (that.data.userInfo.name != "") { + text = "姓名:" + that.data.userInfo.name + "/" + ((that.data.userInfo.sex == 1 || that.data.userInfo.sex) == "男" ? "男" : "女") + "/" + (that.data.userInfo.age == "" ? "" : that.data.userInfo.age + "岁") + (that.data.userInfo.nationality == "族" ? "" : "/" + that.data.userInfo.nationality) + "\n电话:" + (that.data.userInfo.tel == "" ? "-" : that.data.userInfo.tel) + "\n身份证号:" + (that.data.userInfo.num == "" ? "-" : that.data.userInfo.num) + "\n家庭住址:" + (that.data.userInfo.address == "" ? "-" : that.data.userInfo.address) + "\n报名岗位:" + (that.data.jobName == "" ? "-" : that.data.jobName) + "\n面试时间:" + that.data.currentTime + "\n接待时间:" + that.data.currentTime2 + "\n政策:" + (that.data.policy == "" ? "-" : that.data.policy); + } else { + text = "姓名:-" + "\n电话:" + (that.data.userInfo.tel == "" ? "-" : that.data.userInfo.tel) + "\n身份证号:" + (that.data.userInfo.num == "" ? "-" : that.data.userInfo.num) + "\n家庭住址:" + (that.data.userInfo.address == "" ? "-" : that.data.userInfo.address) + "\n报名岗位:" + (that.data.jobName == "" ? "-" : that.data.jobName) + "\n面试时间:" + that.data.currentTime + "\n接待时间:" + that.data.currentTime2 + "\n政策:" + (that.data.policy == "" ? "-" : that.data.policy); + } + + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + that.close1(); + }, + }); + }, + }); + }, + showInfo() { + this.setData({ + iosDialog1: true, + }); + }, + close1: function () { + console.log("close"); + + this.setData({ + iosDialog1: false, + }); + }, + + shrink() { + // wx.navigateBack({ + // delta: -1, + // }) + var that = this; + let from = wx.getStorageSync("BILLFROM"); + console.log(from); + wx.navigateBack({ + delta: -1, + }); + // wx.switchTab({ + // url: `/pages/${from}/index`, + // }); + // if (that.data.pageFrom == 1) { + // wx.switchTab({ + // url: "../../firstBill/index", + // }); + // } + // else { + // wx.switchTab({ + // url: "../../workBench/index", + // }); + // } + }, + chooseMedia() { + var that = this; + wx.chooseMedia({ + count: 1, + mediaType: ["image", "video"], + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + // tempFilePath可以作为 img 标签的 src 属性显示图片 + wx.showLoading({ + title: "上传中...", + }); + console.log(res); + var currData = {}; + + const tempFilePaths = res.tempFiles; + tempFilePaths.forEach((item, index) => { + wx.uploadFile({ + url: app.globalData.ip + "/imgs/uploadImage", + method: "post", + // data:currData, + // name: "uploadFile", + filePath: tempFilePaths[index].tempFilePath, + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + that.data.files.push({ url: JSON.parse(res.data).data, id: new Date().getTime() }); + that.setData({ + files: that.data.files, + }); + that.pushImg(); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + // that.updateImgs(currData.type,currData.fkId,currData.data.data); + }, + fail: function (res) { + console.log(res); + + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }, + }); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }); + }, + fail(res) { + if (res["errMsg"]) { + } + console.log(res); + }, + }); + }, + delImgs(e) { + var that = this; + var url = e.currentTarget.dataset.url; + var id = e.currentTarget.dataset.id; + wx.showModal({ + title: "提示", + content: "确定要删除该图片?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.data.files.forEach((item, index) => { + if (id == item.id) { + that.data.files.splice(index, 1); + // that.data.newAddImg.splice(index, 1); + } + }); + that.pushImg(); + that.setData({ + files: that.data.files, + // newAddImg: that.data.newAddImg, + }); + if (id != -999) { + wx.request({ + url: app.globalData.ip + "/imgs/del/" + id, + header: app.globalData.header, + // data:currData, + method: "get", + success: function (res) { + console.log(res.data); + }, + fail: function (res) { + console.log(res); + }, + }); + } + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + pushImg() { + var that = this; + + console.log(that.data.files); + + that.data.urls = []; + // that.data.files.forEach(item=>{ + // that.data.urls.push(item.url) + // }) + + let curr = []; + that.data.files.forEach((item) => { + curr.push({ url: item.url, id: item.id }); + }); + that.setData({ + urls: curr, + }); + }, + showImgs(e) { + var that = this; + console.log(e); + console.log(that.data.urls); + let curr = []; + that.data.urls.forEach((item) => { + curr.push(item.url); + }); + + wx.previewImage({ + current: e.currentTarget.dataset.url, // 当前显示图片的 http 链接 + urls: curr, // 需要预览的图片 http 链接列表 + }); + }, + + radioChange: function (e) { + const sex = this.data.sex; + let currentSex = ""; + for (let i = 0, len = sex.length; i < len; ++i) { + sex[i].checked = sex[i].id == e.detail.value; + if (sex[i].checked) { + currentSex = sex[i].value; + } + } + this.setData({ + ["userInfo.sex"]: currentSex, + sex, + }); + console.log(e.detail.value); + }, + chooseIdCard() { + var that = this; + console.log("ischoise"); + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + // debugger; + that.uploadIdcardImg(res); + }, + }); + }, + uploadIdcardImg(imgPath) { + let that = this; + // tempFilePath可以作为img标签的src属性显示图片 + let filePath; + console.log(imgPath); + if (imgPath.tempFilePaths) { + filePath = imgPath.tempFilePaths[0]; + } else { + filePath = imgPath; + } + + console.log(filePath); + wx.showLoading({ + title: "识别中...", + }); + wx.uploadFile({ + // url: app.globalData.ip + '/commons/idCardOcrRecognize', + url: app.globalData.ip + "/commons/idCardOcrRecognizeAndUploadToAliyunOss", + filePath, + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(res); + var idcard = JSON.parse(res.data); + idcard.data["tel"] = that.data.tel; + + if (idcard.status == 200) { + if (idcard.data.nationality.substr(idcard.data.nationality.length - 1, 1) != "族" && idcard.data.nationality.substr(idcard.data.nationality.length - 1, 1) != "") { + idcard.data.nationality = idcard.data.nationality + "族"; + } + + that.setData({ + userInfo: idcard.data, + ageIndex: parseInt(idcard.data.age) - 16, + showUpload: false, + idCardImg: idcard.data["idCardImageUrl"], + currentImg: imgPath.tempFilePaths ? imgPath.tempFilePaths[0] : imgPath, + }); + that.setStorage(); + console.log(that.data.userInfo); + that.data.nationArray.forEach((item, index) => { + if (item.name.includes(that.data.userInfo.nationality)) { + that.setData({ + nationIndex: index, + }); + } + }); + if (that.data.userInfo.sex == "男") { + that.data.sex[0].checked = true; + } else { + that.data.sex[1].checked = true; + } + + // that.data.files.push({'url':tempFilePaths[0]}) + + // console.log(that.data.files); + + that.setData({ + // files: that.data.files, + sex: that.data.sex, + }); + + // that.data.files.push({ url: idcard.data.idCardImageUrl, id: -999 }); + // that.data.newAddImg.push(idcard.data.idCardImageUrl); + that.setData({ + // files: that.data.files, + // newAddImg: that.data.newAddImg, + }); + that.pushImg(); + } else { + wx.showToast({ + duration: 2000, + title: "身份证未识别", + icon: "none", + mask: true, + }); + // console.log(1); + //app.showTips(that, res.data.msg); + } + wx.hideLoading(); + }, + fail: function (res) { + console.log(res); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + console.log(options); + // 先统一给代理名字赋予登陆者的名称applyType + that.setData({ + agentName: app.globalData.user.userName, + agentId: app.globalData.user.agencyId, + pageFrom: options.applyType, + }); + + console.log(that.data.pageFrom + "1首页 2报名页"); + + // console.log(JSON.parse(options.info)); + // 获取缓存的报名人信息 + let info = wx.getStorageSync("townsManInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + if (app.isNotEmptyCheck(info.userId)) { + that.getImgs(info.userId); + } + + if (info.nationality.substr(info.nationality.length - 1, 1) != "族" && info.nationality.substr(info.nationality.length - 1, 1) != "") { + info.nationality = info.nationality + "族"; + } + + that.setData({ + userInfo: info, + currentImg: info.currentImg, + }); + if (app.isNotEmptyCheck(info.imgs)) { + that.setData({ + files: info.imgs, + urls: info.imgs, + }); + } + + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + console.log(info); + if (info.sex == "男" || info.sex == "1") { + this.data.sex[0].checked = true; + } else if (info.sex == "女" || info.sex == "2") { + this.data.sex[1].checked = true; + } + that.data.nationArray.forEach((item, index) => { + if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + console.log("isin"); + that.setData({ + nationIndex: index, + }); + } + }); + + console.log(that.data.nationIndex); + this.setData({ + sex: this.data.sex, + }); + if (info.age) { + this.setData({ + ageIndex: parseInt(info.age) - 16, + }); + } + } + // this.getPolicyByStoreJobId(that.data.storeJobId); + console.log(app.globalData.loginUserInfo); + // let jobInfo = wx.getStorageSync("townsManInfoJob"); + // if (app.isNotEmptyCheck(jobInfo)) { + // console.log(jobInfo); + + // this.setData({ + // storeJobId: jobInfo.id, + // jobName: jobInfo.jobName, + // inputVal: jobInfo.storeName || jobInfo.aliasName, + // storeId: jobInfo.storeId, + // policy: jobInfo.policy, + // currentTime: jobInfo.currentTime, + // currentTime2: jobInfo.currentTime2, + // isShowZhedie: true, + // }); + // } + + if (app.isNotEmptyCheck(options.info)) { + console.log(options.info); + console.log(JSON.parse(options.info)); + + // 如果随路由传过来的信息有更新,赋值新的数据 + this.setData({ + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + that.getPolicyByStoreJobId(that.data.storeJobId).then(function () { + console.log(that.data.policy); + + let data = { currentTime: that.data.currentTime, currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName, policy: that.data.policy }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + }); + } + + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + console.log(options.imgUrl); + // let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(options.imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + var that = this; + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log("--------", "isIntonavigation"); + wx.navigateTo({ + url: `../../recordChoice/index?type=${e.currentTarget.dataset.type}&applyType=${that.data.pageFrom}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg(e) { + var that = this; + console.log(e); + that.data.files.forEach((item, index) => { + if (item.id == e.currentTarget.dataset.id) { + that.data.files.splice(index, 1); + } + }); + that.setData({ + files: that.data.files, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + console.log(that.data.files); + that.setData({ + loading: true, + }); + let time1 = new Date(that.data.currentTime).getTime(); + let time2 = new Date(that.data.currentTime2).getTime(); + let currentTime = new Date().getTime(); + if (time1 < time2) { + wx.showToast({ + duration: 2000, + title: "面试时间不能早于预计到达时间", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + return; + } + if (time1 < currentTime || time2 < currentTime) { + if (time1 < currentTime) { + wx.showToast({ + duration: 2000, + title: "面试时间不能早于现在的时间", + icon: "none", + mask: true, + }); + } else if (time2 < currentTime) { + wx.showToast({ + duration: 2000, + title: "到达时间不能早于现在的时间", + icon: "none", + mask: true, + }); + } + that.setData({ + loading: false, + }); + return; + } + if (app.isEmptyCheck(e.detail.value.userName)) { + wx.showToast({ + duration: 2000, + title: "请输入姓名", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(e.detail.value.sex)) { + wx.showToast({ + duration: 2000, + title: "请选择性别", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (that.data.ageIndex == -1) { + wx.showToast({ + duration: 2000, + title: "请选择年龄", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(wx.getStorageSync("townsManInfoJob"))) { + wx.showToast({ + duration: 2000, + title: "请补全岗位信息", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(e.detail.value.idCard)) { + wx.showToast({ + duration: 2000, + title: "请输入身份证号", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else { + setTimeout(() => { + that.formSubmit(e); + }, 1); + e.detail.value["idCardImageUrl"] = that.data.userInfo.idCardImageUrl; + } + }, + getTel(e) { + let tel = e.detail.value; + this.setData({ + tel: e.detail.value, + }); + }, + + setStorage() { + let that = this; + console.log(wx.getStorageSync("townsManInfo")); + console.log(this.data.userInfo.tel); + return new Promise((resolve, reject) => { + console.log("写入缓存"); + console.log(that.data.userInfo.tel); + // if(app.isNotEmptyCheck(that.data.tel)){ + // userInfo['tel'] = that.data.tel; + // that.setData({ + // tel:this.data.userInfo.tel, + // userInfo: + // }) + // } + + console.log(that.data.storeJobId); + let data = { ...that.data.userInfo, currentImg: that.data.currentImg, imgs: that.data.files, tel: that.data.userInfo.tel }; + + // currentTime: that.data.currentTime,currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName,policy:that.data.policy + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + + if (that.data.storeJobId) { + let data2 = { currentTime: that.data.currentTime, currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentId: that.data.agentId, agentName: that.data.agentName, policy: that.data.policy }; + wx.setStorage({ + key: "townsManInfoJob", + data: data2, + }); + } + + console.log(wx.getStorageSync("townsManInfoJob")); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + + wx.showLoading({ + title: "提交中...", + mask: true, + }); + let userInfo = wx.getStorageSync("townsManInfo"); + let jobInfo = wx.getStorageSync("townsManInfoJob"); + // wx.showLoading({ + // title: "提交中...", + // mask: true, + // }); + // if (that.data.index == -1) { + // wx.showToast({ + // duration: 2000, + // title: '请选择代理', + // icon: 'none', + // mask: true + // }) + // that.setData({ + // loading: false + // }) + // } else + + // if (that.data.jobIndex == -1) { + // wx.showToast({ + // duration: 2000, + // title: "请选择岗位", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + console.log(that.data.userInfo); + new Promise(function (resolve, reject) { + var paramData = that.data.userInfo; + paramData["userName"] = e.detail.value.userName; + paramData["sex"] = e.detail.value.sex; + paramData["age"] = that.data.userInfo.age; + paramData["nation"] = that.data.userInfo.nationality; + paramData["idCard"] = e.detail.value.idCard; + paramData["num"] = e.detail.value.idCard; + paramData["tel"] = e.detail.value.tel; + paramData["idCardImageUrl"] = that.data.userInfo.idCardImageUrl; + paramData["address"] = e.detail.value.address; + paramData["desp"] = e.detail.value.desp; + + // if(app.isNotEmptyCheck(userInfo.imgs)){ + // paramData["imgs"] = userInfo.imgs.toString(); + // } + if(app.isNotEmptyCheck(wx.getStorageSync('applyUserId'))){ + paramData["applyUserId"] = wx.getStorageSync('applyUserId') + } + + if(app.isNotEmptyCheck(wx.getStorageSync('agencyId'))){ + paramData["agencyId"] = wx.getStorageSync('agencyId') + }else{ + paramData["agencyId"] = '3089'; + } + paramData["storeJobId"] = jobInfo.storeJobId; + paramData["policy"] = jobInfo.policy; + paramData["interviewTime"] = jobInfo.currentTime; + paramData["receptionTime"] = jobInfo.currentTime2; + // if (app.isNotEmptyCheck(app.globalData.agencyId)) { + // paramData["agencyId"] = app.globalData.agencyId; + // } + let urlss = []; + if (app.isNotEmptyCheck(that.data.files)) { + that.data.files.forEach((item) => { + urlss.push(item.url); + }); + } + + paramData["imgs"] = urlss.toString(); + + resolve(paramData); + }).then((paramData) => { + console.log(paramData); + wx.request({ + url: app.globalData.ip + "/user/apply/order/addByAgency", + header: app.globalData.headers, + data: paramData, + method: "POST", + success: function (res) { + // wx.removeStorageSync('townsManInfo') + // wx.removeStorageSync('townsManInfoJob') + + console.log(res); + if (res.data.status == 200) { + console.log(that.data.pageFrom + "1首页 2报名页"); + setTimeout(function () { + // wx.navigateBack({ + // delta: -1, + // }); + // wx.setStorageSync('comeFromPage','') + wx.navigateTo({ + url: `/pages/returnMessage/index?from=bill&type=success&msg=报名成功`, + }); + // if (that.data.pageFrom == 1) { + // wx.switchTab({ + // url: "../../firstBill/index", + // }); + // } else { + // wx.switchTab({ + // url: "../../workBench/index", + // }); + // } + }, 100); + + // wx.showToast({ + // duration: 2000, + // title: "报名成功", + // icon: "success", + // mask: true, + // }); + } else { + wx.navigateTo({ + url: `/pages/returnMessage/index?from=bill&type=fail&msg=报名已提交&status${res.data.status}`, + }); + // wx.showToast({ + // duration: 2000, + // title: res.data.msg, + // icon: "none", + // mask: true, + // }); + } + that.setData({ + loading: false, + }); + setTimeout(() => { + wx.hideLoading(); + }, 2000); + }, + fail(err) { + console.log(err); + wx.showToast({ + duration: 2000, + title: err, + icon: "none", + mask: true, + }); + setTimeout(() => { + wx.hideLoading(); + that.setData({ + loading: false, + }); + }, 2000); + }, + }); + }); + + // wx.navigateBack({ + // delta: -1, + // }) + // }); + + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + getStoreList: function (searchKeys) { + console.log(searchKeys); + var that = this; + that.data.searchKeys = searchKeys; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/getAllStoreAliasName", + data: { + keys: searchKeys, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + storeArray: res.data.data, + }); + } + }, + fail: function (res) {}, + }); + }, + setValue: function (e) { + let str = e.currentTarget.dataset.name; + let storeId = e.currentTarget.dataset.id; + console.log(storeId); + this.setData({ + inputVal: str, + storeId: storeId, + searchListShow: false, + }); + this.getJobList(storeId); + }, + getJobList: function (storeId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getJobNameByStoreId", + data: { + storeId: storeId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + jobArray: res.data.data, + }); + resolve(); + } + }, + fail: function (res) {}, + }); + }); + }, + + // bindPickerChangeJob: function (e) { + // var that = this; + // console.log("picker发送选择改变,携带值为", e.detail.value); + // var storeJobId = that.data.jobArray[e.detail.value].id; + // console.log(storeJobId); + // that.getPolicyByStoreJobId(storeJobId); + // this.setData({ + // jobIndex: e.detail.value, + // }); + // }, + bindPickerChangeNation(e) { + let that = this; + console.log("picker发送选择改变,携带值为", e.detail.value); + var nationName = that.data.nationArray[e.detail.value].name; + + this.setData({ + nationIndex: e.detail.value, + ["userInfo.nationality"]: nationName, + }); + }, + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId ? storeJobId : "", + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + isShowZhedie: true, + }); + resolve(); + } + }, + fail: function (res) { + console.log(res); + reject(); + }, + }); + }); + }, + + changeDateTime(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + + console.log(wx.getStorageSync("townsManInfoJob")); + let result = wx.getStorageSync("townsManInfoJob"); + result.currentTime = this.data.currentTime; + wx.setStorageSync("townsManInfoJob", result); + }, + + changeDateTimeColumn(e) { + console.log(e); + var arr = this.data.dateTime, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + console.log("aaaaaa"); + console.log(dateArr[0][arr[0]], dateArr[1][arr[1]]); + + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime: arr, + }); + }, + + changeDateTime2(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime2: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + + console.log(wx.getStorageSync("townsManInfoJob")); + let result = wx.getStorageSync("townsManInfoJob"); + result.currentTime2 = this.data.currentTime2; + wx.setStorageSync("townsManInfoJob", result); + }, + + changeDateTimeColumn2(e) { + var arr = this.data.dateTime2, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime2: arr, + }); + }, + + // getAgencyList: function (searchKeys) { + // var that = this; + // that.data.searchKeysA = searchKeys; + // // 60秒后重新获取验证码 + // wx.request({ + // url: app.globalData.ip + "/agency/getByPmdUserId", + // data: { + // agencyName: searchKeys, + // // pmdUserId: 101125 + // }, + // header: app.globalData.headers, + // method: "GET", + // success: function (res) { + // console.log(res); + // if (res.data.status == 200) { + // that.setData({ + // agentArray: res.data.data, + // }); + // } + // }, + // fail: function (res) {}, + // }); + // }, + /** + * 生命周期函数--监听页面显示 + */ + getImgs(userId) { + var that = this; + wx.request({ + url: app.globalData.ip + "/imgs/list/" + userId + "?type=20", + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + // if (res.data.status == 200) { + let currFils = []; + let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + // res.data.data.storeImage.forEach((item) => { + // item.isImg = regs.test(item.url.toLowerCase()); + // if(app.isEmptyCheck(item.recordState)){ + // item.recordState = 1 + // } + // }); + if (app.isNotEmptyCheck(res.data.data.userImgs)) { + res.data.data.userImgs.forEach((item) => { + if (regs.test(item.url.toLowerCase())) { + currFils.push({ url: item.url, id: item.id }); + } + }); + } + + that.setData({ + files: currFils, + urls: currFils, + }); + // } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + onShow: function () { + let that = this; + that.setData({ + pageShow: false, + }); + // wx.hideTabBar({ + // success(e) { + // setTimeout(() => { + that.setData({ + pageShow: true, + }); + // }, 500); + // // that.setData({ + // // currentJobDrawer: { ...event.currentTarget.dataset.item, index: event.currentTarget.dataset.index }, + // // drawerShow: true, + // // }); + // }, + // }); + if (typeof this.getTabBar === "function" && this.getTabBar()) { + this.getTabBar().setData({ + selected: 1, + isShow: false, + }); + } + that.pushImg(); + + for (let i = 16; i < 70; i++) { + that.data.ageArray.push(i); + } + + // let that = this; + // let info = wx.getStorageSync("townsManInfo"); + // if (app.isNotEmptyCheck(info)) { + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + // console.log(info); + // if (info.sex == "男") { + // this.data.sex[0].checked = true; + // } else if (info.sex == "女") { + // this.data.sex[1].checked = true; + // } + // that.data.nationArray.forEach((item, index) => { + // if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + // console.log("isin"); + // that.setData({ + // nationIndex: index, + // }); + // } + // }); + // console.log(that.data.nationIndex); + // this.setData({ + // sex: this.data.sex, + // }); + // } + // this.pickerTap(); + let hour = new Date().getHours(); + if (hour < 20 && hour >= 6) { + if (that.data.currentTime == that.data.copyTime) { + that.data.currentTime = that.data.currentTime + " " + (hour + 1) + ":00"; + that.data.currentTime2 = that.data.currentTime2 + " " + (hour + 1) + ":00"; + } + } else if (hour >= 20) { + if (that.data.currentTime == that.data.copyTime) { + that.data.currentTime = that.data.currentTime + " " + "19:30"; + that.data.currentTime2 = that.data.currentTime2 + " " + "19:30"; + } + } else if (hour < 6) { + if (that.data.currentTime == that.data.copyTime) { + that.data.currentTime = that.data.currentTime + " " + "6:00"; + that.data.currentTime2 = that.data.currentTime2 + " " + "6:00"; + } + } + this.setData({ + currentTime: that.data.currentTime, + currentTime2: that.data.currentTime2, + }); + var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear, this.data.currentTime); + console.log(obj); + console.log(obj.dateTimeArray); + for (let index = 0; index < obj.dateTimeArray[0].length; index++) { + obj.dateTimeArray[0][index] = obj.dateTimeArray[0][index] + "年"; + } + for (let index = 0; index < obj.dateTimeArray[1].length; index++) { + obj.dateTimeArray[1][index] = obj.dateTimeArray[1][index] + "月"; + } + for (let index = 0; index < obj.dateTimeArray[2].length; index++) { + obj.dateTimeArray[2][index] = obj.dateTimeArray[2][index] + "日"; + } + if (that.data.storeJobId) { + that.getPolicyByStoreJobId(that.data.storeJobId).then(function () { + console.log(that.data.policy); + let data = { currentTime: that.data.currentTime, currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName, policy: that.data.policy }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + }); + } + + console.log(app.globalData.loginUserInfo); + this.setData({ + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + corpUserFlag: app.globalData.loginUserInfo.corpUserFlag, + dateTimeArray: obj.dateTimeArray, + dateTime: obj.dateTime, + dateTimeArray2: obj.dateTimeArray, + dateTime2: obj.dateTime, + ageArray: that.data.ageArray, + }); + console.log(); + }, + switch1Change: function (e) { + console.log("radio发生change事件,携带value值为:", e.detail.value); + console.log(e.detail.value); + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + }, + // tabbar点击监听 + onTabItemTap(e) { + console.log(e); + let that = this; + if (!app.globalData.isLogin) { + if (e.index == 1) { + wx.redirectTo({ + url: "/pages/login/index", + }); + } + } else { + console.log("1250", app.globalData.loginUserInfo.agencyStatus); + if (app.globalData.loginUserInfo.agencyStatus != 1) { + wx.redirectTo({ + url: "/pages/tobeAgency/index", + }); + } + } + }, + /** + * 预览身份证图片 + * + * + */ + previewImage(e) { + let that = this; + console.log(e); + wx.previewImage({ + current: that.data.idCardImg, // 当前显示图片的 http 链接 + urls: [that.data.idCardImg], // 需要预览的图片 http 链接列表 + }); + }, + /** + * 预览附件图片 + * + * + */ + previewImg() {}, + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + console.log("isonUnload"); + this.setData({ + userInfo: { + name: "", + address: "", + age: "", + nationality: "", + sex: "", + num: "", + idCardImageUrl: "", + }, + }); + wx.removeStorageSync("townsManInfo"); + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/enroll/index.json b/pages/newEnroll/enroll/index.json new file mode 100644 index 0000000..903dd03 --- /dev/null +++ b/pages/newEnroll/enroll/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "报名", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/newEnroll/enroll/index.wxml b/pages/newEnroll/enroll/index.wxml new file mode 100644 index 0000000..73de7a4 --- /dev/null +++ b/pages/newEnroll/enroll/index.wxml @@ -0,0 +1,427 @@ +
+ + + + + + 信息 + + + + + + + + + + + + + + + + + + + + + + + {{item.value}} + + + + + + + + + + + + + + + + 请选择年龄 + + + {{ageArray[ageIndex]}} + + + + + + + + + + + + + + + + + 请选择民族 + + + {{nationArray[nationIndex].name}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 请选择附件上传 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 职位信息 + + + + + + {{item.aliasName}} + + + + + + + + + + + {{jobName}} + + + + 请选择岗位 + + + + + + + + + + + + {{!!currentTime?currentTime:'----'}} + + + + + + + + + + + + {{!!currentTime2?currentTime2:'----'}} + + + + + + + + + + + + + + + {{jobName}} + + + + 请选择政策 + + + + + + + + + + + {{policy == "" ?'-':policy}} + + + + + + 收起 + + + + 展开 + + + + + + + + + + + + + + + + + + + + 我已阅读并同意 + 《服务协议》及 + 《隐私政策》 + + + + + 取消 + + + + +
+ + + + + + + 报名信息 + + + + 姓名: + + + {{userInfo.name}} + + /{{(userInfo.sex == '1' || userInfo.sex == '男') ? '男' : + '女'}} + + /{{userInfo.age}}岁 + /{{userInfo.nationality}} + + - + + + + 电话: + + {{userInfo.tel == '' || userInfo.tel == null || userInfo.tel == 'undefined' ? '-' : + userInfo.tel}} + + + + + 身份证号: + {{userInfo.num == '' || userInfo.num == null || userInfo.num == 'undefined' ? '-' : userInfo.num}} + + + 家庭住址: + + {{userInfo.address == '' || userInfo.address == null || userInfo.address == 'undefined' ? '-' : + userInfo.address}} + + + + + 报名岗位: + {{jobName || '-'}} + + + 面试时间: + {{currentTime}} + + + + 接待时间: + {{currentTime2}} + + + + 政策: + {{policy || '-'}} + + + + 复制文本 + 知道了 + + + + + + + + + + + + 标题 + + + 关闭 + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/newEnroll/enroll/index.wxss b/pages/newEnroll/enroll/index.wxss new file mode 100644 index 0000000..5671cfb --- /dev/null +++ b/pages/newEnroll/enroll/index.wxss @@ -0,0 +1,338 @@ +.weui-cells__group_form { + margin-top: 0px; +} +.weui-cells__group_form .weui-label { + color: rgba(0, 0, 0, 0.65); +} +.weui-input::placeholder { + color: #ccc; +} +.weui-cells__group_form .weui-cell { + align-items: center; + padding: 0px 16px !important; + min-height: 56px; + line-height: 56px; + overflow: hidden; +} +.weui-cells__group_form .weui-cells:after, +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before { + left: 10px; + right: 10px; +} +.br8 { + border-radius: 8px; +} +.weui-cells__group_form .weui-cell__hd { + padding-right: 0; +} + +.weui-cells__group_form .weui-cell.weui-cell_vcode { + padding: 11px 10px; +} +.weui-input { + /* min-width: 250px; */ + min-height: 22px; + height: 22px; + line-height: 22px; +} +.weui-uploader__file, +.weui-uploader__input-box { + /* width: calc((100vw - 105px - 40px) / 3); + height: calc((100vw - 105px - 40px) / 3); */ + border-radius: 4px; + width: 76px; + height: 76px; + margin-right: 11px; +} +.weui-cells__group_form .weui-vcode-btn { + width: 68px; + height: 26px; + background-color: #fff; + border-radius: 13px; + font-size: 14px; + color: #027aff; + text-align: center; + padding: 0; + font-weight: 400; + line-height: 26px; +} +.weui-label.c085 { + color: #333; + /* font-weight: 500; */ +} +.weui-cell { + align-items: flex-start; +} +.weui-cells__group_form .weui-cells:before { + border-top: 0; +} + +.weui-cell.weui-cell_active.weui-cell_access { + padding: 12px 10px; +} +button[disabled]:not([type]) { + background-color: #ddd; +} + +.searchbar-result { + position: absolute; + z-index: 9; + width: calc(100% - 20px); + max-height: 200px; + overflow: auto; +} +.weui-cells:after, +.weui-cells:before { + height: 0; + border-top: 0; + border-bottom: 0; +} +.weui-input { + text-align: right; +} +.topViewN { + height: 66px; + background: #fff4f1; + border: 1px solid #ff8255; + border-radius: 6px; + display: flex; + padding: 0 16px; + line-height: 66px; +} +.weui-cell__bd { + color: #666; +} +.imgSpanIcon { + width: 23px; + height: 18px; +} +.imgSpanIcon1 { + width: 22px; + height: 22px; + position: absolute; + right: -11px; + top: -11px; +} + +.topImg { + position: absolute; + width: 100px; + height: 100px; + background: rgba(0, 0, 0, 0.48); + border-radius: 4px; +} + +button.newBtn { + width: 200px; + background-color: var(--color-ysd); +} + +.quickapply { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + min-height: 54px; + margin-bottom: 0; + padding: 12px 10px 12px 14px; + /* padding-bottom: 48px; */ + background-color: #fff; + border-radius: 6px; +} + +.quickapply .upload .t-icon { + width: 46px; + height: 46px; + margin-right: 10px; + background-repeat: no-repeat; +} +.quickapply .upload { + display: flex; + align-items: center; +} +.quickapply .info view:first-child { + font-size: 17px; + font-weight: 500; + color: #333; +} +.quickapply .info view:last-child { + font-size: 14px; + color: #ccc; +} +.quickapply .idCardPreview, +.quickapply .idCardPreview image { + width: 28px; + height: 28px; + border-radius: 2px; +} +.quickapply .idCardPreview .t-icon { + width: 100%; + height: 100%; +} +.input__placeholder { + color: #ccc; +} +.weui-input { + color: #333; +} +.weui-uploader__input-box:before { + width: 2px; + height: 24px; +} +.weui-uploader__input-box:after { + width: 24px; + height: 2px; +} +.weui-uploader__img { + border-radius: 4px; +} +.weui-uploader__file .delImg { + position: absolute; + right: -6px; + top: -6px; + z-index: 99; +} +.weui-uploader__bd { + overflow: inherit; +} +.rightPz { + position: relative; + width: 31px; + height: 28px; + margin-left: 10px; + background-repeat: no-repeat; + background-size: cover; +} +.weui-cell.name { + padding: 7px 16px; + display: flex; + align-items: center; + position: relative; +} +.weui-cell.name .idcardImg { + position: absolute; + left: 70px; + top: 50%; + transform: translateY(-50%); + z-index: 99; +} +.weui-cell.sex { + /* padding: 10px 16px; */ + height: 56px; +} +.weui-cell.imgupdata { + justify-content: space-between; +} +.wbv0 .f16.c3.mb8 { + display: flex; +} +.over3 { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 3; + overflow: hidden; + text-overflow: ellipsis; +} +.wbv0.weui-dialog__bd { + display: inline; + max-height: 400px; + overflow: auto; +} +.weui-dialog__title { + font-weight: bold; +} +.hasHigh { + height: calc(100vh - 210px); +} +.weui-dialog { + top: calc(50% - 60px); +} +.heiover { + height: 0; + overflow: hidden; +} +.remark { + padding: 15px 16px; + align-items: center; +} +.uploadImgBox{ + display: flex; + justify-content: start; + font-display: row; + align-items: center; + padding-left: 10px; + /* padding-bottom: 12px; */ + width: calc(100vw - 40px); +} +.uploadImgSubBox { + width: 60px; + height: 60px; + position: relative; + margin-top:16px; + margin-right: 9px; + border-radius: 4px; + /* overflow: hidden; */ + +} +.uploadImgSubBox image{ + /* object-fit: contain; */ + width: 60px; + height: 60px; +} +.uploadImgSubBox .close{ + position: absolute; + width: 18px; + height: 18px; + right: -6px; + top: -6px; + z-index: 99; + background-color: #666; + color: #fff; + font-size: 8px; + text-align: center; + line-height: 18px; + border-radius: 50%; +} + +[weui-modal-show=false] .weui-half-screen-dialog{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:translateY(100%);transform:translateY(100%)}[weui-modal-show=true] .weui-half-screen-dialog{-webkit-transform:translateY(0);transform:translateY(0)} +.weui-half-screen-dialog__title{ + font-size: 16px; +} +.weui-half-screen-dialog { + padding: 0 12px; + padding: 0 calc(12px + constant(safe-area-inset-right)) constant(safe-area-inset-bottom) calc(12px + constant(safe-area-inset-left)); + padding: 0 calc(12px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(12px + env(safe-area-inset-left)); +} +.weui-half-screen-dialog__hd { + min-height: 42px; +} +.weui-icon-btn.weui-icon-btn{ + margin-right: 12px; +} + +.screen-weui-cell .weui-cell:before { + border-top:0 +} +.screen-weui-cell .weui-cell{ + padding:0 !important; + min-height:40px; + line-height: 40px; + font-size: 14px; +} +.zhengceDiv{ + font-size: 14px; + padding: 8px; +background: #f5f5f5; +border: 1px solid #f5f5f5; +border-radius: 4px; +margin-bottom: 8px; +line-height: 1.5; +} +.zhengceDiv.active{ + background: #e0f0ff; +border: 1px solid #1890ff; +border-radius: 4px; +box-sizing: border-box; +} + diff --git a/pages/newEnroll/enrollEdit/index.js b/pages/newEnroll/enrollEdit/index.js new file mode 100644 index 0000000..92287a4 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.js @@ -0,0 +1,992 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../../utils/dateTimePicker.js"); +var dateUtil = require("../../../utils/dateUtil.js"); +import { isNotEmptyCheck, nationArray } from "../../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + userId:'', + ageArray:[], + ageIndex:-1, + files: [], + urls:[], + userInfo: { + name: "", + address: "", + age: "", + nationality: "", + sex: "", + num: "", + tel: "", + idCardImageUrl: "", + }, + showUpload: true, + name: "", + sex: [ + { + id: 1, + value: "男", + }, + { + id: 2, + value: "女", + }, + ], + imgSrc: "", + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + " " + "12:00", + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: false, // 管理员权限 + nationArray, + currentUser: {}, + jobName: "", + switch1Checked: true, + newAddImg:[], + }, + switch1Change:function(e){ + console.log('radio发生change事件,携带value值为:', e.detail.value) + console.log(e.detail.value) + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: '请先阅读并同意《服务协议》及《隐私政策》', + icon: 'none', + duration: 2000 + }) + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + shrink(){ + wx.navigateBack({ + delta: -1, + }) + }, + bindPickerChangeAge(e){ + console.log('picker发送选择改变,携带值为', e.detail.value) + this.setData({ + ageIndex: e.detail.value, + ["userInfo.age"]: parseInt(e.detail.value) + 16, + }) + }, + chooseMedia(){ + var that = this; + wx.chooseMedia({ + count: 9, + mediaType: ['image'], + sizeType: ['original','compressed'], + sourceType: ['album', 'camera'], + success (res) { + // tempFilePath可以作为 img 标签的 src 属性显示图片 + wx.showLoading({ + title: '上传中...', + }) + console.log(res); + var currData = {}; + + + const tempFilePaths = res.tempFiles; + tempFilePaths.forEach((item,index)=>{ + + wx.uploadFile({ + url: app.globalData.ip + "/imgs/uploadImage", + method: "post", + // data:currData, + // name: "uploadFile", + filePath: tempFilePaths[index].tempFilePath, + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(that.data.files); + console.log(JSON.parse(res.data).data); + + that.data.files.push({url:JSON.parse(res.data).data,id:-999}) + that.data.newAddImg.push(JSON.parse(res.data).data) + that.setData({ + files:that.data.files, + newAddImg:that.data.newAddImg + }) + // currData.data = JSON.parse(res.data); + + + that.pushImg(); + // console.log(that.data.files); + + // that.updateImgs(currData.type,currData.fkId,currData.data.data); + + }, + fail: function (res) { + console.log(res); + }, + }); + wx.hideLoading(); + }) + } + }) + }, + delImgs(e){ + var that = this; + var url = e.currentTarget.dataset.url; + var id = e.currentTarget.dataset.id; + wx.showModal({ + title: '提示', + content: '确定要删除该图片?', + confirmColor:'#ff4400', + success (res) { + if (res.confirm) { + that.data.files.forEach((item,index)=>{ + if(id == item.id){ + that.data.files.splice(index,1); + that.data.newAddImg.splice(index,1); + } + }) + that.pushImg(); + that.setData({ + files:that.data.files, + newAddImg:that.data.newAddImg + }) + if(id != -999){ + + wx.request({ + url: app.globalData.ip + "/imgs/del/"+id, + header: app.globalData.headers, + // data:currData, + method: "get", + success: function (res) { + console.log(res.data); + + }, + fail: function (res) { + console.log(res); + }, + }); + } + + + + + + } else if (res.cancel) { + console.log('用户点击取消') + } + } + }) + + + + + }, + pushImg(){ + var that = this; + + console.log(that.data.files); + + that.data.urls = []; + // that.data.files.forEach(item=>{ + // that.data.urls.push(item.url) + // }) + + let curr = []; + that.data.files.forEach(item=>{ + curr.push({url:item.url,id:item.id}) + }) + that.setData({ + urls:curr + }) + }, + showImgs(e){ + var that = this; + console.log(that.data.urls); + let curr = []; + that.data.urls.forEach(item=>{ + curr.push(item.url) + }) + + wx.previewImage({ + current: e.mark.url, // 当前显示图片的 http 链接 + urls: curr // 需要预览的图片 http 链接列表 + }) + }, + + radioChange: function (e) { + const sex = this.data.sex; + let currentSex = ""; + for (let i = 0, len = sex.length; i < len; ++i) { + sex[i].checked = sex[i].id == e.detail.value; + if (sex[i].checked) { + currentSex = sex[i].value; + } + } + this.setData({ + ["userInfo.sex"]: currentSex, + sex, + }); + console.log(e.detail.value); + }, + chooseIdCard() { + var that = this; + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); +// debugger; + that.uploadIdcardImg(res); + }, + }); + }, + uploadIdcardImg(imgPath) { + let that = this; + // tempFilePath可以作为img标签的src属性显示图片 + console.log(imgPath.tempFilePaths[0]); + const tempFilePaths = imgPath.tempFilePaths; + wx.showLoading({ + title: "识别中...", + }); + wx.uploadFile({ + // url: app.globalData.ip + '/commons/idCardOcrRecognize', + url: app.globalData.ip + "/commons/idCardOcrRecognizeAndUploadToAliyunOss", + filePath: imgPath.tempFilePaths[0], + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(JSON.parse(res.data)); + var idcard = JSON.parse(res.data); + if (idcard.status == 200) { + that.setData({ + ageIndex:parseInt(idcard.data.age) - 16, + + userInfo: idcard.data, + showUpload: false, + currentImg: idcard.data.idCardImageUrl, + }); + that.setStorage(); + console.log(that.data.userInfo); + that.data.nationArray.forEach((item, index) => { + if (item.name.includes(that.data.userInfo.nationality)) { + that.setData({ + nationIndex: index, + }); + } + }); + if (that.data.userInfo.sex == "男") { + that.data.sex[0].checked = true; + } else { + that.data.sex[1].checked = true; + } + // that.data.files.push({'url':tempFilePaths[0]}) + + // console.log(that.data.files); + + that.setData({ + // files: that.data.files, + sex: that.data.sex, + imgSrc: tempFilePaths[0], + }); + that.pushImg(); + + } else { + wx.showToast({ + duration: 2000, + title: "身份证未识别", + icon: "none", + mask: true, + }); + // console.log(1); + //app.showTips(that, res.data.msg); + } + wx.hideLoading(); + }, + fail: function (res) { + console.log(res); + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + var that = this; + + // console.log(JSON.parse(options.info)); + // 获取缓存的报名人信息 + let info = wx.getStorageSync("townsManInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + if(app.isNotEmptyCheck(info.userId)){ + that.getImgs(info.userId); + } + that.setData({ + userInfo: info, + userId:info.userId, + currentImg: info.currentImg, + }); + if(app.isNotEmptyCheck(info.imgs)){ + that.setData({ + files:info.imgs, + urls:info.imgs, + }); + } + + + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + console.log(info); + if (info.sex == "男" || info.sex == "1") { + this.data.sex[0].checked = true; + } else if (info.sex == "女" || info.sex == "2") { + this.data.sex[1].checked = true; + } + that.data.nationArray.forEach((item, index) => { + if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + console.log("isin"); + that.setData({ + nationIndex: index, + }); + } + }); + + console.log(info.age); + + if(info.age){ + this.setData({ + ageIndex:parseInt(info.age) - 16, + }); + } + console.log(that.data.nationIndex); + this.setData({ + sex: this.data.sex, + }); + } + // this.getPolicyByStoreJobId(that.data.storeJobId); + that.setData({ + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + }); + + if (app.isNotEmptyCheck(options.info)) { + // 如果随路由传过来的信息有更新,赋值新的数据 + this.setData({ + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + // this.getPolicyByStoreJobId(this.data.storeJobId); + } + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log('--------','isIntonavigation'); + wx.navigateTo({ + url: `../recordChoice/index?type=${e.currentTarget.dataset.type}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg() { + var that = this; + wx.showModal({ + title: "提示", + content: "确定要删除图片吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.setData({ + imgSrc: "", + showUpload: true, + }); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + +if (app.isEmptyCheck(e.detail.value.userName)) { + wx.showToast({ + duration: 2000, + title: "请输入姓名", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (app.isEmptyCheck(e.detail.value.sex)) { + wx.showToast({ + duration: 2000, + title: "请选择性别", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else if (that.data.ageIndex == -1) { + wx.showToast({ + duration: 2000, + title: "请选择年龄", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } else { + setTimeout(() => { + that.formSubmit(e); + }, 1); + } + }, + setStorage() { + let that = this; + wx.removeStorageSync('townsManInfo') + return new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { ...that.data.userInfo, currentImg: that.data.currentImg }; + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + // wx.showLoading({ + // title: "提交中...", + // mask: true, + // }); + // if (that.data.index == -1) { + // wx.showToast({ + // duration: 2000, + // title: '请选择代理', + // icon: 'none', + // mask: true + // }) + // that.setData({ + // loading: false + // }) + // } else + + // if (that.data.jobIndex == -1) { + // wx.showToast({ + // duration: 2000, + // title: "请选择岗位", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + console.log(that.data.userInfo); + new Promise(function (resolve, reject) { + var paramData = that.data.userInfo; + paramData["userName"] = e.detail.value.userName; + paramData["sex"] = e.detail.value.sex; + paramData["age"] = that.data.userInfo.age; + paramData["nation"] = that.data.userInfo.nationality; + paramData["idCard"] = e.detail.value.idCard; + paramData["num"] = e.detail.value.idCard; + paramData["tel"] = e.detail.value.tel; + paramData["idCardImageUrl"] = that.data.currentImg; + paramData ["address"] = e.detail.value.address; + paramData ["userId"] = that.data.userId; + + // let urlss = []; + // if(app.isNotEmptyCheck(that.data.files)){ + // that.data.files.forEach(item=>{ + // urlss.push(item.url) + // }) + // } + + + paramData["imgs"] = that.data.newAddImg.toString(); + + resolve(paramData); + }).then(function (paramData) { + console.log(paramData); + + wx.removeStorageSync('townsManInfo') + new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { ...paramData ,currentImg: that.data.currentImg,imgs:that.data.files }; + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }).then(() => { + + + console.log(paramData['userId']); + + if(app.isNotEmptyCheck(that.data.userId)){ + wx.request({ + url: app.globalData.ip + "/user/updateInfo", + header: app.globalData.headers, + data: paramData, + method: "POST", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + wx.hideLoading(); + wx.showToast({ + duration: 2000, + title: "提交中", + icon: "success", + mask: true, + }); + setTimeout(()=>{ + wx.navigateBack({ + delta: -1, + }) + },2000) + + }else{ + wx.showToast({ + title: res.data.msg, + icon:'none' + }) + } + }, + }); + }else{ + wx.hideLoading(); + wx.showToast({ + duration: 2000, + title: "提交中", + icon: "success", + mask: true, + }); + setTimeout(()=>{ + wx.navigateBack({ + delta: -1, + }) + },2000) + } + + // wx.navigateBack({ + // delta: -1, + // }) + }); + wx.hideLoading({ + success: (res) => {}, + }) + }); + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + getStoreList: function (searchKeys) { + console.log(searchKeys); + var that = this; + that.data.searchKeys = searchKeys; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/getAllStoreAliasName", + data: { + keys: searchKeys, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + storeArray: res.data.data, + }); + } + }, + fail: function (res) {}, + }); + }, + setValue: function (e) { + let str = e.currentTarget.dataset.name; + let storeId = e.currentTarget.dataset.id; + console.log(storeId); + this.setData({ + inputVal: str, + storeId: storeId, + searchListShow: false, + }); + this.getJobList(storeId); + }, + getJobList: function (storeId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getJobNameByStoreId", + data: { + storeId: storeId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + jobArray: res.data.data, + }); + resolve(); + } + }, + fail: function (res) {}, + }); + }); + }, + + // bindPickerChangeJob: function (e) { + // var that = this; + // console.log("picker发送选择改变,携带值为", e.detail.value); + // var storeJobId = that.data.jobArray[e.detail.value].id; + // console.log(storeJobId); + // that.getPolicyByStoreJobId(storeJobId); + // this.setData({ + // jobIndex: e.detail.value, + // }); + // }, + bindPickerChangeNation(e) { + let that = this; + console.log("picker发送选择改变,携带值为", e.detail.value); + var nationName = that.data.nationArray[e.detail.value].name; + + this.setData({ + nationIndex: e.detail.value, + ["userInfo.nationality"]: nationName, + }); + }, + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + }); + } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + changeDateTime(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + }, + + changeDateTimeColumn(e) { + var arr = this.data.dateTime, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + console.log("aaaaaa"); +console.log(dateArr[0][arr[0]], dateArr[1][arr[1]]); + + + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime: arr, + }); + }, + + // getAgencyList: function (searchKeys) { + // var that = this; + // that.data.searchKeysA = searchKeys; + // // 60秒后重新获取验证码 + // wx.request({ + // url: app.globalData.ip + "/agency/getByPmdUserId", + // data: { + // agencyName: searchKeys, + // // pmdUserId: 101125 + // }, + // header: app.globalData.headers, + // method: "GET", + // success: function (res) { + // console.log(res); + // if (res.data.status == 200) { + // that.setData({ + // agentArray: res.data.data, + // }); + // } + // }, + // fail: function (res) {}, + // }); + // }, + /** + * 生命周期函数--监听页面显示 + */ + getImgs(userId){ + var that = this; + wx.request({ + url: app.globalData.ip + "/imgs/list/"+userId+"?type=20", + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + // if (res.data.status == 200) { + let currFils = []; + let regs = /\.(jpg|jpeg|png)(\?.*)?$/; + // res.data.data.storeImage.forEach((item) => { + // item.isImg = regs.test(item.url.toLowerCase()); + // if(app.isEmptyCheck(item.recordState)){ + // item.recordState = 1 + // } + // }); + if(app.isNotEmptyCheck(res.data.data.userImgs)){ + res.data.data.userImgs.forEach(item=>{ + if(regs.test(item.url.toLowerCase())){ + currFils.push({url:item.url,id:item.id}) + } + }) + } + + that.setData({ + files: currFils, + urls: currFils, + }); + // } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + + onShow: function () { + let that = this; + + that.pushImg(); + + + for(let i = 16;i < 70;i++){ + that.data.ageArray.push(i) + } + + // let that = this; + // let info = wx.getStorageSync("townsManInfo"); + // if (app.isNotEmptyCheck(info)) { + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + // console.log(info); + // if (info.sex == "男") { + // this.data.sex[0].checked = true; + // } else if (info.sex == "女") { + // this.data.sex[1].checked = true; + // } + // that.data.nationArray.forEach((item, index) => { + // if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + // console.log("isin"); + // that.setData({ + // nationIndex: index, + // }); + // } + // }); + // console.log(that.data.nationIndex); + // this.setData({ + // sex: this.data.sex, + // }); + // } + // this.pickerTap(); + + var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear, this.data.currentTime); + console.log(obj); + console.log(obj.dateTimeArray); + for (let index = 0; index < obj.dateTimeArray[0].length; index++) { + obj.dateTimeArray[0][index] = obj.dateTimeArray[0][index] + "年"; + } + for (let index = 0; index < obj.dateTimeArray[1].length; index++) { + obj.dateTimeArray[1][index] = obj.dateTimeArray[1][index] + "月"; + } + for (let index = 0; index < obj.dateTimeArray[2].length; index++) { + obj.dateTimeArray[2][index] = obj.dateTimeArray[2][index] + "日"; + } + + this.setData({ + dateTimeArray: obj.dateTimeArray, + dateTime: obj.dateTime, + ageArray:that.data.ageArray + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + // this.setData({ + // userInfo: { + // name: "", + // address: "", + // age: "", + // nationality: "", + // sex: "", + // num: "", + // idCardImageUrl: "", + // }, + // }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/enrollEdit/index.json b/pages/newEnroll/enrollEdit/index.json new file mode 100644 index 0000000..b7103f8 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "老乡报名信息" +} \ No newline at end of file diff --git a/pages/newEnroll/enrollEdit/index.wxml b/pages/newEnroll/enrollEdit/index.wxml new file mode 100644 index 0000000..ccee155 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.wxml @@ -0,0 +1,173 @@ +
+ + + + + + + 拍照或相册上传 + 系统智能识别并自动填写 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.value}} + + + + + + + + + + + + + + + 请选择年龄 + + + {{ageArray[ageIndex]}} + + + + + + + + + + + + + + + + 请选择民族 + + + {{nationArray[nationIndex].name}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 我已阅读并同意 + + 《服务协议》《隐私政策》 + + + + + + + + + +
\ No newline at end of file diff --git a/pages/newEnroll/enrollEdit/index.wxss b/pages/newEnroll/enrollEdit/index.wxss new file mode 100644 index 0000000..f446131 --- /dev/null +++ b/pages/newEnroll/enrollEdit/index.wxss @@ -0,0 +1,192 @@ +.weui-cells__group_form { + margin-top: 10px; +} +.weui-cells__group_form .weui-label { + color: rgba(0, 0, 0, 0.65); +} +.weui-input::placeholder { + color: #ccc; +} +.weui-cells__group_form .weui-cell { + padding: 16px 16px; +} +.weui-cells__group_form .weui-cells:after, +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before { + left: 10px; + right: 10px; +} +.br8 { + border-radius: 8px; +} +.weui-cells__group_form .weui-cell__hd { + padding-right: 0; +} + +.weui-cells__group_form .weui-cell.weui-cell_vcode { + padding: 11px 10px; +} +.weui-input { + min-height: 22px; + height: 22px; + line-height: 22px; +} +.weui-uploader__file, +.weui-uploader__input-box { + /* width: calc((100vw - 105px - 40px) / 3); + height: calc((100vw - 105px - 40px) / 3); */ + border-radius: 4px; + width: 76px; + height: 76px; + margin-right: 11px; +} +.weui-cells__group_form .weui-vcode-btn { + width: 68px; + height: 26px; + background-color: #fff; + border-radius: 13px; + font-size: 14px; + color: #027aff; + text-align: center; + padding: 0; + font-weight: 400; + line-height: 26px; +} +.weui-label.c085 { + color: #333; + /* font-weight: 500; */ +} +.weui-cell{ + align-items: flex-start; +} +.weui-cells__group_form .weui-cells:before { + border-top: 0; +} + +.weui-cell.weui-cell_active.weui-cell_access { + padding: 12px 10px; +} +button[disabled]:not([type]) { + background-color: #ddd; +} + +.searchbar-result { + position: absolute; + z-index: 9; + width: calc(100% - 20px); + max-height: 200px; + overflow: auto; +} +.weui-cells:after, +.weui-cells:before { + height: 0; + border-top: 0; + border-bottom: 0; +} +.weui-input { + text-align: right; +} +.topViewN { + height: 66px; + background: #fff4f1; + border: 1px solid #ff8255; + border-radius: 6px; + display: flex; + padding: 0 16px; + line-height: 66px; +} +.weui-cell__bd { + color: #666; +} +.imgSpanIcon { + width: 23px; + height: 18px; +} +.imgSpanIcon1 { + width: 22px; + height: 22px; + position: absolute; + right: -11px; + top: -11px; +} + +.topImg { + position: absolute; + width: 100px; + height: 100px; + background: rgba(0, 0, 0, 0.48); + border-radius: 4px; +} + +button.newBtn { + width: 200px; + background-color: var(--color-ysd); +} + +.quickapply { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + min-height: 54px; + margin-bottom: 0; + padding: 12px 10px 12px 14px; + /* padding-bottom: 48px; */ + background-color: #fff; + border-radius: 6px; +} + +.quickapply .upload .t-icon { + width: 46px; + height: 46px; + margin-right: 10px; + background-repeat: no-repeat; +} +.quickapply .upload { + display: flex; + align-items: center; +} +.quickapply .info view:first-child { + font-size: 17px; + font-weight: 500; + color: #333; +} +.quickapply .info view:last-child { + font-size: 14px; + color: #ccc; +} +.quickapply .idCardPreview ,.quickapply .idCardPreview image{ + width: 28px; + height: 28px; + border-radius: 2px; +} +.quickapply .idCardPreview .t-icon { + width: 100%; + height: 100%; +} +.input__placeholder{ + color: #ccc; +} +.weui-input{ + color: #333; +} +.weui-uploader__input-box:before { + width: 2px; + height: 24px; +} +.weui-uploader__input-box:after { + width: 24px; + height: 2px; +} +.weui-uploader__img{ + border-radius: 4px; +} +.weui-uploader__file .delImg{ + position: absolute; + right: -6px; + top:-6px; + z-index: 99; +} +.weui-uploader__bd{ + overflow: inherit; +} \ No newline at end of file diff --git a/pages/newEnroll/enrollJob/index.js b/pages/newEnroll/enrollJob/index.js new file mode 100644 index 0000000..0fff6e6 --- /dev/null +++ b/pages/newEnroll/enrollJob/index.js @@ -0,0 +1,537 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../../utils/dateTimePicker.js"); +var dateUtil = require("../../../utils/dateUtil.js"); +import { nationArray } from "../../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + + showUpload: true, + name: "", + + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + " " + "12:00", + currentTime2: dateUtil.formatDateYMD(mydate.toLocaleDateString()) + " " + "12:00", + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: false, // 管理员权限 + nationArray, + currentUser: {}, + jobName: "", + switch1Checked: false, + }, + + + shrink:function(){ + wx.navigateBack({ + delta: -1, + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + let that = this; + // console.log(JSON.parse(options.info)); + console.log(options); + + // 获取缓存的报名人信息 + let info = wx.getStorageSync("storeJobInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + that.setData({ + storeJobId: info.id, + jobName: info.jobName, + agentId: info.agentId, + agentName: info.agentName, + currentImg: info.currentImg, + }); + this.getPolicyByStoreJobId(that.data.storeJobId); + + } + that.setData({ + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, + }); + if (app.isNotEmptyCheck(options.info)) { + // 如果随路由传过来的信息有更新,赋值新的数据 + this.setData({ + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + this.getPolicyByStoreJobId(this.data.storeJobId); + } + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log('--------','isIntonavigation'); + wx.navigateTo({ + url: `../../recordChoice/index?type=${e.currentTarget.dataset.type}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg() { + var that = this; + wx.showModal({ + title: "提示", + content: "确定要删除图片吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.setData({ + imgSrc: "", + showUpload: true, + }); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + + setTimeout(() => { + that.formSubmit(e); + }, 1); + + // if (!that.data.switch1Checked) { + // wx.showToast({ + // title: "请先阅读并同意《服务协议》及《隐私政策》", + // icon: "none", + // duration: 2000, + // }); + // } else if (app.isEmptyCheck(e.detail.value.userName)) { + // wx.showToast({ + // duration: 2000, + // title: "请输入姓名", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else if (app.isEmptyCheck(e.detail.value.sex)) { + // wx.showToast({ + // duration: 2000, + // title: "请选择性别", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else if (app.isEmptyCheck(e.detail.value.age)) { + // wx.showToast({ + // duration: 2000, + // title: "请输入年龄", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + // setTimeout(() => { + // that.formSubmit(e); + // }, 1); + // } + }, + setStorage() { + let that = this; + wx.removeStorageSync('townsManInfoJob') + return new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { currentTime: that.data.currentTime,currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentId: that.data.agentId, agentName: that.data.agentName }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + console.log(wx.getStorageSync("townsManInfoJob")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + wx.showLoading({ + title: "提交中...", + mask: true, + }); + // if (that.data.index == -1) { + // wx.showToast({ + // duration: 2000, + // title: '请选择代理', + // icon: 'none', + // mask: true + // }) + // that.setData({ + // loading: false + // }) + // } else + + // if (that.data.jobIndex == -1) { + // wx.showToast({ + // duration: 2000, + // title: "请选择岗位", + // icon: "none", + // mask: true, + // }); + // that.setData({ + // loading: false, + // }); + // } else { + console.log(that.data.idInfo); + new Promise(function (resolve, reject) { + var paramData = {}; + + paramData["storeJobId"] = that.data.storeJobId; + paramData["policy"] = that.data.policy; + paramData["interviewTime"] = that.data.currentTime; + paramData["receptionTime"] = that.data.currentTime2; + resolve(paramData); + }).then(function (paramData) { + console.log(paramData); + + wx.removeStorageSync('townsManInfoJob') + new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { currentTime: that.data.currentTime,currentTime2: that.data.currentTime2, storeJobId: that.data.storeJobId, jobName: that.data.jobName, agentName: that.data.agentName,policy:that.data.policy }; + console.log(data); + wx.setStorage({ + key: "townsManInfoJob", + data, + }); + console.log(wx.getStorageSync("townsManInfoJob")); + resolve(); + }).then(() => { + wx.redirectTo({ + url: '../../newEnroll/index', + }) + }); + wx.hideLoading({ + success: (res) => {}, + }) + + + + }); + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + getStoreList: function (searchKeys) { + console.log(searchKeys); + var that = this; + that.data.searchKeys = searchKeys; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/getAllStoreAliasName", + data: { + keys: searchKeys, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + storeArray: res.data.data, + }); + } + }, + fail: function (res) {}, + }); + }, + setValue: function (e) { + let str = e.currentTarget.dataset.name; + let storeId = e.currentTarget.dataset.id; + console.log(storeId); + this.setData({ + inputVal: str, + storeId: storeId, + searchListShow: false, + }); + this.getJobList(storeId); + }, + getJobList: function (storeId) { + var that = this; + return new Promise((resolve, reject) => { + wx.request({ + url: app.globalData.ip + "/store/job/getJobNameByStoreId", + data: { + storeId: storeId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + jobArray: res.data.data, + }); + resolve(); + } + }, + fail: function (res) {}, + }); + }); + }, + + // bindPickerChangeJob: function (e) { + // var that = this; + // console.log("picker发送选择改变,携带值为", e.detail.value); + // var storeJobId = that.data.jobArray[e.detail.value].id; + // console.log(storeJobId); + // that.getPolicyByStoreJobId(storeJobId); + // this.setData({ + // jobIndex: e.detail.value, + // }); + // }, + bindPickerChangeNation(e) { + let that = this; + console.log("picker发送选择改变,携带值为", e.detail.value); + var nationName = that.data.nationArray[e.detail.value].name; + + this.setData({ + nationIndex: e.detail.value, + ["userInfo.nationality"]: nationName, + }); + }, + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + }); + } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + changeDateTime(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + }, + + changeDateTimeColumn(e) { + var arr = this.data.dateTime, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime: arr, + }); + }, + + changeDateTime2(e) { + var dateTimeArray = this.data.dateTimeArray, + dateTime = e.detail.value; + this.setData({ + // dateTime: e.detail.value, + currentTime2: dateTimeArray[0][dateTime[0]].replace("年", "") + "-" + dateTimeArray[1][dateTime[1]].replace("月", "") + "-" + dateTimeArray[2][dateTime[2]].replace("日", "") + " " + dateTimeArray[3][dateTime[3]], + }); + console.log(this.data.dateTimeArray); + }, + + changeDateTimeColumn2(e) { + var arr = this.data.dateTime2, + dateArr = this.data.dateTimeArray; + arr[e.detail.column] = e.detail.value; + dateArr[2] = dateTimePicker.getMonthDay(dateArr[0][arr[0]], dateArr[1][arr[1]]); + for (let index = 0; index < dateArr[2].length; index++) { + dateArr[2][index] = dateArr[2][index] + "日"; + } + // .replace("年",'').replace("月",'').replace("日",'') + this.setData({ + dateTimeArray: dateArr, + dateTime2: arr, + }); + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + var obj = dateTimePicker.dateTimePicker(this.data.startYear, this.data.endYear, this.data.currentTime); + console.log(obj.dateTimeArray); + for (let index = 0; index < obj.dateTimeArray[0].length; index++) { + obj.dateTimeArray[0][index] = obj.dateTimeArray[0][index] + "年"; + } + for (let index = 0; index < obj.dateTimeArray[1].length; index++) { + obj.dateTimeArray[1][index] = obj.dateTimeArray[1][index] + "月"; + } + for (let index = 0; index < obj.dateTimeArray[2].length; index++) { + obj.dateTimeArray[2][index] = obj.dateTimeArray[2][index] + "日"; + } + + this.setData({ + dateTimeArray: obj.dateTimeArray, + dateTime: obj.dateTime, + dateTimeArray2: obj.dateTimeArray, + dateTime2: obj.dateTime, + }); + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + // this.setData({ + // userInfo: { + // name: "", + // address: "", + // age: "", + // nationality: "", + // sex: "", + // num: "", + // idCardImageUrl: "", + // }, + // }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/enrollJob/index.json b/pages/newEnroll/enrollJob/index.json new file mode 100644 index 0000000..b7103f8 --- /dev/null +++ b/pages/newEnroll/enrollJob/index.json @@ -0,0 +1,3 @@ +{ + "navigationBarTitleText": "老乡报名信息" +} \ No newline at end of file diff --git a/pages/newEnroll/enrollJob/index.wxml b/pages/newEnroll/enrollJob/index.wxml new file mode 100644 index 0000000..056787d --- /dev/null +++ b/pages/newEnroll/enrollJob/index.wxml @@ -0,0 +1,81 @@ +
+ + + + + + + + {{item.aliasName}} + + + + + + + + + + + {{jobName}} + + + + 请选择岗位 + + + + + + + + + + + + {{!!currentTime?currentTime:'----'}} + + + + + + + + + + + + {{!!currentTime2?currentTime2:'----'}} + + + + + + + + + + + + {{policy == "" ?'-':policy}} + + + + + + + + + + + + +
\ No newline at end of file diff --git a/pages/newEnroll/enrollJob/index.wxss b/pages/newEnroll/enrollJob/index.wxss new file mode 100644 index 0000000..180f65f --- /dev/null +++ b/pages/newEnroll/enrollJob/index.wxss @@ -0,0 +1,4 @@ +@import "../enroll/index.wxss"; +page{ + font-size: 16px; +} \ No newline at end of file diff --git a/pages/newEnroll/index.js b/pages/newEnroll/index.js new file mode 100644 index 0000000..21503bc --- /dev/null +++ b/pages/newEnroll/index.js @@ -0,0 +1,634 @@ +// pages/newEnroll/index.js +const app = getApp(); +var dateTimePicker = require("../../utils/dateTimePicker.js"); +var dateUtil = require("../../utils/dateUtil.js"); +import { nationArray } from "../../utils/commonUtil"; +const mydate = new Date(); +Page({ + /** + * 页面的初始数据 + */ + data: { + storeJobInfo:{}, + userInfo: { + name: "姓名", + address: "报名老乡地址", + age: "年龄", + nationality: "民族", + sex: "性别", + num: "-", + tel: "-", + idCardImageUrl: "", + }, + user:app.globalData.user, + showUpload: true, + name: "", + sex: [ + { + id: 1, + value: "男", + }, + { + id: 2, + value: "女", + }, + ], + imgSrc: "", + loading: false, + idInfo: {}, + index: -1, + agentArray: [], + // jobIndex: -1, + jobArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + storeIndex: -1, + storeArray: [ + // { + // id: 1, + // name: "GG", + // }, + ], + dateTimeArray1: null, + dateTime1: null, + startYear: 2022, + endYear: 2024, + currentTime: '-', + currentTime2: '-', + searchListShow: false, + searchKeys: "", + searchKeysA: "", + inputShowed: false, + inputVal: "", + inputShowedA: false, + inputValA: "", + storeId: "", + agentId: "", + agentName: "", + storeJobId: "", + policy: "-", + currentImg: "", + nationIndex: -1, // 民族的索引 + managerRoleClassify: app.globalData.loginUserInfo.managerRoleClassify, // 管理员权限 + nationArray, + currentUser: {}, + jobName: "-", + switch1Checked: true, + }, + shrink:function(){ + wx.navigateBack({ + delta: -1, + }) + }, + radioChange: function (e) { + const sex = this.data.sex; + let currentSex = ""; + for (let i = 0, len = sex.length; i < len; ++i) { + sex[i].checked = sex[i].id == e.detail.value; + if (sex[i].checked) { + currentSex = sex[i].value; + } + } + this.setData({ + ["userInfo.sex"]: currentSex, + sex, + }); + console.log(e.detail.value); + }, + chooseIdCard() { + var that = this; + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + + that.uploadIdcardImg(res); + }, + }); + }, + uploadIdcardImg(imgPath) { + let that = this; + // tempFilePath可以作为img标签的src属性显示图片 + console.log(imgPath.tempFilePaths[0]); + const tempFilePaths = imgPath.tempFilePaths; + wx.showLoading({ + title: "识别中...", + }); + wx.uploadFile({ + // url: app.globalData.ip + '/commons/idCardOcrRecognize', + url: app.globalData.ip + "/commons/idCardOcrRecognizeAndUploadToAliyunOss", + filePath: imgPath.tempFilePaths[0], + name: "uploadFile", + header: app.globalData.headers, + success: function (res) { + console.log(JSON.parse(res.data)); + var idcard = JSON.parse(res.data); + idcard.data.tel = "" + idcard.data.nationality = idcard.data.nationality + if (idcard.status == 200) { + that.setData({ + userInfo: idcard.data, + showUpload: false, + currentImg: imgPath.tempFilePaths[0], + }); + that.setStorage(); + console.log(that.data.userInfo); + that.data.nationArray.forEach((item, index) => { + if (item.name.includes(that.data.userInfo.nationality)) { + that.setData({ + nationIndex: index, + }); + } + }); + if(that.data.userInfo.nationality.substr(that.data.userInfo.nationality.length-1,1) != '族' && that.data.userInfo.nationality.substr(that.data.userInfo.nationality.length-1,1) != ''){ + that.data.userInfo.nationality = that.data.userInfo.nationality + '族' + } + if (that.data.userInfo.sex == "男") { + that.data.sex[0].checked = true; + } else { + that.data.sex[1].checked = true; + } + that.setData({ + userInfo:that.data.userInfo, + sex: that.data.sex, + imgSrc: tempFilePaths[0], + }); + + + } else { + wx.showToast({ + duration: 2000, + title: "身份证未识别", + icon: "none", + mask: true, + }); + // console.log(1); + //app.showTips(that, res.data.msg); + } + wx.hideLoading(); + }, + fail: function (res) { + console.log(res); + }, + }); + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + let that = this; + console.log(app.globalData.user); + console.log(options); + + // 先统一给代理名字赋予登陆者的名称 + that.setData({ + agentName: app.globalData.user.userName, + agentId:app.globalData.user.agencyId + }); + if (app.isNotEmptyCheck(options.info)) { + // 如果随路由传过来的信息有更新,赋值新的数据 + console.log(JSON.parse(options.info)); + + this.setData({ + storeJobInfo:JSON.parse(options.info), + storeJobId: JSON.parse(options.info).id, + jobName: JSON.parse(options.info).jobName, + inputVal: JSON.parse(options.info).storeName || JSON.parse(options.info).aliasName, + storeId: JSON.parse(options.info).storeId, + }); + this.getPolicyByStoreJobId(this.data.storeJobId); + wx.setStorageSync('storeJobInfo', that.data.storeJobInfo) + } + if (app.isNotEmptyCheck(options.agencyInfo)) { + that.setData({ + agentName: JSON.parse(options.agencyInfo).agencyName, + agentId: JSON.parse(options.agencyInfo).id, + }); + } + if (app.isNotEmptyCheck(options.imgUrl)) { + let imgUrl = JSON.parse(options.imgUrl); + that.uploadIdcardImg(imgUrl); + } + }, + toJobAndAgencySelect(e) { + console.log(e); + console.log(this.data.userInfo); + this.setStorage().then(() => { + console.log('--------','isIntonavigation'); + wx.navigateTo({ + url: `../recordChoice/index?type=${e.currentTarget.dataset.type}`, + }); + }); + }, + showImg() { + wx.previewImage({ + current: this.data.currentImg, // 当前显示图片的 http 链接 + urls: [this.data.currentImg], // 需要预览的图片 http 链接列表 + }); + }, + deleteImg() { + var that = this; + wx.showModal({ + title: "提示", + content: "确定要删除图片吗?", + confirmColor: "#ff4400", + success(res) { + if (res.confirm) { + that.setData({ + imgSrc: "", + showUpload: true, + }); + } else if (res.cancel) { + console.log("用户点击取消"); + } + }, + }); + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + // let src = wx.getStorageSync("src"); + // console.log(src); + }, + bothwayBind(e) { + console.log(e); + let type = `userInfo.${e.currentTarget.dataset.type}`; + this.setData({ + [type]: e.detail.value, + }); + }, + beforeFormSubmit: function (e) { + var that = this; + console.log(e); + that.setData({ + loading: true, + }); + + if (!that.data.switch1Checked) { + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else if (app.isEmptyCheck(wx.getStorageSync("townsManInfo"))) { + wx.showToast({ + duration: 2000, + title: "请补全个人信息", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } + else if (app.isEmptyCheck(wx.getStorageSync("townsManInfoJob"))) { + wx.showToast({ + duration: 2000, + title: "请补全岗位信息", + icon: "none", + mask: true, + }); + that.setData({ + loading: false, + }); + } + else { + setTimeout(() => { + that.formSubmit(e); + }, 1); + e.detail.value["idCardImageUrl"] = that.data.userInfo.idCardImageUrl; + } + }, + clear(){ + wx.removeStorageSync('townsManInfo') + }, + setStorage() { + let that = this; + wx.removeStorageSync('townsManInfo') + return new Promise((resolve, reject) => { + console.log(that.data.storeJobId); + let data = { ...that.data.userInfo, currentImg: that.data.currentImg }; + console.log(data); + wx.setStorage({ + key: "townsManInfo", + data, + }); + console.log(wx.getStorageSync("townsManInfo")); + resolve(); + }); + }, + formSubmit: function (e) { + var that = this; + console.log(e); + console.log(wx.getStorageSync("townsManInfo")) + console.log(wx.getStorageSync("townsManInfoJob")) + console.log(that.data.agentName+"+===+"+that.data.agentId) + that.setData({ + loading: true, + }); + // return + wx.showLoading({ + title: "提交中...", + mask: true, + }); + let userInfo = wx.getStorageSync("townsManInfo"); + let jobInfo = wx.getStorageSync("townsManInfoJob"); + + console.log(that.data.idInfo); + new Promise(function (resolve, reject) { + var paramData = {}; + paramData["userName"] = userInfo.name; + + if(userInfo.sex == '1' || userInfo.sex == '男'){ + paramData["sex"] = 1; + }else{ + paramData["sex"] = 2; + } + + paramData["age"] = userInfo.age; + paramData["nation"] = userInfo.nationality; + paramData["idCard"] = userInfo.num; + if(app.isNotEmptyCheck(userInfo.imgs)){ + paramData["imgs"] = userInfo.imgs.toString(); + } + + paramData["tel"] = userInfo.tel; + paramData["idCardImageUrl"] = userInfo.idCardImageUrl; + paramData["address"] = userInfo.address; + + paramData["agencyId"] = that.data.agentId; + paramData["storeJobId"] = jobInfo.storeJobId; + paramData["policy"] = jobInfo.policy; + paramData["interviewTime"] = jobInfo.currentTime; + paramData["receptionTime"] = jobInfo.currentTime2; + resolve(paramData); + }).then(function (paramData) { + console.log(paramData); + wx.request({ + url: app.globalData.ip + "/user/apply/order/addByAgency", + header: app.globalData.headers, + data: paramData, + method: "POST", + success: function (res) { + + wx.removeStorageSync('townsManInfo') + wx.removeStorageSync('townsManInfoJob') + + console.log(res); + if (res.data.status == 200) { + wx.hideLoading(); + wx.switchTab({ + url: "/pages/workBench/index", + }); + wx.showToast({ + duration: 2000, + title: "报名成功", + icon: "success", + mask: true, + }); + } + }, + }); + }); + // } + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + if (e.detail.value.length > 0) { + this.setData({ + searchListShow: true, + }); + this.getStoreList(e.detail.value); + } else { + this.setData({ + searchListShow: false, + }); + } + }, + + + + + + getPolicyByStoreJobId: function (storeJobId) { + var that = this; + // 60秒后重新获取验证码 + wx.request({ + url: app.globalData.ip + "/store/job/getPolicyByStoreJobId", + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + policy: res.data.data, + }); + } + }, + fail: function (res) { + console.log(res); + }, + }); + }, + + + + // getAgencyList: function (searchKeys) { + // var that = this; + // that.data.searchKeysA = searchKeys; + // // 60秒后重新获取验证码 + // wx.request({ + // url: app.globalData.ip + "/agency/getByPmdUserId", + // data: { + // agencyName: searchKeys, + // // pmdUserId: 101125 + // }, + // header: app.globalData.headers, + // method: "GET", + // success: function (res) { + // console.log(res); + // if (res.data.status == 200) { + // that.setData({ + // agentArray: res.data.data, + // }); + // } + // }, + // fail: function (res) {}, + // }); + // }, + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + let that = this; + console.log(that.data.managerRoleClassify); + console.log(app.globalData.loginUserInfo); + // 获取缓存的报名人信息 + let info = wx.getStorageSync("townsManInfo"); + console.log(info); + if (app.isNotEmptyCheck(info)) { + // 统一给代理岗位相关的字段赋值 + that.setData({ + userInfo: info, + + }); + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + console.log(info); + if (info.sex == "1") { + info.sex = '男' + } else if (info.sex == "2") { + info.sex = '女' + } + + // info.sex = info.sex == '1' ? '男' : '女'; + if(info.nationality.substr(info.nationality.length-1,1) != '族' && info.nationality.substr(info.nationality.length-1,1) != ''){ + info.nationality = info.nationality + '族' + } + that.data.nationArray.forEach((item, index) => { + if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + console.log("isin"); + that.setData({ + nationIndex: index, + }); + } + }); + console.log(that.data.nationIndex); + this.setData({ + userInfo:info, + sex: this.data.sex, + }); + } + + + let infoJob = wx.getStorageSync("townsManInfoJob"); + console.log(infoJob); + if (app.isNotEmptyCheck(infoJob)) { + // 统一给代理岗位相关的字段赋值 + that.setData({ + storeJobId: infoJob.storeJobId, + jobName: infoJob.jobName, + currentImg: infoJob.currentImg, + currentTime: infoJob.currentTime, + currentTime2: infoJob.currentTime2, + }); + this.getPolicyByStoreJobId(that.data.storeJobId); + + } + + // + // let info = wx.getStorageSync("townsManInfo"); + // if (app.isNotEmptyCheck(info)) { + // this.setData({ + // userInfo: info, + // currentImg: info.currentImg, + // currentTime: info.currentTime, + // }); + // console.log(info); + // if (info.sex == "男") { + // this.data.sex[0].checked = true; + // } else if (info.sex == "女") { + // this.data.sex[1].checked = true; + // } + // that.data.nationArray.forEach((item, index) => { + // if (item.name.indexOf(info.nationality) > -1 && info.nationality != "") { + // console.log("isin"); + // that.setData({ + // nationIndex: index, + // }); + // } + // }); + // console.log(that.data.nationIndex); + // this.setData({ + // sex: this.data.sex, + // }); + // } + // this.pickerTap(); + + + }, + switch1Change: function (e) { + console.log("radio发生change事件,携带value值为:", e.detail.value); + console.log(e.detail.value); + + var check = this.data.switch1Checked; + if (check) { + this.data.switch1Checked = false; + console.log("已取消选中"); + wx.showToast({ + title: "请先阅读并同意《服务协议》及《隐私政策》", + icon: "none", + duration: 2000, + }); + } else { + this.data.switch1Checked = true; + console.log("已选中"); + } + this.setData({ + switch1Checked: this.data.switch1Checked, + }); + + // if(!e.detail.value){ + + // } + }, + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function (e) { + console.log("isHide"); + console.log(e); + // this.setData({ + // userInfo: { + // name: "", + // address: "", + // age: "", + // nationality: "", + // sex: "", + // num: "", + // idCardImageUrl: "", + // }, + // }); + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + // wx.removeStorageSync("townsManInfo"); + // wx.switchTab({ + // url: "../firstBill/index", + // }); + // console.log(wx.getStorageSync("townsManInfo")); + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () {}, +}); diff --git a/pages/newEnroll/index.json b/pages/newEnroll/index.json new file mode 100644 index 0000000..f6d3a3a --- /dev/null +++ b/pages/newEnroll/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "老乡报名信息", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/newEnroll/index.wxml b/pages/newEnroll/index.wxml new file mode 100644 index 0000000..f0c8ccc --- /dev/null +++ b/pages/newEnroll/index.wxml @@ -0,0 +1,134 @@ + +
+ + + + + + + + 拍照或相册上传 + 系统智能识别并自动填写 + + + + + + + + + + {{userInfo.name||'姓名'}}/{{userInfo.sex||'性别'}}/{{userInfo.age||'年龄'}}/{{userInfo.nationality || ''+'族'}} + + {{userInfo.address}} + + + + + + {{userInfo.num == '-' || userInfo.num == '' || userInfo.num == null ? '-' : userInfo.num}} + + + + + + {{userInfo.tel == '-' || userInfo.tel == '' || userInfo.tel == null ? '-' : userInfo.tel}} + + + + 编辑 + + + + + 报名岗位 + + {{jobName}} + + + + + + + + 面试时间 + + + {{currentTime}} + + + + + 接待时间 + + + {{currentTime2}} + + + + + 政策 + + + {{policy}} + + + + 编辑 + + + + + + + + + + + + + + + + {{agentName}} + + + + + + {{agentName}} + + + + + + + + + + + + 我已阅读并同意 + 《用户服务协议》 + 及 + 《隐私政策》 + + + + + + + + + + + +
\ No newline at end of file diff --git a/pages/newEnroll/index.wxss b/pages/newEnroll/index.wxss new file mode 100644 index 0000000..49fc222 --- /dev/null +++ b/pages/newEnroll/index.wxss @@ -0,0 +1,176 @@ +page{ + font-size: 16px; + /* padding-bottom: 80px; */ +} + +.weui-cells__group_form { + margin-top: 10px; +} +.weui-cells__group_form .weui-label { + color: rgba(0, 0, 0, 0.65); +} +.weui-input::placeholder { + color: #ccc; +} +.weui-cells__group_form .weui-cell { + padding: 16px 16px; +} +.weui-cells__group_form .weui-cells:after, +.weui-cells__group_form .weui-cell:before, +.weui-cells__group_form .weui-cells:before { + left: 10px; + right: 10px; +} +.br8 { + border-radius: 8px; +} +.weui-cells__group_form .weui-cell__hd { + padding-right: 0; +} + +.weui-cells__group_form .weui-cell.weui-cell_vcode { + padding: 11px 10px; +} +.weui-input { + min-height: 22px; + height: 22px; + line-height: 22px; +} +.weui-uploader__file, +.weui-uploader__input-box { + /* width: calc((100vw - 105px - 40px) / 3); + height: calc((100vw - 105px - 40px) / 3); */ + border-radius: 4px; + width: 76px; + height: 76px; +} +.weui-cells__group_form .weui-vcode-btn { + width: 68px; + height: 26px; + background-color: #fff; + border-radius: 13px; + font-size: 14px; + color: #027aff; + text-align: center; + padding: 0; + font-weight: 400; + line-height: 26px; +} +.weui-label.c085 { + color: #333; + /* font-weight: 500; */ +} +.weui-cell{ + align-items: flex-start; +} +.weui-cells__group_form .weui-cells:before { + border-top: 0; +} + +.weui-cell.weui-cell_active.weui-cell_access { + padding: 12px 10px; +} +button[disabled]:not([type]) { + background-color: #ddd; +} + +.searchbar-result { + position: absolute; + z-index: 9; + width: calc(100% - 20px); + max-height: 200px; + overflow: auto; +} +.weui-cells:after, +.weui-cells:before { + height: 0; + border-top: 0; + border-bottom: 0; +} +.weui-input { + text-align: right; +} +.topViewN { + height: 66px; + background: #fff4f1; + border: 1px solid #ff8255; + border-radius: 6px; + display: flex; + padding: 0 16px; + line-height: 66px; +} +.weui-cell__bd { + color: #666; +} +.imgSpanIcon { + width: 23px; + height: 18px; +} +.imgSpanIcon1 { + width: 22px; + height: 22px; + position: absolute; + right: -11px; + top: -11px; +} + +.topImg { + position: absolute; + width: 100px; + height: 100px; + background: rgba(0, 0, 0, 0.48); + border-radius: 4px; +} + +button.newBtn { + width: 200px; + background-color: var(--color-ysd); +} + +.quickapply { + position: relative; + display: flex; + align-items: center; + justify-content: space-between; + min-height: 54px; + margin-bottom: 0; + padding: 12px 10px 12px 14px; + /* padding-bottom: 48px; */ + background-color: #fff; + /* border-radius: 6px; */ +} + +.quickapply .upload .t-icon { + width: 46px; + height: 46px; + margin-right: 10px; + background-repeat: no-repeat; +} +.quickapply .upload { + display: flex; + align-items: center; +} +.quickapply .info view:first-child { + font-size: 17px; + font-weight: 500; + color: #333; +} +.quickapply .info view:last-child { + font-size: 14px; + color: #ccc; +} +.quickapply .idCardPreview ,.quickapply .idCardPreview image{ + width: 28px; + height: 28px; + border-radius: 2px; +} +.quickapply .idCardPreview .t-icon { + width: 100%; + height: 100%; +} +.input__placeholder{ + color: #ccc; +} +.weui-input{ + color: #333; +} diff --git a/pages/returnMessage/index.js b/pages/returnMessage/index.js new file mode 100644 index 0000000..04f3104 --- /dev/null +++ b/pages/returnMessage/index.js @@ -0,0 +1,106 @@ +// pages/returnMessage/index.js +const app = getApp(); +Page({ + /** + * 页面的初始数据 + */ + data: { + success: false, + fail: false, + from: "", + messageInfo: "", + status: null, + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + console.log(options); + let type = options.type; + this.setData({ + [type]: true, + messageInfo: options.msg, + from: options.from, + }); + if (options.status) { + this.setData({ + status: options.status, + }); + } + console.log(this.data); + // if(app.isNotEmptyCheck(wx.getStorageSync('agencyId'))){ + // wx.removeStorage('agencyId') + // } + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() {}, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() {}, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() {}, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() {}, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() {}, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() {}, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1() {}, + finish() { + // if (wx.getStorageSync("comeFromPage")) { + // let from = wx.getStorageSync("comeFromPage"); + // wx.navigateTo({ + // url: `/pages/${from}/index`, + // }); + // console.log(wx.getStorageSync("comeFromPage")); + // } + wx.switchTab({ + url: '../index/index', + }) + // wx.navigateBack({ + // delta: 2, + // }); + }, + /** + * 点击返回我的 + * + * + */ + toMine(e) { + console.log(e); + wx.switchTab({ + url: '../index/index', + }) + // if (this.data.from == "bill") { + // wx.reLaunch({ + // url: "/pages/firstBill/index", + // }); + // } else if (this.data.from == "real") { + // wx.reLaunch({ + // url: "/pages/mine/index", + // }); + // } + }, +}); diff --git a/pages/returnMessage/index.json b/pages/returnMessage/index.json new file mode 100644 index 0000000..da7c217 --- /dev/null +++ b/pages/returnMessage/index.json @@ -0,0 +1,5 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "" + +} \ No newline at end of file diff --git a/pages/returnMessage/index.wxml b/pages/returnMessage/index.wxml new file mode 100644 index 0000000..573b5fb --- /dev/null +++ b/pages/returnMessage/index.wxml @@ -0,0 +1,10 @@ + + + + {{messageInfo}} + + {{'错误代码:' + status}} + + 完成 + + diff --git a/pages/returnMessage/index.wxss b/pages/returnMessage/index.wxss new file mode 100644 index 0000000..d9db717 --- /dev/null +++ b/pages/returnMessage/index.wxss @@ -0,0 +1,15 @@ +.container{ + display: flex; + flex-direction: column; + justify-content: start; + height: 100%; + text-align: center; +} +.iconfont{ + font-size: 70px; + margin-top: 100px; +} +.loginOut{ + margin: 0 auto; + margin-top: 120px; +} \ No newline at end of file diff --git a/pages/secret/index.js b/pages/secret/index.js new file mode 100644 index 0000000..0587f42 --- /dev/null +++ b/pages/secret/index.js @@ -0,0 +1,66 @@ +// pages/secret/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/secret/index.json b/pages/secret/index.json new file mode 100644 index 0000000..b744980 --- /dev/null +++ b/pages/secret/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "隐私政策", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/secret/index.wxml b/pages/secret/index.wxml new file mode 100644 index 0000000..e4de075 --- /dev/null +++ b/pages/secret/index.wxml @@ -0,0 +1,124 @@ + + 隐私政策您使用或继续使用我们的服务,即意味着同意我们按照本《隐私政策》收集、使用、储存和分享您的相关信息。 + + \n我们可能收集的信息 + 我们提供服务时,可能会收集、储存和使用下列与您有关的信息。如果您不提供相关信息,可能无法享受我们提供的某些服务,或者无法达到相关服务拟达到的效果。 + + \n您提供的信息 + 您在使用我们的服务时,向我们提供的相关个人信息,例如姓名、性别、电话号码、身份证号等; + 您通过我们的服务向其他方提供的共享信息,以及您使用我们的服务时所储存的信息。 + + \n其他方分享的您的信息 + 其他方使用我们的服务时所提供有关您的共享信息。 + + \n我们获取的您的信息 + 您使用服务时我们可能收集如下信息: + 日志信息,指您使用我们的服务时,系统可能通过cookies、web beacon或其他方式自动采集的技术信息,包括: + 设备或软件信息,例如您的移动设备、网页浏览器或用于接入我们服务的其他程序所提供的配置信息、您的IP地址和移动设备所用的版本和设备识别码; + 在使用我们服务时搜索或浏览的信息,例如您使用的网页搜索词语、访问的社交媒体页面url地址,以及您在使用我们服务时浏览或要求提供的其他信息和内容详情; + 有关您曾使用的移动应用(APP)和其他软件的信息,以及您曾经使用该等移动应用和软件的信息; + 位置信息,指您开启设备定位功能并使用我们基于位置提供的相关服务时,收集的有关您位置的信息,包括: + 您通过具有定位功能的移动设备使用我们的服务时,通过GPS或WiFi等方式收集的您的地理位置信息; + 您或其他用户提供的包含您所处地理位置的实时信息,例如您提供的账户信息中包含的您所在地区信息,您或其他人上传的显示您当前或曾经所处地理位置的共享信息; + 您可以通过关闭定位功能,停止对您的地理位置信息的收集,不过可能会影响您使用天气及其他部分功能。 + + \n我们可能如何使用信息 + 我们可能将在向您提供服务的过程之中所收集的信息用作下列用途: + \n 1.向您提供服务; + \n 2.在我们提供服务时,用于身份验证、客户服务、安全防范、诈骗监测、存档和备份用途,确保我们向您提供的产品和服务的安全性; + \n 3.帮助我们设计新服务,改善我们现有服务; + \n 4.使我们更加了解您如何接入和使用我们的服务,从而针对性地回应您的个性化需求,例如语言设定、位置设定、个性化的帮助服务和指示,或对您和其他用户作出其他方面的回应; + 软件认证或管理软件升级; + + \n让您参与有关我们产品和服务的调查。 + 为了让您有更好的体验、改善我们的服务或您同意的其他用途,在符合相关法律法规的前提下,我们可能将通过某一项服务所收集的信息,以汇集信息或者个性化的方式,用于我们的其他服务。例如,在您使用我们的一项服务时所收集的信息,可能在另一服务中用于向您提供特定内容,或向您展示与您相关的、非普遍推送的信息。如果我们在相关服务中提供了相应选项,您也可以授权我们将该服务所提供和储存的信息用于我们的其他服务。 + + \n您如何访问和控制自己的个人信息 + 我们将尽一切可能采取适当的技术手段,保证您可以访问、更新和更正自己的注册信息或使用我们的服务时提供的其他个人信息。在访问、更新、更正和删除前述信息时,我们可能会要求您进行身份验证,以保障账户安全。 + + \n我们可能分享的信息 + 除以下情形外,未经您同意,我们不会与任何第三方分享您的个人信息: + 我们可能将您的个人信息与第三方服务供应商、承包商及代理(例如代表我们发出电子邮件或推送通知的通讯服务提供商、为我们提供位置数据的地图服务供应商)分享(他们可能并非位于您所在的法域),用作下列用途: + \n 向您提供我们的服务; + \n 实现“我们可能如何使用信息”部分所述目的; + \n 履行我们在本《隐私政策》中的义务和行使我们的权利; + \n 理解、维护和改善我们的服务。 + \n 如我们与任何上述第三方分享您的个人信息,我们将努力确保该等第三方在使用您的个人信息时遵守本《隐私政策》及我们要求其遵守的其他适当的保密和安全措施。 + \n 随着我们业务的持续发展,我们有可能进行合并、收购、资产转让或类似的交易,您的个人信息有可能作为此类交易的一部分而被转移。我们将在转移前通知您。 + \n 我们还可能为以下需要而保留、保存或披露您的个人信息: + \n 遵守适用的法律法规; + \n 遵守法院命令或其他法律程序的规定; + \n 遵守相关政府机关的要求; + \n 为遵守适用的法律法规、维护社会公共利益,或保护我们的客户、我们、其他用户的人身和财产安全或合法权益所合理必需的用途。 + + \n信息安全 + 我们仅在本《隐私政策》所述目的所必需的期间和法律法规要求的时限内保留您的个人信息。 我们使用各种安全技术和程序,以防信息的丢失、不当使用、未经授权阅览或披露。例如,在某些服务中,我们将利用加密技术(例如SSL)来保护您提供的个人信息。但请您理解,由于技术的限制以及可能存在的各种恶意手段,在互联网行业,即便竭尽所能加强安全措施,也不可能始终保证信息百分之百的安全。您需要了解,您接入我们的服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。 + + \n您分享的信息 + 我们的多项服务,可让您不仅与自己的社交网络,也与使用该服务的所有用户公开分享您的相关信息,例如,您在我们的服务中所上传或发布的信息(包括您公开的个人信息、您建立的名单)、您对其他人上传或发布的信息作出的回应,以及包括与这些信息有关的位置数据和日志信息。使用我们服务的其他用户也有可能分享与您有关的信息(包括位置数据和日志信息)。特别是,我们的社交媒体服务,是专为使您与世界各地的用户共享信息而设计,您可以使共享信息实时、广泛地传递。只要您不删除共享信息,有关信息会一直留存在公共领域;即使您删除共享信息,有关信息仍可能由其他用户或不受我们控制的非关联第三方独立地缓存、复制或储存,或由其他用户或该等第三方在公共领域保存。 + \n 因此,请您谨慎考虑通过我们的服务上传、发布和交流的信息内容。在一些情况下,您可通过我们某些服务的隐私设定来控制有权浏览您共享信息的用户范围。如要求从我们的服务中删除您的相关信息,请通过该等特别服务条款提供的方式操作。 + + \n您分享的敏感个人信息 + 某些个人信息因其特殊性可能被认为是敏感个人信息,例如您的拍照、相机等。相比其他个人信息,敏感个人信息受到更加严格的保护。 + \n 请注意,您在使用我们的服务时所提供、上传或发布的内容和信息,可能会泄露您的敏感个人信息。您需要谨慎地考虑,是否在使用我们的服务时披露相关敏感个人信息。 + 您同意按本《隐私政策》所述的目的和方式来处理您的敏感个人信息。 + + \n收集信息类型与用途 + 平台出于对本政策所述的以下目的,收集和使用您的个人信息。除非为实现基本业务功能或按照相关法律法规必须收集,拒绝提供以下信息仅会使你无法使用相关特定功能,但不影响您正常使用河南省老干部大学的其他功能: + \n 记住您的身份:例如:cookies和web beacon有助于我们辨认您作为我们的注册用户的身份,或保存您向我们提供的有关您的喜好或其他信息; + \n 版本升级:版本升级使用了BuglySDk进行管理。 + \n 展示信息:展示职位详情、用户协议、隐藏政策,使用了webview的腾讯浏览服务SDK来完成。 + + \n广告服务 + 我们可能使用您的相关信息,向您提供与您更加相关的广告。 + 我们也可能使用您的信息,通过我们的服务、电子邮件或其他方式向您发送营销信息,提供或推广我们或第三方的如下商品和服务: + \n 我们的服务,我们的关联单位和合作伙伴的商品或服务,包括即时通讯服务、网上媒体服务、互动娱乐服务、社交网络服务、付款服务、互联网搜索服务、位置和地图服务、应用软件和服务、数据管理软件和服务、网上广告服务、互联网金融,以及其他社交媒体、娱乐、电子商务、资讯和通讯软件或服务(统称“互联网服务”); + \n 第三方互联网服务供应商,以及与下列有关的第三方商品或服务:食物和餐饮、体育、音乐、电影、电视、现场表演及其他艺术和娱乐、书册、杂志和其他刊物、服装和配饰、珠宝、化妆品、个人健康和卫生、电子、收藏品、家用器皿、电器、家居装饰和摆设、宠物、汽车、酒店、交通和旅游、银行、保险及其他金融服务、会员积分和奖励计划,以及我们认为可能与您相关的其他商品或服务。 + \n 如您不希望我们将您的个人信息用作前述广告用途,您可以通过我们在广告中提供的相关提示,或在特定服务中提供的指引,要求我们停止为上述用途使用您的个人信息。 + + \n我们可能向您发送的邮件和信息 + 邮件和信息推送 + \n 您在使用我们的服务时,我们可能使用您的信息向您的设备发送电子邮件、新闻或推送通知。如您不希望收到这些信息,可以按照我们的相关提示,在设备上选择取消订阅。 + \n 与服务有关的公告 + \n 我们可能在必要时(例如因系统维护而暂停某一项服务时)向您发出与服务有关的公告。您可能无法取消这些与服务有关、性质不属于推广的公告。 + \n 隐私政策的适用例外 + \n 我们的服务可能包括或链接至第三方提供的社交媒体或其他服务(包括网站)。例如: + \n 您利用 “分享”键将某些内容分享到我们的服务,或您利用第三方连线服务登录我们的服务。这些功能可能会收集您的相关信息(包括您的日志信息),并可能在您的电脑装置cookies,从而正常运行上述功能; + \n 我们通过广告或我们服务的其他方式向您提供链接,使您可以接入第三方的服务或网站。 + \n 该等第三方社交媒体或其他服务可能由相关的第三方或我们运营。您使用该等第三方的社交媒体服务或其他服务(包括您向该等第三方提供的任何个人信息),须受该第三方的服务条款及隐私政策(而非《通用服务条款》或本《隐私政策》)约束,您需要仔细阅读其条款。本《隐私政策》仅适用于我们所收集的信息,并不适用于任何第三方提供的服务或第三方的信息使用规则,我们对任何第三方使用由您提供的信息不承担任何责任。 + \n 隐私政策的适用范围 + \n 除某些特定服务外,我们所有的服务均适用本《隐私政策》。这些特定服务将适用特定的隐私政策。针对某些特定服务的特定隐私政策,将更具体地说明我们在该等服务中如何使用您的信息。该特定服务的隐私政策构成本《隐私政策》的一部分。如相关特定服务的隐私政策与本《隐私政策》有不一致之处,适用该特定服务的隐私政策。 + 请您注意,本《隐私政策》不适用于以下情况: + 通过我们的服务而接入的第三方服务(包括任何第三方网站)收集的信息; + 通过在我们服务中进行广告服务的其他公司或机构所收集的信息。 + + \n变更 + 我们可能适时修订本《隐私政策》的条款,该等修订构成本《隐私政策》的一部分。如该等修订造成您在本《隐私政策》下权利的实质减少,我们将在修订生效前通过在主页上显著位置提示或向您发送电子邮件或以其他方式通知您。在该种情况下,若您继续使用我们的服务,即表示同意受经修订的本《隐私政策》的约束。 + + \n用户协议 + (以下简称“本平台”)按照下列条款与条件提供信息和产品,您在本协议中亦可被称为“用户”,以下所述条款和条件将构成您与本平台,就您使用提供的内容所达成的全部协议(以下称“本协议”)。 + + \n权利声明 + 1、本平台及其关联单位(关联单位指与本平台存在直接或间接管理关系)享有并保留以下各项内容完整的、不可分割的所有权及/或知识产权: + \n (1)相关的软件、技术、程序、代码、用户界面等; + \n (2)本服务相关的商标、图形标记。 + \n 2、本平台提供的服务内容中所涉及的文字、软件、声音、图片、动画、录像、图表等,均受相关知识产权法以及其他相关法律的保护。未经本平台或者其他相关权利人授权,用户不得复制、使用、修改、摘编、翻译、发行,第三方未经本平台及/或其相关权利人的书面许可,不得以任何方式擅自进行使用。 + + \n责任限制 + 1、本平台向用户提供的服务均是在依"现状"提供,本平台在此明确声明对本服务不作任何明示或暗示的保证,包括但不限于对服务的可适用性、准确性、及时性、可持续性等。 + \n 2、用户理解并同意自行承担使用本服务的风险,且用户在使用本服务时,应遵循中国法律的相关规定,由于用户行为所造成的任何损害和后果,本平台均不承担除法律有明确规定外的责任。 + \n 3、不论在何种情况下,本平台均不对由于网络连接故障、通讯线路、第三方网站、电脑硬件等任何原因给用户造成的任何损失承担除法律有明确规定外的责任。 + + \n用户行为规范 + 1、用户在本网站注册时,不得使用虚假身份信息。用户应当妥善保存其账户信息和密码,由于用户泄密所导致的损失需由用户自行承担。如用户发现他人冒用或盗用其账户或密码,或其账户存在其他未经合法授权使用之情形,应立即以有效方式通知本平台。用户理解并同意本平台有权根据用户的通知、请求或依据判断,采取相应的行动或措施,包括但不限于冻结账户、限制账户功能等,本平台对采取上述行动所导致的损失不承担除法律有明确规定外的责任。 + \n 2、用户在使用本服务时须遵守法律法规,不得利用本服务从事违法违规行为,包括但不限于: + \n (1)发布、传送、传播、储存危害国家安全统一、破坏社会稳定、违反公序良俗、侮辱、诽谤、淫秽、暴力以及任何违反国家法律法规的内容; + \n (2)发布、传送、传播、储存侵害他人知识产权、商业秘密等合法权利的内容; + \n (3)恶意虚构事实、隐瞒真相以误导、欺骗他人; + \n (4)发布、传送、传播广告信息及垃圾信息; + \n (5)其他法律法规禁止的行为。 + \n 3、用户不得利用本服务进行任何有损本平台及其关联单位之权利、利益及商誉,或其他用户合法权利之行为。 + \n 4、用户不得基于本服务从事侵害本平台合法权益的行为。如有违反,本平台将依据中国现行法律法规及本平台的相关规定予以处理。 + \n 5、用户不得从事任何利用本平台平台系统漏洞进行有损其他用户、本平台或互联网安全的行为。 + \n 6、用户知悉并确认,本平台通过公告、邮件、短信、账户通知以及用户在账户中登记的即时通讯工具等方式,向用户发出关于本服务的通知、规则、提示等信息,均为有效通知。该等信息一经公布或发布,即视为已送达至用户。 + diff --git a/pages/secret/index.wxss b/pages/secret/index.wxss new file mode 100644 index 0000000..a7319b4 --- /dev/null +++ b/pages/secret/index.wxss @@ -0,0 +1 @@ +/* pages/secret/index.wxss */ \ No newline at end of file diff --git a/pages/secret/secret.zip b/pages/secret/secret.zip new file mode 100644 index 0000000000000000000000000000000000000000..c06bee48fcfbf059c44512f03a2f611c650ab07b GIT binary patch literal 7527 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 literal 0 HcmV?d00001 diff --git a/pages/serviceTerm/index.js b/pages/serviceTerm/index.js new file mode 100644 index 0000000..c1226c8 --- /dev/null +++ b/pages/serviceTerm/index.js @@ -0,0 +1,66 @@ +// pages/serviceTerm/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage1: function () { + + } +}) \ No newline at end of file diff --git a/pages/serviceTerm/index.json b/pages/serviceTerm/index.json new file mode 100644 index 0000000..9d79919 --- /dev/null +++ b/pages/serviceTerm/index.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "用户服务协议", + "backgroundColor": "#f5f5f5" +} \ No newline at end of file diff --git a/pages/serviceTerm/index.wxml b/pages/serviceTerm/index.wxml new file mode 100644 index 0000000..872ea5f --- /dev/null +++ b/pages/serviceTerm/index.wxml @@ -0,0 +1,333 @@ + + 欢迎您阅读本公司平台用户服务协议! +本协议发布之日起,本公司的网站平台、软件系统、APP、公众号、小程序等均适用本平台服务协议指本协议。 +\n各服务条款前所列索引关键词仅为帮助您理解该条款表达的主旨之用,不影响或限制本协议条款的含义或解释。为维护您自身权益,建议您仔细阅读各条款具体表述。 +0.1【审慎阅读】录流程中,点击同意本协议之前,应当认真阅读(未成年人应当在监管人陪同下阅读)本协议。请您务必审慎阅读、充分理解各条款内容,特别是免除或者限制责任的条款、法律适用和争议解决条款。免除或者限制责任的条款将以粗体下划线标识,您应重点阅读。如您对协议有任何疑问,可向本公司平台客服咨询。 + +0.2【签约动作】当您按照登录、注册页面提示填写信息、阅读并同意本协议且完成全部注册程序后,即表示已充分阅读、理解并接受本协议的全部内容,并与本公司应用达成一致,成为本公司用户。阅读本协议的过程中,如果您不同意本协议或其中任何条款约定,您应立即停止注册、登录程序。 + +0.3【协议变更】在您签署本协议之后,此文本可能因国家政策、产品以及履行本协议的环境发生变化而进行修改,修改后的协议发布在本公司平台上,并以本协议第九条约定的方式通知您。若您对修改后的协议有异议的,请立即停止登录、使用本公司平台产品及服务,若您登录或继续使用本公司平台产品或服务,视为对修改后的协议予以认可。 + +0.4【补充协议】由于互联网高速发展,您与本应用签署的协议列明的条款并不能完整罗列并覆盖您与本公司的所有权利与义务,现有的约定也不能保证完全符合未来发展的需求。因此,本应用法律声明及隐私权政策、规则均为本协议的补充协议,与本协议不可分割且具有同等法律效力。如您使用本公司服务,视为您同意上述补充协议。各补充协议的变更效力参照0.3款的约定。 + +\n一、 定义 + +本公司平台: 指包括网站官网,APP、公众号等网站及客户端。 + +本公司平台规则: 包括所有在应用平台上已经发布及后续发布的全部规则、解读、实施细则、产品流程说明、公告等内容。 + +用户: 下称“您”或“用户”,是指注册、登录、使用该应用平台的个人或组织,包括但不限于该应用平台入驻机构。 + + +\n二、 协议范围 + +2.1 签约主体 + +【签约主体】本协议由您与本应用平台经营者共同订立,本协议对您与本应用平台经营者均具有约束力。 + +【经营者信息】本应用平台经营者是指经营本应用平台的法律主体。 + +【经营者变更】本协议项下,本应用平台经营者可能根据平台的业务调整而发生变更,变更后的平台经营者与您共同履行本协议并向您提供服务,本应用平台经营者的变更不会影响您本协议项下的权益。 + +\n三、 账号注册与使用 + +3.1 用户资格 + +【用户资格】您确认,在您开始注册程序使用本应用平台服务前,您应当具备中华人民共和国法律规定的与您行为相适应的民事行为能力。若您不具备前述与您行为相适应的民事行为能力,则您及您的监护人应依照法律规定承担因此而导致的一切后果。 + +此外,您还需确保您符合中国法律的各项规定,不是任何国家、国际组织或者地域法律、规则限制的对象,否则您可能无法正常注册及使用本应用平台服务。 + +3.2 用户账号说明 + +【用户账号获得】 当您使用您的第三方平台账号,登录本应用平台,即在本应用平台创建等同于您的第三方平台账号的本应用账号。在您的应用账号绑定您的手机号后,您的手机号也具有您的本应用账号的同等效力。 + +【用户账号使用】 您有权使用您设置或确认的本应用用户账号登录本应用平台,以及通过机构ID登录本应用。 + +本应用平台只允许每位用户使用一个本应用平台账号。 + +由于您的本应用账号关联您的个人信息及本应用平台的商业信息,您的本应用账号仅限于您本人使用。未经本应用平台同意,您直接或间接授权第三方使用您本应用账号的行为无效。如经本应用平台判断,您的本应用账号的使用可能危及您的账号安全或本应用平台信息安全的,本应用平台可拒绝提供相应服务或终止本协议。 + +【用户账号转让】 您在本应用平台的账号不得以任何方式转让,否则本应用平台有权追究您的违约责任,且由此产生的一切责任均由您承担。 + +【实名认证】 为使您更好地使用本应用平台的各项服务,保障您的账号安全,本应用课可要求您按我国法律规定完成实名认证。 + +【不活跃账号回收】 如您的账号同时符合以下条件,则本应用可回收您的账号,您的账号将不能再登录本应用平台,并按本协议第十条的约定处理: + +(一)未按要求完成实名认证; + +(二)连续70天未用于登录本应用平台; + +(三)不存在未到期的有效业务。 + +3.3 用户信息管理 + +3.3.1 真实合法 +【名称合法】 您在本应用平台设置的以下名称,包括但不限于用户名称、机构名称等,不得违反国家法律法规以及本应用平台关于此类名称的管理规定,否则本应用平台可限制、禁止您使用本应用平台的相关服务,或按照本协议的违约处理措施进行处理。 + +3.3.2 更新维护 + +【信息更新】 您应当及时更新您提供的信息,在法律有明确规定要求本应用平台作为网络服务提供者必须对用户的信息进行核实的情况下,本应用将依法不时地对您的信息进行检查核实,您应当配合提供最新、真实、完整、有效的信息。 + +【信息维护】 存在以下任一条件时,本应用可向您发出询问或要求整改的通知,并要求您进行重新认证,直至中止、终止对您提供部分或全部本应用平台服务,本应用对此不承担责任,您将承担对您自身、他人及本应用造成的全部损失与不利后果。 + +(一)本应用按您最后一次提供的信息与您联系未果; + +(二)您未按本应用的要求及时提供信息; + +(三)您提供的信息存在明显不实; + +(四)司法行政机关核实您提供的信息无效。 + +3.4 账号安全规范 + +【账号安全保管义务】 您通过第三方平台账号或手机号登录本应用平台,本应用任何时候均不会主动要求您提供您的第三方平台账号的密码或手机短信验证码。因此,建议您务必保管好您的第三方平台账号和手机,并确保您在每个上网时段结束时退出登录并以正确步骤离开本应用平台。 + +【账号损失】 因您主动泄露账号或因您遭受他人攻击、诈骗等行为导致的损失及后果,本应用对此不承担责任,您应通过司法、行政等救济途径向侵权行为人追偿。 + +【账号行为责任自负】 除本应用存在过错外,您应对您账号项下的所有行为结果负责。 + +【日常维护须知】 如发现任何未经授权使用您账号登录本应用平台或其他可能导致您账号遭窃、遗失的情况,建议您立即通知本应用。您理解本应用对您的任何请求采取行动均需要合理时间,且本应用应您的请求而采取的行动可能无法避免或阻止侵害后果的形成或扩大,除本应用存在法定过错外,本应用不承担责任。 + +\n四、 本应用平台服务及规范 + +4.1 禁止行为 + +【禁止行为】 您不得在本应用平台上从事以下行为: + +(一)利用本应用平台发表、传送、传播、储存危害国家安全、国家统一、社会稳定的内容; + +(二)利用本应用平台发表侮辱、诽谤、色情、暴力、引起他人不安及任何违反国家法律法规政策的内容; + +(三)利用本应用平台发表、传送、传播、储存侵害他人知识产权、商业秘密、肖像权、隐私权等合法权利的内容; + +(四)利用本应用平台发表欺诈、虚假、不准确、存在误导性的信息,或冒充、利用他人名义进行活动; + +(五)利用本应用平台从事任何违法犯罪活动; + +(六)发布破坏、篡改、删除、影响本应用平台任一系统正常运行或未经授权秘密获取本应用平台及其他用户数据、个人资料的病毒、木马、爬虫等恶意软件、程序代码; + +(七)发布其他违背社会公共利益、公共道德或依据本协议或本应用平台规则不适合在本应用平台上发布的信息; + +(八)在本应用平台上贬低、诋毁竞争对手,干扰本应用平台上进行的任何交易、活动,或以任何方式干扰或试图干扰本应用平台的正常运作; + +(九)其他违反中华人民共和国相关法律法规及国家政策的行为。 + +4.2 交易争议处理 + +【交易争议处理】 您在本应用平台交易过程中与其他用户发生争议的,您或其他用户中的任何一方均有权选择以下途径解决: + +(一)与争议相对方自主协商; + +(二)向本应用平台客服申请协助解决争议; + +(三)请求消费者协会或者其他依法成立的调解组织调解; + +(四)向有关行政部门投诉; + +(五)根据与争议相对方达成的仲裁协议(如有)提请仲裁机构仲裁; + +(六)向人民法院提起诉讼。 + +4.3 免责条款 + +【不可抗力及第三方原因】 本应用依照法律规定履行基础保障义务,但对于下述原因导致的合同履行障碍、履行瑕疵、履行延后或履行内容变更等情形,本应用不承担相应的违约责任: + +(一)因自然灾害、罢工、暴乱、战争、政府行为、司法行政命令等不可抗力因素; + +(二)因电力供应故障、通讯网络故障等公共服务因素或网络流量拥堵、黑客攻击等第三人因素; + +(三)在本应用已尽善意管理的情况下,因常规或紧急的设备与系统维护、设备与系统故障、网络信息与数据安全等因素。 + +\n五、 用户信息的保护及例外 + +5.1 用户信息保护 + +【信息保护注意事项】 本应用非常重视用户个人信息的保护,在您使用本应用提供的服务时,您同意本应用按照在本应用平台上公布的隐私权政策收集、存储、保护、使用和披露您的个人信息。本应用希望通过隐私权政策向您清楚地介绍本应用对您个人信息的处理方式,因此本应用建议您完整地阅读隐私权政策(详情见本应用帮助手册),以帮助您更好地保护您的隐私权。除此以外,您需要特别注意以下几点: + +(一)请您勿在使用本应用平台服务过程中透露您的各类财产帐户、银行卡、信用卡、第三方支付账号及对应密码等重要资料,否则由此带来的任何损失由您自行承担; + +(二)您的注册信息是本应用平台的重要保护内容,本应用将采取必要的技术保护措施。但由于互联网的开放性以及技术的迅猛发展,可能因第三方因素导致您的信息泄漏,本应用平台对此不承担责任; + +(三)本应用平台的服务具有公开性,若您将个人隐私信息上传、发表至本应用平台,或通过本应用平台传播给其他人,由此引起隐私的泄漏,本应用对此不承担责任; + +(四)由于您将账号信息告知他人或与他人共享账号,由此导致的任何个人隐私的泄漏,本应用对此不承担责任; + +(五)若您是未成年人,您在本应用平台上发表或上传信息前,应咨询您的监护人并取得监护人的同意。 + +5.2 第三方合作信息互通 + +【第三方合作信息互通】 为提升本应用的质量,本应用平台可能会与第三方合作共同向您提供相关的本应用服务,此类合作可能需要包括但不限于本应用用户数据与第三方用户数据的互通。在此情况下,您知晓并同意如该第三方同意承担与本应用平台同等的保护用户隐私的责任,则本应用平台有权将您的注册资料等提供给该第三方,并与第三方约定您的数据仅为双方合作的本应用之目的使用; + +并且,本应用将对该等第三方使用您的数据的行为进行监督和管理,尽一切合理努力保护您的个人信息的安全性。 + +5.3 用户信息保护的例外 + +【信息保护例外】 保护用户隐私和其他个人信息是本应用的一项基本政策,本应用保证不会将您的注册资料及您在使用本应用平台时存储在本应用的非公开内容用于任何用途,但下列情况除外: + +(一)您自行在网络上公开的信息或其他已合法公开的个人信息; + +(二)以合法渠道获取的个人信息; + +(三)事先获得您的明确授权; + +(四)为维护社会公共利益; + +(五)本应用或学校、科研机构等基于公共利益为学术研究或统计的目的,且公开方式不足以识别特定自然人; + +(六)您侵害本应用合法权益,为维护前述合法权益且在必要范围内; + +(七)根据相关政府主管部门或根据相关法律法规和政策的要求; + +(八)其他必要情况。 + +\n六、知识产权及相关权利 + +6.1 用户权利通知 + +【用户权利通知】 本应用尊重他人的知识产权和合法权益,呼吁用户也要同样尊重他人的知识产权和他人的合法权益。若您认为您的知识产权或其他合法权益被侵犯,请按照以下规范向本应用平台提供资料。 + +【权利通知格式规范】 为了本应用平台有效处理您发出的权利通知,请您使用以下格式(包括各条款的序号): + +(一)权利人对涉嫌侵权内容拥有知识产权或其他合法权益,依法可以行使知识产权或其他合法权益的权属证明; + +(二)请充分、明确地描述被侵犯了知识产权或其他合法权益的情况并请提供涉嫌侵权的名称或第三方网址(如有); + +(三)请指明涉嫌侵权或其他信息的哪些内容侵犯了第(二)项中列明的权利; + +(四)请提供权利人具体的联络信息,包括姓名、身份证或护照复印件(对自然人)、机构登记证明复印件(对机构)、通信地址、电话号码、传真和电子邮件; + +(五)请提供涉嫌侵权内容在信息网络上的位置,以便我们与您举报的含有侵权内容的所有权人/管理人联系; + +(六)请在权利通知中加入如下关于通知内容真实性的声明:“我保证,本通知中所述信息是充分、真实、准确的,如果本权利通知内容不完全属实,本人将承担由此产生的一切法律责任”; + +(七)请您签署该权利通知,如果您是依法成立的机构或组织,请您加盖公章。 + +【权利通知失实】 如果权利通知的陈述失实,权利通知提交者将承担由此造成的全部法律责任(包括但不限于赔偿各种费用及律师费)。如果您不确定网络上可获取的资料是否侵犯了其知识产权和其他合法权益,本应用建议您首先咨询专业人士。 + +6.2 用户授权 + +【用户授权】 对于用户通过本应用平台上传至可公开(免费或付费)获取区域的任何内容,用户同意本应用在全世界范围内具有免费的、永久性的、不可撤销的、非独家的和完全再许可的权利和许可,以使用、复制、修改、改编、出版、翻译、据以创作衍生作品、传播、表演和展示此等内容(整体或部分),和/或将此等内容编入当前已知的或以后开发的其他任何形式的作品、媒体或技术中。 + +6.3 权利声明 + +【权利声明】 本应用平台所有的产品、技术与所有程序均属于本应用的知识产权,“本应用”相关图形等为本应用的注册商标。未经本应用许可,任何人不得擅自(包括但不限于:以非法的方式复制、传播、展示、镜像、上载、下载)使用,否则本应用将依法追究法律责任。 + +\n七、第三方产品和服务 + +7.1 第三方产品和服务 + +【第三方产品和服务】 本服务可能包含第三方提供的产品或服务。当您使用第三方提供的产品或服务时,可能会另有相关的协议或规则,您同样应当认真阅读并遵守。如您在使用第三方产品或服务时发生任何纠纷的,请您与第三方直接联系,本应用不承担任何责任,但根据需要会依法提供必要的协助。 + +7.2 第三方支付服务 + +【第三方支付服务】用户在本应用平台上进行的包括但不限于上述各种支付活动均直接通过微信支付和财付通等第三方支付服务实现,用户应遵守第三方支付服务协议。因第三方支付服务收取的手续费和导致的资金损失由用户自行承担或根据第三方支付服务的协议处理,本应用不承担相应责任。 + +7.3 代收服务 + +【代收服务】 用户使用本应用代收服务期间,本应用无须对为您保管、代收或代付款项的货币贬值、汇率损失和利息损失及其他风险担责,并且本应用无须向您支付此等款项的任何孳息。 + +7.4 提现服务 + +【提现服务】 根据不同的支付方式,接受资金的用户可在本应用平台上申请提现。根据相关法律法规及第三方支付平台的限制,每位用户每天只能提现一次,单笔提现可能存在一定的提现限额和账期要求。本应用无法提供资金即时到账服务,您认可资金于途中流转需要合理时间。提现指令一旦发出即立即生效、不可撤销,本应用有权根据您发出的提现指令进行支付操作。您应妥善保管您的手机等电子设备以及第三方平台账号及密码、支付密码、短信校验码等信息和资料,因您泄露、遗失、复制、转交前述信息和资料而导致的损失,由您自行承担。 + +\n八、 用户的违约及处理 + +8.1 违约认定 + +【违约情形】 发生如下情形之一的,视为您违约: + +(一)使用本应用平台服务时违反有关法律法规规定; + +(二)违反本协议、本协议补充协议约定或本应用平台规则。 + +【违约认定】 本应用可在本应用平台规则中约定违约认定的程序和标准;您有义务对您的数据或信息的异常现象进行充分举证和合理解释,否则将被认定为违约。 + +8.2 违约处理措施 + +【行为限制】 您在本应用平台上实施的行为,或虽未在本应用平台上实施但对本应用平台及其用户产生影响的行为构成违约的,本应用可依据相应规则对您执行限制参加推广活动、中止向您提供部分或全部服务、划扣违约金等处理措施。如您的行为构成根本违约的,本应用可查封您的账号,终止向您提供服务。 + +【信息移交】 为遵守国家法律、法规,维护社会安全,对于在本应用平台实施违法犯罪活动的用户,本应用将可能冻结账号,并向公安机关移交与违法犯罪活动有关的线索及用户信息。 + +【账号严重风险】 当您违约的同时存在欺诈、售假、盗用他人账号等特定情形或您存在危及他人交易安全或账号安全风险时,或严重影响本应用平台正常运转的,本应用会依照您行为的风险程度对您的账号采取取消收款、终止服务等强制措施。 + +8.3 赔偿责任 + +【赔偿范围】 如您的行为使本应用遭受损失(包括自身的直接经济损失、商誉损失及对外支付的赔偿金、和解款、律师费、诉讼费等间接经济损失),您应赔偿本应用的上述全部损失。 + +【损失追偿】 如您的行为使本应用遭受第三人主张权利,本应用可在对第三人承担金钱给付等义务后就全部损失向您追偿。 + +【资金划扣】 如因您的行为构成严重违法、犯罪或违反相关政策的强制性规定,使得第三人遭受损失的,本应用出于社会公共利益保护或消费者权益保护目的,可从您由本应用代收的资金中划扣相应款项进行支付。如您由本应用代收的资金不足以支付上述赔偿款项的,本应用可直接扣减您在本应用其它协议项下的权益。 + +8.4 特别约定 + +【商业贿赂】 如您向本应用雇员或顾问等提供实物、现金、现金等价物、劳务、旅游等价值明显超出正常商务洽谈范畴的利益,则可视为您存在商业贿赂行为。发生上述情形的,本应用可立即终止与您的所有合作并向您收取违约金及/或赔偿金,该等金额以本应用因您的贿赂行为而遭受的经济损失和商誉损失作为计算依据。 + +【关联处理】 如您因严重违约导致本应用终止本协议的,出于维护平台秩序及保护用户权益的目的,本应用可对本应用与您在其他协议项下的合作采取中止甚或终止协议的措施,并以本协议第九条约定的方式通知您。 + +\n九、 通知 + +9.1 用户有效的联系方式 + +【联系方式真实有效】 您在注册成为本应用平台用户,并接受本应用平台服务时,您应保证使用真实有效的第三方平台账号。如果您绑定您的手机号,您应保证使用本人的手机号。对于联系方式发生变更的,您有义务及时更新有关信息,并保持可被联系的状态。 + +您提供的微信号、手机号或其他联系方式,作为您在本应用平台的有效联系方式。本应用将向您的上述其中之一或若干联系方式向您送达各类通知,而此类通知的内容可能对您的权利义务产生重大的有利或不利影响,请您务必及时关注。 + +9.2 本应用联系方式 + +您对于本应用的通知应当通过本应用平台对外正式公布的通信地址、传真号码、电子邮件地址等联系信息进行送达。 + +9.3 通知的送达 + +【通知送达的方式】 本应用通过上述联系方式向您发出通知,其中以电子方式发出的书面通知,包括但不限于在本应用平台公告,向您提供的联系电话发送手机短信,向您提供的电子邮件地址发送电子邮件,向您的第三方账号(如微信账号)推送本应用公众号消息,在发送成功后即视为送达;以纸质载体发出的书面通知,按照提供联系地址交邮后的第五个自然日即视为送达。 + +【通知送达的法律后果】 你应当保证所提供的联系方式是准确、有效的,并进行实时更新。如果因提供的联系方式不确切,或不及时告知变更后的联系方式,使通知无法送达或未及时送达,由您自行承担由此可能产生的法律后果。 + +\n十、 协议的终止 + +10.1 终止的情形 + +【用户发起的终止】 您有权通过以下任一方式终止本协议: + +(一)变更事项生效前,您停止使用并明示不愿接受变更事项的; + +(二)您明示不愿继续使用本应用平台服务,且符合本应用平台终止条件的。 + +【本应用发起的终止】 出现以下情况时,本应用可以本协议第九条约定的方式通知您终止本协议: + +(一)您违反本协议约定,本应用依据违约条款终止本协议的; + +(二)您盗用他人账号、发布违禁信息、骗取他人财物、侵犯他人知识产权、扰乱市场秩序、采取不正当手段谋利等行为,本应用依据本协议和本应用平台规则对您的账号予以查封的; + +(三)除上述情形外,因您多次违反本应用平台规则相关规定且情节严重,本应用依据本协议及本应用平台规则对您的账号予以查封的; + +(四)您的账号被本应用依据本协议回收的; + +(五)根据法律、法规、政策规定,出于维护公共利益的目的,其它应当终止服务的情况。 + +10.2 协议终止后的处理 + +【用户信息披露】 本协议终止后,除法律有明确规定外,本应用无义务向您或您指定的第三方披露您账号中的任何信息。 + +【本应用权利】 本协议终止后,本应用仍享有下列权利: + +(一)继续保存您留存于本应用平台的本协议的各类信息; + +(二)对于您过往的违约行为,本应用仍可依据本协议向您追究违约责任。 + +【交易处理】 本协议终止后,对于您在本协议存续期间产生的未结清的支付的款项和收取的款项(指存入第三方支付平台或本应用账号,未提现的款项),本应用可通知交易相对方并根据交易相对方的意愿决定是否取消该笔支付。 + +\n十一、 法律适用、管辖与其他 + +11.1 法律适用 + +【法律适用】 本协议之订立、生效、解释、修订、补充、终止、执行与争议解决均适用中华人民共和国大陆地区法律;如法律无相关规定的,参照商业惯例及/或行业惯例。 + +11.2 管辖 + +【管辖】 您因使用本应用平台服务所产生及与本应用平台服务有关的争议,由本应用与您协商解决。协商不成时,任何一方均可向本应用经营者注册地的人民法院提起诉讼。 + +11.3 协议可分性 + +【协议可分性】 本协议任一条款被视为废止、无效或不可执行,该条应视为可分的且并不影响本协议其余条款的有效性及可执行性。 + + \ No newline at end of file diff --git a/pages/serviceTerm/index.wxss b/pages/serviceTerm/index.wxss new file mode 100644 index 0000000..e0dfe39 --- /dev/null +++ b/pages/serviceTerm/index.wxss @@ -0,0 +1 @@ +/* pages/serviceTerm/index.wxss */ \ No newline at end of file diff --git a/pages/serviceTerm/serviceTerm.zip b/pages/serviceTerm/serviceTerm.zip new file mode 100644 index 0000000000000000000000000000000000000000..a0d25246c2e80c430c4dd0655a33c3a8f91a1041 GIT binary patch literal 11041 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 0) { + for (let i = 0; i < brandList.length; i++) { + console.log("level1"); + for (let j = 0; j < selectBrandList.length; j++) { + console.log("level2"); + if (brandList[i].id == selectBrandList[j].id) { + return (brandList[i].checked = true); + } else { + brandList[i].checked = false; + } + } + } + } else { + brandList.forEach((item) => { + item.checked = false; + }); + } + return brandList; + }, + closeFix: function () { + var that = this; + // let brandList = that.close() + // that.data.brandList.forEach((item) => { + // if (that.data.selectBrandList.length > 0) { + // that.data.selectBrandList.forEach((item1) => { + // if (item.id != item1.id) { + // console.log("isSame"); + // item.checked = false; + // console.log(item.checked); + // } else { + // item.checked = true; + // } + // }); + // } else { + // item.checked = false; + // } + // }); + // console.log(that.data.brandList); + // console.log(that.data.selectBrandList); + console.log("isout"); + }, + touchStart(e) { + // console.log("滚起来", e); + // this.setData({ + // scrollStop: false + // }) + this.setData({ + // whichOneShow: mark, + siv: "", + }); + }, + choosenTop(e) { + var that = this; + // that.data.storeJobListSearchForm.pageNum = 1; + let id = e.currentTarget.dataset.id; + setTimeout(() => { + that.setData({ + toped: id, + // isScrollTop: false, + }); + }, 0); + // 切换标准 简版 重新查询列表 + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // toped: id, + // recordList: [], + // }); + // that.getJobList(); + }, + + chooseNl: function (e) { + var that = this; + console.log(e); + let mark = ""; + let type = e.target.dataset.type; + let whichOneShow = that.data.whichOneShow; + // if (!that.data.isLogin) { + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + // return; + // } + if (type == "gj") { + if (whichOneShow == "gj") { + mark = ""; + } else { + mark = "gj"; + } + } else if (type == "sex") { + if (whichOneShow == "sex") { + mark = ""; + } else { + mark = "sex"; + } + } else if (type == "brand") { + if (whichOneShow == "brand") { + mark = ""; + } else { + mark = "brand"; + } + } else if (type == "special") { + if (whichOneShow == "special") { + mark = ""; + } else { + mark = "special"; + } + } + if (that.data.siv != "menu") { + setTimeout(() => { + that.setData({ + whichOneShow: mark, + // siv:'menu' + }); + console.log(this.data.whichOneShow); + }, 0); + that.setData({ + siv: "menu", + scrollTo: "sticky", + }); + } + this.hideLeft(); + }, + toSpecialArea: function (e) { + var id = e.currentTarget.dataset.id; + wx.navigateTo({ + url: "../specialArea/index?id=" + id, + }); + }, + chooseM: function (e) { + var str = e.currentTarget.dataset.id; + console.log(str); + this.setData({ + activez: str, + }); + }, + watch() {}, + witchNav(e) { + console.log(e); + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + if (e.currentTarget.dataset.title == "成为代理") { + console.log("成为代理"); + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.showToast({ + title: "您已经是代理了", + icon: "none", + duration: 2000, + }); + return; + } + } else if (e.currentTarget.dataset.title == "主推/热推") { + wx.navigateTo({ + url: e.currentTarget.dataset.url + "?listtype=" + this.data.toped, + }); + return; + } + + wx.navigateTo({ + url: e.currentTarget.dataset.url, + }); + }, + toHot(e) { + if (e.currentTarget.dataset.path) { + if (e.currentTarget.dataset.path == "/pages/hotList/index") { + wx.navigateTo({ + url: `${e.currentTarget.dataset.path}?listtype=${this.data.toped}`, + }); + } + } + }, + choiceSex(e) { + var that = this; + let data = e.currentTarget.dataset; + that.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + // let str = that.data.sexid + console.log(e); + let str = e.currentTarget.dataset.id; + console.log(str); + if (str == "1") { + that.data.secondMenu = "男生"; + } else if (str == "2") { + that.data.secondMenu = "女生"; + } else if (str == "-1") { + that.data.secondMenu = "不限"; + } + that.setData({ + sexid: str, + secondMenu: this.data.secondMenu, + }); + that.data.storeJobListSearchForm.pageNum = 1; + that.data.storeJobListSearchForm.sex = str; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + filterData: that.data.filterData, + innerFilter: true, + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + whichOneShow: "", + }); + }); + }, + onScrollRefresh: function () { + var that = this; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + + // setTimeout(function(){ + // that.setData({ + // recordList: [],: false, + // }) + // },2000); + }, + + cc: function () {}, + close: function () { + this.setData({ + dialog1: false, + dialog2: false, + phoneDialog: false, + }); + }, + searchKey: function (e) { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + console.log(e); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = this.data.inputVal; + this.getJobList(); + }, + onShareAppMessage: function () { + var path = commonUtil.getCurrentPageUrlWithArgs(); + if (app.globalData.isLogin && app.globalData.agencyStatus - 0 != 0) { + //当前用户是代理人 + path += (path.indexOf("?") >= 0 ? "&" : "?") + "agencyUserId=" + app.globalData.loginUserInfo.id; + } + console.log(path); + let img; + + this.data.templateList.forEach((element) => { + if (element.title == "职位云小程序首页卡片分享封面") { + img = element.img + "?" + new Date().getTime(); + } + }); + return { + title: " ", + path: path, + imageUrl: img, + }; + }, + goSearch() { + if (!this.data.isLogin) { + wx.navigateTo({ + url: "../login/index", + }); + return; + } + wx.navigateTo({ + url: `../jobListSearch/index?from=project&listtype=${this.data.toped}&key=${this.data.placeholderText}`, + }); + }, + clearInput: function () { + this.setData({ + inputVal: "搜索工作", + chaShowed: false, + inputShowed: false, + hasMoreData: true, + }); + this.inputBlur(); + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + }, + inputTyping: function (e) { + this.setData({ + inputVal: e.detail.value, + }); + console.log(this.data.inputVal == ""); + if (this.data.inputVal == "") { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.data.storeJobListSearchForm.keys = ""; + this.getJobList(); + } + }, + /** + * 清除本地缓存 + * + * + */ + clear() { + wx.clearStorage(); + + console.log("清除成功"); + }, + inputBlur() {}, + getListByTypeAndIndustry: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/getListByTypeAndIndustry", + data: { + type: 90, + industry: 2, + }, + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res.data.data); + wx.setStorageSync("FILTER_LIST", res.data.data); + res.data.data.forEach((item) => { + if (item.typeClassify == "0") { + that.data.tagArray0.push(item); + } else if (item.typeClassify == "1") { + that.data.tagArray1.push(item); + } else if (item.typeClassify == "2") { + that.data.tagArray2.push(item); + } else if (item.typeClassify == "3") { + that.data.tagArray3.push(item); + } else if (item.typeClassify == "4") { + that.data.tagArray4.push(item); + } + }); + that.setData({ + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + tagArray4: that.data.tagArray4, + }); + + var jobSpecialLabelIdArray = that.data.storeJobListSearchForm.jobSpecialLabelIds.split(","); + + res.data.data.forEach((item) => { + item["checked"] = false; + jobSpecialLabelIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + }); + + that.setData({ + jobSpecialLabelList: res.data.data, + }); + }, + }); + }, + golistSharePage() { + if (this.data.isLogin) { + if (app.globalData.loginUserInfo.agencyStatus == 1) { + wx.navigateTo({ + url: `/pages/listSharePage/index?listtype=${this.data.toped}`, + }); + } else { + wx.navigateTo({ + url: `/pages/tobeAgency/index`, + }); + } + } else { + wx.navigateTo({ + url: `/pages/login/index`, + }); + } + }, + getBrandNameAllList: function () { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/type/95", // 分类列表获取接口 + header: app.globalData.header, + method: "GET", + success: function (res) { + console.log(res); + if (res.data.status == 200) { + if (that.data.storeJobListSearchForm.brandIds) { + var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + } + console.log(res.data.data.labels); + wx.setStorageSync("CLASSIFY_LIST", res.data.data.labels); + res.data.data.labels.forEach((item) => { + item["checked"] = false; + if (brandIdArray) { + brandIdArray.forEach((item1) => { + if (item.id == item1) { + item["checked"] = true; + } + }); + } + }); + that.setData({ + brandList: res.data.data.labels, + }); + } + }, + }); + // wx.request({ + // url: app.globalData.ip + "/brand/getBrandNameAllList", // 品牌列表获取接口 + // data: {}, + // header: app.globalData.header, + // method: "GET", + // success: function (res) { + // console.log(res); + + // var brandIdArray = that.data.storeJobListSearchForm.brandIds.split(","); + + // res.data.data.forEach((item) => { + // item["checked"] = false; + // brandIdArray.forEach((item1) => { + // if (item.id == item1) { + // item["checked"] = true; + // } + // }); + // }); + // that.setData({ + // brandList: res.data.data, + // }); + // }, + // }); + }, + + selectBrand: function (e) { + var that = this; + let data = e.currentTarget.dataset; + let index = that.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + that.data.filterData[data.type][index].active = data.id; + + if (that.data.brandList[data.index].checked) { + that.data.brandList[data.index].checked = false; + // let index1 = that.data.selectBrandList.indexOf(that.data.brandList[index]) + // that.data.selectBrandList.splice(index1,1) + } else { + that.data.brandList[data.index].checked = true; + } + console.log(that.data.selectBrandList); + this.setData({ + brandList: that.data.brandList, + filterData: that.data.filterData, + }); + }, + reset: function (e) { + var that = this; + console.log(e); + if (e.target.dataset.type == 1) { + //特色 + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + selectJobList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + } else if (e.target.dataset.type == 2) { + //品牌 + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.setData({ + brandList: that.data.brandList, + selectBrandList: [], + whichOneShow: "", + }); + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // that.data.storeJobListSearchForm.brandIds = ""; + } else if (e.target.dataset.type == 4) { + that.setData({ + activez: "", + }); + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + innerFilter: false, + }); + that.getJobList(); + }, + loginOut: function () { + var that = this; + var jobSpecialLabelIdArray = []; + + // var brandIdArray = []; + that.data.selectBrandList = []; + that.data.filterData.classifyList.forEach((item) => { + if (item.active) { + if (that.data.selectBrandList.indexOf(item) == -1) { + that.data.selectBrandList.push(item); + } + // brandIdArray.push(item.id); + } + }); + that.data.selectJobList = []; + let subArr = that.data.filterData.jobFilter; + let jobList = subArr.tagArray0.concat(subArr.tagArray1, subArr.tagArray2, subArr.tagArray3, subArr.tagArray4); + jobList.forEach((item) => { + if (item.active) { + if (that.data.selectJobList.indexOf(item) == -1) { + that.data.selectJobList.push(item); + } + } + }); + // if (brandIdArray.length > 0) { + // // that.data.storeJobListSearchForm.brandIds = brandIdArray.join(","); + // that.data.storeJobListSearchForm.jobCategoryLabelIds = brandIdArray.join(","); + // } else { + // // that.data.storeJobListSearchForm.brandIds = ""; + // that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + // } + // that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + // recordList: [], + // siv: "", + // whichOneShow: "", + selectBrandList: that.data.selectBrandList, + selectJobList: that.data.selectJobList, + // innerFilter:true + }); + // that.getJobList(); + }, + onLoad(query) { + var that = this; + if (app.isNotEmptyCheck(query.scene)) { + console.log("XXXXXXXXXXXX") + //扫小程序码携带参数 + var sceneStr = decodeURIComponent(query.scene); + var sceneJson = commonUtil.sceneToJson(sceneStr); + console.log("sceneJson===", sceneJson); + let arr = sceneJson.i.split('_') + if(arr[0] > 0){ + wx.setStorageSync("applyUserId", arr[0]); + } + if(arr[1] > 0){ + wx.setStorageSync("agencyId", arr[1]); + app.globalData.agencyId = arr[1] + } + console.log(arr.slice(2)); + app.globalData.sceneStoreJobId = arr.slice(2).join(','); + + + + // app.globalData.sceneStoreJobId = sceneJson.ids + // app.globalData.agencyId = sceneJson.agId + // wx.setStorageSync("agencyId", sceneJson.agId); + // wx.setStorageSync("ap", sceneJson.ap); + + } + that.getJobList(); + }, + onReady() { + }, + /** + * 智能匹配结束 + * + * + * + */ + goChannel(e) { + console.log(e); + }, + /** + * 筛选标签的点击 + * + * + */ + setActive(e) { + console.log(e); + let data = e.currentTarget.dataset; + if (data.type == "yanba" || data.type == "sex" || data.type == "price") { + console.log(data.id); + let index = this.data.filterData[data.type].findIndex((item) => { + return item.id == data.id; + }); + if (this.data.filterData[data.type][index].active == data.id) { + this.data.filterData[data.type][index].active = 0; + } else { + this.data.filterData[data.type].forEach((item) => { + item.active = 0; + }); + this.data.filterData[data.type][index].active = data.id; + } + + this.setData({ + filterData: this.data.filterData, + }); + } else if (data.type != "jobFilter") { + this.data.filterData[data.type].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + console.log(this.data.filterData[data.type]); + } else { + this.data.filterData[data.type][data.arr].forEach((item) => { + if (item.id == data.id) { + if (item.active == data.id) { + item.active = 0; + } else { + item.active = data.id; + } + } + }); + } + + this.setData({ + filterData: this.data.filterData, + }); + }, + + /** + * 获取banner信息 + * + * + */ + getBannerList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/banner/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + bannerList: res.data.data.banners, + }); + } + }, + }); + }, + + /** + * 获取图片模板信息 + * + * + */ + getTemplateList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/image/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + app.globalData.templateList = res.data.data.images; + that.setData({ + templateList: res.data.data.images, + }); + } + }, + }); + }, + + /** + * 获取频道列表 + * + * + */ + getchannelList() { + let that = this; + wx.request({ + url: app.globalData.ip + "/daotian/channel/list", + success(res) { + console.log(res); + if (res.data.status == 200) { + that.setData({ + navList: res.data.data.channels, + }); + } + }, + }); + }, + /** + * 清除筛选信息 + * + * + */ + clearFilter1(e) { + let middleList = JSON.parse(JSON.stringify(this.data.copyList)); + let type = e.currentTarget.dataset.type; + let filterData = this.data.filterData; + console.log(type); + if (type == 2) { + filterData = { + ...filterData, + classifyList: middleList.classifyList, + }; + this.setData({ + selectBrandList: [], + }); + } else if (type == 1) { + filterData = { + ...filterData, + jobFilter: middleList.jobFilter, + }; + this.setData({ + selectJobList: [], + }); + } else if (type == "outerClear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } else if (type == "innerclear") { + filterData = middleList; + this.setData({ + selectJobList: [], + selectBrandList: [], + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + innerFilter: false, + }); + } + console.log(filterData); + this.setData({ + filterData, + leftShow: false, + recordList: [], + whichOneShow: "", + scrollTo: "sticky", + }); + if (this.data.choiceCollect == 0) { + this.data.storeJobListSearchForm.ucj = 0; + } else { + this.data.storeJobListSearchForm.ucj = 1; + } + this.toList(); + + // this.getJobList(); + }, + /** + * 点击确认按钮 + * + * + */ + toList() { + let that = this; + let innerFilter = false; + console.log(this.data.filterData); + let formSearch = { + pageNum: 1, + pageSize: 20, + }; + let filter = this.data.filterData; + for (var k in filter) { + if (k != "jobFilter") { + let jobCategoryArr = []; + filter[k].forEach((item) => { + if (item.active != 0) { + if (k == "price") { + if (item.name == "8000以上") { + formSearch.monthlyPayStr = "8001-20000"; + } else { + formSearch.monthlyPayStr = item.name; + } + } else if (k == "sex") { + formSearch.sex = item.id; + if (item.id == -1) { + this.data.secondMenu = "不限"; + } else if (item.id == 1) { + this.data.secondMenu = "男生"; + innerFilter = true; + } else if (item.id == 2) { + this.data.secondMenu = "女生"; + innerFilter = true; + } + this.setData({ + sexid: item.id, + secondMenu: this.data.secondMenu, + }); + } else if (k == "classifyList") { + jobCategoryArr.push(item.id); + if (jobCategoryArr.length > 0) { + innerFilter = true; + } + } + } + }); + formSearch.jobCategoryLabelIds = jobCategoryArr.join(); + } else { + let totalArr = [...filter["jobFilter"].tagArray0, ...filter["jobFilter"].tagArray1, ...filter["jobFilter"].tagArray2, ...filter["jobFilter"].tagArray3, ...filter["jobFilter"].tagArray4]; + let jobSpecialArr = []; + console.log(totalArr); + totalArr.forEach((item) => { + if (item.active != 0) { + jobSpecialArr.push(item.id); + } + }); + console.log(jobSpecialArr); + if (jobSpecialArr.length > 0) { + innerFilter = true; + } + console.log(jobSpecialArr.join(",")); + formSearch.jobSpecialLabelIds = jobSpecialArr.join(","); + } + } + console.log(formSearch); + + that.data.storeJobListSearchForm = { ...that.data.storeJobListSearchForm, ...formSearch }; + if (this.data.choiceCollect == 0) { + that.data.storeJobListSearchForm.ucj = 0; + } else { + that.data.storeJobListSearchForm.ucj = 1; + } + console.log(that.data.storeJobListSearchForm); + that.setData({ + recordList: [], + leftShow: false, + innerFilter, + whichOneShow: "", + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.loginOut(); + that.getJobList(); + }, + /** + * 智能匹配结束 + * + * + */ + onTabClick(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + onChange(e) { + const index = e.detail.index; + this.setData({ + activeTab: index, + }); + }, + + findLocation() { + var that = this; + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置2"); + console.log(res1); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + }, + fail() {}, + }); + }, + + emptyMethod(e) { + console.log(e); + }, + chooseIdCard() { + var that = this; + if (that.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.chooseImage({ + count: 1, + sizeType: ["original", "compressed"], + sourceType: ["album", "camera"], + success(res) { + console.log(res); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&imgUrl=${res.tempFilePaths[0]}`, + }); + // that.uploadIdcardImg(res); + }, + }); + }, + navigatorToRecord() { + if (this.data.agencyStatus != 1) { + this.setData({ + iosDialog: true, + }); + return; + } + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1`, + }); + }, + PageScroll(e) { + let that = this; + const query = wx.createSelectorQuery().in(this); + query + .select(".sticky") + .boundingClientRect(function (res) { + // console.log(res); + if (res.top <= 5) { + that.setData({ + isScrollTop: true, + }); + } else if (res.top > 0 && res.top < 90) { + that.setData({ + isScrollTop: false, + }); + } else if (res.top >= 90) { + that.setData({ + isScrollTop: false, + }); + } + }) + .exec(); + }, + onShow() { + // debugger + let that = this; + that.setData({ + isLogin: app.globalData.isLogin + }); + that.getJobList(); + }, + collectedStoreJobList() { + var that = this; + + wx.request({ + url: app.globalData.ip + "/store/job/collected/list?ucj=1", + method: "GET", + data: {}, + header: app.globalData.headers, + success: function (res) { + console.log(res); + let collectList = res.data.data.recordList; + let jobs = that.data.recordList; + if (collectList != null && collectList != "" && collectList != undefined && collectList.length != 0 && jobs != null && jobs != "" && jobs != undefined && jobs.length != 0) { + for (var j = 0; j != jobs.length; ++j) { + jobs[j].collected = 2; + } + for (var i = 0; i != collectList.length; ++i) { + for (var j = 0; j != jobs.length; ++j) { + if (collectList[i].storeJobId - jobs[j].id == 0) { + jobs[j].collected = 1; + break; + } + } + } + that.setData({ + recordList: jobs, + }); + } + }, + fail: function (res) {}, + }); + }, + getHopeJobLabels() { + var that = this; + wx.request({ + url: app.globalData.ip + "/labels/findAllHopeJobLabels", + // ?category=4 + method: "GET", + data: {}, + success: function (res0) { + console.log("感兴趣职位 ↓↓↓"); + console.log(res0); + if (res0.data.data != null) { + res0.data.data.forEach((item, index) => { + item["title"] = item.name; + item["checked"] = false; + + if (index == 0 || index == 1) { + item["checked"] = true; + } + }); + } + + that.setData({ + labelItems: res0.data.data == null ? [] : res0.data.data, + }); + that.initData(); + console.log("感兴趣职位 赋值title↓↓↓"); + console.log(res0); + }, + fail: function (res) { + console.log(res); + wx.showToast({ + title: "获取失败", + icon: "none", + duration: 2000, + }); + }, + }); + }, + makePhoneCall() { + var that = this; + wx.makePhoneCall({ + phoneNumber: "13937184434", + }); + }, + goScreen() { + wx.navigateTo({ + url: "../screen/index", + }); + }, + goCity() { + let that = this; + + wx.navigateTo({ + url: "../city/index", + }); + }, + initData() { + var that = this; + try { + // 获取手机基础信息(头状态栏和标题栏高度) + let systemInfo = wx.getSystemInfoSync(); + let getMenuButtonBoundingClientRect = wx.getMenuButtonBoundingClientRect(); + console.log(wx.getMenuButtonBoundingClientRect()); + this.setData({ + systemInfo, + getMenuButtonBoundingClientRect, + }); + } catch (e) { + console.log(e); + + wx.alert({ + title: "温馨提示", + content: "onLoad 执行异常", + }); + } + let res0 = wx.getStorageSync("checkedlabelItems"); + + console.log(app.isNotEmptyCheck(res0.data)); + that.data.tabs2 = [ + { + name: "打勾推荐", + category: -1, + id: 406, + checked: true, + title: "打勾推荐", + }, + ]; + + if (app.isNotEmptyCheck(res0.data)) { + for (var i = 0; i < res0.data.length; i++) { + res0.data[i]["title"] = res0.data[i].name; + // that.data.tabs2.push(res0.data[i]); + } + + console.log("获取缓存"); // res0.data.unshift(); + // console.log(res.data.unshift({name: "打勾推荐", category: 3, id: 406, checked: true, title: "打勾推荐"})); + } else { + console.log("无感兴趣职位 push两个职位 ↓↓↓"); + console.log(that.data.labelItems); + that.data.labelItems.forEach((item) => { + if (item.name == "理货员" || item.name == "餐饮服务员") { + // that.data.tabs2.push(item); + } + }); // that.data.tabs2.push(that.data.labelItems[0], that.data.labelItems[1]) + } + + that.setData({ + tabs2: that.data.tabs2, + }); + + let res = wx.getStorageSync("sex"); //性别 + if (app.isNotEmptyCheck(res.data)) { + that.data.storeJobListSearchForm.sex = res.data; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + // res.data = []; + } + let res2 = wx.getStorageSync("checkedJobItems"); //筛选职位 + let workTypeStrCurr = ""; + if (app.isNotEmptyCheck(res2.data)) { + res2.data.forEach((item, index) => { + workTypeStrCurr += item.value + ","; + }); + + if (workTypeStrCurr.length > 0) { + workTypeStrCurr = workTypeStrCurr.substr(0, workTypeStrCurr.length - 1); + } + + that.data.storeJobListSearchForm.workTypeStr = workTypeStrCurr; + that.data.storeJobListSearchForm.pageNum = 1; + } else { + that.data.storeJobListSearchForm.workTypeStr = ""; + that.data.storeJobListSearchForm.pageNum = 1; + } + + console.log(res.data + "===" + res2.data); + + if (res.data == -1 && (res2.data == null || res2.data == "")) { + that.setData({ + chooseActive: false, + }); + } else { + that.setData({ + chooseActive: true, + }); + } + + // this.getJobList(); + }, + + getJobList() { + var that = this; + // debugger + that.setData({ + pageShow: false, + }); + return new Promise(function (resolve, reject) { + wx.showLoading({ + title: "加载中...", + }); + console.log(that.data.storeJobListSearchForm); + wx.request({ + url: app.globalData.ip + "/yishoudan/store/job/getShareJobs?storeJobIds="+app.globalData.sceneStoreJobId, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log("职位列表↓↓↓↓"); + console.log(res); + + setTimeout(function () { + that.setData({ + triggered: false, + }); + }, 1000); + var jobListTemp = commonUtil.disposeJobListData(res.data.data.list); + that.data.recordList = jobListTemp; + + that.setData({ + recordList: that.data.recordList, + hasMoreData: true, + isTrigger: false, + }); + + wx.hideLoading({ + success: (res) => {}, + }); + that.setData({ + loading: false, + pageShow: true, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + resolve(); + that.getTag(); + + that.data.recordList.forEach((item, index) => { + // console.log(item); + if (app.isNotEmptyCheck(item.returnFeeType) || item.returnFeeType == "0" || item.returnFee == "0") { + item["fuWuFei"] = commonUtil.getReturnFeeTypeName1ById(item.returnFeeType, item.returnFee); + } else { + item["fuWuFei"] = ""; + } + // 简版弹窗通告显示 + if (item.id == that.data.currentJobDrawer.id) { + item["jobDesp"] = item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + item["jobDesp1"] = item.jobDesp.replace("⚠", ""); + item["jobDesp1"] = item.jobDesp1.replace("[红包]", ""); + that.data.currentJobDrawer = { + ...item, + index: that.data.currentJobDrawer.index ? that.data.currentJobDrawer.index : null, + }; + } + }); + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + }); + // if (that.data.recordList.length < res.data.data.recordCount) { + // that.setData({ + // hasMoreData: true, + // }); + // } else { + // that.setData({ + // hasMoreData: false, + // }); + // } + }, + }); + }); + }, + + onScrollRefresh() { + this.data.recordList = []; + this.data.storeJobListSearchForm.pageNum = 1; + this.getJobList(); + }, + + getTag() { + let that = this; + let query = that.createSelectorQuery(); + query + .selectAll(".tttg") + .boundingClientRect() + .exec(function (res) { + res.forEach((item) => { + item.forEach((element, index) => { + if (element.width > 200) { + // that.data.recordList[index].isTagShow = true; + var age = "recordList[" + index + "].isTagShow"; + that.setData({ + [age]: true, + }); + } + }); + }); + // if(){ + + // } + // console.log(res); + }); + }, + + // 下拉加载更多 + onScrollToLower() { + console.log("===================================================="); + var that = this; + // if (app.globalData.isLogin) { + that.data.storeJobListSearchForm.pageNum = that.data.storeJobListSearchForm.pageNum + 1; + if (that.data.hasMoreData) { + that.getJobList(); + } + + this.setData({ + loadMore: "load", + }); + // } else { + + // } + + that.data.pullNum = that.data.pullNum + 1; + }, + + handleTabClick(e) { + var that = this; + var index = e.detail.index; + console.log(e.detail.index); + let categoryCurr = that.data.tabs2[index].category; // that.data.tabs2.forEach((item,index2) => { + // if (index == index2) { + // categoryCurr = item.category + // } + // if( index == 0){ + // categoryCurr = -1 + // } + // }) + + this.setData({ + // [tabsName]: index, + contentIndex: index, + }); + console.log(categoryCurr); + that.data.storeJobListSearchForm.jobClassify = categoryCurr; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + }); + that.getJobList(); + }, + /** + * 标准详情 + * + * + */ + goDetail(e) { + console.log(e); + var that = this; + wx.navigateTo({ + url: "../detail/index?storeJobId=" + e.currentTarget.dataset.id + "&wxCode=" + that.data.wxCode+ "&from=erweima", + }); + }, + /** + * 简版抽屉 + * + * + */ + goDrawer(event) { + let that = this; + + console.log(event.currentTarget.dataset.item); + event.currentTarget.dataset.item["jobDesp"] = event.currentTarget.dataset.item.jobDesp.replace(/\*\*\*\*\*/g, "").split("————————")[0]; + // 展示用字段 + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp.replace("⚠", ""); + event.currentTarget.dataset.item["jobDesp1"] = event.currentTarget.dataset.item.jobDesp1.replace("[红包]", ""); + + // wx.hideTabBar({ + // success(e) { + this.getTabBar().setData({ + isShow: false, + }); + that.setData({ + currentJobDrawer: { + ...event.currentTarget.dataset.item, + index: event.currentTarget.dataset.index, + }, + drawerShow: true, + }); + // }, + // }); + + console.log(this.data.currentJobDrawer); + }, + copyClose() { + var that = this; + var contentInfo; + const query = wx.createSelectorQuery().in(this); + query + .select(".contactInfo") + .boundingClientRect(function (res) { + contentInfo = res.dataset.info; + var text = that.data.currentJobDrawer.jobDesp + contentInfo; + wx.setClipboardData({ + data: text, + success(res) { + wx.getClipboardData({ + success(res) { + console.log(res.data); // data + wx.showToast({ + title: "内容已复制", + icon: "none", + duration: 1500, + }); + }, + }); + }, + }); + }) + .exec(); + }, + // showDrawer() { + // this.setData({ + // }); + // }, + hideDrawer() { + let that = this; + this.getTabBar().setData({ + isShow: true, + }); + that.setData({ + drawerShow: false, + }); + // this.getJobList(); + // setTimeout(() => { + // wx.showTabBar({ + // success(e) {}, + // }); + // }, 300); + }, + goEnroll(e) { + console.log(e); + // wx.navigateTo({ + // url: "../newEnroll/index?applyType=0" + // }); + var that = this; + + wx.removeStorageSync("townsManInfo"); + wx.removeStorageSync("townsManInfoJob"); + wx.removeStorageSync("storeInfoJob"); + + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfo'))){ + // wx.removeStorageSync('townsManInfo') + // } + // if(app.isNotEmptyCheck(wx.getStorage('townsManInfoJob'))){ + // wx.removeStorageSync('townsManInfoJob') + // } + // if(app.isNotEmptyCheck(wx.getStorage('storeInfoJob'))){ + // wx.removeStorageSync('storeInfoJob') + // } + // wx.removeStorageSync('townsManInfoJob') + console.log(app.globalData.loginUserInfo.tel); + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }, + wxLogin() { + var that = this; + wx.login({ + success(res) { + if (res.code) { + that.setData({ + wxCode: res.code, + }); + } else { + console.log("获取code失败!" + res.errMsg); + } + }, + }); + }, + changeRecordBillType(e) { + let that = this; + console.log(e); + that.setData({ + recordBillType: e.currentTarget.dataset.type, + }); + }, + toSmart() { + wx.navigateTo({ + url: "/pages/IDCardWithNFC/index", + }); + }, + getPhoneNumber(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + /*wx.setStorageSync({ + key: "jobDetailStorage", + data: that.data.recordList[e.currentTarget.dataset.idx] + });*/ + + wx.setStorageSync("jobDetailStorage", that.data.recordList[e.currentTarget.dataset.idx]); + + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + console.log(iv, "=-=========", encryptedData); + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + app.globalData.openId = res.data.data.openId; + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + // that.collectedStoreJobList(); + }); + } else { + if (that.data.recordBillType == "photo" || that.data.recordBillType == "record") { + promise.then((res) => { + if (that.data.recordBillType == "photo") { + that.chooseIdCard(); + } else { + that.navigatorToRecord(); + } + }); + } else { + promise.then((res) => { + let argument; + argument = JSON.stringify(e.currentTarget.dataset.info).replace(/\=|\&/g, "3D"); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${argument}`, + }); + }); + } + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + var collected = e.currentTarget.dataset.collected; + if (collected) { + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.doCollected(collected, e.currentTarget.dataset.jobid); + }); + } else { + promise.then((res) => { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + //url: "../enroll/index?applyType=1&tel=" + res.data.data.phoneNumber + }); + }); + } + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + var collected = e.currentTarget.dataset.collected; + if (collected) { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + wx.navigateTo({ + url: "../enroll/index?applyType=1", + }); + } + } + return false; + }, + getPhoneNumber1(e) { + var that = this; + console.log(e); + console.log(e.detail.errMsg); + + that.close(); + // console.log(e); + // console.log(e.detail.errMsg) + // console.log(e.detail.iv) + // console.log(e.detail.encryptedData) + + if ("getPhoneNumber:ok" == e.detail.errMsg) { + //同意 + var iv = e.detail.iv; + var encryptedData = e.detail.encryptedData; + wx.checkSession({ + success() { + //session_key 未过期,并且在本生命周期一直有效 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: that.data.wxCode, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + that.onScrollToLower(); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + }, + fail() { + // session_key 已经失效,需要重新执行登录流程 + wx.login({ + success(res) { + if (res.code) { + console.log(res.code); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/getWechatTel", + data: { + code: res.code, + iv: iv, + encryptedData: encryptedData, + type: "yishoudan", + appId:app.globalData.appId + }, + success: function (res) { + console.log(res); + let promise = app.setLoginUserTokenInfo(res.data.data.phoneNumber, null); + promise.then((res) => { + that.setData({ + isLogin: app.globalData.isLogin, + }); + }); + }, + fail: function (res) { + console.log("获取用户手机号错误"); + }, + }); + } else { + console.log("获取手机号失败!" + res.errMsg); + } + }, + }); + }, + }); + } else { + //拒绝 + if (e.currentTarget.dataset.type != "close") { + try { + wx.setStorageSync("comeFromPage", "index"); + } catch (e) { + console.log("index-页面跳转,设置参数错误:", e); + } + + wx.navigateTo({ + url: "/pages/login/index", + }); + } else { + that.close(); + } + } + return false; + }, + getAgencyUserId(id) { + var that = this; + wx.request({ + url: app.globalData.ip + "/channel/contact/getAgencyUserId", + method: "GET", + header: app.globalData.header, + data: { + channelContactId: id, + }, + success: function (res) { + console.log("获取来源对应的代理人,来源ID:", id); + console.log(res); + try { + if (app.isNotEmptyCheck(res.data.data)) { + wx.setStorageSync("storageSyncAgencyUserId", res.data.data); + } + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } catch (e) { + console.log("0-扫描微信二维码,设置参数错误:", e); + //先设置代理人缓存人再登录 + app.getLoginUserTokenInfo(); + } + }, + fail: function (res0) { + console.log("获取来源对应的代理人错误", id); + }, + }); + }, + collectPaste(e) { + var txt; + var that = this; + if (!this.data.isLogin) { + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + that.doCollected(collected, storeJobId); + // console.log(collected); + // if(!this.data.isCollect){ + // that.setData({ + // isCollect: true, + // collectTxt:'已收藏' + // }) + // txt = '收藏成功' + // }else{ + // that.setData({ + // isCollect: false, + // collectTxt:'收藏' + // }) + // } + }, + doCollected(collected, storeJobId) { + var that = this; + var url = "/user/collect/job/add"; + if (collected - 1 == 0) { + url = "/user/collect/job/remove"; + } + console.log(app.globalData.headers); + //发起网络请求 + wx.request({ + url: app.globalData.ip + url, + data: { + storeJobId: storeJobId, + }, + header: app.globalData.headers, + method: "GET", + success: function (res) { + var txt; + if (collected - 1 == 0) { + //取消收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 2; + break; + } + } + txt = "取消收藏"; + that.data.currentJobDrawer.collected = 2; + + if (that.data.choiceCollect == 1) { + if (that.data.drawerShow) { + that.data.drawerShow = false; + } + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + recordList: [], + drawerShow: that.data.drawerShow, + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + } else { + //收藏 + for (var i = 0; i != that.data.recordList.length; ++i) { + if (that.data.recordList[i].id - storeJobId == 0) { + that.data.recordList[i].collected = 1; + break; + } + } + that.data.currentJobDrawer.collected = 1; + + txt = "收藏成功"; + } + + console.log(that.data.currentJobDrawer); + + that.setData({ + recordList: that.data.recordList, + currentJobDrawer: that.data.currentJobDrawer, + isLogin: app.globalData.isLogin, + }); + wx.showToast({ + icon: "none", + title: txt, + }); + }, + fail: function (res) { + console.log("操作失败"); + }, + }); + }, + getUserInfoBtn: function (e) { + console.log(e); + let that = this; + let type = e.currentTarget.dataset.type; + var collected = e.currentTarget.dataset.collected; + var storeJobId = e.currentTarget.dataset.jobid; + let idx = e.currentTarget.dataset.idx; + console.log(type); + wx.getUserProfile({ + desc: "用于完善会员资料", // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 + success: (res) => { + console.log(res); + //发起网络请求 + wx.request({ + url: app.globalData.ip + "/updateUserWechatInfo", + data: { + nickName: res.userInfo.nickName, + avatarUrl: res.userInfo.avatarUrl, + gender: res.userInfo.gender, + country: res.userInfo.country, + province: res.userInfo.province, + city: res.userInfo.city, + }, + method: "POST", + header: app.globalData.headers, + success: function (res) { + console.log(res); + app.globalData.hasUserInfo = 1; + that.setData({ + hasUserInfo: 1, + }); + that.doMenuClick(type, collected, storeJobId, idx); + }, + fail: function (res) { + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + fail: (res) => { + console.log(res); + that.doMenuClick(type, collected, storeJobId, idx); + }, + }); + }, + doMenuClick: function (_type, _collected, _storeJobId, _idx) { + let that = this; + if (_type - 1 == 0) { + //点击全国 + that.goCity(); + } else if (_type - 2 == 0) { + //搜索 + } else if (_type - 3 == 0) { + //筛选 + that.goScreen(); + } else if (_type - 4 == 0) { + //收藏 + that.doCollected(_collected, _storeJobId); + } else if (_type - 5 == 0) { + //报名 + wx.setStorageSync("jobDetailStorage", that.data.recordList[_idx]); + wx.navigateTo({ + url: "../enroll/index?applyType=1&tel=" + app.globalData.loginUserInfo.tel, + }); + } + }, + changSign(e) { + let that = this; + console.log(e); + that.data.storeJobListSearchForm.pageNum = 1; + if (e.target.dataset.type == 0 && that.data.signType != 0) { + that.data.storeJobListSearchForm.signType = ""; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 1 && that.data.signType != 1) { + that.data.storeJobListSearchForm.signType = 1; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } else if (e.target.dataset.type == 2 && that.data.signType != 2) { + that.data.storeJobListSearchForm.signType = 2; + that.setData({ + signType: e.target.dataset.type, + recordList: [], + storeJobListSearchForm: that.data.storeJobListSearchForm, + }); + that.getJobList(); + } + }, + /** + * 收藏的切换 + * + * + */ + collectChange(e) { + let that = this; + if (that.data.isLogin || (!that.data.isLogin && e.currentTarget.dataset.id == 0)) { + if (e.currentTarget.dataset.id) { + that.data.choiceCollect = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.ucj = e.currentTarget.dataset.id; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + choiceCollect: that.data.choiceCollect, + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + hasMoreData: false, + }); + that.getJobList(); + } + } else { + that.setData({ + recordList: [], + hasMoreData:false, + choiceCollect: 1, + }); + // } + } + }, + choiceFilter(e) { + var that = this; + // let str = that.data.activez + let str = e.currentTarget.dataset.id; + if (str == "all") { + that.data.storeJobListSearchForm.sortTag = 0; + that.setData({ + firstMenu: "排序", + // storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else if (str == "zuijin") { + //距离最近 + if (that.data.storeJobListSearchForm.lng && that.data.storeJobListSearchForm.lat) { + that.data.storeJobListSearchForm.sortTag = 2; + that.setData({ + firstMenu: "距离", + // storeJobListSearchForm: tha t.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } else { + wx.getLocation({ + type: "gcj02", + success(res1) { + console.log("获取位置1"); + app.globalData.lng = res1.longitude; + app.globalData.lat = res1.latitude; + that.data.storeJobListSearchForm.lng = res1.longitude; + that.data.storeJobListSearchForm.lat = res1.latitude; + that.data.storeJobListSearchForm.sortTag = 2; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + firstMenu: "距离", + storeJobListSearchForm: that.data.storeJobListSearchForm, + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + // var promise = new Promise(function(resolve,reject){ + // that.getJobList(); + // }); + }, + fail() { + console.log("获取位置失败,打开位置设置界面"); + // wx.openSetting({ + // success(res) { + // console.log(res.authSetting); + // if (res.authSetting["scope.userLocation"]) { + // wx.getLocation({ + // type: "gcj02", + // success(res1) { + // console.log("获取位置2"); + // console.log(res1); + // app.globalData.lng = res1.longitude; + // app.globalData.lat = res1.latitude; + + // that.data.storeJobListSearchForm.sortTag = 2; + // that.data.storeJobListSearchForm.lng = res1.longitude; + // that.data.storeJobListSearchForm.lat = res1.latitude; + // that.data.storeJobListSearchForm.pageNum = 1; + // that.setData({ + // storeJobListSearchForm: that.data.storeJobListSearchForm, + // recordList: [], + // }); + // that.getJobList().then(() => { + // that.setData({ + // siv: "menu", + // }); + // }); + // }, + // fail() {}, + // }); + // } + // }, + // }); + }, + }); + } + } else if (str == "zuigao") { + //工价最高 + that.data.storeJobListSearchForm.sortTag = 1; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + storeJobListSearchForm: that.data.storeJobListSearchForm, + firstMenu: "排序", + recordList: [], + }); + that.getJobList().then(() => { + that.setData({ + siv: "menu", + }); + }); + } + that.setData({ + activez: str, + }); + that.setData({ + whichOneShow: "", + siv: "", + }); + // setTimeout(() => { + // that.setData({ + // whichOneShow: "", + // }); + // console.log(this.data.whichOneShow); + // console.log("112233"); + // }, 1); + }, + /** + * 清除所有的筛选项 + * + * + */ + clearFilter() { + let that = this; + that.data.jobSpecialLabelList.forEach((item) => { + // console.log(item); + if (item.checked) { + item.checked = false; + } + }); + that.data.brandList.forEach((item) => { + if (item.checked) { + item.checked = false; + } + }); + that.data.storeJobListSearchForm.jobSpecialLabelIds = ""; + // that.data.storeJobListSearchForm.ucj = + // that.data.storeJobListSearchForm.brandIds = ""; + that.data.storeJobListSearchForm.jobCategoryLabelIds = ""; + that.data.storeJobListSearchForm.pageNum = 1; + that.setData({ + jobSpecialLabelList: that.data.jobSpecialLabelList, + tagArray0: that.data.tagArray0, + tagArray1: that.data.tagArray1, + tagArray2: that.data.tagArray2, + tagArray3: that.data.tagArray3, + brandList: that.data.brandList, + selectJobList: [], + selectBrandList: [], + recordList: [], + whichOneShow: "", + firstMenu: "排序", + secondMenu: "不限", + sexid: -1, + activez: "zuigao", + }); + // that.choiceFilter({ + // currentTarget: { + // dataset: { + // id: "all", + // }, + // }, + // }); + // that.choiceSex({ + // currentTarget: { + // dataset: { + // id: "-1", + // }, + // }, + // }); + that.getJobList(); + }, + scroll(e) { + return false; + }, + stoptap(e) { + return false; + }, + changeContact() { + console.log(2123); + wx.navigateTo({ + url: `/pages/configAnnunciate/index`, + }); + }, + /** + * 简版报名 + * + * + */ + recordBill(e) { + + var that = this; +console.log(this.data.isLogin); + + if (!this.data.isLogin) { + // debugger + wx.setStorageSync("comeFromPage", "shareList"); + // wx.setStorageSync("baomingDetail",argument); + wx.navigateTo({ + url: "/pages/login/index", + }); + return; + } + // if (!this.data.isLogin) { + // wx.navigateTo({ + // url: "/pages/login/index", + // }); + // return; + // } + console.log(e.currentTarget.dataset.job); + console.log(123); + let middleInfo = e.currentTarget.dataset.job; + let info = JSON.stringify({ + id: middleInfo.id, + jobName: middleInfo.jobName, + storeName: middleInfo.storeName, + aliasName: middleInfo.aliasName, + storeId: middleInfo.storeId, + }); + console.log(info); + wx.navigateTo({ + url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + }); + // wx.navigateTo({ + // url: `../newEnroll/enroll/index?applyType=1&info=${info}`, + // }); + }, + imageLoad() { + this.setData({ + isLoading: false, + }); + }, + closeDialog() { + this.setData({ + iosDialog: false, + }); + }, + showLeft() { + this.setData({ + leftShow: true, + }); + }, + hideLeft() { + this.setData({ + leftShow: false, + whichOneShow: "", + }); + console.log(this.data.innerFilter); + if (!this.data.innerFilter) { + this.setData({ + filterData: JSON.parse(JSON.stringify(this.data.copyList)), + }); + } + }, + /** + * 阻止滑动穿透 + * + * + */ + modalMove() { + return false; + }, + /** + * 获取搜索轮播的关键字索引 + * + * + */ + getSwiperIndex(e) { + // console.dir(e); + if (e.detail.current) { + this.setData({ + placeholderText: this.data.swiperTextList[e.detail.current], + }); + // console.log(this.data.swiperTextList[e.detail.current]); + // console.log(this.data.placeholderText); + } + }, + onPageScroll(e) {}, + drawerTouchStart(event) { + this.handletouchtart(event); + }, + drawerTouchMove(event) { + let tx = this.handletouchmove(event); + console.log(tx); + if (tx.ty > 100) { + this.hideDrawer(); + } + }, + filterTouchMove(event) { + let tx = this.handletouchmove(event); + if (tx.tx < -100) { + this.setData({ + leftShow: false, + }); + } + }, + filterTouchStart(event) { + this.handletouchtart(event); + }, + listTouchMove(event) { + if (event.detail.scrollTop - this.data.listPosition > 15 && this.data.halfHide == false) { + this.setData({ + halfHide: true, + }); + } else if (event.detail.scrollTop - this.data.listPosition < -15 && this.data.halfHide == true) { + this.setData({ + halfHide: false, + }); + } + if (event.detail.scrollTop > 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "回顶部", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/top.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } else if (event.detail.scrollTop <= 200) { + // wx.setTabBarItem({ + // index: 0, + // text: "首页", + // iconPath: "/assets/images/ysd.png", + // selectedIconPath: "/assets/images/ysd1.png", + // success: (e) => {}, + // fail(e) { + // console.log(e); + // }, + // }); + } + // console.log(event); + }, + listTouchStart(event) { + this.data.listPosition = event.detail.scrollTop; + }, + + /** + * 页面滑动事件监听 + * + * + */ + handletouchmove: function (event) { + let that = this; + var currentX = event.touches[0].pageX; + var currentY = event.touches[0].pageY; + var tx = currentX - this.data.lastX; + var ty = currentY - this.data.lastY; + var text = ""; + //左右方向滑动 + if (Math.abs(tx) > Math.abs(ty)) { + return { + tx, + }; + } + //上下方向滑动 + else { + return { + ty, + }; + } + }, + // 触摸开始事件 + handletouchtart: function (event) { + this.data.lastX = event.touches[0].pageX; + this.data.lastY = event.touches[0].pageY; + }, + searchAnimate() { + let that = this; + wx.createSelectorQuery() + .select("#listBox") + .fields( + { + scrollOffset: true, + size: true, + }, + (res) => { + this.animate( + "#searchInputBox", + [ + { + // paddingTop: "10px", + // paddingBottom: "10px", + top: "10px", + width: "100%", + // height: "40px", + // backgroundColor: "#f5f5f5", + }, + { + // paddingTop: that.data.statusBarHeight + (that.data.navigationBarHeight - that.data.menuButtonHeight) / 2 + "px", + // paddingBottom: "30px", + top: "-48px", + width: "70%", + // height: "84px", + // backgroundColor: "#ff4400", + // paddingTop:'100px', + }, + ], + 800, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 60, + } + ); + this.animate( + "#searchInput", + [ + { + backgroundColor: '#fff' + }, + { + backgroundColor: '#f5f5f5' + }, + ], + 500, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + this.animate( + "#sticky", + [ + { + marginTop: "50px", + // top: "0px", + }, + { + marginTop: "0px", + // top: "-272px", + }, + ], + 2000, + { + scrollSource: "#listBox", + timeRange: 2000, + startScrollOffset: 50, + endScrollOffset: 362, + } + ); + this.animate( + ".daotian", + [ + { + opacity: "1", + }, + { + opacity: "0", + }, + ], + 1000, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 90, + } + ); + this.animate( + ".goback", + [ + { + opacity: "1", + fontSize:'24px' + }, + { + opacity: "0", + fontSize:'0' + }, + ], + 1000, + { + scrollSource: "#listBox", + timeRange: 1000, + startScrollOffset: 0, + endScrollOffset: 10, + } + ); + } + ) + .exec(); + }, + + // tabbar点击监听 + onTabItemTap(e) { + console.log(e); + let that = this; + that.setData({ + topNum: 1, + }); + }, + onHide() { + this.setData({ + whichOneShow: "", + // topNum: 1, + }); + }, + onUnload() { + console.log("destory"); + }, + goList() { + wx.navigateTo({ + url: "/pages/filterPage/index", + }); + }, + goIndex(){ + wx.switchTab({ + url: '../index/index', + }) + }, +}); diff --git a/pages/shareList/index.json b/pages/shareList/index.json new file mode 100644 index 0000000..595bfe1 --- /dev/null +++ b/pages/shareList/index.json @@ -0,0 +1,5 @@ +{ + "navigationBarTitleText": "职位列表", + "backgroundColor": "#f5f5f5" + +} \ No newline at end of file diff --git a/pages/shareList/index.wxml b/pages/shareList/index.wxml new file mode 100644 index 0000000..03acce8 --- /dev/null +++ b/pages/shareList/index.wxml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{item.jobName || item.aliasName}} + {{item.salaryClassifyValue}} + + + + + {{item.district == "" ?'':item.district + ' | ' }} + {{item.distanceKm}} + {{item.age}} + + {{item.monthlyPay}} + + + + + + + + + 热推 + + {{item1}} + + 暂无特色 + + + + 报名 + + + 报名 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pages/shareList/index.wxss b/pages/shareList/index.wxss new file mode 100644 index 0000000..3d2786d --- /dev/null +++ b/pages/shareList/index.wxss @@ -0,0 +1,28 @@ +@import "../index/index.wxss"; +.goback { + position: absolute; + color: #000; + left: 0px; + /* top: 40px; */ + transform: translateY(-50%); + margin-left: 5px; + height: 24px; + font-size: 24px; + font-weight: 400; + z-index: 99999; +} +button.loginOut{ + width: 260px !important; + height: 48px; + font-weight: 500; + border-radius: 25px; + font-size: 18px; + padding: 0; + color: #ffffff; + line-height: 48px; +} +button.wxBtn { + background-color: #fff !important; + color: var(--color-ysd); + border: 1px solid var(--color-ysd); +} \ No newline at end of file diff --git a/pages/test/index.js b/pages/test/index.js new file mode 100644 index 0000000..464e435 --- /dev/null +++ b/pages/test/index.js @@ -0,0 +1,32 @@ +// pages/test/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + questList: [{ + questions: 'Q:这是问题', + answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容", + t:false, + }, { + questions: 'Q:这是问题', + answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容", + t:false, + }, { + questions: 'Q:这是问题', + answers: "A:答案内答案内容答案内容答案内容答案内容答案内容答案内容容容答案内容容容答案内容容", + t:false, + }], + }, +// 折叠面板 + panel: function (e) { + this.data.questList.forEach(item =>{ + item.t = false + }) + this.data.questList[e.currentTarget.dataset.index].t = !this.data.questList[e.currentTarget.dataset.index].t + this.setData({ + questList:this.data.questList + }) + }, +}) \ No newline at end of file diff --git a/pages/test/index.json b/pages/test/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/test/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/test/index.wxml b/pages/test/index.wxml new file mode 100644 index 0000000..e2a9884 --- /dev/null +++ b/pages/test/index.wxml @@ -0,0 +1,8 @@ + + + + {{item.questions}} + + {{item.answers}} + + \ No newline at end of file diff --git a/pages/test/index.wxss b/pages/test/index.wxss new file mode 100644 index 0000000..5176b3f --- /dev/null +++ b/pages/test/index.wxss @@ -0,0 +1,47 @@ +.help { + width: 700rpx; + margin: 0 auto; +} +.help .help_item { + margin: 10rpx auto; +} +.help .help_item .title { + font-size: 30rpx; + height: 80rpx; + line-height: 80rpx; + border-bottom: 1rpx solid #E6E6E6; + display: flex; +} +.help .help_item .title .title_1 { + width: 630rpx; + height: 80rpx; + padding-left: 20rpx; +} +.help .help_item .title .title_2 { + width: 50rpx; + height: 60rpx; + text-align: center; +} +.help .help_item .title .title_2 image { + margin: 10rpx auto; + width: 25rpx; +} +.help .help_item .detail { + margin: 10rpx auto; + font-size: 25rpx; + line-height: 40rpx; + font-size: 30rpx; + height: 200rpx; + transition: height 1s; + -moz-transition: height 1s; + /* Firefox 4 */ + -webkit-transition: height 1s; + /* Safari and Chrome */ + -o-transition: height 1s; + /* Opera */ + overflow: hidden; + font-size: 28rpx; + color: #1F1F21; + padding-left: 20rpx; + box-sizing: border-box; +} \ No newline at end of file diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..d48c1d3 --- /dev/null +++ b/project.config.json @@ -0,0 +1,52 @@ +{ + "description": "项目配置文件,详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "setting": { + "urlCheck": true, + "es6": false, + "enhance": true, + "postcss": true, + "preloadBackgroundData": false, + "minified": true, + "newFeature": false, + "coverView": true, + "nodeModules": false, + "autoAudits": false, + "showShadowRootInWxmlPanel": true, + "scopeDataCheck": false, + "uglifyFileName": false, + "checkInvalidKey": true, + "checkSiteMap": true, + "uploadWithSourceMap": true, + "compileHotReLoad": false, + "lazyloadPlaceholderEnable": false, + "useMultiFrameRuntime": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "useIsolateContext": true, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": true, + "disableUseStrict": false, + "minifyWXML": true, + "showES6CompileOption": false, + "useCompilerPlugins": false, + "ignoreUploadUnusedFiles": true, + "useStaticServer": true, + "condition": false + }, + "compileType": "miniprogram", + "condition": {}, + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 2 + }, + "appid": "wx0e390bea912ae982", + "packOptions": { + "ignore": [], + "include": [] + } +} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..ac64285 --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,190 @@ +{ + "setting": { + "compileHotReLoad": true, + "urlCheck": false + }, + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "signupAssistant", + "condition": { + "miniprogram": { + "list": [ + { + "name": "实名认证", + "pathName": "pages/realName1/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "首页", + "pathName": "pages/index/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "审核中", + "pathName": "pages/myBill/index", + "query": "status=20", + "launchMode": "default", + "scene": null + }, + { + "name": "实名认证", + "pathName": "pages/realName1/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "实名认证", + "pathName": "pages/seeldCard/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "修改地址", + "pathName": "pages/addAddress/index", + "query": "id=14", + "launchMode": "default", + "scene": null + }, + { + "name": "个人信息", + "pathName": "pages/userDetail/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/ceshi/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/myBill/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "报名", + "pathName": "pages/workBench/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/wodeBillDetail/index", + "query": "scene=factoryBillId%3D147%2CagencyId%3D3026", + "launchMode": "default", + "scene": 1047 + }, + { + "name": "", + "pathName": "pages/returnMessage/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/bocaiTV/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/bocaiTVConfig/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/makeInfo/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/IDCardWithNFC/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/realName1/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/addressPage/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/secret/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/bocaiTV/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "详情", + "pathName": "pages/detail/index", + "query": "storeJobId=8666&wxCode=", + "launchMode": "default", + "scene": null + }, + { + "name": "收藏", + "pathName": "pages/collect/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "分享识别职位", + "pathName": "pages/shareList/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/test/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "", + "pathName": "pages/newEnroll/enroll/index", + "query": "applyType=1&info=%7B%22agencyMode1%22%3A%22%22%2C%22agencyMode3%22%3A%22%22%2C%22interviewDuration%22%3A%22%E4%B8%8B%E5%8D%88%E5%9B%9B%E7%82%B9%E9%97%A8%E5%BA%97%E7%BB%9F%E4%B8%80%E9%9B%86%E5%90%88%E5%8F%91%E8%BD%A6%EF%BC%8C%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E7%9B%B4%E6%8E%A5%E5%8E%BB%E5%8E%82%E5%8C%BA%E9%9B%86%E5%90%88%22%2C%22agencyMode2%22%3A%22%22%2C%22paySubject%22%3A%22%22%2C%22salaryStructure%22%3A%22%22%2C%22workingLunch%22%3A%22%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86%22%2C%22idCard%22%3A%22%22%2C%22numMale%22%3A0%2C%22salary%22%3A%22%22%2C%22workClasses%22%3A%22%E4%B8%A4%E7%8F%AD%E5%80%92%22%2C%22minDay%22%3A%22%22%2C%22probation%22%3A%22%E6%97%A0%E8%AF%95%E7%94%A8%E6%9C%9F%22%2C%22calcType%22%3A%22%22%2C%22maxMonthlyPay%22%3A%227000%22%2C%22signType%22%3A%22%22%2C%22dormType%22%3A%22%22%2C%22reimbursement%22%3A%22%22%2C%22state%22%3A1%2C%22otherInfo%22%3A%22%22%2C%22bankInfo%22%3A%22%E5%9B%9B%E5%A4%A7%E8%A1%8C%22%2C%22interviewLng%22%3A%22%22%2C%22workingTime%22%3A%22%22%2C%22mealCardDeposit%22%3A%22%22%2C%22maxAgeWoman%22%3A50%2C%22hourlyPay%22%3A%22260%E5%85%83%2F%E5%A4%A9%22%2C%22version%22%3A%22f49ad05e8122468c9303d02dc2cb1752%22%2C%22meettingLng%22%3A%22%22%2C%22paymentSalaryTypeDesp%22%3A%22%22%2C%22agencyProfit%22%3A%2225%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83%22%2C%22minHour%22%3A%22%22%2C%22otherDesp%22%3A%22%22%2C%22outListTime%22%3A%22%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%22%2C%22boonDesp%22%3A%22%22%2C%22basicSalary%22%3A%22%22%2C%22entryInformation%22%3A%22%22%2C%22telSubsidy%22%3A%22%22%2C%22foregift%22%3A%5B%5D%2C%22baseInfo%22%3A%22%22%2C%22normalPercent%22%3A0%2C%22jobCategory%22%3A1%2C%22muslim%22%3A%22%22%2C%22totalProfit%22%3A%2230%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83%22%2C%22workMode%22%3A%22%E7%AB%99%E7%8F%AD%22%2C%22storeJobNoticeId%22%3A22172%2C%22dormitory%22%3A%22%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A%22%2C%22leaveRequire%22%3A%22%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85%22%2C%22fullDegree%22%3A93%2C%22jobNamePrefix%22%3A%22%22%2C%22combiSalary%22%3A%22%22%2C%22onSiteTransfers%22%3A%22%22%2C%22promote%22%3A%22%22%2C%22mealSubsidyDesp%22%3A%22%22%2C%22endDay%22%3A%22%22%2C%22paymentCycle%22%3A%22%22%2C%22onSiteRemark%22%3A%22%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%5Cr%5Cn%5Cr%5Cn%E9%A9%BB%E5%9C%BA%EF%BC%9A19036980027%EF%BC%88%E6%8E%A5%E5%BE%85%E9%9D%A2%E8%AF%95%EF%BC%89%5Cr%5Cn%5Cr%5Cn%E2%9A%A0%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%81%94%E7%B3%BB%E4%B8%8D%E4%B8%8A%E9%A9%BB%E5%9C%BA%EF%BC%8C%E9%9D%A2%E8%AF%95%E6%9C%89%E4%BB%BB%E4%BD%95%E9%97%AE%E9%A2%98%EF%BC%8C%E7%9B%B4%E6%8E%A5%E8%81%94%E7%B3%BB%E8%A2%81%E8%80%81%E5%B8%8819036980019%22%2C%22agencyStatement%22%3A%22%22%2C%22salaryClassify%22%3A1%2C%22recruitmentStartTime%22%3A1697536103000%2C%22blacklist%22%3A%22%22%2C%22holidayRestDays%22%3A%22%22%2C%22sweetTips%22%3A%22%22%2C%22storeId%22%3A13948%2C%22returnFeeType%22%3A1%2C%22waterAndElec%22%3A%22%22%2C%22roomSubsidy%22%3A%22%22%2C%22dormitoryDesp%22%3A%5B%22%E5%BD%93%E5%A4%A9%E5%AE%89%E6%8E%92%E4%BD%8F%E5%AE%BF%22%5D%2C%22deleted%22%3A2%2C%22createTime%22%3A1697534476000%2C%22maxAgeMan%22%3A55%2C%22lastEntryLeaveTime%22%3A%22%22%2C%22bus%22%3A%22%22%2C%22notes%22%3A%221.%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%22%2C%22dormitoryCost%22%3A%22%22%2C%22salaryEnd%22%3A%22%22%2C%22calculationUnit%22%3A%22%22%2C%22idCardType%22%3A%221%22%2C%22hasInterviewAddr%22%3A1%2C%22starLevelId%22%3A%22%22%2C%22yearRestDays%22%3A%22%22%2C%22salaryType%22%3A1%2C%22holidaySalary%22%3A%22%22%2C%22allFieldsStr%22%3A%22StoreJobEs%7Bid3D9674%2C%20supplierId3D40%2C%20storeId3D13948%2C%20jobName3D'%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5'%2C%20storeName3D'%E6%B5%99%E6%B1%9F%E9%A1%BA%E4%B8%B0%E5%BF%AB%E9%80%92'%2C%20brandName3D'%E9%A1%BA%E4%B8%B0%E5%BF%AB%E9%80%92'%2C%20notes3D'1.%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97'%2C%20salaryDetail3D'%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97'%2C%20bankInfo3D'%E5%9B%9B%E5%A4%A7%E8%A1%8C'%2C%20probation3D'%E6%97%A0%E8%AF%95%E7%94%A8%E6%9C%9F'%2C%20boon3D'%E6%97%A0'%2C%20training3D'%E6%97%A0%E5%9F%B9%E8%AE%AD'%2C%20maxAge3D55%2C%20minAge3D18%2C%20maxAgeMan3D18%2C%20minAgeMan3D18%2C%20maxAgeWoman3D50%2C%20minAgeWoman3D18%2C%20education3D'%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97'%2C%20idCard3D''%2C%20otherRequire3D''%2C%20healthRequire3D'%E4%B8%8D%E4%BD%93%E6%A3%80'%2C%20workContent3D'%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6'%2C%20workMode3D'%E7%AB%99%E7%8F%AD'%2C%20workClasses3D'%E4%B8%A4%E7%8F%AD%E5%80%92'%2C%20workClothes3D'%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3'%2C%20securityCheck3D'%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4'%2C%20employeeInsurance3D'%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88'%2C%20workingLunch3D'%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86'%2C%20dormitory3D'%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A'%2C%20dormitoryFacilities3D'%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8'%2C%20dormDistance3D'%E5%8E%82%E5%8C%BA%E4%BD%8F%E5%AE%BF'%2C%20dormitoryDesp3D'%E5%BD%93%E5%A4%A9%E5%AE%89%E6%8E%92%E4%BD%8F%E5%AE%BF'%2C%20interviewDuration3D'%E4%B8%8B%E5%8D%88%E5%9B%9B%E7%82%B9%E9%97%A8%E5%BA%97%E7%BB%9F%E4%B8%80%E9%9B%86%E5%90%88%E5%8F%91%E8%BD%A6%EF%BC%8C%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E7%9B%B4%E6%8E%A5%E5%8E%BB%E5%8E%82%E5%8C%BA%E9%9B%86%E5%90%88'%2C%20onSiteInfo3D'1.%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E8%81%94%E7%B3%BB%EF%BC%9A17303712435%E8%92%8B%E6%9D%B0%5Cn2.%E7%9C%81%E5%A4%96%E6%8E%A5%E4%BA%BA%E7%94%B5%E8%AF%9D%EF%BC%9A17303815171%E7%99%BD%E8%80%81%E5%B8%88'%2C%20interviewDesp3D'%E6%8A%A5%E5%90%8D%E6%8A%BC%E9%87%9150%E5%85%83%EF%BC%8C%E4%B8%8A%E8%BD%A6%E9%80%80%EF%BC%8C10%E6%9C%8819%E5%8F%B7%E5%87%86%E6%97%B6%E5%8F%91%E8%BD%A6'%2C%20entryDesp3D'%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E7%BB%93%E6%9D%9F'%2C%20leaveRequire3D'%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85'%2C%20totalProfit3D'30%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83'%2C%20boCaiProfit3D'5%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A50%E5%85%83'%2C%20returnFeeType3D1%2C%20returnFee3D2500%2C%20returnFeeDesp3D''%2C%20agencyProfit3D'25%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A5150%E5%85%83'%2C%20deductTaxDesp3D'%E4%B8%8D%E5%90%AB%E7%A8%8E'%2C%20outListTime3D'%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F'%2C%20settlementTime3D'%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85'%2C%20maxMonthlyPay3D700000%2C%20minMonthlyPay3D600000%2C%20salaryDesp3D'%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93'%2C%20jobLabelId3Dnull%2C%20jobSpecialLabelId3D'621%2C602%2C605%2C177%2C634%2C551%2C606%2C608'%2C%20jobRequestLabelId3D'369'%2C%20jobCategoryLabelId3D'645'%2C%20jobSpecialLabelName3D'%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%2C%20%E4%BA%A4%E5%95%86%E4%BF%9D%2C%20%E7%9F%AD%E6%9C%9F%E5%B7%A5%2C%20%E5%B7%A5%E8%B5%84%E6%97%A5%E7%BB%93%2C%20%E5%85%8D%E8%B7%AF%E8%B4%B9%2C%20%E4%BB%8A%E6%97%A5%E7%83%AD%E6%8E%A8%2C%20%E4%B8%8D%E4%BD%93%E6%A3%80%2C%20%E5%85%8D%E8%B4%B9%E8%A2%AB%E8%A4%A5'%2C%20jobRequestLabelName3D'%E6%BB%A118%E5%91%A8%E5%B2%81'%2C%20jobCategoryLabelName3D'%E5%BF%AB%E9%80%92%E7%89%A9%E6%B5%81'%2C%20payDay3D'%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%E5%90%8E%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85'%2C%20foregift3D'%E6%8A%A5%E5%90%8D%E6%8A%BC%E9%87%9150%E5%85%83%EF%BC%8C%E4%B8%8A%E8%BD%A6%E9%80%80'%2C%20salaryClassify3D1%2C%20salaryClassifyValue3D26000%7D%22%2C%22workOvertime%22%3A%22%22%2C%22workingLunchDesp%22%3A%22%22%2C%22desp%22%3A%22%22%2C%22meettingLat%22%3A%22%22%2C%22minAge%22%3A18%2C%22projectId%22%3A%22%22%2C%22sexAge%22%3A%22%22%2C%22boon%22%3A%22%E6%97%A0%22%2C%22otherQuestions%22%3A%22%22%2C%22onSiteInfo%22%3A%221.%E7%9C%81%E5%A4%96%E5%8F%91%E8%BD%A6%E8%81%94%E7%B3%BB%EF%BC%9A17303712435%E8%92%8B%E6%9D%B0%5Cn2.%E7%9C%81%E5%A4%96%E6%8E%A5%E4%BA%BA%E7%94%B5%E8%AF%9D%EF%BC%9A17303815171%E7%99%BD%E8%80%81%E5%B8%88%22%2C%22numberPay%22%3A%22%22%2C%22training%22%3A%22%E6%97%A0%E5%9F%B9%E8%AE%AD%22%2C%22probationDesp%22%3A%22%22%2C%22onDuty%22%3A%22%22%2C%22jobRequestLabelId%22%3A%22369%22%2C%22updater%22%3A%22315822%22%2C%22hasRoomAddr%22%3A1%2C%22payCard%22%3A%22%22%2C%22bedding%22%3A%22%22%2C%22userMode2%22%3A%22%22%2C%22ruleName%22%3A%22%22%2C%22userMode3%22%3A%22%22%2C%22jobType%22%3A%22%22%2C%22workDurationDesp%22%3A%22%22%2C%22userMode1%22%3A%22%22%2C%22dormitoryFacilities%22%3A%22%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8%22%2C%22entryAddr%22%3A%22%22%2C%22workTypeMulti%22%3A%22%22%2C%22workDuration%22%3A%22%22%2C%22monthPay%22%3A%22%22%2C%22deliveryDays%22%3A0%2C%22returnFee%22%3A%2225%22%2C%22entryContracts%22%3A%22%22%2C%22jobRequestLabelNames%22%3A%5B%22%E6%BB%A118%E5%91%A8%E5%B2%81%22%5D%2C%22liveSubsidy%22%3A0%2C%22minAgeMan%22%3A18%2C%22numFemale%22%3A0%2C%22education%22%3A%22%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97%22%2C%22notesUpdateTime%22%3A%22%22%2C%22leaveDesp%22%3A%22%22%2C%22payoffDate%22%3A%22%22%2C%22collected%22%3A2%2C%22cycleWeek%22%3A%22%22%2C%22jobLabelId%22%3A%22%22%2C%22criminalDesp%22%3A%22%22%2C%22specificPolicy%22%3A%22%22%2C%22payType%22%3A%22%22%2C%22recruitment%22%3A1%2C%22offlineAlertTime%22%3A%22%22%2C%22jobSpecialLabelNames%22%3A%5B%22%E5%B7%A5%E8%B5%84%E6%97%A5%E7%BB%93%22%2C%22%E5%85%8D%E8%B7%AF%E8%B4%B9%22%2C%22%E4%BA%A4%E5%95%86%E4%BF%9D%22%2C%22%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%22%2C%22%E5%85%8D%E8%B4%B9%E8%A2%AB%E8%A4%A5%22%2C%22%E4%B8%8D%E4%BD%93%E6%A3%80%22%2C%22%E7%9F%AD%E6%9C%9F%E5%B7%A5%22%2C%22%E4%BB%8A%E6%97%A5%E7%83%AD%E6%8E%A8%22%5D%2C%22nightSubsidy%22%3A%22%22%2C%22regularBus%22%3A%22%22%2C%22id%22%3A9674%2C%22adjustSalaryDesp%22%3A%22%22%2C%22calculationSalaryType%22%3A%22%22%2C%22monRestDays%22%3A%22%22%2C%22urgencyPercent%22%3A0%2C%22workCycle%22%3A%22%22%2C%22idCardStr%22%3A%22%E9%9C%80%E8%A6%81%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8E%9F%E4%BB%B6%22%2C%22minMonthlyPay%22%3A%226000%22%2C%22mealFee%22%3A%22%22%2C%22returnFeeDesp%22%3A%22%22%2C%22otherRequireStr%22%3A%22%E7%BA%B9%E8%BA%AB%E7%83%9F%E7%96%A4%E9%9C%80%E6%8F%90%E5%89%8D%E7%A1%AE%E8%AE%A4%EF%BC%8C%E4%B8%8D%E6%8E%A5%E6%94%B6%E6%A1%88%E5%BA%95%22%2C%22boCaiProfit%22%3A%225%E5%85%83%2F%E5%A4%A9*%E6%94%AF%E4%BB%98%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8B%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%E6%88%96%E8%87%AA%E8%A1%8C%E5%89%8D%E5%8E%BB%E5%85%A5%E8%81%8C%E8%BD%A6%E8%A1%A50%E5%85%83%22%2C%22onlineAlertTime%22%3A1697535982000%2C%22roomSubsidyDesp%22%3A%22%22%2C%22salaryStart%22%3A%22%22%2C%22tattoo%22%3A3%2C%22minAgeWoman%22%3A18%2C%22workByTurns%22%3A%22%22%2C%22gender%22%3A%22%22%2C%22jobRequestDesp%22%3A%22%22%2C%22mealSubsidy%22%3A%22%22%2C%22lastJobUpdator%22%3A%22%E7%8E%8B%E6%A2%A6%E9%9B%A8%22%2C%22staffNum%22%3A0%2C%22entryDesp%22%3A%22%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E7%BB%93%E6%9D%9F%22%2C%22carryTel%22%3A%22%22%2C%22numType%22%3A0%2C%22dayPay%22%3A%22%22%2C%22creator%22%3A%22316329%22%2C%22tripMode%22%3A%22%22%2C%22projectExecutor%22%3A%22%22%2C%22updateTime%22%3A1698202451000%2C%22workClothes%22%3A%22%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3%22%2C%22dormDistance%22%3A%22%E5%8E%82%E5%8C%BA%E4%BD%8F%E5%AE%BF%22%2C%22sortIdx%22%3A1%2C%22maxAge%22%3A55%2C%22workTimeStr%22%3A%22%22%2C%22interviewAddr%22%3A%22%22%2C%22payDay%22%3A%22%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%E5%90%8E%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85%22%2C%22trafficSubsidy%22%3A%22%22%2C%22lastJobUpdateTime%22%3A1698202451000%2C%22paymentSalaryType%22%3A%22%22%2C%22otherRequire%22%3A%22%22%2C%22agencyRelateUserMode1%22%3A%22%22%2C%22agencyRelateUserMode3%22%3A%22%22%2C%22agencyRelateUserMode2%22%3A%22%22%2C%22jobSpecialLabelId%22%3A%22621%2C602%2C605%2C177%2C634%2C551%2C606%2C608%22%2C%22dormitoryDistance%22%3A%22%22%2C%22workContent%22%3A%22%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%22%2C%22bonusSalary%22%3A%22%22%2C%22timeType%22%3A%22%22%2C%22healthRequire%22%3A%22%E4%B8%8D%E4%BD%93%E6%A3%80%22%2C%22storeJobNoticeTime%22%3A1698193831000%2C%22entryWeight%22%3A0%2C%22meettingAddr%22%3A%22%22%2C%22performanceSalary%22%3A%22%22%2C%22criminal%22%3A2%2C%22interviewLat%22%3A%22%22%2C%22jobName%22%3A%22%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%22%2C%22offlineDesp%22%3A%22%22%2C%22startDay%22%3A%22%22%2C%22blacklistDesp%22%3A%22%22%2C%22handoverInfo%22%3A%22%22%2C%22rainbow%22%3A0%2C%22dormitoryAdvance%22%3A%22%22%2C%22standOrSit%22%3A%22%22%2C%22jobDesp%22%3A%22%E3%80%90%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%E3%80%91%5Cn%5Cn%F0%9F%94%A5%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%5Cn%F0%9F%94%A5%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%5Cn%F0%9F%94%A5%E4%B8%8D%E4%BD%93%E6%A3%80%EF%BC%8C%E4%B8%8D%E9%9D%A2%E8%AF%95%EF%BC%8C%E7%9B%B4%E6%8E%A5%E4%B8%8A%E7%8F%AD%5Cn%5Cn%F0%9F%9A%BB%E7%94%B7%2018-55%EF%BC%9B%E5%A5%B3%2018-50%EF%BC%8C%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97%EF%BC%8C%E9%9C%80%E8%A6%81%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8E%9F%E4%BB%B6%EF%BC%8C%E7%BA%B9%E8%BA%AB%E7%83%9F%E7%96%A4%E9%9C%80%E6%8F%90%E5%89%8D%E7%A1%AE%E8%AE%A4%EF%BC%8C%E4%B8%8D%E6%8E%A5%E6%94%B6%E6%A1%88%E5%BA%95%5Cn%5Cn%F0%9F%92%B0%E8%96%AA%E8%B5%84%E5%BE%85%E9%81%87%EF%BC%9A%5Cn%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%F0%9F%93%A3%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%5Cn%E2%8F%B0%E4%B8%A4%E7%8F%AD%E5%80%92%EF%BC%8C%E7%AB%99%E7%8F%AD%EF%BC%8C%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4%EF%BC%8C%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3%5Cn%F0%9F%88%B6%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88%EF%BC%8C%E4%B8%8D%E4%BD%93%E6%A3%80%5Cn%5Cn%F0%9F%8D%B1%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86%5Cn%F0%9F%8F%A0%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A%EF%BC%8C%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8%5Cn%5Cn%E2%9A%A0%E6%B3%A8%E6%84%8F%EF%BC%9A%5Cn1.%20%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%20%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%22%2C%22employeeInsurance%22%3A%22%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88%22%2C%22otherCard%22%3A%22%22%2C%22tattooDesp%22%3A%22%22%2C%22salaryClassifyValue%22%3A26000%2C%22supplierId%22%3A40%2C%22hotTime%22%3A1698134591000%2C%22certificate%22%3A%22%22%2C%22deductTaxDesp%22%3A%22%E4%B8%8D%E5%90%AB%E7%A8%8E%22%2C%22transferFee%22%3A%22%22%2C%22interviewDesp%22%3A%22%E6%8A%A5%E5%90%8D%E6%8A%BC%E9%87%9150%E5%85%83%EF%BC%8C%E4%B8%8A%E8%BD%A6%E9%80%80%EF%BC%8C10%E6%9C%8819%E5%8F%B7%E5%87%86%E6%97%B6%E5%8F%91%E8%BD%A6%22%2C%22onlineTime%22%3A1697535982000%2C%22dormitoryPeoples%22%3A%22%22%2C%22offlineTime%22%3A%22%22%2C%22jobCategoryLabelId%22%3A%22645%22%2C%22deliveryRuleId%22%3A%22%22%2C%22securityCheck%22%3A%22%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4%22%2C%22supplierName%22%3A%22%22%2C%22payChannels%22%3A%22%22%2C%22recruitmentEndTime%22%3A%22%22%2C%22dormitoryType%22%3A%22%22%2C%22rebate%22%3A%22%22%2C%22dormPermise%22%3A%22%22%2C%22numDesp%22%3A%22%22%2C%22salaryDesp%22%3A%5B%22%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%22%5D%2C%22entryDuration%22%3A%22%22%2C%22settlementTime%22%3A%22%E4%BA%BA%E8%B5%B0%E8%B4%A6%E6%B8%85%22%2C%22workType%22%3A%22%E5%85%A8%E8%81%8C%22%2C%22standardPaySubject%22%3A%22%22%2C%22leaveImproper%22%3A%22%22%2C%22salaryDetail%22%3A%22%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%22%2C%22percentageSalary%22%3A%22%22%2C%22genderRestrict%22%3A%22%E7%94%B7%E5%A5%B3%E4%B8%8D%E9%99%90%22%2C%22jobDesp1%22%3A%22%E3%80%90%E6%B5%99%E6%B1%9F%E6%B8%A9%E5%B7%9E%E9%A1%BA%E4%B8%B0%E7%9F%AD%E6%9C%9F%E6%97%A5%E7%BB%93%E5%B7%A5%E3%80%91%5Cn%5Cn%F0%9F%94%A5%E5%85%8D%E8%B7%AF%E8%B4%B9%E5%8F%91%E8%BD%A6%5Cn%F0%9F%94%A5%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E5%85%8D%E8%B4%B9%E4%BD%8F%E5%AE%BF%5Cn%F0%9F%94%A5%E4%B8%8D%E4%BD%93%E6%A3%80%EF%BC%8C%E4%B8%8D%E9%9D%A2%E8%AF%95%EF%BC%8C%E7%9B%B4%E6%8E%A5%E4%B8%8A%E7%8F%AD%5Cn%5Cn%F0%9F%9A%BB%E7%94%B7%2018-55%EF%BC%9B%E5%A5%B3%2018-50%EF%BC%8C%E4%BC%9A%E7%8E%A9%E6%99%BA%E8%83%BD%E6%89%8B%E6%9C%BA%EF%BC%8C%E8%AF%86%E5%AD%97%EF%BC%8C%E9%9C%80%E8%A6%81%E8%BA%AB%E4%BB%BD%E8%AF%81%E5%8E%9F%E4%BB%B6%EF%BC%8C%E7%BA%B9%E8%BA%AB%E7%83%9F%E7%96%A4%E9%9C%80%E6%8F%90%E5%89%8D%E7%A1%AE%E8%AE%A4%EF%BC%8C%E4%B8%8D%E6%8E%A5%E6%94%B6%E6%A1%88%E5%BA%95%5Cn%5Cn%F0%9F%92%B0%E8%96%AA%E8%B5%84%E5%BE%85%E9%81%87%EF%BC%9A%5Cn%E8%96%AA%E8%B5%84%EF%BC%9A260%E5%85%83%2F%E5%A4%A9%EF%BC%8C%E5%B7%A5%E6%9C%9F20~30%E5%A4%A9%EF%BC%8C%E5%85%B7%E4%BD%93%E4%BB%A5%E9%80%9A%E7%9F%A5%E4%B8%BA%E5%87%86%EF%BC%8C%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%F0%9F%93%A3%E5%91%98%E5%B7%A5%E5%B7%A5%E4%BD%9C%3A%E5%88%86%E6%8B%A3%EF%BC%8C%E6%89%AB%E6%8F%8F%EF%BC%8C%E5%B0%8F%E4%BB%B6%E8%A3%85%E5%8D%B8%EF%BC%8C%E5%B9%B2%E8%BF%87%E7%9A%84%E9%83%BD%E7%9F%A5%E9%81%93%EF%BC%8C%E5%B7%A5%E4%BD%9C%E7%89%B9%E5%88%AB%E8%BD%BB%E6%9D%BE%E3%80%82%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%EF%BC%8C%E5%85%A8%E9%83%A8%E5%B0%8F%E4%BB%B6%5Cn%E2%8F%B0%E4%B8%A4%E7%8F%AD%E5%80%92%EF%BC%8C%E7%AB%99%E7%8F%AD%EF%BC%8C%E5%B8%B8%E6%B8%A9%E8%BD%A6%E9%97%B4%EF%BC%8C%E6%99%AE%E9%80%9A%E5%B7%A5%E8%A1%A3%5Cn%F0%9F%88%B6%E5%95%86%E4%BF%9D60%E5%85%83%2F%E6%9C%88%EF%BC%8C%E4%B8%8D%E4%BD%93%E6%A3%80%5Cn%5Cn%F0%9F%8D%B1%E5%90%83%E9%A5%AD%E8%87%AA%E7%90%86%5Cn%F0%9F%8F%A0%E4%BD%8F%E5%AE%BF%E5%85%8D%E8%B4%B9%EF%BC%8C%E5%8E%82%E5%8C%BA%E5%85%8D%E8%B4%B9%E6%8F%90%E4%BE%9B%E8%A2%AB%E8%A4%A5%EF%BC%8C%E6%B0%B4%E7%94%B5%E5%9D%87%E6%91%8A%EF%BC%8C%E9%85%8D%E5%A5%97%E9%BD%90%E5%85%A8%5Cn%5Cn%3Ci%20class3D't-icon%20t-icon-zhuyi'%20style3D'margin-bottom%3A-2px%3Bwidth%3A17px%3Bheight%3A17px%3Bbackground-repeat%3Ano-repeat%3Bbackground-size%3A100%25%20100%25'%3E%3C%2Fi%3E%E6%B3%A8%E6%84%8F%EF%BC%9A%5Cn1.%20%E7%89%B9%E5%88%AB%E6%B3%A8%E6%84%8F%EF%BC%9A%E8%A6%81%E6%B1%82%E5%91%98%E5%B7%A5%E5%B9%B2%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E5%B9%B2%E4%B8%8D%E5%88%B0%E5%B7%A5%E6%9C%9F%E7%BB%93%E6%9D%9F%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%E4%B8%8D%E5%8F%91%EF%BC%8C%E6%97%A0%E7%89%B9%E6%AE%8A%E6%83%85%E5%86%B5%E4%B8%8D%E5%85%81%E8%AF%B7%E5%81%87%E3%80%82%E8%AF%B7%E5%81%87%E4%B8%80%E5%A4%A9%E5%90%8E%E6%8C%89220%E5%85%83%E5%BC%80%E5%B7%A5%E8%B5%84%E3%80%82%E5%A6%82%E9%81%87%E5%B9%B2%E5%8D%8A%E5%A4%A9%E7%8F%AD%E7%9A%84%E5%BD%93%E5%A4%A9%E6%B2%A1%E6%9C%89%E5%B7%A5%E8%B5%84%EF%BC%8C%E8%A6%81%E6%B1%82%E5%B9%B2%E5%88%B02023%E5%B9%B411%E6%9C%8817%E5%8F%B7%E5%90%8E%5Cn2.%20%E5%8E%8B%E4%B8%89%E5%A4%A9%E5%B7%A5%E8%B5%84%EF%BC%8C%E4%B8%89%E5%A4%A9%E5%90%8E%E6%97%A5%E7%BB%93%EF%BC%8C%E8%B6%85%E5%87%BA%E6%88%96%E4%B8%8D%E8%B6%B312%E4%B8%AA%E5%B0%8F%E6%97%B6%EF%BC%8C%E6%8C%8922%E5%85%83%2F%E5%B0%8F%E6%97%B6%E6%A0%B8%E7%AE%97%5Cn%5Cn%22%2C%22age%22%3A%2218-55%E5%B2%81%22%2C%22monthlyPay%22%3A%226000-7000%22%2C%22districtDetail%22%3A%22%22%2C%22storeName%22%3A%22%E6%B5%99%E6%B1%9F%E9%A1%BA%E4%B8%B0%E6%97%A5%E7%BB%93%E7%9F%AD%E6%9C%9F%E5%B7%A5%22%7D", + "launchMode": "default", + "scene": null + } + ] + } + }, + "libVersion": "3.0.0" +} \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/utils/commonUtil.js b/utils/commonUtil.js new file mode 100644 index 0000000..2e876db --- /dev/null +++ b/utils/commonUtil.js @@ -0,0 +1,1586 @@ +/** + * 如果是null '' 'null' 'undefined' + * @param item + * @returns + */ +export function isEmptyCheck(value) { + if (value == null || value === "" || value == "null" || typeof value == "undefined") { + return true; + } + + return false; +} +/** + * 如果不是是null '' 'null' 'undefined' + * @param item + * @returns + */ + +export function isNotEmptyCheck(value) { + return !isEmptyCheck(value); +} +/** + * 根据状态工单类型ID获取名称 + */ + +export function getDistanceName(distance) { + let str = ""; + + if (isNotEmptyCheck(distance)) { + if (distance > 1000) { + var dis = distance / 1000; + dis = dis.toFixed(1); + str = dis + "km"; + } else { + str = distance + "m"; + } + } + + return str; +} +/** + * 业务类型 + */ + +export function jobTypeArray() { + let jobTypeArray = [ + { + id: "0", + name: "代理招聘", + name2: "代理招聘", + value: "0", + text: "代理招聘", + checked: false, + }, + { + id: "1", + name: "劳务派遣", + name2: "全职", + value: "1", + text: "劳务派遣", + checked: false, + }, + { + id: "2", + name: "劳务外包", + name2: "兼职", + value: "2", + text: "劳务外包", + checked: false, + }, + { + id: "4", + name: "劳务外包挂靠", + name2: "劳务外包挂靠", + value: "4", + text: "劳务外包挂靠", + checked: false, + }, + ]; + return jobTypeArray; +} +/** + * 根据业务类型ID获取名称 + */ + +export function getJobTypeById(id) { + let str = ""; + let array = jobTypeArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} +/** + * 工种类型 + */ + +export function workTypeArray() { + let workTypeArray = [ + { + id: 0, + name: "全职", + value: "0", + text: "全职", + checked: false, + }, + { + id: 1, + name: "兼职", + value: "1", + text: "兼职", + checked: false, + }, + { + id: 2, + name: "寒暑假工", + value: "2", + text: "寒暑假工", + checked: false, + }, + { + id: 3, + name: "实习生", + value: "3", + text: "实习生", + checked: false, + }, + { + id: 4, + name: "零工", + value: "4", + text: "零工", + checked: false, + }, + ]; + return workTypeArray; +} +/** + * 根据工种类型ID获取名称 + */ + +export function getWorkTypeById(id) { + let str = ""; + let array = workTypeArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} +/** + * 根据工种类型ID获取名称 + */ + +export function getGenderByMinAge(res) { + console.log("==================", res); + let str = ""; + if (res.minAgeMan && res.minAgeWoman) { + str = "男女不限"; + } else if (res.minAgeMan && !res.minAgeWoman) { + str = "仅限男性"; + } else if (!res.minAgeMan && res.minAgeWoman) { + str = "仅限女性"; + } + return str; +} +/** + * 根据传递的scene参数,获取里面的内容 + */ +export function sceneToJson(sceneStr) { + let json = {}; + let array = sceneStr.split(","); + array.forEach((item) => { + let arr = item.split("="); + let key = arr[0]; + let value = arr[1]; + json[key] = value; + }); + return json; +} + +var isMarry = [ + // { id: "", name: "请选择"}, + { id: "未婚", name: "未婚" }, + { id: "已婚", name: "已婚" }, + { id: "离异", name: "离异" }, + { id: "其它", name: "其它" }, +]; + +var isMarry2 = [ + { id: "", name: "请选择" }, + { id: "未婚", name: "未婚" }, + { id: "已婚", name: "已婚" }, + { id: "离异", name: "离异" }, + { id: "其它", name: "其它" }, +]; + +var education = [ + // { id: "", name: "请选择"}, + { id: "初中", name: "初中" }, + { id: "中专", name: "中专" }, + { id: "高中", name: "高中" }, + { id: "大专", name: "大专" }, + { id: "本科及以上", name: "本科及以上" }, +]; +// { id: "-1", name: "请选择" }, +var sex = [ + { id: "1", name: "男" }, + { id: "2", name: "女" }, +]; + +var attendanceStatus = [ + { id: "-1", name: "请选择" }, + { id: "1", name: "旷工" }, + { id: "2", name: "正常出勤" }, + // { id: "3", name: "上班缺卡"}, + // { id: "4", name: "下班缺卡"} +]; + +var attendanceStatus2 = [ + { id: "-1", name: "请选择" }, + { id: "1", name: "旷工" }, + { id: "2", name: "正常出勤" }, + { id: "3", name: "上班缺卡" }, + { id: "4", name: "下班缺卡" }, + { id: "5", name: "请假" }, + { id: "6", name: "休息" }, +]; + +var signatoryTypeArray = [ + { id: "0", name: "甲方" }, + { id: "1", name: "乙方" }, + { id: "2", name: "丙方" }, + { id: "3", name: "丁方" }, + { id: "4", name: "午方" }, + { id: "5", name: "己方" }, + { id: "6", name: "庚方" }, + { id: "7", name: "辛方" }, + { id: "8", name: "壬方" }, + { id: "9", name: "癸方" }, +]; + +var contractTypeArray = [ + { id: "0", name: "个人" }, + { id: "1", name: "企业" }, +]; + +var hourArray = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"]; + +var timeArray1 = [["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"], ["00", "30"], ["-"], ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"], ["00", "30"]]; +//是否可以面试 +var interviewArray = [ + { id: "0", name: "请选择" }, + { id: "1", name: "可以面试" }, + { id: "2", name: "不能面试" }, +]; + +//面试反馈状态 +var interviewStatusArray = [ + { id: "0", name: "请选择", checked: false }, + { id: "1", name: "不缺人", checked: false }, + { id: "2", name: "候选人不合适", checked: false }, + { id: "3", name: "面试时间不合适", checked: false }, + { id: "4", name: "面试地点不合适", checked: false }, + { id: "10", name: "爽约", checked: false }, + { id: "11", name: "未通过-形象不符", checked: false }, + { id: "12", name: "未通过-能力不匹配", checked: false }, + { id: "13", name: "放弃", checked: false }, + { id: "21", name: "通过-无法安置", checked: false }, + { id: "20", name: "通过-候选人考虑中", checked: false }, + { id: "29", name: "通过-安排入职", checked: false }, +]; +//面试反馈状态 +var interviewStatusArray1 = [ + { id: "0", name: "请选择", checked: false }, + { id: "1", name: "不缺人", checked: false }, + { id: "2", name: "候选人不合适", checked: false }, + { id: "3", name: "面试时间不合适", checked: false }, + { id: "4", name: "面试地点不合适", checked: false }, +]; +//面试反馈状态 +var interviewStatusArray2 = [ + { id: "0", name: "请选择", checked: false }, + { id: "10", name: "爽约", checked: false }, + { id: "13", name: "放弃", checked: false }, + { id: "11", name: "未通过-形象不符", checked: false }, + { id: "12", name: "未通过-能力不匹配", checked: false }, + { id: "21", name: "通过-无法安置", checked: false }, + { id: "20", name: "通过-候选人考虑中", checked: false }, + { id: "29", name: "通过-安排入职", checked: false }, +]; +//入职反馈状态 +var entryStatusArray = [ + { id: "0", name: "请选择", checked: false }, + { id: "1", name: "候选人主动放弃", checked: false }, + { id: "2", name: "候选人被淘汰", checked: false }, + { id: "10", name: "已入职", checked: false }, +]; + +var workType = [ + { id: "1", name: "全职" }, + { id: "2", name: "兼职" }, + { id: "3", name: "小时工" }, +]; +var workType2 = [ + { id: "0", name: "请选择" }, + { id: "1", name: "全职" }, + { id: "2", name: "兼职" }, + { id: "3", name: "小时工" }, +]; +var workType3 = [ + { id: "0", name: "长期工" }, + { id: "1", name: "短期工" }, + { id: "2", name: "寒暑假工" }, + { id: "3", name: "实习生" }, +]; +var workType4 = [ + { id: "-1", name: "请选择" }, + { id: "0", name: "长期工" }, + { id: "1", name: "短期工" }, + { id: "2", name: "寒暑假工" }, + { id: "3", name: "实习生" }, +]; +//职位工资结算周期 +var settlementCycleArray = [ + { id: "0", name: "月结", checked: false }, + { id: "1", name: "半月结", checked: false }, + { id: "2", name: "周结", checked: false }, + { id: "3", name: "日结", checked: false }, + { id: "4", name: "次结", checked: false }, +]; + +//职位计薪方式 +var salaryTypeArray = [ + { id: "0", name: "按月计薪", subName: "月计", checked: false, type: 1 }, + { id: "1", name: "按日计薪", subName: "日计", checked: false, type: 1 }, + { id: "2", name: "按时计薪", subName: "时计", checked: false, type: 1 }, + { id: "3", name: "按次计薪", subName: "次计", checked: false, type: 1 }, +]; + +var hopeLive = [ + { id: "", name: "请选择" }, + { id: "住宿舍", name: "住宿舍" }, + { id: "不住宿舍", name: "不住宿舍" }, +]; + +var workExp = [ + // { id: "", name: "请选择"}, + { id: "无工作经验", name: "无工作经验" }, + { id: "餐饮管理经验", name: "餐饮管理经验" }, + { id: "餐饮服务岗经验", name: "餐饮服务岗经验" }, + { id: "非餐饮岗位经验", name: "非餐饮岗位经验" }, + { id: "星级酒店前厅岗位经验", name: "星级酒店前厅岗位经验" }, + { id: "其他", name: "其他" }, +]; + +var education2 = [ + { id: "", name: "请选择" }, + { id: "初中", name: "初中" }, + { id: "中专", name: "中专" }, + { id: "高中", name: "高中" }, + { id: "大专", name: "大专" }, + { id: "本科及以上", name: "本科及以上" }, +]; + +var bankAuth = [ + { id: "0", name: "未认证" }, + { id: "1", name: "已认证" }, + { id: "2", name: "审核中" }, +]; + +var auth = [ + { id: "0", name: "未认证" }, + { id: "1", name: "已认证" }, +]; + +var healthAuth = [ + { id: "0", name: "未绑定" }, + { id: "1", name: "已绑定" }, +]; + +function CommonUtil() {} + +export function getHealthArray() { + return healthAuth; +} + +export function getAuthArray() { + return auth; +} +//初始化picker选中项 +export function initAuthPicker(id) { + for (var i = 0; i < auth.length; i++) { + if (auth[i].id == id) { + return i; + } + } + return 0; +} +export function getAuthValue(index) { + return auth[index].id; +} + +export function getIsMarryArray() { + return isMarry; +} +//初始化picker选中项 +export function initIsMarryPicker(name) { + for (var i = 0; i < isMarry.length; i++) { + if (isMarry[i].name == name) { + return i; + } + } + return 0; +} +export function getIsMarryValue(index) { + return isMarry[index].id; +} + +export function getEducationArray() { + return education; +} +//初始化picker选中项 +export function initEducationPicker(name) { + for (var i = 0; i < education.length; i++) { + if (education[i].name == name) { + return i; + } + } + return 0; +} +export function getEducationValue(index) { + return education[index].id; +} + +export function getSexValue(index) { + return sex[index].id; +} + +export function getSexArray() { + return sex; +} +//初始化picker选中项 +export function initSexPicker(id) { + for (var i = 0; i < sex.length; i++) { + if (sex[i].id == id) { + return i; + } + } + return 0; +} + +export function getAttendanceStatus() { + return attendanceStatus; +} +export function getAttendanceStatusValue(index) { + return attendanceStatus[index].id; +} +export function getAttendanceStatusIndex(id) { + for (var i = 0; i < attendanceStatus.length; i++) { + if (attendanceStatus[i].id == id) { + return i; + } + } + return 0; +} +export function getAttendanceStatusName(id) { + for (var i = 0; i < attendanceStatus.length; i++) { + if (attendanceStatus[i].id == id) { + return attendanceStatus[i].name; + } + } + return ""; +} +export function getAttendanceStatusNameOfIndex(index) { + for (var i = 0; i < attendanceStatus.length; i++) { + if (index == i) { + return attendanceStatus[i].name; + } + } + return ""; +} + +export function getAttendanceStatus2() { + return attendanceStatus2; +} +export function getAttendanceStatusValue2(index) { + return attendanceStatus2[index].id; +} +export function getAttendanceStatusIndex2(id) { + for (var i = 0; i < attendanceStatus2.length; i++) { + if (attendanceStatus2[i].id == id) { + return i; + } + } + return 0; +} +export function getAttendanceStatusName2(id) { + for (var i = 0; i < attendanceStatus2.length; i++) { + if (attendanceStatus2[i].id == id) { + return attendanceStatus2[i].name; + } + } + return ""; +} +export function getAttendanceStatusNameOfIndex2(index) { + for (var i = 0; i < attendanceStatus2.length; i++) { + if (index == i) { + return attendanceStatus2[i].name; + } + } + return ""; +} + +export function getSignatoryTypeArray() { + return signatoryTypeArray; +} + +export function getContractTypeArrayArray() { + return contractTypeArray; +} + +export function getHourArray() { + return hourArray; +} + +export function getTimeArray1() { + return timeArray1; +} + +export function getInterviewArray() { + return interviewArray; +} +export function getInterviewArrayName(id) { + for (var i = 0; i < interviewArray.length; i++) { + if (interviewArray[i].id == id) { + return interviewArray[i].name; + } + } + return ""; +} + +export function getInterviewStatusArray() { + return interviewStatusArray; +} +export function getInterviewStatusName(id) { + for (var i = 0; i < interviewStatusArray.length; i++) { + if (interviewStatusArray[i].id == id) { + return interviewStatusArray[i].name; + } + } + return ""; +} +export function getInterviewStatusArray1() { + return interviewStatusArray1; +} +export function getInterviewStatusName1(id) { + for (var i = 0; i < interviewStatusArray1.length; i++) { + if (interviewStatusArray1[i].id == id) { + return interviewStatusArray1[i].name; + } + } + return ""; +} +export function getInterviewStatusIndex1(id) { + for (var i = 0; i < interviewStatusArray1.length; i++) { + if (interviewStatusArray1[i].id == id) { + return i; + } + } + return -1; +} + +export function getInterviewStatusArray2() { + return interviewStatusArray2; +} +export function getInterviewStatusName2(id) { + for (var i = 0; i < interviewStatusArray2.length; i++) { + if (interviewStatusArray2[i].id == id) { + return interviewStatusArray2[i].name; + } + } + return ""; +} +export function getInterviewStatusIndex2(id) { + for (var i = 0; i < interviewStatusArray2.length; i++) { + if (interviewStatusArray2[i].id == id) { + return i; + } + } + return -1; +} + +export function getEntryStatusArray() { + return entryStatusArray; +} + +export function getEntryStatusName(id) { + for (var i = 0; i < entryStatusArray.length; i++) { + if (entryStatusArray[i].id == id) { + return entryStatusArray[i].name; + } + } + return ""; +} +export function getEntryStatusIndex(id) { + for (var i = 0; i < entryStatusArray.length; i++) { + if (entryStatusArray[i].id == id) { + return i; + } + } + return -1; +} + +export function getWorkTypeArray() { + return workType; +} +//初始化picker选中项 +export function initWorkTypePicker(id) { + for (var i = 0; i < workType.length; i++) { + if (workType[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkTypeValue(index) { + return workType[index].id; +} + +export function getWorkType2Array() { + return workType2; +} +//初始化picker选中项 +export function initWorkType2Picker(id) { + for (var i = 0; i < workType2.length; i++) { + if (workType2[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkType2Value(index) { + return workType2[index].id; +} + +export function getWorkType3Array() { + return workType3; +} +//初始化picker选中项 +export function initWorkType3Picker(id) { + for (var i = 0; i < workType3.length; i++) { + if (workType3[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkType3Value(index) { + return workType3[index].id; +} +export function getWorkType3Name(id) { + for (var i = 0; i < workType3.length; i++) { + if (workType3[i].id == id) { + return workType3[i].name; + } + } + return ""; +} + +export function getWorkType4Array() { + return workType4; +} +//初始化picker选中项 +export function initWorkType4Picker(id) { + for (var i = 0; i < workType4.length; i++) { + if (workType4[i].id == id) { + return i; + } + } + return 0; +} +export function getWorkType4Value(index) { + return workType4[index].id; +} +export function getWorkType4Name(id) { + for (var i = 0; i < workType4.length; i++) { + if (workType4[i].id == id) { + return workType4[i].name; + } + } + return ""; +} + +export function getSettlementCycleArray() { + return settlementCycleArray; +} +export function getSettlementCycleName(id) { + for (var i = 0; i < settlementCycleArray.length; i++) { + if (settlementCycleArray[i].id == id) { + return settlementCycleArray[i].name; + } + } + return ""; +} + +export function getSalaryTypeArray() { + return salaryTypeArray; +} +export function getSalaryTypeName(id) { + for (var i = 0; i < salaryTypeArray.length; i++) { + if (salaryTypeArray[i].id == id) { + return salaryTypeArray[i].name; + } + } + return ""; +} +export function getSalaryTypeSubName(id) { + for (var i = 0; i < salaryTypeArray.length; i++) { + if (salaryTypeArray[i].id == id) { + return salaryTypeArray[i].subName; + } + } + return ""; +} + +export function getHopeLiveArray() { + return hopeLive; +} +//初始化picker选中项 +export function initHopeLivePicker(name) { + for (var i = 0; i < hopeLive.length; i++) { + if (hopeLive[i].id == name) { + return i; + } + } + return 0; +} +export function getHopeLiveValue(index) { + return hopeLive[index].id; +} + +export function getWorkExpArray() { + return workExp; +} +//初始化picker选中项 +export function initWorkExpPicker(name) { + for (var i = 0; i < workExp.length; i++) { + if (workExp[i].name == name) { + return i; + } + } + return 0; +} +export function getWorkExpValue(index) { + return workExp[index].id; +} + +export function getEducation2Array() { + return education2; +} +//初始化picker选中项 +export function initEducation2Picker(name) { + for (var i = 0; i < education2.length; i++) { + if (education2[i].name == name) { + return i; + } + } + return 0; +} +export function getEducation2Value(index) { + return education2[index].id; +} + +export function getIsMarry2Array() { + return isMarry2; +} +//初始化picker选中项 +export function initIsMarry2Picker(name) { + for (var i = 0; i < isMarry2.length; i++) { + if (isMarry2[i].name == name) { + return i; + } + } + return 0; +} +export function getIsMarry2Value(index) { + return isMarry2[index].id; +} + +export function getBankAuthArray() { + return bankAuth; +} + +//初始化picker选中项 +export function initBankAuthPicker(id) { + for (var i = 0; i < bankAuth.length; i++) { + if (bankAuth[i].id == id) { + return i; + } + } + return 0; +} +export function getBankAuthValue(index) { + return bankAuth[index].id; +} +/** + * + * @param district 省市县 + * @param detailPosition 详细地址 + * @returns {string} + */ +export function getStoreAddress(district, detailPosition) { + var res = ""; + if (isNotEmptyCheck(district)) { + var tmpArr = district.split(","); + if (tmpArr.length == 3 && tmpArr[0] == tmpArr[1]) { + res += tmpArr[1] + tmpArr[2]; + } else { + res += district.replace(/,/g, ""); + } + } + if (isNotEmptyCheck(detailPosition)) { + res += detailPosition; + } + return res; +} + +/** + * 代理推广明细事件 + */ +export function agencyPromotionDetailEventArray() { + let agencyPromotionDetailEventArray = [ + { id: "10", name: "扫码", value: "10", text: "扫码", checked: false }, + { id: "20", name: "报名", value: "20", text: "报名", checked: false }, + { id: "30", name: "面试", value: "30", text: "面试", checked: false }, + { id: "40", name: "入职", value: "40", text: "入职", checked: false }, + { id: "50", name: "离职", value: "50", text: "离职", checked: false }, + ]; + return agencyPromotionDetailEventArray; +} +/** + * 根据代理推广明细事件ID获取名称 + */ +export function getAgencyPromotionDetailEventNameId(id) { + let str = ""; + let array = agencyPromotionDetailEventArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} + +/** + * 代理推广明细佣金状态 + */ +export function agencyPromotionDetailMoneyStatusArray() { + let agencyPromotionDetailMoneyStatusArray = [ + { id: "0", name: "无佣金", value: "0", text: "无佣金", checked: false }, + { id: "10", name: "待结算", value: "10", text: "待结算", checked: false }, + { id: "20", name: "已结算", value: "20", text: "已结算", checked: false }, + { id: "30", name: "已失效", value: "30", text: "已失效", checked: false }, + ]; + return agencyPromotionDetailMoneyStatusArray; +} +/** + * 根据代理推广明细佣金状态ID获取名称 + */ +export function getAgencyPromotionDetailMoneyStatusNameId(id) { + let str = ""; + let array = agencyPromotionDetailMoneyStatusArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} + +export function moneyToFixed(money, fixed = 2, multiplicator = 100) { + if (money != 0 && money != null && money != "" && money != undefined) { + return cutZero(new Number(money / multiplicator).toFixed(fixed)); + } else { + return "0"; + } +} +export function cutZero(old) { + //拷贝一份 返回去掉零的新串 + let newstr = old; + //循环变量 小数部分长度 + var leng = old.length - old.indexOf(".") - 1; + //判断是否有效数 + if (old.indexOf(".") > -1) { + //循环小数部分 + for (var i = leng; i > 0; i--) { + //如果newstr末尾有0 + if (newstr.lastIndexOf("0") > -1 && newstr.substr(newstr.length - 1, 1) == 0) { + var k = newstr.lastIndexOf("0"); + //如果小数点后只有一个0 去掉小数点 + if (newstr.charAt(k - 1) == ".") { + return newstr.substring(0, k - 1); + } else { + //否则 去掉一个0 + newstr = newstr.substring(0, k); + } + } else { + //如果末尾没有0 + return newstr; + } + } + } + return old; +} +export function getCurrentPageUrlWithArgs() { + const pages = getCurrentPages(); + const currentPage = pages[pages.length - 1]; + const url = currentPage.route; + const options = currentPage.options; + let urlWithArgs = `/${url}?`; + for (let key in options) { + const value = options[key]; + urlWithArgs += `${key}=${value}&`; + } + urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length - 1); + return urlWithArgs; +} + +export function getDateArrayOfScope() { + // var multiArray = [['2000年', '2001年'], ['01月', '02月', '03月', '04月', '05月'], ['-'],['2000年', '2001年'], ['01月', '02月', '03月', '04月', '05月']]; + var multiArray = [[], ["01月", "02月", "03月", "04月", "05月", "06月", "07月", "08月", "09月", "10月", "11月", "12月"], ["-"], [], ["01月", "02月", "03月", "04月", "05月", "06月", "07月", "08月", "09月", "10月", "11月", "12月"]]; + + var date = new Date(); + var end = date.getFullYear(); + + var yearArray = []; + for (var i = 1990; i <= end; i++) { + yearArray.push(i + "年"); + } + + multiArray[0] = yearArray; + multiArray[3] = yearArray; + + return multiArray; +} + +export function educationArray() { + let educationArray = [ + { id: "初中", name: "初中" }, + { id: "高中", name: "高中" }, + { id: "大专", name: "大专" }, + { id: "本科", name: "本科" }, + { id: "硕士", name: "硕士" }, + { id: "博士", name: "博士" }, + ]; + return educationArray; +} + +/** + * 时间格式化 2017-01-01 + * @param val + * @returns {string} + */ +export function formatDateYMD(val) { + if (val == null || val == "") { + return null; + } + + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** + * 根据薪资类型和薪资值获取薪资展示 + */ +export function getSalaryClassifyValue(salaryClassify, salaryClassifyValue) { + var hourlyPay = moneyToFixed(salaryClassifyValue); + // console.log(hourlyPay); + // console.log(salaryClassify); + if (salaryClassify == 0) { + return `${hourlyPay}元/时`; + } else if (salaryClassify == 1) { + return `${hourlyPay}元/天`; + } else if (salaryClassify == 2) { + return `补${hourlyPay}元`; + } else if (salaryClassify == 3) { + return `返${hourlyPay}元`; + } else if (salaryClassify == 4) { + return "计件"; + } else if (salaryClassify == 5) { + return `保底${hourlyPay}元`; + } else if (salaryClassify == 6) { + return `面议`; + } else if (salaryClassify == 7) { + return `月薪`; + } else { + // return '请配置薪资'; + return "-"; + } +} +export function getReturnFeeTypeName1ById(id, value) { + let str = ""; + // console.log(id+'returnFeeType'); + let array = this.returnFeeTypeArray(value); + str = "--"; + + array.forEach((item) => { + if (item.id == id) { + str = item.name1; + } + }); + return str; +} +export function returnFeeTypeArray(value) { + let returnFeeTypeArray = [ + { id: 0, value: "0", text: "按时", name: "小时", name1: `${value}元/时` }, + { id: 1, value: "1", text: "按日", name: "天", name1: `${value}元/日` }, + { id: 2, value: "2", text: "按月", name: "月", name1: `${value}元/月` }, + { id: 3, value: "3", text: "按次", name: "次", name1: `${value}元/次` }, + { id: 4, value: "4", text: "按件", name: "件", name1: `${value}元/公斤` }, + { id: 5, value: "5", text: "百分比", name: "百分比", name1: `工人收入${value}%` }, + { id: 6, value: "6", text: "共计", name: "人", name1: `共${value}元` }, + { id: 7, value: "7", name1: "费用待定" }, + ]; + + return returnFeeTypeArray; +} + +/** + * 代理成员角色类型 + */ +export function agencyRoleTypeArray() { + let workTypeArray = [ + { id: 1, name: "创建人", value: "1", text: "创建人", checked: false }, + { id: 2, name: "管理员", value: "2", text: "管理员", checked: false }, + { id: 3, name: "成员", value: "3", text: "成员", checked: false }, + ]; + return workTypeArray; +} +export function agencyPermissionArray() { + //查看职位、报名、查看报名、查看老乡、修改密码、修改手机号、新增成员、修改成员信息、删除成员 + let workTypeArray = [ + { id: 1, name: "查看职位", value: "job:list", text: "查看职位", checked: false }, + { id: 2, name: "报名", value: "apply:add", text: "报名", checked: false }, + { id: 3, name: "查看报名", value: "apply:list", text: "查看报名", checked: false }, + { id: 4, name: "查看老乡", value: "apply:user", text: "查看老乡", checked: false }, + { id: 5, name: "修改密码", value: "user:pwd", text: "修改密码", checked: false }, + { id: 6, name: "修改手机号", value: "user:tel", text: "修改手机号", checked: false }, + { id: 7, name: "新增成员", value: "user:add", text: "新增成员", checked: false }, + { id: 8, name: "修改成员信息", value: "user:update", text: "修改成员信息", checked: false }, + { id: 9, name: "删除成员", value: "user:del", text: "删除成员", checked: false }, + ]; + return workTypeArray; +} +/** + * 根据代理成员角色ID获取名称 + */ +export function getAgencyRoleTypeById(id) { + let str = ""; + let array = agencyRoleTypeArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} + +/** + * 根据代理权限ID获取名称 + */ +export function getAgencyPermissionNameById(permissionStr) { + let str = ""; + let array = agencyPermissionArray(); + let names = []; + let permissions = permissionStr.split(","); + array.forEach((item) => { + if (permissions.indexOf(item.value) >= 0) { + names.push(item.name); + } + }); + return names.join(","); +} + +/** + * 根据代理角色获取权限 + */ +export function getAgencyPermissionsByRole(role) { + if (role == 1) { + return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel,user:add,user:update,user:del"; + } else { + return "job:list,apply:add,apply:list,apply:user,user:pwd,user:tel"; + } +} +/* + 处理详情地址 +*/ +export function setJobInfoPosition(pos) { + let city = []; + let citys = []; + if (isNotEmptyCheck(pos)) { + city = pos.split(","); + } + city.forEach((i) => { + if (isNotEmptyCheck(i)) { + citys.push(i); + } + }); + citys = citys.join(",").replace(/,/g, " | "); + return citys || "-"; +} +/* + 处理详情地址 +*/ +export function setJobListInfoPosition(pos) { + let city = []; + let citys = []; + if (isNotEmptyCheck(pos)) { + city = pos.split(","); + } + city.forEach((i, index) => { + if (isNotEmptyCheck(i) && index < 2) { + citys.push(i); + } + }); + citys = citys.join(",").replace(/,/g, " | "); + return citys || "-"; +} + +export const cutShareImg = (imgUrl) => { + return new Promise((resolve) => { + wx.getImageInfo({ + src: imgUrl, // 原图路径 + success: (res) => { + let ctx = wx.createCanvasContext("canvas"); + let canvasW = 0; + let canvasH = res.height; + // 把比例设置为 宽比高 5:4 + canvasW = (res.height * 5) / 4; + // 为画框设置背景色,注意要放在画图前,图会覆盖在背景色上 + ctx.fillStyle = "#fff"; + ctx.fillRect(0, 0, canvasW, canvasH); + // ctx.drawImage(res.path, (res.width - canvasW) / 2, 0, canvasW, canvasH, 0, 0, canvasW, canvasH) + ctx.drawImage( + res.path, + 0, + 0, + canvasW, + canvasH, + (canvasW - res.width) / 2, // 宽度从中间向两边填充 + 0, + canvasW, + canvasH + ); + console.log(res); + + ctx.draw(false, (test) => { + console.log(test); + wx.canvasToTempFilePath({ + width: canvasW, + height: canvasH, + destWidth: 750, // 标准的iphone6尺寸的两倍,生成高清图 + destHeight: 600, + canvasId: "canvas", + fileType: "jpg", // 注意jpg默认背景为透明 + success: (res) => { + // 设置分享图片路径 + console.log(res); + resolve(res.tempFilePath); + }, + }); + }); + }, + }); + }); +}; + +// function isEmptyCheck(str) { +// if (str == null || str == "" || str == "null" || str == "undefined" || typeof str == "undefined") { +// return true; +// } +// return false; +// } +// function isNotEmptyCheck(str) { +// return !isEmptyCheck(str); +// } + +/** + * 处理后台返回的职位列表 + * + * + * + */ + +export function disposeJobListData(recordList) { + var that = this; + console.log(recordList); + recordList.forEach((item) => { + item["workType"] = getWorkTypeById(item.workTypeMulti); + + if (isNotEmptyCheck(item.distance)) { + item["distanceKm"] = getDistanceName(item.distance); + } + //年龄 + var ageStr = ""; + if (isNotEmptyCheck(item.minAge) && isNotEmptyCheck(item.maxAge)) { + ageStr = item.minAge + "-" + item.maxAge + "岁"; + } else if (isNotEmptyCheck(item.minAge)) { + ageStr = item.minAge + "岁以上"; + } else if (isNotEmptyCheck(item.maxAge)) { + ageStr = item.maxAge + "岁以下"; + } + item["age"] = ageStr; + // console.log(item.salaryClassify,'=============', item.salaryClassifyValue); + item["salaryClassifyValue"] = getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue); + // //时薪 + // var hourlyPayStr = ''; + // var hasHourlyPay = false; + // if (isNotEmptyCheck(item.hourlyPay)) { + // hourlyPayStr = item.hourlyPay + '元/小时'; + // hasHourlyPay = true; + // } else if (isNotEmptyCheck(item.dayPay)) { + // hourlyPayStr = item.dayPay + '元/日'; + // hasHourlyPay = true; + // } else { + // if (isNotEmptyCheck(item.minMonthlyPay) && isNotEmptyCheck(item.maxMonthlyPay)) { + // if (item.minMonthlyPay == item.maxMonthlyPay) { + // hourlyPayStr = item.minMonthlyPay; + // } else { + // hourlyPayStr = item.minMonthlyPay + '-' + item.maxMonthlyPay; + // } + // } else if (isNotEmptyCheck(item.minMonthlyPay)) { + // hourlyPayStr = item.minMonthlyPay; + // } else if (isNotEmptyCheck(item.maxMonthlyPay)) { + // hourlyPayStr = item.maxMonthlyPay; + // } + // } + // item["hourlyPay"] = hourlyPayStr; + //月薪 + var monthlyPayStr = ""; + // if (hasHourlyPay) { + if (isNotEmptyCheck(item.minMonthlyPay) && isNotEmptyCheck(item.maxMonthlyPay)) { + if (item.minMonthlyPay == item.maxMonthlyPay) { + monthlyPayStr = item.minMonthlyPay; + } else { + monthlyPayStr = item.minMonthlyPay + "-" + item.maxMonthlyPay; + } + } else if (isNotEmptyCheck(item.minMonthlyPay)) { + monthlyPayStr = item.minMonthlyPay; + } else if (isNotEmptyCheck(item.maxMonthlyPay)) { + monthlyPayStr = item.maxMonthlyPay; + } + // console.log(monthlyPayStr); + // } + item["monthlyPay"] = monthlyPayStr; + //地址深圳丨龙岗区丨 + let citys = setJobListInfoPosition(item.district); + + // console.log(citys); + var districtStr = ""; + if (isNotEmptyCheck(item.district)) { + var districtArr = item.district.split(","); + if (districtArr.length < 3) { + districtStr = districtArr[districtArr.length - 1]; + } else { + districtStr = districtArr[1] + "丨" + districtArr[2]; + } + //districtStr = districtArr[1] + '丨' + districtArr[2]; + } + item["district"] = citys; + item["districtStr"] = districtStr; + //职位特色 + item.jobSpecialLabelNameArray = []; + getJobSpecialLabelNamesArray(item.jobSpecialLabelNames).forEach((i, index) => { + if (index <= 2) { + item["jobSpecialLabelNameArray"].push(i); + } + }); + // item["jobSpecialLabelNames"] = ; + }); + + return recordList; +} +/** + * 通过出生日期获取年龄 + * + * + */ +export function getAgeByBirthday(strBirthday) { + //strBirthday = util.formatTime(strBirthday);转换成yyyy-MM-dd形式 + var returnAge; + var strBirthdayArr = strBirthday.split("-"); + var birthYear = strBirthdayArr[0]; + var birthMonth = strBirthdayArr[1]; + var birthDay = strBirthdayArr[2]; + var d = new Date(); + var nowYear = d.getFullYear(); + var nowMonth = d.getMonth() + 1; + var nowDay = d.getDate(); + if (nowYear == birthYear) { + returnAge = 0; //同年 则为0岁 + } else { + var ageDiff = nowYear - birthYear; //年之差 + if (ageDiff > 0) { + if (nowMonth == birthMonth) { + var dayDiff = nowDay - birthDay; //日之差 + if (dayDiff < 0) { + returnAge = ageDiff - 1; + } else { + returnAge = ageDiff; + } + } else { + var monthDiff = nowMonth - birthMonth; //月之差 + if (monthDiff < 0) { + returnAge = ageDiff - 1; + } else { + returnAge = ageDiff; + } + } + } else { + returnAge = -1; //返回-1 表示出生日期输入错误 晚于今天 + } + } + return returnAge; //返回周岁年龄 +} +function getJobSpecialLabelNamesArray(jobSpecialLabelNames) { + if (isNotEmptyCheck(jobSpecialLabelNames)) { + return jobSpecialLabelNames.split(", "); + } + return []; +} + +export function query(id, fn) { + let query = wx.createSelectorQuery(); + query.select(id).boundingClientRect(); + // query.selectViewport().scrollOffset(); + query.exec(fn); +} +export let nationArray = [ + // 民族的数组 + { + id: "01", + name: "汉族", + }, + { + id: "02", + name: "蒙古族", + }, + { + id: "03", + name: "满族", + }, + { + id: "04", + name: "朝鲜族", + }, + { + id: "05", + name: "赫哲族", + }, + { + id: "06", + name: "达斡尔族", + }, + { + id: "07", + name: "鄂温克族", + }, + { + id: "08", + name: "鄂伦春族", + }, + { + id: "09", + name: "回族", + }, + { + id: "10", + name: "东乡族", + }, + { + id: "11", + name: "土族", + }, + { + id: "12", + name: "撒拉族", + }, + { + id: "13", + name: "保安族", + }, + { + id: "14", + name: "裕固族", + }, + { + id: "15", + name: "维吾尔族", + }, + { + id: "16", + name: "哈萨克族", + }, + { + id: "17", + name: "柯尔克孜族", + }, + { + id: "18", + name: "锡伯族", + }, + { + id: "19", + name: "塔吉克族", + }, + { + id: "20", + name: "乌孜别克族", + }, + { + id: "21", + name: "俄罗斯族", + }, + { + id: "22", + name: "塔塔尔族", + }, + { + id: "23", + name: "藏族", + }, + { + id: "24", + name: "门巴族", + }, + { + id: "25", + name: "珞巴族", + }, + { + id: "26", + name: "羌族", + }, + { + id: "27", + name: "彝族", + }, + { + id: "28", + name: "白族", + }, + { + id: "29", + name: "哈尼族", + }, + { + id: "30", + name: "傣族", + }, + { + id: "31", + name: "傈僳族", + }, + { + id: "32", + name: "佤族", + }, + { + id: "33", + name: "拉祜族", + }, + { + id: "34", + name: "纳西族", + }, + { + id: "35", + name: "景颇族", + }, + { + id: "36", + name: "布朗族", + }, + { + id: "37", + name: "阿昌族", + }, + { + id: "38", + name: "普米族", + }, + { + id: "39", + name: "怒族", + }, + { + id: "40", + name: "德昂族", + }, + { + id: "41", + name: "独龙族", + }, + { + id: "42", + name: "基诺族", + }, + { + id: "43", + name: "苗族", + }, + { + id: "44", + name: "布依族", + }, + { + id: "45", + name: "侗族", + }, + { + id: "46", + name: "水族", + }, + { + id: "47", + name: "仡佬族", + }, + { + id: "48", + name: "壮族", + }, + { + id: "49", + name: "瑶族", + }, + { + id: "50", + name: "仫佬族", + }, + { + id: "51", + name: "毛南族", + }, + { + id: "52", + name: "京族", + }, + { + id: "53", + name: "土家族", + }, + { + id: "54", + name: "黎族", + }, + { + id: "55", + name: "畲族", + }, + { + id: "56", + name: "高山族", + }, +]; diff --git a/utils/dateTimePicker.js b/utils/dateTimePicker.js new file mode 100644 index 0000000..1a9b843 --- /dev/null +++ b/utils/dateTimePicker.js @@ -0,0 +1,141 @@ +function withData(param) { + return param < 10 ? "0" + param : "" + param; +} +function getLoopArray(start, end) { + var start = start || 0; + var end = end || 1; + var array = []; + for (var i = start; i <= end; i++) { + array.push(withData(i)); + } + return array; +} +function getMonthDay(year, month) { + console.log(year, month); + year = year.replace("年", ""); + month = month.replace("月", ""); + console.log(year, month); + var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), + array = null; + switch (month) { + case "01": + case "03": + case "05": + case "07": + case "08": + case "10": + case "12": + array = getLoopArray(1, 31); + break; + case "04": + case "06": + case "09": + case "11": + array = getLoopArray(1, 30); + break; + case "02": + array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28); + break; + default: + array = "月份格式不正确,请重新输入!"; + } + return array; +} +function getNewDateArry() { + //如果dateTimePicker的date不可能为空,此处可以省略 + // 当前时间的处理 + var newDate = new Date(); + var year = withData(newDate.getFullYear()), + mont = withData(newDate.getMonth() + 1), + date = withData(newDate.getDate()), + hour = withData(newDate.getHours()), + minu = withData(newDate.getMinutes()), + seco = withData(newDate.getSeconds()); + + return [year, mont, date, hour, minu]; +} +function getcurrent(date) { + console.log("获取时间 56"); + console.log(date); + + // wx.getSystemInfo({ + // success: function (res) { + // console.log(res); + // if(res.platform == "devtools"){ + // } + // } + // }) + // date.replace(/\-/g,"/") + // console.log(date.replace(/\-/g,"/")) + var d = new Date(date.replace(/\-/g, "/")); + console.log(d); + var year = withData(d.getFullYear()), + month = withData(d.getMonth() + 1), + dat = withData(d.getDate()), + hour = withData(d.getHours()), + minu = withData(d.getMinutes()), + seco = withData(d.getSeconds()); + + console.log(year); + return [year, month, dat, hour, minu]; +} +function dateTimePicker(startYear, endYear, date, isNoTime) { + var datearr = []; + + // console.log(date); + // console.log("获取date 74 "); + // console.log(getcurrent(date)); + + if (date) { + datearr = getcurrent(date); + } + // console.log(datearr) + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], []]; + var start = startYear || 2020; + var end = endYear || 2025; + // 默认开始显示数据 + var defaultDate = date ? datearr : getNewDateArry(); + + // console.log("datearr") + // console.log(datearr) + // console.log(getNewDateArry()); + // console.log(defaultDate) + + // console.log("0999999"); + // console.log(defaultDate[0], defaultDate[1]) + // 处理联动列表数据 + /*年月日 时分*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + console.log(isNoTime); + if (isNoTime != "noTime") { + dateTimeArray[3] = ["06:00", "06:30", "07:00", "07:30", "08:00", "08:30", "09:00", "09:30", "10:00", "10:30", "11:00", "11:30", "12:00", "12:30", "13:00", "13:30", "14:00", "14:30", "15:00", "15:30", "16:00", "16:30", "17:00", "17:30", "18:00", "18:30", "19:00", "19:30"]; + } + + dateTimeArray.forEach((current, index) => { + // console.log(current); + // console.log(index); + // console.log(defaultDate[index]); + // console.log(current.indexOf(defaultDate[index])); + if (index != 3) { + dateTime.push(current.indexOf(defaultDate[index])); + } else { + if (defaultDate[3] != "") { + dateTime.push(dateTimeArray[3].indexOf(defaultDate[3] + ":" + defaultDate[4])); + } else { + dateTime.push(12); + } + } + }); + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +module.exports = { + dateTimePicker: dateTimePicker, + getMonthDay: getMonthDay, +}; diff --git a/utils/dateUtil.js b/utils/dateUtil.js new file mode 100644 index 0000000..b3cc20d --- /dev/null +++ b/utils/dateUtil.js @@ -0,0 +1,965 @@ +const formatTime = (date) => { + const year = date.getFullYear(); + const month = date.getMonth() + 1; + const day = date.getDate(); + const hour = date.getHours(); + const minute = date.getMinutes(); + const second = date.getSeconds(); + + return [year, month, day].map(formatNumber).join("/") + " " + [hour, minute, second].map(formatNumber).join(":"); +}; +//开始年份 +const yearStart = 1978; +//结束年份 +const yearEnd = 2100; + +const formatNumber = (n) => { + n = n.toString(); + return n[1] ? n : "0" + n; +}; + +module.exports = { + formatTime: formatTime, +}; + +function withData(param) { + return param < 10 ? "0" + param : "" + param; +} +function getLoopArray(start, end) { + var start = start || 0; + var end = end || 1; + var array = []; + for (var i = start; i <= end; i++) { + array.push(withData(i)); + } + return array; +} +function getMonthDay(year, month) { + var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), + array = null; + console.log(year + "--" + month); + switch (month) { + case "01": + case "03": + case "05": + case "07": + case "08": + case "10": + case "12": + case "1": + case "3": + case "5": + case "7": + case "8": + array = getLoopArray(1, 31); + break; + case "4": + case "6": + case "9": + case "04": + case "06": + case "09": + case "11": + array = getLoopArray(1, 30); + break; + case "02": + case "2": + array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28); + break; + default: + //array = '月份格式不正确,请重新输入!' + array = getLoopArray(1, 30); + } + return array; +} +function getNewDateArry() { + // 当前时间的处理 + var newDate = new Date(); + var year = withData(newDate.getFullYear()), + mont = withData(newDate.getMonth() + 1), + date = withData(newDate.getDate()), + hour = withData(newDate.getHours()), + minu = withData(newDate.getMinutes()), + seco = withData(newDate.getSeconds()); + + return [year, mont, date, hour, minu, seco]; +} + +/** + * 返回传入时间对应的值 + * 对应的值显示年月日时分秒(时分秒不为00:00:00) + */ +function dateTimePickerNowDate(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = getLoopArray(0, 59); + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +/** + * 返回传入时间对应的值 分钟只显示 00和30 + * 对应的值显示年月日时分秒(时分秒不为00:00:00) + */ +function dateTimePickerNowDate2(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = ["00", "30"]; + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +/** + * 返回传入时间对应的值 + * 对应的值显示年月日时分秒(时分秒为00:00:00) + */ +function dateTimePicker(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + defaultDate[3] = "00"; + defaultDate[4] = "00"; + defaultDate[5] = "00"; + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = getLoopArray(0, 59); + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +function dateTimePicker2(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + var defaultDate; + // debugger; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + // defaultDate[3] = '00'; + // defaultDate[4] = '00'; + // defaultDate[5] = '00'; + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + //dateTimeArray[4] = ['00']; + dateTimeArray[4] = getLoopArray(0, 59); + dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} +function dateTimePickerYMDHM(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + defaultDate[3] = "00"; + defaultDate[4] = "00"; + defaultDate[5] = "00"; + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = getLoopArray(0, 59); + // dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} + +function dateTimePickerYMDHM2(date, startYear, endYear) { + //分钟为00和30 + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + + defaultDate[3] = "00"; + defaultDate[4] = "00"; + defaultDate[5] = "00"; + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + dateTimeArray[3] = getLoopArray(0, 23); + dateTimeArray[4] = ["00", "30"]; + // dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} + +function dateTimePickerYMD(date, startYear, endYear) { + // 返回默认显示的数组和联动数组的声明 + var dateTime = [], + dateTimeArray = [[], [], [], [], []]; + var start = startYear || yearStart; + var end = endYear || yearEnd; + // 默认开始显示数据 + var defaultDate; + if (date != null && date != "") { + // if (date.indexOf('T')) { + // date = date.replace('T', ' ');//原来L端可能返回的时间格式有带T的格式,处理一下 + // } + date = formatDateYMDHMS(date); //先格式化一下时间 + defaultDate = [...date.split(" ")[0].split("-"), ...date.split(" ")[1].split(":")]; + } else { + defaultDate = getNewDateArry(); + } + // var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry(); + + // 处理联动列表数据 + /*年月日 时分秒*/ + dateTimeArray[0] = getLoopArray(start, end); + dateTimeArray[1] = getLoopArray(1, 12); + dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]); + // dateTimeArray[3] = getLoopArray(0, 23); + // dateTimeArray[4] = getLoopArray(0, 59); + // dateTimeArray[5] = getLoopArray(0, 59); + + dateTimeArray.forEach((current, index) => { + dateTime.push(current.indexOf(defaultDate[index])); + }); + + return { + dateTimeArray: dateTimeArray, + dateTime: dateTime, + }; +} + +/** + * 时间格式化 2017-01-01 01:01:01 + * @param val + * @returns {string} + */ +function formatDateYMDHMS(val) { + // model -> view,在更新 `` 元素之前格式化值 + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd HH:mm:ss"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + "m+": value.getMinutes(), //分 + "s+": value.getSeconds(), //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} + +/** + * 时间格式化 2017-01-01 01:01:01 + * @param val + * @returns {string} + */ +function formatDateYMDHM(val) { + // model -> view,在更新 `` 元素之前格式化值 + if (val != null && val != "") { + if (typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd HH:mm"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + "m+": value.getMinutes(), //分 + // "s+": value.getSeconds() //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt || ""; + } else { + return "-"; + } +} + +// 年月日 +function formatDateYMD(val) { + // model -> view,在更新 `` 元素之前格式化值 + if (val == null || val == "") { + return null; + } + + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy-MM-dd"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + // "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + // "m+": value.getMinutes(), //分 + // "s+": value.getSeconds() //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** + * 时间格式化 mm:ss + * @param val + * @returns {string} + */ +function formatDateMS(val) { + if ((val != null || val == "") && typeof val == "string") { + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + var fmt = "HH:mm"; + var o = { + "H+": value.getHours(), //小时 + "m+": value.getMinutes(), //分 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** +格式化为苹果手机能认的时间格式yyyy/MM/dd HH:mm:ss +*/ +function formatDateYMDHMS_TO_APPLE(val) { + // model -> view,在更新 `` 元素之前格式化值 + if (val != null || val == "") { + val = val + ""; + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + var value = new Date(val); + //console.log(val); + var fmt = "yyyy/MM/dd HH:mm:ss"; + var o = { + "M+": value.getMonth() + 1, //月份 + "d+": value.getDate(), //日 + "H+": value.getHours(), //小时 + //"h+": val.getHours()%12 == 0 ? 12 : val.getHours()%12, //小时 + "m+": value.getMinutes(), //分 + "s+": value.getSeconds(), //秒 + //"S": val.getMilliseconds() //毫秒 + //"q+": Math.floor((val.getMonth() + 3) / 3) //季度 + }; + if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (value.getFullYear() + "").substr(4 - RegExp.$1.length)); + for (var k in o) { + if (new RegExp("(" + k + ")").test(fmt)) { + fmt = fmt.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); + } + } + return fmt; +} +/** +获取当前时间所在年 +*/ +function getNowYear() { + return new Date().getFullYear(); +} +/** +获取当前时间所在月 +*/ +function getNowMonth() { + return new Date().getMonth() + 1; +} +/** +获取当前时间的年月 +*/ +function getNowYearMonth() { + var date = new Date(); + var month = date.getMonth() + 1; + if (month < 10) { + month = "0" + month; + } + return date.getFullYear() + "-" + month; +} +/** +获取当前时间的年月日 +*/ +function getNowYearMonthDay() { + var date = new Date(); + var month = date.getMonth() + 1; + if (month < 10) { + month = "0" + month; + } + return date.getFullYear() + "-" + month + "-" + date.getDate(); +} +/** +获取时间的上午下午格式 +*/ +function formateTimeAMPM(date) { + if (date == null || date == "") { + return ""; + } + if (typeof date == "string") { + date = date.replace("-", "/").replace("-", "/"); + } + var d = new Date(date); + var hour = d.getHours(); + if (hour <= 12) { + return "AM " + (hour + 1) + ":" + d.getMinutes(); + } else if (hour > 12) { + return "PM " + (hour + 1) + ":" + d.getMinutes(); + } else { + return ""; + } +} + +function getTodayYYYYMMDD() { + var date = new Date(); + return date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate(); +} +function formateMonthDay(dateTime) { + // debugger; + var dt = dateTime.split("-"); + return dt[1] * 1 + "月" + dt[2] * 1 + "日"; +} +// 时间对比 +function subTimes(_val1, _val2) { + var start_date = new Date(_val1.replace(/-/g, "/")); + var end_date = new Date(_val2.replace(/-/g, "/")); + var days = end_date.getTime() - start_date.getTime(); + return days / (1000 * 60); //返回分钟数 +} +// 时间对比 + +function subDays(sDate1) { + //sDate1和sDate2是2017-9-25格式 + sDate1 = formatDateYMD(sDate1); + var sDate2 = getTodayYYYYMMDD(); + var aDate, oDate1, oDate2, iDays; + aDate = sDate1.split("-"); + oDate1 = new Date(aDate[1] + "/" + aDate[2] + "/" + aDate[0]); //转换为9-25-2017格式 + aDate = sDate2.split("-"); + oDate2 = new Date(aDate[1] + "/" + aDate[2] + "/" + aDate[0]); + iDays = parseInt((oDate2 - oDate1) / 1000 / 60 / 60 / 24); //把相差的毫秒数转换为天数 + return iDays; +} + +function subDays1(_val1) { + var start_date = new Date(_val1.replace(/-/g, "/")); + + // console.log(start_date.toLocaleDateString()+"pppp"); + var end_date = new Date(); + + // var days = end_date - start_date; + var days = parseInt((end_date.getTime() - start_date.getTime()) / 1000 / 3600 / 24); + console.log("start_date:" + start_date); + console.log("end_date:" + end_date); + console.log(days); + var day = parseInt(days); + console.log(day + "uuuuuu"); + return day; +} +/** + * 获取今天、明天、后天 + */ +function getDataName(dateTemp) { + var timeStr = ""; + if (isNotEmptyCheck(dateTemp)) { + var str = formatDateYMD(dateTemp); + + var date = str.split(" ")[0]; + if (getFutureDateYMD(0) == date) { + timeStr = "(今天)"; + } else if (getFutureDateYMD(1) == date) { + timeStr = "(明天)"; + } else if (getFutureDateYMD(2) == date) { + timeStr = "(后天)"; + } + } + return timeStr; +} +/** + * 如果是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isEmptyCheck(value) { + if (value == null || value === "" || value == "null" || typeof value == "undefined") { + return true; + } + return false; +} +/** + * 如果不是是null '' 'null' 'undefined' + * @param item + * @returns + */ +function isNotEmptyCheck(value) { + return !isEmptyCheck(value); +} +/** + * 获取未来第几天, + * 1、传入正数,返回未来几天 + * 2、传入负数,返回过去几天 + */ +function getFutureDateYMD(dayNum) { + // 开始时间 + var date = new Date(); + date.setDate(date.getDate() + dayNum); + var prevYear = date.getFullYear(); + var prevMonth = date.getMonth() + 1; + var prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); + return prevYear + "-" + (prevMonth >= 10 ? prevMonth : "0" + prevMonth) + "-" + prevDay; +} + +function getDateYMDHM() { + // 开始时间 + let date = new Date(); + let prevYear = date.getFullYear(); + let prevMonth = date.getMonth() + 1; + let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); + let hour = date.getHours(); + let minute = date.getMinutes(); + // let second = date.getSeconds(); + return prevYear + "-" + (prevMonth >= 10 ? prevMonth : "0" + prevMonth) + "-" + prevDay + " " + hour + ":" + minute; +} + +// function getDateYMDHM() { +// // 开始时间 +// let date = new Date(); +// let prevYear = date.getFullYear(); +// let prevMonth = date.getMonth() + 1; +// let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); +// let hour = date.getHours(); +// let minute = date.getMinutes(); +// // let second = date.getSeconds(); +// return prevYear + "-" + (prevMonth >= 10 ? prevMonth : ('0' + prevMonth)) + "-" + prevDay + " " + hour + ":" + minute; +// } + +function getDateYMD() { + // 开始时间 + let date = new Date(); + let prevYear = date.getFullYear(); + let prevMonth = date.getMonth() + 1; + let prevDay = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); + // let second = date.getSeconds(); + return prevYear + "-" + (prevMonth >= 10 ? prevMonth : "0" + prevMonth) + "-" + prevDay; +} + +function getHour() { + // 开始时间 + let date = new Date(); + let hour = date.getHours(); + // let second = date.getSeconds(); + return hour; +} +function timeShow(val) { + if (isEmptyCheck(val)) { + return ""; + } + + if (typeof val == "string") { + val = val + ""; + if (val.indexOf("T")) { + val = val.replace("T", " "); //原来L端可能返回的时间格式有带T的格式,处理一下 + } + val = val.replace("-", "/").replace("-", "/"); + } + + var date = new Date(); + var value = new Date(val); + + const year0 = date.getFullYear(); + const month0 = date.getMonth() + 1; + const day0 = date.getDate(); + const hour0 = date.getHours(); + const minute0 = date.getMinutes(); + // const second = date.getSeconds() + + const year1 = value.getFullYear(); + const month1 = value.getMonth() + 1; + const day1 = value.getDate(); + const hour1 = value.getHours(); + const minute1 = value.getMinutes(); + // const second = value.getSeconds() + + if (year0 == year1 && month0 == month1 && day0 == day1) { + return hour1 + ":" + (minute1 >= 10 ? minute1 : "0" + minute1); + } + + let d = new Date(val).setHours(0, 0, 0, 0); + let today = new Date().setHours(0, 0, 0, 0); + + if (d - today == -86400000) { + return "昨天"; + } + + if (year0 == year1) { + return month1 + "月" + day1 + "日"; + } + return (year1 + "").slice(2) + "年" + month1 + "月" + day1 + "日"; + + return hour; +} + +function timeShowXXX(val) { + if (isEmptyCheck(val)) { + return ""; + } + let date = ""; + let differenceTime = new Date().getTime() - new Date(val).getTime(); + var D = Math.floor(differenceTime / (24 * 60 * 60 * 1000)); + var level1 = differenceTime % (24 * 3600 * 1000); + var H = Math.floor(level1 / (3600 * 1000)); + var level2 = level1 % (3600 * 1000); + var M = Math.floor(level2 / (60 * 1000)); + var level3 = level2 % (60 * 1000); + var S = Math.floor(level3 / 1000); + date = null; + if (D > 0 && D <= 100) { + date = D + "天前"; + } else if (D > 0) { + let date1 = new Date(val); + var y = date1.getFullYear(); + var m = date1.getMonth() + 1; + m = m < 10 ? "0" + m : m; + var d = date1.getDate(); + d = d < 10 ? "0" + d : d; + var h = date1.getHours(); + h = h < 10 ? "0" + h : h; + var minute = date1.getMinutes(); + minute = minute < 10 ? "0" + minute : minute; + var second = date1.getSeconds(); + second = second < 10 ? "0" + second : second; + date = y + "-" + m + "-" + d + " " + h + ":" + minute; + } else if (H > 0) { + date = H + "小时前"; + } else if (M > 0) { + date = M + "分钟前"; + } else { + date = S + "秒前"; + } + return date; +} +/** + * 处理工单状态 + */ +export function userApplyOrderStatusArray() { + // let orderStatus = [ + // { id: "10", name: "审核中", value: "10", text: "审核中" }, + // { id: "20", name: "待面试", value: "20", text: "待面试" }, + // { id: "30", name: "待入职", value: "30", text: "待入职" }, + // { id: "40", name: "在职中", value: "40", text: "在职中" }, + // { id: "50", name: "待离职", value: "50", text: "待离职" }, + // { id: "60", name: "已完成", value: "60", text: "已完成" }, + // ]; + let orderStatus = [ + { + id: "10", + name: "审核中", + value: "10", + text: "审核中", + num: 0, + }, + { + id: "20", + name: "待接待", + value: "20", + text: "待接待", + num: 0, + }, + { + id: "21", + name: "审核未通过", + value: "21", + text: "审核未通过", + num: 0, + }, + { id: "25", name: "待面试", value: "25", text: "待面试", num: 0 }, + { id: "26", name: "未接到", value: "26", text: "未接到", num: 0 }, + { + id: "30", + name: "待入职", + value: "30", + text: "待入职", + num: 0, + }, + { id: "35", name: "面试未通过", value: "35", text: "面试未通过", num: 0 }, + { id: "40", name: "在职中", value: "40", text: "在职中", num: 0 }, + { + id: "45", + name: "通过未入职", + value: "45", + text: "通过未入职", + num: 0, + }, + { + id: "48", + name: "约离职", + value: "48", + text: "约离职", + num: 0, + }, + { id: "50", name: "已离职", value: "50", text: "已完成", num: 0 }, + // { id: "60", name: "已完成", value: "60", text: "已完成", num: 0 } + ]; + return orderStatus; +} +/* + 截取备注字段 +*/ +export function splitRemark(info) { + let index = info.lastIndexOf("备注"); + let remark = info.substr(index + 3); + console.log(remark); + return remark; +} + +/** + * 根据工单类型获取名称 + */ +export function getUserApplyOrderTypeByType(type) { + let typeStr = ""; + let array = userApplyOrderStatusArray(); + array.forEach((item) => { + if (item.type == type) { + typeStr = item.text; + } + }); + return typeStr; +} + +/** + * 根据工单状态ID获取名称 + */ +export function getUserApplyOrderStatusById(id) { + let str = ""; + let array = userApplyOrderStatusArray(); + array.forEach((item) => { + if (item.id == id) { + str = item.name; + } + }); + return str; +} +module.exports = { + getFutureDateYMD: getFutureDateYMD, + isEmptyCheck: isEmptyCheck, + isNotEmptyCheck: isNotEmptyCheck, + dateTimePickerNowDate: dateTimePickerNowDate, + dateTimePickerNowDate2: dateTimePickerNowDate2, + dateTimePicker: dateTimePicker, + dateTimePicker2: dateTimePicker2, + dateTimePickerYMDHM: dateTimePickerYMDHM, + dateTimePickerYMDHM2: dateTimePickerYMDHM2, + dateTimePickerYMD: dateTimePickerYMD, + getMonthDay: getMonthDay, + formatDateYMDHMS: formatDateYMDHMS, + formatDateYMDHM: formatDateYMDHM, + formatDateYMD: formatDateYMD, + formatDateMS: formatDateMS, + formatDateYMDHMS_TO_APPLE: formatDateYMDHMS_TO_APPLE, + getNowYear: getNowYear, + getNowMonth: getNowMonth, + getNowYearMonth: getNowYearMonth, + getNowYearMonthDay: getNowYearMonthDay, + formateTimeAMPM: formateTimeAMPM, + getTodayYYYYMMDD: getTodayYYYYMMDD, + formateMonthDay: formateMonthDay, + subTimes: subTimes, + subDays: subDays, + getDataName: getDataName, + getDateYMDHM: getDateYMDHM, + getDateYMD: getDateYMD, + getHour: getHour, + timeShowXXX: timeShowXXX, + getUserApplyOrderStatusById, + getUserApplyOrderTypeByType, + splitRemark, + timeShow, +}; diff --git a/utils/qqmap-wx-jssdk.min.js b/utils/qqmap-wx-jssdk.min.js new file mode 100644 index 0000000..8fa1477 --- /dev/null +++ b/utils/qqmap-wx-jssdk.min.js @@ -0,0 +1 @@ +var ERROR_CONF = { KEY_ERR: 311, KEY_ERR_MSG: 'key格式错误', PARAM_ERR: 310, PARAM_ERR_MSG: '请求参数信息有误', SYSTEM_ERR: 600, SYSTEM_ERR_MSG: '系统错误', WX_ERR_CODE: 1000, WX_OK_CODE: 200 }; var BASE_URL = 'https://apis.map.qq.com/ws/'; var URL_SEARCH = BASE_URL + 'place/v1/search'; var URL_SUGGESTION = BASE_URL + 'place/v1/suggestion'; var URL_GET_GEOCODER = BASE_URL + 'geocoder/v1/'; var URL_CITY_LIST = BASE_URL + 'district/v1/list'; var URL_AREA_LIST = BASE_URL + 'district/v1/getchildren'; var URL_DISTANCE = BASE_URL + 'distance/v1/'; var URL_DIRECTION = BASE_URL + 'direction/v1/'; var MODE = { driving: 'driving', transit: 'transit' }; var EARTH_RADIUS = 6378136.49; var Utils = { safeAdd(x, y) { var lsw = (x & 0xffff) + (y & 0xffff); var msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xffff) }, bitRotateLeft(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)) }, md5cmn(q, a, b, x, s, t) { return this.safeAdd(this.bitRotateLeft(this.safeAdd(this.safeAdd(a, q), this.safeAdd(x, t)), s), b) }, md5ff(a, b, c, d, x, s, t) { return this.md5cmn((b & c) | (~b & d), a, b, x, s, t) }, md5gg(a, b, c, d, x, s, t) { return this.md5cmn((b & d) | (c & ~d), a, b, x, s, t) }, md5hh(a, b, c, d, x, s, t) { return this.md5cmn(b ^ c ^ d, a, b, x, s, t) }, md5ii(a, b, c, d, x, s, t) { return this.md5cmn(c ^ (b | ~d), a, b, x, s, t) }, binlMD5(x, len) { x[len >> 5] |= 0x80 << (len % 32); x[((len + 64) >>> 9 << 4) + 14] = len; var i; var olda; var oldb; var oldc; var oldd; var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; for (i = 0; i < x.length; i += 16) { olda = a; oldb = b; oldc = c; oldd = d; a = this.md5ff(a, b, c, d, x[i], 7, -680876936); d = this.md5ff(d, a, b, c, x[i + 1], 12, -389564586); c = this.md5ff(c, d, a, b, x[i + 2], 17, 606105819); b = this.md5ff(b, c, d, a, x[i + 3], 22, -1044525330); a = this.md5ff(a, b, c, d, x[i + 4], 7, -176418897); d = this.md5ff(d, a, b, c, x[i + 5], 12, 1200080426); c = this.md5ff(c, d, a, b, x[i + 6], 17, -1473231341); b = this.md5ff(b, c, d, a, x[i + 7], 22, -45705983); a = this.md5ff(a, b, c, d, x[i + 8], 7, 1770035416); d = this.md5ff(d, a, b, c, x[i + 9], 12, -1958414417); c = this.md5ff(c, d, a, b, x[i + 10], 17, -42063); b = this.md5ff(b, c, d, a, x[i + 11], 22, -1990404162); a = this.md5ff(a, b, c, d, x[i + 12], 7, 1804603682); d = this.md5ff(d, a, b, c, x[i + 13], 12, -40341101); c = this.md5ff(c, d, a, b, x[i + 14], 17, -1502002290); b = this.md5ff(b, c, d, a, x[i + 15], 22, 1236535329); a = this.md5gg(a, b, c, d, x[i + 1], 5, -165796510); d = this.md5gg(d, a, b, c, x[i + 6], 9, -1069501632); c = this.md5gg(c, d, a, b, x[i + 11], 14, 643717713); b = this.md5gg(b, c, d, a, x[i], 20, -373897302); a = this.md5gg(a, b, c, d, x[i + 5], 5, -701558691); d = this.md5gg(d, a, b, c, x[i + 10], 9, 38016083); c = this.md5gg(c, d, a, b, x[i + 15], 14, -660478335); b = this.md5gg(b, c, d, a, x[i + 4], 20, -405537848); a = this.md5gg(a, b, c, d, x[i + 9], 5, 568446438); d = this.md5gg(d, a, b, c, x[i + 14], 9, -1019803690); c = this.md5gg(c, d, a, b, x[i + 3], 14, -187363961); b = this.md5gg(b, c, d, a, x[i + 8], 20, 1163531501); a = this.md5gg(a, b, c, d, x[i + 13], 5, -1444681467); d = this.md5gg(d, a, b, c, x[i + 2], 9, -51403784); c = this.md5gg(c, d, a, b, x[i + 7], 14, 1735328473); b = this.md5gg(b, c, d, a, x[i + 12], 20, -1926607734); a = this.md5hh(a, b, c, d, x[i + 5], 4, -378558); d = this.md5hh(d, a, b, c, x[i + 8], 11, -2022574463); c = this.md5hh(c, d, a, b, x[i + 11], 16, 1839030562); b = this.md5hh(b, c, d, a, x[i + 14], 23, -35309556); a = this.md5hh(a, b, c, d, x[i + 1], 4, -1530992060); d = this.md5hh(d, a, b, c, x[i + 4], 11, 1272893353); c = this.md5hh(c, d, a, b, x[i + 7], 16, -155497632); b = this.md5hh(b, c, d, a, x[i + 10], 23, -1094730640); a = this.md5hh(a, b, c, d, x[i + 13], 4, 681279174); d = this.md5hh(d, a, b, c, x[i], 11, -358537222); c = this.md5hh(c, d, a, b, x[i + 3], 16, -722521979); b = this.md5hh(b, c, d, a, x[i + 6], 23, 76029189); a = this.md5hh(a, b, c, d, x[i + 9], 4, -640364487); d = this.md5hh(d, a, b, c, x[i + 12], 11, -421815835); c = this.md5hh(c, d, a, b, x[i + 15], 16, 530742520); b = this.md5hh(b, c, d, a, x[i + 2], 23, -995338651); a = this.md5ii(a, b, c, d, x[i], 6, -198630844); d = this.md5ii(d, a, b, c, x[i + 7], 10, 1126891415); c = this.md5ii(c, d, a, b, x[i + 14], 15, -1416354905); b = this.md5ii(b, c, d, a, x[i + 5], 21, -57434055); a = this.md5ii(a, b, c, d, x[i + 12], 6, 1700485571); d = this.md5ii(d, a, b, c, x[i + 3], 10, -1894986606); c = this.md5ii(c, d, a, b, x[i + 10], 15, -1051523); b = this.md5ii(b, c, d, a, x[i + 1], 21, -2054922799); a = this.md5ii(a, b, c, d, x[i + 8], 6, 1873313359); d = this.md5ii(d, a, b, c, x[i + 15], 10, -30611744); c = this.md5ii(c, d, a, b, x[i + 6], 15, -1560198380); b = this.md5ii(b, c, d, a, x[i + 13], 21, 1309151649); a = this.md5ii(a, b, c, d, x[i + 4], 6, -145523070); d = this.md5ii(d, a, b, c, x[i + 11], 10, -1120210379); c = this.md5ii(c, d, a, b, x[i + 2], 15, 718787259); b = this.md5ii(b, c, d, a, x[i + 9], 21, -343485551); a = this.safeAdd(a, olda); b = this.safeAdd(b, oldb); c = this.safeAdd(c, oldc); d = this.safeAdd(d, oldd) } return [a, b, c, d] }, binl2rstr(input) { var i; var output = ''; var length32 = input.length * 32; for (i = 0; i < length32; i += 8) { output += String.fromCharCode((input[i >> 5] >>> (i % 32)) & 0xff) } return output }, rstr2binl(input) { var i; var output = []; output[(input.length >> 2) - 1] = undefined; for (i = 0; i < output.length; i += 1) { output[i] = 0 } var length8 = input.length * 8; for (i = 0; i < length8; i += 8) { output[i >> 5] |= (input.charCodeAt(i / 8) & 0xff) << (i % 32) } return output }, rstrMD5(s) { return this.binl2rstr(this.binlMD5(this.rstr2binl(s), s.length * 8)) }, rstrHMACMD5(key, data) { var i; var bkey = this.rstr2binl(key); var ipad = []; var opad = []; var hash; ipad[15] = opad[15] = undefined; if (bkey.length > 16) { bkey = this.binlMD5(bkey, key.length * 8) } for (i = 0; i < 16; i += 1) { ipad[i] = bkey[i] ^ 0x36363636; opad[i] = bkey[i] ^ 0x5c5c5c5c } hash = this.binlMD5(ipad.concat(this.rstr2binl(data)), 512 + data.length * 8); return this.binl2rstr(this.binlMD5(opad.concat(hash), 512 + 128)) }, rstr2hex(input) { var hexTab = '0123456789abcdef'; var output = ''; var x; var i; for (i = 0; i < input.length; i += 1) { x = input.charCodeAt(i); output += hexTab.charAt((x >>> 4) & 0x0f) + hexTab.charAt(x & 0x0f) } return output }, str2rstrUTF8(input) { return unescape(encodeURIComponent(input)) }, rawMD5(s) { return this.rstrMD5(this.str2rstrUTF8(s)) }, hexMD5(s) { return this.rstr2hex(this.rawMD5(s)) }, rawHMACMD5(k, d) { return this.rstrHMACMD5(this.str2rstrUTF8(k), str2rstrUTF8(d)) }, hexHMACMD5(k, d) { return this.rstr2hex(this.rawHMACMD5(k, d)) }, md5(string, key, raw) { if (!key) { if (!raw) { return this.hexMD5(string) } return this.rawMD5(string) } if (!raw) { return this.hexHMACMD5(key, string) } return this.rawHMACMD5(key, string) }, getSig(requestParam, sk, feature, mode) { var sig = null; var requestArr = []; Object.keys(requestParam).sort().forEach(function (key) { requestArr.push(key + '=' + requestParam[key]) }); if (feature == 'search') { sig = '/ws/place/v1/search?' + requestArr.join('&') + sk } if (feature == 'suggest') { sig = '/ws/place/v1/suggestion?' + requestArr.join('&') + sk } if (feature == 'reverseGeocoder') { sig = '/ws/geocoder/v1/?' + requestArr.join('&') + sk } if (feature == 'geocoder') { sig = '/ws/geocoder/v1/?' + requestArr.join('&') + sk } if (feature == 'getCityList') { sig = '/ws/district/v1/list?' + requestArr.join('&') + sk } if (feature == 'getDistrictByCityId') { sig = '/ws/district/v1/getchildren?' + requestArr.join('&') + sk } if (feature == 'calculateDistance') { sig = '/ws/distance/v1/?' + requestArr.join('&') + sk } if (feature == 'direction') { sig = '/ws/direction/v1/' + mode + '?' + requestArr.join('&') + sk } sig = this.md5(sig); return sig }, location2query(data) { if (typeof data == 'string') { return data } var query = ''; for (var i = 0; i < data.length; i++) { var d = data[i]; if (!!query) { query += ';' } if (d.location) { query = query + d.location.lat + ',' + d.location.lng } if (d.latitude && d.longitude) { query = query + d.latitude + ',' + d.longitude } } return query }, rad(d) { return d * Math.PI / 180.0 }, getEndLocation(location) { var to = location.split(';'); var endLocation = []; for (var i = 0; i < to.length; i++) { endLocation.push({ lat: parseFloat(to[i].split(',')[0]), lng: parseFloat(to[i].split(',')[1]) }) } return endLocation }, getDistance(latFrom, lngFrom, latTo, lngTo) { var radLatFrom = this.rad(latFrom); var radLatTo = this.rad(latTo); var a = radLatFrom - radLatTo; var b = this.rad(lngFrom) - this.rad(lngTo); var distance = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLatFrom) * Math.cos(radLatTo) * Math.pow(Math.sin(b / 2), 2))); distance = distance * EARTH_RADIUS; distance = Math.round(distance * 10000) / 10000; return parseFloat(distance.toFixed(0)) }, getWXLocation(success, fail, complete) { wx.getLocation({ type: 'gcj02', success: success, fail: fail, complete: complete }) }, getLocationParam(location) { if (typeof location == 'string') { var locationArr = location.split(','); if (locationArr.length === 2) { location = { latitude: location.split(',')[0], longitude: location.split(',')[1] } } else { location = {} } } return location }, polyfillParam(param) { param.success = param.success || function () { }; param.fail = param.fail || function () { }; param.complete = param.complete || function () { } }, checkParamKeyEmpty(param, key) { if (!param[key]) { var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + key + '参数格式有误'); param.fail(errconf); param.complete(errconf); return true } return false }, checkKeyword(param) { return !this.checkParamKeyEmpty(param, 'keyword') }, checkLocation(param) { var location = this.getLocationParam(param.location); if (!location || !location.latitude || !location.longitude) { var errconf = this.buildErrorConfig(ERROR_CONF.PARAM_ERR, ERROR_CONF.PARAM_ERR_MSG + ' location参数格式有误'); param.fail(errconf); param.complete(errconf); return false } return true }, buildErrorConfig(errCode, errMsg) { return { status: errCode, message: errMsg } }, handleData(param, data, feature) { if (feature == 'search') { var searchResult = data.data; var searchSimplify = []; for (var i = 0; i < searchResult.length; i++) { searchSimplify.push({ id: searchResult[i].id || null, title: searchResult[i].title || null, latitude: searchResult[i].location && searchResult[i].location.lat || null, longitude: searchResult[i].location && searchResult[i].location.lng || null, address: searchResult[i].address || null, category: searchResult[i].category || null, tel: searchResult[i].tel || null, adcode: searchResult[i].ad_info && searchResult[i].ad_info.adcode || null, city: searchResult[i].ad_info && searchResult[i].ad_info.city || null, district: searchResult[i].ad_info && searchResult[i].ad_info.district || null, province: searchResult[i].ad_info && searchResult[i].ad_info.province || null }) } param.success(data, { searchResult: searchResult, searchSimplify: searchSimplify }) } else if (feature == 'suggest') { var suggestResult = data.data; var suggestSimplify = []; for (var i = 0; i < suggestResult.length; i++) { suggestSimplify.push({ adcode: suggestResult[i].adcode || null, address: suggestResult[i].address || null, category: suggestResult[i].category || null, city: suggestResult[i].city || null, district: suggestResult[i].district || null, id: suggestResult[i].id || null, latitude: suggestResult[i].location && suggestResult[i].location.lat || null, longitude: suggestResult[i].location && suggestResult[i].location.lng || null, province: suggestResult[i].province || null, title: suggestResult[i].title || null, type: suggestResult[i].type || null }) } param.success(data, { suggestResult: suggestResult, suggestSimplify: suggestSimplify }) } else if (feature == 'reverseGeocoder') { var reverseGeocoderResult = data.result; var reverseGeocoderSimplify = { address: reverseGeocoderResult.address || null, latitude: reverseGeocoderResult.location && reverseGeocoderResult.location.lat || null, longitude: reverseGeocoderResult.location && reverseGeocoderResult.location.lng || null, adcode: reverseGeocoderResult.ad_info && reverseGeocoderResult.ad_info.adcode || null, city: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.city || null, district: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.district || null, nation: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.nation || null, province: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.province || null, street: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.street || null, street_number: reverseGeocoderResult.address_component && reverseGeocoderResult.address_component.street_number || null, recommend: reverseGeocoderResult.formatted_addresses && reverseGeocoderResult.formatted_addresses.recommend || null, rough: reverseGeocoderResult.formatted_addresses && reverseGeocoderResult.formatted_addresses.rough || null }; if (reverseGeocoderResult.pois) { var pois = reverseGeocoderResult.pois; var poisSimplify = []; for (var i = 0; i < pois.length; i++) { poisSimplify.push({ id: pois[i].id || null, title: pois[i].title || null, latitude: pois[i].location && pois[i].location.lat || null, longitude: pois[i].location && pois[i].location.lng || null, address: pois[i].address || null, category: pois[i].category || null, adcode: pois[i].ad_info && pois[i].ad_info.adcode || null, city: pois[i].ad_info && pois[i].ad_info.city || null, district: pois[i].ad_info && pois[i].ad_info.district || null, province: pois[i].ad_info && pois[i].ad_info.province || null }) } param.success(data, { reverseGeocoderResult: reverseGeocoderResult, reverseGeocoderSimplify: reverseGeocoderSimplify, pois: pois, poisSimplify: poisSimplify }) } else { param.success(data, { reverseGeocoderResult: reverseGeocoderResult, reverseGeocoderSimplify: reverseGeocoderSimplify }) } } else if (feature == 'geocoder') { var geocoderResult = data.result; var geocoderSimplify = { title: geocoderResult.title || null, latitude: geocoderResult.location && geocoderResult.location.lat || null, longitude: geocoderResult.location && geocoderResult.location.lng || null, adcode: geocoderResult.ad_info && geocoderResult.ad_info.adcode || null, province: geocoderResult.address_components && geocoderResult.address_components.province || null, city: geocoderResult.address_components && geocoderResult.address_components.city || null, district: geocoderResult.address_components && geocoderResult.address_components.district || null, street: geocoderResult.address_components && geocoderResult.address_components.street || null, street_number: geocoderResult.address_components && geocoderResult.address_components.street_number || null, level: geocoderResult.level || null }; param.success(data, { geocoderResult: geocoderResult, geocoderSimplify: geocoderSimplify }) } else if (feature == 'getCityList') { var provinceResult = data.result[0]; var cityResult = data.result[1]; var districtResult = data.result[2]; param.success(data, { provinceResult: provinceResult, cityResult: cityResult, districtResult: districtResult }) } else if (feature == 'getDistrictByCityId') { var districtByCity = data.result[0]; param.success(data, districtByCity) } else if (feature == 'calculateDistance') { var calculateDistanceResult = data.result.elements; var distance = []; for (var i = 0; i < calculateDistanceResult.length; i++) { distance.push(calculateDistanceResult[i].distance) } param.success(data, { calculateDistanceResult: calculateDistanceResult, distance: distance }) } else if (feature == 'direction') { var direction = data.result.routes; param.success(data, direction) } else { param.success(data) } }, buildWxRequestConfig(param, options, feature) { var that = this; options.header = { "content-type": "application/json" }; options.method = 'GET'; options.success = function (res) { var data = res.data; if (data.status === 0) { that.handleData(param, data, feature) } else { param.fail(data) } }; options.fail = function (res) { res.statusCode = ERROR_CONF.WX_ERR_CODE; param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) }; options.complete = function (res) { var statusCode = +res.statusCode; switch (statusCode) { case ERROR_CONF.WX_ERR_CODE: { param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)); break } case ERROR_CONF.WX_OK_CODE: { var data = res.data; if (data.status === 0) { param.complete(data) } else { param.complete(that.buildErrorConfig(data.status, data.message)) } break } default: { param.complete(that.buildErrorConfig(ERROR_CONF.SYSTEM_ERR, ERROR_CONF.SYSTEM_ERR_MSG)) } } }; return options }, locationProcess(param, locationsuccess, locationfail, locationcomplete) { var that = this; locationfail = locationfail || function (res) { res.statusCode = ERROR_CONF.WX_ERR_CODE; param.fail(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) }; locationcomplete = locationcomplete || function (res) { if (res.statusCode == ERROR_CONF.WX_ERR_CODE) { param.complete(that.buildErrorConfig(ERROR_CONF.WX_ERR_CODE, res.errMsg)) } }; if (!param.location) { that.getWXLocation(locationsuccess, locationfail, locationcomplete) } else if (that.checkLocation(param)) { var location = Utils.getLocationParam(param.location); locationsuccess(location) } } }; class QQMapWX { constructor(options) { if (!options.key) { throw Error('key值不能为空') } this.key = options.key }; search(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (!Utils.checkKeyword(options)) { return } var requestParam = { keyword: options.keyword, orderby: options.orderby || '_distance', page_size: options.page_size || 10, page_index: options.page_index || 1, output: 'json', key: that.key }; if (options.address_format) { requestParam.address_format = options.address_format } if (options.filter) { requestParam.filter = options.filter } var distance = options.distance || "1000"; var auto_extend = options.auto_extend || 1; var region = null; var rectangle = null; if (options.region) { region = options.region } if (options.rectangle) { rectangle = options.rectangle } var locationsuccess = function (result) { if (region && !rectangle) { requestParam.boundary = "region(" + region + "," + auto_extend + "," + result.latitude + "," + result.longitude + ")"; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') } } else if (rectangle && !region) { requestParam.boundary = "rectangle(" + rectangle + ")"; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') } } else { requestParam.boundary = "nearby(" + result.latitude + "," + result.longitude + "," + distance + "," + auto_extend + ")"; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'search') } } wx.request(Utils.buildWxRequestConfig(options, { url: URL_SEARCH, data: requestParam }, 'search')) }; Utils.locationProcess(options, locationsuccess) }; getSuggestion(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (!Utils.checkKeyword(options)) { return } var requestParam = { keyword: options.keyword, region: options.region || '全国', region_fix: options.region_fix || 0, policy: options.policy || 0, page_size: options.page_size || 10, page_index: options.page_index || 1, get_subpois: options.get_subpois || 0, output: 'json', key: that.key }; if (options.address_format) { requestParam.address_format = options.address_format } if (options.filter) { requestParam.filter = options.filter } if (options.location) { var locationsuccess = function (result) { requestParam.location = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'suggest') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_SUGGESTION, data: requestParam }, "suggest")) }; Utils.locationProcess(options, locationsuccess) } else { if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'suggest') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_SUGGESTION, data: requestParam }, "suggest")) } }; reverseGeocoder(options) { var that = this; options = options || {}; Utils.polyfillParam(options); var requestParam = { coord_type: options.coord_type || 5, get_poi: options.get_poi || 0, output: 'json', key: that.key }; if (options.poi_options) { requestParam.poi_options = options.poi_options } var locationsuccess = function (result) { requestParam.location = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'reverseGeocoder') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_GET_GEOCODER, data: requestParam }, 'reverseGeocoder')) }; Utils.locationProcess(options, locationsuccess) }; geocoder(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'address')) { return } var requestParam = { address: options.address, output: 'json', key: that.key }; if (options.region) { requestParam.region = options.region } if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'geocoder') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_GET_GEOCODER, data: requestParam }, 'geocoder')) }; getCityList(options) { var that = this; options = options || {}; Utils.polyfillParam(options); var requestParam = { output: 'json', key: that.key }; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'getCityList') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_CITY_LIST, data: requestParam }, 'getCityList')) }; getDistrictByCityId(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'id')) { return } var requestParam = { id: options.id || '', output: 'json', key: that.key }; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'getDistrictByCityId') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_AREA_LIST, data: requestParam }, 'getDistrictByCityId')) }; calculateDistance(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'to')) { return } var requestParam = { mode: options.mode || 'walking', to: Utils.location2query(options.to), output: 'json', key: that.key }; if (options.from) { options.location = options.from } if (requestParam.mode == 'straight') { var locationsuccess = function (result) { var locationTo = Utils.getEndLocation(requestParam.to); var data = { message: "query ok", result: { elements: [] }, status: 0 }; for (var i = 0; i < locationTo.length; i++) { data.result.elements.push({ distance: Utils.getDistance(result.latitude, result.longitude, locationTo[i].lat, locationTo[i].lng), duration: 0, from: { lat: result.latitude, lng: result.longitude }, to: { lat: locationTo[i].lat, lng: locationTo[i].lng } }) } var calculateResult = data.result.elements; var distanceResult = []; for (var i = 0; i < calculateResult.length; i++) { distanceResult.push(calculateResult[i].distance) } return options.success(data, { calculateResult: calculateResult, distanceResult: distanceResult }) }; Utils.locationProcess(options, locationsuccess) } else { var locationsuccess = function (result) { requestParam.from = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'calculateDistance') } wx.request(Utils.buildWxRequestConfig(options, { url: URL_DISTANCE, data: requestParam }, 'calculateDistance')) }; Utils.locationProcess(options, locationsuccess) } }; direction(options) { var that = this; options = options || {}; Utils.polyfillParam(options); if (Utils.checkParamKeyEmpty(options, 'to')) { return } var requestParam = { output: 'json', key: that.key }; if (typeof options.to == 'string') { requestParam.to = options.to } else { requestParam.to = options.to.latitude + ',' + options.to.longitude } var SET_URL_DIRECTION = null; options.mode = options.mode || MODE.driving; SET_URL_DIRECTION = URL_DIRECTION + options.mode; if (options.from) { options.location = options.from } if (options.mode == MODE.driving) { if (options.from_poi) { requestParam.from_poi = options.from_poi } if (options.heading) { requestParam.heading = options.heading } if (options.speed) { requestParam.speed = options.speed } if (options.accuracy) { requestParam.accuracy = options.accuracy } if (options.road_type) { requestParam.road_type = options.road_type } if (options.to_poi) { requestParam.to_poi = options.to_poi } if (options.from_track) { requestParam.from_track = options.from_track } if (options.waypoints) { requestParam.waypoints = options.waypoints } if (options.policy) { requestParam.policy = options.policy } if (options.plate_number) { requestParam.plate_number = options.plate_number } } if (options.mode == MODE.transit) { if (options.departure_time) { requestParam.departure_time = options.departure_time } if (options.policy) { requestParam.policy = options.policy } } var locationsuccess = function (result) { requestParam.from = result.latitude + ',' + result.longitude; if (options.sig) { requestParam.sig = Utils.getSig(requestParam, options.sig, 'direction', options.mode) } wx.request(Utils.buildWxRequestConfig(options, { url: SET_URL_DIRECTION, data: requestParam }, 'direction')) }; Utils.locationProcess(options, locationsuccess) } }; module.exports = QQMapWX; \ No newline at end of file diff --git a/utils/util.js b/utils/util.js new file mode 100644 index 0000000..764bc2c --- /dev/null +++ b/utils/util.js @@ -0,0 +1,19 @@ +const formatTime = date => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + + return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}` +} + +const formatNumber = n => { + n = n.toString() + return n[1] ? n : `0${n}` +} + +module.exports = { + formatTime +} diff --git a/weui.wxss b/weui.wxss new file mode 100644 index 0000000..e69de29