def onTick(timerID): """ """ INFO_MSG('onTick()') # 测试数据库查询 KBEngine.executeRawDatabaseCommand("select * from kbe_accountinfos limit 3;", onSqlCallback) KBEngine.urlopen("https://www.baidu.com", onHttpCallback)
def onRequestAccountLogin(loginName, password, datas): """ KBEngine method. 请求登陆账号回调 @param loginName: 客户端请求时所提交的名称 - 微信登陆获得的code @type loginName: string @param password: 密码 - sha1( datas + sessionkey ) @type password: string @param datas: 客户端请求时所附带的数据,可将数据转发第三方平台 - 用户信息字符串 @type datas: bytes """ INFO_MSG('onRequestAccountLogin: loginName=%s' % (loginName)) # 此处可通过http等手段将请求提交至第三方平台,平台返回的数据也可放入datas # datas将会回调至客户端 # 如果使用http访问,因为interfaces是单线程的,同步http访问容易卡住主线程,建议使用 # KBEngine.registerReadFileDescriptor()和KBEngine.registerWriteFileDescriptor()结合 # KBEngine.urlopen("https://www.baidu.com",onHttpCallback)异步访问。也可以结合socket的方式与平台交互。 # 如果返回码为KBEngine.SERVER_ERR_LOCAL_PROCESSING 则表示验证登陆成功,但dbmgr需要检查账号密码 # KBEngine.SERVER_SUCCESS 则无需再检查密码 loginNameList = loginName.split(':') # 0 登陆方式为账号登陆 if loginNameList[0] == '0': KBEngine.accountLoginResponse(loginName, loginName, datas, KBEngine.SERVER_ERR_LOCAL_PROCESSING) # 1 登陆方式为微信登陆 elif loginNameList[0] == '1': # 换取用户唯一标识 OpenID 和会话密钥 session_key url = "https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code" \ % (GServerCfg.GC_APPInfo['appID'], GServerCfg.GC_APPInfo['AppSecret'], loginNameList[1]) KBEngine.urlopen(url, GTools.functor(__getUserCallBack, loginName, password, datas))
def ZLLogin(self, loginName, password, datas, callBack): url = 'http://user.zgzlwy.top:9090/v1/user/loginnew?' param = "account="+ loginName + "&password=" + password KBEngine.urlopen(url, Functor.Functor(self.onZLLoginResult, loginName, callBack, datas), param.encode())
def GetFriendList(self, uid, callBack): url = 'http://user.zgzlwy.top:9090/v1/user/friendlist?uid=' + uid KBEngine.urlopen(url, Functor.Functor(self.onGetFriendList, callBack)) DEBUG_MSG("GetFriendList:"+url)
def CheckAccount(self, AccountName, Password, callBack): url = 'http://user.zgzlwy.top:9090/v1/user/validateaccount?account=%s&passwd=%s' % (AccountName, Password) KBEngine.urlopen(url, Functor.Functor(self.onCheckAccount, callBack)) DEBUG_MSG("CheckAccount:"+url)
def CheckBindWeChat(self, uid, callBack): url = 'http://120.79.192.49:80/weixinmp/querysub?uid=%s' % uid KBEngine.urlopen(url, Functor.Functor(self.onCheckBindWeChatd, callBack)) DEBUG_MSG("CheckBindWeChat:"+url)
def GetRechargeOrder(self, device_type, diamond, RMB,uid,callBack): url = 'http://120.79.192.49:80/pay/wxpayrecharge?' param = 'device_type=%d&gain_amount=%d&pay_amount_fee=%d&remark=%s&uid=%s' % (device_type, diamond, RMB,'', uid) KBEngine.urlopen(url, Functor.Functor(self.onRechargeOrderd, callBack), param.encode()) DEBUG_MSG("GetRechargeOrder:"+url+param)
def ChangeHFL(self, uid, amount, ctype, item, comment): url = 'http://121.201.80.40:7070/v3/game/changephc?' Value = (uid+'ZLNC123').encode(encoding='utf-8') param = 'uid=%s&amount=%f&ctype=%d&item=%s&comment=%s&sign=%s' % (uid,amount,ctype,item,comment,md5Value(Value)) KBEngine.urlopen(url, self.onChangeHFL, param.encode()) DEBUG_MSG("ChangeHFL:"+url+param)
def GetHFL(self, uid, callBack): Value = (uid+'ZLNC123').encode(encoding='utf-8') url = 'http://121.201.80.40:7070/v3/game/getphc?uid=%s&sign=%s' % (uid,md5Value(Value)) KBEngine.urlopen(url, Functor.Functor(self.onGetHFL, callBack)) DEBUG_MSG("GetHFL:"+url)
def ChangeKglod(self, uid, amount, ctype,item,comment): url = 'http://trade.zgzlwy.top:7070/v3/game/changekcoin?' Value = (uid+'ZLNC123').encode(encoding='utf-8') param = 'uid=%s&amount=%f&ctype=%d&item=%s&comment=%s&sign=%s' % (uid,amount,ctype,item,comment,md5Value(Value)) KBEngine.urlopen(url, self.onChangeKglod, param.encode()) DEBUG_MSG("ChangeKglod:"+url+param)
def GetKglod(self, uid, callBack): Value = (uid+'ZLNC123').encode(encoding='utf-8') url = 'http://trade.zgzlwy.top:7070/v3/game/getkcoin?uid=%s&sign=%s' % (uid,md5Value(Value)) KBEngine.urlopen(url, Functor.Functor(self.onGetKglod, callBack)) DEBUG_MSG("GetKglod:"+url)