记一次基于公众号的微信H5开发项目(一)

  • 微信H5页面授权
    • 授权登陆
    • 业务相关和注意事项

微信H5页面授权

过去一年项目主要以b端的为主,今年年初公司接了一个c端项目,基于工作号做微信H5开发,需要用到微信的授权登陆,拉取用户信息,扫一扫,支付等功能,记录一下。

授权登陆

微信的授权登陆:

  1. 首先你需要甲方拿资料去申请一个公众号,然后给与你开发权限。
  2. 然后要在白名单中配置好域名,注意不要带有https://,(开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息-配置好回调域名),
  3. 设计好公众号菜单,将获取微信授权code的链接放置在按钮上。这样用户点击的时候,直接相当于去找微信获取了code,微信这边会将code和state参数拼接到你的回调地址上,并跳转至你回调地址(一般就是项目首页)
  4. 我的项目里面,分为pc的b端,基于公众号的b端,和基于公众号的c端3个部分,公众号的b端仅需要openId,所以静默授权即可,c端则需要获取用户信息,所以这里scope选择上做了区分。
  5. 从回调地址中把code取到,然后发给后端,由后端拿code去获取登陆的access_token和openId;
  6. 如果需要刷新,就拿上一步获取到的refresh_token去请求即可;
  7. 如果是需要拉去用户信息,则更改为获取userInfo的接口,拿access_token和openId去获取即可;
  8. openId,用户对于单个公众号的openId是唯一的,这点需要注意。
  9. 如果关联同一个公众号拥有者下面的小程序小游戏,好像就是使用unionId了,这里项目中没有涉及相关业务,只是自己好奇所以查看了一下相关的文档,不在这里记录了。

业务相关和注意事项

  1. 首先b端是每个用户还有一个基于我们后台系统的账号,所以既要获取用户微信账号相关的信息又要关联上系统的账号,这里openId就很有必要了,基于他的唯一性,可以把用户的微信账号和系统账号关联起来。
  2. 我们后端也是第一次开发与微信相关的功能,所以他犯了一个错误就是在获取access_token的时候调用的接口是jscode2session这个接口,但实际上这个是小程序获取openid时候使用的接口,而不是公众号专用的。
  3. 还有个基础的access_token必须要获取到,官方文档中也有写到用code去获取用户信息所使用的access_token与这个基础的access_token并不一样,但是基础token也很重要,很多其他的功能都是需要它来作为凭证来实现的,所以也要获取并且存起来,还要注意基础token只有2个小时的有效期。
  4. 在回调地址中获取code,只需要在mounted阶段用一个变量接收一下location.search就可以拿到包括?以后所有的参数信息的字符串,再做一下切割就可以了。然后拿code去发给后端直接获取openId,因为用户还要在登陆页登陆我们后台系统,此时添加一个加载中的遮罩层,防止网络不好的情况下用户在后端没有返回openId的情况下去点击登陆按钮。
  5. 文档中说明token不要由前端去获取,应该交由后端去获取,这样安全。
  6. 毕竟每个功能每个人都有第一次开发的时候,而且不是人人都有前辈手把手来带你,所以学会自己看官方的文档是很重要的。
  7. 微信H5开发文档.

下一篇在说一说JSSDK的使用,以及在H5中调起微信扫一扫功能。

记一次基于公众号的微信H5开发项目(一)相关推荐

  1. 微信公众号:微信H5页面JSAPI充值

    微信公众号:微信H5页面JSAPI充值,遇到的一些坑,以及解决方式. 首先说一下微信充值分为很多种:目前我所涉及到的只是APP支付.H5支付.JSAPI支付. 区别: 1.根据不同场景 APP支付:是 ...

  2. php h5微信支付和app微信支付区别,关于微信公众号支付 微信H5支付和微信APP支付的问题 (PHP)TP+VUE...

    话不多说 直接上源码 在写支付之前一定要确定好微信要求配置的相关回调域名 安全支付域名还有杂七杂八的哪些地址都准备好了 要不然是没法实现的 微信公众平台 微信商户平台 还有开发者平台 什么的 这点比较 ...

  3. h5 小程序 公众号 接入微信支付开发

    首先支付都需要确认你的项目的公众号(小程序)是不是商家,去微信公总平台官网(https://mp.weixin.qq.com/)确认(登录公众平台,点击导航栏中的微信支付,然后点击开通按钮,按照里面的 ...

  4. Shopro商城,基于Fastadmin和Uniapp进行开发的多平台(微信公众号、微信小程序、H5网页、Android-App、IOS-App)购物商城

    Shopro商城 基于Fastadmin和Uniapp进行开发的多平台(微信公众号.微信小程序.H5网页.Android-App.IOS-App)购物商城,拥有强大的店铺装修.小程序直播.自定义模板. ...

  5. 淘宝客CMS,微信公众号,微信淘客机器人

    淘宝客CMS,微信公众号,微信淘客机器人一站式淘客导购解决方案 先来写个序 楼主程序员,两耳不闻窗外事,一心只知敲代码,2019年前没接触过淘客,也不懂淘客是什么? 后来有个朋友给我提到,说他在做淘客 ...

  6. Shopro商城 高级版 Fastadmin和Uniapp进行开发的多平台商城(微信公众号、微信小程序、H5网页、Android-App、IOS-App)

    Shopro商城无加密的开源源码(可用于自营+外包项目(多主体).可用于外包定制开发项目) shopro 商城,一款基于 uni-app 的前端模板商城.目前适配了(小程序+app+h5+公众号). ...

  7. 微信公众号和微信小程序的区别

    微信公众平台于2012年08月23日正式上线,微信小程序发布时间2017年1月9日,公众号和小程序都非常火爆,今天小编就给大家讲讲小程序和公众号异同. 微信小程序和公众号的区别到底是什么? 1.定位不 ...

  8. 微信升级会员卡功能: 连通公众号、微信支付

    5月17日消息 今日,微信宣布升级微信会员卡功能,实现会员卡.公众号和微信支付的三方打通. 据介绍会员卡.公众号.微信支付三大功能模块的连通,用户与商家会员卡和公众号的绑定,可以帮助商家进行会员和公众 ...

  9. JAVA版开源微信管家—JeeWx捷微3.1小程序版本发布,支持微信公众号,微信企业号,支付窗

    支持小程序,JeeWx捷微3.1小程序版本发布^_^ JeeWx捷微V3.1--多触点小程序版本管理平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.1.0版本紧跟微信小程序更新,在原有 ...

  10. JeeWx捷微3.0多触点版本发布,支持微信公众号,微信企业号,支付窗——喜迎双“旦”

    喜迎双旦,JeeWx捷微3.0多触点版本发布^_^ JeeWx捷微V3.0--多触点版本管理平台(支持微信公众号,微信企业号,支付窗) JeeWx捷微V3.0.0版本是一个颠覆和跨时代版本,官方团队历 ...

最新文章

  1. struts.xml web.xml配置正常,访问action时出现404
  2. Lucene 4.X 倒排索引原理与实现: (3) Term Dictionary和Index文件 (FST详细解析)——直接看例子就明白了!!!...
  3. javascript变量提前声明
  4. PHP实现二叉树的深度优先遍历(前序、中序、后序)和广度优先遍历(层次) 转载陈小龙哈2017...
  5. 异常-自定义异常 和 throw和throws的区别
  6. SAP Fiori Elements 应用的 i18n 语法使用方式
  7. [bzoj3625][Codeforces 250 E]The Child and Binary Tree(生成函数+多项式运算+FFT)
  8. Wireshark图解教程(简介、抓包、过滤器)
  9. GAN 优化 Yelp 形象图片广告
  10. 分布式光伏融资难点分析
  11. Linux+gcc设置断点,gcc/g++常用编译选项和gdb常用调试命令
  12. [Matlab]切比雪夫Ⅱ型滤波器设计:低通、高通、带通和带阻
  13. Android技术精髓-Bitmap详解
  14. 首席架构师是怎样炼成的?今晚直播!
  15. [OpenGL] OpenGL制作三维字符雨屏保程序
  16. 楼天成,ACRush
  17. 【2020.11.16】堆栈传参、堆栈平衡
  18. 蓝桥杯第十届省赛 NE555测方波
  19. unity自动生成敌人_Unity学习笔记一:敌人模块和敌人生成器模块脚本编写思路梳理(1)...
  20. python简易爬虫:xpath解析方式抓取几页小猪短租官网的住房信息

热门文章

  1. 计算机网络线路故障及排查方法,计算机网络常见故障排查
  2. SSM实现会议室预约管理系统
  3. CSDN新手机号绑定不成功,提示已存在账号,CSDN换绑手机号的相关问题
  4. 安装microsoft office 和visio遇到的那些事儿
  5. Android adb环境变量配置
  6. 如何配置android的adb环境变量,windows系统下配置adb环境变量的方法步骤
  7. html lab颜色,颜色标准LAB值对照表
  8. Excel如何根据身份证号码提取出性别
  9. Logitech Control Center 3.9.8 特别版 Mac 罗技USB键盘和鼠标管理软件
  10. ubuntu无法定位软件包的问题