前端对接微信公众号网页开发流程,授权对接(代码片段)

不靠谱的作曲家 不靠谱的作曲家     2023-01-09     556

关键词:

前面讲到 前端对接微信公众号网页开发流程,前期配置,本篇文章主要详细介绍关于公众号的授权对接。

一、引入微信js-sdk

在需要调用 JS 接口的页面引入如下 JS 文件

http://res.wx.qq.com/open/js/jweixin-1.6.0.js

如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:

http://res2.wx.qq.com/open/js/jweixin-1.6.0.js

二、引导授权

在调用微信的授权地址之前,需要有几个必要的参数,appid、redirect_uri、response_type、scope、#wechat_redirect,下面的链接是授权地址,下面介绍下几个参数的获取及作用。微信网页授权文档

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect


1.appid
appid一般通过接口获取得到,因为在代码里尽量不要出现明文的appid

2.redirect_uri
redirect_uri为授权后重定向的回调链接地址,也就是微信开发者工具地址栏的地址。

3.scope
scope为应用授权作用域,有两个参数,snsapi_basesnsapi_userinfo
snsapi_base为静默授权只能拿到用户的openid
snsapi_userinfo非静默授权,会弹出授权页面,需要用户主动授权,可以通过openid拿到用户的详细信息,如昵称、性别、所在地等

三、开始授权完整代码

怎么判断用户是否授权呢,我是根据重定向后的地址中是否含有code来作为判断条件的,也可以按照是否获取到用户信息来作为判断条件,下面代码就是完整的授权流程
1.获取redirect_uri

var locationHref = document.location.href;

2.获取地址栏路径参数

// 路径是否存参数
var array = []
var index = locationHref.indexOf("?")
// 如果本地路径存在参数则进行参数解析
if (index != -1) 
    var objStr = locationHref.substr(index + 1);
    var obj = objStr.split("&");
    for (var i = 0; i < obj.length; i++) 
        array[obj[i].split("=")[0]] = (obj[i].split("=")[1]);
    

结果

3.判断路径是否含有参数code
判断路径是否含有参数code,如果有代表已经授权,没有则为未授权

if (array.code == undefined) 
   	window.location = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$locationHref&response_type=code&scope=snsapi_userinfo&state=#wechat_redirect`


前端对接微信公众号网页开发流程,jssdk使用(代码片段)

前面两篇文章讲解了前端对接微信公众号网页开发流程,前期配置和前端对接微信公众号网页开发流程,授权对接,本篇文章讲解关于微信JSSDK的使用,官方文档地址一、通过config接口注入权限验证配置所有需要... 查看详情

微信网页授权流程(前端篇)

功能描述公司最近有个项目要做基于微信的H5校服定制wepApp的开发,之前完全没有接触过微信开发,很是兴奋,有种磨刀霍霍向猪羊的感觉。由于本人经验有项,描述不准确的地方请大家及时指出。功能描述:当用户点击如下所示... 查看详情

微信公众平台前端人员对接(微信拍照上传)

前言:1.本篇主要介绍前端如何对接微信公众平台2.示例选取微信拍照上传3.微信JS-SDK说明文档4.企业号开发者中心5.请一定要确认自己的帐号类型是否拥有使用微信某项功能的权限,要不然方法回调不起作用6.企业号对接功能检测... 查看详情

java对接微信公众号模板消息推送(代码片段)

...这个业务需求,又很凑巧让我来完成:首先想要对接,先要一个公众号,再就是开发文档了:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html 不过请注意这一点ok,我们继续:再来完成公众... 查看详情

微信公众号定制开发(代码片段)

 1、配置公众号  -开发-网页服务-网页授权-修改 网页授权获取用户基本信息 授权域名。(注:公众号自动回复开发,需要开启  服务器配置,单独的获取用户信息则不需要。jssdk是白名单授权管理。)2、... 查看详情

springboot项目之微信支付功能实现详细介绍

对接微信支付功能主要有以下几个步骤,而其第一个关键点就是获取OpenID,在这里介绍两种获取方式:   一、微信授权微信网页授权如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获... 查看详情

java对接微信公众号模板消息推送(代码片段)

...这个业务需求,又很凑巧让我来完成:首先想要对接,先要一个公众号,再就是开发文档了:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html 不过请注意这一点ok,我们继续:再来完成公众... 查看详情

支付宝对接授权及加好友(代码片段)

授权:首先需要去支付宝开发者中心注册一个网页应用,注册时需要注意应用名称的命名规范,很容易就审核不通过,授权的回调地址必须是https的,并且页面里必须要调用getAuthCode,否则授权时就会报 系统异常,请联系商... 查看详情

使用c#开发微信公众号对接chatgpt和dall-e(代码片段)

本人是一家小公司的技术总监,工作包括写市场分析、工作汇报、产品推广文案及代码开发等。在ChatGPT推出之后本人一直在工作中使用,在头脑风暴、大纲生成、语句优化、代码生成方面很有效果。但ChatGPT在一些常识性生成方... 查看详情

java对接微信公众号模板消息推送

...公司的有这个业务需求,又很凑巧让我来完成:首先想要对接,先要一个公众号,再就是开发文档了:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html 不过请注意这一点 ok,我们继续:再来完成公众号的基本... 查看详情

h5网页漫画小说苹果cms模板支持对接公众号支持三级分销

...阅读章节seo优化(后台配置)轮播图、推荐配置对接、qq登录及对接公众号等等苹果有的功能搭建安装教程:一、安装(已安装过的可跳过此步骤)获取我给你的项目,上传到服务器根目录下ÿ 查看详情

公众号后台开发(代码片段)

1.准备1.准备服务与微信对接的url要具备以下条件:(1)在公网上能够访问(2)端口只支持80端口  在这里如果是公网能够访问的服务最好,也可以通过花生壳或者其他外网映射工具进行映射,比如ngrok。2.数据交互原理  开发模式... 查看详情

微信公众号对接h5链接

怎么直接在公众号上发送一段文字,这段文字就链接在H5上,直接点击文字就可以进入H5,这像下图这种,参考技术A做成超链接,超链接可以做到!追问具体怎么操作啊追答百度一下,超链接制作好多这样的在线制作网页。把你... 查看详情

我的node之kafka实践(代码片段)

...e服务模块(负责接受用户关键词等请求转发到对应的前端服务器)1)、微信转发server首先查询当前用户是否已经有过一次域名授权转发,若从在则直接获取之前的域名进行转发二、前端+微信授权模块服务&#x... 查看详情

微信公众号获取openid流程(代码片段)

说明微信公众号获取openid,在官方文档中称为网页授权,授权有两种scope,snsapi_base和snsapi_userinfo,snsapi_base是静默授权,不需要用户同意,以下要说的就是静默授权。关于网页授权的两种scope的区别说明以s... 查看详情

微信公众号获取openid流程(代码片段)

说明微信公众号获取openid,在官方文档中称为网页授权,授权有两种scope,snsapi_base和snsapi_userinfo,snsapi_base是静默授权,不需要用户同意,以下要说的就是静默授权。关于网页授权的两种scope的区别说明以s... 查看详情

公众号推送早安问候以及天气预报(java)(代码片段)

...pringboot实现后台微信测试账号的申请微信模版推送的配置对接百度天气api对接彩虹屁api对接优美句子api源码开放GiteeGitHub②注册微信测试账号,编辑推送模板使用微信扫码登录此网站https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=san... 查看详情

微信公众号开发之网页授权(获取用户信息)

  这次暑假留在学校参与工作室的项目,对微信公众号比较感兴趣,所以参与这方面的学习研究。昨天完成了关于网页授权,获取用户信息方面的功能,所以乘热打铁,写上一篇。实现本篇涉及的功能,还需要完成一些基础。... 查看详情