前言
在企业微信中创建自建应用是一个涉及多个步骤的过程,旨在为企业提供一个可定制的解决方案以满足特定的业务需求。以下是创建企业微信小程序的详细步骤:
-
登录企业微信管理后台:
- 使用管理员账号登录企业微信的管理后台。
-
创建应用:
- 进入“应用管理”菜单,点击“自建应用”或“添加应用”按钮。
- 输入应用名称,选择应用可见范围,并设置应用的可见性,是否对所有人可见或只对部分成员可见。
- 确定应用的使用场景,如内部办公、企业应用等。
-
设置应用信息:
- 在创建应用后,填写应用的详细信息,包括应用描述、图标、主页链接等。
- 设置应用的有效期限,确保应用在指定时间内可用。
-
开发应用:
- 根据企业的具体需求进行应用开发。
- 利用企业微信提供的API和SDK进行接口调用和功能实现。
- 测试应用确保其功能正常。
-
提交审核:
- 完成应用开发后,提交应用到企业微信进行审核。
- 确保应用符合企业微信的规范和标准。
-
发布应用:
- 一旦应用通过审核,就可以在企业内部发布。
- 用户可以在企业微信中找到并使用该应用。
-
维护和更新:
- 定期更新应用以修复bug或添加新功能。
- 确保应用的安全性和稳定性。
在整个过程中,请确保您的应用遵守企业微信的开发规范和应用标准,以确保应用的稳定性和安全性。此外,建议您参考企业微信官方文档以获取最新的信息和最佳实践。
静默登录介绍
在计算机术语中,"静默登录"通常指的是无需用户交互即可完成登录过程的机制,这在某些自动化流程或后台服务中非常常见。以下是实现静默登录的一些常见方式:
-
使用凭证文件:一些系统允许使用凭证文件来执行静默登录。例如,在Linux环境中,可以使用SSH密钥对进行无密码登录。
-
环境变量:可以通过设置包含认证信息的环境变量来实现静默登录。
-
配置文件:某些应用程序或服务允许在配置文件中指定登录凭证,从而实现静默登录。
-
API令牌:在需要与远程API交互的场景中,可以使用预先颁发的访问令牌来进行静默登录。
-
操作系统集成:如Windows的RunAs命令,允许以特定用户的权限运行程序,而不需要用户输入密码。
-
单点登录(SSO):在企业环境中,可以使用单点登录系统,用户在登录一次后,可以无缝访问其他所有系统,而无需再次登录。
-
脚本自动填充:通过编写脚本来自动填充登录表单并提交,从而实现静默登录。
-
证书认证:在某些系统中,可以使用客户端证书来自动完成身份验证过程。
-
生物特征识别:如指纹扫描、面部识别等,这些技术可以实现快速且无需手动输入密码的登录。
-
硬件设备:如YubiKey等安全密钥,可以在无需手动输入密码的情况下完成身份验证。
需要注意的是,静默登录虽然提供了便利,但也带来了安全风险,因为它减少了防止未授权访问的安全屏障。因此,在实施静默登录时,应确保采取适当的安全措施,如使用强密码、定期更换凭证、限制对敏感系统的访问等。
小程序关联到企业微信应用-静默登录
首先,通过wx.qy.login获取到code,然后把这个code发送给我们自己写的接口api.getCompanyId,去请求到企业微信的id
wx.qy.login({
success(res) {
console.log("企业微信登录");
console.log(res);
if (res.code && res.code != 6000) {
// 通过this.setData方法,将上方data中的参数进行设置
this.setData(
{
code: res.code,
},
() => {
/**
* 通过下面这个接口去获取企业微信的id
*/
api.getCompanyId(
{
code: res.code,
},
(res) => {
console.log("企业微信的公司id");
console.log(res);
/**
* 企业微信的登录=====获取公司id成功后 调用企业微信登录接口
*/
this.qyWxLogin(res);
}
);
}
);
}
//请求企微code失败
else if (res.code && res.code == 500) {
$Toast({
content: "登录失败,请重试!",
});
console.log("获取code失败!" + res.errMsg);
}
},
});
拿到code 和 企微的id后,可以通过自己写的方法去获取这个员工的信息了,把这些信息存到sessionStorage里
qyWxLogin: function (companyId) {
let self = this;
$Toast({
content: "正在登录...",
type: "loading",
});
/**
* 企业微信环境 获取code
之所以要再请求一次code,是因为这个code只有5分钟的时效,为了防止过期,所以再请求一次就行了
*/
wx.qy.login({
success(res) {
console.log(res);
if (res.code && res.code != 6000) {
self.setData(
{
code: res.code,
},
() => {
//通过这个自己写的接口,传入code和企微id,去获取当前这个员工的信息
api.getUserInfo(
{
code: res.code,
companyId: companyId,
},
(res) => {
console.log("接口返回的员工信息");
console.log(res);
setTimeout(() => {
$Toast.hide();
}, 100);
if (res.access_token) {
try {
app.globalData.companyId = res.companyId;
wx.setStorageSync("loginStatus", res.access_token);
} catch (e) {}
//可以跳转页面了
wx.reLaunch({
url: "../../pages/index/index",
});
} else {
self.setData({
visible: true,
tips: "账号或密码错误!",
});
}
}
);
}
);
} else if (res.code && res.code == 500) {
$Toast({
content: "登录失败,请重试!",
});
console.log("获取code失败!" + res.errMsg);
}
},
});
},
这样就能在打开企微关联的自建应用的时候,自动静默登录程序了
注意:里面的一些接口是要自己实现的,用来从后端获取到信息,不要想着复制代码直接能用~这个只是方法逻辑的说明。