黄学彪
2020-09-22 ade5917841b0fdcb1df7353ef7c56b1a1bdc9282
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Common/IMessageCommon.cs
@@ -28,6 +28,10 @@
                return m_Current;
            }
        }
        /// <summary>
        /// 无视错误(访问云端时,此操作将不会弹出错误)
        /// </summary>
        public bool IgnoreError = false;
        /// <summary>
        /// 全部信息
@@ -71,8 +75,10 @@
            dic["BeRestrict"] = R.MyInternationalizationString.uBeRestrict;
            //被绑定的子账号不存在,请注册后再试
            dic["AccountNoExists"] = R.MyInternationalizationString.BindSubAccount_AccountNoExists;
            //不能添加自己为子账号
            //不能把自己添加为成员
            dic["SameAccount"] = R.MyInternationalizationString.BindSubAccount_SameAccount;
            //不能把主账号添加为成员
            dic["NoAddMainAccount"] = R.MyInternationalizationString.BindSubAccount_NoAddMainAccount;
            //升级或降级子账号
            keys = "ZigbeeUsers/UpSubAccount";
@@ -107,7 +113,7 @@
            dic = dicMsg[keys];
            //验证码错误
            dic["ValidCodeAndPhoneNoEqual"] = R.MyInternationalizationString.ValidatorCode_ValidCodeAndPhoneNoEqual;
            //未发送验证码到此账号
            //验证码已失效
            dic["NoRecord"] = R.MyInternationalizationString.ValidatorCode_NoRecord;
            //绑定或者更换主账号
@@ -183,6 +189,10 @@
            dic = dicMsg[keys];
            //账号未注册
            dic["AccountNoExists"] = R.MyInternationalizationString.GetAccountInfo_AccountNoExists;
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效的登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //获取住宅分页
            keys = "App/GetHomePager";
@@ -463,28 +473,210 @@
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //操作失败,请重试
            dic["Fail"] = R.MyInternationalizationString.uOperationFailed;
            //忘记密码
            keys = "ZigbeeUsers/ForgetPassword";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //验证码发送失败
            dic["SendFail"] = R.MyInternationalizationString.RegisterSendVerCode_SendFail;
            //操作失败,请重试
            dic["Fail"] = R.MyInternationalizationString.uOperationFailed;
            //账号不存在
            dic["AccountNoExists"] = R.MyInternationalizationString.uAccountNoExists;
            //重置密码
            keys = "ZigbeeUsers/ResetPassword";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //确认密码不一致,请重新输入
            dic["PwdNoConfirm "] = R.MyInternationalizationString.SecondPswNotEqual1;
            //操作失败,请重试
            dic["Fail"] = R.MyInternationalizationString.uOperationFailed;
            //账号不存在
            dic["AccountNoExists"] = R.MyInternationalizationString.uAccountNoExists;
            //原密码和新密码相同
            dic["NewPasswordAndOldPasswordEqual"] = R.MyInternationalizationString.UpdatePassword_NewPasswordAndOldPasswordEqual;
            //更新用户头相
            keys = "ZigbeeUsers/UpdateHeadImage";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //更新验证密码
            keys = "ZigbeeUsers/UpdatEexpandPwd";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //添加意见反馈
            keys = "App/AddOpinionFeedback";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //获取已授权第三方平台列表
            keys = "ZigbeeUsers/GetUserAuthItem";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //解除第三方授权
            keys = "ZigbeeUsers/UnBindUserAuth";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //添加或者更新微信授权登录信息
            keys = "ZigbeeUsers/InsertOrUpdateAuthUser";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //指定账号不存在
            dic["AccountNoExists"] = R.MyInternationalizationString.uAccountNoExists;
            //第三方绑定账号
            keys = "ZigbeeUsers/BindAuthUserToAccount";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //错误,第三方信息丢失
            dic["NoExist"] = R.MyInternationalizationString.uErrorAndLostOtherPatyInfo;
            //指定账号不存在
            dic["AccountNoExists"] = R.MyInternationalizationString.uAccountNoExists;
            //修改子帐号远程权限
            keys = "ZigbeeUsers/ChangeSubAccountIsAllowRemoteCtrl";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //请求参数错误
            dic["ParameterOrEmpty"] = R.MyInternationalizationString.uParameterError;
            //无效登录Token
            dic["NoLogin"] = R.MyInternationalizationString.uNoLogin;
            //指定的住宅不存在
            dic["HomeIdNoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord;
            //指定账号不存在
            dic["DistributedMarkNoRecord"] = R.MyInternationalizationString.uAccountNoExists;
            //权限不足
            dic["BeRestrict"] = R.MyInternationalizationString.uBeRestrict;
            //获取消息中心数据
            keys = "MessageCenter/GetMessageCenterPagger";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //指定的住宅不存在
            dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord;
            //标记消息为已读或未读
            keys = "MessageCenter/TagMessageMessageCenterItem";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //指定的住宅不存在
            dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord;
            //删除消息
            keys = "MessageCenter/DelMessageCenterItem";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //指定的住宅不存在
            dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord;
            //标记全部已读或者清空所有消息
            keys = "MessageCenter/TagAllOrClearMessageCenter";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //指定的住宅不存在
            dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord;
            //子账号删除主帐号分享过来的住宅
            keys = "ZigbeeUsers/SubAccountDelShareHome";
            dicMsg[keys] = new Dictionary<string, int>();
            dic = dicMsg[keys];
            //指定的住宅不存在
            dic["NoRecord"] = R.MyInternationalizationString.uZigbeeHome_NoRecord;
        }
        /// <summary>
        /// 根据接口的状态码,翻译返回信息
        /// </summary>
        /// <param name="requestName">接口</param>
        /// <param name="statuCode">状态码</param>
        /// <param name="revertObj">云端返回的数据</param>
        /// <param name="pra">请求参数</param>
        /// <returns></returns>
        public string GetMsgByRequestName(string requestName, string statuCode)
        public string GetMsgByRequestName(string requestName, Common.ResponseEntity.ResponsePack revertObj, object pra)
        {
            if (IgnoreError == true)
            {
                //无视错误
                return null;
            }
            string statuCode = revertObj.StateCode;
            string errorInfo = revertObj.ErrorInfo == null ? string.Empty : revertObj.ErrorInfo;
            string errorMsg = "接口访问失败:" + requestName + " " + statuCode + " " + errorInfo + "\r\n";
            errorMsg += "当前激活的界面:" + UserCenterResourse.NowActionFormID + "\r\n";
            if (pra != null)
            {
                //序列化对象
                try
                {
                    var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject(pra);
                    errorMsg += "参数:\r\n" + requestJson;
                }
                catch { errorMsg += "参数:序列化异常!"; }
            }
            HdlLogLogic.Current.WriteLog(-1, errorMsg + "\r\n");
            //共通码
            if (statuCode == "ParameterOrEmpty")
            {
                //请求参数错误
                return Language.StringByID(R.MyInternationalizationString.uParameterError);
            }
            else if (statuCode == "NoLogin")
            {
                //无效登录Token
                return Language.StringByID(R.MyInternationalizationString.uNoLogin);
            }
            else if (statuCode == "Fail")
            {
                //操作失败,请重试
                return Language.StringByID(R.MyInternationalizationString.uOperationFailed);
            }
            if (dicMsg.ContainsKey(requestName) == true && dicMsg[requestName].ContainsKey(statuCode) == true)
            {
                //在册的Msg
                return Language.StringByID(dicMsg[requestName][statuCode]);
            }
            string error = "ERROR:NOT_DEFINE_MSG!\r\n";
            if (requestName.Length > 5)
            {
                error += "*" + requestName.Substring(requestName.Length - 5, 5);
            }
            error += "(" + statuCode + ")";
            return error;
            return "Error:" + statuCode;
        }
    }
}