fix: 订阅模式登录验证、永久会员类型区分、动态代码HTTP返回值修复、侧边栏滚动位置保持

- 修复订阅模式登录时错误检查余额的问题
- 区分无限余额和永久订阅两种永久会员类型
- 修复动态代码HTTP请求返回值在JS中无法正确访问的问题
- 添加侧边栏滚动位置保持功能
- 移除developer角色相关代码,统一使用admin
- 添加缺失的i18n翻译key
This commit is contained in:
2026-05-01 16:39:31 +08:00
parent c0edb32614
commit ea8ffb6c74
69 changed files with 554 additions and 369 deletions
+71 -11
View File
@@ -27,6 +27,7 @@
"ban": "Ban",
"unban": "Unban",
"cancel": "Cancel",
"confirm": "Confirm",
"refresh": "Refresh",
"loading": "Loading...",
"totalRecords": "{count} records in total",
@@ -194,7 +195,7 @@
"activeRate": "Active Rate",
"searchPlaceholder": "Search username, email, device ID...",
"allRoles": "All Roles",
"developer": "Admin",
"admin": "Admin",
"agent": "Agent",
"allStatus": "All Status",
"active": "Active",
@@ -219,6 +220,15 @@
"password": "Password",
"passwordPlaceholder": "Leave empty to keep current",
"passwordHint": "Leave empty to keep current password",
"preview": "Preview",
"app": "Application",
"usernameLabel": "Username",
"emailLabel": "Email",
"saveBtn": "Save Changes",
"cancel": "Cancel",
"usernameRequired": "Please enter username",
"emailRequired": "Please enter email",
"applicationRequired": "Please select application",
"deviceId": "Device ID",
"deviceIdPlaceholder": "Device ID (optional)",
"preview": "Preview",
@@ -259,6 +269,35 @@
"balanceUpdateFailed": "Failed to update",
"invalidAmount": "Please enter a valid value"
},
"create": {
"title": "Create User",
"description": "Create a new user account for an application with basic information and application association",
"basicInfo": "Basic Information",
"basicInfoDesc": "Fill in user basic information",
"application": "Application",
"selectApplication": "Select application",
"username": "Username",
"usernamePlaceholder": "Enter username",
"email": "Email",
"emailPlaceholder": "Enter email",
"password": "Password",
"passwordPlaceholder": "Enter password",
"preview": "Preview",
"app": "Application",
"usernameLabel": "Username",
"emailLabel": "Email",
"submit": "Create User",
"cancel": "Cancel",
"usernameRequired": "Please enter username",
"emailRequired": "Please enter email",
"passwordRequired": "Please enter password",
"applicationRequired": "Please select application",
"success": "User created successfully",
"failed": "Failed to create user",
"saveBtn": "Save Changes"
},
"editFailed": "Failed to load user info",
"editSuccess": "User updated successfully",
"resetPassword": "Reset Password",
"resetPasswordDesc": "Set a new password for user \"{username}\"",
"newPassword": "New Password",
@@ -561,7 +600,7 @@
"totalOrders": "Total Orders",
"totalRevenue": "Total Revenue",
"onlineUsers": "Online Users",
"totalDevelopers": "Admins",
"totalAdmins": "Admins",
"totalApps": "Applications",
"totalVisitors": "Visitors",
"totalKeys": "Keys",
@@ -580,7 +619,7 @@
"loading": "Loading...",
"charts": {
"userGrowth": "User Growth",
"userGrowthDesc": "Showing user and developer growth trends",
"userGrowthDesc": "Showing user and admin growth trends",
"orderTrend": "Order Trend",
"orderTrendDesc": "Showing order count and revenue trends",
"selectTimeRange": "Select time range",
@@ -900,7 +939,7 @@
}
},
"welcomeBack": "Welcome back",
"developer": "Admin",
"adminRole": "Admin",
"loading": "Loading",
"totalApplications": "Total Applications",
"totalCards": "Total Cards",
@@ -995,7 +1034,7 @@
"loginPolicy": "Login Policy",
"loginPolicyDesc": "Set user login verification policy",
"looseMode": "Loose Mode",
"looseModeDesc": "Expired users can login, developer controls features",
"looseModeDesc": "Expired users can login, admin controls features",
"strictMode": "Strict Mode",
"strictModeDesc": "Must be unexpired to login",
"hybridMode": "Hybrid Mode",
@@ -1081,8 +1120,11 @@
"batchUpdateSuccess": "Batch updated successfully",
"batchUpdateFailed": "Failed to batch update",
"select": "Select",
"editFailed": "Failed to load card type",
"editSuccess": "Card type updated successfully",
"create": {
"title": "Create Card Type",
"description": "Create a new card type with basic information and recharge configuration",
"basicInfo": "Basic Information",
"basicInfoDesc": "Fill in the basic information of the card type",
"billingConfig": "Billing Configuration",
@@ -1127,7 +1169,22 @@
"createFailed": "Failed to create",
"saveSuccess": "Saved successfully",
"saveFailed": "Failed to save",
"editTitle": "Edit Card Type"
"editTitle": "Edit Card Type",
"rechargeConfig": "Recharge Configuration",
"rechargeConfigDesc": "Set card recharge type and amount",
"rechargeType": "Recharge Type",
"balanceRecharge": "Balance Recharge",
"balanceRechargeDesc": "Recharge account balance, suitable for time/count mode",
"subscriptionRecharge": "Subscription Recharge",
"subscriptionRechargeDesc": "Recharge membership duration, suitable for subscription mode",
"permanentLabel": "Permanent Member",
"permanentLabelDesc": "When enabled, users with this card will become permanent members",
"rechargeAmount": "Recharge Amount",
"rechargeAmountDesc": "Balance amount user receives after recharge",
"rechargeDuration": "Recharge Duration",
"durationUnit": "Duration Unit",
"saveBtn": "Save Changes",
"passwordHint": "Leave empty to keep current password"
},
"columns": {
"cardKey": "Card Key",
@@ -1872,9 +1929,9 @@
"permissionTitle": "Write Permission",
"permissionDesc": "Set who can modify this variable's value",
"writePermission": "Write Permission",
"developerOnly": "Developer Only",
"developerOnlyDesc": "Only developers can modify this variable's value via API or dashboard",
"developerOnlyAppDesc": "Only developers can modify this global variable's value via API or dashboard",
"adminOnly": "Admin Only",
"adminOnlyDesc": "Only admins can modify this variable's value via API or dashboard",
"adminOnlyAppDesc": "Only admins can modify this global variable's value via API or dashboard",
"userWritable": "User Writable",
"userWritableDesc": "Users can modify their own variable values via client API",
"userWritableAppDesc": "Users can modify this global variable value via client API, changes affect all users",
@@ -1921,6 +1978,9 @@
"batchUpdateSuccess": "Batch update successful",
"batchUpdateFailed": "Batch update failed",
"select": "Select",
"edit": "Edit",
"editSuccess": "Updated successfully",
"editFailed": "Failed to fetch cloud function",
"columns": {
"name": "Name",
"application": "Application",
@@ -1951,6 +2011,7 @@
"status": "Status",
"preview": "Preview",
"submitBtn": "Submit",
"saveBtn": "Save",
"cancelBtn": "Cancel",
"submitSuccess": "Created successfully",
"submitFailed": "Failed to create"
@@ -2248,9 +2309,8 @@
"smsSettings": "SMS Service",
"paymentSettings": "Payment Settings",
"profile": "Profile",
"developerDashboard": "Admin Dashboard",
"agentDashboard": "Agent Dashboard",
"adminDashboard": "Admin Dashboard",
"agentDashboard": "Agent Dashboard",
"logout": "Logout",
"login": "Login",
"register": "Register",
+69 -9
View File
@@ -27,6 +27,7 @@
"ban": "封禁",
"unban": "解封",
"cancel": "取消",
"confirm": "确认",
"refresh": "刷新",
"loading": "加载中...",
"totalRecords": "共 {count} 条记录",
@@ -194,7 +195,7 @@
"activeRate": "活跃率",
"searchPlaceholder": "搜索用户名、邮箱、设备指纹...",
"allRoles": "全部角色",
"developer": "管理员",
"admin": "管理员",
"agent": "代理商",
"allStatus": "全部状态",
"active": "正常",
@@ -219,6 +220,15 @@
"password": "密码",
"passwordPlaceholder": "留空则不修改",
"passwordHint": "留空则不修改密码",
"preview": "预览",
"app": "应用",
"usernameLabel": "用户名",
"emailLabel": "邮箱",
"saveBtn": "保存修改",
"cancel": "取消",
"usernameRequired": "请输入用户名",
"emailRequired": "请输入邮箱",
"applicationRequired": "请选择应用",
"deviceId": "设备指纹",
"deviceIdPlaceholder": "设备指纹(可选)",
"preview": "预览",
@@ -259,6 +269,35 @@
"balanceUpdateFailed": "更新失败",
"invalidAmount": "请输入有效的数值"
},
"create": {
"title": "创建用户",
"description": "为应用创建新的用户账号,设置基本信息和应用关联",
"basicInfo": "基本信息",
"basicInfoDesc": "填写用户的基本信息",
"application": "所属应用",
"selectApplication": "请选择应用",
"username": "用户名",
"usernamePlaceholder": "请输入用户名",
"email": "邮箱",
"emailPlaceholder": "请输入邮箱",
"password": "密码",
"passwordPlaceholder": "请输入密码",
"preview": "预览",
"app": "应用",
"usernameLabel": "用户名",
"emailLabel": "邮箱",
"submit": "创建用户",
"cancel": "取消",
"usernameRequired": "请输入用户名",
"emailRequired": "请输入邮箱",
"passwordRequired": "请输入密码",
"applicationRequired": "请选择应用",
"success": "创建成功",
"failed": "创建失败",
"saveBtn": "保存修改"
},
"editFailed": "获取用户信息失败",
"editSuccess": "更新用户成功",
"resetPassword": "重置密码",
"resetPasswordDesc": "为用户「{username}」设置新密码",
"newPassword": "新密码",
@@ -562,7 +601,7 @@
"totalOrders": "总订单",
"totalRevenue": "总收入",
"onlineUsers": "在线用户",
"totalDevelopers": "管理员",
"totalAdmins": "管理员",
"totalApps": "应用",
"totalVisitors": "访客",
"totalKeys": "卡密",
@@ -901,7 +940,7 @@
}
},
"welcomeBack": "欢迎回来",
"developer": "管理员",
"adminRole": "管理员",
"loading": "加载中",
"totalApplications": "应用总数",
"totalCards": "卡密总数",
@@ -1355,8 +1394,11 @@
"batchUpdateSuccess": "批量更新成功",
"batchUpdateFailed": "批量更新失败",
"select": "选择",
"editFailed": "获取卡类信息失败",
"editSuccess": "更新卡类成功",
"create": {
"title": "创建卡类",
"description": "创建新的卡密类型,设置基本信息和充值配置",
"basicInfo": "基本信息",
"basicInfoDesc": "填写卡类的基本信息",
"billingConfig": "充值配置",
@@ -1390,7 +1432,22 @@
"createFailed": "创建失败",
"saveSuccess": "保存成功",
"saveFailed": "保存失败",
"editTitle": "编辑卡类"
"editTitle": "编辑卡类",
"rechargeConfig": "充值配置",
"rechargeConfigDesc": "设置卡密的充值类型和金额",
"rechargeType": "充值类型",
"balanceRecharge": "余额充值",
"balanceRechargeDesc": "充值账户余额,适用于计时/计次模式",
"subscriptionRecharge": "订阅充值",
"subscriptionRechargeDesc": "充值会员时长,适用于订阅模式",
"permanentLabel": "永久会员",
"permanentLabelDesc": "开启后,使用此卡密的用户将成为永久会员",
"rechargeAmount": "充值金额",
"rechargeAmountDesc": "用户充值后获得的余额数量",
"rechargeDuration": "充值时长",
"durationUnit": "时长单位",
"saveBtn": "保存修改",
"passwordHint": "留空则不修改密码"
},
"columns": {
"name": "类型名称",
@@ -1859,9 +1916,9 @@
"permissionTitle": "写入权限",
"permissionDesc": "设置谁可以修改此变量的值",
"writePermission": "写入权限",
"developerOnly": "仅管理员",
"developerOnlyDesc": "只有管理员可以通过API或后台修改此变量的值",
"developerOnlyAppDesc": "只有管理员可以通过API或后台修改此全局变量的值",
"adminOnly": "仅管理员",
"adminOnlyDesc": "只有管理员可以通过API或后台修改此变量的值",
"adminOnlyAppDesc": "只有管理员可以通过API或后台修改此全局变量的值",
"userWritable": "用户可写",
"userWritableDesc": "用户可以通过客户端API修改自己的变量值",
"userWritableAppDesc": "用户可以通过客户端API修改此全局变量的值,修改后对所有用户生效",
@@ -1908,6 +1965,9 @@
"batchUpdateSuccess": "批量更新成功",
"batchUpdateFailed": "批量更新失败",
"select": "选择",
"edit": "编辑",
"editSuccess": "更新成功",
"editFailed": "获取云端函数失败",
"columns": {
"name": "名称",
"application": "应用",
@@ -1938,6 +1998,7 @@
"status": "状态",
"preview": "预览",
"submitBtn": "提交",
"saveBtn": "保存",
"cancelBtn": "取消",
"submitSuccess": "创建成功",
"submitFailed": "创建失败"
@@ -2235,9 +2296,8 @@
"smsSettings": "短信服务",
"paymentSettings": "支付配置",
"profile": "个人中心",
"developerDashboard": "管理后台",
"agentDashboard": "代理后台",
"adminDashboard": "管理后台",
"agentDashboard": "代理后台",
"logout": "退出登录",
"login": "登录",
"register": "注册",