Improve WeChat MP replies and ship MindSpace/H5 production updates.

Add WeChat service account routing with sync acks, connectivity tests, and context isolation; document deploy runbooks; and bundle related MindSpace, voice, Plaza, and server gateway changes for production rollout.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-06-19 23:06:43 +08:00
parent b0f5d6a51c
commit 229805a070
241 changed files with 13190 additions and 902 deletions
+7 -5
View File
@@ -10,7 +10,7 @@
* Env:
* DATABASE_URL local source (default from .env)
* PLAZA_PROD_DATABASE_URL production MySQL (required)
* PLAZA_PROD_SSH e.g. root@120.26.184.105
* PLAZA_PROD_SSH e.g. root@ssh105
* MINDSPACE_STORAGE_ROOT local storage (default data/mindspace)
* PLAZA_PROD_STORAGE_ROOT remote storage (default .../h5/data/mindspace)
*/
@@ -42,10 +42,8 @@ loadEnvFile(path.join(root, '../../.env.local'));
loadEnvFile(path.join(root, '.env'));
const sourceUrl = process.env.DATABASE_URL;
const targetUrl =
process.env.PLAZA_PROD_DATABASE_URL ??
'mysql://boot:%40Abc888888@rm-uf6h1j53vtuxi78i90o.mysql.rds.aliyuncs.com:3306/goose';
const prodSsh = process.env.PLAZA_PROD_SSH ?? 'root@120.26.184.105';
const targetUrl = process.env.PLAZA_PROD_DATABASE_URL;
const prodSsh = process.env.PLAZA_PROD_SSH ?? 'root@ssh105';
const localStorageRoot = path.resolve(
process.env.MINDSPACE_STORAGE_ROOT ?? path.join(root, 'data', 'mindspace'),
);
@@ -56,6 +54,10 @@ if (!sourceUrl) {
console.error('缺少 DATABASE_URL');
process.exit(1);
}
if (!targetUrl) {
console.error('缺少 PLAZA_PROD_DATABASE_URL');
process.exit(1);
}
function quoteId(value) {
return mysql.escape(value);