@@ -0,0 +1,98 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"91porn-server/app/appg"
|
||||
"91porn-server/app/middleware/authuser"
|
||||
"91porn-server/app/router"
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/cachev2"
|
||||
"91porn-server/common/conf"
|
||||
"91porn-server/common/db"
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/services"
|
||||
"91porn-server/models"
|
||||
"91porn-server/models/Init"
|
||||
|
||||
fw "git.ruishengces.com/pub_tool/autotest"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type Env struct {
|
||||
AppToken string // APP 用户 token
|
||||
TestUID uint64
|
||||
}
|
||||
|
||||
func (e *Env) Start(cfg fw.Config, base *fw.BaseEnv) {
|
||||
time.Local, _ = time.LoadLocation("Asia/Shanghai")
|
||||
|
||||
// 读取配置
|
||||
appCfg := appg.GlobalConfig{}
|
||||
if err := conf.LoadJSON("../../app/config/app.json", &appCfg); err != nil {
|
||||
panic("load config error: " + err.Error())
|
||||
}
|
||||
appg.Conf = &appCfg
|
||||
log.Init(log.Options{Level: appCfg.Log.Level, DisableStack: appCfg.Log.DisableStacktrace})
|
||||
common.InitGinSecret(appCfg.Base.ResKey, appCfg.Base.ResKey360, appCfg.Base.Env)
|
||||
|
||||
// 初始化 MongoDB
|
||||
ds := db.InitDS(appg.InitMongodbParam(models.RegisterPool))
|
||||
for k, v := range ds {
|
||||
switch k {
|
||||
case models.VideoDb:
|
||||
appg.VideoDB = v
|
||||
case models.LogDb:
|
||||
appg.LogDB = v
|
||||
case models.StatDb:
|
||||
appg.StatDB = v
|
||||
}
|
||||
}
|
||||
|
||||
// 初始化 Redis
|
||||
appg.InitRedis()
|
||||
services.Init(appg.Redis)
|
||||
cachev2.Init(appg.Redis, log.ZapLog)
|
||||
|
||||
// 初始化 Models
|
||||
Init.InitMongo()
|
||||
|
||||
// 生成 APP 测试 token
|
||||
e.TestUID = 300100
|
||||
var err error
|
||||
e.AppToken, err = authuser.GenToken(&authuser.Claims{
|
||||
UID: e.TestUID,
|
||||
Timestamp: time.Now().Unix(),
|
||||
Type: 0,
|
||||
})
|
||||
if err != nil {
|
||||
panic("gen token error: " + err.Error())
|
||||
}
|
||||
// 缓存到 Redis
|
||||
tokenKey := fmt.Sprintf("token:user:%d", e.TestUID)
|
||||
_ = appg.Redis.Set(tokenKey, e.AppToken, 24*time.Hour)
|
||||
|
||||
// 启动 HTTP 服务
|
||||
gin.SetMode(gin.TestMode)
|
||||
base.AppBaseURL = base.StartHTTP("APP", 13051, router.SetupGin())
|
||||
}
|
||||
|
||||
func (e *Env) SetupData() {
|
||||
// 基础数据由各 Suite 的 Setup 负责
|
||||
}
|
||||
|
||||
func (e *Env) CleanData() {}
|
||||
|
||||
func (e *Env) Destroy() {
|
||||
db.CloseDS()
|
||||
_ = appg.RedisClose()
|
||||
}
|
||||
|
||||
func (e *Env) Meta() []fw.ReportMeta {
|
||||
return []fw.ReportMeta{
|
||||
{Key: "项目", Value: "91porn-server"},
|
||||
{Key: "模块", Value: "签到"},
|
||||
{Key: "时间", Value: time.Now().Format("2006-01-02 15:04:05")},
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user