|
Some checks failed
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 5m7s
- 新增 9 张房屋相关数据表(社区/楼宇/房源/价格快照/交易/设施/社区设施/学区/偏好) - 添加菜单权限种子数据并绑定超级管理员角色 - 生成 DAO 层代码和实体对象 - 实现房屋模块 API 接口(社区/房源/看板)和控制器服务层 - 支持多平台软关联匹配、笋盘标记和低可信度标记功能 - 更新超级管理员账号为 xxcool/xxCool@2026 - 调整 RBAC 菜单结构,移除管理员管理功能,新增日志管理菜单 - 修复 RBAC 安全漏洞,确保禁用角色权限失效 - 重构认证模块,将登录相关接口迁移到统一包结构下 - 移除废弃的管理模块和工具类接口定义 - 为通用工具包添加中文注释和文档说明 |
||
|---|---|---|
| .gitea/workflows | ||
| .workbuddy/memory | ||
| api | ||
| common | ||
| docs | ||
| hack | ||
| internal | ||
| manifest | ||
| resource | ||
| utility | ||
| .gitattributes | ||
| .gitignore | ||
| AGENTS.md | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| Makefile | ||
| PROJECT_STRUCTURE.md | ||
| README.MD | ||
Personal multi-client service
Layout
api → internal/controller → internal/service → internal/dao → internal/model(entity/do) is enforced. DTO and VO live in internal/model/dto and internal/model/vo; neither API types nor entities cross that boundary.
Database model generation
Run manifest/sql/001_core.sql on MySQL, set DB_DSN, then run:
gf gen dao -p internal -g default -gt -c
The command is intentionally the only source of internal/dao, internal/model/do, and internal/model/entity.
API isolation
/api/v1/*: user API, terminal header/body supportsmini,h5, andapp./admin/v1/*: admin API. Protected endpoints require both an admin access token and anX-Permissionidentifier.
Use GF_GCFG_FILE=config.dev.yaml (or config.test.yaml / config.prod.yaml) and set DB_DSN plus a strong JWT_SECRET before startup.
Local startup
- Terminal:
source .env.dev && go run main.go(.env.devis gitignored, holds local DSN + secret). - GoLand: run configuration
.run/service-dev.run.xml(project-level, auto-detected after reloading the project) already injectsGF_GCFG_FILE/DB_DSN/JWT_SECRET; pick it in the run dropdown. The file is gitignored because it contains the DB password.