初始化项目文件

This commit is contained in:
2025-07-11 16:54:11 +08:00
parent 6bffd582a0
commit 39fedaac16
213 changed files with 16944 additions and 0 deletions

78
api_iris/jwtSet/jwt.go Normal file
View File

@ -0,0 +1,78 @@
package jwtSet
import (
"github.com/iris-contrib/middleware/jwt"
"github.com/kataras/iris/v12"
"github.com/sirupsen/logrus"
"main/database"
"main/model"
"main/utils"
"time"
)
var Jwt *jwt.Middleware
var keys model.JwtKeys
func GetJwtKeys() model.JwtKeys {
db := database.GetInstance().GetMysqlDb()
if utils.DataIsNil(keys) || keys.Date != time.Now().Format("2006-01-02") {
keys = model.JwtKeys{}
if err := db.Where("date = ? and token = ''", time.Now().Format("2006-01-02")).First(&keys).Error; err != nil {
logrus.Errorln("sql执行失败", err)
//return model.JwtKeys{}
}
}
if keys.Key == "" {
keys.Date = time.Now().Format("2006-01-02")
keys.Key = utils.NewKey(32)
if err := db.Create(&keys).Error; err != nil {
logrus.Errorln("sql执行失败", err)
return model.JwtKeys{}
}
}
if !keys.Updated && !utils.DataIsNil(Jwt) {
UpdateJwt()
}
return keys
}
func Init() {
if utils.DataIsNil(keys) {
GetJwtKeys()
}
Jwt = jwt.New(jwt.Config{
ValidationKeyGetter: func(token *jwt.Token) (interface{}, error) {
return []byte(keys.Key), nil
},
ErrorHandler: func(context iris.Context, err error) {
if err == nil {
return
}
context.StopExecution()
context.StatusCode(iris.StatusUnauthorized)
context.SetErr(err)
},
Extractor: jwt.FromAuthHeader,
SigningMethod: jwt.SigningMethodHS256,
})
db := database.GetInstance().GetMysqlDb()
keys.Updated = true
if err := db.Updates(&keys).Error; err != nil {
logrus.Errorln("sql执行失败", err)
return
}
}
func UpdateJwt() {
if utils.DataIsNil(keys) {
GetJwtKeys()
}
Jwt.Config.ValidationKeyGetter = func(token *jwt.Token) (interface{}, error) {
return []byte(keys.Key), nil
}
db := database.GetInstance().GetMysqlDb()
keys.Updated = true
if err := db.Updates(&keys).Error; err != nil {
logrus.Errorln("sql执行失败", err)
return
}
}