wxml

<!--前台页面,通过判断决定展示登录还是信息-->
<view wx:if="{{isHide}}"><view wx:if="{{canIUse}}" ><view class='header'><image src='/image/hhh.jpg'></image></view><view class='content'><view>申请获取以下权限</view><text>获得你的公开信息(昵称,头像等)</text></view><button class='bottom' type='primary' open-type="getUserInfo" bindtap="login">授权登录</button></view><view wx:else>请升级微信版本</view>
</view><view wx:else><view>我的首页内容</view>
</view>

wxss

.header {margin: 90rpx 0 90rpx 50rpx;border-bottom: 1px solid #ccc;text-align: center;width: 650rpx;height: 300rpx;line-height: 450rpx;
}.header image {width: 200rpx;height: 200rpx;
}.content {margin-left: 50rpx;margin-bottom: 90rpx;
}.content text {display: block;color: #9d9d9d;margin-top: 40rpx;
}.bottom {border-radius: 80rpx;margin: 70rpx 50rpx;font-size: 35rpx;
}

js

// index.js
// 获取应用实例
const app = getApp()Page({data: {canIUse: wx.canIUse('button.open-type.getUserInfo'),// 前台判断用的就是这个isHide: true},//点击事件login(){var _this=this;wx.getUserProfile({desc: 'desc',success: (res)=>{//点击允许后获取微信昵称与微信头像var nickName=res.userInfo.nickName;var log=res.userInfo.avatarUrl;wx.login({success:function(e){//请求成功后获取你的code值var code=e.code;wx.request({//请求后台url: 'http://www.day12.com/home/Login/loginInfo',//传code、nickName、logdata: {code:code,nickName:nickName,log:log},header:{'content-type':'application/x-www-form-urlencoded'},success: function(arr){//判断后台请求成功后if(arr.data.code==200){//将返回的ID值存入缓存中wx.setStorageSync('id', arr.data.id)//弹框提示wx.showToast({title: arr.data.msg,icon: 'success'})//修改isHide值,以便于前台的判断展示_this.setData({isHide:false})}}})}})},fail:(res)=>{//点击拒绝后弹框提示wx.showToast({title: '授权登录失败',icon: 'error'})}})}
})

php

public function loginInfo(){
//        接收前台传来的值$code=input('code');$nickName=input('nickName');$log=input('log');
//        判断是否为空if (empty($code)||empty($nickName)||empty($log)){return json(['code'=>1,'data'=>'','mag'=>'参数不正确']);}//        在config中封装的,封装样式如下(这个码用你自己的微信扫描后会出现) 网址:https://mp.weixin.qq.com/
//        return [
//            'appID'=>'',
//            'AppSecret'=>''
//        ];$appID=config('appID');$appSecret=config('AppSecret');//        请求地址$url="https://api.weixin.qq.com/sns/jscode2session?appid=".$appID."&secret=".$appSecret."&js_code=".$code."&grant_type=authorization_code";
//        getUrl是在common中封装的,封装样式如下
//        function getUrl($url){
//            $ch = curl_init();
//            curl_setopt($ch, CURLOPT_URL, $url);
//            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
//            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//            $output = curl_exec($ch);
//            curl_close($ch);
//            $output = json_decode($output,true);
//            return $output;
//        }$res=getUrl($url);//        调用成功后定义一个新的数组,最主要的session_key和openid两个值$arr=['nickName'=>$nickName,'log'=>$log,'session_key'=>$res['session_key'],'openid'=>$res['openid'],'code'=>$code];//        new一个模型$model=new User();
//        根据openid查询一条数据$item=$model->where('openid',$res['openid'])->find();
//        如果有就修改session_key这个字段,如果没有就新添加一条数据if ($item){$data=$model->where('openid',$res['openid'])->update(['session_key'=>$res['session_key']]);}else{$data=$model->insert($arr);}
//        返回主键IDreturn json(['code'=>200,'id'=>$item['id'],'msg'=>'登录成功']);}

微信小程序 php 手机授权登录相关推荐

  1. 微信小程序云开发用户身份登录_微信小程序开发用户授权登录(下)

    如果开发者拥有多个移动应用.网站应用.和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用.网站应用和公众帐号(包括小程序),用户的 Un ...

  2. 微信小程序:用户授权登录

    点击"微信一键登录"按钮,触发login_weixi事件 先查看是否勾选了底部按钮,勾选了就获取用户信息,每次请求成功都会弹出授权窗口,把用户信息缓存到storage里面,方便下次 ...

  3. 微信小程序入门之授权登录

    微信小程序 一.实现微信小程序授权登录 微信小程序每次获得用户的信息时需要授权登录,下面的代码可以实现以下功能 Page({data: {nickName:''},dianji(){console.l ...

  4. 微信小程序判断是否授权登录(未登录出现弹窗跳转登录页面)

    目录 API 代码实现 API 获取用户当前设置 wx.getSetting:微信官方文档 获取用户信息 wx.getUserInfo:微信官方文档 微信小程序弹窗 wx.showToast:微信官方 ...

  5. 2023年微信小程序获取手机号授权登录注册详细教程,包含服务端教程

    前言 小程序中有很多地方都会用到用户的手机号,比如登陆注册,填写收货地址等等.有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 网上大多数教程还是往年的,而微信官方的api已做了修改.本篇文章 ...

  6. 微信小程序获取手机号授权登录

    小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPhoneNumber这个组件通过button来实现(别的标签无 ...

  7. 微信授权绑定手机号 java_微信小程序获取手机号授权用户登录功能

    小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPhoneNumber这个组件通过button来实现(别的标签无 ...

  8. php 微信小程序获取手机号_实例讲解微信小程序获取手机号授权用户登录功能...

    小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写.本文主要给大家分享微信小程序获取手机号授权用户登录功能,需要的朋友参考下吧, ...

  9. java实现微信、手机号登陆_微信小程序获取手机号授权用户登录功能

    小程序中有很多地方都会用到注册用户信息的地方,用户需要填写手机号等,有了这个组件可以快速获取微信绑定手机号码,无须用户填写. 1.getPaDirIrkFhoneNumber这个组件通过button来 ...

最新文章

  1. ORACLE约束总结
  2. otto android,Albert otto
  3. 里工实业:用宜搭自主搭建MES系统,实现生产全流程管理
  4. IntelliJ IDEA 2019从入门到癫狂 图文教程
  5. POJ1459-Power Network
  6. 术中导航_密码术中的计数器(CTR)模式
  7. python文件打开的合法方式-用python与文件进行交互的方法
  8. 小米两款狠家伙来了:最便宜的5G手机和19999元的5G环绕屏手机!
  9. 一些简单的MyEclipse快捷键操作
  10. 让Apache日志不记录图片等指定扩展名文件的设置方法
  11. 小技巧:机械键盘使用技巧
  12. 计算机教室教师的业务档案,教师业务档案管理制度
  13. 题解 CF38C 【Blinds】
  14. 你不知道的javascript读书笔记
  15. 点击图片放大,实现移动端双指缩放,单指拖拽功能
  16. Web端H.265播放器研发解密 1
  17. SuperMap WebGL三维包加载3dtiles数据
  18. 有时候我们停下来是为了走的更远
  19. DIY-BETAFPV和DIY(ESP-01F+E19-900M20S2模块)915MHz信号测试对比
  20. mysql sql语句中变量_mysql-sql语句中变量的使用

热门文章

  1. 开年福利!微服务前后端开发手册,打造完美全栈工程师
  2. ChatGPT的前世今生
  3. 阿龙的学习笔记---CMake指定C++版本
  4. D3D9 HOOK [透视原理]
  5. 2021秋软工实践个人作业一
  6. AS 把鼠标放在targetSdkVersion xx下边红波浪线提示:Google Play requires that apps target API level 31 or higher.
  7. 研讨班管理系统的设计与实现【数据库课设】
  8. Java学习者看过来。。。这些优质项目千万别错过
  9. 2021-10-21《能源与节能》能源环保省级期刊
  10. Python基础知识笔记——补充