diff --git a/BLEPages/child/H01pro.vue b/BLEPages/child/H01pro.vue index 988b5b9..3a88b54 100644 --- a/BLEPages/child/H01pro.vue +++ b/BLEPages/child/H01pro.vue @@ -91,7 +91,7 @@ that.closeBluetoothAdapter() that.openBluetoothAdapter() } - + that.onBLEConnectionStateChange() uni.onBluetoothAdapterStateChange(function(res) { that.$store.commit("changeBluetooth", res.available); @@ -156,16 +156,14 @@ if (!device.name && !device.localName) { return } - console.log('开始监听寻找到新设备的事件', device); + console.log('开始监听寻找到新设备的事件', device.deviceId, that.deviceId); if (device.name.indexOf('My') != -1) { clearTimeout(myTime); let buff = device.advertisData.slice(-6) device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 let tempMac = Array.from(device.mac) - console.log('开始监听寻找到新设备的事件0', device) device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() if (device.deviceId.indexOf(that.deviceId) != -1 || device.macAddr.indexOf(that.deviceId) != -1) { - console.log('开始监听寻找到新设备的事件1', that.deviceId) that.stopBluetoothDevicesDiscovery() //取消蓝牙搜索 that.deviceId = device.deviceId that.macAddr = device.macAddr diff --git a/BLEPages/child/J02.vue b/BLEPages/child/J02.vue new file mode 100644 index 0000000..8eb0962 --- /dev/null +++ b/BLEPages/child/J02.vue @@ -0,0 +1,325 @@ + + + + + diff --git a/BLEPages/child/PCL01.vue b/BLEPages/child/PCL01.vue index 6cc727d..995b70b 100644 --- a/BLEPages/child/PCL01.vue +++ b/BLEPages/child/PCL01.vue @@ -1,321 +1,323 @@ diff --git a/components/target/firstweight.vue b/components/target/firstweight.vue index 24150f5..e084826 100644 --- a/components/target/firstweight.vue +++ b/components/target/firstweight.vue @@ -1,102 +1,104 @@ diff --git a/manifest.json b/manifest.json index ddd8e2d..e281d4b 100644 --- a/manifest.json +++ b/manifest.json @@ -57,7 +57,7 @@ "quickapp" : {}, /* 小程序特有相关 */ "mp-weixin" : { - "appid" : "wx3e83b37ba682faf5", + "appid" : "wx33d5fc9ecf8bcf12", "setting" : { "urlCheck" : true, "minified" : true, diff --git a/pages.json b/pages.json index 39fdf1f..c841ecc 100644 --- a/pages.json +++ b/pages.json @@ -200,6 +200,15 @@ "navigationBarBackgroundColor": "#F9FAFC" } + }, + { + "path": "child/J02", + "style": { + "navigationBarTitleText": "", + "enablePullDownRefresh": false, + "navigationBarBackgroundColor": "#F9FAFC" + } + } ] }], diff --git a/pages/index/active.vue b/pages/index/active.vue index ed414d6..0442dba 100644 --- a/pages/index/active.vue +++ b/pages/index/active.vue @@ -149,69 +149,83 @@ if (!device.name && !device.localName) { return } - let buff = "" - if (device.name.indexOf("ELK") != -1 && device.advertisServiceUUIDs.length && device - .advertisServiceUUIDs[0].indexOf("F0A0") != -1) { - buff = device.advertisData.slice(0, 8) - } else if (device.name.indexOf('WSD') != -1) { - buff = device.advertisData.slice(3, 9) - } else { - buff = device.advertisData.slice(-6) + if (device.name.indexOf("WSD") !== -1) { + clearTimeout(myTime); + let buff = device.advertisData.slice(3, 9) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; } - const foundDevices = that.devices - const idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId) - device.mac = new Uint8Array(buff) - let tempMac = Array.from(device.mac) - tempMac.reverse() - device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() - that.deviceId = device.deviceId; - if (idx === -1) { - that.devices.push(device); - } else { - that.devices[idx] = device + if (device.name.indexOf("ELK") !== -1) { + clearTimeout(myTime); + let buff = device.advertisData.slice(0, 8) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) + tempMac.reverse() + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; } - that.popup = true - // if (device.name.indexOf('AiLink_') != -1) { - // const foundDevices = that.devices - // const idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId) - // let buff = device.advertisData.slice(-6) - // device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 - // let tempMac = Array.from(device.mac) - // tempMac.reverse() - // device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() - // that.deviceId = device.deviceId - // that.macAddr = device.macAddr - // if (idx === -1) { - // that.devices.push(device); - // } else { - // that.devices[idx] = device - // } - // that.popup = true - // return + if (device.name.indexOf("AiLink_") !== -1) { + clearTimeout(myTime); + let buff = device.advertisData.slice(-6) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) + tempMac.reverse() + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; + } + if (device.name.indexOf("My") != -1) { + console.log("My01", device.name.indexOf('My')) + clearTimeout(myTime); + let buff = device.advertisData.slice(-6) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; + } + // let buff = "" + // if (device.name.indexOf("ELK") !== -1) { + // buff = device.advertisData.slice(0, 8) + // } else if (device.name.indexOf('WSD') !== -1) { + // buff = device.advertisData.slice(3, 9) + // } else { + // buff = device.advertisData.slice(-6) // } - // if (device.name.indexOf("ELK") !== -1 && device.advertisServiceUUIDs[0].indexOf("F0A0") !== -1) { - // const foundDevices = that.devices - // const idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId) - // let buffer = device.advertisData.slice(0, 8) - // device.mac = new Uint8Array(buffer) - // let tempMac = Array.from(device.mac) - // tempMac.reverse() - // device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() - // that.deviceId = device.deviceId; - // that.macAddr = device.macAddr - // console.log("device1", device.macAddr, that.deviceId) - // if (idx === -1) { - // that.devices.push(device); - // } else { - // that.devices[idx] = device - // } - // that.popup = true - // return + // const foundDevices = that.devices + // const idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId) + // device.mac = new Uint8Array(buff) + // let tempMac = Array.from(device.mac) + // tempMac.reverse() + // device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + // that.deviceId = device.deviceId; + // if (idx === -1) { + // that.devices.push(device); + // } else { + // that.devices[idx] = device // } + // that.popup = true + }) }); that.handleMyTime() }, + handleDevice(device, buff) { + let that = this + const foundDevices = that.devices + const idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId) + that.deviceId = device.deviceId; + if (idx === -1) { + that.devices.push(device); + } else { + that.devices[idx] = device + } + that.popup = true + }, handleMyTime() { var that = this; myTime = setTimeout(function() { diff --git a/pages/index/index.vue b/pages/index/index.vue index 31bf152..94c8f75 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -35,6 +35,8 @@ {{item.title}} + + @@ -170,11 +172,13 @@ } from "vuex"; import userLogin from '@/components/userLogin.vue' import leftdrawer from "@/components/drawer/drawer.vue" + import message from "@/components/message.vue" import manuaRecord from '@/components/target/manuaRecord.vue'; export default { components: { leftdrawer, userLogin, + message, manuaRecord }, computed: { @@ -460,7 +464,7 @@ if (e.type == 3) { uni.navigateToMiniProgram({ appId: e.content, - path: '', + path: e.path, extraData: {}, }) return diff --git a/pages/search/devType.vue b/pages/search/devType.vue index 876455c..d197ea0 100644 --- a/pages/search/devType.vue +++ b/pages/search/devType.vue @@ -138,32 +138,62 @@ if (!device.name && !device.localName) { return } - console.log("设备列表", device, device.name.indexOf("ELK")) - let buff = "" - if (device.name.indexOf("ELK") != -1 && device.advertisServiceUUIDs.length && device.advertisServiceUUIDs[0].indexOf("F0A0") != -1) { - buff = device.advertisData.slice(0, 8) - } else { - buff = device.advertisData.slice(-6) + if (device.name.indexOf("WSD") != -1) { + clearTimeout(myTime); + let buff = device.advertisData.slice(3, 9) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; } - device.mac = new Uint8Array(buff) - let tempMac = Array.from(device.mac) - if (device.name.indexOf('My') == -1) { + if (device.name.indexOf("ELK") != -1) { + clearTimeout(myTime); + let buff = device.advertisData.slice(0, 8) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) tempMac.reverse() + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; } - device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() - const foundDevices = that.devicesList - const idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId) - if (idx === -1) { - that.devicesList.push(device); - if (device.macAddr != "") { - that.handleDevType(device.macAddr) - } + if (device.name.indexOf("AiLink_") != -1) { + clearTimeout(myTime); + let buff = device.advertisData.slice(-6) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) + tempMac.reverse() + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; + } + if (device.name.indexOf("My") != -1) { + console.log("My01", device.name.indexOf('My')) + clearTimeout(myTime); + let buff = device.advertisData.slice(-6) + device.mac = new Uint8Array(buff) // 保存广播数据中的mac地址,这是由于iOS不直接返回mac地址 + let tempMac = Array.from(device.mac) + device.macAddr = that.$tools.ab2hex(tempMac, ':').toUpperCase() + that.handleDevice(device) + return; } // console.log("设备列表", that.devicesList) }) }); that.handleMyTime() }, + handleDevice(device) { + let that = this + const foundDevices = that.devicesList + const idx = that.$tools.inArray(foundDevices, "deviceId", device.deviceId) + that.deviceId = device.deviceId; + if (idx === -1) { + that.devicesList.push(device); + if (device.macAddr != "") { + that.handleDevType(device.macAddr) + } + } + }, handleMyTime() { var that = this; myTime = setTimeout(function() { diff --git a/static/mmm.png b/static/mmm.png new file mode 100644 index 0000000..3c4bec9 Binary files /dev/null and b/static/mmm.png differ diff --git a/tools/https.js b/tools/https.js index 431f244..5eb364d 100644 --- a/tools/https.js +++ b/tools/https.js @@ -4,59 +4,60 @@ import config from '@/config.js' let baseUrl = config.configPro.host const httpRequest = (url, method = "get", data) => { - let httpDefaultOpts = { - url: baseUrl + url, - data: data, - method: method, - header: { - 'Authorization': "Bearer " + uni.getStorageSync('token'), - 'X-Authorization': "Bearer " + uni.getStorageSync('refreshtoken'), - 'X-Requested-With': 'XMLHttpRequest', - 'content-type': 'application/json;charset=UTF-8', - }, - } - let promise = new Promise(function(resolve, reject) { - if (httpDefaultOpts.url.indexOf("/api/device/detail") == -1) { - uni.showLoading({ - title: '加载中...' - }) - } - uni.request(httpDefaultOpts).then( - (res) => { - uni.hideLoading() - if (res[1].data.code == 401) { - uni.clearStorageSync() - uni.setStorageSync('token', "") - store.commit("changeLogout", false); - return - } - if (res[1].statusCode != 200) { - tools.msg(res[1].data.message) - return - } - resolve(res[1].data) - } - ).catch( - (response) => { - uni.hideLoading() - reject(response) - } - ) - }) - return promise + let httpDefaultOpts = { + url: baseUrl + url, + data: data, + method: method, + header: { + 'Authorization': "Bearer " + uni.getStorageSync('token'), + 'X-Authorization': "Bearer " + uni.getStorageSync('refreshtoken'), + 'X-Requested-With': 'XMLHttpRequest', + 'content-type': 'application/json;charset=UTF-8', + }, + } + let promise = new Promise(function(resolve, reject) { + if (httpDefaultOpts.url.indexOf("/api/device/detail") == -1) { + uni.showLoading({ + title: '加载中...' + }) + } + uni.request(httpDefaultOpts).then( + (res) => { + uni.hideLoading() + if (res[1].data.code == 401) { + uni.clearStorageSync() + uni.setStorageSync('token', "") + uni.setStorageSync('iswxphone', true) + store.commit("changeLogout", false); + return + } + if (res[1].statusCode != 200) { + tools.msg(res[1].data.message) + return + } + resolve(res[1].data) + } + ).catch( + (response) => { + uni.hideLoading() + reject(response) + } + ) + }) + return promise }; const get = (url, data) => { - data.appid = config.appid - return httpRequest(url, 'get', data) + data.appid = config.appid + return httpRequest(url, 'get', data) } const post = (url, data) => { - data.appid = config.appid - return httpRequest(url, 'post', data) + data.appid = config.appid + return httpRequest(url, 'post', data) } export default { - baseUrl, - get, - post + baseUrl, + get, + post } diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/H01pro.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/H01pro.js.map index 75312c0..2e0a692 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/H01pro.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/H01pro.js.map @@ -1 +1 @@ -{"version":3,"sources":["uni-app:///main.js","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?ac73","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?0c35","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?fafe","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?daa1","uni-app:///BLEPages/child/H01pro.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;kDAAA;AACA;AACA,kG,6FAFmBA,EAAE,CAACC,iCAAH,GAAuCC,mBAAvC;AAGnBC,UAAU,CAACC,eAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAA+H;AAC/H;AAC0D;AACL;;;AAGrD;AAC+N;AAC/N,gBAAgB,6NAAU;AAC1B,EAAE,4EAAM;AACR,EAAE,6FAAM;AACR,EAAE,sGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,iGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA+4B,CAAgB,g2BAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoBn6B,+C;;;AAGA,W;AACA;AACA,MADA,kBACA;AACA;AACA,eADA;AAEA,eAFA;AAGA,gBAHA;AAIA,gBAJA;AAKA,YALA;AAMA,iBANA;AAOA,kBAPA;AAQA,mBARA;AASA,gBATA;AAUA,iBAVA;AAWA,kBAXA;AAYA,mBAZA;AAaA,qBAbA;;AAeA,GAjBA;AAkBA;AACA,6EADA;AAEA,QAFA,kBAEA;AACA;AACA,KAJA,GAlBA;;AAwBA;AACA;AACA;AACA,2CADA,CACA;AACA;AACA;AACA;AACA;AACA,iCADA;;AAGA;AACA;AACA,GApCA;AAqCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,KAdA,EArCA;;AAqDA,QArDA,kBAqDA,OArDA,EAqDA;AACA;AACA;AACA;AACA,2BADA;AAEA,oCAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAFA;AAGA,GA1EA;AA2EA;AACA;AACA,wBAFA,kCAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAJA;AAKA;AACA;AACA;AACA,SARA;;AAUA,KAhBA;AAiBA;AACA,8BAlBA,wCAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAVA;AAWA,KA/BA;AAgCA;AACA,iCAjCA,2CAiCA;AACA;AACA;AACA,iCADA;AAEA,qBAFA,EAEA;AACA;AACA;AACA;AACA,SANA;AAOA;AACA;AACA;AACA,SAVA;;AAYA,KA/CA;AAgDA;;;AAGA,0BAnDA,oCAmDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAHA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA,mDAFA,CAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SArBA;AAsBA,OAvBA;AAwBA;AACA,KA/EA;AAgFA,gBAhFA,0BAgFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OARA,EAQA,KARA;AASA,KA3FA;AA4FA;;;AAGA,iCA/FA,2CA+FA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KArGA;AAsGA;AACA,uBAvGA,iCAuGA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA;AACA,SALA;AAMA;AACA;AACA;AACA,SATA;;AAWA,KApHA;AAqHA;;;AAGA,wBAxHA,kCAwHA;AACA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAfA;AAgBA;AACA;AACA,SAlBA;;AAoBA,KA/IA;AAgJA;;;AAGA,+BAnJA,uCAmJA,QAnJA,EAmJA,SAnJA,EAmJA;AACA;AACA;AACA;AACA,0BADA;AAEA,4BAFA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BADA;AAEA,gCAFA;AAGA,2CAHA;AAIA,uBAJA;;AAMA;AACA,8BADA;AAEA,gCAFA;AAGA,0CAHA;AAIA,uBAJA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BADA;AAEA,6CAFA;AAGA,gCAHA;AAIA,iCAJA;AAKA,uBALA,mBAKA,GALA,EAKA;AACA;AACA;AACA,mBAFA,MAEA;AACA;AACA;AACA;AACA;AACA,+CADA;;AAGA;;AAEA,iBAjBA;;AAmBA,aApBA,MAoBA;AACA;AACA;AACA,WApCA;AAqCA,SAtEA;AAuEA;AACA;AACA,SAzEA;;AA2EA,KAjOA;AAkOA;AACA,oBAnOA,8BAmOA;AACA;AACA;AACA;AACA,2BADA;AAEA,qBAFA;AAGA,2BAHA;AAIA,4DAJA;AAKA,oCALA;AAMA,UANA,CAMA;AACA;AACA;AACA;AACA,wCADA;;AAGA;AACA,wCADA;AAEA,wCAFA;AAGA,gEAHA;AAIA,8BAJA;;AAMA,SAXA,MAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCADA;;AAGA,SANA,EAMA,GANA;;AAQA,OA/BA;AAgCA,KAtQA;AAuQA,cAvQA,wBAuQA;AACA;AACA;AACA;AACA;AACA;AACA,2CANA,CAMA;AACA;AACA;AACA,KAhRA;AAiRA;;;AAGA,yBApRA,mCAoRA;AACA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KA3RA;AA4RA;;;AAGA,sBA/RA,gCA+RA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA,SAJA;;AAMA,KAvSA,EA3EA,E","file":"BLEPages/child/H01pro.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './BLEPages/child/H01pro.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./H01pro.vue?vue&type=template&id=215f17ff&scoped=true&\"\nvar renderjs\nimport script from \"./H01pro.vue?vue&type=script&lang=js&\"\nexport * from \"./H01pro.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/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 \"215f17ff\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"BLEPages/child/H01pro.vue\"\nexport default component.exports","export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./H01pro.vue?vue&type=template&id=215f17ff&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./H01pro.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./H01pro.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\r\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["uni-app:///main.js","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?ac73","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?0c35","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?fafe","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/H01pro.vue?daa1","uni-app:///BLEPages/child/H01pro.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;kDAAA;AACA;AACA,kG,6FAFmBA,EAAE,CAACC,iCAAH,GAAuCC,mBAAvC;AAGnBC,UAAU,CAACC,eAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAA+H;AAC/H;AAC0D;AACL;;;AAGrD;AAC+N;AAC/N,gBAAgB,6NAAU;AAC1B,EAAE,4EAAM;AACR,EAAE,6FAAM;AACR,EAAE,sGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,iGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA+4B,CAAgB,g2BAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoBn6B,+C;;;AAGA,W;AACA;AACA,MADA,kBACA;AACA;AACA,eADA;AAEA,eAFA;AAGA,gBAHA;AAIA,gBAJA;AAKA,YALA;AAMA,iBANA;AAOA,kBAPA;AAQA,mBARA;AASA,gBATA;AAUA,iBAVA;AAWA,kBAXA;AAYA,mBAZA;AAaA,qBAbA;;AAeA,GAjBA;AAkBA;AACA,6EADA;AAEA,QAFA,kBAEA;AACA;AACA,KAJA,GAlBA;;AAwBA;AACA;AACA;AACA,2CADA,CACA;AACA;AACA;AACA;AACA;AACA,iCADA;;AAGA;AACA;AACA,GApCA;AAqCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,KAdA,EArCA;;AAqDA,QArDA,kBAqDA,OArDA,EAqDA;AACA;AACA;AACA;AACA,2BADA;AAEA,oCAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAFA;AAGA,GA1EA;AA2EA;AACA;AACA,wBAFA,kCAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAJA;AAKA;AACA;AACA;AACA,SARA;;AAUA,KAhBA;AAiBA;AACA,8BAlBA,wCAkBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAVA;AAWA,KA/BA;AAgCA;AACA,iCAjCA,2CAiCA;AACA;AACA;AACA,iCADA;AAEA,qBAFA,EAEA;AACA;AACA;AACA;AACA,SANA;AAOA;AACA;AACA;AACA,SAVA;;AAYA,KA/CA;AAgDA;;;AAGA,0BAnDA,oCAmDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAHA,CAGA;AACA;AACA;AACA;AACA,mDADA,CACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAnBA;AAoBA,OArBA;AAsBA;AACA,KA7EA;AA8EA,gBA9EA,0BA8EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OARA,EAQA,KARA;AASA,KAzFA;AA0FA;;;AAGA,iCA7FA,2CA6FA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KAnGA;AAoGA;AACA,uBArGA,iCAqGA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA;AACA,SALA;AAMA;AACA;AACA;AACA,SATA;;AAWA,KAlHA;AAmHA;;;AAGA,wBAtHA,kCAsHA;AACA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAfA;AAgBA;AACA;AACA,SAlBA;;AAoBA,KA7IA;AA8IA;;;AAGA,+BAjJA,uCAiJA,QAjJA,EAiJA,SAjJA,EAiJA;AACA;AACA;AACA;AACA,0BADA;AAEA,4BAFA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BADA;AAEA,gCAFA;AAGA,2CAHA;AAIA,uBAJA;;AAMA;AACA,8BADA;AAEA,gCAFA;AAGA,0CAHA;AAIA,uBAJA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BADA;AAEA,6CAFA;AAGA,gCAHA;AAIA,iCAJA;AAKA,uBALA,mBAKA,GALA,EAKA;AACA;AACA;AACA,mBAFA,MAEA;AACA;AACA;AACA;AACA;AACA,+CADA;;AAGA;;AAEA,iBAjBA;;AAmBA,aApBA,MAoBA;AACA;AACA;AACA,WApCA;AAqCA,SAtEA;AAuEA;AACA;AACA,SAzEA;;AA2EA,KA/NA;AAgOA;AACA,oBAjOA,8BAiOA;AACA;AACA;AACA;AACA,2BADA;AAEA,qBAFA;AAGA,2BAHA;AAIA,4DAJA;AAKA,oCALA;AAMA,UANA,CAMA;AACA;AACA;AACA;AACA,wCADA;;AAGA;AACA,wCADA;AAEA,wCAFA;AAGA,gEAHA;AAIA,8BAJA;;AAMA,SAXA,MAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCADA;;AAGA,SANA,EAMA,GANA;;AAQA,OA/BA;AAgCA,KApQA;AAqQA,cArQA,wBAqQA;AACA;AACA;AACA;AACA;AACA;AACA,2CANA,CAMA;AACA;AACA;AACA,KA9QA;AA+QA;;;AAGA,yBAlRA,mCAkRA;AACA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KAzRA;AA0RA;;;AAGA,sBA7RA,gCA6RA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA,SAJA;;AAMA,KArSA,EA3EA,E","file":"BLEPages/child/H01pro.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './BLEPages/child/H01pro.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./H01pro.vue?vue&type=template&id=215f17ff&scoped=true&\"\nvar renderjs\nimport script from \"./H01pro.vue?vue&type=script&lang=js&\"\nexport * from \"./H01pro.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/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 \"215f17ff\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"BLEPages/child/H01pro.vue\"\nexport default component.exports","export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./H01pro.vue?vue&type=template&id=215f17ff&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./H01pro.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./H01pro.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\n"],"sourceRoot":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/J02.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/J02.js.map new file mode 100644 index 0000000..c3dbef3 --- /dev/null +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/J02.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["uni-app:///main.js","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/J02.vue?9fe6","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/J02.vue?02f0","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/J02.vue?8004","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/J02.vue?3e6e","uni-app:///BLEPages/child/J02.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;kDAAA;AACA;AACA,0F,6FAFmBA,EAAE,CAACC,iCAAH,GAAuCC,mBAAvC;AAGnBC,UAAU,CAACC,UAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAA4H;AAC5H;AACuD;AACL;;;AAGlD;AAC+N;AAC/N,gBAAgB,6NAAU;AAC1B,EAAE,yEAAM;AACR,EAAE,0FAAM;AACR,EAAE,mGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,8FAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA44B,CAAgB,61BAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqBh6B,+C;;;AAGA;AACA,+C;AACA;AACA,MADA,kBACA;AACA;AACA,cADA;AAEA,gBAFA;AAGA,gBAHA;AAIA,YAJA;AAKA,iBALA;AAMA,kBANA;AAOA,mBAPA;AAQA,mBARA;AASA,oBATA;AAUA,qBAVA,CAUA;AAVA;AAYA,GAdA;AAeA;AACA,6EADA;AAEA,QAFA,kBAEA;AACA;AACA,KAJA,GAfA;;AAqBA;AACA;AACA;AACA,2CADA,CACA;AACA;AACA;AACA;AACA;AACA,iCADA;;AAGA;AACA;AACA,GAjCA;AAkCA,QAlCA,kBAkCA,OAlCA,EAkCA;AACA;AACA;AACA;AACA,2BADA;AAEA,oCAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAFA;AAGA,GAnDA;AAoDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,KAdA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA,uBADA;AAEA,yCAFA;AAGA,4BAHA;AAIA,6BAJA;AAKA,mBALA,mBAKA,GALA,EAKA;AACA;AACA;AACA;AACA,eAHA,MAGA;AACA;AACA;AACA;AACA;AACA;AACA,2CADA;;AAGA;AACA,aAlBA;;AAoBA,SArBA,MAqBA;AACA;AACA;;AAEA;AACA,KA7CA,EApDA;;AAmGA;AACA;AACA,wBAFA,kCAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAJA;AAKA;AACA;AACA;AACA,SARA;;AAUA,KAhBA;AAiBA;AACA,iCAlBA,2CAkBA;AACA;AACA;AACA,gCADA;AAEA;AACA,cADA,CAFA;;AAKA;AACA;AACA;AACA,SARA;AASA;AACA;AACA;AACA,SAZA;;AAcA,KAlCA;AAmCA;;;AAGA,iCAtCA,2CAsCA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KA5CA;AA6CA;;;AAGA,0BAhDA,oCAgDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAHA;;AAKA;AACA;AACA;AACA;AACA;AACA,SA5DA;AA6DA,OA9DA;AA+DA;AACA,KAnHA;AAoHA,gBApHA,0BAoHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OARA,EAQA,KARA;AASA,KA/HA;AAgIA;AACA,oBAjIA,8BAiIA;AACA;AACA;AACA,2BADA;AAEA,qBAFA;AAGA,2BAHA;AAIA,gCAJA;AAKA,oCALA;AAMA,UANA,CAMA;AACA;AACA;AACA;AACA,wCADA;;AAGA;AACA,wCADA;AAEA,wCAFA;AAGA,oCAHA;AAIA,8BAJA;;AAMA,SAXA,MAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCADA;;AAGA,SANA,EAMA,GANA;AAOA,OA9BA;AA+BA,KAlKA;AAmKA,cAnKA,wBAmKA;AACA;AACA;AACA;AACA,2CAJA,CAIA;AACA;AACA;AACA,KA1KA;AA2KA;;;AAGA,yBA9KA,mCA8KA;AACA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KArLA;AAsLA;;;AAGA,sBAzLA,gCAyLA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA,SAJA;;AAMA,KAjMA,EAnGA,E","file":"BLEPages/child/J02.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './BLEPages/child/J02.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./J02.vue?vue&type=template&id=123989a1&scoped=true&\"\nvar renderjs\nimport script from \"./J02.vue?vue&type=script&lang=js&\"\nexport * from \"./J02.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/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 \"123989a1\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"BLEPages/child/J02.vue\"\nexport default component.exports","export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./J02.vue?vue&type=template&id=123989a1&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./J02.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./J02.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\n"],"sourceRoot":""} \ No newline at end of file diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/PCL01.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/PCL01.js.map index 35cc355..c9551ed 100644 --- a/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/PCL01.js.map +++ b/unpackage/dist/dev/.sourcemap/mp-weixin/BLEpages/child/PCL01.js.map @@ -1 +1 @@ -{"version":3,"sources":["uni-app:///main.js","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?5c00","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?ed9b","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?9325","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?17d7","uni-app:///BLEPages/child/PCL01.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;kDAAA;AACA;AACA,8F,6FAFmBA,EAAE,CAACC,iCAAH,GAAuCC,mBAAvC;AAGnBC,UAAU,CAACC,YAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAA8H;AAC9H;AACyD;AACL;;;AAGpD;AAC+N;AAC/N,gBAAgB,6NAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,4FAAM;AACR,EAAE,qGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,gGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA84B,CAAgB,+1BAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqBl6B,+C;;;AAGA;AACA,+C;AACA;AACA,MADA,kBACA;AACA;AACA,cADA;AAEA,gBAFA;AAGA,gBAHA;AAIA,YAJA;AAKA,iBALA;AAMA,kBANA;AAOA,mBAPA;AAQA,mBARA;AASA,oBATA;AAUA,qBAVA,CAUA;AAVA;AAYA,GAdA;AAeA;AACA,6EADA;AAEA,QAFA,kBAEA;AACA;AACA,KAJA,GAfA;;AAqBA;AACA;AACA;AACA,2CADA,CACA;AACA;AACA;AACA;AACA;AACA,iCADA;;AAGA;AACA;AACA,GAjCA;AAkCA,QAlCA,kBAkCA,OAlCA,EAkCA;AACA;AACA;AACA;AACA,2BADA;AAEA,oCAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAFA;AAGA,GAnDA;AAoDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,KAdA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA,uBADA;AAEA,yCAFA;AAGA,4BAHA;AAIA,6BAJA;AAKA,mBALA,mBAKA,GALA,EAKA;AACA;AACA;AACA;AACA,eAHA,MAGA;AACA;AACA;AACA;AACA;AACA;AACA,2CADA;;AAGA;AACA,aAlBA;;AAoBA,SArBA,MAqBA;AACA;AACA;;AAEA;AACA,KA7CA,EApDA;;AAmGA;AACA;AACA,wBAFA,kCAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAJA;AAKA;AACA;AACA;AACA,SARA;;AAUA,KAhBA;AAiBA;AACA,iCAlBA,2CAkBA;AACA;AACA;AACA,gCADA;AAEA;AACA,cADA,CAFA;;AAKA;AACA;AACA;AACA,SARA;AASA;AACA;AACA;AACA,SAZA;;AAcA,KAlCA;AAmCA;;;AAGA,iCAtCA,2CAsCA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KA5CA;AA6CA;;;AAGA,0BAhDA,oCAgDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAHA;;AAKA;AACA;AACA;AACA;AACA,SAzDA;AA0DA,OA3DA;AA4DA;AACA,KAhHA;AAiHA,gBAjHA,0BAiHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OARA,EAQA,KARA;AASA,KA5HA;AA6HA;AACA,oBA9HA,8BA8HA;AACA;AACA;AACA,2BADA;AAEA,qBAFA;AAGA,2BAHA;AAIA,gCAJA;AAKA,oCALA;AAMA,UANA,CAMA;AACA;AACA;AACA;AACA,wCADA;;AAGA;AACA,wCADA;AAEA,wCAFA;AAGA,oCAHA;AAIA,8BAJA;;AAMA,SAXA,MAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCADA;;AAGA,SANA,EAMA,GANA;AAOA,OA9BA;AA+BA,KA/JA;AAgKA,cAhKA,wBAgKA;AACA;AACA;AACA;AACA,2CAJA,CAIA;AACA;AACA;AACA,KAvKA;AAwKA;;;AAGA,yBA3KA,mCA2KA;AACA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KAlLA;AAmLA;;;AAGA,sBAtLA,gCAsLA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA,SAJA;;AAMA,KA9LA,EAnGA,E","file":"BLEPages/child/PCL01.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './BLEPages/child/PCL01.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./PCL01.vue?vue&type=template&id=0fa407e2&scoped=true&\"\nvar renderjs\nimport script from \"./PCL01.vue?vue&type=script&lang=js&\"\nexport * from \"./PCL01.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/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 \"0fa407e2\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"BLEPages/child/PCL01.vue\"\nexport default component.exports","export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./PCL01.vue?vue&type=template&id=0fa407e2&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./PCL01.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./PCL01.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\r\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["uni-app:///main.js","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?5c00","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?ed9b","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?9325","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/BLEPages/child/PCL01.vue?17d7","uni-app:///BLEPages/child/PCL01.vue"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;kDAAA;AACA;AACA,8F,6FAFmBA,EAAE,CAACC,iCAAH,GAAuCC,mBAAvC;AAGnBC,UAAU,CAACC,YAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAA8H;AAC9H;AACyD;AACL;;;AAGpD;AAC+N;AAC/N,gBAAgB,6NAAU;AAC1B,EAAE,2EAAM;AACR,EAAE,4FAAM;AACR,EAAE,qGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,gGAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACtBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA84B,CAAgB,+1BAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACqBl6B,+C;;;AAGA;AACA,+C;AACA;AACA,MADA,kBACA;AACA;AACA,cADA;AAEA,gBAFA;AAGA,gBAHA;AAIA,YAJA;AAKA,iBALA;AAMA,kBANA;AAOA,mBAPA;AAQA,mBARA;AASA,oBATA;AAUA,qBAVA,CAUA;AAVA;AAYA,GAdA;AAeA;AACA,6EADA;AAEA,QAFA,kBAEA;AACA;AACA,KAJA,GAfA;;AAqBA;AACA;AACA;AACA,2CADA,CACA;AACA;AACA;AACA;AACA;AACA,iCADA;;AAGA;AACA;AACA,GAjCA;AAkCA,QAlCA,kBAkCA,OAlCA,EAkCA;AACA;AACA;AACA;AACA,2BADA;AAEA,oCAFA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAFA;AAGA,GAnDA;AAoDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAPA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA,KAdA;AAeA;AACA;AACA;AACA;AACA;AACA;AACA,uBADA;AAEA,yCAFA;AAGA,4BAHA;AAIA,6BAJA;AAKA,mBALA,mBAKA,GALA,EAKA;AACA;AACA;AACA;AACA,eAHA,MAGA;AACA;AACA;AACA;AACA;AACA;AACA,2CADA;;AAGA;AACA,aAlBA;;AAoBA,SArBA,MAqBA;AACA;AACA;;AAEA;AACA,KA7CA,EApDA;;AAmGA;AACA;AACA,wBAFA,kCAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAJA;AAKA;AACA;AACA;AACA,SARA;;AAUA,KAhBA;AAiBA;AACA,iCAlBA,2CAkBA;AACA;AACA;AACA,gCADA;AAEA;AACA,cADA,CAFA;;AAKA;AACA;AACA;AACA,SARA;AASA;AACA;AACA;AACA,SAZA;;AAcA,KAlCA;AAmCA;;;AAGA,iCAtCA,2CAsCA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KA5CA;AA6CA;;;AAGA,0BAhDA,oCAgDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAHA;;AAKA;AACA;AACA;AACA;AACA;AACA,SA3DA;AA4DA,OA7DA;AA8DA;AACA,KAlHA;AAmHA,gBAnHA,0BAmHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OARA,EAQA,KARA;AASA,KA9HA;AA+HA;AACA,oBAhIA,8BAgIA;AACA;AACA;AACA,2BADA;AAEA,qBAFA;AAGA,2BAHA;AAIA,gCAJA;AAKA,oCALA;AAMA,UANA,CAMA;AACA;AACA;AACA;AACA,wCADA;;AAGA;AACA,wCADA;AAEA,wCAFA;AAGA,oCAHA;AAIA,8BAJA;;AAMA,SAXA,MAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCADA;;AAGA,SANA,EAMA,GANA;AAOA,OA9BA;AA+BA,KAjKA;AAkKA,cAlKA,wBAkKA;AACA;AACA;AACA;AACA,2CAJA,CAIA;AACA;AACA;AACA,KAzKA;AA0KA;;;AAGA,yBA7KA,mCA6KA;AACA;AACA;AACA;AACA;AACA,SAHA;;AAKA,KApLA;AAqLA;;;AAGA,sBAxLA,gCAwLA;AACA;AACA;AACA,+BADA;AAEA;AACA;AACA,SAJA;;AAMA,KAhMA,EAnGA,E","file":"BLEPages/child/PCL01.js","sourcesContent":["import 'uni-pages';wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './BLEPages/child/PCL01.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./PCL01.vue?vue&type=template&id=0fa407e2&scoped=true&\"\nvar renderjs\nimport script from \"./PCL01.vue?vue&type=script&lang=js&\"\nexport * from \"./PCL01.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/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 \"0fa407e2\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"BLEPages/child/PCL01.vue\"\nexport default component.exports","export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./PCL01.vue?vue&type=template&id=0fa407e2&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./PCL01.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./PCL01.vue?vue&type=script&lang=js&\"","\r\n\r\n\r\n\r\n\n"],"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 4e6ca8c..767a0d2 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":[null],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;;;QAGA;QACA,oBAAoB;QACpB;QACA;QACA;QACA,uBAAuB,0lEAA0lE;QACjnE;QACA;QACA,mBAAmB,6BAA6B;QAChD;QACA;QACA;QACA;QACA;QACA,mBAAmB,8BAA8B;QACjD;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA,KAAK;QACL;QACA,KAAK;QACL;;QAEA;;QAEA;QACA,iCAAiC;;QAEjC;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,MAAM;QACN;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,wBAAwB,kCAAkC;QAC1D,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA,0CAA0C,oBAAoB,WAAW;;QAEzE;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","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 = {\"components/drawer/drawer\":1,\"components/target/manuaRecord\":1,\"components/userLogin\":1,\"uni_modules/qiun-data-charts/components/qiun-data-charts\":1,\"components/target/firstweight\":1,\"components/target/targetWeight\":1,\"components/ren-calendar/ren-calendar\":1,\"components/mark-slide-list/mark-slide-list\":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 = \"\" + ({\"components/drawer/drawer\":\"components/drawer/drawer\",\"components/target/manuaRecord\":\"components/target/manuaRecord\",\"components/userLogin\":\"components/userLogin\",\"uni_modules/qiun-data-charts/components/qiun-data-charts\":\"uni_modules/qiun-data-charts/components/qiun-data-charts\",\"components/target/firstweight\":\"components/target/firstweight\",\"components/target/targetWeight\":\"components/target/targetWeight\",\"components/ren-calendar/ren-calendar\":\"components/ren-calendar/ren-calendar\",\"components/signup/signup\":\"components/signup/signup\",\"components/u-parse/u-parse\":\"components/u-parse/u-parse\",\"components/mark-slide-list/mark-slide-list\":\"components/mark-slide-list/mark-slide-list\",\"components/u-parse/components/wxParseTemplate0\":\"components/u-parse/components/wxParseTemplate0\",\"components/u-parse/components/wxParseAudio\":\"components/u-parse/components/wxParseAudio\",\"components/u-parse/components/wxParseImg\":\"components/u-parse/components/wxParseImg\",\"components/u-parse/components/wxParseTemplate1\":\"components/u-parse/components/wxParseTemplate1\",\"components/u-parse/components/wxParseVideo\":\"components/u-parse/components/wxParseVideo\",\"components/u-parse/components/wxParseTemplate2\":\"components/u-parse/components/wxParseTemplate2\",\"components/u-parse/components/wxParseTemplate3\":\"components/u-parse/components/wxParseTemplate3\",\"components/u-parse/components/wxParseTemplate4\":\"components/u-parse/components/wxParseTemplate4\",\"components/u-parse/components/wxParseTemplate5\":\"components/u-parse/components/wxParseTemplate5\",\"components/u-parse/components/wxParseTemplate6\":\"components/u-parse/components/wxParseTemplate6\",\"components/u-parse/components/wxParseTemplate7\":\"components/u-parse/components/wxParseTemplate7\",\"components/u-parse/components/wxParseTemplate8\":\"components/u-parse/components/wxParseTemplate8\",\"components/u-parse/components/wxParseTemplate9\":\"components/u-parse/components/wxParseTemplate9\",\"components/u-parse/components/wxParseTemplate10\":\"components/u-parse/components/wxParseTemplate10\",\"components/u-parse/components/wxParseTemplate11\":\"components/u-parse/components/wxParseTemplate11\"}[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":[null],"names":[],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;;;QAGA;QACA,oBAAoB;QACpB;QACA;QACA;QACA,uBAAuB,ooEAAooE;QAC3pE;QACA;QACA,mBAAmB,6BAA6B;QAChD;QACA;QACA;QACA;QACA;QACA,mBAAmB,8BAA8B;QACjD;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA,KAAK;QACL;QACA,KAAK;QACL;;QAEA;;QAEA;QACA,iCAAiC;;QAEjC;QACA;QACA;QACA,KAAK;QACL;QACA;QACA;QACA,MAAM;QACN;;QAEA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,wBAAwB,kCAAkC;QAC1D,MAAM;QACN;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA,0CAA0C,oBAAoB,WAAW;;QAEzE;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA","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 = {\"components/drawer/drawer\":1,\"components/message\":1,\"components/target/manuaRecord\":1,\"components/userLogin\":1,\"uni_modules/qiun-data-charts/components/qiun-data-charts\":1,\"components/target/firstweight\":1,\"components/target/targetWeight\":1,\"components/ren-calendar/ren-calendar\":1,\"components/mark-slide-list/mark-slide-list\":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 = \"\" + ({\"components/drawer/drawer\":\"components/drawer/drawer\",\"components/message\":\"components/message\",\"components/target/manuaRecord\":\"components/target/manuaRecord\",\"components/userLogin\":\"components/userLogin\",\"uni_modules/qiun-data-charts/components/qiun-data-charts\":\"uni_modules/qiun-data-charts/components/qiun-data-charts\",\"components/target/firstweight\":\"components/target/firstweight\",\"components/target/targetWeight\":\"components/target/targetWeight\",\"components/ren-calendar/ren-calendar\":\"components/ren-calendar/ren-calendar\",\"components/signup/signup\":\"components/signup/signup\",\"components/u-parse/u-parse\":\"components/u-parse/u-parse\",\"components/mark-slide-list/mark-slide-list\":\"components/mark-slide-list/mark-slide-list\",\"components/u-parse/components/wxParseTemplate0\":\"components/u-parse/components/wxParseTemplate0\",\"components/u-parse/components/wxParseAudio\":\"components/u-parse/components/wxParseAudio\",\"components/u-parse/components/wxParseImg\":\"components/u-parse/components/wxParseImg\",\"components/u-parse/components/wxParseTemplate1\":\"components/u-parse/components/wxParseTemplate1\",\"components/u-parse/components/wxParseVideo\":\"components/u-parse/components/wxParseVideo\",\"components/u-parse/components/wxParseTemplate2\":\"components/u-parse/components/wxParseTemplate2\",\"components/u-parse/components/wxParseTemplate3\":\"components/u-parse/components/wxParseTemplate3\",\"components/u-parse/components/wxParseTemplate4\":\"components/u-parse/components/wxParseTemplate4\",\"components/u-parse/components/wxParseTemplate5\":\"components/u-parse/components/wxParseTemplate5\",\"components/u-parse/components/wxParseTemplate6\":\"components/u-parse/components/wxParseTemplate6\",\"components/u-parse/components/wxParseTemplate7\":\"components/u-parse/components/wxParseTemplate7\",\"components/u-parse/components/wxParseTemplate8\":\"components/u-parse/components/wxParseTemplate8\",\"components/u-parse/components/wxParseTemplate9\":\"components/u-parse/components/wxParseTemplate9\",\"components/u-parse/components/wxParseTemplate10\":\"components/u-parse/components/wxParseTemplate10\",\"components/u-parse/components/wxParseTemplate11\":\"components/u-parse/components/wxParseTemplate11\"}[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 c223f0a..231ef21 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":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js?543d","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?f0c5","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/uni.scss?d51d","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/assets/common.scss?b171","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/assets/iconfont-weapp-icon.css?755f","webpack:///D:/MyWork/mywork/小程序/品传/成人版小程序/adultDeviceApp/assets/iconfont.css?7083","uni-app:///store/index.js","uni-app:///store/actions.js","uni-app:///tools/model.js","uni-app:///tools/https.js","uni-app:///tools/tools.js",null,"uni-app:///config.js","uni-app:///tools/data4.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js?a9ff","uni-app:///pages.json","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/config-ucharts.js","uni-app:///components/u-parse/libs/html2json.js","uni-app:///components/u-parse/libs/wxDiscode.js","uni-app:///components/u-parse/libs/htmlparser.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js?a34a","webpack:///./node_modules/regenerator-runtime/runtime-module.js?bbdd","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js?66fd","webpack:///./node_modules/regenerator-runtime/runtime.js?96cf","webpack:///./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js?37dc","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js?26cb"],"names":["realAtob","b64","b64re","atob","str","String","replace","test","Error","slice","length","bitmap","result","r1","r2","i","indexOf","charAt","fromCharCode","b64DecodeUnicode","decodeURIComponent","split","map","c","charCodeAt","toString","join","getCurrentUserInfo","token","wx","getStorageSync","tokenArr","uid","role","permission","tokenExpired","userInfo","JSON","parse","error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","_toString","Object","hasOwnProperty","isFn","fn","isStr","isPlainObject","obj","call","hasOwn","key","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","_","toUpperCase","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","keys","forEach","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","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","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","assign","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","getLocale","app","getApp","allowDefault","$vm","$locale","language","setLocale","locale","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","deviceId","addUuid","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","windowHeight","getSystemInfo","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","getUniEmitter","ctx","$on","arguments","$off","$once","$emit","eventApi","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","find","mixin","initHooks","mpOptions","__call_hook","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vueId","_$vuePid","initData","context","methods","e","process","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","initBehavior","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","type","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","generic","scopedSlotsCompiler","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","target","detail","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","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","$scope","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","once","messages","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","t","i18nMixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$$t","values","setLocale$1","getLocale$1","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","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","$children","childVm","parentVm","Behavior","isPage","route","initRelation","selectAllComponents","selector","$refs","components","component","ref","vueGeneric","scopedComponent","forComponents","handleLink","parent","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","undefined","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","is","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","getLaunchOptionsSync","createPlugin","canIUseApi","apiName","uni","Proxy","uni$1","use","Vuex","Store","user","headimg","nickname","targetweight","firstweight","weight","birthday","height","age","sex","familyid","mage","firstresulttime","MeasureResult","isedit","isDrawe","isConnected","isBluetoothTyle","configBox","familayList","historyList","Banner","Trend","TrendPk","isTarget","isFirst","isRecord","isLogin","isLogout","appTheme","devHomePram","mutations","toggleColor","color","changeUser","newData","setStorageSync","changeUserLogin","changehistoryList","changeMeasureResult","changeEdit","changeTarget","changeFirst","changeRecord","changeDrawe","changeFamilay","changeBluetooth","changeConnected","changeTrend","changeTrendPk","changeBanner","changeConfig","changeLogout","devTypeList","changeDevType","modules","actions","getUserInfo","account","commit","model","getResult","log","code","gethistoryList","getHistoryList","items","GetBodyTrendList","cidata","getFamilyList","pagenum","pagesize","rows","appid","config","getConfig","themecolor","onlogin","param","http","post","getSendCode","getRegister","getregister","getWxOpenPhone","getDecryptdata","getoutlogin","submitadvice","getfirstweight","setTarget","getbodylist","box","k","n","qalist","info","Id","title","nonevalue","valId","littlevalue","somevalue","oftenvalue","alwaysvalue","getbodyinfo","getbodyresultinfo","getsubmit","getdelete","getdetail","getaddlist","getinsertmeasure","getmeasure","getmeasuredata","getmeasurefunit","gethistorydelete","getTrendList","list","categories","series","bmi","muscle","fat_r","time","GetTrendList","pkList","Dlist","includes","createtime","getresultdiff","getdevactive","getdevstatus","getdevdetail","GetTplList","GetSubscribe","GetSubscribeInfo","Getunsubscribe","GetAdListDetail","getBannerList","getBannerDetail","baseUrl","configPro","host","httpRequest","httpDefaultOpts","header","showLoading","request","hideLoading","clearStorageSync","statusCode","tools","msg","response","str2hex","hex2str","ab2hex","inArray","getAge","getTime","getDate","getMonth","GetDateStr","handlePages","getBluetoothAdapter","showToast","icon","buffer","hexArr","Uint8Array","bit","decoder","TextDecoder","uint8","decode","encoder","TextEncoder","showModal","content","showCancel","modalSuccess","openSetting","settingdata","authSetting","openBluetoothAdapter","duration","date","year","getFullYear","month","day","AddDayCount","dd","setDate","y","m","d","todate","r","match","returnStr","yearNow","monthNow","dayNow","largeMonths","lastMonth","isLeapYear","daysOFMonth","Y","M","D","dates","months","substring","abs","navigateTo","accountInfo","getAccountInfoSync","miniProgram","appId","envVersion","module","exports","showCon","dw","fvalue","svalue","fevaluation","sevaluation","vs","num","desc","level","slist","scope","leftval","infoList","listStr","j","text","minvalue","maxvalue","globalThis","window","self","__esModule","path","require","s","lib","o","Base","mixIn","init","$super","clone","WordArray","words","sigBytes","clamp","ceil","a","enc","Hex","u","Latin1","h","Utf8","escape","unescape","l","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","blockSize","max","_minBufferSize","min","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","sin","MD5","_hash","f","p","g","w","S","T","A","P","I","b","E","O","C","HmacMD5","_hasher","_oKey","_iKey","toLowerCase","_globalUniCloudObj","reduce","isReady","initUniCloud","defineProperties","requestId","LOCALE","PLATFORM","OS","APPID","DEVICEID","CLIENT_SDK_VERSION","sign","sort","wrappedRequest","uploadFile","removeStorageSync","en","fr","es","ja","U","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","trim","getOSSUploadOptionsFromPath","env","filename","cdnDomain","ossPath","OSSAccessKeyId","accessKeyId","Signature","signature","policy","success_action_status","fileName","uploadFileToOSS","reportOSSUpload","fileID","fileList","tempFileURL","signInAnonymously","authorize","getLoginState","auth","customAuth","location","R","local","none","session","q","L","F","N","$","isMatch","genAdapter","runtime","WEB","WX_MP","B","K","root","tcbObject","H","localStorage","sessionStorage","W","_storage","_persistence","primaryStorage","persistence","accessTokenExpireKey","refreshTokenKey","anonymousUuidKey","loginTypeKey","userInfoKey","getItem","setItem","removeItem","version","z","J","V","X","G","_listeners","_listens","Q","on","Z","fire","ee","off","te","ne","se","re","oe","ie","ANONYMOUS","WECHAT","WECHAT_PUBLIC","WECHAT_OPEN","EMAIL","USERNAME","NULL","ae","ce","ue","headers","append","he","seqId","le","_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","de","fe","pe","_request","setLocalUserInfo","ge","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","username","users","wxOpenId","wxPublicId","hasPrimaryUid","nickName","gender","avatarUrl","province","country","city","me","credential","refreshToken","loginType","ye","updatePersistence","uuid","_setAnonymousUUID","refresh","_clearAnonymousUUID","_e","refreshUserInfo","we","email","password","ke","Se","_onAnonymousConverted","bind","_onLoginTypeChanged","signIn","_anonymousAuthProvider","linkAndRetrieveDataWithTicket","hasLoginState","isRegistered","ve","authorization","fileId","cosFileId","Te","Ae","fileid_list","delete_list","Pe","fileid","max_age","maxAge","file_list","download_list","Ie","download_url","encodeURI","be","function_name","request_data","response_data","Ee","Oe","Ce","authObj","requestClient","Ue","xe","De","Re","clear","qe","useAdapters","Le","Fe","Ne","$e","Me","je","fileUrl","Be","Ke","clientInfo","uniIdToken","He","localAddress","localPort","aliyun","tencent","_originCallFunction","errCode","We","rule","mode","ze","Je","RegExp","source","Ve","Ye","functionName","logPvd","useDebugFunction","Xe","callFunction","extraInfo","formatter","debugInfo","forceRemote","Ge","Symbol","Qe","_internalType","__ob__","Ze","et","tt","nt","$regexp","flags","$date","toISOString","st","prevStage","udb","_database","$db","reverse","$method","$param","toJSON","_send","from","getAction","getCommand","_callCloudFunction","command","useAggregate","rt","ot","$newDb","it","multiCommand","queryList","setResult","dataList","_uniClient","systemInfo","_callback","_callbackAuth","affectedDocs","uniClient","_authCallBacks","_dbCallBacks","isDefault","$env","Geo","serverDate","at","database","ct","ut","ht","lt","dt","tempFiles","lastIndexOf","tempFilePaths","onChooseFile","tempFile","tempFilePath","initChooseAndUploadFile","count","sizeType","sourceType","extension","chooseImage","camera","compressed","maxDuration","chooseVideo","width","chooseFile","chooseMessageFile","ft","pt","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","gt","mt","initUniCloudStatus","setTimeout","address","servePort","port","initialLaunchType","yt","debugFunction","navigator","userAgent","reInit","chooseAndUploadFile","mixinDatacom","uniCloud","_t","yAxisWidth","yAxisSplit","xAxisHeight","xAxisLineHeight","legendHeight","yAxisTitleWidth","padding","rotate","columePadding","fontSize","fontColor","dataPointShape","linearColor","pieChartLinePadding","pieChartTextPadding","xAxisTextPadding","titleColor","titleFontSize","subtitleColor","subtitleFontSize","toolTipPadding","toolTipBackground","toolTipOpacity","toolTipLineHeight","radarLabelTextMargin","gaugeLabelTextMargin","varArgs","TypeError","deepAssign","obj1","obj2","util","toFixed","isFloat","approximatelyEqual","num1","num2","isSameSign","isSameXCoordinateArea","p1","p2","isCollision","end","start","flag","getH5Offset","changedTouches","offsetX","offsetY","lonlat2mercator","longitude","latitude","mercator","tan","PI","mercator2lonlat","lonlat","atan","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","validDistance","uevent","trigger","scrollOption","position","xAxis","scrollPosition","isInAngleRange","angle","startAngle","endAngle","adjust","calRotateTranslate","xv","yv","transX","sqrt","transY","createCurveControlPoints","points","isNotMiddlePoint","isNotMiddlePointX","pAx","pAy","pBx","pBy","last","ctrA","ctrB","convertCoordinateOrigin","avoidCollision","fixPieSeries","pieSeriesArr","_pieSeries_","oldseries","fillSeries","linearIndex","pointShape","legendShape","fillCustomColor","linearType","customColor","newcolor","chazhi","getDataRange","minData","maxData","range","minRange","maxRange","measureText","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","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","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","findRoseChartCurrentIndex","pieData","getRoseDataPoints","_series_","rose","_start_","_rose_proportion_","findPieChartCurrentIndex","getPieDataPoints","_proportion_","pow","splitPoints","eachSeries","newPoints","connectNulls","calLegendData","wholeWidth","wholeHeight","widthArr","heightArr","legend","margin","shapeWidth","shapeRight","lineHeight","legendList","widthCount","widthCountArr","currentRow","itemWidth","itemGap","legendWidth","float","maxHeight","maxLength","lineNum","temp","maxWidth","calCategoriesData","categoriesTextLenth","maxTextLength","rotateLabel","getXAxisTextList","sorted","subitem","rangeSpan","eachRange","splitNumber","calXAxisData","ranges","rangesFormat","xAxisScaleValues","getXAxisPoints","textLength","disabled","getRadarDataPoints","radarOption","radar","each","listItem","proportion","cos","_radius_","getFunnelDataPoints","minRadius","dataArr","radiusLength","getArcbarDataPoints","arcbarOption","totalAngle","getGaugeAxisPoints","tempStartAngle","_startAngle_","_endAngle_","getGaugeDataPoints","gaugeOption","pointer","_oldAngle_","oldAngle","oldData","getPieTextMaxLength","textSize","fixColumeData","columnLen","seriesGap","categoryGap","mix","column","fixColumeMeterData","border","fixColumeStackData","indexn","spacingValid","dataCount","enableScroll","itemCount","startX","endX","getCandleDataPoints","validHeight","cPoints","indexs","point","getDataPoints","validWidth","xranges","xminRange","xmaxRange","pop","getStackDataPoints","seriesIndex","stackSeries","value0","height0","heightc","y0","getYAxisTextList","stack","yData","dataRange","yAxis","calYAxisData","columnstyle","YLength","rangesArr","rangesFormatArr","yAxisWidthArr","tofix","unit","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","startY","fillText","_textWidth","_startX","_startY","drawPointText","textOffset","textColor","formatVal","setTextAlign","drawGaugeLabel","centerPosition","labelOffset","splitAngle","splitLine","totalNumber","endNumber","startNumber","nowAngle","nowNumber","pos","labelText","labelColor","drawRadarLabel","posRelativeCanvas","drawPieText","lineRadius","textObjectCollection","lastTextObject","seriesConvert","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","bgStartX","bgEndX","bgWidth","drawToolTipHorizentalLine","yAxisLabel","tStartLeft","tStartRight","drawToolTipSplitArea","activeBgColor","activeBgOpacity","drawToolTip","showBox","showArrow","showCategory","bgColor","bgOpacity","borderColor","borderWidth","borderRadius","borderOpacity","unshift","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","drawCandleDataPoints","seriesMA","candleOption","average","candle","upLine","downLine","leftSpace","rightSpace","splitPointList","startPoint","ctrlPoint","bezierCurveTo","drawAreaDataPoints","areaOption","opacity","addLine","gradient","firstPoint","lastPoint","lineType","drawScatterDataPoints","scatterOption","scatter","drawBubbleDataPoints","bubbleOption","bubble","drawLineDataPoints","lineOption","line","drawMixDataPoints","columnIndex","columnLength","addPoint","drawToolTipBridge","horizentalLine","drawXAxis","scrollShow","scrollY","scrollScreenWidth","scrollTotalWidth","scrollWidth","scrollLeft","setLineCap","scrollBackgroundColor","scrollColor","disableGrid","gridEval","maxXAxisListLength","labelCount","ratio","newCategories","cgLength","xAxisFontSize","_xAxisTextAngle_","xitem","scrollHeight","_calRotateTranslate","axisLine","axisLineColor","drawYAxisGrid","xAxiseachSpacing","TotalWidth","drawYAxis","fillEndY","textAlign","tmpstrat","gapwidth","showTitle","titleOffsetX","titleOffsetY","drawLegend","legendArea","backgroundColor","itemList","listIndex","hiddenColor","fontTrans","drawPieDataPoints","pieOption","activeOpacity","activeRadius","offsetAngle","labelWidth","ringWidth","customRadius","centerColor","pie","ring","_pieTextMaxLength_","lineJoin","fillcolor","createCircularGradient","createRadialGradient","innerPieWidth","valid","drawRoseDataPoints","roseOption","drawArcbarDataPoints","arcbar","centerX","centerY","drawGaugeDataPoints","fixRadius","childNumber","childWidth","gauge","innerRadius","pieRadius","childAngle","proc","pointerRadius","gradient3","eachCategories","childendX","drawRadarDataPoints","gridCount","coordinateAngle","xr","yr","_loop","startPos","radarDataPoints","normalInt","iter","collisionNew","isIn","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","getWordCloudPoint","tHeight","tWidth","breaknum","Spin","isSpin","areav","drawWordCloudDataPoints","wordOption","autoColors","word","wordCloudData","strokeText","drawFunnelDataPoints","funnelOption","activeWidth","labelAlign","funnel","drawFunnelText","drawCanvas","Timing","easeIn","easeOut","easeInOut","linear","Animation","isStop","timing","delay","createAnimationFrame","step","timeStamp","requestAnimationFrame","animationFrame","startTimeStamp","_step","onProcess","onAnimationFinish","timingFunction","stop","drawCharts","_this","animation","animationInstance","_calLegendData","_calYAxisData","maxTitleHeight","rightIndex","leftIndex","_calCategoriesData","categoriesData","scrollAlign","offsetLeft","totalWidth","screenWidth","currentOffset","startTouchX","lastMoveTime","clearRect","_drawLineDataPoints","enableMarkLine","_drawScatterDataPoints","_drawBubbleDataPoints","_drawMixDataPoints","_drawColumnDataPoints","_drawAreaDataPoints","arcbarData","gaugeData","_drawCandleDataPoints","uChartsEvent","events","addEventListener","listener","delEventListener","_len","_key","uCharts","canvas2d","config$$1","tempWidth","tempHeight","strokeStyle","lineWidth","lineCap","font","fillStyle","updateData","_getXAxisPoints0","zoom","centerLeft","MaxLeft","stopAnimation","getCurrentDataIndex","_touches$","getLegendDataIndex","touchLegend","showToolTip","_getToolTipData","_getMixToolTipData","scrollStart","scroll","Limit","touchMoveLimit","currMoveTime","_distance","scrollEnd","_scrollOption","formatDateTime","returnType","setTime","getHours","minute","getMinutes","second","getSeconds","category","makeMap","block","inline","closeSelf","removeDOCTYPE","html","isDocument","$1","trimHtml","getScreenInfo","screen","html2json","customHandler","imageProp","wxDiscode","strDiscode","bufArray","results","nodes","imageUrls","Node","tag","node","$screen","attrs","unary","tagType","attr","pre","classStr","styleStr","imgUrl","src","urlToHttpUrl","domain","href","styleAttrs","face","chars","strNumDiscode","strGreeceDiscode","strcharacterDiscode","strOtherDiscode","startTag","endTag","empty","fillAttrs","HTMLParser","parseEndTag","tagName","parseStartTag","rest","genAttr","matches","escaped","isObject","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","char","sub","isClosed","compiled","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","defaultFormatter","include","parts","part","startsWith","normalizeLocale","lang","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","getDefaultLocale","initVueI18n","isWatchedAppLocale","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain"],"mappings":"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B;AACApf,EAAE,CAAC0f,YAAH,GAAkBA,YAAlB;;AAEA,IAAIK,KAAK,GAAGF,GAAZ,C;;AAEeE,K;;;;;;;;;;;;;AC9hEf;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClHA;AACA,OAAO,KAAU,EAAE,kBAKd;;;;;;;;;;;;ACNL;AACA,OAAO,KAAU,EAAE,kBAKd;;;;;;;;;;;;ACNL;AACA,OAAO,KAAU,EAAE,kBAKd;;;;;;;;;;;;ACNL;AACA,OAAO,KAAU,EAAE,kBAKd;;;;;;;;;;;;;kICNL;AACA;AACA,mF;AACAhf,aAAIif,GAAJ,CAAQC,aAAR,E;AACe,IAAIA,cAAKC,KAAT,CAAe;AAC5B;AACA5H,OAAK,EAAE;AACL6H,QAAI,EAAE;AACJC,aAAO,EAAE,IADL;AAEJlb,UAAI,EAAE,EAFF;AAGJmb,cAAQ,EAAE,EAHN;AAIJC,kBAAY,EAAE,CAJV,EAIa;AACjBC,iBAAW,EAAE,CALT,EAKY;AAChBC,YAAM,EAAE,CANJ;AAOJC,cAAQ,EAAE,EAPN;AAQJC,YAAM,EAAE,CARJ;AASJC,SAAG,EAAE,GATD;AAUJC,SAAG,EAAE,CAVD;AAW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AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,sCAAsC;AACtC;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,wGAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,wGAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,wGAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,wGAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE,SAAS;AACtH;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEe,kEAAG,EAAC;;;;;;;;;;;;;ACh6LnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,KAAK;AACL,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC,cAAc;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,kBAAkB;AACnD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,iBAAiB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,QAAQ;AACtD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;;AAEA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,8CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AA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GAAG,GAAG,gBAAgB;AACtB;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,2BAA2B,EAAE;AACnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B,EAAE;AACvE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,cAAc,qBAAqB;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,oCAAoC,EAAE;AAClE;AACA;;AAEA;AACA,4BAA4B;AAC5B,uEAAuE,EAAE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;;AAER;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,uBAAuB,EAAE;;AAE9D;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS,qBAAqB;;AAE1D;AACA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,6BAA6B,oCAAoC,EAAE;;AAEnE;AACA,KAAK,KAAqC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD,+BAA+B,yCAAyC,EAAE;AAC1E,GAAG;AACH,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,wCAAwC,EAAE;AAC7E,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,+CAA+C,EAAE;AACpF,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC,aAAa;AACtD;AACA;;AAEA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA,6CAA6C,6CAA6C,EAAE;AAC5F;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB,EAAE;AACjD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,yBAAyB,EAAE;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,aAAoB;AACtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C,uBAAuB,2CAA2C;AAClE,KAAK;AACL;AACA,wBAAwB,0CAA0C;AAClE;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,4BAA4B;AAC5D,SAAS,IAAqC;AAC9C;AACA;AACA,GAAG,GAAG,yBAAyB;AAC/B;;AAEA;AACA,4CAA4C,mBAAmB,EAAE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW;AACX;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA,iCAAiC,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAC1F,iBAAiB,iBAAiB,QAAQ,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB;AACzG,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,UAAU,qBAAqB,EAAE,EAAE;AACjE,2CAA2C,UAAU,0BAA0B,EAAE,EAAE;AACnF;;AAEA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC;AAChC,0BAA0B,iFAAiF,aAAa;AACxH,oCAAoC,+DAA+D,cAAc;AACjH,oDAAoD,6EAA6E,YAAY;AAC7I,sCAAsC,yEAAyE,aAAa;AAC5H,gDAAgD,yEAAyE,YAAY;AACrI,sCAAsC;AACtC,kCAAkC;AAClC,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;AACtD,oDAAoD;AACpD,sDAAsD;AACtD;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA","file":"common/vendor.js","sourcesContent":["import Vue from 'vue';\r\nimport { initVueI18n } from '@dcloudio/uni-i18n';\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\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|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale/;\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'];\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\nfunction getLocale () {\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 wx.getSystemInfoSync().language || 'zh-Hans'\r\n}\r\n\r\nfunction setLocale (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;\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,\r\n setLocale: setLocale,\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 addUuid (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.windowHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n addUuid(result);\r\n addSafeAreaInsets(result);\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};\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\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null\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 = '') {\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 properties.generic = {\r\n type: Object,\r\n value: null\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 throw new Error(` _vm.${methodName} is not a function`)\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 messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = wx.getSystemInfoSync().language;\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$1 = i18n.setLocale;\r\nconst getLocale$1 = 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\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\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, wx.getSystemInfoSync().language || 'zh-Hans');\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),\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","/* 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","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1654913024389\n var cssReload = require(\"D:/360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1654913027534\n var cssReload = require(\"D:/360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1654913022149\n var cssReload = require(\"D:/360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1654913022153\n var cssReload = require(\"D:/360Downloads/Software/HBuilderX.3.3.13.20220314/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport actions from './actions.js'\r\nVue.use(Vuex)\r\nexport default new Vuex.Store({\r\n // state: 存储基本数据\r\n state: {\r\n user: {\r\n headimg: null,\r\n name: \"\",\r\n nickname: \"\",\r\n targetweight: 0, //目标体重\r\n firstweight: 0, //初始体重\r\n weight: 0,\r\n birthday: \"\",\r\n height: 0,\r\n age: \"0\",\r\n sex: 0,\r\n familyid: 0,\r\n mage: \"\",\r\n firstresulttime: \"\"\r\n },\r\n MeasureResult: {},\r\n isedit: false,\r\n isDrawe: false,\r\n isConnected: false,\r\n isBluetoothTyle: false,\r\n configBox: {},\r\n familayList: [],\r\n historyList: [],\r\n Banner: [],\r\n Trend: {},\r\n TrendPk: {},\r\n isTarget: false,\r\n isFirst: false,\r\n isRecord: false,\r\n isLogin: false,\r\n isLogout: true,\r\n appTheme: '',\r\n devHomePram: {}\r\n },\r\n // mutations: Store中更改state数据状态的唯一方法(必须是同步函数)\r\n mutations: {\r\n toggleColor(state, color) { //你可以传入一个颜色参数(需要上面公共css中含有,如果不传入默认为粉色)\r\n state.appTheme = color\r\n },\r\n /* 用户信息 */\r\n changeUser(state, newData) {\r\n if (newData.familyid) {\r\n uni.setStorageSync('familyid', newData.familyid);\r\n }\r\n if (newData.birthday) {\r\n uni.setStorageSync('birthday', newData.birthday);\r\n }\r\n if (newData.height) {\r\n uni.setStorageSync('height', newData.height);\r\n }\r\n if (newData.sex) {\r\n uni.setStorageSync('sex', newData.sex);\r\n }\r\n Object.assign(state.user, newData)\r\n },\r\n //登录弹框\r\n changeUserLogin(state, newData) {\r\n state.isLogin = newData\r\n },\r\n //历史记录\r\n changehistoryList(state, newData) {\r\n state.historyList = newData\r\n },\r\n // 获取称重数据\r\n changeMeasureResult(state, newData) {\r\n state.MeasureResult = newData\r\n },\r\n // 信息弹框\r\n changeEdit(state, newData) {\r\n state.isedit = newData\r\n },\r\n // 目标体重\r\n changeTarget(state, newData) {\r\n state.isTarget = newData\r\n },\r\n // 初始体重\r\n changeFirst(state, newData) {\r\n state.isFirst = newData\r\n },\r\n // 手动记录\r\n changeRecord(state, newData) {\r\n state.isRecord = newData\r\n },\r\n // 左侧菜单弹框\r\n changeDrawe(state, newData) {\r\n state.isDrawe = newData\r\n },\r\n //获取家庭成员\r\n changeFamilay(state, newData) {\r\n state.familayList = newData\r\n },\r\n //蓝牙状态\r\n changeBluetooth(state, newData) {\r\n state.isBluetoothTyle = newData\r\n },\r\n // 蓝牙连接状态\r\n changeConnected(state, newData) {\r\n state.isConnected = newData\r\n },\r\n //趋势\r\n changeTrend(state, newData) {\r\n state.Trend = newData\r\n },\r\n //对比\r\n changeTrendPk(state, newData) {\r\n state.TrendPk = newData\r\n },\r\n // banner\r\n changeBanner(state, newData) {\r\n state.Banner = newData\r\n },\r\n //配置详情\r\n changeConfig(state, newData) {\r\n state.configBox = newData\r\n },\r\n // 退出登录\r\n changeLogout(state, newData) {\r\n if (newData == false) {\r\n state.user = {\r\n headimg: null,\r\n nickname: \"\",\r\n name: \"\",\r\n targetweight: 0, //目标体重\r\n firstweight: 0, //初始体重\r\n weight: 0,\r\n birthday: \"\",\r\n height: 0,\r\n age: 0,\r\n sex: 0,\r\n familyid: 0,\r\n firstresulttime: \"\"\r\n }\r\n state.Trend = null\r\n state.historyList = null\r\n state.devTypeList = null\r\n }\r\n state.isLogout = newData\r\n },\r\n changeDevType(state, newData) {\r\n state.devHomePram = newData\r\n }\r\n\r\n },\r\n // 模块化vuex\r\n modules: {},\r\n actions\r\n})\r\n","import model from \"../tools/model.js\"\r\nimport tools from '@/tools/tools.js'\r\nimport config from '@/config.js'\r\n// Action 包含异步操作(请求API方法)、回调函数提交mutaions更改state数据状态,使之可以异步\r\nexport default {\r\n // 用户信息\r\n getUserInfo({\r\n commit\r\n },\r\n account) {\r\n return model.getUserInfo(account).then(res => {\r\n commit('changeUser', res.data)\r\n if (!res.data.height || !res.data.mage || !res.data.birthday) {\r\n uni.redirectTo({\r\n url: `/pageTwo/login/userinfo`\r\n })\r\n return\r\n }\r\n });\r\n },\r\n // 获取称重结果\r\n getResult({\r\n commit\r\n }, account) {\r\n return model.getResult(account).then((res) => {\r\n console.log(\"报告\", res)\r\n if (res.code == 0) {\r\n commit('changeMeasureResult', res.data)\r\n } else {\r\n commit('changeMeasureResult', null)\r\n }\r\n return res.data\r\n })\r\n },\r\n // 获取历史记录\r\n gethistoryList({\r\n commit\r\n }, account) {\r\n return model.getHistoryList(account).then((res) => {\r\n if (res.data && res.data.items) {\r\n commit('changehistoryList', res.data.items)\r\n } else {\r\n commit('changehistoryList', null)\r\n }\r\n return res\r\n })\r\n },\r\n //趋势\r\n GetBodyTrendList({\r\n commit\r\n }, account) {\r\n return model.GetBodyTrendList(account).then((res) => {\r\n if (res) {\r\n commit('changeTrend', res.cidata)\r\n }\r\n return res\r\n })\r\n },\r\n // 更新家庭成员\r\n getFamilyList({\r\n commit\r\n }) {\r\n return model.getFamilyList({\r\n pagenum: 20,\r\n pagesize: 1\r\n }).then((res) => {\r\n commit('changeFamilay', res)\r\n return res\r\n })\r\n },\r\n // 获取历史记录\r\n gethistoryList({\r\n commit\r\n }, account) {\r\n return model.getHistoryList(account).then((res) => {\r\n if (res.data && res.data.rows) {\r\n commit('changehistoryList', res.data.rows)\r\n } else {\r\n commit('changehistoryList', null)\r\n }\r\n return res\r\n })\r\n },\r\n\r\n // 配置详情\r\n getConfig({\r\n commit\r\n }, account) {\r\n account.appid = config.appid\r\n return model.getConfig(account).then((res) => {\r\n console.log(\"配置详情\", res)\r\n if (res.code == 0) {\r\n commit(\"changeConfig\", res.data)\r\n commit(\"toggleColor\", res.data.themecolor)\r\n }\r\n })\r\n }\r\n}\r\n","import http from './https.js'\r\nexport default {\r\n onlogin(param) { // 登录\r\n return http.post(\"/api/wxopen/onlogin\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getSendCode(param) { // 验证码\r\n return http.get(\"/api/wxopen/sendcode\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getRegister(param) { // 手机号进行注册\r\n return http.post(\"/api/wxopen/deregister\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getregister(param) { // 微信授权登录\r\n return http.post('/api/wxopen/register', param).then(res => {\r\n return res\r\n })\r\n },\r\n getWxOpenPhone(param) { // 解密手机号\r\n return http.post('/api/wxopen/deuserphone', param).then(res => {\r\n return res\r\n })\r\n },\r\n getDecryptdata(param) { // 解密用户资料\r\n return http.post(\"/api/wxopen/deuserinfo\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getConfig(param) { // 配置详情\r\n return http.post(\"/api/wxopen/config/get\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getoutlogin(param) { // 退出登录\r\n return http.get(\"/api/wxopen/outlogin\", param).then(res => {\r\n return res\r\n })\r\n },\r\n submitadvice(param) { // 意见反馈\r\n return http.post(\"/api/wxopen/submitadvice\", param).then(res => {\r\n return res\r\n })\r\n },\r\n // \r\n getUserInfo(param) { //获取用户信息\r\n return http.post(\"/api/adult/info\", param).then(res => {\r\n if (res.code == 0) {\r\n res.data.name = res.data.nickname\r\n res.data.id = res.data.familyid\r\n // res.data.firstresulttime = res.data.firstresulttime.substring(0, 10)\r\n }\r\n return res\r\n })\r\n },\r\n getResult(param) { //获取成人测量信息\r\n return http.post(\"/api/adult/measureinfo\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getfirstweight(param) { //修改初始体重\r\n return http.post(\"/api/adult/submitfirstweight\", param).then(res => {\r\n return res\r\n })\r\n },\r\n setTarget(param) { //设置目标体重\r\n return http.post(\"/api/family/settarget\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getbodylist(param) { //测评列表\r\n return http.post(\"/api/adult/getbodylist\", param).then(res => {\r\n if (res.code == 0) {\r\n let box = res.data\r\n let k = 1\r\n for (var n = 0; n < box.length; n++) {\r\n for (var i = 0; i < box[n].qalist.length; i++) {\r\n let info = box[n].qalist[i]\r\n box[n].qalist[i] = {\r\n Id: info.id,\r\n title: info.title,\r\n data: [{\r\n id: info.id,\r\n val: k++,\r\n value: info.nonevalue,\r\n valId: box[n].id,\r\n name: '没有',\r\n },\r\n {\r\n id: info.id,\r\n val: k++,\r\n value: info.littlevalue,\r\n valId: box[n].id,\r\n name: '很少',\r\n },\r\n {\r\n id: info.id,\r\n val: k++,\r\n value: info.somevalue,\r\n valId: box[n].id,\r\n name: '有时',\r\n },\r\n {\r\n id: info.id,\r\n val: k++,\r\n value: info.oftenvalue,\r\n valId: box[n].id,\r\n name: '经常',\r\n },\r\n {\r\n id: info.id,\r\n val: k++,\r\n value: info.alwaysvalue,\r\n valId: box[n].id,\r\n name: '总是',\r\n }\r\n ]\r\n\r\n }\r\n }\r\n }\r\n res.data = box\r\n }\r\n return res\r\n })\r\n },\r\n getbodyinfo(param) { //体质测评结果\r\n return http.post(\"/api/adult/getbodyinfo\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getbodyresultinfo(param) { //体质测评计算\r\n return http.post(\"/api/adult/getbodyresultinfo\", param).then(res => {\r\n return res\r\n })\r\n },\r\n // \r\n getFamilyList(param) { // 获取家庭成员列表\r\n return http.post('/api/family/getlist', param).then(res => {\r\n if (res.data) {\r\n for (let i = 0; i < res.data.length; i++) {\r\n res.data[i].familyid = res.data[i].id\r\n res.data[i].type = res.data[i].type == 1 ? \"成人\" : res.data[i].type == 2 ? \"儿童\" : \"婴儿\"\r\n }\r\n }\r\n return res.data\r\n })\r\n },\r\n getsubmit(param) { //家庭成员信息修改\r\n return http.post('/api/family/submit', param).then(res => {\r\n return res\r\n })\r\n },\r\n getdelete(param) { //删除家庭成员\r\n return http.get('/api/family/delete', param).then(res => {\r\n return res\r\n })\r\n },\r\n\r\n getdetail(param) { //家庭成员详情\r\n return http.get('/api/family/detail', param).then(res => {\r\n return res\r\n })\r\n },\r\n getHistoryList(param) { //获取指定家庭成员历史记录\r\n return http.post('/api/family/gethistorylist', param).then(res => {\r\n return res\r\n })\r\n },\r\n getaddlist(param) { //手动添加记录列表\r\n return http.post('/api/family/getaddlist', param).then(res => {\r\n return res\r\n })\r\n },\r\n // \r\n getinsertmeasure(param) { //手动记录\r\n return http.post('/api/result/insertmeasure', param).then(res => {\r\n return res\r\n })\r\n },\r\n getmeasure(param) { //新增蓝牙测量记录\r\n return http.post('/api/result/measure', param).then(res => {\r\n return res\r\n })\r\n },\r\n getmeasuredata(param) { //新增蓝牙测量记录,适用于f01pro\r\n return http.post('/api/result/measuredata', param).then(res => {\r\n return res\r\n })\r\n },\r\n getmeasurefunit(param) { //新增蓝牙测量记录,身高带单位\r\n return http.post('/api/result/measureofunit', param).then(res => {\r\n return res\r\n })\r\n },\r\n gethistorydelete(param) { //删除历史记录\r\n return http.post(\"/api/result/delete\", param).then(res => {\r\n return res\r\n })\r\n },\r\n getTrendList(param) { //趋势\r\n return http.post(\"/api/result/trendlist\", param).then(res => {\r\n if (res.code == 0) {\r\n let list = res.data\r\n let cidata = {\r\n weight: {\r\n categories: [],\r\n series: [{\r\n color: \"#ff9f40\",\r\n name: \"体重\",\r\n data: [],\r\n }]\r\n },\r\n bmi: {\r\n categories: [],\r\n series: [{\r\n name: \"bmi\",\r\n color: \"#5ba7ff\",\r\n data: [],\r\n }]\r\n },\r\n muscle: {\r\n categories: [],\r\n series: [{\r\n color: \"#ff7f91\",\r\n name: \"肌肉\",\r\n data: [],\r\n }]\r\n },\r\n fat_r: {\r\n categories: [],\r\n series: [{\r\n color: \"#3fcba7\",\r\n name: \"脂肪\",\r\n data: [],\r\n }]\r\n }\r\n }\r\n\r\n for (var i = 0; i < list.length; i++) {\r\n cidata.weight.categories.push(list[i].time);\r\n cidata.bmi.categories.push(list[i].time);\r\n cidata.muscle.categories.push(list[i].time);\r\n cidata.fat_r.categories.push(list[i].time);\r\n cidata.weight.series.forEach(item => {\r\n item.data.push(list[i].weight)\r\n })\r\n cidata.bmi.series.forEach(item => {\r\n item.data.push(list[i].bmi)\r\n })\r\n cidata.muscle.series.forEach(item => {\r\n item.data.push(list[i].muscle)\r\n })\r\n cidata.fat_r.series.forEach(item => {\r\n item.data.push(list[i].fat_r)\r\n })\r\n }\r\n res.data = cidata\r\n }\r\n return res.data\r\n })\r\n },\r\n //对比列表\r\n GetTrendList(param) {\r\n return http.post(\"/api/result/trendlist\", param).then(res => {\r\n if (res.code == 0) {\r\n let pkList = {\r\n list: [],\r\n Dlist: []\r\n }\r\n for (var i = 0; i < res.data.length; i++) {\r\n pkList.list.push(res.data[i])\r\n if (!pkList.Dlist.includes(res.data[i].createtime)) { //includes 检测数组是否有某个值\r\n pkList.Dlist.push(res.data[i].createtime);\r\n }\r\n }\r\n res.data.pkList = pkList\r\n }\r\n return res.data\r\n })\r\n },\r\n getresultdiff(param) { //记录对比\r\n return http.post(\"/api/result/resultdiff\", param).then(res => {\r\n return res\r\n })\r\n },\r\n\r\n // \r\n getdevactive(param) { //设备激活\r\n return http.post('/api/device/active', param).then(res => {\r\n return res\r\n })\r\n },\r\n getdevstatus(param) { //检查设备状态\r\n return http.get('/api/device/checkdevstatus', param).then(res => {\r\n return res\r\n })\r\n },\r\n getdevdetail(param) { //设备详情\r\n return http.post('/api/device/detail', param).then(res => {\r\n return res\r\n })\r\n },\r\n //\r\n GetTplList(param) { //获取消息模板列表\r\n return http.get('/api/message/gettplList', param).then(res => {\r\n return res\r\n })\r\n },\r\n GetSubscribe(param) { //消息订阅\r\n return http.post('/api/message/subscribe', param).then(res => {\r\n return res\r\n\r\n })\r\n },\r\n GetSubscribeInfo(param) { //获取订阅状态\r\n return http.get('/api/message/getsubscribeinfo', param).then(res => {\r\n return res\r\n })\r\n },\r\n Getunsubscribe(param) { //取消订阅\r\n return http.post('/api/message/unsubscribe', param).then(res => {\r\n return res\r\n })\r\n },\r\n // 协议\r\n GetAdListDetail(param) {\r\n return http.get('/api/zx/infodetail', param).then(res => {\r\n return res\r\n })\r\n },\r\n // banner\r\n getBannerList(param) { //取消订阅\r\n return http.post('/api/banner/getlist', param).then(res => {\r\n return res\r\n })\r\n },\r\n getBannerDetail(param) { //banner详情\r\n return http.post('/api/banner/detail', param).then(res => {\r\n return res\r\n })\r\n },\r\n}\r\n","import tools from '@/tools/tools.js'\r\nimport store from '../store'\r\nimport config from '@/config.js'\r\n\r\nlet baseUrl = config.configPro.host\r\nconst httpRequest = (url, method = \"get\", data) => {\r\n\tlet httpDefaultOpts = {\r\n\t\turl: baseUrl + url,\r\n\t\tdata: data,\r\n\t\tmethod: method,\r\n\t\theader: {\r\n\t\t\t'Authorization': \"Bearer \" + uni.getStorageSync('token'),\r\n\t\t\t'X-Authorization': \"Bearer \" + uni.getStorageSync('refreshtoken'),\r\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\r\n\t\t\t'content-type': 'application/json;charset=UTF-8',\r\n\t\t},\r\n\t}\r\n\tlet promise = new Promise(function(resolve, reject) {\r\n\t\tif (httpDefaultOpts.url.indexOf(\"/api/device/detail\") == -1) {\r\n\t\t\tuni.showLoading({\r\n\t\t\t\ttitle: '加载中...'\r\n\t\t\t})\r\n\t\t}\r\n\t\tuni.request(httpDefaultOpts).then(\r\n\t\t\t(res) => {\r\n\t\t\t\tuni.hideLoading()\r\n\t\t\t\tif (res[1].data.code == 401) {\r\n\t\t\t\t\tuni.clearStorageSync()\r\n\t\t\t\t\tuni.setStorageSync('token', \"\")\r\n\t\t\t\t\tstore.commit(\"changeLogout\", false);\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t\tif (res[1].statusCode != 200) {\r\n\t\t\t\t\ttools.msg(res[1].data.message)\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t\tresolve(res[1].data)\r\n\t\t\t}\r\n\t\t).catch(\r\n\t\t\t(response) => {\r\n\t\t\t\tuni.hideLoading()\r\n\t\t\t\treject(response)\r\n\t\t\t}\r\n\t\t)\r\n\t})\r\n\treturn promise\r\n\r\n};\r\nconst get = (url, data) => {\r\n\tdata.appid = config.appid\r\n\treturn httpRequest(url, 'get', data)\r\n}\r\n\r\nconst post = (url, data) => {\r\n\tdata.appid = config.appid\r\n\treturn httpRequest(url, 'post', data)\r\n}\r\nexport default {\r\n\tbaseUrl,\r\n\tget,\r\n\tpost\r\n}\r\n","import $store from '@/store'\r\nexport default {\r\n msg,\r\n str2hex,\r\n hex2str,\r\n ab2hex,\r\n inArray,\r\n getAge,\r\n getTime,\r\n getDate,\r\n getMonth,\r\n GetDateStr,\r\n handlePages,\r\n getBluetoothAdapter\r\n}\r\n\r\nfunction inArray(arr, key, val) {\r\n if (!arr || !arr.length || typeof arr != 'object' || !Array.isArray(arr)) {\r\n return -1\r\n }\r\n for (let i = 0; i < arr.length; i++) {\r\n if (!key) {\r\n if (arr[i] == val) {\r\n return i\r\n }\r\n } else if (arr[i][key] === val) {\r\n return i\r\n }\r\n }\r\n return -1;\r\n}\r\n\r\nfunction msg(str) {\r\n uni.showToast({\r\n title: str,\r\n icon: 'none'\r\n })\r\n}\r\n\r\nfunction ab2hex(buffer, split) {\r\n var hexArr = Array.prototype.map.call(\r\n new Uint8Array(buffer),\r\n function(bit) {\r\n return ('00' + bit.toString(16)).slice(-2)\r\n }\r\n )\r\n return hexArr.join(split);\r\n}\r\n\r\nfunction hex2str(arr) {\r\n let decoder = new TextDecoder('utf8')\r\n let uint8 = new Uint8Array(arr)\r\n let res = decoder.decode(uint8)\r\n return res\r\n}\r\n\r\nfunction str2hex(str) {\r\n let encoder = new TextEncoder('utf8')\r\n return encoder.encode(str)\r\n}\r\n\r\nfunction getBluetoothAdapter(err) {\r\n if (err.errMsg == \"openBluetoothAdapter:fail auth denied\" || err.errMsg ===\r\n \"openBluetoothAdapter:fail auth deny\" ||\r\n err.errMsg === \"openBluetoothAdapter:fail authorize no response\"\r\n ) {\r\n uni.showModal({\r\n title: \"提示\",\r\n content: \"需要您授权使用手机蓝牙\",\r\n showCancel: false,\r\n success(modalSuccess) {\r\n uni.openSetting({\r\n success(settingdata) {\r\n if (settingdata.authSetting[\"scope.bluetooth\"]) {\r\n uni.openBluetoothAdapter({\r\n success: e => {\r\n uni.showToast({\r\n title: \"获取权限成功,请继续去测量\",\r\n icon: \"none\"\r\n })\r\n $store.commit(\"changeBluetooth\", true);\r\n },\r\n fail: err => {\r\n uni.showToast({\r\n title: \"请打开手机蓝牙\",\r\n icon: \"none\",\r\n duration: 1000,\r\n })\r\n console.log('初始化蓝牙失败:' + err.errMsg);\r\n }\r\n });\r\n } else {\r\n uni.showToast({\r\n title: \"获取权限失败,将无法使用手机蓝牙进行测量\",\r\n icon: \"none\"\r\n })\r\n }\r\n }\r\n })\r\n }\r\n })\r\n } else {\r\n uni.showToast({\r\n title: \"请打开手机蓝牙\",\r\n icon: \"none\",\r\n duration: 1000,\r\n })\r\n }\r\n}\r\n\r\nfunction getDate(type) {\r\n const date = new Date();\r\n let year = date.getFullYear();\r\n let month = date.getMonth() + 1;\r\n let day = date.getDate();\r\n month = month > 9 ? month : '0' + month;;\r\n day = day > 9 ? day : '0' + day;\r\n if (type === 'tow') {\r\n year = year - 2;\r\n return `${year}-${month}-${day}`;\r\n }\r\n if (type === 'start') {\r\n year = year;\r\n return `${year}-${month}-${day}`;\r\n }\r\n if (type === 'end') {\r\n year = year + 60;\r\n return `${year}-${month}-${day}`;\r\n }\r\n if (type == \"m\") {\r\n if (month == \"01\" || month == \"03\" || month == \"05\" || month == \"07\" || month == \"08\" || month == \"10\" ||\r\n month == \"12\") {\r\n return year + \"/\" + month + \"/01\" + \"~\" + year + \"/\" + month + \"/31\";\r\n } else if (month == \"02\") {\r\n if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {\r\n return year + \"/\" + month + \"/01\" + \"~\" + year + \"/\" + month + \"/29\";\r\n } else {\r\n return year + \"/\" + month + \"/01\" + \"~\" + year + \"/\" + month + \"/28\";\r\n };\r\n } else {\r\n return year + \"/\" + month + \"/01\" + \"~\" + year + \"/\" + month + \"/30\";\r\n };\r\n }\r\n}\r\n\r\nfunction GetDateStr(AddDayCount) {\r\n var dd = new Date();\r\n dd.setDate(dd.getDate() + AddDayCount); //获取AddDayCount天后的日期\r\n var y = dd.getFullYear();\r\n var m = (dd.getMonth() + 1) < 10 ? \"0\" + (dd.getMonth() + 1) : (dd.getMonth() + 1); //获取当前月份的日期,不足10补0\r\n var d = dd.getDate() < 10 ? \"0\" + dd.getDate() : dd.getDate(); //获取当前几号,不足10补0\r\n return y + \"-\" + m + \"-\" + d;\r\n}\r\n\r\n// 获取当前日期\r\nfunction getTime() {\r\n var date = new Date()\r\n var todate =\r\n ((date.getMonth() + 1) < 10 ? ('0' + (date.getMonth() + 1)) : date.getMonth() +\r\n 1) + '月' + (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate() + '日')\r\n return todate\r\n}\r\n// 根据出生日期获取年龄\r\nfunction getAge(str) {\r\n var r = str.match(/^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})/);\r\n if (r == null) return false;\r\n\r\n var d = new Date(r[1], r[3] - 1, r[4]);\r\n var returnStr = \"输入的日期格式错误!\";\r\n\r\n if (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]) {\r\n\r\n var date = new Date();\r\n var yearNow = date.getFullYear();\r\n var monthNow = date.getMonth() + 1;\r\n var dayNow = date.getDate();\r\n\r\n var largeMonths = [1, 3, 5, 7, 8, 10, 12], //大月, 用于计算天,只在年月都为零时,天数有效\r\n lastMonth = monthNow - 1 > 0 ? monthNow - 1 : 12, // 上一个月的月份\r\n isLeapYear = false, // 是否是闰年\r\n daysOFMonth = 0; // 当前日期的上一个月多少天\r\n\r\n if ((yearNow % 4 === 0 && yearNow % 100 !== 0) || yearNow % 400 === 0) { // 是否闰年, 用于计算天,只在年月都为零时,天数有效\r\n isLeapYear = true;\r\n }\r\n\r\n if (largeMonths.indexOf(lastMonth) > -1) {\r\n daysOFMonth = 31;\r\n } else if (lastMonth === 2) {\r\n if (isLeapYear) {\r\n daysOFMonth = 29;\r\n } else {\r\n daysOFMonth = 28;\r\n }\r\n } else {\r\n daysOFMonth = 30;\r\n }\r\n\r\n var Y = yearNow - parseInt(r[1]);\r\n var M = monthNow - parseInt(r[3]);\r\n var D = dayNow - parseInt(r[4]);\r\n if (D < 0) {\r\n D = D + daysOFMonth; //借一个月\r\n M--;\r\n }\r\n if (M < 0) { // 借一年 12个月\r\n Y--;\r\n M = M + 12; //\r\n }\r\n\r\n if (Y < 0) {\r\n returnStr = \"出生日期有误!\";\r\n\r\n } else if (Y === 0) {\r\n if (M === 0) {\r\n returnStr = D + \"天\";\r\n } else {\r\n returnStr = M + \"个月\";\r\n }\r\n } else {\r\n if (M === 0) {\r\n returnStr = Y + \"岁\";\r\n } else {\r\n returnStr = Y + \"岁\" + M + \"个月\";\r\n }\r\n }\r\n }\r\n return returnStr;\r\n}\r\n\r\nfunction getMonth(dates, months) {\r\n var d = new Date(dates.substring(0, 10));\r\n let year = d.getFullYear();\r\n var month = d.getMonth() + 1;\r\n if (Math.abs(months) > 12) {\r\n months = months % 12;\r\n };\r\n if (months != 0) {\r\n if (month + months > 12) {\r\n year++;\r\n month = (month + months) % 12;\r\n } else if (month + months < 1) {\r\n year--;\r\n month = 12 + month + months;\r\n } else {\r\n month = month + months;\r\n };\r\n };\r\n month = month < 10 ? \"0\" + month : month;\r\n var date = d.getDate();\r\n if (month == \"01\" || month == \"03\" || month == \"05\" || month == \"07\" || month == \"08\" || month == \"10\" ||\r\n month == \"12\") {\r\n return year + \"/\" + month + \"/01\" + \"~\" + year + \"/\" + month + \"/31\";\r\n } else if (month == \"02\") {\r\n if ((year % 4 == 0 && year % 100 != 0) || (year % 100 == 0 && year % 400 == 0)) {\r\n return year + '/' + month + \"/01\" + \"~\" + year + \"/\" + year + \"/\" + month + \"/29\";\r\n } else {\r\n return year + '/' + month + \"/01\" + \"~\" + year + \"/\" + month + \"/28\";\r\n };\r\n } else {\r\n return year + '/' + month + \"/01\" + \"~\" + year + \"/\" + month + \"/30\";\r\n };\r\n};\r\n// 页面跳转\r\nfunction handlePages(type, deviceId) {\r\n if (type == 1) {\r\n uni.navigateTo({\r\n url: \"/BLEPages/adult/PCD01pro?deviceId=\" + deviceId\r\n })\r\n return\r\n }\r\n if (type == 4 || type == 16) {\r\n uni.navigateTo({\r\n url: \"/BLEPages/adult/PCL01?deviceId=\" + deviceId\r\n })\r\n return\r\n }\r\n if (type == 7) {\r\n uni.navigateTo({\r\n url: \"/BLEPages/adult/F01PRO?deviceId=\" + deviceId\r\n })\r\n return\r\n }\r\n if (type == 8) {\r\n uni.navigateTo({\r\n url: \"/BLEPages/adult/H01pro?deviceId=\" + deviceId\r\n })\r\n return\r\n }\r\n\r\n if (type == 14) {\r\n uni.navigateTo({\r\n url: \"/BLEPages/adult/F01B?deviceId=\" + deviceId\r\n })\r\n return\r\n }\r\n if (type == 21) {\r\n uni.navigateTo({\r\n url: \"/BLEPages/adult/H09B?deviceId=\" + deviceId\r\n })\r\n return\r\n }\r\n}\r\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 accountInfo = wx.getAccountInfoSync();\r\nconst appid = accountInfo.miniProgram.appId\r\nuni.setStorageSync('appid', appid)\r\nlet configPro = {}\r\nif (process.env.NODE_ENV === 'development') {\r\n console.log(\"测试环境\")\r\n configPro = {\r\n // host = \"https://ttybapi.pcxbc.com\"\r\n host: \"https://ybapi.pcxbc.com\",\r\n envVersion: \"trial\"\r\n }\r\n} else {\r\n console.log(\"生产环境\")\r\n configPro = {\r\n host: \"https://ybapi.pcxbc.com\",\r\n envVersion: \"develop\"\r\n }\r\n}\r\nconsole.log(\"appid\", appid)\r\nmodule.exports = {\r\n appid,\r\n configPro,\r\n};\r\n","let data = [{\r\n title: '体重',\r\n showCon: false,\r\n key: 'weight',\r\n dw: 'kg',\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n color: \"#ff4239\",\r\n desc: \"反映和衡量一个人健康状况的重要标志之一\",\r\n },\r\n {\r\n title: 'BMI',\r\n color: \"#ff4239\",\r\n showCon: false,\r\n key: 'bmi',\r\n level: \"bmilevel\",\r\n dw: '',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n desc: 'BMI是身体质量指数,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。',\r\n }, {\r\n title: '脂肪率',\r\n showCon: false,\r\n color: \"#ff4239\",\r\n key: 'fat_r',\r\n level: \"fat_rlevel\",\r\n dw: '%',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n desc: '体脂率是指身体成分中,脂肪组织所占的比率。测量体脂率比单纯的只测量体重更能反映我们身体的脂肪水平(肥胖程度)。',\r\n },\r\n // \r\n {\r\n title: '脂肪量',\r\n key: 'fat_w',\r\n color: \"#ff4239\",\r\n scope: '',\r\n showCon: false,\r\n level: \"fat_wlevel\",\r\n dw: 'kg',\r\n leftval: 0,\r\n desc: '人体脂肪的重量',\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '肌肉率',\r\n key: 'muscle',\r\n showCon: false,\r\n color: \"#ff4239\",\r\n level: \"musclelevel\",\r\n dw: '%',\r\n slist: [],\r\n leftval: 0,\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n desc: '根据人体肌肉总量和人体体重、身高等相结合得到的人体的一个比例值,这个值的范围决定一个人的身体健康状况以及力量的多少。',\r\n },\r\n {\r\n title: '肌肉量',\r\n color: \"#ff4239\",\r\n key: 'muscleval',\r\n level: \"musclelevel\",\r\n showCon: false,\r\n dw: 'kg',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n desc: '肌肉量=实际体重*肌肉率',\r\n },\r\n {\r\n title: '水分',\r\n key: 'water',\r\n color: \"#ff4239\",\r\n level: \"waterlevel\",\r\n showCon: false,\r\n dw: '%',\r\n desc: '指人体内水分比例。',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '蛋白量',\r\n color: \"#ff4239\",\r\n level: \"proteinlevel\",\r\n key: 'proteinval',\r\n showCon: false,\r\n dw: 'kg',\r\n desc: '蛋白量=实际体重*蛋白率',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '骨重',\r\n color: \"#ff4239\",\r\n key: 'bone',\r\n showCon: false,\r\n level: \"bonelevel\",\r\n dw: '',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n desc: '单位体积内,骨组织、骨矿物质(钙、磷等)和骨基质(骨胶原、蛋白率、无机盐等等)]含量,骨量代表它们骨骼健康的情况。',\r\n },\r\n {\r\n title: '蛋白率',\r\n color: \"#ff4239\",\r\n key: 'protein',\r\n level: \"proteinlevel\",\r\n showCon: false,\r\n dw: '%',\r\n desc: '人体内蛋白率含量。',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '基础代谢',\r\n key: 'kcal',\r\n color: \"#ff4239\",\r\n level: \"kcallevel\",\r\n showCon: false,\r\n dw: 'kcal',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n desc: '指人体在清醒而又极端安静的状态下,不受肌肉活动、环境温度、食物及精神紧张等影响时的能量代谢率',\r\n },\r\n // \r\n\r\n {\r\n title: '内脏指数',\r\n color: \"#ff4239\",\r\n key: 'visceral',\r\n showCon: false,\r\n level: \"viscerallevel\",\r\n dw: '',\r\n desc: '内脏脂肪指数',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '皮下脂肪',\r\n key: 'sfr',\r\n color: \"#ff4239\",\r\n showCon: false,\r\n level: \"sfrlevel\",\r\n dw: '%',\r\n desc: '皮下脂脂肪就是贮存于皮下的脂肪组织,人体的脂肪大约有2/3贮存在皮下组织',\r\n slist: [],\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '肥胖等级',\r\n key: 'fatlevel',\r\n level: \"fatlevel\",\r\n showCon: false,\r\n leftval: 0,\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n desc: '肥胖的程度,表现实际体重与理想体重的差距。肥胖等级是判定肥胖症的一个指标。',\r\n },\r\n // \r\n {\r\n title: '去脂体重',\r\n key: 'lbm',\r\n showCon: false,\r\n dw: 'kg',\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '体龄',\r\n key: 'bodyage',\r\n showCon: false,\r\n dw: '岁',\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n {\r\n title: '体型',\r\n key: 'body',\r\n level: \"bodylevel\",\r\n showCon: false,\r\n fvalue: null,\r\n svalue: null,\r\n fevaluation: null,\r\n sevaluation: null,\r\n vs: 0,\r\n num: 0,\r\n },\r\n]\r\n\r\nfunction infoList(str) {\r\n let listStr = [...data];\r\n let leftval = 0\r\n if (!str) return\r\n for (var i = 0; i < listStr.length; i++) {\r\n listStr[i].fvalue = str[listStr[i].key];\r\n listStr[i].fevaluation = str[listStr[i].level];\r\n if (str.list && str.list.length) {\r\n for (var k = 0; k < str.list.length; k++) {\r\n if (listStr[i].key == str.list[k].name) {\r\n listStr[i].slist = str.list[k].list\r\n listStr[i].color = str.list[k].color\r\n listStr[i].fvalue = str.list[k].value\r\n listStr[i].fevaluation = str.list[k].level\r\n }\r\n }\r\n for (let j in listStr[i].slist) {\r\n if (listStr[i].fevaluation == listStr[i].slist[j].text) {\r\n listStr[i].leftval = (listStr[i].fvalue - listStr[i].slist[j].minvalue) / (listStr[i].slist[j]\r\n .maxvalue - listStr[i].slist[j].minvalue) * 4.2\r\n }\r\n }\r\n } else {\r\n listStr[i].slist = null\r\n }\r\n }\r\n return listStr\r\n}\r\n\r\nexport default {\r\n data,\r\n infoList,\r\n}\r\n","import{initVueI18n as e}from\"@dcloudio/uni-i18n\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function n(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 s=n((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={},r=s.lib={},o=r.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=r.WordArray=o.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,r=e.sigBytes;if(this.clamp(),s%4)for(var o=0;o>>2]>>>24-o%4*8&255;t[s+o>>>2]|=i<<24-(s+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,s=[],r=function(t){t=t;var n=987654321,s=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},o=0;o>>2]>>>24-r%4*8&255;s.push((o>>>4).toString(16)),s.push((15&o).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=[],r=0;r>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(o))}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)}},h=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)))}},l=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=new i.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=h.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,r=n.sigBytes,o=this.blockSize,a=r/(4*o),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*o,u=e.min(4*c,r);if(c){for(var h=0;h>>24)|4278255360&(r<<24|r>>>8)}var o=this._hash.words,i=e[t+0],c=e[t+1],f=e[t+2],p=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],k=e[t+9],S=e[t+10],v=e[t+11],T=e[t+12],A=e[t+13],P=e[t+14],I=e[t+15],b=o[0],E=o[1],O=o[2],C=o[3];b=u(b,E,O,C,i,7,a[0]),C=u(C,b,E,O,c,12,a[1]),O=u(O,C,b,E,f,17,a[2]),E=u(E,O,C,b,p,22,a[3]),b=u(b,E,O,C,g,7,a[4]),C=u(C,b,E,O,m,12,a[5]),O=u(O,C,b,E,y,17,a[6]),E=u(E,O,C,b,_,22,a[7]),b=u(b,E,O,C,w,7,a[8]),C=u(C,b,E,O,k,12,a[9]),O=u(O,C,b,E,S,17,a[10]),E=u(E,O,C,b,v,22,a[11]),b=u(b,E,O,C,T,7,a[12]),C=u(C,b,E,O,A,12,a[13]),O=u(O,C,b,E,P,17,a[14]),b=h(b,E=u(E,O,C,b,I,22,a[15]),O,C,c,5,a[16]),C=h(C,b,E,O,y,9,a[17]),O=h(O,C,b,E,v,14,a[18]),E=h(E,O,C,b,i,20,a[19]),b=h(b,E,O,C,m,5,a[20]),C=h(C,b,E,O,S,9,a[21]),O=h(O,C,b,E,I,14,a[22]),E=h(E,O,C,b,g,20,a[23]),b=h(b,E,O,C,k,5,a[24]),C=h(C,b,E,O,P,9,a[25]),O=h(O,C,b,E,p,14,a[26]),E=h(E,O,C,b,w,20,a[27]),b=h(b,E,O,C,A,5,a[28]),C=h(C,b,E,O,f,9,a[29]),O=h(O,C,b,E,_,14,a[30]),b=l(b,E=h(E,O,C,b,T,20,a[31]),O,C,m,4,a[32]),C=l(C,b,E,O,w,11,a[33]),O=l(O,C,b,E,v,16,a[34]),E=l(E,O,C,b,P,23,a[35]),b=l(b,E,O,C,c,4,a[36]),C=l(C,b,E,O,g,11,a[37]),O=l(O,C,b,E,_,16,a[38]),E=l(E,O,C,b,S,23,a[39]),b=l(b,E,O,C,A,4,a[40]),C=l(C,b,E,O,i,11,a[41]),O=l(O,C,b,E,p,16,a[42]),E=l(E,O,C,b,y,23,a[43]),b=l(b,E,O,C,k,4,a[44]),C=l(C,b,E,O,T,11,a[45]),O=l(O,C,b,E,I,16,a[46]),b=d(b,E=l(E,O,C,b,f,23,a[47]),O,C,i,6,a[48]),C=d(C,b,E,O,_,10,a[49]),O=d(O,C,b,E,P,15,a[50]),E=d(E,O,C,b,m,21,a[51]),b=d(b,E,O,C,T,6,a[52]),C=d(C,b,E,O,p,10,a[53]),O=d(O,C,b,E,S,15,a[54]),E=d(E,O,C,b,c,21,a[55]),b=d(b,E,O,C,w,6,a[56]),C=d(C,b,E,O,I,10,a[57]),O=d(O,C,b,E,y,15,a[58]),E=d(E,O,C,b,A,21,a[59]),b=d(b,E,O,C,g,6,a[60]),C=d(C,b,E,O,v,10,a[61]),O=d(O,C,b,E,f,15,a[62]),E=d(E,O,C,b,k,21,a[63]),o[0]=o[0]+b|0,o[1]=o[1]+E|0,o[2]=o[2]+O|0,o[3]=o[3]+C|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var o=e.floor(s/4294967296),i=s;n[15+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),n[14+(r+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 h=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>8)}return a},clone:function(){var e=o.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,r,o,i){var a=e+(t&n|~t&s)+r+i;return(a<>>32-o)+t}function h(e,t,n,s,r,o,i){var a=e+(t&s|n&~s)+r+i;return(a<>>32-o)+t}function l(e,t,n,s,r,o,i){var a=e+(t^n^s)+r+i;return(a<>>32-o)+t}function d(e,t,n,s,r,o,i){var a=e+(n^(t|~s))+r+i;return(a<>>32-o)+t}t.MD5=o._createHelper(c),t.HmacMD5=o._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n,r,o;e.exports=(r=(n=s).lib.Base,o=n.enc.Utf8,void(n.algo.HMAC=r.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=o.parse(t));var n=e.blockSize,s=4*n;t.sigBytes>s&&(t=e.finalize(t)),t.clamp();for(var r=this._oKey=t.clone(),i=this._iKey=t.clone(),a=r.words,c=i.words,u=0;u{y.indexOf(n)>-1&&function(e,t,n){let s=_[e][t];s||(s=_[e][t]=[]),-1===s.indexOf(n)&&\"function\"==typeof n&&s.push(n)}(e,n,t[n])}))}function k(e,t){_[e]||(_[e]={}),i(t)?Object.keys(t).forEach((n=>{y.indexOf(n)>-1&&function(e,t,n){const s=_[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete _[e]}function S(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function v(e,t){return _[e]&&_[e][t]||[]}function T(e,t){return t?function(n){const s=\"callFunction\"===t&&\"DCloud-clientDB\"===(n&&n.name);let r;r=this.isReady?Promise.resolve():this.initUniCloud,n=n||{};const o=r.then((()=>s?Promise.resolve():S(v(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):S(v(t,\"success\"),e).then((()=>S(v(t,\"complete\"),e))).then((()=>Promise.resolve(e)))),(e=>s?Promise.reject(e):S(v(t,\"fail\"),e).then((()=>S(v(t,\"complete\"),e))).then((()=>Promise.reject(e)))));if(!(n.success||n.fail||n.complete))return o;o.then((e=>{n.success&&n.success(e),n.complete&&n.complete(e)}),(e=>{n.fail&&n.fail(e),n.complete&&n.complete(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 A extends Error{constructor(e){super(e.message),this.errMsg=e.message||\"\",Object.defineProperties(this,{code:{get:()=>e.code},requestId:{get:()=>e.requestId},message:{get(){return this.errMsg},set(e){this.errMsg=e}}})}}let P;function I(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(P)return{...P,LOCALE:e};const{deviceId:t,platform:n}=uni.getSystemInfoSync();return P={PLATFORM:h,OS:n,APPID:p,DEVICEID:t,CLIENT_SDK_VERSION:\"1.0.21\"},{...P,LOCALE:e}}var b={sign:function(e,t){let n=\"\";return Object.keys(e).sort().forEach((function(t){e[t]&&(n=n+\"&\"+t+\"=\"+e[t])})),n=n.slice(1),r(n,t).toString()},wrappedRequest:function(e,t){return new Promise(((n,s)=>{t(Object.assign(e,{complete(e){e||(e={}),u&&\"h5\"===h&&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 A({code:\"SYS_ERR\",message:e.errMsg||\"request:fail\",requestId:t}));const r=e.data;if(r.error)return s(new A({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))}};var E={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()},O={\"uniCloud.init.paramRequired\":\"{param} required\",\"uniCloud.uploadFile.fileError\":\"filePath should be instance of File\"};const{t:C}=e({\"zh-Hans\":{\"uniCloud.init.paramRequired\":\"缺少参数:{param}\",\"uniCloud.uploadFile.fileError\":\"filePath应为File对象\"},\"zh-Hant\":{\"uniCloud.init.paramRequired\":\"缺少参数:{param}\",\"uniCloud.uploadFile.fileError\":\"filePath应为File对象\"},en:O,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:O},\"zh-Hans\");var U=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(C(\"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=E,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 A({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:r,onUploadProgress:o}){return new Promise(((i,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,header:{\"X-OSS-server-side-encrpytion\":\"AES256\"},success(e){e&&e.statusCode<400?i(e):a(new A({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new A({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof o&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{o({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:r}){if(\"string\"!==o(t))throw new A({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new A({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new A({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const i=r&&r.envType||this.config.envType;let a,c;return this.getOSSUploadOptionsFromPath({env:i,filename:t}).then((t=>{const r=t.result;a=r.id,c=\"https://\"+r.cdnDomain+\"/\"+r.ossPath;const o={url:\"https://\"+r.host,formData:{\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:r.accessKeyId,Signature:r.signature,host:r.host,id:a,key:r.ossPath,policy:r.policy,success_action_status:200},fileName:\"file\",name:\"file\",filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},o,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({id:a}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:c}):s(new A({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 A({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}};var x={init(e){const t=new U(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 D=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var R;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(R||(R={}));var q=function(){};const L=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new Error('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 F(e){return void 0===e}function N(e){return\"[object Null]\"===Object.prototype.toString.call(e)}var $;function M(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\"}($||($={}));const j={adapter:null,runtime:void 0},B=[\"anonymousUuidKey\"];class K extends q{constructor(){super(),j.adapter.root.tcbObject||(j.adapter.root.tcbObject={})}setItem(e,t){j.adapter.root.tcbObject[e]=t}getItem(e){return j.adapter.root.tcbObject[e]}removeItem(e){delete j.adapter.root.tcbObject[e]}clear(){delete j.adapter.root.tcbObject}}function H(e,t){switch(e){case\"local\":return t.localStorage||new K;case\"none\":return new K;default:return t.sessionStorage||new K}}class W{constructor(e){if(!this._storage){this._persistence=j.adapter.primaryStorage||e.persistence,this._storage=H(this._persistence,j.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,o=`login_type_${e.env}`,i=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:o,userInfoKey:i}}}updatePersistence(e){if(e===this._persistence)return;const t=\"local\"===this._persistence;this._persistence=e;const n=H(e,j.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&B.includes(e))continue;const r=this._storage.getItem(s);F(r)||N(r)||(n.setItem(s,r),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||\"localCachev1\",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}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 z={},J={};function V(e){return z[e]}class Y{constructor(e,t){this.data=t||null,this.name=e}}class X extends Y{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const G=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 X)return console.error(e.error),this;const n=\"string\"==typeof e?new Y(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 Q(e,t){G.on(e,t)}function Z(e,t={}){G.fire(e,t)}function ee(e,t){G.off(e,t)}const te=\"loginStateChanged\",ne=\"loginStateExpire\",se=\"loginTypeChanged\",re=\"anonymousConverted\",oe=\"refreshAccessToken\";var ie;!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\"}(ie||(ie={}));const ae=[\"auth.getJwt\",\"auth.logout\",\"auth.signInWithTicket\",\"auth.signInAnonymously\",\"auth.signIn\",\"auth.fetchAccessTokenWithRefreshToken\",\"auth.signUpWithEmailAndPassword\",\"auth.activateEndUserMail\",\"auth.sendPasswordResetEmail\",\"auth.resetPasswordWithToken\",\"auth.isUsernameRegistered\"],ce={\"X-SDK-Version\":\"1.3.5\"};function ue(e,t,n){const s=e[t];e[t]=function(t){const r={},o={};n.forEach((n=>{const{data:s,headers:i}=n.call(e,t);Object.assign(r,s),Object.assign(o,i)}));const i=t.data;return i&&(()=>{var e;if(e=i,\"[object FormData]\"!==Object.prototype.toString.call(e))t.data={...i,...r};else for(const e in r)i.append(e,r[e])})(),t.headers={...t.headers||{},...o},s.call(e,t)}}function he(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...ce,\"x-seqid\":e}}}class le{constructor(e={}){var t;this.config=e,this._reqClass=new j.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]}),this._cache=V(this.config.env),this._localCache=(t=this.config.env,J[t]),ue(this._reqClass,\"post\",[he]),ue(this._reqClass,\"upload\",[he]),ue(this._reqClass,\"download\",[he])}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:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let o=this._cache.getStore(n);if(!o)throw new Error(\"未登录CloudBase\");const i={refresh_token:o},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)===ie.ANONYMOUS&&\"INVALID_REFRESH_TOKEN\"===e){const e=this._cache.getStore(r),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()}Z(ne),this._cache.removeStore(n)}throw new Error(`刷新access token失败:${a.data.code}`)}if(a.data.access_token)return Z(oe),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 Error(\"refresh token不存在,登录状态异常\");let s=this._cache.getStore(e),r=this._cache.getStore(t),o=!0;return this._shouldRefreshAccessTokenHook&&!await this._shouldRefreshAccessTokenHook(s,r)&&(o=!1),(!s||!r||r{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:r,country:o,city:i}=e,{data:a}=await this._request.send(\"auth.updateUserInfo\",{nickName:t,gender:n,avatarUrl:s,province:r,country:o,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 me{constructor(e){if(!e)throw new Error(\"envId is not defined\");this._cache=V(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),o=this._cache.getStore(n),i=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:o,accessTokenExpire:i},this.user=new ge(e)}get isAnonymousAuth(){return this.loginType===ie.ANONYMOUS}get isCustomAuth(){return this.loginType===ie.CUSTOM}get isWeixinAuth(){return this.loginType===ie.WECHAT||this.loginType===ie.WECHAT_OPEN||this.loginType===ie.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class ye extends pe{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,r=await this._request.send(\"auth.signInAnonymously\",{anonymous_uuid:n,refresh_token:s});if(r.uuid&&r.refresh_token){this._setAnonymousUUID(r.uuid),this.setRefreshToken(r.refresh_token),await this._request.refreshAccessToken(),Z(te),Z(se,{env:this.config.env,loginType:ie.ANONYMOUS,persistence:\"local\"});const e=new me(this.config.env);return await e.user.refresh(),e}throw new Error(\"匿名登录失败\")}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),o=await this._request.send(\"auth.linkAndRetrieveDataWithTicket\",{anonymous_uuid:s,refresh_token:r,ticket:e});if(o.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(o.refresh_token),await this._request.refreshAccessToken(),Z(re,{env:this.config.env}),Z(se,{loginType:ie.CUSTOM,persistence:\"local\"}),{credential:{refreshToken:o.refresh_token}};throw new Error(\"匿名转化失败\")}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,ie.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class _e extends pe{async signIn(e){if(\"string\"!=typeof e)throw new Error(\"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(),Z(te),Z(se,{env:this.config.env,loginType:ie.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new me(this.config.env);throw new Error(\"自定义登录失败\")}}class we extends pe{async signIn(e,t){if(\"string\"!=typeof e)throw new Error(\"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:r,access_token:o,access_token_expire:i}=s;if(r)return this.setRefreshToken(r),o&&i?this.setAccessToken(o,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),Z(te),Z(se,{env:this.config.env,loginType:ie.EMAIL,persistence:this.config.persistence}),new me(this.config.env);throw s.code?new Error(`邮箱登录失败: [${s.code}] ${s.message}`):new Error(\"邮箱登录失败\")}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 ke extends pe{async signIn(e,t){if(\"string\"!=typeof e)throw new Error(\"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:ie.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token_expire:o,access_token:i}=s;if(r)return this.setRefreshToken(r),i&&o?this.setAccessToken(i,o):await this._request.refreshAccessToken(),await this.refreshUserInfo(),Z(te),Z(se,{env:this.config.env,loginType:ie.USERNAME,persistence:this.config.persistence}),new me(this.config.env);throw s.code?new Error(`用户名密码登录失败: [${s.code}] ${s.message}`):new Error(\"用户名密码登录失败\")}}class Se{constructor(e){this.config=e,this._cache=V(e.env),this._request=fe(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Q(se,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 ye(this.config)}customAuthProvider(){return new _e(this.config)}emailAuthProvider(){return new we(this.config)}usernameAuthProvider(){return new ke(this.config)}async signInAnonymously(){return new ye(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new we(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new ke(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=new ye(this.config)),Q(re,this._onAnonymousConverted);return await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===ie.ANONYMOUS)throw new Error(\"匿名用户不支持登出操作\");const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const r=await this._request.send(\"auth.logout\",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),Z(te),Z(se,{env:this.config.env,loginType:ie.NULL,persistence:this.config.persistence}),r}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){Q(te,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){Q(ne,e.bind(this))}onAccessTokenRefreshed(e){Q(oe,e.bind(this))}onAnonymousConverted(e){Q(re,e.bind(this))}onLoginTypeChanged(e){Q(se,(()=>{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 me(this.config.env):null}async isUsernameRegistered(e){if(\"string\"!=typeof e)throw new Error(\"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 _e(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 ve=function(e,t){t=t||L();const n=fe(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:o,fileType:i=\"image\"}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:h,cosFileId:l},requestId:d}=e,f={key:s,signature:c,\"x-cos-meta-fileid\":l,success_action_status:\"201\",\"x-cos-security-token\":u};n.upload({url:a,data:f,file:r,name:s,fileType:i,onUploadProgress:o}).then((e=>{201===e.statusCode?t(null,{fileID:h,requestId:d}):t(new Error(`STORAGE_REQUEST_FAIL: ${e.data}`))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},Te=function(e,t){t=t||L();const n=fe(this.config.env),{cloudPath:s}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},Ae=function({fileList:e},t){if(t=t||L(),!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 fe(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},Pe=function({fileList:e},t){t=t||L(),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 fe(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},Ie=async function({fileID:e},t){const n=(await Pe.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if(\"SUCCESS\"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=fe(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},be=function({name:e,data:t,query:n,parse:s,search:r},o){const i=o||L();let a;try{a=t?JSON.stringify(t):\"\"}catch(e){return Promise.reject(e)}if(!e)return Promise.reject(new Error(\"函数名不能为空\"));const c={inQuery:n,parse:s,search:r,function_name:e,request_data:a};return fe(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 Error(\"response data must be json\"))}}return i.promise})).catch((e=>{i(e)})),i.promise},Ee={timeout:15e3,persistence:\"session\"},Oe={};class Ce{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(j.adapter||(this.requestClient=new j.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...Ee,...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 Ce(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||j.adapter.primaryStorage||Ee.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;z[t]=new W(e),J[t]=new W({...e,persistence:\"local\"})}(this.config),n=this.config,de[n.env]=new le(n),this.authObj=new Se(this.config),this.authObj}on(e,t){return Q.apply(this,[e,t])}off(e,t){return ee.apply(this,[e,t])}callFunction(e,t){return be.apply(this,[e,t])}deleteFile(e,t){return Ae.apply(this,[e,t])}getTempFileURL(e,t){return Pe.apply(this,[e,t])}downloadFile(e,t){return Ie.apply(this,[e,t])}uploadFile(e,t){return ve.apply(this,[e,t])}getUploadMetadata(e,t){return Te.apply(this,[e,t])}registerExtension(e){Oe[e.name]=e}async invokeExtension(e,t){const n=Oe[e];if(!n)throw Error(`扩展${e} 必须先注册`);return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=M(e)||{};t&&(j.adapter=t),n&&(j.runtime=n)}}var Ue=new Ce;function xe(e,t,n){void 0===n&&(n={});var s=/\\?/.test(t),r=\"\";for(var o in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=o+\"=\"+encodeURIComponent(n[o]);return/^http(s)?:\\/\\//.test(t+=r)?t:\"\"+e+t}class De{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,r)=>{E.request({url:xe(\"https:\",t),data:n,method:\"POST\",header:s,success(t){e(t)},fail(e){r(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:o,headers:i,fileType:a}=e,c=E.uploadFile({url:xe(\"https:\",s),name:\"file\",formData:Object.assign({},o),filePath:r,fileType:a,header:i,success(e){const 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(e){u&&\"mp-alipay\"===h&&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 Re={setItem(e,t){E.setStorageSync(e,t)},getItem:e=>E.getStorageSync(e),removeItem(e){E.removeStorageSync(e)},clear(){E.clearStorageSync()}};var qe={genAdapter:function(){return{root:{},reqClass:De,localStorage:Re,primaryStorage:\"local\"}},isMatch:function(){return!0},runtime:\"uni_app\"};Ue.useAdapters(qe);const Le=Ue,Fe=Le.init;Le.init=function(e){e.env=e.spaceId;const t=Fe.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]=T(t[e]).bind(t)})),t},t.customAuth=t.auth,t};var Ne=Le;function $e(){return{token:E.getStorageSync(\"uni_id_token\")||E.getStorageSync(\"uniIdToken\"),tokenExpired:E.getStorageSync(\"uni_id_token_expired\")}}function Me(){if(!u||\"h5\"!==h)return;uni.getStorageSync(\"__LAST_DCLOUD_APPID\")!==p&&(uni.setStorageSync(\"__LAST_DCLOUD_APPID\",p),console.warn(\"检测到当前项目与上次运行到此端口的项目不一致,自动清理uni-id保存的token信息(仅开发调试时生效)\"),E.removeStorageSync(\"uni_id_token\"),E.removeStorageSync(\"uniIdToken\"),E.removeStorageSync(\"uni_id_token_expired\"))}var je=class extends U{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 r=I();s[\"x-client-info\"]=JSON.stringify(r);const{token:o}=$e();return s[\"x-client-token\"]=o,{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:r,onUploadProgress:o}){return new Promise(((i,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?i(e):a(new A({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new A({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof o&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{o({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s}){if(!t)throw new A({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});let r;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:o,formData:i,name:a}=t.result;r=t.result.fileUrl;const c={url:o,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:r}):s(new A({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 Be={init(e){const t=new je(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 Ke({data:e}){let t;t=I();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=$e();e&&(n.uniIdToken=e)}return n}function He({name:e,data:t}){const{localAddress:n,localPort:s}=this,r={aliyun:\"aliyun\",tencent:\"tcb\"}[this.config.provider],o=this.config.spaceId,i=`http://${n}:${s}/system/check-function`,a=`http://${n}:${s}/cloudfunctions/${e}`;return new Promise(((t,n)=>{E.request({method:\"POST\",url:i,data:{name:e,platform:h,provider:r,spaceId:o},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=Ke.call(this,{data:t});E.request({method:\"POST\",url:a,data:{provider:r,platform:h,param:s},success:({statusCode:t,data:s}={})=>!t||t>=400?n(new A({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):e({result:s}),fail(e){n(new A({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const We=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var ze=/[\\\\^$.*+?()[\\]{}|]/g,Je=RegExp(ze.source);function Ve(e,t,n){return e.replace(new RegExp((s=t)&&Je.test(s)?s.replace(ze,\"\\\\$&\"):s,\"g\"),n);var s}function Ye({functionName:e,result:t,logPvd:n}){if(this.config.useDebugFunction&&t&&t.requestId){const s=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}function Xe(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Ke.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\"}[this.config.provider];return t.call(this,n).then((e=>(Ye.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(Ye.call(this,{functionName:s,result:e,logPvd:r}),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 Ge=Symbol(\"CLIENT_DB_INTERNAL\");function Qe(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Ge,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 Ze(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 et=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function tt(e,t){return et.indexOf(`${e}.${t}`)>-1}function nt(e){switch(o(e)){case\"array\":return e.map((e=>nt(e)));case\"object\":return e._internalType===Ge||Object.keys(e).forEach((t=>{e[t]=nt(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}class st{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:nt(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 useAggregate(){let e=this,t=!1;for(;e.prevStage;){e=e.prevStage;const n=e.content.$method;if(\"aggregate\"===n||\"pipeline\"===n){t=!0;break}}return t}get count(){if(!this.useAggregate)return function(){return this._send(\"count\",Array.from(arguments))};const e=this;return function(){return rt({$method:\"count\",$param:nt(Array.from(arguments))},e,this._database)}}get(){return this._send(\"get\",Array.from(arguments))}add(){return this._send(\"add\",Array.from(arguments))}remove(){return this._send(\"remove\",Array.from(arguments))}update(){return this._send(\"update\",Array.from(arguments))}end(){return this._send(\"end\",Array.from(arguments))}set(){throw new Error(\"clientDB禁止使用set方法\")}_send(e,t){const n=this.getAction(),s=this.getCommand();if(s.$db.push({$method:e,$param:nt(t)}),u){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 rt(e,t,n){return Qe(new st(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),tt(s,t)?rt({$method:t},e,n):function(){return rt({$method:t,$param:nt(Array.from(arguments))},e,n)}}})}function ot({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 it extends class{constructor({uniClient:e={}}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e.isDefault&&(this._dbCallBacks=m(\"_globalUniCloudDatabaseCallback\")),this.auth=Ze(this._authCallBacks),Object.assign(this,Ze(this._dbCallBacks)),this.env=Qe({},{get:(e,t)=>({$env:t})}),this.Geo=Qe({},{get:(e,t)=>ot({path:[\"Geo\"],method:t})}),this.serverDate=ot({path:[],method:\"serverDate\"}),this.RegExp=ot({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 r(e,t){if(n&&s)for(let n=0;ni.callFunction({name:\"DCloud-clientDB\",data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:o,systemInfo:i=[]}=e.result;if(i)for(let e=0;e(console.warn(\"affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代\"),c)}),S(v(\"database\",\"success\"),e).then((()=>S(v(\"database\",\"complete\"),e))).then((()=>(r(e,null),Promise.resolve(e))))}),(e=>{const t=new a(e.message,e.code||\"SYSTEM_ERROR\");return this._callback(\"error\",[t]),/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn(\"clientDB未初始化,请在web控制台保存一次schema以开启clientDB\"),S(v(\"database\",\"fail\"),e).then((()=>S(v(\"database\",\"complete\"),e))).then((()=>(r(null,e),Promise.reject(e))))}))}}function at(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 Qe(new e(t),{get:(e,t)=>tt(\"db\",t)?rt({$method:t},null,e):function(){return rt({$method:t,$param:nt(Array.from(arguments))},null,e)}})}(it,{uniClient:e});return this._database=n,n}}let ct;const ut=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",ht=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function lt(){const e=$e().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(ct(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}ct=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!ht.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,r=\"\",o=0;o>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var dt=t(n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=\"chooseAndUploadFile:ok\",s=\"chooseAndUploadFile:fail\";function r(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 o(e,t,{onChooseFile:s,onUploadProgress:r}){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,r){(t=Object.assign({},t)).errMsg=n;const o=t.tempFiles,i=o.length;let a=0;return new Promise((n=>{for(;a=i)return void(!o.find((e=>!e.url&&!e.errMsg))&&n(t));const u=o[s];e.uploadFile({filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s{u.errMsg=e.errMsg||e.message,s{uni.chooseImage({count:t,sizeType:n,sourceType:o,extension:i,success(t){e(r(t,\"image\"))},fail(e){a({errMsg:e.errMsg.replace(\"chooseImage:fail\",s)})}})}))}(t),t):\"video\"===t.type?o(e,function(e){const{camera:t,compressed:n,maxDuration:o,sourceType:i=[\"album\",\"camera\"],extension:a}=e;return new Promise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:o,sourceType:i,extension:a,success(t){const{tempFilePath:n,duration:s,size:o,height:i,width:a}=t;e(r({errMsg:\"chooseVideo:ok\",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||\"\",path:n,size:o,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):o(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,o)=>{let i=uni.chooseFile;if(\"undefined\"!=typeof wx&&\"function\"==typeof wx.chooseMessageFile&&(i=wx.chooseMessageFile),\"function\"!=typeof i)return o({errMsg:s+\" 请指定 type 类型,该平台仅支持选择 image 或 video。\"});i({type:\"all\",count:t,extension:n,success(t){e(r(t))},fail(e){o({errMsg:e.errMsg.replace(\"chooseFile:fail\",s)})}})}))}(t),t)}}})));const ft=\"manual\";function pt(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===ft)return;let n=!1;const s=[];for(let r=2;r{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),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 r=t.collection||this.collection;n=Array.isArray(r)?n.collection(...r):n.collection(r);const o=t.where||this.where;o&&Object.keys(o).length&&(n=n.where(o));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 h=t.orderby||this.orderby;h&&(n=n.orderBy(h));const l=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,p=void 0!==t.gettree?t.gettree:this.gettree,g=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 p&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(l-1)).limit(d).get(m),n}}}}async function gt(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{E.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}var s}function mt(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(!u)return Promise.resolve();if(u&&e.debugInfo){const{address:t,servePort:n}=e.debugInfo;return async function(e,t){let n;for(let s=0;s{if(!u)return Promise.resolve();if(t)e.localAddress=t,e.localPort=n;else if(e.debugInfo){const t=console[\"app-plus\"===h?\"error\":\"warn\"];let n=\"\";\"remote\"===e.debugInfo.initialLaunchType?(e.debugInfo.forceRemote=!0,n=\"当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\"):n=\"无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\",\"h5\"===h&&(n+=\"\\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式\"),t(n)}})).then((()=>{Me(),e.isReady=!0,e.initUniCloudStatus=\"fulfilled\"})).catch((t=>{console.error(t),e.initUniCloudStatus=\"rejected\"}))}let yt=new class{init(e){let t={};const n=!1!==e.debugFunction&&u&&(\"h5\"===h&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app-plus\"===h);switch(e.provider){case\"tencent\":t=Ne.init(Object.assign(e,{useDebugFunction:n}));break;case\"aliyun\":t=x.init(Object.assign(e,{useDebugFunction:n}));break;case\"private\":t=Be.init(Object.assign(e,{useDebugFunction:n}));break;default:throw new Error(\"未提供正确的provider参数\")}const s=l;u&&s&&!s.code&&(t.debugInfo=s),mt(t),t.reInit=function(){mt(this)},Xe(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),at(t),function(e){e.getCurrentUserInfo=lt,e.chooseAndUploadFile=dt.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return pt(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]=T(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{{const e=d;let t={};if(1===e.length)t=e[0],yt=yt.init(t),yt.isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":f?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{yt[e]=function(){return console.error(n),Promise.reject(new A({code:\"SYS_ERR\",message:n}))}}))}Object.assign(yt,{get mixinDatacom(){return pt(yt)}}),yt.addInterceptor=w,yt.removeInterceptor=k,u&&\"h5\"===h&&(window.uniCloud=yt)}})();var _t=yt;export{_t as default};\n","export default {\"appid\":\"__UNI__1EBB7E8\"}","/*\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'use strict';\r\n\r\nvar config = {\r\n version: 'v2.1.5-20210517',\r\n yAxisWidth: 15,\r\n yAxisSplit: 5,\r\n xAxisHeight: 22,\r\n xAxisLineHeight: 22,\r\n legendHeight: 15,\r\n yAxisTitleWidth: 15,\r\n padding: [10, 10, 10, 10],\r\n pixelRatio: 1,\r\n rotate: false,\r\n columePadding: 3,\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 xAxisTextPadding: 3,\r\n titleColor: '#333333',\r\n titleFontSize: 20,\r\n subtitleColor: '#999999',\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 gaugeLabelTextMargin: 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// 经纬度转墨卡托\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\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 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 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 calRotateTranslate(x, y, h) {\r\n var xv = x;\r\n var yv = h - y;\r\n var transX = xv + (h - yv - xv) / Math.sqrt(2);\r\n transX *= -1;\r\n var transY = (h - yv) * (Math.sqrt(2) - 1) - (h - yv - xv) / Math.sqrt(2);\r\n return {\r\n transX: transX,\r\n transY: transY\r\n };\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\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 item.legendShape = \"rect\";\r\n break;\r\n case 'area':\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 points = calPoints[0][index];\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 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 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) {\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 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\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\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 let itemWidth = shapeWidth + shapeRight + measureText(item.name || '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 categoriesTextLenth = categories.map(function(item) {\r\n return measureText(item, opts.xAxis.fontSize * opts.pix || config.fontSize, context);\r\n });\r\n var maxTextLength = Math.max.apply(this, categoriesTextLenth);\r\n\r\n if (opts.xAxis.rotateLabel == true && 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 return result;\r\n}\r\n\r\nfunction getXAxisTextList(series, opts, config) {\r\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\r\n var data = dataCombine(series);\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 var result = {\r\n angle: 0,\r\n xAxisHeight: config.xAxisHeight\r\n };\r\n result.ranges = getXAxisTextList(series, opts, config);\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.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 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 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 = 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 (index > 0) {\r\n item.width -= 2 * 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 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') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {\r\n dataCount -= 1;\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 + index * eachSpacing);\r\n });\r\n if (opts.xAxis.boundaryGap !== 'justify') {\r\n if (opts.enableScroll === true) {\r\n xAxisPoints.push(startX + 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 += Math.round(eachSpacing / 2);\r\n }\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 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\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 //为了兼容v1.9.0之前的项目\r\n // if (index > -1) {\r\n // if (typeof opts.yAxis.data[index].min === 'number') {\r\n // minData = Math.min(opts.yAxis.data[index].min, minData);\r\n // }\r\n // if (typeof opts.yAxis.data[index].max === 'number') {\r\n // maxData = Math.max(opts.yAxis.data[index].max, maxData);\r\n // }\r\n // } else {\r\n // if (typeof opts.yAxis.min === 'number') {\r\n // minData = Math.min(opts.yAxis.min, minData);\r\n // }\r\n // if (typeof opts.yAxis.max === 'number') {\r\n // maxData = Math.max(opts.yAxis.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 = yData.min === undefined ? dataRange.minRange : yData.min;\r\n var maxRange = yData.max === undefined ? 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.formatter){\r\n yData.formatter = (val) => {return val.toFixed(yData.tofix) + (yData.unit || '')}\r\n }\r\n rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i);\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) {\r\n items = yData.formatter(Number(items));\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.yAxis.formatter){\r\n opts.yAxis.formatter = (val) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')}\r\n }\r\n rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});\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) {\r\n item = opts.yAxis.formatter(Number(item));\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 }\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(Number(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) : 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\n\r\nfunction drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {\r\n radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;\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) : 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\n\r\nfunction drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {\r\n var radarOption = opts.extra.radar || {};\r\n radius += config.radarLabelTextMargin * opts.pix;\r\n angleList.forEach(function(angle, index) {\r\n var pos = {\r\n x: radius * Math.cos(angle),\r\n y: radius * 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,series) {\r\n var text = item.formatter ? item.formatter(item,index,series) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';\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 };\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 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, 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 yAxisIndex: 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 = opts.yAxis.formatter ? opts.yAxis.formatter(Number(item.value)) : item.value;\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[0].width;\r\n let bgStartX = opts.area[3] - textWidth - config.toolTipPadding * 2;\r\n let bgEndX = opts.area[3];\r\n let bgWidth = bgEndX - bgStartX;\r\n let textX = bgEndX - 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, textY - 0.5 * config.fontSize - config.toolTipPadding, 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('right');\r\n context.setFillStyle(item.labelFontColor);\r\n context.fillText(String(labelText), textX, textY + 0.5 * config.fontSize);\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 }, opts.extra.column);\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 - eachSpacing / 2, startY, eachSpacing, endY - startY);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\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 == '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 if (r0 + r2 > height) {\r\n r0 = height;\r\n r2 = 0;\r\n r1 = height;\r\n r3 = 0;\r\n }\r\n if (r0 + r2 > width / 2) {\r\n r0 = width / 2;\r\n r2 = 0;\r\n r1 = width / 2;\r\n r3 = 0;\r\n }\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 - 2, item.y);\r\n context.lineTo(startX + item.width - 2, 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 - 2, 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 if (seriesIndex == 0) {\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 context.setFillStyle(columnOption.meterFillColor);\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\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 if (columnOption.meterBorder > 0) {\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(columnOption.meterBorder * opts.pix);\r\n context.moveTo(startX + columnOption.meterBorder * 0.5, item.y + height);\r\n context.lineTo(startX + columnOption.meterBorder * 0.5, item.y + columnOption.meterBorder * 0.5);\r\n context.lineTo(startX + item.width - columnOption.meterBorder * 0.5, item.y + columnOption.meterBorder * 0.5);\r\n context.lineTo(startX + item.width - columnOption.meterBorder * 0.5, item.y + height);\r\n context.stroke();\r\n }\r\n }\r\n };\r\n } else {\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 context.setFillStyle(item.color || eachSeries.color);\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\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 }\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 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\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 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 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 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 if (r0 + r2 > height) {\r\n r0 = height;\r\n r2 = 0;\r\n r1 = height;\r\n r3 = 0;\r\n }\r\n if (r0 + r2 > width / 2) {\r\n r0 = width / 2;\r\n r2 = 0;\r\n r1 = width / 2;\r\n r3 = 0;\r\n }\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 - 2, item.y);\r\n context.lineTo(startX + item.width - 2, 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.setFillStyle(hexToRgb(eachSeries.color, 0.2));\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\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 == '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 == '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 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) : 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(Number(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 offset = -textWidth;\r\n if (boundaryGap == 'center') {\r\n offset += eachSpacing / 2;\r\n }\r\n var _calRotateTranslate = calRotateTranslate(xAxisPoints[index] + eachSpacing / 2, startY + xAxisFontSize / 2 + 5, opts.height),\r\n transX = _calRotateTranslate.transX,\r\n transY = _calRotateTranslate.transY;\r\n\r\n context.rotate(-1 * config._xAxisTextAngle_);\r\n context.translate(transX, transY);\r\n context.fillText(String(xitem), xAxisPoints[index] + offset, startY + xAxisFontSize + 5);\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 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 var points = [];\r\n for (let i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n points.push(opts.area[0] + eachSpacing * i);\r\n }\r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\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 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] ? points[index] : endY;\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 {\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 }\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 {\r\n context.moveTo(tStartRight, opts.height - opts.area[2]);\r\n context.lineTo(tStartRight, 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 {\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 }\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 context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);\r\n context.fillText(item.name, 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(item.name, fontSize, context) + itemGap;\r\n item.area[2] = startX;\r\n } else {\r\n item.area[2] = startX + measureText(item.name, 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 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 var valid = false;\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (series[i].data > 0) {\r\n valid = true;\r\n break;\r\n }\r\n }\r\n if (valid) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\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 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 var valid = false;\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (series[i].data > 0) {\r\n valid = true;\r\n break;\r\n }\r\n }\r\n if (valid) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\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 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 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('round');\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('round');\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 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 = getArcbarDataPoints(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 opacity: 0.2,\r\n gridCount: 3,\r\n border:false,\r\n borderWidth:2\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 // 画分割线\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n coordinateAngle.forEach(function(angle) {\r\n var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.lineTo(pos.x, pos.y);\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 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 context.setFillStyle(hexToRgb(eachSeries.color, radarOption.opacity));\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 // draw label text\r\n drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n angleList: coordinateAngle\r\n };\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 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\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 if (opts.dataLabel == true) {\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 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\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 let startX, endX, startY, fontSize;\r\n let text = item.formatter ? item.formatter(item,i,series) : util.toFixed(item._proportion_ * 100) + '%';\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, 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\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 === 'rose' || type === 'funnel') {\r\n series = fixPieSeries(series, opts, config);\r\n }\r\n var categories = opts.categories;\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 === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' ) {\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 {\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') {\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') {\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 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 = {\r\n currentOffset: offsetLeft,\r\n startTouchX: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\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 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 '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 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 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 = JSON.parse(JSON.stringify(config));\r\n config$$1.color = opts.color ? opts.color : config$$1.color;\r\n config$$1.yAxisTitleWidth = opts.yAxis.disabled !== true && opts.yAxis.title ? config$$1.yAxisTitleWidth : 0;\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 config$$1.yAxisSplit = opts.yAxis.splitNumber ? opts.yAxis.splitNumber : config.yAxisSplit;\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.xAxisLineHeight = config.xAxisLineHeight * opts.pix;\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 config$$1.columePadding = config.columePadding * opts.pix;\r\n //this.context = opts.context ? opts.context : uni.createCanvasContext(opts.canvasId, opts.$this);\r\n //v2.0版本后需要自行获取context并传入opts进行初始化,这么做是为了确保uCharts可以跨更多端使用,并保证了自定义组件this实例不被循环嵌套。如果您觉得不便请取消上面注释,采用v1.0版本的方式使用,对此给您带来的不便敬请谅解!\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 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: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\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);\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 {\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 === '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 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 }\r\n};\r\n\r\nif (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n module.exports = uCharts;\r\n //export default uCharts;//建议使用nodejs的module导出方式,如报错请使用export方式导出\r\n}\r\n","/*\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\tvar date = new Date();\r\n\tdate.setTime(timeStamp * 1000);\r\n\tvar y = date.getFullYear();\r\n\tvar m = date.getMonth() + 1;\r\n\tm = m < 10 ? ('0' + m) : m;\r\n\tvar d = date.getDate();\r\n\td = d < 10 ? ('0' + d) : d;\r\n\tvar h = date.getHours();\r\n\th = h < 10 ? ('0' + h) : h;\r\n\tvar minute = date.getMinutes();\r\n\tvar second = date.getSeconds();\r\n\tminute = minute < 10 ? ('0' + minute) : minute;\r\n\tsecond = second < 10 ? ('0' + second) : second;\r\n\tif (returnType == 'full') {\r\n\t\treturn y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;\r\n\t}\r\n\tif (returnType == 'y-m-d') {\r\n\t\treturn y + '-' + m + '-' + d;\r\n\t}\r\n\tif (returnType == 'h:m') {\r\n\t\treturn h + ':' + minute;\r\n\t}\r\n\tif (returnType == 'h:m:s') {\r\n\t\treturn h + ':' + minute + ':' + second;\r\n\t}\r\n\treturn [y, m, d, h, minute, second];\r\n}\r\n\r\nmodule.exports = {\r\n\t//demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可\r\n\t\"type\": [\"pie\", \"ring\", \"rose\", \"word\", \"funnel\", \"map\", \"arcbar\", \"line\", \"column\", \"area\", \"radar\", \"gauge\",\r\n\t\t\"candle\", \"mix\", \"tline\", \"tarea\", \"scatter\", \"bubble\", \"demotype\"\r\n\t],\r\n\t\"range\": [\"饼状图\", \"圆环图\", \"玫瑰图\", \"词云图\", \"漏斗图\", \"地图\", \"圆弧进度条\", \"折线图\", \"柱状图\", \"区域图\", \"雷达图\", \"仪表盘\", \"K线图\", \"混合图\",\r\n\t\t\"时间轴折线\", \"时间轴区域\", \"散点图\", \"气泡图\", \"自定义类型\"\r\n\t],\r\n\t//增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的\"demotype\"\r\n\t//自定义类型时需要注意\"tline\",\"tarea\",\"scatter\",\"bubble\"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories\r\n\t\"categories\": [\"line\", \"column\", \"area\", \"radar\", \"gauge\", \"candle\", \"mix\", \"demotype\"],\r\n\t//instance为实例变量承载属性,不要删除\r\n\t\"instance\": {},\r\n\t//option为opts及eopts承载属性,不要删除\r\n\t\"option\": {},\r\n\t//下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换\r\n\t\"formatter\": {\r\n\t\t\"yAxisDemo1\": function(val) {\r\n\t\t\treturn val + '元'\r\n\t\t},\r\n\t\t\"yAxisDemo2\": function(val) {\r\n\t\t\treturn val.toFixed(2)\r\n\t\t},\r\n\t\t\"xAxisDemo1\": function(val) {\r\n\t\t\treturn val + '年'\r\n\t\t},\r\n\t\t\"xAxisDemo2\": function(val) {\r\n\t\t\treturn formatDateTime(val, 'h:m')\r\n\t\t},\r\n\t\t\"seriesDemo1\": function(val) {\r\n\t\t\treturn val + '元'\r\n\t\t},\r\n\t\t\"tooltipDemo1\": function(item, category, index, opts) {\r\n\t\t\tif (index == 0) {\r\n\t\t\t\treturn '随便用' + item.data + '年'\r\n\t\t\t} else {\r\n\t\t\t\treturn '其他我没改' + item.data + '天'\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"pieDemo\": function(val, index, series) {\r\n\t\t\tif (index !== undefined) {\r\n\t\t\t\treturn series[index].name + ':' + series[index].data + '元'\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\t//这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type=\"demotype\" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。\r\n\t\"demotype\": {\r\n\t\t//我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置\r\n\t\t\"type\": \"line\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15, 10, 0, 15],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"curve\",\r\n\t\t\t\t\"width\": 2\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t//下面是自定义配置,请添加项目所需的通用配置\r\n\t\"pie\": {\r\n\t\t\"type\": \"pie\",\r\n\t\t\"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\t\t\"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\t\t\t\"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\t\t\"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\t\t\t\"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\t\t\"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\t\t\"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\t\t\"color\": color,\r\n\t\t\"padding\": [0, 0, 0, 0],\r\n\t\t\"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\t\t\"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\t\t\"color\": color,\r\n\t\t\"padding\": [15, 10, 0, 15],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {},\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\t\"tline\": {\r\n\t\t\"type\": \"line\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15, 10, 0, 15],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"min\": 0,\r\n\t\t\t\t\"max\": 80\r\n\t\t\t}]\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"curve\",\r\n\t\t\t\t\"width\": 2\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"tarea\": {\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [0, 15, 15, 5],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"min\": 0,\r\n\t\t\t\t\"max\": 80\r\n\t\t\t}]\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"curve\",\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\": true\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"column\": {\r\n\t\t\"type\": \"column\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15, 15, 0, 5],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": '#ffffff',\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"tofix\": 1,\r\n\t\t\t\t\"min\": 0\r\n\t\t\t}],\r\n\t\t},\r\n\t\t\"legend\": {},\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\": 20,\r\n\t\t\t\t\"seriesGap\": 5,\r\n\t\t\t\t\"meterFillColor\": \"#FFFFFF\",\r\n\t\t\t\t\"activeBgColor\": \"#000000\",\r\n\t\t\t\t\"activeBgOpacity\": 0.5,\r\n\t\t\t\t\"barBorderCircle\": true,\r\n\t\t\t\t\"linearType\": \"opacity\",\r\n\t\t\t\t// \"customColor\": \"#ff9f40\",\r\n\t\t\t\t\"linearOpacity\": 1,\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"area\": {\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [20, 15, 5, 10],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": '#ffffff',\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"tofix\": 1,\r\n\t\t\t\t\"min\": 0\r\n\t\t\t}],\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": false,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"curve\",\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"addLine\": true,\r\n\t\t\t\t\"width\": 1,\r\n\t\t\t\t\"gradient\": true\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\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n\t\t\t\"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\"legend\": {},\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\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\t\t\t\"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\"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\t\t\"dataLabel\": false,\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t\t\"min\": 0\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"scatter\": {},\r\n\t\t}\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\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t\t\"min\": 0,\r\n\t\t\t\"max\": 250\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"min\": 0,\r\n\t\t\t\t\"max\": 150\r\n\t\t\t}]\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"bubble\": {\r\n\t\t\t\t\"border\": 2,\r\n\t\t\t\t\"opacity\": 0.5,\r\n\t\t\t},\r\n\t\t}\r\n\t}\r\n}\r\n","/**\r\n * html2Json 改造来自: https://github.com/Jxck/html2json\r\n *\r\n *\r\n * author: Di (微信小程序开发工程师)\r\n * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)\r\n * 垂直微信小程序开发交流社区\r\n *\r\n * github地址: https://github.com/icindy/wxParse\r\n *\r\n * for: 微信小程序富文本解析\r\n * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184\r\n */\r\n\r\nimport wxDiscode from './wxDiscode';\r\nimport HTMLParser from './htmlparser';\r\n\r\nfunction makeMap(str) {\r\n const obj = {};\r\n const items = str.split(',');\r\n for (let i = 0; i < items.length; i += 1) obj[items[i]] = true;\r\n return obj;\r\n}\r\n\r\n// Block Elements - HTML 5\r\nconst block = makeMap('br,code,address,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video');\r\n\r\n// Inline Elements - HTML 5\r\nconst inline = makeMap('a,abbr,acronym,applet,b,basefont,bdo,big,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var');\r\n\r\n// Elements that you can, intentionally, leave open\r\n// (and which close themselves)\r\nconst closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr');\r\n\r\nfunction removeDOCTYPE(html) {\r\n const isDocument = /([^]*)<\\/body>/.test(html);\r\n return isDocument ? RegExp.$1 : html;\r\n}\r\n\r\nfunction trimHtml(html) {\r\n return html\r\n .replace(//gi, '')\r\n .replace(/\\/\\*.*?\\*\\//gi, '')\r\n .replace(/[ ]+/gi, '')\r\n .replace(//gi, '');\r\n}\r\n\r\nfunction getScreenInfo() {\r\n const screen = {};\r\n wx.getSystemInfo({\r\n success: (res) => {\r\n screen.width = res.windowWidth;\r\n screen.height = res.windowHeight;\r\n },\r\n });\r\n return screen;\r\n}\r\n\r\nfunction html2json(html, customHandler, imageProp, host) {\r\n // 处理字符串\r\n html = removeDOCTYPE(html);\r\n html = trimHtml(html);\r\n html = wxDiscode.strDiscode(html);\r\n // 生成node节点\r\n const bufArray = [];\r\n const results = {\r\n nodes: [],\r\n imageUrls: [],\r\n };\r\n\r\n\tconst screen = getScreenInfo();\r\n function Node(tag) {\r\n this.node = 'element';\r\n this.tag = tag;\r\n\t\t\r\n\t\tthis.$screen = screen;\r\n }\r\n\r\n HTMLParser(html, {\r\n start(tag, attrs, unary) {\r\n // node for this element\r\n const node = new Node(tag);\r\n\r\n if (bufArray.length !== 0) {\r\n const parent = bufArray[0];\r\n if (parent.nodes === undefined) {\r\n parent.nodes = [];\r\n }\r\n }\r\n\r\n if (block[tag]) {\r\n node.tagType = 'block';\r\n } else if (inline[tag]) {\r\n node.tagType = 'inline';\r\n } else if (closeSelf[tag]) {\r\n node.tagType = 'closeSelf';\r\n }\r\n\r\n node.attr = attrs.reduce((pre, attr) => {\r\n const { name } = attr;\r\n let { value } = attr;\r\n if (name === 'class') {\r\n node.classStr = value;\r\n }\r\n // has multi attibutes\r\n // make it array of attribute\r\n if (name === 'style') {\r\n node.styleStr = value;\r\n }\r\n if (value.match(/ /)) {\r\n value = value.split(' ');\r\n }\r\n\r\n // if attr already exists\r\n // merge it\r\n if (pre[name]) {\r\n if (Array.isArray(pre[name])) {\r\n // already array, push to last\r\n pre[name].push(value);\r\n } else {\r\n // single value, make it array\r\n pre[name] = [pre[name], value];\r\n }\r\n } else {\r\n // not exist, put it\r\n pre[name] = value;\r\n }\r\n\r\n return pre;\r\n }, {});\r\n\r\n // 优化样式相关属性\r\n if (node.classStr) {\r\n node.classStr += ` ${node.tag}`;\r\n } else {\r\n node.classStr = node.tag;\r\n }\r\n if (node.tagType === 'inline') {\r\n node.classStr += ' inline';\r\n }\r\n\r\n // 对img添加额外数据\r\n if (node.tag === 'img') {\r\n let imgUrl = node.attr.src;\r\n imgUrl = wxDiscode.urlToHttpUrl(imgUrl, imageProp.domain);\r\n Object.assign(node.attr, imageProp, {\r\n src: imgUrl || '',\r\n });\r\n if (imgUrl) {\r\n results.imageUrls.push(imgUrl);\r\n }\r\n }\r\n\r\n // 处理a标签属性\r\n if (node.tag === 'a') {\r\n node.attr.href = node.attr.href || '';\r\n }\r\n\r\n // 处理font标签样式属性\r\n if (node.tag === 'font') {\r\n const fontSize = [\r\n 'x-small',\r\n 'small',\r\n 'medium',\r\n 'large',\r\n 'x-large',\r\n 'xx-large',\r\n '-webkit-xxx-large',\r\n ];\r\n const styleAttrs = {\r\n color: 'color',\r\n face: 'font-family',\r\n size: 'font-size',\r\n };\r\n if (!node.styleStr) node.styleStr = '';\r\n Object.keys(styleAttrs).forEach((key) => {\r\n if (node.attr[key]) {\r\n const value = key === 'size' ? fontSize[node.attr[key] - 1] : node.attr[key];\r\n node.styleStr += `${styleAttrs[key]}: ${value};`;\r\n }\r\n });\r\n }\r\n\r\n // 临时记录source资源\r\n if (node.tag === 'source') {\r\n results.source = node.attr.src;\r\n }\r\n\r\n if (customHandler.start) {\r\n customHandler.start(node, results);\r\n }\r\n\r\n if (unary) {\r\n // if this tag doesn't have end tag\r\n // like \r\n // add to parents\r\n const parent = bufArray[0] || results;\r\n if (parent.nodes === undefined) {\r\n parent.nodes = [];\r\n }\r\n parent.nodes.push(node);\r\n } else {\r\n bufArray.unshift(node);\r\n }\r\n },\r\n end(tag) {\r\n // merge into parent tag\r\n const node = bufArray.shift();\r\n if (node.tag !== tag) {\r\n console.error('invalid state: mismatch end tag');\r\n }\r\n\r\n // 当有缓存source资源时于于video补上src资源\r\n if (node.tag === 'video' && results.source) {\r\n node.attr.src = results.source;\r\n delete results.source;\r\n }\r\n\r\n if (customHandler.end) {\r\n customHandler.end(node, results);\r\n }\r\n\r\n if (bufArray.length === 0) {\r\n results.nodes.push(node);\r\n } else {\r\n const parent = bufArray[0];\r\n if (!parent.nodes) {\r\n parent.nodes = [];\r\n }\r\n parent.nodes.push(node);\r\n }\r\n },\r\n chars(text) {\r\n if (!text.trim()) return;\r\n\r\n const node = {\r\n node: 'text',\r\n text,\r\n };\r\n\r\n if (customHandler.chars) {\r\n customHandler.chars(node, results);\r\n }\r\n\r\n if (bufArray.length === 0) {\r\n results.nodes.push(node);\r\n } else {\r\n const parent = bufArray[0];\r\n if (parent.nodes === undefined) {\r\n parent.nodes = [];\r\n }\r\n parent.nodes.push(node);\r\n }\r\n },\r\n });\r\n\r\n return results;\r\n}\r\n\r\nexport default html2json;\r\n","// HTML 支持的数学符号\r\nfunction strNumDiscode(str) {\r\n str = str.replace(/∀/g, '∀');\r\n str = str.replace(/∂/g, '∂');\r\n str = str.replace(/∃/g, '∃');\r\n str = str.replace(/∅/g, '∅');\r\n str = str.replace(/∇/g, '∇');\r\n str = str.replace(/∈/g, '∈');\r\n str = str.replace(/∉/g, '∉');\r\n str = str.replace(/∋/g, '∋');\r\n str = str.replace(/∏/g, '∏');\r\n str = str.replace(/∑/g, '∑');\r\n str = str.replace(/−/g, '−');\r\n str = str.replace(/∗/g, '∗');\r\n str = str.replace(/√/g, '√');\r\n str = str.replace(/∝/g, '∝');\r\n str = str.replace(/∞/g, '∞');\r\n str = str.replace(/∠/g, '∠');\r\n str = str.replace(/∧/g, '∧');\r\n str = str.replace(/∨/g, '∨');\r\n str = str.replace(/∩/g, '∩');\r\n str = str.replace(/∪/g, '∪');\r\n str = str.replace(/∫/g, '∫');\r\n str = str.replace(/∴/g, '∴');\r\n str = str.replace(/∼/g, '∼');\r\n str = str.replace(/≅/g, '≅');\r\n str = str.replace(/≈/g, '≈');\r\n str = str.replace(/≠/g, '≠');\r\n str = str.replace(/≤/g, '≤');\r\n str = str.replace(/≥/g, '≥');\r\n str = str.replace(/⊂/g, '⊂');\r\n str = str.replace(/⊃/g, '⊃');\r\n str = str.replace(/⊄/g, '⊄');\r\n str = str.replace(/⊆/g, '⊆');\r\n str = str.replace(/⊇/g, '⊇');\r\n str = str.replace(/⊕/g, '⊕');\r\n str = str.replace(/⊗/g, '⊗');\r\n str = str.replace(/⊥/g, '⊥');\r\n str = str.replace(/⋅/g, '⋅');\r\n return str;\r\n}\r\n\r\n// HTML 支持的希腊字母\r\nfunction strGreeceDiscode(str) {\r\n str = str.replace(/Α/g, 'Α');\r\n str = str.replace(/Β/g, 'Β');\r\n str = str.replace(/Γ/g, 'Γ');\r\n str = str.replace(/Δ/g, 'Δ');\r\n str = str.replace(/Ε/g, 'Ε');\r\n str = str.replace(/Ζ/g, 'Ζ');\r\n str = str.replace(/Η/g, 'Η');\r\n str = str.replace(/Θ/g, 'Θ');\r\n str = str.replace(/Ι/g, 'Ι');\r\n str = str.replace(/Κ/g, 'Κ');\r\n str = str.replace(/Λ/g, 'Λ');\r\n str = str.replace(/Μ/g, 'Μ');\r\n str = str.replace(/Ν/g, 'Ν');\r\n str = str.replace(/Ξ/g, 'Ν');\r\n str = str.replace(/Ο/g, 'Ο');\r\n str = str.replace(/Π/g, 'Π');\r\n str = str.replace(/Ρ/g, 'Ρ');\r\n str = str.replace(/Σ/g, 'Σ');\r\n str = str.replace(/Τ/g, 'Τ');\r\n str = str.replace(/Υ/g, 'Υ');\r\n str = str.replace(/Φ/g, 'Φ');\r\n str = str.replace(/Χ/g, 'Χ');\r\n str = str.replace(/Ψ/g, 'Ψ');\r\n str = str.replace(/Ω/g, 'Ω');\r\n\r\n str = str.replace(/α/g, 'α');\r\n str = str.replace(/β/g, 'β');\r\n str = str.replace(/γ/g, 'γ');\r\n str = str.replace(/δ/g, 'δ');\r\n str = str.replace(/ε/g, 'ε');\r\n str = str.replace(/ζ/g, 'ζ');\r\n str = str.replace(/η/g, 'η');\r\n str = str.replace(/θ/g, 'θ');\r\n str = str.replace(/ι/g, 'ι');\r\n str = str.replace(/κ/g, 'κ');\r\n str = str.replace(/λ/g, 'λ');\r\n str = str.replace(/μ/g, 'μ');\r\n str = str.replace(/ν/g, 'ν');\r\n str = str.replace(/ξ/g, 'ξ');\r\n str = str.replace(/ο/g, 'ο');\r\n str = str.replace(/π/g, 'π');\r\n str = str.replace(/ρ/g, 'ρ');\r\n str = str.replace(/ς/g, 'ς');\r\n str = str.replace(/σ/g, 'σ');\r\n str = str.replace(/τ/g, 'τ');\r\n str = str.replace(/υ/g, 'υ');\r\n str = str.replace(/φ/g, 'φ');\r\n str = str.replace(/χ/g, 'χ');\r\n str = str.replace(/ψ/g, 'ψ');\r\n str = str.replace(/ω/g, 'ω');\r\n str = str.replace(/ϑ/g, 'ϑ');\r\n str = str.replace(/ϒ/g, 'ϒ');\r\n str = str.replace(/ϖ/g, 'ϖ');\r\n str = str.replace(/·/g, '·');\r\n return str;\r\n}\r\n\r\nfunction strcharacterDiscode(str) {\r\n // 加入常用解析\r\n str = str.replace(/ /g, ' ');\r\n str = str.replace(/ /g, ' ');\r\n str = str.replace(/ /g, ' ');\r\n str = str.replace(/"/g, \"'\");\r\n str = str.replace(/&/g, '&');\r\n str = str.replace(/</g, '<');\r\n str = str.replace(/>/g, '>');\r\n str = str.replace(/•/g, '•');\r\n\r\n return str;\r\n}\r\n\r\n// HTML 支持的其他实体\r\nfunction strOtherDiscode(str) {\r\n str = str.replace(/Œ/g, 'Œ');\r\n str = str.replace(/œ/g, 'œ');\r\n str = str.replace(/Š/g, 'Š');\r\n str = str.replace(/š/g, 'š');\r\n str = str.replace(/Ÿ/g, 'Ÿ');\r\n str = str.replace(/ƒ/g, 'ƒ');\r\n str = str.replace(/ˆ/g, 'ˆ');\r\n str = str.replace(/˜/g, '˜');\r\n str = str.replace(/ /g, '');\r\n str = str.replace(/ /g, '');\r\n str = str.replace(/ /g, '');\r\n str = str.replace(/‌/g, '');\r\n str = str.replace(/‍/g, '');\r\n str = str.replace(/‎/g, '');\r\n str = str.replace(/‏/g, '');\r\n str = str.replace(/–/g, '–');\r\n str = str.replace(/—/g, '—');\r\n str = str.replace(/‘/g, '‘');\r\n str = str.replace(/’/g, '’');\r\n str = str.replace(/‚/g, '‚');\r\n str = str.replace(/“/g, '“');\r\n str = str.replace(/”/g, '”');\r\n str = str.replace(/„/g, '„');\r\n str = str.replace(/†/g, '†');\r\n str = str.replace(/‡/g, '‡');\r\n str = str.replace(/•/g, '•');\r\n str = str.replace(/…/g, '…');\r\n str = str.replace(/‰/g, '‰');\r\n str = str.replace(/′/g, '′');\r\n str = str.replace(/″/g, '″');\r\n str = str.replace(/‹/g, '‹');\r\n str = str.replace(/›/g, '›');\r\n str = str.replace(/‾/g, '‾');\r\n str = str.replace(/€/g, '€');\r\n str = str.replace(/™/g, '™');\r\n\r\n str = str.replace(/←/g, '←');\r\n str = str.replace(/↑/g, '↑');\r\n str = str.replace(/→/g, '→');\r\n str = str.replace(/↓/g, '↓');\r\n str = str.replace(/↔/g, '↔');\r\n str = str.replace(/↵/g, '↵');\r\n str = str.replace(/⌈/g, '⌈');\r\n str = str.replace(/⌉/g, '⌉');\r\n\r\n str = str.replace(/⌊/g, '⌊');\r\n str = str.replace(/⌋/g, '⌋');\r\n str = str.replace(/◊/g, '◊');\r\n str = str.replace(/♠/g, '♠');\r\n str = str.replace(/♣/g, '♣');\r\n str = str.replace(/♥/g, '♥');\r\n\r\n str = str.replace(/♦/g, '♦');\r\n str = str.replace(/'/g, \"'\");\r\n return str;\r\n}\r\n\r\nfunction strDiscode(str) {\r\n str = strNumDiscode(str);\r\n str = strGreeceDiscode(str);\r\n str = strcharacterDiscode(str);\r\n str = strOtherDiscode(str);\r\n return str;\r\n}\r\n\r\nfunction urlToHttpUrl(url, domain) {\r\n if (/^\\/\\//.test(url)) {\r\n return `https:${url}`;\r\n } else if (/^\\//.test(url)) {\r\n return `https://${domain}${url}`;\r\n }\r\n return url;\r\n}\r\n\r\nexport default {\r\n strDiscode,\r\n urlToHttpUrl,\r\n};\r\n","/**\r\n *\r\n * htmlParser改造自: https://github.com/blowsie/Pure-JavaScript-HTML5-Parser\r\n *\r\n * author: Di (微信小程序开发工程师)\r\n * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com)\r\n * 垂直微信小程序开发交流社区\r\n *\r\n * github地址: https://github.com/icindy/wxParse\r\n *\r\n * for: 微信小程序富文本解析\r\n * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184\r\n */\r\n// Regular Expressions for parsing tags and attributes\r\n\r\nconst startTag = /^<([-A-Za-z0-9_]+)((?:\\s+[a-zA-Z0-9_:][-a-zA-Z0-9_:.]*(?:\\s*=\\s*(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>\\s]+))?)*)\\s*(\\/?)>/;\r\nconst endTag = /^<\\/([-A-Za-z0-9_]+)[^>]*>/;\r\nconst attr = /([a-zA-Z0-9_:][-a-zA-Z0-9_:.]*)(?:\\s*=\\s*(?:(?:\"((?:\\\\.|[^\"])*)\")|(?:'((?:\\\\.|[^'])*)')|([^>\\s]+)))?/g;\r\n\r\nfunction makeMap(str) {\r\n const obj = {};\r\n const items = str.split(',');\r\n for (let i = 0; i < items.length; i += 1) obj[items[i]] = true;\r\n return obj;\r\n}\r\n\r\n// Empty Elements - HTML 5\r\nconst empty = makeMap('area,base,basefont,br,col,frame,hr,img,input,link,meta,param,embed,command,keygen,source,track,wbr');\r\n\r\n// Block Elements - HTML 5\r\nconst block = makeMap('address,code,article,applet,aside,audio,blockquote,button,canvas,center,dd,del,dir,div,dl,dt,fieldset,figcaption,figure,footer,form,frameset,h1,h2,h3,h4,h5,h6,header,hgroup,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,output,p,pre,section,script,table,tbody,td,tfoot,th,thead,tr,ul,video');\r\n\r\n// Inline Elements - HTML 5\r\nconst inline = makeMap('a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var');\r\n\r\n// Elements that you can, intentionally, leave open\r\n// (and which close themselves)\r\nconst closeSelf = makeMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr');\r\n\r\n// Attributes that have their values filled in disabled=\"disabled\"\r\nconst fillAttrs = makeMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected');\r\n\r\nfunction HTMLParser(html, handler) {\r\n let index;\r\n let chars;\r\n let match;\r\n let last = html;\r\n const stack = [];\r\n\r\n stack.last = () => stack[stack.length - 1];\r\n\r\n function parseEndTag(tag, tagName) {\r\n // If no tag name is provided, clean shop\r\n let pos;\r\n if (!tagName) {\r\n pos = 0;\r\n } else {\r\n // Find the closest opened tag of the same type\r\n tagName = tagName.toLowerCase();\r\n for (pos = stack.length - 1; pos >= 0; pos -= 1) {\r\n if (stack[pos] === tagName) break;\r\n }\r\n }\r\n if (pos >= 0) {\r\n // Close all the open elements, up the stack\r\n for (let i = stack.length - 1; i >= pos; i -= 1) {\r\n if (handler.end) handler.end(stack[i]);\r\n }\r\n\r\n // Remove the open elements from the stack\r\n stack.length = pos;\r\n }\r\n }\r\n\r\n function parseStartTag(tag, tagName, rest, unary) {\r\n tagName = tagName.toLowerCase();\r\n\r\n if (block[tagName]) {\r\n while (stack.last() && inline[stack.last()]) {\r\n parseEndTag('', stack.last());\r\n }\r\n }\r\n\r\n if (closeSelf[tagName] && stack.last() === tagName) {\r\n parseEndTag('', tagName);\r\n }\r\n\r\n unary = empty[tagName] || !!unary;\r\n\r\n if (!unary) stack.push(tagName);\r\n\r\n if (handler.start) {\r\n const attrs = [];\r\n\r\n rest.replace(attr, function genAttr(matches, name) {\r\n const value = arguments[2] || arguments[3] || arguments[4] || (fillAttrs[name] ? name : '');\r\n\r\n attrs.push({\r\n name,\r\n value,\r\n escaped: value.replace(/(^|[^\\\\])\"/g, '$1\\\\\"'), // \"\r\n });\r\n });\r\n\r\n if (handler.start) {\r\n handler.start(tagName, attrs, unary);\r\n }\r\n }\r\n }\r\n\r\n while (html) {\r\n chars = true;\r\n\r\n if (html.indexOf('= 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 * Vue.js v2.6.11\n * (c) 2014-2021 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.