go-common/app/interface/live/web-ucenter/dao/dao.go
2019-04-22 18:49:16 +08:00

54 lines
1.2 KiB
Go

package dao
import (
"crypto/md5"
"encoding/hex"
"go-common/app/interface/live/web-ucenter/conf"
rank_api "go-common/app/service/live/rankdb/api/liverpc"
rc_api "go-common/app/service/live/rc/api/liverpc"
room_api "go-common/app/service/live/room/api/liverpc"
"go-common/library/net/rpc/liverpc"
"net/url"
"strconv"
"time"
)
// RoomAPI liverpc room-service api
var RoomAPI *room_api.Client
// RcApi liverpc rc api
var RcApi *rc_api.Client
// RankdbApi liverpc rankdb api
var RankdbApi *rank_api.Client
// InitAPI init all service APIs
func InitAPI() {
RoomAPI = room_api.New(getConf("room"))
RcApi = rc_api.New(getConf("rc"))
RankdbApi = rank_api.New(getConf("rank"))
}
func getConf(appName string) *liverpc.ClientConfig {
c := conf.Conf.LiveRpc
if c != nil {
return c[appName]
}
return nil
}
// EncodeHttpParams end http params and return encoded string
func EncodeHttpParams(params map[string]string, appKey, appSecret string) string {
v := url.Values{}
for key, value := range params {
v.Set(key, value)
}
v.Set("ts", strconv.FormatInt(time.Now().Unix(), 10))
v.Set("appkey", appKey)
tmp := v.Encode() + appSecret
mh := md5.Sum([]byte(tmp))
sign := hex.EncodeToString(mh[:])
v.Set("sign", sign)
return v.Encode()
}