【开源分享】微信营销系统(第三方微信平台)github 开源

升讯威微信营销系统(微信第三方平台)前端

在线体验:http://wxcm.eeipo.cn/
开源地址GitHubhttps://github.com/iccb1013/Sheng.WeixinConstruction
做者:曹旭升 sheng.chao   git

说明:有问题上QQ群交流github

QQ群:173459027   591928344数据库

做者最初的指望是实现一个微信云平台,相似于微盟,只须要商家扫码绑定便可提供整套的营销功能。
个人定位是专门服务于线下商家,例如电影院、商业中心、各种线下门店等,线下商家的一些业务场景和业务流程是比较特殊的,和纯现上的公众号运营不尽相同。 这是我最初想找到的切入点,在系统初步上线后,本身也试着作了推广,包括百度关键词、线下陌拜都尝试过,这些细节有机会我会再详细说一说。后端

本项目开源了所有工程和代码,可直接编译后进行部署运行。
微信第三方平台的部署方法是须要先注册微信开放平台,而后申请第三方应用,通过审核和接口联调确认,就可使用了。跨域

本微信第三方平台包括了如下功能: 浏览器

【吸粉】
投票、按期抽奖、聚人气抽奖、摇一摇抽奖、粉丝海报、1元夺宝、发红包、在线捐款 等 缓存

【持续变现】
微官网、微会员、积分商城、卡券、微信支付、分类信息、电影排片 等 安全

【管理考核】
电脑手机双后台、营销二维码、后台用户管理、操做日志 等备注:服务器

1、功能设计

1)设计目标

◇ 为微信服务号提供运营及管理所需的各类功能,包括微官网、微会员、活动中心、营销辅助、微信支付。

◇ 提供简洁友好的功能画面,使非专业技术人员也可以轻易的使用。

◇ 提供可独立于系统以外的插件功能或接口,可轻易对接其它系统或功能模块。

 

2)详细设计

如图,功能的设计从业务上划分,分为五大块:

◇  微官网

         微主页提供若干预置的模版,能够经过上传自定义的主题图片造成本身的微主页,对于有必定开发能力的使用者,提供模版引擎功能,使用一个相似于轻量级CMS的功能,定制本身的微主页。

         电影排片须要写一个蜘蛛程序进行抓取。

◇  微会员

         须要实现一套积分系统,包括在后台对积分规则的设定。积分商城与大多数商城系统相似。

         卡券功能须要支持后台派发和前端在线下经过二维码核销,这一块与微信原生卡券有一个重要区别,在于领取的方式,微信原生卡券主要是自主领取,好比扫码、分享等,可是对于部分线下商户,卡券的派发是要严格管控的,好比电影院的兑换券、景点的门票等,这种场景目前微信自带卡券不能实现。

◇  活动中心

         必须将全部的活动所有模版化,使用户可以简单配置就发起活动,并在活动进行的过程当中提供运营数据报表。

◇  微信支付

         除了打通微信支付之外,须要提供线下的充值和消费能力,好比会员直接在线下向服务人员现金充值,或线下购物时刷二维码消费本身预存的现金,这里实际上意味着须要实现一套比较完整的消费系统。

◇  营销辅助

         可以提供各类运营数据,并提供邮件通知、短信通知的能力。

 

2、架构设计

1)设计目标

◇  稳定可靠,低耦合高内聚,可维护性强。

         稳定可靠主要取决于设计及编码水平,这个无需多解释。低耦合高内聚应该也是你们都了解的原则,为了实现这个目标,项目会按功能模块进行拆分和抽象,具体拆分方式请见下文的详细设计。

◇  易水平扩展,易运维。

         将高频请求的部分和低频请求的部分分解,将内网请求与外网请求分解,可分布式部署,将内网请求部分彻底隔离在防火墙以后或内网环境中,并使对外的高频请求的部分可经过增长服务器来增长承载能力。在设计之初就须要考虑负载均衡及CDN分发所带来的问题,在负载均衡方面,咱们以负载均衡不开启会话保持为设计指标,此外,咱们须要将全部用户上传的文件,或发送的文件,在独立的文件服务器存储,以便于CDN分发和控制流量及带宽,要知道服务器的流量及带宽费用是至关可观的,同时也避免文件传输对服务器带宽的占用而影响业务数据的处理能力。

◇  所选技术应用成熟,生产性(开发维护的效率)高,编码实施难度较低,后续开发容易。

         在具体的技术选型上,选择成熟稳定的技术方案,而不是“牛”的方案,这一点很是重要,由于咱们不是在作研究,咱们是在作项目。或者从另外一个角度来讲,你对技术“牛”和“不牛”是怎样理解的。在此项目中咱们考量如下几个因素:

         a.是否成熟稳定,后续支持怎样。成熟稳定一般表明着问题较少,团队学习成本低,接纳度高,后续支持指的是是否有商业公司或开源社区积极的维护更新。

         b.生产性怎样,是否能够提供足够高的生产性。生产性指的是开发维护的效率,软件开发过程当中最大的成本是人力成本,如何用更少的人作到更多的事,甚至说在市场竞争中你的速度快不快,都至关重要,对于商业项目,我不须要你知道回香豆的“回”有几种写法,我只要你又快又好的给我写一百遍“回”字便可。

         能解决个人问题,成熟稳定,生产性高,能够称之为“牛”的技术。

◇  数据库必须支持分库存储

         基于承载能力扩展性和业务方面的考量,必需要可以将不一样的公众号数据存储到不一样的数据库服务器上。

 

2)详细设计

         架构设计我想分为两个部分说明,一是开发架构,二是部署架构。这两个不一样角度的设计互相影响或者互相制约,必须在设计期间就把握好大方向,作好这件事情须要设计者除了懂开发,还要懂运维,不然很容易形成前人挖坑后人填坑。

 

         1.开发架构

         注意图上的一个矩形模块并不必定就表明着一个程序集,一个逻辑上的“模块”可能由多个程序集共同构成。

         从上向下简单分析,首先是管理端的UI层和手机端的UI层,我习惯将之称为Shell。从图上能够看到管理端Shell和手机端Shell是分开的两个模块,在咱们的解决方案中它们是两个不一样的工程,我也看到过一些微信项目将管理端和手机端放在一个工程中,不管是从安全性、可维护性上说我都强烈不建议你这么作。彻底分开的好处有不少,首先是部署成本,管理端通常状况下是不须要应对大量请求的,而手机端有这个需求,在部署时管理端甚至只需一台服务器便可,而手机端则须要更多的服务器和带宽支撑,另外在工程的前期运维阶段,管理端的版本发布频率可能高于手机端,彻底隔离的开发和部署能够避免在发布管理端时影响到手机端的业务,第二是安全性的问题,手机端从工程上就是彻底不包含任何管理功能的,能够在必定程序上提升安全性。

         接下来是若干辅助服务,报表服务、文件服务,这两个服务是独立的Web工程。和管理端或手机端并非一一对应的关系,一个报表服务器或文件服务器能够为多台管理端或手机端Shell提供服务。

         报表服务器直接提供报表查询和显示的画面,嵌入在管理端中。

         文件服务器提供文件上传下载功能,这个服务有几个技术细节须要注意,聪明的你或许已经想到第一个问题:跨域上传的问题。管理端和手机端都是独立部署的,所使用的域名天然是不一样的,那么在浏览器中上传就存在跨域的问题,不过这个问题并不难解决,我将的后续篇章中介绍,另外一个就是对于(嵌入在微信中的)手机端来讲,是不能直接上传文件的,必须先把文件发送到微信后台,获取媒体ID,再下载下来,这个过程须要文件服务器完成,最后是关注服务号的会员,发文件到服务号上,实际是发到了微信服务器,咱们的文件服务器要能异步的把这些文件从微信后台下载下来。

         定时任务是一个或若干个Windows服务,用于定时执行一些业务。

         业务核心模块这里的介绍比较笼统,在项目中实际对应着实现不一样功能的诸多程序集,限于篇幅和本章节的主旨,仍是留到后文中详细说明业务核心的设计和实现。

         中控服务器主要的功能是维护调用微信API所需的AccessToken,与微信对接时,根据公众号的AppId和AppSecert,你能够获取到一个有效期为2个小时的AccessToken,调用几乎全部的微信接口都须要这个         AccessToken,固然你不能在每次请求API时都获取一个新的AccessToken,这是彻底没有必要的,因此须要一个独立的服务来处理这件事,其它模块须要使用AccessToken时,从中控服务器获取。

         微信SDK并非微信官方提供的,是项目里须要本身实现的部分,微信官方并无提供完善的开发包,只有若干示例。网上有一些开源的微信SDK,可是或多或少存在一些问题,此处使用的是咱们本身实现的SDK包。

         基础架构部分涉及到数据实体的定义、数据协议的定义等等,数据协议指的是各Web工程之间之前单个Web工程中先后端通讯所使用的协议。此外还包括许多共通的功能实现也在这里。

         服务模块封装了项目中所需的许多服务,如:日志、缓存、统一异常处理等等。

         最后是数据层,数据层没有使用Entity Framework,使用的是个人另外一个开源项目S-ORM,下文的技术选型部分有简略的说明和介绍。

 

         2. 部署架构



功能清单:

 

微官网 

运营数据

能够按时段统计实时运营数据,如各项关注指标,积分订单数据等。

微主页

能够经过模块版自定义微主页的样式和功能,也能够彻底经过代码自定义,方便修改调整。

公众号菜单

与微信官方的菜单管理功能打通,在平台中管理发布菜单。

快捷菜单

在微信端打开的页面上,悬浮一个快捷菜单,做为公众号菜单的补充。

分类信息

自定义显示各项分类信息供粉丝查询,如楼层导购,产品信息,导购员信息等等。

自定义页面

自定义 H5 页面实时发布到微信端。

自定义表单

自定义表单供粉丝填写,可用于收集粉丝信息等。

微会员

 

 

 

 

会员管理

与微信官方后台的会员数据联动,并在此基础之上,实现积分管理,现金余额管理,会员卡管理,等等一系列 CRM 相关功能。

群发功能

与微信官方的信息群发打通,在此基础之上,能够与平台中的会员管理进行联动,能够根据平台会员进行有针对性的筛选和定向的发送。

积分商城

一个完整的积分商城功能,支持积分购买、现金购买、积分加现金购买多种方式。 所购商品能够在线下实时核销。

卡券

电子卡券功能,可在后台根据须要制做不一样功能、类型的电子卡券,派发给会员。会员在线下经过展现卡券的二维码进行核销。可制做现金券,代金券,礼品券等等。

本卡券功能彻底为线下场景设计,会员出示二维码,工做人员线下扫码核销。

会员多级推广

为会员生成一个专属的推广连接,引导会员分享,经过此连接引流的新会员,可为老会员奖励积分。

活动中心

投票

在后台实时发起各种主题的投票活动,能够配置活动的规则,会员参与活动、转发,均可以奖励积。

 

 

 

 

 

粉丝海报

在后台发起粉丝海报活动后,上传一张背景图片,会员访问活动页面后,可自动生成一张带有会员头像和二维码的海报图片,粉丝转发此图片后,其它人扫描此二维码可落地到指定的营销页面,并给会员奖励积分。

按期抽奖

按期抽奖可根据周期(如一天、一周等),滚动的让会员来营销页面报名,并在指定的周期结束时,自动开奖。会员转发活动页面也可奖励积分。

聚人气抽奖

会员访问营销页面时,可自动得到一个抽奖码。引导他把活动页面进行转发,分享,他的好友点

 

击访问以后,会奖励他一个新的抽奖码,引流的人数越多,抽奖码越多,管理人员可在必定时间后,手工开奖。

摇一摇抽奖

经过手机的摇一摇功能,进行抽奖。在后台配置好活动周期,奖品,中奖几率后,引导会员访问营销页面,摇动手机进行抽奖。

在线捐款

与微信支付联动,可发起各种不一样的捐款活动,会员可在营销页面上直接使用微信支付捐款。

微信支付

1 元夺宝

与微信支付联动,发起 1 元夺宝活动。

设置

基本设置

 

 

 

 

 

 

 

会员卡级别

能够自定义不一样的会员卡级别,金卡、银卡等,并为会员分配不一样的会员卡。全部的会员都会有一个惟一且固定的会员卡号。

自动回复

与微信官方的自动回复联动,可根据规则配置,自动为会员回复各种信息。

场景二维码

场景二维码与公众号自带二维码功能一致,都是扫码关注,可是场景二维码能够实现对粉丝来源的统计,知道粉丝是扫哪一个二维码关注的公众号,对于地推或不一样渠道的推广来讲,能够知道各渠道的引流效果。

素材管理

与微信官方后台素材管理联动,管理各种型不一样的图文素材。

加强图文素材

与微信原有图文素材相比,能够实现粉丝转发奖励积分的功能。

广告

能够自定义图片广告,并显示在微信平台相关页面上,能够统计各广告的展现,点击次数,分析营销效果。

系统

用户管理

后台用户管理功能,并支持将用户绑定到微信,直接在微信端使用微信版后台。

 

我的信息

后台用户的我的信息维护。

 

修改密码

全部密码使用 MD5 加密传输及存储。

 

操做日志

记录系统中的全部操做状况。

 

更新日志:

微分销模块功能(20180801)

1、后台:
一、增长渠道管理;
二、增长返佣清单;
三、修改订单详情,添加返佣详情;
四、添加查看下级功能;
五、添加审核渠道人员入口;
六、后台提供改价功能(解决部分地区有优惠的场景)
七、解决返佣是按照特色价格(例如扣除评测中心部分)
八、微主页扩展“个人分销Url” {{#DCCenterUrl}}标签

2、前端:一、增长“个人分销”页面:实现分销相关的信息显示和入口(个人返佣、个人下级、推广海报、个人推广码、)二、增长“个人返佣”页面;三、增长“个人下级”页面;

相关文章
相关标签/搜索