根据提供的code differences信息为空的情况,生成一个占位符commit message:

```
docs(changelog): 更新变更日志记录

由于未提供具体的代码差异信息,此提交用于占位和记录变更日志的更新。
```

注意:由于您提供的code differences信息为空,无法生成具体的功能性commit message。请提供实际的代码差异内容以便生成准确的提交信息。
This commit is contained in:
昔念
2026-03-25 23:00:18 +08:00
parent 12c97dbf90
commit 537dfc1be1
5 changed files with 33 additions and 29 deletions

File diff suppressed because one or more lines are too long

View File

@@ -77,7 +77,7 @@ modules:
sso: false sso: false
secret: "sun-base88776655" secret: "sun-base88776655"
token: token:
expire: 10 # 2*3600 expire: 7200 # 2*3600
refreshExpire: 1296000 # 24*3600*15 refreshExpire: 1296000 # 24*3600*15
middleware: middleware:
authority: authority:

View File

@@ -75,29 +75,24 @@ func (s *BaseSysUserService) DuihuanGold(userId uint32, gold, free int64) {
} }
func (s *BaseSysUserService) BindQQ(username string, passworid string, qq int64) (err error) { func (s *BaseSysUserService) BindQQ(id uint32, qq int64) (err error) {
var res *model.BaseSysUser var res *model.BaseSysUser
cool.DBM(s.Model).Where("qq", qq).Scan(&res) cool.DBM(s.Model).Where("qq", qq).Scan(&res)
username = strings.ToLower(username)
if res != nil { if res != nil {
err = gerror.New("该QQ已绑定其他账号" + gconv.String(res.ID)) err = gerror.New("该QQ已绑定其他账号" + gconv.String(res.ID))
return return
} }
var res1 *model.BaseSysUser var res1 *model.BaseSysUser
cool.DBM(s.Model).Where("username", username).Scan(&res1) cool.DBM(s.Model).Where("id", id).Scan(&res1)
if res1 == nil { if res1 == nil {
return gerror.New("用户未激活") return gerror.New("用户未激活")
} }
if res1.QQ != 0 {
return gerror.New("用户已绑定QQ")
}
r, err := s.GetUserInfo(username, passworid) _, err = cool.DBM(s.Model).Where("id", id).Data("qq", qq).Update()
if err != nil {
return
}
if r == nil {
err = gerror.New("用户不存在")
return
}
_, err = cool.DBM(s.Model).Where("username", username).Data("qq", qq).Update()
if err != nil { if err != nil {
return err return err
} }

View File

@@ -1,9 +1,12 @@
package robot package robot
import ( import (
"blazing/cool"
"blazing/modules/base/config"
"blazing/modules/base/service" "blazing/modules/base/service"
"strings" "strings"
"github.com/golang-jwt/jwt/v4"
zero "github.com/wdvxdr1123/ZeroBot" zero "github.com/wdvxdr1123/ZeroBot"
) )
@@ -11,9 +14,21 @@ func init() {
zero.OnCommand("绑定"). zero.OnCommand("绑定").
Handle(func(ctx *zero.Ctx) { Handle(func(ctx *zero.Ctx) {
msgs := strings.Fields(ctx.Event.Message.String()) msgs := strings.Fields(ctx.Event.Message.String())
if len(msgs) > 2 { if len(msgs) > 1 {
token, err := jwt.ParseWithClaims(msgs[1], &cool.Claims{}, func(token *jwt.Token) (interface{}, error) {
err := service.NewBaseSysUserService().BindQQ(msgs[1], msgs[2], ctx.Event.Sender.ID) return []byte(config.Config.Jwt.Secret), nil
})
if err != nil {
ctx.SendPrivateMessage(ctx.Event.Sender.ID, err.Error())
return
}
if !token.Valid {
ctx.SendPrivateMessage(ctx.Event.Sender.ID, "无效的token")
return
}
admin := token.Claims.(*cool.Claims)
err = service.NewBaseSysUserService().BindQQ(uint32(admin.UserId), ctx.Event.Sender.ID)
if err != nil { if err != nil {
ctx.SendPrivateMessage(ctx.Event.Sender.ID, err.Error()) ctx.SendPrivateMessage(ctx.Event.Sender.ID, err.Error())

View File

@@ -26,26 +26,15 @@ func (c *PetInfo) calculatePetHPPanelSize(base, dv, level, ev uint32) uint32 {
} }
// 计算其他属性面板值(带性格修正) // 计算其他属性面板值(带性格修正)
func (c *PetInfo) calculatePetPanelSize(base, ev uint32, natureCorrect float64) uint32 { func (c *PetInfo) calculatePetPanelSize(base, ev uint32, level uint32, natureCorrect float64) uint32 {
base1 := float64((float64(base)*2+float64(ev)/4.0+float64(c.Dv))*(float64(c.Level)/100.0) + 5) base1 := float64((float64(base)*2+float64(ev)/4.0+float64(c.Dv))*(float64(level)/100.0) + 5)
return uint32(float64(base1) * natureCorrect) return uint32(float64(base1) * natureCorrect)
} }
// 计算生成面板,只允许第一次生成超过100比如boss,不允许额外超过 // 计算生成面板,只允许第一次生成超过100比如boss,不允许额外超过
func (p *PetInfo) CalculatePetPane(limit uint32) { func (p *PetInfo) CalculatePetPane(limit uint32) {
// if !frist {
// if p.Level > 100 {
// oldlveel := p.Level
// p.Level = 100
// defer func() {
// p.Level = oldlveel
// }()
// }
// }
naxml := xmlres.NatureRootMap[int(p.Nature)] naxml := xmlres.NatureRootMap[int(p.Nature)]
petxml := xmlres.PetMAP[int(p.ID)] petxml := xmlres.PetMAP[int(p.ID)]
// 计算各项属性 // 计算各项属性
@@ -65,6 +54,7 @@ func (p *PetInfo) CalculatePetPane(limit uint32) {
uint32(petxml.Atk), uint32(petxml.Atk),
p.Ev[1], p.Ev[1],
level,
naxml.AttackCorrect, naxml.AttackCorrect,
) )
@@ -72,6 +62,7 @@ func (p *PetInfo) CalculatePetPane(limit uint32) {
uint32(petxml.Def), uint32(petxml.Def),
p.Ev[2], p.Ev[2],
level,
naxml.DefenseCorrect, naxml.DefenseCorrect,
) )
@@ -79,6 +70,7 @@ func (p *PetInfo) CalculatePetPane(limit uint32) {
uint32(petxml.SpAtk), uint32(petxml.SpAtk),
p.Ev[3], p.Ev[3],
level,
naxml.SaCorrect, naxml.SaCorrect,
) )
@@ -86,6 +78,7 @@ func (p *PetInfo) CalculatePetPane(limit uint32) {
uint32(petxml.SpDef), uint32(petxml.SpDef),
p.Ev[4], p.Ev[4],
level,
naxml.SdCorrect, naxml.SdCorrect,
) )
@@ -93,6 +86,7 @@ func (p *PetInfo) CalculatePetPane(limit uint32) {
uint32(petxml.Spd), uint32(petxml.Spd),
p.Ev[5], p.Ev[5],
level,
naxml.SpeedCorrect, naxml.SpeedCorrect,
) )