1. 申请,绑定小程序,添加技能,发布机器人
2. 小程序中设置
2.1 app.json 中注册聊天机器人插件
"plugins": {
"chatbot": {
"version": "1.2.22",
"provider": "wx8c631f7e9f2465e1"
},
"WechatSI": {
"version": "0.3.4",
"provider": "wx069ba97219f66d99"
}
},
2.2 app.js 中初始化插件参数
let plugin = requirePlugin("chatbot");
plugin.init({
appid: "PB3xv6JIj1tYlXJ22axCNRqExIdy6Q", //小程序示例账户,仅供学习和参考
openid: res.result.data[0].openid, //用户的openid,必填项,可通过wx.login()获取code,然后通过后台接口获取openid
userHeader: res.result.data[0].avatarUrl, // 用户头像
userName: res.result.data[0].nickName, // 用户昵称
anonymous: false, // 是否允许匿名用户评价,默认为false,设为ture时,未传递userName、userHeader两个字段时将弹出登录框
operateCardHeight: 54, // 90-36,隐藏导航栏默认高度
hideMovableButton: true, // 隐藏右下的评价图标
guideCardHeight: 0, // 隐藏气泡,如北京天气怎么样
success: () => {
console.log('注册聊天机器人成功')
}, //非必填
fail: (error) => {
console.log('注册聊天机器人失败')
}, //非必填
})
2.3 page 中使用插件
page.json,引用聊天机器人插件
{
"usingComponents": {
"chat": "plugin://chatbot/chat"
}
}
page.wxml,页面绑定了三个事件
<view style="height: 100vh">
<view style="height: 100vh">
<chat
bind:queryCallback="getQueryCallback"
bind:openWebview="openWebview"
bind:openMiniProgram="openMiniProgram"
/>
</view>
</view>
page.js,三个事件的处理
// 在相应页面的 js 中配置返回首页回调方法
getQueryCallback: function(e) {
console.log(e.detail);
},
// 点击机器人回答里的链接跳转 webview
openWebview: function(e) {
let url = e.detail.weburl
wx.navigateTo({
url: `/pages/labpages/wxchat/webview?url=${url}`
})
},
// 点击机器人回答中的小程序,需要在开发者自己的小程序内做跳转
openMiniProgram(e) {
let {appid, pagepath} = e.detail
if (appid) {
wx.navigateToMiniProgram({
appId: appid,
path: pagepath,
extraData: {},
envVersion: "",
success(res) {
// 打开成功
}
});
} else {
wx.navigateTo({
url: pagepath,
fail() {
wx.switchTab({
url: pagepath
});
}
});
}
},
网友评论