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