feat(rpc): 优化 RPC 客户端地址配置逻辑

- 将 RPC 地址从硬编码改为通过 service 动态获取
- 修改端口常量名称 rpcaddr 为 rpcport,提升语义清晰度
- 调整客户端连接逻辑以支持动态 IP 和端口拼接

fix(fight): 修复技能命中与闪避逻辑执行顺序

- 调整战斗中技能攻击流程,确保命中率和闪避计算正确应用
- 更新 effect 接口定义,增强技能使用前后的控制节点
- 增加伤害计算过程中的多阶段触发机制(加法、乘法、减法等)

feat(config): 更新数据库及 Redis 配置信息

- 修改 PostgreSQL 用户名、密码和数据库名
- 更新 Redis 访问密码
- 调整服务器 IP 获取方式,区分测试环境与生产环境

chore(vscode): 优化调试配置 console 输出设置

- 在 launch.json 中为调试配置增加 integratedTerminal 控制台选项
- 统一逻辑服务启动参数格式

chore(gitignore): 忽略特定平台编译产物

- 添加针对 Linux 平台的 logic 和 login 模块编译文件忽略规则
```
This commit is contained in:
2025-09-28 01:58:42 +08:00
parent d7712ef70f
commit 6eb244b73f
20 changed files with 3406 additions and 1682 deletions

4
.gitignore vendored
View File

@@ -28,4 +28,6 @@ data/redis/
go.work.sum
__debug_*
frontend/
*.exe
*.exe
logic/logic_linux_amd64
login/login_linux_amd64

4
.vscode/launch.json vendored
View File

@@ -23,7 +23,7 @@
"mode": "auto",
"cwd": "${workspaceFolder}",
"args": ["-port=1"," -race"],
"program": "${workspaceFolder}/logic",
"program": "${workspaceFolder}/logic", "console": "integratedTerminal"
}, {
"name": "Launch logic2",
@@ -33,7 +33,7 @@
"cwd": "${workspaceFolder}",
"args": ["-port=2"],
"program": "${workspaceFolder}/logic", "console": "integratedTerminal"
"program": "${workspaceFolder}/logic",
},
{
"name": "Launch login-tcp",

View File

@@ -3,6 +3,7 @@ package rpc
import (
"blazing/common/data/share"
"blazing/cool"
"blazing/modules/base/service"
"context"
"fmt"
"log"
@@ -11,7 +12,7 @@ import (
"github.com/filecoin-project/go-jsonrpc"
)
const rpcaddr = "127.0.0.1:40000"
const rpcport = ":40000"
var clientmap = make(map[uint16]*ClientHandler) //客户端map
var clientidmap = make(map[uint16]uint16) //客户端map
@@ -76,7 +77,7 @@ func StartServer() {
// testjsonrpc()
// })
err := http.ListenAndServe(rpcaddr, rpcServer)
err := http.ListenAndServe(rpcport, rpcServer)
cool.Loger.Debug(context.Background(), "jsonrpc server fail", err)
}
@@ -88,18 +89,20 @@ func StartClient(id, port uint16, callback any) *struct {
RegisterLogic func(uint16, uint16) error
} {
var rpcaddr, _ = service.NewBaseSysParamService().DataByKey(context.Background(), "server_ip")
closer1, err := jsonrpc.NewMergeClient(context.Background(),
"ws://"+rpcaddr, "", []interface{}{
"ws://"+rpcaddr+rpcport, "", []interface{}{
&RPCClient,
}, nil, jsonrpc.WithClientHandler("", callback),
jsonrpc.WithReconnFun(func() { RPCClient.RegisterLogic(id, port) }),//TODO 这里会出现server0注册
jsonrpc.WithReconnFun(func() { RPCClient.RegisterLogic(id, port) }), //TODO 这里会出现server0注册
)
if err != nil {
log.Fatalf("Failed to create client: %v", err)
}
//if port != 0 { //注册logic
RPCClient.RegisterLogic(id, port)
RPCClient.RegisterLogic(id, port)
//}

View File

@@ -388,10 +388,10 @@ func (f *FightC) parseskill(attacker, defender *input.Input, id *SelectSkillActi
args := xmlres.EffectArgs[v]
if t.Effect.GetOwner() { //如果取反,说明是给对方添加的回合效果
if t.ID != 0 && t.Effect.GetOwner() { //如果取反,说明是给对方添加的回合效果
//实际上,owner永远为反,说明是对方给我添加的
t.Effect.SetArgs(attacker, temparg[:args]...) //设置入参,施加方永远是我方
attacker.AddEffect(t) //给双方添加
//给双方添加
defender.AddEffect(t)
} else {
t.Effect.SetArgs(attacker, temparg[:args]...) //设置入参
@@ -421,7 +421,14 @@ func (f *FightC) initAttackers(fattack BattleActionI) {
// 处理技能攻击逻辑
func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *SelectSkillAction) {
skill.AttackTimeC(int(u.GetProp(5, true))) //计算命中
defender.Exec(func(t input.Effect) (bool { //计算闪避 ,然后修改对方命中),同时相当于计算属性无效这种
t.PreUseSkill(attacker, skill)
return true
})
f.parseskill(attacker, defender, a) //是否miss都应该施加解析effect
// 记录技能信息
attacker.AttackValue.SkillID = uint32(a.Skill.ID) //获取技能ID
@@ -431,17 +438,11 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *SelectSk
return true
})
defender.Exec(func(t input.Effect) bool { //计算闪避
t.BeforeSkill(attacker, a.Skill)
return true
})
attacker.UseSkill(defender, a.Skill) //攻击方计算技能使用
attacker.AttackValue.AttackTime = a.Skill.AttackTime
f.parseskill(attacker, defender, a) //是否miss都应该施加解析effect
if attacker.AttackValue.AttackTime > 0 { //如果命中
attacker.DamageZone.Attack = int(attacker.CalculatePower(defender, a.Skill).IntPart())
@@ -461,7 +462,7 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *SelectSk
})
defender.Exec(func(t input.Effect) bool {
if t.GetOwner() { //如果取反,说明是给对方添加的回合效果
if t.GetInput() == attacker { //如果取反,说明是给对方添加的回合效果
t.Hit(true)
}
return true
@@ -476,7 +477,7 @@ func (f *FightC) processSkillAttack(attacker, defender *input.Input, a *SelectSk
return true
})
defender.Damage(attacker, info.DamageZone{
defender.Damage(attacker, a.Skill, info.DamageZone{
Type: info.DamageType.Red,
Damage: decimal.NewFromInt(int64(attacker.DamageZone.Attack)),
})
@@ -516,19 +517,24 @@ func (f *FightC) enterturn(fattack, sattack BattleActionI) {
return true
})
canuseskill := attacker.Exec(func(t input.Effect) bool { //这个是能否使用技能
//结算状态
return t.CanSkill(defender) //返回本身结算,如果false,说明不能使用技能了
})
skill, ok := attackeraction.(*SelectSkillAction)
if !ok || attacker.CurrentPet.Info.Hp <= 0 { //还有系统选择放弃出手的
attacker.AttackValue.SkillID = 0
canuseskill = false
}
if canuseskill { //可以使用技能
oldskill, _ := deepcopy.Anything(skill.Skill) //备份技能
canuseskillok := attacker.Exec(func(t input.Effect) bool { //这个是能否使用技能
//结算状态
//然后这里还可以处理自爆类
return t.CanSkill(defender,skill) //返回本身结算,如果false,说明不能使用技能了
})
if !canuseskill||!canuseskillok{ //可以使用技能
f.processSkillAttack(attacker, defender, skill)
skill.Skill = oldskill.(*info.SkillEntity) //还原技能效果

View File

@@ -166,7 +166,7 @@ func getSkillName(move *SkillEntity) string {
// 计算是否命中
func (s *SkillEntity) AttackTimeC(level int) {
s.AttackTime = 0 //先重置上一次的
//s.AttackTime = 0 //先重置上一次的
if s.MustHit != 0 {
s.AttackTime = 2
}

View File

@@ -5,38 +5,37 @@ import (
)
type Effect interface {
OnBattleStart() bool //战斗开始
OnTurnStart(opp *Input) //回合开始,注入特性
PreActionStart() bool //行动开始前,注入视为等参数在这里实现
CanSkill(opp *Input) bool //使用技能 可以取消用技能节点
PreSkill(opp *Input, skill *info.SkillEntity) //技能修改,比如变威力
BeforeSkill(opp *Input, skill *info.SkillEntity) // 技能命中前触发//预处理受击技能 被攻击方效果
OnBattleStart() bool //战斗开始
OnTurnStart(opp *Input) //回合开始,注入特性
PreSkill(opp *Input, skill *info.SkillEntity) //对技能修改,比如变威力 行动开始前,注入视为等参数在这里实现
PreUseSkill(opp *Input, skill *info.SkillEntity) // 技能命中前触发//预处理受击技能 被攻击方效果,比如受击时无效技能这样
OnSkill(opp *Input, skill *info.SkillEntity) // 触发on miss onhit
BeferProp(in *Input, prop, level int8, ptype info.EnumAbilityOpType) bool //锁定属性
CanSkill(opp *Input, skill *info.SkillEntity) bool //使用技能 可以取消用技能节点 技能无效节点锁定伤害加上
Damage_ADD(opp *Input, skill *info.SkillEntity, id *info.DamageZone) bool // 攻击前触发 ,这时候就是+区间
Damage_Mul(opp *Input, skill *info.SkillEntity, id *info.DamageZone) bool // 攻击触发
SetArgs(input *Input, param ...int)
Damage_Floor(opp *Input, skill *info.SkillEntity, id *info.DamageZone) bool // 保底伤害
Damage_DIV(opp *Input, skill *info.SkillEntity, id *info.DamageZone) bool //受击前触发 这时候就是百分比减伤区间
Damage_SUB(opp *Input, skill *info.SkillEntity, id *info.DamageZone) bool // 受击触发 这时候就是点数减伤
Damage_Lock(opp *Input, skill *info.SkillEntity, id *info.DamageZone) bool //锁定伤害
BeforeAttack(opp *Input, id *info.DamageZone) // 攻击前触发 ,这时候就是+区间
Attack(opp *Input, id *info.DamageZone) // 攻击触发
Damage_Post() bool // 伤害结算后触发(血量扣除后),
FloorDamage(opp *Input, id *info.DamageZone) // 保底伤害
BeforeAttacked(opp *Input, id *info.DamageZone) //受击前触发 这时候就是百分比减伤区间
Attacked(opp *Input, id *info.DamageZone) // 受击触发 这时候就是点数减伤
LockDamage(opp *Input, id *info.DamageZone) //锁定伤害
PostDamage() bool // 伤害结算后触发(血量扣除后),比如触发回神,反弹也在这里实现
Shield() bool // 护盾值变化时触发
Shield() bool // 护盾值变化时触发
OnSwitchIn() bool // 精灵出战 / 上场时触发
OnSwitchOut() bool // 精灵下场时触发
OnOwnerSwitchIn() bool // 所属玩家精灵出战时触发
OnOwnerSwitchOut() bool // 所属玩家精灵下场时触发
OnActionEnd() bool //行动结束后
TurnEnd(opp *Input) //闪避率计算,,实际上是修改命中的判断
PreBattleEnd() bool //战斗结束前
OnBattleEnd() bool //战斗结束
TurnEnd(opp *Input) //闪避率计算,,实际上是修改命中的判断
PreBattleEnd() bool //战斗结束前
OnBattleEnd() bool //战斗结束
BeferProp(in *Input, prop, level int8, ptype info.EnumAbilityOpType) bool //锁定属性
SetArgs(input *Input, param ...int)
// OnSkillPP() bool //技能PP减少节点
// // 治疗相关触发
// OnBeforeHeal() bool // 治疗前触发
@@ -52,5 +51,6 @@ type Effect interface {
MaxStack(...int) int
NotALive()
GetOwner() bool // 技能属主,比如寄生和镇魂歌,属主是对方)
GetInput() *Input
//GetSkill() *BattleSkillEntity //获得技能ctx
}

View File

@@ -10,7 +10,7 @@ import (
)
func (u *Input) UseSkill(opp *Input, skill *info.SkillEntity) {
skill.AttackTimeC(int(u.GetProp(5, true))) //计算命中
skill.Crit = 0
if skill.Category() == info.Category.STATUS { //属性技能不用算暴击
return
@@ -41,8 +41,9 @@ func (u *Input) UseSkill(opp *Input, skill *info.SkillEntity) {
}
// 伤害落实
func (u *Input) Damage(attacker *Input, id info.DamageZone) {
// 伤害落实 // 血量扣减节点比如触发回神,反弹也在这里实现
func (u *Input) Damage(attacker *Input, skill info.SkillEntity, id info.DamageZone) {
attacker.Exec(func(t Effect) bool {
t.BeforeAttack(u, &id) //红伤落实前,我方增伤

View File

@@ -19,8 +19,13 @@ type Input struct {
// info.BattleActionI
Effects *utils.OrderedMap[int, Effect] //effects 实际上全局就是effect无限回合 //effects容器 技能的
DamageZone struct {
Attack int //攻击伤害
OldAttack int //攻击伤害被挡前伤害记录
Damage int //伤害
BeforeADD int //攻击伤害
BeforeMul int
BeforeDiv int
BeforeSUB int
BeforeLock int //锁伤 先锁受击方,再锁攻击方 受击方免疫也是这么锁 免疫等于锁0
//OldAttack int //攻击伤害被挡前伤害记录
} //伤害容器
First bool //是否先手
}

View File

@@ -5,6 +5,7 @@ import (
"blazing/logic/service/player"
baseservice "blazing/modules/base/service"
"blazing/modules/blazing/model"
"context"
"github.com/butoften/array"
)
@@ -82,14 +83,17 @@ func GetServerInfoList() []ServerInfo {
t.Structs(&ret)
//fmt.Println(t)
var ret1 []ServerInfo
ip := baseservice.NewBaseSysConfService().GetValue("server_ip")
ip, _ := baseservice.NewBaseSysParamService().DataByKey(context.Background(), "server_ip")
testip, _ := baseservice.NewBaseSysParamService().DataByKey(context.Background(), "test_ip")
for _, v := range ret {
tt := newServerInfo()
tt.OnlineID = uint32(v.OnlineID)
// tt.UserCnt = v.UserCnt
//tt.IP = v.IP
tt.IP = ip
if tt.OnlineID == 2 {
tt.IP = testip
}
tt.Port = v.Port
// tt.Friends = v.Friends
ret1 = append(ret1, *tt)

View File

@@ -18,9 +18,9 @@ database:
type: "pgsql"
host: "122.10.117.123"
port: "5432"
user: "seer"
pass: "seer"
name: "seer"
user: "bl"
pass: "WYrM5ZYFnX7Y8PRC"
name: "bl"
debug: true
timezone: "Asia/Shanghai"
createdAt: "createTime"
@@ -52,7 +52,7 @@ redis:
cool:
address: "122.10.117.123:6379"
db: 0
pass: "redis_3zXPwf"
pass: "redis_PPn5iT"
blazing:
autoMigrate: true

File diff suppressed because one or more lines are too long

View File

@@ -1,10 +1,10 @@
[
{
"id": 1,
"createTime": "2021-02-26 13:53:05.000000",
"updateTime": "2021-03-03 17:50:04.000000",
"createTime": "2025-07-05 16:23:10.896559 +00:00",
"updateTime": "2025-07-05 16:23:10.896559 +00:00",
"deleted_at": null,
"cKey": "server_ip",
"cValue": "127.0.0.1"
"cValue": "192.168.1.44"
}
]

View File

@@ -1,34 +1,38 @@
[
{
"id": 1,
"createTime": "2021-02-24 21:17:11.971397",
"updateTime": "2021-02-24 21:17:15.697917",
"createTime": "2025-07-05 11:18:43.560949 +00:00",
"updateTime": "2025-07-05 11:18:43.560949 +00:00",
"deleted_at": null,
"name": "COOL",
"parentId": null,
"orderNum": 0
},
{
"id": 11,
"createTime": "2021-02-26 14:17:06.690613",
"updateTime": "2021-02-26 14:17:06.690613",
"createTime": "2025-07-05 11:18:43.560949 +00:00",
"updateTime": "2025-07-05 11:18:43.560949 +00:00",
"deleted_at": null,
"name": "开发",
"parentId": "1",
"parentId": 1,
"orderNum": 0
},
{
"id": 12,
"createTime": "2021-02-26 14:17:11.576369",
"updateTime": "2021-02-26 14:17:11.576369",
"createTime": "2025-07-05 11:18:43.560949 +00:00",
"updateTime": "2025-07-05 11:18:43.560949 +00:00",
"deleted_at": null,
"name": "测试",
"parentId": "1",
"parentId": 1,
"orderNum": 0
},
{
"id": 13,
"createTime": "2021-02-26 14:28:59.685177",
"updateTime": "2021-02-26 14:28:59.685177",
"createTime": "2025-07-05 11:18:43.560949 +00:00",
"updateTime": "2025-07-05 11:18:43.560949 +00:00",
"deleted_at": null,
"name": "游客",
"parentId": "1",
"parentId": 1,
"orderNum": 0
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +1,35 @@
[
{
"id": 1,
"createTime": "2021-02-26 13:53:05.000000",
"updateTime": "2021-03-03 17:50:04.000000",
"keyName": "text",
"name": "富文本参数",
"data": "<p><strong class=\"ql-size-huge\">111xxxxx2222<span class=\"ql-cursor\"></span></strong></p>",
"dataType": 0,
"remark": null
},
{
"id": 2,
"createTime": "2021-02-26 13:53:18.000000",
"updateTime": "2021-02-26 13:53:18.000000",
"createTime": "2025-07-05 11:18:43.780757 +00:00",
"updateTime": "2025-07-05 11:18:43.780757 +00:00",
"deleted_at": null,
"keyName": "json",
"name": "JSON参数",
"data": "{\n code: 111\n}",
"dataType": 0,
"remark": null
},
{
"id": 3,
"createTime": "2025-07-24 01:57:40.852696 +00:00",
"updateTime": "2025-07-24 01:57:40.852696 +00:00",
"deleted_at": "2025-07-24 01:58:08.256613 +00:00",
"keyName": "22222",
"name": "2222",
"data": "",
"dataType": 0,
"remark": null
},
{
"id": 1,
"createTime": "2025-07-05 11:18:43.000000 +00:00",
"updateTime": "2025-08-23 07:12:17.933214 +00:00",
"deleted_at": null,
"keyName": "text",
"name": "富文本参数",
"data": "<p><strong>111xxxxx2222 </strong></p>",
"dataType": 0,
"remark": null
}
]

View File

@@ -1,9 +1,21 @@
[
{
"id": 12,
"createTime": "2025-07-05 11:18:43.280967 +00:00",
"updateTime": "2025-07-05 11:18:43.280967 +00:00",
"deleted_at": null,
"userId": "10001",
"name": "开发",
"label": "dev",
"remark": null,
"relevance": 0
},
{
"id": 1,
"createTime": "2021-02-24 21:18:39.682358",
"updateTime": "2021-02-24 21:18:39.682358",
"userId": "1",
"createTime": "2025-07-05 11:18:43.280967 +00:00",
"updateTime": "2025-07-05 11:18:43.280967 +00:00",
"deleted_at": null,
"userId": "10001",
"name": "超管",
"label": "admin",
"remark": "最高权限的角色",
@@ -11,9 +23,10 @@
},
{
"id": 10,
"createTime": "2021-02-26 14:15:38.000000",
"updateTime": "2021-02-26 14:15:38.000000",
"userId": "1",
"createTime": "2025-07-05 11:18:43.280967 +00:00",
"updateTime": "2025-07-05 11:18:43.280967 +00:00",
"deleted_at": null,
"userId": "10001",
"name": "系统管理员",
"label": "admin-sys",
"remark": null,
@@ -21,29 +34,21 @@
},
{
"id": 11,
"createTime": "2021-02-26 14:16:49.044744",
"updateTime": "2021-02-26 14:16:49.044744",
"userId": "1",
"createTime": "2025-07-05 11:18:43.280967 +00:00",
"updateTime": "2025-07-05 11:18:43.280967 +00:00",
"deleted_at": null,
"userId": "10001",
"name": "游客",
"label": "visitor",
"remark": null,
"relevance": 0
},
{
"id": 12,
"createTime": "2021-02-26 14:26:51.000000",
"updateTime": "2021-02-26 14:32:35.000000",
"userId": "1",
"name": "开发",
"label": "dev",
"remark": null,
"relevance": 0
},
{
"id": 13,
"createTime": "2021-02-26 14:27:58.000000",
"updateTime": "2021-02-26 14:33:49.000000",
"userId": "1",
"createTime": "2025-07-05 11:18:43.000000 +00:00",
"updateTime": "2025-08-23 08:09:34.626121 +00:00",
"deleted_at": null,
"userId": "10001",
"name": "测试",
"label": "test",
"remark": null,

View File

@@ -1,65 +1,106 @@
[
{
"id": 1,
"createTime": "2021-02-26 12:00:23.787939",
"updateTime": "2021-02-26 12:00:23.787939",
"roleId": "8",
"departmentId": "4"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 8,
"departmentId": 4
},
{
"id": 2,
"createTime": "2021-02-26 12:01:11.525205",
"updateTime": "2021-02-26 12:01:11.525205",
"roleId": "9",
"departmentId": "1"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 9,
"departmentId": 1
},
{
"id": 3,
"createTime": "2021-02-26 12:01:11.624266",
"updateTime": "2021-02-26 12:01:11.624266",
"roleId": "9",
"departmentId": "4"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 9,
"departmentId": 4
},
{
"id": 4,
"createTime": "2021-02-26 12:01:11.721894",
"updateTime": "2021-02-26 12:01:11.721894",
"roleId": "9",
"departmentId": "5"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 9,
"departmentId": 5
},
{
"id": 5,
"createTime": "2021-02-26 12:01:11.823342",
"updateTime": "2021-02-26 12:01:11.823342",
"roleId": "9",
"departmentId": "8"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 9,
"departmentId": 8
},
{
"id": 6,
"createTime": "2021-02-26 12:01:11.922873",
"updateTime": "2021-02-26 12:01:11.922873",
"roleId": "9",
"departmentId": "9"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 9,
"departmentId": 9
},
{
"id": 23,
"createTime": "2021-02-26 14:32:40.354669",
"updateTime": "2021-02-26 14:32:40.354669",
"roleId": "12",
"departmentId": "11"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 12,
"departmentId": 11
},
{
"id": 25,
"createTime": "2021-02-26 14:32:59.726608",
"updateTime": "2021-02-26 14:32:59.726608",
"roleId": "10",
"departmentId": "1"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": null,
"roleId": 10,
"departmentId": 1
},
{
"id": 27,
"createTime": "2021-02-26 14:33:54.579947",
"updateTime": "2021-02-26 14:33:54.579947",
"roleId": "13",
"departmentId": "12"
"createTime": "2025-08-23 05:43:53.849563 +00:00",
"updateTime": "2025-08-23 05:43:53.849563 +00:00",
"deleted_at": "2025-08-23 07:42:11.081001 +00:00",
"roleId": 13,
"departmentId": 12
},
{
"id": 28,
"createTime": "2025-08-23 07:42:11.118641 +00:00",
"updateTime": "2025-08-23 07:42:11.118641 +00:00",
"deleted_at": "2025-08-23 07:47:36.012774 +00:00",
"roleId": 13,
"departmentId": 12
},
{
"id": 29,
"createTime": "2025-08-23 07:47:36.056391 +00:00",
"updateTime": "2025-08-23 07:47:36.056391 +00:00",
"deleted_at": "2025-08-23 08:06:24.924177 +00:00",
"roleId": 13,
"departmentId": 12
},
{
"id": 30,
"createTime": "2025-08-23 08:06:24.956074 +00:00",
"updateTime": "2025-08-23 08:06:24.956074 +00:00",
"deleted_at": "2025-08-23 08:09:34.744853 +00:00",
"roleId": 13,
"departmentId": 12
},
{
"id": 31,
"createTime": "2025-08-23 08:09:34.783688 +00:00",
"updateTime": "2025-08-23 08:09:34.783688 +00:00",
"deleted_at": null,
"roleId": 13,
"departmentId": 12
}
]

File diff suppressed because it is too large Load Diff

View File

@@ -1,19 +1,38 @@
[
{
"id": 10001,
"createTime": "2021-02-24 21:16:41.525157",
"updateTime": "2021-02-27 18:21:16.000000",
"departmentId": "1",
"name": "超级管理员",
"createTime": "2025-07-05 11:18:43.064150 +00:00",
"updateTime": "2025-07-05 11:18:43.064150 +00:00",
"deleted_at": null,
"departmentId": 1,
"username": "admin",
"password": "e10adc3949ba59abbe56e057f20f883e",
"passwordV": 3,
"nickName": "管理员",
"headImg": "",
"headImg": " ",
"phone": "18000000000",
"email": "123456@123.com",
"status": 1,
"remark": "拥有最高权限的用户",
"socketId": null
"socketId": null,
"isNew": false
},
{
"id": 10002,
"createTime": "2025-08-15 16:21:02.000000 +00:00",
"updateTime": "2025-08-23 08:09:49.258343 +00:00",
"deleted_at": null,
"departmentId": 1,
"username": "test",
"password": "e10adc3949ba59abbe56e057f20f883e",
"passwordV": 1,
"nickName": "test",
"headImg": null,
"phone": null,
"email": null,
"status": 1,
"remark": null,
"socketId": null,
"isNew": false
}
]

View File

@@ -1,205 +1,306 @@
[
{
"id": 1,
"createTime": "2021-02-24 22:03:11.665805",
"updateTime": "2021-02-24 22:03:11.665805",
"userId": "10001",
"roleId": "1"
},
{
"id": 2,
"createTime": "2021-02-25 11:03:55.325988",
"updateTime": "2021-02-25 11:03:55.325988",
"userId": "2",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 2,
"roleId": 1
},
{
"id": 3,
"createTime": "2021-02-25 14:30:57.295150",
"updateTime": "2021-02-25 14:30:57.295150",
"userId": "3",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 3,
"roleId": 1
},
{
"id": 4,
"createTime": "2021-02-25 14:39:32.975014",
"updateTime": "2021-02-25 14:39:32.975014",
"userId": "4",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 4,
"roleId": 1
},
{
"id": 5,
"createTime": "2021-02-25 14:40:56.812948",
"updateTime": "2021-02-25 14:40:56.812948",
"userId": "5",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 5,
"roleId": 1
},
{
"id": 6,
"createTime": "2021-02-25 14:44:08.436555",
"updateTime": "2021-02-25 14:44:08.436555",
"userId": "6",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 6,
"roleId": 1
},
{
"id": 7,
"createTime": "2021-02-25 14:46:17.409232",
"updateTime": "2021-02-25 14:46:17.409232",
"userId": "7",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 7,
"roleId": 1
},
{
"id": 8,
"createTime": "2021-02-25 14:47:47.211749",
"updateTime": "2021-02-25 14:47:47.211749",
"userId": "8",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 8,
"roleId": 1
},
{
"id": 9,
"createTime": "2021-02-25 14:48:11.734024",
"updateTime": "2021-02-25 14:48:11.734024",
"userId": "9",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 9,
"roleId": 1
},
{
"id": 10,
"createTime": "2021-02-25 14:50:48.288616",
"updateTime": "2021-02-25 14:50:48.288616",
"userId": "10",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 10,
"roleId": 1
},
{
"id": 11,
"createTime": "2021-02-25 14:51:32.123884",
"updateTime": "2021-02-25 14:51:32.123884",
"userId": "11",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 11,
"roleId": 1
},
{
"id": 12,
"createTime": "2021-02-25 15:46:26.356943",
"updateTime": "2021-02-25 15:46:26.356943",
"userId": "12",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 12,
"roleId": 1
},
{
"id": 13,
"createTime": "2021-02-25 15:56:43.475155",
"updateTime": "2021-02-25 15:56:43.475155",
"userId": "13",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 13,
"roleId": 1
},
{
"id": 14,
"createTime": "2021-02-25 16:03:14.417784",
"updateTime": "2021-02-25 16:03:14.417784",
"userId": "14",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 14,
"roleId": 1
},
{
"id": 16,
"createTime": "2021-02-25 16:22:11.200152",
"updateTime": "2021-02-25 16:22:11.200152",
"userId": "16",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 16,
"roleId": 1
},
{
"id": 17,
"createTime": "2021-02-25 17:44:37.635550",
"updateTime": "2021-02-25 17:44:37.635550",
"userId": "15",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 15,
"roleId": 1
},
{
"id": 19,
"createTime": "2021-02-25 17:51:00.554812",
"updateTime": "2021-02-25 17:51:00.554812",
"userId": "18",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 18,
"roleId": 1
},
{
"id": 21,
"createTime": "2021-02-25 17:54:41.375113",
"updateTime": "2021-02-25 17:54:41.375113",
"userId": "17",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 17,
"roleId": 1
},
{
"id": 22,
"createTime": "2021-02-25 17:55:49.385301",
"updateTime": "2021-02-25 17:55:49.385301",
"userId": "20",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 20,
"roleId": 1
},
{
"id": 24,
"createTime": "2021-02-25 17:58:35.452363",
"updateTime": "2021-02-25 17:58:35.452363",
"userId": "22",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 22,
"roleId": 1
},
{
"id": 27,
"createTime": "2021-02-25 21:25:55.005236",
"updateTime": "2021-02-25 21:25:55.005236",
"userId": "19",
"roleId": "1"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 19,
"roleId": 1
},
{
"id": 28,
"createTime": "2021-02-26 13:50:05.633242",
"updateTime": "2021-02-26 13:50:05.633242",
"userId": "21",
"roleId": "8"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 21,
"roleId": 8
},
{
"id": 29,
"createTime": "2021-02-26 13:50:17.836990",
"updateTime": "2021-02-26 13:50:17.836990",
"userId": "23",
"roleId": "8"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 23,
"roleId": 8
},
{
"id": 38,
"createTime": "2021-02-26 14:36:08.899046",
"updateTime": "2021-02-26 14:36:08.899046",
"userId": "26",
"roleId": "13"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 26,
"roleId": 13
},
{
"id": 39,
"createTime": "2021-02-26 14:36:13.149510",
"updateTime": "2021-02-26 14:36:13.149510",
"userId": "25",
"roleId": "13"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 25,
"roleId": 13
},
{
"id": 40,
"createTime": "2021-02-26 14:36:20.737073",
"updateTime": "2021-02-26 14:36:20.737073",
"userId": "27",
"roleId": "11"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 27,
"roleId": 11
},
{
"id": 42,
"createTime": "2021-02-26 14:36:53.481478",
"updateTime": "2021-02-26 14:36:53.481478",
"userId": "24",
"roleId": "12"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 24,
"roleId": 12
},
{
"id": 43,
"createTime": "2021-02-26 14:36:58.477817",
"updateTime": "2021-02-26 14:36:58.477817",
"userId": "28",
"roleId": "12"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 28,
"roleId": 12
},
{
"id": 44,
"createTime": "2021-02-26 14:36:58.577114",
"updateTime": "2021-02-26 14:36:58.577114",
"userId": "28",
"roleId": "10"
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 28,
"roleId": 10
},
{
"id": 1,
"createTime": "2025-07-05 11:18:43.184896 +00:00",
"updateTime": "2025-07-05 11:18:43.184896 +00:00",
"deleted_at": null,
"userId": 10001,
"roleId": 1
},
{
"id": 45,
"createTime": "2025-08-15 16:21:57.696585 +00:00",
"updateTime": "2025-08-15 16:21:57.696585 +00:00",
"deleted_at": "2025-08-23 05:22:24.765856 +00:00",
"userId": 10002,
"roleId": 11
},
{
"id": 46,
"createTime": "2025-08-15 16:21:57.696585 +00:00",
"updateTime": "2025-08-15 16:21:57.696585 +00:00",
"deleted_at": "2025-08-23 05:22:24.765856 +00:00",
"userId": 10002,
"roleId": 10
},
{
"id": 47,
"createTime": "2025-08-23 05:22:24.801744 +00:00",
"updateTime": "2025-08-23 05:22:24.801744 +00:00",
"deleted_at": "2025-08-23 07:51:40.635948 +00:00",
"userId": 10002,
"roleId": 11
},
{
"id": 48,
"createTime": "2025-08-23 05:22:24.801744 +00:00",
"updateTime": "2025-08-23 05:22:24.801744 +00:00",
"deleted_at": "2025-08-23 07:51:40.635948 +00:00",
"userId": 10002,
"roleId": 10
},
{
"id": 49,
"createTime": "2025-08-23 05:22:24.801744 +00:00",
"updateTime": "2025-08-23 05:22:24.801744 +00:00",
"deleted_at": "2025-08-23 07:51:40.635948 +00:00",
"userId": 10002,
"roleId": 12
},
{
"id": 50,
"createTime": "2025-08-23 07:51:40.670112 +00:00",
"updateTime": "2025-08-23 07:51:40.670112 +00:00",
"deleted_at": "2025-08-23 07:52:15.011567 +00:00",
"userId": 10002,
"roleId": 12
},
{
"id": 51,
"createTime": "2025-08-23 07:51:40.670112 +00:00",
"updateTime": "2025-08-23 07:51:40.670112 +00:00",
"deleted_at": "2025-08-23 07:52:15.011567 +00:00",
"userId": 10002,
"roleId": 13
},
{
"id": 52,
"createTime": "2025-08-23 07:51:40.670112 +00:00",
"updateTime": "2025-08-23 07:51:40.670112 +00:00",
"deleted_at": "2025-08-23 07:52:15.011567 +00:00",
"userId": 10002,
"roleId": 11
},
{
"id": 53,
"createTime": "2025-08-23 07:52:15.053358 +00:00",
"updateTime": "2025-08-23 07:52:15.053358 +00:00",
"deleted_at": null,
"userId": 10002,
"roleId": 13
}
]