change_code/README.md

117 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Uft30ChangeCodeUFT30 代码转换工具)
一款基于 **Qt 6 + MinGW** 开发的桌面工具,用于将 UF20 业务代码转换为 UFT3 格式并提供功能查询、代码检索、元数据更新、数据映射等配套能力。UI 采用 [ElaWidgetTools](3rd/ElaWidgetTools) 组件库。
- 当前版本:**v1.4.0**
- 运行平台Windows
- 界面框架Qt Widgets + ElaWidgetTools
## 功能特性
| 模块 | 说明 |
| --- | --- |
| 业务转码 | 将 UF20 函数批量转换为 UFT3 函数格式,支持进度显示与中止 |
| 功能查询 | UF20 / UFT3 功能(函数)查找,支持 2.0 账户功能查询 |
| 代码检索 | "转码业务" / "非转码业务" 调用链路分析,支持涉及文件与调用链导出 |
| 元数据更新 | 更新 UF20 / UFT3 标准字段、数据类型、接口数据等,支持增量更新与强制全量更新 |
| 数据映射 | 表映射、函数映射 |
| 设置 | 配置 UFT30 / UF20 项目路径、账户环境路径、转码生成路径等 |
| 其它 | 在线帮助文档、关于页、版本更新提示;全局文字可选中复制、表格 Ctrl+C 导出 |
## 目录结构
```
Uft30ChangeCode/
├─ main.cpp # 程序入口,安装全局文字可复制过滤器
├─ Uft30ChangeCode.pro # qmake 工程文件
├─ build.bat # 一键构建脚本Release
├─ build_advanced.bat # 进阶构建脚本
├─ config/
│ └─ change_code.ini # 默认配置模板(构建时按需部署到 bin/uf2touft3/
├─ src/
│ ├─ mainwindow/ # 主窗口
│ ├─ pages/ # 各功能页面batchconvert / codesearch / functionsearch / metadatupdate / datamapping / settings / about
│ ├─ metadataupdate/ # 元数据扫描与处理UF2 / UFT3 接口、数据类型、字段等)
│ ├─ pythonrunner/ # 调用外部转码工具uf2touft3.exe
│ ├─ components/ # 自定义控件
│ └─ utils/ # 公共工具(日志、配置读取、调用链分析、版本检查、常量等)
├─ 3rd/ # 第三方库ElaWidgetTools 等)
├─ resources/ resources.qrc # 图标等资源
├─ help/ # 帮助文档Writerside
└─ update_info.json # 版本发布说明
```
## 构建
### 环境要求
- Qt 6.6.2mingw_64
- MinGW 11.2.0Qt Tools 自带)
`build.bat` 中默认路径如下,如与本机不一致请自行修改:
```bat
set QT_PATH=D:\01.InstallInfo\InstallPath\QT\6.6.2\mingw_64
set MINGW_PATH=D:\01.InstallInfo\InstallPath\QT\Tools\mingw1120_64
```
### 一键构建
```bat
build.bat
```
脚本会依次执行:关闭正在运行的程序 → 清理旧构建产物 → `qmake``mingw32-make release``windeployqt` 部署 Qt 运行库 → 按需部署默认 `change_code.ini`
构建产物:`bin\Uft30ChangeCode.exe`
> 注意:外部转码工具 `bin\uf2touft3\uf2touft3.exe` 需自行放置,程序运行时依赖它完成实际转码。
### 手动构建
```bat
qmake Uft30ChangeCode.pro -spec win32-g++
mingw32-make release
```
## 配置说明(`config/change_code.ini`
构建时若 `bin/uf2touft3/change_code.ini` 不存在,会从 `config/change_code.ini` 拷贝一份默认模板;已存在则保留用户配置不覆盖。
### `[codeSearch]` 代码检索路径
| 键 | 说明 |
| --- | --- |
| `convertPath` | 转码业务代码检索路径 |
| `searchPath` | 非转码业务代码检索路径 |
### `[log]` 日志配置
| 键 | 默认值 | 说明 |
| --- | --- | --- |
| `level` | `INFO` | 日志等级:`DEBUG` < `INFO` < `WARNING` < `ERROR`,等级越高输出越少 |
| `path` | `./logs` | 日志输出目录(相对路径基于 exe 目录,绝对路径直接生效) |
| `file` | `change_code.log` | 日志文件名 |
| `fileEnabled` | `true` | 是否写入日志文件 |
| `maxSize` | `10MB` | 单个日志文件最大大小(支持 `B`/`KB`/`MB`/`GB``0` 表示不限制) |
| `maxFiles` | `100` | 日志文件轮转保留数量 |
| `maxAge` | `30` | 日志文件保留天数(`0` 表示不限制) |
| `console` | `true` | 是否在控制台打印日志 |
| `caller` | `false` | 是否在日志中附加调用堆栈(仅 Windows 生效) |
| `format` | `text` | 日志格式:`text` / `json` |
| `timeFormat` | `2006-01-02 15:04:05.000` | 时间格式(支持 Go 风格布局或 Qt 格式) |
## 帮助文档
更多使用说明见 `help/` 目录Writerside 工程),涵盖业务转码、功能查询、代码检索、元数据更新、数据映射、设置等模块的图文操作指引。
## 版本记录
| 版本 | 主要更新 |
| --- | --- |
| v1.4.0 | 提升业务转码性能;元数据更新支持增量/强制全量;新增代码检索与函数调用链路分析;支持全局文字选中复制及表格 Ctrl+C 导出 |
| v1.3.0 | 修复设置路径不生效;修复元数据更新后转码函数检查状态异常 |
| v1.2.0 | 新增数据映射(表映射、函数映射);新增版本更新提示 |
| v1.1.0 | 支持 2.0 账户功能查询及业务转码 |
| v1.0.0 | 首个版本业务转码、UF20/UFT3 功能查找、帮助文档、接口元数据更新、设置 |