协议问题解决
This commit is contained in:
@@ -28,6 +28,9 @@ INSERT INTO `tb_sys_config` (`id`, `config_key`, `config_name`, `config_value`,
|
|||||||
('103', 'system.logo.home', '首页Logo', '', 'string', 'imgupload', '基础配置', '首页Logo', NULL, '存储文件ID,建议尺寸:36x36px', NULL, NULL, NULL, NULL, NULL, 103, 1, '1', now()),
|
('103', 'system.logo.home', '首页Logo', '', 'string', 'imgupload', '基础配置', '首页Logo', NULL, '存储文件ID,建议尺寸:36x36px', NULL, NULL, NULL, NULL, NULL, 103, 1, '1', now()),
|
||||||
('104', 'system.logo.admin', '管理后台Logo', '', 'string', 'imgupload', '基础配置', '管理后台Logo', NULL, '存储文件ID,建议尺寸:36x36px', NULL, NULL, NULL, NULL, NULL, 104, 1, '1', now()),
|
('104', 'system.logo.admin', '管理后台Logo', '', 'string', 'imgupload', '基础配置', '管理后台Logo', NULL, '存储文件ID,建议尺寸:36x36px', NULL, NULL, NULL, NULL, NULL, 104, 1, '1', now()),
|
||||||
('105', 'system.favicon', '网站图标', '', 'string', 'imgupload', '基础配置', '网站图标', NULL, '存储文件ID,建议格式:ico/png,尺寸:36x36px', NULL, NULL, NULL, NULL, NULL, 105, 1, '1', now()),
|
('105', 'system.favicon', '网站图标', '', 'string', 'imgupload', '基础配置', '网站图标', NULL, '存储文件ID,建议格式:ico/png,尺寸:36x36px', NULL, NULL, NULL, NULL, NULL, 105, 1, '1', now()),
|
||||||
|
('106', 'system.agreement.platform', '平台协议', '', 'string', 'fileupload', '基础配置', '平台协议文件', NULL, '支持PDF、TXT格式,用户点击后新开页面查看', NULL, NULL, NULL, NULL, NULL, 106, 1, '1', now()),
|
||||||
|
('107', 'system.agreement.user', '用户协议', '', 'string', 'fileupload', '基础配置', '用户协议文件', NULL, '支持PDF、TXT格式,用户点击后新开页面查看', NULL, NULL, NULL, NULL, NULL, 107, 1, '1', now()),
|
||||||
|
('108', 'system.agreement.privacy', '隐私协议', '', 'string', 'fileupload', '基础配置', '隐私协议文件', NULL, '支持PDF、TXT格式,用户点击后新开页面查看', NULL, NULL, NULL, NULL, NULL, 108, 1, '1', now()),
|
||||||
|
|
||||||
-- 邮件配置
|
-- 邮件配置
|
||||||
('40', 'email.login.enabled', '启用邮箱登录', 'false', 'boolean', 'switch', '邮件配置', '是否启用邮箱登录', NULL, '关闭后登录页将不显示邮箱登录选项', NULL, NULL, NULL, NULL, NULL, 40, 1, '1', now()),
|
('40', 'email.login.enabled', '启用邮箱登录', 'false', 'boolean', 'switch', '邮件配置', '是否启用邮箱登录', NULL, '关闭后登录页将不显示邮箱登录选项', NULL, NULL, NULL, NULL, NULL, 40, 1, '1', now()),
|
||||||
|
|||||||
@@ -387,6 +387,11 @@ public class SysConfigServiceImpl implements SysConfigService {
|
|||||||
baseInfo.put("adminLogo", getStringConfig("system.logo.admin"));
|
baseInfo.put("adminLogo", getStringConfig("system.logo.admin"));
|
||||||
baseInfo.put("favicon", getStringConfig("system.favicon"));
|
baseInfo.put("favicon", getStringConfig("system.favicon"));
|
||||||
|
|
||||||
|
// 登录协议文件ID
|
||||||
|
baseInfo.put("platformAgreement", getStringConfig("system.agreement.platform"));
|
||||||
|
baseInfo.put("userAgreement", getStringConfig("system.agreement.user"));
|
||||||
|
baseInfo.put("privacyAgreement", getStringConfig("system.agreement.privacy"));
|
||||||
|
|
||||||
// 登录相关开关(从各自分组获取)
|
// 登录相关开关(从各自分组获取)
|
||||||
baseInfo.put("smsLoginEnabled", getBooleanConfig("sms.login.enabled"));
|
baseInfo.put("smsLoginEnabled", getBooleanConfig("sms.login.enabled"));
|
||||||
baseInfo.put("emailLoginEnabled", getBooleanConfig("email.login.enabled"));
|
baseInfo.put("emailLoginEnabled", getBooleanConfig("email.login.enabled"));
|
||||||
|
|||||||
288
schoolNewsWeb/package-lock.json
generated
288
schoolNewsWeb/package-lock.json
generated
@@ -12,9 +12,11 @@
|
|||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"echarts": "^6.0.0",
|
"echarts": "^6.0.0",
|
||||||
"element-plus": "^2.11.4",
|
"element-plus": "^2.11.4",
|
||||||
|
"pdfjs-dist": "^5.4.530",
|
||||||
"quill": "^2.0.3",
|
"quill": "^2.0.3",
|
||||||
"register-service-worker": "^1.7.2",
|
"register-service-worker": "^1.7.2",
|
||||||
"vue": "^3.5.22",
|
"vue": "^3.5.22",
|
||||||
|
"vue-pdf-embed": "^2.1.3",
|
||||||
"vue-router": "^4.5.1",
|
"vue-router": "^4.5.1",
|
||||||
"vuex": "^4.1.0"
|
"vuex": "^4.1.0"
|
||||||
},
|
},
|
||||||
@@ -2269,6 +2271,256 @@
|
|||||||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@napi-rs/canvas": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas/-/canvas-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-/p08f93LEbsL5mDZFQ3DBxcPv/I4QG9EDYRRq1WNlCOXVfAHBTHMSVMwxlqG/AtnSfUr9+vgfN7MKiyDo0+Weg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"workspaces": [
|
||||||
|
"e2e/*"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@napi-rs/canvas-android-arm64": "0.1.88",
|
||||||
|
"@napi-rs/canvas-darwin-arm64": "0.1.88",
|
||||||
|
"@napi-rs/canvas-darwin-x64": "0.1.88",
|
||||||
|
"@napi-rs/canvas-linux-arm-gnueabihf": "0.1.88",
|
||||||
|
"@napi-rs/canvas-linux-arm64-gnu": "0.1.88",
|
||||||
|
"@napi-rs/canvas-linux-arm64-musl": "0.1.88",
|
||||||
|
"@napi-rs/canvas-linux-riscv64-gnu": "0.1.88",
|
||||||
|
"@napi-rs/canvas-linux-x64-gnu": "0.1.88",
|
||||||
|
"@napi-rs/canvas-linux-x64-musl": "0.1.88",
|
||||||
|
"@napi-rs/canvas-win32-arm64-msvc": "0.1.88",
|
||||||
|
"@napi-rs/canvas-win32-x64-msvc": "0.1.88"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-android-arm64": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-KEaClPnZuVxJ8smUWjV1wWFkByBO/D+vy4lN+Dm5DFH514oqwukxKGeck9xcKJhaWJGjfruGmYGiwRe//+/zQQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"android"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-darwin-arm64": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-Xgywz0dDxOKSgx3eZnK85WgGMmGrQEW7ZLA/E7raZdlEE+xXCozobgqz2ZvYigpB6DJFYkqnwHjqCOTSDGlFdg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-darwin-x64": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-Yz4wSCIQOUgNucgk+8NFtQxQxZV5NO8VKRl9ePKE6XoNyNVC8JDqtvhh3b3TPqKK8W5p2EQpAr1rjjm0mfBxdg==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-linux-arm-gnueabihf": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-9gQM2SlTo76hYhxHi2XxWTAqpTOb+JtxMPEIr+H5nAhHhyEtNmTSDRtz93SP7mGd2G3Ojf2oF5tP9OdgtgXyKg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-linux-arm64-gnu": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-7qgaOBMXuVRk9Fzztzr3BchQKXDxGbY+nwsovD3I/Sx81e+sX0ReEDYHTItNb0Je4NHbAl7D0MKyd4SvUc04sg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-linux-arm64-musl": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-kYyNrUsHLkoGHBc77u4Unh067GrfiCUMbGHC2+OTxbeWfZkPt2o32UOQkhnSswKd9Fko/wSqqGkY956bIUzruA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-linux-riscv64-gnu": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-HVuH7QgzB0yavYdNZDRyAsn/ejoXB0hn8twwFnOqUbCCdkV+REna7RXjSR7+PdfW0qMQ2YYWsLvVBT5iL/mGpw==",
|
||||||
|
"cpu": [
|
||||||
|
"riscv64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-linux-x64-gnu": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-hvcvKIcPEQrvvJtJnwD35B3qk6umFJ8dFIr8bSymfrSMem0EQsfn1ztys8ETIFndTwdNWJKWluvxztA41ivsEw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-linux-x64-musl": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-eSMpGYY2xnZSQ6UxYJ6plDboxq4KeJ4zT5HaVkUnbObNN6DlbJe0Mclh3wifAmquXfrlgTZt6zhHsUgz++AK6g==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-win32-arm64-msvc": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-win32-arm64-msvc/-/canvas-win32-arm64-msvc-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-qcIFfEgHrchyYqRrxsCeTQgpJZ/GqHiqPcU/Fvw/ARVlQeDX1VyFH+X+0gCR2tca6UJrq96vnW+5o7buCq+erA==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@napi-rs/canvas-win32-x64-msvc": {
|
||||||
|
"version": "0.1.88",
|
||||||
|
"resolved": "https://registry.npmmirror.com/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.88.tgz",
|
||||||
|
"integrity": "sha512-ROVqbfS4QyZxYkqmaIBBpbz/BQvAR+05FXM5PAtTYVc0uyY8Y4BHJSMdGAaMf6TdIVRsQsiq+FG/dH9XhvWCFQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/Brooooooklyn"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@nodelib/fs.scandir": {
|
"node_modules/@nodelib/fs.scandir": {
|
||||||
"version": "2.1.5",
|
"version": "2.1.5",
|
||||||
"resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
"resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||||
@@ -6286,6 +6538,18 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/pdfjs-dist": {
|
||||||
|
"version": "5.4.530",
|
||||||
|
"resolved": "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-5.4.530.tgz",
|
||||||
|
"integrity": "sha512-r1hWsSIGGmyYUAHR26zSXkxYWLXLMd6AwqcaFYG9YUZ0GBf5GvcjJSeo512tabM4GYFhxhl5pMCmPr7Q72Rq2Q==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20.16.0 || >=22.3.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@napi-rs/canvas": "^0.1.84"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/picocolors": {
|
"node_modules/picocolors": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
|
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz",
|
||||||
@@ -8305,6 +8569,30 @@
|
|||||||
"url": "https://opencollective.com/eslint"
|
"url": "https://opencollective.com/eslint"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/vue-pdf-embed": {
|
||||||
|
"version": "2.1.3",
|
||||||
|
"resolved": "https://registry.npmmirror.com/vue-pdf-embed/-/vue-pdf-embed-2.1.3.tgz",
|
||||||
|
"integrity": "sha512-EGgZNb8HRrAloBpb8p8CugDpJpoPbQ8CFfAYdWZgq2e5qBMP9JSeLzVQIAJkXsclHXRIS3O9fp3WQbP9T5Inwg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"pdfjs-dist": "^4.10.38"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"vue": "^3.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/vue-pdf-embed/node_modules/pdfjs-dist": {
|
||||||
|
"version": "4.10.38",
|
||||||
|
"resolved": "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-4.10.38.tgz",
|
||||||
|
"integrity": "sha512-/Y3fcFrXEAsMjJXeL9J8+ZG9U01LbuWaYypvDW2ycW1jL269L3js3DVBjDJ0Up9Np1uqDXsDrRihHANhZOlwdQ==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@napi-rs/canvas": "^0.1.65"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/vue-router": {
|
"node_modules/vue-router": {
|
||||||
"version": "4.5.1",
|
"version": "4.5.1",
|
||||||
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz",
|
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz",
|
||||||
|
|||||||
@@ -15,9 +15,11 @@
|
|||||||
"core-js": "^3.8.3",
|
"core-js": "^3.8.3",
|
||||||
"echarts": "^6.0.0",
|
"echarts": "^6.0.0",
|
||||||
"element-plus": "^2.11.4",
|
"element-plus": "^2.11.4",
|
||||||
|
"pdfjs-dist": "^5.4.530",
|
||||||
"quill": "^2.0.3",
|
"quill": "^2.0.3",
|
||||||
"register-service-worker": "^1.7.2",
|
"register-service-worker": "^1.7.2",
|
||||||
"vue": "^3.5.22",
|
"vue": "^3.5.22",
|
||||||
|
"vue-pdf-embed": "^2.1.3",
|
||||||
"vue-router": "^4.5.1",
|
"vue-router": "^4.5.1",
|
||||||
"vuex": "^4.1.0"
|
"vuex": "^4.1.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -122,18 +122,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 上传按钮 -->
|
|
||||||
<div v-if="selectedFiles.length > 0" class="upload-actions">
|
|
||||||
<el-button
|
|
||||||
type="primary"
|
|
||||||
@click="handleUpload"
|
|
||||||
:loading="uploading"
|
|
||||||
:disabled="selectedFiles.length === 0"
|
|
||||||
>
|
|
||||||
{{ uploading ? '上传中...' : '确定上传' }}
|
|
||||||
</el-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dialog
|
<el-dialog
|
||||||
@@ -362,11 +350,9 @@ function handleFileSelect(event: Event) {
|
|||||||
// 清空 input,允许重复选择同一文件
|
// 清空 input,允许重复选择同一文件
|
||||||
input.value = '';
|
input.value = '';
|
||||||
|
|
||||||
// cover模式下选择文件后立即上传
|
// 选择文件后立即上传
|
||||||
if (props.listType === 'cover') {
|
|
||||||
handleUpload();
|
handleUpload();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 拖拽相关
|
// 拖拽相关
|
||||||
|
|||||||
@@ -10,9 +10,10 @@
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.blank-layout {
|
.blank-layout {
|
||||||
width: 100vw;
|
width: 100%;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -24,6 +24,23 @@ export const routes: Array<RouteRecordRaw> = [
|
|||||||
requiresAuth: false,
|
requiresAuth: false,
|
||||||
menuType: 3,
|
menuType: 3,
|
||||||
}),
|
}),
|
||||||
|
// 协议预览页面
|
||||||
|
{
|
||||||
|
path: "/agreement/:type",
|
||||||
|
component: () => import("@/layouts/BlankLayout.vue"),
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: "",
|
||||||
|
name: "Agreement",
|
||||||
|
component: () => import("@/views/public/agreement/AgreementView.vue"),
|
||||||
|
meta: {
|
||||||
|
title: "协议",
|
||||||
|
requiresAuth: false,
|
||||||
|
menuType: 3,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
// 首页(显示在导航栏)
|
// 首页(显示在导航栏)
|
||||||
// {
|
// {
|
||||||
// path: "/home",
|
// path: "/home",
|
||||||
|
|||||||
@@ -47,6 +47,22 @@ export default {
|
|||||||
faviconUrl: (state: SystemState) => {
|
faviconUrl: (state: SystemState) => {
|
||||||
const fileId = state.baseInfo?.favicon;
|
const fileId = state.baseInfo?.favicon;
|
||||||
return (fileId && fileId.trim()) ? `${FILE_DOWNLOAD_URL}${fileId}` : '/favicon.ico';
|
return (fileId && fileId.trim()) ? `${FILE_DOWNLOAD_URL}${fileId}` : '/favicon.ico';
|
||||||
|
},
|
||||||
|
|
||||||
|
// 协议文件URL
|
||||||
|
platformAgreementUrl: (state: SystemState) => {
|
||||||
|
const fileId = state.baseInfo?.platformAgreement;
|
||||||
|
return (fileId && fileId.trim()) ? `${FILE_DOWNLOAD_URL}${fileId}` : '';
|
||||||
|
},
|
||||||
|
|
||||||
|
userAgreementUrl: (state: SystemState) => {
|
||||||
|
const fileId = state.baseInfo?.userAgreement;
|
||||||
|
return (fileId && fileId.trim()) ? `${FILE_DOWNLOAD_URL}${fileId}` : '';
|
||||||
|
},
|
||||||
|
|
||||||
|
privacyAgreementUrl: (state: SystemState) => {
|
||||||
|
const fileId = state.baseInfo?.privacyAgreement;
|
||||||
|
return (fileId && fileId.trim()) ? `${FILE_DOWNLOAD_URL}${fileId}` : '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,11 @@ export interface SystemBaseInfo {
|
|||||||
adminLogo: string; // 管理后台Logo(fileId)
|
adminLogo: string; // 管理后台Logo(fileId)
|
||||||
favicon: string; // 网站图标(fileId)
|
favicon: string; // 网站图标(fileId)
|
||||||
|
|
||||||
|
// 登录协议文件ID
|
||||||
|
platformAgreement: string; // 平台协议(fileId)
|
||||||
|
userAgreement: string; // 用户协议(fileId)
|
||||||
|
privacyAgreement: string; // 隐私协议(fileId)
|
||||||
|
|
||||||
// 登录开关(来自不同分组)
|
// 登录开关(来自不同分组)
|
||||||
smsLoginEnabled: boolean; // 短信登录开关(sms分组)
|
smsLoginEnabled: boolean; // 短信登录开关(sms分组)
|
||||||
emailLoginEnabled: boolean; // 邮箱登录开关(email分组)
|
emailLoginEnabled: boolean; // 邮箱登录开关(email分组)
|
||||||
|
|||||||
@@ -122,6 +122,44 @@
|
|||||||
:tip="item.remark || '点击上传图片,支持jpg、png格式'"
|
:tip="item.remark || '点击上传图片,支持jpg、png格式'"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<!-- 文件上传(协议文档等) -->
|
||||||
|
<el-form-item
|
||||||
|
v-else-if="getRenderType(item) === 'fileupload'"
|
||||||
|
:label="item.configName || item.configKey"
|
||||||
|
:prop="item.configKey"
|
||||||
|
>
|
||||||
|
<div class="file-upload-wrapper">
|
||||||
|
<FileUpload
|
||||||
|
:as-dialog="false"
|
||||||
|
:multiple="false"
|
||||||
|
accept=".pdf,.txt"
|
||||||
|
:max-size="100"
|
||||||
|
module="system"
|
||||||
|
:tip="item.remark || '支持PDF、TXT格式,不超过100MB'"
|
||||||
|
@success="(files) => handleFileUploadSuccess(files, group.groupKey, item.configKey)"
|
||||||
|
/>
|
||||||
|
<div v-if="configData[group.groupKey][item.configKey]" class="uploaded-file-info">
|
||||||
|
<el-tag type="success" size="small">已上传</el-tag>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
link
|
||||||
|
size="small"
|
||||||
|
@click="previewAgreementFile(configData[group.groupKey][item.configKey])"
|
||||||
|
>
|
||||||
|
预览文件
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
link
|
||||||
|
size="small"
|
||||||
|
@click="configData[group.groupKey][item.configKey] = ''"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<!-- 操作按钮 -->
|
<!-- 操作按钮 -->
|
||||||
@@ -149,7 +187,6 @@ import { ElMessage } from 'element-plus';
|
|||||||
import { configApi } from '@/apis/system';
|
import { configApi } from '@/apis/system';
|
||||||
import type { ConfigItem } from '@/types/system/config';
|
import type { ConfigItem } from '@/types/system/config';
|
||||||
import FileUpload from '@/components/file/FileUpload.vue';
|
import FileUpload from '@/components/file/FileUpload.vue';
|
||||||
|
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: 'SystemConfigView'
|
name: 'SystemConfigView'
|
||||||
});
|
});
|
||||||
@@ -358,6 +395,26 @@ function handleCoverUpdate(url: string, groupKey: string, configKey: string) {
|
|||||||
configData[groupKey][configKey] = url;
|
configData[groupKey][configKey] = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 处理文件上传成功(协议文档等)
|
||||||
|
*/
|
||||||
|
function handleFileUploadSuccess(files: any[], groupKey: string, configKey: string) {
|
||||||
|
if (files && files.length > 0) {
|
||||||
|
configData[groupKey][configKey] = files[0].fileID || '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 预览协议文件(新开tab页)
|
||||||
|
*/
|
||||||
|
function previewAgreementFile(fileId: string) {
|
||||||
|
if (fileId) {
|
||||||
|
// 使用文件下载URL在新标签页打开
|
||||||
|
const url = `${import.meta.env.VITE_API_BASE_URL || ''}/api/file/preview/${fileId}`;
|
||||||
|
window.open(url, '_blank');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存指定分组的配置
|
* 保存指定分组的配置
|
||||||
*/
|
*/
|
||||||
@@ -440,5 +497,16 @@ async function saveConfig(groupKey: string) {
|
|||||||
color: #606266;
|
color: #606266;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.file-upload-wrapper {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.uploaded-file-info {
|
||||||
|
margin-top: 10px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
230
schoolNewsWeb/src/views/public/agreement/AgreementView.vue
Normal file
230
schoolNewsWeb/src/views/public/agreement/AgreementView.vue
Normal file
@@ -0,0 +1,230 @@
|
|||||||
|
<template>
|
||||||
|
<div class="agreement-container">
|
||||||
|
<div class="agreement-header">
|
||||||
|
<h1 class="agreement-title">{{ title }}</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="agreement-content" v-loading="loading">
|
||||||
|
<!-- PDF预览 -->
|
||||||
|
<div v-if="fileType === 'pdf'" class="pdf-viewer">
|
||||||
|
<VuePdfEmbed
|
||||||
|
:source="pdfSource"
|
||||||
|
:page="currentPage"
|
||||||
|
@loaded="onPdfLoaded"
|
||||||
|
@rendered="onPdfRendered"
|
||||||
|
/>
|
||||||
|
<!-- PDF分页控制 -->
|
||||||
|
<div v-if="totalPages > 1" class="pdf-pagination">
|
||||||
|
<el-button :disabled="currentPage <= 1" @click="currentPage--">上一页</el-button>
|
||||||
|
<span class="page-info">{{ currentPage }} / {{ totalPages }}</span>
|
||||||
|
<el-button :disabled="currentPage >= totalPages" @click="currentPage++">下一页</el-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- TXT预览 -->
|
||||||
|
<div v-else-if="fileType === 'txt'" class="txt-viewer">
|
||||||
|
<pre>{{ textContent }}</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 无内容 -->
|
||||||
|
<div v-else-if="!loading" class="empty-content">
|
||||||
|
<el-empty description="协议内容暂未上传" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup lang="ts">
|
||||||
|
import { ref, computed, onMounted } from 'vue';
|
||||||
|
import { useRoute } from 'vue-router';
|
||||||
|
import { useStore } from 'vuex';
|
||||||
|
import { FILE_DOWNLOAD_URL } from '@/config';
|
||||||
|
import VuePdfEmbed from 'vue-pdf-embed';
|
||||||
|
|
||||||
|
const route = useRoute();
|
||||||
|
const store = useStore();
|
||||||
|
|
||||||
|
const loading = ref(true);
|
||||||
|
const textContent = ref('');
|
||||||
|
const fileType = ref<'pdf' | 'txt' | ''>('');
|
||||||
|
const pdfSource = ref<string>('');
|
||||||
|
const currentPage = ref(1);
|
||||||
|
const totalPages = ref(0);
|
||||||
|
|
||||||
|
// 协议类型对应的标题
|
||||||
|
const titleMap: Record<string, string> = {
|
||||||
|
platform: '红色思政智能体平台协议',
|
||||||
|
user: '用户协议',
|
||||||
|
privacy: '隐私协议'
|
||||||
|
};
|
||||||
|
|
||||||
|
// 获取协议类型
|
||||||
|
const agreementType = computed(() => route.params.type as string);
|
||||||
|
|
||||||
|
// 标题
|
||||||
|
const title = computed(() => titleMap[agreementType.value] || '协议');
|
||||||
|
|
||||||
|
// 获取文件ID
|
||||||
|
const fileId = computed(() => {
|
||||||
|
const baseInfo = store.state.system.baseInfo;
|
||||||
|
if (!baseInfo) return '';
|
||||||
|
|
||||||
|
switch (agreementType.value) {
|
||||||
|
case 'platform':
|
||||||
|
return baseInfo.platformAgreement || '';
|
||||||
|
case 'user':
|
||||||
|
return baseInfo.userAgreement || '';
|
||||||
|
case 'privacy':
|
||||||
|
return baseInfo.privacyAgreement || '';
|
||||||
|
default:
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 文件URL
|
||||||
|
const fileUrl = computed(() => {
|
||||||
|
if (!fileId.value) return '';
|
||||||
|
return `${FILE_DOWNLOAD_URL}${fileId.value}`;
|
||||||
|
});
|
||||||
|
|
||||||
|
// PDF加载完成
|
||||||
|
function onPdfLoaded(pdf: any) {
|
||||||
|
totalPages.value = pdf.numPages;
|
||||||
|
}
|
||||||
|
|
||||||
|
// PDF渲染完成
|
||||||
|
function onPdfRendered() {
|
||||||
|
loading.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
// 确保系统配置已加载
|
||||||
|
if (!store.state.system.baseInfo) {
|
||||||
|
await store.dispatch('system/loadBaseInfo');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!fileId.value) {
|
||||||
|
loading.value = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 根据文件URL判断类型并加载
|
||||||
|
try {
|
||||||
|
const response = await fetch(fileUrl.value);
|
||||||
|
const contentType = response.headers.get('content-type') || '';
|
||||||
|
const contentDisposition = response.headers.get('content-disposition') || '';
|
||||||
|
|
||||||
|
// 判断是否为PDF
|
||||||
|
const isPdf = contentType.includes('pdf') ||
|
||||||
|
contentDisposition.includes('.pdf') ||
|
||||||
|
fileUrl.value.toLowerCase().includes('.pdf');
|
||||||
|
|
||||||
|
if (isPdf) {
|
||||||
|
fileType.value = 'pdf';
|
||||||
|
// 获取PDF的blob URL
|
||||||
|
const blob = await response.blob();
|
||||||
|
pdfSource.value = URL.createObjectURL(blob);
|
||||||
|
} else {
|
||||||
|
// 作为文本处理
|
||||||
|
fileType.value = 'txt';
|
||||||
|
textContent.value = await response.text();
|
||||||
|
loading.value = false;
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('加载协议文件失败:', error);
|
||||||
|
loading.value = false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.agreement-container {
|
||||||
|
min-height: 100vh;
|
||||||
|
background: #f5f5f5;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.agreement-header {
|
||||||
|
background: #fff;
|
||||||
|
padding: 20px;
|
||||||
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
.agreement-title {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 20px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.agreement-content {
|
||||||
|
flex: 1;
|
||||||
|
padding: 20px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pdf-viewer {
|
||||||
|
flex: 1;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 20px;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow-y: auto;
|
||||||
|
|
||||||
|
:deep(.vue-pdf-embed) {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
:deep(canvas) {
|
||||||
|
max-width: 100%;
|
||||||
|
height: auto !important;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.pdf-pagination {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
gap: 16px;
|
||||||
|
margin-top: 20px;
|
||||||
|
padding-top: 20px;
|
||||||
|
border-top: 1px solid #eee;
|
||||||
|
|
||||||
|
.page-info {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.txt-viewer {
|
||||||
|
flex: 1;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 24px;
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
pre {
|
||||||
|
margin: 0;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
word-wrap: break-word;
|
||||||
|
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 1.8;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-content {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -181,8 +181,8 @@
|
|||||||
<div class="agreement-wrapper">
|
<div class="agreement-wrapper">
|
||||||
<el-checkbox v-model="loginForm.agree" />
|
<el-checkbox v-model="loginForm.agree" />
|
||||||
<span class="agreement-text">
|
<span class="agreement-text">
|
||||||
登录即为同意 <span class="agreement-link">《红色思政智能体平台》</span><span class="agreement-link">《用户协议》</span>
|
登录即为同意 <span class="agreement-link" @click="openAgreement('platform')">《红色思政智能体平台》</span><span class="agreement-link" @click="openAgreement('user')">《用户协议》</span>
|
||||||
<span class="agreement-link">《隐私协议》</span>
|
<span class="agreement-link" @click="openAgreement('privacy')">《隐私协议》</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -519,6 +519,15 @@ function goToForgotPassword() {
|
|||||||
router.push('/forgot-password');
|
router.push('/forgot-password');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打开协议文件(新标签页)
|
||||||
|
*/
|
||||||
|
function openAgreement(type: 'platform' | 'user' | 'privacy') {
|
||||||
|
// 跳转到协议预览页面
|
||||||
|
const url = router.resolve({ path: `/agreement/${type}` }).href;
|
||||||
|
window.open(url, '_blank');
|
||||||
|
}
|
||||||
|
|
||||||
// 组件挂载时检查是否需要显示验证码
|
// 组件挂载时检查是否需要显示验证码
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 可以根据需要决定是否默认显示验证码
|
// 可以根据需要决定是否默认显示验证码
|
||||||
|
|||||||
@@ -181,9 +181,9 @@
|
|||||||
<div class="agreement-wrapper">
|
<div class="agreement-wrapper">
|
||||||
<el-checkbox v-model="loginForm.agree" />
|
<el-checkbox v-model="loginForm.agree" />
|
||||||
<span class="agreement-text">
|
<span class="agreement-text">
|
||||||
登录即为同意 <span class="agreement-link">《红色思政智能体平台》</span>
|
登录即为同意 <span class="agreement-link" @click="openAgreement('platform')">《红色思政智能体平台》</span>
|
||||||
<span class="agreement-link">《用户协议》</span>
|
<span class="agreement-link" @click="openAgreement('user')">《用户协议》</span>
|
||||||
<span class="agreement-link">《隐私协议》</span>
|
<span class="agreement-link" @click="openAgreement('privacy')">《隐私协议》</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -521,6 +521,15 @@ function goToForgotPassword() {
|
|||||||
router.push('/forgot-password');
|
router.push('/forgot-password');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打开协议文件(新标签页)
|
||||||
|
*/
|
||||||
|
function openAgreement(type: 'platform' | 'user' | 'privacy') {
|
||||||
|
// 跳转到协议预览页面
|
||||||
|
const url = router.resolve({ path: `/agreement/${type}` }).href;
|
||||||
|
window.open(url, '_blank');
|
||||||
|
}
|
||||||
|
|
||||||
// 组件挂载时检查是否需要显示验证码
|
// 组件挂载时检查是否需要显示验证码
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 可以根据需要决定是否默认显示验证码
|
// 可以根据需要决定是否默认显示验证码
|
||||||
|
|||||||
@@ -167,8 +167,8 @@
|
|||||||
<div class="agreement-wrapper">
|
<div class="agreement-wrapper">
|
||||||
<el-checkbox v-model="registerForm.agree" />
|
<el-checkbox v-model="registerForm.agree" />
|
||||||
<span class="agreement-text">
|
<span class="agreement-text">
|
||||||
注册即为同意 <span class="agreement-link">《红色思政智能体平台》</span><span class="agreement-link">《用户协议》</span>
|
注册即为同意 <span class="agreement-link" @click="openAgreement('platform')">《红色思政智能体平台》</span><span class="agreement-link" @click="openAgreement('user')">《用户协议》</span>
|
||||||
<span class="agreement-link">《隐私协议》</span>
|
<span class="agreement-link" @click="openAgreement('privacy')">《隐私协议》</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -515,6 +515,15 @@ onUnmounted(() => {
|
|||||||
clearInterval(emailTimer);
|
clearInterval(emailTimer);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打开协议文件(新标签页)
|
||||||
|
*/
|
||||||
|
function openAgreement(type: 'platform' | 'user' | 'privacy') {
|
||||||
|
// 跳转到协议预览页面
|
||||||
|
const url = router.resolve({ path: `/agreement/${type}` }).href;
|
||||||
|
window.open(url, '_blank');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -174,8 +174,8 @@
|
|||||||
<div class="agreement-wrapper">
|
<div class="agreement-wrapper">
|
||||||
<el-checkbox v-model="registerForm.agree" />
|
<el-checkbox v-model="registerForm.agree" />
|
||||||
<span class="agreement-text">
|
<span class="agreement-text">
|
||||||
注册即为同意 <span class="agreement-link">《红色思政智能体平台》</span><span class="agreement-link">《用户协议》</span>
|
注册即为同意 <span class="agreement-link" @click="openAgreement('platform')">《红色思政智能体平台》</span><span class="agreement-link" @click="openAgreement('user')">《用户协议》</span>
|
||||||
<span class="agreement-link">《隐私协议》</span>
|
<span class="agreement-link" @click="openAgreement('privacy')">《隐私协议》</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -522,6 +522,15 @@ function goToLogin() {
|
|||||||
router.push('/login');
|
router.push('/login');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打开协议文件(新标签页)
|
||||||
|
*/
|
||||||
|
function openAgreement(type: 'platform' | 'user' | 'privacy') {
|
||||||
|
// 跳转到协议预览页面
|
||||||
|
const url = router.resolve({ path: `/agreement/${type}` }).href;
|
||||||
|
window.open(url, '_blank');
|
||||||
|
}
|
||||||
|
|
||||||
// 组件卸载时清除定时器
|
// 组件卸载时清除定时器
|
||||||
import { onUnmounted } from 'vue';
|
import { onUnmounted } from 'vue';
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
|
|||||||
@@ -825,116 +825,6 @@
|
|||||||
resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz"
|
resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz"
|
||||||
integrity sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==
|
integrity sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==
|
||||||
|
|
||||||
"@esbuild/aix-ppc64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz"
|
|
||||||
integrity sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==
|
|
||||||
|
|
||||||
"@esbuild/android-arm@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz"
|
|
||||||
integrity sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==
|
|
||||||
|
|
||||||
"@esbuild/android-arm64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz"
|
|
||||||
integrity sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==
|
|
||||||
|
|
||||||
"@esbuild/android-x64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz"
|
|
||||||
integrity sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==
|
|
||||||
|
|
||||||
"@esbuild/darwin-arm64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz"
|
|
||||||
integrity sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==
|
|
||||||
|
|
||||||
"@esbuild/darwin-x64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz"
|
|
||||||
integrity sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==
|
|
||||||
|
|
||||||
"@esbuild/freebsd-arm64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz"
|
|
||||||
integrity sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==
|
|
||||||
|
|
||||||
"@esbuild/freebsd-x64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz"
|
|
||||||
integrity sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==
|
|
||||||
|
|
||||||
"@esbuild/linux-arm@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz"
|
|
||||||
integrity sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==
|
|
||||||
|
|
||||||
"@esbuild/linux-arm64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz"
|
|
||||||
integrity sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==
|
|
||||||
|
|
||||||
"@esbuild/linux-ia32@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz"
|
|
||||||
integrity sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==
|
|
||||||
|
|
||||||
"@esbuild/linux-loong64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz"
|
|
||||||
integrity sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==
|
|
||||||
|
|
||||||
"@esbuild/linux-mips64el@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz"
|
|
||||||
integrity sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==
|
|
||||||
|
|
||||||
"@esbuild/linux-ppc64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz"
|
|
||||||
integrity sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==
|
|
||||||
|
|
||||||
"@esbuild/linux-riscv64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz"
|
|
||||||
integrity sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==
|
|
||||||
|
|
||||||
"@esbuild/linux-s390x@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz"
|
|
||||||
integrity sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==
|
|
||||||
|
|
||||||
"@esbuild/linux-x64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz"
|
|
||||||
integrity sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==
|
|
||||||
|
|
||||||
"@esbuild/netbsd-x64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz"
|
|
||||||
integrity sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==
|
|
||||||
|
|
||||||
"@esbuild/openbsd-x64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz"
|
|
||||||
integrity sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==
|
|
||||||
|
|
||||||
"@esbuild/sunos-x64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz"
|
|
||||||
integrity sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==
|
|
||||||
|
|
||||||
"@esbuild/win32-arm64@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz"
|
|
||||||
integrity sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==
|
|
||||||
|
|
||||||
"@esbuild/win32-ia32@0.21.5":
|
|
||||||
version "0.21.5"
|
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz"
|
|
||||||
integrity sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==
|
|
||||||
|
|
||||||
"@esbuild/win32-x64@0.21.5":
|
"@esbuild/win32-x64@0.21.5":
|
||||||
version "0.21.5"
|
version "0.21.5"
|
||||||
resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz"
|
resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz"
|
||||||
@@ -1043,6 +933,28 @@
|
|||||||
"@jridgewell/resolve-uri" "^3.1.0"
|
"@jridgewell/resolve-uri" "^3.1.0"
|
||||||
"@jridgewell/sourcemap-codec" "^1.4.14"
|
"@jridgewell/sourcemap-codec" "^1.4.14"
|
||||||
|
|
||||||
|
"@napi-rs/canvas-win32-x64-msvc@0.1.88":
|
||||||
|
version "0.1.88"
|
||||||
|
resolved "https://registry.npmmirror.com/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.88.tgz"
|
||||||
|
integrity sha512-ROVqbfS4QyZxYkqmaIBBpbz/BQvAR+05FXM5PAtTYVc0uyY8Y4BHJSMdGAaMf6TdIVRsQsiq+FG/dH9XhvWCFQ==
|
||||||
|
|
||||||
|
"@napi-rs/canvas@^0.1.65", "@napi-rs/canvas@^0.1.84":
|
||||||
|
version "0.1.88"
|
||||||
|
resolved "https://registry.npmmirror.com/@napi-rs/canvas/-/canvas-0.1.88.tgz"
|
||||||
|
integrity sha512-/p08f93LEbsL5mDZFQ3DBxcPv/I4QG9EDYRRq1WNlCOXVfAHBTHMSVMwxlqG/AtnSfUr9+vgfN7MKiyDo0+Weg==
|
||||||
|
optionalDependencies:
|
||||||
|
"@napi-rs/canvas-android-arm64" "0.1.88"
|
||||||
|
"@napi-rs/canvas-darwin-arm64" "0.1.88"
|
||||||
|
"@napi-rs/canvas-darwin-x64" "0.1.88"
|
||||||
|
"@napi-rs/canvas-linux-arm-gnueabihf" "0.1.88"
|
||||||
|
"@napi-rs/canvas-linux-arm64-gnu" "0.1.88"
|
||||||
|
"@napi-rs/canvas-linux-arm64-musl" "0.1.88"
|
||||||
|
"@napi-rs/canvas-linux-riscv64-gnu" "0.1.88"
|
||||||
|
"@napi-rs/canvas-linux-x64-gnu" "0.1.88"
|
||||||
|
"@napi-rs/canvas-linux-x64-musl" "0.1.88"
|
||||||
|
"@napi-rs/canvas-win32-arm64-msvc" "0.1.88"
|
||||||
|
"@napi-rs/canvas-win32-x64-msvc" "0.1.88"
|
||||||
|
|
||||||
"@nodelib/fs.scandir@2.1.5":
|
"@nodelib/fs.scandir@2.1.5":
|
||||||
version "2.1.5"
|
version "2.1.5"
|
||||||
resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
|
resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
|
||||||
@@ -1152,106 +1064,6 @@
|
|||||||
estree-walker "^2.0.2"
|
estree-walker "^2.0.2"
|
||||||
picomatch "^4.0.2"
|
picomatch "^4.0.2"
|
||||||
|
|
||||||
"@rollup/rollup-android-arm-eabi@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.4.tgz"
|
|
||||||
integrity sha512-BTm2qKNnWIQ5auf4deoetINJm2JzvihvGb9R6K/ETwKLql/Bb3Eg2H1FBp1gUb4YGbydMA3jcmQTR73q7J+GAA==
|
|
||||||
|
|
||||||
"@rollup/rollup-android-arm64@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.4.tgz"
|
|
||||||
integrity sha512-P9LDQiC5vpgGFgz7GSM6dKPCiqR3XYN1WwJKA4/BUVDjHpYsf3iBEmVz62uyq20NGYbiGPR5cNHI7T1HqxNs2w==
|
|
||||||
|
|
||||||
"@rollup/rollup-darwin-arm64@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.4.tgz"
|
|
||||||
integrity sha512-QRWSW+bVccAvZF6cbNZBJwAehmvG9NwfWHwMy4GbWi/BQIA/laTIktebT2ipVjNncqE6GLPxOok5hsECgAxGZg==
|
|
||||||
|
|
||||||
"@rollup/rollup-darwin-x64@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.4.tgz"
|
|
||||||
integrity sha512-hZgP05pResAkRJxL1b+7yxCnXPGsXU0fG9Yfd6dUaoGk+FhdPKCJ5L1Sumyxn8kvw8Qi5PvQ8ulenUbRjzeCTw==
|
|
||||||
|
|
||||||
"@rollup/rollup-freebsd-arm64@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.4.tgz"
|
|
||||||
integrity sha512-xmc30VshuBNUd58Xk4TKAEcRZHaXlV+tCxIXELiE9sQuK3kG8ZFgSPi57UBJt8/ogfhAF5Oz4ZSUBN77weM+mQ==
|
|
||||||
|
|
||||||
"@rollup/rollup-freebsd-x64@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.4.tgz"
|
|
||||||
integrity sha512-WdSLpZFjOEqNZGmHflxyifolwAiZmDQzuOzIq9L27ButpCVpD7KzTRtEG1I0wMPFyiyUdOO+4t8GvrnBLQSwpw==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm-gnueabihf@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.4.tgz"
|
|
||||||
integrity sha512-xRiOu9Of1FZ4SxVbB0iEDXc4ddIcjCv2aj03dmW8UrZIW7aIQ9jVJdLBIhxBI+MaTnGAKyvMwPwQnoOEvP7FgQ==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm-musleabihf@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.4.tgz"
|
|
||||||
integrity sha512-FbhM2p9TJAmEIEhIgzR4soUcsW49e9veAQCziwbR+XWB2zqJ12b4i/+hel9yLiD8pLncDH4fKIPIbt5238341Q==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm64-gnu@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.4.tgz"
|
|
||||||
integrity sha512-4n4gVwhPHR9q/g8lKCyz0yuaD0MvDf7dV4f9tHt0C73Mp8h38UCtSCSE6R9iBlTbXlmA8CjpsZoujhszefqueg==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-arm64-musl@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.4.tgz"
|
|
||||||
integrity sha512-u0n17nGA0nvi/11gcZKsjkLj1QIpAuPFQbR48Subo7SmZJnGxDpspyw2kbpuoQnyK+9pwf3pAoEXerJs/8Mi9g==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-loong64-gnu@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.4.tgz"
|
|
||||||
integrity sha512-0G2c2lpYtbTuXo8KEJkDkClE/+/2AFPdPAbmaHoE870foRFs4pBrDehilMcrSScrN/fB/1HTaWO4bqw+ewBzMQ==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-ppc64-gnu@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.4.tgz"
|
|
||||||
integrity sha512-teSACug1GyZHmPDv14VNbvZFX779UqWTsd7KtTM9JIZRDI5NUwYSIS30kzI8m06gOPB//jtpqlhmraQ68b5X2g==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-riscv64-gnu@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.4.tgz"
|
|
||||||
integrity sha512-/MOEW3aHjjs1p4Pw1Xk4+3egRevx8Ji9N6HUIA1Ifh8Q+cg9dremvFCUbOX2Zebz80BwJIgCBUemjqhU5XI5Eg==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-riscv64-musl@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.4.tgz"
|
|
||||||
integrity sha512-1HHmsRyh845QDpEWzOFtMCph5Ts+9+yllCrREuBR/vg2RogAQGGBRC8lDPrPOMnrdOJ+mt1WLMOC2Kao/UwcvA==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-s390x-gnu@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.4.tgz"
|
|
||||||
integrity sha512-seoeZp4L/6D1MUyjWkOMRU6/iLmCU2EjbMTyAG4oIOs1/I82Y5lTeaxW0KBfkUdHAWN7j25bpkt0rjnOgAcQcA==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-x64-gnu@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.4.tgz"
|
|
||||||
integrity sha512-Wi6AXf0k0L7E2gteNsNHUs7UMwCIhsCTs6+tqQ5GPwVRWMaflqGec4Sd8n6+FNFDw9vGcReqk2KzBDhCa1DLYg==
|
|
||||||
|
|
||||||
"@rollup/rollup-linux-x64-musl@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.4.tgz"
|
|
||||||
integrity sha512-dtBZYjDmCQ9hW+WgEkaffvRRCKm767wWhxsFW3Lw86VXz/uJRuD438/XvbZT//B96Vs8oTA8Q4A0AfHbrxP9zw==
|
|
||||||
|
|
||||||
"@rollup/rollup-openharmony-arm64@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.4.tgz"
|
|
||||||
integrity sha512-1ox+GqgRWqaB1RnyZXL8PD6E5f7YyRUJYnCqKpNzxzP0TkaUh112NDrR9Tt+C8rJ4x5G9Mk8PQR3o7Ku2RKqKA==
|
|
||||||
|
|
||||||
"@rollup/rollup-win32-arm64-msvc@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.4.tgz"
|
|
||||||
integrity sha512-8GKr640PdFNXwzIE0IrkMWUNUomILLkfeHjXBi/nUvFlpZP+FA8BKGKpacjW6OUUHaNI6sUURxR2U2g78FOHWQ==
|
|
||||||
|
|
||||||
"@rollup/rollup-win32-ia32-msvc@4.52.4":
|
|
||||||
version "4.52.4"
|
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.4.tgz"
|
|
||||||
integrity sha512-AIy/jdJ7WtJ/F6EcfOb2GjR9UweO0n43jNObQMb6oGxkYTfLcnN7vYYpG+CN3lLxrQkzWnMOoNSHTW54pgbVxw==
|
|
||||||
|
|
||||||
"@rollup/rollup-win32-x64-gnu@4.52.4":
|
"@rollup/rollup-win32-x64-gnu@4.52.4":
|
||||||
version "4.52.4"
|
version "4.52.4"
|
||||||
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz"
|
resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.4.tgz"
|
||||||
@@ -2508,11 +2320,6 @@ fs.realpath@^1.0.0:
|
|||||||
resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
|
resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
|
||||||
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
||||||
|
|
||||||
fsevents@~2.3.2, fsevents@~2.3.3:
|
|
||||||
version "2.3.3"
|
|
||||||
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz"
|
|
||||||
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
|
||||||
|
|
||||||
function-bind@^1.1.2:
|
function-bind@^1.1.2:
|
||||||
version "1.1.2"
|
version "1.1.2"
|
||||||
resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz"
|
resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz"
|
||||||
@@ -3294,6 +3101,20 @@ path-type@^4.0.0:
|
|||||||
resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz"
|
resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz"
|
||||||
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
|
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
|
||||||
|
|
||||||
|
pdfjs-dist@^4.10.38:
|
||||||
|
version "4.10.38"
|
||||||
|
resolved "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-4.10.38.tgz"
|
||||||
|
integrity sha512-/Y3fcFrXEAsMjJXeL9J8+ZG9U01LbuWaYypvDW2ycW1jL269L3js3DVBjDJ0Up9Np1uqDXsDrRihHANhZOlwdQ==
|
||||||
|
optionalDependencies:
|
||||||
|
"@napi-rs/canvas" "^0.1.65"
|
||||||
|
|
||||||
|
pdfjs-dist@^5.4.530:
|
||||||
|
version "5.4.530"
|
||||||
|
resolved "https://registry.npmmirror.com/pdfjs-dist/-/pdfjs-dist-5.4.530.tgz"
|
||||||
|
integrity sha512-r1hWsSIGGmyYUAHR26zSXkxYWLXLMd6AwqcaFYG9YUZ0GBf5GvcjJSeo512tabM4GYFhxhl5pMCmPr7Q72Rq2Q==
|
||||||
|
optionalDependencies:
|
||||||
|
"@napi-rs/canvas" "^0.1.84"
|
||||||
|
|
||||||
picocolors@^1.0.0, picocolors@^1.1.1:
|
picocolors@^1.0.0, picocolors@^1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz"
|
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz"
|
||||||
@@ -4115,6 +3936,13 @@ vue-eslint-parser@^8.0.0, vue-eslint-parser@^8.0.1:
|
|||||||
lodash "^4.17.21"
|
lodash "^4.17.21"
|
||||||
semver "^7.3.5"
|
semver "^7.3.5"
|
||||||
|
|
||||||
|
vue-pdf-embed@^2.1.3:
|
||||||
|
version "2.1.3"
|
||||||
|
resolved "https://registry.npmmirror.com/vue-pdf-embed/-/vue-pdf-embed-2.1.3.tgz"
|
||||||
|
integrity sha512-EGgZNb8HRrAloBpb8p8CugDpJpoPbQ8CFfAYdWZgq2e5qBMP9JSeLzVQIAJkXsclHXRIS3O9fp3WQbP9T5Inwg==
|
||||||
|
dependencies:
|
||||||
|
pdfjs-dist "^4.10.38"
|
||||||
|
|
||||||
vue-router@^4.5.1:
|
vue-router@^4.5.1:
|
||||||
version "4.5.1"
|
version "4.5.1"
|
||||||
resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz"
|
resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.5.1.tgz"
|
||||||
@@ -4122,7 +3950,7 @@ vue-router@^4.5.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@vue/devtools-api" "^6.6.4"
|
"@vue/devtools-api" "^6.6.4"
|
||||||
|
|
||||||
"vue@^3.0.0-0 || ^2.6.0", vue@^3.2.0, vue@^3.2.25, vue@^3.5.22, vue@3.5.22:
|
"vue@^3.0.0-0 || ^2.6.0", vue@^3.2.0, vue@^3.2.25, vue@^3.3.0, vue@^3.5.22, vue@3.5.22:
|
||||||
version "3.5.22"
|
version "3.5.22"
|
||||||
resolved "https://registry.npmmirror.com/vue/-/vue-3.5.22.tgz"
|
resolved "https://registry.npmmirror.com/vue/-/vue-3.5.22.tgz"
|
||||||
integrity sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==
|
integrity sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==
|
||||||
|
|||||||
Reference in New Issue
Block a user