

在白码系统中需要使用各种接口对接企业微信时,发现需要使用企业微信的成员id,比如创建日程、获取打卡数据等接口,所以在此之前需要先将成员id与白码系统中的用户一一对应;
升级白码系统为企业版,白码系统中的用户表需添加一个属性“企业微信成员id”(名称可自由设定),然后在系统集成的页面将白码系统集成到企业微信中;
1. 在logo设置页面,设置“初始化脚本”(企业版可使用的功能)的代码,这里的代码会在每个用户登录后自动执行,可以通过这个功能实现自动绑定企业微信成员id;
2. 代码如下:
代码如下: 复制代码
function setup() {
if (window.UA.isWxwork) {//if在企业微信的环境下进入系统
let userid = sessionStorage.getItem("bm_wxwork_userid");//当前成员id
//606ea0cc35dbab6e7ba89539
//调用功能绑定成员id
vue.$store.dispatch("program/exec", {
flow: "606ea0cc35dbab6e7ba89539",
form: {
"606ea0ce14b72e6e88537ed8": {
"field_1617862871018": userid,
}
}
}).then(function (res) {
let result = res.data;//返回结果
if (result == "绑定成功") {
alert("企业微信成员id已绑定成功!");
} else if (result == "重复绑定") {
//无提示
} else if (result == "已绑定其他用户") {
//无提示
}
});
}
其中包含了调用功能的逻辑,所以还要创建一个功能用于绑定;
①使交互数据的步骤,接收前端获取的企业微信成员id;
②使用获取数据的步骤,获取当前用户的数据;
③第三步使用条件判断的步骤,判断当前用户是否已经绑定过了;
④如果第三步判断为假,即没有绑定过,再获取其他已经绑定了这个id的用户,看看有没有重复绑定;
⑤如果没有重复绑定,即可将当前用户绑定上当前成员id;
⑥最后再返回给前端这个结果;
⑦如果已经有其他用户绑定了这个成员id,就不再绑定,返回给前端另一个结果;
⑧回到前面第三步,如果判断为真,即已经绑定过了,则不再绑定,返回前端第三种结果;
至此,绑定的功能就做好了,最后记得要发布功能;
接下来只需要在企业微信的工作台内进入白码系统,即可进行绑定。
实现效果: