a5fd25f10a
- 客户端接入 tauri-plugin-updater:原生侧注册插件,删除自研更新下载命令、下载进度事件与安装器启动逻辑 - 客户端更新服务与更新提示改走官方插件接口,删除自研清单解析、版本比较与下载实现 - 更新能力只授予客户端主窗口,移除只为自研清单放行的 OSS 白名单与 CSP 连接项 - 新增构建期更新检查开关:开发态默认关闭,agc 启动不请求更新清单、不显示更新入口 - 发布脚本按渠道生成官方更新插件清单与签名,universal macOS 产物同时挂两个平台键,缺签名失败关闭 - 发布脚本按渠道上传安装包、签名与渠道清单,并为 dev-win 生成旧协议 sha256 迁移清单 - 构建期按渠道注入更新端点配置,渠道与目标平台不匹配时发布失败关闭 - Jenkins 流水线新增渠道参数与签名凭据注入,归档补充签名与迁移清单 - 新增发布上传 dry-run 开关,只打印 ossutil 命令且不回显凭据 - 更新技术方案与开发运维文档,登记 macOS 渠道落地待办
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
/**
|
||
* AGC 客户端构建期特性开关。
|
||
*
|
||
* 开关只读取 `VITE_*` 构建期变量,运行时不改变;未显式配置时按运行环境回落:
|
||
* 开发态(`npm run agc` / `agc:serve` 的 Vite dev server 提供前端)取 `devValue`,
|
||
* 正式包取反。
|
||
*/
|
||
function resolveFeatureFlag(
|
||
flag: string | undefined,
|
||
{ devValue, dev }: { devValue: boolean; dev: boolean },
|
||
) {
|
||
const value = flag?.trim();
|
||
if (value === '1') return true;
|
||
if (value === '0') return false;
|
||
return dev ? devValue : !devValue;
|
||
}
|
||
|
||
/**
|
||
* 客户端更新检查(启动时的更新提示与“关于”里的手动检查)总开关。
|
||
*
|
||
* 开发态默认关闭:`agc` 启动的客户端不请求 OSS 更新清单,也不显示更新入口。
|
||
* 需要联调更新流程时用 `VITE_AGC_ENABLE_APP_UPDATE_CHECK=1` 显式打开,
|
||
* 正式包也可用 `=0` 关闭。
|
||
*/
|
||
export function resolveAppUpdateCheckEnabled(
|
||
flag: string | undefined = import.meta.env.VITE_AGC_ENABLE_APP_UPDATE_CHECK,
|
||
dev: boolean = import.meta.env.DEV,
|
||
) {
|
||
return resolveFeatureFlag(flag, { devValue: false, dev });
|
||
}
|
||
|
||
export const appUpdateCheckEnabled = resolveAppUpdateCheckEnabled();
|