- 新接口:PATCH /api/teams/:id 重命名(1-40 字符)、DELETE /api/teams/:id 删除(均仅创建者);删除随外键级联清理成员/共享空间/Mock 接口 - TeamDialog:卡片右上 ✎ 内联重命名、🗑 删除二次确认(红色警示条,明示连带删除范围) - 删除后若当前停留在该团队空间自动切回本地空间 - curl E2E:改名/越权 403/删除/空间级联失效全通过;浏览器验证改名与删除全流程;53 前端测试 + Go 构建通过
42 lines
2.6 KiB
Markdown
42 lines
2.6 KiB
Markdown
# 账号与团队
|
||
|
||
登录后可使用**云端空间**:个人空间「我的空间」与团队共享空间,数据保存在本机服务的 SQLite 数据库(`apps/server/data/opsxapi.db`),不上传任何第三方。
|
||
|
||
## 注册 / 登录
|
||
|
||
最左**活动栏**底部 **登录** 按钮打开弹窗:
|
||
|
||
- 注册只需 昵称 + 邮箱 + 密码(≥ 6 位);
|
||
- 登录态保存在本机,令牌失效会自动清除。
|
||
|
||
## 空间切换
|
||
|
||
活动栏**顶部空间徽标**(未登录时为产品 Logo,云端空间显示彩色徽标)点击弹出空间列表:
|
||
|
||
| 空间 | 说明 |
|
||
| --- | --- |
|
||
| 本地空间 | 未登录时默认;数据在浏览器 localStorage,不上云 |
|
||
| 我的空间 | 个人云端空间,注册即有;换浏览器 / 换设备登录即得同一份数据 |
|
||
| 团队 · ×× | 团队共享空间,成员读写同一份数据 |
|
||
|
||
- 首次切入空的云端空间时,会自动把**当前本地数据播种上去**;
|
||
- 在云端空间内的所有改动(接口、环境、测试用例、设置)**自动同步**(改动后约 1.5 秒),活动栏底部头像上的状态点显示 已同步 / 同步中(闪烁)/ 同步失败(红);
|
||
- 切回本地空间时恢复离开前的本地快照,两端互不覆盖;
|
||
- 同步策略为**后写覆盖**:多人同时编辑以最后一次保存为准。
|
||
|
||
## 团队管理
|
||
|
||
活动栏账号菜单或空间菜单 → **团队管理**:
|
||
|
||
- **新建团队**:创建后自动获得同名共享空间;
|
||
- **重命名 / 删除**:团队卡片右上角的 ✎ / 🗑(仅创建者可见)。重命名就地保存;删除需二次确认,将同时删除成员关系、共享空间与已发布 Mock 数据,不可恢复(若当前正停在该团队空间,会自动切回本地空间);
|
||
- **添加成员**:输入已注册成员邮箱(创建者可操作),邀请时可顺手点选**擅长**预设;成员登录后即可看到并切换到该团队空间;
|
||
- **成员与擅长**:每个团队卡片展示成员列表(头像 / 名称 / 角色 / 擅长标签)。擅长支持预设点选(前端、后端、全栈、测试、运维、移动端、数据库、AI、接口设计、安全)与自定义输入,空格或顿号分隔;创建者可修改任何成员的擅长,成员只能修改自己的(行尾「擅长」按钮)。
|
||
|
||
## 数据与安全
|
||
|
||
- 密码加盐哈希后存储;令牌为随机 Bearer Token,可随时退出登录作废;
|
||
- 云端空间单份数据上限 20MB;
|
||
- 团队空间权限:全体成员可读写,仅创建者可管理成员与修改他人擅长;
|
||
- 不登录不影响任何本地功能。
|