IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> php 之 微信小程序授权登录 -> 正文阅读

[移动开发]php 之 微信小程序授权登录

html

<button open-type="getUserInfo" bindtap="login">微信一键登录</button>

JS

login(){
    wx.getUserProfile({
      desc: 'desc',
      success:e=>{
        let wx_name = e.userInfo.nickName
        let wx_photo = e.userInfo.avatarUrl
        wx.login({
          success:d=>{
            let code = d.code
            wx.request({
              url: 'http://zy.com/index.php/api/wx_login',
              method:"POST",
              data:{code,wx_name,wx_photo},
              success:res=>{
                if(res.data.code==200){
                  wx.setStorageSync('token', res.data.token)
                  wx.navigateTo({
                    url: '/pages/index/index'
                  })
                  return false
                }
                wx.showToast({
                  title: res.data.msg,
                  icon:"error"
                })
              }
            })
          }
        })
      },
      fail:e=>{
        wx.showToast({
          title: "已拒绝",
        })
      }
    })
  },

PHP

public function wx_login(request $request){
        $wx_name = $request['wx_name'];
        $wx_photo = $request['wx_photo'];
        $code = $request['code'];
        $appid = config('wx.appid');
        $key = config('wx.key');
        $url = "https://api.weixin.qq.com/sns/jscode2session?appid=".$appid."&secret=".$key."&js_code=".$code."&grant_type=authorization_code";
        $wxInfo = file_get_contents($url,true);
        $wxInfo = json_decode($wxInfo,true);
        $openid = $wxInfo['openid'];
        $session_key = $wxInfo['session_key'];
        $select = WxUsers::where('openid','=',$openid)->first();
        if($select){
            $select->session_key = $session_key;
            $select->wx_name = $wx_name;
            $select->wx_photo = $wx_photo;
            $request = $select->save();
            $token = base64_encode($openid);
            if($request) return json_encode(['code'=>200,'msg'=>"登录成功",'token'=>$token]);
            return json_encode(['code'=>400,'msg'=>"登录失败"]);
        }
        $data = [
            'openid'=>$openid,
            'session_key'=>$session_key,
            'wx_name' => $wx_name,
            'wx_photo'=>$wx_name
        ];
        $create = WxUsers::insert($data);
        $token = base64_encode($openid);
        if($create) return json_encode(['code'=>200,'msg'=>"授权成功",'token'=>$token]);
        return json_encode(['code'=>400,'msg'=>"授权失败"]);
    }

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-26 08:57:51  更:2021-11-26 08:57:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:45:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码