微信小程序客服系统-两种形式:嵌入页面传递更多信息 与 自带组件形式

news2025/2/23 13:18:39

微信小程序对接有两种方式:webview组件嵌入页面,小程序客服组件对接消息

使用webview组件嵌入聊天页面形式。这种形式更加的灵活可控,可以传递更多的信息给到客服,例如可以把用户的手机号,所在页面的产品信息等带入进来。

嵌入页面形式

增加展示点击按钮,并且获取到昵称头像,嵌入聊天页面。

wxml部分

<view class="page-body">
  <button  open-type="getUserInfo" bindgetuserinfo="getPerson">联系客服</button>
  <view wx:if="{{url}}">
    <web-view  src="{{url}}"></web-view>
  </view>
</view>
js部分

Page({
  data: {
    url:""
  },
  //按钮回调的方法
  getPerson:function(e){
    console.log(e);
    var username=e.detail.userInfo.nickName;
    var  avator=e.detail.userInfo.avatarUrl;
    this.setData({
      url:"https://gofly.sopans.com/chatIndex?kefu_id=taoshihan&ent_id=5&visitor_name="+username+"&avator="+avator
    });

  },
  onLoad: function () {

  },
})

离线通知

如果需要离线通知,需要按照下面的方式对接
利用小程序的订阅消息,可以在访客离开页面后,也能收取通知

小程序的订阅消息,分为一次性订阅消息和长期订阅消息,长期订阅消息只对政务民生、医疗、交通、金融、教育等线下公共服务开放,一般情况下我们用不了。

一次性订阅消息用于解决用户使用小程序后,后续服务环节的通知问题。用户自主订阅后,开发者可不限时间地下发一条对应的服务消息;每条消息可单独订阅或退订。

注意:授权一次,发送一条,多了发不了

配置订阅模板消息

微信小程序想要对接独立在线客服系统,除了使用小程序消息推送接口外,还可以使用webview嵌入的形式嵌入聊天链接。

但是,使用webview嵌入的形式,当用户离开页面以后,就收不到客服回复的消息了

所以,我们需要当用户离开聊天页面后,客服回复消息,使用小程序的订阅模板来进行通知。

我们前往小程序后台,去开启一下订阅消息,并且选用一个模板。

在公共模板库里搜索一下,选用“咨询回复通知”

 配置一下字段,我们就需要三个字段就可以了,分别是,“回复内容”  “回复时间”  “回复者”

这样会得到模板ID,后面我们会通过这个模板ID进行发送

代码部分的参考

  <view class="listItem">
      <view class="right"><button type="primary" size="mini" bindtap="callKefu">在线咨询</button>
      </view>
    </view>
js部分。这里面就是拼接我的客服系统聊天界面链接,重要的是visitor_id参数部分,按照我的要求是   mini|商户ID|openid ,这样我在客服系统那里,好拿到openid去发送订阅消息

  //咨询店铺客服
  callKefu(){
    this.subReplyNotice();
     var url=app.globalData.apiUrl+"/chatIndex?kefu_id="+this.data.kefu_name+"&ent_id="+this.data.ent_id+"&visitor_name="+this.data.nickname+"&avator="+this.data.avatar+"&visitor_id=mini|"+this.data.ent_id+"|"+this.data.openid;
     wx.navigateTo({
      url: "/pages/index/kefu?url="+encodeURIComponent(url)
    })
  },
  //订阅回复通知
  subReplyNotice(){
    wx.requestSubscribeMessage({
      tmplIds: ['Hk0zWtbgl0aci6b0UIWSUBywYzaglNqkw0KhzkbEuN4'],
      success (res) {
        console.log(res)
        // res包含模板id,值包括'accept'、'reject'、'ban'、'filter'。
        // 'accept'表示用户同意订阅该条id对应的模板消息
        // 'reject'表示用户拒绝订阅该条id对应的模板消息
        // 'ban'表示已被后台封禁
        // 'filter'表示该模板因为模板标题同名被后台过滤。
      }
    })
  },
webview的嵌入页面 pages/index/kefu   

wxml部分

<!--pages/index/kefu.wxml-->
<view wx:if="{{url}}">
    <web-view  src="{{url}}"></web-view>
</view>
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log(options.url);
    this.setData({
      url:decodeURIComponent(options.url),
    });
  },

小程序自带客服组件对接

首先登录小程序后台
在小程序后台==>开发管理==>开发设置==>服务器域名部分,配置好自己的域名

再往上翻,开发者ID部分,把AppID AppSecret 找个文档记下来,ip白名单我先给关上了

在小程序后台==>开发管理==>开发设置==>消息推送中补全信息,这个时候如果提交会报token校验失败,需要回到客服系统去配置相应的信息

功能==>客服==>小程序客服,配置好自己的客服人员

客服系统配置

上面就是小程序后台部分的配置,接下来返回我的客服系统后台,去配置相应的信息

设置==>找到下面三个小程序的配置项,补充完善信息

此时在小程序的客服组件里,就能收到来自我客服系统的消息回复了,并且不影响客服人员使用微信自带工具接入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/927166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Dubbo3之SerializingExecutor

前言 Dubbo3 提供了一个挺有意思的 Executor&#xff0c;用来将提交到线程池里的任务按顺序串行执行。 需求背景&#xff1a;你有一个线程池&#xff0c;但是你不想修改它&#xff0c;现在你的需求是要把提交上去的任务按顺序串行执行。 在这样一个需求背景下&#xff0c;Ser…

Text-to-SQL小白入门(三)IRNet:引入中间表示SemQL

摘要 本文主要介绍了IRNet论文的基本信息&#xff0c;比如标题、摘要、数据集、结果&结论&#xff0c;以及论文中提出的不匹配问题和词汇问题以及对应的解决方案&#xff0c;重点学习了中间表示SemQL。 引言 学习论文时&#xff0c;可以先粗略看看论文标题-摘要-数据集-结…

YB2411是一款内部集成有高边高压功率MOSFET管的高频率(2MHz)降压型开关稳压器。

概述&#xff1a; YB2411是一款内部集成有高边高压功率MOSFET管的高频率(2MHz)降压型开 关稳压器。提供单路最大0.6A高效率输出&#xff0c;以电流模式控制方式达到快速环路响 应。 宽范围输入电压(33V至36V)可在移动环境输入的条件下实现各种降压型电 源变换的应用。1uA的…

为什么产品经理不适合做项目经理呢?

虽然产品经理需要具备一定的项目能力&#xff0c;但在实际执行过程中&#xff0c;通常会在开发团队中设置一个类似项目经理的角色&#xff0c;负责把控项目进度和质量。一般情况下&#xff0c;技术经理就是项目经理。 技术型项目经理的特点如下&#xff1a; 充当救火队员的角…

C#矩阵XY排序

矩阵XY快速排序 using MyVision.Script.Method;public class MyScript : ScriptMethods {//struct MOTIONPOSXY_S{public double Pos_x;public double Pos_y;};//脚本执行该方法public bool Process(){//try{//脚本代码写在下方 List<double> PointX GetDoubleList(&qu…

会员管理系统实战开发教程03-会员管理功能

我们上篇介绍了会员管理的列表页&#xff0c;及新增功能开发。本篇我们继续我们的会员管理功能&#xff0c;介绍一下详情、修改、删除功能。 1 创建详情页 打开控制台&#xff0c;点击创建页面的图标&#xff0c;创建详情页 2 数据详情组件 详情页我们也是使用数据容器组…

RTSP/Onvif视频服务器EasyNVR视频平台微信端出现播放失败的问题解决方案

EasyNVR是基于RTSP/Onvif协议接入的视频平台&#xff0c;具备视频直播监控、录像、检索与回看、存储、国标级联等视频能力&#xff0c;可支持将接入的视频流进行全平台、全终端的分发&#xff0c;包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等。 有用户反馈&#xff0c;在…

shopee平台好做吗,有什么优势?

shopee平台提供了一个庞大而活跃的用户群体。作为东南亚地区最受欢迎的购物平台之一&#xff0c;shopee平台吸引了数百万用户每天在该平台上进行交易。这意味着商家可以通过shopee平台获得更大范围和更广泛的曝光机会。无论是刚创业还是已经有一定规模和知名度的企业&#xff0…

最简单的Obsidian图床配置

参考文章&#xff1a; Obsidian 将图片批量上传至图床 Obsidian中图床自动上传设置 前言 配置图床的目的&#xff1a;解决 Obsidian 图片存储问题&#xff0c;一般来说 Obsidian 图片是以本地链接的方式存储在文章当中&#xff0c;当图片移动的时候文章中的图片就会出错。 …

翻倍以链表形式表示的数字

题目&#xff1a; 示例&#xff1a; 思路&#xff1a; 有点相似于&#xff1a;链表相加II&#xff0c;这道题我们仍然有进位&#xff0c;但不同的是&#xff0c;链表相加我们选择了开辟新节点&#xff0c;这道题我们选择反转两次链表&#xff0c;开始一次&#xff0c;结束一次…

能够解决问题的客服电话系统方案

客服电话的应用场景通常是以呼入的电话为主&#xff0c;属于服务性质的更重视服务质量&#xff0c;客服电话方案主要解决呼叫中心运营中的一些问题&#xff0c;下面就来详细了解下。 企业的客服电话通常都是统一的一个热线号码&#xff0c;如&#xff1a;400电话、800电话、95号…

若依Cloud集成Flowable6.7.2

项目简介 基于若依Cloud的Jove-Fast微服务项目&#xff0c;集成工作流flowable(接上篇文章) 若依Cloud集成积木报表 项目地址&#xff1a;https://gitee.com/wxjstudy/jove-fast 后端 新建模块 目录结构如下: 引入依赖 前提:引入依赖之前先配置好maven的setting.xml &…

基于SpringBoot和Vue的前后端分离项目(高校毕业生信息管理平台)

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 基于SpringBoot和Vue的前后端分离项目&#xff08;高校…

OceanMind海睿思签约常州市建筑科学研究院,打造检验检测行业数字化转型标杆

近日&#xff0c;中新赛克海睿思 与 中国知名综合性建筑研究和科技创新型高科技企业——常州市建筑科学研究院集团股份有限公司&#xff08;以下简称“建科股份”&#xff09;达成深度战略合作&#xff0c;为建科股份提供行业领先的数据工程建设服务&#xff0c;携手推进检验检…

视频云存储/安防监控视频AI智能分析网关V3:抽烟/打电话功能详解

人工智能技术已经越来越多地融入到视频监控领域中&#xff0c;近期我们也发布了基于AI智能视频云存储/安防监控视频AI智能分析平台的众多新功能&#xff0c;该平台内置多种AI算法&#xff0c;可对实时视频中的人脸、人体、物体等进行检测、跟踪与抓拍&#xff0c;支持口罩佩戴检…

助力工业物联网,工业大数据之服务域:可视化工具Grafana介绍【三十八】

文章目录 前言08&#xff1a;可视化工具Grafana介绍09&#xff1a;可视化工具Grafana部署10&#xff1a;Grafana集成Prometheus11&#xff1a;Grafana集成MySQL监控 前言 项目所需工具: 链接&#xff1a;https://pan.baidu.com/s/1sIa8nninf2Fz6YqE3vUpqQ?pwd5wr3 提取码&…

mysql数据库管理及增删改查

目录 1、数据库管理 1.1、数据库表的文件 1.1.1、MYD”文件&#xff1a; 1.1.2、“.MYI”文件 1.2、日志&#xff1a; 1.3、mysql 数据库管理 1.3.1、数据库管理命令 1.3.2、数据库列的类型 2、SQL语句 2.1、DDL&#xff1a;数据定义语言&#xff0c;用于创建数据库对…

盖革核辐射检测仪pcba方案设计

核辐射检测仪又可以称为辐射检测仪&#xff0c;根据它的类型可以分为便携式与固定式&#xff0c;两种类型的仪器所应用的领域是不同的。目前市场上存在的辐射报警仪&#xff0c;是一种不带剂量显示功能的仪器&#xff0c;仅有辐射超标报警功能&#xff0c;不能具体显示出它的数…

【PHP】PHP基本语法

1、PHP标记 当解析一个文件时&#xff0c;PHP 会寻找起始和结束标记&#xff0c;也就是 <?php 和 ?>&#xff0c;告诉 PHP 开始和停止解析二者之间的代码。此种解析方式使得 PHP 可以被嵌入到各种不同的文档中去&#xff0c;而任何起始和结束标记之外的部分都会被 PHP…

【VUE】数字动态变化到目标值-vue-count-to

vue-count-to是一个Vue组件&#xff0c;用于实现数字动画效果。它可以用于显示从一个数字到另一个数字的过渡动画。 插件名&#xff1a;vue-count-to 官方仓库地址&#xff1a;GitHub - PanJiaChen/vue-countTo: Its a vue component that will count to a target number at a…