# PHP后端接口获取微信小程序Openid+用户登录信息入库#TP6#

本文介绍了如何使用PHP的TP6框架获取微信小程序的Openid并进行用户登录信息入库。步骤包括:通过getUserProfile接口获取用户信息,复制微信小程序的wxml和js代码,后端接收并处理请求。首次和再次登录的效果展示,并强调了appid的一致性以及配置注意事项。

# 获取微信小程序Openid+用户登录信息入库

1、微信开放平台 搜索getUserProfile(获取用户信息。页面产生点击事件)
在这里插入图片描述

2、往下滑有微信小程序wxml和js代码~直接复他mua的制!!

在这里插入图片描述
3、直接微信小程序看效果在这里插入图片描述在这里插入图片描述
4、Js页面直接输出发送后端请求
在这里插入图片描述
5、来到后端,这里我用的时TP6框架,直接看代码!!!

    public function openid(Request $request){
        $code = $request->get('code');  //接收code
        $nickname = $request->get('info'); //接收code(这里我用昵称做例子)
        $appid = '#appid# '; //openID 改成自己的openid
        $appSecret = '#appSecret# '; //appSecret 改成自己的appSecret
        $url = "https://api.weixin.qq.com/sns/jscode2session?appid=$appid&secret=$appSecret&js_code=$code&grant_type=authorization_code"; //
        //通过code换取页面授权access_token
        $weixin = file_get_contents($url);
        $jsondecode = json_decode($weixin);  //对JSON格式的字符串进行编码
        $array = get_object_vars($jsondecode); //转换成数组
        $openid = $array['openid']; //赋值给变量
        //拼接要入库的数组
        $data=[
            'openid'=>$openid,
            'nickName'=>$nickname,
        ];
        
        $table = Db::table('wxopenid')->where('openid',$openid)->find(); //查询数据库用户信息
        if ($table){ //如果为true,说明查到该数据,不是第一次登陆
            return json(['code'=>200,'msg'=>'登录成功','data'=>$data]);
        }
        //第一次登录
        if (Db::table('wxopenid')->insert($data)){
            return json(['code'=>200,'msg'=>'新用户登录成功','data'=>$data]);
        }else{
            return json(['code'=>201,'msg'=>'新用户登录失败','data'=>[]]);
        }
    }

6、返回小程序点击登录执行,看效果(第一次登录)

在这里插入图片描述在这里插入图片描述(数据库)
(第二次登录)
在这里插入图片描述(数据库)

在这里插入图片描述到此结束

7、!!注意!!
(1)
在这里插入图片描述微信小程序全局配置 文件 project.config,json里的appid要和自己微信开放平台的appid保持一致,否则报错

(2)
在这里插入图片描述

在这里插入图片描述
#就酱!很简单!因为我也是个刚开始小白,所以讲不出那么深奥的知识,写文章也是主要为了自己记笔记,如果碰巧的对你有帮助就点个赞!#

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值