微信小程序获取用户唯一标识OpenID
最近想重新熟悉一下微信小程序的开发,所以整理了一下上年毕设的作品-蔚园园子,一个关于校园的综合服务平台。
软件开发第一步大都绕不开登录,微信小程序的登录的话,又稍微麻烦一些。其实微信提供的文档,里面有微信登录流程时序(https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html),按照这个流程走的话,还是比较简单的。
大体思路是用户进入小程序后,通过wx.login获取到用户的临时登录凭证code,在回调方法中调用服务端提供的接口,需要把code带过去。
服务端处理的话,首先是获取客户端传过来的code值,然后调用微信提供的接口:https://api.weixin.qq.com/sns/jscode2session,
最后就能拿到当前用户的OpenID的值,和其它相关信息。
下面是小程序和和服务端(PHP)代码:
客户端:
/** 获取临时登录凭证code,调用登录接口*/wx.login({success(res) {if (res.code) {//发起网络请求wx.request({url: 'wx-login',method: 'GET',data: {code: res.code},success(res) {console.log(res)}})} else {console.log('登录失败!' + res.errMsg)}}})}
服务端:
const APP_ID = 'wx9eef2eabcbbc999d'; // 小程序 appIdconst APP_SECRET = '01c10cd28040f7360cf675b9c3d18eb4'; // 小程序 appSecretconst GRANT_TYPE = 'authorization_code'; // 登录时获取的 codeconst WX_LOGIN_URL = 'https://api.weixin.qq.com/sns/jscode2session'; // 授权类型,此处只需填写 authorization_code/*** 微信小程序授权登录* @param \think\Request $request*/public function wxLogin(Request $request){// 临时登录凭证code$code= $request->get('code');// 微信用户权限信息:OpenID-用户唯一标识$authCodeArr = $this->_getAuthCode($code);// 处理微信登录后的逻辑}/*** 发送请求,获取微信用户权限信息* @param $code string 临时登录凭证code** @return false|mixed|string*/public function _getAuthCode($code){$params = ['appid' => self::APP_ID,'secret' => self::APP_SECRET,'js_code' => $code,'grant_type' => self::GRANT_TYPE,];// 拼接请求地址$url = self::WX_LOGIN_URL . '?' . http_build_query($params);$result = file_get_contents($url);$result = json_decode($result, true);return $result;}
微信小程序获取用户唯一标识OpenID相关推荐
- 微信小程序获取用户唯一标识openid的若干个坑
今天需要获取微信小程序用户唯一标识openid.一开始发现了前端是无法发起请求获取openid的,需要前端获取code后,把code传给后端,由后端获取,再把openid返回给前端.后端也是我一个人搞 ...
- 唯一标识 微信小程序_微信小程序获取用户唯一标识(不用授权)
在做微信小程序开发时,根据应用的需要,可能会要求获得用户不同的信息和硬件设备不同的使用权限.前者比如:用户标识.头像.昵称.姓别.地址.手机号码等,后者包括:地理位置.手机相册.摄像头等.根据小程序现 ...
- 微信小程序获取用户唯一openid,包含java
1.首先WXML文件 <button type="primary" open-type="getUserInfo" lang="zh_CN&qu ...
- php获取微信小程序用户头像,微信小程序获取用户头像+昵称+openid,小程序登录!附前端后端源码!...
做一款小程序,如果需要判断用户,当然要获取一些基本信息,例如头像,昵称,openid.所以本次案例就直接上代码了. 小程序前端 index.wxml 获取头像昵称 {{userInfo.nickNam ...
- 微信小程序python解析获取用户手机号_微信小程序获取用户手机号
获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...
- 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...
- 微信小程序获取用户信息
微信小程序获取用户信息 微信小程序获取用户信息接口做了调整: 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像.昵称.性别与地区),将直接获 ...
- springboot 微信小程序获取用户手机号 最新方式
springboot 微信小程序获取用户手机号 直接开整!!! 现在有两种方式获取微信用户的手机号 第一种 这种方式比较旧了,也能获取到手机号,但不建议使用. 1.前端调用wx.login()(官方的 ...
- PHP 微信小程序获取用户信息
小程序授权应用场景:先拿到用户信息(先wx.login获取code,code换取用户session_key,再wx.getuserInfo获取到用户的encryptedData iv ,再通过调用官方 ...
最新文章
- python进程线程处理模块_python程序中的线程操作 concurrent模块使用详解
- python好学不-Python爬虫好学吗?
- 神经网络 | 基于脉冲耦合神经网络(PCNN)的图像特征提取(Matlab源代码)
- 中的实践 中兴_中兴通讯5G智慧治水业务在千岛湖畔下姜村成功实践
- pku 1321 棋盘问题 DFS
- linux 下的前端编程工具,Prepros Linux版(前端开发工具)
- .net ServiceStack.Redis 性能调优
- Linux-C 文件操作
- 爱普生690k打印针测试软件_打印机断针测试软件下载
- ssm 订单功能实现
- Zynga公布2019年第三季度财务业绩
- 【信管师-资料总结篇】一、立项管理
- 7-21 九宫格输入法 (15 分)
- HyperLynx中层叠设计实例
- BugkuCTF之web题之细心
- 更学教育:B2C和C2C电商模式究竟有何区别?
- mysql5.7.28下载安装_Windows下mysql-5.7.28下载、安装、配置教程
- amd显卡Linux闪屏,Mac 被曝运行 Win10 闪屏 苹果:可更新AMD显卡驱动、调整分辨率...
- 用jackson实现json和字符串直接的转换
- 我把废旧Android手机如何改造成Linux服务器