比较好的微信订餐系统源码?

微信订餐系统与传统外卖点餐软件对比有何优势?
日 09:53&&&出处:&& 作者:陈海亮&& 编辑:陈海亮
  一、更灵活的营销活动    商家如果想群发活动信息,可通过微信公众平台自由编辑活动内容,图文并茂,不受任何平台的约束,且100%到达粉丝微信中。而像美团、饿了么商家如果想群发活动或者做信息发布,无论从信息内容、发送成本上都是不太实际的。  二、更吸引人的分享活动    商家可在微铺子兄台那个制定一系列分享活动,成功购买的顾客可以转发并获得返利或优惠,直接激发顾客的转发积极性。而像美团这类平台,很少消费者会主动分享出去。  三、隐藏巨大用户量    微信平台有七八亿的用户,隐藏客户群巨大,如果一个顾客保守估计有20个微信好友,分享一次被10个人看到,再如果10个中有1个人来消费,那么这个人再有20个好友,继续转发分享出去,这样算起来一个顾客所带来的粉丝量就大的惊人。这些分享活动都是可以通过微铺子后台进行设置,转发送积分、送优惠券、送抽奖等等,所以微信的灵活性要远超美团、饿了么这些平台。  四、不用下载APP,更省事    微信分享出去的店铺,可以在微信直接打开,不用下载任何APP,而美团和饿了么这类平台,一般都需要下载APP,比较麻烦,特别对于非wifi用户来说,用微信打开店铺的进店速度要比APP快的多。  五、顾客消费目标更明确    美团上同行商家众多,新人在第一次购买东西的时候很多情况下会对比好久再下单,而像一般新入驻美团的商家,即使你的曝光率靠前被很多人看到,但由于没有销量、好评率低,也不会带来实质性的客户,反而,你的曝光会带来同行商家的曝光率,因为美团有个“其他人还购买了”这样的推荐商品信息,一般此类信息的销量和好评率都很高,所以无形中你在为你的同行拉生意。而像微铺子微信点单系统,你的公众号上就是你自己的店铺信息,所有活动内容都是你自己店铺的,你仅仅需要引导客户关注你的公众号就好了,且一般关注了微信的客户,很少会主动取消关注的,这个是事实。  六、无同行竞争,更公平的营销环境    美团上如果同行想恶意竞争,很有可能会遭到恶意差评,而美团上的评论是无法删除的,这对于一些刚入驻的商家来说是致命的,一旦刚入驻就被差评,后面估计就没有顾客敢买了。而像微铺子微信点单系统,客户评论是商家自己决定开启或关闭的,而且也可以删除不良评论,这对于店铺来说肯定是有利的。  综上所述,虽然短期内微信点单系统还无法和现有巨头直接抗衡,但凭借着微信的越来越开放,使用微信的人越来越多,相信以后微信点单行业会成为主流,您现在看到的也许是下一个商业模式热潮!  微铺子官网:  官方微信号:微铺子  咨询热线:  电子邮箱:
大学生分期购物销量榜
看过本文的人还看了
2425人浏览 769人浏览 626人浏览 481人浏览
汽车之家内容精选
每日精选29516 科技真人秀节目《数码课代表》4935玩客 最好玩的活动与试用平台 46186编辑部的故事 0泡美美 分享最美科技 4304科技生活推荐这篇日记的豆列
······自由、创新、研究、探索
Linux/Windows Mono/DotNet [ Open Source .NET Development/ 使用开源工具进行DotNet软件开发]锐意进取,志存高远.成就梦想,只争朝夕.从你开始,创新世界.【That I exist is a perpetual supprise which is life. Focus on eCommerce】
经过几天的开发、测试微信点餐demo终于完成了,特在此分享下,不好的地方请大家多指正下哈!一开始,就想这东西出来这么久了,网上应该有很多现成的东西,于是,baidu、google了半天,基本没发现现成的东西,也许是我搜索不得其道,也有可能大家都不愿意分享吧...于是,还得自己动手,丰衣足食!
  还是先交代下背景:所谓&微信点餐&,其实就是用户通过微信app,关注公众号,发送指定类型的信息,如地理位置信息,网站返回相关链接到微信上,通过这些链接进入wap或者html5网站,然后开始选择商家、点餐、提交订单等。关于微信app,与订餐网站的关系,我简单的画了一个图,比较潦草,请别喷得太厉害了!如图1,说简单点:微信app通过微信服务器,传给订餐网站(申请公众号时,会输入一个地址,微信服务器就是通过此地址post,get消息的),网站根据收到的消息,返回具体信息,再通过某些信息的链接进入wap或者html5站点。微信公众平台地址:https://mp./ ,这几天好像升级了,不叫公众号了,叫订阅号。
                                  (图1)
  至于,如何申请、如何关注,这里就不赘述了,你懂的。要说明的是:关注后,订餐网站会收到一个用户关注的消息,网站返回一段说明文字,提示如何操作等信息,如图2:
          
                     &&&&&& & & & & & & & & & && (图2)
  下面,我就把我自己设计的处理微信消息的代码介绍下吧,不好的地方,请大伙儿多给我指正指正。还是先上一张UML模型图吧,关于依赖和关联的关系,真不怎么弄得明白,所以都有依赖的关系表示了下,这张图片不是很清晰,有兴趣的可以下载源文件看下,见图3:
      
  下面还是简单对几个类进行说明下吧,这样大家看得明白点。
  BaseNotice.cs,此类表示消息基类,因为每个消息都有几个字段是相同的,如ToUserName、FromUserName、CreateTime、MsgType等,所有抽象出一个基类,此类还有一个抽象方法LoadXml,根据xml返回类的对像的实例。其他具体消息继承此类,加上自己特定的信息。
&&&& text.cs ,此类表示文本消息类,除了有BaseNotice中有的属性外,还有一个Content,表示文本信息内容。且实现LoadXml方法,返回一个text实例,代码如下:
&View Code
/// &summary&
/// 文本消息
/// &/summary&
public class text : BaseNotice
/// &summary&
/// 根据xml返回对像
/// &/summary&
/// &param name="xml"&&/param&
/// &returns&&/returns&
public override BaseNotice LoadXml(string xml)
text notice = new text();
//&ToUserName&&![CDATA[toUser]]&&/ToUserName&
//&FromUserName&&![CDATA[fromUser]]&&/FromUserName&
//&CreateTime&&/CreateTime&
//&MsgType&&![CDATA[text]]&&/MsgType&
//&Content&&![CDATA[this is a test]]&&/Content&
//&MsgId&3456&/MsgId&
System.Xml.XmlDocument d = new System.Xml.XmlDocument();
d.LoadXml(xml);
System.Xml.XmlCDataSection n = d.SelectSingleNode("/xml/ToUserName").FirstChild as System.Xml.XmlCDataS
notice.ToUserName = n.V
n = d.SelectSingleNode("/xml/FromUserName").FirstChild as System.Xml.XmlCDataS
notice.FromUserName = n.V
//n = d.SelectSingleNode("/xml/CreateTime").FirstChild as System.Xml.XmlCDataS
//notice.CreateTime = n.V
n = d.SelectSingleNode("/xml/MsgType").FirstChild as System.Xml.XmlCDataS
notice.MsgType = n.V
n = d.SelectSingleNode("/xml/Content").FirstChild as System.Xml.XmlCDataS
notice.Content = n.V
//n = d.SelectSingleNode("/xml/MsgId").FirstChild as System.Xml.XmlCDataS
//notice.MsgId = n.V
/// &summary&
/// 消息内容
/// &/summary&
public string Content
& location.cs,此类表示地理位置消息类,除了有BaseNotice中有的属性外,还有Location_X(纬度),Location_Y(经度)等信息。实现代码与text.cs差不多,这里就不再贴了。
&&& BaseHandler.cs,表示处理消息的基类,定义了一个抽象方法HandleNotice,由具体处理类,去实现,代码比较简单,如下:
&View Code
/// &summary&
/// 处理消息基类
/// &/summary&
public abstract class BaseHandler
protected BaseN
public BaseHandler(BaseNotice _notice)
notice = _
/// &summary&
/// 处理消息,每个子类重写此法
/// &/summary&
/// &returns&&/returns&
public abstract string HandleNotice();
  TextHandler.cs,此类表示处理文本信息的类,对用户发送的文本进行处理,然后返回相关信息。按上面的描述,发送&d&或者&订单&,返回今天的订单,其他文本,直接返回说明信息。代码如下:
&View Code
/// &summary&
/// 文本信息处理类
/// &/summary&
public class TextHandler : BaseHandler
public TextHandler(BaseNotice _notice)
: base(_notice)
/// &summary&
/// 文本信息处理方法,如果文本信息 = d,返回今天订单
/// &/summary&
/// &returns&&/returns&
public override string HandleNotice()
StringBuilder backmsg = new StringBuilder();
text model = (text)base.
backmsg.Append("&xml&");
backmsg.Append("&ToUserName&&![CDATA[" + model.FromUserName + "]]&&/ToUserName&");
backmsg.Append("&FromUserName&&![CDATA[" + model.ToUserName + "]]&&/FromUserName&");
backmsg.Append("&CreateTime&" + DateTime.Now.Ticks + "&/CreateTime&");
string Content = "";
if (model.Content.ToLower().Trim() == "d" || model.Content.ToLower().IndexOf("订单") &= 0)
ETogoOrder dal = new ETogoOrder();
StringBuilder ordermsg = new StringBuilder("");
IList&ETogoOrderInfo& orderlist = dal.GetList(3, 1, " tempcode='" + model.ToUserName + "' and ordertime & '"+DateTime.Now.ToShortDateString()+"' ", "dataid", 1);
if (orderlist.Count & 0)
ordermsg.Append("今日订单");
foreach (var item in orderlist)
ordermsg.Append("\r\n订单号:");
ordermsg.Append("\r\n" + item.OrderID);
ordermsg.Append("\r\n订单时间:" + item.orderTime.ToShortTimeString());
ordermsg.Append("\r\n订单状态:" + ConfigHelper.TurnOrderState(item.State));
IList&FoodInOrderInfo& foodlist = new EOrderFood().GetAllByOrderID(item.OrderID);
foreach (var food in foodlist)
ordermsg.Append("\r\n" + food.FoodName + "(" + food.FoodPrice + "x" + food.Num + ")");
ordermsg.Append("\r\n==================");
ordermsg.Append("您今天还没有订餐点哦");
ordermsg.Append("\r\n==================");
Content = ordermsg.ToString();
else//其他地方返回原信息
Content = ConfigHelper.GetConfigBackMsg();
backmsg.Append("&Content&&![CDATA[" + Content.ToString() + "]]&&/Content&");
backmsg.Append(" &MsgType&&![CDATA[text]]&&/MsgType&");
backmsg.Append(" &/xml& ");
return backmsg.ToString();
& LocationHandler.cs,此类用于处理地理位置信息,和TextHandler.cs代码差不多,就是实现了HandleNotice方法。
&&& NoticeFactory.cs,此类表示根据消息类型,返回具体处理类,用了简单工厂,每次要增加具体消息处理类,这还要加个分支,有点纠结,代码如下:
&View Code
/// &summary&
/// 根据消息类型,返回对像
/// &/summary&
public class NoticeFactory
const string AssemblyPath = "Hangjing.Weixin";//用于反射
public static BaseHandler CreateInstance(string xml)
BaseHandler handler =
//解析数据
System.Xml.XmlDocument d = new System.Xml.XmlDocument();
d.LoadXml(xml);
System.Xml.XmlCDataSection n = d.SelectSingleNode("/xml/MsgType").FirstChild as System.Xml.XmlCDataS
HJlog.toLog("MsgType=" + n.Value);
Type type = Type.GetType(string.Format(AssemblyPath + ".{0}," + AssemblyPath, n.Value.Trim()), false, true);
BaseNotice noticemodel = (BaseNotice)Activator.CreateInstance(type);
if (noticemodel != null)
noticemodel = noticemodel.LoadXml(xml);
switch (noticemodel.MsgType)
case "text":
handler = new TextHandler(noticemodel);
case "event":
handler = new EventHandler(noticemodel);
case "location":
handler = new LocationHandler(noticemodel);
HJlog.toLog("noticemodel=mull");
 weixinHelper.cs,此类封装了一些基本操作,如验证消息是否来来自微信服务器,获取微信服务器post来的消息,最主要的还是处理消息的地方,不管添加多少消息类型,这里都不用修改,代码如下:
&View Code
/// &summary&
/// 根据接到的信息,返回内容
/// &/summary&
/// &returns&&/returns&
public string HandleData()
string userdata = reciveData();
string backmsg = "";
BaseHandler handler = NoticeFactory.CreateInstance(userdata);//根据不同消息类型,返回具体处理类,
if (handler != null)
backmsg = handler.HandleNotice();
HJlog.toLog("handler != null " + backmsg);
HJlog.toLog("handler == null ");
return backmsg.ToString();
& 客户端(指在公众平台设置的那个链接)代码就相对简单了(不过判断是否网站接入的不知道是什么时间调用的),代码如下:
&View Code
protected void Page_Load(object sender, EventArgs e)
weixinHelper wx = new weixinHelper(Context);
if (wx.isJoin())//如果是网站接入
Response.Write(wx.isValidRequest());
Response.End();
//HJlog.toLog("如果是网站接入");
else//接收消息
Response.Write(wx.HandleData());
//HJlog.toLog("接收消息");
Response.End();
& 通过返回的链接,进入网站后,就全是html5的事儿了,第一次写,还真是用了不少时间。写得不好,代码就不贴了,上几个截图吧【html5界面为我家妞妞制作,妞妞辛苦了^_^】:
& 以上就是微信点餐相关内容了,其实也就那点事儿,写得不好,见谅,有兴趣的就扫一扫吧,如果你也开发这方便的,一起交流下:
阅读(...) 评论()
随笔 - 15154
评论 - 1104郑州最好用的微信订餐系统---微助手 - 信息服务
& 郑州最好用的微信订餐系统---微助手
郑州最好用的微信订餐系统---微助手
郑州森际网络基于微信开发了专业的微信订餐平台系统-----微助手!希望能够通过这套系统帮助郑州的商家快速搭建自己的微信订餐平台。这套微信订餐平台包含了店铺管理、商品上传、下单管理、客户管理、会员管理、公众号配置等等多项强大功能!微信订餐平台微助手系统适用于:餐饮、酒店、水果店、蛋糕店、花店、零售、超市等。
打造属于自己的微信餐厅
开通餐厅微信公共账号,&并与微助手系统后台关联,立刻呈现属于餐厅自己的微信餐厅。借助微信提供的平台,&带来稳固的客流量,节省推广的费用,使餐厅拥有自己独立专属微信餐厅。
精准定位消费群体
关注餐厅的消费者,才是真正属于餐厅自己的客户群体。通过对消费者的数据分析,实现优惠券的
定向发送:&
统计其消费习惯和消费频率及金额,适时发送优惠券带动消费,并可对已发放的优惠券的效果分析。
分析数据,合理优化
收集最有效的消费信息,消费行为信息&。餐厅通过消费者喜好的分析,优化菜品搭配,合理备料、实现降低运营成本、提升销售业绩的目的。
微信点餐功能亮点
1&注册微信服务,拥有微信点餐系统借助微信平台,&通过微信菜单栏和响应式页面,商家即可实现微信菜谱功能,架起与消费者互动的桥梁。
2&微信预定、微信点餐
消费者只需要关注餐厅微信公共账号,即可实现手机微信点餐,同时也成为餐厅的专属会员积分,享受会员注册、会员优惠等会员特权。
3&百度地图服务
茂名点吧系统配有百度地图,精准显示餐厅位置,和周围环境,帮你寻找到最近的餐厅并便捷的抵达餐厅。
确认餐厅,选择日期,挑选合适的预定座位。
5&自助点菜
分类查看菜品信息,按不同口味和做法,选择自己心仪的菜品,并发送给餐厅。
6&一键分享
餐厅位置、美食菜谱等信息可通过微信一键分享功能分享到美食到社交网络,实现口碑传播。
7&会员积分
每一道菜都可以设置积分数量,同一用户的每一个订单都累积积分,餐厅依据消费者的消费习惯、活跃程度,定期提供积分兑换等优惠活动,实现不同类型客户的精准营销。
8多门店连锁聚合
一个微信号入口对接多家门店,实现同一平台上的用户分流,适合连锁店或者自己运营多种不同门店的微生活社区。
公共留言板功能让微信用户自由发表留言,评论集中展示,有利于做好公共监督的和公众服务。
10&订单提醒多样化
微信用户每来一个订单,商家都可以设置短信、邮件、或者无线打印机提醒功能,自由选择,还有防止恶意下订单的短信验证服务。
11&支持多款在线支付
支持商家微信支付、电子储值积分卡、支付宝等各种类型的银联储值卡
详情可来电咨询任经理
以上信息来自互联网,酷易搜行业信息栏目不对以上信息真实性、准确性、合法性负责,请用户自行判断。点餐系统哪个平台好呢?
我找个好一点的点餐平台,把我的餐厅坐上去,不知道哪家好点,功能齐全,服务好点。
我朋友他用的是我点餐系统,他说效果还行,他说这些都差不多,自己用习惯了就好,只要各方面功能齐全就好,只要平台做的成熟,服务态度好就没问题
旗鱼点餐系统基于移动互联网智能云pos的点餐系统。非常先进。
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 微信外卖订餐系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信