From d88388d04b956884fcb43a32d4ee6bc52d86f5ce Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Fri, 14 Mar 2025 03:40:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cursorrules | 37 + .env | 5 + .env.development | 5 + .env.production | 5 + .hbuilderx/launch.json | 2 +- .vscode/settings.json | 1 - dataRender/1.json | 251 - dataRender/jdyx.txt | 2093 ----- dataRender/jdyxRender.js | 55 - dataRender/jdyxRender2.js | 41 - dataRender/output.json | 822 -- dataRender/word2.js | 0 dataRender/word_list.js | 51 - dataRender/人企关系.json | 65 - dataRender/人企关系2.json | 646 -- dataRender/人企关系3.json | 150 - dataRender/借贷意向1.json | 154 - dataRender/借贷行为1.json | 133 - dataRender/特殊名单1.json | 17 - docs/环境变量配置说明.md | 53 + eslint.config.mjs | 15 - manifest.config.ts | 34 + package.json | 51 +- pages.config.ts | 5 + pnpm-lock.yaml | 1510 ++-- src/App.vue | 84 + src/api/apis.js | 14 + src/apis/agent.js | 138 + src/app.scss | 8 + src/auto-imports.d.ts | 11 +- src/components.d.ts | 36 +- src/components/AgentApplicationForm.vue | 341 + src/components/AppFooter.vue | 25 - src/components/AppLogos.vue | 27 - src/components/EnvDemo.vue | 84 + src/components/HiCounter.vue | 23 - src/components/InputEntry.vue | 47 - src/components/LButtonGroup.vue | 87 - src/components/LExpandCollapse.vue | 61 - src/components/LTabbar.vue | 30 - src/components/LTable.vue | 98 - src/components/LTitle.vue | 58 - src/components/PriceInputPopup.vue | 179 + src/components/PrivacyModel.vue | 4 +- src/components/QRcode.vue | 545 ++ src/components/VipBanner.vue | 36 + src/components/qiun-data-charts/license.md | 201 - .../qiun-data-charts/qiun-data-charts.vue | 1621 ---- src/components/qiun-error/qiun-error.vue | 46 - src/components/qiun-loading/loading1.vue | 162 - src/components/qiun-loading/loading2.vue | 170 - src/components/qiun-loading/loading3.vue | 173 - src/components/qiun-loading/loading4.vue | 222 - src/components/qiun-loading/loading5.vue | 229 - src/components/qiun-loading/qiun-loading.vue | 36 - src/components/u-charts/config-echarts.js | 422 - src/components/u-charts/config-ucharts.js | 606 -- src/components/u-charts/license.md | 201 - src/components/u-charts/readme.md | 5 - src/components/u-charts/u-charts.js | 7706 ----------------- src/components/u-charts/u-charts.min.js | 18 - src/components/uCharts | 0 src/composables/useCount.ts | 16 - src/composables/useQuery.ts | 10 - src/hooks/useColPickerData.ts | 38 + src/layouts/home.vue | 28 +- src/main.ts | 7 +- src/manifest.json | 21 +- src/pages.json | 108 +- src/pages/agent.vue | 249 + src/pages/agentVip.vue | 63 + src/pages/agentVipConfig.vue | 504 ++ src/pages/agreement.vue | 63 + src/pages/ai.vue | 306 +- src/pages/authorization.vue | 54 - src/pages/complaint.vue | 22 - src/pages/example copy.vue | 204 - src/pages/example.vue | 41 - src/pages/index.vue | 172 +- src/pages/inquire.vue | 294 - src/pages/invitation.vue | 51 + src/pages/invitationAgentApply.vue | 199 + src/pages/login.vue | 94 +- src/pages/me.vue | 337 +- src/pages/pay.vue | 98 - src/pages/payb.vue | 164 - src/pages/privacyPolicy.vue | 22 - src/pages/promote.vue | 245 + src/pages/promoteDetails.vue | 144 + src/pages/queryHistory.vue | 19 +- src/pages/result copy.vue | 204 - src/pages/result.vue | 40 - src/pages/rewardsDetails.vue | 165 + src/pages/service.vue | 22 - src/pages/userAgreement.vue | 22 - src/pages/vip.vue | 26 + src/pages/withdraw.vue | 427 + src/pages/withdrawDetails.vue | 181 + src/static/app-plus/echarts.min.js | 23 - src/static/h5/echarts.min.js | 23 - src/static/image/ai_picture.webp | Bin 0 -> 53158 bytes src/static/image/ai_qinggan.png | Bin 0 -> 60107 bytes src/static/image/empty.svg | 75 + src/static/image/gdrqgx_icon.svg | 1 + src/static/image/grbl_icon.svg | 1 + src/static/image/grss_icon.svg | 1 + src/static/image/head_shot.webp | Bin 0 -> 2196 bytes src/static/image/icon_bg copy.svg | 1 + src/static/image/icon_bg.svg | 1 + src/static/image/icon_bz.svg | 1 + src/static/image/icon_bz_2.svg | 1 + src/static/image/icon_index_apistore.svg | 1 + src/static/image/icon_index_chacheliang.svg | 1 + src/static/image/icon_share_friends.svg | 1 + src/static/image/icon_share_img.svg | 1 + src/static/image/icon_share_url.svg | 1 + src/static/image/icon_share_wechat.svg | 1 + src/static/image/icon_tg copy.svg | 1 + src/static/image/icon_tg.svg | 1 + src/static/image/icon_xj copy.svg | 1 + src/static/image/icon_xj.svg | 1 + src/static/image/invitation.png | Bin 0 -> 147490 bytes src/static/image/invitation_agent_apply.png | Bin 0 -> 377999 bytes src/static/image/tg_qrcode_1.png | Bin 0 -> 866564 bytes src/static/image/vip_bg.png | Bin 0 -> 179759 bytes src/static/image/vip_bg_placeholder.txt | Bin 0 -> 92 bytes src/static/image/yq_qrcode_1.png | Bin 0 -> 599044 bytes src/store/user.ts | 43 + src/ui/CBad.vue | 155 - src/ui/CBankLoanApplication.vue | 361 - src/ui/CBankLoanBehavior.vue | 181 - src/ui/CLawsuit.vue | 203 - src/ui/CMarriage.vue | 67 - src/ui/CRelatedEnterprises.vue | 448 - src/ui/CSpecialList.vue | 156 - src/ui/CTabs.vue | 249 - src/uni-pages.d.ts | 26 +- src/utils/chatCrypto.js | 174 + src/utils/chatEncrypt.js | 19 + src/utils/crypto.js | 32 + src/utils/request.js | 2 +- src/utils/routerGuard.js | 60 + tsconfig.json | 2 +- utssdk/webview/package.json | 6 + utssdk/webview/src/android-declarations.uts | 44 + utssdk/webview/src/index.uts | 98 + utssdk/webview/src/ios-declarations.uts | 48 + utssdk/webview/tsconfig.json | 10 + vite.config.ts | 25 +- 149 files changed, 6268 insertions(+), 20894 deletions(-) create mode 100644 .cursorrules create mode 100644 .env create mode 100644 .env.development create mode 100644 .env.production delete mode 100644 dataRender/1.json delete mode 100644 dataRender/jdyx.txt delete mode 100644 dataRender/jdyxRender.js delete mode 100644 dataRender/jdyxRender2.js delete mode 100644 dataRender/output.json delete mode 100644 dataRender/word2.js delete mode 100644 dataRender/word_list.js delete mode 100644 dataRender/人企关系.json delete mode 100644 dataRender/人企关系2.json delete mode 100644 dataRender/人企关系3.json delete mode 100644 dataRender/借贷意向1.json delete mode 100644 dataRender/借贷行为1.json delete mode 100644 dataRender/特殊名单1.json create mode 100644 docs/环境变量配置说明.md delete mode 100644 eslint.config.mjs create mode 100644 src/apis/agent.js create mode 100644 src/components/AgentApplicationForm.vue delete mode 100644 src/components/AppFooter.vue delete mode 100644 src/components/AppLogos.vue create mode 100644 src/components/EnvDemo.vue delete mode 100644 src/components/HiCounter.vue delete mode 100644 src/components/InputEntry.vue delete mode 100644 src/components/LButtonGroup.vue delete mode 100644 src/components/LExpandCollapse.vue delete mode 100644 src/components/LTabbar.vue delete mode 100644 src/components/LTable.vue delete mode 100644 src/components/LTitle.vue create mode 100644 src/components/PriceInputPopup.vue create mode 100644 src/components/QRcode.vue create mode 100644 src/components/VipBanner.vue delete mode 100644 src/components/qiun-data-charts/license.md delete mode 100644 src/components/qiun-data-charts/qiun-data-charts.vue delete mode 100644 src/components/qiun-error/qiun-error.vue delete mode 100644 src/components/qiun-loading/loading1.vue delete mode 100644 src/components/qiun-loading/loading2.vue delete mode 100644 src/components/qiun-loading/loading3.vue delete mode 100644 src/components/qiun-loading/loading4.vue delete mode 100644 src/components/qiun-loading/loading5.vue delete mode 100644 src/components/qiun-loading/qiun-loading.vue delete mode 100644 src/components/u-charts/config-echarts.js delete mode 100644 src/components/u-charts/config-ucharts.js delete mode 100644 src/components/u-charts/license.md delete mode 100644 src/components/u-charts/readme.md delete mode 100644 src/components/u-charts/u-charts.js delete mode 100644 src/components/u-charts/u-charts.min.js delete mode 100644 src/components/uCharts delete mode 100644 src/composables/useCount.ts delete mode 100644 src/composables/useQuery.ts create mode 100644 src/hooks/useColPickerData.ts create mode 100644 src/pages/agent.vue create mode 100644 src/pages/agentVip.vue create mode 100644 src/pages/agentVipConfig.vue create mode 100644 src/pages/agreement.vue delete mode 100644 src/pages/authorization.vue delete mode 100644 src/pages/complaint.vue delete mode 100644 src/pages/example copy.vue delete mode 100644 src/pages/example.vue delete mode 100644 src/pages/inquire.vue create mode 100644 src/pages/invitation.vue create mode 100644 src/pages/invitationAgentApply.vue delete mode 100644 src/pages/pay.vue delete mode 100644 src/pages/payb.vue delete mode 100644 src/pages/privacyPolicy.vue create mode 100644 src/pages/promote.vue create mode 100644 src/pages/promoteDetails.vue delete mode 100644 src/pages/result copy.vue delete mode 100644 src/pages/result.vue create mode 100644 src/pages/rewardsDetails.vue delete mode 100644 src/pages/service.vue delete mode 100644 src/pages/userAgreement.vue create mode 100644 src/pages/vip.vue create mode 100644 src/pages/withdraw.vue create mode 100644 src/pages/withdrawDetails.vue delete mode 100644 src/static/app-plus/echarts.min.js delete mode 100644 src/static/h5/echarts.min.js create mode 100644 src/static/image/ai_picture.webp create mode 100644 src/static/image/ai_qinggan.png create mode 100644 src/static/image/empty.svg create mode 100644 src/static/image/gdrqgx_icon.svg create mode 100644 src/static/image/grbl_icon.svg create mode 100644 src/static/image/grss_icon.svg create mode 100644 src/static/image/head_shot.webp create mode 100644 src/static/image/icon_bg copy.svg create mode 100644 src/static/image/icon_bg.svg create mode 100644 src/static/image/icon_bz.svg create mode 100644 src/static/image/icon_bz_2.svg create mode 100644 src/static/image/icon_index_apistore.svg create mode 100644 src/static/image/icon_index_chacheliang.svg create mode 100644 src/static/image/icon_share_friends.svg create mode 100644 src/static/image/icon_share_img.svg create mode 100644 src/static/image/icon_share_url.svg create mode 100644 src/static/image/icon_share_wechat.svg create mode 100644 src/static/image/icon_tg copy.svg create mode 100644 src/static/image/icon_tg.svg create mode 100644 src/static/image/icon_xj copy.svg create mode 100644 src/static/image/icon_xj.svg create mode 100644 src/static/image/invitation.png create mode 100644 src/static/image/invitation_agent_apply.png create mode 100644 src/static/image/tg_qrcode_1.png create mode 100644 src/static/image/vip_bg.png create mode 100644 src/static/image/vip_bg_placeholder.txt create mode 100644 src/static/image/yq_qrcode_1.png create mode 100644 src/store/user.ts delete mode 100644 src/ui/CBad.vue delete mode 100644 src/ui/CBankLoanApplication.vue delete mode 100644 src/ui/CBankLoanBehavior.vue delete mode 100644 src/ui/CLawsuit.vue delete mode 100644 src/ui/CMarriage.vue delete mode 100644 src/ui/CRelatedEnterprises.vue delete mode 100644 src/ui/CSpecialList.vue delete mode 100644 src/ui/CTabs.vue create mode 100644 src/utils/chatCrypto.js create mode 100644 src/utils/chatEncrypt.js create mode 100644 src/utils/routerGuard.js create mode 100644 utssdk/webview/package.json create mode 100644 utssdk/webview/src/android-declarations.uts create mode 100644 utssdk/webview/src/index.uts create mode 100644 utssdk/webview/src/ios-declarations.uts create mode 100644 utssdk/webview/tsconfig.json diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..d49e16f --- /dev/null +++ b/.cursorrules @@ -0,0 +1,37 @@ +// Uniapp Vue 3 best practices + +const vue3CompositionApiBestPractices = [ + "Use setup() function for component logic", + "Utilize ref and reactive for reactive state", + "Implement computed properties with computed()", + "Use watch and watchEffect for side effects", + "Implement lifecycle hooks with onMounted, onUpdated, etc.", + "Utilize provide/inject for dependency injection", +]; + +// Folder structure + +const folderStructure = ` +src/ + components/ + composables/ + views/ + static/ + ui/ + App.vue + main.ts +`; + +// Additional instructions + +const additionalInstructions = ` +1. Follow the uniapp vue3 version +2. Pay attention to the compatibility of mobile APP +3. Implement proper props and emits definitions +4. Utilize Vue 3's Teleport component when needed +5. Use Suspense for async components +6. Implement proper error handling +7. Follow Vue 3 style guide and naming conventions +8. Use Vite for fast development and building +`; + diff --git a/.env b/.env new file mode 100644 index 0000000..86dde1f --- /dev/null +++ b/.env @@ -0,0 +1,5 @@ +# 基础环境变量配置 +VITE_APP_BASE_URL=https://www.quannengcha.com +VITE_APP_SHARE_URL=https://www.tianyuandata.com +# 默认环境配置 +VITE_APP_DEBUG=false \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..87f5be5 --- /dev/null +++ b/.env.development @@ -0,0 +1,5 @@ +# 开发环境配置 +VITE_APP_BASE_URL=https://www.quannengcha.com + +# 是否启用调试模式 +VITE_APP_DEBUG=true diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..bde6ca6 --- /dev/null +++ b/.env.production @@ -0,0 +1,5 @@ +# 生产环境配置 +VITE_APP_BASE_URL=https://www.quannengcha.com + +# 关闭调试模式 +VITE_APP_DEBUG=false diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json index b847f9a..e0ba03e 100644 --- a/.hbuilderx/launch.json +++ b/.hbuilderx/launch.json @@ -2,7 +2,7 @@ "version" : "1.0", "configurations" : [ { - "playground" : "custom", + "playground" : "standard", "type" : "uni-app:app-ios" }, { diff --git a/.vscode/settings.json b/.vscode/settings.json index f436729..c08e65a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,6 @@ // Auto fix "editor.codeActionsOnSave": { - "source.fixAll.eslint": "explicit", "source.organizeImports": "never" }, diff --git a/dataRender/1.json b/dataRender/1.json deleted file mode 100644 index e0bfcff..0000000 --- a/dataRender/1.json +++ /dev/null @@ -1,251 +0,0 @@ -{ - "code": "00", - "data": { - "als_m12_id_max_monnum": "2", - "als_m1_cell_nbank_allnum": "1", - "als_d15_cell_nbank_week_allnum": "0", - "als_d15_id_nbank_allnum": "1", - "als_m12_id_min_monnum": "0", - "als_m3_id_max_monnum": "1", - "als_m12_cell_min_inteday": "14", - "als_m6_cell_nbank_max_inteday": "46", - "als_d15_cell_nbank_selfnum": "0", - "als_d15_cell_nbank_sloan_allnum": "1", - "als_m3_id_nbank_orgnum": "2", - "als_m12_cell_nbank_ca_allnum": "2", - "als_m1_id_nbank_week_orgnum": "0", - "als_m6_id_nbank_orgnum": "2", - "als_m3_cell_min_monnum": "1", - "als_m6_id_avg_monnum": "1.00", - "als_m6_cell_nbank_orgnum": "2", - "DataStrategy": { - "strategy_version": "1.0", - "product_type": "100099", - "strategy_id": "DTA_BR0007512", - "product_name": "预置_借贷意向验证", - "scene": "lend" - }, - "als_d15_id_rel_orgnum": "1", - "als_m3_cell_nbank_cf_orgnum": "1", - "als_m12_cell_nbank_sloan_orgnum": "2", - "als_fst_id_nbank_inteday": "264", - "als_m1_id_nbank_allnum": "1", - "als_m6_cell_nbank_max_monnum": "1", - "als_m12_cell_caon_allnum": "2", - "als_m1_cell_nbank_cf_allnum": "1", - "als_m6_cell_nbank_night_allnum": "1", - "als_m12_id_nbank_night_allnum": "1", - "als_m3_cell_caon_orgnum": "1", - "als_m12_id_nbank_avg_monnum": "1.20", - "als_d15_cell_nbank_orgnum": "1", - "als_m12_id_nbank_cf_allnum": "4", - "als_m3_cell_nbank_orgnum": "2", - "als_m12_id_nbank_sloan_allnum": "6", - "als_m3_cell_min_inteday": "31", - "als_m6_cell_nbank_sloan_allnum": "4", - "als_m3_id_nbank_cf_allnum": "2", - "als_m6_cell_nbank_avg_monnum": "1.00", - "als_m12_id_nbank_max_monnum": "2", - "als_m1_cell_nbank_sloan_allnum": "1", - "als_m6_cell_nbank_ca_allnum": "2", - "als_m3_id_min_inteday": "31", - "als_m3_cell_caon_allnum": "1", - "als_m6_id_nbank_cf_orgnum": "1", - "als_m1_cell_nbank_night_orgnum": "0", - "als_m1_id_nbank_cf_orgnum": "1", - "als_m3_id_nbank_cf_orgnum": "1", - "als_d15_cell_nbank_night_orgnum": "0", - "als_m6_cell_nbank_night_orgnum": "1", - "als_m12_id_nbank_night_orgnum": "1", - "als_m3_id_nbank_avg_monnum": "1.00", - "als_m3_id_min_monnum": "1", - "als_lst_cell_nbank_csinteday": "1", - "als_m12_cell_nbank_max_inteday": "128", - "als_m6_cell_max_monnum": "1", - "als_d15_cell_nbank_night_allnum": "0", - "als_m12_cell_min_monnum": "0", - "als_m3_id_nbank_max_monnum": "1", - "als_m3_cell_max_monnum": "1", - "als_m1_id_rel_orgnum": "1", - "als_m1_cell_nbank_cf_orgnum": "1", - "als_m12_id_nbank_orgnum": "2", - "als_m1_cell_nbank_night_allnum": "0", - "als_m3_cell_nbank_allnum": "3", - "als_m3_id_nbank_night_allnum": "1", - "als_d15_cell_rel_orgnum": "1", - "als_d15_cell_nbank_cf_allnum": "1", - "als_m6_cell_nbank_selfnum": "0", - "als_m6_cell_caon_orgnum": "1", - "als_m12_cell_nbank_sloan_allnum": "6", - "als_m3_id_caon_allnum": "1", - "als_m12_cell_nbank_night_orgnum": "1", - "als_m12_id_min_inteday": "14", - "als_m12_id_nbank_sloan_orgnum": "2", - "als_m6_id_nbank_ca_allnum": "2", - "als_d15_id_nbank_orgnum": "1", - "als_m6_cell_nbank_cf_orgnum": "1", - "swift_number": "3034309_20241022220649_604904CBA19", - "als_m6_cell_nbank_tot_mons": "4", - "als_m12_id_tot_mons": "5", - "als_m12_id_avg_monnum": "1.20", - "als_m3_id_nbank_sloan_orgnum": "2", - "als_m3_cell_nbank_max_inteday": "38", - "als_m1_id_nbank_orgnum": "1", - "als_m12_id_nbank_cf_orgnum": "1", - "als_m1_cell_nbank_orgnum": "1", - "als_d15_cell_nbank_allnum": "1", - "als_m6_id_max_monnum": "1", - "als_m12_id_max_inteday": "128", - "als_m3_cell_nbank_selfnum": "0", - "als_m1_cell_nbank_selfnum": "0", - "als_m12_id_nbank_ca_allnum": "2", - "als_m6_id_nbank_night_allnum": "1", - "als_m3_id_nbank_max_inteday": "38", - "als_d15_id_nbank_selfnum": "0", - "als_m6_id_nbank_avg_monnum": "1.00", - "als_m12_cell_nbank_max_monnum": "2", - "als_m6_cell_min_monnum": "0", - "als_d15_cell_rel_allnum": "1", - "als_m6_cell_nbank_cf_allnum": "2", - "als_m12_id_nbank_selfnum": "0", - "als_m6_id_nbank_sloan_orgnum": "2", - "als_m1_cell_rel_allnum": "1", - "als_m12_id_nbank_max_inteday": "128", - "als_m6_cell_max_inteday": "46", - "als_m6_id_caon_allnum": "2", - "als_m6_id_nbank_night_orgnum": "1", - "als_lst_id_nbank_consnum": "1", - "als_m3_cell_nbank_max_monnum": "1", - "als_m6_id_rel_allnum": "2", - "als_m6_id_rel_orgnum": "1", - "als_m6_id_nbank_sloan_allnum": "4", - "als_m1_cell_rel_orgnum": "1", - "als_m6_cell_tot_mons": "4", - "als_m12_cell_nbank_min_inteday": "14", - "als_m12_id_nbank_ca_orgnum": "1", - "als_m6_id_caon_orgnum": "1", - "als_m3_id_max_inteday": "38", - "als_m6_cell_min_inteday": "31", - "als_m3_cell_nbank_sloan_orgnum": "2", - "als_m12_id_caon_orgnum": "1", - "als_m1_id_nbank_night_orgnum": "0", - "als_m6_cell_nbank_week_orgnum": "2", - "als_m3_cell_rel_orgnum": "1", - "als_m6_cell_rel_orgnum": "1", - "als_m3_id_nbank_sloan_allnum": "3", - "als_m12_cell_avg_monnum": "1.20", - "flag_datastrategy": "1", - "als_d15_id_nbank_cf_allnum": "1", - "als_m3_cell_max_inteday": "38", - "als_m12_cell_nbank_cf_allnum": "4", - "flag_applyloanstr": "1", - "als_m6_id_nbank_ca_orgnum": "1", - "als_m3_id_rel_orgnum": "1", - "als_m12_id_nbank_week_orgnum": "2", - "als_m3_cell_nbank_tot_mons": "3", - "als_m6_id_nbank_min_inteday": "31", - "als_m3_id_nbank_ca_orgnum": "1", - "als_m3_id_caon_orgnum": "1", - "als_m12_cell_nbank_week_allnum": "2", - "als_m1_cell_nbank_week_allnum": "0", - "als_m12_id_nbank_week_allnum": "2", - "als_m1_id_nbank_sloan_allnum": "1", - "als_m3_cell_nbank_min_inteday": "31", - "als_m12_id_nbank_allnum": "6", - "als_m1_id_nbank_cf_allnum": "1", - "als_m3_cell_avg_monnum": "1.00", - "als_m6_id_nbank_tot_mons": "4", - "als_lst_cell_nbank_inteday": "7", - "als_m3_id_nbank_ca_allnum": "1", - "als_m6_cell_caon_allnum": "2", - "als_m6_id_max_inteday": "46", - "als_m12_cell_rel_orgnum": "1", - "als_m12_id_nbank_tot_mons": "5", - "als_m12_cell_nbank_min_monnum": "0", - "als_m6_id_tot_mons": "4", - "als_m3_cell_tot_mons": "3", - "als_m3_id_nbank_night_orgnum": "1", - "als_m12_id_nbank_min_inteday": "14", - "als_m12_id_rel_allnum": "4", - "als_m6_cell_nbank_week_allnum": "2", - "als_m3_id_rel_allnum": "2", - "als_m12_cell_nbank_selfnum": "0", - "als_m12_id_caon_allnum": "2", - "als_m3_id_nbank_min_inteday": "31", - "als_m12_cell_tot_mons": "5", - "als_m12_id_rel_orgnum": "1", - "als_m6_cell_nbank_ca_orgnum": "1", - "als_d15_id_nbank_cf_orgnum": "1", - "als_m6_id_nbank_min_monnum": "0", - "als_m6_cell_avg_monnum": "1.00", - "als_m12_cell_nbank_night_allnum": "1", - "als_d15_cell_nbank_cf_orgnum": "1", - "als_m6_id_nbank_week_allnum": "2", - "als_m3_id_nbank_tot_mons": "3", - "als_m3_cell_nbank_night_orgnum": "1", - "als_m6_cell_nbank_sloan_orgnum": "2", - "als_m3_cell_nbank_ca_allnum": "1", - "als_m1_id_nbank_selfnum": "0", - "als_m6_id_nbank_cf_allnum": "2", - "als_m1_id_nbank_sloan_orgnum": "1", - "als_m6_id_nbank_week_orgnum": "2", - "als_m1_id_rel_allnum": "1", - "als_m3_cell_nbank_min_monnum": "1", - "als_m12_cell_max_monnum": "2", - "als_m12_cell_nbank_allnum": "6", - "als_d15_id_nbank_week_orgnum": "0", - "als_m1_id_nbank_night_allnum": "0", - "als_m6_id_min_inteday": "31", - "als_m12_cell_rel_allnum": "4", - "als_m6_id_nbank_max_inteday": "46", - "als_m12_cell_caon_orgnum": "1", - "als_d15_cell_nbank_week_orgnum": "0", - "als_d15_cell_nbank_sloan_orgnum": "1", - "als_m1_cell_nbank_sloan_orgnum": "1", - "als_m3_id_nbank_selfnum": "0", - "als_m1_cell_nbank_week_orgnum": "0", - "als_d15_id_nbank_sloan_allnum": "1", - "als_m3_cell_rel_allnum": "2", - "als_d15_id_nbank_sloan_orgnum": "1", - "als_m6_id_nbank_max_monnum": "1", - "als_m6_cell_nbank_allnum": "4", - "als_m3_cell_nbank_cf_allnum": "2", - "als_m1_id_nbank_week_allnum": "0", - "als_d15_id_rel_allnum": "1", - "als_m12_cell_nbank_tot_mons": "5", - "als_m3_id_tot_mons": "3", - "als_m6_cell_rel_allnum": "2", - "als_m12_cell_nbank_week_orgnum": "2", - "als_lst_id_nbank_inteday": "7", - "als_m6_id_nbank_selfnum": "0", - "als_m6_id_min_monnum": "0", - "code": "00", - "als_m12_cell_nbank_ca_orgnum": "1", - "als_m3_id_nbank_week_orgnum": "1", - "als_d15_id_nbank_week_allnum": "0", - "als_m3_id_nbank_min_monnum": "1", - "als_m3_id_avg_monnum": "1.00", - "als_d15_id_nbank_night_orgnum": "0", - "als_m3_cell_nbank_night_allnum": "1", - "als_fst_cell_nbank_inteday": "264", - "als_m3_id_nbank_week_allnum": "1", - "als_d15_id_nbank_night_allnum": "0", - "als_m12_cell_nbank_orgnum": "2", - "als_m3_cell_nbank_ca_orgnum": "1", - "als_m3_cell_nbank_sloan_allnum": "3", - "als_m12_cell_max_inteday": "128", - "als_m6_cell_nbank_min_inteday": "31", - "als_m12_id_nbank_min_monnum": "0", - "als_lst_id_nbank_csinteday": "1", - "als_lst_cell_nbank_consnum": "1", - "als_m3_cell_nbank_week_orgnum": "1", - "als_m12_cell_nbank_avg_monnum": "1.20", - "als_m3_id_nbank_allnum": "3", - "als_m6_id_nbank_allnum": "4", - "als_m12_cell_nbank_cf_orgnum": "1", - "als_m3_cell_nbank_avg_monnum": "1.00", - "als_m6_cell_nbank_min_monnum": "0", - "als_m3_cell_nbank_week_allnum": "1" - }, - "flag_applyloanstr": "1" -} diff --git a/dataRender/jdyx.txt b/dataRender/jdyx.txt deleted file mode 100644 index c8d405f..0000000 --- a/dataRender/jdyx.txt +++ /dev/null @@ -1,2093 +0,0 @@ -2 als_d7_id_pdl_allnum string 10 按身份证号查询,近 7 天申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -3 als_d7_id_pdl_orgnum string 10 按身份证号查询,近 7 天申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -4 als_d7_id_caon_allnum string 10 按身份证号查询,近 7 天申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -5 als_d7_id_caon_orgnum string 10 按身份证号查询,近 7 天申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -6 als_d7_id_rel_allnum string 10 -按身份证号查询,近 7 天申请信用卡(类信用卡)的次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -7 als_d7_id_rel_orgnum string 10 -按身份证号查询,近 7 天申请信用卡(类信用卡)的机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -8 als_d7_id_caoff_allnum string 10 按身份证号查询,近 7 天申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -9 als_d7_id_caoff_orgnum string 10 按身份证号查询,近 7 天申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -10 als_d7_id_cooff_allnum string 10 按身份证号查询,近 7 天申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -11 als_d7_id_cooff_orgnum string 10 按身份证号查询,近 7 天申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -12 als_d7_id_af_allnum string 10 按身份证号查询,近 7 天申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -13 als_d7_id_af_orgnum string 10 按身份证号查询,近 7 天申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -14 als_d7_id_coon_allnum string 10 按身份证号查询,近 7 天申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -15 als_d7_id_coon_orgnum string 10 按身份证号查询,近 7 天申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -16 als_d7_id_oth_allnum string 10 按身份证号查询,近 7 天申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -17 als_d7_id_oth_orgnum string 10 按身份证号查询,近 7 天申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -18 als_d7_id_bank_selfnum string 10 -按身份证号查询,近 7 天在本机构(本机构为银行)的申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -19 als_d7_id_bank_allnum string 10 按身份证号查询,近 7 天在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -20 als_d7_id_bank_tra_allnum string 10 按身份证号查询,近 7 天在银行机构-传统银行申请次数 取"空/N";空:无申请记录;N 申请记录详情 -21 als_d7_id_bank_ret_allnum string 10 -按身份证号查询,近 7 天在银行机构-网络零售银行申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -22 als_d7_id_bank_orgnum string 10 按身份证号查询,近 7 天在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -23 als_d7_id_bank_tra_orgnum string 10 -按身份证号查询,近 7 天在银行机构-传统银行申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -24 als_d7_id_bank_ret_orgnum string 10 -按身份证号查询,近 7 天在银行机构-网络零售银行申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -25 als_d7_id_bank_week_allnum string 10 按身份证号查询,近 7 天在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -26 als_d7_id_bank_week_orgnum string 10 按身份证号查询,近 7 天在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -27 als_d7_id_bank_night_allnum string 10 按身份证号查询,近 7 天在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -28 als_d7_id_bank_night_orgnum string 10 按身份证号查询,近 7 天在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -29 als_d7_id_nbank_selfnum string 10 -按身份证号查询,近 7 天在本机构(本机构为非银)申请次 -数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -30 als_d7_id_nbank_allnum string 10 按身份证号查询,近 7 天在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -31 als_d7_id_nbank_p2p_allnum string 10 按身份证号查询,近 7 天在非银机构-改制机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -32 als_d7_id_nbank_mc_allnum string 10 按身份证号查询,近 7 天在非银机构-小贷机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -33 als_d7_id_nbank_ca_allnum string 10 -按身份证号查询,近 7 天在非银机构-现金类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -34 als_d7_id_nbank_cf_allnum string 10 -按身份证号查询,近 7 天在非银机构-消费类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -35 als_d7_id_nbank_com_allnum string 10 -按身份证号查询,近 7 天在非银机构-代偿类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -36 als_d7_id_nbank_oth_allnum string 10 按身份证号查询,近 7 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -37 als_d7_id_nbank_nsloan_allnum string 10 -按身份证号查询,近 7 天在非银机构-持牌网络小贷机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -38 als_d7_id_nbank_autofin_allnum string 10 -按身份证号查询,近 7 天在非银机构-持牌汽车金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -39 als_d7_id_nbank_sloan_allnum string 10 -按身份证号查询,近 7 天在非银机构-持牌小贷机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -40 als_d7_id_nbank_cons_allnum string 10 -按身份证号查询,近 7 天在非银机构-持牌消费金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -41 als_d7_id_nbank_finlea_allnum string 10 -按身份证号查询,近 7 天在非银机构-持牌融资租赁机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -42 als_d7_id_nbank_else_allnum string 10 按身份证号查询,近 7 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -43 als_d7_id_nbank_orgnum string 10 按身份证号查询,近 7 天在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -44 als_d7_id_nbank_p2p_orgnum string 10 -按身份证号查询,近 7 天在非银机构-改制机构申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -45 als_d7_id_nbank_mc_orgnum string 10 按身份证号查询,近 7 天在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -46 als_d7_id_nbank_ca_orgnum string 10 -按身份证号查询,近 7 天在非银机构-现金类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -47 als_d7_id_nbank_cf_orgnum string 10 -按身份证号查询,近 7 天在非银机构-消费类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -48 als_d7_id_nbank_com_orgnum string 10 -按身份证号查询,近 7 天在非银机构-代偿类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -49 als_d7_id_nbank_oth_orgnum string 10 按身份证号查询,近 7 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -50 als_d7_id_nbank_nsloan_orgnum string 10 -按身份证号查询,近 7 天在非银机构-持牌网络小贷机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -51 als_d7_id_nbank_autofin_orgnum string 10 -按身份证号查询,近 7 天在非银机构-持牌汽车金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -52 als_d7_id_nbank_sloan_orgnum string 10 -按身份证号查询,近 7 天在非银机构-持牌小贷机构申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -53 als_d7_id_nbank_cons_orgnum string 10 -按身份证号查询,近 7 天在非银机构-持牌消费金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -54 als_d7_id_nbank_finlea_orgnum string 10 -按身份证号查询,近 7 天在非银机构-持牌融资租赁机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -55 als_d7_id_nbank_else_orgnum string 10 按身份证号查询,近 7 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -56 als_d7_id_nbank_week_allnum string 10 按身份证号查询,近 7 天在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -57 als_d7_id_nbank_week_orgnum string 10 按身份证号查询,近 7 天在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -58 als_d7_id_nbank_night_allnum string 10 按身份证号查询,近 7 天在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -59 als_d7_id_nbank_night_orgnum string 10 按身份证号查询,近 7 天在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -60 als_d7_cell_pdl_allnum string 10 按手机号查询,近 7 天申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -61 als_d7_cell_pdl_orgnum string 10 按手机号查询,近 7 天申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -62 als_d7_cell_caon_allnum string 10 按手机号查询,近 7 天申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -63 als_d7_cell_caon_orgnum string 10 按手机号查询,近 7 天申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -64 als_d7_cell_rel_allnum string 10 按手机号查询,近 7 天申请信用卡(类信用卡)的次数 取"空/N";空:无申请记录;N 申请记录详情 -65 als_d7_cell_rel_orgnum string 10 -按手机号查询,近 7 天申请信用卡(类信用卡)的机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -66 als_d7_cell_caoff_allnum string 10 按手机号查询,近 7 天申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -67 als_d7_cell_caoff_orgnum string 10 按手机号查询,近 7 天申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -68 als_d7_cell_cooff_allnum string 10 按手机号查询,近 7 天申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -69 als_d7_cell_cooff_orgnum string 10 按手机号查询,近 7 天申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -70 als_d7_cell_af_allnum string 10 按手机号查询,近 7 天申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -71 als_d7_cell_af_orgnum string 10 按手机号查询,近 7 天申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -72 als_d7_cell_coon_allnum string 10 按手机号查询,近 7 天申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -73 als_d7_cell_coon_orgnum string 10 按手机号查询,近 7 天申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -74 als_d7_cell_oth_allnum string 10 按手机号查询,近 7 天申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -75 als_d7_cell_oth_orgnum string 10 按手机号查询,近 7 天申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -76 als_d7_cell_bank_selfnum string 10 -按手机号查询,近 7 天在本机构(本机构为银行)的申请次 -数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -77 als_d7_cell_bank_allnum string 10 按手机号查询,近 7 天在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -78 als_d7_cell_bank_tra_allnum string 10 按手机号查询,近 7 天在银行机构-传统银行申请次数 取"空/N";空:无申请记录;N 申请记录详情 -79 als_d7_cell_bank_ret_allnum string 10 -按手机号查询,近 7 天在银行机构-网络零售银行申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -80 als_d7_cell_bank_orgnum string 10 按手机号查询,近 7 天在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -81 als_d7_cell_bank_tra_orgnum string 10 按手机号查询,近 7 天在银行机构-传统银行申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -82 als_d7_cell_bank_ret_orgnum string 10 -按手机号查询,近 7 天在银行机构-网络零售银行申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -83 als_d7_cell_bank_week_allnum string 10 按手机号查询,近 7 天在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -84 als_d7_cell_bank_week_orgnum string 10 按手机号查询,近 7 天在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -85 als_d7_cell_bank_night_allnum string 10 按手机号查询,近 7 天在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -86 als_d7_cell_bank_night_orgnum string 10 按手机号查询,近 7 天在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -87 als_d7_cell_nbank_selfnum string 10 按手机号查询,近 7 天在本机构(本机构为非银)申请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -88 als_d7_cell_nbank_allnum string 10 按手机号查询,近 7 天在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -89 als_d7_cell_nbank_p2p_allnum string 10 按手机号查询,近 7 天在非银机构-改制机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -90 als_d7_cell_nbank_mc_allnum string 10 按手机号查询,近 7 天在非银机构-小贷机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -91 als_d7_cell_nbank_ca_allnum string 10 -按手机号查询,近 7 天在非银机构-现金类分期机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -92 als_d7_cell_nbank_cf_allnum string 10 -按手机号查询,近 7 天在非银机构-消费类分期机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -93 als_d7_cell_nbank_com_allnum string 10 -按手机号查询,近 7 天在非银机构-代偿类分期机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -94 als_d7_cell_nbank_oth_allnum string 10 按手机号查询,近 7 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -95 als_d7_cell_nbank_nsloan_allnum string 10 -按手机号查询,近 7 天在非银机构-持牌网络小贷机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -96 als_d7_cell_nbank_autofin_allnum string 10 -按手机号查询,近 7 天在非银机构-持牌汽车金融机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -97 als_d7_cell_nbank_sloan_allnum string 10 -按手机号查询,近 7 天在非银机构-持牌小贷机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -98 als_d7_cell_nbank_cons_allnum string 10 -按手机号查询,近 7 天在非银机构-持牌消费金融机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -99 als_d7_cell_nbank_finlea_allnum string 10 -按手机号查询,近 7 天在非银机构-持牌融资租赁机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -100 als_d7_cell_nbank_else_allnum string 10 按手机号查询,近 7 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -101 als_d7_cell_nbank_orgnum string 10 按手机号查询,近 7 天在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -102 als_d7_cell_nbank_p2p_orgnum string 10 按手机号查询,近 7 天在非银机构-改制机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -103 als_d7_cell_nbank_mc_orgnum string 10 按手机号查询,近 7 天在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -104 als_d7_cell_nbank_ca_orgnum string 10 -按手机号查询,近 7 天在非银机构-现金类分期申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -105 als_d7_cell_nbank_cf_orgnum string 10 按手机号查询,近 7 天在非银机构-消费类分期申请机构 取"空/N";空:无申请记录;N 申请记录详情 -数 -106 als_d7_cell_nbank_com_orgnum string 10 -按手机号查询,近 7 天在非银机构-代偿类分期申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -107 als_d7_cell_nbank_oth_orgnum string 10 按手机号查询,近 7 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -108 als_d7_cell_nbank_nsloan_orgnum string 10 -按手机号查询,近 7 天在非银机构-持牌网络小贷机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -109 als_d7_cell_nbank_autofin_orgnum string 10 -按手机号查询,近 7 天在非银机构-持牌汽车金融机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -110 als_d7_cell_nbank_sloan_orgnum string 10 -按手机号查询,近 7 天在非银机构-持牌小贷机构申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -111 als_d7_cell_nbank_cons_orgnum string 10 -按手机号查询,近 7 天在非银机构-持牌消费金融机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -112 als_d7_cell_nbank_finlea_orgnum string 10 -按手机号查询,近 7 天在非银机构-持牌融资租赁机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -113 als_d7_cell_nbank_else_orgnum string 10 按手机号查询,近 7 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -114 als_d7_cell_nbank_week_allnum string 10 按手机号查询,近 7 天在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -115 als_d7_cell_nbank_week_orgnum string 10 按手机号查询,近 7 天在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -116 als_d7_cell_nbank_night_allnum string 10 按手机号查询,近 7 天在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -117 als_d7_cell_nbank_night_orgnum string 10 按手机号查询,近 7 天在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -118 als_d15_id_pdl_allnum string 10 按身份证号查询,近 15 天申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -119 als_d15_id_pdl_orgnum string 10 按身份证号查询,近 15 天申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -120 als_d15_id_caon_allnum string 10 按身份证号查询,近 15 天申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -121 als_d15_id_caon_orgnum string 10 按身份证号查询,近 15 天申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -122 als_d15_id_rel_allnum string 10 -按身份证号查询,近 15 天申请信用卡(类信用卡)的次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -123 als_d15_id_rel_orgnum string 10 -按身份证号查询,近 15 天申请信用卡(类信用卡)的机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -124 als_d15_id_caoff_allnum string 10 按身份证号查询,近 15 天申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -125 als_d15_id_caoff_orgnum string 10 按身份证号查询,近 15 天申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -126 als_d15_id_cooff_allnum string 10 按身份证号查询,近 15 天申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -127 als_d15_id_cooff_orgnum string 10 按身份证号查询,近 15 天申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -128 als_d15_id_af_allnum string 10 按身份证号查询,近 15 天申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -129 als_d15_id_af_orgnum string 10 按身份证号查询,近 15 天申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -130 als_d15_id_coon_allnum string 10 按身份证号查询,近 15 天申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -131 als_d15_id_coon_orgnum string 10 按身份证号查询,近 15 天申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -132 als_d15_id_oth_allnum string 10 按身份证号查询,近 15 天申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -133 als_d15_id_oth_orgnum string 10 按身份证号查询,近 15 天申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -134 als_d15_id_bank_selfnum string 10 -按身份证号查询,近 15 天在本机构(本机构为银行)的申 -请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -135 als_d15_id_bank_allnum string 10 按身份证号查询,近 15 天在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -136 als_d15_id_bank_tra_allnum string 10 -按身份证号查询,近 15 天在银行机构-传统银行申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -137 als_d15_id_bank_ret_allnum string 10 -按身份证号查询,近 15 天在银行机构-网络零售银行申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -138 als_d15_id_bank_orgnum string 10 按身份证号查询,近 15 天在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -139 als_d15_id_bank_tra_orgnum string 10 -按身份证号查询,近 15 天在银行机构-传统银行申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -140 als_d15_id_bank_ret_orgnum string 10 -按身份证号查询,近 15 天在银行机构-网络零售银行申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -141 als_d15_id_bank_week_allnum string 10 按身份证号查询,近 15 天在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -142 als_d15_id_bank_week_orgnum string 10 按身份证号查询,近 15 天在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -143 als_d15_id_bank_night_allnum string 10 按身份证号查询,近 15 天在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -144 als_d15_id_bank_night_orgnum string 10 按身份证号查询,近 15 天在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -145 als_d15_id_nbank_selfnum string 10 -按身份证号查询,近 15 天在本机构(本机构为非银)申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -146 als_d15_id_nbank_allnum string 10 按身份证号查询,近 15 天在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -147 als_d15_id_nbank_p2p_allnum string 10 -按身份证号查询,近 15 天在非银机构-改制机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -148 als_d15_id_nbank_mc_allnum string 10 -按身份证号查询,近 15 天在非银机构-小贷机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -149 als_d15_id_nbank_ca_allnum string 10 -按身份证号查询,近 15 天在非银机构-现金类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -150 als_d15_id_nbank_cf_allnum string 10 -按身份证号查询,近 15 天在非银机构-消费类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -151 als_d15_id_nbank_com_allnum string 10 -按身份证号查询,近 15 天在非银机构-代偿类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -152 als_d15_id_nbank_oth_allnum string 10 按身份证号查询,近 15 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -153 als_d15_id_nbank_nsloan_allnum string 10 -按身份证号查询,近 15 天在非银机构-持牌网络小贷机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -154 als_d15_id_nbank_autofin_allnum string 10 -按身份证号查询,近 15 天在非银机构-持牌汽车金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -155 als_d15_id_nbank_sloan_allnum string 10 -按身份证号查询,近 15 天在非银机构-持牌小贷机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -156 als_d15_id_nbank_cons_allnum string 10 -按身份证号查询,近 15 天在非银机构-持牌消费金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -157 als_d15_id_nbank_finlea_allnum string 10 -按身份证号查询,近 15 天在非银机构-持牌融资租赁机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -158 als_d15_id_nbank_else_allnum string 10 按身份证号查询,近 15 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -159 als_d15_id_nbank_orgnum string 10 按身份证号查询,近 15 天在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -160 als_d15_id_nbank_p2p_orgnum string 10 -按身份证号查询,近 15 天在非银机构-改制机构申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -161 als_d15_id_nbank_mc_orgnum string 10 按身份证号查询,近 15 天在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -162 als_d15_id_nbank_ca_orgnum string 10 -按身份证号查询,近 15 天在非银机构-现金类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -163 als_d15_id_nbank_cf_orgnum string 10 -按身份证号查询,近 15 天在非银机构-消费类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -164 als_d15_id_nbank_com_orgnum string 10 -按身份证号查询,近 15 天在非银机构-代偿类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -165 als_d15_id_nbank_oth_orgnum string 10 按身份证号查询,近 15 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -166 als_d15_id_nbank_nsloan_orgnum string 10 -按身份证号查询,近 15 天在非银机构-持牌网络小贷机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -167 als_d15_id_nbank_autofin_orgnum string 10 -按身份证号查询,近 15 天在非银机构-持牌汽车金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -168 als_d15_id_nbank_sloan_orgnum string 10 -按身份证号查询,近 15 天在非银机构-持牌小贷机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -169 als_d15_id_nbank_cons_orgnum string 10 -按身份证号查询,近 15 天在非银机构-持牌消费金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -170 als_d15_id_nbank_finlea_orgnum string 10 -按身份证号查询,近 15 天在非银机构-持牌融资租赁机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -171 als_d15_id_nbank_else_orgnum string 10 按身份证号查询,近 15 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -172 als_d15_id_nbank_week_allnum string 10 按身份证号查询,近 15 天在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -173 als_d15_id_nbank_week_orgnum string 10 按身份证号查询,近 15 天在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -174 als_d15_id_nbank_night_allnum string 10 按身份证号查询,近 15 天在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -175 als_d15_id_nbank_night_orgnum string 10 按身份证号查询,近 15 天在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -176 als_d15_cell_pdl_allnum string 10 按手机号查询,近 15 天申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -177 als_d15_cell_pdl_orgnum string 10 按手机号查询,近 15 天申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -178 als_d15_cell_caon_allnum string 10 按手机号查询,近 15 天申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -179 als_d15_cell_caon_orgnum string 10 按手机号查询,近 15 天申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -180 als_d15_cell_rel_allnum string 10 按手机号查询,近 15 天申请信用卡(类信用卡)的次数 取"空/N";空:无申请记录;N 申请记录详情 -181 als_d15_cell_rel_orgnum string 10 -按手机号查询,近 15 天申请信用卡(类信用卡)的机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -182 als_d15_cell_caoff_allnum string 10 按手机号查询,近 15 天申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -183 als_d15_cell_caoff_orgnum string 10 按手机号查询,近 15 天申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -184 als_d15_cell_cooff_allnum string 10 按手机号查询,近 15 天申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -185 als_d15_cell_cooff_orgnum string 10 按手机号查询,近 15 天申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -186 als_d15_cell_af_allnum string 10 按手机号查询,近 15 天申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -187 als_d15_cell_af_orgnum string 10 按手机号查询,近 15 天申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -188 als_d15_cell_coon_allnum string 10 按手机号查询,近 15 天申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -189 als_d15_cell_coon_orgnum string 10 按手机号查询,近 15 天申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -190 als_d15_cell_oth_allnum string 10 按手机号查询,近 15 天申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -191 als_d15_cell_oth_orgnum string 10 按手机号查询,近 15 天申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -192 als_d15_cell_bank_selfnum string 10 -按手机号查询,近 15 天在本机构(本机构为银行)的申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -193 als_d15_cell_bank_allnum string 10 按手机号查询,近 15 天在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -194 als_d15_cell_bank_tra_allnum string 10 按手机号查询,近 15 天在银行机构-传统银行申请次数 取"空/N";空:无申请记录;N 申请记录详情 -195 als_d15_cell_bank_ret_allnum string 10 -按手机号查询,近 15 天在银行机构-网络零售银行申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -196 als_d15_cell_bank_orgnum string 10 按手机号查询,近 15 天在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -197 als_d15_cell_bank_tra_orgnum string 10 -按手机号查询,近 15 天在银行机构-传统银行申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -198 als_d15_cell_bank_ret_orgnum string 10 -按手机号查询,近 15 天在银行机构-网络零售银行申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -199 als_d15_cell_bank_week_allnum string 10 按手机号查询,近 15 天在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -200 als_d15_cell_bank_week_orgnum string 10 按手机号查询,近 15 天在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -201 als_d15_cell_bank_night_allnum string 10 按手机号查询,近 15 天在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -202 als_d15_cell_bank_night_orgnum string 10 按手机号查询,近 15 天在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -203 als_d15_cell_nbank_selfnum string 10 -按手机号查询,近 15 天在本机构(本机构为非银)申请次 -数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -204 als_d15_cell_nbank_allnum string 10 按手机号查询,近 15 天在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -205 als_d15_cell_nbank_p2p_allnum string 10 按手机号查询,近 15 天在非银机构-改制机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -206 als_d15_cell_nbank_mc_allnum string 10 按手机号查询,近 15 天在非银机构-小贷机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -207 als_d15_cell_nbank_ca_allnum string 10 -按手机号查询,近 15 天在非银机构-现金类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -208 als_d15_cell_nbank_cf_allnum string 10 -按手机号查询,近 15 天在非银机构-消费类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -209 als_d15_cell_nbank_com_allnum string 10 -按手机号查询,近 15 天在非银机构-代偿类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -210 als_d15_cell_nbank_oth_allnum string 10 按手机号查询,近 15 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -211 als_d15_cell_nbank_nsloan_allnum string 10 按手机号查询,近 15 天在非银机构-持牌网络小贷机构 取"空/N";空:无申请记录;N 申请记录详情 -申请次数 -212 als_d15_cell_nbank_autofin_allnum string 10 -按手机号查询,近 15 天在非银机构-持牌汽车金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -213 als_d15_cell_nbank_sloan_allnum string 10 -按手机号查询,近 15 天在非银机构-持牌小贷机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -214 als_d15_cell_nbank_cons_allnum string 10 -按手机号查询,近 15 天在非银机构-持牌消费金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -215 als_d15_cell_nbank_finlea_allnum string 10 -按手机号查询,近 15 天在非银机构-持牌融资租赁机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -216 als_d15_cell_nbank_else_allnum string 10 按手机号查询,近 15 天在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -217 als_d15_cell_nbank_orgnum string 10 按手机号查询,近 15 天在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -218 als_d15_cell_nbank_p2p_orgnum string 10 -按手机号查询,近 15 天在非银机构-改制机构申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -219 als_d15_cell_nbank_mc_orgnum string 10 按手机号查询,近 15 天在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -220 als_d15_cell_nbank_ca_orgnum string 10 -按手机号查询,近 15 天在非银机构-现金类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -221 als_d15_cell_nbank_cf_orgnum string 10 -按手机号查询,近 15 天在非银机构-消费类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -222 als_d15_cell_nbank_com_orgnum string 10 -按手机号查询,近 15 天在非银机构-代偿类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -223 als_d15_cell_nbank_oth_orgnum string 10 按手机号查询,近 15 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -224 als_d15_cell_nbank_nsloan_orgnum string 10 -按手机号查询,近 15 天在非银机构-持牌网络小贷机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -225 als_d15_cell_nbank_autofin_orgnum string 10 -按手机号查询,近 15 天在非银机构-持牌汽车金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -226 als_d15_cell_nbank_sloan_orgnum string 10 -按手机号查询,近 15 天在非银机构-持牌小贷机构申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -227 als_d15_cell_nbank_cons_orgnum string 10 -按手机号查询,近 15 天在非银机构-持牌消费金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -228 als_d15_cell_nbank_finlea_orgnum string 10 -按手机号查询,近 15 天在非银机构-持牌融资租赁机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -229 als_d15_cell_nbank_else_orgnum string 10 按手机号查询,近 15 天在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -230 als_d15_cell_nbank_week_allnum string 10 按手机号查询,近 15 天在非银机构周末申请次数 取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -231 als_d15_cell_nbank_week_orgnum string 10 按手机号查询,近 15 天在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -232 als_d15_cell_nbank_night_allnum string 10 按手机号查询,近 15 天在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -233 als_d15_cell_nbank_night_orgnum string 10 按手机号查询,近 15 天在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -234 als_m1_id_pdl_allnum string 10 按身份证号查询,近 1 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -235 als_m1_id_pdl_orgnum string 10 -按身份证号查询,近 1 个月申请线上小额现金贷的机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -236 als_m1_id_caon_allnum string 10 按身份证号查询,近 1 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -237 als_m1_id_caon_orgnum string 10 按身份证号查询,近 1 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -238 als_m1_id_rel_allnum string 10 -按身份证号查询,近 1 个月申请信用卡(类信用卡)的 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -239 als_m1_id_rel_orgnum string 10 -按身份证号查询,近 1 个月申请信用卡(类信用卡)的 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -240 als_m1_id_caoff_allnum string 10 按身份证号查询,近 1 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -241 als_m1_id_caoff_orgnum string 10 按身份证号查询,近 1 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -242 als_m1_id_cooff_allnum string 10 按身份证号查询,近 1 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -243 als_m1_id_cooff_orgnum string 10 按身份证号查询,近 1 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -244 als_m1_id_af_allnum string 10 按身份证号查询,近 1 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -245 als_m1_id_af_orgnum string 10 按身份证号查询,近 1 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -246 als_m1_id_coon_allnum string 10 按身份证号查询,近 1 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -247 als_m1_id_coon_orgnum string 10 按身份证号查询,近 1 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -248 als_m1_id_oth_allnum string 10 按身份证号查询,近 1 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -249 als_m1_id_oth_orgnum string 10 按身份证号查询,近 1 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -250 als_m1_id_bank_selfnum string 10 -按身份证号查询,近 1 个月在本机构(本机构为银行)的申 -请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -251 als_m1_id_bank_allnum string 10 按身份证号查询,近 1 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -252 als_m1_id_bank_tra_allnum string 10 -按身份证号查询,近 1 个月在银行机构-传统银行申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -253 als_m1_id_bank_ret_allnum string 10 -按身份证号查询,近 1 个月在银行机构-网络零售银行申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -254 als_m1_id_bank_orgnum string 10 按身份证号查询,近 1 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -255 als_m1_id_bank_tra_orgnum string 10 -按身份证号查询,近 1 个月在银行机构-传统银行申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -256 als_m1_id_bank_ret_orgnum string 10 -按身份证号查询,近 1 个月在银行机构-网络零售银行申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -257 als_m1_id_bank_week_allnum string 10 按身份证号查询,近 1 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -258 als_m1_id_bank_week_orgnum string 10 按身份证号查询,近 1 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -259 als_m1_id_bank_night_allnum string 10 按身份证号查询,近 1 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -260 als_m1_id_bank_night_orgnum string 10 按身份证号查询,近 1 个月在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -261 als_m1_id_nbank_selfnum string 10 -按身份证号查询,近 1 个月在本机构(本机构为非银)申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -262 als_m1_id_nbank_allnum string 10 按身份证号查询,近 1 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -263 als_m1_id_nbank_p2p_allnum string 10 -按身份证号查询,近 1 个月在非银机构-改制机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -264 als_m1_id_nbank_mc_allnum string 10 -按身份证号查询,近 1 个月在非银机构-小贷机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -265 als_m1_id_nbank_ca_allnum string 10 -按身份证号查询,近 1 个月在非银机构-现金类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -266 als_m1_id_nbank_cf_allnum string 10 -按身份证号查询,近 1 个月在非银机构-消费类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -267 als_m1_id_nbank_com_allnum string 10 -按身份证号查询,近 1 个月在非银机构-代偿类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -268 als_m1_id_nbank_oth_allnum string 10 按身份证号查询,近 1 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -269 als_m1_id_nbank_nsloan_allnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌网络小贷机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -270 als_m1_id_nbank_autofin_allnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌汽车金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -271 als_m1_id_nbank_sloan_allnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌小贷机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -272 als_m1_id_nbank_cons_allnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌消费金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -273 als_m1_id_nbank_finlea_allnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌融资租赁机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -274 als_m1_id_nbank_else_allnum string 10 按身份证号查询,近 1 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -275 als_m1_id_nbank_orgnum string 10 按身份证号查询,近 1 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -276 als_m1_id_nbank_p2p_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-改制机构申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -277 als_m1_id_nbank_mc_orgnum string 10 按身份证号查询,近 1 个月在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -278 als_m1_id_nbank_ca_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-现金类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -279 als_m1_id_nbank_cf_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-消费类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -280 als_m1_id_nbank_com_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-代偿类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -281 als_m1_id_nbank_oth_orgnum string 10 按身份证号查询,近 1 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -282 als_m1_id_nbank_nsloan_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌网络小贷机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -283 als_m1_id_nbank_autofin_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌汽车金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -284 als_m1_id_nbank_sloan_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌小贷机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -285 als_m1_id_nbank_cons_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌消费金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -286 als_m1_id_nbank_finlea_orgnum string 10 -按身份证号查询,近 1 个月在非银机构-持牌融资租赁机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -287 als_m1_id_nbank_else_orgnum string 10 按身份证号查询,近 1 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -288 als_m1_id_nbank_week_allnum string 10 按身份证号查询,近 1 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -289 als_m1_id_nbank_week_orgnum string 10 按身份证号查询,近 1 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -290 als_m1_id_nbank_night_allnum string 10 按身份证号查询,近 1 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -291 als_m1_id_nbank_night_orgnum string 10 按身份证号查询,近 1 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -292 als_m1_cell_pdl_allnum string 10 按手机号查询,近 1 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -293 als_m1_cell_pdl_orgnum string 10 按手机号查询,近 1 个月申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -294 als_m1_cell_caon_allnum string 10 按手机号查询,近 1 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -295 als_m1_cell_caon_orgnum string 10 按手机号查询,近 1 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -296 als_m1_cell_rel_allnum string 10 -按手机号查询,近 1 个月申请信用卡(类信用卡)的次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -297 als_m1_cell_rel_orgnum string 10 -按手机号查询,近 1 个月申请信用卡(类信用卡)的机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -298 als_m1_cell_caoff_allnum string 10 按手机号查询,近 1 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -299 als_m1_cell_caoff_orgnum string 10 按手机号查询,近 1 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -300 als_m1_cell_cooff_allnum string 10 按手机号查询,近 1 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -301 als_m1_cell_cooff_orgnum string 10 按手机号查询,近 1 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -302 als_m1_cell_af_allnum string 10 按手机号查询,近 1 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -303 als_m1_cell_af_orgnum string 10 按手机号查询,近 1 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -304 als_m1_cell_coon_allnum string 10 按手机号查询,近 1 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -305 als_m1_cell_coon_orgnum string 10 按手机号查询,近 1 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -306 als_m1_cell_oth_allnum string 10 按手机号查询,近 1 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -307 als_m1_cell_oth_orgnum string 10 按手机号查询,近 1 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -308 als_m1_cell_bank_selfnum string 10 -按手机号查询,近 1 个月在本机构(本机构为银行)的申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -309 als_m1_cell_bank_allnum string 10 按手机号查询,近 1 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -310 als_m1_cell_bank_tra_allnum string 10 按手机号查询,近 1 个月在银行机构-传统银行申请次数 取"空/N";空:无申请记录;N 申请记录详情 -311 als_m1_cell_bank_ret_allnum string 10 -按手机号查询,近 1 个月在银行机构-网络零售银行申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -312 als_m1_cell_bank_orgnum string 10 按手机号查询,近 1 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -313 als_m1_cell_bank_tra_orgnum string 10 -按手机号查询,近 1 个月在银行机构-传统银行申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -314 als_m1_cell_bank_ret_orgnum string 10 -按手机号查询,近 1 个月在银行机构-网络零售银行申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -315 als_m1_cell_bank_week_allnum string 10 按手机号查询,近 1 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -316 als_m1_cell_bank_week_orgnum string 10 按手机号查询,近 1 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -317 als_m1_cell_bank_night_allnum string 10 按手机号查询,近 1 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -318 als_m1_cell_bank_night_orgnum string 10 按手机号查询,近 1 个月在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -319 als_m1_cell_nbank_selfnum string 10 -按手机号查询,近 1 个月在本机构(本机构为非银)申请次 -数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -320 als_m1_cell_nbank_allnum string 10 按手机号查询,近 1 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -321 als_m1_cell_nbank_p2p_allnum string 10 按手机号查询,近 1 个月在非银机构-改制机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -322 als_m1_cell_nbank_mc_allnum string 10 按手机号查询,近 1 个月在非银机构-小贷机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -323 als_m1_cell_nbank_ca_allnum string 10 -按手机号查询,近 1 个月在非银机构-现金类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -324 als_m1_cell_nbank_cf_allnum string 10 -按手机号查询,近 1 个月在非银机构-消费类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -325 als_m1_cell_nbank_com_allnum string 10 -按手机号查询,近 1 个月在非银机构-代偿类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -326 als_m1_cell_nbank_oth_allnum string 10 按手机号查询,近 1 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -327 als_m1_cell_nbank_nsloan_allnum string 10 -按手机号查询,近 1 个月在非银机构-持牌网络小贷机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -328 als_m1_cell_nbank_autofin_allnum string 10 -按手机号查询,近 1 个月在非银机构-持牌汽车金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -329 als_m1_cell_nbank_sloan_allnum string 10 -按手机号查询,近 1 个月在非银机构-持牌小贷机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -330 als_m1_cell_nbank_cons_allnum string 10 -按手机号查询,近 1 个月在非银机构-持牌消费金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -331 als_m1_cell_nbank_finlea_allnum string 10 -按手机号查询,近 1 个月在非银机构-持牌融资租赁机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -332 als_m1_cell_nbank_else_allnum string 10 按手机号查询,近 1 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -333 als_m1_cell_nbank_orgnum string 10 按手机号查询,近 1 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -334 als_m1_cell_nbank_p2p_orgnum string 10 -按手机号查询,近 1 个月在非银机构-改制机构申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -335 als_m1_cell_nbank_mc_orgnum string 10 按手机号查询,近 1 个月在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -336 als_m1_cell_nbank_ca_orgnum string 10 -按手机号查询,近 1 个月在非银机构-现金类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -337 als_m1_cell_nbank_cf_orgnum string 10 -按手机号查询,近 1 个月在非银机构-消费类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -338 als_m1_cell_nbank_com_orgnum string 10 -按手机号查询,近 1 个月在非银机构-代偿类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -339 als_m1_cell_nbank_oth_orgnum string 10 按手机号查询,近 1 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -340 als_m1_cell_nbank_nsloan_orgnum string 10 -按手机号查询,近 1 个月在非银机构-持牌网络小贷机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -341 als_m1_cell_nbank_autofin_orgnum string 10 -按手机号查询,近 1 个月在非银机构-持牌汽车金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -342 als_m1_cell_nbank_sloan_orgnum string 10 -按手机号查询,近 1 个月在非银机构-持牌小贷机构申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -343 als_m1_cell_nbank_cons_orgnum string 10 -按手机号查询,近 1 个月在非银机构-持牌消费金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -344 als_m1_cell_nbank_finlea_orgnum string 10 -按手机号查询,近 1 个月在非银机构-持牌融资租赁机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -345 als_m1_cell_nbank_else_orgnum string 10 按手机号查询,近 1 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -346 als_m1_cell_nbank_week_allnum string 10 按手机号查询,近 1 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -347 als_m1_cell_nbank_week_orgnum string 10 按手机号查询,近 1 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -348 als_m1_cell_nbank_night_allnum string 10 按手机号查询,近 1 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -349 als_m1_cell_nbank_night_orgnum string 10 按手机号查询,近 1 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -350 als_m3_id_max_inteday string 10 按身份证号查询,近 3 个月申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -351 als_m3_id_min_inteday string 10 按身份证号查询,近 3 个月申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -352 als_m3_id_tot_mons string 10 按身份证号查询,近 3 个月有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -353 als_m3_id_avg_monnum string 10 -按身份证号查询,近 3 个月平均每月申请次数(有申请月 -份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -354 als_m3_id_max_monnum string 10 按身份证号查询,近 3 个月最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -355 als_m3_id_min_monnum string 10 按身份证号查询,近 3 个月最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -356 als_m3_id_pdl_allnum string 10 按身份证号查询,近 3 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -357 als_m3_id_pdl_orgnum string 10 -按身份证号查询,近 3 个月申请线上小额现金贷的机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -358 als_m3_id_caon_allnum string 10 按身份证号查询,近 3 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -359 als_m3_id_caon_orgnum string 10 按身份证号查询,近 3 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -360 als_m3_id_rel_allnum string 10 -按身份证号查询,近 3 个月申请信用卡(类信用卡)的 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -361 als_m3_id_rel_orgnum string 10 -按身份证号查询,近 3 个月申请信用卡(类信用卡)的 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -362 als_m3_id_caoff_allnum string 10 按身份证号查询,近 3 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -363 als_m3_id_caoff_orgnum string 10 按身份证号查询,近 3 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -364 als_m3_id_cooff_allnum string 10 按身份证号查询,近 3 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -365 als_m3_id_cooff_orgnum string 10 按身份证号查询,近 3 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -366 als_m3_id_af_allnum string 10 按身份证号查询,近 3 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -367 als_m3_id_af_orgnum string 10 按身份证号查询,近 3 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -368 als_m3_id_coon_allnum string 10 按身份证号查询,近 3 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -369 als_m3_id_coon_orgnum string 10 按身份证号查询,近 3 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -370 als_m3_id_oth_allnum string 10 按身份证号查询,近 3 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -371 als_m3_id_oth_orgnum string 10 按身份证号查询,近 3 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -372 als_m3_id_bank_selfnum string 10 -按身份证号查询,近 3 个月在本机构(本机构为银行)的申 -请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -373 als_m3_id_bank_allnum string 10 按身份证号查询,近 3 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -374 als_m3_id_bank_tra_allnum string 10 -按身份证号查询,近 3 个月在银行机构-传统银行申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -375 als_m3_id_bank_ret_allnum string 10 -按身份证号查询,近 3 个月在银行机构-网络零售银行申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -376 als_m3_id_bank_orgnum string 10 按身份证号查询,近 3 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -377 als_m3_id_bank_tra_orgnum string 10 -按身份证号查询,近 3 个月在银行机构-传统银行申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -378 als_m3_id_bank_ret_orgnum string 10 -按身份证号查询,近 3 个月在银行机构-网络零售银行申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -379 als_m3_id_bank_tot_mons string 10 -按身份证号查询,近 3 个月在银行机构有申请记录月份 -数 -取"空/N";空:无申请记录;N 申请记录详情 -380 als_m3_id_bank_avg_monnum string 10 -按身份证号查询,近 3 个月在银行机构平均每月申请次 -数(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -381 als_m3_id_bank_max_monnum string 10 按身份证号查询,近 3 个月在银行机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -382 als_m3_id_bank_min_monnum string 10 按身份证号查询,近 3 个月在银行机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -383 als_m3_id_bank_max_inteday string 10 -按身份证号查询,近 3 个月在银行机构申请最大间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -384 als_m3_id_bank_min_inteday string 10 -按身份证号查询,近 3 个月在银行机构申请最小间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -385 als_m3_id_bank_week_allnum string 10 按身份证号查询,近 3 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -386 als_m3_id_bank_week_orgnum string 10 按身份证号查询,近 3 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -387 als_m3_id_bank_night_allnum string 10 按身份证号查询,近 3 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -388 als_m3_id_bank_night_orgnum string 10 按身份证号查询,近 3 个月在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -389 als_m3_id_nbank_selfnum string 10 -按身份证号查询,近 3 个月在本机构(本机构为非银)申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -390 als_m3_id_nbank_allnum string 10 按身份证号查询,近 3 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -391 als_m3_id_nbank_p2p_allnum string 10 -按身份证号查询,近 3 个月在非银机构-改制机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -392 als_m3_id_nbank_mc_allnum string 10 -按身份证号查询,近 3 个月在非银机构-小贷机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -393 als_m3_id_nbank_ca_allnum string 10 -按身份证号查询,近 3 个月在非银机构-现金类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -394 als_m3_id_nbank_cf_allnum string 10 -按身份证号查询,近 3 个月在非银机构-消费类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -395 als_m3_id_nbank_com_allnum string 10 -按身份证号查询,近 3 个月在非银机构-代偿类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -396 als_m3_id_nbank_oth_allnum string 10 按身份证号查询,近 3 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -397 als_m3_id_nbank_nsloan_allnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌网络小贷机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -398 als_m3_id_nbank_autofin_allnum string 10 按身份证号查询,近 3 个月在非银机构-持牌汽车金融机 取"空/N";空:无申请记录;N 申请记录详情 -构申请次数 -399 als_m3_id_nbank_sloan_allnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌小贷机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -400 als_m3_id_nbank_cons_allnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌消费金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -401 als_m3_id_nbank_finlea_allnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌融资租赁机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -402 als_m3_id_nbank_else_allnum string 10 按身份证号查询,近 3 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -403 als_m3_id_nbank_orgnum string 10 按身份证号查询,近 3 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -404 als_m3_id_nbank_p2p_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-改制机构申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -405 als_m3_id_nbank_mc_orgnum string 10 按身份证号查询,近 3 个月在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -406 als_m3_id_nbank_ca_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-现金类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -407 als_m3_id_nbank_cf_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-消费类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -408 als_m3_id_nbank_com_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-代偿类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -409 als_m3_id_nbank_oth_orgnum string 10 按身份证号查询,近 3 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -410 als_m3_id_nbank_nsloan_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌网络小贷机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -411 als_m3_id_nbank_autofin_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌汽车金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -412 als_m3_id_nbank_sloan_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌小贷机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -413 als_m3_id_nbank_cons_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌消费金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -414 als_m3_id_nbank_finlea_orgnum string 10 -按身份证号查询,近 3 个月在非银机构-持牌融资租赁机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -415 als_m3_id_nbank_else_orgnum string 10 按身份证号查询,近 3 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -416 als_m3_id_nbank_tot_mons string 10 -按身份证号查询,近 3 个月在非银机构有申请记录月份 -数 -取"空/N";空:无申请记录;N 申请记录详情 -417 als_m3_id_nbank_avg_monnum string 10 按身份证号查询,近 3 个月在非银机构平均每月申请次 取"空/N";空:无申请记录;N 申请记录详情(保留 -数(有申请月份平均) 两位小数) -418 als_m3_id_nbank_max_monnum string 10 按身份证号查询,近 3 个月在非银机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -419 als_m3_id_nbank_min_monnum string 10 按身份证号查询,近 3 个月在非银机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -420 als_m3_id_nbank_max_inteday string 10 -按身份证号查询,近 3 个月在非银机构申请最大间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -421 als_m3_id_nbank_min_inteday string 10 -按身份证号查询,近 3 个月在非银机构申请最小间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -422 als_m3_id_nbank_week_allnum string 10 按身份证号查询,近 3 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -423 als_m3_id_nbank_week_orgnum string 10 按身份证号查询,近 3 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -424 als_m3_id_nbank_night_allnum string 10 按身份证号查询,近 3 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -425 als_m3_id_nbank_night_orgnum string 10 按身份证号查询,近 3 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -426 als_m3_cell_max_inteday string 10 按手机号查询,近 3 个月申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -427 als_m3_cell_min_inteday string 10 按手机号查询,近 3 个月申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -428 als_m3_cell_tot_mons string 10 按手机号查询,近 3 个月有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -429 als_m3_cell_avg_monnum string 10 -按手机号查询,近 3 个月平均每月申请次数(有申请月份 -平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -430 als_m3_cell_max_monnum string 10 按手机号查询,近 3 个月最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -431 als_m3_cell_min_monnum string 10 按手机号查询,近 3 个月最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -432 als_m3_cell_pdl_allnum string 10 按手机号查询,近 3 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -433 als_m3_cell_pdl_orgnum string 10 按手机号查询,近 3 个月申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -434 als_m3_cell_caon_allnum string 10 按手机号查询,近 3 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -435 als_m3_cell_caon_orgnum string 10 按手机号查询,近 3 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -436 als_m3_cell_rel_allnum string 10 -按手机号查询,近 3 个月申请信用卡(类信用卡)的次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -437 als_m3_cell_rel_orgnum string 10 -按手机号查询,近 3 个月申请信用卡(类信用卡)的机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -438 als_m3_cell_caoff_allnum string 10 按手机号查询,近 3 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -439 als_m3_cell_caoff_orgnum string 10 按手机号查询,近 3 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -440 als_m3_cell_cooff_allnum string 10 按手机号查询,近 3 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -441 als_m3_cell_cooff_orgnum string 10 按手机号查询,近 3 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -442 als_m3_cell_af_allnum string 10 按手机号查询,近 3 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -443 als_m3_cell_af_orgnum string 10 按手机号查询,近 3 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -444 als_m3_cell_coon_allnum string 10 按手机号查询,近 3 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -445 als_m3_cell_coon_orgnum string 10 按手机号查询,近 3 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -446 als_m3_cell_oth_allnum string 10 按手机号查询,近 3 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -447 als_m3_cell_oth_orgnum string 10 按手机号查询,近 3 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -448 als_m3_cell_bank_selfnum string 10 -按手机号查询,近 3 个月在本机构(本机构为银行)的申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -449 als_m3_cell_bank_allnum string 10 按手机号查询,近 3 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -450 als_m3_cell_bank_tra_allnum string 10 按手机号查询,近 3 个月在银行机构-传统银行申请次数 取"空/N";空:无申请记录;N 申请记录详情 -451 als_m3_cell_bank_ret_allnum string 10 -按手机号查询,近 3 个月在银行机构-网络零售银行申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -452 als_m3_cell_bank_orgnum string 10 按手机号查询,近 3 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -453 als_m3_cell_bank_tra_orgnum string 10 -按手机号查询,近 3 个月在银行机构-传统银行申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -454 als_m3_cell_bank_ret_orgnum string 10 -按手机号查询,近 3 个月在银行机构-网络零售银行申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -455 als_m3_cell_bank_tot_mons string 10 按手机号查询,近 3 个月在银行机构有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -456 als_m3_cell_bank_avg_monnum string 10 -按手机号查询,近 3 个月在银行机构平均每月申请次数 -(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -457 als_m3_cell_bank_max_monnum string 10 按手机号查询,近 3 个月在银行机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -458 als_m3_cell_bank_min_monnum string 10 按手机号查询,近 3 个月在银行机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -459 als_m3_cell_bank_max_inteday string 10 按手机号查询,近 3 个月在银行机构申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -460 als_m3_cell_bank_min_inteday string 10 按手机号查询,近 3 个月在银行机构申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -461 als_m3_cell_bank_week_allnum string 10 按手机号查询,近 3 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -462 als_m3_cell_bank_week_orgnum string 10 按手机号查询,近 3 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -463 als_m3_cell_bank_night_allnum string 10 按手机号查询,近 3 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -464 als_m3_cell_bank_night_orgnum string 10 按手机号查询,近 3 个月在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -465 als_m3_cell_nbank_selfnum string 10 -按手机号查询,近 3 个月在本机构(本机构为非银)申请次 -数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -466 als_m3_cell_nbank_allnum string 10 按手机号查询,近 3 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -467 als_m3_cell_nbank_p2p_allnum string 10 按手机号查询,近 3 个月在非银机构-改制机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -468 als_m3_cell_nbank_mc_allnum string 10 按手机号查询,近 3 个月在非银机构-小贷机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -469 als_m3_cell_nbank_ca_allnum string 10 -按手机号查询,近 3 个月在非银机构-现金类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -470 als_m3_cell_nbank_cf_allnum string 10 -按手机号查询,近 3 个月在非银机构-消费类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -471 als_m3_cell_nbank_com_allnum string 10 -按手机号查询,近 3 个月在非银机构-代偿类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -472 als_m3_cell_nbank_oth_allnum string 10 按手机号查询,近 3 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -473 als_m3_cell_nbank_nsloan_allnum string 10 -按手机号查询,近 3 个月在非银机构-持牌网络小贷机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -474 als_m3_cell_nbank_autofin_allnum string 10 -按手机号查询,近 3 个月在非银机构-持牌汽车金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -475 als_m3_cell_nbank_sloan_allnum string 10 -按手机号查询,近 3 个月在非银机构-持牌小贷机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -476 als_m3_cell_nbank_cons_allnum string 10 -按手机号查询,近 3 个月在非银机构-持牌消费金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -477 als_m3_cell_nbank_finlea_allnum string 10 -按手机号查询,近 3 个月在非银机构-持牌融资租赁机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -478 als_m3_cell_nbank_else_allnum string 10 按手机号查询,近 3 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -479 als_m3_cell_nbank_orgnum string 10 按手机号查询,近 3 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -480 als_m3_cell_nbank_p2p_orgnum string 10 -按手机号查询,近 3 个月在非银机构-改制机构申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -481 als_m3_cell_nbank_mc_orgnum string 10 按手机号查询,近 3 个月在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -482 als_m3_cell_nbank_ca_orgnum string 10 -按手机号查询,近 3 个月在非银机构-现金类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -483 als_m3_cell_nbank_cf_orgnum string 10 -按手机号查询,近 3 个月在非银机构-消费类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -484 als_m3_cell_nbank_com_orgnum string 10 -按手机号查询,近 3 个月在非银机构-代偿类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -485 als_m3_cell_nbank_oth_orgnum string 10 按手机号查询,近 3 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -486 als_m3_cell_nbank_nsloan_orgnum string 10 -按手机号查询,近 3 个月在非银机构-持牌网络小贷机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -487 als_m3_cell_nbank_autofin_orgnum string 10 -按手机号查询,近 3 个月在非银机构-持牌汽车金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -488 als_m3_cell_nbank_sloan_orgnum string 10 -按手机号查询,近 3 个月在非银机构-持牌小贷机构申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -489 als_m3_cell_nbank_cons_orgnum string 10 -按手机号查询,近 3 个月在非银机构-持牌消费金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -490 als_m3_cell_nbank_finlea_orgnum string 10 -按手机号查询,近 3 个月在非银机构-持牌融资租赁机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -491 als_m3_cell_nbank_else_orgnum string 10 按手机号查询,近 3 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -492 als_m3_cell_nbank_tot_mons string 10 按手机号查询,近 3 个月在非银机构有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -493 als_m3_cell_nbank_avg_monnum string 10 -按手机号查询,近 3 个月在非银机构平均每月申请次数 -(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -494 als_m3_cell_nbank_max_monnum string 10 按手机号查询,近 3 个月在非银机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -495 als_m3_cell_nbank_min_monnum string 10 按手机号查询,近 3 个月在非银机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -496 als_m3_cell_nbank_max_inteday string 10 按手机号查询,近 3 个月在非银机构申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -497 als_m3_cell_nbank_min_inteday string 10 按手机号查询,近 3 个月在非银机构申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -498 als_m3_cell_nbank_week_allnum string 10 按手机号查询,近 3 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -499 als_m3_cell_nbank_week_orgnum string 10 按手机号查询,近 3 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -500 als_m3_cell_nbank_night_allnum string 10 按手机号查询,近 3 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -501 als_m3_cell_nbank_night_orgnum string 10 按手机号查询,近 3 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -502 als_m6_id_max_inteday string 10 按身份证号查询,近 6 个月申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -503 als_m6_id_min_inteday string 10 按身份证号查询,近 6 个月申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -504 als_m6_id_tot_mons string 10 按身份证号查询,近 6 个月有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -505 als_m6_id_avg_monnum string 10 -按身份证号查询,近 6 个月平均每月申请次数(有申请月 -份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -506 als_m6_id_max_monnum string 10 按身份证号查询,近 6 个月最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -507 als_m6_id_min_monnum string 10 按身份证号查询,近 6 个月最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -508 als_m6_id_pdl_allnum string 10 按身份证号查询,近 6 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -509 als_m6_id_pdl_orgnum string 10 -按身份证号查询,近 6 个月申请线上小额现金贷的机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -510 als_m6_id_caon_allnum string 10 按身份证号查询,近 6 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -511 als_m6_id_caon_orgnum string 10 按身份证号查询,近 6 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -512 als_m6_id_rel_allnum string 10 -按身份证号查询,近 6 个月申请信用卡(类信用卡)的 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -513 als_m6_id_rel_orgnum string 10 -按身份证号查询,近 6 个月申请信用卡(类信用卡)的 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -514 als_m6_id_caoff_allnum string 10 按身份证号查询,近 6 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -515 als_m6_id_caoff_orgnum string 10 按身份证号查询,近 6 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -516 als_m6_id_cooff_allnum string 10 按身份证号查询,近 6 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -517 als_m6_id_cooff_orgnum string 10 按身份证号查询,近 6 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -518 als_m6_id_af_allnum string 10 按身份证号查询,近 6 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -519 als_m6_id_af_orgnum string 10 按身份证号查询,近 6 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -520 als_m6_id_coon_allnum string 10 按身份证号查询,近 6 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -521 als_m6_id_coon_orgnum string 10 按身份证号查询,近 6 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -522 als_m6_id_oth_allnum string 10 按身份证号查询,近 6 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -523 als_m6_id_oth_orgnum string 10 按身份证号查询,近 6 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -524 als_m6_id_bank_selfnum string 10 -按身份证号查询,近 6 个月在本机构(本机构为银行)的申 -请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -525 als_m6_id_bank_allnum string 10 按身份证号查询,近 6 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -526 als_m6_id_bank_tra_allnum string 10 -按身份证号查询,近 6 个月在银行机构-传统银行申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -527 als_m6_id_bank_ret_allnum string 10 -按身份证号查询,近 6 个月在银行机构-网络零售银行申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -528 als_m6_id_bank_orgnum string 10 按身份证号查询,近 6 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -529 als_m6_id_bank_tra_orgnum string 10 -按身份证号查询,近 6 个月在银行机构-传统银行申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -530 als_m6_id_bank_ret_orgnum string 10 -按身份证号查询,近 6 个月在银行机构-网络零售银行申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -531 als_m6_id_bank_tot_mons string 10 按身份证号查询,近 6 个月在银行机构有申请记录月份 取"空/N";空:无申请记录;N 申请记录详情 -数 -532 als_m6_id_bank_avg_monnum string 10 -按身份证号查询,近 6 个月在银行机构平均每月申请次 -数(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -533 als_m6_id_bank_max_monnum string 10 按身份证号查询,近 6 个月在银行机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -534 als_m6_id_bank_min_monnum string 10 按身份证号查询,近 6 个月在银行机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -535 als_m6_id_bank_max_inteday string 10 -按身份证号查询,近 6 个月在银行机构申请最大间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -536 als_m6_id_bank_min_inteday string 10 -按身份证号查询,近 6 个月在银行机构申请最小间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -537 als_m6_id_bank_week_allnum string 10 按身份证号查询,近 6 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -538 als_m6_id_bank_week_orgnum string 10 按身份证号查询,近 6 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -539 als_m6_id_bank_night_allnum string 10 按身份证号查询,近 6 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -540 als_m6_id_bank_night_orgnum string 10 按身份证号查询,近 6 个月在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -541 als_m6_id_nbank_selfnum string 10 -按身份证号查询,近 6 个月在本机构(本机构为非银)申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -542 als_m6_id_nbank_allnum string 10 按身份证号查询,近 6 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -543 als_m6_id_nbank_p2p_allnum string 10 -按身份证号查询,近 6 个月在非银机构-改制机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -544 als_m6_id_nbank_mc_allnum string 10 -按身份证号查询,近 6 个月在非银机构-小贷机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -545 als_m6_id_nbank_ca_allnum string 10 -按身份证号查询,近 6 个月在非银机构-现金类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -546 als_m6_id_nbank_cf_allnum string 10 -按身份证号查询,近 6 个月在非银机构-消费类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -547 als_m6_id_nbank_com_allnum string 10 -按身份证号查询,近 6 个月在非银机构-代偿类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -548 als_m6_id_nbank_oth_allnum string 10 按身份证号查询,近 6 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -549 als_m6_id_nbank_nsloan_allnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌网络小贷机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -550 als_m6_id_nbank_autofin_allnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌汽车金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -551 als_m6_id_nbank_sloan_allnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌小贷机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -552 als_m6_id_nbank_cons_allnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌消费金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -553 als_m6_id_nbank_finlea_allnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌融资租赁机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -554 als_m6_id_nbank_else_allnum string 10 按身份证号查询,近 6 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -555 als_m6_id_nbank_orgnum string 10 按身份证号查询,近 6 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -556 als_m6_id_nbank_p2p_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-改制机构申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -557 als_m6_id_nbank_mc_orgnum string 10 按身份证号查询,近 6 个月在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -558 als_m6_id_nbank_ca_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-现金类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -559 als_m6_id_nbank_cf_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-消费类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -560 als_m6_id_nbank_com_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-代偿类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -561 als_m6_id_nbank_oth_orgnum string 10 按身份证号查询,近 6 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -562 als_m6_id_nbank_nsloan_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌网络小贷机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -563 als_m6_id_nbank_autofin_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌汽车金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -564 als_m6_id_nbank_sloan_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌小贷机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -565 als_m6_id_nbank_cons_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌消费金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -566 als_m6_id_nbank_finlea_orgnum string 10 -按身份证号查询,近 6 个月在非银机构-持牌融资租赁机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -567 als_m6_id_nbank_else_orgnum string 10 按身份证号查询,近 6 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -568 als_m6_id_nbank_tot_mons string 10 -按身份证号查询,近 6 个月在非银机构有申请记录月份 -数 -取"空/N";空:无申请记录;N 申请记录详情 -569 als_m6_id_nbank_avg_monnum string 10 -按身份证号查询,近 6 个月在非银机构平均每月申请次 -数(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -570 als_m6_id_nbank_max_monnum string 10 按身份证号查询,近 6 个月在非银机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -571 als_m6_id_nbank_min_monnum string 10 按身份证号查询,近 6 个月在非银机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -572 als_m6_id_nbank_max_inteday string 10 -按身份证号查询,近 6 个月在非银机构申请最大间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -573 als_m6_id_nbank_min_inteday string 10 -按身份证号查询,近 6 个月在非银机构申请最小间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -574 als_m6_id_nbank_week_allnum string 10 按身份证号查询,近 6 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -575 als_m6_id_nbank_week_orgnum string 10 按身份证号查询,近 6 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -576 als_m6_id_nbank_night_allnum string 10 按身份证号查询,近 6 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -577 als_m6_id_nbank_night_orgnum string 10 按身份证号查询,近 6 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -578 als_m6_cell_max_inteday string 10 按手机号查询,近 6 个月申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -579 als_m6_cell_min_inteday string 10 按手机号查询,近 6 个月申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -580 als_m6_cell_tot_mons string 10 按手机号查询,近 6 个月有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -581 als_m6_cell_avg_monnum string 10 -按手机号查询,近 6 个月平均每月申请次数(有申请月份 -平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -582 als_m6_cell_max_monnum string 10 按手机号查询,近 6 个月最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -583 als_m6_cell_min_monnum string 10 按手机号查询,近 6 个月最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -584 als_m6_cell_pdl_allnum string 10 按手机号查询,近 6 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -585 als_m6_cell_pdl_orgnum string 10 按手机号查询,近 6 个月申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -586 als_m6_cell_caon_allnum string 10 按手机号查询,近 6 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -587 als_m6_cell_caon_orgnum string 10 按手机号查询,近 6 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -588 als_m6_cell_rel_allnum string 10 -按手机号查询,近 6 个月申请信用卡(类信用卡)的次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -589 als_m6_cell_rel_orgnum string 10 -按手机号查询,近 6 个月申请信用卡(类信用卡)的机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -590 als_m6_cell_caoff_allnum string 10 按手机号查询,近 6 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -591 als_m6_cell_caoff_orgnum string 10 按手机号查询,近 6 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -592 als_m6_cell_cooff_allnum string 10 按手机号查询,近 6 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -593 als_m6_cell_cooff_orgnum string 10 按手机号查询,近 6 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -594 als_m6_cell_af_allnum string 10 按手机号查询,近 6 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -595 als_m6_cell_af_orgnum string 10 按手机号查询,近 6 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -596 als_m6_cell_coon_allnum string 10 按手机号查询,近 6 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -597 als_m6_cell_coon_orgnum string 10 按手机号查询,近 6 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -598 als_m6_cell_oth_allnum string 10 按手机号查询,近 6 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -599 als_m6_cell_oth_orgnum string 10 按手机号查询,近 6 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -600 als_m6_cell_bank_selfnum string 10 -按手机号查询,近 6 个月在本机构(本机构为银行)的申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -601 als_m6_cell_bank_allnum string 10 按手机号查询,近 6 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -602 als_m6_cell_bank_tra_allnum string 10 按手机号查询,近 6 个月在银行机构-传统银行申请次数 取"空/N";空:无申请记录;N 申请记录详情 -603 als_m6_cell_bank_ret_allnum string 10 -按手机号查询,近 6 个月在银行机构-网络零售银行申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -604 als_m6_cell_bank_orgnum string 10 按手机号查询,近 6 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -605 als_m6_cell_bank_tra_orgnum string 10 -按手机号查询,近 6 个月在银行机构-传统银行申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -606 als_m6_cell_bank_ret_orgnum string 10 -按手机号查询,近 6 个月在银行机构-网络零售银行申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -607 als_m6_cell_bank_tot_mons string 10 按手机号查询,近 6 个月在银行机构有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -608 als_m6_cell_bank_avg_monnum string 10 -按手机号查询,近 6 个月在银行机构平均每月申请次数 -(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -609 als_m6_cell_bank_max_monnum string 10 按手机号查询,近 6 个月在银行机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -610 als_m6_cell_bank_min_monnum string 10 按手机号查询,近 6 个月在银行机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -611 als_m6_cell_bank_max_inteday string 10 按手机号查询,近 6 个月在银行机构申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -612 als_m6_cell_bank_min_inteday string 10 按手机号查询,近 6 个月在银行机构申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -613 als_m6_cell_bank_week_allnum string 10 按手机号查询,近 6 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -614 als_m6_cell_bank_week_orgnum string 10 按手机号查询,近 6 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -615 als_m6_cell_bank_night_allnum string 10 按手机号查询,近 6 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -616 als_m6_cell_bank_night_orgnum string 10 按手机号查询,近 6 个月在银行机构夜间申请机构数 取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -617 als_m6_cell_nbank_selfnum string 10 -按手机号查询,近 6 个月在本机构(本机构为非银)申请次 -数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -618 als_m6_cell_nbank_allnum string 10 按手机号查询,近 6 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -619 als_m6_cell_nbank_p2p_allnum string 10 按手机号查询,近 6 个月在非银机构-改制机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -620 als_m6_cell_nbank_mc_allnum string 10 按手机号查询,近 6 个月在非银机构-小贷机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -621 als_m6_cell_nbank_ca_allnum string 10 -按手机号查询,近 6 个月在非银机构-现金类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -622 als_m6_cell_nbank_cf_allnum string 10 -按手机号查询,近 6 个月在非银机构-消费类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -623 als_m6_cell_nbank_com_allnum string 10 -按手机号查询,近 6 个月在非银机构-代偿类分期机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -624 als_m6_cell_nbank_oth_allnum string 10 按手机号查询,近 6 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -625 als_m6_cell_nbank_nsloan_allnum string 10 -按手机号查询,近 6 个月在非银机构-持牌网络小贷机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -626 als_m6_cell_nbank_autofin_allnum string 10 -按手机号查询,近 6 个月在非银机构-持牌汽车金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -627 als_m6_cell_nbank_sloan_allnum string 10 -按手机号查询,近 6 个月在非银机构-持牌小贷机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -628 als_m6_cell_nbank_cons_allnum string 10 -按手机号查询,近 6 个月在非银机构-持牌消费金融机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -629 als_m6_cell_nbank_finlea_allnum string 10 -按手机号查询,近 6 个月在非银机构-持牌融资租赁机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -630 als_m6_cell_nbank_else_allnum string 10 按手机号查询,近 6 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -631 als_m6_cell_nbank_orgnum string 10 按手机号查询,近 6 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -632 als_m6_cell_nbank_p2p_orgnum string 10 -按手机号查询,近 6 个月在非银机构-改制机构申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -633 als_m6_cell_nbank_mc_orgnum string 10 按手机号查询,近 6 个月在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -634 als_m6_cell_nbank_ca_orgnum string 10 -按手机号查询,近 6 个月在非银机构-现金类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -635 als_m6_cell_nbank_cf_orgnum string 10 -按手机号查询,近 6 个月在非银机构-消费类分期申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -636 als_m6_cell_nbank_com_orgnum string 10 按手机号查询,近 6 个月在非银机构-代偿类分期申请机 取"空/N";空:无申请记录;N 申请记录详情 -构数 -637 als_m6_cell_nbank_oth_orgnum string 10 按手机号查询,近 6 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -638 als_m6_cell_nbank_nsloan_orgnum string 10 -按手机号查询,近 6 个月在非银机构-持牌网络小贷机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -639 als_m6_cell_nbank_autofin_orgnum string 10 -按手机号查询,近 6 个月在非银机构-持牌汽车金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -640 als_m6_cell_nbank_sloan_orgnum string 10 -按手机号查询,近 6 个月在非银机构-持牌小贷机构申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -641 als_m6_cell_nbank_cons_orgnum string 10 -按手机号查询,近 6 个月在非银机构-持牌消费金融机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -642 als_m6_cell_nbank_finlea_orgnum string 10 -按手机号查询,近 6 个月在非银机构-持牌融资租赁机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -643 als_m6_cell_nbank_else_orgnum string 10 按手机号查询,近 6 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -644 als_m6_cell_nbank_tot_mons string 10 按手机号查询,近 6 个月在非银机构有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -645 als_m6_cell_nbank_avg_monnum string 10 -按手机号查询,近 6 个月在非银机构平均每月申请次数 -(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -646 als_m6_cell_nbank_max_monnum string 10 按手机号查询,近 6 个月在非银机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -647 als_m6_cell_nbank_min_monnum string 10 按手机号查询,近 6 个月在非银机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -648 als_m6_cell_nbank_max_inteday string 10 按手机号查询,近 6 个月在非银机构申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -649 als_m6_cell_nbank_min_inteday string 10 按手机号查询,近 6 个月在非银机构申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -650 als_m6_cell_nbank_week_allnum string 10 按手机号查询,近 6 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -651 als_m6_cell_nbank_week_orgnum string 10 按手机号查询,近 6 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -652 als_m6_cell_nbank_night_allnum string 10 按手机号查询,近 6 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -653 als_m6_cell_nbank_night_orgnum string 10 按手机号查询,近 6 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -654 als_m12_id_max_inteday string 10 按身份证号查询,近 12 个月申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -655 als_m12_id_min_inteday string 10 按身份证号查询,近 12 个月申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -656 als_m12_id_tot_mons string 10 按身份证号查询,近 12 个月有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -657 als_m12_id_avg_monnum string 10 -按身份证号查询,近 12 个月平均每月申请次数(有申请 -月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -658 als_m12_id_max_monnum string 10 按身份证号查询,近 12 个月最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -659 als_m12_id_min_monnum string 10 按身份证号查询,近 12 个月最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -660 als_m12_id_pdl_allnum string 10 按身份证号查询,近 12 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -661 als_m12_id_pdl_orgnum string 10 -按身份证号查询,近 12 个月申请线上小额现金贷的机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -662 als_m12_id_caon_allnum string 10 按身份证号查询,近 12 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -663 als_m12_id_caon_orgnum string 10 按身份证号查询,近 12 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -664 als_m12_id_rel_allnum string 10 -按身份证号查询,近 12 个月申请信用卡(类信用卡)的 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -665 als_m12_id_rel_orgnum string 10 -按身份证号查询,近 12 个月申请信用卡(类信用卡)的 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -666 als_m12_id_caoff_allnum string 10 按身份证号查询,近 12 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -667 als_m12_id_caoff_orgnum string 10 按身份证号查询,近 12 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -668 als_m12_id_cooff_allnum string 10 按身份证号查询,近 12 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -669 als_m12_id_cooff_orgnum string 10 按身份证号查询,近 12 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -670 als_m12_id_af_allnum string 10 按身份证号查询,近 12 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -671 als_m12_id_af_orgnum string 10 按身份证号查询,近 12 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -672 als_m12_id_coon_allnum string 10 按身份证号查询,近 12 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -673 als_m12_id_coon_orgnum string 10 按身份证号查询,近 12 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -674 als_m12_id_oth_allnum string 10 按身份证号查询,近 12 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -675 als_m12_id_oth_orgnum string 10 按身份证号查询,近 12 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -676 als_m12_id_bank_selfnum string 10 -按身份证号查询,近 12 个月在本机构(本机构为银行)的 -申请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -677 als_m12_id_bank_allnum string 10 按身份证号查询,近 12 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -678 als_m12_id_bank_tra_allnum string 10 -按身份证号查询,近 12 个月在银行机构-传统银行申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -679 als_m12_id_bank_ret_allnum string 10 -按身份证号查询,近 12 个月在银行机构-网络零售银行 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -680 als_m12_id_bank_orgnum string 10 按身份证号查询,近 12 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -681 als_m12_id_bank_tra_orgnum string 10 -按身份证号查询,近 12 个月在银行机构-传统银行申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -682 als_m12_id_bank_ret_orgnum string 10 -按身份证号查询,近 12 个月在银行机构-网络零售银行 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -683 als_m12_id_bank_tot_mons string 10 -按身份证号查询,近 12 个月在银行机构有申请记录月份 -数 -取"空/N";空:无申请记录;N 申请记录详情 -684 als_m12_id_bank_avg_monnum string 10 -按身份证号查询,近 12 个月在银行机构平均每月申请次 -数(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -685 als_m12_id_bank_max_monnum string 10 按身份证号查询,近 12 个月在银行机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -686 als_m12_id_bank_min_monnum string 10 按身份证号查询,近 12 个月在银行机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -687 als_m12_id_bank_max_inteday string 10 -按身份证号查询,近 12 个月在银行机构申请最大间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -688 als_m12_id_bank_min_inteday string 10 -按身份证号查询,近 12 个月在银行机构申请最小间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -689 als_m12_id_bank_week_allnum string 10 按身份证号查询,近 12 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -690 als_m12_id_bank_week_orgnum string 10 按身份证号查询,近 12 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -691 als_m12_id_bank_night_allnum string 10 按身份证号查询,近 12 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -692 als_m12_id_bank_night_orgnum string 10 按身份证号查询,近 12 个月在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -693 als_m12_id_nbank_selfnum string 10 -按身份证号查询,近 12 个月在本机构(本机构为非银)申 -请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -694 als_m12_id_nbank_allnum string 10 按身份证号查询,近 12 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -695 als_m12_id_nbank_p2p_allnum string 10 -按身份证号查询,近 12 个月在非银机构-改制机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -696 als_m12_id_nbank_mc_allnum string 10 -按身份证号查询,近 12 个月在非银机构-小贷机构申请 -次数 -取"空/N";空:无申请记录;N 申请记录详情 -697 als_m12_id_nbank_ca_allnum string 10 -按身份证号查询,近 12 个月在非银机构-现金类分期机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -698 als_m12_id_nbank_cf_allnum string 10 -按身份证号查询,近 12 个月在非银机构-消费类分期机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -699 als_m12_id_nbank_com_allnum string 10 -按身份证号查询,近 12 个月在非银机构-代偿类分期机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -700 als_m12_id_nbank_oth_allnum string 10 按身份证号查询,近 12 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -701 als_m12_id_nbank_nsloan_allnum string 10 按身份证号查询,近 12 个月在非银机构-持牌网络小贷 取"空/N";空:无申请记录;N 申请记录详情 -机构申请次数 -702 als_m12_id_nbank_autofin_allnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌汽车金融 -机构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -703 als_m12_id_nbank_sloan_allnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌小贷机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -704 als_m12_id_nbank_cons_allnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌消费金融 -机构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -705 als_m12_id_nbank_finlea_allnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌融资租赁 -机构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -706 als_m12_id_nbank_else_allnum string 10 按身份证号查询,近 12 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -707 als_m12_id_nbank_orgnum string 10 按身份证号查询,近 12 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -708 als_m12_id_nbank_p2p_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-改制机构申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -709 als_m12_id_nbank_mc_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-小贷申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -710 als_m12_id_nbank_ca_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-现金类分期申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -711 als_m12_id_nbank_cf_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-消费类分期申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -712 als_m12_id_nbank_com_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-代偿类分期申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -713 als_m12_id_nbank_oth_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-其他申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -714 als_m12_id_nbank_nsloan_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌网络小贷 -机构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -715 als_m12_id_nbank_autofin_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌汽车金融 -机构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -716 als_m12_id_nbank_sloan_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌小贷机构 -申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -717 als_m12_id_nbank_cons_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌消费金融 -机构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -718 als_m12_id_nbank_finlea_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-持牌融资租赁 -机构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -719 als_m12_id_nbank_else_orgnum string 10 -按身份证号查询,近 12 个月在非银机构-其他申请机构 -数 -取"空/N";空:无申请记录;N 申请记录详情 -720 als_m12_id_nbank_tot_mons string 10 -按身份证号查询,近 12 个月在非银机构有申请记录月份 -数 -取"空/N";空:无申请记录;N 申请记录详情 -721 als_m12_id_nbank_avg_monnum string 10 -按身份证号查询,近 12 个月在非银机构平均每月申请次 -数(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -722 als_m12_id_nbank_max_monnum string 10 按身份证号查询,近 12 个月在非银机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -723 als_m12_id_nbank_min_monnum string 10 按身份证号查询,近 12 个月在非银机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -724 als_m12_id_nbank_max_inteday string 10 -按身份证号查询,近 12 个月在非银机构申请最大间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -725 als_m12_id_nbank_min_inteday string 10 -按身份证号查询,近 12 个月在非银机构申请最小间隔天 -数 -取"空/0-N";空:无申请记录;0-N 申请记录详情 -726 als_m12_id_nbank_week_allnum string 10 按身份证号查询,近 12 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -727 als_m12_id_nbank_week_orgnum string 10 按身份证号查询,近 12 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -728 als_m12_id_nbank_night_allnum string 10 按身份证号查询,近 12 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -729 als_m12_id_nbank_night_orgnum string 10 按身份证号查询,近 12 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -730 als_m12_cell_max_inteday string 10 按手机号查询,近 12 个月申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -731 als_m12_cell_min_inteday string 10 按手机号查询,近 12 个月申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -732 als_m12_cell_tot_mons string 10 按手机号查询,近 12 个月有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -733 als_m12_cell_avg_monnum string 10 -按手机号查询,近 12 个月平均每月申请次数(有申请月 -份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -734 als_m12_cell_max_monnum string 10 按手机号查询,近 12 个月最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -735 als_m12_cell_min_monnum string 10 按手机号查询,近 12 个月最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -736 als_m12_cell_pdl_allnum string 10 按手机号查询,近 12 个月申请线上小额现金贷的次数 取"空/N";空:无申请记录;N 申请记录详情 -737 als_m12_cell_pdl_orgnum string 10 按手机号查询,近 12 个月申请线上小额现金贷的机构数 取"空/N";空:无申请记录;N 申请记录详情 -738 als_m12_cell_caon_allnum string 10 按手机号查询,近 12 个月申请线上现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -739 als_m12_cell_caon_orgnum string 10 按手机号查询,近 12 个月申请线上现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -740 als_m12_cell_rel_allnum string 10 -按手机号查询,近 12 个月申请信用卡(类信用卡)的次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -741 als_m12_cell_rel_orgnum string 10 -按手机号查询,近 12 个月申请信用卡(类信用卡)的机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -742 als_m12_cell_caoff_allnum string 10 按手机号查询,近 12 个月申请线下现金分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -743 als_m12_cell_caoff_orgnum string 10 按手机号查询,近 12 个月申请线下现金分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -744 als_m12_cell_cooff_allnum string 10 按手机号查询,近 12 个月申请线下消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -745 als_m12_cell_cooff_orgnum string 10 按手机号查询,近 12 个月申请线下消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -746 als_m12_cell_af_allnum string 10 按手机号查询,近 12 个月申请汽车金融的次数 取"空/N";空:无申请记录;N 申请记录详情 -747 als_m12_cell_af_orgnum string 10 按手机号查询,近 12 个月申请汽车金融的机构数 取"空/N";空:无申请记录;N 申请记录详情 -748 als_m12_cell_coon_allnum string 10 按手机号查询,近 12 个月申请线上消费分期的次数 取"空/N";空:无申请记录;N 申请记录详情 -749 als_m12_cell_coon_orgnum string 10 按手机号查询,近 12 个月申请线上消费分期的机构数 取"空/N";空:无申请记录;N 申请记录详情 -750 als_m12_cell_oth_allnum string 10 按手机号查询,近 12 个月申请其他的次数 取"空/N";空:无申请记录;N 申请记录详情 -751 als_m12_cell_oth_orgnum string 10 按手机号查询,近 12 个月申请其他的机构数 取"空/N";空:无申请记录;N 申请记录详情 -752 als_m12_cell_bank_selfnum string 10 -按手机号查询,近 12 个月在本机构(本机构为银行)的申 -请次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他银行机构有申请;N 申请记录详情 -753 als_m12_cell_bank_allnum string 10 按手机号查询,近 12 个月在银行机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -754 als_m12_cell_bank_tra_allnum string 10 -按手机号查询,近 12 个月在银行机构-传统银行申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -755 als_m12_cell_bank_ret_allnum string 10 -按手机号查询,近 12 个月在银行机构-网络零售银行申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -756 als_m12_cell_bank_orgnum string 10 按手机号查询,近 12 个月在银行机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -757 als_m12_cell_bank_tra_orgnum string 10 -按手机号查询,近 12 个月在银行机构-传统银行申请机 -构数 -取"空/N";空:无申请记录;N 申请记录详情 -758 als_m12_cell_bank_ret_orgnum string 10 -按手机号查询,近 12 个月在银行机构-网络零售银行申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -759 als_m12_cell_bank_tot_mons string 10 按手机号查询,近 12 个月在银行机构有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -760 als_m12_cell_bank_avg_monnum string 10 -按手机号查询,近 12 个月在银行机构平均每月申请次数 -(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -761 als_m12_cell_bank_max_monnum string 10 按手机号查询,近 12 个月在银行机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -762 als_m12_cell_bank_min_monnum string 10 按手机号查询,近 12 个月在银行机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -763 als_m12_cell_bank_max_inteday string 10 按手机号查询,近 12 个月在银行机构申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -764 als_m12_cell_bank_min_inteday string 10 按手机号查询,近 12 个月在银行机构申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -765 als_m12_cell_bank_week_allnum string 10 按手机号查询,近 12 个月在银行机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -766 als_m12_cell_bank_week_orgnum string 10 按手机号查询,近 12 个月在银行机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -767 als_m12_cell_bank_night_allnum string 10 按手机号查询,近 12 个月在银行机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -768 als_m12_cell_bank_night_orgnum string 10 按手机号查询,近 12 个月在银行机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -769 als_m12_cell_nbank_selfnum string 10 -按手机号查询,近 12 个月在本机构(本机构为非银)申请 -次数 -取"空/0/N";空:无申请记录;0 本机构无申请记 -录但其他非银机构有申请;N 申请记录详情 -770 als_m12_cell_nbank_allnum string 10 按手机号查询,近 12 个月在非银机构申请次数 取"空/N";空:无申请记录;N 申请记录详情 -771 als_m12_cell_nbank_p2p_allnum string 10 -按手机号查询,近 12 个月在非银机构-改制机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -772 als_m12_cell_nbank_mc_allnum string 10 -按手机号查询,近 12 个月在非银机构-小贷机构申请次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -773 als_m12_cell_nbank_ca_allnum string 10 -按手机号查询,近 12 个月在非银机构-现金类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -774 als_m12_cell_nbank_cf_allnum string 10 -按手机号查询,近 12 个月在非银机构-消费类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -775 als_m12_cell_nbank_com_allnum string 10 -按手机号查询,近 12 个月在非银机构-代偿类分期机构 -申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -776 als_m12_cell_nbank_oth_allnum string 10 按手机号查询,近 12 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -777 als_m12_cell_nbank_nsloan_allnum string 10 -按手机号查询,近 12 个月在非银机构-持牌网络小贷机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -778 als_m12_cell_nbank_autofin_allnum string 10 -按手机号查询,近 12 个月在非银机构-持牌汽车金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -779 als_m12_cell_nbank_sloan_allnum string 10 -按手机号查询,近 12 个月在非银机构-持牌小贷机构申 -请次数 -取"空/N";空:无申请记录;N 申请记录详情 -780 als_m12_cell_nbank_cons_allnum string 10 -按手机号查询,近 12 个月在非银机构-持牌消费金融机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -781 als_m12_cell_nbank_finlea_allnum string 10 -按手机号查询,近 12 个月在非银机构-持牌融资租赁机 -构申请次数 -取"空/N";空:无申请记录;N 申请记录详情 -782 als_m12_cell_nbank_else_allnum string 10 按手机号查询,近 12 个月在非银机构-其他申请次数 取"空/N";空:无申请记录;N 申请记录详情 -783 als_m12_cell_nbank_orgnum string 10 按手机号查询,近 12 个月在非银机构申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -784 als_m12_cell_nbank_p2p_orgnum string 10 按手机号查询,近 12 个月在非银机构-改制机构申请机 取"空/N";空:无申请记录;N 申请记录详情 -构数 -785 als_m12_cell_nbank_mc_orgnum string 10 按手机号查询,近 12 个月在非银机构-小贷申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -786 als_m12_cell_nbank_ca_orgnum string 10 -按手机号查询,近 12 个月在非银机构-现金类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -787 als_m12_cell_nbank_cf_orgnum string 10 -按手机号查询,近 12 个月在非银机构-消费类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -788 als_m12_cell_nbank_com_orgnum string 10 -按手机号查询,近 12 个月在非银机构-代偿类分期申请 -机构数 -取"空/N";空:无申请记录;N 申请记录详情 -789 als_m12_cell_nbank_oth_orgnum string 10 按手机号查询,近 12 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -790 als_m12_cell_nbank_nsloan_orgnum string 10 -按手机号查询,近 12 个月在非银机构-持牌网络小贷机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -791 als_m12_cell_nbank_autofin_orgnum string 10 -按手机号查询,近 12 个月在非银机构-持牌汽车金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -792 als_m12_cell_nbank_sloan_orgnum string 10 -按手机号查询,近 12 个月在非银机构-持牌小贷机构申 -请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -793 als_m12_cell_nbank_cons_orgnum string 10 -按手机号查询,近 12 个月在非银机构-持牌消费金融机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -794 als_m12_cell_nbank_finlea_orgnum string 10 -按手机号查询,近 12 个月在非银机构-持牌融资租赁机 -构申请机构数 -取"空/N";空:无申请记录;N 申请记录详情 -795 als_m12_cell_nbank_else_orgnum string 10 按手机号查询,近 12 个月在非银机构-其他申请机构数 取"空/N";空:无申请记录;N 申请记录详情 -796 als_m12_cell_nbank_tot_mons string 10 按手机号查询,近 12 个月在非银机构有申请记录月份数 取"空/N";空:无申请记录;N 申请记录详情 -797 als_m12_cell_nbank_avg_monnum string 10 -按手机号查询,近 12 个月在非银机构平均每月申请次数 -(有申请月份平均) -取"空/N";空:无申请记录;N 申请记录详情(保留 -两位小数) -798 als_m12_cell_nbank_max_monnum string 10 按手机号查询,近 12 个月在非银机构最大月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -799 als_m12_cell_nbank_min_monnum string 10 按手机号查询,近 12 个月在非银机构最小月申请次数 取"空/N";空:无申请记录;N 申请记录详情 -800 als_m12_cell_nbank_max_inteday string 10 按手机号查询,近 12 个月在非银机构申请最大间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -801 als_m12_cell_nbank_min_inteday string 10 按手机号查询,近 12 个月在非银机构申请最小间隔天数 取"空/0-N";空:无申请记录;0-N 申请记录详情 -802 als_m12_cell_nbank_week_allnum string 10 按手机号查询,近 12 个月在非银机构周末申请次数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -803 als_m12_cell_nbank_week_orgnum string 10 按手机号查询,近 12 个月在非银机构周末申请机构数 -取"空/0/N";空:无申请记录;0,其它时间段有申 -请,周末无申请;N 申请记录详情 -804 als_m12_cell_nbank_night_allnum string 10 按手机号查询,近 12 个月在非银机构夜间申请次数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -4、返回状态码说明 -返回码 描述 处理方式 -00 查询成功,至少一个子产品命中 无 -100001 其他异常 联系工作人员解决 -100002 -查询成功,但策略配置里全部子产品均未匹配到 -结果 -无 -100003 必传 key 值缺失或不合法 检查必传 key 值是否完整且合法 -100005 appKey 错误 请检查 appKey 加密码是否正确 -805 als_m12_cell_nbank_night_orgnum string 10 按手机号查询,近 12 个月在非银机构夜间申请机构数 -取"空/0/N";空:无申请记录;0:其它时间段有申 -请,夜间无申请;N 申请记录详情 -806 als_fst_id_bank_inteday string 10 按身份证号查询,距最早在银行机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -807 als_fst_id_nbank_inteday string 10 按身份证号查询,距最早在非银行机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -808 als_fst_cell_bank_inteday string 10 按手机号查询,距最早在银行机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -809 als_fst_cell_nbank_inteday string 10 按手机号查询,距最早在非银机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -810 als_lst_id_bank_inteday string 10 按身份证号查询,距最近在银行机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -811 als_lst_id_bank_consnum string 10 按身份证号查询,最近开始在银行机构连续申请的次数 取"空/N";空:无申请记录;N 申请记录详情 -812 als_lst_id_bank_csinteday string 10 -按身份证号查询,最近开始在银行机构连续申请的持续 -天数 -取"空/N";空:无申请记录;N 申请记录详情 -813 als_lst_id_nbank_inteday string 10 按身份证号查询,距最近在非银行机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -814 als_lst_id_nbank_consnum string 10 -按身份证号查询,最近开始在非银行机构连续申请的次 -数 -取"空/N";空:无申请记录;N 申请记录详情 -815 als_lst_id_nbank_csinteday string 10 -按身份证号查询,最近开始在非银机构连续申请的持续 -天数 -取"空/N";空:无申请记录;N 申请记录详情 -816 als_lst_cell_bank_inteday string 10 按手机号查询,距最近在银行机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -817 als_lst_cell_bank_consnum string 10 按手机号查询,最近开始在银行机构连续申请的次数 取"空/N";空:无申请记录;N 申请记录详情 -818 als_lst_cell_bank_csinteday string 10 -按手机号查询,最近开始在银行机构连续申请的持续天 -数 -取"空/N";空:无申请记录;N 申请记录详情 -819 als_lst_cell_nbank_inteday string 10 按手机号查询,距最近在非银机构申请的间隔天数 取"空/N";空:无申请记录;N 申请记录详情 -820 als_lst_cell_nbank_consnum string 10 按手机号查询,最近开始在非银机构连续申请的次数 取"空/N";空:无申请记录;N 申请记录详情 -821 als_lst_cell_nbank_csinteday string 10 -按手机号查询,最近开始在非银机构连续申请的持续天 -数 -取"空/N";空:无申请记录;N 申请记录详情 diff --git a/dataRender/jdyxRender.js b/dataRender/jdyxRender.js deleted file mode 100644 index 9dfba88..0000000 --- a/dataRender/jdyxRender.js +++ /dev/null @@ -1,55 +0,0 @@ -const fs = require('node:fs') -const path = require('node:path') - -// 读取文件路径 -const filePath = path.join(__dirname, 'jdyx.txt') - -// 输出文件路径 -const outputFilePath = path.join(__dirname, 'output.json') - -// 读取文件内容 -fs.readFile(filePath, 'utf8', (err, data) => { - if (err) { - console.error('读取文件失败:', err) - return - } - - const records = [] - let currentRecord = '' - let capturing = false // 是否正在捕获一条记录 - - // 按字符处理数据 - for (let i = 0; i < data.length; i++) { - const char = data[i] - - // 检查是否找到 `als` - if (!capturing && data.slice(i, i + 3) === 'als') { - capturing = true // 开始捕获 - currentRecord = 'als' // 初始化记录 - i += 2 // 跳过已匹配的 "als" - continue - } - - // 捕获状态下,遇到空格时结束记录 - if (capturing) { - if (char === ' ') { - records.push(currentRecord) // 保存当前记录 - capturing = false // 停止捕获 - currentRecord = '' // 重置记录 - } - else { - currentRecord += char // 继续捕获字符 - } - } - } - - // 将结果写入到JSON文件中 - fs.writeFile(outputFilePath, JSON.stringify(records, null, 2), (err) => { - if (err) { - console.error('写入文件失败:', err) - } - else { - console.log(`记录已保存到文件: ${outputFilePath}`) - } - }) -}) diff --git a/dataRender/jdyxRender2.js b/dataRender/jdyxRender2.js deleted file mode 100644 index e6f7f79..0000000 --- a/dataRender/jdyxRender2.js +++ /dev/null @@ -1,41 +0,0 @@ -const fs = require('node:fs') -const path = require('node:path') - -// 读取文件路径 -const inputFilePath = path.join(__dirname, 'output.json') - -// 输出文件路径 -const outputFilePath = path.join(__dirname, 'word_list.json') - -// 读取JSON文件 -fs.readFile(inputFilePath, 'utf8', (err, data) => { - if (err) { - console.error('读取文件失败:', err) - return - } - - // 解析JSON内容 - const records = JSON.parse(data) - - // 用于存储所有分割后的单词 - const wordSet = new Set() - - // 遍历每个元素,将其按下划线分割 - records.forEach((record) => { - const words = record.split('_') - words.forEach(word => wordSet.add(word)) // 去重 - }) - - // 将Set转换为数组 - const uniqueWords = Array.from(wordSet) - - // 将结果写入到新的JSON文件 - fs.writeFile(outputFilePath, JSON.stringify(uniqueWords, null, 2), (err) => { - if (err) { - console.error('写入文件失败:', err) - } - else { - console.log(`单词列表已保存到文件: ${outputFilePath}`) - } - }) -}) diff --git a/dataRender/output.json b/dataRender/output.json deleted file mode 100644 index a339a2f..0000000 --- a/dataRender/output.json +++ /dev/null @@ -1,822 +0,0 @@ -[ - "als_d7_id_pdl_allnum", - "als_d7_id_pdl_orgnum", - "als_d7_id_caon_allnum", - "als_d7_id_caon_orgnum", - "als_d7_id_rel_allnum", - "als_d7_id_rel_orgnum", - "als_d7_id_caoff_allnum", - "als_d7_id_caoff_orgnum", - "als_d7_id_cooff_allnum", - "als_d7_id_cooff_orgnum", - "als_d7_id_af_allnum", - "als_d7_id_af_orgnum", - "als_d7_id_coon_allnum", - "als_d7_id_coon_orgnum", - "als_d7_id_oth_allnum", - "als_d7_id_oth_orgnum", - "als_d7_id_bank_selfnum", - "als_d7_id_bank_allnum", - "als_d7_id_bank_tra_allnum", - "als_d7_id_bank_ret_allnum", - "als_d7_id_bank_orgnum", - "als_d7_id_bank_tra_orgnum", - "als_d7_id_bank_ret_orgnum", - "als_d7_id_bank_week_allnum", - "als_d7_id_bank_week_orgnum", - "als_d7_id_bank_night_allnum", - "als_d7_id_bank_night_orgnum", - "als_d7_id_nbank_selfnum", - "als_d7_id_nbank_allnum", - "als_d7_id_nbank_p2p_allnum", - "als_d7_id_nbank_mc_allnum", - "als_d7_id_nbank_ca_allnum", - "als_d7_id_nbank_cf_allnum", - "als_d7_id_nbank_com_allnum", - "als_d7_id_nbank_oth_allnum", - "als_d7_id_nbank_nsloan_allnum", - "als_d7_id_nbank_autofin_allnum", - "als_d7_id_nbank_sloan_allnum", - "als_d7_id_nbank_cons_allnum", - "als_d7_id_nbank_finlea_allnum", - "als_d7_id_nbank_else_allnum", - "als_d7_id_nbank_orgnum", - "als_d7_id_nbank_p2p_orgnum", - "als_d7_id_nbank_mc_orgnum", - "als_d7_id_nbank_ca_orgnum", - "als_d7_id_nbank_cf_orgnum", - "als_d7_id_nbank_com_orgnum", - "als_d7_id_nbank_oth_orgnum", - "als_d7_id_nbank_nsloan_orgnum", - "als_d7_id_nbank_autofin_orgnum", - "als_d7_id_nbank_sloan_orgnum", - "als_d7_id_nbank_cons_orgnum", - "als_d7_id_nbank_finlea_orgnum", - "als_d7_id_nbank_else_orgnum", - "als_d7_id_nbank_week_allnum", - "als_d7_id_nbank_week_orgnum", - "als_d7_id_nbank_night_allnum", - "als_d7_id_nbank_night_orgnum", - "als_d7_cell_pdl_allnum", - "als_d7_cell_pdl_orgnum", - "als_d7_cell_caon_allnum", - "als_d7_cell_caon_orgnum", - "als_d7_cell_rel_allnum", - "als_d7_cell_rel_orgnum", - "als_d7_cell_caoff_allnum", - "als_d7_cell_caoff_orgnum", - "als_d7_cell_cooff_allnum", - "als_d7_cell_cooff_orgnum", - "als_d7_cell_af_allnum", - "als_d7_cell_af_orgnum", - "als_d7_cell_coon_allnum", - "als_d7_cell_coon_orgnum", - "als_d7_cell_oth_allnum", - "als_d7_cell_oth_orgnum", - "als_d7_cell_bank_selfnum", - "als_d7_cell_bank_allnum", - "als_d7_cell_bank_tra_allnum", - "als_d7_cell_bank_ret_allnum", - "als_d7_cell_bank_orgnum", - "als_d7_cell_bank_tra_orgnum", - "als_d7_cell_bank_ret_orgnum", - "als_d7_cell_bank_week_allnum", - "als_d7_cell_bank_week_orgnum", - "als_d7_cell_bank_night_allnum", - "als_d7_cell_bank_night_orgnum", - "als_d7_cell_nbank_selfnum", - "als_d7_cell_nbank_allnum", - "als_d7_cell_nbank_p2p_allnum", - "als_d7_cell_nbank_mc_allnum", - "als_d7_cell_nbank_ca_allnum", - "als_d7_cell_nbank_cf_allnum", - "als_d7_cell_nbank_com_allnum", - "als_d7_cell_nbank_oth_allnum", - "als_d7_cell_nbank_nsloan_allnum", - "als_d7_cell_nbank_autofin_allnum", - "als_d7_cell_nbank_sloan_allnum", - "als_d7_cell_nbank_cons_allnum", - "als_d7_cell_nbank_finlea_allnum", - "als_d7_cell_nbank_else_allnum", - "als_d7_cell_nbank_orgnum", - "als_d7_cell_nbank_p2p_orgnum", - "als_d7_cell_nbank_mc_orgnum", - "als_d7_cell_nbank_ca_orgnum", - "als_d7_cell_nbank_cf_orgnum", - "als_d7_cell_nbank_com_orgnum", - "als_d7_cell_nbank_oth_orgnum", - "als_d7_cell_nbank_nsloan_orgnum", - "als_d7_cell_nbank_autofin_orgnum", - "als_d7_cell_nbank_sloan_orgnum", - "als_d7_cell_nbank_cons_orgnum", - "als_d7_cell_nbank_finlea_orgnum", - "als_d7_cell_nbank_else_orgnum", - "als_d7_cell_nbank_week_allnum", - "als_d7_cell_nbank_week_orgnum", - "als_d7_cell_nbank_night_allnum", - "als_d7_cell_nbank_night_orgnum", - "als_d15_id_pdl_allnum", - "als_d15_id_pdl_orgnum", - "als_d15_id_caon_allnum", - "als_d15_id_caon_orgnum", - "als_d15_id_rel_allnum", - "als_d15_id_rel_orgnum", - "als_d15_id_caoff_allnum", - "als_d15_id_caoff_orgnum", - "als_d15_id_cooff_allnum", - "als_d15_id_cooff_orgnum", - "als_d15_id_af_allnum", - "als_d15_id_af_orgnum", - "als_d15_id_coon_allnum", - "als_d15_id_coon_orgnum", - "als_d15_id_oth_allnum", - "als_d15_id_oth_orgnum", - "als_d15_id_bank_selfnum", - "als_d15_id_bank_allnum", - "als_d15_id_bank_tra_allnum", - "als_d15_id_bank_ret_allnum", - "als_d15_id_bank_orgnum", - "als_d15_id_bank_tra_orgnum", - "als_d15_id_bank_ret_orgnum", - "als_d15_id_bank_week_allnum", - "als_d15_id_bank_week_orgnum", - "als_d15_id_bank_night_allnum", - "als_d15_id_bank_night_orgnum", - "als_d15_id_nbank_selfnum", - "als_d15_id_nbank_allnum", - "als_d15_id_nbank_p2p_allnum", - "als_d15_id_nbank_mc_allnum", - "als_d15_id_nbank_ca_allnum", - "als_d15_id_nbank_cf_allnum", - "als_d15_id_nbank_com_allnum", - "als_d15_id_nbank_oth_allnum", - "als_d15_id_nbank_nsloan_allnum", - "als_d15_id_nbank_autofin_allnum", - "als_d15_id_nbank_sloan_allnum", - "als_d15_id_nbank_cons_allnum", - "als_d15_id_nbank_finlea_allnum", - "als_d15_id_nbank_else_allnum", - "als_d15_id_nbank_orgnum", - "als_d15_id_nbank_p2p_orgnum", - "als_d15_id_nbank_mc_orgnum", - "als_d15_id_nbank_ca_orgnum", - "als_d15_id_nbank_cf_orgnum", - "als_d15_id_nbank_com_orgnum", - "als_d15_id_nbank_oth_orgnum", - "als_d15_id_nbank_nsloan_orgnum", - "als_d15_id_nbank_autofin_orgnum", - "als_d15_id_nbank_sloan_orgnum", - "als_d15_id_nbank_cons_orgnum", - "als_d15_id_nbank_finlea_orgnum", - "als_d15_id_nbank_else_orgnum", - "als_d15_id_nbank_week_allnum", - "als_d15_id_nbank_week_orgnum", - "als_d15_id_nbank_night_allnum", - "als_d15_id_nbank_night_orgnum", - "als_d15_cell_pdl_allnum", - "als_d15_cell_pdl_orgnum", - "als_d15_cell_caon_allnum", - "als_d15_cell_caon_orgnum", - "als_d15_cell_rel_allnum", - "als_d15_cell_rel_orgnum", - "als_d15_cell_caoff_allnum", - "als_d15_cell_caoff_orgnum", - "als_d15_cell_cooff_allnum", - "als_d15_cell_cooff_orgnum", - "als_d15_cell_af_allnum", - "als_d15_cell_af_orgnum", - "als_d15_cell_coon_allnum", - "als_d15_cell_coon_orgnum", - "als_d15_cell_oth_allnum", - "als_d15_cell_oth_orgnum", - "als_d15_cell_bank_selfnum", - "als_d15_cell_bank_allnum", - "als_d15_cell_bank_tra_allnum", - "als_d15_cell_bank_ret_allnum", - "als_d15_cell_bank_orgnum", - "als_d15_cell_bank_tra_orgnum", - "als_d15_cell_bank_ret_orgnum", - "als_d15_cell_bank_week_allnum", - "als_d15_cell_bank_week_orgnum", - "als_d15_cell_bank_night_allnum", - "als_d15_cell_bank_night_orgnum", - "als_d15_cell_nbank_selfnum", - "als_d15_cell_nbank_allnum", - "als_d15_cell_nbank_p2p_allnum", - "als_d15_cell_nbank_mc_allnum", - "als_d15_cell_nbank_ca_allnum", - "als_d15_cell_nbank_cf_allnum", - "als_d15_cell_nbank_com_allnum", - "als_d15_cell_nbank_oth_allnum", - "als_d15_cell_nbank_nsloan_allnum", - "als_d15_cell_nbank_autofin_allnum", - "als_d15_cell_nbank_sloan_allnum", - "als_d15_cell_nbank_cons_allnum", - "als_d15_cell_nbank_finlea_allnum", - "als_d15_cell_nbank_else_allnum", - "als_d15_cell_nbank_orgnum", - "als_d15_cell_nbank_p2p_orgnum", - "als_d15_cell_nbank_mc_orgnum", - "als_d15_cell_nbank_ca_orgnum", - "als_d15_cell_nbank_cf_orgnum", - "als_d15_cell_nbank_com_orgnum", - "als_d15_cell_nbank_oth_orgnum", - "als_d15_cell_nbank_nsloan_orgnum", - "als_d15_cell_nbank_autofin_orgnum", - "als_d15_cell_nbank_sloan_orgnum", - "als_d15_cell_nbank_cons_orgnum", - "als_d15_cell_nbank_finlea_orgnum", - "als_d15_cell_nbank_else_orgnum", - "als_d15_cell_nbank_week_allnum", - "als_d15_cell_nbank_week_orgnum", - "als_d15_cell_nbank_night_allnum", - "als_d15_cell_nbank_night_orgnum", - "als_m1_id_pdl_allnum", - "als_m1_id_pdl_orgnum", - "als_m1_id_caon_allnum", - "als_m1_id_caon_orgnum", - "als_m1_id_rel_allnum", - "als_m1_id_rel_orgnum", - "als_m1_id_caoff_allnum", - "als_m1_id_caoff_orgnum", - "als_m1_id_cooff_allnum", - "als_m1_id_cooff_orgnum", - "als_m1_id_af_allnum", - "als_m1_id_af_orgnum", - "als_m1_id_coon_allnum", - "als_m1_id_coon_orgnum", - "als_m1_id_oth_allnum", - "als_m1_id_oth_orgnum", - "als_m1_id_bank_selfnum", - "als_m1_id_bank_allnum", - "als_m1_id_bank_tra_allnum", - "als_m1_id_bank_ret_allnum", - "als_m1_id_bank_orgnum", - "als_m1_id_bank_tra_orgnum", - "als_m1_id_bank_ret_orgnum", - "als_m1_id_bank_week_allnum", - "als_m1_id_bank_week_orgnum", - "als_m1_id_bank_night_allnum", - "als_m1_id_bank_night_orgnum", - "als_m1_id_nbank_selfnum", - "als_m1_id_nbank_allnum", - "als_m1_id_nbank_p2p_allnum", - "als_m1_id_nbank_mc_allnum", - "als_m1_id_nbank_ca_allnum", - "als_m1_id_nbank_cf_allnum", - "als_m1_id_nbank_com_allnum", - "als_m1_id_nbank_oth_allnum", - "als_m1_id_nbank_nsloan_allnum", - "als_m1_id_nbank_autofin_allnum", - "als_m1_id_nbank_sloan_allnum", - "als_m1_id_nbank_cons_allnum", - "als_m1_id_nbank_finlea_allnum", - "als_m1_id_nbank_else_allnum", - "als_m1_id_nbank_orgnum", - "als_m1_id_nbank_p2p_orgnum", - "als_m1_id_nbank_mc_orgnum", - "als_m1_id_nbank_ca_orgnum", - "als_m1_id_nbank_cf_orgnum", - "als_m1_id_nbank_com_orgnum", - "als_m1_id_nbank_oth_orgnum", - "als_m1_id_nbank_nsloan_orgnum", - "als_m1_id_nbank_autofin_orgnum", - "als_m1_id_nbank_sloan_orgnum", - "als_m1_id_nbank_cons_orgnum", - "als_m1_id_nbank_finlea_orgnum", - "als_m1_id_nbank_else_orgnum", - "als_m1_id_nbank_week_allnum", - "als_m1_id_nbank_week_orgnum", - "als_m1_id_nbank_night_allnum", - "als_m1_id_nbank_night_orgnum", - "als_m1_cell_pdl_allnum", - "als_m1_cell_pdl_orgnum", - "als_m1_cell_caon_allnum", - "als_m1_cell_caon_orgnum", - "als_m1_cell_rel_allnum", - "als_m1_cell_rel_orgnum", - "als_m1_cell_caoff_allnum", - "als_m1_cell_caoff_orgnum", - "als_m1_cell_cooff_allnum", - "als_m1_cell_cooff_orgnum", - "als_m1_cell_af_allnum", - "als_m1_cell_af_orgnum", - "als_m1_cell_coon_allnum", - "als_m1_cell_coon_orgnum", - "als_m1_cell_oth_allnum", - "als_m1_cell_oth_orgnum", - "als_m1_cell_bank_selfnum", - "als_m1_cell_bank_allnum", - "als_m1_cell_bank_tra_allnum", - "als_m1_cell_bank_ret_allnum", - "als_m1_cell_bank_orgnum", - "als_m1_cell_bank_tra_orgnum", - "als_m1_cell_bank_ret_orgnum", - "als_m1_cell_bank_week_allnum", - "als_m1_cell_bank_week_orgnum", - "als_m1_cell_bank_night_allnum", - "als_m1_cell_bank_night_orgnum", - "als_m1_cell_nbank_selfnum", - "als_m1_cell_nbank_allnum", - "als_m1_cell_nbank_p2p_allnum", - "als_m1_cell_nbank_mc_allnum", - "als_m1_cell_nbank_ca_allnum", - "als_m1_cell_nbank_cf_allnum", - "als_m1_cell_nbank_com_allnum", - "als_m1_cell_nbank_oth_allnum", - "als_m1_cell_nbank_nsloan_allnum", - "als_m1_cell_nbank_autofin_allnum", - "als_m1_cell_nbank_sloan_allnum", - "als_m1_cell_nbank_cons_allnum", - "als_m1_cell_nbank_finlea_allnum", - "als_m1_cell_nbank_else_allnum", - "als_m1_cell_nbank_orgnum", - "als_m1_cell_nbank_p2p_orgnum", - "als_m1_cell_nbank_mc_orgnum", - "als_m1_cell_nbank_ca_orgnum", - "als_m1_cell_nbank_cf_orgnum", - "als_m1_cell_nbank_com_orgnum", - "als_m1_cell_nbank_oth_orgnum", - "als_m1_cell_nbank_nsloan_orgnum", - "als_m1_cell_nbank_autofin_orgnum", - "als_m1_cell_nbank_sloan_orgnum", - "als_m1_cell_nbank_cons_orgnum", - "als_m1_cell_nbank_finlea_orgnum", - "als_m1_cell_nbank_else_orgnum", - "als_m1_cell_nbank_week_allnum", - "als_m1_cell_nbank_week_orgnum", - "als_m1_cell_nbank_night_allnum", - "als_m1_cell_nbank_night_orgnum", - "als_m3_id_max_inteday", - "als_m3_id_min_inteday", - "als_m3_id_tot_mons", - "als_m3_id_avg_monnum", - "als_m3_id_max_monnum", - "als_m3_id_min_monnum", - "als_m3_id_pdl_allnum", - "als_m3_id_pdl_orgnum", - "als_m3_id_caon_allnum", - "als_m3_id_caon_orgnum", - "als_m3_id_rel_allnum", - "als_m3_id_rel_orgnum", - "als_m3_id_caoff_allnum", - "als_m3_id_caoff_orgnum", - "als_m3_id_cooff_allnum", - "als_m3_id_cooff_orgnum", - "als_m3_id_af_allnum", - "als_m3_id_af_orgnum", - "als_m3_id_coon_allnum", - "als_m3_id_coon_orgnum", - "als_m3_id_oth_allnum", - "als_m3_id_oth_orgnum", - "als_m3_id_bank_selfnum", - "als_m3_id_bank_allnum", - "als_m3_id_bank_tra_allnum", - "als_m3_id_bank_ret_allnum", - "als_m3_id_bank_orgnum", - "als_m3_id_bank_tra_orgnum", - "als_m3_id_bank_ret_orgnum", - "als_m3_id_bank_tot_mons", - "als_m3_id_bank_avg_monnum", - "als_m3_id_bank_max_monnum", - "als_m3_id_bank_min_monnum", - "als_m3_id_bank_max_inteday", - "als_m3_id_bank_min_inteday", - "als_m3_id_bank_week_allnum", - "als_m3_id_bank_week_orgnum", - "als_m3_id_bank_night_allnum", - "als_m3_id_bank_night_orgnum", - "als_m3_id_nbank_selfnum", - "als_m3_id_nbank_allnum", - "als_m3_id_nbank_p2p_allnum", - "als_m3_id_nbank_mc_allnum", - "als_m3_id_nbank_ca_allnum", - "als_m3_id_nbank_cf_allnum", - "als_m3_id_nbank_com_allnum", - "als_m3_id_nbank_oth_allnum", - "als_m3_id_nbank_nsloan_allnum", - "als_m3_id_nbank_autofin_allnum", - "als_m3_id_nbank_sloan_allnum", - "als_m3_id_nbank_cons_allnum", - "als_m3_id_nbank_finlea_allnum", - "als_m3_id_nbank_else_allnum", - "als_m3_id_nbank_orgnum", - "als_m3_id_nbank_p2p_orgnum", - "als_m3_id_nbank_mc_orgnum", - "als_m3_id_nbank_ca_orgnum", - "als_m3_id_nbank_cf_orgnum", - "als_m3_id_nbank_com_orgnum", - "als_m3_id_nbank_oth_orgnum", - "als_m3_id_nbank_nsloan_orgnum", - "als_m3_id_nbank_autofin_orgnum", - "als_m3_id_nbank_sloan_orgnum", - "als_m3_id_nbank_cons_orgnum", - "als_m3_id_nbank_finlea_orgnum", - "als_m3_id_nbank_else_orgnum", - "als_m3_id_nbank_tot_mons", - "als_m3_id_nbank_avg_monnum", - "als_m3_id_nbank_max_monnum", - "als_m3_id_nbank_min_monnum", - "als_m3_id_nbank_max_inteday", - "als_m3_id_nbank_min_inteday", - "als_m3_id_nbank_week_allnum", - "als_m3_id_nbank_week_orgnum", - "als_m3_id_nbank_night_allnum", - "als_m3_id_nbank_night_orgnum", - "als_m3_cell_max_inteday", - "als_m3_cell_min_inteday", - "als_m3_cell_tot_mons", - "als_m3_cell_avg_monnum", - "als_m3_cell_max_monnum", - "als_m3_cell_min_monnum", - "als_m3_cell_pdl_allnum", - "als_m3_cell_pdl_orgnum", - "als_m3_cell_caon_allnum", - "als_m3_cell_caon_orgnum", - "als_m3_cell_rel_allnum", - "als_m3_cell_rel_orgnum", - "als_m3_cell_caoff_allnum", - "als_m3_cell_caoff_orgnum", - "als_m3_cell_cooff_allnum", - "als_m3_cell_cooff_orgnum", - "als_m3_cell_af_allnum", - "als_m3_cell_af_orgnum", - "als_m3_cell_coon_allnum", - "als_m3_cell_coon_orgnum", - "als_m3_cell_oth_allnum", - "als_m3_cell_oth_orgnum", - "als_m3_cell_bank_selfnum", - "als_m3_cell_bank_allnum", - "als_m3_cell_bank_tra_allnum", - "als_m3_cell_bank_ret_allnum", - "als_m3_cell_bank_orgnum", - "als_m3_cell_bank_tra_orgnum", - "als_m3_cell_bank_ret_orgnum", - "als_m3_cell_bank_tot_mons", - "als_m3_cell_bank_avg_monnum", - "als_m3_cell_bank_max_monnum", - "als_m3_cell_bank_min_monnum", - "als_m3_cell_bank_max_inteday", - "als_m3_cell_bank_min_inteday", - "als_m3_cell_bank_week_allnum", - "als_m3_cell_bank_week_orgnum", - "als_m3_cell_bank_night_allnum", - "als_m3_cell_bank_night_orgnum", - "als_m3_cell_nbank_selfnum", - "als_m3_cell_nbank_allnum", - "als_m3_cell_nbank_p2p_allnum", - "als_m3_cell_nbank_mc_allnum", - "als_m3_cell_nbank_ca_allnum", - "als_m3_cell_nbank_cf_allnum", - "als_m3_cell_nbank_com_allnum", - "als_m3_cell_nbank_oth_allnum", - "als_m3_cell_nbank_nsloan_allnum", - "als_m3_cell_nbank_autofin_allnum", - "als_m3_cell_nbank_sloan_allnum", - "als_m3_cell_nbank_cons_allnum", - "als_m3_cell_nbank_finlea_allnum", - "als_m3_cell_nbank_else_allnum", - "als_m3_cell_nbank_orgnum", - "als_m3_cell_nbank_p2p_orgnum", - "als_m3_cell_nbank_mc_orgnum", - "als_m3_cell_nbank_ca_orgnum", - "als_m3_cell_nbank_cf_orgnum", - "als_m3_cell_nbank_com_orgnum", - "als_m3_cell_nbank_oth_orgnum", - "als_m3_cell_nbank_nsloan_orgnum", - "als_m3_cell_nbank_autofin_orgnum", - "als_m3_cell_nbank_sloan_orgnum", - "als_m3_cell_nbank_cons_orgnum", - "als_m3_cell_nbank_finlea_orgnum", - "als_m3_cell_nbank_else_orgnum", - "als_m3_cell_nbank_tot_mons", - "als_m3_cell_nbank_avg_monnum", - "als_m3_cell_nbank_max_monnum", - "als_m3_cell_nbank_min_monnum", - "als_m3_cell_nbank_max_inteday", - "als_m3_cell_nbank_min_inteday", - "als_m3_cell_nbank_week_allnum", - "als_m3_cell_nbank_week_orgnum", - "als_m3_cell_nbank_night_allnum", - "als_m3_cell_nbank_night_orgnum", - "als_m6_id_max_inteday", - "als_m6_id_min_inteday", - "als_m6_id_tot_mons", - "als_m6_id_avg_monnum", - "als_m6_id_max_monnum", - "als_m6_id_min_monnum", - "als_m6_id_pdl_allnum", - "als_m6_id_pdl_orgnum", - "als_m6_id_caon_allnum", - "als_m6_id_caon_orgnum", - "als_m6_id_rel_allnum", - "als_m6_id_rel_orgnum", - "als_m6_id_caoff_allnum", - "als_m6_id_caoff_orgnum", - "als_m6_id_cooff_allnum", - "als_m6_id_cooff_orgnum", - "als_m6_id_af_allnum", - "als_m6_id_af_orgnum", - "als_m6_id_coon_allnum", - "als_m6_id_coon_orgnum", - "als_m6_id_oth_allnum", - "als_m6_id_oth_orgnum", - "als_m6_id_bank_selfnum", - "als_m6_id_bank_allnum", - "als_m6_id_bank_tra_allnum", - "als_m6_id_bank_ret_allnum", - "als_m6_id_bank_orgnum", - "als_m6_id_bank_tra_orgnum", - "als_m6_id_bank_ret_orgnum", - "als_m6_id_bank_tot_mons", - "als_m6_id_bank_avg_monnum", - "als_m6_id_bank_max_monnum", - "als_m6_id_bank_min_monnum", - "als_m6_id_bank_max_inteday", - "als_m6_id_bank_min_inteday", - "als_m6_id_bank_week_allnum", - "als_m6_id_bank_week_orgnum", - "als_m6_id_bank_night_allnum", - "als_m6_id_bank_night_orgnum", - "als_m6_id_nbank_selfnum", - "als_m6_id_nbank_allnum", - "als_m6_id_nbank_p2p_allnum", - "als_m6_id_nbank_mc_allnum", - "als_m6_id_nbank_ca_allnum", - "als_m6_id_nbank_cf_allnum", - "als_m6_id_nbank_com_allnum", - "als_m6_id_nbank_oth_allnum", - "als_m6_id_nbank_nsloan_allnum", - "als_m6_id_nbank_autofin_allnum", - "als_m6_id_nbank_sloan_allnum", - "als_m6_id_nbank_cons_allnum", - "als_m6_id_nbank_finlea_allnum", - "als_m6_id_nbank_else_allnum", - "als_m6_id_nbank_orgnum", - "als_m6_id_nbank_p2p_orgnum", - "als_m6_id_nbank_mc_orgnum", - "als_m6_id_nbank_ca_orgnum", - "als_m6_id_nbank_cf_orgnum", - "als_m6_id_nbank_com_orgnum", - "als_m6_id_nbank_oth_orgnum", - "als_m6_id_nbank_nsloan_orgnum", - "als_m6_id_nbank_autofin_orgnum", - "als_m6_id_nbank_sloan_orgnum", - "als_m6_id_nbank_cons_orgnum", - "als_m6_id_nbank_finlea_orgnum", - "als_m6_id_nbank_else_orgnum", - "als_m6_id_nbank_tot_mons", - "als_m6_id_nbank_avg_monnum", - "als_m6_id_nbank_max_monnum", - "als_m6_id_nbank_min_monnum", - "als_m6_id_nbank_max_inteday", - "als_m6_id_nbank_min_inteday", - "als_m6_id_nbank_week_allnum", - "als_m6_id_nbank_week_orgnum", - "als_m6_id_nbank_night_allnum", - "als_m6_id_nbank_night_orgnum", - "als_m6_cell_max_inteday", - "als_m6_cell_min_inteday", - "als_m6_cell_tot_mons", - "als_m6_cell_avg_monnum", - "als_m6_cell_max_monnum", - "als_m6_cell_min_monnum", - "als_m6_cell_pdl_allnum", - "als_m6_cell_pdl_orgnum", - "als_m6_cell_caon_allnum", - "als_m6_cell_caon_orgnum", - "als_m6_cell_rel_allnum", - "als_m6_cell_rel_orgnum", - "als_m6_cell_caoff_allnum", - "als_m6_cell_caoff_orgnum", - "als_m6_cell_cooff_allnum", - "als_m6_cell_cooff_orgnum", - "als_m6_cell_af_allnum", - "als_m6_cell_af_orgnum", - "als_m6_cell_coon_allnum", - "als_m6_cell_coon_orgnum", - "als_m6_cell_oth_allnum", - "als_m6_cell_oth_orgnum", - "als_m6_cell_bank_selfnum", - "als_m6_cell_bank_allnum", - "als_m6_cell_bank_tra_allnum", - "als_m6_cell_bank_ret_allnum", - "als_m6_cell_bank_orgnum", - "als_m6_cell_bank_tra_orgnum", - "als_m6_cell_bank_ret_orgnum", - "als_m6_cell_bank_tot_mons", - "als_m6_cell_bank_avg_monnum", - "als_m6_cell_bank_max_monnum", - "als_m6_cell_bank_min_monnum", - "als_m6_cell_bank_max_inteday", - "als_m6_cell_bank_min_inteday", - "als_m6_cell_bank_week_allnum", - "als_m6_cell_bank_week_orgnum", - "als_m6_cell_bank_night_allnum", - "als_m6_cell_bank_night_orgnum", - "als_m6_cell_nbank_selfnum", - "als_m6_cell_nbank_allnum", - "als_m6_cell_nbank_p2p_allnum", - "als_m6_cell_nbank_mc_allnum", - "als_m6_cell_nbank_ca_allnum", - "als_m6_cell_nbank_cf_allnum", - "als_m6_cell_nbank_com_allnum", - "als_m6_cell_nbank_oth_allnum", - "als_m6_cell_nbank_nsloan_allnum", - "als_m6_cell_nbank_autofin_allnum", - "als_m6_cell_nbank_sloan_allnum", - "als_m6_cell_nbank_cons_allnum", - "als_m6_cell_nbank_finlea_allnum", - "als_m6_cell_nbank_else_allnum", - "als_m6_cell_nbank_orgnum", - "als_m6_cell_nbank_p2p_orgnum", - "als_m6_cell_nbank_mc_orgnum", - "als_m6_cell_nbank_ca_orgnum", - "als_m6_cell_nbank_cf_orgnum", - "als_m6_cell_nbank_com_orgnum", - "als_m6_cell_nbank_oth_orgnum", - "als_m6_cell_nbank_nsloan_orgnum", - "als_m6_cell_nbank_autofin_orgnum", - "als_m6_cell_nbank_sloan_orgnum", - "als_m6_cell_nbank_cons_orgnum", - "als_m6_cell_nbank_finlea_orgnum", - "als_m6_cell_nbank_else_orgnum", - "als_m6_cell_nbank_tot_mons", - "als_m6_cell_nbank_avg_monnum", - "als_m6_cell_nbank_max_monnum", - "als_m6_cell_nbank_min_monnum", - "als_m6_cell_nbank_max_inteday", - "als_m6_cell_nbank_min_inteday", - "als_m6_cell_nbank_week_allnum", - "als_m6_cell_nbank_week_orgnum", - "als_m6_cell_nbank_night_allnum", - "als_m6_cell_nbank_night_orgnum", - "als_m12_id_max_inteday", - "als_m12_id_min_inteday", - "als_m12_id_tot_mons", - "als_m12_id_avg_monnum", - "als_m12_id_max_monnum", - "als_m12_id_min_monnum", - "als_m12_id_pdl_allnum", - "als_m12_id_pdl_orgnum", - "als_m12_id_caon_allnum", - "als_m12_id_caon_orgnum", - "als_m12_id_rel_allnum", - "als_m12_id_rel_orgnum", - "als_m12_id_caoff_allnum", - "als_m12_id_caoff_orgnum", - "als_m12_id_cooff_allnum", - "als_m12_id_cooff_orgnum", - "als_m12_id_af_allnum", - "als_m12_id_af_orgnum", - "als_m12_id_coon_allnum", - "als_m12_id_coon_orgnum", - "als_m12_id_oth_allnum", - "als_m12_id_oth_orgnum", - "als_m12_id_bank_selfnum", - "als_m12_id_bank_allnum", - "als_m12_id_bank_tra_allnum", - "als_m12_id_bank_ret_allnum", - "als_m12_id_bank_orgnum", - "als_m12_id_bank_tra_orgnum", - "als_m12_id_bank_ret_orgnum", - "als_m12_id_bank_tot_mons", - "als_m12_id_bank_avg_monnum", - "als_m12_id_bank_max_monnum", - "als_m12_id_bank_min_monnum", - "als_m12_id_bank_max_inteday", - "als_m12_id_bank_min_inteday", - "als_m12_id_bank_week_allnum", - "als_m12_id_bank_week_orgnum", - "als_m12_id_bank_night_allnum", - "als_m12_id_bank_night_orgnum", - "als_m12_id_nbank_selfnum", - "als_m12_id_nbank_allnum", - "als_m12_id_nbank_p2p_allnum", - "als_m12_id_nbank_mc_allnum", - "als_m12_id_nbank_ca_allnum", - "als_m12_id_nbank_cf_allnum", - "als_m12_id_nbank_com_allnum", - "als_m12_id_nbank_oth_allnum", - "als_m12_id_nbank_nsloan_allnum", - "als_m12_id_nbank_autofin_allnum", - "als_m12_id_nbank_sloan_allnum", - "als_m12_id_nbank_cons_allnum", - "als_m12_id_nbank_finlea_allnum", - "als_m12_id_nbank_else_allnum", - "als_m12_id_nbank_orgnum", - "als_m12_id_nbank_p2p_orgnum", - "als_m12_id_nbank_mc_orgnum", - "als_m12_id_nbank_ca_orgnum", - "als_m12_id_nbank_cf_orgnum", - "als_m12_id_nbank_com_orgnum", - "als_m12_id_nbank_oth_orgnum", - "als_m12_id_nbank_nsloan_orgnum", - "als_m12_id_nbank_autofin_orgnum", - "als_m12_id_nbank_sloan_orgnum", - "als_m12_id_nbank_cons_orgnum", - "als_m12_id_nbank_finlea_orgnum", - "als_m12_id_nbank_else_orgnum", - "als_m12_id_nbank_tot_mons", - "als_m12_id_nbank_avg_monnum", - "als_m12_id_nbank_max_monnum", - "als_m12_id_nbank_min_monnum", - "als_m12_id_nbank_max_inteday", - "als_m12_id_nbank_min_inteday", - "als_m12_id_nbank_week_allnum", - "als_m12_id_nbank_week_orgnum", - "als_m12_id_nbank_night_allnum", - "als_m12_id_nbank_night_orgnum", - "als_m12_cell_max_inteday", - "als_m12_cell_min_inteday", - "als_m12_cell_tot_mons", - "als_m12_cell_avg_monnum", - "als_m12_cell_max_monnum", - "als_m12_cell_min_monnum", - "als_m12_cell_pdl_allnum", - "als_m12_cell_pdl_orgnum", - "als_m12_cell_caon_allnum", - "als_m12_cell_caon_orgnum", - "als_m12_cell_rel_allnum", - "als_m12_cell_rel_orgnum", - "als_m12_cell_caoff_allnum", - "als_m12_cell_caoff_orgnum", - "als_m12_cell_cooff_allnum", - "als_m12_cell_cooff_orgnum", - "als_m12_cell_af_allnum", - "als_m12_cell_af_orgnum", - "als_m12_cell_coon_allnum", - "als_m12_cell_coon_orgnum", - "als_m12_cell_oth_allnum", - "als_m12_cell_oth_orgnum", - "als_m12_cell_bank_selfnum", - "als_m12_cell_bank_allnum", - "als_m12_cell_bank_tra_allnum", - "als_m12_cell_bank_ret_allnum", - "als_m12_cell_bank_orgnum", - "als_m12_cell_bank_tra_orgnum", - "als_m12_cell_bank_ret_orgnum", - "als_m12_cell_bank_tot_mons", - "als_m12_cell_bank_avg_monnum", - "als_m12_cell_bank_max_monnum", - "als_m12_cell_bank_min_monnum", - "als_m12_cell_bank_max_inteday", - "als_m12_cell_bank_min_inteday", - "als_m12_cell_bank_week_allnum", - "als_m12_cell_bank_week_orgnum", - "als_m12_cell_bank_night_allnum", - "als_m12_cell_bank_night_orgnum", - "als_m12_cell_nbank_selfnum", - "als_m12_cell_nbank_allnum", - "als_m12_cell_nbank_p2p_allnum", - "als_m12_cell_nbank_mc_allnum", - "als_m12_cell_nbank_ca_allnum", - "als_m12_cell_nbank_cf_allnum", - "als_m12_cell_nbank_com_allnum", - "als_m12_cell_nbank_oth_allnum", - "als_m12_cell_nbank_nsloan_allnum", - "als_m12_cell_nbank_autofin_allnum", - "als_m12_cell_nbank_sloan_allnum", - "als_m12_cell_nbank_cons_allnum", - "als_m12_cell_nbank_finlea_allnum", - "als_m12_cell_nbank_else_allnum", - "als_m12_cell_nbank_orgnum", - "als_m12_cell_nbank_p2p_orgnum", - "als_m12_cell_nbank_mc_orgnum", - "als_m12_cell_nbank_ca_orgnum", - "als_m12_cell_nbank_cf_orgnum", - "als_m12_cell_nbank_com_orgnum", - "als_m12_cell_nbank_oth_orgnum", - "als_m12_cell_nbank_nsloan_orgnum", - "als_m12_cell_nbank_autofin_orgnum", - "als_m12_cell_nbank_sloan_orgnum", - "als_m12_cell_nbank_cons_orgnum", - "als_m12_cell_nbank_finlea_orgnum", - "als_m12_cell_nbank_else_orgnum", - "als_m12_cell_nbank_tot_mons", - "als_m12_cell_nbank_avg_monnum", - "als_m12_cell_nbank_max_monnum", - "als_m12_cell_nbank_min_monnum", - "als_m12_cell_nbank_max_inteday", - "als_m12_cell_nbank_min_inteday", - "als_m12_cell_nbank_week_allnum", - "als_m12_cell_nbank_week_orgnum", - "als_m12_cell_nbank_night_allnum", - "als_m12_cell_nbank_night_orgnum", - "als_fst_id_bank_inteday", - "als_fst_id_nbank_inteday", - "als_fst_cell_bank_inteday", - "als_fst_cell_nbank_inteday", - "als_lst_id_bank_inteday", - "als_lst_id_bank_consnum", - "als_lst_id_bank_csinteday", - "als_lst_id_nbank_inteday", - "als_lst_id_nbank_consnum", - "als_lst_id_nbank_csinteday", - "als_lst_cell_bank_inteday", - "als_lst_cell_bank_consnum", - "als_lst_cell_bank_csinteday", - "als_lst_cell_nbank_inteday", - "als_lst_cell_nbank_consnum", - "als_lst_cell_nbank_csinteday" -] \ No newline at end of file diff --git a/dataRender/word2.js b/dataRender/word2.js deleted file mode 100644 index e69de29..0000000 diff --git a/dataRender/word_list.js b/dataRender/word_list.js deleted file mode 100644 index 45f9e71..0000000 --- a/dataRender/word_list.js +++ /dev/null @@ -1,51 +0,0 @@ -const keyword = [ - 'als', - 'd7', // 近7日 - 'id', // 身份证号 - 'pdl', // 线上小额现金贷 - 'allnum', // 次数 - 'orgnum', // 机构数、 - 'week', // 周末 - 'night', // 夜间申请 - 'caon', // 线上现金分期 - 'rel', // 信用卡(类信用卡) - 'caoff', // 线下现金分期 - 'cooff', // 线下消费分期 - 'af', // 汽车金融 - 'coon', // 线上消费分期 - 'oth', // 申请其他 - 'bank', // 银行机构 - 'selfnum', // 本银行机构 - 'tra', // 传统银行 - 'ret', // 网络银行 - 'nbank', // 非银行机构 - 'p2p', // 改制机构 - 'mc', // 小贷机构 - 'ca', // 现金类分期机构 - 'cf', // 消费类分期机构 - 'com', // 代偿类分期机构 - 'nsloan', // 持牌网络小贷 - 'autofin', // 持牌汽车金融机构 - 'sloan', // 持牌小贷机构 - 'cons', // 持牌消费金融机构 - 'finlea', // 持牌融资租赁机构 - 'else', // 其他申请 - 'cell', // 10 按手机号查询, - 'd15', // 近 15 天申 - 'm1', // 近 1 个月 - 'm3', // 3 个月 - 'max', // 最大 - 'inteday', // 间隔天数 - 'min', // 最小 - 'tot', // 申请记录 - 'mons', // 月份数 - 'avg', // 平均 - 'monnum', // 最大月 - 'm6', // 6 个月 - 'm12', // 12个月 - 'fst', // 最早 - 'lst', // 最近 - 'consnum', // 连续申请 - 'csinteday', // 连续申请持续天数 -] -console.log(keyword) diff --git a/dataRender/人企关系.json b/dataRender/人企关系.json deleted file mode 100644 index d149fdc..0000000 --- a/dataRender/人企关系.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "msg": "查询成功", - "code": "0000", - "orderNo": "20241028112921367340619", - "data": { - "total": 1, - "datalist": [ - { - "orgName": "海南省学宇思网络科技有限公司", - "pName": "刘福思", - "stockHolderItem": { - "orgHolderType": "自然人", - "investDate": "", - "investRate": "40%", - "subscriptAmt": "40.000000", - "orgHolderName": "刘福思" - }, - "relationship": [ - "lp", - "sh", - "tm" - ], - "fsource": "", - "basicInfo": { - "regStatus": "存续", - "regCapital": "100.0000万人民币", - "reccap": 0, - "city": "海口市", - "industry_code": "I", - "industry": "互联网和相关服务", - "type": "1", - "staffList": { - "result": [ - { - "name": "刘福思", - "type": "2", - "typeJoin": [ - "执行董事兼总经理" - ] - } - ] - }, - "nic_code": "I64", - "legalPersonName": "刘福思", - "regNumber": "460108011261916", - "creditCode": "91460108MADNY3F43W", - "province": "海南省", - "regorg": "海南省市场监督管理局", - "companyOrgType": "有限责任公司(自然人投资或控股)", - "revdate": "", - "estiblishTime": "2024-06-20", - "opscope": "一般经营项目:品牌管理;5G通信技术服务;人工智能应用软件开发;互联网安全服务;量子计算技术服务;技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;网络技术服务;专业设计服务;互联网数据服务;互联网销售(除销售需要许可的商品);食品互联网销售(仅销售预包装食品);软件开发;动漫游戏开发;计算机软硬件及辅助设备零售;计算机软硬件及辅助设备批发;计算器设备销售;机械设备销售;五金产品零售;五金产品批发;电子产品销售;人工智能硬件销售;通信设备销售;光通信设备销售;通信设备制造;信息系统集成服务;图文设计制作;广告设计、代理;广告发布;数字内容制作服务(不含出版发行);数字文化创意软件开发;软件销售;市场营销策划;企业管理咨询;信息咨询服务(不含许可类信息咨询服务);市场调查(不含涉外调查);工业设计服务;玩具销售;化妆品零售;化妆品批发;摄像及视频制作服务;平面设计;法律咨询(不含依法须律师事务所执业许可的业务);旅游开发项目策划咨询;体育用品及器材批发;体育用品及器材零售;户外用品销售;体育赛事策划;体育健康服务;组织体育表演活动;体育中介代理服务;信息技术咨询服务;数据处理服务;数据处理和存储支持服务;大数据服务;云计算装备技术服务;电子、机械设备维护(不含特种设备);智能机器人的研发(经营范围中的一般经营项目依法自主开展经营活动,通过国家企业信用信息公示系统(海南)向社会公示)许可经营项目:食品进出口;货物进出口;技术进出口;在线数据处理与交易处理业务(经营类电子商务);互联网游戏服务;第二类增值电信业务;互联网信息服务(许可经营项目凭许可证件经营)", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "信息传输、软件和信息技术服务业-互联网和相关服务", - "candate": "", - "district": "秀英区", - "name": "海南省学宇思网络科技有限公司", - "base": "han", - "apprdate": "2024-09-14" - } - } - ] - } -} diff --git a/dataRender/人企关系2.json b/dataRender/人企关系2.json deleted file mode 100644 index d1e2084..0000000 --- a/dataRender/人企关系2.json +++ /dev/null @@ -1,646 +0,0 @@ -{ - "msg": "查询成功", - "code": "0000", - "orderNo": "20241113191941335900073", - "data": { - "total": 8, - "datalist": [ - { - "executedPerson": [ - { - "caseCode": "(2014)城中执字第00062号", - "partyCardNum": "45252819740****3016", - "pname": "李强", - "caseCreateTime": "2014-02-11", - "execCourtName": "", - "execMoney": 220605 - } - ], - "dishonestExecutedPerson": [ - { - "businessentity": "", - "areaname": "广西", - "courtname": "柳州市城中区人民法院", - "unperformPart": "", - "type": "0", - "performedPart": "", - "iname": "李强", - "disrupttypename": "其他有履行能力而拒不履行生效法律文书确定义务", - "casecode": "(2014)城中执字第00062号", - "cardnum": "4525281974****3016", - "performance": "全部未履行", - "regdate": "2014-02-11", - "duty": "中国农业银行股份有限公司柳州城中支行申请执行李强220604.73元", - "gistunit": "柳州市城中区人民法院", - "publishdate": "2014-06-19", - "gistid": "(2010)城中民二初字第480号民事判决书" - } - ], - "orgName": "广西鼎铭房地产开发有限公司", - "pName": "李强", - "stockHolderItem": { - "orgHolderType": "自然人", - "investDate": "", - "investRate": "10.0%", - "subscriptAmt": 100, - "orgHolderName": "李强" - }, - "relationship": [ - "sh", - "lp", - "tm" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "1000.000000万人民币", - "reccap": 0, - "city": "", - "industry_code": "K", - "industry": "房地产业", - "type": "1", - "nic_code": "K7010", - "staffList": { - "result": [ - { - "name": "李强", - "type": "2", - "typeJoin": [ - "监事" - ] - } - ] - }, - "legalPersonName": "李强", - "regNumber": "450000200012318", - "creditCode": "91450100742080353R", - "province": "广西壮族自治区", - "regorg": "南宁市市场监督管理局高新技术产业开发区分局", - "companyOrgType": "有限责任公司(自然人投资或控股)", - "revdate": "2016-03-19", - "estiblishTime": "2002-10-16", - "opscope": "房地产开发经营(取得相应资质后方可在其资质等级核定范围内从事房地产开发经营活动);建筑材料、装饰材料、农副土特产品、日用百货、五金交电、汽车零配件的购销;计算机销售及维修。", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "房地产业-房地产业-房地产开发经营-房地产开发经营", - "candate": "", - "district": "", - "name": "广西鼎铭房地产开发有限公司", - "base": "gx", - "apprdate": "2016-03-19" - }, - "adminPenalty": [ - { - "departmentName": "南宁市工商行政管理局高新技术产业开发区分局", - "reason": "公司成立后无正当理由超过6个月未开业的,或者开业后自行停业连续6个月以上", - "punishNumber": "南工商高新处字(2016)500010024号", - "type": "", - "content": "", - "decisionDate": "2016-03-19", - "legalPersonName": "李强" - }, - { - "departmentName": "45011101", - "reason": "南宁恒发网络科技有限公司等3177户企业,未依法进行企业信息网上年报公示。经我分局执法人员在以上企业的执照注册住所检查,发现上述企业已不在其注册住所经营或办公,根据企业注册登记时所留电话也联系不上上述企业。", - "punishNumber": "南工商高新处字(2016)500010024号", - "type": "吊销执照(登记证)", - "content": "-", - "decisionDate": "2016-03-19", - "legalPersonName": "李强" - } - ] - }, - { - "executedPerson": [ - { - "caseCode": "(2010)青执字第01000号", - "partyCardNum": "452528********3012", - "pname": "李健", - "caseCreateTime": "2010-09-06", - "execCourtName": "", - "execMoney": 283845 - }, - { - "caseCode": "(2010)青执字第00188号", - "partyCardNum": "45252819691****3012", - "pname": "李健", - "caseCreateTime": "2010-02-08", - "execCourtName": "", - "execMoney": 308464 - } - ], - "orgName": "南宁市铭鼎商贸有限公司", - "pName": "李强", - "stockHolderItem": { - "orgHolderType": "自然人", - "investDate": "", - "investRate": "20.0%", - "subscriptAmt": 20, - "orgHolderName": "李强" - }, - "relationship": [ - "sh" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "100.000000万人民币", - "reccap": 0, - "city": "南宁市", - "industry_code": "F", - "industry": "零售业", - "type": "1", - "nic_code": "F5211", - "legalPersonName": "李健", - "regNumber": "4501002508737", - "creditCode": "91450107MA5KK3PU6A", - "province": "广西壮族自治区", - "regorg": "南宁市西乡塘区市场监督管理局", - "companyOrgType": "有限责任公司(自然人投资或控股)", - "revdate": "2016-05-28", - "estiblishTime": "2004-07-02", - "opscope": "窗帘布艺,家居用品,装饰材料(危险化学品除外),日用百货,服装,纺织品。", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "批发和零售业-零售业-综合零售-百货零售", - "candate": "", - "district": "", - "name": "南宁市铭鼎商贸有限公司", - "base": "gx", - "apprdate": "2016-05-28" - } - }, - { - "executedPerson": [ - { - "caseCode": "(2014)城中执字第00062号", - "partyCardNum": "45252819740****3016", - "pname": "李强", - "caseCreateTime": "2014-02-11", - "execCourtName": "", - "execMoney": 220605 - } - ], - "dishonestExecutedPerson": [ - { - "businessentity": "", - "areaname": "广西", - "courtname": "柳州市城中区人民法院", - "unperformPart": "", - "type": "0", - "performedPart": "", - "iname": "李强", - "disrupttypename": "其他有履行能力而拒不履行生效法律文书确定义务", - "casecode": "(2014)城中执字第00062号", - "cardnum": "4525281974****3016", - "performance": "全部未履行", - "regdate": "2014-02-11", - "duty": "中国农业银行股份有限公司柳州城中支行申请执行李强220604.73元", - "gistunit": "柳州市城中区人民法院", - "publishdate": "2014-06-19", - "gistid": "(2010)城中民二初字第480号民事判决书" - } - ], - "orgName": "广西鼎铭房地产置换服务有限公司南宁分公司", - "pName": "李强", - "relationship": [ - "lp", - "tm", - "his_tm" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "5.0万人民币", - "reccap": 0, - "city": "南宁市", - "industry_code": "K", - "industry": "房地产业", - "type": "1", - "nic_code": "K7030", - "staffList": { - "result": [ - { - "name": "李强", - "type": "2", - "typeJoin": [ - "" - ] - } - ] - }, - "legalPersonName": "李强", - "regNumber": "4501001005198", - "creditCode": "", - "province": "广西壮族自治区", - "his_staffList": { - "result": [ - { - "name": "李强", - "type": "2", - "typeJoin": [ - "" - ] - } - ] - }, - "regorg": "南宁市青秀区市场监督管理局", - "companyOrgType": "有限责任公司分公司(自然人投资或控股)", - "revdate": "2018-06-25", - "estiblishTime": "2002-01-28", - "opscope": "房地产信息咨询服务,房地产交易居间、代理、行纪;商品信息咨询(不含期货、金融、保险、证券等国家专项规定),商品交易居间、代理、行纪。", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "房地产业-房地产业-房地产中介服务-房地产中介服务", - "candate": "", - "district": "青秀区", - "name": "广西鼎铭房地产置换服务有限公司南宁分公司", - "base": "gx", - "apprdate": "2018-06-25" - } - }, - { - "executedPerson": [ - { - "caseCode": "(2014)城中执字第00062号", - "partyCardNum": "45252819740****3016", - "pname": "李强", - "caseCreateTime": "2014-02-11", - "execCourtName": "", - "execMoney": 220605 - } - ], - "dishonestExecutedPerson": [ - { - "businessentity": "", - "areaname": "广西", - "courtname": "柳州市城中区人民法院", - "unperformPart": "", - "type": "0", - "performedPart": "", - "iname": "李强", - "disrupttypename": "其他有履行能力而拒不履行生效法律文书确定义务", - "casecode": "(2014)城中执字第00062号", - "cardnum": "4525281974****3016", - "performance": "全部未履行", - "regdate": "2014-02-11", - "duty": "中国农业银行股份有限公司柳州城中支行申请执行李强220604.73元", - "gistunit": "柳州市城中区人民法院", - "publishdate": "2014-06-19", - "gistid": "(2010)城中民二初字第480号民事判决书" - } - ], - "orgName": "深圳市亿讯时空信息技术有限公司北京分公司", - "pName": "李强", - "relationship": [ - "lp", - "tm" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销", - "regCapital": "", - "reccap": 0, - "city": "北京市", - "industry_code": "I", - "industry": "软件和信息技术服务业", - "type": "1", - "nic_code": "I659", - "staffList": { - "result": [ - { - "name": "李强", - "type": "2", - "typeJoin": [ - "负责人" - ] - } - ] - }, - "legalPersonName": "李强", - "regNumber": "1101081949120", - "creditCode": "91110108MA0464P97H", - "province": "北京市", - "regorg": "北京市工商行政管理局海淀分局", - "companyOrgType": "其他有限责任公司分公司", - "revdate": "2010-11-25", - "estiblishTime": "2006-04-13", - "opscope": "计算机软件和系统集成及辅助设备;网络工程;通讯设备的技术开发、咨询;广告设计。", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "信息传输、软件和信息技术服务业-软件和信息技术服务业-其他信息技术服务业", - "candate": "", - "district": "海淀区", - "name": "深圳市亿讯时空信息技术有限公司北京分公司", - "base": "bj", - "apprdate": "2006-04-13" - }, - "adminPenalty": [ - { - "departmentName": "海淀分局", - "reason": "", - "punishNumber": "京工商海处字(2010)第D2389号", - "type": "逾期年检", - "content": "", - "decisionDate": "2010-08-23", - "legalPersonName": "李强" - } - ] - }, - { - "executedPerson": [ - { - "caseCode": "(2014)城中执字第00062号", - "partyCardNum": "45252819740****3016", - "pname": "李强", - "caseCreateTime": "2014-02-11", - "execCourtName": "", - "execMoney": 220605 - }, - { - "caseCode": "(2010)青执字第00198号", - "partyCardNum": "36042819721****0037", - "pname": "秦学文", - "caseCreateTime": "2010-02-08", - "execCourtName": "", - "execMoney": 444028 - } - ], - "dishonestExecutedPerson": [ - { - "businessentity": "", - "areaname": "广西", - "courtname": "柳州市城中区人民法院", - "unperformPart": "", - "type": "0", - "performedPart": "", - "iname": "李强", - "disrupttypename": "其他有履行能力而拒不履行生效法律文书确定义务", - "casecode": "(2014)城中执字第00062号", - "cardnum": "4525281974****3016", - "performance": "全部未履行", - "regdate": "2014-02-11", - "duty": "中国农业银行股份有限公司柳州城中支行申请执行李强220604.73元", - "gistunit": "柳州市城中区人民法院", - "publishdate": "2014-06-19", - "gistid": "(2010)城中民二初字第480号民事判决书" - } - ], - "orgName": "深圳市亿讯时空信息技术有限公司", - "pName": "李强", - "stockHolderItem": { - "orgHolderType": "自然人", - "investDate": "", - "investRate": "17.0%", - "subscriptAmt": 170, - "orgHolderName": "李强" - }, - "relationship": [ - "sh", - "tm" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "1000.000000万人民币", - "reccap": 0, - "city": "深圳市", - "industry_code": "M", - "industry": "科技推广和应用服务业", - "type": "1", - "nic_code": "M7590", - "staffList": { - "result": [ - { - "name": "李强", - "type": "2", - "typeJoin": [ - "董事,总经理" - ] - } - ] - }, - "legalPersonName": "李铭", - "regNumber": "440301103603769", - "creditCode": "91440300786556245H", - "province": "广东省", - "regorg": "福田局", - "companyOrgType": "有限责任公司", - "revdate": "2020-04-07", - "estiblishTime": "2006-03-23", - "opscope": "一般经营项目是:计算机软件和系统集成及辅助设备、网络工程、通讯设备的技术开发、咨询、销售,国内贸易(不含专营、专控、专卖商品),从事货物、技术进出口业务(不含分销、国家专营专控商品);广告业务。,许可经营项目是:", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "科学研究和技术服务业-科技推广和应用服务业-其他科技推广服务业-其他科技推广服务业", - "candate": "2020-04-07", - "district": "福田区", - "name": "深圳市亿讯时空信息技术有限公司", - "base": "gd", - "apprdate": "2008-09-04" - } - }, - { - "executedPerson": [ - { - "caseCode": "(2010)青执字第01000号", - "partyCardNum": "452528********3012", - "pname": "李健", - "caseCreateTime": "2010-09-06", - "execCourtName": "", - "execMoney": 283845 - }, - { - "caseCode": "(2010)青执字第00188号", - "partyCardNum": "45252819691****3012", - "pname": "李健", - "caseCreateTime": "2010-02-08", - "execCourtName": "", - "execMoney": 308464 - } - ], - "orgName": "南宁市豆花香食品有限公司", - "pName": "李强", - "stockHolderItem": { - "orgHolderType": "自然人", - "investDate": "2003-08-06", - "investRate": "50.0%", - "subscriptAmt": 25, - "orgHolderName": "李强" - }, - "relationship": [ - "sh" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "50万元人民币", - "reccap": 0, - "city": "南宁市", - "industry_code": "F", - "industry": "零售业", - "type": "1", - "nic_code": "F5227", - "legalPersonName": "李健", - "regNumber": "4501002505675", - "creditCode": "91450100MA5KJ83P3J", - "province": "广西壮族自治区", - "regorg": "南宁市行政审批局", - "companyOrgType": "有限责任公司(自然人投资或控股)", - "revdate": "2007-02-08", - "estiblishTime": "2003-08-06", - "opscope": "豆制品的生产及销售;农副土特产品,日用百货,五金交电的销售。", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "批发和零售业-零售业-食品、饮料及烟草制品专门零售-烟草制品零售", - "candate": "", - "district": "", - "name": "南宁市豆花香食品有限公司", - "base": "gx", - "apprdate": "2004-06-30" - } - }, - { - "executedPerson": [ - { - "caseCode": "(2010)青执字第01000号", - "partyCardNum": "452528********3012", - "pname": "李健", - "caseCreateTime": "2010-09-06", - "execCourtName": "", - "execMoney": 283845 - }, - { - "caseCode": "(2010)青执字第00188号", - "partyCardNum": "45252819691****3012", - "pname": "李健", - "caseCreateTime": "2010-02-08", - "execCourtName": "", - "execMoney": 308464 - }, - { - "caseCode": "(2014)城中执字第00062号", - "partyCardNum": "45252819740****3016", - "pname": "李强", - "caseCreateTime": "2014-02-11", - "execCourtName": "", - "execMoney": 220605 - } - ], - "dishonestExecutedPerson": [ - { - "businessentity": "", - "areaname": "广西", - "courtname": "柳州市城中区人民法院", - "unperformPart": "", - "type": "0", - "performedPart": "", - "iname": "李强", - "disrupttypename": "其他有履行能力而拒不履行生效法律文书确定义务", - "casecode": "(2014)城中执字第00062号", - "cardnum": "4525281974****3016", - "performance": "全部未履行", - "regdate": "2014-02-11", - "duty": "中国农业银行股份有限公司柳州城中支行申请执行李强220604.73元", - "gistunit": "柳州市城中区人民法院", - "publishdate": "2014-06-19", - "gistid": "(2010)城中民二初字第480号民事判决书" - } - ], - "orgName": "广西鼎铭房地产置换服务有限公司", - "pName": "李强", - "stockHolderItem": { - "orgHolderType": "自然人", - "investDate": "", - "investRate": "10.87%", - "subscriptAmt": 50, - "orgHolderName": "李强" - }, - "relationship": [ - "sh", - "tm" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "250万元人民币", - "reccap": 200, - "city": "柳州市", - "industry_code": "I", - "industry": "软件和信息技术服务业", - "type": "1", - "nic_code": "I6513", - "staffList": { - "result": [ - { - "name": "李强", - "type": "2", - "typeJoin": [ - "监事" - ] - } - ] - }, - "legalPersonName": "李健", - "regNumber": "4502002501968", - "creditCode": "91450200MA5KPNEG3T", - "province": "广西壮族自治区", - "regorg": "柳州市市场监督管理局", - "companyOrgType": "有限责任公司(自然人投资或控股)", - "revdate": "2009-01-04", - "estiblishTime": "2001-04-11", - "opscope": "连锁经营:房地产信息咨询服务,房地产交易居间、代理、行纪;商品信息咨询(不含期货、金融、保险、证券等国家专项规定),商品交易居间、代理、行纪。", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "信息传输、软件和信息技术服务业-软件和信息技术服务业-软件开发-应用软件开发", - "candate": "", - "district": "", - "name": "广西鼎铭房地产置换服务有限公司", - "base": "gx", - "apprdate": "2005-09-26" - } - }, - { - "orgName": "广西鼎铭装饰工程有限公司", - "pName": "李强", - "stockHolderItem": { - "orgHolderType": "自然人", - "investDate": "", - "investRate": "5.26%", - "subscriptAmt": 30, - "orgHolderName": "李强" - }, - "relationship": [ - "sh" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "300万元人民币", - "reccap": 0, - "city": "南宁市", - "industry_code": "E", - "industry": "建筑装饰、装修和其他建筑业", - "type": "1", - "nic_code": "E5011", - "legalPersonName": "李健", - "regNumber": "4500002501464", - "creditCode": "914500007479525012", - "province": "广西壮族自治区", - "regorg": "广西壮族自治区市场监督管理局", - "companyOrgType": "有限责任公司(自然人投资或控股)", - "revdate": "2007-09-14", - "estiblishTime": "2003-02-27", - "opscope": "建筑装修装饰工程专业承包(暂定)叁级;五金交电、日用百货、建筑材料、装饰材料、机电产品、汽车配件、摩托车配件的购销。", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "建筑业-建筑装饰、装修和其他建筑业-建筑装饰和装修业-公共建筑装饰和装修", - "candate": "", - "district": "", - "name": "广西鼎铭装饰工程有限公司", - "base": "gx", - "apprdate": "2005-03-10" - } - } - ] - } -} diff --git a/dataRender/人企关系3.json b/dataRender/人企关系3.json deleted file mode 100644 index bf41ed9..0000000 --- a/dataRender/人企关系3.json +++ /dev/null @@ -1,150 +0,0 @@ -{ - "msg": "查询成功", - "code": "0000", - "orderNo": "20241113214538120270654", - "data": { - "total": 4, - "datalist": [ - { - "orgName": "厦门市湖里区肖山泗建材店", - "pName": "李金桂", - "relationship": [ - "lp" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "", - "reccap": 0, - "city": "厦门市", - "industry_code": "F", - "industry": "批发业", - "type": "1", - "nic_code": "F516", - "legalPersonName": "李金桂", - "regNumber": "350206800393889", - "creditCode": "92350206MA3212DY6N", - "province": "福建省", - "regorg": "厦门市湖里区市场监督管理局", - "companyOrgType": "个体", - "revdate": "2024-09-06", - "estiblishTime": "2018-08-21", - "opscope": "", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "批发和零售业-批发业-矿产品、建材及化工产品批发", - "candate": "", - "district": "湖里区", - "name": "厦门市湖里区肖山泗建材店", - "base": "fj", - "apprdate": "2018-08-21" - } - }, - { - "orgName": "南安市仑苍巢李水暖配件店", - "pName": "李金桂", - "relationship": [ - "lp" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "存续(在营、开业、在册)", - "regCapital": "", - "reccap": 0, - "city": "泉州市", - "industry_code": "F", - "industry": "零售业", - "type": "1", - "nic_code": "F5281", - "legalPersonName": "李金桂", - "regNumber": "350583601550067", - "creditCode": "92350583MA34MA8K8Y", - "province": "福建省", - "regorg": "福建省南安市市场监督管理局", - "companyOrgType": "个体", - "revdate": "", - "estiblishTime": "2020-09-08", - "opscope": "", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "批发和零售业-零售业-五金、家具及室内装饰材料专门零售-五金零售", - "candate": "", - "district": "南安市", - "name": "南安市仑苍巢李水暖配件店", - "base": "fj", - "apprdate": "2021-03-22" - } - }, - { - "orgName": "厦门市湖里区苑熙照建材店", - "pName": "李金桂", - "relationship": [ - "lp" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "", - "reccap": 0, - "city": "厦门市", - "industry_code": "F", - "industry": "零售业", - "type": "1", - "nic_code": "F528", - "legalPersonName": "李金桂", - "regNumber": "350206800392843", - "creditCode": "92350206MA320UEM5W", - "province": "福建省", - "regorg": "厦门市湖里区市场监督管理局", - "companyOrgType": "个体", - "revdate": "2024-09-06", - "estiblishTime": "2018-08-17", - "opscope": "", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "批发和零售业-零售业-五金、家具及室内装饰材料专门零售", - "candate": "", - "district": "湖里区", - "name": "厦门市湖里区苑熙照建材店", - "base": "fj", - "apprdate": "2018-08-17" - } - }, - { - "orgName": "厦门市湖里区镜永捷亦服饰店", - "pName": "李金桂", - "relationship": [ - "lp" - ], - "fsource": "1", - "basicInfo": { - "regStatus": "吊销,未注销", - "regCapital": "", - "reccap": 0, - "city": "厦门市", - "industry_code": "F", - "industry": "零售业", - "type": "1", - "nic_code": "F523", - "legalPersonName": "李金桂", - "regNumber": "350206800389905", - "creditCode": "92350206MA320JJ58B", - "province": "福建省", - "regorg": "厦门市湖里区市场监督管理局", - "companyOrgType": "个体", - "revdate": "2024-09-06", - "estiblishTime": "2018-08-15", - "opscope": "", - "reccapcur": "人民币", - "regCapitalCurrency": "人民币", - "nic_name": "批发和零售业-零售业-纺织、服装及日用品专门零售", - "candate": "", - "district": "湖里区", - "name": "厦门市湖里区镜永捷亦服饰店", - "base": "fj", - "apprdate": "2018-08-15" - } - } - ] - } -} diff --git a/dataRender/借贷意向1.json b/dataRender/借贷意向1.json deleted file mode 100644 index a5f51c9..0000000 --- a/dataRender/借贷意向1.json +++ /dev/null @@ -1,154 +0,0 @@ -{ - "als_fst_cell_nbank_inteday": "290", - "als_fst_id_nbank_inteday": "138", - "als_lst_cell_nbank_consnum": "1", - "als_lst_cell_nbank_csinteday": "1", - "als_lst_cell_nbank_inteday": "33", - "als_lst_id_nbank_consnum": "1", - "als_lst_id_nbank_csinteday": "1", - "als_lst_id_nbank_inteday": "94", - "als_m12_cell_avg_monnum": "1.20", - "als_m12_cell_caon_allnum": "2", - "als_m12_cell_caon_orgnum": "1", - "als_m12_cell_max_inteday": "128", - "als_m12_cell_max_monnum": "2", - "als_m12_cell_min_inteday": "14", - "als_m12_cell_min_monnum": "0", - "als_m12_cell_nbank_allnum": "6", - "als_m12_cell_nbank_avg_monnum": "1.20", - "als_m12_cell_nbank_ca_allnum": "2", - "als_m12_cell_nbank_ca_orgnum": "1", - "als_m12_cell_nbank_cf_allnum": "4", - "als_m12_cell_nbank_cf_orgnum": "1", - "als_m12_cell_nbank_max_inteday": "128", - "als_m12_cell_nbank_max_monnum": "2", - "als_m12_cell_nbank_min_inteday": "14", - "als_m12_cell_nbank_min_monnum": "0", - "als_m12_cell_nbank_night_allnum": "1", - "als_m12_cell_nbank_night_orgnum": "1", - "als_m12_cell_nbank_orgnum": "2", - "als_m12_cell_nbank_selfnum": "0", - "als_m12_cell_nbank_sloan_allnum": "6", - "als_m12_cell_nbank_sloan_orgnum": "2", - "als_m12_cell_nbank_tot_mons": "5", - "als_m12_cell_nbank_week_allnum": "2", - "als_m12_cell_nbank_week_orgnum": "2", - "als_m12_cell_rel_allnum": "4", - "als_m12_cell_rel_orgnum": "1", - "als_m12_cell_tot_mons": "5", - "als_m12_id_avg_monnum": "1.00", - "als_m12_id_caon_allnum": "2", - "als_m12_id_caon_orgnum": "2", - "als_m12_id_max_inteday": "44", - "als_m12_id_max_monnum": "1", - "als_m12_id_min_inteday": "44", - "als_m12_id_min_monnum": "0", - "als_m12_id_nbank_allnum": "2", - "als_m12_id_nbank_avg_monnum": "1.00", - "als_m12_id_nbank_ca_allnum": "1", - "als_m12_id_nbank_ca_orgnum": "1", - "als_m12_id_nbank_max_inteday": "44", - "als_m12_id_nbank_max_monnum": "1", - "als_m12_id_nbank_min_inteday": "44", - "als_m12_id_nbank_min_monnum": "0", - "als_m12_id_nbank_night_allnum": "0", - "als_m12_id_nbank_night_orgnum": "0", - "als_m12_id_nbank_nsloan_allnum": "1", - "als_m12_id_nbank_nsloan_orgnum": "1", - "als_m12_id_nbank_orgnum": "2", - "als_m12_id_nbank_oth_allnum": "1", - "als_m12_id_nbank_oth_orgnum": "1", - "als_m12_id_nbank_selfnum": "0", - "als_m12_id_nbank_sloan_allnum": "1", - "als_m12_id_nbank_sloan_orgnum": "1", - "als_m12_id_nbank_tot_mons": "2", - "als_m12_id_nbank_week_allnum": "0", - "als_m12_id_nbank_week_orgnum": "0", - "als_m12_id_tot_mons": "2", - "als_m3_cell_avg_monnum": "1.00", - "als_m3_cell_max_inteday": "31", - "als_m3_cell_max_monnum": "1", - "als_m3_cell_min_inteday": "31", - "als_m3_cell_min_monnum": "0", - "als_m3_cell_nbank_allnum": "2", - "als_m3_cell_nbank_avg_monnum": "1.00", - "als_m3_cell_nbank_cf_allnum": "2", - "als_m3_cell_nbank_cf_orgnum": "1", - "als_m3_cell_nbank_max_inteday": "31", - "als_m3_cell_nbank_max_monnum": "1", - "als_m3_cell_nbank_min_inteday": "31", - "als_m3_cell_nbank_min_monnum": "0", - "als_m3_cell_nbank_night_allnum": "1", - "als_m3_cell_nbank_night_orgnum": "1", - "als_m3_cell_nbank_orgnum": "1", - "als_m3_cell_nbank_selfnum": "0", - "als_m3_cell_nbank_sloan_allnum": "2", - "als_m3_cell_nbank_sloan_orgnum": "1", - "als_m3_cell_nbank_tot_mons": "2", - "als_m3_cell_nbank_week_allnum": "1", - "als_m3_cell_nbank_week_orgnum": "1", - "als_m3_cell_rel_allnum": "2", - "als_m3_cell_rel_orgnum": "1", - "als_m3_cell_tot_mons": "2", - "als_m6_cell_avg_monnum": "1.00", - "als_m6_cell_caon_allnum": "2", - "als_m6_cell_caon_orgnum": "1", - "als_m6_cell_max_inteday": "46", - "als_m6_cell_max_monnum": "1", - "als_m6_cell_min_inteday": "31", - "als_m6_cell_min_monnum": "0", - "als_m6_cell_nbank_allnum": "4", - "als_m6_cell_nbank_avg_monnum": "1.00", - "als_m6_cell_nbank_ca_allnum": "2", - "als_m6_cell_nbank_ca_orgnum": "1", - "als_m6_cell_nbank_cf_allnum": "2", - "als_m6_cell_nbank_cf_orgnum": "1", - "als_m6_cell_nbank_max_inteday": "46", - "als_m6_cell_nbank_max_monnum": "1", - "als_m6_cell_nbank_min_inteday": "31", - "als_m6_cell_nbank_min_monnum": "0", - "als_m6_cell_nbank_night_allnum": "1", - "als_m6_cell_nbank_night_orgnum": "1", - "als_m6_cell_nbank_orgnum": "2", - "als_m6_cell_nbank_selfnum": "0", - "als_m6_cell_nbank_sloan_allnum": "4", - "als_m6_cell_nbank_sloan_orgnum": "2", - "als_m6_cell_nbank_tot_mons": "4", - "als_m6_cell_nbank_week_allnum": "2", - "als_m6_cell_nbank_week_orgnum": "2", - "als_m6_cell_rel_allnum": "2", - "als_m6_cell_rel_orgnum": "1", - "als_m6_cell_tot_mons": "4", - "als_m6_id_avg_monnum": "1.00", - "als_m6_id_caon_allnum": "2", - "als_m6_id_caon_orgnum": "2", - "als_m6_id_max_inteday": "44", - "als_m6_id_max_monnum": "1", - "als_m6_id_min_inteday": "44", - "als_m6_id_min_monnum": "0", - "als_m6_id_nbank_allnum": "2", - "als_m6_id_nbank_avg_monnum": "1.00", - "als_m6_id_nbank_ca_allnum": "1", - "als_m6_id_nbank_ca_orgnum": "1", - "als_m6_id_nbank_max_inteday": "44", - "als_m6_id_nbank_max_monnum": "1", - "als_m6_id_nbank_min_inteday": "44", - "als_m6_id_nbank_min_monnum": "0", - "als_m6_id_nbank_night_allnum": "0", - "als_m6_id_nbank_night_orgnum": "0", - "als_m6_id_nbank_nsloan_allnum": "1", - "als_m6_id_nbank_nsloan_orgnum": "1", - "als_m6_id_nbank_orgnum": "2", - "als_m6_id_nbank_oth_allnum": "1", - "als_m6_id_nbank_oth_orgnum": "1", - "als_m6_id_nbank_selfnum": "0", - "als_m6_id_nbank_sloan_allnum": "1", - "als_m6_id_nbank_sloan_orgnum": "1", - "als_m6_id_nbank_tot_mons": "2", - "als_m6_id_nbank_week_allnum": "0", - "als_m6_id_nbank_week_orgnum": "0", - "als_m6_id_tot_mons": "2", - "code": "00", - "flag_applyloanstr": "1", - "flag_datastrategy": "1" -} diff --git a/dataRender/借贷行为1.json b/dataRender/借贷行为1.json deleted file mode 100644 index 92d9aba..0000000 --- a/dataRender/借贷行为1.json +++ /dev/null @@ -1,133 +0,0 @@ -{ - "code": "00", - "data": { - "tl_id_t11_nbank_org": "1", - "tl_id_m6_nbank_passnum": "2", - "tl_cell_t2_nbank_lendamt": "10", - "tl_cell_t5_nbank_org": "1", - "tl_id_t5_nbank_num": "1", - "tl_id_t0_nbank_org": "1", - "tl_cell_t9_nbank_num": "1", - "tl_id_t7_nbank_org": "1", - "tl_id_m1_nbank_passlendamt": "5", - "tl_cell_m9_nbank_passnum": "2", - "flag_datastrategy": "1", - "tl_cell_m6_nbank_passorg": "1", - "tl_cell_m1_nbank_passorg": "1", - "tl_id_m12_nbank_passorg": "1", - "tl_id_m3_nbank_passnum": "1", - "DataStrategy": { - "strategy_version": "1.0", - "product_type": "", - "strategy_id": "DTA_BR0008250", - "product_name": "预置_借贷行为验证", - "scene": "lend" - }, - "tl_id_t6_nbank_lendamt": "9", - "tl_id_t6_nbank_org": "1", - "tl_cell_m12_nbank_passlendamt": "18", - "tl_cell_m3_nbank_passlendamt": "9", - "tl_cell_t7_nbank_lendamt": "9", - "tl_cell_m12_nbank_passnum": "2", - "tl_cell_t2_nbank_num": "2", - "tl_cell_t6_nbank_org": "1", - "tl_cell_t11_nbank_num": "1", - "tl_id_m3_nbank_passlendamt": "9", - "tl_cell_m6_nbank_passnum": "2", - "tl_id_t7_nbank_lendamt": "9", - "tl_cell_t11_nbank_org": "1", - "tl_id_m3_nbank_passorg": "1", - "tl_cell_t8_nbank_num": "1", - "tl_id_t6_nbank_num": "1", - "tl_cell_m12_nbank_passorg": "1", - "tl_id_t6_nbank_reamt": "3", - "tl_id_t7_nbank_reamt": "3", - "tl_id_t3_nbank_num": "2", - "tl_cell_t8_nbank_lendamt": "9", - "tl_id_t9_nbank_org": "1", - "tl_id_t1_nbank_lendamt": "14", - "tl_cell_t7_nbank_org": "1", - "tl_id_t9_nbank_reamt": "3", - "tl_id_t8_nbank_reamt": "3", - "tl_id_t1_nbank_org": "1", - "tl_cell_t3_nbank_num": "2", - "tl_id_t8_nbank_lendamt": "9", - "tl_cell_t11_nbank_lendamt": "5", - "tl_cell_m3_nbank_passorg": "1", - "tl_id_t0_nbank_num": "2", - "tl_cell_t4_nbank_org": "1", - "tl_cell_t0_nbank_num": "2", - "tl_id_t0_nbank_lendamt": "18", - "tl_cell_t1_nbank_org": "1", - "tl_id_t9_nbank_lendamt": "9", - "tl_cell_t9_nbank_lendamt": "9", - "tl_cell_t0_nbank_lendamt": "18", - "tl_id_t1_nbank_num": "2", - "tl_cell_t0_nbank_reamt": "7", - "tl_cell_t1_nbank_reamt": "7", - "tl_id_t5_nbank_lendamt": "9", - "tl_cell_m3_nbank_passnum": "1", - "tl_id_m6_nbank_passlendamt": "10", - "tl_cell_t6_nbank_lendamt": "9", - "tl_id_m1_nbank_passorg": "1", - "tl_cell_t6_nbank_num": "1", - "tl_id_t8_nbank_num": "1", - "tl_id_t4_nbank_org": "1", - "tl_cell_t1_nbank_lendamt": "14", - "tl_cell_t2_nbank_org": "1", - "tl_cell_t3_nbank_lendamt": "10", - "tl_id_t2_nbank_num": "2", - "tl_cell_t5_nbank_num": "1", - "swift_number": "3034309_20241113153507_46522614A19", - "tl_id_t5_nbank_reamt": "3", - "tl_cell_t7_nbank_reamt": "3", - "tl_cell_t9_nbank_org": "1", - "tl_cell_t9_nbank_reamt": "3", - "tl_id_t4_nbank_reamt": "3", - "tl_id_t3_nbank_reamt": "4", - "tl_cell_t8_nbank_reamt": "3", - "tl_cell_t4_nbank_reamt": "3", - "tl_id_t1_nbank_reamt": "7", - "tl_id_t2_nbank_reamt": "4", - "tl_cell_t5_nbank_reamt": "3", - "tl_cell_t3_nbank_reamt": "4", - "tl_cell_t6_nbank_reamt": "3", - "tl_cell_m9_nbank_passorg": "1", - "tl_cell_t2_nbank_reamt": "4", - "tl_cell_m9_nbank_passlendamt": "10", - "tl_id_m12_nbank_passlendamt": "18", - "tl_id_t9_nbank_num": "1", - "tl_id_m9_nbank_passorg": "1", - "tl_id_t0_nbank_reamt": "7", - "tl_id_t2_nbank_lendamt": "10", - "tl_id_t3_nbank_org": "1", - "tl_cell_t4_nbank_num": "1", - "tl_cell_t3_nbank_org": "1", - "tl_cell_m1_nbank_passnum": "1", - "code": "00", - "tl_id_t2_nbank_org": "1", - "tl_id_m12_nbank_passnum": "2", - "tl_cell_t4_nbank_lendamt": "9", - "tl_id_m9_nbank_passlendamt": "10", - "tl_cell_t0_nbank_org": "1", - "tl_id_m9_nbank_passnum": "2", - "tl_id_t3_nbank_lendamt": "10", - "tl_cell_m1_nbank_passlendamt": "5", - "tl_cell_t1_nbank_num": "2", - "tl_id_m6_nbank_passorg": "1", - "tl_id_t11_nbank_lendamt": "5", - "tl_id_t11_nbank_num": "1", - "tl_cell_t5_nbank_lendamt": "9", - "tl_id_t5_nbank_org": "1", - "tl_id_t4_nbank_lendamt": "9", - "tl_cell_t8_nbank_org": "1", - "tl_id_t7_nbank_num": "1", - "tl_cell_m6_nbank_passlendamt": "10", - "tl_id_t4_nbank_num": "1", - "tl_id_m1_nbank_passnum": "1", - "tl_id_t8_nbank_org": "1", - "tl_cell_t7_nbank_num": "1", - "flag_totalloan": "1" - }, - "flag_totalloan": "1" -} diff --git a/dataRender/特殊名单1.json b/dataRender/特殊名单1.json deleted file mode 100644 index 6183252..0000000 --- a/dataRender/特殊名单1.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "code": "100002", - "flag_specialList_c": "0", - "data": { - "code": "100002", - "flag_specialList_c": "0", - "swift_number": "3034309_20241113140028_45772614A19", - "flag_datastrategy": "0", - "DataStrategy": { - "strategy_version": "1.0", - "product_type": "100099", - "strategy_id": "DTA_BR0007511", - "product_name": "预置_特殊名单验证", - "scene": "lend" - } - } -} diff --git a/docs/环境变量配置说明.md b/docs/环境变量配置说明.md new file mode 100644 index 0000000..503f518 --- /dev/null +++ b/docs/环境变量配置说明.md @@ -0,0 +1,53 @@ +# 环境变量配置说明 + +## 环境变量文件 + +本项目使用 Vite 的环境变量功能,支持以下环境变量文件: + +- `.env`:所有环境都会加载的默认变量 +- `.env.development`:开发环境变量(`npm run dev` 时加载) +- `.env.production`:生产环境变量(`npm run build` 时加载) + +## 已配置的环境变量 + +| 变量名 | 说明 | 示例值 | +|--------|------|--------| +| VITE_APP_BASE_URL | API 基础URL | https://www.quannengcha.com | +| VITE_APP_DEBUG | 调试模式 | true/false | + +## 在项目中使用环境变量 + +### 在 Vue 组件中使用 + +```vue + +``` + +### 在 JS/TS 文件中使用 + +```js +// 使用 import.meta.env 访问环境变量 +const baseUrl = import.meta.env.VITE_APP_BASE_URL +const isDebug = import.meta.env.VITE_APP_DEBUG === 'true' + +// 获取当前环境模式 +const mode = import.meta.env.MODE +``` + +## 获取当前环境 + +```js +// 获取当前环境模式(development、production等) +const mode = import.meta.env.MODE +``` + +## 注意事项 + +1. 所有环境变量必须以 `VITE_` 开头才能在客户端代码中访问 +2. 环境变量默认为字符串类型,需要自行转换为其他类型(如布尔值) +3. 修改环境变量后需要重启开发服务器才能生效 +4. 不要在环境变量文件中存储敏感信息,如API密钥等 diff --git a/eslint.config.mjs b/eslint.config.mjs deleted file mode 100644 index e5911c6..0000000 --- a/eslint.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import uni from '@uni-helper/eslint-config' - -export default uni( - { - globals: { - uni: true, - wx: true, // 如果您同时使用了微信小程序的全局变量 - }, - unocss: true, - rules: { - 'no-console': 'off', // 关闭 no-console 规则 - 'no-unused-vars': 'warn', - }, - }, -) diff --git a/manifest.config.ts b/manifest.config.ts index 55672d8..7e01e06 100644 --- a/manifest.config.ts +++ b/manifest.config.ts @@ -26,6 +26,7 @@ export default defineManifestConfig({ /* 模块配置 */ modules: { Payment: {}, + Share: {}, }, /* 应用发布信息 */ distribute: { @@ -60,6 +61,19 @@ export default defineManifestConfig({ // #endif }, + // share: { + // weixin: { + // appid: 'wx开头的微信开放平台AppID', + // UniversalLinks: 'https://www.quannengcha.com/app/', + // } + // }, + // oauth: { + // weixin: { + // appid: 'wx开头的微信开放平台AppID', + // appsecret: '微信开放平台AppSecret', + // UniversalLinks: 'https://www.quannengcha.com/app/' + // } + // } }, icons: { android: { @@ -124,4 +138,24 @@ export default defineManifestConfig({ enable: false, }, 'vueVersion': '3', + + /* UTS 插件配置 */ + 'uts': { + 'plugins': { + 'webview': { + 'version': '1.0.0', + 'description': 'Web视图插件,支持在App内打开网页', + 'platforms': { + 'android': { + 'appid': '', + 'autostart': false + }, + 'ios': { + 'appid': '', + 'autostart': false + } + } + } + } + } }) diff --git a/package.json b/package.json index 3fad70d..cb4a26d 100644 --- a/package.json +++ b/package.json @@ -41,39 +41,42 @@ "build:quickapp-webview": "uni build -p quickapp-webview", "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei", "build:quickapp-webview-union": "uni build -p quickapp-webview-union", - "type-check": "vue-tsc --noEmit", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "type-check": "vue-tsc --noEmit" }, "dependencies": { - "@dcloudio/uni-app": "3.0.0-4020420240722002", - "@dcloudio/uni-app-plus": "3.0.0-4020420240722002", - "@dcloudio/uni-components": "3.0.0-4020420240722002", - "@dcloudio/uni-h5": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-alipay": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-baidu": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-jd": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-kuaishou": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-lark": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-qq": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-toutiao": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-weixin": "3.0.0-4020420240722002", - "@dcloudio/uni-mp-xhs": "3.0.0-4020420240722002", - "@dcloudio/uni-quickapp-webview": "3.0.0-4020420240722002", + "@dcloudio/uni-app": "3.0.0-4050520250307001", + "@dcloudio/uni-app-harmony": "3.0.0-4050520250307001", + "@dcloudio/uni-app-plus": "3.0.0-4050520250307001", + "@dcloudio/uni-components": "3.0.0-4050520250307001", + "@dcloudio/uni-h5": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-alipay": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-baidu": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-jd": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-kuaishou": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-lark": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-qq": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-toutiao": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-weixin": "3.0.0-4050520250307001", + "@dcloudio/uni-mp-xhs": "3.0.0-4050520250307001", + "@dcloudio/uni-quickapp-webview": "3.0.0-4050520250307001", "@rollup/rollup-win32-x64-msvc": "^4.27.4", + "@vant/area-data": "^2.0.0", "@vueuse/core": "^11.1.0", "crypto-js": "^4.2.0", + "pinia": "^3.0.1", + "qrcode": "^1.5.4", + "uqrcodejs": "^4.0.7", "vue": "~3.4.21", "vue-i18n": "^9.14.1", "wot-design-uni": "^1.3.12" }, "devDependencies": { - "@dcloudio/types": "^3.4.12", - "@dcloudio/uni-automator": "3.0.0-4020420240722002", - "@dcloudio/uni-cli-shared": "3.0.0-4020420240722002", - "@dcloudio/uni-stacktracey": "3.0.0-4020420240722002", + "@dcloudio/types": "^3.4.14", + "@dcloudio/uni-automator": "3.0.0-4050520250307001", + "@dcloudio/uni-cli-shared": "3.0.0-4050520250307001", + "@dcloudio/uni-stacktracey": "3.0.0-4050520250307001", "@dcloudio/uni-vue-devtools": "3.0.0-4020420240722002", - "@dcloudio/vite-plugin-uni": "3.0.0-4020420240722002", + "@dcloudio/vite-plugin-uni": "3.0.0-4050520250307001", "@iconify-json/carbon": "^1.2.3", "@mini-types/alipay": "^3.0.14", "@types/node": "^20.16.12", @@ -89,14 +92,14 @@ "@unocss/eslint-config": "^0.62.4", "@vue/runtime-core": "^3.5.12", "@vue/tsconfig": "^0.5.1", - "eslint": "^9.12.0", "miniprogram-api-typings": "^3.12.3", "sass": "~1.79.0", "sass-embedded": "~1.79.0", "typescript": "~5.5.4", "unocss": "^0.62.4", "unplugin-auto-import": "^0.18.3", - "vite": "^5.4.9", + "unplugin-vue-components": "^28.4.1", + "vite": "^5.2.8", "vue-tsc": "^2.1.6" } } diff --git a/pages.config.ts b/pages.config.ts index ea9fc7c..36b1330 100644 --- a/pages.config.ts +++ b/pages.config.ts @@ -24,6 +24,11 @@ export default defineUniPages({ text: '', visible: false, }, + { + pagePath: 'pages/agent', + text: '', + visible: false, + }, { pagePath: 'pages/ai', text: '', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 30c7bdb..983dd28 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,84 +9,99 @@ importers: .: dependencies: '@dcloudio/uni-app': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-app-harmony': + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-app-plus': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-components': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-h5': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-alipay': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-baidu': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-jd': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-kuaishou': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-lark': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-qq': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-toutiao': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-weixin': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-mp-xhs': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-quickapp-webview': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@rollup/rollup-win32-x64-msvc': specifier: ^4.27.4 version: 4.27.4 + '@vant/area-data': + specifier: ^2.0.0 + version: 2.0.0 '@vueuse/core': specifier: ^11.1.0 - version: 11.1.0(vue@3.4.38(typescript@5.5.4)) + version: 11.1.0(vue@3.4.21(typescript@5.5.4)) crypto-js: specifier: ^4.2.0 version: 4.2.0 + pinia: + specifier: ^3.0.1 + version: 3.0.1(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)) + qrcode: + specifier: ^1.5.4 + version: 1.5.4 + uqrcodejs: + specifier: ^4.0.7 + version: 4.0.7 vue: specifier: ~3.4.21 - version: 3.4.38(typescript@5.5.4) + version: 3.4.21(typescript@5.5.4) vue-i18n: specifier: ^9.14.1 - version: 9.14.1(vue@3.4.38(typescript@5.5.4)) + version: 9.14.1(vue@3.4.21(typescript@5.5.4)) wot-design-uni: specifier: ^1.3.12 - version: 1.3.13(vue@3.4.38(typescript@5.5.4)) + version: 1.3.13(vue@3.4.21(typescript@5.5.4)) devDependencies: '@dcloudio/types': - specifier: ^3.4.12 + specifier: ^3.4.14 version: 3.4.14 '@dcloudio/uni-automator': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-cli-shared': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/uni-stacktracey': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002 + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001 '@dcloudio/uni-vue-devtools': specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@dcloudio/vite-plugin-uni': - specifier: 3.0.0-4020420240722002 - version: 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4)) + specifier: 3.0.0-4050520250307001 + version: 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) '@iconify-json/carbon': specifier: ^1.2.3 version: 1.2.4 @@ -104,10 +119,10 @@ importers: version: 0.1.4 '@uni-helper/uni-types': specifier: 1.0.0-alpha.4 - version: 1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(@uni-helper/uni-cloud-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(@uni-helper/uni-ui-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + version: 1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(@uni-helper/uni-cloud-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(@uni-helper/uni-ui-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)) '@uni-helper/unocss-preset-uni': specifier: ^0.2.10 - version: 0.2.10(@unocss/preset-mini@0.62.4)(@unocss/rule-utils@0.62.4)(@unocss/vite@0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)))(unocss-applet@0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))))(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))) + version: 0.2.10(@unocss/preset-mini@0.62.4)(@unocss/rule-utils@0.62.4)(@unocss/vite@0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)))(unocss-applet@0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))))(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))) '@uni-helper/vite-plugin-uni-components': specifier: ^0.1.0 version: 0.1.0(rollup@4.24.1) @@ -116,10 +131,10 @@ importers: version: 0.1.10(rollup@4.24.1) '@uni-helper/vite-plugin-uni-manifest': specifier: ^0.2.7 - version: 0.2.7(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + version: 0.2.7(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) '@uni-helper/vite-plugin-uni-pages': specifier: ^0.2.28 - version: 0.2.28(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + version: 0.2.28(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) '@uni-helper/volar-service-uni-pages': specifier: ^0.2.28 version: 0.2.28 @@ -132,9 +147,6 @@ importers: '@vue/tsconfig': specifier: ^0.5.1 version: 0.5.1 - eslint: - specifier: ^9.12.0 - version: 9.13.0(jiti@1.21.6) miniprogram-api-typings: specifier: ^3.12.3 version: 3.12.3 @@ -149,13 +161,16 @@ importers: version: 5.5.4 unocss: specifier: ^0.62.4 - version: 0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + version: 0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) unplugin-auto-import: specifier: ^0.18.3 - version: 0.18.3(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(rollup@4.24.1) + version: 0.18.3(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(rollup@4.24.1) + unplugin-vue-components: + specifier: ^28.4.1 + version: 28.4.1(@babel/parser@7.26.1)(vue@3.4.21(typescript@5.5.4)) vite: - specifier: ^5.4.9 - version: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + specifier: ^5.2.8 + version: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) vue-tsc: specifier: ^2.1.6 version: 2.1.8(typescript@5.5.4) @@ -819,25 +834,28 @@ packages: '@dcloudio/types@3.4.14': resolution: {integrity: sha512-VolQeZfTh8pQFsr2IlfIVX93blfvGTuBoJuZUc7iWOqtHV8gDrq6fXLhzsVlgZyuhhRZLOxlo33rkEqnY+ucAw==} - '@dcloudio/uni-app-plus@3.0.0-4020420240722002': - resolution: {integrity: sha512-Gbd/tXSZqHlGUrryZ1NCTkv/MJH/tkspnLdofPpTdk3+dUCO6/5cd05UrCYLQaqSqGwHL4VUZedyZoL0YqolbA==} + '@dcloudio/uni-app-harmony@3.0.0-4050520250307001': + resolution: {integrity: sha512-l17/NCz+0gPi2QSJqgLB40W+rZ/Q0YyCNSVwHi61MoK2Np7w+IteBEggfWISl+lF5BjXc9BU4K3nE68B+y7rZQ==} - '@dcloudio/uni-app-uts@3.0.0-4020420240722002': - resolution: {integrity: sha512-KzuzhZaAQT41vs5fp7YuZYu1iXWVW9QRxZmhYFjyfFvuVBgVy64PPVV9HdB0j3L3vcj/J/o4b/iBBfl4U7wfwg==} + '@dcloudio/uni-app-plus@3.0.0-4050520250307001': + resolution: {integrity: sha512-TaZ8T0SPptqriWlWiituB8BCIf7pvhs/nfxtLkgXhyruG4dd1kRVk8soqi3xHY90rrFMwASJK3CHSBqxv0yh6g==} - '@dcloudio/uni-app-vite@3.0.0-4020420240722002': - resolution: {integrity: sha512-pqB5Cn9qUP8GRZbHP9u+kXFy1Gl/S7kerqntVgRQKMIrs1zCAa9NCQlGDUQIGj5MlWGqU+/mw20TdpyibEW+/w==} + '@dcloudio/uni-app-uts@3.0.0-4050520250307001': + resolution: {integrity: sha512-k3KlZYZMkLJSXdyo4A/U/hC989Xy84bNZZl/ewdJu75WO9EmXCOh2TLEqCywFuLzUJySF92CKtWTld4olU8dDQ==} - '@dcloudio/uni-app-vue@3.0.0-4020420240722002': - resolution: {integrity: sha512-pxtIzEhdapE9JhGrTIPi271yr0c2leEhtO6xsTsdrfhswFqbh4BPVlT89XdioOhGtIOaS5m5hn6t6UVvuH0RDw==} + '@dcloudio/uni-app-vite@3.0.0-4050520250307001': + resolution: {integrity: sha512-nBygUMt2o0wL9XaN02Zc6fyAzeNQVRj6e5HQNRGQL2NqjUrA5vuJZhFtZG9hmgpMnzGuEFff7YoXxKf0qLgcSQ==} - '@dcloudio/uni-app@3.0.0-4020420240722002': - resolution: {integrity: sha512-TxRH2Q5akpJawxEcC9D+YKzhLOz5IsLpFkMabVFLWEZfgeDE2Ft2YJALwAxJSCYD4o0BcGtDEoYz68uWDwk0Ng==} + '@dcloudio/uni-app-vue@3.0.0-4050520250307001': + resolution: {integrity: sha512-MFFkhzukg06ef0AuKKjKcuxLcbOTnSBbDvrw7TJUe0pmM4u4ttw19Wn28/2O9QVsfshvD4QyT4xiItNiUm4X8Q==} + + '@dcloudio/uni-app@3.0.0-4050520250307001': + resolution: {integrity: sha512-flwafDA0RmqUaqqGex45UYA54ZERReRtPeTWG6VnzexcSefuXVQPQnNRghuu347irNcVALmmO8HuVdkX1Gei3Q==} peerDependencies: - '@dcloudio/types': ^3.4.8 + '@dcloudio/types': ^3.4.14 - '@dcloudio/uni-automator@3.0.0-4020420240722002': - resolution: {integrity: sha512-fgkotGZj/ycS4fElPGe89wXnJeUBaI3VCPyjS1C2qWY77EYfjeyrZDw6l0eHzA9YDOvZmYPhzACMgjwbfsEoLQ==} + '@dcloudio/uni-automator@3.0.0-4050520250307001': + resolution: {integrity: sha512-GkaV5hi25HcnK8n9RujksxallBZf4oewyJz/vJ3FoVZkARVVWti+9N7rMWBpxVXfi3z4OD6jSG24lwZey9etOw==} peerDependencies: jest: 27.0.4 jest-environment-node: 27.5.1 @@ -846,83 +864,96 @@ packages: resolution: {integrity: sha512-cU9iOmHcOSFYQ8Ucy+ipt8AaQWdYeaW+S433aLKfeyv/6Ehqn/C2aFSFjkslqYsKfeQ7ZymqDn6FcCnz7HYSvQ==} engines: {node: ^14.18.0 || >=16.0.0} - '@dcloudio/uni-cloud@3.0.0-4020420240722002': - resolution: {integrity: sha512-44J/k1dCcSYHLgqdedo1/EQE363C9POXjQfWJPDDIZc00b6Cqf6O16IPJowqbNs6lusKMZIrMp1mTdU2iQbpBw==} + '@dcloudio/uni-cli-shared@3.0.0-4050520250307001': + resolution: {integrity: sha512-EJBZpUFVQZWKc0UPUtdwMnE/lYXAG2cFIFhYmhc2MGGZuS+peyshNSbdR4AIPPzu5OTzQBlKSj1aUd1468MUzw==} + engines: {node: ^14.18.0 || >=16.0.0} - '@dcloudio/uni-components@3.0.0-4020420240722002': - resolution: {integrity: sha512-zMZSpPuxsKSkImB7fYmQMuO5x9hD5lbiFxq1PUByfG7O9nrMh1/ta7QA6QPu+R1haU0mNUXZz5PGgKUZ5wKnbw==} + '@dcloudio/uni-cloud@3.0.0-4050520250307001': + resolution: {integrity: sha512-6r08WT2jxK9IFL3NJPHJ2AtxKZ//6r3caXEYHCpZd0T1S/Dfv1cEAXk9+uBFhpX51eHe+pG7ODBVeYdXy/LyyQ==} - '@dcloudio/uni-h5-vite@3.0.0-4020420240722002': - resolution: {integrity: sha512-TFD+vYVwaH1tHH1xavRHH+ZTz0Irecx7dHf1ZP2rDizzigx6piCyTlS1W3zf/GFzu8bepLjANEcyfZ1Wn0DCzA==} + '@dcloudio/uni-components@3.0.0-4050520250307001': + resolution: {integrity: sha512-gbKVAUvj9+gGpkLE9CRfo13BW9tXAzN7hp8oZnfwXawK/mtXu3+Zhd42Niye7qPvmNszFGOEnM9Jz1vcp6zZsg==} - '@dcloudio/uni-h5-vue@3.0.0-4020420240722002': - resolution: {integrity: sha512-1iv1aJHyFFMhEmggEjzys3hcU0PzTEGD/LuyP7FmphJeUM3h3pMRmcpdVErXjjbfsw6Vcl5XpfKw49wWpF5wdw==} + '@dcloudio/uni-console@3.0.0-4050520250307001': + resolution: {integrity: sha512-aOwFDFWgtbTZ2O33t19/NGkPdMgU2kGJaBImQvwIm6jRw75vIPHPTGKoeiNUTpdzAXd25J9W9hMJA30Qz0+YlA==} - '@dcloudio/uni-h5@3.0.0-4020420240722002': - resolution: {integrity: sha512-6S6B2WAnv2hgb2UNdYilDbP7uM9aFRdo+j+7as6aomKzNrepRW66qnqo7gThCx6f1T33TIZ8maESAMGZnW2/YA==} + '@dcloudio/uni-h5-vite@3.0.0-4050520250307001': + resolution: {integrity: sha512-eB+I4DyYoYOBtk9gOeSUKMla5nWhcubrCxjxVgDMUr9F+Ui4qs0GBdK6EmQeNW05qKbWcdIfqZrBfliwjAQXiQ==} + + '@dcloudio/uni-h5-vue@3.0.0-4050520250307001': + resolution: {integrity: sha512-AlbU83OfD7AWvl5SuBlZtEeopRHTjzz1VX5TDAPsBSJC40XvuAxfuvZWfoUGPJs0M37TP/ReZY0+i4qwo43Gbg==} + + '@dcloudio/uni-h5@3.0.0-4050520250307001': + resolution: {integrity: sha512-wYWFUALS/pvQwYwghHmVcRorI+8/KDbVQ03n4KOHcMyRMyJDWiIFyZjUco6nUHrQaJiwnpp7RDr0mTqWMi6siA==} '@dcloudio/uni-i18n@3.0.0-4020420240722002': resolution: {integrity: sha512-AYFfypLBqA6mWqvAsSipboZF8YLk3N6ok6Ud1EtIe4Lk0XthlGNX7EacSyfb8cPVGtt5mamkLP6z+butG+nuZg==} - '@dcloudio/uni-mp-alipay@3.0.0-4020420240722002': - resolution: {integrity: sha512-eC93bKMDn7LC1K9yDkkebOeuLEISHgdmfxK5MDcBWEEw0X/GSKpKclUzRUEuFFKtAJCT++6gDN/rMYI5lMl+TQ==} + '@dcloudio/uni-i18n@3.0.0-4050520250307001': + resolution: {integrity: sha512-Kg/S1ZuZgxCIYXbYSN/F/i22RxouHHLOLhY35C3Yud4aXXjDMPX5dCeTkkyeAfE42iKH7OJaDaSmS4JDV2Ffpg==} - '@dcloudio/uni-mp-baidu@3.0.0-4020420240722002': - resolution: {integrity: sha512-DLfOW03QK4FilySJ5IKMka8GRwkYKkwmA4fjG27ZmIWaziHec+IbDyRXyJ4DN2JIC/WKSTYR96bGNGSAQcWQDw==} + '@dcloudio/uni-mp-alipay@3.0.0-4050520250307001': + resolution: {integrity: sha512-zdZDj6EKTWYTzjeOvtL7PWqE3kimDJFzQmPShZOeIxfHkhZ48HW6UD3Iu0waGPQcoIv5IwA/WDKMFjp7UMquXQ==} - '@dcloudio/uni-mp-compiler@3.0.0-4020420240722002': - resolution: {integrity: sha512-j3nTBkxRut1ESJDOhMpioTVbpT6zhNseT3KQd7/1J3AF5GCi3pJ7gu7LvMp5oD3F1cmwvruFLqkOi/Q5AVcZyg==} + '@dcloudio/uni-mp-baidu@3.0.0-4050520250307001': + resolution: {integrity: sha512-U6nYgrWXKu3VegmTYehr6icb++uBwYbLiLmI4AVU2UaIWdhEaPb7LqGS/6U35MlBfuPD8s8WFE044uOElgYpEQ==} - '@dcloudio/uni-mp-jd@3.0.0-4020420240722002': - resolution: {integrity: sha512-WecNRAA9TnNQwe9XzIbf2gdEO3k+01Eee9f4TbN6tCvGWbF2YWNahEgFCE1lJchbsxuFwddIDtW8w4HiHyl/3w==} + '@dcloudio/uni-mp-compiler@3.0.0-4050520250307001': + resolution: {integrity: sha512-gBxKrNZPUGRFjcr00LYQyVkHHuQWjPZY+1hjK9evb10xeCBAMAVgpg/pV6g7yqyS6MRfaaXeMqxLRz1NLuhTIQ==} - '@dcloudio/uni-mp-kuaishou@3.0.0-4020420240722002': - resolution: {integrity: sha512-4mcY73GTgd/IdhlSVTk9LPBt/+orVu828LPlQ66rJBXfkMpzGU6LEeYsGlKi1th21v09vByAt37kvdjfqNk3oQ==} + '@dcloudio/uni-mp-jd@3.0.0-4050520250307001': + resolution: {integrity: sha512-oM0sZmnrDFs4eEVByLu8IRWFD45UUNJYVw2PdSWIZ5gHaJmda8hT+kd8FmikGUtMyr5xB5XNUrSbDK4C7HLlAQ==} - '@dcloudio/uni-mp-lark@3.0.0-4020420240722002': - resolution: {integrity: sha512-6Ks70f0bDCYmUHDi/VBP20QmfWaAwE88HPlJv4W52iAQZx1VGln/JzbCzHglcy+X7HuyjpOzjTEXRwo+olnoWA==} + '@dcloudio/uni-mp-kuaishou@3.0.0-4050520250307001': + resolution: {integrity: sha512-tVPw6+97DOg36YXInBCSgfnbldsGJ21dAAUfqmJ6+T+DxwQxrbNDs3S8XHsiba8TI5irp4kqCbEm2Kw1Goyu8A==} - '@dcloudio/uni-mp-qq@3.0.0-4020420240722002': - resolution: {integrity: sha512-KFCxpKvfIVOpw2iW6bf1UsR0ScqileUDi0niWernb/OkvefEznJukAAWFlpYHv+SMMCiC7cNm5L3mDFgti3+qA==} + '@dcloudio/uni-mp-lark@3.0.0-4050520250307001': + resolution: {integrity: sha512-vTiPREJgvldmiMxM1J/NRVqDxl+m2VON2c0lf6mDQn3QYlTK/yOAX/rfYif6gyJRXJSz+FDQl3Z97LDXsNOr/Q==} - '@dcloudio/uni-mp-toutiao@3.0.0-4020420240722002': - resolution: {integrity: sha512-mMyWaAvaMNn4fW5JNveK2gfa6rh7qzS1ffSPSx/NkzJzFYsKrLPuyfIU60LgN6a5YM3iNGoI3KYpRvgLjws4sg==} + '@dcloudio/uni-mp-qq@3.0.0-4050520250307001': + resolution: {integrity: sha512-Hs21SDapK3OOwVtINZ8bdfbbWT/bcY5eFJ42H4WebOSyaYyxIRGBniWGqI5RKoMgmiQm6+bneJPvUaYM1IbpYA==} - '@dcloudio/uni-mp-vite@3.0.0-4020420240722002': - resolution: {integrity: sha512-KlNM780RwZ6POpFre78v9fxiT5dcKTSozDoBGs3qeUH+XCdKjMYGQyuy1QFMd6rqbwsEwGnhK57l1fiMi3yVOg==} + '@dcloudio/uni-mp-toutiao@3.0.0-4050520250307001': + resolution: {integrity: sha512-guFtmB0VlaJZjoO30rE2bM4maNahBI+Lm0+MvIFVm8kyIlbwBZxHPS95L2JvcvUP+drfMd80CpwEiWa4BrKqVg==} - '@dcloudio/uni-mp-vue@3.0.0-4020420240722002': - resolution: {integrity: sha512-A3nj0Vg5xUaYs0W2eoyRtbiI4WBzpMpkF1PIxiWLvxABLhR5c0LctV3tcLZxOnjk/04GtMOYin5InTv1mVEEgg==} + '@dcloudio/uni-mp-vite@3.0.0-4050520250307001': + resolution: {integrity: sha512-SV5pdAbwgQJCtnPZupHDkybAQI7N/o66xzv8s07enzhNr2lOUc7qYioyeI2zCWcIxQVeD/XapoVRXMDVGzYq7g==} - '@dcloudio/uni-mp-weixin@3.0.0-4020420240722002': - resolution: {integrity: sha512-c89Grd/9hadCl3zzL4ydgenS7fEIxwaizEGqxn+1cgy9vuCnnh7eVL5V3JkxwCDwMsf8t7ltxgdQEUX1Sd/c5A==} + '@dcloudio/uni-mp-vue@3.0.0-4050520250307001': + resolution: {integrity: sha512-2pi/pkZjmS1+7UzuycTUQv9GdFES4v9CSYR8hO5YQSLX8BcX0HN7uPc6Xph6ZkWKgoDFF6iI4lxrICQMywc3sA==} - '@dcloudio/uni-mp-xhs@3.0.0-4020420240722002': - resolution: {integrity: sha512-xEXe5XRlF8cFVREGlNTocbYSZS6XLT2GBDt9XUW9Py98cVOdyckl/bi4vp7ui0poV4Z9T4hVNG2cC7XDuqwLeQ==} + '@dcloudio/uni-mp-weixin@3.0.0-4050520250307001': + resolution: {integrity: sha512-mtIVSoe1mvo8tXBy60kGBl4vXIX1dwVFpPBmMwvVOJ91AshzOLbbIKNEqdE5Fg6Z9dHr+YHkWQB9DTPc/ZQeJQ==} - '@dcloudio/uni-nvue-styler@3.0.0-4020420240722002': - resolution: {integrity: sha512-G1aqig3dHgzli16UG2yYkqq6vs/zwHtAMDjbIi0riElJX9g6uokJ2AWyoV1E1AmbFen5oaBIlwcjDYX7AJ4jbg==} + '@dcloudio/uni-mp-xhs@3.0.0-4050520250307001': + resolution: {integrity: sha512-SNCAQYwaPqigeeGp0yFVH466xOgfJOvdAyJn/PN2+2ZQiICQ+ASVBzfJXhoizP5X7ey85n4L44j5p7Cm5BqBiQ==} - '@dcloudio/uni-push@3.0.0-4020420240722002': - resolution: {integrity: sha512-YvU9PS005OdVbsuhJ++1X7pS7vbX0WPeyZSLgi7zu05ROVZSH41vu54HlNvL1sfopKEWtHl4BKlruGV2muDVoQ==} + '@dcloudio/uni-nvue-styler@3.0.0-4050520250307001': + resolution: {integrity: sha512-QE2Cxde6cc+KH/sZtEi/EW8snzkA4TRbhp2KfYXaRZ3aVZLbD4KMgfn/DEz22q5rea4d21xYUSmTPkGniayO1A==} - '@dcloudio/uni-quickapp-webview@3.0.0-4020420240722002': - resolution: {integrity: sha512-o0ekdcrQUAX1oNGbACNdLTGEzP75LginMMRjpkYyhrqz0cVXYlmzybY8PF+LvoYvmAEQV30ECR9FVtayFpVyZw==} + '@dcloudio/uni-push@3.0.0-4050520250307001': + resolution: {integrity: sha512-mAHNkJ59iklvbJ++T00jWsMr+FbMApzCOFWIF4IPB5sI3SJLFbv6u+Shl9Rz7NkRlcIDAfvAtIMBByWAEAmKKQ==} + + '@dcloudio/uni-quickapp-webview@3.0.0-4050520250307001': + resolution: {integrity: sha512-TP3bnbktuY09XQznSjPBW+cJeSMYEnUimdLbysBb/FGD+TlJh3BZPHjECepW7dNpl2tlPkWcLyWvyd+cwR7sHg==} '@dcloudio/uni-shared@3.0.0-4020420240722002': resolution: {integrity: sha512-kFKmAgUDdlUyS3XBuXvmLQu3tEDAlJX6hQshsbdwP5LsH4MoI5xJVZpO6iloz3injL7+D/3i/UGoreA0qT3jew==} - '@dcloudio/uni-stacktracey@3.0.0-4020420240722002': - resolution: {integrity: sha512-SFc5wFqGBd5Gfk3uq0WPl3T1YsPcRP17euilbjJHvrdzAs3U5QlI9Azu6IYYTOBhxsRa5n234dfu+YHjvHysrQ==} + '@dcloudio/uni-shared@3.0.0-4050520250307001': + resolution: {integrity: sha512-soGflRsTUAkBKBMAr2FwkFoJ2m2hYJn9kJOlNIPN4+XS/xUvwIox5Z6gljrCb0IBbLOYSP9PiE9rB0bB2oOQWg==} - '@dcloudio/uni-stat@3.0.0-4020420240722002': - resolution: {integrity: sha512-eLiNyyGlaHuEtNOBLIcr7x4+aEsg7IEHq8RlLl21zQcpvDAFaa3IwMtyMaLZa5UUg/LPQA6vITCHx/O2R0uXrQ==} + '@dcloudio/uni-stacktracey@3.0.0-4050520250307001': + resolution: {integrity: sha512-pWLrIvk3ZijSN3bIIo8quL/d39Nj5hTCfj/42Jimeqr81SkOWkbywvKNnzuCBq1+xLypKIR417Q0IC1ha6zScg==} + + '@dcloudio/uni-stat@3.0.0-4050520250307001': + resolution: {integrity: sha512-+/0MMzvLDyTTo0Vof56cpScY4JKfGL9I2he4fGPfNpYuMOW897WOST7Tgi90se1jYhqK+a1TKFn7h0HySv08kA==} '@dcloudio/uni-vue-devtools@3.0.0-4020420240722002': resolution: {integrity: sha512-clN+gS4k3wveRaVVQeo24O7UQW+x6czaz7/uQ6Mh8qSg8os1BOgbzfOYVdzV0ArdRbYTT6BzEkO/AjgPkXkXWA==} - '@dcloudio/vite-plugin-uni@3.0.0-4020420240722002': - resolution: {integrity: sha512-+SYpD22swzwOtyiaOWyknRFpkc2YD8UNFoz+fAVEE6GEK48kvWAP1KpeY8iVsTObkrTs+1Oz4yr8QGZVqE3ksg==} + '@dcloudio/vite-plugin-uni@3.0.0-4050520250307001': + resolution: {integrity: sha512-wrjJvHsOEmx5XWfd12KDm3eGHkVUWm1HpAP5cUZTCEd85iXIccf2GJJxr4Aa0rx2Wfij7ArVSMpZfdxFeeI+eg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -942,12 +973,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.23.1': resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} engines: {node: '>=18'} @@ -960,12 +985,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.23.1': resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} engines: {node: '>=18'} @@ -978,12 +997,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.23.1': resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} engines: {node: '>=18'} @@ -996,12 +1009,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.23.1': resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} engines: {node: '>=18'} @@ -1014,12 +1021,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.23.1': resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} engines: {node: '>=18'} @@ -1032,12 +1033,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.23.1': resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} engines: {node: '>=18'} @@ -1050,12 +1045,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.23.1': resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} engines: {node: '>=18'} @@ -1068,12 +1057,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.23.1': resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} engines: {node: '>=18'} @@ -1086,12 +1069,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.23.1': resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} engines: {node: '>=18'} @@ -1104,12 +1081,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.23.1': resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} engines: {node: '>=18'} @@ -1122,12 +1093,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.23.1': resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} engines: {node: '>=18'} @@ -1140,12 +1105,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.23.1': resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} engines: {node: '>=18'} @@ -1158,12 +1117,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.23.1': resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} engines: {node: '>=18'} @@ -1176,12 +1129,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.23.1': resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} engines: {node: '>=18'} @@ -1194,12 +1141,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.23.1': resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} engines: {node: '>=18'} @@ -1212,12 +1153,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.23.1': resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} engines: {node: '>=18'} @@ -1230,12 +1165,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.23.1': resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} engines: {node: '>=18'} @@ -1248,12 +1177,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.23.1': resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} engines: {node: '>=18'} @@ -1272,12 +1195,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.23.1': resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} engines: {node: '>=18'} @@ -1290,12 +1207,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.23.1': resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} engines: {node: '>=18'} @@ -1308,12 +1219,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.23.1': resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} engines: {node: '>=18'} @@ -1326,12 +1231,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.23.1': resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} engines: {node: '>=18'} @@ -1344,12 +1243,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.23.1': resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} engines: {node: '>=18'} @@ -1923,7 +1816,6 @@ packages: '@rollup/rollup-win32-x64-msvc@4.27.4': resolution: {integrity: sha512-3j4jx1TppORdTAoBJRd+/wJRGCPC0ETWkXOecJ6PPZLj6SptXkrXcNqdj0oclbKML6FkQltdz7bBA3rUSirZug==} - cpu: [x64] os: [win32] '@sinonjs/commons@1.8.6': @@ -2265,8 +2157,11 @@ packages: peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 - '@vitejs/plugin-legacy@5.4.3': - resolution: {integrity: sha512-wsyXK9mascyplcqvww1gA1xYiy29iRHfyciw+a0t7qRNdzX6PdfSWmOoCi74epr87DujM+5J+rnnSv+4PazqVg==} + '@vant/area-data@2.0.0': + resolution: {integrity: sha512-zgP4AA8z09S9QTNgVCCHo9cHjcybrv22RJDYPjuCkecn4SB98T5EoPQh2TwqbQXmUhbaOGgiZGy3OUaUxnY7qg==} + + '@vitejs/plugin-legacy@5.3.2': + resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: terser: ^5.4.0 @@ -2279,8 +2174,8 @@ packages: vite: ^4.0.0 || ^5.0.0 vue: ^3.0.0 - '@vitejs/plugin-vue@5.1.4': - resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} + '@vitejs/plugin-vue@5.1.0': + resolution: {integrity: sha512-QMRxARyrdiwi1mj3AW4fLByoHTavreXq0itdEW696EihXglf1MB3D4C2gBvE0jMPH29ZjC3iK8aIaUMLf4EOGA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 @@ -2330,36 +2225,24 @@ packages: '@vue/compiler-core@3.4.21': resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} - '@vue/compiler-core@3.4.38': - resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} - '@vue/compiler-core@3.5.12': resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} '@vue/compiler-dom@3.4.21': resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} - '@vue/compiler-dom@3.4.38': - resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} - '@vue/compiler-dom@3.5.12': resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} '@vue/compiler-sfc@3.4.21': resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} - '@vue/compiler-sfc@3.4.38': - resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} - '@vue/compiler-sfc@3.5.12': resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} '@vue/compiler-ssr@3.4.21': resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} - '@vue/compiler-ssr@3.4.38': - resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} - '@vue/compiler-ssr@3.5.12': resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} @@ -2373,6 +2256,15 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/devtools-api@7.7.2': + resolution: {integrity: sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==} + + '@vue/devtools-kit@7.7.2': + resolution: {integrity: sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==} + + '@vue/devtools-shared@7.7.2': + resolution: {integrity: sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==} + '@vue/language-core@2.1.8': resolution: {integrity: sha512-DtPUKrIRqqzY1joGfVHxHWZoxXZbCQLmVtW+QTifuPInfcs1R/3UAdlJXDp+lpSpP9lI5m+jMYYlwDXXu3KSTg==} peerDependencies: @@ -2381,37 +2273,29 @@ packages: typescript: optional: true - '@vue/reactivity@3.4.38': - resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} + '@vue/reactivity@3.4.21': + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} '@vue/reactivity@3.5.12': resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} - '@vue/runtime-core@3.4.38': - resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} + '@vue/runtime-core@3.4.21': + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} '@vue/runtime-core@3.5.12': resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} - '@vue/runtime-dom@3.4.38': - resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} + '@vue/runtime-dom@3.4.21': + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} '@vue/server-renderer@3.4.21': resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} peerDependencies: vue: 3.4.21 - '@vue/server-renderer@3.4.38': - resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} - peerDependencies: - vue: 3.4.38 - '@vue/shared@3.4.21': resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - '@vue/shared@3.4.38': - resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} - '@vue/shared@3.5.12': resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} @@ -2457,6 +2341,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} + engines: {node: '>=0.4.0'} + hasBin: true + address@1.2.2: resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} engines: {node: '>= 10.0.0'} @@ -2586,6 +2475,9 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + birpc@0.2.19: + resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} + bmp-js@0.1.0: resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==} @@ -2736,6 +2628,9 @@ packages: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} @@ -2783,6 +2678,9 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.1: + resolution: {integrity: sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==} + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -2812,6 +2710,10 @@ packages: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + core-js-compat@3.38.1: resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} @@ -2906,6 +2808,19 @@ packages: supports-color: optional: true + debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + decimal.js@10.4.3: resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} @@ -2971,6 +2886,9 @@ packages: resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -3046,11 +2964,6 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.23.1: resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} engines: {node: '>=18'} @@ -3306,6 +3219,9 @@ packages: resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==} engines: {node: '>= 0.10.0'} + exsolve@1.0.4: + resolution: {integrity: sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -3336,6 +3252,14 @@ packages: picomatch: optional: true + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -3518,6 +3442,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} @@ -3679,6 +3606,10 @@ packages: is-typedarray@1.0.0: resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -3983,6 +3914,10 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} + local-pkg@1.1.1: + resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + engines: {node: '>=14'} + localstorage-polyfill@1.0.1: resolution: {integrity: sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==} engines: {node: '>=6'} @@ -4016,6 +3951,9 @@ packages: magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} @@ -4126,6 +4064,9 @@ packages: resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} engines: {node: '>= 8'} + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -4138,6 +4079,9 @@ packages: mlly@1.7.2: resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} + mlly@1.7.4: + resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + module-alias@2.2.3: resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==} @@ -4350,6 +4294,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} @@ -4376,6 +4323,15 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} + pinia@3.0.1: + resolution: {integrity: sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==} + peerDependencies: + typescript: '>=4.4.4' + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -4391,6 +4347,12 @@ packages: pkg-types@1.2.1: resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.1.0: + resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} @@ -4399,6 +4361,10 @@ packages: resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} engines: {node: '>=4.0.0'} + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + postcss-import@14.1.0: resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} engines: {node: '>=10.0.0'} @@ -4496,10 +4462,18 @@ packages: resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==} hasBin: true + qrcode@1.5.4: + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} + engines: {node: '>=10.13.0'} + hasBin: true + qs@6.13.0: resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} engines: {node: '>=0.6'} + quansync@0.2.8: + resolution: {integrity: sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==} + querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} @@ -4593,6 +4567,9 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -4623,6 +4600,9 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -4813,6 +4793,9 @@ packages: resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -4894,6 +4877,10 @@ packages: spdx-license-ids@3.0.20: resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} + speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -4949,6 +4936,10 @@ packages: strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + superjson@2.2.2: + resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==} + engines: {node: '>=16'} + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -5022,6 +5013,10 @@ packages: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} + tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -5187,6 +5182,23 @@ packages: '@vueuse/core': optional: true + unplugin-utils@0.2.4: + resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} + engines: {node: '>=18.12.0'} + + unplugin-vue-components@28.4.1: + resolution: {integrity: sha512-niGSc0vJD9ueAnsqcfAldmtpkppZ09B6p2G1dL7X5S8KPdgbk1P+txPwaaDCe7N+eZh2VG1aAypLXkuJs3OSUg==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + unplugin@1.14.1: resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} engines: {node: '>=14.0.0'} @@ -5196,6 +5208,10 @@ packages: webpack-sources: optional: true + unplugin@2.2.0: + resolution: {integrity: sha512-m1ekpSwuOT5hxkJeZGRxO7gXbXT3gF26NjQ7GdVHoLoF8/nopLcd/QfPigpCy7i51oFHiRJg/CyHhj4vs2+KGw==} + engines: {node: '>=18.12.0'} + unquote@1.1.1: resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} @@ -5205,6 +5221,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + uqrcodejs@4.0.7: + resolution: {integrity: sha512-84+aZmD2godCVI+93lxE3YUAPNY8zAJvNA7xRS7R7U+q57KzMDepBSfNCwoRUhWOfR6eHFoAOcHRPwsP6ka1cA==} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -5235,8 +5254,8 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vite@5.4.10: - resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} + vite@5.2.8: + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5244,7 +5263,6 @@ packages: less: '*' lightningcss: ^1.21.0 sass: '*' - sass-embedded: '*' stylus: '*' sugarss: '*' terser: ^5.4.0 @@ -5257,8 +5275,6 @@ packages: optional: true sass: optional: true - sass-embedded: - optional: true stylus: optional: true sugarss: @@ -5333,8 +5349,8 @@ packages: peerDependencies: typescript: '>=5.0.0' - vue@3.4.38: - resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} + vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -5373,6 +5389,9 @@ packages: resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} engines: {node: '>=10'} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -5388,6 +5407,10 @@ packages: peerDependencies: vue: '>=3.2.47' + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -5469,6 +5492,9 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -5500,6 +5526,10 @@ packages: engines: {node: '>= 14'} hasBin: true + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -5508,6 +5538,10 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + yargs@16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} @@ -6347,11 +6381,10 @@ snapshots: '@dcloudio/types@3.4.14': {} - '@dcloudio/uni-app-plus@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-app-harmony@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-app-uts': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-app-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-app-vue': 3.0.0-4020420240722002 + '@dcloudio/uni-app-uts': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-app-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) debug: 4.3.7 fs-extra: 10.1.0 licia: 1.43.0 @@ -6367,14 +6400,35 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-app-uts@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-app-plus@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))': + dependencies: + '@dcloudio/uni-app-uts': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-app-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-app-vue': 3.0.0-4050520250307001 + debug: 4.3.7 + fs-extra: 10.1.0 + licia: 1.43.0 + postcss-selector-parser: 6.1.2 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vite + - vue + - webpack-sources + + '@dcloudio/uni-app-uts@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: '@babel/parser': 7.26.1 '@babel/types': 7.26.0 - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-i18n': 3.0.0-4020420240722002 - '@dcloudio/uni-nvue-styler': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-console': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 + '@dcloudio/uni-nvue-styler': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 '@rollup/pluginutils': 5.1.3(rollup@4.24.1) @@ -6390,7 +6444,7 @@ snapshots: magic-string: 0.30.12 picocolors: 1.1.1 source-map-js: 1.2.1 - unplugin-auto-import: 0.16.7(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(rollup@4.24.1) + unimport: 3.13.1(rollup@4.24.1) transitivePeerDependencies: - '@nuxt/kit' - '@vueuse/core' @@ -6401,14 +6455,14 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-app-vite@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-app-vite@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-i18n': 3.0.0-4020420240722002 - '@dcloudio/uni-nvue-styler': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 + '@dcloudio/uni-nvue-styler': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@rollup/pluginutils': 5.1.3(rollup@4.24.1) - '@vitejs/plugin-vue': 5.1.4(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4)) + '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 debug: 4.3.7 @@ -6425,17 +6479,18 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-app-vue@3.0.0-4020420240722002': {} + '@dcloudio/uni-app-vue@3.0.0-4050520250307001': {} - '@dcloudio/uni-app@3.0.0-4020420240722002(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-app@3.0.0-4050520250307001(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: '@dcloudio/types': 3.4.14 - '@dcloudio/uni-cloud': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-components': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-i18n': 3.0.0-4020420240722002 - '@dcloudio/uni-push': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-shared': 3.0.0-4020420240722002 - '@dcloudio/uni-stat': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + '@dcloudio/uni-cloud': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-components': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-console': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 + '@dcloudio/uni-push': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 + '@dcloudio/uni-stat': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) '@vue/shared': 3.4.21 transitivePeerDependencies: - '@nuxt/kit' @@ -6447,9 +6502,9 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-automator@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-automator@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) address: 1.2.2 cross-env: 7.0.3 debug: 4.3.7 @@ -6475,7 +6530,7 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-cli-shared@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-cli-shared@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.26.0 @@ -6492,7 +6547,7 @@ snapshots: '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 '@vue/compiler-ssr': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.38(typescript@5.5.4)) + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.5.4)) '@vue/shared': 3.4.21 adm-zip: 0.5.16 autoprefixer: 10.4.20(postcss@8.4.47) @@ -6522,7 +6577,7 @@ snapshots: resolve: 1.22.8 source-map-js: 1.2.1 tapable: 2.2.1 - unplugin-auto-import: 0.16.7(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(rollup@4.24.1) + unplugin-auto-import: 0.16.7(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(rollup@4.24.1) xregexp: 3.1.0 transitivePeerDependencies: - '@nuxt/kit' @@ -6534,11 +6589,70 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-cloud@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-cli-shared@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-i18n': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.0 + '@babel/core': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 + '@intlify/core-base': 9.1.9 + '@intlify/shared': 9.1.9 + '@intlify/vue-devtools': 9.1.9 + '@rollup/pluginutils': 5.1.3(rollup@4.24.1) + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.5.4)) + '@vue/shared': 3.4.21 + adm-zip: 0.5.16 + autoprefixer: 10.4.20(postcss@8.4.47) + base64url: 3.0.1 + chokidar: 3.6.0 + compare-versions: 3.6.0 + debug: 4.3.7 + es-module-lexer: 1.5.4 + esbuild: 0.20.2 + estree-walker: 2.0.2 + fast-glob: 3.3.2 + fs-extra: 10.1.0 + hash-sum: 2.0.0 + isbinaryfile: 5.0.4 + jsonc-parser: 3.3.1 + lines-and-columns: 2.0.4 + magic-string: 0.30.12 + merge: 2.1.1 + mime: 3.0.0 + module-alias: 2.2.3 + os-locale-s-fix: 1.0.8-fix-1 + picocolors: 1.1.1 + postcss-import: 14.1.0(postcss@8.4.47) + postcss-load-config: 3.1.4(postcss@8.4.47) + postcss-modules: 4.3.1(postcss@8.4.47) + postcss-selector-parser: 6.1.2 + resolve: 1.22.8 + source-map-js: 1.2.1 + tapable: 2.2.1 + unplugin-auto-import: 0.18.3(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(rollup@4.24.1) + xregexp: 3.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + + '@dcloudio/uni-cloud@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/shared': 3.4.21 fast-glob: 3.3.2 transitivePeerDependencies: @@ -6551,11 +6665,11 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-components@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-components@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cloud': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-h5': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-i18n': 3.0.0-4020420240722002 + '@dcloudio/uni-cloud': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-h5': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 transitivePeerDependencies: - '@nuxt/kit' - '@vueuse/core' @@ -6566,14 +6680,28 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-h5-vite@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-console@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + fs-extra: 10.1.0 + transitivePeerDependencies: + - '@nuxt/kit' + - '@vueuse/core' + - postcss + - rollup + - supports-color + - ts-node + - vue + - webpack-sources + + '@dcloudio/uni-h5-vite@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@rollup/pluginutils': 5.1.3(rollup@4.24.1) '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.38(typescript@5.5.4)) + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.5.4)) '@vue/shared': 3.4.21 debug: 4.3.7 fs-extra: 10.1.0 @@ -6589,26 +6717,26 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-h5-vue@3.0.0-4020420240722002(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-h5-vue@3.0.0-4050520250307001(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-shared': 3.0.0-4020420240722002 - '@vue/server-renderer': 3.4.21(vue@3.4.38(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.5.4)) transitivePeerDependencies: - vue - '@dcloudio/uni-h5@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-h5@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-h5-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-h5-vue': 3.0.0-4020420240722002(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-i18n': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 - '@vue/server-renderer': 3.4.21(vue@3.4.38(typescript@5.5.4)) + '@dcloudio/uni-h5-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-h5-vue': 3.0.0-4050520250307001(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.5.4)) '@vue/shared': 3.4.21 debug: 4.3.7 localstorage-polyfill: 1.0.1 postcss-selector-parser: 6.1.2 safe-area-insets: 1.4.1 - vue-router: 4.4.5(vue@3.4.38(typescript@5.5.4)) + vue-router: 4.4.5(vue@3.4.21(typescript@5.5.4)) xmlhttprequest: 1.8.0 transitivePeerDependencies: - '@nuxt/kit' @@ -6622,12 +6750,14 @@ snapshots: '@dcloudio/uni-i18n@3.0.0-4020420240722002': {} - '@dcloudio/uni-mp-alipay@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-i18n@3.0.0-4050520250307001': {} + + '@dcloudio/uni-mp-alipay@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 transitivePeerDependencies: @@ -6640,14 +6770,15 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-baidu@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-baidu@3.0.0-4050520250307001(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-compiler': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-mp-weixin': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-app': 3.0.0-4050520250307001(@dcloudio/types@3.4.14)(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-compiler': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-mp-weixin': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 jimp: 0.10.3 @@ -6656,6 +6787,7 @@ snapshots: qrcode-terminal: 0.12.0 ws: 8.18.0 transitivePeerDependencies: + - '@dcloudio/types' - '@nuxt/kit' - '@vueuse/core' - bufferutil @@ -6668,13 +6800,13 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-compiler@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-compiler@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: '@babel/generator': 7.26.0 '@babel/parser': 7.26.1 '@babel/types': 7.26.0 - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/compiler-core': 3.4.21 '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 @@ -6689,13 +6821,13 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-jd@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-jd@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-compiler': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-compiler': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/shared': 3.4.21 transitivePeerDependencies: - '@nuxt/kit' @@ -6707,14 +6839,14 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-kuaishou@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-kuaishou@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-compiler': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-mp-weixin': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-compiler': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-mp-weixin': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 transitivePeerDependencies: @@ -6730,14 +6862,14 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-lark@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-lark@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-compiler': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-toutiao': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-compiler': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-toutiao': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 transitivePeerDependencies: @@ -6750,12 +6882,12 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-qq@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-qq@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/shared': 3.4.21 fs-extra: 10.1.0 transitivePeerDependencies: @@ -6768,13 +6900,13 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-toutiao@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-toutiao@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-compiler': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-compiler': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 transitivePeerDependencies: @@ -6787,13 +6919,14 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-vite@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-vite@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-i18n': 3.0.0-4020420240722002 - '@dcloudio/uni-mp-compiler': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-i18n': 3.0.0-4050520250307001 + '@dcloudio/uni-mp-compiler': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 + '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 '@vue/shared': 3.4.21 debug: 4.3.7 @@ -6807,17 +6940,17 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-vue@3.0.0-4020420240722002': + '@dcloudio/uni-mp-vue@3.0.0-4050520250307001': dependencies: - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/shared': 3.4.21 - '@dcloudio/uni-mp-weixin@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-weixin@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/shared': 3.4.21 jimp: 0.10.3 licia: 1.43.0 @@ -6837,13 +6970,13 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-mp-xhs@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-mp-xhs@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-compiler': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-compiler': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/shared': 3.4.21 transitivePeerDependencies: - '@nuxt/kit' @@ -6855,14 +6988,14 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-nvue-styler@3.0.0-4020420240722002': + '@dcloudio/uni-nvue-styler@3.0.0-4050520250307001': dependencies: parse-css-font: 4.0.0 postcss: 8.4.47 - '@dcloudio/uni-push@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-push@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) transitivePeerDependencies: - '@nuxt/kit' - '@vueuse/core' @@ -6873,12 +7006,12 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-quickapp-webview@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-quickapp-webview@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vite': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-mp-vue': 3.0.0-4020420240722002 - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vite': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-mp-vue': 3.0.0-4050520250307001 + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@vue/shared': 3.4.21 transitivePeerDependencies: - '@nuxt/kit' @@ -6894,12 +7027,16 @@ snapshots: dependencies: '@vue/shared': 3.4.21 - '@dcloudio/uni-stacktracey@3.0.0-4020420240722002': {} - - '@dcloudio/uni-stat@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-shared@3.0.0-4050520250307001': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@vue/shared': 3.4.21 + + '@dcloudio/uni-stacktracey@3.0.0-4050520250307001': {} + + '@dcloudio/uni-stat@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': + dependencies: + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 debug: 4.3.7 transitivePeerDependencies: - '@nuxt/kit' @@ -6911,9 +7048,9 @@ snapshots: - vue - webpack-sources - '@dcloudio/uni-vue-devtools@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/uni-vue-devtools@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) + '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) detect-port: 1.6.1 express: 4.21.1 open: 8.4.2 @@ -6930,17 +7067,17 @@ snapshots: - vue - webpack-sources - '@dcloudio/vite-plugin-uni@3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4))': + '@dcloudio/vite-plugin-uni@3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) - '@dcloudio/uni-cli-shared': 3.0.0-4020420240722002(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.38(typescript@5.5.4)) - '@dcloudio/uni-shared': 3.0.0-4020420240722002 + '@dcloudio/uni-cli-shared': 3.0.0-4050520250307001(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(postcss@8.4.47)(rollup@4.24.1)(vue@3.4.21(typescript@5.5.4)) + '@dcloudio/uni-shared': 3.0.0-4050520250307001 '@rollup/pluginutils': 5.1.3(rollup@4.24.1) - '@vitejs/plugin-legacy': 5.4.3(terser@5.36.0)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) - '@vitejs/plugin-vue': 5.1.4(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4)) - '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4)) + '@vitejs/plugin-legacy': 5.3.2(terser@5.36.0)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) + '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) + '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4)) '@vue/compiler-core': 3.4.21 '@vue/compiler-dom': 3.4.21 '@vue/compiler-sfc': 3.4.21 @@ -6956,8 +7093,8 @@ snapshots: magic-string: 0.30.12 picocolors: 1.1.1 terser: 5.36.0 - unplugin-auto-import: 0.16.7(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(rollup@4.24.1) - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + unplugin-auto-import: 0.18.3(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(rollup@4.24.1) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) transitivePeerDependencies: - '@nuxt/kit' - '@vueuse/core' @@ -6983,162 +7120,108 @@ snapshots: '@esbuild/aix-ppc64@0.20.2': optional: true - '@esbuild/aix-ppc64@0.21.5': - optional: true - '@esbuild/aix-ppc64@0.23.1': optional: true '@esbuild/android-arm64@0.20.2': optional: true - '@esbuild/android-arm64@0.21.5': - optional: true - '@esbuild/android-arm64@0.23.1': optional: true '@esbuild/android-arm@0.20.2': optional: true - '@esbuild/android-arm@0.21.5': - optional: true - '@esbuild/android-arm@0.23.1': optional: true '@esbuild/android-x64@0.20.2': optional: true - '@esbuild/android-x64@0.21.5': - optional: true - '@esbuild/android-x64@0.23.1': optional: true '@esbuild/darwin-arm64@0.20.2': optional: true - '@esbuild/darwin-arm64@0.21.5': - optional: true - '@esbuild/darwin-arm64@0.23.1': optional: true '@esbuild/darwin-x64@0.20.2': optional: true - '@esbuild/darwin-x64@0.21.5': - optional: true - '@esbuild/darwin-x64@0.23.1': optional: true '@esbuild/freebsd-arm64@0.20.2': optional: true - '@esbuild/freebsd-arm64@0.21.5': - optional: true - '@esbuild/freebsd-arm64@0.23.1': optional: true '@esbuild/freebsd-x64@0.20.2': optional: true - '@esbuild/freebsd-x64@0.21.5': - optional: true - '@esbuild/freebsd-x64@0.23.1': optional: true '@esbuild/linux-arm64@0.20.2': optional: true - '@esbuild/linux-arm64@0.21.5': - optional: true - '@esbuild/linux-arm64@0.23.1': optional: true '@esbuild/linux-arm@0.20.2': optional: true - '@esbuild/linux-arm@0.21.5': - optional: true - '@esbuild/linux-arm@0.23.1': optional: true '@esbuild/linux-ia32@0.20.2': optional: true - '@esbuild/linux-ia32@0.21.5': - optional: true - '@esbuild/linux-ia32@0.23.1': optional: true '@esbuild/linux-loong64@0.20.2': optional: true - '@esbuild/linux-loong64@0.21.5': - optional: true - '@esbuild/linux-loong64@0.23.1': optional: true '@esbuild/linux-mips64el@0.20.2': optional: true - '@esbuild/linux-mips64el@0.21.5': - optional: true - '@esbuild/linux-mips64el@0.23.1': optional: true '@esbuild/linux-ppc64@0.20.2': optional: true - '@esbuild/linux-ppc64@0.21.5': - optional: true - '@esbuild/linux-ppc64@0.23.1': optional: true '@esbuild/linux-riscv64@0.20.2': optional: true - '@esbuild/linux-riscv64@0.21.5': - optional: true - '@esbuild/linux-riscv64@0.23.1': optional: true '@esbuild/linux-s390x@0.20.2': optional: true - '@esbuild/linux-s390x@0.21.5': - optional: true - '@esbuild/linux-s390x@0.23.1': optional: true '@esbuild/linux-x64@0.20.2': optional: true - '@esbuild/linux-x64@0.21.5': - optional: true - '@esbuild/linux-x64@0.23.1': optional: true '@esbuild/netbsd-x64@0.20.2': optional: true - '@esbuild/netbsd-x64@0.21.5': - optional: true - '@esbuild/netbsd-x64@0.23.1': optional: true @@ -7148,45 +7231,30 @@ snapshots: '@esbuild/openbsd-x64@0.20.2': optional: true - '@esbuild/openbsd-x64@0.21.5': - optional: true - '@esbuild/openbsd-x64@0.23.1': optional: true '@esbuild/sunos-x64@0.20.2': optional: true - '@esbuild/sunos-x64@0.21.5': - optional: true - '@esbuild/sunos-x64@0.23.1': optional: true '@esbuild/win32-arm64@0.20.2': optional: true - '@esbuild/win32-arm64@0.21.5': - optional: true - '@esbuild/win32-arm64@0.23.1': optional: true '@esbuild/win32-ia32@0.20.2': optional: true - '@esbuild/win32-ia32@0.21.5': - optional: true - '@esbuild/win32-ia32@0.23.1': optional: true '@esbuild/win32-x64@0.20.2': optional: true - '@esbuild/win32-x64@0.21.5': - optional: true - '@esbuild/win32-x64@0.23.1': optional: true @@ -7206,7 +7274,7 @@ snapshots: '@eslint/config-array@0.18.0': dependencies: '@eslint/object-schema': 2.1.4 - debug: 4.3.7 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -7216,7 +7284,7 @@ snapshots: '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 - debug: 4.3.7 + debug: 4.4.0 espree: 10.2.0 globals: 14.0.0 ignore: 5.3.2 @@ -8034,7 +8102,7 @@ snapshots: '@typescript-eslint/types': 8.11.0 '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.5.4) '@typescript-eslint/visitor-keys': 8.11.0 - debug: 4.3.7 + debug: 4.4.0 eslint: 9.13.0(jiti@1.21.6) optionalDependencies: typescript: 5.5.4 @@ -8050,7 +8118,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.5.4) '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4) - debug: 4.3.7 + debug: 4.4.0 ts-api-utils: 1.3.0(typescript@5.5.4) optionalDependencies: typescript: 5.5.4 @@ -8100,43 +8168,43 @@ snapshots: '@uni-helper/pages-json-schema@0.2.28': {} - '@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))': + '@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4))': dependencies: typescript: 5.5.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) - '@uni-helper/uni-cloud-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))': + '@uni-helper/uni-cloud-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4))': dependencies: typescript: 5.5.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) '@uni-helper/uni-env@0.1.4': dependencies: std-env: 3.7.0 - '@uni-helper/uni-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(@uni-helper/uni-cloud-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(@uni-helper/uni-ui-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))': + '@uni-helper/uni-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(@uni-helper/uni-cloud-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(@uni-helper/uni-ui-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@uni-helper/uni-app-types': 1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@uni-helper/uni-cloud-types': 1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) - '@uni-helper/uni-ui-types': 1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + '@uni-helper/uni-app-types': 1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)) + '@uni-helper/uni-cloud-types': 1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)) + '@uni-helper/uni-ui-types': 1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)) typescript: 5.5.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) - '@uni-helper/uni-ui-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))': + '@uni-helper/uni-ui-types@1.0.0-alpha.4(@uni-helper/uni-app-types@1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)))(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4))': dependencies: - '@uni-helper/uni-app-types': 1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4)) + '@uni-helper/uni-app-types': 1.0.0-alpha.4(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)) typescript: 5.5.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) - '@uni-helper/unocss-preset-uni@0.2.10(@unocss/preset-mini@0.62.4)(@unocss/rule-utils@0.62.4)(@unocss/vite@0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)))(unocss-applet@0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))))(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)))': + '@uni-helper/unocss-preset-uni@0.2.10(@unocss/preset-mini@0.62.4)(@unocss/rule-utils@0.62.4)(@unocss/vite@0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)))(unocss-applet@0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))))(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)))': dependencies: '@uni-helper/uni-env': 0.1.4 '@unocss/rule-utils': 0.62.4 - unocss: 0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) - unocss-applet: 0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))) + unocss: 0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) + unocss-applet: 0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))) optionalDependencies: '@unocss/preset-mini': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + '@unocss/vite': 0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) '@uni-helper/vite-plugin-uni-components@0.1.0(rollup@4.24.1)': dependencies: @@ -8170,14 +8238,14 @@ snapshots: - magicast - rollup - '@uni-helper/vite-plugin-uni-manifest@0.2.7(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))': + '@uni-helper/vite-plugin-uni-manifest@0.2.7(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))': dependencies: c12: 1.11.2 - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) transitivePeerDependencies: - magicast - '@uni-helper/vite-plugin-uni-pages@0.2.28(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))': + '@uni-helper/vite-plugin-uni-pages@0.2.28(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))': dependencies: '@uni-helper/uni-env': 0.1.4 '@vue/compiler-sfc': 3.5.12 @@ -8190,7 +8258,7 @@ snapshots: lodash.groupby: 4.6.0 magic-string: 0.30.12 unconfig: 0.5.5 - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) yaml: 2.6.0 transitivePeerDependencies: - supports-color @@ -8214,17 +8282,17 @@ snapshots: '@unocss-applet/transformer-attributify@0.8.4(@unocss/core@0.62.4)': dependencies: - magic-string: 0.30.12 + magic-string: 0.30.17 optionalDependencies: '@unocss/core': 0.62.4 - '@unocss/astro@0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))': + '@unocss/astro@0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))': dependencies: '@unocss/core': 0.62.4 '@unocss/reset': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + '@unocss/vite': 0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) optionalDependencies: - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) transitivePeerDependencies: - rollup - supports-color @@ -8369,7 +8437,7 @@ snapshots: dependencies: '@unocss/core': 0.62.4 - '@unocss/vite@0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))': + '@unocss/vite@0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.3(rollup@4.24.1) @@ -8379,12 +8447,14 @@ snapshots: chokidar: 3.6.0 magic-string: 0.30.12 tinyglobby: 0.2.10 - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) transitivePeerDependencies: - rollup - supports-color - '@vitejs/plugin-legacy@5.4.3(terser@5.36.0)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))': + '@vant/area-data@2.0.0': {} + + '@vitejs/plugin-legacy@5.3.2(terser@5.36.0)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))': dependencies: '@babel/core': 7.26.0 '@babel/preset-env': 7.26.0(@babel/core@7.26.0) @@ -8395,24 +8465,24 @@ snapshots: regenerator-runtime: 0.14.1 systemjs: 6.15.1 terser: 5.36.0 - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@3.1.0(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4))': + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0) - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) - vue: 3.4.38(typescript@5.5.4) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) + vue: 3.4.21(typescript@5.5.4) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))(vue@3.4.38(typescript@5.5.4))': + '@vitejs/plugin-vue@5.1.0(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))(vue@3.4.21(typescript@5.5.4))': dependencies: - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) - vue: 3.4.38(typescript@5.5.4) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) + vue: 3.4.21(typescript@5.5.4) '@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4)': dependencies: @@ -8473,14 +8543,6 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-core@3.4.38': - dependencies: - '@babel/parser': 7.26.1 - '@vue/shared': 3.4.38 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - '@vue/compiler-core@3.5.12': dependencies: '@babel/parser': 7.26.1 @@ -8494,11 +8556,6 @@ snapshots: '@vue/compiler-core': 3.4.21 '@vue/shared': 3.4.21 - '@vue/compiler-dom@3.4.38': - dependencies: - '@vue/compiler-core': 3.4.38 - '@vue/shared': 3.4.38 - '@vue/compiler-dom@3.5.12': dependencies: '@vue/compiler-core': 3.5.12 @@ -8516,18 +8573,6 @@ snapshots: postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-sfc@3.4.38': - dependencies: - '@babel/parser': 7.26.1 - '@vue/compiler-core': 3.4.38 - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - estree-walker: 2.0.2 - magic-string: 0.30.12 - postcss: 8.4.47 - source-map-js: 1.2.1 - '@vue/compiler-sfc@3.5.12': dependencies: '@babel/parser': 7.26.1 @@ -8545,11 +8590,6 @@ snapshots: '@vue/compiler-dom': 3.4.21 '@vue/shared': 3.4.21 - '@vue/compiler-ssr@3.4.38': - dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/shared': 3.4.38 - '@vue/compiler-ssr@3.5.12': dependencies: '@vue/compiler-dom': 3.5.12 @@ -8564,6 +8604,24 @@ snapshots: '@vue/devtools-api@6.6.4': {} + '@vue/devtools-api@7.7.2': + dependencies: + '@vue/devtools-kit': 7.7.2 + + '@vue/devtools-kit@7.7.2': + dependencies: + '@vue/devtools-shared': 7.7.2 + birpc: 0.2.19 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + superjson: 2.2.2 + + '@vue/devtools-shared@7.7.2': + dependencies: + rfdc: 1.4.1 + '@vue/language-core@2.1.8(typescript@5.5.4)': dependencies: '@volar/language-core': 2.4.8 @@ -8577,66 +8635,57 @@ snapshots: optionalDependencies: typescript: 5.5.4 - '@vue/reactivity@3.4.38': + '@vue/reactivity@3.4.21': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.4.21 '@vue/reactivity@3.5.12': dependencies: '@vue/shared': 3.5.12 - '@vue/runtime-core@3.4.38': + '@vue/runtime-core@3.4.21': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 '@vue/runtime-core@3.5.12': dependencies: '@vue/reactivity': 3.5.12 '@vue/shared': 3.5.12 - '@vue/runtime-dom@3.4.38': + '@vue/runtime-dom@3.4.21': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/runtime-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 csstype: 3.1.3 - '@vue/server-renderer@3.4.21(vue@3.4.38(typescript@5.5.4))': + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.5.4))': dependencies: '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 - vue: 3.4.38(typescript@5.5.4) - - '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))': - dependencies: - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) '@vue/shared@3.4.21': {} - '@vue/shared@3.4.38': {} - '@vue/shared@3.5.12': {} '@vue/tsconfig@0.5.1': {} - '@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4))': + '@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.1.0 - '@vueuse/shared': 11.1.0(vue@3.4.38(typescript@5.5.4)) - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + '@vueuse/shared': 11.1.0(vue@3.4.21(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue '@vueuse/metadata@11.1.0': {} - '@vueuse/shared@11.1.0(vue@3.4.38(typescript@5.5.4))': + '@vueuse/shared@11.1.0(vue@3.4.21(typescript@5.5.4))': dependencies: - vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4)) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.5.4)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -8653,9 +8702,9 @@ snapshots: acorn: 7.4.1 acorn-walk: 7.2.0 - acorn-jsx@5.3.2(acorn@8.13.0): + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: - acorn: 8.13.0 + acorn: 8.14.1 acorn-walk@7.2.0: {} @@ -8663,13 +8712,15 @@ snapshots: acorn@8.13.0: {} + acorn@8.14.1: {} + address@1.2.2: {} adm-zip@0.5.16: {} agent-base@6.0.2: dependencies: - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -8828,6 +8879,8 @@ snapshots: binary-extensions@2.3.0: {} + birpc@0.2.19: {} + bmp-js@0.1.0: {} body-parser@1.20.3: @@ -8986,6 +9039,12 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + cliui@7.0.4: dependencies: string-width: 4.2.3 @@ -9026,6 +9085,8 @@ snapshots: confbox@0.1.8: {} + confbox@0.2.1: {} + consola@3.2.3: {} content-disposition@0.5.4: @@ -9044,6 +9105,10 @@ snapshots: cookie@0.7.2: {} + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + core-js-compat@3.38.1: dependencies: browserslist: 4.24.2 @@ -9116,6 +9181,12 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.0: + dependencies: + ms: 2.1.3 + + decamelize@1.2.0: {} + decimal.js@10.4.3: {} dedent@0.7.0: {} @@ -9161,6 +9232,8 @@ snapshots: diff-sequences@27.5.1: {} + dijkstrajs@1.0.3: {} + doctrine@3.0.0: dependencies: esutils: 2.0.3 @@ -9251,32 +9324,6 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - esbuild@0.23.1: optionalDependencies: '@esbuild/aix-ppc64': 0.23.1 @@ -9371,7 +9418,7 @@ snapshots: eslint-plugin-import-x@4.3.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4): dependencies: '@typescript-eslint/utils': 8.11.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.4) - debug: 4.3.7 + debug: 4.4.0 doctrine: 3.0.0 eslint: 9.13.0(jiti@1.21.6) eslint-import-resolver-node: 0.3.9 @@ -9390,7 +9437,7 @@ snapshots: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 - debug: 4.3.7 + debug: 4.4.0 escape-string-regexp: 4.0.0 eslint: 9.13.0(jiti@1.21.6) espree: 10.2.0 @@ -9460,7 +9507,7 @@ snapshots: eslint-plugin-toml@0.11.1(eslint@9.13.0(jiti@1.21.6)): dependencies: - debug: 4.3.7 + debug: 4.4.0 eslint: 9.13.0(jiti@1.21.6) eslint-compat-utils: 0.5.1(eslint@9.13.0(jiti@1.21.6)) lodash: 4.17.21 @@ -9510,7 +9557,7 @@ snapshots: eslint-plugin-yml@1.14.0(eslint@9.13.0(jiti@1.21.6)): dependencies: - debug: 4.3.7 + debug: 4.4.0 eslint: 9.13.0(jiti@1.21.6) eslint-compat-utils: 0.5.1(eslint@9.13.0(jiti@1.21.6)) lodash: 4.17.21 @@ -9555,7 +9602,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.7 + debug: 4.4.0 escape-string-regexp: 4.0.0 eslint-scope: 8.1.0 eslint-visitor-keys: 4.1.0 @@ -9582,14 +9629,14 @@ snapshots: espree@10.2.0: dependencies: - acorn: 8.13.0 - acorn-jsx: 5.3.2(acorn@8.13.0) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 4.1.0 espree@9.6.1: dependencies: - acorn: 8.13.0 - acorn-jsx: 5.3.2(acorn@8.13.0) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -9685,6 +9732,8 @@ snapshots: transitivePeerDependencies: - supports-color + exsolve@1.0.4: {} + fast-deep-equal@3.1.3: {} fast-glob@3.3.2: @@ -9713,6 +9762,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -9884,6 +9937,8 @@ snapshots: he@1.2.0: {} + hookable@5.5.3: {} + hosted-git-info@2.8.9: {} html-encoding-sniffer@2.0.1: @@ -9906,14 +9961,14 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.7 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -10023,6 +10078,8 @@ snapshots: is-typedarray@1.0.0: {} + is-what@4.1.16: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -10051,7 +10108,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.7 + debug: 4.4.0 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -10454,7 +10511,7 @@ snapshots: jsdom@16.7.0: dependencies: abab: 2.0.6 - acorn: 8.13.0 + acorn: 8.14.1 acorn-globals: 6.0.0 cssom: 0.4.4 cssstyle: 2.3.0 @@ -10503,7 +10560,7 @@ snapshots: jsonc-eslint-parser@2.4.0: dependencies: - acorn: 8.13.0 + acorn: 8.14.1 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.6.3 @@ -10567,6 +10624,12 @@ snapshots: mlly: 1.7.2 pkg-types: 1.2.1 + local-pkg@1.1.1: + dependencies: + mlly: 1.7.4 + pkg-types: 2.1.0 + quansync: 0.2.8 + localstorage-polyfill@1.0.1: {} locate-path@5.0.0: @@ -10595,6 +10658,10 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + make-dir@4.0.0: dependencies: semver: 7.6.3 @@ -10633,7 +10700,7 @@ snapshots: micromark@2.11.4: dependencies: - debug: 4.3.7 + debug: 4.4.0 parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -10690,6 +10757,8 @@ snapshots: minipass: 3.3.6 yallist: 4.0.0 + mitt@3.0.1: {} + mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -10703,6 +10772,13 @@ snapshots: pkg-types: 1.2.1 ufo: 1.5.4 + mlly@1.7.4: + dependencies: + acorn: 8.14.1 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.5.4 + module-alias@2.2.3: {} mrmime@2.0.0: {} @@ -10902,6 +10978,8 @@ snapshots: pathe@1.1.2: {} + pathe@2.0.3: {} + perfect-debounce@1.0.0: {} phin@2.9.3: {} @@ -10920,6 +10998,13 @@ snapshots: pify@2.3.0: {} + pinia@3.0.1(typescript@5.5.4)(vue@3.4.21(typescript@5.5.4)): + dependencies: + '@vue/devtools-api': 7.7.2 + vue: 3.4.21(typescript@5.5.4) + optionalDependencies: + typescript: 5.5.4 + pirates@4.0.6: {} pixelmatch@4.0.2: @@ -10936,10 +11021,24 @@ snapshots: mlly: 1.7.2 pathe: 1.1.2 + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.7.4 + pathe: 2.0.3 + + pkg-types@2.1.0: + dependencies: + confbox: 0.2.1 + exsolve: 1.0.4 + pathe: 2.0.3 + pluralize@8.0.0: {} pngjs@3.4.0: {} + pngjs@5.0.0: {} + postcss-import@14.1.0(postcss@8.4.47): dependencies: postcss: 8.4.47 @@ -11031,10 +11130,18 @@ snapshots: qrcode-terminal@0.12.0: {} + qrcode@1.5.4: + dependencies: + dijkstrajs: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + qs@6.13.0: dependencies: side-channel: 1.0.6 + quansync@0.2.8: {} + querystringify@2.2.0: {} queue-microtask@1.2.3: {} @@ -11128,6 +11235,8 @@ snapshots: require-from-string@2.0.2: {} + require-main-filename@2.0.0: {} + requires-port@1.0.0: {} resolve-cwd@3.0.0: @@ -11150,6 +11259,8 @@ snapshots: reusify@1.0.4: {} + rfdc@1.4.1: {} + rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -11336,6 +11447,8 @@ snapshots: transitivePeerDependencies: - supports-color + set-blocking@2.0.0: {} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -11436,6 +11549,8 @@ snapshots: spdx-license-ids@3.0.20: {} + speakingurl@14.0.1: {} + sprintf-js@1.0.3: {} stable-hash@0.0.4: {} @@ -11481,6 +11596,10 @@ snapshots: dependencies: js-tokens: 9.0.0 + superjson@2.2.2: + dependencies: + copy-anything: 3.0.5 + supports-color@7.2.0: dependencies: has-flag: 4.0.0 @@ -11555,6 +11674,11 @@ snapshots: fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.12: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + tmpl@1.0.5: {} to-regex-range@5.0.1: @@ -11668,21 +11792,21 @@ snapshots: universalify@2.0.1: {} - unocss-applet@0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0))): + unocss-applet@0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4)(unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0))): dependencies: '@unocss-applet/preset-applet': 0.8.4(@unocss/core@0.62.4)(@unocss/preset-mini@0.62.4)(@unocss/preset-uno@0.62.4) '@unocss-applet/preset-rem-rpx': 0.8.4(@unocss/core@0.62.4) '@unocss-applet/transformer-attributify': 0.8.4(@unocss/core@0.62.4) - unocss: 0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + unocss: 0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) optionalDependencies: '@unocss/preset-uno': 0.62.4 transitivePeerDependencies: - '@unocss/core' - '@unocss/preset-mini' - unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)): + unocss@0.62.4(postcss@8.4.47)(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)): dependencies: - '@unocss/astro': 0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + '@unocss/astro': 0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) '@unocss/cli': 0.62.4(rollup@4.24.1) '@unocss/core': 0.62.4 '@unocss/postcss': 0.62.4(postcss@8.4.47) @@ -11698,9 +11822,9 @@ snapshots: '@unocss/transformer-compile-class': 0.62.4 '@unocss/transformer-directives': 0.62.4 '@unocss/transformer-variant-group': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.24.1)(vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0)) + '@unocss/vite': 0.62.4(rollup@4.24.1)(vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0)) optionalDependencies: - vite: 5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0) + vite: 5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0) transitivePeerDependencies: - postcss - rollup @@ -11708,7 +11832,7 @@ snapshots: unpipe@1.0.0: {} - unplugin-auto-import@0.16.7(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(rollup@4.24.1): + unplugin-auto-import@0.16.7(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(rollup@4.24.1): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.24.1) @@ -11719,12 +11843,12 @@ snapshots: unimport: 3.13.1(rollup@4.24.1) unplugin: 1.14.1 optionalDependencies: - '@vueuse/core': 11.1.0(vue@3.4.38(typescript@5.5.4)) + '@vueuse/core': 11.1.0(vue@3.4.21(typescript@5.5.4)) transitivePeerDependencies: - rollup - webpack-sources - unplugin-auto-import@0.18.3(@vueuse/core@11.1.0(vue@3.4.38(typescript@5.5.4)))(rollup@4.24.1): + unplugin-auto-import@0.18.3(@vueuse/core@11.1.0(vue@3.4.21(typescript@5.5.4)))(rollup@4.24.1): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.24.1) @@ -11735,16 +11859,42 @@ snapshots: unimport: 3.13.1(rollup@4.24.1) unplugin: 1.14.1 optionalDependencies: - '@vueuse/core': 11.1.0(vue@3.4.38(typescript@5.5.4)) + '@vueuse/core': 11.1.0(vue@3.4.21(typescript@5.5.4)) transitivePeerDependencies: - rollup - webpack-sources + unplugin-utils@0.2.4: + dependencies: + pathe: 2.0.3 + picomatch: 4.0.2 + + unplugin-vue-components@28.4.1(@babel/parser@7.26.1)(vue@3.4.21(typescript@5.5.4)): + dependencies: + chokidar: 3.6.0 + debug: 4.4.0 + local-pkg: 1.1.1 + magic-string: 0.30.17 + mlly: 1.7.4 + tinyglobby: 0.2.12 + unplugin: 2.2.0 + unplugin-utils: 0.2.4 + vue: 3.4.21(typescript@5.5.4) + optionalDependencies: + '@babel/parser': 7.26.1 + transitivePeerDependencies: + - supports-color + unplugin@1.14.1: dependencies: acorn: 8.13.0 webpack-virtual-modules: 0.6.2 + unplugin@2.2.0: + dependencies: + acorn: 8.14.1 + webpack-virtual-modules: 0.6.2 + unquote@1.1.1: {} update-browserslist-db@1.1.1(browserslist@4.24.2): @@ -11753,6 +11903,8 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 + uqrcodejs@4.0.7: {} + uri-js@4.4.1: dependencies: punycode: 2.3.1 @@ -11785,16 +11937,15 @@ snapshots: vary@1.1.2: {} - vite@5.4.10(@types/node@20.17.1)(sass-embedded@1.79.6)(sass@1.79.6)(terser@5.36.0): + vite@5.2.8(@types/node@20.17.1)(sass@1.79.6)(terser@5.36.0): dependencies: - esbuild: 0.21.5 + esbuild: 0.20.2 postcss: 8.4.47 rollup: 4.24.1 optionalDependencies: '@types/node': 20.17.1 fsevents: 2.3.3 sass: 1.79.6 - sass-embedded: 1.79.6 terser: 5.36.0 vscode-json-languageservice@4.1.8: @@ -11834,13 +11985,13 @@ snapshots: vscode-uri@3.0.8: {} - vue-demi@0.14.10(vue@3.4.38(typescript@5.5.4)): + vue-demi@0.14.10(vue@3.4.21(typescript@5.5.4)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) vue-eslint-parser@9.4.3(eslint@9.13.0(jiti@1.21.6)): dependencies: - debug: 4.3.7 + debug: 4.4.0 eslint: 9.13.0(jiti@1.21.6) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -11851,17 +12002,17 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@9.14.1(vue@3.4.38(typescript@5.5.4)): + vue-i18n@9.14.1(vue@3.4.21(typescript@5.5.4)): dependencies: '@intlify/core-base': 9.14.1 '@intlify/shared': 9.14.1 '@vue/devtools-api': 6.6.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) - vue-router@4.4.5(vue@3.4.38(typescript@5.5.4)): + vue-router@4.4.5(vue@3.4.21(typescript@5.5.4)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) vue-tsc@2.1.8(typescript@5.5.4): dependencies: @@ -11870,13 +12021,13 @@ snapshots: semver: 7.6.3 typescript: 5.5.4 - vue@3.4.38(typescript@5.5.4): + vue@3.4.21(typescript@5.5.4): dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-sfc': 3.4.38 - '@vue/runtime-dom': 3.4.38 - '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4)) - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.5.4)) + '@vue/shared': 3.4.21 optionalDependencies: typescript: 5.5.4 @@ -11910,15 +12061,23 @@ snapshots: tr46: 2.1.0 webidl-conversions: 6.1.0 + which-module@2.0.1: {} + which@2.0.2: dependencies: isexe: 2.0.0 word-wrap@1.2.5: {} - wot-design-uni@1.3.13(vue@3.4.38(typescript@5.5.4)): + wot-design-uni@1.3.13(vue@3.4.21(typescript@5.5.4)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.4.21(typescript@5.5.4) + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 wrap-ansi@7.0.0: dependencies: @@ -11969,6 +12128,8 @@ snapshots: xtend@4.0.2: {} + y18n@4.0.3: {} + y18n@5.0.8: {} yallist@3.1.1: {} @@ -12002,10 +12163,29 @@ snapshots: yaml@2.6.0: {} + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + yargs@16.2.0: dependencies: cliui: 7.0.4 diff --git a/src/App.vue b/src/App.vue index fe15485..89e205c 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,4 +1,88 @@ diff --git a/src/api/apis.js b/src/api/apis.js index c1875bd..ef36ac3 100644 --- a/src/api/apis.js +++ b/src/api/apis.js @@ -119,3 +119,17 @@ export function iapPaymentCallback(data) { data, }) } +export function getAgentRevenue() { + return request({ + url: '/agent/revenue', + method: 'GET' + }) +} +export function refreshToken() { + return request({ + url: '/user/getToken', + method: 'POST', + }); +} + + diff --git a/src/apis/agent.js b/src/apis/agent.js new file mode 100644 index 0000000..729b63b --- /dev/null +++ b/src/apis/agent.js @@ -0,0 +1,138 @@ +// 代理相关API +import request from '@/utils/request' + +/** + * 获取代理信息 + */ +export const getAgentInfo = () => { + return request({ + url: '/agent/info', + method: 'GET' + }) +} + +/** + * 获取代理佣金列表 + * @param {Object} params 查询参数 {page, page_size} + */ +export const getAgentCommission = (params) => { + return request({ + url: '/agent/commission', + method: 'GET', + params + }) +} + +/** + * 获取代理奖励列表 + * @param {Object} params 查询参数 {page, page_size} + */ +export const getAgentRewards = (params) => { + return request({ + url: '/agent/rewards', + method: 'GET', + params + }) +} + +/** + * 获取代理状态 + */ +export const getAgentStatus = () => { + return request({ + url: '/agent/status', + method: 'GET' + }) +} + +/** + * 代理申请 + * @param {Object} data 申请数据 {region, mobile, wechat_id, code, ancestor?} + */ +export const applyAgent = (data) => { + return request({ + url: '/agent/apply', + method: 'POST', + data + }) +} + +/** + * 获取代理会员用户配置 + * @param {Object} params 查询参数 {product_id} + */ +export const getAgentMembershipUserConfig = (params) => { + return request({ + url: '/agent/membership/user_config', + method: 'GET', + params + }) +} + +/** + * 保存代理会员用户配置 + * @param {Object} data 配置数据 + */ +export const saveAgentMembershipUserConfig = (data) => { + return request({ + url: '/agent/membership/save_user_config', + method: 'POST', + data + }) +} + +/** + * 获取产品配置 + */ +export const getProductConfig = () => { + return request({ + url: '/agent/product_config', + method: 'GET' + }) +} + +/** + * 生成推广链接 + * @param {Object} data 推广数据 {product, price} + */ +export const generatePromotionLink = (data) => { + return request({ + url: '/agent/generating_link', + method: 'POST', + data + }) +} + +/** + * 获取代理收益 + */ +export const getAgentRevenue = () => { + return request({ + url: '/agent/revenue', + method: 'GET' + }) +} + +/** + * 代理提现 + * @param {Object} data 提现数据 {payee_account, amount, payee_name} + */ +export const agentWithdrawal = (data) => { + return request({ + url: '/agent/withdrawal', + method: 'POST', + data + }) +} + +/** + * 获取提现记录 + * @param {Object} params 查询参数 {page, page_size} + */ +export const getWithdrawalRecords = (params) => { + return request({ + url: '/agent/withdrawal', + method: 'GET', + params + }) +} diff --git a/src/app.scss b/src/app.scss index 990ef1c..e1ab4e0 100644 --- a/src/app.scss +++ b/src/app.scss @@ -3,6 +3,8 @@ } html { + margin: auto !important; + @apply max-w-lg; font-size: 4px; // * 方便unocss计算:1单位 = 0.25rem = 1px } @@ -40,3 +42,9 @@ html.dark { display: none; /* Chrome, Safari, and Edge */ } +.safe-area-top { + padding-top: env(safe-area-inset-top); +} +.safe-area-bottom { + padding-bottom: env(safe-area-inset-bottom); +} diff --git a/src/auto-imports.d.ts b/src/auto-imports.d.ts index 2420237..b6d24e4 100644 --- a/src/auto-imports.d.ts +++ b/src/auto-imports.d.ts @@ -11,6 +11,8 @@ declare global { const aesEncrypt: typeof import('./utils/crypto.js')['aesEncrypt'] const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] + const chatCrypto: typeof import('./utils/chatCrypto.js')['default'] + const chatEncrypt: typeof import('./utils/chatEncrypt.js')['default'] const computed: typeof import('vue')['computed'] const computedAsync: typeof import('@vueuse/core')['computedAsync'] const computedEager: typeof import('@vueuse/core')['computedEager'] @@ -111,6 +113,8 @@ declare global { const resolveComponent: typeof import('vue')['resolveComponent'] const resolveRef: typeof import('@vueuse/core')['resolveRef'] const resolveUnref: typeof import('@vueuse/core')['resolveUnref'] + const routerGuard: typeof import('./utils/routerGuard.js')['default'] + const setupRouterGuard: typeof import('./utils/routerGuard.js')['setupRouterGuard'] const shallowReactive: typeof import('vue')['shallowReactive'] const shallowReadonly: typeof import('vue')['shallowReadonly'] const shallowRef: typeof import('vue')['shallowRef'] @@ -247,6 +251,7 @@ declare global { const useRafFn: typeof import('@vueuse/core')['useRafFn'] const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] + const useRouterGuard: typeof import('./composables/useRouterGuard')['useRouterGuard'] const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] @@ -283,6 +288,7 @@ declare global { const useToggle: typeof import('@vueuse/core')['useToggle'] const useTransition: typeof import('@vueuse/core')['useTransition'] const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] + const useUser: typeof import('./composables/useUser.js')['useUser'] const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] const useVModel: typeof import('@vueuse/core')['useVModel'] const useVModels: typeof import('@vueuse/core')['useVModels'] @@ -329,6 +335,8 @@ declare module 'vue' { readonly aesEncrypt: UnwrapRef readonly asyncComputed: UnwrapRef readonly autoResetRef: UnwrapRef + readonly chatCrypto: UnwrapRef + readonly chatEncrypt: UnwrapRef readonly computed: UnwrapRef readonly computedAsync: UnwrapRef readonly computedEager: UnwrapRef @@ -429,6 +437,7 @@ declare module 'vue' { readonly resolveComponent: UnwrapRef readonly resolveRef: UnwrapRef readonly resolveUnref: UnwrapRef + readonly setupRouterGuard: UnwrapRef readonly shallowReactive: UnwrapRef readonly shallowReadonly: UnwrapRef readonly shallowRef: UnwrapRef @@ -480,7 +489,6 @@ declare module 'vue' { readonly useCloned: UnwrapRef readonly useColorMode: UnwrapRef readonly useConfirmDialog: UnwrapRef - readonly useCount: UnwrapRef readonly useCounter: UnwrapRef readonly useCssModule: UnwrapRef readonly useCssVar: UnwrapRef @@ -561,7 +569,6 @@ declare module 'vue' { readonly usePreferredLanguages: UnwrapRef readonly usePreferredReducedMotion: UnwrapRef readonly usePrevious: UnwrapRef - readonly useQuery: UnwrapRef readonly useRafFn: UnwrapRef readonly useRefHistory: UnwrapRef readonly useResizeObserver: UnwrapRef diff --git a/src/components.d.ts b/src/components.d.ts index cd338e5..e2dde5b 100644 --- a/src/components.d.ts +++ b/src/components.d.ts @@ -7,37 +7,27 @@ export {} declare module 'vue' { export interface GlobalComponents { - AppFooter: typeof import('./components/AppFooter.vue')['default'] - AppLogos: typeof import('./components/AppLogos.vue')['default'] - HiCounter: typeof import('./components/HiCounter.vue')['default'] - InputEntry: typeof import('./components/InputEntry.vue')['default'] - LButtonGroup: typeof import('./components/LButtonGroup.vue')['default'] - LExpandCollapse: typeof import('./components/LExpandCollapse.vue')['default'] - LTabbar: typeof import('./components/LTabbar.vue')['default'] - LTable: typeof import('./components/LTable.vue')['default'] - LTitle: typeof import('./components/LTitle.vue')['default'] + AgentApplicationForm: typeof import('./components/AgentApplicationForm.vue')['default'] + EnvDemo: typeof import('./components/EnvDemo.vue')['default'] + PriceInputPopup: typeof import('./components/PriceInputPopup.vue')['default'] PrivacyModel: typeof import('./components/PrivacyModel.vue')['default'] - QiunDataChartsQiunDataCharts: typeof import('./components/qiun-data-charts/qiun-data-charts.vue')['default'] - QiunErrorQiunError: typeof import('./components/qiun-error/qiun-error.vue')['default'] - QiunLoadingLoading1: typeof import('./components/qiun-loading/loading1.vue')['default'] - QiunLoadingLoading2: typeof import('./components/qiun-loading/loading2.vue')['default'] - QiunLoadingLoading3: typeof import('./components/qiun-loading/loading3.vue')['default'] - QiunLoadingLoading4: typeof import('./components/qiun-loading/loading4.vue')['default'] - QiunLoadingLoading5: typeof import('./components/qiun-loading/loading5.vue')['default'] - QiunLoadingQiunLoading: typeof import('./components/qiun-loading/qiun-loading.vue')['default'] + QRcode: typeof import('./components/QRcode.vue')['default'] + VipBanner: typeof import('./components/VipBanner.vue')['default'] WdButton: typeof import('wot-design-uni/components/wd-button/wd-button.vue')['default'] - WdCell: typeof import('wot-design-uni/components/wd-cell/wd-cell.vue')['default'] + WdCellGroup: typeof import('wot-design-uni/components/wd-cell-group/wd-cell-group.vue')['default'] WdCheckbox: typeof import('wot-design-uni/components/wd-checkbox/wd-checkbox.vue')['default'] - WdDivider: typeof import('wot-design-uni/components/wd-divider/wd-divider.vue')['default'] + WdColPicker: typeof import('wot-design-uni/components/wd-col-picker/wd-col-picker.vue')['default'] + WdForm: typeof import('wot-design-uni/components/wd-form/wd-form.vue')['default'] + WdFormItem: typeof import('wot-design-uni/components/wd-form-item/wd-form-item.vue')['default'] WdIcon: typeof import('wot-design-uni/components/wd-icon/wd-icon.vue')['default'] - WdImg: typeof import('wot-design-uni/components/wd-img/wd-img.vue')['default'] WdInput: typeof import('wot-design-uni/components/wd-input/wd-input.vue')['default'] WdLoadmore: typeof import('wot-design-uni/components/wd-loadmore/wd-loadmore.vue')['default'] WdNavbar: typeof import('wot-design-uni/components/wd-navbar/wd-navbar.vue')['default'] - WdNoticeBar: typeof import('wot-design-uni/components/wd-notice-bar/wd-notice-bar.vue')['default'] - WdRadio: typeof import('wot-design-uni/components/wd-radio/wd-radio.vue')['default'] - WdRadioGroup: typeof import('wot-design-uni/components/wd-radio-group/wd-radio-group.vue')['default'] + WdPicker: typeof import('wot-design-uni/components/wd-picker/wd-picker.vue')['default'] + WdPopup: typeof import('wot-design-uni/components/wd-popup/wd-popup.vue')['default'] + WdProgress: typeof import('wot-design-uni/components/wd-progress/wd-progress.vue')['default'] WdTabbar: typeof import('wot-design-uni/components/wd-tabbar/wd-tabbar.vue')['default'] WdTabbarItem: typeof import('wot-design-uni/components/wd-tabbar-item/wd-tabbar-item.vue')['default'] + WdToast: typeof import('wot-design-uni/components/wd-toast/wd-toast.vue')['default'] } } diff --git a/src/components/AgentApplicationForm.vue b/src/components/AgentApplicationForm.vue new file mode 100644 index 0000000..b52d7ed --- /dev/null +++ b/src/components/AgentApplicationForm.vue @@ -0,0 +1,341 @@ + + + + + diff --git a/src/components/AppFooter.vue b/src/components/AppFooter.vue deleted file mode 100644 index 130202c..0000000 --- a/src/components/AppFooter.vue +++ /dev/null @@ -1,25 +0,0 @@ - - - diff --git a/src/components/AppLogos.vue b/src/components/AppLogos.vue deleted file mode 100644 index 9390cf6..0000000 --- a/src/components/AppLogos.vue +++ /dev/null @@ -1,27 +0,0 @@ - diff --git a/src/components/EnvDemo.vue b/src/components/EnvDemo.vue new file mode 100644 index 0000000..6eebc6e --- /dev/null +++ b/src/components/EnvDemo.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/components/HiCounter.vue b/src/components/HiCounter.vue deleted file mode 100644 index a778d5f..0000000 --- a/src/components/HiCounter.vue +++ /dev/null @@ -1,23 +0,0 @@ - - - - - diff --git a/src/components/InputEntry.vue b/src/components/InputEntry.vue deleted file mode 100644 index d274951..0000000 --- a/src/components/InputEntry.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - diff --git a/src/components/LButtonGroup.vue b/src/components/LButtonGroup.vue deleted file mode 100644 index 6415d96..0000000 --- a/src/components/LButtonGroup.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - - - diff --git a/src/components/LExpandCollapse.vue b/src/components/LExpandCollapse.vue deleted file mode 100644 index b0a1173..0000000 --- a/src/components/LExpandCollapse.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - diff --git a/src/components/LTabbar.vue b/src/components/LTabbar.vue deleted file mode 100644 index 10e6ad6..0000000 --- a/src/components/LTabbar.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - - - diff --git a/src/components/LTable.vue b/src/components/LTable.vue deleted file mode 100644 index cdc3e3e..0000000 --- a/src/components/LTable.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/src/components/LTitle.vue b/src/components/LTitle.vue deleted file mode 100644 index cee961e..0000000 --- a/src/components/LTitle.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - diff --git a/src/components/PriceInputPopup.vue b/src/components/PriceInputPopup.vue new file mode 100644 index 0000000..fd9b0fd --- /dev/null +++ b/src/components/PriceInputPopup.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/components/PrivacyModel.vue b/src/components/PrivacyModel.vue index 2d46838..0ff6a01 100644 --- a/src/components/PrivacyModel.vue +++ b/src/components/PrivacyModel.vue @@ -51,11 +51,11 @@ onMounted(() => { 感谢您使用全能查APP! 我们非常重视您的隐私保护和个人信息保护,在您使用全能查APP前,请您仔细阅读、充分理解 - + 《用户协议》 和 - + 《隐私政策》 的各项条款。如果您同意,请点击下方按钮开始接受我们的服务。 diff --git a/src/components/QRcode.vue b/src/components/QRcode.vue new file mode 100644 index 0000000..612dfdd --- /dev/null +++ b/src/components/QRcode.vue @@ -0,0 +1,545 @@ + + + + + diff --git a/src/components/VipBanner.vue b/src/components/VipBanner.vue new file mode 100644 index 0000000..690f8ae --- /dev/null +++ b/src/components/VipBanner.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/components/qiun-data-charts/license.md b/src/components/qiun-data-charts/license.md deleted file mode 100644 index 261eeb9..0000000 --- a/src/components/qiun-data-charts/license.md +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/src/components/qiun-data-charts/qiun-data-charts.vue b/src/components/qiun-data-charts/qiun-data-charts.vue deleted file mode 100644 index 614fe7e..0000000 --- a/src/components/qiun-data-charts/qiun-data-charts.vue +++ /dev/null @@ -1,1621 +0,0 @@ - - - - - - - - - - diff --git a/src/components/qiun-error/qiun-error.vue b/src/components/qiun-error/qiun-error.vue deleted file mode 100644 index b15b19f..0000000 --- a/src/components/qiun-error/qiun-error.vue +++ /dev/null @@ -1,46 +0,0 @@ - - - - - diff --git a/src/components/qiun-loading/loading1.vue b/src/components/qiun-loading/loading1.vue deleted file mode 100644 index b701394..0000000 --- a/src/components/qiun-loading/loading1.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - - - diff --git a/src/components/qiun-loading/loading2.vue b/src/components/qiun-loading/loading2.vue deleted file mode 100644 index 7541b31..0000000 --- a/src/components/qiun-loading/loading2.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - - diff --git a/src/components/qiun-loading/loading3.vue b/src/components/qiun-loading/loading3.vue deleted file mode 100644 index 8e14db3..0000000 --- a/src/components/qiun-loading/loading3.vue +++ /dev/null @@ -1,173 +0,0 @@ - - - - - diff --git a/src/components/qiun-loading/loading4.vue b/src/components/qiun-loading/loading4.vue deleted file mode 100644 index 77c55b7..0000000 --- a/src/components/qiun-loading/loading4.vue +++ /dev/null @@ -1,222 +0,0 @@ - - - - - diff --git a/src/components/qiun-loading/loading5.vue b/src/components/qiun-loading/loading5.vue deleted file mode 100644 index cb93a55..0000000 --- a/src/components/qiun-loading/loading5.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - - diff --git a/src/components/qiun-loading/qiun-loading.vue b/src/components/qiun-loading/qiun-loading.vue deleted file mode 100644 index 7789060..0000000 --- a/src/components/qiun-loading/qiun-loading.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - - diff --git a/src/components/u-charts/config-echarts.js b/src/components/u-charts/config-echarts.js deleted file mode 100644 index 7b8168f..0000000 --- a/src/components/u-charts/config-echarts.js +++ /dev/null @@ -1,422 +0,0 @@ -/* - * uCharts® - * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台 - * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved. - * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) - * 复制使用请保留本段注释,感谢支持开源! - * - * uCharts®官方网站 - * https://www.uCharts.cn - * - * 开源地址: - * https://gitee.com/uCharts/uCharts - * - * uni-app插件市场地址: - * http://ext.dcloud.net.cn/plugin?id=271 - * - */ - -// 通用配置项 - -// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性 -const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc']; - -const cfe = { - //demotype为自定义图表类型 - "type": ["pie", "ring", "rose", "funnel", "line", "column", "area", "radar", "gauge","candle","demotype"], - //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型例如最后的"demotype" - "categories": ["line", "column", "area", "radar", "gauge", "candle","demotype"], - //instance为实例变量承载属性,option为eopts承载属性,不要删除 - "instance": {}, - "option": {}, - //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换 - "formatter":{ - "tooltipDemo1":function(res){ - let result = '' - for (let i in res) { - if (i == 0) { - result += res[i].axisValueLabel + '年销售额' - } - let value = '--' - if (res[i].data !== null) { - value = res[i].data - } - // #ifdef H5 - result += '\n' + res[i].seriesName + ':' + value + ' 万元' - // #endif - - // #ifdef APP-PLUS - result += '
' + res[i].marker + res[i].seriesName + ':' + value + ' 万元' - // #endif - } - return result; - }, - legendFormat:function(name){ - return "自定义图例+"+name; - }, - yAxisFormatDemo:function (value, index) { - return value + '元'; - }, - seriesFormatDemo:function(res){ - return res.name + '年' + res.value + '元'; - } - }, - //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在eopts参数,会将demotype与eopts中option合并后渲染图表。 - "demotype":{ - "color": color, - //在这里填写echarts的option即可 - - }, - //下面是自定义配置,请添加项目所需的通用配置 - "column": { - "color": color, - "title": { - "text": '' - }, - "tooltip": { - "trigger": 'axis' - }, - "grid": { - "top": 30, - "bottom": 50, - "right": 15, - "left": 40 - }, - "legend": { - "bottom": 'left', - }, - "toolbox": { - "show": false, - }, - "xAxis": { - "type": 'category', - "axisLabel": { - "color": '#666666' - }, - "axisLine": { - "lineStyle": { - "color": '#CCCCCC' - } - }, - "boundaryGap": true, - "data": [] - }, - "yAxis": { - "type": 'value', - "axisTick": { - "show": false, - }, - "axisLabel": { - "color": '#666666' - }, - "axisLine": { - "lineStyle": { - "color": '#CCCCCC' - } - }, - }, - "seriesTemplate": { - "name": '', - "type": 'bar', - "data": [], - "barwidth": 20, - "label": { - "show": true, - "color": "#666666", - "position": 'top', - }, - }, - }, - "line": { - "color": color, - "title": { - "text": '' - }, - "tooltip": { - "trigger": 'axis' - }, - "grid": { - "top": 30, - "bottom": 50, - "right": 15, - "left": 40 - }, - "legend": { - "bottom": 'left', - }, - "toolbox": { - "show": false, - }, - "xAxis": { - "type": 'category', - "axisLabel": { - "color": '#666666' - }, - "axisLine": { - "lineStyle": { - "color": '#CCCCCC' - } - }, - "boundaryGap": true, - "data": [] - }, - "yAxis": { - "type": 'value', - "axisTick": { - "show": false, - }, - "axisLabel": { - "color": '#666666' - }, - "axisLine": { - "lineStyle": { - "color": '#CCCCCC' - } - }, - }, - "seriesTemplate": { - "name": '', - "type": 'line', - "data": [], - "barwidth": 20, - "label": { - "show": true, - "color": "#666666", - "position": 'top', - }, - }, - }, - "area": { - "color": color, - "title": { - "text": '' - }, - "tooltip": { - "trigger": 'axis' - }, - "grid": { - "top": 30, - "bottom": 50, - "right": 15, - "left": 40 - }, - "legend": { - "bottom": 'left', - }, - "toolbox": { - "show": false, - }, - "xAxis": { - "type": 'category', - "axisLabel": { - "color": '#666666' - }, - "axisLine": { - "lineStyle": { - "color": '#CCCCCC' - } - }, - "boundaryGap": true, - "data": [] - }, - "yAxis": { - "type": 'value', - "axisTick": { - "show": false, - }, - "axisLabel": { - "color": '#666666' - }, - "axisLine": { - "lineStyle": { - "color": '#CCCCCC' - } - }, - }, - "seriesTemplate": { - "name": '', - "type": 'line', - "data": [], - "areaStyle": {}, - "label": { - "show": true, - "color": "#666666", - "position": 'top', - }, - }, - }, - "pie": { - "color": color, - "title": { - "text": '' - }, - "tooltip": { - "trigger": 'item' - }, - "grid": { - "top": 40, - "bottom": 30, - "right": 15, - "left": 15 - }, - "legend": { - "bottom": 'left', - }, - "seriesTemplate": { - "name": '', - "type": 'pie', - "data": [], - "radius": '50%', - "label": { - "show": true, - "color": "#666666", - "position": 'top', - }, - }, - }, - "ring": { - "color": color, - "title": { - "text": '' - }, - "tooltip": { - "trigger": 'item' - }, - "grid": { - "top": 40, - "bottom": 30, - "right": 15, - "left": 15 - }, - "legend": { - "bottom": 'left', - }, - "seriesTemplate": { - "name": '', - "type": 'pie', - "data": [], - "radius": ['40%', '70%'], - "avoidLabelOverlap": false, - "label": { - "show": true, - "color": "#666666", - "position": 'top', - }, - "labelLine": { - "show": true - }, - }, - }, - "rose": { - "color": color, - "title": { - "text": '' - }, - "tooltip": { - "trigger": 'item' - }, - "legend": { - "top": 'bottom' - }, - "seriesTemplate": { - "name": '', - "type": 'pie', - "data": [], - "radius": "55%", - "center": ['50%', '50%'], - "roseType": 'area', - }, - }, - "funnel": { - "color": color, - "title": { - "text": '' - }, - "tooltip": { - "trigger": 'item', - "formatter": "{b} : {c}%" - }, - "legend": { - "top": 'bottom' - }, - "seriesTemplate": { - "name": '', - "type": 'funnel', - "left": '10%', - "top": 60, - "bottom": 60, - "width": '80%', - "min": 0, - "max": 100, - "minSize": '0%', - "maxSize": '100%', - "sort": 'descending', - "gap": 2, - "label": { - "show": true, - "position": 'inside' - }, - "labelLine": { - "length": 10, - "lineStyle": { - "width": 1, - "type": 'solid' - } - }, - "itemStyle": { - "bordercolor": '#fff', - "borderwidth": 1 - }, - "emphasis": { - "label": { - "fontSize": 20 - } - }, - "data": [], - }, - }, - "gauge": { - "color": color, - "tooltip": { - "formatter": '{a}
{b} : {c}%' - }, - "seriesTemplate": { - "name": '业务指标', - "type": 'gauge', - "detail": {"formatter": '{value}%'}, - "data": [{"value": 50, "name": '完成率'}] - }, - }, - "candle": { - "xAxis": { - "data": [] - }, - "yAxis": {}, - "color": color, - "title": { - "text": '' - }, - "dataZoom": [{ - "type": 'inside', - "xAxisIndex": [0, 1], - "start": 10, - "end": 100 - }, - { - "show": true, - "xAxisIndex": [0, 1], - "type": 'slider', - "bottom": 10, - "start": 10, - "end": 100 - } - ], - "seriesTemplate": { - "name": '', - "type": 'k', - "data": [], - }, - } -} - -export default cfe; \ No newline at end of file diff --git a/src/components/u-charts/config-ucharts.js b/src/components/u-charts/config-ucharts.js deleted file mode 100644 index 17b28b3..0000000 --- a/src/components/u-charts/config-ucharts.js +++ /dev/null @@ -1,606 +0,0 @@ -/* - * uCharts® - * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台 - * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved. - * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) - * 复制使用请保留本段注释,感谢支持开源! - * - * uCharts®官方网站 - * https://www.uCharts.cn - * - * 开源地址: - * https://gitee.com/uCharts/uCharts - * - * uni-app插件市场地址: - * http://ext.dcloud.net.cn/plugin?id=271 - * - */ - -// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性 -const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc']; - -//事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改 -const formatDateTime = (timeStamp, returnType)=>{ - var date = new Date(); - date.setTime(timeStamp * 1000); - var y = date.getFullYear(); - var m = date.getMonth() + 1; - m = m < 10 ? ('0' + m) : m; - var d = date.getDate(); - d = d < 10 ? ('0' + d) : d; - var h = date.getHours(); - h = h < 10 ? ('0' + h) : h; - var minute = date.getMinutes(); - var second = date.getSeconds(); - minute = minute < 10 ? ('0' + minute) : minute; - second = second < 10 ? ('0' + second) : second; - if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;} - if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;} - if(returnType == 'h:m'){return h +':' + minute;} - if(returnType == 'h:m:s'){return h +':' + minute +':' + second;} - return [y, m, d, h, minute, second]; -} - -const cfu = { - //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可 - "type":["pie","ring","rose","word","funnel","map","arcbar","line","column","mount","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"], - "range":["饼状图","圆环图","玫瑰图","词云图","漏斗图","地图","圆弧进度条","折线图","柱状图","山峰图","条状图","区域图","雷达图","仪表盘","K线图","混合图","时间轴折线","时间轴区域","散点图","气泡图","自定义类型"], - //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype" - //自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories - "categories":["line","column","mount","bar","area","radar","gauge","candle","mix","demotype"], - //instance为实例变量承载属性,不要删除 - "instance":{}, - //option为opts及eopts承载属性,不要删除 - "option":{}, - //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换 - "formatter":{ - "yAxisDemo1":function(val, index, opts){return val+'元'}, - "yAxisDemo2":function(val, index, opts){return val.toFixed(2)}, - "xAxisDemo1":function(val, index, opts){return val+'年';}, - "xAxisDemo2":function(val, index, opts){return formatDateTime(val,'h:m')}, - "seriesDemo1":function(val, index, series, opts){return val+'元'}, - "tooltipDemo1":function(item, category, index, opts){ - if(index==0){ - return '随便用'+item.data+'年' - }else{ - return '其他我没改'+item.data+'天' - } - }, - "pieDemo":function(val, index, series, opts){ - if(index !== undefined){ - return series[index].name+':'+series[index].data+'元' - } - }, - }, - //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。 - "demotype":{ - //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置 - "type": "line", - "color": color, - "padding": [15,10,0,15], - "xAxis": { - "disableGrid": true, - }, - "yAxis": { - "gridType": "dash", - "dashLength": 2, - }, - "legend": { - }, - "extra": { - "line": { - "type": "curve", - "width": 2 - }, - } - }, - //下面是自定义配置,请添加项目所需的通用配置 - "pie":{ - "type": "pie", - "color": color, - "padding": [5,5,5,5], - "extra": { - "pie": { - "activeOpacity": 0.5, - "activeRadius": 10, - "offsetAngle": 0, - "labelWidth": 15, - "border": true, - "borderWidth": 3, - "borderColor": "#FFFFFF" - }, - } - }, - "ring":{ - "type": "ring", - "color": color, - "padding": [5,5,5,5], - "rotate": false, - "dataLabel": true, - "legend": { - "show": true, - "position": "right", - "lineHeight": 25, - }, - "title": { - "name": "收益率", - "fontSize": 15, - "color": "#666666" - }, - "subtitle": { - "name": "70%", - "fontSize": 25, - "color": "#7cb5ec" - }, - "extra": { - "ring": { - "ringWidth":30, - "activeOpacity": 0.5, - "activeRadius": 10, - "offsetAngle": 0, - "labelWidth": 15, - "border": true, - "borderWidth": 3, - "borderColor": "#FFFFFF" - }, - }, - }, - "rose":{ - "type": "rose", - "color": color, - "padding": [5,5,5,5], - "legend": { - "show": true, - "position": "left", - "lineHeight": 25, - }, - "extra": { - "rose": { - "type": "area", - "minRadius": 50, - "activeOpacity": 0.5, - "activeRadius": 10, - "offsetAngle": 0, - "labelWidth": 15, - "border": false, - "borderWidth": 2, - "borderColor": "#FFFFFF" - }, - } - }, - "word":{ - "type": "word", - "color": color, - "extra": { - "word": { - "type": "normal", - "autoColors": false - } - } - }, - "funnel":{ - "type": "funnel", - "color": color, - "padding": [15,15,0,15], - "extra": { - "funnel": { - "activeOpacity": 0.3, - "activeWidth": 10, - "border": true, - "borderWidth": 2, - "borderColor": "#FFFFFF", - "fillOpacity": 1, - "labelAlign": "right" - }, - } - }, - "map":{ - "type": "map", - "color": color, - "padding": [0,0,0,0], - "dataLabel": true, - "extra": { - "map": { - "border": true, - "borderWidth": 1, - "borderColor": "#666666", - "fillOpacity": 0.6, - "activeBorderColor": "#F04864", - "activeFillColor": "#FACC14", - "activeFillOpacity": 1 - }, - } - }, - "arcbar":{ - "type": "arcbar", - "color": color, - "title": { - "name": "百分比", - "fontSize": 25, - "color": "#00FF00" - }, - "subtitle": { - "name": "默认标题", - "fontSize": 15, - "color": "#666666" - }, - "extra": { - "arcbar": { - "type": "default", - "width": 12, - "backgroundColor": "#E9E9E9", - "startAngle": 0.75, - "endAngle": 0.25, - "gap": 2 - } - } - }, - "line":{ - "type": "line", - "color": color, - "padding": [15,10,0,15], - "xAxis": { - "disableGrid": true, - }, - "yAxis": { - "gridType": "dash", - "dashLength": 2, - }, - "legend": { - }, - "extra": { - "line": { - "type": "straight", - "width": 2, - "activeType": "hollow" - }, - } - }, - "tline":{ - "type": "line", - "color": color, - "padding": [15,10,0,15], - "xAxis": { - "disableGrid": false, - "boundaryGap":"justify", - }, - "yAxis": { - "gridType": "dash", - "dashLength": 2, - "data":[ - { - "min":0, - "max":80 - } - ] - }, - "legend": { - }, - "extra": { - "line": { - "type": "curve", - "width": 2, - "activeType": "hollow" - }, - } - }, - "tarea":{ - "type": "area", - "color": color, - "padding": [15,10,0,15], - "xAxis": { - "disableGrid": true, - "boundaryGap":"justify", - }, - "yAxis": { - "gridType": "dash", - "dashLength": 2, - "data":[ - { - "min":0, - "max":80 - } - ] - }, - "legend": { - }, - "extra": { - "area": { - "type": "curve", - "opacity": 0.2, - "addLine": true, - "width": 2, - "gradient": true, - "activeType": "hollow" - }, - } - }, - "column":{ - "type": "column", - "color": color, - "padding": [15,15,0,5], - "xAxis": { - "disableGrid": true, - }, - "yAxis": { - "data":[{"min":0}] - }, - "legend": { - }, - "extra": { - "column": { - "type": "group", - "width": 30, - "activeBgColor": "#000000", - "activeBgOpacity": 0.08 - }, - } - }, - "mount":{ - "type": "mount", - "color": color, - "padding": [15,15,0,5], - "xAxis": { - "disableGrid": true, - }, - "yAxis": { - "data":[{"min":0}] - }, - "legend": { - }, - "extra": { - "mount": { - "type": "mount", - "widthRatio": 1.5, - }, - } - }, - "bar":{ - "type": "bar", - "color": color, - "padding": [15,30,0,5], - "xAxis": { - "boundaryGap":"justify", - "disableGrid":false, - "min":0, - "axisLine":false - }, - "yAxis": { - }, - "legend": { - }, - "extra": { - "bar": { - "type": "group", - "width": 30, - "meterBorde": 1, - "meterFillColor": "#FFFFFF", - "activeBgColor": "#000000", - "activeBgOpacity": 0.08 - }, - } - }, - "area":{ - "type": "area", - "color": color, - "padding": [15,15,0,15], - "xAxis": { - "disableGrid": true, - }, - "yAxis": { - "gridType": "dash", - "dashLength": 2, - }, - "legend": { - }, - "extra": { - "area": { - "type": "straight", - "opacity": 0.2, - "addLine": true, - "width": 2, - "gradient": false, - "activeType": "hollow" - }, - } - }, - "radar":{ - "type": "radar", - "color": color, - "padding": [5,5,5,5], - "dataLabel": false, - "legend": { - "show": true, - "position": "right", - "lineHeight": 25, - }, - "extra": { - "radar": { - "gridType": "radar", - "gridColor": "#CCCCCC", - "gridCount": 3, - "opacity": 0.2, - "max": 200, - "labelShow": true - }, - } - }, - "gauge":{ - "type": "gauge", - "color": color, - "title": { - "name": "66Km/H", - "fontSize": 25, - "color": "#2fc25b", - "offsetY": 50 - }, - "subtitle": { - "name": "实时速度", - "fontSize": 15, - "color": "#1890ff", - "offsetY": -50 - }, - "extra": { - "gauge": { - "type": "default", - "width": 30, - "labelColor": "#666666", - "startAngle": 0.75, - "endAngle": 0.25, - "startNumber": 0, - "endNumber": 100, - "labelFormat": "", - "splitLine": { - "fixRadius": 0, - "splitNumber": 10, - "width": 30, - "color": "#FFFFFF", - "childNumber": 5, - "childWidth": 12 - }, - "pointer": { - "width": 24, - "color": "auto" - } - } - } - }, - "candle":{ - "type": "candle", - "color": color, - "padding": [15,15,0,15], - "enableScroll": true, - "enableMarkLine": true, - "dataLabel": false, - "xAxis": { - "labelCount": 4, - "itemCount": 40, - "disableGrid": true, - "gridColor": "#CCCCCC", - "gridType": "solid", - "dashLength": 4, - "scrollShow": true, - "scrollAlign": "left", - "scrollColor": "#A6A6A6", - "scrollBackgroundColor": "#EFEBEF" - }, - "yAxis": { - }, - "legend": { - }, - "extra": { - "candle": { - "color": { - "upLine": "#f04864", - "upFill": "#f04864", - "downLine": "#2fc25b", - "downFill": "#2fc25b" - }, - "average": { - "show": true, - "name": ["MA5","MA10","MA30"], - "day": [5,10,20], - "color": ["#1890ff","#2fc25b","#facc14"] - } - }, - "markLine": { - "type": "dash", - "dashLength": 5, - "data": [ - { - "value": 2150, - "lineColor": "#f04864", - "showLabel": true - }, - { - "value": 2350, - "lineColor": "#f04864", - "showLabel": true - } - ] - } - } - }, - "mix":{ - "type": "mix", - "color": color, - "padding": [15,15,0,15], - "xAxis": { - "disableGrid": true, - }, - "yAxis": { - "disabled": false, - "disableGrid": false, - "splitNumber": 5, - "gridType": "dash", - "dashLength": 4, - "gridColor": "#CCCCCC", - "padding": 10, - "showTitle": true, - "data": [] - }, - "legend": { - }, - "extra": { - "mix": { - "column": { - "width": 20 - } - }, - } - }, - "scatter":{ - "type": "scatter", - "color":color, - "padding":[15,15,0,15], - "dataLabel":false, - "xAxis": { - "disableGrid": false, - "gridType":"dash", - "splitNumber":5, - "boundaryGap":"justify", - "min":0 - }, - "yAxis": { - "disableGrid": false, - "gridType":"dash", - }, - "legend": { - }, - "extra": { - "scatter": { - }, - } - }, - "bubble":{ - "type": "bubble", - "color":color, - "padding":[15,15,0,15], - "xAxis": { - "disableGrid": false, - "gridType":"dash", - "splitNumber":5, - "boundaryGap":"justify", - "min":0, - "max":250 - }, - "yAxis": { - "disableGrid": false, - "gridType":"dash", - "data":[{ - "min":0, - "max":150 - }] - }, - "legend": { - }, - "extra": { - "bubble": { - "border":2, - "opacity": 0.5, - }, - } - } -} - -export default cfu; \ No newline at end of file diff --git a/src/components/u-charts/license.md b/src/components/u-charts/license.md deleted file mode 100644 index 261eeb9..0000000 --- a/src/components/u-charts/license.md +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/src/components/u-charts/readme.md b/src/components/u-charts/readme.md deleted file mode 100644 index d307ba3..0000000 --- a/src/components/u-charts/readme.md +++ /dev/null @@ -1,5 +0,0 @@ -# uCharts JSSDK说明 -1、如不使用uCharts组件,可直接引用u-charts.js,打包编译后会`自动压缩`,压缩后体积约为`120kb`。 -2、如果120kb的体积仍需压缩,请手到uCharts官网通过在线定制选择您需要的图表。 -3、config-ucharts.js为uCharts组件的用户配置文件,升级前请`自行备份config-ucharts.js`文件,以免被强制覆盖。 -4、config-echarts.js为ECharts组件的用户配置文件,升级前请`自行备份config-echarts.js`文件,以免被强制覆盖。 \ No newline at end of file diff --git a/src/components/u-charts/u-charts.js b/src/components/u-charts/u-charts.js deleted file mode 100644 index f78bde5..0000000 --- a/src/components/u-charts/u-charts.js +++ /dev/null @@ -1,7706 +0,0 @@ -/* - * uCharts (R) - * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台 - * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved. - * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) - * 复制使用请保留本段注释,感谢支持开源! - * - * uCharts (R) 官方网站 - * https://www.uCharts.cn - * - * 开源地址: - * https://gitee.com/uCharts/uCharts - * - * uni-app插件市场地址: - * http://ext.dcloud.net.cn/plugin?id=271 - * - */ - -'use strict'; - -var config = { - version: 'v2.5.0-20230101', - yAxisWidth: 15, - xAxisHeight: 22, - padding: [10, 10, 10, 10], - rotate: false, - fontSize: 13, - fontColor: '#666666', - dataPointShape: ['circle', 'circle', 'circle', 'circle'], - color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'], - linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'], - pieChartLinePadding: 15, - pieChartTextPadding: 5, - titleFontSize: 20, - subtitleFontSize: 15, - radarLabelTextMargin: 13, -}; - -var assign = function(target, ...varArgs) { - if (target == null) { - throw new TypeError('[uCharts] Cannot convert undefined or null to object'); - } - if (!varArgs || varArgs.length <= 0) { - return target; - } - // 深度合并对象 - function deepAssign(obj1, obj2) { - for (let key in obj2) { - obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" ? - deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key]; - } - return obj1; - } - varArgs.forEach(val => { - target = deepAssign(target, val); - }); - return target; -}; - -var util = { - toFixed: function toFixed(num, limit) { - limit = limit || 2; - if (this.isFloat(num)) { - num = num.toFixed(limit); - } - return num; - }, - isFloat: function isFloat(num) { - return num % 1 !== 0; - }, - approximatelyEqual: function approximatelyEqual(num1, num2) { - return Math.abs(num1 - num2) < 1e-10; - }, - isSameSign: function isSameSign(num1, num2) { - return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2; - }, - isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) { - return this.isSameSign(p1.x, p2.x); - }, - isCollision: function isCollision(obj1, obj2) { - obj1.end = {}; - obj1.end.x = obj1.start.x + obj1.width; - obj1.end.y = obj1.start.y - obj1.height; - obj2.end = {}; - obj2.end.x = obj2.start.x + obj2.width; - obj2.end.y = obj2.start.y - obj2.height; - 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; - return !flag; - } -}; - -//兼容H5点击事件 -function getH5Offset(e) { - e.mp = { - changedTouches: [] - }; - e.mp.changedTouches.push({ - x: e.offsetX, - y: e.offsetY - }); - return e; -} - -// hex 转 rgba -function hexToRgb(hexValue, opc) { - var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; - var hex = hexValue.replace(rgx, function(m, r, g, b) { - return r + r + g + g + b + b; - }); - var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); - var r = parseInt(rgb[1], 16); - var g = parseInt(rgb[2], 16); - var b = parseInt(rgb[3], 16); - return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')'; -} - -function findRange(num, type, limit) { - if (isNaN(num)) { - throw new Error('[uCharts] series数据需为Number格式'); - } - limit = limit || 10; - type = type ? type : 'upper'; - var multiple = 1; - while (limit < 1) { - limit *= 10; - multiple *= 10; - } - if (type === 'upper') { - num = Math.ceil(num * multiple); - } else { - num = Math.floor(num * multiple); - } - while (num % limit !== 0) { - if (type === 'upper') { - if (num == num + 1) { //修复数据值过大num++无效的bug by 向日葵 @xrk_jy - break; - } - num++; - } else { - num--; - } - } - return num / multiple; -} - -function calCandleMA(dayArr, nameArr, colorArr, kdata) { - let seriesTemp = []; - for (let k = 0; k < dayArr.length; k++) { - let seriesItem = { - data: [], - name: nameArr[k], - color: colorArr[k] - }; - for (let i = 0, len = kdata.length; i < len; i++) { - if (i < dayArr[k]) { - seriesItem.data.push(null); - continue; - } - let sum = 0; - for (let j = 0; j < dayArr[k]; j++) { - sum += kdata[i - j][1]; - } - seriesItem.data.push(+(sum / dayArr[k]).toFixed(3)); - } - seriesTemp.push(seriesItem); - } - return seriesTemp; -} - -function calValidDistance(self, distance, chartData, config, opts) { - var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3]; - var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1); - if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){ - if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 - dataChartWidth += (opts.extra.mount.widthRatio - 1)*chartData.eachSpacing; - } - var validDistance = distance; - if (distance >= 0) { - validDistance = 0; - self.uevent.trigger('scrollLeft'); - self.scrollOption.position = 'left' - opts.xAxis.scrollPosition = 'left'; - } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) { - validDistance = dataChartAreaWidth - dataChartWidth; - self.uevent.trigger('scrollRight'); - self.scrollOption.position = 'right' - opts.xAxis.scrollPosition = 'right'; - } else { - self.scrollOption.position = distance - opts.xAxis.scrollPosition = distance; - } - return validDistance; -} - -function isInAngleRange(angle, startAngle, endAngle) { - function adjust(angle) { - while (angle < 0) { - angle += 2 * Math.PI; - } - while (angle > 2 * Math.PI) { - angle -= 2 * Math.PI; - } - return angle; - } - angle = adjust(angle); - startAngle = adjust(startAngle); - endAngle = adjust(endAngle); - if (startAngle > endAngle) { - endAngle += 2 * Math.PI; - if (angle < startAngle) { - angle += 2 * Math.PI; - } - } - return angle >= startAngle && angle <= endAngle; -} - -function createCurveControlPoints(points, i) { - function isNotMiddlePoint(points, i) { - if (points[i - 1] && points[i + 1]) { - return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y, - points[i + 1].y); - } else { - return false; - } - } - function isNotMiddlePointX(points, i) { - if (points[i - 1] && points[i + 1]) { - return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x, - points[i + 1].x); - } else { - return false; - } - } - var a = 0.2; - var b = 0.2; - var pAx = null; - var pAy = null; - var pBx = null; - var pBy = null; - if (i < 1) { - pAx = points[0].x + (points[1].x - points[0].x) * a; - pAy = points[0].y + (points[1].y - points[0].y) * a; - } else { - pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a; - pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a; - } - - if (i > points.length - 3) { - var last = points.length - 1; - pBx = points[last].x - (points[last].x - points[last - 1].x) * b; - pBy = points[last].y - (points[last].y - points[last - 1].y) * b; - } else { - pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b; - pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b; - } - if (isNotMiddlePoint(points, i + 1)) { - pBy = points[i + 1].y; - } - if (isNotMiddlePoint(points, i)) { - pAy = points[i].y; - } - if (isNotMiddlePointX(points, i + 1)) { - pBx = points[i + 1].x; - } - if (isNotMiddlePointX(points, i)) { - pAx = points[i].x; - } - if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) { - pAy = points[i].y; - } - if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) { - pBy = points[i + 1].y; - } - if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) { - pAx = points[i].x; - } - if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) { - pBx = points[i + 1].x; - } - return { - ctrA: { - x: pAx, - y: pAy - }, - ctrB: { - x: pBx, - y: pBy - } - }; -} - - -function convertCoordinateOrigin(x, y, center) { - return { - x: center.x + x, - y: center.y - y - }; -} - -function avoidCollision(obj, target) { - if (target) { - // is collision test - while (util.isCollision(obj, target)) { - if (obj.start.x > 0) { - obj.start.y--; - } else if (obj.start.x < 0) { - obj.start.y++; - } else { - if (obj.start.y > 0) { - obj.start.y++; - } else { - obj.start.y--; - } - } - } - } - return obj; -} - -function fixPieSeries(series, opts, config){ - let pieSeriesArr = []; - if(series.length>0 && series[0].data.constructor.toString().indexOf('Array') > -1){ - opts._pieSeries_ = series; - let oldseries = series[0].data; - for (var i = 0; i < oldseries.length; i++) { - oldseries[i].formatter = series[0].formatter; - oldseries[i].data = oldseries[i].value; - pieSeriesArr.push(oldseries[i]); - } - opts.series = pieSeriesArr; - }else{ - pieSeriesArr = series; - } - return pieSeriesArr; -} - -function fillSeries(series, opts, config) { - var index = 0; - for (var i = 0; i < series.length; i++) { - let item = series[i]; - if (!item.color) { - item.color = config.color[index]; - index = (index + 1) % config.color.length; - } - if (!item.linearIndex) { - item.linearIndex = i; - } - if (!item.index) { - item.index = 0; - } - if (!item.type) { - item.type = opts.type; - } - if (typeof item.show == "undefined") { - item.show = true; - } - if (!item.type) { - item.type = opts.type; - } - if (!item.pointShape) { - item.pointShape = "circle"; - } - if (!item.legendShape) { - switch (item.type) { - case 'line': - item.legendShape = "line"; - break; - case 'column': - case 'bar': - item.legendShape = "rect"; - break; - case 'area': - case 'mount': - item.legendShape = "triangle"; - break; - default: - item.legendShape = "circle"; - } - } - } - return series; -} - -function fillCustomColor(linearType, customColor, series, config) { - var newcolor = customColor || []; - if (linearType == 'custom' && newcolor.length == 0 ) { - newcolor = config.linearColor; - } - if (linearType == 'custom' && newcolor.length < series.length) { - let chazhi = series.length - newcolor.length; - for (var i = 0; i < chazhi; i++) { - newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]); - } - } - return newcolor; -} - -function getDataRange(minData, maxData) { - var limit = 0; - var range = maxData - minData; - if (range >= 10000) { - limit = 1000; - } else if (range >= 1000) { - limit = 100; - } else if (range >= 100) { - limit = 10; - } else if (range >= 10) { - limit = 5; - } else if (range >= 1) { - limit = 1; - } else if (range >= 0.1) { - limit = 0.1; - } else if (range >= 0.01) { - limit = 0.01; - } else if (range >= 0.001) { - limit = 0.001; - } else if (range >= 0.0001) { - limit = 0.0001; - } else if (range >= 0.00001) { - limit = 0.00001; - } else { - limit = 0.000001; - } - return { - minRange: findRange(minData, 'lower', limit), - maxRange: findRange(maxData, 'upper', limit) - }; -} - -function measureText(text, fontSize, context) { - var width = 0; - text = String(text); - // #ifdef MP-ALIPAY || MP-BAIDU || APP-NVUE - context = false; - // #endif - if (context !== false && context !== undefined && context.setFontSize && context.measureText) { - context.setFontSize(fontSize); - return context.measureText(text).width; - } else { - var text = text.split(''); - for (let i = 0; i < text.length; i++) { - let item = text[i]; - if (/[a-zA-Z]/.test(item)) { - width += 7; - } else if (/[0-9]/.test(item)) { - width += 5.5; - } else if (/\./.test(item)) { - width += 2.7; - } else if (/-/.test(item)) { - width += 3.25; - } else if (/:/.test(item)) { - width += 2.5; - } else if (/[\u4e00-\u9fa5]/.test(item)) { - width += 10; - } else if (/\(|\)/.test(item)) { - width += 3.73; - } else if (/\s/.test(item)) { - width += 2.5; - } else if (/%/.test(item)) { - width += 8; - } else { - width += 10; - } - } - return width * fontSize / 10; - } -} - -function dataCombine(series) { - return series.reduce(function(a, b) { - return (a.data ? a.data : a).concat(b.data); - }, []); -} - -function dataCombineStack(series, len) { - var sum = new Array(len); - for (var j = 0; j < sum.length; j++) { - sum[j] = 0; - } - for (var i = 0; i < series.length; i++) { - for (var j = 0; j < sum.length; j++) { - sum[j] += series[i].data[j]; - } - } - return series.reduce(function(a, b) { - return (a.data ? a.data : a).concat(b.data).concat(sum); - }, []); -} - -function getTouches(touches, opts, e) { - let x, y; - if (touches.clientX) { - if (opts.rotate) { - y = opts.height - touches.clientX * opts.pix; - x = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix; - } else { - x = touches.clientX * opts.pix; - y = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix; - } - } else { - if (opts.rotate) { - y = opts.height - touches.x * opts.pix; - x = touches.y * opts.pix; - } else { - x = touches.x * opts.pix; - y = touches.y * opts.pix; - } - } - return { - x: x, - y: y - } -} - -function getSeriesDataItem(series, index, group) { - var data = []; - var newSeries = []; - var indexIsArr = index.constructor.toString().indexOf('Array') > -1; - if(indexIsArr){ - let tempSeries = filterSeries(series); - for (var i = 0; i < group.length; i++) { - newSeries.push(tempSeries[group[i]]); - } - }else{ - newSeries = series; - }; - for (let i = 0; i < newSeries.length; i++) { - let item = newSeries[i]; - let tmpindex = -1; - if(indexIsArr){ - tmpindex = index[i]; - }else{ - tmpindex = index; - } - if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) { - let seriesItem = {}; - seriesItem.color = item.color; - seriesItem.type = item.type; - seriesItem.style = item.style; - seriesItem.pointShape = item.pointShape; - seriesItem.disableLegend = item.disableLegend; - seriesItem.legendShape = item.legendShape; - seriesItem.name = item.name; - seriesItem.show = item.show; - seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex]; - data.push(seriesItem); - } - } - return data; -} - -function getMaxTextListLength(list, fontSize, context) { - var lengthList = list.map(function(item) { - return measureText(item, fontSize, context); - }); - return Math.max.apply(null, lengthList); -} - -function getRadarCoordinateSeries(length) { - var eachAngle = 2 * Math.PI / length; - var CoordinateSeries = []; - for (var i = 0; i < length; i++) { - CoordinateSeries.push(eachAngle * i); - } - return CoordinateSeries.map(function(item) { - return -1 * item + Math.PI / 2; - }); -} - -function getToolTipData(seriesData, opts, index, group, categories) { - var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {}; - var calPoints = opts.chartData.calPoints?opts.chartData.calPoints:[]; - let points = {}; - if(group.length > 0){ - let filterPoints = []; - for (let i = 0; i < group.length; i++) { - filterPoints.push(calPoints[group[i]]) - } - points = filterPoints[0][index[0]]; - }else{ - for (let i = 0; i < calPoints.length; i++) { - if(calPoints[i][index]){ - points = calPoints[i][index]; - break; - } - } - }; - var textList = seriesData.map(function(item) { - let titleText = null; - if (opts.categories && opts.categories.length>0) { - titleText = categories[index]; - }; - return { - text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data, - color: item.color, - legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape - }; - }); - var offset = { - x: Math.round(points.x), - y: Math.round(points.y) - }; - return { - textList: textList, - offset: offset - }; -} - -function getMixToolTipData(seriesData, opts, index, categories) { - var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; - var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2; - var textList = seriesData.map(function(item) { - return { - text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data, - color: item.color, - disableLegend: item.disableLegend ? true : false, - legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape - }; - }); - textList = textList.filter(function(item) { - if (item.disableLegend !== true) { - return item; - } - }); - var offset = { - x: Math.round(points), - y: 0 - }; - return { - textList: textList, - offset: offset - }; -} - -function getCandleToolTipData(series, seriesData, opts, index, categories, extra) { - var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {}; - var calPoints = opts.chartData.calPoints; - let upColor = extra.color.upFill; - let downColor = extra.color.downFill; - //颜色顺序为开盘,收盘,最低,最高 - let color = [upColor, upColor, downColor, upColor]; - var textList = []; - seriesData.map(function(item) { - if (index == 0) { - if (item.data[1] - item.data[0] < 0) { - color[1] = downColor; - } else { - color[1] = upColor; - } - } else { - if (item.data[0] < series[index - 1][1]) { - color[0] = downColor; - } - if (item.data[1] < item.data[0]) { - color[1] = downColor; - } - if (item.data[2] > series[index - 1][1]) { - color[2] = upColor; - } - if (item.data[3] < series[index - 1][1]) { - color[3] = downColor; - } - } - let text1 = { - text: '开盘:' + item.data[0], - color: color[0], - legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape - }; - let text2 = { - text: '收盘:' + item.data[1], - color: color[1], - legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape - }; - let text3 = { - text: '最低:' + item.data[2], - color: color[2], - legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape - }; - let text4 = { - text: '最高:' + item.data[3], - color: color[3], - legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape - }; - textList.push(text1, text2, text3, text4); - }); - var validCalPoints = []; - var offset = { - x: 0, - y: 0 - }; - for (let i = 0; i < calPoints.length; i++) { - let points = calPoints[i]; - if (typeof points[index] !== 'undefined' && points[index] !== null) { - validCalPoints.push(points[index]); - } - } - offset.x = Math.round(validCalPoints[0][0].x); - return { - textList: textList, - offset: offset - }; -} - -function filterSeries(series) { - let tempSeries = []; - for (let i = 0; i < series.length; i++) { - if (series[i].show == true) { - tempSeries.push(series[i]) - } - } - return tempSeries; -} - -function findCurrentIndex(currentPoints, calPoints, opts, config) { - var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; - var current={ index:-1, group:[] }; - var spacing = opts.chartData.eachSpacing / 2; - let xAxisPoints = []; - if (calPoints && calPoints.length > 0) { - if (!opts.categories) { - spacing = 0; - }else{ - for (let i = 1; i < opts.chartData.xAxisPoints.length; i++) { - xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing); - } - if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') { - xAxisPoints = opts.chartData.xAxisPoints; - } - } - if (isInExactChartArea(currentPoints, opts, config)) { - if (!opts.categories) { - let timePoints = Array(calPoints.length); - for (let i = 0; i < calPoints.length; i++) { - timePoints[i] = Array(calPoints[i].length) - for (let j = 0; j < calPoints[i].length; j++) { - timePoints[i][j] = (Math.abs(calPoints[i][j].x - currentPoints.x)); - } - }; - let pointValue = Array(timePoints.length); - let pointIndex = Array(timePoints.length); - for (let i = 0; i < timePoints.length; i++) { - pointValue[i] = Math.min.apply(null, timePoints[i]); - pointIndex[i] = timePoints[i].indexOf(pointValue[i]); - } - let minValue = Math.min.apply(null, pointValue); - current.index = []; - for (let i = 0; i < pointValue.length; i++) { - if(pointValue[i] == minValue){ - current.group.push(i); - current.index.push(pointIndex[i]); - } - }; - }else{ - xAxisPoints.forEach(function(item, index) { - if (currentPoints.x + offset + spacing > item) { - current.index = index; - } - }); - } - } - } - return current; -} - -function findBarChartCurrentIndex(currentPoints, calPoints, opts, config) { - var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0; - var current={ index:-1, group:[] }; - var spacing = opts.chartData.eachSpacing / 2; - let yAxisPoints = opts.chartData.yAxisPoints; - if (calPoints && calPoints.length > 0) { - if (isInExactChartArea(currentPoints, opts, config)) { - yAxisPoints.forEach(function(item, index) { - if (currentPoints.y + offset + spacing > item) { - current.index = index; - } - }); - } - } - return current; -} - -function findLegendIndex(currentPoints, legendData, opts) { - let currentIndex = -1; - let gap = 0; - if (isInExactLegendArea(currentPoints, legendData.area)) { - let points = legendData.points; - let index = -1; - for (let i = 0, len = points.length; i < len; i++) { - let item = points[i]; - for (let j = 0; j < item.length; j++) { - index += 1; - let area = item[j]['area']; - if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) { - currentIndex = index; - break; - } - } - } - return currentIndex; - } - return currentIndex; -} - -function isInExactLegendArea(currentPoints, area) { - return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y; -} - -function isInExactChartArea(currentPoints, opts, config) { - 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]; -} - -function findRadarChartCurrentIndex(currentPoints, radarData, count) { - var eachAngleArea = 2 * Math.PI / count; - var currentIndex = -1; - if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) { - var fixAngle = function fixAngle(angle) { - if (angle < 0) { - angle += 2 * Math.PI; - } - if (angle > 2 * Math.PI) { - angle -= 2 * Math.PI; - } - return angle; - }; - var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x); - angle = -1 * angle; - if (angle < 0) { - angle += 2 * Math.PI; - } - var angleList = radarData.angleList.map(function(item) { - item = fixAngle(-1 * item); - return item; - }); - angleList.forEach(function(item, index) { - var rangeStart = fixAngle(item - eachAngleArea / 2); - var rangeEnd = fixAngle(item + eachAngleArea / 2); - if (rangeEnd < rangeStart) { - rangeEnd += 2 * Math.PI; - } - if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) { - currentIndex = index; - } - }); - } - return currentIndex; -} - -function findFunnelChartCurrentIndex(currentPoints, funnelData) { - var currentIndex = -1; - for (var i = 0, len = funnelData.series.length; i < len; i++) { - var item = funnelData.series[i]; - if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) { - currentIndex = i; - break; - } - } - return currentIndex; -} - -function findWordChartCurrentIndex(currentPoints, wordData) { - var currentIndex = -1; - for (var i = 0, len = wordData.length; i < len; i++) { - var item = wordData[i]; - if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) { - currentIndex = i; - break; - } - } - return currentIndex; -} - -function findMapChartCurrentIndex(currentPoints, opts) { - var currentIndex = -1; - var cData = opts.chartData.mapData; - var data = opts.series; - var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset); - var poi = [tmp.x, tmp.y]; - for (var i = 0, len = data.length; i < len; i++) { - var item = data[i].geometry.coordinates; - if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) { - currentIndex = i; - break; - } - } - return currentIndex; -} - -function findRoseChartCurrentIndex(currentPoints, pieData, opts) { - var currentIndex = -1; - var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius); - if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) { - var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x); - angle = -angle; - if(opts.extra.rose && opts.extra.rose.offsetAngle){ - angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180; - } - for (var i = 0, len = series.length; i < len; i++) { - if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) { - currentIndex = i; - break; - } - } - } - return currentIndex; -} - -function findPieChartCurrentIndex(currentPoints, pieData, opts) { - var currentIndex = -1; - var series = getPieDataPoints(pieData.series); - if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) { - var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x); - angle = -angle; - if(opts.extra.pie && opts.extra.pie.offsetAngle){ - angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180; - } - if(opts.extra.ring && opts.extra.ring.offsetAngle){ - angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180; - } - for (var i = 0, len = series.length; i < len; i++) { - if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) { - currentIndex = i; - break; - } - } - } - return currentIndex; -} - -function isInExactPieChartArea(currentPoints, center, radius) { - return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2); -} - - -function splitPoints(points,eachSeries) { - var newPoints = []; - var items = []; - points.forEach(function(item, index) { - if(eachSeries.connectNulls){ - if (item !== null) { - items.push(item); - } - }else{ - if (item !== null) { - items.push(item); - } else { - if (items.length) { - newPoints.push(items); - } - items = []; - } - } - - }); - if (items.length) { - newPoints.push(items); - } - return newPoints; -} - - -function calLegendData(series, opts, config, chartData, context) { - let legendData = { - area: { - start: { - x: 0, - y: 0 - }, - end: { - x: 0, - y: 0 - }, - width: 0, - height: 0, - wholeWidth: 0, - wholeHeight: 0 - }, - points: [], - widthArr: [], - heightArr: [] - }; - if (opts.legend.show === false) { - chartData.legendData = legendData; - return legendData; - } - let padding = opts.legend.padding * opts.pix; - let margin = opts.legend.margin * opts.pix; - let fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize; - let shapeWidth = 15 * opts.pix; - let shapeRight = 5 * opts.pix; - let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize); - if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { - let legendList = []; - let widthCount = 0; - let widthCountArr = []; - let currentRow = []; - for (let i = 0; i < series.length; i++) { - let item = series[i]; - const legendText = item.legendText ? item.legendText : item.name; - let itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix; - if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) { - legendList.push(currentRow); - widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix); - widthCount = itemWidth; - currentRow = [item]; - } else { - widthCount += itemWidth; - currentRow.push(item); - } - } - if (currentRow.length) { - legendList.push(currentRow); - widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix); - legendData.widthArr = widthCountArr; - let legendWidth = Math.max.apply(null, widthCountArr); - switch (opts.legend.float) { - case 'left': - legendData.area.start.x = opts.area[3]; - legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding; - break; - case 'right': - legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding; - legendData.area.end.x = opts.width - opts.area[1]; - break; - default: - legendData.area.start.x = (opts.width - legendWidth) / 2 - padding; - legendData.area.end.x = (opts.width + legendWidth) / 2 + padding; - } - legendData.area.width = legendWidth + 2 * padding; - legendData.area.wholeWidth = legendWidth + 2 * padding; - legendData.area.height = legendList.length * lineHeight + 2 * padding; - legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin; - legendData.points = legendList; - } - } else { - let len = series.length; - let maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding; - let maxLength = Math.min(Math.floor(maxHeight / lineHeight), len); - legendData.area.height = maxLength * lineHeight + padding * 2; - legendData.area.wholeHeight = maxLength * lineHeight + padding * 2; - switch (opts.legend.float) { - case 'top': - legendData.area.start.y = opts.area[0] + margin; - legendData.area.end.y = opts.area[0] + margin + legendData.area.height; - break; - case 'bottom': - legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height; - legendData.area.end.y = opts.height - opts.area[2] - margin; - break; - default: - legendData.area.start.y = (opts.height - legendData.area.height) / 2; - legendData.area.end.y = (opts.height + legendData.area.height) / 2; - } - let lineNum = len % maxLength === 0 ? len / maxLength : Math.floor((len / maxLength) + 1); - let currentRow = []; - for (let i = 0; i < lineNum; i++) { - let temp = series.slice(i * maxLength, i * maxLength + maxLength); - currentRow.push(temp); - } - legendData.points = currentRow; - if (currentRow.length) { - for (let i = 0; i < currentRow.length; i++) { - let item = currentRow[i]; - let maxWidth = 0; - for (let j = 0; j < item.length; j++) { - let itemWidth = shapeWidth + shapeRight + measureText(item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix; - if (itemWidth > maxWidth) { - maxWidth = itemWidth; - } - } - legendData.widthArr.push(maxWidth); - legendData.heightArr.push(item.length * lineHeight + padding * 2); - } - let legendWidth = 0 - for (let i = 0; i < legendData.widthArr.length; i++) { - legendWidth += legendData.widthArr[i]; - } - legendData.area.width = legendWidth - opts.legend.itemGap * opts.pix + 2 * padding; - legendData.area.wholeWidth = legendData.area.width + padding; - } - } - switch (opts.legend.position) { - case 'top': - legendData.area.start.y = opts.area[0] + margin; - legendData.area.end.y = opts.area[0] + margin + legendData.area.height; - break; - case 'bottom': - legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin; - legendData.area.end.y = opts.height - opts.area[2] - margin; - break; - case 'left': - legendData.area.start.x = opts.area[3]; - legendData.area.end.x = opts.area[3] + legendData.area.width; - break; - case 'right': - legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width; - legendData.area.end.x = opts.width - opts.area[1]; - break; - } - chartData.legendData = legendData; - return legendData; -} - -function calCategoriesData(categories, opts, config, eachSpacing, context) { - var result = { - angle: 0, - xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix - }; - var fontSize = opts.xAxis.fontSize * opts.pix; - var categoriesTextLenth = categories.map(function(item,index) { - var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item; - return measureText(String(xitem), fontSize, context); - }); - var maxTextLength = Math.max.apply(this, categoriesTextLenth); - if (opts.xAxis.rotateLabel == true) { - result.angle = opts.xAxis.rotateAngle * Math.PI / 180; - let tempHeight = opts.xAxis.marginTop * opts.pix * 2 + Math.abs(maxTextLength * Math.sin(result.angle)) - tempHeight = tempHeight < fontSize + opts.xAxis.marginTop * opts.pix * 2 ? tempHeight + opts.xAxis.marginTop * opts.pix * 2 : tempHeight; - result.xAxisHeight = tempHeight; - } - if (opts.enableScroll && opts.xAxis.scrollShow) { - result.xAxisHeight += 6 * opts.pix; - } - if (opts.xAxis.disabled){ - result.xAxisHeight = 0; - } - return result; -} - -function getXAxisTextList(series, opts, config, stack) { - var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1; - var data; - if (stack == 'stack') { - data = dataCombineStack(series, opts.categories.length); - } else { - data = dataCombine(series); - } - var sorted = []; - // remove null from data - data = data.filter(function(item) { - //return item !== null; - if (typeof item === 'object' && item !== null) { - if (item.constructor.toString().indexOf('Array') > -1) { - return item !== null; - } else { - return item.value !== null; - } - } else { - return item !== null; - } - }); - data.map(function(item) { - if (typeof item === 'object') { - if (item.constructor.toString().indexOf('Array') > -1) { - if (opts.type == 'candle') { - item.map(function(subitem) { - sorted.push(subitem); - }) - } else { - sorted.push(item[0]); - } - } else { - sorted.push(item.value); - } - } else { - sorted.push(item); - } - }) - - var minData = 0; - var maxData = 0; - if (sorted.length > 0) { - minData = Math.min.apply(this, sorted); - maxData = Math.max.apply(this, sorted); - } - //为了兼容v1.9.0之前的项目 - if (index > -1) { - if (typeof opts.xAxis.data[index].min === 'number') { - minData = Math.min(opts.xAxis.data[index].min, minData); - } - if (typeof opts.xAxis.data[index].max === 'number') { - maxData = Math.max(opts.xAxis.data[index].max, maxData); - } - } else { - if (typeof opts.xAxis.min === 'number') { - minData = Math.min(opts.xAxis.min, minData); - } - if (typeof opts.xAxis.max === 'number') { - maxData = Math.max(opts.xAxis.max, maxData); - } - } - if (minData === maxData) { - var rangeSpan = maxData || 10; - maxData += rangeSpan; - } - //var dataRange = getDataRange(minData, maxData); - var minRange = minData; - var maxRange = maxData; - var range = []; - var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber; - for (var i = 0; i <= opts.xAxis.splitNumber; i++) { - range.push(minRange + eachRange * i); - } - return range; -} - -function calXAxisData(series, opts, config, context) { - //堆叠图重算Y轴 - var columnstyle = assign({}, { - type: "" - }, opts.extra.bar); - var result = { - angle: 0, - xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix - }; - result.ranges = getXAxisTextList(series, opts, config, columnstyle.type); - result.rangesFormat = result.ranges.map(function(item) { - //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2); - item = util.toFixed(item, 2); - return item; - }); - var xAxisScaleValues = result.ranges.map(function(item) { - // 如果刻度值是浮点数,则保留两位小数 - item = util.toFixed(item, 2); - // 若有自定义格式则调用自定义的格式化函数 - //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item; - return item; - }); - result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config)); - // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\结束点以及总长 - var eachSpacing = result.eachSpacing; - var textLength = xAxisScaleValues.map(function(item) { - return measureText(item, opts.xAxis.fontSize * opts.pix, context); - }); - if (opts.xAxis.disabled === true) { - result.xAxisHeight = 0; - } - return result; -} - -function getRadarDataPoints(angleList, center, radius, series, opts) { - var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; - var radarOption = opts.extra.radar || {}; - radarOption.max = radarOption.max || 0; - var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series))); - var data = []; - for (let i = 0; i < series.length; i++) { - let each = series[i]; - let listItem = {}; - listItem.color = each.color; - listItem.legendShape = each.legendShape; - listItem.pointShape = each.pointShape; - listItem.data = []; - each.data.forEach(function(item, index) { - let tmp = {}; - tmp.angle = angleList[index]; - tmp.proportion = item / maxData; - tmp.value = item; - tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center); - listItem.data.push(tmp); - }); - data.push(listItem); - } - return data; -} - -function getPieDataPoints(series, radius) { - var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; - var count = 0; - var _start_ = 0; - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item.data = item.data === null ? 0 : item.data; - count += item.data; - } - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item.data = item.data === null ? 0 : item.data; - if (count === 0) { - item._proportion_ = 1 / series.length * process; - } else { - item._proportion_ = item.data / count * process; - } - item._radius_ = radius; - } - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item._start_ = _start_; - _start_ += 2 * item._proportion_ * Math.PI; - } - return series; -} - -function getFunnelDataPoints(series, radius, option, eachSpacing) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - for (let i = 0; i < series.length; i++) { - if(option.type == 'funnel'){ - series[i].radius = series[i].data / series[0].data * radius * process; - }else{ - series[i].radius = (eachSpacing * (series.length - i)) / (eachSpacing * series.length) * radius * process; - } - series[i]._proportion_ = series[i].data / series[0].data; - } - // if(option.type !== 'pyramid'){ - // series.reverse(); - // } - return series; -} - -function getRoseDataPoints(series, type, minRadius, radius) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var count = 0; - var _start_ = 0; - var dataArr = []; - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item.data = item.data === null ? 0 : item.data; - count += item.data; - dataArr.push(item.data); - } - var minData = Math.min.apply(null, dataArr); - var maxData = Math.max.apply(null, dataArr); - var radiusLength = radius - minRadius; - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item.data = item.data === null ? 0 : item.data; - if (count === 0) { - item._proportion_ = 1 / series.length * process; - item._rose_proportion_ = 1 / series.length * process; - } else { - item._proportion_ = item.data / count * process; - if(type == 'area'){ - item._rose_proportion_ = 1 / series.length * process; - }else{ - item._rose_proportion_ = item.data / count * process; - } - } - item._radius_ = minRadius + radiusLength * ((item.data - minData) / (maxData - minData)) || radius; - } - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item._start_ = _start_; - _start_ += 2 * item._rose_proportion_ * Math.PI; - } - return series; -} - -function getArcbarDataPoints(series, arcbarOption) { - var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; - if (process == 1) { - process = 0.999999; - } - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item.data = item.data === null ? 0 : item.data; - let totalAngle; - if (arcbarOption.type == 'circle') { - totalAngle = 2; - } else { - if(arcbarOption.direction == 'ccw'){ - if (arcbarOption.startAngle < arcbarOption.endAngle) { - totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle; - } else { - totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; - } - }else{ - if (arcbarOption.endAngle < arcbarOption.startAngle) { - totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle; - } else { - totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; - } - } - } - item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle; - if(arcbarOption.direction == 'ccw'){ - item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process ; - } - if (item._proportion_ >= 2) { - item._proportion_ = item._proportion_ % 2; - } - } - return series; -} - -function getGaugeArcbarDataPoints(series, arcbarOption) { - var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1; - if (process == 1) { - process = 0.999999; - } - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item.data = item.data === null ? 0 : item.data; - let totalAngle; - if (arcbarOption.type == 'circle') { - totalAngle = 2; - } else { - if (arcbarOption.endAngle < arcbarOption.startAngle) { - totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle; - } else { - totalAngle = arcbarOption.startAngle - arcbarOption.endAngle; - } - } - item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle; - if (item._proportion_ >= 2) { - item._proportion_ = item._proportion_ % 2; - } - } - return series; -} - -function getGaugeAxisPoints(categories, startAngle, endAngle) { - let totalAngle; - if (endAngle < startAngle) { - totalAngle = 2 + endAngle - startAngle; - } else { - totalAngle = startAngle - endAngle; - } - let tempStartAngle = startAngle; - for (let i = 0; i < categories.length; i++) { - categories[i].value = categories[i].value === null ? 0 : categories[i].value; - categories[i]._startAngle_ = tempStartAngle; - categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle; - if (categories[i]._endAngle_ >= 2) { - categories[i]._endAngle_ = categories[i]._endAngle_ % 2; - } - tempStartAngle = categories[i]._endAngle_; - } - return categories; -} - -function getGaugeDataPoints(series, categories, gaugeOption) { - let process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1; - for (let i = 0; i < series.length; i++) { - let item = series[i]; - item.data = item.data === null ? 0 : item.data; - if (gaugeOption.pointer.color == 'auto') { - for (let i = 0; i < categories.length; i++) { - if (item.data <= categories[i].value) { - item.color = categories[i].color; - break; - } - } - } else { - item.color = gaugeOption.pointer.color; - } - let totalAngle; - if (gaugeOption.endAngle < gaugeOption.startAngle) { - totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; - } else { - totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; - } - item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle; - item._oldAngle_ = gaugeOption.oldAngle; - if (gaugeOption.oldAngle < gaugeOption.endAngle) { - item._oldAngle_ += 2; - } - if (item.data >= gaugeOption.oldData) { - item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle; - } else { - item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process; - } - if (item._proportion_ >= 2) { - item._proportion_ = item._proportion_ % 2; - } - } - return series; -} - -function getPieTextMaxLength(series, config, context, opts) { - series = getPieDataPoints(series); - let maxLength = 0; - for (let i = 0; i < series.length; i++) { - let item = series[i]; - let text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%'; - maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context)); - } - return maxLength; -} - -function fixColumeData(points, eachSpacing, columnLen, index, config, opts) { - return points.map(function(item) { - if (item === null) { - return null; - } - var seriesGap = 0; - var categoryGap = 0; - if (opts.type == 'mix') { - seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0; - categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0; - } else { - seriesGap = opts.extra.column.seriesGap * opts.pix || 0; - categoryGap = opts.extra.column.categoryGap * opts.pix || 0; - } - seriesGap = Math.min(seriesGap, eachSpacing / columnLen) - categoryGap = Math.min(categoryGap, eachSpacing / columnLen) - item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen); - if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) { - item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix); - } - if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { - item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); - } - if (item.width <= 0) { - item.width = 1; - } - item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap); - return item; - }); -} - -function fixBarData(points, eachSpacing, columnLen, index, config, opts) { - return points.map(function(item) { - if (item === null) { - return null; - } - var seriesGap = 0; - var categoryGap = 0; - seriesGap = opts.extra.bar.seriesGap * opts.pix || 0; - categoryGap = opts.extra.bar.categoryGap * opts.pix || 0; - seriesGap = Math.min(seriesGap, eachSpacing / columnLen) - categoryGap = Math.min(categoryGap, eachSpacing / columnLen) - item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen); - if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) { - item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix); - } - if (item.width <= 0) { - item.width = 1; - } - item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap); - return item; - }); -} - -function fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) { - var categoryGap = opts.extra.column.categoryGap * opts.pix || 0; - return points.map(function(item) { - if (item === null) { - return null; - } - item.width = eachSpacing - 2 * categoryGap; - if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { - item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); - } - if (index > 0) { - item.width -= border; - } - return item; - }); -} - -function fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) { - var categoryGap = opts.extra.column.categoryGap * opts.pix || 0; - return points.map(function(item, indexn) { - if (item === null) { - return null; - } - item.width = Math.ceil(eachSpacing - 2 * categoryGap); - if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) { - item.width = Math.min(item.width, +opts.extra.column.width * opts.pix); - } - if (item.width <= 0) { - item.width = 1; - } - return item; - }); -} - -function fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) { - var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0; - return points.map(function(item, indexn) { - if (item === null) { - return null; - } - item.width = Math.ceil(eachSpacing - 2 * categoryGap); - if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) { - item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix); - } - if (item.width <= 0) { - item.width = 1; - } - return item; - }); -} - -function getXAxisPoints(categories, opts, config) { - var spacingValid = opts.width - opts.area[1] - opts.area[3]; - var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length; - if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') { - dataCount -= 1; - } - var widthRatio = 0; - if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){ - if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 - widthRatio = opts.extra.mount.widthRatio - 1; - dataCount += widthRatio; - } - var eachSpacing = spacingValid / dataCount; - var xAxisPoints = []; - var startX = opts.area[3]; - var endX = opts.width - opts.area[1]; - categories.forEach(function(item, index) { - xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing); - }); - if (opts.xAxis.boundaryGap !== 'justify') { - if (opts.enableScroll === true) { - xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing); - } else { - xAxisPoints.push(endX); - } - } - return { - xAxisPoints: xAxisPoints, - startX: startX, - endX: endX, - eachSpacing: eachSpacing - }; -} - -function getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) { - var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; - var points = []; - var validHeight = opts.height - opts.area[0] - opts.area[2]; - data.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var cPoints = []; - item.forEach(function(items, indexs) { - var point = {}; - point.x = xAxisPoints[index] + Math.round(eachSpacing / 2); - var value = items.value || items; - var height = validHeight * (value - minRange) / (maxRange - minRange); - height *= process; - point.y = opts.height - Math.round(height) - opts.area[2]; - cPoints.push(point); - }); - points.push(cPoints); - } - }); - return points; -} - -function getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) { - var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; - var boundaryGap = 'center'; - if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' ) { - boundaryGap = opts.xAxis.boundaryGap; - } - var points = []; - var validHeight = opts.height - opts.area[0] - opts.area[2]; - var validWidth = opts.width - opts.area[1] - opts.area[3]; - data.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var point = {}; - point.color = item.color; - point.x = xAxisPoints[index]; - var value = item; - if (typeof item === 'object' && item !== null) { - if (item.constructor.toString().indexOf('Array') > -1) { - let xranges, xminRange, xmaxRange; - xranges = [].concat(opts.chartData.xAxisData.ranges); - xminRange = xranges.shift(); - xmaxRange = xranges.pop(); - value = item[1]; - point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); - if(opts.type == 'bubble'){ - point.r = item[2]; - point.t = item[3]; - } - } else { - value = item.value; - } - } - if (boundaryGap == 'center') { - point.x += eachSpacing / 2; - } - var height = validHeight * (value - minRange) / (maxRange - minRange); - height *= process; - point.y = opts.height - height - opts.area[2]; - points.push(point); - } - }); - return points; -} - -function getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process){ - var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; - var boundaryGap = opts.xAxis.boundaryGap; - var points = []; - var validHeight = opts.height - opts.area[0] - opts.area[2]; - var validWidth = opts.width - opts.area[1] - opts.area[3]; - data.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var point = {}; - point.color = item.color; - if(lineOption.animation == 'vertical'){ - point.x = xAxisPoints[index]; - var value = item; - if (typeof item === 'object' && item !== null) { - if (item.constructor.toString().indexOf('Array') > -1) { - let xranges, xminRange, xmaxRange; - xranges = [].concat(opts.chartData.xAxisData.ranges); - xminRange = xranges.shift(); - xmaxRange = xranges.pop(); - value = item[1]; - point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); - } else { - value = item.value; - } - } - if (boundaryGap == 'center') { - point.x += eachSpacing / 2; - } - var height = validHeight * (value - minRange) / (maxRange - minRange); - height *= process; - point.y = opts.height - height - opts.area[2]; - points.push(point); - }else{ - point.x = xAxisPoints[0] + eachSpacing * index * process; - var value = item; - if (boundaryGap == 'center') { - point.x += eachSpacing / 2; - } - var height = validHeight * (value - minRange) / (maxRange - minRange); - point.y = opts.height - height - opts.area[2]; - points.push(point); - } - } - }); - return points; -} - -function getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process){ - var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; - var points = []; - var validHeight = opts.height - opts.area[0] - opts.area[2]; - var validWidth = opts.width - opts.area[1] - opts.area[3]; - data.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var point = {}; - point.color = item.color; - point.x = xAxisPoints[index]; - var value = item; - if (typeof item === 'object' && item !== null) { - if (item.constructor.toString().indexOf('Array') > -1) { - let xranges, xminRange, xmaxRange; - xranges = [].concat(opts.chartData.xAxisData.ranges); - xminRange = xranges.shift(); - xmaxRange = xranges.pop(); - value = item[1]; - point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange); - } else { - value = item.value; - } - } - point.x += eachSpacing / 2; - var height = validHeight * (value * process - minRange) / (maxRange - minRange); - point.y = opts.height - height - opts.area[2]; - points.push(point); - } - }); - return points; -} - -function getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints) { - var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1; - var points = []; - var validHeight = opts.height - opts.area[0] - opts.area[2]; - var validWidth = opts.width - opts.area[1] - opts.area[3]; - var mountWidth = eachSpacing * mountOption.widthRatio; - series.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var point = {}; - point.color = item.color; - point.x = xAxisPoints[index]; - point.x += eachSpacing / 2; - var value = item.data; - var height = validHeight * (value * process - minRange) / (maxRange - minRange); - point.y = opts.height - height - opts.area[2]; - point.value = value; - point.width = mountWidth; - points.push(point); - } - }); - return points; -} - -function getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) { - var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1; - var points = []; - var validHeight = opts.height - opts.area[0] - opts.area[2]; - var validWidth = opts.width - opts.area[1] - opts.area[3]; - data.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var point = {}; - point.color = item.color; - point.y = yAxisPoints[index]; - var value = item; - if (typeof item === 'object' && item !== null) { - value = item.value; - } - var height = validWidth * (value - minRange) / (maxRange - minRange); - height *= process; - point.height = height; - point.value = value; - point.x = height + opts.area[3]; - points.push(point); - } - }); - return points; -} - -function getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) { - var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1; - var points = []; - var validHeight = opts.height - opts.area[0] - opts.area[2]; - data.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var point = {}; - point.color = item.color; - point.x = xAxisPoints[index] + Math.round(eachSpacing / 2); - - if (seriesIndex > 0) { - var value = 0; - for (let i = 0; i <= seriesIndex; i++) { - value += stackSeries[i].data[index]; - } - var value0 = value - item; - var height = validHeight * (value - minRange) / (maxRange - minRange); - var height0 = validHeight * (value0 - minRange) / (maxRange - minRange); - } else { - var value = item; - if (typeof item === 'object' && item !== null) { - value = item.value; - } - var height = validHeight * (value - minRange) / (maxRange - minRange); - var height0 = 0; - } - var heightc = height0; - height *= process; - heightc *= process; - point.y = opts.height - Math.round(height) - opts.area[2]; - point.y0 = opts.height - Math.round(heightc) - opts.area[2]; - points.push(point); - } - }); - return points; -} - -function getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) { - var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1; - var points = []; - var validHeight = opts.width - opts.area[1] - opts.area[3]; - data.forEach(function(item, index) { - if (item === null) { - points.push(null); - } else { - var point = {}; - point.color = item.color; - point.y = yAxisPoints[index]; - if (seriesIndex > 0) { - var value = 0; - for (let i = 0; i <= seriesIndex; i++) { - value += stackSeries[i].data[index]; - } - var value0 = value - item; - var height = validHeight * (value - minRange) / (maxRange - minRange); - var height0 = validHeight * (value0 - minRange) / (maxRange - minRange); - } else { - var value = item; - if (typeof item === 'object' && item !== null) { - value = item.value; - } - var height = validHeight * (value - minRange) / (maxRange - minRange); - var height0 = 0; - } - var heightc = height0; - height *= process; - heightc *= process; - point.height = height - heightc; - point.x = opts.area[3] + height; - point.x0 = opts.area[3] + heightc; - points.push(point); - } - }); - return points; -} - -function getYAxisTextList(series, opts, config, stack, yData) { - var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1; - var data; - if (stack == 'stack') { - data = dataCombineStack(series, opts.categories.length); - } else { - data = dataCombine(series); - } - var sorted = []; - // remove null from data - data = data.filter(function(item) { - //return item !== null; - if (typeof item === 'object' && item !== null) { - if (item.constructor.toString().indexOf('Array') > -1) { - return item !== null; - } else { - return item.value !== null; - } - } else { - return item !== null; - } - }); - data.map(function(item) { - if (typeof item === 'object') { - if (item.constructor.toString().indexOf('Array') > -1) { - if (opts.type == 'candle') { - item.map(function(subitem) { - sorted.push(subitem); - }) - } else { - sorted.push(item[1]); - } - } else { - sorted.push(item.value); - } - } else { - sorted.push(item); - } - }) - var minData = yData.min || 0; - var maxData = yData.max || 0; - if (sorted.length > 0) { - minData = Math.min.apply(this, sorted); - maxData = Math.max.apply(this, sorted); - } - if (minData === maxData) { - if(maxData == 0){ - maxData = 10; - }else{ - minData = 0; - } - } - var dataRange = getDataRange(minData, maxData); - var minRange = (yData.min === undefined || yData.min === null) ? dataRange.minRange : yData.min; - var maxRange = (yData.max === undefined || yData.max === null) ? dataRange.maxRange : yData.max; - var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber; - var range = []; - for (var i = 0; i <= opts.yAxis.splitNumber; i++) { - range.push(minRange + eachRange * i); - } - return range.reverse(); -} - -function calYAxisData(series, opts, config, context) { - //堆叠图重算Y轴 - var columnstyle = assign({}, { - type: "" - }, opts.extra.column); - //如果是多Y轴,重新计算 - var YLength = opts.yAxis.data.length; - var newSeries = new Array(YLength); - if (YLength > 0) { - for (let i = 0; i < YLength; i++) { - newSeries[i] = []; - for (let j = 0; j < series.length; j++) { - if (series[j].index == i) { - newSeries[i].push(series[j]); - } - } - } - var rangesArr = new Array(YLength); - var rangesFormatArr = new Array(YLength); - var yAxisWidthArr = new Array(YLength); - - for (let i = 0; i < YLength; i++) { - let yData = opts.yAxis.data[i]; - //如果总开关不显示,强制每个Y轴为不显示 - if (opts.yAxis.disabled == true) { - yData.disabled = true; - } - if(yData.type === 'categories'){ - if(!yData.formatter){ - yData.formatter = (val,index,opts) => {return val + (yData.unit || '')}; - } - yData.categories = yData.categories || opts.categories; - rangesArr[i] = yData.categories; - }else{ - if(!yData.formatter){ - yData.formatter = (val,index,opts) => {return util.toFixed(val, yData.tofix || 0) + (yData.unit || '')}; - } - rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i); - } - let yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize; - yAxisWidthArr[i] = { - position: yData.position ? yData.position : 'left', - width: 0 - }; - rangesFormatArr[i] = rangesArr[i].map(function(items,index) { - items = yData.formatter(items,index,opts); - yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(items, yAxisFontSizes, context) + 5); - return items; - }); - let calibration = yData.calibration ? 4 * opts.pix : 0; - yAxisWidthArr[i].width += calibration + 3 * opts.pix; - if (yData.disabled === true) { - yAxisWidthArr[i].width = 0; - } - } - } else { - var rangesArr = new Array(1); - var rangesFormatArr = new Array(1); - var yAxisWidthArr = new Array(1); - if(opts.type === 'bar'){ - rangesArr[0] = opts.categories; - if(!opts.yAxis.formatter){ - opts.yAxis.formatter = (val,index,opts) => {return val + (opts.yAxis.unit || '')} - } - }else{ - if(!opts.yAxis.formatter){ - opts.yAxis.formatter = (val,index,opts) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')} - } - rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {}); - } - yAxisWidthArr[0] = { - position: 'left', - width: 0 - }; - var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize; - rangesFormatArr[0] = rangesArr[0].map(function(item,index) { - item = opts.yAxis.formatter(item,index,opts); - yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5); - return item; - }); - yAxisWidthArr[0].width += 3 * opts.pix; - if (opts.yAxis.disabled === true) { - yAxisWidthArr[0] = { - position: 'left', - width: 0 - }; - opts.yAxis.data[0] = { - disabled: true - }; - } else { - opts.yAxis.data[0] = { - disabled: false, - position: 'left', - max: opts.yAxis.max, - min: opts.yAxis.min, - formatter: opts.yAxis.formatter - }; - if(opts.type === 'bar'){ - opts.yAxis.data[0].categories = opts.categories; - opts.yAxis.data[0].type = 'categories'; - } - } - } - return { - rangesFormat: rangesFormatArr, - ranges: rangesArr, - yAxisWidth: yAxisWidthArr - }; -} - -function calTooltipYAxisData(point, series, opts, config, eachSpacing) { - let ranges = [].concat(opts.chartData.yAxisData.ranges); - let spacingValid = opts.height - opts.area[0] - opts.area[2]; - let minAxis = opts.area[0]; - let items = []; - for (let i = 0; i < ranges.length; i++) { - let maxVal = Math.max.apply(this, ranges[i]); - let minVal = Math.min.apply(this, ranges[i]); - let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid; - item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0); - items.push(String(item)) - } - return items; -} - -function calMarkLineData(points, opts) { - let minRange, maxRange; - let spacingValid = opts.height - opts.area[0] - opts.area[2]; - for (let i = 0; i < points.length; i++) { - points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0; - let range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]); - minRange = range.pop(); - maxRange = range.shift(); - let height = spacingValid * (points[i].value - minRange) / (maxRange - minRange); - points[i].y = opts.height - Math.round(height) - opts.area[2]; - } - return points; -} - -function contextRotate(context, opts) { - if (opts.rotateLock !== true) { - context.translate(opts.height, 0); - context.rotate(90 * Math.PI / 180); - } else if (opts._rotate_ !== true) { - context.translate(opts.height, 0); - context.rotate(90 * Math.PI / 180); - opts._rotate_ = true; - } -} - -function drawPointShape(points, color, shape, context, opts) { - context.beginPath(); - if (opts.dataPointShapeType == 'hollow') { - context.setStrokeStyle(color); - context.setFillStyle(opts.background); - context.setLineWidth(2 * opts.pix); - } else { - context.setStrokeStyle("#ffffff"); - context.setFillStyle(color); - context.setLineWidth(1 * opts.pix); - } - if (shape === 'diamond') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x, item.y - 4.5); - context.lineTo(item.x - 4.5, item.y); - context.lineTo(item.x, item.y + 4.5); - context.lineTo(item.x + 4.5, item.y); - context.lineTo(item.x, item.y - 4.5); - } - }); - } else if (shape === 'circle') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x + 2.5 * opts.pix, item.y); - context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); - } - }); - } else if (shape === 'square') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x - 3.5, item.y - 3.5); - context.rect(item.x - 3.5, item.y - 3.5, 7, 7); - } - }); - } else if (shape === 'triangle') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x, item.y - 4.5); - context.lineTo(item.x - 4.5, item.y + 4.5); - context.lineTo(item.x + 4.5, item.y + 4.5); - context.lineTo(item.x, item.y - 4.5); - } - }); - } else if (shape === 'none') { - return; - } - context.closePath(); - context.fill(); - context.stroke(); -} - -function drawActivePoint(points, color, shape, context, opts, option, seriesIndex) { - if(!opts.tooltip){ - return - } - if(opts.tooltip.group.length>0 && opts.tooltip.group.includes(seriesIndex) == false){ - return - } - var pointIndex = typeof opts.tooltip.index === 'number' ? opts.tooltip.index : opts.tooltip.index[opts.tooltip.group.indexOf(seriesIndex)]; - context.beginPath(); - if (option.activeType == 'hollow') { - context.setStrokeStyle(color); - context.setFillStyle(opts.background); - context.setLineWidth(2 * opts.pix); - } else { - context.setStrokeStyle("#ffffff"); - context.setFillStyle(color); - context.setLineWidth(1 * opts.pix); - } - if (shape === 'diamond') { - points.forEach(function(item, index) { - if (item !== null && pointIndex == index ) { - context.moveTo(item.x, item.y - 4.5); - context.lineTo(item.x - 4.5, item.y); - context.lineTo(item.x, item.y + 4.5); - context.lineTo(item.x + 4.5, item.y); - context.lineTo(item.x, item.y - 4.5); - } - }); - } else if (shape === 'circle') { - points.forEach(function(item, index) { - if (item !== null && pointIndex == index) { - context.moveTo(item.x + 2.5 * opts.pix, item.y); - context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); - } - }); - } else if (shape === 'square') { - points.forEach(function(item, index) { - if (item !== null && pointIndex == index) { - context.moveTo(item.x - 3.5, item.y - 3.5); - context.rect(item.x - 3.5, item.y - 3.5, 7, 7); - } - }); - } else if (shape === 'triangle') { - points.forEach(function(item, index) { - if (item !== null && pointIndex == index) { - context.moveTo(item.x, item.y - 4.5); - context.lineTo(item.x - 4.5, item.y + 4.5); - context.lineTo(item.x + 4.5, item.y + 4.5); - context.lineTo(item.x, item.y - 4.5); - } - }); - } else if (shape === 'none') { - return; - } - context.closePath(); - context.fill(); - context.stroke(); -} - -function drawRingTitle(opts, config, context, center) { - var titlefontSize = opts.title.fontSize || config.titleFontSize; - var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize; - var title = opts.title.name || ''; - var subtitle = opts.subtitle.name || ''; - var titleFontColor = opts.title.color || opts.fontColor; - var subtitleFontColor = opts.subtitle.color || opts.fontColor; - var titleHeight = title ? titlefontSize : 0; - var subtitleHeight = subtitle ? subtitlefontSize : 0; - var margin = 5; - if (subtitle) { - var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context); - var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX|| 0) * opts.pix ; - var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix; - if (title) { - startY += (titleHeight * opts.pix + margin) / 2; - } - context.beginPath(); - context.setFontSize(subtitlefontSize * opts.pix); - context.setFillStyle(subtitleFontColor); - context.fillText(subtitle, startX, startY); - context.closePath(); - context.stroke(); - } - if (title) { - var _textWidth = measureText(title, titlefontSize * opts.pix, context); - var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0); - var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix; - if (subtitle) { - _startY -= (subtitleHeight * opts.pix + margin) / 2; - } - context.beginPath(); - context.setFontSize(titlefontSize * opts.pix); - context.setFillStyle(titleFontColor); - context.fillText(title, _startX, _startY); - context.closePath(); - context.stroke(); - } -} - -function drawPointText(points, series, config, context, opts) { - // 绘制数据文案 - var data = series.data; - var textOffset = series.textOffset ? series.textOffset : 0; - points.forEach(function(item, index) { - if (item !== null) { - context.beginPath(); - var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; - context.setFontSize(fontSize); - context.setFillStyle(series.textColor || opts.fontColor); - var value = data[index] - if (typeof data[index] === 'object' && data[index] !== null) { - if (data[index].constructor.toString().indexOf('Array')>-1) { - value = data[index][1]; - } else { - value = data[index].value - } - } - var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value; - context.setTextAlign('center'); - context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix); - context.closePath(); - context.stroke(); - context.setTextAlign('left'); - } - }); -} - -function drawColumePointText(points, series, config, context, opts) { - // 绘制数据文案 - var data = series.data; - var textOffset = series.textOffset ? series.textOffset : 0; - var Position = opts.extra.column.labelPosition; - points.forEach(function(item, index) { - if (item !== null) { - context.beginPath(); - var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; - context.setFontSize(fontSize); - context.setFillStyle(series.textColor || opts.fontColor); - var value = data[index] - if (typeof data[index] === 'object' && data[index] !== null) { - if (data[index].constructor.toString().indexOf('Array')>-1) { - value = data[index][1]; - } else { - value = data[index].value - } - } - var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value; - context.setTextAlign('center'); - var startY = item.y - 4 * opts.pix + textOffset * opts.pix; - if(item.y > series.zeroPoints){ - startY = item.y + textOffset * opts.pix + fontSize; - } - if(Position == 'insideTop'){ - startY = item.y + fontSize + textOffset * opts.pix; - if(item.y > series.zeroPoints){ - startY = item.y - textOffset * opts.pix - 4 * opts.pix; - } - } - if(Position == 'center'){ - startY = item.y + textOffset * opts.pix + (opts.height - opts.area[2] - item.y + fontSize)/2; - if(series.zeroPoints < opts.height - opts.area[2]){ - startY = item.y + textOffset * opts.pix + (series.zeroPoints - item.y + fontSize)/2; - } - if(item.y > series.zeroPoints){ - startY = item.y - textOffset * opts.pix - (item.y - series.zeroPoints - fontSize)/2; - } - if(opts.extra.column.type == 'stack'){ - startY = item.y + textOffset * opts.pix + (item.y0 - item.y + fontSize)/2; - } - } - if(Position == 'bottom'){ - startY = opts.height - opts.area[2] + textOffset * opts.pix - 4 * opts.pix; - if(series.zeroPoints < opts.height - opts.area[2]){ - startY = series.zeroPoints + textOffset * opts.pix - 4 * opts.pix; - } - if(item.y > series.zeroPoints){ - startY = series.zeroPoints - textOffset * opts.pix + fontSize + 2 * opts.pix; - } - if(opts.extra.column.type == 'stack'){ - startY = item.y0 + textOffset * opts.pix - 4 * opts.pix; - } - } - context.fillText(String(formatVal), item.x, startY); - context.closePath(); - context.stroke(); - context.setTextAlign('left'); - } - }); -} - -function drawMountPointText(points, series, config, context, opts, zeroPoints) { - // 绘制数据文案 - var data = series.data; - var textOffset = series.textOffset ? series.textOffset : 0; - var Position = opts.extra.mount.labelPosition; - points.forEach(function(item, index) { - if (item !== null) { - context.beginPath(); - var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize; - context.setFontSize(fontSize); - context.setFillStyle(series[index].textColor || opts.fontColor); - var value = item.value - var formatVal = series[index].formatter ? series[index].formatter(value,index,series,opts) : value; - context.setTextAlign('center'); - var startY = item.y - 4 * opts.pix + textOffset * opts.pix; - if(item.y > zeroPoints){ - startY = item.y + textOffset * opts.pix + fontSize; - } - context.fillText(String(formatVal), item.x, startY); - context.closePath(); - context.stroke(); - context.setTextAlign('left'); - } - }); -} - -function drawBarPointText(points, series, config, context, opts) { - // 绘制数据文案 - var data = series.data; - var textOffset = series.textOffset ? series.textOffset : 0; - points.forEach(function(item, index) { - if (item !== null) { - context.beginPath(); - var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize; - context.setFontSize(fontSize); - context.setFillStyle(series.textColor || opts.fontColor); - var value = data[index] - if (typeof data[index] === 'object' && data[index] !== null) { - value = data[index].value ; - } - var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value; - context.setTextAlign('left'); - context.fillText(String(formatVal), item.x + 4 * opts.pix , item.y + fontSize / 2 - 3 ); - context.closePath(); - context.stroke(); - } - }); -} - -function drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) { - radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix; - radius = radius < 10 ? 10 : radius; - let totalAngle; - if (gaugeOption.endAngle < gaugeOption.startAngle) { - totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; - } else { - totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; - } - let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; - let totalNumber = gaugeOption.endNumber - gaugeOption.startNumber; - let splitNumber = totalNumber / gaugeOption.splitLine.splitNumber; - let nowAngle = gaugeOption.startAngle; - let nowNumber = gaugeOption.startNumber; - for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) { - var pos = { - x: radius * Math.cos(nowAngle * Math.PI), - y: radius * Math.sin(nowAngle * Math.PI) - }; - var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber,i,opts) : nowNumber; - pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2; - pos.y += centerPosition.y; - var startX = pos.x; - var startY = pos.y; - context.beginPath(); - context.setFontSize(config.fontSize); - context.setFillStyle(gaugeOption.labelColor || opts.fontColor); - context.fillText(labelText, startX, startY + config.fontSize / 2); - context.closePath(); - context.stroke(); - nowAngle += splitAngle; - if (nowAngle >= 2) { - nowAngle = nowAngle % 2; - } - nowNumber += splitNumber; - } -} - -function drawRadarLabel(angleList, radius, centerPosition, opts, config, context) { - var radarOption = opts.extra.radar || {}; - angleList.forEach(function(angle, index) { - if(radarOption.labelPointShow === true && opts.categories[index] !== ''){ - var posPoint = { - x: radius * Math.cos(angle), - y: radius * Math.sin(angle) - }; - var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition); - context.setFillStyle(radarOption.labelPointColor); - context.beginPath(); - context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false); - context.closePath(); - context.fill(); - } - if(radarOption.labelShow === true){ - var pos = { - x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle), - y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle) - }; - var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition); - var startX = posRelativeCanvas.x; - var startY = posRelativeCanvas.y; - if (util.approximatelyEqual(pos.x, 0)) { - startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2; - } else if (pos.x < 0) { - startX -= measureText(opts.categories[index] || '', config.fontSize, context); - } - context.beginPath(); - context.setFontSize(config.fontSize); - context.setFillStyle(radarOption.labelColor || opts.fontColor); - context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2); - context.closePath(); - context.stroke(); - } - }); - -} - -function drawPieText(series, opts, config, context, radius, center) { - var lineRadius = config.pieChartLinePadding; - var textObjectCollection = []; - var lastTextObject = null; - var seriesConvert = series.map(function(item,index) { - var text = item.formatter ? item.formatter(item,index,series,opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%'; - text = item.labelText ? item.labelText : text; - var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2); - if (item._rose_proportion_) { - arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2); - } - var color = item.color; - var radius = item._radius_; - return { - arc: arc, - text: text, - color: color, - radius: radius, - textColor: item.textColor, - textSize: item.textSize, - labelShow: item.labelShow - }; - }); - for (let i = 0; i < seriesConvert.length; i++) { - let item = seriesConvert[i]; - // line end - let orginX1 = Math.cos(item.arc) * (item.radius + lineRadius); - let orginY1 = Math.sin(item.arc) * (item.radius + lineRadius); - // line start - let orginX2 = Math.cos(item.arc) * item.radius; - let orginY2 = Math.sin(item.arc) * item.radius; - // text start - let orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding; - let orginY3 = orginY1; - let textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context); - let startY = orginY3; - if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, { - x: orginX3 - })) { - if (orginX3 > 0) { - startY = Math.min(orginY3, lastTextObject.start.y); - } else if (orginX1 < 0) { - startY = Math.max(orginY3, lastTextObject.start.y); - } else { - if (orginY3 > 0) { - startY = Math.max(orginY3, lastTextObject.start.y); - } else { - startY = Math.min(orginY3, lastTextObject.start.y); - } - } - } - if (orginX3 < 0) { - orginX3 -= textWidth; - } - let textObject = { - lineStart: { - x: orginX2, - y: orginY2 - }, - lineEnd: { - x: orginX1, - y: orginY1 - }, - start: { - x: orginX3, - y: startY - }, - width: textWidth, - height: config.fontSize, - text: item.text, - color: item.color, - textColor: item.textColor, - textSize: item.textSize - }; - lastTextObject = avoidCollision(textObject, lastTextObject); - textObjectCollection.push(lastTextObject); - } - for (let i = 0; i < textObjectCollection.length; i++) { - if(seriesConvert[i].labelShow === false){ - continue; - } - let item = textObjectCollection[i]; - let lineStartPoistion = convertCoordinateOrigin(item.lineStart.x, item.lineStart.y, center); - let lineEndPoistion = convertCoordinateOrigin(item.lineEnd.x, item.lineEnd.y, center); - let textPosition = convertCoordinateOrigin(item.start.x, item.start.y, center); - context.setLineWidth(1 * opts.pix); - context.setFontSize(item.textSize * opts.pix || config.fontSize); - context.beginPath(); - context.setStrokeStyle(item.color); - context.setFillStyle(item.color); - context.moveTo(lineStartPoistion.x, lineStartPoistion.y); - let curveStartX = item.start.x < 0 ? textPosition.x + item.width : textPosition.x; - let textStartX = item.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5; - context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y); - context.moveTo(lineStartPoistion.x, lineStartPoistion.y); - context.stroke(); - context.closePath(); - context.beginPath(); - context.moveTo(textPosition.x + item.width, textPosition.y); - context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI); - context.closePath(); - context.fill(); - context.beginPath(); - context.setFontSize(item.textSize * opts.pix || config.fontSize); - context.setFillStyle(item.textColor || opts.fontColor); - context.fillText(item.text, textStartX, textPosition.y + 3); - context.closePath(); - context.stroke(); - context.closePath(); - } -} - -function drawToolTipSplitLine(offsetX, opts, config, context) { - var toolTipOption = opts.extra.tooltip || {}; - toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType; - toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength; - var startY = opts.area[0]; - var endY = opts.height - opts.area[2]; - if (toolTipOption.gridType == 'dash') { - context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]); - } - context.setStrokeStyle(toolTipOption.gridColor || '#cccccc'); - context.setLineWidth(1 * opts.pix); - context.beginPath(); - context.moveTo(offsetX, startY); - context.lineTo(offsetX, endY); - context.stroke(); - context.setLineDash([]); - if (toolTipOption.xAxisLabel) { - let labelText = opts.categories[opts.tooltip.index]; - context.setFontSize(config.fontSize); - let textWidth = measureText(labelText, config.fontSize, context); - let textX = offsetX - 0.5 * textWidth; - let textY = endY + 2 * opts.pix; - context.beginPath(); - context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity)); - context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground); - context.setLineWidth(1 * opts.pix); - context.rect(textX - toolTipOption.boxPadding * opts.pix, textY, textWidth + 2 * toolTipOption.boxPadding * opts.pix, config.fontSize + 2 * toolTipOption.boxPadding * opts.pix); - context.closePath(); - context.stroke(); - context.fill(); - context.beginPath(); - context.setFontSize(config.fontSize); - context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor); - context.fillText(String(labelText), textX, textY + toolTipOption.boxPadding * opts.pix + config.fontSize); - context.closePath(); - context.stroke(); - } -} - -function drawMarkLine(opts, config, context) { - let markLineOption = assign({}, { - type: 'solid', - dashLength: 4, - data: [] - }, opts.extra.markLine); - let startX = opts.area[3]; - let endX = opts.width - opts.area[1]; - let points = calMarkLineData(markLineOption.data, opts); - for (let i = 0; i < points.length; i++) { - let item = assign({}, { - lineColor: '#DE4A42', - showLabel: false, - labelFontSize: 13, - labelPadding: 6, - labelFontColor: '#666666', - labelBgColor: '#DFE8FF', - labelBgOpacity: 0.8, - labelAlign: 'left', - labelOffsetX: 0, - labelOffsetY: 0, - }, points[i]); - if (markLineOption.type == 'dash') { - context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]); - } - context.setStrokeStyle(item.lineColor); - context.setLineWidth(1 * opts.pix); - context.beginPath(); - context.moveTo(startX, item.y); - context.lineTo(endX, item.y); - context.stroke(); - context.setLineDash([]); - if (item.showLabel) { - let fontSize = item.labelFontSize * opts.pix; - let labelText = item.labelText ? item.labelText : item.value; - context.setFontSize(fontSize); - let textWidth = measureText(labelText, fontSize, context); - let bgWidth = textWidth + item.labelPadding * opts.pix * 2; - let bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1]; - bgStartX += item.labelOffsetX; - let bgStartY = item.y - 0.5 * fontSize - item.labelPadding * opts.pix; - bgStartY += item.labelOffsetY; - let textX = bgStartX + item.labelPadding * opts.pix; - let textY = item.y; - context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity)); - context.setStrokeStyle(item.labelBgColor); - context.setLineWidth(1 * opts.pix); - context.beginPath(); - context.rect(bgStartX, bgStartY, bgWidth, fontSize + 2 * item.labelPadding * opts.pix); - context.closePath(); - context.stroke(); - context.fill(); - context.setFontSize(fontSize); - context.setTextAlign('left'); - context.setFillStyle(item.labelFontColor); - context.fillText(String(labelText), textX, bgStartY + fontSize + item.labelPadding * opts.pix/2); - context.stroke(); - context.setTextAlign('left'); - } - } -} - -function drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) { - var toolTipOption = assign({}, { - gridType: 'solid', - dashLength: 4 - }, opts.extra.tooltip); - var startX = opts.area[3]; - var endX = opts.width - opts.area[1]; - if (toolTipOption.gridType == 'dash') { - context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]); - } - context.setStrokeStyle(toolTipOption.gridColor || '#cccccc'); - context.setLineWidth(1 * opts.pix); - context.beginPath(); - context.moveTo(startX, opts.tooltip.offset.y); - context.lineTo(endX, opts.tooltip.offset.y); - context.stroke(); - context.setLineDash([]); - if (toolTipOption.yAxisLabel) { - let boxPadding = toolTipOption.boxPadding * opts.pix; - let labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing); - let widthArr = opts.chartData.yAxisData.yAxisWidth; - let tStartLeft = opts.area[3]; - let tStartRight = opts.width - opts.area[1]; - for (let i = 0; i < labelText.length; i++) { - context.setFontSize(toolTipOption.fontSize * opts.pix); - let textWidth = measureText(labelText[i], toolTipOption.fontSize * opts.pix, context); - let bgStartX, bgEndX, bgWidth; - if (widthArr[i].position == 'left') { - bgStartX = tStartLeft - (textWidth + boxPadding * 2) - 2 * opts.pix; - bgEndX = Math.max(bgStartX, bgStartX + textWidth + boxPadding * 2); - } else { - bgStartX = tStartRight + 2 * opts.pix; - bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + boxPadding * 2); - } - bgWidth = bgEndX - bgStartX; - let textX = bgStartX + (bgWidth - textWidth) / 2; - let textY = opts.tooltip.offset.y; - context.beginPath(); - context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity)); - context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground); - context.setLineWidth(1 * opts.pix); - context.rect(bgStartX, textY - 0.5 * config.fontSize - boxPadding, bgWidth, config.fontSize + 2 * boxPadding); - context.closePath(); - context.stroke(); - context.fill(); - context.beginPath(); - context.setFontSize(config.fontSize); - context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor); - context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize); - context.closePath(); - context.stroke(); - if (widthArr[i].position == 'left') { - tStartLeft -= (widthArr[i].width + opts.yAxis.padding * opts.pix); - } else { - tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix; - } - } - } -} - -function drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) { - var toolTipOption = assign({}, { - activeBgColor: '#000000', - activeBgOpacity: 0.08, - activeWidth: eachSpacing - }, opts.extra.column); - toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth; - var startY = opts.area[0]; - var endY = opts.height - opts.area[2]; - context.beginPath(); - context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity)); - context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY); - context.closePath(); - context.fill(); - context.setFillStyle("#FFFFFF"); -} - -function drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) { - var toolTipOption = assign({}, { - activeBgColor: '#000000', - activeBgOpacity: 0.08 - }, opts.extra.bar); - var startX = opts.area[3]; - var endX = opts.width - opts.area[1]; - context.beginPath(); - context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity)); - context.rect( startX ,offsetX - eachSpacing / 2 , endX - startX,eachSpacing); - context.closePath(); - context.fill(); - context.setFillStyle("#FFFFFF"); -} - - -function drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) { - var toolTipOption = assign({}, { - showBox: true, - showArrow: true, - showCategory: false, - bgColor: '#000000', - bgOpacity: 0.7, - borderColor: '#000000', - borderWidth: 0, - borderRadius: 0, - borderOpacity: 0.7, - boxPadding: 3, - fontColor: '#FFFFFF', - fontSize: 13, - lineHeight: 20, - legendShow: true, - legendShape: 'auto', - splitLine: true, - }, opts.extra.tooltip); - if(toolTipOption.showCategory==true && opts.categories){ - textList.unshift({text:opts.categories[opts.tooltip.index],color:null}) - } - var fontSize = toolTipOption.fontSize * opts.pix; - var lineHeight = toolTipOption.lineHeight * opts.pix; - var boxPadding = toolTipOption.boxPadding * opts.pix; - var legendWidth = fontSize; - var legendMarginRight = 5 * opts.pix; - if(toolTipOption.legendShow == false){ - legendWidth = 0; - legendMarginRight = 0; - } - var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0; - var isOverRightBorder = false; - if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') { - if (toolTipOption.splitLine == true) { - drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context); - } - } - offset = assign({ - x: 0, - y: 0 - }, offset); - offset.y -= 8 * opts.pix; - var textWidth = textList.map(function(item) { - return measureText(item.text, fontSize, context); - }); - var toolTipWidth = legendWidth + legendMarginRight + 4 * boxPadding + Math.max.apply(null, textWidth); - var toolTipHeight = 2 * boxPadding + textList.length * lineHeight; - if (toolTipOption.showBox == false) { - return - } - // if beyond the right border - if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) { - isOverRightBorder = true; - } - if (toolTipHeight + offset.y > opts.height) { - offset.y = opts.height - toolTipHeight; - } - // draw background rect - context.beginPath(); - context.setFillStyle(hexToRgb(toolTipOption.bgColor, toolTipOption.bgOpacity)); - context.setLineWidth(toolTipOption.borderWidth * opts.pix); - context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity)); - var radius = toolTipOption.borderRadius; - if (isOverRightBorder) { - // 增加左侧仍然超出的判断 - if(toolTipWidth + arrowWidth > opts.width){ - offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width) - } - if(toolTipWidth > offset.x){ - offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width) - } - if (toolTipOption.showArrow) { - context.moveTo(offset.x, offset.y + 10 * opts.pix); - context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix); - } - context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false); - context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius, - Math.PI / 2, Math.PI, false); - context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false); - context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false); - if (toolTipOption.showArrow) { - context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix); - context.lineTo(offset.x, offset.y + 10 * opts.pix); - } - } else { - if (toolTipOption.showArrow) { - context.moveTo(offset.x, offset.y + 10 * opts.pix); - context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix); - } - context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false); - context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0, - false); - context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0, - Math.PI / 2, false); - context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false); - if (toolTipOption.showArrow) { - context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix); - context.lineTo(offset.x, offset.y + 10 * opts.pix); - } - } - context.closePath(); - context.fill(); - if (toolTipOption.borderWidth > 0) { - context.stroke(); - } - // draw legend - if(toolTipOption.legendShow){ - textList.forEach(function(item, index) { - if (item.color !== null) { - context.beginPath(); - context.setFillStyle(item.color); - var startX = offset.x + arrowWidth + 2 * boxPadding; - var startY = offset.y + (lineHeight - fontSize) / 2 + lineHeight * index + boxPadding + 1; - if (isOverRightBorder) { - startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding; - } - switch (item.legendShape) { - case 'line': - context.moveTo(startX, startY + 0.5 * legendWidth - 2 * opts.pix); - context.fillRect(startX, startY + 0.5 * legendWidth - 2 * opts.pix, legendWidth, 4 * opts.pix); - break; - case 'triangle': - context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); - context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); - context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); - context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); - break; - case 'diamond': - context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); - context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth); - context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix); - context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth); - context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); - break; - case 'circle': - context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth); - context.arc(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth, 5 * opts.pix, 0, 2 * Math.PI); - break; - case 'rect': - context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix); - context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); - break; - case 'square': - context.moveTo(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix); - context.fillRect(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix); - break; - default: - context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix); - context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); - } - context.closePath(); - context.fill(); - } - }); - } - - // draw text list - textList.forEach(function(item, index) { - var startX = offset.x + arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight; - if (isOverRightBorder) { - startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight; - } - var startY = offset.y + lineHeight * index + (lineHeight - fontSize)/2 - 1 + boxPadding + fontSize; - context.beginPath(); - context.setFontSize(fontSize); - context.setTextBaseline('normal'); - context.setFillStyle(toolTipOption.fontColor); - context.fillText(item.text, startX, startY); - context.closePath(); - context.stroke(); - }); -} - -function drawColumnDataPoints(series, opts, config, context) { - let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - let columnOption = assign({}, { - type: 'group', - width: eachSpacing / 2, - meterBorder: 4, - meterFillColor: '#FFFFFF', - barBorderCircle: false, - barBorderRadius: [], - seriesGap: 2, - linearType: 'none', - linearOpacity: 1, - customColor: [], - colorStop: 0, - labelPosition: 'outside' - }, opts.extra.column); - let calPoints = []; - context.save(); - let leftNum = -2; - let rightNum = xAxisPoints.length + 2; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; - rightNum = leftNum + opts.xAxis.itemCount + 4; - } - if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { - drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing); - } - columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - - // 计算0轴坐标 - let spacingValid = opts.height - opts.area[0] - opts.area[2]; - let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange); - let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2]; - eachSeries.zeroPoints = zeroPoints; - var data = eachSeries.data; - switch (columnOption.type) { - case 'group': - var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process); - var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); - calPoints.push(tooltipPoints); - points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts); - for (let i = 0; i < points.length; i++) { - let item = points[i]; - //fix issues/I27B1N yyoinge & Joeshu - if (item !== null && i > leftNum && i < rightNum) { - var startX = item.x - item.width / 2; - var height = opts.height - item.y - opts.area[2]; - context.beginPath(); - var fillColor = item.color || eachSeries.color - var strokeColor = item.color || eachSeries.color - if (columnOption.linearType !== 'none') { - var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); - //透明渐变 - if (columnOption.linearType == 'opacity') { - grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } else { - grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); - grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } - fillColor = grd - } - // 圆角边框 - if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) { - const left = startX; - const top = item.y > zeroPoints ? zeroPoints : item.y; - const width = item.width; - const height = Math.abs(zeroPoints - item.y); - if (columnOption.barBorderCircle) { - columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; - } - if(item.y > zeroPoints){ - columnOption.barBorderRadius = [0, 0,width / 2, width / 2]; - } - let [r0, r1, r2, r3] = columnOption.barBorderRadius; - let minRadius = Math.min(width/2,height/2); - r0 = r0 > minRadius ? minRadius : r0; - r1 = r1 > minRadius ? minRadius : r1; - r2 = r2 > minRadius ? minRadius : r2; - r3 = r3 > minRadius ? minRadius : r3; - r0 = r0 < 0 ? 0 : r0; - r1 = r1 < 0 ? 0 : r1; - r2 = r2 < 0 ? 0 : r2; - r3 = r3 < 0 ? 0 : r3; - context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); - context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); - context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); - context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); - } else { - context.moveTo(startX, item.y); - context.lineTo(startX + item.width, item.y); - context.lineTo(startX + item.width, zeroPoints); - context.lineTo(startX, zeroPoints); - context.lineTo(startX, item.y); - context.setLineWidth(1) - context.setStrokeStyle(strokeColor); - } - context.setFillStyle(fillColor); - context.closePath(); - //context.stroke(); - context.fill(); - } - }; - break; - case 'stack': - // 绘制堆叠数据图 - var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); - calPoints.push(points); - points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series); - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - context.beginPath(); - var fillColor = item.color || eachSeries.color; - var startX = item.x - item.width / 2 + 1; - var height = opts.height - item.y - opts.area[2]; - var height0 = opts.height - item.y0 - opts.area[2]; - if (seriesIndex > 0) { - height -= height0; - } - context.setFillStyle(fillColor); - context.moveTo(startX, item.y); - context.fillRect(startX, item.y, item.width, height); - context.closePath(); - context.fill(); - } - }; - break; - case 'meter': - // 绘制温度计数据图 - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - calPoints.push(points); - points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder); - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - //画背景颜色 - context.beginPath(); - if (seriesIndex == 0 && columnOption.meterBorder > 0) { - context.setStrokeStyle(eachSeries.color); - context.setLineWidth(columnOption.meterBorder * opts.pix); - } - if(seriesIndex == 0){ - context.setFillStyle(columnOption.meterFillColor); - }else{ - context.setFillStyle(item.color || eachSeries.color); - } - var startX = item.x - item.width / 2; - var height = opts.height - item.y - opts.area[2]; - if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) { - const left = startX; - const top = item.y; - const width = item.width; - const height = zeroPoints - item.y; - if (columnOption.barBorderCircle) { - columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; - } - let [r0, r1, r2, r3] = columnOption.barBorderRadius; - let minRadius = Math.min(width/2,height/2); - r0 = r0 > minRadius ? minRadius : r0; - r1 = r1 > minRadius ? minRadius : r1; - r2 = r2 > minRadius ? minRadius : r2; - r3 = r3 > minRadius ? minRadius : r3; - r0 = r0 < 0 ? 0 : r0; - r1 = r1 < 0 ? 0 : r1; - r2 = r2 < 0 ? 0 : r2; - r3 = r3 < 0 ? 0 : r3; - context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); - context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); - context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); - context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); - context.fill(); - }else{ - context.moveTo(startX, item.y); - context.lineTo(startX + item.width, item.y); - context.lineTo(startX + item.width, zeroPoints); - context.lineTo(startX, zeroPoints); - context.lineTo(startX, item.y); - context.fill(); - } - if (seriesIndex == 0 && columnOption.meterBorder > 0) { - context.closePath(); - context.stroke(); - } - } - } - break; - } - }); - - if (opts.dataLabel !== false && process === 1) { - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - switch (columnOption.type) { - case 'group': - var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts); - drawColumePointText(points, eachSeries, config, context, opts); - break; - case 'stack': - var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); - drawColumePointText(points, eachSeries, config, context, opts); - break; - case 'meter': - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - drawColumePointText(points, eachSeries, config, context, opts); - break; - } - }); - } - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing - }; -} - -function drawMountDataPoints(series, opts, config, context) { - let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - let mountOption = assign({}, { - type: 'mount', - widthRatio: 1, - borderWidth: 1, - barBorderCircle: false, - barBorderRadius: [], - linearType: 'none', - linearOpacity: 1, - customColor: [], - colorStop: 0, - }, opts.extra.mount); - mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio; - mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio; - let calPoints = []; - context.save(); - let leftNum = -2; - let rightNum = xAxisPoints.length + 2; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; - rightNum = leftNum + opts.xAxis.itemCount + 4; - } - mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config); - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[0]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - - // 计算0轴坐标 - let spacingValid = opts.height - opts.area[0] - opts.area[2]; - let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange); - let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2]; - - var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process); - switch (mountOption.type) { - case 'bar': - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - var startX = item.x - eachSpacing*mountOption.widthRatio/2; - var height = opts.height - item.y - opts.area[2]; - context.beginPath(); - var fillColor = item.color || series[i].color - var strokeColor = item.color || series[i].color - if (mountOption.linearType !== 'none') { - var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); - //透明渐变 - if (mountOption.linearType == 'opacity') { - grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } else { - grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); - grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } - fillColor = grd - } - // 圆角边框 - if ((mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4) || mountOption.barBorderCircle === true) { - const left = startX; - const top = item.y > zeroPoints ? zeroPoints : item.y; - const width = item.width; - const height = Math.abs(zeroPoints - item.y); - if (mountOption.barBorderCircle) { - mountOption.barBorderRadius = [width / 2, width / 2, 0, 0]; - } - if(item.y > zeroPoints){ - mountOption.barBorderRadius = [0, 0,width / 2, width / 2]; - } - let [r0, r1, r2, r3] = mountOption.barBorderRadius; - let minRadius = Math.min(width/2,height/2); - r0 = r0 > minRadius ? minRadius : r0; - r1 = r1 > minRadius ? minRadius : r1; - r2 = r2 > minRadius ? minRadius : r2; - r3 = r3 > minRadius ? minRadius : r3; - r0 = r0 < 0 ? 0 : r0; - r1 = r1 < 0 ? 0 : r1; - r2 = r2 < 0 ? 0 : r2; - r3 = r3 < 0 ? 0 : r3; - context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); - context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); - context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); - context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); - } else { - context.moveTo(startX, item.y); - context.lineTo(startX + item.width, item.y); - context.lineTo(startX + item.width, zeroPoints); - context.lineTo(startX, zeroPoints); - context.lineTo(startX, item.y); - } - context.setStrokeStyle(strokeColor); - context.setFillStyle(fillColor); - if(mountOption.borderWidth > 0){ - context.setLineWidth(mountOption.borderWidth * opts.pix); - context.closePath(); - context.stroke(); - } - context.fill(); - } - }; - break; - case 'triangle': - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - var startX = item.x - eachSpacing*mountOption.widthRatio/2; - var height = opts.height - item.y - opts.area[2]; - context.beginPath(); - var fillColor = item.color || series[i].color - var strokeColor = item.color || series[i].color - if (mountOption.linearType !== 'none') { - var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); - //透明渐变 - if (mountOption.linearType == 'opacity') { - grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } else { - grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); - grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } - fillColor = grd - } - context.moveTo(startX, zeroPoints); - context.lineTo(item.x, item.y); - context.lineTo(startX + item.width, zeroPoints); - context.setStrokeStyle(strokeColor); - context.setFillStyle(fillColor); - if(mountOption.borderWidth > 0){ - context.setLineWidth(mountOption.borderWidth * opts.pix); - context.stroke(); - } - context.fill(); - } - }; - break; - case 'mount': - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - var startX = item.x - eachSpacing*mountOption.widthRatio/2; - var height = opts.height - item.y - opts.area[2]; - context.beginPath(); - var fillColor = item.color || series[i].color - var strokeColor = item.color || series[i].color - if (mountOption.linearType !== 'none') { - var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); - //透明渐变 - if (mountOption.linearType == 'opacity') { - grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } else { - grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); - grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } - fillColor = grd - } - context.moveTo(startX, zeroPoints); - context.bezierCurveTo(item.x - item.width/4, zeroPoints, item.x - item.width/4, item.y, item.x, item.y); - context.bezierCurveTo(item.x + item.width/4, item.y, item.x + item.width/4, zeroPoints, startX + item.width, zeroPoints); - context.setStrokeStyle(strokeColor); - context.setFillStyle(fillColor); - if(mountOption.borderWidth > 0){ - context.setLineWidth(mountOption.borderWidth * opts.pix); - context.stroke(); - } - context.fill(); - } - }; - break; - case 'sharp': - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - var startX = item.x - eachSpacing*mountOption.widthRatio/2; - var height = opts.height - item.y - opts.area[2]; - context.beginPath(); - var fillColor = item.color || series[i].color - var strokeColor = item.color || series[i].color - if (mountOption.linearType !== 'none') { - var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints); - //透明渐变 - if (mountOption.linearType == 'opacity') { - grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } else { - grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity)); - grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } - fillColor = grd - } - context.moveTo(startX, zeroPoints); - context.quadraticCurveTo(item.x - 0, zeroPoints - height/4, item.x, item.y); - context.quadraticCurveTo(item.x + 0, zeroPoints - height/4, startX + item.width, zeroPoints) - context.setStrokeStyle(strokeColor); - context.setFillStyle(fillColor); - if(mountOption.borderWidth > 0){ - context.setLineWidth(mountOption.borderWidth * opts.pix); - context.stroke(); - } - context.fill(); - } - }; - break; - } - - if (opts.dataLabel !== false && process === 1) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[0]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process); - drawMountPointText(points, series, config, context, opts, zeroPoints); - } - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: points, - eachSpacing: eachSpacing - }; -} - -function drawBarDataPoints(series, opts, config, context) { - let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - let yAxisPoints = []; - let eachSpacing = (opts.height - opts.area[0] - opts.area[2])/opts.categories.length; - for (let i = 0; i < opts.categories.length; i++) { - yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i); - } - let columnOption = assign({}, { - type: 'group', - width: eachSpacing / 2, - meterBorder: 4, - meterFillColor: '#FFFFFF', - barBorderCircle: false, - barBorderRadius: [], - seriesGap: 2, - linearType: 'none', - linearOpacity: 1, - customColor: [], - colorStop: 0, - }, opts.extra.bar); - let calPoints = []; - context.save(); - let leftNum = -2; - let rightNum = yAxisPoints.length + 2; - if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { - drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing); - } - columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.xAxisData.ranges); - maxRange = ranges.pop(); - minRange = ranges.shift(); - var data = eachSeries.data; - switch (columnOption.type) { - case 'group': - var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process); - var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); - calPoints.push(tooltipPoints); - points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts); - for (let i = 0; i < points.length; i++) { - let item = points[i]; - //fix issues/I27B1N yyoinge & Joeshu - if (item !== null && i > leftNum && i < rightNum) { - //var startX = item.x - item.width / 2; - var startX = opts.area[3]; - var startY = item.y - item.width / 2; - var height = item.height; - context.beginPath(); - var fillColor = item.color || eachSeries.color - var strokeColor = item.color || eachSeries.color - if (columnOption.linearType !== 'none') { - var grd = context.createLinearGradient(startX, item.y, item.x, item.y); - //透明渐变 - if (columnOption.linearType == 'opacity') { - grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } else { - grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); - grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } - fillColor = grd - } - // 圆角边框 - if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) { - const left = startX; - const width = item.width; - const top = item.y - item.width / 2; - const height = item.height; - if (columnOption.barBorderCircle) { - columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; - } - let [r0, r1, r2, r3] = columnOption.barBorderRadius; - let minRadius = Math.min(width/2,height/2); - r0 = r0 > minRadius ? minRadius : r0; - r1 = r1 > minRadius ? minRadius : r1; - r2 = r2 > minRadius ? minRadius : r2; - r3 = r3 > minRadius ? minRadius : r3; - r0 = r0 < 0 ? 0 : r0; - r1 = r1 < 0 ? 0 : r1; - r2 = r2 < 0 ? 0 : r2; - r3 = r3 < 0 ? 0 : r3; - - context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2); - context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0); - context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2); - context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI); - } else { - context.moveTo(startX, startY); - context.lineTo(item.x, startY); - context.lineTo(item.x, startY + item.width); - context.lineTo(startX, startY + item.width); - context.lineTo(startX, startY); - context.setLineWidth(1) - context.setStrokeStyle(strokeColor); - } - context.setFillStyle(fillColor); - context.closePath(); - //context.stroke(); - context.fill(); - } - }; - break; - case 'stack': - // 绘制堆叠数据图 - var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); - calPoints.push(points); - points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series); - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - context.beginPath(); - var fillColor = item.color || eachSeries.color; - var startX = item.x0; - context.setFillStyle(fillColor); - context.moveTo(startX, item.y - item.width/2); - context.fillRect(startX, item.y - item.width/2, item.height , item.width); - context.closePath(); - context.fill(); - } - }; - break; - } - }); - - if (opts.dataLabel !== false && process === 1) { - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.xAxisData.ranges); - maxRange = ranges.pop(); - minRange = ranges.shift(); - var data = eachSeries.data; - switch (columnOption.type) { - case 'group': - var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process); - points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts); - drawBarPointText(points, eachSeries, config, context, opts); - break; - case 'stack': - var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process); - drawBarPointText(points, eachSeries, config, context, opts); - break; - } - }); - } - return { - yAxisPoints: yAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing - }; -} - -function drawCandleDataPoints(series, seriesMA, opts, config, context) { - var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; - var candleOption = assign({}, { - color: {}, - average: {} - }, opts.extra.candle); - candleOption.color = assign({}, { - upLine: '#f04864', - upFill: '#f04864', - downLine: '#2fc25b', - downFill: '#2fc25b' - }, candleOption.color); - candleOption.average = assign({}, { - show: false, - name: [], - day: [], - color: config.color - }, candleOption.average); - opts.extra.candle = candleOption; - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - let calPoints = []; - context.save(); - let leftNum = -2; - let rightNum = xAxisPoints.length + 2; - let leftSpace = 0; - let rightSpace = opts.width + eachSpacing; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; - rightNum = leftNum + opts.xAxis.itemCount + 4; - leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; - rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; - } - //画均线 - if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 邱贵翔 - seriesMA.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - var splitPointList = splitPoints(points,eachSeries); - for (let i = 0; i < splitPointList.length; i++) { - let points = splitPointList[i]; - context.beginPath(); - context.setStrokeStyle(eachSeries.color); - context.setLineWidth(1); - if (points.length === 1) { - context.moveTo(points[0].x, points[0].y); - context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); - } else { - context.moveTo(points[0].x, points[0].y); - let startPoint = 0; - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - var ctrlPoint = createCurveControlPoints(points, j - 1); - context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, - item.y); - } - } - context.moveTo(points[0].x, points[0].y); - } - context.closePath(); - context.stroke(); - } - }); - } - //画K线 - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - calPoints.push(points); - var splitPointList = splitPoints(points,eachSeries); - for (let i = 0; i < splitPointList[0].length; i++) { - if (i > leftNum && i < rightNum) { - let item = splitPointList[0][i]; - context.beginPath(); - //如果上涨 - if (data[i][1] - data[i][0] > 0) { - context.setStrokeStyle(candleOption.color.upLine); - context.setFillStyle(candleOption.color.upFill); - context.setLineWidth(1 * opts.pix); - context.moveTo(item[3].x, item[3].y); //顶点 - context.lineTo(item[1].x, item[1].y); //收盘中间点 - context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点 - context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点 - context.lineTo(item[0].x, item[0].y); //开盘中间点 - context.lineTo(item[2].x, item[2].y); //底点 - context.lineTo(item[0].x, item[0].y); //开盘中间点 - context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点 - context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点 - context.lineTo(item[1].x, item[1].y); //收盘中间点 - context.moveTo(item[3].x, item[3].y); //顶点 - } else { - context.setStrokeStyle(candleOption.color.downLine); - context.setFillStyle(candleOption.color.downFill); - context.setLineWidth(1 * opts.pix); - context.moveTo(item[3].x, item[3].y); //顶点 - context.lineTo(item[0].x, item[0].y); //开盘中间点 - context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点 - context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点 - context.lineTo(item[1].x, item[1].y); //收盘中间点 - context.lineTo(item[2].x, item[2].y); //底点 - context.lineTo(item[1].x, item[1].y); //收盘中间点 - context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点 - context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点 - context.lineTo(item[0].x, item[0].y); //开盘中间点 - context.moveTo(item[3].x, item[3].y); //顶点 - } - context.closePath(); - context.fill(); - context.stroke(); - } - } - }); - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing - }; -} - -function drawAreaDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var areaOption = assign({}, { - type: 'straight', - opacity: 0.2, - addLine: false, - width: 2, - gradient: false, - activeType: 'none' - }, opts.extra.area); - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - let endY = opts.height - opts.area[2]; - let calPoints = []; - context.save(); - let leftSpace = 0; - let rightSpace = opts.width + eachSpacing; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; - rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; - } - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - let data = eachSeries.data; - let points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - calPoints.push(points); - let splitPointList = splitPoints(points,eachSeries); - for (let i = 0; i < splitPointList.length; i++) { - let points = splitPointList[i]; - // 绘制区域数 - context.beginPath(); - context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity)); - if (areaOption.gradient) { - let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]); - gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity)); - gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); - context.setFillStyle(gradient); - } else { - context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity)); - } - context.setLineWidth(areaOption.width * opts.pix); - if (points.length > 1) { - let firstPoint = points[0]; - let lastPoint = points[points.length - 1]; - context.moveTo(firstPoint.x, firstPoint.y); - let startPoint = 0; - if (areaOption.type === 'curve') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - let ctrlPoint = createCurveControlPoints(points, j - 1); - context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); - } - }; - } - if (areaOption.type === 'straight') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, item.y); - } - }; - } - if (areaOption.type === 'step') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, points[j - 1].y); - context.lineTo(item.x, item.y); - } - }; - } - context.lineTo(lastPoint.x, endY); - context.lineTo(firstPoint.x, endY); - context.lineTo(firstPoint.x, firstPoint.y); - } else { - let item = points[0]; - context.moveTo(item.x - eachSpacing / 2, item.y); - // context.lineTo(item.x + eachSpacing / 2, item.y); - // context.lineTo(item.x + eachSpacing / 2, endY); - // context.lineTo(item.x - eachSpacing / 2, endY); - // context.moveTo(item.x - eachSpacing / 2, item.y); - } - context.closePath(); - context.fill(); - //画连线 - if (areaOption.addLine) { - if (eachSeries.lineType == 'dash') { - let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; - dashLength *= opts.pix; - context.setLineDash([dashLength, dashLength]); - } - context.beginPath(); - context.setStrokeStyle(eachSeries.color); - context.setLineWidth(areaOption.width * opts.pix); - if (points.length === 1) { - context.moveTo(points[0].x, points[0].y); - // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); - } else { - context.moveTo(points[0].x, points[0].y); - let startPoint = 0; - if (areaOption.type === 'curve') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - let ctrlPoint = createCurveControlPoints(points, j - 1); - context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); - } - }; - } - if (areaOption.type === 'straight') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, item.y); - } - }; - } - if (areaOption.type === 'step') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, points[j - 1].y); - context.lineTo(item.x, item.y); - } - }; - } - context.moveTo(points[0].x, points[0].y); - } - context.stroke(); - context.setLineDash([]); - } - } - //画点 - if (opts.dataPointShape !== false) { - drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); - } - drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, areaOption,seriesIndex); - }); - - if (opts.dataLabel !== false && process === 1) { - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - drawPointText(points, eachSeries, config, context, opts); - }); - } - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing - }; -} - -function drawScatterDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var scatterOption = assign({}, { - type: 'circle' - }, opts.extra.scatter); - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - var calPoints = []; - context.save(); - let leftSpace = 0; - let rightSpace = opts.width + eachSpacing; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; - rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; - } - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - context.beginPath(); - context.setStrokeStyle(eachSeries.color); - context.setFillStyle(eachSeries.color); - context.setLineWidth(1 * opts.pix); - var shape = eachSeries.pointShape; - if (shape === 'diamond') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x, item.y - 4.5); - context.lineTo(item.x - 4.5, item.y); - context.lineTo(item.x, item.y + 4.5); - context.lineTo(item.x + 4.5, item.y); - context.lineTo(item.x, item.y - 4.5); - } - }); - } else if (shape === 'circle') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x + 2.5 * opts.pix, item.y); - context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false); - } - }); - } else if (shape === 'square') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x - 3.5, item.y - 3.5); - context.rect(item.x - 3.5, item.y - 3.5, 7, 7); - } - }); - } else if (shape === 'triangle') { - points.forEach(function(item, index) { - if (item !== null) { - context.moveTo(item.x, item.y - 4.5); - context.lineTo(item.x - 4.5, item.y + 4.5); - context.lineTo(item.x + 4.5, item.y + 4.5); - context.lineTo(item.x, item.y - 4.5); - } - }); - } else if (shape === 'triangle') { - return; - } - context.closePath(); - context.fill(); - context.stroke(); - }); - if (opts.dataLabel !== false && process === 1) { - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - drawPointText(points, eachSeries, config, context, opts); - }); - } - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing - }; -} - -function drawBubbleDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var bubbleOption = assign({}, { - opacity: 1, - border:2 - }, opts.extra.bubble); - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - var calPoints = []; - context.save(); - let leftSpace = 0; - let rightSpace = opts.width + eachSpacing; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; - rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; - } - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - context.beginPath(); - context.setStrokeStyle(eachSeries.color); - context.setLineWidth(bubbleOption.border * opts.pix); - context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity)); - points.forEach(function(item, index) { - context.moveTo(item.x + item.r, item.y); - context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false); - }); - context.closePath(); - context.fill(); - context.stroke(); - - if (opts.dataLabel !== false && process === 1) { - points.forEach(function(item, index) { - context.beginPath(); - var fontSize = eachSeries.textSize * opts.pix || config.fontSize; - context.setFontSize(fontSize); - context.setFillStyle(eachSeries.textColor || "#FFFFFF"); - context.setTextAlign('center'); - context.fillText(String(item.t), item.x, item.y + fontSize/2); - context.closePath(); - context.stroke(); - context.setTextAlign('left'); - }); - } - }); - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing - }; -} - -function drawLineDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var lineOption = assign({}, { - type: 'straight', - width: 2, - activeType: 'none', - linearType: 'none', - onShadow: false, - animation: 'vertical', - }, opts.extra.line); - lineOption.width *= opts.pix; - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - var calPoints = []; - context.save(); - let leftSpace = 0; - let rightSpace = opts.width + eachSpacing; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; - rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; - } - series.forEach(function(eachSeries, seriesIndex) { - // 这段很神奇的代码用于解决ios16的setStrokeStyle失效的bug - context.beginPath(); - context.setStrokeStyle(eachSeries.color); - context.moveTo(-10000, -10000); - context.lineTo(-10001, -10001); - context.stroke(); - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process); - calPoints.push(points); - var splitPointList = splitPoints(points,eachSeries); - if (eachSeries.lineType == 'dash') { - let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; - dashLength *= opts.pix; - context.setLineDash([dashLength, dashLength]); - } - context.beginPath(); - var strokeColor = eachSeries.color; - if (lineOption.linearType !== 'none' && eachSeries.linearColor && eachSeries.linearColor.length > 0) { - var grd = context.createLinearGradient(opts.chartData.xAxisData.startX, opts.height/2, opts.chartData.xAxisData.endX, opts.height/2); - for (var i = 0; i < eachSeries.linearColor.length; i++) { - grd.addColorStop(eachSeries.linearColor[i][0], hexToRgb(eachSeries.linearColor[i][1], 1)); - } - strokeColor = grd - } - context.setStrokeStyle(strokeColor); - if (lineOption.onShadow == true && eachSeries.setShadow && eachSeries.setShadow.length > 0) { - context.setShadow(eachSeries.setShadow[0], eachSeries.setShadow[1], eachSeries.setShadow[2], eachSeries.setShadow[3]); - }else{ - context.setShadow(0, 0, 0, 'rgba(0,0,0,0)'); - } - context.setLineWidth(lineOption.width); - splitPointList.forEach(function(points, index) { - if (points.length === 1) { - context.moveTo(points[0].x, points[0].y); - // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); - } else { - context.moveTo(points[0].x, points[0].y); - let startPoint = 0; - if (lineOption.type === 'curve') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - var ctrlPoint = createCurveControlPoints(points, j - 1); - context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); - } - }; - } - if (lineOption.type === 'straight') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, item.y); - } - }; - } - if (lineOption.type === 'step') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, points[j - 1].y); - context.lineTo(item.x, item.y); - } - }; - } - context.moveTo(points[0].x, points[0].y); - } - }); - context.stroke(); - context.setLineDash([]); - if (opts.dataPointShape !== false) { - drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); - } - drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, lineOption); - }); - if (opts.dataLabel !== false && process === 1) { - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - drawPointText(points, eachSeries, config, context, opts); - }); - } - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing - }; -} - -function drawMixDataPoints(series, opts, config, context) { - let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - eachSpacing = xAxisData.eachSpacing; - let columnOption = assign({}, { - width: eachSpacing / 2, - barBorderCircle: false, - barBorderRadius: [], - seriesGap: 2, - linearType: 'none', - linearOpacity: 1, - customColor: [], - colorStop: 0, - }, opts.extra.mix.column); - let areaOption = assign({}, { - opacity: 0.2, - gradient: false - }, opts.extra.mix.area); - let lineOption = assign({}, { - width: 2 - }, opts.extra.mix.line); - let endY = opts.height - opts.area[2]; - let calPoints = []; - var columnIndex = 0; - var columnLength = 0; - series.forEach(function(eachSeries, seriesIndex) { - if (eachSeries.type == 'column') { - columnLength += 1; - } - }); - context.save(); - let leftNum = -2; - let rightNum = xAxisPoints.length + 2; - let leftSpace = 0; - let rightSpace = opts.width + eachSpacing; - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2; - rightNum = leftNum + opts.xAxis.itemCount + 4; - leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3]; - rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing; - } - columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config); - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - calPoints.push(points); - // 绘制柱状数据图 - if (eachSeries.type == 'column') { - points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts); - for (let i = 0; i < points.length; i++) { - let item = points[i]; - if (item !== null && i > leftNum && i < rightNum) { - var startX = item.x - item.width / 2; - var height = opts.height - item.y - opts.area[2]; - context.beginPath(); - var fillColor = item.color || eachSeries.color - var strokeColor = item.color || eachSeries.color - if (columnOption.linearType !== 'none') { - var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]); - //透明渐变 - if (columnOption.linearType == 'opacity') { - grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } else { - grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); - grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity)); - grd.addColorStop(1, hexToRgb(fillColor, 1)); - } - fillColor = grd - } - // 圆角边框 - if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle) { - const left = startX; - const top = item.y; - const width = item.width; - const height = opts.height - opts.area[2] - item.y; - if (columnOption.barBorderCircle) { - columnOption.barBorderRadius = [width / 2, width / 2, 0, 0]; - } - let [r0, r1, r2, r3] = columnOption.barBorderRadius; - let minRadius = Math.min(width/2,height/2); - r0 = r0 > minRadius ? minRadius : r0; - r1 = r1 > minRadius ? minRadius : r1; - r2 = r2 > minRadius ? minRadius : r2; - r3 = r3 > minRadius ? minRadius : r3; - r0 = r0 < 0 ? 0 : r0; - r1 = r1 < 0 ? 0 : r1; - r2 = r2 < 0 ? 0 : r2; - r3 = r3 < 0 ? 0 : r3; - context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2); - context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0); - context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2); - context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI); - } else { - context.moveTo(startX, item.y); - context.lineTo(startX + item.width, item.y); - context.lineTo(startX + item.width, opts.height - opts.area[2]); - context.lineTo(startX, opts.height - opts.area[2]); - context.lineTo(startX, item.y); - context.setLineWidth(1) - context.setStrokeStyle(strokeColor); - } - context.setFillStyle(fillColor); - context.closePath(); - context.fill(); - } - } - columnIndex += 1; - } - //绘制区域图数据 - if (eachSeries.type == 'area') { - let splitPointList = splitPoints(points,eachSeries); - for (let i = 0; i < splitPointList.length; i++) { - let points = splitPointList[i]; - // 绘制区域数据 - context.beginPath(); - context.setStrokeStyle(eachSeries.color); - context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity)); - if (areaOption.gradient) { - let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]); - gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity)); - gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); - context.setFillStyle(gradient); - } else { - context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity)); - } - context.setLineWidth(2 * opts.pix); - if (points.length > 1) { - var firstPoint = points[0]; - let lastPoint = points[points.length - 1]; - context.moveTo(firstPoint.x, firstPoint.y); - let startPoint = 0; - if (eachSeries.style === 'curve') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - var ctrlPoint = createCurveControlPoints(points, j - 1); - context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y); - } - }; - } else { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, item.y); - } - }; - } - context.lineTo(lastPoint.x, endY); - context.lineTo(firstPoint.x, endY); - context.lineTo(firstPoint.x, firstPoint.y); - } else { - let item = points[0]; - context.moveTo(item.x - eachSpacing / 2, item.y); - // context.lineTo(item.x + eachSpacing / 2, item.y); - // context.lineTo(item.x + eachSpacing / 2, endY); - // context.lineTo(item.x - eachSpacing / 2, endY); - // context.moveTo(item.x - eachSpacing / 2, item.y); - } - context.closePath(); - context.fill(); - } - } - // 绘制折线数据图 - if (eachSeries.type == 'line') { - var splitPointList = splitPoints(points,eachSeries); - splitPointList.forEach(function(points, index) { - if (eachSeries.lineType == 'dash') { - let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8; - dashLength *= opts.pix; - context.setLineDash([dashLength, dashLength]); - } - context.beginPath(); - context.setStrokeStyle(eachSeries.color); - context.setLineWidth(lineOption.width * opts.pix); - if (points.length === 1) { - context.moveTo(points[0].x, points[0].y); - // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI); - } else { - context.moveTo(points[0].x, points[0].y); - let startPoint = 0; - if (eachSeries.style == 'curve') { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - var ctrlPoint = createCurveControlPoints(points, j - 1); - context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, - item.x, item.y); - } - } - } else { - for (let j = 0; j < points.length; j++) { - let item = points[j]; - if (startPoint == 0 && item.x > leftSpace) { - context.moveTo(item.x, item.y); - startPoint = 1; - } - if (j > 0 && item.x > leftSpace && item.x < rightSpace) { - context.lineTo(item.x, item.y); - } - } - } - context.moveTo(points[0].x, points[0].y); - } - context.stroke(); - context.setLineDash([]); - }); - } - // 绘制点数据图 - if (eachSeries.type == 'point') { - eachSeries.addPoint = true; - } - if (eachSeries.addPoint == true && eachSeries.type !== 'column') { - drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); - } - }); - if (opts.dataLabel !== false && process === 1) { - var columnIndex = 0; - series.forEach(function(eachSeries, seriesIndex) { - let ranges, minRange, maxRange; - ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]); - minRange = ranges.pop(); - maxRange = ranges.shift(); - var data = eachSeries.data; - var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process); - if (eachSeries.type !== 'column') { - drawPointText(points, eachSeries, config, context, opts); - } else { - points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts); - drawPointText(points, eachSeries, config, context, opts); - columnIndex += 1; - } - }); - } - context.restore(); - return { - xAxisPoints: xAxisPoints, - calPoints: calPoints, - eachSpacing: eachSpacing, - } -} - - -function drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) { - var toolTipOption = opts.extra.tooltip || {}; - if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) { - drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) - } - context.save(); - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) { - context.translate(opts._scrollDistance_, 0); - } - if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) { - drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints); - } - context.restore(); - -} - -function drawXAxis(categories, opts, config, context) { - - let xAxisData = opts.chartData.xAxisData, - xAxisPoints = xAxisData.xAxisPoints, - startX = xAxisData.startX, - endX = xAxisData.endX, - eachSpacing = xAxisData.eachSpacing; - var boundaryGap = 'center'; - if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area'|| opts.type == 'scatter' || opts.type == 'bubble') { - boundaryGap = opts.xAxis.boundaryGap; - } - var startY = opts.height - opts.area[2]; - var endY = opts.area[0]; - - //绘制滚动条 - if (opts.enableScroll && opts.xAxis.scrollShow) { - var scrollY = opts.height - opts.area[2] + config.xAxisHeight; - var scrollScreenWidth = endX - startX; - var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1); - if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){ - if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 - scrollTotalWidth += (opts.extra.mount.widthRatio - 1)*eachSpacing; - } - var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth; - var scrollLeft = 0; - if (opts._scrollDistance_) { - scrollLeft = -opts._scrollDistance_ * (scrollScreenWidth) / scrollTotalWidth; - } - context.beginPath(); - context.setLineCap('round'); - context.setLineWidth(6 * opts.pix); - context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || "#EFEBEF"); - context.moveTo(startX, scrollY); - context.lineTo(endX, scrollY); - context.stroke(); - context.closePath(); - context.beginPath(); - context.setLineCap('round'); - context.setLineWidth(6 * opts.pix); - context.setStrokeStyle(opts.xAxis.scrollColor || "#A6A6A6"); - context.moveTo(startX + scrollLeft, scrollY); - context.lineTo(startX + scrollLeft + scrollWidth, scrollY); - context.stroke(); - context.closePath(); - context.setLineCap('butt'); - } - context.save(); - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) { - context.translate(opts._scrollDistance_, 0); - } - //绘制X轴刻度线 - if (opts.xAxis.calibration === true) { - context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc"); - context.setLineCap('butt'); - context.setLineWidth(1 * opts.pix); - xAxisPoints.forEach(function(item, index) { - if (index > 0) { - context.beginPath(); - context.moveTo(item - eachSpacing / 2, startY); - context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix); - context.closePath(); - context.stroke(); - } - }); - } - //绘制X轴网格 - if (opts.xAxis.disableGrid !== true) { - context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc"); - context.setLineCap('butt'); - context.setLineWidth(1 * opts.pix); - if (opts.xAxis.gridType == 'dash') { - context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]); - } - opts.xAxis.gridEval = opts.xAxis.gridEval || 1; - xAxisPoints.forEach(function(item, index) { - if (index % opts.xAxis.gridEval == 0) { - context.beginPath(); - context.moveTo(item, startY); - context.lineTo(item, endY); - context.stroke(); - } - }); - context.setLineDash([]); - } - //绘制X轴文案 - if (opts.xAxis.disabled !== true) { - // 对X轴列表做抽稀处理 - //默认全部显示X轴标签 - let maxXAxisListLength = categories.length; - //如果设置了X轴单屏数量 - if (opts.xAxis.labelCount) { - //如果设置X轴密度 - if (opts.xAxis.itemCount) { - maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount); - } else { - maxXAxisListLength = opts.xAxis.labelCount; - } - maxXAxisListLength -= 1; - } - - let ratio = Math.ceil(categories.length / maxXAxisListLength); - - let newCategories = []; - let cgLength = categories.length; - for (let i = 0; i < cgLength; i++) { - if (i % ratio !== 0) { - newCategories.push(""); - } else { - newCategories.push(categories[i]); - } - } - newCategories[cgLength - 1] = categories[cgLength - 1]; - var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize; - if (config._xAxisTextAngle_ === 0) { - newCategories.forEach(function(item, index) { - var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item; - var offset = -measureText(String(xitem), xAxisFontSize, context) / 2; - if (boundaryGap == 'center') { - offset += eachSpacing / 2; - } - var scrollHeight = 0; - if (opts.xAxis.scrollShow) { - scrollHeight = 6 * opts.pix; - } - // 如果在主视图区域内 - var _scrollDistance_ = opts._scrollDistance_ || 0; - var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index]; - if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){ - context.beginPath(); - context.setFontSize(xAxisFontSize); - context.setFillStyle(opts.xAxis.fontColor || opts.fontColor); - context.fillText(String(xitem), xAxisPoints[index] + offset, startY + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.fontSize) * opts.pix / 2 + opts.xAxis.fontSize * opts.pix); - context.closePath(); - context.stroke(); - } - }); - } else { - newCategories.forEach(function(item, index) { - var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item; - // 如果在主视图区域内 - var _scrollDistance_ = opts._scrollDistance_ || 0; - var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index]; - if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){ - context.save(); - context.beginPath(); - context.setFontSize(xAxisFontSize); - context.setFillStyle(opts.xAxis.fontColor || opts.fontColor); - var textWidth = measureText(String(xitem), xAxisFontSize, context); - var offsetX = xAxisPoints[index]; - if (boundaryGap == 'center') { - offsetX = xAxisPoints[index] + eachSpacing / 2; - } - var scrollHeight = 0; - if (opts.xAxis.scrollShow) { - scrollHeight = 6 * opts.pix; - } - var offsetY = startY + opts.xAxis.marginTop * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_)); - if(opts.xAxis.rotateAngle < 0){ - offsetX -= xAxisFontSize / 2; - textWidth = 0; - }else{ - offsetX += xAxisFontSize / 2; - textWidth = -textWidth; - } - context.translate(offsetX, offsetY); - context.rotate(-1 * config._xAxisTextAngle_); - context.fillText(String(xitem), textWidth , 0 ); - context.closePath(); - context.stroke(); - context.restore(); - } - }); - } - } - context.restore(); - - //画X轴标题 - if (opts.xAxis.title) { - context.beginPath(); - context.setFontSize(opts.xAxis.titleFontSize * opts.pix); - context.setFillStyle(opts.xAxis.titleFontColor); - context.fillText(String(opts.xAxis.title), opts.width - opts.area[1] + opts.xAxis.titleOffsetX * opts.pix,opts.height - opts.area[2] + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.titleFontSize) * opts.pix / 2 + (opts.xAxis.titleFontSize + opts.xAxis.titleOffsetY) * opts.pix); - context.closePath(); - context.stroke(); - } - - //绘制X轴轴线 - if (opts.xAxis.axisLine) { - context.beginPath(); - context.setStrokeStyle(opts.xAxis.axisLineColor); - context.setLineWidth(1 * opts.pix); - context.moveTo(startX, opts.height - opts.area[2]); - context.lineTo(endX, opts.height - opts.area[2]); - context.stroke(); - } -} - -function drawYAxisGrid(categories, opts, config, context) { - if (opts.yAxis.disableGrid === true) { - return; - } - let spacingValid = opts.height - opts.area[0] - opts.area[2]; - let eachSpacing = spacingValid / opts.yAxis.splitNumber; - let startX = opts.area[3]; - let xAxisPoints = opts.chartData.xAxisData.xAxisPoints, - xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing; - let TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1); - if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1 ){ - if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2 - TotalWidth += (opts.extra.mount.widthRatio - 1) * xAxiseachSpacing; - } - let endX = startX + TotalWidth; - let points = []; - let startY = 1 - if (opts.xAxis.axisLine === false) { - startY = 0 - } - for (let i = startY; i < opts.yAxis.splitNumber + 1; i++) { - points.push(opts.height - opts.area[2] - eachSpacing * i); - } - context.save(); - if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) { - context.translate(opts._scrollDistance_, 0); - } - if (opts.yAxis.gridType == 'dash') { - context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]); - } - context.setStrokeStyle(opts.yAxis.gridColor); - context.setLineWidth(1 * opts.pix); - points.forEach(function(item, index) { - context.beginPath(); - context.moveTo(startX, item); - context.lineTo(endX, item); - context.stroke(); - }); - context.setLineDash([]); - context.restore(); -} - -function drawYAxis(series, opts, config, context) { - if (opts.yAxis.disabled === true) { - return; - } - var spacingValid = opts.height - opts.area[0] - opts.area[2]; - var eachSpacing = spacingValid / opts.yAxis.splitNumber; - var startX = opts.area[3]; - var endX = opts.width - opts.area[1]; - var endY = opts.height - opts.area[2]; - // set YAxis background - context.beginPath(); - context.setFillStyle(opts.background); - if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') { - context.fillRect(0, 0, startX, endY + 2 * opts.pix); - } - if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') { - context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix); - } - context.closePath(); - context.stroke(); - - let tStartLeft = opts.area[3]; - let tStartRight = opts.width - opts.area[1]; - let tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2; - if (opts.yAxis.data) { - for (let i = 0; i < opts.yAxis.data.length; i++) { - let yData = opts.yAxis.data[i]; - var points = []; - if(yData.type === 'categories'){ - for (let i = 0; i <= yData.categories.length; i++) { - points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * i); - } - }else{ - for (let i = 0; i <= opts.yAxis.splitNumber; i++) { - points.push(opts.area[0] + eachSpacing * i); - } - } - if (yData.disabled !== true) { - let rangesFormat = opts.chartData.yAxisData.rangesFormat[i]; - let yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize; - let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i]; - let textAlign = yData.textAlign || "right"; - //画Y轴刻度及文案 - rangesFormat.forEach(function(item, index) { - var pos = points[index]; - context.beginPath(); - context.setFontSize(yAxisFontSize); - context.setLineWidth(1 * opts.pix); - context.setStrokeStyle(yData.axisLineColor || '#cccccc'); - context.setFillStyle(yData.fontColor || opts.fontColor); - let tmpstrat = 0; - let gapwidth = 4 * opts.pix; - if (yAxisWidth.position == 'left') { - //画刻度线 - if (yData.calibration == true) { - context.moveTo(tStartLeft, pos); - context.lineTo(tStartLeft - 3 * opts.pix, pos); - gapwidth += 3 * opts.pix; - } - //画文字 - switch (textAlign) { - case "left": - context.setTextAlign('left'); - tmpstrat = tStartLeft - yAxisWidth.width - break; - case "right": - context.setTextAlign('right'); - tmpstrat = tStartLeft - gapwidth - break; - default: - context.setTextAlign('center'); - tmpstrat = tStartLeft - yAxisWidth.width / 2 - } - context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); - - } else if (yAxisWidth.position == 'right') { - //画刻度线 - if (yData.calibration == true) { - context.moveTo(tStartRight, pos); - context.lineTo(tStartRight + 3 * opts.pix, pos); - gapwidth += 3 * opts.pix; - } - switch (textAlign) { - case "left": - context.setTextAlign('left'); - tmpstrat = tStartRight + gapwidth - break; - case "right": - context.setTextAlign('right'); - tmpstrat = tStartRight + yAxisWidth.width - break; - default: - context.setTextAlign('center'); - tmpstrat = tStartRight + yAxisWidth.width / 2 - } - context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); - } else if (yAxisWidth.position == 'center') { - //画刻度线 - if (yData.calibration == true) { - context.moveTo(tStartCenter, pos); - context.lineTo(tStartCenter - 3 * opts.pix, pos); - gapwidth += 3 * opts.pix; - } - //画文字 - switch (textAlign) { - case "left": - context.setTextAlign('left'); - tmpstrat = tStartCenter - yAxisWidth.width - break; - case "right": - context.setTextAlign('right'); - tmpstrat = tStartCenter - gapwidth - break; - default: - context.setTextAlign('center'); - tmpstrat = tStartCenter - yAxisWidth.width / 2 - } - context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix); - } - context.closePath(); - context.stroke(); - context.setTextAlign('left'); - }); - //画Y轴轴线 - if (yData.axisLine !== false) { - context.beginPath(); - context.setStrokeStyle(yData.axisLineColor || '#cccccc'); - context.setLineWidth(1 * opts.pix); - if (yAxisWidth.position == 'left') { - context.moveTo(tStartLeft, opts.height - opts.area[2]); - context.lineTo(tStartLeft, opts.area[0]); - } else if (yAxisWidth.position == 'right') { - context.moveTo(tStartRight, opts.height - opts.area[2]); - context.lineTo(tStartRight, opts.area[0]); - } else if (yAxisWidth.position == 'center') { - context.moveTo(tStartCenter, opts.height - opts.area[2]); - context.lineTo(tStartCenter, opts.area[0]); - } - context.stroke(); - } - //画Y轴标题 - if (opts.yAxis.showTitle) { - let titleFontSize = yData.titleFontSize * opts.pix || config.fontSize; - let title = yData.title; - context.beginPath(); - context.setFontSize(titleFontSize); - context.setFillStyle(yData.titleFontColor || opts.fontColor); - if (yAxisWidth.position == 'left') { - context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); - } else if (yAxisWidth.position == 'right') { - context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); - } else if (yAxisWidth.position == 'center') { - context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix); - } - context.closePath(); - context.stroke(); - } - if (yAxisWidth.position == 'left') { - tStartLeft -= (yAxisWidth.width + opts.yAxis.padding * opts.pix); - } else { - tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix; - } - } - } - } - -} - -function drawLegend(series, opts, config, context, chartData) { - if (opts.legend.show === false) { - return; - } - let legendData = chartData.legendData; - let legendList = legendData.points; - let legendArea = legendData.area; - let padding = opts.legend.padding * opts.pix; - let fontSize = opts.legend.fontSize * opts.pix; - let shapeWidth = 15 * opts.pix; - let shapeRight = 5 * opts.pix; - let itemGap = opts.legend.itemGap * opts.pix; - let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize); - //画背景及边框 - context.beginPath(); - context.setLineWidth(opts.legend.borderWidth * opts.pix); - context.setStrokeStyle(opts.legend.borderColor); - context.setFillStyle(opts.legend.backgroundColor); - context.moveTo(legendArea.start.x, legendArea.start.y); - context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height); - context.closePath(); - context.fill(); - context.stroke(); - legendList.forEach(function(itemList, listIndex) { - let width = 0; - let height = 0; - width = legendData.widthArr[listIndex]; - height = legendData.heightArr[listIndex]; - let startX = 0; - let startY = 0; - if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { - switch (opts.legend.float) { - case 'left': - startX = legendArea.start.x + padding; - break; - case 'right': - startX = legendArea.start.x + legendArea.width - width; - break; - default: - startX = legendArea.start.x + (legendArea.width - width) / 2; - } - startY = legendArea.start.y + padding + listIndex * lineHeight; - } else { - if (listIndex == 0) { - width = 0; - } else { - width = legendData.widthArr[listIndex - 1]; - } - startX = legendArea.start.x + padding + width; - startY = legendArea.start.y + padding + (legendArea.height - height) / 2; - } - context.setFontSize(config.fontSize); - for (let i = 0; i < itemList.length; i++) { - let item = itemList[i]; - item.area = [0, 0, 0, 0]; - item.area[0] = startX; - item.area[1] = startY; - item.area[3] = startY + lineHeight; - context.beginPath(); - context.setLineWidth(1 * opts.pix); - context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor); - context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor); - switch (item.legendShape) { - case 'line': - context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix); - context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix); - break; - case 'triangle': - context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); - context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); - context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); - context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); - break; - case 'diamond': - context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); - context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight); - context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix); - context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight); - context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); - break; - case 'circle': - context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight); - context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI); - break; - case 'rect': - context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix); - context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); - break; - case 'square': - context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix); - context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix); - break; - case 'none': - break; - default: - context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix); - context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix); - } - context.closePath(); - context.fill(); - context.stroke(); - startX += shapeWidth + shapeRight; - let fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2; - const legendText = item.legendText ? item.legendText : item.name; - context.beginPath(); - context.setFontSize(fontSize); - context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor); - context.fillText(legendText, startX, startY + fontTrans); - context.closePath(); - context.stroke(); - if (opts.legend.position == 'top' || opts.legend.position == 'bottom') { - startX += measureText(legendText, fontSize, context) + itemGap; - item.area[2] = startX; - } else { - item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;; - startX -= shapeWidth + shapeRight; - startY += lineHeight; - } - } - }); -} - -function drawPieDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var pieOption = assign({}, { - activeOpacity: 0.5, - activeRadius: 10, - offsetAngle: 0, - labelWidth: 15, - ringWidth: 30, - customRadius: 0, - border: false, - borderWidth: 2, - borderColor: '#FFFFFF', - centerColor: '#FFFFFF', - linearType: 'none', - customColor: [], - }, opts.type == "pie" ? opts.extra.pie : opts.extra.ring); - var centerPosition = { - x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, - y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 - }; - if (config.pieChartLinePadding == 0) { - config.pieChartLinePadding = pieOption.activeRadius * opts.pix; - } - - 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); - radius = radius < 10 ? 10 : radius; - if (pieOption.customRadius > 0) { - radius = pieOption.customRadius * opts.pix; - } - series = getPieDataPoints(series, radius, process); - var activeRadius = pieOption.activeRadius * opts.pix; - pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config); - series = series.map(function(eachSeries) { - eachSeries._start_ += (pieOption.offsetAngle) * Math.PI / 180; - return eachSeries; - }); - series.forEach(function(eachSeries, seriesIndex) { - if (opts.tooltip) { - if (opts.tooltip.index == seriesIndex) { - context.beginPath(); - context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5)); - context.moveTo(centerPosition.x, centerPosition.y); - context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI); - context.closePath(); - context.fill(); - } - } - context.beginPath(); - context.setLineWidth(pieOption.borderWidth * opts.pix); - context.lineJoin = "round"; - context.setStrokeStyle(pieOption.borderColor); - var fillcolor = eachSeries.color; - if (pieOption.linearType == 'custom') { - var grd; - if(context.createCircularGradient){ - grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_) - }else{ - grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_) - } - grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1)) - grd.addColorStop(1, hexToRgb(eachSeries.color, 1)) - fillcolor = grd - } - context.setFillStyle(fillcolor); - context.moveTo(centerPosition.x, centerPosition.y); - context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI); - context.closePath(); - context.fill(); - if (pieOption.border == true) { - context.stroke(); - } - }); - if (opts.type === 'ring') { - var innerPieWidth = radius * 0.6; - if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) { - innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix); - } - context.beginPath(); - context.setFillStyle(pieOption.centerColor); - context.moveTo(centerPosition.x, centerPosition.y); - context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI); - context.closePath(); - context.fill(); - } - if (opts.dataLabel !== false && process === 1) { - drawPieText(series, opts, config, context, radius, centerPosition); - } - if (process === 1 && opts.type === 'ring') { - drawRingTitle(opts, config, context, centerPosition); - } - return { - center: centerPosition, - radius: radius, - series: series - }; -} - -function drawRoseDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var roseOption = assign({}, { - type: 'area', - activeOpacity: 0.5, - activeRadius: 10, - offsetAngle: 0, - labelWidth: 15, - border: false, - borderWidth: 2, - borderColor: '#FFFFFF', - linearType: 'none', - customColor: [], - }, opts.extra.rose); - if (config.pieChartLinePadding == 0) { - config.pieChartLinePadding = roseOption.activeRadius * opts.pix; - } - var centerPosition = { - x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, - y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 - }; - 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); - radius = radius < 10 ? 10 : radius; - var minRadius = roseOption.minRadius || radius * 0.5; - if(radius < minRadius){ - radius = minRadius + 10; - } - series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process); - var activeRadius = roseOption.activeRadius * opts.pix; - roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config); - series = series.map(function(eachSeries) { - eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180; - return eachSeries; - }); - series.forEach(function(eachSeries, seriesIndex) { - if (opts.tooltip) { - if (opts.tooltip.index == seriesIndex) { - context.beginPath(); - context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5)); - context.moveTo(centerPosition.x, centerPosition.y); - context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI); - context.closePath(); - context.fill(); - } - } - context.beginPath(); - context.setLineWidth(roseOption.borderWidth * opts.pix); - context.lineJoin = "round"; - context.setStrokeStyle(roseOption.borderColor); - var fillcolor = eachSeries.color; - if (roseOption.linearType == 'custom') { - var grd; - if(context.createCircularGradient){ - grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_) - }else{ - grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_) - } - grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1)) - grd.addColorStop(1, hexToRgb(eachSeries.color, 1)) - fillcolor = grd - } - context.setFillStyle(fillcolor); - context.moveTo(centerPosition.x, centerPosition.y); - context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI); - context.closePath(); - context.fill(); - if (roseOption.border == true) { - context.stroke(); - } - }); - - if (opts.dataLabel !== false && process === 1) { - drawPieText(series, opts, config, context, radius, centerPosition); - } - return { - center: centerPosition, - radius: radius, - series: series - }; -} - -function drawArcbarDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var arcbarOption = assign({}, { - startAngle: 0.75, - endAngle: 0.25, - type: 'default', - direction: 'cw', - lineCap: 'round', - width: 12 , - gap: 2 , - linearType: 'none', - customColor: [], - }, opts.extra.arcbar); - series = getArcbarDataPoints(series, arcbarOption, process); - var centerPosition; - if (arcbarOption.centerX || arcbarOption.centerY) { - centerPosition = { - x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2, - y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2 - }; - } else { - centerPosition = { - x: opts.width / 2, - y: opts.height / 2 - }; - } - var radius; - if (arcbarOption.radius) { - radius = arcbarOption.radius; - } else { - radius = Math.min(centerPosition.x, centerPosition.y); - radius -= 5 * opts.pix; - radius -= arcbarOption.width / 2; - } - radius = radius < 10 ? 10 : radius; - arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config); - - for (let i = 0; i < series.length; i++) { - let eachSeries = series[i]; - //背景颜色 - context.setLineWidth(arcbarOption.width * opts.pix); - context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9'); - context.setLineCap(arcbarOption.lineCap); - context.beginPath(); - if (arcbarOption.type == 'default') { - context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw'); - } else { - context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw'); - } - context.stroke(); - //进度条 - var fillColor = eachSeries.color - if(arcbarOption.linearType == 'custom'){ - var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y); - grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1)) - grd.addColorStop(0, hexToRgb(eachSeries.color, 1)) - fillColor = grd; - } - context.setLineWidth(arcbarOption.width * opts.pix); - context.setStrokeStyle(fillColor); - context.setLineCap(arcbarOption.lineCap); - context.beginPath(); - context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw'); - context.stroke(); - } - drawRingTitle(opts, config, context, centerPosition); - return { - center: centerPosition, - radius: radius, - series: series - }; -} - -function drawGaugeDataPoints(categories, series, opts, config, context) { - var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1; - var gaugeOption = assign({}, { - type: 'default', - startAngle: 0.75, - endAngle: 0.25, - width: 15, - labelOffset:13, - splitLine: { - fixRadius: 0, - splitNumber: 10, - width: 15, - color: '#FFFFFF', - childNumber: 5, - childWidth: 5 - }, - pointer: { - width: 15, - color: 'auto' - } - }, opts.extra.gauge); - if (gaugeOption.oldAngle == undefined) { - gaugeOption.oldAngle = gaugeOption.startAngle; - } - if (gaugeOption.oldData == undefined) { - gaugeOption.oldData = 0; - } - categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle); - var centerPosition = { - x: opts.width / 2, - y: opts.height / 2 - }; - var radius = Math.min(centerPosition.x, centerPosition.y); - radius -= 5 * opts.pix; - radius -= gaugeOption.width / 2; - radius = radius < 10 ? 10 : radius; - var innerRadius = radius - gaugeOption.width; - var totalAngle = 0; - //判断仪表盘的样式:default百度样式,progress新样式 - if (gaugeOption.type == 'progress') { - //## 第一步画中心圆形背景和进度条背景 - //中心圆形背景 - var pieRadius = radius - gaugeOption.width * 3; - context.beginPath(); - let gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius); - //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径) - gradient.addColorStop('0', hexToRgb(series[0].color, 0.3)); - gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1)); - context.setFillStyle(gradient); - context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false); - context.fill(); - //画进度条背景 - context.setLineWidth(gaugeOption.width); - context.setStrokeStyle(hexToRgb(series[0].color, 0.3)); - context.setLineCap('round'); - context.beginPath(); - context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false); - context.stroke(); - //## 第二步画刻度线 - if (gaugeOption.endAngle < gaugeOption.startAngle) { - totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; - } else { - totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; - } - let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; - let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber; - let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius; - let endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width; - context.save(); - context.translate(centerPosition.x, centerPosition.y); - context.rotate((gaugeOption.startAngle - 1) * Math.PI); - let len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; - let proc = series[0].data * process; - for (let i = 0; i < len; i++) { - context.beginPath(); - //刻度线随进度变色 - if (proc > (i / len)) { - context.setStrokeStyle(hexToRgb(series[0].color, 1)); - } else { - context.setStrokeStyle(hexToRgb(series[0].color, 0.3)); - } - context.setLineWidth(3 * opts.pix); - context.moveTo(startX, 0); - context.lineTo(endX, 0); - context.stroke(); - context.rotate(childAngle * Math.PI); - } - context.restore(); - //## 第三步画进度条 - series = getGaugeArcbarDataPoints(series, gaugeOption, process); - context.setLineWidth(gaugeOption.width); - context.setStrokeStyle(series[0].color); - context.setLineCap('round'); - context.beginPath(); - context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false); - context.stroke(); - //## 第四步画指针 - let pointerRadius = radius - gaugeOption.width * 2.5; - context.save(); - context.translate(centerPosition.x, centerPosition.y); - context.rotate((series[0]._proportion_ - 1) * Math.PI); - context.beginPath(); - context.setLineWidth(gaugeOption.width / 3); - let gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6); - gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0)); - gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1)); - gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0)); - context.setStrokeStyle(gradient3); - context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false); - context.stroke(); - context.beginPath(); - context.setLineWidth(1); - context.setStrokeStyle(series[0].color); - context.setFillStyle(series[0].color); - context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4); - context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0); - context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4); - context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4); - context.stroke(); - context.fill(); - context.restore(); - //default百度样式 - } else { - //画背景 - context.setLineWidth(gaugeOption.width); - context.setLineCap('butt'); - for (let i = 0; i < categories.length; i++) { - let eachCategories = categories[i]; - context.beginPath(); - context.setStrokeStyle(eachCategories.color); - context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false); - context.stroke(); - } - context.save(); - //画刻度线 - if (gaugeOption.endAngle < gaugeOption.startAngle) { - totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle; - } else { - totalAngle = gaugeOption.startAngle - gaugeOption.endAngle; - } - let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber; - let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber; - let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius; - let endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width; - let childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth; - context.translate(centerPosition.x, centerPosition.y); - context.rotate((gaugeOption.startAngle - 1) * Math.PI); - for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) { - context.beginPath(); - context.setStrokeStyle(gaugeOption.splitLine.color); - context.setLineWidth(2 * opts.pix); - context.moveTo(startX, 0); - context.lineTo(endX, 0); - context.stroke(); - context.rotate(splitAngle * Math.PI); - } - context.restore(); - context.save(); - context.translate(centerPosition.x, centerPosition.y); - context.rotate((gaugeOption.startAngle - 1) * Math.PI); - for (let i = 0; i < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; i++) { - context.beginPath(); - context.setStrokeStyle(gaugeOption.splitLine.color); - context.setLineWidth(1 * opts.pix); - context.moveTo(startX, 0); - context.lineTo(childendX, 0); - context.stroke(); - context.rotate(childAngle * Math.PI); - } - context.restore(); - //画指针 - series = getGaugeDataPoints(series, categories, gaugeOption, process); - for (let i = 0; i < series.length; i++) { - let eachSeries = series[i]; - context.save(); - context.translate(centerPosition.x, centerPosition.y); - context.rotate((eachSeries._proportion_ - 1) * Math.PI); - context.beginPath(); - context.setFillStyle(eachSeries.color); - context.moveTo(gaugeOption.pointer.width, 0); - context.lineTo(0, -gaugeOption.pointer.width / 2); - context.lineTo(-innerRadius, 0); - context.lineTo(0, gaugeOption.pointer.width / 2); - context.lineTo(gaugeOption.pointer.width, 0); - context.closePath(); - context.fill(); - context.beginPath(); - context.setFillStyle('#FFFFFF'); - context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false); - context.fill(); - context.restore(); - } - if (opts.dataLabel !== false) { - drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context); - } - } - //画仪表盘标题,副标题 - drawRingTitle(opts, config, context, centerPosition); - if (process === 1 && opts.type === 'gauge') { - opts.extra.gauge.oldAngle = series[0]._proportion_; - opts.extra.gauge.oldData = series[0].data; - } - return { - center: centerPosition, - radius: radius, - innerRadius: innerRadius, - categories: categories, - totalAngle: totalAngle - }; -} - -function drawRadarDataPoints(series, opts, config, context) { - var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - var radarOption = assign({}, { - gridColor: '#cccccc', - gridType: 'radar', - gridEval:1, - axisLabel:false, - axisLabelTofix:0, - labelShow:true, - labelColor:'#666666', - labelPointShow:false, - labelPointRadius:3, - labelPointColor:'#cccccc', - opacity: 0.2, - gridCount: 3, - border:false, - borderWidth:2, - linearType: 'none', - customColor: [], - }, opts.extra.radar); - var coordinateAngle = getRadarCoordinateSeries(opts.categories.length); - var centerPosition = { - x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, - y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2 - }; - var xr = (opts.width - opts.area[1] - opts.area[3]) / 2 - var yr = (opts.height - opts.area[0] - opts.area[2]) / 2 - var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin); - radius -= config.radarLabelTextMargin * opts.pix; - radius = radius < 10 ? 10 : radius; - radius = radarOption.radius ? radarOption.radius : radius; - // 画分割线 - context.beginPath(); - context.setLineWidth(1 * opts.pix); - context.setStrokeStyle(radarOption.gridColor); - coordinateAngle.forEach(function(angle,index) { - var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition); - context.moveTo(centerPosition.x, centerPosition.y); - if (index % radarOption.gridEval == 0) { - context.lineTo(pos.x, pos.y); - } - }); - context.stroke(); - context.closePath(); - - // 画背景网格 - var _loop = function _loop(i) { - var startPos = {}; - context.beginPath(); - context.setLineWidth(1 * opts.pix); - context.setStrokeStyle(radarOption.gridColor); - if (radarOption.gridType == 'radar') { - coordinateAngle.forEach(function(angle, index) { - var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius / - radarOption.gridCount * i * Math.sin(angle), centerPosition); - if (index === 0) { - startPos = pos; - context.moveTo(pos.x, pos.y); - } else { - context.lineTo(pos.x, pos.y); - } - }); - context.lineTo(startPos.x, startPos.y); - } else { - var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition); - context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false); - } - context.stroke(); - context.closePath(); - }; - for (var i = 1; i <= radarOption.gridCount; i++) { - _loop(i); - } - radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config); - var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process); - radarDataPoints.forEach(function(eachSeries, seriesIndex) { - // 绘制区域数据 - context.beginPath(); - context.setLineWidth(radarOption.borderWidth * opts.pix); - context.setStrokeStyle(eachSeries.color); - - var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity); - if (radarOption.linearType == 'custom') { - var grd; - if(context.createCircularGradient){ - grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius) - }else{ - grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, radius) - } - grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity)) - grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity)) - fillcolor = grd - } - - context.setFillStyle(fillcolor); - eachSeries.data.forEach(function(item, index) { - if (index === 0) { - context.moveTo(item.position.x, item.position.y); - } else { - context.lineTo(item.position.x, item.position.y); - } - }); - context.closePath(); - context.fill(); - if(radarOption.border === true){ - context.stroke(); - } - context.closePath(); - if (opts.dataPointShape !== false) { - var points = eachSeries.data.map(function(item) { - return item.position; - }); - drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts); - } - }); - // 画刻度值 - if(radarOption.axisLabel === true){ - const maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series))); - const stepLength = radius / radarOption.gridCount; - const fontSize = opts.fontSize * opts.pix; - context.setFontSize(fontSize); - context.setFillStyle(opts.fontColor); - context.setTextAlign('left'); - for (var i = 0; i < radarOption.gridCount + 1; i++) { - let label = i * maxData / radarOption.gridCount; - label = label.toFixed(radarOption.axisLabelTofix); - context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2); - } - } - - // draw label text - drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context); - - // draw dataLabel - if (opts.dataLabel !== false && process === 1) { - radarDataPoints.forEach(function(eachSeries, seriesIndex) { - context.beginPath(); - var fontSize = eachSeries.textSize * opts.pix || config.fontSize; - context.setFontSize(fontSize); - context.setFillStyle(eachSeries.textColor || opts.fontColor); - eachSeries.data.forEach(function(item, index) { - //如果是中心点垂直的上下点位 - if(Math.abs(item.position.x - centerPosition.x)<2){ - //如果在上面 - if(item.position.y < centerPosition.y){ - context.setTextAlign('center'); - context.fillText(item.value, item.position.x, item.position.y - 4); - }else{ - context.setTextAlign('center'); - context.fillText(item.value, item.position.x, item.position.y + fontSize + 2); - } - }else{ - //如果在左侧 - if(item.position.x < centerPosition.x){ - context.setTextAlign('right'); - context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2); - }else{ - context.setTextAlign('left'); - context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2); - } - } - }); - context.closePath(); - context.stroke(); - }); - context.setTextAlign('left'); - } - - return { - center: centerPosition, - radius: radius, - angleList: coordinateAngle - }; -} - -// 经纬度转墨卡托 -function lonlat2mercator(longitude, latitude) { - var mercator = Array(2); - var x = longitude * 20037508.34 / 180; - var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180); - y = y * 20037508.34 / 180; - mercator[0] = x; - mercator[1] = y; - return mercator; -} - -// 墨卡托转经纬度 -function mercator2lonlat(longitude, latitude) { - var lonlat = Array(2) - var x = longitude / 20037508.34 * 180; - var y = latitude / 20037508.34 * 180; - y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2); - lonlat[0] = x; - lonlat[1] = y; - return lonlat; -} - -function getBoundingBox(data) { - var bounds = {},coords; - bounds.xMin = 180; - bounds.xMax = 0; - bounds.yMin = 90; - bounds.yMax = 0 - for (var i = 0; i < data.length; i++) { - var coorda = data[i].geometry.coordinates - for (var k = 0; k < coorda.length; k++) { - coords = coorda[k]; - if (coords.length == 1) { - coords = coords[0] - } - for (var j = 0; j < coords.length; j++) { - var longitude = coords[j][0]; - var latitude = coords[j][1]; - var point = { - x: longitude, - y: latitude - } - bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x; - bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x; - bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y; - bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y; - } - } - } - return bounds; -} - -function coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) { - return { - x: (longitude - bounds.xMin) * scale + xoffset, - y: (bounds.yMax - latitude) * scale + yoffset - }; -} - -function pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) { - return { - x: (pointX - xoffset) / scale + bounds.xMin, - y: bounds.yMax - (pointY - yoffset) / scale - }; -} - -function isRayIntersectsSegment(poi, s_poi, e_poi) { - if (s_poi[1] == e_poi[1]) { - return false; - } - if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) { - return false; - } - if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) { - return false; - } - if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) { - return false; - } - if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) { - return false; - } - if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) { - return false; - } - let xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]); - if (xseg < poi[0]) { - return false; - } else { - return true; - } -} - -function isPoiWithinPoly(poi, poly, mercator) { - let sinsc = 0; - for (let i = 0; i < poly.length; i++) { - let epoly = poly[i][0]; - if (poly.length == 1) { - epoly = poly[i][0] - } - for (let j = 0; j < epoly.length - 1; j++) { - let s_poi = epoly[j]; - let e_poi = epoly[j + 1]; - if (mercator) { - s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]); - e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]); - } - if (isRayIntersectsSegment(poi, s_poi, e_poi)) { - sinsc += 1; - } - } - } - if (sinsc % 2 == 1) { - return true; - } else { - return false; - } -} - -function drawMapDataPoints(series, opts, config, context) { - var mapOption = assign({}, { - border: true, - mercator: false, - borderWidth: 1, - active:true, - borderColor: '#666666', - fillOpacity: 0.6, - activeBorderColor: '#f04864', - activeFillColor: '#facc14', - activeFillOpacity: 1 - }, opts.extra.map); - var coords, point; - var data = series; - var bounds = getBoundingBox(data); - if (mapOption.mercator) { - var max = lonlat2mercator(bounds.xMax, bounds.yMax) - var min = lonlat2mercator(bounds.xMin, bounds.yMin) - bounds.xMax = max[0] - bounds.yMax = max[1] - bounds.xMin = min[0] - bounds.yMin = min[1] - } - var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin); - var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin); - var scale = xScale < yScale ? xScale : yScale; - var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale; - var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale; - for (var i = 0; i < data.length; i++) { - context.beginPath(); - context.setLineWidth(mapOption.borderWidth * opts.pix); - context.setStrokeStyle(mapOption.borderColor); - context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity||mapOption.fillOpacity)); - if (mapOption.active == true && opts.tooltip) { - if (opts.tooltip.index == i) { - context.setStrokeStyle(mapOption.activeBorderColor); - context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity)); - } - } - var coorda = data[i].geometry.coordinates - for (var k = 0; k < coorda.length; k++) { - coords = coorda[k]; - if (coords.length == 1) { - coords = coords[0] - } - for (var j = 0; j < coords.length; j++) { - var gaosi = Array(2); - if (mapOption.mercator) { - gaosi = lonlat2mercator(coords[j][0], coords[j][1]) - } else { - gaosi = coords[j] - } - point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset) - if (j === 0) { - context.beginPath(); - context.moveTo(point.x, point.y); - } else { - context.lineTo(point.x, point.y); - } - } - context.fill(); - if (mapOption.border == true) { - context.stroke(); - } - } - } - if (opts.dataLabel == true) { - for (var i = 0; i < data.length; i++) { - var centerPoint = data[i].properties.centroid; - if (centerPoint) { - if (mapOption.mercator) { - centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1]) - } - point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset); - let fontSize = data[i].textSize * opts.pix || config.fontSize; - let fontColor = data[i].textColor || opts.fontColor; - if(mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i){ - fontColor = mapOption.activeTextColor; - } - let text = data[i].properties.name; - context.beginPath(); - context.setFontSize(fontSize) - context.setFillStyle(fontColor) - context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2); - context.closePath(); - context.stroke(); - } - } - } - opts.chartData.mapData = { - bounds: bounds, - scale: scale, - xoffset: xoffset, - yoffset: yoffset, - mercator: mapOption.mercator - } - drawToolTipBridge(opts, config, context, 1); - context.draw(); -} - -function normalInt(min, max, iter) { - iter = iter == 0 ? 1 : iter; - var arr = []; - for (var i = 0; i < iter; i++) { - arr[i] = Math.random(); - }; - return Math.floor(arr.reduce(function(i, j) { - return i + j - }) / iter * (max - min)) + min; -}; - -function collisionNew(area, points, width, height) { - var isIn = false; - for (let i = 0; i < points.length; i++) { - if (points[i].area) { - 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]) { - if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) { - isIn = true; - break; - } else { - isIn = false; - } - } else { - isIn = true; - break; - } - } - } - return isIn; -}; - -function getWordCloudPoint(opts, type, context) { - let points = opts.series; - switch (type) { - case 'normal': - for (let i = 0; i < points.length; i++) { - let text = points[i].name; - let tHeight = points[i].textSize * opts.pix; - let tWidth = measureText(text, tHeight, context); - let x, y; - let area; - let breaknum = 0; - while (true) { - breaknum++; - x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2; - y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2; - area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + - opts.height / 2 - ]; - let isCollision = collisionNew(area, points, opts.width, opts.height); - if (!isCollision) break; - if (breaknum == 1000) { - area = [-100, -100, -100, -100]; - break; - } - }; - points[i].area = area; - } - break; - case 'vertical': - function Spin() { - //获取均匀随机值,是否旋转,旋转的概率为(1-0.5) - if (Math.random() > 0.7) { - return true; - } else { - return false - }; - }; - for (let i = 0; i < points.length; i++) { - let text = points[i].name; - let tHeight = points[i].textSize * opts.pix; - let tWidth = measureText(text, tHeight, context); - let isSpin = Spin(); - let x, y, area, areav; - let breaknum = 0; - while (true) { - breaknum++; - let isCollision; - if (isSpin) { - x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2; - y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2; - area = [y - 5 - tWidth + opts.width / 2, (-x - 5 + opts.height / 2), y + 5 + opts.width / 2, (-x + tHeight + 5 + opts.height / 2)]; - 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]; - isCollision = collisionNew(areav, points, opts.height, opts.width); - } else { - x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2; - y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2; - area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2]; - isCollision = collisionNew(area, points, opts.width, opts.height); - } - if (!isCollision) break; - if (breaknum == 1000) { - area = [-1000, -1000, -1000, -1000]; - break; - } - }; - if (isSpin) { - points[i].area = areav; - points[i].areav = area; - } else { - points[i].area = area; - } - points[i].rotate = isSpin; - }; - break; - } - return points; -} - -function drawWordCloudDataPoints(series, opts, config, context) { - let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - let wordOption = assign({}, { - type: 'normal', - autoColors: true - }, opts.extra.word); - if (!opts.chartData.wordCloudData) { - opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context); - } - context.beginPath(); - context.setFillStyle(opts.background); - context.rect(0, 0, opts.width, opts.height); - context.fill(); - context.save(); - let points = opts.chartData.wordCloudData; - context.translate(opts.width / 2, opts.height / 2); - for (let i = 0; i < points.length; i++) { - context.save(); - if (points[i].rotate) { - context.rotate(90 * Math.PI / 180); - } - let text = points[i].name; - let tHeight = points[i].textSize * opts.pix; - let tWidth = measureText(text, tHeight, context); - context.beginPath(); - context.setStrokeStyle(points[i].color); - context.setFillStyle(points[i].color); - context.setFontSize(tHeight); - if (points[i].rotate) { - if (points[i].areav[0] > 0) { - if (opts.tooltip) { - if (opts.tooltip.index == i) { - 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); - } else { - 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); - } - } else { - 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); - } - } - } else { - if (points[i].area[0] > 0) { - if (opts.tooltip) { - if (opts.tooltip.index == i) { - 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); - } else { - 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); - } - } else { - 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); - } - } - } - context.stroke(); - context.restore(); - } - context.restore(); -} - -function drawFunnelDataPoints(series, opts, config, context) { - let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1; - let funnelOption = assign({}, { - type:'funnel', - activeWidth: 10, - activeOpacity: 0.3, - border: false, - borderWidth: 2, - borderColor: '#FFFFFF', - fillOpacity: 1, - minSize: 0, - labelAlign: 'right', - linearType: 'none', - customColor: [], - }, opts.extra.funnel); - let eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length; - let centerPosition = { - x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2, - y: opts.height - opts.area[2] - }; - let activeWidth = funnelOption.activeWidth * opts.pix; - let radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth); - let seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process); - context.save(); - context.translate(centerPosition.x, centerPosition.y); - funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config); - if(funnelOption.type == 'pyramid'){ - for (let i = 0; i < seriesNew.length; i++) { - if (i == seriesNew.length -1) { - if (opts.tooltip) { - if (opts.tooltip.index == i) { - context.beginPath(); - context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); - context.moveTo(-activeWidth, -eachSpacing); - context.lineTo(-seriesNew[i].radius - activeWidth, 0); - context.lineTo(seriesNew[i].radius + activeWidth, 0); - context.lineTo(activeWidth, -eachSpacing); - context.lineTo(-activeWidth, -eachSpacing); - context.closePath(); - context.fill(); - } - } - seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i]; - context.beginPath(); - context.setLineWidth(funnelOption.borderWidth * opts.pix); - context.setStrokeStyle(funnelOption.borderColor); - var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); - if (funnelOption.linearType == 'custom') { - var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); - grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); - grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - fillColor = grd - } - context.setFillStyle(fillColor); - context.moveTo(0, -eachSpacing); - context.lineTo(-seriesNew[i].radius, 0); - context.lineTo(seriesNew[i].radius, 0); - context.lineTo(0, -eachSpacing); - context.closePath(); - context.fill(); - if (funnelOption.border == true) { - context.stroke(); - } - } else { - if (opts.tooltip) { - if (opts.tooltip.index == i) { - context.beginPath(); - context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); - context.moveTo(0, 0); - context.lineTo(-seriesNew[i].radius - activeWidth, 0); - context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing); - context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing); - context.lineTo(seriesNew[i].radius + activeWidth, 0); - context.lineTo(0, 0); - context.closePath(); - context.fill(); - } - } - seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i]; - context.beginPath(); - context.setLineWidth(funnelOption.borderWidth * opts.pix); - context.setStrokeStyle(funnelOption.borderColor); - var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); - if (funnelOption.linearType == 'custom') { - var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); - grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); - grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - fillColor = grd - } - context.setFillStyle(fillColor); - context.moveTo(0, 0); - context.lineTo(-seriesNew[i].radius, 0); - context.lineTo(-seriesNew[i + 1].radius, -eachSpacing); - context.lineTo(seriesNew[i + 1].radius, -eachSpacing); - context.lineTo(seriesNew[i].radius, 0); - context.lineTo(0, 0); - context.closePath(); - context.fill(); - if (funnelOption.border == true) { - context.stroke(); - } - } - context.translate(0, -eachSpacing) - } - }else{ - context.translate(0, - (seriesNew.length - 1) * eachSpacing); - for (let i = 0; i < seriesNew.length; i++) { - if (i == seriesNew.length - 1) { - if (opts.tooltip) { - if (opts.tooltip.index == i) { - context.beginPath(); - context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); - context.moveTo(-activeWidth - funnelOption.minSize/2, 0); - context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing); - context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing); - context.lineTo(activeWidth + funnelOption.minSize/2, 0); - context.lineTo(-activeWidth - funnelOption.minSize/2, 0); - context.closePath(); - context.fill(); - } - } - seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[i].radius, centerPosition.y ]; - context.beginPath(); - context.setLineWidth(funnelOption.borderWidth * opts.pix); - context.setStrokeStyle(funnelOption.borderColor); - var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); - if (funnelOption.linearType == 'custom') { - var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); - grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); - grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - fillColor = grd - } - context.setFillStyle(fillColor); - context.moveTo(0, 0); - context.lineTo(-funnelOption.minSize/2, 0); - context.lineTo(-seriesNew[i].radius, -eachSpacing); - context.lineTo(seriesNew[i].radius, -eachSpacing); - context.lineTo(funnelOption.minSize/2, 0); - context.lineTo(0, 0); - context.closePath(); - context.fill(); - if (funnelOption.border == true) { - context.stroke(); - } - } else { - if (opts.tooltip) { - if (opts.tooltip.index == i) { - context.beginPath(); - context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity)); - context.moveTo(0, 0); - context.lineTo(-seriesNew[i + 1].radius - activeWidth, 0); - context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing); - context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing); - context.lineTo(seriesNew[i + 1].radius + activeWidth, 0); - context.lineTo(0, 0); - context.closePath(); - context.fill(); - } - } - seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i - 1)]; - context.beginPath(); - context.setLineWidth(funnelOption.borderWidth * opts.pix); - context.setStrokeStyle(funnelOption.borderColor); - var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity); - if (funnelOption.linearType == 'custom') { - var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing); - grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity)); - grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity)); - fillColor = grd - } - context.setFillStyle(fillColor); - context.moveTo(0, 0); - context.lineTo(-seriesNew[i + 1].radius, 0); - context.lineTo(-seriesNew[i].radius, -eachSpacing); - context.lineTo(seriesNew[i].radius, -eachSpacing); - context.lineTo(seriesNew[i + 1].radius, 0); - context.lineTo(0, 0); - context.closePath(); - context.fill(); - if (funnelOption.border == true) { - context.stroke(); - } - } - context.translate(0, eachSpacing) - } - } - - context.restore(); - if (opts.dataLabel !== false && process === 1) { - drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition); - } - if (process === 1) { - drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition); - } - return { - center: centerPosition, - radius: radius, - series: seriesNew - }; -} - -function drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) { - for (let i = 0; i < series.length; i++) { - let item = series[i]; - if(item.labelShow === false){ - continue; - } - let startX, endX, startY, fontSize; - let text = item.formatter ? item.formatter(item,i,series,opts) : util.toFixed(item._proportion_ * 100) + '%'; - text = item.labelText ? item.labelText : text; - if (labelAlign == 'right') { - if (i == series.length -1) { - startX = (item.funnelArea[2] + centerPosition.x) / 2; - } else { - startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2; - } - endX = startX + activeWidth * 2; - startY = item.funnelArea[1] + eachSpacing / 2; - fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix; - context.setLineWidth(1 * opts.pix); - context.setStrokeStyle(item.color); - context.setFillStyle(item.color); - context.beginPath(); - context.moveTo(startX, startY); - context.lineTo(endX, startY); - context.stroke(); - context.closePath(); - context.beginPath(); - context.moveTo(endX, startY); - context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI); - context.closePath(); - context.fill(); - context.beginPath(); - context.setFontSize(fontSize); - context.setFillStyle(item.textColor || opts.fontColor); - context.fillText(text, endX + 5, startY + fontSize / 2 - 2); - context.closePath(); - context.stroke(); - context.closePath(); - } - if (labelAlign == 'left') { - if (i == series.length -1) { - startX = (item.funnelArea[0] + centerPosition.x) / 2; - } else { - startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2; - } - endX = startX - activeWidth * 2; - startY = item.funnelArea[1] + eachSpacing / 2; - fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix; - context.setLineWidth(1 * opts.pix); - context.setStrokeStyle(item.color); - context.setFillStyle(item.color); - context.beginPath(); - context.moveTo(startX, startY); - context.lineTo(endX, startY); - context.stroke(); - context.closePath(); - context.beginPath(); - context.moveTo(endX, startY); - context.arc(endX, startY, 2, 0, 2 * Math.PI); - context.closePath(); - context.fill(); - context.beginPath(); - context.setFontSize(fontSize); - context.setFillStyle(item.textColor || opts.fontColor); - context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2); - context.closePath(); - context.stroke(); - context.closePath(); - } - } -} - -function drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) { - for (let i = 0; i < series.length; i++) { - let item = series[i]; - let startY, fontSize; - if (item.centerText) { - startY = item.funnelArea[1] + eachSpacing / 2; - fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix; - context.beginPath(); - context.setFontSize(fontSize); - context.setFillStyle(item.centerTextColor || "#FFFFFF"); - context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2); - context.closePath(); - context.stroke(); - context.closePath(); - } - } -} - - -function drawCanvas(opts, context) { - context.save(); - context.translate(0, 0.5); - context.restore(); - context.draw(); -} - -var Timing = { - easeIn: function easeIn(pos) { - return Math.pow(pos, 3); - }, - easeOut: function easeOut(pos) { - return Math.pow(pos - 1, 3) + 1; - }, - easeInOut: function easeInOut(pos) { - if ((pos /= 0.5) < 1) { - return 0.5 * Math.pow(pos, 3); - } else { - return 0.5 * (Math.pow(pos - 2, 3) + 2); - } - }, - linear: function linear(pos) { - return pos; - } -}; - -function Animation(opts) { - this.isStop = false; - opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration; - opts.timing = opts.timing || 'easeInOut'; - var delay = 17; - function createAnimationFrame() { - if (typeof setTimeout !== 'undefined') { - return function(step, delay) { - setTimeout(function() { - var timeStamp = +new Date(); - step(timeStamp); - }, delay); - }; - } else if (typeof requestAnimationFrame !== 'undefined') { - return requestAnimationFrame; - } else { - return function(step) { - step(null); - }; - } - }; - var animationFrame = createAnimationFrame(); - var startTimeStamp = null; - var _step = function step(timestamp) { - if (timestamp === null || this.isStop === true) { - opts.onProcess && opts.onProcess(1); - opts.onAnimationFinish && opts.onAnimationFinish(); - return; - } - if (startTimeStamp === null) { - startTimeStamp = timestamp; - } - if (timestamp - startTimeStamp < opts.duration) { - var process = (timestamp - startTimeStamp) / opts.duration; - var timingFunction = Timing[opts.timing]; - process = timingFunction(process); - opts.onProcess && opts.onProcess(process); - animationFrame(_step, delay); - } else { - opts.onProcess && opts.onProcess(1); - opts.onAnimationFinish && opts.onAnimationFinish(); - } - }; - _step = _step.bind(this); - animationFrame(_step, delay); -} - -Animation.prototype.stop = function() { - this.isStop = true; -}; - -function drawCharts(type, opts, config, context) { - var _this = this; - var series = opts.series; - //兼容ECharts饼图类数据格式 - if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') { - series = fixPieSeries(series, opts, config); - } - var categories = opts.categories; - if (type === 'mount') { - categories = []; - for (let j = 0; j < series.length; j++) { - if(series[j].show !== false) categories.push(series[j].name) - } - opts.categories = categories; - } - series = fillSeries(series, opts, config); - var duration = opts.animation ? opts.duration : 0; - _this.animationInstance && _this.animationInstance.stop(); - var seriesMA = null; - if (type == 'candle') { - let average = assign({}, opts.extra.candle.average); - if (average.show) { - seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data); - seriesMA = fillSeries(seriesMA, opts, config); - opts.seriesMA = seriesMA; - } else if (opts.seriesMA) { - seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config); - } else { - seriesMA = series; - } - } else { - seriesMA = series; - } - /* 过滤掉show=false的series */ - opts._series_ = series = filterSeries(series); - //重新计算图表区域 - opts.area = new Array(4); - //复位绘图区域 - for (let j = 0; j < 4; j++) { - opts.area[j] = opts.padding[j] * opts.pix; - } - //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域 - var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context), - legendHeight = _calLegendData.area.wholeHeight, - legendWidth = _calLegendData.area.wholeWidth; - - switch (opts.legend.position) { - case 'top': - opts.area[0] += legendHeight; - break; - case 'bottom': - opts.area[2] += legendHeight; - break; - case 'left': - opts.area[3] += legendWidth; - break; - case 'right': - opts.area[1] += legendWidth; - break; - } - - let _calYAxisData = {}, - yAxisWidth = 0; - if (opts.type === 'line' || opts.type === 'column'|| opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') { - _calYAxisData = calYAxisData(series, opts, config, context); - yAxisWidth = _calYAxisData.yAxisWidth; - //如果显示Y轴标题 - if (opts.yAxis.showTitle) { - let maxTitleHeight = 0; - for (let i = 0; i < opts.yAxis.data.length; i++) { - maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize) - } - opts.area[0] += maxTitleHeight; - } - let rightIndex = 0, - leftIndex = 0; - //计算主绘图区域左右位置 - for (let i = 0; i < yAxisWidth.length; i++) { - if (yAxisWidth[i].position == 'left') { - if (leftIndex > 0) { - opts.area[3] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix; - } else { - opts.area[3] += yAxisWidth[i].width; - } - leftIndex += 1; - } else if (yAxisWidth[i].position == 'right') { - if (rightIndex > 0) { - opts.area[1] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix; - } else { - opts.area[1] += yAxisWidth[i].width; - } - rightIndex += 1; - } - } - } else { - config.yAxisWidth = yAxisWidth; - } - opts.chartData.yAxisData = _calYAxisData; - - if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') { - opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config); - let _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context), - xAxisHeight = _calCategoriesData.xAxisHeight, - angle = _calCategoriesData.angle; - config.xAxisHeight = xAxisHeight; - config._xAxisTextAngle_ = angle; - opts.area[2] += xAxisHeight; - opts.chartData.categoriesData = _calCategoriesData; - } else { - if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') { - opts.chartData.xAxisData = calXAxisData(series, opts, config, context); - categories = opts.chartData.xAxisData.rangesFormat; - let _calCategoriesData = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context), - xAxisHeight = _calCategoriesData.xAxisHeight, - angle = _calCategoriesData.angle; - config.xAxisHeight = xAxisHeight; - config._xAxisTextAngle_ = angle; - opts.area[2] += xAxisHeight; - opts.chartData.categoriesData = _calCategoriesData; - } else { - opts.chartData.xAxisData = { - xAxisPoints: [] - }; - } - } - - //计算右对齐偏移距离 - if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) { - let offsetLeft = 0, - xAxisPoints = opts.chartData.xAxisData.xAxisPoints, - startX = opts.chartData.xAxisData.startX, - endX = opts.chartData.xAxisData.endX, - eachSpacing = opts.chartData.xAxisData.eachSpacing; - let totalWidth = eachSpacing * (xAxisPoints.length - 1); - let screenWidth = endX - startX; - offsetLeft = screenWidth - totalWidth; - _this.scrollOption.currentOffset = offsetLeft; - _this.scrollOption.startTouchX = offsetLeft; - _this.scrollOption.distance = 0; - _this.scrollOption.lastMoveTime = 0; - opts._scrollDistance_ = offsetLeft; - } - - if (type === 'pie' || type === 'ring' || type === 'rose') { - config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts); - } - - switch (type) { - case 'word': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawWordCloudDataPoints(series, opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'map': - context.clearRect(0, 0, opts.width, opts.height); - drawMapDataPoints(series, opts, config, context); - setTimeout(()=>{ - this.uevent.trigger('renderComplete'); - },50) - break; - case 'funnel': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process); - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'line': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process), - xAxisPoints = _drawLineDataPoints.xAxisPoints, - calPoints = _drawLineDataPoints.calPoints, - eachSpacing = _drawLineDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'scatter': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process), - xAxisPoints = _drawScatterDataPoints.xAxisPoints, - calPoints = _drawScatterDataPoints.calPoints, - eachSpacing = _drawScatterDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'bubble': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process), - xAxisPoints = _drawBubbleDataPoints.xAxisPoints, - calPoints = _drawBubbleDataPoints.calPoints, - eachSpacing = _drawBubbleDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'mix': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process), - xAxisPoints = _drawMixDataPoints.xAxisPoints, - calPoints = _drawMixDataPoints.calPoints, - eachSpacing = _drawMixDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'column': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process), - xAxisPoints = _drawColumnDataPoints.xAxisPoints, - calPoints = _drawColumnDataPoints.calPoints, - eachSpacing = _drawColumnDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'mount': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process), - xAxisPoints = _drawMountDataPoints.xAxisPoints, - calPoints = _drawMountDataPoints.calPoints, - eachSpacing = _drawMountDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'bar': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawXAxis(categories, opts, config, context); - var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process), - yAxisPoints = _drawBarDataPoints.yAxisPoints, - calPoints = _drawBarDataPoints.calPoints, - eachSpacing = _drawBarDataPoints.eachSpacing; - opts.chartData.yAxisPoints = yAxisPoints; - opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'area': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process), - xAxisPoints = _drawAreaDataPoints.xAxisPoints, - calPoints = _drawAreaDataPoints.calPoints, - eachSpacing = _drawAreaDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'ring': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process); - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'pie': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process); - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'rose': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process); - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'radar': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process); - drawLegend(opts.series, opts, config, context, opts.chartData); - drawToolTipBridge(opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'arcbar': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'gauge': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - case 'candle': - this.animationInstance = new Animation({ - timing: opts.timing, - duration: duration, - onProcess: function onProcess(process) { - context.clearRect(0, 0, opts.width, opts.height); - if (opts.rotate) { - contextRotate(context, opts); - } - drawYAxisGrid(categories, opts, config, context); - drawXAxis(categories, opts, config, context); - var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process), - xAxisPoints = _drawCandleDataPoints.xAxisPoints, - calPoints = _drawCandleDataPoints.calPoints, - eachSpacing = _drawCandleDataPoints.eachSpacing; - opts.chartData.xAxisPoints = xAxisPoints; - opts.chartData.calPoints = calPoints; - opts.chartData.eachSpacing = eachSpacing; - drawYAxis(series, opts, config, context); - if (opts.enableMarkLine !== false && process === 1) { - drawMarkLine(opts, config, context); - } - if (seriesMA) { - drawLegend(seriesMA, opts, config, context, opts.chartData); - } else { - drawLegend(opts.series, opts, config, context, opts.chartData); - } - drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints); - drawCanvas(opts, context); - }, - onAnimationFinish: function onAnimationFinish() { - _this.uevent.trigger('renderComplete'); - } - }); - break; - } -} - -function uChartsEvent() { - this.events = {}; -} - -uChartsEvent.prototype.addEventListener = function(type, listener) { - this.events[type] = this.events[type] || []; - this.events[type].push(listener); -}; - -uChartsEvent.prototype.delEventListener = function(type) { - this.events[type] = []; -}; - -uChartsEvent.prototype.trigger = function() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - var type = args[0]; - var params = args.slice(1); - if (!!this.events[type]) { - this.events[type].forEach(function(listener) { - try { - listener.apply(null, params); - } catch (e) { - //console.log('[uCharts] '+e); - } - }); - } -}; - -var uCharts = function uCharts(opts) { - opts.pix = opts.pixelRatio ? opts.pixelRatio : 1; - opts.fontSize = opts.fontSize ? opts.fontSize : 13; - opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor; - if (opts.background == "" || opts.background == "none") { - opts.background = "#FFFFFF" - } - opts.title = assign({}, opts.title); - opts.subtitle = assign({}, opts.subtitle); - opts.duration = opts.duration ? opts.duration : 1000; - opts.yAxis = assign({}, { - data: [], - showTitle: false, - disabled: false, - disableGrid: false, - gridSet: 'number', - splitNumber: 5, - gridType: 'solid', - dashLength: 4 * opts.pix, - gridColor: '#cccccc', - padding: 10, - fontColor: '#666666' - }, opts.yAxis); - opts.xAxis = assign({}, { - rotateLabel: false, - rotateAngle:45, - disabled: false, - disableGrid: false, - splitNumber: 5, - calibration:false, - fontColor: '#666666', - fontSize: 13, - lineHeight: 20, - marginTop: 0, - gridType: 'solid', - dashLength: 4, - scrollAlign: 'left', - boundaryGap: 'center', - axisLine: true, - axisLineColor: '#cccccc', - titleFontSize: 13, - titleOffsetY: 0, - titleOffsetX: 0, - titleFontColor: '#666666' - }, opts.xAxis); - opts.xAxis.scrollPosition = opts.xAxis.scrollAlign; - opts.legend = assign({}, { - show: true, - position: 'bottom', - float: 'center', - backgroundColor: 'rgba(0,0,0,0)', - borderColor: 'rgba(0,0,0,0)', - borderWidth: 0, - padding: 5, - margin: 5, - itemGap: 10, - fontSize: opts.fontSize, - lineHeight: opts.fontSize, - fontColor: opts.fontColor, - formatter: {}, - hiddenColor: '#CECECE' - }, opts.legend); - opts.extra = assign({ - tooltip:{ - legendShape: 'auto' - } - }, opts.extra); - opts.rotate = opts.rotate ? true : false; - opts.animation = opts.animation ? true : false; - opts.rotate = opts.rotate ? true : false; - opts.canvas2d = opts.canvas2d ? true : false; - - let config$$1 = assign({}, config); - config$$1.color = opts.color ? opts.color : config$$1.color; - if (opts.type == 'pie') { - config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; - } - if (opts.type == 'ring') { - config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; - } - if (opts.type == 'rose') { - config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix; - } - config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix; - - //屏幕旋转 - config$$1.rotate = opts.rotate; - if (opts.rotate) { - let tempWidth = opts.width; - let tempHeight = opts.height; - opts.width = tempHeight; - opts.height = tempWidth; - } - - //适配高分屏 - opts.padding = opts.padding ? opts.padding : config$$1.padding; - config$$1.yAxisWidth = config.yAxisWidth * opts.pix; - config$$1.fontSize = opts.fontSize * opts.pix; - config$$1.titleFontSize = config.titleFontSize * opts.pix; - config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix; - if(!opts.context){ - throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!'); - } - this.context = opts.context; - if (!this.context.setTextAlign) { - this.context.setStrokeStyle = function(e) { - return this.strokeStyle = e; - } - this.context.setLineWidth = function(e) { - return this.lineWidth = e; - } - this.context.setLineCap = function(e) { - return this.lineCap = e; - } - this.context.setFontSize = function(e) { - return this.font = e + "px sans-serif"; - } - this.context.setFillStyle = function(e) { - return this.fillStyle = e; - } - this.context.setTextAlign = function(e) { - return this.textAlign = e; - } - this.context.setTextBaseline = function(e) { - return this.textBaseline = e; - } - this.context.setShadow = function(offsetX,offsetY,blur,color) { - this.shadowColor = color; - this.shadowOffsetX = offsetX; - this.shadowOffsetY = offsetY; - this.shadowBlur = blur; - } - this.context.draw = function() {} - } - //兼容NVUEsetLineDash - if(!this.context.setLineDash){ - this.context.setLineDash = function(e) {} - } - opts.chartData = {}; - this.uevent = new uChartsEvent(); - this.scrollOption = { - currentOffset: 0, - startTouchX: 0, - distance: 0, - lastMoveTime: 0 - }; - this.opts = opts; - this.config = config$$1; - drawCharts.call(this, opts.type, opts, config$$1, this.context); -}; - -uCharts.prototype.updateData = function() { - let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - this.opts = assign({}, this.opts, data); - this.opts.updateData = true; - let scrollPosition = data.scrollPosition || 'current'; - switch (scrollPosition) { - case 'current': - this.opts._scrollDistance_ = this.scrollOption.currentOffset; - break; - case 'left': - this.opts._scrollDistance_ = 0; - this.scrollOption = { - currentOffset: 0, - startTouchX: 0, - distance: 0, - lastMoveTime: 0 - }; - break; - case 'right': - let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth; - this.config.yAxisWidth = yAxisWidth; - let offsetLeft = 0; - let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints, - startX = _getXAxisPoints0.startX, - endX = _getXAxisPoints0.endX, - eachSpacing = _getXAxisPoints0.eachSpacing; - let totalWidth = eachSpacing * (xAxisPoints.length - 1); - let screenWidth = endX - startX; - offsetLeft = screenWidth - totalWidth; - this.scrollOption = { - currentOffset: offsetLeft, - startTouchX: offsetLeft, - distance: 0, - lastMoveTime: 0 - }; - this.opts._scrollDistance_ = offsetLeft; - break; - } - drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); -}; - -uCharts.prototype.zoom = function() { - var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount; - if (this.opts.enableScroll !== true) { - console.log('[uCharts] 请启用滚动条后使用') - return; - } - //当前屏幕中间点 - let centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2); - this.opts.animation = false; - this.opts.xAxis.itemCount = val.itemCount; - //重新计算x轴偏移距离 - let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), - yAxisWidth = _calYAxisData.yAxisWidth; - this.config.yAxisWidth = yAxisWidth; - let offsetLeft = 0; - let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), - xAxisPoints = _getXAxisPoints0.xAxisPoints, - startX = _getXAxisPoints0.startX, - endX = _getXAxisPoints0.endX, - eachSpacing = _getXAxisPoints0.eachSpacing; - let centerLeft = eachSpacing * centerPoint; - let screenWidth = endX - startX; - let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1); - offsetLeft = screenWidth / 2 - centerLeft; - if (offsetLeft > 0) { - offsetLeft = 0; - } - if (offsetLeft < MaxLeft) { - offsetLeft = MaxLeft; - } - this.scrollOption = { - currentOffset: offsetLeft, - startTouchX: 0, - distance: 0, - lastMoveTime: 0 - }; - calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts); - this.opts._scrollDistance_ = offsetLeft; - drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); -}; - -uCharts.prototype.dobuleZoom = function(e) { - if (this.opts.enableScroll !== true) { - console.log('[uCharts] 请启用滚动条后使用') - return; - } - const tcs = e.changedTouches; - if (tcs.length < 2) { - return; - } - for (var i = 0; i < tcs.length; i++) { - tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX; - tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY; - } - const ntcs = [getTouches(tcs[0], this.opts, e),getTouches(tcs[1], this.opts, e)]; - const xlength = Math.abs(ntcs[0].x - ntcs[1].x); - // 记录初始的两指之间的数据 - if(!this.scrollOption.moveCount){ - let cts0 = {changedTouches:[{x:tcs[0].x,y:this.opts.area[0] / this.opts.pix + 2}]}; - let cts1 = {changedTouches:[{x:tcs[1].x,y:this.opts.area[0] / this.opts.pix + 2}]}; - if(this.opts.rotate){ - cts0 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[0].y}]}; - cts1 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[1].y}]}; - } - const moveCurrent1 = this.getCurrentDataIndex(cts0).index; - const moveCurrent2 = this.getCurrentDataIndex(cts1).index; - const moveCount = Math.abs(moveCurrent1 - moveCurrent2); - this.scrollOption.moveCount = moveCount; - this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2); - this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2); - return; - } - - let currentEachSpacing = xlength / this.scrollOption.moveCount; - let itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing; - itemCount = itemCount <= 2 ? 2 : itemCount; - itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount; - this.opts.animation = false; - this.opts.xAxis.itemCount = itemCount; - // 重新计算滚动条偏移距离 - let offsetLeft = 0; - let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), - xAxisPoints = _getXAxisPoints0.xAxisPoints, - startX = _getXAxisPoints0.startX, - endX = _getXAxisPoints0.endX, - eachSpacing = _getXAxisPoints0.eachSpacing; - let currentLeft = eachSpacing * this.scrollOption.moveCurrent1; - let screenWidth = endX - startX; - let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1); - offsetLeft = -currentLeft+Math.min(ntcs[0].x,ntcs[1].x)-this.opts.area[3]-eachSpacing; - if (offsetLeft > 0) { - offsetLeft = 0; - } - if (offsetLeft < MaxLeft) { - offsetLeft = MaxLeft; - } - this.scrollOption.currentOffset= offsetLeft; - this.scrollOption.startTouchX= 0; - this.scrollOption.distance=0; - calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts); - this.opts._scrollDistance_ = offsetLeft; - drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); -} - -uCharts.prototype.stopAnimation = function() { - this.animationInstance && this.animationInstance.stop(); -}; - -uCharts.prototype.addEventListener = function(type, listener) { - this.uevent.addEventListener(type, listener); -}; - -uCharts.prototype.delEventListener = function(type) { - this.uevent.delEventListener(type); -}; - -uCharts.prototype.getCurrentDataIndex = function(e) { - var touches = null; - if (e.changedTouches) { - touches = e.changedTouches[0]; - } else { - touches = e.mp.changedTouches[0]; - } - if (touches) { - let _touches$ = getTouches(touches, this.opts, e); - if (this.opts.type === 'pie' || this.opts.type === 'ring') { - return findPieChartCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.pieData, this.opts); - } else if (this.opts.type === 'rose') { - return findRoseChartCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.pieData, this.opts); - } else if (this.opts.type === 'radar') { - return findRadarChartCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.radarData, this.opts.categories.length); - } else if (this.opts.type === 'funnel') { - return findFunnelChartCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.funnelData); - } else if (this.opts.type === 'map') { - return findMapChartCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts); - } else if (this.opts.type === 'word') { - return findWordChartCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.wordCloudData); - } else if (this.opts.type === 'bar') { - return findBarChartCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)); - } else { - return findCurrentIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset)); - } - } - return -1; -}; - -uCharts.prototype.getLegendDataIndex = function(e) { - var touches = null; - if (e.changedTouches) { - touches = e.changedTouches[0]; - } else { - touches = e.mp.changedTouches[0]; - } - if (touches) { - let _touches$ = getTouches(touches, this.opts, e); - return findLegendIndex({ - x: _touches$.x, - y: _touches$.y - }, this.opts.chartData.legendData); - } - return -1; -}; - -uCharts.prototype.touchLegend = function(e) { - var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var touches = null; - if (e.changedTouches) { - touches = e.changedTouches[0]; - } else { - touches = e.mp.changedTouches[0]; - } - if (touches) { - var _touches$ = getTouches(touches, this.opts, e); - var index = this.getLegendDataIndex(e); - if (index >= 0) { - if (this.opts.type == 'candle') { - this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show; - } else { - this.opts.series[index].show = !this.opts.series[index].show; - } - this.opts.animation = option.animation ? true : false; - this.opts._scrollDistance_ = this.scrollOption.currentOffset; - drawCharts.call(this, this.opts.type, this.opts, this.config, this.context); - } - } - -}; - -uCharts.prototype.showToolTip = function(e) { - var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var touches = null; - if (e.changedTouches) { - touches = e.changedTouches[0]; - } else { - touches = e.mp.changedTouches[0]; - } - if (!touches) { - console.log("[uCharts] 未获取到event坐标信息"); - } - var _touches$ = getTouches(touches, this.opts, e); - var currentOffset = this.scrollOption.currentOffset; - var opts = assign({}, this.opts, { - _scrollDistance_: currentOffset, - animation: false - }); - if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') { - var current = this.getCurrentDataIndex(e); - var index = option.index == undefined ? current.index : option.index; - if (index > -1 || index.length>0) { - var seriesData = getSeriesDataItem(this.opts.series, index, current.group); - if (seriesData.length !== 0) { - var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option), - textList = _getToolTipData.textList, - offset = _getToolTipData.offset; - offset.y = _touches$.y; - opts.tooltip = { - textList: option.textList !== undefined ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index, - group: current.group - }; - } - } - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'mount') { - var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index; - if (index > -1) { - var opts = assign({}, this.opts, {animation: false}); - var seriesData = assign({}, opts._series_[index]); - var textList = [{ - text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data, - color: seriesData.color, - legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape - }]; - var offset = { - x: opts.chartData.calPoints[index].x, - y: _touches$.y - }; - opts.tooltip = { - textList: option.textList ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'bar') { - var current = this.getCurrentDataIndex(e); - var index = option.index == undefined ? current.index : option.index; - if (index > -1 || index.length>0) { - var seriesData = getSeriesDataItem(this.opts.series, index, current.group); - if (seriesData.length !== 0) { - var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option), - textList = _getToolTipData.textList, - offset = _getToolTipData.offset; - offset.x = _touches$.x; - opts.tooltip = { - textList: option.textList !== undefined ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - } - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'mix') { - var current = this.getCurrentDataIndex(e); - var index = option.index == undefined ? current.index : option.index; - if (index > -1) { - var currentOffset = this.scrollOption.currentOffset; - var opts = assign({}, this.opts, { - _scrollDistance_: currentOffset, - animation: false - }); - var seriesData = getSeriesDataItem(this.opts.series, index); - if (seriesData.length !== 0) { - var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option), - textList = _getMixToolTipData.textList, - offset = _getMixToolTipData.offset; - offset.y = _touches$.y; - opts.tooltip = { - textList: option.textList ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - } - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'candle') { - var current = this.getCurrentDataIndex(e); - var index = option.index == undefined ? current.index : option.index; - if (index > -1) { - var currentOffset = this.scrollOption.currentOffset; - var opts = assign({}, this.opts, { - _scrollDistance_: currentOffset, - animation: false - }); - var seriesData = getSeriesDataItem(this.opts.series, index); - if (seriesData.length !== 0) { - var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option), - textList = _getToolTipData.textList, - offset = _getToolTipData.offset; - offset.y = _touches$.y; - opts.tooltip = { - textList: option.textList ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - } - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') { - var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; - if (index > -1) { - var opts = assign({}, this.opts, {animation: false}); - var seriesData = assign({}, opts._series_[index]); - var textList = [{ - text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data, - color: seriesData.color, - legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape - }]; - var offset = { - x: _touches$.x, - y: _touches$.y - }; - opts.tooltip = { - textList: option.textList ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'map') { - var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; - if (index > -1) { - var opts = assign({}, this.opts, {animation: false}); - var seriesData = assign({}, this.opts.series[index]); - seriesData.name = seriesData.properties.name - var textList = [{ - text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name, - color: seriesData.color, - legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape - }]; - var offset = { - x: _touches$.x, - y: _touches$.y - }; - opts.tooltip = { - textList: option.textList ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - opts.updateData = false; - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'word') { - var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; - if (index > -1) { - var opts = assign({}, this.opts, {animation: false}); - var seriesData = assign({}, this.opts.series[index]); - var textList = [{ - text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name, - color: seriesData.color, - legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape - }]; - var offset = { - x: _touches$.x, - y: _touches$.y - }; - opts.tooltip = { - textList: option.textList ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - opts.updateData = false; - drawCharts.call(this, opts.type, opts, this.config, this.context); - } - if (this.opts.type === 'radar') { - var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index; - if (index > -1) { - var opts = assign({}, this.opts, {animation: false}); - var seriesData = getSeriesDataItem(this.opts.series, index); - if (seriesData.length !== 0) { - var textList = seriesData.map((item) => { - return { - text: option.formatter ? option.formatter(item, this.opts.categories[index], index, this.opts) : item.name + ': ' + item.data, - color: item.color, - legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : this.opts.extra.tooltip.legendShape - }; - }); - var offset = { - x: _touches$.x, - y: _touches$.y - }; - opts.tooltip = { - textList: option.textList ? option.textList : textList, - offset: option.offset !== undefined ? option.offset : offset, - option: option, - index: index - }; - } - } - drawCharts.call(this, opts.type, opts, this.config, this.context); - } -}; - -uCharts.prototype.translate = function(distance) { - this.scrollOption = { - currentOffset: distance, - startTouchX: distance, - distance: 0, - lastMoveTime: 0 - }; - let opts = assign({}, this.opts, { - _scrollDistance_: distance, - animation: false - }); - drawCharts.call(this, this.opts.type, opts, this.config, this.context); -}; - -uCharts.prototype.scrollStart = function(e) { - var touches = null; - if (e.changedTouches) { - touches = e.changedTouches[0]; - } else { - touches = e.mp.changedTouches[0]; - } - var _touches$ = getTouches(touches, this.opts, e); - if (touches && this.opts.enableScroll === true) { - this.scrollOption.startTouchX = _touches$.x; - } -}; - -uCharts.prototype.scroll = function(e) { - if (this.scrollOption.lastMoveTime === 0) { - this.scrollOption.lastMoveTime = Date.now(); - } - let Limit = this.opts.touchMoveLimit || 60; - let currMoveTime = Date.now(); - let duration = currMoveTime - this.scrollOption.lastMoveTime; - if (duration < Math.floor(1000 / Limit)) return; - if (this.scrollOption.startTouchX == 0) return; - this.scrollOption.lastMoveTime = currMoveTime; - var touches = null; - if (e.changedTouches) { - touches = e.changedTouches[0]; - } else { - touches = e.mp.changedTouches[0]; - } - if (touches && this.opts.enableScroll === true) { - var _touches$ = getTouches(touches, this.opts, e); - var _distance; - _distance = _touches$.x - this.scrollOption.startTouchX; - var currentOffset = this.scrollOption.currentOffset; - var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts); - this.scrollOption.distance = _distance = validDistance - currentOffset; - var opts = assign({}, this.opts, { - _scrollDistance_: currentOffset + _distance, - animation: false - }); - this.opts = opts; - drawCharts.call(this, opts.type, opts, this.config, this.context); - return currentOffset + _distance; - } -}; - -uCharts.prototype.scrollEnd = function(e) { - if (this.opts.enableScroll === true) { - var _scrollOption = this.scrollOption, - currentOffset = _scrollOption.currentOffset, - distance = _scrollOption.distance; - this.scrollOption.currentOffset = currentOffset + distance; - this.scrollOption.distance = 0; - this.scrollOption.moveCount = 0; - } -}; - -export default uCharts; \ No newline at end of file diff --git a/src/components/u-charts/u-charts.min.js b/src/components/u-charts/u-charts.min.js deleted file mode 100644 index 0902ecd..0000000 --- a/src/components/u-charts/u-charts.min.js +++ /dev/null @@ -1,18 +0,0 @@ -/* - * uCharts (R) - * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台 - * Copyright (C) 2021 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved. - * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) - * 复制使用请保留本段注释,感谢支持开源! - * - * uCharts (R) 官方网站 - * https://www.uCharts.cn - * - * 开源地址: - * https://gitee.com/uCharts/uCharts - * - * uni-app插件市场地址: - * http://ext.dcloud.net.cn/plugin?id=271 - * - */ -"use strict";var config={version:"v2.5.0-20230101",yAxisWidth:15,xAxisHeight:22,padding:[10,10,10,10],rotate:false,fontSize:13,fontColor:"#666666",dataPointShape:["circle","circle","circle","circle"],color:["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],linearColor:["#0EE2F8","#2BDCA8","#FA7D8D","#EB88E2","#2AE3A0","#0EE2F8","#EB88E2","#6773E3","#F78A85"],pieChartLinePadding:15,pieChartTextPadding:5,titleFontSize:20,subtitleFontSize:15,radarLabelTextMargin:13};var assign=function(e,...t){if(e==null){throw new TypeError("[uCharts] Cannot convert undefined or null to object")}if(!t||t.length<=0){return e}function i(e,a){for(let t in a){e[t]=e[t]&&e[t].toString()==="[object Object]"?i(e[t],a[t]):e[t]=a[t]}return e}t.forEach(t=>{e=i(e,t)});return e};var util={toFixed:function t(e,a){a=a||2;if(this.isFloat(e)){e=e.toFixed(a)}return e},isFloat:function t(e){return e%1!==0},approximatelyEqual:function t(e,a){return Math.abs(e-a)<1e-10},isSameSign:function t(e,a){return Math.abs(e)===e&&Math.abs(a)===a||Math.abs(e)!==e&&Math.abs(a)!==a},isSameXCoordinateArea:function t(e,a){return this.isSameSign(e.x,a.x)},isCollision:function t(e,a){e.end={};e.end.x=e.start.x+e.width;e.end.y=e.start.y-e.height;a.end={};a.end.x=a.start.x+a.width;a.end.y=a.start.y-a.height;var i=a.start.x>e.end.x||a.end.xe.start.y||a.start.y1){if(r.extra.mount.widthRatio>2)r.extra.mount.widthRatio=2;n+=(r.extra.mount.widthRatio-1)*a.eachSpacing}var l=e;if(e>=0){l=0;t.uevent.trigger("scrollLeft");t.scrollOption.position="left";r.xAxis.scrollPosition="left"}else if(Math.abs(e)>=n-o){l=o-n;t.uevent.trigger("scrollRight");t.scrollOption.position="right";r.xAxis.scrollPosition="right"}else{t.scrollOption.position=e;r.xAxis.scrollPosition=e}return l}function isInAngleRange(t,e,a){function i(t){while(t<0){t+=2*Math.PI}while(t>2*Math.PI){t-=2*Math.PI}return t}t=i(t);e=i(e);a=i(a);if(e>a){a+=2*Math.PI;if(t=e&&t<=a}function createCurveControlPoints(t,e){function a(t,e){if(t[e-1]&&t[e+1]){return t[e].y>=Math.max(t[e-1].y,t[e+1].y)||t[e].y<=Math.min(t[e-1].y,t[e+1].y)}else{return false}}function c(t,e){if(t[e-1]&&t[e+1]){return t[e].x>=Math.max(t[e-1].x,t[e+1].x)||t[e].x<=Math.min(t[e-1].x,t[e+1].x)}else{return false}}var i=.2;var r=.2;var o=null;var n=null;var l=null;var s=null;if(e<1){o=t[0].x+(t[1].x-t[0].x)*i;n=t[0].y+(t[1].y-t[0].y)*i}else{o=t[e].x+(t[e+1].x-t[e-1].x)*i;n=t[e].y+(t[e+1].y-t[e-1].y)*i}if(e>t.length-3){var h=t.length-1;l=t[h].x-(t[h].x-t[h-1].x)*r;s=t[h].y-(t[h].y-t[h-1].y)*r}else{l=t[e+1].x-(t[e+2].x-t[e].x)*r;s=t[e+1].y-(t[e+2].y-t[e].y)*r}if(a(t,e+1)){s=t[e+1].y}if(a(t,e)){n=t[e].y}if(c(t,e+1)){l=t[e+1].x}if(c(t,e)){o=t[e].x}if(n>=Math.max(t[e].y,t[e+1].y)||n<=Math.min(t[e].y,t[e+1].y)){n=t[e].y}if(s>=Math.max(t[e].y,t[e+1].y)||s<=Math.min(t[e].y,t[e+1].y)){s=t[e+1].y}if(o>=Math.max(t[e].x,t[e+1].x)||o<=Math.min(t[e].x,t[e+1].x)){o=t[e].x}if(l>=Math.max(t[e].x,t[e+1].x)||l<=Math.min(t[e].x,t[e+1].x)){l=t[e+1].x}return{ctrA:{x:o,y:n},ctrB:{x:l,y:s}}}function convertCoordinateOrigin(t,e,a){return{x:a.x+t,y:a.y-e}}function avoidCollision(t,e){if(e){while(util.isCollision(t,e)){if(t.start.x>0){t.start.y--}else if(t.start.x<0){t.start.y++}else{if(t.start.y>0){t.start.y++}else{t.start.y--}}}}return t}function fixPieSeries(e,a,t){let i=[];if(e.length>0&&e[0].data.constructor.toString().indexOf("Array")>-1){a._pieSeries_=e;let t=e[0].data;for(var r=0;r=1e4){a=1e3}else if(i>=1e3){a=100}else if(i>=100){a=10}else if(i>=10){a=5}else if(i>=1){a=1}else if(i>=.1){a=.1}else if(i>=.01){a=.01}else if(i>=.001){a=.001}else if(i>=1e-4){a=1e-4}else if(i>=1e-5){a=1e-5}else{a=1e-6}return{minRange:findRange(t,"lower",a),maxRange:findRange(e,"upper",a)}}function measureText(a,t,e){var i=0;a=String(a);e=false;if(e!==false&&e!==undefined&&e.setFontSize&&e.measureText){e.setFontSize(t);return e.measureText(a).width}else{var a=a.split("");for(let e=0;e-1;if(n){let t=filterSeries(e);for(var l=0;l5&&arguments[5]!==undefined?arguments[5]:{};var l=a.chartData.calPoints?a.chartData.calPoints:[];let s={};if(r.length>0){let e=[];for(let t=0;t0){e=o[i]}return{text:n.formatter?n.formatter(t,e,i,a):t.name+": "+t.data,color:t.color,legendShape:a.extra.tooltip.legendShape=="auto"?t.legendShape:a.extra.tooltip.legendShape}});var h={x:Math.round(s.x),y:Math.round(s.y)};return{textList:e,offset:h}}function getMixToolTipData(t,e,a,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var o=e.chartData.xAxisPoints[a]+e.chartData.eachSpacing/2;var n=t.map(function(t){return{text:r.formatter?r.formatter(t,i[a],a,e):t.name+": "+t.data,color:t.color,disableLegend:t.disableLegend?true:false,legendShape:e.extra.tooltip.legendShape=="auto"?t.legendShape:e.extra.tooltip.legendShape}});n=n.filter(function(t){if(t.disableLegend!==true){return t}});var l={x:Math.round(o),y:0};return{textList:n,offset:l}}function getCandleToolTipData(o,e,n,l,i,t){var r=arguments.length>6&&arguments[6]!==undefined?arguments[6]:{};var a=n.chartData.calPoints;let s=t.color.upFill;let h=t.color.downFill;let c=[s,s,h,s];var d=[];e.map(function(t){if(l==0){if(t.data[1]-t.data[0]<0){c[1]=h}else{c[1]=s}}else{if(t.data[0]o[l-1][1]){c[2]=s}if(t.data[3]4&&arguments[4]!==undefined?arguments[4]:0;var l={index:-1,group:[]};var i=e.chartData.eachSpacing/2;let r=[];if(n&&n.length>0){if(!e.categories){i=0}else{for(let t=1;tt){l.index=e}})}}}return l}function findBarChartCurrentIndex(a,t,e,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var o={index:-1,group:[]};var n=e.chartData.eachSpacing/2;let l=e.chartData.yAxisPoints;if(t&&t.length>0){if(isInExactChartArea(a,e,i)){l.forEach(function(t,e){if(a.y+r+n>t){o.index=e}})}}return o}function findLegendIndex(o,t,e){let n=-1;let l=0;if(isInExactLegendArea(o,t.area)){let i=t.points;let r=-1;for(let t=0,e=i.length;tt[0]-l&&o.xt[1]-l&&o.ye.start.x&&t.xe.start.y&&t.y=e.area[3]-10&&t.y>=e.area[0]&&t.y<=e.height-e.area[2]}function findRadarChartCurrentIndex(t,e,a){var r=2*Math.PI/a;var o=-1;if(isInExactPieChartArea(t,e.center,e.radius)){var n=function t(e){if(e<0){e+=2*Math.PI}if(e>2*Math.PI){e-=2*Math.PI}return e};var l=Math.atan2(e.center.y-t.y,t.x-e.center.x);l=-1*l;if(l<0){l+=2*Math.PI}var i=e.angleList.map(function(t){t=n(-1*t);return t});i.forEach(function(t,e){var a=n(t-r/2);var i=n(t+r/2);if(i=a&&l<=i||l+2*Math.PI>=a&&l+2*Math.PI<=i){o=e}})}return o}function findFunnelChartCurrentIndex(t,e){var a=-1;for(var i=0,r=e.series.length;io.funnelArea[0]&&t.xo.funnelArea[1]&&t.yo.area[0]&&t.xo.area[1]&&t.ys.width-s.area[1]-s.area[3]){i.push(n);o.push(r-s.legend.itemGap*s.pix);r=e;n=[t]}else{r+=e;n.push(t)}}if(n.length){i.push(n);o.push(r-s.legend.itemGap*s.pix);c.widthArr=o;let t=Math.max.apply(null,o);switch(s.legend.float){case"left":c.area.start.x=s.area[3];c.area.end.x=s.area[3]+t+2*d;break;case"right":c.area.start.x=s.width-s.area[1]-t-2*d;c.area.end.x=s.width-s.area[1];break;default:c.area.start.x=(s.width-t)/2-d;c.area.end.x=(s.width+t)/2+d}c.area.width=t+2*d;c.area.wholeWidth=t+2*d;c.area.height=i.length*u+2*d;c.area.wholeHeight=i.length*u+2*d+2*x;c.points=i}}else{let t=l.length;let e=s.height-s.area[0]-s.area[2]-2*x-2*d;let a=Math.min(Math.floor(e/u),t);c.area.height=a*u+d*2;c.area.wholeHeight=a*u+d*2;switch(s.legend.float){case"top":c.area.start.y=s.area[0]+x;c.area.end.y=s.area[0]+x+c.area.height;break;case"bottom":c.area.start.y=s.height-s.area[2]-x-c.area.height;c.area.end.y=s.height-s.area[2]-x;break;default:c.area.start.y=(s.height-c.area.height)/2;c.area.end.y=(s.height+c.area.height)/2}let i=t%a===0?t/a:Math.floor(t/a+1);let r=[];for(let e=0;ei){i=t}}c.widthArr.push(i);c.heightArr.push(a.length*u+d*2)}let e=0;for(let t=0;t4&&arguments[4]!==undefined?arguments[4]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[0])}}else{r.push(t.value)}}else{r.push(t)}});var o=0;var n=0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(a>-1){if(typeof e.xAxis.data[a].min==="number"){o=Math.min(e.xAxis.data[a].min,o)}if(typeof e.xAxis.data[a].max==="number"){n=Math.max(e.xAxis.data[a].max,n)}}else{if(typeof e.xAxis.min==="number"){o=Math.min(e.xAxis.min,o)}if(typeof e.xAxis.max==="number"){n=Math.max(e.xAxis.max,n)}}if(o===n){var d=n||10;n+=d}var l=o;var x=n;var f=[];var p=(x-l)/e.xAxis.splitNumber;for(var s=0;s<=e.xAxis.splitNumber;s++){f.push(l+p*s)}return f}function calXAxisData(t,e,a,i){var r=assign({},{type:""},e.extra.bar);var o={angle:0,xAxisHeight:e.xAxis.lineHeight*e.pix+e.xAxis.marginTop*e.pix};o.ranges=getXAxisTextList(t,e,a,r.type);o.rangesFormat=o.ranges.map(function(t){t=util.toFixed(t,2);return t});var n=o.ranges.map(function(t){t=util.toFixed(t,2);return t});o=Object.assign(o,getXAxisPoints(n,e,a));var l=o.eachSpacing;var s=n.map(function(t){return measureText(t,e.xAxis.fontSize*e.pix,i)});if(e.xAxis.disabled===true){o.xAxisHeight=0}return o}function getRadarDataPoints(r,o,n,a,t){var l=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var e=t.extra.radar||{};e.max=e.max||0;var s=Math.max(e.max,Math.max.apply(null,dataCombine(a)));var h=[];for(let e=0;e2&&arguments[2]!==undefined?arguments[2]:1;var o=0;var n=0;for(let e=0;e4&&arguments[4]!==undefined?arguments[4]:1;for(let t=0;t4&&arguments[4]!==undefined?arguments[4]:1;var l=0;var s=0;var h=[];for(let e=0;e2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a=2){t._proportion_=t._proportion_%2}}return i}function getGaugeArcbarDataPoints(i,r){var o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a=2){t._proportion_=t._proportion_%2}}return i}function getGaugeAxisPoints(e,a,t){let i;if(t=2){e[t]._endAngle_=e[t]._endAngle_%2}r=e[t]._endAngle_}return e}function getGaugeDataPoints(i,r,o){let n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:1;for(let a=0;a=o.oldData){e._proportion_=(e._endAngle_-e._oldAngle_)*n+o.oldAngle}else{e._proportion_=e._oldAngle_-(e._oldAngle_-e._endAngle_)*n}if(e._proportion_>=2){e._proportion_=e._proportion_%2}}return i}function getPieTextMaxLength(i,r,o,n){i=getPieDataPoints(i);let l=0;for(let a=0;a0){t.width=Math.min(t.width,+n.extra.mix.column.width*n.pix)}if(n.extra.column&&n.extra.column.width&&+n.extra.column.width>0){t.width=Math.min(t.width,+n.extra.column.width*n.pix)}if(t.width<=0){t.width=1}t.x+=(o+.5-r/2)*(t.width+e);return t})}function fixBarData(t,i,r,o,e,n){return t.map(function(t){if(t===null){return null}var e=0;var a=0;e=n.extra.bar.seriesGap*n.pix||0;a=n.extra.bar.categoryGap*n.pix||0;e=Math.min(e,i/r);a=Math.min(a,i/r);t.width=Math.ceil((i-2*a-e*(r-1))/r);if(n.extra.bar&&n.extra.bar.width&&+n.extra.bar.width>0){t.width=Math.min(t.width,+n.extra.bar.width*n.pix)}if(t.width<=0){t.width=1}t.y+=(o+.5-r/2)*(t.width+e);return t})}function fixColumeMeterData(t,e,a,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t){if(t===null){return null}t.width=e-2*l;if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(i>0){t.width-=n}return t})}function fixColumeStackData(t,a,e,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(t.width<=0){t.width=1}return t})}function fixBarStackData(t,a,e,i,r,o,n){var l=o.extra.bar.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0){t.width=Math.min(t.width,+o.extra.bar.width*o.pix)}if(t.width<=0){t.width=1}return t})}function getXAxisPoints(t,e,h){var a=e.width-e.area[1]-e.area[3];var i=e.enableScroll?Math.min(e.xAxis.itemCount,t.length):t.length;if((e.type=="line"||e.type=="area"||e.type=="scatter"||e.type=="bubble"||e.type=="bar")&&i>1&&e.xAxis.boundaryGap=="justify"){i-=1}var r=0;if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;r=e.extra.mount.widthRatio-1;i+=r}var o=a/i;var n=[];var l=e.area[3];var s=e.width-e.area[1];t.forEach(function(t,e){n.push(l+r/2*o+e*o)});if(e.xAxis.boundaryGap!=="justify"){if(e.enableScroll===true){n.push(l+r*o+t.length*o)}else{n.push(s)}}return{xAxisPoints:n,startX:l,endX:s,eachSpacing:o}}function getCandleDataPoints(t,l,s,h,c,d,a){var x=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var e=[];var f=d.height-d.area[0]-d.area[2];t.forEach(function(t,o){if(t===null){e.push(null)}else{var n=[];t.forEach(function(t,e){var a={};a.x=h[o]+Math.round(c/2);var i=t.value||t;var r=f*(i-l)/(s-l);r*=x;a.y=d.height-Math.round(r)-d.area[2];n.push(a)});e.push(n)}});return e}function getDataPoints(t,a,n,l,s,h,e){var c=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var d="center";if(h.type=="line"||h.type=="area"||h.type=="scatter"||h.type=="bubble"){d=h.xAxis.boundaryGap}var x=[];var f=h.height-h.area[0]-h.area[2];var p=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+p*(i[0]-e)/(a-e);if(h.type=="bubble"){r.r=i[2];r.t=i[3]}}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}});return x}function getLineDataPoints(t,a,n,l,s,h,e,p,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=h.xAxis.boundaryGap;var x=[];var f=h.height-h.area[0]-h.area[2];var u=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;if(p.animation=="vertical"){r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+u*(i[0]-e)/(a-e)}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}else{r.x=l[0]+s*t*c;var o=i;if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);r.y=h.height-e-h.area[2];x.push(r)}}});return x}function getColumnDataPoints(t,a,n,l,s,h,e,i,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var f=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){d.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+f*(i[0]-e)/(a-e)}else{o=i.value}}r.x+=s/2;var e=x*(o*c-a)/(n-a);r.y=h.height-e-h.area[2];d.push(r)}});return d}function getMountDataPoints(t,o,n,l,s,h,e,a){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var i=h.width-h.area[1]-h.area[3];var f=s*e.widthRatio;t.forEach(function(t,e){if(t===null){d.push(null)}else{var a={};a.color=t.color;a.x=l[e];a.x+=s/2;var i=t.data;var r=x*(i*c-o)/(n-o);a.y=h.height-r-h.area[2];a.value=i;a.width=f;d.push(a)}});return d}function getBarDataPoints(t,o,n,l,e,s,a){var h=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var c=[];var i=s.height-s.area[0]-s.area[2];var d=s.width-s.area[1]-s.area[3];t.forEach(function(t,e){if(t===null){c.push(null)}else{var a={};a.color=t.color;a.y=l[e];var i=t;if(typeof t==="object"&&t!==null){i=t.value}var r=d*(i-o)/(n-o);r*=h;a.height=r;a.value=i;a.x=r+s.area[3];c.push(a)}});return c}function getStackDataPoints(t,s,h,c,g,d,e,x,y){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.height-d.area[0]-d.area[2];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.x=c[e]+Math.round(g/2);if(x>0){var i=0;for(let t=0;t<=x;t++){i+=y[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.y=d.height-Math.round(o)-d.area[2];a.y0=d.height-Math.round(l)-d.area[2];p.push(a)}});return p}function getBarStackDataPoints(t,s,h,c,e,d,a,x,g){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.width-d.area[1]-d.area[3];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.y=c[e];if(x>0){var i=0;for(let t=0;t<=x;t++){i+=g[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.height=o-l;a.x=d.area[3]+o;a.x0=d.area[3]+l;p.push(a)}});return p}function getYAxisTextList(t,e,h,c,a){var d=arguments.length>5&&arguments[5]!==undefined?arguments[5]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[1])}}else{r.push(t.value)}}else{r.push(t)}});var o=a.min||0;var n=a.max||0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(o===n){if(n==0){n=10}else{o=0}}var l=getDataRange(o,n);var x=a.min===undefined||a.min===null?l.minRange:a.min;var f=a.max===undefined||a.max===null?l.maxRange:a.max;var p=(f-x)/e.yAxis.splitNumber;var u=[];for(var s=0;s<=e.yAxis.splitNumber;s++){u.push(x+p*s)}return u.reverse()}function calYAxisData(a,o,e,n){var l=assign({},{type:""},o.extra.column);var t=o.yAxis.data.length;var s=new Array(t);if(t>0){for(let e=0;e{return t+(i.unit||"")}}i.categories=i.categories||o.categories;h[r]=i.categories}else{if(!i.formatter){i.formatter=(t,e,a)=>{return util.toFixed(t,i.tofix||0)+(i.unit||"")}}h[r]=getYAxisTextList(s[r],o,e,l.type,i,r)}let a=i.fontSize*o.pix||e.fontSize;d[r]={position:i.position?i.position:"left",width:0};c[r]=h[r].map(function(t,e){t=i.formatter(t,e,o);d[r].width=Math.max(d[r].width,measureText(t,a,n)+5);return t});let t=i.calibration?4*o.pix:0;d[r].width+=t+3*o.pix;if(i.disabled===true){d[r].width=0}}}else{var h=new Array(1);var c=new Array(1);var d=new Array(1);if(o.type==="bar"){h[0]=o.categories;if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t+(a.yAxis.unit||"")}}}else{if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t.toFixed(a.yAxis.tofix)+(a.yAxis.unit||"")}}h[0]=getYAxisTextList(a,o,e,l.type,{})}d[0]={position:"left",width:0};var i=o.yAxis.fontSize*o.pix||e.fontSize;c[0]=h[0].map(function(t,e){t=o.yAxis.formatter(t,e,o);d[0].width=Math.max(d[0].width,measureText(t,i,n)+5);return t});d[0].width+=3*o.pix;if(o.yAxis.disabled===true){d[0]={position:"left",width:0};o.yAxis.data[0]={disabled:true}}else{o.yAxis.data[0]={disabled:false,position:"left",max:o.yAxis.max,min:o.yAxis.min,formatter:o.yAxis.formatter};if(o.type==="bar"){o.yAxis.data[0].categories=o.categories;o.yAxis.data[0].type="categories"}}}return{rangesFormat:c,ranges:h,yAxisWidth:d}}function calTooltipYAxisData(r,t,o,e,a){let n=[].concat(o.chartData.yAxisData.ranges);let l=o.height-o.area[0]-o.area[2];let s=o.area[0];let h=[];for(let i=0;i0&&r.tooltip.group.includes(n)==false){return}var l=typeof r.tooltip.index==="number"?r.tooltip.index:r.tooltip.index[r.tooltip.group.indexOf(n)];i.beginPath();if(o.activeType=="hollow"){i.setStrokeStyle(e);i.setFillStyle(r.background);i.setLineWidth(2*r.pix)}else{i.setStrokeStyle("#ffffff");i.setFillStyle(e);i.setLineWidth(1*r.pix)}if(a==="diamond"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y);i.lineTo(t.x,t.y+4.5);i.lineTo(t.x+4.5,t.y);i.lineTo(t.x,t.y-4.5)}})}else if(a==="circle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x+2.5*r.pix,t.y);i.arc(t.x,t.y,3*r.pix,0,2*Math.PI,false)}})}else if(a==="square"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x-3.5,t.y-3.5);i.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(a==="triangle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y+4.5);i.lineTo(t.x+4.5,t.y+4.5);i.lineTo(t.x,t.y-4.5)}})}else if(a==="none"){return}i.closePath();i.fill();i.stroke()}function drawRingTitle(t,e,a,i){var r=t.title.fontSize||e.titleFontSize;var o=t.subtitle.fontSize||e.subtitleFontSize;var n=t.title.name||"";var l=t.subtitle.name||"";var c=t.title.color||t.fontColor;var d=t.subtitle.color||t.fontColor;var x=n?r:0;var f=l?o:0;var s=5;if(l){var p=measureText(l,o*t.pix,a);var u=i.x-p/2+(t.subtitle.offsetX||0)*t.pix;var h=i.y+o*t.pix/2+(t.subtitle.offsetY||0)*t.pix;if(n){h+=(x*t.pix+s)/2}a.beginPath();a.setFontSize(o*t.pix);a.setFillStyle(d);a.fillText(l,u,h);a.closePath();a.stroke()}if(n){var g=measureText(n,r*t.pix,a);var y=i.x-g/2+(t.title.offsetX||0);var v=i.y+r*t.pix/2+(t.title.offsetY||0)*t.pix;if(l){v-=(f*t.pix+s)/2}a.beginPath();a.setFontSize(r*t.pix);a.setFillStyle(c);a.fillText(n,y,v);a.closePath();a.stroke()}}function drawPointText(t,o,n,l,s){var h=o.data;var c=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){if(h[e].constructor.toString().indexOf("Array")>-1){i=h[e][1]}else{i=h[e].value}}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("center");l.fillText(String(r),t.x,t.y-4+c*s.pix);l.closePath();l.stroke();l.setTextAlign("left")}})}function drawColumePointText(t,n,l,s,h){var c=n.data;var d=n.textOffset?n.textOffset:0;var x=h.extra.column.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n.textSize?n.textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n.textColor||h.fontColor);var i=c[e];if(typeof c[e]==="object"&&c[e]!==null){if(c[e].constructor.toString().indexOf("Array")>-1){i=c[e][1]}else{i=c[e].value}}var r=n.formatter?n.formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>n.zeroPoints){o=t.y+d*h.pix+a}if(x=="insideTop"){o=t.y+a+d*h.pix;if(t.y>n.zeroPoints){o=t.y-d*h.pix-4*h.pix}}if(x=="center"){o=t.y+d*h.pix+(h.height-h.area[2]-t.y+a)/2;if(n.zeroPointsn.zeroPoints){o=t.y-d*h.pix-(t.y-n.zeroPoints-a)/2}if(h.extra.column.type=="stack"){o=t.y+d*h.pix+(t.y0-t.y+a)/2}}if(x=="bottom"){o=h.height-h.area[2]+d*h.pix-4*h.pix;if(n.zeroPointsn.zeroPoints){o=n.zeroPoints-d*h.pix+a+2*h.pix}if(h.extra.column.type=="stack"){o=t.y0+d*h.pix-4*h.pix}}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawMountPointText(t,n,l,s,h,c){var e=n.data;var d=n.textOffset?n.textOffset:0;var a=h.extra.mount.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n[e].textSize?n[e].textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n[e].textColor||h.fontColor);var i=t.value;var r=n[e].formatter?n[e].formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>c){o=t.y+d*h.pix+a}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawBarPointText(t,o,n,l,s){var h=o.data;var e=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){i=h[e].value}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("left");l.fillText(String(r),t.x+4*s.pix,t.y+a/2-3);l.closePath();l.stroke()}})}function drawGaugeLabel(e,a,i,r,o,n){a-=e.width/2+e.labelOffset*r.pix;a=a<10?10:a;let t;if(e.endAngle=2){l=l%2}s+=x}}function drawRadarLabel(t,s,h,c,d,x){var f=c.extra.radar||{};t.forEach(function(t,e){if(f.labelPointShow===true&&c.categories[e]!==""){var a={x:s*Math.cos(t),y:s*Math.sin(t)};var i=convertCoordinateOrigin(a.x,a.y,h);x.setFillStyle(f.labelPointColor);x.beginPath();x.arc(i.x,i.y,f.labelPointRadius*c.pix,0,2*Math.PI,false);x.closePath();x.fill()}if(f.labelShow===true){var r={x:(s+d.radarLabelTextMargin*c.pix)*Math.cos(t),y:(s+d.radarLabelTextMargin*c.pix)*Math.sin(t)};var o=convertCoordinateOrigin(r.x,r.y,h);var n=o.x;var l=o.y;if(util.approximatelyEqual(r.x,0)){n-=measureText(c.categories[e]||"",d.fontSize,x)/2}else if(r.x<0){n-=measureText(c.categories[e]||"",d.fontSize,x)}x.beginPath();x.setFontSize(d.fontSize);x.setFillStyle(f.labelColor||c.fontColor);x.fillText(c.categories[e]||"",n,l+d.fontSize/2);x.closePath();x.stroke()}})}function drawPieText(n,d,x,f,t,l){var p=x.pieChartLinePadding;var u=[];var g=null;var y=n.map(function(t,e){var a=t.formatter?t.formatter(t,e,n,d):util.toFixed(t._proportion_.toFixed(4)*100)+"%";a=t.labelText?t.labelText:a;var i=2*Math.PI-(t._start_+2*Math.PI*t._proportion_/2);if(t._rose_proportion_){i=2*Math.PI-(t._start_+2*Math.PI*t._rose_proportion_/2)}var r=t.color;var o=t._radius_;return{arc:i,text:a,color:r,radius:o,textColor:t.textColor,textSize:t.textSize,labelShow:t.labelShow}});for(let c=0;c=0?e+x.pieChartTextPadding:e-x.pieChartTextPadding;let n=a;let l=measureText(t.text,t.textSize*d.pix||x.fontSize,f);let s=n;if(g&&util.isSameXCoordinateArea(g.start,{x:o})){if(o>0){s=Math.min(n,g.start.y)}else if(e<0){s=Math.max(n,g.start.y)}else{if(n>0){s=Math.max(n,g.start.y)}else{s=Math.min(n,g.start.y)}}}if(o<0){o-=l}let h={lineStart:{x:i,y:r},lineEnd:{x:e,y:a},start:{x:o,y:s},width:l,height:x.fontSize,text:t.text,color:t.color,textColor:t.textColor,textSize:t.textSize};g=avoidCollision(h,g);u.push(g)}for(let n=0;nr?r:o.activeWidth;var n=e.area[0];var l=e.height-e.area[2];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(t-o.activeWidth/2,n,o.activeWidth,l-n);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawBarToolTipSplitArea(t,e,a,i,r){var o=assign({},{activeBgColor:"#000000",activeBgOpacity:.08},e.extra.bar);var n=e.area[3];var l=e.width-e.area[1];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(n,t-r/2,l-n,r);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawToolTip(e,r,o,a,n,i,f){var l=assign({},{showBox:true,showArrow:true,showCategory:false,bgColor:"#000000",bgOpacity:.7,borderColor:"#000000",borderWidth:0,borderRadius:0,borderOpacity:.7,boxPadding:3,fontColor:"#FFFFFF",fontSize:13,lineHeight:20,legendShow:true,legendShape:"auto",splitLine:true},o.extra.tooltip);if(l.showCategory==true&&o.categories){e.unshift({text:o.categories[o.tooltip.index],color:null})}var s=l.fontSize*o.pix;var p=l.lineHeight*o.pix;var h=l.boxPadding*o.pix;var c=s;var u=5*o.pix;if(l.legendShow==false){c=0;u=0}var d=l.showArrow?8*o.pix:0;var g=false;if(o.type=="line"||o.type=="mount"||o.type=="area"||o.type=="candle"||o.type=="mix"){if(l.splitLine==true){drawToolTipSplitLine(o.tooltip.offset.x,o,a,n)}}r=assign({x:0,y:0},r);r.y-=8*o.pix;var y=e.map(function(t){return measureText(t.text,s,n)});var x=c+u+4*h+Math.max.apply(null,y);var v=2*h+e.length*p;if(l.showBox==false){return}if(r.x-Math.abs(o._scrollDistance_||0)+d+x>o.width){g=true}if(v+r.y>o.height){r.y=o.height-v}n.beginPath();n.setFillStyle(hexToRgb(l.bgColor,l.bgOpacity));n.setLineWidth(l.borderWidth*o.pix);n.setStrokeStyle(hexToRgb(l.borderColor,l.borderOpacity));var t=l.borderRadius;if(g){if(x+d>o.width){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(x>r.x){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x-d,r.y+10*o.pix+5*o.pix)}n.arc(r.x-d-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x-d-Math.round(x)+t,r.y+v-t,t,Math.PI/2,Math.PI,false);n.arc(r.x-d-Math.round(x)+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x-d-t,r.y+t,t,-Math.PI/2,0,false);if(l.showArrow){n.lineTo(r.x-d,r.y+10*o.pix-5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}else{if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x+d,r.y+10*o.pix-5*o.pix)}n.arc(r.x+d+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x+d+Math.round(x)-t,r.y+t,t,-Math.PI/2,0,false);n.arc(r.x+d+Math.round(x)-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x+d+t,r.y+v-t,t,Math.PI/2,Math.PI,false);if(l.showArrow){n.lineTo(r.x+d,r.y+10*o.pix+5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}n.closePath();n.fill();if(l.borderWidth>0){n.stroke()}if(l.legendShow){e.forEach(function(t,e){if(t.color!==null){n.beginPath();n.setFillStyle(t.color);var a=r.x+d+2*h;var i=r.y+(p-s)/2+p*e+h+1;if(g){a=r.x-x-d+2*h}switch(t.legendShape){case"line":n.moveTo(a,i+.5*c-2*o.pix);n.fillRect(a,i+.5*c-2*o.pix,c,4*o.pix);break;case"triangle":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"diamond":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"circle":n.moveTo(a+7.5*o.pix,i+.5*c);n.arc(a+7.5*o.pix,i+.5*c,5*o.pix,0,2*Math.PI);break;case"rect":n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix);break;case"square":n.moveTo(a+2*o.pix,i+.5*c-5*o.pix);n.fillRect(a+2*o.pix,i+.5*c-5*o.pix,10*o.pix,10*o.pix);break;default:n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix)}n.closePath();n.fill()}})}e.forEach(function(t,e){var a=r.x+d+2*h+c+u;if(g){a=r.x-x-d+2*h+c+u}var i=r.y+p*e+(p-s)/2-1+h+s;n.beginPath();n.setFontSize(s);n.setTextBaseline("normal");n.setFillStyle(l.fontColor);n.fillText(t.text,a,i);n.closePath();n.stroke()})}function drawColumnDataPoints(T,b,S,w){let A=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=b.chartData.xAxisData,P=t.xAxisPoints,C=t.eachSpacing;let D=assign({},{type:"group",width:C/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0,labelPosition:"outside"},b.extra.column);let M=[];w.save();let L=-2;let F=P.length+2;if(b._scrollDistance_&&b._scrollDistance_!==0&&b.enableScroll===true){w.translate(b._scrollDistance_,0);L=Math.floor(-b._scrollDistance_/C)-2;F=L+b.xAxis.itemCount+4}if(b.tooltip&&b.tooltip.textList&&b.tooltip.textList.length&&A===1){drawToolTipSplitArea(b.tooltip.offset.x,b,S,w,C)}D.customColor=fillCustomColor(D.linearType,D.customColor,T,S);T.forEach(function(a,i){let e,t,o;e=[].concat(b.chartData.yAxisData.ranges[a.index]);t=e.pop();o=e.shift();let x=b.height-b.area[0]-b.area[2];let f=x*(0-t)/(o-t);let n=b.height-Math.round(f)-b.area[2];a.zeroPoints=n;var p=a.data;switch(D.type){case"group":var r=getColumnDataPoints(p,t,o,P,C,b,S,n,A);var u=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(u);r=fixColumeData(r,C,T.length,i,S,b);for(let t=0;tL&&tn?n:o.y;const d=o.width;const s=Math.abs(n-o.y);if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}if(o.y>n){D.barBorderRadius=[0,0,d/2,d/2]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.setLineWidth(1);w.setStrokeStyle(y)}w.setFillStyle(g);w.closePath();w.fill()}};break;case"stack":var r=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(r);r=fixColumeStackData(r,C,T.length,i,S,b,T);for(let e=0;eL&&e0){s-=m}w.setFillStyle(g);w.moveTo(l,t.y);w.fillRect(l,t.y,t.width,s);w.closePath();w.fill()}};break;case"meter":var r=getDataPoints(p,t,o,P,C,b,S,A);M.push(r);r=fixColumeMeterData(r,C,T.length,i,S,b,D.meterBorder);for(let t=0;tL&&t0){w.setStrokeStyle(a.color);w.setLineWidth(D.meterBorder*b.pix)}if(i==0){w.setFillStyle(D.meterFillColor)}else{w.setFillStyle(o.color||a.color)}var l=o.x-o.width/2;var s=b.height-o.y-b.area[2];if(D.barBorderRadius&&D.barBorderRadius.length===4||D.barBorderCircle===true){const h=l;const c=o.y;const d=o.width;const s=n-o.y;if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI);w.fill()}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.fill()}if(i==0&&D.meterBorder>0){w.closePath();w.stroke()}}}break}});if(b.dataLabel!==false&&A===1){T.forEach(function(t,e){let a,i,r;a=[].concat(b.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;switch(D.type){case"group":var n=getColumnDataPoints(o,i,r,P,C,b,S,A);n=fixColumeData(n,C,T.length,e,S,b);drawColumePointText(n,t,S,w,b);break;case"stack":var n=getStackDataPoints(o,i,r,P,C,b,S,e,T,A);drawColumePointText(n,t,S,w,b);break;case"meter":var n=getDataPoints(o,i,r,P,C,b,S,A);drawColumePointText(n,t,S,w,b);break}})}w.restore();return{xAxisPoints:P,calPoints:M,eachSpacing:C}}function drawMountDataPoints(i,r,o,n){let f=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=r.chartData.xAxisData,p=t.xAxisPoints,l=t.eachSpacing;let s=assign({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:false,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},r.extra.mount);s.widthRatio=s.widthRatio<=0?0:s.widthRatio;s.widthRatio=s.widthRatio>=2?2:s.widthRatio;let e=[];n.save();let u=-2;let g=p.length+2;if(r._scrollDistance_&&r._scrollDistance_!==0&&r.enableScroll===true){n.translate(r._scrollDistance_,0);u=Math.floor(-r._scrollDistance_/l)-2;g=u+r.xAxis.itemCount+4}s.customColor=fillCustomColor(s.linearType,s.customColor,i,o);let y,v,m;y=[].concat(r.chartData.yAxisData.ranges[0]);v=y.pop();m=y.shift();let T=r.height-r.area[0]-r.area[2];let b=T*(0-v)/(m-v);let h=r.height-Math.round(b)-r.area[2];var c=getMountDataPoints(i,v,m,p,l,r,s,h,f);switch(s.type){case"bar":for(let t=0;tu&&th?h:o.y;const C=o.width;const S=Math.abs(h-o.y);if(s.barBorderCircle){s.barBorderRadius=[C/2,C/2,0,0]}if(o.y>h){s.barBorderRadius=[0,0,C/2,C/2]}let[t,e,a,i]=s.barBorderRadius;let r=Math.min(C/2,S/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;n.arc(A+t,P+t,t,-Math.PI,-Math.PI/2);n.arc(A+C-e,P+e,e,-Math.PI/2,0);n.arc(A+C-a,P+S-a,a,0,Math.PI/2);n.arc(A+i,P+S-i,i,Math.PI/2,Math.PI)}else{n.moveTo(d,o.y);n.lineTo(d+o.width,o.y);n.lineTo(d+o.width,h);n.lineTo(d,h);n.lineTo(d,o.y)}n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.closePath();n.stroke()}n.fill()}};break;case"triangle":for(let e=0;eu&&e0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"mount":for(let e=0;eu&&e0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"sharp":for(let e=0;eu&&e0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break}if(r.dataLabel!==false&&f===1){let t,e,a;t=[].concat(r.chartData.yAxisData.ranges[0]);e=t.pop();a=t.shift();var c=getMountDataPoints(i,e,a,p,l,r,s,h,f);drawMountPointText(c,i,o,n,r,h)}n.restore();return{xAxisPoints:p,calPoints:c,eachSpacing:l}}function drawBarDataPoints(y,v,m,T){let b=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let S=[];let w=(v.height-v.area[0]-v.area[2])/v.categories.length;for(let t=0;tC&&tr?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(g+i,c+i,i,-Math.PI,-Math.PI/2);T.arc(o.x-t,c+t,t,-Math.PI/2,0);T.arc(o.x-e,c+h-e,e,0,Math.PI/2);T.arc(g+a,c+h-a,a,Math.PI/2,Math.PI)}else{T.moveTo(n,r);T.lineTo(o.x,r);T.lineTo(o.x,r+o.width);T.lineTo(n,r+o.width);T.lineTo(n,r);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(l);T.closePath();T.fill()}};break;case"stack":var i=getBarStackDataPoints(x,e,d,S,w,v,m,t,y,b);P.push(i);i=fixBarStackData(i,w,y.length,t,m,v,y);for(let e=0;eC&&e5&&arguments[5]!==undefined?arguments[5]:1;var s=assign({},{color:{},average:{}},h.extra.candle);s.color=assign({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},s.color);s.average=assign({},{show:false,name:[],day:[],color:c.color},s.average);h.extra.candle=s;let a=h.chartData.xAxisData,x=a.xAxisPoints,f=a.eachSpacing;let y=[];d.save();let p=-2;let v=x.length+2;let u=0;let m=h.width+f;if(h._scrollDistance_&&h._scrollDistance_!==0&&h.enableScroll===true){d.translate(h._scrollDistance_,0);p=Math.floor(-h._scrollDistance_/f)-2;v=p+h.xAxis.itemCount+4;u=-h._scrollDistance_-f*2+h.area[3];m=u+(h.xAxis.itemCount+4)*f}if(s.average.show||t){t.forEach(function(e,t){let a,i,r;a=[].concat(h.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();var o=e.data;var n=getDataPoints(o,i,r,x,f,h,c,g);var l=splitPoints(n,e);for(let t=0;tu){d.moveTo(t.x,t.y);a=1}if(e>0&&t.x>u&&t.xp&&e0){d.setStrokeStyle(s.color.upLine);d.setFillStyle(s.color.upFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.moveTo(t[3].x,t[3].y)}else{d.setStrokeStyle(s.color.downLine);d.setFillStyle(s.color.downFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.moveTo(t[3].x,t[3].y)}d.closePath();d.fill();d.stroke()}}});d.restore();return{xAxisPoints:x,calPoints:y,eachSpacing:f}}function drawAreaDataPoints(t,s,h,c){var d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var x=assign({},{type:"straight",opacity:.2,addLine:false,width:2,gradient:false,activeType:"none"},s.extra.area);let e=s.chartData.xAxisData,f=e.xAxisPoints,p=e.eachSpacing;let y=s.height-s.area[2];let v=[];c.save();let u=0;let g=s.width+p;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);u=-s._scrollDistance_-p*2+s.area[3];g=u+(s.xAxis.itemCount+4)*p}t.forEach(function(e,t){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();let o=e.data;let n=getDataPoints(o,i,r,f,p,s,h,d);v.push(n);let l=splitPoints(n,e);for(let t=0;t1){let t=r[0];let e=r[r.length-1];c.moveTo(t.x,t.y);let i=0;if(x.type==="curve"){for(let a=0;au){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.xu){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.xu){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x4&&arguments[4]!==undefined?arguments[4]:1;var i=assign({},{type:"circle"},s.extra.scatter);let e=s.chartData.xAxisData,x=e.xAxisPoints,f=e.eachSpacing;var r=[];c.save();let a=0;let o=s.width+f;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);a=-s._scrollDistance_-f*2+s.area[3];o=a+(s.xAxis.itemCount+4)*f}t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);c.beginPath();c.setStrokeStyle(t.color);c.setFillStyle(t.color);c.setLineWidth(1*s.pix);var l=t.pointShape;if(l==="diamond"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y);c.lineTo(t.x,t.y+4.5);c.lineTo(t.x+4.5,t.y);c.lineTo(t.x,t.y-4.5)}})}else if(l==="circle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x+2.5*s.pix,t.y);c.arc(t.x,t.y,3*s.pix,0,2*Math.PI,false)}})}else if(l==="square"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x-3.5,t.y-3.5);c.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(l==="triangle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y+4.5);c.lineTo(t.x+4.5,t.y+4.5);c.lineTo(t.x,t.y-4.5)}})}else if(l==="triangle"){return}c.closePath();c.fill();c.stroke()});if(s.dataLabel!==false&&d===1){t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);drawPointText(n,t,h,c,s)})}c.restore();return{xAxisPoints:x,calPoints:r,eachSpacing:f}}function drawBubbleDataPoints(a,l,s,h){var c=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var d=assign({},{opacity:1,border:2},l.extra.bubble);let t=l.chartData.xAxisData,x=t.xAxisPoints,f=t.eachSpacing;var i=[];h.save();let e=0;let r=l.width+f;if(l._scrollDistance_&&l._scrollDistance_!==0&&l.enableScroll===true){h.translate(l._scrollDistance_,0);e=-l._scrollDistance_-f*2+l.area[3];r=e+(l.xAxis.itemCount+4)*f}a.forEach(function(i,t){let e,a,r;e=[].concat(l.chartData.yAxisData.ranges[i.index]);a=e.pop();r=e.shift();var o=i.data;var n=getDataPoints(o,a,r,x,f,l,s,c);h.beginPath();h.setStrokeStyle(i.color);h.setLineWidth(d.border*l.pix);h.setFillStyle(hexToRgb(i.color,d.opacity));n.forEach(function(t,e){h.moveTo(t.x+t.r,t.y);h.arc(t.x,t.y,t.r*l.pix,0,2*Math.PI,false)});h.closePath();h.fill();h.stroke();if(l.dataLabel!==false&&c===1){n.forEach(function(t,e){h.beginPath();var a=i.textSize*l.pix||s.fontSize;h.setFontSize(a);h.setFillStyle(i.textColor||"#FFFFFF");h.setTextAlign("center");h.fillText(String(t.t),t.x,t.y+a/2);h.closePath();h.stroke();h.setTextAlign("left")})}});h.restore();return{xAxisPoints:x,calPoints:i,eachSpacing:f}}function drawLineDataPoints(t,d,x,f){var p=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var u=assign({},{type:"straight",width:2,activeType:"none",linearType:"none",onShadow:false,animation:"vertical"},d.extra.line);u.width*=d.pix;let e=d.chartData.xAxisData,g=e.xAxisPoints,y=e.eachSpacing;var T=[];f.save();let v=0;let m=d.width+y;if(d._scrollDistance_&&d._scrollDistance_!==0&&d.enableScroll===true){f.translate(d._scrollDistance_,0);v=-d._scrollDistance_-y*2+d.area[3];m=v+(d.xAxis.itemCount+4)*y}t.forEach(function(e,c){f.beginPath();f.setStrokeStyle(e.color);f.moveTo(-1e4,-1e4);f.lineTo(-10001,-10001);f.stroke();let t,a,i;t=[].concat(d.chartData.yAxisData.ranges[e.index]);a=t.pop();i=t.shift();var r=e.data;var o=getLineDataPoints(r,a,i,g,y,d,x,u,p);T.push(o);var n=splitPoints(o,e);if(e.lineType=="dash"){let t=e.dashLength?e.dashLength:8;t*=d.pix;f.setLineDash([t,t])}f.beginPath();var l=e.color;if(u.linearType!=="none"&&e.linearColor&&e.linearColor.length>0){var s=f.createLinearGradient(d.chartData.xAxisData.startX,d.height/2,d.chartData.xAxisData.endX,d.height/2);for(var h=0;h0){f.setShadow(e.setShadow[0],e.setShadow[1],e.setShadow[2],e.setShadow[3])}else{f.setShadow(0,0,0,"rgba(0,0,0,0)")}f.setLineWidth(u.width);n.forEach(function(i,t){if(i.length===1){f.moveTo(i[0].x,i[0].y)}else{f.moveTo(i[0].x,i[0].y);let a=0;if(u.type==="curve"){for(let e=0;ev){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.xv){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.xv){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x4&&arguments[4]!==undefined?arguments[4]:1;let e=v.chartData.xAxisData,b=e.xAxisPoints,S=e.eachSpacing;let w=assign({},{width:S/2,barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},v.extra.mix.column);let A=assign({},{opacity:.2,gradient:false},v.extra.mix.area);let M=assign({},{width:2},v.extra.mix.line);let L=v.height-v.area[2];let F=[];var _=0;var k=0;t.forEach(function(t,e){if(t.type=="column"){k+=1}});T.save();let R=-2;let I=b.length+2;let P=0;let C=v.width+S;if(v._scrollDistance_&&v._scrollDistance_!==0&&v.enableScroll===true){T.translate(v._scrollDistance_,0);R=Math.floor(-v._scrollDistance_/S)-2;I=R+v.xAxis.itemCount+4;P=-v._scrollDistance_-S*2+v.area[3];C=P+(v.xAxis.itemCount+4)*S}w.customColor=fillCustomColor(w.linearType,w.customColor,t,m);t.forEach(function(n,t){let o,x,f;o=[].concat(v.chartData.yAxisData.ranges[n.index]);x=o.pop();f=o.shift();var p=n.data;var a=getDataPoints(p,x,f,b,S,v,m,D);F.push(a);if(n.type=="column"){a=fixColumeData(a,S,k,_,m,v);for(let t=0;tR&&tr?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);T.arc(h+d-e,c+e,e,-Math.PI/2,0);T.arc(h+d-a,c+s-a,a,0,Math.PI/2);T.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{T.moveTo(l,o.y);T.lineTo(l+o.width,o.y);T.lineTo(l+o.width,v.height-v.area[2]);T.lineTo(l,v.height-v.area[2]);T.lineTo(l,o.y);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(e);T.closePath();T.fill()}}_+=1}if(n.type=="area"){let e=splitPoints(a,n);for(let t=0;t1){var r=i[0];let t=i[i.length-1];T.moveTo(r.x,r.y);let a=0;if(n.style==="curve"){for(let e=0;eP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.xP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.xP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.xP){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x1){if(h.extra.mount.widthRatio>2)h.extra.mount.widthRatio=2;l+=(h.extra.mount.widthRatio-1)*f}var s=n*n/l;var y=0;if(h._scrollDistance_){y=-h._scrollDistance_*n/l}d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollBackgroundColor||"#EFEBEF");d.moveTo(t,o);d.lineTo(a,o);d.stroke();d.closePath();d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollColor||"#A6A6A6");d.moveTo(t+y,o);d.lineTo(t+y+s,o);d.stroke();d.closePath();d.setLineCap("butt")}d.save();if(h._scrollDistance_&&h._scrollDistance_!==0){d.translate(h._scrollDistance_,0)}if(h.xAxis.calibration===true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);x.forEach(function(t,e){if(e>0){d.beginPath();d.moveTo(t-f/2,u);d.lineTo(t-f/2,u+3*h.pix);d.closePath();d.stroke()}})}if(h.xAxis.disableGrid!==true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);if(h.xAxis.gridType=="dash"){d.setLineDash([h.xAxis.dashLength*h.pix,h.xAxis.dashLength*h.pix])}h.xAxis.gridEval=h.xAxis.gridEval||1;x.forEach(function(t,e){if(e%h.xAxis.gridEval==0){d.beginPath();d.moveTo(t,u);d.lineTo(t,i);d.stroke()}});d.setLineDash([])}if(h.xAxis.disabled!==true){let t=r.length;if(h.xAxis.labelCount){if(h.xAxis.itemCount){t=Math.ceil(r.length/h.xAxis.itemCount*h.xAxis.labelCount)}else{t=h.xAxis.labelCount}t-=1}let e=Math.ceil(r.length/t);let a=[];let i=r.length;for(let t=0;t=h.area[3]-1&&n-Math.abs(o)<=h.width-h.area[1]+1){d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);d.fillText(String(a),x[e]+i,u+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.fontSize)*h.pix/2+h.xAxis.fontSize*h.pix);d.closePath();d.stroke()}})}else{a.forEach(function(t,e){var a=h.xAxis.formatter?h.xAxis.formatter(t):t;var i=h._scrollDistance_||0;var r=p=="center"?x[e]+f/2:x[e];if(r-Math.abs(i)>=h.area[3]-1&&r-Math.abs(i)<=h.width-h.area[1]+1){d.save();d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);var o=measureText(String(a),g,d);var n=x[e];if(p=="center"){n=x[e]+f/2}var l=0;if(h.xAxis.scrollShow){l=6*h.pix}var s=u+h.xAxis.marginTop*h.pix+g-g*Math.abs(Math.sin(c._xAxisTextAngle_));if(h.xAxis.rotateAngle<0){n-=g/2;o=0}else{n+=g/2;o=-o}d.translate(n,s);d.rotate(-1*c._xAxisTextAngle_);d.fillText(String(a),o,0);d.closePath();d.stroke();d.restore()}})}}d.restore();if(h.xAxis.title){d.beginPath();d.setFontSize(h.xAxis.titleFontSize*h.pix);d.setFillStyle(h.xAxis.titleFontColor);d.fillText(String(h.xAxis.title),h.width-h.area[1]+h.xAxis.titleOffsetX*h.pix,h.height-h.area[2]+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.titleFontSize)*h.pix/2+(h.xAxis.titleFontSize+h.xAxis.titleOffsetY)*h.pix);d.closePath();d.stroke()}if(h.xAxis.axisLine){d.beginPath();d.setStrokeStyle(h.xAxis.axisLineColor);d.setLineWidth(1*h.pix);d.moveTo(t,h.height-h.area[2]);d.lineTo(a,h.height-h.area[2]);d.stroke()}}function drawYAxisGrid(c,e,d,a){if(e.yAxis.disableGrid===true){return}let t=e.height-e.area[0]-e.area[2];let i=t/e.yAxis.splitNumber;let r=e.area[3];let o=e.chartData.xAxisData.xAxisPoints,n=e.chartData.xAxisData.eachSpacing;let l=n*(o.length-1);if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;l+=(e.extra.mount.widthRatio-1)*n}let x=r+l;let s=[];let h=1;if(e.xAxis.axisLine===false){h=0}for(let t=h;t4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,ringWidth:30,customRadius:0,border:false,borderWidth:2,borderColor:"#FFFFFF",centerColor:"#FFFFFF",linearType:"none",customColor:[]},r.type=="pie"?r.extra.pie:r.extra.ring);var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;if(n.customRadius>0){i=n.customRadius*r.pix}t=getPieDataPoints(t,i,a);var h=n.activeRadius*r.pix;n.customColor=fillCustomColor(n.linearType,n.customColor,t,e);t=t.map(function(t){t._start_+=n.offsetAngle*Math.PI/180;return t});t.forEach(function(t,e){if(r.tooltip){if(r.tooltip.index==e){o.beginPath();o.setFillStyle(hexToRgb(t.color,n.activeOpacity||.5));o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_+h,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill()}}o.beginPath();o.setLineWidth(n.borderWidth*r.pix);o.lineJoin="round";o.setStrokeStyle(n.borderColor);var a=t.color;if(n.linearType=="custom"){var i;if(o.createCircularGradient){i=o.createCircularGradient(l.x,l.y,t._radius_)}else{i=o.createRadialGradient(l.x,l.y,0,l.x,l.y,t._radius_)}i.addColorStop(0,hexToRgb(n.customColor[t.linearIndex],1));i.addColorStop(1,hexToRgb(t.color,1));a=i}o.setFillStyle(a);o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill();if(n.border==true){o.stroke()}});if(r.type==="ring"){var s=i*.6;if(typeof n.ringWidth==="number"&&n.ringWidth>0){s=Math.max(0,i-n.ringWidth*r.pix)}o.beginPath();o.setFillStyle(n.centerColor);o.moveTo(l.x,l.y);o.arc(l.x,l.y,s,0,2*Math.PI);o.closePath();o.fill()}if(r.dataLabel!==false&&a===1){drawPieText(t,r,e,o,i,l)}if(a===1&&r.type==="ring"){drawRingTitle(r,e,o,l)}return{center:l,radius:i,series:t}}function drawRoseDataPoints(t,r,e,o){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{type:"area",activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:false,borderWidth:2,borderColor:"#FFFFFF",linearType:"none",customColor:[]},r.extra.rose);if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;var s=n.minRadius||i*.5;if(i4&&arguments[4]!==undefined?arguments[4]:1;var o=assign({},{startAngle:.75,endAngle:.25,type:"default",direction:"cw",lineCap:"round",width:12,gap:2,linearType:"none",customColor:[]},i.extra.arcbar);a=getArcbarDataPoints(a,o,e);var n;if(o.centerX||o.centerY){n={x:o.centerX?o.centerX:i.width/2,y:o.centerY?o.centerY:i.height/2}}else{n={x:i.width/2,y:i.height/2}}var l;if(o.radius){l=o.radius}else{l=Math.min(n.x,n.y);l-=5*i.pix;l-=o.width/2}l=l<10?10:l;o.customColor=fillCustomColor(o.linearType,o.customColor,a,t);for(let e=0;e5&&arguments[5]!==undefined?arguments[5]:1;var f=assign({},{type:"default",startAngle:.75,endAngle:.25,width:15,labelOffset:13,splitLine:{fixRadius:0,splitNumber:10,width:15,color:"#FFFFFF",childNumber:5,childWidth:5},pointer:{width:15,color:"auto"}},c.extra.gauge);if(f.oldAngle==undefined){f.oldAngle=f.startAngle}if(f.oldData==undefined){f.oldData=0}n=getGaugeAxisPoints(n,f.startAngle,f.endAngle);var p={x:c.width/2,y:c.height/2};var u=Math.min(p.x,p.y);u-=5*c.pix;u-=f.width/2;u=u<10?10:u;var g=u-f.width;var y=0;if(f.type=="progress"){var v=u-f.width*3;d.beginPath();let t=d.createLinearGradient(p.x,p.y-v,p.x,p.y+v);t.addColorStop("0",hexToRgb(h[0].color,.3));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));d.setFillStyle(t);d.arc(p.x,p.y,v,0,2*Math.PI,false);d.fill();d.setLineWidth(f.width);d.setStrokeStyle(hexToRgb(h[0].color,.3));d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,f.endAngle*Math.PI,false);d.stroke();if(f.endAnglet/o){d.setStrokeStyle(hexToRgb(h[0].color,1))}else{d.setStrokeStyle(hexToRgb(h[0].color,.3))}d.setLineWidth(3*c.pix);d.moveTo(i,0);d.lineTo(r,0);d.stroke();d.rotate(a*Math.PI)}d.restore();h=getGaugeArcbarDataPoints(h,f,x);d.setLineWidth(f.width);d.setStrokeStyle(h[0].color);d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,h[0]._proportion_*Math.PI,false);d.stroke();let l=u-f.width*2.5;d.save();d.translate(p.x,p.y);d.rotate((h[0]._proportion_-1)*Math.PI);d.beginPath();d.setLineWidth(f.width/3);let s=d.createLinearGradient(0,-l*.6,0,l*.6);s.addColorStop("0",hexToRgb("#FFFFFF",0));s.addColorStop("0.5",hexToRgb(h[0].color,1));s.addColorStop("1.0",hexToRgb("#FFFFFF",0));d.setStrokeStyle(s);d.arc(0,0,l,.85*Math.PI,1.15*Math.PI,false);d.stroke();d.beginPath();d.setLineWidth(1);d.setStrokeStyle(h[0].color);d.setFillStyle(h[0].color);d.moveTo(-l-f.width/3/2,-4);d.lineTo(-l-f.width/3/2-4,0);d.lineTo(-l-f.width/3/2,4);d.lineTo(-l-f.width/3/2,-4);d.stroke();d.fill();d.restore()}else{d.setLineWidth(f.width);d.setLineCap("butt");for(let e=0;e4&&arguments[4]!==undefined?arguments[4]:1;var s=assign({},{gridColor:"#cccccc",gridType:"radar",gridEval:1,axisLabel:false,axisLabelTofix:0,labelShow:true,labelColor:"#666666",labelPointShow:false,labelPointRadius:3,labelPointColor:"#cccccc",opacity:.2,gridCount:3,border:false,borderWidth:2,linearType:"none",customColor:[]},n.extra.radar);var a=getRadarCoordinateSeries(n.categories.length);var h={x:n.area[3]+(n.width-n.area[1]-n.area[3])/2,y:n.area[0]+(n.height-n.area[0]-n.area[2])/2};var r=(n.width-n.area[1]-n.area[3])/2;var d=(n.height-n.area[0]-n.area[2])/2;var c=Math.min(r-(getMaxTextListLength(n.categories,i.fontSize,l)+i.radarLabelTextMargin),d-i.radarLabelTextMargin);c-=i.radarLabelTextMargin*n.pix;c=c<10?10:c;c=s.radius?s.radius:c;l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);a.forEach(function(t,e){var a=convertCoordinateOrigin(c*Math.cos(t),c*Math.sin(t),h);l.moveTo(h.x,h.y);if(e%s.gridEval==0){l.lineTo(a.x,a.y)}});l.stroke();l.closePath();var x=function t(i){var r={};l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);if(s.gridType=="radar"){a.forEach(function(t,e){var a=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(t),c/s.gridCount*i*Math.sin(t),h);if(e===0){r=a;l.moveTo(a.x,a.y)}else{l.lineTo(a.x,a.y)}});l.lineTo(r.x,r.y)}else{var e=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(1.5),c/s.gridCount*i*Math.sin(1.5),h);l.arc(h.x,h.y,h.y-e.y,0,2*Math.PI,false)}l.stroke();l.closePath()};for(var e=1;e<=s.gridCount;e++){x(e)}s.customColor=fillCustomColor(s.linearType,s.customColor,o,i);var f=getRadarDataPoints(a,h,c,o,n,t);f.forEach(function(t,e){l.beginPath();l.setLineWidth(s.borderWidth*n.pix);l.setStrokeStyle(t.color);var a=hexToRgb(t.color,s.opacity);if(s.linearType=="custom"){var i;if(l.createCircularGradient){i=l.createCircularGradient(h.x,h.y,c)}else{i=l.createRadialGradient(h.x,h.y,0,h.x,h.y,c)}i.addColorStop(0,hexToRgb(s.customColor[o[e].linearIndex],s.opacity));i.addColorStop(1,hexToRgb(t.color,s.opacity));a=i}l.setFillStyle(a);t.data.forEach(function(t,e){if(e===0){l.moveTo(t.position.x,t.position.y)}else{l.lineTo(t.position.x,t.position.y)}});l.closePath();l.fill();if(s.border===true){l.stroke()}l.closePath();if(n.dataPointShape!==false){var r=t.data.map(function(t){return t.position});drawPointShape(r,t.color,t.pointShape,l,n)}});if(s.axisLabel===true){const p=Math.max(s.max,Math.max.apply(null,dataCombine(o)));const u=c/s.gridCount;const g=n.fontSize*n.pix;l.setFontSize(g);l.setFillStyle(n.fontColor);l.setTextAlign("left");for(var e=0;eh.x?e.xMax:h.x;e.yMin=e.yMinh.y?e.yMax:h.y}}}return e}function coordinateToPoint(t,e,a,i,r,o){return{x:(e-a.xMin)*i+r,y:(a.yMax-t)*i+o}}function pointToCoordinate(t,e,a,i,r,o){return{x:(e-r)/i+a.xMin,y:a.yMax-(t-o)/i}}function isRayIntersectsSegment(t,e,a){if(e[1]==a[1]){return false}if(e[1]>t[1]&&a[1]>t[1]){return false}if(e[1]t[1]){return false}if(a[1]==t[1]&&e[1]>t[1]){return false}if(e[0]a[t].area[2]||e[1]>a[t].area[3]||e[2]i||e[3]>r){o=true;break}else{o=false}}else{o=true;break}}}return o}function getWordCloudPoint(c,t,d){let x=c.series;switch(t){case"normal":for(let l=0;l.7){return true}else{return false}};for(let h=0;h4&&arguments[4]!==undefined?arguments[4]:1;let a=assign({},{type:"normal",autoColors:true},r.extra.word);if(!r.chartData.wordCloudData){r.chartData.wordCloudData=getWordCloudPoint(r,a.type,o)}o.beginPath();o.setFillStyle(r.background);o.rect(0,0,r.width,r.height);o.fill();o.save();let l=r.chartData.wordCloudData;o.translate(r.width/2,r.height/2);for(let i=0;i0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}}else{if(l[i].area[0]>0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}}o.stroke();o.restore()}o.restore()}function drawFunnelDataPoints(t,e,c,a){let d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let i=assign({},{type:"funnel",activeWidth:10,activeOpacity:.3,border:false,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,minSize:0,labelAlign:"right",linearType:"none",customColor:[]},e.extra.funnel);let r=(e.height-e.area[0]-e.area[2])/t.length;let o={x:e.area[3]+(e.width-e.area[1]-e.area[3])/2,y:e.height-e.area[2]};let n=i.activeWidth*e.pix;let x=Math.min((e.width-e.area[1]-e.area[3])/2-n,(e.height-e.area[0]-e.area[2])/2-n);let l=getFunnelDataPoints(t,x,i,r,d);a.save();a.translate(o.x,o.y);i.customColor=fillCustomColor(i.linearType,i.customColor,t,c);if(i.type=="pyramid"){for(let t=0;t0){l.area[3]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[3]+=i[t].width}a+=1}else if(i[t].position=="right"){if(e>0){l.area[1]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[1]+=i[t].width}e+=1}}}else{n.yAxisWidth=i}l.chartData.yAxisData=f;if(l.categories&&l.categories.length&&l.type!=="radar"&&l.type!=="gauge"&&l.type!=="bar"){l.chartData.xAxisData=getXAxisPoints(l.categories,l,n);let t=calCategoriesData(l.categories,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{if(l.type==="line"||l.type==="area"||l.type==="scatter"||l.type==="bubble"||l.type==="bar"){l.chartData.xAxisData=calXAxisData(c,l,n,s);d=l.chartData.xAxisData.rangesFormat;let t=calCategoriesData(d,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{l.chartData.xAxisData={xAxisPoints:[]}}}if(l.enableScroll&&l.xAxis.scrollAlign=="right"&&l._scrollDistance_===undefined){let t=0,e=l.chartData.xAxisData.xAxisPoints,a=l.chartData.xAxisData.startX,i=l.chartData.xAxisData.endX,r=l.chartData.xAxisData.eachSpacing;let o=r*(e.length-1);let n=i-a;t=n-o;h.scrollOption.currentOffset=t;h.scrollOption.startTouchX=t;h.scrollOption.distance=0;h.scrollOption.lastMoveTime=0;l._scrollDistance_=t}if(t==="pie"||t==="ring"||t==="rose"){n._pieTextMaxLength_=l.dataLabel===false?0:getPieTextMaxLength(x,n,s,l)}switch(t){case"word":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawWordCloudDataPoints(c,l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"map":s.clearRect(0,0,l.width,l.height);drawMapDataPoints(c,l,n,s);setTimeout(()=>{this.uevent.trigger("renderComplete")},50);break;case"funnel":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.funnelData=drawFunnelDataPoints(c,l,n,s,t);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"line":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawLineDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"scatter":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawScatterDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bubble":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawBubbleDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mix":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMixDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"column":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawColumnDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mount":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMountDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawXAxis(d,l,n,s);var a=drawBarDataPoints(c,l,n,s,e),i=a.yAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.yAxisPoints=i;l.chartData.xAxisPoints=l.chartData.xAxisData.xAxisPoints;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"area":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawAreaDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"ring":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"pie":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"rose":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawRoseDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"radar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.radarData=drawRadarDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"arcbar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.arcbarData=drawArcbarDataPoints(c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"gauge":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.gaugeData=drawGaugeDataPoints(d,c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"candle":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawCandleDataPoints(c,x,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}if(x){drawLegend(x,l,n,s,l.chartData)}else{drawLegend(l.series,l,n,s,l.chartData)}drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break}}function uChartsEvent(){this.events={}}uChartsEvent.prototype.addEventListener=function(t,e){this.events[t]=this.events[t]||[];this.events[t].push(e)};uChartsEvent.prototype.delEventListener=function(t){this.events[t]=[]};uChartsEvent.prototype.trigger=function(){for(var t=arguments.length,e=Array(t),a=0;a0&&arguments[0]!==undefined?arguments[0]:{};this.opts=assign({},this.opts,t);this.opts.updateData=true;let c=t.scrollPosition||"current";switch(c){case"current":this.opts._scrollDistance_=this.scrollOption.currentOffset;break;case"left":this.opts._scrollDistance_=0;this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};break;case"right":let t=calYAxisData(this.opts.series,this.opts,this.config,this.context),e=t.yAxisWidth;this.config.yAxisWidth=e;let a=0;let i=getXAxisPoints(this.opts.categories,this.opts,this.config),r=i.xAxisPoints,o=i.startX,n=i.endX,l=i.eachSpacing;let s=l*(r.length-1);let h=n-o;a=h-s;this.scrollOption={currentOffset:a,startTouchX:a,distance:0,lastMoveTime:0};this.opts._scrollDistance_=a;break}drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.zoom=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.opts.xAxis.itemCount;if(this.opts.enableScroll!==true){console.log("[uCharts] 请启用滚动条后使用");return}let e=Math.round(Math.abs(this.scrollOption.currentOffset)/this.opts.chartData.eachSpacing)+Math.round(this.opts.xAxis.itemCount/2);this.opts.animation=false;this.opts.xAxis.itemCount=t.itemCount;let a=calYAxisData(this.opts.series,this.opts,this.config,this.context),i=a.yAxisWidth;this.config.yAxisWidth=i;let r=0;let o=getXAxisPoints(this.opts.categories,this.opts,this.config),h=o.xAxisPoints,c=o.startX,d=o.endX,n=o.eachSpacing;let x=n*e;let l=d-c;let s=l-n*(h.length-1);r=l/2-x;if(r>0){r=0}if(r=this.opts.categories.length?this.opts.categories.length:r;this.opts.animation=false;this.opts.xAxis.itemCount=r;let o=0;let n=getXAxisPoints(this.opts.categories,this.opts,this.config),x=n.xAxisPoints,f=n.startX,p=n.endX,l=n.eachSpacing;let u=l*this.scrollOption.moveCurrent1;let g=p-f;let y=g-l*(x.length-1);o=-u+Math.min(i[0].x,i[1].x)-this.opts.area[3]-l;if(o>0){o=0}if(o1&&arguments[1]!==undefined?arguments[1]:{};var a=null;if(t.changedTouches){a=t.changedTouches[0]}else{a=t.mp.changedTouches[0]}if(a){var i=getTouches(a,this.opts,t);var r=this.getLegendDataIndex(t);if(r>=0){if(this.opts.type=="candle"){this.opts.seriesMA[r].show=!this.opts.seriesMA[r].show}else{this.opts.series[r].show=!this.opts.series[r].show}this.opts.animation=e.animation?true:false;this.opts._scrollDistance_=this.scrollOption.currentOffset;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)}}};uCharts.prototype.showToolTip=function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var c=null;if(t.changedTouches){c=t.changedTouches[0]}else{c=t.mp.changedTouches[0]}if(!c){console.log("[uCharts] 未获取到event坐标信息")}var a=getTouches(c,this.opts,t);var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});if(this.opts.type==="line"||this.opts.type==="area"||this.opts.type==="column"||this.opts.type==="scatter"||this.opts.type==="bubble"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o,group:r.group}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mount"){var o=e.index==undefined?this.getCurrentDataIndex(t).index:e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:i.chartData.calPoints[o].x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="bar"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.x=a.x;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mix"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var x=getMixToolTipData(n,this.opts,o,this.opts.categories,e),s=x.textList,h=x.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="candle"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var l=getCandleToolTipData(this.opts.series[0].data,n,this.opts,o,this.opts.categories,this.opts.extra.candle,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="pie"||this.opts.type==="ring"||this.opts.type==="rose"||this.opts.type==="funnel"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="map"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);n.name=n.properties.name;var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="word"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="radar"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var s=n.map(t=>{return{text:e.formatter?e.formatter(t,this.opts.categories[o],o,this.opts):t.name+": "+t.data,color:t.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?t.legendShape:this.opts.extra.tooltip.legendShape}});var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}};uCharts.prototype.translate=function(t){this.scrollOption={currentOffset:t,startTouchX:t,distance:0,lastMoveTime:0};let e=assign({},this.opts,{_scrollDistance_:t,animation:false});drawCharts.call(this,this.opts.type,e,this.config,this.context)};uCharts.prototype.scrollStart=function(t){var e=null;if(t.changedTouches){e=t.changedTouches[0]}else{e=t.mp.changedTouches[0]}var a=getTouches(e,this.opts,t);if(e&&this.opts.enableScroll===true){this.scrollOption.startTouchX=a.x}};uCharts.prototype.scroll=function(t){if(this.scrollOption.lastMoveTime===0){this.scrollOption.lastMoveTime=Date.now()}let e=this.opts.touchMoveLimit||60;let a=Date.now();let i=a-this.scrollOption.lastMoveTime;if(i) { - const query = ref({}) - onLoad((q) => { - query.value = q || {} - }) - const value = computed(() => (key ? query.value[unref(key)] : null)) - return { query, value } -} diff --git a/src/hooks/useColPickerData.ts b/src/hooks/useColPickerData.ts new file mode 100644 index 0000000..8b8f0f9 --- /dev/null +++ b/src/hooks/useColPickerData.ts @@ -0,0 +1,38 @@ +// 可以将此代码放置于项目src/hooks/useColPickerData.ts中 +import { useCascaderAreaData } from '@vant/area-data' + +export type CascaderOption = { + text: string + value: string + children?: CascaderOption[] +} + +/** + * 使用'@vant/area-data'作为数据源,构造ColPicker组件的数据 + * @returns + */ +export function useColPickerData() { + // '@vant/area-data' 数据源 + const colPickerData: CascaderOption[] = useCascaderAreaData() + + // 根据code查找子节点,不传code则返回所有节点 + function findChildrenByCode(data: CascaderOption[], code?: string): CascaderOption[] | null { + if (!code) { + return data + } + for (const item of data) { + if (item.value === code) { + return item.children || null + } + if (item.children) { + const childrenResult = findChildrenByCode(item.children, code) + if (childrenResult) { + return childrenResult + } + } + } + return null + } + + return { colPickerData, findChildrenByCode } +} diff --git a/src/layouts/home.vue b/src/layouts/home.vue index cfd6126..2cd1bc2 100644 --- a/src/layouts/home.vue +++ b/src/layouts/home.vue @@ -2,8 +2,8 @@ import PrivacyModal from '@/components/PrivacyModel.vue' const tabbar = ref('index') +const menu = reactive([{ title: '首页', icon: 'home', name: 'index' }, { title: '代理', icon: 'share', name: 'agent' }, { title: 'AI律师', icon: 'user-avatar', name: 'ai' }, { title: '我的', icon: 'user', name: 'me' }]) -const menu = reactive([{ title: '首页', icon: 'home', name: 'index' }, { title: 'AI律师', icon: 'chat', name: 'ai' }, { title: '我的', icon: 'user', name: 'me' }]) function tabChange({ value }) { uni.switchTab({ @@ -25,9 +25,14 @@ onMounted(() => { }) function toComplaint() { - uni.navigateTo({ - url: '/pages/complaint', - }) + // 直接使用plus.runtime.openURL在系统浏览器中打开链接 + // #ifdef APP-PLUS + plus.runtime.openURL('https://work.weixin.qq.com/kfid/kfc5c19b2b93a5e73b9'); + // #endif + + // #ifdef H5 + window.location.href = 'https://work.weixin.qq.com/kfid/kfc5c19b2b93a5e73b9'; + // #endif } @@ -40,13 +45,18 @@ export default {