2618ad3163
- 契约 listAlbumAssetStatus(GET /albums/{albumId}/assets):每 (kind,locale)
最新 effective 行 + 现签 URL;权限同详情(可见即读);deleted → 404
- 服务端 AssetsService.status(createdAt,id DESC 组内取首;presignGet 现签)
- Admin 品牌资产页签改造:进入即加载现状——三种 kind 卡片(预览图/未设置
空态/设置时间),banner 分全局/zh/en 槽位;上传成功自动刷新(替换语义)
- API 56/56、admin 87/87 + build 全绿
Co-Authored-By: Claude Code <noreply@anthropic.com>
38 lines
976 B
JSON
38 lines
976 B
JSON
{
|
|
"name": "@photo/viewer",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "Viewer lightweight entry (Vue 3 + Vite): album page, waterfall, photo viewer, zh-CN/en i18n; reads cn public API",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint .",
|
|
"typecheck": "vue-tsc --noEmit",
|
|
"test": "vitest run",
|
|
"test:e2e": "playwright test"
|
|
},
|
|
"dependencies": {
|
|
"@photo/contracts": "workspace:*",
|
|
"vue": "~3.4.0",
|
|
"vue-i18n": "^9.14.0",
|
|
"vue-router": "~4.4.0",
|
|
"qrcode": "^1.5.4"
|
|
},
|
|
"devDependencies": {
|
|
"@photo/db-cn": "workspace:*",
|
|
"@photo/storage": "workspace:*",
|
|
"@types/node": "^22.10.0",
|
|
"@vitejs/plugin-vue": "^5.2.0",
|
|
"@vue/test-utils": "^2.4.6",
|
|
"dotenv": "^16.4.5",
|
|
"jsdom": "^25.0.0",
|
|
"sharp": "^0.35.0",
|
|
"typescript": "^5.6.0",
|
|
"vite": "~5.4.0",
|
|
"vitest": "^2.1.0",
|
|
"vue-tsc": "^2.2.0"
|
|
}
|
|
}
|