位置: 编程技术 - 正文

微信开发之网页授权获取用户信息(二)(微信网页开发工具)

编辑:rootadmin

推荐整理分享微信开发之网页授权获取用户信息(二)(微信网页开发工具),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:微信网页开放平台,微信网页开发流程,微信网站应用开发教程,微信网站开发,微信网页开发教程,微信开发网页 怎么本地调试,微信开发网页 怎么本地调试,微信开发网页 怎么本地调试,内容如对您有帮助,希望把文章链接给更多的朋友!

在公众号的配置过程中,许多开发者会在菜单中加入HTML5页面,有时在页面内需要访问页面的用户信息,此时就需要网页授权获取用户基本信息

积木网提醒大家:本文介绍讲述的内容是基于yii2.0框架

1、设置授权回调域名:开发 ---> 接口权限

  找到“网页授权获取用户基本信息”,点击后面对应的“修改”,在弹框响应位置填写授权回调域名即可,此处的域名不需要加 (关于网页授权回调域名的说明详情可参考公众平台开发者文档)

2、获取授权

  关于OAuth2.0博主参考的是方倍工作室的博文  实际上,获取用户信息的关键在于获取用户的openid。博主想要实现用户点击公众号菜单打开页面即可自动授权,从而针对该用户进行数据库操作,于是有下面两种方式: 

  (1)利用自定义菜单请求授权页面

    自定义菜单后面会单独写一篇博文,在这里先简述一下通过自定义菜单进行授权,该方法需要高级接口权限,且局限于关注公众号的用户直接从菜单进入页面。

需要授权的view直接在url处填写微信提供的授权请求地址,其中:

&#;appid:填写微信公众平台基本配置中的AppID;&#;redirect_uri:填写授权完成后跳转的页面地址,即自己的html5页面;&#;state:跳转至回调页面所带参数;&#;response_type:网页授权的两种scope,微信官方文档中说明如下:

1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)

2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。 按照此方法点击“商城”即可接收到返回的openid,继而进行下一步用户信息的获取。 

微信开发之网页授权获取用户信息(二)(微信网页开发工具)

(2)利用JS自动请求授权页面

这个方法相对而言比较笨拙,步骤略复杂,但目前能解决需求还没有研究简化方法,且由于页面的跳转多数情况下访问页面的时间会增加,但相比于前一个方法,该方法可以获取到非关注用户的基本信息。有些程序可能涉及到页面分享,程序没有强制关注但其他用户通过分享直接进入页面也需要记录用户信息,此时可以考虑该方法。(微信开发相关的代码博主封装成工具类调用,这里先贴用到的部分,以后整理完成会全部贴出来并附下载链接)

该方法的思路为:js请求链接获取code ---> 利用code换取openid ---> 得到用户基本信息

a. 编辑配置

为了方便把用到的一些微信参数单独写入一个类,方便修改添加及调用

b. https请求工具

关于curl_setopt($this->ch, CURLOPT_SAFE_UPLOAD, false)会在微信图片资源上传博文中详细讲述它出现的心酸史,这里暂时用不到,不做解释

c. 授权基类

d. 授权基类调用及用户数据处理(在控制器调用前,先对用户数据存入或更新)

e. 控制器调用(这里只贴其中一个方法)

程序要求用户打开产品列表即获取用户信息并存入数据库,其中设计了几个变量作用如下:

$refresh:判断页面是否刷新,由于首次打开页面未进行oauth验证时才自动请求验证,避免反复刷新,这里用回调的state参数作为判断依据且设state=1(若有特定参数需要可将state赋值为所需值);

$request:即为验证请求地址

f. 视图自动刷新

只需要在视图中添加以下js代码即可

以上内容给大家介绍了微信开发之网页授权获取用户信息(二)的全部叙述,希望本文分享能够给大家带来帮助。

yii2中添加验证码的实现方法 本文实例讲述了yii2中添加验证码的实现方法。分享给大家供大家参考,具体如下:首先,在模型中添加验证码字段:publicfunctionrules(){return['verifyCode','captc

YII2.0之Activeform表单组件用法实例 本文实例讲述了YII2.0之Activeform表单组件用法。分享给大家供大家参考,具体如下:Activeform文本框:textInput();密码框:passwordInput();单选框:radio(),radioList();复

yii2中使用Active Record模式的方法 本文实例讲述了yii2中使用ActiveRecord模式的方法。分享给大家供大家参考,具体如下:1.在db.php中配置相应的数据库信息:return['class'='yiidbConnection','dsn'=

标签: 微信网页开发工具

本文链接地址:https://www.jiuchutong.com/biancheng/288163.html 转载请保留说明!

上一篇:关于扩展 Laravel 默认 Session 中间件导致的 Session 写入失效问题分析(关于扩展检索,下列说法正确的是)

下一篇:YII2.0之Activeform表单组件用法实例

  • 企业中秋晚会活动方案
  • 偶然所得个人所得税会计分录
  • 消费税到底是什么
  • 税控盘服务商
  • 月底计提分录
  • 政府补贴营业外收入所得税汇算清缴需要调增吗
  • 库存商品进价成本
  • 增值税专票怎么抵扣
  • 会计学中营业利润的计算
  • 支付宝已经支付的钱怎么退回来
  • 无形资产的加计扣除为什么不影响应纳税所得额
  • 借方增加的科目记忆口诀
  • 咨询费收入交什么税种
  • 买标书怎么做分录
  • 未办理土地使用证违反了什么法律
  • 非全日制员工个税扣除标准
  • 电子税务局怎么变更财务负责人
  • 机动车销售统一专票税率
  • win8系统如何设置u盘启动
  • 华为下载鸿蒙应用
  • 王者荣耀中孙膑是男的女的
  • 速动比率的合理范围
  • 发票产生的材料是什么
  • 出售使用过的车辆如何交印花税呢
  • 2017年新准则下,收入确认的金额应是
  • 企业接受母公司代为缴纳税款会计分录
  • linux直接运行jar
  • PHP:stream_context_get_params()的用法_Stream函数
  • 特许权使用费税前扣除标准
  • 费用超额怎么写申请
  • linux编译驱动文件
  • 鸟瞰生长在森林中的植物
  • 罚款计入营业外支出影响当期损益
  • yolov5m
  • 房地产公司活动方案
  • Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
  • 如何成功安装暗区突围
  • 购买承兑的收益会计分录
  • 土地增值税可以抵扣吗
  • 自收自支是由主管部门拨款吗
  • 信用减值损失的借贷方向
  • 年末关账注意事项
  • 财政拨款结转和财政拨款结余以前年度盈余调整
  • 税务登记需要的手续
  • sql的应用
  • 购买财务软件怎么做凭证
  • mysql日志有哪些
  • 劳动仲裁赔偿款会计分录
  • 员工工资扣工作服押金怎么做账呢
  • 帐户结余
  • 企业运费如何开票
  • 劳务派遣公司差额征税怎么做账
  • 购税盘怎么做会计分录
  • 母子公司之间的借款利息支出增值税能否抵扣
  • 住宿费专用发票会计分录
  • 网上购物退货后钱多久到
  • 总公司可以开发票给分公司吗
  • 费用化资本化对税收的影响
  • 购销合同交的印花税税率
  • 管理费用怎么结转到本年利润未分配利润里了
  • mysql 5.7.11 winx64初始密码修改
  • win7历史记录在哪里
  • mac怎么复制文件路径地址
  • centos php apache
  • 怎么用老毛桃u盘装win7系统 老毛桃u盘装win7系统教程图解
  • win7系统屏幕一直闪怎么办
  • ubuntu20.04命令
  • win10太麻烦了
  • tplinkwr740n设置
  • js解释器有哪些
  • nodejs示例
  • nodejs跳转到指定页面
  • 小葵花妈妈课堂开课了是什么药
  • nodejs定义数组
  • 在javascript中如果不指明对象直接调用
  • 歺包做法
  • 发布python程序
  • 三水水厂热线电话号码
  • 大连地税局发票怎么开
  • 公民海外收入纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设