最近想重新熟悉一下微信小程序的开发,所以整理了一下上年毕设的作品-蔚园园子,一个关于校园的综合服务平台。

软件开发第一步大都绕不开登录,微信小程序的登录的话,又稍微麻烦一些。其实微信提供的文档,里面有微信登录流程时序(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相关推荐

  1. 微信小程序获取用户唯一标识openid的若干个坑

    今天需要获取微信小程序用户唯一标识openid.一开始发现了前端是无法发起请求获取openid的,需要前端获取code后,把code传给后端,由后端获取,再把openid返回给前端.后端也是我一个人搞 ...

  2. 唯一标识 微信小程序_微信小程序获取用户唯一标识(不用授权)

    在做微信小程序开发时,根据应用的需要,可能会要求获得用户不同的信息和硬件设备不同的使用权限.前者比如:用户标识.头像.昵称.姓别.地址.手机号码等,后者包括:地理位置.手机相册.摄像头等.根据小程序现 ...

  3. 微信小程序获取用户唯一openid,包含java

    1.首先WXML文件 <button type="primary" open-type="getUserInfo" lang="zh_CN&qu ...

  4. php获取微信小程序用户头像,微信小程序获取用户头像+昵称+openid,小程序登录!附前端后端源码!...

    做一款小程序,如果需要判断用户,当然要获取一些基本信息,例如头像,昵称,openid.所以本次案例就直接上代码了. 小程序前端 index.wxml 获取头像昵称 {{userInfo.nickNam ...

  5. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号

    获取微信用户绑定的手机号,需先调用wx.login接口. 小程序获取code. 后台得到session_key,openid. 组件触发getPhoneNumber 因为需要用户主动触发才能发起获取手 ...

  6. 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ

    微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...

  7. 微信小程序获取用户信息

    微信小程序获取用户信息 微信小程序获取用户信息接口做了调整: 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像.昵称.性别与地区),将直接获 ...

  8. springboot 微信小程序获取用户手机号 最新方式

    springboot 微信小程序获取用户手机号 直接开整!!! 现在有两种方式获取微信用户的手机号 第一种 这种方式比较旧了,也能获取到手机号,但不建议使用. 1.前端调用wx.login()(官方的 ...

  9. PHP 微信小程序获取用户信息

    小程序授权应用场景:先拿到用户信息(先wx.login获取code,code换取用户session_key,再wx.getuserInfo获取到用户的encryptedData iv ,再通过调用官方 ...

最新文章

  1. python进程线程处理模块_python程序中的线程操作 concurrent模块使用详解
  2. python好学不-Python爬虫好学吗?
  3. 神经网络 | 基于脉冲耦合神经网络(PCNN)的图像特征提取(Matlab源代码)
  4. 中的实践 中兴_中兴通讯5G智慧治水业务在千岛湖畔下姜村成功实践
  5. pku 1321 棋盘问题 DFS
  6. linux 下的前端编程工具,Prepros Linux版(前端开发工具)
  7. .net ServiceStack.Redis 性能调优
  8. Linux-C 文件操作
  9. 爱普生690k打印针测试软件_打印机断针测试软件下载
  10. ssm 订单功能实现
  11. Zynga公布2019年第三季度财务业绩
  12. 【信管师-资料总结篇】一、立项管理
  13. 7-21 九宫格输入法 (15 分)
  14. HyperLynx中层叠设计实例
  15. BugkuCTF之web题之细心
  16. 更学教育:B2C和C2C电商模式究竟有何区别?
  17. mysql5.7.28下载安装_Windows下mysql-5.7.28下载、安装、配置教程
  18. amd显卡Linux闪屏,Mac 被曝运行 Win10 闪屏 苹果:可更新AMD显卡驱动、调整分辨率...
  19. 用jackson实现json和字符串直接的转换
  20. 我把废旧Android手机如何改造成Linux服务器

热门文章

  1. css 让div悬浮,css实现div悬浮不动效果
  2. 微信的信息会保存在苹果服务器上吗,【每日一技】如何将微信文件保存到 iPhone 里?...
  3. 几个小步骤教你线上使用浪潮webblos做raid---简单明了!
  4. Android 刘海屏全屏适配(沉溺式状态栏,隐藏状态栏)
  5. 计算机科学基础大熊猫,概率膜系统在大熊猫种群动态性建模中的应用
  6. CSS 实现好看的边框
  7. 伪静态与重定向--RewriteRule
  8. 零基础入门Cobra---kubernetes源码学习必备
  9. ROI 的优化,其实是场足球赛
  10. word表格插入多行