package main import ( _ "luaweb/filter" "luaweb/front" "luaweb/quesManager" "luaweb/spider" //. "luaweb/task" "luaweb/luaerrdata" "luaweb/taskManager" "luaweb/tomail" "luaweb/udp" u "luaweb/util" "net/http" qu "qfw/util" mgdb "qfw/util/mongodb" mgu "qfw/util/mongodbutil" "qfw/util/redis" //"spiderutil" util "spiderutil" "time" "github.com/go-xweb/httpsession" "github.com/go-xweb/xweb" "github.com/yuin/gopher-lua" ) func init() { //qu.ReadConfig("config.json", &tomail.Mail) front.SessMap = make(map[string]*httpsession.Session) qu.ReadConfig(&util.Config) qu.ReadConfig("autoimport.json", &front.AutoTpl) qu.ReadConfig("transfercode.json", &front.Transfercode) //redis redis.InitRedis(util.Config.Redisservers) //新建连接 conf := *new(mgu.PoolConfig) conf.Addr = util.Config.Dbaddr conf.Alias = util.Config.Dbname2 conf.DB = util.Config.Dbname2 conf.Size = 10 mgu.Config = append(mgu.Config, conf) mgu.InitMongodbPool() smtp := util.Config.Smtp front.Mails = util.New(smtp["addr"], qu.IntAll(smtp["port"]), smtp["user"], smtp["pwd"]) mgdb.InitMongodbPool(20, util.Config.Dbaddr, util.Config.Dbname) lua.Disablelib(util.Config.Luadisablelib) //初始化区域信息 u.InitAreaCity() //初始化mgo //u.InitMgo() //xweb框架配置 xweb.Config.RecoverPanic = true xweb.Config.Profiler = true xweb.RootApp().AppConfig.TemplateDir = "web/templates" xweb.RootApp().AppConfig.StaticDir = "web/staticres" xweb.RootApp().AppConfig.StaticFileVersion = false xweb.RootApp().AppConfig.CheckXsrf = false xweb.RootApp().AppConfig.ReloadTemplates = true xweb.RootApp().AppConfig.EnableHttpCache = false xweb.RootApp().AppConfig.Mode = xweb.Product xweb.RootApp().AppConfig.CacheTemplates = false xweb.AddAction(&front.Front{}) xweb.AddAction(&taskManager.TaskM{}) xweb.AddAction(&quesManager.QuesM{}) xweb.AddAction(&luaerrdata.ErrorData{}) xweb.AddAction(&front.LuaMove{}) xweb.RootApp().AppConfig.SessionTimeout = 1 * time.Hour xweb.RootApp().Logger.SetOutputLevel(4) xweb.AddTmplVar("add", func(a, b int) int { return a + b }) spider.InitMsgClient( qu.ObjToString(util.Config.Msgservers["comm"]["addr"]), qu.ObjToString(util.Config.Msgservers["bid"]["addr"]), qu.ObjToString(util.Config.Msgservers["test"]["addr"]), qu.ObjToString(util.Config.Msgservers["comm"]["name"]), qu.ObjToString(util.Config.Msgservers["bid"]["name"]), qu.ObjToString(util.Config.Msgservers["test"]["name"]), ) spider.InitMsgClientFile(util.Config.MsgserveraddrFile, util.Config.Msgname+"file") //初始化网络存储服务 //util.InitWeedcl() util.OssInit( qu.ObjToString(util.Config.OssInfo["ossEndpoint"]), qu.ObjToString(util.Config.OssInfo["ossAccessKeyId"]), qu.ObjToString(util.Config.OssInfo["ossAccessKeySecret"]), qu.ObjToString(util.Config.OssInfo["ossBucketName"]), ) //udp udp.InitUdp() } // func main() { //定时查询任务发送邮件 //go tomail.SendToMail() //定时任务 go tomail.TimeTask() //提供接口,接收其他数据 http.HandleFunc("/spider/infos", func(w http.ResponseWriter, req *http.Request) { data := req.FormValue("data") types := req.FormValue("type") if types == "info" { front.SpiderInfo(data) } if types == "mtask" { front.SpiderModifyTask(data) } if types == "code" { front.SpiderMoveEvent(data) } }) go http.ListenAndServe(":6011", nil) xweb.Run(":" + util.Config.Webport) }