微信小程序开发之用户登录-获取用户唯一标识OpenID
2021/7/2 14:23:31
本文主要是介绍微信小程序开发之用户登录-获取用户唯一标识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: '', method: 'GET', data: { code: res.code }, success(res) { // console.log(res) } }) } else { console.log('登录失败!' + res.errMsg) } } }) }
服务端:
const APP_ID = 'wx9eef2eabcbbc999d'; // 小程序 appId const APP_SECRET = '01c10cd28040f7360cf675b9c3d18eb4'; // 小程序 appSecret const GRANT_TYPE = 'authorization_code'; // 登录时获取的 code const 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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-13微信小程序如何封装接口域名?-icode9专业技术文章分享
- 2024-11-13如何在微信小程序中实现直传功能?-icode9专业技术文章分享
- 2024-11-13如何在小程序的地图组件中添加标记和文字?-icode9专业技术文章分享
- 2024-11-13在微信小程序的地图组件中如何实现自定义标记和气泡?-icode9专业技术文章分享
- 2024-11-01微信小程序教程:零基础入门到实战
- 2024-11-01微信小程序全栈教程:从入门到实践
- 2024-10-31微信小程序怎么实现关注公众号功能-icode9专业技术文章分享
- 2024-10-30微信小程序cover-view,支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序的cover-image支持bindtap吗-icode9专业技术文章分享
- 2024-10-30微信小程序web-view怎么设置高度?-icode9专业技术文章分享