解决多容器缓存问题
This commit is contained in:
parent
4ca2b1ed38
commit
8e62bd6986
@ -89,52 +89,58 @@ var handleMessage = func(msgs ...interface{}) interface{} {
|
||||
rsp := cmd(fmt.Sprintf(`python3 test.py "%s"`, msg), &Sender{})
|
||||
logs.Info(rsp)
|
||||
ss1 := regexp.MustCompile(`pin=([^;=\s]+);wskey=([^;=\s]+)`).FindAllStringSubmatch(msg, -1)
|
||||
if len(ss1) > 0 {
|
||||
for _, s := range ss1 {
|
||||
ck := JdCookie{
|
||||
PtPin: s[1],
|
||||
PtKey: rsp,
|
||||
WsKey: s[2],
|
||||
}
|
||||
if strings.Contains(rsp, "错误") {
|
||||
logs.Error("wskey错误")
|
||||
} else {
|
||||
|
||||
ss := regexp.MustCompile(`pt_key=([^;=\s]+);pt_pin=([^;=\s]+)`).FindAllStringSubmatch(rsp, -1)
|
||||
for _, s1 := range ss {
|
||||
ck.PtPin = s1[2]
|
||||
ck.PtKey = s1[1]
|
||||
}
|
||||
if len(ss1) > 0 {
|
||||
for _, s := range ss1 {
|
||||
ck := JdCookie{
|
||||
PtPin: s[1],
|
||||
PtKey: rsp,
|
||||
WsKey: s[2],
|
||||
}
|
||||
|
||||
if sender.IsQQ() {
|
||||
ck.QQ = sender.UserID
|
||||
} else if sender.IsTG() {
|
||||
ck.Telegram = sender.UserID
|
||||
}
|
||||
if nck, err := GetJdCookie(ck.PtPin); err == nil {
|
||||
nck.InPool(ck.PtKey)
|
||||
if nck.WsKey == "" || len(nck.WsKey) == 0 {
|
||||
nck.Updates(JdCookie{
|
||||
WsKey: ck.WsKey,
|
||||
})
|
||||
msg := fmt.Sprintf("写入WsKey,并更新账号%s", ck.PtPin)
|
||||
(&JdCookie{}).Push(msg)
|
||||
logs.Info(msg)
|
||||
ss := regexp.MustCompile(`pt_key=([^;=\s]+);pt_pin=([^;=\s]+)`).FindAllStringSubmatch(rsp, -1)
|
||||
for _, s1 := range ss {
|
||||
ck.PtPin = s1[2]
|
||||
ck.PtKey = s1[1]
|
||||
}
|
||||
|
||||
if sender.IsQQ() {
|
||||
ck.QQ = sender.UserID
|
||||
} else if sender.IsTG() {
|
||||
ck.Telegram = sender.UserID
|
||||
}
|
||||
if nck, err := GetJdCookie(ck.PtPin); err == nil {
|
||||
nck.InPool(ck.PtKey)
|
||||
if nck.WsKey == "" || len(nck.WsKey) == 0 {
|
||||
nck.Updates(JdCookie{
|
||||
WsKey: ck.WsKey,
|
||||
})
|
||||
msg := fmt.Sprintf("写入WsKey,并更新账号%s", ck.PtPin)
|
||||
(&JdCookie{}).Push(msg)
|
||||
logs.Info(msg)
|
||||
} else {
|
||||
msg := fmt.Sprintf("重复写入")
|
||||
(&JdCookie{}).Push(msg)
|
||||
logs.Info(msg)
|
||||
}
|
||||
} else {
|
||||
msg := fmt.Sprintf("重复写入")
|
||||
(&JdCookie{}).Push(msg)
|
||||
NewJdCookie(&ck)
|
||||
msg := fmt.Sprintf("添加账号,%s", ck.PtPin)
|
||||
sender.Reply(fmt.Sprintf(msg, AddCoin(sender.UserID)))
|
||||
logs.Info(msg)
|
||||
}
|
||||
} else {
|
||||
NewJdCookie(&ck)
|
||||
msg := fmt.Sprintf("添加账号,%s", ck.PtPin)
|
||||
sender.Reply(fmt.Sprintf(msg, AddCoin(sender.UserID)))
|
||||
logs.Info(msg)
|
||||
}
|
||||
|
||||
}
|
||||
go func() {
|
||||
Save <- &JdCookie{}
|
||||
}()
|
||||
return nil
|
||||
}
|
||||
go func() {
|
||||
Save <- &JdCookie{}
|
||||
}()
|
||||
return nil
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
{ //tyt
|
||||
|
||||
@ -355,7 +355,7 @@ func (c *Container) getToken() error {
|
||||
version, err := GetQlVersion(c.Address)
|
||||
logs.Debug(err)
|
||||
if version == "2.9" {
|
||||
token, err := getSqlToken()
|
||||
token, err := getSqlToken(c.Address)
|
||||
if err != nil {
|
||||
logs.Error(err)
|
||||
}
|
||||
@ -414,6 +414,7 @@ func getT(c *Container, token *Token) (error, bool) {
|
||||
token.Token, _ = jsonparser.GetString(data, "data", "token")
|
||||
zero, _ := time.ParseInLocation("2006-01-02", time.Now().Local().Format("2006-01-02"), time.Local)
|
||||
token.Expiration = zero
|
||||
token.Address = c.Address
|
||||
setSqlToken(token)
|
||||
logs.Info(c.Token + token.Expiration.String())
|
||||
} else {
|
||||
|
||||
@ -130,6 +130,7 @@ var UnAvailable = "UnAvailable"
|
||||
var PtKey = "PtKey"
|
||||
var PtPin = "PtPin"
|
||||
var WsKey = "WsKey"
|
||||
var Address = "Address"
|
||||
var Priority = "Priority"
|
||||
var Nickname = "Nickname"
|
||||
var BeanNum = "BeanNum"
|
||||
@ -297,7 +298,7 @@ func setSqlToken(token *Token) error {
|
||||
return tx.Commit().Error
|
||||
}
|
||||
|
||||
func getSqlToken() (*Token, error) {
|
||||
func getSqlToken(address string) (*Token, error) {
|
||||
token := &Token{}
|
||||
return token, db.Order("expiration desc").First(token).Error
|
||||
return token, db.Where(Address+" = ?", address).Order("expiration desc").First(token).Error
|
||||
}
|
||||
|
||||
@ -7,4 +7,5 @@ import (
|
||||
type Token struct {
|
||||
Expiration time.Time
|
||||
Token string
|
||||
Address string
|
||||
}
|
||||
|
||||
@ -5,7 +5,10 @@
|
||||
secret: admin
|
||||
在青龙里面系统设置,添加应用后配置
|
||||
3.发送wskey即可自动添加账号
|
||||
4.账号过期自动换key 暂未好
|
||||
4.账号过期自动换key 更新修复完成
|
||||
5.定时十二小时自动换key 暂未好
|
||||
6.缓存token
|
||||
7.批量绑定wskey
|
||||
8.多容器 token缓存过期问题修复 暂未
|
||||
9.wskey更新检测,以及覆盖写入
|
||||
10.解决%!(EXTRA 错误
|
||||
|
||||
Loading…
Reference in New Issue
Block a user