实现 CT 时间偏移选择并优化 URL 语言处理:新增获取 CT 时间偏移选项接口,表单改用下拉选择;URL 语言参数统一为 zh/tw/en 并兼容旧版;Vite 支持局域网访问,更新开发文档。

This commit is contained in:
justin
2026-10-10 13:06:36 +08:00
parent 9ed161d93e
commit 833990b2b5
13 changed files with 379 additions and 72 deletions
+100
View File
@@ -480,6 +480,40 @@
---
## 补充:创建表单 CT 偏移选项接口(2026-10-10)
### 1. 改动概览
- **背景与目标**:「交易時間偏移」由 `POST /trade/schedule-investment/options/ct-time`(`exchangeCode`、`productCode`)拉取选项,下拉展示 `displayName`,取值 `offsetMinutes`。
- **涉及模块**:`src/api/scheduleInvestment.ts`、`src/types/scheduleInvestment.ts`、`RecurringInvestmentView.vue`、i18n(zh-TW / zh-CN / en-US)。
- **改动类型**:功能新增。
### 2. 方法级改动分析
| 位置 | 差异 |
|------|------|
| `getScheduleInvestmentCtTimeOptions` | 新增 ct-time 接口封装。 |
| `ScheduleInvestmentCtTimeOptionsRequest` / `Data` / `Option` | 描述请求与 `options` 列表结构。 |
| `loadCtOffsetOptions` / `watch` | 交易所与标的变更时请求;当前偏移不在列表时回退首项。 |
| 创建表单 CT 字段 | `el-input-number` 改为可筛选 `el-select`;未选标的时禁用。 |
| `isCtOffsetValid` | 有选项时校验是否在列表内;无选项时保留 0–240 兜底。 |
### 3. 调用方与影响范围
- 仅创建计划表单;创建/预览请求体仍传 `ctOffsetMinutes` 数值。
- **破坏性变更**:否(交互由手输改为下拉,选项由后端决定)。
### 4. 风险与回滚
- **风险级别**:低(依赖交易所+产品;失败时选项为空、字段禁用,提交校验不通过)。
- **回滚方式是否简单**:是。
### 5. 验证与测试
- `npm run build`;选择交易所与资产后确认下拉加载与提交偏移值正确。
---
## 补充:计划列表金额/数量展示(2026-10-09)
### 1. 改动概览
@@ -606,3 +640,69 @@
- `npm run build`。
- 冒烟:定期投资列表/创建/详情/终止、语言切换。
---
## 补充:URL `lang` 短码与 README(2026-10-10)
### 1. 改动概览
- **背景与目标**:文档与地址栏统一使用 `zh` / `tw` / `en` 作为 `lang` 查询参数;完善 README。
- **涉及模块**:`src/config/appLocale.ts`、`src/config/urlPreferences.ts`、`README.md`、`.cursor/rules/project-core.mdc`。
- **改动类型**:配置/文档 + 行为小幅调整。
### 2. 方法级改动分析
| 位置 | 差异 |
|------|------|
| `appLocale.ts` | 新增 `URL_LANG_CODES`、`resolveLocaleFromLangParam`、`localeToUrlLang`;短码映射到内部 `zh-CN` / `zh-TW` / `en-US`。 |
| `urlPreferences.ts` | 读入经 `resolveLocaleFromLangParam`;写出 `preferencesToQuery` 使用短码。 |
| `README.md` | 补充环境、目录、URL 参数表与示例(`lang=zh|tw|en`)。 |
仍接受旧 URL `lang=zh-TW` 等;切换或写入 query 时地址栏为 `tw` 等短码。
### 3. 调用方与影响范围
- **调用方**:`parsePreferencesFromSearch` / `parsePreferencesFromQuery` / `preferencesToQuery`(`main.ts`、`app` store、`useUrlPreferences`)。
- 内部 `AppLocale` 与 vue-i18n 键名不变;仅 URL 展示与解析规则扩展。
- **破坏性变更**:否(旧长格式仍可读;书签若依赖写出为长格式,首次 replace 后会变为短码)。
### 4. 风险与回滚
- **风险级别**:低。
- **回滚方式是否简单**:是(还原 `appLocale` / `urlPreferences` 与文档)。
### 5. 验证与测试
- `npm run build`:通过。
- 建议手工:`?lang=zh`、`?lang=tw`、`?lang=en` 及 `?lang=zh-TW` 兼容读取。
---
## 补充:Vite 开发服局域网 / 隧道访问(2026-10-10)
### 1. 改动概览
- **背景与目标**:`npm run dev` / `preview` 可通过本机 IP 或穿透域名访问,不限于 localhost。
- **涉及模块**:`vite.config.ts`、`README.md`。
- **改动类型**:配置变更。
### 2. 方法级改动分析
| 位置 | 差异 |
|------|------|
| `vite.config.ts` | `server.host: true`、`server.allowedHosts: true`;`preview` 同步 `host` / `allowedHosts`。 |
### 3. 调用方与影响范围
- 仅本地/内网开发体验;生产构建产物不变。
- **破坏性变更**:否。
### 4. 风险与回滚
- **风险级别**:低(开发机需自行注意防火墙与勿暴露敏感环境)。
- **回滚方式是否简单**:是。
### 5. 验证与测试
- `npm run dev`:终端出现 Network URL;同网段可打开页面。