uniapp 微信登入+tp6 获取微信openid

20 篇文章 1 订阅
17 篇文章 0 订阅

 uniapp

login() {
    let _this = this;
    let user = uni.getStorageSync('user'); //读缓存
    if (user.openid == "" || user == '' || user == null) {
        uni.getUserProfile({
            desc: '获取微信用户的昵称与头像',
            success: function(resp) {
                let nickName = resp.userInfo.nickName;
                let avatarUrl = resp.userInfo.avatarUrl;
                _this.$http.http("POST", "/index/login/logins", {
                    'nickName': nickName,
                    'avatarUrl': avatarUrl,
                }).then(req => {
                    uni.setStorageSync('user', req.data.data); //存缓存
                })
            }
        });
        return false;
    } else {
		return true;
    }
}

 

 tp6

public function login(Request $request){
    $data = $request->param();
    $code = $data['code'];//前端过来的code
    $appid = "wx7954c09165006e62";
    $appSecret = "66a2bafa59cd61576d22acaaa795e25d";
    $url = "https://api.weixin.qq.com/sns/jscode2session"."?appid={$appid}&secret=       {$appSecret}&js_code={$code}&grant_type=authorization_code";
        $urlData = $this->curl_get($url);
        return json(['code'=>200, 'data'=>$urlData, 'message' => "操作成功"]);
    }
    /**
     * 发起get请求,向微信获得openid
     * */
public function curl_get($url){
    $getUrl = file_get_contents($url);
    $data = json_decode($getUrl, true);
    return $data;
}

    /**
     * 登录
     * */
public function logins(Request $request){
    $all = $request->param();
    $uset = User::where('openid',$all['openid'])->select();
    if(empty($uset[0]->id)){//空值才入库
        $user = new User();
        $user->openid = $all['openid'];
        $user->avatarUrl = $all['avatarUrl'];
        $user->nickName = $all['nickName'];
        $user->time = date("Y-m-d H:i:s",time());
        $user->save();
        $uset = User::where('openid',$all['openid'])->find();
    }
    return json(['code'=>200,'data'=>$uset,'message'=>'操作成功']);
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值