+13
-6
@@ -896,20 +896,27 @@ func ApiHandler(ctx *gin.Context) {
|
|||||||
CheckErr(err)
|
CheckErr(err)
|
||||||
} else if v.Action == "profileInfo" {
|
} else if v.Action == "profileInfo" {
|
||||||
// key = "profile_info_result"
|
// key = "profile_info_result"
|
||||||
|
pref := tools.UserPref{}
|
||||||
|
exists, err := UserEng.Table("user_preference_m").Where("user_id = ?", ctx.GetString("userid")).Get(&pref)
|
||||||
|
CheckErr(err)
|
||||||
|
if !exists {
|
||||||
|
ctx.String(http.StatusForbidden, ErrorMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
profileResp := tools.ProfileResp{
|
profileResp := tools.ProfileResp{
|
||||||
Result: tools.ProfileResult{
|
Result: tools.ProfileResult{
|
||||||
UserInfo: tools.UserInfo{
|
UserInfo: tools.UserInfo{
|
||||||
UserID: 9999999, // 3241988
|
UserID: pref.UserID,
|
||||||
Name: "\u68a6\u8def @\u65c5\u7acb\u3061\u306e\u65e5\u306b",
|
Name: pref.UserName,
|
||||||
Level: 1028,
|
Level: pref.UserLevel,
|
||||||
CostMax: 100,
|
CostMax: 100,
|
||||||
UnitMax: 5000,
|
UnitMax: 5000,
|
||||||
EnergyMax: 417,
|
EnergyMax: 1000,
|
||||||
FriendMax: 99,
|
FriendMax: 99,
|
||||||
UnitCnt: 3898,
|
UnitCnt: 3898,
|
||||||
InviteCode: "377385143",
|
InviteCode: strconv.Itoa(pref.UserID),
|
||||||
ElapsedTimeFromLogin: "14\u5c0f\u65f6\u524d",
|
ElapsedTimeFromLogin: "14\u5c0f\u65f6\u524d",
|
||||||
Introduction: "\u5728\u4e0d\u77e5\u4e0d\u89c9\u4e2d \u65f6\u5149\u4ece\u4e0d\u505c\u7559\\n\u5982\u4eca\u7684\u6211\u4eec \u6bd5\u4e1a\u518d\u56de\u9996\\n\u8ffd\u68a6\u7684\u670b\u53cb\u4eec\u4e00\u540c \u8e0f\u4e0a\u4e86\u65b0\u7684\u5f81\u9014\\n\u5728\u4e0d\u4e45\u7684\u4eca\u540e \u5728\u672a\u77e5\u7684\u67d0\u5904\\n \u6211\u4eec\u4e00\u5b9a\u4f1a\u518d\u4e00\u6b21\u9082\u9005\\n \u8bf7\u4e0d\u8981\u5fd8\u8bb0\u6211\u4eec \u66fe\u7ecf\u7684\u7b11\u5bb9\r",
|
Introduction: pref.UserDesc,
|
||||||
},
|
},
|
||||||
CenterUnitInfo: tools.CenterUnitInfo{
|
CenterUnitInfo: tools.CenterUnitInfo{
|
||||||
UnitOwningUserID: 41674,
|
UnitOwningUserID: 41674,
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package handler
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"honoka-chan/encrypt"
|
||||||
|
"honoka-chan/model"
|
||||||
|
"honoka-chan/tools"
|
||||||
|
"net/http"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/tidwall/gjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
func AwardSet(ctx *gin.Context) {
|
||||||
|
req := gjson.Parse(ctx.PostForm("request_data"))
|
||||||
|
pref := tools.UserPref{
|
||||||
|
AwardID: int(req.Get("award_id").Int()),
|
||||||
|
}
|
||||||
|
_, err := UserEng.Table("user_preference_m").Where("user_id = ?", ctx.GetString("userid")).Update(&pref)
|
||||||
|
CheckErr(err)
|
||||||
|
awardResp := model.AwardSetResp{
|
||||||
|
ResponseData: []interface{}{},
|
||||||
|
ReleaseInfo: []interface{}{},
|
||||||
|
StatusCode: 200,
|
||||||
|
}
|
||||||
|
resp, err := json.Marshal(awardResp)
|
||||||
|
CheckErr(err)
|
||||||
|
|
||||||
|
nonce := ctx.GetInt("nonce")
|
||||||
|
nonce++
|
||||||
|
|
||||||
|
ctx.Header("user_id", ctx.GetString("userid"))
|
||||||
|
ctx.Header("authorize", fmt.Sprintf("consumerKey=lovelive_test&timeStamp=%d&version=1.1&token=%s&nonce=%d&user_id=%s&requestTimeStamp=%d", time.Now().Unix(), ctx.GetString("token"), nonce, ctx.GetString("userid"), ctx.GetInt64("req_time")))
|
||||||
|
ctx.Header("X-Message-Sign", base64.StdEncoding.EncodeToString(encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")))
|
||||||
|
|
||||||
|
ctx.String(http.StatusOK, string(resp))
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package handler
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"honoka-chan/encrypt"
|
||||||
|
"honoka-chan/model"
|
||||||
|
"honoka-chan/tools"
|
||||||
|
"net/http"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/tidwall/gjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
func BackgroundSet(ctx *gin.Context) {
|
||||||
|
req := gjson.Parse(ctx.PostForm("request_data"))
|
||||||
|
pref := tools.UserPref{
|
||||||
|
BackgroundID: int(req.Get("background_id").Int()),
|
||||||
|
}
|
||||||
|
_, err := UserEng.Table("user_preference_m").Where("user_id = ?", ctx.GetString("userid")).Update(&pref)
|
||||||
|
CheckErr(err)
|
||||||
|
backgroundResp := model.BackgroundSetResp{
|
||||||
|
ResponseData: []interface{}{},
|
||||||
|
ReleaseInfo: []interface{}{},
|
||||||
|
StatusCode: 200,
|
||||||
|
}
|
||||||
|
resp, err := json.Marshal(backgroundResp)
|
||||||
|
CheckErr(err)
|
||||||
|
|
||||||
|
nonce := ctx.GetInt("nonce")
|
||||||
|
nonce++
|
||||||
|
|
||||||
|
ctx.Header("user_id", ctx.GetString("userid"))
|
||||||
|
ctx.Header("authorize", fmt.Sprintf("consumerKey=lovelive_test&timeStamp=%d&version=1.1&token=%s&nonce=%d&user_id=%s&requestTimeStamp=%d", time.Now().Unix(), ctx.GetString("token"), nonce, ctx.GetString("userid"), ctx.GetInt64("req_time")))
|
||||||
|
ctx.Header("X-Message-Sign", base64.StdEncoding.EncodeToString(encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")))
|
||||||
|
|
||||||
|
ctx.String(http.StatusOK, string(resp))
|
||||||
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package handler
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/base64"
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"honoka-chan/encrypt"
|
||||||
|
"honoka-chan/model"
|
||||||
|
"honoka-chan/tools"
|
||||||
|
"net/http"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/tidwall/gjson"
|
||||||
|
)
|
||||||
|
|
||||||
|
func ProfileRegister(ctx *gin.Context) {
|
||||||
|
req := gjson.Parse(ctx.PostForm("request_data"))
|
||||||
|
pref := tools.UserPref{
|
||||||
|
UserDesc: req.Get("introduction").String(),
|
||||||
|
}
|
||||||
|
_, err := UserEng.Table("user_preference_m").Where("user_id = ?", ctx.GetString("userid")).Update(&pref)
|
||||||
|
CheckErr(err)
|
||||||
|
profileResp := model.ProfileRegisterResp{
|
||||||
|
ResponseData: []interface{}{},
|
||||||
|
ReleaseInfo: []interface{}{},
|
||||||
|
StatusCode: 200,
|
||||||
|
}
|
||||||
|
resp, err := json.Marshal(profileResp)
|
||||||
|
CheckErr(err)
|
||||||
|
|
||||||
|
nonce := ctx.GetInt("nonce")
|
||||||
|
nonce++
|
||||||
|
|
||||||
|
ctx.Header("user_id", ctx.GetString("userid"))
|
||||||
|
ctx.Header("authorize", fmt.Sprintf("consumerKey=lovelive_test&timeStamp=%d&version=1.1&token=%s&nonce=%d&user_id=%s&requestTimeStamp=%d", time.Now().Unix(), ctx.GetString("token"), nonce, ctx.GetString("userid"), ctx.GetInt64("req_time")))
|
||||||
|
ctx.Header("X-Message-Sign", base64.StdEncoding.EncodeToString(encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")))
|
||||||
|
|
||||||
|
ctx.String(http.StatusOK, string(resp))
|
||||||
|
}
|
||||||
+47
-2
@@ -5,10 +5,13 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"honoka-chan/encrypt"
|
"honoka-chan/encrypt"
|
||||||
|
"honoka-chan/model"
|
||||||
|
"honoka-chan/tools"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
|
"github.com/tidwall/gjson"
|
||||||
)
|
)
|
||||||
|
|
||||||
type NotificationResp struct {
|
type NotificationResp struct {
|
||||||
@@ -37,12 +40,54 @@ func SetNotificationTokenHandler(ctx *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ChangeNaviHandler(ctx *gin.Context) {
|
func ChangeNaviHandler(ctx *gin.Context) {
|
||||||
notifResp := NotificationResp{
|
req := gjson.Parse(ctx.PostForm("request_data"))
|
||||||
|
pref := tools.UserPref{
|
||||||
|
UnitOwningUserID: int(req.Get("unit_owning_user_id").Int()),
|
||||||
|
}
|
||||||
|
_, err := UserEng.Table("user_preference_m").Where("user_id = ?", ctx.GetString("userid")).Update(&pref)
|
||||||
|
CheckErr(err)
|
||||||
|
naviResp := model.UserNaviChangeResp{
|
||||||
ResponseData: []interface{}{},
|
ResponseData: []interface{}{},
|
||||||
ReleaseInfo: []interface{}{},
|
ReleaseInfo: []interface{}{},
|
||||||
StatusCode: 200,
|
StatusCode: 200,
|
||||||
}
|
}
|
||||||
resp, err := json.Marshal(notifResp)
|
resp, err := json.Marshal(naviResp)
|
||||||
|
CheckErr(err)
|
||||||
|
|
||||||
|
nonce := ctx.GetInt("nonce")
|
||||||
|
nonce++
|
||||||
|
|
||||||
|
ctx.Header("user_id", ctx.GetString("userid"))
|
||||||
|
ctx.Header("authorize", fmt.Sprintf("consumerKey=lovelive_test&timeStamp=%d&version=1.1&token=%s&nonce=%d&user_id=%s&requestTimeStamp=%d", time.Now().Unix(), ctx.GetString("token"), nonce, ctx.GetString("userid"), ctx.GetInt64("req_time")))
|
||||||
|
ctx.Header("X-Message-Sign", base64.StdEncoding.EncodeToString(encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")))
|
||||||
|
|
||||||
|
ctx.String(http.StatusOK, string(resp))
|
||||||
|
}
|
||||||
|
|
||||||
|
func ChangeNameHandler(ctx *gin.Context) {
|
||||||
|
req := gjson.Parse(ctx.PostForm("request_data"))
|
||||||
|
var oldName string
|
||||||
|
exists, err := UserEng.Table("user_preference_m").Where("user_id = ?", ctx.GetString("userid")).Cols("user_name").Get(&oldName)
|
||||||
|
CheckErr(err)
|
||||||
|
if !exists {
|
||||||
|
ctx.String(http.StatusForbidden, ErrorMsg)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
pref := tools.UserPref{
|
||||||
|
UserName: req.Get("name").String(),
|
||||||
|
}
|
||||||
|
_, err = UserEng.Table("user_preference_m").Where("user_id = ?", ctx.GetString("userid")).Update(&pref)
|
||||||
|
CheckErr(err)
|
||||||
|
nameResp := model.UserNameChangeResp{
|
||||||
|
ResponseData: model.UserNameChangeRes{
|
||||||
|
BeforeName: oldName,
|
||||||
|
AfterName: req.Get("name").String(),
|
||||||
|
ServerTimestamp: time.Now().Unix(),
|
||||||
|
},
|
||||||
|
ReleaseInfo: []interface{}{},
|
||||||
|
StatusCode: 200,
|
||||||
|
}
|
||||||
|
resp, err := json.Marshal(nameResp)
|
||||||
CheckErr(err)
|
CheckErr(err)
|
||||||
|
|
||||||
nonce := ctx.GetInt("nonce")
|
nonce := ctx.GetInt("nonce")
|
||||||
|
|||||||
@@ -48,42 +48,46 @@ func main() {
|
|||||||
// Server APIs
|
// Server APIs
|
||||||
m := r.Group("main.php").Use(middleware.Common)
|
m := r.Group("main.php").Use(middleware.Common)
|
||||||
{
|
{
|
||||||
m.POST("/login/authkey", middleware.AuthKey, handler.AuthKey)
|
m.POST("/album/seriesAll", handler.AlbumSeriesAllHandler)
|
||||||
m.POST("/login/login", middleware.Login, handler.Login)
|
m.POST("/announce/checkState", handler.AnnounceCheckStateHandler)
|
||||||
m.POST("/user/userInfo", handler.UserInfoHandler)
|
m.POST("/api", handler.ApiHandler)
|
||||||
m.POST("/gdpr/get", handler.GdprHandler)
|
m.POST("/award/set", handler.AwardSet)
|
||||||
m.POST("/personalnotice/get", handler.PersonalNoticeHandler)
|
m.POST("/background/set", handler.BackgroundSet)
|
||||||
m.POST("/tos/tosCheck", handler.TosCheckHandler)
|
|
||||||
m.POST("/download/additional", handler.DownloadAdditionalHandler)
|
m.POST("/download/additional", handler.DownloadAdditionalHandler)
|
||||||
m.POST("/download/batch", handler.DownloadBatchHandler)
|
m.POST("/download/batch", handler.DownloadBatchHandler)
|
||||||
|
m.POST("/download/event", handler.DownloadEventHandler)
|
||||||
m.POST("/download/getUrl", handler.DownloadUrlHandler)
|
m.POST("/download/getUrl", handler.DownloadUrlHandler)
|
||||||
m.POST("/download/update", handler.DownloadUpdateHandler)
|
m.POST("/download/update", handler.DownloadUpdateHandler)
|
||||||
m.POST("/download/event", handler.DownloadEventHandler)
|
|
||||||
m.POST("/lbonus/execute", handler.LBonusExecuteHandler)
|
|
||||||
m.POST("/api", handler.ApiHandler)
|
|
||||||
m.POST("/announce/checkState", handler.AnnounceCheckStateHandler)
|
|
||||||
m.POST("/scenario/startup", handler.ScenarioStartupHandler)
|
|
||||||
m.POST("/scenario/reward", handler.ScenarioRewardHandler)
|
|
||||||
m.POST("/user/setNotificationToken", handler.SetNotificationTokenHandler)
|
|
||||||
m.POST("/user/changeNavi", handler.SetNotificationTokenHandler)
|
|
||||||
m.POST("/event/eventList", handler.EventListHandler)
|
m.POST("/event/eventList", handler.EventListHandler)
|
||||||
m.POST("/payment/productList", handler.ProductListHandler)
|
m.POST("/gdpr/get", handler.GdprHandler)
|
||||||
|
m.POST("/lbonus/execute", handler.LBonusExecuteHandler)
|
||||||
|
m.POST("/live/gameover", handler.GameOverHandler)
|
||||||
m.POST("/live/partyList", handler.PartyListHandler)
|
m.POST("/live/partyList", handler.PartyListHandler)
|
||||||
m.POST("/live/play", handler.PlayLiveHandler)
|
m.POST("/live/play", handler.PlayLiveHandler)
|
||||||
m.POST("/live/preciseScore", handler.PlayScoreHandler)
|
m.POST("/live/preciseScore", handler.PlayScoreHandler)
|
||||||
m.POST("/live/reward", handler.PlayRewardHandler)
|
m.POST("/live/reward", handler.PlayRewardHandler)
|
||||||
m.POST("/live/gameover", handler.GameOverHandler)
|
m.POST("/login/authkey", middleware.AuthKey, handler.AuthKey)
|
||||||
m.POST("/unit/setDisplayRank", handler.SetDisplayRankHandler)
|
m.POST("/login/login", middleware.Login, handler.Login)
|
||||||
m.POST("/unit/favorite", handler.SetDisplayRankHandler)
|
m.POST("/multiunit/scenarioStartup", handler.MultiUnitStartUpHandler)
|
||||||
|
m.POST("/notice/noticeFriendGreeting", handler.NoticeFriendGreetingHandler)
|
||||||
|
m.POST("/notice/noticeFriendVariety", handler.NoticeFriendVarietyHandler)
|
||||||
|
m.POST("/notice/noticeUserGreetingHistory", handler.NoticeUserGreetingHandler)
|
||||||
|
m.POST("/payment/productList", handler.ProductListHandler)
|
||||||
|
m.POST("/personalnotice/get", handler.PersonalNoticeHandler)
|
||||||
|
m.POST("/profile/profileRegister", handler.ProfileRegister)
|
||||||
|
m.POST("/scenario/reward", handler.ScenarioRewardHandler)
|
||||||
|
m.POST("/scenario/startup", handler.ScenarioStartupHandler)
|
||||||
|
m.POST("/subscenario/reward", handler.SubScenarioStartupHandler)
|
||||||
|
m.POST("/subscenario/startup", handler.SubScenarioStartupHandler)
|
||||||
|
m.POST("/tos/tosCheck", handler.TosCheckHandler)
|
||||||
m.POST("/unit/deck", handler.SetDeckHandler)
|
m.POST("/unit/deck", handler.SetDeckHandler)
|
||||||
m.POST("/unit/deckName", handler.SetDeckNameHandler)
|
m.POST("/unit/deckName", handler.SetDeckNameHandler)
|
||||||
m.POST("/subscenario/startup", handler.SubScenarioStartupHandler)
|
m.POST("/unit/favorite", handler.SetDisplayRankHandler)
|
||||||
m.POST("/subscenario/reward", handler.SubScenarioStartupHandler)
|
m.POST("/unit/setDisplayRank", handler.SetDisplayRankHandler)
|
||||||
m.POST("/album/seriesAll", handler.AlbumSeriesAllHandler)
|
m.POST("/user/changeName", handler.ChangeNameHandler)
|
||||||
m.POST("/notice/noticeFriendVariety", handler.NoticeFriendVarietyHandler)
|
m.POST("/user/changeNavi", handler.ChangeNaviHandler)
|
||||||
m.POST("/notice/noticeFriendGreeting", handler.NoticeFriendGreetingHandler)
|
m.POST("/user/setNotificationToken", handler.SetNotificationTokenHandler)
|
||||||
m.POST("/notice/noticeUserGreetingHistory", handler.NoticeUserGreetingHandler)
|
m.POST("/user/userInfo", handler.UserInfoHandler)
|
||||||
m.POST("/multiunit/scenarioStartup", handler.MultiUnitStartUpHandler)
|
|
||||||
}
|
}
|
||||||
r.GET("/webview.php/announce/index", handler.AnnounceIndexHandler)
|
r.GET("/webview.php/announce/index", handler.AnnounceIndexHandler)
|
||||||
// Server APIs
|
// Server APIs
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
// AwardSetResp ...
|
||||||
|
type AwardSetResp struct {
|
||||||
|
ResponseData []interface{} `json:"response_data"`
|
||||||
|
ReleaseInfo []interface{} `json:"release_info"`
|
||||||
|
StatusCode int `json:"status_code"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
// BackgroundSetResp ...
|
||||||
|
type BackgroundSetResp struct {
|
||||||
|
ResponseData []interface{} `json:"response_data"`
|
||||||
|
ReleaseInfo []interface{} `json:"release_info"`
|
||||||
|
StatusCode int `json:"status_code"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
// AwardSetResp ...
|
||||||
|
type ProfileRegisterResp struct {
|
||||||
|
ResponseData []interface{} `json:"response_data"`
|
||||||
|
ReleaseInfo []interface{} `json:"release_info"`
|
||||||
|
StatusCode int `json:"status_code"`
|
||||||
|
}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
// UserNaviResp ...
|
||||||
|
type UserNaviChangeResp struct {
|
||||||
|
ResponseData []interface{} `json:"response_data"`
|
||||||
|
ReleaseInfo []interface{} `json:"release_info"`
|
||||||
|
StatusCode int `json:"status_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserNameChangeResp ...
|
||||||
|
type UserNameChangeResp struct {
|
||||||
|
ResponseData UserNameChangeRes `json:"response_data"`
|
||||||
|
ReleaseInfo []interface{} `json:"release_info"`
|
||||||
|
StatusCode int `json:"status_code"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// UserNameChangeRes ...
|
||||||
|
type UserNameChangeRes struct {
|
||||||
|
BeforeName string `json:"before_name"`
|
||||||
|
AfterName string `json:"after_name"`
|
||||||
|
ServerTimestamp int64 `json:"server_timestamp"`
|
||||||
|
}
|
||||||
+5
-9
@@ -40,6 +40,10 @@ func InitUserData(userId int) {
|
|||||||
session := UserEng.NewSession()
|
session := UserEng.NewSession()
|
||||||
defer session.Close()
|
defer session.Close()
|
||||||
|
|
||||||
|
if err := session.Begin(); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
for _, user := range userList {
|
for _, user := range userList {
|
||||||
// 检查用户配置
|
// 检查用户配置
|
||||||
exists, err := UserEng.Table("user_preference_m").Where("user_id = ?", user.UserID).Exist()
|
exists, err := UserEng.Table("user_preference_m").Where("user_id = ?", user.UserID).Exist()
|
||||||
@@ -61,13 +65,9 @@ func InitUserData(userId int) {
|
|||||||
UserDesc: "你好。",
|
UserDesc: "你好。",
|
||||||
UpdateTime: time.Now().Unix(),
|
UpdateTime: time.Now().Unix(),
|
||||||
}
|
}
|
||||||
_, err = UserEng.Table("user_preference_m").Insert(&userPref)
|
_, err = session.Table("user_preference_m").Insert(&userPref)
|
||||||
CheckErr(err)
|
CheckErr(err)
|
||||||
fmt.Println("UserPref ID", userPref.ID)
|
fmt.Println("UserPref ID", userPref.ID)
|
||||||
} else {
|
|
||||||
userPref := UserPref{}
|
|
||||||
_, err = UserEng.Table("user_preference_m").Where("user_id = ?", user.UserID).Get(&userPref)
|
|
||||||
CheckErr(err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 检查用户卡组配置
|
// 检查用户卡组配置
|
||||||
@@ -84,10 +84,6 @@ func InitUserData(userId int) {
|
|||||||
InsertDate: time.Now().Unix(),
|
InsertDate: time.Now().Unix(),
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = session.Begin(); err != nil {
|
|
||||||
panic(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 默认队伍
|
// 默认队伍
|
||||||
_, err = session.Table("user_deck_m").Insert(&userDeck)
|
_, err = session.Table("user_deck_m").Insert(&userDeck)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user