feat(web): 创作者中心「当前创作者」代看下拉 + 未绑定引导页

为什么:超管点进创作者中心原本是一片"未绑定创作者主体"的报错,既没说明原因也没有出路。
这批把两件事做出来:超管能在顶部选一个创作者只读代看;没有创作者身份的账号看到明确的引导页而不是白屏。

- 新增 useCreatorAccess(身份三态:granted / need-target / unbound)+ ImpersonationBar + CreatorAccessGuide,
  四个页面用 CreatorCenterPage 统一套壳;身份不满足时不打业务接口,避免一串无意义的报错提示
- 代看目标存 localStorage,由 axios.request 统一给 /admin/creator-center 的请求加 X-Creator-Id 头
  (不做查询参数;后端只对具备 impersonate 权限的账号认这个头)
- axios 支持 silent 请求:业务码非 0 时不弹全局提示、把 Result 交给调用方判断(引导页据此分流)
- 代看只读体验:代看态下「新建作品 / 编辑 / 提交审核 / 撤回」不渲染,编辑页整页禁用并提示原因
- 顶部下拉只在有 impersonate 权限时显示;无权限账号看不到、也不会请求 targets 接口
This commit is contained in:
Vicky committed 2026-10-15 15:25:53 +08:00
1 parent 0a2e3e0b81
commit 685c912313
19 files changed
+995 -658

No files matched your search

+53
View File
@@ -217,6 +217,59 @@
font-size: 13px;
}
/* 超管代看:顶部「当前创作者」下拉 */
.creator-impersonate-bar {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
padding: 10px 14px;
margin-bottom: 14px;
border: 1px solid #f0e6cf;
border-radius: 6px;
background: #fdf9ef;
}
.creator-impersonate-select {
width: 280px;
}
/* 未绑定 / 未选目标时的引导页 */
.creator-guide {
max-width: 720px;
}
.creator-guide-title {
margin: 0 0 10px;
color: #302d44;
font-size: 15px;
font-weight: 650;
}
.creator-guide-text {
margin: 0 0 10px;
color: #727983;
font-size: 13px;
line-height: 1.7;
}
.creator-guide-list {
margin: 0 0 10px;
padding-left: 18px;
color: #727983;
font-size: 13px;
line-height: 1.8;
}
html.dark .creator-impersonate-bar {
border-color: var(--el-border-color-light);
background: var(--el-fill-color-light);
}
html.dark .creator-guide-title {
color: var(--el-text-color-primary);
}
html.dark .creator-profile-name,
html.dark .creator-profile-meta b,
html.dark .creator-drama-title,