fix: data 目录脱离 git 跟踪, 修正桌面版数据落位

解决「更新后数据丢失」问题的根因: ext_data 种子文件被 git 跟踪,
push/pull 时会覆盖用户本地数据。

变更:
- .gitignore: 整个 data/ 纳入忽略, 移除 ext_data 放行规则
- git rm --cached: 移除 ext_gn_ths/ext_hy_ths 4 个种子文件跟踪 (本地保留)
- config.py: 桌面版数据目录改为 exe 同级 TickFlowStockPanel_Data/
  (在 {app} 外, 覆盖安装/卸载都碰不到; 不在 C 盘, 用户可见)
- tickflow.iss: 卸载询问逻辑指向新数据目录 {app}\..\TickFlowStockPanel_Data

种子数据改由首次启动从远程接口拉取 (见后续 commit)。
This commit is contained in:
shy3130
2026-06-28 16:01:29 +08:00
parent 119c1e0f8a
commit 2d4befb8a2
7 changed files with 33 additions and 123 deletions
+6 -4
View File
@@ -118,21 +118,23 @@ begin
end;
// ── 卸载时询问是否删除用户数据 ─────────────────────────────────
// 用户数据在 %LOCALAPPDATA%\TickFlowStockPanel\ (策略/选股/回测/监控)
// 默认保留 (重装不丢), 但给用户彻底清除的选项
// 用户数据在 {app} 同级的 TickFlowStockPanel_Data\ (策略/选股/回测/监控/行情)
// 注意: 该目录在 {app} 外, 覆盖安装和常规卸载都不会动它, 重装后数据自动恢复。
// 这里仅在用户明确「彻底卸载」时才清理。
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
DataDir: String;
begin
if CurUninstallStep = usPostUninstall then
begin
DataDir := ExpandConstant('{localappdata}\TickFlowStockPanel');
// {app}\..\TickFlowStockPanel_Data = 与安装目录同级的独立数据目录
DataDir := ExpandConstant('{app}\..\TickFlowStockPanel_Data');
if DirExists(DataDir) then
begin
if SuppressibleMsgBox(
'是否同时删除用户数据?' + #13#10 + #13#10 +
'位置: ' + DataDir + #13#10 +
'内容: 策略、选股结果、回测记录、监控规则等' + #13#10 + #13#10 +
'内容: 行情数据、策略、选股结果、回测记录、监控规则等' + #13#10 + #13#10 +
'选「是」彻底卸载, 选「否」保留数据(重装后可恢复)。',
mbConfirmation, MB_YESNO or MB_DEFBUTTON2, IDNO) = IDYES then
begin