From e9e5c6b88e172ed19cce42c4dbc42b675080a5e7 Mon Sep 17 00:00:00 2001 From: TM <923727421@qq.com> Date: Mon, 14 Dec 2020 13:54:08 +0800 Subject: [PATCH] 小程序上传 --- components/fitler/fitler.axml | 55 pages/order/shskOrder/shskOrder.acss | 53 utils/md5.js | 179 ++ pages/shskPage/orderInfo/orderInfo.js | 107 + pages/paypage/paypage.json | 1 .tea/entryFiles-development/config$.js | 7 pages/hbfqPage/qrCode/qrCode.acss | 8 pages/changePassword/changePassword.js | 58 pages/hbfqPage/orderInfo/orderInfo.axml | 45 test.jpg | 0 pages/changePassword/changePassword.acss | 29 pages/order/shskOrder/shskOrder.axml | 14 pages/paypage/paypage.acss | 0 static/ali-icon/iconfont.ttf | 0 .kaitian/launch.json | 7 pages/order/shskOrder/shskOrder.json | 12 static/img/nodata.png | 0 .tea/entryFiles-production/index$.worker.js | 72 pages/hbfqPage/orderInfo/orderInfo.acss | 93 + pages/icon/ywsj.png | 0 pages/changePassword/changePassword.json | 12 pages/order/hbfqOrder/hbfqOrder.js | 27 pages/paypage/paypage.axml | 6 static/img/logo.png | 0 pages/hbfqPage/qrCode/qrCode.axml | 6 package-lock.json | 307 ++++ .tea/entryFiles-development/index$.worker.js | 74 + pages/paypage/paypage.js | 48 pages/order/shskOrder/shskOrder.js | 27 app.acss | 6 static/img/backpic.png | 0 pages/icon/grzx.png | 0 pages/index/index.js | 165 ++ .tea/entryFiles-development/index$.web.js | 40 .tea/entryFiles-production/importScripts$.js | 4 static/ali-icon/iconfont.acss | 19 pages/shskPage/orderInfo/orderInfo.axml | 21 components/fitler/fitler.js | 109 + pages/userCenter/userCenter.js | 61 utils/date.js | 66 app.json | 46 components/fitler/fitler.json | 11 components/fitler/fitler.acss | 85 + pages/changePassword/changePassword.axml | 10 pages/home/home.acss | 51 pages/icon/ywbl.png | 0 components/orderTrial/orderTrial.axml | 28 components/QRCodeView/QRCodeView.acss | 57 pages/shskPage/orderInfo/orderInfo.acss | 92 + pages/changeUser/changeUser.js | 59 pages/forgetPassword/forgetPassword.json | 10 pages/icon/ywbl_h.png | 0 pages/userCenter/userCenter.axml | 43 static/ali-icon/stylesheet.acss | 117 + components/orderTrial/orderTrial.js | 14 pages/hbfqPage/qrCode/qrCode.js | 101 + pages/order/hbfqOrder/hbfqOrder.axml | 20 pages/businessData/businessData.acss | 174 ++ .tea/entryFiles-production/index$.web.js | 40 components/QRCodeView/QRCodeView.js | 12 pages/home/home.json | 6 components/QRCodeView/QRCodeView.json | 3 pages/userCenter/userCenter.acss | 81 + pages/icon/ywsj_h.png | 0 pages/order/hbfqOrder/hbfqOrder.acss | 53 pages/changeUser/changeUser.axml | 36 components/QRCodeView/QRCodeView.axml | 16 pages/businessData/businessData.axml | 128 + pages/forgetPassword/forgetPassword.js | 110 + pages/shskPage/orderInfo/orderInfo.json | 12 pages/home/home.js | 72 .gitignore | 13 pages/changeUser/changeUser.acss | 84 + pages/hbfqPage/orderInfo/orderInfo.json | 12 pages/index/index.json | 9 pages/order/hbfqOrder/hbfqOrder.json | 13 pages/userCenter/userCenter.json | 7 .tea/entryFiles-production/config$.js | 7 app.js | 112 + pages/shskPage/qrCode/qrCode.json | 6 static/img/backcircl.png | 0 static/img/shsk.png | 0 pages/forgetPassword/forgetPassword.axml | 13 pages/icon/grzx_h.png | 0 pages/hbfqPage/orderInfo/orderInfo.js | 206 ++ pages/changeUser/changeUser.json | 8 pages/index/index.acss | 82 + pages/shskPage/qrCode/qrCode.axml | 6 pages/businessData/businessData.json | 12 pages/hbfqPage/qrCode/qrCode.json | 6 pages/home/home.axml | 14 mini.project.json | 3 components/orderTrial/orderTrial.json | 3 pages/shskPage/qrCode/qrCode.acss | 8 pages/shskPage/qrCode/qrCode.js | 98 + static/img/hbfq.png | 0 .tea/entryFiles-development/importScripts$.js | 4 pages/forgetPassword/forgetPassword.acss | 24 components/orderTrial/orderTrial.acss | 87 + package.json | 7 utils/ajaxFn.js | 99 + pages/businessData/businessData.js | 233 +++ pages/index/index.axml | 30 103 files changed, 4,431 insertions(+), 0 deletions(-) diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d3d5eef --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln diff --git a/.kaitian/launch.json b/.kaitian/launch.json new file mode 100644 index 0000000..ec899f6 --- /dev/null +++ b/.kaitian/launch.json @@ -0,0 +1,7 @@ +{ + // 使用 IntelliSense 了解相关属性。 + // 悬停以查看现有属性的描述。 + // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [] +} diff --git a/.tea/entryFiles-development/config$.js b/.tea/entryFiles-development/config$.js new file mode 100644 index 0000000..39fdc19 --- /dev/null +++ b/.tea/entryFiles-development/config$.js @@ -0,0 +1,7 @@ + +const g = typeof global !== 'undefined' ? global : self; +g.appXAppJson = { + "app": { + "$homepage": "pages/home/home" + } +}; diff --git a/.tea/entryFiles-development/importScripts$.js b/.tea/entryFiles-development/importScripts$.js new file mode 100644 index 0000000..5e02d03 --- /dev/null +++ b/.tea/entryFiles-development/importScripts$.js @@ -0,0 +1,4 @@ +if(!self.Map || !self.Set || !self.Symbol) { + importScripts('https://gw.alipayobjects.com/as/g/appx_release/deps/1.0.3/es6-set-map-symbol.js'); + } + \ No newline at end of file diff --git a/.tea/entryFiles-development/index$.web.js b/.tea/entryFiles-development/index$.web.js new file mode 100644 index 0000000..3c0d51a --- /dev/null +++ b/.tea/entryFiles-development/index$.web.js @@ -0,0 +1,40 @@ +require('@alipay/appx-compiler/lib/sjsEnvInit'); +require('./config$'); + +require('../../node_modules/mini-ali-ui/es/badge/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-icon/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/tabs/index?hash=4a98b35daa3eee1b62960d4d5bbcbf254cbf11e3'); +require('../../node_modules/mini-ali-ui/es/tabs/tab-content/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/search-bar/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/popup/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/collapse/index?hash=a11fdcdff8ea970c65f185a8731cafe48f67047c'); +require('../../node_modules/mini-ali-ui/es/collapse/collapse-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/fitler/fitler?hash=354cb92cdc6053453b91b49e22977b08efde6a61'); +require('../../node_modules/mini-ali-ui/es/loading/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/input-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/verify-code/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/long-password/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/avatar/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/button/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/modal/index?hash=febd4c40992222524e0db12a74760a28f8f9b339'); +require('../../node_modules/mini-ali-ui/es/picker-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/orderTrial/orderTrial?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../components/QRCodeView/QRCodeView?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-radio/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/list/auto-size-img/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/list-item/index?hash=a5465b8c889360e3f854461d3ac41cf414aec633'); +require('../../pages/home/home?hash=9676af08f02ab6877f66c88a5599f6228f076a67'); +require('../../pages/index/index?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/paypage/paypage?hash=32d7d2807ed4e666ef03b4b3fe8c38ecf2e34e68'); +require('../../pages/forgetPassword/forgetPassword?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/userCenter/userCenter?hash=c0825856d8ab7db321bdd0ebdd2606fa94d544f0'); +require('../../pages/businessData/businessData?hash=02e5d22beb4d8b5ce9fe01e2245252aaa9b53562'); +require('../../pages/hbfqPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/hbfqPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/shskPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/shskPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/changePassword/changePassword?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/changeUser/changeUser?hash=3930b793bedbb5bce57252b2568d4e1a9ad8ea1b'); +require('../../pages/order/hbfqOrder/hbfqOrder?hash=b7340e58f6e63dafeccfeef5e60d8e039095703c'); +require('../../pages/order/shskOrder/shskOrder?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); diff --git a/.tea/entryFiles-development/index$.worker.js b/.tea/entryFiles-development/index$.worker.js new file mode 100644 index 0000000..e9e1456 --- /dev/null +++ b/.tea/entryFiles-development/index$.worker.js @@ -0,0 +1,74 @@ +if(!self.__appxInited) { +self.__appxInited = 1; +require('@alipay/appx-compiler/lib/sjsEnvInit'); + +require('./config$'); + + + if( navigator.userAgent && (navigator.userAgent.indexOf('LyraVM') > 0 || navigator.userAgent.indexOf('AlipayIDE') > 0) ) { + var AFAppX = self.AFAppX.getAppContext ? self.AFAppX.getAppContext().AFAppX : self.AFAppX; + } else { + importScripts('https://appx/af-appx.worker.min.js'); + var AFAppX = self.AFAppX; + } + self.getCurrentPages = AFAppX.getCurrentPages; + self.getApp = AFAppX.getApp; + self.Page = AFAppX.Page; + self.App = AFAppX.App; + self.my = AFAppX.bridge || AFAppX.abridge; + self.abridge = self.my; + self.Component = AFAppX.WorkerComponent || function(){}; + self.$global = AFAppX.$global; + self.requirePlugin = AFAppX.requirePlugin; + + +if(AFAppX.registerApp) { + AFAppX.registerApp({ + appJSON: appXAppJson, + }); +} + +if(AFAppX.compilerConfig){ AFAppX.compilerConfig.component2 = true; } + +function success() { +require('../../app'); +require('../../node_modules/mini-ali-ui/es/badge/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-icon/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/tabs/index?hash=4a98b35daa3eee1b62960d4d5bbcbf254cbf11e3'); +require('../../node_modules/mini-ali-ui/es/tabs/tab-content/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/search-bar/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/popup/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/collapse/index?hash=a11fdcdff8ea970c65f185a8731cafe48f67047c'); +require('../../node_modules/mini-ali-ui/es/collapse/collapse-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/fitler/fitler?hash=354cb92cdc6053453b91b49e22977b08efde6a61'); +require('../../node_modules/mini-ali-ui/es/loading/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/input-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/verify-code/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/long-password/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/avatar/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/button/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/modal/index?hash=febd4c40992222524e0db12a74760a28f8f9b339'); +require('../../node_modules/mini-ali-ui/es/picker-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/orderTrial/orderTrial?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../components/QRCodeView/QRCodeView?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-radio/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/list/auto-size-img/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/list-item/index?hash=a5465b8c889360e3f854461d3ac41cf414aec633'); +require('../../pages/home/home?hash=9676af08f02ab6877f66c88a5599f6228f076a67'); +require('../../pages/index/index?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/paypage/paypage?hash=32d7d2807ed4e666ef03b4b3fe8c38ecf2e34e68'); +require('../../pages/forgetPassword/forgetPassword?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/userCenter/userCenter?hash=c0825856d8ab7db321bdd0ebdd2606fa94d544f0'); +require('../../pages/businessData/businessData?hash=02e5d22beb4d8b5ce9fe01e2245252aaa9b53562'); +require('../../pages/hbfqPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/hbfqPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/shskPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/shskPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/changePassword/changePassword?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/changeUser/changeUser?hash=3930b793bedbb5bce57252b2568d4e1a9ad8ea1b'); +require('../../pages/order/hbfqOrder/hbfqOrder?hash=b7340e58f6e63dafeccfeef5e60d8e039095703c'); +require('../../pages/order/shskOrder/shskOrder?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +} +self.bootstrapApp ? self.bootstrapApp({ success }) : success(); +} \ No newline at end of file diff --git a/.tea/entryFiles-production/config$.js b/.tea/entryFiles-production/config$.js new file mode 100644 index 0000000..39fdc19 --- /dev/null +++ b/.tea/entryFiles-production/config$.js @@ -0,0 +1,7 @@ + +const g = typeof global !== 'undefined' ? global : self; +g.appXAppJson = { + "app": { + "$homepage": "pages/home/home" + } +}; diff --git a/.tea/entryFiles-production/importScripts$.js b/.tea/entryFiles-production/importScripts$.js new file mode 100644 index 0000000..8b9b3af --- /dev/null +++ b/.tea/entryFiles-production/importScripts$.js @@ -0,0 +1,4 @@ +if(!self.Map || !self.Set || !self.Symbol) { + importScripts('https://gw.alipayobjects.com/as/g/appx_release/deps/1.0.3/es6-set-map-symbol.js'); + } + importScripts(`https://appx/af-appx.worker.min.js`); diff --git a/.tea/entryFiles-production/index$.web.js b/.tea/entryFiles-production/index$.web.js new file mode 100644 index 0000000..3c0d51a --- /dev/null +++ b/.tea/entryFiles-production/index$.web.js @@ -0,0 +1,40 @@ +require('@alipay/appx-compiler/lib/sjsEnvInit'); +require('./config$'); + +require('../../node_modules/mini-ali-ui/es/badge/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-icon/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/tabs/index?hash=4a98b35daa3eee1b62960d4d5bbcbf254cbf11e3'); +require('../../node_modules/mini-ali-ui/es/tabs/tab-content/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/search-bar/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/popup/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/collapse/index?hash=a11fdcdff8ea970c65f185a8731cafe48f67047c'); +require('../../node_modules/mini-ali-ui/es/collapse/collapse-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/fitler/fitler?hash=354cb92cdc6053453b91b49e22977b08efde6a61'); +require('../../node_modules/mini-ali-ui/es/loading/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/input-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/verify-code/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/long-password/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/avatar/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/button/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/modal/index?hash=febd4c40992222524e0db12a74760a28f8f9b339'); +require('../../node_modules/mini-ali-ui/es/picker-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/orderTrial/orderTrial?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../components/QRCodeView/QRCodeView?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-radio/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/list/auto-size-img/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/list-item/index?hash=a5465b8c889360e3f854461d3ac41cf414aec633'); +require('../../pages/home/home?hash=9676af08f02ab6877f66c88a5599f6228f076a67'); +require('../../pages/index/index?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/paypage/paypage?hash=32d7d2807ed4e666ef03b4b3fe8c38ecf2e34e68'); +require('../../pages/forgetPassword/forgetPassword?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/userCenter/userCenter?hash=c0825856d8ab7db321bdd0ebdd2606fa94d544f0'); +require('../../pages/businessData/businessData?hash=02e5d22beb4d8b5ce9fe01e2245252aaa9b53562'); +require('../../pages/hbfqPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/hbfqPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/shskPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/shskPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/changePassword/changePassword?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/changeUser/changeUser?hash=3930b793bedbb5bce57252b2568d4e1a9ad8ea1b'); +require('../../pages/order/hbfqOrder/hbfqOrder?hash=b7340e58f6e63dafeccfeef5e60d8e039095703c'); +require('../../pages/order/shskOrder/shskOrder?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); diff --git a/.tea/entryFiles-production/index$.worker.js b/.tea/entryFiles-production/index$.worker.js new file mode 100644 index 0000000..93fdf0f --- /dev/null +++ b/.tea/entryFiles-production/index$.worker.js @@ -0,0 +1,72 @@ +/**! __BUGME_START__ */ !function(){"use strict";var ERuntimeRemoteObjectType,ERuntimeRemoteObjectSubType;!function(e){e.Object="object",e.Function="function",e.Undefined="undefined",e.String="string",e.Number="number",e.Boolean="boolean",e.Symbol="Symbol",e.Bigint="bigint",e.Wasm="wasm"}(ERuntimeRemoteObjectType||(ERuntimeRemoteObjectType={})),function(e){e.Error="error",e.Array="array",e.Null="null"}(ERuntimeRemoteObjectSubType||(ERuntimeRemoteObjectSubType={}));var appxStackLine=/https:\/\/appx\/af-appx\.worker\.min\.js:\d+:\d+/,nativeScriptLine=/https:\/\/www\.alipay\.com\/?:\d+:\d+|\[native code\]/,pluginWorkerStackLine=/https:\/\/\d+\.hybrid\.\S+\.com\/__plugins__\/(\d+)\/index\.worker\.js:\d+:\d+/,appWorkerStackLine=/https:\/\/\d+\.hybrid\.\S+\.com\/index\.worker\.js:\d+:\d+/;function transformSourceUrl(e){try{return pluginWorkerStackLine.test(e)?e.replace(pluginWorkerStackLine,"Plugin-$1"):e.replace(appWorkerStackLine,"App")}catch(t){return e}}function formatStack(e){var t=e.split("\n"),n=t[0],s=t.slice(1).filter((function(e){return!appxStackLine.test(e)&&!nativeScriptLine.test(e)})).map(transformSourceUrl).map((function(e){return" "===e[0]?e:" "+e}));return s.unshift(n),s.join("\n")}function error2RemoteObject(e){var t=e.name,n=e.message,s=e.stack;"string"!=typeof s&&(s=e.toString()),-1===s.indexOf(t)&&(s=e.toString()+"\n"+s);try{s=formatStack(s)}catch(e){}return{className:t,description:s,preview:{description:s,overflow:!1,properties:[{name:"stack",type:ERuntimeRemoteObjectType.String,value:s},{name:"message",type:ERuntimeRemoteObjectType.String,value:n}],subtype:ERuntimeRemoteObjectSubType.Error,type:ERuntimeRemoteObjectType.Object},subtype:ERuntimeRemoteObjectSubType.Error,type:ERuntimeRemoteObjectType.Object}}function isError(e){try{return"[object Error]"===Object.prototype.toString.call(e)}catch(e){return!1}}function getStartupParams(){if("undefined"!=typeof __appxStartupParams&&__appxStartupParams&&__appxStartupParams.appId)return __appxStartupParams;if("undefined"!=typeof my)try{return my.callSync("getStartupParams")||{}}catch(e){}return{}}var serverConfig={default:{domain:"hpmweb.alipay.com"},1:{domain:"hpmweb.alipay.com"}},ResponseEvent,RequestMethod,BreakStepType,FingerType;function getServerConfig(){var e=getStartupParams().remoteCh;return e&&serverConfig[e]?serverConfig[e]:serverConfig.default}!function(e){e.ById="Tyro.byId",e.Sticky="Tyro.sticky",e.StickyNotSendPaused="Tyro.stickyNotSendPaused",e.StickyAsync="Tyro.stickyAsync",e.ScriptSource="Tyro.scriptSource",e.Resumed="Debugger.resumed",e.ConsoleAPICalled="Runtime.consoleAPICalled"}(ResponseEvent||(ResponseEvent={})),function(e){e.DiscardConsoleEntries="Tyro.discardConsoleEntries",e.Evaluate="Tyro.evaluate",e.EvaluateOnCallFrame="Tyro.evaluateOnCallFrame",e.CallFunctionOn="Tyro.callFunctionOn",e.CompileScript="Tyro.compileScript",e.SetBreakpointsActive="Tyro.setBreakpointsActive",e.SetSkipAllPauses="Tyro.setSkipAllPauses",e.Resume="Tyro.resume",e.StepInto="Tyro.stepInto",e.StepOver="Tyro.stepOver",e.StepOut="Tyro.stepOut",e.Pause="Tyro.pause",e.GetPossibleBreakpoints="Tyro.getPossibleBreakpoints",e.SetBreakpointByUrl="Tyro.setBreakpointByUrl",e.SetBreakpoint="Tyro.setBreakpoint",e.RemoveBreakpoint="Tyro.removeBreakpoint",e.REPL="Tyro.repl",e.GetVariableValue="Tyro.getVariableValue",e.SetPauseOnExceptions="Tyro.setPauseOnExceptions",e.SetAsyncCallStackDepth="Tyro.setAsyncCallStackDepth",e.GetProperties="Tyro.getProperties"}(RequestMethod||(RequestMethod={})),function(e){e[e.Non=0]="Non",e[e.NextSticky=1]="NextSticky",e[e.StepOver=2]="StepOver",e[e.StepOut=3]="StepOut"}(BreakStepType||(BreakStepType={})),function(e){e[e.Entry=0]="Entry",e[e.Exit=1]="Exit"}(FingerType||(FingerType={}));var TyroUtil=function(){function e(){}return e.throwsMessage=function(e){return"[Throws: "+(e?e.message:"?")+"]"},e.safeGetValueFromPropertyOnObject=function(t,n){if(Object.prototype.hasOwnProperty.call(t,n))try{return t[n]}catch(t){return e.throwsMessage(t)}return t[n]},e.ensureProperties=function(t){var n=[];return function t(s){if(null===s||"object"!=typeof s)return s;if(-1!==n.indexOf(s))return"[Circular]";if(n.push(s),"function"==typeof s.toJSON)try{var r=t(s.toJSON());return n.pop(),r}catch(t){return e.throwsMessage(t)}if(Array.isArray(s)){var i=s.map(t);return n.pop(),i}var o=Object.keys(s).reduce((function(n,r){return n[r]=t(e.safeGetValueFromPropertyOnObject(s,r)),n}),{});return n.pop(),o}(t)},e.safeJSONStringify=function(t,n,s){return JSON.stringify(e.ensureProperties(t),n,s)},e.isWebIDE=function(){return!("undefined"==typeof navigator||!navigator)&&(navigator.swuserAgent||navigator.userAgent||"").indexOf("AlipayIDE")>-1},e}(),StickyFinger=function(){function StickyFinger(e,t,n,s){var r=this;this.isWebIDE=!1,this.asyncRequestMethod="tyroRequest",this.host=t,this.contextMap={},this.contextUrlMap={},this.breakpointMap={},this.breakpointIdMap={},this.debuggerMap={},this.objectMap={},this.originConsoleAPI={},this.requestTaskId=0,this.stickyMsgQueue=[],this.wsMsgQueue=[],this.wsIsOpen=!1,this.instrumentId=n,this.stickyFlag=s.stickyFlag,this.fingerFlag=s.fingerFlag,this.hookConsole(),this.stickyFlag&&(setTimeout((function(){r.socketTask=my.connectSocket({url:"wss://"+getServerConfig().domain+"/tyro/agent/"+r.instrumentId,multiple:!0});var e=function(){if(!r.wsIsOpen){r.originConsoleAPI.log("[tyro-agent] WebSocket 连接成功"),r.wsIsOpen=!0;for(var e=0,t=r.wsMsgQueue;e<t.length;e++){var n=t[e];r.socketTask.send({data:n})}r.wsMsgQueue=[]}};r.socketTask.onOpen((function(){e()})),r.socketTask.onClose((function(){r.originConsoleAPI.log("[tyro-agent] WebSocket 连接已关闭")})),r.socketTask.onMessage((function(t){r.wsIsOpen||e(),r.handleStickyAsync(JSON.parse(t.data.data))}))}),2e3),this.breakpointsActive=!0,this.skipAllPauses=!1,this.breakStepType=BreakStepType.Non,this.stackDepth=0,this.pauseOnExceptions="none",this.asyncCallStackDepth=0,this.lastStickyAsyncError=0,this.generateObjectId=0,this.globalExecutionContext=e,this.evaluateOnCallFrameExpression="",this.stickyNotSendPaused=!1,this.sendStickyParams=!1),this.fingerFlag&&(this.fingerId=0,this.fingerCache=[],this.fingerSendInterval=1e3,this.jsapiCallId=0,setInterval((function(){0!==r.fingerCache.length&&(r.sendPerf("Perf.trace",r.fingerCache),r.fingerCache=[])}),this.fingerSendInterval)),this.isWebIDE=TyroUtil.isWebIDE(),this.isWebIDE&&(this.asyncRequestMethod="tyroRequestAsync")}return StickyFinger.rewritePath=function(e){var t=e;return"."===t[0]&&(t=t.replace(".","")),t="app://"+(t=t.replace("tmp/data/build/",""))},StickyFinger.processRawContext=function(e){var t={path:this.rewritePath(e.path),contextId:String(e.contextId),scope:{0:[]},function:{},debuggerLine:e.debuggerLine,stickyLine:e.stickyLine};return e.scope&&Object.keys(e.scope).map((function(n){var s=e.scope[n],r=s.shift(),i=t.scope[r];t.scope[n]=i?i.concat(s.filter((function(e){return i.indexOf(e)<0}))):s})),e.function&&Object.keys(e.function).map((function(n){var s=e.function[n];t.function[n]={name:s[0],line:s[1]}})),t},StickyFinger.prototype.register=function(e,t){var n=String(e.contextId),s=StickyFinger.rewritePath(e.path);this.originConsoleAPI.log("[tyro-agent] register contextId "+n+" path "+s),this.contextMap[n]||this.breakpointMap[n]?this.originConsoleAPI.warn("[tyro-agent] duplicate context register "+n+" "+s):(this.contextMap[n]=StickyFinger.processRawContext(e),this.contextUrlMap[s]=n,this.breakpointMap[n]={},this.debuggerMap[n]=this.contextMap[n].debuggerLine.reduce((function(e,t){return e[t-1]=!0,e}),{}),this.stickyFlag&&this.xhrSend(ResponseEvent.ScriptSource,{scriptSource:t,scriptId:String(n),executionContextId:0,url:s}))},StickyFinger.prototype.sticky=function(e,t,n){if(!this.skipAllPauses&&this.breakpointsActive&&((this.debuggerMap[e]||{})[t]||(this.breakpointMap[e]||{})[t]||this.breakStepType===BreakStepType.NextSticky||this.breakStepType===BreakStepType.StepOver&&(new Error).stack.split("\n").length<=this.stackDepth||this.breakStepType===BreakStepType.StepOut&&(new Error).stack.split("\n").length<this.stackDepth||!0===this.sendStickyParams)){this.originConsoleAPI.log("[tyro-agent] sticky "+e+" "+t),this.breakStepType=BreakStepType.Non;var s={};if(this.stickyNotSendPaused)this.originConsoleAPI.log("[tyro-agent] stickyNotSendPaused");else{if(!this.sendStickyParams){this.originConsoleAPI.log("[tyro-agent] sticky sendStickyParams step 1"),s={callFrames:null,reason:"other",hitBreakpoints:[]};var r=this.breakpointMap[e][t];r&&s.hitBreakpoints.push(r);var i=(new Error).stack.split("\n");return this.stackDepth=i.length,Agent.isPhone?s.callFrames=this.processCallFramesPhone(String(e),t,n,i):s.callFrames=this.processCallFrames(String(e),t,n,i),this.stickyParams=s,this.sendStickyParams=!0,"(() => {\n const localObject = {};\n for (const key of Agent.getScopeVariables()) {\n localObject[key] = (() => {try{return eval(key)}catch(e){return undefined}})();\n }\n Agent.inflateStickyParamsObject(localObject);\n return true;\n })()"}this.originConsoleAPI.log("[tyro-agent] sticky sendStickyParams step 2"),s=this.stickyParams,this.sendStickyParams=!1}this.originConsoleAPI.log("[tyro-agent] sticky params "+TyroUtil.safeJSONStringify(s));var o=JSON.parse(this.xhrSend(ResponseEvent.Sticky,s));return this.handleSticky(o)}},StickyFinger.prototype.fingerEntry=function(e,t){var n=this.contextMap[e].path,s=this.contextMap[e].function[t],r=this.generateFingerId(),i={time:Date.now(),file:n,line:s.line,name:s.name,id:r,type:FingerType.Entry};return this.fingerCache.push(i),r},StickyFinger.prototype.fingerExit=function(e,t,n){var s=this.contextMap[e].path,r=this.contextMap[e].function[t],i={time:Date.now(),file:s,line:r.line,name:r.name,id:n,type:FingerType.Exit};this.fingerCache.push(i)},StickyFinger.prototype.sendPerf=function(e,t){self.bugmeAPI?self.bugmeAPI.send({method:e,params:t}):self.document?self.document.addEventListener("bugmeInjected",(function(){self.bugmeAPI.send({method:e,params:t})})):self.addEventListener&&self.addEventListener("bugmeInjected",(function(){self.bugmeAPI.send({method:e,params:t})}))},StickyFinger.prototype.hookConsole=function(){var e=this;this.originConsoleAPI.log=console.log.bind(console),this.originConsoleAPI.debug=console.debug.bind(console),this.originConsoleAPI.info=console.info.bind(console),this.originConsoleAPI.error=console.error.bind(console),this.originConsoleAPI.warn=console.warn.bind(console),console.log=function(){for(var t,n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];if((t=e.originConsoleAPI).log.apply(t,n),!(n.length>0&&"string"==typeof n[0]&&(n[0].indexOf("[framework]")>=0||n[0].indexOf("dispatchEvent")>=0||n[0].indexOf("onMessage push")>=0))){var r={type:"log",args:n.map((function(t){return e.objectToRemoteObject(t,null,"object"==typeof t)})),executionContextId:0,timestamp:(new Date).getTime()};e.xhrSend(ResponseEvent.ConsoleAPICalled,r,null,!1)}},console.debug=function(){for(var t,n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];if((t=e.originConsoleAPI).debug.apply(t,n),!(n.length>0&&"string"==typeof n[0]&&(n[0].indexOf("[framework]")>=0||n[0].indexOf("dispatchEvent")>=0||n[0].indexOf("onMessage push")>=0))){var r={type:"debug",args:n.map((function(t){return e.objectToRemoteObject(t,null,"object"==typeof t)})),executionContextId:0,timestamp:(new Date).getTime()};e.xhrSend(ResponseEvent.ConsoleAPICalled,r,null,!1)}},console.info=function(){for(var t,n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];if((t=e.originConsoleAPI).info.apply(t,n),!(n.length>0&&"string"==typeof n[0]&&(n[0].indexOf("[framework]")>=0||n[0].indexOf("dispatchEvent")>=0||n[0].indexOf("onMessage push")>=0))){var r={type:"info",args:n.map((function(t){return e.objectToRemoteObject(t,null,"object"==typeof t)})),executionContextId:0,timestamp:(new Date).getTime()};e.xhrSend(ResponseEvent.ConsoleAPICalled,r,null,!1)}},console.error=function(){for(var t,n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];if((t=e.originConsoleAPI).error.apply(t,n),!(n.length>0&&"string"==typeof n[0]&&(n[0].indexOf("[framework]")>=0||n[0].indexOf("dispatchEvent")>=0||n[0].indexOf("onMessage push")>=0))){var r={type:"error",args:n.map((function(t){return e.objectToRemoteObject(t,null,"object"==typeof t)})),executionContextId:0,timestamp:(new Date).getTime()};e.xhrSend(ResponseEvent.ConsoleAPICalled,r,null,!1)}},console.warn=function(){for(var t,n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];if((t=e.originConsoleAPI).warn.apply(t,n),!(n.length>0&&"string"==typeof n[0]&&(n[0].indexOf("[framework]")>=0||n[0].indexOf("dispatchEvent")>=0||n[0].indexOf("onMessage push")>=0))){var r={type:"warning",args:n.map((function(t){return e.objectToRemoteObject(t,null,"object"==typeof t)})),executionContextId:0,timestamp:(new Date).getTime()};e.xhrSend(ResponseEvent.ConsoleAPICalled,r,null,!1)}}},StickyFinger.prototype.inflateStickyParamsObject=function(e){if(0!==this.stickyParams.callFrames.length){this.generateObjectId+=1;var t=String(this.generateObjectId);this.objectMap[t]=e,this.stickyParams.callFrames[0].scopeChain.push({type:"local",name:this.stickyParams.callFrames[0].functionName,object:{className:"Object",description:"Object",objectId:t,type:"object"}})}},StickyFinger.prototype.processCallFrames=function(e,t,n,s){var r=this,i=[],o=s.slice(3,s.length).map((function(e){return e.substr(0,e.lastIndexOf(":")).replace(" at ","").replace(" (",":")})),a=0,c=!0;return o.map((function(t){var s=t.split(":"),o=s[0],p=r.contextMap[e].path,u=Number(s[s.length-1]),l=r.contextUrlMap[p]||"none",y=a+":"+u+":"+p;c&&(r.scopeVariables=void 0!==r.contextMap[e]?r.contextMap[e].scope[n]:[],c=!1);var h={callFrameId:y,functionName:o,location:{scriptId:l,lineNumber:u,columnNumber:0},url:p,scopeChain:[],this:{}};i.push(h),a+=1})),i},StickyFinger.prototype.processCallFramesPhone=function(e,t,n,s){var r=this,i=[],o=s.slice(2,s.length).map((function(e){return e.substr(0,e.lastIndexOf(":")).replace(" at ","").replace(" (",":").replace("@",":")})),a=0,c=!0;return o.map((function(s){var o=s.split(":"),p=o[0],u=r.contextMap[e].path,l=Number(o[o.length-1]),y=r.contextUrlMap[u]||"none",h=a+":"+l+":"+u;c&&(r.scopeVariables=void 0!==r.contextMap[e]?r.contextMap[e].scope[n]:[],r.originConsoleAPI.log("scopeVariables "+TyroUtil.safeJSONStringify(r.scopeVariables)),r.originConsoleAPI.log("scopeVariables "+TyroUtil.safeJSONStringify(r.contextMap[e])+" "+r.contextMap[e].scope+" "+n),c=!1);var d={callFrameId:h,functionName:p,location:{scriptId:y,lineNumber:t,columnNumber:0},url:u,scopeChain:[],this:{}};i.push(d),a+=1})),i},StickyFinger.prototype.stickyAsyncLoop=function(){this.xhrSend(ResponseEvent.StickyAsync,{})},StickyFinger.prototype.xhrSendJSAPI=function(e,t,n,s){var r,i=this;if(e===ResponseEvent.Sticky){var o;this.stickyMsgQueue.length>0?(this.stickyMsgQueue.push({method:this.stickyNotSendPaused?ResponseEvent.StickyNotSendPaused:ResponseEvent.Sticky,params:t}),o=TyroUtil.safeJSONStringify(this.stickyMsgQueue),this.stickyMsgQueue=[]):o=TyroUtil.safeJSONStringify({method:this.stickyNotSendPaused?ResponseEvent.StickyNotSendPaused:ResponseEvent.Sticky,params:t}),my.call("showRemoteDebugMask",{text:" ",buttonTitle:"断点命中",hide:!1}),this.stickyNotSendPaused=!1;var a=Date.now(),c=my.callSync("tyroRequest",{url:this.host+"/tyro/agent",method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8","instrument-id":this.instrumentId},data:o,timeout:6e5,blockTimeout:6e5,dataType:"json",requestTaskId:this.requestTaskId++});return my.call("showRemoteDebugMask",{hide:!0}),c.error||null===c?(null===c?this.originConsoleAPI.error("[tyro-agent] xhrSend error result is "+c):this.originConsoleAPI.error("[tyro-agent] xhrSend error "+c.error+" "+c.errorMessage),Date.now()-a>=5e3?this.xhrSendJSAPI(e,t,n,s):TyroUtil.safeJSONStringify({method:"default"})):200!==c.status?(this.originConsoleAPI.error("[tyro-agent] xhrSend status fail "+e+" "+c.status),TyroUtil.safeJSONStringify({method:"default"})):c.data}if(e===ResponseEvent.StickyAsync){var p=TyroUtil.safeJSONStringify({method:ResponseEvent.StickyAsync,params:t});this.originConsoleAPI.info("[tyro-agent] xhrSend async send "+p),my.call(this.asyncRequestMethod,{url:this.host+"/tyro/agent",method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8","instrument-id":this.instrumentId},data:p,timeout:6e5,dataType:"json",requestTaskId:this.requestTaskId++,success:function(e){i.lastStickyAsyncError=0,i.stickyAsyncLoop(),200===e.status?(i.originConsoleAPI.info("[tyro-agent] xhrSend async success "+e.status+" "+e.data),i.handleStickyAsync(JSON.parse(e.data))):i.originConsoleAPI.error("[tyro-agent] xhrSend async fail "+e.status+" "+e.data)},fail:function(e){i.lastStickyAsyncError>=3?setTimeout((function(){i.stickyAsyncLoop()}),3e3):(i.lastStickyAsyncError+=1,i.stickyAsyncLoop()),i.originConsoleAPI.error("[tyro-agent] xhrSend async error "+TyroUtil.safeJSONStringify(e))}})}switch(e){case ResponseEvent.ById:r={id:n,result:t};break;case ResponseEvent.ScriptSource:r={method:ResponseEvent.ScriptSource,params:t};break;case ResponseEvent.Resumed:r={method:ResponseEvent.Resumed,params:t};break;case ResponseEvent.ConsoleAPICalled:r={method:ResponseEvent.ConsoleAPICalled,params:t};break;default:return}s?this.stickyMsgQueue.push(r):this.wsIsOpen?this.socketTask.send({data:TyroUtil.safeJSONStringify(r)}):this.wsMsgQueue.push(TyroUtil.safeJSONStringify(r))},StickyFinger.prototype.xhrSend=function(e,t,n,s){var r=this;if(Agent.isPhone)return this.xhrSendJSAPI(e,t,n,s);var i,o=new XMLHttpRequest;if(e===ResponseEvent.Sticky){var a;if(o.open("POST",this.host+"/tyro/agent",!1),o.setRequestHeader("Content-Type","application/json;charset=UTF-8"),o.setRequestHeader("instrument-id",this.instrumentId),this.stickyMsgQueue.length>0){this.stickyMsgQueue.push({method:this.stickyNotSendPaused?ResponseEvent.StickyNotSendPaused:ResponseEvent.Sticky,params:t});try{a=TyroUtil.safeJSONStringify(this.stickyMsgQueue)}catch(e){this.originConsoleAPI.error(e),a=TyroUtil.safeJSONStringify({method:this.stickyNotSendPaused?ResponseEvent.StickyNotSendPaused:ResponseEvent.Sticky,params:t})}finally{this.stickyMsgQueue=[]}}else a=TyroUtil.safeJSONStringify({method:this.stickyNotSendPaused?ResponseEvent.StickyNotSendPaused:ResponseEvent.Sticky,params:t});if(this.stickyNotSendPaused=!1,o.send(a),200===o.status)return o.responseText;throw new Error("[sticky-finger] xhrSend error "+e+" "+o.status)}if(e===ResponseEvent.StickyAsync)return o.open("POST",this.host+"/tyro/agent",!0),o.setRequestHeader("Content-Type","application/json;charset=UTF-8"),o.setRequestHeader("instrument-id",this.instrumentId),o.onload=function(){if(r.lastStickyAsyncError=0,r.stickyAsyncLoop(),4!==o.readyState||200!==o.status)throw new Error("[tyro-agent] xhrSend async fail "+e+" "+o.readyState+" "+o.status);r.handleStickyAsync(JSON.parse(o.responseText))},o.onerror=function(){throw r.lastStickyAsyncError>=3?setTimeout((function(){r.stickyAsyncLoop()}),3e3):(r.lastStickyAsyncError+=1,r.stickyAsyncLoop()),new Error("[tyro-agent] xhrSend async error "+e+" "+o.readyState+" "+o.status)},void o.send(TyroUtil.safeJSONStringify({method:ResponseEvent.StickyAsync,params:t}));switch(o.open("POST",this.host+"/tyro/agent",!0),o.setRequestHeader("Content-Type","application/json;charset=UTF-8"),o.setRequestHeader("instrument-id",this.instrumentId),o.onload=function(){if(4!==o.readyState||200!==o.status)throw new Error("[tyro-agent] xhrSend async fail "+e+" "+o.readyState+" "+o.status)},o.onerror=function(){throw new Error("[tyro-agent] xhrSend async error "+e+" "+o.readyState+" "+o.status)},e){case ResponseEvent.ById:i={id:n,result:t};break;case ResponseEvent.ScriptSource:i={method:ResponseEvent.ScriptSource,params:t};break;case ResponseEvent.Resumed:i={method:ResponseEvent.Resumed,params:t};break;case ResponseEvent.ConsoleAPICalled:i={method:ResponseEvent.ConsoleAPICalled,params:t};break;default:return}s?this.stickyMsgQueue.push(i):o.send(TyroUtil.safeJSONStringify(i))},StickyFinger.prototype.handleSticky=function(e){var t=e.id,n=e.method,s=e.params;switch(n){case RequestMethod.DiscardConsoleEntries:return this.stickyNotSendPaused=!0,this.originConsoleAPI.log("[tyro-agent] DiscardConsoleEntries success"),"(()=>{return true})()";case RequestMethod.CallFunctionOn:return this.stickyNotSendPaused=!0,this.originConsoleAPI.log("[tyro-agent] CallFunctionOn TODO sticky"),"(()=>{return true})()";case RequestMethod.CompileScript:return this.stickyNotSendPaused=!0,this.originConsoleAPI.log("[tyro-agent] CompileScript success, "+TyroUtil.safeJSONStringify(s)),"(()=>{return true})()";case RequestMethod.SetBreakpointsActive:return this.stickyNotSendPaused=!0,this.breakpointsActive=s.active,this.originConsoleAPI.log("[tyro-agent] SetBreakpointsActive success, breakpointsActive "+this.breakpointsActive),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.SetSkipAllPauses:return this.stickyNotSendPaused=!0,this.skipAllPauses=s.skip,this.originConsoleAPI.log("[tyro-agent] SetSkipAllPauses success, skipAllPauses "+this.skipAllPauses),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.Resume:return this.xhrSend(ResponseEvent.Resumed,{}),this.originConsoleAPI.log("[tyro-agent] Resume success"),"(()=>{return false})()";case RequestMethod.StepInto:return this.xhrSend(ResponseEvent.Resumed,{}),this.breakStepType=BreakStepType.NextSticky,this.originConsoleAPI.log("[tyro-agent] StepInto success"),"(()=>{return false})()";case RequestMethod.StepOver:return this.xhrSend(ResponseEvent.Resumed,{}),this.breakStepType=BreakStepType.StepOver,this.originConsoleAPI.log("[tyro-agent] StepOver success"),"(()=>{return false})()";case RequestMethod.StepOut:return this.xhrSend(ResponseEvent.Resumed,{}),this.breakStepType=BreakStepType.StepOut,this.originConsoleAPI.log("[tyro-agent] StepOut success"),"(()=>{return false})()";case RequestMethod.GetPossibleBreakpoints:return this.stickyNotSendPaused=!0,this.getPossibleBreakpoints(t,s,!0),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.SetBreakpointByUrl:return this.stickyNotSendPaused=!0,this.setBreakpointByUrl(t,s,!0),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.SetBreakpoint:return this.stickyNotSendPaused=!0,this.setBreakpoint(t,s,!0),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.RemoveBreakpoint:return this.stickyNotSendPaused=!0,this.removeBreakpoint(t,s),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.REPL:return this.stickyNotSendPaused=!0,this.breakStepType=BreakStepType.NextSticky,"(()=>{(()=>{"+s.statement+"})();return true})()";case RequestMethod.GetVariableValue:this.stickyNotSendPaused=!0;var r=e.params;return this.breakStepType=BreakStepType.NextSticky,"(()=>{(()=>{\n Agent.variableValue({"+r.map((function(e){return e+": (() => {try{return "+e+"}catch(e){return undefined}})()"})).join(",")+"})\n })();return true})()";case RequestMethod.SetPauseOnExceptions:return this.stickyNotSendPaused=!0,this.setPauseOnExceptions(t,s),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.SetAsyncCallStackDepth:return this.stickyNotSendPaused=!0,this.setAsyncCallStackDepth(t,s),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";case RequestMethod.EvaluateOnCallFrame:return this.stickyNotSendPaused=!0,this.evaluateOnCallFrameExpression=s.expression,this.breakStepType=BreakStepType.NextSticky,"(()=>{\n let tyroRet,tyroErr;\n try{tyroRet=eval(Agent.getEvaluateOnCallFrameExpression())}\n catch(e){tyroErr=e}\n Agent.evaluateOnCallFrame("+t+",tyroRet,tyroErr,"+s.generatePreview+");\n return true;\n })()";case RequestMethod.GetProperties:return this.stickyNotSendPaused=!0,this.getProperties(t,s,!0),this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()";default:return this.breakStepType=BreakStepType.NextSticky,"(()=>{return true})()"}},StickyFinger.prototype.handleStickyAsync=function(e){var t=e.id,n=e.method,s=e.params;switch(this.originConsoleAPI.log("[tyro-agent] handleStickyAsync "+t+", "+n+", "+s),n){case RequestMethod.DiscardConsoleEntries:this.originConsoleAPI.log("[tyro-agent] DiscardConsoleEntries success");break;case RequestMethod.Evaluate:this.originConsoleAPI.log("[tyro-agent] Evaluate start, expression "+s.expression);var r=this.evaluate(this.globalExecutionContext,t,s);this.originConsoleAPI.log("[tyro-agent] Evaluate success, expression "+s.expression+", result "+TyroUtil.safeJSONStringify(r));break;case RequestMethod.CallFunctionOn:this.originConsoleAPI.log("[tyro-agent] CallFunctionOn TODO stickyAsync");break;case RequestMethod.CompileScript:this.originConsoleAPI.log("[tyro-agent] CompileScript success, params "+TyroUtil.safeJSONStringify(s));break;case RequestMethod.SetBreakpointsActive:this.breakpointsActive=s.active,this.originConsoleAPI.log("[tyro-agent] SetBreakpointsActive success, breakpointsActive "+this.breakpointsActive);break;case RequestMethod.SetSkipAllPauses:this.skipAllPauses=s.skip,this.originConsoleAPI.log("[tyro-agent] SetSkipAllPauses success, skipAllPauses "+this.skipAllPauses);break;case RequestMethod.Pause:this.breakStepType=BreakStepType.NextSticky,this.originConsoleAPI.log("[tyro-agent] Pause success");break;case RequestMethod.GetPossibleBreakpoints:this.getPossibleBreakpoints(t,s);break;case RequestMethod.SetBreakpointByUrl:this.setBreakpointByUrl(t,s);break;case RequestMethod.SetBreakpoint:this.setBreakpoint(t,s);break;case RequestMethod.RemoveBreakpoint:this.removeBreakpoint(t,s);break;case RequestMethod.SetPauseOnExceptions:this.setPauseOnExceptions(t,s);break;case RequestMethod.SetAsyncCallStackDepth:this.setAsyncCallStackDepth(t,s);break;case RequestMethod.GetProperties:this.getProperties(t,s)}},StickyFinger.prototype.objectToRemoteObject=function(e,t,n){var s={};if(isError(e)&&(t=e),t)return error2RemoteObject(t);switch(s.type=typeof e,s.type){case"undefined":break;case"object":if(null===e){s.subtype="null",s.value=null;break}if(void 0!==e.constructor&&(s.className=e.constructor.name),void 0!==e.toString)try{s.description=e.toString()}catch(e){s.description="[object Object]"}else s.description="[object Object]";if(this.generateObjectId+=1,s.objectId=String(this.generateObjectId),this.objectMap[String(this.generateObjectId)]=e,n)for(var r in s.preview={type:"object",description:"Object",overflow:!1,properties:[]},e){var i=typeof e[r];s.preview.properties.push({name:r,type:i,value:"object"===i?"Object":"function"===i?"":e[r]})}break;case"function":s.description=e.toString(),s.className="Function";break;default:s.value=e,s.description=e.toString()}return s},StickyFinger.prototype.evaluateOnCallFrame=function(e,t,n,s){var r=this.objectToRemoteObject(t,n,s);return this.xhrSend(ResponseEvent.ById,{result:r},e,!0),r},StickyFinger.prototype.evaluate=function(executionContext,id,params){var returnValue,error;try{returnValue=function(expression){return"function"==typeof eval?eval(expression):Agent.evalReference(expression)}.call(executionContext,params.expression)}catch(e){error=e}var result=this.objectToRemoteObject(returnValue,error,params.generatePreview);return this.xhrSend(ResponseEvent.ById,{result:result},id),result},StickyFinger.prototype.getPossibleBreakpoints=function(e,t,n){var s=t.scriptId,r=t.startLine,i=t.endLine===t.startLine?t.endLine+1:t.endLine,o={locations:[]};if(this.contextMap[s])for(var a=this.contextMap[s].stickyLine,c=r;c<i;c++)a.includes(c)&&o.locations.push({scriptId:s,lineNumber:c,columnNumber:0});else this.originConsoleAPI.warn("[tyro-agent] getPossibleBreakpoints no scriptId "+s+" in contextMap");this.originConsoleAPI.log("[tyro-agent] getPossibleBreakpoints success, result: "+TyroUtil.safeJSONStringify(o)),this.xhrSend(ResponseEvent.ById,o,e,n)},StickyFinger.prototype.setBreakpointByUrl=function(e,t,n){var s=t.scriptId,r=t.url,i=t.lineNumber;if(this.contextMap[s])if(this.contextMap[s].stickyLine.includes(i)){var o=s+":"+i+":0:"+r,a={breakpointId:o,locations:[{scriptId:s,lineNumber:i,columnNumber:0}]};this.breakpointMap[s][i]=o,this.breakpointIdMap[o]={contextId:s,line:i},this.originConsoleAPI.log("[tyro-agent] setBreakpointByUrl success, scriptId: "+s+", url: "+r+", lineNumber: "+i),this.xhrSend(ResponseEvent.ById,a,e,n)}else this.originConsoleAPI.warn("[tyro-agent] setBreakpointByUrl not sticky line, scriptId: "+s+", url: "+r+", lineNumber: "+i);else this.originConsoleAPI.warn("[tyro-agent] setBreakpointByUrl no contextMap, scriptId: "+s)},StickyFinger.prototype.setBreakpoint=function(e,t,n){var s=t.scriptId,r=t.lineNumber;if(this.contextMap[s])if(this.contextMap[s].stickyLine.includes(r)){var i=s+":"+r+":0",o={breakpointId:i,actualLocation:{scriptId:s,lineNumber:r,columnNumber:0}};this.breakpointMap[s][r]=i,this.breakpointIdMap[i]={contextId:s,line:r},this.originConsoleAPI.log("[tyro-agent] setBreakpoint success, scriptId: "+s+", lineNumber: "+r),this.xhrSend(ResponseEvent.ById,o,e,n)}else this.originConsoleAPI.warn("[tyro-agent] setBreakpoint not sticky line, scriptId: "+s+", lineNumber: "+r);else this.originConsoleAPI.warn("[tyro-agent] setBreakpoint no contextMap, scriptId: "+s)},StickyFinger.prototype.removeBreakpoint=function(e,t){var n=t.breakpointId,s=this.breakpointIdMap[n];s||this.originConsoleAPI.warn("[tyro-agent] removeBreakpoint no breakpointId "+n);var r=s.contextId,i=s.line;delete this.breakpointMap[r][i],this.originConsoleAPI.log("[tyro-agent] removeBreakpoint success, breakpointId: "+n+", scriptId: "+r+", line: "+i)},StickyFinger.prototype.setPauseOnExceptions=function(e,t){t&&["none","uncaught","all"].includes(t.state)?(this.pauseOnExceptions=t.state,this.originConsoleAPI.log("[tyro-agent] setPauseOnExceptions success, pauseOnExceptions state "+this.pauseOnExceptions)):this.originConsoleAPI.warn("[tyro-agent] setPauseOnExceptions state invalid: "+TyroUtil.safeJSONStringify(t))},StickyFinger.prototype.setAsyncCallStackDepth=function(e,t){!t||"number"!=typeof t.maxDepth||t.maxDepth<0?this.originConsoleAPI.warn("[tyro-agent] setAsyncCallStackDepth maxDepth invalid: "+TyroUtil.safeJSONStringify(t)):(this.asyncCallStackDepth=t.maxDepth,this.originConsoleAPI.log("[tyro-agent] setAsyncCallStackDepth success, maxDepth "+this.asyncCallStackDepth))},StickyFinger.prototype.getProperties=function(e,t,n){var s=t.objectId,r=this.objectMap[s],i=[];for(var o in r)i.push({name:o,value:this.objectToRemoteObject(r[o])});this.xhrSend(ResponseEvent.ById,{result:i},e,n)},StickyFinger.prototype.generateFingerId=function(){return this.fingerId+=1,this.fingerId},StickyFinger}(),Agent=function(){function e(t,n){if(e.singleton)return e.singleton;this.host="https://"+getServerConfig().domain,this.stickyFinger=new StickyFinger("undefined"!=typeof window?window:self,this.host,t,n)}return e.getShadowMethod=function(){this.globalReference=self,"function"==typeof eval?this.evalReference=eval:"function"==typeof __eval&&(this.evalReference=__eval)},e.setShadowMethod=function(){this.globalReference.eval=this.evalReference},e.setInstrumentId=function(e){this.instrumentId=e},e.register=function(t,n){if(!e.singleton){if(!this.instrumentId&&"undefined"!=typeof my)try{this.instrumentId=getStartupParams().tyroId}catch(e){}e.instance(this.instrumentId,t)}e.singleton.stickyFinger.register(t,n)},e.sticky=function(t,n,s){return e.singleton.stickyFinger.sticky(t,n,s)},e.getEvaluateOnCallFrameExpression=function(){return e.singleton.stickyFinger.evaluateOnCallFrameExpression},e.evaluateOnCallFrame=function(t,n,s,r){return e.singleton.stickyFinger.evaluateOnCallFrame(t,n,s,r)},e.getScopeVariables=function(){return e.singleton.stickyFinger.scopeVariables},e.inflateStickyParamsObject=function(t){return e.singleton.stickyFinger.inflateStickyParamsObject(t)},e.entry=function(t,n){return e.singleton.stickyFinger.fingerEntry(t,n)},e.exit=function(t,n,s){e.singleton.stickyFinger.fingerExit(t,n,s)},e.instance=function(t,n){e.singleton=new e(t,n)},e.isPhone=!0,e.instrumentId=null,e}();Agent.getShadowMethod();var globalReference="undefined"!=typeof window?window:self;globalReference.Agent||(globalReference.StickyFinger=StickyFinger,globalReference.Agent=Agent)}(); + +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=43)}({0:function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var originalBridgeCall=self.AlipayJSBridge&&self.AlipayJSBridge.call,originalFetch=self.fetch,originImportScripts=self.importScripts,originEval="function"==typeof self.__eval?self.__eval:self.eval;exports.getUserAgent=function(){return navigator.swuserAgent||navigator.userAgent||""},exports.debug=console.log.bind(console),exports.checkIOS=function(){return/\(i[^;]+;( U;)? CPU.+Mac OS X/.test(exports.getUserAgent())},exports.isLyra=function(){return Boolean(self.__LyraWSWorkerOrigin)},exports.callInternalAPI=function(e,t){var n={data:{method:e,param:t},action:"internalAPI"},o=encodeURIComponent(JSON.stringify(n));originalFetch?originalFetch("https://alipay.kylinBridge/?data="+o,{mode:"no-cors"}).then((function(){})).catch((function(){})):originalBridgeCall&&originalBridgeCall("internalAPI",{method:e,param:t})},exports.getStartupParams=function(){return self.__appxStartupParams&&self.__appxStartupParams.appId?self.__appxStartupParams:self.AFAppX&&self.AFAppX.bridge&&self.AFAppX.bridge.callSync&&self.AFAppX.bridge.callSync("getStartupParams")||{}},exports.getBridge=function(){return self.AFAppX.bridge};var appxImported=!1,appxImportListener=[];exports.runAfterAppx=function(e){if(self.AFAppX)return appxImported=!0,void e();self.importScripts=function(e){originImportScripts(e),!appxImported&&/af-appx\.worker\.min\.js$/.test(e)&&(appxImported=!0,appxImportListener.forEach((function(e){return e()})),appxImportListener=[])},appxImportListener.push(e)},exports.evaluateScript=function(expression){return"function"==typeof eval?eval(expression):"function"==typeof originEval?(self.eval=originEval,eval(expression)):void 0}},11:function(e,t){var n="\\x"+("0"+"~".charCodeAt(0).toString(16)).slice(-2),o="\\"+n,r=new RegExp(n,"g"),s=new RegExp(o,"g"),a=new RegExp("(?:^|([^\\\\]))"+o),i=[].indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},c=String;function u(e,t,n){return t instanceof Array?function(e,t,n){for(var o=0,r=t.length;o<r;o++)t[o]=u(e,t[o],n);return t}(e,t,n):t instanceof c?t.length?n.hasOwnProperty(t)?n[t]:n[t]=function(e,t){for(var n=0,o=t.length;n<o;e=e[t[n++].replace(s,"~")]);return e}(e,t.split("~")):e:t instanceof Object?function(e,t,n){for(var o in t)t.hasOwnProperty(o)&&(t[o]=u(e,t[o],n));return t}(e,t,n):t}var l={stringify:function(e,t,s,a){return l.parser.stringify(e,function(e,t,s){var a,c,u=!1,l=!!t,p=[],f=[e],d=[e],g=[s?"~":"[Circular]"],m=e,h=1;return l&&(c="object"==typeof t?function(e,n){return""!==e&&t.indexOf(e)<0?void 0:n}:t),function(e,t){return l&&(t=c.call(this,e,t)),u?(m!==this&&(a=h-i.call(f,this)-1,h-=a,f.splice(h,f.length),p.splice(h-1,p.length),m=this),"object"==typeof t&&t?(i.call(f,t)<0&&f.push(m=t),h=f.length,(a=i.call(d,t))<0?(a=d.push(t)-1,s?(p.push((""+e).replace(r,n)),g[a]="~"+p.join("~")):g[a]=g[0]):t=g[a]):"string"==typeof t&&s&&(t=t.replace(n,o).replace("~",n))):u=!0,t}}(e,t,!a),s)},parse:function(e,t){return l.parser.parse(e,function(e){return function(t,r){var s="string"==typeof r;return s&&"~"===r.charAt(0)?new c(r.slice(1)):(""===t&&(r=u(r,r,{})),s&&(r=r.replace(a,"$1~").replace(o,n)),e?e.call(this,t,r):r)}}(t))},parser:JSON};e.exports=l},2:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.Connect="RemoteX.connect",e.Disconnect="RemoteX.disconnect",e.PageChanged="RemoteX.pageChanged",e.DataChanged="RemoteX.dataChanged",e.EvaluteScript="RemoteX.evaluteScript",e.syncStorage="RemoteX.syncStorage",e.requestWillBeSent="RemoteX.requestWillBeSent",e.requestFinished="RemoteX.requestFinished",e.Ping="RemoteX.ping",e.Pong="RemoteX.pong"}(t.RemoteXMethods||(t.RemoteXMethods={}))},43:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(44),r=n(47),s=n(48),a=n(0);a.runAfterAppx((function(){setTimeout((function(){a.debug("[bugme] run after appx"),a.getStartupParams().isRemoteX||a.isLyra()?(a.debug("[bugme] remotex mode"),o.registerRemoteX()):(a.debug("[bugme] preview mode"),s.registerPreview())}),1e3)}));try{r.initAppXHook()}catch(e){console.error(e)}},44:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(6),r=n(0),s=n(45);t.registerRemoteX=function(){if(self.navigator){r.debug("[bugme] start to register remotex"),s.listenEvents(),o.SocketConn.open(),self.bugmeAPI={send:function(e){o.SocketConn.send(e)}};if(self.document&&self.document.dispatchEvent)try{self.document.dispatchEvent("bugmeInjected")}catch(e){self.document.dispatchEvent(new CustomEvent("bugmeInjected"))}else self.dispatchEvent&&self.dispatchEvent(new CustomEvent("bugmeInjected"))}}},45:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(2),r=n(0),s=n(6),a=n(46);function i(e){if(!e||"object"!=typeof e)return{};var t={};return Object.keys(e).forEach((function(n){t[n]=""+e[n]})),t}var c=/^https?:\/\/hpmweb\.alipay\.com/,u=function(e){c.test(e.url)||s.SocketConn.send({method:o.RemoteXMethods.requestWillBeSent,params:{reqId:e.requestId,url:e.url,method:(e.method||"GET").toUpperCase(),body:e.postBody,headers:i(e.headers)}})},l=function(e){c.test(e.url)||s.SocketConn.send({method:o.RemoteXMethods.requestFinished,params:{reqId:e.requestId,url:e.url,status:e.status,body:e.body,headers:i(e.headers)}})},p=function(e){c.test(e.url)||s.SocketConn.send({method:o.RemoteXMethods.requestFinished,params:{reqId:e.requestId,url:e.url,status:null}})},f=function(e){var t={};Object.keys(e.data).forEach((function(n){try{t[n]=JSON.parse(e.data[n]).APDataStorage}catch(e){}})),s.SocketConn.send({method:o.RemoteXMethods.syncStorage,params:{data:t}})};t.listenEvents=function(){var e=r.getBridge();e.on(a.ERiverWorkerEvent.PageResume,(function(){s.SocketConn.send({method:o.RemoteXMethods.PageChanged})})),e.on(a.ERiverWorkerEvent.DebugPanelClick,(function(){s.SocketConn.close()})),r.checkIOS()&&!r.isLyra()?(e.on(a.ERiverDebugEvent.networkRequest,(function(e){var t=e.data;u(t)})),e.on(a.ERiverDebugEvent.networkResponse,(function(e){var t=e.data;l(t)})),e.on(a.ERiverDebugEvent.networkError,(function(e){var t=e.data;p(t)})),e.on(a.ERiverDebugEvent.storageChanged,(function(e){var t=e.data;f(t)}))):e.on(a.ERiverDebugEvent.debugConsole,(function(e){var t,n=e.data,o=n.type,r=n.content;try{t=JSON.parse(r)}catch(e){return}switch(o){case a.ERiverDebugEvent.networkRequest:u(t);break;case a.ERiverDebugEvent.networkResponse:l(t);break;case a.ERiverDebugEvent.networkError:p(t);break;case a.ERiverDebugEvent.storageChanged:f(t)}}))}},46:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.networkRequest="tinyAppRemoteDebug_network_request",e.networkResponse="tinyAppRemoteDebug_network_response",e.networkError="tinyAppRemoteDebug_network_error",e.storageChanged="tinyAppRemoteDebug_storage",e.debugConsole="onTinyDebugConsole",e.vconsoleMessage="onMessageFromVConsole"}(t.ERiverDebugEvent||(t.ERiverDebugEvent={})),function(e){e.PageResume="pageResume",e.DebugPanelClick="tinyRemoteDebugPanelButtonClick"}(t.ERiverWorkerEvent||(t.ERiverWorkerEvent={}))},47:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(6),r=null;t.initAppXHook=function(){var e=self.__APPX_DEVTOOLS_GLOBAL_HOOK__,t={};e&&Object.assign(t,e),t.onSetData=function(t){if(e&&e.onSetData)try{e.onSetData(t)}catch(e){console.error(e)}o.SocketConn.socketTask&&(clearTimeout(r),r=setTimeout((function(){o.SocketConn.send({method:"RemoteX.dataChanged"})}),300))},t.onSetDataCallback=function(t){e&&e.onSetDataCallback&&e.onSetDataCallback(t)},self.__APPX_DEVTOOLS_GLOBAL_HOOK__=t}},48:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),r=n(0),s=function(e,t){return void 0===t?"©undefined":null===t?"©null":t===-1/0?"©- Infinity":t===1/0?"©Infinity":"number"==typeof t&&isNaN(t)?"©NaN":"function"==typeof t?"©function":t},a=Function,i=function(e){try{if(e.fromVConsoleToWorker){var t=e.requestId;if("exec"===e.method){try{new a("requestId","sendBack","var res = "+e.script+";console.log(res);")(t,(function(e){return r.callInternalAPI("tinyDebugConsole",{type:"msgFromWorkerToVConsole",content:o.stringify({requestId:t,returnValue:e},s)})}))}catch(e){console.error(e.name+":"+e.message)}}}}catch(e){}};t.registerPreview=function(){setTimeout((function(){self.document?self.document.addEventListener("push",(function(e){try{var t=e.data.param;i(JSON.parse(t.content||t.data.content))}catch(e){}})):self.addEventListener&&self.addEventListener("push",(function(e){try{var t=JSON.parse(JSON.parse(e.data.text()).param.data.content);i(t)}catch(e){}}))}),10),["log","info","error","debug","warn"].forEach((function(e){var t="o"+e;console[t]||(console[t]=console[e],console[e]=function(){for(var n,a=[],i=0;i<arguments.length;i++)a[i]=arguments[i];console[t].apply(console,a);try{n=o.stringify(a.map((function(e){return e instanceof Error?e.name+": "+e.message:e})),s)}catch(e){return void console.error(e.name+": "+e.message)}r.callInternalAPI("tinyDebugConsole",{content:n,type:"console_"+e})})}))}},5:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.wssConfig={default:{openchannel:"openchannel.alipay.com",hpmweb:"hpmweb.alipay.com"},1:{openchannel:"miniprogram.alipay.com",hpmweb:"hpmweb.alipay.com"}}},6:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=n(11),r=n(0),s=n(2),a=n(5),i=function(){r.getBridge().call("showRemoteDebugPanel",{status:"connecting",text:"远程调试准备中",buttonTitle:"退出"})},c=function(){r.getBridge().call("showRemoteDebugPanel",{status:"connected",text:"远程调试已连接",buttonTitle:"退出"})},u=function(){r.getBridge().call("showRemoteDebugPanel",{status:"disconnected",text:"远程调试已断开",buttonTitle:"退出"})};t.SocketConn={messageQueue:[],socketTask:null,send:function(e){var t=this,n="string"==typeof e?e:JSON.stringify(e);n.length>5242880?r.debug("[bugme] socket send failed, size: ",n.length):this.socketTask?(this.messageQueue.length&&(this.messageQueue.forEach((function(e){t.socketTask.send({data:e})})),this.messageQueue=[]),this.socketTask.send({data:n})):this.messageQueue.push(n)},close:function(){this.socketTask?this.socketTask.close():r.getBridge().showToast({content:"请点击右上角关闭按钮退出",duration:1e3})},connect:function(e){var t=this,n=r.getBridge(),o=n.connectSocket({url:e,multiple:!0}),s=function(){t.socketTask||(t.socketTask=o,t.onopen(),r.debug("[bugme] websocket connected"))};o.onOpen((function(){s()})),o.onMessage((function(e){t.socketTask||s(),t.onmessage(e)})),o.onClose((function(){t.onclose()})),o.onError((function(){t.socketTask||(u(),n.showToast({content:"本次真机调试已结束,请重新生成调试版本",duration:2e3}))}))},open:function(){var e=this,t=r.getStartupParams(),n=t.channelId,o=t.channelAuthPair,s=t.remoteCh,c=self.__LyraWSWorkerOrigin;if(n||c){i();var u=a.wssConfig.default.openchannel;s&&a.wssConfig[s]&&a.wssConfig[s].openchannel&&(u=a.wssConfig[s].openchannel);var l=r.getBridge(),p=c?c+"/worker":"wss://"+u+"/group/connect/"+n+"?scene=tinyAppDebug&roleType=TINYAPP&roleId=0";if(o&&(p+="?"+o.key+"="+o.value),r.checkIOS()&&!r.isLyra()){this.connect(p);var f=l.connectSocket;l.connectSocket=function(e){if(e&&e.multiple)return f(e);l.showToast({content:"iOS 真机调试暂不支持 connectSocket JSAPI",duration:1e3})},l.onSocketOpen=l.offSocketOpen=l.onSocketMessage=l.offSocketMessage=l.closeSocket=function(){}}else setTimeout((function(){e.connect(p)}),1200)}else r.debug("[bugme] missing channelId in startup params")},onopen:function(){var e=r.getBridge(),t=e.getSystemInfoSync();this.send({method:s.RemoteXMethods.Connect,params:{userAgent:r.getUserAgent(),sdkVersion:e.SDKVersion,alipayVersion:t.version,model:t.model,system:t.system}}),c()},onmessage:function(e){try{var t=JSON.parse(e.data.data),n=t.method,a=t.id,i=t.params;if(n===s.RemoteXMethods.Disconnect)this.close();else if(n===s.RemoteXMethods.EvaluteScript){if(i&&i.code)try{var c=r.evaluateScript(i.code);this.send({returnId:a,payload:o.stringify(c)})}catch(e){r.debug("[remoteX worker evaluateScript] ",e)}}else n===s.RemoteXMethods.Ping&&this.send({method:s.RemoteXMethods.Pong,params:{returnId:a}})}catch(t){r.debug("RemoteX onSocketMessage error",t,e)}},onclose:function(){this.socketTask=null,this.messageQueue=[],u(),[1,2].forEach((function(e){r.getBridge().call("closeSocket",{socketTaskId:e})}))}}}}); /**! __BUGME_END__ */ +if(!self.__appxInited) { +self.__appxInited = 1; +require('@alipay/appx-compiler/lib/sjsEnvInit'); + +require('./config$'); +require('./importScripts$'); + +var AFAppX = self.AFAppX; +self.getCurrentPages = AFAppX.getCurrentPages; +self.getApp = AFAppX.getApp; +self.Page = AFAppX.Page; +self.App = AFAppX.App; +self.my = AFAppX.bridge || AFAppX.abridge; +self.abridge = self.my; +self.Component = AFAppX.WorkerComponent || function(){}; +self.$global = AFAppX.$global; +self.requirePlugin = AFAppX.requirePlugin; + + +if(AFAppX.registerApp) { + AFAppX.registerApp({ + appJSON: appXAppJson, + }); +} + +if(AFAppX.compilerConfig){ AFAppX.compilerConfig.component2 = true; } + +function success() { +require('../../app'); +require('../../node_modules/mini-ali-ui/es/badge/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-icon/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/tabs/index?hash=4a98b35daa3eee1b62960d4d5bbcbf254cbf11e3'); +require('../../node_modules/mini-ali-ui/es/tabs/tab-content/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/search-bar/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/popup/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/collapse/index?hash=a11fdcdff8ea970c65f185a8731cafe48f67047c'); +require('../../node_modules/mini-ali-ui/es/collapse/collapse-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/fitler/fitler?hash=354cb92cdc6053453b91b49e22977b08efde6a61'); +require('../../node_modules/mini-ali-ui/es/loading/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/input-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/verify-code/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/long-password/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/avatar/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/button/index?hash=e1617a0257fb9de746f60d50b03404ad924976c9'); +require('../../node_modules/mini-ali-ui/es/modal/index?hash=febd4c40992222524e0db12a74760a28f8f9b339'); +require('../../node_modules/mini-ali-ui/es/picker-item/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../components/orderTrial/orderTrial?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../components/QRCodeView/QRCodeView?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/am-radio/index?hash=5a0c180d5ccf7c9d483dd4817cdab5489824013c'); +require('../../node_modules/mini-ali-ui/es/list/auto-size-img/index?hash=05d2a9730dd6009bf9446182f9c985f40f8c0f43'); +require('../../node_modules/mini-ali-ui/es/list/list-item/index?hash=a5465b8c889360e3f854461d3ac41cf414aec633'); +require('../../pages/home/home?hash=9676af08f02ab6877f66c88a5599f6228f076a67'); +require('../../pages/index/index?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/paypage/paypage?hash=32d7d2807ed4e666ef03b4b3fe8c38ecf2e34e68'); +require('../../pages/forgetPassword/forgetPassword?hash=95bcfeb33689b813cb703b11c35da0864d69d6fc'); +require('../../pages/userCenter/userCenter?hash=c0825856d8ab7db321bdd0ebdd2606fa94d544f0'); +require('../../pages/businessData/businessData?hash=02e5d22beb4d8b5ce9fe01e2245252aaa9b53562'); +require('../../pages/hbfqPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/hbfqPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/shskPage/orderInfo/orderInfo?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/shskPage/qrCode/qrCode?hash=14138944b7ae79add9366738dd067287d1b4b5a8'); +require('../../pages/changePassword/changePassword?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +require('../../pages/changeUser/changeUser?hash=3930b793bedbb5bce57252b2568d4e1a9ad8ea1b'); +require('../../pages/order/hbfqOrder/hbfqOrder?hash=b7340e58f6e63dafeccfeef5e60d8e039095703c'); +require('../../pages/order/shskOrder/shskOrder?hash=ade6a15b5771b52c79e75af0b49fdf71e51fb2b4'); +} +self.bootstrapApp ? self.bootstrapApp({ success }) : success(); +} \ No newline at end of file diff --git a/app.acss b/app.acss new file mode 100644 index 0000000..160dbcd --- /dev/null +++ b/app.acss @@ -0,0 +1,6 @@ + +/* 阿里图标样式*/ +@import "/static/ali-icon/iconfont.acss"; +page { + background: #fff; +} diff --git a/app.js b/app.js new file mode 100644 index 0000000..7232fc7 --- /dev/null +++ b/app.js @@ -0,0 +1,112 @@ +let $api = require('./utils/ajaxFn.js'); + +App({ + // 存储全局需要的数据 + lastLoginMgrId:'',//最后一次登录的mgrId + sessionId:'', + userStyle:{ + backColor:"#F2EBFF",//背景色 + defaultColor:"#8C48FF",//主题色 + gradientColor: 'linear-gradient(90deg, #9C33FF, #8C4EF5)', + logoSrc:"",//logo地址 + servicePhone:"123456789123"//客服电话 + },//用户配置样式 + userInfo:{},//获取到的用户信息 + userId:"",//获取到的user_id + + onLaunch(options) { + // 第一次打开 + this.getAuthor() + }, + onShow(options) { + // 从后台被 scheme 重新打开 + // options.query == {number:1} + console.log('从后台被 scheme 重新打开',1111) + }, + // 进入就获取授权获取uid + getAuthor() { + my.getAuthCode({ + scopes: ['auth_base'], + // 主动授权:auth_user,静默授权:auth_base。或者其它scope。如需同时获取用户多项授权,可在 scopes 中传入多个 scope 值。 + success: (res) => { + console.log(res) + if (res.authCode) { + // 认证成功 + // 调用自己的服务端接口,让服务端进行后端的授权认证,并且利用session,需要解决跨域问题 + $api.ajax( + '/sib/xcx/login/userId', + 'POST', + (res)=>{ + this.userId = res.data.body.userId + this.loginByUserId() + }, + (err)=>{ + + }, + false, + { + authCode:res.authCode + } + ) + } + }, + }); + }, + loginByUserId(){ + $api.ajax( + '/sib/xcx/login/loginByZfb', + 'POST', + (res)=>{ + if(!res.data.body){ + my.navigateTo({ + url: '/pages/index/index' + }); + }else{ + this.sessionId = res.data.body.sessionId + this.lastLoginMgrId = res.data.body.lastLoginMgrId + if(res.data.body.sessionId){ + + my.setStorageSync({ + key:'sessionId', + data:{ + sessionId:res.data.body.sessionId + } + }) + } + + if(res.data.body.lastLoginMgrId){ + this.getUserInfo() + }else{ + my.switchTab({ + url: '/pages/changeUser/changeUser' + }); + } + } + }, + (err)=>{ + + }, + false, + { + zfbUserId:this.userId + } + ) + }, + getUserInfo(){ + $api.ajax( + '/sib/xcx/login/mgrLogin', + 'POST', + (res)=>{ + this.userInfo = res.data.body + my.switchTab({ + url: '/pages/home/home' + }); + }, + err=>{}, + true, + { + mgrId:this.lastLoginMgrId + } + ) + } +}); diff --git a/app.json b/app.json new file mode 100644 index 0000000..9a7d961 --- /dev/null +++ b/app.json @@ -0,0 +1,46 @@ +{ + "pages": [ + "pages/home/home", + "pages/index/index", + "pages/paypage/paypage", + "pages/forgetPassword/forgetPassword", + "pages/userCenter/userCenter", + "pages/businessData/businessData", + "pages/hbfqPage/orderInfo/orderInfo", + "pages/hbfqPage/qrCode/qrCode", + "pages/shskPage/orderInfo/orderInfo", + "pages/shskPage/qrCode/qrCode", + "pages/changePassword/changePassword", + "pages/changeUser/changeUser", + "pages/order/hbfqOrder/hbfqOrder", + "pages/order/shskOrder/shskOrder" + ], + "window": { + "defaultTitle": "智享收银台" + }, + "tabBar": { + "textColor": "#666666", + "selectedColor": "#333333", + "backgroundColor": "#fff", + "items": [ + { + "pagePath": "pages/home/home", + "icon": "pages/icon/ywbl.png", + "activeIcon": "pages/icon/ywbl_h.png", + "name": "业务办理" + }, + { + "pagePath": "pages/businessData/businessData", + "icon": "pages/icon/ywsj.png", + "activeIcon": "pages/icon/ywsj_h.png", + "name": "业务数据" + }, + { + "pagePath": "pages/userCenter/userCenter", + "icon": "pages/icon/grzx.png", + "activeIcon": "pages/icon/grzx_h.png", + "name": "个人中心" + } + ] + } +} \ No newline at end of file diff --git a/components/QRCodeView/QRCodeView.acss b/components/QRCodeView/QRCodeView.acss new file mode 100644 index 0000000..ba80f2e --- /dev/null +++ b/components/QRCodeView/QRCodeView.acss @@ -0,0 +1,57 @@ +.info-view { + padding: 0 30px; + box-sizing: border-box; + width: 686rpx; + /* min-height: 440px; */ + background: #FFFFFF; + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + position: relative; + transform: translateY(-50px); + margin: auto; +} + +.img-view { + width: 100%; + text-align: center; + padding: 36px 0 20px; + border-bottom: 1px dashed #E6E6E6; +} + +.img { + width: 200px; + height: 200px; + margin-bottom: 12px; +} + +.text { + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} + +.rate-view { + box-sizing: border-box; + padding: 20px 3px 11px; +} + +.rate-item { + display: flex; + justify-content: space-between; + margin-bottom: 16px; +} + +.name { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #8E8D99; +} + +.rate { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} \ No newline at end of file diff --git a/components/QRCodeView/QRCodeView.axml b/components/QRCodeView/QRCodeView.axml new file mode 100644 index 0000000..15b6ae0 --- /dev/null +++ b/components/QRCodeView/QRCodeView.axml @@ -0,0 +1,16 @@ +<view class="info-view"> + <view class="img-view"> + <image src="{{imgSrc}}" class="img" mode="aspectFit"/> + <view class="text">扫码二维码</view> + </view> + <view class="rate-view"> + <view class="rate-item" a:for="{{rateList}}" a:key="{{index}}"> + <view class="name"> + {{item.name}} + </view> + <view class="rate"> + {{item.rate}} + </view> + </view> + </view> + </view> \ No newline at end of file diff --git a/components/QRCodeView/QRCodeView.js b/components/QRCodeView/QRCodeView.js new file mode 100644 index 0000000..e9670b7 --- /dev/null +++ b/components/QRCodeView/QRCodeView.js @@ -0,0 +1,12 @@ +Component({ + mixins: [], + data: {}, + props: { + imgSrc:'', + rateList:[] + }, + didMount() {}, + didUpdate() {}, + didUnmount() {}, + methods: {}, +}); diff --git a/components/QRCodeView/QRCodeView.json b/components/QRCodeView/QRCodeView.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/components/QRCodeView/QRCodeView.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/components/fitler/fitler.acss b/components/fitler/fitler.acss new file mode 100644 index 0000000..61cb2fd --- /dev/null +++ b/components/fitler/fitler.acss @@ -0,0 +1,85 @@ +.item-content { + padding: 14px 16px; + font-size: 17px; + color: #333; + line-height: 24px; +} + +.title-class { + font-size: 102px; + font-family: PingFang SC; + color: #333333; +} + +.time-filter { + display: flex; + height: 32px; + background: #F2F2F2; + border-radius: 16px; + align-items: center; + justify-content: space-around; +} + +.begin-time { + display: flex; + align-items: center; + font-size: 12px; + width: 30%; + height: 32px; + justify-content: center; +} + +.end-time { + display: flex; + justify-content: center; + align-items: center; + font-size: 12px; + width: 30%; + height: 32px; +} +.item-box{ + display: flex; + flex-wrap: wrap; + /* justify-content: space-between; */ + padding: 10px 16px 10px 26px; +} +.filter-item { + display: inline-block; + min-width: 80px; + height: 32px; + line-height: 32px; + background: #F2F2F2; + border-radius: 16px; + font-size: 12px; + text-align: center; + margin-right: 8px; + margin-bottom: 8px; +} + +.active { + background: rgba(244, 241, 255, 1); +} +.btn-box{ + display: flex; + width: 640rpx; + justify-content: space-around; + position: fixed; + bottom: 10px; +} +.btn-1{ + width: 280rpx; + height: 40px; + line-height: 40px; + color: #666666; + border: 1px solid #CCCCCC; + border-radius: 20px; +} +.btn-2{ + width: 280rpx; + height: 40px; + line-height: 40px; + border-radius: 20px; + color: #fff; + border: 0; + outline: none; +} \ No newline at end of file diff --git a/components/fitler/fitler.axml b/components/fitler/fitler.axml new file mode 100644 index 0000000..0e372ba --- /dev/null +++ b/components/fitler/fitler.axml @@ -0,0 +1,55 @@ +<popup disableScroll="{{false}}" show="{{showRight}}" position="right" onClose="changeData" zIndex="{{100}}"> + <view style="min-height: 100vh;width:640rpx;box-sizing:border-box;padding:16px 0; background: #fff;position: relative"> + <scroll-view scroll-y="{{true}}" scroll-with-animation="{{true}}" scroll-top="{{0}}" style="height: 85vh;"> + <collapse className="demo-collapse" activeKey="{{['item-1']}}"> + <collapse-item a:if="{{hasTime}}" header="办单时间" titleClass="title-class" itemKey="item-1"> + <view class="item-content"> + <view class="time-filter"> + <text class="iconfont iconcalendar" style="font-size:14px"></text> + <view class="begin-time" onTap="getBeginTime"> + <text>{{queryObj.startDay}}</text> + </view> + ~ + <view class="end-time" onTap="getEndTime"> + <text>{{queryObj.endDay}}</text> + </view> + </view> + </view> + </collapse-item> + <collapse-item a:if="{{termArr}}" header="分期期数" titleClass="title-class" itemKey="item-2"> + <view class="item-box"> + <view a:for="{{termArr}}" class="filter-item" data-code="{{item.code}}" data-type="{{'insTerm'}}" style="{{queryObj.insTerm==item.code?{background:userStyle.backColor,color:userStyle.defaultColor,border:`0.5px solid ${userStyle.defaultColor}`}:''}}" a:key="{{item.code}}" onTap="setCode">{{item.name}}</view> + </view> + </collapse-item> + <collapse-item a:if="{{payTypeArr}}" header="付息方式" titleClass="title-class" itemKey="item-3"> + <view class="item-box"> + <view a:for="{{payTypeArr}}" class="filter-item" data-code="{{item.code}}" data-type="{{'prodId'}}" style="{{queryObj.prodId==item.code?{background:userStyle.backColor,color:userStyle.defaultColor,border:`0.5px solid ${userStyle.defaultColor}`}:''}}" a:key="{{item.code}}" onTap="setCode">{{item.name}}</view> + </view> + </collapse-item> + <collapse-item a:if="{{orderStaArr}}" header="订单状态" titleClass="title-class" itemKey="item-4"> + <view class="item-box"> + <view a:for="{{orderStaArr}}" class="filter-item" data-code="{{item.code}}" data-type="{{'status'}}" style="{{queryObj.status==item.code?{background:userStyle.backColor,color:userStyle.defaultColor,border:`0.5px solid ${userStyle.defaultColor}`}:''}}" a:key="{{item.code}}" onTap="setCode">{{item.name}}</view> + </view> + </collapse-item> + <collapse-item a:if="{{priceArr}}" header="分期本金" titleClass="title-class" itemKey="item-5"> + <view class="item-box"> + <view a:for="{{priceArr}}" class="filter-item" data-code="{{item.code}}" data-type="{{'price'}}" style="{{priceCode==item.code?{background:userStyle.backColor,color:userStyle.defaultColor,border:`0.5px solid ${userStyle.defaultColor}`}:''}}" a:key="{{item.code}}" onTap="setCode">{{item.name}}</view> + </view> + </collapse-item> + <collapse-item a:if="{{doPriceArr}}" header="交易金额" titleClass="title-class" itemKey="item-6"> + <view class="item-box"> + <view a:for="{{doPriceArr}}" class="filter-item" data-code="{{item.code}}" data-type="{{'doPrice'}}" style="{{priceCode==item.code?{background:userStyle.backColor,color:userStyle.defaultColor,border:`0.5px solid ${userStyle.defaultColor}`}:''}}" a:key="{{item.code}}" onTap="setCode">{{item.name}}</view> + </view> + </collapse-item> + </collapse> + </scroll-view> + <view class="btn-box"> + <button class="btn-1" onTap="reset"> + 重置 + </button> + <button class="btn-2" style="{{background:userStyle.gradientColor}}" onTap="confirm"> + 确定 + </button> + </view> + </view> +</popup> \ No newline at end of file diff --git a/components/fitler/fitler.js b/components/fitler/fitler.js new file mode 100644 index 0000000..6d1bc26 --- /dev/null +++ b/components/fitler/fitler.js @@ -0,0 +1,109 @@ + +const dateFmt = require('../../utils/date.js'); +const app = getApp() +Component({ + data: { + priceCode:'', + userStyle:{}, + showRightCom:false, + queryObj:{ + startDay: dateFmt(new Date(),'YYYY-MM-DD'), + endDay:dateFmt(new Date(),'YYYY-MM-DD'), + }, + }, + // 设置默认属性 + props: { + + }, + didMount(){ + this.setData({ + userStyle:app.userStyle + }) + }, + didUpdate(){ + }, + didUnmount() { + }, + methods: { + changeData(){ + this.setData({ + showRightCom:false + }); + this.props.onShowage(this.data.showRightCom); + }, + getBeginTime(){ + my.datePicker({ + startDate: '2010-10-9', + endDate: '2027-10-9', + success: (res) => { + this.setData({ + 'queryObj.startDay':res.date + }) + }, + }); + }, + getEndTime(){ + my.datePicker({ + startDate: this.data.queryObj.beginTime, + endDate: '2027-10-9', + success: (res) => { + this.setData({ + 'queryObj.endDay':res.date + }) + }, + }); + }, + setCode(e){ + console.log(e) + var startAmt,endAmt + if(e.target.dataset.type=='price'|| e.target.dataset.type=='doPrice'){ + switch(e.target.dataset.code){ + case 1: + startAmt = 0 + endAmt = 999 + break; + case 2: + startAmt = 1000 + endAmt = 1999 + break; + case 3: + startAmt = 2000 + endAmt = 4999 + break; + case 4: + startAmt = 5000 + endAmt = 99999 + break; + } + this.setData({ + 'queryObj.startAmt':startAmt, + 'queryObj.endAmt':endAmt, + priceCode:e.target.dataset.code + }) + }else{ + var key = `queryObj.${e.target.dataset.type}` + this.setData({ + [key]:e.target.dataset.code + }) + } + + }, + // 重置按钮 + reset(){ + let obj = this.data.queryObj + for(let key in obj){ + obj[key] = '' + } + this.setData({ + queryObj:{}, + 'queryObj.startDay':dateFmt(new Date(),'YYYY-MM-DD'), + 'queryObj.endDay':dateFmt(new Date(),'YYYY-MM-DD'), + }) + }, + //确定按钮 + confirm(){ + this.props.onGetFilterInfo(this.data.queryObj); + this.changeData() + } + }, +}); \ No newline at end of file diff --git a/components/fitler/fitler.json b/components/fitler/fitler.json new file mode 100644 index 0000000..725de25 --- /dev/null +++ b/components/fitler/fitler.json @@ -0,0 +1,11 @@ +{ + "component": true, + "usingComponents": { + "tabs": "mini-ali-ui/es/tabs/index", + "tab-content": "mini-ali-ui/es/tabs/tab-content/index", + "search-bar": "mini-ali-ui/es/search-bar/index", + "popup": "mini-ali-ui/es/popup/index", + "collapse": "mini-ali-ui/es/collapse/index", + "collapse-item": "mini-ali-ui/es/collapse/collapse-item/index" + } +} \ No newline at end of file diff --git a/components/orderTrial/orderTrial.acss b/components/orderTrial/orderTrial.acss new file mode 100644 index 0000000..6d23162 --- /dev/null +++ b/components/orderTrial/orderTrial.acss @@ -0,0 +1,87 @@ +.order-trial{ + width: 686rpx; + min-height: 140px; + background: #fff; + padding: 0 12px 12px; + box-sizing: border-box; + position: relative; + transform: translateY(-26px); + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; +} +.title-view{ + width: 100%; + border-bottom:1px solid #EEEEEE; +} +.title-order{ + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + line-height: 50px; +} +.mation-view{ + padding: 0 12px; +} +.amt-view{ + display: flex; + justify-content: space-around; +} +.item-1{ + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #666666; + text-align: center; + margin-bottom: 10px; +} +.text-1{ + font-size: 14px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + text-align: center; +} +.text-2{ + font-size: 20px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + text-align: center; +} +.amt-item{ + text-align: center; + padding: 16px 0; + position: relative; +} +.amt-item::after{ + content: ''; + width: 0; + height: 24px; + border: 1rpx solid #CCCCCC; + position: absolute; + right: 0; + top: 24px; +} +.amt-item:last-child::after{ + content: ''; + display: none; +} +.rate-item{ + display: flex; + justify-content: space-between; + margin-bottom: 14px; +} +.rate-name{ + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #666666; +} +.rate-number{ + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #666666; +} \ No newline at end of file diff --git a/components/orderTrial/orderTrial.axml b/components/orderTrial/orderTrial.axml new file mode 100644 index 0000000..1cca065 --- /dev/null +++ b/components/orderTrial/orderTrial.axml @@ -0,0 +1,28 @@ +<view class="order-trial"> + <view class="title-view"> + <text class="title-order">{{title}}</text> + </view> + <view class="mation-view"> + <view class="amt-view"> + <view a:for="{{amtList}}" a:key="{{index}}" style="{{width:100/amtList.length+'%'}}" class="amt-item"> + <view class="item-1"> + {{item.name}} + </view> + <view class="item-2"> + <text class="text-1">¥</text> + <text class="text-2">{{item.number}}</text> + </view> + </view> + </view> + <view class="rate-view"> + <view class="rate-item" a:for="{{rateList}}" a:key="{{index}}"> + <view class="rate-name"> + {{item.name}} + </view> + <view class="rate-number"> + {{item.rate}}% + </view> + </view> + </view> + </view> + </view> \ No newline at end of file diff --git a/components/orderTrial/orderTrial.js b/components/orderTrial/orderTrial.js new file mode 100644 index 0000000..88d06e5 --- /dev/null +++ b/components/orderTrial/orderTrial.js @@ -0,0 +1,14 @@ +Component({ + mixins: [], + data: {}, + props: { + title:"", + amtList:[], + rateList:[], + isLast:"" + }, + didMount() {}, + didUpdate() {}, + didUnmount() {}, + methods: {}, +}); diff --git a/components/orderTrial/orderTrial.json b/components/orderTrial/orderTrial.json new file mode 100644 index 0000000..32640e0 --- /dev/null +++ b/components/orderTrial/orderTrial.json @@ -0,0 +1,3 @@ +{ + "component": true +} \ No newline at end of file diff --git a/mini.project.json b/mini.project.json new file mode 100644 index 0000000..37b4002 --- /dev/null +++ b/mini.project.json @@ -0,0 +1,3 @@ +{ + "component2": true +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..a1e2583 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,307 @@ +{ + "requires": true, + "lockfileVersion": 1, + "dependencies": { + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.12.5.tgz?cache=0&sync_timestamp=1604441331796&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.12.5.tgz", + "integrity": "sha1-QQ5+SHRB4bNgwpvnFdhw2bmFiC4=", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npm.taobao.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npm.taobao.org/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1606792382140&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbase64-js%2Fdownload%2Fbase64-js-1.5.1.tgz", + "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=" + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-5.7.1.tgz?cache=0&sync_timestamp=1606098078312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbuffer%2Fdownload%2Fbuffer-5.7.1.tgz", + "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz", + "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/buffer-fill/download/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=" + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921882890&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=" + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/charenc/download/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz", + "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npm.taobao.org/crypt/download/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "dijkstrajs": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/dijkstrajs/download/dijkstrajs-1.0.1.tgz", + "integrity": "sha1-082BIh4+pAdCz83lVtTpnpjdxxs=" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npm.taobao.org/emoji-regex/download/emoji-regex-7.0.3.tgz?cache=0&sync_timestamp=1603212263242&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Femoji-regex%2Fdownload%2Femoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=" + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838235461&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz", + "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=" + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz?cache=0&sync_timestamp=1604429876103&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-2.0.5.tgz", + "integrity": "sha1-ivHkwSISRMxiRZ+vOJQNTmRKVyM=" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/md5/download/md5-2.3.0.tgz", + "integrity": "sha1-w9qaaq46MLRreww0m4exENw72k8=", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "mini-ali-ui": { + "version": "1.2.1", + "resolved": "https://registry.npm.taobao.org/mini-ali-ui/download/mini-ali-ui-1.2.1.tgz", + "integrity": "sha1-8Ky1gYSn7UcNd9GZ/SX2WubYmFk=", + "requires": { + "@babel/runtime": "^7.11.2" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npm.taobao.org/p-limit/download/p-limit-2.3.0.tgz", + "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1597081605529&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/path-exists/download/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npm.taobao.org/pngjs/download/pngjs-3.4.0.tgz", + "integrity": "sha1-mcp9clll+2VYFOr2XzjxK72/VV8=" + }, + "qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npm.taobao.org/qrcode/download/qrcode-1.4.4.tgz", + "integrity": "sha1-8MQ1aKfnUQpV78O4jZYC9xlj6oM=", + "requires": { + "buffer": "^5.4.3", + "buffer-alloc": "^1.2.0", + "buffer-from": "^1.1.1", + "dijkstrajs": "^1.0.1", + "isarray": "^2.0.1", + "pngjs": "^3.3.0", + "yargs": "^13.2.4" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz", + "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=" + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", + "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npm.taobao.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npm.taobao.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npm.taobao.org/wrap-ansi/download/wrap-ansi-5.1.0.tgz", + "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.1.tgz?cache=0&sync_timestamp=1606778347159&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.1.tgz", + "integrity": "sha1-jbK4PDHF11CZu4kLI/MJSJHiR9Q=" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1607207965285&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", + "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-13.1.2.tgz?cache=0&sync_timestamp=1604886694625&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs-parser%2Fdownload%2Fyargs-parser-13.1.2.tgz", + "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..62975cf --- /dev/null +++ b/package.json @@ -0,0 +1,7 @@ +{ + "dependencies": { + "md5": "^2.3.0", + "mini-ali-ui": "^1.2.1", + "qrcode": "^1.4.4" + } +} diff --git a/pages/businessData/businessData.acss b/pages/businessData/businessData.acss new file mode 100644 index 0000000..1c164c7 --- /dev/null +++ b/pages/businessData/businessData.acss @@ -0,0 +1,174 @@ +.order-page { + min-height: 100vh; + background-color: #fafafa; +} + +.tab-item { + box-sizing: border-box; + width: 686rpx; + margin: auto; + background: #fafafa; +} + +.search-box { + display: flex; + align-items: center; + justify-content: space-between; + padding-top: 16px; +} + +.filer { + display: flex; + align-items: center; +} + +.filer-tit { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + text-decoration: underline; + color: #333333; +} + +.am-search { + padding-left: 0; +} + +.am-search-input { + width: 536rpx; + border-radius: 18px; +} + +.am-tabs-pane-wrap { + background: #fafafa; +} + +.show-date { + width: 686rpx; + height: 80px; + border-radius: 8px; + margin-top: 12px; + display: flex; + justify-content: space-around; + align-items: center; + margin-bottom: 4px; +} + +.data-left, .data-right { + width: 50%; + text-align: center; + color: #fff +} + +.tit { + font-size: 12px; + margin-bottom: 10px; +} + +.data-left { + position: relative; +} + +.data-left::after { + content: ''; + width: 0; + height: 24px; + border: 1rpx solid #fff; + position: absolute; + right: 0; + top: 15px; +} + +.tab-content { + width: 686rpx; + height: 157px; + background: #FFFFFF; + box-shadow: 0px 0px 7px 0px rgba(26, 26, 209, 0.02); + border-radius: 4px; + margin-top: 8px; + box-sizing: border-box; + padding: 0 16px; +} + +.content-top { + display: flex; + justify-content: space-around; + align-items: center; + box-sizing: border-box; + padding: 16px 0 13px; + border-bottom: 1px solid #EEEEEE; +} + +.name-box { + display: flex; + align-items: center; + text-align: left; + width: 50%; +} + +.status-box { + text-align: right; + width: 50%; +} + +.content-bottom { + padding-top: 16px; +} + +.line-one { + display: flex; + justify-content: space-between; + margin-bottom: 12px; +} + +.tit-cont { + color: #8E8D99; + font-size: 14px; +} + +.cont { + color: #333; + font-size: 14px; +} + +.tab-content-shsk { + display: flex; + justify-content: space-between; + align-items: center; + width: 686rpx; + height: 65px; + background: #FFFFFF; + box-shadow: 0px 0px 7px 0px rgba(26, 26, 209, 0.02); + border-radius: 4px; + padding: 0 16px; + box-sizing: border-box; + margin-top: 8px; +} + +.time-shsk { + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #999999; +} + +.no-data{ + height: 70vh; + background:#fafafa; + text-align: center; + padding-top: 81px; + box-sizing: border-box; +} + +.no-data-img{ + width: 128px; + height: 118px; +} + +.no-data-text{ + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; + margin-top: 20px; +} \ No newline at end of file diff --git a/pages/businessData/businessData.axml b/pages/businessData/businessData.axml new file mode 100644 index 0000000..9f31cbe --- /dev/null +++ b/pages/businessData/businessData.axml @@ -0,0 +1,128 @@ +<view class="order-page"> + <tabs tabs="{{tabs2}}" tabsName="activeTab2" onChange="test" onTabClick="handleTabClick" activeTab="{{activeTab2}}" capsule="{{false}}" tabBarUnderlineWidth="20px"> + <block a:for="{{tabs2}}"> + <tab-content key="{{index}}" tabId="{{index}}" activeTab="{{activeTab2}}" a:if="{{index === 0}}"> + <view class="tab-item"> + <view class="search-box"> + <search-bar value="{{value}}" borderColor="#EDEDF2" onSubmit="searchMation" onInput="onhandInput" focus="{{false}}" maxLength="{{20}}" showCancelButton="{{false}}" placeholder="请输入用户名称" /> + <view class="filer"> + <text class="iconfont iconshaixuan" style="font-size:20px"></text> + <text class="filer-tit" onTap="showFilter">筛选</text> + </view> + </view> + <view class="show-date" style="{{background:userStyle.gradientColor}}"> + <view class="data-left"> + <view class="tit"> + 分期本金 + </view> + <view class="number"> + <text style="font-size:14px">¥</text> + <text style="font-size:20px">{{amt}}</text> + </view> + </view> + <view class="data-right"> + <view class="tit"> + 交易单数 + </view> + <view class="number" style="font-size:20px"> + {{num}} + </view> + </view> + </view> + <scroll-view a:if="{{list.length > 0}}" scroll-y="{{true}}" scroll-with-animation="{{true}}" style="height: 70vh;background:#fafafa" onScrollToLower="lower" scroll-top="{{0}}"> + <view class="tab-content" a:for="{{list}}" a:key="{{index}}" onTap="goDetail" data-orderId="{{item.orderId}}"> + <view class="content-top"> + <view class="name-box"> + <text class="iconfont iconkehuxingming" style="{{color:userStyle.defaultColor,'font-size':'20px','margin-right':'8px'}}"></text> + <view>{{item.userName}}</view> + </view> + <view class="status-box"> + <view style="{{color:item.status==0?'#FF9900':'#999','font-size':'13px','margin-bottom':'8px'}}">{{item.statusStr}}</view> + <view> + <text style="font-size:14px">¥</text> + <text style="font-size:18px">{{item.settAmt}}</text> + </view> + </view> + </view> + <view class="content-bottom"> + <view class="line-one"> + <view> + <text class="tit-cont">分期期数:</text> + <text class="cont">{{item.insTerm}}期</text> + </view> + <view> + <text class="tit-cont">付息方式:</text> + <text class="cont">{{item.prodName}}</text> + </view> + </view> + <view class="line-two"> + <view> + <text class="tit-cont">创建时间:</text> + <text class="cont">{{item.creTime}}</text> + </view> + </view> + </view> + </view> + </scroll-view> + <view a:else class="no-data"> + <cover-image src="../../static/nodata.png" class="no-data-img"/> + <view class="no-data-text">暂无数据</view> + </view> + </view> + </tab-content> + <tab-content key="{{index}}" tabId="{{index}}" activeTab="{{activeTab2}}" a:elif="{{index === 1}}"> + <view class="tab-item"> + <view class="search-box"> + <search-bar value="{{value}}" borderColor="#EDEDF2" onSubmit="searchMation" onInput="onhandInput" focus="{{false}}" maxLength="{{20}}" showCancelButton="{{false}}" placeholder="请输入用户名称" /> + <view class="filer"> + <text class="iconfont iconshaixuan" style="font-size:20px"></text> + <text class="filer-tit" onTap="showFilter">筛选</text> + </view> + </view> + <view class="show-date" style="{{background:userStyle.gradientColor}}"> + <view class="data-left"> + <view class="tit"> + 分期金额 + </view> + <view class="number"> + <text style="font-size:14px">¥</text> + <text style="font-size:20px">{{amt}}</text> + </view> + </view> + <view class="data-right"> + <view class="tit"> + 交易单数 + </view> + <view class="number" style="font-size:20px"> + {{num}} + </view> + </view> + </view> + <scroll-view scroll-y="{{true}}" scroll-with-animation="{{true}}" style="height: 70vh;background:#fafafa" onScrollToLower="lower" scroll-top="{{0}}"> + <view a:if="{{list.length > 0}}"> + <view class="tab-content-shsk" a:for="{{list}}" a:key="{{index}}" onTap="goDetail" data-orderId="{{item.orderId}}"> + <view class="left"> + <view style="{{color:item.status==0?'#FF9900':'#999','font-size':'14px','margin-bottom':'10px'}}"> + {{item.statusStr}} + </view> + <view class="time-shsk"> + {{item.creTime}} + </view> + </view> + <view class="right"> + <text style="color:#333;font-size:14px">¥</text> + <text style="color:#333;font-size:18px">{{item.settAmt}}</text> + </view> + </view> + </view> + <view a:else class="no-data"> + <cover-image src="../../static/nodata.png" class="no-data-img"/> + <view class="no-data-text">暂无数据</view> + </view> + </scroll-view> + </view> + </tab-content> + </block> + </tabs> +</view> +<my-filter showRight="{{showRight}}" onGetFilterInfo="onGetFilterInfo" onShowage="onShowage" termArr="{{activeTab2==0?termList:''}}" payTypeArr="{{activeTab2==0?prodList:''}}" orderStaArr="{{statusList}}" priceArr="{{activeTab2==0?priceArr:''}}" doPriceArr="{{activeTab2==0?'':priceArr}}" hasTime="{{true}}"></my-filter> \ No newline at end of file diff --git a/pages/businessData/businessData.js b/pages/businessData/businessData.js new file mode 100644 index 0000000..dc291a4 --- /dev/null +++ b/pages/businessData/businessData.js @@ -0,0 +1,233 @@ +const app = getApp() +let $api = require('../../utils/ajaxFn.js') +const dateFmt = require('../../utils/date.js'); +Page({ + data: { + isNomore: false, + amt: 0, + num: 0, + url: '/sib/xcx/order/hbListInit',//初始化接口地址为花呗 + queryObj: { + prodType: 200015,//初始化产品为花呗 + }, + activeTab2: 0, + showRight: false, + userStyle: {}, + value: '',//搜索框内容 + zfbVersionList: [],//通道数组 + termList: [],//期数数组 + prodList: [],//付息方式数组 + statusList: [],//状态数组 + priceArr: [ + { + name: '0~999', + code: 1 + }, + { + name: '1000~1999', + code: 2 + }, + { + name: '2000~4999', + code: 3 + }, + { + name: '5000及以上', + code: 4 + } + ],//金额数组 + tabs2: [ + { + title: '花呗分期', + subTitle: '描述文案', + }, + { + title: '商户收款', + subTitle: '描述文案', + } + ],//顶部产品数组 + list: [] + }, + onLoad() { + this.setData({ + userStyle: app.userStyle, + }) + }, + onShow() { + this.getFilter() + this.getList() + }, + onHide() { + // 页面被关闭 + this.setData({ + showRight: false, + activeTab2: 0, + url: '/sib/xcx/order/hbListInit', + queryObj: { prodType: 200015 }, + }) + }, + test({ index, tabsName }){ + console.log(222333) + this.handleTabClick({ index, tabsName }) + }, + handleTabClick({ index, tabsName }) { + console.log({ index, tabsName }) + this.setData({ + [tabsName]: index, + isNomore: false, + value:'' + }); + if (index == 0) { + this.setData({ + queryObj: { prodType: 200015 }, + url: '/sib/xcx/order/hbListInit', + list:[] + }) + } else if (index == 1) { + this.setData({ + queryObj: { prodType: 200008 }, + url: '/sib/xcx/order/dmfListInit', + list:[] + }) + } + this.getList() + this.getFilter() + }, + onhandInput(value){ + this.setData({ + value:value + }) + }, + // 搜索框事件 + searchMation(value){ + console.log(value) + let obj = this.data.queryObj + if(value){ + obj.userName = value + }else{ + obj.userName = '' + delete obj.userName + } + delete obj.limitOrderId + this.setData({ + list: [], + isNomore: false, + queryObj:{ + ...obj + }, + }) + this.getList() + }, + getFilter() { + $api.ajax( + this.data.url, + 'POST', + (res) => { + let body = res.data.body + if (this.data.activeTab2 == 0) { + this.setData({ + zfbVersionList: body.zfbVersionList, + termList: body.termList, + prodList: body.prodList, + statusList: body.statusList + }) + } + if (this.data.activeTab2 == 1) { + this.setData({ + statusList: body.statusList + }) + } + + }, + (err) => { }, + true + ) + }, + // 获取列表 + getList() { + $api.ajax( + '/sib/xcx/order/list', + 'POST', + (res) => { + this.setData({ + amt: res.data.body.amt, + num: res.data.body.num + }) + + if (res.data.body.items.length < 1) { + this.setData({ + isNomore: true + }) + my.showToast({ + type: 'none', + content: '没有更多了', + duration: 2000, + }); + } else { + res.data.body.items.forEach(e => { + e.creTime = dateFmt(e.creTime, 'YYYY-MM-DD HH:mm:ss') + }) + this.setData({ + list: [...this.data.list, ...res.data.body.items], + 'queryObj.limitOrderId': res.data.body.items[res.data.body.items.length - 1].orderId + }) + } + + + }, + (err) => { }, + true, + { + ...this.data.queryObj + } + ) + }, + // 滑动至底部处理 + lower() { + if (!this.data.isNomore) { + this.getList() + } + }, + // 查看详情 + goDetail(e) { + let orderId = e.target.dataset.orderId + switch (this.data.activeTab2) { + case 0: + my.navigateTo({ + url: `../order/hbfqOrder/hbfqOrder?orderId=${orderId}` + }); + break; + case 1: + my.navigateTo({ + url: `../order/shskOrder/shskOrder?orderId=${orderId}` + }); + break; + } + }, + // 展示弹出层 + showFilter() { + this.setData({ + showRight: true + }) + }, + // 自定义事件控制弹出层关闭 + onShowage(data) { + this.setData({ + showRight: data + }); + }, + // 自定义筛选事件 + onGetFilterInfo(data) { + if(this.data.value){ + var obj = { ...this.data.queryObj.prodType, ...data ,userName:this.data.value} + }else{ + var obj = { ...this.data.queryObj.prodType, ...data } + } + this.setData({ + list: [], + isNomore: false, + queryObj: { ...obj } + }) + this.getList() + } +}); \ No newline at end of file diff --git a/pages/businessData/businessData.json b/pages/businessData/businessData.json new file mode 100644 index 0000000..bfbdd86 --- /dev/null +++ b/pages/businessData/businessData.json @@ -0,0 +1,12 @@ +{ + "defaultTitle": "业务数据", + "usingComponents": { + "tabs": "mini-ali-ui/es/tabs/index", + "tab-content": "mini-ali-ui/es/tabs/tab-content/index", + "search-bar": "mini-ali-ui/es/search-bar/index", + "popup": "mini-ali-ui/es/popup/index", + "collapse": "mini-ali-ui/es/collapse/index", + "collapse-item": "mini-ali-ui/es/collapse/collapse-item/index", + "my-filter":"/components/fitler/fitler" + } +} \ No newline at end of file diff --git a/pages/changePassword/changePassword.acss b/pages/changePassword/changePassword.acss new file mode 100644 index 0000000..819639f --- /dev/null +++ b/pages/changePassword/changePassword.acss @@ -0,0 +1,29 @@ +.changePassword-page{ + min-height: 100vh; + background: #fafafa; + padding-top: 12px; +} +.mation{ + width:686rpx; + height: 150px; + background: #FFFFFF; + border-radius: 8px; + margin: auto; +} +.btn{ + width: 640rpx; + color: #fff; + border: 0; + border-radius: 22px; + margin: auto; + margin-top: 60px; +} +.ipt-class { + text-align: right; +} +.label-class { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} \ No newline at end of file diff --git a/pages/changePassword/changePassword.axml b/pages/changePassword/changePassword.axml new file mode 100644 index 0000000..7b55e78 --- /dev/null +++ b/pages/changePassword/changePassword.axml @@ -0,0 +1,10 @@ +<view class="changePassword-page"> + <view class="mation"> + <input-item labelCls="label-class" inputCls="ipt-class" onInput="getOld" placeholder="请输入原密码">原密码</input-item> + <input-item labelCls="label-class" inputCls="ipt-class" onInput="getNem" password="{{true}}" placeholder="请输入新密码">新密码</input-item> + <input-item last="{{true}}" labelCls="label-class" inputCls="ipt-class" onInput="getNemTwo" password="{{true}}" placeholder="请再次输入新密码">确认密码</input-item> + </view> + <button onTap="save" style="{{background:userStyle.gradientColor}}" class="btn"> + 保存 + </button> +</view> \ No newline at end of file diff --git a/pages/changePassword/changePassword.js b/pages/changePassword/changePassword.js new file mode 100644 index 0000000..dfd94ab --- /dev/null +++ b/pages/changePassword/changePassword.js @@ -0,0 +1,58 @@ +let $api = require('../../utils/ajaxFn.js') +let md5 = require('../../utils/md5.js') +const app = getApp() +Page({ + data: { + userStyle:{}, + newTwo:"", + info:{ + newPwd: "", + oldPwd: "" + } + }, + onLoad() { + this.setData({ + userStyle:app.userStyle + }) + }, + getOld(e){ + this.setData({ + 'info.oldPwd':md5.hex_md5(e.detail.value) + }) + }, + getNem(e){ + this.setData({ + 'info.newPwd':md5.hex_md5(e.detail.value) + }) + }, + getNemTwo(e){ + console.log(3) + this.setData({ + newTwo: md5.hex_md5(e.detail.value) + }) + }, + save(){ + console.log(this.data.newTwo,this.data.info) + if(this.data.newTwo != this.data.info.newPwd){ + my.showToast({ + content: '两次新密码不一致,请确认', + duration: 2000, + }); + return + } + $api.ajax( + '/sib/user/updatePwd', + 'POST', + (res)=>{ + + }, + (err)=>{ + + }, + true, + { + ...this.data.info + } + ) + } +}); diff --git a/pages/changePassword/changePassword.json b/pages/changePassword/changePassword.json new file mode 100644 index 0000000..e830a81 --- /dev/null +++ b/pages/changePassword/changePassword.json @@ -0,0 +1,12 @@ +{ + "defaultTitle": "修改密码", + "usingComponents":{ + "list": "mini-ali-ui/es/list/index", + "input-item": "mini-ali-ui/es/input-item/index", + "am-icon": "mini-ali-ui/es/am-icon/index", + "verify-code":"mini-ali-ui/es/verify-code/index", + "long-password": "mini-ali-ui/es/long-password/index", + "picker-item": "mini-ali-ui/es/picker-item/index", + "order-trial":"/components/orderTrial/orderTrial" + } +} \ No newline at end of file diff --git a/pages/changeUser/changeUser.acss b/pages/changeUser/changeUser.acss new file mode 100644 index 0000000..3b97a19 --- /dev/null +++ b/pages/changeUser/changeUser.acss @@ -0,0 +1,84 @@ +.change-user-page { + min-height: 100vh; + background: #fafafa; + box-sizing: border-box; + padding: 24px 0 32px; +} + +.list { + width: 686rpx; + margin: auto; + min-height: 80vh; +} + +.list-item { + margin-bottom: 20px; +} + +.title { + font-size: 14px; + font-family: PingFang SC; + font-weight: bold; + color: #999999; + margin-bottom: 10px; +} + +.store { + width: 100%; + background: #fff; + box-sizing: border-box; + padding: 0 12px; +} + +.store-item { + height: 72px; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + border-bottom: 1px solid #EEEEEE; +} + +.left-top { + margin-bottom: 12px; +} + +.name-text { + font-size: 16px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; + margin-left: 9px; +} + +.store-item:last-child { + border: 0; +} + +.radio-box { + width: 20px; + height: 20px; + border-radius: 50%; + border: 1px #CCCCCC solid; +} + +.active { + width: 20px; + height: 20px; + border-radius: 50%; + border: 1px #1677FF solid; +} +.btn-box{ + width: 100%; + text-align: center; + padding-top: 30px; +} +.btn { + width: 640rpx; + height: 44px; + line-height: 44px; + color: #fff; + border-radius: 22px; + border: 0; + margin: auto; +} \ No newline at end of file diff --git a/pages/changeUser/changeUser.axml b/pages/changeUser/changeUser.axml new file mode 100644 index 0000000..37d649e --- /dev/null +++ b/pages/changeUser/changeUser.axml @@ -0,0 +1,36 @@ +<view class="change-user-page"> + <view class="list"> + <radio-group class="radio-group" name="lib" onChange="radioChange"> + <view class="list-item" a:for="{{merchantList}}" a:key="{{index}}"> + <view class="title"> + {{item.merName}} + </view> + <view class="store"> + <view class="store-item" a:for="{{item.storeList}}" a:key="{{index}}"> + <view class="left"> + <view class="left-top"> + <text class="iconfont iconstore" style="font-size: 16px"></text> + <text class="name-text">{{item.orgName}}</text> + </view> + <view class="left-bottom"> + <text class="iconfont iconuser" style="font-size: 16px"></text> + <text class="name-text">{{item.name}}</text> + </view> + </view> + <view class="right"> + <view class="{{item.id==value?'active':'radio-box'}}"> + <am-radio value="{{item.id}}" checked="{{item.id==value?true:false}}"/> + </view> + </view> + </view> + </view> + </view> + </radio-group> + </view> + <view class="btn-box"> + <button class="btn" style="{{background:userStyle.gradientColor}}" onTap="loginUser"> + 切换 + </button> + </view> + +</view> \ No newline at end of file diff --git a/pages/changeUser/changeUser.js b/pages/changeUser/changeUser.js new file mode 100644 index 0000000..ffea451 --- /dev/null +++ b/pages/changeUser/changeUser.js @@ -0,0 +1,59 @@ +let $api = require('../../utils/ajaxFn.js'); +const app = getApp() +Page({ + data: { + value: '', + merchantList: [],//商户列表 + }, + onLoad() { + this.setData({ + userStyle: app.userStyle + }) + $api.ajax( + '/sib/xcx/login/getUserMgrInfo', + 'POST', + (res) => { + this.setData({ + merchantList: res.data.body.merchantList + }) + this.data.merchantList.forEach(element => { + element.storeList.forEach(e => { + if (e.id == app.lastLoginMgrId) { + this.setData({ + value: e.id + }) + } + }) + }); + }, + (err) => { + + }, + true + ) + + }, + radioChange(value) { + this.setData({ + value: value.detail.value + }) + }, + loginUser() { + $api.ajax( + '/sib/xcx/login/mgrLogin', + 'POST', + (res) => { + app.userInfo = res.data.body + app.lastLoginMgrId = res.data.body.id + my.reLaunch ({ + url: '/pages/home/home' + }); + }, + err => {}, + true, + { + mgrId: this.data.value + } + ) + } +}); diff --git a/pages/changeUser/changeUser.json b/pages/changeUser/changeUser.json new file mode 100644 index 0000000..6cd5329 --- /dev/null +++ b/pages/changeUser/changeUser.json @@ -0,0 +1,8 @@ +{ + "defaultTitle": "切换身份", + "usingComponents": { + "am-radio": "mini-ali-ui/es/am-radio/index", + "list": "mini-ali-ui/es/list/index", + "list-item": "mini-ali-ui/es/list/list-item/index" + } +} \ No newline at end of file diff --git a/pages/forgetPassword/forgetPassword.acss b/pages/forgetPassword/forgetPassword.acss new file mode 100644 index 0000000..62e5588 --- /dev/null +++ b/pages/forgetPassword/forgetPassword.acss @@ -0,0 +1,24 @@ +.forgetpass-view{ + width: 90%; + margin: auto; + padding-top: 100rpx; +} +.iconfont{ + font-size: 40rpx; +} +.label{ + min-width: 60rpx; +} +.login-btn{ + width: 90%; + margin: 80rpx 5%; + border-radius: 50px; + border: 0; + outline: none; +} +.code-label{ + display: none; +} +.code-ipt{ + width: 70%; +} \ No newline at end of file diff --git a/pages/forgetPassword/forgetPassword.axml b/pages/forgetPassword/forgetPassword.axml new file mode 100644 index 0000000..e2221ad --- /dev/null +++ b/pages/forgetPassword/forgetPassword.axml @@ -0,0 +1,13 @@ +<view> + <view class="forgetpass-view"> + <input-item type="number" labelCls="phone-label label" className="phone-ipt" maxlength="11" data-code="{{1}}" onInput="oninput" placeholder="请输入手机号" clear="{{true}}"> + </input-item> + <verify-code maxlength="4" last="{{false}}" label="{{''}}" inputCls="code-ipt" labelCls="code-label" countDown="{{60}}" initActive="{{false}}" onSend="onSend" onInput="inputVerCode" value="{{info.verCode}}"> + </verify-code> + <input-item type="text" labelCls="password-label label" className="password-ipt" maxlength="12" data-code="{{2}}" onInput="oninput" password="{{true}}" placeholder="请输入新密码" clear="{{true}}"> + </input-item> + <input-item type="text" labelCls="respassword-label label" className="password-ipt" maxlength="12" data-code="{{3}}" onInput="oninput" password="{{true}}" placeholder="请再次输入密码" clear="{{true}}"> + </input-item> + </view> + <button type="primary" onTap="save" class="login-btn" style="{{background:userStyle.gradientColor}}">提交并登录</button> +</view> \ No newline at end of file diff --git a/pages/forgetPassword/forgetPassword.js b/pages/forgetPassword/forgetPassword.js new file mode 100644 index 0000000..17c41b4 --- /dev/null +++ b/pages/forgetPassword/forgetPassword.js @@ -0,0 +1,110 @@ +let $api = require('../../utils/ajaxFn.js') +let md5 = require('../../utils/md5.js') +Page({ + data: { + userStyle:{},//用户样式 + info:{} + }, + onLoad() { + var app = getApp() + this.setData({ + userStyle:app.userStyle + }) + }, + onSend(){ + if(!this.data.info.mblNo){ + my.showToast({ + content: '请输入电话号码', + duration: 2000 + }); + return + } + $api.ajax( + '/sib/user/sendMsg', + 'POST', + (res)=>{ + + }, + (err)=>{ + + }, + false, + { + mblNo:this.data.info.mblNo, + verCodeType:0 + } + ) + }, + inputVerCode(e){ + console.log(e) + this.setData({ + 'info.verCode':e.detail.value + }) + }, + oninput(e){ + let code = e.target.dataset.code + if(code == 1){ + this.setData({ + 'info.mblNo':e.detail.value + }) + }else if(code == 2){ + this.setData({ + 'info.newPwd':md5.hex_md5(e.detail.value) + }) + }else{ + this.setData({ + newPwdTwo: md5.hex_md5(e.detail.value) + }) + } + }, + save(){ + if(!this.data.info.mblNo){ + my.showToast({ + content: '请输入电话号码', + duration: 2000 + }) + return + } + if(!this.data.info.verCode){ + my.showToast({ + content: '请输入验证码', + duration: 2000 + }) + return + } + if(!this.data.info.newPwd){ + my.showToast({ + content: '请输入新密码', + duration: 2000 + }) + return + } + if(this.data.info.newPwd != this.data.newPwdTwo){ + my.showToast({ + content: '两次密码不一致请确认', + duration: 2000 + }) + return + } + $api.ajax( + '/sib/user/forgetPwd', + 'POST', + res=>{ + my.showToast({ + content: '修改成功', + duration: 3000, + success:()=>{ + my.navigateTo({ + url: '/pages/index/index' + }); + } + }) + }, + err=>{}, + false, + { + ...this.data.info + } + ) + } +}); diff --git a/pages/forgetPassword/forgetPassword.json b/pages/forgetPassword/forgetPassword.json new file mode 100644 index 0000000..1129028 --- /dev/null +++ b/pages/forgetPassword/forgetPassword.json @@ -0,0 +1,10 @@ +{ + "defaultTitle": "忘记密码", + "usingComponents":{ + "list": "mini-ali-ui/es/list/index", + "input-item": "mini-ali-ui/es/input-item/index", + "am-icon": "mini-ali-ui/es/am-icon/index", + "verify-code":"mini-ali-ui/es/verify-code/index", + "long-password": "mini-ali-ui/es/long-password/index" + } +} \ No newline at end of file diff --git a/pages/hbfqPage/orderInfo/orderInfo.acss b/pages/hbfqPage/orderInfo/orderInfo.acss new file mode 100644 index 0000000..797d5c4 --- /dev/null +++ b/pages/hbfqPage/orderInfo/orderInfo.acss @@ -0,0 +1,93 @@ +.back-pic { + width: 100%; + height: 100%; +} + +.order-info-page { + min-height: 100vh; + background: #FAFAFC; + padding-bottom: 26px; +} + +.top { + width: 100%; + height: 100px; +} + +.title { + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + padding-left: 12px; + line-height: 36px; +} + +.ipt-class { + text-align: left; +} + +.pick-class { + text-align: right; +} + +.fenqi-info-view { + width: 686rpx; + height: 300px; + background: #fff; + padding: 18px 0 0; + box-sizing: border-box; + position: relative; + transform: translateY(-50px); + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; +} + +.label-class { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} + +.user-info-view { + width: 686rpx; + height: 155px; + background: #fff; + padding: 18px 0 0; + box-sizing: border-box; + position: relative; + transform: translateY(-38px); + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; +} + +.btn-view { + width: 686rpx; + margin: auto; + display: flex; + justify-content: space-between; +} + +.to-qrcode { + width: 320rpx; + height: 44px; + background: #FFFFFF; + border: 1px solid #8C4EF5; + border-radius: 22px; + line-height: 44px; + color: #8C4EF5; +} + +.get-qrcode { + width: 320rpx; + height: 44px; + border-radius: 22px; + border: 0; + color:#fff; + line-height: 44px; +} + + diff --git a/pages/hbfqPage/orderInfo/orderInfo.axml b/pages/hbfqPage/orderInfo/orderInfo.axml new file mode 100644 index 0000000..db05c98 --- /dev/null +++ b/pages/hbfqPage/orderInfo/orderInfo.axml @@ -0,0 +1,45 @@ +<view class="order-info-page"> + <view class="top" style="{{background:userStyle.gradientColor}}"> + <cover-image src="../../static/img/backpic.png" class="back-pic"></cover-image> + </view> + <view class="fenqi-info-view"> + <text class="title">分期信息</text> + <input-item labelCls="label-class" value="{{info.amt}}" data-code="{{1}}" onInput="confirm" inputCls="ipt-class" placeholder="请输入分期本金">分期本金</input-item> + <input-item labelCls="label-class" value="{{info.goodsName}}" data-code="{{2}}" onInput="confirm" inputCls="ipt-class" placeholder="请输入商品名称">商品名称</input-item> + <picker title="选择付息方式" onChange="bindObjPickerChangeProd" value="{{arrIndex}}" range="{{prodsList}}" range-key="name"> + <view> + <input-item labelCls="label-class" value="{{prodName}}" disabled="{{true}}" inputCls="ipt-class" placeholder="请选择付息方式"> + 付息方式 + <view slot="extra" class="iconfont iconarrow-right" style="font-size:20px;color:#CCCCCC"></view> + </input-item> + </view> + </picker> + <picker title="选择办单通道" onChange="bindObjPickerChangeVer" value="{{arrIndex}}" range="{{zfbVersionsList}}" range-key="name"> + <view> + <input-item labelCls="label-class" value="{{zfbVersionName}}" disabled="{{true}}" inputCls="ipt-class" placeholder="请选择办单通道"> + 办单通道 + <view slot="extra" class="iconfont iconarrow-right" style="font-size:20px;color:#CCCCCC"></view> + </input-item> + </view> + </picker> + <picker title="选择分期期数" onChange="bindObjPickerChangeTerm" value="{{arrIndex}}" range="{{termsList}}" range-key="name"> + <view> + <input-item labelCls="label-class" value="{{termName}}" last="{{true}}" disabled="{{true}}" inputCls="ipt-class" placeholder="请选择分期期数"> + 分期期数 + <view slot="extra" class="iconfont iconarrow-right" style="font-size:20px;color:#CCCCCC"></view> + </input-item> + </view> + </picker> + </view> + <view class="user-info-view"> + <text class="title">用户信息</text> + <input-item labelCls="label-class" inputCls="ipt-class" data-code="{{3}}" onInput="confirm" placeholder="请输入客户姓名">客户姓名</input-item> + <input-item last="{{true}}" labelCls="label-class" inputCls="ipt-class" data-code="{{4}}" onInput="confirm" maxlength="{{11}}" placeholder="请输入客户手机号">客户手机号</input-item> + </view> + <!-- 订单试算展示组件 --> + <order-trial title="订单试算" amtList="{{amtList}}" rateList="{{rateList}}"></order-trial> + <view class="btn-view"> + <button size="default" onTap="toQRCode" type="gohost" class="to-qrcode" style="{{color:userStyle.defaultColor,border:`${userStyle.defaultColor} solid 1px`}}">扫描付款码</button> + <button size="default" onTap="getQRCode" type="primary" class="get-qrcode" style="{{background:userStyle.gradientColor}}">生成二维码</button> + </view> +</view> \ No newline at end of file diff --git a/pages/hbfqPage/orderInfo/orderInfo.js b/pages/hbfqPage/orderInfo/orderInfo.js new file mode 100644 index 0000000..7ef328b --- /dev/null +++ b/pages/hbfqPage/orderInfo/orderInfo.js @@ -0,0 +1,206 @@ + +const app = getApp() +let $api = require('../../../utils/ajaxFn.js') +Page({ + data: { + isBoss: true, + userStyle: {}, + prodsList: [], + prodName: '', + termName: '', + verName: '', + info: { + prodId: '', + }, + amtList: [ + { name: '商家到账', number: 0 }, + { name: '客户还款总额', number: 0 }, + { name: '客户月还款额', number: 0 } + ], + rateList: [ + { name: '智享服务费率', rate: 0 }, + { name: '花呗利率', rate: 0 }, + { name: '支付利率', rate: 0 } + ], + }, + onLoad() { + this.setData({ + userStyle: app.userStyle + }) + this.getList() + }, + getList(obj) { + $api.ajax( + '/sib/xcx/order/hbCreateInit', + 'POST', + (res) => { + this.setData({ + prodsList: res.data.body.prods, + termsList: res.data.body.terms, + zfbVersionsList: res.data.body.zfbVersions + }) + }, + (err) => { }, + true, + { ...obj } + ) + }, + orderhbTrial() { + $api.ajax( + '/sib/xcx/order/hbTrial', + 'POST', + (res) => { + let body = res.data.body + this.setData({ + amtList: [{ name: '商家到账', number: body.merAmt }, { name: '客户还款总额', number: body.repayAmt }, { name: '客户月还款额', number: body.monthAmt }], + rateList: [ + { name: '智享服务费率', rate: body.platRate }, + { name: '花呗利率', rate: body.zfbRate }, + { name: '支付利率', rate: body.payRate }] + }) + }, + (err) => { }, + true, + { + amt: this.data.info.amt, + prodId: this.data.info.prodId, + term: this.data.info.term, + zfbVersion: this.data.info.zfbVersion + } + ) + }, + confirm(e) { + let code = e.target.dataset.code, + value = e.detail.value, + obj = {}; + if (code == 1) { + obj.amt = value + } else if (code == 2) { + obj.goodsName = value + } else if (code == 3) { + obj.userName = value + } else { + obj.userMblNo = value + } + this.setData({ + info: { ...this.data.info, ...obj } + }) + if (code == 1) { + if (!this.data.info.amt || !this.data.info.prodId || !this.data.info.term || !this.data.info.zfbVersion) { + this.setData({ + isBoss: false + }) + } + if (this.data.isBoss) { + this.orderhbTrial() + } + } + + }, + bindObjPickerChangeProd(e) { + + this.setData({ + prodName: this.data.prodsList[e.detail.value].name, + 'info.prodId': this.data.prodsList[e.detail.value].code + }) + this.getList({ prodId: this.data.info.prodId }) + console.log(this.data.info.amt, this.data.info.prodId, this.data.info.term, this.data.info.zfbVersion) + if (!this.data.info.amt || !this.data.info.prodId || !this.data.info.term || !this.data.info.zfbVersion) { + this.setData({ + isBoss: false + }) + } else { + this.setData({ + isBoss: true + }) + } + if (this.data.isBoss) { + this.orderhbTrial() + } + }, + bindObjPickerChangeTerm(e) { + this.setData({ + termName: this.data.termsList[e.detail.value].name, + 'info.term': this.data.termsList[e.detail.value].code + }) + console.log(this.data.info.amt, this.data.info.prodId, this.data.info.term, this.data.info.zfbVersion) + if (!this.data.info.amt || !this.data.info.prodId || !this.data.info.term || !this.data.info.zfbVersion) { + this.setData({ + isBoss: false + }) + } else { + this.setData({ + isBoss: true + }) + } + if (this.data.isBoss) { + this.orderhbTrial() + } + }, + bindObjPickerChangeVer(e) { + this.setData({ + zfbVersionName: this.data.zfbVersionsList[e.detail.value].name, + 'info.zfbVersion': this.data.zfbVersionsList[e.detail.value].code + }) + console.log(this.data.info.amt, this.data.info.prodId, this.data.info.term, this.data.info.zfbVersion) + this.getList({ prodId: this.data.info.prodId, zfbVersion: this.data.info.zfbVersion }) + if (!this.data.info.amt || !this.data.info.prodId || !this.data.info.term || !this.data.info.zfbVersion) { + this.setData({ + isBoss: false + }) + } else { + this.setData({ + isBoss: true + }) + } + if (this.data.isBoss) { + this.orderhbTrial() + } + }, + toQRCode() { + this.setData({ + 'info.payType': 2 + }) + my.scan({ + scanType: ['qrCode', 'barCode'], + success: (res) => { + console.log(res) + $api.ajax( + '/sib/xcx/order/createHb', + 'POST', + (res) => { + my.reLaunch({ + url: `/pages/order/hbfqOrder/hbfqOrder?orderId=${res.data.body.orderId}`, + }) + }, + (err) => { }, + true, + { + ...this.data.info, + authCode: res.resultStr + } + ) + }, + }); + }, + getQRCode() { + this.setData({ + 'info.payType': 1 + }) + for (let key in this.data.info) { + if (!this.data.info[key]) { + my.showToast({ + type: 'none', + content: '请完整输入信息', + duration: 2000, + }); + return + } + } + console.log(2) + let str = JSON.stringify(this.data.info) + my.navigateTo({ + url: `../qrCode/qrCode?info=${str}` + }); + } +}); diff --git a/pages/hbfqPage/orderInfo/orderInfo.json b/pages/hbfqPage/orderInfo/orderInfo.json new file mode 100644 index 0000000..ecdb4f8 --- /dev/null +++ b/pages/hbfqPage/orderInfo/orderInfo.json @@ -0,0 +1,12 @@ +{ + "defaultTitle": "花呗分期", + "usingComponents":{ + "list": "mini-ali-ui/es/list/index", + "input-item": "mini-ali-ui/es/input-item/index", + "am-icon": "mini-ali-ui/es/am-icon/index", + "verify-code":"mini-ali-ui/es/verify-code/index", + "long-password": "mini-ali-ui/es/long-password/index", + "picker-item": "mini-ali-ui/es/picker-item/index", + "order-trial":"/components/orderTrial/orderTrial" + } +} \ No newline at end of file diff --git a/pages/hbfqPage/qrCode/qrCode.acss b/pages/hbfqPage/qrCode/qrCode.acss new file mode 100644 index 0000000..e1e7582 --- /dev/null +++ b/pages/hbfqPage/qrCode/qrCode.acss @@ -0,0 +1,8 @@ +.qrCode-page{ + min-height: 100vh; + background: #FAFAFC; +} +.top { + width: 100%; + height: 100px; +} diff --git a/pages/hbfqPage/qrCode/qrCode.axml b/pages/hbfqPage/qrCode/qrCode.axml new file mode 100644 index 0000000..fba70f4 --- /dev/null +++ b/pages/hbfqPage/qrCode/qrCode.axml @@ -0,0 +1,6 @@ +<view class="qrCode-page"> + <view class="top" style="{{background:userStyle.gradientColor}}"> + <cover-image src="../../static/img/backpic.png" class="back-pic"/> + </view> + <qrcode-view imgSrc="{{imgSrc}}" rateList="{{rateList}}"/> +</view> \ No newline at end of file diff --git a/pages/hbfqPage/qrCode/qrCode.js b/pages/hbfqPage/qrCode/qrCode.js new file mode 100644 index 0000000..90950c1 --- /dev/null +++ b/pages/hbfqPage/qrCode/qrCode.js @@ -0,0 +1,101 @@ +const QRCode = require('qrcode'); +const app = getApp(); +let $api = require('../../../utils/ajaxFn.js') +Page({ + data: { + timer:'', + userStyle: {}, + imgSrc: '', + rateList: [ + { name: '智享服务费率', rate: 0 }, + { name: '花呗利率', rate: 0 }, + { name: '支付费率', rate: 0 }, + { name: '客户还款总额', rate: 0 }, + { name: '客户月还款额', rate: 0 }, + { name: '还款期数', rate: 0 } + ] + }, + onLoad(query) { + let info = JSON.parse(query.info) + this.setData({ + userStyle: app.userStyle, + info: info + }) + this.getCode() + }, + getCode() { + let self = this; + $api.ajax( + '/sib/xcx/order/createHb', + 'POST', + (res) => { + //根据字符串生成svn格式的二维码 + QRCode.toString(res.data.body.payQrCodeUrl, { type: 'svg' }, function (err, url) { + let str = 'data:image/svg+xml;base64,' + Buffer(url).toString('base64'); + console.log(str) + self.setData({ + imgSrc: str, + orderId:res.data.body.orderId, + rateList: [ + { name: '智享服务费率', rate: res.data.body.platRate + '%' }, + { name: '花呗利率', rate: res.data.body.zfbRate + '%' }, + { name: '支付费率', rate: res.data.body.payRate + '%' }, + { name: '客户还款总额', rate: res.data.body.repayAmt }, + { name: '客户月还款额', rate: res.data.body.monthAmt }, + { name: '还款期数', rate: res.data.body.term + '期' } + ], + timer:setInterval(this.getStatus(),5000) + }) + }); + + }, + (err) => { }, + true, + { + ...this.data.info + } + ) + }, + getStatus(){ + $api.ajax( + '/sib/xcx/order/findHbOrderSts', + 'POST', + (res)=>{ + let body = res.data.body.orderStatus + if(body==1){ + clearInterval(this.data.timer) + my.showToast({ + type: 'none', + content: '支付成功', + duration: 3000, + success: () => { + my.reLaunch({ + url: `/pages/order/hbfqOrder/hbfqOrder?orderId=${this.data.orderId}`, + }) + }, + }) + } + if(body==2){ + clearInterval(this.data.timer) + my.showToast({ + type: 'none', + content: '支付超时', + duration: 3000, + success: () => { + my.reLaunch({ + url: `/pages/order/hbfqOrder/hbfqOrder?orderId=${this.data.orderId}`, + }) + }, + }) + } + }, + (err)=>{ + + }, + true, + { + orderId:this.data.orderId + } + ) + } +}); diff --git a/pages/hbfqPage/qrCode/qrCode.json b/pages/hbfqPage/qrCode/qrCode.json new file mode 100644 index 0000000..114db4e --- /dev/null +++ b/pages/hbfqPage/qrCode/qrCode.json @@ -0,0 +1,6 @@ +{ + "defaultTitle": "花呗分期", + "usingComponents":{ + "qrcode-view":"/components/QRCodeView/QRCodeView" + } +} \ No newline at end of file diff --git a/pages/home/home.acss b/pages/home/home.acss new file mode 100644 index 0000000..fcd2e26 --- /dev/null +++ b/pages/home/home.acss @@ -0,0 +1,51 @@ +.home-page{ + background-color: #f5f5f5; + min-height: 100vh; +} +.top{ + width: 100%; + height: 120px; +} +.back-pic{ + width: 100%; + height: 100%; + z-index: 10; +} +.product-view{ + position: relative; + transform: translateY(-50px); +} +.product-item{ + display: flex; + justify-content: space-between; + align-items: center; + background: #fff; + width: 686rpx; + height: 80px; + margin: auto; + margin-bottom: 12px; + background: #FFFFFF; + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 7px; + padding: 0 23px 0 20px; + box-sizing: border-box; +} +.left{ + display: flex; + align-items: center; +} +.pro-img{ + width: 36px; + height: 36px; + margin-right: 12px; +} +.pro-text{ + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; +} +.iconliebiaojiantou{ + font-size: 40rpx; + color: #CCCCCC; +} \ No newline at end of file diff --git a/pages/home/home.axml b/pages/home/home.axml new file mode 100644 index 0000000..f57ebaa --- /dev/null +++ b/pages/home/home.axml @@ -0,0 +1,14 @@ +<view class="home-page"> + <view class="top" style="{{background:userStyle.gradientColor}}"> + <cover-image src="../../static/img/backpic.png" class="back-pic"/> + </view> + <view class="product-view"> + <view a:for="{{prodList}}" a:key="{{index}}" class="product-item" data-openStatus="{{item.openStatus}}" data-prodType="{{item.prodType}}" onTap="goOrderInfo"> + <view class="left"> + <cover-image class="pro-img" src="{{item.src}}"/> + <text class="pro-text">{{item.prodName}}</text> + </view> + <text class="iconfont iconliebiaojiantou"></text> + </view> + </view> +</view> \ No newline at end of file diff --git a/pages/home/home.js b/pages/home/home.js new file mode 100644 index 0000000..c2ed3be --- /dev/null +++ b/pages/home/home.js @@ -0,0 +1,72 @@ +let $api = require('../../utils/ajaxFn.js') +const app = getApp() +Page({ + data: { + userStyle: {}, + prodList: [],//产品列表 + }, + // 页面加载 + onLoad(){ + this.setData({ + userStyle: app.userStyle + }) + // this.init() + + }, + onShow() { + this.init() + }, + init(){ + $api.ajax( + '/sib/xcx/order/prodList', + 'POST', + (res) => { + res.data.body.prodList.forEach(e=>{ + if(e.prodType == 200015){ + e.src = '../../static/img/hbfq.png' + } + if(e.prodType == 200008){ + e.src = '../../static/img/shsk.png' + } + }) + this.setData({ + prodList: res.data.body.prodList + }) + }, + (err) => { }, + true, + { + isShowAmt: 0 + } + ) + }, + // 点击产品 + goOrderInfo(event) { + let prodType = event.target.dataset.prodType, + openStatus = event.target.dataset.openStatus; + if (openStatus != 2) { + my.showToast({ + type: 'exception', + content: '暂未开通此产品', + duration: 5000, + }); + return + } + console.log(prodType) + switch (prodType) { + case 200015: + my.navigateTo({ + url: '../hbfqPage/orderInfo/orderInfo' + }); + break; + case 200008: + my.navigateTo({ + url: '../shskPage/orderInfo/orderInfo' + }); + break; + default: + break; + } + + } +}); diff --git a/pages/home/home.json b/pages/home/home.json new file mode 100644 index 0000000..c9d40cc --- /dev/null +++ b/pages/home/home.json @@ -0,0 +1,6 @@ +{ + "defaultTitle": "业务办理", + "usingComponents": { + "my-component":"/components/fitler/fitler" + } +} \ No newline at end of file diff --git a/pages/icon/grzx.png b/pages/icon/grzx.png new file mode 100644 index 0000000..80d1211 --- /dev/null +++ b/pages/icon/grzx.png Binary files differ diff --git a/pages/icon/grzx_h.png b/pages/icon/grzx_h.png new file mode 100644 index 0000000..6a9fa84 --- /dev/null +++ b/pages/icon/grzx_h.png Binary files differ diff --git a/pages/icon/ywbl.png b/pages/icon/ywbl.png new file mode 100644 index 0000000..066b0cd --- /dev/null +++ b/pages/icon/ywbl.png Binary files differ diff --git a/pages/icon/ywbl_h.png b/pages/icon/ywbl_h.png new file mode 100644 index 0000000..7af1b09 --- /dev/null +++ b/pages/icon/ywbl_h.png Binary files differ diff --git a/pages/icon/ywsj.png b/pages/icon/ywsj.png new file mode 100644 index 0000000..264c0c6 --- /dev/null +++ b/pages/icon/ywsj.png Binary files differ diff --git a/pages/icon/ywsj_h.png b/pages/icon/ywsj_h.png new file mode 100644 index 0000000..da8987b --- /dev/null +++ b/pages/icon/ywsj_h.png Binary files differ diff --git a/pages/index/index.acss b/pages/index/index.acss new file mode 100644 index 0000000..e532a93 --- /dev/null +++ b/pages/index/index.acss @@ -0,0 +1,82 @@ +.index-page{ + padding: 100rpx 56rpx; +} +.logo-view{ + text-align: left; +} +.titText{ + margin-top: 20rpx; + display: block; + font-size: 24px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} +.modeText{ + margin-top: 26rpx; + display: block; + font-size: 16px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} +.logo{ + width: 88rpx; + height: 88rpx; +} +.login-info-view{ + width: 100%; + margin: auto; + margin-top: 40rpx; + background-color: #fff; +} +.phone-ipt{ + background-color: #fff; +} +.phone-label{ + min-width: 60rpx; +} +.password-ipt{ + background-color: #fff; +} +.password-label{ + min-width: 60rpx; +} +.code-label{ + display: none; +} +.code-ipt{ + width: 70%; +} +.icongerenzhongxin,.iconfont{ + font-size: 40rpx; +} +.tip-view{ + display: flex; + justify-content: space-between; + padding-top: 20rpx; + font-size: 24rpx; +} +.login-btn{ + width: 100%; + margin: 50px 0 0 0; + border-radius: 50px; + border: 0; + outline: none; +} +.tip-view2{ + padding-top: 20rpx; + color:#666; + font-size:12px; + text-align:center +} +.server-number{ + text-align: center; + font-size: 12px; + font-family: PingFang SC; + font-weight: 500; + color: #666666; + position: fixed; + bottom: 28px; + left: 35%; +} \ No newline at end of file diff --git a/pages/index/index.axml b/pages/index/index.axml new file mode 100644 index 0000000..1cb2249 --- /dev/null +++ b/pages/index/index.axml @@ -0,0 +1,30 @@ +<view class="index-page"> + <view class="logo-view"> + <cover-image class="logo" src="../../static/img/logo.png" /> + <text class="titText">欢迎使用智享收银台</text> + <text class="modeText">{{modeText}}</text> + </view> + <view class="login-info-view"> + <input-item type="number" onInput="setUserNo" value="{{userNo}}" labelCls="phone-label" className="phone-ipt" maxlength="11" placeholder="请输入手机号" clear="{{true}}"> + </input-item> + <input-item a:if="{{!showCode}}" onInput="setPassword" value="{{password}}" type="text" labelCls="password-label" className="password-ipt" maxlength="12" password="{{true}}" placeholder="请输入密码" clear="{{true}}"> + </input-item> + <verify-code a:if="{{showCode}}" label="{{''}}" inputCls="code-ipt" labelCls="code-label" maxlength="4" countDown="{{60}}" initActive="{{false}}" onSend="onSend" onInput="inputVerCode" value="{{verCode}}"> + </verify-code> + </view> + <button type="primary" class="login-btn" style="{{background:userStyle.gradientColor}}" onTap="login">登录</button> + <view class="tip-view" a:if="{{!showCode}}"> + <view style="{{color:'#666','font-size':'12px'}}" onTap="forgetPass"> + 忘记密码 + </view> + <view style="{{color:'#666','font-size':'12px'}}" onTap="goCodeLogin"> + {{loginModeText}} + </view> + </view> + <view a:else class="tip-view2" > + <text onTap="goCodeLogin">{{loginModeText}}</text> + </view> + <view class="server-number"> + <text>客服电话:{{userStyle.servicePhone}}</text> + </view> +</view> \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..108106d --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,165 @@ +let md5 = require('../../utils/md5.js'); +let $api = require('../../utils/ajaxFn.js'); +const app = getApp() +Page({ + data: { + password:'', + userNo:'', + verCode:'', + showCode: false,//是否显示验证码框 + loginModeText:'验证码登录', + modeText:'密码登录', + userStyle:{},//用户样式 + }, + onLoad(query) { + // 页面加载 + console.info(`Page onLoad with query: ${JSON.stringify(query)}`); + this.setData({ + userStyle:app.userStyle, + }) + }, + onReady() { + // 页面加载完成 + + }, + onShow() { + // 页面显示 + }, + onHide() { + // 页面隐藏 + }, + onUnload() { + // 页面被关闭 + }, + onTitleClick() { + // 标题被点击 + }, + onPullDownRefresh() { + // 页面被下拉 + }, + onReachBottom() { + // 页面被拉到底部 + }, + onShareAppMessage() { + // 返回自定义分享信息 + return { + title: 'My App', + desc: 'My App description', + path: 'pages/index/index', + }; + }, + // 验证码登录 + goCodeLogin(){ + this.setData({ + showCode:!this.data.showCode, + loginModeText:this.data.showCode?'验证码登录':'密码登录', + modeText:this.data.showCode?'密码登录':'验证码登录' + }) + }, + // 忘记密码 + forgetPass(){ + my.navigateTo ({url:'../forgetPassword/forgetPassword'}) + }, + // 登录 + login(){ + let url = '',obj={}; + if(!this.data.showCode){ + url = '/sib/xcx/login/login' + obj.password = md5.hex_md5(this.data.userNo+this.data.password) + obj.userNo = this.data.userNo + obj.zfbUserId = app.userId + }else{ + url = '/sib/xcx/login/loginByCode' + obj.mblNo = this.data.userNo + obj.verCode = this.data.verCode + obj.zfbUserId = app.userId + } + $api.ajax( + url, + 'POST', + (res)=>{ + app.sessionId = res.data.body.sessionId + app.lastLoginMgrId = res.data.body.lastLoginMgrId + if(res.data.body.sessionId){ + my.setStorage({ + key:'sessionId', + data:{ + sessionId:res.data.body.sessionId + } + }) + } + if(res.data.body.lastLoginMgrId){ + this.getUserInfo(res.data.body.lastLoginMgrId) + }else{ + my.navigateTo({ + url: '/pages/changeUser/changeUser' + }); + } + }, + function(res){ + console.log(res) + }, + false, + { + ...obj + } + ) + }, + getUserInfo(lastLoginMgrId){ + $api.ajax( + '/sib/xcx/login/mgrLogin', + 'POST', + (res)=>{ + this.userInfo = res.data.body + my.reLaunch({ + url: '/pages/home/home' + }); + }, + err=>{}, + true, + { + mgrId:lastLoginMgrId + } + ) + }, + setUserNo(e){ + this.setData({ + userNo:e.detail.value + }) + }, + setPassword(e){ + this.setData({ + password:e.detail.value + }) + }, + inputVerCode(e){ + this.setData({ + verCode:e.detail.value + }) + + }, + onSend(){ + if(!this.data.userNo){ + my.showToast({ + content: '请输入电话号码', + duration: 2000 + }); + return + } + $api.ajax( + '/sib/user/sendMsg', + 'POST', + (res)=>{ + + }, + (err)=>{ + + }, + false, + { + mblNo:this.data.userNo, + verCodeType:2 + } + ) + } +}); diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..b851a43 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,9 @@ +{ + "usingComponents":{ + "list": "mini-ali-ui/es/list/index", + "input-item": "mini-ali-ui/es/input-item/index", + "am-icon": "mini-ali-ui/es/am-icon/index", + "verify-code":"mini-ali-ui/es/verify-code/index", + "long-password": "mini-ali-ui/es/long-password/index" + } +} \ No newline at end of file diff --git a/pages/order/hbfqOrder/hbfqOrder.acss b/pages/order/hbfqOrder/hbfqOrder.acss new file mode 100644 index 0000000..ef1bfeb --- /dev/null +++ b/pages/order/hbfqOrder/hbfqOrder.acss @@ -0,0 +1,53 @@ +.hbfq-order-detail{ + min-height: 100vh; + background: #fafafa; + padding-top: 12px; + padding-bottom: 33px; +} +.title { + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + padding-left: 12px; + line-height: 50px; + border-bottom: 1px solid #EEEEEE; +} + +.ipt-class { + text-align: right; + color: #333; +} + +.pick-class { + text-align: right; +} + +.fenqi-info-view { + width: 686rpx; + background: #fff; + padding: 0px 0 10px; + box-sizing: border-box; + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; +} + +.label-class { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #333; +} + +.user-info-view { + width: 686rpx; + background: #fff; + padding: 0px 0 10px; + box-sizing: border-box; + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; + margin-top: 12px; +} + diff --git a/pages/order/hbfqOrder/hbfqOrder.axml b/pages/order/hbfqOrder/hbfqOrder.axml new file mode 100644 index 0000000..cef0610 --- /dev/null +++ b/pages/order/hbfqOrder/hbfqOrder.axml @@ -0,0 +1,20 @@ +<view class="hbfq-order-detail"> + <view class="fenqi-info-view"> + <view class="title">分期信息</view> + <input-item labelCls="label-class" value="{{info.settAmt}}" disabled="{{true}}" value="{{111}}" inputCls="ipt-class" >分期本金</input-item> + <input-item labelCls="label-class" value="{{info.insAmt}}" disabled="{{true}}" inputCls="ipt-class" >商户到账金额</input-item> + <input-item labelCls="label-class" value="{{info.insTerm+'期'}}" disabled="{{true}}" inputCls="ipt-class" >分期期数</input-item> + <input-item labelCls="label-class" value="{{info.statusStr}}" disabled="{{true}}" inputCls="ipt-class" >订单状态</input-item> + <input-item labelCls="label-class" value="{{info.creTime}}" disabled="{{true}}" inputCls="ipt-class" >创建时间</input-item> + <input-item labelCls="label-class" value="{{info.payTypeName}}" disabled="{{true}}" inputCls="ipt-class" >支付方式</input-item> + <input-item labelCls="label-class" value="{{info.userName}}" disabled="{{true}}" inputCls="ipt-class" >客户姓名</input-item> + <input-item labelCls="label-class" value="{{info.goodsName}}" disabled="{{true}}" inputCls="ipt-class" last="{{true}}">商品名称</input-item> + </view> + <view class="user-info-view"> + <view class="title">产品信息</view> + <input-item labelCls="label-class" value="{{info.feeRate+'%'}}" disabled="{{true}}" inputCls="ipt-class">智享服务费率</input-item> + <input-item labelCls="label-class" value="{{info.zfbRate+'%'}}" disabled="{{true}}" inputCls="ipt-class">花呗利率</input-item> + <input-item labelCls="label-class" value="{{info.payRate+'%'}}" disabled="{{true}}" inputCls="ipt-class">支付费率</input-item> + <input-item labelCls="label-class" value="{{info.zfbVersionName}}" disabled="{{true}}" inputCls="ipt-class" last="{{true}}">办单通道</input-item> + </view> +</view> \ No newline at end of file diff --git a/pages/order/hbfqOrder/hbfqOrder.js b/pages/order/hbfqOrder/hbfqOrder.js new file mode 100644 index 0000000..35e44a3 --- /dev/null +++ b/pages/order/hbfqOrder/hbfqOrder.js @@ -0,0 +1,27 @@ +let $api = require('../../../utils/ajaxFn.js') +let dataFm = require('../../../utils/date.js') +Page({ + data: { + info:{} + }, + onLoad(query) { + $api.ajax( + '/sib/xcx/order/orderDtl', + 'POST', + (res)=>{ + res.data.body.creTime = dataFm(res.data.body.creTime, 'YYYY-MM-DD HH:mm:ss') + this.setData({ + info:res.data.body + }) + }, + (err)=>{ + + }, + true, + { + orderId:query.orderId + } + ) + }, + +}); diff --git a/pages/order/hbfqOrder/hbfqOrder.json b/pages/order/hbfqOrder/hbfqOrder.json new file mode 100644 index 0000000..9cc2172 --- /dev/null +++ b/pages/order/hbfqOrder/hbfqOrder.json @@ -0,0 +1,13 @@ +{ + "defaultTitle": "花呗分期-订单详情", + "usingComponents":{ + "list": "mini-ali-ui/es/list/index", + "input-item": "mini-ali-ui/es/input-item/index", + "am-icon": "mini-ali-ui/es/am-icon/index", + "verify-code":"mini-ali-ui/es/verify-code/index", + "long-password": "mini-ali-ui/es/long-password/index", + "picker-item": "mini-ali-ui/es/picker-item/index", + "order-trial":"/components/orderTrial/orderTrial", + "list-item": "mini-ali-ui/es/list/list-item/index" + } +} \ No newline at end of file diff --git a/pages/order/shskOrder/shskOrder.acss b/pages/order/shskOrder/shskOrder.acss new file mode 100644 index 0000000..ef1bfeb --- /dev/null +++ b/pages/order/shskOrder/shskOrder.acss @@ -0,0 +1,53 @@ +.hbfq-order-detail{ + min-height: 100vh; + background: #fafafa; + padding-top: 12px; + padding-bottom: 33px; +} +.title { + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + padding-left: 12px; + line-height: 50px; + border-bottom: 1px solid #EEEEEE; +} + +.ipt-class { + text-align: right; + color: #333; +} + +.pick-class { + text-align: right; +} + +.fenqi-info-view { + width: 686rpx; + background: #fff; + padding: 0px 0 10px; + box-sizing: border-box; + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; +} + +.label-class { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #333; +} + +.user-info-view { + width: 686rpx; + background: #fff; + padding: 0px 0 10px; + box-sizing: border-box; + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; + margin-top: 12px; +} + diff --git a/pages/order/shskOrder/shskOrder.axml b/pages/order/shskOrder/shskOrder.axml new file mode 100644 index 0000000..5231647 --- /dev/null +++ b/pages/order/shskOrder/shskOrder.axml @@ -0,0 +1,14 @@ +<view class="hbfq-order-detail"> + <view class="fenqi-info-view"> + <view class="title">分期信息</view> + <input-item labelCls="label-class" value="{{info.settAmt}}" disabled="{{true}}" inputCls="ipt-class" >支付金额</input-item> + <input-item labelCls="label-class" value="{{info.insAmt}}" disabled="{{true}}" inputCls="ipt-class" >商户到账金额</input-item> + <input-item labelCls="label-class" value="{{info.statusStr}}" disabled="{{true}}" inputCls="ipt-class" >订单状态</input-item> + <input-item labelCls="label-class" value="{{info.creTime}}" disabled="{{true}}" inputCls="ipt-class" >创建时间</input-item> + <input-item labelCls="label-class" value="{{info.payTypeName}}" disabled="{{true}}" inputCls="ipt-class" last="{{true}}">支付方式</input-item> + </view> + <view class="user-info-view"> + <view class="title">产品信息</view> + <input-item labelCls="label-class" value="{{info.zfbRate+'%'}}" disabled="{{true}}" inputCls="ipt-class" last="{{true}}">支付费率</input-item> + </view> +</view> \ No newline at end of file diff --git a/pages/order/shskOrder/shskOrder.js b/pages/order/shskOrder/shskOrder.js new file mode 100644 index 0000000..35e44a3 --- /dev/null +++ b/pages/order/shskOrder/shskOrder.js @@ -0,0 +1,27 @@ +let $api = require('../../../utils/ajaxFn.js') +let dataFm = require('../../../utils/date.js') +Page({ + data: { + info:{} + }, + onLoad(query) { + $api.ajax( + '/sib/xcx/order/orderDtl', + 'POST', + (res)=>{ + res.data.body.creTime = dataFm(res.data.body.creTime, 'YYYY-MM-DD HH:mm:ss') + this.setData({ + info:res.data.body + }) + }, + (err)=>{ + + }, + true, + { + orderId:query.orderId + } + ) + }, + +}); diff --git a/pages/order/shskOrder/shskOrder.json b/pages/order/shskOrder/shskOrder.json new file mode 100644 index 0000000..76344f3 --- /dev/null +++ b/pages/order/shskOrder/shskOrder.json @@ -0,0 +1,12 @@ +{ + "defaultTitle": "商户收款-订单详情", + "usingComponents":{ + "list": "mini-ali-ui/es/list/index", + "input-item": "mini-ali-ui/es/input-item/index", + "am-icon": "mini-ali-ui/es/am-icon/index", + "verify-code":"mini-ali-ui/es/verify-code/index", + "long-password": "mini-ali-ui/es/long-password/index", + "picker-item": "mini-ali-ui/es/picker-item/index", + "order-trial":"/components/orderTrial/orderTrial" + } +} \ No newline at end of file diff --git a/pages/paypage/paypage.acss b/pages/paypage/paypage.acss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/pages/paypage/paypage.acss diff --git a/pages/paypage/paypage.axml b/pages/paypage/paypage.axml new file mode 100644 index 0000000..b88ea16 --- /dev/null +++ b/pages/paypage/paypage.axml @@ -0,0 +1,6 @@ +<view> + <input placeholder="输入支付金额" /> + <button type="primary" onTap="pay"> + 支付 + </button> +</view> \ No newline at end of file diff --git a/pages/paypage/paypage.js b/pages/paypage/paypage.js new file mode 100644 index 0000000..e3aefc3 --- /dev/null +++ b/pages/paypage/paypage.js @@ -0,0 +1,48 @@ +Page({ + data: { + code: '', + }, + onLoad(query) { + console.log(query) + this.setData({ + code: query.code + }) + console.log(this.data.code) + }, + pay() { + // my.request({ + // url: '商户服务端地址',//须加httpRequest域白名单 + // method: 'POST', + // data: {//data里的key、value是开发者自定义的 + // from: '支付宝', + // order: 'XXXXX',//订单信息 + // }, + // dataType: 'json', + // success: function (res) { + + // }, + // fail: function (res) { + // my.alert({ content: 'fail' }); + // }, + // complete: function (res) { + // my.hideLoading(); + // my.alert({ content: 'complete' }); + // } + // }); + my.tradePay({ + tradeNO: '2020120722001435295752161156', + success: function (res) { + my.alert({ + content: JSON.stringify(res), + }); + + }, + fail: function (res) { + my.alert({ + content: JSON.stringify(res), + }); + + }, + }); + } +}); diff --git a/pages/paypage/paypage.json b/pages/paypage/paypage.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/pages/paypage/paypage.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/pages/shskPage/orderInfo/orderInfo.acss b/pages/shskPage/orderInfo/orderInfo.acss new file mode 100644 index 0000000..12c1908 --- /dev/null +++ b/pages/shskPage/orderInfo/orderInfo.acss @@ -0,0 +1,92 @@ +.back-pic { + width: 100%; + height: 100%; +} + +.order-info-page { + min-height: 100vh; + background: #FAFAFC; + padding-bottom: 26px; +} + +.top { + width: 100%; + height: 100px; +} + +.title { + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + padding-left: 12px; + line-height: 36px; +} + +.ipt-class { + text-align: left; +} + +.pick-class { + text-align: left; +} + +.fenqi-info-view { + width: 686rpx; + height: 120px; + background: #fff; + padding: 18px 0 20px; + box-sizing: border-box; + position: relative; + transform: translateY(-50px); + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; + margin-bottom:30px; +} + +.label-class { + font-size: 14px; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} + +.user-info-view { + width: 686rpx; + height: 155px; + background: #fff; + padding: 18px 0 0; + box-sizing: border-box; + position: relative; + transform: translateY(-38px); + box-shadow: 0px 1px 12px 0px rgba(56, 56, 235, 0.08); + border-radius: 8px; + margin: auto; +} + +.btn-view { + width: 686rpx; + margin: auto; + display: flex; + justify-content: space-between; +} + +.to-qrcode { + width: 320rpx; + height: 44px; + background: #FFFFFF; + border: 1px solid #8C4EF5; + border-radius: 22px; + line-height: 44px; + color: #8C4EF5; +} + +.get-qrcode { + width: 320rpx; + height: 44px; + border-radius: 22px; + border: 0; + color:#fff; + line-height: 44px; +} \ No newline at end of file diff --git a/pages/shskPage/orderInfo/orderInfo.axml b/pages/shskPage/orderInfo/orderInfo.axml new file mode 100644 index 0000000..3c9b1f2 --- /dev/null +++ b/pages/shskPage/orderInfo/orderInfo.axml @@ -0,0 +1,21 @@ +<view class="order-info-page"> + <view class="top" style="{{background:userStyle.gradientColor}}"> + <cover-image src="../../static/img/backpic.png" class="back-pic"/> + </view> + <view class="fenqi-info-view"> + <text class="title">分期信息</text> + <input-item labelCls="label-class" onInput="confirm" data-code="{{1}}" type="number" inputCls="ipt-class" placeholder="请输入商品金额">商品金额</input-item> + <input-item labelCls="label-class" onInput="confirm" data-code="{{2}}" last="{{true}}" inputCls="ipt-class" placeholder="请输入商品名称">商品名称</input-item> + </view> + <!-- <view class="user-info-view"> + <text class="title">用户信息</text> + <input-item labelCls="label-class" inputCls="ipt-class" onInput="confirm" data-code="{{2}}" placeholder="请输入客户姓名">客户姓名</input-item> + <input-item last="{{true}}" labelCls="label-class" inputCls="ipt-class" onInput="confirm" data-code="{{3}}" placeholder="请输入客户手机号">客户手机号</input-item> + </view> --> + <!-- 订单试算展示组件 --> + <order-trial title="订单试算" amtList="{{amtList}}" rateList="{{rateList}}"/> + <view class="btn-view"> + <button size="default" onTap="toQRCode" type="gohost" class="to-qrcode" style="{{color:userStyle.defaultColor,border:`${userStyle.defaultColor} solid 1px`}}">扫描付款码</button> + <button size="default" onTap="getQRCode" type="primary" class="get-qrcode" style="{{background:userStyle.gradientColor}}">生成二维码</button> + </view> +</view> \ No newline at end of file diff --git a/pages/shskPage/orderInfo/orderInfo.js b/pages/shskPage/orderInfo/orderInfo.js new file mode 100644 index 0000000..cab45f3 --- /dev/null +++ b/pages/shskPage/orderInfo/orderInfo.js @@ -0,0 +1,107 @@ +let $api = require('../../../utils/ajaxFn.js') +Page({ + data: { + userStyle: {}, + info: { + payAmt: '' + }, + amtList: [ + { name: '商家到账', number: 0 }, + { name: '用户支付金额', number: 0 } + ], + rateList: [ + { name: '支付费率', rate: 0.38 } + ] + }, + // 页面加载 + onLoad() { + var app = getApp() + this.setData({ + userStyle: app.userStyle + }) + }, + confirm(e) { + let code = e.target.dataset.code, + value = e.detail.value, + obj = {}; + if (code == 1) { + obj.payAmt = value + } else if (code == 2) { + obj.goodsName = value + } + console.log(obj) + this.setData({ + info: { ...this.data.info,...obj } + }) + if(code == 1&&this.data.info.payAmt){ + this.getTaril() + } + }, + getTaril(){ + $api.ajax( + '/sib/xcx/order/dmfTrial', + 'POST', + res=>{ + this.setData({ + amtList:[ + { name: '商家到账', number: res.data.body.merAmt }, + { name: '用户支付金额', number: res.data.body.repayAmt } + ] + }) + }, + err=>{}, + true, + { + amt:this.data.info.payAmt + } + ) + }, + toQRCode() { + this.setData({ + 'info.payType': 2 + }) + my.scan({ + scanType: ['qrCode', 'barCode'], + success: (res) => { + console.log(res) + // authCode: res.resultStr, + $api.ajax( + '/sib/xcx/order/createDmf', + 'POST', + (res) => { + my.reLaunch({ + url: `/pages/order/shskOrder/shskOrder?orderId=${res.data.body.orderId}`, + }) + }, + (err) => { }, + true, + { + ...this.data.info, + authCode: res.resultStr + } + ) + }, + }); + }, + getQRCode() { + this.setData({ + 'info.payType': 1 + }) + for (let key in this.data.info) { + if (!this.data.info[key]) { + my.showToast({ + type: 'none', + content: '请完整输入信息', + duration: 2000, + }); + return + } + } + + let str = JSON.stringify(this.data.info) + console.log(this.data.info) + my.navigateTo({ + url: `../qrCode/qrCode?info=${str}` + }); + } +}); diff --git a/pages/shskPage/orderInfo/orderInfo.json b/pages/shskPage/orderInfo/orderInfo.json new file mode 100644 index 0000000..a86dc99 --- /dev/null +++ b/pages/shskPage/orderInfo/orderInfo.json @@ -0,0 +1,12 @@ +{ + "defaultTitle": "商户收款", + "usingComponents":{ + "list": "mini-ali-ui/es/list/index", + "input-item": "mini-ali-ui/es/input-item/index", + "am-icon": "mini-ali-ui/es/am-icon/index", + "verify-code":"mini-ali-ui/es/verify-code/index", + "long-password": "mini-ali-ui/es/long-password/index", + "picker-item": "mini-ali-ui/es/picker-item/index", + "order-trial":"/components/orderTrial/orderTrial" + } +} \ No newline at end of file diff --git a/pages/shskPage/qrCode/qrCode.acss b/pages/shskPage/qrCode/qrCode.acss new file mode 100644 index 0000000..e1e7582 --- /dev/null +++ b/pages/shskPage/qrCode/qrCode.acss @@ -0,0 +1,8 @@ +.qrCode-page{ + min-height: 100vh; + background: #FAFAFC; +} +.top { + width: 100%; + height: 100px; +} diff --git a/pages/shskPage/qrCode/qrCode.axml b/pages/shskPage/qrCode/qrCode.axml new file mode 100644 index 0000000..fba70f4 --- /dev/null +++ b/pages/shskPage/qrCode/qrCode.axml @@ -0,0 +1,6 @@ +<view class="qrCode-page"> + <view class="top" style="{{background:userStyle.gradientColor}}"> + <cover-image src="../../static/img/backpic.png" class="back-pic"/> + </view> + <qrcode-view imgSrc="{{imgSrc}}" rateList="{{rateList}}"/> +</view> \ No newline at end of file diff --git a/pages/shskPage/qrCode/qrCode.js b/pages/shskPage/qrCode/qrCode.js new file mode 100644 index 0000000..957177b --- /dev/null +++ b/pages/shskPage/qrCode/qrCode.js @@ -0,0 +1,98 @@ +let $api = require('../../../utils/ajaxFn.js') +const QRCode = require('qrcode'); +const app = getApp(); +Page({ + data: { + userStyle:{}, + imgSrc:'', + rateList:[ + {name:'付款金额',rate:0.38}, + ] + }, + onLoad(query) { + let info = JSON.parse(query.info) + this.setData({ + userStyle:app.userStyle, + info:info + }) + this.getCode() + }, + getCode() { + let self = this; + // QRCode.toString('https://qr.alipay.com/bax09171hgnaiptzucxe8034',{type: 'svg'}, function (err, url) { + // let str = 'data:image/svg+xml;base64,' + Buffer(url).toString('base64'); + // console.log(str); + + // self.setData({ + // imgSrc: str + // }) + // }); + $api.ajax( + '/sib/xcx/order/createDmf', + 'POST', + (res) => { + //根据字符串生成svn格式的二维码 + QRCode.toString(res.data.body.payQrCodeUrl, {type: 'svg'}, function (err, url) { + let str = 'data:image/svg+xml;base64,' + Buffer(url).toString('base64'); + console.log(str) + self.setData({ + imgSrc: str, + orderId:res.data.body.orderId, + rateList: [ + { name: '支付费率', rate: res.data.body.payRate + '%' } + ], + timer:setInterval(this.getStatus(),5000) + }) + }); + + }, + (err) => { }, + true, + { + ...this.data.info + } + ) + }, + getStatus(){ + $api.ajax( + '/sib/xcx/order/findDmfOrderSts', + 'POST', + (res)=>{ + let body = res.data.body.orderStatus + if(body==1){ + clearInterval(this.data.timer) + my.showToast({ + type: 'none', + content: '支付成功', + duration: 3000, + success: () => { + my.reLaunch({ + url: `/pages/order/shskOrder/shskOrder?orderId=${this.data.orderId}`, + }) + }, + }) + } + if(body==2){ + clearInterval(this.data.timer) + my.showToast({ + type: 'none', + content: '支付超时', + duration: 3000, + success: () => { + my.reLaunch({ + url: `/pages/order/shskOrder/shskOrder?orderId=${this.data.orderId}`, + }) + }, + }) + } + }, + (err)=>{ + + }, + true, + { + orderId:this.data.orderId + } + ) + } +}); diff --git a/pages/shskPage/qrCode/qrCode.json b/pages/shskPage/qrCode/qrCode.json new file mode 100644 index 0000000..c8dc853 --- /dev/null +++ b/pages/shskPage/qrCode/qrCode.json @@ -0,0 +1,6 @@ +{ + "defaultTitle": "商户收款", + "usingComponents":{ + "qrcode-view":"/components/QRCodeView/QRCodeView" + } +} \ No newline at end of file diff --git a/pages/userCenter/userCenter.acss b/pages/userCenter/userCenter.acss new file mode 100644 index 0000000..aed403d --- /dev/null +++ b/pages/userCenter/userCenter.acss @@ -0,0 +1,81 @@ +.user-center-page{ + min-height: 100vh; + background: #fafafa; + position: relative; +} +.top{ + width: 100%; + height: 120px; + margin-bottom: 24px; +} +.img{ + width: 100%; + height: 100%; +} +.userInfo{ + width: 100%; + height: 120px; + position: absolute; + top: 0; + left: 0; + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + padding: 0 20px; +} +.left{ + display: flex; + align-items: center; + justify-content: space-between; +} +.avatar{ + width: 60px; + height: 60px; + border-radius:50%; +} +.info{ + margin-left:12px; + color: #FFFFFF; +} +.name{ + margin-bottom: 8px; + width: 304rpx; + white-space: nowrap; + overflow: hidden; + text-overflow:ellipsis; + color: #fff; +} +.btn{ + width: 80px; + height: 24px; + background: #FFFFFF; + border-radius: 12px; + font-size: 12px; + line-height: 24px; + float: right; +} +.functionList{ + margin: auto; + margin-bottom: 12px; + width: 686rpx; + height: 60px; + background: #FFFFFF; + border-radius: 4px; + display: flex; + justify-content: space-between; + align-items: center; + padding: 0 20px; + box-sizing: border-box; +} +.left-fn{ + display: flex; + align-items: center; +} +.footer-view{ + display: flex; +} +.mode{ + width: 560rpx; + /* height: 150px; */ +} \ No newline at end of file diff --git a/pages/userCenter/userCenter.axml b/pages/userCenter/userCenter.axml new file mode 100644 index 0000000..a4729b1 --- /dev/null +++ b/pages/userCenter/userCenter.axml @@ -0,0 +1,43 @@ +<view class="user-center-page"> + <view class="top" style="{{background:userStyle.gradientColor}}"> + <cover-image src="../../static/img/backcircl.png" class="img"/> + </view> + <view class="userInfo"> + <view class="left"> + <image mode="scaleToFill" class="avatar" src="../../static/img/logo.png"/> + <view class="info"> + <view style="margin-bottom:6px">{{userInfo.name}}</view> + <view>{{userInfo.mblNo}}</view> + </view> + <!--<avatar className="avatar-class" src="../../static/img/logo.png" size="lg" name="用户名" desc="摘要描述" shape="circle" /> --> + </view> + <view class="right"> + <view class="name" style="text-align:right"> + {{userInfo.orgName}} + </view> + <button class="btn" onTap="changeUser" style="{{color:userStyle.defaultColor}}"> + 切换身份 + </button> + </view> + </view> + <view class="functionList" a:for="{{functionList}}" a:key="{{index}}" data-index="{{index}}" onTap="goNext"> + <view class="left-fn"> + <text class="iconfont {{item.icon}}" style="{{color:userStyle.defaultColor,'font-size': '20px','margin-right': '12px'}}"></text> + <text>{{item.name}}</text> + </view> + <view class="right-fn"> + <text class="iconfont iconarrow-right" style="'font-size': '12px'"></text> + </view> + </view> + <modal show="{{modalOpened}}" showClose="{{false}}" className="mode"> + 确定退出此账号吗? + <view slot="footer" class="footer-view"> + <button onTap="onCancel" style="height:50px;line-height:50px;width:50%;border: 0;border-right:1px #EEEEEE solid"> + 取消 + </button> + <button onTap="onDetermine" style="height:50px;line-height:50px;width:50%;border: 0;"> + 确定 + </button> + </view> + </modal> +</view> \ No newline at end of file diff --git a/pages/userCenter/userCenter.js b/pages/userCenter/userCenter.js new file mode 100644 index 0000000..3ff92cd --- /dev/null +++ b/pages/userCenter/userCenter.js @@ -0,0 +1,61 @@ +let $api = require('../../utils/ajaxFn.js') +const app = getApp() +Page({ + data: { + modalOpened:false, + userStyle:{}, + userInfo:{}, + functionList:[ + {name:'修改密码',icon:'iconxiugaimima'}, + {name:'退出登录',icon:'icontuichudenglu'} + ] + }, + onLoad() { + this.setData({ + userStyle:app.userStyle, + userInfo:app.userInfo + }) + console.log(app,this.data.userInfo) + }, + goNext(event){ + let index = event.target.dataset.index + if(index === 0){ + my.navigateTo({ + url: '../changePassword/changePassword' + }); + } + if(index === 1){ + this.setData({ + modalOpened:true + }) + } + }, + onCancel(){ + this.setData({ + modalOpened:false + }) + }, + onDetermine(){ + $api.ajax( + '/sib/xcx/login/logout', + 'POST', + res=>{ + my.removeStorageSync({ + key: 'sessionId', + }); + my.navigateTo({ + url: '/pages/index/index' + }); + }, + err=>{ + + }, + true + ) + }, + changeUser(){ + my.navigateTo({ + url: '../changeUser/changeUser' + }); + } +}); diff --git a/pages/userCenter/userCenter.json b/pages/userCenter/userCenter.json new file mode 100644 index 0000000..574ff6d --- /dev/null +++ b/pages/userCenter/userCenter.json @@ -0,0 +1,7 @@ +{ + "defaultTitle": "个人中心", + "usingComponents": { + "avatar": "mini-ali-ui/es/avatar/index", + "modal": "mini-ali-ui/es/modal/index" + } +} \ No newline at end of file diff --git a/static/ali-icon/iconfont.acss b/static/ali-icon/iconfont.acss new file mode 100644 index 0000000..2153c27 --- /dev/null +++ b/static/ali-icon/iconfont.acss @@ -0,0 +1,19 @@ +@import "/static/ali-icon/stylesheet.acss"; +@font-face { + font-family: 'iconfont'; + src: url('iconfont.eot'); + src: url('iconfont.eot?#iefix') format('embedded-opentype'), + url('iconfont.woff') format('woff'), + url('/static/ali-icon/iconfont.ttf') format('truetype'), /* 使用的ttf,所以这里的路径不能出错了 */ + url('iconfont.svg#iconfont') format('svg'); +} + +.iconfont{ + font-family: "iconfont" !important; + font-size: 12px; + font-style: normal; +} + +.icon-home:before{content:'\e613';} +.icon-home1:before{content:'\e7a3';} +.icon-gouwuche:before{content:'\e60c';} \ No newline at end of file diff --git a/static/ali-icon/iconfont.ttf b/static/ali-icon/iconfont.ttf new file mode 100644 index 0000000..ddcc154 --- /dev/null +++ b/static/ali-icon/iconfont.ttf Binary files differ diff --git a/static/ali-icon/stylesheet.acss b/static/ali-icon/stylesheet.acss new file mode 100644 index 0000000..c9e0071 --- /dev/null +++ b/static/ali-icon/stylesheet.acss @@ -0,0 +1,117 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1607396874051'); /* IE9 */ + src: url('iconfont.eot?t=1607396874051#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAA3MAAsAAAAAGhQAAA1/AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCFQAqiCJsdATYCJANoCzYABCAFhG0HgmgbqxWjopyxhpP91YIuYXytQ0aoUEWiiVltsdZBtfyocM+mHIizfE15XF6JE/xD936eO6W/t6VVXK8gPRpOBDqVihSQBQvIgIQ/AXAs76OWARyVOHtaVNLaJ56gA5k+beMG6UvVObWNdK3pwMQxtTqVNuUU+y0pJ+vDW0+p287EsLMxPc75Ly2a4qtAMyli7bTFJMW8kKSj82IzL3/8G2VzOlFcivpg6kk7NZgLCRAAsXgMbPXsEdj/b79v9c8K0NZCwQbTmCht5vudd+fvXnzWff4iKgmaNRqH5O/9NX0f80Y0TRAbqeLDfjOfrgIszMLG3L5u92AIFJvKBfqPLq6DMocoYZMVo2RQ9q3iUvIkJULMiGF0SUQKfjGXAPxif1/vCEtg+BDkoe7mDqNg58WkH9I/TJSMhM444WeA02hgwTk46Dy25J2cDefMKXElYQ/pymGbruPjdDBCnX27MK9QkWIlSmWblitPvkwjL4iSrKgaXRzb0H9eFLJxA6gdrSt00BZgno4LsECnBVik8wIs0WUBlukmxAMtFOXRQQH0UAADFMAIBTCBGIAZii5hAeGBFUQANhAR2EEk4ACRgRNEAS4QFbhBNOABIeAFYYAPhAUqIvvHWTVGuIC3Al+H8AjRL6zEsesOdAY9nBgqscw6dgx9EgkyyzNStYpaC7mUYRiLWfSSiGltNCrCskOX0Fqetc79t5X5+jhvVzcXhp2VvMuLs3U/10JYTKHpMSjNGjff2q1mpk2vR/p3rwnMIwH1HNe+lGo0xAWNZd6QfTWFl5HuVLs6yvN8BvVU0zVaQYsmopvEVnW1tZKadqRQ67qMonCSxAqt1Got6RWQPH5H3DeZ8MdX9fkOkkHsYa28jfJlntH4tXhLVXgr6dGvEWplQ+FlSutzPs2aLO2MFUpy6rGIyiybi/5NFFGsnKiBs7GSrCmUVkr0UbNIDdGh9SZYg+TMfr9h7SJmr0e7xo9zmlrGYJ0OZ7PYR1lsWlHNgtxIlNCTWPXOrHwrX9zKnKgVmwUVT+QwoSPMIktLDjPPEqpzcuKAOEyl8oidHYeWMhlMzeKcI9hnIjgUOlTYUcOGcti+8KWEf0x4eIkCLpfFBiVTmByQyylFEFCIcBoEnFwOkwIMgLx7XEMKON7o4twB+WyiXG8kATKuRzujn8h2oSQ3pd2pTJEafDhyLJouJDF7wwRD531H+MvCmJ1wtluRctJZlWtpFsG8hnWp3DUE3ElO7fPUSlnX8QHvZk0a5peW4rOAAWBMBUOM6iGg82EQNsk+BulmDa8woZnKASxj7UjCZXOYD/O7QesI/5Rkv5keHgMM4K9qCFJUD1nRMKMavks76hhDDB4MZCYJGCkCDGaL9snFj5LyldbbY30UQyUlegT4VS1UZSoVRZEeTE4vnO0g5DfQr9FqJdm9jcqmPkbPzawbGbS8QTuTmmNcuoRmSodUrKPUZz4LJFd1OqRCWQ2cXMYKk0WroGp3kCfUrGyVDVU7AoYY2kgyVT0Lh5pIUsOv683u19NsJDWaGdLcBsYiI+xIcX0PJ1BcrxJIHkiC+GhXQyk7KXsjGKEGGrRLbnV+HvMSiZVTZIpKK7trxeQUFNayBmYrsVYyjJQJJC1ZVgMDUtWDRGUdnJWhoq5TAExBNi1A38qRAWVpb2pTZiIoqGedc4rkAYYqNIrq+uIiJuYlaBF0qQkOIiAip6SlwVG++TJyKo4SvSQ8EVbGvl2Hd6c7St09Cj3dDiKdEhIZovYhpSi5D475StMIn5Q0vwwAi9ALhnGYgDFYCmeL8iwYWhRaOmmQMbOhcZTj3SNUOOyYygCwjjEwWkbT1sCAQagF/QK4uJ4958eaUwTwTKnX4UeLi+rsjGrUJaWcWb/EmKiVrQc5+NtQTgWf1dpWaFrXlAgDRpLGoGPLuV1wGdde9t3p7UD+kD1DNYzshXYaXDVo2Yc1jilHINi1pEbAWNb2AczMSvUCbHXu8+xv697SNd4j3ftQafmvHf7sKJ26xD8NY4khELr/gFUA99fO6Zvj9YLfrshdyQxnYfNbLwktpCt07ZNm1ey7YBBGex+ZOFHm8cvv5Q7UPBR52XDn6OIDxsfy6Zcu0fOpkKW+h9vJezO9tpaO+GZFIqY8qfOme6acXXvvyeaDkw9yzf9P82qQtwXgq4WSQKJN3nB1X/5BccYtArWUByc8eKBNUB5g+dYnF/m5+QeSW8Cdn2I1R1HZLbSSCnKRH5t/hgdacJE/uGAoamI8Hj5xaOEAulSBMG7h03JDWx0EqKUkKP6K2H5ReyAen1eb9740C1NFfCDevkid6tX6D0l/YXngLDnv0BGQFL/ObKtc/wd4NRaQALDAZLONeF29GSbK342Hwu4d2+zn+tDkqU42NAM9a2tIT9d4EnosDnJfo4SmqHZh+b15fdef+2VgZeYoXwsd3noY2rJ2K6DEIO5gAndw8OzjblKwFE3Vohq3Xb6xalfvbG9buoGuNQ/S15OmxDU/xfYON0YonqYwv2guMt+IJUN3hOdAbU1SdzenrbfyDsu3miUFrLtNqPOkBNfjKT0+S6aPRkGREBIRNeq4fE7sncpPR0Jnz9bS3TXVws4mAESAOHvxtcCSBcWBt3nCKxbWU16zDwQxIO6M7szbs0S/1kevg1N+rYtZ+sTWjRucjpX1sy6efid2+qfEg0hkq4+NgBt2ILGWpwVf2kZfXWKzWexLYEztiXou4y9zR91bRQiYKJrIV0YBiCh4lI/zM4+gS1FYOpPK9BTFYLCW/oeWo57MBnGZr15dZpNTe3lh+ZofcX4v2mRibjIKxobLRPBQXlNaJ55GgIhal8Hd3e/TNoQ7oyOocybKR7GxZeiyt9oAkDV6FAXj4xWhW7foFVQYUt/DHdR7J62zk7Yz2GXj3eVZHT82fO8/BMtpRIRAsU/v+vIt09wzgmk7Ozt3prnF+iGpjvPuxseLnCYPSOKrjl60n4ekxPnGWu3YNPO/nVZxNlE2wK3dcD0sKiNa9rbWf/Uj/G4xqr42EmthK9R8UtukoAlsi2k/NKaR/gG8b2AMu3jP4njOppEcNGdkCI2nvn07pbS/oxzlRWap+cjeZDVwYEaHzIg1vArdFD2jT3gmOml+LUE/xNU4fgNWvO+6eZl/ubSiVKKxufzsExBC375Bwg80cpBJKjPB+JRjFBlduLAEQUPBbElu+Kyabc/DansDMkCYoXOqRJLKX68KE/j74ylCxRm9tWHfttaEzYrLBdJQBC1ZuHAURYINxbwS1OlrjK0tb8CbwLITc0VcsZ3rghZr5RIIKJ+sdaGrHSK2FXM9nPlK/jtmA9rAxczEYnPX166Q+a7AbzXvyUfRsTMfLWYjF34YnP37OF89/OmYCNzgAXJ4A62okLaBbi17WlX/sbbRScKduoFWWETTXTYUFm7wSYTS0yFpaVm6IpEmoykUWyUq0gGPrgTkSaZ/NgWx+KYgLmkrdgJoAv7xMYYD1NFG/Dx80/gmEAvc2pRLLORWHXS6fERxu3ziBPhiMzp6mc2S4PIkulGoQM1ImHx0TSahBhgTwFdnqicnMNQCdKk/UIOlw6hsEehrdGyJDgJPFRC2gTkH5WzqHLbNkmE+ymcBdJ94sBAR8i9HmcNasB3Iecq4bYqjOB/NxFYrkcwSTKCVbGKZ/kqBEmzzLO2/EvjpCW+M9+RT4BVP48jPxvNjavHPtOMiyINkEMhMRyGaLRUKmc9jLMHURIPHbIqJ6YH3hMa77bZY/q/R12pFWNK3n/oqb4aAcHoC5Gt/Q07pP4yXl/P/3F617j70etn2c6Bm4W8Eyn/Hx48t3/8j6Ih4zn99PezKo//xe3WU/xMH7BnALmffWeaXXvUXZJghP5lNXWquTW5eXSbj8T8CMi7zquDCHC8YyxUUJHNFuitt5XC26RWPdAL2Y7SprOU1dplnYVPXjpHyJ3I/Mnpib9iatNr/G9S/avX/fiuzSDPsc0likkDP0E8KEzaR14V7RgmsvhQpYXZYtIMsG2p0xmq7pDcZUGg9TJCKWc9d0wu5w79t9ILLjWiDW8k+c9nn3KsueJBc8uLM0OjVnC05Cmfg1IXEZdodN0Z/uTXtQUAg+4l7iz55MJ3lxatA/gSrw95U+wikh0hMX4UJ0cXqWl+1Nr0ExVaSN8qm3gKlpl5sjNaD7cfggHgMkj6pTe9jERMm4kh6OLAWxZxwBqEfae/n2+NxHDfoKMQkqLpFgOSNuSPClNflF4WQE1/cq4b+/CWgMEuilH0+lr8FSMpcv1CjUnUOduy4XPvsytbbniibdmQTE9rOBCWEQdkAS1uQsBHf3QwIeSMLJZrmtlXJx5rL64ya18nWuAooyNCrGVk5eQVFJeU/m/9Kaho0akrTmtGs5jSvBS1qScta0arWSF9gOQUTg3s0xQOW7g06L0ZiqpGfpVOWcaJboQcpTxLh85Dn5WlpwUWSapJPMkr7/I5JoDljnIqkswamBZ8hv5sCFWYTaWxh2yNBfYdNqDmCyraoHhhW0iQ0SZa3tTRd8C5uI6eM9WXQ/MIHEk03n/EZLOeRywcMlN5N5RCeOdU8Y1tN69y2MQ8E7k1jao6ryYHsHVsx0bX8wl0ZBA==') format('woff2'), + url('iconfont.woff?t=1607396874051') format('woff'), + url('iconfont.ttf?t=1607396874051') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1607396874051#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.iconhuabeifenqi:before { + content: "\e823"; +} + +.iconxuanze:before { + content: "\e824"; +} + +.iconxiaoshouwangluo_h:before { + content: "\e825"; +} + +.iconxiaoshouwangluo:before { + content: "\e826"; +} + +.iconarrow-up:before { + content: "\e81b"; +} + +.iconcalendar:before { + content: "\e81c"; +} + +.iconarrow-right:before { + content: "\e81d"; +} + +.icontime:before { + content: "\e81e"; +} + +.icondingdanliebiao:before { + content: "\e81f"; +} + +.iconuser:before { + content: "\e820"; +} + +.iconemail:before { + content: "\e821"; +} + +.iconstore:before { + content: "\e822"; +} + +.icontuichudenglu:before { + content: "\e819"; +} + +.iconxiugaimima:before { + content: "\e81a"; +} + +.iconshaixuan:before { + content: "\e814"; +} + +.iconsousuo:before { + content: "\e815"; +} + +.iconkehuxingming:before { + content: "\e816"; +} + +.iconliebiaojiantou:before { + content: "\e817"; +} + +.iconxiangxia:before { + content: "\e818"; +} + +.iconyewushuju:before { + content: "\e80e"; +} + +.iconyewubanli:before { + content: "\e80f"; +} + +.icongerenzhongxin:before { + content: "\e810"; +} + +.iconyewushuju_h:before { + content: "\e811"; +} + +.icongerenzhongxin_h:before { + content: "\e812"; +} + +.iconyewubanli_h:before { + content: "\e813"; +} + diff --git a/static/img/backcircl.png b/static/img/backcircl.png new file mode 100644 index 0000000..8dc005c --- /dev/null +++ b/static/img/backcircl.png Binary files differ diff --git a/static/img/backpic.png b/static/img/backpic.png new file mode 100644 index 0000000..8ab9129 --- /dev/null +++ b/static/img/backpic.png Binary files differ diff --git a/static/img/hbfq.png b/static/img/hbfq.png new file mode 100644 index 0000000..e5cb994 --- /dev/null +++ b/static/img/hbfq.png Binary files differ diff --git a/static/img/logo.png b/static/img/logo.png new file mode 100644 index 0000000..7a7a820 --- /dev/null +++ b/static/img/logo.png Binary files differ diff --git a/static/img/nodata.png b/static/img/nodata.png new file mode 100644 index 0000000..0dfe03a --- /dev/null +++ b/static/img/nodata.png Binary files differ diff --git a/static/img/shsk.png b/static/img/shsk.png new file mode 100644 index 0000000..c884274 --- /dev/null +++ b/static/img/shsk.png Binary files differ diff --git a/test.jpg b/test.jpg new file mode 100644 index 0000000..2075a13 --- /dev/null +++ b/test.jpg Binary files differ diff --git a/utils/ajaxFn.js b/utils/ajaxFn.js new file mode 100644 index 0000000..c9178e6 --- /dev/null +++ b/utils/ajaxFn.js @@ -0,0 +1,99 @@ +const md5 = require('./md5.js') +const app = getApp() +const baseUrl = 'https://t.finlean.com' +/** + * url请求地址 + * data 数据对象 + * method 方法 + * success成功回调 + * fail失败回调 + * **/ +function $api(url,method,success,fail,needLogin,data){ + my.showLoading({ + title: '正在加载...' + }); + // 记录发起请求的当前时间 + let timeStart = Date.now(); + var str = '' + for(let key in data){ + str = str + data[key] + } + var params = {...data} + console.log(needLogin) + if(needLogin){ + console.log('验签字符串',str+my.getStorageSync ({ key: 'sessionId' }).data.sessionId) + let sessionId = my.getStorageSync ({ key: 'sessionId' }).data.sessionId + // params.sessionId = sessionId + params.jttechSign = md5.hex_md5(str+sessionId) + } + my.request({ + url: `${baseUrl}${url}`, + headers: {'content-type':'application/json'}, + method: method, + data: { + ...params + }, + timeout: 60000, + dataType: 'json', + success: success, + fail: fail, + complete:function(res){ + // console.log(`耗时${Date.now() - timeStart}`, baseUrl + url); + + if(res.status == 200){ + setTimeout(function () { + my.hideLoading(); + }, 1000); + }else{ + if(res.data.code == 99999){ + my.hideLoading(); + //登录超时 + my.showToast({ + type: 'none', + content: res.data.errMsg, + duration: 3000, + success: () => { + my.reLaunch({ + url: '/pages/index/index', + }) + }, + }); + } + if(res.data.errorCode == -999){ + //接口错误 + my.hideLoading(); + my.showToast({ + type: 'none', + content: res.data.errMsg, + }) + } + if(res.status == 400 || res.status == 500){ + //接口错误 + my.hideLoading(); + if(res.data.status==90040006){ + //登录超时 + my.showToast({ + type: 'none', + content: res.data.message, + duration: 1000, + success: () => { + my.reLaunch({ + url: '/pages/index/index', + }) + }, + }); + }else{ + my.hideLoading(); + my.showToast({ + type: 'none', + content: res.data.errMsg, + }) + } + } + } + } + }); +} +module.exports = { + ajax: $api, +} \ No newline at end of file diff --git a/utils/date.js b/utils/date.js new file mode 100644 index 0000000..192e0e8 --- /dev/null +++ b/utils/date.js @@ -0,0 +1,66 @@ + +/** + * 时间格式化函数,如果没有传递格式就返回时间戳 + * @param date Date 对象 + * @param fmt 格式规范 + * @returns {*} + */ +export default function(date, fmt) { + if (!date) { + return null; + } + if (typeof date === 'string') { + date = new Date(date.replace(/-/g, '/')); + } + if (typeof date === 'number') { + date = new Date(date); + } + if (fmt === undefined) { + return Number(date); + } else { + var o = { + 'M+': date.getMonth() + 1, + 'D+': date.getDate(), + 'h+': date.getHours() % 12 === 0 ? 12 : date.getHours() % 12, + 'H+': date.getHours(), + 'm+': date.getMinutes(), + 's+': date.getSeconds(), + 'q+': Math.floor((date.getMonth() + 3) / 3), + S: date.getMilliseconds() + }; + var week = { + '0': '\u65e5', + '1': '\u4e00', + '2': '\u4e8c', + '3': '\u4e09', + '4': '\u56db', + '5': '\u4e94', + '6': '\u516d' + }; + if (/(Y+)/.test(fmt)) { + fmt = fmt.replace( + RegExp.$1, + (date.getFullYear() + '').substr(4 - RegExp.$1.length) + ); + } + if (/(E+)/.test(fmt)) { + fmt = fmt.replace( + RegExp.$1, + (RegExp.$1.length > 1 + ? RegExp.$1.length > 2 ? '\u661f\u671f' : '\u5468' + : '') + week[date.getDay() + ''] + ); + } + 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; + } +} diff --git a/utils/md5.js b/utils/md5.js new file mode 100644 index 0000000..f4ee524 --- /dev/null +++ b/utils/md5.js @@ -0,0 +1,179 @@ +function MD5(sMessage) +{ + function RotateLeft(lValue, iShiftBits) + { + return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits)); } + function AddUnsigned(lX,lY) + { + var lX4,lY4,lX8,lY8,lResult; + lX8 = (lX & 0x80000000); + lY8 = (lY & 0x80000000); + lX4 = (lX & 0x40000000); + lY4 = (lY & 0x40000000); + lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF); + if (lX4 & lY4) { + return (lResult ^ 0x80000000 ^ lX8 ^ lY8); + } + if (lX4 | lY4) { + if (lResult & 0x40000000) { + return (lResult ^ 0xC0000000 ^ lX8 ^ lY8); + } else { + return (lResult ^ 0x40000000 ^ lX8 ^ lY8); + } + } else { + return (lResult ^ lX8 ^ lY8); + } + } + function F(x,y,z) + { + return (x & y) | ((~x) & z); } + function G(x,y,z) + { + return (x & z) | (y & (~z)); } + function H(x,y,z) + { + return (x ^ y ^ z); } + function I(x,y,z) + { + return (y ^ (x | (~z))); } + function FF(a,b,c,d,x,s,ac) + { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + function GG(a,b,c,d,x,s,ac) + { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + function HH(a,b,c,d,x,s,ac) + { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + function II(a,b,c,d,x,s,ac) + { + a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac)); + return AddUnsigned(RotateLeft(a, s), b); + } + function ConvertToWordArray(sMessage) + { + var lWordCount; + var lMessageLength = sMessage.length; + var lNumberOfWords_temp1=lMessageLength + 8; + var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64; + var lNumberOfWords = (lNumberOfWords_temp2+1)*16; + var lWordArray=Array(lNumberOfWords-1); + var lBytePosition = 0; + var lByteCount = 0; + while ( lByteCount < lMessageLength ) { + lWordCount = (lByteCount-(lByteCount % 4))/4; + lBytePosition = (lByteCount % 4)*8; + lWordArray[lWordCount] = (lWordArray[lWordCount] | (sMessage.charCodeAt(lByteCount)<<lBytePosition)); + lByteCount++; + } + lWordCount = (lByteCount-(lByteCount % 4))/4; + lBytePosition = (lByteCount % 4)*8; + lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition); + lWordArray[lNumberOfWords-2] = lMessageLength<<3; + lWordArray[lNumberOfWords-1] = lMessageLength>>>29; + return lWordArray; + } + function WordToHex(lValue) + { + var WordToHexValue="",WordToHexValue_temp="",lByte,lCount; + for (lCount = 0; lCount<=3; lCount++) { + lByte = (lValue>>>(lCount*8)) & 255; + WordToHexValue_temp = "0" + lByte.toString(16); + WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2); + } + return WordToHexValue; + } + var x=Array(); + var k,AA,BB,CC,DD,a,b,c,d + var S11=7, S12=12, S13=17, S14=22; + var S21=5, S22=9 , S23=14, S24=20; + var S31=4, S32=11, S33=16, S34=23; + var S41=6, S42=10, S43=15, S44=21; + // Steps 1 and 2. Append padding bits and length and convert to words + x = ConvertToWordArray(sMessage); + // Step 3. Initialise + a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476; + // Step 4. Process the message in 16-word blocks + for (k=0; k<x.length; k+=16) { + AA=a; BB=b; CC=c; DD=d; + a=FF(a,b,c,d,x[k+0], S11,0xD76AA478); + d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756); + c=FF(c,d,a,b,x[k+2], S13,0x242070DB); + b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE); + a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF); + d=FF(d,a,b,c,x[k+5], S12,0x4787C62A); + c=FF(c,d,a,b,x[k+6], S13,0xA8304613); + b=FF(b,c,d,a,x[k+7], S14,0xFD469501); + a=FF(a,b,c,d,x[k+8], S11,0x698098D8); + d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF); + c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1); + b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE); + a=FF(a,b,c,d,x[k+12],S11,0x6B901122); + d=FF(d,a,b,c,x[k+13],S12,0xFD987193); + c=FF(c,d,a,b,x[k+14],S13,0xA679438E); + b=FF(b,c,d,a,x[k+15],S14,0x49B40821); + a=GG(a,b,c,d,x[k+1], S21,0xF61E2562); + d=GG(d,a,b,c,x[k+6], S22,0xC040B340); + c=GG(c,d,a,b,x[k+11],S23,0x265E5A51); + b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA); + a=GG(a,b,c,d,x[k+5], S21,0xD62F105D); + d=GG(d,a,b,c,x[k+10],S22,0x2441453); + c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681); + b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8); + a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6); + d=GG(d,a,b,c,x[k+14],S22,0xC33707D6); + c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87); + b=GG(b,c,d,a,x[k+8], S24,0x455A14ED); + a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905); + d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8); + c=GG(c,d,a,b,x[k+7], S23,0x676F02D9); + b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A); + a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942); + d=HH(d,a,b,c,x[k+8], S32,0x8771F681); + c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122); + b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C); + a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44); + d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9); + c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60); + b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70); + a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6); + d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA); + c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085); + b=HH(b,c,d,a,x[k+6], S34,0x4881D05); + a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039); + d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5); + c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8); + b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665); + a=II(a,b,c,d,x[k+0], S41,0xF4292244); + d=II(d,a,b,c,x[k+7], S42,0x432AFF97); + c=II(c,d,a,b,x[k+14],S43,0xAB9423A7); + b=II(b,c,d,a,x[k+5], S44,0xFC93A039); + a=II(a,b,c,d,x[k+12],S41,0x655B59C3); + d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92); + c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D); + b=II(b,c,d,a,x[k+1], S44,0x85845DD1); + a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F); + d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0); + c=II(c,d,a,b,x[k+6], S43,0xA3014314); + b=II(b,c,d,a,x[k+13],S44,0x4E0811A1); + a=II(a,b,c,d,x[k+4], S41,0xF7537E82); + d=II(d,a,b,c,x[k+11],S42,0xBD3AF235); + c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB); + b=II(b,c,d,a,x[k+9], S44,0xEB86D391); + a=AddUnsigned(a,AA); b=AddUnsigned(b,BB); c=AddUnsigned(c,CC); d=AddUnsigned(d,DD); + } + // Step 5. Output the 128 bit digest + var temp= WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d); + return temp.toLowerCase(); +} + +module.exports = { + hex_md5: MD5, +} + -- Gitblit v1.8.0