-- 同步微信信息 local WeChatView = {} local M = WeChatView function WeChatView.new(callback) setmetatable(M, {__index = BaseWindow}) local self = setmetatable({}, {__index = M}) self.class = "WeChatView" self._close_destroy = true self._close_zone = true self._callback =callback self:init("ui://Lobby/win_user_wx") return self end function M:init(url) BaseWindow.init(self,url) local btn_ok = self._view:GetChild("btn_ok") btn_ok.onClick:Set(function () ViewUtil.ShowModalWait(self._root_view,"正在同步数据...") GameApplication.Instance:WXLogin(handler(self,self.WXCallBack)) end) end function M:WXCallBack(result,data) if (not result) or result ~= 0 then if result == 10 then ViewUtil.ShowModalWait(self._root_view) return end ViewUtil.CloseModalWait() return end if not data then ViewUtil.CloseModalWait() return end local jd = json.decode(data) local headurl = jd["headimgurl"] local unionid = jd["unionid"] local sex = jd["sex"] if (sex == 0) then sex = 1 end local nickname = jd["nickname"] if not unionid or string.len(unionid)<1 then ViewUtil.CloseModalWait() return end local _data = {} _data.type =6 _data["acc"] = unionid _data["nick"] = nickname _data["sex"] = sex _data["portrait"] = headurl local loddyctr = ControllerManager.GetController(LoddyController) loddyctr:UpdateUserInfo(_data,function( res) ViewUtil.CloseModalWait() if (res.ReturnCode ==0) then local user = DataManager.SelfUser user.acc = unionid user.nick_name = nickname user.sex = sex user.head_url = headurl if self._callback then self._callback() end else ViewUtil.ErrorTip(res.ReturnCode, "同步失败,请重试") end self:Close() end) end return M