成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Laravel 微信小程序后端實(shí)現(xiàn)用戶登錄的示例代碼

Laravel 微信小程序后端實(shí)現(xiàn)用戶登錄的示例代碼

熱門標(biāo)簽:泊頭在哪里辦理400電話 江門回?fù)芡夂粝到y(tǒng) 江西電銷機(jī)器人收費(fèi) 高德地圖標(biāo)注位置怎么標(biāo)注 電銷機(jī)器人沒(méi)有效果怎么樣 天潤(rùn)融通外呼系統(tǒng)好嗎 杭州語(yǔ)音電銷機(jī)器人 欣思維地圖標(biāo)注 高德地圖標(biāo)注店鋪收費(fèi)嗎

接上篇微信小程序后端搭建:分享:Laravel 微信小程序后端搭建

后端搭建好后第一件事就是用戶登錄認(rèn)證,簡(jiǎn)單實(shí)現(xiàn)微信小程序登錄認(rèn)證

1.user 模型

use Laravel\Passport\HasApiTokens; 新增

use HasApiTokens, Notifiable;

protected $fillable = [
 'id',
 'name',
 'email',
 'email_verified_at',
 'username',
 'phone',
 'avatar',//我用來(lái)把微信頭像的/0清晰圖片,存到又拍云上
 'weapp_openid',
 'nickname',
 'weapp_avatar',
 'country',
 'province',
 'city',
 'language',
 'location',
 'gender',
 'level',//用戶等級(jí)
 'is_admin',//is管理員
];

2. 新增一條路由

//前端小程序拿到的地址:https://域名/api/v1/自己寫的接口
Route::group(['prefix' => '/v1'], function () {
  Route::post('/user/login', 'UserController@weappLogin');
});

3. 在 UserController 控制器里新建 function weappLogin (),別忘了 use 這些

use App\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;

寫兩個(gè) function weappLogin (),avatarUpyun ()

public function weappLogin(Request $request)
  {
    $code = $request->code;
    // 根據(jù) code 獲取微信 openid 和 session_key
    $miniProgram = \EasyWeChat::miniProgram();
    $data = $miniProgram->auth->session($code);
    if (isset($data['errcode'])) {
      return $this->response->errorUnauthorized('code已過(guò)期或不正確');
    }
    $weappOpenid = $data['openid'];
    $weixinSessionKey = $data['session_key'];
    $nickname = $request->nickname;
    $avatar = str_replace('/132', '/0', $request->avatar);//拿到分辨率高點(diǎn)的頭像
    $country = $request->country?$request->country:'';
    $province = $request->province?$request->province:'';
    $city = $request->city?$request->city:'';
    $gender = $request->gender == '1' ? '1' : '2';//沒(méi)傳過(guò)性別的就默認(rèn)女的吧,體驗(yàn)好些
    $language = $request->language?$request->language:'';

    //找到 openid 對(duì)應(yīng)的用戶
    $user = User::where('weapp_openid', $weappOpenid)->first();
    //沒(méi)有,就注冊(cè)一個(gè)用戶
    if (!$user) {
      $user = User::create([
        'weapp_openid' => $weappOpenid,
        'weapp_session_key' => $weixinSessionKey,
        'password' => $weixinSessionKey,
        'avatar' => $request->avatar?$this->avatarUpyun($avatar):'',
        'weapp_avatar' => $avatar,
        'nickname' => $nickname,
        'country' => $country,
        'province' => $province,
        'city' => $city,
        'gender' => $gender,
        'language' => $language,
      ]);
    }
    //如果注冊(cè)過(guò)的,就更新下下面的信息
    $attributes['updated_at'] = now();
    $attributes['weixin_session_key'] = $weixinSessionKey;
    $attributes['weapp_avatar'] = $avatar;
    if ($nickname) {
      $attributes['nickname'] = $nickname;
    }
    if ($request->gender) {
      $attributes['gender'] = $gender;
    }
    // 更新用戶數(shù)據(jù)
    $user->update($attributes);
    // 直接創(chuàng)建token并設(shè)置有效期
    $createToken = $user->createToken($user->weapp_openid);
    $createToken->token->expires_at = Carbon::now()->addDays(30);
    $createToken->token->save();
    $token = $createToken->accessToken;

    return response()->json([
      'access_token' => $token,
      'token_type' => "Bearer",
      'expires_in' => Carbon::now()->addDays(30),
      'data' => $user,
    ], 200);
  }

  //我保存到又拍云了,版權(quán)歸騰訊所有。。。頭條鬧的
  private function avatarUpyun($avatar)
  {
    $avatarfile = file_get_contents($avatar);
    $filename = 'avatars/' . uniqid() . '.png';//微信的頭像鏈接我也不知道怎么獲取后綴,直接保存成png的了
    Storage::disk('upyun')->write($filename, $avatarfile);
    $wexinavatar = config('filesystems.disks.upyun.protocol') . '://' . config('filesystems.disks.upyun.domain') . '/' . $filename;
    return $wexinavatar;//返回鏈接地址
  }

微信的頭像 / 0

小頭像默認(rèn) / 132

4. 后端上面就寫好了,再看下小程序端怎么做的哈,打開小程序的 app.json,添加 "pages/auth/auth",

{
 "pages": [
  "pages/index/index",
  "pages/auth/auth",//做一個(gè)登錄頁(yè)面
  "pages/logs/logs"
 ],
 "window": {
  "backgroundTextStyle": "light",
  "navigationBarBackgroundColor": "#fff",
  "navigationBarTitleText": "WeChat",
  "navigationBarTextStyle": "black"
 },
 "sitemapLocation": "sitemap.json",
 "permission": {
  "scope.userLocation": {
   "desc": "你的位置信息將用于小程序位置接口的效果展示"
  }
 }
}

5. 打開 auth.js

const app = getApp();
Page({
 /**
  * 頁(yè)面的初始數(shù)據(jù)
  */
 data: {
  UserData: [],
  isClick: false,
 },
 /**
  * 生命周期函數(shù)--監(jiān)聽頁(yè)面加載
  */
 onLoad: function(options) {

 },
 login: function(e) {
  let that=this
  that.setData({
   isClick: true
  })
  wx.getUserInfo({
   lang: "zh_CN",
   success: response => {
    wx.login({
     success: res => {
      let data = {
       code:res.code,
       nickname: response.userInfo.nickName,
       avatar: response.userInfo.avatarUrl,
       country: response.userInfo.country ? response.userInfo.country : '',
       province: response.userInfo.province ? response.userInfo.province : '',
       city: response.userInfo.city ? response.userInfo.city : '',
       gender: response.userInfo.gender ? response.userInfo.gender : '',
       language: response.userInfo.language ? response.userInfo.language : '',
      }
      console.log(data)
      app.globalData.userInfo = data;
      wx.request({
       url: '你的后端地址',//我用的valet,http://ak.name/api/v1/user/login
       method: 'POST',
       data: data,
       header: {
        'Content-Type': 'application/x-www-form-urlencoded'
       },
       success: function (res) {
        console.log(res)
        if (res.statusCode != '200') {
         return false;
        }
        wx.setStorageSync('access_token', res.data.access_token)
        wx.setStorageSync('UserData', res.data.data ? res.data.data : '')
        wx.redirectTo({
         url: '/pages/index/index',
        })
       },
       fail: function (e) {
        wx.showToast({
         title: '服務(wù)器錯(cuò)誤',
         duration: 2000
        });
        that.setData({
         isClick: false
        })
       },
      });
     }
    })
   },
   fail: function (e) {
    that.setData({
     isClick: false
    })
   },
  })

 }
})

6. 打開 auth.wxml

view class='padding-xl'>
 button class='cu-btn margin-top bg-green shadow lg block' open-type="getUserInfo" bindgetuserinfo="login" disabled="{{isClick}}" type='success'>
  text wx:if="{{isClick}}" class='cuIcon-loading2 iconfont-spin'>/text> 微信登錄/button>
/view>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • laravel 解決強(qiáng)制跳轉(zhuǎn) https的問(wèn)題
  • Laravel重定向,a鏈接跳轉(zhuǎn),控制器跳轉(zhuǎn)示例
  • Laravel 5.4重新登錄實(shí)現(xiàn)跳轉(zhuǎn)到登錄前頁(yè)面的原理和方法
  • laravel利用中間件防止未登錄用戶直接訪問(wèn)后臺(tái)的方法
  • Laravel 自帶的Auth驗(yàn)證登錄方法
  • Laravel實(shí)現(xiàn)登錄跳轉(zhuǎn)功能

標(biāo)簽:深圳 內(nèi)江 駐馬店 雙鴨山 江門 石嘴山 大同

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel 微信小程序后端實(shí)現(xiàn)用戶登錄的示例代碼》,本文關(guān)鍵詞  Laravel,微信,小,程序,后端,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel 微信小程序后端實(shí)現(xiàn)用戶登錄的示例代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Laravel 微信小程序后端實(shí)現(xiàn)用戶登錄的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    成人精品三级| 成人性生交大片免费观看嘿嘿视频| 欧美成熟视频| 性欧美1819sex性高清| 国产福利91精品一区二区三区| 国产成人av在线播放| 9久草视频在线视频精品| 九九热在线视频免费观看| 啄木系列成人av电影| 成在在线免费视频| http;//www.99re视频| 日本少妇xxxxx| 2019中文字幕视频| 日本中文字幕亚洲| 在线视频日韩一区| 精品久久久久久中文字幕人妻最新| 夜鲁夜鲁夜鲁视频在线播放| 久久久久亚洲av成人片| 老熟妻内射精品一区| 久久国产精品影视| 免费在线看v| 日韩一区二区精品| 久久久国产精品麻豆| 亚洲高清在线精品| 欧美在线一二三区| 国产精品乱码一区二区视频| 欧美日韩国内自拍| 亚洲精品中文字幕在线| 日本55丰满熟妇厨房伦| 性一交一乱一伦一色一情| 久热在线中文字幕色999舞| 中文字幕第315页| 亚洲色图 校园春色| 一级片视频免费看| 激情五月婷婷六月| 日韩欧美有码在线| 一级特黄曰皮片视频| 国产jzjzjz丝袜老师水多| 成人精品水蜜桃| 台湾亚洲精品一区二区tv| 四虎1515hh.com| 亚洲欧美精品在线| 亚洲在线视频网站| 天天看天天操| 美女免费黄色| 91日韩精品一区| 欧美日韩午夜| 在线不卡一区| 九九九久久久久久久| 99亚洲男女激情在线观看| 日韩一区二区三区精品视频第3页| 亚洲一区二区免费在线| 国产在线视频在线| 国产精自产拍久久久久久| 三年片免费观看大全| 成a人片在线观看| 精品久久久久久中文字幕动漫| 青青视频在线免费观看| 又色又爽又高潮免费视频国产| 激情影院在线观看| 日韩中文第一页| 九色综合婷婷综合| 三级黄色片播放| 国产欧美日韩麻豆91| 久久久久久9| 国产欧美一区二区三区米奇| 亚洲国产成人私人影院tom| 在线一区二区观看| 久久九九全国免费| 欧洲av一区二区三区| 久久99亚洲精品| 久久99精品一区二区三区| 丰满熟女人妻一区二区三| 欧美日本黄色| 免费男同深夜夜行网站| 欧美一级夜夜爽| 亚洲 自拍 另类小说综合图区| 无码人妻丰满熟妇区毛片| 国产一区二区三区综合| 欧美日韩午夜| 日韩一区日韩二区| 国产精品一区在线| 国产欧美日韩成人| 9人人澡人人爽人人精品| 3atv在线一区二区三区| 亚洲免费av网站| 久久国产三级| 99精品视频免费观看视频| 国外男同性恋在线看| 国产精品青草久久久久福利99| 欧美一区永久视频免费观看| 在线观看一区欧美| 亚洲三级理论片| 中文字幕第一区第二区| 极品美女一区| 肥臀熟女一区二区三区| 国模无码国产精品视频| 黄色免费电影网站| 五月综合激情婷婷六月色窝| 日韩精品在线电影| 日韩理论片网站| 有码中文亚洲精品| 51精品国产人成在线观看| 亚洲国产精品二十页| 国产免费一区二区| 免费不卡在线观看av| 国产一区二区三区四区五区六区| 四虎永久在线精品免费网址| 91av资源在线| 欧美精品国产白浆久久久久| 免费成人美女在线观看.| 97超碰人人草| 欧美一级在线免费| 国产精品久久免费| 日韩视频精品在线| 国产在线视频精品视频免费看| 91精品一区二区| 亚洲综合区在线| 久久精品aaaaaa毛片| 久久久久久久久久久久久久久久久久av| 一区二区三区免费网站| 国产成人亚洲综合a∨猫咪| 2018中文字幕在线观看| 国产一区二区不卡在线| 欧美夫妇交换xxx| 3344国产精品免费看| 啊v视频在线一区二区三区| 日韩精品一区二区三区视频在线观看| 少妇欧美激情一区二区三区| 在线观看麻豆蜜桃| 国产精品丝袜一区| 日韩av在线综合| 黄色一区二区视频| 欧美激情综合五月色丁香小说| 国产精品sss| 久久久精品免费| 国产一区二三区好的| 欧美一区日本一区韩国一区| 午夜电影久久久| 精品国产黄色片| 国产亚洲欧美日韩在线一区| 日本中文字幕一区| 欧美大片在线观看一区二区| 欧洲生活片亚洲生活在线观看| 亚洲国产欧美在线| 午夜精品国产精品大乳美女| 97伦伦午夜电影理伦片| 91精品久久香蕉国产线看观看| 最新国产拍偷乱拍精品| 成人av电影观看| 国产成人综合亚洲欧美在| 国产精品偷伦视频免费观看国产| 久久亚洲国产精品一区二区| av网站大全免费| 五十路亲子中出在线观看| www.26天天久久天堂| 在线观看国产免费视频| 2020欧美日韩在线视频| 中文字幕日本乱码精品影院| 夜色77av精品影院| 男女爱爱视频网站| 一区视频二区视频| 4438全国亚洲精品观看视频| 国内精品露脸在线视频播放| 777一区二区| 黄色在线免费观看大全| 亚洲 欧美 日韩 在线| 亚洲成a人在线观看| china中国猛gary| 在线观看黄色av网站| 亚洲最大福利视频| 制服丝袜av成人在线看| 欧美综合在线视频| 91嫩草在线视频| 性xxxx18| 一本色道久久综合狠狠躁的推荐| 国产精品九九| 成人ww免费完整版在线观看| 精品国产乱码久久久久久蜜坠欲下| 国产亚洲一区二区在线观看| 伊人久久在线观看| 久久久久九九九| 亚洲成色在线综合网站2018站| 热99这里只有精品| 日日干天天干| 瑟瑟视频在线看| 91精品xxx在线观看| 久久精品二区| 在线成人免费观看| 国产美女视频一区二区三区| 中文字幕有码av| 婷婷在线免费视频| 亚洲一卡2卡三卡4卡2021四卡| 亚洲免费电影一区| 免费黄色网址网站| 亚洲人久久久| 懂色av粉嫩av蜜臀av| 日韩中文娱乐网| 中文字幕国产精品一区二区| 日韩欧美一区二| 亚洲视频在线观看日本a| 国产1区2区3区| 高潮久久久久久久久久久久久久| 在线观看国产区| 91精品婷婷色在线观看| 欧美人交a欧美精品| 老司机av网站| 国产传媒视频在线观看| 国模吧一区二区| 菠萝蜜视频国产在线播放| 岛国在线大片| 中文在线免费看视频| 一区二区在线看| 日本成人在线免费观看| 91精品视频免费看| 国产剧情在线观看| 国产精品美腿一区在线看| 日本在线视频观看| 国产精品有限公司| 欧美片网站免费| 国产精品免费网站在线观看| 久香视频在线观看| 色嗨嗨av一区二区三区| 人人妻人人澡人人爽精品日本| 国产日韩在线一区二区三区| 日本肉体xxxx裸体784大胆| 久久午夜国产精品| 亚洲免费专区| 亚洲欧洲在线观看av| 日本福利在线| 成人资源视频网站免费| 亚洲第一页自拍| 91插插插插插插| 成人精品视频一区二区| 国产精品久久久久久户外露出| 国产剧情在线观看一区| 午夜精品一区在线观看| 久久亚洲午夜电影| 成人精品毛片| 久久综合九色综合欧美98| 日韩美女精品在线| 亚洲乱码视频| 北条麻妃在线观看视频| 国产精品视频在线看| 国产精品视频区| 亚洲人成网站999久久久综合| 在线视频亚洲专区| 成人在线视频网站| 午夜影院网站| 啦啦啦中文在线观看日本| 免费污片软件| 国产精品久线在线观看| 456亚洲影院| 日韩大片免费观看| 国产无遮挡裸体免费视频| 日韩在线卡一卡二| 亚洲人成人99网站| 亚洲精品久久久| 日韩精品有码在线观看| 欧美影院三区| 国产成人禁片在线观看| 欧美精品一区二区三区国产精品| 中文字幕成人乱码在线电影| 成人在线播放网站| 艳母动漫在线免费观看| 中文字幕一区日韩精品欧美| 国产福利在线导航| 国产毛片久久久久久国产毛片| 亚洲国产毛片aaaaa无费看| 亚洲产国偷v产偷v自拍涩爱| 欧美一区二区精美| 国产suv一区二区三区88区| 少妇人妻无码专区视频| 国产一级片在线播放| 免费在线成人网| 日韩福利视频一区| 稀缺呦国内精品呦| 国产网友自拍电影在线| 亚洲一区在线观看网站| 亚洲视屏一区| 国产成人夜间影院在线观看| 葵司免费一区二区三区四区五区| 国产欧美日韩一区二区三区四区| 姑娘第5集在线观看免费好剧| 欧美三级日本三级少妇99| 色版视频在线观看| 国产精品中文字幕亚洲欧美| 黄色的电影在线-骚虎影院-骚虎视频| 秋霞影院一区二区| 欧美理论电影大全| 天天干天天操天天拍| 香港日本韩国三级| 91亚洲精品久久久久久久久久久久| 亚洲国产一二三精品无码| 日本综合在线| aaawww| 色成年激情久久综合| 人妻精品无码一区二区三区| 91小视频在线播放| 狠狠艹夜夜干| 免费在线日韩av| 免费高清视频在线一区| 亚洲高清免费视频| 国产精品手机在线观看| 欧美交换配乱吟粗大25p| 亚洲精品国产成人久久av盗摄| 91福利资源站| 国产精品99久久久久久成人| 欧美中文字幕精品| 亚洲欧美国产精品专区久久| 国产精品乱子伦| 午夜免费福利视频| 亚洲精品suv精品一区二区| 午夜精品久久久久久久99热| 精品99久久久久久| 国产又粗又猛又黄| 成人激情免费在线| 亚洲小视频在线播放| 欧美性生活影院| 欧美精品在线播放| 久久久女人电视剧免费播放下载| 中文字幕日韩一区二区三区不卡| 日本黄色一区二区| 色偷偷偷在线视频播放| 日本在线丨区| 视频一区二区三区在线观看| 国语对白做受xxxxx在线中国| 美国美女黄色片|