feat(mindspace): add SEO/GEO delivery, page template catalog, and admin hooks
Memind CI / Test, build, and release guards (push) Has been cancelled

Enable optional SEO/GEO injection and discovery routes for confirmed public pages while keeping private pages noindex. Add premium page template skills, portal catalog API, template shop UI, and Baidu push gated by memind_adm config.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-08-10 08:06:12 +08:00
parent 7c65540366
commit fde6503bdf
158 changed files with 9194 additions and 270 deletions
+29
View File
@@ -668,6 +668,8 @@ CREATE TABLE IF NOT EXISTS h5_payment_orders (
code_url VARCHAR(512) NULL,
h5_url VARCHAR(1024) NULL,
client_ip VARCHAR(64) NULL,
order_purpose ENUM('recharge','template_purchase') NOT NULL DEFAULT 'recharge',
order_purpose_ref VARCHAR(64) NULL,
expire_at BIGINT NOT NULL,
paid_at BIGINT NULL,
created_at BIGINT NOT NULL,
@@ -1300,3 +1302,30 @@ CREATE TABLE IF NOT EXISTS h5_user_feedback (
KEY idx_h5_user_feedback_status_created (status, created_at),
CONSTRAINT fk_h5_user_feedback_user FOREIGN KEY (user_id) REFERENCES h5_users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS h5_template_catalog (
skill_name VARCHAR(64) PRIMARY KEY,
label VARCHAR(128) NOT NULL,
description TEXT,
preview_url VARCHAR(512) NULL,
price_cents INT NOT NULL DEFAULT 0,
currency VARCHAR(8) NOT NULL DEFAULT 'CNY',
billing_mode ENUM('free','one_time','subscription') NOT NULL DEFAULT 'one_time',
status ENUM('draft','active','archived') NOT NULL DEFAULT 'draft',
sort_order INT NOT NULL DEFAULT 0,
created_at BIGINT NOT NULL,
updated_at BIGINT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE TABLE IF NOT EXISTS h5_template_purchases (
id CHAR(36) PRIMARY KEY,
user_id CHAR(36) NOT NULL,
skill_name VARCHAR(64) NOT NULL,
order_id VARCHAR(64) NULL,
source ENUM('purchase','admin_grant','promo') NOT NULL,
purchased_at BIGINT NOT NULL,
expires_at BIGINT NULL,
UNIQUE KEY uq_user_template (user_id, skill_name),
KEY idx_template_user (user_id),
CONSTRAINT fk_template_purchase_user FOREIGN KEY (user_id) REFERENCES h5_users(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;