日志初步结构
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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:"-"`
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user