在 UniApp 中使用
“wx.qy.login” 不需要手動導包,但需要滿足以下條件:
一、環境要求與配置
1�
企業微信環境判斷
必須確保當前運行環境是企業微信客戶端,通過
“uni.getSystemInfoSync().environment” 判斷是否為
“wxwork”。
if (uni.getSystemInfoSync().environment === ‘wxwork’) {
// 調用 wx.qy.login
}
2�
條件編譯
需使用 UniApp 的條件編譯語法,僅在微信小程序或企業微信環境中調用該接口:
// #ifdef MP-WEIXIN
wx.qy.login({ … });
// #endif
3�
manifest.json 配置
在 UniApp 的
“manifest.json” 文件中,需勾選 微信小程序相關模塊(如登錄、分享等)。
如果是企業微信自建應用或第三方應用,需在微信開放平臺配置
“suiteId” 或
“corpId”。
二、基礎庫版本兼容性
基礎庫版本要求:企業微信的
“wx.qy” API 需要基礎庫版本 ≥ 2.5.8,建議使用最新版本以避免報錯(例如 2.10.1 以上)。
版本升級方法:在微信開發者工具中,通過右上角「詳情」→「本地設置」→「調試基礎庫」選擇更高版本。
三、代碼示例
export default {
methods: {
getQyCode() {
// #ifdef MP-WEIXIN
if (uni.getSystemInfoSync().environment === ‘wxwork’) {
wx.qy.login({
success: (res) => {
if (res.code) {
console.log(‘企業微信 code:’, res.code);
// 發送 code 到后端換取用戶信息
}
},
fail: (err) => {
console.error(‘登錄失敗:’, err);
}
});
}
// #endif
}
}
}
四、常見問題
1�
報錯
“wx.qy.login is not a function”
檢查是否在企業微信環境中運行。
確認基礎庫版本是否過低(需 ≥ 2.5.8)。
2�
第三方應用需指定
“suiteId”
如果是第三方應用,需在
“wx.qy.login” 中傳入
“suiteId” 參數,否則可能無法正確獲取 code。
總結
無需導包:UniApp 在編譯到微信小程序或企業微信環境時,會自動注入
“wx.qy” 相關 API。
關鍵步驟:環境判斷、條件編譯、基礎庫版本適配、manifest 配置。
更多細節可參考企業微信官方文檔和 UniApp 跨端兼容性說明。