uniapp开发企业微信小程序时 wx.qy.login 在uniapp中使用的时候,需要导包吗?
在 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 跨端兼容性说明。