- team_members 新增 specialty 列(老库自动 ALTER 迁移,幂等) - 新接口:GET /api/teams/:id/members 成员列表(仅成员可看)、PUT /api/teams/:id/members/:uid 更新擅长(创建者可改他人,成员仅改自己);邀请接口支持带擅长 - TeamDialog 重构:团队卡片内成员列表(头像/名称/邮箱/角色/彩色擅长 chip,超 3 个折叠 +N)、行内擅长编辑器(10 个预设点选 + 自定义输入)、邀请时顺手点选擅长预设 - 文档 20-account 同步更新(含活动栏新导航说明) - curl E2E:邀请带擅长/创建者改他人/自改/越权与非成员 403 全部通过;53 前端测试 + Go 测试全绿
41 lines
2.3 KiB
Markdown
41 lines
2.3 KiB
Markdown
# 账号与团队
|
||
|
||
登录后可使用**云端空间**:个人空间「我的空间」与团队共享空间,数据保存在本机服务的 SQLite 数据库(`apps/server/data/opsxapi.db`),不上传任何第三方。
|
||
|
||
## 注册 / 登录
|
||
|
||
最左**活动栏**底部 **登录** 按钮打开弹窗:
|
||
|
||
- 注册只需 昵称 + 邮箱 + 密码(≥ 6 位);
|
||
- 登录态保存在本机,令牌失效会自动清除。
|
||
|
||
## 空间切换
|
||
|
||
活动栏**顶部空间徽标**(未登录时为产品 Logo,云端空间显示彩色徽标)点击弹出空间列表:
|
||
|
||
| 空间 | 说明 |
|
||
| --- | --- |
|
||
| 本地空间 | 未登录时默认;数据在浏览器 localStorage,不上云 |
|
||
| 我的空间 | 个人云端空间,注册即有;换浏览器 / 换设备登录即得同一份数据 |
|
||
| 团队 · ×× | 团队共享空间,成员读写同一份数据 |
|
||
|
||
- 首次切入空的云端空间时,会自动把**当前本地数据播种上去**;
|
||
- 在云端空间内的所有改动(接口、环境、测试用例、设置)**自动同步**(改动后约 1.5 秒),活动栏底部头像上的状态点显示 已同步 / 同步中(闪烁)/ 同步失败(红);
|
||
- 切回本地空间时恢复离开前的本地快照,两端互不覆盖;
|
||
- 同步策略为**后写覆盖**:多人同时编辑以最后一次保存为准。
|
||
|
||
## 团队管理
|
||
|
||
活动栏账号菜单或空间菜单 → **团队管理**:
|
||
|
||
- **新建团队**:创建后自动获得同名共享空间;
|
||
- **添加成员**:输入已注册成员邮箱(创建者可操作),邀请时可顺手点选**擅长**预设;成员登录后即可看到并切换到该团队空间;
|
||
- **成员与擅长**:每个团队卡片展示成员列表(头像 / 名称 / 角色 / 擅长标签)。擅长支持预设点选(前端、后端、全栈、测试、运维、移动端、数据库、AI、接口设计、安全)与自定义输入,空格或顿号分隔;创建者可修改任何成员的擅长,成员只能修改自己的(行尾「擅长」按钮)。
|
||
|
||
## 数据与安全
|
||
|
||
- 密码加盐哈希后存储;令牌为随机 Bearer Token,可随时退出登录作废;
|
||
- 云端空间单份数据上限 20MB;
|
||
- 团队空间权限:全体成员可读写,仅创建者可管理成员与修改他人擅长;
|
||
- 不登录不影响任何本地功能。
|