新增 有家相册 uni-app 前端(uniapp/youjiala,H5 / 微信小程序 / App 三端)

从旧 WebVue 移植的地基部分:
- 登录页(RSA+MD5 密码加密、redirect 回跳、中英文切换)与登录后落地页
- 401 / 403 / 404 错误页 + error-panel 通用外壳(文案走 ErrorPage 语言包)
- 登录守卫双链路:uni.addInterceptor 拦站内跳转,页面级 onShow 复核冷启动深链
- 单一请求链路 common/http.interceptor:JWT 唯一来源、401 并发刷新单例、
  业务异常识别、HTTP 403 跳无权限页
- H5 干净短地址:initRouter 前向 __uniRoutes 追加克隆记录(router/h5-clean-url)
- 路由登记表 router/routes.ts(PAGE_PATHS / pageUrl / PAGE_PERMISSIONS)
  与新增页面四步登记约定(src/md/page-routing.md)
- i18n:uView Pro 语言包 + 后端词条合并,双取值(后端 zh-cn/en,包名 zh-CN/en-US)
- 后端接口层 service/ 与数据模型 data/auto/ 为生成器产物,不手改

不入库的内容:
- 摘除脚手架残留的 Harmony 签名密码(manifest.json signingConfigs 与
  harmony-configs/build-profile.json5 的 keyPassword / storePassword 已置空)
- 忽略 node_modules、dist、unpackage、.hbuilderx、.agents、pnpm-lock.yaml
  及根目录临时截图
This commit is contained in:
owenchen committed 2026-10-13 08:27:34 +08:00
1 parent 74757f9eb4
commit 6a8258ac4b
274 files changed
+30291

No files matched your search

@@ -0,0 +1,42 @@
{
"name": "en-US",
"LoginForm": {
"userLabel": "User ID:",
"passwordLabel": "Password:",
"loginBut": "Login",
"cancelBut": "Cancel",
"cultureLabel": "Language:"
},
"ErrorPage": {
"reasonsTitle": "Possible reasons",
"fromLabel": "Failed address:",
"goLoginBut": "Sign in",
"reloginBut": "Sign in again",
"goHomeBut": "Back to home",
"goBackBut": "Go back",
"badge401": "UNAUTHORIZED · Not signed in",
"title401": "You need to sign in first",
"desc401": "Your session has expired, or you have not signed in yet. Sign in again to continue.",
"hint401": "Note: signing out on another device also invalidates this one.",
"r401_1": "Session expired: idle for too long, or the access token has expired",
"r401_2": "You signed out on another device or tab, so this device was invalidated",
"r401_3": "The browser cleared local data (private mode, cleared cache, another browser)",
"r401_4": "An administrator just changed your account information (password, phone number)",
"badge403": "FORBIDDEN · No permission",
"title403": "You have no permission for this page",
"desc403": "Your account is fine, but your role / permission group has not been granted this function.",
"hint403": "Note: permissions are assigned by administrators and take effect only after signing in again.",
"r403_1": "Your role / permission group does not include this function",
"r403_2": "The function has not been authorized in the backend, so the entry is visible but won't open",
"r403_3": "Permissions were just changed, and your local data still holds the old ones",
"r403_4": "Someone shared their link with you, but your account lacks the matching permission",
"badge404": "NOT FOUND · Page missing",
"title404": "This page does not exist",
"desc404": "The address may be wrong, or the page is no longer part of the system.",
"hint404": "Note: functions without permission are hidden from the menu, and opening their address lands here.",
"r404_1": "The address is misspelled, or was truncated when copied from chat or email",
"r404_2": "The function is not exposed in the menu (no such route in the system)",
"r404_3": "The page was taken offline or renamed, while your bookmark still holds the old address",
"r404_4": "The server just restarted and the menu has not loaded yet — refresh once"
}
}