首页 > 其他分享 >微信公众号 生成带参数二维码

微信公众号 生成带参数二维码

时间:2024-11-29 11:30:49浏览次数:10  
标签:scene string 微信 request token System access 二维码 参数

    //scene_id 参数
      public string GetewmPic(string scene_id)
        {
            JavaScriptSerializer js = new JavaScriptSerializer();
            //Redis获取token
            RedisHelper rds = new RedisHelper();
            string access_token_key = "access_token_gzh";
            string access_token = rds.ReadStr(access_token_key, 12);
            
            if (string.IsNullOrEmpty(access_token))
            {
                //Redis没有从公众号获取
                string url2 = "https://api.weixin.qq.com/cgi-bin/token";
                string json = StrHelper.GetRequestUrl(url2,"grant_type=client_credential&appid=appid&secret=secret");
                access_token_model lst = JsonConvert.DeserializeObject<access_token_model>(json);
                access_token = lst.access_token;
                rds.InsertStr(access_token_key, access_token, System.DateTime.Now.AddMinutes(5).ToUniversalTime(), 12);
            }
            string tocket = "";
            string poster = "{\"action_name\": \"QR_LIMIT_STR_SCENE\", \"action_info\": {\"scene\": {\"scene_str\": \"" + scene_id + "\"}}}";
            string tockes = StrHelper.PostRequestUrl("https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=" + access_token, poster);
            action_info wUser = js.Deserialize<action_info>(tockes);
            tocket = Uri.EscapeDataString(wUser.ticket);  //TICKET必需UrlEncode  
            string Picurl = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=" + tocket;
            //将二维码下载到本地
            string allurl = StrHelper.PostMothswxewm(Picurl, "");
            return allurl;
        }
                public static string PostMothswxewm(string url, string param)
        {
            string strURL = url;
            System.Net.HttpWebRequest request;
            request = (System.Net.HttpWebRequest)WebRequest.Create(strURL);
            request.Method = "GET";
            string paraUrlCoded = param;
            byte[] payload;
            payload = System.Text.Encoding.UTF8.GetBytes(paraUrlCoded);
            request.ContentLength = payload.Length;
            System.Net.HttpWebResponse response;
            response = (System.Net.HttpWebResponse)request.GetResponse();
            System.IO.Stream s;
            s = response.GetResponseStream();//返回图片数据流
            var res = ReadQRCode(s);

            var Bitmap = CreateQRCode(res, 104, 104);
            var stream = new System.IO.MemoryStream();
            Bitmap.Save(stream, ImageFormat.Jpeg);
            stream.Position = 0;

            string date = System.DateTime.Now.ToString("yyyyMMddHHmmssfff");
            string filePath = "xx/sceneimg/" + date + ".jpg";
            webPost.webPost1("xx/sceneimg/", date + ".jpg", stream);
            string allurl = StrHelper.GetPhoto(filePath);
            return allurl;
        }

标签:scene,string,微信,request,token,System,access,二维码,参数
From: https://blog.csdn.net/weixin_45095882/article/details/144131134

相关文章

  • 根据链接自动生成二维码,并嵌入Excel后导出
    文章目录1.需求2.依赖3.主体方法1.需求根据每个用户链接自动生成二维码,导出用户基础信息和二维码到excel中效果如下:2.依赖<dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><versi......
  • Cause: org.apache.ibatis.binding.BindingException: Parameter ‘username‘ not fo
    原因 :Availableparametersare[arg1,arg0,param1,param2]需要标识参数未找到错误解决办法    方法1.在mapper映射文件中:<selectid="checkLogin"resultType="User">select*fromuserwhereusername=#{arg0}andpassword......
  • Jenkins PipeLine 联动参数
    JenkinsPipeLine联动参数https://blog.csdn.net/smartvxworks/article/details/137716743properties([parameters([[$class:"ChoiceParameter",choiceType:"PT_SINGLE_SELECT",description:"Selectt......
  • 微信小程序背景图完全覆盖显示
    在微信小程序中,要实现背景图片完全覆盖显示,可以通过设置CSS样式来实现。具体方法如下:‌在页面的WXSS文件中设置背景图片样式‌:page{background-image:url('图片路径');background-size:100%100%;background-repeat:no-repeat;}这段代码会将背景图片设置为全......
  • 内核参数引起的服务启动失败
    报错现象err:listentcp10.123.45.78:50001:bind:addressalreadyinuse每次启动都报错,业务反馈服务启动后只会主动监听这一个端口所以因为逻辑错误引起的端口冲突可以排除分析原因观察服务器现象本地localport占用了50001造成服务启动失败。因为服务启动时socket=ip......
  • 旅游门票预订系统支持微信小程序+H5
    本旅游门票预订系统是一个集景点门票预订、支付、退款、核销及旅游攻略分享等功能于一体的综合服务平台。该系统基于Uniapp开发,采用Vue2框架,旨在为用户提供便捷、高效、全面的旅游服务体验。二、功能特性景点项目管理支持发布多个景点项目,包括景点门票等,方便用户浏览和预订......
  • Shopro商城新零售多商户社交电商分销商城系统支持微信公众号、微信小程序、H5、APP
    新零售解决方案重新建立消费者、货物、经营场所三者之间的联系。线上线下联合发力,以消费者体验为核心,全面布局新零售会员管理更便捷规范管理会员信息一目了然,可自动生成会员消费标签,帮助您制定个性化会员营销方案提高会员粘性将会员资源转化为订单。商城管理更省心规范管理会员......
  • Shopro商城新零售多商户社交电商分销商城系统支持微信公众号、微信小程序、H5、APP
    新零售解决方案重新建立消费者、货物、经营场所三者之间的联系。线上线下联合发力,以消费者体验为核心,全面布局新零售会员管理更便捷规范管理会员信息一目了然,可自动生成会员消费标签,帮助您制定个性化会员营销方案提高会员粘性将会员资源转化为订单。商城管理更省心规范管理会员......
  • Shopro商城新零售多商户社交电商分销商城系统支持微信公众号、微信小程序、H5、APP
    新零售解决方案重新建立消费者、货物、经营场所三者之间的联系。线上线下联合发力,以消费者体验为核心,全面布局新零售会员管理更便捷规范管理会员信息一目了然,可自动生成会员消费标签,帮助您制定个性化会员营销方案提高会员粘性将会员资源转化为订单。商城管理更省心规范管理会员......
  • 16Java集合进阶(Set、Map集合、可变参数、斗地主案例)
    请先看我上篇文章15Java集合进阶(异常、集合)-CSDN博客一、Set系列集合1.1认识Set集合的特点Set集合是属于Collection体系下的另一个分支,它的特点如下图所示下面我们用代码简单演示一下,每一种Set集合的特点。//Set<Integer>set=newHashSet<>(); //无序、无索引、不重......