54 lines
1.2 KiB
Go
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()
|
|
}
|