首页 > 编程知识 正文

微信公众号菜单栏怎么弄成,微信公众号自定义菜单不显示

时间:2023-05-05 16:56:14 阅读:141393 作者:101

先来看看效果图,图片大小受限,只展示聊天部分,更多效果请看视频

文章目录1、准备1-1、映射外网工具1-2、一个测试微信号1-3、MySql数据库2、启动项目3、视频说明4-1、文本说明4-2、异步处理4-3、主要业务

一.准备

1-1、映射外网工具

在微信公众号和我们的代码面前交流,需要提供我们可以通过外网访问的接口。

ngrok下载、安装、使用

1-2、一个测试微信号只要有自己的公众号,也可以直接拿公众号进行验证。 如果没有的话,可以自己申请测试号码吗?

测试号码除了页面简陋以外,其他功能也大致相似。 我也是这次使用的测试号码。

报名处

1-3、MySql数据库的消息和会话列表需要持久化,必须使用关系数据库

在Linux上安装MySql

在Windows上安装MySql

二、启动项目在github上下载源代码,配置以上三个需求即可。

注:此项目为xdxIm里面的wxkf1.0

https://github.com/xdxTao/xdxIm

三.视频讲义https://www.bilibili.com/video/b v1 aa 411 n7hu /

四、文字说明之前写过一篇描述微信客服的文章,这里只讲以前文章里没有写的内容。

微信公众号接入自己的呼叫系统,定制呼叫系统

4-1、xml解析微信调用我们的接口数据传输格式为xml,例如

xml ToUserName! [ CDATA [ touser ]/tousernamefromusername! [ CDATA [ fromuser ]/fromusernamecreatetime 1348831860/createtime msgtype! [CDATA[text]]/MsgType Content! [ CDATA [ this isa test ]/content msgid 1234567890123456/msgid/XML ]

因此,我们将分析信息。 在这里,我写了分析xml数据的简单方法

/**通过反射,将xml数据封装到对应的实体中。 * @param xmlString xml字符串* @param t返回类型*/publictwxformat (string XML string,ttt ) if ) XMLstring (//典型的XML分析需要这两行[CDATA[ ',' ' ]; XMLstring=XMLstring.replace (() ),); XML string=XML string.substring (5,xmlString.length ) (-6 ); MapString,Object map=new HashMapString,Object (; char [ ] chars=XML string.tochararray (; stringbuildercurfiled=new stringbuilder (; stringbuildercurcontent=new stringbuilder (; 输入标志=0; for(intI=0; i chars.length; I ) if(chars[I]==''flag!=1) { continue; (if ) chars[I]!=' '标志!=1) curfiled.append(chars[I]; 连续; }elseif(flag!=1) { flag=1; 连续; (if ) flag==1chars[I]!=' ' ) {curcontent.append(chars[I]; 连续; (if ) flag==1chars[I]==' ' ) map.put (cur filed.tostring (,curContent.toString ) ); i =curFiled.length () 2; curfiled.delete(0,curFiled.length ); curcontent.delete(0,curContent.length ); flag=0; } } try { Class? aClass=t.getClass (; string key : map.keyset () methodmethod=aclass.getmethod )、String.class (); method.invoke(t,map.get ) key ); }catch(exceptione ) { } return t; }

4-2、异步处理微信呼叫我们的接口超时时间为5s,重复调用三次。 如果三次失败,将向用户显示。该公众号提供的服务出现故障,请稍后再试

这是绝对不能允许的。 因为有时我们的业务太复杂,或者无论如何都会超时,所以这里采用异步方式处理我们的业务。

4-3、主要业务逻辑我们最后要做的效果是,收到某条消息时,如果客服与此人建立了连接,就推送消息,否则让其阅读未读消息1。

4-4、其他业务逻辑4-4-1、建立WebSocket webSocket连接、关闭连接、推送消息

4-4-2、WxHandler接收微信消息的接口

4-4-3、msg控制器获取信息并发送

4-4-4、获取会话列表、创建会话、删除会话

4-4-5、用户控制器客户服务注册、注销

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。