Esempio n. 1
0
        /// <summary>
        /// 生成带参数的二维码
        /// </summary>
        /// <param name="token"></param>
        /// <param name="type">二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久</param>
        /// <param name="scene_id">场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)</param>
        /// <returns>返回场景二维码的微信服务器地址</returns>
        public static string CreateParameterQrcode(string token, ParameterQrcodeType type, int scene_id)
        {
            var client  = new HttpClient();
            var content = new StringBuilder();

            content.Append("{");
            var action_name = "QR_LIMIT_SCENE";

            if (type == ParameterQrcodeType.QR_SCENE)
            {
                action_name = "QR_SCENE";
                content.Append('"' + "expire_seconds" + '"' + ":1800,");
            }
            content
            .Append('"' + "action_name" + '"' + ": " + '"' + action_name + '"' + ",")
            .Append('"' + "action_info" + '"' + ": " + "{" + '"' + "scene" + '"' + ":{" + '"' + "scene_id" + '"' + ":" + scene_id.ToString() + "}}}");

            var result = client.PostAsync(
                string.Format("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}", token),
                new StringContent(content.ToString())).Result;

            if (result.IsSuccessStatusCode)
            {
                var ticket = DynamicJson.Parse(result.Content.ReadAsStringAsync().Result).ticket;
                return(string.Format("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}", ticket));
            }
            return("");
        }
Esempio n. 2
0
        /// <summary>
        /// 生成带参数的二维码
        /// </summary>
        /// <param name="token"></param>
        /// <param name="type">二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久</param>
        /// <param name="scene_id">场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)</param>
        /// <returns>返回场景二维码的微信服务器地址</returns>
        public static string CreateParameterQrcode(string token, ParameterQrcodeType type, int scene_id)
        {
            var client = new HttpClient();
            var content = new StringBuilder();
            content.Append("{");
            var action_name = "QR_LIMIT_SCENE";
            if (type == ParameterQrcodeType.QR_SCENE)
            {
                action_name = "QR_SCENE";
                content.Append('"' + "expire_seconds" + '"' + ":1800,");
            }
            content
            .Append('"' + "action_name" + '"' + ": " + '"' + action_name + '"' + ",")
            .Append('"' + "action_info" + '"' + ": " + "{" + '"' + "scene" + '"' + ":{" + '"' + "scene_id" + '"' + ":" + scene_id.ToString() + "}}}");

            var result = client.PostAsync(
                string.Format("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}", token),
                new StringContent(content.ToString())).Result;
            if (result.IsSuccessStatusCode)
            {
                var ticket = DynamicJson.Parse(result.Content.ReadAsStringAsync().Result).ticket;
                return string.Format("https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket={0}", ticket);
            }
            return "";
        }
Esempio n. 3
0
        /// <summary>
        /// 生成带参数的二维码
        /// </summary>
        /// <param name="token"></param>
        /// <param name="type">二维码类型,QR_SCENE为临时,QR_LIMIT_SCENE为永久</param>
        /// <param name="scene_id">场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)</param>
        /// <param name="days"></param>
        /// <returns></returns>
        public static string Create(string token, ParameterQrcodeType type, int scene_id, int days)
        {
            var content = new StringBuilder();

            content.Append("{");
            var action_name = "QR_LIMIT_SCENE";

            if (type == ParameterQrcodeType.QR_SCENE)
            {
                action_name = "QR_SCENE";
                content.Append('"' + "expire_seconds" + '"' + ":").Append(new TimeSpan(days, 0, 0, 0, 0).TotalSeconds).Append(",");
            }
            content
            .Append('"' + "action_name" + '"' + ": " + '"' + action_name + '"' + ",")
            .Append('"' + "action_info" + '"' + ": " + "{" + '"' + "scene" + '"' + ":{" + '"' + "scene_id" + '"' + ":" + scene_id.ToString() + "}}}");

            var result = HttpTo.Post(
                string.Format("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token={0}", token),
                content.ToString());

            return(result);
        }