首页 > 编程语言 >uniapp,微信小程序获取用户手机号

uniapp,微信小程序获取用户手机号

时间:2023-08-15 15:45:02浏览次数:25  
标签:uniapp code 手机号 res token 微信 config data

1.获取手机号的按钮

<button v-if="!mobile" class="btns" style="margin-top: -100rpx;" open-type="getPhoneNumber"
@getphonenumber="getPhoneNumber">授权手机号码</button>

2.获取手机号的函数getPhoneNumber()

getPhoneNumber(e) {
let _this = this;
var code = e.detail.code;
var token = '';
console.log('获取手机号', e);

uni.login({
provider: 'weixin',
success: function(loginRes) {
// code = loginRes.code;
// console.log(code,'code');

//获取token
app.globalData.util.request({
url: 'WechatUser/getToken',

success(res) {
token = res.data.data;
console.log('token', res.data.data)

//获取手机号
app.globalData.util.request({
url: 'WechatUser/getPhone',
data: {
access_token: token,
code: code,
u_id: uni.getStorageSync('u_id')
},
success(res2) {
console.log('手机号信息', res2)
_this.mobile = res2.data.data;
if (_this.mobile) {
let userinfo = uni.getStorageSync('uInfo');
userinfo.phone = _this.mobile;
uni.setStorageSync('uInfo', userinfo)
}
uni.showToast({
title: res2.data.msg,
icon: 'none'
})

}
}, true);


}
}, true);


},
});

},

3.php对应的获取token和手机号的接口

    public function getToken(){
$config = Config::get('config');

$appid = $config[0]['value'];
$secret = $config[1]['value'];
// $appid = '';
// $secret = '';

$api = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$secret}";
$res = curl_go($api);
$res = json_decode($res, true);
if ($res['access_token']) {
return $this->ajaxReturn($this->successCode, "操作成功", $res['access_token']);
}
return $this->ajaxReturn($this->errorCode, "操作失败", $res);
}

 4.获取手机号的接口

    //获取手机号
public function getPhone(){
$config = Config::get('config');

$appid = $config[0]['value'];
$secret = $config[1]['value'];

$param = $this->request->param();
if(!$param['access_token']) $this->error("access_token为空", $param);

$data = [
'code' => $param['code']
];

// $appid = '';
// $secret = '';
$api = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token={$param['access_token']}";
$res = curl_go($api,json_encode($data),'POST');
$res = json_decode($res,true);

if(isset($res['phone_info']['phoneNumber'])){
//将手机号存入数据库
\think\facade\Db::name("wechat_user")->where("u_id", $param["u_id"])->update(['phone' => $res['phone_info']['phoneNumber']]);
}

return $this->ajaxReturn($this->successCode, "操作成功", $res['phone_info']['phoneNumber']);
}

5.将获取的手机号返回给小程序

 

 

标签:uniapp,code,手机号,res,token,微信,config,data
From: https://www.cnblogs.com/youantianqin/p/17631440.html

相关文章

  • uniapp上拉加载下拉刷新
    page.json配置 {   "path":"pages/my/index",   "style":{    "enablePullDownRefresh":true,//关键    "onReachBottomDistance":50,关键    "app-plus":{     "pullToRef......
  • 短说通用版4.0.0测试版发布|新增企业微信推送、公众号群发助手等功能
    Hi大家好,我是给你们带来惊喜的运营小番茄。本期更新为短说通用版4.0.0测试版。本次V4.0.0版本主要更新的功能有企业微信消息推送功能、版主@版块全员功能、公众号群发助手模块、链接内容自动识别、付费版块可设置免付费用户组等,以及对其他已有功能进行了优化。涉及版本:短说通用版......
  • 微信开发之一键退出群聊的技术实现
    简要描述:退出群聊请求URL:http://域名地址/quitChatRoom请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识chatRoomId是string群id返回数据:参数名类型说明codestring1000成功,1001失败msgstring反馈信......
  • 基于微信小程序的微海商城设计与实现-计算机毕业设计源码+LW文档
    摘 要随着互联网技术的发展,传统的商品销售迎来了机遇,我国是个人口大国,商品的需求量大,如何推广商品的销售是企业非常关注的事情。随着电子商务多元化的发展,各种类型的商品逐渐转移到线上销售。在互联网的帮助下,带动企业打开销路,促进商品销售的可持续发展。同时,通过基于微信小程......
  • 基于微信小程序的房屋租赁小程序设计与实现-计算机毕业设计源码+LW文档
    摘要随着计算机技术的不断发展,有效地促进了社会各行业的进步,信息化逐渐运用到人们的生活中。传统模式的房屋租赁管理满足不了现代人的生活追求、服务质量和服务速度。使用管理系统进行管理,成本大大减小,同时可借助互联网强大的流量入口,使得推广的难度也大大降低。因此设计一个管理......
  • 基于微信小程序的居民疫情服务系统-计算机毕业设计源码+LW文档
    摘 要新冠病毒传播迅速,已经严重影响了人类生命安全,防控手段成为大众关注的重点。另外,随着目前信息化手段的进步,使用技术手段可以有效的对新冠疫情进行防控管理。在社区,人员多,出入流动性大,如果单靠人工进行管理,很难进行有效的统计。为此提出开发基于微信小程序的居民疫情服务系统......
  • 微信ipad协议8.0.40 加好友功能
    友情链接:geweapi.com点击即可访问!好友请求验证小提示:v_3 v_4可以参考搜索接口请求URL:http://域名地址/api/contacts/verifyuser请求方式:POST请求头:Content-Type:application/jsonX-GEWE-TOKEN:后台获取参数:参数名必填数据类型说明appid是string设备idconfig否object其他配置......
  • 微信开发之一键退出群聊的技术实现
    简要描述:退出群聊请求URL:http://域名地址/quitChatRoom请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识chatRoomId是string群id返回数据:参数名类型说明......
  • 微信开发之一键扫码佳群的技术实现
    好友将群码发送给机器人,机器人调用本接口将自动识别群请求URL:http://域名地址/scanJoinRoom请求方式:POST请求头Headers:Content-Type:application/jsonAuthorization:login接口返回参数:参数名必选类型说明wId是string登录实例标识url是string群码url(群码解析后的url)type否int操作类型,......
  • 用uniapp开发打包多端应用完整指南
    一、uni-app项目介绍用uni-app开发多端项目,一套代码可同时打包出各端小程序、h5和app,uni-app支持通过HBuilderX可视化界面和vue-cli命令行两种方式创建项目,下面示例项目采用HBuilderX可视化界面的方式创建,cli项目可参考uni文档,大部分流程都是通用的。项目结构:├──common......