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

@@ -0,0 +1,32 @@
<script setup>
defineProps({
status: { type: String, default: 'unbound' }
})
</script>
<template>
<section class="panel creator-guide">
<template v-if="status === 'need-target'">
<h3 class="creator-guide-title">请选择要代看的创作者</h3>
<p class="creator-guide-text">
你这个账号是后台账号,未绑定创作者主体,但拥有「代看创作者」权限。
在页面顶部的「当前创作者」下拉里选一位,即可只读查看他的作品、分集、收费与数据看板。
</p>
<p class="creator-guide-text">代看是只读的:编辑、上传、提交审核、改价等写操作都会被拒绝。</p>
</template>
<template v-else>
<h3 class="creator-guide-title">当前账号还没有创作者身份</h3>
<p class="creator-guide-text">
创作者中心只能由「已绑定创作者主体的后台账号」进入:先完成创作者入驻审核,再由运营把后台账号绑定到这个创作者主体上。
</p>
<ul class="creator-guide-list">
<li>入驻与审核:运营在后台「创作者管理 → 创作者入驻」里审核主体与资质。</li>
<li>账号绑定:审核通过后由运营(或 DBA)在 `creator.admin_user_id` 上绑定你的后台账号。</li>
<li>绑定后重新登录,就能看到自己的作品、分集、收费配置与数据看板。</li>
</ul>
<p class="creator-guide-text console-muted">
如果你需要只读查看其他创作者的数据,请联系管理员开通「代看创作者」权限。
</p>
</template>
</section>
</template>