引入企业微信jssdk并创建外部群完整示例
时间: 2024-05-08 13:21:01 浏览: 137
微信JSSDK实例
3星 · 编辑精心推荐
好的,下面是一个完整的示例,包括如何引入企业微信 JSSDK 和如何创建外部群。
首先,我们需要在企业微信后台中创建一个应用,并获取到应用的 `corpId` 和 `agentId`。然后在前端页面中引入 JSSDK:
```html
<script src="https://qydev.weixin.qq.com/sdk/js/qywx.js"></script>
```
接下来,我们需要初始化 JSSDK,代码如下:
```javascript
wx.config({
beta: true,
debug: true,
appId: 'YOUR_APP_ID',
timestamp: new Date().getTime(),
nonceStr: Math.random().toString(36).substr(2),
signature: 'YOUR_SIGNATURE',
jsApiList: [
'on',
'ready',
'invoke',
'selectExternalContact'
]
});
```
注意,需要替换 `appId` 和 `signature` 为实际的值。其中 `signature` 是通过后端接口获取的,用于验证身份和权限。
接下来,我们需要监听 JSSDK 的 `ready` 事件,代码如下:
```javascript
wx.ready(function () {
console.log('JSSDK is ready');
});
```
在 JSSDK 准备好之后,我们就可以使用 JSSDK 提供的 API 来创建外部群了。首先,我们需要通过 `selectExternalContact` API 来选择外部联系人,代码如下:
```javascript
wx.invoke('selectExternalContact', {
filterType: 0,
selectMode: 0,
selectedExternalUserIds: []
}, function (res) {
if (res.err_msg === 'selectExternalContact:ok') {
console.log('Selected external contact:', res);
var externalUserId = res.selectedExternalUserIds[0];
createChat(externalUserId);
} else {
console.error('Failed to select external contact:', res);
}
});
```
其中,`filterType` 表示过滤类型,0 表示不过滤;`selectMode` 表示选择模式,0 表示单选;`selectedExternalUserIds` 表示已选的外部联系人 ID,这里我们设置为空数组。
当选择外部联系人成功之后,我们就可以调用 `createChat` 方法来创建外部群了,代码如下:
```javascript
function createChat(externalUserId) {
wx.invoke('createChat', {
name: 'External Chat',
userIds: [],
externalUserIds: [externalUserId]
}, function (res) {
if (res.err_msg === 'createChat:ok') {
console.log('Created external chat:', res);
} else {
console.error('Failed to create external chat:', res);
}
});
}
```
其中,`name` 表示群聊名称,`userIds` 表示企业成员的 ID(这里设置为空数组),`externalUserIds` 表示外部联系人的 ID。
至此,我们已经完成了通过 JSSDK 创建外部群的示例。完整代码如下:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>External Chat Example</title>
</head>
<body>
<h1>External Chat Example</h1>
<button id="create-chat-btn">Create External Chat</button>
<script src="https://qydev.weixin.qq.com/sdk/js/qywx.js"></script>
<script>
wx.config({
beta: true,
debug: true,
appId: 'YOUR_APP_ID',
timestamp: new Date().getTime(),
nonceStr: Math.random().toString(36).substr(2),
signature: 'YOUR_SIGNATURE',
jsApiList: [
'on',
'ready',
'invoke',
'selectExternalContact',
'createChat'
]
});
wx.ready(function () {
console.log('JSSDK is ready');
});
document.getElementById('create-chat-btn').addEventListener('click', function () {
wx.invoke('selectExternalContact', {
filterType: 0,
selectMode: 0,
selectedExternalUserIds: []
}, function (res) {
if (res.err_msg === 'selectExternalContact:ok') {
console.log('Selected external contact:', res);
var externalUserId = res.selectedExternalUserIds[0];
createChat(externalUserId);
} else {
console.error('Failed to select external contact:', res);
}
});
});
function createChat(externalUserId) {
wx.invoke('createChat', {
name: 'External Chat',
userIds: [],
externalUserIds: [externalUserId]
}, function (res) {
if (res.err_msg === 'createChat:ok') {
console.log('Created external chat:', res);
} else {
console.error('Failed to create external chat:', res);
}
});
}
</script>
</body>
</html>
```
希望这个示例可以帮助你理解如何使用企业微信 JSSDK 来创建外部群。
阅读全文