微信小程序登录

三个端:小程序端,开发者服务器端,微信接口服务端

我们首先通过wx.login()(微信平台集成直接调用即可)获取Code

拿到code之后通过wx.request()发送code到你的开发者服务器后端,后端

发送appid+appsecret+code到微信接口服务,微信接口服务验证成功后

微信将返回以下信息:

{
  "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",  // 用户唯一标识(微信开放平台下唯一,openid 是由微信官方提供的)
  "session_key": "tiihtNczf5v6AKRyjwEUhQ==", // 会话密钥(用于解密用户敏感信息)
  "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" // 当用户绑定了微信开放平台账号时返回
}

我们将openid 往数据库里一保存,生成id,然后根据主键id也好,根据openid也好,生成token返回前端,然后前端把token存入storage,然后用户在活动中向后端发送请求时,必须携带此token即可(后端可以校验),成功后返回业务数据就行了!

微信小程序登录代码:

import $http from './utils/request.js'
import { token } from './api/auth.js'
import Storage from './utils/storage.js'
App({
  $http,
  onLaunch() {   //项目启动默认会执行
    console.log('小程序启动')
    // 展示本地存储能力
    const logs = Storage.getLogs() || []
    logs.unshift(Date.now())
    Storage.setLogs(logs)

    // 登录
    wx.login({  //调用微信提供的wx.login
      success: async res => {
        console.log('wx.login 成功,获取到 code:', res.code)//从res中拿到code
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        try {
          let loginRes = await token(res.code);//拿到code之后向本地发起请求
          console.log('token 请求响应:', loginRes)//后端返回loginRes
          if(loginRes && loginRes.code === 200){
            Storage.setToken(loginRes.data.tokenName, loginRes.data.tokenValue)//把后端返回的token信息保存到Storage,后期请求都要携带
            console.log('token 存储成功')
          } else {
            console.error('token 请求失败:', loginRes)
          }
        } catch (error) {
          console.error('token 请求异常:', error)
        }
      },
      fail: err => {
        console.error('wx.login 失败:', err)
      }
    })
  },
  globalData: {
    userInfo: null
  }
})

由于微信在获取token的时候要用get请求,get请求要跟参数必须用?加&拼接

博客内容均系原创,未经允许严禁转载!
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇