永久会员与模板库后台化:预览门控、轻量首页与 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
+6
View File
@@ -9,6 +9,7 @@ use Soon\Api\Admin\Controllers\PaymentController;
use Soon\Api\Admin\Controllers\PlansController;
use Soon\Api\Admin\Controllers\SettingsController;
use Soon\Api\Admin\Controllers\StatsController;
use Soon\Api\Admin\Controllers\TemplatesController;
use Soon\Api\Admin\Controllers\UsersController;
use Soon\Api\Core\Config;
use Soon\Api\Core\Json;
@@ -58,6 +59,11 @@ Router::post('/api/admin/orders/{id}/refund/reject', [OrdersController::class, '
Router::get('/api/admin/plans', [PlansController::class, 'list']);
Router::post('/api/admin/plans', [PlansController::class, 'upsert']);
Router::get('/api/admin/templates', [TemplatesController::class, 'list']);
Router::post('/api/admin/templates', [TemplatesController::class, 'create']);
Router::put('/api/admin/templates/{id}', [TemplatesController::class, 'update']);
Router::delete('/api/admin/templates/{id}', [TemplatesController::class, 'delete']);
Router::get('/api/admin/settings', [SettingsController::class, 'list']);
Router::post('/api/admin/settings', [SettingsController::class, 'set']);
Router::post('/api/admin/settings/batch', [SettingsController::class, 'setBatch']);