美文网首页
微信小程序:微信聊天机器人

微信小程序:微信聊天机器人

作者: 我的小小笔尖 | 来源:发表于2021-08-14 17:32 被阅读0次

1. 申请,绑定小程序,添加技能,发布机器人

https://openai.weixin.qq.com/

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
                });
            }
        });
    }
  }, 

相关文章

网友评论

      本文标题:微信小程序:微信聊天机器人

      本文链接:https://www.haomeiwen.com/subject/grosbltx.html