refactor: upgrade to Go 1.26 and modernize code idioms
- 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:
@@ -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
|
||||
```
|
||||
|
||||
带以上标记的文件均为自动生成文件。
|
||||
|
||||
Reference in New Issue
Block a user