永久会员与模板库后台化:预览门控、轻量首页与 Admin CRUD

- 会员改为永久激活方案;云端文件不再拦截非会员;预览弹窗内导出/打印才校验
- 首页最近文件支持本地记录,登录后与云端合并;移除独立会员页与订阅页
- 模板库入库管理:soon_templates 表、Admin 上传 CRUD、/templates 轻量列表与按需下载

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
24kycj
2026-06-08 23:52:56 +08:00
parent 152228d41f
commit ebe191b06d
45 changed files with 1616 additions and 1259 deletions
@@ -33,6 +33,7 @@
{ href: '#/users', label: '用户管理' },
{ href: '#/orders', label: '订单管理' },
{ href: '#/plans', label: '套餐配置' },
{ href: '#/templates', label: '模板库' },
{ href: '#/payment', label: '支付密钥' },
{ href: '#/settings', label: '系统设置' },
{ href: '#/audits', label: '审计日志' },
@@ -96,7 +97,7 @@
statCard('订单总数', d.orders, { href: '#/orders', hint: '含全部状态' }) +
statCard('今日订单', d.orders_today, { href: '#/orders', hint: '按创建日统计' }) +
statCard('待支付', d.orders_pending || 0, { href: '#/orders?status=pending', hint: '需关注超时未付' }) +
statCard('活跃订阅', d.active_subscriptions, { href: '#/users', hint: '有效会员数' }) +
statCard('活跃会员', d.active_subscriptions, { href: '#/users', hint: '有效会员数' }) +
statCard('今日收入', I().formatCents(d.revenue_today_cents), { href: '#/orders', hint: '已支付订单' }) +
statCard('云端文件', d.files_total, { hint: '未删除的设计文件' }) +
statCard('退款待审', d.refunds_pending || 0, { href: '#/orders?refund_status=pending', hint: '需在订单页处理' });