tp6 加 微信小程序获取opendid (附带源代码)
2021/6/2 14:21:11
本文主要是介绍tp6 加 微信小程序获取opendid (附带源代码),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
微信开发者工具近期调整了 微信授权登录 那么新版的授权登录该怎么写?
微信小程序页面
<button bind:tap="getUserProfile">授权</button>
微信小程序js代码
Page({
/**
* 页面的初始数据
*/
data: {
userInfo: {},
hasUserInfo: false,
avatarUrl: '',
nickname: '',
},
getUserProfile(e) {
wx.getUserProfile({
desc: '用于完善用户信息',
success: (res) => {
// console.log(res.userInfo)
// 获取code码
this.setData({
userInfo: res.userInfo,
nick_name: res.userInfo.nickName,
avatarUrl: res.userInfo.avatarUrl,
hasUserInfo: true
})
wx.login({
success: (res) => {
let code = res.code;
var userInfo = this.data.userInfo
var nickname = this.data.nick_name
var url = this.data.avatarUrl
// console.log(nickname);
if (code) {
wx.request({
url: 'http://www.gj.com/Api', //开发者服务器接口地址",
data: {
code: code,
nickname: nickname,
url: url
}, //请求的参数",
method: 'POST',
dataType: 'json', //如果设为json,会尝试对返回
success: res => {
console.log(res.data.data);
if (res.data.code == 200) {
wx.setStorageSync('token', res.data.data, 7200 - 60);
wx.switchTab({
url: '/pages/one/one'
})//登录成功跳转底部选项卡我的页面
}
},
});
}
}
})
},
})
},
})
后台接口代码
public function save()
{
// 接值
$data = input();
//调用封装的小程序请求
$result = getWx($data);
// 拼接需要添加搭配用户表的数据
$addUser['session_key'] = $result['session_key'];
$addUser['openid'] = $result['openid'];
$addUser['name_nick']=$data['nickname'];
$addUser['url'] = $data['url'];
// 根据opecID 查看用户表是否有这个用户
$userRes = UserModel::getOneUserData($addUser['openid']);
//没有用户 添加用户信息到数据库
if (!isset($userRes['u_id'])) {
$addUserRes = UserModel::addUser($addUser);
}
// 生成token 返回小程序
$token = md5($addUser['openid']);
// 将token 存入session
session($token,$addUser);
return json(['code'=>200,'msg'=>'登录成功','data'=>$token]);
}
封装的小程序请求
<?php
// 应用公共文件
function getWx($data)
{
$APPID = "你的小程序APPID ";
$SECRET = "你的SECRET ";
// 拼接url
$url = "https://api.weixin.qq.com/sns/jscode2session?appid={$APPID}&secret={$SECRET}&js_code={$data['code']}&grant_type=authorization_code";
$curl = curl_init(); // 启动一个CURL会话
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
$tmpInfo = curl_exec($curl); //返回api的json对象
//关闭URL请求
curl_close($curl);
$result = json_decode($tmpInfo, true);
return $result;
}
这篇关于tp6 加 微信小程序获取opendid (附带源代码)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22微信小程序的接口信息py可以抓到吗?-icode9专业技术文章分享
- 2024-11-22怎样解析出微信小程序二维码带的参数?-icode9专业技术文章分享
- 2024-11-22微信小程序二维码怎样解析成链接?-icode9专业技术文章分享
- 2024-11-22微信小程序接口地址的域名需要怎么设置?-icode9专业技术文章分享
- 2024-11-22微信小程序的业务域名有什么作用-icode9专业技术文章分享
- 2024-11-22微信小程序 image有类似html5的onload吗?-icode9专业技术文章分享
- 2024-11-22微信小程序中怎么实现文本内容超出行数后显示省略号?-icode9专业技术文章分享
- 2024-11-22微信小程序怎么实现分享样式定制和图片定制功能?-icode9专业技术文章分享
- 2024-11-20微信小程序全栈教程:从零开始的全攻略
- 2024-11-19微信小程序全栈学习:从零开始的完整指南