日志初步结构

This commit is contained in:
2024-04-15 16:08:17 +08:00
parent 16967381d8
commit de7cd23deb
16 changed files with 414 additions and 68 deletions

View File

@@ -1,6 +1,7 @@
package actions
import (
"encoding/json"
"strings"
"time"
@@ -17,16 +18,99 @@ var CompanyKey = "vestmore-bjwl"
// @Action base/getToken
// Base_GetToken
// action: string;
// app_market: string;
// lang: string;
// token: string;
// randstr: string;
// sign: string;
// action: string;
// lang: string;
// app_market: int64;
// timestamp: int64;
// token: string;
func BaseGetToken(ctx *ActionContext[BaseGetTokenParam]) (resp *basic.Response) {
// model.Models.KillaraCustomerModel.Find()
log.Println()
const (
TokenExpiry = 864000 // Token过期时间单位
)
return resp.Success()
type TokenData struct {
LanguageID uint64 `json:"language_id"`
LanguageCode string `json:"language_code"`
}
modelToken := model.Models.KillaraCustomerTokenModel
modelLanguage := model.Models.KillaraCatalogLanguageModel
lang := ctx.Lang
language, err := modelLanguage.GetLanguageByCodeForBackEnd(lang)
if err != nil || language == nil {
language, _ = modelLanguage.GetLanguageByCodeForBackEnd("en")
}
tokenData := TokenData{
LanguageID: *language.LanguageId,
LanguageCode: *language.Code,
}
isLogin := false
var token string
if ctx.Param.Token != "" {
result, err := modelToken.CheckToken(ctx.Param.Token)
if err == nil && result != nil {
token = ctx.Param.Token
// Token存在并且有效
modelToken.UpdateTokenExpiry(token, time.Now().Unix()+TokenExpiry)
tokenDataJSON, _ := json.Marshal(tokenData)
modelToken.UpdateTokenData(token, map[string]interface{}{
"data": string(tokenDataJSON),
})
if result.CustomerId != nil && *result.CustomerId != 0 {
modelCustomer := model.Models.KillaraCustomerModel
customer, err := modelCustomer.GetCustomer(*result.CustomerId)
if err == nil && customer != nil {
isLogin = true
} else {
modelToken.UpdateTokenCustomerID(token, 0)
}
}
}
}
if token == "" {
// Token不存在或失效重新创建一个
token = auth.GenerateMD5()
tokenDataJSON, err := json.Marshal(tokenData)
if err != nil {
return resp.Error(basic.ErrJSONUnMarshal)
}
tokenItem := &model.KillaraCustomerToken{
Token: &token,
CustomerId: basic.Uint64Ptr(0),
Data: basic.StringPtr(string(tokenDataJSON)),
Expiry: basic.Int64Ptr(time.Now().Unix() + TokenExpiry),
Platform: basic.Int64Ptr(1),
}
err = modelToken.InsertToken(tokenItem)
log.Println(err)
if err != nil {
return resp.ErrorErr(1, err)
}
}
return resp.Success(map[string]interface{}{
"token": token,
"is_login": isLogin,
"lang_data": map[string]interface{}{
"language_id": tokenData.LanguageID,
"language_code": tokenData.LanguageCode,
}})
}
// @Action account/loginWithTelephonePassword
@@ -258,7 +342,7 @@ func AccountLoginWithEmailPassword(ctx *ActionContext[AccountLoginWithEmailPassw
return resp.ErrorErr(1, err)
}
ctx.Localize(translator.AccountNotRegistered)
log.Println(ctx.Localize(translator.AccountNotRegistered))
if customer == nil {
return resp.ErrorTrCode(ctx, translator.AccountNotRegistered)
}

View File

@@ -233,9 +233,12 @@ func AccountRegisterSmsCodeHandler(ctx *gin.Context) {
}
type BaseGetTokenParam struct {
Randstr string `json:"randstr" form:"randstr" binding:"-"`
Sign string `json:"sign" form:"sign" binding:"-"`
Action string `json:"action" form:"action" binding:"-"`
AppMarket string `json:"app_market" form:"app_market" binding:"-"`
Lang string `json:"lang" form:"lang" binding:"-"`
AppMarket int64 `json:"app_market" form:"app_market" binding:"-"`
Timestamp int64 `json:"timestamp" form:"timestamp" binding:"-"`
Token string `json:"token" form:"token" binding:"-"`
}

View File

@@ -1,11 +1,11 @@
package main
import (
"log"
"testing"
_ "github.com/go-sql-driver/mysql"
"github.com/iapologizewhenimwrong/Vestmore_GO/translator"
"github.com/iapologizewhenimwrong/Vestmore_GO/utils/log"
"github.com/nicksnyder/go-i18n/v2/i18n"
"github.com/pelletier/go-toml/v2"
"golang.org/x/text/language"