夏犀麟
|
ebc507ee6c
|
feat(auth): 生产全量请求/响应加密中间件
- crypto.Service 增 fullBody 开关 + DecryptRequest/EncryptResponse(会话密钥双向加密)
- 新增 middleware/APICrypto:请求整体解密 + 响应加密(public-key 豁免),未加密请求拒绝
- ResolveLogin/resolvePassword 增 fullBody 分支;admin 组中间件链调整
- injectEnv 支持 ENCRYPT_FULL_BODY/ENCRYPT_ALLOW_PLAIN(直接跑二进制需 env 注入)
|
2026-08-28 00:17:47 +08:00 |
|
夏犀麟
|
06484774ad
|
feat(auth): 登录密码 RSA+AES 混合加密传输与加密字段支持
- 新增 internal/library/crypto:RSA-OAEP(SHA-256)+AES-256-GCM 混合解密,
私钥按 配置PEM > data/crypto/rsa_private.pem > 自动生成 三级来源,公钥 SPKI 输出
- 公开接口 POST /system/auth/public-key;LoginReq 支持 encryptedKey/encryptedData
- AdminCreate/AdminResetPwd 密码字段支持加密传输(allowPlain 仅开发联调)
- 配置 encrypt.privateKey/allowPlain;data/ 加入 gitignore 防止私钥入库
|
2026-08-27 23:43:41 +08:00 |
|
夏犀麟
|
abd81486ad
|
refactor(api): 去除 api 层 /v1 目录,统一为 api/<模块>/<子模块> 层级规则(包名=路径段下划线连接)
|
2026-08-27 23:20:32 +08:00 |
|
夏犀麟
|
3d24dbd8cb
|
feat(auth): 认证链路联调修复——401 语义化 + 登出撤销会话 + 零配置兜底
- 未授权响应改为 HTTP 401(原 200+code10002 vben 拦截器不识别,
token 过期永远不触发静默刷新/重登)
- 新增 response.JSONWithStatus;三处 401(UserAuth/AdminAuthOnly/AdminAuth)切换
- LogoutReq 支持 refreshToken:登出时撤销刷新会话(幂等),阻止设备续期;
Refresh 时顺带清理已过期会话行
- IAdminAuth 新增 Revoke;dao/internal/admin_user.go 补 bark_device_id/
pushplus_token 列映射(与 016 SQL/0569c70 对齐,恢复 int/gtime 类型映射)
- injectEnv 开发模式兜底: 等占位符未注入 env 时回填本地默认 DSN,
任何启动方式(GoLand/命令行/go run)零配置可跑;prod 不兜底
|
2026-08-27 23:00:53 +08:00 |
|
夏犀麟
|
0569c70690
|
feat(notice+job): 通知模块(渠道/规则/日志/测试) + 自动任务管理(DB驱动gcron) + 用户表加Bark/pushplus字段
|
2026-08-27 22:58:33 +08:00 |
|
夏犀麟
|
1d451499b9
|
feat(security): 服务器安全日志模块——上报/查询/统计接口 + 015建表菜单
|
2026-08-27 11:30:00 +08:00 |
|
夏犀麟
|
1e28e02dc1
|
feat(house): 新增新房预售证模块并扩展相关功能
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 31s
- 添加 api/house/presale 接口模块实现新房预售证查询功能
- 新增 POST /api/service/admin/house/presale/list 接口支持 region/purpose/keyword 筛选
- 在 HousePresaleVO 中增加 PublishDate 字段用于存储公示发布日期
- 在 house_presale 表中添加 publish_date 字段并完成数据库同步
- 更新权限种子配置新增菜单 95 新房预售及 950 查询权限
- 完成相关 controller 和 service 层代码实现并验证接口返回正常数据
|
2026-08-27 02:01:04 +08:00 |
|
夏犀麟
|
ea50261cb8
|
feat(house): 扩充看房数据并增强服务器日志功能
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 35s
- 新增新房预售证表 house_presale 存储预售许可信息
- 为 house_community 表添加 avg_price 字段存储小区参考均价
- 增强服务器操作审计日志功能,新增管理员账号、IP归属地、错误信息、UA等字段
- 实现纯Go版IP归属地离线解析器,无外部依赖,支持二分查找
- 优化看房列表查询逻辑,修复Fields设置位置导致的SQL语法错误
- 集成招聘模块,添加独立数据库配置和Bark推送服务支持
- 重构日志查询接口,支持多维度筛选和综合分页列表展示
- 更新DAO实体结构同步数据库表结构调整
|
2026-08-27 01:47:32 +08:00 |
|
夏犀麟
|
4445b8e8bf
|
CHG: house transaction service 层 + recruitment 招聘模块 + 012 菜单 SQL(补提交未推送代码)
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 14s
|
2026-08-27 00:41:59 +08:00 |
|
夏犀麟
|
a2f60c3410
|
CHG: house transaction controller
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 25s
|
2026-08-27 00:34:22 +08:00 |
|
夏犀麟
|
4aca0c7f6f
|
feat(house): 实现看房模块后端功能
Build and Deploy (service.xpcool.com) / build-and-deploy (push) Failing after 5m7s
- 新增 9 张房屋相关数据表(社区/楼宇/房源/价格快照/交易/设施/社区设施/学区/偏好)
- 添加菜单权限种子数据并绑定超级管理员角色
- 生成 DAO 层代码和实体对象
- 实现房屋模块 API 接口(社区/房源/看板)和控制器服务层
- 支持多平台软关联匹配、笋盘标记和低可信度标记功能
- 更新超级管理员账号为 xxcool/xxCool@2026
- 调整 RBAC 菜单结构,移除管理员管理功能,新增日志管理菜单
- 修复 RBAC 安全漏洞,确保禁用角色权限失效
- 重构认证模块,将登录相关接口迁移到统一包结构下
- 移除废弃的管理模块和工具类接口定义
- 为通用工具包添加中文注释和文档说明
|
2026-08-26 23:42:38 +08:00 |
|
夏犀麟
|
6e3ef67709
|
refactor(service): 重构服务层结构并更新导入路径
- 将 admin 相关服务移动到 internal/service/admin 目录下
- 更新控制器中的服务导入路径引用
- 移除已合并的服务文件
- 添加统一工作约定文档
- 更新 API 接口定义的包路径
|
2026-08-26 15:40:13 +08:00 |
|
夏犀麟
|
43fa79686d
|
refactor(api): 后台管理 API 按 base/system/admin 分组重构
- api/admin/v1 拆 base/system/admin 三子包,路由前缀 /admin/v1/{base,system,admin}
- system: auth/menu/role;admin: 管理员;base: log
- controller 改 import 子包;006_menu_paths_v2.sql 更新接口路径映射
- 权限码与路由分离,permission 标识不变
- 冒烟测试新路径 8 接口全通过
|
2026-08-24 23:40:39 +08:00 |
|
夏犀麟
|
8fdb25e6bd
|
feat(admin): 后台登录/菜单/按钮级权限/RBAC管理与服务器日志监控
后端:
- 种子数据:超级管理员(admin/admin123)、super_admin 角色、22 条菜单(含按钮权限码)、角色绑定
- admin_menu 扩展 icon/component/hidden 字段(003_schema_ext.sql),手动补齐 entity/do/table
- auth 扩展:/auth/info、/auth/codes(仅登录),路由拆分公开/Profile/受保护三组
- 菜单路由:/menu/routes 返回 vben backend 动态路由树(按角色过滤、排序)
- RBAC 管理:/admins、/roles、/menus CRUD(含角色绑定、重置密码、菜单授权)
- 日志监控:/log/files、/log/tail(尾部读取+关键词过滤+路径穿越防护)
- 安全加固:接口鉴权改为「方法+路径→权限码」自动映射,杜绝任意权限码越权
- 修复:gf v2.10.2 不自动替换→cmd 注入;MySQL driver 需显式引入 contrib
- 全链路冒烟测试通过(含越权拒绝 30003)
|
2026-08-24 22:35:54 +08:00 |
|
夏犀麟
|
82b1ad2b5c
|
refactor(api): 公共接口改名 open 并重构契约层为 tools/<子功能>/index.go
- api/common/v1 → api/open/v1,路由前缀 /api/common/v1 → /api/open/v1
- 契约层按子功能拆目录:api/open/v1/tools/{uuid,md5,random,time,ip}/index.go
- 控制器同步拆文件:internal/controller/open/{uuid,md5,random,time,ip}.go
- 命名规则(open 优于 common)与 tools 目录规则记入 AGENTS.md
- 冒烟测试:旧路由 404,新路由 5 端点全部通过
|
2026-08-24 18:03:30 +08:00 |
|
夏犀麟
|
1486bb903f
|
feat(api): 新增公共接口 api/common/v1(tools 工具端点)并修复 gtime 格式化
- api/common/v1/tools.go 契约 + internal/controller/common 实现:uuid/md5/random/time/ip
- cmd.go 注册 /api/common/v1 公开分组(无鉴权),复用 common/tools Go 包
- 修复 gtime v2.10.2 坑:Format 为 PHP 风格,Go layout 须用 Layout(),timex 封装为 Layout 语义
- 冒烟测试 5 端点全部通过;AGENTS.md / PROJECT_STRUCTURE.md / change-log 同步更新
|
2026-08-24 17:29:30 +08:00 |
|
|
|
54135d2be5
|
feat(dev): 项目初始化。
|
2026-07-17 17:58:08 +08:00 |
|