mirror of
https://github.com/iflytek/skillhub.git
synced 2026-11-14 09:01:16 +00:00
docs(namespace): clarify invitation recovery and delivery status
Signed-off-by: XiaoSeS <87064762+XiaoSeS@users.noreply.github.com>
This commit is contained in:
parent
d424c91f1f
commit
0c5cdcdb6a
4 changed files with 10 additions and 6 deletions
|
|
@ -190,6 +190,8 @@ POST /api/v1/namespaces/{slug}/unfreeze
|
|||
|
||||
Team Owners and Admins can create a link from **Members → Invite members**. It expires after 24 hours and permits one new member to join. The recipient must sign in, meet existing admission rules, and confirm joining. Replacing an active link or revoking it requires confirmation and does not remove existing members.
|
||||
|
||||
New links use `/join#invite=token`. The creator's account stores the link temporarily in the current browser tab. After refreshing, reopen the invitation dialog to copy it again, provided the server confirms that it is still the current valid invitation. This temporary storage cannot recover the link in another account, tab, or device, and history never returns invitation tokens. If the original link was not saved, create a new invitation and confirm replacement of the old link.
|
||||
|
||||
The dialog includes a read-only history (five records per page, up to 240px tall) showing the creator, creation and expiration times, status, and the account that successfully joined. Snapshot names are displayed first; full account IDs are available on hover, with abbreviated IDs used when names are missing. Each generated invitation has its own record. Replacement, revocation, expiration, or a member leaving does not erase history. History cannot restore expired links and does not indicate current membership. Only the space's Owner/Admin can view it; platform roles do not bypass this restriction. Frozen or archived spaces retain a history-only entry.
|
||||
|
||||
An upgrade imports only the provable current invitation, marked as a legacy record; earlier links are not reconstructed from incomplete audit data. History remains while the space exists and is deleted when the space is permanently deleted. Existing audit records follow their original retention rules.
|
||||
|
|
|
|||
|
|
@ -190,6 +190,8 @@ POST /api/v1/namespaces/{slug}/unfreeze
|
|||
|
||||
团队空间的 Owner/Admin 可在“成员 → 邀请成员”生成24小时有效、仅一名新成员可使用的链接。对方须先登录并通过平台准入,再确认加入;仅打开链接不会自动成为成员。替换有效链接和作废须确认,已加入成员不受影响。
|
||||
|
||||
新链接采用 `/join#invite=邀请码`。创建人的同一账号、同一浏览器标签页会暂存链接;刷新页面后重新打开邀请弹窗,系统校验它仍是当前有效邀请后可继续复制。换账号、换标签页或换设备不能依靠这份暂存恢复原链接,邀请历史也不返回邀请码;如果没有保存原链接,需要创建新邀请,并在替换前确认旧链接失效。
|
||||
|
||||
弹窗下方直接展示分页邀请记录(网页每页5条,列表最高240px):创建人及时间、到期时间、状态,以及实际加入账号与时间。人员优先显示记录时保存的姓名,完整账号ID放在悬停提示;无姓名时显示短标识。每次生成独立记录,替换、作废、过期和成员离开不会抹掉原历史。历史不能恢复失效链接,也不代表当前成员资格。普通成员和仅有平台角色的账号不能查看,冻结/归档空间的 Owner/Admin 可查看只读历史。
|
||||
|
||||
升级只迁入可以准确读取的当前邀请并标记“旧记录”,不推测更早链接的使用情况。空间存在期间保留历史,彻底删除空间时删除邀请业务记录,既有操作审计按原规则保留。
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
- 根路径及子路径部署都要验证分享 URL、登录回跳和 fragment 清理。
|
||||
- API Token、跨团队管理员、平台角色和禁用账号的越权路径需明确拒绝。
|
||||
|
||||
## 管理交互与具名片段(2026-10-13,已确认,实施中)
|
||||
## 管理交互与具名片段(2026-10-13,已随 PR #947 交付)
|
||||
|
||||
新分享地址为 `/join#invite=<token>`,兼容原 `/join#<token>`。进入页仍在登录跳转前同步捕获并清片段,Token不进入HTTP路径、查询、returnTo或日志。新片段无效时清旧暂存Token,无片段登录回跳才恢复暂存值。
|
||||
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@
|
|||
|
||||
验证结果以 PR #947 的检查和交付验收记录为准。真实讯飞/阿里云计费审核接口未发起调用。
|
||||
|
||||
## 4. 人工反馈后的管理交互(2026-10-13,实施中)
|
||||
## 4. 人工反馈后的管理交互(2026-10-13,已随 PR #947 交付)
|
||||
|
||||
- [ ] 4.1 生成具名邀请片段并兼容旧链接,覆盖无效片段、暂存恢复和BASE_PATH。
|
||||
- [ ] 4.2 收拢空间卡片,提供管理详情导航,将邀请集中成员、治理集中设置。
|
||||
- [ ] 4.3 验证普通成员/团队管理/平台审核权限及邀请完整浏览器流程,更新唯一预览。
|
||||
- [x] 4.1 生成具名邀请片段并兼容旧链接,覆盖无效片段、暂存恢复和BASE_PATH。
|
||||
- [x] 4.2 收拢空间卡片,提供管理详情导航,将邀请集中成员、治理集中设置。
|
||||
- [x] 4.3 验证普通成员/团队管理/平台审核权限及邀请完整浏览器流程,更新唯一预览。
|
||||
|
||||
|
||||
## 5. 邀请历史(2026-10-14,方案已确认,实施中)
|
||||
## 5. 邀请历史(2026-10-14,已随 PR #947 交付)
|
||||
|
||||
- [x] 5.1 确认每次生成独立记录、真实加入关联和空间OWNER/ADMIN查看权限,写入REQ-INV-08/09。
|
||||
- [x] 5.2 确认保存期限、旧数据、成员/账号/空间变更边界及交互,补齐设计和REQ-INV-10验收标准。
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue