添加配置

application.properties添加相关配置信息

# 微信开放平台 appid
wx.open.app_id=你的appid
# 微信开放平台 appsecret
wx.open.app_secret=你的appsecret
# 微信开放平台 重定向url
wx.open.redirect_url=http://你的服务器名称/api/ucenter/wx/callback

创建常量类

创建util包,创建ConstantPropertiesUtil.java常量类

@Component
public class ConstantPropertiesUtil implements InitializingBean {@Value("${wx.open.app_id}")private String appId;@Value("${wx.open.app_secret}")private String appSecret;@Value("${wx.open.redirect_url}")private String redirectUrl;public static String WX_OPEN_APP_ID;public static String WX_OPEN_APP_SECRET;public static String WX_OPEN_REDIRECT_URL;@Overridepublic void afterPropertiesSet() throws Exception {WX_OPEN_APP_ID = appId;WX_OPEN_APP_SECRET = appSecret;WX_OPEN_REDIRECT_URL = redirectUrl;}
}

创建controller

microservice-ucenter微服务中创建api包

api包中创建WxApiController

@CrossOrigin
@Controller//注意这里没有配置 @RestController
@RequestMapping("/api/ucenter/wx")
public class WxApiController {@GetMapping("login")public String genQrConnect(HttpSession session) {// 微信开放平台授权baseUrlString baseUrl = "https://open.weixin.qq.com/connect/qrconnect" +"?appid=%s" +"&redirect_uri=%s" +"&response_type=code" +"&scope=snsapi_login" +"&state=%s" +"#wechat_redirect";// 回调地址String redirectUrl = ConstantPropertiesUtil.WX_OPEN_REDIRECT_URL; //获取业务服务器重定向地址try {redirectUrl = URLEncoder.encode(redirectUrl, "UTF-8"); //url编码} catch (UnsupportedEncodingException e) {throw new Exception(20001, e.getMessage());}// 防止csrf攻击(跨站请求伪造攻击)//String state = UUID.randomUUID().toString().replaceAll("-", "");//一般情况下会使用一个随机数String state = "imhelen";//为了让大家能够使用我搭建的外网的微信回调跳转服务器,这里填写你在ngrok的前置域名System.out.println("state = " + state);// 采用redis等进行缓存state 使用sessionId为key 30分钟后过期,可配置//键:"wechar-open-state-" + httpServletRequest.getSession().getId()//值:satte//过期时间:30分钟//生成qrcodeUrlString qrcodeUrl = String.format(baseUrl,ConstantPropertiesUtil.WX_OPEN_APP_ID,redirectUrl,state);return "redirect:" + qrcodeUrl;}
}

微信扫描登录(生成二维码)相关推荐

  1. 微信扫码登录,微信公众号生成二维码,关注登录nodejs+vue

    微信公众号生成二维码,关注后扫码登录 技术栈为nodejs+vue 有不懂的可以加我微信yizheng369 1.效果 初始: 关注后: 2.源码 此项目为前后端分离项目,前后端代码都在这个仓库里, ...

  2. 二维码的扫描和生成二维码

    前言 之前自己一直想要去实现一个二维码的扫描和生成,但是一直拖到现在,今天趁着夜色落幕,气氛还算可以(各种声音的夹杂中),完成了这个扫描和生成二维码的工具,在这里总结一下. 首先普及一下什么是二维码和 ...

  3. 微信扫描PC端二维码跳转到小程序确认登录通过WebSocket来获取用户信息达到PC端登录

    需求: 在pc端获取后端给的token值来生产二维码(这里后端给了我两个url:一个是二维码url,一个是ws的 url),用微信扫描二维码跳转到小程序写的确定登录页面(进行确定):然后在PC端使用W ...

  4. Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码

     二维码/条形码生成器 二维码/条形码扫描器 一.二维码与条形码工作原理 目前的很多应用上都有扫码功能,当时微信推出二维码扫码功能时,觉得imagine,通过一张简单的图片就能扫描添加还有,还有分 ...

  5. 微信公众平台生成二维码海报是如何做到的?

    实现微信公众号里面点击子菜单生成带有粉丝二维码的海报 关注微信服务号自动生成二维码海报 发送关键词到公众号生成带有粉丝头像昵称的海报二维码 1.从微号帮平台我的公众号 功能管理 2.生成海报二维码 海 ...

  6. IOS几种常见的实现扫描、生成二维码的方式(一、使用ZBar SDK)

    最近项目中使用到扫描二维码的功能,要求还蛮多的,包括界面的定制,扫描灵敏度,使用的稳定性等等.于是,研究总结了一下IOS中几种扫描二维码的实现方式. 基本上我们的实现方法有三大途径:ZBar.ZXin ...

  7. 关于微信公众号生成二维码如何保存到相册

    今天写项目遇到一个保存二维码的问题,再次记录下 使用这个插件生成的二维码,在公众上面长按二维码无法保存到相册,在手机上查看发现没有img元素,因此长按不识别. 方法一 所以又装了个插件 通过上面的方法 ...

  8. 微信小程序 - 生成二维码

    前言:通过小程序端生成二维码也是很有必要的,可以为后台减压. 本文介绍三个插件,其中各有不同,各有优点. 1.可以生成带图标的二维码 图示: 下载:链接: https://pan.baidu.com/ ...

  9. 微信第三方授权生成二维码api

    $api = "https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxx&pre_auth_co ...

  10. 微信(支付)二维码的生成(前端方向)

    以csdn的微信登录为例子 1.发起请求,获取微信二维码的 QR code 这个请求一般返回两个字段 QR url   () 订单号 / token () 然后通过 QR url 生成 QR code ...

最新文章

  1. DL之CNN:计算机视觉之卷积神经网络经典算法简介、重要进展、改进技巧之详细攻略(建议收藏)
  2. svn:error use xcode-select to change
  3. 如何使用p6spy来监控sql
  4. mysql5.6编译
  5. Openlayer 3 的画图测量面积
  6. I/O多路复用之select
  7. linux吃鸡游戏下载,网络大逃杀2077
  8. 建站|全网最系统的色彩搭配指南,教你制作吸睛网站
  9. 利用pyecharts绘制雷达图的案例(含参数解释)
  10. 怎么把视频的html格式转换,怎样把一个视频文件转换成MP4的格式
  11. 微信如何添加企业微信信息服务器地址,企业微信和微信消息怎么互通_企业微信和微信消息互通操作流程一览...
  12. 浙大计算机系课本,浙大计算机系毕业的一个理工男 找遍西湖边所有亭子写成了书...
  13. MT7620a openwrt 支持32M、16M、 8M SPI flash
  14. 上海的211大学中计算机,上海有哪些211大学
  15. 中小企业数据防泄密怎么做,墨门云数据防泄密指南
  16. 2022年贵州二级建造师建设工程法规及相关知识模拟题及答案
  17. 拼多多参谋在什么地方?多多参谋的作用是什么?
  18. 运行中的程序突然出现Killed原因
  19. 我的物联网项目(二十三) 统计数据优化
  20. 【转】富士通磁共振无线充电技术,几米外可充电

热门文章

  1. 数值计算(三)-插值法(2)牛顿插值法
  2. VTK Actor ImageData polyData,Transform 平移,旋转
  3. 创新点定义,如何写创新点
  4. 这几款真香旗舰机,买到就是赚到,有你入手了的吗?
  5. C语言无符号有符号比较问题总结
  6. QMUI-Android的一些尝试(圆形进度条、Loading、圆形图片、圆形按钮、椭圆图片)
  7. c语言零错误零警告,C语言 g警告:无符号表达式的比较0始终为false
  8. VTK笔记-裁剪分割-几何裁剪-vtkClipPolyData
  9. Centos 大于4TB 硬盘LVM 水平扩容
  10. 构建Docker镜像时处理'Configuring tzdata'交互输入