Skip to content

Latest commit

 

History

History
71 lines (58 loc) · 3.81 KB

File metadata and controls

71 lines (58 loc) · 3.81 KB

V3 版本更新日志

简介

V3 版本围绕“账户体系 + 管理后台 + 权限与体验”进行重构与增强,新增用户登录系统、三层权限模型、统一风格的管理后台二级页面,以及更完善的错误提示与演示模式。

关键更新

1) 账户与权限

  • 三层权限
    • 严格管理员(ENV: ADMIN_NAME,默认 admin):可登录后台、查看全量邮箱;其置顶为“用户级”并互不干扰;具备最高操作权限。
    • 高级用户(数据库 role=admin):仅能管理分配给自己的邮箱,默认上限 20,默认允许发信;不可访问用户管理后台入口。
    • 普通用户(数据库 role=user):最低权限,默认上限 10,默认不允许发信;删除邮箱会提示“没权限删除”。
  • 登录接口会在返回体与 JWT 中携带 roleuserIdcan_sendmailbox_limit 等字段,前端据此进行 UI 呈现与权限控制。

2) 管理后台(Admin)

  • 用户列表:
    • 操作区精简为“邮箱”“编辑”两按钮;
    • 新增“能否发件”列;
    • 列宽优化以完整显示“创建时间”;
    • “刷新”按钮移到“用户列表”标题栏最右侧。
  • 编辑用户(自定义二级页面/模态):
    • 表单栅格化布局,标题处显示当前用户名;
    • “角色”“允许发件”改为勾选开关;
    • 新增“更新用户”手动保存、“重置密码”“修改用户名”;
    • 底部按钮固定可见,点击空白可关闭(不保存);
    • 删除用户采用自定义确认框。
  • 分配邮箱:支持一次性输入多行邮箱地址进行批量分配(每行一个)。

3) 首页体验

  • 历史邮箱标题旁显示配额:已用 / 总数(来自 /api/user/quota)。
  • 置顶(📍/📌):
    • 置顶状态改为用户级(表 user_mailboxes.is_pinned),不同用户互不影响;
    • 严格管理员与普通/高级用户均可对“自己绑定的邮箱”置顶;
    • 列表按置顶优先、再按时间排序。
  • 删除权限:普通用户删除返回“没权限删除”,前端 toast 清晰提示。
  • 角色徽标:在顶部展示“普通用户/高级用户/超级管理员”状态与用户名。
  • 管理入口:仅严格管理员和访客演示模式可见。

4) 演示/Mock 模式

  • 使用内置 MOCK_DOMAINS 生成演示邮箱,不调用真实 API 域名;
  • 初始化生成多个演示用户,并为每个用户生成多条邮箱,便于展示历史列表与置顶交互。

5) 错误与交互

  • 达到邮箱上限时,/api/generate/api/create 返回 400,前端改为警告提示而非成功;
  • 普通用户删除邮箱返回 403 并提示“没权限删除”。

相关配置

  • ADMIN_NAME:严格管理员用户名(默认 admin)。
  • ADMIN_PASSWORD:严格管理员密码。
  • MAIL_DOMAIN:可配置多个域名(逗号/空格分隔)。

截图

以下为对应功能的界面展示: 用户登陆页-首页 用户管理-首页 分配邮箱(单个) 分配邮箱(多个) 编辑用户信息 删除用户确认 删除失败示例 邮箱上限提示

主要涉及文件

  • 前端:public/app.jspublic/admin.htmlpublic/admin.csspublic/admin.jspublic/templates/app.html
  • 后端:src/server.jssrc/apiHandlers.jssrc/database.js

备注

  • 若从旧版本升级,首次运行会自动迁移需要的字段(如 user_mailboxes.is_pinned)。
  • 若从旧版本升级,报错无法加载等等,尝试重置D1数据库