微信小程序一直保持登陆状态

Posted 张永峰的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序一直保持登陆状态相关的知识,希望对你有一定的参考价值。

把标记红色的备注修改即可

 

 

 

JS文件:(可以放在app.js中)

// 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        wx.request({
          url: "http://127.0.0.7/api/Login/login",  //修改请求地址
          data: { code: res.code },
          header: {
            ‘content-type‘: ‘application/json‘
          },
          method: "GET",
          success(res) {
            wx.request({
              url: that.link + "Login/setuser",
              data: {
                openid: res.data.openid
              },
              header: {
                ‘content-type‘: ‘application/json‘
              },
              success(res) {
          //如果有该用户,把用户信息放到公共数组中
if (res.data){ that.globalData.userInfo = res.data  //红色的可以更改为别的数组,需要先定义 } }, }) }, }) } })

 

 php文件:(红色标记为申请的小程序后台中,开发中有appid和secret)

/*获取用户唯一标识*/
    public function login(){
        $code=Request::param(‘code‘);
        $url="https://api.weixin.qq.com/sns/jscode2session?appid=wx69b37be5******&secret=b6ed8d48484522da769******&js_code=".$code."&grant_type=authorization_cod";
        $token = json_decode($this->curl_get($url));
        return json($token);
    }

  /*这里是把openid发送过来,查找数据库中有没有该用户信息,如果没有就添加该用户信息,有就读取用户信息*/
/*是否有用户信息*/ public function setuser(){ $data=Request::param(); $user=User::where(‘account‘,$data[‘openid‘])->find();
     if(!$user){
       /*以下写需要添加用户信息的逻辑*/
     }else{
      return json($user);
     }
}/*往微信发送信息,获取唯一标识 后台调用 避免暴露 信息*/ function curl_get($url,&$httpCode = 0){ $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); /*不做证书效验,部署在linux环境下请改为true*/ curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10); $file_contents = curl_exec($ch); $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE); curl_close($ch); return $file_contents; }

以上是关于微信小程序一直保持登陆状态的主要内容,如果未能解决你的问题,请参考以下文章

为啥微信小程序登陆的时候一直是请稍后,网络没问题就是登陆不上去?

微信小程序实现微信登陆(TP5后端)

微信小程序代码片段

微信小程序代码片段分享

【微信小程序】获取当前网络状态,监测网络变化

微信小程序本地缓存保持登录状态之 wx.setStorageSync() 使用技巧