fix: 启动参数 duration 候选值对齐后端标准格式
前端 Select 使用 Go time.Duration.String() 标准字符串作为 value, 与后端查询/保存响应保持一致,解决保存后反显不匹配的问题。
This commit is contained in:
@@ -569,3 +569,33 @@ server 入口 SHALL 允许前端查看当前有效启动参数,但 SHALL NOT
|
||||
- **THEN** 后端 SHALL 返回禁止修改错误
|
||||
- **THEN** 后端 SHALL NOT 写入配置文件
|
||||
- **THEN** 后端 SHALL NOT 修改当前运行配置
|
||||
|
||||
### Requirement: 启动参数 duration 标准格式
|
||||
|
||||
系统 SHALL 在启动参数设置查询、保存响应和配置文件保存中使用 Go `time.Duration.String()` 标准字符串表示 duration 字段,同时继续接受合法 Go duration 字符串作为输入。
|
||||
|
||||
#### Scenario: 查询启动参数时返回标准 duration 字符串
|
||||
|
||||
- **WHEN** 后端查询启动参数设置
|
||||
- **THEN** 返回配置中的 `server.read_timeout`、`server.write_timeout` 和 `database.conn_max_lifetime` SHALL 使用 Go `time.Duration.String()` 标准字符串格式
|
||||
- **THEN** 若配置文件中 `database.conn_max_lifetime` 为 `30m`,返回值 SHALL 为 `30m0s`
|
||||
- **THEN** 若配置文件中 `database.conn_max_lifetime` 为 `1h`,返回值 SHALL 为 `1h0m0s`
|
||||
|
||||
#### Scenario: 保存启动参数时接受标准 duration 字符串
|
||||
|
||||
- **WHEN** desktop 入口收到包含 `database.conn_max_lifetime: 1h0m0s` 的有效启动参数保存请求
|
||||
- **THEN** 后端 SHALL 成功解析该 duration 字符串
|
||||
- **THEN** 后端 SHALL 将配置保存到默认配置文件
|
||||
- **THEN** 保存响应中的 `database.conn_max_lifetime` SHALL 为 `1h0m0s`
|
||||
|
||||
#### Scenario: 保存启动参数时写入标准 duration 字符串
|
||||
|
||||
- **WHEN** desktop 入口成功保存启动参数配置
|
||||
- **THEN** 写入配置文件的 `server.read_timeout`、`server.write_timeout` 和 `database.conn_max_lifetime` SHALL 使用 Go `time.Duration.String()` 标准字符串格式
|
||||
- **THEN** 若保存请求中的 `database.conn_max_lifetime` 语义为 30 分钟,配置文件中的值 SHALL 为 `30m0s`
|
||||
|
||||
#### Scenario: 读取用户手写的合法 duration 字符串
|
||||
|
||||
- **WHEN** 配置文件中 duration 字段使用合法 Go duration 字符串,例如 `30m` 或 `30m0s`
|
||||
- **THEN** 后端 SHALL 正确解析配置文件
|
||||
- **THEN** 后端返回启动参数设置时 SHALL 将语义等价的 duration 统一为 Go `time.Duration.String()` 标准字符串
|
||||
|
||||
@@ -412,9 +412,11 @@ TBD - 提供供应商、模型配置和总览的前端管理界面
|
||||
|
||||
- **WHEN** 前端渲染启动参数设置表单
|
||||
- **THEN** `server.readTimeout` 字段 SHALL 使用 Select 下拉组件,提供以下预设选项:5 秒、10 秒、15 秒、30 秒、1 分钟、2 分钟、5 分钟
|
||||
- **THEN** `server.writeTimeout` 字段 SHALL 使用 Select 下拉组件,提供与 readTimeout 相同的预设选项
|
||||
- **THEN** `server.readTimeout` 字段的 Select value SHALL 分别为 `5s`、`10s`、`15s`、`30s`、`1m0s`、`2m0s`、`5m0s`
|
||||
- **THEN** `server.writeTimeout` 字段 SHALL 使用 Select 下拉组件,提供与 readTimeout 相同的预设选项和值
|
||||
- **THEN** `database.connMaxLifetime` 字段 SHALL 使用 Select 下拉组件,提供以下预设选项:5 分钟、15 分钟、30 分钟、1 小时、2 小时、4 小时
|
||||
- **THEN** duration 字段的 Select value SHALL 使用 Go duration 字符串格式(如 `"30s"`、`"1h"`)
|
||||
- **THEN** `database.connMaxLifetime` 字段的 Select value SHALL 分别为 `5m0s`、`15m0s`、`30m0s`、`1h0m0s`、`2h0m0s`、`4h0m0s`
|
||||
- **THEN** duration 字段的 Select value SHALL 使用 Go `time.Duration.String()` 标准字符串格式
|
||||
- **THEN** duration 字段的 Select label SHALL 使用中文单位显示(如 `"30 秒"`、`"1 小时"`)
|
||||
|
||||
#### Scenario: 日志最大保留天数使用下拉预设选择
|
||||
|
||||
Reference in New Issue
Block a user