protected virtual void StartBindFinish(bool success, string body) { ResultBind result = new ResultBind(); result.success = success; if (success) { JSONNode node = JSONNode.Parse(body); result.nickName = node["nickName"].Value; result.message = node["message"].Value; JSONArray arrayBindStates = node["bindStates"].AsArray; List <BindState> bindStates = result.bindStates; foreach (JSONNode item in arrayBindStates.Childs) { BindState bindState = new BindState(); bindState.bindState = item["bindState"].AsInt; bindState.platform = item["platform"].Value; bindStates.Add(bindState); } } else { result.message = body; } startBindListener(result); }
protected virtual void LoginFinish(bool success, string body, bool login) { Dictionary <string, string> extra = new Dictionary <string, string>(); UserInfo userInfo = new UserInfo(extra); userInfo.success = success; JSONNode node = JSONNode.Parse(body); userInfo.message = node["message"].Value; userInfo.code = node["code"].Value; userInfo.hasCache = node["hasCache"].AsBool; if (success) { JSONClass extraNode = node["extra"].AsObject; foreach (KeyValuePair <string, JSONNode> item in extraNode) { extra[item.Key] = item.Value.Value; } userInfo.message = node["message"].Value; userInfo.uid = node["uid"].Value; userInfo.accessToken = node["accessToken"].Value; userInfo.nickName = node["nickname"].Value; JSONArray arrayBindStates = node["bindStates"].AsArray; List <BindState> bindStates = userInfo.bindStates; foreach (JSONNode item in arrayBindStates.Childs) { BindState bindState = new BindState(); bindState.bindState = item["bindState"].AsInt; bindState.platform = item["platform"].Value; bindStates.Add(bindState); } } if (login) { loginListener(userInfo); } else { switchAccountListener(userInfo); } }