12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package sdk
- import (
- mhayaGin "github.com/mhaya/components/gin"
- cerror "github.com/mhaya/error"
- cstring "github.com/mhaya/extend/string"
- cfacade "github.com/mhaya/facade"
- "github.com/mhaya/game/game_cluster/internal/code"
- "github.com/mhaya/game/game_cluster/internal/data"
- rpcCenter "github.com/mhaya/game/game_cluster/internal/rpc/center"
- sessionKey "github.com/mhaya/game/game_cluster/internal/session_key"
- )
- type quickSdk struct {
- app cfacade.IApplication
- }
- func (quickSdk) SdkId() int {
- return QuickSDK
- }
- func (p quickSdk) Login(config *data.SdkConfigRow, params Params, callback Callback) {
- openid, found := params.GetString("openid")
- if found == false || cstring.IsBlank(openid) {
- err := cerror.Error("openid is nil")
- callback(code.LoginError, nil, err)
- return
- }
- ip, found := params.GetString("ip")
- if found == false || cstring.IsBlank(ip) {
- err := cerror.Error("ip is nil")
- callback(code.LoginError, nil, err)
- return
- }
- plt, found := params.GetString("platform")
- if found == false || cstring.IsBlank(plt) {
- err := cerror.Error("platform is nil")
- callback(code.LoginError, nil, err)
- return
- }
- channel, found := params.GetString("channel")
- if found == false || cstring.IsBlank(channel) {
- err := cerror.Error("channel is nil")
- callback(code.LoginError, nil, err)
- return
- }
- /* url := fmt.Sprintf("%v%v/getChat?chat_id=%v", config.Params.AppUrl, config.Params.BotToken, openid)
- rspBody, _, err := mhayaHttp.GET(url, map[string]string{})
- if err != nil || rspBody == nil {
- callback(code.LoginError, nil, err)
- return
- }
- var result = struct {
- OK bool `json:"ok"`
- }{}
- jsoniter.Unmarshal(rspBody, &result)
- if !result.OK {
- mhayaLogger.Warnf("quick sdk login fail. rsp =%s", rspBody)
- callback(code.LoginError, nil, err)
- return
- }*/
- account := rpcCenter.RegisterAccount(p.app, openid, ip, plt, channel)
- if account == nil {
- callback(code.LoginError, nil)
- return
- }
- callback(code.OK, map[string]string{
- sessionKey.PlayerID: account.UserName, //返回 quick的uid做为 open id
- sessionKey.OpenID: openid,
- sessionKey.TargetPath: account.TargetPath,
- })
- }
- func (s quickSdk) PayCallback(config *data.SdkConfigRow, c *mhayaGin.Context) {
- // TODO 这里实现quick sdk 支付回调的逻辑
- c.RenderHTML("FAIL")
- }
|