小程序快速获取openid
文章目錄
- 前言
- 一、openid 是什么?
- 二、獲取 openid
- 1.云函數(shù) getOpenid
- 2.調(diào)用 getOpenid 獲取 openid
- 總結(jié)
前言
在開發(fā)微信小程序時,常常需要獲取微信用戶的 openid 來區(qū)分用戶身份,用戶 openid 就相當(dāng)于用戶在小程序里的身份證,因此我們就需要知道如何來獲取小程序 openid
一、openid 是什么?
用戶openid是作為用戶在小程序中的唯一標(biāo)識,相當(dāng)于用戶在小程序里的身份證。每個小程序都會給每個用戶分配一個唯一的openid,不過用戶在不同的小程序openid是不相同的,只有在同一個小程序中時才一樣。
二、獲取 openid
獲取 openid 傳統(tǒng)的方法是先獲取用戶臨時登錄憑證 code ,在開發(fā)者服務(wù)器后臺調(diào)用 code2Session,把code傳給后端,后端根據(jù)傳遞過來的 code ,以及從小程序后臺獲取的appId、appsecret,拼接到地址上,然后這個地址會返回openId,session_key,后端獲取完之后再把openid返回給前端。這個方法比較麻煩,需要有一個后端服務(wù)器,因此對于個別人來說顯得無能為力。但是還有一種比較快捷簡單的方法,通過云函數(shù)直接獲取用戶的 openid。
1.云函數(shù) getOpenid
// 云函數(shù)入口文件 const cloud = require('wx-server-sdk')cloud.init()// 云函數(shù)入口函數(shù) exports.main = async (event, context) => {const wxContext = cloud.getWXContext()return {event,openid: wxContext.OPENID, // 返回的openidappid: wxContext.APPID,unionid: wxContext.UNIONID,} }獲取 openid 的云函數(shù)其實是一個模板函數(shù),新建的云函數(shù)默認(rèn)生成了相應(yīng)的代碼,不需要修改。如果不知道云函數(shù)為何物,可移步至小程序云開發(fā)入門
2.調(diào)用 getOpenid 獲取 openid
wx.cloud.callFunction({name: 'getOpenid',complete: res => {console.log('openid: ', res.result.openid)} })調(diào)用結(jié)果:
總結(jié)
云函數(shù)獲取 openid 是一種比較快捷的方法,特別對于沒有后端服務(wù)器的同學(xué)來說。而云函數(shù)本質(zhì)也是運行在服務(wù)端的,因此也可以方便獲取且不需要我們編寫什么代碼。
總結(jié)
以上是生活随笔為你收集整理的小程序快速获取openid的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源免费CRM
- 下一篇: impinj R2000开发板维修记录—