Commit Graph

53 Commits

Author SHA1 Message Date
xinian
75cfc7bcb1 feat: 添加金豆消费记录功能
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
添加金豆消费记录表和相关服务,用于记录用户金豆消耗明细
在购买逻辑中预留记录消费的注释位置
2026-02-23 07:47:06 +08:00
xinian
e9915f481e feat: 添加抢先服玩家3天未登录自动降级功能
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
修复数据包处理中UserID为0的问题
优化解包失败时的错误处理格式
添加设置用户部门ID的服务方法
2026-02-23 00:54:47 +08:00
xinian
a5485de510 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-10 22:09:15 +08:00
昔念
b049e129c5 1
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
2026-02-03 22:44:13 +08:00
昔念
49bd303f47 1 2026-02-02 01:01:01 +08:00
昔念
d3d6b65e41 ```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful
feat(fight): 添加战斗日志记录功能

- 在战斗循环中添加错误时的战斗日志记录
- 新增RecordFight方法用于记录战斗相关信息
- 排除特定用户ID(10001)的日志记录
- 添加炫彩精灵相关里程碑枚举注释
```
2026-01-31 03:55:58 +08:00
昔念
86e07e94b2 ```
feat(boss): 添加伤害值检查避免除零错误

当己方总伤害为零时直接返回,防止在技能计算中出现除零情况,
确保战斗系统的稳定性。

fix(login): 修复登录流程中的数据赋值问题

在用户登录成功后正确设置头像URL,确保用户信息完整。
```
2026-01-28 22:24:18 +08:00
昔念
fa928c9a48 ```
feat(common): 添加GlowFilter的Level字段

添加了GlowFilter结构体中的Level字段,用于表示等级信息,
对应JSON标签为"level,omitempty"

---

fix(utils): 修复concurrent_swiss_map中的panic处理

- 使用goroutine替代线程池来监听通道
- 添加panic恢复机制,当发生panic时记录错误日志
- 确保在异常情况下程序能够
2026-01-25 23:17:46 +08:00
昔念
08ebf849eb ```
feat(pet): 添加宠物收集功能和称号系统

- 实现了宠物收集任务状态查询功能
- 新增Collect方法处理宠物收集逻辑,包括类型验证和ID合法性检查
- 创建validTypeIDMap映射表统一管理合法的类型ID集合
- 重构任务状态判断逻辑,基于model.Completion状态进行判断

refactor(map): 统一玩家信息结构体

- 将OutInfo重命名为SimpleInfo并添加Title字段
- 更新EnterMap方法的返回类型为SimpleInfo
- 修改space包中的UserInfo映射类型为SimpleInfo

feat(task): 集成称号奖励到任务系统

- 在PlayerInfo结构体中添加Title字段
- 扩展TaskConfig模型支持称号奖励配置
- 更新用户信息服务处理用户名大小写转换

refactor(space): 优化空间服务数据结构

- 更新GetInfo方法返回SimpleInfo切片
- 调整UserInfo CsMap泛型类型参数
- 修改ListMapPlayerOutboundInfo中Player数组类型

style(login): 规范化用户名输入处理

- 登录时将用户名转换为小写进行比较
- 使用strings.EqualFold进行大小
2026-01-17 00:47:41 +08:00
4d0464c76b ```
feat(rpc): 设置默认RPC地址为本地回环

修复RPC客户端连接问题,将默认服务器地址设置为127.0.0.1以确保本地连接正常

refactor(qqwry): 优化IP地址查询功能

移除不必要的正则表达式依赖,重构IP地址查询逻辑,提高代码性能和可维护性

fix(server): 保存确定的端口到配置中

确保服务器端口在确定后正确保存到配置中,避免端口配置丢失
2026-01-08 05:15:10 +08:00
174562b895 ```
feat(config): 重构配置结构并添加服务器列表支持

- 重命名PortBL字段为GameOnlineID,改进命名语义
- 添加ServerList结构体用于管理服务器配置
- 移除七牛云配置相关字段
- 更新ID生成器使用GameOnlineID参数

fix(server): 调整服务器启动参数和VIP逻辑

- 将启动参数从-port改为-id,统一参数命名
- 更新服务器启动逻辑,基于GameOnlineID获取服务器信息
- 为VIP服务器启用调试模式
- 优化端口可用性检查逻辑

refactor(model): 统一模型基类结构

- 将各模型中的*cool.Model嵌入改为Base基类
- 移除soul.go
2026-01-08 03:30:18 +08:00
1
69a2d9e510 1 2026-01-06 15:22:20 +00:00
1bd6840e98 ```
feat(base): 添加IP数据库文件加载功能

- 移除qqwry.go中被注释的embed代码和init函数
- 在base_sys_log.go的init函数中实现IP数据库文件加载逻辑
- 添加从public/qqwry.ipdb文件加载IP数据库的功能
- 当IP数据库加载失败时panic处理
```
2026-01-04 01:31:11 +08:00
808612cc1e ```
feat(config): 添加服务器端口获取功能

添加GetPort方法用于获取服务器当前IP和端口信息,
新增Name和Owner字段到ServerList模型中

refactor(login): 优化调试参数处理

将命令行参数解析改为使用parser.GetOpt获取debug选项,
移除未使用的fmt和qqwry导入包

refactor(main): 清理示例代码

移除main.go中的
2026-01-04 00:16:49 +08:00
1
3cce8738cf ``feat(ip): 新增IP定位查询功能,支持通过API和网页解析获取归属地信息`` 2026-01-03 10:20:36 +00:00
c082eb3e91 ```
feat(login): 优化登录服务错误处理和用户状态验证

- 修改GetUserInfo错误处理,将致命错误改为业务错误返回
- 移除登录查询中的status条件限制
- 添加账户封禁状态检查功能
- 修复缓存设置中的passwordVersion参数传递问题

refactor(task): 调整任务配置表结构和字段定义

- 将表名从task_config改为config_task
- 移除TaskName字段
- 将ElfRewardIds从数组
2025-12-31 18:58:44 +08:00
027214ef85 ```
feat(user-service): 修改超级管理员ID并添加金币删除功能

- 将超级管理员ID从1改为10001
- 在用户更新时删除金币字段
- 调整异色宠物生成概率从1%到0
2025-12-31 16:29:32 +08:00
ba60b03bbf ```
feat(login): 添加Bcrypt密码哈希功能并集成用户认证

- 引入golang.org/x/crypto/bcrypt包用于密码哈希处理
- 实现HashPassword函数对密码进行Bcrypt哈希
- 实现CheckPasswordHash函数验证密码与哈希匹配
- 添加示例代码演示密码哈希和验证功能

feat(login): 集成外部用户信息服务

- 实现GetUserInfo方法调用外部服务获取用户信息
- 添加用户信息展示的示例代码
- 集成用户登录验证流程

fix
2025-12-31 16:20:01 +08:00
b8d6772256 ```
feat(fight_tawor): 优化试炼之塔和勇者之塔战斗逻辑

- 修正函数注释格式,使用正确的缩进格式化参数说明
- 移除硬编码的MapID设置,统一在EnterMap/LeaveMap中处理
- 将进入地图逻辑改为离开地图,优化战斗流程
- 简化退出战斗逻辑,移除重复的MapID设置

refactor(config): 重命名塔配置模型和接口前缀

- 将试炼之塔模型TrialTowerConfig重命名为Tower500Config
- 将勇者之塔模型BraveTowerConfig重命名为Tower600Config
- 移除重复的业务操作方法,统一使用基础配置
- 更新Boss控制器接口前缀从/monster/boss到/config/boss

refactor(boss): 移除不必要的导入和扩展结构

- 移除boss_pet.go中的冗余data包导入
- 移除BossConfigEX扩展结构,简化模型
2025-12-26 05:41:51 +08:00
164e70519f ```
refactor(cool): 修复Logger变量名拼写错误

将全局Logger变量从Loger修正为Logger,统一日志实例命名规范,
确保所有模块中日志记录的一致性。

BREAKING CHANGE: 全局日志实例变量名从Loger改为Logger
```
2025-12-25 12:14:04 +08:00
24d312ab90 ```
feat(player): 调整金币相关数据类型及计算逻辑

将金币相关的浮点数类型改为整型,避免精度问题。
- 修改 `BuyGoldItem` 中价格计算方式,使用 `float64` 转换以提高精度
- 更新玩家金币时传入 `int64` 类型,并统一单位为分
- 数据库字段 `goldbean` 类型由 `money` 改为 `bigint`
- 调整伤害区域逻辑,修复红色伤害类型处理流程
```
2025-12-17 00:05:03 +08:00
1
49b4c8cf2a refactor(item): 统一物品操作接口并优化金币处理逻辑 2025-12-16 06:54:27 +00:00
8983222dcb ```
refactor(logic): 重构服务器启动逻辑与任务状态管理

- 移除了 `gcmd` 包在 controller 中的直接使用,改为通过参数传递端口和服务器类型
- 统一使用 `GetTask` 和 `SetTask` 方法替代直接访问 `TaskList` 数组,提升代码可维护性
- 修改了战斗逻辑中部分调试打印语句,并优化战斗循环结束日志输出
- 调整了新手玩家初始化流程,默认完成新手任务4
- 更新了数据库模型字段及结构定义,如增加 `max_ts` 字段、扩展 `TaskList` 长度等
- 改进了宠物添加逻辑,采用 SQL 方式确保捕捉时间唯一递增
- 清理了无用或注释掉的旧代码块
2025-12-08 17:03:43 +08:00
35c89215f7 ```
feat(player): 重构玩家金币系统,使用BaseSysUserService管理金币

将玩家金币逻辑从PlayerInfo中移除,改为通过BaseSysUserService进行统一管理。
新增了金币的获取与设置方法,支持以分为单位的精确计算。
调整了登录时用户服务的初始化逻辑,确保User字段正确赋值。

fix(pet): 修复宠物性格道具使用逻辑错误

更新了多个性格相关道具的处理方式,包括新增的性格转换道具范围。
修正了性格随机与指定逻辑,避免越界问题并增强可维护性。

feat(fight): 战斗初始化时恢复宠物状态

在战斗初始化阶段调用宠物治愈方法,确保战斗开始前宠物处于健康状态。

feat(admin): 调整管理员会话获取接口参数类型

修改GetPerson方法传入参数为uint32类型,提高数据一致性与安全性。

refactor(model): 移除PlayerInfo中的GoldBean字段

金币字段不再存储于PlayerInfo结构体中,转而由BaseSysUser模块统一管理。
```
2025-12-06 23:59:00 +08:00
852ba53350 ```
fix(pet): 修复宠物融合与删除逻辑中的数据访问问题

- 在 PET_FUSION 控制器中注释掉调试代码并修正融合时使用的捕获时间参数
- 优化 player 模块中 Pet_del 方法的切片删除逻辑,避免潜在的数据竞争
- 修复 fight loop 中对手宠物列表的错误引用
- 调整数据库查询条件,将 id 字段从关键字搜索移至精确匹配字段
- 宠物服务中添加插入失败时的重试机制,并默认 free 状态为 1
```
2025-12-06 01:41:38 +08:00
f8ba7988d0 ```
feat(pet): 优化宠物融合错误码并记录原始捕获时间

- 将宠物融合过程中的错误码从 ErrSystemBusy 细分为多个更具体的错误码,
  如 ErrPokemonNotFusionReady、ErrPokemonNotFusionReady2 等,便于问题定位。
- 在融合成功后,新增记录主宠的旧捕捉时间(OldCatchTime)字段。
- 调整战斗捕捉逻辑,使用对手玩家的第一个宠物信息进行添加,并重置战斗结束原因。

refactor(service): 移除未使用的管理员会话结构体字段和清理部分冗余代码

- 注释掉 base_sys_user.go
2025-12-04 00:26:49 +08:00
ec14ab11c0 feat(fight): 优化战斗逻辑与奖励事件处理
- 在 `fight_boss.go` 中,调整了玩家挑战 Boss 的奖励事件注册逻辑,
  并在战斗结束后正确取消事件监听。
- 修改了多个技能效果文件(`effect_13.go`、`effect_38.go`、`effect_49.go`),
  增强状态持续时间计算和数据安全性。
- 更新 `player/done.go` 中的 `SPT` 方法签名以返回监听器实例。
- 调整数据库操作方法,将 `Update` 替换为 `Save` 以确保数据一致性。
- 修复菜单排序语法问题,统一使用字符串形式的排序表达式。
2025-11-17 13:37:08 +08:00
da9286d3d8 ```
feat(fight): 调整技能效果命中逻辑与回合开始处理

- 修改了技能效果命中的判定顺序,确保暴击计算在效果添加之前执行
- 修复了回合开始时敌我双方状态结算的上下文错误
- 优化了效果缓存初始化逻辑,避免重复添加相同效果
- 增加了效果去重判断,防止完全相同的效果被重复添加
- 调整了战斗循环中结束逻辑的位置,确保广播和通道关闭正确执行
- 更新了部分日志提示信息,使其更符合实际业务含义
- 移除了部分无用代码和注释,提高
2025-11-11 01:10:26 +08:00
3bbdbf0af3 ```
feat(common): 添加IP私有地址和环回地址判断函数

在 qqwry.go 中新增 isPrivateIP 和 isLoopbackIP 函数,用于判断 IPv4/IPv6
是否为私有地址或环回地址,并在查询 IP 时优先返回局域网和私有地址标识。

fix(base): 修正系统日志查询字段

将 base_sys_log.go 中的查询字段从 "user".name 更正为 "user".username,
确保关联查询正确显示用户名。
```
2025-11-06 12:26:23 +08:00
699db8406b ```
feat(base): 添加邮箱注册码功能及用户注册接口

- 在 `sessionManager` 中新增邮件注册码缓存管理实例和相关方法
- 实现生成、保存、验证、删除邮件注册码的逻辑
- 新增 `/reg` 和 `/email` 接口用于用户注册和发送验证码
- 引入 `golang-lru` 依赖以支持限流缓存功能
- 调整包导入顺序,优化代码结构
```
2025-11-04 11:44:07 +08:00
1
4da683d5ea feat(base): 添加邮件验证码发送功能并注释机器人测试代码 2025-11-04 02:46:28 +00:00
1
3735309f1b feat(base): 修正IP查询逻辑使用实际客户端IP而非固定测试IP 2025-11-03 17:23:12 +00:00
1
abaa51af38 feat(log): 添加QQWry IP数据库支持并实现IP地址解析功能 2025-11-03 16:19:24 +00:00
038bd0ce0c ```text
build(go): 升级 gf/v2 框架至 v2.7.0

统一将 common、login 和 mysql driver 中的 github.com/gogf/gf/v2 依赖版本从 v2.6.3 更新到 v2.7.0。

feat(logic): 优化道具服务逻辑与数据结构

- 修改 Item 结构体,去除 Data 字段,新增 ItemId 和 ItemCnt 字段以提高可读性和查询效率。
- 调整 Item 相关方法实现,包括 Item(), AddItem(), SubItem() 和 CheakItem() 方法,支持直接按范围获取及增减物品
2025-11-02 18:56:16 +08:00
cccf26788e fix(socket): 玩家断开连接时增加保存锁,避免重复保存
在玩家断开连接时,使用 sync.Once 确保只保存一次玩家数据,
防止因并发或多次触发导致的数据异常。

feat(fight): 增加战斗资格判断与邀请取消功能

- 新增 Player.CanFight() 方法用于统一判断是否可以参与战斗
- 在多个战斗相关接口中加入 CanFight 检查
- 添加“取消战斗邀请”指令及处理逻辑(cmd: 2402)
- 修复部分错误码不准确的问题,提升提示一致性

refactor(login): 优化登录流程并增强健壮性

- 提前校验 session 合法性
- 增强获取玩家信息后的空指针检查
- 调整挖矿数据重置方式为 defer 执行
- 优化日志输出内容,便于调试追踪

docs(model): 更新部门、菜单等模型字段命名规范

将 orderNum 字段改为 ordernum,保持数据库列名风格一致,
同时更新了 base_sys_role 中 userId 为 userid。

perf(rate-limit): 提高登录接口的限流 Burst 容量

调整限流器配置,将请求 burst 容量从 2 提升至 5,
以应对短时间高频访问场景,改善用户体验。

chore(build): 忽略新增编译产物和临时文件

在 .gitignore 中添加 logic/logic2、login/login 等新生成文件路径,
避免误提交二进制文件到版本控制。
2025-10-31 00:53:22 +08:00
95b2a3cd41 ```
feat(logic): 实现角色行走位置更新与账号加载功能

- 在 walk.go 中优化 Walk 方法,手动赋值替换 copier.Copy 提高可控性
- 在 main.go 中新增 loadAccounts 函数用于从 csv 文件加载账号并注册
- 新增 strings 包引用以支持文件内容按行分割
- 注释掉调试用的 fmt 打印语句,保留逻辑结构便于后续启用
- 在 base_sys_user.go 中增加 GetEamil 方法
2025-10-29 20:33:43 +08:00
e75ecd413d feat(fight): 重构战斗系统技能逻辑与精灵切换功能
- 优化技能执行流程,统一使用 SelectSkillAction 作为技能载体
- 移除冗余的技能 ID 字段,简化数据结构
- 调整命中判断和技能效果触发机制,提升准确性
- 修改精灵切换与捕获相关方法参数格式
- 更新技能列表结构为动态数组以支持灵活长度
- 完善睡眠等异常状态的处理逻辑
- 修复战斗中技能 PP 扣减及副本还原问题
- 清理无用代码,如多余的 FindWithIndex 函数定义
- 强化验证码缓存键命名规则,增强安全性
2025-10-26 20:56:03 +08:00
e12155f86f fix(base): 修复日志清理SQL语句中字段名引用问题
将 createTime 字段名用双引号包裹,确保在不同数据库环境下都能正确执行删除操作。
2025-10-19 03:17:03 +08:00
64c7bc204a ```
feat(base): 添加用户唯一性校验功能

在更新用户信息时,新增对用户唯一性字段的校验逻辑。通过遍历UniqueKey配置,
检查当前更新的字段值是否已存在于其他用户记录中,避免重复数据的产生。
```
2025-10-14 20:15:58 +08:00
14b7b03cef feat(base): 更新用户模型字段定义
移除已注释的字段定义,包括 Name、Phone 和 Role 相关字段。
调整字段顺序并保留有效字段:Username、Password、PasswordV、HeadImg、Email、Status、Remark。
2025-10-13 23:49:59 +08:00
79213c67d6 ```
fix(socket): 修复TCP连接处理中逻辑取反错误

修复了`handleTcp`函数中对`s.discorse`的判断条件错误,导致CORS配置未正确应用的问题。

feat(player): 增加地图切换标记支持

在`Player`结构体中新增`Changemap`字段,用于标识玩家是否切换过地图,并在相关业务逻辑中进行设置和判断。

feat(pet): 重构精灵生成与经验处理逻辑

将`GenPetInfo`方法从model包迁移至player包,增加个体值、性格、特性等随机生成逻辑,优化技能学习处理方式。

refactor(service): 优化定时任务与连接管理

使用`cool.Cron`替代原生ticker实现刷怪定时任务,优化连接获取方式,确保并发安全。

refactor(model): 移除冗余代码并优化结构

从`pet.go`中移除已迁移至`player`包的函数定义,精简模型结构,提升模块清晰度。

refactor(config): 更新部门及字典名称配置

将`base_sys_department.json`和
2025-10-13 18:51:41 +08:00
a1f6ce956e ```
feat(build): 添加 linux amd64 平台的逻辑编译脚本

在 build.bat 中新增 gox 编译命令,用于构建 linux amd64
2025-10-10 23:00:07 +08:00
b6164f3b9e feat(logic): 实现地图刷怪功能并优化数据库查询
- 在玩家结构中添加 StopChan 通道,用于停止刷怪协程
- 优化 MapEnter 和 MapLeave 函数,支持刷怪功能
- 新增 spawnMonsters 函数实现具体刷怪逻辑
- 优化多个模块的数据库查询语句,提高查询效率
- 调整 PlayerService 中的 Reg 函数,优化数据插入操作
2025-08-23 17:44:12 +08:00
bc4bd7eba6 refactor(login): 重构登录逻辑并优化用户信息获取
- 移除 controller 中的测试代码和不必要的注释
- 优化 login.go 中的用户信息获取逻辑,从 PlayerService 中获取玩家信息
- 删除 LoginSidInfo.go 中的冗余代码和未使用的函数
- 更新 admin 控制器中的 GetSession 方法,返回用户 ID 和 session
- 调整 base_sys_user 模型,移除冗余字段和注释
- 新增 GetPerson 方法在 base_sys_user 服务中获取用户信息
- 在 player 模型中添加 NewPlayerInfo 函数创建默认玩家信息
2025-08-22 22:40:32 +08:00
1
5d2b48ccc0 refactor(logging): 统一使用自定义Loger替代g.Log()日志记录 2025-07-26 03:48:06 +00:00
d71b1dd169 feat(base): 重置数据库序列并优化查询语句
- 在 base 模块初始化时添加重置所有序列的函数
- 修改多个模块中的查询语句,使用 Where(key, value) 替代 Where("key = ?", value)
- 优化部分代码结构,提高可读性和维护性
2025-07-11 03:36:42 +08:00
123543156b fix: 修改文件名大小写 2025-07-11 02:21:28 +08:00
038d3a96a4 1 2025-07-11 02:21:12 +08:00
2f3ca21165 feat(login): 重构 login 服务启动方式
- 修改 login 服务端口配置,支持动态分配
- 优化 login 服务启动流程,增加信号处理
- 调整 ServerOption 类型,支持 int 类型端口
- 移除 CommendSvrInfo 相关代码,简化结构
- 更新 main 函数,采用新的服务启动方式
2025-07-06 01:49:19 +08:00
b93897f0a4 feat/modules: 更新模块引用并添加 Redis 配置
- 更新 go.work 文件,添加 modules 引用
- 修改 logic/main.go,增加 Redis 模式监听
- 更新 login/main.go,引入 modules 模块
- 修改 manifest/config/config.yaml,添加 Redis 配置信息
2025-06-23 12:24:23 +08:00