1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微信小程序获取用户唯一标识OpenID

微信小程序获取用户唯一标识OpenID

时间:2023-10-08 19:10:16

相关推荐

微信小程序获取用户唯一标识OpenID

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

软件开发第一步大都绕不开登录,微信小程序的登录的话,又稍微麻烦一些。其实微信提供的文档,里面有微信登录流程时序(https://developers./miniprogram/dev/framework/open-ability/login.html),按照这个流程走的话,还是比较简单的。

大体思路是用户进入小程序后,通过wx.login获取到用户的临时登录凭证code,在回调方法中调用服务端提供的接口,需要把code带过去。

服务端处理的话,首先是获取客户端传过来的code值,然后调用微信提供的接口:https://api./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./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;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。