Exemplo n.º 1
0
        /// <summary>
        /// 根据场景ID获取ticket
        /// </summary>
        /// <param name="sceneID">场景ID</param>
        /// <param name="isTemp">是否是临时二维码</param>
        /// <returns></returns>
        private static string GetTicket(int sceneID, string globalToken, bool isTemp)
        {
            if (sceneID > 0 && sceneID <= 1000)
            {
                return(null);
            }

            string result = null;
            string data   = string.Empty;

            if (isTemp)
            {
                data = string.Format(WeChatConfiguration.TemporaryQrCodeJson, sceneID);
            }
            else
            {
                data = string.Format(WeChatConfiguration.PermanentQrCodeJson, sceneID);
            }

            string ticketJson = WeChatHttpUtility.SendHttpRequest(string.Format(WeChatConfiguration.CreateTicketUrl, globalToken), data);

            XDocument doc  = JsonConvert.DeserializeXNode(ticketJson, "root");
            XElement  root = doc.Root;

            if (root != null)
            {
                XElement ticket = root.Element("ticket");
                if (ticket != null)
                {
                    result = ticket.Value;
                }
            }

            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 获取全局Token
        /// </summary>
        /// <returns></returns>
        public static OAuthGlobalToken GetGlobalAccessToken()
        {
            string           Str = WeChatHttpUtility.GetJson(WeChatConfiguration.GlobalTokenUrl);
            OAuthGlobalToken Oauth_GlobalToken_Model = JsonConvert.DeserializeObject <OAuthGlobalToken>(Str);

            return(Oauth_GlobalToken_Model);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获得用户信息
        /// </summary>
        /// <param name="accessToken"></param>
        /// <param name="openId"></param>
        /// <returns></returns>
        public static OAuthUser GetUserInfo(string accessToken, string openId)
        {
            string    Str             = WeChatHttpUtility.GetJson(string.Format(WeChatConfiguration.GetUserInfoUrl, accessToken, openId));
            OAuthUser OAuthUser_Model = JsonConvert.DeserializeObject <OAuthUser>(Str);

            return(OAuthUser_Model);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取Access Token获得,包括openId
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public static OAuthToken GetAccessToken(string code)
        {
            string     Str = WeChatHttpUtility.GetJson(string.Format(WeChatConfiguration.AccessTokenUrl, code));
            OAuthToken Oauth_Token_Model = JsonConvert.DeserializeObject <OAuthToken>(Str);

            return(Oauth_Token_Model);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 创建永久二维码
        /// </summary>
        /// <param name="sceneID">场景id,int类型</param>
        /// <returns></returns>
        public static string GeneratePermanent(int sceneID, string globalToken)
        {
            string ticket = GetTicket(sceneID, globalToken, false);

            if (ticket == null)
            {
                return(null);
            }

            return(WeChatHttpUtility.GetData(string.Format(WeChatConfiguration.GetQrCodeUrl, HttpUtility.UrlEncode(ticket))));
        }
Exemplo n.º 6
0
 /// <summary>
 /// 发送客服信息
 /// </summary>
 /// <param name="globalToken"></param>
 /// <param name="message">SendMessage Json</param>
 public void SendCustomMessage(string globalToken, SendMessage message)
 {
     WeChatHttpUtility.SendHttpRequest(string.Format(WeChatConfiguration.SendCustomMessageUrl, globalToken), message.GetJsonString());
 }
Exemplo n.º 7
0
        /// <summary>
        /// 删除菜单
        /// </summary>
        /// <param name="globalToken"></param>
        public static void DeleteMenu(string globalToken)
        {
            string url = string.Format(WeChatConfiguration.DeleteMenuUrl, globalToken);

            WeChatHttpUtility.GetData(url);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 创建菜单
        /// </summary>
        /// <param name="menu"></param>
        /// <param name="globalToken"></param>
        public static void CreateMenu(string menu, string globalToken)
        {
            string url = string.Format(WeChatConfiguration.CreateMenuUrl, globalToken);

            WeChatHttpUtility.SendHttpRequest(url, menu);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 获取菜单
        /// </summary>
        /// <param name="globalToken"></param>
        /// <returns></returns>
        public static string GetMenu(string globalToken)
        {
            string url = string.Format(WeChatConfiguration.GetMenuUrl, globalToken);

            return(WeChatHttpUtility.GetData(url));
        }