private void UpdateSetting(TransmitData transmitData) { //https://oapi.dingtalk.com/call_back/update_call_back?access_token=ACCESS_TOKEN string url = string.Format(CallbackSettingUrl.callBackSettingTemplate, CallbackSettingUrl.update_call_back, this.access_token); Dictionary <string, object> dicPara = new Dictionary <string, object>(); dicPara.Add("call_back_tag", transmitData.callbackTag.ToArray()); dicPara.Add("token", transmitData.token); dicPara.Add("aes_key", transmitData.aesKey); dicPara.Add("url", transmitData.callbackUrl); string result = SettingCallback.Request(url, "POST", dicPara); JObject rObj = JObject.Parse(result); int errcode = Convert.ToInt32(rObj["errcode"].ToString()); if (errcode == 0) { SettingCallback.callbackNameList = transmitData.callbackTag; } else { throw new Exception("更新事件回调发生异常!响应内容:" + result); } }
public static SettingCallback GetInstance(TransmitData transmitData) { if (instance == null) { lock (locker) { if (instance == null) { instance = new SettingCallback(transmitData); } } return(instance); } instance.access_token = instance.GetToken(transmitData.appKey, transmitData.appSecret); return(instance); }
private void RemoveSetting(TransmitData transmitData) { string url = string.Format(CallbackSettingUrl.callBackSettingTemplate, CallbackSettingUrl.delete_call_back, this.access_token); string result = SettingCallback.Request(url, "GET", null); JObject rObj = JObject.Parse(result); int errcode = Convert.ToInt32(rObj["errcode"].ToString()); if (errcode == 0) { SettingCallback.callbackNameList = transmitData.callbackTag; } else { throw new Exception("删除事件回调发生异常!响应内容:" + result); } }
private SettingCallback(TransmitData transmitData) { this.access_token = this.GetToken(transmitData.appKey, transmitData.appSecret); List <string> tagList = new List <string>(); bool hasSetting = this.HasSetting(out tagList); if (transmitData.callbackTag == null || transmitData.callbackTag.Count == 0) { if (hasSetting) { new LaterExecute.LaterThread(RemoveSetting, transmitData); } else { SettingCallback.callbackNameList = transmitData.callbackTag; } } else { if (hasSetting) { if (!SettingCallback.ArrayIsEqual(tagList, transmitData.callbackTag)) { //修改 new LaterExecute.LaterThread(UpdateSetting, transmitData); } else { SettingCallback.callbackNameList = tagList; } } else { //新增 new LaterExecute.LaterThread(RegisterSetting, transmitData); } } }
protected BaseHandles(TransmitData transmitData) { this.transmitData = transmitData; }