0238f505c4
P4b Task 5:/system/embed-slots 管理页(Task 8/9 页面模式:useCursorList
游标累积 + 对话框治理)。列表(名称/绑定相册/启停/configVersion/更新时间,
启停开关行内 PATCH → configVersion+1 toast 提示)+ 新建/编辑对话框
(设置表单位置/尺寸/间隔/语言/默认收起,intervalMs 契约区间夹取;编辑按
整体替换语义提交完整 settings)+ 绑定相册对话框(相册标题/ID 搜索选中 →
确认框携带 A22 文案「configVersion 将递增,官网无需改动」;清空即解绑)+
嵌入代码卡({EMBED_ORIGIN}/embed/v1/loader.js + data-slot 令牌,一键复制;
EMBED_ORIGIN=VITE_EMBED_ORIGIN 缺省本机 viewer dev,.env.example 登记)。
- API 层 src/api/embedSlots.ts + types/api/embedSlot.d.ts(契约镜像)
- vitest 9 例:表单→载荷(缺省+夹取)、编辑载荷收敛、snippet 拼接、
环境基址兜底、绑定变更分类、zh/en 键一致 + A22 短语断言
- Playwright e2e(真实 cn+ov 后端):新建→绑定(gov-photos 直种 +
seed-fixture 新增 sync-flush 模式经 bootstrap/真实发送管线投影 photos_ov)
→嵌入代码卡含 token→ov 公开 feed 返回相册照片→换绑 configVersion+1 +
feed 切换(A22)→停用 feed 404;admin playwright 配置补 ov webServer
- i18n zh/en(embedSlotsManage.* + menus.system.embedSlots)
Co-Authored-By: Claude Code <noreply@anthropic.com>
30 lines
1.2 KiB
Bash
30 lines
1.2 KiB
Bash
# 【@photo/admin 环境变量样例】复制为 .env 使用(.env 不入库,仓库约定)。
|
||
# 所有键均有代码兜底,缺省也能构建运行;dev 端口(5176)与 /v1 代理在 vite.config.ts 固定。
|
||
|
||
# 版本号(注入 __APP_VERSION__,用于 localStorage 版本化键前缀)
|
||
VITE_VERSION = 0.1.0
|
||
|
||
# 应用部署基础路径(如部署在子目录 /admin,则设置为 /admin/)
|
||
VITE_BASE_URL = /
|
||
|
||
# 权限模式(模板遗留键;@photo/admin 裁剪后仅前端路由表模式)
|
||
VITE_ACCESS_MODE = frontend
|
||
|
||
# 跨域请求时是否携带 Cookie(开启前需确保后端支持)
|
||
VITE_WITH_CREDENTIALS = false
|
||
|
||
# 是否打开路由信息
|
||
VITE_OPEN_ROUTE_INFO = false
|
||
|
||
# 锁屏加密密钥
|
||
VITE_LOCK_ENCRYPT_KEY = change-me-lock-key
|
||
|
||
# viewer 部署基址(相册详情「分享」卡拼 viewer URL 与二维码;缺省兜底
|
||
# http://127.0.0.1:5175 —— 本机 dev 端口,apps/viewer vite 固定 5175)
|
||
VITE_VIEWER_BASE = http://127.0.0.1:5175
|
||
|
||
# 嵌入组件(悬浮轮播)部署基址:展示位「嵌入代码」卡拼 loader 引用
|
||
# <script src="{EMBED_ORIGIN}/embed/v1/loader.js" data-slot=...>;loader 由
|
||
# viewer 静态服务,缺省兜底 http://127.0.0.1:5175(同 viewer dev)
|
||
VITE_EMBED_ORIGIN = http://127.0.0.1:5175
|