feat(oidc): 接入统一认证登录与身份自助绑定

- 登录页接入统一认证入口并处理认证回调
- 个人中心新增认证身份区块,支持自助绑定与解绑
- 头像菜单与应用中心新增认证身份入口
- 应用中心删除经营管理分组,业务系统卡片指向统一认证授权地址
- 用户管理页移除认证身份代绑入口与弹窗
- 身份关联接口从用户域移到认证域
This commit is contained in:
Ray.Hao
2026-10-28 08:21:27 +08:00
parent 9cddb95fb7
commit b5bacd2cbf
205 changed files with 6705 additions and 7079 deletions

View File

@@ -1,20 +1,25 @@
{
"name": "vue3-element-admin",
"description": "Vue3 + Vite + TypeScript + Element-Plus 的后台管理模板,vue-element-admin 的 Vue3 版本",
"version": "4.9.0",
"version": "4.11.0",
"private": true,
"type": "module",
"scripts": {
"audit:prod": "pnpm audit --prod --registry=https://registry.npmjs.org",
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
"preview": "vite preview",
"build-only": "vite build",
"type-check": "vue-tsc --noEmit",
"lint:eslint": "eslint --cache \"src/**/*.{vue,ts,js}\" --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}\"",
"lint:stylelint": "stylelint --cache \"**/*.{css,scss,vue}\" --fix",
"lint:lint-staged": "lint-staged",
"lint": "pnpm run lint:eslint && pnpm run lint:prettier && pnpm run lint:stylelint",
"lint:check": "eslint src mock vite.config.ts uno.config.ts eslint.config.ts",
"format:check": "prettier --check \"src/**/*.{ts,vue,scss,css,json}\" \"mock/**/*.ts\" \"*.{ts,cjs,mjs,json,yaml}\" \".github/workflows/*.{yml,yaml}\"",
"style:check": "stylelint \"src/**/*.{css,scss,vue}\"",
"check": "pnpm run type-check && pnpm run lint:check && pnpm run format:check && pnpm run style:check",
"preinstall": "npx only-allow pnpm",
"prepare": "husky",
"commit": "git-cz",
@@ -41,9 +46,6 @@
"*.{scss,css}": [
"stylelint --fix",
"prettier --write"
],
"*.md": [
"prettier --write"
]
},
"dependencies": {
@@ -54,11 +56,11 @@
"@vxe-ui/plugin-export-xlsx": "^4.5.4",
"@wangeditor-next/editor": "^5.7.16",
"@wangeditor-next/editor-for-vue": "^5.1.14",
"animate.css": "^4.1.1",
"axios": "^1.19.0",
"bpmn-js": "^18.27.0",
"codemirror": "^5.65.21",
"codemirror-editor-vue3": "^2.8.0",
"dompurify": "^3.4.17",
"echarts": "^6.1.0",
"element-plus": "^2.14.4",
"exceljs": "^4.4.0",
@@ -85,7 +87,7 @@
"@iconify/utils": "^3.1.4",
"@types/codemirror": "^5.60.18",
"@types/lodash-es": "^4.17.12",
"@types/node": "^26.2.0",
"@types/node": "^24.0.0",
"@types/nprogress": "^0.2.3",
"@types/path-browserify": "^1.0.3",
"@types/qrcode": "^1.5.6",
@@ -97,7 +99,6 @@
"cz-git": "^1.13.2",
"eslint": "^10.8.1",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-vue": "^10.10.0",
"globals": "^17.9.0",
"husky": "^9.1.7",
@@ -114,20 +115,33 @@
"stylelint-config-recommended": "^18.0.0",
"stylelint-config-recommended-scss": "^17.0.1",
"stylelint-config-recommended-vue": "^2.0.0",
"stylelint-prettier": "^5.0.3",
"terser": "^5.49.2",
"typescript": "^6.0.3",
"typescript-eslint": "^8.67.0",
"unocss": "^66.7.5",
"unplugin-auto-import": "^21.1.0",
"unplugin-vue-components": "^32.1.0",
"vite": "^8.2.1",
"vite": "~8.2.4",
"vite-plugin-mock-dev-server": "^2.4.2",
"vue-eslint-parser": "^10.4.1",
"vue-tsc": "^3.3.9"
},
"engines": {
"node": "^20.19.0 || >=22.12.0"
"node": "^24.0.0",
"pnpm": "10.34.5"
},
"packageManager": "pnpm@10.34.5",
"pnpm": {
"overrides": {
"follow-redirects": "^1.16.1",
"source-map-js": "^1.2.2",
"brace-expansion@1": "^1.1.21",
"brace-expansion@2": "^2.1.7",
"brace-expansion@5": "^5.0.12",
"vite": "~8.2.4",
"fast-uri@3": "^3.1.8",
"@modelcontextprotocol/server@2": "~2.3.0",
"glob@10": "^10.5.0"
}
},
"repository": "https://gitee.com/youlaiorg/vue3-element-admin.git",
"author": "有来开源组织",