fix(studio): 清除 stale「绘境/Huijing」品牌串 → 造梦AI(品牌统一,rename 收尾)

E6 走查逮到 6 处用户可见旧品牌串(profile 昵称默认/locale brand/mock 文案),违项目品牌口径(品牌=造梦AI,绘境/huijing 已彻底淘汰除 git 历史):
- locales zh/en brand: 绘境AI/Huijing AI → 造梦AI(en 取与 index.html <title> 一致的 CJK 品牌,仓内无既定罗马化)
- mock project/community/feed 文案 + store/user 默认昵称「绘境创作者」→「造梦创作者」
- 仅字符串字面值,零逻辑改;grep 实证 src 内 绘境/Huijing 归零

验证:`npm run build` 绿。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
lili 2026-06-17 16:27:52 -07:00
parent 15b7702865
commit e71f2efc1a
6 changed files with 7 additions and 7 deletions

View File

@ -3,7 +3,7 @@
*/
export default {
common: {
brand: 'Huijing AI',
brand: '造梦AI',
nav: { feed: 'Feed', create: 'Create', message: 'Inbox', me: 'Me', discover: 'Discover' },
action: { play: 'Play now', share: 'Share', save: 'Save', submit: 'Submit', cancel: 'Cancel', confirm: 'Confirm', back: 'Back', retry: 'Retry', more: 'More', prev: 'Previous', next: 'Next' },
state: { loading: 'Loading', empty: 'Nothing here yet', saved: 'Saved', failed: 'Failed', success: 'Success' },

View File

@ -4,7 +4,7 @@
*/
export default {
common: {
brand: '绘境AI',
brand: '造梦AI',
nav: { feed: '游戏流', create: '创作', message: '消息', me: '我的', discover: '发现' },
action: { play: '立即玩', share: '分享', save: '保存', submit: '提交', cancel: '取消', confirm: '确定', back: '返回', retry: '重试', more: '更多', prev: '上一个', next: '下一个' },
state: { loading: '加载中', empty: '这里还没有内容', saved: '已保存', failed: '失败', success: '成功' },

View File

@ -24,7 +24,7 @@ import type {
/** 四类消息标题/正文词库(拼出有辨识度的 demo 文案) */
const TYPE_SAMPLES: Record<CommunityMsgType, { title: string; content: string }[]> = {
1: [
{ title: '欢迎来到绘境AI', content: '完善资料、发布你的第一个作品,开启创作之旅。' },
{ title: '欢迎来到造梦AI', content: '完善资料、发布你的第一个作品,开启创作之旅。' },
{ title: '账号安全提醒', content: '检测到你在新设备登录,如非本人操作请及时修改密码。' },
],
2: [

View File

@ -41,7 +41,7 @@ function cover(seed: number, title: string): string {
<rect width="375" height="640" fill="url(#g)"/>
<circle cx="300" cy="120" r="90" fill="${accent}" opacity="0.12"/>
<text x="28" y="540" fill="#eef6ff" font-size="30" font-family="sans-serif" font-weight="700">${title}</text>
<text x="28" y="575" fill="${accent}" font-size="15" font-family="sans-serif"> demo </text></svg>`
<text x="28" y="575" fill="${accent}" font-size="15" font-family="sans-serif"> demo </text></svg>`
return `data:image/svg+xml;utf8,${encodeURIComponent(svg)}`
}
@ -182,7 +182,7 @@ function shareHandler(req: MockRequest): ShareMeta {
shareUrl: `https://wanxiang.ai/share/${gameId}?utm_source=${encodeURIComponent(channel)}`,
ogTitle: `来玩《${title}`,
ogImage: cover(gameId, title),
ogDescription: '绘境AI 一句话生成的小游戏,点开即玩',
ogDescription: '造梦AI 一句话生成的小游戏,点开即玩',
channel,
}
}

View File

@ -49,7 +49,7 @@ function ensureSeed() {
projects.set(id, {
id,
title: s.title,
summary: '绘境AI 生成的小游戏 demo',
summary: '造梦AI 生成的小游戏 demo',
coverUrl: '',
tags: ['休闲', 'demo'],
templateId: s.templateId,

View File

@ -86,7 +86,7 @@ export const useUserStore = defineStore('user', () => {
/** 用户 ID真实登录持久化优先否则 mock 固定 '1001' */
const userId = ref<string>(resolveInitUserId())
/** 昵称(真实登录持久化优先,否则 mock 默认) */
const nickname = ref<string>(lsGet(LS_NICKNAME) ?? '绘境创作者')
const nickname = ref<string>(lsGet(LS_NICKNAME) ?? '造梦创作者')
/** 头像mock 固定占位passport 暂不回头像,保留内存态) */
const avatar = ref<string>('')
/** 创作者白名单位0玩家 1创作者拍板4前端据此渲染创作入口。真实登录持久化优先否则 0。 */