1. 风险分衰减定时任务: - services/scheduler.py: 每天 CST 04:00 自动执行 decay_scores() - 支持 RISK_SCORE_DECAY_TIME_CST 环境变量覆盖 2. 密码长度提示统一为8位: - app-frontend/src/pages/RegisterPage.vue - app-frontend/src/layouts/AppLayout.vue - admin-frontend/src/pages/SettingsPage.vue - templates/register.html 3. 浏览器池统计API: - GET /yuyx/api/browser_pool/stats - 返回 worker 状态、队列等待数等信息 - browser_pool_worker.py: 增强 get_stats() 方法 4. 登录后支持 next 参数回跳: - app-frontend/src/pages/LoginPage.vue: 检查 ?next= 参数 - 仅允许站内路径(防止开放重定向) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
123 lines
2.9 KiB
JSON
123 lines
2.9 KiB
JSON
{
|
|
"_accounts-sBYX3ZUA.js": {
|
|
"file": "assets/accounts-sBYX3ZUA.js",
|
|
"name": "accounts",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"_auth-GozuPnLT.js": {
|
|
"file": "assets/auth-GozuPnLT.js",
|
|
"name": "auth",
|
|
"imports": [
|
|
"index.html"
|
|
]
|
|
},
|
|
"index.html": {
|
|
"file": "assets/index-Dzjm38x5.js",
|
|
"name": "index",
|
|
"src": "index.html",
|
|
"isEntry": true,
|
|
"dynamicImports": [
|
|
"src/pages/LoginPage.vue",
|
|
"src/pages/RegisterPage.vue",
|
|
"src/pages/ResetPasswordPage.vue",
|
|
"src/pages/VerifyResultPage.vue",
|
|
"src/pages/AccountsPage.vue",
|
|
"src/pages/SchedulesPage.vue",
|
|
"src/pages/ScreenshotsPage.vue"
|
|
],
|
|
"css": [
|
|
"assets/index-Dfx-VTPl.css"
|
|
]
|
|
},
|
|
"src/pages/AccountsPage.vue": {
|
|
"file": "assets/AccountsPage-ZOKJprfz.js",
|
|
"name": "AccountsPage",
|
|
"src": "src/pages/AccountsPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_accounts-sBYX3ZUA.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/AccountsPage-CkDdMK5Q.css"
|
|
]
|
|
},
|
|
"src/pages/LoginPage.vue": {
|
|
"file": "assets/LoginPage-BrSs7jRF.js",
|
|
"name": "LoginPage",
|
|
"src": "src/pages/LoginPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html",
|
|
"_auth-GozuPnLT.js"
|
|
],
|
|
"css": [
|
|
"assets/LoginPage-CnwOLKJz.css"
|
|
]
|
|
},
|
|
"src/pages/RegisterPage.vue": {
|
|
"file": "assets/RegisterPage-TozgjjGu.js",
|
|
"name": "RegisterPage",
|
|
"src": "src/pages/RegisterPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html",
|
|
"_auth-GozuPnLT.js"
|
|
],
|
|
"css": [
|
|
"assets/RegisterPage-BOcNcW5D.css"
|
|
]
|
|
},
|
|
"src/pages/ResetPasswordPage.vue": {
|
|
"file": "assets/ResetPasswordPage-CLFescRq.js",
|
|
"name": "ResetPasswordPage",
|
|
"src": "src/pages/ResetPasswordPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html",
|
|
"_auth-GozuPnLT.js"
|
|
],
|
|
"css": [
|
|
"assets/ResetPasswordPage-DybfLMAw.css"
|
|
]
|
|
},
|
|
"src/pages/SchedulesPage.vue": {
|
|
"file": "assets/SchedulesPage-CvQTwIDx.js",
|
|
"name": "SchedulesPage",
|
|
"src": "src/pages/SchedulesPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"_accounts-sBYX3ZUA.js",
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/SchedulesPage-DwfusXou.css"
|
|
]
|
|
},
|
|
"src/pages/ScreenshotsPage.vue": {
|
|
"file": "assets/ScreenshotsPage-BO_6agG8.js",
|
|
"name": "ScreenshotsPage",
|
|
"src": "src/pages/ScreenshotsPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/ScreenshotsPage-D_cIxhyX.css"
|
|
]
|
|
},
|
|
"src/pages/VerifyResultPage.vue": {
|
|
"file": "assets/VerifyResultPage-DAOtFHKf.js",
|
|
"name": "VerifyResultPage",
|
|
"src": "src/pages/VerifyResultPage.vue",
|
|
"isDynamicEntry": true,
|
|
"imports": [
|
|
"index.html"
|
|
],
|
|
"css": [
|
|
"assets/VerifyResultPage-CG6ZYNrm.css"
|
|
]
|
|
}
|
|
} |