go vet ./... 无输出
go build ./... 通过
go test ./... config / logx / store 全部 ok
wails build -clean Built 'buildin\cmsp.exe' in 24.885s (16 MB)
python dev_scripts/harness.py check --strict DevHarness 检查通过
python -m unittest discover -s tests Ran 55 tests, OK
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
基本信息
依赖与并行
子项目影响
go build ./...、go test ./...、wails build原始需求
要解决什么
仓库目前只有文档和原型,没有任何产品代码。需要建立可运行、可构建、可读的 Go 骨架,
并确定目录结构、配置读写方式和 SQLite 表结构,供后续所有任务在其上叠加。
维护者是初级程序员,因此代码优先直白易读:不用泛型技巧、不做提前抽象、
每个包职责单一、注释解释「为什么」和边界而不是逐行翻译代码。
做什么 / 不做什么
go test覆盖配置与仓储。已确认方案
技术栈按项目档案:Go 1.23.0、Wails v2、Vue 3、Naive UI、SQLite。
SQLite 驱动使用纯 Go 实现
modernc.org/sqlite,避免要求初级维护者配置 CGO 与 gcc。目录:
预计修改文件:
go.mod、main.go、app.gointernal/config/config.go、internal/config/config_test.gointernal/store/store.go、internal/store/product.go、internal/store/store_test.gointernal/logx/logx.go、internal/logx/logx_test.gofrontend/(Vue3 工程与两个页面).gitignore(补充 Go 与前端构建产物)需求变化记录
设计与原型门禁
文档影响
交付文档影响
任务记录与可选快照
验收标准
go build ./...通过go test ./...全部通过wails build产出可执行文件验证方式
风险和回退
git revert本任务提交。最终证据
测试结果(真实执行)
冒烟测试(临时程序,验证后已删除,未进仓库):
环境决定
go1.23.0(C:\go1230)。Wails v2.15.0 要求 >= 1.25.0,经负责人确认采用GOTOOLCHAIN=auto自动拉取工具链,不升级本机 Gomodernc.org/sqlite纯 Go 实现,不需要 CGO 与 gccmain.go与app.go,internal/对 Wails 零依赖提交
2cefa67feat: 初始化 Wails v2 + Vue3 骨架与 SQLite 存储5c5c682docs: 记录原型确认结果并移除已删除设计规范的引用9415c20chore: 删除淘宝流程设计规范文档已推送到
origin/main。实现提交与文档镜像提交分开。长期文档影响
06187f883b4e94d20f4ed447dfc7d9b0abe1面向初级维护者的措施
store.go写明迁移语句只能往末尾追加,绝不能改已发布的config.go写明新增字段要改四处,漏一处单测会失败TestSaveKeepsComments守着TestTaobaoConfigHasNoCredentialFields挡住后续往淘宝配置加账号密码过程中修正的两个问题
git add -A导致骨架代码被并进文档提交,提交信息只写了文档。推送前发现,已git reset --soft重做为三笔独立提交。build/会让 Wails 的图标与 manifest 无法提交,别人克隆后wails build失败。改为只忽略build/bin/,并在.gitignore写明原因。安全处理
负责人在实施期间放入
payloads/的抓包文件含真实手机号(createUser字段 21 处)以及两个 HAR(含 Cookie 与 token)。按负责人指示已加入.gitignore(payloads/与*.har),未进入任何提交。提交前做了凭据扫描,0 命中。未验证部分
cmsp.exe构建成功,但没有真实点击过窗口:没有 GUI 环境可自动化验证。需要负责人双击buildin\cmsp.exe确认导航折叠、两个页面、日志窗口和路径选择框的实际表现。getMaterialSize。补充发现(对后续工单有用)
负责人提供的
huohanhan_product.har是商品列表页抓包,包含product/shop/getPage(12 次)、product/shop/getCount(10 次)、erp/shop/all(3 次),R1 需要的三个接口都有真实请求与响应可对照。但其中
batchUpdateShopProductVideo、uploadFiles、getMaterialSize出现 0 次,因此需求总览的 Q1 与 Q2 仍未解决,R5 仍不能开始实现,需要单独抓一次上传视频的包。状态置为待验收。
实机验证后的缺陷修复
负责人实机运行
run_dev.bat后发现界面无法正常显示,截图证据见对话。定位并修复两个缺陷,均属本工单遗留,修复提交
d8e9078。缺陷一:Naive UI 组件从未注册
frontend/src/main.js少了app.use(naive)。模板里的n-button、n-input、n-select、n-data-table、n-modal全部未注册,Vue 将其当作未知 HTML 元素处理,表现为:
n-modal未注册,v-model:show失效最后一行是定位线索:唯一不用 Naive UI 的部分是唯一正常的部分。
修复后打包产物由 258 KB 增至 1.46 MB,可反证此前 Naive UI 确实
没有进入产物。
缺陷二:窗口高于屏幕,标题栏被顶出可视区
Wails 的
Width/Height是逻辑像素,Windows 按系统缩放放大。窗口高于可用高度后被居中,上边缘移出屏幕,标题栏与最小化/最大化/关闭按钮一起消失。
修复:改为
WindowStartState: options.Maximised,还原尺寸降至 1280x760,最小尺寸降至 1024x600,并在
main.go中写明这个坑,避免后续维护者再按设计稿尺寸写死。
顺带给工具栏加
flex-wrap,窄窗口下筛选控件换行而非挤压。验证
负责人重新运行
run_dev.bat后确认界面正常显示。过程反思
本工单先前的最终证据里写了「界面未经人工实机操作验证」,但仍将状态
置为待验收。既然界面从未被人打开过,当时就不应报待验收,而应先请
负责人运行一次。
后续涉及界面的工单(#8 及之后),改为先由负责人实机确认,再回写证据
和置待验收。