```
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:
4
.gitignore
vendored
4
.gitignore
vendored
@@ -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
4
.vscode/launch.json
vendored
@@ -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",
|
||||
|
||||
@@ -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)
|
||||
|
||||
//}
|
||||
|
||||
|
||||
@@ -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) //还原技能效果
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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) //红伤落实前,我方增伤
|
||||
|
||||
@@ -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 //是否先手
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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"
|
||||
}
|
||||
]
|
||||
@@ -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
@@ -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
|
||||
}
|
||||
]
|
||||
@@ -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,
|
||||
|
||||
@@ -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
@@ -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
|
||||
}
|
||||
]
|
||||
@@ -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
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user