前期准备工作
- 此功能需要用的企微的sdk,由于企微提供的是aar文件,因此暂时用插件市场的插件ext.dcloud.net.cn/plugin?id=1…
我自己不会处理aar文件将其转为uniapp插件,如果有大佬写了文档,麻烦贴一下地址我学习一下
- 该插件为付费插件,测试开发时使用自定义基座进行开发。
自定义基座如何设置?
选择自定义基座打一次包,之后真机调试时就可以选择
- uniapp插件配置(此处跳过)
企业微信后台配置
- 应用管理 -> 自建 -> 创建应用
- 点击进入刚刚创建好的应用,进入应用详情页面。划到最下面开发者接口区域,点击企业微信授权登录(ps:此处网页域名和可信ip也要设置,否则会影响后续用户信息查询接口)
4. 配置相关信息,此处应用签名为签名工具获取,包名在打包时可以查看到
前端代码配置
- 引入插件
const wwork = uni.requireNativePlugin('Wework-SDK');
2. 注册插件
// register的参数依次为:
// 企业id(后台-我的企业页面最下方获取)
// AgentId(自建应用详情页上方获取)
// schema(上一步中最后一步中配置数据时自动生成)
onMounted(() => {
const state = 'login' + (Math.random() * Math.pow(10, 6)).toFixed(0);
wwork.register('ww45s2w871da5s4d45as', '1000002', 'wwauth454sad454asd1a5s4d5asd', state)
})
3. 点击按钮时调用,此处需要拿到ticket(登录失败时没有此字段 undefined)
/** res: {
code: number; 0(用户同意), 1(授权失败), -1(用户取消)
msg: string;
ticket?: string 授权成功返回的临时票据code
}
**/
wwork.login(res => {
console.log(res)
})
到此时,已经能正常唤起企微,并允许点击登录了。注意在配置授权登录信息时,如果应用数据配置错误,是不会唤起企微的,且如果当前登录的是其他企业,也是不会唤起的。
后续token及用户信息获取
- token获取
使用企微官方接口:qyapi.weixin.qq.com/cgi-bin/get…
需要两个参数:企业id:corpID;应用证明密钥(自建应用详情页面-查看secret)
详情参考官方文档developer.work.weixin.qq.com/document/pa…
- 通过token获取当前人的信息
企微官方接口:qyapi.weixin.qq.com/cgi-bin/aut…
需要两个参数:token:刚刚获取的;code:上文前端代码配置时提到的,获取的ticket
注意,此处如果想调通,则需要企微设置可信域名及ip,设置位置与企业微信授权登录位置相同。