Files
photo-live/apps/admin
浅念 bfba76b5e6 fix(ads): 终审修复——staging 前缀+运行时上限核验/失效绑定编辑/白名单去 heic/杂项
- verifyStaging 硬化(services/api/src/ads/ads.service.ts):新增键前缀核验
  (仅 OBJECT_KEY_ROOT/ads/staging/ 布局,防照片域任意键被提升为公开广告)
  与运行时 2MB 上限(head.bytes > AD_UPLOAD_MAX_BYTES → 400 报文含限额值
  ——init 申明管不住实际 PUT 体,create/update 是唯一核验点);e2e ⑰ 以
  测试 storage 直接 presignPut 真实对象覆盖两分支
- 失效绑定编辑 400(admin AdsFormDialog):PATCH 仅在 albumIds 实际变化时
  携带(albumIdsChanged 序敏感深比较,纯函数落 adsLogic + vitest 用例);
  preloadOptions 解析失败的绑定 ID 加「已失效,可移除」后缀(zh/en 新增
  adsManage.form.staleAlbum)——软删绑定不再挡住其它字段保存
- 白名单去 heic(原图直出无变体兜底,Chromium/Firefox 不渲染=破图):
  contracts 三处 enum 收窄 [image/jpeg, image/png] 并重生成类型;dto 定义
  广告域独立 AD_IMAGE_CONTENT_TYPES(与照片域 UPLOAD_CONTENT_TYPES 分离),
  AD_IMAGE_EXTENSIONS 由其派生;init 对 .heic 文件名以广告域集合二次核验
  拒绝(共享 extOfFilename 仍认 heic,杜绝 init 放行→create 中段断裂);
  e2e heic 矩阵 400;admin accept/文案/类型同步收窄
- searchAlbums 补 catch(http 层已弹 toast,本地静默保持旧选项)
- ActivityPage 关闭记忆测试补位(activity.spec):dismissed 不拉取不渲染、
  close 写 sessionStorage 并清空轮播两用例(getPublicAds 入替身防真实 fetch)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-29 02:20:21 +08:00
..


Art Design Pro

A backend system template that combines design aesthetics with efficient development, helping you quickly build professional-grade applications

English | 简体中文

license github stars github forks


What makes this project special?

Interface Design: Modern UI design with smooth interactions, focusing on user experience and visual design

Quick Start: Clean architecture + comprehensive documentation, easy for backend developers to use

Rich Components: Built-in high-quality components for data display, forms, and more to meet different business scenarios

Smooth Interactions: Button clicks, theme switching, page transitions, chart animations - experience comparable to commercial products

Efficient Development: Built-in practical APIs like useTable and ArtForm to significantly improve development efficiency

Clean Scripts: Built-in one-click cleanup script to quickly remove demo data and get a ready-to-develop base project

Tech Stack

Development Framework: Vue3, TypeScript, Vite, Element-Plus, Tailwind CSS

Code Standards: Eslint, Prettier, Stylelint, Husky, Lint-staged, cz-git

Preview

Light Theme

Light Theme

Dark Theme

Dark Theme

Quick Access

Live Demo | Official Documentation | Changelog

Installation & Setup

# Install dependencies
pnpm install

# If pnpm install fails, try using the command below
pnpm install --ignore-scripts

# Start local development environment
pnpm dev

# Build for production
pnpm build

Clean Version

The project includes a cleanup script to quickly remove demo data and provide developers with a ready-to-develop base project

pnpm clean:dev

Technical Support

QQ Group: 1038930070 (Click the link to join the group chat)

Browser Compatibility

Supports modern mainstream browsers including Chrome, Safari, Firefox, and more.

Contributing

We sincerely welcome and appreciate the support of every contributor! Whether you have new ideas, feature suggestions, or code optimizations, you can participate in the following ways:

Submit Pull Requests: Share your code and help the project grow.

Create GitHub Issues: Provide bug feedback or new feature suggestions to help us improve together.

Every contribution you make takes this project one step further! Come join our open source community!

Continuous Optimization & Extension

The project maintains active updates, supports the latest frontend tech stack, is compatible with mainstream frameworks, and ensures long-term stability and extensibility. Community-driven feedback mechanisms allow your needs to be quickly integrated into project iterations.

Donation

If you feel this project has reduced your development costs and solved problems in your work/life, you can support us through the following ways:

Donation QR Code

Star History

Star History Chart