永久会员与模板库后台化:预览门控、轻量首页与 Admin CRUD
- 会员改为永久激活方案;云端文件不再拦截非会员;预览弹窗内导出/打印才校验 - 首页最近文件支持本地记录,登录后与云端合并;移除独立会员页与订阅页 - 模板库入库管理:soon_templates 表、Admin 上传 CRUD、/templates 轻量列表与按需下载 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+21
-4
@@ -48,12 +48,14 @@ CREATE TABLE IF NOT EXISTS `plans` (
|
||||
INSERT INTO `plans` (`code`,`name`,`description`,`price_cents`,`quota_mb`,`max_files`,`duration_days`,`features`,`sort_order`,`is_recommended`,`is_active`) VALUES
|
||||
('free','免费版','免费体验设计与编辑',0,2048,200,0,
|
||||
'["设计与编辑工具免费使用"]',0,0,1),
|
||||
('member_lifetime','永久会员','一次激活,永久使用预览交付能力',100,2048,200,0,
|
||||
'["高清预览","成品打印","云端保存","导出设计文件","永久有效"]',10,1,1),
|
||||
('member_monthly','月度订阅','按月灵活使用,随时续订',1999,2048,200,30,
|
||||
'["高清预览","成品打印","云端保存","导出设计文件","订阅周期:1 个月"]',10,1,1),
|
||||
'["高清预览","成品打印","云端保存","导出设计文件","订阅周期:1 个月"]',20,0,0),
|
||||
('member_quarterly','季度订阅','连续三个月,更省心',5299,2048,200,90,
|
||||
'["高清预览","成品打印","云端保存","导出设计文件","订阅周期:1 季"]',15,0,1),
|
||||
'["高清预览","成品打印","云端保存","导出设计文件","订阅周期:1 季"]',25,0,0),
|
||||
('member_yearly','年度订阅','全年畅享,性价比更高',19999,2048,200,365,
|
||||
'["高清预览","成品打印","云端保存","导出设计文件","订阅周期:1 年"]',20,0,1)
|
||||
'["高清预览","成品打印","云端保存","导出设计文件","订阅周期:1 年"]',30,0,0)
|
||||
ON DUPLICATE KEY UPDATE
|
||||
name=VALUES(name),
|
||||
description=VALUES(description),
|
||||
@@ -63,7 +65,8 @@ ON DUPLICATE KEY UPDATE
|
||||
duration_days=VALUES(duration_days),
|
||||
features=VALUES(features),
|
||||
sort_order=VALUES(sort_order),
|
||||
is_recommended=VALUES(is_recommended);
|
||||
is_recommended=VALUES(is_recommended),
|
||||
is_active=VALUES(is_active);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `subscriptions` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
@@ -114,6 +117,20 @@ CREATE TABLE IF NOT EXISTS `audit_logs` (
|
||||
KEY `admin` (`admin_id`, `created_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `soon_templates` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`name` VARCHAR(120) NOT NULL,
|
||||
`type` TINYINT UNSIGNED NOT NULL DEFAULT 1,
|
||||
`thumb` MEDIUMTEXT DEFAULT NULL,
|
||||
`file_size` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
`sort_order` INT NOT NULL DEFAULT 0,
|
||||
`is_active` TINYINT(1) NOT NULL DEFAULT 1,
|
||||
`created_at` DATETIME NOT NULL,
|
||||
`updated_at` DATETIME NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `active_sort` (`is_active`, `sort_order`, `id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `settings` (
|
||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`key` VARCHAR(120) NOT NULL,
|
||||
|
||||
Reference in New Issue
Block a user