微信小程序开发

发布时间:2024-12-08 16:52

微信小程序里的商品也能通过微信支付购买 #生活知识# #生活小知识# #电子支付#

接收消息和事件

在页面中使用 <button open-type="contact" /> 可以显示进入客服会话按钮。

当用户在客服会话发送消息(或进行某些特定的用户操作引发的事件推送时),微信服务器会将消息(或事件)的数据包(JSON或者XML格式)POST请求开发者填写的URL。开发者收到请求后可以使用发送客服消息接口进行异步回复。

微信服务器在将用户的消息发给小程序的开发者服务器地址(开发设置处配置)后,微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次,如果在调试中,发现用户无法收到响应的消息,可以检查是否消息处理超时。关于重试的消息排重,有msgid的消息推荐使用msgid排重。事件类型消息推荐使用FromUserName + CreateTime 排重。

服务器收到请求必须做出下述回复,这样微信服务器才不会对此作任何处理,并且不会发起重试,否则,将出现严重的错误提示。详见下面说明:

1、直接回复success(推荐方式)

2、直接回复空串(指字节长度为0的空字符串,而不是结构体中content字段的内容为空)

一旦遇到以下情况,微信都会在小程序会话中,向用户下发系统提示“该小程序客服暂时无法提供服务,请稍后再试”:

1、开发者在5秒内未回复任何内容

2、开发者回复了异常数据

各消息类型的推送JSON、XML数据包结构如下。

文本消息:

用户在客服会话中发送文本消息时将产生如下数据包:

XML 格式

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>1482048670</CreateTime>

<MsgType><![CDATA[text]]></MsgType>

<Content><![CDATA[this is a test]]></Content>

<MsgId>1234567890123456</MsgId>

</xml>

JSON 格式

{

"ToUserName": "toUser",      //小程序的原始ID

"FromUserName": "fromUser",   //发送者的openid 

"CreateTime": 1482048670,    //消息创建时间(整型)

"MsgType": "text",        //消息类型

"Content": "this is a test",   //文本消息内容

"MsgId": 1234567890123456    //消息id,64位整形

}

图片消息

用户在客服会话中发送图片消息时将产生如下数据包:

XML 格式

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>1482048670</CreateTime>

<MsgType><![CDATA[image]]></MsgType>

<PicUrl><![CDATA[this is a url]]></PicUrl>

<MediaId><![CDATA[media_id]]></MediaId>

<MsgId>1234567890123456</MsgId>

</xml>

JSON 格式

{

"ToUserName": "toUser",    //小程序的原始ID

"FromUserName": "fromUser",  //发送者的openid

"CreateTime": 1482048670,   //消息创建时间(整型)

"MsgType": "image",      //消息类型

"PicUrl": "this is a url",   //图片链接(由系统生成)

"MediaId": "media_id",     //图片消息媒体id,可以调用获取临时素材接口拉取数据

"MsgId": 1234567890123456   //消息id,64位整型

}

  小程序卡片消息(已被微信废弃)

用户在客服会话中发送小程序卡片消息时将产生如下数据包:

XML 格式

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>1482048670</CreateTime>

<MsgType><![CDATA[miniprogrampage]]></MsgType>

<MsgId>1234567890123456</MsgId>

<Title><![CDATA[Title]]></Title>

<AppId><![CDATA[AppId]]></AppId>

<PagePath><![CDATA[PagePath]]></PagePath>

<ThumbUrl><![CDATA[ThumbUrl]]></ThumbUrl>

<ThumbMediaId><![CDATA[ThumbMediaId]]></ThumbMediaId>

</xml>

JSON 格式

{

"ToUserName": "toUser",       //小程序的原始ID

"FromUserName": "fromUser",     // 发送者的openid

"CreateTime": 1482048670,      // 消息创建时间(整型)

"MsgType": "miniprogrampage",    // 消息类型

"MsgId": 1234567890123456,     // 消息id,64位整型

"Title":"title",          // 标题

"AppId":"appid",          // 小程序appid

"PagePath":"path",         // 小程序页面路径

"ThumbUrl":"",           // 封面图片的临时cdn链接

"ThumbMediaId":""          // 封面图片的临时素材id

}

进入会话事件(已被微信废弃)

用户在小程序“客服会话按钮”进入客服会话时将产生如下数据包:

XML 格式

<xml>

<ToUserName><![CDATA[toUser]]></ToUserName>

<FromUserName><![CDATA[fromUser]]></FromUserName>

<CreateTime>1482048670</CreateTime>

<MsgType><![CDATA[event]]></MsgType>

<Event><![CDATA[user_enter_tempsession]]></Event>

<SessionFrom><![CDATA[sessionFrom]]></SessionFrom>

</xml>

JSON 格式

{

"ToUserName": "toUser",      //小程序的原始ID

"FromUserName": "fromUser",    //发送者的openid

"CreateTime": 1482048670,     //事件创建时间(整型)

"MsgType": "event",        //消息类型

"Event": "user_enter_tempsession", //事件类型,user_enter_tempsession

"SessionFrom": "sessionFrom"    //开发者在客服会话按钮设置的session-from属性

}

网址:微信小程序开发 https://www.yuejiaxmz.com/news/view/415592

相关内容

微信小程序开发之——WebView
微信小程序健康管理系统的开发与实现
悦运动小程序作品—微信小程序
怎样在企业微信中使用小程序?可以给企微客户发送小程序吗?
微信小程序开发:洺宸传媒引领移动应用新潮流!
【微信小程序】基础篇
回收租赁微信小程序支付宝生活号开源版开发
基于微信小程序的时间管理小程序
使用微信小程序开发制作一个简易的日程管理应用
【微信小程序】个人健康管理系统小程序

随便看看