微信小程式必用介面

塗詣發表於2020-11-20

微信小程式必用介面

獲取openid

openid是微信使用者的一個唯一的標識,只針對當前的微訊號有效。微信開發時, 使用者使用小程式需要授權, 這時就要用到openid進行繫結這個使用者。可用於永久標記一個使用者,同時也是微信JSAPI支付的必傳引數。

一般都是將code值傳到後端去獲取openid,因為在前端可能會被抓包或爬取到你的appid和secret,不安全,如果放在後端獲取openid,除非你的伺服器被攻擊了,不然就是安全的。下面的例項是在前端直接獲取的,這個明白後,可以直接改成後端的,是邏輯一樣的。

uni-app示例

uni.login({
  success: res => {
    //code值(5分鐘失效)
    console.info(res.code);
    //小程式appid
    let appid = ''; //填寫appid
    //小程式secret
    let secret = ''; //填寫secret
    //wx介面路徑
    let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + res.code + '&grant_type=authorization_code';
    uni.request({
      url: url, // 請求路徑
      method: 'GET', //請求方式
      success: result => {
        //響應成功
        //這裡就獲取到了openid了
        console.info(result.data.openid);
        uni.setStorage({
          key:'user',
          data: result.data.openid
        })
      },
      fail: err => {} //失敗
    });
  }
});

// TODO 未完待續

相關文章