package main import ( "encoding/json" //"endless" "log" "net/http" //"net/http" "qfw/util" "qfw/util/elastic" "qfw/util/mongodb" "qfw/util/redis" "qfw/weixin" "qfw/weixin/rpc" wf "qfw/weixinconfig" ) //初始化 func init() { //读取配置 util.ReadConfig(&wf.SysConfig) // mongodb.InitMongodbPool(wf.SysConfig.MongodbPoolSize, wf.SysConfig.Mongodbservers, wf.SysConfig.MongodbName) //redis配置 redis.InitRedis(wf.SysConfig.Redisservers) //初始化elastic if wf.SysConfig.ElasticPoolSize > 0 { elastic.SIZE = wf.SysConfig.ElasticPoolSize } elastic.InitElasticSize(wf.SysConfig.Elasticsearch, wf.SysConfig.ElasticPoolSize) log.Printf("The web server listen on %s %s:%s \n AppContext:%s \n", "http://", wf.SysConfig.Domain, wf.SysConfig.Port, wf.SysConfig.Appcontext) //微信sdk配置 weixin.InitWeixinSdk() //连接消息总线 // go weixin.InitDgWork() //go kf() //weixin.GetKfMsg(1) // go weixin.GetKfMsgJob() // go weixin.GetOnlineKfJob() go weixin.GsYwxxBgPush() go weixin.GetGsYwxxBg() } func main() { rpc.InitTpl() //启动Rpc服务 rpc.StartWeixinRpc(weixin.Mux) http.ListenAndServe(":"+wf.SysConfig.Port, nil) // 启动接收微信数据服务器 /* endless.ListenAndServe(":"+wf.SysConfig.Port, nil, func() { rpc.DestoryRpc() }) **/ b := make(chan bool, 1) <-b } func kf() { defer util.Catch() http.HandleFunc("/wxkf/getkflist", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") //内存 b, _ := json.Marshal(weixin.GetKfList(10)) w.Write(b) }) http.HandleFunc("/wxkf/getkflist0", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") //url b, _ := json.Marshal(weixin.GetKfList(0)) w.Write(b) }) http.HandleFunc("/wxkf/getkflist1", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") //url+客服信息 b, _ := json.Marshal(weixin.GetKfList(1)) w.Write(b) }) http.HandleFunc("/msginit/init", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") weixin.GetKfMsg(1) b, _ := json.Marshal(map[string]interface{}{"res": true}) w.Write(b) }) http.ListenAndServe(":"+wf.SysConfig.Kfport, nil) }