v1.0.0
This commit is contained in:
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@@ -0,0 +1,9 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
BIN
.github/images/preview.png
vendored
Normal file
BIN
.github/images/preview.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
84
.github/workflows/check.yml
vendored
Normal file
84
.github/workflows/check.yml
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
name: Check
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
strategy:
|
||||
matrix:
|
||||
node_version: [18.x, 20.x, 22.x]
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
fail-fast: false
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- run: |
|
||||
git config --global core.autocrlf false
|
||||
git config --global core.eol lf
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
cache: pnpm
|
||||
- run: pnpm i
|
||||
- run: pnpm run lint
|
||||
|
||||
typecheck:
|
||||
strategy:
|
||||
matrix:
|
||||
node_version: [18.x, 20.x, 22.x]
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
fail-fast: false
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- run: |
|
||||
git config --global core.autocrlf false
|
||||
git config --global core.eol lf
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
cache: pnpm
|
||||
- run: pnpm i
|
||||
- run: pnpm run type-check
|
||||
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
node_version: [18.x, 20.x, 22.x]
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
build_cmd: [build, 'build:mp-weixin', 'build:app']
|
||||
fail-fast: false
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
timeout-minutes: 10
|
||||
|
||||
steps:
|
||||
- run: |
|
||||
git config --global core.autocrlf false
|
||||
git config --global core.eol lf
|
||||
- uses: actions/checkout@v4
|
||||
- uses: pnpm/action-setup@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ matrix.node_version }}
|
||||
cache: pnpm
|
||||
- run: pnpm i
|
||||
- run: pnpm run ${{ matrix.build_cmd }}
|
||||
23
.gitignore
vendored
Normal file
23
.gitignore
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
*.local
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
./src/components.d.ts
|
||||
./src/auto-imports.d.ts
|
||||
16
.hbuilderx/launch.json
Normal file
16
.hbuilderx/launch.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"version" : "1.0",
|
||||
"configurations" : [
|
||||
{
|
||||
"playground" : "standard",
|
||||
"type" : "uni-app:app-ios"
|
||||
},
|
||||
{
|
||||
"app-plus" :
|
||||
{
|
||||
"launchtype" : "local"
|
||||
},
|
||||
"type" : "uniCloud"
|
||||
}
|
||||
]
|
||||
}
|
||||
3
.npmrc
Normal file
3
.npmrc
Normal file
@@ -0,0 +1,3 @@
|
||||
strict-peer-dependencies=false
|
||||
auto-install-peers=true
|
||||
shamefully-hoist=true
|
||||
11
.vscode/extensions.json
vendored
Normal file
11
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"antfu.vite",
|
||||
"antfu.iconify",
|
||||
"antfu.unocss",
|
||||
"vue.volar",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"editorConfig.editorConfig",
|
||||
"uni-helper.uni-helper-vscode"
|
||||
]
|
||||
}
|
||||
16
.vscode/launch.json
vendored
Normal file
16
.vscode/launch.json
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Debug h5",
|
||||
"type": "chrome",
|
||||
"runtimeArgs": [
|
||||
"--remote-debugging-port=9222"
|
||||
],
|
||||
"request": "launch",
|
||||
"url": "http://localhost:5173",
|
||||
"webRoot": "${workspaceFolder}",
|
||||
"preLaunchTask": "uni:h5"
|
||||
}
|
||||
]
|
||||
}
|
||||
56
.vscode/settings.json
vendored
Normal file
56
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
{
|
||||
// Disable the default formatter, use eslint instead
|
||||
"prettier.enable": false,
|
||||
"editor.formatOnSave": false,
|
||||
|
||||
// Auto fix
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit",
|
||||
"source.organizeImports": "never"
|
||||
},
|
||||
|
||||
// Silent the stylistic rules in you IDE, but still auto fix them
|
||||
"eslint.rules.customizations": [
|
||||
{ "rule": "style/*", "severity": "off", "fixable": true },
|
||||
{ "rule": "format/*", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-indent", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-spacing", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-spaces", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-order", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-dangle", "severity": "off", "fixable": true },
|
||||
{ "rule": "*-newline", "severity": "off", "fixable": true },
|
||||
{ "rule": "*quotes", "severity": "off", "fixable": true },
|
||||
{ "rule": "*semi", "severity": "off", "fixable": true }
|
||||
],
|
||||
|
||||
// Enable eslint for all supported languages
|
||||
"eslint.validate": [
|
||||
"javascript",
|
||||
"javascriptreact",
|
||||
"typescript",
|
||||
"typescriptreact",
|
||||
"vue",
|
||||
"html",
|
||||
"markdown",
|
||||
"json",
|
||||
"jsonc",
|
||||
"yaml",
|
||||
"toml",
|
||||
"xml",
|
||||
"gql",
|
||||
"graphql",
|
||||
"astro",
|
||||
"svelte",
|
||||
"css",
|
||||
"less",
|
||||
"scss",
|
||||
"pcss",
|
||||
"postcss"
|
||||
],
|
||||
|
||||
// Enable file nesting
|
||||
"explorer.fileNesting.enabled": true,
|
||||
"explorer.fileNesting.patterns": {
|
||||
"vite.config.*": "pages.config.*, manifest.config.*, uno.config.*, volar.config.*, *.env, .env.*"
|
||||
}
|
||||
}
|
||||
16
.vscode/tasks.json
vendored
Normal file
16
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "uni:h5",
|
||||
"type": "npm",
|
||||
"script": "dev --devtools",
|
||||
"isBackground": true,
|
||||
"problemMatcher": "$vite",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023-PRESENT KeJun
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
31
README.md
Normal file
31
README.md
Normal file
@@ -0,0 +1,31 @@
|
||||
<p align="center">
|
||||
<img src="https://github.com/uni-helper/vitesse-uni-app/raw/main/.github/images/preview.png" width="300"/>
|
||||
</p>
|
||||
|
||||
<h2 align="center">
|
||||
Vitesse for uni-app
|
||||
</h2>
|
||||
<p align="center">
|
||||
<a href="https://vitesse-uni-app.netlify.app/">📱 在线预览</a>
|
||||
<a href="https://vitesse-docs.netlify.app/">📖 阅读文档</a>
|
||||
</p>
|
||||
|
||||
## 特性
|
||||
|
||||
- ⚡️ [Vue 3](https://github.com/vuejs/core), [Vite](https://github.com/vitejs/vite), [pnpm](https://pnpm.io/), [esbuild](https://github.com/evanw/esbuild) - 就是快!
|
||||
|
||||
- 🗂 [基于文件的路由](./src/pages)
|
||||
|
||||
- 📦 [组件自动化加载](./src/components)
|
||||
|
||||
- 📑 [布局系统](./src/layouts)
|
||||
|
||||
- 🎨 [UnoCSS](https://github.com/unocss/unocss) - 高性能且极具灵活性的即时原子化 CSS 引擎
|
||||
|
||||
- 😃 [各种图标集为你所用](https://github.com/antfu/unocss/tree/main/packages/preset-icons)
|
||||
|
||||
- 🔥 使用 [新的 `<script setup>` 语法](https://github.com/vuejs/rfcs/pull/227)
|
||||
|
||||
- 📥 [API 自动加载](https://github.com/antfu/unplugin-auto-import) - 直接使用 Composition API 无需引入
|
||||
|
||||
- 🦾 [TypeScript](https://www.typescriptlang.org/) & [ESLint](https://eslint.org/) - 保证代码质量
|
||||
251
dataRender/1.json
Normal file
251
dataRender/1.json
Normal file
@@ -0,0 +1,251 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
2093
dataRender/jdyx.txt
Normal file
2093
dataRender/jdyx.txt
Normal file
File diff suppressed because it is too large
Load Diff
55
dataRender/jdyxRender.js
Normal file
55
dataRender/jdyxRender.js
Normal file
@@ -0,0 +1,55 @@
|
||||
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}`)
|
||||
}
|
||||
})
|
||||
})
|
||||
41
dataRender/jdyxRender2.js
Normal file
41
dataRender/jdyxRender2.js
Normal file
@@ -0,0 +1,41 @@
|
||||
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}`)
|
||||
}
|
||||
})
|
||||
})
|
||||
822
dataRender/output.json
Normal file
822
dataRender/output.json
Normal file
@@ -0,0 +1,822 @@
|
||||
[
|
||||
"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"
|
||||
]
|
||||
0
dataRender/word2.js
Normal file
0
dataRender/word2.js
Normal file
51
dataRender/word_list.js
Normal file
51
dataRender/word_list.js
Normal file
@@ -0,0 +1,51 @@
|
||||
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)
|
||||
65
dataRender/人企关系.json
Normal file
65
dataRender/人企关系.json
Normal file
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
646
dataRender/人企关系2.json
Normal file
646
dataRender/人企关系2.json
Normal file
@@ -0,0 +1,646 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
150
dataRender/人企关系3.json
Normal file
150
dataRender/人企关系3.json
Normal file
@@ -0,0 +1,150 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
154
dataRender/借贷意向1.json
Normal file
154
dataRender/借贷意向1.json
Normal file
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
133
dataRender/借贷行为1.json
Normal file
133
dataRender/借贷行为1.json
Normal file
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
17
dataRender/特殊名单1.json
Normal file
17
dataRender/特殊名单1.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
deploy/android/qnc.keystore
Normal file
BIN
deploy/android/qnc.keystore
Normal file
Binary file not shown.
BIN
deploy/ios/development/QNC_Development_Profile.mobileprovision
Normal file
BIN
deploy/ios/development/QNC_Development_Profile.mobileprovision
Normal file
Binary file not shown.
BIN
deploy/ios/development/ios_certificate.p12
Normal file
BIN
deploy/ios/development/ios_certificate.p12
Normal file
Binary file not shown.
BIN
deploy/ios/development/ios_development.cer
Normal file
BIN
deploy/ios/development/ios_development.cer
Normal file
Binary file not shown.
28
deploy/ios/development/private.key
Normal file
28
deploy/ios/development/private.key
Normal file
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDeSb0KJhm3L1Em
|
||||
GftfSFZliL2uZ8MWxJCO0MLEJBX1bs6aIsdJkhTej7FPKv5f716BcvYMiAxWmfwE
|
||||
PE2ALwFjoAy+GUHLzIcJsrYQk+u62pfvwJhj0boKt71Hg7E6JQGxbfg7Rs5upqAE
|
||||
LU86SdCkvcKVr/tLoqftyNwhvgOWVyiv+fbkyvysVVkQeCI6AweO7SGflDNH/BVw
|
||||
DrW9F8RkxqcewH4yYojfbearunJXoPlotwbabrk4eLgcjP94Sbtqzk0bjEjJghCx
|
||||
8SDAABliyunDMtEiD26HtCwGZiv81FlImUr2AE9Oes9DnXtFGcgDYCz/9mggbxuL
|
||||
n1VKZQ9BAgMBAAECggEAK0qKHf1gmbwF3llGCv8AEIMqidpcdMUwcBf5LpDmk+eS
|
||||
JhOq40mnddbfTc9OPinUqnpUsAkY+g7ANaT25QWCjEAB603o8gNxszJSYfUk/j2P
|
||||
RJqqMxqH1ImHO/PKYswNQdxscULvdj5OQLIAUZZJo6PvTw64brkNYnJxaMLkWPVg
|
||||
gNqmFMwNlpCUlYdMbARrBf+aLWuaXHcb9PmkwkAjrEVS87AErJFRmyiOX+LZcaYp
|
||||
YxUCp0DVmcyWeGrm0Jj3ai1PSxC9PjthMVWL1G84BQR5pb9ITpZJHypO0lY2sOM0
|
||||
5NjQo0C/iTqKjGbItbHjuHo/QZNzzVEd7gLMIqHY6QKBgQD8BxKFz+piwtA2fAGV
|
||||
xEuXA2oglYTn6baLS26PsJcfcgfgre1jTbmr8AQTph3U7kqwW+Q1QF6BTiaDUqZd
|
||||
y7HzC9dVLgqPbyshLWd9V+3xG+9Q+MvKjX4cWzT687bGBLixidy2svyse70BWDZx
|
||||
fC/5yIbI9dNSFmMXGrxg1Ia9HQKBgQDhyqrUhrWSIKyI0b17X/Kbh3pLs6XRaLto
|
||||
Q8hMZnsrlX1GH+T6kb5KaGe3txfo7UVqoYeUWhTGOnxmsNywRAyV5Ob0Ebq4a7oK
|
||||
K2Dtzx+yZVrYralxqxcMU1vr322j51zBWNT1f2ig0/ae78xijvIuYG/gDokRwGsp
|
||||
6k7o6z5VdQKBgQDIjfg3c9TY8p4uPVAllidw7M6vT0yMIHebMVOyFJyt8VhDeyTF
|
||||
OTzfjggweqiSoW3eGcHofmi2DTKonkS1rzrUZj/dEN5mddikdjU8kZRPoiM3FEVX
|
||||
0nDgr9PhP7/apDc1ULfKy3Q27eDiCQiKFoE3DFP152lakWYZJLVzeKwgIQKBgQCY
|
||||
0/vTBCcL9I+zv/t38ZadzRJrAPrghfordY2yoL8H3hRADcCIFXPum0JwqD5Hy6nr
|
||||
pc/GCz76eYXQYC/QIw89ugTU+NcgktIGphviewpiTpYyCUGijYJ5NkcGnWFxyl0P
|
||||
BZiHXqisCyxnobn+j/C+kUnIJy6B1HL0mQK2RtwXLQKBgQDDcfTi/UusJvrrHp6O
|
||||
DZlnP7lMWvOrKHUH2alDq6+YK3ieJ+e6btv3TxX2Y6CtbeKutjax3HQ/MTMwkeT8
|
||||
4mItZ+oHZcnYUKjYmDDKqxyUZLqdzuylNKd57gXl/BkfZBLk+MbgH9+zAb1VsnMz
|
||||
/8t+U5kmczy90XBU3OOigpWj+g==
|
||||
-----END PRIVATE KEY-----
|
||||
22
deploy/ios/development/request.csr
Normal file
22
deploy/ios/development/request.csr
Normal file
@@ -0,0 +1,22 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIIDnTCCAoUCAQAwgfcxCzAJBgNVBAYTAkNOMREwDwYDVQQIDAjCusKjw4TDjzER
|
||||
MA8GA1UEBwwIwrrCo8K/w5oxQTA/BgNVBAoMOMK6wqPDhMOPw4rCocORwqfDk8Ou
|
||||
w4vCvMONw7jDgsOnwr/DhsK8wrzDk8OQw4/DnsK5wqvDi8K+MUEwPwYDVQQLDDjC
|
||||
usKjw4TDj8OKwqHDkcKnw5PDrsOLwrzDjcO4w4LDp8K/w4bCvMK8w5PDkMOPw57C
|
||||
ucKrw4vCvjEbMBkGA1UEAwwSY29tLmFsbGlub25lLmNoZWNrMR8wHQYJKoZIhvcN
|
||||
AQkBFhBhZG1pbkBpaWVlaWkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEA3km9CiYZty9RJhn7X0hWZYi9rmfDFsSQjtDCxCQV9W7OmiLHSZIU3o+x
|
||||
Tyr+X+9egXL2DIgMVpn8BDxNgC8BY6AMvhlBy8yHCbK2EJPrutqX78CYY9G6Cre9
|
||||
R4OxOiUBsW34O0bObqagBC1POknQpL3Cla/7S6Kn7cjcIb4Dllcor/n25Mr8rFVZ
|
||||
EHgiOgMHju0hn5QzR/wVcA61vRfEZManHsB+MmKI323mq7pyV6D5aLcG2m65OHi4
|
||||
HIz/eEm7as5NG4xIyYIQsfEgwAAZYsrpwzLRIg9uh7QsBmYr/NRZSJlK9gBPTnrP
|
||||
Q517RRnIA2As//ZoIG8bi59VSmUPQQIDAQABoGAwFQYJKoZIhvcNAQkHMQgMBjMy
|
||||
MDMyMDBHBgkqhkiG9w0BCQIxOgw4wrrCo8OEw4/DisKhw5HCp8OTw67Di8K8w43D
|
||||
uMOCw6fCv8OGwrzCvMOTw5DDj8OewrnCq8OLwr4wDQYJKoZIhvcNAQELBQADggEB
|
||||
AI1CQFPrHE3xVWpnxynxK4DjM7eRjjCkPVUd3/IqNfiLnRNatDRzdU4K/Y5bLSVk
|
||||
A4eEk479YeBw1Zyw2jlAvK0Ga0QLAE4/SWAvjCbSCqJqSe1/SR9skxaZO3DZECPG
|
||||
EAgdiNsmYYlg7Oae3OT77OAFn6GkhjpRFBADO4F4Yb5yj75njNNava7gHvMn9NMx
|
||||
12/IvIK1quS2V7XjcLaMIVkIfnYqGevbOnN3XGgwjGu2hCJz4Ob0iAI+kcNYdBrG
|
||||
7rdwfSW7AbCSFiHmRL4n5rjJN6rs4VEHMnOPoB05E2inpIzLxZPa0wJ2k0UR5zZL
|
||||
KKAkSMxpPrUvJyCnoRhX8BM=
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
BIN
deploy/ios/production/QNC_Production_Profile.mobileprovision
Normal file
BIN
deploy/ios/production/QNC_Production_Profile.mobileprovision
Normal file
Binary file not shown.
BIN
deploy/ios/production/ios_distribution.cer
Normal file
BIN
deploy/ios/production/ios_distribution.cer
Normal file
Binary file not shown.
34
deploy/ios/production/ios_distribution.pem
Normal file
34
deploy/ios/production/ios_distribution.pem
Normal file
@@ -0,0 +1,34 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF8TCCBNmgAwIBAgIQLaG9i7JFETJnqW6Z8lt9hTANBgkqhkiG9w0BAQsFADB1
|
||||
MUQwQgYDVQQDDDtBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9ucyBD
|
||||
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTELMAkGA1UECwwCRzMxEzARBgNVBAoMCkFw
|
||||
cGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTI0MTEyMTE4NTczMVoXDTI1MTEyMTE4
|
||||
NTczMFowgcwxGjAYBgoJkiaJk/IsZAEBDApSNERWN1ZGNkg3MVYwVAYDVQQDDE1p
|
||||
UGhvbmUgRGlzdHJpYnV0aW9uOiBIYWluYW4gWHVleXVzaSBOZXR3b3JrIFRlY2hu
|
||||
b2xvZ3kgQ28uLCBMdGQuIChSNERWN1ZGNkg3KTETMBEGA1UECwwKUjREVjdWRjZI
|
||||
NzE0MDIGA1UECgwrSGFpbmFuIFh1ZXl1c2kgTmV0d29yayBUZWNobm9sb2d5IENv
|
||||
LiwgTHRkLjELMAkGA1UEBhMCQ04wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||
AoIBAQDeSb0KJhm3L1EmGftfSFZliL2uZ8MWxJCO0MLEJBX1bs6aIsdJkhTej7FP
|
||||
Kv5f716BcvYMiAxWmfwEPE2ALwFjoAy+GUHLzIcJsrYQk+u62pfvwJhj0boKt71H
|
||||
g7E6JQGxbfg7Rs5upqAELU86SdCkvcKVr/tLoqftyNwhvgOWVyiv+fbkyvysVVkQ
|
||||
eCI6AweO7SGflDNH/BVwDrW9F8RkxqcewH4yYojfbearunJXoPlotwbabrk4eLgc
|
||||
jP94Sbtqzk0bjEjJghCx8SDAABliyunDMtEiD26HtCwGZiv81FlImUr2AE9Oes9D
|
||||
nXtFGcgDYCz/9mggbxuLn1VKZQ9BAgMBAAGjggIjMIICHzAMBgNVHRMBAf8EAjAA
|
||||
MB8GA1UdIwQYMBaAFAn+wBWQ+a9kCpISuSYoYwyX7KeyMHAGCCsGAQUFBwEBBGQw
|
||||
YjAtBggrBgEFBQcwAoYhaHR0cDovL2NlcnRzLmFwcGxlLmNvbS93d2RyZzMuZGVy
|
||||
MDEGCCsGAQUFBzABhiVodHRwOi8vb2NzcC5hcHBsZS5jb20vb2NzcDAzLXd3ZHJn
|
||||
MzAyMIIBHgYDVR0gBIIBFTCCAREwggENBgkqhkiG92NkBQEwgf8wgcMGCCsGAQUF
|
||||
BwICMIG2DIGzUmVsaWFuY2Ugb24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFy
|
||||
dHkgYXNzdW1lcyBhY2NlcHRhbmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3Rh
|
||||
bmRhcmQgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBw
|
||||
b2xpY3kgYW5kIGNlcnRpZmljYXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wNwYI
|
||||
KwYBBQUHAgEWK2h0dHBzOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhv
|
||||
cml0eS8wFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwMwHQYDVR0OBBYEFNfYSDEuX6Ks
|
||||
6c5i2WBDAHDGC+lZMA4GA1UdDwEB/wQEAwIHgDATBgoqhkiG92NkBgEEAQH/BAIF
|
||||
ADANBgkqhkiG9w0BAQsFAAOCAQEANk6dzI9SJXj35krhx6WhXcQJoE8fZ6gNq9hW
|
||||
SvpLjffZyn9143zKGZ93izi10H1EwAbBHrZhiIW5Tl7PB6e7ZmUWPxuL/Syex9Js
|
||||
In9DnZp5XEHtbFZVQnffQqmIh0ZwmM40wgCMaOxRqtw/Vvlovb/K0sWmDXTbN1z0
|
||||
lFqALTqFbsfMDj6uE2Xl0RUn2Qc6XxqV7yh/qI9IYkMicrAmoOAhKTxX98ny7ioR
|
||||
et7F0aDF+CKG4ZceQt4QeYm9EnPHYt3DWBu3wIiwJJ+YCaclPPFK3+TgB64yNT7M
|
||||
0p4n7okj3vS5I7SnCy8wcYndluByp7G0pSAzLLP2eLO2I4oDyA==
|
||||
-----END CERTIFICATE-----
|
||||
BIN
deploy/ios/production/output.p12
Normal file
BIN
deploy/ios/production/output.p12
Normal file
Binary file not shown.
28
deploy/ios/production/private.key
Normal file
28
deploy/ios/production/private.key
Normal file
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDeSb0KJhm3L1Em
|
||||
GftfSFZliL2uZ8MWxJCO0MLEJBX1bs6aIsdJkhTej7FPKv5f716BcvYMiAxWmfwE
|
||||
PE2ALwFjoAy+GUHLzIcJsrYQk+u62pfvwJhj0boKt71Hg7E6JQGxbfg7Rs5upqAE
|
||||
LU86SdCkvcKVr/tLoqftyNwhvgOWVyiv+fbkyvysVVkQeCI6AweO7SGflDNH/BVw
|
||||
DrW9F8RkxqcewH4yYojfbearunJXoPlotwbabrk4eLgcjP94Sbtqzk0bjEjJghCx
|
||||
8SDAABliyunDMtEiD26HtCwGZiv81FlImUr2AE9Oes9DnXtFGcgDYCz/9mggbxuL
|
||||
n1VKZQ9BAgMBAAECggEAK0qKHf1gmbwF3llGCv8AEIMqidpcdMUwcBf5LpDmk+eS
|
||||
JhOq40mnddbfTc9OPinUqnpUsAkY+g7ANaT25QWCjEAB603o8gNxszJSYfUk/j2P
|
||||
RJqqMxqH1ImHO/PKYswNQdxscULvdj5OQLIAUZZJo6PvTw64brkNYnJxaMLkWPVg
|
||||
gNqmFMwNlpCUlYdMbARrBf+aLWuaXHcb9PmkwkAjrEVS87AErJFRmyiOX+LZcaYp
|
||||
YxUCp0DVmcyWeGrm0Jj3ai1PSxC9PjthMVWL1G84BQR5pb9ITpZJHypO0lY2sOM0
|
||||
5NjQo0C/iTqKjGbItbHjuHo/QZNzzVEd7gLMIqHY6QKBgQD8BxKFz+piwtA2fAGV
|
||||
xEuXA2oglYTn6baLS26PsJcfcgfgre1jTbmr8AQTph3U7kqwW+Q1QF6BTiaDUqZd
|
||||
y7HzC9dVLgqPbyshLWd9V+3xG+9Q+MvKjX4cWzT687bGBLixidy2svyse70BWDZx
|
||||
fC/5yIbI9dNSFmMXGrxg1Ia9HQKBgQDhyqrUhrWSIKyI0b17X/Kbh3pLs6XRaLto
|
||||
Q8hMZnsrlX1GH+T6kb5KaGe3txfo7UVqoYeUWhTGOnxmsNywRAyV5Ob0Ebq4a7oK
|
||||
K2Dtzx+yZVrYralxqxcMU1vr322j51zBWNT1f2ig0/ae78xijvIuYG/gDokRwGsp
|
||||
6k7o6z5VdQKBgQDIjfg3c9TY8p4uPVAllidw7M6vT0yMIHebMVOyFJyt8VhDeyTF
|
||||
OTzfjggweqiSoW3eGcHofmi2DTKonkS1rzrUZj/dEN5mddikdjU8kZRPoiM3FEVX
|
||||
0nDgr9PhP7/apDc1ULfKy3Q27eDiCQiKFoE3DFP152lakWYZJLVzeKwgIQKBgQCY
|
||||
0/vTBCcL9I+zv/t38ZadzRJrAPrghfordY2yoL8H3hRADcCIFXPum0JwqD5Hy6nr
|
||||
pc/GCz76eYXQYC/QIw89ugTU+NcgktIGphviewpiTpYyCUGijYJ5NkcGnWFxyl0P
|
||||
BZiHXqisCyxnobn+j/C+kUnIJy6B1HL0mQK2RtwXLQKBgQDDcfTi/UusJvrrHp6O
|
||||
DZlnP7lMWvOrKHUH2alDq6+YK3ieJ+e6btv3TxX2Y6CtbeKutjax3HQ/MTMwkeT8
|
||||
4mItZ+oHZcnYUKjYmDDKqxyUZLqdzuylNKd57gXl/BkfZBLk+MbgH9+zAb1VsnMz
|
||||
/8t+U5kmczy90XBU3OOigpWj+g==
|
||||
-----END PRIVATE KEY-----
|
||||
22
deploy/ios/production/request.csr
Normal file
22
deploy/ios/production/request.csr
Normal file
@@ -0,0 +1,22 @@
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIIDnTCCAoUCAQAwgfcxCzAJBgNVBAYTAkNOMREwDwYDVQQIDAjCusKjw4TDjzER
|
||||
MA8GA1UEBwwIwrrCo8K/w5oxQTA/BgNVBAoMOMK6wqPDhMOPw4rCocORwqfDk8Ou
|
||||
w4vCvMONw7jDgsOnwr/DhsK8wrzDk8OQw4/DnsK5wqvDi8K+MUEwPwYDVQQLDDjC
|
||||
usKjw4TDj8OKwqHDkcKnw5PDrsOLwrzDjcO4w4LDp8K/w4bCvMK8w5PDkMOPw57C
|
||||
ucKrw4vCvjEbMBkGA1UEAwwSY29tLmFsbGlub25lLmNoZWNrMR8wHQYJKoZIhvcN
|
||||
AQkBFhBhZG1pbkBpaWVlaWkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEA3km9CiYZty9RJhn7X0hWZYi9rmfDFsSQjtDCxCQV9W7OmiLHSZIU3o+x
|
||||
Tyr+X+9egXL2DIgMVpn8BDxNgC8BY6AMvhlBy8yHCbK2EJPrutqX78CYY9G6Cre9
|
||||
R4OxOiUBsW34O0bObqagBC1POknQpL3Cla/7S6Kn7cjcIb4Dllcor/n25Mr8rFVZ
|
||||
EHgiOgMHju0hn5QzR/wVcA61vRfEZManHsB+MmKI323mq7pyV6D5aLcG2m65OHi4
|
||||
HIz/eEm7as5NG4xIyYIQsfEgwAAZYsrpwzLRIg9uh7QsBmYr/NRZSJlK9gBPTnrP
|
||||
Q517RRnIA2As//ZoIG8bi59VSmUPQQIDAQABoGAwFQYJKoZIhvcNAQkHMQgMBjMy
|
||||
MDMyMDBHBgkqhkiG9w0BCQIxOgw4wrrCo8OEw4/DisKhw5HCp8OTw67Di8K8w43D
|
||||
uMOCw6fCv8OGwrzCvMOTw5DDj8OewrnCq8OLwr4wDQYJKoZIhvcNAQELBQADggEB
|
||||
AI1CQFPrHE3xVWpnxynxK4DjM7eRjjCkPVUd3/IqNfiLnRNatDRzdU4K/Y5bLSVk
|
||||
A4eEk479YeBw1Zyw2jlAvK0Ga0QLAE4/SWAvjCbSCqJqSe1/SR9skxaZO3DZECPG
|
||||
EAgdiNsmYYlg7Oae3OT77OAFn6GkhjpRFBADO4F4Yb5yj75njNNava7gHvMn9NMx
|
||||
12/IvIK1quS2V7XjcLaMIVkIfnYqGevbOnN3XGgwjGu2hCJz4Ob0iAI+kcNYdBrG
|
||||
7rdwfSW7AbCSFiHmRL4n5rjJN6rs4VEHMnOPoB05E2inpIzLxZPa0wJ2k0UR5zZL
|
||||
KKAkSMxpPrUvJyCnoRhX8BM=
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
7
doc/个人风险评估.md
Normal file
7
doc/个人风险评估.md
Normal file
@@ -0,0 +1,7 @@
|
||||
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
|
||||
2. 司法涉诉
|
||||
3. 风险人员检测(异常名单)
|
||||
4. 个人不良
|
||||
5. 人企关联
|
||||
6. 借贷意向
|
||||
7. 特殊名单(padding)
|
||||
6
doc/婚恋报告.md
Normal file
6
doc/婚恋报告.md
Normal file
@@ -0,0 +1,6 @@
|
||||
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
|
||||
2. 司法涉诉
|
||||
3. 个人不良 // 西部未启用
|
||||
4. 人企关联
|
||||
5. 借贷意向
|
||||
6. 单人婚姻状态
|
||||
6
doc/家政服务.md
Normal file
6
doc/家政服务.md
Normal file
@@ -0,0 +1,6 @@
|
||||
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
|
||||
2. 司法涉诉
|
||||
3. 特殊名单
|
||||
4. 个人不良
|
||||
5. 借贷意向
|
||||
6. 资格证书
|
||||
6
doc/租赁服务.md
Normal file
6
doc/租赁服务.md
Normal file
@@ -0,0 +1,6 @@
|
||||
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
|
||||
2. 司法涉诉
|
||||
3. 风险人员检测(异常名单)
|
||||
4. 个人不良
|
||||
5. 借贷意向
|
||||
6. 特殊名单
|
||||
9
doc/认识背景调查报告.md
Normal file
9
doc/认识背景调查报告.md
Normal file
@@ -0,0 +1,9 @@
|
||||
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
|
||||
2. 司法涉诉
|
||||
3. 风险人员检测(异常名单)
|
||||
4. 个人不良
|
||||
5. 人企关联
|
||||
6. 借贷意向
|
||||
7. 特殊名单
|
||||
8. 借贷行为
|
||||
9. 婚姻信息调查
|
||||
9
doc/贷前背调.md
Normal file
9
doc/贷前背调.md
Normal file
@@ -0,0 +1,9 @@
|
||||
1. 身份检测(三要素或二要素)姓名+身份证+手机号码
|
||||
2. 司法涉诉
|
||||
3. 风险人员检测(异常名单)
|
||||
4. 个人不良
|
||||
5. 借贷行为
|
||||
6. 借贷意向
|
||||
7. 特殊名单
|
||||
8. 偿贷压力
|
||||
9. 婚姻状态
|
||||
15
eslint.config.mjs
Normal file
15
eslint.config.mjs
Normal file
@@ -0,0 +1,15 @@
|
||||
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',
|
||||
},
|
||||
},
|
||||
)
|
||||
21
index.html
Normal file
21
index.html
Normal file
@@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<link rel="icon" href="static/logo.svg">
|
||||
<script>
|
||||
const coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)')
|
||||
|| CSS.supports('top: constant(a)'))
|
||||
document.write(
|
||||
`<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0${
|
||||
coverSupport ? ', viewport-fit=cover' : ''}" />`)
|
||||
</script>
|
||||
<title></title>
|
||||
<!--preload-links-->
|
||||
<!--app-context-->
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"><!--app-html--></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
118
manifest.config.ts
Normal file
118
manifest.config.ts
Normal file
@@ -0,0 +1,118 @@
|
||||
import { defineManifestConfig } from '@uni-helper/vite-plugin-uni-manifest'
|
||||
|
||||
export default defineManifestConfig({
|
||||
'name': '全能查',
|
||||
'appid': '__UNI__CC3DA09',
|
||||
'description': '',
|
||||
'versionName': '1.0.0',
|
||||
'versionCode': '101',
|
||||
'transformPx': false,
|
||||
/* 5+App特有相关 */
|
||||
'app-plus': {
|
||||
usingComponents: true,
|
||||
nvueStyleCompiler: 'uni-app',
|
||||
compilerVersion: 3,
|
||||
background: '#000000',
|
||||
compatible: {
|
||||
ignoreVersion: true,
|
||||
},
|
||||
splashscreen: {
|
||||
alwaysShowBeforeRender: true,
|
||||
waiting: true,
|
||||
autoclose: true,
|
||||
delay: 0,
|
||||
},
|
||||
|
||||
/* 模块配置 */
|
||||
modules: {
|
||||
Payment: {},
|
||||
},
|
||||
/* 应用发布信息 */
|
||||
distribute: {
|
||||
/* android打包配置 */
|
||||
android: {
|
||||
permissions: [
|
||||
'<uses-permission android:name="android.permission.INTERNET"/>',
|
||||
'<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>',
|
||||
'<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>',
|
||||
],
|
||||
},
|
||||
/* ios打包配置 */
|
||||
ios: {
|
||||
privacyDescription: {
|
||||
NSLocalNetworkUsageDescription: '需要访问您的网络来提供更好的服务',
|
||||
},
|
||||
idfa: false,
|
||||
},
|
||||
/* SDK配置 */
|
||||
sdkConfigs: {
|
||||
payment: {
|
||||
alipay: {
|
||||
__platform__: ['ios', 'android'],
|
||||
},
|
||||
},
|
||||
},
|
||||
icons: {
|
||||
android: {
|
||||
hdpi: 'src/static/icons/72x72.png',
|
||||
xhdpi: 'src/static/icons/96x96.png',
|
||||
xxhdpi: 'src/static/icons/144x144.png',
|
||||
xxxhdpi: 'src/static/icons/192x192.png',
|
||||
},
|
||||
ios: {
|
||||
appstore: 'src/static/icons/1024x1024.png',
|
||||
ipad: {
|
||||
'app': 'src/static/icons/76x76.png',
|
||||
'app@2x': 'src/static/icons/152x152.png',
|
||||
'notification': 'src/static/icons/20x20.png',
|
||||
'notification@2x': 'src/static/icons/40x40.png',
|
||||
'proapp@2x': 'src/static/icons/167x167.png',
|
||||
'settings': 'src/static/icons/29x29.png',
|
||||
'settings@2x': 'src/static/icons/58x58.png',
|
||||
'spotlight': 'src/static/icons/40x40.png',
|
||||
'spotlight@2x': 'src/static/icons/80x80.png',
|
||||
},
|
||||
iphone: {
|
||||
'app@2x': 'src/static/icons/120x120.png',
|
||||
'app@3x': 'src/static/icons/180x180.png',
|
||||
'notification@2x': 'src/static/icons/40x40.png',
|
||||
'notification@3x': 'src/static/icons/60x60.png',
|
||||
'settings@2x': 'src/static/icons/58x58.png',
|
||||
'settings@3x': 'src/static/icons/87x87.png',
|
||||
'spotlight@2x': 'src/static/icons/80x80.png',
|
||||
'spotlight@3x': 'src/static/icons/120x120.png',
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
/* 快应用特有相关 */
|
||||
'quickapp': {},
|
||||
/* 小程序特有相关 */
|
||||
'mp-weixin': {
|
||||
appid: '',
|
||||
setting: {
|
||||
urlCheck: false,
|
||||
},
|
||||
usingComponents: true,
|
||||
darkmode: false,
|
||||
themeLocation: 'theme.json',
|
||||
},
|
||||
'mp-alipay': {
|
||||
usingComponents: true,
|
||||
},
|
||||
'mp-baidu': {
|
||||
usingComponents: true,
|
||||
},
|
||||
'mp-toutiao': {
|
||||
usingComponents: true,
|
||||
},
|
||||
'h5': {
|
||||
darkmode: false,
|
||||
themeLocation: 'theme.json',
|
||||
},
|
||||
'uniStatistics': {
|
||||
enable: false,
|
||||
},
|
||||
'vueVersion': '3',
|
||||
})
|
||||
103
package.json
Normal file
103
package.json
Normal file
@@ -0,0 +1,103 @@
|
||||
{
|
||||
"name": "uni-qnc",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@9.9.0",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"dev": "uni",
|
||||
"dev:app": "uni -p app",
|
||||
"dev:app-plus": "uni -p app-plus",
|
||||
"dev:app-android": "uni -p app-android",
|
||||
"dev:app-ios": "uni -p app-ios",
|
||||
"dev:custom": "uni -p",
|
||||
"dev:h5": "uni",
|
||||
"dev:h5:ssr": "uni --ssr",
|
||||
"dev:mp-alipay": "uni -p mp-alipay",
|
||||
"dev:mp-baidu": "uni -p mp-baidu",
|
||||
"dev:mp-kuaishou": "uni -p mp-kuaishou",
|
||||
"dev:mp-lark": "uni -p mp-lark",
|
||||
"dev:mp-qq": "uni -p mp-qq",
|
||||
"dev:mp-toutiao": "uni -p mp-toutiao",
|
||||
"dev:mp-weixin": "uni -p mp-weixin",
|
||||
"dev:quickapp-webview": "uni -p quickapp-webview",
|
||||
"dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
|
||||
"dev:quickapp-webview-union": "uni -p quickapp-webview-union",
|
||||
"build": "uni build",
|
||||
"build:app": "uni build -p app",
|
||||
"build:app-plus": "uni build -p app-plus",
|
||||
"build:app-android": "uni build -p app-android",
|
||||
"build:app-ios": "uni build -p app-ios",
|
||||
"build:custom": "uni build -p",
|
||||
"build:h5": "uni build",
|
||||
"build:h5:ssr": "uni build --ssr",
|
||||
"build:mp-alipay": "uni build -p mp-alipay",
|
||||
"build:mp-baidu": "uni build -p mp-baidu",
|
||||
"build:mp-kuaishou": "uni build -p mp-kuaishou",
|
||||
"build:mp-lark": "uni build -p mp-lark",
|
||||
"build:mp-qq": "uni build -p mp-qq",
|
||||
"build:mp-toutiao": "uni build -p mp-toutiao",
|
||||
"build:mp-weixin": "uni build -p mp-weixin",
|
||||
"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",
|
||||
"postinstall": "npx simple-git-hooks"
|
||||
},
|
||||
"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",
|
||||
"@vueuse/core": "^11.1.0",
|
||||
"crypto-js": "^4.2.0",
|
||||
"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/uni-vue-devtools": "3.0.0-4020420240722002",
|
||||
"@dcloudio/vite-plugin-uni": "3.0.0-4020420240722002",
|
||||
"@iconify-json/carbon": "^1.2.3",
|
||||
"@mini-types/alipay": "^3.0.14",
|
||||
"@types/node": "^20.16.12",
|
||||
"@uni-helper/eslint-config": "^0.1.0",
|
||||
"@uni-helper/uni-env": "^0.1.4",
|
||||
"@uni-helper/uni-types": "1.0.0-alpha.4",
|
||||
"@uni-helper/unocss-preset-uni": "^0.2.10",
|
||||
"@uni-helper/vite-plugin-uni-components": "^0.1.0",
|
||||
"@uni-helper/vite-plugin-uni-layouts": "^0.1.10",
|
||||
"@uni-helper/vite-plugin-uni-manifest": "^0.2.7",
|
||||
"@uni-helper/vite-plugin-uni-pages": "^0.2.28",
|
||||
"@uni-helper/volar-service-uni-pages": "^0.2.28",
|
||||
"@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",
|
||||
"simple-git-hooks": "^2.11.1",
|
||||
"typescript": "~5.5.4",
|
||||
"unocss": "^0.62.4",
|
||||
"unplugin-auto-import": "^0.18.3",
|
||||
"vite": "^5.4.9",
|
||||
"vue-tsc": "^2.1.6"
|
||||
}
|
||||
}
|
||||
39
pages.config.ts
Normal file
39
pages.config.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { defineUniPages } from '@uni-helper/vite-plugin-uni-pages'
|
||||
|
||||
export default defineUniPages({
|
||||
pages: [],
|
||||
globalStyle: {
|
||||
backgroundColor: '@bgColor',
|
||||
backgroundColorBottom: '@bgColorBottom',
|
||||
backgroundColorTop: '@bgColorTop',
|
||||
backgroundTextStyle: '@bgTxtStyle',
|
||||
navigationBarBackgroundColor: '#000000',
|
||||
navigationBarTextStyle: '@navTxtStyle',
|
||||
navigationBarTitleText: '全能查',
|
||||
navigationStyle: 'custom',
|
||||
},
|
||||
|
||||
tabBar: {
|
||||
backgroundColor: '@tabBgColor',
|
||||
borderStyle: '@tabBorderStyle',
|
||||
color: '@tabFontColor',
|
||||
selectedColor: '@tabSelectedColor',
|
||||
list: [
|
||||
{
|
||||
pagePath: 'pages/index',
|
||||
text: '',
|
||||
visible: false,
|
||||
},
|
||||
{
|
||||
pagePath: 'pages/ai',
|
||||
text: '',
|
||||
visible: false,
|
||||
},
|
||||
{
|
||||
pagePath: 'pages/me',
|
||||
text: '',
|
||||
visible: false,
|
||||
},
|
||||
],
|
||||
},
|
||||
})
|
||||
12028
pnpm-lock.yaml
generated
Normal file
12028
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
3
renovate.json
Normal file
3
renovate.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": ["github>uni-helper/renovate-config"]
|
||||
}
|
||||
4
src/App.vue
Normal file
4
src/App.vue
Normal file
@@ -0,0 +1,4 @@
|
||||
<script setup>
|
||||
onLaunch(() => {
|
||||
})
|
||||
</script>
|
||||
40
src/androidPrivacy.json
Normal file
40
src/androidPrivacy.json
Normal file
@@ -0,0 +1,40 @@
|
||||
{
|
||||
"prompt": "template",
|
||||
"title": "用户协议和隐私政策",
|
||||
"message": "感谢您使用全能查APP! 我们非常重视您的隐私保护和个人信息保护,在您使用全能查APP前,请您仔细阅读、充分理解<a href=\"/pages/userAgreement\">《用户协议》</a>和<a href=\"/pages/privacyPolicy\">《隐私政策》</a>的各项条款。如果您同意,请点击下方按钮开始接受我们的服务。",
|
||||
"buttonAccept": "同意并继续",
|
||||
"buttonRefuse": "退出应用",
|
||||
"hrefLoader": "default",
|
||||
"second": {
|
||||
"title": "确认提示",
|
||||
"message": "您点击同意并继续视为您已同意上诉协议的全部内容",
|
||||
"buttonAccept": "同意并继续",
|
||||
"buttonRefuse": "退出"
|
||||
},
|
||||
"styles": {
|
||||
"backgroundColor": "#FFFFFF",
|
||||
"borderRadius": "10px",
|
||||
"title": {
|
||||
"color": "#333333",
|
||||
"fontSize": "18px",
|
||||
"fontWeight": "bold"
|
||||
},
|
||||
"message": {
|
||||
"color": "#666666",
|
||||
"fontSize": "14px",
|
||||
"lineHeight": "1.5"
|
||||
},
|
||||
"buttonAccept": {
|
||||
"color": "#333333",
|
||||
"backgroundColor": "#007AFF",
|
||||
"borderRadius": "5px",
|
||||
"padding": "10px 20px"
|
||||
},
|
||||
"buttonRefuse": {
|
||||
"color": "#333333",
|
||||
"backgroundColor": "#FF3B30",
|
||||
"borderRadius": "5px",
|
||||
"padding": "10px 20px"
|
||||
}
|
||||
}
|
||||
}
|
||||
114
src/api/apis.js
Normal file
114
src/api/apis.js
Normal file
@@ -0,0 +1,114 @@
|
||||
// api/index.js
|
||||
import request from '@/utils/request.js'
|
||||
|
||||
export function getUserInfo(data) {
|
||||
return request({
|
||||
url: '/user/detail',
|
||||
method: 'GET',
|
||||
data,
|
||||
})
|
||||
}
|
||||
|
||||
export function login(data) {
|
||||
return request({
|
||||
url: '/user/mobileCodeLogin',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function getCode(data) {
|
||||
return request({
|
||||
url: '/auth/sendSms',
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function getProduct(en) {
|
||||
return request({
|
||||
url: `/product/en/${en}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
export function queryExample(params) {
|
||||
return request({
|
||||
url: `/query/example`,
|
||||
method: 'GET',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
||||
export function queryMarriage(data) {
|
||||
return request({
|
||||
url: `/query/marriage`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function queryhomeService(data) {
|
||||
return request({
|
||||
url: `/query/homeService`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function queryriskAssessment(data) {
|
||||
return request({
|
||||
url: `/query/riskAssessment`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function querycompanyInfo(data) {
|
||||
return request({
|
||||
url: `/query/companyInfo`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function queryrentalInfo(data) {
|
||||
return request({
|
||||
url: `/query/rentalInfo`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function querypreLoanBackgroundCheck(data) {
|
||||
return request({
|
||||
url: `/query/preLoanBackgroundCheck`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function querybackgroundCheck(data) {
|
||||
return request({
|
||||
url: `/query/backgroundCheck`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
export function queryResultByOrder(orderID) {
|
||||
return request({
|
||||
url: `/query/orderId/${orderID}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
export function queryList(params) {
|
||||
return request({
|
||||
url: `/query/list`,
|
||||
method: 'GET',
|
||||
params,
|
||||
})
|
||||
}
|
||||
export function queryProvisionalOrder(id) {
|
||||
return request({
|
||||
url: `/query/provisional_order/${id}`,
|
||||
method: 'GET',
|
||||
})
|
||||
}
|
||||
export function payment(data) {
|
||||
return request({
|
||||
url: `/pay/payment`,
|
||||
method: 'POST',
|
||||
data,
|
||||
})
|
||||
}
|
||||
42
src/app.scss
Normal file
42
src/app.scss
Normal file
@@ -0,0 +1,42 @@
|
||||
:root {
|
||||
--dark-bg: #18181c;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 4px; // * 方便unocss计算:1单位 = 0.25rem = 1px
|
||||
}
|
||||
|
||||
body {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
html,
|
||||
body,
|
||||
page,
|
||||
#app {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #f8f8f8
|
||||
}
|
||||
|
||||
html.dark {
|
||||
background: var(--dark-bg);
|
||||
}
|
||||
|
||||
.card{
|
||||
@apply border border-gray-200 rounded-xl bg-white p-6 shadow-md;
|
||||
}
|
||||
.card-p-0{
|
||||
@apply border border-gray-200 rounded-xl bg-white shadow-md;
|
||||
}
|
||||
.title {
|
||||
@apply mx-auto mt-2 w-68 border rounded-3xl bg-gradient-to-r from-blue-400 via-green-500 to-teal-500 py-2 text-center text-white font-bold;
|
||||
}
|
||||
.scrollbar-hidden {
|
||||
scrollbar-width: none; /* Firefox */
|
||||
}
|
||||
.scrollbar-hidden::-webkit-scrollbar {
|
||||
display: none; /* Chrome, Safari, and Edge */
|
||||
}
|
||||
|
||||
634
src/auto-imports.d.ts
vendored
Normal file
634
src/auto-imports.d.ts
vendored
Normal file
@@ -0,0 +1,634 @@
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// noinspection JSUnusedGlobalSymbols
|
||||
// Generated by unplugin-auto-import
|
||||
// biome-ignore lint: disable
|
||||
export {}
|
||||
declare global {
|
||||
const EffectScope: typeof import('vue')['EffectScope']
|
||||
const aesDecrypt: typeof import('./utils/crypto.js')['aesDecrypt']
|
||||
const aesEncrypt: typeof import('./utils/crypto.js')['aesEncrypt']
|
||||
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
|
||||
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
|
||||
const computed: typeof import('vue')['computed']
|
||||
const computedAsync: typeof import('@vueuse/core')['computedAsync']
|
||||
const computedEager: typeof import('@vueuse/core')['computedEager']
|
||||
const computedInject: typeof import('@vueuse/core')['computedInject']
|
||||
const computedWithControl: typeof import('@vueuse/core')['computedWithControl']
|
||||
const controlledComputed: typeof import('@vueuse/core')['controlledComputed']
|
||||
const controlledRef: typeof import('@vueuse/core')['controlledRef']
|
||||
const createApp: typeof import('vue')['createApp']
|
||||
const createEventHook: typeof import('@vueuse/core')['createEventHook']
|
||||
const createGlobalState: typeof import('@vueuse/core')['createGlobalState']
|
||||
const createInjectionState: typeof import('@vueuse/core')['createInjectionState']
|
||||
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn']
|
||||
const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate']
|
||||
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable']
|
||||
const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise']
|
||||
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn']
|
||||
const customRef: typeof import('vue')['customRef']
|
||||
const debouncedRef: typeof import('@vueuse/core')['debouncedRef']
|
||||
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch']
|
||||
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||
const defineComponent: typeof import('vue')['defineComponent']
|
||||
const eagerComputed: typeof import('@vueuse/core')['eagerComputed']
|
||||
const effectScope: typeof import('vue')['effectScope']
|
||||
const extendRef: typeof import('@vueuse/core')['extendRef']
|
||||
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||
const h: typeof import('vue')['h']
|
||||
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
|
||||
const inject: typeof import('vue')['inject']
|
||||
const injectLocal: typeof import('@vueuse/core')['injectLocal']
|
||||
const isDefined: typeof import('@vueuse/core')['isDefined']
|
||||
const isProxy: typeof import('vue')['isProxy']
|
||||
const isReactive: typeof import('vue')['isReactive']
|
||||
const isReadonly: typeof import('vue')['isReadonly']
|
||||
const isRef: typeof import('vue')['isRef']
|
||||
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable']
|
||||
const markRaw: typeof import('vue')['markRaw']
|
||||
const nextTick: typeof import('vue')['nextTick']
|
||||
const onActivated: typeof import('vue')['onActivated']
|
||||
const onAddToFavorites: typeof import('@dcloudio/uni-app')['onAddToFavorites']
|
||||
const onBackPress: typeof import('@dcloudio/uni-app')['onBackPress']
|
||||
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||
const onClickOutside: typeof import('@vueuse/core')['onClickOutside']
|
||||
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||
const onError: typeof import('@dcloudio/uni-app')['onError']
|
||||
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||
const onHide: typeof import('@dcloudio/uni-app')['onHide']
|
||||
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke']
|
||||
const onLaunch: typeof import('@dcloudio/uni-app')['onLaunch']
|
||||
const onLoad: typeof import('@dcloudio/uni-app')['onLoad']
|
||||
const onLongPress: typeof import('@vueuse/core')['onLongPress']
|
||||
const onMounted: typeof import('vue')['onMounted']
|
||||
const onNavigationBarButtonTap: typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap']
|
||||
const onNavigationBarSearchInputChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged']
|
||||
const onNavigationBarSearchInputClicked: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked']
|
||||
const onNavigationBarSearchInputConfirmed: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed']
|
||||
const onNavigationBarSearchInputFocusChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged']
|
||||
const onPageNotFound: typeof import('@dcloudio/uni-app')['onPageNotFound']
|
||||
const onPageScroll: typeof import('@dcloudio/uni-app')['onPageScroll']
|
||||
const onPullDownRefresh: typeof import('@dcloudio/uni-app')['onPullDownRefresh']
|
||||
const onReachBottom: typeof import('@dcloudio/uni-app')['onReachBottom']
|
||||
const onReady: typeof import('@dcloudio/uni-app')['onReady']
|
||||
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||
const onResize: typeof import('@dcloudio/uni-app')['onResize']
|
||||
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||
const onShareAppMessage: typeof import('@dcloudio/uni-app')['onShareAppMessage']
|
||||
const onShareTimeline: typeof import('@dcloudio/uni-app')['onShareTimeline']
|
||||
const onShow: typeof import('@dcloudio/uni-app')['onShow']
|
||||
const onStartTyping: typeof import('@vueuse/core')['onStartTyping']
|
||||
const onTabItemTap: typeof import('@dcloudio/uni-app')['onTabItemTap']
|
||||
const onThemeChange: typeof import('@dcloudio/uni-app')['onThemeChange']
|
||||
const onUnhandledRejection: typeof import('@dcloudio/uni-app')['onUnhandledRejection']
|
||||
const onUnload: typeof import('@dcloudio/uni-app')['onUnload']
|
||||
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||
const onUpdated: typeof import('vue')['onUpdated']
|
||||
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
|
||||
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
|
||||
const provide: typeof import('vue')['provide']
|
||||
const provideLocal: typeof import('@vueuse/core')['provideLocal']
|
||||
const reactify: typeof import('@vueuse/core')['reactify']
|
||||
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
|
||||
const reactive: typeof import('vue')['reactive']
|
||||
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed']
|
||||
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit']
|
||||
const reactivePick: typeof import('@vueuse/core')['reactivePick']
|
||||
const readonly: typeof import('vue')['readonly']
|
||||
const ref: typeof import('vue')['ref']
|
||||
const refAutoReset: typeof import('@vueuse/core')['refAutoReset']
|
||||
const refDebounced: typeof import('@vueuse/core')['refDebounced']
|
||||
const refDefault: typeof import('@vueuse/core')['refDefault']
|
||||
const refThrottled: typeof import('@vueuse/core')['refThrottled']
|
||||
const refWithControl: typeof import('@vueuse/core')['refWithControl']
|
||||
const request: typeof import('./utils/request.js')['default']
|
||||
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||
const resolveRef: typeof import('@vueuse/core')['resolveRef']
|
||||
const resolveUnref: typeof import('@vueuse/core')['resolveUnref']
|
||||
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||
const shallowRef: typeof import('vue')['shallowRef']
|
||||
const syncRef: typeof import('@vueuse/core')['syncRef']
|
||||
const syncRefs: typeof import('@vueuse/core')['syncRefs']
|
||||
const templateRef: typeof import('@vueuse/core')['templateRef']
|
||||
const throttledRef: typeof import('@vueuse/core')['throttledRef']
|
||||
const throttledWatch: typeof import('@vueuse/core')['throttledWatch']
|
||||
const toRaw: typeof import('vue')['toRaw']
|
||||
const toReactive: typeof import('@vueuse/core')['toReactive']
|
||||
const toRef: typeof import('vue')['toRef']
|
||||
const toRefs: typeof import('vue')['toRefs']
|
||||
const toValue: typeof import('vue')['toValue']
|
||||
const triggerRef: typeof import('vue')['triggerRef']
|
||||
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount']
|
||||
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount']
|
||||
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted']
|
||||
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose']
|
||||
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted']
|
||||
const unref: typeof import('vue')['unref']
|
||||
const unrefElement: typeof import('@vueuse/core')['unrefElement']
|
||||
const until: typeof import('@vueuse/core')['until']
|
||||
const useActiveElement: typeof import('@vueuse/core')['useActiveElement']
|
||||
const useAnimate: typeof import('@vueuse/core')['useAnimate']
|
||||
const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference']
|
||||
const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery']
|
||||
const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter']
|
||||
const useArrayFind: typeof import('@vueuse/core')['useArrayFind']
|
||||
const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex']
|
||||
const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast']
|
||||
const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes']
|
||||
const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin']
|
||||
const useArrayMap: typeof import('@vueuse/core')['useArrayMap']
|
||||
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce']
|
||||
const useArraySome: typeof import('@vueuse/core')['useArraySome']
|
||||
const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique']
|
||||
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue']
|
||||
const useAsyncState: typeof import('@vueuse/core')['useAsyncState']
|
||||
const useAttrs: typeof import('vue')['useAttrs']
|
||||
const useBase64: typeof import('@vueuse/core')['useBase64']
|
||||
const useBattery: typeof import('@vueuse/core')['useBattery']
|
||||
const useBluetooth: typeof import('@vueuse/core')['useBluetooth']
|
||||
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints']
|
||||
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel']
|
||||
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
|
||||
const useCached: typeof import('@vueuse/core')['useCached']
|
||||
const useClipboard: typeof import('@vueuse/core')['useClipboard']
|
||||
const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems']
|
||||
const useCloned: typeof import('@vueuse/core')['useCloned']
|
||||
const useColorMode: typeof import('@vueuse/core')['useColorMode']
|
||||
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
|
||||
const useCount: typeof import('./composables/useCount')['useCount']
|
||||
const useCounter: typeof import('@vueuse/core')['useCounter']
|
||||
const useCssModule: typeof import('vue')['useCssModule']
|
||||
const useCssVar: typeof import('@vueuse/core')['useCssVar']
|
||||
const useCssVars: typeof import('vue')['useCssVars']
|
||||
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement']
|
||||
const useCycleList: typeof import('@vueuse/core')['useCycleList']
|
||||
const useDark: typeof import('@vueuse/core')['useDark']
|
||||
const useDateFormat: typeof import('@vueuse/core')['useDateFormat']
|
||||
const useDebounce: typeof import('@vueuse/core')['useDebounce']
|
||||
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn']
|
||||
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory']
|
||||
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion']
|
||||
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation']
|
||||
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio']
|
||||
const useDevicesList: typeof import('@vueuse/core')['useDevicesList']
|
||||
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia']
|
||||
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility']
|
||||
const useDraggable: typeof import('@vueuse/core')['useDraggable']
|
||||
const useDropZone: typeof import('@vueuse/core')['useDropZone']
|
||||
const useElementBounding: typeof import('@vueuse/core')['useElementBounding']
|
||||
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint']
|
||||
const useElementHover: typeof import('@vueuse/core')['useElementHover']
|
||||
const useElementSize: typeof import('@vueuse/core')['useElementSize']
|
||||
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility']
|
||||
const useEventBus: typeof import('@vueuse/core')['useEventBus']
|
||||
const useEventListener: typeof import('@vueuse/core')['useEventListener']
|
||||
const useEventSource: typeof import('@vueuse/core')['useEventSource']
|
||||
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper']
|
||||
const useFavicon: typeof import('@vueuse/core')['useFavicon']
|
||||
const useFetch: typeof import('@vueuse/core')['useFetch']
|
||||
const useFileDialog: typeof import('@vueuse/core')['useFileDialog']
|
||||
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess']
|
||||
const useFocus: typeof import('@vueuse/core')['useFocus']
|
||||
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin']
|
||||
const useFps: typeof import('@vueuse/core')['useFps']
|
||||
const useFullscreen: typeof import('@vueuse/core')['useFullscreen']
|
||||
const useGamepad: typeof import('@vueuse/core')['useGamepad']
|
||||
const useGeolocation: typeof import('@vueuse/core')['useGeolocation']
|
||||
const useId: typeof import('vue')['useId']
|
||||
const useIdle: typeof import('@vueuse/core')['useIdle']
|
||||
const useImage: typeof import('@vueuse/core')['useImage']
|
||||
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll']
|
||||
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver']
|
||||
const useInterval: typeof import('@vueuse/core')['useInterval']
|
||||
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn']
|
||||
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier']
|
||||
const useLastChanged: typeof import('@vueuse/core')['useLastChanged']
|
||||
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage']
|
||||
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys']
|
||||
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory']
|
||||
const useMediaControls: typeof import('@vueuse/core')['useMediaControls']
|
||||
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery']
|
||||
const useMemoize: typeof import('@vueuse/core')['useMemoize']
|
||||
const useMemory: typeof import('@vueuse/core')['useMemory']
|
||||
const useModel: typeof import('vue')['useModel']
|
||||
const useMounted: typeof import('@vueuse/core')['useMounted']
|
||||
const useMouse: typeof import('@vueuse/core')['useMouse']
|
||||
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement']
|
||||
const useMousePressed: typeof import('@vueuse/core')['useMousePressed']
|
||||
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver']
|
||||
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage']
|
||||
const useNetwork: typeof import('@vueuse/core')['useNetwork']
|
||||
const useNow: typeof import('@vueuse/core')['useNow']
|
||||
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl']
|
||||
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination']
|
||||
const useOnline: typeof import('@vueuse/core')['useOnline']
|
||||
const usePageLeave: typeof import('@vueuse/core')['usePageLeave']
|
||||
const useParallax: typeof import('@vueuse/core')['useParallax']
|
||||
const useParentElement: typeof import('@vueuse/core')['useParentElement']
|
||||
const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver']
|
||||
const usePermission: typeof import('@vueuse/core')['usePermission']
|
||||
const usePointer: typeof import('@vueuse/core')['usePointer']
|
||||
const usePointerLock: typeof import('@vueuse/core')['usePointerLock']
|
||||
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe']
|
||||
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme']
|
||||
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast']
|
||||
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark']
|
||||
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages']
|
||||
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion']
|
||||
const usePrevious: typeof import('@vueuse/core')['usePrevious']
|
||||
const useQuery: typeof import('./composables/useQuery')['useQuery']
|
||||
const useRafFn: typeof import('@vueuse/core')['useRafFn']
|
||||
const useRefHistory: typeof import('@vueuse/core')['useRefHistory']
|
||||
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver']
|
||||
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation']
|
||||
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea']
|
||||
const useScriptTag: typeof import('@vueuse/core')['useScriptTag']
|
||||
const useScroll: typeof import('@vueuse/core')['useScroll']
|
||||
const useScrollLock: typeof import('@vueuse/core')['useScrollLock']
|
||||
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage']
|
||||
const useShare: typeof import('@vueuse/core')['useShare']
|
||||
const useSlots: typeof import('vue')['useSlots']
|
||||
const useSorted: typeof import('@vueuse/core')['useSorted']
|
||||
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition']
|
||||
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis']
|
||||
const useStepper: typeof import('@vueuse/core')['useStepper']
|
||||
const useStorage: typeof import('@vueuse/core')['useStorage']
|
||||
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync']
|
||||
const useStyleTag: typeof import('@vueuse/core')['useStyleTag']
|
||||
const useSupported: typeof import('@vueuse/core')['useSupported']
|
||||
const useSwipe: typeof import('@vueuse/core')['useSwipe']
|
||||
const useTemplateRef: typeof import('vue')['useTemplateRef']
|
||||
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList']
|
||||
const useTextDirection: typeof import('@vueuse/core')['useTextDirection']
|
||||
const useTextSelection: typeof import('@vueuse/core')['useTextSelection']
|
||||
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize']
|
||||
const useThrottle: typeof import('@vueuse/core')['useThrottle']
|
||||
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn']
|
||||
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory']
|
||||
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo']
|
||||
const useTimeout: typeof import('@vueuse/core')['useTimeout']
|
||||
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn']
|
||||
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll']
|
||||
const useTimestamp: typeof import('@vueuse/core')['useTimestamp']
|
||||
const useTitle: typeof import('@vueuse/core')['useTitle']
|
||||
const useToNumber: typeof import('@vueuse/core')['useToNumber']
|
||||
const useToString: typeof import('@vueuse/core')['useToString']
|
||||
const useToggle: typeof import('@vueuse/core')['useToggle']
|
||||
const useTransition: typeof import('@vueuse/core')['useTransition']
|
||||
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
|
||||
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
|
||||
const useVModel: typeof import('@vueuse/core')['useVModel']
|
||||
const useVModels: typeof import('@vueuse/core')['useVModels']
|
||||
const useVibrate: typeof import('@vueuse/core')['useVibrate']
|
||||
const useVirtualList: typeof import('@vueuse/core')['useVirtualList']
|
||||
const useWakeLock: typeof import('@vueuse/core')['useWakeLock']
|
||||
const useWebNotification: typeof import('@vueuse/core')['useWebNotification']
|
||||
const useWebSocket: typeof import('@vueuse/core')['useWebSocket']
|
||||
const useWebWorker: typeof import('@vueuse/core')['useWebWorker']
|
||||
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn']
|
||||
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus']
|
||||
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll']
|
||||
const useWindowSize: typeof import('@vueuse/core')['useWindowSize']
|
||||
const watch: typeof import('vue')['watch']
|
||||
const watchArray: typeof import('@vueuse/core')['watchArray']
|
||||
const watchAtMost: typeof import('@vueuse/core')['watchAtMost']
|
||||
const watchDebounced: typeof import('@vueuse/core')['watchDebounced']
|
||||
const watchDeep: typeof import('@vueuse/core')['watchDeep']
|
||||
const watchEffect: typeof import('vue')['watchEffect']
|
||||
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable']
|
||||
const watchImmediate: typeof import('@vueuse/core')['watchImmediate']
|
||||
const watchOnce: typeof import('@vueuse/core')['watchOnce']
|
||||
const watchPausable: typeof import('@vueuse/core')['watchPausable']
|
||||
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||
const watchThrottled: typeof import('@vueuse/core')['watchThrottled']
|
||||
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable']
|
||||
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter']
|
||||
const whenever: typeof import('@vueuse/core')['whenever']
|
||||
}
|
||||
// for type re-export
|
||||
declare global {
|
||||
// @ts-ignore
|
||||
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
||||
import('vue')
|
||||
}
|
||||
// for vue template auto import
|
||||
import { UnwrapRef } from 'vue'
|
||||
declare module 'vue' {
|
||||
interface GlobalComponents {}
|
||||
interface ComponentCustomProperties {
|
||||
readonly EffectScope: UnwrapRef<typeof import('vue')['EffectScope']>
|
||||
readonly aesDecrypt: UnwrapRef<typeof import('./utils/crypto.js')['aesDecrypt']>
|
||||
readonly aesEncrypt: UnwrapRef<typeof import('./utils/crypto.js')['aesEncrypt']>
|
||||
readonly asyncComputed: UnwrapRef<typeof import('@vueuse/core')['asyncComputed']>
|
||||
readonly autoResetRef: UnwrapRef<typeof import('@vueuse/core')['autoResetRef']>
|
||||
readonly computed: UnwrapRef<typeof import('vue')['computed']>
|
||||
readonly computedAsync: UnwrapRef<typeof import('@vueuse/core')['computedAsync']>
|
||||
readonly computedEager: UnwrapRef<typeof import('@vueuse/core')['computedEager']>
|
||||
readonly computedInject: UnwrapRef<typeof import('@vueuse/core')['computedInject']>
|
||||
readonly computedWithControl: UnwrapRef<typeof import('@vueuse/core')['computedWithControl']>
|
||||
readonly controlledComputed: UnwrapRef<typeof import('@vueuse/core')['controlledComputed']>
|
||||
readonly controlledRef: UnwrapRef<typeof import('@vueuse/core')['controlledRef']>
|
||||
readonly createApp: UnwrapRef<typeof import('vue')['createApp']>
|
||||
readonly createEventHook: UnwrapRef<typeof import('@vueuse/core')['createEventHook']>
|
||||
readonly createGlobalState: UnwrapRef<typeof import('@vueuse/core')['createGlobalState']>
|
||||
readonly createInjectionState: UnwrapRef<typeof import('@vueuse/core')['createInjectionState']>
|
||||
readonly createReactiveFn: UnwrapRef<typeof import('@vueuse/core')['createReactiveFn']>
|
||||
readonly createReusableTemplate: UnwrapRef<typeof import('@vueuse/core')['createReusableTemplate']>
|
||||
readonly createSharedComposable: UnwrapRef<typeof import('@vueuse/core')['createSharedComposable']>
|
||||
readonly createTemplatePromise: UnwrapRef<typeof import('@vueuse/core')['createTemplatePromise']>
|
||||
readonly createUnrefFn: UnwrapRef<typeof import('@vueuse/core')['createUnrefFn']>
|
||||
readonly customRef: UnwrapRef<typeof import('vue')['customRef']>
|
||||
readonly debouncedRef: UnwrapRef<typeof import('@vueuse/core')['debouncedRef']>
|
||||
readonly debouncedWatch: UnwrapRef<typeof import('@vueuse/core')['debouncedWatch']>
|
||||
readonly defineAsyncComponent: UnwrapRef<typeof import('vue')['defineAsyncComponent']>
|
||||
readonly defineComponent: UnwrapRef<typeof import('vue')['defineComponent']>
|
||||
readonly eagerComputed: UnwrapRef<typeof import('@vueuse/core')['eagerComputed']>
|
||||
readonly effectScope: UnwrapRef<typeof import('vue')['effectScope']>
|
||||
readonly extendRef: UnwrapRef<typeof import('@vueuse/core')['extendRef']>
|
||||
readonly getCurrentInstance: UnwrapRef<typeof import('vue')['getCurrentInstance']>
|
||||
readonly getCurrentScope: UnwrapRef<typeof import('vue')['getCurrentScope']>
|
||||
readonly h: UnwrapRef<typeof import('vue')['h']>
|
||||
readonly ignorableWatch: UnwrapRef<typeof import('@vueuse/core')['ignorableWatch']>
|
||||
readonly inject: UnwrapRef<typeof import('vue')['inject']>
|
||||
readonly injectLocal: UnwrapRef<typeof import('@vueuse/core')['injectLocal']>
|
||||
readonly isDefined: UnwrapRef<typeof import('@vueuse/core')['isDefined']>
|
||||
readonly isProxy: UnwrapRef<typeof import('vue')['isProxy']>
|
||||
readonly isReactive: UnwrapRef<typeof import('vue')['isReactive']>
|
||||
readonly isReadonly: UnwrapRef<typeof import('vue')['isReadonly']>
|
||||
readonly isRef: UnwrapRef<typeof import('vue')['isRef']>
|
||||
readonly makeDestructurable: UnwrapRef<typeof import('@vueuse/core')['makeDestructurable']>
|
||||
readonly markRaw: UnwrapRef<typeof import('vue')['markRaw']>
|
||||
readonly nextTick: UnwrapRef<typeof import('vue')['nextTick']>
|
||||
readonly onActivated: UnwrapRef<typeof import('vue')['onActivated']>
|
||||
readonly onAddToFavorites: UnwrapRef<typeof import('@dcloudio/uni-app')['onAddToFavorites']>
|
||||
readonly onBackPress: UnwrapRef<typeof import('@dcloudio/uni-app')['onBackPress']>
|
||||
readonly onBeforeMount: UnwrapRef<typeof import('vue')['onBeforeMount']>
|
||||
readonly onBeforeUnmount: UnwrapRef<typeof import('vue')['onBeforeUnmount']>
|
||||
readonly onBeforeUpdate: UnwrapRef<typeof import('vue')['onBeforeUpdate']>
|
||||
readonly onClickOutside: UnwrapRef<typeof import('@vueuse/core')['onClickOutside']>
|
||||
readonly onDeactivated: UnwrapRef<typeof import('vue')['onDeactivated']>
|
||||
readonly onError: UnwrapRef<typeof import('@dcloudio/uni-app')['onError']>
|
||||
readonly onErrorCaptured: UnwrapRef<typeof import('vue')['onErrorCaptured']>
|
||||
readonly onHide: UnwrapRef<typeof import('@dcloudio/uni-app')['onHide']>
|
||||
readonly onKeyStroke: UnwrapRef<typeof import('@vueuse/core')['onKeyStroke']>
|
||||
readonly onLaunch: UnwrapRef<typeof import('@dcloudio/uni-app')['onLaunch']>
|
||||
readonly onLoad: UnwrapRef<typeof import('@dcloudio/uni-app')['onLoad']>
|
||||
readonly onLongPress: UnwrapRef<typeof import('@vueuse/core')['onLongPress']>
|
||||
readonly onMounted: UnwrapRef<typeof import('vue')['onMounted']>
|
||||
readonly onNavigationBarButtonTap: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap']>
|
||||
readonly onNavigationBarSearchInputChanged: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged']>
|
||||
readonly onNavigationBarSearchInputClicked: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked']>
|
||||
readonly onNavigationBarSearchInputConfirmed: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed']>
|
||||
readonly onNavigationBarSearchInputFocusChanged: UnwrapRef<typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged']>
|
||||
readonly onPageNotFound: UnwrapRef<typeof import('@dcloudio/uni-app')['onPageNotFound']>
|
||||
readonly onPageScroll: UnwrapRef<typeof import('@dcloudio/uni-app')['onPageScroll']>
|
||||
readonly onPullDownRefresh: UnwrapRef<typeof import('@dcloudio/uni-app')['onPullDownRefresh']>
|
||||
readonly onReachBottom: UnwrapRef<typeof import('@dcloudio/uni-app')['onReachBottom']>
|
||||
readonly onReady: UnwrapRef<typeof import('@dcloudio/uni-app')['onReady']>
|
||||
readonly onRenderTracked: UnwrapRef<typeof import('vue')['onRenderTracked']>
|
||||
readonly onRenderTriggered: UnwrapRef<typeof import('vue')['onRenderTriggered']>
|
||||
readonly onResize: UnwrapRef<typeof import('@dcloudio/uni-app')['onResize']>
|
||||
readonly onScopeDispose: UnwrapRef<typeof import('vue')['onScopeDispose']>
|
||||
readonly onServerPrefetch: UnwrapRef<typeof import('vue')['onServerPrefetch']>
|
||||
readonly onShareAppMessage: UnwrapRef<typeof import('@dcloudio/uni-app')['onShareAppMessage']>
|
||||
readonly onShareTimeline: UnwrapRef<typeof import('@dcloudio/uni-app')['onShareTimeline']>
|
||||
readonly onShow: UnwrapRef<typeof import('@dcloudio/uni-app')['onShow']>
|
||||
readonly onStartTyping: UnwrapRef<typeof import('@vueuse/core')['onStartTyping']>
|
||||
readonly onTabItemTap: UnwrapRef<typeof import('@dcloudio/uni-app')['onTabItemTap']>
|
||||
readonly onThemeChange: UnwrapRef<typeof import('@dcloudio/uni-app')['onThemeChange']>
|
||||
readonly onUnhandledRejection: UnwrapRef<typeof import('@dcloudio/uni-app')['onUnhandledRejection']>
|
||||
readonly onUnload: UnwrapRef<typeof import('@dcloudio/uni-app')['onUnload']>
|
||||
readonly onUnmounted: UnwrapRef<typeof import('vue')['onUnmounted']>
|
||||
readonly onUpdated: UnwrapRef<typeof import('vue')['onUpdated']>
|
||||
readonly onWatcherCleanup: UnwrapRef<typeof import('vue')['onWatcherCleanup']>
|
||||
readonly pausableWatch: UnwrapRef<typeof import('@vueuse/core')['pausableWatch']>
|
||||
readonly provide: UnwrapRef<typeof import('vue')['provide']>
|
||||
readonly provideLocal: UnwrapRef<typeof import('@vueuse/core')['provideLocal']>
|
||||
readonly reactify: UnwrapRef<typeof import('@vueuse/core')['reactify']>
|
||||
readonly reactifyObject: UnwrapRef<typeof import('@vueuse/core')['reactifyObject']>
|
||||
readonly reactive: UnwrapRef<typeof import('vue')['reactive']>
|
||||
readonly reactiveComputed: UnwrapRef<typeof import('@vueuse/core')['reactiveComputed']>
|
||||
readonly reactiveOmit: UnwrapRef<typeof import('@vueuse/core')['reactiveOmit']>
|
||||
readonly reactivePick: UnwrapRef<typeof import('@vueuse/core')['reactivePick']>
|
||||
readonly readonly: UnwrapRef<typeof import('vue')['readonly']>
|
||||
readonly ref: UnwrapRef<typeof import('vue')['ref']>
|
||||
readonly refAutoReset: UnwrapRef<typeof import('@vueuse/core')['refAutoReset']>
|
||||
readonly refDebounced: UnwrapRef<typeof import('@vueuse/core')['refDebounced']>
|
||||
readonly refDefault: UnwrapRef<typeof import('@vueuse/core')['refDefault']>
|
||||
readonly refThrottled: UnwrapRef<typeof import('@vueuse/core')['refThrottled']>
|
||||
readonly refWithControl: UnwrapRef<typeof import('@vueuse/core')['refWithControl']>
|
||||
readonly request: UnwrapRef<typeof import('./utils/request.js')['default']>
|
||||
readonly resolveComponent: UnwrapRef<typeof import('vue')['resolveComponent']>
|
||||
readonly resolveRef: UnwrapRef<typeof import('@vueuse/core')['resolveRef']>
|
||||
readonly resolveUnref: UnwrapRef<typeof import('@vueuse/core')['resolveUnref']>
|
||||
readonly shallowReactive: UnwrapRef<typeof import('vue')['shallowReactive']>
|
||||
readonly shallowReadonly: UnwrapRef<typeof import('vue')['shallowReadonly']>
|
||||
readonly shallowRef: UnwrapRef<typeof import('vue')['shallowRef']>
|
||||
readonly syncRef: UnwrapRef<typeof import('@vueuse/core')['syncRef']>
|
||||
readonly syncRefs: UnwrapRef<typeof import('@vueuse/core')['syncRefs']>
|
||||
readonly templateRef: UnwrapRef<typeof import('@vueuse/core')['templateRef']>
|
||||
readonly throttledRef: UnwrapRef<typeof import('@vueuse/core')['throttledRef']>
|
||||
readonly throttledWatch: UnwrapRef<typeof import('@vueuse/core')['throttledWatch']>
|
||||
readonly toRaw: UnwrapRef<typeof import('vue')['toRaw']>
|
||||
readonly toReactive: UnwrapRef<typeof import('@vueuse/core')['toReactive']>
|
||||
readonly toRef: UnwrapRef<typeof import('vue')['toRef']>
|
||||
readonly toRefs: UnwrapRef<typeof import('vue')['toRefs']>
|
||||
readonly toValue: UnwrapRef<typeof import('vue')['toValue']>
|
||||
readonly triggerRef: UnwrapRef<typeof import('vue')['triggerRef']>
|
||||
readonly tryOnBeforeMount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeMount']>
|
||||
readonly tryOnBeforeUnmount: UnwrapRef<typeof import('@vueuse/core')['tryOnBeforeUnmount']>
|
||||
readonly tryOnMounted: UnwrapRef<typeof import('@vueuse/core')['tryOnMounted']>
|
||||
readonly tryOnScopeDispose: UnwrapRef<typeof import('@vueuse/core')['tryOnScopeDispose']>
|
||||
readonly tryOnUnmounted: UnwrapRef<typeof import('@vueuse/core')['tryOnUnmounted']>
|
||||
readonly unref: UnwrapRef<typeof import('vue')['unref']>
|
||||
readonly unrefElement: UnwrapRef<typeof import('@vueuse/core')['unrefElement']>
|
||||
readonly until: UnwrapRef<typeof import('@vueuse/core')['until']>
|
||||
readonly useActiveElement: UnwrapRef<typeof import('@vueuse/core')['useActiveElement']>
|
||||
readonly useAnimate: UnwrapRef<typeof import('@vueuse/core')['useAnimate']>
|
||||
readonly useArrayDifference: UnwrapRef<typeof import('@vueuse/core')['useArrayDifference']>
|
||||
readonly useArrayEvery: UnwrapRef<typeof import('@vueuse/core')['useArrayEvery']>
|
||||
readonly useArrayFilter: UnwrapRef<typeof import('@vueuse/core')['useArrayFilter']>
|
||||
readonly useArrayFind: UnwrapRef<typeof import('@vueuse/core')['useArrayFind']>
|
||||
readonly useArrayFindIndex: UnwrapRef<typeof import('@vueuse/core')['useArrayFindIndex']>
|
||||
readonly useArrayFindLast: UnwrapRef<typeof import('@vueuse/core')['useArrayFindLast']>
|
||||
readonly useArrayIncludes: UnwrapRef<typeof import('@vueuse/core')['useArrayIncludes']>
|
||||
readonly useArrayJoin: UnwrapRef<typeof import('@vueuse/core')['useArrayJoin']>
|
||||
readonly useArrayMap: UnwrapRef<typeof import('@vueuse/core')['useArrayMap']>
|
||||
readonly useArrayReduce: UnwrapRef<typeof import('@vueuse/core')['useArrayReduce']>
|
||||
readonly useArraySome: UnwrapRef<typeof import('@vueuse/core')['useArraySome']>
|
||||
readonly useArrayUnique: UnwrapRef<typeof import('@vueuse/core')['useArrayUnique']>
|
||||
readonly useAsyncQueue: UnwrapRef<typeof import('@vueuse/core')['useAsyncQueue']>
|
||||
readonly useAsyncState: UnwrapRef<typeof import('@vueuse/core')['useAsyncState']>
|
||||
readonly useAttrs: UnwrapRef<typeof import('vue')['useAttrs']>
|
||||
readonly useBase64: UnwrapRef<typeof import('@vueuse/core')['useBase64']>
|
||||
readonly useBattery: UnwrapRef<typeof import('@vueuse/core')['useBattery']>
|
||||
readonly useBluetooth: UnwrapRef<typeof import('@vueuse/core')['useBluetooth']>
|
||||
readonly useBreakpoints: UnwrapRef<typeof import('@vueuse/core')['useBreakpoints']>
|
||||
readonly useBroadcastChannel: UnwrapRef<typeof import('@vueuse/core')['useBroadcastChannel']>
|
||||
readonly useBrowserLocation: UnwrapRef<typeof import('@vueuse/core')['useBrowserLocation']>
|
||||
readonly useCached: UnwrapRef<typeof import('@vueuse/core')['useCached']>
|
||||
readonly useClipboard: UnwrapRef<typeof import('@vueuse/core')['useClipboard']>
|
||||
readonly useClipboardItems: UnwrapRef<typeof import('@vueuse/core')['useClipboardItems']>
|
||||
readonly useCloned: UnwrapRef<typeof import('@vueuse/core')['useCloned']>
|
||||
readonly useColorMode: UnwrapRef<typeof import('@vueuse/core')['useColorMode']>
|
||||
readonly useConfirmDialog: UnwrapRef<typeof import('@vueuse/core')['useConfirmDialog']>
|
||||
readonly useCount: UnwrapRef<typeof import('./composables/useCount')['useCount']>
|
||||
readonly useCounter: UnwrapRef<typeof import('@vueuse/core')['useCounter']>
|
||||
readonly useCssModule: UnwrapRef<typeof import('vue')['useCssModule']>
|
||||
readonly useCssVar: UnwrapRef<typeof import('@vueuse/core')['useCssVar']>
|
||||
readonly useCssVars: UnwrapRef<typeof import('vue')['useCssVars']>
|
||||
readonly useCurrentElement: UnwrapRef<typeof import('@vueuse/core')['useCurrentElement']>
|
||||
readonly useCycleList: UnwrapRef<typeof import('@vueuse/core')['useCycleList']>
|
||||
readonly useDark: UnwrapRef<typeof import('@vueuse/core')['useDark']>
|
||||
readonly useDateFormat: UnwrapRef<typeof import('@vueuse/core')['useDateFormat']>
|
||||
readonly useDebounce: UnwrapRef<typeof import('@vueuse/core')['useDebounce']>
|
||||
readonly useDebounceFn: UnwrapRef<typeof import('@vueuse/core')['useDebounceFn']>
|
||||
readonly useDebouncedRefHistory: UnwrapRef<typeof import('@vueuse/core')['useDebouncedRefHistory']>
|
||||
readonly useDeviceMotion: UnwrapRef<typeof import('@vueuse/core')['useDeviceMotion']>
|
||||
readonly useDeviceOrientation: UnwrapRef<typeof import('@vueuse/core')['useDeviceOrientation']>
|
||||
readonly useDevicePixelRatio: UnwrapRef<typeof import('@vueuse/core')['useDevicePixelRatio']>
|
||||
readonly useDevicesList: UnwrapRef<typeof import('@vueuse/core')['useDevicesList']>
|
||||
readonly useDisplayMedia: UnwrapRef<typeof import('@vueuse/core')['useDisplayMedia']>
|
||||
readonly useDocumentVisibility: UnwrapRef<typeof import('@vueuse/core')['useDocumentVisibility']>
|
||||
readonly useDraggable: UnwrapRef<typeof import('@vueuse/core')['useDraggable']>
|
||||
readonly useDropZone: UnwrapRef<typeof import('@vueuse/core')['useDropZone']>
|
||||
readonly useElementBounding: UnwrapRef<typeof import('@vueuse/core')['useElementBounding']>
|
||||
readonly useElementByPoint: UnwrapRef<typeof import('@vueuse/core')['useElementByPoint']>
|
||||
readonly useElementHover: UnwrapRef<typeof import('@vueuse/core')['useElementHover']>
|
||||
readonly useElementSize: UnwrapRef<typeof import('@vueuse/core')['useElementSize']>
|
||||
readonly useElementVisibility: UnwrapRef<typeof import('@vueuse/core')['useElementVisibility']>
|
||||
readonly useEventBus: UnwrapRef<typeof import('@vueuse/core')['useEventBus']>
|
||||
readonly useEventListener: UnwrapRef<typeof import('@vueuse/core')['useEventListener']>
|
||||
readonly useEventSource: UnwrapRef<typeof import('@vueuse/core')['useEventSource']>
|
||||
readonly useEyeDropper: UnwrapRef<typeof import('@vueuse/core')['useEyeDropper']>
|
||||
readonly useFavicon: UnwrapRef<typeof import('@vueuse/core')['useFavicon']>
|
||||
readonly useFetch: UnwrapRef<typeof import('@vueuse/core')['useFetch']>
|
||||
readonly useFileDialog: UnwrapRef<typeof import('@vueuse/core')['useFileDialog']>
|
||||
readonly useFileSystemAccess: UnwrapRef<typeof import('@vueuse/core')['useFileSystemAccess']>
|
||||
readonly useFocus: UnwrapRef<typeof import('@vueuse/core')['useFocus']>
|
||||
readonly useFocusWithin: UnwrapRef<typeof import('@vueuse/core')['useFocusWithin']>
|
||||
readonly useFps: UnwrapRef<typeof import('@vueuse/core')['useFps']>
|
||||
readonly useFullscreen: UnwrapRef<typeof import('@vueuse/core')['useFullscreen']>
|
||||
readonly useGamepad: UnwrapRef<typeof import('@vueuse/core')['useGamepad']>
|
||||
readonly useGeolocation: UnwrapRef<typeof import('@vueuse/core')['useGeolocation']>
|
||||
readonly useId: UnwrapRef<typeof import('vue')['useId']>
|
||||
readonly useIdle: UnwrapRef<typeof import('@vueuse/core')['useIdle']>
|
||||
readonly useImage: UnwrapRef<typeof import('@vueuse/core')['useImage']>
|
||||
readonly useInfiniteScroll: UnwrapRef<typeof import('@vueuse/core')['useInfiniteScroll']>
|
||||
readonly useIntersectionObserver: UnwrapRef<typeof import('@vueuse/core')['useIntersectionObserver']>
|
||||
readonly useInterval: UnwrapRef<typeof import('@vueuse/core')['useInterval']>
|
||||
readonly useIntervalFn: UnwrapRef<typeof import('@vueuse/core')['useIntervalFn']>
|
||||
readonly useKeyModifier: UnwrapRef<typeof import('@vueuse/core')['useKeyModifier']>
|
||||
readonly useLastChanged: UnwrapRef<typeof import('@vueuse/core')['useLastChanged']>
|
||||
readonly useLocalStorage: UnwrapRef<typeof import('@vueuse/core')['useLocalStorage']>
|
||||
readonly useMagicKeys: UnwrapRef<typeof import('@vueuse/core')['useMagicKeys']>
|
||||
readonly useManualRefHistory: UnwrapRef<typeof import('@vueuse/core')['useManualRefHistory']>
|
||||
readonly useMediaControls: UnwrapRef<typeof import('@vueuse/core')['useMediaControls']>
|
||||
readonly useMediaQuery: UnwrapRef<typeof import('@vueuse/core')['useMediaQuery']>
|
||||
readonly useMemoize: UnwrapRef<typeof import('@vueuse/core')['useMemoize']>
|
||||
readonly useMemory: UnwrapRef<typeof import('@vueuse/core')['useMemory']>
|
||||
readonly useModel: UnwrapRef<typeof import('vue')['useModel']>
|
||||
readonly useMounted: UnwrapRef<typeof import('@vueuse/core')['useMounted']>
|
||||
readonly useMouse: UnwrapRef<typeof import('@vueuse/core')['useMouse']>
|
||||
readonly useMouseInElement: UnwrapRef<typeof import('@vueuse/core')['useMouseInElement']>
|
||||
readonly useMousePressed: UnwrapRef<typeof import('@vueuse/core')['useMousePressed']>
|
||||
readonly useMutationObserver: UnwrapRef<typeof import('@vueuse/core')['useMutationObserver']>
|
||||
readonly useNavigatorLanguage: UnwrapRef<typeof import('@vueuse/core')['useNavigatorLanguage']>
|
||||
readonly useNetwork: UnwrapRef<typeof import('@vueuse/core')['useNetwork']>
|
||||
readonly useNow: UnwrapRef<typeof import('@vueuse/core')['useNow']>
|
||||
readonly useObjectUrl: UnwrapRef<typeof import('@vueuse/core')['useObjectUrl']>
|
||||
readonly useOffsetPagination: UnwrapRef<typeof import('@vueuse/core')['useOffsetPagination']>
|
||||
readonly useOnline: UnwrapRef<typeof import('@vueuse/core')['useOnline']>
|
||||
readonly usePageLeave: UnwrapRef<typeof import('@vueuse/core')['usePageLeave']>
|
||||
readonly useParallax: UnwrapRef<typeof import('@vueuse/core')['useParallax']>
|
||||
readonly useParentElement: UnwrapRef<typeof import('@vueuse/core')['useParentElement']>
|
||||
readonly usePerformanceObserver: UnwrapRef<typeof import('@vueuse/core')['usePerformanceObserver']>
|
||||
readonly usePermission: UnwrapRef<typeof import('@vueuse/core')['usePermission']>
|
||||
readonly usePointer: UnwrapRef<typeof import('@vueuse/core')['usePointer']>
|
||||
readonly usePointerLock: UnwrapRef<typeof import('@vueuse/core')['usePointerLock']>
|
||||
readonly usePointerSwipe: UnwrapRef<typeof import('@vueuse/core')['usePointerSwipe']>
|
||||
readonly usePreferredColorScheme: UnwrapRef<typeof import('@vueuse/core')['usePreferredColorScheme']>
|
||||
readonly usePreferredContrast: UnwrapRef<typeof import('@vueuse/core')['usePreferredContrast']>
|
||||
readonly usePreferredDark: UnwrapRef<typeof import('@vueuse/core')['usePreferredDark']>
|
||||
readonly usePreferredLanguages: UnwrapRef<typeof import('@vueuse/core')['usePreferredLanguages']>
|
||||
readonly usePreferredReducedMotion: UnwrapRef<typeof import('@vueuse/core')['usePreferredReducedMotion']>
|
||||
readonly usePrevious: UnwrapRef<typeof import('@vueuse/core')['usePrevious']>
|
||||
readonly useQuery: UnwrapRef<typeof import('./composables/useQuery')['useQuery']>
|
||||
readonly useRafFn: UnwrapRef<typeof import('@vueuse/core')['useRafFn']>
|
||||
readonly useRefHistory: UnwrapRef<typeof import('@vueuse/core')['useRefHistory']>
|
||||
readonly useResizeObserver: UnwrapRef<typeof import('@vueuse/core')['useResizeObserver']>
|
||||
readonly useScreenOrientation: UnwrapRef<typeof import('@vueuse/core')['useScreenOrientation']>
|
||||
readonly useScreenSafeArea: UnwrapRef<typeof import('@vueuse/core')['useScreenSafeArea']>
|
||||
readonly useScriptTag: UnwrapRef<typeof import('@vueuse/core')['useScriptTag']>
|
||||
readonly useScroll: UnwrapRef<typeof import('@vueuse/core')['useScroll']>
|
||||
readonly useScrollLock: UnwrapRef<typeof import('@vueuse/core')['useScrollLock']>
|
||||
readonly useSessionStorage: UnwrapRef<typeof import('@vueuse/core')['useSessionStorage']>
|
||||
readonly useShare: UnwrapRef<typeof import('@vueuse/core')['useShare']>
|
||||
readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
|
||||
readonly useSorted: UnwrapRef<typeof import('@vueuse/core')['useSorted']>
|
||||
readonly useSpeechRecognition: UnwrapRef<typeof import('@vueuse/core')['useSpeechRecognition']>
|
||||
readonly useSpeechSynthesis: UnwrapRef<typeof import('@vueuse/core')['useSpeechSynthesis']>
|
||||
readonly useStepper: UnwrapRef<typeof import('@vueuse/core')['useStepper']>
|
||||
readonly useStorage: UnwrapRef<typeof import('@vueuse/core')['useStorage']>
|
||||
readonly useStorageAsync: UnwrapRef<typeof import('@vueuse/core')['useStorageAsync']>
|
||||
readonly useStyleTag: UnwrapRef<typeof import('@vueuse/core')['useStyleTag']>
|
||||
readonly useSupported: UnwrapRef<typeof import('@vueuse/core')['useSupported']>
|
||||
readonly useSwipe: UnwrapRef<typeof import('@vueuse/core')['useSwipe']>
|
||||
readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
|
||||
readonly useTemplateRefsList: UnwrapRef<typeof import('@vueuse/core')['useTemplateRefsList']>
|
||||
readonly useTextDirection: UnwrapRef<typeof import('@vueuse/core')['useTextDirection']>
|
||||
readonly useTextSelection: UnwrapRef<typeof import('@vueuse/core')['useTextSelection']>
|
||||
readonly useTextareaAutosize: UnwrapRef<typeof import('@vueuse/core')['useTextareaAutosize']>
|
||||
readonly useThrottle: UnwrapRef<typeof import('@vueuse/core')['useThrottle']>
|
||||
readonly useThrottleFn: UnwrapRef<typeof import('@vueuse/core')['useThrottleFn']>
|
||||
readonly useThrottledRefHistory: UnwrapRef<typeof import('@vueuse/core')['useThrottledRefHistory']>
|
||||
readonly useTimeAgo: UnwrapRef<typeof import('@vueuse/core')['useTimeAgo']>
|
||||
readonly useTimeout: UnwrapRef<typeof import('@vueuse/core')['useTimeout']>
|
||||
readonly useTimeoutFn: UnwrapRef<typeof import('@vueuse/core')['useTimeoutFn']>
|
||||
readonly useTimeoutPoll: UnwrapRef<typeof import('@vueuse/core')['useTimeoutPoll']>
|
||||
readonly useTimestamp: UnwrapRef<typeof import('@vueuse/core')['useTimestamp']>
|
||||
readonly useTitle: UnwrapRef<typeof import('@vueuse/core')['useTitle']>
|
||||
readonly useToNumber: UnwrapRef<typeof import('@vueuse/core')['useToNumber']>
|
||||
readonly useToString: UnwrapRef<typeof import('@vueuse/core')['useToString']>
|
||||
readonly useToggle: UnwrapRef<typeof import('@vueuse/core')['useToggle']>
|
||||
readonly useTransition: UnwrapRef<typeof import('@vueuse/core')['useTransition']>
|
||||
readonly useUrlSearchParams: UnwrapRef<typeof import('@vueuse/core')['useUrlSearchParams']>
|
||||
readonly useUserMedia: UnwrapRef<typeof import('@vueuse/core')['useUserMedia']>
|
||||
readonly useVModel: UnwrapRef<typeof import('@vueuse/core')['useVModel']>
|
||||
readonly useVModels: UnwrapRef<typeof import('@vueuse/core')['useVModels']>
|
||||
readonly useVibrate: UnwrapRef<typeof import('@vueuse/core')['useVibrate']>
|
||||
readonly useVirtualList: UnwrapRef<typeof import('@vueuse/core')['useVirtualList']>
|
||||
readonly useWakeLock: UnwrapRef<typeof import('@vueuse/core')['useWakeLock']>
|
||||
readonly useWebNotification: UnwrapRef<typeof import('@vueuse/core')['useWebNotification']>
|
||||
readonly useWebSocket: UnwrapRef<typeof import('@vueuse/core')['useWebSocket']>
|
||||
readonly useWebWorker: UnwrapRef<typeof import('@vueuse/core')['useWebWorker']>
|
||||
readonly useWebWorkerFn: UnwrapRef<typeof import('@vueuse/core')['useWebWorkerFn']>
|
||||
readonly useWindowFocus: UnwrapRef<typeof import('@vueuse/core')['useWindowFocus']>
|
||||
readonly useWindowScroll: UnwrapRef<typeof import('@vueuse/core')['useWindowScroll']>
|
||||
readonly useWindowSize: UnwrapRef<typeof import('@vueuse/core')['useWindowSize']>
|
||||
readonly watch: UnwrapRef<typeof import('vue')['watch']>
|
||||
readonly watchArray: UnwrapRef<typeof import('@vueuse/core')['watchArray']>
|
||||
readonly watchAtMost: UnwrapRef<typeof import('@vueuse/core')['watchAtMost']>
|
||||
readonly watchDebounced: UnwrapRef<typeof import('@vueuse/core')['watchDebounced']>
|
||||
readonly watchDeep: UnwrapRef<typeof import('@vueuse/core')['watchDeep']>
|
||||
readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
|
||||
readonly watchIgnorable: UnwrapRef<typeof import('@vueuse/core')['watchIgnorable']>
|
||||
readonly watchImmediate: UnwrapRef<typeof import('@vueuse/core')['watchImmediate']>
|
||||
readonly watchOnce: UnwrapRef<typeof import('@vueuse/core')['watchOnce']>
|
||||
readonly watchPausable: UnwrapRef<typeof import('@vueuse/core')['watchPausable']>
|
||||
readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
|
||||
readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']>
|
||||
readonly watchThrottled: UnwrapRef<typeof import('@vueuse/core')['watchThrottled']>
|
||||
readonly watchTriggerable: UnwrapRef<typeof import('@vueuse/core')['watchTriggerable']>
|
||||
readonly watchWithFilter: UnwrapRef<typeof import('@vueuse/core')['watchWithFilter']>
|
||||
readonly whenever: UnwrapRef<typeof import('@vueuse/core')['whenever']>
|
||||
}
|
||||
}
|
||||
47
src/components.d.ts
vendored
Normal file
47
src/components.d.ts
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
/* eslint-disable */
|
||||
/* prettier-ignore */
|
||||
// @ts-nocheck
|
||||
// Generated by vite-plugin-uni-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
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']
|
||||
PrivacyModel: typeof import('./components/PrivacyModel.vue')['default']
|
||||
QiunDataChartsQiunDataCharts: typeof import('./components/qiun-data-charts/qiun-data-charts.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']
|
||||
}
|
||||
}
|
||||
Button: 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']
|
||||
WdCheckbox: typeof import('wot-design-uni/components/wd-checkbox/wd-checkbox.vue')['default']
|
||||
WdCollapse: typeof import('wot-design-uni/components/wd-collapse/wd-collapse.vue')['default']
|
||||
WdCollapseItem: typeof import('wot-design-uni/components/wd-collapse-item/wd-collapse-item.vue')['default']
|
||||
WdDivider: typeof import('wot-design-uni/components/wd-divider/wd-divider.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']
|
||||
WdPopup: typeof import('wot-design-uni/components/wd-popup/wd-popup.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']
|
||||
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']
|
||||
}
|
||||
}
|
||||
25
src/components/AppFooter.vue
Normal file
25
src/components/AppFooter.vue
Normal file
@@ -0,0 +1,25 @@
|
||||
<script lang="ts" setup>
|
||||
function handleClickGithub() {
|
||||
if (window?.open) {
|
||||
window.open('https://github.com/uni-helper/vitesse-uni-app')
|
||||
}
|
||||
else {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '请使用浏览器打开',
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view text="xl gray4" m-5 flex items-center justify-center gap-3>
|
||||
<navigator url="/pages/index" open-type="redirect">
|
||||
<view i-carbon-campsite />
|
||||
</navigator>
|
||||
|
||||
<view cursor-pointer @click="handleClickGithub">
|
||||
<view i-carbon:logo-github />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
27
src/components/AppLogos.vue
Normal file
27
src/components/AppLogos.vue
Normal file
@@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<view inline-flex cursor-default text-2xl font-300>
|
||||
<view
|
||||
flex
|
||||
flex-col
|
||||
items-center
|
||||
hover-class="drop-shadow-md drop-shadow-color-green5"
|
||||
>
|
||||
<image inline-block h-18 w-18 src="/static/logo.svg" />
|
||||
<text mt--2 text-green5>
|
||||
uni-helper
|
||||
</text>
|
||||
</view>
|
||||
<view
|
||||
text="3xl gray4"
|
||||
m="x-4 y-auto"
|
||||
|
||||
i-carbon-add transform transition-all-500 hover:rotate-135
|
||||
/>
|
||||
<view flex flex-col hover-class="drop-shadow-md drop-shadow-color-purple5">
|
||||
<image inline-block h-18 w-18 src="/static/vite.png" />
|
||||
<text mt--2 text-purple5>
|
||||
Vite
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
23
src/components/HiCounter.vue
Normal file
23
src/components/HiCounter.vue
Normal file
@@ -0,0 +1,23 @@
|
||||
<script setup lang="ts">
|
||||
const { count, inc, dec } = useCount()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view inline-flex m="y-3">
|
||||
<view class="btn" @click="dec()">
|
||||
<text i-carbon-subtract />
|
||||
</view>
|
||||
<view font="mono" w="15" m-auto inline-block>
|
||||
{{ count }}
|
||||
</view>
|
||||
<view class="btn" @click="inc()">
|
||||
<text i-carbon-add />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style>
|
||||
.btn {
|
||||
--at-apply: w-8 h-8 flex items-center justify-center rounded-full bg-teal-600 text-white cursor-pointer
|
||||
}
|
||||
</style>
|
||||
47
src/components/InputEntry.vue
Normal file
47
src/components/InputEntry.vue
Normal file
@@ -0,0 +1,47 @@
|
||||
<script setup lang="ts">
|
||||
const name = ref('')
|
||||
function go() {
|
||||
if (name.value) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/hi?name=${name.value}`,
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view>
|
||||
<view
|
||||
p="x-4 y-2"
|
||||
w="250px"
|
||||
m="t-5 auto"
|
||||
text="center"
|
||||
bg="transparent"
|
||||
border="~ rounded gray-200 dark:gray-700 solid"
|
||||
outline="none active:none"
|
||||
box-border
|
||||
w-full
|
||||
>
|
||||
<input
|
||||
v-model="name"
|
||||
placeholder="What's your name?"
|
||||
type="text"
|
||||
autocomplete="off"
|
||||
|
||||
mr-0 w-full
|
||||
>
|
||||
</view>
|
||||
<view>
|
||||
<button
|
||||
:disabled="!name"
|
||||
|
||||
m="t-3 auto"
|
||||
m-auto w-120rpx rounded bg-teal-600 px-4 py-1 text-sm text-white
|
||||
hover-class="bg-teal-700"
|
||||
@click="go"
|
||||
>
|
||||
GO
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
87
src/components/LButtonGroup.vue
Normal file
87
src/components/LButtonGroup.vue
Normal file
@@ -0,0 +1,87 @@
|
||||
<script setup>
|
||||
// 接收 type 和 options props 以及 v-model
|
||||
const props = defineProps({
|
||||
type: {
|
||||
type: String,
|
||||
default: 'purple-pink', // 默认颜色渐变
|
||||
},
|
||||
options: {
|
||||
type: Array,
|
||||
required: true, // 动态传入选项
|
||||
},
|
||||
modelValue: {
|
||||
type: String,
|
||||
default: '', // v-model 绑定的值
|
||||
},
|
||||
})
|
||||
const emit = defineEmits(['update:modelValue'])
|
||||
// 选中内容绑定 v-model
|
||||
const selected = ref(props.modelValue)
|
||||
|
||||
// 监听 v-model 的变化
|
||||
watch(() => props.modelValue, (newValue) => {
|
||||
selected.value = newValue
|
||||
})
|
||||
|
||||
// 根据type动态生成分割线的类名
|
||||
const lineClass = computed(() => {
|
||||
switch (props.type) {
|
||||
case 'blue-green':
|
||||
return 'bg-gradient-to-r from-blue-400 via-green-500 to-teal-500'
|
||||
case 'orange-yellow':
|
||||
return 'bg-gradient-to-r from-orange-400 via-yellow-500 to-yellow-600'
|
||||
case 'red-purple':
|
||||
return 'bg-gradient-to-r from-red-500 via-purple-500 to-purple-600'
|
||||
default:
|
||||
return 'bg-gradient-to-r from-purple-400 via-pink-500 to-red-500'
|
||||
}
|
||||
})
|
||||
|
||||
// 计算滑动线的位置和宽度
|
||||
const slideLineStyle = computed(() => {
|
||||
const index = props.options.findIndex(option => option.value === selected.value)
|
||||
const buttonWidth = 100 / props.options.length
|
||||
return {
|
||||
width: `${buttonWidth}%`,
|
||||
transform: `translateX(${index * 100}%)`,
|
||||
}
|
||||
})
|
||||
|
||||
// 选择选项函数
|
||||
function selectOption(option) {
|
||||
selected.value = option.value
|
||||
// 触发 v-model 的更新
|
||||
emit('update:modelValue', option.value)
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="relative flex">
|
||||
<div
|
||||
v-for="(option, index) in options"
|
||||
:key="index"
|
||||
class="flex-1 shrink-0 cursor-pointer py-2 text-center text-size-sm font-bold transition-transform duration-200 ease-in-out"
|
||||
:class="{ 'text-gray-900': selected === option.value, 'text-gray-500': selected !== option.value }"
|
||||
@click="selectOption(option)"
|
||||
>
|
||||
{{ option.label }}
|
||||
</div>
|
||||
<div
|
||||
class="absolute bottom-0 h-[3px] rounded transition-all duration-300"
|
||||
:style="slideLineStyle"
|
||||
:class="lineClass"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
/* 自定义样式 */
|
||||
button {
|
||||
outline: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
button:focus {
|
||||
outline: none;
|
||||
}
|
||||
</style>
|
||||
61
src/components/LExpandCollapse.vue
Normal file
61
src/components/LExpandCollapse.vue
Normal file
@@ -0,0 +1,61 @@
|
||||
<script setup>
|
||||
import { computed, ref, useSlots } from 'vue'
|
||||
|
||||
// 接收最大长度的 prop,默认值 100
|
||||
const props = defineProps({
|
||||
maxLength: {
|
||||
type: Number,
|
||||
default: 100,
|
||||
},
|
||||
})
|
||||
|
||||
// 记录当前是否展开
|
||||
const isExpanded = ref(false)
|
||||
|
||||
// 获取 slot 内容
|
||||
const slots = useSlots()
|
||||
|
||||
// 计算截断后的内容
|
||||
const truncatedContent = computed(() => {
|
||||
const slotContent = getSlotContent()
|
||||
return slotContent.length > props.maxLength
|
||||
? `${slotContent.slice(0, props.maxLength)}...`
|
||||
: slotContent
|
||||
})
|
||||
|
||||
// 获取 slot 内容,确保返回的内容为字符串
|
||||
function getSlotContent() {
|
||||
const slotVNode = slots.default ? slots.default()[0] : null
|
||||
return slotVNode ? slotVNode.children.toString().trim() : '' // 获取并转化为字符串
|
||||
}
|
||||
|
||||
// 切换展开/收起状态
|
||||
function toggleExpand() {
|
||||
isExpanded.value = !isExpanded.value
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view>
|
||||
<!-- 展开/收起按钮 -->
|
||||
|
||||
<!-- 展开/收起的内容 -->
|
||||
<text v-if="isExpanded">
|
||||
<slot /> <!-- 使用 slot 来展示传递的内容 -->
|
||||
</text>
|
||||
<text v-else>
|
||||
<text>{{ truncatedContent }}</text>
|
||||
</text>
|
||||
<text
|
||||
:title="isExpanded ? '点击收起' : '点击展开'"
|
||||
class="cursor-pointer text-blue-500"
|
||||
@click="toggleExpand"
|
||||
>
|
||||
{{ isExpanded ? '收起' : '展开' }}
|
||||
</text>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
30
src/components/LTabbar.vue
Normal file
30
src/components/LTabbar.vue
Normal file
@@ -0,0 +1,30 @@
|
||||
<script setup>
|
||||
const tabbar = ref('index')
|
||||
const menu = reactive([{ title: '首页', icon: 'home', name: 'index' }, { title: 'AI律师', icon: 'chat', name: 'ai' }, { title: '我的', icon: 'user', name: 'me' }])
|
||||
function tabChange({ value }) {
|
||||
uni.switchTab({
|
||||
url: `/pages/${value}`,
|
||||
})
|
||||
}
|
||||
|
||||
onShow(() => {
|
||||
const currentPage = getCurrentPages()[getCurrentPages().length - 1].route
|
||||
const pageName = currentPage.split('/').pop()
|
||||
tabbar.value = pageName
|
||||
})
|
||||
onMounted(() => {
|
||||
uni.hideTabBar()
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<wd-tabbar v-model="tabbar" custom-class="qnc-tabbar" shape="round" safe-area-inset-bottom fixed @change="tabChange">
|
||||
<wd-tabbar-item v-for="(item, index) in menu" :key="index" :name="item.name" :title="item.title" :icon="item.icon" />
|
||||
</wd-tabbar>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
:deep(.qnc-tabbar) {
|
||||
bottom: 16px !important;
|
||||
}
|
||||
</style>
|
||||
98
src/components/LTable.vue
Normal file
98
src/components/LTable.vue
Normal file
@@ -0,0 +1,98 @@
|
||||
<script setup>
|
||||
import { computed } from 'vue'
|
||||
|
||||
// 接收表格数据和类型的 props
|
||||
const props = defineProps({
|
||||
data: {
|
||||
type: Array,
|
||||
required: true,
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
default: 'purple-pink', // 默认渐变颜色
|
||||
},
|
||||
})
|
||||
|
||||
// 根据 type 设置不同的渐变颜色(偶数行)
|
||||
const evenClass = computed(() => {
|
||||
switch (props.type) {
|
||||
case 'blue-green':
|
||||
return 'bg-teal-100/40'
|
||||
// return 'bg-gradient-to-r from-blue-50 via-green-50 to-teal-50'
|
||||
case 'orange-yellow':
|
||||
return 'bg-gradient-to-r from-orange-50 via-yellow-50 to-yellow-100'
|
||||
case 'red-purple':
|
||||
return 'bg-gradient-to-r from-red-50 via-purple-50 to-purple-100'
|
||||
default:
|
||||
return 'bg-gradient-to-r from-purple-50 via-pink-50 to-red-50'
|
||||
}
|
||||
})
|
||||
|
||||
// 动态计算表头的背景颜色和文本颜色
|
||||
const headerClass = computed(() => {
|
||||
switch (props.type) {
|
||||
case 'blue-green':
|
||||
return 'bg-teal-200'
|
||||
// return 'bg-gradient-to-r from-blue-200 via-green-200 to-teal-200'
|
||||
case 'orange-yellow':
|
||||
return 'bg-gradient-to-r from-orange-200 via-yellow-200 to-yellow-200'
|
||||
case 'red-purple':
|
||||
return 'bg-gradient-to-r from-red-200 via-purple-200 to-purple-200'
|
||||
default:
|
||||
return 'bg-gradient-to-r from-purple-200 via-pink-200 to-red-200'
|
||||
}
|
||||
})
|
||||
// 斑马纹样式,偶数行带颜色,奇数行没有颜色,且从第二行开始
|
||||
function zebraClass(index) {
|
||||
return index % 2 === 1 ? evenClass.value : ''
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="l-table overflow-x-auto">
|
||||
<table class="min-w-full border-collapse table-auto text-center text-size-xs">
|
||||
<thead :class="headerClass">
|
||||
<tr>
|
||||
<!-- 插槽渲染表头 -->
|
||||
<slot name="header" />
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr
|
||||
v-for="(row, index) in data"
|
||||
:key="index"
|
||||
:class="zebraClass(index)"
|
||||
class="border-t"
|
||||
>
|
||||
<!-- 插槽渲染每一列的内容 -->
|
||||
<slot :row="row" />
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
/* 基础表格样式 */
|
||||
th {
|
||||
font-weight: bold;
|
||||
padding: 12px;
|
||||
text-align: left;
|
||||
border: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
/* 表格行样式 */
|
||||
td {
|
||||
padding: 12px;
|
||||
border: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
border-spacing: 0;
|
||||
}
|
||||
.l-table{
|
||||
@apply rounded-xl;;
|
||||
overflow: hidden;
|
||||
}
|
||||
</style>
|
||||
58
src/components/LTitle.vue
Normal file
58
src/components/LTitle.vue
Normal file
@@ -0,0 +1,58 @@
|
||||
<script setup>
|
||||
// 接收 props
|
||||
const props = defineProps({
|
||||
title: String,
|
||||
type: {
|
||||
type: String,
|
||||
default: 'purple-pink', // 默认渐变
|
||||
},
|
||||
})
|
||||
|
||||
// 根据type返回不同的背景类名
|
||||
const titleClass = computed(() => {
|
||||
switch (props.type) {
|
||||
case 'blue-green':
|
||||
return 'bg-gradient-to-r from-blue-400 via-green-500 to-teal-500'
|
||||
case 'orange-yellow':
|
||||
return 'bg-gradient-to-r from-orange-400 via-yellow-500 to-yellow-600'
|
||||
case 'red-purple':
|
||||
return 'bg-gradient-to-r from-red-500 via-purple-500 to-purple-600'
|
||||
default:
|
||||
return 'bg-gradient-to-r from-purple-400 via-pink-500 to-red-500'
|
||||
}
|
||||
})
|
||||
|
||||
// 分割线颜色与背景对应
|
||||
const lineClass = computed(() => {
|
||||
switch (props.type) {
|
||||
case 'blue-green':
|
||||
return 'bg-gradient-to-r from-blue-400 via-green-500 to-teal-500'
|
||||
case 'orange-yellow':
|
||||
return 'bg-gradient-to-r from-orange-400 via-yellow-500 to-yellow-600'
|
||||
case 'red-purple':
|
||||
return 'bg-gradient-to-r from-red-500 via-purple-500 to-purple-600'
|
||||
default:
|
||||
return 'bg-gradient-to-r from-purple-400 via-pink-500 to-red-500'
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="relative">
|
||||
<!-- 标题部分 -->
|
||||
<div :class="titleClass" class="inline-block rounded-lg px-2 py-1 text-white font-bold shadow-md">
|
||||
{{ title }}
|
||||
</div>
|
||||
|
||||
<!-- 左上角修饰 -->
|
||||
<div class="absolute left-0 top-0 h-4 w-4 transform rounded-full bg-white shadow-md -translate-x-2 -translate-y-2" />
|
||||
|
||||
<!-- 分割线 -->
|
||||
<div class="relative mt-1.5">
|
||||
<div :class="lineClass" class="h-[2px] w-full rounded" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
</style>
|
||||
144
src/components/PrivacyModel.vue
Normal file
144
src/components/PrivacyModel.vue
Normal file
@@ -0,0 +1,144 @@
|
||||
<script setup>
|
||||
const showPrivacyModal = ref(true)
|
||||
|
||||
function openPage(url) {
|
||||
uni.navigateTo({ url })
|
||||
}
|
||||
|
||||
function acceptPrivacy() {
|
||||
uni.setStorageSync('privacyAccepted', true)
|
||||
showPrivacyModal.value = false
|
||||
}
|
||||
|
||||
function refusePrivacy() {
|
||||
uni.showModal({
|
||||
title: '确认提示',
|
||||
content: '您点击同意并继续视为您已同意上述协议的全部内容。',
|
||||
confirmText: '同意并继续',
|
||||
cancelText: '退出',
|
||||
success: (res) => {
|
||||
if (res.confirm) {
|
||||
acceptPrivacy()
|
||||
}
|
||||
else {
|
||||
uni.exitApp()
|
||||
}
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// 检查隐私协议是否已经同意
|
||||
onMounted(() => {
|
||||
const accepted = uni.getStorageSync('privacyAccepted')
|
||||
if (accepted) {
|
||||
showPrivacyModal.value = false
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view v-if="showPrivacyModal" class="privacy-modal">
|
||||
<view class="modal-mask" />
|
||||
<view class="modal-content">
|
||||
<view class="modal-title">
|
||||
用户协议和隐私政策
|
||||
</view>
|
||||
<view class="modal-message">
|
||||
感谢您使用全能查APP! 我们非常重视您的隐私保护和个人信息保护,在您使用全能查APP前,请您仔细阅读、充分理解
|
||||
<text class="link" @click="openPage('/pages/userAgreement')">
|
||||
《用户协议》
|
||||
</text>
|
||||
和
|
||||
<text class="link" @click="openPage('/pages/privacyPolicy')">
|
||||
《隐私政策》
|
||||
</text>
|
||||
的各项条款。如果您同意,请点击下方按钮开始接受我们的服务。
|
||||
</view>
|
||||
<view class="modal-buttons">
|
||||
<view class="button refuse" @click="refusePrivacy">
|
||||
退出应用
|
||||
</view>
|
||||
<view class="button accept" @click="acceptPrivacy">
|
||||
同意并继续
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.privacy-modal {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 1000;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.modal-mask {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.modal-content {
|
||||
background: #fff;
|
||||
padding: 20px;
|
||||
border-radius: 10px;
|
||||
width: 80%;
|
||||
max-width: 320px;
|
||||
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
|
||||
z-index:1001;
|
||||
}
|
||||
.modal-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 10px;
|
||||
text-align: center;
|
||||
}
|
||||
.modal-message {
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
color: #333;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.link {
|
||||
color: #007aff;
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
.modal-buttons {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.button {
|
||||
flex: 1;
|
||||
padding: 10px 0;
|
||||
margin: 0 5px;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
}
|
||||
.button.accept {
|
||||
background: #007aff;
|
||||
color: #fff;
|
||||
}
|
||||
.button.accept:active{
|
||||
background: #016ee2;
|
||||
color: #fff;
|
||||
}
|
||||
.button.refuse {
|
||||
background: #f0f0f0;
|
||||
color: #333;
|
||||
}
|
||||
.button.refuse:active {
|
||||
background: #c6c6c6;
|
||||
color: #333;
|
||||
}
|
||||
</style>
|
||||
201
src/components/qiun-data-charts/license.md
Normal file
201
src/components/qiun-data-charts/license.md
Normal file
@@ -0,0 +1,201 @@
|
||||
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.
|
||||
1621
src/components/qiun-data-charts/qiun-data-charts.vue
Normal file
1621
src/components/qiun-data-charts/qiun-data-charts.vue
Normal file
File diff suppressed because it is too large
Load Diff
46
src/components/qiun-error/qiun-error.vue
Normal file
46
src/components/qiun-error/qiun-error.vue
Normal file
File diff suppressed because one or more lines are too long
162
src/components/qiun-loading/loading1.vue
Normal file
162
src/components/qiun-loading/loading1.vue
Normal file
@@ -0,0 +1,162 @@
|
||||
<template>
|
||||
<view class="container loading1">
|
||||
<view class="shape shape1"></view>
|
||||
<view class="shape shape2"></view>
|
||||
<view class="shape shape3"></view>
|
||||
<view class="shape shape4"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'loading1',
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped="true">
|
||||
.container {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
}
|
||||
.container.loading1 {
|
||||
-webkit-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
|
||||
.container .shape {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
.container .shape.shape1 {
|
||||
left: 0;
|
||||
background-color: #1890FF;
|
||||
}
|
||||
.container .shape.shape2 {
|
||||
right: 0;
|
||||
background-color: #91CB74;
|
||||
}
|
||||
.container .shape.shape3 {
|
||||
bottom: 0;
|
||||
background-color: #FAC858;
|
||||
}
|
||||
.container .shape.shape4 {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-color: #EE6666;
|
||||
}
|
||||
|
||||
.loading1 .shape1 {
|
||||
-webkit-animation: animation1shape1 0.5s ease 0s infinite alternate;
|
||||
animation: animation1shape1 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation1shape1 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(16px, 16px);
|
||||
transform: translate(16px, 16px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation1shape1 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(16px, 16px);
|
||||
transform: translate(16px, 16px);
|
||||
}
|
||||
}
|
||||
.loading1 .shape2 {
|
||||
-webkit-animation: animation1shape2 0.5s ease 0s infinite alternate;
|
||||
animation: animation1shape2 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation1shape2 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-16px, 16px);
|
||||
transform: translate(-16px, 16px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation1shape2 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-16px, 16px);
|
||||
transform: translate(-16px, 16px);
|
||||
}
|
||||
}
|
||||
.loading1 .shape3 {
|
||||
-webkit-animation: animation1shape3 0.5s ease 0s infinite alternate;
|
||||
animation: animation1shape3 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation1shape3 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(16px, -16px);
|
||||
transform: translate(16px, -16px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation1shape3 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(16px, -16px);
|
||||
transform: translate(16px, -16px);
|
||||
}
|
||||
}
|
||||
.loading1 .shape4 {
|
||||
-webkit-animation: animation1shape4 0.5s ease 0s infinite alternate;
|
||||
animation: animation1shape4 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation1shape4 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-16px, -16px);
|
||||
transform: translate(-16px, -16px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation1shape4 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-16px, -16px);
|
||||
transform: translate(-16px, -16px);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
170
src/components/qiun-loading/loading2.vue
Normal file
170
src/components/qiun-loading/loading2.vue
Normal file
@@ -0,0 +1,170 @@
|
||||
<template>
|
||||
<view class="container loading2">
|
||||
<view class="shape shape1"></view>
|
||||
<view class="shape shape2"></view>
|
||||
<view class="shape shape3"></view>
|
||||
<view class="shape shape4"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'loading2',
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped="true">
|
||||
.container {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.container.loading2 {
|
||||
-webkit-transform: rotate(10deg);
|
||||
transform: rotate(10deg);
|
||||
}
|
||||
.container.loading2 .shape {
|
||||
border-radius: 5px;
|
||||
}
|
||||
.container.loading2{
|
||||
-webkit-animation: rotation 1s infinite;
|
||||
animation: rotation 1s infinite;
|
||||
}
|
||||
|
||||
.container .shape {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
.container .shape.shape1 {
|
||||
left: 0;
|
||||
background-color: #1890FF;
|
||||
}
|
||||
.container .shape.shape2 {
|
||||
right: 0;
|
||||
background-color: #91CB74;
|
||||
}
|
||||
.container .shape.shape3 {
|
||||
bottom: 0;
|
||||
background-color: #FAC858;
|
||||
}
|
||||
.container .shape.shape4 {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-color: #EE6666;
|
||||
}
|
||||
|
||||
|
||||
.loading2 .shape1 {
|
||||
-webkit-animation: animation2shape1 0.5s ease 0s infinite alternate;
|
||||
animation: animation2shape1 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation2shape1 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(20px, 20px);
|
||||
transform: translate(20px, 20px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation2shape1 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(20px, 20px);
|
||||
transform: translate(20px, 20px);
|
||||
}
|
||||
}
|
||||
.loading2 .shape2 {
|
||||
-webkit-animation: animation2shape2 0.5s ease 0s infinite alternate;
|
||||
animation: animation2shape2 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation2shape2 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-20px, 20px);
|
||||
transform: translate(-20px, 20px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation2shape2 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-20px, 20px);
|
||||
transform: translate(-20px, 20px);
|
||||
}
|
||||
}
|
||||
.loading2 .shape3 {
|
||||
-webkit-animation: animation2shape3 0.5s ease 0s infinite alternate;
|
||||
animation: animation2shape3 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation2shape3 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(20px, -20px);
|
||||
transform: translate(20px, -20px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation2shape3 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(20px, -20px);
|
||||
transform: translate(20px, -20px);
|
||||
}
|
||||
}
|
||||
.loading2 .shape4 {
|
||||
-webkit-animation: animation2shape4 0.5s ease 0s infinite alternate;
|
||||
animation: animation2shape4 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation2shape4 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-20px, -20px);
|
||||
transform: translate(-20px, -20px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation2shape4 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-20px, -20px);
|
||||
transform: translate(-20px, -20px);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
173
src/components/qiun-loading/loading3.vue
Normal file
173
src/components/qiun-loading/loading3.vue
Normal file
@@ -0,0 +1,173 @@
|
||||
<template>
|
||||
<view class="container loading3">
|
||||
<view class="shape shape1"></view>
|
||||
<view class="shape shape2"></view>
|
||||
<view class="shape shape3"></view>
|
||||
<view class="shape shape4"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'loading3',
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped="true">
|
||||
.container {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.container.loading3 {
|
||||
-webkit-animation: rotation 1s infinite;
|
||||
animation: rotation 1s infinite;
|
||||
}
|
||||
.container.loading3 .shape1 {
|
||||
border-top-left-radius: 10px;
|
||||
}
|
||||
.container.loading3 .shape2 {
|
||||
border-top-right-radius: 10px;
|
||||
}
|
||||
.container.loading3 .shape3 {
|
||||
border-bottom-left-radius: 10px;
|
||||
}
|
||||
.container.loading3 .shape4 {
|
||||
border-bottom-right-radius: 10px;
|
||||
}
|
||||
|
||||
.container .shape {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
.container .shape.shape1 {
|
||||
left: 0;
|
||||
background-color: #1890FF;
|
||||
}
|
||||
.container .shape.shape2 {
|
||||
right: 0;
|
||||
background-color: #91CB74;
|
||||
}
|
||||
.container .shape.shape3 {
|
||||
bottom: 0;
|
||||
background-color: #FAC858;
|
||||
}
|
||||
.container .shape.shape4 {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-color: #EE6666;
|
||||
}
|
||||
|
||||
.loading3 .shape1 {
|
||||
-webkit-animation: animation3shape1 0.5s ease 0s infinite alternate;
|
||||
animation: animation3shape1 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation3shape1 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(5px, 5px);
|
||||
transform: translate(5px, 5px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation3shape1 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(5px, 5px);
|
||||
transform: translate(5px, 5px);
|
||||
}
|
||||
}
|
||||
.loading3 .shape2 {
|
||||
-webkit-animation: animation3shape2 0.5s ease 0s infinite alternate;
|
||||
animation: animation3shape2 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation3shape2 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-5px, 5px);
|
||||
transform: translate(-5px, 5px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation3shape2 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-5px, 5px);
|
||||
transform: translate(-5px, 5px);
|
||||
}
|
||||
}
|
||||
.loading3 .shape3 {
|
||||
-webkit-animation: animation3shape3 0.5s ease 0s infinite alternate;
|
||||
animation: animation3shape3 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation3shape3 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(5px, -5px);
|
||||
transform: translate(5px, -5px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation3shape3 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(5px, -5px);
|
||||
transform: translate(5px, -5px);
|
||||
}
|
||||
}
|
||||
.loading3 .shape4 {
|
||||
-webkit-animation: animation3shape4 0.5s ease 0s infinite alternate;
|
||||
animation: animation3shape4 0.5s ease 0s infinite alternate;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation3shape4 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-5px, -5px);
|
||||
transform: translate(-5px, -5px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation3shape4 {
|
||||
from {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
to {
|
||||
-webkit-transform: translate(-5px, -5px);
|
||||
transform: translate(-5px, -5px);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
222
src/components/qiun-loading/loading4.vue
Normal file
222
src/components/qiun-loading/loading4.vue
Normal file
@@ -0,0 +1,222 @@
|
||||
<template>
|
||||
<view class="container loading5">
|
||||
<view class="shape shape1"></view>
|
||||
<view class="shape shape2"></view>
|
||||
<view class="shape shape3"></view>
|
||||
<view class="shape shape4"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'loading5',
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped="true">
|
||||
.container {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.container.loading5 .shape {
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
.container .shape {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
.container .shape.shape1 {
|
||||
left: 0;
|
||||
background-color: #1890FF;
|
||||
}
|
||||
.container .shape.shape2 {
|
||||
right: 0;
|
||||
background-color: #91CB74;
|
||||
}
|
||||
.container .shape.shape3 {
|
||||
bottom: 0;
|
||||
background-color: #FAC858;
|
||||
}
|
||||
.container .shape.shape4 {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-color: #EE6666;
|
||||
}
|
||||
|
||||
.loading5 .shape1 {
|
||||
animation: animation5shape1 2s ease 0s infinite reverse;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation5shape1 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, 15px);
|
||||
transform: translate(0, 15px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(15px, 15px);
|
||||
transform: translate(15px, 15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(15px, 0);
|
||||
transform: translate(15px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation5shape1 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, 15px);
|
||||
transform: translate(0, 15px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(15px, 15px);
|
||||
transform: translate(15px, 15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(15px, 0);
|
||||
transform: translate(15px, 0);
|
||||
}
|
||||
}
|
||||
.loading5 .shape2 {
|
||||
animation: animation5shape2 2s ease 0s infinite reverse;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation5shape2 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(-15px, 0);
|
||||
transform: translate(-15px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-15px, 15px);
|
||||
transform: translate(-15px, 15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, 15px);
|
||||
transform: translate(0, 15px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation5shape2 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(-15px, 0);
|
||||
transform: translate(-15px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-15px, 15px);
|
||||
transform: translate(-15px, 15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, 15px);
|
||||
transform: translate(0, 15px);
|
||||
}
|
||||
}
|
||||
.loading5 .shape3 {
|
||||
animation: animation5shape3 2s ease 0s infinite reverse;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation5shape3 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(15px, 0);
|
||||
transform: translate(15px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(15px, -15px);
|
||||
transform: translate(15px, -15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, -15px);
|
||||
transform: translate(0, -15px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation5shape3 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(15px, 0);
|
||||
transform: translate(15px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(15px, -15px);
|
||||
transform: translate(15px, -15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, -15px);
|
||||
transform: translate(0, -15px);
|
||||
}
|
||||
}
|
||||
.loading5 .shape4 {
|
||||
animation: animation5shape4 2s ease 0s infinite reverse;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation5shape4 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, -15px);
|
||||
transform: translate(0, -15px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-15px, -15px);
|
||||
transform: translate(-15px, -15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(-15px, 0);
|
||||
transform: translate(-15px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation5shape4 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, -15px);
|
||||
transform: translate(0, -15px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-15px, -15px);
|
||||
transform: translate(-15px, -15px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(-15px, 0);
|
||||
transform: translate(-15px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
229
src/components/qiun-loading/loading5.vue
Normal file
229
src/components/qiun-loading/loading5.vue
Normal file
@@ -0,0 +1,229 @@
|
||||
<template>
|
||||
<view class="container loading6">
|
||||
<view class="shape shape1"></view>
|
||||
<view class="shape shape2"></view>
|
||||
<view class="shape shape3"></view>
|
||||
<view class="shape shape4"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'loading6',
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style scoped="true">
|
||||
.container {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.container.loading6 {
|
||||
-webkit-animation: rotation 1s infinite;
|
||||
animation: rotation 1s infinite;
|
||||
}
|
||||
.container.loading6 .shape {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.container .shape {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 1px;
|
||||
}
|
||||
.container .shape.shape1 {
|
||||
left: 0;
|
||||
background-color: #1890FF;
|
||||
}
|
||||
.container .shape.shape2 {
|
||||
right: 0;
|
||||
background-color: #91CB74;
|
||||
}
|
||||
.container .shape.shape3 {
|
||||
bottom: 0;
|
||||
background-color: #FAC858;
|
||||
}
|
||||
.container .shape.shape4 {
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-color: #EE6666;
|
||||
}
|
||||
|
||||
|
||||
.loading6 .shape1 {
|
||||
-webkit-animation: animation6shape1 2s linear 0s infinite normal;
|
||||
animation: animation6shape1 2s linear 0s infinite normal;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation6shape1 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, 18px);
|
||||
transform: translate(0, 18px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(18px, 18px);
|
||||
transform: translate(18px, 18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(18px, 0);
|
||||
transform: translate(18px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation6shape1 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, 18px);
|
||||
transform: translate(0, 18px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(18px, 18px);
|
||||
transform: translate(18px, 18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(18px, 0);
|
||||
transform: translate(18px, 0);
|
||||
}
|
||||
}
|
||||
.loading6 .shape2 {
|
||||
-webkit-animation: animation6shape2 2s linear 0s infinite normal;
|
||||
animation: animation6shape2 2s linear 0s infinite normal;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation6shape2 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(-18px, 0);
|
||||
transform: translate(-18px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-18px, 18px);
|
||||
transform: translate(-18px, 18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, 18px);
|
||||
transform: translate(0, 18px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation6shape2 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(-18px, 0);
|
||||
transform: translate(-18px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-18px, 18px);
|
||||
transform: translate(-18px, 18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, 18px);
|
||||
transform: translate(0, 18px);
|
||||
}
|
||||
}
|
||||
.loading6 .shape3 {
|
||||
-webkit-animation: animation6shape3 2s linear 0s infinite normal;
|
||||
animation: animation6shape3 2s linear 0s infinite normal;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation6shape3 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(18px, 0);
|
||||
transform: translate(18px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(18px, -18px);
|
||||
transform: translate(18px, -18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, -18px);
|
||||
transform: translate(0, -18px);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation6shape3 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(18px, 0);
|
||||
transform: translate(18px, 0);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(18px, -18px);
|
||||
transform: translate(18px, -18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(0, -18px);
|
||||
transform: translate(0, -18px);
|
||||
}
|
||||
}
|
||||
.loading6 .shape4 {
|
||||
-webkit-animation: animation6shape4 2s linear 0s infinite normal;
|
||||
animation: animation6shape4 2s linear 0s infinite normal;
|
||||
}
|
||||
|
||||
@-webkit-keyframes animation6shape4 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, -18px);
|
||||
transform: translate(0, -18px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-18px, -18px);
|
||||
transform: translate(-18px, -18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(-18px, 0);
|
||||
transform: translate(-18px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes animation6shape4 {
|
||||
0% {
|
||||
-webkit-transform: translate(0, 0);
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
25% {
|
||||
-webkit-transform: translate(0, -18px);
|
||||
transform: translate(0, -18px);
|
||||
}
|
||||
50% {
|
||||
-webkit-transform: translate(-18px, -18px);
|
||||
transform: translate(-18px, -18px);
|
||||
}
|
||||
75% {
|
||||
-webkit-transform: translate(-18px, 0);
|
||||
transform: translate(-18px, 0);
|
||||
}
|
||||
}
|
||||
</style>
|
||||
36
src/components/qiun-loading/qiun-loading.vue
Normal file
36
src/components/qiun-loading/qiun-loading.vue
Normal file
@@ -0,0 +1,36 @@
|
||||
<template>
|
||||
<view>
|
||||
<Loading1 v-if="loadingType==1"/>
|
||||
<Loading2 v-if="loadingType==2"/>
|
||||
<Loading3 v-if="loadingType==3"/>
|
||||
<Loading4 v-if="loadingType==4"/>
|
||||
<Loading5 v-if="loadingType==5"/>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Loading1 from "./loading1.vue";
|
||||
import Loading2 from "./loading2.vue";
|
||||
import Loading3 from "./loading3.vue";
|
||||
import Loading4 from "./loading4.vue";
|
||||
import Loading5 from "./loading5.vue";
|
||||
export default {
|
||||
components:{Loading1,Loading2,Loading3,Loading4,Loading5},
|
||||
name: 'qiun-loading',
|
||||
props: {
|
||||
loadingType: {
|
||||
type: Number,
|
||||
default: 2
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
};
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
422
src/components/u-charts/config-echarts.js
Normal file
422
src/components/u-charts/config-echarts.js
Normal file
@@ -0,0 +1,422 @@
|
||||
/*
|
||||
* 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 += '<br/>' + 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} <br/>{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;
|
||||
606
src/components/u-charts/config-ucharts.js
Normal file
606
src/components/u-charts/config-ucharts.js
Normal file
@@ -0,0 +1,606 @@
|
||||
/*
|
||||
* 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;
|
||||
201
src/components/u-charts/license.md
Normal file
201
src/components/u-charts/license.md
Normal file
@@ -0,0 +1,201 @@
|
||||
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.
|
||||
5
src/components/u-charts/readme.md
Normal file
5
src/components/u-charts/readme.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# 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`文件,以免被强制覆盖。
|
||||
7706
src/components/u-charts/u-charts.js
Normal file
7706
src/components/u-charts/u-charts.js
Normal file
File diff suppressed because it is too large
Load Diff
18
src/components/u-charts/u-charts.min.js
vendored
Normal file
18
src/components/u-charts/u-charts.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
0
src/components/uCharts
Normal file
0
src/components/uCharts
Normal file
16
src/composables/useCount.ts
Normal file
16
src/composables/useCount.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
export function useCount() {
|
||||
const count = ref(Math.round(Math.random() * 20))
|
||||
|
||||
function inc() {
|
||||
count.value += 1
|
||||
}
|
||||
function dec() {
|
||||
count.value -= 1
|
||||
}
|
||||
|
||||
return {
|
||||
count,
|
||||
inc,
|
||||
dec,
|
||||
}
|
||||
}
|
||||
10
src/composables/useQuery.ts
Normal file
10
src/composables/useQuery.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import type { MaybeRef } from '@vueuse/core'
|
||||
|
||||
export function useQuery(key?: MaybeRef<string>) {
|
||||
const query = ref<AnyObject>({})
|
||||
onLoad((q) => {
|
||||
query.value = q || {}
|
||||
})
|
||||
const value = computed(() => (key ? query.value[unref(key)] : null))
|
||||
return { query, value }
|
||||
}
|
||||
1
src/env.d.ts
vendored
Normal file
1
src/env.d.ts
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/// <reference types="vite/client" />
|
||||
61
src/layouts/home.vue
Normal file
61
src/layouts/home.vue
Normal file
@@ -0,0 +1,61 @@
|
||||
<script setup>
|
||||
import PrivacyModal from '@/components/PrivacyModel.vue'
|
||||
|
||||
const tabbar = ref('index')
|
||||
|
||||
const menu = reactive([{ title: '首页', icon: 'home', name: 'index' }, { title: 'AI律师', icon: 'chat', name: 'ai' }, { title: '我的', icon: 'user', name: 'me' }])
|
||||
|
||||
function tabChange({ value }) {
|
||||
uni.switchTab({
|
||||
url: `/pages/${value}`,
|
||||
})
|
||||
}
|
||||
onShow(() => {
|
||||
const currentPage = getCurrentPages()[getCurrentPages().length - 1].route
|
||||
const pageName = currentPage.split('/').pop()
|
||||
tabbar.value = pageName
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
uni.hideTabBar()
|
||||
|
||||
const currentPage = getCurrentPages()[getCurrentPages().length - 1].route
|
||||
const pageName = currentPage.split('/').pop()
|
||||
tabbar.value = pageName
|
||||
})
|
||||
function toComplaint() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/complaint',
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
options: {
|
||||
styleIsolation: 'shared',
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<slot />
|
||||
<view>
|
||||
<wd-tabbar v-model="tabbar" custom-class="qnc-tabbar" shape="round" safe-area-inset-bottom fixed @change="tabChange">
|
||||
<wd-tabbar-item v-for="(item, index) in menu" :key="index" :name="item.name" :title="item.title" :icon="item.icon" />
|
||||
</wd-tabbar>
|
||||
</view>
|
||||
<view class="fixed bottom-24 right-4 z-1000 flex items-center rounded-3xl from-red-500 to-red-400 bg-gradient-to-b px-2 py-1 text-center text-white shadow-2xl">
|
||||
<wd-icon name="warning" class="mr-1" size="18px" />
|
||||
<view class="text-xs" @click="toComplaint">
|
||||
投诉
|
||||
</view>
|
||||
</view>
|
||||
<PrivacyModal />
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
:deep(.qnc-tabbar) {
|
||||
bottom: 16px !important;
|
||||
}
|
||||
</style>
|
||||
31
src/layouts/login.vue
Normal file
31
src/layouts/login.vue
Normal file
@@ -0,0 +1,31 @@
|
||||
<script setup>
|
||||
function handleClickLeft() {
|
||||
uni.reLaunch({
|
||||
url: '/pages/index',
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<!-- -->
|
||||
<view class="h-screen bg-[#EBF1FD]">
|
||||
<view class="login-layout min-h-full">
|
||||
<wd-navbar
|
||||
title="用户登录"
|
||||
left-arrow
|
||||
safe-area-inset-top
|
||||
custom-style="background-color: transparent !important;"
|
||||
@click-left="handleClickLeft"
|
||||
/>
|
||||
<slot />
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.login-layout{
|
||||
background: url("/static/image/login_bg.png") no-repeat;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
}
|
||||
</style>
|
||||
35
src/layouts/page.vue
Normal file
35
src/layouts/page.vue
Normal file
@@ -0,0 +1,35 @@
|
||||
<script setup>
|
||||
import pagesJson from '@/pages.json'
|
||||
|
||||
const pagesConfig = pagesJson.pages
|
||||
const title = ref('')
|
||||
function getPageTitle() {
|
||||
const pages = getCurrentPages()
|
||||
const currentPage = pages[pages.length - 1] // 当前页面
|
||||
const currentRoute = currentPage.route // 当前页面路径,例如 "pages/authorization"
|
||||
|
||||
// 根据路径查找 pages.json 中的配置
|
||||
const currentPageConfig = pagesConfig.find(page => page.path === currentRoute)
|
||||
console.log('currentPageConfig', currentPageConfig)
|
||||
// 返回页面标题,如果未找到,则返回默认标题
|
||||
return currentPageConfig?.title || ''
|
||||
}
|
||||
onLoad(() => {
|
||||
title.value = getPageTitle()
|
||||
})
|
||||
|
||||
function handleClickLeft() {
|
||||
uni.navigateBack()
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<wd-navbar :title="title" left-text="返回" placeholder left-arrow safe-area-inset-top fixed @click-left="handleClickLeft" />
|
||||
<view class="box-border min-h-screen">
|
||||
<slot />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
11
src/main.ts
Normal file
11
src/main.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { createSSRApp } from 'vue'
|
||||
import App from './App.vue'
|
||||
import 'uno.css'
|
||||
import '@/app.scss'
|
||||
|
||||
export function createApp() {
|
||||
const app = createSSRApp(App)
|
||||
return {
|
||||
app,
|
||||
}
|
||||
}
|
||||
109
src/manifest.json
Normal file
109
src/manifest.json
Normal file
@@ -0,0 +1,109 @@
|
||||
{
|
||||
"name" : "全能查",
|
||||
"appid" : "__UNI__CC3DA09",
|
||||
"description" : "",
|
||||
"versionName" : "1.0.0",
|
||||
"versionCode" : "101",
|
||||
"transformPx" : false,
|
||||
"app-plus" : {
|
||||
"usingComponents" : true,
|
||||
"nvueStyleCompiler" : "uni-app",
|
||||
"compilerVersion" : 3,
|
||||
"splashscreen" : {
|
||||
"alwaysShowBeforeRender" : true,
|
||||
"waiting" : true,
|
||||
"autoclose" : true,
|
||||
"delay" : 0
|
||||
},
|
||||
"modules" : {
|
||||
"Payment" : {}
|
||||
},
|
||||
"distribute" : {
|
||||
"android" : {
|
||||
"permissions" : [
|
||||
"<uses-permission android:name=\"android.permission.INTERNET\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>"
|
||||
]
|
||||
},
|
||||
"ios" : {
|
||||
"privacyDescription" : {
|
||||
"NSLocalNetworkUsageDescription" : "需要访问您的网络来提供更好的服务"
|
||||
},
|
||||
"idfa" : false,
|
||||
"dSYMs" : false
|
||||
},
|
||||
"sdkConfigs" : {
|
||||
"payment" : {
|
||||
"alipay" : {
|
||||
"__platform__" : [ "ios", "android" ]
|
||||
}
|
||||
},
|
||||
"ad" : {}
|
||||
},
|
||||
"icons" : {
|
||||
"android" : {
|
||||
"hdpi" : "src/static/icons/72x72.png",
|
||||
"xhdpi" : "src/static/icons/96x96.png",
|
||||
"xxhdpi" : "src/static/icons/144x144.png",
|
||||
"xxxhdpi" : "src/static/icons/192x192.png"
|
||||
},
|
||||
"ios" : {
|
||||
"appstore" : "src/static/icons/1024x1024.png",
|
||||
"ipad" : {
|
||||
"app" : "src/static/icons/76x76.png",
|
||||
"app@2x" : "src/static/icons/152x152.png",
|
||||
"notification" : "src/static/icons/20x20.png",
|
||||
"notification@2x" : "src/static/icons/40x40.png",
|
||||
"proapp@2x" : "src/static/icons/167x167.png",
|
||||
"settings" : "src/static/icons/29x29.png",
|
||||
"settings@2x" : "src/static/icons/58x58.png",
|
||||
"spotlight" : "src/static/icons/40x40.png",
|
||||
"spotlight@2x" : "src/static/icons/80x80.png"
|
||||
},
|
||||
"iphone" : {
|
||||
"app@2x" : "src/static/icons/120x120.png",
|
||||
"app@3x" : "src/static/icons/180x180.png",
|
||||
"notification@2x" : "src/static/icons/40x40.png",
|
||||
"notification@3x" : "src/static/icons/60x60.png",
|
||||
"settings@2x" : "src/static/icons/58x58.png",
|
||||
"settings@3x" : "src/static/icons/87x87.png",
|
||||
"spotlight@2x" : "src/static/icons/80x80.png",
|
||||
"spotlight@3x" : "src/static/icons/120x120.png"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"background" : "#000000",
|
||||
"compatible" : {
|
||||
"ignoreVersion" : true
|
||||
}
|
||||
},
|
||||
"quickapp" : {},
|
||||
"mp-weixin" : {
|
||||
"appid" : "",
|
||||
"setting" : {
|
||||
"urlCheck" : false
|
||||
},
|
||||
"usingComponents" : true,
|
||||
"darkmode" : false,
|
||||
"themeLocation" : "theme.json"
|
||||
},
|
||||
"mp-alipay" : {
|
||||
"usingComponents" : true
|
||||
},
|
||||
"mp-baidu" : {
|
||||
"usingComponents" : true
|
||||
},
|
||||
"mp-toutiao" : {
|
||||
"usingComponents" : true
|
||||
},
|
||||
"uniStatistics" : {
|
||||
"enable" : false
|
||||
},
|
||||
"vueVersion" : "3",
|
||||
"h5" : {
|
||||
"darkmode" : false,
|
||||
"themeLocation" : "theme.json"
|
||||
}
|
||||
}
|
||||
131
src/pages.json
Normal file
131
src/pages.json
Normal file
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"pages": [
|
||||
{
|
||||
"path": "pages/index",
|
||||
"type": "home",
|
||||
"layout": "home"
|
||||
},
|
||||
{
|
||||
"path": "pages/ai",
|
||||
"type": "page",
|
||||
"layout": "home"
|
||||
},
|
||||
{
|
||||
"path": "pages/authorization",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "授权书"
|
||||
},
|
||||
{
|
||||
"path": "pages/complaint",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "投诉服务"
|
||||
},
|
||||
{
|
||||
"path": "pages/example copy",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "报告示例"
|
||||
},
|
||||
{
|
||||
"path": "pages/example",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "示例报告"
|
||||
},
|
||||
{
|
||||
"path": "pages/inquire",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "报告查询"
|
||||
},
|
||||
{
|
||||
"path": "pages/login",
|
||||
"type": "page",
|
||||
"layout": "login",
|
||||
"title": "登录"
|
||||
},
|
||||
{
|
||||
"path": "pages/me",
|
||||
"type": "page",
|
||||
"layout": "home"
|
||||
},
|
||||
{
|
||||
"path": "pages/pay",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "全能查收款"
|
||||
},
|
||||
{
|
||||
"path": "pages/privacyPolicy",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "隐私政策"
|
||||
},
|
||||
{
|
||||
"path": "pages/queryHistory",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "历史报告"
|
||||
},
|
||||
{
|
||||
"path": "pages/result copy",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "报告结果"
|
||||
},
|
||||
{
|
||||
"path": "pages/result",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "报告结果"
|
||||
},
|
||||
{
|
||||
"path": "pages/service",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "客户服务"
|
||||
},
|
||||
{
|
||||
"path": "pages/userAgreement",
|
||||
"type": "page",
|
||||
"layout": "page",
|
||||
"title": "用户协议"
|
||||
}
|
||||
],
|
||||
"globalStyle": {
|
||||
"backgroundColor": "@bgColor",
|
||||
"backgroundColorBottom": "@bgColorBottom",
|
||||
"backgroundColorTop": "@bgColorTop",
|
||||
"backgroundTextStyle": "@bgTxtStyle",
|
||||
"navigationBarBackgroundColor": "#000000",
|
||||
"navigationBarTextStyle": "@navTxtStyle",
|
||||
"navigationBarTitleText": "全能查",
|
||||
"navigationStyle": "custom"
|
||||
},
|
||||
"tabBar": {
|
||||
"backgroundColor": "@tabBgColor",
|
||||
"borderStyle": "@tabBorderStyle",
|
||||
"color": "@tabFontColor",
|
||||
"selectedColor": "@tabSelectedColor",
|
||||
"list": [
|
||||
{
|
||||
"pagePath": "pages/index",
|
||||
"text": "",
|
||||
"visible": false
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/ai",
|
||||
"text": "",
|
||||
"visible": false
|
||||
},
|
||||
{
|
||||
"pagePath": "pages/me",
|
||||
"text": "",
|
||||
"visible": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"subPackages": []
|
||||
}
|
||||
72
src/pages/ai.vue
Normal file
72
src/pages/ai.vue
Normal file
@@ -0,0 +1,72 @@
|
||||
<script setup>
|
||||
import { onMounted, ref } from 'vue'
|
||||
|
||||
const userMessage = ref('')
|
||||
const messages = ref([
|
||||
{ sender: 'ai', text: '欢迎!请问有什么可以帮助您的吗?' },
|
||||
])
|
||||
|
||||
function sendMessage() {
|
||||
if (userMessage.value.trim() === '')
|
||||
return
|
||||
|
||||
messages.value.push({ sender: 'user', text: userMessage.value })
|
||||
|
||||
// AI 统一回复(中文套话)
|
||||
setTimeout(() => {
|
||||
messages.value.push({
|
||||
sender: 'ai',
|
||||
text: '感谢您的提问!我们会尽力为您提供帮助。',
|
||||
})
|
||||
}, 1000)
|
||||
|
||||
userMessage.value = ''
|
||||
}
|
||||
const safeAreaTop = ref(44)
|
||||
onShow(() => {
|
||||
uni.getSystemInfo({
|
||||
success: (res) => {
|
||||
if (res.safeArea && res.safeArea.top) {
|
||||
safeAreaTop.value = res.safeArea.top // 设置安全区顶部距离
|
||||
}
|
||||
},
|
||||
})
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view
|
||||
class="box-border min-h-screen from-blue-100 to-white bg-gradient-to-b" style="paddingTop:44px"
|
||||
>
|
||||
<view class="chat-page mx-4 flex flex-col rounded-xl shadow-lg">
|
||||
<view class="chat-window flex-1 overflow-auto border p-4">
|
||||
<view v-for="(message, index) in messages" :key="index" class="mb-2">
|
||||
<view v-if="message.sender === 'ai'" class="inline-block max-w-max rounded-xl bg-white p-2 text-left text-green-600 font-medium shadow-md">
|
||||
{{ message.text }}
|
||||
</view>
|
||||
<view v-else class="ml-auto inline-block max-w-max rounded-xl from-sky-300 via-sky-300 to-sky-300 bg-gradient-to-r p-2 text-right text-white font-medium shadow-md">
|
||||
{{ message.text }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="input-area mx-2 flex items-center gap-2 p-4">
|
||||
<wd-input v-model="userMessage" placeholder="请输入您的问题..." class="flex-1" size="large" />
|
||||
<wd-button custom-class="shadow" type="primary" @click="sendMessage">
|
||||
发送
|
||||
</wd-button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.chat-page {
|
||||
height: calc(100vh - 108px);
|
||||
}
|
||||
</style>
|
||||
|
||||
<route lang="json">
|
||||
{
|
||||
"layout": "home"
|
||||
}
|
||||
</route>
|
||||
54
src/pages/authorization.vue
Normal file
54
src/pages/authorization.vue
Normal file
@@ -0,0 +1,54 @@
|
||||
<script setup>
|
||||
const webviewStyles = ref({
|
||||
top: `${uni.getSystemInfoSync().statusBarHeight + 44}px`, // 距离顶部的距离
|
||||
height: `${uni.getSystemInfoSync().windowHeight - uni.getSystemInfoSync().statusBarHeight - 44}px`, // 高度
|
||||
position: 'absolute', // 绝对定位
|
||||
dock: 'bottom', // 停靠在底部
|
||||
bounce: 'vertical', // 垂直方向的回弹效果
|
||||
})
|
||||
const id = ref(null)
|
||||
|
||||
function handleMessage(event) {
|
||||
const data = event.detail.data[0]
|
||||
if (data.loaded) {
|
||||
onWebViewLoaded()
|
||||
}
|
||||
else if (data.action === 'agreed') {
|
||||
uni.redirectTo({ url: `/pages/pay?id=${id.value}` })
|
||||
}
|
||||
else if (data.action === 'cancelled') {
|
||||
uni.showModal({
|
||||
title: '注意',
|
||||
content: '是否确认取消,退出当前页面',
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
uni.navigateBack()
|
||||
}
|
||||
},
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function onWebViewLoaded() {
|
||||
}
|
||||
const src = ref('https://app.quannengcha.com/authorization')
|
||||
onLoad((option) => {
|
||||
if (option.id) {
|
||||
src.value = `${src.value}?id=${encodeURIComponent(option.id)}&token=${encodeURIComponent(uni.getStorageSync('token'))}`
|
||||
id.value = option.id
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view>
|
||||
<web-view :webview-styles="webviewStyles" :src="src" @message="handleMessage" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<route lang="json">
|
||||
{
|
||||
"layout": "page",
|
||||
"title": "授权书"
|
||||
}
|
||||
</route>
|
||||
22
src/pages/complaint.vue
Normal file
22
src/pages/complaint.vue
Normal file
@@ -0,0 +1,22 @@
|
||||
<script setup>
|
||||
const webviewStyles = ref({
|
||||
top: `${uni.getSystemInfoSync().statusBarHeight + 44}px`, // 距离顶部的距离
|
||||
height: `${uni.getSystemInfoSync().windowHeight - uni.getSystemInfoSync().statusBarHeight - 44}px`, // 高度
|
||||
position: 'absolute', // 绝对定位
|
||||
dock: 'bottom', // 停靠在底部
|
||||
bounce: 'vertical', // 垂直方向的回弹效果
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view>
|
||||
<web-view :webview-styles="webviewStyles" src="https://app.quannengcha.com/complaint" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<route lang="json">
|
||||
{
|
||||
"layout": "page",
|
||||
"title": "投诉服务"
|
||||
}
|
||||
</route>
|
||||
204
src/pages/example copy.vue
Normal file
204
src/pages/example copy.vue
Normal file
@@ -0,0 +1,204 @@
|
||||
<script setup>
|
||||
import CBad from '@/ui/CBad.vue'
|
||||
import CBankLoanApplication from '@/ui/CBankLoanApplication.vue'
|
||||
import CBankLoanBehavior from '@/ui/CBankLoanBehavior.vue'
|
||||
import CLawsuit from '@/ui/CLawsuit.vue'
|
||||
import CRelatedEnterprises from '@/ui/CRelatedEnterprises.vue'
|
||||
import CSpecialList from '@/ui/CSpecialList.vue'
|
||||
import CTabs from '@/ui/CTabs.vue'
|
||||
import { queryExample } from '@/api/apis'
|
||||
import CMarriage from '@/ui/CMarriage.vue'
|
||||
|
||||
const productMap = {
|
||||
1: '背景调查',
|
||||
2: '企业报告',
|
||||
3: '家政服务',
|
||||
4: '婚姻状态',
|
||||
5: '贷前背景调查',
|
||||
6: '租赁服务',
|
||||
7: '个人风险评估',
|
||||
}
|
||||
|
||||
// 根据 product_id 获取产品名称
|
||||
function getProductName(productId) {
|
||||
return productMap[productId] || '未知类型'
|
||||
}
|
||||
const productId = ref(null)
|
||||
const isDone = ref(false)
|
||||
const entData = ref(null)
|
||||
const lawsuitData = ref(null)
|
||||
const badData = ref(null)
|
||||
const specialData = ref(null)
|
||||
const bankLoanApplicationData = ref(null)
|
||||
const marriageData = ref(null)
|
||||
const bankLoanBehavior = ref(null)
|
||||
const tabs = ref([
|
||||
{ label: '报告概述', value: 'overview' },
|
||||
])
|
||||
const reportItems = ref([
|
||||
|
||||
])
|
||||
const sortedReportItems = computed(() => {
|
||||
return reportItems.value.slice().sort((a, b) => a.sort - b.sort)
|
||||
})
|
||||
const sortedTabs = computed(() => {
|
||||
return tabs.value.slice().sort((a, b) => a.sort - b.sort)
|
||||
})
|
||||
onLoad((option) => {
|
||||
console.log('option', option)
|
||||
const { feature } = option
|
||||
if (feature) {
|
||||
queryExample({ feature }).then((res) => {
|
||||
console.log('res', res)
|
||||
if (res.code === 200) {
|
||||
productId.value = res.data.product_id
|
||||
res.data.query_data.forEach((item) => {
|
||||
if (item.success) {
|
||||
switch (item.apiID) {
|
||||
case 'G09SC02':
|
||||
marriageData.value = item.data
|
||||
tabs.value.push({ label: '婚姻状态', value: 'marriage', sort: 1 })
|
||||
reportItems.value.push({ label: '婚姻状态', value: 'marriage', sort: 1 })
|
||||
break
|
||||
case 'G27BJ05':
|
||||
bankLoanApplicationData.value = item.data
|
||||
tabs.value.push({ label: '借贷申请记录', value: 'netloan', sort: 7 })
|
||||
reportItems.value.push({ label: '借贷申请记录', value: 'netloan', sort: 7 })
|
||||
break
|
||||
case 'G28BJ05':
|
||||
bankLoanBehavior.value = item.data
|
||||
tabs.value.push({ label: '借贷记录', value: 'loan', sort: 6 })
|
||||
reportItems.value.push({ label: '借贷记录', value: 'loan', sort: 6 })
|
||||
|
||||
break
|
||||
case 'G26BJ05':
|
||||
specialData.value = item.data
|
||||
tabs.value.push({ label: '异常名单', value: 'special', sort: 5 })
|
||||
reportItems.value.push({ label: '异常名单', value: 'special', sort: 5 })
|
||||
|
||||
break
|
||||
case 'G05HZ01':
|
||||
entData.value = item.data
|
||||
tabs.value.push({ label: '关联企业', value: 'ent', sort: 4 })
|
||||
reportItems.value.push({ label: '关联企业', value: 'ent', sort: 4 })
|
||||
break
|
||||
case 'G34BJ03':
|
||||
badData.value = item.data
|
||||
tabs.value.push({ label: '不良风险评估', value: 'bad', sort: 3 })
|
||||
reportItems.value.push({ label: '不良风险评估', value: 'bad', sort: 3 })
|
||||
break
|
||||
case 'G35SC01':
|
||||
lawsuitData.value = item.data
|
||||
tabs.value.push({ label: '涉诉案件', value: 'lawsuit', sort: 2 })
|
||||
reportItems.value.push({ label: '涉诉案件', value: 'lawsuit', sort: 2 })
|
||||
break
|
||||
default:
|
||||
console.log(`未知的apiID: ${item.apiID}`)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}).finally(() => {
|
||||
isDone.value = true
|
||||
})
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="min-h-full from-blue-100 to-white bg-gradient-to-b">
|
||||
<CTabs
|
||||
:tabs="sortedTabs"
|
||||
type="blue-green"
|
||||
/>
|
||||
<template v-if="isDone">
|
||||
<div class="flex flex-col gap-y-4 p-4 pt-12">
|
||||
<div id="overview" class="title">
|
||||
报告概述
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="flex flex-col gap-y-2">
|
||||
<div class="flex justify-between">
|
||||
<span class="text-gray-700 font-bold">报告时间:</span>
|
||||
<span class="text-gray-600">2024年11月18日 23:11:23</span>
|
||||
</div>
|
||||
<div class="flex justify-between">
|
||||
<span class="text-gray-700 font-bold">报告项目:</span>
|
||||
<span class="text-gray-600">{{ getProductName(productId) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<LTitle class="my-4" title="报告内容" type="blue-green" />
|
||||
<div class="flex flex-col gap-y-2">
|
||||
<div v-for="item in sortedReportItems" :key="item.value" class="flex justify-between">
|
||||
<span class="text-gray-700 font-bold">{{ item.label }}:</span>
|
||||
<span class="text-green-500 font-bold">已解锁</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<template v-if="marriageData">
|
||||
<div id="marriage" class="title">
|
||||
婚姻状态
|
||||
</div>
|
||||
<CMarriage :data="marriageData" />
|
||||
</template>
|
||||
<template v-if="lawsuitData">
|
||||
<div id="lawsuit" class="title">
|
||||
涉诉案件
|
||||
</div>
|
||||
<CLawsuit :data="lawsuitData" />
|
||||
</template>
|
||||
<template v-if="badData">
|
||||
<div id="bad" class="title">
|
||||
不良风险评估
|
||||
</div>
|
||||
<CBad :data="badData" />
|
||||
</template>
|
||||
<template v-if="entData">
|
||||
<div id="ent" class="title">
|
||||
关联企业
|
||||
</div>
|
||||
<CRelatedEnterprises :data="entData" />
|
||||
</template>
|
||||
<template v-if="specialData">
|
||||
<div id="special" class="title">
|
||||
异常名单
|
||||
</div>
|
||||
<CSpecialList :data="specialData" />
|
||||
</template>
|
||||
<template v-if="bankLoanBehavior">
|
||||
<div id="loan" class="title">
|
||||
借贷记录
|
||||
</div>
|
||||
<CBankLoanBehavior :data="bankLoanBehavior" />
|
||||
</template>
|
||||
<template v-if="bankLoanApplicationData">
|
||||
<div id="netloan" class="title">
|
||||
贷款申请记录
|
||||
</div>
|
||||
<CBankLoanApplication :data="bankLoanApplicationData" />
|
||||
</template>
|
||||
<view class="card">
|
||||
<view>
|
||||
<view class="text-blue-500 font-bold">
|
||||
报告说明
|
||||
</view>
|
||||
<view>本报告的数据由用户本人明确授权后,我们才向相关合法存有用户个人数据的机构调取本报告相关内容,本平台只做大数据的获取与分析,仅向用户个人展示参考。</view><p> 报告有效期<strong>30天</strong>,过期自动删除。 </p><p> 若您的数据不全面,可能是数据具有延迟性或者合作信息机构未获取到您的数据。若数据有错误请联系客服</p>
|
||||
</view>
|
||||
</view>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
|
||||
<route lang="json">
|
||||
{
|
||||
"layout": "page",
|
||||
"title": "报告示例"
|
||||
}
|
||||
</route>
|
||||
41
src/pages/example.vue
Normal file
41
src/pages/example.vue
Normal file
@@ -0,0 +1,41 @@
|
||||
<script setup>
|
||||
const webviewStyles = ref({
|
||||
top: `${uni.getSystemInfoSync().statusBarHeight + 44}px`, // 距离顶部的距离
|
||||
height: `${uni.getSystemInfoSync().windowHeight - uni.getSystemInfoSync().statusBarHeight - 44}px`, // 高度
|
||||
position: 'absolute', // 绝对定位
|
||||
dock: 'bottom', // 停靠在底部
|
||||
bounce: 'vertical', // 垂直方向的回弹效果
|
||||
})
|
||||
const feature = ref(null)
|
||||
const token = ref(null)
|
||||
const webviewSrc = ref('')
|
||||
|
||||
onLoad((option) => {
|
||||
if (option.feature) {
|
||||
feature.value = option.feature
|
||||
}
|
||||
|
||||
token.value = uni.getStorageSync('token') || ''
|
||||
|
||||
const baseUrl = 'https://app.quannengcha.com/example'
|
||||
webviewSrc.value = `${baseUrl}?feature=${encodeURIComponent(feature.value)}&token=${encodeURIComponent(token.value)}`
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view>
|
||||
<!-- 使用动态构造的 WebView src -->
|
||||
<web-view :webview-styles="webviewStyles" :src="webviewSrc" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
</style>
|
||||
|
||||
<route lang="json">
|
||||
{
|
||||
"layout": "page",
|
||||
"title": "示例报告"
|
||||
}
|
||||
</route>
|
||||
114
src/pages/index.vue
Normal file
114
src/pages/index.vue
Normal file
@@ -0,0 +1,114 @@
|
||||
<script setup>
|
||||
function toInquire(name) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/inquire?feature=${name}`,
|
||||
})
|
||||
}
|
||||
|
||||
const services = ref([
|
||||
{ title: '个人风险', name: 'riskassessment', subtitle: '一查全知', bg: '/static/image/index_icon_2.png', bgColor: 'bg-indigo-400', position: 'left' },
|
||||
{ title: '婚恋风险', name: 'marriage', subtitle: '查婚姻状态让爱无忧', bg: '/static/image/index_icon_1.png', bgColor: ' bg-pink-400 ', position: 'right' },
|
||||
{ title: '家政服务', name: 'homeservice', subtitle: '用人有保障', bg: '/static/image/index_icon_3.png', bgColor: ' bg-teal-500 ', position: 'left' },
|
||||
{ title: '租赁风险', name: 'rentalinfo', subtitle: '一查明了', bg: '/static/image/index_icon_4.png', bgColor: ' bg-sky-500 ', position: 'left' },
|
||||
{ title: '企业报告', name: 'companyinfo', subtitle: '合作更安心', bg: '/static/image/index_icon_5.png', bgColor: ' bg-blue-400 ', position: 'right' },
|
||||
{ title: '人事背调', name: 'backgroundcheck', subtitle: '选人更放心', bg: '/static/image/index_icon_6.png', bgColor: ' bg-orange-400 ', position: 'left' },
|
||||
{ title: '贷前调查', name: 'preloanbackgroundcheck', subtitle: '放心借贷', bg: '/static/image/index_icon_7.png', bgColor: ' bg-red-400 ', position: 'right' },
|
||||
])
|
||||
|
||||
const noticeText = ref([])
|
||||
|
||||
function toHistory() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/queryHistory',
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="box-border min-h-screen from-blue-100 to-white bg-gradient-to-b">
|
||||
<view class="relative h-[190px]">
|
||||
<image class="h-full w-full" src="/static/image/banner2.png" />
|
||||
<image
|
||||
class="absolute bottom-[-70px] right-0 w-38"
|
||||
src="/static/image/banner_a.png"
|
||||
mode="aspectFit"
|
||||
/>
|
||||
</view>
|
||||
<view class="relative p-4 pb-4 pt-2">
|
||||
<view class="mb-1 flex items-center">
|
||||
<view class="flex-shrink-0 pl-2 font-bold">
|
||||
在线信息
|
||||
</view>
|
||||
<wd-notice-bar
|
||||
:text="noticeText" direction="vertical" :delay="5" color="#4c4c4c"
|
||||
background-color="#00000000"
|
||||
/>
|
||||
</view>
|
||||
<view class="grid grid-cols-2 gap-3">
|
||||
<template v-for="(service, index) in services" :key="index">
|
||||
<view
|
||||
class="relative flex flex-col px-4 py-2 shadow-lg" :class="[
|
||||
service.position === 'left'
|
||||
? 'rounded-tl-[35px] rounded-bl-[35px] rounded-tr-lg rounded-br-lg'
|
||||
: 'rounded-tr-[35px] rounded-br-[35px] rounded-tl-lg rounded-bl-lg',
|
||||
service.bgColor,
|
||||
service.title === '婚恋风险' ? 'row-span-2' : '',
|
||||
]" :style="`background: url(${service.bg}) no-repeat; background-size: cover; background-position: center;`"
|
||||
@click="toInquire(service.name)"
|
||||
>
|
||||
<view class="min-h-18 flex flex-col items-start px-1">
|
||||
<view class="mt-1 max-w-max text-left text-gray-600 font-bold">
|
||||
{{ service.title }}
|
||||
</view>
|
||||
<view class="max-w-max text-left text-xs text-gray-600">
|
||||
<rich-text :nodes="service.subtitle" />
|
||||
</view>
|
||||
<view class="mt-2 rounded-2xl px-2 text-xs text-white" :class="[service.bgColor]">
|
||||
GO >
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</view>
|
||||
<view
|
||||
class="mt-4 box-border h-14 w-full flex items-center rounded-xl bg-white px-4 text-gray-700 shadow-xl"
|
||||
@click="toHistory"
|
||||
>
|
||||
<image
|
||||
class="mr-4 h-10 w-10"
|
||||
src="/static/image/bg_icon.png"
|
||||
mode="widthFix"
|
||||
/>
|
||||
<view class="">
|
||||
<view class="font-bold">
|
||||
我的历史查询记录
|
||||
</view>
|
||||
<view class="text-xs">
|
||||
查询记录有效期为30天
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view
|
||||
class="mb-16 mt-6 h-12 w-full flex items-center justify-center rounded-3xl from-blue-500 to-sky-400 bg-gradient-to-b text-center text-lg text-white line-height-12 shadow-xl"
|
||||
>
|
||||
<view>全能查邀您共赢,共享数据新价值!</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.clip-left {
|
||||
clip-path: polygon(0 0, 0 100%, 90% 100%, 0 100%);
|
||||
}
|
||||
|
||||
.clip-right {
|
||||
clip-path: polygon(0 0, 0 0, 90% 100%, 0 0);
|
||||
}
|
||||
</style>
|
||||
|
||||
<route type="home" lang="json">
|
||||
{
|
||||
"layout": "home"
|
||||
}
|
||||
</route>
|
||||
294
src/pages/inquire.vue
Normal file
294
src/pages/inquire.vue
Normal file
@@ -0,0 +1,294 @@
|
||||
<script setup>
|
||||
import { aesEncrypt } from '@/utils/crypto'
|
||||
import { getCode, getProduct, queryMarriage, querybackgroundCheck, querycompanyInfo, queryhomeService, querypreLoanBackgroundCheck, queryrentalInfo, queryriskAssessment } from '@/api/apis'
|
||||
|
||||
const name = ref('')
|
||||
const idCard = ref('')
|
||||
const phoneNumber = ref('')
|
||||
const verificationCode = ref('')
|
||||
const agreeToTerms = ref(false)
|
||||
const isCountingDown = ref(false)
|
||||
const countdown = ref(60)
|
||||
const feature = ref('')
|
||||
const timer = null
|
||||
const featureData = ref({})
|
||||
const services = reactive([
|
||||
{ title: '个人风险报告', name: 'riskassessment', subtitle: '一查全知', bg: '/static/image/index_icon_2.png', bgColor: 'bg-indigo-400', api: queryriskAssessment },
|
||||
{ title: '婚恋报告', name: 'marriage', subtitle: '查婚姻状态让爱无忧', bg: '/static/image/index_icon_1.png', bgColor: ' bg-pink-400 ', api: queryMarriage },
|
||||
{ title: '家政服务报告', name: 'homeservice', subtitle: '用人有保障', bg: '/static/image/index_icon_3.png', bgColor: ' bg-teal-500 ', api: queryhomeService },
|
||||
{ title: '租赁服务报告', name: 'rentalinfo', subtitle: '一查明了', bg: '/static/image/index_icon_4.png', bgColor: ' bg-sky-500 ', api: queryrentalInfo },
|
||||
{ title: '贷前调查报告', name: 'preloanbackgroundcheck', subtitle: '放心借贷', bg: '/static/image/index_icon_7.png', bgColor: ' bg-red-400 ', api: querypreLoanBackgroundCheck },
|
||||
{ title: '人事背调报告', name: 'backgroundcheck', subtitle: '选人更放心', bg: '/static/image/index_icon_6.png', bgColor: ' bg-orange-400 ', api: querybackgroundCheck },
|
||||
{ title: '企业报告', name: 'companyinfo', subtitle: '合作更安心', bg: '/static/image/index_icon_5.png', bgColor: ' bg-blue-400 ', api: querycompanyInfo },
|
||||
])
|
||||
const service = ref({})
|
||||
onLoad((options) => {
|
||||
console.log('options', options)
|
||||
if (options.feature) {
|
||||
feature.value = options.feature
|
||||
}
|
||||
else {
|
||||
feature.value = 'marrige'
|
||||
}
|
||||
getService()
|
||||
getProduct(feature.value).then((res) => {
|
||||
if (res.code === 200) {
|
||||
featureData.value = res.data
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
const isPhoneNumberValid = computed(() => {
|
||||
return /^1[3-9]\d{9}$/.test(phoneNumber.value)
|
||||
})
|
||||
const isIdCardValid = computed(() => /^\d{17}[\dX]$/i.test(idCard.value))
|
||||
|
||||
function handleSubmit() {
|
||||
if (!agreeToTerms.value) {
|
||||
uni.showToast({ title: '请阅读并同意用户协议和隐私政策', icon: 'none' })
|
||||
return
|
||||
}
|
||||
if (!name.value) {
|
||||
uni.showToast({ title: '请输入姓名', icon: 'none' })
|
||||
return
|
||||
}
|
||||
if (!isPhoneNumberValid.value) {
|
||||
uni.showToast({ title: '请输入有效的手机号', icon: 'none' })
|
||||
return
|
||||
}
|
||||
if (!isIdCardValid.value) {
|
||||
uni.showToast({ title: '请输入有效的身份证号码', icon: 'none' })
|
||||
return
|
||||
}
|
||||
if (!verificationCode.value) {
|
||||
uni.showToast({ title: '请输入验证码', icon: 'none' })
|
||||
return
|
||||
}
|
||||
submit()
|
||||
}
|
||||
function getService() {
|
||||
for (const i of services) {
|
||||
if (i.name === feature.value) {
|
||||
service.value = i
|
||||
}
|
||||
}
|
||||
}
|
||||
function sendVerificationCode() {
|
||||
if (isCountingDown.value || !isPhoneNumberValid.value)
|
||||
return
|
||||
if (!isPhoneNumberValid.value) {
|
||||
uni.showToast({ title: '请输入有效的手机号', icon: 'none' })
|
||||
return
|
||||
}
|
||||
getCode({
|
||||
mobile: phoneNumber.value,
|
||||
actionType: 'query',
|
||||
}).then((res) => {
|
||||
if (res.code === 200) {
|
||||
uni.showToast({ title: '获取成功', icon: 'none' })
|
||||
|
||||
startCountdown()
|
||||
}
|
||||
})
|
||||
}
|
||||
function startCountdown() {
|
||||
isCountingDown.value = true
|
||||
countdown.value = 60
|
||||
timer = setInterval(() => {
|
||||
if (countdown.value > 0) {
|
||||
countdown.value--
|
||||
}
|
||||
else {
|
||||
clearInterval(timer)
|
||||
isCountingDown.value = false
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
function toExample() {
|
||||
uni.navigateTo({
|
||||
url: `/pages/example?feature=${feature.value}`,
|
||||
})
|
||||
}
|
||||
|
||||
function submit() {
|
||||
const req = {
|
||||
name: name.value,
|
||||
id_card: idCard.value,
|
||||
mobile: phoneNumber.value,
|
||||
code: verificationCode.value,
|
||||
}
|
||||
const data = JSON.stringify(req)
|
||||
const encodeData = aesEncrypt(data, 'ff83609b2b24fc73196aac3d3dfb874f')
|
||||
service.value.api({ data: encodeData }).then((res) => {
|
||||
if (res.code === 200) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/authorization?id=${res.data.id}`,
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
function toUserAgreement() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/userAgreement',
|
||||
})
|
||||
}
|
||||
function toPrivacyPolicy() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/privacyPolicy',
|
||||
})
|
||||
}
|
||||
onUnmounted(() => {
|
||||
if (timer) {
|
||||
clearInterval(timer)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="inquire-bg min-h-screen rounded-lg p-6 shadow-lg">
|
||||
<view class="mb-6 text-center text-blue-800 font-extrabold">
|
||||
<view class="text-blue-600">
|
||||
<text class="text-2xl font-bold">
|
||||
{{ service.title }}
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="card-p-0 px-4 py-6">
|
||||
<view class="mb-4 text-xl text-gray-800 font-semibold">
|
||||
基本信息
|
||||
</view>
|
||||
<wd-input
|
||||
v-model="name" label="姓名" type="text" label-width="60px" placeholder="请输入正确的姓名"
|
||||
class="mb-6 border-b border-gray-200 border-b-solid"
|
||||
/>
|
||||
<wd-input
|
||||
v-model="idCard" label="身份证号" label-width="60px" placeholder="请输入准确的身份证号码"
|
||||
class="mb-6 border-b border-gray-200 border-b-solid"
|
||||
/>
|
||||
<wd-input
|
||||
v-model="phoneNumber" label="手机号" type="tel" label-width="60px" placeholder="输入手机号"
|
||||
class="mb-6 border-b border-gray-200 border-b-solid"
|
||||
/>
|
||||
<view class="mb-6 flex items-center">
|
||||
<wd-input
|
||||
v-model="verificationCode" label="验证码" type="number" label-width="60px" placeholder="输入验证码"
|
||||
class="flex-1 border-b border-gray-200 border-b-solid"
|
||||
/>
|
||||
<view
|
||||
class="ml-2 rounded-lg border-none px-2 py-2 text-sm font-bold outline-none ring-none transition duration-300"
|
||||
:class="isCountingDown || !isPhoneNumberValid ? 'cursor-not-allowed bg-gray-300 text-gray-500' : 'bg-blue-500 text-white hover:bg-blue-600'"
|
||||
@click="sendVerificationCode"
|
||||
>
|
||||
{{ isCountingDown ? `${countdown}s重新获取` : '获取验证码' }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="mb-6 flex items-center">
|
||||
<wd-checkbox v-model="agreeToTerms" />
|
||||
<view class="ml-1 text-xs text-gray-400">
|
||||
我已阅读并同意<text class="text-blue-500 hover:underline" @click="toUserAgreement">
|
||||
《用户协议》
|
||||
</text><text class="text-blue-500 hover:underline" @click="toPrivacyPolicy">
|
||||
《隐私政策》
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="flex">
|
||||
<wd-button
|
||||
custom-style="border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;" plain class="w-10 py-3 text-lg font-bold" @click="toExample"
|
||||
>
|
||||
示例报告
|
||||
</wd-button>
|
||||
<wd-button
|
||||
custom-style="border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;" type="primary" class="flex-1 py-3 text-lg font-bold" @click="handleSubmit"
|
||||
>
|
||||
立即查询 ¥ {{ featureData.sell_price }}
|
||||
</wd-button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<wd-divider class="my-4" />
|
||||
<view class="card">
|
||||
<!-- 报告标题 -->
|
||||
<view class="mb-6 text-xl text-gray-800 font-bold">
|
||||
{{ featureData.product_name }}
|
||||
</view>
|
||||
|
||||
<!-- 报告介绍 -->
|
||||
<view class="mb-4 text-gray-600 leading-relaxed">
|
||||
{{ featureData.description }}
|
||||
</view>
|
||||
|
||||
<!-- 报价信息 -->
|
||||
<view class="mb-6 flex items-center justify-between">
|
||||
<view class="text-lg text-gray-500">
|
||||
价格:
|
||||
</view>
|
||||
<view class="text-lg text-blue-600 font-semibold">
|
||||
¥{{ featureData.sell_price }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 报告主要内容 -->
|
||||
<view class="mb-4 text-lg text-gray-800 font-semibold">
|
||||
报告主要内容
|
||||
</view>
|
||||
<view class="grid grid-cols-2 gap-4">
|
||||
<view
|
||||
v-for="(feature, index) in featureData.features"
|
||||
:key="feature.id"
|
||||
class="rounded-lg py-2 text-center text-sm text-gray-700 font-medium"
|
||||
:class="[
|
||||
(Math.floor(index / 2) + (index % 2)) % 2 === 0
|
||||
? 'bg-gradient-to-r from-blue-200 via-blue-200 to-blue-100'
|
||||
: 'bg-gradient-to-r from-sky-200 via-sky-200 to-sky-100',
|
||||
]"
|
||||
>
|
||||
{{ feature.name }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.icon-company,
|
||||
.icon-transaction,
|
||||
.icon-judicial,
|
||||
.icon-penalty {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.inquire-bg {
|
||||
background: url("/static/image/bg_2.png") no-repeat;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.inquire-bg::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(255, 255, 255, 0.4);
|
||||
/* 使用白色的半透明覆盖层,0.5 可调整为其他透明度值 */
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.inquire-bg>* {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
/* 确保子元素在覆盖层之上 */
|
||||
}
|
||||
</style>
|
||||
|
||||
<route lang="json">
|
||||
{
|
||||
"layout": "page",
|
||||
"title": "报告查询"
|
||||
}
|
||||
</route>
|
||||
203
src/pages/login.vue
Normal file
203
src/pages/login.vue
Normal file
@@ -0,0 +1,203 @@
|
||||
<script setup>
|
||||
import { getCode, login } from '@/api/apis'
|
||||
|
||||
const phoneNumber = ref('')
|
||||
const verificationCode = ref('')
|
||||
const password = ref('')
|
||||
const isPasswordLogin = ref(false)
|
||||
const isAgreed = ref(false)
|
||||
const isCountingDown = ref(false)
|
||||
const countdown = ref(60)
|
||||
let timer = null
|
||||
|
||||
// 聚焦状态变量
|
||||
const phoneFocused = ref(false)
|
||||
const codeFocused = ref(false)
|
||||
const passwordFocused = ref(false)
|
||||
|
||||
const isPhoneNumberValid = computed(() => {
|
||||
return /^1[3-9]\d{9}$/.test(phoneNumber.value)
|
||||
})
|
||||
|
||||
const canLogin = computed(() => {
|
||||
if (!isPhoneNumberValid.value)
|
||||
return false
|
||||
if (isPasswordLogin.value) {
|
||||
return password.value.length >= 6
|
||||
}
|
||||
else {
|
||||
return verificationCode.value.length === 6
|
||||
}
|
||||
})
|
||||
function sendVerificationCode() {
|
||||
if (isCountingDown.value || !isPhoneNumberValid.value)
|
||||
return
|
||||
if (!isPhoneNumberValid.value) {
|
||||
uni.showToast({ title: '请输入有效的手机号', icon: 'none' })
|
||||
return
|
||||
}
|
||||
getCode({
|
||||
mobile: phoneNumber.value,
|
||||
actionType: 'login',
|
||||
}).then((res) => {
|
||||
if (res.code === 200) {
|
||||
uni.showToast({ title: '获取成功', icon: 'none' })
|
||||
|
||||
startCountdown()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function startCountdown() {
|
||||
isCountingDown.value = true
|
||||
countdown.value = 60
|
||||
timer = setInterval(() => {
|
||||
if (countdown.value > 0) {
|
||||
countdown.value--
|
||||
}
|
||||
else {
|
||||
clearInterval(timer)
|
||||
isCountingDown.value = false
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
function handleLogin() {
|
||||
if (!canLogin.value) {
|
||||
uni.showToast({ title: '请完善信息', icon: 'none' })
|
||||
return
|
||||
}
|
||||
if (!isAgreed.value) {
|
||||
uni.showToast({ title: '请先同意用户协议', icon: 'none' })
|
||||
return
|
||||
}
|
||||
login({ mobile: phoneNumber.value, code: verificationCode.value }).then((res) => {
|
||||
console.log('res.data.AccessToken', res.data.accessToken)
|
||||
if (res.code === 200) {
|
||||
uni.setStorageSync('token', res.data.accessToken)
|
||||
uni.showToast({ title: '登录成功', icon: 'none' })
|
||||
uni.reLaunch({
|
||||
url: '/pages/index',
|
||||
})
|
||||
}
|
||||
else {
|
||||
uni.showToast({ title: res.msg, icon: 'none' })
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function toUserAgreement() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/userAgreement',
|
||||
})
|
||||
}
|
||||
function toPrivacyPolicy() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/privacyPolicy',
|
||||
})
|
||||
}
|
||||
onUnmounted(() => {
|
||||
if (timer) {
|
||||
clearInterval(timer)
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="login px-8">
|
||||
<view class="mb-8 pt-8 text-left">
|
||||
<view class="flex flex-col items-center">
|
||||
<image
|
||||
class="h-18 w-18 rounded-full shadow"
|
||||
src="/static/image/logo.png"
|
||||
mode="scaleToFill"
|
||||
/>
|
||||
<image
|
||||
class="mt-4 h-10"
|
||||
src="/static/image/logo_title.png"
|
||||
mode="aspectFit"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="space-y-5">
|
||||
<view class="input-container bg-blue-300/20" :class="[phoneFocused ? 'focused' : '']">
|
||||
<input
|
||||
v-model="phoneNumber" class="input-field" type="number" placeholder="请输入手机号" maxlength="11"
|
||||
@focus="phoneFocused = true" @blur="phoneFocused = false"
|
||||
>
|
||||
</view>
|
||||
<view v-if="!isPasswordLogin">
|
||||
<view class="flex items-center justify-between">
|
||||
<view class="input-container bg-blue-300/20" :class="[codeFocused ? 'focused' : '']">
|
||||
<input
|
||||
v-model="verificationCode" class="input-field" type="number" placeholder="请输入验证码" maxlength="6"
|
||||
@focus="codeFocused = true" @blur="codeFocused = false"
|
||||
>
|
||||
</view>
|
||||
<view
|
||||
class="ml-2 rounded-lg px-4 py-2 text-sm font-bold transition duration-300 focus:outline-none"
|
||||
:class="isCountingDown || !isPhoneNumberValid ? 'cursor-not-allowed bg-gray-300 text-gray-500' : 'bg-blue-500 text-white hover:bg-blue-600'"
|
||||
@click="sendVerificationCode"
|
||||
>
|
||||
{{ isCountingDown ? `${countdown}s重新获取` : '获取验证码' }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="isPasswordLogin" class="input-container" :class="[passwordFocused ? 'focused' : '']">
|
||||
<input
|
||||
v-model="password" class="input-field" type="password" placeholder="请输入密码"
|
||||
@focus="passwordFocused = true" @blur="passwordFocused = false"
|
||||
>
|
||||
</view>
|
||||
<view class="flex items-start space-x-2">
|
||||
<wd-checkbox v-model="isAgreed" class="mt-1" />
|
||||
<text class="text-xs text-gray-400 leading-tight">
|
||||
未注册手机号登录后将自动生成账号,并且代表您已阅读并同意
|
||||
<text class="cursor-pointer text-blue-400" @click="toUserAgreement">
|
||||
《用户协议》
|
||||
</text>
|
||||
和
|
||||
<text class="cursor-pointer text-blue-400" @click="toPrivacyPolicy">
|
||||
《隐私政策》
|
||||
</text>
|
||||
</text>
|
||||
</view>
|
||||
</view>
|
||||
<button
|
||||
class="mt-20 block w-full flex-shrink-0 rounded-full bg-blue-500 py-3 text-lg text-white font-bold transition duration-300"
|
||||
@click="handleLogin"
|
||||
>
|
||||
登录
|
||||
</button>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.login{
|
||||
|
||||
}
|
||||
.input-container {
|
||||
border: 2px solid rgba(125, 211, 252, 0.0);
|
||||
border-radius: 1rem;
|
||||
@apply transition duration-200
|
||||
}
|
||||
|
||||
.input-container.focused {
|
||||
border: 2px solid #3b82f6;
|
||||
}
|
||||
|
||||
.input-field {
|
||||
width: 100%;
|
||||
padding: 1rem;
|
||||
transition: border-color 0.3s ease;
|
||||
outline: none;
|
||||
background: transparent;
|
||||
}
|
||||
</style>
|
||||
|
||||
<route lang="json">
|
||||
{
|
||||
"layout": "login",
|
||||
"title": "登录"
|
||||
}
|
||||
</route>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user