From f50263c957ab03d7ce6c26267fe07117dd906699 Mon Sep 17 00:00:00 2001 From: jingbowen <970029315@qq.com> Date: Tue, 13 Sep 2022 16:44:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E9=98=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + components/index/dadui.vue | 990 ++++++++++++++++++ components/index/jiuyuanzhan.vue | 728 +++++++++++++ components/index/zhidui.vue | 826 +++++++++++++++ components/task/add.vue | 2 +- components/task/implement.vue | 25 + config.js | 2 +- libs/auth.js | 68 +- main.js | 5 + pages.json | 26 +- pages/dadui/index/index.vue | 391 ++++++- pages/dadui/jiancha/jiancha.vue | 597 ++++++----- pages/dadui/jiuyuan/jiuyuan.vue | 663 +++++++++++- pages/demo/demo.vue | 4 +- pages/index/index.vue | 396 +------ pages/login/login.vue | 38 +- pages/task/implement.vue | 352 +++++++ pages/task/taskapply.vue | 2 +- pages/task/taskreceive.vue | 26 +- pages/user/changePassword/changePassword.vue | 11 +- static/091212.jpg | Bin 0 -> 6260 bytes unpackage/dist/build/mp-weixin/app.json | 4 +- unpackage/dist/build/mp-weixin/common/main.js | 2 +- .../dist/build/mp-weixin/common/runtime.js | 2 +- .../dist/build/mp-weixin/common/vendor.js | 6 +- .../mp-weixin/pages/dadui/jiancha/jiancha.js | 2 +- .../pages/dadui/jiancha/jiancha.wxml | 2 +- .../pages/dadui/jiancha/jiancha.wxss | 2 +- .../mp-weixin/pages/dadui/jiuyuan/jiuyuan.js | 2 +- .../pages/dadui/jiuyuan/jiuyuan.json | 4 +- .../pages/dadui/jiuyuan/jiuyuan.wxml | 2 +- .../dist/build/mp-weixin/pages/demo/demo.js | 2 +- .../dist/build/mp-weixin/pages/index/index.js | 2 +- .../build/mp-weixin/pages/index/index.json | 3 +- .../build/mp-weixin/pages/index/index.wxml | 2 +- .../dist/build/mp-weixin/pages/login/login.js | 2 +- .../build/mp-weixin/pages/task/details.js | 2 +- .../build/mp-weixin/pages/task/details.wxml | 2 +- .../build/mp-weixin/pages/task/taskapply.js | 2 +- .../build/mp-weixin/pages/task/taskapply.wxss | 2 +- .../build/mp-weixin/pages/task/taskreceive.js | 2 +- .../mp-weixin/pages/task/taskreceive.wxml | 2 +- .../dist/build/mp-weixin/project.config.json | 22 +- .../.sourcemap/mp-weixin/common/main.js.map | 2 +- .../mp-weixin/common/runtime.js.map | 2 +- .../.sourcemap/mp-weixin/common/vendor.js.map | 2 +- .../mp-weixin/components/task/add.js.map | 2 +- .../mp-weixin/pages/dadui/index/index.js.map | 2 +- .../pages/dadui/jiancha/jiancha.js.map | 2 +- .../pages/dadui/jiuyuan/jiuyuan.js.map | 2 +- .../mp-weixin/pages/demo/demo.js.map | 2 +- .../mp-weixin/pages/index/index.js.map | 2 +- .../mp-weixin/pages/login/login.js.map | 2 +- .../mp-weixin/pages/task/taskapply.js.map | 2 +- .../mp-weixin/pages/task/taskreceive.js.map | 2 +- .../user/changePassword/changePassword.js.map | 2 +- .../mp-weixin/pages/user/user.js.map | 2 +- unpackage/dist/dev/mp-weixin/app.json | 2 +- unpackage/dist/dev/mp-weixin/common/main.js | 2 +- .../dist/dev/mp-weixin/common/runtime.js | 2 +- unpackage/dist/dev/mp-weixin/common/vendor.js | 6 +- .../dist/dev/mp-weixin/components/task/add.js | 4 +- .../dev/mp-weixin/components/task/details.js | 4 +- .../dev/mp-weixin/pages/dadui/index/index.js | 2 - .../mp-weixin/pages/dadui/index/index.json | 9 - .../mp-weixin/pages/dadui/index/index.wxml | 1 - .../mp-weixin/pages/dadui/index/index.wxss | 297 ------ .../mp-weixin/pages/dadui/jiancha/jiancha.js | 2 +- .../pages/dadui/jiancha/jiancha.wxml | 2 +- .../pages/dadui/jiancha/jiancha.wxss | 104 +- .../mp-weixin/pages/dadui/jiuyuan/jiuyuan.js | 2 +- .../pages/dadui/jiuyuan/jiuyuan.json | 4 +- .../pages/dadui/jiuyuan/jiuyuan.wxml | 2 +- .../dist/dev/mp-weixin/pages/demo/demo.js | 2 +- .../dist/dev/mp-weixin/pages/index/index.js | 2 +- .../dist/dev/mp-weixin/pages/index/index.json | 4 +- .../dist/dev/mp-weixin/pages/index/index.wxml | 2 +- .../dist/dev/mp-weixin/pages/login/login.js | 2 +- .../dist/dev/mp-weixin/pages/task/details.js | 2 +- .../dev/mp-weixin/pages/task/taskapply.js | 2 +- .../dev/mp-weixin/pages/task/taskapply.wxss | 2 +- .../dev/mp-weixin/pages/task/taskreceive.js | 2 +- .../dev/mp-weixin/pages/task/taskreceive.wxml | 2 +- .../user/changePassword/changePassword.js | 2 +- .../user/changePassword/changePassword.wxml | 2 +- .../dist/dev/mp-weixin/pages/user/user.js | 2 +- .../qiun-data-charts/qiun-data-charts.js | 4 +- .../components/qiun-error/qiun-error.js | 4 +- .../components/qiun-loading/loading1.js | 4 +- .../components/qiun-loading/loading2.js | 4 +- .../components/qiun-loading/loading3.js | 4 +- .../components/qiun-loading/loading4.js | 4 +- .../components/qiun-loading/loading5.js | 4 +- .../components/qiun-loading/qiun-loading.js | 4 +- .../superwei-combox/superwei-combox.js | 4 +- .../components/uni-icons/uni-icons.js | 4 +- 96 files changed, 4502 insertions(+), 1265 deletions(-) create mode 100644 components/index/dadui.vue create mode 100644 components/index/jiuyuanzhan.vue create mode 100644 components/index/zhidui.vue create mode 100644 components/task/implement.vue create mode 100644 pages/task/implement.vue create mode 100644 static/091212.jpg delete mode 100644 unpackage/dist/dev/mp-weixin/pages/dadui/index/index.js delete mode 100644 unpackage/dist/dev/mp-weixin/pages/dadui/index/index.json delete mode 100644 unpackage/dist/dev/mp-weixin/pages/dadui/index/index.wxml delete mode 100644 unpackage/dist/dev/mp-weixin/pages/dadui/index/index.wxss diff --git a/.gitignore b/.gitignore index bf20915..beb5c81 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,4 @@ testem.log # System files .DS_Store Thumbs.db +/unpackage diff --git a/components/index/dadui.vue b/components/index/dadui.vue new file mode 100644 index 0000000..6ba54df --- /dev/null +++ b/components/index/dadui.vue @@ -0,0 +1,990 @@ + + + + + diff --git a/components/index/jiuyuanzhan.vue b/components/index/jiuyuanzhan.vue new file mode 100644 index 0000000..a900fa0 --- /dev/null +++ b/components/index/jiuyuanzhan.vue @@ -0,0 +1,728 @@ + + + + + diff --git a/components/index/zhidui.vue b/components/index/zhidui.vue new file mode 100644 index 0000000..5284a7c --- /dev/null +++ b/components/index/zhidui.vue @@ -0,0 +1,826 @@ + + + + + diff --git a/components/task/add.vue b/components/task/add.vue index a52eda6..cff633b 100644 --- a/components/task/add.vue +++ b/components/task/add.vue @@ -120,7 +120,7 @@ this.getSupervisor() this.getOg() this.getUsers() - // this.getCompanies() + this.getCompanies() this.selectedMonth = new Date().getMonth() + 1 this.selectedYear = new Date().getFullYear() }, diff --git a/components/task/implement.vue b/components/task/implement.vue new file mode 100644 index 0000000..1ab1a54 --- /dev/null +++ b/components/task/implement.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/config.js b/config.js index 668a354..720c808 100644 --- a/config.js +++ b/config.js @@ -4,7 +4,7 @@ const domain = 'https://fx.anxincloud.cn'; const devApi = 'https://121.36.37.70:8204'; const devDomain = 'https://121.36.37.70:8204'; -const online = false; //是否线上模式 +const online = true; //是否线上模式 export default { domain: online ? domain : devDomain, diff --git a/libs/auth.js b/libs/auth.js index 2221940..39bdd71 100644 --- a/libs/auth.js +++ b/libs/auth.js @@ -51,7 +51,8 @@ const login = { getUserProfile(data) { const that = this; - // console.log(data); + console.log(data); + // return wx.getUserProfile({ lang: 'zh_CN', desc: '用于完善会员资料', @@ -65,59 +66,38 @@ const login = { }) }, - login(data,userInfo) { + login(data) { const that = this; uni.showLoading({ title: '登录中', - }); - - console.log(userInfo, 1111) - + }); wx.login({ success: res => { console.log(res, '----------- login获取的 -----------') const code = res.code; - request.post('/login', { - code, - encryptedData: userInfo.encryptedData, - iv: userInfo.iv + console.log(res.code); + request.post('/api/Accounts/SignIn', { + wechatToken:code, + username:data.name, + password:data.password }, function(data, res) { - - console.log(data, res ,'----------后端传回来的----------') - return - const user = { - token: data.token, - who: data.lawyerInfo.who, - expires_at: data.expires_at, - lawyerInfo: data.lawyerInfo, - clientInfo: data.clientInfo, - info: res.userInfo, - login_type: 0 - }; - - store.commit('saveUser', user) - uni.setStorageSync('user', user); - uni.hideLoading(); - - if (store.state.path) { - let path = store.state.path; - console.log(path.startsWith('/')) - // 判断是否path前面有/ - if (!path.startsWith('/')) { - path = '/' + path - } - - uni.reLaunch({ - url: path, - success: function(res) { - console.log(res) - }, - fail: function(res) { - console.log(res) - } - }); + console.log(data, res ,'----------后端传回来的----------') + if(res.status==500){ + return alert.showError("用户名或密码错误") } + uni.setStorageSync("token", res) + store.commit('saveToken', res) + console.log(store.state.token); + request.get("/api/Accounts/Profile", {}, (data, res) => { + console.log(res); + uni.setStorageSync("user", res) + uni.reLaunch({ + url: "/pages/index/index", + + }) + }) + }) }, fail: err => { diff --git a/main.js b/main.js index d79f569..ec621e3 100644 --- a/main.js +++ b/main.js @@ -28,13 +28,18 @@ const app = new Vue({ }) uni.addInterceptor('request', { + invoke(args) { // request 触发前拼接 url + const { data, method, } = args; if (method === "GET") { + if(uni.getStorageSync("token")){ + request.getToken() + } // 如果是get请求,且params是数组类型如arr=[1,2],则转换成arr=1&arr=2 const newData = qs.stringify(data, { arrayFormat: "repeat" diff --git a/pages.json b/pages.json index d5b7e54..2e97357 100644 --- a/pages.json +++ b/pages.json @@ -1,7 +1,5 @@ { "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages - - { "path": "pages/login/login", "style": { @@ -12,7 +10,7 @@ } }, { - "path": "pages/user/changePassword/changePassword", + "path": "pages/task/implement", "style": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#317AFF", @@ -20,8 +18,9 @@ "navigationBarTextStyle": "white" } }, + { - "path": "pages/demo/demo", + "path": "pages/user/changePassword/changePassword", "style": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#317AFF", @@ -30,16 +29,16 @@ } }, { - "path": "pages/task/details", + "path": "pages/demo/demo", "style": { "backgroundTextStyle": "light", - "navigationBarBackgroundColor": "#57B5FF", + "navigationBarBackgroundColor": "#317AFF", "navigationBarTitleText": "消防一体化综合治理平台", "navigationBarTextStyle": "white" } }, { - "path": "pages/task/taskreceive", + "path": "pages/task/details", "style": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#57B5FF", @@ -48,7 +47,7 @@ } }, { - "path": "pages/index/index", + "path": "pages/task/taskreceive", "style": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#57B5FF", @@ -57,7 +56,7 @@ } }, { - "path": "pages/dadui/index/index", + "path": "pages/index/index", "style": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#57B5FF", @@ -65,6 +64,15 @@ "navigationBarTextStyle": "white" } }, + // { + // "path": "pages/dadui/index/index", + // "style": { + // "backgroundTextStyle": "light", + // "navigationBarBackgroundColor": "#57B5FF", + // "navigationBarTitleText": "消防一体化综合治理平台", + // "navigationBarTextStyle": "white" + // } + // }, { "path": "pages/user/user", "style": { diff --git a/pages/dadui/index/index.vue b/pages/dadui/index/index.vue index 06a34d6..b0e4b32 100644 --- a/pages/dadui/index/index.vue +++ b/pages/dadui/index/index.vue @@ -18,34 +18,34 @@ - + {{item}} - + - {{item.name}}任务总数{{nub}} + 任务总数{{countStat.statistics1.num}} - 完成 + 完成率: - {{item.tasknub+'/'+nub}}件 + {{countStat.statistics1.percentageComplete}}% 暂无任务 - + + + + + + + 救援站任务总数{{countStat.statistics2.num}} + + + + 完成率: + + + {{countStat.statistics2.percentageComplete}}% + 暂无任务 + + + + + + + + + + + + + + {{item.name}}-------{{item.value}}个 + + + + + + + + + + 检察员任务总数{{countStat.statistics3.num}} + + + + 完成率: + + + {{countStat.statistics3.percentageComplete}}% + 暂无任务 + + + + + + + + + + + + + + {{item.name}}-------{{item.value}}个 + + + + @@ -128,7 +194,7 @@ --> - + - - - {{item.tag.text}} + + + 检查时间: + {{item.checkTime}} + + - - - {{item.type}} - - - {{item.result}} - - - - - 人员: - 张三 - 李四 + + + - - + + + + {{item.inspectionResult}} - --> + - + + + + + + diff --git a/pages/demo/demo.vue b/pages/demo/demo.vue index 5ed5d05..8924082 100644 --- a/pages/demo/demo.vue +++ b/pages/demo/demo.vue @@ -86,8 +86,8 @@ // ass() }, aaa() { - uni.setStorageSync('aabb', this.age) - + uni.navigateBack(1) + }, bbb() { this.$request.uploadFile(this.age.imgShow, (data, res) => { diff --git a/pages/index/index.vue b/pages/index/index.vue index 877d021..679a586 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,387 +1,39 @@ + + diff --git a/pages/task/taskapply.vue b/pages/task/taskapply.vue index 3cc559f..48c5937 100644 --- a/pages/task/taskapply.vue +++ b/pages/task/taskapply.vue @@ -459,7 +459,7 @@ bottom: 0; left: 0; width: 100%; - height: 600rpx; + height: 800rpx; .item_top { height: 60rpx; diff --git a/pages/task/taskreceive.vue b/pages/task/taskreceive.vue index 5cb69b8..19b7071 100644 --- a/pages/task/taskreceive.vue +++ b/pages/task/taskreceive.vue @@ -110,19 +110,7 @@ - + 申请时间: @@ -135,17 +123,15 @@ :class="{jiancha_color:item.approvalStatus=='通过'}"> 已{{item.approvalStatus}} - {{item.approvalStatus}} - - + --> + - + @@ -449,11 +435,13 @@ } this.$request.post('/api/PlanTasks/Approval/' + item.id + '?approvalStatus=' + '通过', null, (data, res) => { console.log(res); + this.getOrganizations() }) }, bohui(item) { this.$request.post('/api/PlanTasks/Approval/' + item.id + '?approvalStatus=' + '驳回', null, (data, res) => { console.log(res); + this.getOrganizations() }) }, start(item) { diff --git a/pages/user/changePassword/changePassword.vue b/pages/user/changePassword/changePassword.vue index bb1b369..11864df 100644 --- a/pages/user/changePassword/changePassword.vue +++ b/pages/user/changePassword/changePassword.vue @@ -28,7 +28,7 @@ - + @@ -49,7 +49,7 @@ }, methods: { - tuichu(){ + xiugai(){ if(this.list.truepassword!=this.list.newpassword){ return this.$alert.showError("两次输入不一致") } @@ -58,7 +58,12 @@ newPassword: this.list.newpassword } this.$request.patch('/api/Accounts/ChangePassword',bady,(data,res)=>{ - + console.log(res); + if(res){ + return this.$alert.showError(res) + }else{ + this.$auth.logout() + } }) } } diff --git a/static/091212.jpg b/static/091212.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6e95a8391d0b7ae9b7349a285b470ee9dd6095b GIT binary patch literal 6260 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.mixin({beforeCreate:r});else{var n=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[r].concat(e.init):r,n.call(this,e)}}function r(){var e=this.$options;e.store?this.$store="function"===typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}var r="undefined"!==typeof window?window:"undefined"!==typeof t?t:{},i=r.__VUE_DEVTOOLS_GLOBAL_HOOK__;function o(e){i&&(e._devtoolHook=i,i.emit("vuex:init",e),i.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,t){i.emit("vuex:mutation",e,t)}),{prepend:!0}),e.subscribeAction((function(e,t){i.emit("vuex:action",e,t)}),{prepend:!0}))}function a(e,t){return e.filter(t)[0]}function s(e,t){if(void 0===t&&(t=[]),null===e||"object"!==typeof e)return e;var n=a(t,(function(t){return t.original===e}));if(n)return n.copy;var r=Array.isArray(e)?[]:{};return t.push({original:e,copy:r}),Object.keys(e).forEach((function(n){r[n]=s(e[n],t)})),r}function c(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function l(e){return null!==e&&"object"===typeof e}function u(e){return e&&"function"===typeof e.then}function d(e,t){return function(){return e(t)}}var f=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"===typeof n?n():n)||{}},h={namespaced:{configurable:!0}};h.namespaced.get=function(){return!!this._rawModule.namespaced},f.prototype.addChild=function(e,t){this._children[e]=t},f.prototype.removeChild=function(e){delete this._children[e]},f.prototype.getChild=function(e){return this._children[e]},f.prototype.hasChild=function(e){return e in this._children},f.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},f.prototype.forEachChild=function(e){c(this._children,e)},f.prototype.forEachGetter=function(e){this._rawModule.getters&&c(this._rawModule.getters,e)},f.prototype.forEachAction=function(e){this._rawModule.actions&&c(this._rawModule.actions,e)},f.prototype.forEachMutation=function(e){this._rawModule.mutations&&c(this._rawModule.mutations,e)},Object.defineProperties(f.prototype,h);var p=function(e){this.register([],e,!1)};function g(e,t,n){if(t.update(n),n.modules)for(var r in n.modules){if(!t.getChild(r))return void 0;g(e.concat(r),t.getChild(r),n.modules[r])}}p.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},p.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return t=t.getChild(n),e+(t.namespaced?n+"/":"")}),"")},p.prototype.update=function(e){g([],this.root,e)},p.prototype.register=function(e,t,n){var r=this;void 0===n&&(n=!0);var i=new f(t,n);if(0===e.length)this.root=i;else{var o=this.get(e.slice(0,-1));o.addChild(e[e.length-1],i)}t.modules&&c(t.modules,(function(t,i){r.register(e.concat(i),t,n)}))},p.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],r=t.getChild(n);r&&r.runtime&&t.removeChild(n)},p.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return!!t&&t.hasChild(n)};var v;var m=function(e){var t=this;void 0===e&&(e={}),!v&&"undefined"!==typeof window&&window.Vue&&M(window.Vue);var n=e.plugins;void 0===n&&(n=[]);var r=e.strict;void 0===r&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new p(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new v,this._makeLocalGettersCache=Object.create(null);var i=this,a=this,s=a.dispatch,c=a.commit;this.dispatch=function(e,t){return s.call(i,e,t)},this.commit=function(e,t,n){return c.call(i,e,t,n)},this.strict=r;var l=this._modules.root.state;w(this,l,[],this._modules.root),A(this,l),n.forEach((function(e){return e(t)}));var u=void 0!==e.devtools?e.devtools:v.config.devtools;u&&o(this)},y={state:{configurable:!0}};function x(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function b(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;w(e,n,[],e._modules.root,!0),A(e,n,t)}function A(e,t,n){var r=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,o={};c(i,(function(t,n){o[n]=d(t,e),Object.defineProperty(e.getters,n,{get:function(){return e._vm[n]},enumerable:!0})}));var a=v.config.silent;v.config.silent=!0,e._vm=new v({data:{$$state:t},computed:o}),v.config.silent=a,e.strict&&C(e),r&&(n&&e._withCommit((function(){r._data.$$state=null})),v.nextTick((function(){return r.$destroy()})))}function w(e,t,n,r,i){var o=!n.length,a=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!o&&!i){var s=E(t,n.slice(0,-1)),c=n[n.length-1];e._withCommit((function(){v.set(s,c,r.state)}))}var l=r.context=O(e,a,n);r.forEachMutation((function(t,n){var r=a+n;k(e,r,t,l)})),r.forEachAction((function(t,n){var r=t.root?n:a+n,i=t.handler||t;S(e,r,i,l)})),r.forEachGetter((function(t,n){var r=a+n;P(e,r,t,l)})),r.forEachChild((function(r,o){w(e,t,n.concat(o),r,i)}))}function O(e,t,n){var r=""===t,i={dispatch:r?e.dispatch:function(n,r,i){var o=z(n,r,i),a=o.payload,s=o.options,c=o.type;return s&&s.root||(c=t+c),e.dispatch(c,a)},commit:r?e.commit:function(n,r,i){var o=z(n,r,i),a=o.payload,s=o.options,c=o.type;s&&s.root||(c=t+c),e.commit(c,a,s)}};return Object.defineProperties(i,{getters:{get:r?function(){return e.getters}:function(){return T(e,t)}},state:{get:function(){return E(e.state,n)}}}),i}function T(e,t){if(!e._makeLocalGettersCache[t]){var n={},r=t.length;Object.keys(e.getters).forEach((function(i){if(i.slice(0,r)===t){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return e.getters[i]},enumerable:!0})}})),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function k(e,t,n,r){var i=e._mutations[t]||(e._mutations[t]=[]);i.push((function(t){n.call(e,r.state,t)}))}function S(e,t,n,r){var i=e._actions[t]||(e._actions[t]=[]);i.push((function(t){var i=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},t);return u(i)||(i=Promise.resolve(i)),e._devtoolHook?i.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):i}))}function P(e,t,n,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(e){return n(r.state,r.getters,e.state,e.getters)})}function C(e){e._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function E(e,t){return t.reduce((function(e,t){return e[t]}),e)}function z(e,t,n){return l(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}function M(e){v&&e===v||(v=e,n(v))}y.state.get=function(){return this._vm._data.$$state},y.state.set=function(e){0},m.prototype.commit=function(e,t,n){var r=this,i=z(e,t,n),o=i.type,a=i.payload,s=(i.options,{type:o,payload:a}),c=this._mutations[o];c&&(this._withCommit((function(){c.forEach((function(e){e(a)}))})),this._subscribers.slice().forEach((function(e){return e(s,r.state)})))},m.prototype.dispatch=function(e,t){var n=this,r=z(e,t),i=r.type,o=r.payload,a={type:i,payload:o},s=this._actions[i];if(s){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(a,n.state)}))}catch(l){0}var c=s.length>1?Promise.all(s.map((function(e){return e(o)}))):s[0](o);return new Promise((function(e,t){c.then((function(t){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(a,n.state)}))}catch(l){0}e(t)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(t){return t.error(a,n.state,e)}))}catch(l){0}t(e)}))}))}},m.prototype.subscribe=function(e,t){return x(e,this._subscribers,t)},m.prototype.subscribeAction=function(e,t){var n="function"===typeof e?{before:e}:e;return x(n,this._actionSubscribers,t)},m.prototype.watch=function(e,t,n){var r=this;return this._watcherVM.$watch((function(){return e(r.state,r.getters)}),t,n)},m.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._vm._data.$$state=e}))},m.prototype.registerModule=function(e,t,n){void 0===n&&(n={}),"string"===typeof e&&(e=[e]),this._modules.register(e,t),w(this,this.state,e,this._modules.get(e),n.preserveState),A(this,this.state)},m.prototype.unregisterModule=function(e){var t=this;"string"===typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var n=E(t.state,e.slice(0,-1));v.delete(n,e[e.length-1])})),b(this)},m.prototype.hasModule=function(e){return"string"===typeof e&&(e=[e]),this._modules.isRegistered(e)},m.prototype[[104,111,116,85,112,100,97,116,101].map((function(e){return String.fromCharCode(e)})).join("")]=function(e){this._modules.update(e),b(this,!0)},m.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(m.prototype,y);var D=N((function(e,t){var n={};return R(t).forEach((function(t){var r=t.key,i=t.val;n[r]=function(){var t=this.$store.state,n=this.$store.getters;if(e){var r=j(this.$store,"mapState",e);if(!r)return;t=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,t,n):t[i]},n[r].vuex=!0})),n})),I=N((function(e,t){var n={};return R(t).forEach((function(t){var r=t.key,i=t.val;n[r]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var r=this.$store.commit;if(e){var o=j(this.$store,"mapMutations",e);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(t)):r.apply(this.$store,[i].concat(t))}})),n})),L=N((function(e,t){var n={};return R(t).forEach((function(t){var r=t.key,i=t.val;i=e+i,n[r]=function(){if(!e||j(this.$store,"mapGetters",e))return this.$store.getters[i]},n[r].vuex=!0})),n})),F=N((function(e,t){var n={};return R(t).forEach((function(t){var r=t.key,i=t.val;n[r]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var r=this.$store.dispatch;if(e){var o=j(this.$store,"mapActions",e);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(t)):r.apply(this.$store,[i].concat(t))}})),n})),_=function(e){return{mapState:D.bind(null,e),mapGetters:L.bind(null,e),mapMutations:I.bind(null,e),mapActions:F.bind(null,e)}};function R(e){return B(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}})):[]}function B(e){return Array.isArray(e)||l(e)}function N(e){return function(t,n){return"string"!==typeof t?(n=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,n)}}function j(e,t,n){var r=e._modulesNamespaceMap[n];return r}function U(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var n=e.filter;void 0===n&&(n=function(e,t,n){return!0});var r=e.transformer;void 0===r&&(r=function(e){return e});var i=e.mutationTransformer;void 0===i&&(i=function(e){return e});var o=e.actionFilter;void 0===o&&(o=function(e,t){return!0});var a=e.actionTransformer;void 0===a&&(a=function(e){return e});var c=e.logMutations;void 0===c&&(c=!0);var l=e.logActions;void 0===l&&(l=!0);var u=e.logger;return void 0===u&&(u=console),function(e){var d=s(e.state);"undefined"!==typeof u&&(c&&e.subscribe((function(e,o){var a=s(o);if(n(e,d,a)){var c=W(),l=i(e),f="mutation "+e.type+c;J(u,f,t),u.log("%c prev state","color: #9E9E9E; font-weight: bold",r(d)),u.log("%c mutation","color: #03A9F4; font-weight: bold",l),u.log("%c next state","color: #4CAF50; font-weight: bold",r(a)),Z(u)}d=a})),l&&e.subscribeAction((function(e,n){if(o(e,n)){var r=W(),i=a(e),s="action "+e.type+r;J(u,s,t),u.log("%c action","color: #03A9F4; font-weight: bold",i),Z(u)}})))}}function J(e,t,n){var r=n?e.groupCollapsed:e.group;try{r.call(e,t)}catch(i){e.log(t)}}function Z(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function W(){var e=new Date;return" @ "+K(e.getHours(),2)+":"+K(e.getMinutes(),2)+":"+K(e.getSeconds(),2)+"."+K(e.getMilliseconds(),3)}function q(e,t){return new Array(t+1).join(e)}function K(e,t){return q("0",t-e.toString().length)+e}var Q={Store:m,install:M,version:"3.6.2",mapState:D,mapMutations:I,mapGetters:L,mapActions:F,createNamespacedHelpers:_,createLogger:U};e.exports=Q}).call(this,n("c8ba"))},"37dc":function(e,t,n){"use strict";(function(e,n){function r(e,t){return c(e)||s(e,t)||o(e,t)||i()}function i(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(e,t){if(e){if("string"===typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:p;if(!t)return[e];var r=this._caches[e];return r||(r=y(e,n),this._caches[e]=r),x(r,t)}}]),e}();t.Formatter=g;var v=/^(?:\d)+/,m=/^(?:\w)+/;function y(e,t){var n=r(t,2),i=n[0],o=n[1],a=[],s=0,c="";while(s-1?b:e.indexOf("-hant")>-1||C(e,["-tw","-hk","-mo","-cht"])?A:b;var n=E(e,[w,O,T]);return n||void 0}}var M=function(){function e(t){var n=t.locale,r=t.fallbackLocale,i=t.messages,o=t.watcher,a=t.formater;l(this,e),this.locale=w,this.fallbackLocale=w,this.message={},this.messages={},this.watchers=[],r&&(this.fallbackLocale=r),this.formater=a||P,this.messages=i||{},this.setLocale(n||w),o&&this.watchLocale(o)}return d(e,[{key:"setLocale",value:function(e){var t=this,n=this.locale;this.locale=z(e,this.messages)||this.fallbackLocale,this.messages[this.locale]||(this.messages[this.locale]={}),this.message=this.messages[this.locale],n!==this.locale&&this.watchers.forEach((function(e){e(t.locale,n)}))}},{key:"getLocale",value:function(){return this.locale}},{key:"watchLocale",value:function(e){var t=this,n=this.watchers.push(e)-1;return function(){t.watchers.splice(n,1)}}},{key:"add",value:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=this.messages[e];r?n?Object.assign(r,t):Object.keys(t).forEach((function(e){S(r,e)||(r[e]=t[e])})):this.messages[e]=t}},{key:"f",value:function(e,t,n){return this.formater.interpolate(e,t,n).join("")}},{key:"t",value:function(e,t,n){var r=this.message;return"string"===typeof t?(t=z(t,this.messages),t&&(r=this.messages[t])):n=t,S(r,e)?this.formater.interpolate(r[e],n).join(""):(console.warn("Cannot translate the value of keypath ".concat(e,". Use the value of keypath as default.")),e)}}]),e}();function D(e,t){e.$watchLocale?e.$watchLocale((function(e){t.setLocale(e)})):e.$watch((function(){return e.$locale}),(function(e){t.setLocale(e)}))}function I(){return"undefined"!==typeof e&&e.getLocale?e.getLocale():"undefined"!==typeof n&&n.getLocale?n.getLocale():w}function L(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0;if("string"!==typeof e){var i=[t,e];e=i[0],t=i[1]}"string"!==typeof e&&(e=I()),"string"!==typeof n&&(n="undefined"!==typeof __uniConfig&&__uniConfig.fallbackLocale||w);var o=new M({locale:e,fallbackLocale:n,messages:t,watcher:r}),a=function(e,t){if("function"!==typeof getApp)a=function(e,t){return o.t(e,t)};else{var n=!1;a=function(e,t){var r=getApp().$vm;return r&&(r.$locale,n||(n=!0,D(r,o))),o.t(e,t)}}return a(e,t)};return{i18n:o,f:function(e,t,n){return o.f(e,t,n)},t:function(e,t){return a(e,t)},add:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return o.add(e,t,n)},watch:function(e){return o.watchLocale(e)},getLocale:function(){return o.getLocale()},setLocale:function(e){return o.setLocale(e)}}}t.I18n=M;var F,_=function(e){return"string"===typeof e};function R(e,t){return F||(F=new g),W(e,(function(e,n){var r=e[n];return _(r)?!!j(r,t)||void 0:R(r,t)}))}function B(e,t,n){return F||(F=new g),W(e,(function(e,r){var i=e[r];_(i)?j(i,n)&&(e[r]=U(i,t,n)):B(i,t,n)})),e}function N(e,t){var n=t.locale,r=t.locales,i=t.delimiters;if(!j(e,i))return e;F||(F=new g);var o=[];Object.keys(r).forEach((function(e){e!==n&&o.push({locale:e,values:r[e]})})),o.unshift({locale:n,values:r[n]});try{return JSON.stringify(Z(JSON.parse(e),o,i),null,2)}catch(a){}return e}function j(e,t){return e.indexOf(t[0])>-1}function U(e,t,n){return F.interpolate(e,t,n).join("")}function J(e,t,n,r){var i=e[t];if(_(i)){if(j(i,r)&&(e[t]=U(i,n[0].values,r),n.length>1)){var o=e[t+"Locales"]={};n.forEach((function(e){o[e.locale]=U(i,e.values,r)}))}}else Z(i,n,r)}function Z(e,t,n){return W(e,(function(e,r){J(e,r,t,n)})),e}function W(e,t){if(f(e)){for(var n=0;n-1}))):t}}function K(e){var t=[],n=e.split("-");while(n.length)t.push(n.join("-")),n.pop();return t}t.isString=_}).call(this,n("543d")["default"],n("c8ba"))},3810:function(e,t){e.exports="data:image/png;base64,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"},"3df5":function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={showLoading:function(t){e.showToast({title:t,icon:"loading",duration:1e5})},hideLoading:function(t){e.hideToast()},showSuccess:function(t){e.showToast({title:t,icon:"success",duration:2e3})},showWarning:function(t){e.showToast({title:t,icon:"none",duration:2e3})},showError:function(t){e.showToast({title:t,icon:"none",duration:2e3})},askLogin:function(){e.showModal({title:"尚未登录",content:"前往授权登录页面吗?",success:function(t){console.log(t),t.confirm&&e.redirectTo({url:"/pages/login/login"})}})}},r=n;t.default=r}).call(this,n("543d")["default"])},4127:function(e,t,n){"use strict";var r=n("d233"),i=n("b313"),o={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Date.prototype.toISOString,s={delimiter:"&",encode:!0,encoder:r.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},c=function e(t,n,i,o,a,c,l,u,d,f,h,p){var g=t;if("function"===typeof l)g=l(n,g);else if(g instanceof Date)g=f(g);else if(null===g){if(o)return c&&!p?c(n,s.encoder):n;g=""}if("string"===typeof g||"number"===typeof g||"boolean"===typeof g||r.isBuffer(g)){if(c){var v=p?n:c(n,s.encoder);return[h(v)+"="+h(c(g,s.encoder))]}return[h(n)+"="+h(String(g))]}var m,y=[];if("undefined"===typeof g)return y;if(Array.isArray(l))m=l;else{var x=Object.keys(g);m=u?x.sort(u):x}for(var b=0;b0?P+S:""}},4328:function(e,t,n){"use strict";var r=n("4127"),i=n("9e6a"),o=n("b313");e.exports={formats:o,parse:i,stringify:r}},5125:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],i=function(e,t){var n=new Date;n.setTime(1e3*e);var r=n.getFullYear(),i=n.getMonth()+1;i=i<10?"0"+i:i;var o=n.getDate();o=o<10?"0"+o:o;var a=n.getHours();a=a<10?"0"+a:a;var s=n.getMinutes(),c=n.getSeconds();return s=s<10?"0"+s:s,c=c<10?"0"+c:c,"full"==t?r+"-"+i+"-"+o+" "+a+":"+s+":"+c:"y-m-d"==t?r+"-"+i+"-"+o:"h:m"==t?a+":"+s:"h:m:s"==t?a+":"+s+":"+c:[r,i,o,a,s,c]},o={type:["pie","ring","rose","word","funnel","map","arcbar","line","column","mount","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"],range:["饼状图","圆环图","玫瑰图","词云图","漏斗图","地图","圆弧进度条","折线图","柱状图","山峰图","条状图","区域图","雷达图","仪表盘","K线图","混合图","时间轴折线","时间轴区域","散点图","气泡图","自定义类型"],categories:["line","column","mount","bar","area","radar","gauge","candle","mix","demotype"],instance:{},option:{},formatter:{yAxisDemo1:function(e,t,n){return e+"元"},yAxisDemo2:function(e,t,n){return e.toFixed(2)},xAxisDemo1:function(e,t,n){return e+"年"},xAxisDemo2:function(e,t,n){return i(e,"h:m")},seriesDemo1:function(e,t,n,r){return e+"元"},tooltipDemo1:function(e,t,n,r){return 0==n?"随便用"+e.data+"年":"其他我没改"+e.data+"天"},pieDemo:function(e,t,n,r){if(void 0!==t)return n[t].name+":"+n[t].data+"元"}},demotype:{type:"line",color:r,padding:[15,10,0,15],xAxis:{disableGrid:!0},yAxis:{gridType:"dash",dashLength:2},legend:{},extra:{line:{type:"curve",width:2}}},pie:{type:"pie",color:r,padding:[5,5,5,5],extra:{pie:{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!0,borderWidth:3,borderColor:"#FFFFFF"}}},ring:{type:"ring",color:r,padding:[5,5,5,5],rotate:!1,dataLabel:!0,legend:{show:!0,position:"right",lineHeight:25},title:{name:"收益率",fontSize:15,color:"#666666"},subtitle:{name:"70%",fontSize:25,color:"#7cb5ec"},extra:{ring:{ringWidth:30,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!0,borderWidth:3,borderColor:"#FFFFFF"}}},rose:{type:"rose",color:r,padding:[5,5,5,5],legend:{show:!0,position:"left",lineHeight:25},extra:{rose:{type:"area",minRadius:50,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,borderWidth:2,borderColor:"#FFFFFF"}}},word:{type:"word",color:r,extra:{word:{type:"normal",autoColors:!1}}},funnel:{type:"funnel",color:r,padding:[15,15,0,15],extra:{funnel:{activeOpacity:.3,activeWidth:10,border:!0,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,labelAlign:"right"}}},map:{type:"map",color:r,padding:[0,0,0,0],dataLabel:!0,extra:{map:{border:!0,borderWidth:1,borderColor:"#666666",fillOpacity:.6,activeBorderColor:"#F04864",activeFillColor:"#FACC14",activeFillOpacity:1}}},arcbar:{type:"arcbar",color:r,title:{name:"百分比",fontSize:25,color:"#00FF00"},subtitle:{name:"默认标题",fontSize:15,color:"#666666"},extra:{arcbar:{type:"default",width:12,backgroundColor:"#E9E9E9",startAngle:.75,endAngle:.25,gap:2}}},line:{type:"line",color:r,padding:[15,10,0,15],xAxis:{disableGrid:!0},yAxis:{gridType:"dash",dashLength:2},legend:{},extra:{line:{type:"straight",width:2}}},tline:{type:"line",color:r,padding:[15,10,0,15],xAxis:{disableGrid:!1,boundaryGap:"justify"},yAxis:{gridType:"dash",dashLength:2,data:[{min:0,max:80}]},legend:{},extra:{line:{type:"curve",width:2}}},tarea:{type:"area",color:r,padding:[15,10,0,15],xAxis:{disableGrid:!0,boundaryGap:"justify"},yAxis:{gridType:"dash",dashLength:2,data:[{min:0,max:80}]},legend:{},extra:{area:{type:"curve",opacity:.2,addLine:!0,width:2,gradient:!0}}},column:{type:"column",color:r,padding:[15,15,0,5],xAxis:{disableGrid:!0},yAxis:{data:[{min:0}]},legend:{},extra:{column:{type:"group",width:30,activeBgColor:"#000000",activeBgOpacity:.08}}},mount:{type:"mount",color:r,padding:[15,15,0,5],xAxis:{disableGrid:!0},yAxis:{data:[{min:0}]},legend:{},extra:{mount:{type:"mount",widthRatio:1.5}}},bar:{type:"bar",color:r,padding:[15,30,0,5],xAxis:{boundaryGap:"justify",disableGrid:!1,min:0,axisLine:!1},yAxis:{},legend:{},extra:{bar:{type:"group",width:30,meterBorde:1,meterFillColor:"#FFFFFF",activeBgColor:"#000000",activeBgOpacity:.08}}},area:{type:"area",color:r,padding:[15,15,0,15],xAxis:{disableGrid:!0},yAxis:{gridType:"dash",dashLength:2},legend:{},extra:{area:{type:"straight",opacity:.2,addLine:!0,width:2,gradient:!1}}},radar:{type:"radar",color:r,padding:[5,5,5,5],dataLabel:!1,legend:{show:!0,position:"right",lineHeight:25},extra:{radar:{gridType:"radar",gridColor:"#CCCCCC",gridCount:3,opacity:.2,max:200}}},gauge:{type:"gauge",color:r,title:{name:"66Km/H",fontSize:25,color:"#2fc25b",offsetY:50},subtitle:{name:"实时速度",fontSize:15,color:"#1890ff",offsetY:-50},extra:{gauge:{type:"default",width:30,labelColor:"#666666",startAngle:.75,endAngle:.25,startNumber:0,endNumber:100,labelFormat:"",splitLine:{fixRadius:0,splitNumber:10,width:30,color:"#FFFFFF",childNumber:5,childWidth:12},pointer:{width:24,color:"auto"}}}},candle:{type:"candle",color:r,padding:[15,15,0,15],enableScroll:!0,enableMarkLine:!0,dataLabel:!1,xAxis:{labelCount:4,itemCount:40,disableGrid:!0,gridColor:"#CCCCCC",gridType:"solid",dashLength:4,scrollShow:!0,scrollAlign:"left",scrollColor:"#A6A6A6",scrollBackgroundColor:"#EFEBEF"},yAxis:{},legend:{},extra:{candle:{color:{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},average:{show:!0,name:["MA5","MA10","MA30"],day:[5,10,20],color:["#1890ff","#2fc25b","#facc14"]}},markLine:{type:"dash",dashLength:5,data:[{value:2150,lineColor:"#f04864",showLabel:!0},{value:2350,lineColor:"#f04864",showLabel:!0}]}}},mix:{type:"mix",color:r,padding:[15,15,0,15],xAxis:{disableGrid:!0},yAxis:{disabled:!1,disableGrid:!1,splitNumber:5,gridType:"dash",dashLength:4,gridColor:"#CCCCCC",padding:10,showTitle:!0,data:[]},legend:{},extra:{mix:{column:{width:20}}}},scatter:{type:"scatter",color:r,padding:[15,15,0,15],dataLabel:!1,xAxis:{disableGrid:!1,gridType:"dash",splitNumber:5,boundaryGap:"justify",min:0},yAxis:{disableGrid:!1,gridType:"dash"},legend:{},extra:{scatter:{}}},bubble:{type:"bubble",color:r,padding:[15,15,0,15],xAxis:{disableGrid:!1,gridType:"dash",splitNumber:5,boundaryGap:"justify",min:0,max:250},yAxis:{disableGrid:!1,gridType:"dash",data:[{min:0,max:150}]},legend:{},extra:{bubble:{border:2,opacity:.5}}}},a=o;t.default=a},"543d":function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.createApp=zn,t.createComponent=Jn,t.createPage=Un,t.createPlugin=Wn,t.createSubpackageApp=Zn,t.default=void 0;var r,i=n("37dc"),o=a(n("66fd"));function a(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n-1},e.prototype.uniIDHasPermission=function(e){var t=O(),n=t.permission;return this.uniIDHasRole("admin")||n.indexOf(e)>-1},e.prototype.uniIDTokenValid=function(){var e=O(),t=e.tokenExpired;return t>Date.now()}}r="function"!==typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!A.test(e))throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");var t;e+="==".slice(2-(3&e.length));for(var n,r,i="",o=0;o>16&255):64===r?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return i}:atob;var k=Object.prototype.toString,S=Object.prototype.hasOwnProperty;function P(e){return"function"===typeof e}function C(e){return"string"===typeof e}function E(e){return"[object Object]"===k.call(e)}function z(e,t){return S.call(e,t)}function M(){}function D(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}var I=/-(\w)/g,L=D((function(e){return e.replace(I,(function(e,t){return t?t.toUpperCase():""}))}));function F(e){var t={};return E(e)&&Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),Object.keys(t)?t:e}var _=["invoke","success","fail","complete","returnValue"],R={},B={};function N(e,t){var n=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?j(n):n}function j(e){for(var t=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:{};return["success","fail","complete"].forEach((function(n){if(Array.isArray(e[n])){var r=t[n];t[n]=function(t){V(e[n],t).then((function(e){return P(r)&&r(e)||e}))}}})),t}function H(e,t){var n=[];Array.isArray(R.returnValue)&&n.push.apply(n,p(R.returnValue));var r=B[e];return r&&Array.isArray(r.returnValue)&&n.push.apply(n,p(r.returnValue)),n.forEach((function(e){t=e(t)||t})),t}function X(e){var t=Object.create(null);Object.keys(R).forEach((function(e){"returnValue"!==e&&(t[e]=R[e].slice())}));var n=B[e];return n&&Object.keys(n).forEach((function(e){"returnValue"!==e&&(t[e]=(t[e]||[]).concat(n[e]))})),t}function Y(e,t,n){for(var r=arguments.length,i=new Array(r>3?r-3:0),o=3;o0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length,i=new Array(r>1?r-1:0),o=1;o-1?xe:e.indexOf("-hant")>-1||ze(e,["-tw","-hk","-mo","-cht"])?be:xe;var n=Me(e,[Ae,we,Oe]);return n||void 0}}function Ie(){var e=getApp({allowDefault:!0});return e&&e.$vm?e.$vm.$locale:De(wx.getSystemInfoSync().language)||Ae}function Le(e){var t=getApp();if(!t)return!1;var n=t.$vm.$locale;return n!==e&&(t.$vm.$locale=e,Fe.forEach((function(t){return t({locale:e})})),!0)}var Fe=[];function _e(e){-1===Fe.indexOf(e)&&Fe.push(e)}"undefined"!==typeof e&&(e.getLocale=Ie);var Re={promiseInterceptor:$},Be=Object.freeze({__proto__:null,upx2px:me,getLocale:Ie,setLocale:Le,onLocaleChange:_e,addInterceptor:W,removeInterceptor:q,interceptors:Re});function Ne(e){var t=getCurrentPages(),n=t.length;while(n--){var r=t[n];if(r.$page&&r.$page.fullPath===e)return n}return-1}var je,Ue={name:function(e){return"back"===e.exists&&e.delta?"navigateBack":"redirectTo"},args:function(e){if("back"===e.exists&&e.url){var t=Ne(e.url);if(-1!==t){var n=getCurrentPages().length-1-t;n>0&&(e.delta=n)}}}},Je={args:function(e){var t=parseInt(e.current);if(!isNaN(t)){var n=e.urls;if(Array.isArray(n)){var r=n.length;if(r)return t<0?t=0:t>=r&&(t=r-1),t>0?(e.current=n[t],e.urls=n.filter((function(e,r){return!(r2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(E(t)){var o=!0===i?t:{};for(var a in P(n)&&(n=n(t,o)||{}),t)if(z(n,a)){var s=n[a];P(s)&&(s=s(t[a],t,o)),s?C(s)?o[s]=t[a]:E(s)&&(o[s.name?s.name:a]=s.value):console.warn("The '".concat(e,"' method of platform '微信小程序' does not support option '").concat(a,"'"))}else-1!==at.indexOf(a)?P(t[a])&&(o[a]=st(e,t[a],r)):i||(o[a]=t[a]);return o}return P(t)&&(t=st(e,t,r)),t}function lt(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return P(rt.returnValue)&&(t=rt.returnValue(e,t)),ct(e,t,n,{},r)}function ut(e,t){if(z(rt,e)){var n=rt[e];return n?function(t,r){var i=n;P(n)&&(i=n(t)),t=ct(e,t,i.args,i.returnValue);var o=[t];"undefined"!==typeof r&&o.push(r),P(i.name)?e=i.name(t):C(i.name)&&(e=i.name);var a=wx[e].apply(wx,o);return ae(e)?lt(e,a,i.returnValue,oe(e)):a}:function(){console.error("Platform '微信小程序' does not support '".concat(e,"'."))}}return t}var dt=Object.create(null),ft=["onTabBarMidButtonTap","subscribePush","unsubscribePush","onPush","offPush","share"];function ht(e){return function(t){var n=t.fail,r=t.complete,i={errMsg:"".concat(e,":fail method '").concat(e,"' not supported")};P(n)&&n(i),P(r)&&r(i)}}ft.forEach((function(e){dt[e]=ht(e)}));var pt={oauth:["weixin"],share:["weixin"],payment:["wxpay"],push:["weixin"]};function gt(e){var t=e.service,n=e.success,r=e.fail,i=e.complete,o=!1;pt[t]?(o={errMsg:"getProvider:ok",service:t,provider:pt[t]},P(n)&&n(o)):(o={errMsg:"getProvider:fail service not found"},P(r)&&r(o)),P(i)&&i(o)}var vt=Object.freeze({__proto__:null,getProvider:gt}),mt=function(){var e;return function(){return e||(e=new o.default),e}}();function yt(e,t,n){return e[t].apply(e,n)}function xt(){return yt(mt(),"$on",Array.prototype.slice.call(arguments))}function bt(){return yt(mt(),"$off",Array.prototype.slice.call(arguments))}function At(){return yt(mt(),"$once",Array.prototype.slice.call(arguments))}function wt(){return yt(mt(),"$emit",Array.prototype.slice.call(arguments))}var Ot,Tt,kt,St=Object.freeze({__proto__:null,$on:xt,$off:bt,$once:At,$emit:wt});function Pt(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}function Ct(e){var t={};for(var n in e){var r=e[n];P(r)&&(t[n]=Pt(r),delete e[n])}return t}function Et(e){try{return JSON.parse(e)}catch(t){}return e}function zt(e){if("enabled"===e.type)kt=!0;else if("clientId"===e.type)Ot=e.cid,Tt=e.errMsg,Dt(Ot,e.errMsg);else if("pushMsg"===e.type)for(var t={type:"receive",data:Et(e.message)},n=0;n-1&&Lt.splice(t,1)}else Lt.length=0},Rt=Object.freeze({__proto__:null,getPushClientId:It,onPushMessage:Ft,offPushMessage:_t,invokePushCallback:zt}),Bt=Page,Nt=Component,jt=/:/g,Ut=D((function(e){return L(e.replace(jt,"-"))}));function Jt(e){var t=e.triggerEvent,n=function(n){for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:{};return Zt("onLoad",e),Bt(e)},Page.after=Bt.after,Component=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Zt("created",e),Nt(e)});var Wt=["onPullDownRefresh","onReachBottom","onAddToFavorites","onShareTimeline","onShareAppMessage","onPageScroll","onResize","onTabItemTap"];function qt(e,t){var n=e.$mp[e.mpType];t.forEach((function(t){z(n,t)&&(e[t]=n[t])}))}function Kt(e,t){if(!t)return!0;if(o.default.options&&Array.isArray(o.default.options[e]))return!0;if(t=t.default||t,P(t))return!!P(t.extendOptions[e])||!!(t.super&&t.super.options&&Array.isArray(t.super.options[e]));if(P(t[e]))return!0;var n=t.mixins;return Array.isArray(n)?!!n.find((function(t){return Kt(e,t)})):void 0}function Qt(e,t,n){t.forEach((function(t){Kt(t,n)&&(e[t]=function(e){return this.$vm&&this.$vm.__call_hook(t,e)})}))}function Vt(e,t){var n;return t=t.default||t,n=P(t)?t:e.extend(t),t=n.options,[n,t]}function Gt(e,t){if(Array.isArray(t)&&t.length){var n=Object.create(null);t.forEach((function(e){n[e]=!0})),e.$scopedSlots=e.$slots=n}}function Ht(e,t){e=(e||"").split(",");var n=e.length;1===n?t._$vueId=e[0]:2===n&&(t._$vueId=e[0],t._$vuePid=e[1])}function Xt(e,t){var n=e.data||{},r=e.methods||{};if("function"===typeof n)try{n=n.call(t)}catch(i){Object({NODE_ENV:"production",VUE_APP_NAME:"Jinan_app",VUE_APP_PLATFORM:"mp-weixin",BASE_URL:"/"}).VUE_APP_DEBUG&&console.warn("根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。",n)}else try{n=JSON.parse(JSON.stringify(n))}catch(i){}return E(n)||(n={}),Object.keys(r).forEach((function(e){-1!==t.__lifecycle_hooks__.indexOf(e)||z(n,e)||(n[e]=r[e])})),n}var Yt=[String,Number,Boolean,Object,Array,null];function $t(e){return function(t,n){this.$vm&&(this.$vm[e]=t)}}function en(e,t){var n=e.behaviors,r=e.extends,i=e.mixins,o=e.props;o||(e.props=o=[]);var a=[];return Array.isArray(n)&&n.forEach((function(e){a.push(e.replace("uni://","wx".concat("://"))),"uni://form-field"===e&&(Array.isArray(o)?(o.push("name"),o.push("value")):(o.name={type:String,default:""},o.value={type:[String,Number,Boolean,Array,Object,Date],default:""}))})),E(r)&&r.props&&a.push(t({properties:nn(r.props,!0)})),Array.isArray(i)&&i.forEach((function(e){E(e)&&e.props&&a.push(t({properties:nn(e.props,!0)}))})),a}function tn(e,t,n,r){return Array.isArray(t)&&1===t.length?t[0]:t}function nn(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>3?arguments[3]:void 0,r={};return t||(r.vueId={type:String,value:""},n.virtualHost&&(r.virtualHostStyle={type:null,value:""},r.virtualHostClass={type:null,value:""}),r.scopedSlotsCompiler={type:String,value:""},r.vueSlots={type:null,value:[],observer:function(e,t){var n=Object.create(null);e.forEach((function(e){n[e]=!0})),this.setData({$slots:n})}}),Array.isArray(e)?e.forEach((function(e){r[e]={type:null,observer:$t(e)}})):E(e)&&Object.keys(e).forEach((function(t){var n=e[t];if(E(n)){var i=n.default;P(i)&&(i=i()),n.type=tn(t,n.type),r[t]={type:-1!==Yt.indexOf(n.type)?n.type:null,value:i,observer:$t(t)}}else{var o=tn(t,n);r[t]={type:-1!==Yt.indexOf(o)?o:null,observer:$t(t)}}})),r}function rn(e){try{e.mp=JSON.parse(JSON.stringify(e))}catch(t){}return e.stopPropagation=M,e.preventDefault=M,e.target=e.target||{},z(e,"detail")||(e.detail={}),z(e,"markerId")&&(e.detail="object"===typeof e.detail?e.detail:{},e.detail.markerId=e.markerId),E(e.detail)&&(e.target=Object.assign({},e.target,e.detail)),e}function on(e,t){var n=e;return t.forEach((function(t){var r=t[0],i=t[2];if(r||"undefined"!==typeof i){var o,a=t[1],s=t[3];Number.isInteger(r)?o=r:r?"string"===typeof r&&r&&(o=0===r.indexOf("#s#")?r.substr(3):e.__get_value(r,n)):o=n,Number.isInteger(o)?n=i:a?Array.isArray(o)?n=o.find((function(t){return e.__get_value(a,t)===i})):E(o)?n=Object.keys(o).find((function(t){return e.__get_value(a,o[t])===i})):console.error("v-for 暂不支持循环数据:",o):n=o[i],s&&(n=e.__get_value(s,n))}})),n}function an(e,t,n){var r={};return Array.isArray(t)&&t.length&&t.forEach((function(t,i){"string"===typeof t?t?"$event"===t?r["$"+i]=n:"arguments"===t?n.detail&&n.detail.__args__?r["$"+i]=n.detail.__args__:r["$"+i]=[n]:0===t.indexOf("$event.")?r["$"+i]=e.__get_value(t.replace("$event.",""),n):r["$"+i]=e.__get_value(t):r["$"+i]=e:r["$"+i]=on(e,t)})),r}function sn(e){for(var t={},n=1;n2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],i=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,a=!1;if(i&&(a=t.currentTarget&&t.currentTarget.dataset&&"wx"===t.currentTarget.dataset.comType,!n.length))return a?[t]:t.detail.__args__||t.detail;var s=an(e,r,t),c=[];return n.forEach((function(e){"$event"===e?"__set_model"!==o||i?i&&!a?c.push(t.detail.__args__[0]):c.push(t):c.push(t.target.value):Array.isArray(e)&&"o"===e[0]?c.push(sn(e)):"string"===typeof e&&z(s,e)?c.push(s[e]):c.push(e)})),c}var ln="~",un="^";function dn(e,t){return e===t||"regionchange"===t&&("begin"===e||"end"===e)}function fn(e){var t=e.$parent;while(t&&t.$parent&&(t.$options.generic||t.$parent.$options.generic||t.$scope._$vuePid))t=t.$parent;return t&&t.$parent}function hn(e){var t=this;e=rn(e);var n=(e.currentTarget||e.target).dataset;if(!n)return console.warn("事件信息不存在");var r=n.eventOpts||n["event-opts"];if(!r)return console.warn("事件信息不存在");var i=e.type,o=[];return r.forEach((function(n){var r=n[0],a=n[1],s=r.charAt(0)===un;r=s?r.slice(1):r;var c=r.charAt(0)===ln;r=c?r.slice(1):r,a&&dn(i,r)&&a.forEach((function(n){var r=n[0];if(r){var i=t.$vm;if(i.$options.generic&&(i=fn(i)||i),"$emit"===r)return void i.$emit.apply(i,cn(t.$vm,e,n[1],n[2],s,r));var a=i[r];if(!P(a)){var l="page"===t.$vm.mpType?"Page":"Component",u=t.route||t.is;throw new Error("".concat(l,' "').concat(u,'" does not have a method "').concat(r,'"'))}if(c){if(a.once)return;a.once=!0}var d=cn(t.$vm,e,n[1],n[2],s,r);d=Array.isArray(d)?d:[],/=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(a.toString())&&(d=d.concat([,,,,,,,,,,e])),o.push(a.apply(i,d))}}))})),"input"===i&&1===o.length&&"undefined"!==typeof o[0]?o[0]:void 0}var pn={},gn=[];function vn(e){if(e){var t=pn[e];return delete pn[e],t}return gn.shift()}var mn=["onShow","onHide","onError","onPageNotFound","onThemeChange","onUnhandledRejection"];function yn(){o.default.prototype.getOpenerEventChannel=function(){return this.$scope.getOpenerEventChannel()};var e=o.default.prototype.__call_hook;o.default.prototype.__call_hook=function(t,n){return"onLoad"===t&&n&&n.__id__&&(this.__eventChannel__=vn(n.__id__),delete n.__id__),e.call(this,t,n)}}function xn(){var e={},t={};o.default.prototype.$hasScopedSlotsParams=function(n){var r=e[n];return r||(t[n]=this,this.$on("hook:destroyed",(function(){delete t[n]}))),r},o.default.prototype.$getScopedSlotsParams=function(n,r,i){var o=e[n];if(o){var a=o[r]||{};return i?a[i]:a}t[n]=this,this.$on("hook:destroyed",(function(){delete t[n]}))},o.default.prototype.$setScopedSlotsParams=function(n,r){var i=this.$options.propsData.vueId;if(i){var o=i.split(",")[0],a=e[o]=e[o]||{};a[n]=r,t[o]&&t[o].$forceUpdate()}},o.default.mixin({destroyed:function(){var n=this.$options.propsData,r=n&&n.vueId;r&&(delete e[r],delete t[r])}})}function bn(e,t){var n=t.mocks,r=t.initRefs;yn(),xn(),e.$options.store&&(o.default.prototype.$store=e.$options.store),T(o.default),o.default.prototype.mpHost="mp-weixin",o.default.mixin({beforeCreate:function(){if(this.$options.mpType){if(this.mpType=this.$options.mpType,this.$mp=h({data:{}},this.mpType,this.$options.mpInstance),this.$scope=this.$options.mpInstance,delete this.$options.mpType,delete this.$options.mpInstance,"page"===this.mpType&&"function"===typeof getApp){var e=getApp();e.$vm&&e.$vm.$i18n&&(this._i18n=e.$vm.$i18n)}"app"!==this.mpType&&(r(this),qt(this,n))}}});var i={onLaunch:function(t){this.$vm||(wx.canIUse&&!wx.canIUse("nextTick")&&console.error("当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上"),this.$vm=e,this.$vm.$mp={app:this},this.$vm.$scope=this,this.$vm.globalData=this.globalData,this.$vm._isMounted=!0,this.$vm.__call_hook("mounted",t),this.$vm.__call_hook("onLaunch",t))}};i.globalData=e.$options.globalData||{};var a=e.$options.methods;return a&&Object.keys(a).forEach((function(e){i[e]=a[e]})),Ce(o.default,e,De(wx.getSystemInfoSync().language)||Ae),Qt(i,mn),i}var An=["__route__","__wxExparserNodeId__","__wxWebviewId__"];function wn(e,t){for(var n,r=e.$children,i=r.length-1;i>=0;i--){var o=r[i];if(o.$scope._$vueId===t)return o}for(var a=r.length-1;a>=0;a--)if(n=wn(r[a],t),n)return n}function On(e){return Behavior(e)}function Tn(){return!!this.route}function kn(e){this.triggerEvent("__l",e)}function Sn(e,t,n){var r=e.selectAllComponents(t);r.forEach((function(e){var r=e.dataset.ref;n[r]=e.$vm||e,"scoped"===e.dataset.vueGeneric&&e.selectAllComponents(".scoped-ref").forEach((function(e){Sn(e,t,n)}))}))}function Pn(e){var t=e.$scope;Object.defineProperty(e,"$refs",{get:function(){var e={};Sn(t,".vue-ref",e);var n=t.selectAllComponents(".vue-ref-in-for");return n.forEach((function(t){var n=t.dataset.ref;e[n]||(e[n]=[]),e[n].push(t.$vm||t)})),e}})}function Cn(e){var t,n=e.detail||e.value,r=n.vuePid,i=n.vueOptions;r&&(t=wn(this.$vm,r)),t||(t=this.$vm),i.parent=t}function En(e){return bn(e,{mocks:An,initRefs:Pn})}function zn(e){return App(En(e)),e}var Mn=/[!'()*]/g,Dn=function(e){return"%"+e.charCodeAt(0).toString(16)},In=/%2C/g,Ln=function(e){return encodeURIComponent(e).replace(Mn,Dn).replace(In,",")};function Fn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ln,n=e?Object.keys(e).map((function(n){var r=e[n];if(void 0===r)return"";if(null===r)return t(n);if(Array.isArray(r)){var i=[];return r.forEach((function(e){void 0!==e&&(null===e?i.push(t(n)):i.push(t(n)+"="+t(e)))})),i.join("&")}return t(n)+"="+t(r)})).filter((function(e){return e.length>0})).join("&"):null;return n?"?".concat(n):""}function _n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isPage,r=t.initRelation,i=Vt(o.default,e),a=l(i,2),s=a[0],u=a[1],d=c({multipleSlots:!0,addGlobalClass:!0},u.options||{});u["mp-weixin"]&&u["mp-weixin"].options&&Object.assign(d,u["mp-weixin"].options);var f={options:d,data:Xt(u,o.default.prototype),behaviors:en(u,On),properties:nn(u.props,!1,u.__file,d),lifetimes:{attached:function(){var e=this.properties,t={mpType:n.call(this)?"page":"component",mpInstance:this,propsData:e};Ht(e.vueId,this),r.call(this,{vuePid:this._$vuePid,vueOptions:t}),this.$vm=new s(t),Gt(this.$vm,e.vueSlots),this.$vm.$mount()},ready:function(){this.$vm&&(this.$vm._isMounted=!0,this.$vm.__call_hook("mounted"),this.$vm.__call_hook("onReady"))},detached:function(){this.$vm&&this.$vm.$destroy()}},pageLifetimes:{show:function(e){this.$vm&&this.$vm.__call_hook("onPageShow",e)},hide:function(){this.$vm&&this.$vm.__call_hook("onPageHide")},resize:function(e){this.$vm&&this.$vm.__call_hook("onPageResize",e)}},methods:{__l:Cn,__e:hn}};return u.externalClasses&&(f.externalClasses=u.externalClasses),Array.isArray(u.wxsCallMethods)&&u.wxsCallMethods.forEach((function(e){f.methods[e]=function(t){return this.$vm[e](t)}})),n?f:[f,s]}function Rn(e){return _n(e,{isPage:Tn,initRelation:kn})}var Bn=["onShow","onHide","onUnload"];function Nn(e,t){t.isPage,t.initRelation;var n=Rn(e);return Qt(n.methods,Bn,e),n.methods.onLoad=function(e){this.options=e;var t=Object.assign({},e);delete t.__id__,this.$page={fullPath:"/"+(this.route||this.is)+Fn(t)},this.$vm.$mp.query=e,this.$vm.__call_hook("onLoad",e)},n}function jn(e){return Nn(e,{isPage:Tn,initRelation:kn})}function Un(e){return Component(jn(e))}function Jn(e){return Component(Rn(e))}function Zn(e){var t=En(e),n=getApp({allowDefault:!0});e.$scope=n;var r=n.globalData;if(r&&Object.keys(t.globalData).forEach((function(e){z(r,e)||(r[e]=t.globalData[e])})),Object.keys(t).forEach((function(e){z(n,e)||(n[e]=t[e])})),P(t.onShow)&&wx.onAppShow&&wx.onAppShow((function(){for(var t=arguments.length,n=new Array(t),r=0;r=2)e.mixin({beforeCreate:i});else{var n=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[i].concat(e.init):i,n.call(this,e)}}function i(){var e=this.$options;e.store?this.$store="function"===typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}var i="undefined"!==typeof window?window:"undefined"!==typeof t?t:{},r=i.__VUE_DEVTOOLS_GLOBAL_HOOK__;function o(e){r&&(e._devtoolHook=r,r.emit("vuex:init",e),r.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,t){r.emit("vuex:mutation",e,t)}),{prepend:!0}),e.subscribeAction((function(e,t){r.emit("vuex:action",e,t)}),{prepend:!0}))}function a(e,t){return e.filter(t)[0]}function s(e,t){if(void 0===t&&(t=[]),null===e||"object"!==typeof e)return e;var n=a(t,(function(t){return t.original===e}));if(n)return n.copy;var i=Array.isArray(e)?[]:{};return t.push({original:e,copy:i}),Object.keys(e).forEach((function(n){i[n]=s(e[n],t)})),i}function c(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function l(e){return null!==e&&"object"===typeof e}function u(e){return e&&"function"===typeof e.then}function d(e,t){return function(){return e(t)}}var f=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"===typeof n?n():n)||{}},h={namespaced:{configurable:!0}};h.namespaced.get=function(){return!!this._rawModule.namespaced},f.prototype.addChild=function(e,t){this._children[e]=t},f.prototype.removeChild=function(e){delete this._children[e]},f.prototype.getChild=function(e){return this._children[e]},f.prototype.hasChild=function(e){return e in this._children},f.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},f.prototype.forEachChild=function(e){c(this._children,e)},f.prototype.forEachGetter=function(e){this._rawModule.getters&&c(this._rawModule.getters,e)},f.prototype.forEachAction=function(e){this._rawModule.actions&&c(this._rawModule.actions,e)},f.prototype.forEachMutation=function(e){this._rawModule.mutations&&c(this._rawModule.mutations,e)},Object.defineProperties(f.prototype,h);var p=function(e){this.register([],e,!1)};function g(e,t,n){if(t.update(n),n.modules)for(var i in n.modules){if(!t.getChild(i))return void 0;g(e.concat(i),t.getChild(i),n.modules[i])}}p.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},p.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return t=t.getChild(n),e+(t.namespaced?n+"/":"")}),"")},p.prototype.update=function(e){g([],this.root,e)},p.prototype.register=function(e,t,n){var i=this;void 0===n&&(n=!0);var r=new f(t,n);if(0===e.length)this.root=r;else{var o=this.get(e.slice(0,-1));o.addChild(e[e.length-1],r)}t.modules&&c(t.modules,(function(t,r){i.register(e.concat(r),t,n)}))},p.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],i=t.getChild(n);i&&i.runtime&&t.removeChild(n)},p.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return!!t&&t.hasChild(n)};var v;var y=function(e){var t=this;void 0===e&&(e={}),!v&&"undefined"!==typeof window&&window.Vue&&F(window.Vue);var n=e.plugins;void 0===n&&(n=[]);var i=e.strict;void 0===i&&(i=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new p(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new v,this._makeLocalGettersCache=Object.create(null);var r=this,a=this,s=a.dispatch,c=a.commit;this.dispatch=function(e,t){return s.call(r,e,t)},this.commit=function(e,t,n){return c.call(r,e,t,n)},this.strict=i;var l=this._modules.root.state;w(this,l,[],this._modules.root),b(this,l),n.forEach((function(e){return e(t)}));var u=void 0!==e.devtools?e.devtools:v.config.devtools;u&&o(this)},m={state:{configurable:!0}};function x(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function A(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;w(e,n,[],e._modules.root,!0),b(e,n,t)}function b(e,t,n){var i=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var r=e._wrappedGetters,o={};c(r,(function(t,n){o[n]=d(t,e),Object.defineProperty(e.getters,n,{get:function(){return e._vm[n]},enumerable:!0})}));var a=v.config.silent;v.config.silent=!0,e._vm=new v({data:{$$state:t},computed:o}),v.config.silent=a,e.strict&&_(e),i&&(n&&e._withCommit((function(){i._data.$$state=null})),v.nextTick((function(){return i.$destroy()})))}function w(e,t,n,i,r){var o=!n.length,a=e._modules.getNamespace(n);if(i.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=i),!o&&!r){var s=C(t,n.slice(0,-1)),c=n[n.length-1];e._withCommit((function(){v.set(s,c,i.state)}))}var l=i.context=S(e,a,n);i.forEachMutation((function(t,n){var i=a+n;T(e,i,t,l)})),i.forEachAction((function(t,n){var i=t.root?n:a+n,r=t.handler||t;O(e,i,r,l)})),i.forEachGetter((function(t,n){var i=a+n;P(e,i,t,l)})),i.forEachChild((function(i,o){w(e,t,n.concat(o),i,r)}))}function S(e,t,n){var i=""===t,r={dispatch:i?e.dispatch:function(n,i,r){var o=E(n,i,r),a=o.payload,s=o.options,c=o.type;return s&&s.root||(c=t+c),e.dispatch(c,a)},commit:i?e.commit:function(n,i,r){var o=E(n,i,r),a=o.payload,s=o.options,c=o.type;s&&s.root||(c=t+c),e.commit(c,a,s)}};return Object.defineProperties(r,{getters:{get:i?function(){return e.getters}:function(){return k(e,t)}},state:{get:function(){return C(e.state,n)}}}),r}function k(e,t){if(!e._makeLocalGettersCache[t]){var n={},i=t.length;Object.keys(e.getters).forEach((function(r){if(r.slice(0,i)===t){var o=r.slice(i);Object.defineProperty(n,o,{get:function(){return e.getters[r]},enumerable:!0})}})),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function T(e,t,n,i){var r=e._mutations[t]||(e._mutations[t]=[]);r.push((function(t){n.call(e,i.state,t)}))}function O(e,t,n,i){var r=e._actions[t]||(e._actions[t]=[]);r.push((function(t){var r=n.call(e,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:e.getters,rootState:e.state},t);return u(r)||(r=Promise.resolve(r)),e._devtoolHook?r.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):r}))}function P(e,t,n,i){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(e){return n(i.state,i.getters,e.state,e.getters)})}function _(e){e._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function C(e,t){return t.reduce((function(e,t){return e[t]}),e)}function E(e,t,n){return l(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}function F(e){v&&e===v||(v=e,n(v))}m.state.get=function(){return this._vm._data.$$state},m.state.set=function(e){0},y.prototype.commit=function(e,t,n){var i=this,r=E(e,t,n),o=r.type,a=r.payload,s=(r.options,{type:o,payload:a}),c=this._mutations[o];c&&(this._withCommit((function(){c.forEach((function(e){e(a)}))})),this._subscribers.slice().forEach((function(e){return e(s,i.state)})))},y.prototype.dispatch=function(e,t){var n=this,i=E(e,t),r=i.type,o=i.payload,a={type:r,payload:o},s=this._actions[r];if(s){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(a,n.state)}))}catch(l){0}var c=s.length>1?Promise.all(s.map((function(e){return e(o)}))):s[0](o);return new Promise((function(e,t){c.then((function(t){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(a,n.state)}))}catch(l){0}e(t)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(t){return t.error(a,n.state,e)}))}catch(l){0}t(e)}))}))}},y.prototype.subscribe=function(e,t){return x(e,this._subscribers,t)},y.prototype.subscribeAction=function(e,t){var n="function"===typeof e?{before:e}:e;return x(n,this._actionSubscribers,t)},y.prototype.watch=function(e,t,n){var i=this;return this._watcherVM.$watch((function(){return e(i.state,i.getters)}),t,n)},y.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._vm._data.$$state=e}))},y.prototype.registerModule=function(e,t,n){void 0===n&&(n={}),"string"===typeof e&&(e=[e]),this._modules.register(e,t),w(this,this.state,e,this._modules.get(e),n.preserveState),b(this,this.state)},y.prototype.unregisterModule=function(e){var t=this;"string"===typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var n=C(t.state,e.slice(0,-1));v.delete(n,e[e.length-1])})),A(this)},y.prototype.hasModule=function(e){return"string"===typeof e&&(e=[e]),this._modules.isRegistered(e)},y.prototype[[104,111,116,85,112,100,97,116,101].map((function(e){return String.fromCharCode(e)})).join("")]=function(e){this._modules.update(e),A(this,!0)},y.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(y.prototype,m);var I=z((function(e,t){var n={};return K(t).forEach((function(t){var i=t.key,r=t.val;n[i]=function(){var t=this.$store.state,n=this.$store.getters;if(e){var i=U(this.$store,"mapState",e);if(!i)return;t=i.context.state,n=i.context.getters}return"function"===typeof r?r.call(this,t,n):t[r]},n[i].vuex=!0})),n})),L=z((function(e,t){var n={};return K(t).forEach((function(t){var i=t.key,r=t.val;n[i]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var i=this.$store.commit;if(e){var o=U(this.$store,"mapMutations",e);if(!o)return;i=o.context.commit}return"function"===typeof r?r.apply(this,[i].concat(t)):i.apply(this.$store,[r].concat(t))}})),n})),D=z((function(e,t){var n={};return K(t).forEach((function(t){var i=t.key,r=t.val;r=e+r,n[i]=function(){if(!e||U(this.$store,"mapGetters",e))return this.$store.getters[r]},n[i].vuex=!0})),n})),M=z((function(e,t){var n={};return K(t).forEach((function(t){var i=t.key,r=t.val;n[i]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var i=this.$store.dispatch;if(e){var o=U(this.$store,"mapActions",e);if(!o)return;i=o.context.dispatch}return"function"===typeof r?r.apply(this,[i].concat(t)):i.apply(this.$store,[r].concat(t))}})),n})),R=function(e){return{mapState:I.bind(null,e),mapGetters:D.bind(null,e),mapMutations:L.bind(null,e),mapActions:M.bind(null,e)}};function K(e){return j(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}})):[]}function j(e){return Array.isArray(e)||l(e)}function z(e){return function(t,n){return"string"!==typeof t?(n=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,n)}}function U(e,t,n){var i=e._modulesNamespaceMap[n];return i}function B(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var n=e.filter;void 0===n&&(n=function(e,t,n){return!0});var i=e.transformer;void 0===i&&(i=function(e){return e});var r=e.mutationTransformer;void 0===r&&(r=function(e){return e});var o=e.actionFilter;void 0===o&&(o=function(e,t){return!0});var a=e.actionTransformer;void 0===a&&(a=function(e){return e});var c=e.logMutations;void 0===c&&(c=!0);var l=e.logActions;void 0===l&&(l=!0);var u=e.logger;return void 0===u&&(u=console),function(e){var d=s(e.state);"undefined"!==typeof u&&(c&&e.subscribe((function(e,o){var a=s(o);if(n(e,d,a)){var c=H(),l=r(e),f="mutation "+e.type+c;N(u,f,t),u.log("%c prev state","color: #9E9E9E; font-weight: bold",i(d)),u.log("%c mutation","color: #03A9F4; font-weight: bold",l),u.log("%c next state","color: #4CAF50; font-weight: bold",i(a)),W(u)}d=a})),l&&e.subscribeAction((function(e,n){if(o(e,n)){var i=H(),r=a(e),s="action "+e.type+i;N(u,s,t),u.log("%c action","color: #03A9F4; font-weight: bold",r),W(u)}})))}}function N(e,t,n){var i=n?e.groupCollapsed:e.group;try{i.call(e,t)}catch(r){e.log(t)}}function W(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function H(){var e=new Date;return" @ "+V(e.getHours(),2)+":"+V(e.getMinutes(),2)+":"+V(e.getSeconds(),2)+"."+V(e.getMilliseconds(),3)}function Z(e,t){return new Array(t+1).join(e)}function V(e,t){return Z("0",t-e.toString().length)+e}var q={Store:y,install:F,version:"3.6.2",mapState:I,mapMutations:L,mapGetters:D,mapActions:M,createNamespacedHelpers:R,createLogger:B};e.exports=q}).call(this,n("c8ba"))},3181:function(e,t){e.exports="data:image/png;base64,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"},"37dc":function(e,t,n){"use strict";(function(e,n){function i(e,t){return c(e)||s(e,t)||o(e,t)||r()}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function o(e,t){if(e){if("string"===typeof e)return a(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:p;if(!t)return[e];var i=this._caches[e];return i||(i=m(e,n),this._caches[e]=i),x(i,t)}}]),e}();t.Formatter=g;var v=/^(?:\d)+/,y=/^(?:\w)+/;function m(e,t){var n=i(t,2),r=n[0],o=n[1],a=[],s=0,c="";while(s-1?A:e.indexOf("-hant")>-1||_(e,["-tw","-hk","-mo","-cht"])?b:A;var n=C(e,[w,S,k]);return n||void 0}}var F=function(){function e(t){var n=t.locale,i=t.fallbackLocale,r=t.messages,o=t.watcher,a=t.formater;l(this,e),this.locale=w,this.fallbackLocale=w,this.message={},this.messages={},this.watchers=[],i&&(this.fallbackLocale=i),this.formater=a||P,this.messages=r||{},this.setLocale(n||w),o&&this.watchLocale(o)}return d(e,[{key:"setLocale",value:function(e){var t=this,n=this.locale;this.locale=E(e,this.messages)||this.fallbackLocale,this.messages[this.locale]||(this.messages[this.locale]={}),this.message=this.messages[this.locale],n!==this.locale&&this.watchers.forEach((function(e){e(t.locale,n)}))}},{key:"getLocale",value:function(){return this.locale}},{key:"watchLocale",value:function(e){var t=this,n=this.watchers.push(e)-1;return function(){t.watchers.splice(n,1)}}},{key:"add",value:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=this.messages[e];i?n?Object.assign(i,t):Object.keys(t).forEach((function(e){O(i,e)||(i[e]=t[e])})):this.messages[e]=t}},{key:"f",value:function(e,t,n){return this.formater.interpolate(e,t,n).join("")}},{key:"t",value:function(e,t,n){var i=this.message;return"string"===typeof t?(t=E(t,this.messages),t&&(i=this.messages[t])):n=t,O(i,e)?this.formater.interpolate(i[e],n).join(""):(console.warn("Cannot translate the value of keypath ".concat(e,". Use the value of keypath as default.")),e)}}]),e}();function I(e,t){e.$watchLocale?e.$watchLocale((function(e){t.setLocale(e)})):e.$watch((function(){return e.$locale}),(function(e){t.setLocale(e)}))}function L(){return"undefined"!==typeof e&&e.getLocale?e.getLocale():"undefined"!==typeof n&&n.getLocale?n.getLocale():w}function D(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;if("string"!==typeof e){var r=[t,e];e=r[0],t=r[1]}"string"!==typeof e&&(e=L()),"string"!==typeof n&&(n="undefined"!==typeof __uniConfig&&__uniConfig.fallbackLocale||w);var o=new F({locale:e,fallbackLocale:n,messages:t,watcher:i}),a=function(e,t){if("function"!==typeof getApp)a=function(e,t){return o.t(e,t)};else{var n=!1;a=function(e,t){var i=getApp().$vm;return i&&(i.$locale,n||(n=!0,I(i,o))),o.t(e,t)}}return a(e,t)};return{i18n:o,f:function(e,t,n){return o.f(e,t,n)},t:function(e,t){return a(e,t)},add:function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return o.add(e,t,n)},watch:function(e){return o.watchLocale(e)},getLocale:function(){return o.getLocale()},setLocale:function(e){return o.setLocale(e)}}}t.I18n=F;var M,R=function(e){return"string"===typeof e};function K(e,t){return M||(M=new g),H(e,(function(e,n){var i=e[n];return R(i)?!!U(i,t)||void 0:K(i,t)}))}function j(e,t,n){return M||(M=new g),H(e,(function(e,i){var r=e[i];R(r)?U(r,n)&&(e[i]=B(r,t,n)):j(r,t,n)})),e}function z(e,t){var n=t.locale,i=t.locales,r=t.delimiters;if(!U(e,r))return e;M||(M=new g);var o=[];Object.keys(i).forEach((function(e){e!==n&&o.push({locale:e,values:i[e]})})),o.unshift({locale:n,values:i[n]});try{return JSON.stringify(W(JSON.parse(e),o,r),null,2)}catch(a){}return e}function U(e,t){return e.indexOf(t[0])>-1}function B(e,t,n){return M.interpolate(e,t,n).join("")}function N(e,t,n,i){var r=e[t];if(R(r)){if(U(r,i)&&(e[t]=B(r,n[0].values,i),n.length>1)){var o=e[t+"Locales"]={};n.forEach((function(e){o[e.locale]=B(r,e.values,i)}))}}else W(r,n,i)}function W(e,t,n){return H(e,(function(e,i){N(e,i,t,n)})),e}function H(e,t){if(f(e)){for(var n=0;n-1}))):t}}function V(e){var t=[],n=e.split("-");while(n.length)t.push(n.join("-")),n.pop();return t}t.isString=R}).call(this,n("543d")["default"],n("c8ba"))},"3df5":function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={showLoading:function(t){e.showToast({title:t,icon:"loading",duration:1e5})},hideLoading:function(t){e.hideToast()},showSuccess:function(t){e.showToast({title:t,icon:"success",duration:2e3})},showWarning:function(t){e.showToast({title:t,icon:"none",duration:2e3})},showError:function(t){e.showToast({title:t,icon:"none",duration:2e3})},askLogin:function(){e.showModal({title:"尚未登录",content:"前往授权登录页面吗?",success:function(t){console.log(t),t.confirm&&e.redirectTo({url:"/pages/login/login"})}})}},i=n;t.default=i}).call(this,n("543d")["default"])},4127:function(e,t,n){"use strict";var i=n("d233"),r=n("b313"),o={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},a=Date.prototype.toISOString,s={delimiter:"&",encode:!0,encoder:i.encode,encodeValuesOnly:!1,serializeDate:function(e){return a.call(e)},skipNulls:!1,strictNullHandling:!1},c=function e(t,n,r,o,a,c,l,u,d,f,h,p){var g=t;if("function"===typeof l)g=l(n,g);else if(g instanceof Date)g=f(g);else if(null===g){if(o)return c&&!p?c(n,s.encoder):n;g=""}if("string"===typeof g||"number"===typeof g||"boolean"===typeof g||i.isBuffer(g)){if(c){var v=p?n:c(n,s.encoder);return[h(v)+"="+h(c(g,s.encoder))]}return[h(n)+"="+h(String(g))]}var y,m=[];if("undefined"===typeof g)return m;if(Array.isArray(l))y=l;else{var x=Object.keys(g);y=u?x.sort(u):x}for(var A=0;A0?P+O:""}},4328:function(e,t,n){"use strict";var i=n("4127"),r=n("9e6a"),o=n("b313");e.exports={formats:o,parse:r,stringify:i}},5125:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],r=function(e,t){var n=new Date;n.setTime(1e3*e);var i=n.getFullYear(),r=n.getMonth()+1;r=r<10?"0"+r:r;var o=n.getDate();o=o<10?"0"+o:o;var a=n.getHours();a=a<10?"0"+a:a;var s=n.getMinutes(),c=n.getSeconds();return s=s<10?"0"+s:s,c=c<10?"0"+c:c,"full"==t?i+"-"+r+"-"+o+" "+a+":"+s+":"+c:"y-m-d"==t?i+"-"+r+"-"+o:"h:m"==t?a+":"+s:"h:m:s"==t?a+":"+s+":"+c:[i,r,o,a,s,c]},o={type:["pie","ring","rose","word","funnel","map","arcbar","line","column","mount","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"],range:["饼状图","圆环图","玫瑰图","词云图","漏斗图","地图","圆弧进度条","折线图","柱状图","山峰图","条状图","区域图","雷达图","仪表盘","K线图","混合图","时间轴折线","时间轴区域","散点图","气泡图","自定义类型"],categories:["line","column","mount","bar","area","radar","gauge","candle","mix","demotype"],instance:{},option:{},formatter:{yAxisDemo1:function(e,t,n){return e+"元"},yAxisDemo2:function(e,t,n){return e.toFixed(2)},xAxisDemo1:function(e,t,n){return e+"年"},xAxisDemo2:function(e,t,n){return r(e,"h:m")},seriesDemo1:function(e,t,n,i){return e+"元"},tooltipDemo1:function(e,t,n,i){return 0==n?"随便用"+e.data+"年":"其他我没改"+e.data+"天"},pieDemo:function(e,t,n,i){if(void 0!==t)return n[t].name+":"+n[t].data+"元"}},demotype:{type:"line",color:i,padding:[15,10,0,15],xAxis:{disableGrid:!0},yAxis:{gridType:"dash",dashLength:2},legend:{},extra:{line:{type:"curve",width:2}}},pie:{type:"pie",color:i,padding:[5,5,5,5],extra:{pie:{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!0,borderWidth:3,borderColor:"#FFFFFF"}}},ring:{type:"ring",color:i,padding:[5,5,5,5],rotate:!1,dataLabel:!0,legend:{show:!0,position:"right",lineHeight:25},title:{name:"收益率",fontSize:15,color:"#666666"},subtitle:{name:"70%",fontSize:25,color:"#7cb5ec"},extra:{ring:{ringWidth:30,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!0,borderWidth:3,borderColor:"#FFFFFF"}}},rose:{type:"rose",color:i,padding:[5,5,5,5],legend:{show:!0,position:"left",lineHeight:25},extra:{rose:{type:"area",minRadius:50,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,borderWidth:2,borderColor:"#FFFFFF"}}},word:{type:"word",color:i,extra:{word:{type:"normal",autoColors:!1}}},funnel:{type:"funnel",color:i,padding:[15,15,0,15],extra:{funnel:{activeOpacity:.3,activeWidth:10,border:!0,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,labelAlign:"right"}}},map:{type:"map",color:i,padding:[0,0,0,0],dataLabel:!0,extra:{map:{border:!0,borderWidth:1,borderColor:"#666666",fillOpacity:.6,activeBorderColor:"#F04864",activeFillColor:"#FACC14",activeFillOpacity:1}}},arcbar:{type:"arcbar",color:i,title:{name:"百分比",fontSize:25,color:"#00FF00"},subtitle:{name:"默认标题",fontSize:15,color:"#666666"},extra:{arcbar:{type:"default",width:12,backgroundColor:"#E9E9E9",startAngle:.75,endAngle:.25,gap:2}}},line:{type:"line",color:i,padding:[15,10,0,15],xAxis:{disableGrid:!0},yAxis:{gridType:"dash",dashLength:2},legend:{},extra:{line:{type:"straight",width:2}}},tline:{type:"line",color:i,padding:[15,10,0,15],xAxis:{disableGrid:!1,boundaryGap:"justify"},yAxis:{gridType:"dash",dashLength:2,data:[{min:0,max:80}]},legend:{},extra:{line:{type:"curve",width:2}}},tarea:{type:"area",color:i,padding:[15,10,0,15],xAxis:{disableGrid:!0,boundaryGap:"justify"},yAxis:{gridType:"dash",dashLength:2,data:[{min:0,max:80}]},legend:{},extra:{area:{type:"curve",opacity:.2,addLine:!0,width:2,gradient:!0}}},column:{type:"column",color:i,padding:[15,15,0,5],xAxis:{disableGrid:!0},yAxis:{data:[{min:0}]},legend:{},extra:{column:{type:"group",width:30,activeBgColor:"#000000",activeBgOpacity:.08}}},mount:{type:"mount",color:i,padding:[15,15,0,5],xAxis:{disableGrid:!0},yAxis:{data:[{min:0}]},legend:{},extra:{mount:{type:"mount",widthRatio:1.5}}},bar:{type:"bar",color:i,padding:[15,30,0,5],xAxis:{boundaryGap:"justify",disableGrid:!1,min:0,axisLine:!1},yAxis:{},legend:{},extra:{bar:{type:"group",width:30,meterBorde:1,meterFillColor:"#FFFFFF",activeBgColor:"#000000",activeBgOpacity:.08}}},area:{type:"area",color:i,padding:[15,15,0,15],xAxis:{disableGrid:!0},yAxis:{gridType:"dash",dashLength:2},legend:{},extra:{area:{type:"straight",opacity:.2,addLine:!0,width:2,gradient:!1}}},radar:{type:"radar",color:i,padding:[5,5,5,5],dataLabel:!1,legend:{show:!0,position:"right",lineHeight:25},extra:{radar:{gridType:"radar",gridColor:"#CCCCCC",gridCount:3,opacity:.2,max:200}}},gauge:{type:"gauge",color:i,title:{name:"66Km/H",fontSize:25,color:"#2fc25b",offsetY:50},subtitle:{name:"实时速度",fontSize:15,color:"#1890ff",offsetY:-50},extra:{gauge:{type:"default",width:30,labelColor:"#666666",startAngle:.75,endAngle:.25,startNumber:0,endNumber:100,labelFormat:"",splitLine:{fixRadius:0,splitNumber:10,width:30,color:"#FFFFFF",childNumber:5,childWidth:12},pointer:{width:24,color:"auto"}}}},candle:{type:"candle",color:i,padding:[15,15,0,15],enableScroll:!0,enableMarkLine:!0,dataLabel:!1,xAxis:{labelCount:4,itemCount:40,disableGrid:!0,gridColor:"#CCCCCC",gridType:"solid",dashLength:4,scrollShow:!0,scrollAlign:"left",scrollColor:"#A6A6A6",scrollBackgroundColor:"#EFEBEF"},yAxis:{},legend:{},extra:{candle:{color:{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},average:{show:!0,name:["MA5","MA10","MA30"],day:[5,10,20],color:["#1890ff","#2fc25b","#facc14"]}},markLine:{type:"dash",dashLength:5,data:[{value:2150,lineColor:"#f04864",showLabel:!0},{value:2350,lineColor:"#f04864",showLabel:!0}]}}},mix:{type:"mix",color:i,padding:[15,15,0,15],xAxis:{disableGrid:!0},yAxis:{disabled:!1,disableGrid:!1,splitNumber:5,gridType:"dash",dashLength:4,gridColor:"#CCCCCC",padding:10,showTitle:!0,data:[]},legend:{},extra:{mix:{column:{width:20}}}},scatter:{type:"scatter",color:i,padding:[15,15,0,15],dataLabel:!1,xAxis:{disableGrid:!1,gridType:"dash",splitNumber:5,boundaryGap:"justify",min:0},yAxis:{disableGrid:!1,gridType:"dash"},legend:{},extra:{scatter:{}}},bubble:{type:"bubble",color:i,padding:[15,15,0,15],xAxis:{disableGrid:!1,gridType:"dash",splitNumber:5,boundaryGap:"justify",min:0,max:250},yAxis:{disableGrid:!1,gridType:"dash",data:[{min:0,max:150}]},legend:{},extra:{bubble:{border:2,opacity:.5}}}},a=o;t.default=a},"543d":function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.createApp=En,t.createComponent=Nn,t.createPage=Bn,t.createPlugin=Hn,t.createSubpackageApp=Wn,t.default=void 0;var i,r=n("37dc"),o=a(n("66fd"));function a(e){return e&&e.__esModule?e:{default:e}}function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function c(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,i=new Array(t);n-1},e.prototype.uniIDHasPermission=function(e){var t=S(),n=t.permission;return this.uniIDHasRole("admin")||n.indexOf(e)>-1},e.prototype.uniIDTokenValid=function(){var e=S(),t=e.tokenExpired;return t>Date.now()}}i="function"!==typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!b.test(e))throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");var t;e+="==".slice(2-(3&e.length));for(var n,i,r="",o=0;o>16&255):64===i?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var T=Object.prototype.toString,O=Object.prototype.hasOwnProperty;function P(e){return"function"===typeof e}function _(e){return"string"===typeof e}function C(e){return"[object Object]"===T.call(e)}function E(e,t){return O.call(e,t)}function F(){}function I(e){var t=Object.create(null);return function(n){var i=t[n];return i||(t[n]=e(n))}}var L=/-(\w)/g,D=I((function(e){return e.replace(L,(function(e,t){return t?t.toUpperCase():""}))}));function M(e){var t={};return C(e)&&Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),Object.keys(t)?t:e}var R=["invoke","success","fail","complete","returnValue"],K={},j={};function z(e,t){var n=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?U(n):n}function U(e){for(var t=[],n=0;n1&&void 0!==arguments[1]?arguments[1]:{};return["success","fail","complete"].forEach((function(n){if(Array.isArray(e[n])){var i=t[n];t[n]=function(t){J(e[n],t).then((function(e){return P(i)&&i(e)||e}))}}})),t}function G(e,t){var n=[];Array.isArray(K.returnValue)&&n.push.apply(n,p(K.returnValue));var i=j[e];return i&&Array.isArray(i.returnValue)&&n.push.apply(n,p(i.returnValue)),n.forEach((function(e){t=e(t)||t})),t}function Q(e){var t=Object.create(null);Object.keys(K).forEach((function(e){"returnValue"!==e&&(t[e]=K[e].slice())}));var n=j[e];return n&&Object.keys(n).forEach((function(e){"returnValue"!==e&&(t[e]=(t[e]||[]).concat(n[e]))})),t}function Y(e,t,n){for(var i=arguments.length,r=new Array(i>3?i-3:0),o=3;o0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length,r=new Array(i>1?i-1:0),o=1;o-1?xe:e.indexOf("-hant")>-1||Ee(e,["-tw","-hk","-mo","-cht"])?Ae:xe;var n=Fe(e,[be,we,Se]);return n||void 0}}function Le(){var e=getApp({allowDefault:!0});return e&&e.$vm?e.$vm.$locale:Ie(wx.getSystemInfoSync().language)||be}function De(e){var t=getApp();if(!t)return!1;var n=t.$vm.$locale;return n!==e&&(t.$vm.$locale=e,Me.forEach((function(t){return t({locale:e})})),!0)}var Me=[];function Re(e){-1===Me.indexOf(e)&&Me.push(e)}"undefined"!==typeof e&&(e.getLocale=Le);var Ke={promiseInterceptor:$},je=Object.freeze({__proto__:null,upx2px:ye,getLocale:Le,setLocale:De,onLocaleChange:Re,addInterceptor:H,removeInterceptor:Z,interceptors:Ke});function ze(e){var t=getCurrentPages(),n=t.length;while(n--){var i=t[n];if(i.$page&&i.$page.fullPath===e)return n}return-1}var Ue,Be={name:function(e){return"back"===e.exists&&e.delta?"navigateBack":"redirectTo"},args:function(e){if("back"===e.exists&&e.url){var t=ze(e.url);if(-1!==t){var n=getCurrentPages().length-1-t;n>0&&(e.delta=n)}}}},Ne={args:function(e){var t=parseInt(e.current);if(!isNaN(t)){var n=e.urls;if(Array.isArray(n)){var i=n.length;if(i)return t<0?t=0:t>=i&&(t=i-1),t>0?(e.current=n[t],e.urls=n.filter((function(e,i){return!(i2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(C(t)){var o=!0===r?t:{};for(var a in P(n)&&(n=n(t,o)||{}),t)if(E(n,a)){var s=n[a];P(s)&&(s=s(t[a],t,o)),s?_(s)?o[s]=t[a]:C(s)&&(o[s.name?s.name:a]=s.value):console.warn("The '".concat(e,"' method of platform '微信小程序' does not support option '").concat(a,"'"))}else-1!==at.indexOf(a)?P(t[a])&&(o[a]=st(e,t[a],i)):r||(o[a]=t[a]);return o}return P(t)&&(t=st(e,t,i)),t}function lt(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return P(it.returnValue)&&(t=it.returnValue(e,t)),ct(e,t,n,{},i)}function ut(e,t){if(E(it,e)){var n=it[e];return n?function(t,i){var r=n;P(n)&&(r=n(t)),t=ct(e,t,r.args,r.returnValue);var o=[t];"undefined"!==typeof i&&o.push(i),P(r.name)?e=r.name(t):_(r.name)&&(e=r.name);var a=wx[e].apply(wx,o);return ae(e)?lt(e,a,r.returnValue,oe(e)):a}:function(){console.error("Platform '微信小程序' does not support '".concat(e,"'."))}}return t}var dt=Object.create(null),ft=["onTabBarMidButtonTap","subscribePush","unsubscribePush","onPush","offPush","share"];function ht(e){return function(t){var n=t.fail,i=t.complete,r={errMsg:"".concat(e,":fail method '").concat(e,"' not supported")};P(n)&&n(r),P(i)&&i(r)}}ft.forEach((function(e){dt[e]=ht(e)}));var pt={oauth:["weixin"],share:["weixin"],payment:["wxpay"],push:["weixin"]};function gt(e){var t=e.service,n=e.success,i=e.fail,r=e.complete,o=!1;pt[t]?(o={errMsg:"getProvider:ok",service:t,provider:pt[t]},P(n)&&n(o)):(o={errMsg:"getProvider:fail service not found"},P(i)&&i(o)),P(r)&&r(o)}var vt=Object.freeze({__proto__:null,getProvider:gt}),yt=function(){var e;return function(){return e||(e=new o.default),e}}();function mt(e,t,n){return e[t].apply(e,n)}function xt(){return mt(yt(),"$on",Array.prototype.slice.call(arguments))}function At(){return mt(yt(),"$off",Array.prototype.slice.call(arguments))}function bt(){return mt(yt(),"$once",Array.prototype.slice.call(arguments))}function wt(){return mt(yt(),"$emit",Array.prototype.slice.call(arguments))}var St,kt,Tt,Ot=Object.freeze({__proto__:null,$on:xt,$off:At,$once:bt,$emit:wt});function Pt(e){return function(){try{return e.apply(e,arguments)}catch(t){console.error(t)}}}function _t(e){var t={};for(var n in e){var i=e[n];P(i)&&(t[n]=Pt(i),delete e[n])}return t}function Ct(e){try{return JSON.parse(e)}catch(t){}return e}function Et(e){if("enabled"===e.type)Tt=!0;else if("clientId"===e.type)St=e.cid,kt=e.errMsg,It(St,e.errMsg);else if("pushMsg"===e.type)for(var t={type:"receive",data:Ct(e.message)},n=0;n-1&&Dt.splice(t,1)}else Dt.length=0},Kt=Object.freeze({__proto__:null,getPushClientId:Lt,onPushMessage:Mt,offPushMessage:Rt,invokePushCallback:Et}),jt=Page,zt=Component,Ut=/:/g,Bt=I((function(e){return D(e.replace(Ut,"-"))}));function Nt(e){var t=e.triggerEvent,n=function(n){for(var i=arguments.length,r=new Array(i>1?i-1:0),o=1;o0&&void 0!==arguments[0]?arguments[0]:{};return Wt("onLoad",e),jt(e)},Page.after=jt.after,Component=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Wt("created",e),zt(e)});var Ht=["onPullDownRefresh","onReachBottom","onAddToFavorites","onShareTimeline","onShareAppMessage","onPageScroll","onResize","onTabItemTap"];function Zt(e,t){var n=e.$mp[e.mpType];t.forEach((function(t){E(n,t)&&(e[t]=n[t])}))}function Vt(e,t){if(!t)return!0;if(o.default.options&&Array.isArray(o.default.options[e]))return!0;if(t=t.default||t,P(t))return!!P(t.extendOptions[e])||!!(t.super&&t.super.options&&Array.isArray(t.super.options[e]));if(P(t[e]))return!0;var n=t.mixins;return Array.isArray(n)?!!n.find((function(t){return Vt(e,t)})):void 0}function qt(e,t,n){t.forEach((function(t){Vt(t,n)&&(e[t]=function(e){return this.$vm&&this.$vm.__call_hook(t,e)})}))}function Jt(e,t){var n;return t=t.default||t,n=P(t)?t:e.extend(t),t=n.options,[n,t]}function Xt(e,t){if(Array.isArray(t)&&t.length){var n=Object.create(null);t.forEach((function(e){n[e]=!0})),e.$scopedSlots=e.$slots=n}}function Gt(e,t){e=(e||"").split(",");var n=e.length;1===n?t._$vueId=e[0]:2===n&&(t._$vueId=e[0],t._$vuePid=e[1])}function Qt(e,t){var n=e.data||{},i=e.methods||{};if("function"===typeof n)try{n=n.call(t)}catch(r){Object({VUE_APP_NAME:"Jinan_app",VUE_APP_PLATFORM:"mp-weixin",NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_DEBUG&&console.warn("根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。",n)}else try{n=JSON.parse(JSON.stringify(n))}catch(r){}return C(n)||(n={}),Object.keys(i).forEach((function(e){-1!==t.__lifecycle_hooks__.indexOf(e)||E(n,e)||(n[e]=i[e])})),n}var Yt=[String,Number,Boolean,Object,Array,null];function $t(e){return function(t,n){this.$vm&&(this.$vm[e]=t)}}function en(e,t){var n=e.behaviors,i=e.extends,r=e.mixins,o=e.props;o||(e.props=o=[]);var a=[];return Array.isArray(n)&&n.forEach((function(e){a.push(e.replace("uni://","wx".concat("://"))),"uni://form-field"===e&&(Array.isArray(o)?(o.push("name"),o.push("value")):(o.name={type:String,default:""},o.value={type:[String,Number,Boolean,Array,Object,Date],default:""}))})),C(i)&&i.props&&a.push(t({properties:nn(i.props,!0)})),Array.isArray(r)&&r.forEach((function(e){C(e)&&e.props&&a.push(t({properties:nn(e.props,!0)}))})),a}function tn(e,t,n,i){return Array.isArray(t)&&1===t.length?t[0]:t}function nn(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>3?arguments[3]:void 0,i={};return t||(i.vueId={type:String,value:""},n.virtualHost&&(i.virtualHostStyle={type:null,value:""},i.virtualHostClass={type:null,value:""}),i.scopedSlotsCompiler={type:String,value:""},i.vueSlots={type:null,value:[],observer:function(e,t){var n=Object.create(null);e.forEach((function(e){n[e]=!0})),this.setData({$slots:n})}}),Array.isArray(e)?e.forEach((function(e){i[e]={type:null,observer:$t(e)}})):C(e)&&Object.keys(e).forEach((function(t){var n=e[t];if(C(n)){var r=n.default;P(r)&&(r=r()),n.type=tn(t,n.type),i[t]={type:-1!==Yt.indexOf(n.type)?n.type:null,value:r,observer:$t(t)}}else{var o=tn(t,n);i[t]={type:-1!==Yt.indexOf(o)?o:null,observer:$t(t)}}})),i}function rn(e){try{e.mp=JSON.parse(JSON.stringify(e))}catch(t){}return e.stopPropagation=F,e.preventDefault=F,e.target=e.target||{},E(e,"detail")||(e.detail={}),E(e,"markerId")&&(e.detail="object"===typeof e.detail?e.detail:{},e.detail.markerId=e.markerId),C(e.detail)&&(e.target=Object.assign({},e.target,e.detail)),e}function on(e,t){var n=e;return t.forEach((function(t){var i=t[0],r=t[2];if(i||"undefined"!==typeof r){var o,a=t[1],s=t[3];Number.isInteger(i)?o=i:i?"string"===typeof i&&i&&(o=0===i.indexOf("#s#")?i.substr(3):e.__get_value(i,n)):o=n,Number.isInteger(o)?n=r:a?Array.isArray(o)?n=o.find((function(t){return e.__get_value(a,t)===r})):C(o)?n=Object.keys(o).find((function(t){return e.__get_value(a,o[t])===r})):console.error("v-for 暂不支持循环数据:",o):n=o[r],s&&(n=e.__get_value(s,n))}})),n}function an(e,t,n){var i={};return Array.isArray(t)&&t.length&&t.forEach((function(t,r){"string"===typeof t?t?"$event"===t?i["$"+r]=n:"arguments"===t?n.detail&&n.detail.__args__?i["$"+r]=n.detail.__args__:i["$"+r]=[n]:0===t.indexOf("$event.")?i["$"+r]=e.__get_value(t.replace("$event.",""),n):i["$"+r]=e.__get_value(t):i["$"+r]=e:i["$"+r]=on(e,t)})),i}function sn(e){for(var t={},n=1;n2&&void 0!==arguments[2]?arguments[2]:[],i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],r=arguments.length>4?arguments[4]:void 0,o=arguments.length>5?arguments[5]:void 0,a=!1;if(r&&(a=t.currentTarget&&t.currentTarget.dataset&&"wx"===t.currentTarget.dataset.comType,!n.length))return a?[t]:t.detail.__args__||t.detail;var s=an(e,i,t),c=[];return n.forEach((function(e){"$event"===e?"__set_model"!==o||r?r&&!a?c.push(t.detail.__args__[0]):c.push(t):c.push(t.target.value):Array.isArray(e)&&"o"===e[0]?c.push(sn(e)):"string"===typeof e&&E(s,e)?c.push(s[e]):c.push(e)})),c}var ln="~",un="^";function dn(e,t){return e===t||"regionchange"===t&&("begin"===e||"end"===e)}function fn(e){var t=e.$parent;while(t&&t.$parent&&(t.$options.generic||t.$parent.$options.generic||t.$scope._$vuePid))t=t.$parent;return t&&t.$parent}function hn(e){var t=this;e=rn(e);var n=(e.currentTarget||e.target).dataset;if(!n)return console.warn("事件信息不存在");var i=n.eventOpts||n["event-opts"];if(!i)return console.warn("事件信息不存在");var r=e.type,o=[];return i.forEach((function(n){var i=n[0],a=n[1],s=i.charAt(0)===un;i=s?i.slice(1):i;var c=i.charAt(0)===ln;i=c?i.slice(1):i,a&&dn(r,i)&&a.forEach((function(n){var i=n[0];if(i){var r=t.$vm;if(r.$options.generic&&(r=fn(r)||r),"$emit"===i)return void r.$emit.apply(r,cn(t.$vm,e,n[1],n[2],s,i));var a=r[i];if(!P(a)){var l="page"===t.$vm.mpType?"Page":"Component",u=t.route||t.is;throw new Error("".concat(l,' "').concat(u,'" does not have a method "').concat(i,'"'))}if(c){if(a.once)return;a.once=!0}var d=cn(t.$vm,e,n[1],n[2],s,i);d=Array.isArray(d)?d:[],/=\s*\S+\.eventParams\s*\|\|\s*\S+\[['"]event-params['"]\]/.test(a.toString())&&(d=d.concat([,,,,,,,,,,e])),o.push(a.apply(r,d))}}))})),"input"===r&&1===o.length&&"undefined"!==typeof o[0]?o[0]:void 0}var pn={},gn=[];function vn(e){if(e){var t=pn[e];return delete pn[e],t}return gn.shift()}var yn=["onShow","onHide","onError","onPageNotFound","onThemeChange","onUnhandledRejection"];function mn(){o.default.prototype.getOpenerEventChannel=function(){return this.$scope.getOpenerEventChannel()};var e=o.default.prototype.__call_hook;o.default.prototype.__call_hook=function(t,n){return"onLoad"===t&&n&&n.__id__&&(this.__eventChannel__=vn(n.__id__),delete n.__id__),e.call(this,t,n)}}function xn(){var e={},t={};o.default.prototype.$hasScopedSlotsParams=function(n){var i=e[n];return i||(t[n]=this,this.$on("hook:destroyed",(function(){delete t[n]}))),i},o.default.prototype.$getScopedSlotsParams=function(n,i,r){var o=e[n];if(o){var a=o[i]||{};return r?a[r]:a}t[n]=this,this.$on("hook:destroyed",(function(){delete t[n]}))},o.default.prototype.$setScopedSlotsParams=function(n,i){var r=this.$options.propsData.vueId;if(r){var o=r.split(",")[0],a=e[o]=e[o]||{};a[n]=i,t[o]&&t[o].$forceUpdate()}},o.default.mixin({destroyed:function(){var n=this.$options.propsData,i=n&&n.vueId;i&&(delete e[i],delete t[i])}})}function An(e,t){var n=t.mocks,i=t.initRefs;mn(),xn(),e.$options.store&&(o.default.prototype.$store=e.$options.store),k(o.default),o.default.prototype.mpHost="mp-weixin",o.default.mixin({beforeCreate:function(){if(this.$options.mpType){if(this.mpType=this.$options.mpType,this.$mp=h({data:{}},this.mpType,this.$options.mpInstance),this.$scope=this.$options.mpInstance,delete this.$options.mpType,delete this.$options.mpInstance,"page"===this.mpType&&"function"===typeof getApp){var e=getApp();e.$vm&&e.$vm.$i18n&&(this._i18n=e.$vm.$i18n)}"app"!==this.mpType&&(i(this),Zt(this,n))}}});var r={onLaunch:function(t){this.$vm||(wx.canIUse&&!wx.canIUse("nextTick")&&console.error("当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上"),this.$vm=e,this.$vm.$mp={app:this},this.$vm.$scope=this,this.$vm.globalData=this.globalData,this.$vm._isMounted=!0,this.$vm.__call_hook("mounted",t),this.$vm.__call_hook("onLaunch",t))}};r.globalData=e.$options.globalData||{};var a=e.$options.methods;return a&&Object.keys(a).forEach((function(e){r[e]=a[e]})),_e(o.default,e,Ie(wx.getSystemInfoSync().language)||be),qt(r,yn),r}var bn=["__route__","__wxExparserNodeId__","__wxWebviewId__"];function wn(e,t){for(var n,i=e.$children,r=i.length-1;r>=0;r--){var o=i[r];if(o.$scope._$vueId===t)return o}for(var a=i.length-1;a>=0;a--)if(n=wn(i[a],t),n)return n}function Sn(e){return Behavior(e)}function kn(){return!!this.route}function Tn(e){this.triggerEvent("__l",e)}function On(e,t,n){var i=e.selectAllComponents(t);i.forEach((function(e){var i=e.dataset.ref;n[i]=e.$vm||e,"scoped"===e.dataset.vueGeneric&&e.selectAllComponents(".scoped-ref").forEach((function(e){On(e,t,n)}))}))}function Pn(e){var t=e.$scope;Object.defineProperty(e,"$refs",{get:function(){var e={};On(t,".vue-ref",e);var n=t.selectAllComponents(".vue-ref-in-for");return n.forEach((function(t){var n=t.dataset.ref;e[n]||(e[n]=[]),e[n].push(t.$vm||t)})),e}})}function _n(e){var t,n=e.detail||e.value,i=n.vuePid,r=n.vueOptions;i&&(t=wn(this.$vm,i)),t||(t=this.$vm),r.parent=t}function Cn(e){return An(e,{mocks:bn,initRefs:Pn})}function En(e){return App(Cn(e)),e}var Fn=/[!'()*]/g,In=function(e){return"%"+e.charCodeAt(0).toString(16)},Ln=/%2C/g,Dn=function(e){return encodeURIComponent(e).replace(Fn,In).replace(Ln,",")};function Mn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Dn,n=e?Object.keys(e).map((function(n){var i=e[n];if(void 0===i)return"";if(null===i)return t(n);if(Array.isArray(i)){var r=[];return i.forEach((function(e){void 0!==e&&(null===e?r.push(t(n)):r.push(t(n)+"="+t(e)))})),r.join("&")}return t(n)+"="+t(i)})).filter((function(e){return e.length>0})).join("&"):null;return n?"?".concat(n):""}function Rn(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.isPage,i=t.initRelation,r=Jt(o.default,e),a=l(r,2),s=a[0],u=a[1],d=c({multipleSlots:!0,addGlobalClass:!0},u.options||{});u["mp-weixin"]&&u["mp-weixin"].options&&Object.assign(d,u["mp-weixin"].options);var f={options:d,data:Qt(u,o.default.prototype),behaviors:en(u,Sn),properties:nn(u.props,!1,u.__file,d),lifetimes:{attached:function(){var e=this.properties,t={mpType:n.call(this)?"page":"component",mpInstance:this,propsData:e};Gt(e.vueId,this),i.call(this,{vuePid:this._$vuePid,vueOptions:t}),this.$vm=new s(t),Xt(this.$vm,e.vueSlots),this.$vm.$mount()},ready:function(){this.$vm&&(this.$vm._isMounted=!0,this.$vm.__call_hook("mounted"),this.$vm.__call_hook("onReady"))},detached:function(){this.$vm&&this.$vm.$destroy()}},pageLifetimes:{show:function(e){this.$vm&&this.$vm.__call_hook("onPageShow",e)},hide:function(){this.$vm&&this.$vm.__call_hook("onPageHide")},resize:function(e){this.$vm&&this.$vm.__call_hook("onPageResize",e)}},methods:{__l:_n,__e:hn}};return u.externalClasses&&(f.externalClasses=u.externalClasses),Array.isArray(u.wxsCallMethods)&&u.wxsCallMethods.forEach((function(e){f.methods[e]=function(t){return this.$vm[e](t)}})),n?f:[f,s]}function Kn(e){return Rn(e,{isPage:kn,initRelation:Tn})}var jn=["onShow","onHide","onUnload"];function zn(e,t){t.isPage,t.initRelation;var n=Kn(e);return qt(n.methods,jn,e),n.methods.onLoad=function(e){this.options=e;var t=Object.assign({},e);delete t.__id__,this.$page={fullPath:"/"+(this.route||this.is)+Mn(t)},this.$vm.$mp.query=e,this.$vm.__call_hook("onLoad",e)},n}function Un(e){return zn(e,{isPage:kn,initRelation:Tn})}function Bn(e){return Component(Un(e))}function Nn(e){return Component(Kn(e))}function Wn(e){var t=Cn(e),n=getApp({allowDefault:!0});e.$scope=n;var i=n.globalData;if(i&&Object.keys(t.globalData).forEach((function(e){E(i,e)||(i[e]=t.globalData[e])})),Object.keys(t).forEach((function(e){E(n,e)||(n[e]=t[e])})),P(t.onShow)&&wx.onAppShow&&wx.onAppShow((function(){for(var t=arguments.length,n=new Array(t),i=0;i=0&&Math.floor(t)===t&&isFinite(e)}function h(e){return i(e)&&"function"===typeof e.then&&"function"===typeof e.catch}function p(e){return null==e?"":Array.isArray(e)||u(e)&&e.toString===l?JSON.stringify(e,null,2):String(e)}function g(e){var t=parseFloat(e);return isNaN(t)?e:t}function v(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var x=Object.prototype.hasOwnProperty;function b(e,t){return x.call(e,t)}function A(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}var w=/-(\w)/g,O=A((function(e){return e.replace(w,(function(e,t){return t?t.toUpperCase():""}))})),T=A((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),k=/\B([A-Z])/g,S=A((function(e){return e.replace(k,"-$1").toLowerCase()}));function P(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function C(e,t){return e.bind(t)}var E=Function.prototype.bind?C:P;function z(e,t){t=t||0;var n=e.length-t,r=new Array(n);while(n--)r[n]=e[n+t];return r}function M(e,t){for(var n in t)e[n]=t[n];return e}function D(e){for(var t={},n=0;n0),te=(Y&&Y.indexOf("android"),Y&&/iphone|ipad|ipod|ios/.test(Y)||"ios"===X),ne=(Y&&/chrome\/\d+/.test(Y),Y&&/phantomjs/.test(Y),Y&&Y.match(/firefox\/(\d+)/),{}.watch);if(G)try{var re={};Object.defineProperty(re,"passive",{get:function(){}}),window.addEventListener("test-passive",null,re)}catch(ni){}var ie=function(){return void 0===Q&&(Q=!G&&!H&&"undefined"!==typeof e&&(e["process"]&&"server"===e["process"].env.VUE_ENV)),Q},oe=G&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ae(e){return"function"===typeof e&&/native code/.test(e.toString())}var se,ce="undefined"!==typeof Symbol&&ae(Symbol)&&"undefined"!==typeof Reflect&&ae(Reflect.ownKeys);se="undefined"!==typeof Set&&ae(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var le=I,ue=0,de=function(){this.id=ue++,this.subs=[]};function fe(e){de.SharedObject.targetStack.push(e),de.SharedObject.target=e,de.target=e}function he(){de.SharedObject.targetStack.pop(),de.SharedObject.target=de.SharedObject.targetStack[de.SharedObject.targetStack.length-1],de.target=de.SharedObject.target}de.prototype.addSub=function(e){this.subs.push(e)},de.prototype.removeSub=function(e){y(this.subs,e)},de.prototype.depend=function(){de.SharedObject.target&&de.SharedObject.target.addDep(this)},de.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===S(e)){var c=Ge(String,i.type);(c<0||s0&&(a=At(a,(t||"")+"_"+n),bt(a[0])&&bt(l)&&(u[c]=me(l.text+a[0].text),a.shift()),u.push.apply(u,a)):s(a)?bt(l)?u[c]=me(l.text+a):""!==a&&u.push(me(a)):bt(a)&&bt(l)?u[c]=me(l.text+a.text):(o(e._isVList)&&i(a.tag)&&r(a.key)&&i(t)&&(a.key="__vlist"+t+"_"+n+"__"),u.push(a)));return u}function wt(e){var t=e.$options.provide;t&&(e._provided="function"===typeof t?t.call(e):t)}function Ot(e){var t=Tt(e.$options.inject,e);t&&(Te(!1),Object.keys(t).forEach((function(n){Ee(e,n,t[n])})),Te(!0))}function Tt(e,t){if(e){for(var n=Object.create(null),r=ce?Reflect.ownKeys(e):Object.keys(e),i=0;i0,a=e?!!e.$stable:!o,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(a&&r&&r!==n&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var c in i={},e)e[c]&&"$"!==c[0]&&(i[c]=Ct(t,c,e[c]))}else i={};for(var l in t)l in i||(i[l]=Et(t,l));return e&&Object.isExtensible(e)&&(e._normalized=i),W(i,"$stable",a),W(i,"$key",s),W(i,"$hasNormal",o),i}function Ct(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return e=e&&"object"===typeof e&&!Array.isArray(e)?[e]:xt(e),e&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function Et(e,t){return function(){return e[t]}}function zt(e,t){var n,r,o,a,s;if(Array.isArray(e)||"string"===typeof e)for(n=new Array(e.length),r=0,o=e.length;r1?z(n):n;for(var r=z(arguments,1),i='event handler for "'+e+'"',o=0,a=n.length;odocument.createEvent("Event").timeStamp&&(jn=function(){return Un.now()})}function Jn(){var e,t;for(jn(),Rn=!0,In.sort((function(e,t){return e.id-t.id})),Bn=0;BnBn&&In[n].id>e.id)n--;In.splice(n+1,0,e)}else In.push(e);_n||(_n=!0,ct(Jn))}}var Qn=0,Vn=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++Qn,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new se,this.newDepIds=new se,this.expression="","function"===typeof t?this.getter=t:(this.getter=K(t),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};Vn.prototype.get=function(){var e;fe(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(ni){if(!this.user)throw ni;He(ni,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ut(e),he(),this.cleanupDeps()}return e},Vn.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},Vn.prototype.cleanupDeps=function(){var e=this.deps.length;while(e--){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},Vn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Kn(this)},Vn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(ni){He(ni,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Vn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Vn.prototype.depend=function(){var e=this.deps.length;while(e--)this.deps[e].depend()},Vn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);var e=this.deps.length;while(e--)this.deps[e].removeSub(this);this.active=!1}};var Gn={enumerable:!0,configurable:!0,get:I,set:I};function Hn(e,t,n){Gn.get=function(){return this[t][n]},Gn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Gn)}function Xn(e){e._watchers=[];var t=e.$options;t.props&&Yn(e,t.props),t.methods&&ar(e,t.methods),t.data?$n(e):Ce(e._data={},!0),t.computed&&nr(e,t.computed),t.watch&&t.watch!==ne&&sr(e,t.watch)}function Yn(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],o=!e.$parent;o||Te(!1);var a=function(o){i.push(o);var a=qe(o,t,n,e);Ee(r,o,a),o in e||Hn(e,"_props",o)};for(var s in t)a(s);Te(!0)}function $n(e){var t=e.$options.data;t=e._data="function"===typeof t?er(t,e):t||{},u(t)||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);while(i--){var o=n[i];0,r&&b(r,o)||Z(o)||Hn(e,"_data",o)}Ce(t,!0)}function er(e,t){fe();try{return e.call(t,t)}catch(ni){return He(ni,t,"data()"),{}}finally{he()}}var tr={lazy:!0};function nr(e,t){var n=e._computedWatchers=Object.create(null),r=ie();for(var i in t){var o=t[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new Vn(e,a||I,I,tr)),i in e||rr(e,i,o)}}function rr(e,t,n){var r=!ie();"function"===typeof n?(Gn.get=r?ir(t):or(n),Gn.set=I):(Gn.get=n.get?r&&!1!==n.cache?ir(t):or(n.get):I,Gn.set=n.set||I),Object.defineProperty(e,t,Gn)}function ir(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),de.SharedObject.target&&t.depend(),t.value}}function or(e){return function(){return e.call(this,this)}}function ar(e,t){e.$options.props;for(var n in t)e[n]="function"!==typeof t[n]?I:E(t[n],e)}function sr(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1)return this;var n=z(arguments,1);return n.unshift(this),"function"===typeof e.install?e.install.apply(e,n):"function"===typeof e&&e.apply(null,n),t.push(e),this}}function mr(e){e.mixin=function(e){return this.options=Ze(this.options,e),this}}function yr(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name;var a=function(e){this._init(e)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=t++,a.options=Ze(n.options,e),a["super"]=n,a.options.props&&xr(a),a.options.computed&&br(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,N.forEach((function(e){a[e]=n[e]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=M({},a.options),i[r]=a,a}}function xr(e){var t=e.options.props;for(var n in t)Hn(e.prototype,"_props",n)}function br(e){var t=e.options.computed;for(var n in t)rr(e.prototype,n,t[n])}function Ar(e){N.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&u(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"===typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}function wr(e){return e&&(e.Ctor.options.name||e.tag)}function Or(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"===typeof e?e.split(",").indexOf(t)>-1:!!d(e)&&e.test(t)}function Tr(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=wr(a.componentOptions);s&&!t(s)&&kr(n,o,r,i)}}}function kr(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,y(n,t)}dr(gr),lr(gr),On(gr),Pn(gr),fn(gr);var Sr=[String,RegExp,Array],Pr={name:"keep-alive",abstract:!0,props:{include:Sr,exclude:Sr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)kr(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){Tr(e,(function(e){return Or(t,e)}))})),this.$watch("exclude",(function(t){Tr(e,(function(e){return!Or(t,e)}))}))},render:function(){var e=this.$slots.default,t=mn(e),n=t&&t.componentOptions;if(n){var r=wr(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!Or(o,r))||a&&r&&Or(a,r))return t;var s=this,c=s.cache,l=s.keys,u=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;c[u]?(t.componentInstance=c[u].componentInstance,y(l,u),l.push(u)):(c[u]=t,l.push(u),this.max&&l.length>parseInt(this.max)&&kr(c,l[0],l,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}},Cr={KeepAlive:Pr};function Er(e){var t={get:function(){return U}};Object.defineProperty(e,"config",t),e.util={warn:le,extend:M,mergeOptions:Ze,defineReactive:Ee},e.set=ze,e.delete=Me,e.nextTick=ct,e.observable=function(e){return Ce(e),e},e.options=Object.create(null),N.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,M(e.options.components,Cr),vr(e),mr(e),yr(e),Ar(e)}Er(gr),Object.defineProperty(gr.prototype,"$isServer",{get:ie}),Object.defineProperty(gr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(gr,"FunctionalRenderContext",{value:qt}),gr.version="2.6.11";var zr="[object Array]",Mr="[object Object]";function Dr(e,t){var n={};return Ir(e,t),Lr(e,t,"",n),n}function Ir(e,t){if(e!==t){var n=_r(e),r=_r(t);if(n==Mr&&r==Mr){if(Object.keys(e).length>=Object.keys(t).length)for(var i in t){var o=e[i];void 0===o?e[i]=null:Ir(o,t[i])}}else n==zr&&r==zr&&e.length>=t.length&&t.forEach((function(t,n){Ir(e[n],t)}))}}function Lr(e,t,n,r){if(e!==t){var i=_r(e),o=_r(t);if(i==Mr)if(o!=Mr||Object.keys(e).length1&&(t[n[0].trim()]=n[1].trim())}})),t}));function Hr(e){return Array.isArray(e)?D(e):"string"===typeof e?Gr(e):e}var Xr=["createSelectorQuery","createIntersectionObserver","selectAllComponents","selectComponent"];function Yr(e,t){var n=t.split("."),r=n[0];return 0===r.indexOf("__$n")&&(r=parseInt(r.replace("__$n",""))),1===n.length?e[r]:Yr(e[r],n.slice(1).join("."))}function $r(e){e.config.errorHandler=function(t,n,r){e.util.warn("Error in "+r+': "'+t.toString()+'"',n),console.error(t);var i="function"===typeof getApp&&getApp();i&&i.onError&&i.onError(t)};var t=e.prototype.$emit;e.prototype.$emit=function(e){return this.$scope&&e&&(this.$scope["_triggerEvent"]||this.$scope["triggerEvent"]).call(this.$scope,e,{__args__:z(arguments,1)}),t.apply(this,arguments)},e.prototype.$nextTick=function(e){return Nr(this,e)},Xr.forEach((function(t){e.prototype[t]=function(e){return this.$scope&&this.$scope[t]?this.$scope[t](e):"undefined"!==typeof my?"createSelectorQuery"===t?my.createSelectorQuery(e):"createIntersectionObserver"===t?my.createIntersectionObserver(e):void 0:void 0}})),e.prototype.__init_provide=wt,e.prototype.__init_injections=Ot,e.prototype.__call_hook=function(e,t){var n=this;fe();var r,i=n.$options[e],o=e+" hook";if(i)for(var a=0,s=i.length;ae.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?t-1:0),r=1;re.end.x||t.end.xe.start.y||t.start.y1&&(i.extra.mount.widthRatio>2&&(i.extra.mount.widthRatio=2),a+=(i.extra.mount.widthRatio-1)*n.eachSpacing);var s=t;return t>=0?(s=0,e.uevent.trigger("scrollLeft"),e.scrollOption.position="left",i.xAxis.scrollPosition="left"):Math.abs(t)>=a-o?(s=o-a,e.uevent.trigger("scrollRight"),e.scrollOption.position="right",i.xAxis.scrollPosition="right"):(e.scrollOption.position=t,i.xAxis.scrollPosition=t),s}function v(e,t,n){function r(e){while(e<0)e+=2*Math.PI;while(e>2*Math.PI)e-=2*Math.PI;return e}return e=r(e),t=r(t),n=r(n),t>n&&(n+=2*Math.PI,e=t&&e<=n}function m(e,t){function n(e,t){return!(!e[t-1]||!e[t+1])&&(e[t].y>=Math.max(e[t-1].y,e[t+1].y)||e[t].y<=Math.min(e[t-1].y,e[t+1].y))}function r(e,t){return!(!e[t-1]||!e[t+1])&&(e[t].x>=Math.max(e[t-1].x,e[t+1].x)||e[t].x<=Math.min(e[t-1].x,e[t+1].x))}var i=.2,o=.2,a=null,s=null,c=null,l=null;if(t<1?(a=e[0].x+(e[1].x-e[0].x)*i,s=e[0].y+(e[1].y-e[0].y)*i):(a=e[t].x+(e[t+1].x-e[t-1].x)*i,s=e[t].y+(e[t+1].y-e[t-1].y)*i),t>e.length-3){var u=e.length-1;c=e[u].x-(e[u].x-e[u-1].x)*o,l=e[u].y-(e[u].y-e[u-1].y)*o}else c=e[t+1].x-(e[t+2].x-e[t].x)*o,l=e[t+1].y-(e[t+2].y-e[t].y)*o;return n(e,t+1)&&(l=e[t+1].y),n(e,t)&&(s=e[t].y),r(e,t+1)&&(c=e[t+1].x),r(e,t)&&(a=e[t].x),(s>=Math.max(e[t].y,e[t+1].y)||s<=Math.min(e[t].y,e[t+1].y))&&(s=e[t].y),(l>=Math.max(e[t].y,e[t+1].y)||l<=Math.min(e[t].y,e[t+1].y))&&(l=e[t+1].y),(a>=Math.max(e[t].x,e[t+1].x)||a<=Math.min(e[t].x,e[t+1].x))&&(a=e[t].x),(c>=Math.max(e[t].x,e[t+1].x)||c<=Math.min(e[t].x,e[t+1].x))&&(c=e[t+1].x),{ctrA:{x:a,y:s},ctrB:{x:c,y:l}}}function y(e,t,n){return{x:n.x+e,y:n.y-t}}function x(e,t){if(t)while(d.isCollision(e,t))e.start.x>0?e.start.y--:e.start.x<0||e.start.y>0?e.start.y++:e.start.y--;return e}function b(e,t,n){var r=[];if(e.length>0&&e[0].data.constructor.toString().indexOf("Array")>-1){t._pieSeries_=e;for(var i=e[0].data,o=0;o=1e4?1e3:r>=1e3?100:r>=100?10:r>=10?5:r>=1?1:r>=.1?.1:r>=.01?.01:r>=.001?.001:r>=1e-4?1e-4:r>=1e-5?1e-5:1e-6,{minRange:h(e,"lower",n),maxRange:h(t,"upper",n)}}function T(e,t,n){var r=0;if(e=String(e),!1!==n&&void 0!==n&&n.setFontSize&&n.measureText)return n.setFontSize(t),n.measureText(e).width;e=e.split("");for(var i=0;i-1;if(o)for(var a=L(e),s=0;s5&&void 0!==arguments[5]?arguments[5]:{},a=t.chartData.calPoints?t.chartData.calPoints:[],s={};if(r.length>0){for(var c=[],l=0;l0&&(r=i[n]),{text:o.formatter?o.formatter(e,r,n,t):e.name+": "+e.data,color:e.color}})),f={x:Math.round(s.x),y:Math.round(s.y)};return{textList:d,offset:f}}function D(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=t.chartData.xAxisPoints[n]+t.chartData.eachSpacing/2,a=e.map((function(e){return{text:i.formatter?i.formatter(e,r[n],n,t):e.name+": "+e.data,color:e.color,disableLegend:!!e.disableLegend}}));a=a.filter((function(e){if(!0!==e.disableLegend)return e}));var s={x:Math.round(o),y:0};return{textList:a,offset:s}}function I(e,t,n,r,i,o){var a=n.chartData.calPoints,s=o.color.upFill,c=o.color.downFill,l=[s,s,c,s],u=[];t.map((function(t){0==r?t.data[1]-t.data[0]<0?l[1]=c:l[1]=s:(t.data[0]e[r-1][1]&&(l[2]=s),t.data[3]4&&void 0!==arguments[4]?arguments[4]:0,o={index:-1,group:[]},a=n.chartData.eachSpacing/2,s=[];if(t&&t.length>0){if(n.categories){for(var c=1;ct&&(o.index=n)}));else{for(var l=Array(t.length),u=0;u4&&void 0!==arguments[4]?arguments[4]:0,o={index:-1,group:[]},a=n.chartData.eachSpacing/2,s=n.chartData.yAxisPoints;return t&&t.length>0&&N(e,n,r)&&s.forEach((function(t,n){e.y+i+a>t&&(o.index=n)})),o}function R(e,t,n){var r=-1,i=0;if(B(e,t.area)){for(var o=t.points,a=-1,s=0,c=o.length;sd[0]-i&&e.xd[1]-i&&e.yt.start.x&&e.xt.start.y&&e.y=t.area[3]-10&&e.y>=t.area[0]&&e.y<=t.height-t.area[2]}function j(e,t,n){var r=2*Math.PI/n,i=-1;if(K(e,t.center,t.radius)){var o=function(e){return e<0&&(e+=2*Math.PI),e>2*Math.PI&&(e-=2*Math.PI),e},a=Math.atan2(t.center.y-e.y,e.x-t.center.x);a*=-1,a<0&&(a+=2*Math.PI);var s=t.angleList.map((function(e){return e=o(-1*e),e}));s.forEach((function(e,t){var n=o(e-r/2),s=o(e+r/2);s=n&&a<=s||a+2*Math.PI>=n&&a+2*Math.PI<=s)&&(i=t)}))}return i}function U(e,t){for(var n=-1,r=0,i=t.series.length;ro.funnelArea[0]&&e.xo.funnelArea[1]&&e.yo.area[0]&&e.xo.area[1]&&e.yt.width-t.area[1]-t.area[3]?(f.push(g),p.push(h-t.legend.itemGap*t.pix),h=x,g=[m]):(h+=x,g.push(m))}if(g.length){f.push(g),p.push(h-t.legend.itemGap*t.pix),o.widthArr=p;var b=Math.max.apply(null,p);switch(t.legend.float){case"left":o.area.start.x=t.area[3],o.area.end.x=t.area[3]+b+2*a;break;case"right":o.area.start.x=t.width-t.area[1]-b-2*a,o.area.end.x=t.width-t.area[1];break;default:o.area.start.x=(t.width-b)/2-a,o.area.end.x=(t.width+b)/2+a}o.area.width=b+2*a,o.area.wholeWidth=b+2*a,o.area.height=f.length*d+2*a,o.area.wholeHeight=f.length*d+2*a+2*s,o.points=f}}else{var A=e.length,w=t.height-t.area[0]-t.area[2]-2*s-2*a,O=Math.min(Math.floor(w/d),A);switch(o.area.height=O*d+2*a,o.area.wholeHeight=O*d+2*a,t.legend.float){case"top":o.area.start.y=t.area[0]+s,o.area.end.y=t.area[0]+s+o.area.height;break;case"bottom":o.area.start.y=t.height-t.area[2]-s-o.area.height,o.area.end.y=t.height-t.area[2]-s;break;default:o.area.start.y=(t.height-o.area.height)/2,o.area.end.y=(t.height+o.area.height)/2}for(var k=A%O===0?A/O:Math.floor(A/O+1),S=[],P=0;PM&&(M=I)}o.widthArr.push(M),o.heightArr.push(z.length*d+2*a)}for(var L=0,F=0;F4&&void 0!==arguments[4]?arguments[4]:-1;i="stack"==r?S(e,t.categories.length):k(e);var a=[];i=i.filter((function(e){return"object"===typeof e&&null!==e?e.constructor.toString().indexOf("Array")>-1?null!==e:null!==e.value:null!==e})),i.map((function(e){"object"===typeof e?e.constructor.toString().indexOf("Array")>-1?"candle"==t.type?e.map((function(e){a.push(e)})):a.push(e[0]):a.push(e.value):a.push(e)}));var s=0,c=0;if(a.length>0&&(s=Math.min.apply(this,a),c=Math.max.apply(this,a)),o>-1?("number"===typeof t.xAxis.data[o].min&&(s=Math.min(t.xAxis.data[o].min,s)),"number"===typeof t.xAxis.data[o].max&&(c=Math.max(t.xAxis.data[o].max,c))):("number"===typeof t.xAxis.min&&(s=Math.min(t.xAxis.min,s)),"number"===typeof t.xAxis.max&&(c=Math.max(t.xAxis.max,c))),s===c){var l=c||10;c+=l}for(var u=s,d=c,f=[],h=(d-u)/t.xAxis.splitNumber,p=0;p<=t.xAxis.splitNumber;p++)f.push(u+h*p);return f}function X(e,t,n,r){var i=u({},{type:""},t.extra.bar),o={angle:0,xAxisHeight:n.xAxisHeight};o.ranges=H(e,t,n,i.type),o.rangesFormat=o.ranges.map((function(e){return e=d.toFixed(e,2),e}));var a=o.ranges.map((function(e){return e=d.toFixed(e,2),e}));o=Object.assign(o,fe(a,t,n));var s=o.eachSpacing,c=a.map((function(e){return T(e,t.xAxis.fontSize*t.pix||n.fontSize,r)})),l=Math.max.apply(this,c);return l+2*n.xAxisTextPadding>s&&(o.angle=45*Math.PI/180,o.xAxisHeight=2*n.xAxisTextPadding+l*Math.sin(o.angle)),!0===t.xAxis.disabled&&(o.xAxisHeight=0),o}function Y(e,t,n,r,i){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,a=i.extra.radar||{};a.max=a.max||0;for(var s=Math.max(a.max,Math.max.apply(null,k(r))),c=[],l=function(i){var a=r[i],l={};l.color=a.color,l.legendShape=a.legendShape,l.pointShape=a.pointShape,l.data=[],a.data.forEach((function(r,i){var a={};a.angle=e[i],a.proportion=r/s,a.value=r,a.position=y(n*a.proportion*o*Math.cos(a.angle),n*a.proportion*o*Math.sin(a.angle),t),l.data.push(a)})),c.push(l)},u=0;u2&&void 0!==arguments[2]?arguments[2]:1,r=0,i=0,o=0;o4&&void 0!==arguments[4]?arguments[4]:1;e=e.sort((function(e,t){return parseInt(t.data)-parseInt(e.data)}));for(var o=0;o4&&void 0!==arguments[4]?arguments[4]:1,o=0,a=0,s=[],c=0;c2&&void 0!==arguments[2]?arguments[2]:1;1==n&&(n=.999999);for(var r=0;r=2&&(i._proportion_=i._proportion_%2)}return e}function re(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;1==n&&(n=.999999);for(var r=0;r=2&&(i._proportion_=i._proportion_%2)}return e}function ie(e,t,n){for(var r=t-n+1,i=t,o=0;o=2&&(e[o]._endAngle_=e[o]._endAngle_%2),i=e[o]._endAngle_;return e}function oe(e,t,n){for(var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,i=0;i=n.oldData?o._proportion_=(o._endAngle_-o._oldAngle_)*r+n.oldAngle:o._proportion_=o._oldAngle_-(o._oldAngle_-o._endAngle_)*r,o._proportion_>=2&&(o._proportion_=o._proportion_%2)}return e}function ae(e,t,n,r){e=$(e);for(var i=0,o=0;o0&&(e.width=Math.min(e.width,+o.extra.mix.column.width*o.pix)),o.extra.column&&o.extra.column.width&&+o.extra.column.width>0&&(e.width=Math.min(e.width,+o.extra.column.width*o.pix)),e.width<=0&&(e.width=1),e.x+=(r+.5-n/2)*(e.width+i),e}))}function ce(e,t,n,r,i,o){return e.map((function(e){if(null===e)return null;var i=0,a=0;return i=o.extra.bar.seriesGap*o.pix||0,a=o.extra.bar.categoryGap*o.pix||0,i=Math.min(i,t/n),a=Math.min(a,t/n),e.width=Math.ceil((t-2*a-i*(n-1))/n),o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0&&(e.width=Math.min(e.width,+o.extra.bar.width*o.pix)),e.width<=0&&(e.width=1),e.y+=(r+.5-n/2)*(e.width+i),e}))}function le(e,t,n,r,i,o,a){var s=o.extra.column.categoryGap*o.pix||0;return e.map((function(e){return null===e?null:(e.width=t-2*s,o.extra.column&&o.extra.column.width&&+o.extra.column.width>0&&(e.width=Math.min(e.width,+o.extra.column.width*o.pix)),r>0&&(e.width-=a),e)}))}function ue(e,t,n,r,i,o,a){var s=o.extra.column.categoryGap*o.pix||0;return e.map((function(e,n){return null===e?null:(e.width=Math.ceil(t-2*s),o.extra.column&&o.extra.column.width&&+o.extra.column.width>0&&(e.width=Math.min(e.width,+o.extra.column.width*o.pix)),e.width<=0&&(e.width=1),e)}))}function de(e,t,n,r,i,o,a){var s=o.extra.bar.categoryGap*o.pix||0;return e.map((function(e,n){return null===e?null:(e.width=Math.ceil(t-2*s),o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0&&(e.width=Math.min(e.width,+o.extra.bar.width*o.pix)),e.width<=0&&(e.width=1),e)}))}function fe(e,t,n){var r=t.width-t.area[1]-t.area[3],i=t.enableScroll?Math.min(t.xAxis.itemCount,e.length):e.length;("line"==t.type||"area"==t.type||"scatter"==t.type||"bubble"==t.type||"bar"==t.type)&&i>1&&"justify"==t.xAxis.boundaryGap&&(i-=1);var o=0;"mount"==t.type&&t.extra&&t.extra.mount&&t.extra.mount.widthRatio&&t.extra.mount.widthRatio>1&&(t.extra.mount.widthRatio>2&&(t.extra.mount.widthRatio=2),o=t.extra.mount.widthRatio-1,i+=o);var a=r/i,s=[],c=t.area[3],l=t.width-t.area[1];return e.forEach((function(e,t){s.push(c+o/2*a+t*a)})),"justify"!==t.xAxis.boundaryGap&&(!0===t.enableScroll?s.push(c+o*a+e.length*a):s.push(l)),{xAxisPoints:s,startX:c,endX:l,eachSpacing:a}}function he(e,t,n,r,i,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c=[],l=o.height-o.area[0]-o.area[2];return e.forEach((function(e,a){if(null===e)c.push(null);else{var u=[];e.forEach((function(e,c){var d={};d.x=r[a]+Math.round(i/2);var f=e.value||e,h=l*(f-t)/(n-t);h*=s,d.y=o.height-Math.round(h)-o.area[2],u.push(d)})),c.push(u)}})),c}function pe(e,t,n,r,i,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c="center";"line"!=o.type&&"area"!=o.type&&"scatter"!=o.type&&"bubble"!=o.type||(c=o.xAxis.boundaryGap);var l=[],u=o.height-o.area[0]-o.area[2],d=o.width-o.area[1]-o.area[3];return e.forEach((function(e,a){if(null===e)l.push(null);else{var f={};f.color=e.color,f.x=r[a];var h,p,g,v=e;if("object"===typeof e&&null!==e)if(e.constructor.toString().indexOf("Array")>-1)h=[].concat(o.chartData.xAxisData.ranges),p=h.shift(),g=h.pop(),v=e[1],f.x=o.area[3]+d*(e[0]-p)/(g-p),"bubble"==o.type&&(f.r=e[2],f.t=e[3]);else v=e.value;"center"==c&&(f.x+=i/2);var m=u*(v-t)/(n-t);m*=s,f.y=o.height-m-o.area[2],l.push(f)}})),l}function ge(e,t,n,r,i,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c=[],l=o.height-o.area[0]-o.area[2],u=(o.width,o.area[1],o.area[3],i*a.widthRatio);return e.forEach((function(e,a){if(null===e)c.push(null);else{var d={};d.color=e.color,d.x=r[a],d.x+=i/2;var f=e.data,h=l*(f-t)/(n-t);h*=s,d.y=o.height-h-o.area[2],d.value=f,d.width=u,c.push(d)}})),c}function ve(e,t,n,r,i,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c=[],l=(o.height,o.area[0],o.area[2],o.width-o.area[1]-o.area[3]);return e.forEach((function(e,i){if(null===e)c.push(null);else{var a={};a.color=e.color,a.y=r[i];var u=e;"object"===typeof e&&null!==e&&(u=e.value);var d=l*(u-t)/(n-t);d*=s,a.height=d,a.value=u,a.x=d+o.area[3],c.push(a)}})),c}function me(e,t,n,r,i,o,a,s,c){var l=arguments.length>9&&void 0!==arguments[9]?arguments[9]:1,u=[],d=o.height-o.area[0]-o.area[2];return e.forEach((function(e,a){if(null===e)u.push(null);else{var f={};if(f.color=e.color,f.x=r[a]+Math.round(i/2),s>0){for(var h=0,p=0;p<=s;p++)h+=c[p].data[a];var g=h-e,v=d*(h-t)/(n-t),m=d*(g-t)/(n-t)}else h=e,v=d*(h-t)/(n-t),m=0;var y=m;v*=l,y*=l,f.y=o.height-Math.round(v)-o.area[2],f.y0=o.height-Math.round(y)-o.area[2],u.push(f)}})),u}function ye(e,t,n,r,i,o,a,s,c){var l=arguments.length>9&&void 0!==arguments[9]?arguments[9]:1,u=[],d=o.width-o.area[1]-o.area[3];return e.forEach((function(e,i){if(null===e)u.push(null);else{var a={};if(a.color=e.color,a.y=r[i],s>0){for(var f=0,h=0;h<=s;h++)f+=c[h].data[i];var p=f-e,g=d*(f-t)/(n-t),v=d*(p-t)/(n-t)}else f=e,g=d*(f-t)/(n-t),v=0;var m=v;g*=l,m*=l,a.height=g-m,a.x=o.area[3]+g,a.x0=o.area[3]+m,u.push(a)}})),u}function xe(e,t,n,r,i){var o;o="stack"==r?S(e,t.categories.length):k(e);var a=[];o=o.filter((function(e){return"object"===typeof e&&null!==e?e.constructor.toString().indexOf("Array")>-1?null!==e:null!==e.value:null!==e})),o.map((function(e){"object"===typeof e?e.constructor.toString().indexOf("Array")>-1?"candle"==t.type?e.map((function(e){a.push(e)})):a.push(e[1]):a.push(e.value):a.push(e)}));var s=i.min||0,c=i.max||0;a.length>0&&(s=Math.min.apply(this,a),c=Math.max.apply(this,a)),s===c&&(0==c?c=10:s=0);for(var l=O(s,c),u=void 0===i.min||null===i.min?l.minRange:i.min,d=void 0===i.max||null===i.max?l.maxRange:i.max,f=[],h=(d-u)/t.yAxis.splitNumber,p=0;p<=t.yAxis.splitNumber;p++)f.push(u+h*p);return f.reverse()}function be(e,t,n,r){var i=u({},{type:""},t.extra.column),o=t.yAxis.data.length,a=new Array(o);if(o>0){for(var s=0;s-1?o[s][1]:o[s].value);var u=t.formatter?t.formatter(l,s,t,i):l;r.setTextAlign("center"),r.fillText(String(u),e.x,e.y-4+a*i.pix),r.closePath(),r.stroke(),r.setTextAlign("left")}}))}function Pe(e,t,n,r,i){t.data;var o=t.textOffset?t.textOffset:0;e.forEach((function(e,a){if(null!==e){r.beginPath();var s=t[a].textSize?t[a].textSize*i.pix:n.fontSize;r.setFontSize(s),r.setFillStyle(t[a].textColor||i.fontColor);var c=e.value,l=t[a].formatter?t[a].formatter(c,a,t,i):c;r.setTextAlign("center"),r.fillText(String(l),e.x,e.y-4+o*i.pix),r.closePath(),r.stroke(),r.setTextAlign("left")}}))}function Ce(e,t,n,r,i){var o=t.data;t.textOffset&&t.textOffset;e.forEach((function(e,a){if(null!==e){r.beginPath();var s=t.textSize?t.textSize*i.pix:n.fontSize;r.setFontSize(s),r.setFillStyle(t.textColor||i.fontColor);var c=o[a];"object"===typeof o[a]&&null!==o[a]&&(c=o[a].value);var l=t.formatter?t.formatter(c,a,t,i):c;r.setTextAlign("left"),r.fillText(String(l),e.x+4*i.pix,e.y+s/2-3),r.closePath(),r.stroke()}}))}function Ee(e,t,n,r,i,o){t-=e.width/2+e.labelOffset*r.pix,t=t<10?10:t;for(var a=e.startAngle-e.endAngle+1,s=a/e.splitLine.splitNumber,c=e.endNumber-e.startNumber,l=c/e.splitLine.splitNumber,u=e.startAngle,d=e.startNumber,f=0;f=2&&(u%=2),d+=l}}function ze(e,t,n,r,i,o){var a=r.extra.radar||{};e.forEach((function(e,s){if(!0===a.labelPointShow&&""!==r.categories[s]){var c={x:t*Math.cos(e),y:t*Math.sin(e)},l=y(c.x,c.y,n);o.setFillStyle(a.labelPointColor),o.beginPath(),o.arc(l.x,l.y,a.labelPointRadius*r.pix,0,2*Math.PI,!1),o.closePath(),o.fill()}var u={x:(t+i.radarLabelTextMargin*r.pix)*Math.cos(e),y:(t+i.radarLabelTextMargin*r.pix)*Math.sin(e)},f=y(u.x,u.y,n),h=f.x,p=f.y;d.approximatelyEqual(u.x,0)?h-=T(r.categories[s]||"",i.fontSize,o)/2:u.x<0&&(h-=T(r.categories[s]||"",i.fontSize,o)),o.beginPath(),o.setFontSize(i.fontSize),o.setFillStyle(a.labelColor||r.fontColor),o.fillText(r.categories[s]||"",h,p+i.fontSize/2),o.closePath(),o.stroke()}))}function Me(e,t,n,r,i,o){for(var a=n.pieChartLinePadding,s=[],c=null,l=e.map((function(n,r){var i=n.formatter?n.formatter(n,r,e,t):d.toFixed(100*n._proportion_.toFixed(4))+"%";i=n.labelText?n.labelText:i;var o=2*Math.PI-(n._start_+2*Math.PI*n._proportion_/2);n._rose_proportion_&&(o=2*Math.PI-(n._start_+2*Math.PI*n._rose_proportion_/2));var a=n.color,s=n._radius_;return{arc:o,text:i,color:a,radius:s,textColor:n.textColor,textSize:n.textSize,labelShow:n.labelShow}})),u=0;u=0?h+n.pieChartTextPadding:h-n.pieChartTextPadding,b=p,A=T(f.text,f.textSize*t.pix||n.fontSize,r),w=b;c&&d.isSameXCoordinateArea(c.start,{x:m})&&(w=m>0?Math.min(b,c.start.y):h<0||b>0?Math.max(b,c.start.y):Math.min(b,c.start.y)),m<0&&(m-=A);var O={lineStart:{x:g,y:v},lineEnd:{x:h,y:p},start:{x:m,y:w},width:A,height:n.fontSize,text:f.text,color:f.color,textColor:f.textColor,textSize:f.textSize};c=x(O,c),s.push(c)}for(var k=0;ki?i:o.activeWidth;var a=t.area[0],s=t.height-t.area[2];r.beginPath(),r.setFillStyle(f(o.activeBgColor,o.activeBgOpacity)),r.rect(e-o.activeWidth/2,a,o.activeWidth,s-a),r.closePath(),r.fill(),r.setFillStyle("#FFFFFF")}function _e(e,t,n,r,i){var o=u({},{activeBgColor:"#000000",activeBgOpacity:.08},t.extra.bar),a=t.area[3],s=t.width-t.area[1];r.beginPath(),r.setFillStyle(f(o.activeBgColor,o.activeBgOpacity)),r.rect(a,e-i/2,s-a,i),r.closePath(),r.fill(),r.setFillStyle("#FFFFFF")}function Re(e,t,n,r,i,o,a){var s=u({},{showBox:!0,showArrow:!0,showCategory:!1,bgColor:"#000000",bgOpacity:.7,borderColor:"#000000",borderWidth:0,borderRadius:0,borderOpacity:.7,fontColor:"#FFFFFF",splitLine:!0},n.extra.tooltip);1==s.showCategory&&n.categories&&e.unshift({text:n.categories[n.tooltip.index],color:null});var c=4*n.pix,l=5*n.pix,d=s.showArrow?8*n.pix:0,h=!1;"line"!=n.type&&"mount"!=n.type&&"area"!=n.type&&"candle"!=n.type&&"mix"!=n.type||1==s.splitLine&&De(n.tooltip.offset.x,n,r,i),t=u({x:0,y:0},t),t.y-=8*n.pix;var p=e.map((function(e){return T(e.text,r.fontSize,i)})),g=c+l+4*r.toolTipPadding+Math.max.apply(null,p),v=2*r.toolTipPadding+e.length*r.toolTipLineHeight;if(0!=s.showBox){t.x-Math.abs(n._scrollDistance_||0)+d+g>n.width&&(h=!0),v+t.y>n.height&&(t.y=n.height-v),i.beginPath(),i.setFillStyle(f(s.bgColor||r.toolTipBackground,s.bgOpacity||r.toolTipOpacity)),i.setLineWidth(s.borderWidth*n.pix),i.setStrokeStyle(f(s.borderColor,s.borderOpacity));var m=s.borderRadius;h?(s.showArrow&&(i.moveTo(t.x,t.y+10*n.pix),i.lineTo(t.x-d,t.y+10*n.pix+5*n.pix)),i.arc(t.x-d-m,t.y+v-m,m,0,Math.PI/2,!1),i.arc(t.x-d-Math.round(g)+m,t.y+v-m,m,Math.PI/2,Math.PI,!1),i.arc(t.x-d-Math.round(g)+m,t.y+m,m,-Math.PI,-Math.PI/2,!1),i.arc(t.x-d-m,t.y+m,m,-Math.PI/2,0,!1),s.showArrow&&(i.lineTo(t.x-d,t.y+10*n.pix-5*n.pix),i.lineTo(t.x,t.y+10*n.pix))):(s.showArrow&&(i.moveTo(t.x,t.y+10*n.pix),i.lineTo(t.x+d,t.y+10*n.pix-5*n.pix)),i.arc(t.x+d+m,t.y+m,m,-Math.PI,-Math.PI/2,!1),i.arc(t.x+d+Math.round(g)-m,t.y+m,m,-Math.PI/2,0,!1),i.arc(t.x+d+Math.round(g)-m,t.y+v-m,m,0,Math.PI/2,!1),i.arc(t.x+d+m,t.y+v-m,m,Math.PI/2,Math.PI,!1),s.showArrow&&(i.lineTo(t.x+d,t.y+10*n.pix+5*n.pix),i.lineTo(t.x,t.y+10*n.pix))),i.closePath(),i.fill(),s.borderWidth>0&&i.stroke(),e.forEach((function(e,n){if(null!==e.color){i.beginPath(),i.setFillStyle(e.color);var o=t.x+d+2*r.toolTipPadding,a=t.y+(r.toolTipLineHeight-r.fontSize)/2+r.toolTipLineHeight*n+r.toolTipPadding+1;h&&(o=t.x-g-d+2*r.toolTipPadding),i.fillRect(o,a,c,r.fontSize),i.closePath()}})),e.forEach((function(e,n){var o=t.x+d+2*r.toolTipPadding+c+l;h&&(o=t.x-g-d+2*r.toolTipPadding+ +c+l);var a=t.y+(r.toolTipLineHeight-r.fontSize)/2+r.toolTipLineHeight*n+r.toolTipPadding;i.beginPath(),i.setFontSize(r.fontSize),i.setFillStyle(s.fontColor),i.fillText(e.text,o,a+r.fontSize),i.closePath(),i.stroke()}))}}function Be(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{type:"group",width:c/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:!1,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.column),d=[];i.save();var h=-2,p=s.length+2;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),h=Math.floor(-t._scrollDistance_/c)-2,p=h+t.xAxis.itemCount+4),t.tooltip&&t.tooltip.textList&&t.tooltip.textList.length&&1===o&&Fe(t.tooltip.offset.x,t,n,i,c),l.customColor=w(l.linearType,l.customColor,e,n),e.forEach((function(a,u){var g,v,m;g=[].concat(t.chartData.yAxisData.ranges[a.index]),v=g.pop(),m=g.shift();var y=a.data;switch(l.type){case"group":var x=pe(y,v,m,s,c,t,n,o),b=me(y,v,m,s,c,t,n,u,e,o);d.push(b),x=se(x,c,e.length,u,n,t);for(var A=0;Ah&&AR?R:I,L=L>R?R:L,F=F>R?R:F,_=_>R?R:_,I=I<0?0:I,L=L<0?0:L,F=F<0?0:F,_=_<0?0:_,i.arc(C+I,E+I,I,-Math.PI,-Math.PI/2),i.arc(C+z-L,E+L,L,-Math.PI/2,0),i.arc(C+z-F,E+M-F,F,0,Math.PI/2),i.arc(C+_,E+M-_,_,Math.PI/2,Math.PI)}else i.moveTo(O,w.y),i.lineTo(O+w.width,w.y),i.lineTo(O+w.width,t.height-t.area[2]),i.lineTo(O,t.height-t.area[2]),i.lineTo(O,w.y),i.setLineWidth(1),i.setStrokeStyle(S);i.setFillStyle(k),i.closePath(),i.fill()}}break;case"stack":x=me(y,v,m,s,c,t,n,u,e,o);d.push(x),x=ue(x,c,e.length,u,n,t,e);for(var B=0;Bh&&B0&&(T-=j),i.setFillStyle(k),i.moveTo(O,N.y),i.fillRect(O,N.y,N.width,T),i.closePath(),i.fill()}}break;case"meter":x=pe(y,v,m,s,c,t,n,o);d.push(x),x=le(x,c,e.length,u,n,t,l.meterBorder);for(var U=0;Uh&&U0&&(i.setStrokeStyle(a.color),i.setLineWidth(l.meterBorder*t.pix)),0==u?i.setFillStyle(l.meterFillColor):i.setFillStyle(J.color||a.color);O=J.x-J.width/2,T=t.height-J.y-t.area[2];if(l.barBorderRadius&&4===l.barBorderRadius.length||!0===l.barBorderCircle){var Z=O,W=J.y,q=J.width,K=t.height-t.area[2]-J.y;l.barBorderCircle&&(l.barBorderRadius=[q/2,q/2,0,0]);var Q=r(l.barBorderRadius,4),V=Q[0],G=Q[1],H=Q[2],X=Q[3],Y=Math.min(q/2,K/2);V=V>Y?Y:V,G=G>Y?Y:G,H=H>Y?Y:H,X=X>Y?Y:X,V=V<0?0:V,G=G<0?0:G,H=H<0?0:H,X=X<0?0:X,i.arc(Z+V,W+V,V,-Math.PI,-Math.PI/2),i.arc(Z+q-G,W+G,G,-Math.PI/2,0),i.arc(Z+q-H,W+K-H,H,0,Math.PI/2),i.arc(Z+X,W+K-X,X,Math.PI/2,Math.PI),i.fill()}else i.moveTo(O,J.y),i.lineTo(O+J.width,J.y),i.lineTo(O+J.width,t.height-t.area[2]),i.lineTo(O,t.height-t.area[2]),i.lineTo(O,J.y),i.fill();0==u&&l.meterBorder>0&&(i.closePath(),i.stroke())}}break}})),!1!==t.dataLabel&&1===o&&e.forEach((function(r,a){var u,d,f;u=[].concat(t.chartData.yAxisData.ranges[r.index]),d=u.pop(),f=u.shift();var h=r.data;switch(l.type){case"group":var p=pe(h,d,f,s,c,t,n,o);p=se(p,c,e.length,a,n,t),Se(p,r,n,i,t);break;case"stack":p=me(h,d,f,s,c,t,n,a,e,o);Se(p,r,n,i,t);break;case"meter":p=pe(h,d,f,s,c,t,n,o);Se(p,r,n,i,t);break}})),i.restore(),{xAxisPoints:s,calPoints:d,eachSpacing:c}}function Ne(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:!1,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.mount);l.widthRatio=l.widthRatio<=0?0:l.widthRatio,l.widthRatio=l.widthRatio>=2?2:l.widthRatio;i.save();var d,h,p,g=-2,v=s.length+2;t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),g=Math.floor(-t._scrollDistance_/c)-2,v=g+t.xAxis.itemCount+4),l.customColor=w(l.linearType,l.customColor,e,n),d=[].concat(t.chartData.yAxisData.ranges[0]),h=d.pop(),p=d.shift();var m=ge(e,h,p,s,c,t,l,o);switch(l.type){case"bar":for(var y=0;yg&&yF?F:M,D=D>F?F:D,I=I>F?F:I,L=L>F?F:L,M=M<0?0:M,D=D<0?0:D,I=I<0?0:I,L=L<0?0:L,i.arc(S+M,P+M,M,-Math.PI,-Math.PI/2),i.arc(S+C-D,P+D,D,-Math.PI/2,0),i.arc(S+C-I,P+E-I,I,0,Math.PI/2),i.arc(S+L,P+E-L,L,Math.PI/2,Math.PI)}else i.moveTo(b,x.y),i.lineTo(b+x.width,x.y),i.lineTo(b+x.width,t.height-t.area[2]),i.lineTo(b,t.height-t.area[2]),i.lineTo(b,x.y);i.setStrokeStyle(T),i.setFillStyle(O),l.borderWidth>0&&(i.setLineWidth(l.borderWidth*t.pix),i.closePath(),i.stroke()),i.fill()}}break;case"triangle":for(var _=0;_g&&_0&&(i.setLineWidth(l.borderWidth*t.pix),i.stroke()),i.fill()}}break;case"mount":for(var B=0;Bg&&B0&&(i.setLineWidth(l.borderWidth*t.pix),i.stroke()),i.fill()}}break;case"sharp":for(var j=0;jg&&j0&&(i.setLineWidth(l.borderWidth*t.pix),i.stroke()),i.fill()}}break}if(!1!==t.dataLabel&&1===o){var J,Z,W;J=[].concat(t.chartData.yAxisData.ranges[0]),Z=J.pop(),W=J.shift();m=ge(e,Z,W,s,c,t,l,o);Pe(m,e,n,i,t)}return i.restore(),{xAxisPoints:s,calPoints:m,eachSpacing:c}}function je(e,t,n,i){for(var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=[],s=(t.height-t.area[0]-t.area[2])/t.categories.length,c=0;ch&&AR?R:I,L=L>R?R:L,F=F>R?R:F,_=_>R?R:_,I=I<0?0:I,L=L<0?0:L,F=F<0?0:F,_=_<0?0:_,i.arc(C+_,z+_,_,-Math.PI,-Math.PI/2),i.arc(w.x-I,z+I,I,-Math.PI/2,0),i.arc(w.x-L,z+E-L,L,0,Math.PI/2),i.arc(C+F,z+E-F,F,Math.PI/2,Math.PI)}else i.moveTo(O,T),i.lineTo(w.x,T),i.lineTo(w.x,T+w.width),i.lineTo(O,T+w.width),i.lineTo(O,T),i.setLineWidth(1),i.setStrokeStyle(S);i.setFillStyle(k),i.closePath(),i.fill()}}break;case"stack":x=ye(y,v,m,a,s,t,n,u,e,o);d.push(x),x=de(x,s,e.length,u,n,t,e);for(var B=0;Bh&&B5&&void 0!==arguments[5]?arguments[5]:1,a=u({},{color:{},average:{}},n.extra.candle);a.color=u({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},a.color),a.average=u({},{show:!1,name:[],day:[],color:r.color},a.average),n.extra.candle=a;var s=n.chartData.xAxisData,c=s.xAxisPoints,l=s.eachSpacing,d=[];i.save();var f=-2,h=c.length+2,p=0,g=n.width+l;return n._scrollDistance_&&0!==n._scrollDistance_&&!0===n.enableScroll&&(i.translate(n._scrollDistance_,0),f=Math.floor(-n._scrollDistance_/l)-2,h=f+n.xAxis.itemCount+4,p=-n._scrollDistance_-2*l+n.area[3],g=p+(n.xAxis.itemCount+4)*l),(a.average.show||t)&&t.forEach((function(e,t){var a,s,u;a=[].concat(n.chartData.yAxisData.ranges[e.index]),s=a.pop(),u=a.shift();for(var d=e.data,f=pe(d,s,u,c,l,n,r,o),h=Q(f,e),v=0;vp&&(i.moveTo(A.x,A.y),x=1),b>0&&A.x>p&&A.xf&&y0?(i.setStrokeStyle(a.color.upLine),i.setFillStyle(a.color.upFill),i.setLineWidth(1*n.pix),i.moveTo(x[3].x,x[3].y),i.lineTo(x[1].x,x[1].y),i.lineTo(x[1].x-l/4,x[1].y),i.lineTo(x[0].x-l/4,x[0].y),i.lineTo(x[0].x,x[0].y),i.lineTo(x[2].x,x[2].y),i.lineTo(x[0].x,x[0].y),i.lineTo(x[0].x+l/4,x[0].y),i.lineTo(x[1].x+l/4,x[1].y),i.lineTo(x[1].x,x[1].y),i.moveTo(x[3].x,x[3].y)):(i.setStrokeStyle(a.color.downLine),i.setFillStyle(a.color.downFill),i.setLineWidth(1*n.pix),i.moveTo(x[3].x,x[3].y),i.lineTo(x[0].x,x[0].y),i.lineTo(x[0].x-l/4,x[0].y),i.lineTo(x[1].x-l/4,x[1].y),i.lineTo(x[1].x,x[1].y),i.lineTo(x[2].x,x[2].y),i.lineTo(x[1].x,x[1].y),i.lineTo(x[1].x+l/4,x[1].y),i.lineTo(x[0].x+l/4,x[0].y),i.lineTo(x[0].x,x[0].y),i.moveTo(x[3].x,x[3].y)),i.closePath(),i.fill(),i.stroke()}})),i.restore(),{xAxisPoints:c,calPoints:d,eachSpacing:l}}function Je(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"straight",opacity:.2,addLine:!1,width:2,gradient:!1},t.extra.area),a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=t.height-t.area[2],d=[];r.save();var h=0,p=t.width+c;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),h=-t._scrollDistance_-2*c+t.area[3],p=h+(t.xAxis.itemCount+4)*c),e.forEach((function(e,a){var u,g,v;u=[].concat(t.chartData.yAxisData.ranges[e.index]),g=u.pop(),v=u.shift();var y=e.data,x=pe(y,g,v,s,c,t,n,i);d.push(x);for(var b=Q(x,e),A=0;A1){var T=w[0],k=w[w.length-1];r.moveTo(T.x,T.y);var S=0;if("curve"===o.type)for(var P=0;Ph&&(r.moveTo(C.x,C.y),S=1),P>0&&C.x>h&&C.xh&&(r.moveTo(M.x,M.y),S=1),z>0&&M.x>h&&M.xh&&(r.moveTo(I.x,I.y),S=1),D>0&&I.x>h&&I.xh&&(r.moveTo(B.x,B.y),_=1),R>0&&B.x>h&&B.xh&&(r.moveTo(U.x,U.y),_=1),j>0&&U.x>h&&U.xh&&(r.moveTo(Z.x,Z.y),_=1),J>0&&Z.x>h&&Z.x4&&void 0!==arguments[4]?arguments[4]:1,o=(u({},{type:"circle"},t.extra.scatter),t.chartData.xAxisData),a=o.xAxisPoints,s=o.eachSpacing,c=[];r.save();var l=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),l=-t._scrollDistance_-2*s+t.area[3],l+(t.xAxis.itemCount+4)*s),e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,i);r.beginPath(),r.setStrokeStyle(e.color),r.setFillStyle(e.color),r.setLineWidth(1*t.pix);var h=e.pointShape;if("diamond"===h)f.forEach((function(e,t){null!==e&&(r.moveTo(e.x,e.y-4.5),r.lineTo(e.x-4.5,e.y),r.lineTo(e.x,e.y+4.5),r.lineTo(e.x+4.5,e.y),r.lineTo(e.x,e.y-4.5))}));else if("circle"===h)f.forEach((function(e,n){null!==e&&(r.moveTo(e.x+2.5*t.pix,e.y),r.arc(e.x,e.y,3*t.pix,0,2*Math.PI,!1))}));else if("square"===h)f.forEach((function(e,t){null!==e&&(r.moveTo(e.x-3.5,e.y-3.5),r.rect(e.x-3.5,e.y-3.5,7,7))}));else if("triangle"===h)f.forEach((function(e,t){null!==e&&(r.moveTo(e.x,e.y-4.5),r.lineTo(e.x-4.5,e.y+4.5),r.lineTo(e.x+4.5,e.y+4.5),r.lineTo(e.x,e.y-4.5))}));else if("triangle"===h)return;r.closePath(),r.fill(),r.stroke()})),!1!==t.dataLabel&&1===i&&e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,i);Se(f,e,n,r,t)})),r.restore(),{xAxisPoints:a,calPoints:c,eachSpacing:s}}function We(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{opacity:1,border:2},t.extra.bubble),a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];r.save();var d=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],d+(t.xAxis.itemCount+4)*c),e.forEach((function(a,l){var u,d,h;u=[].concat(t.chartData.yAxisData.ranges[a.index]),d=u.pop(),h=u.shift();var p=a.data,g=pe(p,d,h,s,c,t,n,i);r.beginPath(),r.setStrokeStyle(a.color),r.setLineWidth(o.border*t.pix),r.setFillStyle(f(a.color,o.opacity)),g.forEach((function(e,n){r.moveTo(e.x+e.r,e.y),r.arc(e.x,e.y,e.r*t.pix,0,2*Math.PI,!1)})),r.closePath(),r.fill(),r.stroke(),!1!==t.dataLabel&&1===i&&g.forEach((function(i,o){r.beginPath();var a=e.textSize*t.pix||n.fontSize;r.setFontSize(a),r.setFillStyle(e.textColor||"#FFFFFF"),r.setTextAlign("center"),r.fillText(String(i.t),i.x,i.y+a/2),r.closePath(),r.stroke(),r.setTextAlign("left")}))})),r.restore(),{xAxisPoints:s,calPoints:l,eachSpacing:c}}function qe(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"straight",width:2},t.extra.line);o.width*=t.pix;var a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];r.save();var d=0,f=t.width+c;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],f=d+(t.xAxis.itemCount+4)*c),e.forEach((function(e,a){var u,h,p;u=[].concat(t.chartData.yAxisData.ranges[e.index]),h=u.pop(),p=u.shift();var g=e.data,v=pe(g,h,p,s,c,t,n,i);l.push(v);var y=Q(v,e);if("dash"==e.lineType){var x=e.dashLength?e.dashLength:8;x*=t.pix,r.setLineDash([x,x])}r.beginPath(),r.setStrokeStyle(e.color),r.setLineWidth(o.width),y.forEach((function(e,t){if(1===e.length)r.moveTo(e[0].x,e[0].y),r.arc(e[0].x,e[0].y,1,0,2*Math.PI);else{r.moveTo(e[0].x,e[0].y);var n=0;if("curve"===o.type)for(var i=0;id&&(r.moveTo(a.x,a.y),n=1),i>0&&a.x>d&&a.xd&&(r.moveTo(l.x,l.y),n=1),c>0&&l.x>d&&l.xd&&(r.moveTo(h.x,h.y),n=1),u>0&&h.x>d&&h.x4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{width:c/2,barBorderCircle:!1,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.mix.column),d=u({},{opacity:.2,gradient:!1},t.extra.mix.area),h=t.height-t.area[2],p=[],g=0,v=0;e.forEach((function(e,t){"column"==e.type&&(v+=1)})),i.save();var y=-2,x=s.length+2,b=0,A=t.width+c;if(t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),y=Math.floor(-t._scrollDistance_/c)-2,x=y+t.xAxis.itemCount+4,b=-t._scrollDistance_-2*c+t.area[3],A=b+(t.xAxis.itemCount+4)*c),l.customColor=w(l.linearType,l.customColor,e,n),e.forEach((function(e,a){var u,w,O;u=[].concat(t.chartData.yAxisData.ranges[e.index]),w=u.pop(),O=u.shift();var T=e.data,k=pe(T,w,O,s,c,t,n,o);if(p.push(k),"column"==e.type){k=se(k,c,v,g,n,t);for(var S=0;Sy&&SU?U:R,B=B>U?U:B,N=N>U?U:N,j=j>U?U:j,R=R<0?0:R,B=B<0?0:B,N=N<0?0:N,j=j<0?0:j,i.arc(D+R,I+R,R,-Math.PI,-Math.PI/2),i.arc(D+L-B,I+B,B,-Math.PI/2,0),i.arc(D+L-N,I+F-N,N,0,Math.PI/2),i.arc(D+j,I+F-j,j,Math.PI/2,Math.PI)}else i.moveTo(C,P.y),i.lineTo(C+P.width,P.y),i.lineTo(C+P.width,t.height-t.area[2]),i.lineTo(C,t.height-t.area[2]),i.lineTo(C,P.y),i.setLineWidth(1),i.setStrokeStyle(z);i.setFillStyle(E),i.closePath(),i.fill()}}g+=1}if("area"==e.type)for(var J=Q(k,e),Z=0;Z1){var K=W[0],V=W[W.length-1];i.moveTo(K.x,K.y);var G=0;if("curve"===e.style)for(var H=0;Hb&&(i.moveTo(X.x,X.y),G=1),H>0&&X.x>b&&X.xb&&(i.moveTo(ee.x,ee.y),G=1),$>0&&ee.x>b&&ee.xb&&(i.moveTo(c.x,c.y),a=1),s>0&&c.x>b&&c.xb&&(i.moveTo(d.x,d.y),a=1),u>0&&d.x>b&&d.x1&&(t.extra.mount.widthRatio>2&&(t.extra.mount.widthRatio=2),p+=(t.extra.mount.widthRatio-1)*c);var g=h*h/p,v=0;t._scrollDistance_&&(v=-t._scrollDistance_*h/p),r.beginPath(),r.setLineCap("round"),r.setLineWidth(6*t.pix),r.setStrokeStyle(t.xAxis.scrollBackgroundColor||"#EFEBEF"),r.moveTo(a,f),r.lineTo(s,f),r.stroke(),r.closePath(),r.beginPath(),r.setLineCap("round"),r.setLineWidth(6*t.pix),r.setStrokeStyle(t.xAxis.scrollColor||"#A6A6A6"),r.moveTo(a+v,f),r.lineTo(a+v+g,f),r.stroke(),r.closePath(),r.setLineCap("butt")}if(r.save(),t._scrollDistance_&&0!==t._scrollDistance_&&r.translate(t._scrollDistance_,0),!0===t.xAxis.calibration&&(r.setStrokeStyle(t.xAxis.gridColor||"#cccccc"),r.setLineCap("butt"),r.setLineWidth(1*t.pix),o.forEach((function(e,n){n>0&&(r.beginPath(),r.moveTo(e-c/2,u),r.lineTo(e-c/2,u+3*t.pix),r.closePath(),r.stroke())}))),!0!==t.xAxis.disableGrid&&(r.setStrokeStyle(t.xAxis.gridColor||"#cccccc"),r.setLineCap("butt"),r.setLineWidth(1*t.pix),"dash"==t.xAxis.gridType&&r.setLineDash([t.xAxis.dashLength*t.pix,t.xAxis.dashLength*t.pix]),t.xAxis.gridEval=t.xAxis.gridEval||1,o.forEach((function(e,n){n%t.xAxis.gridEval==0&&(r.beginPath(),r.moveTo(e,u),r.lineTo(e,d),r.stroke())})),r.setLineDash([])),!0!==t.xAxis.disabled){var m=e.length;t.xAxis.labelCount&&(m=t.xAxis.itemCount?Math.ceil(e.length/t.xAxis.itemCount*t.xAxis.labelCount):t.xAxis.labelCount,m-=1);for(var y=Math.ceil(e.length/m),x=[],b=e.length,A=0;A1&&(t.extra.mount.widthRatio>2&&(t.extra.mount.widthRatio=2),l+=(t.extra.mount.widthRatio-1)*c);var u=a+l,d=[],f=1;!1===t.xAxis.axisLine&&(f=0);for(var h=f;h4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,ringWidth:30,customRadius:0,border:!1,borderWidth:2,borderColor:"#FFFFFF",centerColor:"#FFFFFF",linearType:"none",customColor:[]},"pie"==t.type?t.extra.pie:t.extra.ring),a={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.area[0]+(t.height-t.area[0]-t.area[2])/2};0==n.pieChartLinePadding&&(n.pieChartLinePadding=o.activeRadius*t.pix);var s=Math.min((t.width-t.area[1]-t.area[3])/2-n.pieChartLinePadding-n.pieChartTextPadding-n._pieTextMaxLength_,(t.height-t.area[0]-t.area[2])/2-n.pieChartLinePadding-n.pieChartTextPadding);s=s<10?10:s,o.customRadius>0&&(s=o.customRadius*t.pix),e=$(e,s,i);var c=o.activeRadius*t.pix;if(o.customColor=w(o.linearType,o.customColor,e,n),e=e.map((function(e){return e._start_+=o.offsetAngle*Math.PI/180,e})),e.forEach((function(e,n){t.tooltip&&t.tooltip.index==n&&(r.beginPath(),r.setFillStyle(f(e.color,o.activeOpacity||.5)),r.moveTo(a.x,a.y),r.arc(a.x,a.y,e._radius_+c,e._start_,e._start_+2*e._proportion_*Math.PI),r.closePath(),r.fill()),r.beginPath(),r.setLineWidth(o.borderWidth*t.pix),r.lineJoin="round",r.setStrokeStyle(o.borderColor);var i,s=e.color;"custom"==o.linearType&&(i=r.createCircularGradient?r.createCircularGradient(a.x,a.y,e._radius_):r.createRadialGradient(a.x,a.y,0,a.x,a.y,e._radius_),i.addColorStop(0,f(o.customColor[e.linearIndex],1)),i.addColorStop(1,f(e.color,1)),s=i);r.setFillStyle(s),r.moveTo(a.x,a.y),r.arc(a.x,a.y,e._radius_,e._start_,e._start_+2*e._proportion_*Math.PI),r.closePath(),r.fill(),1==o.border&&r.stroke()})),"ring"===t.type){var l=.6*s;"number"===typeof o.ringWidth&&o.ringWidth>0&&(l=Math.max(0,s-o.ringWidth*t.pix)),r.beginPath(),r.setFillStyle(o.centerColor),r.moveTo(a.x,a.y),r.arc(a.x,a.y,l,0,2*Math.PI),r.closePath(),r.fill()}return!1!==t.dataLabel&&1===i&&Me(e,t,n,r,s,a),1===i&&"ring"===t.type&&ke(t,n,r,a),{center:a,radius:s,series:e}}function $e(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"area",activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,borderWidth:2,borderColor:"#FFFFFF",linearType:"none",customColor:[]},t.extra.rose);0==n.pieChartLinePadding&&(n.pieChartLinePadding=o.activeRadius*t.pix);var a={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.area[0]+(t.height-t.area[0]-t.area[2])/2},s=Math.min((t.width-t.area[1]-t.area[3])/2-n.pieChartLinePadding-n.pieChartTextPadding-n._pieTextMaxLength_,(t.height-t.area[0]-t.area[2])/2-n.pieChartLinePadding-n.pieChartTextPadding);s=s<10?10:s;var c=o.minRadius||.5*s;e=te(e,o.type,c,s,i);var l=o.activeRadius*t.pix;return o.customColor=w(o.linearType,o.customColor,e,n),e=e.map((function(e){return e._start_+=(o.offsetAngle||0)*Math.PI/180,e})),e.forEach((function(e,n){t.tooltip&&t.tooltip.index==n&&(r.beginPath(),r.setFillStyle(f(e.color,o.activeOpacity||.5)),r.moveTo(a.x,a.y),r.arc(a.x,a.y,l+e._radius_,e._start_,e._start_+2*e._rose_proportion_*Math.PI),r.closePath(),r.fill()),r.beginPath(),r.setLineWidth(o.borderWidth*t.pix),r.lineJoin="round",r.setStrokeStyle(o.borderColor);var i,s=e.color;"custom"==o.linearType&&(i=r.createCircularGradient?r.createCircularGradient(a.x,a.y,e._radius_):r.createRadialGradient(a.x,a.y,0,a.x,a.y,e._radius_),i.addColorStop(0,f(o.customColor[e.linearIndex],1)),i.addColorStop(1,f(e.color,1)),s=i);r.setFillStyle(s),r.moveTo(a.x,a.y),r.arc(a.x,a.y,e._radius_,e._start_,e._start_+2*e._rose_proportion_*Math.PI),r.closePath(),r.fill(),1==o.border&&r.stroke()})),!1!==t.dataLabel&&1===i&&Me(e,t,n,r,s,a),{center:a,radius:s,series:e}}function et(e,t,n,r){var i,o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,s=u({},{startAngle:.75,endAngle:.25,type:"default",lineCap:"round",width:12,gap:2,linearType:"none",customColor:[]},t.extra.arcbar);e=ne(e,s,a),i=s.centerX||s.centerY?{x:s.centerX?s.centerX:t.width/2,y:s.centerY?s.centerY:t.height/2}:{x:t.width/2,y:t.height/2},s.radius?o=s.radius:(o=Math.min(i.x,i.y),o-=5*t.pix,o-=s.width/2),o=o<10?10:o,s.customColor=w(s.linearType,s.customColor,e,n);for(var c=0;c5&&void 0!==arguments[5]?arguments[5]:1,a=u({},{type:"default",startAngle:.75,endAngle:.25,width:15,labelOffset:13,splitLine:{fixRadius:0,splitNumber:10,width:15,color:"#FFFFFF",childNumber:5,childWidth:5},pointer:{width:15,color:"auto"}},n.extra.gauge);void 0==a.oldAngle&&(a.oldAngle=a.startAngle),void 0==a.oldData&&(a.oldData=0),e=ie(e,a.startAngle,a.endAngle);var s={x:n.width/2,y:n.height/2},c=Math.min(s.x,s.y);c-=5*n.pix,c-=a.width/2,c=c<10?10:c;var l=c-a.width,d=0;if("progress"==a.type){var h=c-3*a.width;i.beginPath();var p=i.createLinearGradient(s.x,s.y-h,s.x,s.y+h);p.addColorStop("0",f(t[0].color,.3)),p.addColorStop("1.0",f("#FFFFFF",.1)),i.setFillStyle(p),i.arc(s.x,s.y,h,0,2*Math.PI,!1),i.fill(),i.setLineWidth(a.width),i.setStrokeStyle(f(t[0].color,.3)),i.setLineCap("round"),i.beginPath(),i.arc(s.x,s.y,l,a.startAngle*Math.PI,a.endAngle*Math.PI,!1),i.stroke(),d=a.startAngle-a.endAngle+1;a.splitLine.splitNumber;var g=d/a.splitLine.splitNumber/a.splitLine.childNumber,v=-c-.5*a.width-a.splitLine.fixRadius,m=-c-a.width-a.splitLine.fixRadius+a.splitLine.width;i.save(),i.translate(s.x,s.y),i.rotate((a.startAngle-1)*Math.PI);for(var y=a.splitLine.splitNumber*a.splitLine.childNumber+1,x=t[0].data*o,b=0;bb/y?i.setStrokeStyle(f(t[0].color,1)):i.setStrokeStyle(f(t[0].color,.3)),i.setLineWidth(3*n.pix),i.moveTo(v,0),i.lineTo(m,0),i.stroke(),i.rotate(g*Math.PI);i.restore(),t=re(t,a,o),i.setLineWidth(a.width),i.setStrokeStyle(t[0].color),i.setLineCap("round"),i.beginPath(),i.arc(s.x,s.y,l,a.startAngle*Math.PI,t[0]._proportion_*Math.PI,!1),i.stroke();var A=c-2.5*a.width;i.save(),i.translate(s.x,s.y),i.rotate((t[0]._proportion_-1)*Math.PI),i.beginPath(),i.setLineWidth(a.width/3);var w=i.createLinearGradient(0,.6*-A,0,.6*A);w.addColorStop("0",f("#FFFFFF",0)),w.addColorStop("0.5",f(t[0].color,1)),w.addColorStop("1.0",f("#FFFFFF",0)),i.setStrokeStyle(w),i.arc(0,0,A,.85*Math.PI,1.15*Math.PI,!1),i.stroke(),i.beginPath(),i.setLineWidth(1),i.setStrokeStyle(t[0].color),i.setFillStyle(t[0].color),i.moveTo(-A-a.width/3/2,-4),i.lineTo(-A-a.width/3/2-4,0),i.lineTo(-A-a.width/3/2,4),i.lineTo(-A-a.width/3/2,-4),i.stroke(),i.fill(),i.restore()}else{i.setLineWidth(a.width),i.setLineCap("butt");for(var O=0;O4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{gridColor:"#cccccc",gridType:"radar",gridEval:1,axisLabel:!1,axisLabelTofix:0,labelColor:"#666666",labelPointShow:!1,labelPointRadius:3,labelPointColor:"#cccccc",opacity:.2,gridCount:3,border:!1,borderWidth:2,linearType:"none",customColor:[]},t.extra.radar),a=z(t.categories.length),s={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.area[0]+(t.height-t.area[0]-t.area[2])/2},c=(t.width-t.area[1]-t.area[3])/2,l=(t.height-t.area[0]-t.area[2])/2,d=Math.min(c-(E(t.categories,n.fontSize,r)+n.radarLabelTextMargin),l-n.radarLabelTextMargin);d-=n.radarLabelTextMargin*t.pix,d=d<10?10:d,r.beginPath(),r.setLineWidth(1*t.pix),r.setStrokeStyle(o.gridColor),a.forEach((function(e,t){var n=y(d*Math.cos(e),d*Math.sin(e),s);r.moveTo(s.x,s.y),t%o.gridEval==0&&r.lineTo(n.x,n.y)})),r.stroke(),r.closePath();for(var h=function(e){var n={};if(r.beginPath(),r.setLineWidth(1*t.pix),r.setStrokeStyle(o.gridColor),"radar"==o.gridType)a.forEach((function(t,i){var a=y(d/o.gridCount*e*Math.cos(t),d/o.gridCount*e*Math.sin(t),s);0===i?(n=a,r.moveTo(a.x,a.y)):r.lineTo(a.x,a.y)})),r.lineTo(n.x,n.y);else{var i=y(d/o.gridCount*e*Math.cos(1.5),d/o.gridCount*e*Math.sin(1.5),s);r.arc(s.x,s.y,s.y-i.y,0,2*Math.PI,!1)}r.stroke(),r.closePath()},p=1;p<=o.gridCount;p++)h(p);o.customColor=w(o.linearType,o.customColor,e,n);var g=Y(a,s,d,e,t,i);if(g.forEach((function(n,i){r.beginPath(),r.setLineWidth(o.borderWidth*t.pix),r.setStrokeStyle(n.color);var a,c=f(n.color,o.opacity);"custom"==o.linearType&&(a=r.createCircularGradient?r.createCircularGradient(s.x,s.y,d):r.createRadialGradient(s.x,s.y,0,s.x,s.y,d),a.addColorStop(0,f(o.customColor[e[i].linearIndex],o.opacity)),a.addColorStop(1,f(n.color,o.opacity)),c=a);if(r.setFillStyle(c),n.data.forEach((function(e,t){0===t?r.moveTo(e.position.x,e.position.y):r.lineTo(e.position.x,e.position.y)})),r.closePath(),r.fill(),!0===o.border&&r.stroke(),r.closePath(),!1!==t.dataPointShape){var l=n.data.map((function(e){return e.position}));Te(l,n.color,n.pointShape,r,t)}})),!0===o.axisLabel){var v=Math.max(o.max,Math.max.apply(null,k(e))),m=d/o.gridCount,x=t.fontSize*t.pix;r.setFontSize(x),r.setFillStyle(t.fontColor),r.setTextAlign("left");for(p=0;pl.x?n.xMax:l.x,n.yMin=n.yMinl.y?n.yMax:l.y}}return n}function ot(e,t,n,r,i,o){return{x:(t-n.xMin)*r+i,y:(n.yMax-e)*r+o}}function at(e,t,n,r,i,o){return{x:(t-i)/r+n.xMin,y:n.yMax-(e-o)/r}}function st(e,t,n){if(t[1]==n[1])return!1;if(t[1]>e[1]&&n[1]>e[1])return!1;if(t[1]e[1])return!1;if(n[1]==e[1]&&t[1]>e[1])return!1;if(t[0]t[o].area[2]||e[1]>t[o].area[3]||e[2]n||e[3]>r){i=!0;break}i=!1}return i}function ft(e,t,n){var r=e.series;switch(t){case"normal":for(var i=0;i.7},p=0;p4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"normal",autoColors:!0},t.extra.word);t.chartData.wordCloudData||(t.chartData.wordCloudData=ft(t,o.type,r)),r.beginPath(),r.setFillStyle(t.background),r.rect(0,0,t.width,t.height),r.fill(),r.save();var a=t.chartData.wordCloudData;r.translate(t.width/2,t.height/2);for(var s=0;s0&&(t.tooltip&&t.tooltip.index==s?r.strokeText(c,(a[s].areav[0]+5-t.width/2)*i-d*(1-i)/2,(a[s].areav[1]+5+l-t.height/2)*i):r.fillText(c,(a[s].areav[0]+5-t.width/2)*i-d*(1-i)/2,(a[s].areav[1]+5+l-t.height/2)*i)):a[s].area[0]>0&&(t.tooltip&&t.tooltip.index==s?r.strokeText(c,(a[s].area[0]+5-t.width/2)*i-d*(1-i)/2,(a[s].area[1]+5+l-t.height/2)*i):r.fillText(c,(a[s].area[0]+5-t.width/2)*i-d*(1-i)/2,(a[s].area[1]+5+l-t.height/2)*i)),r.stroke(),r.restore()}r.restore()}function pt(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"funnel",activeWidth:10,activeOpacity:.3,border:!1,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,labelAlign:"right",linearType:"none",customColor:[]},t.extra.funnel),a=(t.height-t.area[0]-t.area[2])/e.length,s={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.height-t.area[2]},c=o.activeWidth*t.pix,l=Math.min((t.width-t.area[1]-t.area[3])/2-c,(t.height-t.area[0]-t.area[2])/2-c);if(e=ee(e,l,o.type,a,i),r.save(),r.translate(s.x,s.y),o.customColor=w(o.linearType,o.customColor,e,n),"pyramid"==o.type)for(var d=0;d0?y[k].width+t.yAxis.padding*t.pix:y[k].width,T+=1):"right"==y[k].position&&(t.area[1]+=O>0?y[k].width+t.yAxis.padding*t.pix:y[k].width,O+=1)}else n.yAxisWidth=y;if(t.chartData.yAxisData=m,t.categories&&t.categories.length&&"radar"!==t.type&&"gauge"!==t.type&&"bar"!==t.type){t.chartData.xAxisData=fe(t.categories,t,n);var S=G(t.categories,t,n,t.chartData.xAxisData.eachSpacing,r),P=S.xAxisHeight,C=S.angle;n.xAxisHeight=P,n._xAxisTextAngle_=C,t.area[2]+=P,t.chartData.categoriesData=S}else if("line"===t.type||"area"===t.type||"scatter"===t.type||"bubble"===t.type||"bar"===t.type){t.chartData.xAxisData=X(o,t,n,r),a=t.chartData.xAxisData.rangesFormat;var E=G(a,t,n,t.chartData.xAxisData.eachSpacing,r),z=E.xAxisHeight,M=E.angle;n.xAxisHeight=z,n._xAxisTextAngle_=M,t.area[2]+=z,t.chartData.categoriesData=E}else t.chartData.xAxisData={xAxisPoints:[]};if(t.enableScroll&&"right"==t.xAxis.scrollAlign&&void 0===t._scrollDistance_){var D=0,I=t.chartData.xAxisData.xAxisPoints,F=t.chartData.xAxisData.startX,_=t.chartData.xAxisData.endX,R=t.chartData.xAxisData.eachSpacing,B=R*(I.length-1),N=_-F;D=N-B,i.scrollOption.currentOffset=D,i.scrollOption.startTouchX=D,i.scrollOption.distance=0,i.scrollOption.lastMoveTime=0,t._scrollDistance_=D}switch("pie"!==e&&"ring"!==e&&"rose"!==e||(n._pieTextMaxLength_=!1===t.dataLabel?0:ae(l,n,r,t)),e){case"word":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),ht(o,t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"map":r.clearRect(0,0,t.width,t.height),lt(o,t,n,r);break;case"funnel":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),t.chartData.funnelData=pt(o,t,n,r,e),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"line":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=qe(o,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"scatter":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=Ze(o,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"bubble":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=We(o,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"mix":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=Ke(o,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"column":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=Be(o,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"mount":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=Ne(o,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"bar":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ve(a,t,n,r);var i=je(o,t,n,r,e),s=i.yAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.yAxisPoints=s,t.chartData.xAxisPoints=t.chartData.xAxisData.xAxisPoints,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"area":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=Je(o,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,l=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e,l,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"ring":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),t.chartData.pieData=Ye(o,t,n,r,e),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"pie":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),t.chartData.pieData=Ye(o,t,n,r,e),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"rose":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),t.chartData.pieData=$e(o,t,n,r,e),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"radar":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),t.chartData.radarData=nt(o,t,n,r,e),Xe(t.series,t,n,r,t.chartData),Qe(t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"arcbar":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),t.chartData.arcbarData=et(o,t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"gauge":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),t.chartData.gaugeData=tt(a,o,t,n,r,e),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break;case"candle":this.animationInstance=new yt({timing:t.timing,duration:c,onProcess:function(e){r.clearRect(0,0,t.width,t.height),t.rotate&&Oe(r,t),Ge(a,t,n,r),Ve(a,t,n,r);var i=Ue(o,l,t,n,r,e),s=i.xAxisPoints,c=i.calPoints,u=i.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=u,He(o,t,n,r),!1!==t.enableMarkLine&&1===e&&Ie(t,n,r),Xe(l||t.series,t,n,r,t.chartData),Qe(t,n,r,e,u,s),vt(t,r)},onAnimationFinish:function(){i.uevent.trigger("renderComplete")}});break}}function bt(){this.events={}}yt.prototype.stop=function(){this.isStop=!0},bt.prototype.addEventListener=function(e,t){this.events[e]=this.events[e]||[],this.events[e].push(t)},bt.prototype.delEventListener=function(e){this.events[e]=[]},bt.prototype.trigger=function(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.opts=u({},this.opts,e),this.opts.updateData=!0;var t=e.scrollPosition||"current";switch(t){case"current":this.opts._scrollDistance_=this.scrollOption.currentOffset;break;case"left":this.opts._scrollDistance_=0,this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};break;case"right":var n=be(this.opts.series,this.opts,this.config,this.context),r=n.yAxisWidth;this.config.yAxisWidth=r;var i=0,o=fe(this.opts.categories,this.opts,this.config),a=o.xAxisPoints,s=o.startX,c=o.endX,l=o.eachSpacing,d=l*(a.length-1),f=c-s;i=f-d,this.scrollOption={currentOffset:i,startTouchX:i,distance:0,lastMoveTime:0},this.opts._scrollDistance_=i;break}xt.call(this,this.opts.type,this.opts,this.config,this.context)},At.prototype.zoom=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.opts.xAxis.itemCount;if(!0===this.opts.enableScroll){var t=Math.round(Math.abs(this.scrollOption.currentOffset)/this.opts.chartData.eachSpacing)+Math.round(this.opts.xAxis.itemCount/2);this.opts.animation=!1,this.opts.xAxis.itemCount=e.itemCount;var n=be(this.opts.series,this.opts,this.config,this.context),r=n.yAxisWidth;this.config.yAxisWidth=r;var i=0,o=fe(this.opts.categories,this.opts,this.config),a=o.xAxisPoints,s=o.startX,c=o.endX,l=o.eachSpacing,u=l*t,d=c-s,f=d-l*(a.length-1);i=d/2-u,i>0&&(i=0),i=this.opts.categories.length?this.opts.categories.length:d,this.opts.animation=!1,this.opts.xAxis.itemCount=d;var f=0,h=fe(this.opts.categories,this.opts,this.config),p=h.xAxisPoints,v=h.startX,m=h.endX,y=h.eachSpacing,x=y*this.scrollOption.moveCurrent1,b=m-v,A=b-y*(p.length-1);f=-x+Math.min(r[0].x,r[1].x)-this.opts.area[3]-y,f>0&&(f=0),f1&&void 0!==arguments[1]?arguments[1]:{},n=null;if(n=e.changedTouches?e.changedTouches[0]:e.mp.changedTouches[0],n){P(n,this.opts,e);var r=this.getLegendDataIndex(e);r>=0&&("candle"==this.opts.type?this.opts.seriesMA[r].show=!this.opts.seriesMA[r].show:this.opts.series[r].show=!this.opts.series[r].show,this.opts.animation=!!t.animation,this.opts._scrollDistance_=this.scrollOption.currentOffset,xt.call(this,this.opts.type,this.opts,this.config,this.context))}},At.prototype.showToolTip=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null;r=e.changedTouches?e.changedTouches[0]:e.mp.changedTouches[0],r||console.log("[uCharts] 未获取到event坐标信息");var i=P(r,this.opts,e),o=this.scrollOption.currentOffset,a=u({},this.opts,{_scrollDistance_:o,animation:!1});if("line"===this.opts.type||"area"===this.opts.type||"column"===this.opts.type||"scatter"===this.opts.type||"bubble"===this.opts.type){var s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1||c.length>0){var l=C(this.opts.series,c,s.group);if(0!==l.length){var d=M(l,this.opts,c,s.group,this.opts.categories,n),f=d.textList,h=d.offset;h.y=i.y,a.tooltip={textList:void 0!==n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("mount"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e).index:n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},a._series_[c]),f=[{text:n.formatter?n.formatter(l,void 0,c,a):l.name+": "+l.data,color:l.color}],h={x:a.chartData.calPoints[c].x,y:i.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}xt.call(this,a.type,a,this.config,this.context)}if("bar"===this.opts.type){s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1||c.length>0){l=C(this.opts.series,c,s.group);if(0!==l.length){d=M(l,this.opts,c,s.group,this.opts.categories,n),f=d.textList,h=d.offset;h.x=i.x,a.tooltip={textList:void 0!==n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("mix"===this.opts.type){s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1){o=this.scrollOption.currentOffset,a=u({},this.opts,{_scrollDistance_:o,animation:!1}),l=C(this.opts.series,c);if(0!==l.length){var p=D(l,this.opts,c,this.opts.categories,n);f=p.textList,h=p.offset;h.y=i.y,a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("candle"===this.opts.type){s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1){o=this.scrollOption.currentOffset,a=u({},this.opts,{_scrollDistance_:o,animation:!1}),l=C(this.opts.series,c);if(0!==l.length){d=I(this.opts.series[0].data,l,this.opts,c,this.opts.categories,this.opts.extra.candle,n),f=d.textList,h=d.offset;h.y=i.y,a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("pie"===this.opts.type||"ring"===this.opts.type||"rose"===this.opts.type||"funnel"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},a._series_[c]),f=[{text:n.formatter?n.formatter(l,void 0,c,a):l.name+": "+l.data,color:l.color}],h={x:i.x,y:i.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}xt.call(this,a.type,a,this.config,this.context)}if("map"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},this.opts.series[c]);l.name=l.properties.name;f=[{text:n.formatter?n.formatter(l,void 0,c,this.opts):l.name,color:l.color}],h={x:i.x,y:i.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}a.updateData=!1,xt.call(this,a.type,a,this.config,this.context)}if("word"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},this.opts.series[c]),f=[{text:n.formatter?n.formatter(l,void 0,c,this.opts):l.name,color:l.color}],h={x:i.x,y:i.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}a.updateData=!1,xt.call(this,a.type,a,this.config,this.context)}if("radar"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=C(this.opts.series,c);if(0!==l.length){f=l.map((function(e){return{text:n.formatter?n.formatter(e,t.opts.categories[c],c,t.opts):e.name+": "+e.data,color:e.color}})),h={x:i.x,y:i.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}},At.prototype.translate=function(e){this.scrollOption={currentOffset:e,startTouchX:e,distance:0,lastMoveTime:0};var t=u({},this.opts,{_scrollDistance_:e,animation:!1});xt.call(this,this.opts.type,t,this.config,this.context)},At.prototype.scrollStart=function(e){var t=null;t=e.changedTouches?e.changedTouches[0]:e.mp.changedTouches[0];var n=P(t,this.opts,e);t&&!0===this.opts.enableScroll&&(this.scrollOption.startTouchX=n.x)},At.prototype.scroll=function(e){0===this.scrollOption.lastMoveTime&&(this.scrollOption.lastMoveTime=Date.now());var t=this.opts.touchMoveLimit||60,n=Date.now(),r=n-this.scrollOption.lastMoveTime;if(!(r=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var c=i.call(a,"catchLoc"),l=i.call(a,"finallyLoc");if(c&&l){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),z(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;z(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:D(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),g}}}function b(e,t,n,r){var i=t&&t.prototype instanceof w?t:w,o=Object.create(i.prototype),a=new M(r||[]);return o._invoke=P(e,n,a),o}function A(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(r){return{type:"throw",arg:r}}}function w(){}function O(){}function T(){}function k(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function S(e){function t(n,r,o,a){var s=A(e[n],e,r);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"===typeof l&&i.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,o,a)}),(function(e){t("throw",e,o,a)})):Promise.resolve(l).then((function(e){c.value=e,o(c)}),(function(e){return t("throw",e,o,a)}))}a(s.arg)}var n;function r(e,r){function i(){return new Promise((function(n,i){t(e,r,n,i)}))}return n=n?n.then(i,i):i()}this._invoke=r}function P(e,t,n){var r=d;return function(i,o){if(r===h)throw new Error("Generator is already running");if(r===p){if("throw"===i)throw o;return I()}n.method=i,n.arg=o;while(1){var a=n.delegate;if(a){var s=C(a,n);if(s){if(s===g)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===d)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=h;var c=A(e,t,n);if("normal"===c.type){if(r=n.done?p:f,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r=p,n.method="throw",n.arg=c.arg)}}}function C(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,C(e,t),"throw"===t.method))return g;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var i=A(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,g;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,g):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function E(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function z(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function M(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(E,this),this.reset(!0)}function D(e){if(e){var t=e[a];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var r=-1,o=function t(){while(++r=0;--i){var o,a=e[i];if("[]"===a)o=[],o=o.concat(r);else{o=n.plainObjects?Object.create(null):{};var s="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,c=parseInt(s,10);!isNaN(c)&&a!==s&&String(c)===s&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(o=[],o[c]=r):o[s]=r}r=o}return r},c=function(e,t,n){if(e){var r=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/,a=/(\[[^[\]]*])/g,c=o.exec(r),l=c?r.slice(0,c.index):r,u=[];if(l){if(!n.plainObjects&&i.call(Object.prototype,l)&&!n.allowPrototypes)return;u.push(l)}var d=0;while(null!==(c=a.exec(r))&&d=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function g(e,t){if(e){if("string"===typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n>>2]>>>24-o%4*8&255;t[r+o>>>2]|=a<<24-(r+o)%4*8}else for(o=0;o>>2]=n[o>>>2];return this.sigBytes+=i,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,r=[],i=function(t){t=t;var n=987654321,r=4294967295;return function(){var i=((n=36969*(65535&n)+(n>>16)&r)<<16)+(t=18e3*(65535&t)+(t>>16)&r)&r;return i/=4294967296,(i+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-i%4*8&255;r.push((o>>>4).toString(16)),r.push((15&o).toString(16))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new a.init(n,t/2)}},l=s.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,r=[],i=0;i>>2]>>>24-i%4*8&255;r.push(String.fromCharCode(o))}return r.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new a.init(n,t)}},u=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},d=i.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,o=this.blockSize,s=i/(4*o),c=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*o,l=e.min(4*c,i);if(c){for(var u=0;u>>24)|4278255360&(i<<24|i>>>8)}var o=this._hash.words,a=e[t+0],c=e[t+1],h=e[t+2],p=e[t+3],g=e[t+4],v=e[t+5],m=e[t+6],y=e[t+7],x=e[t+8],b=e[t+9],A=e[t+10],w=e[t+11],O=e[t+12],T=e[t+13],k=e[t+14],S=e[t+15],P=o[0],C=o[1],E=o[2],z=o[3];P=l(P,C,E,z,a,7,s[0]),z=l(z,P,C,E,c,12,s[1]),E=l(E,z,P,C,h,17,s[2]),C=l(C,E,z,P,p,22,s[3]),P=l(P,C,E,z,g,7,s[4]),z=l(z,P,C,E,v,12,s[5]),E=l(E,z,P,C,m,17,s[6]),C=l(C,E,z,P,y,22,s[7]),P=l(P,C,E,z,x,7,s[8]),z=l(z,P,C,E,b,12,s[9]),E=l(E,z,P,C,A,17,s[10]),C=l(C,E,z,P,w,22,s[11]),P=l(P,C,E,z,O,7,s[12]),z=l(z,P,C,E,T,12,s[13]),E=l(E,z,P,C,k,17,s[14]),P=u(P,C=l(C,E,z,P,S,22,s[15]),E,z,c,5,s[16]),z=u(z,P,C,E,m,9,s[17]),E=u(E,z,P,C,w,14,s[18]),C=u(C,E,z,P,a,20,s[19]),P=u(P,C,E,z,v,5,s[20]),z=u(z,P,C,E,A,9,s[21]),E=u(E,z,P,C,S,14,s[22]),C=u(C,E,z,P,g,20,s[23]),P=u(P,C,E,z,b,5,s[24]),z=u(z,P,C,E,k,9,s[25]),E=u(E,z,P,C,p,14,s[26]),C=u(C,E,z,P,x,20,s[27]),P=u(P,C,E,z,T,5,s[28]),z=u(z,P,C,E,h,9,s[29]),E=u(E,z,P,C,y,14,s[30]),P=d(P,C=u(C,E,z,P,O,20,s[31]),E,z,v,4,s[32]),z=d(z,P,C,E,x,11,s[33]),E=d(E,z,P,C,w,16,s[34]),C=d(C,E,z,P,k,23,s[35]),P=d(P,C,E,z,c,4,s[36]),z=d(z,P,C,E,g,11,s[37]),E=d(E,z,P,C,y,16,s[38]),C=d(C,E,z,P,A,23,s[39]),P=d(P,C,E,z,T,4,s[40]),z=d(z,P,C,E,a,11,s[41]),E=d(E,z,P,C,p,16,s[42]),C=d(C,E,z,P,m,23,s[43]),P=d(P,C,E,z,b,4,s[44]),z=d(z,P,C,E,O,11,s[45]),E=d(E,z,P,C,S,16,s[46]),P=f(P,C=d(C,E,z,P,h,23,s[47]),E,z,a,6,s[48]),z=f(z,P,C,E,y,10,s[49]),E=f(E,z,P,C,k,15,s[50]),C=f(C,E,z,P,v,21,s[51]),P=f(P,C,E,z,O,6,s[52]),z=f(z,P,C,E,p,10,s[53]),E=f(E,z,P,C,A,15,s[54]),C=f(C,E,z,P,c,21,s[55]),P=f(P,C,E,z,x,6,s[56]),z=f(z,P,C,E,S,10,s[57]),E=f(E,z,P,C,m,15,s[58]),C=f(C,E,z,P,T,21,s[59]),P=f(P,C,E,z,g,6,s[60]),z=f(z,P,C,E,w,10,s[61]),E=f(E,z,P,C,h,15,s[62]),C=f(C,E,z,P,b,21,s[63]),o[0]=o[0]+P|0,o[1]=o[1]+C|0,o[2]=o[2]+E|0,o[3]=o[3]+z|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var o=e.floor(r/4294967296),a=r;n[15+(i+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(n.length+1),this._process();for(var s=this._hash,c=s.words,l=0;l<4;l++){var u=c[l];c[l]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return s},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,n,r,i,o,a){var s=e+(t&n|~t&r)+i+a;return(s<>>32-o)+t}function u(e,t,n,r,i,o,a){var s=e+(t&r|n&~r)+i+a;return(s<>>32-o)+t}function d(e,t,n,r,i,o,a){var s=e+(t^n^r)+i+a;return(s<>>32-o)+t}function f(e,t,n,r,i,o,a){var s=e+(n^(t|~r))+i+a;return(s<>>32-o)+t}t.MD5=o._createHelper(c),t.HmacMD5=o._createHmacHelper(c)}(Math),n.MD5)})),L((function(e,t){var n,r,i;e.exports=(r=(n=F).lib.Base,i=n.enc.Utf8,void(n.algo.HMAC=r.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=i.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),a=this._iKey=t.clone(),s=o.words,c=a.words,l=0;l1&&void 0!==arguments[1]?arguments[1]:{};return t=X,n=e,Object.prototype.hasOwnProperty.call(t,n)||(X[e]=r),X[e]}"app"===Z&&(X=r._globalUniCloudObj?r._globalUniCloudObj:r._globalUniCloudObj={});var $=["invoke","success","fail","complete"],ee=Y("_globalUniCloudInterceptor");function te(e,t){ee[e]||(ee[e]={}),U(t)&&Object.keys(t).forEach((function(n){$.indexOf(n)>-1&&function(e,t,n){var r=ee[e][t];r||(r=ee[e][t]=[]),-1===r.indexOf(n)&&"function"==typeof n&&r.push(n)}(e,n,t[n])}))}function ne(e,t){ee[e]||(ee[e]={}),U(t)?Object.keys(t).forEach((function(n){$.indexOf(n)>-1&&function(e,t,n){var r=ee[e][t];if(r){var i=r.indexOf(n);i>-1&&r.splice(i,1)}}(e,n,t[n])})):delete ee[e]}function re(e,t){return e&&0!==e.length?e.reduce((function(e,n){return e.then((function(){return n(t)}))}),Promise.resolve()):Promise.resolve()}function ie(e,t){return ee[e]&&ee[e][t]||[]}var oe=Y("_globalUniCloudListener"),ae="response",se="needLogin",ce="refreshToken",le="clientdb",ue="cloudfunction",de="cloudobject";function fe(e){return oe[e]||(oe[e]=[]),oe[e]}function he(e,t){var n=fe(e);n.includes(t)||n.push(t)}function pe(e,t){var n=fe(e),r=n.indexOf(t);-1!==r&&n.splice(r,1)}function ge(e,t){for(var n=fe(e),r=0;r-1)return;var n=r.getLaunchOptionsSync(),i=n.scene,o=n.channel;e=o,t=i}}catch(e){}return{channel:e,scene:t}}function be(){var e=r.getLocale&&r.getLocale()||"en";if(me)return b(b({},me),{},{locale:e,LOCALE:e});for(var t=r.getSystemInfoSync(),n=t.deviceId,i=t.osName,o=t.uniPlatform,a=t.appId,s=["pixelRatio","brand","model","system","language","version","platform","host","SDKVersion","swanNativeVersion","app","AppPlatform","fontSizeSetting"],c=0;c=400)return r(new ye({code:"SYS_ERR",message:e.errMsg||"request:fail",requestId:t}));var i=e.data;if(i.error)return r(new ye({code:i.error.code,message:i.error.message,requestId:t}));i.result=i.data,i.requestId=t,delete i.data,n(i)}}))}))}},Oe={request:function(e){return r.request(e)},uploadFile:function(e){return r.uploadFile(e)},setStorageSync:function(e,t){return r.setStorageSync(e,t)},getStorageSync:function(e){return r.getStorageSync(e)},removeStorageSync:function(e){return r.removeStorageSync(e)},clearStorageSync:function(){return r.clearStorageSync()}},Te={"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},ke=(0,o.initVueI18n)({"zh-Hans":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},"zh-Hant":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},en:Te,fr:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},es:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},ja:Te},"zh-Hans"),Se=ke.t,Pe=function(){function e(t){w(this,e),["spaceId","clientSecret"].forEach((function(e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new Error(Se("uniCloud.init.paramRequired",{param:e}))})),this.config=Object.assign({},{endpoint:"https://api.bspapp.com"},t),this.config.provider="aliyun",this.config.requestUrl=this.config.endpoint+"/client",this.config.envType=this.config.envType||"public",this.config.accessTokenKey="access_token_"+this.config.spaceId,this.adapter=Oe,this._getAccessTokenPromise=null,this._getAccessTokenPromiseStatus=null}return y(e,[{key:"setAccessToken",value:function(e){this.accessToken=e}},{key:"requestWrapped",value:function(e){return we.wrappedRequest(e,this.adapter.request)}},{key:"requestAuth",value:function(e){return this.requestWrapped(e)}},{key:"request",value:function(e,t){var n=this;return Promise.resolve().then((function(){return n.hasAccessToken?t?n.requestWrapped(e):n.requestWrapped(e).catch((function(t){return new Promise((function(e,n){!t||"GATEWAY_INVALID_TOKEN"!==t.code&&"InvalidParameter.InvalidToken"!==t.code?n(t):e()})).then((function(){return n.getAccessToken()})).then((function(){var t=n.rebuildRequest(e);return n.request(t,!0)}))})):n.getAccessToken().then((function(){var t=n.rebuildRequest(e);return n.request(t,!0)}))}))}},{key:"rebuildRequest",value:function(e){var t=Object.assign({},e);return t.data.token=this.accessToken,t.header["x-basement-token"]=this.accessToken,t.header["x-serverless-sign"]=we.sign(t.data,this.config.clientSecret),t}},{key:"setupRequest",value:function(e,t){var n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),r={"Content-Type":"application/json"};return"auth"!==t&&(n.token=this.accessToken,r["x-basement-token"]=this.accessToken),r["x-serverless-sign"]=we.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:r}}},{key:"getAccessToken",value:function(){var e=this;return"pending"===this._getAccessTokenPromiseStatus||(this._getAccessTokenPromiseStatus="pending",this._getAccessTokenPromise=this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then((function(t){return new Promise((function(n,r){t.result&&t.result.accessToken?(e.setAccessToken(t.result.accessToken),e._getAccessTokenPromiseStatus="fulfilled",n(e.accessToken)):(e._getAccessTokenPromiseStatus="rejected",r(new ye({code:"AUTH_FAILED",message:"获取accessToken失败"})))}))}),(function(t){return e._getAccessTokenPromiseStatus="rejected",Promise.reject(t)}))),this._getAccessTokenPromise}},{key:"authorize",value:function(){this.getAccessToken()}},{key:"callFunction",value:function(e){var t={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}},{key:"getOSSUploadOptionsFromPath",value:function(e){var t={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}},{key:"uploadFileToOSS",value:function(e){var t=this,n=e.url,r=e.formData,i=e.name,o=e.filePath,a=e.fileType,s=e.onUploadProgress;return new Promise((function(e,c){var l=t.adapter.uploadFile({url:n,formData:r,name:i,filePath:o,fileType:a,header:{"X-OSS-server-side-encrpytion":"AES256"},success:function(t){t&&t.statusCode<400?e(t):c(new ye({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail:function(e){c(new ye({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof s&&l&&"function"==typeof l.onProgressUpdate&&l.onProgressUpdate((function(e){s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}},{key:"reportOSSUpload",value:function(e){var t={method:"serverless.file.resource.report",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}},{key:"uploadFile",value:function(e){var t=this,n=e.filePath,r=e.cloudPath,i=e.fileType,o=void 0===i?"image":i,a=e.onUploadProgress,s=e.config;if("string"!==j(r))throw new ye({code:"INVALID_PARAM",message:"cloudPath必须为字符串类型"});if(!(r=r.trim()))throw new ye({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});if(/:\/\//.test(r))throw new ye({code:"INVALID_PARAM",message:"cloudPath不合法"});var c,l,u=s&&s.envType||this.config.envType;return this.getOSSUploadOptionsFromPath({env:u,filename:r}).then((function(e){var r=e.result;c=r.id,l="https://"+r.cdnDomain+"/"+r.ossPath;var i={url:"https://"+r.host,formData:{"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:r.accessKeyId,Signature:r.signature,host:r.host,id:c,key:r.ossPath,policy:r.policy,success_action_status:200},fileName:"file",name:"file",filePath:n,fileType:o};return t.uploadFileToOSS(Object.assign({},i,{onUploadProgress:a}))})).then((function(){return t.reportOSSUpload({id:c})})).then((function(e){return new Promise((function(t,r){e.success?t({success:!0,filePath:n,fileID:l}):r(new ye({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))}))}},{key:"deleteFile",value:function(e){var t=e.fileList,n={method:"serverless.file.resource.delete",params:JSON.stringify({id:t[0]})};return this.request(this.setupRequest(n))}},{key:"getTempFileURL",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fileList;return new Promise((function(e,n){Array.isArray(t)&&0!==t.length||n(new ye({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"})),e({fileList:t.map((function(e){return{fileID:e,tempFileURL:e}}))})}))}},{key:"hasAccessToken",get:function(){return!!this.accessToken}}]),e}(),Ce={init:function(e){var t=new Pe(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},Ee="undefined"!=typeof location&&"http:"===location.protocol?"http:":"https:";!function(e){e.local="local",e.none="none",e.session="session"}(Ae||(Ae={}));var ze,Me=function(){},De=function(){var e;if(!Promise){e=function(){},e.promise={};var t=function(){throw new ye({message:'Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,"then",{get:t}),Object.defineProperty(e.promise,"catch",{get:t}),e}var n=new Promise((function(t,n){e=function(e,r){return e?n(e):t(r)}}));return e.promise=n,e};function Ie(e){return void 0===e}function Le(e){return"[object Null]"===Object.prototype.toString.call(e)}function Fe(e){var t,n,r=(t=e,"[object Array]"===Object.prototype.toString.call(t)?e:[e]),i=p(r);try{for(i.s();!(n=i.n()).done;){var o=n.value,a=o.isMatch,s=o.genAdapter,c=o.runtime;if(a())return{adapter:s(),runtime:c}}}catch(l){i.e(l)}finally{i.f()}}!function(e){e.WEB="web",e.WX_MP="wx_mp"}(ze||(ze={}));var _e={adapter:null,runtime:void 0},Re=["anonymousUuidKey"],Be=function(e){O(n,e);var t=T(n);function n(){var e;return w(this,n),e=t.call(this),_e.adapter.root.tcbObject||(_e.adapter.root.tcbObject={}),e}return y(n,[{key:"setItem",value:function(e,t){_e.adapter.root.tcbObject[e]=t}},{key:"getItem",value:function(e){return _e.adapter.root.tcbObject[e]}},{key:"removeItem",value:function(e){delete _e.adapter.root.tcbObject[e]}},{key:"clear",value:function(){delete _e.adapter.root.tcbObject}}]),n}(Me);function Ne(e,t){switch(e){case"local":return t.localStorage||new Be;case"none":return new Be;default:return t.sessionStorage||new Be}}var je=function(){function e(t){if(w(this,e),!this._storage){this._persistence=_e.adapter.primaryStorage||t.persistence,this._storage=Ne(this._persistence,_e.adapter);var n="access_token_".concat(t.env),r="access_token_expire_".concat(t.env),i="refresh_token_".concat(t.env),o="anonymous_uuid_".concat(t.env),a="login_type_".concat(t.env),s="user_info_".concat(t.env);this.keys={accessTokenKey:n,accessTokenExpireKey:r,refreshTokenKey:i,anonymousUuidKey:o,loginTypeKey:a,userInfoKey:s}}}return y(e,[{key:"updatePersistence",value:function(e){if(e!==this._persistence){var t="local"===this._persistence;this._persistence=e;var n=Ne(e,_e.adapter);for(var r in this.keys){var i=this.keys[r];if(!t||!Re.includes(r)){var o=this._storage.getItem(i);Ie(o)||Le(o)||(n.setItem(i,o),this._storage.removeItem(i))}}this._storage=n}}},{key:"setStore",value:function(e,t,n){if(this._storage){var r={version:n||"localCachev1",content:t},i=JSON.stringify(r);try{this._storage.setItem(e,i)}catch(e){throw e}}}},{key:"getStore",value:function(e,t){try{if(!this._storage)return}catch(e){return""}t=t||"localCachev1";var n=this._storage.getItem(e);return n&&n.indexOf(t)>=0?JSON.parse(n).content:""}},{key:"removeStore",value:function(e){this._storage.removeItem(e)}}]),e}(),Ue={},Je={};function Ze(e){return Ue[e]}var We=function e(t,n){w(this,e),this.data=n||null,this.name=t},qe=function(e){O(n,e);var t=T(n);function n(e,r){var i;return w(this,n),i=t.call(this,"error",{error:e,data:r}),i.error=e,i}return n}(We),Ke=new(function(){function e(){w(this,e),this._listeners={}}return y(e,[{key:"on",value:function(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}},{key:"off",value:function(e,t){return function(e,t,n){if(n&&n[e]){var r=n[e].indexOf(t);-1!==r&&n[e].splice(r,1)}}(e,t,this._listeners),this}},{key:"fire",value:function(e,t){if(e instanceof qe)return console.error(e.error),this;var n="string"==typeof e?new We(e,t||{}):e,r=n.name;if(this._listens(r)){n.target=this;var i,o=this._listeners[r]?u(this._listeners[r]):[],a=p(o);try{for(a.s();!(i=a.n()).done;){var s=i.value;s.call(this,n)}}catch(c){a.e(c)}finally{a.f()}}return this}},{key:"_listens",value:function(e){return this._listeners[e]&&this._listeners[e].length>0}}]),e}());function Qe(e,t){Ke.on(e,t)}function Ve(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ke.fire(e,t)}function Ge(e,t){Ke.off(e,t)}var He,Xe="loginStateChanged",Ye="loginStateExpire",$e="loginTypeChanged",et="anonymousConverted",tt="refreshAccessToken";!function(e){e.ANONYMOUS="ANONYMOUS",e.WECHAT="WECHAT",e.WECHAT_PUBLIC="WECHAT-PUBLIC",e.WECHAT_OPEN="WECHAT-OPEN",e.CUSTOM="CUSTOM",e.EMAIL="EMAIL",e.USERNAME="USERNAME",e.NULL="NULL"}(He||(He={}));var nt=["auth.getJwt","auth.logout","auth.signInWithTicket","auth.signInAnonymously","auth.signIn","auth.fetchAccessTokenWithRefreshToken","auth.signUpWithEmailAndPassword","auth.activateEndUserMail","auth.sendPasswordResetEmail","auth.resetPasswordWithToken","auth.isUsernameRegistered"],rt={"X-SDK-Version":"1.3.5"};function it(e,t,n){var r=e[t];e[t]=function(t){var i={},o={};n.forEach((function(n){var r=n.call(e,t),a=r.data,s=r.headers;Object.assign(i,a),Object.assign(o,s)}));var a=t.data;return a&&function(){var e;if(e=a,"[object FormData]"!==Object.prototype.toString.call(e))t.data=b(b({},a),i);else for(var n in i)a.append(n,i[n])}(),t.headers=b(b({},t.headers||{}),o),r.call(e,t)}}function ot(){var e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:b(b({},rt),{},{"x-seqid":e})}}var at=function(){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w(this,e),this.config=n,this._reqClass=new _e.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:"请求在".concat(this.config.timeout/1e3,"s内未完成,已中断"),restrictedMethods:["post"]}),this._cache=Ze(this.config.env),this._localCache=(t=this.config.env,Je[t]),it(this._reqClass,"post",[ot]),it(this._reqClass,"upload",[ot]),it(this._reqClass,"download",[ot])}return y(e,[{key:"post",value:function(){var e=l(i.default.mark((function e(t){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._reqClass.post(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"upload",value:function(){var e=l(i.default.mark((function e(t){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._reqClass.upload(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"download",value:function(){var e=l(i.default.mark((function e(t){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._reqClass.download(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"refreshAccessToken",value:function(){var e=l(i.default.mark((function e(){var t,n;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken()),e.prev=1,e.next=4,this._refreshAccessTokenPromise;case 4:t=e.sent,e.next=10;break;case 7:e.prev=7,e.t0=e["catch"](1),n=e.t0;case 10:if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,!n){e.next=12;break}throw n;case 12:return e.abrupt("return",t);case 13:case"end":return e.stop()}}),e,this,[[1,7]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"_refreshAccessToken",value:function(){var e=l(i.default.mark((function e(){var t,n,r,o,a,s,c,l,u,d,f,h,p;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t=this._cache.keys,n=t.accessTokenKey,r=t.accessTokenExpireKey,o=t.refreshTokenKey,a=t.loginTypeKey,s=t.anonymousUuidKey,this._cache.removeStore(n),this._cache.removeStore(r),c=this._cache.getStore(o),c){e.next=5;break}throw new ye({message:"未登录CloudBase"});case 5:return l={refresh_token:c},e.next=8,this.request("auth.fetchAccessTokenWithRefreshToken",l);case 8:if(u=e.sent,!u.data.code){e.next=21;break}if(d=u.data.code,"SIGN_PARAM_INVALID"!==d&&"REFRESH_TOKEN_EXPIRED"!==d&&"INVALID_REFRESH_TOKEN"!==d){e.next=20;break}if(this._cache.getStore(a)!==He.ANONYMOUS||"INVALID_REFRESH_TOKEN"!==d){e.next=19;break}return f=this._cache.getStore(s),h=this._cache.getStore(o),e.next=17,this.send("auth.signInAnonymously",{anonymous_uuid:f,refresh_token:h});case 17:return p=e.sent,e.abrupt("return",(this.setRefreshToken(p.refresh_token),this._refreshAccessToken()));case 19:Ve(Ye),this._cache.removeStore(o);case 20:throw new ye({code:u.data.code,message:"刷新access token失败:".concat(u.data.code)});case 21:if(!u.data.access_token){e.next=23;break}return e.abrupt("return",(Ve(tt),this._cache.setStore(n,u.data.access_token),this._cache.setStore(r,u.data.access_token_expire+Date.now()),{accessToken:u.data.access_token,accessTokenExpire:u.data.access_token_expire}));case 23:u.data.refresh_token&&(this._cache.removeStore(o),this._cache.setStore(o,u.data.refresh_token),this._refreshAccessToken());case 24:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAccessToken",value:function(){var e=l(i.default.mark((function e(){var t,n,r,o,a,s,c;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t=this._cache.keys,n=t.accessTokenKey,r=t.accessTokenExpireKey,o=t.refreshTokenKey,this._cache.getStore(o)){e.next=3;break}throw new ye({message:"refresh token不存在,登录状态异常"});case 3:if(a=this._cache.getStore(n),s=this._cache.getStore(r),c=!0,e.t0=this._shouldRefreshAccessTokenHook,!e.t0){e.next=9;break}return e.next=8,this._shouldRefreshAccessTokenHook(a,s);case 8:e.t0=!e.sent;case 9:if(e.t1=e.t0,!e.t1){e.next=12;break}c=!1;case 12:return e.abrupt("return",(!a||!s||s2&&void 0!==arguments[2]?arguments[2]:{},r=/\?/.test(t),i="";for(var o in n)""===i?!r&&(t+="?"):i+="&",i+="".concat(o,"=").concat(encodeURIComponent(n[o]));return/^http(s)?\:\/\//.test(t+=i)?t:"".concat(e).concat(t)}(Ee,"//tcb-api.tencentcloudapi.com/web",m),v&&(y+=v),e.next=22,this.post(b({url:y,data:l},f));case 22:if(x=e.sent,A=x.header&&x.header["x-tcb-trace"],A&&this._localCache.setStore(o,A),(200===Number(x.status)||200===Number(x.statusCode))&&x.data){e.next=26;break}throw new ye({code:"NETWORK_ERROR",message:"network request error"});case 26:return e.abrupt("return",x);case 27:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"send",value:function(){var e=l(i.default.mark((function e(t){var n,r,o,a=arguments;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},e.next=3,this.request(t,n,{onUploadProgress:n.onUploadProgress});case 3:if(r=e.sent,"ACCESS_TOKEN_EXPIRED"!==r.data.code||-1!==nt.indexOf(t)){e.next=13;break}return e.next=7,this.refreshAccessToken();case 7:return e.next=9,this.request(t,n,{onUploadProgress:n.onUploadProgress});case 9:if(o=e.sent,!o.data.code){e.next=12;break}throw new ye({code:o.data.code,message:o.data.message});case 12:return e.abrupt("return",o.data);case 13:if(!r.data.code){e.next=15;break}throw new ye({code:r.data.code,message:r.data.message});case 15:return e.abrupt("return",r.data);case 16:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"setRefreshToken",value:function(e){var t=this._cache.keys,n=t.accessTokenKey,r=t.accessTokenExpireKey,i=t.refreshTokenKey;this._cache.removeStore(n),this._cache.removeStore(r),this._cache.setStore(i,e)}}]),e}(),st={};function ct(e){return st[e]}var lt=function(){function e(t){w(this,e),this.config=t,this._cache=Ze(t.env),this._request=ct(t.env)}return y(e,[{key:"setRefreshToken",value:function(e){var t=this._cache.keys,n=t.accessTokenKey,r=t.accessTokenExpireKey,i=t.refreshTokenKey;this._cache.removeStore(n),this._cache.removeStore(r),this._cache.setStore(i,e)}},{key:"setAccessToken",value:function(e,t){var n=this._cache.keys,r=n.accessTokenKey,i=n.accessTokenExpireKey;this._cache.setStore(r,e),this._cache.setStore(i,t)}},{key:"refreshUserInfo",value:function(){var e=l(i.default.mark((function e(){var t,n;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.send("auth.getUserInfo",{});case 2:return t=e.sent,n=t.data,e.abrupt("return",(this.setLocalUserInfo(n),n));case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setLocalUserInfo",value:function(e){var t=this._cache.keys.userInfoKey;this._cache.setStore(t,e)}}]),e}(),ut=function(){function e(t){if(w(this,e),!t)throw new ye({code:"PARAM_ERROR",message:"envId is not defined"});this._envId=t,this._cache=Ze(this._envId),this._request=ct(this._envId),this.setUserInfo()}return y(e,[{key:"linkWithTicket",value:function(e){if("string"!=typeof e)throw new ye({code:"PARAM_ERROR",message:"ticket must be string"});return this._request.send("auth.linkWithTicket",{ticket:e})}},{key:"linkWithRedirect",value:function(e){e.signInWithRedirect()}},{key:"updatePassword",value:function(e,t){return this._request.send("auth.updatePassword",{oldPassword:t,newPassword:e})}},{key:"updateEmail",value:function(e){return this._request.send("auth.updateEmail",{newEmail:e})}},{key:"updateUsername",value:function(e){if("string"!=typeof e)throw new ye({code:"PARAM_ERROR",message:"username must be a string"});return this._request.send("auth.updateUsername",{username:e})}},{key:"getLinkedUidList",value:function(){var e=l(i.default.mark((function e(){var t,n,r,o;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.send("auth.getLinkedUidList",{});case 2:return t=e.sent,n=t.data,r=!1,o=n.users,e.abrupt("return",(o.forEach((function(e){e.wxOpenId&&e.wxPublicId&&(r=!0)})),{users:o,hasPrimaryUid:r}));case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setPrimaryUid",value:function(e){return this._request.send("auth.setPrimaryUid",{uid:e})}},{key:"unlink",value:function(e){return this._request.send("auth.unlink",{platform:e})}},{key:"update",value:function(){var e=l(i.default.mark((function e(t){var n,r,o,a,s,c,l,u;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=t.nickName,r=t.gender,o=t.avatarUrl,a=t.province,s=t.country,c=t.city,e.next=8,this._request.send("auth.updateUserInfo",{nickName:n,gender:r,avatarUrl:o,province:a,country:s,city:c});case 8:l=e.sent,u=l.data,this.setLocalUserInfo(u);case 11:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"refresh",value:function(){var e=l(i.default.mark((function e(){var t,n;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.send("auth.getUserInfo",{});case 2:return t=e.sent,n=t.data,e.abrupt("return",(this.setLocalUserInfo(n),n));case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setUserInfo",value:function(){var e=this,t=this._cache.keys.userInfoKey,n=this._cache.getStore(t);["uid","loginType","openid","wxOpenId","wxPublicId","unionId","qqMiniOpenId","email","hasPassword","customUserId","nickName","gender","avatarUrl"].forEach((function(t){e[t]=n[t]})),this.location={country:n.country,province:n.province,city:n.city}}},{key:"setLocalUserInfo",value:function(e){var t=this._cache.keys.userInfoKey;this._cache.setStore(t,e),this.setUserInfo()}}]),e}(),dt=function(){function e(t){if(w(this,e),!t)throw new ye({code:"PARAM_ERROR",message:"envId is not defined"});this._cache=Ze(t);var n=this._cache.keys,r=n.refreshTokenKey,i=n.accessTokenKey,o=n.accessTokenExpireKey,a=this._cache.getStore(r),s=this._cache.getStore(i),c=this._cache.getStore(o);this.credential={refreshToken:a,accessToken:s,accessTokenExpire:c},this.user=new ut(t)}return y(e,[{key:"isAnonymousAuth",get:function(){return this.loginType===He.ANONYMOUS}},{key:"isCustomAuth",get:function(){return this.loginType===He.CUSTOM}},{key:"isWeixinAuth",get:function(){return this.loginType===He.WECHAT||this.loginType===He.WECHAT_OPEN||this.loginType===He.WECHAT_PUBLIC}},{key:"loginType",get:function(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}]),e}(),ft=function(e){O(n,e);var t=T(n);function n(){return w(this,n),t.apply(this,arguments)}return y(n,[{key:"signIn",value:function(){var e=l(i.default.mark((function e(){var t,n,r,o,a,s,c;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return this._cache.updatePersistence("local"),t=this._cache.keys,n=t.anonymousUuidKey,r=t.refreshTokenKey,o=this._cache.getStore(n)||void 0,a=this._cache.getStore(r)||void 0,e.next=8,this._request.send("auth.signInAnonymously",{anonymous_uuid:o,refresh_token:a});case 8:if(s=e.sent,!s.uuid||!s.refresh_token){e.next=20;break}return this._setAnonymousUUID(s.uuid),this.setRefreshToken(s.refresh_token),e.next=14,this._request.refreshAccessToken();case 14:return Ve(Xe),Ve($e,{env:this.config.env,loginType:He.ANONYMOUS,persistence:"local"}),c=new dt(this.config.env),e.next=19,c.user.refresh();case 19:return e.abrupt("return",c);case 20:throw new ye({message:"匿名登录失败"});case 21:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"linkAndRetrieveDataWithTicket",value:function(){var e=l(i.default.mark((function e(t){var n,r,o,a,s,c;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=this._cache.keys,r=n.anonymousUuidKey,o=n.refreshTokenKey,a=this._cache.getStore(r),s=this._cache.getStore(o),e.next=7,this._request.send("auth.linkAndRetrieveDataWithTicket",{anonymous_uuid:a,refresh_token:s,ticket:t});case 7:if(c=e.sent,!c.refresh_token){e.next=16;break}return this._clearAnonymousUUID(),this.setRefreshToken(c.refresh_token),e.next=13,this._request.refreshAccessToken();case 13:return Ve(et,{env:this.config.env}),Ve($e,{loginType:He.CUSTOM,persistence:"local"}),e.abrupt("return",{credential:{refreshToken:c.refresh_token}});case 16:throw new ye({message:"匿名转化失败"});case 17:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"_setAnonymousUUID",value:function(e){var t=this._cache.keys,n=t.anonymousUuidKey,r=t.loginTypeKey;this._cache.removeStore(n),this._cache.setStore(n,e),this._cache.setStore(r,He.ANONYMOUS)}},{key:"_clearAnonymousUUID",value:function(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}]),n}(lt),ht=function(e){O(n,e);var t=T(n);function n(){return w(this,n),t.apply(this,arguments)}return y(n,[{key:"signIn",value:function(){var e=l(i.default.mark((function e(t){var n,r;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new ye({param:"PARAM_ERROR",message:"ticket must be a string"});case 2:return n=this._cache.keys.refreshTokenKey,e.next=5,this._request.send("auth.signInWithTicket",{ticket:t,refresh_token:this._cache.getStore(n)||""});case 5:if(r=e.sent,!r.refresh_token){e.next=15;break}return this.setRefreshToken(r.refresh_token),e.next=10,this._request.refreshAccessToken();case 10:return Ve(Xe),Ve($e,{env:this.config.env,loginType:He.CUSTOM,persistence:this.config.persistence}),e.next=14,this.refreshUserInfo();case 14:return e.abrupt("return",new dt(this.config.env));case 15:throw new ye({message:"自定义登录失败"});case 16:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()}]),n}(lt),pt=function(e){O(n,e);var t=T(n);function n(){return w(this,n),t.apply(this,arguments)}return y(n,[{key:"signIn",value:function(){var e=l(i.default.mark((function e(t,n){var r,o,a,s,c;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new ye({code:"PARAM_ERROR",message:"email must be a string"});case 2:return r=this._cache.keys.refreshTokenKey,e.next=5,this._request.send("auth.signIn",{loginType:"EMAIL",email:t,password:n,refresh_token:this._cache.getStore(r)||""});case 5:if(o=e.sent,a=o.refresh_token,s=o.access_token,c=o.access_token_expire,!a){e.next=22;break}if(this.setRefreshToken(a),!s||!c){e.next=15;break}this.setAccessToken(s,c),e.next=17;break;case 15:return e.next=17,this._request.refreshAccessToken();case 17:return e.next=19,this.refreshUserInfo();case 19:return Ve(Xe),Ve($e,{env:this.config.env,loginType:He.EMAIL,persistence:this.config.persistence}),e.abrupt("return",new dt(this.config.env));case 22:throw o.code?new ye({code:o.code,message:"邮箱登录失败: ".concat(o.message)}):new ye({message:"邮箱登录失败"});case 23:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"activate",value:function(){var e=l(i.default.mark((function e(t){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.activateEndUserMail",{token:t}));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"resetPasswordWithToken",value:function(){var e=l(i.default.mark((function e(t,n){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.resetPasswordWithToken",{token:t,newPassword:n}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),n}(lt),gt=function(e){O(n,e);var t=T(n);function n(){return w(this,n),t.apply(this,arguments)}return y(n,[{key:"signIn",value:function(){var e=l(i.default.mark((function e(t,n){var r,o,a,s,c;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new ye({code:"PARAM_ERROR",message:"username must be a string"});case 2:return"string"!=typeof n&&(n="",console.warn("password is empty")),r=this._cache.keys.refreshTokenKey,e.next=6,this._request.send("auth.signIn",{loginType:He.USERNAME,username:t,password:n,refresh_token:this._cache.getStore(r)||""});case 6:if(o=e.sent,a=o.refresh_token,s=o.access_token_expire,c=o.access_token,!a){e.next=23;break}if(this.setRefreshToken(a),!c||!s){e.next=16;break}this.setAccessToken(c,s),e.next=18;break;case 16:return e.next=18,this._request.refreshAccessToken();case 18:return e.next=20,this.refreshUserInfo();case 20:return Ve(Xe),Ve($e,{env:this.config.env,loginType:He.USERNAME,persistence:this.config.persistence}),e.abrupt("return",new dt(this.config.env));case 23:throw o.code?new ye({code:o.code,message:"用户名密码登录失败: ".concat(o.message)}):new ye({message:"用户名密码登录失败"});case 24:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),n}(lt),vt=function(){function e(t){w(this,e),this.config=t,this._cache=Ze(t.env),this._request=ct(t.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Qe($e,this._onLoginTypeChanged)}return y(e,[{key:"anonymousAuthProvider",value:function(){return new ft(this.config)}},{key:"customAuthProvider",value:function(){return new ht(this.config)}},{key:"emailAuthProvider",value:function(){return new pt(this.config)}},{key:"usernameAuthProvider",value:function(){return new gt(this.config)}},{key:"signInAnonymously",value:function(){var e=l(i.default.mark((function e(){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",new ft(this.config).signIn());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"signInWithEmailAndPassword",value:function(){var e=l(i.default.mark((function e(t,n){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",new pt(this.config).signIn(t,n));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"signInWithUsernameAndPassword",value:function(e,t){return new gt(this.config).signIn(e,t)}},{key:"linkAndRetrieveDataWithTicket",value:function(){var e=l(i.default.mark((function e(t){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return this._anonymousAuthProvider||(this._anonymousAuthProvider=new ft(this.config)),Qe(et,this._onAnonymousConverted),e.next=3,this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"signOut",value:function(){var e=l(i.default.mark((function e(){var t,n,r,o,a,s;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(this.loginType!==He.ANONYMOUS){e.next=2;break}throw new ye({message:"匿名用户不支持登出操作"});case 2:if(t=this._cache.keys,n=t.refreshTokenKey,r=t.accessTokenKey,o=t.accessTokenExpireKey,a=this._cache.getStore(n),a){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,this._request.send("auth.logout",{refresh_token:a});case 7:return s=e.sent,e.abrupt("return",(this._cache.removeStore(n),this._cache.removeStore(r),this._cache.removeStore(o),Ve(Xe),Ve($e,{env:this.config.env,loginType:He.NULL,persistence:this.config.persistence}),s));case 9:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"signUpWithEmailAndPassword",value:function(){var e=l(i.default.mark((function e(t,n){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.signUpWithEmailAndPassword",{email:t,password:n}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"sendPasswordResetEmail",value:function(){var e=l(i.default.mark((function e(t){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.sendPasswordResetEmail",{email:t}));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"onLoginStateChanged",value:function(e){var t=this;Qe(Xe,(function(){var n=t.hasLoginState();e.call(t,n)}));var n=this.hasLoginState();e.call(this,n)}},{key:"onLoginStateExpired",value:function(e){Qe(Ye,e.bind(this))}},{key:"onAccessTokenRefreshed",value:function(e){Qe(tt,e.bind(this))}},{key:"onAnonymousConverted",value:function(e){Qe(et,e.bind(this))}},{key:"onLoginTypeChanged",value:function(e){var t=this;Qe($e,(function(){var n=t.hasLoginState();e.call(t,n)}))}},{key:"getAccessToken",value:function(){var e=l(i.default.mark((function e(){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.getAccessToken();case 2:return e.t0=e.sent.accessToken,e.t1=this.config.env,e.abrupt("return",{accessToken:e.t0,env:e.t1});case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"hasLoginState",value:function(){var e=this._cache.keys.refreshTokenKey;return this._cache.getStore(e)?new dt(this.config.env):null}},{key:"isUsernameRegistered",value:function(){var e=l(i.default.mark((function e(t){var n,r;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new ye({code:"PARAM_ERROR",message:"username must be a string"});case 2:return e.next=4,this._request.send("auth.isUsernameRegistered",{username:t});case 4:return n=e.sent,r=n.data,e.abrupt("return",r&&r.isRegistered);case 7:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getLoginState",value:function(){return Promise.resolve(this.hasLoginState())}},{key:"signInWithTicket",value:function(){var e=l(i.default.mark((function e(t){return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",new ht(this.config).signIn(t));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"shouldRefreshAccessToken",value:function(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}},{key:"getUserInfo",value:function(){return this._request.send("auth.getUserInfo",{}).then((function(e){return e.code?e:b(b({},e.data),{},{requestId:e.seqId})}))}},{key:"getAuthHeader",value:function(){var e=this._cache.keys,t=e.refreshTokenKey,n=e.accessTokenKey,r=this._cache.getStore(t);return{"x-cloudbase-credentials":this._cache.getStore(n)+"/@@/"+r}}},{key:"_onAnonymousConverted",value:function(e){var t=e.data.env;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}},{key:"_onLoginTypeChanged",value:function(e){var t=e.data,n=t.loginType,r=t.persistence,i=t.env;i===this.config.env&&(this._cache.updatePersistence(r),this._cache.setStore(this._cache.keys.loginTypeKey,n))}},{key:"currentUser",get:function(){var e=this.hasLoginState();return e&&e.user||null}},{key:"loginType",get:function(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}]),e}(),mt=function(e,t){t=t||De();var n=ct(this.config.env),r=e.cloudPath,i=e.filePath,o=e.onUploadProgress,a=e.fileType,s=void 0===a?"image":a;return n.send("storage.getUploadMetadata",{path:r}).then((function(e){var a=e.data,c=a.url,l=a.authorization,u=a.token,d=a.fileId,f=a.cosFileId,h=e.requestId,p={key:r,signature:l,"x-cos-meta-fileid":f,success_action_status:"201","x-cos-security-token":u};n.upload({url:c,data:p,file:i,name:r,fileType:s,onUploadProgress:o}).then((function(e){201===e.statusCode?t(null,{fileID:d,requestId:h}):t(new ye({code:"STORAGE_REQUEST_FAIL",message:"STORAGE_REQUEST_FAIL: ".concat(e.data)}))})).catch((function(e){t(e)}))})).catch((function(e){t(e)})),t.promise},yt=function(e,t){t=t||De();var n=ct(this.config.env),r=e.cloudPath;return n.send("storage.getUploadMetadata",{path:r}).then((function(e){t(null,e)})).catch((function(e){t(e)})),t.promise},xt=function(e,t){var n=e.fileList;if(t=t||De(),!n||!Array.isArray(n))return{code:"INVALID_PARAM",message:"fileList必须是非空的数组"};var r,i=p(n);try{for(i.s();!(r=i.n()).done;){var o=r.value;if(!o||"string"!=typeof o)return{code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"}}}catch(s){i.e(s)}finally{i.f()}var a={fileid_list:n};return ct(this.config.env).send("storage.batchDeleteFile",a).then((function(e){e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((function(e){t(e)})),t.promise},bt=function(e,t){var n=e.fileList;t=t||De(),n&&Array.isArray(n)||t(null,{code:"INVALID_PARAM",message:"fileList必须是非空的数组"});var r,i=[],o=p(n);try{for(o.s();!(r=o.n()).done;){var a=r.value;"object"==typeof a?(a.hasOwnProperty("fileID")&&a.hasOwnProperty("maxAge")||t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是包含fileID和maxAge的对象"}),i.push({fileid:a.fileID,max_age:a.maxAge})):"string"==typeof a?i.push({fileid:a}):t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是字符串"})}}catch(c){o.e(c)}finally{o.f()}var s={file_list:i};return ct(this.config.env).send("storage.batchGetDownloadUrl",s).then((function(e){e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((function(e){t(e)})),t.promise},At=function(){var e=l(i.default.mark((function e(t,n){var r,o,a,s;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r=t.fileID,e.next=3,bt.call(this,{fileList:[{fileID:r,maxAge:600}]});case 3:if(o=e.sent.fileList[0],"SUCCESS"===o.code){e.next=6;break}return e.abrupt("return",n?n(o):new Promise((function(e){e(o)})));case 6:if(a=ct(this.config.env),s=o.download_url,s=encodeURI(s),n){e.next=10;break}return e.abrupt("return",a.download({url:s}));case 10:return e.t0=n,e.next=13,a.download({url:s});case 13:e.t1=e.sent,(0,e.t0)(e.t1);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),wt=function(e,t){var n,r=e.name,i=e.data,o=e.query,a=e.parse,s=e.search,c=t||De();try{n=i?JSON.stringify(i):""}catch(r){return Promise.reject(r)}if(!r)return Promise.reject(new ye({code:"PARAM_ERROR",message:"函数名不能为空"}));var l={inQuery:o,parse:a,search:s,function_name:r,request_data:n};return ct(this.config.env).send("functions.invokeFunction",l).then((function(e){if(e.code)c(null,e);else{var t=e.data.response_data;if(a)c(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),c(null,{result:t,requestId:e.requestId})}catch(e){c(new ye({message:"response data must be json"}))}}return c.promise})).catch((function(e){c(e)})),c.promise},Ot={timeout:15e3,persistence:"session"},Tt={},kt=function(){function e(t){w(this,e),this.config=t||this.config,this.authObj=void 0}return y(e,[{key:"init",value:function(t){switch(_e.adapter||(this.requestClient=new _e.adapter.reqClass({timeout:t.timeout||5e3,timeoutMsg:"请求在".concat((t.timeout||5e3)/1e3,"s内未完成,已中断")})),this.config=b(b({},Ot),t),!0){case this.config.timeout>6e5:console.warn("timeout大于可配置上限[10分钟],已重置为上限数值"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn("timeout小于可配置下限[100ms],已重置为下限数值"),this.config.timeout=100}return new e(this.config)}},{key:"auth",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.persistence;if(this.authObj)return this.authObj;var n,r=t||_e.adapter.primaryStorage||Ot.persistence;return r!==this.config.persistence&&(this.config.persistence=r),function(e){var t=e.env;Ue[t]=new je(e),Je[t]=new je(b(b({},e),{},{persistence:"local"}))}(this.config),n=this.config,st[n.env]=new at(n),this.authObj=new vt(this.config),this.authObj}},{key:"on",value:function(e,t){return Qe.apply(this,[e,t])}},{key:"off",value:function(e,t){return Ge.apply(this,[e,t])}},{key:"callFunction",value:function(e,t){return wt.apply(this,[e,t])}},{key:"deleteFile",value:function(e,t){return xt.apply(this,[e,t])}},{key:"getTempFileURL",value:function(e,t){return bt.apply(this,[e,t])}},{key:"downloadFile",value:function(e,t){return At.apply(this,[e,t])}},{key:"uploadFile",value:function(e,t){return mt.apply(this,[e,t])}},{key:"getUploadMetadata",value:function(e,t){return yt.apply(this,[e,t])}},{key:"registerExtension",value:function(e){Tt[e.name]=e}},{key:"invokeExtension",value:function(){var e=l(i.default.mark((function e(t,n){var r;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(r=Tt[t],r){e.next=3;break}throw new ye({message:"扩展".concat(t," 必须先注册")});case 3:return e.next=5,r.invoke(n,this);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"useAdapters",value:function(e){var t=Fe(e)||{},n=t.adapter,r=t.runtime;n&&(_e.adapter=n),r&&(_e.runtime=r)}}]),e}(),St=new kt;function Pt(e,t,n){void 0===n&&(n={});var r=/\?/.test(t),i="";for(var o in n)""===i?!r&&(t+="?"):i+="&",i+=o+"="+encodeURIComponent(n[o]);return/^http(s)?:\/\//.test(t+=i)?t:""+e+t}var Ct=function(){function e(){w(this,e)}return y(e,[{key:"post",value:function(e){var t=e.url,n=e.data,r=e.headers;return new Promise((function(e,i){Oe.request({url:Pt("https:",t),data:n,method:"POST",header:r,success:function(t){e(t)},fail:function(e){i(e)}})}))}},{key:"upload",value:function(e){return new Promise((function(t,n){var r=e.url,i=e.file,o=e.data,a=e.headers,s=e.fileType,c=Oe.uploadFile({url:Pt("https:",r),name:"file",formData:Object.assign({},o),filePath:i,fileType:s,header:a,success:function(e){var n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&o.success_action_status&&(n.statusCode=parseInt(o.success_action_status,10)),t(n)},fail:function(e){W&&"mp-alipay"===Z&&console.warn("支付宝小程序开发工具上传腾讯云时无法准确判断是否上传成功,请使用真机测试"),n(new Error(e.errMsg||"uploadFile:fail"))}});"function"==typeof e.onUploadProgress&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate((function(t){e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}]),e}(),Et={setItem:function(e,t){Oe.setStorageSync(e,t)},getItem:function(e){return Oe.getStorageSync(e)},removeItem:function(e){Oe.removeStorageSync(e)},clear:function(){Oe.clearStorageSync()}},zt={genAdapter:function(){return{root:{},reqClass:Ct,localStorage:Et,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};St.useAdapters(zt);var Mt=St,Dt=Mt.init;Mt.init=function(e){e.env=e.spaceId;var t=Dt.call(this,e);t.config.provider="tencent",t.config.spaceId=e.spaceId;var n=t.auth;return t.auth=function(e){var t=n.call(this,e);return["linkAndRetrieveDataWithTicket","signInAnonymously","signOut","getAccessToken","getLoginState","signInWithTicket","getUserInfo"].forEach((function(e){t[e]=ve(t[e]).bind(t)})),t},t.customAuth=t.auth,t};var It=Mt;function Lt(){return{token:Oe.getStorageSync("uni_id_token")||Oe.getStorageSync("uniIdToken"),tokenExpired:Oe.getStorageSync("uni_id_token_expired")}}function Ft(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.token,n=e.tokenExpired;t&&Oe.setStorageSync("uni_id_token",t),n&&Oe.setStorageSync("uni_id_token_expired",n)}function _t(){W&&"web"===Z&&r.getStorageSync("__LAST_DCLOUD_APPID")!==G&&(r.setStorageSync("__LAST_DCLOUD_APPID",G),console.warn("检测到当前项目与上次运行到此端口的项目不一致,自动清理uni-id保存的token信息(仅开发调试时生效)"),Oe.removeStorageSync("uni_id_token"),Oe.removeStorageSync("uniIdToken"),Oe.removeStorageSync("uni_id_token_expired"))}var Rt=function(e){O(n,e);var t=T(n);function n(){return w(this,n),t.apply(this,arguments)}return y(n,[{key:"getAccessToken",value:function(){var e=this;return new Promise((function(t,n){var r="Anonymous_Access_token";e.setAccessToken(r),t(r)}))}},{key:"setupRequest",value:function(e,t){var n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),r={"Content-Type":"application/json"};"auth"!==t&&(n.token=this.accessToken,r["x-basement-token"]=this.accessToken),r["x-serverless-sign"]=we.sign(n,this.config.clientSecret);var i=be();r["x-client-info"]=encodeURIComponent(JSON.stringify(i));var o=Lt(),a=o.token;return r["x-client-token"]=a,{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:JSON.parse(JSON.stringify(r))}}},{key:"uploadFileToOSS",value:function(e){var t=this,n=e.url,r=e.formData,i=e.name,o=e.filePath,a=e.fileType,s=e.onUploadProgress;return new Promise((function(e,c){var l=t.adapter.uploadFile({url:n,formData:r,name:i,filePath:o,fileType:a,success:function(t){t&&t.statusCode<400?e(t):c(new ye({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail:function(e){c(new ye({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof s&&l&&"function"==typeof l.onProgressUpdate&&l.onProgressUpdate((function(e){s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}},{key:"uploadFile",value:function(e){var t,n=this,r=e.filePath,i=e.cloudPath,o=e.fileType,a=void 0===o?"image":o,s=e.onUploadProgress;if(!i)throw new ye({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});return this.getOSSUploadOptionsFromPath({cloudPath:i}).then((function(e){var i=e.result,o=i.url,c=i.formData,l=i.name;t=e.result.fileUrl;var u={url:o,formData:c,name:l,filePath:r,fileType:a};return n.uploadFileToOSS(Object.assign({},u,{onUploadProgress:s}))})).then((function(){return n.reportOSSUpload({cloudPath:i})})).then((function(e){return new Promise((function(n,i){e.success?n({success:!0,filePath:r,fileID:t}):i(new ye({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))}))}},{key:"deleteFile",value:function(e){var t=e.fileList,n={method:"serverless.file.resource.delete",params:JSON.stringify({fileList:t})};return this.request(this.setupRequest(n))}},{key:"getTempFileURL",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fileList,n={method:"serverless.file.resource.getTempFileURL",params:JSON.stringify({fileList:t})};return this.request(this.setupRequest(n))}}]),n}(Pe),Bt={init:function(e){var t=new Rt(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};function Nt(e){var t,n=e.data;t=be();var r=JSON.parse(JSON.stringify(n||{}));if(Object.assign(r,{clientInfo:t}),!r.uniIdToken){var i=Lt(),o=i.token;o&&(r.uniIdToken=o)}return r}function jt(e){var t=this,n=e.name,r=e.data,i=this.localAddress,o=this.localPort,a={aliyun:"aliyun",tencent:"tcb"}[this.config.provider],s=this.config.spaceId,c="http://".concat(i,":").concat(o,"/system/check-function"),l="http://".concat(i,":").concat(o,"/cloudfunctions/").concat(n);return new Promise((function(e,t){Oe.request({method:"POST",url:c,data:{name:n,platform:Z,provider:a,spaceId:s},timeout:3e3,success:function(t){e(t)},fail:function(){e({data:{code:"NETWORK_ERROR",message:"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。"}})}})})).then((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=t||{},r=n.code,i=n.message;return{code:0===r?0:r||"SYS_ERR",message:i||"SYS_ERR"}})).then((function(e){var i=e.code,o=e.message;if(0!==i){switch(i){case"MODULE_ENCRYPTED":console.error("此云函数(".concat(n,")依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数"));break;case"FUNCTION_ENCRYPTED":console.error("此云函数(".concat(n,")已加密不可本地调试,自动切换为云端已部署的云函数"));break;case"ACTION_ENCRYPTED":console.error(o||"需要访问加密的uni-clientDB-action,自动切换为云端环境");break;case"NETWORK_ERROR":var s="连接本地调试服务失败,请检查客户端是否和主机在同一局域网下";throw console.error(s),new Error(s);case"SWITCH_TO_CLOUD":break;default:var c="检测本地调试服务出现错误:".concat(o,",请检查网络环境或重启客户端再试");throw console.error(c),new Error(c)}return t._originCallFunction({name:n,data:r})}return new Promise((function(e,n){var i=Nt.call(t,{data:r});Oe.request({method:"POST",url:l,data:{provider:a,platform:Z,param:i},success:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.statusCode,i=t.data;return!r||r>=400?n(new ye({code:i.code||"SYS_ERR",message:i.message||"request:fail"})):e({result:i})},fail:function(e){n(new ye({code:e.code||e.errCode||"SYS_ERR",message:e.message||e.errMsg||"request:fail"}))}})}))}))}var Ut=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",mode:"append"}],Jt=/[\\^$.*+?()[\]{}|]/g,Zt=RegExp(Jt.source);function Wt(e,t,n){return e.replace(new RegExp((r=t)&&Zt.test(r)?r.replace(Jt,"\\$&"):r,"g"),n);var r}function qt(e){var t=e.functionName,n=e.result,r=e.logPvd;if(this.config.debugLog&&n&&n.requestId){var i=JSON.stringify({spaceId:this.config.spaceId,functionName:t,requestId:n.requestId});console.log("[".concat(r,"-request]").concat(i,"[/").concat(r,"-request]"))}}function Kt(e){var t=e.callFunction,n=function(n){var r=this,i=n.name;n.data=Nt.call(e,{data:n.data});var o={aliyun:"aliyun",tencent:"tcb",tcb:"tcb"}[this.config.provider];return t.call(this,n).then((function(e){return e.errCode=0,qt.call(r,{functionName:i,result:e,logPvd:o}),Promise.resolve(e)}),(function(e){return qt.call(r,{functionName:i,result:e,logPvd:o}),e&&e.message&&(e.message=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.message,n=void 0===t?"":t,r=e.extraInfo,i=void 0===r?{}:r,o=e.formatter,a=void 0===o?[]:o,s=0;s-1||e[t].push(n)},off:function(t,n){e[t]=e[t]||[];var r=e[t].indexOf(n);-1!==r&&e[t].splice(r,1)}}}var Ht=["db.Geo","db.command","command.aggregate"];function Xt(e,t){return Ht.indexOf("".concat(e,".").concat(t))>-1}function Yt(e){switch(j(e)){case"array":return e.map((function(e){return Yt(e)}));case"object":return e._internalType===Qt||Object.keys(e).forEach((function(t){e[t]=Yt(e[t])})),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:return e}}function $t(e){return e&&e.content&&e.content.$method}var en=function(){function e(t,n,r){w(this,e),this.content=t,this.prevStage=n||null,this.udb=null,this._database=r}return y(e,[{key:"toJSON",value:function(){for(var e=this,t=[e.content];e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((function(e){return{$method:e.$method,$param:Yt(e.$param)}}))}}},{key:"getAction",value:function(){var e=this.toJSON().$db.find((function(e){return"action"===e.$method}));return e&&e.$param&&e.$param[0]}},{key:"getCommand",value:function(){return{$db:this.toJSON().$db.filter((function(e){return"action"!==e.$method}))}}},{key:"get",value:function(){return this._send("get",Array.from(arguments))}},{key:"add",value:function(){return this._send("add",Array.from(arguments))}},{key:"update",value:function(){return this._send("update",Array.from(arguments))}},{key:"end",value:function(){return this._send("end",Array.from(arguments))}},{key:"_send",value:function(e,t){var n=this.getAction(),r=this.getCommand();if(r.$db.push({$method:e,$param:Yt(t)}),W){var i=r.$db.find((function(e){return"collection"===e.$method})),o=i&&i.$param;o&&1===o.length&&"string"==typeof i.$param[0]&&i.$param[0].indexOf(",")>-1&&console.warn("检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。")}return this._database._callCloudFunction({action:n,command:r})}},{key:"isAggregate",get:function(){for(var e=this;e;){var t=$t(e),n=$t(e.prevStage);if("aggregate"===t&&"collection"===n||"pipeline"===t)return!0;e=e.prevStage}return!1}},{key:"isCommand",get:function(){for(var e=this;e;){if("command"===$t(e))return!0;e=e.prevStage}return!1}},{key:"isAggregateCommand",get:function(){for(var e=this;e;){var t=$t(e),n=$t(e.prevStage);if("aggregate"===t&&"command"===n)return!0;e=e.prevStage}return!1}},{key:"count",get:function(){if(!this.isAggregate)return function(){return this._send("count",Array.from(arguments))};var e=this;return function(){return tn({$method:"count",$param:Yt(Array.from(arguments))},e,this._database)}}},{key:"remove",get:function(){if(!this.isCommand)return function(){return this._send("remove",Array.from(arguments))};var e=this;return function(){return tn({$method:"remove",$param:Yt(Array.from(arguments))},e,this._database)}}},{key:"set",get:function(){if(!this.isCommand)return function(){throw new Error("JQL禁止使用set方法")};var e=this;return function(){return tn({$method:"set",$param:Yt(Array.from(arguments))},e,this._database)}}}]),e}();function tn(e,t,n){return Vt(new en(e,t,n),{get:function(e,t){var r="db";return e&&e.content&&(r=e.content.$method),Xt(r,t)?tn({$method:t},e,n):function(){return tn({$method:t,$param:Yt(Array.from(arguments))},e,n)}}})}function nn(e){var t=e.path,n=e.method;return function(){function e(){w(this,e),this.param=Array.from(arguments)}return y(e,[{key:"toJSON",value:function(){return{$newDb:[].concat(u(t.map((function(e){return{$method:e}}))),[{$method:n,$param:this.param}])}}}]),e}()}var rn=function(e){O(n,e);var t=T(n);function n(){return w(this,n),t.apply(this,arguments)}return y(n,[{key:"_callCloudFunction",value:function(e){var t=this,n=e.action,r=e.command,i=e.multiCommand,o=e.queryList;function a(e,t){if(i&&o)for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},n=t.uniClient,r=void 0===n?{}:n;w(this,e),this._uniClient=r,this._authCallBacks={},this._dbCallBacks={},r.isDefault&&(this._dbCallBacks=Y("_globalUniCloudDatabaseCallback")),this.auth=Gt(this._authCallBacks),Object.assign(this,Gt(this._dbCallBacks)),this.env=Vt({},{get:function(e,t){return{$env:t}}}),this.Geo=Vt({},{get:function(e,t){return nn({path:["Geo"],method:t})}}),this.serverDate=nn({path:[],method:"serverDate"}),this.RegExp=nn({path:[],method:"RegExp"})}return y(e,[{key:"getCloudEnv",value:function(e){if("string"!=typeof e||!e.trim())throw new Error("getCloudEnv参数错误");return{$env:e.replace("$cloudEnv_","")}}},{key:"_callback",value:function(e,t){var n=this._dbCallBacks;n[e]&&n[e].forEach((function(e){e.apply(void 0,u(t))}))}},{key:"_callbackAuth",value:function(e,t){var n=this._authCallBacks;n[e]&&n[e].forEach((function(e){e.apply(void 0,u(t))}))}},{key:"multiSend",value:function(){var e=Array.from(arguments),t=e.map((function(e){var t=e.getAction(),n=e.getCommand();if("getTemp"!==n.$db[n.$db.length-1].$method)throw new Error("multiSend只支持子命令内使用getTemp");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}]),e}());function on(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Vt(new e(t),{get:function(e,t){return Xt("db",t)?tn({$method:t},null,e):function(){return tn({$method:t,$param:Yt(Array.from(arguments))},null,e)}}})}(rn,{uniClient:e});return this._database=n,n}}var an="token无效,跳转登录页面",sn="token过期,跳转登录页面",cn={TOKEN_INVALID_TOKEN_EXPIRED:sn,TOKEN_INVALID_INVALID_CLIENTID:an,TOKEN_INVALID:an,TOKEN_INVALID_WRONG_TOKEN:an,TOKEN_INVALID_ANONYMOUS_USER:an},ln={"uni-id-token-expired":sn,"uni-id-check-token-failed":an,"uni-id-token-not-exist":an,"uni-id-check-device-feature-failed":an};function un(e,t){var n="";return n=e?"".concat(e,"/").concat(t):t,n.replace(/^\//,"")}function dn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=[],r=[];return e.forEach((function(e){!0===e.needLogin?n.push(un(t,e.path)):!1===e.needLogin&&r.push(un(t,e.path))})),{needLoginPage:n,notNeedLoginPage:r}}function fn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;var n=t.list,r=e.split("?")[0].replace(/^\//,"");return n.some((function(e){return e.pagePath===r}))}var hn,pn=!!a.default.uniIdRouter,gn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.default,t=e.pages,n=void 0===t?[]:t,r=e.subPackages,i=void 0===r?[]:r,o=e.uniIdRouter,s=void 0===o?{}:o,c=e.tabBar,l=void 0===c?{}:c,d=s.loginPage,f=s.needLogin,h=void 0===f?[]:f,p=s.resToLogin,g=void 0===p||p,v=dn(n),m=v.needLoginPage,y=v.notNeedLoginPage,x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],n=[];return e.forEach((function(e){var r=e.root,i=e.pages,o=void 0===i?[]:i,a=dn(o,r),s=a.needLoginPage,c=a.notNeedLoginPage;t.push.apply(t,u(s)),n.push.apply(n,u(c))})),{needLoginPage:t,notNeedLoginPage:n}}(i),b=x.needLoginPage,A=x.notNeedLoginPage;return{loginPage:d,routerNeedLogin:h,resToLogin:g,needLoginPage:[].concat(u(m),u(b)),notNeedLoginPage:[].concat(u(y),u(A)),loginPageInTabBar:fn(d,l)}}(),vn=gn.loginPage,mn=gn.routerNeedLogin,yn=gn.resToLogin,xn=gn.needLoginPage,bn=gn.notNeedLoginPage,An=gn.loginPageInTabBar;function wn(e){var t=function(e){var t=getCurrentPages(),n=t[t.length-1].route,r=e.charAt(0),i=e.split("?")[0];if("/"===r)return i;var o=i.replace(/^\//,"").split("/"),a=n.split("/");a.pop();for(var s=0;s-1)&&(xn.indexOf(t)>-1||mn.some((function(t){return function(e,t){return new RegExp(t).test(e)}(e,t)})))}function On(e,t){return"/"!==e.charAt(0)&&(e="/"+e),t?e.indexOf("?")>-1?e+"&uniIdRedirectUrl=".concat(encodeURIComponent(t)):e+"?uniIdRedirectUrl=".concat(encodeURIComponent(t)):e}function Tn(){for(var e=["navigateTo","redirectTo","reLaunch","switchTab"],t=function(t){var n=e[t];r.addInterceptor(n,{invoke:function(e){var t,i=Lt(),o=i.token,a=i.tokenExpired;if(o){if(a0)return setTimeout((function(){ge(se,t)}),0),e.url="",!1;if(!vn)return e;var l=On(vn,t.uniIdRedirectUrl);if(An){if("navigateTo"===n||"redirectTo"===n)return setTimeout((function(){r.switchTab({url:l})})),!1}else if("switchTab"===n)return setTimeout((function(){r.navigateTo({url:l})})),!1;e.url=l}return e}})},n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=fe(se),n=getCurrentPages(),i=n[n.length-1],o=i&&i.$page&&i.$page.fullPath;if(t.length>0)return ge(se,Object.assign({uniIdRedirectUrl:o},e));vn&&r.navigateTo({url:On(vn,o)})}(n)}))}function Sn(e){e.onNeedLogin=function(e){he(se,e)},e.offNeedLogin=function(e){pe(se,e)},pn&&(Y("uni-cloud-status").needLoginInit||(Y("uni-cloud-status").needLoginInit=!0,function t(){var n=getCurrentPages();n&&n[0]?Tn.call(e):setTimeout((function(){t()}),30)}(),yn&&kn.call(e)))}function Pn(e){!function(e){e.onResponse=function(e){he(ae,e)},e.offResponse=function(e){pe(ae,e)}}(e),Sn(e),function(e){e.onRefreshToken=function(e){he(ce,e)},e.offRefreshToken=function(e){pe(ce,e)}}(e)}var Cn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",En=/^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;function zn(){var e,t,n=Lt().token||"",r=n.split(".");if(!n||3!==r.length)return{uid:null,role:[],permission:[],tokenExpired:0};try{e=JSON.parse((t=r[1],decodeURIComponent(hn(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(n){throw new Error("获取当前用户信息出错,详细错误信息为:"+n.message)}return e.tokenExpired=1e3*e.exp,delete e.exp,delete e.iat,e}hn="function"!=typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!En.test(e))throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");var t;e+="==".slice(2-(3&e.length));for(var n,r,i="",o=0;o>16&255):64===r?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return i}:atob;var Mn=L((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="chooseAndUploadFile:ok",i="chooseAndUploadFile:fail";function o(e,t){return e.tempFiles.forEach((function(e,n){e.name||(e.name=e.path.substring(e.path.lastIndexOf("/")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+"_"+n+e.name.substring(e.name.lastIndexOf("."))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((function(e){return e.path}))),e}function a(e,t,r){var i=r.onChooseFile,o=r.onUploadProgress;return t.then((function(e){if(i){var t=i(e);if(void 0!==t)return Promise.resolve(t).then((function(t){return void 0===t?e:t}))}return e})).then((function(t){return!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,i=arguments.length>3?arguments[3]:void 0;(t=Object.assign({},t)).errMsg=n;var o=t.tempFiles,a=o.length,s=0;return new Promise((function(n){for(;s=a)!o.find((function(e){return!e.url&&!e.errMsg}))&&n(t);else{var l=o[r];e.uploadFile({filePath:l.path,cloudPath:l.cloudPath,fileType:l.fileType,onUploadProgress:function(e){e.index=r,e.tempFile=l,e.tempFilePath=l.path,i&&i(e)}}).then((function(e){l.url=e.fileID,r0&&void 0!==arguments[0]?arguments[0]:{type:"all"};return"image"===t.type?a(e,function(e){var t=e.count,n=e.sizeType,a=e.sourceType,s=void 0===a?["album","camera"]:a,c=e.extension;return new Promise((function(e,a){r.chooseImage({count:t,sizeType:n,sourceType:s,extension:c,success:function(t){e(o(t,"image"))},fail:function(e){a({errMsg:e.errMsg.replace("chooseImage:fail",i)})}})}))}(t),t):"video"===t.type?a(e,function(e){var t=e.camera,n=e.compressed,a=e.maxDuration,s=e.sourceType,c=void 0===s?["album","camera"]:s,l=e.extension;return new Promise((function(e,s){r.chooseVideo({camera:t,compressed:n,maxDuration:a,sourceType:c,extension:l,success:function(t){var n=t.tempFilePath,r=t.duration,i=t.size,a=t.height,s=t.width;e(o({errMsg:"chooseVideo:ok",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||"",path:n,size:i,type:t.tempFile&&t.tempFile.type||"",width:s,height:a,duration:r,fileType:"video",cloudPath:""}]},"video"))},fail:function(e){s({errMsg:e.errMsg.replace("chooseVideo:fail",i)})}})}))}(t),t):a(e,function(e){var t=e.count,n=e.extension;return new Promise((function(e,a){var s=r.chooseFile;if("undefined"!=typeof wx&&"function"==typeof wx.chooseMessageFile&&(s=wx.chooseMessageFile),"function"!=typeof s)return a({errMsg:i+" 请指定 type 类型,该平台仅支持选择 image 或 video。"});s({type:"all",count:t,extension:n,success:function(t){e(o(t))},fail:function(e){a({errMsg:e.errMsg.replace("chooseFile:fail",i)})}})}))}(t),t)}}})),Dn=I(Mn),In="manual";function Ln(e){return{props:{localdata:{type:Array,default:function(){return[]}},options:{type:[Object,Array],default:function(){return{}}},spaceInfo:{type:Object,default:function(){return{}}},collection:{type:[String,Array],default:""},action:{type:String,default:""},field:{type:String,default:""},orderby:{type:String,default:""},where:{type:[String,Object],default:""},pageData:{type:String,default:"add"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:""},limitlevel:{type:Number,default:10},groupby:{type:String,default:""},groupField:{type:String,default:""},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:""},loadtime:{type:String,default:"auto"},manual:{type:Boolean,default:!1}},data:function(){return{mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:"",mixinDatacomPage:{}}},created:function(){var e=this;this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((function(){var t=[];return["pageCurrent","pageSize","localdata","collection","action","field","orderby","where","getont","getcount","gettree","groupby","groupField","distinct"].forEach((function(n){t.push(e[n])})),t}),(function(t,n){if(e.loadtime!==In){for(var r=!1,i=[],o=2;o0&&void 0!==arguments[0]?arguments[0]:{},n=t.getone,r=void 0!==n&&n,i=t.success,o=t.fail;this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage="",this.mixinDatacomGet().then((function(t){e.mixinDatacomLoading=!1;var n=t.result,o=n.data,a=n.count;e.getcount&&(e.mixinDatacomPage.count=a),e.mixinDatacomHasMore=o.length0&&void 0!==arguments[0]?arguments[0]:{},r=e.database(this.spaceInfo),i=n.action||this.action;i&&(r=r.action(i));var o=n.collection||this.collection;r=Array.isArray(o)?(t=r).collection.apply(t,u(o)):r.collection(o);var a=n.where||this.where;a&&Object.keys(a).length&&(r=r.where(a));var s=n.field||this.field;s&&(r=r.field(s));var c=n.foreignKey||this.foreignKey;c&&(r=r.foreignKey(c));var l=n.groupby||this.groupby;l&&(r=r.groupBy(l));var d=n.groupField||this.groupField;d&&(r=r.groupField(d)),!0===(void 0!==n.distinct?n.distinct:this.distinct)&&(r=r.distinct());var f=n.orderby||this.orderby;f&&(r=r.orderBy(f));var h=void 0!==n.pageCurrent?n.pageCurrent:this.mixinDatacomPage.current,p=void 0!==n.pageSize?n.pageSize:this.mixinDatacomPage.size,g=void 0!==n.getcount?n.getcount:this.getcount,v=void 0!==n.gettree?n.gettree:this.gettree,m=void 0!==n.gettreepath?n.gettreepath:this.gettreepath,y={getCount:g},x={limitLevel:void 0!==n.limitlevel?n.limitlevel:this.limitlevel,startWith:void 0!==n.startwith?n.startwith:this.startwith};return v&&(y.getTree=x),m&&(y.getTreePath=x),r=r.skip(p*(h-1)).limit(p).get(y),r}}}}function Fn(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.customUI=t.customUI||e.customUI,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),e}({customUI:!1,loadingOptions:{title:"加载中...",mask:!0},errorOptions:{type:"modal",retry:!1}},n);var o=n,a=o.customUI,s=o.loadingOptions,c=o.errorOptions,u=!a;return new Proxy({},{get:function(n,o){return function(){var n=l(i.default.mark((function n(){var d,f,h,p,g,v,m,y,x,A,w,O=arguments;return i.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:for(u&&r.showLoading({title:s.title,mask:s.mask}),f=O.length,h=new Array(f),p=0;p0&&void 0!==l[0]?l[0]:{},n=t.title,o=t.content,a=t.showCancel,s=t.cancelText,c=t.confirmText,e.abrupt("return",new Promise((function(e,t){r.showModal({title:n,content:o,showCancel:a,cancelText:s,confirmText:c,success:function(t){e(t)},fail:function(){e({confirm:!1,cancel:!0})}})})));case 2:case"end":return e.stop()}}),e)})))({title:"提示",content:m,showCancel:c.retry,cancelText:"取消",confirmText:c.retry?"重试":"确定"});case 22:if(x=n.sent,A=x.confirm,!c.retry||!A){n.next=26;break}return n.abrupt("return",a.apply(void 0,h));case 26:throw w=new ye({code:v,message:m,requestId:d.requestId}),w.detail=d.result,ge(ae,{type:de,content:w}),w;case 28:return n.abrupt("return",(ge(ae,{type:de,content:d.result}),d.result));case 29:case"end":return n.stop()}}),n,null,[[2,8]])})));function a(){return n.apply(this,arguments)}return a}()}})}}function _n(e,t){return Rn.apply(this,arguments)}function Rn(){return Rn=l(i.default.mark((function e(t,n){var r,o,a;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return r="http://".concat(t,":").concat(n,"/system/ping"),e.prev=1,e.next=4,a={url:r,timeout:500},new Promise((function(e,t){Oe.request(b(b({},a),{},{success:function(t){e(t)},fail:function(e){t(e)}}))}));case 4:return o=e.sent,e.abrupt("return",!(!o.data||0!==o.data.code));case 8:return e.prev=8,e.t0=e["catch"](1),e.abrupt("return",!1);case 11:case"end":return e.stop()}}),e,null,[[1,8]])}))),Rn.apply(this,arguments)}function Bn(e){if(!e.initUniCloudStatus||"rejected"===e.initUniCloudStatus){var t,n=Promise.resolve();t=1,n=new Promise((function(e,n){setTimeout((function(){e()}),t)})),e.isReady=!1,e.isDefault=!1;var o=e.auth();e.initUniCloudStatus="pending",e.initUniCloud=n.then((function(){return o.getLoginState()})).then((function(e){return e?Promise.resolve():o.signInAnonymously()})).then((function(){if(!W)return Promise.resolve();if("app"===Z&&"ios"===r.getSystemInfoSync().osName){var t=r.getSystemInfoSync(),n=t.osName,o=t.osVersion;"ios"===n&&function(e){if(!e||"string"!=typeof e)return 0;var t=e.match(/^(\d+)./);return t&&t[1]?parseInt(t[1]):0}(o)>=14&&console.warn("iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发模式生效,发行模式会连接uniCloud云端服务)")}if(W&&e.debugInfo){var a=e.debugInfo,s=a.address,c=a.servePort;return function(){var e=l(i.default.mark((function e(t,n){var r,o,a;return i.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:o=0;case 1:if(!(o0&&void 0!==arguments[0]?arguments[0]:{},n=t.address,r=t.port;if(!W)return Promise.resolve();var i=console["app"===Z?"error":"warn"];if(n)e.localAddress=n,e.localPort=r;else if(e.debugInfo){var o="";"remote"===e.debugInfo.initialLaunchType?(e.debugInfo.forceRemote=!0,o="当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs"):o="无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs","web"===Z&&(o+="\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式"),0===Z.indexOf("mp-")&&(o+="\n- 小程序中如何使用uniCloud,请参考:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinmp"),i(o)}})).then((function(){_t(),e.isReady=!0,e.initUniCloudStatus="fulfilled"})).catch((function(t){console.error(t),e.initUniCloudStatus="rejected"}))}}var Nn=new(function(){function e(){w(this,e)}return y(e,[{key:"init",value:function(e){var t={},n=W&&("web"===Z&&navigator.userAgent.indexOf("HBuilderX")>0||"app"===Z);switch(e.provider){case"tcb":case"tencent":t=It.init(Object.assign(e,{debugLog:n}));break;case"aliyun":t=Ce.init(Object.assign(e,{debugLog:n}));break;case"private":t=Bt.init(Object.assign(e,{debugLog:n}));break;default:throw new Error("未提供正确的provider参数")}var r=K;return W&&r&&!r.code&&(t.debugInfo=r),Bn(t),t.reInit=function(){Bn(this)},Kt(t),function(e){var t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),on(t),function(e){e.getCurrentUserInfo=zn,e.chooseAndUploadFile=Dn.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return Ln(e)}}),e.importObject=Fn(e)}(t),["callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","chooseAndUploadFile"].forEach((function(e){if(t[e]){var n=t[e];t[e]=function(){return t.reInit(),n.apply(t,Array.from(arguments))},t[e]=ve(t[e],e).bind(t)}})),t.init=this.init,t}}]),e}());(function(){var e=Q,t={};if(1===e.length)t=e[0],Nn=Nn.init(t),Nn.isDefault=!0;else{var n,r=["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","database","getCurrentUSerInfo","importObject"];n=e&&e.length>0?"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间":V?"应用未关联服务空间,请在uniCloud目录右键关联服务空间":"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间",r.forEach((function(e){Nn[e]=function(){return console.error(n),Promise.reject(new ye({code:"SYS_ERR",message:n}))}}))}Object.assign(Nn,{get mixinDatacom(){return Ln(Nn)}}),Pn(Nn),Nn.addInterceptor=te,Nn.removeInterceptor=ne,W&&"web"===Z&&(window.uniCloud=Nn)})();var jn=Nn;t.default=jn}).call(this,n("c8ba"),n("543d")["default"])},aa0f:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r="https://fx.anxincloud.cn",i="https://fx.anxincloud.cn",o="https://121.36.37.70:8204",a="https://121.36.37.70:8204",s=!0,c={domain:s?i:a,api:s?r:o};t.default=c},aa5a:function(e,t){e.exports="data:image/png;base64,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"},b313:function(e,t,n){"use strict";var r=String.prototype.replace,i=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return r.call(e,i,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},bae0:function(e,t){e.exports="data:image/png;base64,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UmVhZHlxyWU8AAADKmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkE0MjcxNTdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkE0MjcxNDdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkE4RkFCN0M3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkE4RkFCN0Q3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BZZ+3AAAB1ElEQVR42mJkAALtmZb/GfAAJkIKwIoYiAA4FV1JO0Ylk0hWxILLHTgV6cyywqoIIIAYiQinb8S4iYs036E7esgEJq6ABAGAACImMBmo5m6yDcLlR5gcNnnaumhADWIhJoOTbRC+9ILPa9+o4TWAAAIlyDVAOphCc1SYqGAICNwZxumIidi8NILz2qhBdCyPaOcicgq1wRnYAAFErRKSgZo+GzSOoWpQD1sHsRCjCDnzkpp90DM+If2jUTbqoFEHjZZDpJYroyFESeNmNFHTykEqg8g9bwACCNRiVAYyLgEx1wA7Zu3V9OMhVBt1opajBlsaCh7NZaMOGnXQgFeupHZjKO1CjUbZqINGHTTqoFEHjTpo1EGjDhqMgw342kejUTaahggpoOdg1WiUjTpoODoIvL7tzSBykB5AgPbtGIdBGIYCaBR16swROEQvzT06cxjm1lRFDC0LcpXC+xJzpIdJhOW8e4z359MVWSde1C32xRYasC0mCmascDZzrQz+7NgABAgQINnRY/iUrb5D9v9l9toqCBAgQIAAAQIESAABAgQIEKCD5ZK9QPaMigoCdIJP7NdjOyoIECBAgGQBGjB8zVDjam153T0OqInJbBAWfdg8AExKZVcA71uIAAAAAElFTkSuQmCC"},bbdd:function(e,t,n){var r=function(){return this||"object"===typeof self&&self}()||Function("return this")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,o=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,e.exports=n("96cf"),i)r.regeneratorRuntime=o;else try{delete r.regeneratorRuntime}catch(a){r.regeneratorRuntime=void 0}},bc24:function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n("6c87")),i=a(n("bf21")),o=a(n("3df5"));function a(e){return e&&e.__esModule?e:{default:e}}var s={checkAuth:function(e){console.log(1),this.getLocalUserInfo()?(console.log(2),e(!0)):(console.log(3),e(!1),console.log("未获取到用户本地数据,去获取授权设置",22222222),this.askLogin())},getLocalUserInfo:function(){var t=e.getStorageSync("token");return console.log("从本地存储中获取用户数据",t,11111111),!!t&&(!!t.token&&(r.default.commit("saveToken",t),!0))},noCase:function(){o.default.showError("案件不存在"),setTimeout((function(){e.switchTab({url:"/pages/case/caseList/caseList"})}),1500)},askLogin:function(){e.showModal({title:"尚未登录",content:"前往授权登录页面吗?",success:function(t){console.log(t),t.confirm&&e.navigateTo({url:"/pages/login/login"})}})},getUserProfile:function(e){var t=this;wx.getUserProfile({lang:"zh_CN",desc:"用于完善会员资料",success:function(n){t.login(e,n)},fail:function(e){console.error("获取用户身份信息失败了",e),o.default.showError("获取失败")}})},login:function(t,n){e.showLoading({title:"登录中"}),console.log(n,1111),wx.login({success:function(e){console.log(e,"----------- login获取的 -----------");var t=e.code;i.default.post("/login",{code:t,encryptedData:n.encryptedData,iv:n.iv},(function(e,t){console.log(e,t,"----------后端传回来的----------")}))},fail:function(e){console.error(e,8877897)}})},logout:function(){r.default.state.user={user:null,path:"/pages/login/login"},r.default.commit("saveToken",null),e.clearStorage(),e.reLaunch({url:"/pages/login/login"}),console.log("退出登录。。。",this.user)}},c=s;t.default=c}).call(this,n("543d")["default"])},bf21:function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n("a34a")),i=s(n("aa0f")),o=s(n("3df5")),a=s(n("6c87"));function s(e){return e&&e.__esModule?e:{default:e}}function c(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(r,i)}function l(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){c(o,r,i,a,s,"next",e)}function s(e){c(o,r,i,a,s,"throw",e)}a(void 0)}))}}var u={getToken:function(){var t=a.default.state.token;t&&this.post("/api/Accounts/RefreshToken",{token:t.token,refreshToken:t.refreshToken},(function(t,n){a.default.commit("saveToken",n),e.setStorageSync("token",n)}))},uploadFile:function(t,n){var r=a.default.state.token||{};console.log(t,n,2222222),e.uploadFile({url:i.default.domain+"/api/Objects/integration/xxx",filePath:t,name:"file",header:{Authorization:"Bearer "+r.token||!1},success:function(e){console.log(e,333333);var t=JSON.parse(e.data);-100==t.status?o.default.askLogin():-1==t.status?o.default.showError(t.msg):n(t.data,t)}})},uploadFile2:function(t,n,r){var s=a.default.state.user||{};if(!s.lawyerInfo)return o.default.askLogin();console.log("1111111111111"+t),console.log("2222222222222"+n),console.log("3333333333333"+r),e.uploadFile({url:i.default.domain+"/file/uploadFile2",filePath:t,name:"file",formData:n,header:{token:s.lawyerInfo.token||"",login_type:s.login_type||0,who:s.who},success:function(e){console.log(e);var t=JSON.parse(e.data);-100==t.status?o.default.askLogin():-1==t.status?o.default.showError(t.msg):r(t.data,t)}})},get:function(t,n,s){var c=this;return l(r.default.mark((function l(){var u;return r.default.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return c.getToken(),u=a.default.state.token||{},r.next=4,e.request({url:i.default.api+t,method:"GET",data:n,header:{Authorization:"Bearer "+u.token||!1,"content-type":"application/json"},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?o.default.showError(t.msg):s(t.data,t)}});case 4:case"end":return r.stop()}}),l)})))()},post:function(t,n,r){"/api/Accounts/RefreshToken"!=t&&s!={}&&this.getToken();var s=a.default.state.token||{};try{e.request({url:i.default.api+t,method:"POST",data:n,header:{Authorization:"Bearer "+s.token||!1},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?(o.default.showError(t.msg),r(t.data,t)):r(t.data,t)},fail:function(e){console.error(e,8877897)}})}catch(c){console.log(c)}},patch:function(t,n,r){"/api/Accounts/RefreshToken"!=t&&s!={}&&this.getToken();var s=a.default.state.token||{};try{e.request({url:i.default.api+t,method:"PATCH",data:n,header:{Authorization:"Bearer "+s.token||!1},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?(o.default.showError(t.msg),r(t.data,t)):r(t.data,t)},fail:function(e){console.error(e,8877897)}})}catch(c){console.log(c)}},get2:function(t,n,r){var s=a.default.state.user||{};e.request({url:i.default.domain+t,method:"GET",data:n,header:{token:s.token||"",login_type:s.login_type||0},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?o.default.showError(t.msg):r(t.data,t)}})},post2:function(t,n,r){var s=a.default.state.user||{};try{e.request({url:i.default.domain+t,method:"POST",data:n,header:{token:s.lawyerInfo.token||"",login_type:s.login_type||0,who:s.who},success:function(e){var t=e.data;console.log(t,"------------- 请求返回的数据 -------------"),-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?(o.default.showError(t.msg),r(t.data,t)):r(t.data,t)},fail:function(e){console.error(e,8877897)}})}catch(c){console.log(c)}}},d=u;t.default=d}).call(this,n("543d")["default"])},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},cb9a:function(e,t){e.exports="/static/login/title.png"},cde0:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={pages:[{path:"pages/login/login",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/user/changePassword/changePassword",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/demo/demo",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/task/details",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/task/taskreceive",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/index/index",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/user/user",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"",navigationBarTextStyle:"white"}},{path:"pages/dadui/jiancha/jiancha",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/dadui/jiuyuan/jiuyuan",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/task/taskapply",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}}],globalStyle:{navigationBarTextStyle:"black",navigationBarTitleText:"uni-app",navigationBarBackgroundColor:"#F8F8F8",backgroundColor:"#F8F8F8"},tabBar:{color:"#353535",selectedColor:"#5187FF",list:[{pagePath:"pages/index/index",iconPath:"static/tab/43251.png",selectedIconPath:"static/tab/4325.png",text:"工作任务"},{pagePath:"pages/task/taskapply",iconPath:"static/tab/43281.png",selectedIconPath:"static/tab/4328.png",text:"申请"},{pagePath:"pages/task/taskreceive",iconPath:"static/tab/43281.png",selectedIconPath:"static/tab/4328.png",text:"领取"},{pagePath:"pages/user/user",iconPath:"static/tab/user.png",selectedIconPath:"static/tab/user1.png",text:"我的"}]}};t.default=r},d233:function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty,i=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),o=function(e){var t;while(e.length){var n=e.pop();if(t=n.obj[n.prop],Array.isArray(t)){for(var r=[],i=0;i=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=t.charAt(r):o<128?n+=i[o]:o<2048?n+=i[192|o>>6]+i[128|63&o]:o<55296||o>=57344?n+=i[224|o>>12]+i[128|o>>6&63]+i[128|63&o]:(r+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(r)),n+=i[240|o>>18]+i[128|o>>12&63]+i[128|o>>6&63]+i[128|63&o])}return n},d=function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:{};n(this,t),this.baseUrl=e.baseUrl||"",this.url=e.url||"",this.method="GET",this.data=null,this.header=e.header||{},this.beforeRequest=null,this.afterRequest=null}return i(t,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="GET",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"post",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="POST",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"put",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="PUT",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="DELETE",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"_",value:function(){var t=this;return this.header={},this.beforeRequest&&"function"===typeof this.beforeRequest&&this.beforeRequest(this),new Promise((function(n,r){var i=wx;"undefined"!==typeof e&&(i=e),i.request({url:t.url,method:t.method,data:t.data,header:t.header,success:function(e){n(e)},fail:function(e){r(e)},complete:function(e){t.afterRequest&&"function"===typeof t.afterRequest&&t.afterRequest(e)}})}))}}]),t}(),a=new o;t.$http=a}).call(this,n("543d")["default"])}}]); \ No newline at end of file +var n=Object.freeze({});function i(e){return void 0===e||null===e}function r(e){return void 0!==e&&null!==e}function o(e){return!0===e}function a(e){return!1===e}function s(e){return"string"===typeof e||"number"===typeof e||"symbol"===typeof e||"boolean"===typeof e}function c(e){return null!==e&&"object"===typeof e}var l=Object.prototype.toString;function u(e){return"[object Object]"===l.call(e)}function d(e){return"[object RegExp]"===l.call(e)}function f(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function h(e){return r(e)&&"function"===typeof e.then&&"function"===typeof e.catch}function p(e){return null==e?"":Array.isArray(e)||u(e)&&e.toString===l?JSON.stringify(e,null,2):String(e)}function g(e){var t=parseFloat(e);return isNaN(t)?e:t}function v(e,t){for(var n=Object.create(null),i=e.split(","),r=0;r-1)return e.splice(n,1)}}var x=Object.prototype.hasOwnProperty;function A(e,t){return x.call(e,t)}function b(e){var t=Object.create(null);return function(n){var i=t[n];return i||(t[n]=e(n))}}var w=/-(\w)/g,S=b((function(e){return e.replace(w,(function(e,t){return t?t.toUpperCase():""}))})),k=b((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),T=/\B([A-Z])/g,O=b((function(e){return e.replace(T,"-$1").toLowerCase()}));function P(e,t){function n(n){var i=arguments.length;return i?i>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function _(e,t){return e.bind(t)}var C=Function.prototype.bind?_:P;function E(e,t){t=t||0;var n=e.length-t,i=new Array(n);while(n--)i[n]=e[n+t];return i}function F(e,t){for(var n in t)e[n]=t[n];return e}function I(e){for(var t={},n=0;n0),te=(Y&&Y.indexOf("android"),Y&&/iphone|ipad|ipod|ios/.test(Y)||"ios"===Q),ne=(Y&&/chrome\/\d+/.test(Y),Y&&/phantomjs/.test(Y),Y&&Y.match(/firefox\/(\d+)/),{}.watch);if(X)try{var ie={};Object.defineProperty(ie,"passive",{get:function(){}}),window.addEventListener("test-passive",null,ie)}catch(nr){}var re=function(){return void 0===q&&(q=!X&&!G&&"undefined"!==typeof e&&(e["process"]&&"server"===e["process"].env.VUE_ENV)),q},oe=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ae(e){return"function"===typeof e&&/native code/.test(e.toString())}var se,ce="undefined"!==typeof Symbol&&ae(Symbol)&&"undefined"!==typeof Reflect&&ae(Reflect.ownKeys);se="undefined"!==typeof Set&&ae(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var le=L,ue=0,de=function(){this.id=ue++,this.subs=[]};function fe(e){de.SharedObject.targetStack.push(e),de.SharedObject.target=e,de.target=e}function he(){de.SharedObject.targetStack.pop(),de.SharedObject.target=de.SharedObject.targetStack[de.SharedObject.targetStack.length-1],de.target=de.SharedObject.target}de.prototype.addSub=function(e){this.subs.push(e)},de.prototype.removeSub=function(e){m(this.subs,e)},de.prototype.depend=function(){de.SharedObject.target&&de.SharedObject.target.addDep(this)},de.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(o&&!A(r,"default"))a=!1;else if(""===a||a===O(e)){var c=Xe(String,r.type);(c<0||s0&&(a=bt(a,(t||"")+"_"+n),At(a[0])&&At(l)&&(u[c]=ye(l.text+a[0].text),a.shift()),u.push.apply(u,a)):s(a)?At(l)?u[c]=ye(l.text+a):""!==a&&u.push(ye(a)):At(a)&&At(l)?u[c]=ye(l.text+a.text):(o(e._isVList)&&r(a.tag)&&i(a.key)&&r(t)&&(a.key="__vlist"+t+"_"+n+"__"),u.push(a)));return u}function wt(e){var t=e.$options.provide;t&&(e._provided="function"===typeof t?t.call(e):t)}function St(e){var t=kt(e.$options.inject,e);t&&(ke(!1),Object.keys(t).forEach((function(n){Ce(e,n,t[n])})),ke(!0))}function kt(e,t){if(e){for(var n=Object.create(null),i=ce?Reflect.ownKeys(e):Object.keys(e),r=0;r0,a=e?!!e.$stable:!o,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(a&&i&&i!==n&&s===i.$key&&!o&&!i.$hasNormal)return i;for(var c in r={},e)e[c]&&"$"!==c[0]&&(r[c]=_t(t,c,e[c]))}else r={};for(var l in t)l in r||(r[l]=Ct(t,l));return e&&Object.isExtensible(e)&&(e._normalized=r),H(r,"$stable",a),H(r,"$key",s),H(r,"$hasNormal",o),r}function _t(e,t,n){var i=function(){var e=arguments.length?n.apply(null,arguments):n({});return e=e&&"object"===typeof e&&!Array.isArray(e)?[e]:xt(e),e&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:i,enumerable:!0,configurable:!0}),i}function Ct(e,t){return function(){return e[t]}}function Et(e,t){var n,i,o,a,s;if(Array.isArray(e)||"string"===typeof e)for(n=new Array(e.length),i=0,o=e.length;i1?E(n):n;for(var i=E(arguments,1),r='event handler for "'+e+'"',o=0,a=n.length;odocument.createEvent("Event").timeStamp&&(Un=function(){return Bn.now()})}function Nn(){var e,t;for(Un(),Kn=!0,Ln.sort((function(e,t){return e.id-t.id})),jn=0;jnjn&&Ln[n].id>e.id)n--;Ln.splice(n+1,0,e)}else Ln.push(e);Rn||(Rn=!0,ct(Nn))}}var qn=0,Jn=function(e,t,n,i,r){this.vm=e,r&&(e._watcher=this),e._watchers.push(this),i?(this.deep=!!i.deep,this.user=!!i.user,this.lazy=!!i.lazy,this.sync=!!i.sync,this.before=i.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++qn,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new se,this.newDepIds=new se,this.expression="","function"===typeof t?this.getter=t:(this.getter=V(t),this.getter||(this.getter=L)),this.value=this.lazy?void 0:this.get()};Jn.prototype.get=function(){var e;fe(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(nr){if(!this.user)throw nr;Ge(nr,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ut(e),he(),this.cleanupDeps()}return e},Jn.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},Jn.prototype.cleanupDeps=function(){var e=this.deps.length;while(e--){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},Jn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():Vn(this)},Jn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(nr){Ge(nr,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Jn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Jn.prototype.depend=function(){var e=this.deps.length;while(e--)this.deps[e].depend()},Jn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||m(this.vm._watchers,this);var e=this.deps.length;while(e--)this.deps[e].removeSub(this);this.active=!1}};var Xn={enumerable:!0,configurable:!0,get:L,set:L};function Gn(e,t,n){Xn.get=function(){return this[t][n]},Xn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,Xn)}function Qn(e){e._watchers=[];var t=e.$options;t.props&&Yn(e,t.props),t.methods&&ai(e,t.methods),t.data?$n(e):_e(e._data={},!0),t.computed&&ni(e,t.computed),t.watch&&t.watch!==ne&&si(e,t.watch)}function Yn(e,t){var n=e.$options.propsData||{},i=e._props={},r=e.$options._propKeys=[],o=!e.$parent;o||ke(!1);var a=function(o){r.push(o);var a=Ze(o,t,n,e);Ce(i,o,a),o in e||Gn(e,"_props",o)};for(var s in t)a(s);ke(!0)}function $n(e){var t=e.$options.data;t=e._data="function"===typeof t?ei(t,e):t||{},u(t)||(t={});var n=Object.keys(t),i=e.$options.props,r=(e.$options.methods,n.length);while(r--){var o=n[r];0,i&&A(i,o)||W(o)||Gn(e,"_data",o)}_e(t,!0)}function ei(e,t){fe();try{return e.call(t,t)}catch(nr){return Ge(nr,t,"data()"),{}}finally{he()}}var ti={lazy:!0};function ni(e,t){var n=e._computedWatchers=Object.create(null),i=re();for(var r in t){var o=t[r],a="function"===typeof o?o:o.get;0,i||(n[r]=new Jn(e,a||L,L,ti)),r in e||ii(e,r,o)}}function ii(e,t,n){var i=!re();"function"===typeof n?(Xn.get=i?ri(t):oi(n),Xn.set=L):(Xn.get=n.get?i&&!1!==n.cache?ri(t):oi(n.get):L,Xn.set=n.set||L),Object.defineProperty(e,t,Xn)}function ri(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),de.SharedObject.target&&t.depend(),t.value}}function oi(e){return function(){return e.call(this,this)}}function ai(e,t){e.$options.props;for(var n in t)e[n]="function"!==typeof t[n]?L:C(t[n],e)}function si(e,t){for(var n in t){var i=t[n];if(Array.isArray(i))for(var r=0;r-1)return this;var n=E(arguments,1);return n.unshift(this),"function"===typeof e.install?e.install.apply(e,n):"function"===typeof e&&e.apply(null,n),t.push(e),this}}function yi(e){e.mixin=function(e){return this.options=We(this.options,e),this}}function mi(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,i=n.cid,r=e._Ctor||(e._Ctor={});if(r[i])return r[i];var o=e.name||n.options.name;var a=function(e){this._init(e)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=t++,a.options=We(n.options,e),a["super"]=n,a.options.props&&xi(a),a.options.computed&&Ai(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,z.forEach((function(e){a[e]=n[e]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=F({},a.options),r[i]=a,a}}function xi(e){var t=e.options.props;for(var n in t)Gn(e.prototype,"_props",n)}function Ai(e){var t=e.options.computed;for(var n in t)ii(e.prototype,n,t[n])}function bi(e){z.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&u(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"===typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}function wi(e){return e&&(e.Ctor.options.name||e.tag)}function Si(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"===typeof e?e.split(",").indexOf(t)>-1:!!d(e)&&e.test(t)}function ki(e,t){var n=e.cache,i=e.keys,r=e._vnode;for(var o in n){var a=n[o];if(a){var s=wi(a.componentOptions);s&&!t(s)&&Ti(n,o,i,r)}}}function Ti(e,t,n,i){var r=e[t];!r||i&&r.tag===i.tag||r.componentInstance.$destroy(),e[t]=null,m(n,t)}di(gi),li(gi),Sn(gi),Pn(gi),fn(gi);var Oi=[String,RegExp,Array],Pi={name:"keep-alive",abstract:!0,props:{include:Oi,exclude:Oi,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Ti(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){ki(e,(function(e){return Si(t,e)}))})),this.$watch("exclude",(function(t){ki(e,(function(e){return!Si(t,e)}))}))},render:function(){var e=this.$slots.default,t=yn(e),n=t&&t.componentOptions;if(n){var i=wi(n),r=this,o=r.include,a=r.exclude;if(o&&(!i||!Si(o,i))||a&&i&&Si(a,i))return t;var s=this,c=s.cache,l=s.keys,u=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;c[u]?(t.componentInstance=c[u].componentInstance,m(l,u),l.push(u)):(c[u]=t,l.push(u),this.max&&l.length>parseInt(this.max)&&Ti(c,l[0],l,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}},_i={KeepAlive:Pi};function Ci(e){var t={get:function(){return B}};Object.defineProperty(e,"config",t),e.util={warn:le,extend:F,mergeOptions:We,defineReactive:Ce},e.set=Ee,e.delete=Fe,e.nextTick=ct,e.observable=function(e){return _e(e),e},e.options=Object.create(null),z.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,F(e.options.components,_i),vi(e),yi(e),mi(e),bi(e)}Ci(gi),Object.defineProperty(gi.prototype,"$isServer",{get:re}),Object.defineProperty(gi.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(gi,"FunctionalRenderContext",{value:Zt}),gi.version="2.6.11";var Ei="[object Array]",Fi="[object Object]";function Ii(e,t){var n={};return Li(e,t),Di(e,t,"",n),n}function Li(e,t){if(e!==t){var n=Ri(e),i=Ri(t);if(n==Fi&&i==Fi){if(Object.keys(e).length>=Object.keys(t).length)for(var r in t){var o=e[r];void 0===o?e[r]=null:Li(o,t[r])}}else n==Ei&&i==Ei&&e.length>=t.length&&t.forEach((function(t,n){Li(e[n],t)}))}}function Di(e,t,n,i){if(e!==t){var r=Ri(e),o=Ri(t);if(r==Fi)if(o!=Fi||Object.keys(e).length1&&(t[n[0].trim()]=n[1].trim())}})),t}));function Gi(e){return Array.isArray(e)?I(e):"string"===typeof e?Xi(e):e}var Qi=["createSelectorQuery","createIntersectionObserver","selectAllComponents","selectComponent"];function Yi(e,t){var n=t.split("."),i=n[0];return 0===i.indexOf("__$n")&&(i=parseInt(i.replace("__$n",""))),1===n.length?e[i]:Yi(e[i],n.slice(1).join("."))}function $i(e){e.config.errorHandler=function(t,n,i){e.util.warn("Error in "+i+': "'+t.toString()+'"',n),console.error(t);var r="function"===typeof getApp&&getApp();r&&r.onError&&r.onError(t)};var t=e.prototype.$emit;e.prototype.$emit=function(e){return this.$scope&&e&&(this.$scope["_triggerEvent"]||this.$scope["triggerEvent"]).call(this.$scope,e,{__args__:E(arguments,1)}),t.apply(this,arguments)},e.prototype.$nextTick=function(e){return zi(this,e)},Qi.forEach((function(t){e.prototype[t]=function(e){return this.$scope&&this.$scope[t]?this.$scope[t](e):"undefined"!==typeof my?"createSelectorQuery"===t?my.createSelectorQuery(e):"createIntersectionObserver"===t?my.createIntersectionObserver(e):void 0:void 0}})),e.prototype.__init_provide=wt,e.prototype.__init_injections=St,e.prototype.__call_hook=function(e,t){var n=this;fe();var i,r=n.$options[e],o=e+" hook";if(r)for(var a=0,s=r.length;ae.length)&&(t=e.length);for(var n=0,i=new Array(t);n1?t-1:0),i=1;ie.end.x||t.end.xe.start.y||t.start.y1&&(r.extra.mount.widthRatio>2&&(r.extra.mount.widthRatio=2),a+=(r.extra.mount.widthRatio-1)*n.eachSpacing);var s=t;return t>=0?(s=0,e.uevent.trigger("scrollLeft"),e.scrollOption.position="left",r.xAxis.scrollPosition="left"):Math.abs(t)>=a-o?(s=o-a,e.uevent.trigger("scrollRight"),e.scrollOption.position="right",r.xAxis.scrollPosition="right"):(e.scrollOption.position=t,r.xAxis.scrollPosition=t),s}function v(e,t,n){function i(e){while(e<0)e+=2*Math.PI;while(e>2*Math.PI)e-=2*Math.PI;return e}return e=i(e),t=i(t),n=i(n),t>n&&(n+=2*Math.PI,e=t&&e<=n}function y(e,t){function n(e,t){return!(!e[t-1]||!e[t+1])&&(e[t].y>=Math.max(e[t-1].y,e[t+1].y)||e[t].y<=Math.min(e[t-1].y,e[t+1].y))}function i(e,t){return!(!e[t-1]||!e[t+1])&&(e[t].x>=Math.max(e[t-1].x,e[t+1].x)||e[t].x<=Math.min(e[t-1].x,e[t+1].x))}var r=.2,o=.2,a=null,s=null,c=null,l=null;if(t<1?(a=e[0].x+(e[1].x-e[0].x)*r,s=e[0].y+(e[1].y-e[0].y)*r):(a=e[t].x+(e[t+1].x-e[t-1].x)*r,s=e[t].y+(e[t+1].y-e[t-1].y)*r),t>e.length-3){var u=e.length-1;c=e[u].x-(e[u].x-e[u-1].x)*o,l=e[u].y-(e[u].y-e[u-1].y)*o}else c=e[t+1].x-(e[t+2].x-e[t].x)*o,l=e[t+1].y-(e[t+2].y-e[t].y)*o;return n(e,t+1)&&(l=e[t+1].y),n(e,t)&&(s=e[t].y),i(e,t+1)&&(c=e[t+1].x),i(e,t)&&(a=e[t].x),(s>=Math.max(e[t].y,e[t+1].y)||s<=Math.min(e[t].y,e[t+1].y))&&(s=e[t].y),(l>=Math.max(e[t].y,e[t+1].y)||l<=Math.min(e[t].y,e[t+1].y))&&(l=e[t+1].y),(a>=Math.max(e[t].x,e[t+1].x)||a<=Math.min(e[t].x,e[t+1].x))&&(a=e[t].x),(c>=Math.max(e[t].x,e[t+1].x)||c<=Math.min(e[t].x,e[t+1].x))&&(c=e[t+1].x),{ctrA:{x:a,y:s},ctrB:{x:c,y:l}}}function m(e,t,n){return{x:n.x+e,y:n.y-t}}function x(e,t){if(t)while(d.isCollision(e,t))e.start.x>0?e.start.y--:e.start.x<0||e.start.y>0?e.start.y++:e.start.y--;return e}function A(e,t,n){var i=[];if(e.length>0&&e[0].data.constructor.toString().indexOf("Array")>-1){t._pieSeries_=e;for(var r=e[0].data,o=0;o=1e4?1e3:i>=1e3?100:i>=100?10:i>=10?5:i>=1?1:i>=.1?.1:i>=.01?.01:i>=.001?.001:i>=1e-4?1e-4:i>=1e-5?1e-5:1e-6,{minRange:h(e,"lower",n),maxRange:h(t,"upper",n)}}function k(e,t,n){var i=0;if(e=String(e),!1!==n&&void 0!==n&&n.setFontSize&&n.measureText)return n.setFontSize(t),n.measureText(e).width;e=e.split("");for(var r=0;r-1;if(o)for(var a=D(e),s=0;s5&&void 0!==arguments[5]?arguments[5]:{},a=t.chartData.calPoints?t.chartData.calPoints:[],s={};if(i.length>0){for(var c=[],l=0;l0&&(i=r[n]),{text:o.formatter?o.formatter(e,i,n,t):e.name+": "+e.data,color:e.color}})),f={x:Math.round(s.x),y:Math.round(s.y)};return{textList:d,offset:f}}function I(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},o=t.chartData.xAxisPoints[n]+t.chartData.eachSpacing/2,a=e.map((function(e){return{text:r.formatter?r.formatter(e,i[n],n,t):e.name+": "+e.data,color:e.color,disableLegend:!!e.disableLegend}}));a=a.filter((function(e){if(!0!==e.disableLegend)return e}));var s={x:Math.round(o),y:0};return{textList:a,offset:s}}function L(e,t,n,i,r,o){var a=n.chartData.calPoints,s=o.color.upFill,c=o.color.downFill,l=[s,s,c,s],u=[];t.map((function(t){0==i?t.data[1]-t.data[0]<0?l[1]=c:l[1]=s:(t.data[0]e[i-1][1]&&(l[2]=s),t.data[3]4&&void 0!==arguments[4]?arguments[4]:0,o={index:-1,group:[]},a=n.chartData.eachSpacing/2,s=[];if(t&&t.length>0){if(n.categories){for(var c=1;ct&&(o.index=n)}));else{for(var l=Array(t.length),u=0;u4&&void 0!==arguments[4]?arguments[4]:0,o={index:-1,group:[]},a=n.chartData.eachSpacing/2,s=n.chartData.yAxisPoints;return t&&t.length>0&&z(e,n,i)&&s.forEach((function(t,n){e.y+r+a>t&&(o.index=n)})),o}function K(e,t,n){var i=-1,r=0;if(j(e,t.area)){for(var o=t.points,a=-1,s=0,c=o.length;sd[0]-r&&e.xd[1]-r&&e.yt.start.x&&e.xt.start.y&&e.y=t.area[3]-10&&e.y>=t.area[0]&&e.y<=t.height-t.area[2]}function U(e,t,n){var i=2*Math.PI/n,r=-1;if(V(e,t.center,t.radius)){var o=function(e){return e<0&&(e+=2*Math.PI),e>2*Math.PI&&(e-=2*Math.PI),e},a=Math.atan2(t.center.y-e.y,e.x-t.center.x);a*=-1,a<0&&(a+=2*Math.PI);var s=t.angleList.map((function(e){return e=o(-1*e),e}));s.forEach((function(e,t){var n=o(e-i/2),s=o(e+i/2);s=n&&a<=s||a+2*Math.PI>=n&&a+2*Math.PI<=s)&&(r=t)}))}return r}function B(e,t){for(var n=-1,i=0,r=t.series.length;io.funnelArea[0]&&e.xo.funnelArea[1]&&e.yo.area[0]&&e.xo.area[1]&&e.yt.width-t.area[1]-t.area[3]?(f.push(g),p.push(h-t.legend.itemGap*t.pix),h=x,g=[y]):(h+=x,g.push(y))}if(g.length){f.push(g),p.push(h-t.legend.itemGap*t.pix),o.widthArr=p;var A=Math.max.apply(null,p);switch(t.legend.float){case"left":o.area.start.x=t.area[3],o.area.end.x=t.area[3]+A+2*a;break;case"right":o.area.start.x=t.width-t.area[1]-A-2*a,o.area.end.x=t.width-t.area[1];break;default:o.area.start.x=(t.width-A)/2-a,o.area.end.x=(t.width+A)/2+a}o.area.width=A+2*a,o.area.wholeWidth=A+2*a,o.area.height=f.length*d+2*a,o.area.wholeHeight=f.length*d+2*a+2*s,o.points=f}}else{var b=e.length,w=t.height-t.area[0]-t.area[2]-2*s-2*a,S=Math.min(Math.floor(w/d),b);switch(o.area.height=S*d+2*a,o.area.wholeHeight=S*d+2*a,t.legend.float){case"top":o.area.start.y=t.area[0]+s,o.area.end.y=t.area[0]+s+o.area.height;break;case"bottom":o.area.start.y=t.height-t.area[2]-s-o.area.height,o.area.end.y=t.height-t.area[2]-s;break;default:o.area.start.y=(t.height-o.area.height)/2,o.area.end.y=(t.height+o.area.height)/2}for(var T=b%S===0?b/S:Math.floor(b/S+1),O=[],P=0;PF&&(F=L)}o.widthArr.push(F),o.heightArr.push(E.length*d+2*a)}for(var D=0,M=0;M4&&void 0!==arguments[4]?arguments[4]:-1;r="stack"==i?O(e,t.categories.length):T(e);var a=[];r=r.filter((function(e){return"object"===typeof e&&null!==e?e.constructor.toString().indexOf("Array")>-1?null!==e:null!==e.value:null!==e})),r.map((function(e){"object"===typeof e?e.constructor.toString().indexOf("Array")>-1?"candle"==t.type?e.map((function(e){a.push(e)})):a.push(e[0]):a.push(e.value):a.push(e)}));var s=0,c=0;if(a.length>0&&(s=Math.min.apply(this,a),c=Math.max.apply(this,a)),o>-1?("number"===typeof t.xAxis.data[o].min&&(s=Math.min(t.xAxis.data[o].min,s)),"number"===typeof t.xAxis.data[o].max&&(c=Math.max(t.xAxis.data[o].max,c))):("number"===typeof t.xAxis.min&&(s=Math.min(t.xAxis.min,s)),"number"===typeof t.xAxis.max&&(c=Math.max(t.xAxis.max,c))),s===c){var l=c||10;c+=l}for(var u=s,d=c,f=[],h=(d-u)/t.xAxis.splitNumber,p=0;p<=t.xAxis.splitNumber;p++)f.push(u+h*p);return f}function Q(e,t,n,i){var r=u({},{type:""},t.extra.bar),o={angle:0,xAxisHeight:n.xAxisHeight};o.ranges=G(e,t,n,r.type),o.rangesFormat=o.ranges.map((function(e){return e=d.toFixed(e,2),e}));var a=o.ranges.map((function(e){return e=d.toFixed(e,2),e}));o=Object.assign(o,fe(a,t,n));var s=o.eachSpacing,c=a.map((function(e){return k(e,t.xAxis.fontSize*t.pix||n.fontSize,i)})),l=Math.max.apply(this,c);return l+2*n.xAxisTextPadding>s&&(o.angle=45*Math.PI/180,o.xAxisHeight=2*n.xAxisTextPadding+l*Math.sin(o.angle)),!0===t.xAxis.disabled&&(o.xAxisHeight=0),o}function Y(e,t,n,i,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:1,a=r.extra.radar||{};a.max=a.max||0;for(var s=Math.max(a.max,Math.max.apply(null,T(i))),c=[],l=function(r){var a=i[r],l={};l.color=a.color,l.legendShape=a.legendShape,l.pointShape=a.pointShape,l.data=[],a.data.forEach((function(i,r){var a={};a.angle=e[r],a.proportion=i/s,a.value=i,a.position=m(n*a.proportion*o*Math.cos(a.angle),n*a.proportion*o*Math.sin(a.angle),t),l.data.push(a)})),c.push(l)},u=0;u2&&void 0!==arguments[2]?arguments[2]:1,i=0,r=0,o=0;o4&&void 0!==arguments[4]?arguments[4]:1;e=e.sort((function(e,t){return parseInt(t.data)-parseInt(e.data)}));for(var o=0;o4&&void 0!==arguments[4]?arguments[4]:1,o=0,a=0,s=[],c=0;c2&&void 0!==arguments[2]?arguments[2]:1;1==n&&(n=.999999);for(var i=0;i=2&&(r._proportion_=r._proportion_%2)}return e}function ie(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;1==n&&(n=.999999);for(var i=0;i=2&&(r._proportion_=r._proportion_%2)}return e}function re(e,t,n){for(var i=t-n+1,r=t,o=0;o=2&&(e[o]._endAngle_=e[o]._endAngle_%2),r=e[o]._endAngle_;return e}function oe(e,t,n){for(var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=0;r=n.oldData?o._proportion_=(o._endAngle_-o._oldAngle_)*i+n.oldAngle:o._proportion_=o._oldAngle_-(o._oldAngle_-o._endAngle_)*i,o._proportion_>=2&&(o._proportion_=o._proportion_%2)}return e}function ae(e,t,n,i){e=$(e);for(var r=0,o=0;o0&&(e.width=Math.min(e.width,+o.extra.mix.column.width*o.pix)),o.extra.column&&o.extra.column.width&&+o.extra.column.width>0&&(e.width=Math.min(e.width,+o.extra.column.width*o.pix)),e.width<=0&&(e.width=1),e.x+=(i+.5-n/2)*(e.width+r),e}))}function ce(e,t,n,i,r,o){return e.map((function(e){if(null===e)return null;var r=0,a=0;return r=o.extra.bar.seriesGap*o.pix||0,a=o.extra.bar.categoryGap*o.pix||0,r=Math.min(r,t/n),a=Math.min(a,t/n),e.width=Math.ceil((t-2*a-r*(n-1))/n),o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0&&(e.width=Math.min(e.width,+o.extra.bar.width*o.pix)),e.width<=0&&(e.width=1),e.y+=(i+.5-n/2)*(e.width+r),e}))}function le(e,t,n,i,r,o,a){var s=o.extra.column.categoryGap*o.pix||0;return e.map((function(e){return null===e?null:(e.width=t-2*s,o.extra.column&&o.extra.column.width&&+o.extra.column.width>0&&(e.width=Math.min(e.width,+o.extra.column.width*o.pix)),i>0&&(e.width-=a),e)}))}function ue(e,t,n,i,r,o,a){var s=o.extra.column.categoryGap*o.pix||0;return e.map((function(e,n){return null===e?null:(e.width=Math.ceil(t-2*s),o.extra.column&&o.extra.column.width&&+o.extra.column.width>0&&(e.width=Math.min(e.width,+o.extra.column.width*o.pix)),e.width<=0&&(e.width=1),e)}))}function de(e,t,n,i,r,o,a){var s=o.extra.bar.categoryGap*o.pix||0;return e.map((function(e,n){return null===e?null:(e.width=Math.ceil(t-2*s),o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0&&(e.width=Math.min(e.width,+o.extra.bar.width*o.pix)),e.width<=0&&(e.width=1),e)}))}function fe(e,t,n){var i=t.width-t.area[1]-t.area[3],r=t.enableScroll?Math.min(t.xAxis.itemCount,e.length):e.length;("line"==t.type||"area"==t.type||"scatter"==t.type||"bubble"==t.type||"bar"==t.type)&&r>1&&"justify"==t.xAxis.boundaryGap&&(r-=1);var o=0;"mount"==t.type&&t.extra&&t.extra.mount&&t.extra.mount.widthRatio&&t.extra.mount.widthRatio>1&&(t.extra.mount.widthRatio>2&&(t.extra.mount.widthRatio=2),o=t.extra.mount.widthRatio-1,r+=o);var a=i/r,s=[],c=t.area[3],l=t.width-t.area[1];return e.forEach((function(e,t){s.push(c+o/2*a+t*a)})),"justify"!==t.xAxis.boundaryGap&&(!0===t.enableScroll?s.push(c+o*a+e.length*a):s.push(l)),{xAxisPoints:s,startX:c,endX:l,eachSpacing:a}}function he(e,t,n,i,r,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c=[],l=o.height-o.area[0]-o.area[2];return e.forEach((function(e,a){if(null===e)c.push(null);else{var u=[];e.forEach((function(e,c){var d={};d.x=i[a]+Math.round(r/2);var f=e.value||e,h=l*(f-t)/(n-t);h*=s,d.y=o.height-Math.round(h)-o.area[2],u.push(d)})),c.push(u)}})),c}function pe(e,t,n,i,r,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c="center";"line"!=o.type&&"area"!=o.type&&"scatter"!=o.type&&"bubble"!=o.type||(c=o.xAxis.boundaryGap);var l=[],u=o.height-o.area[0]-o.area[2],d=o.width-o.area[1]-o.area[3];return e.forEach((function(e,a){if(null===e)l.push(null);else{var f={};f.color=e.color,f.x=i[a];var h,p,g,v=e;if("object"===typeof e&&null!==e)if(e.constructor.toString().indexOf("Array")>-1)h=[].concat(o.chartData.xAxisData.ranges),p=h.shift(),g=h.pop(),v=e[1],f.x=o.area[3]+d*(e[0]-p)/(g-p),"bubble"==o.type&&(f.r=e[2],f.t=e[3]);else v=e.value;"center"==c&&(f.x+=r/2);var y=u*(v-t)/(n-t);y*=s,f.y=o.height-y-o.area[2],l.push(f)}})),l}function ge(e,t,n,i,r,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c=[],l=o.height-o.area[0]-o.area[2],u=(o.width,o.area[1],o.area[3],r*a.widthRatio);return e.forEach((function(e,a){if(null===e)c.push(null);else{var d={};d.color=e.color,d.x=i[a],d.x+=r/2;var f=e.data,h=l*(f-t)/(n-t);h*=s,d.y=o.height-h-o.area[2],d.value=f,d.width=u,c.push(d)}})),c}function ve(e,t,n,i,r,o,a){var s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:1,c=[],l=(o.height,o.area[0],o.area[2],o.width-o.area[1]-o.area[3]);return e.forEach((function(e,r){if(null===e)c.push(null);else{var a={};a.color=e.color,a.y=i[r];var u=e;"object"===typeof e&&null!==e&&(u=e.value);var d=l*(u-t)/(n-t);d*=s,a.height=d,a.value=u,a.x=d+o.area[3],c.push(a)}})),c}function ye(e,t,n,i,r,o,a,s,c){var l=arguments.length>9&&void 0!==arguments[9]?arguments[9]:1,u=[],d=o.height-o.area[0]-o.area[2];return e.forEach((function(e,a){if(null===e)u.push(null);else{var f={};if(f.color=e.color,f.x=i[a]+Math.round(r/2),s>0){for(var h=0,p=0;p<=s;p++)h+=c[p].data[a];var g=h-e,v=d*(h-t)/(n-t),y=d*(g-t)/(n-t)}else h=e,v=d*(h-t)/(n-t),y=0;var m=y;v*=l,m*=l,f.y=o.height-Math.round(v)-o.area[2],f.y0=o.height-Math.round(m)-o.area[2],u.push(f)}})),u}function me(e,t,n,i,r,o,a,s,c){var l=arguments.length>9&&void 0!==arguments[9]?arguments[9]:1,u=[],d=o.width-o.area[1]-o.area[3];return e.forEach((function(e,r){if(null===e)u.push(null);else{var a={};if(a.color=e.color,a.y=i[r],s>0){for(var f=0,h=0;h<=s;h++)f+=c[h].data[r];var p=f-e,g=d*(f-t)/(n-t),v=d*(p-t)/(n-t)}else f=e,g=d*(f-t)/(n-t),v=0;var y=v;g*=l,y*=l,a.height=g-y,a.x=o.area[3]+g,a.x0=o.area[3]+y,u.push(a)}})),u}function xe(e,t,n,i,r){var o;o="stack"==i?O(e,t.categories.length):T(e);var a=[];o=o.filter((function(e){return"object"===typeof e&&null!==e?e.constructor.toString().indexOf("Array")>-1?null!==e:null!==e.value:null!==e})),o.map((function(e){"object"===typeof e?e.constructor.toString().indexOf("Array")>-1?"candle"==t.type?e.map((function(e){a.push(e)})):a.push(e[1]):a.push(e.value):a.push(e)}));var s=r.min||0,c=r.max||0;a.length>0&&(s=Math.min.apply(this,a),c=Math.max.apply(this,a)),s===c&&(0==c?c=10:s=0);for(var l=S(s,c),u=void 0===r.min||null===r.min?l.minRange:r.min,d=void 0===r.max||null===r.max?l.maxRange:r.max,f=[],h=(d-u)/t.yAxis.splitNumber,p=0;p<=t.yAxis.splitNumber;p++)f.push(u+h*p);return f.reverse()}function Ae(e,t,n,i){var r=u({},{type:""},t.extra.column),o=t.yAxis.data.length,a=new Array(o);if(o>0){for(var s=0;s-1?o[s][1]:o[s].value);var u=t.formatter?t.formatter(l,s,t,r):l;i.setTextAlign("center"),i.fillText(String(u),e.x,e.y-4+a*r.pix),i.closePath(),i.stroke(),i.setTextAlign("left")}}))}function Pe(e,t,n,i,r){t.data;var o=t.textOffset?t.textOffset:0;e.forEach((function(e,a){if(null!==e){i.beginPath();var s=t[a].textSize?t[a].textSize*r.pix:n.fontSize;i.setFontSize(s),i.setFillStyle(t[a].textColor||r.fontColor);var c=e.value,l=t[a].formatter?t[a].formatter(c,a,t,r):c;i.setTextAlign("center"),i.fillText(String(l),e.x,e.y-4+o*r.pix),i.closePath(),i.stroke(),i.setTextAlign("left")}}))}function _e(e,t,n,i,r){var o=t.data;t.textOffset&&t.textOffset;e.forEach((function(e,a){if(null!==e){i.beginPath();var s=t.textSize?t.textSize*r.pix:n.fontSize;i.setFontSize(s),i.setFillStyle(t.textColor||r.fontColor);var c=o[a];"object"===typeof o[a]&&null!==o[a]&&(c=o[a].value);var l=t.formatter?t.formatter(c,a,t,r):c;i.setTextAlign("left"),i.fillText(String(l),e.x+4*r.pix,e.y+s/2-3),i.closePath(),i.stroke()}}))}function Ce(e,t,n,i,r,o){t-=e.width/2+e.labelOffset*i.pix,t=t<10?10:t;for(var a=e.startAngle-e.endAngle+1,s=a/e.splitLine.splitNumber,c=e.endNumber-e.startNumber,l=c/e.splitLine.splitNumber,u=e.startAngle,d=e.startNumber,f=0;f=2&&(u%=2),d+=l}}function Ee(e,t,n,i,r,o){var a=i.extra.radar||{};e.forEach((function(e,s){if(!0===a.labelPointShow&&""!==i.categories[s]){var c={x:t*Math.cos(e),y:t*Math.sin(e)},l=m(c.x,c.y,n);o.setFillStyle(a.labelPointColor),o.beginPath(),o.arc(l.x,l.y,a.labelPointRadius*i.pix,0,2*Math.PI,!1),o.closePath(),o.fill()}var u={x:(t+r.radarLabelTextMargin*i.pix)*Math.cos(e),y:(t+r.radarLabelTextMargin*i.pix)*Math.sin(e)},f=m(u.x,u.y,n),h=f.x,p=f.y;d.approximatelyEqual(u.x,0)?h-=k(i.categories[s]||"",r.fontSize,o)/2:u.x<0&&(h-=k(i.categories[s]||"",r.fontSize,o)),o.beginPath(),o.setFontSize(r.fontSize),o.setFillStyle(a.labelColor||i.fontColor),o.fillText(i.categories[s]||"",h,p+r.fontSize/2),o.closePath(),o.stroke()}))}function Fe(e,t,n,i,r,o){for(var a=n.pieChartLinePadding,s=[],c=null,l=e.map((function(n,i){var r=n.formatter?n.formatter(n,i,e,t):d.toFixed(100*n._proportion_.toFixed(4))+"%";r=n.labelText?n.labelText:r;var o=2*Math.PI-(n._start_+2*Math.PI*n._proportion_/2);n._rose_proportion_&&(o=2*Math.PI-(n._start_+2*Math.PI*n._rose_proportion_/2));var a=n.color,s=n._radius_;return{arc:o,text:r,color:a,radius:s,textColor:n.textColor,textSize:n.textSize,labelShow:n.labelShow}})),u=0;u=0?h+n.pieChartTextPadding:h-n.pieChartTextPadding,A=p,b=k(f.text,f.textSize*t.pix||n.fontSize,i),w=A;c&&d.isSameXCoordinateArea(c.start,{x:y})&&(w=y>0?Math.min(A,c.start.y):h<0||A>0?Math.max(A,c.start.y):Math.min(A,c.start.y)),y<0&&(y-=b);var S={lineStart:{x:g,y:v},lineEnd:{x:h,y:p},start:{x:y,y:w},width:b,height:n.fontSize,text:f.text,color:f.color,textColor:f.textColor,textSize:f.textSize};c=x(S,c),s.push(c)}for(var T=0;Tr?r:o.activeWidth;var a=t.area[0],s=t.height-t.area[2];i.beginPath(),i.setFillStyle(f(o.activeBgColor,o.activeBgOpacity)),i.rect(e-o.activeWidth/2,a,o.activeWidth,s-a),i.closePath(),i.fill(),i.setFillStyle("#FFFFFF")}function Re(e,t,n,i,r){var o=u({},{activeBgColor:"#000000",activeBgOpacity:.08},t.extra.bar),a=t.area[3],s=t.width-t.area[1];i.beginPath(),i.setFillStyle(f(o.activeBgColor,o.activeBgOpacity)),i.rect(a,e-r/2,s-a,r),i.closePath(),i.fill(),i.setFillStyle("#FFFFFF")}function Ke(e,t,n,i,r,o,a){var s=u({},{showBox:!0,showArrow:!0,showCategory:!1,bgColor:"#000000",bgOpacity:.7,borderColor:"#000000",borderWidth:0,borderRadius:0,borderOpacity:.7,fontColor:"#FFFFFF",splitLine:!0},n.extra.tooltip);1==s.showCategory&&n.categories&&e.unshift({text:n.categories[n.tooltip.index],color:null});var c=4*n.pix,l=5*n.pix,d=s.showArrow?8*n.pix:0,h=!1;"line"!=n.type&&"mount"!=n.type&&"area"!=n.type&&"candle"!=n.type&&"mix"!=n.type||1==s.splitLine&&Ie(n.tooltip.offset.x,n,i,r),t=u({x:0,y:0},t),t.y-=8*n.pix;var p=e.map((function(e){return k(e.text,i.fontSize,r)})),g=c+l+4*i.toolTipPadding+Math.max.apply(null,p),v=2*i.toolTipPadding+e.length*i.toolTipLineHeight;if(0!=s.showBox){t.x-Math.abs(n._scrollDistance_||0)+d+g>n.width&&(h=!0),v+t.y>n.height&&(t.y=n.height-v),r.beginPath(),r.setFillStyle(f(s.bgColor||i.toolTipBackground,s.bgOpacity||i.toolTipOpacity)),r.setLineWidth(s.borderWidth*n.pix),r.setStrokeStyle(f(s.borderColor,s.borderOpacity));var y=s.borderRadius;h?(s.showArrow&&(r.moveTo(t.x,t.y+10*n.pix),r.lineTo(t.x-d,t.y+10*n.pix+5*n.pix)),r.arc(t.x-d-y,t.y+v-y,y,0,Math.PI/2,!1),r.arc(t.x-d-Math.round(g)+y,t.y+v-y,y,Math.PI/2,Math.PI,!1),r.arc(t.x-d-Math.round(g)+y,t.y+y,y,-Math.PI,-Math.PI/2,!1),r.arc(t.x-d-y,t.y+y,y,-Math.PI/2,0,!1),s.showArrow&&(r.lineTo(t.x-d,t.y+10*n.pix-5*n.pix),r.lineTo(t.x,t.y+10*n.pix))):(s.showArrow&&(r.moveTo(t.x,t.y+10*n.pix),r.lineTo(t.x+d,t.y+10*n.pix-5*n.pix)),r.arc(t.x+d+y,t.y+y,y,-Math.PI,-Math.PI/2,!1),r.arc(t.x+d+Math.round(g)-y,t.y+y,y,-Math.PI/2,0,!1),r.arc(t.x+d+Math.round(g)-y,t.y+v-y,y,0,Math.PI/2,!1),r.arc(t.x+d+y,t.y+v-y,y,Math.PI/2,Math.PI,!1),s.showArrow&&(r.lineTo(t.x+d,t.y+10*n.pix+5*n.pix),r.lineTo(t.x,t.y+10*n.pix))),r.closePath(),r.fill(),s.borderWidth>0&&r.stroke(),e.forEach((function(e,n){if(null!==e.color){r.beginPath(),r.setFillStyle(e.color);var o=t.x+d+2*i.toolTipPadding,a=t.y+(i.toolTipLineHeight-i.fontSize)/2+i.toolTipLineHeight*n+i.toolTipPadding+1;h&&(o=t.x-g-d+2*i.toolTipPadding),r.fillRect(o,a,c,i.fontSize),r.closePath()}})),e.forEach((function(e,n){var o=t.x+d+2*i.toolTipPadding+c+l;h&&(o=t.x-g-d+2*i.toolTipPadding+ +c+l);var a=t.y+(i.toolTipLineHeight-i.fontSize)/2+i.toolTipLineHeight*n+i.toolTipPadding;r.beginPath(),r.setFontSize(i.fontSize),r.setFillStyle(s.fontColor),r.fillText(e.text,o,a+i.fontSize),r.closePath(),r.stroke()}))}}function je(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{type:"group",width:c/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:!1,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.column),d=[];r.save();var h=-2,p=s.length+2;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),h=Math.floor(-t._scrollDistance_/c)-2,p=h+t.xAxis.itemCount+4),t.tooltip&&t.tooltip.textList&&t.tooltip.textList.length&&1===o&&Me(t.tooltip.offset.x,t,n,r,c),l.customColor=w(l.linearType,l.customColor,e,n),e.forEach((function(a,u){var g,v,y;g=[].concat(t.chartData.yAxisData.ranges[a.index]),v=g.pop(),y=g.shift();var m=a.data;switch(l.type){case"group":var x=pe(m,v,y,s,c,t,n,o),A=ye(m,v,y,s,c,t,n,u,e,o);d.push(A),x=se(x,c,e.length,u,n,t);for(var b=0;bh&&bK?K:L,D=D>K?K:D,M=M>K?K:M,R=R>K?K:R,L=L<0?0:L,D=D<0?0:D,M=M<0?0:M,R=R<0?0:R,r.arc(_+L,C+L,L,-Math.PI,-Math.PI/2),r.arc(_+E-D,C+D,D,-Math.PI/2,0),r.arc(_+E-M,C+F-M,M,0,Math.PI/2),r.arc(_+R,C+F-R,R,Math.PI/2,Math.PI)}else r.moveTo(S,w.y),r.lineTo(S+w.width,w.y),r.lineTo(S+w.width,t.height-t.area[2]),r.lineTo(S,t.height-t.area[2]),r.lineTo(S,w.y),r.setLineWidth(1),r.setStrokeStyle(O);r.setFillStyle(T),r.closePath(),r.fill()}}break;case"stack":x=ye(m,v,y,s,c,t,n,u,e,o);d.push(x),x=ue(x,c,e.length,u,n,t,e);for(var j=0;jh&&j0&&(k-=U),r.setFillStyle(T),r.moveTo(S,z.y),r.fillRect(S,z.y,z.width,k),r.closePath(),r.fill()}}break;case"meter":x=pe(m,v,y,s,c,t,n,o);d.push(x),x=le(x,c,e.length,u,n,t,l.meterBorder);for(var B=0;Bh&&B0&&(r.setStrokeStyle(a.color),r.setLineWidth(l.meterBorder*t.pix)),0==u?r.setFillStyle(l.meterFillColor):r.setFillStyle(N.color||a.color);S=N.x-N.width/2,k=t.height-N.y-t.area[2];if(l.barBorderRadius&&4===l.barBorderRadius.length||!0===l.barBorderCircle){var W=S,H=N.y,Z=N.width,V=t.height-t.area[2]-N.y;l.barBorderCircle&&(l.barBorderRadius=[Z/2,Z/2,0,0]);var q=i(l.barBorderRadius,4),J=q[0],X=q[1],G=q[2],Q=q[3],Y=Math.min(Z/2,V/2);J=J>Y?Y:J,X=X>Y?Y:X,G=G>Y?Y:G,Q=Q>Y?Y:Q,J=J<0?0:J,X=X<0?0:X,G=G<0?0:G,Q=Q<0?0:Q,r.arc(W+J,H+J,J,-Math.PI,-Math.PI/2),r.arc(W+Z-X,H+X,X,-Math.PI/2,0),r.arc(W+Z-G,H+V-G,G,0,Math.PI/2),r.arc(W+Q,H+V-Q,Q,Math.PI/2,Math.PI),r.fill()}else r.moveTo(S,N.y),r.lineTo(S+N.width,N.y),r.lineTo(S+N.width,t.height-t.area[2]),r.lineTo(S,t.height-t.area[2]),r.lineTo(S,N.y),r.fill();0==u&&l.meterBorder>0&&(r.closePath(),r.stroke())}}break}})),!1!==t.dataLabel&&1===o&&e.forEach((function(i,a){var u,d,f;u=[].concat(t.chartData.yAxisData.ranges[i.index]),d=u.pop(),f=u.shift();var h=i.data;switch(l.type){case"group":var p=pe(h,d,f,s,c,t,n,o);p=se(p,c,e.length,a,n,t),Oe(p,i,n,r,t);break;case"stack":p=ye(h,d,f,s,c,t,n,a,e,o);Oe(p,i,n,r,t);break;case"meter":p=pe(h,d,f,s,c,t,n,o);Oe(p,i,n,r,t);break}})),r.restore(),{xAxisPoints:s,calPoints:d,eachSpacing:c}}function ze(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:!1,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.mount);l.widthRatio=l.widthRatio<=0?0:l.widthRatio,l.widthRatio=l.widthRatio>=2?2:l.widthRatio;r.save();var d,h,p,g=-2,v=s.length+2;t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),g=Math.floor(-t._scrollDistance_/c)-2,v=g+t.xAxis.itemCount+4),l.customColor=w(l.linearType,l.customColor,e,n),d=[].concat(t.chartData.yAxisData.ranges[0]),h=d.pop(),p=d.shift();var y=ge(e,h,p,s,c,t,l,o);switch(l.type){case"bar":for(var m=0;mg&&mM?M:F,I=I>M?M:I,L=L>M?M:L,D=D>M?M:D,F=F<0?0:F,I=I<0?0:I,L=L<0?0:L,D=D<0?0:D,r.arc(O+F,P+F,F,-Math.PI,-Math.PI/2),r.arc(O+_-I,P+I,I,-Math.PI/2,0),r.arc(O+_-L,P+C-L,L,0,Math.PI/2),r.arc(O+D,P+C-D,D,Math.PI/2,Math.PI)}else r.moveTo(A,x.y),r.lineTo(A+x.width,x.y),r.lineTo(A+x.width,t.height-t.area[2]),r.lineTo(A,t.height-t.area[2]),r.lineTo(A,x.y);r.setStrokeStyle(k),r.setFillStyle(S),l.borderWidth>0&&(r.setLineWidth(l.borderWidth*t.pix),r.closePath(),r.stroke()),r.fill()}}break;case"triangle":for(var R=0;Rg&&R0&&(r.setLineWidth(l.borderWidth*t.pix),r.stroke()),r.fill()}}break;case"mount":for(var j=0;jg&&j0&&(r.setLineWidth(l.borderWidth*t.pix),r.stroke()),r.fill()}}break;case"sharp":for(var U=0;Ug&&U0&&(r.setLineWidth(l.borderWidth*t.pix),r.stroke()),r.fill()}}break}if(!1!==t.dataLabel&&1===o){var N,W,H;N=[].concat(t.chartData.yAxisData.ranges[0]),W=N.pop(),H=N.shift();y=ge(e,W,H,s,c,t,l,o);Pe(y,e,n,r,t)}return r.restore(),{xAxisPoints:s,calPoints:y,eachSpacing:c}}function Ue(e,t,n,r){for(var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=[],s=(t.height-t.area[0]-t.area[2])/t.categories.length,c=0;ch&&bK?K:L,D=D>K?K:D,M=M>K?K:M,R=R>K?K:R,L=L<0?0:L,D=D<0?0:D,M=M<0?0:M,R=R<0?0:R,r.arc(_+R,E+R,R,-Math.PI,-Math.PI/2),r.arc(w.x-L,E+L,L,-Math.PI/2,0),r.arc(w.x-D,E+C-D,D,0,Math.PI/2),r.arc(_+M,E+C-M,M,Math.PI/2,Math.PI)}else r.moveTo(S,k),r.lineTo(w.x,k),r.lineTo(w.x,k+w.width),r.lineTo(S,k+w.width),r.lineTo(S,k),r.setLineWidth(1),r.setStrokeStyle(O);r.setFillStyle(T),r.closePath(),r.fill()}}break;case"stack":x=me(m,v,y,a,s,t,n,u,e,o);d.push(x),x=de(x,s,e.length,u,n,t,e);for(var j=0;jh&&j5&&void 0!==arguments[5]?arguments[5]:1,a=u({},{color:{},average:{}},n.extra.candle);a.color=u({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},a.color),a.average=u({},{show:!1,name:[],day:[],color:i.color},a.average),n.extra.candle=a;var s=n.chartData.xAxisData,c=s.xAxisPoints,l=s.eachSpacing,d=[];r.save();var f=-2,h=c.length+2,p=0,g=n.width+l;return n._scrollDistance_&&0!==n._scrollDistance_&&!0===n.enableScroll&&(r.translate(n._scrollDistance_,0),f=Math.floor(-n._scrollDistance_/l)-2,h=f+n.xAxis.itemCount+4,p=-n._scrollDistance_-2*l+n.area[3],g=p+(n.xAxis.itemCount+4)*l),(a.average.show||t)&&t.forEach((function(e,t){var a,s,u;a=[].concat(n.chartData.yAxisData.ranges[e.index]),s=a.pop(),u=a.shift();for(var d=e.data,f=pe(d,s,u,c,l,n,i,o),h=q(f,e),v=0;vp&&(r.moveTo(b.x,b.y),x=1),A>0&&b.x>p&&b.xf&&m0?(r.setStrokeStyle(a.color.upLine),r.setFillStyle(a.color.upFill),r.setLineWidth(1*n.pix),r.moveTo(x[3].x,x[3].y),r.lineTo(x[1].x,x[1].y),r.lineTo(x[1].x-l/4,x[1].y),r.lineTo(x[0].x-l/4,x[0].y),r.lineTo(x[0].x,x[0].y),r.lineTo(x[2].x,x[2].y),r.lineTo(x[0].x,x[0].y),r.lineTo(x[0].x+l/4,x[0].y),r.lineTo(x[1].x+l/4,x[1].y),r.lineTo(x[1].x,x[1].y),r.moveTo(x[3].x,x[3].y)):(r.setStrokeStyle(a.color.downLine),r.setFillStyle(a.color.downFill),r.setLineWidth(1*n.pix),r.moveTo(x[3].x,x[3].y),r.lineTo(x[0].x,x[0].y),r.lineTo(x[0].x-l/4,x[0].y),r.lineTo(x[1].x-l/4,x[1].y),r.lineTo(x[1].x,x[1].y),r.lineTo(x[2].x,x[2].y),r.lineTo(x[1].x,x[1].y),r.lineTo(x[1].x+l/4,x[1].y),r.lineTo(x[0].x+l/4,x[0].y),r.lineTo(x[0].x,x[0].y),r.moveTo(x[3].x,x[3].y)),r.closePath(),r.fill(),r.stroke()}})),r.restore(),{xAxisPoints:c,calPoints:d,eachSpacing:l}}function Ne(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"straight",opacity:.2,addLine:!1,width:2,gradient:!1},t.extra.area),a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=t.height-t.area[2],d=[];i.save();var h=0,p=t.width+c;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),h=-t._scrollDistance_-2*c+t.area[3],p=h+(t.xAxis.itemCount+4)*c),e.forEach((function(e,a){var u,g,v;u=[].concat(t.chartData.yAxisData.ranges[e.index]),g=u.pop(),v=u.shift();var m=e.data,x=pe(m,g,v,s,c,t,n,r);d.push(x);for(var A=q(x,e),b=0;b1){var k=w[0],T=w[w.length-1];i.moveTo(k.x,k.y);var O=0;if("curve"===o.type)for(var P=0;Ph&&(i.moveTo(_.x,_.y),O=1),P>0&&_.x>h&&_.xh&&(i.moveTo(F.x,F.y),O=1),E>0&&F.x>h&&F.xh&&(i.moveTo(L.x,L.y),O=1),I>0&&L.x>h&&L.xh&&(i.moveTo(j.x,j.y),R=1),K>0&&j.x>h&&j.xh&&(i.moveTo(B.x,B.y),R=1),U>0&&B.x>h&&B.xh&&(i.moveTo(W.x,W.y),R=1),N>0&&W.x>h&&W.x4&&void 0!==arguments[4]?arguments[4]:1,o=(u({},{type:"circle"},t.extra.scatter),t.chartData.xAxisData),a=o.xAxisPoints,s=o.eachSpacing,c=[];i.save();var l=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),l=-t._scrollDistance_-2*s+t.area[3],l+(t.xAxis.itemCount+4)*s),e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,r);i.beginPath(),i.setStrokeStyle(e.color),i.setFillStyle(e.color),i.setLineWidth(1*t.pix);var h=e.pointShape;if("diamond"===h)f.forEach((function(e,t){null!==e&&(i.moveTo(e.x,e.y-4.5),i.lineTo(e.x-4.5,e.y),i.lineTo(e.x,e.y+4.5),i.lineTo(e.x+4.5,e.y),i.lineTo(e.x,e.y-4.5))}));else if("circle"===h)f.forEach((function(e,n){null!==e&&(i.moveTo(e.x+2.5*t.pix,e.y),i.arc(e.x,e.y,3*t.pix,0,2*Math.PI,!1))}));else if("square"===h)f.forEach((function(e,t){null!==e&&(i.moveTo(e.x-3.5,e.y-3.5),i.rect(e.x-3.5,e.y-3.5,7,7))}));else if("triangle"===h)f.forEach((function(e,t){null!==e&&(i.moveTo(e.x,e.y-4.5),i.lineTo(e.x-4.5,e.y+4.5),i.lineTo(e.x+4.5,e.y+4.5),i.lineTo(e.x,e.y-4.5))}));else if("triangle"===h)return;i.closePath(),i.fill(),i.stroke()})),!1!==t.dataLabel&&1===r&&e.forEach((function(e,o){var c,l,u;c=[].concat(t.chartData.yAxisData.ranges[e.index]),l=c.pop(),u=c.shift();var d=e.data,f=pe(d,l,u,a,s,t,n,r);Oe(f,e,n,i,t)})),i.restore(),{xAxisPoints:a,calPoints:c,eachSpacing:s}}function He(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{opacity:1,border:2},t.extra.bubble),a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];i.save();var d=0;t.width;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],d+(t.xAxis.itemCount+4)*c),e.forEach((function(a,l){var u,d,h;u=[].concat(t.chartData.yAxisData.ranges[a.index]),d=u.pop(),h=u.shift();var p=a.data,g=pe(p,d,h,s,c,t,n,r);i.beginPath(),i.setStrokeStyle(a.color),i.setLineWidth(o.border*t.pix),i.setFillStyle(f(a.color,o.opacity)),g.forEach((function(e,n){i.moveTo(e.x+e.r,e.y),i.arc(e.x,e.y,e.r*t.pix,0,2*Math.PI,!1)})),i.closePath(),i.fill(),i.stroke(),!1!==t.dataLabel&&1===r&&g.forEach((function(r,o){i.beginPath();var a=e.textSize*t.pix||n.fontSize;i.setFontSize(a),i.setFillStyle(e.textColor||"#FFFFFF"),i.setTextAlign("center"),i.fillText(String(r.t),r.x,r.y+a/2),i.closePath(),i.stroke(),i.setTextAlign("left")}))})),i.restore(),{xAxisPoints:s,calPoints:l,eachSpacing:c}}function Ze(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"straight",width:2},t.extra.line);o.width*=t.pix;var a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=[];i.save();var d=0,f=t.width+c;return t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(i.translate(t._scrollDistance_,0),d=-t._scrollDistance_-2*c+t.area[3],f=d+(t.xAxis.itemCount+4)*c),e.forEach((function(e,a){var u,h,p;u=[].concat(t.chartData.yAxisData.ranges[e.index]),h=u.pop(),p=u.shift();var g=e.data,v=pe(g,h,p,s,c,t,n,r);l.push(v);var m=q(v,e);if("dash"==e.lineType){var x=e.dashLength?e.dashLength:8;x*=t.pix,i.setLineDash([x,x])}i.beginPath(),i.setStrokeStyle(e.color),i.setLineWidth(o.width),m.forEach((function(e,t){if(1===e.length)i.moveTo(e[0].x,e[0].y),i.arc(e[0].x,e[0].y,1,0,2*Math.PI);else{i.moveTo(e[0].x,e[0].y);var n=0;if("curve"===o.type)for(var r=0;rd&&(i.moveTo(a.x,a.y),n=1),r>0&&a.x>d&&a.xd&&(i.moveTo(l.x,l.y),n=1),c>0&&l.x>d&&l.xd&&(i.moveTo(h.x,h.y),n=1),u>0&&h.x>d&&h.x4&&void 0!==arguments[4]?arguments[4]:1,a=t.chartData.xAxisData,s=a.xAxisPoints,c=a.eachSpacing,l=u({},{width:c/2,barBorderCircle:!1,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},t.extra.mix.column),d=u({},{opacity:.2,gradient:!1},t.extra.mix.area),h=t.height-t.area[2],p=[],g=0,v=0;e.forEach((function(e,t){"column"==e.type&&(v+=1)})),r.save();var m=-2,x=s.length+2,A=0,b=t.width+c;if(t._scrollDistance_&&0!==t._scrollDistance_&&!0===t.enableScroll&&(r.translate(t._scrollDistance_,0),m=Math.floor(-t._scrollDistance_/c)-2,x=m+t.xAxis.itemCount+4,A=-t._scrollDistance_-2*c+t.area[3],b=A+(t.xAxis.itemCount+4)*c),l.customColor=w(l.linearType,l.customColor,e,n),e.forEach((function(e,a){var u,w,S;u=[].concat(t.chartData.yAxisData.ranges[e.index]),w=u.pop(),S=u.shift();var k=e.data,T=pe(k,w,S,s,c,t,n,o);if(p.push(T),"column"==e.type){T=se(T,c,v,g,n,t);for(var O=0;Om&&OB?B:K,j=j>B?B:j,z=z>B?B:z,U=U>B?B:U,K=K<0?0:K,j=j<0?0:j,z=z<0?0:z,U=U<0?0:U,r.arc(I+K,L+K,K,-Math.PI,-Math.PI/2),r.arc(I+D-j,L+j,j,-Math.PI/2,0),r.arc(I+D-z,L+M-z,z,0,Math.PI/2),r.arc(I+U,L+M-U,U,Math.PI/2,Math.PI)}else r.moveTo(_,P.y),r.lineTo(_+P.width,P.y),r.lineTo(_+P.width,t.height-t.area[2]),r.lineTo(_,t.height-t.area[2]),r.lineTo(_,P.y),r.setLineWidth(1),r.setStrokeStyle(E);r.setFillStyle(C),r.closePath(),r.fill()}}g+=1}if("area"==e.type)for(var N=q(T,e),W=0;W1){var V=H[0],J=H[H.length-1];r.moveTo(V.x,V.y);var X=0;if("curve"===e.style)for(var G=0;GA&&(r.moveTo(Q.x,Q.y),X=1),G>0&&Q.x>A&&Q.xA&&(r.moveTo(ee.x,ee.y),X=1),$>0&&ee.x>A&&ee.xA&&(r.moveTo(c.x,c.y),a=1),s>0&&c.x>A&&c.xA&&(r.moveTo(d.x,d.y),a=1),u>0&&d.x>A&&d.x1&&(t.extra.mount.widthRatio>2&&(t.extra.mount.widthRatio=2),p+=(t.extra.mount.widthRatio-1)*c);var g=h*h/p,v=0;t._scrollDistance_&&(v=-t._scrollDistance_*h/p),i.beginPath(),i.setLineCap("round"),i.setLineWidth(6*t.pix),i.setStrokeStyle(t.xAxis.scrollBackgroundColor||"#EFEBEF"),i.moveTo(a,f),i.lineTo(s,f),i.stroke(),i.closePath(),i.beginPath(),i.setLineCap("round"),i.setLineWidth(6*t.pix),i.setStrokeStyle(t.xAxis.scrollColor||"#A6A6A6"),i.moveTo(a+v,f),i.lineTo(a+v+g,f),i.stroke(),i.closePath(),i.setLineCap("butt")}if(i.save(),t._scrollDistance_&&0!==t._scrollDistance_&&i.translate(t._scrollDistance_,0),!0===t.xAxis.calibration&&(i.setStrokeStyle(t.xAxis.gridColor||"#cccccc"),i.setLineCap("butt"),i.setLineWidth(1*t.pix),o.forEach((function(e,n){n>0&&(i.beginPath(),i.moveTo(e-c/2,u),i.lineTo(e-c/2,u+3*t.pix),i.closePath(),i.stroke())}))),!0!==t.xAxis.disableGrid&&(i.setStrokeStyle(t.xAxis.gridColor||"#cccccc"),i.setLineCap("butt"),i.setLineWidth(1*t.pix),"dash"==t.xAxis.gridType&&i.setLineDash([t.xAxis.dashLength*t.pix,t.xAxis.dashLength*t.pix]),t.xAxis.gridEval=t.xAxis.gridEval||1,o.forEach((function(e,n){n%t.xAxis.gridEval==0&&(i.beginPath(),i.moveTo(e,u),i.lineTo(e,d),i.stroke())})),i.setLineDash([])),!0!==t.xAxis.disabled){var y=e.length;t.xAxis.labelCount&&(y=t.xAxis.itemCount?Math.ceil(e.length/t.xAxis.itemCount*t.xAxis.labelCount):t.xAxis.labelCount,y-=1);for(var m=Math.ceil(e.length/y),x=[],A=e.length,b=0;b1&&(t.extra.mount.widthRatio>2&&(t.extra.mount.widthRatio=2),l+=(t.extra.mount.widthRatio-1)*c);var u=a+l,d=[],f=1;!1===t.xAxis.axisLine&&(f=0);for(var h=f;h4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,ringWidth:30,customRadius:0,border:!1,borderWidth:2,borderColor:"#FFFFFF",centerColor:"#FFFFFF",linearType:"none",customColor:[]},"pie"==t.type?t.extra.pie:t.extra.ring),a={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.area[0]+(t.height-t.area[0]-t.area[2])/2};0==n.pieChartLinePadding&&(n.pieChartLinePadding=o.activeRadius*t.pix);var s=Math.min((t.width-t.area[1]-t.area[3])/2-n.pieChartLinePadding-n.pieChartTextPadding-n._pieTextMaxLength_,(t.height-t.area[0]-t.area[2])/2-n.pieChartLinePadding-n.pieChartTextPadding);s=s<10?10:s,o.customRadius>0&&(s=o.customRadius*t.pix),e=$(e,s,r);var c=o.activeRadius*t.pix;if(o.customColor=w(o.linearType,o.customColor,e,n),e=e.map((function(e){return e._start_+=o.offsetAngle*Math.PI/180,e})),e.forEach((function(e,n){t.tooltip&&t.tooltip.index==n&&(i.beginPath(),i.setFillStyle(f(e.color,o.activeOpacity||.5)),i.moveTo(a.x,a.y),i.arc(a.x,a.y,e._radius_+c,e._start_,e._start_+2*e._proportion_*Math.PI),i.closePath(),i.fill()),i.beginPath(),i.setLineWidth(o.borderWidth*t.pix),i.lineJoin="round",i.setStrokeStyle(o.borderColor);var r,s=e.color;"custom"==o.linearType&&(r=i.createCircularGradient?i.createCircularGradient(a.x,a.y,e._radius_):i.createRadialGradient(a.x,a.y,0,a.x,a.y,e._radius_),r.addColorStop(0,f(o.customColor[e.linearIndex],1)),r.addColorStop(1,f(e.color,1)),s=r);i.setFillStyle(s),i.moveTo(a.x,a.y),i.arc(a.x,a.y,e._radius_,e._start_,e._start_+2*e._proportion_*Math.PI),i.closePath(),i.fill(),1==o.border&&i.stroke()})),"ring"===t.type){var l=.6*s;"number"===typeof o.ringWidth&&o.ringWidth>0&&(l=Math.max(0,s-o.ringWidth*t.pix)),i.beginPath(),i.setFillStyle(o.centerColor),i.moveTo(a.x,a.y),i.arc(a.x,a.y,l,0,2*Math.PI),i.closePath(),i.fill()}return!1!==t.dataLabel&&1===r&&Fe(e,t,n,i,s,a),1===r&&"ring"===t.type&&Te(t,n,i,a),{center:a,radius:s,series:e}}function $e(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"area",activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,borderWidth:2,borderColor:"#FFFFFF",linearType:"none",customColor:[]},t.extra.rose);0==n.pieChartLinePadding&&(n.pieChartLinePadding=o.activeRadius*t.pix);var a={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.area[0]+(t.height-t.area[0]-t.area[2])/2},s=Math.min((t.width-t.area[1]-t.area[3])/2-n.pieChartLinePadding-n.pieChartTextPadding-n._pieTextMaxLength_,(t.height-t.area[0]-t.area[2])/2-n.pieChartLinePadding-n.pieChartTextPadding);s=s<10?10:s;var c=o.minRadius||.5*s;e=te(e,o.type,c,s,r);var l=o.activeRadius*t.pix;return o.customColor=w(o.linearType,o.customColor,e,n),e=e.map((function(e){return e._start_+=(o.offsetAngle||0)*Math.PI/180,e})),e.forEach((function(e,n){t.tooltip&&t.tooltip.index==n&&(i.beginPath(),i.setFillStyle(f(e.color,o.activeOpacity||.5)),i.moveTo(a.x,a.y),i.arc(a.x,a.y,l+e._radius_,e._start_,e._start_+2*e._rose_proportion_*Math.PI),i.closePath(),i.fill()),i.beginPath(),i.setLineWidth(o.borderWidth*t.pix),i.lineJoin="round",i.setStrokeStyle(o.borderColor);var r,s=e.color;"custom"==o.linearType&&(r=i.createCircularGradient?i.createCircularGradient(a.x,a.y,e._radius_):i.createRadialGradient(a.x,a.y,0,a.x,a.y,e._radius_),r.addColorStop(0,f(o.customColor[e.linearIndex],1)),r.addColorStop(1,f(e.color,1)),s=r);i.setFillStyle(s),i.moveTo(a.x,a.y),i.arc(a.x,a.y,e._radius_,e._start_,e._start_+2*e._rose_proportion_*Math.PI),i.closePath(),i.fill(),1==o.border&&i.stroke()})),!1!==t.dataLabel&&1===r&&Fe(e,t,n,i,s,a),{center:a,radius:s,series:e}}function et(e,t,n,i){var r,o,a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,s=u({},{startAngle:.75,endAngle:.25,type:"default",lineCap:"round",width:12,gap:2,linearType:"none",customColor:[]},t.extra.arcbar);e=ne(e,s,a),r=s.centerX||s.centerY?{x:s.centerX?s.centerX:t.width/2,y:s.centerY?s.centerY:t.height/2}:{x:t.width/2,y:t.height/2},s.radius?o=s.radius:(o=Math.min(r.x,r.y),o-=5*t.pix,o-=s.width/2),o=o<10?10:o,s.customColor=w(s.linearType,s.customColor,e,n);for(var c=0;c5&&void 0!==arguments[5]?arguments[5]:1,a=u({},{type:"default",startAngle:.75,endAngle:.25,width:15,labelOffset:13,splitLine:{fixRadius:0,splitNumber:10,width:15,color:"#FFFFFF",childNumber:5,childWidth:5},pointer:{width:15,color:"auto"}},n.extra.gauge);void 0==a.oldAngle&&(a.oldAngle=a.startAngle),void 0==a.oldData&&(a.oldData=0),e=re(e,a.startAngle,a.endAngle);var s={x:n.width/2,y:n.height/2},c=Math.min(s.x,s.y);c-=5*n.pix,c-=a.width/2,c=c<10?10:c;var l=c-a.width,d=0;if("progress"==a.type){var h=c-3*a.width;r.beginPath();var p=r.createLinearGradient(s.x,s.y-h,s.x,s.y+h);p.addColorStop("0",f(t[0].color,.3)),p.addColorStop("1.0",f("#FFFFFF",.1)),r.setFillStyle(p),r.arc(s.x,s.y,h,0,2*Math.PI,!1),r.fill(),r.setLineWidth(a.width),r.setStrokeStyle(f(t[0].color,.3)),r.setLineCap("round"),r.beginPath(),r.arc(s.x,s.y,l,a.startAngle*Math.PI,a.endAngle*Math.PI,!1),r.stroke(),d=a.startAngle-a.endAngle+1;a.splitLine.splitNumber;var g=d/a.splitLine.splitNumber/a.splitLine.childNumber,v=-c-.5*a.width-a.splitLine.fixRadius,y=-c-a.width-a.splitLine.fixRadius+a.splitLine.width;r.save(),r.translate(s.x,s.y),r.rotate((a.startAngle-1)*Math.PI);for(var m=a.splitLine.splitNumber*a.splitLine.childNumber+1,x=t[0].data*o,A=0;AA/m?r.setStrokeStyle(f(t[0].color,1)):r.setStrokeStyle(f(t[0].color,.3)),r.setLineWidth(3*n.pix),r.moveTo(v,0),r.lineTo(y,0),r.stroke(),r.rotate(g*Math.PI);r.restore(),t=ie(t,a,o),r.setLineWidth(a.width),r.setStrokeStyle(t[0].color),r.setLineCap("round"),r.beginPath(),r.arc(s.x,s.y,l,a.startAngle*Math.PI,t[0]._proportion_*Math.PI,!1),r.stroke();var b=c-2.5*a.width;r.save(),r.translate(s.x,s.y),r.rotate((t[0]._proportion_-1)*Math.PI),r.beginPath(),r.setLineWidth(a.width/3);var w=r.createLinearGradient(0,.6*-b,0,.6*b);w.addColorStop("0",f("#FFFFFF",0)),w.addColorStop("0.5",f(t[0].color,1)),w.addColorStop("1.0",f("#FFFFFF",0)),r.setStrokeStyle(w),r.arc(0,0,b,.85*Math.PI,1.15*Math.PI,!1),r.stroke(),r.beginPath(),r.setLineWidth(1),r.setStrokeStyle(t[0].color),r.setFillStyle(t[0].color),r.moveTo(-b-a.width/3/2,-4),r.lineTo(-b-a.width/3/2-4,0),r.lineTo(-b-a.width/3/2,4),r.lineTo(-b-a.width/3/2,-4),r.stroke(),r.fill(),r.restore()}else{r.setLineWidth(a.width),r.setLineCap("butt");for(var S=0;S4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{gridColor:"#cccccc",gridType:"radar",gridEval:1,axisLabel:!1,axisLabelTofix:0,labelColor:"#666666",labelPointShow:!1,labelPointRadius:3,labelPointColor:"#cccccc",opacity:.2,gridCount:3,border:!1,borderWidth:2,linearType:"none",customColor:[]},t.extra.radar),a=E(t.categories.length),s={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.area[0]+(t.height-t.area[0]-t.area[2])/2},c=(t.width-t.area[1]-t.area[3])/2,l=(t.height-t.area[0]-t.area[2])/2,d=Math.min(c-(C(t.categories,n.fontSize,i)+n.radarLabelTextMargin),l-n.radarLabelTextMargin);d-=n.radarLabelTextMargin*t.pix,d=d<10?10:d,i.beginPath(),i.setLineWidth(1*t.pix),i.setStrokeStyle(o.gridColor),a.forEach((function(e,t){var n=m(d*Math.cos(e),d*Math.sin(e),s);i.moveTo(s.x,s.y),t%o.gridEval==0&&i.lineTo(n.x,n.y)})),i.stroke(),i.closePath();for(var h=function(e){var n={};if(i.beginPath(),i.setLineWidth(1*t.pix),i.setStrokeStyle(o.gridColor),"radar"==o.gridType)a.forEach((function(t,r){var a=m(d/o.gridCount*e*Math.cos(t),d/o.gridCount*e*Math.sin(t),s);0===r?(n=a,i.moveTo(a.x,a.y)):i.lineTo(a.x,a.y)})),i.lineTo(n.x,n.y);else{var r=m(d/o.gridCount*e*Math.cos(1.5),d/o.gridCount*e*Math.sin(1.5),s);i.arc(s.x,s.y,s.y-r.y,0,2*Math.PI,!1)}i.stroke(),i.closePath()},p=1;p<=o.gridCount;p++)h(p);o.customColor=w(o.linearType,o.customColor,e,n);var g=Y(a,s,d,e,t,r);if(g.forEach((function(n,r){i.beginPath(),i.setLineWidth(o.borderWidth*t.pix),i.setStrokeStyle(n.color);var a,c=f(n.color,o.opacity);"custom"==o.linearType&&(a=i.createCircularGradient?i.createCircularGradient(s.x,s.y,d):i.createRadialGradient(s.x,s.y,0,s.x,s.y,d),a.addColorStop(0,f(o.customColor[e[r].linearIndex],o.opacity)),a.addColorStop(1,f(n.color,o.opacity)),c=a);if(i.setFillStyle(c),n.data.forEach((function(e,t){0===t?i.moveTo(e.position.x,e.position.y):i.lineTo(e.position.x,e.position.y)})),i.closePath(),i.fill(),!0===o.border&&i.stroke(),i.closePath(),!1!==t.dataPointShape){var l=n.data.map((function(e){return e.position}));ke(l,n.color,n.pointShape,i,t)}})),!0===o.axisLabel){var v=Math.max(o.max,Math.max.apply(null,T(e))),y=d/o.gridCount,x=t.fontSize*t.pix;i.setFontSize(x),i.setFillStyle(t.fontColor),i.setTextAlign("left");for(p=0;pl.x?n.xMax:l.x,n.yMin=n.yMinl.y?n.yMax:l.y}}return n}function ot(e,t,n,i,r,o){return{x:(t-n.xMin)*i+r,y:(n.yMax-e)*i+o}}function at(e,t,n,i,r,o){return{x:(t-r)/i+n.xMin,y:n.yMax-(e-o)/i}}function st(e,t,n){if(t[1]==n[1])return!1;if(t[1]>e[1]&&n[1]>e[1])return!1;if(t[1]e[1])return!1;if(n[1]==e[1]&&t[1]>e[1])return!1;if(t[0]t[o].area[2]||e[1]>t[o].area[3]||e[2]n||e[3]>i){r=!0;break}r=!1}return r}function ft(e,t,n){var i=e.series;switch(t){case"normal":for(var r=0;r.7},p=0;p4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"normal",autoColors:!0},t.extra.word);t.chartData.wordCloudData||(t.chartData.wordCloudData=ft(t,o.type,i)),i.beginPath(),i.setFillStyle(t.background),i.rect(0,0,t.width,t.height),i.fill(),i.save();var a=t.chartData.wordCloudData;i.translate(t.width/2,t.height/2);for(var s=0;s0&&(t.tooltip&&t.tooltip.index==s?i.strokeText(c,(a[s].areav[0]+5-t.width/2)*r-d*(1-r)/2,(a[s].areav[1]+5+l-t.height/2)*r):i.fillText(c,(a[s].areav[0]+5-t.width/2)*r-d*(1-r)/2,(a[s].areav[1]+5+l-t.height/2)*r)):a[s].area[0]>0&&(t.tooltip&&t.tooltip.index==s?i.strokeText(c,(a[s].area[0]+5-t.width/2)*r-d*(1-r)/2,(a[s].area[1]+5+l-t.height/2)*r):i.fillText(c,(a[s].area[0]+5-t.width/2)*r-d*(1-r)/2,(a[s].area[1]+5+l-t.height/2)*r)),i.stroke(),i.restore()}i.restore()}function pt(e,t,n,i){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=u({},{type:"funnel",activeWidth:10,activeOpacity:.3,border:!1,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,labelAlign:"right",linearType:"none",customColor:[]},t.extra.funnel),a=(t.height-t.area[0]-t.area[2])/e.length,s={x:t.area[3]+(t.width-t.area[1]-t.area[3])/2,y:t.height-t.area[2]},c=o.activeWidth*t.pix,l=Math.min((t.width-t.area[1]-t.area[3])/2-c,(t.height-t.area[0]-t.area[2])/2-c);if(e=ee(e,l,o.type,a,r),i.save(),i.translate(s.x,s.y),o.customColor=w(o.linearType,o.customColor,e,n),"pyramid"==o.type)for(var d=0;d0?m[T].width+t.yAxis.padding*t.pix:m[T].width,k+=1):"right"==m[T].position&&(t.area[1]+=S>0?m[T].width+t.yAxis.padding*t.pix:m[T].width,S+=1)}else n.yAxisWidth=m;if(t.chartData.yAxisData=y,t.categories&&t.categories.length&&"radar"!==t.type&&"gauge"!==t.type&&"bar"!==t.type){t.chartData.xAxisData=fe(t.categories,t,n);var O=X(t.categories,t,n,t.chartData.xAxisData.eachSpacing,i),P=O.xAxisHeight,_=O.angle;n.xAxisHeight=P,n._xAxisTextAngle_=_,t.area[2]+=P,t.chartData.categoriesData=O}else if("line"===t.type||"area"===t.type||"scatter"===t.type||"bubble"===t.type||"bar"===t.type){t.chartData.xAxisData=Q(o,t,n,i),a=t.chartData.xAxisData.rangesFormat;var C=X(a,t,n,t.chartData.xAxisData.eachSpacing,i),E=C.xAxisHeight,F=C.angle;n.xAxisHeight=E,n._xAxisTextAngle_=F,t.area[2]+=E,t.chartData.categoriesData=C}else t.chartData.xAxisData={xAxisPoints:[]};if(t.enableScroll&&"right"==t.xAxis.scrollAlign&&void 0===t._scrollDistance_){var I=0,L=t.chartData.xAxisData.xAxisPoints,M=t.chartData.xAxisData.startX,R=t.chartData.xAxisData.endX,K=t.chartData.xAxisData.eachSpacing,j=K*(L.length-1),z=R-M;I=z-j,r.scrollOption.currentOffset=I,r.scrollOption.startTouchX=I,r.scrollOption.distance=0,r.scrollOption.lastMoveTime=0,t._scrollDistance_=I}switch("pie"!==e&&"ring"!==e&&"rose"!==e||(n._pieTextMaxLength_=!1===t.dataLabel?0:ae(l,n,i,t)),e){case"word":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),ht(o,t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"map":i.clearRect(0,0,t.width,t.height),lt(o,t,n,i);break;case"funnel":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),t.chartData.funnelData=pt(o,t,n,i,e),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"line":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=Ze(o,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"scatter":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=We(o,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"bubble":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=He(o,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"mix":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=Ve(o,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"column":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=je(o,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"mount":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=ze(o,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"bar":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Je(a,t,n,i);var r=Ue(o,t,n,i,e),s=r.yAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.yAxisPoints=s,t.chartData.xAxisPoints=t.chartData.xAxisData.xAxisPoints,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"area":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=Ne(o,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,l=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=l,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e,l,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"ring":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),t.chartData.pieData=Ye(o,t,n,i,e),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"pie":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),t.chartData.pieData=Ye(o,t,n,i,e),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"rose":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),t.chartData.pieData=$e(o,t,n,i,e),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"radar":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),t.chartData.radarData=nt(o,t,n,i,e),Qe(t.series,t,n,i,t.chartData),qe(t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"arcbar":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),t.chartData.arcbarData=et(o,t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"gauge":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),t.chartData.gaugeData=tt(a,o,t,n,i,e),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break;case"candle":this.animationInstance=new mt({timing:t.timing,duration:c,onProcess:function(e){i.clearRect(0,0,t.width,t.height),t.rotate&&Se(i,t),Xe(a,t,n,i),Je(a,t,n,i);var r=Be(o,l,t,n,i,e),s=r.xAxisPoints,c=r.calPoints,u=r.eachSpacing;t.chartData.xAxisPoints=s,t.chartData.calPoints=c,t.chartData.eachSpacing=u,Ge(o,t,n,i),!1!==t.enableMarkLine&&1===e&&Le(t,n,i),Qe(l||t.series,t,n,i,t.chartData),qe(t,n,i,e,u,s),vt(t,i)},onAnimationFinish:function(){r.uevent.trigger("renderComplete")}});break}}function At(){this.events={}}mt.prototype.stop=function(){this.isStop=!0},At.prototype.addEventListener=function(e,t){this.events[e]=this.events[e]||[],this.events[e].push(t)},At.prototype.delEventListener=function(e){this.events[e]=[]},At.prototype.trigger=function(){for(var e=arguments.length,t=Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.opts=u({},this.opts,e),this.opts.updateData=!0;var t=e.scrollPosition||"current";switch(t){case"current":this.opts._scrollDistance_=this.scrollOption.currentOffset;break;case"left":this.opts._scrollDistance_=0,this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};break;case"right":var n=Ae(this.opts.series,this.opts,this.config,this.context),i=n.yAxisWidth;this.config.yAxisWidth=i;var r=0,o=fe(this.opts.categories,this.opts,this.config),a=o.xAxisPoints,s=o.startX,c=o.endX,l=o.eachSpacing,d=l*(a.length-1),f=c-s;r=f-d,this.scrollOption={currentOffset:r,startTouchX:r,distance:0,lastMoveTime:0},this.opts._scrollDistance_=r;break}xt.call(this,this.opts.type,this.opts,this.config,this.context)},bt.prototype.zoom=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.opts.xAxis.itemCount;if(!0===this.opts.enableScroll){var t=Math.round(Math.abs(this.scrollOption.currentOffset)/this.opts.chartData.eachSpacing)+Math.round(this.opts.xAxis.itemCount/2);this.opts.animation=!1,this.opts.xAxis.itemCount=e.itemCount;var n=Ae(this.opts.series,this.opts,this.config,this.context),i=n.yAxisWidth;this.config.yAxisWidth=i;var r=0,o=fe(this.opts.categories,this.opts,this.config),a=o.xAxisPoints,s=o.startX,c=o.endX,l=o.eachSpacing,u=l*t,d=c-s,f=d-l*(a.length-1);r=d/2-u,r>0&&(r=0),r=this.opts.categories.length?this.opts.categories.length:d,this.opts.animation=!1,this.opts.xAxis.itemCount=d;var f=0,h=fe(this.opts.categories,this.opts,this.config),p=h.xAxisPoints,v=h.startX,y=h.endX,m=h.eachSpacing,x=m*this.scrollOption.moveCurrent1,A=y-v,b=A-m*(p.length-1);f=-x+Math.min(i[0].x,i[1].x)-this.opts.area[3]-m,f>0&&(f=0),f1&&void 0!==arguments[1]?arguments[1]:{},n=null;if(n=e.changedTouches?e.changedTouches[0]:e.mp.changedTouches[0],n){P(n,this.opts,e);var i=this.getLegendDataIndex(e);i>=0&&("candle"==this.opts.type?this.opts.seriesMA[i].show=!this.opts.seriesMA[i].show:this.opts.series[i].show=!this.opts.series[i].show,this.opts.animation=!!t.animation,this.opts._scrollDistance_=this.scrollOption.currentOffset,xt.call(this,this.opts.type,this.opts,this.config,this.context))}},bt.prototype.showToolTip=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null;i=e.changedTouches?e.changedTouches[0]:e.mp.changedTouches[0],i||console.log("[uCharts] 未获取到event坐标信息");var r=P(i,this.opts,e),o=this.scrollOption.currentOffset,a=u({},this.opts,{_scrollDistance_:o,animation:!1});if("line"===this.opts.type||"area"===this.opts.type||"column"===this.opts.type||"scatter"===this.opts.type||"bubble"===this.opts.type){var s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1||c.length>0){var l=_(this.opts.series,c,s.group);if(0!==l.length){var d=F(l,this.opts,c,s.group,this.opts.categories,n),f=d.textList,h=d.offset;h.y=r.y,a.tooltip={textList:void 0!==n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("mount"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e).index:n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},a._series_[c]),f=[{text:n.formatter?n.formatter(l,void 0,c,a):l.name+": "+l.data,color:l.color}],h={x:a.chartData.calPoints[c].x,y:r.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}xt.call(this,a.type,a,this.config,this.context)}if("bar"===this.opts.type){s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1||c.length>0){l=_(this.opts.series,c,s.group);if(0!==l.length){d=F(l,this.opts,c,s.group,this.opts.categories,n),f=d.textList,h=d.offset;h.x=r.x,a.tooltip={textList:void 0!==n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("mix"===this.opts.type){s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1){o=this.scrollOption.currentOffset,a=u({},this.opts,{_scrollDistance_:o,animation:!1}),l=_(this.opts.series,c);if(0!==l.length){var p=I(l,this.opts,c,this.opts.categories,n);f=p.textList,h=p.offset;h.y=r.y,a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("candle"===this.opts.type){s=this.getCurrentDataIndex(e),c=void 0==n.index?s.index:n.index;if(c>-1){o=this.scrollOption.currentOffset,a=u({},this.opts,{_scrollDistance_:o,animation:!1}),l=_(this.opts.series,c);if(0!==l.length){d=L(this.opts.series[0].data,l,this.opts,c,this.opts.categories,this.opts.extra.candle,n),f=d.textList,h=d.offset;h.y=r.y,a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}if("pie"===this.opts.type||"ring"===this.opts.type||"rose"===this.opts.type||"funnel"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},a._series_[c]),f=[{text:n.formatter?n.formatter(l,void 0,c,a):l.name+": "+l.data,color:l.color}],h={x:r.x,y:r.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}xt.call(this,a.type,a,this.config,this.context)}if("map"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},this.opts.series[c]);l.name=l.properties.name;f=[{text:n.formatter?n.formatter(l,void 0,c,this.opts):l.name,color:l.color}],h={x:r.x,y:r.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}a.updateData=!1,xt.call(this,a.type,a,this.config,this.context)}if("word"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=u({},this.opts.series[c]),f=[{text:n.formatter?n.formatter(l,void 0,c,this.opts):l.name,color:l.color}],h={x:r.x,y:r.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}a.updateData=!1,xt.call(this,a.type,a,this.config,this.context)}if("radar"===this.opts.type){c=void 0==n.index?this.getCurrentDataIndex(e):n.index;if(c>-1){a=u({},this.opts,{animation:!1}),l=_(this.opts.series,c);if(0!==l.length){f=l.map((function(e){return{text:n.formatter?n.formatter(e,t.opts.categories[c],c,t.opts):e.name+": "+e.data,color:e.color}})),h={x:r.x,y:r.y};a.tooltip={textList:n.textList?n.textList:f,offset:void 0!==n.offset?n.offset:h,option:n,index:c}}}xt.call(this,a.type,a,this.config,this.context)}},bt.prototype.translate=function(e){this.scrollOption={currentOffset:e,startTouchX:e,distance:0,lastMoveTime:0};var t=u({},this.opts,{_scrollDistance_:e,animation:!1});xt.call(this,this.opts.type,t,this.config,this.context)},bt.prototype.scrollStart=function(e){var t=null;t=e.changedTouches?e.changedTouches[0]:e.mp.changedTouches[0];var n=P(t,this.opts,e);t&&!0===this.opts.enableScroll&&(this.scrollOption.startTouchX=n.x)},bt.prototype.scroll=function(e){0===this.scrollOption.lastMoveTime&&(this.scrollOption.lastMoveTime=Date.now());var t=this.opts.touchMoveLimit||60,n=Date.now(),i=n-this.scrollOption.lastMoveTime;if(!(i=0;--o){var a=this.tryEntries[o],s=a.completion;if("root"===a.tryLoc)return i("end");if(a.tryLoc<=this.prev){var c=r.call(a,"catchLoc"),l=r.call(a,"finallyLoc");if(c&&l){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),g}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var i=n.completion;if("throw"===i.type){var r=i.arg;E(n)}return r}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,i){return this.delegate={iterator:I(e),resultName:t,nextLoc:i},"next"===this.method&&(this.arg=n),g}}}function A(e,t,n,i){var r=t&&t.prototype instanceof w?t:w,o=Object.create(r.prototype),a=new F(i||[]);return o._invoke=P(e,n,a),o}function b(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(i){return{type:"throw",arg:i}}}function w(){}function S(){}function k(){}function T(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function O(e){function t(n,i,o,a){var s=b(e[n],e,i);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"===typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,o,a)}),(function(e){t("throw",e,o,a)})):Promise.resolve(l).then((function(e){c.value=e,o(c)}),(function(e){return t("throw",e,o,a)}))}a(s.arg)}var n;function i(e,i){function r(){return new Promise((function(n,r){t(e,i,n,r)}))}return n=n?n.then(r,r):r()}this._invoke=i}function P(e,t,n){var i=d;return function(r,o){if(i===h)throw new Error("Generator is already running");if(i===p){if("throw"===r)throw o;return L()}n.method=r,n.arg=o;while(1){var a=n.delegate;if(a){var s=_(a,n);if(s){if(s===g)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(i===d)throw i=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);i=h;var c=b(e,t,n);if("normal"===c.type){if(i=n.done?p:f,c.arg===g)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(i=p,n.method="throw",n.arg=c.arg)}}}function _(e,t){var i=e.iterator[t.method];if(i===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,_(e,t),"throw"===t.method))return g;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var r=b(i,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,g;var o=r.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,g):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,g)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function I(e){if(e){var t=e[a];if(t)return t.call(e);if("function"===typeof e.next)return e;if(!isNaN(e.length)){var i=-1,o=function t(){while(++i=0;--r){var o,a=e[r];if("[]"===a)o=[],o=o.concat(i);else{o=n.plainObjects?Object.create(null):{};var s="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,c=parseInt(s,10);!isNaN(c)&&a!==s&&String(c)===s&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(o=[],o[c]=i):o[s]=i}i=o}return i},c=function(e,t,n){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/,a=/(\[[^[\]]*])/g,c=o.exec(i),l=c?i.slice(0,c.index):i,u=[];if(l){if(!n.plainObjects&&r.call(Object.prototype,l)&&!n.allowPrototypes)return;u.push(l)}var d=0;while(null!==(c=a.exec(i))&&d=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return a=e.done,e},e:function(e){s=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(s)throw o}}}}function g(e,t){if(e){if("string"===typeof e)return v(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(e,t):void 0}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=new Array(t);n>>2]>>>24-o%4*8&255;t[i+o>>>2]|=a<<24-(i+o)%4*8}else for(o=0;o>>2]=n[o>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=o.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,i=[],r=function(t){t=t;var n=987654321,i=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&i)<<16)+(t=18e3*(65535&t)+(t>>16)&i)&i;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-r%4*8&255;i.push((o>>>4).toString(16)),i.push((15&o).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new a.init(n,t/2)}},l=s.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,i=[],r=0;r>>2]>>>24-r%4*8&255;i.push(String.fromCharCode(o))}return i.join("")},parse:function(e){for(var t=e.length,n=[],i=0;i>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new a.init(n,t)}},u=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw new Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},d=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=u.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,i=n.words,r=n.sigBytes,o=this.blockSize,s=r/(4*o),c=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*o,l=e.min(4*c,r);if(c){for(var u=0;u>>24)|4278255360&(r<<24|r>>>8)}var o=this._hash.words,a=e[t+0],c=e[t+1],h=e[t+2],p=e[t+3],g=e[t+4],v=e[t+5],y=e[t+6],m=e[t+7],x=e[t+8],A=e[t+9],b=e[t+10],w=e[t+11],S=e[t+12],k=e[t+13],T=e[t+14],O=e[t+15],P=o[0],_=o[1],C=o[2],E=o[3];P=l(P,_,C,E,a,7,s[0]),E=l(E,P,_,C,c,12,s[1]),C=l(C,E,P,_,h,17,s[2]),_=l(_,C,E,P,p,22,s[3]),P=l(P,_,C,E,g,7,s[4]),E=l(E,P,_,C,v,12,s[5]),C=l(C,E,P,_,y,17,s[6]),_=l(_,C,E,P,m,22,s[7]),P=l(P,_,C,E,x,7,s[8]),E=l(E,P,_,C,A,12,s[9]),C=l(C,E,P,_,b,17,s[10]),_=l(_,C,E,P,w,22,s[11]),P=l(P,_,C,E,S,7,s[12]),E=l(E,P,_,C,k,12,s[13]),C=l(C,E,P,_,T,17,s[14]),P=u(P,_=l(_,C,E,P,O,22,s[15]),C,E,c,5,s[16]),E=u(E,P,_,C,y,9,s[17]),C=u(C,E,P,_,w,14,s[18]),_=u(_,C,E,P,a,20,s[19]),P=u(P,_,C,E,v,5,s[20]),E=u(E,P,_,C,b,9,s[21]),C=u(C,E,P,_,O,14,s[22]),_=u(_,C,E,P,g,20,s[23]),P=u(P,_,C,E,A,5,s[24]),E=u(E,P,_,C,T,9,s[25]),C=u(C,E,P,_,p,14,s[26]),_=u(_,C,E,P,x,20,s[27]),P=u(P,_,C,E,k,5,s[28]),E=u(E,P,_,C,h,9,s[29]),C=u(C,E,P,_,m,14,s[30]),P=d(P,_=u(_,C,E,P,S,20,s[31]),C,E,v,4,s[32]),E=d(E,P,_,C,x,11,s[33]),C=d(C,E,P,_,w,16,s[34]),_=d(_,C,E,P,T,23,s[35]),P=d(P,_,C,E,c,4,s[36]),E=d(E,P,_,C,g,11,s[37]),C=d(C,E,P,_,m,16,s[38]),_=d(_,C,E,P,b,23,s[39]),P=d(P,_,C,E,k,4,s[40]),E=d(E,P,_,C,a,11,s[41]),C=d(C,E,P,_,p,16,s[42]),_=d(_,C,E,P,y,23,s[43]),P=d(P,_,C,E,A,4,s[44]),E=d(E,P,_,C,S,11,s[45]),C=d(C,E,P,_,O,16,s[46]),P=f(P,_=d(_,C,E,P,h,23,s[47]),C,E,a,6,s[48]),E=f(E,P,_,C,m,10,s[49]),C=f(C,E,P,_,T,15,s[50]),_=f(_,C,E,P,v,21,s[51]),P=f(P,_,C,E,S,6,s[52]),E=f(E,P,_,C,p,10,s[53]),C=f(C,E,P,_,b,15,s[54]),_=f(_,C,E,P,c,21,s[55]),P=f(P,_,C,E,x,6,s[56]),E=f(E,P,_,C,O,10,s[57]),C=f(C,E,P,_,y,15,s[58]),_=f(_,C,E,P,k,21,s[59]),P=f(P,_,C,E,g,6,s[60]),E=f(E,P,_,C,w,10,s[61]),C=f(C,E,P,_,h,15,s[62]),_=f(_,C,E,P,A,21,s[63]),o[0]=o[0]+P|0,o[1]=o[1]+_|0,o[2]=o[2]+C|0,o[3]=o[3]+E|0},_doFinalize:function(){var t=this._data,n=t.words,i=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var o=e.floor(i/4294967296),a=i;n[15+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(r+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),t.sigBytes=4*(n.length+1),this._process();for(var s=this._hash,c=s.words,l=0;l<4;l++){var u=c[l];c[l]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}return s},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function l(e,t,n,i,r,o,a){var s=e+(t&n|~t&i)+r+a;return(s<>>32-o)+t}function u(e,t,n,i,r,o,a){var s=e+(t&i|n&~i)+r+a;return(s<>>32-o)+t}function d(e,t,n,i,r,o,a){var s=e+(t^n^i)+r+a;return(s<>>32-o)+t}function f(e,t,n,i,r,o,a){var s=e+(n^(t|~i))+r+a;return(s<>>32-o)+t}t.MD5=o._createHelper(c),t.HmacMD5=o._createHmacHelper(c)}(Math),n.MD5)})),D((function(e,t){var n,i,r;e.exports=(i=(n=M).lib.Base,r=n.enc.Utf8,void(n.algo.HMAC=i.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=r.parse(t));var n=e.blockSize,i=4*n;t.sigBytes>i&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),a=this._iKey=t.clone(),s=o.words,c=a.words,l=0;l1&&void 0!==arguments[1]?arguments[1]:{};return t=Q,n=e,Object.prototype.hasOwnProperty.call(t,n)||(Q[e]=i),Q[e]}"app"===W&&(Q=i._globalUniCloudObj?i._globalUniCloudObj:i._globalUniCloudObj={});var $=["invoke","success","fail","complete"],ee=Y("_globalUniCloudInterceptor");function te(e,t){ee[e]||(ee[e]={}),B(t)&&Object.keys(t).forEach((function(n){$.indexOf(n)>-1&&function(e,t,n){var i=ee[e][t];i||(i=ee[e][t]=[]),-1===i.indexOf(n)&&"function"==typeof n&&i.push(n)}(e,n,t[n])}))}function ne(e,t){ee[e]||(ee[e]={}),B(t)?Object.keys(t).forEach((function(n){$.indexOf(n)>-1&&function(e,t,n){var i=ee[e][t];if(i){var r=i.indexOf(n);r>-1&&i.splice(r,1)}}(e,n,t[n])})):delete ee[e]}function ie(e,t){return e&&0!==e.length?e.reduce((function(e,n){return e.then((function(){return n(t)}))}),Promise.resolve()):Promise.resolve()}function re(e,t){return ee[e]&&ee[e][t]||[]}var oe=Y("_globalUniCloudListener"),ae="response",se="needLogin",ce="refreshToken",le="clientdb",ue="cloudfunction",de="cloudobject";function fe(e){return oe[e]||(oe[e]=[]),oe[e]}function he(e,t){var n=fe(e);n.includes(t)||n.push(t)}function pe(e,t){var n=fe(e),i=n.indexOf(t);-1!==i&&n.splice(i,1)}function ge(e,t){for(var n=fe(e),i=0;i-1)return;var n=i.getLaunchOptionsSync(),r=n.scene,o=n.channel;e=o,t=r}}catch(e){}return{channel:e,scene:t}}function Ae(){var e=i.getLocale&&i.getLocale()||"en";if(ye)return A(A({},ye),{},{locale:e,LOCALE:e});for(var t=i.getSystemInfoSync(),n=t.deviceId,r=t.osName,o=t.uniPlatform,a=t.appId,s=["pixelRatio","brand","model","system","language","version","platform","host","SDKVersion","swanNativeVersion","app","AppPlatform","fontSizeSetting"],c=0;c=400)return i(new me({code:"SYS_ERR",message:e.errMsg||"request:fail",requestId:t}));var r=e.data;if(r.error)return i(new me({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))}},Se={request:function(e){return i.request(e)},uploadFile:function(e){return i.uploadFile(e)},setStorageSync:function(e,t){return i.setStorageSync(e,t)},getStorageSync:function(e){return i.getStorageSync(e)},removeStorageSync:function(e){return i.removeStorageSync(e)},clearStorageSync:function(){return i.clearStorageSync()}},ke={"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},Te=(0,o.initVueI18n)({"zh-Hans":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},"zh-Hant":{"uniCloud.init.paramRequired":"缺少参数:{param}","uniCloud.uploadFile.fileError":"filePath应为File对象"},en:ke,fr:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},es:{"uniCloud.init.paramRequired":"{param} required","uniCloud.uploadFile.fileError":"filePath should be instance of File"},ja:ke},"zh-Hans"),Oe=Te.t,Pe=function(){function e(t){w(this,e),["spaceId","clientSecret"].forEach((function(e){if(!Object.prototype.hasOwnProperty.call(t,e))throw new Error(Oe("uniCloud.init.paramRequired",{param:e}))})),this.config=Object.assign({},{endpoint:"https://api.bspapp.com"},t),this.config.provider="aliyun",this.config.requestUrl=this.config.endpoint+"/client",this.config.envType=this.config.envType||"public",this.config.accessTokenKey="access_token_"+this.config.spaceId,this.adapter=Se,this._getAccessTokenPromise=null,this._getAccessTokenPromiseStatus=null}return m(e,[{key:"setAccessToken",value:function(e){this.accessToken=e}},{key:"requestWrapped",value:function(e){return we.wrappedRequest(e,this.adapter.request)}},{key:"requestAuth",value:function(e){return this.requestWrapped(e)}},{key:"request",value:function(e,t){var n=this;return Promise.resolve().then((function(){return n.hasAccessToken?t?n.requestWrapped(e):n.requestWrapped(e).catch((function(t){return new Promise((function(e,n){!t||"GATEWAY_INVALID_TOKEN"!==t.code&&"InvalidParameter.InvalidToken"!==t.code?n(t):e()})).then((function(){return n.getAccessToken()})).then((function(){var t=n.rebuildRequest(e);return n.request(t,!0)}))})):n.getAccessToken().then((function(){var t=n.rebuildRequest(e);return n.request(t,!0)}))}))}},{key:"rebuildRequest",value:function(e){var t=Object.assign({},e);return t.data.token=this.accessToken,t.header["x-basement-token"]=this.accessToken,t.header["x-serverless-sign"]=we.sign(t.data,this.config.clientSecret),t}},{key:"setupRequest",value:function(e,t){var n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),i={"Content-Type":"application/json"};return"auth"!==t&&(n.token=this.accessToken,i["x-basement-token"]=this.accessToken),i["x-serverless-sign"]=we.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:i}}},{key:"getAccessToken",value:function(){var e=this;return"pending"===this._getAccessTokenPromiseStatus||(this._getAccessTokenPromiseStatus="pending",this._getAccessTokenPromise=this.requestAuth(this.setupRequest({method:"serverless.auth.user.anonymousAuthorize",params:"{}"},"auth")).then((function(t){return new Promise((function(n,i){t.result&&t.result.accessToken?(e.setAccessToken(t.result.accessToken),e._getAccessTokenPromiseStatus="fulfilled",n(e.accessToken)):(e._getAccessTokenPromiseStatus="rejected",i(new me({code:"AUTH_FAILED",message:"获取accessToken失败"})))}))}),(function(t){return e._getAccessTokenPromiseStatus="rejected",Promise.reject(t)}))),this._getAccessTokenPromise}},{key:"authorize",value:function(){this.getAccessToken()}},{key:"callFunction",value:function(e){var t={method:"serverless.function.runtime.invoke",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}},{key:"getOSSUploadOptionsFromPath",value:function(e){var t={method:"serverless.file.resource.generateProximalSign",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}},{key:"uploadFileToOSS",value:function(e){var t=this,n=e.url,i=e.formData,r=e.name,o=e.filePath,a=e.fileType,s=e.onUploadProgress;return new Promise((function(e,c){var l=t.adapter.uploadFile({url:n,formData:i,name:r,filePath:o,fileType:a,header:{"X-OSS-server-side-encrpytion":"AES256"},success:function(t){t&&t.statusCode<400?e(t):c(new me({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail:function(e){c(new me({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof s&&l&&"function"==typeof l.onProgressUpdate&&l.onProgressUpdate((function(e){s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}},{key:"reportOSSUpload",value:function(e){var t={method:"serverless.file.resource.report",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}},{key:"uploadFile",value:function(e){var t=this,n=e.filePath,i=e.cloudPath,r=e.fileType,o=void 0===r?"image":r,a=e.onUploadProgress,s=e.config;if("string"!==U(i))throw new me({code:"INVALID_PARAM",message:"cloudPath必须为字符串类型"});if(!(i=i.trim()))throw new me({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});if(/:\/\//.test(i))throw new me({code:"INVALID_PARAM",message:"cloudPath不合法"});var c,l,u=s&&s.envType||this.config.envType;return this.getOSSUploadOptionsFromPath({env:u,filename:i}).then((function(e){var i=e.result;c=i.id,l="https://"+i.cdnDomain+"/"+i.ossPath;var r={url:"https://"+i.host,formData:{"Cache-Control":"max-age=2592000","Content-Disposition":"attachment",OSSAccessKeyId:i.accessKeyId,Signature:i.signature,host:i.host,id:c,key:i.ossPath,policy:i.policy,success_action_status:200},fileName:"file",name:"file",filePath:n,fileType:o};return t.uploadFileToOSS(Object.assign({},r,{onUploadProgress:a}))})).then((function(){return t.reportOSSUpload({id:c})})).then((function(e){return new Promise((function(t,i){e.success?t({success:!0,filePath:n,fileID:l}):i(new me({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))}))}},{key:"deleteFile",value:function(e){var t=e.fileList,n={method:"serverless.file.resource.delete",params:JSON.stringify({id:t[0]})};return this.request(this.setupRequest(n))}},{key:"getTempFileURL",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fileList;return new Promise((function(e,n){Array.isArray(t)&&0!==t.length||n(new me({code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"})),e({fileList:t.map((function(e){return{fileID:e,tempFileURL:e}}))})}))}},{key:"hasAccessToken",get:function(){return!!this.accessToken}}]),e}(),_e={init:function(e){var t=new Pe(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},Ce="undefined"!=typeof location&&"http:"===location.protocol?"http:":"https:";!function(e){e.local="local",e.none="none",e.session="session"}(be||(be={}));var Ee,Fe=function(){},Ie=function(){var e;if(!Promise){e=function(){},e.promise={};var t=function(){throw new me({message:'Your Node runtime does support ES6 Promises. Set "global.Promise" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,"then",{get:t}),Object.defineProperty(e.promise,"catch",{get:t}),e}var n=new Promise((function(t,n){e=function(e,i){return e?n(e):t(i)}}));return e.promise=n,e};function Le(e){return void 0===e}function De(e){return"[object Null]"===Object.prototype.toString.call(e)}function Me(e){var t,n,i=(t=e,"[object Array]"===Object.prototype.toString.call(t)?e:[e]),r=p(i);try{for(r.s();!(n=r.n()).done;){var o=n.value,a=o.isMatch,s=o.genAdapter,c=o.runtime;if(a())return{adapter:s(),runtime:c}}}catch(l){r.e(l)}finally{r.f()}}!function(e){e.WEB="web",e.WX_MP="wx_mp"}(Ee||(Ee={}));var Re={adapter:null,runtime:void 0},Ke=["anonymousUuidKey"],je=function(e){S(n,e);var t=k(n);function n(){var e;return w(this,n),e=t.call(this),Re.adapter.root.tcbObject||(Re.adapter.root.tcbObject={}),e}return m(n,[{key:"setItem",value:function(e,t){Re.adapter.root.tcbObject[e]=t}},{key:"getItem",value:function(e){return Re.adapter.root.tcbObject[e]}},{key:"removeItem",value:function(e){delete Re.adapter.root.tcbObject[e]}},{key:"clear",value:function(){delete Re.adapter.root.tcbObject}}]),n}(Fe);function ze(e,t){switch(e){case"local":return t.localStorage||new je;case"none":return new je;default:return t.sessionStorage||new je}}var Ue=function(){function e(t){if(w(this,e),!this._storage){this._persistence=Re.adapter.primaryStorage||t.persistence,this._storage=ze(this._persistence,Re.adapter);var n="access_token_".concat(t.env),i="access_token_expire_".concat(t.env),r="refresh_token_".concat(t.env),o="anonymous_uuid_".concat(t.env),a="login_type_".concat(t.env),s="user_info_".concat(t.env);this.keys={accessTokenKey:n,accessTokenExpireKey:i,refreshTokenKey:r,anonymousUuidKey:o,loginTypeKey:a,userInfoKey:s}}}return m(e,[{key:"updatePersistence",value:function(e){if(e!==this._persistence){var t="local"===this._persistence;this._persistence=e;var n=ze(e,Re.adapter);for(var i in this.keys){var r=this.keys[i];if(!t||!Ke.includes(i)){var o=this._storage.getItem(r);Le(o)||De(o)||(n.setItem(r,o),this._storage.removeItem(r))}}this._storage=n}}},{key:"setStore",value:function(e,t,n){if(this._storage){var i={version:n||"localCachev1",content:t},r=JSON.stringify(i);try{this._storage.setItem(e,r)}catch(e){throw e}}}},{key:"getStore",value:function(e,t){try{if(!this._storage)return}catch(e){return""}t=t||"localCachev1";var n=this._storage.getItem(e);return n&&n.indexOf(t)>=0?JSON.parse(n).content:""}},{key:"removeStore",value:function(e){this._storage.removeItem(e)}}]),e}(),Be={},Ne={};function We(e){return Be[e]}var He=function e(t,n){w(this,e),this.data=n||null,this.name=t},Ze=function(e){S(n,e);var t=k(n);function n(e,i){var r;return w(this,n),r=t.call(this,"error",{error:e,data:i}),r.error=e,r}return n}(He),Ve=new(function(){function e(){w(this,e),this._listeners={}}return m(e,[{key:"on",value:function(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}},{key:"off",value:function(e,t){return function(e,t,n){if(n&&n[e]){var i=n[e].indexOf(t);-1!==i&&n[e].splice(i,1)}}(e,t,this._listeners),this}},{key:"fire",value:function(e,t){if(e instanceof Ze)return console.error(e.error),this;var n="string"==typeof e?new He(e,t||{}):e,i=n.name;if(this._listens(i)){n.target=this;var r,o=this._listeners[i]?u(this._listeners[i]):[],a=p(o);try{for(a.s();!(r=a.n()).done;){var s=r.value;s.call(this,n)}}catch(c){a.e(c)}finally{a.f()}}return this}},{key:"_listens",value:function(e){return this._listeners[e]&&this._listeners[e].length>0}}]),e}());function qe(e,t){Ve.on(e,t)}function Je(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Ve.fire(e,t)}function Xe(e,t){Ve.off(e,t)}var Ge,Qe="loginStateChanged",Ye="loginStateExpire",$e="loginTypeChanged",et="anonymousConverted",tt="refreshAccessToken";!function(e){e.ANONYMOUS="ANONYMOUS",e.WECHAT="WECHAT",e.WECHAT_PUBLIC="WECHAT-PUBLIC",e.WECHAT_OPEN="WECHAT-OPEN",e.CUSTOM="CUSTOM",e.EMAIL="EMAIL",e.USERNAME="USERNAME",e.NULL="NULL"}(Ge||(Ge={}));var nt=["auth.getJwt","auth.logout","auth.signInWithTicket","auth.signInAnonymously","auth.signIn","auth.fetchAccessTokenWithRefreshToken","auth.signUpWithEmailAndPassword","auth.activateEndUserMail","auth.sendPasswordResetEmail","auth.resetPasswordWithToken","auth.isUsernameRegistered"],it={"X-SDK-Version":"1.3.5"};function rt(e,t,n){var i=e[t];e[t]=function(t){var r={},o={};n.forEach((function(n){var i=n.call(e,t),a=i.data,s=i.headers;Object.assign(r,a),Object.assign(o,s)}));var a=t.data;return a&&function(){var e;if(e=a,"[object FormData]"!==Object.prototype.toString.call(e))t.data=A(A({},a),r);else for(var n in r)a.append(n,r[n])}(),t.headers=A(A({},t.headers||{}),o),i.call(e,t)}}function ot(){var e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:A(A({},it),{},{"x-seqid":e})}}var at=function(){function e(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w(this,e),this.config=n,this._reqClass=new Re.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:"请求在".concat(this.config.timeout/1e3,"s内未完成,已中断"),restrictedMethods:["post"]}),this._cache=We(this.config.env),this._localCache=(t=this.config.env,Ne[t]),rt(this._reqClass,"post",[ot]),rt(this._reqClass,"upload",[ot]),rt(this._reqClass,"download",[ot])}return m(e,[{key:"post",value:function(){var e=l(r.default.mark((function e(t){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._reqClass.post(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"upload",value:function(){var e=l(r.default.mark((function e(t){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._reqClass.upload(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"download",value:function(){var e=l(r.default.mark((function e(t){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._reqClass.download(t);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"refreshAccessToken",value:function(){var e=l(r.default.mark((function e(){var t,n;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken()),e.prev=1,e.next=4,this._refreshAccessTokenPromise;case 4:t=e.sent,e.next=10;break;case 7:e.prev=7,e.t0=e["catch"](1),n=e.t0;case 10:if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,!n){e.next=12;break}throw n;case 12:return e.abrupt("return",t);case 13:case"end":return e.stop()}}),e,this,[[1,7]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"_refreshAccessToken",value:function(){var e=l(r.default.mark((function e(){var t,n,i,o,a,s,c,l,u,d,f,h,p;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t=this._cache.keys,n=t.accessTokenKey,i=t.accessTokenExpireKey,o=t.refreshTokenKey,a=t.loginTypeKey,s=t.anonymousUuidKey,this._cache.removeStore(n),this._cache.removeStore(i),c=this._cache.getStore(o),c){e.next=5;break}throw new me({message:"未登录CloudBase"});case 5:return l={refresh_token:c},e.next=8,this.request("auth.fetchAccessTokenWithRefreshToken",l);case 8:if(u=e.sent,!u.data.code){e.next=21;break}if(d=u.data.code,"SIGN_PARAM_INVALID"!==d&&"REFRESH_TOKEN_EXPIRED"!==d&&"INVALID_REFRESH_TOKEN"!==d){e.next=20;break}if(this._cache.getStore(a)!==Ge.ANONYMOUS||"INVALID_REFRESH_TOKEN"!==d){e.next=19;break}return f=this._cache.getStore(s),h=this._cache.getStore(o),e.next=17,this.send("auth.signInAnonymously",{anonymous_uuid:f,refresh_token:h});case 17:return p=e.sent,e.abrupt("return",(this.setRefreshToken(p.refresh_token),this._refreshAccessToken()));case 19:Je(Ye),this._cache.removeStore(o);case 20:throw new me({code:u.data.code,message:"刷新access token失败:".concat(u.data.code)});case 21:if(!u.data.access_token){e.next=23;break}return e.abrupt("return",(Je(tt),this._cache.setStore(n,u.data.access_token),this._cache.setStore(i,u.data.access_token_expire+Date.now()),{accessToken:u.data.access_token,accessTokenExpire:u.data.access_token_expire}));case 23:u.data.refresh_token&&(this._cache.removeStore(o),this._cache.setStore(o,u.data.refresh_token),this._refreshAccessToken());case 24:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAccessToken",value:function(){var e=l(r.default.mark((function e(){var t,n,i,o,a,s,c;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t=this._cache.keys,n=t.accessTokenKey,i=t.accessTokenExpireKey,o=t.refreshTokenKey,this._cache.getStore(o)){e.next=3;break}throw new me({message:"refresh token不存在,登录状态异常"});case 3:if(a=this._cache.getStore(n),s=this._cache.getStore(i),c=!0,e.t0=this._shouldRefreshAccessTokenHook,!e.t0){e.next=9;break}return e.next=8,this._shouldRefreshAccessTokenHook(a,s);case 8:e.t0=!e.sent;case 9:if(e.t1=e.t0,!e.t1){e.next=12;break}c=!1;case 12:return e.abrupt("return",(!a||!s||s2&&void 0!==arguments[2]?arguments[2]:{},i=/\?/.test(t),r="";for(var o in n)""===r?!i&&(t+="?"):r+="&",r+="".concat(o,"=").concat(encodeURIComponent(n[o]));return/^http(s)?\:\/\//.test(t+=r)?t:"".concat(e).concat(t)}(Ce,"//tcb-api.tencentcloudapi.com/web",y),v&&(m+=v),e.next=22,this.post(A({url:m,data:l},f));case 22:if(x=e.sent,b=x.header&&x.header["x-tcb-trace"],b&&this._localCache.setStore(o,b),(200===Number(x.status)||200===Number(x.statusCode))&&x.data){e.next=26;break}throw new me({code:"NETWORK_ERROR",message:"network request error"});case 26:return e.abrupt("return",x);case 27:case"end":return e.stop()}}),e,this)})));function t(t,n,i){return e.apply(this,arguments)}return t}()},{key:"send",value:function(){var e=l(r.default.mark((function e(t){var n,i,o,a=arguments;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=a.length>1&&void 0!==a[1]?a[1]:{},e.next=3,this.request(t,n,{onUploadProgress:n.onUploadProgress});case 3:if(i=e.sent,"ACCESS_TOKEN_EXPIRED"!==i.data.code||-1!==nt.indexOf(t)){e.next=13;break}return e.next=7,this.refreshAccessToken();case 7:return e.next=9,this.request(t,n,{onUploadProgress:n.onUploadProgress});case 9:if(o=e.sent,!o.data.code){e.next=12;break}throw new me({code:o.data.code,message:o.data.message});case 12:return e.abrupt("return",o.data);case 13:if(!i.data.code){e.next=15;break}throw new me({code:i.data.code,message:i.data.message});case 15:return e.abrupt("return",i.data);case 16:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"setRefreshToken",value:function(e){var t=this._cache.keys,n=t.accessTokenKey,i=t.accessTokenExpireKey,r=t.refreshTokenKey;this._cache.removeStore(n),this._cache.removeStore(i),this._cache.setStore(r,e)}}]),e}(),st={};function ct(e){return st[e]}var lt=function(){function e(t){w(this,e),this.config=t,this._cache=We(t.env),this._request=ct(t.env)}return m(e,[{key:"setRefreshToken",value:function(e){var t=this._cache.keys,n=t.accessTokenKey,i=t.accessTokenExpireKey,r=t.refreshTokenKey;this._cache.removeStore(n),this._cache.removeStore(i),this._cache.setStore(r,e)}},{key:"setAccessToken",value:function(e,t){var n=this._cache.keys,i=n.accessTokenKey,r=n.accessTokenExpireKey;this._cache.setStore(i,e),this._cache.setStore(r,t)}},{key:"refreshUserInfo",value:function(){var e=l(r.default.mark((function e(){var t,n;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.send("auth.getUserInfo",{});case 2:return t=e.sent,n=t.data,e.abrupt("return",(this.setLocalUserInfo(n),n));case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setLocalUserInfo",value:function(e){var t=this._cache.keys.userInfoKey;this._cache.setStore(t,e)}}]),e}(),ut=function(){function e(t){if(w(this,e),!t)throw new me({code:"PARAM_ERROR",message:"envId is not defined"});this._envId=t,this._cache=We(this._envId),this._request=ct(this._envId),this.setUserInfo()}return m(e,[{key:"linkWithTicket",value:function(e){if("string"!=typeof e)throw new me({code:"PARAM_ERROR",message:"ticket must be string"});return this._request.send("auth.linkWithTicket",{ticket:e})}},{key:"linkWithRedirect",value:function(e){e.signInWithRedirect()}},{key:"updatePassword",value:function(e,t){return this._request.send("auth.updatePassword",{oldPassword:t,newPassword:e})}},{key:"updateEmail",value:function(e){return this._request.send("auth.updateEmail",{newEmail:e})}},{key:"updateUsername",value:function(e){if("string"!=typeof e)throw new me({code:"PARAM_ERROR",message:"username must be a string"});return this._request.send("auth.updateUsername",{username:e})}},{key:"getLinkedUidList",value:function(){var e=l(r.default.mark((function e(){var t,n,i,o;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.send("auth.getLinkedUidList",{});case 2:return t=e.sent,n=t.data,i=!1,o=n.users,e.abrupt("return",(o.forEach((function(e){e.wxOpenId&&e.wxPublicId&&(i=!0)})),{users:o,hasPrimaryUid:i}));case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setPrimaryUid",value:function(e){return this._request.send("auth.setPrimaryUid",{uid:e})}},{key:"unlink",value:function(e){return this._request.send("auth.unlink",{platform:e})}},{key:"update",value:function(){var e=l(r.default.mark((function e(t){var n,i,o,a,s,c,l,u;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=t.nickName,i=t.gender,o=t.avatarUrl,a=t.province,s=t.country,c=t.city,e.next=8,this._request.send("auth.updateUserInfo",{nickName:n,gender:i,avatarUrl:o,province:a,country:s,city:c});case 8:l=e.sent,u=l.data,this.setLocalUserInfo(u);case 11:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"refresh",value:function(){var e=l(r.default.mark((function e(){var t,n;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.send("auth.getUserInfo",{});case 2:return t=e.sent,n=t.data,e.abrupt("return",(this.setLocalUserInfo(n),n));case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setUserInfo",value:function(){var e=this,t=this._cache.keys.userInfoKey,n=this._cache.getStore(t);["uid","loginType","openid","wxOpenId","wxPublicId","unionId","qqMiniOpenId","email","hasPassword","customUserId","nickName","gender","avatarUrl"].forEach((function(t){e[t]=n[t]})),this.location={country:n.country,province:n.province,city:n.city}}},{key:"setLocalUserInfo",value:function(e){var t=this._cache.keys.userInfoKey;this._cache.setStore(t,e),this.setUserInfo()}}]),e}(),dt=function(){function e(t){if(w(this,e),!t)throw new me({code:"PARAM_ERROR",message:"envId is not defined"});this._cache=We(t);var n=this._cache.keys,i=n.refreshTokenKey,r=n.accessTokenKey,o=n.accessTokenExpireKey,a=this._cache.getStore(i),s=this._cache.getStore(r),c=this._cache.getStore(o);this.credential={refreshToken:a,accessToken:s,accessTokenExpire:c},this.user=new ut(t)}return m(e,[{key:"isAnonymousAuth",get:function(){return this.loginType===Ge.ANONYMOUS}},{key:"isCustomAuth",get:function(){return this.loginType===Ge.CUSTOM}},{key:"isWeixinAuth",get:function(){return this.loginType===Ge.WECHAT||this.loginType===Ge.WECHAT_OPEN||this.loginType===Ge.WECHAT_PUBLIC}},{key:"loginType",get:function(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}]),e}(),ft=function(e){S(n,e);var t=k(n);function n(){return w(this,n),t.apply(this,arguments)}return m(n,[{key:"signIn",value:function(){var e=l(r.default.mark((function e(){var t,n,i,o,a,s,c;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return this._cache.updatePersistence("local"),t=this._cache.keys,n=t.anonymousUuidKey,i=t.refreshTokenKey,o=this._cache.getStore(n)||void 0,a=this._cache.getStore(i)||void 0,e.next=8,this._request.send("auth.signInAnonymously",{anonymous_uuid:o,refresh_token:a});case 8:if(s=e.sent,!s.uuid||!s.refresh_token){e.next=20;break}return this._setAnonymousUUID(s.uuid),this.setRefreshToken(s.refresh_token),e.next=14,this._request.refreshAccessToken();case 14:return Je(Qe),Je($e,{env:this.config.env,loginType:Ge.ANONYMOUS,persistence:"local"}),c=new dt(this.config.env),e.next=19,c.user.refresh();case 19:return e.abrupt("return",c);case 20:throw new me({message:"匿名登录失败"});case 21:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"linkAndRetrieveDataWithTicket",value:function(){var e=l(r.default.mark((function e(t){var n,i,o,a,s,c;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return n=this._cache.keys,i=n.anonymousUuidKey,o=n.refreshTokenKey,a=this._cache.getStore(i),s=this._cache.getStore(o),e.next=7,this._request.send("auth.linkAndRetrieveDataWithTicket",{anonymous_uuid:a,refresh_token:s,ticket:t});case 7:if(c=e.sent,!c.refresh_token){e.next=16;break}return this._clearAnonymousUUID(),this.setRefreshToken(c.refresh_token),e.next=13,this._request.refreshAccessToken();case 13:return Je(et,{env:this.config.env}),Je($e,{loginType:Ge.CUSTOM,persistence:"local"}),e.abrupt("return",{credential:{refreshToken:c.refresh_token}});case 16:throw new me({message:"匿名转化失败"});case 17:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"_setAnonymousUUID",value:function(e){var t=this._cache.keys,n=t.anonymousUuidKey,i=t.loginTypeKey;this._cache.removeStore(n),this._cache.setStore(n,e),this._cache.setStore(i,Ge.ANONYMOUS)}},{key:"_clearAnonymousUUID",value:function(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}]),n}(lt),ht=function(e){S(n,e);var t=k(n);function n(){return w(this,n),t.apply(this,arguments)}return m(n,[{key:"signIn",value:function(){var e=l(r.default.mark((function e(t){var n,i;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new me({param:"PARAM_ERROR",message:"ticket must be a string"});case 2:return n=this._cache.keys.refreshTokenKey,e.next=5,this._request.send("auth.signInWithTicket",{ticket:t,refresh_token:this._cache.getStore(n)||""});case 5:if(i=e.sent,!i.refresh_token){e.next=15;break}return this.setRefreshToken(i.refresh_token),e.next=10,this._request.refreshAccessToken();case 10:return Je(Qe),Je($e,{env:this.config.env,loginType:Ge.CUSTOM,persistence:this.config.persistence}),e.next=14,this.refreshUserInfo();case 14:return e.abrupt("return",new dt(this.config.env));case 15:throw new me({message:"自定义登录失败"});case 16:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()}]),n}(lt),pt=function(e){S(n,e);var t=k(n);function n(){return w(this,n),t.apply(this,arguments)}return m(n,[{key:"signIn",value:function(){var e=l(r.default.mark((function e(t,n){var i,o,a,s,c;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new me({code:"PARAM_ERROR",message:"email must be a string"});case 2:return i=this._cache.keys.refreshTokenKey,e.next=5,this._request.send("auth.signIn",{loginType:"EMAIL",email:t,password:n,refresh_token:this._cache.getStore(i)||""});case 5:if(o=e.sent,a=o.refresh_token,s=o.access_token,c=o.access_token_expire,!a){e.next=22;break}if(this.setRefreshToken(a),!s||!c){e.next=15;break}this.setAccessToken(s,c),e.next=17;break;case 15:return e.next=17,this._request.refreshAccessToken();case 17:return e.next=19,this.refreshUserInfo();case 19:return Je(Qe),Je($e,{env:this.config.env,loginType:Ge.EMAIL,persistence:this.config.persistence}),e.abrupt("return",new dt(this.config.env));case 22:throw o.code?new me({code:o.code,message:"邮箱登录失败: ".concat(o.message)}):new me({message:"邮箱登录失败"});case 23:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"activate",value:function(){var e=l(r.default.mark((function e(t){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.activateEndUserMail",{token:t}));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"resetPasswordWithToken",value:function(){var e=l(r.default.mark((function e(t,n){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.resetPasswordWithToken",{token:t,newPassword:n}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),n}(lt),gt=function(e){S(n,e);var t=k(n);function n(){return w(this,n),t.apply(this,arguments)}return m(n,[{key:"signIn",value:function(){var e=l(r.default.mark((function e(t,n){var i,o,a,s,c;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new me({code:"PARAM_ERROR",message:"username must be a string"});case 2:return"string"!=typeof n&&(n="",console.warn("password is empty")),i=this._cache.keys.refreshTokenKey,e.next=6,this._request.send("auth.signIn",{loginType:Ge.USERNAME,username:t,password:n,refresh_token:this._cache.getStore(i)||""});case 6:if(o=e.sent,a=o.refresh_token,s=o.access_token_expire,c=o.access_token,!a){e.next=23;break}if(this.setRefreshToken(a),!c||!s){e.next=16;break}this.setAccessToken(c,s),e.next=18;break;case 16:return e.next=18,this._request.refreshAccessToken();case 18:return e.next=20,this.refreshUserInfo();case 20:return Je(Qe),Je($e,{env:this.config.env,loginType:Ge.USERNAME,persistence:this.config.persistence}),e.abrupt("return",new dt(this.config.env));case 23:throw o.code?new me({code:o.code,message:"用户名密码登录失败: ".concat(o.message)}):new me({message:"用户名密码登录失败"});case 24:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),n}(lt),vt=function(){function e(t){w(this,e),this.config=t,this._cache=We(t.env),this._request=ct(t.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),qe($e,this._onLoginTypeChanged)}return m(e,[{key:"anonymousAuthProvider",value:function(){return new ft(this.config)}},{key:"customAuthProvider",value:function(){return new ht(this.config)}},{key:"emailAuthProvider",value:function(){return new pt(this.config)}},{key:"usernameAuthProvider",value:function(){return new gt(this.config)}},{key:"signInAnonymously",value:function(){var e=l(r.default.mark((function e(){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",new ft(this.config).signIn());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"signInWithEmailAndPassword",value:function(){var e=l(r.default.mark((function e(t,n){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",new pt(this.config).signIn(t,n));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"signInWithUsernameAndPassword",value:function(e,t){return new gt(this.config).signIn(e,t)}},{key:"linkAndRetrieveDataWithTicket",value:function(){var e=l(r.default.mark((function e(t){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return this._anonymousAuthProvider||(this._anonymousAuthProvider=new ft(this.config)),qe(et,this._onAnonymousConverted),e.next=3,this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(t);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"signOut",value:function(){var e=l(r.default.mark((function e(){var t,n,i,o,a,s;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(this.loginType!==Ge.ANONYMOUS){e.next=2;break}throw new me({message:"匿名用户不支持登出操作"});case 2:if(t=this._cache.keys,n=t.refreshTokenKey,i=t.accessTokenKey,o=t.accessTokenExpireKey,a=this._cache.getStore(n),a){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,this._request.send("auth.logout",{refresh_token:a});case 7:return s=e.sent,e.abrupt("return",(this._cache.removeStore(n),this._cache.removeStore(i),this._cache.removeStore(o),Je(Qe),Je($e,{env:this.config.env,loginType:Ge.NULL,persistence:this.config.persistence}),s));case 9:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"signUpWithEmailAndPassword",value:function(){var e=l(r.default.mark((function e(t,n){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.signUpWithEmailAndPassword",{email:t,password:n}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"sendPasswordResetEmail",value:function(){var e=l(r.default.mark((function e(t){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",this._request.send("auth.sendPasswordResetEmail",{email:t}));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"onLoginStateChanged",value:function(e){var t=this;qe(Qe,(function(){var n=t.hasLoginState();e.call(t,n)}));var n=this.hasLoginState();e.call(this,n)}},{key:"onLoginStateExpired",value:function(e){qe(Ye,e.bind(this))}},{key:"onAccessTokenRefreshed",value:function(e){qe(tt,e.bind(this))}},{key:"onAnonymousConverted",value:function(e){qe(et,e.bind(this))}},{key:"onLoginTypeChanged",value:function(e){var t=this;qe($e,(function(){var n=t.hasLoginState();e.call(t,n)}))}},{key:"getAccessToken",value:function(){var e=l(r.default.mark((function e(){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,this._request.getAccessToken();case 2:return e.t0=e.sent.accessToken,e.t1=this.config.env,e.abrupt("return",{accessToken:e.t0,env:e.t1});case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"hasLoginState",value:function(){var e=this._cache.keys.refreshTokenKey;return this._cache.getStore(e)?new dt(this.config.env):null}},{key:"isUsernameRegistered",value:function(){var e=l(r.default.mark((function e(t){var n,i;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if("string"==typeof t){e.next=2;break}throw new me({code:"PARAM_ERROR",message:"username must be a string"});case 2:return e.next=4,this._request.send("auth.isUsernameRegistered",{username:t});case 4:return n=e.sent,i=n.data,e.abrupt("return",i&&i.isRegistered);case 7:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getLoginState",value:function(){return Promise.resolve(this.hasLoginState())}},{key:"signInWithTicket",value:function(){var e=l(r.default.mark((function e(t){return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.abrupt("return",new ht(this.config).signIn(t));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"shouldRefreshAccessToken",value:function(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}},{key:"getUserInfo",value:function(){return this._request.send("auth.getUserInfo",{}).then((function(e){return e.code?e:A(A({},e.data),{},{requestId:e.seqId})}))}},{key:"getAuthHeader",value:function(){var e=this._cache.keys,t=e.refreshTokenKey,n=e.accessTokenKey,i=this._cache.getStore(t);return{"x-cloudbase-credentials":this._cache.getStore(n)+"/@@/"+i}}},{key:"_onAnonymousConverted",value:function(e){var t=e.data.env;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}},{key:"_onLoginTypeChanged",value:function(e){var t=e.data,n=t.loginType,i=t.persistence,r=t.env;r===this.config.env&&(this._cache.updatePersistence(i),this._cache.setStore(this._cache.keys.loginTypeKey,n))}},{key:"currentUser",get:function(){var e=this.hasLoginState();return e&&e.user||null}},{key:"loginType",get:function(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}]),e}(),yt=function(e,t){t=t||Ie();var n=ct(this.config.env),i=e.cloudPath,r=e.filePath,o=e.onUploadProgress,a=e.fileType,s=void 0===a?"image":a;return n.send("storage.getUploadMetadata",{path:i}).then((function(e){var a=e.data,c=a.url,l=a.authorization,u=a.token,d=a.fileId,f=a.cosFileId,h=e.requestId,p={key:i,signature:l,"x-cos-meta-fileid":f,success_action_status:"201","x-cos-security-token":u};n.upload({url:c,data:p,file:r,name:i,fileType:s,onUploadProgress:o}).then((function(e){201===e.statusCode?t(null,{fileID:d,requestId:h}):t(new me({code:"STORAGE_REQUEST_FAIL",message:"STORAGE_REQUEST_FAIL: ".concat(e.data)}))})).catch((function(e){t(e)}))})).catch((function(e){t(e)})),t.promise},mt=function(e,t){t=t||Ie();var n=ct(this.config.env),i=e.cloudPath;return n.send("storage.getUploadMetadata",{path:i}).then((function(e){t(null,e)})).catch((function(e){t(e)})),t.promise},xt=function(e,t){var n=e.fileList;if(t=t||Ie(),!n||!Array.isArray(n))return{code:"INVALID_PARAM",message:"fileList必须是非空的数组"};var i,r=p(n);try{for(r.s();!(i=r.n()).done;){var o=i.value;if(!o||"string"!=typeof o)return{code:"INVALID_PARAM",message:"fileList的元素必须是非空的字符串"}}}catch(s){r.e(s)}finally{r.f()}var a={fileid_list:n};return ct(this.config.env).send("storage.batchDeleteFile",a).then((function(e){e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((function(e){t(e)})),t.promise},At=function(e,t){var n=e.fileList;t=t||Ie(),n&&Array.isArray(n)||t(null,{code:"INVALID_PARAM",message:"fileList必须是非空的数组"});var i,r=[],o=p(n);try{for(o.s();!(i=o.n()).done;){var a=i.value;"object"==typeof a?(a.hasOwnProperty("fileID")&&a.hasOwnProperty("maxAge")||t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是包含fileID和maxAge的对象"}),r.push({fileid:a.fileID,max_age:a.maxAge})):"string"==typeof a?r.push({fileid:a}):t(null,{code:"INVALID_PARAM",message:"fileList的元素必须是字符串"})}}catch(c){o.e(c)}finally{o.f()}var s={file_list:r};return ct(this.config.env).send("storage.batchGetDownloadUrl",s).then((function(e){e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((function(e){t(e)})),t.promise},bt=function(){var e=l(r.default.mark((function e(t,n){var i,o,a,s;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return i=t.fileID,e.next=3,At.call(this,{fileList:[{fileID:i,maxAge:600}]});case 3:if(o=e.sent.fileList[0],"SUCCESS"===o.code){e.next=6;break}return e.abrupt("return",n?n(o):new Promise((function(e){e(o)})));case 6:if(a=ct(this.config.env),s=o.download_url,s=encodeURI(s),n){e.next=10;break}return e.abrupt("return",a.download({url:s}));case 10:return e.t0=n,e.next=13,a.download({url:s});case 13:e.t1=e.sent,(0,e.t0)(e.t1);case 15:case"end":return e.stop()}}),e,this)})));return function(t,n){return e.apply(this,arguments)}}(),wt=function(e,t){var n,i=e.name,r=e.data,o=e.query,a=e.parse,s=e.search,c=t||Ie();try{n=r?JSON.stringify(r):""}catch(i){return Promise.reject(i)}if(!i)return Promise.reject(new me({code:"PARAM_ERROR",message:"函数名不能为空"}));var l={inQuery:o,parse:a,search:s,function_name:i,request_data:n};return ct(this.config.env).send("functions.invokeFunction",l).then((function(e){if(e.code)c(null,e);else{var t=e.data.response_data;if(a)c(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),c(null,{result:t,requestId:e.requestId})}catch(e){c(new me({message:"response data must be json"}))}}return c.promise})).catch((function(e){c(e)})),c.promise},St={timeout:15e3,persistence:"session"},kt={},Tt=function(){function e(t){w(this,e),this.config=t||this.config,this.authObj=void 0}return m(e,[{key:"init",value:function(t){switch(Re.adapter||(this.requestClient=new Re.adapter.reqClass({timeout:t.timeout||5e3,timeoutMsg:"请求在".concat((t.timeout||5e3)/1e3,"s内未完成,已中断")})),this.config=A(A({},St),t),!0){case this.config.timeout>6e5:console.warn("timeout大于可配置上限[10分钟],已重置为上限数值"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn("timeout小于可配置下限[100ms],已重置为下限数值"),this.config.timeout=100}return new e(this.config)}},{key:"auth",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.persistence;if(this.authObj)return this.authObj;var n,i=t||Re.adapter.primaryStorage||St.persistence;return i!==this.config.persistence&&(this.config.persistence=i),function(e){var t=e.env;Be[t]=new Ue(e),Ne[t]=new Ue(A(A({},e),{},{persistence:"local"}))}(this.config),n=this.config,st[n.env]=new at(n),this.authObj=new vt(this.config),this.authObj}},{key:"on",value:function(e,t){return qe.apply(this,[e,t])}},{key:"off",value:function(e,t){return Xe.apply(this,[e,t])}},{key:"callFunction",value:function(e,t){return wt.apply(this,[e,t])}},{key:"deleteFile",value:function(e,t){return xt.apply(this,[e,t])}},{key:"getTempFileURL",value:function(e,t){return At.apply(this,[e,t])}},{key:"downloadFile",value:function(e,t){return bt.apply(this,[e,t])}},{key:"uploadFile",value:function(e,t){return yt.apply(this,[e,t])}},{key:"getUploadMetadata",value:function(e,t){return mt.apply(this,[e,t])}},{key:"registerExtension",value:function(e){kt[e.name]=e}},{key:"invokeExtension",value:function(){var e=l(r.default.mark((function e(t,n){var i;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(i=kt[t],i){e.next=3;break}throw new me({message:"扩展".concat(t," 必须先注册")});case 3:return e.next=5,i.invoke(n,this);case 5:return e.abrupt("return",e.sent);case 6:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"useAdapters",value:function(e){var t=Me(e)||{},n=t.adapter,i=t.runtime;n&&(Re.adapter=n),i&&(Re.runtime=i)}}]),e}(),Ot=new Tt;function Pt(e,t,n){void 0===n&&(n={});var i=/\?/.test(t),r="";for(var o in n)""===r?!i&&(t+="?"):r+="&",r+=o+"="+encodeURIComponent(n[o]);return/^http(s)?:\/\//.test(t+=r)?t:""+e+t}var _t=function(){function e(){w(this,e)}return m(e,[{key:"post",value:function(e){var t=e.url,n=e.data,i=e.headers;return new Promise((function(e,r){Se.request({url:Pt("https:",t),data:n,method:"POST",header:i,success:function(t){e(t)},fail:function(e){r(e)}})}))}},{key:"upload",value:function(e){return new Promise((function(t,n){var i=e.url,r=e.file,o=e.data,a=e.headers,s=e.fileType,c=Se.uploadFile({url:Pt("https:",i),name:"file",formData:Object.assign({},o),filePath:r,fileType:s,header:a,success:function(e){var n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&o.success_action_status&&(n.statusCode=parseInt(o.success_action_status,10)),t(n)},fail:function(e){H&&"mp-alipay"===W&&console.warn("支付宝小程序开发工具上传腾讯云时无法准确判断是否上传成功,请使用真机测试"),n(new Error(e.errMsg||"uploadFile:fail"))}});"function"==typeof e.onUploadProgress&&c&&"function"==typeof c.onProgressUpdate&&c.onProgressUpdate((function(t){e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}]),e}(),Ct={setItem:function(e,t){Se.setStorageSync(e,t)},getItem:function(e){return Se.getStorageSync(e)},removeItem:function(e){Se.removeStorageSync(e)},clear:function(){Se.clearStorageSync()}},Et={genAdapter:function(){return{root:{},reqClass:_t,localStorage:Ct,primaryStorage:"local"}},isMatch:function(){return!0},runtime:"uni_app"};Ot.useAdapters(Et);var Ft=Ot,It=Ft.init;Ft.init=function(e){e.env=e.spaceId;var t=It.call(this,e);t.config.provider="tencent",t.config.spaceId=e.spaceId;var n=t.auth;return t.auth=function(e){var t=n.call(this,e);return["linkAndRetrieveDataWithTicket","signInAnonymously","signOut","getAccessToken","getLoginState","signInWithTicket","getUserInfo"].forEach((function(e){t[e]=ve(t[e]).bind(t)})),t},t.customAuth=t.auth,t};var Lt=Ft;function Dt(){return{token:Se.getStorageSync("uni_id_token")||Se.getStorageSync("uniIdToken"),tokenExpired:Se.getStorageSync("uni_id_token_expired")}}function Mt(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.token,n=e.tokenExpired;t&&Se.setStorageSync("uni_id_token",t),n&&Se.setStorageSync("uni_id_token_expired",n)}function Rt(){H&&"web"===W&&i.getStorageSync("__LAST_DCLOUD_APPID")!==X&&(i.setStorageSync("__LAST_DCLOUD_APPID",X),console.warn("检测到当前项目与上次运行到此端口的项目不一致,自动清理uni-id保存的token信息(仅开发调试时生效)"),Se.removeStorageSync("uni_id_token"),Se.removeStorageSync("uniIdToken"),Se.removeStorageSync("uni_id_token_expired"))}var Kt=function(e){S(n,e);var t=k(n);function n(){return w(this,n),t.apply(this,arguments)}return m(n,[{key:"getAccessToken",value:function(){var e=this;return new Promise((function(t,n){var i="Anonymous_Access_token";e.setAccessToken(i),t(i)}))}},{key:"setupRequest",value:function(e,t){var n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),i={"Content-Type":"application/json"};"auth"!==t&&(n.token=this.accessToken,i["x-basement-token"]=this.accessToken),i["x-serverless-sign"]=we.sign(n,this.config.clientSecret);var r=Ae();i["x-client-info"]=encodeURIComponent(JSON.stringify(r));var o=Dt(),a=o.token;return i["x-client-token"]=a,{url:this.config.requestUrl,method:"POST",data:n,dataType:"json",header:JSON.parse(JSON.stringify(i))}}},{key:"uploadFileToOSS",value:function(e){var t=this,n=e.url,i=e.formData,r=e.name,o=e.filePath,a=e.fileType,s=e.onUploadProgress;return new Promise((function(e,c){var l=t.adapter.uploadFile({url:n,formData:i,name:r,filePath:o,fileType:a,success:function(t){t&&t.statusCode<400?e(t):c(new me({code:"UPLOAD_FAILED",message:"文件上传失败"}))},fail:function(e){c(new me({code:e.code||"UPLOAD_FAILED",message:e.message||e.errMsg||"文件上传失败"}))}});"function"==typeof s&&l&&"function"==typeof l.onProgressUpdate&&l.onProgressUpdate((function(e){s({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}},{key:"uploadFile",value:function(e){var t,n=this,i=e.filePath,r=e.cloudPath,o=e.fileType,a=void 0===o?"image":o,s=e.onUploadProgress;if(!r)throw new me({code:"CLOUDPATH_REQUIRED",message:"cloudPath不可为空"});return this.getOSSUploadOptionsFromPath({cloudPath:r}).then((function(e){var r=e.result,o=r.url,c=r.formData,l=r.name;t=e.result.fileUrl;var u={url:o,formData:c,name:l,filePath:i,fileType:a};return n.uploadFileToOSS(Object.assign({},u,{onUploadProgress:s}))})).then((function(){return n.reportOSSUpload({cloudPath:r})})).then((function(e){return new Promise((function(n,r){e.success?n({success:!0,filePath:i,fileID:t}):r(new me({code:"UPLOAD_FAILED",message:"文件上传失败"}))}))}))}},{key:"deleteFile",value:function(e){var t=e.fileList,n={method:"serverless.file.resource.delete",params:JSON.stringify({fileList:t})};return this.request(this.setupRequest(n))}},{key:"getTempFileURL",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.fileList,n={method:"serverless.file.resource.getTempFileURL",params:JSON.stringify({fileList:t})};return this.request(this.setupRequest(n))}}]),n}(Pe),jt={init:function(e){var t=new Kt(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};function zt(e){var t,n=e.data;t=Ae();var i=JSON.parse(JSON.stringify(n||{}));if(Object.assign(i,{clientInfo:t}),!i.uniIdToken){var r=Dt(),o=r.token;o&&(i.uniIdToken=o)}return i}function Ut(e){var t=this,n=e.name,i=e.data,r=this.localAddress,o=this.localPort,a={aliyun:"aliyun",tencent:"tcb"}[this.config.provider],s=this.config.spaceId,c="http://".concat(r,":").concat(o,"/system/check-function"),l="http://".concat(r,":").concat(o,"/cloudfunctions/").concat(n);return new Promise((function(e,t){Se.request({method:"POST",url:c,data:{name:n,platform:W,provider:a,spaceId:s},timeout:3e3,success:function(t){e(t)},fail:function(){e({data:{code:"NETWORK_ERROR",message:"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。"}})}})})).then((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.data,n=t||{},i=n.code,r=n.message;return{code:0===i?0:i||"SYS_ERR",message:r||"SYS_ERR"}})).then((function(e){var r=e.code,o=e.message;if(0!==r){switch(r){case"MODULE_ENCRYPTED":console.error("此云函数(".concat(n,")依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数"));break;case"FUNCTION_ENCRYPTED":console.error("此云函数(".concat(n,")已加密不可本地调试,自动切换为云端已部署的云函数"));break;case"ACTION_ENCRYPTED":console.error(o||"需要访问加密的uni-clientDB-action,自动切换为云端环境");break;case"NETWORK_ERROR":var s="连接本地调试服务失败,请检查客户端是否和主机在同一局域网下";throw console.error(s),new Error(s);case"SWITCH_TO_CLOUD":break;default:var c="检测本地调试服务出现错误:".concat(o,",请检查网络环境或重启客户端再试");throw console.error(c),new Error(c)}return t._originCallFunction({name:n,data:i})}return new Promise((function(e,n){var r=zt.call(t,{data:i});Se.request({method:"POST",url:l,data:{provider:a,platform:W,param:r},success:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=t.statusCode,r=t.data;return!i||i>=400?n(new me({code:r.code||"SYS_ERR",message:r.message||"request:fail"})):e({result:r})},fail:function(e){n(new me({code:e.code||e.errCode||"SYS_ERR",message:e.message||e.errMsg||"request:fail"}))}})}))}))}var Bt=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间",mode:"append"}],Nt=/[\\^$.*+?()[\]{}|]/g,Wt=RegExp(Nt.source);function Ht(e,t,n){return e.replace(new RegExp((i=t)&&Wt.test(i)?i.replace(Nt,"\\$&"):i,"g"),n);var i}function Zt(e){var t=e.functionName,n=e.result,i=e.logPvd;if(this.config.debugLog&&n&&n.requestId){var r=JSON.stringify({spaceId:this.config.spaceId,functionName:t,requestId:n.requestId});console.log("[".concat(i,"-request]").concat(r,"[/").concat(i,"-request]"))}}function Vt(e){var t=e.callFunction,n=function(n){var i=this,r=n.name;n.data=zt.call(e,{data:n.data});var o={aliyun:"aliyun",tencent:"tcb",tcb:"tcb"}[this.config.provider];return t.call(this,n).then((function(e){return e.errCode=0,Zt.call(i,{functionName:r,result:e,logPvd:o}),Promise.resolve(e)}),(function(e){return Zt.call(i,{functionName:r,result:e,logPvd:o}),e&&e.message&&(e.message=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.message,n=void 0===t?"":t,i=e.extraInfo,r=void 0===i?{}:i,o=e.formatter,a=void 0===o?[]:o,s=0;s-1||e[t].push(n)},off:function(t,n){e[t]=e[t]||[];var i=e[t].indexOf(n);-1!==i&&e[t].splice(i,1)}}}var Gt=["db.Geo","db.command","command.aggregate"];function Qt(e,t){return Gt.indexOf("".concat(e,".").concat(t))>-1}function Yt(e){switch(U(e)){case"array":return e.map((function(e){return Yt(e)}));case"object":return e._internalType===qt||Object.keys(e).forEach((function(t){e[t]=Yt(e[t])})),e;case"regexp":return{$regexp:{source:e.source,flags:e.flags}};case"date":return{$date:e.toISOString()};default:return e}}function $t(e){return e&&e.content&&e.content.$method}var en=function(){function e(t,n,i){w(this,e),this.content=t,this.prevStage=n||null,this.udb=null,this._database=i}return m(e,[{key:"toJSON",value:function(){for(var e=this,t=[e.content];e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((function(e){return{$method:e.$method,$param:Yt(e.$param)}}))}}},{key:"getAction",value:function(){var e=this.toJSON().$db.find((function(e){return"action"===e.$method}));return e&&e.$param&&e.$param[0]}},{key:"getCommand",value:function(){return{$db:this.toJSON().$db.filter((function(e){return"action"!==e.$method}))}}},{key:"get",value:function(){return this._send("get",Array.from(arguments))}},{key:"add",value:function(){return this._send("add",Array.from(arguments))}},{key:"update",value:function(){return this._send("update",Array.from(arguments))}},{key:"end",value:function(){return this._send("end",Array.from(arguments))}},{key:"_send",value:function(e,t){var n=this.getAction(),i=this.getCommand();if(i.$db.push({$method:e,$param:Yt(t)}),H){var r=i.$db.find((function(e){return"collection"===e.$method})),o=r&&r.$param;o&&1===o.length&&"string"==typeof r.$param[0]&&r.$param[0].indexOf(",")>-1&&console.warn("检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。")}return this._database._callCloudFunction({action:n,command:i})}},{key:"isAggregate",get:function(){for(var e=this;e;){var t=$t(e),n=$t(e.prevStage);if("aggregate"===t&&"collection"===n||"pipeline"===t)return!0;e=e.prevStage}return!1}},{key:"isCommand",get:function(){for(var e=this;e;){if("command"===$t(e))return!0;e=e.prevStage}return!1}},{key:"isAggregateCommand",get:function(){for(var e=this;e;){var t=$t(e),n=$t(e.prevStage);if("aggregate"===t&&"command"===n)return!0;e=e.prevStage}return!1}},{key:"count",get:function(){if(!this.isAggregate)return function(){return this._send("count",Array.from(arguments))};var e=this;return function(){return tn({$method:"count",$param:Yt(Array.from(arguments))},e,this._database)}}},{key:"remove",get:function(){if(!this.isCommand)return function(){return this._send("remove",Array.from(arguments))};var e=this;return function(){return tn({$method:"remove",$param:Yt(Array.from(arguments))},e,this._database)}}},{key:"set",get:function(){if(!this.isCommand)return function(){throw new Error("JQL禁止使用set方法")};var e=this;return function(){return tn({$method:"set",$param:Yt(Array.from(arguments))},e,this._database)}}}]),e}();function tn(e,t,n){return Jt(new en(e,t,n),{get:function(e,t){var i="db";return e&&e.content&&(i=e.content.$method),Qt(i,t)?tn({$method:t},e,n):function(){return tn({$method:t,$param:Yt(Array.from(arguments))},e,n)}}})}function nn(e){var t=e.path,n=e.method;return function(){function e(){w(this,e),this.param=Array.from(arguments)}return m(e,[{key:"toJSON",value:function(){return{$newDb:[].concat(u(t.map((function(e){return{$method:e}}))),[{$method:n,$param:this.param}])}}}]),e}()}var rn=function(e){S(n,e);var t=k(n);function n(){return w(this,n),t.apply(this,arguments)}return m(n,[{key:"_callCloudFunction",value:function(e){var t=this,n=e.action,i=e.command,r=e.multiCommand,o=e.queryList;function a(e,t){if(r&&o)for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{},n=t.uniClient,i=void 0===n?{}:n;w(this,e),this._uniClient=i,this._authCallBacks={},this._dbCallBacks={},i.isDefault&&(this._dbCallBacks=Y("_globalUniCloudDatabaseCallback")),this.auth=Xt(this._authCallBacks),Object.assign(this,Xt(this._dbCallBacks)),this.env=Jt({},{get:function(e,t){return{$env:t}}}),this.Geo=Jt({},{get:function(e,t){return nn({path:["Geo"],method:t})}}),this.serverDate=nn({path:[],method:"serverDate"}),this.RegExp=nn({path:[],method:"RegExp"})}return m(e,[{key:"getCloudEnv",value:function(e){if("string"!=typeof e||!e.trim())throw new Error("getCloudEnv参数错误");return{$env:e.replace("$cloudEnv_","")}}},{key:"_callback",value:function(e,t){var n=this._dbCallBacks;n[e]&&n[e].forEach((function(e){e.apply(void 0,u(t))}))}},{key:"_callbackAuth",value:function(e,t){var n=this._authCallBacks;n[e]&&n[e].forEach((function(e){e.apply(void 0,u(t))}))}},{key:"multiSend",value:function(){var e=Array.from(arguments),t=e.map((function(e){var t=e.getAction(),n=e.getCommand();if("getTemp"!==n.$db[n.$db.length-1].$method)throw new Error("multiSend只支持子命令内使用getTemp");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}]),e}());function on(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;var n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Jt(new e(t),{get:function(e,t){return Qt("db",t)?tn({$method:t},null,e):function(){return tn({$method:t,$param:Yt(Array.from(arguments))},null,e)}}})}(rn,{uniClient:e});return this._database=n,n}}var an="token无效,跳转登录页面",sn="token过期,跳转登录页面",cn={TOKEN_INVALID_TOKEN_EXPIRED:sn,TOKEN_INVALID_INVALID_CLIENTID:an,TOKEN_INVALID:an,TOKEN_INVALID_WRONG_TOKEN:an,TOKEN_INVALID_ANONYMOUS_USER:an},ln={"uni-id-token-expired":sn,"uni-id-check-token-failed":an,"uni-id-token-not-exist":an,"uni-id-check-device-feature-failed":an};function un(e,t){var n="";return n=e?"".concat(e,"/").concat(t):t,n.replace(/^\//,"")}function dn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=[],i=[];return e.forEach((function(e){!0===e.needLogin?n.push(un(t,e.path)):!1===e.needLogin&&i.push(un(t,e.path))})),{needLoginPage:n,notNeedLoginPage:i}}function fn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;var n=t.list,i=e.split("?")[0].replace(/^\//,"");return n.some((function(e){return e.pagePath===i}))}var hn,pn=!!a.default.uniIdRouter,gn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.default,t=e.pages,n=void 0===t?[]:t,i=e.subPackages,r=void 0===i?[]:i,o=e.uniIdRouter,s=void 0===o?{}:o,c=e.tabBar,l=void 0===c?{}:c,d=s.loginPage,f=s.needLogin,h=void 0===f?[]:f,p=s.resToLogin,g=void 0===p||p,v=dn(n),y=v.needLoginPage,m=v.notNeedLoginPage,x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=[],n=[];return e.forEach((function(e){var i=e.root,r=e.pages,o=void 0===r?[]:r,a=dn(o,i),s=a.needLoginPage,c=a.notNeedLoginPage;t.push.apply(t,u(s)),n.push.apply(n,u(c))})),{needLoginPage:t,notNeedLoginPage:n}}(r),A=x.needLoginPage,b=x.notNeedLoginPage;return{loginPage:d,routerNeedLogin:h,resToLogin:g,needLoginPage:[].concat(u(y),u(A)),notNeedLoginPage:[].concat(u(m),u(b)),loginPageInTabBar:fn(d,l)}}(),vn=gn.loginPage,yn=gn.routerNeedLogin,mn=gn.resToLogin,xn=gn.needLoginPage,An=gn.notNeedLoginPage,bn=gn.loginPageInTabBar;function wn(e){var t=function(e){var t=getCurrentPages(),n=t[t.length-1].route,i=e.charAt(0),r=e.split("?")[0];if("/"===i)return r;var o=r.replace(/^\//,"").split("/"),a=n.split("/");a.pop();for(var s=0;s-1)&&(xn.indexOf(t)>-1||yn.some((function(t){return function(e,t){return new RegExp(t).test(e)}(e,t)})))}function Sn(e,t){return"/"!==e.charAt(0)&&(e="/"+e),t?e.indexOf("?")>-1?e+"&uniIdRedirectUrl=".concat(encodeURIComponent(t)):e+"?uniIdRedirectUrl=".concat(encodeURIComponent(t)):e}function kn(){for(var e=["navigateTo","redirectTo","reLaunch","switchTab"],t=function(t){var n=e[t];i.addInterceptor(n,{invoke:function(e){var t,r=Dt(),o=r.token,a=r.tokenExpired;if(o){if(a0)return setTimeout((function(){ge(se,t)}),0),e.url="",!1;if(!vn)return e;var l=Sn(vn,t.uniIdRedirectUrl);if(bn){if("navigateTo"===n||"redirectTo"===n)return setTimeout((function(){i.switchTab({url:l})})),!1}else if("switchTab"===n)return setTimeout((function(){i.navigateTo({url:l})})),!1;e.url=l}return e}})},n=0;n0&&void 0!==arguments[0]?arguments[0]:{},t=fe(se),n=getCurrentPages(),r=n[n.length-1],o=r&&r.$page&&r.$page.fullPath;if(t.length>0)return ge(se,Object.assign({uniIdRedirectUrl:o},e));vn&&i.navigateTo({url:Sn(vn,o)})}(n)}))}function On(e){e.onNeedLogin=function(e){he(se,e)},e.offNeedLogin=function(e){pe(se,e)},pn&&(Y("uni-cloud-status").needLoginInit||(Y("uni-cloud-status").needLoginInit=!0,function t(){var n=getCurrentPages();n&&n[0]?kn.call(e):setTimeout((function(){t()}),30)}(),mn&&Tn.call(e)))}function Pn(e){!function(e){e.onResponse=function(e){he(ae,e)},e.offResponse=function(e){pe(ae,e)}}(e),On(e),function(e){e.onRefreshToken=function(e){he(ce,e)},e.offRefreshToken=function(e){pe(ce,e)}}(e)}var _n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Cn=/^(?:[A-Za-z\d+/]{4})*?(?:[A-Za-z\d+/]{2}(?:==)?|[A-Za-z\d+/]{3}=?)?$/;function En(){var e,t,n=Dt().token||"",i=n.split(".");if(!n||3!==i.length)return{uid:null,role:[],permission:[],tokenExpired:0};try{e=JSON.parse((t=i[1],decodeURIComponent(hn(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(n){throw new Error("获取当前用户信息出错,详细错误信息为:"+n.message)}return e.tokenExpired=1e3*e.exp,delete e.exp,delete e.iat,e}hn="function"!=typeof atob?function(e){if(e=String(e).replace(/[\t\n\f\r ]+/g,""),!Cn.test(e))throw new Error("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");var t;e+="==".slice(2-(3&e.length));for(var n,i,r="",o=0;o>16&255):64===i?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var Fn=D((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});var n="chooseAndUploadFile:ok",r="chooseAndUploadFile:fail";function o(e,t){return e.tempFiles.forEach((function(e,n){e.name||(e.name=e.path.substring(e.path.lastIndexOf("/")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+"_"+n+e.name.substring(e.name.lastIndexOf("."))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((function(e){return e.path}))),e}function a(e,t,i){var r=i.onChooseFile,o=i.onUploadProgress;return t.then((function(e){if(r){var t=r(e);if(void 0!==t)return Promise.resolve(t).then((function(t){return void 0===t?e:t}))}return e})).then((function(t){return!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:5,r=arguments.length>3?arguments[3]:void 0;(t=Object.assign({},t)).errMsg=n;var o=t.tempFiles,a=o.length,s=0;return new Promise((function(n){for(;s=a)!o.find((function(e){return!e.url&&!e.errMsg}))&&n(t);else{var l=o[i];e.uploadFile({filePath:l.path,cloudPath:l.cloudPath,fileType:l.fileType,onUploadProgress:function(e){e.index=i,e.tempFile=l,e.tempFilePath=l.path,r&&r(e)}}).then((function(e){l.url=e.fileID,i0&&void 0!==arguments[0]?arguments[0]:{type:"all"};return"image"===t.type?a(e,function(e){var t=e.count,n=e.sizeType,a=e.sourceType,s=void 0===a?["album","camera"]:a,c=e.extension;return new Promise((function(e,a){i.chooseImage({count:t,sizeType:n,sourceType:s,extension:c,success:function(t){e(o(t,"image"))},fail:function(e){a({errMsg:e.errMsg.replace("chooseImage:fail",r)})}})}))}(t),t):"video"===t.type?a(e,function(e){var t=e.camera,n=e.compressed,a=e.maxDuration,s=e.sourceType,c=void 0===s?["album","camera"]:s,l=e.extension;return new Promise((function(e,s){i.chooseVideo({camera:t,compressed:n,maxDuration:a,sourceType:c,extension:l,success:function(t){var n=t.tempFilePath,i=t.duration,r=t.size,a=t.height,s=t.width;e(o({errMsg:"chooseVideo:ok",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||"",path:n,size:r,type:t.tempFile&&t.tempFile.type||"",width:s,height:a,duration:i,fileType:"video",cloudPath:""}]},"video"))},fail:function(e){s({errMsg:e.errMsg.replace("chooseVideo:fail",r)})}})}))}(t),t):a(e,function(e){var t=e.count,n=e.extension;return new Promise((function(e,a){var s=i.chooseFile;if("undefined"!=typeof wx&&"function"==typeof wx.chooseMessageFile&&(s=wx.chooseMessageFile),"function"!=typeof s)return a({errMsg:r+" 请指定 type 类型,该平台仅支持选择 image 或 video。"});s({type:"all",count:t,extension:n,success:function(t){e(o(t))},fail:function(e){a({errMsg:e.errMsg.replace("chooseFile:fail",r)})}})}))}(t),t)}}})),In=L(Fn),Ln="manual";function Dn(e){return{props:{localdata:{type:Array,default:function(){return[]}},options:{type:[Object,Array],default:function(){return{}}},spaceInfo:{type:Object,default:function(){return{}}},collection:{type:[String,Array],default:""},action:{type:String,default:""},field:{type:String,default:""},orderby:{type:String,default:""},where:{type:[String,Object],default:""},pageData:{type:String,default:"add"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:""},limitlevel:{type:Number,default:10},groupby:{type:String,default:""},groupField:{type:String,default:""},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:""},loadtime:{type:String,default:"auto"},manual:{type:Boolean,default:!1}},data:function(){return{mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:"",mixinDatacomPage:{}}},created:function(){var e=this;this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((function(){var t=[];return["pageCurrent","pageSize","localdata","collection","action","field","orderby","where","getont","getcount","gettree","groupby","groupField","distinct"].forEach((function(n){t.push(e[n])})),t}),(function(t,n){if(e.loadtime!==Ln){for(var i=!1,r=[],o=2;o0&&void 0!==arguments[0]?arguments[0]:{},n=t.getone,i=void 0!==n&&n,r=t.success,o=t.fail;this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage="",this.mixinDatacomGet().then((function(t){e.mixinDatacomLoading=!1;var n=t.result,o=n.data,a=n.count;e.getcount&&(e.mixinDatacomPage.count=a),e.mixinDatacomHasMore=o.length0&&void 0!==arguments[0]?arguments[0]:{},i=e.database(this.spaceInfo),r=n.action||this.action;r&&(i=i.action(r));var o=n.collection||this.collection;i=Array.isArray(o)?(t=i).collection.apply(t,u(o)):i.collection(o);var a=n.where||this.where;a&&Object.keys(a).length&&(i=i.where(a));var s=n.field||this.field;s&&(i=i.field(s));var c=n.foreignKey||this.foreignKey;c&&(i=i.foreignKey(c));var l=n.groupby||this.groupby;l&&(i=i.groupBy(l));var d=n.groupField||this.groupField;d&&(i=i.groupField(d)),!0===(void 0!==n.distinct?n.distinct:this.distinct)&&(i=i.distinct());var f=n.orderby||this.orderby;f&&(i=i.orderBy(f));var h=void 0!==n.pageCurrent?n.pageCurrent:this.mixinDatacomPage.current,p=void 0!==n.pageSize?n.pageSize:this.mixinDatacomPage.size,g=void 0!==n.getcount?n.getcount:this.getcount,v=void 0!==n.gettree?n.gettree:this.gettree,y=void 0!==n.gettreepath?n.gettreepath:this.gettreepath,m={getCount:g},x={limitLevel:void 0!==n.limitlevel?n.limitlevel:this.limitlevel,startWith:void 0!==n.startwith?n.startwith:this.startwith};return v&&(m.getTree=x),y&&(m.getTreePath=x),i=i.skip(p*(h-1)).limit(p).get(m),i}}}}function Mn(e){return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return e.customUI=t.customUI||e.customUI,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),e}({customUI:!1,loadingOptions:{title:"加载中...",mask:!0},errorOptions:{type:"modal",retry:!1}},n);var o=n,a=o.customUI,s=o.loadingOptions,c=o.errorOptions,u=!a;return new Proxy({},{get:function(n,o){return function(){var n=l(r.default.mark((function n(){var d,f,h,p,g,v,y,m,x,b,w,S=arguments;return r.default.wrap((function(n){while(1)switch(n.prev=n.next){case 0:for(u&&i.showLoading({title:s.title,mask:s.mask}),f=S.length,h=new Array(f),p=0;p0&&void 0!==l[0]?l[0]:{},n=t.title,o=t.content,a=t.showCancel,s=t.cancelText,c=t.confirmText,e.abrupt("return",new Promise((function(e,t){i.showModal({title:n,content:o,showCancel:a,cancelText:s,confirmText:c,success:function(t){e(t)},fail:function(){e({confirm:!1,cancel:!0})}})})));case 2:case"end":return e.stop()}}),e)})))({title:"提示",content:y,showCancel:c.retry,cancelText:"取消",confirmText:c.retry?"重试":"确定"});case 22:if(x=n.sent,b=x.confirm,!c.retry||!b){n.next=26;break}return n.abrupt("return",a.apply(void 0,h));case 26:throw w=new me({code:v,message:y,requestId:d.requestId}),w.detail=d.result,ge(ae,{type:de,content:w}),w;case 28:return n.abrupt("return",(ge(ae,{type:de,content:d.result}),d.result));case 29:case"end":return n.stop()}}),n,null,[[2,8]])})));function a(){return n.apply(this,arguments)}return a}()}})}}function Rn(e,t){return Kn.apply(this,arguments)}function Kn(){return Kn=l(r.default.mark((function e(t,n){var i,o,a;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return i="http://".concat(t,":").concat(n,"/system/ping"),e.prev=1,e.next=4,a={url:i,timeout:500},new Promise((function(e,t){Se.request(A(A({},a),{},{success:function(t){e(t)},fail:function(e){t(e)}}))}));case 4:return o=e.sent,e.abrupt("return",!(!o.data||0!==o.data.code));case 8:return e.prev=8,e.t0=e["catch"](1),e.abrupt("return",!1);case 11:case"end":return e.stop()}}),e,null,[[1,8]])}))),Kn.apply(this,arguments)}function jn(e){if(!e.initUniCloudStatus||"rejected"===e.initUniCloudStatus){var t,n=Promise.resolve();t=1,n=new Promise((function(e,n){setTimeout((function(){e()}),t)})),e.isReady=!1,e.isDefault=!1;var o=e.auth();e.initUniCloudStatus="pending",e.initUniCloud=n.then((function(){return o.getLoginState()})).then((function(e){return e?Promise.resolve():o.signInAnonymously()})).then((function(){if(!H)return Promise.resolve();if("app"===W&&"ios"===i.getSystemInfoSync().osName){var t=i.getSystemInfoSync(),n=t.osName,o=t.osVersion;"ios"===n&&function(e){if(!e||"string"!=typeof e)return 0;var t=e.match(/^(\d+)./);return t&&t[1]?parseInt(t[1]):0}(o)>=14&&console.warn("iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发模式生效,发行模式会连接uniCloud云端服务)")}if(H&&e.debugInfo){var a=e.debugInfo,s=a.address,c=a.servePort;return function(){var e=l(r.default.mark((function e(t,n){var i,o,a;return r.default.wrap((function(e){while(1)switch(e.prev=e.next){case 0:o=0;case 1:if(!(o0&&void 0!==arguments[0]?arguments[0]:{},n=t.address,i=t.port;if(!H)return Promise.resolve();var r=console["app"===W?"error":"warn"];if(n)e.localAddress=n,e.localPort=i;else if(e.debugInfo){var o="";"remote"===e.debugInfo.initialLaunchType?(e.debugInfo.forceRemote=!0,o="当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs"):o="无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs","web"===W&&(o+="\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式"),0===W.indexOf("mp-")&&(o+="\n- 小程序中如何使用uniCloud,请参考:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinmp"),r(o)}})).then((function(){Rt(),e.isReady=!0,e.initUniCloudStatus="fulfilled"})).catch((function(t){console.error(t),e.initUniCloudStatus="rejected"}))}}var zn=new(function(){function e(){w(this,e)}return m(e,[{key:"init",value:function(e){var t={},n=H&&("web"===W&&navigator.userAgent.indexOf("HBuilderX")>0||"app"===W);switch(e.provider){case"tcb":case"tencent":t=Lt.init(Object.assign(e,{debugLog:n}));break;case"aliyun":t=_e.init(Object.assign(e,{debugLog:n}));break;case"private":t=jt.init(Object.assign(e,{debugLog:n}));break;default:throw new Error("未提供正确的provider参数")}var i=V;return H&&i&&!i.code&&(t.debugInfo=i),jn(t),t.reInit=function(){jn(this)},Vt(t),function(e){var t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),on(t),function(e){e.getCurrentUserInfo=En,e.chooseAndUploadFile=In.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return Dn(e)}}),e.importObject=Mn(e)}(t),["callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","chooseAndUploadFile"].forEach((function(e){if(t[e]){var n=t[e];t[e]=function(){return t.reInit(),n.apply(t,Array.from(arguments))},t[e]=ve(t[e],e).bind(t)}})),t.init=this.init,t}}]),e}());(function(){var e=q,t={};if(1===e.length)t=e[0],zn=zn.init(t),zn.isDefault=!0;else{var n,i=["auth","callFunction","uploadFile","deleteFile","getTempFileURL","downloadFile","database","getCurrentUSerInfo","importObject"];n=e&&e.length>0?"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间":J?"应用未关联服务空间,请在uniCloud目录右键关联服务空间":"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间",i.forEach((function(e){zn[e]=function(){return console.error(n),Promise.reject(new me({code:"SYS_ERR",message:n}))}}))}Object.assign(zn,{get mixinDatacom(){return Dn(zn)}}),Pn(zn),zn.addInterceptor=te,zn.removeInterceptor=ne,H&&"web"===W&&(window.uniCloud=zn)})();var Un=zn;t.default=Un}).call(this,n("c8ba"),n("543d")["default"])},aa0f:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i="https://fx.anxincloud.cn",r="https://fx.anxincloud.cn",o="https://121.36.37.70:8204",a="https://121.36.37.70:8204",s=!0,c={domain:s?r:a,api:s?i:o};t.default=c},b313:function(e,t,n){"use strict";var i=String.prototype.replace,r=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return i.call(e,r,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},bae0:function(e,t){e.exports="data:image/png;base64,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UmVhZHlxyWU8AAADKmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMzIgNzkuMTU5Mjg0LCAyMDE2LzA0LzE5LTEzOjEzOjQwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpGRkE0MjcxNTdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpGRkE0MjcxNDdEQzYxMUU4QkZBOERDOEVCQ0U0NTBGMSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNS41IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QkE4RkFCN0M3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QkE4RkFCN0Q3REM1MTFFOEJGQThEQzhFQkNFNDUwRjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5BZZ+3AAAB1ElEQVR42mJkAALtmZb/GfAAJkIKwIoYiAA4FV1JO0Ylk0hWxILLHTgV6cyywqoIIIAYiQinb8S4iYs036E7esgEJq6ABAGAACImMBmo5m6yDcLlR5gcNnnaumhADWIhJoOTbRC+9ILPa9+o4TWAAAIlyDVAOphCc1SYqGAICNwZxumIidi8NILz2qhBdCyPaOcicgq1wRnYAAFErRKSgZo+GzSOoWpQD1sHsRCjCDnzkpp90DM+If2jUTbqoFEHjZZDpJYroyFESeNmNFHTykEqg8g9bwACCNRiVAYyLgEx1wA7Zu3V9OMhVBt1opajBlsaCh7NZaMOGnXQgFeupHZjKO1CjUbZqINGHTTqoFEHjTpo1EGjDhqMgw342kejUTaahggpoOdg1WiUjTpoODoIvL7tzSBykB5AgPbtGIdBGIYCaBR16swROEQvzT06cxjm1lRFDC0LcpXC+xJzpIdJhOW8e4z359MVWSde1C32xRYasC0mCmascDZzrQz+7NgABAgQINnRY/iUrb5D9v9l9toqCBAgQIAAAQIESAABAgQIEKCD5ZK9QPaMigoCdIJP7NdjOyoIECBAgGQBGjB8zVDjam153T0OqInJbBAWfdg8AExKZVcA71uIAAAAAElFTkSuQmCC"},bbdd:function(e,t,n){var i=function(){return this||"object"===typeof self&&self}()||Function("return this")(),r=i.regeneratorRuntime&&Object.getOwnPropertyNames(i).indexOf("regeneratorRuntime")>=0,o=r&&i.regeneratorRuntime;if(i.regeneratorRuntime=void 0,e.exports=n("96cf"),r)i.regeneratorRuntime=o;else try{delete i.regeneratorRuntime}catch(a){i.regeneratorRuntime=void 0}},bc24:function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=a(n("6c87")),r=a(n("bf21")),o=a(n("3df5"));function a(e){return e&&e.__esModule?e:{default:e}}var s={checkAuth:function(e){console.log(1),this.getLocalUserInfo()?(console.log(2),e(!0)):(console.log(3),e(!1),console.log("未获取到用户本地数据,去获取授权设置",22222222),this.askLogin())},getLocalUserInfo:function(){var t=e.getStorageSync("token");return console.log("从本地存储中获取用户数据",t,11111111),!!t&&(!!t.token&&(i.default.commit("saveToken",t),!0))},noCase:function(){o.default.showError("案件不存在"),setTimeout((function(){e.switchTab({url:"/pages/case/caseList/caseList"})}),1500)},askLogin:function(){e.showModal({title:"尚未登录",content:"前往授权登录页面吗?",success:function(t){console.log(t),t.confirm&&e.navigateTo({url:"/pages/login/login"})}})},getUserProfile:function(e){var t=this;console.log(e),wx.getUserProfile({lang:"zh_CN",desc:"用于完善会员资料",success:function(n){t.login(e,n)},fail:function(e){console.error("获取用户身份信息失败了",e),o.default.showError("获取失败")}})},login:function(t){e.showLoading({title:"登录中"}),wx.login({success:function(n){console.log(n,"----------- login获取的 -----------");var a=n.code;console.log(n.code),r.default.post("/api/Accounts/SignIn",{wechatToken:a,username:t.name,password:t.password},(function(t,n){if(e.hideLoading(),console.log(t,n,"----------后端传回来的----------"),500==n.status)return o.default.showError("用户名或密码错误");e.setStorageSync("token",n),i.default.commit("saveToken",n),console.log(i.default.state.token),r.default.get("/api/Accounts/Profile",{},(function(t,n){console.log(n),e.setStorageSync("user",n),e.reLaunch({url:"/pages/index/index"})}))}))},fail:function(e){console.error(e,8877897)}})},logout:function(){i.default.state.user={user:null,path:"/pages/login/login"},i.default.commit("saveToken",null),e.clearStorage(),e.reLaunch({url:"/pages/login/login"}),console.log("退出登录。。。",this.user)}},c=s;t.default=c}).call(this,n("543d")["default"])},bf21:function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i=s(n("a34a")),r=s(n("aa0f")),o=s(n("3df5")),a=s(n("6c87"));function s(e){return e&&e.__esModule?e:{default:e}}function c(e,t,n,i,r,o,a){try{var s=e[o](a),c=s.value}catch(l){return void n(l)}s.done?t(c):Promise.resolve(c).then(i,r)}function l(e){return function(){var t=this,n=arguments;return new Promise((function(i,r){var o=e.apply(t,n);function a(e){c(o,i,r,a,s,"next",e)}function s(e){c(o,i,r,a,s,"throw",e)}a(void 0)}))}}var u={getToken:function(){var t=a.default.state.token;t&&this.post("/api/Accounts/RefreshToken",{token:t.token,refreshToken:t.refreshToken},(function(t,n){a.default.commit("saveToken",n),e.setStorageSync("token",n)}))},uploadFile:function(t,n){var i=a.default.state.token||{};console.log(t,n,2222222),e.uploadFile({url:r.default.domain+"/api/Objects/integration/xxx",filePath:t,name:"file",header:{Authorization:"Bearer "+i.token||!1},success:function(e){console.log(e,333333);var t=JSON.parse(e.data);-100==t.status?o.default.askLogin():-1==t.status?o.default.showError(t.msg):n(t.data,t)}})},uploadFile2:function(t,n,i){var s=a.default.state.user||{};if(!s.lawyerInfo)return o.default.askLogin();console.log("1111111111111"+t),console.log("2222222222222"+n),console.log("3333333333333"+i),e.uploadFile({url:r.default.domain+"/file/uploadFile2",filePath:t,name:"file",formData:n,header:{token:s.lawyerInfo.token||"",login_type:s.login_type||0,who:s.who},success:function(e){console.log(e);var t=JSON.parse(e.data);-100==t.status?o.default.askLogin():-1==t.status?o.default.showError(t.msg):i(t.data,t)}})},get:function(t,n,s){var c=this;return l(i.default.mark((function l(){var u;return i.default.wrap((function(i){while(1)switch(i.prev=i.next){case 0:return c.getToken(),u=a.default.state.token||{},i.next=4,e.request({url:r.default.api+t,method:"GET",data:n,header:{Authorization:"Bearer "+u.token||!1,"content-type":"application/json"},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?o.default.showError(t.msg):s(t.data,t)}});case 4:case"end":return i.stop()}}),l)})))()},post:function(t,n,i){"/api/Accounts/RefreshToken"!=t&&s!={}&&this.getToken();var s=a.default.state.token||{};try{e.request({url:r.default.api+t,method:"POST",data:n,header:{Authorization:"Bearer "+s.token||!1},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?(o.default.showError(t.msg),i(t.data,t)):i(t.data,t)},fail:function(e){console.error(e,8877897)}})}catch(c){console.log(c)}},patch:function(t,n,i){"/api/Accounts/RefreshToken"!=t&&s!={}&&this.getToken();var s=a.default.state.token||{};try{e.request({url:r.default.api+t,method:"PATCH",data:n,header:{Authorization:"Bearer "+s.token||!1},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?(o.default.showError(t.msg),i(t.data,t)):i(t.data,t)},fail:function(e){console.error(e,8877897)}})}catch(c){console.log(c)}},get2:function(t,n,i){var s=a.default.state.user||{};e.request({url:r.default.domain+t,method:"GET",data:n,header:{token:s.token||"",login_type:s.login_type||0},success:function(e){var t=e.data;-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?o.default.showError(t.msg):i(t.data,t)}})},post2:function(t,n,i){var s=a.default.state.user||{};try{e.request({url:r.default.domain+t,method:"POST",data:n,header:{token:s.lawyerInfo.token||"",login_type:s.login_type||0,who:s.who},success:function(e){var t=e.data;console.log(t,"------------- 请求返回的数据 -------------"),-100==t.status?(console.log("没有登录"),o.default.askLogin()):-1==t.status?(o.default.showError(t.msg),i(t.data,t)):i(t.data,t)},fail:function(e){console.error(e,8877897)}})}catch(c){console.log(c)}}},d=u;t.default=d}).call(this,n("543d")["default"])},c8ba:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(i){"object"===typeof window&&(n=window)}e.exports=n},cb9a:function(e,t){e.exports="/static/login/title.png"},ccbb:function(e,t){e.exports="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAFVAVYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK47xt4olsX+w2j7JCMySL1HsK3o0ZV5qETOpUVOPMzqLjUrS1bbPdQwt6SSBT+pqL+3dN/wCgha/9/wBf8a8eZizFmJJPJJpK9xZVG2szz/rj6I9shuIrlN8MqSp/eRgR+lSV4xp+pXGl3Amt5WjcdcdD7EV6toOsJremx3Kja/3XX0Ydf8+9edisFLDe8ndHVRxCq6bM0aKKK806gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKbI4jjZz0UZNAFDWNetNEiDXEnzN92NeWNczJ8Sl3HZZEr/tPXJaxqMmqahNcSNnc3y+w7CqdfUUcupRivaas8epipt+7ojt/wDhZX/Tl/4//wDWrktVvzqmoT3RXaZGztznFVaK7qWGpUXzU1ZnPOrOorSYUUUV1GQVveG/FTeH4Z4/J85ZGDD5sYrBorOpTjVjyTV0VGTg+aJ2/wDwsr/py/8AH/8A61H/AAsr/py/8f8A/rVxFFcf1DD/AMv5m/1mr3O3/wCFlf8ATl/4/wD/AFqP+Flf9OX/AI//APWriKKPqGH/AJfzD6zV7nb/APCyv+nL/wAf/wDrU+P4lJuHmWTBf9l+a4Wij+z8P/L+LD6zV7nsOk61a61D5ltJkj7yHhl/Cr9eQaBqj6TqkMythdwVx2KnrXrwORmvn8Zhvq01bZnp0K3tY67oWiiivPOkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgvf+POf/rm38qnqC9/485/+ubfyqo/EhPY8Wooor74+bCiiigAoorR0fQbvXJttumEH3pG4UVMpRguaTshqLk7IzqK9H0/4fWFuoNyz3Unfnav5Dn9a0f8AhEtI24+xR4/HNeVLM6MXZJs7FhKjWp5PRXouofD2xuEJtHe1k7Ancv68/rXE6tol1os3l3MeAfuuvKt9DXXRxdKvpF69jGpRnT1aKFABJwOTRWj4daFdcsjPjy/NGc9M9v1xXTOXLFy7GMVzNIuw+CdVntxMIVXIyFZgG/KsSeCS1maKVDHIpwVYcivba81+IDRNrg8vG8RgPj1ryMHjaleo4SR3V8PGnHmTOZr26P7i/SvEa9uj/wBWv0rHNvsfP9C8H9r5DqKKK+fPTCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACoL3/jzn/65t/Kp6gvf+POf/rm38qqPxIT2PFqKKK++PmwooooA0NC0iTWtQjt1+Vert/dXvXrFjYw6dbJBboI41GAB/M1zPw7sRFp0t0R88r7QfYV11fKZhXdSq4LZHs4Wmow5urCiiivKOwKq6jp8GqWr29wm5GH4g+oq1RTUnF3QmrqzPG9Y0yTSNQltpOdp+VvUdjVOu8+JFiGt7a8A+ZW8pvoQSP5H864OvtMLW9vSU3ueDWh7ObibEPi7VYLcQrdtsAwMgEj8ayZZXmkaSRi7sclmOSabRW8acINuKsZuUpbsK9uj/wBWv0rxGvbo/wDVr9K8PNvsfP8AQ9DB/a+Q6iiivnz0wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqC9/wCPOf8A65t/Kp6gvf8Ajzn/AOubfyqo/EhPY8Wooor74+bCiiigD1LwOQfDtvj1bP51vVxvw51APaz2bH5kbeo9j1rsq+KxcXCvNPue9RlzU0FFFFchuFFFFAHOePsf8I6+evmLj868yrufiPqA221kp5z5rj9B/M1w1fW5dFxoJvqeLipXqaBRRRXpnIFe3R/6tfpXiNe3R/6tfpXz+bfY+f6HpYP7XyHUUUV8+emFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFQXv/AB5z/wDXNv5VPUF7/wAec/8A1zb+VVH4kJ7Hi1FFFffHzYUUUUAW9K1KXSb6O5hPzKeV7EdxXrGk6tb6xaLPA2f7y91Poa8cqzp+pXOl3AmtpWjfvjofYivOxeDWJV1pJHVRruk7PY9noriNP+Iy7Qt5bEN3eI8flWj/AMLA0vbn99n02V87LB4iLtynprEU2r3OmrP1rWYNFs2mmb5uiR92NctqHxGypWyt8N/flP8ASuQvtQuNSuDNcytLIe7dvYeldmHy2cnerojCpioxVoasNQv5dSvJbmY5dzn6e1V6KK+mSUVZHkt3d2FFFFMAr26P/Vr9K8Rr26P/AFa/Svn82+x8/wBD0sH9r5DqKKK+fPTCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACoL3/AI85/wDrm38qnpGUOpU8gjBpp2dxHiFFaXiDR5dH1KSJ1PlsS0bdiKza+8hJTipR2Z85KLi7MKKKKsQUUUUAFFFFABRRRQAUUUUAFFFFABXt0f3F+leUeGdGk1jU4lC/uY2DSN2wO3416xXzmazTlGC3Vz1MHFpOQtFFFeEeiFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFa+0621KHyrmFZU/2u30Paufk+HemMxIkuUH91XXA/Na6mit6derSVoSsZypwnrJHK/wDCudN/573X/fa//E0f8K503/nvdf8Afa//ABNdVRWv1zEfzsj2FP8AlOV/4Vzpv/Pe6/77X/4mj/hXOm/897r/AL7X/wCJrqqKPrmI/nYewp/ynK/8K503/nvdf99r/wDE0f8ACudN/wCe91/32v8A8TXVUUfXMR/Ow9hT/lOV/wCFc6b/AM97r/vtf/iaP+Fc6b/z3uv++1/+JrqqKPrmI/nYewp/ynK/8K503/nvdf8Afa//ABNH/CudN/573X/fa/8AxNdVRR9cxH87D2FP+U5X/hXOm/8APe6/77X/AOJp0fw70uNwWkuZB/dZxg/kBXUUUfXK/wDOw9hT/lK9nY2+nwiK3iWKMdlFWKKK5G3J3ZttogooopDCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiisLXNauNP1jS7aLZ5dy5V9wyfwoA3aKK5rxh4ofQo4orULJ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jTI/nWZ8O4nXSZ5HRkWSdmXcMZFHQCrDZwX3xAvkuIkmQQAhXGRniuk/4R3TP+fCD/vgVyF7Nqdv44vX0y2S4mMQBWQgDbxzyRWh/aXjD/oFW/8A38X/AOLoAgurKCx8faalvCkKGIkqgwM81veLdPn1TQ57a2TzJmxhcgd/euXtpNUuPG2nvqdqtvKEIAjIIxg+hNdN4s1l9H0w+QjPczHy4woJwT3oAwbHweb618sa7MxRdksSEMEPdetXdU8Ky3Xh6y0+wuYna1mD+ZKcA4B9AeeRWj4T0P8AsPSlSTm5mPmTN/tHt+FZvgIPBJrFsVIWO53DI9cj+lACRR+KZGdI9S012j4ZVySPr8tUl0vVdV8QWZvNQsJpbGRZGiiJDBdwJ42+1XIIZdJ8fyiNGNtfRbm2jgN6n8QfzpPGFhNpt5ba7YqfNiYLMi/xKeM/0/EUAdhRUVrOLq3ilCsgdQ21hgjPapaQBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFNaNGYMyqzL0JHIp1FABRRRQAUUUUAFFFFABRRRQAUlLRQAUUUUAFFFFADHiSTG9FbHTcM07p0paKAG+WgcuFUN/exzTqKKAE2jOcc0FQ3BGaWigApKWigApKWigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9k="},cde0:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i={pages:[{path:"pages/login/login",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/task/implement",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/user/changePassword/changePassword",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/demo/demo",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/task/details",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/task/taskreceive",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/index/index",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/user/user",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#317AFF",navigationBarTitleText:"",navigationBarTextStyle:"white"}},{path:"pages/dadui/jiancha/jiancha",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/dadui/jiuyuan/jiuyuan",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}},{path:"pages/task/taskapply",style:{backgroundTextStyle:"light",navigationBarBackgroundColor:"#57B5FF",navigationBarTitleText:"消防一体化综合治理平台",navigationBarTextStyle:"white"}}],globalStyle:{navigationBarTextStyle:"black",navigationBarTitleText:"uni-app",navigationBarBackgroundColor:"#F8F8F8",backgroundColor:"#F8F8F8"},tabBar:{color:"#353535",selectedColor:"#5187FF",list:[{pagePath:"pages/index/index",iconPath:"static/tab/43251.png",selectedIconPath:"static/tab/4325.png",text:"工作任务"},{pagePath:"pages/task/taskapply",iconPath:"static/tab/43281.png",selectedIconPath:"static/tab/4328.png",text:"申请"},{pagePath:"pages/task/taskreceive",iconPath:"static/tab/43281.png",selectedIconPath:"static/tab/4328.png",text:"领取"},{pagePath:"pages/user/user",iconPath:"static/tab/user.png",selectedIconPath:"static/tab/user1.png",text:"我的"}]}};t.default=i},d233:function(e,t,n){"use strict";var i=Object.prototype.hasOwnProperty,r=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),o=function(e){var t;while(e.length){var n=e.pop();if(t=n.obj[n.prop],Array.isArray(t)){for(var i=[],r=0;r=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?n+=t.charAt(i):o<128?n+=r[o]:o<2048?n+=r[192|o>>6]+r[128|63&o]:o<55296||o>=57344?n+=r[224|o>>12]+r[128|o>>6&63]+r[128|63&o]:(i+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(i)),n+=r[240|o>>18]+r[128|o>>12&63]+r[128|o>>6&63]+r[128|63&o])}return n},d=function(e){for(var t=[{obj:{o:e},prop:"o"}],n=[],i=0;i0&&void 0!==arguments[0]?arguments[0]:{};n(this,t),this.baseUrl=e.baseUrl||"",this.url=e.url||"",this.method="GET",this.data=null,this.header=e.header||{},this.beforeRequest=null,this.afterRequest=null}return r(t,[{key:"get",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="GET",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"post",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="POST",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"put",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="PUT",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"delete",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.method="DELETE",this.url=this.baseUrl+e,this.data=t,this._()}},{key:"_",value:function(){var t=this;return this.header={},this.beforeRequest&&"function"===typeof this.beforeRequest&&this.beforeRequest(this),new Promise((function(n,i){var r=wx;"undefined"!==typeof e&&(r=e),r.request({url:t.url,method:t.method,data:t.data,header:t.header,success:function(e){n(e)},fail:function(e){i(e)},complete:function(e){t.afterRequest&&"function"===typeof t.afterRequest&&t.afterRequest(e)}})}))}}]),t}(),a=new o;t.$http=a}).call(this,n("543d")["default"])}}]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.js b/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.js index 5f9e8c0..e571a06 100644 --- a/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.js +++ b/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.js @@ -1 +1 @@ -(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/dadui/jiancha/jiancha"],{"1b1f":function(t,e,n){"use strict";n.r(e);var a=n("80cd"),o=n("dff2");for(var r in o)"default"!==r&&function(t){n.d(e,t,(function(){return o[t]}))}(r);n("4eb5");var i,u=n("f0c5"),c=Object(u["a"])(o["default"],a["b"],a["c"],!1,null,null,null,!1,a["a"],i);e["default"]=c.exports},"4eb5":function(t,e,n){"use strict";var a=n("9e48"),o=n.n(a);o.a},"6c1d":function(t,e,n){"use strict";(function(t){n("899b");a(n("66fd"));var e=a(n("1b1f"));function a(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=n,t(e.default)}).call(this,n("543d")["createPage"])},"80cd":function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return r})),n.d(e,"a",(function(){return a}));var a={qiunDataCharts:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(n.bind(null,"0394"))}},o=function(){var t=this,e=t.$createElement,a=(t._self._c,n("87b3")),o=n("8a99"),r=n("87b3"),i=n("aa5a"),u=n("87b3"),c=n("3810");t.$mp.data=Object.assign({},{$root:{m0:a,m1:o,m2:r,m3:i,m4:u,m5:c}})},r=[]},"9e48":function(t,e,n){},ac73:function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{title:"Hello",identity:0,progressNub:60,chartData:{},year:2022,opts:{rotate:!1,rotateLock:!1,color:["#FACE15","#04F1C9","#3990F1"],padding:[5,5,5,5],dataLabel:!1,legend:{show:!1,fontColor:"#fff",position:"right",lineHeight:20},title:{name:"任务总数",fontSize:15,color:"#fff"},subtitle:{name:"20",fontSize:25,color:"#fff"},extra:{ring:{width:50,height:50,ringWidth:10,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,customRadius:60,borderWidth:3,borderColor:"#FFFFFF",centerColor:"#57B5FF",linearType:"none"}}},list:[{name:"上海雅特有限公司",tag:{class:"",text:"重点单位"},type:"双随机",result:"责令限期整改"}],month:[1,2,3,4,5,6,7,8,9,10,11,12]}},onLoad:function(){var e=t.getStorageSync("user");e&&(this.identity=1)},onReady:function(){this.getServerData()},methods:{getServerData:function(){var t=this;setTimeout((function(){var e={series:[{data:[{name:"一班",value:50},{name:"二班",value:30},{name:"三班",value:20}]}]};t.chartData=JSON.parse(JSON.stringify(e))}),500)},date:function(t){console.log(t)}}};e.default=n}).call(this,n("543d")["default"])},dff2:function(t,e,n){"use strict";n.r(e);var a=n("ac73"),o=n.n(a);for(var r in a)"default"!==r&&function(t){n.d(e,t,(function(){return a[t]}))}(r);e["default"]=o.a}},[["6c1d","common/runtime","common/vendor"]]]); \ No newline at end of file +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/dadui/jiancha/jiancha"],{"1b1f":function(t,e,n){"use strict";n.r(e);var a=n("6a4f"),o=n("dff2");for(var r in o)"default"!==r&&function(t){n.d(e,t,(function(){return o[t]}))}(r);n("4eb5");var i,s=n("f0c5"),u=Object(s["a"])(o["default"],a["b"],a["c"],!1,null,null,null,!1,a["a"],i);e["default"]=u.exports},"4eb5":function(t,e,n){"use strict";var a=n("9e48"),o=n.n(a);o.a},"6a4f":function(t,e,n){"use strict";n.d(e,"b",(function(){return o})),n.d(e,"c",(function(){return r})),n.d(e,"a",(function(){return a}));var a={qiunDataCharts:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(n.bind(null,"0394"))}},o=function(){var t=this,e=t.$createElement,a=(t._self._c,n("a209")),o=n("87b3"),r=n("8a99"),i=t.__map(t.list,(function(e,a){var o=t.__get_orig(e),r=t.__map(e.supervisors,(function(e,a){var o=t.__get_orig(e),r=e.posts&&"主查人员"==e.posts[0]?n("6246"):null,i=e.posts&&"协查人员"==e.posts[0]?n("2657"):null;return{$orig:o,m3:r,m4:i}})),i="待检查"!=e.approvalStatus&&"未发现违法违规情况"==e.inspectionResult?n("6924"):null,s="待检查"!=e.approvalStatus&&"未发现违法违规情况"!=e.inspectionResult&&"责令限期改正"==e.inspectionResult?n("3181"):null;return{$orig:o,l0:r,m5:i,m6:s}}));t.$mp.data=Object.assign({},{$root:{m0:a,m1:o,m2:r,l1:i}})},r=[]},"6c1d":function(t,e,n){"use strict";(function(t){n("899b");a(n("66fd"));var e=a(n("1b1f"));function a(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=n,t(e.default)}).call(this,n("543d")["createPage"])},"9e48":function(t,e,n){},ac73:function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{title:"Hello",identity:0,progressNub:60,chartData:[],dates:{year:2022,month:8,day:0},today:{month:8},opts:[],user:[{tasknub:0}],isSupervisor:!1,list:[],month:0,nub:0,months:[1,2,3,4,5,6,7,8,9,10,11,12]}},onLoad:function(){t.getStorageSync("user");var e=new Date;this.dates.month=e.getMonth()+1,this.today.month=e.getMonth()+1,this.month=e.getMonth()+1,this.dates.year=e.getFullYear(),this.dates.day=e.getDate(),this.getSupervisorCount()},onReady:function(){this.identity=1},methods:{getSupervisorCount:function(){var e=this,n=this.dates.year+"-"+this.dates.month+"-01",a={month:n,organizationId:t.getStorageSync("user").organizationId};this.list=[],this.$request.get("/api/PlanTasks/GetSupervisorCount/",a,(function(t,n){console.log(n),e.user=n,e.chartData=[],e.opts=[];for(var a=0;a{{year}}|8.25{{''+item+''}}xx救援站任务总数20完成率60%上级指派-------9个上级指派-------9个上级指派-------9个xx救援站任务总数20完成率60%上级指派-------9个上级指派-------9个上级指派-------9个xx救援站任务总数20完成率60%上级指派-------9个上级指派-------9个上级指派-------9个 \ No newline at end of file +{{dates.year}}|{{''+today.month+"."+dates.day+''}}{{item}}{{item.user.name+"任务总数"}}{{item['任务总数']}}{{item.name+"-------"+item.value+"个"}}1{{''+item.$orig.taskType+''}}{{''+item.$orig.company.companyName+''}}{{''+item.$orig.company.useNature+''}}{{''+item.$orig.company.useNature+''}}主负责人:{{item.$orig.organization.name}}{{''+item.$orig.approvalStatus+''}}协助人员:{{''+i.$orig.name+''}}检查时间:{{item.$orig.checkTime}}{{''+item.$orig.inspectionResult+''}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.wxss b/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.wxss index 3616b08..9ac6911 100644 --- a/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.wxss +++ b/unpackage/dist/build/mp-weixin/pages/dadui/jiancha/jiancha.wxss @@ -1 +1 @@ -.pure_top{width:100%;height:220rpx;position:relative;z-index:0;overflow:hidden}.pure_top::after{content:"";width:100%;height:220rpx;position:absolute;left:0;top:0;z-index:-1;border-radius:0 0 100% 100%;background:linear-gradient(180deg,#57b5ff,#616dfd)}.calendar{z-index:1;position:absolute;left:74rpx;top:20rpx;width:80%;height:120rpx;border-radius:10rpx;box-shadow:0 0 20px 1px #c1d7ff;background:#fff}.calendar view{height:60rpx}.calendar .dates{display:flex}.calendar .monthbox{display:flex;justify-content:center;align-items:center;flex-direction:row}.calendar .month{width:48rpx;height:48rpx;border-radius:48rpx;text-align:center}button{width:200rpx;height:80rpx;color:#fff;border-radius:40rpx;line-height:80rpx;background-color:#327afe}.taskbox{width:90%;margin:-60rpx auto 0 auto;border-radius:20rpx;background-color:#fff;padding:20rpx;position:absolute;left:16rpx;z-index:10}.taskbox .itembox{margin-top:30rpx}.taskbox .itembox .top{margin-top:30rpx;height:60rpx;display:flex}.taskbox .itembox .top .left{display:flex;flex:1}.taskbox .itembox .top .left ._img{width:50rpx;height:50rpx}.taskbox .itembox .top .left text{margin-right:10rpx}.taskbox .itembox .top .right{color:#909090;display:flex}.taskbox .itembox .top .right .progress{margin-top:6rpx;margin-right:10rpx;height:34rpx;flex:1;background:#e4e7ec}.taskbox .itembox .top .right .progress .color{height:100%;background-color:#14b389}.charts-box{height:250rpx;position:relative;display:flex;justify-content:center;align-items:center}.charts-box ._img{width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1}.charts-box .tagbox{color:#fff;display:flex;justify-content:center;align-items:center;margin:10rpx 0;font-size:32rpx}.charts-box .tagbox .tag{width:20rpx;height:20rpx;border-radius:20rpx}.logo{height:200rpx;width:200rpx;margin-top:200rpx;margin-left:auto;margin-right:auto;margin-bottom:50rpx}.text-area{display:flex;justify-content:center}.title{font-size:36rpx;color:#8f8f94}.login-box{display:flex;background:#8f8f94;width:100%;height:120rpx;position:fixed;bottom:0;left:0}.login-box .login-text{color:#fff;width:60%;display:flex;font-size:36rpx;padding-left:40rpx;align-items:center}.login-box .login-button{flex:1;text-align:center;margin-top:20rpx}.listbox{width:100%}.listbox .item{background-color:#fff;margin:20rpx 0;padding:20rpx}.listbox .item .namebox{display:flex;margin-bottom:30rpx}.listbox .item .namebox .name{font-weight:600;font-size:36rpx;width:70%;height:60rpx;line-height:60rpx}.listbox .item .namebox .tag{text-align:center;width:200rpx;height:60rpx;line-height:60rpx;color:#ff6f51;border:1px solid #ff6f51;background:rgba(255,111,81,.24);border-radius:40rpx 40rpx 40rpx 40rpx}.typebox{display:flex;margin:30rpx 0}.typebox .type{width:50%;border-left:#327afe 6rpx solid;font-size:30rpx;font-weight:600;padding-left:10rpx}.typebox .result{width:50%;text-align:right;color:#ff6f51}.staffbox{display:flex}.staffbox .staff{display:flex}.staffbox .staff view{margin-right:20rpx}.staffbox .implement{flex:1;margin-bottom:10rpx}.staffbox .implement button{float:right;width:120rpx;height:60rpx;line-height:60rpx;font-size:32rpx} \ No newline at end of file +.top{position:relative;top:0;left:0}.pure_top{width:100%;height:220rpx;position:absolute;z-index:0;overflow:hidden}.pure_top::after{content:"";width:100%;height:220rpx;position:absolute;left:0;top:0;z-index:-1;border-radius:0 0 100% 100%;background:linear-gradient(180deg,#57b5ff,#616dfd)}.month_color{border-radius:48rpx;background-color:#317aff;color:#fff}.month_color2{color:#b5b5b5}.calendar{z-index:1;position:relative;left:74rpx;top:20rpx;width:80%;height:120rpx;border-radius:10rpx;box-shadow:0 0 20px 1px #c1d7ff;background:#fff}.calendar view{height:60rpx}.calendar .date_year{box-sizing:border-box;display:flex;background-color:#fff;padding:10rpx 0 0 10rpx}.calendar .monthbox{display:flex;justify-content:center;align-items:center;flex-direction:row}.calendar .monthbox .month_class{width:48rpx;height:48rpx;text-align:center}button{width:140rpx;height:70rpx;color:#fff;border-radius:34rpx;line-height:70rpx;font-size:30rpx;background-color:#327afe}.taskbox{width:90%;margin:40rpx auto;border-radius:20rpx;background-color:#fff;padding:20rpx;position:relative;left:0;z-index:10}.taskbox .itembox .top{margin-top:30rpx;height:60rpx;display:flex}.taskbox .itembox .top .left{display:flex;flex:1}.taskbox .itembox .top .left ._img{width:50rpx;height:50rpx}.taskbox .itembox .top .left text{margin-right:10rpx}.taskbox .itembox .top .right{color:#909090;display:flex}.taskbox .itembox .top .right .progress{margin-top:6rpx;margin-right:10rpx;height:34rpx;flex:1;background:#e4e7ec}.taskbox .itembox .top .right .progress .color{height:100%;background-color:#14b389}.charts-box{height:250rpx;position:relative;display:flex;justify-content:center;align-items:center}.charts-box ._img{width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1}.charts-box .tagbox{color:#fff;display:flex;justify-content:center;align-items:center;margin:10rpx 0;font-size:32rpx}.charts-box .tagbox .tag{width:20rpx;height:20rpx;border-radius:20rpx}.logo{height:200rpx;width:200rpx;margin-top:200rpx;margin-left:auto;margin-right:auto;margin-bottom:50rpx}.text-area{display:flex;justify-content:center}.title{font-size:36rpx;color:#8f8f94}.login-box{display:flex;background:#8f8f94;width:100%;height:120rpx;position:fixed;bottom:0;left:0}.login-box .login-text{color:#fff;width:60%;display:flex;font-size:36rpx;padding-left:40rpx;align-items:center}.login-box .login-button{flex:1;text-align:center;margin-top:20rpx}.listbox{width:90%;margin:-10rpx auto 0 auto}.listbox .item{background-color:#fff;margin:20rpx 0;padding:20rpx}.listbox .item .namebox{display:flex;margin-bottom:10rpx}.listbox .item .namebox .name{font-weight:600;font-size:36rpx;width:70%;height:60rpx;line-height:60rpx}.listbox .item .namebox .tag{text-align:center;width:180rpx;height:60rpx;line-height:60rpx;color:#ff6f51;border:1px solid #ff6f51;background:rgba(255,111,81,.24);border-radius:40rpx 40rpx 40rpx 40rpx}.listbox .item .namebox .tag2{text-align:center;width:180rpx;height:60rpx;line-height:60rpx;color:#14b488;border:1px solid rgba(30,232,177,.8);background:rgba(30,232,177,.24);border-radius:40rpx 40rpx 40rpx 40rpx}.typebox{display:flex;margin:14rpx 0}.typebox .type{width:50%;font-size:32rpx;font-weight:600;padding-left:10rpx}.typebox .result{width:50%;text-align:right;color:#ff6f51}.staffbox{display:flex;margin:6rpx 0;font-size:30rpx}.staffbox .staff{display:flex;color:rgba(16,15,25,.48)}.staffbox .staff .zhu{color:#100f19}.staffbox .staff view{margin-right:20rpx}.staffbox .staff ._img{width:40rpx;height:40rpx;min-width:40rpx;min-height:40rpx}.staffbox .jiancha{color:#ffba19;margin-right:10rpx}.implement{margin-bottom:10rpx}.implement .button{width:100%;height:100%;padding-top:20rpx}.implement ._img{width:100rpx;height:100rpx} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.js b/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.js index 494dcbd..a2d4ce7 100644 --- a/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.js +++ b/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.js @@ -1 +1 @@ -(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/dadui/jiuyuan/jiuyuan"],{"51e6":function(n,e,t){"use strict";(function(n){t("899b");u(t("66fd"));var e=u(t("a34c"));function u(n){return n&&n.__esModule?n:{default:n}}wx.__webpack_require_UNI_MP_PLUGIN__=t,n(e.default)}).call(this,t("543d")["createPage"])},"8d2b":function(n,e,t){"use strict";t.r(e);var u=t("9ee3"),r=t.n(u);for(var a in u)"default"!==a&&function(n){t.d(e,n,(function(){return u[n]}))}(a);e["default"]=r.a},"9ee3":function(n,e){},a34c:function(n,e,t){"use strict";t.r(e);var u=t("edb9"),r=t("8d2b");for(var a in r)"default"!==a&&function(n){t.d(e,n,(function(){return r[n]}))}(a);var c,i=t("f0c5"),o=Object(i["a"])(r["default"],u["b"],u["c"],!1,null,null,null,!1,u["a"],c);e["default"]=o.exports},edb9:function(n,e,t){"use strict";var u;t.d(e,"b",(function(){return r})),t.d(e,"c",(function(){return a})),t.d(e,"a",(function(){return u}));var r=function(){var n=this,e=n.$createElement;n._self._c},a=[]}},[["51e6","common/runtime","common/vendor"]]]); \ No newline at end of file +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/dadui/jiuyuan/jiuyuan"],{"1ffc":function(t,e,a){"use strict";var n=a("2bdf"),i=a.n(n);i.a},"2b06":function(t,e,a){"use strict";a.d(e,"b",(function(){return i})),a.d(e,"c",(function(){return s})),a.d(e,"a",(function(){return n}));var n={qiunDataCharts:function(){return Promise.all([a.e("common/vendor"),a.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(a.bind(null,"0394"))}},i=function(){var t=this,e=t.$createElement,n=(t._self._c,a("a209")),i=a("87b3"),s=a("8a99");t.$mp.data=Object.assign({},{$root:{m0:n,m1:i,m2:s}})},s=[]},"2bdf":function(t,e,a){},"51e6":function(t,e,a){"use strict";(function(t){a("899b");n(a("66fd"));var e=n(a("a34c"));function n(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=a,t(e.default)}).call(this,a("543d")["createPage"])},"8d2b":function(t,e,a){"use strict";a.r(e);var n=a("9ee3"),i=a.n(n);for(var s in n)"default"!==s&&function(t){a.d(e,t,(function(){return n[t]}))}(s);e["default"]=i.a},"9ee3":function(t,e,a){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a={data:function(){return{title:"Hello",identity:0,progressNub:60,chartData:{series:[{data:[{name:"上级指派",value:0},{name:"自主任务",value:0},{name:"申领任务",value:0}]}]},dates:{year:2022,month:8,day:0},today:{month:8},opts:{rotate:!1,rotateLock:!1,color:["#FACE15","#04F1C9","#3990F1"],padding:[5,5,5,5],dataLabel:!1,legend:{show:!1,fontColor:"#fff",position:"right",lineHeight:20},title:{name:"任务总数",fontSize:15,color:"#fff"},subtitle:{name:"0",fontSize:25,color:"#fff"},extra:{ring:{width:50,height:50,ringWidth:10,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,customRadius:60,borderWidth:3,borderColor:"#FFFFFF",centerColor:"#57B5FF",linearType:"none"}}},user:[{tasknub:0}],isSupervisor:!1,list:[],month:0,nub:0,months:[1,2,3,4,5,6,7,8,9,10,11,12]}},created:function(){t.getStorageSync("user");var e=new Date;this.dates.month=e.getMonth()+1,this.today.month=e.getMonth()+1,this.month=e.getMonth()+1,this.dates.year=e.getFullYear(),this.dates.day=e.getDate(),this.getOrganizations()},onReady:function(){},methods:{getOrganizations:function(){var e=this,a=(this.dates.year,this.dates.month,t.getStorageSync("user").id),n=t.getStorageSync("user").roles;console.log(t.getStorageSync("user"));var i=n.find((function(t){return-1!=t.name.indexOf("检查")}));this.isSupervisor=!!i;var s={ContainsChildren:!0,pageSize:9999};this.$request.get("/api/Organizations",s,(function(t,n){if(console.log(n),e.isSupervisor)e.getSupervisor();else{e.user=n.items;for(var i=0;ithis.month||(this.dates.month=t,this.getOrganizations())},start:function(e){console.log(e),t.navigateTo({url:"/pages/task/details?id="+e.company.id+"&uid="+e.id})}}};e.default=a}).call(this,a("543d")["default"])},a34c:function(t,e,a){"use strict";a.r(e);var n=a("2b06"),i=a("8d2b");for(var s in i)"default"!==s&&function(t){a.d(e,t,(function(){return i[t]}))}(s);a("1ffc");var r,o=a("f0c5"),u=Object(o["a"])(i["default"],n["b"],n["c"],!1,null,null,null,!1,n["a"],r);e["default"]=u.exports}},[["51e6","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.json b/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.json index 67b0a4a..bc2d6bb 100644 --- a/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.json +++ b/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.json @@ -3,5 +3,7 @@ "navigationBarBackgroundColor": "#57B5FF", "navigationBarTitleText": "消防一体化综合治理平台", "navigationBarTextStyle": "white", - "usingComponents": {} + "usingComponents": { + "qiun-data-charts": "/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts" + } } \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.wxml b/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.wxml index 4f9b3f8..f04d51f 100644 --- a/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.wxml +++ b/unpackage/dist/build/mp-weixin/pages/dadui/jiuyuan/jiuyuan.wxml @@ -1 +1 @@ - \ No newline at end of file +{{dates.year}}|{{''+today.month+"."+dates.day+''}}{{item}}{{item.name+"任务总数"}}{{nub}}完成{{item.tasknub+'/'+nub+"件"}}暂无任务{{item.name+"-------"+item.value+"个"}} \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/demo/demo.js b/unpackage/dist/build/mp-weixin/pages/demo/demo.js index eaa92a4..4d17d4b 100644 --- a/unpackage/dist/build/mp-weixin/pages/demo/demo.js +++ b/unpackage/dist/build/mp-weixin/pages/demo/demo.js @@ -1 +1 @@ -(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/demo/demo"],{"1ed8":function(e,t,n){"use strict";var o=n("a941"),a=n.n(o);a.a},"211d":function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={data:function(){return{api:this.$config.api+"/api/Objects/integration/",isAuth:!1,imgShow:"",age:{imgShow:"",text:""},fi:"",imageStyles:{width:64,height:64,border:{radius:"50%"}},listStyles:{border:!0,dividline:!0,borderStyle:{width:1,color:"blue",style:"dashed",radius:2}},fileLists:[{url:"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b7c7f970-517d-11eb-97b7-0dc4655d6e68.jpg",extname:"png",name:"shuijiao.png"},{url:"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b7c7f970-517d-11eb-97b7-0dc4655d6e68.jpg",extname:"png",name:"uniapp-logo.png"},{url:"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b7c7f970-517d-11eb-97b7-0dc4655d6e68.jpg",extname:"png",name:"shuijiao.png"}]}},onLoad:function(){console.log(this.api),e.getStorageSync("aabb")&&(this.age=e.getStorageSync("aabb"),console.log(this.age))},methods:{chooseImage:function(){var t=this;e.chooseImage({count:1,sizeType:["original","compressed"],sourceType:["album","camera"],success:function(e){t.age.imgShow=e.tempFilePaths[0]}})},aaa:function(){e.setStorageSync("aabb",this.age)},bbb:function(){var e=this;this.$request.uploadFile(this.age.imgShow,(function(t,n){console.log(t,n),e.fi=n.objectName}))},select:function(e){console.log("选择文件:",e)},progress:function(e){console.log("上传进度:",e)},success:function(e){console.log("上传成功")},fail:function(e){console.log("上传失败:",e)}}};t.default=n}).call(this,n("543d")["default"])},"4e6a":function(e,t,n){"use strict";n.r(t);var o=n("211d"),a=n.n(o);for(var c in o)"default"!==c&&function(e){n.d(t,e,(function(){return o[e]}))}(c);t["default"]=a.a},6897:function(e,t,n){"use strict";n.r(t);var o=n("7dba"),a=n("4e6a");for(var c in a)"default"!==c&&function(e){n.d(t,e,(function(){return a[e]}))}(c);n("1ed8");var i,u=n("f0c5"),s=Object(u["a"])(a["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],i);t["default"]=s.exports},"6fd3":function(e,t,n){"use strict";(function(e){n("899b");o(n("66fd"));var t=o(n("6897"));function o(e){return e&&e.__esModule?e:{default:e}}wx.__webpack_require_UNI_MP_PLUGIN__=n,e(t.default)}).call(this,n("543d")["createPage"])},"7dba":function(e,t,n){"use strict";var o;n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"a",(function(){return o}));var a=function(){var e=this,t=e.$createElement;e._self._c},c=[]},a941:function(e,t,n){}},[["6fd3","common/runtime","common/vendor"]]]); \ No newline at end of file +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/demo/demo"],{"1ed8":function(e,t,n){"use strict";var o=n("a941"),a=n.n(o);a.a},"211d":function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={data:function(){return{api:this.$config.api+"/api/Objects/integration/",isAuth:!1,imgShow:"",age:{imgShow:"",text:""},fi:"",imageStyles:{width:64,height:64,border:{radius:"50%"}},listStyles:{border:!0,dividline:!0,borderStyle:{width:1,color:"blue",style:"dashed",radius:2}},fileLists:[{url:"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b7c7f970-517d-11eb-97b7-0dc4655d6e68.jpg",extname:"png",name:"shuijiao.png"},{url:"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b7c7f970-517d-11eb-97b7-0dc4655d6e68.jpg",extname:"png",name:"uniapp-logo.png"},{url:"https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b7c7f970-517d-11eb-97b7-0dc4655d6e68.jpg",extname:"png",name:"shuijiao.png"}]}},onLoad:function(){console.log(this.api),e.getStorageSync("aabb")&&(this.age=e.getStorageSync("aabb"),console.log(this.age))},methods:{chooseImage:function(){var t=this;e.chooseImage({count:1,sizeType:["original","compressed"],sourceType:["album","camera"],success:function(e){t.age.imgShow=e.tempFilePaths[0]}})},aaa:function(){e.navigateBack(1)},bbb:function(){var e=this;this.$request.uploadFile(this.age.imgShow,(function(t,n){console.log(t,n),e.fi=n.objectName}))},select:function(e){console.log("选择文件:",e)},progress:function(e){console.log("上传进度:",e)},success:function(e){console.log("上传成功")},fail:function(e){console.log("上传失败:",e)}}};t.default=n}).call(this,n("543d")["default"])},"4e6a":function(e,t,n){"use strict";n.r(t);var o=n("211d"),a=n.n(o);for(var c in o)"default"!==c&&function(e){n.d(t,e,(function(){return o[e]}))}(c);t["default"]=a.a},6897:function(e,t,n){"use strict";n.r(t);var o=n("f793"),a=n("4e6a");for(var c in a)"default"!==c&&function(e){n.d(t,e,(function(){return a[e]}))}(c);n("1ed8");var i,u=n("f0c5"),s=Object(u["a"])(a["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],i);t["default"]=s.exports},"6fd3":function(e,t,n){"use strict";(function(e){n("899b");o(n("66fd"));var t=o(n("6897"));function o(e){return e&&e.__esModule?e:{default:e}}wx.__webpack_require_UNI_MP_PLUGIN__=n,e(t.default)}).call(this,n("543d")["createPage"])},a941:function(e,t,n){},f793:function(e,t,n){"use strict";var o;n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c})),n.d(t,"a",(function(){return o}));var a=function(){var e=this,t=e.$createElement;e._self._c},c=[]}},[["6fd3","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/index/index.js b/unpackage/dist/build/mp-weixin/pages/index/index.js index 27af9b7..148b324 100644 --- a/unpackage/dist/build/mp-weixin/pages/index/index.js +++ b/unpackage/dist/build/mp-weixin/pages/index/index.js @@ -1 +1 @@ -(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/index/index"],{"387a":function(t,e,n){"use strict";var a=n("a65d"),i=n.n(a);i.a},4850:function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{title:"Hello",identity:0,progressNub:60,chartData:{series:[{data:[{name:"上级指派",value:0},{name:"自主任务",value:0},{name:"申领任务",value:0}]}]},dates:{year:2022,month:8,day:0},today:{month:8},opts:{rotate:!1,rotateLock:!1,color:["#FACE15","#04F1C9","#3990F1"],padding:[5,5,5,5],dataLabel:!1,legend:{show:!1,fontColor:"#fff",position:"right",lineHeight:20},title:{name:"任务总数",fontSize:15,color:"#fff"},subtitle:{name:"0",fontSize:25,color:"#fff"},extra:{ring:{width:50,height:50,ringWidth:10,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,customRadius:60,borderWidth:3,borderColor:"#FFFFFF",centerColor:"#57B5FF",linearType:"none"}}},user:[{tasknub:0}],isSupervisor:!1,list:[],month:0,nub:0,months:[1,2,3,4,5,6,7,8,9,10,11,12]}},onLoad:function(){t.getStorageSync("user");var e=new Date;this.dates.month=e.getMonth()+1,this.today.month=e.getMonth()+1,this.month=e.getMonth()+1,this.dates.year=e.getFullYear(),this.dates.day=e.getDate(),this.getOrganizations()},onReady:function(){},methods:{getOrganizations:function(){var e=this,n=(this.dates.year,this.dates.month,t.getStorageSync("user").id),a=t.getStorageSync("user").roles;console.log(t.getStorageSync("user"));var i=a.find((function(t){return-1!=t.name.indexOf("检查")}));this.isSupervisor=!!i;var s={ContainsChildren:!0,pageSize:9999};this.$request.get("/api/Organizations",s,(function(t,a){if(console.log(a),e.isSupervisor)e.getSupervisor();else{e.user=a.items;for(var i=0;ithis.month||(this.dates.month=t,this.getOrganizations())},start:function(e){t.navigateTo({url:"/pages/task/details?id="+e.company.id})}}};e.default=n}).call(this,n("543d")["default"])},"502f":function(t,e,n){"use strict";n.r(e);var a=n("89f7"),i=n("5f72");for(var s in i)"default"!==s&&function(t){n.d(e,t,(function(){return i[t]}))}(s);n("387a");var r,o=n("f0c5"),u=Object(o["a"])(i["default"],a["b"],a["c"],!1,null,null,null,!1,a["a"],r);e["default"]=u.exports},"5f72":function(t,e,n){"use strict";n.r(e);var a=n("4850"),i=n.n(a);for(var s in a)"default"!==s&&function(t){n.d(e,t,(function(){return a[t]}))}(s);e["default"]=i.a},"89f7":function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return s})),n.d(e,"a",(function(){return a}));var a={qiunDataCharts:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(n.bind(null,"0394"))}},i=function(){var t=this,e=t.$createElement,a=(t._self._c,n("a209")),i=n("87b3"),s=n("8a99"),r=n("6924"),o=t.__map(t.list,(function(e,a){var i=t.__get_orig(e),s=t.__map(e.supervisors,(function(e,a){var i=t.__get_orig(e),s=e.posts&&"主查人员"==e.posts[0]?n("6246"):null,r=e.posts&&"协查人员"==e.posts[0]?n("2657"):null;return{$orig:i,m3:s,m4:r}}));return{$orig:i,l0:s}}));t.$mp.data=Object.assign({},{$root:{m0:a,m1:i,m2:s,m5:r,l1:o}})},s=[]},"8e33":function(t,e,n){"use strict";(function(t){n("899b");a(n("66fd"));var e=a(n("502f"));function a(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=n,t(e.default)}).call(this,n("543d")["createPage"])},a65d:function(t,e,n){}},[["8e33","common/runtime","common/vendor"]]]); \ No newline at end of file +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/index/index"],{"36ab":function(n,e,t){"use strict";var o;t.d(e,"b",(function(){return u})),t.d(e,"c",(function(){return r})),t.d(e,"a",(function(){return o}));var u=function(){var n=this,e=n.$createElement;n._self._c},r=[]},"387a":function(n,e,t){"use strict";var o=t("a65d"),u=t.n(o);u.a},4850:function(n,e,t){"use strict";(function(n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=function(){Promise.all([t.e("common/vendor"),t.e("components/index/dadui")]).then(function(){return resolve(t("ad05"))}.bind(null,t)).catch(t.oe)},u=function(){Promise.all([t.e("common/vendor"),t.e("components/index/jiuyuanzhan")]).then(function(){return resolve(t("afba"))}.bind(null,t)).catch(t.oe)},r={components:{Dindex:o,Jindex:u},data:function(){return{shenfen:"",isSupervisor:!1}},onLoad:function(){var e=n.getStorageSync("user").roles,t=e.find((function(n){return-1!=n.name.indexOf("检查")}));this.isSupervisor=!!t,this.shenfen=n.getStorageSync("user").organizationLevel},onReady:function(){},methods:{}};e.default=r}).call(this,t("543d")["default"])},"502f":function(n,e,t){"use strict";t.r(e);var o=t("36ab"),u=t("5f72");for(var r in u)"default"!==r&&function(n){t.d(e,n,(function(){return u[n]}))}(r);t("387a");var a,i=t("f0c5"),c=Object(i["a"])(u["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],a);e["default"]=c.exports},"5f72":function(n,e,t){"use strict";t.r(e);var o=t("4850"),u=t.n(o);for(var r in o)"default"!==r&&function(n){t.d(e,n,(function(){return o[n]}))}(r);e["default"]=u.a},"8e33":function(n,e,t){"use strict";(function(n){t("899b");o(t("66fd"));var e=o(t("502f"));function o(n){return n&&n.__esModule?n:{default:n}}wx.__webpack_require_UNI_MP_PLUGIN__=t,n(e.default)}).call(this,t("543d")["createPage"])},a65d:function(n,e,t){}},[["8e33","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/index/index.json b/unpackage/dist/build/mp-weixin/pages/index/index.json index bc2d6bb..305ad33 100644 --- a/unpackage/dist/build/mp-weixin/pages/index/index.json +++ b/unpackage/dist/build/mp-weixin/pages/index/index.json @@ -4,6 +4,7 @@ "navigationBarTitleText": "消防一体化综合治理平台", "navigationBarTextStyle": "white", "usingComponents": { - "qiun-data-charts": "/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts" + "dindex": "/components/index/dadui", + "jindex": "/components/index/jiuyuanzhan" } } \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/index/index.wxml b/unpackage/dist/build/mp-weixin/pages/index/index.wxml index 38dab0f..8e43ffb 100644 --- a/unpackage/dist/build/mp-weixin/pages/index/index.wxml +++ b/unpackage/dist/build/mp-weixin/pages/index/index.wxml @@ -1 +1 @@ -{{dates.year}}|{{''+today.month+"."+dates.day+''}}{{item}}{{item.name+"任务总数"}}{{nub}}完成{{item.tasknub+'/'+nub+"件"}}暂无任务{{item.name+"-------"+item.value+"个"}}1{{''+item.$orig.taskType+''}}{{''+item.$orig.company.companyName+''}}{{''+item.$orig.company.useNature+''}}{{''+item.$orig.company.useNature+''}}主负责人:{{item.$orig.organization.name}}待检查协助人员:{{''+i.$orig.name+''}}检查时间:{{item.$orig.checkTime}} \ No newline at end of file + \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/login/login.js b/unpackage/dist/build/mp-weixin/pages/login/login.js index 86e23f9..488efa3 100644 --- a/unpackage/dist/build/mp-weixin/pages/login/login.js +++ b/unpackage/dist/build/mp-weixin/pages/login/login.js @@ -1 +1 @@ -(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/login/login"],{"087f":function(t,e,n){"use strict";n.r(e);var o=n("76ad"),r=n.n(o);for(var a in o)"default"!==a&&function(t){n.d(e,t,(function(){return o[t]}))}(a);e["default"]=r.a},5968:function(t,e,n){"use strict";var o;n.d(e,"b",(function(){return r})),n.d(e,"c",(function(){return a})),n.d(e,"a",(function(){return o}));var r=function(){var t=this,e=t.$createElement,o=(t._self._c,n("1238")),r=n("cb9a");t.$mp.data=Object.assign({},{$root:{m0:o,m1:r}})},a=[]},"5ad7":function(t,e,n){"use strict";(function(t){n("899b");o(n("66fd"));var e=o(n("9bad"));function o(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=n,t(e.default)}).call(this,n("543d")["createPage"])},"76ad":function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var o=r(n("6c87"));function r(t){return t&&t.__esModule?t:{default:t}}var a={data:function(){return{title:"Hello",form:{name:"",password:"",auto:!1}}},onLoad:function(){o.default.state.token&&(console.log(o.default.state.token),t.reLaunch({url:"/pages/index/index",success:function(t){},fail:function(){},complete:function(){}}))},methods:{getUserInfo:function(){var e=this;if(!this.form.name)return this.$alert.showError("请输入用户账号");if(!this.form.password)return this.$alert.showError("请输入密码");t.showLoading({title:"登录中"});var n=this;this.$request.post("/api/Accounts/SignIn",{username:this.form.name,password:this.form.password},(function(r,a){if(t.hideLoading(),500==a.status)return e.$alert.showError("用户名或密码错误");t.setStorageSync("token",a),e.$store.commit("saveToken",a),console.log(o.default.state.token),n.$request.get("/api/Accounts/Profile",{},(function(e,n){console.log(n),t.setStorageSync("user",n),t.reLaunch({url:"/pages/index/index"})}))}))},getToken:function(){var t=o.default.state.token;this.$request.post("/api/Accounts/RefreshToken",{token:t.token,refreshToken:t.refreshToken},(function(t,e){console.log(e)}))}}};e.default=a}).call(this,n("543d")["default"])},"84c6":function(t,e,n){"use strict";var o=n("f553"),r=n.n(o);r.a},"9bad":function(t,e,n){"use strict";n.r(e);var o=n("5968"),r=n("087f");for(var a in r)"default"!==a&&function(t){n.d(e,t,(function(){return r[t]}))}(a);n("84c6");var u,s=n("f0c5"),i=Object(s["a"])(r["default"],o["b"],o["c"],!1,null,null,null,!1,o["a"],u);e["default"]=i.exports},f553:function(t,e,n){}},[["5ad7","common/runtime","common/vendor"]]]); \ No newline at end of file +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/login/login"],{"087f":function(t,n,e){"use strict";e.r(n);var a=e("76ad"),o=e.n(a);for(var u in a)"default"!==u&&function(t){e.d(n,t,(function(){return a[t]}))}(u);n["default"]=o.a},"5ad7":function(t,n,e){"use strict";(function(t){e("899b");a(e("66fd"));var n=a(e("9bad"));function a(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=e,t(n.default)}).call(this,e("543d")["createPage"])},"76ad":function(t,n,e){"use strict";(function(t){Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=o(e("6c87"));function o(t){return t&&t.__esModule?t:{default:t}}var u={data:function(){return{title:"Hello",form:{name:"",password:"",auto:!1}}},onLoad:function(){a.default.state.token&&(console.log(a.default.state.token),t.reLaunch({url:"/pages/index/index",success:function(t){},fail:function(){},complete:function(){}}))},methods:{getUserInfo:function(){return this.form.name?this.form.password?void this.$auth.login(this.form):this.$alert.showError("请输入密码"):this.$alert.showError("请输入用户账号")}}};n.default=u}).call(this,e("543d")["default"])},"84c6":function(t,n,e){"use strict";var a=e("f553"),o=e.n(a);o.a},"9bad":function(t,n,e){"use strict";e.r(n);var a=e("ca56"),o=e("087f");for(var u in o)"default"!==u&&function(t){e.d(n,t,(function(){return o[t]}))}(u);e("84c6");var r,c=e("f0c5"),i=Object(c["a"])(o["default"],a["b"],a["c"],!1,null,null,null,!1,a["a"],r);n["default"]=i.exports},ca56:function(t,n,e){"use strict";var a;e.d(n,"b",(function(){return o})),e.d(n,"c",(function(){return u})),e.d(n,"a",(function(){return a}));var o=function(){var t=this,n=t.$createElement,a=(t._self._c,e("1238")),o=e("cb9a");t.$mp.data=Object.assign({},{$root:{m0:a,m1:o}})},u=[]},f553:function(t,n,e){}},[["5ad7","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/task/details.js b/unpackage/dist/build/mp-weixin/pages/task/details.js index 0893dfe..7453fbc 100644 --- a/unpackage/dist/build/mp-weixin/pages/task/details.js +++ b/unpackage/dist/build/mp-weixin/pages/task/details.js @@ -1 +1 @@ -(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/task/details"],{"14ca":function(t,e,a){"use strict";(function(t){a("899b");n(a("66fd"));var e=n(a("4a35"));function n(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=a,t(e.default)}).call(this,a("543d")["createPage"])},"252d":function(t,e,a){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var n={data:function(){return{id:"",list:{},danwei:["一般单位","重点单位"],datas:{basicInfo:{name:"",addr:"",phone:"",total:"",height:"",layer:"",structure:"",coveredArea:"",builtUpArea:"",nature:"",east:"",south:"",west:"",north:"",routeAndTime:"",positionCoordinates:{x:0,y:0}},facilities:{controlPosition:"",poolNumbe:"",poolPosition:"",poolCapacity:"",supplyMode:"",waterSources:"",waterSourcesPosition:"",system:{alarm:!1,spray:!1,broadcast:!1,smoke:!1},hydrantsNumber:"",hydrantsPosition:"",pumpNumber:"",pumpRange:"",pumpFlow:"",pumpAdapter:"",SprayPumpNumber:"",SprayPumpRange:"",SprayPumpFlow:"",SprayPumpAdapter:"",elevator:"",stairs:"",Export:"",indoorHydrant:"",standardIndoorHydrant:"",fireFightingFacilities:""},KeyParts:[{keyparts:"",keypartsposition:"",buildingstructure:"",useNature:"",danger:""},{keyparts:"",keypartsposition:"",buildingstructure:"",useNature:"",danger:""}],datasIndex:0,tips:""}}},onLoad:function(t){this.id=t.id,this.getCompanies()},onReady:function(){},methods:{getCompanies:function(){var t=this;this.$request.get("/api/Companies/"+this.id,{},(function(e,a){console.log(a),t.list=a,t.list.data&&(t.datas=JSON.parse(t.list.data),"重点单位"==t.datas.basicInfo.nature&&(t.datasIndex=1))}))},danweif:function(t){console.log(t),this.datas.basicInfo.nature=this.danwei[t.detail.value]}}};e.default=n},"4a35":function(t,e,a){"use strict";a.r(e);var n=a("7cf7"),r=a("be10");for(var i in r)"default"!==i&&function(t){a.d(e,t,(function(){return r[t]}))}(i);a("7dcf");var o,s=a("f0c5"),u=Object(s["a"])(r["default"],n["b"],n["c"],!1,null,null,null,!1,n["a"],o);e["default"]=u.exports},"7cf7":function(t,e,a){"use strict";var n;a.d(e,"b",(function(){return r})),a.d(e,"c",(function(){return i})),a.d(e,"a",(function(){return n}));var r=function(){var t=this,e=t.$createElement;t._self._c},i=[]},"7dcf":function(t,e,a){"use strict";var n=a("d4be"),r=a.n(n);r.a},be10:function(t,e,a){"use strict";a.r(e);var n=a("252d"),r=a.n(n);for(var i in n)"default"!==i&&function(t){a.d(e,t,(function(){return n[t]}))}(i);e["default"]=r.a},d4be:function(t,e,a){}},[["14ca","common/runtime","common/vendor"]]]); \ No newline at end of file +(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/task/details"],{"14ca":function(t,a,e){"use strict";(function(t){e("899b");n(e("66fd"));var a=n(e("4a35"));function n(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=e,t(a.default)}).call(this,e("543d")["createPage"])},2161:function(t,a,e){"use strict";var n;e.d(a,"b",(function(){return i})),e.d(a,"c",(function(){return o})),e.d(a,"a",(function(){return n}));var i=function(){var t=this,a=t.$createElement;t._self._c},o=[]},"252d":function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0}),a.default=void 0;var n={data:function(){return{id:"",list:{},danwei:["一般单位","重点单位"],datas:{basicInfo:{name:"",addr:"",phone:"",total:"",height:"",layer:"",structure:"",coveredArea:"",builtUpArea:"",nature:"",east:"",south:"",west:"",north:"",routeAndTime:"",positionCoordinates:{x:0,y:0}},facilities:{controlPosition:"",poolNumbe:"",poolPosition:"",poolCapacity:"",supplyMode:"",waterSources:"",waterSourcesPosition:"",system:{alarm:!1,spray:!1,broadcast:!1,smoke:!1},hydrantsNumber:"",hydrantsPosition:"",pumpNumber:"",pumpRange:"",pumpFlow:"",pumpAdapter:"",SprayPumpNumber:"",SprayPumpRange:"",SprayPumpFlow:"",SprayPumpAdapter:"",elevator:"",stairs:"",Export:"",indoorHydrant:"",standardIndoorHydrant:"",fireFightingFacilities:""},KeyParts:[{keyparts:"",keypartsposition:"",buildingstructure:"",useNature:"",danger:""},{keyparts:"",keypartsposition:"",buildingstructure:"",useNature:"",danger:""}],datasIndex:0,tips:"",uid:""}}},onLoad:function(t){console.log(t),this.id=t.id,this.uid=t.uid,this.getCompanies()},onReady:function(){},methods:{getCompanies:function(){var t=this;this.$request.get("/api/Companies/"+this.id,{},(function(a,e){console.log(e),t.list=e,t.list.data&&(t.datas=JSON.parse(t.list.data),"重点单位"==t.datas.basicInfo.nature&&(t.datasIndex=1))}))},bbb:function(){var t={approvalStatus:"已检查",inspectionResult:"未发现违法违规情况"};this.$request.patch("/api/PlanTasks/"+this.uid,t,(function(t,a){console.log(a)}))},danweif:function(t){console.log(t),this.datas.basicInfo.nature=this.danwei[t.detail.value]}}};a.default=n},"4a35":function(t,a,e){"use strict";e.r(a);var n=e("2161"),i=e("be10");for(var o in i)"default"!==o&&function(t){e.d(a,t,(function(){return i[t]}))}(o);e("7dcf");var r,s=e("f0c5"),u=Object(s["a"])(i["default"],n["b"],n["c"],!1,null,null,null,!1,n["a"],r);a["default"]=u.exports},"7dcf":function(t,a,e){"use strict";var n=e("d4be"),i=e.n(n);i.a},be10:function(t,a,e){"use strict";e.r(a);var n=e("252d"),i=e.n(n);for(var o in n)"default"!==o&&function(t){e.d(a,t,(function(){return n[t]}))}(o);a["default"]=i.a},d4be:function(t,a,e){}},[["14ca","common/runtime","common/vendor"]]]); \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/task/details.wxml b/unpackage/dist/build/mp-weixin/pages/task/details.wxml index 643b02a..7709e89 100644 --- a/unpackage/dist/build/mp-weixin/pages/task/details.wxml +++ b/unpackage/dist/build/mp-weixin/pages/task/details.wxml @@ -1 +1 @@ -单位名称{{''+(list.companyName||"")+''}}单位管理人{{''+(list.directorName||"")+''}}联系方式{{''+(list.directorPhone||"")+''}}单位地址{{''+(list.address||"")+''}}建筑结构{{''+datas.basicInfo.structure+''}}建筑高度{{''+datas.basicInfo.height+''}}建筑层数{{''+datas.basicInfo.layer+''}}控制室位置安全重点部位单位性质{{datas.basicInfo.nature||"请选择"}}消防设施及器材 \ No newline at end of file +单位名称{{''+(list.companyName||"")+''}}单位管理人{{''+(list.directorName||"")+''}}联系方式{{''+(list.directorPhone||"")+''}}单位地址{{''+(list.address||"")+''}}建筑结构{{''+datas.basicInfo.structure+''}}建筑高度{{''+datas.basicInfo.height+''}}建筑层数{{''+datas.basicInfo.layer+''}}控制室位置安全重点部位单位性质{{datas.basicInfo.nature||"请选择"}}消防设施及器材 \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/pages/task/taskapply.js b/unpackage/dist/build/mp-weixin/pages/task/taskapply.js index 2acd381..cd12cca 100644 --- a/unpackage/dist/build/mp-weixin/pages/task/taskapply.js +++ b/unpackage/dist/build/mp-weixin/pages/task/taskapply.js @@ -1 +1 @@ -(global["webpackJsonp"]=global["webpackJsonp"]||[]).push([["pages/task/taskapply"],{"0e68":function(t,e,n){"use strict";var a=n("511e"),i=n.n(a);i.a},"2b6f":function(t,e,n){"use strict";n.d(e,"b",(function(){return i})),n.d(e,"c",(function(){return s})),n.d(e,"a",(function(){return a}));var a={qiunDataCharts:function(){return Promise.all([n.e("common/vendor"),n.e("uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts")]).then(n.bind(null,"0394"))}},i=function(){var t=this,e=t.$createElement,a=(t._self._c,n("a209")),i=n("87b3"),s=n("8a99"),r=t.__map(t.list,(function(e,a){var i=t.__get_orig(e),s=t.__map(e.supervisors,(function(e,a){var i=t.__get_orig(e),s=e.posts&&"主查人员"==e.posts[0]?n("6246"):null,r=e.posts&&"协查人员"==e.posts[0]?n("2657"):null;return{$orig:i,m3:s,m4:r}}));return{$orig:i,l0:s}}));t._isMounted||(t.e0=function(e){t.index=!0}),t.$mp.data=Object.assign({},{$root:{m0:a,m1:i,m2:s,l1:r}})},s=[]},"2c28":function(t,e,n){"use strict";n.r(e);var a=n("2b6f"),i=n("3931");for(var s in i)"default"!==s&&function(t){n.d(e,t,(function(){return i[t]}))}(s);n("0e68");var r,o=n("f0c5"),u=Object(o["a"])(i["default"],a["b"],a["c"],!1,null,null,null,!1,a["a"],r);e["default"]=u.exports},3931:function(t,e,n){"use strict";n.r(e);var a=n("7aad"),i=n.n(a);for(var s in a)"default"!==s&&function(t){n.d(e,t,(function(){return a[t]}))}(s);e["default"]=i.a},"511e":function(t,e,n){},"543f":function(t,e,n){"use strict";(function(t){n("899b");a(n("66fd"));var e=a(n("2c28"));function a(t){return t&&t.__esModule?t:{default:t}}wx.__webpack_require_UNI_MP_PLUGIN__=n,t(e.default)}).call(this,n("543d")["createPage"])},"7aad":function(t,e,n){"use strict";(function(t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a=function(){n.e("components/task/add").then(function(){return resolve(n("db18"))}.bind(null,n)).catch(n.oe)},i=function(){n.e("components/task/details").then(function(){return resolve(n("90a3"))}.bind(null,n)).catch(n.oe)},s={components:{TaskAdd:a,TaskDet:i},data:function(){return{title:"Hello",identity:0,progressNub:60,chartData:{series:[{data:[{name:"已接任务",value:0},{name:"未接任务",value:0},{name:"拒绝任务",value:0}]}]},dates:{year:2022,month:8,day:0},today:{month:8},opts:{rotate:!1,rotateLock:!1,color:["#FACE15","#04F1C9","#3990F1"],padding:[5,5,5,5],dataLabel:!1,legend:{show:!1,fontColor:"#fff",position:"right",lineHeight:20},title:{name:"任务总数",fontSize:15,color:"#fff"},subtitle:{name:"0",fontSize:25,color:"#fff"},extra:{ring:{width:50,height:50,ringWidth:10,activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:!1,customRadius:60,borderWidth:3,borderColor:"#FFFFFF",centerColor:"#57B5FF",linearType:"none"}}},user:[{tasknub:0}],isSupervisor:!1,list:[],nub:0,index:!1,index2:!1,Cid:"",xuanchuan:!1,months:[1,2,3,4,5,6,7,8,9,10,11,12]}},onLoad:function(){t.getStorageSync("user");var e=new Date;this.dates.month=e.getMonth()+1,this.today.month=e.getMonth()+1,this.dates.year=e.getFullYear(),this.dates.day=e.getDate()},onReady:function(){this.getOrganizations()},methods:{getOrganizations:function(){var e=this,n=(this.dates.year,this.dates.month,t.getStorageSync("user").id),a=t.getStorageSync("user").roles;console.log(t.getStorageSync("user"));var i=a.find((function(t){return-1!=t.name.indexOf("检查")}));this.isSupervisor=!!i;var s={ContainsChildren:!0,pageSize:9999};this.$request.get("/api/Organizations",s,(function(t,a){if(console.log(a),e.isSupervisor)e.getSupervisor();else{e.user=a.items;for(var i=0;i{{dates.year}}|{{''+today.month+"."+dates.day+''}}{{item}}{{item.name}}{{item.name+"-------"+item.value+"个"}}派发{{''+item.company.companyName+''}}{{''+item.company.useNature+''}}{{''+item.company.useNature+''}}{{''+item.taskType+''}}申请人:{{item.organization.name}}{{''+item.approvalStatus+''}}申请时间:{{item.creationTime}}查看{{'已'+item.approvalStatus+''}}{{''+item.approvalStatus+''}}任务申领x详情x \ No newline at end of file +{{dates.year}}|{{''+today.month+"."+dates.day+''}}{{item}}{{item.name}}{{item.name+"-------"+item.value+"个"}}派发{{''+item.company.companyName+''}}{{''+item.company.useNature+''}}{{''+item.company.useNature+''}}{{''+item.taskType+''}}申请人:{{item.organization.name}}{{''+item.approvalStatus+''}}申请时间:{{item.creationTime}}查看{{'已'+item.approvalStatus+''}}任务申领x详情x \ No newline at end of file diff --git a/unpackage/dist/build/mp-weixin/project.config.json b/unpackage/dist/build/mp-weixin/project.config.json index 731a441..51b0ad7 100644 --- a/unpackage/dist/build/mp-weixin/project.config.json +++ b/unpackage/dist/build/mp-weixin/project.config.json @@ -1,13 +1,11 @@ { "description": "项目配置文件。", + "packOptions": { + "ignore": [], + "include": [] + }, "setting": { "urlCheck": false, - "coverView": false, - "postcss": false, - "minified": false, - "enhance": false, - "showShadowRootInWxmlPanel": false, - "packNpmRelationList": [], "ignoreUploadUnusedFiles": true, "babelSetting": { "ignore": [], @@ -16,16 +14,12 @@ } }, "compileType": "miniprogram", + "libVersion": "2.25.4", + "appid": "wx762e3ccf09854482", + "projectname": "Jinan_app", "condition": {}, "editorSetting": { "tabIndent": "insertSpaces", "tabSize": 2 - }, - "libVersion": "2.25.4", - "packOptions": { - "ignore": [], - "include": [] - }, - "appid": "wx762e3ccf09854482", - "projectname": "Jinan_app" + } } \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map index 13107fe..cf93c54 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map @@ -1 +1 @@ -{"version":3,"sources":["uni-app:///main.js","webpack:///F:/项目2/Jinan_app/Jinan_app/App.vue?6304","webpack:///F:/项目2/Jinan_app/Jinan_app/App.vue?d90e","uni-app:///App.vue","webpack:///F:/项目2/Jinan_app/Jinan_app/App.vue?9a7c"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","uni","$http","baseUrl","Vue","config","productionTip","App","mpType","prototype","$auth","auth","$alert","alert","$request","request","$config","app","store","addInterceptor","invoke","args","data","method","newData","qs","stringify","arrayFormat","console","log","url","success","fail","err","complete","res","$mount","render","staticRenderFns","components","renderjs","component","options","__file"],"mappings":"uHAAA,KAE2D,cAC3D,WACA,WACA,WACA,WACA,WACA,WAIA,QAKA,U,0uBAfAA,GAAGC,kCAAoCC,EAgBvCC,EAAIC,MAAQA,QACZA,QAAMC,QAAU,4BAChBC,UAAIC,OAAOC,eAAgB,EAC3BC,UAAIC,OAAS,MACbJ,UAAIK,UAAUC,MAAQC,UACtBP,UAAIK,UAAUG,OAASC,UACvBT,UAAIK,UAAUK,SAAWC,UACzBX,UAAIK,UAAUO,QAAUX,UACxB,IAAMY,EAAM,IAAIb,UAAJ,OACLG,WADK,IAEXW,mBAGDjB,EAAIkB,eAAe,UAAW,CAC5BC,OAD4B,SACrBC,GAAM,IAGXC,EAEGD,EAFHC,KACAC,EACGF,EADHE,OAED,GAAe,QAAXA,EAAkB,CAErB,IAAMC,EAAUC,UAAGC,UAAUJ,EAAM,CAClCK,YAAa,WAEdC,QAAQC,IAAIL,EAAQ,aACbH,EAAKC,KACZD,EAAKS,IAAL,UAAcT,EAAKS,IAAnB,YAA0BN,KAG5BO,QAjB4B,SAiBpBV,KACRW,KAlB4B,SAkBvBC,KACLC,SAnB4B,SAmBnBC,OAGX,EAAAlB,GAAImB,W,gFCrDJ,4GAAIC,EAAQC,EAAmCC,EAC3CC,EADJ,QASIC,EAAY,qBACd,aACAJ,EACAC,GACA,EACA,KACA,KACA,MACA,EACAC,EACAC,GAGFC,EAAUC,QAAQC,OAAS,UACZ,aAAAF,E,sCCvBf,4GAA+uB,eAAG,G,qGCClvB,CACA,qBAEA,8BACA,uCAEA,kBACA,oDAEA,kBACA,uD,0CCXA,6GAAqjC,eAAG,G","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App'\r\nimport auth from './libs/auth.js'\r\nimport alert from './libs/alert.js'\r\nimport request from './libs/request.js'\r\nimport config from './config.js'\r\nimport store from './store.js'\r\nimport qs from 'qs'\r\n\r\n\r\n\r\nimport {\r\n\t$http\r\n} from '@escook/request-miniprogram'\r\n\r\n\r\nimport Vue from 'vue'\r\nuni.$http = $http\r\n$http.baseUrl = 'https://121.36.37.70:8204'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nVue.prototype.$auth = auth\r\nVue.prototype.$alert = alert\r\nVue.prototype.$request = request\r\nVue.prototype.$config = config\r\nconst app = new Vue({\r\n ...App,\r\n\tstore\r\n})\r\n\r\nuni.addInterceptor('request', {\r\n\t\tinvoke(args) {\r\n\t\t\t// request 触发前拼接 url \r\n\t\t\tconst {\r\n\t\t\t\tdata,\r\n\t\t\t\tmethod,\r\n\t\t\t} = args;\r\n\t\t\tif (method === \"GET\") {\r\n\t\t\t\t// 如果是get请求,且params是数组类型如arr=[1,2],则转换成arr=1&arr=2\r\n\t\t\t\tconst newData = qs.stringify(data, {\r\n\t\t\t\t\tarrayFormat: \"repeat\"\r\n\t\t\t\t})\r\n\t\t\t\tconsole.log(newData,7777);\r\n\t\t\t\tdelete args.data;\r\n\t\t\t\targs.url = `${args.url}?${newData}`;\r\n\t\t\t}\r\n\t\t},\r\n\t\tsuccess(args) {},\r\n\t\tfail(err) {},\r\n\t\tcomplete(res) {}\r\n\t})\r\n\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\n","import mod from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["uni-app:///main.js","webpack:///F:/项目2/Jinan_app/Jinan_app/App.vue?6304","webpack:///F:/项目2/Jinan_app/Jinan_app/App.vue?d90e","uni-app:///App.vue","webpack:///F:/项目2/Jinan_app/Jinan_app/App.vue?9a7c"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","uni","$http","baseUrl","Vue","config","productionTip","App","mpType","prototype","$auth","auth","$alert","alert","$request","request","$config","app","store","addInterceptor","invoke","args","data","method","getStorageSync","getToken","newData","qs","stringify","arrayFormat","console","log","url","success","fail","err","complete","res","$mount","render","staticRenderFns","components","renderjs","component","options","__file"],"mappings":"uHAAA,KAE2D,cAC3D,WACA,WACA,WACA,WACA,WACA,WAIA,QAKA,U,0uBAfAA,GAAGC,kCAAoCC,EAgBvCC,EAAIC,MAAQA,QACZA,QAAMC,QAAU,4BAChBC,UAAIC,OAAOC,eAAgB,EAC3BC,UAAIC,OAAS,MACbJ,UAAIK,UAAUC,MAAQC,UACtBP,UAAIK,UAAUG,OAASC,UACvBT,UAAIK,UAAUK,SAAWC,UACzBX,UAAIK,UAAUO,QAAUX,UACxB,IAAMY,EAAM,IAAIb,UAAJ,OACLG,WADK,IAEXW,mBAGDjB,EAAIkB,eAAe,UAAW,CAE5BC,OAF4B,SAErBC,GAAM,IAIXC,EAEGD,EAFHC,KACAC,EACGF,EADHE,OAED,GAAe,QAAXA,EAAkB,CAClBtB,EAAIuB,eAAe,UACrBT,UAAQU,WAGT,IAAMC,EAAUC,UAAGC,UAAUN,EAAM,CAClCO,YAAa,WAEdC,QAAQC,IAAIL,EAAQ,aACbL,EAAKC,KACZD,EAAKW,IAAL,UAAcX,EAAKW,IAAnB,YAA0BN,KAG5BO,QAtB4B,SAsBpBZ,KACRa,KAvB4B,SAuBvBC,KACLC,SAxB4B,SAwBnBC,OAGX,EAAApB,GAAIqB,W,gFC1DJ,4GAAIC,EAAQC,EAAmCC,EAC3CC,EADJ,QASIC,EAAY,qBACd,aACAJ,EACAC,GACA,EACA,KACA,KACA,MACA,EACAC,EACAC,GAGFC,EAAUC,QAAQC,OAAS,UACZ,aAAAF,E,sCCvBf,4GAA+uB,eAAG,G,qGCClvB,CACA,qBAEA,8BACA,uCAEA,kBACA,oDAEA,kBACA,uD,0CCXA,6GAAqjC,eAAG,G","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App'\r\nimport auth from './libs/auth.js'\r\nimport alert from './libs/alert.js'\r\nimport request from './libs/request.js'\r\nimport config from './config.js'\r\nimport store from './store.js'\r\nimport qs from 'qs'\r\n\r\n\r\n\r\nimport {\r\n\t$http\r\n} from '@escook/request-miniprogram'\r\n\r\n\r\nimport Vue from 'vue'\r\nuni.$http = $http\r\n$http.baseUrl = 'https://121.36.37.70:8204'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nVue.prototype.$auth = auth\r\nVue.prototype.$alert = alert\r\nVue.prototype.$request = request\r\nVue.prototype.$config = config\r\nconst app = new Vue({\r\n ...App,\r\n\tstore\r\n})\r\n\r\nuni.addInterceptor('request', {\r\n\t\t\r\n\t\tinvoke(args) {\r\n\t\t\t// request 触发前拼接 url \r\n\t\t\t\r\n\t\t\tconst {\r\n\t\t\t\tdata,\r\n\t\t\t\tmethod,\r\n\t\t\t} = args;\r\n\t\t\tif (method === \"GET\") {\r\n\t\t\t\tif(uni.getStorageSync(\"token\")){\r\n\t\t\t\t\trequest.getToken()\r\n\t\t\t\t}\r\n\t\t\t\t// 如果是get请求,且params是数组类型如arr=[1,2],则转换成arr=1&arr=2\r\n\t\t\t\tconst newData = qs.stringify(data, {\r\n\t\t\t\t\tarrayFormat: \"repeat\"\r\n\t\t\t\t})\r\n\t\t\t\tconsole.log(newData,7777);\r\n\t\t\t\tdelete args.data;\r\n\t\t\t\targs.url = `${args.url}?${newData}`;\r\n\t\t\t}\r\n\t\t},\r\n\t\tsuccess(args) {},\r\n\t\tfail(err) {},\r\n\t\tcomplete(res) {}\r\n\t})\r\n\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--12-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\n","import mod from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\HBuilderX.3.4.7.20220422\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map index b4894b1..237f7f0 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map @@ -1 +1 @@ -{"version":3,"sources":["uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","global","oldJsonpFunction","slice"],"mappings":"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","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"common/runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts\":1,\"components/task/add\":1,\"components/task/details\":1,\"uni_modules/qiun-data-charts/components/qiun-error/qiun-error\":1,\"uni_modules/superwei-combox/components/superwei-combox/superwei-combox\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading1\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading2\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading3\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading4\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading5\":1,\"uni_modules/uni-icons/components/uni-icons/uni-icons\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts\":\"uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts\",\"components/task/add\":\"components/task/add\",\"components/task/details\":\"components/task/details\",\"uni_modules/qiun-data-charts/components/qiun-error/qiun-error\":\"uni_modules/qiun-data-charts/components/qiun-error/qiun-error\",\"uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading\":\"uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading\",\"uni_modules/superwei-combox/components/superwei-combox/superwei-combox\":\"uni_modules/superwei-combox/components/superwei-combox/superwei-combox\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading1\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading1\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading2\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading2\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading3\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading3\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading4\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading4\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading5\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading5\",\"uni_modules/uni-icons/components/uni-icons/uni-icons\":\"uni_modules/uni-icons/components/uni-icons/uni-icons\"}[chunkId]||chunkId) + \".wxss\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","global","oldJsonpFunction","slice"],"mappings":"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","file":"common/runtime.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"common/runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"common/runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"\" + chunkId + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts\":1,\"components/task/add\":1,\"components/task/details\":1,\"components/index/dadui\":1,\"components/index/jiuyuanzhan\":1,\"components/index/zhidui\":1,\"uni_modules/qiun-data-charts/components/qiun-error/qiun-error\":1,\"uni_modules/superwei-combox/components/superwei-combox/superwei-combox\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading1\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading2\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading3\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading4\":1,\"uni_modules/qiun-data-charts/components/qiun-loading/loading5\":1,\"uni_modules/uni-icons/components/uni-icons/uni-icons\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({\"uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts\":\"uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts\",\"components/task/add\":\"components/task/add\",\"components/task/details\":\"components/task/details\",\"components/index/dadui\":\"components/index/dadui\",\"components/index/jiuyuanzhan\":\"components/index/jiuyuanzhan\",\"components/index/zhidui\":\"components/index/zhidui\",\"uni_modules/qiun-data-charts/components/qiun-error/qiun-error\":\"uni_modules/qiun-data-charts/components/qiun-error/qiun-error\",\"uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading\":\"uni_modules/qiun-data-charts/components/qiun-loading/qiun-loading\",\"uni_modules/superwei-combox/components/superwei-combox/superwei-combox\":\"uni_modules/superwei-combox/components/superwei-combox/superwei-combox\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading1\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading1\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading2\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading2\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading3\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading3\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading4\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading4\",\"uni_modules/qiun-data-charts/components/qiun-loading/loading5\":\"uni_modules/qiun-data-charts/components/qiun-loading/loading5\",\"uni_modules/uni-icons/components/uni-icons/uni-icons\":\"uni_modules/uni-icons/components/uni-icons/uni-icons\"}[chunkId]||chunkId) + \".wxss\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = global[\"webpackJsonp\"] = global[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map index 0f3e382..576b02d 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map @@ -1 +1 @@ -{"version":3,"sources":["uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/index.js","webpack:///F:/项目2/Jinan_app/Jinan_app/static/dadui/11.png?1f9f","webpack:///F:/项目2/Jinan_app/Jinan_app/static/dadui/9.png?b244","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","uni-app:///libs/auth.js","uni-app:///store.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js","uni-app:///pages.json","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js","uni-app:///libs/request.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/regenerator/index.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/regenerator-runtime/runtime-module.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/regenerator-runtime/runtime.js","uni-app:///config.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/global.js","uni-app:///libs/alert.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/qs/lib/index.js","uni-app:///uni_modules/uni-icons/components/uni-icons/icons.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/qs/lib/stringify.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/qs/lib/utils.js","webpack:///F:/项目2/Jinan_app/Jinan_app/static/zeren/4511.png?3d23","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/qs/lib/formats.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/qs/lib/parse.js","uni-app:///node_modules/@escook/request-miniprogram/miniprogram_dist/index.js","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","webpack:///F:/项目2/Jinan_app/Jinan_app/static/login/banner.jpg?b0c7","webpack:///F:/项目2/Jinan_app/Jinan_app/static/login/title.png?927a","uni-app:///D:/HBuilderX.3.4.7.20220422/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","webpack:///F:/项目2/Jinan_app/Jinan_app/static/down.png?7ce8","webpack:///F:/项目2/Jinan_app/Jinan_app/static/4412.png?72e2","webpack:///F:/项目2/Jinan_app/Jinan_app/static/dadui/10.png?fc6d","webpack:///F:/项目2/Jinan_app/Jinan_app/static/zeren/4508.png?1030",null,"webpack:///F:/项目2/Jinan_app/Jinan_app/static/446.png?3c1a","webpack:///F:/项目2/Jinan_app/Jinan_app/static/logo.png?ced9","webpack:///F:/项目2/Jinan_app/Jinan_app/static/arrow.png?80f1"],"names":["realAtob","b64","b64re","b64DecodeUnicode","str","decodeURIComponent","split","map","c","charCodeAt","toString","slice","join","getCurrentUserInfo","userInfo","token","wx","getStorageSync","tokenArr","length","uid","role","permission","tokenExpired","JSON","parse","error","Error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","indexOf","uniIDHasPermission","permissionId","this","uniIDTokenValid","Date","now","atob","String","replace","test","bitmap","r1","r2","result","i","charAt","fromCharCode","_toString","Object","hasOwnProperty","isFn","fn","isStr","isPlainObject","obj","call","hasOwn","key","noop","cached","cache","create","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","params","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","promisify","success","fail","complete","assign","finally","constructor","value","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","locale","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","normalizeLocale","language","i18n","initVueI18n","t","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","app","getApp","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","deviceId","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","ctx","$on","arguments","$off","$emit","cid","cidErrMsg","enabled","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","mpInstance","oldTriggerEvent","triggerEvent","newTriggerEvent","event","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","vm","mocks","$mp","mpType","mock","hasHook","vueOptions","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vueId","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","newVal","oldVal","initBehaviors","initBehavior","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","observer","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","target","detail","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","vFor","propPath","valuePath","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","extraObj","__args__","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","dataset","comType","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","$scope","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","route","is","once","eventChannels","eventChannelStack","getEventChannel","id","eventChannel","shift","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","$hasScopedSlotsParams","has","$getScopedSlotsParams","object","$setScopedSlotsParams","propsData","destroyed","parseBaseApp","initRefs","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","findVmByVueId","vuePid","parentVm","$children","childVm","Behavior","isPage","initRelation","selectAllComponents","selector","$refs","components","component","ref","vueGeneric","scopedComponent","forComponents","handleLink","parent","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","getLaunchOptionsSync","createPlugin","todoApi","canIUseApi","apiName","uni","Proxy","uni$1","module","exports","normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","renderjs","unshift","__module","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","shadowRoot","_injectStyles","originalRender","h","existing","login","checkAuth","log","getLocalUserInfo","askLogin","user","commit","noCase","alert","showError","setTimeout","switchTab","showModal","content","confirm","navigateTo","getUserProfile","that","desc","showLoading","code","request","post","encryptedData","iv","logout","clearStorage","reLaunch","use","Vuex","Store","people","tag","taskType","mutations","savePath","saveToken","savePeople","saveTaskType","actions","n","__esModule","s","require","globalThis","window","self","o","lib","r","Base","mixIn","init","$super","clone","WordArray","words","sigBytes","clamp","ceil","a","enc","Hex","u","Latin1","l","Utf8","escape","unescape","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","blockSize","max","_minBufferSize","min","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","d","HMAC","algo","abs","sin","MD5","_hash","f","g","p","m","y","w","k","T","S","A","P","I","b","O","C","E","HmacMD5","_hasher","_oKey","_iKey","appid","_globalUniCloudObj","reduce","R","U","L","D","includes","q","N","F","isReady","initUniCloud","j","M","errCode","requestId","$","scene","channel","K","LOCALE","PLATFORM","OS","APPID","DEVICEID","X","B","sign","wrappedRequest","header","statusCode","H","uploadFile","setStorageSync","removeStorageSync","clearStorageSync","W","en","fr","es","ja","z","V","config","endpoint","requestUrl","envType","accessTokenKey","spaceId","adapter","_getAccessTokenPromise","_getAccessTokenPromiseStatus","accessToken","requestWrapped","hasAccessToken","getAccessToken","rebuildRequest","clientSecret","timestamp","dataType","requestAuth","setupRequest","setAccessToken","functionTarget","functionArgs","formData","filePath","fileType","onUploadProgress","onProgressUpdate","loaded","totalBytesSent","total","totalBytesExpectedToSend","cloudPath","getOSSUploadOptionsFromPath","filename","cdnDomain","ossPath","OSSAccessKeyId","accessKeyId","Signature","signature","policy","success_action_status","fileName","uploadFileToOSS","reportOSSUpload","fileID","fileList","tempFileURL","J","signInAnonymously","authorize","getLoginState","auth","customAuth","Y","location","local","none","session","te","G","Q","Z","ee","ne","isMatch","genAdapter","runtime","WEB","WX_MP","se","oe","re","root","tcbObject","ie","localStorage","sessionStorage","ae","_storage","_persistence","primaryStorage","persistence","accessTokenExpireKey","refreshTokenKey","anonymousUuidKey","loginTypeKey","userInfoKey","getItem","setItem","removeItem","ce","ue","le","he","de","fe","_listeners","_listens","ge","on","pe","fire","me","off","Se","ye","_e","we","ke","Te","ANONYMOUS","WECHAT","WECHAT_PUBLIC","WECHAT_OPEN","EMAIL","USERNAME","NULL","ve","Ae","Pe","headers","append","Ie","seqId","be","_reqClass","reqClass","timeout","timeoutMsg","restrictedMethods","_cache","_localCache","upload","download","_refreshAccessTokenPromise","_refreshAccessToken","_shouldRefreshAccessTokenHook","removeStore","getStore","refresh_token","send","anonymous_uuid","setRefreshToken","access_token","setStore","access_token_expire","accessTokenExpire","refreshAccessToken","action","dataVersion","FormData","inQuery","search","status","Oe","Ce","Ee","_request","setLocalUserInfo","Re","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","username","users","wxOpenId","wxPublicId","hasPrimaryUid","nickName","gender","avatarUrl","province","country","city","Ue","credential","refreshToken","loginType","xe","updatePersistence","uuid","_setAnonymousUUID","refresh","_clearAnonymousUUID","Le","refreshUserInfo","De","email","password","qe","Ne","_onAnonymousConverted","bind","_onLoginTypeChanged","signIn","_anonymousAuthProvider","linkAndRetrieveDataWithTicket","hasLoginState","isRegistered","Fe","authorization","fileId","cosFileId","Me","$e","fileid_list","delete_list","je","fileid","max_age","maxAge","file_list","download_list","Ke","download_url","encodeURI","Be","function_name","request_data","response_data","He","We","ze","authObj","requestClient","Ve","Je","Ye","Xe","clear","Ge","useAdapters","Qe","Ze","et","tt","nt","st","ot","fileUrl","rt","it","clientInfo","uniIdToken","at","localAddress","localPort","aliyun","tencent","_originCallFunction","ct","rule","mode","ut","lt","RegExp","source","ht","dt","functionName","logPvd","debugLog","ft","callFunction","tcb","extraInfo","formatter","match","debugInfo","forceRemote","gt","Symbol","pt","_internalType","__ob__","mt","yt","_t","wt","$regexp","flags","$date","toISOString","kt","$method","Tt","prevStage","udb","_database","$db","reverse","$param","toJSON","_send","from","getAction","getCommand","_callCloudFunction","command","isAggregate","St","isCommand","vt","$newDb","At","multiCommand","queryList","setResult","dataList","_callback","_uniClient","systemInfo","level","_callbackAuth","prop","tips","uniClient","_authCallBacks","_dbCallBacks","isDefault","$env","Geo","serverDate","Pt","database","It","bt","Ot","TOKEN_INVALID_TOKEN_EXPIRED","TOKEN_INVALID_INVALID_CLIENTID","TOKEN_INVALID","TOKEN_INVALID_WRONG_TOKEN","TOKEN_INVALID_ANONYMOUS_USER","Ct","Et","Rt","needLogin","needLoginPage","notNeedLoginPage","Ut","list","some","pagePath","zt","xt","uniIdRouter","subPackages","tabBar","loginPage","resToLogin","routerNeedLogin","loginPageInTabBar","Lt","Dt","qt","Nt","Ft","Mt","$t","pop","jt","Kt","uniIdRedirectUrl","Bt","onResponse","Ht","onNeedLogin","offNeedLogin","needLoginInit","Wt","offResponse","onRefreshToken","offRefreshToken","Vt","Jt","Yt","Xt","tempFiles","substring","lastIndexOf","tempFilePaths","onChooseFile","tempFile","tempFilePath","initChooseAndUploadFile","count","sizeType","sourceType","extension","chooseImage","camera","compressed","maxDuration","chooseVideo","duration","height","width","chooseFile","chooseMessageFile","Gt","Qt","Zt","localdata","spaceInfo","collection","field","orderby","where","pageData","pageCurrent","pageSize","getcount","gettree","gettreepath","startwith","limitlevel","groupby","groupField","distinct","foreignKey","loadtime","manual","mixinDatacomLoading","mixinDatacomHasMore","mixinDatacomResData","mixinDatacomErrorMessage","mixinDatacomPage","created","$watch","onMixinDatacomPropsChange","mixinDatacomEasyGet","getone","mixinDatacomGet","groupBy","orderBy","getCount","limitLevel","startWith","getTree","getTreePath","skip","limit","customUI","loadingOptions","errorOptions","mask","retry","newToken","hideLoading","showToast","icon","showCancel","cancelText","confirmText","cancel","tn","nn","initUniCloudStatus","address","servePort","port","initialLaunchType","sn","navigator","userAgent","reInit","chooseAndUploadFile","importObject","uniCloud","yAxisWidth","xAxisHeight","xAxisTextPadding","padding","rotate","fontSize","fontColor","dataPointShape","color","linearColor","pieChartLinePadding","pieChartTextPadding","titleFontSize","subtitleFontSize","toolTipPadding","toolTipBackground","toolTipOpacity","toolTipLineHeight","radarLabelTextMargin","varArgs","TypeError","deepAssign","obj1","obj2","util","toFixed","num","isFloat","approximatelyEqual","num1","num2","isSameSign","isSameXCoordinateArea","p1","p2","isCollision","end","start","flag","hexToRgb","hexValue","opc","rgx","hex","rgb","exec","findRange","multiple","calCandleMA","dayArr","nameArr","colorArr","kdata","seriesTemp","seriesItem","sum","calValidDistance","distance","chartData","dataChartAreaWidth","area","dataChartWidth","eachSpacing","xAxisData","xAxisPoints","mount","widthRatio","validDistance","uevent","trigger","scrollOption","position","xAxis","scrollPosition","isInAngleRange","angle","startAngle","endAngle","adjust","PI","createCurveControlPoints","points","isNotMiddlePoint","isNotMiddlePointX","pAx","pAy","pBx","pBy","last","ctrA","ctrB","convertCoordinateOrigin","avoidCollision","fixPieSeries","series","pieSeriesArr","_pieSeries_","oldseries","fillSeries","linearIndex","pointShape","legendShape","fillCustomColor","linearType","customColor","newcolor","chazhi","getDataRange","minData","maxData","range","minRange","maxRange","measureText","text","setFontSize","dataCombine","dataCombineStack","getTouches","touches","clientX","pix","pageY","offsetTop","getSeriesDataItem","group","newSeries","indexIsArr","tempSeries","filterSeries","tmpindex","style","disableLegend","getMaxTextListLength","lengthList","getRadarCoordinateSeries","eachAngle","CoordinateSeries","getToolTipData","seriesData","categories","calPoints","filterPoints","textList","titleText","offset","round","getMixToolTipData","getCandleToolTipData","upColor","upFill","downColor","downFill","text1","text2","text3","text4","validCalPoints","findCurrentIndex","currentPoints","spacing","boundaryGap","isInExactChartArea","timePoints","pointValue","pointIndex","minValue","findBarChartCurrentIndex","yAxisPoints","findLegendIndex","legendData","gap","isInExactLegendArea","findRadarChartCurrentIndex","radarData","eachAngleArea","isInExactPieChartArea","radius","fixAngle","atan2","angleList","rangeStart","rangeEnd","findFunnelChartCurrentIndex","funnelData","funnelArea","findWordChartCurrentIndex","wordData","findMapChartCurrentIndex","cData","mapData","tmp","pointToCoordinate","bounds","scale","xoffset","yoffset","poi","geometry","coordinates","isPoiWithinPoly","mercator","findRoseChartCurrentIndex","pieData","getRoseDataPoints","_series_","rose","offsetAngle","_start_","_rose_proportion_","findPieChartCurrentIndex","getPieDataPoints","pie","ring","_proportion_","pow","splitPoints","eachSeries","newPoints","items","connectNulls","calLegendData","wholeWidth","wholeHeight","widthArr","heightArr","legend","margin","shapeWidth","shapeRight","lineHeight","legendList","widthCount","widthCountArr","currentRow","legendText","itemWidth","itemGap","legendWidth","float","maxHeight","maxLength","lineNum","temp","maxWidth","calCategoriesData","categoriesTextLenth","xitem","maxTextLength","rotateLabel","rotateAngle","tempHeight","enableScroll","scrollShow","disabled","getXAxisTextList","stack","sorted","subitem","rangeSpan","eachRange","splitNumber","calXAxisData","columnstyle","bar","ranges","rangesFormat","xAxisScaleValues","getXAxisPoints","textLength","getRadarDataPoints","radarOption","radar","each","listItem","proportion","cos","_radius_","getFunnelDataPoints","minRadius","dataArr","radiusLength","getArcbarDataPoints","arcbarOption","totalAngle","getGaugeArcbarDataPoints","getGaugeAxisPoints","tempStartAngle","_startAngle_","_endAngle_","getGaugeDataPoints","gaugeOption","pointer","_oldAngle_","oldAngle","oldData","getPieTextMaxLength","textSize","fixColumeData","columnLen","seriesGap","categoryGap","mix","column","fixBarData","fixColumeMeterData","border","fixColumeStackData","indexn","fixBarStackData","spacingValid","dataCount","itemCount","startX","endX","getCandleDataPoints","validHeight","cPoints","indexs","point","getDataPoints","validWidth","xranges","xminRange","xmaxRange","getMountDataPoints","mountOption","mountWidth","getBarDataPoints","getStackDataPoints","seriesIndex","stackSeries","value0","height0","heightc","y0","getBarStackDataPoints","x0","getYAxisTextList","yData","dataRange","yAxis","calYAxisData","YLength","rangesArr","rangesFormatArr","yAxisWidthArr","unit","tofix","yAxisFontSizes","calibration","yAxisFontSize","calTooltipYAxisData","yAxisData","minAxis","maxVal","minVal","calMarkLineData","yAxisIndex","contextRotate","rotateLock","translate","_rotate_","drawPointShape","shape","beginPath","dataPointShapeType","setStrokeStyle","setFillStyle","background","setLineWidth","moveTo","lineTo","arc","rect","closePath","fill","stroke","drawRingTitle","titlefontSize","subtitlefontSize","subtitle","titleFontColor","subtitleFontColor","titleHeight","subtitleHeight","textWidth","offsetX","startY","offsetY","fillText","_textWidth","_startX","_startY","drawPointText","textOffset","textColor","formatVal","setTextAlign","drawMountPointText","drawBarPointText","drawGaugeLabel","centerPosition","labelOffset","splitAngle","splitLine","totalNumber","endNumber","startNumber","nowAngle","nowNumber","pos","labelText","labelColor","drawRadarLabel","labelPointShow","posPoint","posPointAxis","labelPointColor","labelPointRadius","posRelativeCanvas","drawPieText","lineRadius","textObjectCollection","lastTextObject","seriesConvert","labelShow","orginX1","orginY1","orginX2","orginY2","orginX3","orginY3","textObject","lineStart","lineEnd","lineStartPoistion","lineEndPoistion","textPosition","curveStartX","textStartX","quadraticCurveTo","drawToolTipSplitLine","toolTipOption","tooltip","gridType","dashLength","endY","setLineDash","gridColor","xAxisLabel","textX","textY","labelBgColor","labelBgOpacity","labelFontColor","drawMarkLine","markLineOption","markLine","lineColor","showLabel","labelAlign","labelOffsetX","labelOffsetY","bgWidth","bgStartX","bgStartY","drawToolTipHorizentalLine","yAxisLabel","tStartLeft","tStartRight","bgEndX","drawToolTipSplitArea","activeBgColor","activeBgOpacity","activeWidth","drawBarToolTipSplitArea","drawToolTip","showBox","showArrow","showCategory","bgColor","bgOpacity","borderColor","borderWidth","borderRadius","borderOpacity","legendMarginRight","arrowWidth","isOverRightBorder","toolTipWidth","toolTipHeight","_scrollDistance_","fillRect","drawColumnDataPoints","columnOption","meterBorder","meterFillColor","barBorderCircle","barBorderRadius","linearOpacity","colorStop","save","leftNum","rightNum","tooltipPoints","fillColor","strokeColor","grd","createLinearGradient","addColorStop","r0","r3","dataLabel","restore","drawMountDataPoints","bezierCurveTo","drawBarDataPoints","drawCandleDataPoints","seriesMA","candleOption","average","candle","upLine","downLine","day","leftSpace","rightSpace","splitPointList","startPoint","ctrlPoint","drawAreaDataPoints","areaOption","opacity","addLine","gradient","firstPoint","lastPoint","lineType","drawScatterDataPoints","scatter","drawBubbleDataPoints","bubbleOption","bubble","drawLineDataPoints","lineOption","line","drawMixDataPoints","columnIndex","columnLength","addPoint","drawToolTipBridge","horizentalLine","drawXAxis","scrollY","scrollScreenWidth","scrollTotalWidth","scrollWidth","scrollLeft","setLineCap","scrollBackgroundColor","scrollColor","disableGrid","gridEval","maxXAxisListLength","labelCount","ratio","newCategories","cgLength","xAxisFontSize","_xAxisTextAngle_","scrollHeight","axisLine","axisLineColor","drawYAxisGrid","xAxiseachSpacing","TotalWidth","drawYAxis","fillEndY","tStartCenter","textAlign","tmpstrat","gapwidth","showTitle","titleOffsetX","titleOffsetY","drawLegend","legendArea","backgroundColor","itemList","listIndex","hiddenColor","fontTrans","drawPieDataPoints","pieOption","activeOpacity","activeRadius","labelWidth","ringWidth","customRadius","centerColor","_pieTextMaxLength_","lineJoin","fillcolor","createCircularGradient","createRadialGradient","innerPieWidth","drawRoseDataPoints","roseOption","drawArcbarDataPoints","lineCap","arcbar","centerX","centerY","drawGaugeDataPoints","fixRadius","childNumber","childWidth","gauge","innerRadius","pieRadius","childAngle","proc","pointerRadius","gradient3","eachCategories","childendX","drawRadarDataPoints","axisLabel","axisLabelTofix","gridCount","coordinateAngle","xr","yr","_loop","startPos","radarDataPoints","stepLength","label","lonlat2mercator","longitude","latitude","tan","getBoundingBox","coords","xMin","xMax","yMin","yMax","coorda","coordinateToPoint","pointY","pointX","isRayIntersectsSegment","s_poi","e_poi","xseg","poly","sinsc","epoly","drawMapDataPoints","mapOption","fillOpacity","activeBorderColor","activeFillColor","activeFillOpacity","xScale","yScale","gaosi","centerPoint","centroid","draw","normalInt","iter","collisionNew","isIn","getWordCloudPoint","tHeight","tWidth","breaknum","Spin","isSpin","areav","drawWordCloudDataPoints","wordOption","autoColors","word","wordCloudData","strokeText","drawFunnelDataPoints","funnelOption","funnel","drawFunnelText","drawCanvas","Timing","easeIn","easeOut","easeInOut","linear","Animation","isStop","timing","delay","createAnimationFrame","step","timeStamp","requestAnimationFrame","animationFrame","startTimeStamp","_step","onProcess","onAnimationFinish","timingFunction","drawCharts","_this","animation","animationInstance","stop","_calLegendData","legendHeight","_calYAxisData","maxTitleHeight","rightIndex","leftIndex","_calCategoriesData","categoriesData","scrollAlign","offsetLeft","totalWidth","screenWidth","currentOffset","startTouchX","lastMoveTime","clearRect","_drawLineDataPoints","enableMarkLine","_drawScatterDataPoints","_drawBubbleDataPoints","_drawMixDataPoints","_drawColumnDataPoints","_drawMountDataPoints","_drawBarDataPoints","_drawAreaDataPoints","arcbarData","gaugeData","_drawCandleDataPoints","uChartsEvent","events","addEventListener","listener","delEventListener","_len","_key","uCharts","canvas2d","config$$1","tempWidth","strokeStyle","lineWidth","font","fillStyle","updateData","_getXAxisPoints0","zoom","centerLeft","MaxLeft","dobuleZoom","tcs","changedTouches","clientY","ntcs","xlength","moveCount","cts0","cts1","moveCurrent1","getCurrentDataIndex","moveCurrent2","currentEachSpacing","currentLeft","stopAnimation","_touches$","getLegendDataIndex","touchLegend","showToolTip","_getToolTipData","_getMixToolTipData","scrollStart","scroll","Limit","touchMoveLimit","currMoveTime","_distance","scrollEnd","_scrollOption","formatDateTime","returnType","date","setTime","getFullYear","getMonth","getDate","getHours","minute","getMinutes","second","getSeconds","cfu","category","applyMixin","vuexInit","_init","devtoolHook","__VUE_DEVTOOLS_GLOBAL_HOOK__","devtoolPlugin","_devtoolHook","emit","targetState","replaceState","subscribe","mutation","prepend","subscribeAction","deepCopy","original","copy","forEachValue","isObject","assert","condition","msg","partial","Module","rawModule","_children","_rawModule","rawState","prototypeAccessors","namespaced","configurable","addChild","removeChild","getChild","hasChild","getters","forEachChild","forEachGetter","forEachAction","forEachMutation","defineProperties","ModuleCollection","rawRootModule","register","targetModule","newModule","assertRawModule","modules","getNamespace","namespace","this$1","rawChildModule","unregister","child","functionAssert","expected","objectAssert","assertTypes","assertOptions","makeAssertionMessage","buf","install","plugins","strict","_committing","_actions","_actionSubscribers","_mutations","_wrappedGetters","_modules","_modulesNamespaceMap","_subscribers","_watcherVM","_makeLocalGettersCache","dispatch","payload","installModule","resetStoreVM","plugin","useDevtools","devtools","prototypeAccessors$1","genericSubscribe","subs","resetStore","hot","oldVm","_vm","wrappedGetters","computed","enumerable","silent","$$state","enableStrictMode","_withCommit","nextTick","rootState","isRoot","parentState","getNestedState","moduleName","makeLocalContext","namespacedType","registerMutation","registerAction","getter","registerGetter","noNamespace","_type","_payload","_options","unifyObjectStyle","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","rawGetter","deep","sync","_Vue","sub","before","all","cb","registerModule","preserveState","unregisterModule","delete","hasModule","newOptions","committing","mapState","normalizeNamespace","states","isValidMap","normalizeMap","getModuleByNamespace","vuex","mapMutations","mapGetters","mapActions","createNamespacedHelpers","helper","createLogger","collapsed","stateBefore","stateAfter","transformer","mutationTransformer","mut","actionFilter","actionTransformer","act","logMutations","logActions","logger","prevState","nextState","formattedTime","getFormattedTime","formattedMutation","startMessage","endMessage","formattedAction","groupCollapsed","groupEnd","time","pad","getMilliseconds","repeat","times","index_cjs","getToken","domain","common","uploadFile2","formdata","lawyerInfo","login_type","who","patch","get2","post2","Function","hadRuntime","regeneratorRuntime","getOwnPropertyNames","oldRuntime","Op","$Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","wrap","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","next","done","Context","skipTempReset","prev","sent","_sent","delegate","tryEntries","resetTryEntry","rootEntry","rootRecord","completion","rval","dispatchException","exception","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","abrupt","finallyEntry","afterLoc","finish","thrown","delegateYield","iterable","resultName","nextLoc","protoGenerator","generator","_invoke","makeInvokeMethod","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","doneResult","delegateResult","maybeInvokeDelegate","return","info","pushTryEntry","locs","iteratorMethod","devApi","devDomain","online","hideToast","showSuccess","showWarning","formats","utils","arrayPrefixGenerators","brackets","prefix","indices","toISO","defaults","delimiter","encoder","encodeValuesOnly","serializeDate","skipNulls","strictNullHandling","generateArrayPrefix","allowDots","isBuffer","keyValue","objKeys","format","formatters","arrayFormat","joined","addQueryPrefix","hexTable","array","compactQueue","compacted","arrayToObject","plainObjects","merge","allowPrototypes","mergeTarget","acc","decode","string","out","compact","refs","isRegExp","percentTwenties","RFC1738","RFC3986","arrayLimit","decoder","depth","parameterLimit","parseValues","cleanStr","ignoreQueryPrefix","Infinity","bracketEqualsPos","parseObject","chain","leaf","cleanRoot","parseArrays","parseKeys","givenKey","segment","tempObj","newObj","Request","baseUrl","beforeRequest","afterRequest","weixin","$http","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","startDelimiter","endDelimiter","char","isClosed","compiled","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","getDefaultLocale","isWatchedAppLocale","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","emptyObject","isUndef","isDef","isTrue","isFalse","isPrimitive","toRawType","isValidArrayIndex","parseFloat","isFinite","toNumber","makeMap","expectsLowerCase","isBuiltInTag","isReservedAttribute","remove","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","_length","nativeBind","toArray","to","_from","toObject","no","identity","looseEqual","isObjectA","isObjectB","isArrayA","isArrayB","every","getTime","keysA","keysB","looseIndexOf","called","ASSET_TYPES","LIFECYCLE_HOOKS","optionMergeStrategies","productionTip","performance","errorHandler","warnHandler","ignoredElements","keyCodes","isReservedTag","isReservedAttr","isUnknownElement","getTagNamespace","parsePlatformTagName","mustUseProp","_lifecycleHooks","unicodeRegExp","isReserved","def","writable","bailRE","parsePath","segments","_isServer","hasProto","inBrowser","inWeex","WXEnvironment","weexPlatform","UA","isIE","isEdge","nativeWatch","isServerRendering","VUE_ENV","isNative","Ctor","_Set","hasSymbol","Reflect","ownKeys","Set","tip","generateComponentTrace","formatComponentName","hasConsole","classifyRE","classify","trace","includeFile","_isVue","_componentTag","tree","currentRecursiveSequence","Dep","pushTarget","SharedObject","targetStack","popTarget","addSub","removeSub","depend","addDep","notify","VNode","children","elm","asyncFactory","ns","fnContext","fnOptions","fnScopeId","componentInstance","raw","isStatic","isRootInsert","isComment","isCloned","asyncMeta","isAsyncPlaceholder","createEmptyVNode","node","createTextVNode","cloneVNode","vnode","cloned","arrayProto","arrayMethods","methodsToPatch","inserted","ob","observeArray","dep","arrayKeys","shouldObserve","toggleObserving","Observer","vmCount","copyAugment","protoAugment","src","observe","asRootData","isExtensible","defineReactive$$1","customSetter","shallow","property","getOwnPropertyDescriptor","setter","childOb","dependArray","del","strats","mergeData","toVal","fromVal","mergeDataOrFn","instanceData","defaultData","mergeAssets","assertObjectType","el","defaultStrat","key$1","inject","provide","checkComponents","validateComponentName","normalizeProps","normalizeInject","normalized","normalizeDirectives","dirs","directives","def$$1","mergeOptions","_base","mergeField","strat","resolveAsset","warnMissing","assets","camelizedId","PascalCaseId","validateProp","propOptions","absent","booleanIndex","getTypeIndex","stringIndex","getPropDefaultValue","prevShouldObserve","assertProp","_props","getType","required","valid","expectedTypes","assertedType","assertType","expectedType","validator","getInvalidTypeMessage","simpleCheckRE","isSameType","receivedType","expectedValue","styleValue","receivedValue","isExplicable","isBoolean","explicitTypes","elem","handleError","cur","errorCaptured","capture","globalHandleError","invokeWithErrorHandling","_handled","logError","timerFunc","initProxy","callbacks","pending","flushCallbacks","copies","MutationObserver","setImmediate","counter","textNode","document","createTextNode","characterData","_resolve","allowedGlobals","warnNonPresent","warnReservedPrefix","hasProxy","isBuiltInModifier","hasHandler","isAllowed","$data","getHandler","handlers","_withStripped","_renderProxy","measure","seenObjects","traverse","_traverse","seen","isA","isFrozen","depId","perf","clearMarks","clearMeasures","startTag","endTag","normalizeEvent","passive","once$$1","createFnInvoker","fns","invoker","arguments$1","updateListeners","oldOn","remove$$1","createOnceHandler","old","extractPropertiesFromVNodeData","attrs","altKey","checkProp","extractPropsFromVNodeData","keyInLowerCase","hash","preserve","simpleNormalizeChildren","normalizeChildren","normalizeArrayChildren","isTextNode","nestedIndex","lastIndex","_isVList","initProvide","_provided","initInjections","resolveInject","provideKey","provideDefault","resolveSlots","slots","slot","name$1","isWhitespace","normalizeScopedSlots","normalSlots","prevSlots","hasNormalSlots","isStable","$stable","$key","_normalized","$hasNormal","normalizeScopedSlot","key$2","proxyNormalSlot","proxy","renderList","renderSlot","fallback","bindObject","nodes","scopedSlotFn","_i","$createElement","resolveFilter","isKeyNotMatch","expect","actual","checkKeyCodes","eventKeyCode","builtInKeyCode","eventKeyName","builtInKeyName","mappedKeyCode","bindObjectProps","asProp","isSync","domProps","camelizedKey","hyphenatedKey","$event","renderStatic","isInFor","_staticTrees","markStatic","markOnce","markStaticNode","bindObjectListeners","ours","resolveScopedSlots","hasDynamicKeys","contentHashKey","bindDynamicKeys","baseObj","prependModifier","symbol","installRenderHelpers","_o","_n","_s","_l","_q","_f","_k","_b","_v","_u","_g","_d","_p","FunctionalRenderContext","contextVm","_original","isCompiled","needNormalization","listeners","injections","scopedSlots","_c","createElement","createFunctionalComponent","mergeProps","renderContext","cloneAndMarkFunctionalResult","vnodes","devtoolsMeta","componentVNodeHooks","hydrating","_isDestroyed","keepAlive","mountedNode","prepatch","createComponentInstanceForVnode","activeInstance","oldVnode","updateChildComponent","insert","queueActivatedComponent","activateChildComponent","destroy","deactivateChildComponent","hooksToMerge","baseCtor","resolveAsyncComponent","createAsyncPlaceholder","resolveConstructorOptions","transformModel","nativeOn","abstract","installComponentHooks","_isComponent","_parentVnode","inlineTemplate","toMerge","_merged","mergeHook$1","f1","f2","merged","SIMPLE_NORMALIZE","ALWAYS_NORMALIZE","normalizationType","alwaysNormalize","_createElement","pre","applyNS","registerDeepBindings","force","class","initRender","_vnode","parentVnode","_renderChildren","parentData","isUpdatingChildComponent","_parentListeners","currentRenderingInstance","renderMixin","$nextTick","_render","renderError","ensureCtor","comp","base","factory","errorComp","resolved","owner","owners","loading","loadingComp","timerLoading","timerTimeout","forceRender","renderCompleted","clearTimeout","getFirstComponentChild","initEvents","_events","_hasHookEvent","updateComponentListeners","remove$1","_target","onceHandler","oldListeners","eventsMixin","hookRE","i$1","cbs","lowerCaseEvent","setActiveInstance","prevActiveInstance","initLifecycle","_watcher","_inactive","_directInactive","_isBeingDestroyed","lifecycleMixin","_update","prevEl","$el","prevVnode","restoreActiveInstance","__patch__","__vue__","teardown","_watchers","renderChildren","newScopedSlots","oldScopedSlots","hasDynamicScopedSlot","needsForceUpdate","$attrs","$listeners","propKeys","_propKeys","_$updateProperties","isInInactiveTree","direct","MAX_UPDATE_COUNT","activatedChildren","circular","waiting","flushing","resetSchedulerState","getNow","createEvent","flushSchedulerQueue","run","activatedQueue","updatedQueue","callActivatedHooks","callUpdatedHooks","queueWatcher","uid$2","Watcher","expOrFn","isRenderWatcher","lazy","active","dirty","deps","newDeps","depIds","newDepIds","expression","cleanupDeps","oldValue","evaluate","sharedPropertyDefinition","sourceKey","initState","initProps","initMethods","initComputed","initWatch","propsOptions","_getFormData","__next_tick_pending","getData","computedWatcherOptions","_computedWatchers","isSSR","userDef","defineComputed","shouldCache","createComputedGetter","createGetterInvoker","createWatcher","stateMixin","dataDef","propsDef","$set","$delete","immediate","uid$3","initMixin","_uid","initInternalComponent","_self","_$fallback","_name","vnodeComponentOptions","superOptions","cachedSuperOptions","modifiedOptions","resolveModifiedOptions","modified","latest","sealed","sealedOptions","initUse","installedPlugins","_installedPlugins","initMixin$1","initExtend","Super","SuperId","cachedCtors","_Ctor","Sub","initProps$1","initComputed$1","Comp","initAssetRegisters","definition","getComponentName","matches","pattern","pruneCache","keepAliveInstance","cachedNode","pruneCacheEntry","cached$$1","patternTypes","KeepAlive","exclude","mounted","ref$1","builtInComponents","initGlobalAPI","configDef","defineReactive","ARRAYTYPE","OBJECTTYPE","diff","syncKeys","_diff","rootCurrentType","rootPreType","currentValue","preValue","currentType","preType","subKey","flushCallbacks$1","__next_tick_callbacks","hasRenderWatcher","nextTick$1","mpInstance$1","cloneWithData","dataKeys","compositionApiState","__composition_api_state__","__secret_vfa_state__","rawBindings","__webviewId__","mpData","diffData","$shouldDiffData","createEmptyRender","mountComponent$1","template","updateComponent","renderClass","staticClass","dynamicClass","stringifyClass","stringifyArray","stringifyObject","stringified","parseStyleText","cssText","listDelimiter","propertyDelimiter","normalizeStyleBinding","bindingStyle","MP_METHODS","getTarget","internalMixin","onError","oldEmit","my","createSelectorQuery","createIntersectionObserver","__init_provide","__init_injections","__set_model","modifiers","__set_sync","__get_orig","__get_class","__get_style","dynamicStyle","staticStyle","dynamicStyleObj","styleObj","__map","iteratee","LIFECYCLE_HOOKS$1","lifecycleMixin$1","oldExtend","strategies"],"mappings":"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","file":"common/vendor.js","sourcesContent":["import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () { }\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook) {\r\n return function (data) {\r\n return hook(data) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook));\r\n } else {\r\n const res = hook(data);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = getApp();\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'unipush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n return oldTriggerEvent.apply(mpInstance, [customize(event), ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n if (!oldHook) {\r\n options[name] = function () {\r\n initTriggerEvent(this);\r\n };\r\n } else {\r\n options[name] = function (...args) {\r\n initTriggerEvent(this);\r\n return oldHook.apply(this, args)\r\n };\r\n }\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) {}\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) {}\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n if (event.detail && event.detail.__args__) {\r\n extraObj['$' + index] = event.detail.__args__;\r\n } else {\r\n extraObj['$' + index] = [event];\r\n }\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return event.detail.__args__ || event.detail\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(event.detail.__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nconst eventChannelStack = [];\r\n\r\nfunction getEventChannel (id) {\r\n if (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n }\r\n return eventChannelStack.shift()\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n Vue.prototype.$hasScopedSlotsParams = function (vueId) {\r\n const has = center[vueId];\r\n if (!has) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return has\r\n };\r\n\r\n Vue.prototype.$getScopedSlotsParams = function (vueId, name, key) {\r\n const data = center[vueId];\r\n if (data) {\r\n const object = data[name] || {};\r\n return key ? object[key] : object\r\n } else {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n };\r\n\r\n Vue.prototype.$setScopedSlotsParams = function (name, value) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n const object = center[vueId] = center[vueId] || {};\r\n object[name] = value;\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n }\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (this.mpType === 'page' && typeof getApp === 'function') { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n\r\n return appOptions\r\n}\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector);\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || component;\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for');\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || component);\r\n });\r\n return $refs\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n })\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions, {\r\n isPage,\r\n initRelation\r\n}) {\r\n const pageOptions = parseComponent(vuePageOptions);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vuePageOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions, {\r\n isPage,\r\n initRelation\r\n })\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n if (!hasOwn(wx, name) && !hasOwn(protocols, name)) {\r\n return\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA5wAAAGOCAMAAADM7fxaAAABGlBMVEUAAAB6cfGTifdnXfFnXvBwZ/KTiviSifiSifd9c/R8dPNnXvCQh/aVjPaUi/aMg/aHffV5cPN2bfODevWRh/ePhvdsY/GJgPWLgfZ4b/N7cvRwZ/KFfPWAd/R8c/OTifeBePR/dvR9c/RzavJnXvCIf/ZuZfF+dfSOhPdyafJrYvFqYfFpYPCCefR0a/N1bPNvZvKCefVmXfBlgOxnhO1he+2JgPaFfPRmgu1geOxjfO1heu2Ui/dkf+1nhex+dfNfd+xzbvFjfuxng+2GffRlgO1ohuxfdu1oh+xmg+1ngu1geO1lgexedu1qZPFifOxide1raPBlbu9maO9jce5kd+5ua/Fpc+9ofO5rbvBpeO5te+5vdfBxcfHJYoRYAAAAD3RSTlMAFo6l6H/zr+ZWOtDR0dCgddC9AABt9klEQVR42uydaW9SURCGqfsS9624i4qNVmlSoo1pMTekjTZ88QvS2v7/vyEMXF7Oes9h7lmofS33It+fvDNzZuY0RN24cPX2tSu7gl656aGrHum1odMdd63r9OTJk8kHL7Pey7rrrud6PSB9+/Zt+qIvqj4b9VqjFzq90emDRi9fvmyNP3iZ9VSne+5q6nTfouLvzwodCOr1evRw1S9JO3+e2bQlqa3XY1d91OnTXJuXbl68fKNh1NqFa7ta8eBU5QnnBgtOfLVLZZNHJ/AEowY5sQk4NYBWswk4ZwKGrTRwjv9DPwHOg58+ePb89EvW/nFNcLbrgHP69dLlNT2aV+GYYdmM65x4BDBOkMmA08c4CUwmnOUjqHM2q+FsTh70WgbOHh/OoY3NuM4JSC9q8LwONGVx0VThjIOn7JlWSN+rqtc26cGAE2LEtSQACEid8WTBCTxhn/ilCk45qGXiuTMauqMJPFXVjOel6zKbF8BiZN+EGGySqtCkzDM7OH1STn7SCRqrM0+WdTqwCfnDOck3c4DzsYfc2Nzc3Lwssnl1N0s473hJC6YxqOXDCbnCafDNB7HgJBydI9s49SDoxBHO3nLG2VXi2uRwAkkBzk8XzWxGLtZCDDhJJjhdGH0fwDqBp0WfzfIIarV4muEkVeIZHs7FXzqA08U7vdnsdmU4j5xyTogBJ8kNzokuCmxy4azBOfVB7QYzpJUj2/XIxgnr9K0IMTJOkj7b/CBh2XLiEnA+5deDoKYPnBKYrnR2zRWhP15sMjJOcKnAqQN0kc7rWbAJOAVx8k2AGTSqfc6Ek5tyvtFLm3FyTjn5xVoFTeGXU3c4fXzTG84tvRhsAk5FJu+cVYXWrp19ONfP4cwNzubsnz+cvSXU1cC5c5wxnJfW5oXaDOpBjKiWZOsPwhdGwsmo1k645ES1AJMd1SKctTcgvAxXqgWdhfBTcVB3vglRwqnAOfSAk9GAQPKKasuS7dqVXTadgU45mbVatCAEgRNoWrwTcPJPOQGmC562FgSByhRwNuGd94sJlwTnYRDj7JI0cA5GwzTVIMCpR5P0eA3GmWMLQj1wkgLCCaWC840XnKTgcOoAlStBom/GhnNnYDpL2coBTrLOa3nAyck4+Umnnk0+nFA9GSfHOPlJ5z0PORRrkXMW1Z3vMy7p4cElPfRs7uyYzlL4Gacqr4yTdGk8hxInpoVCoGnmkp6ROxDUqRTuQQrQ5KScOEVxIDNKexAKQgWaazVcLmGb4NMC559hyFMUyFwMstF5o3EhBzg3osC5fg6neMSZBs751yZZ54xMK5zo2fMDswrO46zhvNy4mkM1aAziowATKVUCmyFPUmZkukW1EA9Olc4fP34AzGVyzvpiWoJSyTkN/XtSQ61v80G3lEgmaX/kDucWE07n9iDoYuPWbh6nnI/CVYPWw8AJ2eGEvFprGTmnCc7ZQMpynbX3fGSEE4bZpHdBVNLDCCcSTv90E5LYJO0NmTMpjIKQ2TVLRG82ruRxyvkoYKk2CzZNQW2kkRTA6VUQ4sNZnXCiIKTvQlhwTgacalBrrAhtBS0IVcOJitCVLIq1AUY5oTDlIMgFzYkYGSfIZExa69rdW8l2lKgdQs2ib4Gz51enFaWSSdI38AWyTX88Gxw2gWaWC4QcU89QvgkurQuEQse0ENDMYg0C/ZtXanHQGRPO46EGzRWB0zGofcVAMyicjrNiT4LDSY/0cCLhjA7nApelbRZIObHiy957cOCFJiSCOadzMMoLTko4oUa2xdqxPNAEnq7znIAzeLHWWg/ywpPT9o55TjDqUqyFmMXaJrqDpJAWZykqmSWeTlAKcJq8E3QOto+WKNZCSxVrIQc40w9aB+kOKqmkb9DXuMOc1Yhym/c8R1KUpDPOSIq+GgQV9KfACS3lmpA2qN0fbKtJZ7zuoJVxzrPWHyRSSa/MWhCC9wdV12qbaHonFScHC1yWf56V2go2YZz7Ex0Pc2rdk3PODEq1Y53D+X/BKc5ZE6IlnJAhpuXDuQM4Rwqc6XZ7qXBmYJzEZqCe9+Xg5E6LAUzUg7gNCJyJFES1k0/6QeuZcRKQtl0IB/WxCS7B5mAw2D+KfchZHdUCzixaEAJUg5R5Tp9qbT2LvQCmGU6WcZL84ETFNs1ICtDUeSfOUmCazsWgSjh3KKKdi+DkxLXtAHBuZgfnBgtOaKkmoUBb954z4AzVgqDOc6ZpQYBxwjtRrhX69sAmA041pAWco2E+LQgrA2cdGScp5bgYsk1GqRbiwLm4DjMT45QGxhbgpCdx+dPZOC1aAHOxVktZ597RlghnNhlnFnAGO0hxLAlx0GTs9uKhCbmPWZNz0hNKdpBSCNNi9EZFSN6DyaJTNE2wOXXOPfkwJV2tVnXO9DMp53AmgrOVBs5ms/RNgUy0vpNfQox4VgxqtXAirvWGsx0czuQxbbBJazcFCWoXwawLTk41CNcXMU5SePlmU/ZNBUx69HGC8pPvnOoZCjSYCXFtjGoQFAnOVww4w9/+V73bK4B3ahLOIDMpnq17rYD35gJOI6CAEw0IUrn2L9JNiJFvCmj+kuAk79z+MxTgTNhZq8AZOKSFIrPJucCID2eGXe+AE0px9Z/cWFsAUQOczqZZbZvQ/hzO0TCPrnc2nKryXorpFOCGgxOEJj1JgW06NQkx0CRVo4nmPaiYwalquTLQ+NNXyETGCe0dtZ9BOSzFrAvOTOes53AyUk4GnLw5ax84PWNaoJn2kLMQrZM+9DzpmXzTH86+ZJu/tHAOthf7EHIZ5awBzoe5LkEQY9p1TzjZXQjMaxg+M+tBb2wJJ75GhxPGSY9yeRDU6Zz2qRYkwrmMdxKU3T6BabJOCm0ncW1ZEspnzjoWnFC0Yi0YDeucjGItKWKxtjWRdEdKK07bu1qsnREKxyxTz05xOCUTctoTVDnAqfAJOMcloTyKtQqeDW496BWDy7DHnHBN6zwnZ8qaNZLyOdZWTByk6OY54x9zEpqQ4JyVSWc1nKCTACXztDgnzY0BzmfpV717wsk3z8hsAslVa0Fg3MNgMU4gmGIkRXsLQ7OQWvemdJ44ggks7cbZn5impSIkHHVGM85P53CuIpyvzyCcwFPe7AUs6d0ZN/D1neCEZ+qrQf3++I/QRERrgJOOOlcIzjF0u45RbZZ79xDO8hoQ+ClnbXv3XnNSToSz6Yu1zUIT1xZlWDtOOntuztm1qg80NWyOgUTKOaCSUPJ60GbtcGY8kvIEWo+8TVqa5+SfclbDCdnhJFkpDXdJCna9F7BO8ElsjpNOghPy8U2g+YvgBJomOIXu9yBLEM4anLWsxMxg1XuucFoVMKglMMtHofQHFTXC2a2Cs9yEAOuMB+cnVziT35ISZkOJ60RKmBUlEHNFCcReWUt8JoITbNLDsHuP4lqnpLNrF2E5jWn7gNOWdJJ1RmveM7CpNr4nWokJMdAkmWtBHmjy4YQ0XPJXlPAuSanYVQuFXx6EkZQCz0XrPLXDCQSrjbM/oVNnm+CypPN4uOUK52M/eYxZ/39wrq8YnJ8Dw9lKDqdwZy62lVDOaa0IIZq1FmpnVPanr0MnOPeOzhacD5Ov3QOZEpyctXv8Ui3nztwAMe2UTTCZFs6STKxBgDpK0ukV0SKo7RKZVdUgiKwzXjWIl3MmqQZBtV1gVMlpEDifWy4wgsxsaghlwInWvVKtJKec9GrimFOoCNHn7RTOk97SMS255kyA81AFFNWgyWtqne1o66RXGc66ut6rFWzMuhrOM3m7mOmUE3SCTUWd+x3S6SEn4eyP/0hC454FTlhnXl3vEzizuzS3hmFOqArSAGsxwSfEzTg5eBKc7vOcvDlrLZ62lFNwzw6pGPUOIGcy0XwwqwWR+oeHh6bQlh6E6bRgCyajD3Nu6vSukd0CIV45SKKxgk3G3X8MNOOukwaXLpknM6a953hLSgEwhZTTlnR23VQGtZOPyTrntrlonSM362SVgwjNFYHTENRuMOtBzvOcNjT5cPIWlFTj6dyAIO4o8e8OelpzPagp+eaicQonneDSNaYlLssH0NTDWWrfZJ2mtXvMetBHBpxoEKqQB5oPYxZrFRfNDs4HjAYEyBVOYaF0wm3SmBdDXCuog8MUEU4v14QcGhAE62xnVazdbKTuDtIB6k/mMp0I7zlbEJwyzoBbEIyDnOak03fVO+RPZnXGCS5hnAXiWmxBcOaS/hQ4tSMpsmuWWedvFc6t2FsxYZxwziQtCIGWSae4+Q9s1p50cq/MJc9M3ldLEo2zEBuF3pbOeSI55zKmSW0IBuMEnIp1BjxJAZjncJ7DmSecaN6T+OyU+nJ66Akn8EQ1yAdOHKecETjz7Q9ynee0sMlvQFiyHsRZUYKoFo178waEHC4wKudSdAknwlo6TEFU6wsn8OyjAUEQ6rRiuXZ7+/tR5Jv/gGa97XseaKYYtF7GO6NcZ80ftK7eggA4yTo/SFS2Ui3em14sho21MM4Cxomk08c1RTinrbUm39whKqHZFr6xjoe5DFpzCkIEZ7bXMESA8240OEkMOOGc6bcgyJVaaZoThyn+cApgWuGUTzjhnDhOiQ6nc/te6IwTCgMnvehtBTPAJUYPHLVExslPOumZCE51tRfepXGiXDs/TOk6q6/IgKc0kQI2SaOjdkA4+Ucpr5yU9SUpbq4ZIKyFX3JXYkKclZjY7ZXH/iCs9lK2vROaYlzb9ZAY0wJNVYhmJTJJx78Dt70bsPzf4Fw/h1MDZysNnDjlBJjS/iB455eT/oROPzL94cQTcH7/0159OFd67V5lrZYPp2XtnmdjLXd5UC62KRpnodkgBO88PfSFU45r0fEuC2RqjBOBbVuvaNWgdzhKCdpZGxVOdusef2AMjIYq1vrtxJTnOZOVatW1mED07f23sM7ibxc5p1/DO+A04im17u0LcO4d/27b4Wxz4VRlgDNZ13uoWxjwsIpXC/KBk3/1HxNOeqRaJg0Z9+5ho/RivfYfe+ff20YRhOF8A6SCUIKKgBgQFIgVQYNqFNFLFSE5UprQFijw/T8He7O3eXLeH7frub27tLyxz3b796N3ZnZm9qfynBMBZ5pNXBNd/Cl01nZOFHfOhzppDZBF85ygqRrlrL8UU78GAUIRkKbhRAo0/ZTTrwgxyinG6WLbk2b7U6Ft+kpPWosucU20efv113NemstUyrLmrBXrpEGz8jrpTNscrx6kgXOHRn6Ne7lYmk0EmbujnKtHQiXN73XgZM6aDSWe3oh1Vp5JAc0HAucIg9bFQS0aZ+0ecOYtrEVBMlVwCo7ZkW21Te9IirVsEKIstG5fK7dGSOq1leG8pEx7KU90TmCrgVPVgPAlYW39Ym39rZjACaNleGqMU7RX/wEq2PQexDMIZ8E8Z6V6EApXg0R2JOUR/bVbks6yYi3aRuEUEdP6gW2dFSV5GSdwLqrtnS0Io42kxJLOyt1B2q2YaTiDim1BEBHYxricdAtCEzrnbFzOKa9/Ru0OQr0xa881OU+JSbl2L3eYU+BcVAsC8KlSzsrzYo+VcE7XgnBH5QKKtd0aBNQb5ZS/9ar7IvXabf7WoMKo1ugu1cQ8++cpf8TYVMIZYvM9g/PwfziXBueRHeZkZRB8rttX65YtlY9cvbYunEZBNDntfKhwfjRXVAuaITyhcqh3r3JU23K5kKiWcDbdgGDeletBR/L2Jb5pU82VQdT4JnGtAs4wmNSDDJehqJY2vtt9GhDQXlEtaH6/d85Z8eo/LZzyqAMn1dpMOPUDKZpqEC0I9o0mh1O+ytO88M67D2OXQqR1zsbtQ1AlnalCrXFNikEQOkTnx9Nc/QecS2pBGAdOUUU40Txwojw4RdXhjG6Thk5fjlKXbHYeKu650lhnGk6cM6Hzzdvb9xVOkJwj6dRlnDl8LiDjvJ90zr8V8+7qXHyT2+bbnFP8k8FOaeEb1Ti5hsHIkCnPKJvnF5Rs692Skj5KqRTTogiZlW6bn3G31/jXiynGrEWKC3Mr5JyxjLNZW7+8c81G0k9jnVtNypk+RSGajcFp6Hzztt5KTBQm812H8/B/OHtwHs8Dp/tKRajpvdfimu65tvUgqdf+86ICnMSzaTiFzj/eZTgLlknrx8V8zdJZ25GZF9UiBZyi2J25uTlnvZiW5gMW7+04J39N+xDrPFlREtKfpLB270fKtIN0cqBSCqeiPQg4Jz7lRBXuFpPHBNfNKxfWflj79j+2ew1dN4/2gRMNlGrlz6gPJlmn800Dqm2yNd55cmKsc+zOWnr3suCETv1MStw1A4h2cC6m6308ONHk82JIM8yJdLfNHyv2B+nhDF8vBpg8bZ5pLbN9N+1nC+e/2xpd78Y3c9gUmeHOEjSR5nYxp4PaxdrJdpSgOuUgNIjmaJfm6iatQ+3ux/PvKPHuYZA809qmm+tcrU9alca1oBlR3zPjkJ47XXDcWWfvXgmcmWgucoFQLpp1W/fSN1r/8E7eaJ3RvAebu7qr1dKJYH62zklJaNQ56/twJnwT71wGnJlBrWKhdF04M2fFFDtKtEsQpoVzn4QTjZVy0ljb8033EuNkntO8G/M+6azzxZhwSj0oO6jFO2vBScIZLggtplirXlHiL987DMNZvVirnOVEimKtv3wPRtPFWqQs1h7t0mlhDN5n3cjbpp5rW6y11rkds+3dYNc5J4wO40lku1exFuXCeeeci9mKOcZyr8A859nEw5wgqt6CEFbhSEpO0qngUlQyycn/MJOylgKtVWN+tRZ6IlpREtKveu9KQX0mo0knurh4c1urOygN5wNs3Vtif1AmnDEp9+6lU84FdO5ZKHfDWrHSuyKtPe/sHuKcZJ1jtSD4DXsJNpHQqYZTk3PWhxP9D+f7BadzTj+sXYtT2rWYj+SbfBc2OU0ZD078sgRO08mnO0jRw/lZhuZnMyPlTGt5DQiaqDbd896+5x+0dnQihsbcKYrNNm2/0HoFnX+9GK0edJ/KJKXnnsro1EW1wLmUQetvFONiiXnOs7Ocau3E11mfyhudKk45RRE4c+c5tdWgAe9k2zstCIjOvaYr18pJylpjnZFjFFcEsm+UA+eFmSCrAGd4XGxvOJe9TdqD08h+UQS1te+aP63UgpA7z/mJDs5M5+zfkgKituudctB6JX8n+1vnNnqSQoX2MpdN6Pzztu42aXxzaXCqg1qOOM3T6qwTbFabSMlUDpxIA+exU+3r5nPYND/tnyfrlo1000rRVkCFTayzAM7kHSmwWQYndI6YcS4OzioHKcB5GIQT1ThF0TpniXVmp5xOtVPO3GXStL3zbiWuybXzjbFNSTk7rWhESJMJmtt4WJvb8e7DmU3nE+X9Yu8mnH35dJ4tAs7TXTIVrbVlcB7PA6f8g/wZGhEJaOudNu10zbWwSSPC+HBelsFp9PLN7aRwLqMaZKRD0x8ZO0P3bXP2q+Zz4fxUByd0znBLinglsjf/ASVcSnHW3ZLSfa6oB2GdRXCGS7UIMvPghE5TtL3VTlqD5gLhTOScejhRBM4Z8OQc5cNTUT+kzTROVND2jlL9e0o4I4DinPJi1x6+SSmIJiGxTpwT61TueqdfL791z4fzJaGtqiAEm6kOoQWMWY94Lyc/znLh1F9p/aEKTqPabALnPMXaI3nF9+61hsnMWMMxJ9apPuWEyIJiLVwKmy60va172/yXhXAiBZoqOFH6EEWUwHMOONEpEkbls4JxHsc0dWstpVrxTgJbGOWk0xmnZRM1f2+Vw5yXqLAihGlC5++3NZZi6uEcwzerwemU8M46c9aFeCIFnEW+iWaYs+YUBSqxTrcXszGfrj0IOoutM5xwjoImeBLaVrnRGjjRDPf+oVEHrT04QXN8OFm2l6EEmvXhZL5zKjgZ5WSvNMln3zXl02aeJ45Nss4gnZFK7TYGZ2bC+WMaTsyzPpxoxmKt0jn7rgmbSEpEWjgfB+FERWgC5+locKIUnHxUWIvpzXIKneEehLUdF2vsp/DZ0IBw3zr/yoczLOAUwWi5c0pdiEMVxVrMITjhctQtCBVzzsxTzkjCGQJUA+fPPe0HZxabKAfOuHMaTXDMCZs9LinW0rfXrT/gzvkAnCbrfJEFpyg+kpI3z3kfTPMO0ol5jr7qHTgXcGVuBTgPw3COH9X+XApnAFCdcSpyzppsIupBvUlOuoMESvtak3DmWOcQmWjPlJMybQDPm7e3T8ZvQVgcnDoyqdPyYTQ+nI+VcMbAfJfhjHTV9m8Xu1NDe9COdf6LdUadEzaVcKI4nJuXL395fXtdG05BMwfPEjQ/mgVO0PSSztS0mN440Uil2s9r1YP6YNaoB4XaagVP5lE45WywTvMrYp2rVdA673PZvqNwEs7mw4lxRr1TYtvrDDjze95ngRPp2MyF09Low+lrOjiJajnoLIMTNlEZnFRscc1qIylHR7TuHTkykV1YywGnrd0yLtaDM2Sd9z3Tskm11oczc56zR6Z5pen8xcNTA6fRuwcnS0qoBvXgrNMf9HNQ+cbpBlJO8+HMW+2VhFMEnBWXIFAQIq7FP+kP6r7YHiFaENDKKLBNaDekjcW1FIIy5jm93qA4mZtNi+cNeOpaEHw4519Rom5AcOIbcO5Mc9aEExXCGTbPCnD6ffBV4fSTTtCETyvW1sLmDp2+de6wmSrVouG+d8BM1oNE4FkIZ+KOFOCcZCWm/gYjlIQTRMFTflZyTqV3KhtrRWXFIHlOuTzI7w5CYpd3297daWfQOcU6t4VwEtOK8uY5gTOhjYETWTyfAGfhmDVozgKn3jlR1lXWwFn1BqNS51wUnMeV4Mw3ztYn3apayTq5icGH068JkXBuK8AJnRHnvPDwfDIynPOv3VOuKIFRgtoInCrbVLL5wyhwKqpB86zdo1rr49nekfKItXvyTVLOdYBNryaEad6DM1WqzVCyb28jD/nYSJOQjWvl4UpD4WqQMuccB040+SknbJJxJnaUAOd0xjlMJtrHNtFANWiawFY+uiUI4cB2ZV52eZB8WuOMFGtF7Pryq0GDHQi9ec6YPDST1un43MjD4Pn61fX1d5rOWgWcs4+kpD1zF9JAzjkjnKeTwZmIaacaSYFO/xaGxr26gLaFUj7spvf2FWKTmlBuwgmbwKmPaTcbxyZkmqf5MHhe3fwOnoNs6uFECjiRDs0PgmgifgFn1Utz88PaMJylQW1OYJsgU36MOGcdxDOScTbdE7nyLLsQbJQbNE7/OAUw+/LghMzhJqEWy2HffBnR06e/3Hj2uZ9tknNOBmfQN79RwskDweQ4C4RUbMoiBLxzR/lw+iqMaUFTNWcNnHm3pOCZfDYyICb5pivYNs46Y3B+2xvsxDfRQEybbZ0XLaIhy9zY79YszbNLOp15PjV4muIQfBo0FwVn+cJaLZx8ZyCFalD3PFPXgxQdQsCpKQdl1oNSO0r4ajTRScoRZO7gebfVy/wQ04z0vTsxnQKZMTSBM3tHSUtlOqbdOeWkKCS/nrYSPt8Inx2cTxRwwuZIdM4waO3NowCnrh6kN07g1KecnxYWa9PznJ9UvsKIebHeoDWSSm377rzTsIlzBq3T1oQslx2aAyln0YISQVPY9Gu1fJMXSad5GwGn5fPKxLctoKgYz4NJLxerM2XtwQmZgmkSzq+qw4lScOq7g1DqIIUfn0Sl7qtNj6Q08nbGue56g4yF2r7aYA9CvyYUKAXRV+srtayW32xBuBiWQdH6Joz24bTx7evWQK8LD1KAs8Yp56xwwmX7WIpzYpzeFgQFnIs/5XTGSYm21/ZOrmmj28i8mBHWaQJblBfWAueAQrMom1Bw6wJZ+2pFWNvn88oB+v37Cuf9QU66ELzikCrn1Kec+i0IDxXOoG+2xik9tWzeMx8nUTgJbGPGGXTNUjhT6SakCo5in0ImYa3PZwuoIdTGuG1DbQac5uerV68OHtCgdZxO+wZGK33KCZhqOD9UwKmeFiOcPZ7y1lz6g8AS42xcytm1BzUm3UzCSWCbjmrTu4MSihxwAqT70nNNhydseny2DnrVemiLqBF0+hIsf39989tvzw8YFxvQ/IPWGXCSdOKaoKmBM4/O4kHr05HgRGk4qdhOsXhP6kFEtb2qkLPLRl62T+gkjOZOYPvP1icz3YKwQyW/++qBeZ7wz00HJ9YJnEE6rZ49e3bVuqiB1FAqum5pvL62P8w/v35902L5/PkzI4EzS/P3Bw0mnfIMeqYezsdV4CxEUw8nqgunH9X6pylimMjAmsw4Oez8y9H5ohTOtDzfDJ10mjdQtp/YZwpM1GL3/Orq2U1Pz52eoYO5JlL0cEInqgMnZEbprL5N+gsFnPA5KZx+sZYFJUcGxf6fkHqSA6cJbLdDzUGoaCKlD2OoE4FJaykBlcEJnuY9rIPMetD8NxgNw3nYmxXzotoqcAqX8ihgEw2uKNHDCZAW0Mmdc02yidpCUNd7YF8Mi6XpJLDFONPO2YtmM9k852m90jmnHUshkkX5zpmtgyknUnRsDq/d8+GE0EpwQl/1lbUjwXk8DZx0IGCaGKcd5bTXWruBlIacMwEngW3aNxFwDiGargZtME/rmlo4r0aDU3FLSmU4+So/gFNdqkUPBc7BvSRTkYlxdkR66txSLNTWbOOde35gewmdQ0Ftrm0aeQkn85sWzo24J2AOkQmbCDKHlN++py7W6get013vwBlaUaKyTSWcP0QWCCkOOUu2IMAonE5Vqj1qzCc8Yp/dRdZ8yJfBYi2tCEEFE077HLo393wHSz45RnF8vtw3pqVqmwVnLpuz14Myry869E5R6sCJ9ocz5J2fFtD5qygPzrGdM793DyrDxVr5cBMpQ85JK0I+nLCZUsA2OxQ3RLXyRaSAE+PUwKlPOuvDCZo+nDw1KefjAe0X1mpvmwfOkknr+z/G7KtFHptHRw2+yc1/d+kmxynsQOgrBKdJO/OPOUEzCelFWiwqkU5aD82CYi26SsKZ6ZsL2IOQaEDYrQbBZJ01CCgrqi1bg6CCM8Ulmaf5odv1PswmhCKKttIaZKu07ddu4bvRAJjA+R91Z7IbSRGEYd7AbHNgNUxLLJdpEAIJQ2tUEqM+GB84wNiI938OsiIr/Lk6l4rsqKz2/O3aZs6f/ojIyMjv/zPByVZOQ4PQSVA7anRMks4IYgucBTTRs4HzRQ846+flwqmnWLsdnG1B7XglaFbgZGdKt0nvafdetkNoJDPmmQMThHBOA5z/JGlnuQEh3qCw6JzwGaWxLDFtHCadwmmwTRY5LUFt6Ed4z1Gs3bhca9iSQi2oYpxoIzjXnrsHnGKc4VqCU+WGE5nhTI1TJM65l2vQiQh7g3PaA1vgrCeeAJuuceKa4S6CywRNI5yiW4pCfjjt2iSqRemxnHAJpN7DxTrh6YJT2ZzDCaDVxc5tpmJSDzp9DNE1A5j4p6ykJCqxKespywspJJ2Lo94hcno73NC0N0lfzHCen3QGOE1B7TNNOdOR0oHNdJKQH05/XNsl5UT2k/9gc5v9YkNhKqYOJhHzFP9kQomFTQJb4Dxnai1xLlgy4Qv+xEKB0+WctqAWOBd0+c2c9ZSTlydDEEC0A5ygaYHTXQ/62g/ny43h/ITtYsl+FG2oxT/lkJSd2Tih0wdnWg7SqFZelEwF1EQmqkS1dTRb4LSD2Q/O2uA9rginqpZzbtkgtCqcgImIavPpJtqwHnRyKieSLnfG1sbFzh0dQpUGBNgUOu9hMw9mhJNw9lBCE+OkWCt2iaATLoGz0ThvLc75+5pwog3hFAEoWNaXOf1sfmSXOeFsgjPeoTMHYlafdoYzvvI9xDuXzqmlw5buPVM1KGr38KYGZ+k8zsNCEwJH/5FrCpkZOH+2wYm0GlRHs4tzbtVai2AzkCpU5mYgvOtwflFyTrQtnJVp0tApv7kEzSHO2tNyrfhnxjkrbKp1UhQywFkv1R6ESnmIlESITFPOM+A0FILa4Lz8drHFA3Nb4Xx/CziRDU5kTjoR3rkoI5v+ESXpdpQgYVKPYdDDUjiHwZhxatr5ZuGUFJLOANxie1DEkpIQcBpqQVY462yi9zqhuT2c8p7M3fulw44UtBKbqDKv1mCdL80ywOmdiqnmiSY01TZ3OnwvPMaUU35GNNFwX4bTvorCrNponzhnzTVFrXCCZQFO8GTLWA3Ny+echjVOEtAIZ9Tl4QxNtE44yw0IzxFO/SCmxTRlBkJseZeKkLyqdQZIzb6JHu6tcB7yYDLpnXIQeI4XK51pymlwTst+TnxzBuf1dnB2wlPurXCCaOuuFGYgrAcnMsOZyhHUitaPaUETScYZbvhn1E4iWzOc6L8CnUtj9w6TZ8pdpEjGvJOAFjXUg2pgogKfHeCEzg7NexY4k1OtOyWdzA6ywclGFF7YlDKTuTsou5pywYwTLEXznZwknoKnzsOMY2s19ySqNeNJUag8E3NS1jT1qUyKDiKqQRWdlXCWEcU0gXOTDoQecKJkbO3jhzu09Qz2IuX8KDIpN73OME70bQqnK6btcIBR+GMRBUr3g1qmWGh8inEmdC6xSVGofrpYwuaBNxVgigRNI5h+54RNuVEQ2iKu9YApMqAJj/YGPv+sd2s5aG04A4xtcKIOcBpOScE499K8xwSEKeVsX0mBzsoRRiOHkJhCKh0ICEKB04CmDU8ZLm0wzjXhRI500+mb3BJE14MTNOWazd3jLQ8nhMoj6JygFjZFQqUnqEW94CSgFQ17XeSUqlCMb3f6a4tpofOnP0twpizyIbSSbyIC25W9EzTzSuB0o4nKvvmiN5y8o15brZM50pZ50tCpchpnqp5w2lNOubTrPZEQOQiVsbP2sT3IvJICoJRs/yxttC76JU6qddqJUZxzsaO2cZmTvWIFLNvhvL74ISnAWVPqmsi/l7MdTpSH03aktY1NP5z+Yu0n0Jn4Zrj0by8aSDjjOAToRFbn/CzQmYlsFU5cEh30itLuPQFUrdRhm6ISnDwQWP7qcE6vbyLHidZVOFN16HlvdU5iWsg0w1lHE7WnnIwS8sW1pV3W8phLTxaTcq1uSzFEtShH59v7fD3o8EaYBEp9xD/wTKLbKpeNIS1wniadtwKm/IFlrw6h/l21fjh9bKIESROck5qXUfxwwiZwfrCacaZbUma+qW+acYqFTttTyDnbUk7g/Oyft3PvLK2g6LpmhFMuWvaeis2bK+SbyJBsOpxzcziXieSFqLYKp3ssZiBuvOzFWuBkKGZGG8HZvwUh1/HOkblTsVaiWolwWUk5F85A55s3RThJMuXSIPegAkw+F8C8ccMJmHJl4HwnZmJeNcGZI9SRcdbhlJsFTkQxaJ16EGS2G6eozxQEmYlJy7u+i1vSWSs/QdNGZ4nNQOe/0MkqJ44JpeGDlBPNS7YNruk8wAg0G+G8PJtNzrl6XFvpqbXCmaAJnM641g/nB1+OP/d2sXQhhSkIifYCpnTW6l0i2sG2n7MAJ3Tim8ok1SDew6XU0rIHnPVq0PlwMt0rbdlrD2svD2dD1skUoW3gNFZqn3YhaGTrGlDyrQtOXBPn9K9yVk9JGbjENE92ppBzOuBUOuNQL+CcQclTxEuicjstaoaznnFuD6d/IcWziuJHsw6nvVSbFmt/zOy1duWcNjQVz9Ey1Te9cKZs6j09NHfakzLbkQKbZ8EJnSOc6HDQ/iAg1W9BU31Sb5aotp1NVGLzecF51Q1O7l3gtFsnynQHOTJOG5vRE7O+iXPKbb2md6QbxuZnMDDsHd8cudSEs905ARPvZB6mZpf64PWQkR9OyLQeYETK2R/O7RdS0rnvGzknYMrlSjmRB85I5COcKAsn9rk2nOF7ck4cUz8EVgYhyJWLatvhhE6sEzgVx/jC4zC1B6Uqs+mE89bvnOgZwLnc9c6raqXJewY4G0u1orVXOYFTbkU4iWpRhDNc7knvgDjSiQaee/ZyCprhe/wQMsGzPeGEznvIRKlXRjhZ4UzkrNQaT7S2w9m/GoTWdU5uqEvPO2y2w0nKScJpn/RuhxPl4JRbRq5i7dw55W+2EUUfYbOYYKlkhrtUb0HTAGcdz4d7hgbpwgnB7OxbrlJw62BTVGbz9oRLD5zXl530Dp/2/Zw9+2qBE9mqtbQg2OFsbkAAzhygpwknbK67yMnZRZApt+ncIoltxT/ZyiktfO0tCLAJncAp0tfEN4vys+moBRnhfAZHpCiajv2cJTT9xmlvegfOJuds7A6KFCqPWfd8mmuGq8ehuWwXg0y00/YgnSCktjk+QLOkZTi/f5CqEJxRBdLH/KUBTSue5ZQzKMtn5yaEjQZ7gWPhkE7g1JPnV084PzfWg0YQrUnnqnDKDUFnwTnXPF0MNBF7UuKBYqODqnPOfktwVtHEOw/KJnCWfbL/IidwGqzTDOfF91k3wBmk84PkLsrD6QpsYc8A5wzP+O6As4onIJbh9DfWmruDPqHvHe10wrtuS4l6xUIKcNrrQQmgD/+eoInki3yzf1CLSDodcILm5YcgmODkDSwTOHsEtoCZR7ME51fe/iBmeiGYzCee1flB/v1i7LSefulgzHDX0Qejd8ZWocgkSymuYi0rKjMwk1AWQJvwtKNZx3MzONEFJnsxshbjTNWOJoo7wyo5pxdO5IOTaLYgm2/6pyAUE85pZ7WeY42EzfGvaQoCqtGpDzA0hbir+yauuR6c1xceu1ehshecf/zxBx8BTB+cNNaC6CqNtcCZdgdl1XUoJlLnZBEF79wHcTDnMP4Jlqlz7hzOCZ2wCJ9oy6AWGN3VWuRe5dwKTj3WOhFRrRnOoBycgOk6JUWY7dr1HlFMCrbC5su+cIImxomG/fjbc7BYHIUgbA7LUa3JNaHzHjjl6g4nerfhvPLDOevb88IJleESPcI5Szw9aMLmWiNKsFDTgdawufbhYkg3ixHYAumYamqRdpgahfYYJnTuylGtGc4foBMorXA68cw452/5WtDZcLY0IHy8MpyoQqfCSWhbgnMW2VrhJOVcF057ymmyzcoBYyyvAKenO6ikx5ST1j26EKgGaZE2OuZeB77TemAq1trpfHtvbjoATNBcEU52WUdCcU0PnNcuOFM6X1y9gM114CTpPIGS4m0VTOBERThZ5bT3B9ngPDum5WzOuspwOkLabEFobpw8dtNp1uEnr4zEXBNOBJ1oCzgNIxD8cKJlOOETLpPfiOZV+K0DpzzkKRTa4ax4J/r882w9yOOc7bO9vrAknOYzjKT1wDs+yJR0pif/iaJTinFGNMdv0ESrwIl3nu7frK5w+uG070hZgLPPjhTovJr9JuMcCfVnnagKZxrS2thUOJEXTupBvlHv7XAS4vrQbD8yl3dG1tJVy0JnAqYTTpqFglyVIOTseM+g6Yfzev4nGn2Sm9w/ztEZcJRL369GXq/C0yrDEqfCeYJmw0oKaCLgdOBJVAuZJTiNSedzh5N6EGDSHyRoSrIpo/fkn2BzRThpFsI6N4UTASd3P5ypQYKm3pXLPJo4Z6BSjDN+2J3Tur0aLutwLvgmKrfvMdjLZJwmOM2te88eTt1qjXdSGhIoRz7t51mjRjIp2t6Y8831q0G/KpvtOedxAU78kl9QZFIfsJmiGW5CpNxDRCtsfmdm07a9Wj4ycCJrPegpoJC5Mpyw6YcTWciEzQ54ykPAjH+JdvqbTrWOVVtOzEXr2CaJZ6Rzuf3dZ5to5prV/Zx+54xE8hGJ5CF/FeMcb1KoldqtWKjQ6YKTG3AW+DT4Jnyiyph34GxPOs1R7TpsojKb/j0p6RkpmfPFhMfwtd8BqlRrd/5qkKEs1DmkRXPnFCxhE3nhxCzJPaNzKpM8s6Va4TNcwqbcRzrdzolnAideyZax+I/JjhQvnOsvc35hrNY2k4lAs9tKirLJEUbMD5IRJROSg7a+T/O96sbpx/Ofh/vFopAJTV9FiPlekLmKc/6e5JzQGUtCxWKtrnVGTsVG5Wcgs2qeRjghs8k5aycYsSGlK5yrjsTsG9MiIloyzulDsNQmoUjmwB7r9ZNOvDOUhW6W2KwC6u7cs28WQ8cl56RAG/jEOeGS11xYK0/YnD6ETwec6fbqoATOczaLJb5ZnfZuRxO5TmJ4nQfTCyeA+uBkDsJpdxBt7wMV2xjVwiZybLTO0/mNJJ7bBbWQmQS1TuesTxGa5Zo8snQKkPQGScl2fLM6p6lYS765vJMzOGJVsFmFk7zTOhQTFTZz9oSTJlvnnpQlONkvlu9CkJVNCrY6rLY1rgVOM50knr3xzHQGFWfW1mxzeZ1TLvVNubDKOZmwiTTdjPnnlaIKm87uIBUFILmpUjYjfavACaH94UQeOMfLk3TaDptPS0LUg2JYq8YZHoHK/av97gzjZAqClc6/Hu5valw6arU1ONNOBMj09tZCJkroLJD58RPjVBuNf9YuBFM1SM0zs+KZiWptcNbGICRwulNO14HWHZzTM3cvHYpJzzsDMXfyzRJnwqYRTrt1BtUSz5t1jRMpkqkqlnk8HoGzGtJGSiE0WUaBzVzFNmp8oQXBX60lqpUnaKbNB/aUE3ZrbLqSzgKb/Q8XK8H5QR84iw1C+8d6bfzeEE5Z8SyCeXgmcAJpEU5sklfl8wV/+ssZJ2wqn7QLfefBEyp5IaglxmWrWHu5tjbcCzqDGhc5XXC+nnUFeZ1z9QOM2M05885B0Zy2cA5ar/0wlIKAs0tUC5rhktD2XN804VnZjHLbHtUeq3COD9qDVFAJqKq0IoQES3m62KT7gEvhFAEnau4Qgk0PnKYRJfaR0q8h0wFnx1XOT9jLqQLUvfYGheegIxCyaL5a1ziB8xua+baCU27ndL3fLTgnLXw4KEAS1pa63hPn1A1jVuus9QeJAHS+FUVZ7QIn9dogx4QSZKzVvma8F3ja2ezegkAHAkiqderUPT1bbAh/u5Jv9oFT8PyL0JZ2Wj+ckJnCad+ScuQJnGWBpoa14ImB5tjUDiFVBDXGu2SdjXAi2AykCozFTZzIMDvIscrpgNMW1UZCEWT2hBMZ+4M4UAxpiimhbfgTNWac/qQzhrZ/P+JJ58GSWtlEZTZr5nl3R0FoqSY0d06orFVr1TjRlG2GP3m6VlLUOv1wojmc77sPnF9iExngFC7PhJOYtmPSCZ2QOeifLHBOuSaT917lZIeziUyEeUY0sc/VyYTOBuO8m97u8nAKjJmgNqkHsXuslnLCpg4Qgk0vnPLOIqdcTSknMjun0T6d3UG5wFbYRA1wjreOcIKm+CZSSDXXlEklO3zzAnB+88Q8O9imd9A75lmHk4IteGKa+kzIZHf1iXNqwslKp38GAgnoHM6mhBPjrHfWztHsC2cqqCTptMP5qbFW6z8kZUhrtXTV0iaUX+TslnMiWVQhtl1WO5sknKackwXO+JDvZThB8zpbDpJfoo9JOEEz/CSeFTDPNk42ca4EJ2giS8ppL9Wi1eF8adYKCecH1YQzSAcIgST34Jh6PopckoJm4VxzPyc6Mc+3f4943hjlgnOxde+YYBpss+qcpf2cp321LKSkzpnLOOUut9XgzLa/nw3n+FZhEzhFbWwGnRvVgiR6+fL5wDktchLXAqjcdrqXMzjm+BiYWOvdkmJnEzrHzLNXLQg4zcZ55O14dydoLsOJczI9CD4LTQjf6W2Gpm4hu3KspFTPzK3BaR9RQkFouTvoDDjP3pCS05cOOF0HWqOTRU65RSIjpYP8X8BRq7XhmmbX+ufutaMJnZJ59oDTsmdsKduMes8ysfaau/LIo7JdLM04pSTkjGvrZ+a2w8kqCuZpqQaJHI2128LZc6M1Ov2mtVZPSNlFCxX3hE7Y7A5nu3l6wFzcLYZp3h6jbx4nOo9HA5zyNUs6k5JQls18rVZ8kylCbji5RZFwOowTOh1wQucaRxhl2XTA2WWjtTin5pn8scq53+ur+Cds9ofTY54Oz5SrGNTewuf0cifpZtU55+IbKrmhGZ4JnDJIKHJJYOuHU5XA2d7zjhz9QVU4HSf/vQtw/k/dme26UgNR9BOYQSBxmMM8PoAYJJSnPESCyyTE//8I7u0uFo6HLqe6D5fdids5974u7apy2S6WOREn7ynllIlKjrPe43hSrK3pPLnMMxLQWhNCfUYJgMLn4pcXsXkBzrZ5gmZdrGXowKmx7HmnJKRXFM4Sy+g6SqHRdfP+FoTj4XwIsBk9BaHmzxJOhIdmu7RrrTVJCrW9u9XmUkrmuY3nPJnA6U86L6oFkXE6nVOIvlTmnPrmH33dLKTIO3NFSJg65IQTdTZzehY4IXTsm8DpQhOFTig5BE6vvLZ5tmoQMa1tSbEDvVQTkoninAe3IIzgdMS2ftv0X8zZ3L+pyUXpphNOmWbdgUBNaJtNzhCiAwE2w3CO2fTDaYxulYMgtH1lbh/O6WotaD71cL7KGicyNNUflNHURJJz/vdwnrToOVCPyyCc4JhtU79Ep3QBzpFvspZCVMvMh2Z2TZJO1wF8G0QyKaJaabYY5DmjZMQlSgB24ZQCcEZyzuNTTn6f+QpVOxGT9qAzxultQIhHtX4843CSco59EybzXGgS1nbZpEarATb5aKjUrtWqSpsk+9R3PziR3zeBs0o5Y3DufodRzzYPgPPh3qv/kmxLCoLUXA5K8xTdmvq3pPjhjHsnsa1/u5gfTg3X/EXUgSD0QrZ52YITjfEc70cBTuurVUstre8Hwvn1vnBCpmn+XMxpOKEzX8N5C+fTssjJse8ACaVWppVxyjbTtOWcj7uQ4sPzzmwTOHtXWl8FKHDqDZm9nBPb1EA9yLySj55SLz6TGxAANP0Wn+acesIrnYhThPrO+V6XS73GbFKspRqUNHvuXqBayxkIQjQGJ6qM09seBJDIcAXLsz52nbVWUDi91tuDcLxxEtvuBieCzdat1lcqQUtIS9I5hrM4TRoVbA4bhIqgVs6ZwZQ039TcKoo00x0EnHmgIsSF1prgnHE4ATR23XzG0w9nbKVzu1RroS18MrWWINLOhCbO6UDzkIWUMZ7oDjRxTiwTrZZ5BUuZJ6XaywBOVjfhs+2bbTRllDxKOPU3Yek1zrklTo2mmkwHnFIPTvhEzYxzFs7AqZgP0q5x7UN6Jhc57S90INioTw5nc502p52Lb5pzPlVwvvzyL+AJmdAJm/fAebXxKhA16qOXJCg965zL+IM+2KYjrOW+vzTyqByktDOeciKOQpiHEz41gU2YZOJDk3LQ7nC+fyCc8YUUyMQ4yTjpq83PGtfqmYQT7Q7nyxJ4Ug/acQ3lehWcCcwM53V56adJ5tmHs30i5htG5Dab60lBQpKPHi2jeJzTiWVVC3LDCYyUhPTTudF6COfAOb+cCWphcx5OuNTXh+Zr83Dqp/oPCmTZkyKfXK8xEqbqsdVVDP/VnpQem+AJnBHbLPNNLFRAWsJ5kdS6R7G2DycVoUZcW7KZPg3XFJmAiXNmQnHOQ+FEM3CWd4pJTjjRl31VaEZumxebPjhrOsWiC89N57TNYgSzeGi5fiJEkyrjlI5h0w8neP7xfR/On3/+2QlnxzwTl1cLZa84phr4NPM4ZxnX4ps2dBtrSzBzOch69oLOyUUptWZa9yATCVMnnAE00V1sAqeMcwxo6Zrp/y5DpAcBNPu3pAApzvn5+rFLc2EzfChmHM4az1//WAiDzvmO9zwojpXIOIvuIN5pGOecGGfDN6kIjeiUcULnMqg9iIjWV6zd2CZm31JOOBHVoHUswARO2EQHwfmWG06xmeROOlO9Zxn6kW2HWDectVSnVQnIIlrVbqFzl5i2xSto+uFECc9kn1Lm8bt74BSagAmcMs+m1sg2TbpwvgGUvf1iA+MUkPaAZxrpEQrBiWo43bdyAqfUghPtBueXsYUU9ICcbOKcUtQ5QZOD99YGBCaJRVFptxgtoFpY61xJqQEtsdSwG5zg+dvv4nOlMwWzoDmVcEKoZuLzYhXbgssJ5ySs1QCVRdZZyRJOCKUYlN6BYi1tQV1NXGAEmfwQm8CpoWxA4NVurB3j6VrkjMN5fN970znLk4NwTuut5cB3s87JfdYIMvVNYwdQJ5vQWUa3f2b37MAJjD1Gr1Cpec45l68Bmg3U+mrTbFCtBc3uKme/AYGaEFja3IzT5ZzjK63H1ulmEzh71xcBp+SFMxTW+mLapE04+YcgnP6VFL0A027m5ACE57N5dlNOf9IpJDOaejq60ziJbi22/dmQa18t31lIIem85s+ixKFWUeg/KENavQZwcusfMjbt21tJgUt92GWd/4Fi7SFwJk3D2UczAKcjqo1Ug1SsNQ3hrLHcuSIEl9WluefslembnrWvdn2i9zCkUU9+CdLdolq0VG4t+yTIXV4j6yTRTEpQ2g/psvB5m2mqHkR463JOwtqmc2oppXLNqlpru8aeIbYNnCc91MyeFERQmwGlHuTLOKFzqh4Ug/Oh0DScz+0JJ1CWyrmm1WglvatFlCk2RaI9TE4bcCIHnHjn70+e/GG6Xg1ODZtwEs0Cp1Y5rxdUkDqTc2qEyJLOpijVilRC2jRqwDkHcPask1Nrd4MTCcQaTmyTWQNMyQFnrHUPlXCOO2tDcPrQbP7ZqkCKbXU/Z7bNzwNwEtQWztnUKWydP/3y66+//25wPnmCedYCTXuBZfrinAuaGlDRWduHk+Y9BJObi5x1tVbOqYBWg1CdNk7gHKq9lOJXXayNw4lmglrEnZxl33upFpX2ijW9e+BE3PqnQVodky2dkWsYAHJ5Tv/M0nTxzuXLKwIneCYl/3zye4LzjyuJZ8s5gZO4lortiudtoTbPy3rQOOesrv2zAULbeBqTRLYciCnT1NDXmEz92DRONA0mfEoFnGxICThnGE47pOQeOFEEzi1AjU5b29S43s8ZvJdTZELkyqfAlEo+T3NwfpGfEs6ffvnlt0TnQqg8VHg64RSQBmVq3NNLttm2zgGcnBvU3C3GrWKbLQhrZ5A+muToVo+md8MJmI8EZ5KvO2jTOEMtCAWcAeekdy9yhZFT5pkC1Hpr94TzJEAtsDVEUWAlBToTnr8l/Sot9jlkE7GUktEk5xSXhXninFIPTvAEUAEJn5u+aUDmzWPlZdYv6buhrZiWWRdOdF/KOQsnxjlEE7nhRHC6gSZS60EF54zuIPMMnCuXth+FfLPULJwEs/kBy/XHKT8nJ5xyzfW5BfWjjxb3/GXF88/fn1yvUAmZlcQivknSeelKvjl2TnsjYlmcsy3ZpdjkSWxm47StY95q0HzFFjYn4ey0IPgPxcxh7YjNcLUWvT2EE+dMKuCkkU+PR/fYJjknTXtWsP0s4JzQyWMyRNGCaNM5G4CWoaxQLelMfC7x7V9/Kf+8is2sCkjmEoVa+WYz2bRscwAneNqWa/UIgSbDkM1soMs7f5LEpga9p+EcuObXTwOcn5JzHmecSNAF4Hw4Kqal5Z1jSYSn+EwO6ghrIdPB5kkNfAkveWZ6bCLfdCSdtXOWEpxpEJ+Lbum0Hvck4LQ5IqhlOwoC0W6HEI5ZXcNQlWuHNzHY8QcGaBoIaUdsuj3T75yBpLMNZy/hVAtC3rvZwjMAJ8d7GZvG3Tp44SSsxTrj9zDUgs98rZid9D6Vcg4WOXn0SdJwE+PWbJ46ukGyzehPi5bwNtGZ+xJKOJMMzuyWVg8SlOo9sHyziabAvGznnOl5KX1LPB2LKXZtrtEpNKW8kGL2eRCcdd87XQbzzslC50jAKYlN4OQXcM5Va4EzCzhHAl/YRMIyDQD64G6rdQvn1CKnfqjdPQgnpqlvfrVaEE5yTx+cOOdAH/0kLXQu5ikYM4OaYJ36k7BsSLbZbj6gha+bc/JCDudEOKdJOSfXGM3DSTir16PBOXW5GHByGKb9erOlCk0fnG9PwVmFtFD5cEjGSdJppVqZpx7YDKacC5ZmnGmugZhWE8icds4epB8lLcXbX4Wn+KxFkkk0a2+ILGRE9qu15SUMlnNSqh3SiXW26eRe63tWOYETQt1wsiXMHdOKzXvhfEFMIg4PgskpOI1PjdtoEtV2bBMo563Tz+Zan7U9KemrEHeIpt86T+8sSOojVFco4VNu6l5JGTonbEqKbY3PJ98K0SfXJ5eLwak/dci9DDWCs5dz8gFNWmtrwWYhkRlwTuRfSTHbnIITzcFpflkKMO+C80eTZl44ZZLdYtCP9hGUGjtwRvBcpYn11vbg9KNp1slnAZKUc52dHLUgBJRjOA1P+OxIlCYlz9RhmNk4B1AamTQh9G9iKK/+83TvoXyTtd61xs65ecz7Bp0VmcA5Mk/vwV76TsHZjWY1KXUwnJyHYOwJzxzm7lWsRWqmVXtt9s5soO8E4aSZNnGor8Yb30zj7GbOL4pnE1Aln+LzVsZrOtj9KlEPSkMfTpHJ2IZznXDvX883e/21kiLcpubZ3IhmUbNQW22p7igEJ3QOyJxvDzIk53NOsSndBrWLdf5oxklMux+ciFWUNFCrreU4BQGxwpm/C4gmEPVtSAFNr6Azic4hBJ4X8k0qQTWXzBBwgmbpnLBZ09kPasHQ7Zx+OBnHbALnK9WW6raizknZFgXYBM5VwPm2H85W1gmJIvSooJaw9pxbhLj4r9akcyrRpFpbd+6RbnrwFJp0B33hi20/ThKgpTKev2q2UiryrtIwrqUNoQUnoexLjWsY+BDZeuGMOydMDtnUWAe2LjR9fMbhfH0OznUwPcyUahtw5kAW41x/7lkQOmvIXNoxJTq+NqEZ6EFglVNILoCKTvySV5fNuHMCp/BEgPrTT59kLX8qzHQEp2mB+9dbOMETVm/ptEdDR04455POcXg7aA4Cz1k4wXKVh0wUMk4IxTYFp1NtOOk/sND24YB1TjW5r3hyi5GKtZGlFFY5zT/1QeJz4JwbOWeSwzlfNjqlhcEC009a+gljRU+YLtte9D/eXfTVV42cs2xE6Jdr9bmPzbHcOzldfBZYbsD57NMIpywT6UhMF5Uj55QeHsw2YdOzyunGM9smT75uPt68R/+BLaWYWxabxmbYBEjo7JKZBsxzZRRO01daXygRt4ya6lmkPyFhmZSGEs7q0lzUKtWmqR9MP55jzwRSn3PimTs55wtiMwan5GNTOBaRrSZdIh1wstKJg+q9q29yzLuKQdYgpOuLYhmn2GRJJa13Jkxxzfz0k84um1Rq9cMFJ4zioRpbAr/MZp601YFTLyY950x6NDhLGt1sxuGETuRlE+0Bp2lQrqXTlilktvZzyjAh9DXPzZx+NJ/PvbTn5ZW/y+NfSdlYR5F5rnjePtk5J+CERpxzFk7kxvOTPpvAWS9ylodKC0Tjkucx4WQAUQec1Gl5zRsn2jbOF5zG6YbzLbCU8s8+nFK/rxbNXf6HfHTinXLN8+caORIzCKfmJ30Wvyza9kRudztKA0/hmD4knvoONA1nB0QnnOUF86xw4pz1vZwBPH37xYCT+UDUarnSGioNzQCc5JxBOGdyzgac42yzF9NOb7kO1IIWPi3V1CCl6TvRBiG8k8baE717EDqRcfqcEy41jABt5pwOeZ2Tyi10snUswKbk8M35ToRmUAucIecc32iNdoITNlEB5wBQ4JyxTg+cxieTgfKhe8tL7qm3jDO0kmIPzmmoWknI+PRnnF3n9MPpsM53J+kcV2strCWWtZl7jTMOJ8Z5V6mWtqA5ONF4n3W8Wou24ETbxvlg6qPp0S2czwOpsweBkm3+8U6sBYHdYtk530mTU3rEJZoq1lIBcggevXCiaTgBs17nZCIeIbTf8x5gU9oVThZS9JqH09F9cCyc73f1iHAiLaNoBM8BmVzKqQPf0wTnLOVEs2Wb4vQ2qE3DyQnnGsgWu1JO+jTV5NJbEPKzWcNJRy2cVmxqGLa8B+EEUODs7uf8emydrwAniE7D6Uf0PzVO4HQGta/Nw3nWID7dcKa5nFMjbJZywmm+KS6TbeoXh71TEjr5u4Mq51QS2uJSA3EtcO5tm204McxhVIuCYa1/L6e+CDjHKynGJGqS+Z/D2c04/XAi4AxWgzQWYa34FKNdnUs4OQuB+6zvdM58GommtqXTtqasUOKenX3WAIpv4pzQWfEJj48Kp1SHtLBJRcgm8BkPa+NwwmY77QRMTbfhRHNwzq1wHg+nr1Lrbg5a6XREtdCJ6EGo5T0UU0ovDkMot4uZxKazGCRAYZH5OJ59fDiFZwko0SyTI9kcJ50aQTOpgHPAJoo1IATgPDrhBMx94YTNc/7qxxyc3MoZqdWuYr91CSUV20Rn5BKGkwPOo/GsnbO6iYGTpMk3g3DecUlKW6AJnd3W2mHv+38Pp/AMwAmXNZxxNinWKumcck5qtsIz2FkrFafvUQTiMTYDfDrYBM69F1LGzpnqQjgnjz5oGs7o1X8t38yADnzTUbDdA03oRAE2I3AiD5p+OM+Wds5HtXbBWMw5Ea0IzbC2SaePTD+caP/+IMGJDE2digmp1VbraTiLE94DfbXMSzilPpylaU7CWTQhHACnP+f0w5kEm1E4QdM+51njpCREb20p/5G1CPssxLl7rnWUIJzoWDhxTt5Ugghqp+F0oumLZ9PfjMhSHTKr/Zz+pRTagYBzBs04nHflnMfA+by+PHeVgz5jx9g8nKCJRGaOaEsH1eOFM9x+oFeHTeRnswOnjai6+u9AOJ/xwdmUZ5u1Tba4jMOJ9l9JuXuXddw5iWzvgNNIbOA5ySYqi7Ulna6m9x3gRIfBWe/m1PDS9k3zaD7RRMNFFMi8gRMP7bJJ54ETTsiUaKjdFufVomnjBM3j4fTTaWhOswmcA1Vo+uG8DWk5632XahAKVIMkP5udJoSSUYLaoG9+EICz65vAuX15kQF5GJxfZqV35Z2B7qAmoBtEMg/B2TJOHg+cfjy9+6xrNmFSA78wzgPhBE1HxhmBEyqxzto540Ht48OJgLPUgE20ASfaDc6OelQG4HQXa4lrQ84ZhxM8e2HtF5X+F3CKy45z0lyrobRO1z7OeMKJvBmnE000hhMevXCCZk3n7P1F6E44pZ2NE9+EzaECcLoD29y4V4hq0GPDiXaHEzyLPqG1DoRzPmVw9lZS7mKTezmJaNE2m6hDZhzOeisnVJZ47ply0laLc85bZ4xNqeOcZbk2t+8FyIxVg7rdQQE4QZMTpaGStncPmo8PZ8M534vACaEgOgcnWB4PpwbgtD/fwyYq0Uw6m21O9iAgL5zulPNDI7Lg8tS7a17jMXCiLpzxnHN8XK0QHbB5cNJ5U6vlvtyGZtkETualvGz64UR+OkHyX7PaOd2rnH7rxDWdmzmPh1NjJTLOw0u1B7EJnPWmlCLnrNLOpoJs+npqazjz4CfT33/gD2yBE4GmC84GlF3rNIuEUZLOIZygOQ+neATQXVdS7g1qbS9nI6j9oq3d8fz4UeAsLRMyAZOho/8Wzup2sZBxftPUNpuIGzkPgrN0yrKbVn/rwxlzzkCxNnxibW2czVItvhm2TvR4DQg1nKSc9hocgeCHM95Vi0Rmr1779MEZOBSzASdHe+GNOCXzFc79ndPIPMeLtYA5A2cj49QBJXUPQgzN6PkkHwfhpEMINlsHlYAltrknnMgNp7N7bwZOwKQe5I9qv2zLU6gFzhrQPpywiHDSNpxxPCnXpmEmrkVbcCJvysnNRdgmpdpd4ERtOI93zubRXqvKfdYHtSBMl2oJbcO+aXgCpr5AeRecsZ73mswenPohLoupZiE2e0Ft3DiBU8N01zvGWZ+CQMrp6qt1AtpveXcvc/oFnKDZOAcBLH1R7bF7UvSn3eFELTjvdk5XRItctklUW8Ip8eeccrKQsgec9B/sm3LOw4nKdRQMFOM8eL/YocYJnCWayMCMnCW9W/Neg8ykOJzNpFMwVnCGc84hmH44qdiaoPUQOIlqheZTAeff7J3LciQ1EEX5A2AY8wggCDAY8zD2bjZs+v9/iupbLU4IPSqrr1TucXBVVlV7f+IqU6nUmU4CTfRG4QTPv9dPlrR83hacbvleSScyrPPJhxM8EXCuKtEUlOlm62F4wuUINsFS8142UW6ZdMYctqpFR+6jAKcUdc4Im36yFmVsVuFssenD+Z0Bp9EUs89mEmxiovwLMAdWIYDmKDglZ1UrlTVCRj7IhNNvglDCWcacmXEGYk4Xzt0hJ11KLDjLgLNN5od4yOl0D+rX7olB6AROvdpw+sW1BpsROOOpWtQ6kXJ7cP7pw6mPblPM9wacbglCHM7dyVrgBNZ4wPnFq8Opl2TDCZlV54zBGeTTMc5me6+md35sQecnoFnBk/1NI+KcDidompuc2RSHs66hcJIREoCoDDmTqkDajTFfCU3gbB+3Tu9Fo2sQoPH4ZS04giaF7z02UZdLf1ULnKUcONnlRBmRIT7jyVofToLLej5I6aCWW3JByjVwLro9OJWdzfXW4GyU1hJ2amgaCSeKwoltGsVB4RYIXTYB8zg4s1QtcPIPF040GM6/3NvmeyL+XNTu9e7DOb88qJ+t/UGjrHtPfA5GEzb3w4nGwEn9HhoMZ/y2ebjkew0wmTJF87R6bSrgnP5RTjMhVPKpxzDOodkgdD2cxTlOOu/F6HysDNgcWfeuF3DC6KAuCCRrBaMB55MJ5yJxKbGkzeAETwx0+C4KGsYmGsQmd//JNm8MTtjz4CT8JB2U5g6bd58WA+cchCZwbnf3cuBclBF55S6n55yJyTqcSVE4wdKAM46nYZvSbjQf8vTQbDjBc0pdbd8583s5AzmhxxVQPZe/T9180Fc9DYcTBcuDfDjRHjizuvej4bzhNe2lSEgtSmBy7j7KXDbLhBAbnk0262jKLjMH9eFsAwqZkrGP0oDzOxfObTLRBpvAye4mcJbqwylNhvOdCef9Tjg5cf1AqnY+nHMKELrZ2jJRqxkyKxFnskv5pl7KCHl49t0zTwrt7+2FaSKo1BVGAvLKfU4DTtAcCydU7oITMINw1uV2QQiua1vXMFh0Ohf/AaYNJxdzwia+yVUMOZsyz4SlpjOvyzOSTaBEBZuSeyBFil+RYrMZhFOr2rIHZonmTz6cVdd0MkIdMv2gU6aZIH2J1e75xjmpC0LfOZfnDueMHLRWAkgzdJ5t83FC0AmboDks4izhRO5GSvwkZ8s4qz0wkX52wITKCXucaMou57cxBbJBaHLfPTTGObmYU8obvTdStaKSla1eYnPRYN9M/wNRA07jSmtjTWsnawVlB87+khZCXTibuD4fDifm+fbghEUQLehkdDdS0qfYxDltODmTok9UzdT+cgNwPhlwtqyzDDr3wznKOamzjcE5Z5MTMPVa29V+1KvaKpw0EOrcmyvV2Ex/rGmXBzZHlL0XrikZnd4h04DTr6v9MQ4np1FQPRvkBp2bASdF8KdgwGnRGTBNfWGducxs0JdmN+k/fThBtIamPjt4kqu9rGoVdg48zFlNDrlwTmEzdGOuD6e+9HvPTkrENANwik6B+epwotYFRnaq1oPTds7SOEGT0WeT6iC9SAmNYLMOp98FYcKqFjYjcAaTtcuUOaZm4IRNG07UgpOeCKconM/zi/fa7YNmR5xoEpzts2KdCgRSQmSDUsS5jrtBcOKdrGqH3P7nGWeVzRCcKAynvLNoSRKH0yncW9kET02by1pkOGcoGYRxPhwUcs7LBwFnjib9pCGyfw9DMk1eC5OCkrDTh5OCIQjFOZ1VrQ1n/4IxfycFOIsemOWmSiDglIOaJe+EnMJzeeDy3ehlbbDiPeH58qbg/AE884AzbJyAuT5zyoOy/zTh3KWBEScK+SYKh5zZ2c3r4RSg1jFrrWqF6Cl6zHp+wClCNV5rJ8VHc9s5NURnIOTMTDOVI6zWuQw0op90WR/0kcFZAzQAZqvVu34h4OzLOI2Ca2b3MZzmwIm2rZPvyQfGUMmml6yFSeAsivc6udr3deME0oSnrNPLCMEg6sMJnsevalnRmidSWmwuKnpg4p+azZ6YsPl5gE7ZJlzq/dzUAcesuW/+GDYnN0Eos7X0xARL3v0jKdQhKFmb/kLaRhMc+eFXB3XQDOFZCzc7GykOnFIt2ESRqncqEZpwxiNOuOzXH/iHOeNsbuykgObNt0HQshaRErogyQswmwVC6VGuNpmmdlRcOIHxKDjRQDgNPMur/zDR3XDyqikGp17Y5jg4r0KTsvdzI4RbOmcNmCaceChgbi9qRWTBppK1cOkFnKAIn16nd3Q9nE+aw+esLTbrIacAzeD02wcFdlE0lgcF4LTyQeGF7Xm8jSYIFefUJSm1utqOc2aHUUgJGdkgqQYnsowTzSkPqt9pPR5OPoHTDDkbKujUwy4KcFblJ2sNOucna1GVTb8I4YfSOTV1Q873nyodVOyjXMzTv8EIlf1qbxrOAb6Jqlf/gSqaBSdcfqNHYzPoREYXhFjdO9mgV9zmbKVq/a0UqvfKyr1+8V5eVJtOduoJ5msDbAJnIQPOGfsoNpw/duHUlAEZhjNW8N4NOkVlsa4FzSn3MMSlkPPNlCAAJ82DsE6mNppU1mpQICQJzS08Q4vajmbA+d3oulo3WQucNbGsdc9z9tkETmqD5sEZzwdpyDnfUPEecLKLkm4X69NJyFm03ROgmCeZISMfFODy6GTtUwPOKpreYc7y6r8qowuA0fOcesfhROUFuqddcHIx51DjhM7XStb6q9qoc5Kv1axUbTPkzHc5H3Pn1BdszoDTaSDk8RntJe2xCZxSWV0LnduCzd2rWqzzG7Dk/TwCTj8hdMiRlMm5WuCUX1K3J5URp6ZGzLlSSa52Eb4pPo1MrfT1rnxQDFAXzaenCpykagOlez6cfEfhjFbVIhFJQoiIEzxfF05ss9rwfd6idj6cHOGUipQQo954j0QQHUoA8pF5k020xSZoBvruHQsnbObynHNRB04gteGMZIO0qkWUIBj7nBOd86ONOBc4BWQzW6tno2Vt6Z2iUTnb9CsAZ6wAwYfTL3tHfeOETLM8CDhRttWJcUbXtWY6KB20PvmFtT6c7KNoGpIMQiWaB5QH4Zy03et09qq0rH0v9PDOddLuicBEh8Dps+lHnD6cfeNE1YRQXC00o3Rmel040YvQfENwZjeL6cE1eTrnxcoKIfJBm8W1BpzNbtJ6W8ZpwCkNhrNEk4qEA+EEUM0yzmSb/ZBz7pqWizlfoHMQnOGIc1JCKG2fYJ6hy4vYPuEuhnWTE+OEy33e6W2k6EsfM+F8ipcH+W0QYBI19jnnw6lhBp0j4XxYb0o5tCvm/O5eOCftSTgupgGhmz0QLh80exejRj6IdFAMzni7EtC06t7NHgg+nJpMOON46k0XhEQlMgoQbOdUxHljV/8tGhNzVlO17RIEqoM0cM5F2VFOfRtwwuZOOCNkekdS9lUH+aW1Tfu8zOaqVuqzmR9JYVl78uH0Q06cc/Zhzum2WTqnZnwzVFhL5AmiHOXEOOsy9lGidP7Sg/OzV4ITNMOltT8FZMAZPpOSsxl1zucYnCabwSutjXQQaB4FJ86pGS41LtNm2Xt6K+S8ozKoLxNOxzk1DV7UPg28lxPB5jA4jdusi7pa3sZ5MclY1dI9KFId9GDmg34/3jkvIs7ke6M6iNuLlA8SmsgtDxoHJzLQBM6CzZZ1zoUTTYEz0hWzR6fToiRCZuCg9cHJWjRmn5P6vWrL2uVpSFhSWMtOCoh24AzxacScE4+LGcaJOmwiyzj9kDNviknQiVzjhMv9XRC403qzOgjdXKt32Kw5J775Q56lbaG5pn80p0lgCs+FzP1HxQDTSQih6cesAZSI02PzIDgjZKKWb57wTmMfxb35L68QGl+655cg+DEnvnmXqOwlhBBkaqiuFuvUbJYg7FvUooPLg/DNMXekoB6bJG1nwdle1JadMU/nR+MAOCl5Z1X79uAUngg0mQo45ZtF/yAuF0t1tf/DuQvOH680TsqDpsEJnTLLItxse6d10Pq3cAeE8zQp5Dx+kxPnxDd/yKJNpspBzvdF5z2taikQuhvUeO8KNsFT0yGd3p+keqd3yzl/CmjELmcdzBJOeGVd+yzjXJ1z1amHZtQ7g2taVrU3dNDaaCjdrK2tHxjrXf2HbaZsEIva/lHO4I3W18B56DUMsGlEnAac0zZSci6pD6p0QRCcFyzv313QvO/4pg8nHUpknBrT4Dy+BAHnlG3WOu+1rppfB1wKUZ2yRmc03yCcjQIEowShu6p12PTh7N1nrYlGCO/uz0N4ClLjRAp4hrWW790OnE7EWTonZe8aJIS613ISceKcaPlpwvl15KB1qZnHxZ7qJzlHdZPWTZx56V5AB55I4Z+kbNOi9uKfZ0xhc0rjvYesACF55+1ckmKhWTpnng9itCtrBSRo5s6ZNlTMytpFO30TDS95RyE2/WQtbE6HM7Ss1cA48c13BJvL82752wmn7ZtG571JcP5pwwmZZaq2uc/5qehkUZse9jdhsyXvoHWTxhuDc9s30RVwouPghEz0nLxTjqk5lqpF+3zzN5nm5QfjDWWDCufEKlnV1vQ+dd1jL0VoUh6kZ3wXBLQJ58TDYosCbJrJWtA8tgYhfpIzd8+LbyrylH2GkrUozGaZEkrNvYJr2gcLzmMTQv/FUw/vhmhVy/1F3JEiSH04YTMOZ3rP2+Rswukna3+twRkBdNI2Z8Zm0T6I42LgqLATzaqrJVOr8DNmnL5zTmEz4pyNfZSWcuf8twIhO2+N5h3mhEteRt+9Dx8+LH9ndcm04fwxDKeBpl31HmkfdJJtKlurcaYU65x20lpcSrT2yuH82HdScM7yrvn0VEW8CaU6Z70GncKzS6fVBUFqwanJgVPaD6fdT/pXCTKTJsIJmvHmXt/kpqmPU0rWngeKsOnfaF2l8+GoBkJ+yBl0Tta0TNvOCaHyTk2waeSDLDj3oykgP6B4R0w/WVvCCZg3AOfymRrWkgpKlXzUvZ9tE/80FrVS4DyK2FTbPWLOow5aA+cfJpw/B5yzTud2ay9q3xV2ck8K8rsgxFe223B+1oIzVy8f5MP5fQNOdGA+qMcmvlm9bR48T8rSLr/XwHPhNMCmv5Uix4ztc/pdMV/ROUnX0kco3BUztXq/I1d7BZwAGu+CAI3EnFdUB1XhjG+kuM75awvOG8gHVZq9s7RlKbtgKddczfO+l6r1i/eQ2Azmgx7MIynhmzlHZ2sFo6b+Oeu8cC9NlAfdDUvWjoQTNTO1IhIy9TLyQbC5F050U8V7VO/lWo+KiUh5p8LP++f7mSUIDyknJC5X57yNK3N94yydEyZ5adp2Tta0opJW0lbMGW+DAJn2nbmbcC4cbp4WQ30wj4fzmhYI9EAoGpToLzmnqDx757MEm+PhFJjroArh4Ubusx4HZ1m7p7HRB0HuiXdqPArKVIagYaRqg2XvwJllg5jjxolEJWTmkk2WAWf8crEIm8hm04eTezmXh4OcaPVMoSldUkLLiKxq/do9nBM0XxqrWgdPb5PTd07Czf6V1jppnQZGKt9MsMaPpABnqfA9DMAZ9U0fzqekHeHmDcIZ3EjRG+/Mos5LDmh95KH3vX0UH05WtSlbm/nmQQ1r/SMpQeckE5S9Ud4G4TF5KM4pMil7PxJOoJwNZ0tT4fTZ9JO1K5ogydkxOSVjsVKFnPdTu0kD6MslI/QG4fynvTPbjZ0IwnDOYV8ktrAMEtsJRAMSkDsu0bwA7/84tP9x5VOPu5OyyzXjDFQ7bU/uP/1d1bX0o7XaOrZv3nNKPFHOeEQIOPnSv9eeaA198OmBc7Z2utiEzE3AuTtVTshENyWX5fv4vuNQm1qRIsk04dyM05mgnPWxtu9xKvqjN9pJ8gGDUhb4nFNAxSIGln4y/S4nAaEwnP1Q7fbgnNJZg0hyEMJJrfWdlm45y2Y/htVHM97by2JCTOZcIz0IMrejnJXLiXTqs2XopZbpqHmdJO9F4By/rg1Or3KmN5P29w9COadlKbu7so23nNqsRwk+ZwKcGNPmrxFODC6fiNXSn6RuUlKNFhOfgbZ7mBdOAI12KHGQmQBnID+oB6IDTRecpO5VPqdpp6o4JZmW7q43PuccOLFnXE3zOO83WMsZJRM4f6BlLVQ+nYUAmCjol7rjJFo7JwcB2UQxHXguUk/vAKMInNgl4IREL5y7toHmuAFk/SXJNP08PKbZOtiMBIRou/cw7OmzxZLgDClnUzvBciTUaBSh3HMugjORTX+rd3+odnZmrYfNSCknJAbYrK5RWHBJKsJda+FzZgZrTTIH/dwMnLAXhbPdd49351yLy6ltQNIWCjo/P8je2NpOpw/N/sk2JpsyF5rxOus0OA8T4TzU8doDbC6E03uJQmrthobmwt4KGUKwWScgHJXzkxadkMmUFHmclXTOv0fxopl4kSIqu3DO0c1wrJYJ1vW0XAeawBk40/YLrQ/4nsdalCpeOyQggGfCROt7PqWZE8u9R8lnE+XEpjOMmt3eq7Z71FmXpU373GgtDifH2x6cX6fD2UczH05MYJa/yZR5o1RjGMqfIzS7GM7ySU2KcYntCotWI1Y+LHuPeFACnMwWY2buReDstd2Lo4lydi464XIqnDWheptYissFqbWUjOml7TLB2rPFg0Dzpz6cMuCcmOBsAhqEc3faAgEykc7qbpPuXo57zkCwlsw9R0tMLMCmLOEaxa2ceJlaLeUUmlLKuphT0lnW8IFy+uEEQ/1o5iBgGdec3mDtF+EUBH89CqqJtQBdxiU2p3kQme9s0k65nOUZxfPgjAfFizlhMzc7KKkLgtfnbKYIdeNB9mjTuZbhYp/k3HLms4lwho+1ITZxOZ81r2hGhov1R+bqCPu5uZ3kBwVcTpdu2g6S2SkIZ7tJAU7yg6ZptW02oRKvc0STsbkF1//hfAlw7vzD5usqzvGx4uoxVKtH+UHlSc8PunY4G5m1hGpbzd5vOc/ibupUKyjnKSdo2isAZzABgWIUbY5TLWymnWodcCbEg4TjhM6mHay9+4EJYwOZWjl999BPJdS+6FPts8rZP9V27BY2AZVIrbb9nHIx4JQ9SWkkOwjrwQmhYeGMdCgBTm36WzsaBJ2fPQUnCXzMm2eTv0n3g/JDLUqCKQiu9iTWea9hwWjQV8GCFPAMwtmbxKAHq1zOevCfdJNILdUpXt0ETo9lZAcF4ExMQSBC+yScsgCcHuXcHfkkAQE8VcxJQcrBzrTg6YAz0LC2xWYMzi1Ui1U+56loopz95D0IpWMtrmegIuUC+UEBpzPQTdqTVgubXTiznU5qORt29DUPUs3H+hThubhFiSOl1uF05nmcWDKc3VNtF866GkUv2tXaax6dnGYdfK6GJnA66Yxm1c5t7EW6ARa5SImMF7OtjgkVk8tZNlPNzyWbWoHpYt609/uEi5SN1KRIOWHTday9xde0rnt1Nadl8S2DEzrT4cT+y3BCZ7fx3qQmBbsrj4JBUs3yrQ02A3D6hqQ8XDOc7dGcPdm0smqCQBJJorUK2Opvbsr74mrOOJwOh9PrcWIBOGXf+6ybVrviLWfdTLqSzrGZ12kLBD0OOiOhWmpSLnOTktcTEzi5SfE6naNy8rcvJiAJ2HqDtf56TuAMaKcDzvVS92J4Eg3S7gzWYn42tT81+k8PB9qBVhNOFW5anFYep6TTlyAUv+WEzfSaFH/DWgANwwmbYKkEhCfKxfSwRKYBaU2lHcq5pJ4zoyQFONkccOaWpACnLCdYu3N6nJ3Jf2ogNE60pjbFc80ZL7O2UuvLsAmc+cqJuwmiWCNYS6n1SCeczh8wBpn6cZGbFCxyrgXNGJwiU1u20/k8nJJN5FIKCp9C07KEPtcPO9cm5tVylfIg21AbBD+fPuVEONm6Fyn4nCyTSinowjprn+f5H6mzNjiXSud6sVpy9wCS15jnbmlCUk8Jp5YDzkidtegsyrmhOmvAXBNOsGRrOpuwacK5V/t3o5QD7nw4ZbOzg+JwVlkIC4K1v686vwg4Kd9MgnPXsSaaVIyhoMfiTWu6d9BuEaG5uXvA6dJOO9VuCs6fU+BkuJiB2c97F5WsgiIda5FOL5wYeCbAKVvU6R2LBGtlczu9g2Afz0iw9lk2h2861p4ea+VlDkRSkkJibV6wdtoGYSttMX+eZ27lHNdzM1Lg8rEgRdFaeu/pWdTqPStUC5n+QutoRCg6+W9CZZfS4KG2BeiUzeF7OjNXFykaxzlmCJUvOgj5SlJagPqHpAjN7bR6J1Qb4xI4+2nvntZekszK6XTUi4W61ua7nLEUBFm4QQmWUS+GecvFmteccjOFJRUpx6UtZw4DgPqFMxoNCqQghOEESfBs2v4WMq3M+tgFAadTuL5oOP/662XDuWa0dmcLLLGCpP7uDnQQsoOtRzmXsYlwFjb/A3AalDAKn71iTjoH4XRyyzk7HnShU+0JmNvou0d7EijNiQc9CyedvaoGQsSDtB5zhA6jch48wdpoAoJbOf1guuD0n2rjSQitsX962kbaOwddRjBom6+bUMn32bpJT+o5w9PFgnQCp6xP6bephdbDDxvEAJe8C5rW/6Ds3HICZkqhNS34YBOLwbmRppjA2Uh7h84ay3pOCnkH5XDLnJSyFsC5gVbvW4GTxl65h9rnr1F25CA0jrVD1gGtaiWgRGvz4GTWfIvOWCnnhi5SBGfFJe9norUEay17r/zw9N0L1XOmz0jZRMtaKlIu7XHidILl7mCUMlJsdD6HFw5nbvIebNZ2JRUpE+VEQWW33cF/fNtR1tq8o5yRW5T89CCswWV8oHUETm5NBOjlGu8BZ8ekmAdya/XiIgUwE46191xzrhkMgk/QTE4P8vucvCYGlbYZotSKoZxL4GTPhxPbOJxvLggnwkkUSM/4V5xOdLN8lxdsZsFJtPahsHn9cNZganOEavVhXJK5p9dsOPXKTA9yyKasx+f5okFG5jZa1pK8d+QTs/7uVslJYm15sqNBnGnz8w824HPeevLeCdVq7QcbtVKlKctz9zrBWthMg7Oq5+zSmTL4L5C6B5w5eOplPRAICfE3AGmTOe1KJZi65y+0JuV9bTy3Mf2vOtba4rMdqq2jQWMwaER14Xgxf+ugrJIUD5znK7OGzUBJSjBeC52k7qGb9MQ07RSm5e+u1QUhRTk3mPWeExASldq7CUKSUrq9g6h1xRSaizL34BJI/XiGPc7gROsInP1grbcexZlaG69JAUogvbO2e1aaUvAc3qddENLiQQ8JxZzbaIoJnF/CJ6th+4pO1JJJKQsuOWsa+XWudtJBON0up5tNkPR0KMmfkgKb8KmXFVrL3dTn8MPczoXxoED/IFkATdl2zrSCs07ZE6NPF1qzadgYvWoXKSd11pk3KYEeCLJ5CQg/BuNB9CgB0XM6nBhep0VpQVNiabJ5OL6LNeqsO4Amn2qBM5CFIDh/uxScFZLPTGKoyNQ+0kjEdkZiLXB6098Tg7XAuYFg7Ruz85WkYC00sQNolg+TTcWFhl+UWgNn3xZlvdsbPMOpe8AZTHtPvufss2kTre1Ua8Ha4QWYe4dwLsxESOuCAJnhLgjxrpg4nRto9S40e8P/BOQxRmvtEAqSf/5haGJz2u55y1K0nIXWm2v17q1KaSTvtYeLVe2D7KEnCckIS1zOrc9hgMfsftLOtNr8Uy10Hkg+QDutGuXYudbGAArLQTyzJ//dI52rpu5tKAWBYy2MdpRzb8JZ4aklDWUs5/9wXhmcJ/EgvscorXaZqGzco8ThRDNtu9dN53XD+W6rCwKGcGq6GHTa2qOci0pSDD0oPWfDWhIQFsaDWnwuDtX+/fffp3338pL3XGM5JZzNarHxVKuDrXXGpCEmtmJPzHu+7sd47bou56YuOQc430cz7aMpnKS+ExGy9KCTis7ZdOrvQt2kY3A20QzBKTqhEkK92rlmQUr5l1YNptgUnFJMeZ76xXk2a/QfJSmSzvOnIOQ3lMbevvkYxUQ5p8K5N+Ws5lmPa3jGXKGrhPP3FeD8LgAndl44xSWGy3mEc7w/oXUtypkFJ+EgIkLrwbmVuZyjfXTzHsFalPOJVu/amJJCEecRzUX9pPO7YublB6W0rKWeMw5n3OPccX+CiUhBaVFblabA5spOZ0GRbtKP0drtwBn0OP85tfK/t25ej0jCZ6/tniknqxDJSGsxuqgrpsuyUvfQy9iQFCySHkRvr/T+QS7lRDsbs+b10AJBNSk+On9tmz9Sa892hqQEdRMqwfOdmw/rgrF+sJZoLbqJcJq3qW1pPedVwPnd1cC5a3TdowWCCaca1Y6kwmYmnBJOKeeGJhhFWtY+4mjr+OvDGyJCx1fX5zS9JK0Wl5MUoX2g7V6gJ2YcTnfbPdBMOtMmkBnoUNI0fE5r7SUwncViNJP2H2lxN005tV1HNGg8x8Km/vX2zc3Na0/zIJL3yKvV7aYkE+VcVC0mS4ATPIM9Ss47wGi0C1aLEao9VJm1VYMvS6sltbY8zdygNqKBgdZ090qHMz91z0Rz5BLtfKfA+erdSVPMhtWzxfSu2tXqL5D1nsqmH87NTBd7c/kUBHHZGjYvSnWKVYaQCaeek7uUlfJqgZJ7FK0rKLO2I62Y1DPS+epG0ulp9i4kjUy00xLehWl5BfJqOd06C1K22BQzPjQXLgWpD01s5VJOLTOE0/xNuZv6EKAo56qV1mA53nKOeDZPtfltMeN5tX1vk1PtWzeDvXr/2RkpOJzVTeeeWC03Ksvbk+RXi+VPtP4u2AYBGh3pB4mz/3ZEg6rE2p32uiUmXfeGldROGo/T1rDlDxfLP9PCJK/icb66kX3w1HQx7LYOCZnHacoZaCYNoTlNED71wtnRzS/8hdYxOB39MNMrUhBNeZztcmt0U37nUDU2Ninx5+7NjghhD6JznXgQ5o4HAWgATmTzlEw5oB/cjPaags5e/gENhJicSymnPoVoIFg7v0dJRDllBueyDITIzFxZD04YvUQ8CDw7CUIcbAuSRTStcAw6ZwVrMX+VNXTG4cTOGqxFNqfhIB1qzd57umUtfb14jsWcj9nvi/MP5judcBkvSYkVc/q7IPincuJ0pnZBcPqbwnMaqFUUSECKz3G7aynnHwn1YmKzPJ540H0wHpTldIpM8Kx0EzahsxsPmgxI0Qe5tKNq+uGM5wcF2HTAmZ8f9GSVdX69mLeS0/5ZC6ilB5VvhWylmjZfrB0QisPJXco90dpNjMxdIpzIJmTaCzY52RIP6tFZN5Te2w0nfb4Ww/nN/3BWcL65MJx2x7mj0ppjbUGR5kGmm7pNCUVrffUo+rS1jXnW8+E0zbQLzukNZ20fvEvAtt2z9ggoArpnpLW9lw4X48N9qF2n0Bo0PQOM4qda0GzhCZX4nt2+e6kdSuyKE6ubYo7rcaR12drjrIEzxiZGehB03vdPtbHBnEnBWmOz6W++rVhQba9eC8+Ocj7O4aRhLVHavfZlwVptGXCC5hI4sRUa1n7nhJNCa6i8CJw4nFWtNR860eqSk5HW6vd+5wrWxkb/PZRoredQC5hxOLEgnMgmUPJRPt/SHUoDz/dvgbOhnPWYFHL3ePfh/KQHp0M5f3nhcGIeOGUXhZNylCoexAGXBkJiUgvlXLWbNMVithQHqq85h/+9EDh/RjbBdFiyt98BzYl9+Pq9j99vayeZe3bJSc/avRa2ktMJnC+jZW3P48x3OuPBWoEImiTvNcycTAsLqTAFNDM8TkxIMnE+wenMTN4jSguYI5cfvfXOhzWN/wLvNnR1RoASSAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode, /* vue-cli only */\n components, // fixed by xxxxxx auto components\n renderjs // fixed by xxxxxx renderjs\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // fixed by xxxxxx auto components\n if (components) {\n if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n this[renderjs.__module] = this\n });\n (options.mixins || (options.mixins = [])).push(renderjs)\n }\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import store from \"../store.js\"\r\nimport request from './request.js'\r\nimport alert from './alert.js'\r\n\r\nconst login = {\r\n\tcheckAuth(callback) {\r\n\t\tconsole.log(1);\r\n\t\tif (this.getLocalUserInfo()) {\r\n\t\t\tconsole.log(2);\r\n\t\t\tcallback(true)\r\n\t\t} else {\r\n\t\t\tconsole.log(3);\r\n\t\t\tcallback(false);\r\n\t\t\tconsole.log('未获取到用户本地数据,去获取授权设置', 22222222)\r\n\t\t\tthis.askLogin()\r\n\t\t}\r\n\t},\r\n\r\n\tgetLocalUserInfo() {\r\n\t\tconst user = uni.getStorageSync(\"token\");\r\n\t\tconsole.log('从本地存储中获取用户数据', user, 11111111);\r\n\t\tif (!user) return false;\r\n\t\tif (!user.token) return false;\r\n\t\tstore.commit('saveToken', user);\r\n\t\treturn true\r\n\t},\r\n\r\n\tnoCase() {\r\n\t\talert.showError('案件不存在');\r\n\t\tsetTimeout(() => {\r\n\t\t\tuni.switchTab({\r\n\t\t\t\turl: '/pages/case/caseList/caseList'\r\n\t\t\t});\r\n\t\t}, 1500);\r\n\t},\r\n\r\n\taskLogin() {\r\n\t\tuni.showModal({\r\n\t\t\ttitle: '尚未登录',\r\n\t\t\tcontent: '前往授权登录页面吗?',\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tconsole.log(res)\r\n\t\t\t\tif (res.confirm) {\r\n\t\t\t\t\tuni.navigateTo({\r\n\t\t\t\t\t\turl: '/pages/login/login'\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\r\n\tgetUserProfile(data) {\r\n\t\tconst that = this;\r\n\t\t// console.log(data);\r\n\t\twx.getUserProfile({\r\n\t\t\tlang: 'zh_CN',\r\n\t\t\tdesc: '用于完善会员资料',\r\n\t\t success (res) {\r\n\t\t\t\tthat.login(data,res)\r\n\t\t },\r\n\t\t\tfail (e) {\r\n\t\t\t\tconsole.error('获取用户身份信息失败了', e);\r\n\t\t\t\talert.showError('获取失败')\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\r\n\tlogin(data,userInfo) {\r\n\t\tconst that = this;\r\n\t\tuni.showLoading({\r\n\t\t\ttitle: '登录中',\r\n\t\t});\r\n\t\t\r\n\t\tconsole.log(userInfo, 1111)\r\n\r\n\t\twx.login({\r\n\t\t\tsuccess: res => {\r\n\t\t\t\tconsole.log(res, '----------- login获取的 -----------')\r\n\t\t\t\tconst code = res.code;\r\n\t\t\t\trequest.post('/login', {\r\n\t\t\t\t\tcode,\r\n\t\t\t\t\tencryptedData: userInfo.encryptedData,\r\n\t\t\t\t\tiv: userInfo.iv\r\n\t\t\t\t}, function(data, res) {\r\n\t\t\t\t\t\r\n\t\t\t\t\tconsole.log(data, res ,'----------后端传回来的----------')\r\n\t\t\t\t\treturn\r\n\t\t\t\t\tconst user = {\r\n\t\t\t\t\t\ttoken: data.token,\r\n\t\t\t\t\t\twho: data.lawyerInfo.who,\r\n\t\t\t\t\t\texpires_at: data.expires_at,\r\n\t\t\t\t\t\tlawyerInfo: data.lawyerInfo,\r\n\t\t\t\t\t\tclientInfo: data.clientInfo,\r\n\t\t\t\t\t\tinfo: res.userInfo,\r\n\t\t\t\t\t\tlogin_type: 0\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tstore.commit('saveUser', user)\r\n\t\t\t\t\tuni.setStorageSync('user', user);\r\n\t\t\t\t\t\r\n\t\t\t\t\tuni.hideLoading();\r\n\r\n\t\t\t\t\tif (store.state.path) {\r\n\t\t\t\t\t\tlet path = store.state.path;\r\n\t\t\t\t\t\tconsole.log(path.startsWith('/'))\r\n\t\t\t\t\t\t// 判断是否path前面有/\r\n\t\t\t\t\t\tif (!path.startsWith('/')) {\r\n\t\t\t\t\t\t\tpath = '/' + path\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tuni.reLaunch({\r\n\t\t\t\t\t\t\turl: path,\r\n\t\t\t\t\t\t\tsuccess: function(res) {\r\n\t\t\t\t\t\t\t\tconsole.log(res)\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tfail: function(res) {\r\n\t\t\t\t\t\t\t\tconsole.log(res)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t},\r\n\t\t\tfail: err => {\r\n\t\t\t\tconsole.error(err, 8877897)\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\r\n\tlogout() {\r\n\t\tstore.state.user = {\r\n\t\t\tuser: null,\r\n\t\t\tpath: '/pages/login/login'\r\n\t\t}\r\n\t\tstore.commit('saveToken', null)\r\n\t\t// uni.setStorageSync(\"token\",null);\r\n\t\tuni.clearStorage();\r\n\t\tuni.reLaunch({\r\n\t\t\turl: '/pages/login/login'\r\n\t\t})\r\n\t\t\t\r\n\t\tconsole.log('退出登录。。。', this.user)\r\n\t},\r\n\r\n\r\n\r\n}\r\n\r\nexport default login\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nVue.use(Vuex)\r\n\r\nconst store = new Vuex.Store({\r\n\tstate: {\r\n\t\ttoken: null,\r\n\t\tpath: '/pages/index/index',\r\n\t\tpeople: {\r\n\t\t\tid: null,\r\n\t\t\tname: null,\r\n\t\t\ttag: null\r\n\t\t},\r\n\t\ttaskType:'',\r\n\t},\r\n\tmutations: {\r\n\t\tsavePath (state, path) {\r\n\t\t\tstate.path = path;\r\n\t\t},\r\n\t\tsaveToken (state, token) {\r\n\t\t\tstate.token = token\r\n\t\t},\r\n\t\tsavePeople (state, people){\r\n\t\t\tstate.people = people\r\n\t\t},\r\n\t\tsaveTaskType (state, taskType){\r\n\t\t\tstate.taskType = taskType\r\n\t\t},\r\n\t},\r\n\tactions: {},\r\n})\r\nexport default store\r\n","import{initVueI18n as e}from\"@dcloudio/uni-i18n\";import t from\"@/pages.json\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function s(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var o=s((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},o=s.lib={},r=o.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},i=o.WordArray=r.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,s=this.sigBytes,o=e.sigBytes;if(this.clamp(),s%4)for(var r=0;r>>2]>>>24-r%4*8&255;t[s+r>>>2]|=i<<24-(s+r)%4*8}else for(r=0;r>>2]=n[r>>>2];return this.sigBytes+=o,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,s=[],o=function(t){t=t;var n=987654321,s=4294967295;return function(){var o=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return o/=4294967296,(o+=.5)*(e.random()>.5?1:-1)}},r=0;r>>2]>>>24-o%4*8&255;s.push((r>>>4).toString(16)),s.push((15&r).toString(16))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new i.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],o=0;o>>2]>>>24-o%4*8&255;s.push(String.fromCharCode(r))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new i.init(n,t)}},l=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},h=o.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new i.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,o=n.sigBytes,r=this.blockSize,a=o/(4*r),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*r,u=e.min(4*c,o);if(c){for(var l=0;l>>24)|4278255360&(o<<24|o>>>8)}var r=this._hash.words,i=e[t+0],c=e[t+1],f=e[t+2],g=e[t+3],p=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],k=e[t+9],T=e[t+10],S=e[t+11],v=e[t+12],A=e[t+13],P=e[t+14],I=e[t+15],b=r[0],O=r[1],C=r[2],E=r[3];b=u(b,O,C,E,i,7,a[0]),E=u(E,b,O,C,c,12,a[1]),C=u(C,E,b,O,f,17,a[2]),O=u(O,C,E,b,g,22,a[3]),b=u(b,O,C,E,p,7,a[4]),E=u(E,b,O,C,m,12,a[5]),C=u(C,E,b,O,y,17,a[6]),O=u(O,C,E,b,_,22,a[7]),b=u(b,O,C,E,w,7,a[8]),E=u(E,b,O,C,k,12,a[9]),C=u(C,E,b,O,T,17,a[10]),O=u(O,C,E,b,S,22,a[11]),b=u(b,O,C,E,v,7,a[12]),E=u(E,b,O,C,A,12,a[13]),C=u(C,E,b,O,P,17,a[14]),b=l(b,O=u(O,C,E,b,I,22,a[15]),C,E,c,5,a[16]),E=l(E,b,O,C,y,9,a[17]),C=l(C,E,b,O,S,14,a[18]),O=l(O,C,E,b,i,20,a[19]),b=l(b,O,C,E,m,5,a[20]),E=l(E,b,O,C,T,9,a[21]),C=l(C,E,b,O,I,14,a[22]),O=l(O,C,E,b,p,20,a[23]),b=l(b,O,C,E,k,5,a[24]),E=l(E,b,O,C,P,9,a[25]),C=l(C,E,b,O,g,14,a[26]),O=l(O,C,E,b,w,20,a[27]),b=l(b,O,C,E,A,5,a[28]),E=l(E,b,O,C,f,9,a[29]),C=l(C,E,b,O,_,14,a[30]),b=h(b,O=l(O,C,E,b,v,20,a[31]),C,E,m,4,a[32]),E=h(E,b,O,C,w,11,a[33]),C=h(C,E,b,O,S,16,a[34]),O=h(O,C,E,b,P,23,a[35]),b=h(b,O,C,E,c,4,a[36]),E=h(E,b,O,C,p,11,a[37]),C=h(C,E,b,O,_,16,a[38]),O=h(O,C,E,b,T,23,a[39]),b=h(b,O,C,E,A,4,a[40]),E=h(E,b,O,C,i,11,a[41]),C=h(C,E,b,O,g,16,a[42]),O=h(O,C,E,b,y,23,a[43]),b=h(b,O,C,E,k,4,a[44]),E=h(E,b,O,C,v,11,a[45]),C=h(C,E,b,O,I,16,a[46]),b=d(b,O=h(O,C,E,b,f,23,a[47]),C,E,i,6,a[48]),E=d(E,b,O,C,_,10,a[49]),C=d(C,E,b,O,P,15,a[50]),O=d(O,C,E,b,m,21,a[51]),b=d(b,O,C,E,v,6,a[52]),E=d(E,b,O,C,g,10,a[53]),C=d(C,E,b,O,T,15,a[54]),O=d(O,C,E,b,c,21,a[55]),b=d(b,O,C,E,w,6,a[56]),E=d(E,b,O,C,I,10,a[57]),C=d(C,E,b,O,y,15,a[58]),O=d(O,C,E,b,A,21,a[59]),b=d(b,O,C,E,p,6,a[60]),E=d(E,b,O,C,S,10,a[61]),C=d(C,E,b,O,f,15,a[62]),O=d(O,C,E,b,k,21,a[63]),r[0]=r[0]+b|0,r[1]=r[1]+O|0,r[2]=r[2]+C|0,r[3]=r[3]+E|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,o=8*t.sigBytes;n[o>>>5]|=128<<24-o%32;var r=e.floor(s/4294967296),i=s;n[15+(o+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),n[14+(o+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var l=c[u];c[u]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return a},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,o,r,i){var a=e+(t&n|~t&s)+o+i;return(a<>>32-r)+t}function l(e,t,n,s,o,r,i){var a=e+(t&s|n&~s)+o+i;return(a<>>32-r)+t}function h(e,t,n,s,o,r,i){var a=e+(t^n^s)+o+i;return(a<>>32-r)+t}function d(e,t,n,s,o,r,i){var a=e+(n^(t|~s))+o+i;return(a<>>32-r)+t}t.MD5=r._createHelper(c),t.HmacMD5=r._createHmacHelper(c)}(Math),n.MD5)})),s((function(e,t){var n,s,r;e.exports=(s=(n=o).lib.Base,r=n.enc.Utf8,void(n.algo.HMAC=s.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=r.parse(t));var n=e.blockSize,s=4*n;t.sigBytes>s&&(t=e.finalize(t)),t.clamp();for(var o=this._oKey=t.clone(),i=this._iKey=t.clone(),a=o.words,c=i.words,u=0;u{T.indexOf(n)>-1&&function(e,t,n){let s=S[e][t];s||(s=S[e][t]=[]),-1===s.indexOf(n)&&\"function\"==typeof n&&s.push(n)}(e,n,t[n])}))}function A(e,t){S[e]||(S[e]={}),l(t)?Object.keys(t).forEach((n=>{T.indexOf(n)>-1&&function(e,t,n){const s=S[e][t];if(!s)return;const o=s.indexOf(n);o>-1&&s.splice(o,1)}(e,n,t[n])})):delete S[e]}function P(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function I(e,t){return S[e]&&S[e][t]||[]}const b=k(\"_globalUniCloudListener\"),O=\"response\",C=\"needLogin\",E=\"refreshToken\",R=\"clientdb\",U=\"cloudfunction\",x=\"cloudobject\";function L(e){return b[e]||(b[e]=[]),b[e]}function D(e,t){const n=L(e);n.includes(t)||n.push(t)}function q(e,t){const n=L(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function N(e,t){const n=L(e);for(let e=0;es?Promise.resolve():P(I(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):P(I(t,\"success\"),e).then((()=>P(I(t,\"complete\"),e))).then((()=>(o&&N(O,{type:U,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):P(I(t,\"fail\"),e).then((()=>P(I(t,\"complete\"),e))).then((()=>(N(O,{type:U,content:e}),Promise.reject(e))))));if(!(n.success||n.fail||n.complete))return a;a.then((e=>{n.success&&n.success(e),n.complete&&n.complete(e),o&&N(O,{type:U,content:e})}),(e=>{n.fail&&n.fail(e),n.complete&&n.complete(e),o&&N(O,{type:U,content:e})}))}:function(t){if(!((t=t||{}).success||t.fail||t.complete))return e.call(this,t);e.call(this,t).then((e=>{t.success&&t.success(e),t.complete&&t.complete(e)}),(e=>{t.fail&&t.fail(e),t.complete&&t.complete(e)}))}}class M extends Error{constructor(e){super(e.message),this.errMsg=e.message||\"\",this.errCode=this.code=e.code||\"SYSTEM_ERROR\",this.requestId=e.requestId}}function $(){let e,t;try{if(uni.getLaunchOptionsSync){if(uni.getLaunchOptionsSync.toString().indexOf(\"not yet implemented\")>-1)return;const{scene:n,channel:s}=uni.getLaunchOptionsSync();e=s,t=n}}catch(e){}return{channel:e,scene:t}}let j;function K(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(j)return{...j,locale:e,LOCALE:e};const t=uni.getSystemInfoSync(),{deviceId:n,osName:s,uniPlatform:o,appId:r}=t,i=[\"pixelRatio\",\"brand\",\"model\",\"system\",\"language\",\"version\",\"platform\",\"host\",\"SDKVersion\",\"swanNativeVersion\",\"app\",\"AppPlatform\",\"fontSizeSetting\"];for(let e=0;e{t(Object.assign(e,{complete(e){e||(e={}),d&&\"web\"===g&&e.errMsg&&0===e.errMsg.indexOf(\"request:fail\")&&console.warn(\"发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5\");const t=e.data&&e.data.header&&e.data.header[\"x-serverless-request-id\"]||e.header&&e.header[\"request-id\"];if(!e.statusCode||e.statusCode>=400)return s(new M({code:\"SYS_ERR\",message:e.errMsg||\"request:fail\",requestId:t}));const o=e.data;if(o.error)return s(new M({code:o.error.code,message:o.error.message,requestId:t}));o.result=o.data,o.requestId=t,delete o.data,n(o)}}))}))}};var H={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()},W={\"uniCloud.init.paramRequired\":\"{param} required\",\"uniCloud.uploadFile.fileError\":\"filePath should be instance of File\"};const{t:z}=e({\"zh-Hans\":{\"uniCloud.init.paramRequired\":\"缺少参数:{param}\",\"uniCloud.uploadFile.fileError\":\"filePath应为File对象\"},\"zh-Hant\":{\"uniCloud.init.paramRequired\":\"缺少参数:{param}\",\"uniCloud.uploadFile.fileError\":\"filePath应为File对象\"},en:W,fr:{\"uniCloud.init.paramRequired\":\"{param} required\",\"uniCloud.uploadFile.fileError\":\"filePath should be instance of File\"},es:{\"uniCloud.init.paramRequired\":\"{param} required\",\"uniCloud.uploadFile.fileError\":\"filePath should be instance of File\"},ja:W},\"zh-Hans\");var V=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(z(\"uniCloud.init.paramRequired\",{param:t}))})),this.config=Object.assign({},{endpoint:\"https://api.bspapp.com\"},e),this.config.provider=\"aliyun\",this.config.requestUrl=this.config.endpoint+\"/client\",this.config.envType=this.config.envType||\"public\",this.config.accessTokenKey=\"access_token_\"+this.config.spaceId,this.adapter=H,this._getAccessTokenPromise=null,this._getAccessTokenPromiseStatus=null}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return B.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return Promise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>new Promise(((e,n)=>{!t||\"GATEWAY_INVALID_TOKEN\"!==t.code&&\"InvalidParameter.InvalidToken\"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})))):this.getAccessToken().then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)}))))}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header[\"x-basement-token\"]=this.accessToken,t.header[\"x-serverless-sign\"]=B.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};return\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=B.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:s}}getAccessToken(){if(\"pending\"===this._getAccessTokenPromiseStatus)return this._getAccessTokenPromise;this._getAccessTokenPromiseStatus=\"pending\";return this._getAccessTokenPromise=this.requestAuth(this.setupRequest({method:\"serverless.auth.user.anonymousAuthorize\",params:\"{}\"},\"auth\")).then((e=>new Promise(((t,n)=>{e.result&&e.result.accessToken?(this.setAccessToken(e.result.accessToken),this._getAccessTokenPromiseStatus=\"fulfilled\",t(this.accessToken)):(this._getAccessTokenPromiseStatus=\"rejected\",n(new M({code:\"AUTH_FAILED\",message:\"获取accessToken失败\"})))}))),(e=>(this._getAccessTokenPromiseStatus=\"rejected\",Promise.reject(e)))),this._getAccessTokenPromise}authorize(){this.getAccessToken()}callFunction(e){const t={method:\"serverless.function.runtime.invoke\",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:\"serverless.file.resource.generateProximalSign\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:o,onUploadProgress:r}){return new Promise(((i,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:o,header:{\"X-OSS-server-side-encrpytion\":\"AES256\"},success(e){e&&e.statusCode<400?i(e):a(new M({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new M({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof r&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){const t={method:\"serverless.file.resource.report\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s,config:o}){if(\"string\"!==u(t))throw new M({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new M({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new M({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const r=o&&o.envType||this.config.envType;let i,a;return this.getOSSUploadOptionsFromPath({env:r,filename:t}).then((t=>{const o=t.result;i=o.id,a=\"https://\"+o.cdnDomain+\"/\"+o.ossPath;const r={url:\"https://\"+o.host,formData:{\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:o.accessKeyId,Signature:o.signature,host:o.host,id:i,key:o.ossPath,policy:o.policy,success_action_status:200},fileName:\"file\",name:\"file\",filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},r,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({id:i}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:a}):s(new M({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))}))))}deleteFile({fileList:e}){const t={method:\"serverless.file.resource.delete\",params:JSON.stringify({id:e[0]})};return this.request(this.setupRequest(t))}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new M({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}};var J={init(e){const t=new V(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};const Y=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var X;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(X||(X={}));var G=function(){};const Q=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new M({message:'Your Node runtime does support ES6 Promises. Set \"global.Promise\" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,\"then\",{get:t}),Object.defineProperty(e.promise,\"catch\",{get:t}),e}const t=new Promise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));return e.promise=t,e};function Z(e){return void 0===e}function ee(e){return\"[object Null]\"===Object.prototype.toString.call(e)}var te;function ne(e){const t=(n=e,\"[object Array]\"===Object.prototype.toString.call(n)?e:[e]);var n;for(const e of t){const{isMatch:t,genAdapter:n,runtime:s}=e;if(t())return{adapter:n(),runtime:s}}}!function(e){e.WEB=\"web\",e.WX_MP=\"wx_mp\"}(te||(te={}));const se={adapter:null,runtime:void 0},oe=[\"anonymousUuidKey\"];class re extends G{constructor(){super(),se.adapter.root.tcbObject||(se.adapter.root.tcbObject={})}setItem(e,t){se.adapter.root.tcbObject[e]=t}getItem(e){return se.adapter.root.tcbObject[e]}removeItem(e){delete se.adapter.root.tcbObject[e]}clear(){delete se.adapter.root.tcbObject}}function ie(e,t){switch(e){case\"local\":return t.localStorage||new re;case\"none\":return new re;default:return t.sessionStorage||new re}}class ae{constructor(e){if(!this._storage){this._persistence=se.adapter.primaryStorage||e.persistence,this._storage=ie(this._persistence,se.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,o=`anonymous_uuid_${e.env}`,r=`login_type_${e.env}`,i=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:o,loginTypeKey:r,userInfoKey:i}}}updatePersistence(e){if(e===this._persistence)return;const t=\"local\"===this._persistence;this._persistence=e;const n=ie(e,se.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&oe.includes(e))continue;const o=this._storage.getItem(s);Z(o)||ee(o)||(n.setItem(s,o),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||\"localCachev1\",content:t},o=JSON.stringify(s);try{this._storage.setItem(e,o)}catch(e){throw e}}getStore(e,t){try{if(!this._storage)return}catch(e){return\"\"}t=t||\"localCachev1\";const n=this._storage.getItem(e);if(!n)return\"\";if(n.indexOf(t)>=0){return JSON.parse(n).content}return\"\"}removeStore(e){this._storage.removeItem(e)}}const ce={},ue={};function le(e){return ce[e]}class he{constructor(e,t){this.data=t||null,this.name=e}}class de extends he{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const fe=new class{constructor(){this._listeners={}}on(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}off(e,t){return function(e,t,n){if(n&&n[e]){const s=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(e instanceof de)return console.error(e.error),this;const n=\"string\"==typeof e?new he(e,t||{}):e;const s=n.name;if(this._listens(s)){n.target=this;const e=this._listeners[s]?[...this._listeners[s]]:[];for(const t of e)t.call(this,n)}return this}_listens(e){return this._listeners[e]&&this._listeners[e].length>0}};function ge(e,t){fe.on(e,t)}function pe(e,t={}){fe.fire(e,t)}function me(e,t){fe.off(e,t)}const ye=\"loginStateChanged\",_e=\"loginStateExpire\",we=\"loginTypeChanged\",ke=\"anonymousConverted\",Te=\"refreshAccessToken\";var Se;!function(e){e.ANONYMOUS=\"ANONYMOUS\",e.WECHAT=\"WECHAT\",e.WECHAT_PUBLIC=\"WECHAT-PUBLIC\",e.WECHAT_OPEN=\"WECHAT-OPEN\",e.CUSTOM=\"CUSTOM\",e.EMAIL=\"EMAIL\",e.USERNAME=\"USERNAME\",e.NULL=\"NULL\"}(Se||(Se={}));const ve=[\"auth.getJwt\",\"auth.logout\",\"auth.signInWithTicket\",\"auth.signInAnonymously\",\"auth.signIn\",\"auth.fetchAccessTokenWithRefreshToken\",\"auth.signUpWithEmailAndPassword\",\"auth.activateEndUserMail\",\"auth.sendPasswordResetEmail\",\"auth.resetPasswordWithToken\",\"auth.isUsernameRegistered\"],Ae={\"X-SDK-Version\":\"1.3.5\"};function Pe(e,t,n){const s=e[t];e[t]=function(t){const o={},r={};n.forEach((n=>{const{data:s,headers:i}=n.call(e,t);Object.assign(o,s),Object.assign(r,i)}));const i=t.data;return i&&(()=>{var e;if(e=i,\"[object FormData]\"!==Object.prototype.toString.call(e))t.data={...i,...o};else for(const e in o)i.append(e,o[e])})(),t.headers={...t.headers||{},...r},s.call(e,t)}}function Ie(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...Ae,\"x-seqid\":e}}}class be{constructor(e={}){var t;this.config=e,this._reqClass=new se.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]}),this._cache=le(this.config.env),this._localCache=(t=this.config.env,ue[t]),Pe(this._reqClass,\"post\",[Ie]),Pe(this._reqClass,\"upload\",[Ie]),Pe(this._reqClass,\"download\",[Ie])}async post(e){return await this._reqClass.post(e)}async upload(e){return await this._reqClass.upload(e)}async download(e){return await this._reqClass.download(e)}async refreshAccessToken(){let e,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=await this._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throw t;return e}async _refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:o}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let r=this._cache.getStore(n);if(!r)throw new M({message:\"未登录CloudBase\"});const i={refresh_token:r},a=await this.request(\"auth.fetchAccessTokenWithRefreshToken\",i);if(a.data.code){const{code:e}=a.data;if(\"SIGN_PARAM_INVALID\"===e||\"REFRESH_TOKEN_EXPIRED\"===e||\"INVALID_REFRESH_TOKEN\"===e){if(this._cache.getStore(s)===Se.ANONYMOUS&&\"INVALID_REFRESH_TOKEN\"===e){const e=this._cache.getStore(o),t=this._cache.getStore(n),s=await this.send(\"auth.signInAnonymously\",{anonymous_uuid:e,refresh_token:t});return this.setRefreshToken(s.refresh_token),this._refreshAccessToken()}pe(_e),this._cache.removeStore(n)}throw new M({code:a.data.code,message:`刷新access token失败:${a.data.code}`})}if(a.data.access_token)return pe(Te),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,a.data.refresh_token),this._refreshAccessToken())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new M({message:\"refresh token不存在,登录状态异常\"});let s=this._cache.getStore(e),o=this._cache.getStore(t),r=!0;return this._shouldRefreshAccessTokenHook&&!await this._shouldRefreshAccessTokenHook(s,o)&&(r=!1),(!s||!o||o{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){return this._request.send(\"auth.setPrimaryUid\",{uid:e})}unlink(e){return this._request.send(\"auth.unlink\",{platform:e})}async update(e){const{nickName:t,gender:n,avatarUrl:s,province:o,country:r,city:i}=e,{data:a}=await this._request.send(\"auth.updateUserInfo\",{nickName:t,gender:n,avatarUrl:s,province:o,country:r,city:i});this.setLocalUserInfo(a)}async refresh(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);[\"uid\",\"loginType\",\"openid\",\"wxOpenId\",\"wxPublicId\",\"unionId\",\"qqMiniOpenId\",\"email\",\"hasPassword\",\"customUserId\",\"nickName\",\"gender\",\"avatarUrl\"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}class Ue{constructor(e){if(!e)throw new M({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._cache=le(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,o=this._cache.getStore(t),r=this._cache.getStore(n),i=this._cache.getStore(s);this.credential={refreshToken:o,accessToken:r,accessTokenExpire:i},this.user=new Re(e)}get isAnonymousAuth(){return this.loginType===Se.ANONYMOUS}get isCustomAuth(){return this.loginType===Se.CUSTOM}get isWeixinAuth(){return this.loginType===Se.WECHAT||this.loginType===Se.WECHAT_OPEN||this.loginType===Se.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class xe extends Ee{async signIn(){this._cache.updatePersistence(\"local\");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,n=this._cache.getStore(e)||void 0,s=this._cache.getStore(t)||void 0,o=await this._request.send(\"auth.signInAnonymously\",{anonymous_uuid:n,refresh_token:s});if(o.uuid&&o.refresh_token){this._setAnonymousUUID(o.uuid),this.setRefreshToken(o.refresh_token),await this._request.refreshAccessToken(),pe(ye),pe(we,{env:this.config.env,loginType:Se.ANONYMOUS,persistence:\"local\"});const e=new Ue(this.config.env);return await e.user.refresh(),e}throw new M({message:\"匿名登录失败\"})}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),o=this._cache.getStore(n),r=await this._request.send(\"auth.linkAndRetrieveDataWithTicket\",{anonymous_uuid:s,refresh_token:o,ticket:e});if(r.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(r.refresh_token),await this._request.refreshAccessToken(),pe(ke,{env:this.config.env}),pe(we,{loginType:Se.CUSTOM,persistence:\"local\"}),{credential:{refreshToken:r.refresh_token}};throw new M({message:\"匿名转化失败\"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,Se.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class Le extends Ee{async signIn(e){if(\"string\"!=typeof e)throw new M({param:\"PARAM_ERROR\",message:\"ticket must be a string\"});const{refreshTokenKey:t}=this._cache.keys,n=await this._request.send(\"auth.signInWithTicket\",{ticket:e,refresh_token:this._cache.getStore(t)||\"\"});if(n.refresh_token)return this.setRefreshToken(n.refresh_token),await this._request.refreshAccessToken(),pe(ye),pe(we,{env:this.config.env,loginType:Se.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new Ue(this.config.env);throw new M({message:\"自定义登录失败\"})}}class De extends Ee{async signIn(e,t){if(\"string\"!=typeof e)throw new M({code:\"PARAM_ERROR\",message:\"email must be a string\"});const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:\"EMAIL\",email:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:o,access_token:r,access_token_expire:i}=s;if(o)return this.setRefreshToken(o),r&&i?this.setAccessToken(r,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),pe(ye),pe(we,{env:this.config.env,loginType:Se.EMAIL,persistence:this.config.persistence}),new Ue(this.config.env);throw s.code?new M({code:s.code,message:`邮箱登录失败: ${s.message}`}):new M({message:\"邮箱登录失败\"})}async activate(e){return this._request.send(\"auth.activateEndUserMail\",{token:e})}async resetPasswordWithToken(e,t){return this._request.send(\"auth.resetPasswordWithToken\",{token:e,newPassword:t})}}class qe extends Ee{async signIn(e,t){if(\"string\"!=typeof e)throw new M({code:\"PARAM_ERROR\",message:\"username must be a string\"});\"string\"!=typeof t&&(t=\"\",console.warn(\"password is empty\"));const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:Se.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:o,access_token_expire:r,access_token:i}=s;if(o)return this.setRefreshToken(o),i&&r?this.setAccessToken(i,r):await this._request.refreshAccessToken(),await this.refreshUserInfo(),pe(ye),pe(we,{env:this.config.env,loginType:Se.USERNAME,persistence:this.config.persistence}),new Ue(this.config.env);throw s.code?new M({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new M({message:\"用户名密码登录失败\"})}}class Ne{constructor(e){this.config=e,this._cache=le(e.env),this._request=Ce(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),ge(we,this._onLoginTypeChanged)}get currentUser(){const e=this.hasLoginState();return e&&e.user||null}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){return new xe(this.config)}customAuthProvider(){return new Le(this.config)}emailAuthProvider(){return new De(this.config)}usernameAuthProvider(){return new qe(this.config)}async signInAnonymously(){return new xe(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new De(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new qe(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=new xe(this.config)),ge(ke,this._onAnonymousConverted);return await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===Se.ANONYMOUS)throw new M({message:\"匿名用户不支持登出操作\"});const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const o=await this._request.send(\"auth.logout\",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),pe(ye),pe(we,{env:this.config.env,loginType:Se.NULL,persistence:this.config.persistence}),o}async signUpWithEmailAndPassword(e,t){return this._request.send(\"auth.signUpWithEmailAndPassword\",{email:e,password:t})}async sendPasswordResetEmail(e){return this._request.send(\"auth.sendPasswordResetEmail\",{email:e})}onLoginStateChanged(e){ge(ye,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){ge(_e,e.bind(this))}onAccessTokenRefreshed(e){ge(Te,e.bind(this))}onAnonymousConverted(e){ge(ke,e.bind(this))}onLoginTypeChanged(e){ge(we,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;return this._cache.getStore(e)?new Ue(this.config.env):null}async isUsernameRegistered(e){if(\"string\"!=typeof e)throw new M({code:\"PARAM_ERROR\",message:\"username must be a string\"});const{data:t}=await this._request.send(\"auth.isUsernameRegistered\",{username:e});return t&&t.isRegistered}getLoginState(){return Promise.resolve(this.hasLoginState())}async signInWithTicket(e){return new Le(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){return this._request.send(\"auth.getUserInfo\",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,n=this._cache.getStore(e);return{\"x-cloudbase-credentials\":this._cache.getStore(t)+\"/@@/\"+n}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:n,env:s}=e.data;s===this.config.env&&(this._cache.updatePersistence(n),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}const Fe=function(e,t){t=t||Q();const n=Ce(this.config.env),{cloudPath:s,filePath:o,onUploadProgress:r,fileType:i=\"image\"}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:l,cosFileId:h},requestId:d}=e,f={key:s,signature:c,\"x-cos-meta-fileid\":h,success_action_status:\"201\",\"x-cos-security-token\":u};n.upload({url:a,data:f,file:o,name:s,fileType:i,onUploadProgress:r}).then((e=>{201===e.statusCode?t(null,{fileID:l,requestId:d}):t(new M({code:\"STORAGE_REQUEST_FAIL\",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},Me=function(e,t){t=t||Q();const n=Ce(this.config.env),{cloudPath:s}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},$e=function({fileList:e},t){if(t=t||Q(),!e||!Array.isArray(e))return{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"};for(let t of e)if(!t||\"string\"!=typeof t)return{code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"};const n={fileid_list:e};return Ce(this.config.env).send(\"storage.batchDeleteFile\",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},je=function({fileList:e},t){t=t||Q(),e&&Array.isArray(e)||t(null,{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"});let n=[];for(let s of e)\"object\"==typeof s?(s.hasOwnProperty(\"fileID\")&&s.hasOwnProperty(\"maxAge\")||t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是包含fileID和maxAge的对象\"}),n.push({fileid:s.fileID,max_age:s.maxAge})):\"string\"==typeof s?n.push({fileid:s}):t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是字符串\"});const s={file_list:n};return Ce(this.config.env).send(\"storage.batchGetDownloadUrl\",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},Ke=async function({fileID:e},t){const n=(await je.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if(\"SUCCESS\"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=Ce(this.config.env);let o=n.download_url;if(o=encodeURI(o),!t)return s.download({url:o});t(await s.download({url:o}))},Be=function({name:e,data:t,query:n,parse:s,search:o},r){const i=r||Q();let a;try{a=t?JSON.stringify(t):\"\"}catch(e){return Promise.reject(e)}if(!e)return Promise.reject(new M({code:\"PARAM_ERROR\",message:\"函数名不能为空\"}));const c={inQuery:n,parse:s,search:o,function_name:e,request_data:a};return Ce(this.config.env).send(\"functions.invokeFunction\",c).then((e=>{if(e.code)i(null,e);else{let t=e.data.response_data;if(s)i(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),i(null,{result:t,requestId:e.requestId})}catch(e){i(new M({message:\"response data must be json\"}))}}return i.promise})).catch((e=>{i(e)})),i.promise},He={timeout:15e3,persistence:\"session\"},We={};class ze{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(se.adapter||(this.requestClient=new se.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...He,...e},!0){case this.config.timeout>6e5:console.warn(\"timeout大于可配置上限[10分钟],已重置为上限数值\"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn(\"timeout小于可配置下限[100ms],已重置为下限数值\"),this.config.timeout=100}return new ze(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||se.adapter.primaryStorage||He.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;ce[t]=new ae(e),ue[t]=new ae({...e,persistence:\"local\"})}(this.config),n=this.config,Oe[n.env]=new be(n),this.authObj=new Ne(this.config),this.authObj}on(e,t){return ge.apply(this,[e,t])}off(e,t){return me.apply(this,[e,t])}callFunction(e,t){return Be.apply(this,[e,t])}deleteFile(e,t){return $e.apply(this,[e,t])}getTempFileURL(e,t){return je.apply(this,[e,t])}downloadFile(e,t){return Ke.apply(this,[e,t])}uploadFile(e,t){return Fe.apply(this,[e,t])}getUploadMetadata(e,t){return Me.apply(this,[e,t])}registerExtension(e){We[e.name]=e}async invokeExtension(e,t){const n=We[e];if(!n)throw new M({message:`扩展${e} 必须先注册`});return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=ne(e)||{};t&&(se.adapter=t),n&&(se.runtime=n)}}var Ve=new ze;function Je(e,t,n){void 0===n&&(n={});var s=/\\?/.test(t),o=\"\";for(var r in n)\"\"===o?!s&&(t+=\"?\"):o+=\"&\",o+=r+\"=\"+encodeURIComponent(n[r]);return/^http(s)?:\\/\\//.test(t+=o)?t:\"\"+e+t}class Ye{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,o)=>{H.request({url:Je(\"https:\",t),data:n,method:\"POST\",header:s,success(t){e(t)},fail(e){o(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:o,data:r,headers:i,fileType:a}=e,c=H.uploadFile({url:Je(\"https:\",s),name:\"file\",formData:Object.assign({},r),filePath:o,fileType:a,header:i,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&r.success_action_status&&(n.statusCode=parseInt(r.success_action_status,10)),t(n)},fail(e){d&&\"mp-alipay\"===g&&console.warn(\"支付宝小程序开发工具上传腾讯云时无法准确判断是否上传成功,请使用真机测试\"),n(new Error(e.errMsg||\"uploadFile:fail\"))}});\"function\"==typeof e.onUploadProgress&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const Xe={setItem(e,t){H.setStorageSync(e,t)},getItem:e=>H.getStorageSync(e),removeItem(e){H.removeStorageSync(e)},clear(){H.clearStorageSync()}};var Ge={genAdapter:function(){return{root:{},reqClass:Ye,localStorage:Xe,primaryStorage:\"local\"}},isMatch:function(){return!0},runtime:\"uni_app\"};Ve.useAdapters(Ge);const Qe=Ve,Ze=Qe.init;Qe.init=function(e){e.env=e.spaceId;const t=Ze.call(this,e);t.config.provider=\"tencent\",t.config.spaceId=e.spaceId;const n=t.auth;return t.auth=function(e){const t=n.call(this,e);return[\"linkAndRetrieveDataWithTicket\",\"signInAnonymously\",\"signOut\",\"getAccessToken\",\"getLoginState\",\"signInWithTicket\",\"getUserInfo\"].forEach((e=>{t[e]=F(t[e]).bind(t)})),t},t.customAuth=t.auth,t};var et=Qe;function tt(){return{token:H.getStorageSync(\"uni_id_token\")||H.getStorageSync(\"uniIdToken\"),tokenExpired:H.getStorageSync(\"uni_id_token_expired\")}}function nt({token:e,tokenExpired:t}={}){e&&H.setStorageSync(\"uni_id_token\",e),t&&H.setStorageSync(\"uni_id_token_expired\",t)}function st(){if(!d||\"web\"!==g)return;uni.getStorageSync(\"__LAST_DCLOUD_APPID\")!==_&&(uni.setStorageSync(\"__LAST_DCLOUD_APPID\",_),console.warn(\"检测到当前项目与上次运行到此端口的项目不一致,自动清理uni-id保存的token信息(仅开发调试时生效)\"),H.removeStorageSync(\"uni_id_token\"),H.removeStorageSync(\"uniIdToken\"),H.removeStorageSync(\"uni_id_token_expired\"))}var ot=class extends V{getAccessToken(){return new Promise(((e,t)=>{const n=\"Anonymous_Access_token\";this.setAccessToken(n),e(n)}))}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=B.sign(n,this.config.clientSecret);const o=K();s[\"x-client-info\"]=encodeURIComponent(JSON.stringify(o));const{token:r}=tt();return s[\"x-client-token\"]=r,{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:JSON.parse(JSON.stringify(s))}}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:o,onUploadProgress:r}){return new Promise(((i,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:o,success(e){e&&e.statusCode<400?i(e):a(new M({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new M({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof r&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s}){if(!t)throw new M({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});let o;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:r,formData:i,name:a}=t.result;o=t.result.fileUrl;const c={url:r,formData:i,name:a,filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},c,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:o}):s(new M({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))}))))}deleteFile({fileList:e}){const t={method:\"serverless.file.resource.delete\",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t))}getTempFileURL({fileList:e}={}){const t={method:\"serverless.file.resource.getTempFileURL\",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t))}};var rt={init(e){const t=new ot(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};function it({data:e}){let t;t=K();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=tt();e&&(n.uniIdToken=e)}return n}function at({name:e,data:t}){const{localAddress:n,localPort:s}=this,o={aliyun:\"aliyun\",tencent:\"tcb\"}[this.config.provider],r=this.config.spaceId,i=`http://${n}:${s}/system/check-function`,a=`http://${n}:${s}/cloudfunctions/${e}`;return new Promise(((t,n)=>{H.request({method:\"POST\",url:i,data:{name:e,platform:g,provider:o,spaceId:r},timeout:3e3,success(e){t(e)},fail(){t({data:{code:\"NETWORK_ERROR\",message:\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。\"}})}})})).then((({data:e}={})=>{const{code:t,message:n}=e||{};return{code:0===t?0:t||\"SYS_ERR\",message:n||\"SYS_ERR\"}})).then((({code:n,message:s})=>{if(0!==n){switch(n){case\"MODULE_ENCRYPTED\":console.error(`此云函数(${e})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case\"FUNCTION_ENCRYPTED\":console.error(`此云函数(${e})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case\"ACTION_ENCRYPTED\":console.error(s||\"需要访问加密的uni-clientDB-action,自动切换为云端环境\");break;case\"NETWORK_ERROR\":{const e=\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下\";throw console.error(e),new Error(e)}case\"SWITCH_TO_CLOUD\":break;default:{const e=`检测本地调试服务出现错误:${s},请检查网络环境或重启客户端再试`;throw console.error(e),new Error(e)}}return this._originCallFunction({name:e,data:t})}return new Promise(((e,n)=>{const s=it.call(this,{data:t});H.request({method:\"POST\",url:a,data:{provider:o,platform:g,param:s},success:({statusCode:t,data:s}={})=>!t||t>=400?n(new M({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):e({result:s}),fail(e){n(new M({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const ct=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var ut=/[\\\\^$.*+?()[\\]{}|]/g,lt=RegExp(ut.source);function ht(e,t,n){return e.replace(new RegExp((s=t)&<.test(s)?s.replace(ut,\"\\\\$&\"):s,\"g\"),n);var s}function dt({functionName:e,result:t,logPvd:n}){if(this.config.debugLog&&t&&t.requestId){const s=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}function ft(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=it.call(e,{data:n.data});const o={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\"}[this.config.provider];return t.call(this,n).then((e=>(e.errCode=0,dt.call(this,{functionName:s,result:e,logPvd:o}),Promise.resolve(e))),(e=>(dt.call(this,{functionName:s,result:e,logPvd:o}),e&&e.message&&(e.message=function({message:e=\"\",extraInfo:t={},formatter:n=[]}={}){for(let s=0;s(console.warn(\"当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),s}}const gt=Symbol(\"CLIENT_DB_INTERNAL\");function pt(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=gt,e.__ob__=void 0,new Proxy(e,{get(e,n,s){if(\"_uniClient\"===n)return null;if(n in e||\"string\"!=typeof n){const t=e[n];return\"function\"==typeof t?t.bind(e):t}return t.get(e,n,s)}})}function mt(e){return{on:(t,n)=>{e[t]=e[t]||[],e[t].indexOf(n)>-1||e[t].push(n)},off:(t,n)=>{e[t]=e[t]||[];const s=e[t].indexOf(n);-1!==s&&e[t].splice(s,1)}}}const yt=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function _t(e,t){return yt.indexOf(`${e}.${t}`)>-1}function wt(e){switch(u(e)){case\"array\":return e.map((e=>wt(e)));case\"object\":return e._internalType===gt||Object.keys(e).forEach((t=>{e[t]=wt(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function kt(e){return e&&e.content&&e.content.$method}class Tt{constructor(e,t,n){this.content=e,this.prevStage=t||null,this.udb=null,this._database=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:wt(e.$param)})))}}getAction(){const e=this.toJSON().$db.find((e=>\"action\"===e.$method));return e&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>\"action\"!==e.$method))}}get isAggregate(){let e=this;for(;e;){const t=kt(e),n=kt(e.prevStage);if(\"aggregate\"===t&&\"collection\"===n||\"pipeline\"===t)return!0;e=e.prevStage}return!1}get isCommand(){let e=this;for(;e;){if(\"command\"===kt(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=kt(e),n=kt(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}get count(){if(!this.isAggregate)return function(){return this._send(\"count\",Array.from(arguments))};const e=this;return function(){return St({$method:\"count\",$param:wt(Array.from(arguments))},e,this._database)}}get remove(){if(!this.isCommand)return function(){return this._send(\"remove\",Array.from(arguments))};const e=this;return function(){return St({$method:\"remove\",$param:wt(Array.from(arguments))},e,this._database)}}get(){return this._send(\"get\",Array.from(arguments))}add(){return this._send(\"add\",Array.from(arguments))}update(){return this._send(\"update\",Array.from(arguments))}end(){return this._send(\"end\",Array.from(arguments))}get set(){if(!this.isCommand)return function(){throw new Error(\"JQL禁止使用set方法\")};const e=this;return function(){return St({$method:\"set\",$param:wt(Array.from(arguments))},e,this._database)}}_send(e,t){const n=this.getAction(),s=this.getCommand();if(s.$db.push({$method:e,$param:wt(t)}),d){const e=s.$db.find((e=>\"collection\"===e.$method)),t=e&&e.$param;t&&1===t.length&&\"string\"==typeof e.$param[0]&&e.$param[0].indexOf(\",\")>-1&&console.warn(\"检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \\n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。\")}return this._database._callCloudFunction({action:n,command:s})}}function St(e,t,n){return pt(new Tt(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),_t(s,t)?St({$method:t},e,n):function(){return St({$method:t,$param:wt(Array.from(arguments))},e,n)}}})}function vt({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}}}class At extends class{constructor({uniClient:e={}}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e.isDefault&&(this._dbCallBacks=k(\"_globalUniCloudDatabaseCallback\")),this.auth=mt(this._authCallBacks),Object.assign(this,mt(this._dbCallBacks)),this.env=pt({},{get:(e,t)=>({$env:t})}),this.Geo=pt({},{get:(e,t)=>vt({path:[\"Geo\"],method:t})}),this.serverDate=vt({path:[],method:\"serverDate\"}),this.RegExp=vt({path:[],method:\"RegExp\"})}getCloudEnv(e){if(\"string\"!=typeof e||!e.trim())throw new Error(\"getCloudEnv参数错误\");return{$env:e.replace(\"$cloudEnv_\",\"\")}}_callback(e,t){const n=this._dbCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}_callbackAuth(e,t){const n=this._authCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}multiSend(){const e=Array.from(arguments),t=e.map((e=>{const t=e.getAction(),n=e.getCommand();if(\"getTemp\"!==n.$db[n.$db.length-1].$method)throw new Error(\"multiSend只支持子命令内使用getTemp\");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}{_callCloudFunction({action:e,command:t,multiCommand:n,queryList:s}){function o(e,t){if(n&&s)for(let n=0;nP(I(\"database\",\"complete\"),e))).then((()=>(o(null,e),N(O,{type:R,content:e}),Promise.reject(e))))}const a=P(I(\"database\",\"invoke\")),u=this._uniClient;return a.then((()=>u.callFunction({name:\"DCloud-clientDB\",type:c,data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:r,systemInfo:a=[]}=e.result;if(a)for(let e=0;e(console.warn(s),t)})}}return function(e){return P(I(\"database\",\"success\"),e).then((()=>P(I(\"database\",\"complete\"),e))).then((()=>(o(e,null),N(O,{type:R,content:e}),Promise.resolve(e))))}(e)}),(e=>{/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn(\"clientDB未初始化,请在web控制台保存一次schema以开启clientDB\");return i(new M({code:e.code||\"SYSTEM_ERROR\",message:e.message,requestId:e.requestId}))}))}}function Pt(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;const n=function(e,t={}){return pt(new e(t),{get:(e,t)=>_t(\"db\",t)?St({$method:t},null,e):function(){return St({$method:t,$param:wt(Array.from(arguments))},null,e)}})}(At,{uniClient:e});return this._database=n,n}}const It=\"token无效,跳转登录页面\",bt=\"token过期,跳转登录页面\",Ot={TOKEN_INVALID_TOKEN_EXPIRED:bt,TOKEN_INVALID_INVALID_CLIENTID:It,TOKEN_INVALID:It,TOKEN_INVALID_WRONG_TOKEN:It,TOKEN_INVALID_ANONYMOUS_USER:It},Ct={\"uni-id-token-expired\":bt,\"uni-id-check-token-failed\":It,\"uni-id-token-not-exist\":It,\"uni-id-check-device-feature-failed\":It};function Et(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function Rt(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(Et(t,e.path)):!1===e.needLogin&&s.push(Et(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function Ut(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=e.split(\"?\")[0].replace(/^\\//,\"\");return n.some((e=>e.pagePath===s))}const xt=!!t.uniIdRouter;const{loginPage:Lt,routerNeedLogin:Dt,resToLogin:qt,needLoginPage:Nt,notNeedLoginPage:Ft,loginPageInTabBar:Mt}=function({pages:e=[],subPackages:n=[],uniIdRouter:s={},tabBar:o={}}=t){const{loginPage:r,needLogin:i=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=Rt(e),{needLoginPage:l,notNeedLoginPage:h}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:o=[]}=e,{needLoginPage:r,notNeedLoginPage:i}=Rt(o,s);t.push(...r),n.push(...i)})),{needLoginPage:t,notNeedLoginPage:n}}(n);return{loginPage:r,routerNeedLogin:i,resToLogin:a,needLoginPage:[...c,...l],notNeedLoginPage:[...u,...h],loginPageInTabBar:Ut(r,o)}}();function $t(e){const t=function(e){const t=getCurrentPages(),n=t[t.length-1].route,s=e.charAt(0),o=e.split(\"?\")[0];if(\"/\"===s)return o;const r=o.replace(/^\\//,\"\").split(\"/\"),i=n.split(\"/\");i.pop();for(let e=0;e-1)&&(Nt.indexOf(t)>-1||Dt.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function jt(e,t){return\"/\"!==e.charAt(0)&&(e=\"/\"+e),t?e.indexOf(\"?\")>-1?e+`&uniIdRedirectUrl=${encodeURIComponent(t)}`:e+`?uniIdRedirectUrl=${encodeURIComponent(t)}`:e}function Kt(){const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t0)return setTimeout((()=>{N(C,o)}),0),e.url=\"\",!1;if(!Lt)return e;const t=jt(Lt,o.uniIdRedirectUrl);if(Mt){if(\"navigateTo\"===n||\"redirectTo\"===n)return setTimeout((()=>{uni.switchTab({url:t})})),!1}else if(\"switchTab\"===n)return setTimeout((()=>{uni.navigateTo({url:t})})),!1;e.url=t}return e}})}}function Bt(){this.onResponse((e=>{const{type:t,content:n}=e;let s=!1;switch(t){case\"cloudobject\":s=function(e){const{errCode:t}=e;return t in Ct}(n);break;case\"clientdb\":s=function(e){const{errCode:t}=e;return t in Ot}(n)}s&&function(e={}){const t=L(C),n=getCurrentPages(),s=n[n.length-1],o=s&&s.$page&&s.$page.fullPath;if(t.length>0)return N(C,Object.assign({uniIdRedirectUrl:o},e));Lt&&uni.navigateTo({url:jt(Lt,o)})}(n)}))}function Ht(e){e.onNeedLogin=function(e){D(C,e)},e.offNeedLogin=function(e){q(C,e)},xt&&(k(\"uni-cloud-status\").needLoginInit||(k(\"uni-cloud-status\").needLoginInit=!0,function t(){const n=getCurrentPages();n&&n[0]?Kt.call(e):setTimeout((()=>{t()}),30)}(),qt&&Bt.call(e)))}function Wt(e){!function(e){e.onResponse=function(e){D(O,e)},e.offResponse=function(e){q(O,e)}}(e),Ht(e),function(e){e.onRefreshToken=function(e){D(E,e)},e.offRefreshToken=function(e){q(E,e)}}(e)}let zt;const Vt=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",Jt=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function Yt(){const e=tt().token||\"\",t=e.split(\".\");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((s=t[1],decodeURIComponent(zt(s).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(e){throw new Error(\"获取当前用户信息出错,详细错误信息为:\"+e.message)}var s;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}zt=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!Jt.test(e))throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");var t;e+=\"==\".slice(2-(3&e.length));for(var n,s,o=\"\",r=0;r>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return o}:atob;var Xt=s((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=\"chooseAndUploadFile:ok\",s=\"chooseAndUploadFile:fail\";function o(e,t){return e.tempFiles.forEach(((e,n)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf(\"/\")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+\"_\"+n+e.name.substring(e.name.lastIndexOf(\".\"))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}function r(e,t,{onChooseFile:s,onUploadProgress:o}){return t.then((e=>{if(s){const t=s(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,o){(t=Object.assign({},t)).errMsg=n;const r=t.tempFiles,i=r.length;let a=0;return new Promise((n=>{for(;a=i)return void(!r.find((e=>!e.url&&!e.errMsg))&&n(t));const u=r[s];e.uploadFile({filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,o&&o(e)}}).then((e=>{u.url=e.fileID,s{u.errMsg=e.errMsg||e.message,s{uni.chooseImage({count:t,sizeType:n,sourceType:r,extension:i,success(t){e(o(t,\"image\"))},fail(e){a({errMsg:e.errMsg.replace(\"chooseImage:fail\",s)})}})}))}(t),t):\"video\"===t.type?r(e,function(e){const{camera:t,compressed:n,maxDuration:r,sourceType:i=[\"album\",\"camera\"],extension:a}=e;return new Promise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:r,sourceType:i,extension:a,success(t){const{tempFilePath:n,duration:s,size:r,height:i,width:a}=t;e(o({errMsg:\"chooseVideo:ok\",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||\"\",path:n,size:r,type:t.tempFile&&t.tempFile.type||\"\",width:a,height:i,duration:s,fileType:\"video\",cloudPath:\"\"}]},\"video\"))},fail(e){c({errMsg:e.errMsg.replace(\"chooseVideo:fail\",s)})}})}))}(t),t):r(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,r)=>{let i=uni.chooseFile;if(\"undefined\"!=typeof wx&&\"function\"==typeof wx.chooseMessageFile&&(i=wx.chooseMessageFile),\"function\"!=typeof i)return r({errMsg:s+\" 请指定 type 类型,该平台仅支持选择 image 或 video。\"});i({type:\"all\",count:t,extension:n,success(t){e(o(t))},fail(e){r({errMsg:e.errMsg.replace(\"chooseFile:fail\",s)})}})}))}(t),t)}}})),Gt=n(Xt);const Qt=\"manual\";function Zt(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},spaceInfo:{type:Object,default:()=>({})},collection:{type:[String,Array],default:\"\"},action:{type:String,default:\"\"},field:{type:String,default:\"\"},orderby:{type:String,default:\"\"},where:{type:[String,Object],default:\"\"},pageData:{type:String,default:\"add\"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:\"\"},limitlevel:{type:Number,default:10},groupby:{type:String,default:\"\"},groupField:{type:String,default:\"\"},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:\"\"},loadtime:{type:String,default:\"auto\"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:\"\",mixinDatacomPage:{}}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{var e=[];return[\"pageCurrent\",\"pageSize\",\"localdata\",\"collection\",\"action\",\"field\",\"orderby\",\"where\",\"getont\",\"getcount\",\"gettree\",\"groupby\",\"groupField\",\"distinct\"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===Qt)return;let n=!1;const s=[];for(let o=2;o{this.mixinDatacomLoading=!1;const{data:s,count:o}=n.result;this.getcount&&(this.mixinDatacomPage.count=o),this.mixinDatacomHasMore=s.length{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,n&&n(e)})))},mixinDatacomGet(t={}){let n=e.database(this.spaceInfo);const s=t.action||this.action;s&&(n=n.action(s));const o=t.collection||this.collection;n=Array.isArray(o)?n.collection(...o):n.collection(o);const r=t.where||this.where;r&&Object.keys(r).length&&(n=n.where(r));const i=t.field||this.field;i&&(n=n.field(i));const a=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));const c=t.groupby||this.groupby;c&&(n=n.groupBy(c));const u=t.groupField||this.groupField;u&&(n=n.groupField(u));!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const l=t.orderby||this.orderby;l&&(n=n.orderBy(l));const h=void 0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void 0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,f=void 0!==t.getcount?t.getcount:this.getcount,g=void 0!==t.gettree?t.gettree:this.gettree,p=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:f},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return g&&(m.getTree=y),p&&(m.getTreePath=y),n=n.skip(d*(h-1)).limit(d).get(m),n}}}}function en(e){return function(t,n={}){n=function(e,t={}){return e.customUI=t.customUI||e.customUI,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),e}({customUI:!1,loadingOptions:{title:\"加载中...\",mask:!0},errorOptions:{type:\"modal\",retry:!1}},n);const{customUI:s,loadingOptions:o,errorOptions:r}=n,i=!s;return new Proxy({},{get:(n,s)=>async function n(...c){let u;i&&uni.showLoading({title:o.title,mask:o.mask});try{u=await e.callFunction({name:t,type:a,data:{method:s,params:c}})}catch(e){u={result:e}}const{errCode:l,errMsg:h,newToken:d}=u.result||{};if(i&&uni.hideLoading(),d&&d.token&&d.tokenExpired&&(nt(d),N(E,{...d})),l){if(i)if(\"toast\"===r.type)uni.showToast({title:h,icon:\"none\"});else{if(\"modal\"!==r.type)throw new Error(`Invalid errorOptions.type: ${r.type}`);{const{confirm:e}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:o}={}){return new Promise(((r,i)=>{uni.showModal({title:e,content:t,showCancel:n,cancelText:s,confirmText:o,success(e){r(e)},fail(){r({confirm:!1,cancel:!0})}})}))}({title:\"提示\",content:h,showCancel:r.retry,cancelText:\"取消\",confirmText:r.retry?\"重试\":\"确定\"});if(r.retry&&e)return n(...c)}}const e=new M({code:l,message:h,requestId:u.requestId});throw e.detail=u.result,N(O,{type:x,content:e}),e}return N(O,{type:x,content:u.result}),u.result}})}}async function tn(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{H.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}var s}function nn(e){if(e.initUniCloudStatus&&\"rejected\"!==e.initUniCloudStatus)return;let t=Promise.resolve();var n;n=1,t=new Promise(((e,t)=>{setTimeout((()=>{e()}),n)})),e.isReady=!1,e.isDefault=!1;const s=e.auth();e.initUniCloudStatus=\"pending\",e.initUniCloud=t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously())).then((()=>{if(!d)return Promise.resolve();if(\"app\"===g&&\"ios\"===uni.getSystemInfoSync().osName){const{osName:e,osVersion:t}=uni.getSystemInfoSync();\"ios\"===e&&function(e){if(!e||\"string\"!=typeof e)return 0;const t=e.match(/^(\\d+)./);return t&&t[1]?parseInt(t[1]):0}(t)>=14&&console.warn(\"iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发模式生效,发行模式会连接uniCloud云端服务)\")}if(d&&e.debugInfo){const{address:t,servePort:n}=e.debugInfo;return async function(e,t){let n;for(let s=0;s{if(!d)return Promise.resolve();const s=console[\"app\"===g?\"error\":\"warn\"];if(t)e.localAddress=t,e.localPort=n;else if(e.debugInfo){let t=\"\";\"remote\"===e.debugInfo.initialLaunchType?(e.debugInfo.forceRemote=!0,t=\"当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\"):t=\"无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\",\"web\"===g&&(t+=\"\\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式\"),0===g.indexOf(\"mp-\")&&(t+=\"\\n- 小程序中如何使用uniCloud,请参考:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinmp\"),s(t)}})).then((()=>{st(),e.isReady=!0,e.initUniCloudStatus=\"fulfilled\"})).catch((t=>{console.error(t),e.initUniCloudStatus=\"rejected\"}))}let sn=new class{init(e){let t={};const n=d&&(\"web\"===g&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app\"===g);switch(e.provider){case\"tcb\":case\"tencent\":t=et.init(Object.assign(e,{debugLog:n}));break;case\"aliyun\":t=J.init(Object.assign(e,{debugLog:n}));break;case\"private\":t=rt.init(Object.assign(e,{debugLog:n}));break;default:throw new Error(\"未提供正确的provider参数\")}const s=p;d&&s&&!s.code&&(t.debugInfo=s),nn(t),t.reInit=function(){nn(this)},ft(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),Pt(t),function(e){e.getCurrentUserInfo=Yt,e.chooseAndUploadFile=Gt.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return Zt(e)}}),e.importObject=en(e)}(t);return[\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"chooseAndUploadFile\"].forEach((e=>{if(!t[e])return;const n=t[e];t[e]=function(){return t.reInit(),n.apply(t,Array.from(arguments))},t[e]=F(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{{const e=m;let t={};if(1===e.length)t=e[0],sn=sn.init(t),sn.isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\",\"importObject\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":y?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{sn[e]=function(){return console.error(n),Promise.reject(new M({code:\"SYS_ERR\",message:n}))}}))}Object.assign(sn,{get mixinDatacom(){return Zt(sn)}}),Wt(sn),sn.addInterceptor=v,sn.removeInterceptor=A,d&&\"web\"===g&&(window.uniCloud=sn)}})();var on=sn;export{on as default};\n","export default {\"appid\":\"__UNI__915967A\"}","/*\r\n * uCharts (R)\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts (R) 官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n'use strict';\r\n\r\nvar config = {\r\n version: 'v2.4.3-20220505',\r\n yAxisWidth: 15,\r\n xAxisHeight: 22,\r\n xAxisTextPadding: 3,\r\n padding: [10, 10, 10, 10],\r\n pixelRatio: 1,\r\n rotate: false,\r\n fontSize: 13,\r\n fontColor: '#666666',\r\n dataPointShape: ['circle', 'circle', 'circle', 'circle'],\r\n color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'],\r\n linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'],\r\n pieChartLinePadding: 15,\r\n pieChartTextPadding: 5,\r\n titleFontSize: 20,\r\n subtitleFontSize: 15,\r\n toolTipPadding: 3,\r\n toolTipBackground: '#000000',\r\n toolTipOpacity: 0.7,\r\n toolTipLineHeight: 20,\r\n radarLabelTextMargin: 13,\r\n};\r\n\r\nvar assign = function(target, ...varArgs) {\r\n if (target == null) {\r\n throw new TypeError('[uCharts] Cannot convert undefined or null to object');\r\n }\r\n if (!varArgs || varArgs.length <= 0) {\r\n return target;\r\n }\r\n // 深度合并对象\r\n function deepAssign(obj1, obj2) {\r\n for (let key in obj2) {\r\n obj1[key] = obj1[key] && obj1[key].toString() === \"[object Object]\" ?\r\n deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key];\r\n }\r\n return obj1;\r\n }\r\n varArgs.forEach(val => {\r\n target = deepAssign(target, val);\r\n });\r\n return target;\r\n};\r\n\r\nvar util = {\r\n toFixed: function toFixed(num, limit) {\r\n limit = limit || 2;\r\n if (this.isFloat(num)) {\r\n num = num.toFixed(limit);\r\n }\r\n return num;\r\n },\r\n isFloat: function isFloat(num) {\r\n return num % 1 !== 0;\r\n },\r\n approximatelyEqual: function approximatelyEqual(num1, num2) {\r\n return Math.abs(num1 - num2) < 1e-10;\r\n },\r\n isSameSign: function isSameSign(num1, num2) {\r\n return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2;\r\n },\r\n isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) {\r\n return this.isSameSign(p1.x, p2.x);\r\n },\r\n isCollision: function isCollision(obj1, obj2) {\r\n obj1.end = {};\r\n obj1.end.x = obj1.start.x + obj1.width;\r\n obj1.end.y = obj1.start.y - obj1.height;\r\n obj2.end = {};\r\n obj2.end.x = obj2.start.x + obj2.width;\r\n obj2.end.y = obj2.start.y - obj2.height;\r\n var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y;\r\n return !flag;\r\n }\r\n};\r\n\r\n//兼容H5点击事件\r\nfunction getH5Offset(e) {\r\n e.mp = {\r\n changedTouches: []\r\n };\r\n e.mp.changedTouches.push({\r\n x: e.offsetX,\r\n y: e.offsetY\r\n });\r\n return e;\r\n}\r\n\r\n// hex 转 rgba\r\nfunction hexToRgb(hexValue, opc) {\r\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n var hex = hexValue.replace(rgx, function(m, r, g, b) {\r\n return r + r + g + g + b + b;\r\n });\r\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n var r = parseInt(rgb[1], 16);\r\n var g = parseInt(rgb[2], 16);\r\n var b = parseInt(rgb[3], 16);\r\n return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';\r\n}\r\n\r\nfunction findRange(num, type, limit) {\r\n if (isNaN(num)) {\r\n throw new Error('[uCharts] series数据需为Number格式');\r\n }\r\n limit = limit || 10;\r\n type = type ? type : 'upper';\r\n var multiple = 1;\r\n while (limit < 1) {\r\n limit *= 10;\r\n multiple *= 10;\r\n }\r\n if (type === 'upper') {\r\n num = Math.ceil(num * multiple);\r\n } else {\r\n num = Math.floor(num * multiple);\r\n }\r\n while (num % limit !== 0) {\r\n if (type === 'upper') {\r\n if (num == num + 1) { //修复数据值过大num++无效的bug by 向日葵 @xrk_jy\r\n break;\r\n }\r\n num++;\r\n } else {\r\n num--;\r\n }\r\n }\r\n return num / multiple;\r\n}\r\n\r\nfunction calCandleMA(dayArr, nameArr, colorArr, kdata) {\r\n let seriesTemp = [];\r\n for (let k = 0; k < dayArr.length; k++) {\r\n let seriesItem = {\r\n data: [],\r\n name: nameArr[k],\r\n color: colorArr[k]\r\n };\r\n for (let i = 0, len = kdata.length; i < len; i++) {\r\n if (i < dayArr[k]) {\r\n seriesItem.data.push(null);\r\n continue;\r\n }\r\n let sum = 0;\r\n for (let j = 0; j < dayArr[k]; j++) {\r\n sum += kdata[i - j][1];\r\n }\r\n seriesItem.data.push(+(sum / dayArr[k]).toFixed(3));\r\n }\r\n seriesTemp.push(seriesItem);\r\n }\r\n return seriesTemp;\r\n}\r\n\r\nfunction calValidDistance(self, distance, chartData, config, opts) {\r\n var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3];\r\n var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n dataChartWidth += (opts.extra.mount.widthRatio - 1)*chartData.eachSpacing;\r\n }\r\n var validDistance = distance;\r\n if (distance >= 0) {\r\n validDistance = 0;\r\n self.uevent.trigger('scrollLeft');\r\n self.scrollOption.position = 'left'\r\n opts.xAxis.scrollPosition = 'left';\r\n } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) {\r\n validDistance = dataChartAreaWidth - dataChartWidth;\r\n self.uevent.trigger('scrollRight');\r\n self.scrollOption.position = 'right'\r\n opts.xAxis.scrollPosition = 'right';\r\n } else {\r\n self.scrollOption.position = distance\r\n opts.xAxis.scrollPosition = distance;\r\n }\r\n return validDistance;\r\n}\r\n\r\nfunction isInAngleRange(angle, startAngle, endAngle) {\r\n function adjust(angle) {\r\n while (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n while (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n }\r\n angle = adjust(angle);\r\n startAngle = adjust(startAngle);\r\n endAngle = adjust(endAngle);\r\n if (startAngle > endAngle) {\r\n endAngle += 2 * Math.PI;\r\n if (angle < startAngle) {\r\n angle += 2 * Math.PI;\r\n }\r\n }\r\n return angle >= startAngle && angle <= endAngle;\r\n}\r\n\r\nfunction createCurveControlPoints(points, i) {\r\n function isNotMiddlePoint(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y,\r\n points[i + 1].y);\r\n } else {\r\n return false;\r\n }\r\n }\r\n function isNotMiddlePointX(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x,\r\n points[i + 1].x);\r\n } else {\r\n return false;\r\n }\r\n }\r\n var a = 0.2;\r\n var b = 0.2;\r\n var pAx = null;\r\n var pAy = null;\r\n var pBx = null;\r\n var pBy = null;\r\n if (i < 1) {\r\n pAx = points[0].x + (points[1].x - points[0].x) * a;\r\n pAy = points[0].y + (points[1].y - points[0].y) * a;\r\n } else {\r\n pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a;\r\n pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a;\r\n }\r\n\r\n if (i > points.length - 3) {\r\n var last = points.length - 1;\r\n pBx = points[last].x - (points[last].x - points[last - 1].x) * b;\r\n pBy = points[last].y - (points[last].y - points[last - 1].y) * b;\r\n } else {\r\n pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b;\r\n pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b;\r\n }\r\n if (isNotMiddlePoint(points, i + 1)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (isNotMiddlePoint(points, i)) {\r\n pAy = points[i].y;\r\n }\r\n if (isNotMiddlePointX(points, i + 1)) {\r\n pBx = points[i + 1].x;\r\n }\r\n if (isNotMiddlePointX(points, i)) {\r\n pAx = points[i].x;\r\n }\r\n if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pAy = points[i].y;\r\n }\r\n if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pAx = points[i].x;\r\n }\r\n if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pBx = points[i + 1].x;\r\n }\r\n return {\r\n ctrA: {\r\n x: pAx,\r\n y: pAy\r\n },\r\n ctrB: {\r\n x: pBx,\r\n y: pBy\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction convertCoordinateOrigin(x, y, center) {\r\n return {\r\n x: center.x + x,\r\n y: center.y - y\r\n };\r\n}\r\n\r\nfunction avoidCollision(obj, target) {\r\n if (target) {\r\n // is collision test\r\n while (util.isCollision(obj, target)) {\r\n if (obj.start.x > 0) {\r\n obj.start.y--;\r\n } else if (obj.start.x < 0) {\r\n obj.start.y++;\r\n } else {\r\n if (obj.start.y > 0) {\r\n obj.start.y++;\r\n } else {\r\n obj.start.y--;\r\n }\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\nfunction fixPieSeries(series, opts, config){\r\n let pieSeriesArr = [];\r\n if(series.length>0 && series[0].data.constructor.toString().indexOf('Array') > -1){\r\n opts._pieSeries_ = series;\r\n let oldseries = series[0].data;\r\n for (var i = 0; i < oldseries.length; i++) {\r\n oldseries[i].formatter = series[0].formatter;\r\n oldseries[i].data = oldseries[i].value;\r\n pieSeriesArr.push(oldseries[i]);\r\n }\r\n opts.series = pieSeriesArr;\r\n }else{\r\n pieSeriesArr = series;\r\n }\r\n return pieSeriesArr;\r\n}\r\n\r\nfunction fillSeries(series, opts, config) {\r\n var index = 0;\r\n for (var i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if (!item.color) {\r\n item.color = config.color[index];\r\n index = (index + 1) % config.color.length;\r\n }\r\n if (!item.linearIndex) {\r\n item.linearIndex = i;\r\n }\r\n if (!item.index) {\r\n item.index = 0;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (typeof item.show == \"undefined\") {\r\n item.show = true;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (!item.pointShape) {\r\n item.pointShape = \"circle\";\r\n }\r\n if (!item.legendShape) {\r\n switch (item.type) {\r\n case 'line':\r\n item.legendShape = \"line\";\r\n break;\r\n case 'column':\r\n case 'bar':\r\n item.legendShape = \"rect\";\r\n break;\r\n case 'area':\r\n case 'mount':\r\n item.legendShape = \"triangle\";\r\n break;\r\n default:\r\n item.legendShape = \"circle\";\r\n }\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction fillCustomColor(linearType, customColor, series, config) {\r\n var newcolor = customColor || [];\r\n if (linearType == 'custom' && newcolor.length == 0 ) {\r\n newcolor = config.linearColor;\r\n }\r\n if (linearType == 'custom' && newcolor.length < series.length) {\r\n let chazhi = series.length - newcolor.length;\r\n for (var i = 0; i < chazhi; i++) {\r\n newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]);\r\n }\r\n }\r\n return newcolor;\r\n}\r\n\r\nfunction getDataRange(minData, maxData) {\r\n var limit = 0;\r\n var range = maxData - minData;\r\n if (range >= 10000) {\r\n limit = 1000;\r\n } else if (range >= 1000) {\r\n limit = 100;\r\n } else if (range >= 100) {\r\n limit = 10;\r\n } else if (range >= 10) {\r\n limit = 5;\r\n } else if (range >= 1) {\r\n limit = 1;\r\n } else if (range >= 0.1) {\r\n limit = 0.1;\r\n } else if (range >= 0.01) {\r\n limit = 0.01;\r\n } else if (range >= 0.001) {\r\n limit = 0.001;\r\n } else if (range >= 0.0001) {\r\n limit = 0.0001;\r\n } else if (range >= 0.00001) {\r\n limit = 0.00001;\r\n } else {\r\n limit = 0.000001;\r\n }\r\n return {\r\n minRange: findRange(minData, 'lower', limit),\r\n maxRange: findRange(maxData, 'upper', limit)\r\n };\r\n}\r\n\r\nfunction measureText(text, fontSize, context) {\r\n var width = 0;\r\n text = String(text);\r\n\r\n\r\n\r\n if (context !== false && context !== undefined && context.setFontSize && context.measureText) {\r\n context.setFontSize(fontSize);\r\n return context.measureText(text).width;\r\n } else {\r\n var text = text.split('');\r\n for (let i = 0; i < text.length; i++) {\r\n let item = text[i];\r\n if (/[a-zA-Z]/.test(item)) {\r\n width += 7;\r\n } else if (/[0-9]/.test(item)) {\r\n width += 5.5;\r\n } else if (/\\./.test(item)) {\r\n width += 2.7;\r\n } else if (/-/.test(item)) {\r\n width += 3.25;\r\n } else if (/:/.test(item)) {\r\n width += 2.5;\r\n } else if (/[\\u4e00-\\u9fa5]/.test(item)) {\r\n width += 10;\r\n } else if (/\\(|\\)/.test(item)) {\r\n width += 3.73;\r\n } else if (/\\s/.test(item)) {\r\n width += 2.5;\r\n } else if (/%/.test(item)) {\r\n width += 8;\r\n } else {\r\n width += 10;\r\n }\r\n }\r\n return width * fontSize / 10;\r\n }\r\n}\r\n\r\nfunction dataCombine(series) {\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data);\r\n }, []);\r\n}\r\n\r\nfunction dataCombineStack(series, len) {\r\n var sum = new Array(len);\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] = 0;\r\n }\r\n for (var i = 0; i < series.length; i++) {\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] += series[i].data[j];\r\n }\r\n }\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data).concat(sum);\r\n }, []);\r\n}\r\n\r\nfunction getTouches(touches, opts, e) {\r\n let x, y;\r\n if (touches.clientX) {\r\n if (opts.rotate) {\r\n y = opts.height - touches.clientX * opts.pix;\r\n x = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n } else {\r\n x = touches.clientX * opts.pix;\r\n y = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n }\r\n } else {\r\n if (opts.rotate) {\r\n y = opts.height - touches.x * opts.pix;\r\n x = touches.y * opts.pix;\r\n } else {\r\n x = touches.x * opts.pix;\r\n y = touches.y * opts.pix;\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n}\r\n\r\nfunction getSeriesDataItem(series, index, group) {\r\n var data = [];\r\n var newSeries = [];\r\n var indexIsArr = index.constructor.toString().indexOf('Array') > -1;\r\n if(indexIsArr){\r\n let tempSeries = filterSeries(series);\r\n for (var i = 0; i < group.length; i++) {\r\n newSeries.push(tempSeries[group[i]]);\r\n }\r\n }else{\r\n newSeries = series;\r\n };\r\n for (let i = 0; i < newSeries.length; i++) {\r\n let item = newSeries[i];\r\n let tmpindex = -1;\r\n if(indexIsArr){\r\n tmpindex = index[i];\r\n }else{\r\n tmpindex = index;\r\n }\r\n if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) {\r\n let seriesItem = {};\r\n seriesItem.color = item.color;\r\n seriesItem.type = item.type;\r\n seriesItem.style = item.style;\r\n seriesItem.pointShape = item.pointShape;\r\n seriesItem.disableLegend = item.disableLegend;\r\n seriesItem.name = item.name;\r\n seriesItem.show = item.show;\r\n seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex];\r\n data.push(seriesItem);\r\n }\r\n }\r\n return data;\r\n}\r\n\r\nfunction getMaxTextListLength(list, fontSize, context) {\r\n var lengthList = list.map(function(item) {\r\n return measureText(item, fontSize, context);\r\n });\r\n return Math.max.apply(null, lengthList);\r\n}\r\n\r\nfunction getRadarCoordinateSeries(length) {\r\n var eachAngle = 2 * Math.PI / length;\r\n var CoordinateSeries = [];\r\n for (var i = 0; i < length; i++) {\r\n CoordinateSeries.push(eachAngle * i);\r\n }\r\n return CoordinateSeries.map(function(item) {\r\n return -1 * item + Math.PI / 2;\r\n });\r\n}\r\n\r\nfunction getToolTipData(seriesData, opts, index, group, categories) {\r\n var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\r\n var calPoints = opts.chartData.calPoints?opts.chartData.calPoints:[];\r\n let points = {};\r\n if(group.length > 0){\r\n let filterPoints = [];\r\n for (let i = 0; i < group.length; i++) {\r\n filterPoints.push(calPoints[group[i]])\r\n }\r\n points = filterPoints[0][index[0]];\r\n }else{\r\n for (let i = 0; i < calPoints.length; i++) {\r\n if(calPoints[i][index]){\r\n points = calPoints[i][index];\r\n break;\r\n }\r\n }\r\n };\r\n var textList = seriesData.map(function(item) {\r\n let titleText = null;\r\n if (opts.categories && opts.categories.length>0) {\r\n titleText = categories[index];\r\n };\r\n return {\r\n text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data,\r\n color: item.color\r\n };\r\n });\r\n var offset = {\r\n x: Math.round(points.x),\r\n y: Math.round(points.y)\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getMixToolTipData(seriesData, opts, index, categories) {\r\n var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\r\n var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2;\r\n var textList = seriesData.map(function(item) {\r\n return {\r\n text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n disableLegend: item.disableLegend ? true : false\r\n };\r\n });\r\n textList = textList.filter(function(item) {\r\n if (item.disableLegend !== true) {\r\n return item;\r\n }\r\n });\r\n var offset = {\r\n x: Math.round(points),\r\n y: 0\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getCandleToolTipData(series, seriesData, opts, index, categories, extra) {\r\n var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};\r\n var calPoints = opts.chartData.calPoints;\r\n let upColor = extra.color.upFill;\r\n let downColor = extra.color.downFill;\r\n //颜色顺序为开盘,收盘,最低,最高\r\n let color = [upColor, upColor, downColor, upColor];\r\n var textList = [];\r\n seriesData.map(function(item) {\r\n if (index == 0) {\r\n if (item.data[1] - item.data[0] < 0) {\r\n color[1] = downColor;\r\n } else {\r\n color[1] = upColor;\r\n }\r\n } else {\r\n if (item.data[0] < series[index - 1][1]) {\r\n color[0] = downColor;\r\n }\r\n if (item.data[1] < item.data[0]) {\r\n color[1] = downColor;\r\n }\r\n if (item.data[2] > series[index - 1][1]) {\r\n color[2] = upColor;\r\n }\r\n if (item.data[3] < series[index - 1][1]) {\r\n color[3] = downColor;\r\n }\r\n }\r\n let text1 = {\r\n text: '开盘:' + item.data[0],\r\n color: color[0]\r\n };\r\n let text2 = {\r\n text: '收盘:' + item.data[1],\r\n color: color[1]\r\n };\r\n let text3 = {\r\n text: '最低:' + item.data[2],\r\n color: color[2]\r\n };\r\n let text4 = {\r\n text: '最高:' + item.data[3],\r\n color: color[3]\r\n };\r\n textList.push(text1, text2, text3, text4);\r\n });\r\n var validCalPoints = [];\r\n var offset = {\r\n x: 0,\r\n y: 0\r\n };\r\n for (let i = 0; i < calPoints.length; i++) {\r\n let points = calPoints[i];\r\n if (typeof points[index] !== 'undefined' && points[index] !== null) {\r\n validCalPoints.push(points[index]);\r\n }\r\n }\r\n offset.x = Math.round(validCalPoints[0][0].x);\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction filterSeries(series) {\r\n let tempSeries = [];\r\n for (let i = 0; i < series.length; i++) {\r\n if (series[i].show == true) {\r\n tempSeries.push(series[i])\r\n }\r\n }\r\n return tempSeries;\r\n}\r\n\r\nfunction findCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let xAxisPoints = [];\r\n if (calPoints && calPoints.length > 0) {\r\n if (!opts.categories) {\r\n spacing = 0;\r\n }else{\r\n for (let i = 1; i < opts.chartData.xAxisPoints.length; i++) {\r\n xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing);\r\n }\r\n if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') {\r\n xAxisPoints = opts.chartData.xAxisPoints;\r\n }\r\n }\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n if (!opts.categories) {\r\n let timePoints = Array(calPoints.length);\r\n for (let i = 0; i < calPoints.length; i++) {\r\n timePoints[i] = Array(calPoints[i].length)\r\n for (let j = 0; j < calPoints[i].length; j++) {\r\n timePoints[i][j] = (Math.abs(calPoints[i][j].x - currentPoints.x));\r\n }\r\n };\r\n let pointValue = Array(timePoints.length);\r\n let pointIndex = Array(timePoints.length);\r\n for (let i = 0; i < timePoints.length; i++) {\r\n pointValue[i] = Math.min.apply(null, timePoints[i]);\r\n pointIndex[i] = timePoints[i].indexOf(pointValue[i]);\r\n }\r\n let minValue = Math.min.apply(null, pointValue);\r\n current.index = [];\r\n for (let i = 0; i < pointValue.length; i++) {\r\n if(pointValue[i] == minValue){\r\n current.group.push(i);\r\n current.index.push(pointIndex[i]);\r\n }\r\n };\r\n }else{\r\n xAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.x + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findBarChartCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let yAxisPoints = opts.chartData.yAxisPoints;\r\n if (calPoints && calPoints.length > 0) {\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n yAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.y + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findLegendIndex(currentPoints, legendData, opts) {\r\n let currentIndex = -1;\r\n let gap = 0;\r\n if (isInExactLegendArea(currentPoints, legendData.area)) {\r\n let points = legendData.points;\r\n let index = -1;\r\n for (let i = 0, len = points.length; i < len; i++) {\r\n let item = points[i];\r\n for (let j = 0; j < item.length; j++) {\r\n index += 1;\r\n let area = item[j]['area'];\r\n if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) {\r\n currentIndex = index;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactLegendArea(currentPoints, area) {\r\n return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y;\r\n}\r\n\r\nfunction isInExactChartArea(currentPoints, opts, config) {\r\n return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2];\r\n}\r\n\r\nfunction findRadarChartCurrentIndex(currentPoints, radarData, count) {\r\n var eachAngleArea = 2 * Math.PI / count;\r\n var currentIndex = -1;\r\n if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) {\r\n var fixAngle = function fixAngle(angle) {\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n if (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n };\r\n var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x);\r\n angle = -1 * angle;\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n var angleList = radarData.angleList.map(function(item) {\r\n item = fixAngle(-1 * item);\r\n return item;\r\n });\r\n angleList.forEach(function(item, index) {\r\n var rangeStart = fixAngle(item - eachAngleArea / 2);\r\n var rangeEnd = fixAngle(item + eachAngleArea / 2);\r\n if (rangeEnd < rangeStart) {\r\n rangeEnd += 2 * Math.PI;\r\n }\r\n if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) {\r\n currentIndex = index;\r\n }\r\n });\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findFunnelChartCurrentIndex(currentPoints, funnelData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = funnelData.series.length; i < len; i++) {\r\n var item = funnelData.series[i];\r\n if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findWordChartCurrentIndex(currentPoints, wordData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = wordData.length; i < len; i++) {\r\n var item = wordData[i];\r\n if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findMapChartCurrentIndex(currentPoints, opts) {\r\n var currentIndex = -1;\r\n var cData = opts.chartData.mapData;\r\n var data = opts.series;\r\n var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset);\r\n var poi = [tmp.x, tmp.y];\r\n for (var i = 0, len = data.length; i < len; i++) {\r\n var item = data[i].geometry.coordinates;\r\n if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findRoseChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.rose && opts.extra.rose.offsetAngle){\r\n angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findPieChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getPieDataPoints(pieData.series);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.pie && opts.extra.pie.offsetAngle){\r\n angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180;\r\n }\r\n if(opts.extra.ring && opts.extra.ring.offsetAngle){\r\n angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactPieChartArea(currentPoints, center, radius) {\r\n return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2);\r\n}\r\n\r\n\r\nfunction splitPoints(points,eachSeries) {\r\n var newPoints = [];\r\n var items = [];\r\n points.forEach(function(item, index) {\r\n if(eachSeries.connectNulls){\r\n if (item !== null) {\r\n items.push(item);\r\n }\r\n }else{\r\n if (item !== null) {\r\n items.push(item);\r\n } else {\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n items = [];\r\n }\r\n }\r\n \r\n });\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n return newPoints;\r\n}\r\n\r\n\r\nfunction calLegendData(series, opts, config, chartData, context) {\r\n let legendData = {\r\n area: {\r\n start: {\r\n x: 0,\r\n y: 0\r\n },\r\n end: {\r\n x: 0,\r\n y: 0\r\n },\r\n width: 0,\r\n height: 0,\r\n wholeWidth: 0,\r\n wholeHeight: 0\r\n },\r\n points: [],\r\n widthArr: [],\r\n heightArr: []\r\n };\r\n if (opts.legend.show === false) {\r\n chartData.legendData = legendData;\r\n return legendData;\r\n }\r\n let padding = opts.legend.padding * opts.pix;\r\n let margin = opts.legend.margin * opts.pix;\r\n let fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n let legendList = [];\r\n let widthCount = 0;\r\n let widthCountArr = [];\r\n let currentRow = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n let itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n widthCount = itemWidth;\r\n currentRow = [item];\r\n } else {\r\n widthCount += itemWidth;\r\n currentRow.push(item);\r\n }\r\n }\r\n if (currentRow.length) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n legendData.widthArr = widthCountArr;\r\n let legendWidth = Math.max.apply(null, widthCountArr);\r\n switch (opts.legend.float) {\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n default:\r\n legendData.area.start.x = (opts.width - legendWidth) / 2 - padding;\r\n legendData.area.end.x = (opts.width + legendWidth) / 2 + padding;\r\n }\r\n legendData.area.width = legendWidth + 2 * padding;\r\n legendData.area.wholeWidth = legendWidth + 2 * padding;\r\n legendData.area.height = legendList.length * lineHeight + 2 * padding;\r\n legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin;\r\n legendData.points = legendList;\r\n }\r\n } else {\r\n let len = series.length;\r\n let maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding;\r\n let maxLength = Math.min(Math.floor(maxHeight / lineHeight), len);\r\n legendData.area.height = maxLength * lineHeight + padding * 2;\r\n legendData.area.wholeHeight = maxLength * lineHeight + padding * 2;\r\n switch (opts.legend.float) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n default:\r\n legendData.area.start.y = (opts.height - legendData.area.height) / 2;\r\n legendData.area.end.y = (opts.height + legendData.area.height) / 2;\r\n }\r\n let lineNum = len % maxLength === 0 ? len / maxLength : Math.floor((len / maxLength) + 1);\r\n let currentRow = [];\r\n for (let i = 0; i < lineNum; i++) {\r\n let temp = series.slice(i * maxLength, i * maxLength + maxLength);\r\n currentRow.push(temp);\r\n }\r\n legendData.points = currentRow;\r\n if (currentRow.length) {\r\n for (let i = 0; i < currentRow.length; i++) {\r\n let item = currentRow[i];\r\n let maxWidth = 0;\r\n for (let j = 0; j < item.length; j++) {\r\n let itemWidth = shapeWidth + shapeRight + measureText(item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (itemWidth > maxWidth) {\r\n maxWidth = itemWidth;\r\n }\r\n }\r\n legendData.widthArr.push(maxWidth);\r\n legendData.heightArr.push(item.length * lineHeight + padding * 2);\r\n }\r\n let legendWidth = 0\r\n for (let i = 0; i < legendData.widthArr.length; i++) {\r\n legendWidth += legendData.widthArr[i];\r\n }\r\n legendData.area.width = legendWidth - opts.legend.itemGap * opts.pix + 2 * padding;\r\n legendData.area.wholeWidth = legendData.area.width + padding;\r\n }\r\n }\r\n switch (opts.legend.position) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendData.area.width;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n }\r\n chartData.legendData = legendData;\r\n return legendData;\r\n}\r\n\r\nfunction calCategoriesData(categories, opts, config, eachSpacing, context) {\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: config.xAxisHeight\r\n };\r\n var fontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;\r\n var categoriesTextLenth = categories.map(function(item,index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n return measureText(String(xitem), fontSize, context);\r\n });\r\n \r\n var maxTextLength = Math.max.apply(this, categoriesTextLenth);\r\n if (opts.xAxis.rotateLabel == true) {\r\n result.angle = opts.xAxis.rotateAngle * Math.PI / 180;\r\n let tempHeight = 2 * config.xAxisTextPadding + Math.abs(maxTextLength * Math.sin(result.angle))\r\n tempHeight = tempHeight < fontSize + 2 * config.xAxisTextPadding ? tempHeight + 2 * config.xAxisTextPadding : tempHeight;\r\n if(opts.enableScroll == true && opts.xAxis.scrollShow == true){\r\n tempHeight += 12 * opts.pix;\r\n }\r\n result.xAxisHeight = tempHeight;\r\n }\r\n if (opts.xAxis.disabled){\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getXAxisTextList(series, opts, config, stack) {\r\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[0]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n\r\n var minData = 0;\r\n var maxData = 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n //为了兼容v1.9.0之前的项目\r\n if (index > -1) {\r\n if (typeof opts.xAxis.data[index].min === 'number') {\r\n minData = Math.min(opts.xAxis.data[index].min, minData);\r\n }\r\n if (typeof opts.xAxis.data[index].max === 'number') {\r\n maxData = Math.max(opts.xAxis.data[index].max, maxData);\r\n }\r\n } else {\r\n if (typeof opts.xAxis.min === 'number') {\r\n minData = Math.min(opts.xAxis.min, minData);\r\n }\r\n if (typeof opts.xAxis.max === 'number') {\r\n maxData = Math.max(opts.xAxis.max, maxData);\r\n }\r\n }\r\n if (minData === maxData) {\r\n var rangeSpan = maxData || 10;\r\n maxData += rangeSpan;\r\n }\r\n //var dataRange = getDataRange(minData, maxData);\r\n var minRange = minData;\r\n var maxRange = maxData;\r\n var range = [];\r\n var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber;\r\n for (var i = 0; i <= opts.xAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range;\r\n}\r\n\r\nfunction calXAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.bar);\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: config.xAxisHeight\r\n };\r\n result.ranges = getXAxisTextList(series, opts, config, columnstyle.type);\r\n result.rangesFormat = result.ranges.map(function(item) {\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2);\r\n item = util.toFixed(item, 2);\r\n return item;\r\n });\r\n var xAxisScaleValues = result.ranges.map(function(item) {\r\n // 如果刻度值是浮点数,则保留两位小数\r\n item = util.toFixed(item, 2);\r\n // 若有自定义格式则调用自定义的格式化函数\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item;\r\n return item;\r\n });\r\n result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config));\r\n // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\\结束点以及总长\r\n var eachSpacing = result.eachSpacing;\r\n var textLength = xAxisScaleValues.map(function(item) {\r\n return measureText(item, opts.xAxis.fontSize * opts.pix || config.fontSize, context);\r\n });\r\n // get max length of categories text\r\n var maxTextLength = Math.max.apply(this, textLength);\r\n // 如果刻度值文本内容过长,则将其逆时针旋转45°\r\n if (maxTextLength + 2 * config.xAxisTextPadding > eachSpacing) {\r\n result.angle = 45 * Math.PI / 180;\r\n result.xAxisHeight = 2 * config.xAxisTextPadding + maxTextLength * Math.sin(result.angle);\r\n }\r\n if (opts.xAxis.disabled === true) {\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getRadarDataPoints(angleList, center, radius, series, opts) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var radarOption = opts.extra.radar || {};\r\n radarOption.max = radarOption.max || 0;\r\n var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n var data = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let each = series[i];\r\n let listItem = {};\r\n listItem.color = each.color;\r\n listItem.legendShape = each.legendShape;\r\n listItem.pointShape = each.pointShape;\r\n listItem.data = [];\r\n each.data.forEach(function(item, index) {\r\n let tmp = {};\r\n tmp.angle = angleList[index];\r\n tmp.proportion = item / maxData;\r\n tmp.value = item;\r\n tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center);\r\n listItem.data.push(tmp);\r\n });\r\n data.push(listItem);\r\n }\r\n return data;\r\n}\r\n\r\nfunction getPieDataPoints(series, radius) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n }\r\n item._radius_ = radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getFunnelDataPoints(series, radius, type, eachSpacing) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n series = series.sort(function(a, b) {\r\n return parseInt(b.data) - parseInt(a.data);\r\n });\r\n for (let i = 0; i < series.length; i++) {\r\n if(type == 'funnel'){\r\n series[i].radius = series[i].data / series[0].data * radius * process;\r\n }else{\r\n series[i].radius = (eachSpacing * (series.length - i)) / (eachSpacing * series.length) * radius * process;\r\n }\r\n series[i]._proportion_ = series[i].data / series[0].data;\r\n }\r\n if(type !== 'pyramid'){\r\n series.reverse();\r\n }\r\n return series;\r\n}\r\n\r\nfunction getRoseDataPoints(series, type, minRadius, radius) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n var dataArr = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n dataArr.push(item.data);\r\n }\r\n var minData = Math.min.apply(null, dataArr);\r\n var maxData = Math.max.apply(null, dataArr);\r\n var radiusLength = radius - minRadius;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n item._rose_proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n if(type == 'area'){\r\n item._rose_proportion_ = 1 / series.length * process;\r\n }else{\r\n item._rose_proportion_ = item.data / count * process;\r\n }\r\n }\r\n item._radius_ = minRadius + radiusLength * ((item.data - minData) / (maxData - minData)) || radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._rose_proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeAxisPoints(categories, startAngle, endAngle) {\r\n let totalAngle = startAngle - endAngle + 1;\r\n let tempStartAngle = startAngle;\r\n for (let i = 0; i < categories.length; i++) {\r\n categories[i].value = categories[i].value === null ? 0 : categories[i].value;\r\n categories[i]._startAngle_ = tempStartAngle;\r\n categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle;\r\n if (categories[i]._endAngle_ >= 2) {\r\n categories[i]._endAngle_ = categories[i]._endAngle_ % 2;\r\n }\r\n tempStartAngle = categories[i]._endAngle_;\r\n }\r\n return categories;\r\n}\r\n\r\nfunction getGaugeDataPoints(series, categories, gaugeOption) {\r\n let process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (gaugeOption.pointer.color == 'auto') {\r\n for (let i = 0; i < categories.length; i++) {\r\n if (item.data <= categories[i].value) {\r\n item.color = categories[i].color;\r\n break;\r\n }\r\n }\r\n } else {\r\n item.color = gaugeOption.pointer.color;\r\n }\r\n let totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle;\r\n item._oldAngle_ = gaugeOption.oldAngle;\r\n if (gaugeOption.oldAngle < gaugeOption.endAngle) {\r\n item._oldAngle_ += 2;\r\n }\r\n if (item.data >= gaugeOption.oldData) {\r\n item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle;\r\n } else {\r\n item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process;\r\n }\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getPieTextMaxLength(series, config, context, opts) {\r\n series = getPieDataPoints(series);\r\n let maxLength = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n let text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';\r\n maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context));\r\n }\r\n return maxLength;\r\n}\r\n\r\nfunction fixColumeData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n if (opts.type == 'mix') {\r\n seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0;\r\n } else {\r\n seriesGap = opts.extra.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n }\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix);\r\n }\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n seriesGap = opts.extra.bar.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = eachSpacing - 2 * categoryGap;\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (index > 0) {\r\n item.width -= border;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction getXAxisPoints(categories, opts, config) {\r\n var spacingValid = opts.width - opts.area[1] - opts.area[3];\r\n var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length;\r\n if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {\r\n dataCount -= 1;\r\n }\r\n var widthRatio = 0;\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n widthRatio = opts.extra.mount.widthRatio - 1;\r\n dataCount += widthRatio;\r\n }\r\n var eachSpacing = spacingValid / dataCount;\r\n var xAxisPoints = [];\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n categories.forEach(function(item, index) {\r\n xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing);\r\n });\r\n if (opts.xAxis.boundaryGap !== 'justify') {\r\n if (opts.enableScroll === true) {\r\n xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing);\r\n } else {\r\n xAxisPoints.push(endX);\r\n }\r\n }\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n startX: startX,\r\n endX: endX,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var cPoints = [];\r\n item.forEach(function(items, indexs) {\r\n var point = {};\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n var value = items.value || items;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n cPoints.push(point);\r\n });\r\n points.push(cPoints);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' ) {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n if(opts.type == 'bubble'){\r\n point.r = item[2];\r\n point.t = item[3];\r\n }\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n var mountWidth = eachSpacing * mountOption.widthRatio;\r\n series.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n point.x += eachSpacing / 2;\r\n var value = item.data;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n point.value = value;\r\n point.width = mountWidth;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validWidth * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.height = height;\r\n point.value = value;\r\n point.x = height + opts.area[3];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n point.y0 = opts.height - Math.round(heightc) - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.height = height - heightc;\r\n point.x = opts.area[3] + height;\r\n point.x0 = opts.area[3] + heightc;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getYAxisTextList(series, opts, config, stack, yData) {\r\n var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[1]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n var minData = yData.min || 0;\r\n var maxData = yData.max || 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n if (minData === maxData) {\r\n // var rangeSpan = maxData || 10;\r\n // maxData += rangeSpan;\r\n if(maxData == 0){\r\n maxData = 10;\r\n }else{\r\n minData = 0;\r\n }\r\n }\r\n var dataRange = getDataRange(minData, maxData);\r\n var minRange = (yData.min === undefined || yData.min === null) ? dataRange.minRange : yData.min;\r\n var maxRange = (yData.max === undefined || yData.max === null) ? dataRange.maxRange : yData.max;\r\n var range = [];\r\n var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;\r\n for (var i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range.reverse();\r\n}\r\n\r\nfunction calYAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.column);\r\n //如果是多Y轴,重新计算\r\n var YLength = opts.yAxis.data.length;\r\n var newSeries = new Array(YLength);\r\n if (YLength > 0) {\r\n for (let i = 0; i < YLength; i++) {\r\n newSeries[i] = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if (series[j].index == i) {\r\n newSeries[i].push(series[j]);\r\n }\r\n }\r\n }\r\n var rangesArr = new Array(YLength);\r\n var rangesFormatArr = new Array(YLength);\r\n var yAxisWidthArr = new Array(YLength);\r\n\r\n for (let i = 0; i < YLength; i++) {\r\n let yData = opts.yAxis.data[i];\r\n //如果总开关不显示,强制每个Y轴为不显示\r\n if (opts.yAxis.disabled == true) {\r\n yData.disabled = true;\r\n }\r\n if(yData.type === 'categories'){\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return val + (yData.unit || '')};\r\n }\r\n yData.categories = yData.categories || opts.categories;\r\n rangesArr[i] = yData.categories;\r\n }else{\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return val.toFixed(yData.tofix) + (yData.unit || '')};\r\n }\r\n rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i);\r\n }\r\n let yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize;\r\n yAxisWidthArr[i] = {\r\n position: yData.position ? yData.position : 'left',\r\n width: 0\r\n };\r\n rangesFormatArr[i] = rangesArr[i].map(function(items,index) {\r\n items = yData.formatter(items,index,opts);\r\n yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(items, yAxisFontSizes, context) + 5);\r\n return items;\r\n });\r\n let calibration = yData.calibration ? 4 * opts.pix : 0;\r\n yAxisWidthArr[i].width += calibration + 3 * opts.pix;\r\n if (yData.disabled === true) {\r\n yAxisWidthArr[i].width = 0;\r\n }\r\n }\r\n } else {\r\n var rangesArr = new Array(1);\r\n var rangesFormatArr = new Array(1);\r\n var yAxisWidthArr = new Array(1);\r\n if(opts.type === 'bar'){\r\n rangesArr[0] = opts.categories;\r\n if(!opts.yAxis.formatter){\r\n opts.yAxis.formatter = (val,index,opts) => {return val + (opts.yAxis.unit || '')}\r\n }\r\n }else{\r\n if(!opts.yAxis.formatter){\r\n opts.yAxis.formatter = (val,index,opts) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')}\r\n }\r\n rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});\r\n }\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize;\r\n rangesFormatArr[0] = rangesArr[0].map(function(item,index) {\r\n item = opts.yAxis.formatter(item,index,opts);\r\n yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5);\r\n return item;\r\n });\r\n yAxisWidthArr[0].width += 3 * opts.pix;\r\n if (opts.yAxis.disabled === true) {\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n opts.yAxis.data[0] = {\r\n disabled: true\r\n };\r\n } else {\r\n opts.yAxis.data[0] = {\r\n disabled: false,\r\n position: 'left',\r\n max: opts.yAxis.max,\r\n min: opts.yAxis.min,\r\n formatter: opts.yAxis.formatter\r\n };\r\n if(opts.type === 'bar'){\r\n opts.yAxis.data[0].categories = opts.categories;\r\n opts.yAxis.data[0].type = 'categories';\r\n }\r\n }\r\n }\r\n return {\r\n rangesFormat: rangesFormatArr,\r\n ranges: rangesArr,\r\n yAxisWidth: yAxisWidthArr\r\n };\r\n}\r\n\r\nfunction calTooltipYAxisData(point, series, opts, config, eachSpacing) {\r\n let ranges = [].concat(opts.chartData.yAxisData.ranges);\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let minAxis = opts.area[0];\r\n let items = [];\r\n for (let i = 0; i < ranges.length; i++) {\r\n let maxVal = ranges[i].shift();\r\n let minVal = ranges[i].pop();\r\n let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;\r\n item = opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item) : item.toFixed(0);\r\n items.push(String(item))\r\n }\r\n return items;\r\n}\r\n\r\nfunction calMarkLineData(points, opts) {\r\n let minRange, maxRange;\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n for (let i = 0; i < points.length; i++) {\r\n points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0;\r\n let range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]);\r\n minRange = range.pop();\r\n maxRange = range.shift();\r\n let height = spacingValid * (points[i].value - minRange) / (maxRange - minRange);\r\n points[i].y = opts.height - Math.round(height) - opts.area[2];\r\n }\r\n return points;\r\n}\r\n\r\nfunction contextRotate(context, opts) {\r\n if (opts.rotateLock !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n } else if (opts._rotate_ !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n opts._rotate_ = true;\r\n }\r\n}\r\n\r\nfunction drawPointShape(points, color, shape, context, opts) {\r\n context.beginPath();\r\n if (opts.dataPointShapeType == 'hollow') {\r\n context.setStrokeStyle(color);\r\n context.setFillStyle(opts.background);\r\n context.setLineWidth(2 * opts.pix);\r\n } else {\r\n context.setStrokeStyle(\"#ffffff\");\r\n context.setFillStyle(color);\r\n context.setLineWidth(1 * opts.pix);\r\n }\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n}\r\n\r\nfunction drawRingTitle(opts, config, context, center) {\r\n var titlefontSize = opts.title.fontSize || config.titleFontSize;\r\n var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize;\r\n var title = opts.title.name || '';\r\n var subtitle = opts.subtitle.name || '';\r\n var titleFontColor = opts.title.color || opts.fontColor;\r\n var subtitleFontColor = opts.subtitle.color || opts.fontColor;\r\n var titleHeight = title ? titlefontSize : 0;\r\n var subtitleHeight = subtitle ? subtitlefontSize : 0;\r\n var margin = 5;\r\n if (subtitle) {\r\n var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context);\r\n var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX|| 0) * opts.pix ;\r\n var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix;\r\n if (title) {\r\n startY += (titleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(subtitlefontSize * opts.pix);\r\n context.setFillStyle(subtitleFontColor);\r\n context.fillText(subtitle, startX, startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (title) {\r\n var _textWidth = measureText(title, titlefontSize * opts.pix, context);\r\n var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0);\r\n var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix;\r\n if (subtitle) {\r\n _startY -= (subtitleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(titlefontSize * opts.pix);\r\n context.setFillStyle(titleFontColor);\r\n context.fillText(title, _startX, _startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n if (data[index].constructor.toString().indexOf('Array')>-1) {\r\n value = data[index][1];\r\n } else {\r\n value = data[index].value\r\n }\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawMountPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series[index].textColor || opts.fontColor);\r\n var value = item.value\r\n var formatVal = series[index].formatter ? series[index].formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawBarPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n value = data[index].value ;\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('left');\r\n context.fillText(String(formatVal), item.x + 4 * opts.pix , item.y + fontSize / 2 - 3 );\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n}\r\n\r\nfunction drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {\r\n radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n let totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let totalNumber = gaugeOption.endNumber - gaugeOption.startNumber;\r\n let splitNumber = totalNumber / gaugeOption.splitLine.splitNumber;\r\n let nowAngle = gaugeOption.startAngle;\r\n let nowNumber = gaugeOption.startNumber;\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n var pos = {\r\n x: radius * Math.cos(nowAngle * Math.PI),\r\n y: radius * Math.sin(nowAngle * Math.PI)\r\n };\r\n var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber,i,opts) : nowNumber;\r\n pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2;\r\n pos.y += centerPosition.y;\r\n var startX = pos.x;\r\n var startY = pos.y;\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(gaugeOption.labelColor || opts.fontColor);\r\n context.fillText(labelText, startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n nowAngle += splitAngle;\r\n if (nowAngle >= 2) {\r\n nowAngle = nowAngle % 2;\r\n }\r\n nowNumber += splitNumber;\r\n }\r\n}\r\n\r\nfunction drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {\r\n var radarOption = opts.extra.radar || {};\r\n angleList.forEach(function(angle, index) {\r\n if(radarOption.labelPointShow === true && opts.categories[index] !== ''){\r\n var posPoint = {\r\n x: radius * Math.cos(angle),\r\n y: radius * Math.sin(angle)\r\n };\r\n var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition);\r\n context.setFillStyle(radarOption.labelPointColor);\r\n context.beginPath();\r\n context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false);\r\n context.closePath();\r\n context.fill();\r\n }\r\n var pos = {\r\n x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle),\r\n y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle)\r\n };\r\n var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition);\r\n var startX = posRelativeCanvas.x;\r\n var startY = posRelativeCanvas.y;\r\n if (util.approximatelyEqual(pos.x, 0)) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2;\r\n } else if (pos.x < 0) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context);\r\n }\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(radarOption.labelColor || opts.fontColor);\r\n context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n });\r\n\r\n}\r\n\r\nfunction drawPieText(series, opts, config, context, radius, center) {\r\n var lineRadius = config.pieChartLinePadding;\r\n var textObjectCollection = [];\r\n var lastTextObject = null;\r\n var seriesConvert = series.map(function(item,index) {\r\n var text = item.formatter ? item.formatter(item,index,series,opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2);\r\n if (item._rose_proportion_) {\r\n arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2);\r\n }\r\n var color = item.color;\r\n var radius = item._radius_;\r\n return {\r\n arc: arc,\r\n text: text,\r\n color: color,\r\n radius: radius,\r\n textColor: item.textColor,\r\n textSize: item.textSize,\r\n labelShow: item.labelShow\r\n };\r\n });\r\n for (let i = 0; i < seriesConvert.length; i++) {\r\n let item = seriesConvert[i];\r\n // line end\r\n let orginX1 = Math.cos(item.arc) * (item.radius + lineRadius);\r\n let orginY1 = Math.sin(item.arc) * (item.radius + lineRadius);\r\n // line start\r\n let orginX2 = Math.cos(item.arc) * item.radius;\r\n let orginY2 = Math.sin(item.arc) * item.radius;\r\n // text start\r\n let orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding;\r\n let orginY3 = orginY1;\r\n let textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context);\r\n let startY = orginY3;\r\n if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, {\r\n x: orginX3\r\n })) {\r\n if (orginX3 > 0) {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n } else if (orginX1 < 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n if (orginY3 > 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n }\r\n }\r\n }\r\n if (orginX3 < 0) {\r\n orginX3 -= textWidth;\r\n }\r\n let textObject = {\r\n lineStart: {\r\n x: orginX2,\r\n y: orginY2\r\n },\r\n lineEnd: {\r\n x: orginX1,\r\n y: orginY1\r\n },\r\n start: {\r\n x: orginX3,\r\n y: startY\r\n },\r\n width: textWidth,\r\n height: config.fontSize,\r\n text: item.text,\r\n color: item.color,\r\n textColor: item.textColor,\r\n textSize: item.textSize\r\n };\r\n lastTextObject = avoidCollision(textObject, lastTextObject);\r\n textObjectCollection.push(lastTextObject);\r\n }\r\n for (let i = 0; i < textObjectCollection.length; i++) {\r\n if(seriesConvert[i].labelShow === false){\r\n continue;\r\n }\r\n let item = textObjectCollection[i];\r\n let lineStartPoistion = convertCoordinateOrigin(item.lineStart.x, item.lineStart.y, center);\r\n let lineEndPoistion = convertCoordinateOrigin(item.lineEnd.x, item.lineEnd.y, center);\r\n let textPosition = convertCoordinateOrigin(item.start.x, item.start.y, center);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.beginPath();\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n let curveStartX = item.start.x < 0 ? textPosition.x + item.width : textPosition.x;\r\n let textStartX = item.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5;\r\n context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(textPosition.x + item.width, textPosition.y);\r\n context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(item.text, textStartX, textPosition.y + 3);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitLine(offsetX, opts, config, context) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType;\r\n toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(offsetX, startY);\r\n context.lineTo(offsetX, endY);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.xAxisLabel) {\r\n let labelText = opts.categories[opts.tooltip.index];\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let textX = offsetX - 0.5 * textWidth;\r\n let textY = endY;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(textX - config.toolTipPadding, textY, textWidth + 2 * config.toolTipPadding, config.fontSize + 2 * config.toolTipPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(String(labelText), textX, textY + config.toolTipPadding + config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawMarkLine(opts, config, context) {\r\n let markLineOption = assign({}, {\r\n type: 'solid',\r\n dashLength: 4,\r\n data: []\r\n }, opts.extra.markLine);\r\n let startX = opts.area[3];\r\n let endX = opts.width - opts.area[1];\r\n let points = calMarkLineData(markLineOption.data, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = assign({}, {\r\n lineColor: '#DE4A42',\r\n showLabel: false,\r\n labelFontColor: '#666666',\r\n labelBgColor: '#DFE8FF',\r\n labelBgOpacity: 0.8,\r\n labelAlign: 'left',\r\n labelOffsetX: 0,\r\n labelOffsetY: 0,\r\n }, points[i]);\r\n if (markLineOption.type == 'dash') {\r\n context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]);\r\n }\r\n context.setStrokeStyle(item.lineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, item.y);\r\n context.lineTo(endX, item.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (item.showLabel) {\r\n let labelText = item.labelText ? item.labelText : item.value;\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let bgWidth = textWidth + config.toolTipPadding * 2;\r\n let bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1];\r\n bgStartX += item.labelOffsetX;\r\n let bgStartY = item.y - 0.5 * config.fontSize - config.toolTipPadding;\r\n bgStartY += item.labelOffsetY;\r\n let textX = bgStartX + config.toolTipPadding;\r\n let textY = item.y;\r\n context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity));\r\n context.setStrokeStyle(item.labelBgColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.rect(bgStartX, bgStartY, bgWidth, config.fontSize + 2 * config.toolTipPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.setFontSize(config.fontSize);\r\n context.setTextAlign('left');\r\n context.setFillStyle(item.labelFontColor);\r\n context.fillText(String(labelText), textX, bgStartY + config.fontSize + config.toolTipPadding/2);\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n gridType: 'solid',\r\n dashLength: 4\r\n }, opts.extra.tooltip);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, opts.tooltip.offset.y);\r\n context.lineTo(endX, opts.tooltip.offset.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.yAxisLabel) {\r\n let labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing);\r\n let widthArr = opts.chartData.yAxisData.yAxisWidth;\r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n for (let i = 0; i < labelText.length; i++) {\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText[i], config.fontSize, context);\r\n let bgStartX, bgEndX, bgWidth;\r\n if (widthArr[i].position == 'left') {\r\n bgStartX = tStartLeft - widthArr[i].width;\r\n bgEndX = Math.max(bgStartX, bgStartX + textWidth + config.toolTipPadding * 2);\r\n } else {\r\n bgStartX = tStartRight;\r\n bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + config.toolTipPadding * 2);\r\n }\r\n bgWidth = bgEndX - bgStartX;\r\n let textX = bgStartX + (bgWidth - textWidth) / 2;\r\n let textY = opts.tooltip.offset.y;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(bgStartX, textY - 0.5 * config.fontSize - config.toolTipPadding, bgWidth, config.fontSize + 2 *\r\n config.toolTipPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n if (widthArr[i].position == 'left') {\r\n tStartLeft -= (widthArr[i].width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08,\r\n activeWidth: eachSpacing\r\n }, opts.extra.column);\r\n toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\nfunction drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08\r\n }, opts.extra.bar);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect( startX ,offsetX - eachSpacing / 2 , endX - startX,eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\n\r\nfunction drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n showBox: true,\r\n showArrow: true,\r\n showCategory: false,\r\n bgColor: '#000000',\r\n bgOpacity: 0.7,\r\n borderColor: '#000000',\r\n borderWidth: 0,\r\n borderRadius: 0,\r\n borderOpacity: 0.7,\r\n fontColor: '#FFFFFF',\r\n splitLine: true,\r\n }, opts.extra.tooltip);\r\n if(toolTipOption.showCategory==true && opts.categories){\r\n textList.unshift({text:opts.categories[opts.tooltip.index],color:null})\r\n }\r\n var legendWidth = 4 * opts.pix;\r\n var legendMarginRight = 5 * opts.pix;\r\n var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0;\r\n var isOverRightBorder = false;\r\n if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') {\r\n if (toolTipOption.splitLine == true) {\r\n drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context);\r\n }\r\n }\r\n offset = assign({\r\n x: 0,\r\n y: 0\r\n }, offset);\r\n offset.y -= 8 * opts.pix;\r\n var textWidth = textList.map(function(item) {\r\n return measureText(item.text, config.fontSize, context);\r\n });\r\n var toolTipWidth = legendWidth + legendMarginRight + 4 * config.toolTipPadding + Math.max.apply(null, textWidth);\r\n var toolTipHeight = 2 * config.toolTipPadding + textList.length * config.toolTipLineHeight;\r\n if (toolTipOption.showBox == false) {\r\n return\r\n }\r\n // if beyond the right border\r\n if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) {\r\n isOverRightBorder = true;\r\n }\r\n if (toolTipHeight + offset.y > opts.height) {\r\n offset.y = opts.height - toolTipHeight;\r\n }\r\n // draw background rect\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.bgColor || config.toolTipBackground, toolTipOption.bgOpacity || config.toolTipOpacity));\r\n context.setLineWidth(toolTipOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity));\r\n var radius = toolTipOption.borderRadius;\r\n if (isOverRightBorder) {\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n }\r\n context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius,\r\n Math.PI / 2, Math.PI, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n } else {\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n }\r\n context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0,\r\n false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0,\r\n Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n }\r\n context.closePath();\r\n context.fill();\r\n if (toolTipOption.borderWidth > 0) {\r\n context.stroke();\r\n }\r\n // draw legend\r\n textList.forEach(function(item, index) {\r\n if (item.color !== null) {\r\n context.beginPath();\r\n context.setFillStyle(item.color);\r\n var startX = offset.x + arrowWidth + 2 * config.toolTipPadding;\r\n var startY = offset.y + (config.toolTipLineHeight - config.fontSize) / 2 + config.toolTipLineHeight * index + config.toolTipPadding + 1;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * config.toolTipPadding;\r\n }\r\n context.fillRect(startX, startY, legendWidth, config.fontSize);\r\n context.closePath();\r\n }\r\n });\r\n // draw text list\r\n textList.forEach(function(item, index) {\r\n var startX = offset.x + arrowWidth + 2 * config.toolTipPadding + legendWidth + legendMarginRight;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * config.toolTipPadding + +legendWidth + legendMarginRight;\r\n }\r\n var startY = offset.y + (config.toolTipLineHeight - config.fontSize) / 2 + config.toolTipLineHeight * index + config.toolTipPadding;\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.fontColor);\r\n context.fillText(item.text, startX, startY + config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n });\r\n}\r\n\r\nfunction drawColumnDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.column);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x - item.width / 2 + 1;\r\n var height = opts.height - item.y - opts.area[2];\r\n var height0 = opts.height - item.y0 - opts.area[2];\r\n if (seriesIndex > 0) {\r\n height -= height0;\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y);\r\n context.fillRect(startX, item.y, item.width, height);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'meter':\r\n // 绘制温度计数据图\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //画背景颜色\r\n context.beginPath();\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(columnOption.meterBorder * opts.pix);\r\n }\r\n if(seriesIndex == 0){\r\n context.setFillStyle(columnOption.meterFillColor);\r\n }else{\r\n context.setFillStyle(item.color || eachSeries.color);\r\n }\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n context.fill();\r\n }else{\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.fill();\r\n }\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'meter':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMountDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let mountOption = assign({}, {\r\n type: 'mount',\r\n widthRatio: 1,\r\n borderWidth: 1,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mount);\r\n mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio;\r\n mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config);\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, process);\r\n switch (mountOption.type) {\r\n case 'bar':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4) || mountOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y - mountOption.borderWidth * opts.pix / 2; \r\n if (mountOption.barBorderCircle) {\r\n mountOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = mountOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n }\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'triangle':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(item.x, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'mount':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.bezierCurveTo(item.x - item.width/4, opts.height - opts.area[2], item.x - item.width/4, item.y, item.x, item.y);\r\n context.bezierCurveTo(item.x + item.width/4, item.y, item.x + item.width/4, opts.height - opts.area[2], startX + item.width, opts.height - opts.area[2]);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'sharp':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.quadraticCurveTo(item.x - 0, opts.height - opts.area[2] - height/4, item.x, item.y);\r\n context.quadraticCurveTo(item.x + 0, opts.height - opts.area[2] - height/4, startX + item.width, opts.height - opts.area[2])\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, process);\r\n drawMountPointText(points, series, config, context, opts);\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: points,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBarDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let yAxisPoints = [];\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2])/opts.categories.length;\r\n for (let i = 0; i < opts.categories.length; i++) {\r\n yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i);\r\n }\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.bar);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = yAxisPoints.length + 2;\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //var startX = item.x - item.width / 2;\r\n var startX = opts.area[3];\r\n var startY = item.y - item.width / 2;\r\n var height = item.height;\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, item.x, item.y);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const width = item.width;\r\n const top = item.y - item.width / 2;\r\n const height = item.height;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n \r\n context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2);\r\n context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0);\r\n context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2);\r\n context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, startY);\r\n context.lineTo(item.x, startY);\r\n context.lineTo(item.x, startY + item.width);\r\n context.lineTo(startX, startY + item.width);\r\n context.lineTo(startX, startY);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x0;\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y - item.width/2);\r\n context.fillRect(startX, item.y - item.width/2, item.height , item.width);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n return {\r\n yAxisPoints: yAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawCandleDataPoints(series, seriesMA, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var candleOption = assign({}, {\r\n color: {},\r\n average: {}\r\n }, opts.extra.candle);\r\n candleOption.color = assign({}, {\r\n upLine: '#f04864',\r\n upFill: '#f04864',\r\n downLine: '#2fc25b',\r\n downFill: '#2fc25b'\r\n }, candleOption.color);\r\n candleOption.average = assign({}, {\r\n show: false,\r\n name: [],\r\n day: [],\r\n color: config.color\r\n }, candleOption.average);\r\n opts.extra.candle = candleOption;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n //画均线\r\n if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 邱贵翔\r\n seriesMA.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(1);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x,\r\n item.y);\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //画K线\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList[0].length; i++) {\r\n if (i > leftNum && i < rightNum) {\r\n let item = splitPointList[0][i];\r\n context.beginPath();\r\n //如果上涨\r\n if (data[i][1] - data[i][0] > 0) {\r\n context.setStrokeStyle(candleOption.color.upLine);\r\n context.setFillStyle(candleOption.color.upFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n } else {\r\n context.setStrokeStyle(candleOption.color.downLine);\r\n context.setFillStyle(candleOption.color.downFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n }\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawAreaDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var areaOption = assign({}, {\r\n type: 'straight',\r\n opacity: 0.2,\r\n addLine: false,\r\n width: 2,\r\n gradient: false\r\n }, opts.extra.area);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n let data = eachSeries.data;\r\n let points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数\r\n context.beginPath();\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length > 1) {\r\n let firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } \r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, endY);\r\n context.lineTo(item.x - eachSpacing / 2, endY);\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n //画连线\r\n if (areaOption.addLine) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n }\r\n }\r\n //画点\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawScatterDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var scatterOption = assign({}, {\r\n type: 'circle'\r\n }, opts.extra.scatter);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setFillStyle(eachSeries.color);\r\n context.setLineWidth(1 * opts.pix);\r\n var shape = eachSeries.pointShape;\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBubbleDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var bubbleOption = assign({}, {\r\n opacity: 1,\r\n border:2\r\n }, opts.extra.bubble);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(bubbleOption.border * opts.pix);\r\n context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity));\r\n points.forEach(function(item, index) {\r\n context.moveTo(item.x + item.r, item.y);\r\n context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false);\r\n });\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n \r\n if (opts.dataLabel !== false && process === 1) {\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n var fontSize = series.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || \"#FFFFFF\");\r\n context.setTextAlign('center');\r\n context.fillText(String(item.t), item.x, item.y + fontSize/2);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawLineDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var lineOption = assign({}, {\r\n type: 'straight',\r\n width: 2\r\n }, opts.extra.line);\r\n lineOption.width *= opts.pix;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(lineOption.width);\r\n splitPointList.forEach(function(points, index) {\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (lineOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n });\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMixDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n width: eachSpacing / 2,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mix.column);\r\n let areaOption = assign({}, {\r\n opacity: 0.2,\r\n gradient: false\r\n }, opts.extra.mix.area);\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n var columnIndex = 0;\r\n var columnLength = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (eachSeries.type == 'column') {\r\n columnLength += 1;\r\n }\r\n });\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n // 绘制柱状数据图\r\n if (eachSeries.type == 'column') {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n columnIndex += 1;\r\n }\r\n //绘制区域图数据\r\n if (eachSeries.type == 'area') {\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(2 * opts.pix);\r\n if (points.length > 1) {\r\n var firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (eachSeries.style === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, endY);\r\n context.lineTo(item.x - eachSpacing / 2, endY);\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n // 绘制折线数据图\r\n if (eachSeries.type == 'line') {\r\n var splitPointList = splitPoints(points,eachSeries);\r\n splitPointList.forEach(function(points, index) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(2 * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (eachSeries.style == 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y,\r\n item.x, item.y);\r\n }\r\n }\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n });\r\n }\r\n // 绘制点数据图\r\n if (eachSeries.type == 'point') {\r\n eachSeries.addPoint = true;\r\n }\r\n if (eachSeries.addPoint == true && eachSeries.type !== 'column') {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n var columnIndex = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n if (eachSeries.type !== 'column') {\r\n drawPointText(points, eachSeries, config, context, opts);\r\n } else {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n columnIndex += 1;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing,\r\n }\r\n}\r\n\r\n\r\nfunction drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) {\r\n drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints)\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints);\r\n }\r\n context.restore();\r\n\r\n}\r\n\r\nfunction drawXAxis(categories, opts, config, context) {\r\n\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n startX = xAxisData.startX,\r\n endX = xAxisData.endX,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area'|| opts.type == 'scatter' || opts.type == 'bubble') {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var startY = opts.height - opts.area[2];\r\n var endY = opts.area[0];\r\n\r\n //绘制滚动条\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n var scrollY = opts.height - opts.area[2] + config.xAxisHeight;\r\n var scrollScreenWidth = endX - startX;\r\n var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n scrollTotalWidth += (opts.extra.mount.widthRatio - 1)*eachSpacing;\r\n }\r\n var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth;\r\n var scrollLeft = 0;\r\n if (opts._scrollDistance_) {\r\n scrollLeft = -opts._scrollDistance_ * (scrollScreenWidth) / scrollTotalWidth;\r\n }\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || \"#EFEBEF\");\r\n context.moveTo(startX, scrollY);\r\n context.lineTo(endX, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollColor || \"#A6A6A6\");\r\n context.moveTo(startX + scrollLeft, scrollY);\r\n context.lineTo(startX + scrollLeft + scrollWidth, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.setLineCap('butt');\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n //绘制X轴刻度线\r\n if (opts.xAxis.calibration === true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index > 0) {\r\n context.beginPath();\r\n context.moveTo(item - eachSpacing / 2, startY);\r\n context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //绘制X轴网格\r\n if (opts.xAxis.disableGrid !== true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n if (opts.xAxis.gridType == 'dash') {\r\n context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]);\r\n }\r\n opts.xAxis.gridEval = opts.xAxis.gridEval || 1;\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index % opts.xAxis.gridEval == 0) {\r\n context.beginPath();\r\n context.moveTo(item, startY);\r\n context.lineTo(item, endY);\r\n context.stroke();\r\n }\r\n });\r\n context.setLineDash([]);\r\n }\r\n //绘制X轴文案\r\n if (opts.xAxis.disabled !== true) {\r\n // 对X轴列表做抽稀处理\r\n //默认全部显示X轴标签\r\n let maxXAxisListLength = categories.length;\r\n //如果设置了X轴单屏数量\r\n if (opts.xAxis.labelCount) {\r\n //如果设置X轴密度\r\n if (opts.xAxis.itemCount) {\r\n maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount);\r\n } else {\r\n maxXAxisListLength = opts.xAxis.labelCount;\r\n }\r\n maxXAxisListLength -= 1;\r\n }\r\n\r\n let ratio = Math.ceil(categories.length / maxXAxisListLength);\r\n\r\n let newCategories = [];\r\n let cgLength = categories.length;\r\n for (let i = 0; i < cgLength; i++) {\r\n if (i % ratio !== 0) {\r\n newCategories.push(\"\");\r\n } else {\r\n newCategories.push(categories[i]);\r\n }\r\n }\r\n newCategories[cgLength - 1] = categories[cgLength - 1];\r\n var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;\r\n if (config._xAxisTextAngle_ === 0) {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n var offset = -measureText(String(xitem), xAxisFontSize, context) / 2;\r\n if (boundaryGap == 'center') {\r\n offset += eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n context.fillText(String(xitem), xAxisPoints[index] + offset, startY + xAxisFontSize + (config.xAxisHeight - scrollHeight - xAxisFontSize) / 2);\r\n context.closePath();\r\n context.stroke();\r\n });\r\n } else {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item;\r\n context.save();\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n var textWidth = measureText(String(xitem), xAxisFontSize, context);\r\n var offsetX = xAxisPoints[index];\r\n if (boundaryGap == 'center') {\r\n offsetX = xAxisPoints[index] + eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n var offsetY = startY + 6 * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_));\r\n if(opts.xAxis.rotateAngle < 0){\r\n offsetX -= xAxisFontSize / 2;\r\n textWidth = 0;\r\n }else{\r\n offsetX += xAxisFontSize / 2;\r\n textWidth = -textWidth;\r\n }\r\n context.translate(offsetX, offsetY);\r\n context.rotate(-1 * config._xAxisTextAngle_);\r\n context.fillText(String(xitem), textWidth , 0 );\r\n context.closePath();\r\n context.stroke();\r\n context.restore();\r\n });\r\n }\r\n }\r\n context.restore();\r\n //绘制X轴轴线\r\n if (opts.xAxis.axisLine) {\r\n context.beginPath();\r\n context.setStrokeStyle(opts.xAxis.axisLineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(endX, opts.height - opts.area[2]);\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawYAxisGrid(categories, opts, config, context) {\r\n if (opts.yAxis.disableGrid === true) {\r\n return;\r\n }\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n let startX = opts.area[3];\r\n let xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1 ){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n TotalWidth += (opts.extra.mount.widthRatio - 1)*xAxiseachSpacing;\r\n }\r\n let endX = startX + TotalWidth;\r\n let points = [];\r\n let startY = 1\r\n if (opts.xAxis.axisLine === false) {\r\n startY = 0\r\n }\r\n for (let i = startY; i < opts.yAxis.splitNumber + 1; i++) {\r\n points.push(opts.height - opts.area[2] - eachSpacing * i);\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.yAxis.gridType == 'dash') {\r\n context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]);\r\n }\r\n context.setStrokeStyle(opts.yAxis.gridColor);\r\n context.setLineWidth(1 * opts.pix);\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n context.moveTo(startX, item);\r\n context.lineTo(endX, item);\r\n context.stroke();\r\n });\r\n context.setLineDash([]);\r\n context.restore();\r\n}\r\n\r\nfunction drawYAxis(series, opts, config, context) {\r\n if (opts.yAxis.disabled === true) {\r\n return;\r\n }\r\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n var eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n var endY = opts.height - opts.area[2];\r\n var fillEndY = endY + config.xAxisHeight;\r\n if (opts.xAxis.scrollShow) {\r\n fillEndY -= 3 * opts.pix;\r\n }\r\n if (opts.xAxis.rotateLabel) {\r\n fillEndY = opts.height - opts.area[2] + opts.fontSize * opts.pix / 2;\r\n }\r\n // set YAxis background\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') {\r\n context.fillRect(0, 0, startX, fillEndY);\r\n }\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') {\r\n context.fillRect(endX, 0, opts.width, fillEndY);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n \r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n let tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2;\r\n if (opts.yAxis.data) {\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n let yData = opts.yAxis.data[i];\r\n var points = [];\r\n if(yData.type === 'categories'){\r\n for (let i = 0; i <= yData.categories.length; i++) {\r\n points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * i);\r\n }\r\n }else{\r\n for (let i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n points.push(opts.area[0] + eachSpacing * i);\r\n }\r\n }\r\n if (yData.disabled !== true) {\r\n let rangesFormat = opts.chartData.yAxisData.rangesFormat[i];\r\n let yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize;\r\n let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i];\r\n let textAlign = yData.textAlign || \"right\";\r\n //画Y轴刻度及文案\r\n rangesFormat.forEach(function(item, index) {\r\n var pos = points[index];\r\n context.beginPath();\r\n context.setFontSize(yAxisFontSize);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setFillStyle(yData.fontColor || opts.fontColor);\r\n let tmpstrat = 0;\r\n let gapwidth = 4 * opts.pix;\r\n if (yAxisWidth.position == 'left') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartLeft, pos);\r\n context.lineTo(tStartLeft - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartLeft - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartLeft - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartLeft - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n\r\n } else if (yAxisWidth.position == 'right') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartRight, pos);\r\n context.lineTo(tStartRight + 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartRight + gapwidth\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartRight + yAxisWidth.width\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartRight + yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartCenter, pos);\r\n context.lineTo(tStartCenter - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartCenter - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartCenter - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartCenter - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n //画Y轴轴线\r\n if (yData.axisLine !== false) {\r\n context.beginPath();\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n if (yAxisWidth.position == 'left') {\r\n context.moveTo(tStartLeft, opts.height - opts.area[2]);\r\n context.lineTo(tStartLeft, opts.area[0]);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.moveTo(tStartRight, opts.height - opts.area[2]);\r\n context.lineTo(tStartRight, opts.area[0]);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.moveTo(tStartCenter, opts.height - opts.area[2]);\r\n context.lineTo(tStartCenter, opts.area[0]);\r\n }\r\n context.stroke();\r\n }\r\n //画Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let titleFontSize = yData.titleFontSize * opts.pix || config.fontSize;\r\n let title = yData.title;\r\n context.beginPath();\r\n context.setFontSize(titleFontSize);\r\n context.setFillStyle(yData.titleFontColor || opts.fontColor);\r\n if (yAxisWidth.position == 'left') {\r\n context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (yAxisWidth.position == 'left') {\r\n tStartLeft -= (yAxisWidth.width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction drawLegend(series, opts, config, context, chartData) {\r\n if (opts.legend.show === false) {\r\n return;\r\n }\r\n let legendData = chartData.legendData;\r\n let legendList = legendData.points;\r\n let legendArea = legendData.area;\r\n let padding = opts.legend.padding * opts.pix;\r\n let fontSize = opts.legend.fontSize * opts.pix;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let itemGap = opts.legend.itemGap * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n //画背景及边框\r\n context.beginPath();\r\n context.setLineWidth(opts.legend.borderWidth * opts.pix);\r\n context.setStrokeStyle(opts.legend.borderColor);\r\n context.setFillStyle(opts.legend.backgroundColor);\r\n context.moveTo(legendArea.start.x, legendArea.start.y);\r\n context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height);\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n legendList.forEach(function(itemList, listIndex) {\r\n let width = 0;\r\n let height = 0;\r\n width = legendData.widthArr[listIndex];\r\n height = legendData.heightArr[listIndex];\r\n let startX = 0;\r\n let startY = 0;\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n switch (opts.legend.float) {\r\n case 'left':\r\n startX = legendArea.start.x + padding;\r\n break;\r\n case 'right':\r\n startX = legendArea.start.x + legendArea.width - width;\r\n break;\r\n default:\r\n startX = legendArea.start.x + (legendArea.width - width) / 2;\r\n }\r\n startY = legendArea.start.y + padding + listIndex * lineHeight;\r\n } else {\r\n if (listIndex == 0) {\r\n width = 0;\r\n } else {\r\n width = legendData.widthArr[listIndex - 1];\r\n }\r\n startX = legendArea.start.x + padding + width;\r\n startY = legendArea.start.y + padding + (legendArea.height - height) / 2;\r\n }\r\n context.setFontSize(config.fontSize);\r\n for (let i = 0; i < itemList.length; i++) {\r\n let item = itemList[i];\r\n item.area = [0, 0, 0, 0];\r\n item.area[0] = startX;\r\n item.area[1] = startY;\r\n item.area[3] = startY + lineHeight;\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n switch (item.legendShape) {\r\n case 'line':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix);\r\n break;\r\n case 'triangle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'diamond':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'circle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI);\r\n break;\r\n case 'rect':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'square':\r\n context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'none':\r\n break;\r\n default:\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n startX += shapeWidth + shapeRight;\r\n let fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2;\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);\r\n context.fillText(legendText, startX, startY + fontTrans);\r\n context.closePath();\r\n context.stroke();\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n startX += measureText(legendText, fontSize, context) + itemGap;\r\n item.area[2] = startX;\r\n } else {\r\n item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;;\r\n startX -= shapeWidth + shapeRight;\r\n startY += lineHeight;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction drawPieDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var pieOption = assign({}, {\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n ringWidth: 30,\r\n customRadius: 0,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n centerColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.type == \"pie\" ? opts.extra.pie : opts.extra.ring);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = pieOption.activeRadius * opts.pix;\r\n }\r\n\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n if (pieOption.customRadius > 0) {\r\n radius = pieOption.customRadius * opts.pix;\r\n }\r\n series = getPieDataPoints(series, radius, process);\r\n var activeRadius = pieOption.activeRadius * opts.pix;\r\n pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (pieOption.offsetAngle) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(pieOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(pieOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (pieOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (pieOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n if (opts.type === 'ring') {\r\n var innerPieWidth = radius * 0.6;\r\n if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) {\r\n innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(pieOption.centerColor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n if (process === 1 && opts.type === 'ring') {\r\n drawRingTitle(opts, config, context, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawRoseDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var roseOption = assign({}, {\r\n type: 'area',\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.rose);\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = roseOption.activeRadius * opts.pix;\r\n }\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n var minRadius = roseOption.minRadius || radius * 0.5;\r\n series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process);\r\n var activeRadius = roseOption.activeRadius * opts.pix;\r\n roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(roseOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(roseOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (roseOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (roseOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawArcbarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var arcbarOption = assign({}, {\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n type: 'default',\r\n lineCap: 'round',\r\n width: 12 ,\r\n gap: 2 ,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.arcbar);\r\n series = getArcbarDataPoints(series, arcbarOption, process);\r\n var centerPosition;\r\n if (arcbarOption.centerX || arcbarOption.centerY) {\r\n centerPosition = {\r\n x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2,\r\n y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2\r\n };\r\n } else {\r\n centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n }\r\n var radius;\r\n if (arcbarOption.radius) {\r\n radius = arcbarOption.radius;\r\n } else {\r\n radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= arcbarOption.width / 2;\r\n }\r\n radius = radius < 10 ? 10 : radius;\r\n arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config);\r\n \r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n //背景颜色\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9');\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n if (arcbarOption.type == 'default') {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, false);\r\n } else {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, false);\r\n }\r\n context.stroke();\r\n //进度条\r\n var fillColor = eachSeries.color\r\n if(arcbarOption.linearType == 'custom'){\r\n var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y);\r\n grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(0, hexToRgb(eachSeries.color, 1))\r\n fillColor = grd;\r\n }\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(fillColor);\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, false);\r\n context.stroke();\r\n }\r\n drawRingTitle(opts, config, context, centerPosition);\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawGaugeDataPoints(categories, series, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var gaugeOption = assign({}, {\r\n type: 'default',\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n width: 15,\r\n labelOffset:13,\r\n splitLine: {\r\n fixRadius: 0,\r\n splitNumber: 10,\r\n width: 15,\r\n color: '#FFFFFF',\r\n childNumber: 5,\r\n childWidth: 5\r\n },\r\n pointer: {\r\n width: 15,\r\n color: 'auto'\r\n }\r\n }, opts.extra.gauge);\r\n if (gaugeOption.oldAngle == undefined) {\r\n gaugeOption.oldAngle = gaugeOption.startAngle;\r\n }\r\n if (gaugeOption.oldData == undefined) {\r\n gaugeOption.oldData = 0;\r\n }\r\n categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle);\r\n var centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n var radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= gaugeOption.width / 2;\r\n radius = radius < 10 ? 10 : radius;\r\n var innerRadius = radius - gaugeOption.width;\r\n var totalAngle = 0;\r\n //判断仪表盘的样式:default百度样式,progress新样式\r\n if (gaugeOption.type == 'progress') {\r\n //## 第一步画中心圆形背景和进度条背景\r\n //中心圆形背景\r\n var pieRadius = radius - gaugeOption.width * 3;\r\n context.beginPath();\r\n let gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius);\r\n //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径)\r\n gradient.addColorStop('0', hexToRgb(series[0].color, 0.3));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false);\r\n context.fill();\r\n //画进度条背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false);\r\n context.stroke();\r\n //## 第二步画刻度线\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n let len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1;\r\n let proc = series[0].data * process;\r\n for (let i = 0; i < len; i++) {\r\n context.beginPath();\r\n //刻度线随进度变色\r\n if (proc > (i / len)) {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 1));\r\n } else {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n }\r\n context.setLineWidth(3 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //## 第三步画进度条\r\n series = getGaugeArcbarDataPoints(series, gaugeOption, process);\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(series[0].color);\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false);\r\n context.stroke();\r\n //## 第四步画指针\r\n let pointerRadius = radius - gaugeOption.width * 2.5;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((series[0]._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setLineWidth(gaugeOption.width / 3);\r\n let gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6);\r\n gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0));\r\n gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1));\r\n gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0));\r\n context.setStrokeStyle(gradient3);\r\n context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false);\r\n context.stroke();\r\n context.beginPath();\r\n context.setLineWidth(1);\r\n context.setStrokeStyle(series[0].color);\r\n context.setFillStyle(series[0].color);\r\n context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.stroke();\r\n context.fill();\r\n context.restore();\r\n //default百度样式\r\n } else {\r\n //画背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setLineCap('butt');\r\n for (let i = 0; i < categories.length; i++) {\r\n let eachCategories = categories[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachCategories.color);\r\n context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false);\r\n context.stroke();\r\n }\r\n context.save();\r\n //画刻度线\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n let childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth;\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(2 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(splitAngle * Math.PI);\r\n }\r\n context.restore();\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(childendX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //画指针\r\n series = getGaugeDataPoints(series, categories, gaugeOption, process);\r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((eachSeries._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setFillStyle(eachSeries.color);\r\n context.moveTo(gaugeOption.pointer.width, 0);\r\n context.lineTo(0, -gaugeOption.pointer.width / 2);\r\n context.lineTo(-innerRadius, 0);\r\n context.lineTo(0, gaugeOption.pointer.width / 2);\r\n context.lineTo(gaugeOption.pointer.width, 0);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFillStyle('#FFFFFF');\r\n context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false);\r\n context.fill();\r\n context.restore();\r\n }\r\n if (opts.dataLabel !== false) {\r\n drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context);\r\n }\r\n }\r\n //画仪表盘标题,副标题\r\n drawRingTitle(opts, config, context, centerPosition);\r\n if (process === 1 && opts.type === 'gauge') {\r\n opts.extra.gauge.oldAngle = series[0]._proportion_;\r\n opts.extra.gauge.oldData = series[0].data;\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n innerRadius: innerRadius,\r\n categories: categories,\r\n totalAngle: totalAngle\r\n };\r\n}\r\n\r\nfunction drawRadarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var radarOption = assign({}, {\r\n gridColor: '#cccccc',\r\n gridType: 'radar',\r\n gridEval:1,\r\n axisLabel:false,\r\n axisLabelTofix:0,\r\n labelColor:'#666666',\r\n labelPointShow:false,\r\n labelPointRadius:3,\r\n labelPointColor:'#cccccc',\r\n opacity: 0.2,\r\n gridCount: 3,\r\n border:false,\r\n borderWidth:2,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.radar);\r\n var coordinateAngle = getRadarCoordinateSeries(opts.categories.length);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var xr = (opts.width - opts.area[1] - opts.area[3]) / 2\r\n var yr = (opts.height - opts.area[0] - opts.area[2]) / 2\r\n var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin);\r\n radius -= config.radarLabelTextMargin * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n // 画分割线\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n coordinateAngle.forEach(function(angle,index) {\r\n var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n if (index % radarOption.gridEval == 0) {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.stroke();\r\n context.closePath();\r\n \r\n // 画背景网格\r\n var _loop = function _loop(i) {\r\n var startPos = {};\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n if (radarOption.gridType == 'radar') {\r\n coordinateAngle.forEach(function(angle, index) {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius /\r\n radarOption.gridCount * i * Math.sin(angle), centerPosition);\r\n if (index === 0) {\r\n startPos = pos;\r\n context.moveTo(pos.x, pos.y);\r\n } else {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.lineTo(startPos.x, startPos.y);\r\n } else {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition);\r\n context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false);\r\n }\r\n context.stroke();\r\n context.closePath();\r\n };\r\n for (var i = 1; i <= radarOption.gridCount; i++) {\r\n _loop(i);\r\n }\r\n radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config);\r\n var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process);\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setLineWidth(radarOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(eachSeries.color);\r\n \r\n var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity);\r\n if (radarOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, radius)\r\n }\r\n grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity))\r\n fillcolor = grd\r\n }\r\n \r\n context.setFillStyle(fillcolor);\r\n eachSeries.data.forEach(function(item, index) {\r\n if (index === 0) {\r\n context.moveTo(item.position.x, item.position.y);\r\n } else {\r\n context.lineTo(item.position.x, item.position.y);\r\n }\r\n });\r\n context.closePath();\r\n context.fill();\r\n if(radarOption.border === true){\r\n context.stroke();\r\n }\r\n context.closePath();\r\n if (opts.dataPointShape !== false) {\r\n var points = eachSeries.data.map(function(item) {\r\n return item.position;\r\n });\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n // 画刻度值\r\n if(radarOption.axisLabel === true){\r\n const maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n const stepLength = radius / radarOption.gridCount;\r\n const fontSize = opts.fontSize * opts.pix;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(opts.fontColor);\r\n context.setTextAlign('left');\r\n for (var i = 0; i < radarOption.gridCount + 1; i++) {\r\n let label = i * maxData / radarOption.gridCount;\r\n label = label.toFixed(radarOption.axisLabelTofix);\r\n context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2);\r\n }\r\n }\r\n \r\n // draw label text\r\n drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);\r\n \r\n // draw dataLabel\r\n if (opts.dataLabel !== false && process === 1) {\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n context.beginPath();\r\n var fontSize = eachSeries.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(eachSeries.textColor || opts.fontColor);\r\n eachSeries.data.forEach(function(item, index) {\r\n //如果是中心点垂直的上下点位\r\n if(Math.abs(item.position.x - centerPosition.x)<2){\r\n //如果在上面\r\n if(item.position.y < centerPosition.y){\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y - 4);\r\n }else{\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y + fontSize + 2);\r\n }\r\n }else{\r\n //如果在左侧\r\n if(item.position.x < centerPosition.x){\r\n context.setTextAlign('right');\r\n context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2);\r\n }else{\r\n context.setTextAlign('left');\r\n context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2);\r\n }\r\n }\r\n });\r\n context.closePath();\r\n context.stroke();\r\n });\r\n context.setTextAlign('left');\r\n }\r\n \r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n angleList: coordinateAngle\r\n };\r\n}\r\n\r\n// 经纬度转墨卡托\r\nfunction lonlat2mercator(longitude, latitude) {\r\n var mercator = Array(2);\r\n var x = longitude * 20037508.34 / 180;\r\n var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180);\r\n y = y * 20037508.34 / 180;\r\n mercator[0] = x;\r\n mercator[1] = y;\r\n return mercator;\r\n}\r\n\r\n// 墨卡托转经纬度\r\nfunction mercator2lonlat(longitude, latitude) {\r\n var lonlat = Array(2)\r\n var x = longitude / 20037508.34 * 180;\r\n var y = latitude / 20037508.34 * 180;\r\n y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);\r\n lonlat[0] = x;\r\n lonlat[1] = y;\r\n return lonlat;\r\n}\r\n\r\nfunction getBoundingBox(data) {\r\n var bounds = {},coords;\r\n bounds.xMin = 180;\r\n bounds.xMax = 0;\r\n bounds.yMin = 90;\r\n bounds.yMax = 0\r\n for (var i = 0; i < data.length; i++) {\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var longitude = coords[j][0];\r\n var latitude = coords[j][1];\r\n var point = {\r\n x: longitude,\r\n y: latitude\r\n }\r\n bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x;\r\n bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x;\r\n bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y;\r\n bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y;\r\n }\r\n }\r\n }\r\n return bounds;\r\n}\r\n\r\nfunction coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (longitude - bounds.xMin) * scale + xoffset,\r\n y: (bounds.yMax - latitude) * scale + yoffset\r\n };\r\n}\r\n\r\nfunction pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (pointX - xoffset) / scale + bounds.xMin,\r\n y: bounds.yMax - (pointY - yoffset) / scale\r\n };\r\n}\r\n\r\nfunction isRayIntersectsSegment(poi, s_poi, e_poi) {\r\n if (s_poi[1] == e_poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n let xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]);\r\n if (xseg < poi[0]) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\nfunction isPoiWithinPoly(poi, poly, mercator) {\r\n let sinsc = 0;\r\n for (let i = 0; i < poly.length; i++) {\r\n let epoly = poly[i][0];\r\n if (poly.length == 1) {\r\n epoly = poly[i][0]\r\n }\r\n for (let j = 0; j < epoly.length - 1; j++) {\r\n let s_poi = epoly[j];\r\n let e_poi = epoly[j + 1];\r\n if (mercator) {\r\n s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]);\r\n e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]);\r\n }\r\n if (isRayIntersectsSegment(poi, s_poi, e_poi)) {\r\n sinsc += 1;\r\n }\r\n }\r\n }\r\n if (sinsc % 2 == 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\nfunction drawMapDataPoints(series, opts, config, context) {\r\n var mapOption = assign({}, {\r\n border: true,\r\n mercator: false,\r\n borderWidth: 1,\r\n borderColor: '#666666',\r\n fillOpacity: 0.6,\r\n activeBorderColor: '#f04864',\r\n activeFillColor: '#facc14',\r\n activeFillOpacity: 1\r\n }, opts.extra.map);\r\n var coords, point;\r\n var data = series;\r\n var bounds = getBoundingBox(data);\r\n if (mapOption.mercator) {\r\n var max = lonlat2mercator(bounds.xMax, bounds.yMax)\r\n var min = lonlat2mercator(bounds.xMin, bounds.yMin)\r\n bounds.xMax = max[0]\r\n bounds.yMax = max[1]\r\n bounds.xMin = min[0]\r\n bounds.yMin = min[1]\r\n }\r\n var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin);\r\n var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin);\r\n var scale = xScale < yScale ? xScale : yScale;\r\n var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale;\r\n var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale;\r\n for (var i = 0; i < data.length; i++) {\r\n context.beginPath();\r\n context.setLineWidth(mapOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(mapOption.borderColor);\r\n context.setFillStyle(hexToRgb(series[i].color, mapOption.fillOpacity));\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.setStrokeStyle(mapOption.activeBorderColor);\r\n context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity));\r\n }\r\n }\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var gaosi = Array(2);\r\n if (mapOption.mercator) {\r\n gaosi = lonlat2mercator(coords[j][0], coords[j][1])\r\n } else {\r\n gaosi = coords[j]\r\n }\r\n point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset)\r\n if (j === 0) {\r\n context.beginPath();\r\n context.moveTo(point.x, point.y);\r\n } else {\r\n context.lineTo(point.x, point.y);\r\n }\r\n }\r\n context.fill();\r\n if (mapOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n }\r\n if (opts.dataLabel == true) {\r\n for (var i = 0; i < data.length; i++) {\r\n var centerPoint = data[i].properties.centroid;\r\n if (centerPoint) {\r\n if (mapOption.mercator) {\r\n centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1])\r\n }\r\n point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset);\r\n let fontSize = data[i].textSize * opts.pix || config.fontSize;\r\n let text = data[i].properties.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize)\r\n context.setFillStyle(data[i].textColor || opts.fontColor)\r\n context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n opts.chartData.mapData = {\r\n bounds: bounds,\r\n scale: scale,\r\n xoffset: xoffset,\r\n yoffset: yoffset,\r\n mercator: mapOption.mercator\r\n }\r\n drawToolTipBridge(opts, config, context, 1);\r\n context.draw();\r\n}\r\n\r\nfunction normalInt(min, max, iter) {\r\n iter = iter == 0 ? 1 : iter;\r\n var arr = [];\r\n for (var i = 0; i < iter; i++) {\r\n arr[i] = Math.random();\r\n };\r\n return Math.floor(arr.reduce(function(i, j) {\r\n return i + j\r\n }) / iter * (max - min)) + min;\r\n};\r\n\r\nfunction collisionNew(area, points, width, height) {\r\n var isIn = false;\r\n for (let i = 0; i < points.length; i++) {\r\n if (points[i].area) {\r\n if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) {\r\n if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) {\r\n isIn = true;\r\n break;\r\n } else {\r\n isIn = false;\r\n }\r\n } else {\r\n isIn = true;\r\n break;\r\n }\r\n }\r\n }\r\n return isIn;\r\n};\r\n\r\nfunction getWordCloudPoint(opts, type, context) {\r\n let points = opts.series;\r\n switch (type) {\r\n case 'normal':\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let x, y;\r\n let area;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 +\r\n opts.height / 2\r\n ];\r\n let isCollision = collisionNew(area, points, opts.width, opts.height);\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-100, -100, -100, -100];\r\n break;\r\n }\r\n };\r\n points[i].area = area;\r\n }\r\n break;\r\n case 'vertical':\r\n function Spin() {\r\n //获取均匀随机值,是否旋转,旋转的概率为(1-0.5)\r\n if (Math.random() > 0.7) {\r\n return true;\r\n } else {\r\n return false\r\n };\r\n };\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let isSpin = Spin();\r\n let x, y, area, areav;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n let isCollision;\r\n if (isSpin) {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [y - 5 - tWidth + opts.width / 2, (-x - 5 + opts.height / 2), y + 5 + opts.width / 2, (-x + tHeight + 5 + opts.height / 2)];\r\n areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) - 5, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) + tHeight, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) + tWidth + 5];\r\n isCollision = collisionNew(areav, points, opts.height, opts.width);\r\n } else {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2];\r\n isCollision = collisionNew(area, points, opts.width, opts.height);\r\n }\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-1000, -1000, -1000, -1000];\r\n break;\r\n }\r\n };\r\n if (isSpin) {\r\n points[i].area = areav;\r\n points[i].areav = area;\r\n } else {\r\n points[i].area = area;\r\n }\r\n points[i].rotate = isSpin;\r\n };\r\n break;\r\n }\r\n return points;\r\n}\r\n\r\nfunction drawWordCloudDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let wordOption = assign({}, {\r\n type: 'normal',\r\n autoColors: true\r\n }, opts.extra.word);\r\n if (!opts.chartData.wordCloudData) {\r\n opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n context.rect(0, 0, opts.width, opts.height);\r\n context.fill();\r\n context.save();\r\n let points = opts.chartData.wordCloudData;\r\n context.translate(opts.width / 2, opts.height / 2);\r\n for (let i = 0; i < points.length; i++) {\r\n context.save();\r\n if (points[i].rotate) {\r\n context.rotate(90 * Math.PI / 180);\r\n }\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n context.beginPath();\r\n context.setStrokeStyle(points[i].color);\r\n context.setFillStyle(points[i].color);\r\n context.setFontSize(tHeight);\r\n if (points[i].rotate) {\r\n if (points[i].areav[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n } else {\r\n if (points[i].area[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n }\r\n context.stroke();\r\n context.restore();\r\n }\r\n context.restore();\r\n}\r\n\r\nfunction drawFunnelDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let funnelOption = assign({}, {\r\n type:'funnel',\r\n activeWidth: 10,\r\n activeOpacity: 0.3,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n fillOpacity: 1,\r\n labelAlign: 'right',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.funnel);\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length;\r\n let centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.height - opts.area[2]\r\n };\r\n let activeWidth = funnelOption.activeWidth * opts.pix;\r\n let radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth);\r\n series = getFunnelDataPoints(series, radius, funnelOption.type, eachSpacing, process);\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config);\r\n if(funnelOption.type == 'pyramid'){\r\n for (let i = 0; i < series.length; i++) {\r\n if (i == series.length -1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth, -eachSpacing);\r\n context.lineTo(-series[i].radius - activeWidth, 0);\r\n context.lineTo(series[i].radius + activeWidth, 0);\r\n context.lineTo(activeWidth, -eachSpacing);\r\n context.lineTo(-activeWidth, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + series[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, -eachSpacing);\r\n context.lineTo(-series[i].radius, 0);\r\n context.lineTo(series[i].radius, 0);\r\n context.lineTo(0, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-series[i].radius - activeWidth, 0);\r\n context.lineTo(-series[i + 1].radius - activeWidth, -eachSpacing);\r\n context.lineTo(series[i + 1].radius + activeWidth, -eachSpacing);\r\n context.lineTo(series[i].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + series[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-series[i].radius, 0);\r\n context.lineTo(-series[i + 1].radius, -eachSpacing);\r\n context.lineTo(series[i + 1].radius, -eachSpacing);\r\n context.lineTo(series[i].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, -eachSpacing)\r\n }\r\n }else{\r\n for (let i = 0; i < series.length; i++) {\r\n if (i == 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth, 0);\r\n context.lineTo(-series[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(series[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(activeWidth, 0);\r\n context.lineTo(-activeWidth, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing, centerPosition.x + series[i].radius, centerPosition.y];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-series[i].radius, -eachSpacing);\r\n context.lineTo(series[i].radius, -eachSpacing);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-series[i - 1].radius - activeWidth, 0);\r\n context.lineTo(-series[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(series[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(series[i - 1].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + series[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-series[i - 1].radius, 0);\r\n context.lineTo(-series[i].radius, -eachSpacing);\r\n context.lineTo(series[i].radius, -eachSpacing);\r\n context.lineTo(series[i - 1].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, -eachSpacing)\r\n }\r\n }\r\n \r\n context.restore();\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawFunnelText(series, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if(item.labelShow === false){\r\n continue;\r\n }\r\n let startX, endX, startY, fontSize;\r\n let text = item.formatter ? item.formatter(item,i,series,opts) : util.toFixed(item._proportion_ * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n if (labelAlign == 'right') {\r\n if(opts.extra.funnel.type === 'pyramid'){\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[2] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2;\r\n }\r\n }else{\r\n if (i == 0) {\r\n startX = (item.funnelArea[2] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[2] + series[i - 1].funnelArea[2]) / 2;\r\n }\r\n }\r\n endX = startX + activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX + 5, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n } else {\r\n if(opts.extra.funnel.type === 'pyramid'){\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[0] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2;\r\n }\r\n }else{\r\n if (i == 0) {\r\n startX = (item.funnelArea[0] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[0] + series[i - 1].funnelArea[0]) / 2;\r\n }\r\n }\r\n endX = startX - activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nfunction drawCanvas(opts, context) {\r\n context.draw();\r\n}\r\n\r\nvar Timing = {\r\n easeIn: function easeIn(pos) {\r\n return Math.pow(pos, 3);\r\n },\r\n easeOut: function easeOut(pos) {\r\n return Math.pow(pos - 1, 3) + 1;\r\n },\r\n easeInOut: function easeInOut(pos) {\r\n if ((pos /= 0.5) < 1) {\r\n return 0.5 * Math.pow(pos, 3);\r\n } else {\r\n return 0.5 * (Math.pow(pos - 2, 3) + 2);\r\n }\r\n },\r\n linear: function linear(pos) {\r\n return pos;\r\n }\r\n};\r\n\r\nfunction Animation(opts) {\r\n this.isStop = false;\r\n opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration;\r\n opts.timing = opts.timing || 'easeInOut';\r\n var delay = 17;\r\n function createAnimationFrame() {\r\n if (typeof setTimeout !== 'undefined') {\r\n return function(step, delay) {\r\n setTimeout(function() {\r\n var timeStamp = +new Date();\r\n step(timeStamp);\r\n }, delay);\r\n };\r\n } else if (typeof requestAnimationFrame !== 'undefined') {\r\n return requestAnimationFrame;\r\n } else {\r\n return function(step) {\r\n step(null);\r\n };\r\n }\r\n };\r\n var animationFrame = createAnimationFrame();\r\n var startTimeStamp = null;\r\n var _step = function step(timestamp) {\r\n if (timestamp === null || this.isStop === true) {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n return;\r\n }\r\n if (startTimeStamp === null) {\r\n startTimeStamp = timestamp;\r\n }\r\n if (timestamp - startTimeStamp < opts.duration) {\r\n var process = (timestamp - startTimeStamp) / opts.duration;\r\n var timingFunction = Timing[opts.timing];\r\n process = timingFunction(process);\r\n opts.onProcess && opts.onProcess(process);\r\n animationFrame(_step, delay);\r\n } else {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n }\r\n };\r\n _step = _step.bind(this);\r\n animationFrame(_step, delay);\r\n}\r\n\r\nAnimation.prototype.stop = function() {\r\n this.isStop = true;\r\n};\r\n\r\nfunction drawCharts(type, opts, config, context) {\r\n var _this = this;\r\n var series = opts.series;\r\n //兼容ECharts饼图类数据格式\r\n if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') {\r\n series = fixPieSeries(series, opts, config);\r\n }\r\n var categories = opts.categories;\r\n if (type === 'mount') {\r\n categories = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if(series[j].show !== false) categories.push(series[j].name)\r\n }\r\n opts.categories = categories;\r\n }\r\n series = fillSeries(series, opts, config);\r\n var duration = opts.animation ? opts.duration : 0;\r\n _this.animationInstance && _this.animationInstance.stop();\r\n var seriesMA = null;\r\n if (type == 'candle') {\r\n let average = assign({}, opts.extra.candle.average);\r\n if (average.show) {\r\n seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data);\r\n seriesMA = fillSeries(seriesMA, opts, config);\r\n opts.seriesMA = seriesMA;\r\n } else if (opts.seriesMA) {\r\n seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config);\r\n } else {\r\n seriesMA = series;\r\n }\r\n } else {\r\n seriesMA = series;\r\n }\r\n /* 过滤掉show=false的series */\r\n opts._series_ = series = filterSeries(series);\r\n //重新计算图表区域\r\n opts.area = new Array(4);\r\n //复位绘图区域\r\n for (let j = 0; j < 4; j++) {\r\n opts.area[j] = opts.padding[j] * opts.pix;\r\n }\r\n //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域\r\n var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context),\r\n legendHeight = _calLegendData.area.wholeHeight,\r\n legendWidth = _calLegendData.area.wholeWidth;\r\n\r\n switch (opts.legend.position) {\r\n case 'top':\r\n opts.area[0] += legendHeight;\r\n break;\r\n case 'bottom':\r\n opts.area[2] += legendHeight;\r\n break;\r\n case 'left':\r\n opts.area[3] += legendWidth;\r\n break;\r\n case 'right':\r\n opts.area[1] += legendWidth;\r\n break;\r\n }\r\n\r\n let _calYAxisData = {},\r\n yAxisWidth = 0;\r\n if (opts.type === 'line' || opts.type === 'column'|| opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n _calYAxisData = calYAxisData(series, opts, config, context);\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n //如果显示Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let maxTitleHeight = 0;\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize)\r\n }\r\n opts.area[0] += maxTitleHeight;\r\n }\r\n let rightIndex = 0,\r\n leftIndex = 0;\r\n //计算主绘图区域左右位置\r\n for (let i = 0; i < yAxisWidth.length; i++) {\r\n if (yAxisWidth[i].position == 'left') {\r\n if (leftIndex > 0) {\r\n opts.area[3] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[3] += yAxisWidth[i].width;\r\n }\r\n leftIndex += 1;\r\n } else if (yAxisWidth[i].position == 'right') {\r\n if (rightIndex > 0) {\r\n opts.area[1] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[1] += yAxisWidth[i].width;\r\n }\r\n rightIndex += 1;\r\n }\r\n }\r\n } else {\r\n config.yAxisWidth = yAxisWidth;\r\n }\r\n opts.chartData.yAxisData = _calYAxisData;\r\n\r\n if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') {\r\n opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config);\r\n let _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n opts.chartData.xAxisData = calXAxisData(series, opts, config, context);\r\n categories = opts.chartData.xAxisData.rangesFormat;\r\n let _calCategoriesData = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n opts.chartData.xAxisData = {\r\n xAxisPoints: []\r\n };\r\n }\r\n }\r\n\r\n //计算右对齐偏移距离\r\n if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) {\r\n let offsetLeft = 0,\r\n xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n startX = opts.chartData.xAxisData.startX,\r\n endX = opts.chartData.xAxisData.endX,\r\n eachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n _this.scrollOption.currentOffset = offsetLeft;\r\n _this.scrollOption.startTouchX = offsetLeft;\r\n _this.scrollOption.distance = 0;\r\n _this.scrollOption.lastMoveTime = 0;\r\n opts._scrollDistance_ = offsetLeft;\r\n }\r\n\r\n if (type === 'pie' || type === 'ring' || type === 'rose') {\r\n config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts);\r\n }\r\n \r\n switch (type) {\r\n case 'word':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawWordCloudDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'map':\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n drawMapDataPoints(series, opts, config, context);\r\n break;\r\n case 'funnel':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'line':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawLineDataPoints.xAxisPoints,\r\n calPoints = _drawLineDataPoints.calPoints,\r\n eachSpacing = _drawLineDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'scatter':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawScatterDataPoints.xAxisPoints,\r\n calPoints = _drawScatterDataPoints.calPoints,\r\n eachSpacing = _drawScatterDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bubble':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawBubbleDataPoints.xAxisPoints,\r\n calPoints = _drawBubbleDataPoints.calPoints,\r\n eachSpacing = _drawBubbleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mix':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMixDataPoints.xAxisPoints,\r\n calPoints = _drawMixDataPoints.calPoints,\r\n eachSpacing = _drawMixDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'column':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawColumnDataPoints.xAxisPoints,\r\n calPoints = _drawColumnDataPoints.calPoints,\r\n eachSpacing = _drawColumnDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mount':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMountDataPoints.xAxisPoints,\r\n calPoints = _drawMountDataPoints.calPoints,\r\n eachSpacing = _drawMountDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process),\r\n yAxisPoints = _drawBarDataPoints.yAxisPoints,\r\n calPoints = _drawBarDataPoints.calPoints,\r\n eachSpacing = _drawBarDataPoints.eachSpacing;\r\n opts.chartData.yAxisPoints = yAxisPoints;\r\n opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'area':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawAreaDataPoints.xAxisPoints,\r\n calPoints = _drawAreaDataPoints.calPoints,\r\n eachSpacing = _drawAreaDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'ring':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'pie':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'rose':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'radar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'arcbar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'gauge':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'candle':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process),\r\n xAxisPoints = _drawCandleDataPoints.xAxisPoints,\r\n calPoints = _drawCandleDataPoints.calPoints,\r\n eachSpacing = _drawCandleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n if (seriesMA) {\r\n drawLegend(seriesMA, opts, config, context, opts.chartData);\r\n } else {\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n }\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n }\r\n}\r\n\r\nfunction uChartsEvent() {\r\n this.events = {};\r\n}\r\n\r\nuChartsEvent.prototype.addEventListener = function(type, listener) {\r\n this.events[type] = this.events[type] || [];\r\n this.events[type].push(listener);\r\n};\r\n\r\nuChartsEvent.prototype.delEventListener = function(type) {\r\n this.events[type] = [];\r\n};\r\n\r\nuChartsEvent.prototype.trigger = function() {\r\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key];\r\n }\r\n var type = args[0];\r\n var params = args.slice(1);\r\n if (!!this.events[type]) {\r\n this.events[type].forEach(function(listener) {\r\n try {\r\n listener.apply(null, params);\r\n } catch (e) {\r\n //console.log('[uCharts] '+e);\r\n }\r\n });\r\n }\r\n};\r\n\r\nvar uCharts = function uCharts(opts) {\r\n opts.pix = opts.pixelRatio ? opts.pixelRatio : 1;\r\n opts.fontSize = opts.fontSize ? opts.fontSize : 13;\r\n opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor;\r\n if (opts.background == \"\" || opts.background == \"none\") {\r\n opts.background = \"#FFFFFF\"\r\n }\r\n opts.title = assign({}, opts.title);\r\n opts.subtitle = assign({}, opts.subtitle);\r\n opts.duration = opts.duration ? opts.duration : 1000;\r\n opts.yAxis = assign({}, {\r\n data: [],\r\n showTitle: false,\r\n disabled: false,\r\n disableGrid: false,\r\n splitNumber: 5,\r\n gridType: 'solid',\r\n dashLength: 4 * opts.pix,\r\n gridColor: '#cccccc',\r\n padding: 10,\r\n fontColor: '#666666'\r\n }, opts.yAxis);\r\n opts.xAxis = assign({}, {\r\n rotateLabel: false,\r\n rotateAngle:45,\r\n disabled: false,\r\n disableGrid: false,\r\n splitNumber: 5,\r\n calibration:false,\r\n gridType: 'solid',\r\n dashLength: 4,\r\n scrollAlign: 'left',\r\n boundaryGap: 'center',\r\n axisLine: true,\r\n axisLineColor: '#cccccc'\r\n }, opts.xAxis);\r\n opts.xAxis.scrollPosition = opts.xAxis.scrollAlign;\r\n opts.legend = assign({}, {\r\n show: true,\r\n position: 'bottom',\r\n float: 'center',\r\n backgroundColor: 'rgba(0,0,0,0)',\r\n borderColor: 'rgba(0,0,0,0)',\r\n borderWidth: 0,\r\n padding: 5,\r\n margin: 5,\r\n itemGap: 10,\r\n fontSize: opts.fontSize,\r\n lineHeight: opts.fontSize,\r\n fontColor: opts.fontColor,\r\n formatter: {},\r\n hiddenColor: '#CECECE'\r\n }, opts.legend);\r\n opts.extra = assign({}, opts.extra);\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.animation = opts.animation ? true : false;\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.canvas2d = opts.canvas2d ? true : false;\r\n \r\n let config$$1 = assign({}, config);\r\n config$$1.color = opts.color ? opts.color : config$$1.color;\r\n if (opts.type == 'pie') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'ring') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'rose') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix;\r\n\r\n //屏幕旋转\r\n config$$1.rotate = opts.rotate;\r\n if (opts.rotate) {\r\n let tempWidth = opts.width;\r\n let tempHeight = opts.height;\r\n opts.width = tempHeight;\r\n opts.height = tempWidth;\r\n }\r\n\r\n //适配高分屏\r\n opts.padding = opts.padding ? opts.padding : config$$1.padding;\r\n config$$1.yAxisWidth = config.yAxisWidth * opts.pix;\r\n config$$1.xAxisHeight = config.xAxisHeight * opts.pix;\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n config$$1.xAxisHeight += 6 * opts.pix;\r\n }\r\n config$$1.fontSize = opts.fontSize * opts.pix;\r\n config$$1.titleFontSize = config.titleFontSize * opts.pix;\r\n config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix;\r\n config$$1.toolTipPadding = config.toolTipPadding * opts.pix;\r\n config$$1.toolTipLineHeight = config.toolTipLineHeight * opts.pix;\r\n if(!opts.context){\r\n throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!');\r\n }\r\n this.context = opts.context;\r\n if (!this.context.setTextAlign) {\r\n this.context.setStrokeStyle = function(e) {\r\n return this.strokeStyle = e;\r\n }\r\n this.context.setLineWidth = function(e) {\r\n return this.lineWidth = e;\r\n }\r\n this.context.setLineCap = function(e) {\r\n return this.lineCap = e;\r\n }\r\n this.context.setFontSize = function(e) {\r\n return this.font = e + \"px sans-serif\";\r\n }\r\n this.context.setFillStyle = function(e) {\r\n return this.fillStyle = e;\r\n }\r\n this.context.setTextAlign = function(e) {\r\n return this.textAlign = e;\r\n }\r\n this.context.draw = function() {}\r\n }\r\n //兼容NVUEsetLineDash\r\n if(!this.context.setLineDash){\r\n this.context.setLineDash = function(e) {}\r\n }\r\n opts.chartData = {};\r\n this.uevent = new uChartsEvent();\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts = opts;\r\n this.config = config$$1;\r\n drawCharts.call(this, opts.type, opts, config$$1, this.context);\r\n};\r\n\r\nuCharts.prototype.updateData = function() {\r\n let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n this.opts = assign({}, this.opts, data);\r\n this.opts.updateData = true;\r\n let scrollPosition = data.scrollPosition || 'current';\r\n switch (scrollPosition) {\r\n case 'current':\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n break;\r\n case 'left':\r\n this.opts._scrollDistance_ = 0;\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n break;\r\n case 'right':\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts._scrollDistance_ = offsetLeft;\r\n break;\r\n }\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.zoom = function() {\r\n var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount;\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n //当前屏幕中间点\r\n let centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2);\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = val.itemCount;\r\n //重新计算x轴偏移距离\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context),\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let centerLeft = eachSpacing * centerPoint;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = screenWidth / 2 - centerLeft;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.dobuleZoom = function(e) {\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n const tcs = e.changedTouches;\r\n if (tcs.length < 2) {\r\n return;\r\n }\r\n for (var i = 0; i < tcs.length; i++) {\r\n tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX;\r\n tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY;\r\n }\r\n const ntcs = [getTouches(tcs[0], this.opts, e),getTouches(tcs[1], this.opts, e)]; \r\n const xlength = Math.abs(ntcs[0].x - ntcs[1].x);\r\n // 记录初始的两指之间的数据\r\n if(!this.scrollOption.moveCount){\r\n let cts0 = {changedTouches:[{x:tcs[0].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n let cts1 = {changedTouches:[{x:tcs[1].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n if(this.opts.rotate){\r\n cts0 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[0].y}]};\r\n cts1 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[1].y}]};\r\n }\r\n const moveCurrent1 = this.getCurrentDataIndex(cts0).index;\r\n const moveCurrent2 = this.getCurrentDataIndex(cts1).index;\r\n const moveCount = Math.abs(moveCurrent1 - moveCurrent2);\r\n this.scrollOption.moveCount = moveCount;\r\n this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2);\r\n this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2);\r\n return;\r\n }\r\n \r\n let currentEachSpacing = xlength / this.scrollOption.moveCount;\r\n let itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing;\r\n itemCount = itemCount <= 2 ? 2 : itemCount;\r\n itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount;\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = itemCount;\r\n // 重新计算滚动条偏移距离\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let currentLeft = eachSpacing * this.scrollOption.moveCurrent1;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = -currentLeft+Math.min(ntcs[0].x,ntcs[1].x)-this.opts.area[3]-eachSpacing;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption.currentOffset= offsetLeft;\r\n this.scrollOption.startTouchX= 0;\r\n this.scrollOption.distance=0;\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n}\r\n\r\nuCharts.prototype.stopAnimation = function() {\r\n this.animationInstance && this.animationInstance.stop();\r\n};\r\n\r\nuCharts.prototype.addEventListener = function(type, listener) {\r\n this.uevent.addEventListener(type, listener);\r\n};\r\n\r\nuCharts.prototype.delEventListener = function(type) {\r\n this.uevent.delEventListener(type);\r\n};\r\n\r\nuCharts.prototype.getCurrentDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring') {\r\n return findPieChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'rose') {\r\n return findRoseChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'radar') {\r\n return findRadarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.radarData, this.opts.categories.length);\r\n } else if (this.opts.type === 'funnel') {\r\n return findFunnelChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.funnelData);\r\n } else if (this.opts.type === 'map') {\r\n return findMapChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts);\r\n } else if (this.opts.type === 'word') {\r\n return findWordChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.wordCloudData);\r\n } else if (this.opts.type === 'bar') {\r\n return findBarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n } else {\r\n return findCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.getLegendDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n return findLegendIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.legendData);\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.touchLegend = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var index = this.getLegendDataIndex(e);\r\n if (index >= 0) {\r\n if (this.opts.type == 'candle') {\r\n this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show;\r\n } else {\r\n this.opts.series[index].show = !this.opts.series[index].show;\r\n }\r\n this.opts.animation = option.animation ? true : false;\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n }\r\n }\r\n\r\n};\r\n\r\nuCharts.prototype.showToolTip = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (!touches) {\r\n console.log(\"[uCharts] 未获取到event坐标信息\");\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mount') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: opts.chartData.calPoints[index].x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n \r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'bar') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.x = _touches$.x;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mix') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option),\r\n textList = _getMixToolTipData.textList,\r\n offset = _getMixToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'candle') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'map') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n seriesData.name = seriesData.properties.name\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'word') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'radar') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var textList = seriesData.map((item) => {\r\n return {\r\n text: option.formatter ? option.formatter(item, this.opts.categories[index], index, this.opts) : item.name + ': ' + item.data,\r\n color: item.color\r\n };\r\n });\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n};\r\n\r\nuCharts.prototype.translate = function(distance) {\r\n this.scrollOption = {\r\n currentOffset: distance,\r\n startTouchX: distance,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n let opts = assign({}, this.opts, {\r\n _scrollDistance_: distance,\r\n animation: false\r\n });\r\n drawCharts.call(this, this.opts.type, opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.scrollStart = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n if (touches && this.opts.enableScroll === true) {\r\n this.scrollOption.startTouchX = _touches$.x;\r\n }\r\n};\r\n\r\nuCharts.prototype.scroll = function(e) {\r\n if (this.scrollOption.lastMoveTime === 0) {\r\n this.scrollOption.lastMoveTime = Date.now();\r\n }\r\n let Limit = this.opts.touchMoveLimit || 60;\r\n let currMoveTime = Date.now();\r\n let duration = currMoveTime - this.scrollOption.lastMoveTime;\r\n if (duration < Math.floor(1000 / Limit)) return;\r\n if (this.scrollOption.startTouchX == 0) return;\r\n this.scrollOption.lastMoveTime = currMoveTime;\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches && this.opts.enableScroll === true) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var _distance;\r\n _distance = _touches$.x - this.scrollOption.startTouchX;\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts);\r\n this.scrollOption.distance = _distance = validDistance - currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset + _distance,\r\n animation: false\r\n });\r\n\t\tthis.opts = opts;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n return currentOffset + _distance;\r\n }\r\n};\r\n\r\nuCharts.prototype.scrollEnd = function(e) {\r\n if (this.opts.enableScroll === true) {\r\n var _scrollOption = this.scrollOption,\r\n currentOffset = _scrollOption.currentOffset,\r\n distance = _scrollOption.distance;\r\n this.scrollOption.currentOffset = currentOffset + distance;\r\n this.scrollOption.distance = 0;\r\n this.scrollOption.moveCount = 0;\r\n }\r\n};\r\n\r\nexport default uCharts;","/*\r\n * uCharts®\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts®官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性\r\nconst color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];\r\n\r\n//事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改\r\nconst formatDateTime = (timeStamp, returnType)=>{\r\n var date = new Date();\r\n date.setTime(timeStamp * 1000);\r\n var y = date.getFullYear();\r\n var m = date.getMonth() + 1;\r\n m = m < 10 ? ('0' + m) : m;\r\n var d = date.getDate();\r\n d = d < 10 ? ('0' + d) : d;\r\n var h = date.getHours();\r\n h = h < 10 ? ('0' + h) : h;\r\n var minute = date.getMinutes();\r\n var second = date.getSeconds();\r\n minute = minute < 10 ? ('0' + minute) : minute;\r\n second = second < 10 ? ('0' + second) : second;\r\n if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;}\r\n if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;}\r\n if(returnType == 'h:m'){return h +':' + minute;}\r\n if(returnType == 'h:m:s'){return h +':' + minute +':' + second;}\r\n return [y, m, d, h, minute, second];\r\n}\r\n\r\nconst cfu = {\r\n //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可\r\n\t\"type\":[\"pie\",\"ring\",\"rose\",\"word\",\"funnel\",\"map\",\"arcbar\",\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"tline\",\"tarea\",\"scatter\",\"bubble\",\"demotype\"],\r\n\t\"range\":[\"饼状图\",\"圆环图\",\"玫瑰图\",\"词云图\",\"漏斗图\",\"地图\",\"圆弧进度条\",\"折线图\",\"柱状图\",\"山峰图\",\"条状图\",\"区域图\",\"雷达图\",\"仪表盘\",\"K线图\",\"混合图\",\"时间轴折线\",\"时间轴区域\",\"散点图\",\"气泡图\",\"自定义类型\"],\r\n //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的\"demotype\"\r\n //自定义类型时需要注意\"tline\",\"tarea\",\"scatter\",\"bubble\"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories\r\n\t\"categories\":[\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"demotype\"],\r\n //instance为实例变量承载属性,不要删除\r\n \"instance\":{},\r\n //option为opts及eopts承载属性,不要删除\r\n \"option\":{},\r\n //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换\r\n \"formatter\":{\r\n \"yAxisDemo1\":function(val, index, opts){return val+'元'},\r\n \"yAxisDemo2\":function(val, index, opts){return val.toFixed(2)},\r\n \"xAxisDemo1\":function(val, index, opts){return val+'年';},\r\n \"xAxisDemo2\":function(val, index, opts){return formatDateTime(val,'h:m')},\r\n \"seriesDemo1\":function(val, index, series, opts){return val+'元'},\r\n \"tooltipDemo1\":function(item, category, index, opts){\r\n if(index==0){\r\n \treturn '随便用'+item.data+'年'\r\n }else{\r\n \treturn '其他我没改'+item.data+'天'\r\n }\r\n },\r\n \"pieDemo\":function(val, index, series, opts){\r\n if(index !== undefined){\r\n return series[index].name+':'+series[index].data+'元'\r\n }\r\n },\r\n },\r\n //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type=\"demotype\" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。\r\n \"demotype\":{\r\n //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置\r\n \"type\": \"line\",\r\n \"color\": color,\r\n \"padding\": [15,10,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": true,\r\n },\r\n \"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"line\": {\r\n \t\t\"type\": \"curve\",\r\n \t\t\"width\": 2\r\n \t},\r\n }\r\n },\r\n //下面是自定义配置,请添加项目所需的通用配置\r\n\t\"pie\":{\r\n\t\t\"type\": \"pie\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"extra\": {\r\n\t\t\t\"pie\": {\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"ring\":{\r\n\t\t\"type\": \"ring\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"rotate\": false,\r\n\t\t\"dataLabel\": true,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"收益率\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"70%\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#7cb5ec\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"ring\": {\r\n\t\t\t\t\"ringWidth\":30,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\t\"rose\":{\r\n\t\t\"type\": \"rose\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"left\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"rose\": {\r\n\t\t\t\t\"type\": \"area\",\r\n\t\t\t\t\"minRadius\": 50,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": false,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"word\":{\r\n\t\t\"type\": \"word\",\r\n \"color\": color,\r\n\t\t\"extra\": {\r\n\t\t\t\"word\": {\r\n\t\t\t\t\"type\": \"normal\",\r\n\t\t\t\t\"autoColors\": false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"funnel\":{\r\n\t\t\"type\": \"funnel\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"extra\": {\r\n\t\t\t\"funnel\": {\r\n\t\t\t\t\"activeOpacity\": 0.3,\r\n\t\t\t\t\"activeWidth\": 10,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\",\r\n\t\t\t\t\"fillOpacity\": 1,\r\n\t\t\t\t\"labelAlign\": \"right\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"map\":{\r\n\t\t\"type\": \"map\",\r\n \"color\": color,\r\n\t\t\"padding\": [0,0,0,0],\r\n \"dataLabel\": true,\r\n\t\t\"extra\": {\r\n\t\t\t\"map\": {\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 1,\r\n\t\t\t\t\"borderColor\": \"#666666\",\r\n\t\t\t\t\"fillOpacity\": 0.6,\r\n\t\t\t\t\"activeBorderColor\": \"#F04864\",\r\n\t\t\t\t\"activeFillColor\": \"#FACC14\",\r\n\t\t\t\t\"activeFillOpacity\": 1\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"arcbar\":{\r\n\t\t\"type\": \"arcbar\",\r\n \"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"百分比\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#00FF00\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"默认标题\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"arcbar\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 12,\r\n\t\t\t\t\"backgroundColor\": \"#E9E9E9\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"gap\": 2\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"line\":{\r\n\t\t\"type\": \"line\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,10,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"width\": 2\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"tline\":{\r\n \t\"type\": \"line\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": false,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"line\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"width\": 2\r\n \t\t},\r\n \t}\r\n },\r\n \"tarea\":{\r\n \t\"type\": \"area\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"area\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"opacity\": 0.2,\r\n \t\t\t\"addLine\": true,\r\n \t\t\t\"width\": 2,\r\n \t\t\t\"gradient\": true\r\n \t\t},\r\n \t}\r\n },\r\n\t\"column\":{\r\n\t\t\"type\": \"column\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,5],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"column\": {\r\n\t\t\t\t\"type\": \"group\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"activeBgColor\": \"#000000\",\r\n\t\t\t\t\"activeBgOpacity\": 0.08\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"mount\":{\r\n \t\"type\": \"mount\",\r\n \"color\": color,\r\n \t\"padding\": [15,15,0,5],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \t},\r\n \t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"mount\": {\r\n \t\t\t\"type\": \"mount\",\r\n \t\t\t\"widthRatio\": 1.5,\r\n \t\t},\r\n \t}\r\n },\r\n \"bar\":{\r\n \t\"type\": \"bar\",\r\n \"color\": color,\r\n \t\"padding\": [15,30,0,5],\r\n \t\"xAxis\": {\r\n \"boundaryGap\":\"justify\",\r\n \"disableGrid\":false,\r\n \"min\":0,\r\n \"axisLine\":false\r\n \t},\r\n \t\"yAxis\": {\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"bar\": {\r\n \t\t\t\"type\": \"group\",\r\n \t\t\t\"width\": 30,\r\n \t\t\t\"meterBorde\": 1,\r\n \t\t\t\"meterFillColor\": \"#FFFFFF\",\r\n \t\t\t\"activeBgColor\": \"#000000\",\r\n \t\t\t\"activeBgOpacity\": 0.08\r\n \t\t},\r\n \t}\r\n },\r\n\t\"area\":{\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"addLine\": true,\r\n\t\t\t\t\"width\": 2,\r\n\t\t\t\t\"gradient\": false\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"radar\":{\r\n\t\t\"type\": \"radar\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n \"dataLabel\": false,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"radar\": {\r\n\t\t\t\t\"gridType\": \"radar\",\r\n\t\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\t\"gridCount\": 3,\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"max\": 200\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"gauge\":{\r\n\t\t\"type\": \"gauge\",\r\n\t\t\"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"66Km/H\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#2fc25b\",\r\n\t\t\t\"offsetY\": 50\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"实时速度\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#1890ff\",\r\n\t\t\t\"offsetY\": -50\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"gauge\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"labelColor\": \"#666666\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"startNumber\": 0,\r\n\t\t\t\t\"endNumber\": 100,\r\n\t\t\t\t\"labelFormat\": \"\",\r\n\t\t\t\t\"splitLine\": {\r\n\t\t\t\t\t\"fixRadius\": 0,\r\n\t\t\t\t\t\"splitNumber\": 10,\r\n\t\t\t\t\t\"width\": 30,\r\n\t\t\t\t\t\"color\": \"#FFFFFF\",\r\n\t\t\t\t\t\"childNumber\": 5,\r\n\t\t\t\t\t\"childWidth\": 12\r\n\t\t\t\t},\r\n\t\t\t\t\"pointer\": {\r\n\t\t\t\t\t\"width\": 24,\r\n\t\t\t\t\t\"color\": \"auto\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"candle\":{\r\n\t\t\"type\": \"candle\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"enableScroll\": true,\r\n\t\t\"enableMarkLine\": true,\r\n\t\t\"dataLabel\": false,\r\n\t\t\"xAxis\": {\r\n\t\t\t\"labelCount\": 4,\r\n\t\t\t\"itemCount\": 40,\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"gridType\": \"solid\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"scrollShow\": true,\r\n\t\t\t\"scrollAlign\": \"left\",\r\n\t\t\t\"scrollColor\": \"#A6A6A6\",\r\n\t\t\t\"scrollBackgroundColor\": \"#EFEBEF\"\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"candle\": {\r\n\t\t\t\t\"color\": {\r\n\t\t\t\t\t\"upLine\": \"#f04864\",\r\n\t\t\t\t\t\"upFill\": \"#f04864\",\r\n\t\t\t\t\t\"downLine\": \"#2fc25b\",\r\n\t\t\t\t\t\"downFill\": \"#2fc25b\"\r\n\t\t\t\t},\r\n\t\t\t\t\"average\": {\r\n\t\t\t\t\t\"show\": true,\r\n\t\t\t\t\t\"name\": [\"MA5\",\"MA10\",\"MA30\"],\r\n\t\t\t\t\t\"day\": [5,10,20],\r\n\t\t\t\t\t\"color\": [\"#1890ff\",\"#2fc25b\",\"#facc14\"]\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"markLine\": {\r\n\t\t\t\t\"type\": \"dash\",\r\n\t\t\t\t\"dashLength\": 5,\r\n\t\t\t\t\"data\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2150,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2350,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"mix\":{\r\n\t\t\"type\": \"mix\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disabled\": false,\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"padding\": 10,\r\n\t\t\t\"showTitle\": true,\r\n\t\t\t\"data\": []\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"mix\": {\r\n\t\t\t\t\"column\": {\r\n\t\t\t\t\t\"width\": 20\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"scatter\":{\r\n\t\t\"type\": \"scatter\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"dataLabel\":false,\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"scatter\": {\r\n \t},\r\n }\r\n\t},\r\n\t\"bubble\":{\r\n\t\t\"type\": \"bubble\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0,\r\n \"max\":250\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"data\":[{\r\n \"min\":0,\r\n \"max\":150\r\n }]\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"bubble\": {\r\n \"border\":2,\r\n \"opacity\": 0.5,\r\n \t},\r\n }\r\n\t}\r\n}\r\n\r\nexport default cfu;","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\n'use strict';\n\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors = { namespaced: { configurable: true } };\n\nprototypeAccessors.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n if ((process.env.NODE_ENV !== 'production')) {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1.state, path.slice(0, -1));\n Vue.delete(parentState, path[path.length - 1]);\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype[[104,111,116,85,112,100,97,116,101].map(function (item) {return String.fromCharCode(item)}).join('')] = function (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors$1 );\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computed = {};\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && (process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n if ((process.env.NODE_ENV !== 'production')) {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n Vue.set(parentState, moduleName, module.state);\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if ((process.env.NODE_ENV !== 'production') && !store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by vm update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if ((process.env.NODE_ENV !== 'production') && !(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if ((process.env.NODE_ENV !== 'production') && !isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if ((process.env.NODE_ENV !== 'production') && !module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index_cjs = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nmodule.exports = index_cjs;\n","import config from '../config.js'\r\nimport common from './alert.js'\r\nimport store from '../store.js'\r\n\r\nconst request = {\r\n\tgetToken(){\r\n\t\tlet user=store.state.token\r\n\t\t// console.log(user);\r\n\t\tif(user){\r\n\t\t\tthis.post(\"/api/Accounts/RefreshToken\",{token:user.token,refreshToken:user.refreshToken},(data,res)=>{\r\n\t\t\t\tstore.commit('saveToken', res)\r\n\t\t\t\tuni.setStorageSync(\"token\", res)\r\n\t\t\t})\r\n\t\t}else{\r\n\t\t\treturn\r\n\t\t}\r\n\t\t\r\n\t},\r\n\tuploadFile(filePath, callback) {\r\n\t\tconst user = store.state.token || {};\r\n\t\t// if(!user.lawyerInfo) return common.askLogin();\r\n\t\tconsole.log(filePath, callback,2222222);\r\n\t\tuni.uploadFile({\r\n\t\t\turl: config.domain + '/api/Objects/integration/xxx',\r\n\t\t\tfilePath: filePath,\r\n\t\t\tname: 'file',\r\n\t\t\theader: {\r\n\t\t\t\t'Authorization': \"Bearer \"+ user.token || '',\r\n\t\t\t},\r\n\t\t\tsuccess (res) {\r\n\t\t\t\tconsole.log(res,333333);\r\n\t\t\t\tconst data = JSON.parse(res.data);\r\n\t\t\t\tif (data.status == -100) {\r\n\t\t\t\t\tcommon.askLogin()\r\n\t\t\t\t} else if (data.status == -1) {\r\n\t\t\t\t\tcommon.showError(data.msg)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\t\r\n\tuploadFile2(filePath, formdata, callback) {\r\n\t\tconst user = store.state.user || {};\r\n\t\tif(!user.lawyerInfo) return common.askLogin();\r\n\t\tconsole.log('1111111111111'+filePath)\r\n\t\tconsole.log('2222222222222'+formdata)\r\n\t\tconsole.log('3333333333333'+callback)\r\n\t\tuni.uploadFile({\r\n\t\t\turl: config.domain + '/file/uploadFile2',\r\n\t\t\tfilePath: filePath,\r\n\t\t\tname: 'file',\r\n\t\t\tformData: formdata,\r\n\t\t\theader: {\r\n\t\t\t\t'token': user.lawyerInfo.token || '',\r\n\t\t\t\t'login_type': user.login_type || 0,\r\n\t\t\t\t'who': user.who\r\n\t\t\t},\r\n\t\t\tsuccess (res) {\r\n\t\t\t\tconsole.log(res)\r\n\t\t\t\tconst data = JSON.parse(res.data);\r\n\t\t\t\tif (data.status == -100) {\r\n\t\t\t\t\tcommon.askLogin()\r\n\t\t\t\t} else if (data.status == -1) {\r\n\t\t\t\t\tcommon.showError(data.msg)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\r\n\tasync get(url, data, callback) {\r\n\r\n\t\tthis.getToken()\r\n\t\tconst user = store.state.token || {};\r\n\t\tawait uni.request({\r\n\t\t\turl: config.api + url, // 仅为示例,并非真实的接口地址\r\n\t\t\tmethod: 'GET',\r\n\t\t\tdata: data,\r\n\t\t\theader: {\r\n\t\t\t\t'Authorization': \"Bearer \"+ user.token || '',\r\n\t\t\t\t'content-type': 'application/json'\r\n\t\t\t},\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tconst data = res.data;\r\n\t\t\t\t// console.log(data, '请求返回的数据', 1000000000000000)\r\n\t\t\t\tif (data.status == -100) {\r\n\t\t\t\t\tconsole.log('没有登录');\r\n\t\t\t\t\tcommon.askLogin()\r\n\t\t\t\t} else if (data.status == -1) {\r\n\t\t\t\t\tcommon.showError(data.msg)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\tpost(url, data, callback) {\r\n\t\t\r\n\t\tif(url!=\"/api/Accounts/RefreshToken\"&&user!={}){\r\n\t\t\tthis.getToken()\r\n\t\t}\r\n\t\tconst user = store.state.token || {};\r\n\t\ttry {\r\n\t\t\tuni.request({\r\n\t\t\t\turl: config.api + url, // 仅为示例,并非真实的接口地址\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tdata: data,\r\n\t\t\t\theader: {\r\n\t\t\t\t\t'Authorization': \"Bearer \"+ user.token || '',\r\n\t\t\t\t},\r\n\t\t\t\tsuccess(res) {\r\n\t\t\t\t\tconst data = res.data;\r\n\t\t\t\t\t// console.log(res, '------------- 请求返回的数据 -------------')\r\n\t\t\t\t\tif (data.status == -100) {\r\n\t\t\t\t\t\tconsole.log('没有登录');\r\n\t\t\t\t\t\tcommon.askLogin()\r\n\t\t\t\t\t} else if (data.status == -1) {\r\n\t\t\t\t\t\tcommon.showError(data.msg)\r\n\t\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// 第一个参数是data,第二个是全部数据,有时候会用到msg之类的数据,\r\n\t\t\t\t\t\t// 默认只要第一个值即可获取数据\r\n\t\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tfail: err => {\r\n\t\t\t\t\tconsole.error(err, 8877897)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t\t//TODO handle the exception\r\n\t\t}\r\n\t},\r\n\tpatch(url, data, callback) {\r\n\t\t\r\n\t\tif(url!=\"/api/Accounts/RefreshToken\"&&user!={}){\r\n\t\t\tthis.getToken()\r\n\t\t}\r\n\t\tconst user = store.state.token || {};\r\n\t\ttry {\r\n\t\t\tuni.request({\r\n\t\t\t\turl: config.api + url, // 仅为示例,并非真实的接口地址\r\n\t\t\t\tmethod: 'PATCH',\r\n\t\t\t\tdata: data,\r\n\t\t\t\theader: {\r\n\t\t\t\t\t'Authorization': \"Bearer \"+ user.token || '',\r\n\t\t\t\t},\r\n\t\t\t\tsuccess(res) {\r\n\t\t\t\t\tconst data = res.data;\r\n\t\t\t\t\t// console.log(res, '------------- 请求返回的数据 -------------')\r\n\t\t\t\t\tif (data.status == -100) {\r\n\t\t\t\t\t\tconsole.log('没有登录');\r\n\t\t\t\t\t\tcommon.askLogin()\r\n\t\t\t\t\t} else if (data.status == -1) {\r\n\t\t\t\t\t\tcommon.showError(data.msg)\r\n\t\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// 第一个参数是data,第二个是全部数据,有时候会用到msg之类的数据,\r\n\t\t\t\t\t\t// 默认只要第一个值即可获取数据\r\n\t\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tfail: err => {\r\n\t\t\t\t\tconsole.error(err, 8877897)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t\t//TODO handle the exception\r\n\t\t}\r\n\t},\r\n\tget2(url, data, callback) {\r\n\t\tconst user = store.state.user || {};\r\n\t\tuni.request({\r\n\t\t\turl: config.domain + url, // 仅为示例,并非真实的接口地址\r\n\t\t\tmethod: 'GET',\r\n\t\t\tdata: data,\r\n\t\t\theader: {\r\n\t\t\t\t'token': user.token || '',\r\n\t\t\t\t'login_type': user.login_type || 0\r\n\t\t\t},\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tconst data = res.data;\r\n\t\t\t\t// console.log(data, '请求返回的数据', 1000000000000000)\r\n\t\t\t\tif (data.status == -100) {\r\n\t\t\t\t\tconsole.log('没有登录');\r\n\t\t\t\t\tcommon.askLogin()\r\n\t\t\t\t} else if (data.status == -1) {\r\n\t\t\t\t\tcommon.showError(data.msg)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t},\r\n\t\r\n\tpost2(url, data, callback) {\r\n\t\tconst user = store.state.user || {};\r\n\t\ttry {\r\n\t\t\tuni.request({\r\n\t\t\t\turl: config.domain + url, // 仅为示例,并非真实的接口地址\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tdata: data,\r\n\t\t\t\theader: {\r\n\t\t\t\t\t'token': user.lawyerInfo.token || '',\r\n\t\t\t\t\t'login_type': user.login_type || 0,\r\n\t\t\t\t\t'who': user.who\r\n\t\t\t\t},\r\n\t\t\t\tsuccess(res) {\r\n\t\t\t\t\tconst data = res.data;\r\n\t\t\t\t\tconsole.log(data, '------------- 请求返回的数据 -------------')\r\n\t\t\t\t\tif (data.status == -100) {\r\n\t\t\t\t\t\tconsole.log('没有登录');\r\n\t\t\t\t\t\tcommon.askLogin()\r\n\t\t\t\t\t} else if (data.status == -1) {\r\n\t\t\t\t\t\tcommon.showError(data.msg)\r\n\t\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// 第一个参数是data,第二个是全部数据,有时候会用到msg之类的数据,\r\n\t\t\t\t\t\t// 默认只要第一个值即可获取数据\r\n\t\t\t\t\t\tcallback(data.data, data)\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tfail: err => {\r\n\t\t\t\t\tconsole.error(err, 8877897)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t\t//TODO handle the exception\r\n\t\t}\r\n\t},\r\n\t\r\n\t\r\n}\r\n\r\nexport default request\r\n","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() {\n return this || (typeof self === \"object\" && self);\n})() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() {\n return this || (typeof self === \"object\" && self);\n })() || Function(\"return this\")()\n);\n","const api = 'https://fx.anxincloud.cn';\nconst domain = 'https://fx.anxincloud.cn';\n\nconst devApi = 'https://121.36.37.70:8204';\nconst devDomain = 'https://121.36.37.70:8204';\n\nconst online = false; //是否线上模式\n\nexport default {\n domain: online ? domain : devDomain,\n api: online ? api : devApi\n}","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","const alert = {\r\n // 显示等待对话框\r\n showLoading: function(msg) {\r\n uni.showToast({\r\n title: msg,\r\n icon: \"loading\",\r\n duration: 100000\r\n });\r\n },\r\n // 隐藏等待对话框\r\n hideLoading: function(msg) {\r\n uni.hideToast();\r\n },\r\n // 成功\r\n showSuccess: function(msg) {\r\n uni.showToast({\r\n title: msg,\r\n icon: \"success\",\r\n duration: 2000\r\n });\r\n },\r\n //显示警告\r\n showWarning: function(msg) {\r\n uni.showToast({\r\n title: msg,\r\n icon: \"none\",\r\n duration: 2000\r\n });\r\n },\r\n\r\n showError: function(msg) {\r\n uni.showToast({\r\n title: msg,\r\n icon: \"none\",\r\n duration: 2000\r\n });\r\n },\r\n askLogin: function () {\r\n uni.showModal({\r\n title: '尚未登录',\r\n content: '前往授权登录页面吗?',\r\n success(res) {\r\n console.log(res)\r\n if (res.confirm) {\r\n uni.redirectTo({\r\n url: '/pages/login/login'\r\n })\r\n }\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport default alert","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","export default {\n \"id\": \"2852637\",\n \"name\": \"uniui图标库\",\n \"font_family\": \"uniicons\",\n \"css_prefix_text\": \"uniui-\",\n \"description\": \"\",\n \"glyphs\": [\n {\n \"icon_id\": \"25027049\",\n \"name\": \"yanse\",\n \"font_class\": \"color\",\n \"unicode\": \"e6cf\",\n \"unicode_decimal\": 59087\n },\n {\n \"icon_id\": \"25027048\",\n \"name\": \"wallet\",\n \"font_class\": \"wallet\",\n \"unicode\": \"e6b1\",\n \"unicode_decimal\": 59057\n },\n {\n \"icon_id\": \"25015720\",\n \"name\": \"settings-filled\",\n \"font_class\": \"settings-filled\",\n \"unicode\": \"e6ce\",\n \"unicode_decimal\": 59086\n },\n {\n \"icon_id\": \"25015434\",\n \"name\": \"shimingrenzheng-filled\",\n \"font_class\": \"auth-filled\",\n \"unicode\": \"e6cc\",\n \"unicode_decimal\": 59084\n },\n {\n \"icon_id\": \"24934246\",\n \"name\": \"shop-filled\",\n \"font_class\": \"shop-filled\",\n \"unicode\": \"e6cd\",\n \"unicode_decimal\": 59085\n },\n {\n \"icon_id\": \"24934159\",\n \"name\": \"staff-filled-01\",\n \"font_class\": \"staff-filled\",\n \"unicode\": \"e6cb\",\n \"unicode_decimal\": 59083\n },\n {\n \"icon_id\": \"24932461\",\n \"name\": \"VIP-filled\",\n \"font_class\": \"vip-filled\",\n \"unicode\": \"e6c6\",\n \"unicode_decimal\": 59078\n },\n {\n \"icon_id\": \"24932462\",\n \"name\": \"plus_circle_fill\",\n \"font_class\": \"plus-filled\",\n \"unicode\": \"e6c7\",\n \"unicode_decimal\": 59079\n },\n {\n \"icon_id\": \"24932463\",\n \"name\": \"folder_add-filled\",\n \"font_class\": \"folder-add-filled\",\n \"unicode\": \"e6c8\",\n \"unicode_decimal\": 59080\n },\n {\n \"icon_id\": \"24932464\",\n \"name\": \"yanse-filled\",\n \"font_class\": \"color-filled\",\n \"unicode\": \"e6c9\",\n \"unicode_decimal\": 59081\n },\n {\n \"icon_id\": \"24932465\",\n \"name\": \"tune-filled\",\n \"font_class\": \"tune-filled\",\n \"unicode\": \"e6ca\",\n \"unicode_decimal\": 59082\n },\n {\n \"icon_id\": \"24932455\",\n \"name\": \"a-rilidaka-filled\",\n \"font_class\": \"calendar-filled\",\n \"unicode\": \"e6c0\",\n \"unicode_decimal\": 59072\n },\n {\n \"icon_id\": \"24932456\",\n \"name\": \"notification-filled\",\n \"font_class\": \"notification-filled\",\n \"unicode\": \"e6c1\",\n \"unicode_decimal\": 59073\n },\n {\n \"icon_id\": \"24932457\",\n \"name\": \"wallet-filled\",\n \"font_class\": \"wallet-filled\",\n \"unicode\": \"e6c2\",\n \"unicode_decimal\": 59074\n },\n {\n \"icon_id\": \"24932458\",\n \"name\": \"paihangbang-filled\",\n \"font_class\": \"medal-filled\",\n \"unicode\": \"e6c3\",\n \"unicode_decimal\": 59075\n },\n {\n \"icon_id\": \"24932459\",\n \"name\": \"gift-filled\",\n \"font_class\": \"gift-filled\",\n \"unicode\": \"e6c4\",\n \"unicode_decimal\": 59076\n },\n {\n \"icon_id\": \"24932460\",\n \"name\": \"fire-filled\",\n \"font_class\": \"fire-filled\",\n \"unicode\": \"e6c5\",\n \"unicode_decimal\": 59077\n },\n {\n \"icon_id\": \"24928001\",\n \"name\": \"refreshempty\",\n \"font_class\": \"refreshempty\",\n \"unicode\": \"e6bf\",\n \"unicode_decimal\": 59071\n },\n {\n \"icon_id\": \"24926853\",\n \"name\": \"location-ellipse\",\n \"font_class\": \"location-filled\",\n \"unicode\": \"e6af\",\n \"unicode_decimal\": 59055\n },\n {\n \"icon_id\": \"24926735\",\n \"name\": \"person-filled\",\n \"font_class\": \"person-filled\",\n \"unicode\": \"e69d\",\n \"unicode_decimal\": 59037\n },\n {\n \"icon_id\": \"24926703\",\n \"name\": \"personadd-filled\",\n \"font_class\": \"personadd-filled\",\n \"unicode\": \"e698\",\n \"unicode_decimal\": 59032\n },\n {\n \"icon_id\": \"24923351\",\n \"name\": \"back\",\n \"font_class\": \"back\",\n \"unicode\": \"e6b9\",\n \"unicode_decimal\": 59065\n },\n {\n \"icon_id\": \"24923352\",\n \"name\": \"forward\",\n \"font_class\": \"forward\",\n \"unicode\": \"e6ba\",\n \"unicode_decimal\": 59066\n },\n {\n \"icon_id\": \"24923353\",\n \"name\": \"arrowthinright\",\n \"font_class\": \"arrow-right\",\n \"unicode\": \"e6bb\",\n \"unicode_decimal\": 59067\n },\n\t\t{\n\t\t \"icon_id\": \"24923353\",\n\t\t \"name\": \"arrowthinright\",\n\t\t \"font_class\": \"arrowthinright\",\n\t\t \"unicode\": \"e6bb\",\n\t\t \"unicode_decimal\": 59067\n\t\t},\n {\n \"icon_id\": \"24923354\",\n \"name\": \"arrowthinleft\",\n \"font_class\": \"arrow-left\",\n \"unicode\": \"e6bc\",\n \"unicode_decimal\": 59068\n },\n\t\t{\n\t\t \"icon_id\": \"24923354\",\n\t\t \"name\": \"arrowthinleft\",\n\t\t \"font_class\": \"arrowthinleft\",\n\t\t \"unicode\": \"e6bc\",\n\t\t \"unicode_decimal\": 59068\n\t\t},\n {\n \"icon_id\": \"24923355\",\n \"name\": \"arrowthinup\",\n \"font_class\": \"arrow-up\",\n \"unicode\": \"e6bd\",\n \"unicode_decimal\": 59069\n },\n\t\t{\n\t\t \"icon_id\": \"24923355\",\n\t\t \"name\": \"arrowthinup\",\n\t\t \"font_class\": \"arrowthinup\",\n\t\t \"unicode\": \"e6bd\",\n\t\t \"unicode_decimal\": 59069\n\t\t},\n {\n \"icon_id\": \"24923356\",\n \"name\": \"arrowthindown\",\n \"font_class\": \"arrow-down\",\n \"unicode\": \"e6be\",\n \"unicode_decimal\": 59070\n },{\n \"icon_id\": \"24923356\",\n \"name\": \"arrowthindown\",\n \"font_class\": \"arrowthindown\",\n \"unicode\": \"e6be\",\n \"unicode_decimal\": 59070\n },\n {\n \"icon_id\": \"24923349\",\n \"name\": \"arrowdown\",\n \"font_class\": \"bottom\",\n \"unicode\": \"e6b8\",\n \"unicode_decimal\": 59064\n },{\n \"icon_id\": \"24923349\",\n \"name\": \"arrowdown\",\n \"font_class\": \"arrowdown\",\n \"unicode\": \"e6b8\",\n \"unicode_decimal\": 59064\n },\n {\n \"icon_id\": \"24923346\",\n \"name\": \"arrowright\",\n \"font_class\": \"right\",\n \"unicode\": \"e6b5\",\n \"unicode_decimal\": 59061\n },\n\t\t{\n\t\t \"icon_id\": \"24923346\",\n\t\t \"name\": \"arrowright\",\n\t\t \"font_class\": \"arrowright\",\n\t\t \"unicode\": \"e6b5\",\n\t\t \"unicode_decimal\": 59061\n\t\t},\n {\n \"icon_id\": \"24923347\",\n \"name\": \"arrowup\",\n \"font_class\": \"top\",\n \"unicode\": \"e6b6\",\n \"unicode_decimal\": 59062\n },\n\t\t{\n\t\t \"icon_id\": \"24923347\",\n\t\t \"name\": \"arrowup\",\n\t\t \"font_class\": \"arrowup\",\n\t\t \"unicode\": \"e6b6\",\n\t\t \"unicode_decimal\": 59062\n\t\t},\n {\n \"icon_id\": \"24923348\",\n \"name\": \"arrowleft\",\n \"font_class\": \"left\",\n \"unicode\": \"e6b7\",\n \"unicode_decimal\": 59063\n },\n\t\t{\n\t\t \"icon_id\": \"24923348\",\n\t\t \"name\": \"arrowleft\",\n\t\t \"font_class\": \"arrowleft\",\n\t\t \"unicode\": \"e6b7\",\n\t\t \"unicode_decimal\": 59063\n\t\t},\n {\n \"icon_id\": \"24923334\",\n \"name\": \"eye\",\n \"font_class\": \"eye\",\n \"unicode\": \"e651\",\n \"unicode_decimal\": 58961\n },\n {\n \"icon_id\": \"24923335\",\n \"name\": \"eye-filled\",\n \"font_class\": \"eye-filled\",\n \"unicode\": \"e66a\",\n \"unicode_decimal\": 58986\n },\n {\n \"icon_id\": \"24923336\",\n \"name\": \"eye-slash\",\n \"font_class\": \"eye-slash\",\n \"unicode\": \"e6b3\",\n \"unicode_decimal\": 59059\n },\n {\n \"icon_id\": \"24923337\",\n \"name\": \"eye-slash-filled\",\n \"font_class\": \"eye-slash-filled\",\n \"unicode\": \"e6b4\",\n \"unicode_decimal\": 59060\n },\n {\n \"icon_id\": \"24923305\",\n \"name\": \"info-filled\",\n \"font_class\": \"info-filled\",\n \"unicode\": \"e649\",\n \"unicode_decimal\": 58953\n },\n {\n \"icon_id\": \"24923299\",\n \"name\": \"reload-01\",\n \"font_class\": \"reload\",\n \"unicode\": \"e6b2\",\n \"unicode_decimal\": 59058\n },\n {\n \"icon_id\": \"24923195\",\n \"name\": \"mic_slash_fill\",\n \"font_class\": \"micoff-filled\",\n \"unicode\": \"e6b0\",\n \"unicode_decimal\": 59056\n },\n {\n \"icon_id\": \"24923165\",\n \"name\": \"map-pin-ellipse\",\n \"font_class\": \"map-pin-ellipse\",\n \"unicode\": \"e6ac\",\n \"unicode_decimal\": 59052\n },\n {\n \"icon_id\": \"24923166\",\n \"name\": \"map-pin\",\n \"font_class\": \"map-pin\",\n \"unicode\": \"e6ad\",\n \"unicode_decimal\": 59053\n },\n {\n \"icon_id\": \"24923167\",\n \"name\": \"location\",\n \"font_class\": \"location\",\n \"unicode\": \"e6ae\",\n \"unicode_decimal\": 59054\n },\n {\n \"icon_id\": \"24923064\",\n \"name\": \"starhalf\",\n \"font_class\": \"starhalf\",\n \"unicode\": \"e683\",\n \"unicode_decimal\": 59011\n },\n {\n \"icon_id\": \"24923065\",\n \"name\": \"star\",\n \"font_class\": \"star\",\n \"unicode\": \"e688\",\n \"unicode_decimal\": 59016\n },\n {\n \"icon_id\": \"24923066\",\n \"name\": \"star-filled\",\n \"font_class\": \"star-filled\",\n \"unicode\": \"e68f\",\n \"unicode_decimal\": 59023\n },\n {\n \"icon_id\": \"24899646\",\n \"name\": \"a-rilidaka\",\n \"font_class\": \"calendar\",\n \"unicode\": \"e6a0\",\n \"unicode_decimal\": 59040\n },\n {\n \"icon_id\": \"24899647\",\n \"name\": \"fire\",\n \"font_class\": \"fire\",\n \"unicode\": \"e6a1\",\n \"unicode_decimal\": 59041\n },\n {\n \"icon_id\": \"24899648\",\n \"name\": \"paihangbang\",\n \"font_class\": \"medal\",\n \"unicode\": \"e6a2\",\n \"unicode_decimal\": 59042\n },\n {\n \"icon_id\": \"24899649\",\n \"name\": \"font\",\n \"font_class\": \"font\",\n \"unicode\": \"e6a3\",\n \"unicode_decimal\": 59043\n },\n {\n \"icon_id\": \"24899650\",\n \"name\": \"gift\",\n \"font_class\": \"gift\",\n \"unicode\": \"e6a4\",\n \"unicode_decimal\": 59044\n },\n {\n \"icon_id\": \"24899651\",\n \"name\": \"link\",\n \"font_class\": \"link\",\n \"unicode\": \"e6a5\",\n \"unicode_decimal\": 59045\n },\n {\n \"icon_id\": \"24899652\",\n \"name\": \"notification\",\n \"font_class\": \"notification\",\n \"unicode\": \"e6a6\",\n \"unicode_decimal\": 59046\n },\n {\n \"icon_id\": \"24899653\",\n \"name\": \"staff\",\n \"font_class\": \"staff\",\n \"unicode\": \"e6a7\",\n \"unicode_decimal\": 59047\n },\n {\n \"icon_id\": \"24899654\",\n \"name\": \"VIP\",\n \"font_class\": \"vip\",\n \"unicode\": \"e6a8\",\n \"unicode_decimal\": 59048\n },\n {\n \"icon_id\": \"24899655\",\n \"name\": \"folder_add\",\n \"font_class\": \"folder-add\",\n \"unicode\": \"e6a9\",\n \"unicode_decimal\": 59049\n },\n {\n \"icon_id\": \"24899656\",\n \"name\": \"tune\",\n \"font_class\": \"tune\",\n \"unicode\": \"e6aa\",\n \"unicode_decimal\": 59050\n },\n {\n \"icon_id\": \"24899657\",\n \"name\": \"shimingrenzheng\",\n \"font_class\": \"auth\",\n \"unicode\": \"e6ab\",\n \"unicode_decimal\": 59051\n },\n {\n \"icon_id\": \"24899565\",\n \"name\": \"person\",\n \"font_class\": \"person\",\n \"unicode\": \"e699\",\n \"unicode_decimal\": 59033\n },\n {\n \"icon_id\": \"24899566\",\n \"name\": \"email-filled\",\n \"font_class\": \"email-filled\",\n \"unicode\": \"e69a\",\n \"unicode_decimal\": 59034\n },\n {\n \"icon_id\": \"24899567\",\n \"name\": \"phone-filled\",\n \"font_class\": \"phone-filled\",\n \"unicode\": \"e69b\",\n \"unicode_decimal\": 59035\n },\n {\n \"icon_id\": \"24899568\",\n \"name\": \"phone\",\n \"font_class\": \"phone\",\n \"unicode\": \"e69c\",\n \"unicode_decimal\": 59036\n },\n {\n \"icon_id\": \"24899570\",\n \"name\": \"email\",\n \"font_class\": \"email\",\n \"unicode\": \"e69e\",\n \"unicode_decimal\": 59038\n },\n {\n \"icon_id\": \"24899571\",\n \"name\": \"personadd\",\n \"font_class\": \"personadd\",\n \"unicode\": \"e69f\",\n \"unicode_decimal\": 59039\n },\n {\n \"icon_id\": \"24899558\",\n \"name\": \"chatboxes-filled\",\n \"font_class\": \"chatboxes-filled\",\n \"unicode\": \"e692\",\n \"unicode_decimal\": 59026\n },\n {\n \"icon_id\": \"24899559\",\n \"name\": \"contact\",\n \"font_class\": \"contact\",\n \"unicode\": \"e693\",\n \"unicode_decimal\": 59027\n },\n {\n \"icon_id\": \"24899560\",\n \"name\": \"chatbubble-filled\",\n \"font_class\": \"chatbubble-filled\",\n \"unicode\": \"e694\",\n \"unicode_decimal\": 59028\n },\n {\n \"icon_id\": \"24899561\",\n \"name\": \"contact-filled\",\n \"font_class\": \"contact-filled\",\n \"unicode\": \"e695\",\n \"unicode_decimal\": 59029\n },\n {\n \"icon_id\": \"24899562\",\n \"name\": \"chatboxes\",\n \"font_class\": \"chatboxes\",\n \"unicode\": \"e696\",\n \"unicode_decimal\": 59030\n },\n {\n \"icon_id\": \"24899563\",\n \"name\": \"chatbubble\",\n \"font_class\": \"chatbubble\",\n \"unicode\": \"e697\",\n \"unicode_decimal\": 59031\n },\n {\n \"icon_id\": \"24881290\",\n \"name\": \"upload-filled\",\n \"font_class\": \"upload-filled\",\n \"unicode\": \"e68e\",\n \"unicode_decimal\": 59022\n },\n {\n \"icon_id\": \"24881292\",\n \"name\": \"upload\",\n \"font_class\": \"upload\",\n \"unicode\": \"e690\",\n \"unicode_decimal\": 59024\n },\n {\n \"icon_id\": \"24881293\",\n \"name\": \"weixin\",\n \"font_class\": \"weixin\",\n \"unicode\": \"e691\",\n \"unicode_decimal\": 59025\n },\n {\n \"icon_id\": \"24881274\",\n \"name\": \"compose\",\n \"font_class\": \"compose\",\n \"unicode\": \"e67f\",\n \"unicode_decimal\": 59007\n },\n {\n \"icon_id\": \"24881275\",\n \"name\": \"qq\",\n \"font_class\": \"qq\",\n \"unicode\": \"e680\",\n \"unicode_decimal\": 59008\n },\n {\n \"icon_id\": \"24881276\",\n \"name\": \"download-filled\",\n \"font_class\": \"download-filled\",\n \"unicode\": \"e681\",\n \"unicode_decimal\": 59009\n },\n {\n \"icon_id\": \"24881277\",\n \"name\": \"pengyouquan\",\n \"font_class\": \"pyq\",\n \"unicode\": \"e682\",\n \"unicode_decimal\": 59010\n },\n {\n \"icon_id\": \"24881279\",\n \"name\": \"sound\",\n \"font_class\": \"sound\",\n \"unicode\": \"e684\",\n \"unicode_decimal\": 59012\n },\n {\n \"icon_id\": \"24881280\",\n \"name\": \"trash-filled\",\n \"font_class\": \"trash-filled\",\n \"unicode\": \"e685\",\n \"unicode_decimal\": 59013\n },\n {\n \"icon_id\": \"24881281\",\n \"name\": \"sound-filled\",\n \"font_class\": \"sound-filled\",\n \"unicode\": \"e686\",\n \"unicode_decimal\": 59014\n },\n {\n \"icon_id\": \"24881282\",\n \"name\": \"trash\",\n \"font_class\": \"trash\",\n \"unicode\": \"e687\",\n \"unicode_decimal\": 59015\n },\n {\n \"icon_id\": \"24881284\",\n \"name\": \"videocam-filled\",\n \"font_class\": \"videocam-filled\",\n \"unicode\": \"e689\",\n \"unicode_decimal\": 59017\n },\n {\n \"icon_id\": \"24881285\",\n \"name\": \"spinner-cycle\",\n \"font_class\": \"spinner-cycle\",\n \"unicode\": \"e68a\",\n \"unicode_decimal\": 59018\n },\n {\n \"icon_id\": \"24881286\",\n \"name\": \"weibo\",\n \"font_class\": \"weibo\",\n \"unicode\": \"e68b\",\n \"unicode_decimal\": 59019\n },\n {\n \"icon_id\": \"24881288\",\n \"name\": \"videocam\",\n \"font_class\": \"videocam\",\n \"unicode\": \"e68c\",\n \"unicode_decimal\": 59020\n },\n {\n \"icon_id\": \"24881289\",\n \"name\": \"download\",\n \"font_class\": \"download\",\n \"unicode\": \"e68d\",\n \"unicode_decimal\": 59021\n },\n {\n \"icon_id\": \"24879601\",\n \"name\": \"help\",\n \"font_class\": \"help\",\n \"unicode\": \"e679\",\n \"unicode_decimal\": 59001\n },\n {\n \"icon_id\": \"24879602\",\n \"name\": \"navigate-filled\",\n \"font_class\": \"navigate-filled\",\n \"unicode\": \"e67a\",\n \"unicode_decimal\": 59002\n },\n {\n \"icon_id\": \"24879603\",\n \"name\": \"plusempty\",\n \"font_class\": \"plusempty\",\n \"unicode\": \"e67b\",\n \"unicode_decimal\": 59003\n },\n {\n \"icon_id\": \"24879604\",\n \"name\": \"smallcircle\",\n \"font_class\": \"smallcircle\",\n \"unicode\": \"e67c\",\n \"unicode_decimal\": 59004\n },\n {\n \"icon_id\": \"24879605\",\n \"name\": \"minus-filled\",\n \"font_class\": \"minus-filled\",\n \"unicode\": \"e67d\",\n \"unicode_decimal\": 59005\n },\n {\n \"icon_id\": \"24879606\",\n \"name\": \"micoff\",\n \"font_class\": \"micoff\",\n \"unicode\": \"e67e\",\n \"unicode_decimal\": 59006\n },\n {\n \"icon_id\": \"24879588\",\n \"name\": \"closeempty\",\n \"font_class\": \"closeempty\",\n \"unicode\": \"e66c\",\n \"unicode_decimal\": 58988\n },\n {\n \"icon_id\": \"24879589\",\n \"name\": \"clear\",\n \"font_class\": \"clear\",\n \"unicode\": \"e66d\",\n \"unicode_decimal\": 58989\n },\n {\n \"icon_id\": \"24879590\",\n \"name\": \"navigate\",\n \"font_class\": \"navigate\",\n \"unicode\": \"e66e\",\n \"unicode_decimal\": 58990\n },\n {\n \"icon_id\": \"24879591\",\n \"name\": \"minus\",\n \"font_class\": \"minus\",\n \"unicode\": \"e66f\",\n \"unicode_decimal\": 58991\n },\n {\n \"icon_id\": \"24879592\",\n \"name\": \"image\",\n \"font_class\": \"image\",\n \"unicode\": \"e670\",\n \"unicode_decimal\": 58992\n },\n {\n \"icon_id\": \"24879593\",\n \"name\": \"mic\",\n \"font_class\": \"mic\",\n \"unicode\": \"e671\",\n \"unicode_decimal\": 58993\n },\n {\n \"icon_id\": \"24879594\",\n \"name\": \"paperplane\",\n \"font_class\": \"paperplane\",\n \"unicode\": \"e672\",\n \"unicode_decimal\": 58994\n },\n {\n \"icon_id\": \"24879595\",\n \"name\": \"close\",\n \"font_class\": \"close\",\n \"unicode\": \"e673\",\n \"unicode_decimal\": 58995\n },\n {\n \"icon_id\": \"24879596\",\n \"name\": \"help-filled\",\n \"font_class\": \"help-filled\",\n \"unicode\": \"e674\",\n \"unicode_decimal\": 58996\n },\n {\n \"icon_id\": \"24879597\",\n \"name\": \"plus-filled\",\n \"font_class\": \"paperplane-filled\",\n \"unicode\": \"e675\",\n \"unicode_decimal\": 58997\n },\n {\n \"icon_id\": \"24879598\",\n \"name\": \"plus\",\n \"font_class\": \"plus\",\n \"unicode\": \"e676\",\n \"unicode_decimal\": 58998\n },\n {\n \"icon_id\": \"24879599\",\n \"name\": \"mic-filled\",\n \"font_class\": \"mic-filled\",\n \"unicode\": \"e677\",\n \"unicode_decimal\": 58999\n },\n {\n \"icon_id\": \"24879600\",\n \"name\": \"image-filled\",\n \"font_class\": \"image-filled\",\n \"unicode\": \"e678\",\n \"unicode_decimal\": 59000\n },\n {\n \"icon_id\": \"24855900\",\n \"name\": \"locked-filled\",\n \"font_class\": \"locked-filled\",\n \"unicode\": \"e668\",\n \"unicode_decimal\": 58984\n },\n {\n \"icon_id\": \"24855901\",\n \"name\": \"info\",\n \"font_class\": \"info\",\n \"unicode\": \"e669\",\n \"unicode_decimal\": 58985\n },\n {\n \"icon_id\": \"24855903\",\n \"name\": \"locked\",\n \"font_class\": \"locked\",\n \"unicode\": \"e66b\",\n \"unicode_decimal\": 58987\n },\n {\n \"icon_id\": \"24855884\",\n \"name\": \"camera-filled\",\n \"font_class\": \"camera-filled\",\n \"unicode\": \"e658\",\n \"unicode_decimal\": 58968\n },\n {\n \"icon_id\": \"24855885\",\n \"name\": \"chat-filled\",\n \"font_class\": \"chat-filled\",\n \"unicode\": \"e659\",\n \"unicode_decimal\": 58969\n },\n {\n \"icon_id\": \"24855886\",\n \"name\": \"camera\",\n \"font_class\": \"camera\",\n \"unicode\": \"e65a\",\n \"unicode_decimal\": 58970\n },\n {\n \"icon_id\": \"24855887\",\n \"name\": \"circle\",\n \"font_class\": \"circle\",\n \"unicode\": \"e65b\",\n \"unicode_decimal\": 58971\n },\n {\n \"icon_id\": \"24855888\",\n \"name\": \"checkmarkempty\",\n \"font_class\": \"checkmarkempty\",\n \"unicode\": \"e65c\",\n \"unicode_decimal\": 58972\n },\n {\n \"icon_id\": \"24855889\",\n \"name\": \"chat\",\n \"font_class\": \"chat\",\n \"unicode\": \"e65d\",\n \"unicode_decimal\": 58973\n },\n {\n \"icon_id\": \"24855890\",\n \"name\": \"circle-filled\",\n \"font_class\": \"circle-filled\",\n \"unicode\": \"e65e\",\n \"unicode_decimal\": 58974\n },\n {\n \"icon_id\": \"24855891\",\n \"name\": \"flag\",\n \"font_class\": \"flag\",\n \"unicode\": \"e65f\",\n \"unicode_decimal\": 58975\n },\n {\n \"icon_id\": \"24855892\",\n \"name\": \"flag-filled\",\n \"font_class\": \"flag-filled\",\n \"unicode\": \"e660\",\n \"unicode_decimal\": 58976\n },\n {\n \"icon_id\": \"24855893\",\n \"name\": \"gear-filled\",\n \"font_class\": \"gear-filled\",\n \"unicode\": \"e661\",\n \"unicode_decimal\": 58977\n },\n {\n \"icon_id\": \"24855894\",\n \"name\": \"home\",\n \"font_class\": \"home\",\n \"unicode\": \"e662\",\n \"unicode_decimal\": 58978\n },\n {\n \"icon_id\": \"24855895\",\n \"name\": \"home-filled\",\n \"font_class\": \"home-filled\",\n \"unicode\": \"e663\",\n \"unicode_decimal\": 58979\n },\n {\n \"icon_id\": \"24855896\",\n \"name\": \"gear\",\n \"font_class\": \"gear\",\n \"unicode\": \"e664\",\n \"unicode_decimal\": 58980\n },\n {\n \"icon_id\": \"24855897\",\n \"name\": \"smallcircle-filled\",\n \"font_class\": \"smallcircle-filled\",\n \"unicode\": \"e665\",\n \"unicode_decimal\": 58981\n },\n {\n \"icon_id\": \"24855898\",\n \"name\": \"map-filled\",\n \"font_class\": \"map-filled\",\n \"unicode\": \"e666\",\n \"unicode_decimal\": 58982\n },\n {\n \"icon_id\": \"24855899\",\n \"name\": \"map\",\n \"font_class\": \"map\",\n \"unicode\": \"e667\",\n \"unicode_decimal\": 58983\n },\n {\n \"icon_id\": \"24855825\",\n \"name\": \"refresh-filled\",\n \"font_class\": \"refresh-filled\",\n \"unicode\": \"e656\",\n \"unicode_decimal\": 58966\n },\n {\n \"icon_id\": \"24855826\",\n \"name\": \"refresh\",\n \"font_class\": \"refresh\",\n \"unicode\": \"e657\",\n \"unicode_decimal\": 58967\n },\n {\n \"icon_id\": \"24855808\",\n \"name\": \"cloud-upload\",\n \"font_class\": \"cloud-upload\",\n \"unicode\": \"e645\",\n \"unicode_decimal\": 58949\n },\n {\n \"icon_id\": \"24855809\",\n \"name\": \"cloud-download-filled\",\n \"font_class\": \"cloud-download-filled\",\n \"unicode\": \"e646\",\n \"unicode_decimal\": 58950\n },\n {\n \"icon_id\": \"24855810\",\n \"name\": \"cloud-download\",\n \"font_class\": \"cloud-download\",\n \"unicode\": \"e647\",\n \"unicode_decimal\": 58951\n },\n {\n \"icon_id\": \"24855811\",\n \"name\": \"cloud-upload-filled\",\n \"font_class\": \"cloud-upload-filled\",\n \"unicode\": \"e648\",\n \"unicode_decimal\": 58952\n },\n {\n \"icon_id\": \"24855813\",\n \"name\": \"redo\",\n \"font_class\": \"redo\",\n \"unicode\": \"e64a\",\n \"unicode_decimal\": 58954\n },\n {\n \"icon_id\": \"24855814\",\n \"name\": \"images-filled\",\n \"font_class\": \"images-filled\",\n \"unicode\": \"e64b\",\n \"unicode_decimal\": 58955\n },\n {\n \"icon_id\": \"24855815\",\n \"name\": \"undo-filled\",\n \"font_class\": \"undo-filled\",\n \"unicode\": \"e64c\",\n \"unicode_decimal\": 58956\n },\n {\n \"icon_id\": \"24855816\",\n \"name\": \"more\",\n \"font_class\": \"more\",\n \"unicode\": \"e64d\",\n \"unicode_decimal\": 58957\n },\n {\n \"icon_id\": \"24855817\",\n \"name\": \"more-filled\",\n \"font_class\": \"more-filled\",\n \"unicode\": \"e64e\",\n \"unicode_decimal\": 58958\n },\n {\n \"icon_id\": \"24855818\",\n \"name\": \"undo\",\n \"font_class\": \"undo\",\n \"unicode\": \"e64f\",\n \"unicode_decimal\": 58959\n },\n {\n \"icon_id\": \"24855819\",\n \"name\": \"images\",\n \"font_class\": \"images\",\n \"unicode\": \"e650\",\n \"unicode_decimal\": 58960\n },\n {\n \"icon_id\": \"24855821\",\n \"name\": \"paperclip\",\n \"font_class\": \"paperclip\",\n \"unicode\": \"e652\",\n \"unicode_decimal\": 58962\n },\n {\n \"icon_id\": \"24855822\",\n \"name\": \"settings\",\n \"font_class\": \"settings\",\n \"unicode\": \"e653\",\n \"unicode_decimal\": 58963\n },\n {\n \"icon_id\": \"24855823\",\n \"name\": \"search\",\n \"font_class\": \"search\",\n \"unicode\": \"e654\",\n \"unicode_decimal\": 58964\n },\n {\n \"icon_id\": \"24855824\",\n \"name\": \"redo-filled\",\n \"font_class\": \"redo-filled\",\n \"unicode\": \"e655\",\n \"unicode_decimal\": 58965\n },\n {\n \"icon_id\": \"24841702\",\n \"name\": \"list\",\n \"font_class\": \"list\",\n \"unicode\": \"e644\",\n \"unicode_decimal\": 58948\n },\n {\n \"icon_id\": \"24841489\",\n \"name\": \"mail-open-filled\",\n \"font_class\": \"mail-open-filled\",\n \"unicode\": \"e63a\",\n \"unicode_decimal\": 58938\n },\n {\n \"icon_id\": \"24841491\",\n \"name\": \"hand-thumbsdown-filled\",\n \"font_class\": \"hand-down-filled\",\n \"unicode\": \"e63c\",\n \"unicode_decimal\": 58940\n },\n {\n \"icon_id\": \"24841492\",\n \"name\": \"hand-thumbsdown\",\n \"font_class\": \"hand-down\",\n \"unicode\": \"e63d\",\n \"unicode_decimal\": 58941\n },\n {\n \"icon_id\": \"24841493\",\n \"name\": \"hand-thumbsup-filled\",\n \"font_class\": \"hand-up-filled\",\n \"unicode\": \"e63e\",\n \"unicode_decimal\": 58942\n },\n {\n \"icon_id\": \"24841494\",\n \"name\": \"hand-thumbsup\",\n \"font_class\": \"hand-up\",\n \"unicode\": \"e63f\",\n \"unicode_decimal\": 58943\n },\n {\n \"icon_id\": \"24841496\",\n \"name\": \"heart-filled\",\n \"font_class\": \"heart-filled\",\n \"unicode\": \"e641\",\n \"unicode_decimal\": 58945\n },\n {\n \"icon_id\": \"24841498\",\n \"name\": \"mail-open\",\n \"font_class\": \"mail-open\",\n \"unicode\": \"e643\",\n \"unicode_decimal\": 58947\n },\n {\n \"icon_id\": \"24841488\",\n \"name\": \"heart\",\n \"font_class\": \"heart\",\n \"unicode\": \"e639\",\n \"unicode_decimal\": 58937\n },\n {\n \"icon_id\": \"24839963\",\n \"name\": \"loop\",\n \"font_class\": \"loop\",\n \"unicode\": \"e633\",\n \"unicode_decimal\": 58931\n },\n {\n \"icon_id\": \"24839866\",\n \"name\": \"pulldown\",\n \"font_class\": \"pulldown\",\n \"unicode\": \"e632\",\n \"unicode_decimal\": 58930\n },\n {\n \"icon_id\": \"24813798\",\n \"name\": \"scan\",\n \"font_class\": \"scan\",\n \"unicode\": \"e62a\",\n \"unicode_decimal\": 58922\n },\n {\n \"icon_id\": \"24813786\",\n \"name\": \"bars\",\n \"font_class\": \"bars\",\n \"unicode\": \"e627\",\n \"unicode_decimal\": 58919\n },\n {\n \"icon_id\": \"24813788\",\n \"name\": \"cart-filled\",\n \"font_class\": \"cart-filled\",\n \"unicode\": \"e629\",\n \"unicode_decimal\": 58921\n },\n {\n \"icon_id\": \"24813790\",\n \"name\": \"checkbox\",\n \"font_class\": \"checkbox\",\n \"unicode\": \"e62b\",\n \"unicode_decimal\": 58923\n },\n {\n \"icon_id\": \"24813791\",\n \"name\": \"checkbox-filled\",\n \"font_class\": \"checkbox-filled\",\n \"unicode\": \"e62c\",\n \"unicode_decimal\": 58924\n },\n {\n \"icon_id\": \"24813794\",\n \"name\": \"shop\",\n \"font_class\": \"shop\",\n \"unicode\": \"e62f\",\n \"unicode_decimal\": 58927\n },\n {\n \"icon_id\": \"24813795\",\n \"name\": \"headphones\",\n \"font_class\": \"headphones\",\n \"unicode\": \"e630\",\n \"unicode_decimal\": 58928\n },\n {\n \"icon_id\": \"24813796\",\n \"name\": \"cart\",\n \"font_class\": \"cart\",\n \"unicode\": \"e631\",\n \"unicode_decimal\": 58929\n }\n ]\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar formats = require('./formats');\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) { // eslint-disable-line func-name-matching\n return prefix + '[]';\n },\n indices: function indices(prefix, key) { // eslint-disable-line func-name-matching\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) { // eslint-disable-line func-name-matching\n return prefix;\n }\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaults = {\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar stringify = function stringify( // eslint-disable-line func-name-matching\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n) {\n var obj = object;\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix;\n }\n\n obj = '';\n }\n\n if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean' || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder);\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (Array.isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n if (Array.isArray(obj)) {\n values = values.concat(stringify(\n obj[key],\n generateArrayPrefix(prefix, key),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n } else {\n values = values.concat(stringify(\n obj[key],\n prefix + (allowDots ? '.' + key : '[' + key + ']'),\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n }\n\n return values;\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var delimiter = typeof options.delimiter === 'undefined' ? defaults.delimiter : options.delimiter;\n var strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n var skipNulls = typeof options.skipNulls === 'boolean' ? options.skipNulls : defaults.skipNulls;\n var encode = typeof options.encode === 'boolean' ? options.encode : defaults.encode;\n var encoder = typeof options.encoder === 'function' ? options.encoder : defaults.encoder;\n var sort = typeof options.sort === 'function' ? options.sort : null;\n var allowDots = typeof options.allowDots === 'undefined' ? false : options.allowDots;\n var serializeDate = typeof options.serializeDate === 'function' ? options.serializeDate : defaults.serializeDate;\n var encodeValuesOnly = typeof options.encodeValuesOnly === 'boolean' ? options.encodeValuesOnly : defaults.encodeValuesOnly;\n if (typeof options.format === 'undefined') {\n options.format = formats['default'];\n } else if (!Object.prototype.hasOwnProperty.call(formats.formatters, options.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n var formatter = formats.formatters[options.format];\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (Array.isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (options.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = options.arrayFormat;\n } else if ('indices' in options) {\n arrayFormat = options.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (sort) {\n objKeys.sort(sort);\n }\n\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (skipNulls && obj[key] === null) {\n continue;\n }\n\n keys = keys.concat(stringify(\n obj[key],\n key,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encode ? encoder : null,\n filter,\n sort,\n allowDots,\n serializeDate,\n formatter,\n encodeValuesOnly\n ));\n }\n\n var joined = keys.join(delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n var obj;\n\n while (queue.length) {\n var item = queue.pop();\n obj = item.obj[item.prop];\n\n if (Array.isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n\n return obj;\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (Array.isArray(target)) {\n target.push(source);\n } else if (typeof target === 'object') {\n if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (Array.isArray(target) && !Array.isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (Array.isArray(target) && Array.isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n if (target[i] && typeof target[i] === 'object') {\n target[i] = merge(target[i], item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str) {\n try {\n return decodeURIComponent(str.replace(/\\+/g, ' '));\n } catch (e) {\n return str;\n }\n};\n\nvar encode = function encode(str) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = typeof str === 'string' ? str : String(str);\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n return compactQueue(queue);\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n merge: merge\n};\n","module.exports = \"data:image/png;base64,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\"","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nmodule.exports = {\n 'default': 'RFC3986',\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return value;\n }\n },\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n arrayLimit: 20,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n parameterLimit: 1000,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n\n for (var i = 0; i < parts.length; ++i) {\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder);\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder);\n val = options.decoder(part.slice(pos + 1), defaults.decoder);\n }\n if (has.call(obj, key)) {\n obj[key] = [].concat(obj[key]).concat(val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options) {\n var leaf = val;\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]') {\n obj = [];\n obj = obj.concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys\n // that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while ((segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options);\n};\n\nmodule.exports = function (str, opts) {\n var options = opts ? utils.assign({}, opts) : {};\n\n if (options.decoder !== null && options.decoder !== undefined && typeof options.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n options.ignoreQueryPrefix = options.ignoreQueryPrefix === true;\n options.delimiter = typeof options.delimiter === 'string' || utils.isRegExp(options.delimiter) ? options.delimiter : defaults.delimiter;\n options.depth = typeof options.depth === 'number' ? options.depth : defaults.depth;\n options.arrayLimit = typeof options.arrayLimit === 'number' ? options.arrayLimit : defaults.arrayLimit;\n options.parseArrays = options.parseArrays !== false;\n options.decoder = typeof options.decoder === 'function' ? options.decoder : defaults.decoder;\n options.allowDots = typeof options.allowDots === 'boolean' ? options.allowDots : defaults.allowDots;\n options.plainObjects = typeof options.plainObjects === 'boolean' ? options.plainObjects : defaults.plainObjects;\n options.allowPrototypes = typeof options.allowPrototypes === 'boolean' ? options.allowPrototypes : defaults.allowPrototypes;\n options.parameterLimit = typeof options.parameterLimit === 'number' ? options.parameterLimit : defaults.parameterLimit;\n options.strictNullHandling = typeof options.strictNullHandling === 'boolean' ? options.strictNullHandling : defaults.strictNullHandling;\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options);\n obj = utils.merge(obj, newObj, options);\n }\n\n return utils.compact(obj);\n};\n","class Request {\n constructor(options = {}) {\n // 请求的根路径\n this.baseUrl = options.baseUrl || ''\n // 请求的 url 地址\n this.url = options.url || ''\n // 请求方式\n this.method = 'GET'\n // 请求的参数对象\n this.data = null\n // header 请求头\n this.header = options.header || {}\n this.beforeRequest = null\n this.afterRequest = null\n }\n\n get(url, data = {}) {\n this.method = 'GET'\n this.url = this.baseUrl + url\n this.data = data\n return this._()\n }\n\n post(url, data = {}) {\n this.method = 'POST'\n this.url = this.baseUrl + url\n this.data = data\n return this._()\n }\n\n put(url, data = {}) {\n this.method = 'PUT'\n this.url = this.baseUrl + url\n this.data = data\n return this._()\n }\n\n delete(url, data = {}) {\n this.method = 'DELETE'\n this.url = this.baseUrl + url\n this.data = data\n return this._()\n }\n\n _() {\n // 清空 header 对象\n this.header = {}\n // 请求之前做一些事\n this.beforeRequest && typeof this.beforeRequest === 'function' && this.beforeRequest(this)\n // 发起请求\n return new Promise((resolve, reject) => {\n let weixin = wx\n // 适配 uniapp\n if ('undefined' !== typeof uni) {\n weixin = uni\n }\n weixin.request({\n url: this.url,\n method: this.method,\n data: this.data,\n header: this.header,\n success: (res) => { resolve(res) },\n fail: (err) => { reject(err) },\n complete: (res) => {\n // 请求完成以后做一些事情\n this.afterRequest && typeof this.afterRequest === 'function' && this.afterRequest(res)\n }\n })\n })\n }\n}\n\nexport const $http = new Request()","const isArray = Array.isArray;\r\nconst isObject = (val) => val !== null && typeof val === 'object';\r\nconst defaultDelimiters = ['{', '}'];\r\nclass BaseFormatter {\r\n constructor() {\r\n this._caches = Object.create(null);\r\n }\r\n interpolate(message, values, delimiters = defaultDelimiters) {\r\n if (!values) {\r\n return [message];\r\n }\r\n let tokens = this._caches[message];\r\n if (!tokens) {\r\n tokens = parse(message, delimiters);\r\n this._caches[message] = tokens;\r\n }\r\n return compile(tokens, values);\r\n }\r\n}\r\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\r\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\r\nfunction parse(format, [startDelimiter, endDelimiter]) {\r\n const tokens = [];\r\n let position = 0;\r\n let text = '';\r\n while (position < format.length) {\r\n let char = format[position++];\r\n if (char === startDelimiter) {\r\n if (text) {\r\n tokens.push({ type: 'text', value: text });\r\n }\r\n text = '';\r\n let sub = '';\r\n char = format[position++];\r\n while (char !== undefined && char !== endDelimiter) {\r\n sub += char;\r\n char = format[position++];\r\n }\r\n const isClosed = char === endDelimiter;\r\n const type = RE_TOKEN_LIST_VALUE.test(sub)\r\n ? 'list'\r\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\r\n ? 'named'\r\n : 'unknown';\r\n tokens.push({ value: sub, type });\r\n }\r\n // else if (char === '%') {\r\n // // when found rails i18n syntax, skip text capture\r\n // if (format[position] !== '{') {\r\n // text += char\r\n // }\r\n // }\r\n else {\r\n text += char;\r\n }\r\n }\r\n text && tokens.push({ type: 'text', value: text });\r\n return tokens;\r\n}\r\nfunction compile(tokens, values) {\r\n const compiled = [];\r\n let index = 0;\r\n const mode = isArray(values)\r\n ? 'list'\r\n : isObject(values)\r\n ? 'named'\r\n : 'unknown';\r\n if (mode === 'unknown') {\r\n return compiled;\r\n }\r\n while (index < tokens.length) {\r\n const token = tokens[index];\r\n switch (token.type) {\r\n case 'text':\r\n compiled.push(token.value);\r\n break;\r\n case 'list':\r\n compiled.push(values[parseInt(token.value, 10)]);\r\n break;\r\n case 'named':\r\n if (mode === 'named') {\r\n compiled.push(values[token.value]);\r\n }\r\n else {\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\r\n }\r\n }\r\n break;\r\n case 'unknown':\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.warn(`Detect 'unknown' type of token!`);\r\n }\r\n break;\r\n }\r\n index++;\r\n }\r\n return compiled;\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\r\nconst defaultFormatter = new BaseFormatter();\r\nfunction include(str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1);\r\n}\r\nfunction startsWith(str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0);\r\n}\r\nfunction normalizeLocale(locale, messages) {\r\n if (!locale) {\r\n return;\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale;\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS;\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT;\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT;\r\n }\r\n return LOCALE_ZH_HANS;\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang;\r\n }\r\n}\r\nclass I18n {\r\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\r\n this.locale = LOCALE_EN;\r\n this.fallbackLocale = LOCALE_EN;\r\n this.message = {};\r\n this.messages = {};\r\n this.watchers = [];\r\n if (fallbackLocale) {\r\n this.fallbackLocale = fallbackLocale;\r\n }\r\n this.formater = formater || defaultFormatter;\r\n this.messages = messages || {};\r\n this.setLocale(locale || LOCALE_EN);\r\n if (watcher) {\r\n this.watchLocale(watcher);\r\n }\r\n }\r\n setLocale(locale) {\r\n const oldLocale = this.locale;\r\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\r\n if (!this.messages[this.locale]) {\r\n // 可能初始化时不存在\r\n this.messages[this.locale] = {};\r\n }\r\n this.message = this.messages[this.locale];\r\n // 仅发生变化时,通知\r\n if (oldLocale !== this.locale) {\r\n this.watchers.forEach((watcher) => {\r\n watcher(this.locale, oldLocale);\r\n });\r\n }\r\n }\r\n getLocale() {\r\n return this.locale;\r\n }\r\n watchLocale(fn) {\r\n const index = this.watchers.push(fn) - 1;\r\n return () => {\r\n this.watchers.splice(index, 1);\r\n };\r\n }\r\n add(locale, message, override = true) {\r\n const curMessages = this.messages[locale];\r\n if (curMessages) {\r\n if (override) {\r\n Object.assign(curMessages, message);\r\n }\r\n else {\r\n Object.keys(message).forEach((key) => {\r\n if (!hasOwn(curMessages, key)) {\r\n curMessages[key] = message[key];\r\n }\r\n });\r\n }\r\n }\r\n else {\r\n this.messages[locale] = message;\r\n }\r\n }\r\n f(message, values, delimiters) {\r\n return this.formater.interpolate(message, values, delimiters).join('');\r\n }\r\n t(key, locale, values) {\r\n let message = this.message;\r\n if (typeof locale === 'string') {\r\n locale = normalizeLocale(locale, this.messages);\r\n locale && (message = this.messages[locale]);\r\n }\r\n else {\r\n values = locale;\r\n }\r\n if (!hasOwn(message, key)) {\r\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\r\n return key;\r\n }\r\n return this.formater.interpolate(message[key], values).join('');\r\n }\r\n}\r\n\r\nfunction watchAppLocale(appVm, i18n) {\r\n // 需要保证 watch 的触发在组件渲染之前\r\n if (appVm.$watchLocale) {\r\n // vue2\r\n appVm.$watchLocale((newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n else {\r\n appVm.$watch(() => appVm.$locale, (newLocale) => {\r\n i18n.setLocale(newLocale);\r\n });\r\n }\r\n}\r\nfunction getDefaultLocale() {\r\n if (typeof uni !== 'undefined' && uni.getLocale) {\r\n return uni.getLocale();\r\n }\r\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\r\n if (typeof global !== 'undefined' && global.getLocale) {\r\n return global.getLocale();\r\n }\r\n return LOCALE_EN;\r\n}\r\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\r\n // 兼容旧版本入参\r\n if (typeof locale !== 'string') {\r\n [locale, messages] = [\r\n messages,\r\n locale,\r\n ];\r\n }\r\n if (typeof locale !== 'string') {\r\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\r\n locale = getDefaultLocale();\r\n }\r\n if (typeof fallbackLocale !== 'string') {\r\n fallbackLocale =\r\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\r\n LOCALE_EN;\r\n }\r\n const i18n = new I18n({\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n watcher,\r\n });\r\n let t = (key, values) => {\r\n if (typeof getApp !== 'function') {\r\n // app view\r\n /* eslint-disable no-func-assign */\r\n t = function (key, values) {\r\n return i18n.t(key, values);\r\n };\r\n }\r\n else {\r\n let isWatchedAppLocale = false;\r\n t = function (key, values) {\r\n const appVm = getApp().$vm;\r\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\r\n // options: {\r\n // \ttype: Array,\r\n // \tdefault () {\r\n // \t\treturn [{\r\n // \t\t\ticon: 'shop',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\r\n // \t\t}, {\r\n // \t\t\ticon: 'cart',\r\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\r\n // \t\t}]\r\n // \t}\r\n // },\r\n if (appVm) {\r\n // 触发响应式\r\n appVm.$locale;\r\n if (!isWatchedAppLocale) {\r\n isWatchedAppLocale = true;\r\n watchAppLocale(appVm, i18n);\r\n }\r\n }\r\n return i18n.t(key, values);\r\n };\r\n }\r\n return t(key, values);\r\n };\r\n return {\r\n i18n,\r\n f(message, values, delimiters) {\r\n return i18n.f(message, values, delimiters);\r\n },\r\n t(key, values) {\r\n return t(key, values);\r\n },\r\n add(locale, message, override = true) {\r\n return i18n.add(locale, message, override);\r\n },\r\n watch(fn) {\r\n return i18n.watchLocale(fn);\r\n },\r\n getLocale() {\r\n return i18n.getLocale();\r\n },\r\n setLocale(newLocale) {\r\n return i18n.setLocale(newLocale);\r\n },\r\n };\r\n}\r\n\r\nconst isString = (val) => typeof val === 'string';\r\nlet formater;\r\nfunction hasI18nJson(jsonObj, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n return walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n return true;\r\n }\r\n }\r\n else {\r\n return hasI18nJson(value, delimiters);\r\n }\r\n });\r\n}\r\nfunction parseI18nJson(jsonObj, values, delimiters) {\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, values, delimiters);\r\n }\r\n }\r\n else {\r\n parseI18nJson(value, values, delimiters);\r\n }\r\n });\r\n return jsonObj;\r\n}\r\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\r\n if (!isI18nStr(jsonStr, delimiters)) {\r\n return jsonStr;\r\n }\r\n if (!formater) {\r\n formater = new BaseFormatter();\r\n }\r\n const localeValues = [];\r\n Object.keys(locales).forEach((name) => {\r\n if (name !== locale) {\r\n localeValues.push({\r\n locale: name,\r\n values: locales[name],\r\n });\r\n }\r\n });\r\n localeValues.unshift({ locale, values: locales[locale] });\r\n try {\r\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\r\n }\r\n catch (e) { }\r\n return jsonStr;\r\n}\r\nfunction isI18nStr(value, delimiters) {\r\n return value.indexOf(delimiters[0]) > -1;\r\n}\r\nfunction compileStr(value, values, delimiters) {\r\n return formater.interpolate(value, values, delimiters).join('');\r\n}\r\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\r\n const value = jsonObj[key];\r\n if (isString(value)) {\r\n // 存在国际化\r\n if (isI18nStr(value, delimiters)) {\r\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\r\n if (localeValues.length > 1) {\r\n // 格式化国际化语言\r\n const valueLocales = (jsonObj[key + 'Locales'] = {});\r\n localeValues.forEach((localValue) => {\r\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n compileJsonObj(value, localeValues, delimiters);\r\n }\r\n}\r\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\r\n walkJsonObj(jsonObj, (jsonObj, key) => {\r\n compileValue(jsonObj, key, localeValues, delimiters);\r\n });\r\n return jsonObj;\r\n}\r\nfunction walkJsonObj(jsonObj, walk) {\r\n if (isArray(jsonObj)) {\r\n for (let i = 0; i < jsonObj.length; i++) {\r\n if (walk(jsonObj, i)) {\r\n return true;\r\n }\r\n }\r\n }\r\n else if (isObject(jsonObj)) {\r\n for (const key in jsonObj) {\r\n if (walk(jsonObj, key)) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nfunction resolveLocale(locales) {\r\n return (locale) => {\r\n if (!locale) {\r\n return locale;\r\n }\r\n locale = normalizeLocale(locale) || locale;\r\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\r\n };\r\n}\r\nfunction resolveLocaleChain(locale) {\r\n const chain = [];\r\n const tokens = locale.split('-');\r\n while (tokens.length) {\r\n chain.push(tokens.join('-'));\r\n tokens.pop();\r\n }\r\n return chain;\r\n}\r\n\r\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\r\n","module.exports = \"/static/login/banner.jpg\";","module.exports = \"/static/login/title.png\";","/*!\n * Vue.js v2.6.11\n * (c) 2014-2022 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\n if (isUndef(propOptions)) {\n return res\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\n }\n }\n return res\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.