//-------------------------------------------- // 复合逻辑 //-------------------------------------------- /// <summary>设置微信公众号用户标签</summary> public static Tag TrySetUserTag(string openId, string tagName) { var tag = WechatOP.TryGetTag(tagName); if (tag != null) { WechatOP.TrySetUserTag(openId, tag); } return(tag); }
/// <summary>尝试设置用户身上的标签</summary> static bool TrySetUserTag(string openId, Tag tag) { // 获取用户身上的标签 var userTags = WechatOP.GetUserTags(openId); if (!userTags.tagid_list.Contains(tag.id)) { // 如果不包含该标签,则设置 var reply = WechatOP.SetUserTag(new List <string>() { openId }, tag.id); if (reply.errcode != 0) { return(false); } } return(true); }
/// <summary>尝试获取或创建公众号标签</summary> static Tag TryGetTag(string tagName) { // 获取公众号已有的标签 var tags = WechatOP.GetTags(); var tag = tags.tags.Find(t => t.name == tagName); if (tag == null) { // 如果不存在该标签,则新建 var reply = WechatOP.CreateTag(tagName); if (reply.errcode == 0) { tag = new Tag(); tag.id = reply.tag.id; tag.name = reply.tag.name; } } return(tag); }
/// <summary>删除微信公众号菜单</summary> /// <remarks>https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141015</remarks> public static WechatReply DeleteMenu() { string url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/delete?access_token={0}", WechatOP.GetAccessTokenFromServer()); return(HttpHelper.Get(url).ParseJson <WechatReply>()); }
/// <summary>设置微信公众号菜单</summary> /// <remarks>https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013</remarks> /// <example>https://www.cnblogs.com/mchina/p/3276878.html</example> public static WechatReply SetMenu(WechatMenu menu) { var json = menu.ToJson(); string url = string.Format("https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}", WechatOP.GetAccessTokenFromServer()); return(HttpHelper.Post(url, json, Encoding.UTF8, "application/json").ParseJson <WechatReply>()); }