示例#1
0
        //--------------------------------------------
        // 复合逻辑
        //--------------------------------------------
        /// <summary>设置微信公众号用户标签</summary>
        public static Tag TrySetUserTag(string openId, string tagName)
        {
            var tag = WechatOpen.TryGetTag(tagName);

            if (tag != null)
            {
                WechatOpen.TrySetUserTag(openId, tag);
            }
            return(tag);
        }
示例#2
0
        /// <summary>尝试设置用户身上的标签</summary>
        static bool TrySetUserTag(string openId, Tag tag)
        {
            // 获取用户身上的标签
            var userTags = WechatOpen.GetUserTags(openId);

            if (!userTags.tagid_list.Contains(tag.id))
            {
                // 如果不包含该标签,则设置
                var reply = WechatOpen.SetUserTag(new List <string>()
                {
                    openId
                }, tag.id);
                if (reply.errcode != 0)
                {
                    return(false);
                }
            }
            return(true);
        }
示例#3
0
        /// <summary>尝试获取或创建公众号标签</summary>
        static Tag TryGetTag(string tagName)
        {
            // 获取公众号已有的标签
            var tags = WechatOpen.GetTags();
            var tag  = tags.tags.Find(t => t.name == tagName);

            if (tag == null)
            {
                // 如果不存在该标签,则新建
                var reply = WechatOpen.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}", WechatOpen.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}", WechatOpen.GetAccessTokenFromServer());

            return(HttpHelper.Post(url, json, Encoding.UTF8, "application/json").ParseJson <WechatReply>());
        }