fix: 🐛 修复 eslint 警告问题
This commit is contained in:
@@ -3,4 +3,4 @@
|
|||||||
dist
|
dist
|
||||||
public
|
public
|
||||||
node_modules
|
node_modules
|
||||||
|
auto-imports.d.ts
|
||||||
|
|||||||
@@ -17,13 +17,24 @@ const autoImportConfig = JSON.parse(fs.readFileSync(".eslintrc-auto-import.json"
|
|||||||
|
|
||||||
/** @type {import('eslint').Linter.Config[]} */
|
/** @type {import('eslint').Linter.Config[]} */
|
||||||
export default [
|
export default [
|
||||||
// 指定检查文件和忽略文件
|
// 忽略指定文件
|
||||||
|
{
|
||||||
|
ignores: [
|
||||||
|
"node_modules/**",
|
||||||
|
"dist/**",
|
||||||
|
"unpackage/**",
|
||||||
|
"public/**",
|
||||||
|
"static/**",
|
||||||
|
"**/u-charts/**",
|
||||||
|
"**/qiun-**/**",
|
||||||
|
"**/auto-imports.d.ts",
|
||||||
|
"src/types/auto-imports.d.ts",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
// 检查文件的配置
|
||||||
{
|
{
|
||||||
files: ["**/*.{js,mjs,cjs,ts,vue}"],
|
files: ["**/*.{js,mjs,cjs,ts,vue}"],
|
||||||
ignores: ["**/*.d.ts"],
|
ignores: ["**/*.d.ts"],
|
||||||
},
|
|
||||||
// 全局配置
|
|
||||||
{
|
|
||||||
languageOptions: {
|
languageOptions: {
|
||||||
globals: {
|
globals: {
|
||||||
...globals.browser,
|
...globals.browser,
|
||||||
@@ -35,6 +46,8 @@ export default [
|
|||||||
ResponseData: "readonly", // 统一响应数据类型
|
ResponseData: "readonly", // 统一响应数据类型
|
||||||
PageResult: "readonly", // 分页结果数据类型
|
PageResult: "readonly", // 分页结果数据类型
|
||||||
PageQuery: "readonly", // 分页查询数据类型
|
PageQuery: "readonly", // 分页查询数据类型
|
||||||
|
OptionType: "readonly", // 选项类型
|
||||||
|
getCurrentPages: "readonly", // uni-app 全局 API
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -51,6 +64,8 @@ export default [
|
|||||||
ignoreRestSiblings: true, // 忽略解构赋值中同级未使用变量的警告
|
ignoreRestSiblings: true, // 忽略解构赋值中同级未使用变量的警告
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
"no-prototype-builtins": "off", // 允许直接调用Object.prototype方法
|
||||||
|
"no-constant-binary-expression": "warn", // 将常量二元表达式警告降为警告级别
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// JavaScript 配置
|
// JavaScript 配置
|
||||||
@@ -93,4 +108,22 @@ export default [
|
|||||||
"vue/multi-word-component-names": "off", // 允许单个单词组件名
|
"vue/multi-word-component-names": "off", // 允许单个单词组件名
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 单独针对第三方组件的处理
|
||||||
|
{
|
||||||
|
files: ["**/qiun-data-charts.vue", "**/qiun-data-charts/**/*.vue", "**/u-charts/**"],
|
||||||
|
linterOptions: {
|
||||||
|
noInlineConfig: false,
|
||||||
|
reportUnusedDisableDirectives: false,
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
// 禁用所有规则
|
||||||
|
...Object.fromEntries(
|
||||||
|
Object.keys(pluginVue.configs["vue3-recommended"].rules || {}).map((key) => [key, "off"])
|
||||||
|
),
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
"no-prototype-builtins": "off",
|
||||||
|
"@typescript-eslint/no-explicit-any": "off",
|
||||||
|
},
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
"build:app-ios": "uni build -p app-ios",
|
"build:app-ios": "uni build -p app-ios",
|
||||||
"build:app-harmony": "uni build -p app-harmony",
|
"build:app-harmony": "uni build -p app-harmony",
|
||||||
"build:custom": "uni build -p",
|
"build:custom": "uni build -p",
|
||||||
"build:h5": "uni build",
|
"build:h5": "uni build --mode production",
|
||||||
"build:h5:ssr": "uni build --ssr",
|
"build:h5:ssr": "uni build --ssr",
|
||||||
"build:mp-alipay": "uni build -p mp-alipay",
|
"build:mp-alipay": "uni build -p mp-alipay",
|
||||||
"build:mp-baidu": "uni build -p mp-baidu",
|
"build:mp-baidu": "uni build -p mp-baidu",
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
"build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
|
"build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
|
||||||
"build:quickapp-webview-union": "uni build -p quickapp-webview-union",
|
"build:quickapp-webview-union": "uni build -p quickapp-webview-union",
|
||||||
"type-check": "vue-tsc --noEmit",
|
"type-check": "vue-tsc --noEmit",
|
||||||
"lint:eslint": "eslint --fix ./src",
|
"lint:eslint": "eslint \"src/**/*.{vue,ts}\" --fix",
|
||||||
"lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,css,scss,vue,html,md}\"",
|
"lint:prettier": "prettier --write \"**/*.{js,cjs,ts,json,css,scss,vue,html,md}\"",
|
||||||
"lint:stylelint": "stylelint \"**/*.{css,scss,vue,html}\" --fix",
|
"lint:stylelint": "stylelint \"**/*.{css,scss,vue,html}\" --fix",
|
||||||
"lint:lint-staged": "lint-staged",
|
"lint:lint-staged": "lint-staged",
|
||||||
|
|||||||
63
pnpm-lock.yaml
generated
63
pnpm-lock.yaml
generated
@@ -50,18 +50,15 @@ dependencies:
|
|||||||
'@dcloudio/uni-quickapp-webview':
|
'@dcloudio/uni-quickapp-webview':
|
||||||
specifier: 3.0.0-4020420240722002
|
specifier: 3.0.0-4020420240722002
|
||||||
version: 3.0.0-4020420240722002(postcss@8.4.49)(vue@3.5.13)
|
version: 3.0.0-4020420240722002(postcss@8.4.49)(vue@3.5.13)
|
||||||
'@qiun/uni-ucharts':
|
|
||||||
specifier: 2.5.0-20230101
|
|
||||||
version: 2.5.0-20230101
|
|
||||||
pinia:
|
pinia:
|
||||||
specifier: ^2.2.2
|
specifier: ^2.2.2
|
||||||
version: 2.2.6(typescript@4.9.5)(vue@3.5.13)
|
version: 2.2.6(typescript@4.9.5)(vue@3.5.13)
|
||||||
vue:
|
vue:
|
||||||
specifier: ^3.4.21
|
specifier: ^3.5.13
|
||||||
version: 3.5.13(typescript@4.9.5)
|
version: 3.5.13(typescript@4.9.5)
|
||||||
wot-design-uni:
|
wot-design-uni:
|
||||||
specifier: ^1.3.11
|
specifier: ^1.4.0
|
||||||
version: 1.3.14(vue@3.5.13)
|
version: 1.8.0(vue@3.5.13)
|
||||||
|
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@commitlint/cli':
|
'@commitlint/cli':
|
||||||
@@ -131,11 +128,11 @@ devDependencies:
|
|||||||
specifier: ^3.3.3
|
specifier: ^3.3.3
|
||||||
version: 3.3.3
|
version: 3.3.3
|
||||||
sass:
|
sass:
|
||||||
specifier: 1.79.3
|
specifier: 1.78.0
|
||||||
version: 1.79.3
|
version: 1.78.0
|
||||||
sass-loader:
|
sass-loader:
|
||||||
specifier: ^16.0.2
|
specifier: ^16.0.2
|
||||||
version: 16.0.3(sass@1.79.3)
|
version: 16.0.3(sass@1.78.0)
|
||||||
stylelint:
|
stylelint:
|
||||||
specifier: ^16.9.0
|
specifier: ^16.9.0
|
||||||
version: 16.10.0(typescript@4.9.5)
|
version: 16.10.0(typescript@4.9.5)
|
||||||
@@ -174,7 +171,7 @@ devDependencies:
|
|||||||
version: 0.18.5
|
version: 0.18.5
|
||||||
vite:
|
vite:
|
||||||
specifier: 5.2.8
|
specifier: 5.2.8
|
||||||
version: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
version: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
vue-eslint-parser:
|
vue-eslint-parser:
|
||||||
specifier: ^9.4.3
|
specifier: ^9.4.3
|
||||||
version: 9.4.3(eslint@9.15.0)
|
version: 9.4.3(eslint@9.15.0)
|
||||||
@@ -2269,7 +2266,7 @@ packages:
|
|||||||
picocolors: 1.1.1
|
picocolors: 1.1.1
|
||||||
terser: 5.36.0
|
terser: 5.36.0
|
||||||
unplugin-auto-import: 0.16.7
|
unplugin-auto-import: 0.16.7
|
||||||
vite: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
vite: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@nuxt/kit'
|
- '@nuxt/kit'
|
||||||
- '@vueuse/core'
|
- '@vueuse/core'
|
||||||
@@ -3528,10 +3525,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
|
resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@qiun/uni-ucharts@2.5.0-20230101:
|
|
||||||
resolution: {integrity: sha512-qpgzAUgrShgKNn0uMoN54n6/MkFeQQpK2gur0Fzokn8oTIMCVjTfnt8C2UhD20pPlm6MFxwkWF+bsJ3qd4QMvg==}
|
|
||||||
dev: false
|
|
||||||
|
|
||||||
/@rollup/pluginutils@5.1.3:
|
/@rollup/pluginutils@5.1.3:
|
||||||
resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==}
|
resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
@@ -3926,7 +3919,7 @@ packages:
|
|||||||
'@unocss/core': 0.62.4
|
'@unocss/core': 0.62.4
|
||||||
'@unocss/reset': 0.62.4
|
'@unocss/reset': 0.62.4
|
||||||
'@unocss/vite': 0.62.4(vite@5.2.8)
|
'@unocss/vite': 0.62.4(vite@5.2.8)
|
||||||
vite: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
vite: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -4112,7 +4105,7 @@ packages:
|
|||||||
chokidar: 3.6.0
|
chokidar: 3.6.0
|
||||||
magic-string: 0.30.13
|
magic-string: 0.30.13
|
||||||
tinyglobby: 0.2.10
|
tinyglobby: 0.2.10
|
||||||
vite: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
vite: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -4134,7 +4127,7 @@ packages:
|
|||||||
regenerator-runtime: 0.14.1
|
regenerator-runtime: 0.14.1
|
||||||
systemjs: 6.15.1
|
systemjs: 6.15.1
|
||||||
terser: 5.36.0
|
terser: 5.36.0
|
||||||
vite: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
vite: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4149,7 +4142,7 @@ packages:
|
|||||||
'@babel/core': 7.26.0
|
'@babel/core': 7.26.0
|
||||||
'@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
|
'@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
|
||||||
'@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
|
'@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
|
||||||
vite: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
vite: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
vue: 3.5.13(typescript@4.9.5)
|
vue: 3.5.13(typescript@4.9.5)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
@@ -4162,7 +4155,7 @@ packages:
|
|||||||
vite: ^5.0.0
|
vite: ^5.0.0
|
||||||
vue: ^3.2.25
|
vue: ^3.2.25
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
vite: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
vue: 3.5.13(typescript@4.9.5)
|
vue: 3.5.13(typescript@4.9.5)
|
||||||
|
|
||||||
/@volar/language-core@1.11.1:
|
/@volar/language-core@1.11.1:
|
||||||
@@ -4906,12 +4899,6 @@ packages:
|
|||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
|
|
||||||
/chokidar@4.0.1:
|
|
||||||
resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
|
|
||||||
engines: {node: '>= 14.16.0'}
|
|
||||||
dependencies:
|
|
||||||
readdirp: 4.0.2
|
|
||||||
|
|
||||||
/ci-info@3.9.0:
|
/ci-info@3.9.0:
|
||||||
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
|
resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -8446,10 +8433,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
picomatch: 2.3.1
|
picomatch: 2.3.1
|
||||||
|
|
||||||
/readdirp@4.0.2:
|
|
||||||
resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
|
|
||||||
engines: {node: '>= 14.16.0'}
|
|
||||||
|
|
||||||
/regenerate-unicode-properties@10.2.0:
|
/regenerate-unicode-properties@10.2.0:
|
||||||
resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
|
resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
@@ -8640,7 +8623,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sass-loader@16.0.3(sass@1.79.3):
|
/sass-loader@16.0.3(sass@1.78.0):
|
||||||
resolution: {integrity: sha512-gosNorT1RCkuCMyihv6FBRR7BMV06oKRAs+l4UMp1mlcVg9rWN6KMmUj3igjQwmYys4mDP3etEYJgiHRbgHCHA==}
|
resolution: {integrity: sha512-gosNorT1RCkuCMyihv6FBRR7BMV06oKRAs+l4UMp1mlcVg9rWN6KMmUj3igjQwmYys4mDP3etEYJgiHRbgHCHA==}
|
||||||
engines: {node: '>= 18.12.0'}
|
engines: {node: '>= 18.12.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -8662,15 +8645,15 @@ packages:
|
|||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
neo-async: 2.6.2
|
neo-async: 2.6.2
|
||||||
sass: 1.79.3
|
sass: 1.78.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sass@1.79.3:
|
/sass@1.78.0:
|
||||||
resolution: {integrity: sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==}
|
resolution: {integrity: sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==}
|
||||||
engines: {node: '>=14.0.0'}
|
engines: {node: '>=14.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar: 4.0.1
|
chokidar: 3.6.0
|
||||||
immutable: 4.3.7
|
immutable: 4.3.7
|
||||||
source-map-js: 1.2.1
|
source-map-js: 1.2.1
|
||||||
|
|
||||||
@@ -9465,7 +9448,7 @@ packages:
|
|||||||
'@unocss/transformer-directives': 0.62.4
|
'@unocss/transformer-directives': 0.62.4
|
||||||
'@unocss/transformer-variant-group': 0.62.4
|
'@unocss/transformer-variant-group': 0.62.4
|
||||||
'@unocss/vite': 0.62.4(vite@5.2.8)
|
'@unocss/vite': 0.62.4(vite@5.2.8)
|
||||||
vite: 5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0)
|
vite: 5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- postcss
|
- postcss
|
||||||
- rollup
|
- rollup
|
||||||
@@ -9615,7 +9598,7 @@ packages:
|
|||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite@5.2.8(@types/node@22.9.1)(sass@1.79.3)(terser@5.36.0):
|
/vite@5.2.8(@types/node@22.9.1)(sass@1.78.0)(terser@5.36.0):
|
||||||
resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
|
resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
@@ -9647,7 +9630,7 @@ packages:
|
|||||||
esbuild: 0.20.2
|
esbuild: 0.20.2
|
||||||
postcss: 8.4.49
|
postcss: 8.4.49
|
||||||
rollup: 4.27.3
|
rollup: 4.27.3
|
||||||
sass: 1.79.3
|
sass: 1.78.0
|
||||||
terser: 5.36.0
|
terser: 5.36.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
@@ -9811,8 +9794,8 @@ packages:
|
|||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/wot-design-uni@1.3.14(vue@3.5.13):
|
/wot-design-uni@1.8.0(vue@3.5.13):
|
||||||
resolution: {integrity: sha512-njqhMpVVHPWjiQdnuUkAFvCrJKv28RraSU6BiAW1soHw7BA6L3b7UJ0mdUMxsjT+A2hCk2YN8RsLKC03wDV9zw==}
|
resolution: {integrity: sha512-JSfOVGtvBnXVnaf8/2Fsh/aMkZPoFFt6t8wBRhpDaEPoOndTHBR68Ro+ctP3JKgyVATHaYc4v63TJca55SV1Iw==}
|
||||||
engines: {HBuilderX: ^3.8.7}
|
engines: {HBuilderX: ^3.8.7}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
vue: '>=3.2.47'
|
vue: '>=3.2.47'
|
||||||
|
|||||||
@@ -1,16 +1,20 @@
|
|||||||
import request from "@/utils/request";
|
import request from "@/utils/request";
|
||||||
|
|
||||||
const DICT_BASE_URL = "/api/v1/dict";
|
const DICT_BASE_URL = "/api/v1/dicts";
|
||||||
|
|
||||||
const DictAPI = {
|
const DictAPI = {
|
||||||
|
//---------------------------------------------------
|
||||||
|
// 字典相关接口
|
||||||
|
//---------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取字典分页列表
|
* 字典分页列表
|
||||||
*
|
*
|
||||||
* @param queryParams 查询参数
|
* @param queryParams 查询参数
|
||||||
* @returns 字典分页结果
|
* @returns 字典分页结果
|
||||||
*/
|
*/
|
||||||
getPage(queryParams: DictPageQuery) {
|
getPage(queryParams: DictPageQuery) {
|
||||||
return request<DictPageVO[]>({
|
return request<PageResult<DictPageVO[]>>({
|
||||||
url: `${DICT_BASE_URL}/page`,
|
url: `${DICT_BASE_URL}/page`,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
data: queryParams,
|
data: queryParams,
|
||||||
@@ -18,7 +22,7 @@ const DictAPI = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取字典表单数据
|
* 字典表单数据
|
||||||
*
|
*
|
||||||
* @param id 字典ID
|
* @param id 字典ID
|
||||||
* @returns 字典表单数据
|
* @returns 字典表单数据
|
||||||
@@ -35,7 +39,7 @@ const DictAPI = {
|
|||||||
*
|
*
|
||||||
* @param data 字典表单数据
|
* @param data 字典表单数据
|
||||||
*/
|
*/
|
||||||
add(data: DictForm) {
|
create(data: DictForm) {
|
||||||
return request({
|
return request({
|
||||||
url: `${DICT_BASE_URL}`,
|
url: `${DICT_BASE_URL}`,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
@@ -65,21 +69,81 @@ const DictAPI = {
|
|||||||
deleteByIds(ids: string) {
|
deleteByIds(ids: string) {
|
||||||
return request({
|
return request({
|
||||||
url: `${DICT_BASE_URL}/${ids}`,
|
url: `${DICT_BASE_URL}/${ids}`,
|
||||||
method: "delete",
|
method: "DELETE",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
//---------------------------------------------------
|
||||||
|
// 字典项相关接口
|
||||||
|
//---------------------------------------------------
|
||||||
|
/**
|
||||||
|
* 获取字典分页列表
|
||||||
|
*
|
||||||
|
* @param queryParams 查询参数
|
||||||
|
* @returns 字典分页结果
|
||||||
|
*/
|
||||||
|
getDictItemPage(dictCode: string, queryParams: DictItemPageQuery) {
|
||||||
|
return request<PageResult<DictItemPageVO[]>>({
|
||||||
|
url: `${DICT_BASE_URL}/${dictCode}/items/page`,
|
||||||
|
method: "GET",
|
||||||
|
data: queryParams,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取字典列表
|
* 获取字典项列表
|
||||||
*
|
|
||||||
* @returns 字典列表
|
|
||||||
*/
|
*/
|
||||||
getList() {
|
getDictItems(dictCode: string) {
|
||||||
return request<DictVO[]>({
|
return request<DictItemOption[]>({
|
||||||
url: `${DICT_BASE_URL}/list`,
|
url: `${DICT_BASE_URL}/${dictCode}/items`,
|
||||||
method: "GET",
|
method: "GET",
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增字典项
|
||||||
|
*/
|
||||||
|
createDictItem(dictCode: string, data: DictItemForm) {
|
||||||
|
return request({
|
||||||
|
url: `${DICT_BASE_URL}/${dictCode}/items`,
|
||||||
|
method: "POST",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取字典项表单数据
|
||||||
|
*
|
||||||
|
* @param id 字典项ID
|
||||||
|
* @returns 字典项表单数据
|
||||||
|
*/
|
||||||
|
getDictItemFormData(dictCode: string, id: number) {
|
||||||
|
return request<DictItemForm>({
|
||||||
|
url: `${DICT_BASE_URL}/${dictCode}/items/${id}/form`,
|
||||||
|
method: "GET",
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 修改字典项
|
||||||
|
*/
|
||||||
|
updateDictItem(dictCode: string, id: number, data: DictItemForm) {
|
||||||
|
return request({
|
||||||
|
url: `${DICT_BASE_URL}/${dictCode}/items/${id}`,
|
||||||
|
method: "PUT",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除字典项
|
||||||
|
*/
|
||||||
|
deleteDictItems(dictCode: string, ids: string) {
|
||||||
|
return request({
|
||||||
|
url: `${DICT_BASE_URL}/${dictCode}/items/${ids}`,
|
||||||
|
method: "DELETE",
|
||||||
|
});
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export default DictAPI;
|
export default DictAPI;
|
||||||
@@ -148,27 +212,85 @@ export interface DictForm {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典数据项分页VO
|
* 字典查询参数
|
||||||
*
|
|
||||||
* @description 字典数据分页对象
|
|
||||||
*/
|
*/
|
||||||
export interface DictVO {
|
export interface DictItemPageQuery extends PageQuery {
|
||||||
/** 字典名称 */
|
/** 关键字(字典数据值/标签) */
|
||||||
name: string;
|
keywords?: string;
|
||||||
|
|
||||||
/** 字典编码 */
|
/** 字典编码 */
|
||||||
dictCode: string;
|
dictCode?: string;
|
||||||
|
|
||||||
/** 字典数据集合 */
|
|
||||||
dictDataList: DictData[];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 字典数据
|
* 字典分页对象
|
||||||
*
|
|
||||||
* @description 字典数据
|
|
||||||
*/
|
*/
|
||||||
export interface DictData {
|
export interface DictItemPageVO {
|
||||||
|
/**
|
||||||
|
* 字典ID
|
||||||
|
*/
|
||||||
|
id: number;
|
||||||
|
/**
|
||||||
|
* 字典编码
|
||||||
|
*/
|
||||||
|
dictCode: string;
|
||||||
|
/**
|
||||||
|
* 字典数据值
|
||||||
|
*/
|
||||||
|
value: string;
|
||||||
|
/**
|
||||||
|
* 字典数据标签
|
||||||
|
*/
|
||||||
|
label: string;
|
||||||
|
/**
|
||||||
|
* 状态(1:启用,0:禁用)
|
||||||
|
*/
|
||||||
|
status: number;
|
||||||
|
/**
|
||||||
|
* 字典排序
|
||||||
|
*/
|
||||||
|
sort?: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典
|
||||||
|
*/
|
||||||
|
export interface DictItemForm {
|
||||||
|
/**
|
||||||
|
* 字典ID
|
||||||
|
*/
|
||||||
|
id?: number;
|
||||||
|
/**
|
||||||
|
* 字典编码
|
||||||
|
*/
|
||||||
|
dictCode?: string;
|
||||||
|
/**
|
||||||
|
* 字典数据值
|
||||||
|
*/
|
||||||
|
value?: string;
|
||||||
|
/**
|
||||||
|
* 字典数据标签
|
||||||
|
*/
|
||||||
|
label?: string;
|
||||||
|
/**
|
||||||
|
* 状态(1:启用,0:禁用)
|
||||||
|
*/
|
||||||
|
status?: number;
|
||||||
|
/**
|
||||||
|
* 字典排序
|
||||||
|
*/
|
||||||
|
sort?: number;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标签类型
|
||||||
|
*/
|
||||||
|
tagType?: "success" | "warning" | "info" | "primary" | "danger" | undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字典项下拉选项
|
||||||
|
*/
|
||||||
|
export interface DictItemOption {
|
||||||
/** 字典数据值 */
|
/** 字典数据值 */
|
||||||
value: string;
|
value: string;
|
||||||
|
|
||||||
|
|||||||
@@ -683,10 +683,13 @@ export default defineComponent({
|
|||||||
let newChildren = [...(item.originItem?.children || []), ...(apiRes || [])];
|
let newChildren = [...(item.originItem?.children || []), ...(apiRes || [])];
|
||||||
const newChildrenObj = {};
|
const newChildrenObj = {};
|
||||||
newChildren = newChildren.reduce((total, next) => {
|
newChildren = newChildren.reduce((total, next) => {
|
||||||
newChildrenObj[next[fieldMap.value]]
|
if (newChildrenObj[next[fieldMap.value]]) {
|
||||||
? ""
|
return total;
|
||||||
: (newChildrenObj[next[fieldMap.value]] = true && total.push(next));
|
} else {
|
||||||
return total;
|
newChildrenObj[next[fieldMap.value]] = true;
|
||||||
|
total.push(next);
|
||||||
|
return total;
|
||||||
|
}
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
item.originItem.children = newChildren || null;
|
item.originItem.children = newChildren || null;
|
||||||
|
|||||||
@@ -10,18 +10,18 @@ export const isCheckedStatus = 2;
|
|||||||
* @param originData 拷贝对象
|
* @param originData 拷贝对象
|
||||||
* @author crlang(https://crlang.com)
|
* @author crlang(https://crlang.com)
|
||||||
*/
|
*/
|
||||||
export function deepClone(originData) {
|
export function deepClone(originData: any): any {
|
||||||
const type = Object.prototype.toString.call(originData);
|
const type = Object.prototype.toString.call(originData);
|
||||||
let data;
|
let data: any;
|
||||||
if (type === "[object Array]") {
|
if (type === "[object Array]") {
|
||||||
data = [];
|
data = [];
|
||||||
for (let i = 0; i < originData.length; i++) {
|
for (let i = 0; i < originData.length; i++) {
|
||||||
data.push(deepClone(originData[i]));
|
data.push(deepClone(originData[i]));
|
||||||
}
|
}
|
||||||
} else if (type === "[object Object]") {
|
} else if (type === "[object Object]") {
|
||||||
data = {};
|
data = {} as Record<string, any>;
|
||||||
for (const prop in originData) {
|
for (const prop in originData) {
|
||||||
if (originData.hasOwnProperty(prop)) {
|
if (Object.prototype.hasOwnProperty.call(originData, prop)) {
|
||||||
// 非继承属性
|
// 非继承属性
|
||||||
data[prop] = deepClone(originData[prop]);
|
data[prop] = deepClone(originData[prop]);
|
||||||
}
|
}
|
||||||
@@ -34,11 +34,13 @@ export function deepClone(originData) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有指定的节点
|
* 获取所有指定的节点
|
||||||
* @param type
|
* @param list 列表
|
||||||
* @param value
|
* @param type 类型
|
||||||
|
* @param value 值
|
||||||
|
* @param packDisabledkey 是否包含禁用节点
|
||||||
* @author crlang(https://crlang.com)
|
* @author crlang(https://crlang.com)
|
||||||
*/
|
*/
|
||||||
export function getAllNodes(list, type, value, packDisabledkey = true) {
|
export function getAllNodes(list: any[], type: string, value: any, packDisabledkey = true): any[] {
|
||||||
if (!list || list.length === 0) {
|
if (!list || list.length === 0) {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
@@ -58,16 +60,23 @@ export function getAllNodes(list, type, value, packDisabledkey = true) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有指定的key值
|
* 获取所有指定的key值
|
||||||
* @param type
|
* @param list 列表
|
||||||
* @param value
|
* @param type 类型
|
||||||
|
* @param value 值
|
||||||
|
* @param packDisabledkey 是否包含禁用节点
|
||||||
* @author crlang(https://crlang.com)
|
* @author crlang(https://crlang.com)
|
||||||
*/
|
*/
|
||||||
export function getAllNodeKeys(list, type, value, packDisabledkey = true) {
|
export function getAllNodeKeys(
|
||||||
|
list: any[],
|
||||||
|
type: string,
|
||||||
|
value: any,
|
||||||
|
packDisabledkey = true
|
||||||
|
): string[] | null {
|
||||||
if (!list || list.length === 0) {
|
if (!list || list.length === 0) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
const res = [];
|
const res: string[] = [];
|
||||||
for (let i = 0; i < list.length; i++) {
|
for (let i = 0; i < list.length; i++) {
|
||||||
const item = list[i];
|
const item = list[i];
|
||||||
if (item[type] === value) {
|
if (item[type] === value) {
|
||||||
@@ -82,69 +91,63 @@ export function getAllNodeKeys(list, type, value, packDisabledkey = true) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 错误输出
|
* 错误输出
|
||||||
*
|
* @param msg 错误消息
|
||||||
* @param msg
|
* @param args 附加参数
|
||||||
*/
|
*/
|
||||||
export function logError(msg, ...args) {
|
export function logError(msg: string, ...args: any[]): void {
|
||||||
console.error(`DaTree: ${msg}`, ...args);
|
console.error(`DaTree: ${msg}`, ...args);
|
||||||
}
|
}
|
||||||
|
|
||||||
const toString = Object.prototype.toString;
|
const toString = Object.prototype.toString;
|
||||||
|
|
||||||
export function is(val, type) {
|
export function is(val: any, type: string): boolean {
|
||||||
return toString.call(val) === `[object ${type}]`;
|
return toString.call(val) === `[object ${type}]`;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否对象(Object)
|
* 是否对象(Object)
|
||||||
* @param val
|
* @param val 值
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export function isObject(val) {
|
export function isObject(val: any): boolean {
|
||||||
return val !== null && is(val, "Object");
|
return val !== null && is(val, "Object");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否数字(Number)
|
* 是否数字(Number)
|
||||||
* @param val
|
* @param val 值
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export function isNumber(val) {
|
export function isNumber(val: any): boolean {
|
||||||
return is(val, "Number");
|
return is(val, "Number");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否字符串(String)
|
* 是否字符串(String)
|
||||||
* @param val
|
* @param val 值
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export function isString(val) {
|
export function isString(val: any): boolean {
|
||||||
return is(val, "String");
|
return is(val, "String");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否函数方法(Function)
|
* 是否函数方法(Function)
|
||||||
* @param val
|
* @param val 值
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export function isFunction(val) {
|
export function isFunction(val: any): boolean {
|
||||||
return typeof val === "function";
|
return typeof val === "function";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否布尔(Boolean)
|
* 是否布尔(Boolean)
|
||||||
* @param val
|
* @param val 值
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export function isBoolean(val) {
|
export function isBoolean(val: any): boolean {
|
||||||
return is(val, "Boolean");
|
return is(val, "Boolean");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否数组(Array)
|
* 是否数组(Array)
|
||||||
* @param val
|
* @param val 值
|
||||||
|
|
||||||
*/
|
*/
|
||||||
export function isArray(val) {
|
export function isArray(val: any): boolean {
|
||||||
return val && Array.isArray(val);
|
return val && Array.isArray(val);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,8 +68,8 @@
|
|||||||
<!-- #ifdef MP-ALIPAY -->
|
<!-- #ifdef MP-ALIPAY -->
|
||||||
<block v-if="ontouch">
|
<block v-if="ontouch">
|
||||||
<canvas
|
<canvas
|
||||||
:id="cid"
|
|
||||||
v-show="showchart"
|
v-show="showchart"
|
||||||
|
:id="cid"
|
||||||
:canvasId="cid"
|
:canvasId="cid"
|
||||||
:width="cWidth * pixel"
|
:width="cWidth * pixel"
|
||||||
:height="cHeight * pixel"
|
:height="cHeight * pixel"
|
||||||
@@ -846,7 +846,7 @@ export default {
|
|||||||
let cid = this.cid;
|
let cid = this.cid;
|
||||||
if (this.echarts !== true && cfu.option[cid] && cfu.option[cid].context) {
|
if (this.echarts !== true && cfu.option[cid] && cfu.option[cid].context) {
|
||||||
const ctx = cfu.option[cid].context;
|
const ctx = cfu.option[cid].context;
|
||||||
if (typeof ctx === "object" && !!!cfu.option[cid].update) {
|
if (typeof ctx === "object" && !cfu.option[cid].update) {
|
||||||
ctx.clearRect(0, 0, this.cWidth * this.pixel, this.cHeight * this.pixel);
|
ctx.clearRect(0, 0, this.cWidth * this.pixel, this.cHeight * this.pixel);
|
||||||
ctx.draw();
|
ctx.draw();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,6 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { type LoginFormData } from "@/api/auth";
|
import { type LoginFormData } from "@/api/auth";
|
||||||
import { useUserStore } from "@/store/modules/user";
|
import { useUserStore } from "@/store/modules/user";
|
||||||
import { useDictStore } from "@/store/modules/dict";
|
|
||||||
const loginFormRef = ref();
|
const loginFormRef = ref();
|
||||||
|
|
||||||
const loginFormData = ref<LoginFormData>({
|
const loginFormData = ref<LoginFormData>({
|
||||||
@@ -66,7 +65,6 @@ const loginFormData = ref<LoginFormData>({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const dictStore = useDictStore();
|
|
||||||
|
|
||||||
// 登录处理
|
// 登录处理
|
||||||
const handleLogin = () => {
|
const handleLogin = () => {
|
||||||
@@ -75,23 +73,14 @@ const handleLogin = () => {
|
|||||||
try {
|
try {
|
||||||
await userStore.login(loginFormData.value);
|
await userStore.login(loginFormData.value);
|
||||||
await userStore.getInfo();
|
await userStore.getInfo();
|
||||||
await dictStore.loadDictionaries();
|
|
||||||
uni.showToast({ title: "登录成功", icon: "success" });
|
uni.showToast({ title: "登录成功", icon: "success" });
|
||||||
|
|
||||||
// 检查是否有上一页
|
// 检查是否有上一页
|
||||||
const pages = getCurrentPages();
|
setTimeout(() => {
|
||||||
console.log("pages", pages.length);
|
uni.reLaunch({
|
||||||
if (pages.length > 1) {
|
url: "/pages/index/index",
|
||||||
setTimeout(() => {
|
});
|
||||||
uni.navigateBack();
|
}, 1500);
|
||||||
}, 1500);
|
|
||||||
} else {
|
|
||||||
setTimeout(() => {
|
|
||||||
uni.reLaunch({
|
|
||||||
url: "/pages/index/index",
|
|
||||||
});
|
|
||||||
}, 1500);
|
|
||||||
}
|
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
console.log("登录失败", error.message);
|
console.log("登录失败", error.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ const handleSubmit = async () => {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
}, 1500);
|
}, 1500);
|
||||||
} catch (error) {
|
} catch {
|
||||||
toast.error("提交失败,请重试");
|
toast.error("提交失败,请重试");
|
||||||
} finally {
|
} finally {
|
||||||
submitting.value = false;
|
submitting.value = false;
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ const handleQuestionFeedback = () => {
|
|||||||
uni.navigateTo({ url: "/pages/mine/feedback/index" });
|
uni.navigateTo({ url: "/pages/mine/feedback/index" });
|
||||||
};
|
};
|
||||||
// 建设中
|
// 建设中
|
||||||
const handleItemclick = (item: any) => {
|
const handleItemclick = () => {
|
||||||
toast.show("建设中...");
|
toast.show("建设中...");
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -63,12 +63,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import UserAPI, {
|
import UserAPI, { type UserProfileVO, UserProfileForm } from "@/api/system/user";
|
||||||
type UserProfileVO,
|
|
||||||
UserProfileForm,
|
|
||||||
MobileBindingForm,
|
|
||||||
EmailBindingForm,
|
|
||||||
} from "@/api/system/user";
|
|
||||||
import FileAPI, { type FileInfo } from "@/api/file";
|
import FileAPI, { type FileInfo } from "@/api/file";
|
||||||
|
|
||||||
const originalSrc = ref<string>(""); //选取的原图路径
|
const originalSrc = ref<string>(""); //选取的原图路径
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ const handleClearCache = async () => {
|
|||||||
title: "清理成功",
|
title: "清理成功",
|
||||||
icon: "success",
|
icon: "success",
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "清理失败",
|
title: "清理失败",
|
||||||
icon: "error",
|
icon: "error",
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ const getNetworkType = async () => {
|
|||||||
? `${(navigator as any).connection.effectiveType || "未知"}`
|
? `${(navigator as any).connection.effectiveType || "未知"}`
|
||||||
: "不支持";
|
: "不支持";
|
||||||
// #endif
|
// #endif
|
||||||
} catch (error) {
|
} catch {
|
||||||
networkType.value = "获取失败";
|
networkType.value = "获取失败";
|
||||||
signalStrength.value = "获取失败";
|
signalStrength.value = "获取失败";
|
||||||
}
|
}
|
||||||
@@ -143,13 +143,13 @@ const startTest = async () => {
|
|||||||
try {
|
try {
|
||||||
const startTime = Date.now();
|
const startTime = Date.now();
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
const res = await uni.request({
|
await uni.request({
|
||||||
url: "/api/v1/auth/captcha",
|
url: "/api/v1/auth/captcha",
|
||||||
timeout: 5000,
|
timeout: 5000,
|
||||||
});
|
});
|
||||||
// #endif
|
// #endif
|
||||||
// #ifndef H5
|
// #ifndef H5
|
||||||
const resOther = await request({
|
await request({
|
||||||
url: "/api/v1/auth/captcha",
|
url: "/api/v1/auth/captcha",
|
||||||
timeout: 5000,
|
timeout: 5000,
|
||||||
});
|
});
|
||||||
@@ -159,7 +159,7 @@ const startTest = async () => {
|
|||||||
|
|
||||||
pingResult.value.delay = delay;
|
pingResult.value.delay = delay;
|
||||||
pingResult.value.status = delay < 300 ? "正常" : "较慢";
|
pingResult.value.status = delay < 300 ? "正常" : "较慢";
|
||||||
} catch (error) {
|
} catch {
|
||||||
pingResult.value.delay = "--";
|
pingResult.value.delay = "--";
|
||||||
pingResult.value.status = "连接失败";
|
pingResult.value.status = "连接失败";
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ async function submitForm() {
|
|||||||
loading.value = true;
|
loading.value = true;
|
||||||
try {
|
try {
|
||||||
if (formRef.value) {
|
if (formRef.value) {
|
||||||
formRef.value!.validate().then(async ({ valid, errors }) => {
|
formRef.value!.validate().then(async ({ valid }) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (form.value.id) {
|
if (form.value.id) {
|
||||||
await ConfigAPI.update(form.value.id, form.value);
|
await ConfigAPI.update(form.value.id, form.value);
|
||||||
@@ -170,7 +170,7 @@ async function submitForm() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch {
|
||||||
uni.showToast({ title: "操作失败", icon: "error" });
|
uni.showToast({ title: "操作失败", icon: "error" });
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ function loadmore() {
|
|||||||
total.value = data.total;
|
total.value = data.total;
|
||||||
queryParams.pageNum++;
|
queryParams.pageNum++;
|
||||||
})
|
})
|
||||||
.catch((e) => {
|
.catch(() => {
|
||||||
pageData.value = [];
|
pageData.value = [];
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
|
|||||||
@@ -128,38 +128,23 @@ const formatDate = (date: Date | undefined): string => {
|
|||||||
return date ? date.toString() : "-";
|
return date ? date.toString() : "-";
|
||||||
};
|
};
|
||||||
|
|
||||||
const getLevelType = (level: string | number | undefined): string => {
|
|
||||||
if (!level) return "-";
|
|
||||||
const levelMap: Record<string, string> = {
|
|
||||||
L: "低",
|
|
||||||
M: "中",
|
|
||||||
H: "高",
|
|
||||||
};
|
|
||||||
return levelMap[level] || "未知";
|
|
||||||
};
|
|
||||||
|
|
||||||
// 加载更多
|
// 加载更多
|
||||||
const loadMore = async () => {
|
const loadMore = async () => {
|
||||||
if (loadState.value === "loading") return;
|
if (loadState.value === "loading") return;
|
||||||
|
|
||||||
loadState.value = "loading";
|
loadState.value = "loading";
|
||||||
try {
|
const { list, total: totalCount } = await NoticeAPI.getPage(queryParams.value);
|
||||||
const { list, total: totalCount } = await NoticeAPI.getPage(queryParams.value);
|
|
||||||
|
|
||||||
if (queryParams.value.pageNum === 1) {
|
if (queryParams.value.pageNum === 1) {
|
||||||
dataList.value = list;
|
dataList.value = list;
|
||||||
} else {
|
} else {
|
||||||
dataList.value = [...dataList.value, ...list];
|
dataList.value = [...dataList.value, ...list];
|
||||||
}
|
|
||||||
|
|
||||||
total.value = totalCount;
|
|
||||||
queryParams.value.pageNum++;
|
|
||||||
|
|
||||||
loadState.value = dataList.value.length >= total.value ? "finished" : "loading";
|
|
||||||
} catch (error) {
|
|
||||||
loadState.value = "error";
|
|
||||||
uni.showToast({ title: "加载失败", icon: "none" });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
total.value = totalCount;
|
||||||
|
queryParams.value.pageNum++;
|
||||||
|
|
||||||
|
loadState.value = dataList.value.length >= total.value ? "finished" : "loading";
|
||||||
};
|
};
|
||||||
|
|
||||||
// 查看详情
|
// 查看详情
|
||||||
@@ -207,7 +192,7 @@ const handleDelete = (notice: NoticePageVO) => {
|
|||||||
queryParams.value.pageNum = 1;
|
queryParams.value.pageNum = 1;
|
||||||
loadMore();
|
loadMore();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({ title: "删除失败", icon: "none" });
|
uni.showToast({ title: "删除失败" + error, icon: "none" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -228,7 +213,7 @@ const handlePublish = (notice: NoticePageVO) => {
|
|||||||
queryParams.value.pageNum = 1;
|
queryParams.value.pageNum = 1;
|
||||||
loadMore();
|
loadMore();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({ title: "发布失败", icon: "none" });
|
uni.showToast({ title: "发布失败" + error, icon: "none" });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -253,7 +238,7 @@ const handleRevoke = (notice: NoticePageVO) => {
|
|||||||
loadMore();
|
loadMore();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "撤回失败",
|
title: "撤回失败" + error,
|
||||||
icon: "error",
|
icon: "error",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
189
src/types/auto-imports.d.ts
vendored
189
src/types/auto-imports.d.ts
vendored
@@ -6,110 +6,95 @@
|
|||||||
// biome-ignore lint: disable
|
// biome-ignore lint: disable
|
||||||
export {}
|
export {}
|
||||||
declare global {
|
declare global {
|
||||||
const EffectScope: (typeof import("vue"))["EffectScope"];
|
const EffectScope: typeof import('vue')['EffectScope']
|
||||||
const computed: (typeof import("vue"))["computed"];
|
const computed: typeof import('vue')['computed']
|
||||||
const createApp: (typeof import("vue"))["createApp"];
|
const createApp: typeof import('vue')['createApp']
|
||||||
const customRef: (typeof import("vue"))["customRef"];
|
const customRef: typeof import('vue')['customRef']
|
||||||
const defineAsyncComponent: (typeof import("vue"))["defineAsyncComponent"];
|
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
|
||||||
const defineComponent: (typeof import("vue"))["defineComponent"];
|
const defineComponent: typeof import('vue')['defineComponent']
|
||||||
const effectScope: (typeof import("vue"))["effectScope"];
|
const effectScope: typeof import('vue')['effectScope']
|
||||||
const getCurrentInstance: (typeof import("vue"))["getCurrentInstance"];
|
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
|
||||||
const getCurrentScope: (typeof import("vue"))["getCurrentScope"];
|
const getCurrentScope: typeof import('vue')['getCurrentScope']
|
||||||
const h: (typeof import("vue"))["h"];
|
const h: typeof import('vue')['h']
|
||||||
const inject: (typeof import("vue"))["inject"];
|
const inject: typeof import('vue')['inject']
|
||||||
const isProxy: (typeof import("vue"))["isProxy"];
|
const isProxy: typeof import('vue')['isProxy']
|
||||||
const isReactive: (typeof import("vue"))["isReactive"];
|
const isReactive: typeof import('vue')['isReactive']
|
||||||
const isReadonly: (typeof import("vue"))["isReadonly"];
|
const isReadonly: typeof import('vue')['isReadonly']
|
||||||
const isRef: (typeof import("vue"))["isRef"];
|
const isRef: typeof import('vue')['isRef']
|
||||||
const markRaw: (typeof import("vue"))["markRaw"];
|
const markRaw: typeof import('vue')['markRaw']
|
||||||
const nextTick: (typeof import("vue"))["nextTick"];
|
const nextTick: typeof import('vue')['nextTick']
|
||||||
const onActivated: (typeof import("vue"))["onActivated"];
|
const onActivated: typeof import('vue')['onActivated']
|
||||||
const onAddToFavorites: (typeof import("@dcloudio/uni-app"))["onAddToFavorites"];
|
const onAddToFavorites: typeof import('@dcloudio/uni-app')['onAddToFavorites']
|
||||||
const onBackPress: (typeof import("@dcloudio/uni-app"))["onBackPress"];
|
const onBackPress: typeof import('@dcloudio/uni-app')['onBackPress']
|
||||||
const onBeforeMount: (typeof import("vue"))["onBeforeMount"];
|
const onBeforeMount: typeof import('vue')['onBeforeMount']
|
||||||
const onBeforeRouteLeave: (typeof import("vue-router"))["onBeforeRouteLeave"];
|
const onBeforeRouteLeave: (typeof import("vue-router"))["onBeforeRouteLeave"]
|
||||||
const onBeforeRouteUpdate: (typeof import("vue-router"))["onBeforeRouteUpdate"];
|
const onBeforeRouteUpdate: (typeof import("vue-router"))["onBeforeRouteUpdate"]
|
||||||
const onBeforeUnmount: (typeof import("vue"))["onBeforeUnmount"];
|
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
|
||||||
const onBeforeUpdate: (typeof import("vue"))["onBeforeUpdate"];
|
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
|
||||||
const onDeactivated: (typeof import("vue"))["onDeactivated"];
|
const onDeactivated: typeof import('vue')['onDeactivated']
|
||||||
const onError: (typeof import("@dcloudio/uni-app"))["onError"];
|
const onError: typeof import('@dcloudio/uni-app')['onError']
|
||||||
const onErrorCaptured: (typeof import("vue"))["onErrorCaptured"];
|
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
|
||||||
const onHide: (typeof import("@dcloudio/uni-app"))["onHide"];
|
const onHide: typeof import('@dcloudio/uni-app')['onHide']
|
||||||
const onLaunch: (typeof import("@dcloudio/uni-app"))["onLaunch"];
|
const onLaunch: typeof import('@dcloudio/uni-app')['onLaunch']
|
||||||
const onLoad: (typeof import("@dcloudio/uni-app"))["onLoad"];
|
const onLoad: typeof import('@dcloudio/uni-app')['onLoad']
|
||||||
const onMounted: (typeof import("vue"))["onMounted"];
|
const onMounted: typeof import('vue')['onMounted']
|
||||||
const onNavigationBarButtonTap: (typeof import("@dcloudio/uni-app"))["onNavigationBarButtonTap"];
|
const onNavigationBarButtonTap: typeof import('@dcloudio/uni-app')['onNavigationBarButtonTap']
|
||||||
const onNavigationBarSearchInputChanged: (typeof import("@dcloudio/uni-app"))["onNavigationBarSearchInputChanged"];
|
const onNavigationBarSearchInputChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputChanged']
|
||||||
const onNavigationBarSearchInputClicked: (typeof import("@dcloudio/uni-app"))["onNavigationBarSearchInputClicked"];
|
const onNavigationBarSearchInputClicked: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputClicked']
|
||||||
const onNavigationBarSearchInputConfirmed: (typeof import("@dcloudio/uni-app"))["onNavigationBarSearchInputConfirmed"];
|
const onNavigationBarSearchInputConfirmed: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputConfirmed']
|
||||||
const onNavigationBarSearchInputFocusChanged: (typeof import("@dcloudio/uni-app"))["onNavigationBarSearchInputFocusChanged"];
|
const onNavigationBarSearchInputFocusChanged: typeof import('@dcloudio/uni-app')['onNavigationBarSearchInputFocusChanged']
|
||||||
const onPageNotFound: (typeof import("@dcloudio/uni-app"))["onPageNotFound"];
|
const onPageNotFound: typeof import('@dcloudio/uni-app')['onPageNotFound']
|
||||||
const onPageScroll: (typeof import("@dcloudio/uni-app"))["onPageScroll"];
|
const onPageScroll: typeof import('@dcloudio/uni-app')['onPageScroll']
|
||||||
const onPullDownRefresh: (typeof import("@dcloudio/uni-app"))["onPullDownRefresh"];
|
const onPullDownRefresh: typeof import('@dcloudio/uni-app')['onPullDownRefresh']
|
||||||
const onReachBottom: (typeof import("@dcloudio/uni-app"))["onReachBottom"];
|
const onReachBottom: typeof import('@dcloudio/uni-app')['onReachBottom']
|
||||||
const onReady: (typeof import("@dcloudio/uni-app"))["onReady"];
|
const onReady: typeof import('@dcloudio/uni-app')['onReady']
|
||||||
const onRenderTracked: (typeof import("vue"))["onRenderTracked"];
|
const onRenderTracked: typeof import('vue')['onRenderTracked']
|
||||||
const onRenderTriggered: (typeof import("vue"))["onRenderTriggered"];
|
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
|
||||||
const onResize: (typeof import("@dcloudio/uni-app"))["onResize"];
|
const onResize: typeof import('@dcloudio/uni-app')['onResize']
|
||||||
const onScopeDispose: (typeof import("vue"))["onScopeDispose"];
|
const onScopeDispose: typeof import('vue')['onScopeDispose']
|
||||||
const onServerPrefetch: (typeof import("vue"))["onServerPrefetch"];
|
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
|
||||||
const onShareAppMessage: (typeof import("@dcloudio/uni-app"))["onShareAppMessage"];
|
const onShareAppMessage: typeof import('@dcloudio/uni-app')['onShareAppMessage']
|
||||||
const onShareTimeline: (typeof import("@dcloudio/uni-app"))["onShareTimeline"];
|
const onShareTimeline: typeof import('@dcloudio/uni-app')['onShareTimeline']
|
||||||
const onShow: (typeof import("@dcloudio/uni-app"))["onShow"];
|
const onShow: typeof import('@dcloudio/uni-app')['onShow']
|
||||||
const onTabItemTap: (typeof import("@dcloudio/uni-app"))["onTabItemTap"];
|
const onTabItemTap: typeof import('@dcloudio/uni-app')['onTabItemTap']
|
||||||
const onThemeChange: (typeof import("@dcloudio/uni-app"))["onThemeChange"];
|
const onThemeChange: typeof import('@dcloudio/uni-app')['onThemeChange']
|
||||||
const onUnhandledRejection: (typeof import("@dcloudio/uni-app"))["onUnhandledRejection"];
|
const onUnhandledRejection: typeof import('@dcloudio/uni-app')['onUnhandledRejection']
|
||||||
const onUnload: (typeof import("@dcloudio/uni-app"))["onUnload"];
|
const onUnload: typeof import('@dcloudio/uni-app')['onUnload']
|
||||||
const onUnmounted: (typeof import("vue"))["onUnmounted"];
|
const onUnmounted: typeof import('vue')['onUnmounted']
|
||||||
const onUpdated: (typeof import("vue"))["onUpdated"];
|
const onUpdated: typeof import('vue')['onUpdated']
|
||||||
const onWatcherCleanup: (typeof import("vue"))["onWatcherCleanup"];
|
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
|
||||||
const provide: (typeof import("vue"))["provide"];
|
const provide: typeof import('vue')['provide']
|
||||||
const reactive: (typeof import("vue"))["reactive"];
|
const reactive: typeof import('vue')['reactive']
|
||||||
const readonly: (typeof import("vue"))["readonly"];
|
const readonly: typeof import('vue')['readonly']
|
||||||
const ref: (typeof import("vue"))["ref"];
|
const ref: typeof import('vue')['ref']
|
||||||
const resolveComponent: (typeof import("vue"))["resolveComponent"];
|
const resolveComponent: typeof import('vue')['resolveComponent']
|
||||||
const shallowReactive: (typeof import("vue"))["shallowReactive"];
|
const shallowReactive: typeof import('vue')['shallowReactive']
|
||||||
const shallowReadonly: (typeof import("vue"))["shallowReadonly"];
|
const shallowReadonly: typeof import('vue')['shallowReadonly']
|
||||||
const shallowRef: (typeof import("vue"))["shallowRef"];
|
const shallowRef: typeof import('vue')['shallowRef']
|
||||||
const toRaw: (typeof import("vue"))["toRaw"];
|
const toRaw: typeof import('vue')['toRaw']
|
||||||
const toRef: (typeof import("vue"))["toRef"];
|
const toRef: typeof import('vue')['toRef']
|
||||||
const toRefs: (typeof import("vue"))["toRefs"];
|
const toRefs: typeof import('vue')['toRefs']
|
||||||
const toValue: (typeof import("vue"))["toValue"];
|
const toValue: typeof import('vue')['toValue']
|
||||||
const triggerRef: (typeof import("vue"))["triggerRef"];
|
const triggerRef: typeof import('vue')['triggerRef']
|
||||||
const unref: (typeof import("vue"))["unref"];
|
const unref: typeof import('vue')['unref']
|
||||||
const useAttrs: (typeof import("vue"))["useAttrs"];
|
const useAttrs: typeof import('vue')['useAttrs']
|
||||||
const useCssModule: (typeof import("vue"))["useCssModule"];
|
const useCssModule: typeof import('vue')['useCssModule']
|
||||||
const useCssVars: (typeof import("vue"))["useCssVars"];
|
const useCssVars: typeof import('vue')['useCssVars']
|
||||||
const useId: (typeof import("vue"))["useId"];
|
const useId: typeof import('vue')['useId']
|
||||||
const useLink: (typeof import("vue-router"))["useLink"];
|
const useLink: (typeof import("vue-router"))["useLink"]
|
||||||
const useModel: (typeof import("vue"))["useModel"];
|
const useModel: typeof import('vue')['useModel']
|
||||||
const useRoute: (typeof import("vue-router"))["useRoute"];
|
const useRoute: (typeof import("vue-router"))["useRoute"]
|
||||||
const useRouter: (typeof import("vue-router"))["useRouter"];
|
const useRouter: (typeof import("vue-router"))["useRouter"]
|
||||||
const useSlots: (typeof import("vue"))["useSlots"];
|
const useSlots: typeof import('vue')['useSlots']
|
||||||
const useTemplateRef: (typeof import("vue"))["useTemplateRef"];
|
const useTemplateRef: typeof import('vue')['useTemplateRef']
|
||||||
const watch: (typeof import("vue"))["watch"];
|
const watch: typeof import('vue')['watch']
|
||||||
const watchEffect: (typeof import("vue"))["watchEffect"];
|
const watchEffect: typeof import('vue')['watchEffect']
|
||||||
const watchPostEffect: (typeof import("vue"))["watchPostEffect"];
|
const watchPostEffect: typeof import('vue')['watchPostEffect']
|
||||||
const watchSyncEffect: (typeof import("vue"))["watchSyncEffect"];
|
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
|
||||||
}
|
}
|
||||||
// for type re-export
|
// for type re-export
|
||||||
declare global {
|
declare global {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
export type {
|
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
|
||||||
Component,
|
import('vue')
|
||||||
ComponentPublicInstance,
|
|
||||||
ComputedRef,
|
|
||||||
DirectiveBinding,
|
|
||||||
ExtractDefaultPropTypes,
|
|
||||||
ExtractPropTypes,
|
|
||||||
ExtractPublicPropTypes,
|
|
||||||
InjectionKey,
|
|
||||||
PropType,
|
|
||||||
Ref,
|
|
||||||
MaybeRef,
|
|
||||||
MaybeRefOrGetter,
|
|
||||||
VNode,
|
|
||||||
WritableComputedRef,
|
|
||||||
} from "vue";
|
|
||||||
import("vue");
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user