refactor: upgrade to Go 1.26 and modernize code idioms
All checks were successful
Build Backend / build (push) Successful in 3m51s
Build Backend / build-docker (push) Successful in 1m0s

- Replace `interface{}` with `any` type alias across all packages
- Use built-in `min()`/`max()` for parameter clamping
- Use `slices.SortFunc`, `slices.Min`, `slices.Max` for cleaner code
- Use `strings.Cut()` for simpler string parsing in auth middleware
- Use `errors.Is()` for proper error comparison in handlers
- Update dependencies: golang.org/x/image 0.37.0 -> 0.38.0
- Add Wire code generation guidelines to ARCHITECTURE.md
- Disable Go cache in CI build workflow
This commit is contained in:
lafay
2026-03-30 04:49:35 +08:00
parent a69b2026f4
commit b640c9a249
47 changed files with 368 additions and 352 deletions

View File

@@ -351,3 +351,46 @@ type LogFilter struct {
| Model | `internal/model/` |
| Wire | `internal/wire/` |
| Cache | `internal/cache/` |
---
## 11. Wire 生成的代码规范
### 11.1 禁止直接修改生成的文件
以下文件由 Wire 工具自动生成,**禁止直接修改**
- `cmd/server/wire_gen.go`
- `cmd/server/wire.go` 中的 Provider 函数签名由 Wire 维护
如果需要修改这些文件:
1. **修改源文件**(如 `wire.go` 中的结构)
2. **运行 `wire` 命令**重新生成
### 11.2 正确的修改流程
```bash
# 1. 修改 wire.go 或 wire/*.go
# 2. 运行 wire 重新生成
go run -mod=mod github.com/google/wire/cmd/wire ./cmd/server
```
### 11.3 Provider 依赖添加
新增依赖时,必须同步修改:
1. `wire/service.go` 中的 Provider 函数
2. `wire/handler.go` 中的 Handler Provider 函数
3. `cmd/server/wire.go` 中的 `ProvideRouter` 函数
4. `wire/repository.go`(如需新增 Repository
5. 重新运行 `wire ./cmd/server` 生成 `wire_gen.go`
### 11.4 生成文件识别
```
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:build !wireinject
```
带以上标记的文件均为自动生成文件。