網(wǎng)站首頁 編程語言 正文
目錄
一、介紹openid
二、openid獲取難在哪
三、云開發(fā)獲取openid
一、介紹openid
我們在區(qū)分小程序用戶時都需要用到openid,用戶openid就相當(dāng)于用戶在小程序里的身份證。做為用戶的唯一標(biāo)示,所以獲取到用戶openid就顯得很重要了,今天來教大家怎么樣獲取要用戶的唯一標(biāo)示 openid
二、openid獲取難在哪
今天試了網(wǎng)上的很多方法,在真機(jī)調(diào)試的時候還是能夠獲取到的,結(jié)果一上傳代碼就獲取不到了,應(yīng)該也有很多同學(xué)遇到了這個問題,所以我們應(yīng)該把code值傳到后端去獲取openid,因?yàn)樵谇岸丝赡軙蛔グ蚺廊〉侥愕腶ppid和secret,不安全,如果放在后端獲取openid,除非你的服務(wù)器被攻擊了,不然就是安全的。
三、云開發(fā)獲取openid
1. 首先我們在 uniCloud 目錄下的 cloudfunctions 下右擊創(chuàng)建云函數(shù)
2. 編寫云函數(shù)
'use strict';
exports.main = async (event, context) => {
let appid = "wxc00000000000";//你自己的appid
let secret = "xxxxxxxxxxxxxxxxxxxxxxxx";//你自己的appsecret
let url =
"https://api.weixin.qq.com/sns/jscode2session?appid=" +
appid +
"&secret=" +
secret +
"&js_code=" +
event.code +
"&grant_type=authorization_code";
let res = await uniCloud.httpclient.request(
url ,// 請求路徑,
{
dataType:"json"
}
);
let openid = res.data.openid
return openid
};
?注意這里的 appid 和 secret 要用你自己的
3. 客戶端調(diào)用uni.login(),用得到的code調(diào)用云函數(shù)
uni.login({
provider: "weixin",
success: function (res) {
uniCloud.callFunction({
name: 'openid',
data: {
code: res.code
},
success: (res) => {
console.log('云函數(shù)返回的值::::', res.result)
},
fail: () => {
console.log('云函數(shù)調(diào)用失敗')
}
})
},
});
4. 查看輸出
?
現(xiàn)在我們就成功獲取到了用戶的 openid ,摸著石頭過河太難了,都是血淚啊
原文鏈接:https://blog.csdn.net/qq_49900295/article/details/125411067
相關(guān)推薦
- 2022-10-22 redis緩存一致性延時雙刪代碼實(shí)現(xiàn)方式_Redis
- 2022-09-06 C語言單鏈表遍歷與求和示例解讀_C 語言
- 2022-07-27 Python編寫條件分支代碼方法_python
- 2022-11-23 C語言學(xué)習(xí)之關(guān)鍵字的示例詳解_C 語言
- 2022-07-26 Android自定義評分控件的完整實(shí)例_Android
- 2022-12-22 關(guān)于C++中push_back()函數(shù)的用法及代碼實(shí)例_C 語言
- 2022-08-28 使用Freemarker生成靜態(tài)頁面
- 2022-06-02 jquery實(shí)現(xiàn)界面點(diǎn)擊按鈕彈出懸浮框_jquery
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支