微信小程序中使用 token 验证及解决error code”:40029, invalid code

1.首先获取 token

这里需要服务端的配合,要么自己写一个,要么找一个,在需要使用 token 验证的界面
onGetToken() {
    wx.login({
      success: (res) => {
        if (res.code) {
          wx.request({
          // 获取 token 地址
            url: 'http://localhost:3000/v1/token',
            method: 'POST',
            // data 是服务端 返回 token 需要的参数,根据自己情况而定
            data: {
              account: res.code,
              type: 100
            },
            success: (res) => {
              console.log(res)
              const code = res.statusCode.toString()
              if (code.startsWith('2')) {
              // 保存 token 到本地
                wx.setStorageSync('token', res.data.token)
              }
            }
          })
        }
      }
    })
  },
当需要使用 token 的时候
onGetClassic() {
    wx.request({
      url: 'http://localhost:3000/v1/classic/latest',
      header: {
        Authorization: this._encode()
      },
      success: (res) => {
        console.log(res.data)
      }
    })
  },
 _encode() {
    const token = wx.getStorageSync('token')
    const base64 = Base64.encode(token + ':')
    return "Basic " + base64
  },
这里需要使用 js-base64 ,所以我们需要在最开始的时候,引入 js-base64
import { Base64 } from 'js-base64'

在 微信小程序中使用 npm 方法

微信小程序中使用 token 验证及解决error code”:40029, invalid code_第1张图片
微信小程序中使用 token 验证及解决error code”:40029, invalid code_第2张图片

在根目录打开 npm init -y
npm i js-base64

微信小程序中使用 token 验证及解决error code”:40029, invalid code_第3张图片

即可在小程序中使用了。
特此说明:在确保服务端无错的情况下,如果 微信返回的报错是 code 无效的话,error code”:40029, invalid code,可能的一种原因就是你使用的 appid 是测试号,这是行不通的,要使用正确的 APPID 才可以访问成功。

你可能感兴趣的:(小程序)