微信快速开发框架(七)--发送客服信息,版本更新至V2.2 代码已更新至github
在V2版本发布的博文中,已经介绍了大多数Api的用法,同时也收到了很多意见,其中发布了几个修正版本,修改了几个bug,在此感谢大家的使用,有了大家的支持,相信快速开发框架会越来越好,也会越来越完善的。
如果您是第一次看到此框架,可以先从以下链接了解下:
一、对微信公众平台开发的消息处理
二、快速开发微信公众平台框架---简介
三、建立微信公众平台测试账号
四、体验微信公众平台快速开发框架
五、利用快速开发框架,快速搭建微信浏览博客园首页文章
六、微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
版本说明
此版本关键是增加了“发送客服消息”接口,之前大意了,忘记写了,幸亏@我想我是风的提醒。
目前此项目属于开源项目,所有代码都在github中,您也可以通过NuGet获取
PM> Install-Package JCSoft.WX.Framework
微信文档中,对于“发送客服消息”有一定限制,必须关注者发送过来消息,包括关注、自定义菜单等事件,我们可以在48小时内通过Post一个Json数据包,发送6种形式的消息。
我用以下名称,对应这6种消息方式:
1、文本消息:MessageCustomSendTextRequest
2、图片消息:MessageCustomSendImageRequest
3、语音消息:MessageCustomSendVoiceRequest
4、视频消息:MessageCustomSendVideoRequest
5、音乐消息:MessageCustomSendMusicRequest
6、图文消息:MessageCustomSendNewsRequest
以上几个Request继承自MessageCustomSendRequest,对应了统一MessageCustomSendResponse。
使用方法
看过之前系列的,应该知道如何使用此Api,这里简单说下几个消息类型的构建:
文本消息:
var textRequest = new MessageCustomSendTextRequest
{
ToUser = "james",
Text = new WX.Model.TextMessage
{
Content = "test content"
}
};
图片消息:
var imageRequest = new MessageCustomSendImageRequest
{
ToUser = "james",
Image = new ImageMessage
{
MediaId = "image_media_id"
}
};
语音消息:
var voiceRequest = new MessageCustomSendVoiceRequest
{
ToUser = "james",
Voice = new VoiceMessage
{
MediaId = "voice_media_id"
}
};
视频消息:
var videoRequest = new MessageCustomSendVideoRequest
{
ToUser = "james",
Video = new VideoMessage
{
MediaId = "video_media_id",
Title = "video test title"
}
};
音乐消息:
var musicRequest = new MessageCustomSendMusicRequest
{
ToUser = "james",
Music = new MusicMessage
{
Title = "test music title",
HQMusicUrl = "hqmusicurl",
MusicURL = "musicurl",
ThumbMediaId = "media_id"
}
};
图文消息:
var newsRequest = new MessageCustomSendNewsRequest
{
ToUser = "james",
News = new NewsMessage
{
Articles = new List<NewsArticleMessage>
{
new NewsArticleMessage{
Title = "Happy Day",
Description = "Is Really A Happy Day",
Url = "url1",
PicUrl = "picurl1"
},
new NewsArticleMessage {
Title = "Happy Day",
Description = "Is Really A Happy Day",
Url = "url2",
PicUrl = "picurl2"
}
}
}
};
以上实例中,ToUser为用户的OpenId
构建了Request后,只要使用IApiClient.Execute(request)即可得到微信服务端给我们的反馈。
实战测试
测试中,我只测试了文本消息和图文消息,通过执行后,结果如下图所示:
其余几个至测试了输出的json数据包,并未实战测试,大家也可以帮我测试下。
写在最后
这次非常感谢几位朋友的测试,对我完善框架提供了很大的帮助,因为精力有限,有时候难免会出现这样或者那样的错误。现在体会到开源的好处,不仅可以完善自己的项目,还能提高自己的水平,也希望大家也进入开源的大军来。
这1个月,在万网购买了主机和域名,现在大家可以通过浏览以下网址了解微信快速开发框架:
http://www.wxquickframework.com
微信快速开发框架(七)--发送客服信息,版本更新至V2.2 代码已更新至github的更多相关文章
- 微信快速开发框架(八)-- V2.3--增加语音识别及网页获取用户信息,代码已更新至Github
不知不觉,版本以每周更新一次的脚步进行着,接下来应该是重构我的代码及框架的结构,有朋友反应代码有点乱,确实如此,当时写的时候只是按照订阅号来写的,后来才慢慢增加到支持API接口.目前还在开发第三方微信 ...
- 微信快速开发框架(九)-- V3.0发布,代码已更新至Github 新增微店功能
版本内容 1.修正了缺少对Event.View的支持 2.增加了用户UnionID 3.新增微信小店功能 4.多客服功能 5.单元测试 什么是UnionID 我们知道,每个用户针对一个微信公众账号都有 ...
- java微信开发(wechat4j)——发送客服消息
微信支持主动发送客服消息.如果你要实现此功能,需要使用CustomerMsg类. 获得access_token access_token请求之后有一个过期时间,微信平台建议你使用一个中控服务器来定时刷 ...
- 微信公众号发送客服消息提示errcode":45015,"errmsg":"response out of time limit or subscription is canceled hint:解决办法【已解决】
微信公众号发送客服消息提示errcode":45015,"errmsg":"response out of time limit or subscription ...
- 微信快速开发框架(六)-- 微信快速开发框架(WXPP QuickFramework)V2.0版本上线--源码已更新至github
4月28日,已增加多媒体上传及下载API,对应MediaUploadRequest和MediaGetRequest ------------------------------------------ ...
- php 微信客服信息推送失败 微信重复推送客服消息 40001 45047
/*** * 微信客服发送信息 * 微信客服信息推送失败 微信重复推送客服消息 40001 45047 * 递归提交到微信 直到提交成功 * @param $openid * @param int $ ...
- 微信小程序之快速接入七牛云
小程序为什么要接入云? 目前,开发者在开发小程序过程中,主要遇到以下几个问题: 小程序发布大小超限 微信官方限制小程序的发布代码不能超过 1MB,而在实际开发过程中,一般的小程序难免会有图片等富媒体文 ...
- 如何让微信小程序快速接入七牛云
如果你确定用七牛运行小程序的话,给大家分享一个九折优惠码:61d1fd4d1 月 9 日 微信小程序正式发布,小程序终于揭开了它神秘的面纱,开发者对小程序的追捧更是热度不减.从小程序的热门应用场景来看 ...
- 微信公众平台快速开发框架 For Core 2.0 beta –JCSoft.WX.Core 5.2.0 beta发布
写在前面 最近比较忙,都没有好好维护博客,今天拿个半成品来交代吧. 记不清上次关于微信公众号快速开发框架(简称JCWX)的更新是什么时候了,自从更新到支持.Net Framework 4.0以后基本上 ...
随机推荐
- 【requireJS路径加载】与程序员小卡的交流
这两天正好看到了程序员小卡同学的一篇博客,里面对requireJS路径的解析做了一些说明,里面有点问题待解决,我这里正好知道一点,所以整理成文,不知对小卡同学是否有帮助. http://www.cnb ...
- 走进SVG
什么是SVG?也许现在很多人都听说过SVG的人比较多,但不一定了解什么是SVG:SVG(Scalable Vector Graphics 一大串看不懂的英文)可伸缩矢量图形,它是用XML格式来定义用于 ...
- iOS用三种途径实现一方法有多个返回值
以前觉得这种标题有点偏向于理论,实际开发中怎么会有这种诡异的需求,但是真正遇到了这种硬需求时觉得还是有那么点价值的,理论付诸了实践在此也就做了个整理. 以我私下开发中的一处代码为例,本意是希望有这么一 ...
- android 内存溢出与内存泄露
内存溢出就是软件运行需要的内存,超出了java虚拟机给他分配的可用的最大内存 内存泄露就是在缓存图片文字等等的时候,没有关闭流所导致的内存泄露
- git rebase与 git合并(error: failed to push some refs to)解决方法
1.遇到的问题 本地有一个git仓库,在github上新建了一个空的仓库,但是更新了REWADME.md的信息,即在github上多了一个提交. 关联远程仓库,操作顺序如下: git remote a ...
- stl之截取:以一段字符串截取字符串
string dforder = line.substr(0,line.find("\t")).c_str(); 解析: line为传进来的string类型 substr查找第0位 ...
- Oracle 12c 使用scott等普通用户的方法
目录: 一.前言 二.使用普通用户 三.自动启动PDB 一.前言 最近电脑上安装了oracle 12c数据库,想体验下新特性.安装完后,便像11g一样在dos窗口进行下面的操作: SQL Produc ...
- 设置 Unix,Linux环境下的NLS_LANG
设置 NLS_LANG 变量 1) 正确配置 LC_ALL 参数 2) 配置 telnet/ssh/SecureCRT 客户端的字符集 linux中可以用locale命令来查看 NLS_LANG设置, ...
- Java 6 JVM参数选项大全(中文版)
原文来自: http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm 本文是基于最新的SUN官方文档Java SE 6 Hotsp ...
- 理解Docker(2):Docker 镜像
本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...