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