Simplify error handling codes

Signed-off-by: Yuan Si <do4suki@gmail.com>
This commit is contained in:
2023-04-11 13:08:06 +08:00
parent 8f1aa59e67
commit 497b3adba2
28 changed files with 195 additions and 548 deletions
BIN
View File
Binary file not shown.
+11 -33
View File
@@ -19,9 +19,7 @@ import (
func AlbumSeriesAllHandler(ctx *gin.Context) { func AlbumSeriesAllHandler(ctx *gin.Context) {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
reqTime := time.Now().Unix() reqTime := time.Now().Unix()
@@ -58,34 +56,24 @@ func AlbumSeriesAllHandler(ctx *gin.Context) {
// //
sql := `SELECT album_series_id FROM album_series_m` sql := `SELECT album_series_id FROM album_series_m`
seriesRows, err := db.Query(sql) seriesRows, err := db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
albumSeriesAllResp := []model.AlbumSeriesResp{} albumSeriesAllResp := []model.AlbumSeriesResp{}
for seriesRows.Next() { for seriesRows.Next() {
var series int var series int
err = seriesRows.Scan(&series) err = seriesRows.Scan(&series)
if err != nil { CheckErr(err)
panic(err)
}
albumSeriesAll := []model.AlbumResult{} albumSeriesAll := []model.AlbumResult{}
stmt, err := db.Prepare("SELECT unit_id,rarity FROM unit_m WHERE album_series_id = ?") stmt, err := db.Prepare("SELECT unit_id,rarity FROM unit_m WHERE album_series_id = ?")
if err != nil { CheckErr(err)
panic(err)
}
unitRows, err := stmt.Query(series) unitRows, err := stmt.Query(series)
if err != nil { CheckErr(err)
panic(err)
}
for unitRows.Next() { for unitRows.Next() {
var unitId, rarity int var unitId, rarity int
err = unitRows.Scan(&unitId, &rarity) err = unitRows.Scan(&unitId, &rarity)
if err != nil { CheckErr(err)
panic(err)
}
albumSeries := model.AlbumResult{ albumSeries := model.AlbumResult{
UnitID: unitId, UnitID: unitId,
@@ -118,20 +106,14 @@ func AlbumSeriesAllHandler(ctx *gin.Context) {
// IsSigned // IsSigned
stmt, err = db.Prepare("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?") stmt, err = db.Prepare("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?")
if err != nil { CheckErr(err)
panic(err)
}
signRows, err := stmt.Query(unitId) signRows, err := stmt.Query(unitId)
if err != nil { CheckErr(err)
panic(err)
}
ct := 0 ct := 0
for signRows.Next() { for signRows.Next() {
err = signRows.Scan(&ct) err = signRows.Scan(&ct)
if err != nil { CheckErr(err)
panic(err)
}
} }
if ct > 0 { if ct > 0 {
albumSeries.SignFlag = true albumSeries.SignFlag = true
@@ -148,18 +130,14 @@ func AlbumSeriesAllHandler(ctx *gin.Context) {
}) })
} }
rb, err := json.Marshal(albumSeriesAllResp) rb, err := json.Marshal(albumSeriesAllResp)
if err != nil { CheckErr(err)
panic(err)
}
resp := model.Response{ resp := model.Response{
ResponseData: rb, ResponseData: rb,
ReleaseInfo: []interface{}{}, ReleaseInfo: []interface{}{},
StatusCode: 200, StatusCode: 200,
} }
respb, err := json.Marshal(resp) respb, err := json.Marshal(resp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(respb)) // fmt.Println(string(respb))
xms := encrypt.RSA_Sign_SHA1(respb, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(respb, "privatekey.pem")
+1 -3
View File
@@ -73,9 +73,7 @@ func AnnounceCheckStateHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(announceResp) resp, err := json.Marshal(announceResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+5 -15
View File
@@ -148,36 +148,26 @@ func ApiHandler(ctx *gin.Context) {
err = errors.New("invalid option") err = errors.New("invalid option")
} }
if err != nil { CheckErr(err)
panic(err)
}
res, err = database.LevelDb.Get([]byte(key)) res, err = database.LevelDb.Get([]byte(key))
if err != nil { CheckErr(err)
panic(err)
}
var result interface{} var result interface{}
err = json.Unmarshal([]byte(res), &result) err = json.Unmarshal([]byte(res), &result)
if err != nil { CheckErr(err)
panic(err)
}
results = append(results, result) results = append(results, result)
} }
// fmt.Println(results) // fmt.Println(results)
b, err := json.Marshal(results) b, err := json.Marshal(results)
if err != nil { CheckErr(err)
panic(err)
}
rp := model.Response{ rp := model.Response{
ResponseData: b, ResponseData: b,
ReleaseInfo: []interface{}{}, ReleaseInfo: []interface{}{},
StatusCode: 200, StatusCode: 200,
} }
b, err = json.Marshal(rp) b, err = json.Marshal(rp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(b)) // fmt.Println(string(b))
authorizeStr := ctx.Request.Header["Authorize"] authorizeStr := ctx.Request.Header["Authorize"]
+16 -48
View File
@@ -19,9 +19,7 @@ import (
func DownloadAdditionalHandler(ctx *gin.Context) { func DownloadAdditionalHandler(ctx *gin.Context) {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
reqTime := time.Now().Unix() reqTime := time.Now().Unix()
@@ -63,19 +61,13 @@ func DownloadAdditionalHandler(ctx *gin.Context) {
if CdnUrl != "" { if CdnUrl != "" {
pkgType, pkgId := downloadReq.PackageType, downloadReq.PackageID pkgType, pkgId := downloadReq.PackageType, downloadReq.PackageID
stmt, err := db.Prepare("SELECT pkg_order,pkg_size FROM download_db WHERE pkg_type = ? AND pkg_id = ? ORDER BY pkg_order ASC") stmt, err := db.Prepare("SELECT pkg_order,pkg_size FROM download_db WHERE pkg_type = ? AND pkg_id = ? ORDER BY pkg_order ASC")
if err != nil { CheckErr(err)
panic(err)
}
rows, err := stmt.Query(pkgType, pkgId) rows, err := stmt.Query(pkgType, pkgId)
if err != nil { CheckErr(err)
panic(err)
}
for rows.Next() { for rows.Next() {
var pkgOrder, pkgSize int var pkgOrder, pkgSize int
err = rows.Scan(&pkgOrder, &pkgSize) err = rows.Scan(&pkgOrder, &pkgSize)
if err != nil { CheckErr(err)
panic(err)
}
pkgList = append(pkgList, model.AdditionalResult{ pkgList = append(pkgList, model.AdditionalResult{
Size: pkgSize, Size: pkgSize,
URL: fmt.Sprintf("%s/archives/%d_%d_%d.zip", CdnUrl, pkgType, pkgId, pkgOrder), URL: fmt.Sprintf("%s/archives/%d_%d_%d.zip", CdnUrl, pkgType, pkgId, pkgOrder),
@@ -89,9 +81,7 @@ func DownloadAdditionalHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(addResp) resp, err := json.Marshal(addResp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(resp)) // fmt.Println(string(resp))
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -104,9 +94,7 @@ func DownloadAdditionalHandler(ctx *gin.Context) {
func DownloadBatchHandler(ctx *gin.Context) { func DownloadBatchHandler(ctx *gin.Context) {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
reqTime := time.Now().Unix() reqTime := time.Now().Unix()
@@ -156,19 +144,13 @@ func DownloadBatchHandler(ctx *gin.Context) {
} }
// fmt.Println(exPkgId) // fmt.Println(exPkgId)
stmt, err := db.Prepare("SELECT pkg_id,pkg_order,pkg_size FROM download_db WHERE pkg_type = ? " + exPkgId + " ORDER BY pkg_id ASC, pkg_order ASC") stmt, err := db.Prepare("SELECT pkg_id,pkg_order,pkg_size FROM download_db WHERE pkg_type = ? " + exPkgId + " ORDER BY pkg_id ASC, pkg_order ASC")
if err != nil { CheckErr(err)
panic(err)
}
rows, err := stmt.Query(pkgType) rows, err := stmt.Query(pkgType)
if err != nil { CheckErr(err)
panic(err)
}
for rows.Next() { for rows.Next() {
var pkgId, pkgOrder, pkgSize int var pkgId, pkgOrder, pkgSize int
err = rows.Scan(&pkgId, &pkgOrder, &pkgSize) err = rows.Scan(&pkgId, &pkgOrder, &pkgSize)
if err != nil { CheckErr(err)
panic(err)
}
pkgList = append(pkgList, model.BatchResult{ pkgList = append(pkgList, model.BatchResult{
Size: pkgSize, Size: pkgSize,
URL: fmt.Sprintf("%s/archives/%d_%d_%d.zip", CdnUrl, pkgType, pkgId, pkgOrder), URL: fmt.Sprintf("%s/archives/%d_%d_%d.zip", CdnUrl, pkgType, pkgId, pkgOrder),
@@ -182,9 +164,7 @@ func DownloadBatchHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(batchResp) resp, err := json.Marshal(batchResp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(resp)) // fmt.Println(string(resp))
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -197,9 +177,7 @@ func DownloadBatchHandler(ctx *gin.Context) {
func DownloadUpdateHandler(ctx *gin.Context) { func DownloadUpdateHandler(ctx *gin.Context) {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
reqTime := time.Now().Unix() reqTime := time.Now().Unix()
@@ -241,15 +219,11 @@ func DownloadUpdateHandler(ctx *gin.Context) {
if downloadReq.ExternalVersion != PackageVersion && CdnUrl != "" { if downloadReq.ExternalVersion != PackageVersion && CdnUrl != "" {
pkgType := 99 pkgType := 99
rows, err := db.Query("SELECT pkg_id,pkg_order,pkg_size FROM download_db WHERE pkg_type = 99 ORDER BY pkg_id ASC, pkg_order ASC") rows, err := db.Query("SELECT pkg_id,pkg_order,pkg_size FROM download_db WHERE pkg_type = 99 ORDER BY pkg_id ASC, pkg_order ASC")
if err != nil { CheckErr(err)
panic(err)
}
for rows.Next() { for rows.Next() {
var pkgId, pkgOrder, pkgSize int var pkgId, pkgOrder, pkgSize int
err = rows.Scan(&pkgId, &pkgOrder, &pkgSize) err = rows.Scan(&pkgId, &pkgOrder, &pkgSize)
if err != nil { CheckErr(err)
panic(err)
}
pkgList = append(pkgList, model.UpdateResult{ pkgList = append(pkgList, model.UpdateResult{
Size: pkgSize, Size: pkgSize,
URL: fmt.Sprintf("%s/archives/%d_%d_%d.zip", CdnUrl, pkgType, pkgId, pkgOrder), URL: fmt.Sprintf("%s/archives/%d_%d_%d.zip", CdnUrl, pkgType, pkgId, pkgOrder),
@@ -264,9 +238,7 @@ func DownloadUpdateHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(updateResp) resp, err := json.Marshal(updateResp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(resp)) // fmt.Println(string(resp))
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -327,9 +299,7 @@ func DownloadUrlHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(urlResp) resp, err := json.Marshal(urlResp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(resp)) // fmt.Println(string(resp))
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -378,9 +348,7 @@ func DownloadEventHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(eventResp) resp, err := json.Marshal(eventResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+1 -3
View File
@@ -78,9 +78,7 @@ func EventListHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(eventsResp) resp, err := json.Marshal(eventsResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+1 -3
View File
@@ -68,9 +68,7 @@ func GdprHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(gdprResp) resp, err := json.Marshal(gdprResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+6
View File
@@ -14,3 +14,9 @@ func init() {
CdnUrl = config.Conf.Cdn.CdnUrl CdnUrl = config.Conf.Cdn.CdnUrl
} }
} }
func CheckErr(err error) {
if err != nil {
panic(err)
}
}
+1 -3
View File
@@ -185,9 +185,7 @@ func LBonusExecuteHandler(ctx *gin.Context) {
} }
resp, err := json.Marshal(res) resp, err := json.Marshal(res)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+25 -75
View File
@@ -72,9 +72,7 @@ func PlayLiveHandler(ctx *gin.Context) {
playReq := model.PlayReq{} playReq := model.PlayReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &playReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &playReq)
if err != nil { CheckErr(err)
panic(err)
}
authorizeStr := ctx.Request.Header["Authorize"] authorizeStr := ctx.Request.Header["Authorize"]
authToken, err := utils.GetAuthorizeToken(authorizeStr) authToken, err := utils.GetAuthorizeToken(authorizeStr)
@@ -106,34 +104,26 @@ func PlayLiveHandler(ctx *gin.Context) {
// fmt.Println(newAuthorizeStr) // fmt.Println(newAuthorizeStr)
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
db.SetMaxOpenConns(1) db.SetMaxOpenConns(1)
tDifficultyId := playReq.LiveDifficultyID tDifficultyId := playReq.LiveDifficultyID
difficultyId, err := strconv.Atoi(tDifficultyId) difficultyId, err := strconv.Atoi(tDifficultyId)
if err != nil { CheckErr(err)
panic(err)
}
deckId := playReq.UnitDeckID deckId := playReq.UnitDeckID
// Song type: normal / special // Song type: normal / special
// sqlite3 doesn't support FULL OUTER JOIN so use UNION ALL here. // sqlite3 doesn't support FULL OUTER JOIN so use UNION ALL here.
sql := `SELECT notes_list,c_rank_score,b_rank_score,a_rank_score,s_rank_score,ac_flag,swing_flag FROM live_setting_m WHERE live_setting_id IN (SELECT live_setting_id FROM normal_live_m WHERE live_difficulty_id = ? UNION ALL SELECT live_setting_id FROM special_live_m WHERE live_difficulty_id = ?)` sql := `SELECT notes_list,c_rank_score,b_rank_score,a_rank_score,s_rank_score,ac_flag,swing_flag FROM live_setting_m WHERE live_setting_id IN (SELECT live_setting_id FROM normal_live_m WHERE live_difficulty_id = ? UNION ALL SELECT live_setting_id FROM special_live_m WHERE live_difficulty_id = ?)`
rows, err := db.Query(sql, difficultyId, difficultyId) rows, err := db.Query(sql, difficultyId, difficultyId)
if err != nil { CheckErr(err)
panic(err)
}
var notes_list string var notes_list string
var c_rank_score, b_rank_score, a_rank_score, s_rank_score, ac_flag, swing_flag int var c_rank_score, b_rank_score, a_rank_score, s_rank_score, ac_flag, swing_flag int
for rows.Next() { for rows.Next() {
err = rows.Scan(&notes_list, &c_rank_score, &b_rank_score, &a_rank_score, &s_rank_score, &ac_flag, &swing_flag) err = rows.Scan(&notes_list, &c_rank_score, &b_rank_score, &a_rank_score, &s_rank_score, &ac_flag, &swing_flag)
if err != nil { CheckErr(err)
panic(err)
}
} }
// fmt.Println(len(notes_list)) // fmt.Println(len(notes_list))
@@ -141,9 +131,7 @@ func PlayLiveHandler(ctx *gin.Context) {
notes := []model.NotesList{} notes := []model.NotesList{}
err = json.Unmarshal([]byte(notes_list), &notes) err = json.Unmarshal([]byte(notes_list), &notes)
if err != nil { CheckErr(err)
panic(err)
}
ranks := []model.RankInfo{} ranks := []model.RankInfo{}
ranks = append(ranks, model.RankInfo{ ranks = append(ranks, model.RankInfo{
@@ -211,9 +199,7 @@ func PlayLiveHandler(ctx *gin.Context) {
} }
m, err := json.Marshal(resp) m, err := json.Marshal(resp)
if err != nil { CheckErr(err)
panic(err)
}
res := model.Response{ res := model.Response{
ResponseData: m, ResponseData: m,
@@ -222,9 +208,7 @@ func PlayLiveHandler(ctx *gin.Context) {
} }
mm, err := json.Marshal(res) mm, err := json.Marshal(res)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(mm, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(mm, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -274,9 +258,7 @@ func GameOverHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(overResp) resp, err := json.Marshal(overResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -292,9 +274,7 @@ func PlayScoreHandler(ctx *gin.Context) {
playScoreReq := model.PlayScoreReq{} playScoreReq := model.PlayScoreReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &playScoreReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &playScoreReq)
if err != nil { CheckErr(err)
panic(err)
}
authorizeStr := ctx.Request.Header["Authorize"] authorizeStr := ctx.Request.Header["Authorize"]
authToken, err := utils.GetAuthorizeToken(authorizeStr) authToken, err := utils.GetAuthorizeToken(authorizeStr)
@@ -326,33 +306,25 @@ func PlayScoreHandler(ctx *gin.Context) {
// fmt.Println(newAuthorizeStr) // fmt.Println(newAuthorizeStr)
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
db.SetMaxOpenConns(1) db.SetMaxOpenConns(1)
tDifficultyId := playScoreReq.LiveDifficultyID tDifficultyId := playScoreReq.LiveDifficultyID
difficultyId, err := strconv.Atoi(tDifficultyId) difficultyId, err := strconv.Atoi(tDifficultyId)
if err != nil { CheckErr(err)
panic(err)
}
// Song type: normal / special // Song type: normal / special
// sqlite3 doesn't support FULL OUTER JOIN so use UNION ALL here. // sqlite3 doesn't support FULL OUTER JOIN so use UNION ALL here.
sql := `SELECT notes_list,c_rank_score,b_rank_score,a_rank_score,s_rank_score,ac_flag,swing_flag FROM live_setting_m WHERE live_setting_id IN (SELECT live_setting_id FROM normal_live_m WHERE live_difficulty_id = ? UNION ALL SELECT live_setting_id FROM special_live_m WHERE live_difficulty_id = ?)` sql := `SELECT notes_list,c_rank_score,b_rank_score,a_rank_score,s_rank_score,ac_flag,swing_flag FROM live_setting_m WHERE live_setting_id IN (SELECT live_setting_id FROM normal_live_m WHERE live_difficulty_id = ? UNION ALL SELECT live_setting_id FROM special_live_m WHERE live_difficulty_id = ?)`
rows, err := db.Query(sql, difficultyId, difficultyId) rows, err := db.Query(sql, difficultyId, difficultyId)
if err != nil { CheckErr(err)
panic(err)
}
var notes_list string var notes_list string
var c_rank_score, b_rank_score, a_rank_score, s_rank_score, ac_flag, swing_flag int var c_rank_score, b_rank_score, a_rank_score, s_rank_score, ac_flag, swing_flag int
for rows.Next() { for rows.Next() {
err = rows.Scan(&notes_list, &c_rank_score, &b_rank_score, &a_rank_score, &s_rank_score, &ac_flag, &swing_flag) err = rows.Scan(&notes_list, &c_rank_score, &b_rank_score, &a_rank_score, &s_rank_score, &ac_flag, &swing_flag)
if err != nil { CheckErr(err)
panic(err)
}
} }
// fmt.Println(len(notes_list)) // fmt.Println(len(notes_list))
@@ -360,9 +332,7 @@ func PlayScoreHandler(ctx *gin.Context) {
notes := []model.NotesList{} notes := []model.NotesList{}
err = json.Unmarshal([]byte(notes_list), &notes) err = json.Unmarshal([]byte(notes_list), &notes)
if err != nil { CheckErr(err)
panic(err)
}
ranks := []model.RankInfo{} ranks := []model.RankInfo{}
ranks = append(ranks, model.RankInfo{ ranks = append(ranks, model.RankInfo{
@@ -414,9 +384,7 @@ func PlayScoreHandler(ctx *gin.Context) {
} }
m, err := json.Marshal(resp) m, err := json.Marshal(resp)
if err != nil { CheckErr(err)
panic(err)
}
res := model.Response{ res := model.Response{
ResponseData: m, ResponseData: m,
@@ -425,9 +393,7 @@ func PlayScoreHandler(ctx *gin.Context) {
} }
mm, err := json.Marshal(res) mm, err := json.Marshal(res)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(mm)) // fmt.Println(string(mm))
xms := encrypt.RSA_Sign_SHA1(mm, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(mm, "privatekey.pem")
@@ -445,9 +411,7 @@ func PlayRewardHandler(ctx *gin.Context) {
playRewardReq := model.PlayRewardReq{} playRewardReq := model.PlayRewardReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &playRewardReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &playRewardReq)
if err != nil { CheckErr(err)
panic(err)
}
authorizeStr := ctx.Request.Header["Authorize"] authorizeStr := ctx.Request.Header["Authorize"]
authToken, err := utils.GetAuthorizeToken(authorizeStr) authToken, err := utils.GetAuthorizeToken(authorizeStr)
@@ -479,9 +443,7 @@ func PlayRewardHandler(ctx *gin.Context) {
// fmt.Println(newAuthorizeStr) // fmt.Println(newAuthorizeStr)
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
db.SetMaxOpenConns(1) db.SetMaxOpenConns(1)
@@ -491,27 +453,19 @@ func PlayRewardHandler(ctx *gin.Context) {
// sqlite3 doesn't support FULL OUTER JOIN so use UNION ALL here. // sqlite3 doesn't support FULL OUTER JOIN so use UNION ALL here.
sql := `SELECT c_rank_score,b_rank_score,a_rank_score,s_rank_score,c_rank_combo,b_rank_combo,a_rank_combo,s_rank_combo,ac_flag,swing_flag FROM live_setting_m WHERE live_setting_id IN (SELECT live_setting_id FROM normal_live_m WHERE live_difficulty_id = ? UNION ALL SELECT live_setting_id FROM special_live_m WHERE live_difficulty_id = ?)` sql := `SELECT c_rank_score,b_rank_score,a_rank_score,s_rank_score,c_rank_combo,b_rank_combo,a_rank_combo,s_rank_combo,ac_flag,swing_flag FROM live_setting_m WHERE live_setting_id IN (SELECT live_setting_id FROM normal_live_m WHERE live_difficulty_id = ? UNION ALL SELECT live_setting_id FROM special_live_m WHERE live_difficulty_id = ?)`
rows, err := db.Query(sql, difficultyId, difficultyId) rows, err := db.Query(sql, difficultyId, difficultyId)
if err != nil { CheckErr(err)
panic(err)
}
var c_rank_score, b_rank_score, a_rank_score, s_rank_score, c_rank_combo, b_rank_combo, a_rank_combo, s_rank_combo, ac_flag, swing_flag int var c_rank_score, b_rank_score, a_rank_score, s_rank_score, c_rank_combo, b_rank_combo, a_rank_combo, s_rank_combo, ac_flag, swing_flag int
for rows.Next() { for rows.Next() {
err = rows.Scan(&c_rank_score, &b_rank_score, &a_rank_score, &s_rank_score, &c_rank_combo, &b_rank_combo, &a_rank_combo, &s_rank_combo, &ac_flag, &swing_flag) err = rows.Scan(&c_rank_score, &b_rank_score, &a_rank_score, &s_rank_score, &c_rank_combo, &b_rank_combo, &a_rank_combo, &s_rank_combo, &ac_flag, &swing_flag)
if err != nil { CheckErr(err)
panic(err)
}
} }
unitsList := []model.PlayRewardUnitList{} unitsList := []model.PlayRewardUnitList{}
deck, err := database.LevelDb.Get([]byte("deck_info")) deck, err := database.LevelDb.Get([]byte("deck_info"))
if err != nil { CheckErr(err)
panic(err)
}
err = json.Unmarshal(deck, &unitsList) err = json.Unmarshal(deck, &unitsList)
if err != nil { CheckErr(err)
panic(err)
}
totalScore := playRewardReq.ScoreSmile + playRewardReq.ScoreCool + playRewardReq.ScoreCute totalScore := playRewardReq.ScoreSmile + playRewardReq.ScoreCool + playRewardReq.ScoreCute
resp := model.RewardResponseData{ resp := model.RewardResponseData{
@@ -662,9 +616,7 @@ func PlayRewardHandler(ctx *gin.Context) {
} }
m, err := json.Marshal(resp) m, err := json.Marshal(resp)
if err != nil { CheckErr(err)
panic(err)
}
res := model.Response{ res := model.Response{
ResponseData: m, ResponseData: m,
@@ -673,9 +625,7 @@ func PlayRewardHandler(ctx *gin.Context) {
} }
mm, err := json.Marshal(res) mm, err := json.Marshal(res)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(mm)) // fmt.Println(string(mm))
xms := encrypt.RSA_Sign_SHA1(mm, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(mm, "privatekey.pem")
+14 -42
View File
@@ -20,21 +20,15 @@ func AuthKeyHandler(ctx *gin.Context) {
authReq := model.AuthKeyReq{} authReq := model.AuthKeyReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &authReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &authReq)
if err != nil { CheckErr(err)
panic(err)
}
dummyToken64, err := base64.StdEncoding.DecodeString(authReq.DummyToken) dummyToken64, err := base64.StdEncoding.DecodeString(authReq.DummyToken)
if err != nil { CheckErr(err)
panic(err)
}
dummyTokenDecrypted := encrypt.RSA_Decrypt(dummyToken64, "privatekey.pem") dummyTokenDecrypted := encrypt.RSA_Decrypt(dummyToken64, "privatekey.pem")
// aesKey := dummyTokenDecrypted[0:16] // aesKey := dummyTokenDecrypted[0:16]
// data64, err := base64.StdEncoding.DecodeString(authReq.AuthData) // data64, err := base64.StdEncoding.DecodeString(authReq.AuthData)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// dataDecrypted := utils.Sub16(encrypt.AES_CBC_Decrypt(data64, aesKey)) // dataDecrypted := utils.Sub16(encrypt.AES_CBC_Decrypt(data64, aesKey))
// fmt.Println(string(dataDecrypted)) // fmt.Println(string(dataDecrypted))
@@ -51,22 +45,16 @@ func AuthKeyHandler(ctx *gin.Context) {
"server_token": serverToken, "server_token": serverToken,
} }
authJson, err := json.Marshal(authData) authJson, err := json.Marshal(authData)
if err != nil { CheckErr(err)
panic(err)
}
database.LevelDb.Put([]byte(authorizeToken), authJson) database.LevelDb.Put([]byte(authorizeToken), authJson)
if err != nil { CheckErr(err)
panic(err)
}
authResp := model.AuthKeyResp{} authResp := model.AuthKeyResp{}
authResp.ResponseData.DummyToken = serverToken authResp.ResponseData.DummyToken = serverToken
authResp.ResponseData.AuthorizeToken = authorizeToken authResp.ResponseData.AuthorizeToken = authorizeToken
authResp.StatusCode = 200 authResp.StatusCode = 200
resp, err := json.Marshal(authResp) resp, err := json.Marshal(authResp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(resp)) // fmt.Println(string(resp))
respTime := time.Now().Unix() respTime := time.Now().Unix()
@@ -94,39 +82,27 @@ func LoginHandler(ctx *gin.Context) {
// authData, err := database.RedisCli.HGetAll(database.RedisCtx, authToken).Result() // authData, err := database.RedisCli.HGetAll(database.RedisCtx, authToken).Result()
// authData, err := database.LevelDb.Get([]byte(authToken)) // authData, err := database.LevelDb.Get([]byte(authToken))
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(authData) // fmt.Println(authData)
// clientToken, serverToken := authData["client_token"], authData["server_token"] // clientToken, serverToken := authData["client_token"], authData["server_token"]
// clientToken := gjson.Get(string(authData), "client_token").String() // clientToken := gjson.Get(string(authData), "client_token").String()
// serverToken := gjson.Get(string(authData), "server_token").String() // serverToken := gjson.Get(string(authData), "server_token").String()
// clientToken64, err := base64.RawStdEncoding.DecodeString(clientToken) // clientToken64, err := base64.RawStdEncoding.DecodeString(clientToken)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// serverToken64, err := base64.RawStdEncoding.DecodeString(serverToken) // serverToken64, err := base64.RawStdEncoding.DecodeString(serverToken)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// xmcKey := utils.SliceXor([]byte(clientToken64), []byte(serverToken64)) // xmcKey := utils.SliceXor([]byte(clientToken64), []byte(serverToken64))
// aesKey := xmcKey[0:16] // aesKey := xmcKey[0:16]
loginReq := model.LoginReq{} loginReq := model.LoginReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &loginReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &loginReq)
if err != nil { CheckErr(err)
panic(err)
}
// key64, err := base64.StdEncoding.DecodeString(loginReq.LoginKey) // key64, err := base64.StdEncoding.DecodeString(loginReq.LoginKey)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// pass64, err := base64.StdEncoding.DecodeString(loginReq.LoginPasswd) // pass64, err := base64.StdEncoding.DecodeString(loginReq.LoginPasswd)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// keyDescrypted := utils.Sub16(encrypt.AES_CBC_Decrypt(key64, aesKey)) // keyDescrypted := utils.Sub16(encrypt.AES_CBC_Decrypt(key64, aesKey))
// fmt.Println(string(keyDescrypted)) // fmt.Println(string(keyDescrypted))
// passDescrypted := utils.Sub16(encrypt.AES_CBC_Decrypt(pass64, aesKey)) // passDescrypted := utils.Sub16(encrypt.AES_CBC_Decrypt(pass64, aesKey))
@@ -151,9 +127,7 @@ func LoginHandler(ctx *gin.Context) {
// _, err = database.RedisCli.HSet(database.RedisCtx, "token_uid", authorizeToken, userId).Result() // _, err = database.RedisCli.HSet(database.RedisCtx, "token_uid", authorizeToken, userId).Result()
err = database.LevelDb.Put([]byte(authorizeToken), []byte(sUserId)) err = database.LevelDb.Put([]byte(authorizeToken), []byte(sUserId))
if err != nil { CheckErr(err)
panic(err)
}
loginResp := model.LoginResp{} loginResp := model.LoginResp{}
loginResp.ResponseData.AuthorizeToken = authorizeToken loginResp.ResponseData.AuthorizeToken = authorizeToken
@@ -162,9 +136,7 @@ func LoginHandler(ctx *gin.Context) {
loginResp.ResponseData.AdultFlag = 2 loginResp.ResponseData.AdultFlag = 2
loginResp.StatusCode = 200 loginResp.StatusCode = 200
resp, err := json.Marshal(loginResp) resp, err := json.Marshal(loginResp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(resp)) // fmt.Println(string(resp))
respTime := time.Now().Unix() respTime := time.Now().Unix()
+2 -6
View File
@@ -40,9 +40,7 @@ func MultiUnitStartUpHandler(ctx *gin.Context) {
startReq := MultiUnitStartUpReq{} startReq := MultiUnitStartUpReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq)
if err != nil { CheckErr(err)
panic(err)
}
authorizeStr := ctx.Request.Header["Authorize"] authorizeStr := ctx.Request.Header["Authorize"]
authToken, err := utils.GetAuthorizeToken(authorizeStr) authToken, err := utils.GetAuthorizeToken(authorizeStr)
@@ -83,9 +81,7 @@ func MultiUnitStartUpHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(startResp) resp, err := json.Marshal(startResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+3 -9
View File
@@ -93,9 +93,7 @@ func NoticeFriendVarietyHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(noticeResp) resp, err := json.Marshal(noticeResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -148,9 +146,7 @@ func NoticeFriendGreetingHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(noticeResp) resp, err := json.Marshal(noticeResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -204,9 +200,7 @@ func NoticeUserGreetingHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(noticeResp) resp, err := json.Marshal(noticeResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+1 -3
View File
@@ -91,9 +91,7 @@ func ProductListHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(prodReesp) resp, err := json.Marshal(prodReesp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+1 -3
View File
@@ -74,9 +74,7 @@ func PersonalNoticeHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(noticeResp) resp, err := json.Marshal(noticeResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+23 -69
View File
@@ -37,33 +37,25 @@ func PublicKeyHandler(ctx *gin.Context) {
func HandshakeHandler(ctx *gin.Context) { func HandshakeHandler(ctx *gin.Context) {
body, err := io.ReadAll(ctx.Request.Body) body, err := io.ReadAll(ctx.Request.Body)
if err != nil { CheckErr(err)
panic(err)
}
defer ctx.Request.Body.Close() defer ctx.Request.Body.Close()
// fmt.Println(string(body)) // fmt.Println(string(body))
body64, err := base64.StdEncoding.DecodeString(string(body)) body64, err := base64.StdEncoding.DecodeString(string(body))
if err != nil { CheckErr(err)
panic(err)
}
decryptedBody := encrypt.RSA_Decrypt(body64, "privatekey.pem") decryptedBody := encrypt.RSA_Decrypt(body64, "privatekey.pem")
// fmt.Println(decryptedBody) // fmt.Println(decryptedBody)
// fmt.Println(string(decryptedBody)) // fmt.Println(string(decryptedBody))
params, err := url.ParseQuery(string(decryptedBody)) params, err := url.ParseQuery(string(decryptedBody))
if err != nil { CheckErr(err)
panic(err)
}
randKey = params.Get("randkey") randKey = params.Get("randkey")
// fmt.Println(randKey) // fmt.Println(randKey)
token := strings.ToUpper(utils.RandomStr(33)) token := strings.ToUpper(utils.RandomStr(33))
token = fmt.Sprintf(`{"message":"ok","result":0,"token":"%s"}`, token) token = fmt.Sprintf(`{"message":"ok","result":0,"token":"%s"}`, token)
encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), []byte(randKey)[0:24], openssl.PKCS7_PADDING) encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), []byte(randKey)[0:24], openssl.PKCS7_PADDING)
if err != nil { CheckErr(err)
panic(err)
}
encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken) encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken)
// fmt.Println(encryptedToken64) // fmt.Println(encryptedToken64)
@@ -75,22 +67,16 @@ func HandshakeHandler(ctx *gin.Context) {
func InitializeHandler(ctx *gin.Context) { func InitializeHandler(ctx *gin.Context) {
// body, err := io.ReadAll(ctx.Request.Body) // body, err := io.ReadAll(ctx.Request.Body)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// defer ctx.Request.Body.Close() // defer ctx.Request.Body.Close()
// fmt.Println(string(body)) // fmt.Println(string(body))
// body64, err := base64.StdEncoding.DecodeString(string(body)) // body64, err := base64.StdEncoding.DecodeString(string(body))
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(body64)) // fmt.Println(string(body64))
// decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING) // decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(decryptedBody)) // fmt.Println(string(decryptedBody))
data := `{ data := `{
@@ -129,9 +115,7 @@ func InitializeHandler(ctx *gin.Context) {
"weixin_key":"" "weixin_key":""
}` }`
encryptedToken, err := openssl.Des3ECBEncrypt([]byte(data), []byte(randKey)[0:24], openssl.PKCS7_PADDING) encryptedToken, err := openssl.Des3ECBEncrypt([]byte(data), []byte(randKey)[0:24], openssl.PKCS7_PADDING)
if err != nil { CheckErr(err)
panic(err)
}
encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken) encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken)
// fmt.Println(encryptedToken64) // fmt.Println(encryptedToken64)
@@ -149,30 +133,22 @@ func GetCodeHandler(ctx *gin.Context) {
func LoginAutoHandler(ctx *gin.Context) { func LoginAutoHandler(ctx *gin.Context) {
// body, err := io.ReadAll(ctx.Request.Body) // body, err := io.ReadAll(ctx.Request.Body)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// defer ctx.Request.Body.Close() // defer ctx.Request.Body.Close()
// fmt.Println(string(body)) // fmt.Println(string(body))
// body64, err := base64.StdEncoding.DecodeString(string(body)) // body64, err := base64.StdEncoding.DecodeString(string(body))
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(body64)) // fmt.Println(string(body64))
// decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING) // decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(decryptedBody)) // fmt.Println(string(decryptedBody))
// Unable to decrypt server data // Unable to decrypt server data
token := `{"message":"Hello, world!"}` token := `{"message":"Hello, world!"}`
encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), []byte(randKey)[0:24], openssl.PKCS7_PADDING) encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), []byte(randKey)[0:24], openssl.PKCS7_PADDING)
if err != nil { CheckErr(err)
panic(err)
}
encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken) encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken)
// fmt.Println(encryptedToken64) // fmt.Println(encryptedToken64)
@@ -194,22 +170,16 @@ func LoginAreaHandler(ctx *gin.Context) {
func AccountLoginHandler(ctx *gin.Context) { func AccountLoginHandler(ctx *gin.Context) {
// body, err := io.ReadAll(ctx.Request.Body) // body, err := io.ReadAll(ctx.Request.Body)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// defer ctx.Request.Body.Close() // defer ctx.Request.Body.Close()
// fmt.Println(string(body)) // fmt.Println(string(body))
// body64, err := base64.StdEncoding.DecodeString(string(body)) // body64, err := base64.StdEncoding.DecodeString(string(body))
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(body64)) // fmt.Println(string(body64))
// decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING) // decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(decryptedBody)) // fmt.Println(string(decryptedBody))
// userid: 实际登录用的账号 // userid: 实际登录用的账号
@@ -241,9 +211,7 @@ func AccountLoginHandler(ctx *gin.Context) {
"userid":"2592007136" "userid":"2592007136"
}` }`
encryptedToken, err := openssl.Des3ECBEncrypt([]byte(data), []byte(randKey)[0:24], openssl.PKCS7_PADDING) encryptedToken, err := openssl.Des3ECBEncrypt([]byte(data), []byte(randKey)[0:24], openssl.PKCS7_PADDING)
if err != nil { CheckErr(err)
panic(err)
}
encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken) encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken)
// fmt.Println(encryptedToken64) // fmt.Println(encryptedToken64)
@@ -255,36 +223,26 @@ func AccountLoginHandler(ctx *gin.Context) {
func ReportRoleHandler(ctx *gin.Context) { func ReportRoleHandler(ctx *gin.Context) {
// body, err := io.ReadAll(ctx.Request.Body) // body, err := io.ReadAll(ctx.Request.Body)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// defer ctx.Request.Body.Close() // defer ctx.Request.Body.Close()
// fmt.Println(string(body)) // fmt.Println(string(body))
// body64, err := base64.StdEncoding.DecodeString(string(body)) // body64, err := base64.StdEncoding.DecodeString(string(body))
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(body64)) // fmt.Println(string(body64))
// decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING) // decryptedBody, err := openssl.Des3ECBDecrypt(body64, []byte(randKey)[0:24], openssl.PKCS7_PADDING)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(string(decryptedBody)) // fmt.Println(string(decryptedBody))
// decrypted, err := url.QueryUnescape(string(decryptedBody)) // decrypted, err := url.QueryUnescape(string(decryptedBody))
// if err != nil { // CheckErr(err)
// panic(err)
// }
// fmt.Println(decrypted) // fmt.Println(decrypted)
// Unable to decrypt server data // Unable to decrypt server data
token := `{"message":"Hello, world!"}` token := `{"message":"Hello, world!"}`
encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), []byte(randKey)[0:24], openssl.PKCS7_PADDING) encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), []byte(randKey)[0:24], openssl.PKCS7_PADDING)
if err != nil { CheckErr(err)
panic(err)
}
encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken) encryptedToken64 := base64.StdEncoding.EncodeToString(encryptedToken)
// fmt.Println(encryptedToken64) // fmt.Println(encryptedToken64)
@@ -302,9 +260,7 @@ func GetProductListHandler(ctx *gin.Context) {
func ReportLog(ctx *gin.Context) { func ReportLog(ctx *gin.Context) {
// body, err := io.ReadAll(ctx.Request.Body) // body, err := io.ReadAll(ctx.Request.Body)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// defer ctx.Request.Body.Close() // defer ctx.Request.Body.Close()
// fmt.Println(string(body)) // fmt.Println(string(body))
ctx.Header("Content-Type", "text/html;charset=utf-8") ctx.Header("Content-Type", "text/html;charset=utf-8")
@@ -313,9 +269,7 @@ func ReportLog(ctx *gin.Context) {
func ReportApp(ctx *gin.Context) { func ReportApp(ctx *gin.Context) {
// body, err := io.ReadAll(ctx.Request.Body) // body, err := io.ReadAll(ctx.Request.Body)
// if err != nil { // CheckErr(err)
// panic(err)
// }
// defer ctx.Request.Body.Close() // defer ctx.Request.Body.Close()
// fmt.Println(string(body)) // fmt.Println(string(body))
resp := `{ "code": 0, "msg": "", "data": { "needReport": 0 } }` resp := `{ "code": 0, "msg": "", "data": { "needReport": 0 } }`
+2 -6
View File
@@ -40,9 +40,7 @@ func ScenarioStartupHandler(ctx *gin.Context) {
startReq := ScenarioReq{} startReq := ScenarioReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq)
if err != nil { CheckErr(err)
panic(err)
}
authorizeStr := ctx.Request.Header["Authorize"] authorizeStr := ctx.Request.Header["Authorize"]
authToken, err := utils.GetAuthorizeToken(authorizeStr) authToken, err := utils.GetAuthorizeToken(authorizeStr)
@@ -83,9 +81,7 @@ func ScenarioStartupHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(startResp) resp, err := json.Marshal(startResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+2 -6
View File
@@ -40,9 +40,7 @@ func SubScenarioStartupHandler(ctx *gin.Context) {
startReq := SubScenarioReq{} startReq := SubScenarioReq{}
err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq) err := json.Unmarshal([]byte(ctx.PostForm("request_data")), &startReq)
if err != nil { CheckErr(err)
panic(err)
}
authorizeStr := ctx.Request.Header["Authorize"] authorizeStr := ctx.Request.Header["Authorize"]
authToken, err := utils.GetAuthorizeToken(authorizeStr) authToken, err := utils.GetAuthorizeToken(authorizeStr)
@@ -83,9 +81,7 @@ func SubScenarioStartupHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(startResp) resp, err := json.Marshal(startResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+1 -3
View File
@@ -69,9 +69,7 @@ func TosCheckHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(tosResp) resp, err := json.Marshal(tosResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+1 -3
View File
@@ -58,9 +58,7 @@ func SetDisplayRankHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(dispResp) resp, err := json.Marshal(dispResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+2 -6
View File
@@ -58,9 +58,7 @@ func SetNotificationTokenHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(notifResp) resp, err := json.Marshal(notifResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
@@ -109,9 +107,7 @@ func ChangeNaviHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(notifResp) resp, err := json.Marshal(notifResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+1 -3
View File
@@ -141,9 +141,7 @@ func UserInfoHandler(ctx *gin.Context) {
StatusCode: 200, StatusCode: 200,
} }
resp, err := json.Marshal(userResp) resp, err := json.Marshal(userResp)
if err != nil { CheckErr(err)
panic(err)
}
xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem") xms := encrypt.RSA_Sign_SHA1(resp, "privatekey.pem")
xms64 := base64.RawStdEncoding.EncodeToString(xms) xms64 := base64.RawStdEncoding.EncodeToString(xms)
+12 -35
View File
@@ -12,13 +12,10 @@ func LoadApi1Data(path string) {
if apiData != "" { if apiData != "" {
var obj model.Response var obj model.Response
err := json.Unmarshal([]byte(apiData), &obj) err := json.Unmarshal([]byte(apiData), &obj)
if err != nil { CheckErr(err)
panic(err)
}
var data interface{} var data interface{}
err = json.Unmarshal(obj.ResponseData, &data) if err = json.Unmarshal(obj.ResponseData, &data); err != nil {
if err != nil {
panic(err) panic(err)
} }
// resultType := reflect.TypeOf(data) // resultType := reflect.TypeOf(data)
@@ -28,9 +25,7 @@ func LoadApi1Data(path string) {
result := data.([]interface{}) result := data.([]interface{})
for k, v := range result { for k, v := range result {
m, err := json.Marshal(v) m, err := json.Marshal(v)
if err != nil { CheckErr(err)
panic(err)
}
key := "" key := ""
switch k { switch k {
@@ -91,9 +86,7 @@ func LoadApi1Data(path string) {
if key != "" { if key != "" {
// database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m)) // database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m))
err = database.LevelDb.Put([]byte(key), m) err = database.LevelDb.Put([]byte(key), m)
if err != nil { CheckErr(err)
panic(err)
}
} }
} }
} }
@@ -104,15 +97,11 @@ func LoadApi2Data(path string) {
if apiData != "" { if apiData != "" {
var obj model.Response var obj model.Response
err := json.Unmarshal([]byte(apiData), &obj) err := json.Unmarshal([]byte(apiData), &obj)
if err != nil { CheckErr(err)
panic(err)
}
var data interface{} var data interface{}
err = json.Unmarshal(obj.ResponseData, &data) err = json.Unmarshal(obj.ResponseData, &data)
if err != nil { CheckErr(err)
panic(err)
}
// resultType := reflect.TypeOf(data) // resultType := reflect.TypeOf(data)
// if resultType.Kind() == reflect.Map { // if resultType.Kind() == reflect.Map {
// data = data.(map[string]interface{}) // data = data.(map[string]interface{})
@@ -120,9 +109,7 @@ func LoadApi2Data(path string) {
result := data.([]interface{}) result := data.([]interface{})
for k, v := range result { for k, v := range result {
m, err := json.Marshal(v) m, err := json.Marshal(v)
if err != nil { CheckErr(err)
panic(err)
}
key := "" key := ""
switch k { switch k {
@@ -139,9 +126,7 @@ func LoadApi2Data(path string) {
if key != "" { if key != "" {
// database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m)) // database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m))
err = database.LevelDb.Put([]byte(key), m) err = database.LevelDb.Put([]byte(key), m)
if err != nil { CheckErr(err)
panic(err)
}
} }
} }
} }
@@ -152,15 +137,11 @@ func LoadApi3Data(path string) {
if apiData != "" { if apiData != "" {
var obj model.Response var obj model.Response
err := json.Unmarshal([]byte(apiData), &obj) err := json.Unmarshal([]byte(apiData), &obj)
if err != nil { CheckErr(err)
panic(err)
}
var data interface{} var data interface{}
err = json.Unmarshal(obj.ResponseData, &data) err = json.Unmarshal(obj.ResponseData, &data)
if err != nil { CheckErr(err)
panic(err)
}
// resultType := reflect.TypeOf(data) // resultType := reflect.TypeOf(data)
// if resultType.Kind() == reflect.Map { // if resultType.Kind() == reflect.Map {
// data = data.(map[string]interface{}) // data = data.(map[string]interface{})
@@ -168,9 +149,7 @@ func LoadApi3Data(path string) {
result := data.([]interface{}) result := data.([]interface{})
for k, v := range result { for k, v := range result {
m, err := json.Marshal(v) m, err := json.Marshal(v)
if err != nil { CheckErr(err)
panic(err)
}
key := "" key := ""
switch k { switch k {
@@ -185,9 +164,7 @@ func LoadApi3Data(path string) {
if key != "" { if key != "" {
// database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m)) // database.RedisCli.HSet(database.RedisCtx, "temp_dataset", key, string(m))
err = database.LevelDb.Put([]byte(key), m) err = database.LevelDb.Put([]byte(key), m)
if err != nil { CheckErr(err)
panic(err)
}
} }
} }
} }
+6 -18
View File
@@ -20,43 +20,31 @@ func GenDownloadDb() {
// PRIMARY KEY ("id") // PRIMARY KEY ("id")
// )` // )`
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
fileLists, err := os.ReadDir("F:/sif_dl/list_CN_Android") fileLists, err := os.ReadDir("F:/sif_dl/list_CN_Android")
if err != nil { CheckErr(err)
panic(err)
}
for _, v := range fileLists { for _, v := range fileLists {
if v.IsDir() { if v.IsDir() {
panic(err) panic(err)
} }
fileList := "F:/sif_dl/list_CN_Android/" + v.Name() fileList := "F:/sif_dl/list_CN_Android/" + v.Name()
fileStat, err := os.Stat(fileList) fileStat, err := os.Stat(fileList)
if err != nil { CheckErr(err)
panic(err)
}
pkgSize := fileStat.Size() pkgSize := fileStat.Size()
fileInfo := strings.Split(strings.ReplaceAll(v.Name(), ".zip", ""), "_") fileInfo := strings.Split(strings.ReplaceAll(v.Name(), ".zip", ""), "_")
pkgType, pkgId, pkgOrder := fileInfo[0], fileInfo[1], fileInfo[2] pkgType, pkgId, pkgOrder := fileInfo[0], fileInfo[1], fileInfo[2]
fmt.Printf("%s - %s - %s - %d\n", pkgType, pkgId, pkgOrder, pkgSize) fmt.Printf("%s - %s - %s - %d\n", pkgType, pkgId, pkgOrder, pkgSize)
stmt, err := db.Prepare("INSERT INTO download_db(pkg_type,pkg_id,pkg_order,pkg_size) VALUES (?,?,?,?)") stmt, err := db.Prepare("INSERT INTO download_db(pkg_type,pkg_id,pkg_order,pkg_size) VALUES (?,?,?,?)")
if err != nil { CheckErr(err)
panic(err)
}
res, err := stmt.Exec(pkgType, pkgId, pkgOrder, pkgSize) res, err := stmt.Exec(pkgType, pkgId, pkgOrder, pkgSize)
if err != nil { CheckErr(err)
panic(err)
}
id, err := res.LastInsertId() id, err := res.LastInsertId()
if err != nil { CheckErr(err)
panic(err)
}
fmt.Println("LastInsertId:", id) fmt.Println("LastInsertId:", id)
} }
} }
+44 -132
View File
@@ -155,9 +155,7 @@ var (
func GenApi1Data() { func GenApi1Data() {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
// global // global
@@ -168,14 +166,10 @@ func GenApi1Data() {
normalLives := []model.NormalLiveStatusList{} normalLives := []model.NormalLiveStatusList{}
sql := `SELECT live_difficulty_id FROM normal_live_m ORDER BY live_difficulty_id ASC` sql := `SELECT live_difficulty_id FROM normal_live_m ORDER BY live_difficulty_id ASC`
rows, err := db.Query(sql) rows, err := db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
for rows.Next() { for rows.Next() {
err = rows.Scan(&liveDifficultyId) err = rows.Scan(&liveDifficultyId)
if err != nil { CheckErr(err)
panic(err)
}
normalLive := model.NormalLiveStatusList{ normalLive := model.NormalLiveStatusList{
LiveDifficultyID: liveDifficultyId, LiveDifficultyID: liveDifficultyId,
@@ -192,14 +186,10 @@ func GenApi1Data() {
specialLives := []model.SpecialLiveStatusList{} specialLives := []model.SpecialLiveStatusList{}
sql = `SELECT live_difficulty_id FROM special_live_m ORDER BY live_difficulty_id ASC` sql = `SELECT live_difficulty_id FROM special_live_m ORDER BY live_difficulty_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
for rows.Next() { for rows.Next() {
err = rows.Scan(&liveDifficultyId) err = rows.Scan(&liveDifficultyId)
if err != nil { CheckErr(err)
panic(err)
}
specialLive := model.SpecialLiveStatusList{ specialLive := model.SpecialLiveStatusList{
LiveDifficultyID: liveDifficultyId, LiveDifficultyID: liveDifficultyId,
@@ -259,9 +249,7 @@ func GenApi1Data() {
// unit_list_result // unit_list_result
sql = `SELECT unit_id,album_series_id,rarity,rank_min,rank_max,hp_max,default_removable_skill_capacity FROM unit_m WHERE unit_id NOT IN (SELECT unit_id FROM unit_m WHERE unit_type_id IN (SELECT unit_type_id FROM unit_type_m WHERE image_button_asset IS NULL AND (background_color = 'dcdbe3' AND original_attribute_id IS NULL) OR (unit_type_id IN (10,110,127,128,129) OR unit_type_id BETWEEN 131 AND 140))) ORDER BY unit_number ASC;` sql = `SELECT unit_id,album_series_id,rarity,rank_min,rank_max,hp_max,default_removable_skill_capacity FROM unit_m WHERE unit_id NOT IN (SELECT unit_id FROM unit_m WHERE unit_type_id IN (SELECT unit_type_id FROM unit_type_m WHERE image_button_asset IS NULL AND (background_color = 'dcdbe3' AND original_attribute_id IS NULL) OR (unit_type_id IN (10,110,127,128,129) OR unit_type_id BETWEEN 131 AND 140))) ORDER BY unit_number ASC;`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
unitsData := []model.Active{} unitsData := []model.Active{}
oId := 3000000000 // 起始卡片 ID,随意设置 oId := 3000000000 // 起始卡片 ID,随意设置
@@ -353,16 +341,12 @@ func GenApi1Data() {
unitData.UnitRemovableSkillCapacity = 8 unitData.UnitRemovableSkillCapacity = 8
rs, err := db.Query("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?", uid) rs, err := db.Query("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?", uid)
if err != nil { CheckErr(err)
panic(err)
}
ct := 0 ct := 0
for rs.Next() { for rs.Next() {
err = rs.Scan(&ct) err = rs.Scan(&ct)
if err != nil { CheckErr(err)
panic(err)
}
} }
if ct > 0 { if ct > 0 {
unitData.IsSigned = true unitData.IsSigned = true
@@ -441,13 +425,9 @@ func GenApi1Data() {
// HACK 保存卡组信息 // HACK 保存卡组信息
deck, err := json.Marshal(defaultDeckUnitList) deck, err := json.Marshal(defaultDeckUnitList)
if err != nil { CheckErr(err)
panic(err)
}
err = database.LevelDb.Put([]byte("deck_info"), deck) err = database.LevelDb.Put([]byte("deck_info"), deck)
if err != nil { CheckErr(err)
panic(err)
}
// unit_support_result // unit_support_result
unitSupportResp := model.UnitSupportResp{ unitSupportResp := model.UnitSupportResp{
@@ -490,9 +470,7 @@ func GenApi1Data() {
albumLists := []model.AlbumResult{} albumLists := []model.AlbumResult{}
sql = `SELECT unit_id,rarity FROM unit_m ORDER BY unit_id ASC` sql = `SELECT unit_id,rarity FROM unit_m ORDER BY unit_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
for rows.Next() { for rows.Next() {
albumList := model.AlbumResult{ albumList := model.AlbumResult{
RankMaxFlag: true, RankMaxFlag: true,
@@ -503,9 +481,7 @@ func GenApi1Data() {
} }
var uid, rit int var uid, rit int
err = rows.Scan(&uid, &rit) err = rows.Scan(&uid, &rit)
if err != nil { CheckErr(err)
panic(err)
}
albumList.UnitID = uid albumList.UnitID = uid
if rit != 4 { if rit != 4 {
albumList.SignFlag = false albumList.SignFlag = false
@@ -527,16 +503,12 @@ func GenApi1Data() {
albumList.TotalLove = 1000 albumList.TotalLove = 1000
rs, err := db.Query("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?", uid) rs, err := db.Query("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?", uid)
if err != nil { CheckErr(err)
panic(err)
}
ct := 0 ct := 0
for rs.Next() { for rs.Next() {
err = rs.Scan(&ct) err = rs.Scan(&ct)
if err != nil { CheckErr(err)
panic(err)
}
} }
if ct > 0 { if ct > 0 {
albumList.SignFlag = true albumList.SignFlag = true
@@ -560,16 +532,12 @@ func GenApi1Data() {
// scenario_status_result // scenario_status_result
sql = `SELECT scenario_id FROM scenario_m ORDER BY scenario_id ASC` sql = `SELECT scenario_id FROM scenario_m ORDER BY scenario_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
scenarioLists := []model.ScenarioStatusList{} scenarioLists := []model.ScenarioStatusList{}
for rows.Next() { for rows.Next() {
var sid int var sid int
err = rows.Scan(&sid) err = rows.Scan(&sid)
if err != nil { CheckErr(err)
panic(err)
}
scenarioLists = append(scenarioLists, model.ScenarioStatusList{ scenarioLists = append(scenarioLists, model.ScenarioStatusList{
ScenarioID: sid, ScenarioID: sid,
Status: 2, Status: 2,
@@ -589,16 +557,12 @@ func GenApi1Data() {
// subscenario_status_result // subscenario_status_result
sql = `SELECT subscenario_id FROM subscenario_m ORDER BY subscenario_id ASC` sql = `SELECT subscenario_id FROM subscenario_m ORDER BY subscenario_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
subScenarioLists := []model.SubscenarioStatusList{} subScenarioLists := []model.SubscenarioStatusList{}
for rows.Next() { for rows.Next() {
var sid int var sid int
err = rows.Scan(&sid) err = rows.Scan(&sid)
if err != nil { CheckErr(err)
panic(err)
}
subScenarioLists = append(subScenarioLists, model.SubscenarioStatusList{ subScenarioLists = append(subScenarioLists, model.SubscenarioStatusList{
SubscenarioID: sid, SubscenarioID: sid,
Status: 2, Status: 2,
@@ -620,30 +584,22 @@ func GenApi1Data() {
eventsList := []model.EventScenarioList{} eventsList := []model.EventScenarioList{}
sql = `SELECT event_id FROM event_scenario_m GROUP BY event_id ORDER BY event_id DESC` sql = `SELECT event_id FROM event_scenario_m GROUP BY event_id ORDER BY event_id DESC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
for rows.Next() { for rows.Next() {
var eventId int var eventId int
err = rows.Scan(&eventId) err = rows.Scan(&eventId)
if err != nil { CheckErr(err)
panic(err)
}
sql = `SELECT event_scenario_id,chapter,chapter_asset,open_date FROM event_scenario_m WHERE event_id = ? ORDER BY chapter DESC` sql = `SELECT event_scenario_id,chapter,chapter_asset,open_date FROM event_scenario_m WHERE event_id = ? ORDER BY chapter DESC`
chaps, err := db.Query(sql, eventId) chaps, err := db.Query(sql, eventId)
if err != nil { CheckErr(err)
panic(err)
}
chapsList := []model.EventScenarioChapterList{} chapsList := []model.EventScenarioChapterList{}
var open_date string var open_date string
for chaps.Next() { for chaps.Next() {
var event_scenario_id, chapter int var event_scenario_id, chapter int
var chapter_asset interface{} var chapter_asset interface{}
err = chaps.Scan(&event_scenario_id, &chapter, &chapter_asset, &open_date) err = chaps.Scan(&event_scenario_id, &chapter, &chapter_asset, &open_date)
if err != nil { CheckErr(err)
panic(err)
}
chapList := model.EventScenarioChapterList{ chapList := model.EventScenarioChapterList{
EventScenarioID: event_scenario_id, EventScenarioID: event_scenario_id,
Chapter: chapter, Chapter: chapter,
@@ -692,29 +648,21 @@ func GenApi1Data() {
// multi_unit_scenario_result // multi_unit_scenario_result
sql = `SELECT multi_unit_id FROM multi_unit_scenario_m GROUP BY multi_unit_id ORDER BY multi_unit_id ASC` sql = `SELECT multi_unit_id FROM multi_unit_scenario_m GROUP BY multi_unit_id ORDER BY multi_unit_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
var mId int var mId int
multiUnitsList := []model.MultiUnitScenarioStatusList{} multiUnitsList := []model.MultiUnitScenarioStatusList{}
for rows.Next() { for rows.Next() {
err = rows.Scan(&mId) err = rows.Scan(&mId)
if err != nil { CheckErr(err)
panic(err)
}
sql = `SELECT multi_unit_scenario_btn_asset,open_date,multi_unit_scenario_id,chapter FROM multi_unit_scenario_m a LEFT JOIN multi_unit_scenario_open_m b ON a.multi_unit_id = b.multi_unit_id WHERE a.multi_unit_id = ?` sql = `SELECT multi_unit_scenario_btn_asset,open_date,multi_unit_scenario_id,chapter FROM multi_unit_scenario_m a LEFT JOIN multi_unit_scenario_open_m b ON a.multi_unit_id = b.multi_unit_id WHERE a.multi_unit_id = ?`
units, err := db.Query(sql, mId) units, err := db.Query(sql, mId)
if err != nil { CheckErr(err)
panic(err)
}
var multi_unit_scenario_id, chapter int var multi_unit_scenario_id, chapter int
var multi_unit_scenario_btn_asset, open_date string var multi_unit_scenario_btn_asset, open_date string
for units.Next() { for units.Next() {
err = units.Scan(&multi_unit_scenario_btn_asset, &open_date, &multi_unit_scenario_id, &chapter) err = units.Scan(&multi_unit_scenario_btn_asset, &open_date, &multi_unit_scenario_id, &chapter)
if err != nil { CheckErr(err)
panic(err)
}
} }
multiUnitsList = append(multiUnitsList, model.MultiUnitScenarioStatusList{ multiUnitsList = append(multiUnitsList, model.MultiUnitScenarioStatusList{
@@ -846,16 +794,12 @@ func GenApi1Data() {
// award_result // award_result
sql = `SELECT award_id FROM award_m ORDER BY award_id ASC` sql = `SELECT award_id FROM award_m ORDER BY award_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
awardsList := []model.AwardInfo{} awardsList := []model.AwardInfo{}
for rows.Next() { for rows.Next() {
var aId int var aId int
err = rows.Scan(&aId) err = rows.Scan(&aId)
if err != nil { CheckErr(err)
panic(err)
}
isSet := false isSet := false
if aId == 113 { // 极推穗乃果 if aId == 113 { // 极推穗乃果
isSet = true isSet = true
@@ -880,16 +824,12 @@ func GenApi1Data() {
// background_result // background_result
sql = `SELECT background_id FROM background_m ORDER BY background_id ASC` sql = `SELECT background_id FROM background_m ORDER BY background_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
backgroundsList := []model.BackgroundInfo{} backgroundsList := []model.BackgroundInfo{}
for rows.Next() { for rows.Next() {
var bId int var bId int
err = rows.Scan(&bId) err = rows.Scan(&bId)
if err != nil { CheckErr(err)
panic(err)
}
isSet := false isSet := false
if bId == 143 { // 穗乃果的房间[情人节] if bId == 143 { // 穗乃果的房间[情人节]
isSet = true isSet = true
@@ -915,25 +855,19 @@ func GenApi1Data() {
stampResp := utils.ReadAllText("assets/stamp.json") stampResp := utils.ReadAllText("assets/stamp.json")
var mStampResp interface{} var mStampResp interface{}
err = json.Unmarshal([]byte(stampResp), &mStampResp) err = json.Unmarshal([]byte(stampResp), &mStampResp)
if err != nil { CheckErr(err)
panic(err)
}
// _ = utils.ReadAllText("assets/stamp.json") // _ = utils.ReadAllText("assets/stamp.json")
respAll = append(respAll, mStampResp) respAll = append(respAll, mStampResp)
// exchange_point_result // exchange_point_result
sql = `SELECT exchange_point_id FROM exchange_point_m ORDER BY exchange_point_id ASC` sql = `SELECT exchange_point_id FROM exchange_point_m ORDER BY exchange_point_id ASC`
rows, err = db.Query(sql) rows, err = db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
exPointsList := []model.ExchangePointList{} exPointsList := []model.ExchangePointList{}
for rows.Next() { for rows.Next() {
var eId int var eId int
err = rows.Scan(&eId) err = rows.Scan(&eId)
if err != nil { CheckErr(err)
panic(err)
}
exPointsList = append(exPointsList, model.ExchangePointList{ exPointsList = append(exPointsList, model.ExchangePointList{
Rarity: eId, Rarity: eId,
ExchangePoint: 9999, ExchangePoint: 9999,
@@ -979,9 +913,7 @@ func GenApi1Data() {
// _ = utils.ReadAllText("assets/item.json") // _ = utils.ReadAllText("assets/item.json")
var mItemResp interface{} var mItemResp interface{}
err = json.Unmarshal([]byte(itemResp), &mItemResp) err = json.Unmarshal([]byte(itemResp), &mItemResp)
if err != nil { CheckErr(err)
panic(err)
}
respAll = append(respAll, mItemResp) respAll = append(respAll, mItemResp)
// marathon_result // marathon_result
@@ -1006,18 +938,14 @@ func GenApi1Data() {
// Final // Final
k, err := json.Marshal(respAll) k, err := json.Marshal(respAll)
if err != nil { CheckErr(err)
panic(err)
}
resp := model.Response{ resp := model.Response{
ResponseData: k, ResponseData: k,
ReleaseInfo: []interface{}{}, ReleaseInfo: []interface{}{},
StatusCode: 200, StatusCode: 200,
} }
k, err = json.Marshal(resp) k, err = json.Marshal(resp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(k)) // fmt.Println(string(k))
utils.WriteAllText("assets/api1.json", string(k)) utils.WriteAllText("assets/api1.json", string(k))
@@ -1025,9 +953,7 @@ func GenApi1Data() {
func GenApi2Data() { func GenApi2Data() {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
// global // global
@@ -1119,17 +1045,13 @@ func GenApi2Data() {
// museum_result // museum_result
sql := `SELECT museum_contents_id,smile_buff,pure_buff,cool_buff FROM museum_contents_m ORDER BY museum_contents_id ASC` sql := `SELECT museum_contents_id,smile_buff,pure_buff,cool_buff FROM museum_contents_m ORDER BY museum_contents_id ASC`
rows, err := db.Query(sql) rows, err := db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
var smileBuf, pureBuf, coolBuf int var smileBuf, pureBuf, coolBuf int
var mIds []int var mIds []int
for rows.Next() { for rows.Next() {
var museum_contents_id, smile_buff, pure_buff, cool_buff int var museum_contents_id, smile_buff, pure_buff, cool_buff int
err = rows.Scan(&museum_contents_id, &smile_buff, &pure_buff, &cool_buff) err = rows.Scan(&museum_contents_id, &smile_buff, &pure_buff, &cool_buff)
if err != nil { CheckErr(err)
panic(err)
}
smileBuf += smile_buff smileBuf += smile_buff
pureBuf += pure_buff pureBuf += pure_buff
coolBuf += cool_buff coolBuf += cool_buff
@@ -1155,18 +1077,14 @@ func GenApi2Data() {
// Final // Final
k, err := json.Marshal(respAll) k, err := json.Marshal(respAll)
if err != nil { CheckErr(err)
panic(err)
}
resp := model.Response{ resp := model.Response{
ResponseData: k, ResponseData: k,
ReleaseInfo: []interface{}{}, ReleaseInfo: []interface{}{},
StatusCode: 200, StatusCode: 200,
} }
k, err = json.Marshal(resp) k, err = json.Marshal(resp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(k)) // fmt.Println(string(k))
utils.WriteAllText("assets/api2.json", string(k)) utils.WriteAllText("assets/api2.json", string(k))
@@ -1211,9 +1129,7 @@ func GenApi3Data() {
var result []interface{} var result []interface{}
love := utils.ReadAllText("assets/love.json") love := utils.ReadAllText("assets/love.json")
err := json.Unmarshal([]byte(love), &result) err := json.Unmarshal([]byte(love), &result)
if err != nil { CheckErr(err)
panic(err)
}
loveResp := LoveResp{ loveResp := LoveResp{
// _ = LoveResp{ // _ = LoveResp{
Result: result, Result: result,
@@ -1319,18 +1235,14 @@ func GenApi3Data() {
// Final // Final
k, err := json.Marshal(respAll) k, err := json.Marshal(respAll)
if err != nil { CheckErr(err)
panic(err)
}
resp := model.Response{ resp := model.Response{
ResponseData: k, ResponseData: k,
ReleaseInfo: []interface{}{}, ReleaseInfo: []interface{}{},
StatusCode: 200, StatusCode: 200,
} }
k, err = json.Marshal(resp) k, err = json.Marshal(resp)
if err != nil { CheckErr(err)
panic(err)
}
// fmt.Println(string(k)) // fmt.Println(string(k))
utils.WriteAllText("assets/api3.json", string(k)) utils.WriteAllText("assets/api3.json", string(k))
+2 -6
View File
@@ -15,9 +15,7 @@ import (
func SyncNotesList() { func SyncNotesList() {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer func() { defer func() {
db.Close() db.Close()
fmt.Println("Sync notes list done!") fmt.Println("Sync notes list done!")
@@ -26,9 +24,7 @@ func SyncNotesList() {
sql := `SELECT live_setting_id,notes_setting_asset,notes_list FROM live_setting_m ORDER BY live_setting_id ASC` sql := `SELECT live_setting_id,notes_setting_asset,notes_list FROM live_setting_m ORDER BY live_setting_id ASC`
rows, err := db.Query(sql) rows, err := db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
liveList := make(map[int]string) liveList := make(map[int]string)
+6
View File
@@ -11,3 +11,9 @@ func init() {
// go SyncNotesList() // go SyncNotesList()
// GenDownloadDb() // GenDownloadDb()
} }
func CheckErr(err error) {
if err != nil {
panic(err)
}
}
+5 -15
View File
@@ -12,16 +12,12 @@ import (
func ListUnitData() { func ListUnitData() {
db, err := sql.Open("sqlite3", "assets/main.db") db, err := sql.Open("sqlite3", "assets/main.db")
if err != nil { CheckErr(err)
panic(err)
}
defer db.Close() defer db.Close()
sql := `SELECT unit_id,rarity,rank_min,rank_max,hp_max,default_removable_skill_capacity FROM unit_m WHERE unit_id NOT IN (SELECT unit_id FROM unit_m WHERE unit_type_id IN (SELECT unit_type_id FROM unit_type_m WHERE image_button_asset IS NULL AND (background_color = 'dcdbe3' AND original_attribute_id IS NULL) OR (unit_type_id IN (10,110,127,128,129) OR unit_type_id BETWEEN 131 AND 140))) ORDER BY unit_number ASC;` sql := `SELECT unit_id,rarity,rank_min,rank_max,hp_max,default_removable_skill_capacity FROM unit_m WHERE unit_id NOT IN (SELECT unit_id FROM unit_m WHERE unit_type_id IN (SELECT unit_type_id FROM unit_type_m WHERE image_button_asset IS NULL AND (background_color = 'dcdbe3' AND original_attribute_id IS NULL) OR (unit_type_id IN (10,110,127,128,129) OR unit_type_id BETWEEN 131 AND 140))) ORDER BY unit_number ASC;`
rows, err := db.Query(sql) rows, err := db.Query(sql)
if err != nil { CheckErr(err)
panic(err)
}
unitsData := []model.Active{} unitsData := []model.Active{}
oId := 3071290948 oId := 3071290948
@@ -110,16 +106,12 @@ func ListUnitData() {
unitData.UnitRemovableSkillCapacity = 8 unitData.UnitRemovableSkillCapacity = 8
rs, err := db.Query("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?", uid) rs, err := db.Query("SELECT COUNT(*) AS ct FROM unit_sign_asset_m WHERE unit_id = ?", uid)
if err != nil { CheckErr(err)
panic(err)
}
ct := 0 ct := 0
for rs.Next() { for rs.Next() {
err = rs.Scan(&ct) err = rs.Scan(&ct)
if err != nil { CheckErr(err)
panic(err)
}
} }
if ct > 0 { if ct > 0 {
unitData.IsSigned = true unitData.IsSigned = true
@@ -132,8 +124,6 @@ func ListUnitData() {
} }
data, err := json.Marshal(unitsData) data, err := json.Marshal(unitsData)
if err != nil { CheckErr(err)
panic(err)
}
fmt.Println(string(data)) fmt.Println(string(data))
} }