TM
2020-12-14 e9e5c6b88e172ed19cce42c4dbc42b675080a5e7
小程序上传
103 files added
4431 ■■■■■ changed files
.gitignore 13 ●●●●● patch | view | raw | blame | history
.kaitian/launch.json 7 ●●●●● patch | view | raw | blame | history
.tea/entryFiles-development/config$.js 7 ●●●●● patch | view | raw | blame | history
.tea/entryFiles-development/importScripts$.js 4 ●●●● patch | view | raw | blame | history
.tea/entryFiles-development/index$.web.js 40 ●●●●● patch | view | raw | blame | history
.tea/entryFiles-development/index$.worker.js 74 ●●●●● patch | view | raw | blame | history
.tea/entryFiles-production/config$.js 7 ●●●●● patch | view | raw | blame | history
.tea/entryFiles-production/importScripts$.js 4 ●●●● patch | view | raw | blame | history
.tea/entryFiles-production/index$.web.js 40 ●●●●● patch | view | raw | blame | history
.tea/entryFiles-production/index$.worker.js 72 ●●●●● patch | view | raw | blame | history
app.acss 6 ●●●●● patch | view | raw | blame | history
app.js 112 ●●●●● patch | view | raw | blame | history
app.json 46 ●●●●● patch | view | raw | blame | history
components/QRCodeView/QRCodeView.acss 57 ●●●●● patch | view | raw | blame | history
components/QRCodeView/QRCodeView.axml 16 ●●●●● patch | view | raw | blame | history
components/QRCodeView/QRCodeView.js 12 ●●●●● patch | view | raw | blame | history
components/QRCodeView/QRCodeView.json 3 ●●●●● patch | view | raw | blame | history
components/fitler/fitler.acss 85 ●●●●● patch | view | raw | blame | history
components/fitler/fitler.axml 55 ●●●●● patch | view | raw | blame | history
components/fitler/fitler.js 109 ●●●●● patch | view | raw | blame | history
components/fitler/fitler.json 11 ●●●●● patch | view | raw | blame | history
components/orderTrial/orderTrial.acss 87 ●●●●● patch | view | raw | blame | history
components/orderTrial/orderTrial.axml 28 ●●●●● patch | view | raw | blame | history
components/orderTrial/orderTrial.js 14 ●●●●● patch | view | raw | blame | history
components/orderTrial/orderTrial.json 3 ●●●●● patch | view | raw | blame | history
mini.project.json 3 ●●●●● patch | view | raw | blame | history
package-lock.json 307 ●●●●● patch | view | raw | blame | history
package.json 7 ●●●●● patch | view | raw | blame | history
pages/businessData/businessData.acss 174 ●●●●● patch | view | raw | blame | history
pages/businessData/businessData.axml 128 ●●●●● patch | view | raw | blame | history
pages/businessData/businessData.js 233 ●●●●● patch | view | raw | blame | history
pages/businessData/businessData.json 12 ●●●●● patch | view | raw | blame | history
pages/changePassword/changePassword.acss 29 ●●●●● patch | view | raw | blame | history
pages/changePassword/changePassword.axml 10 ●●●●● patch | view | raw | blame | history
pages/changePassword/changePassword.js 58 ●●●●● patch | view | raw | blame | history
pages/changePassword/changePassword.json 12 ●●●●● patch | view | raw | blame | history
pages/changeUser/changeUser.acss 84 ●●●●● patch | view | raw | blame | history
pages/changeUser/changeUser.axml 36 ●●●●● patch | view | raw | blame | history
pages/changeUser/changeUser.js 59 ●●●●● patch | view | raw | blame | history
pages/changeUser/changeUser.json 8 ●●●●● patch | view | raw | blame | history
pages/forgetPassword/forgetPassword.acss 24 ●●●●● patch | view | raw | blame | history
pages/forgetPassword/forgetPassword.axml 13 ●●●●● patch | view | raw | blame | history
pages/forgetPassword/forgetPassword.js 110 ●●●●● patch | view | raw | blame | history
pages/forgetPassword/forgetPassword.json 10 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/orderInfo/orderInfo.acss 93 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/orderInfo/orderInfo.axml 45 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/orderInfo/orderInfo.js 206 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/orderInfo/orderInfo.json 12 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/qrCode/qrCode.acss 8 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/qrCode/qrCode.axml 6 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/qrCode/qrCode.js 101 ●●●●● patch | view | raw | blame | history
pages/hbfqPage/qrCode/qrCode.json 6 ●●●●● patch | view | raw | blame | history
pages/home/home.acss 51 ●●●●● patch | view | raw | blame | history
pages/home/home.axml 14 ●●●●● patch | view | raw | blame | history
pages/home/home.js 72 ●●●●● patch | view | raw | blame | history
pages/home/home.json 6 ●●●●● patch | view | raw | blame | history
pages/icon/grzx.png patch | view | raw | blame | history
pages/icon/grzx_h.png patch | view | raw | blame | history
pages/icon/ywbl.png patch | view | raw | blame | history
pages/icon/ywbl_h.png patch | view | raw | blame | history
pages/icon/ywsj.png patch | view | raw | blame | history
pages/icon/ywsj_h.png patch | view | raw | blame | history
pages/index/index.acss 82 ●●●●● patch | view | raw | blame | history
pages/index/index.axml 30 ●●●●● patch | view | raw | blame | history
pages/index/index.js 165 ●●●●● patch | view | raw | blame | history
pages/index/index.json 9 ●●●●● patch | view | raw | blame | history
pages/order/hbfqOrder/hbfqOrder.acss 53 ●●●●● patch | view | raw | blame | history
pages/order/hbfqOrder/hbfqOrder.axml 20 ●●●●● patch | view | raw | blame | history
pages/order/hbfqOrder/hbfqOrder.js 27 ●●●●● patch | view | raw | blame | history
pages/order/hbfqOrder/hbfqOrder.json 13 ●●●●● patch | view | raw | blame | history
pages/order/shskOrder/shskOrder.acss 53 ●●●●● patch | view | raw | blame | history
pages/order/shskOrder/shskOrder.axml 14 ●●●●● patch | view | raw | blame | history
pages/order/shskOrder/shskOrder.js 27 ●●●●● patch | view | raw | blame | history
pages/order/shskOrder/shskOrder.json 12 ●●●●● patch | view | raw | blame | history
pages/paypage/paypage.acss patch | view | raw | blame | history
pages/paypage/paypage.axml 6 ●●●●● patch | view | raw | blame | history
pages/paypage/paypage.js 48 ●●●●● patch | view | raw | blame | history
pages/paypage/paypage.json 1 ●●●● patch | view | raw | blame | history
pages/shskPage/orderInfo/orderInfo.acss 92 ●●●●● patch | view | raw | blame | history
pages/shskPage/orderInfo/orderInfo.axml 21 ●●●●● patch | view | raw | blame | history
pages/shskPage/orderInfo/orderInfo.js 107 ●●●●● patch | view | raw | blame | history
pages/shskPage/orderInfo/orderInfo.json 12 ●●●●● patch | view | raw | blame | history
pages/shskPage/qrCode/qrCode.acss 8 ●●●●● patch | view | raw | blame | history
pages/shskPage/qrCode/qrCode.axml 6 ●●●●● patch | view | raw | blame | history
pages/shskPage/qrCode/qrCode.js 98 ●●●●● patch | view | raw | blame | history
pages/shskPage/qrCode/qrCode.json 6 ●●●●● patch | view | raw | blame | history
pages/userCenter/userCenter.acss 81 ●●●●● patch | view | raw | blame | history
pages/userCenter/userCenter.axml 43 ●●●●● patch | view | raw | blame | history
pages/userCenter/userCenter.js 61 ●●●●● patch | view | raw | blame | history
pages/userCenter/userCenter.json 7 ●●●●● patch | view | raw | blame | history
static/ali-icon/iconfont.acss 19 ●●●●● patch | view | raw | blame | history
static/ali-icon/iconfont.ttf patch | view | raw | blame | history
static/ali-icon/stylesheet.acss 117 ●●●●● patch | view | raw | blame | history
static/img/backcircl.png patch | view | raw | blame | history
static/img/backpic.png patch | view | raw | blame | history
static/img/hbfq.png patch | view | raw | blame | history
static/img/logo.png patch | view | raw | blame | history
static/img/nodata.png patch | view | raw | blame | history
static/img/shsk.png patch | view | raw | blame | history
test.jpg patch | view | raw | blame | history
utils/ajaxFn.js 99 ●●●●● patch | view | raw | blame | history
utils/date.js 66 ●●●●● patch | view | raw | blame | history
utils/md5.js 179 ●●●●● patch | view | raw | blame | history
.gitignore
New file
@@ -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
.kaitian/launch.json
New file
@@ -0,0 +1,7 @@
{
  // 使用 IntelliSense 了解相关属性。
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": []
}
.tea/entryFiles-development/config$.js
New file
@@ -0,0 +1,7 @@
const g = typeof global !== 'undefined' ? global : self;
g.appXAppJson = {
  "app": {
    "$homepage": "pages/home/home"
  }
};
.tea/entryFiles-development/importScripts$.js
New file
@@ -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');
     }
.tea/entryFiles-development/index$.web.js
New file
@@ -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');
.tea/entryFiles-development/index$.worker.js
New file
@@ -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();
}
.tea/entryFiles-production/config$.js
New file
@@ -0,0 +1,7 @@
const g = typeof global !== 'undefined' ? global : self;
g.appXAppJson = {
  "app": {
    "$homepage": "pages/home/home"
  }
};
.tea/entryFiles-production/importScripts$.js
New file
@@ -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`);
.tea/entryFiles-production/index$.web.js
New file
@@ -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');
.tea/entryFiles-production/index$.worker.js
New file
@@ -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();
}
app.acss
New file
@@ -0,0 +1,6 @@
/* 阿里图标样式*/
@import "/static/ali-icon/iconfont.acss";
page {
  background: #fff;
}
app.js
New file
@@ -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
      }
    )
  }
});
app.json
New file
@@ -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": "个人中心"
      }
    ]
  }
}
components/QRCodeView/QRCodeView.acss
New file
@@ -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;
}
components/QRCodeView/QRCodeView.axml
New file
@@ -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>
components/QRCodeView/QRCodeView.js
New file
@@ -0,0 +1,12 @@
Component({
  mixins: [],
  data: {},
  props: {
    imgSrc:'',
    rateList:[]
  },
  didMount() {},
  didUpdate() {},
  didUnmount() {},
  methods: {},
});
components/QRCodeView/QRCodeView.json
New file
@@ -0,0 +1,3 @@
{
  "component": true
}
components/fitler/fitler.acss
New file
@@ -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;
}
components/fitler/fitler.axml
New file
@@ -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>
components/fitler/fitler.js
New file
@@ -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()
    }
  },
});
components/fitler/fitler.json
New file
@@ -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"
  }
}
components/orderTrial/orderTrial.acss
New file
@@ -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;
}
components/orderTrial/orderTrial.axml
New file
@@ -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>
components/orderTrial/orderTrial.js
New file
@@ -0,0 +1,14 @@
Component({
  mixins: [],
  data: {},
  props: {
    title:"",
    amtList:[],
    rateList:[],
    isLast:""
  },
  didMount() {},
  didUpdate() {},
  didUnmount() {},
  methods: {},
});
components/orderTrial/orderTrial.json
New file
@@ -0,0 +1,3 @@
{
  "component": true
}
mini.project.json
New file
@@ -0,0 +1,3 @@
{
  "component2": true
}
package-lock.json
New file
@@ -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"
      }
    }
  }
}
package.json
New file
@@ -0,0 +1,7 @@
{
  "dependencies": {
    "md5": "^2.3.0",
    "mini-ali-ui": "^1.2.1",
    "qrcode": "^1.4.4"
  }
}
pages/businessData/businessData.acss
New file
@@ -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;
}
pages/businessData/businessData.axml
New file
@@ -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>
pages/businessData/businessData.js
New file
@@ -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()
  }
});
pages/businessData/businessData.json
New file
@@ -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"
  }
}
pages/changePassword/changePassword.acss
New file
@@ -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;
}
pages/changePassword/changePassword.axml
New file
@@ -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>
pages/changePassword/changePassword.js
New file
@@ -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
      }
    )
  }
});
pages/changePassword/changePassword.json
New file
@@ -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"
  }
}
pages/changeUser/changeUser.acss
New file
@@ -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;
}
pages/changeUser/changeUser.axml
New file
@@ -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>
pages/changeUser/changeUser.js
New file
@@ -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
      }
    )
  }
});
pages/changeUser/changeUser.json
New file
@@ -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"
 }
}
pages/forgetPassword/forgetPassword.acss
New file
@@ -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%;
}
pages/forgetPassword/forgetPassword.axml
New file
@@ -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>
pages/forgetPassword/forgetPassword.js
New file
@@ -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
      }
    )
  }
});
pages/forgetPassword/forgetPassword.json
New file
@@ -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"
  }
}
pages/hbfqPage/orderInfo/orderInfo.acss
New file
@@ -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;
}
pages/hbfqPage/orderInfo/orderInfo.axml
New file
@@ -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>
pages/hbfqPage/orderInfo/orderInfo.js
New file
@@ -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}`
    });
  }
});
pages/hbfqPage/orderInfo/orderInfo.json
New file
@@ -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"
  }
}
pages/hbfqPage/qrCode/qrCode.acss
New file
@@ -0,0 +1,8 @@
.qrCode-page{
  min-height: 100vh;
  background: #FAFAFC;
}
.top {
  width: 100%;
  height: 100px;
}
pages/hbfqPage/qrCode/qrCode.axml
New file
@@ -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>
pages/hbfqPage/qrCode/qrCode.js
New file
@@ -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
      }
    )
  }
});
pages/hbfqPage/qrCode/qrCode.json
New file
@@ -0,0 +1,6 @@
{
  "defaultTitle": "花呗分期",
  "usingComponents":{
    "qrcode-view":"/components/QRCodeView/QRCodeView"
  }
}
pages/home/home.acss
New file
@@ -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;
}
pages/home/home.axml
New file
@@ -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>
pages/home/home.js
New file
@@ -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;
    }
  }
});
pages/home/home.json
New file
@@ -0,0 +1,6 @@
{
  "defaultTitle": "业务办理",
  "usingComponents": {
    "my-component":"/components/fitler/fitler"
  }
}
pages/icon/grzx.png
pages/icon/grzx_h.png
pages/icon/ywbl.png
pages/icon/ywbl_h.png
pages/icon/ywsj.png
pages/icon/ywsj_h.png
pages/index/index.acss
New file
@@ -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%;
}
pages/index/index.axml
New file
@@ -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>
pages/index/index.js
New file
@@ -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
      }
    )
  }
});
pages/index/index.json
New file
@@ -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"
  }
}
pages/order/hbfqOrder/hbfqOrder.acss
New file
@@ -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;
}
pages/order/hbfqOrder/hbfqOrder.axml
New file
@@ -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>
pages/order/hbfqOrder/hbfqOrder.js
New file
@@ -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
      }
    )
  },
});
pages/order/hbfqOrder/hbfqOrder.json
New file
@@ -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"
  }
}
pages/order/shskOrder/shskOrder.acss
New file
@@ -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;
}
pages/order/shskOrder/shskOrder.axml
New file
@@ -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>
pages/order/shskOrder/shskOrder.js
New file
@@ -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
      }
    )
  },
});
pages/order/shskOrder/shskOrder.json
New file
@@ -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"
  }
}
pages/paypage/paypage.acss
pages/paypage/paypage.axml
New file
@@ -0,0 +1,6 @@
<view>
  <input placeholder="输入支付金额" />
  <button type="primary" onTap="pay">
  支付
  </button>
</view>
pages/paypage/paypage.js
New file
@@ -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),
        });
      },
    });
  }
});
pages/paypage/paypage.json
New file
@@ -0,0 +1 @@
{}
pages/shskPage/orderInfo/orderInfo.acss
New file
@@ -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;
}
pages/shskPage/orderInfo/orderInfo.axml
New file
@@ -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>
pages/shskPage/orderInfo/orderInfo.js
New file
@@ -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}`
    });
  }
});
pages/shskPage/orderInfo/orderInfo.json
New file
@@ -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"
  }
}
pages/shskPage/qrCode/qrCode.acss
New file
@@ -0,0 +1,8 @@
.qrCode-page{
  min-height: 100vh;
  background: #FAFAFC;
}
.top {
  width: 100%;
  height: 100px;
}
pages/shskPage/qrCode/qrCode.axml
New file
@@ -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>
pages/shskPage/qrCode/qrCode.js
New file
@@ -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
      }
    )
  }
});
pages/shskPage/qrCode/qrCode.json
New file
@@ -0,0 +1,6 @@
{
  "defaultTitle": "商户收款",
  "usingComponents":{
    "qrcode-view":"/components/QRCodeView/QRCodeView"
  }
}
pages/userCenter/userCenter.acss
New file
@@ -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; */
}
pages/userCenter/userCenter.axml
New file
@@ -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>
pages/userCenter/userCenter.js
New file
@@ -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'
    });
  }
});
pages/userCenter/userCenter.json
New file
@@ -0,0 +1,7 @@
{
  "defaultTitle": "个人中心",
  "usingComponents": {
    "avatar": "mini-ali-ui/es/avatar/index",
    "modal": "mini-ali-ui/es/modal/index"
  }
}
static/ali-icon/iconfont.acss
New file
@@ -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';}
static/ali-icon/iconfont.ttf
Binary files differ
static/ali-icon/stylesheet.acss
New file
@@ -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";
}
static/img/backcircl.png
static/img/backpic.png
static/img/hbfq.png
static/img/logo.png
static/img/nodata.png
static/img/shsk.png
test.jpg
utils/ajaxFn.js
New file
@@ -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,
}
utils/date.js
New file
@@ -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;
    }
}
utils/md5.js
New file
@@ -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,
}