Skip to content

feat: OSS 图片参数化优化 + skill 强制自我更新引导 - #1

Merged
LingXuanYin merged 2 commits into
mainfrom
feat/oss-image-optim-and-skill-self-update
Aug 17, 2026
Merged

LingXuanYin merged 2 commits into
mainfrom
feat/oss-image-optim-and-skill-self-update

Conversation

@LingXuanYin

Copy link
Copy Markdown
Collaborator

Summary

  • 新增 ossImage()/ossImageSrcSet():按渲染宽度 + 设备像素比拼接 OSS x-oss-process(resize/format/quality),与公司其余前端(weapp/event/bff 的 getImageLink)同一套约定,避免内嵌页图片原图直出。scaffold App.tsx 示例、SKILL.md、cheatsheet 已同步改用它包 coverUrl/avatarUrl。
  • skill/、skill-internal-publish/ 两处 SKILL.md 顶部新增强制自我更新步骤:每次执行前先确认本地不是过期副本。

Review 修复(Linus 式审查后追加的第二个 commit)

  • ossImage() 原实现只判断 !source,JSDoc 承诺的"非 http(s)/已处理不代为处理"完全没做到——data: 内联图会被拼坏、重复调用会产生重复 x-oss-process query key。已改用 URL/URLSearchParams 重写,行为与 weapp 侧的 getImageLink.ts(同样用 qs.stringify + url.searchParams.has 判重)一致,并做了实测(data:/已处理 URL/相对路径/null 均按预期原样返回或跳过)。
  • CHANGELOG.md 此前错误声称"三处 SKILL.md 与 topic-embed-review",本仓库这次 commit 实际只改了两处;已改为准确表述。
  • 自我更新引导补充:明确排除"正在给 topic-sdk 本身开发"场景(否则在 feature 分支上 git pull --ff-only 会直接失败卡死自己);不在 main 分支时不擅自切换/强制同步;纯拷贝覆盖收窄到只覆盖 skill 自身文件;私有仓库场景要求如实告知"无法确认新鲜度"。

Test plan

  • pnpm typecheck
  • pnpm build(dist/ 已同步重建)
  • node -e 手测 ossImage/ossImageSrcSet:data: URI 原样返回、已带 x-oss-process 的 URL 去重、相对路径原样返回、null 返回 null、正常 URL 拼参正确
  • 对照 talesofai-weapp/src/utils/getImageLink.ts 确认 percent-encoding 行为与既有生产实现一致

- 新增 ossImage()/ossImageSrcSet(),按渲染宽度+设备像素比拼 OSS x-oss-process
  (resize/format/quality),与公司其余前端(weapp/event/bff)同一套约定,避免内嵌页
  原图直出。scaffold App.tsx 示例与 SKILL.md/cheatsheet 文档同步改用它包
  coverUrl/avatarUrl。
- skill/、skill-internal-publish/ 两处 SKILL.md 顶部新增强制自我更新步骤:每次
  执行前先确认不是过期副本,不允许跳过。
- ossImage():用 URL/URLSearchParams 重写,非 http(s)(如 data: 内联图)原样返回、
  已带 x-oss-process 的 URL 不重复叠加参数。此前实现只做了 !source 判断,JSDoc
  承诺的"非 http(s)/已处理不代为处理"完全没实现——data: 头像会被拼坏,重复调用会
  产生重复 query key。
- CHANGELOG.md:修正"三处 SKILL.md 与 topic-embed-review"的错误表述,本仓库这次
  commit 只改了两处;topic-embed-review 是独立仓库,改动见其自身 commit。
- skill/SKILL.md、skill-internal-publish/SKILL.md 的自我更新引导补充:明确排除
  "正在对 topic-sdk 本身开发"场景(否则在 feature 分支上 git pull --ff-only
  会直接失败卡死自己);不在 main 分支时不擅自切换/强制同步;纯拷贝覆盖场景收窄
  到只覆盖 skill 自身文件,不动创作者项目的 .env/未提交改动;私有仓库场景明确
  "如实告知无法确认新鲜度"而非假装拉取成功。
@LingXuanYin
LingXuanYin merged commit 0b64a59 into main Aug 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant