重构 monorepo 并完善网页端订阅与首页体验

- 迁移为 frontend-web、frontend-electron、backend-web 与 docker 部署结构
- 网页端:订阅门禁二次弹窗、套餐/支付组件化、顶栏分组对齐
- 首页:最近文件与模板库布局优化,缩略图对齐,下载与删除操作
- 新增管理后台、支付与云端文件 API,更新 README 与项目规范

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
24kycj
2026-06-08 18:17:39 +08:00
parent 5814b7bc0e
commit 88c6ce8ccc
511 changed files with 189528 additions and 22804 deletions
+41
View File
@@ -0,0 +1,41 @@
(function () {
'use strict';
function computeAssetBase() {
if (typeof window === 'undefined' || !window.location) {
return 'assets/images/';
}
var p = window.location.pathname || '/';
if (p.indexOf('/pages/') !== -1 || /\.web\.html$/i.test(p) || /\/pages\/[^/]+\.html$/i.test(p)) {
return '../assets/images/';
}
if (p.endsWith('/pages/') || p.endsWith('/pages')) {
return '../assets/images/';
}
return 'assets/images/';
}
function computeJsBase() {
if (typeof window === 'undefined' || !window.location) {
return 'js/';
}
var p = window.location.pathname || '/';
if (p.indexOf('/pages/') !== -1 || /\.web\.html$/i.test(p) || /\/pages\/[^/]+\.html$/i.test(p)) {
return '../js/';
}
return 'js/';
}
window.SOON_ASSET_BASE = computeAssetBase();
window.SOON_JS_BASE = computeJsBase();
window.soonAsset = function (name) {
var n = String(name || '').replace(/^\/+/, '');
return window.SOON_ASSET_BASE + n;
};
window.soonJs = function (rel) {
var n = String(rel || '').replace(/^\/+/, '');
return window.SOON_JS_BASE + n;
};
})();