基于微信平台的微茶城系统研究与设计

2018-04-26 05:00王振辉
微型电脑应用 2018年4期
关键词:店铺逻辑微信

王振辉

(西安翻译学院 工程技术学院,西安 710105)

0 引言

茶叶曾是古丝绸之路和海上丝绸之路经贸往来的重要商品,也是现代人们必备的健康、绿色饮品。如何在“一带一路”、“互联网+”等国家战略引领下,加快茶叶生产、加工、销售环节的信息化建设,特别是创新电子商务营销模式,复兴中华茶文化,振兴茶产业,提高茶行业人口红利,是茶行业急需解决的问题[1]。

微信是拥有庞大用户群的碎片化聊天工具,具有方便、快捷、功能强大的优点,不仅具有社交软件交流、信息推广能力,也具备强大的在线商品销售和支付功能。手机微信应用热度持续升温,基于“商城+手机端+微信”的微商城应运而生[2-3]。与传统电商相比,微信固有的四大功能:微信帐号登录、 微信支付购买、微信互动通知、消费者主动传播分享功能,迎合了互联网+时代各行各业O2O电商模式的需要,为商家提供了集销售、支付、宣传、推广为一体的良好平台[4-5]。作为电子商务移动端的典型应用模式,微商城已成为移动电子商务的一种崭新的宣传和交易平台。

为此,文章提出了基于微信平台的微茶城系统框架,以MySQL数据库管理茶城业务交易数据,采用JSON作为手机端和数据库后台的数据交换标准,使用微服务框架和MVC设计模式,提升微茶城应用系统的通用性、可靠性和可维护性。

1 微茶城系统框架

1.1 设计思想

首先,微茶城体系结构选用面向服务的架构。面向服务架构,将软件系统中的应用组件按松散耦合的粗粒度方式进行部署、集成和应用。各组件服务之间通过简单、精确定义的接口进行相互通讯。可以快速、可靠、使用复用方式架构整个业务系统,也可以灵活应对系统业务变化。

其次是在设计时采用微服务框架。通过将系统分解为可管理的服务来解决系统复杂性问题。每个服务可由单人或单独团队开发,因此单个的服务可以更快的开发,更简单的理解和维护及独立部署。微服务倡导服务的细粒度,重用组合,一个微服务一般完成某个特定的功能,比如购物车管理、订单管理等。通过定义服务和功能组件可以提升应用程序的复用性和通用性。

最后,在微茶城系统中采用JSON作为数据交换标准。JSON属轻量级数据交换格式能够替代XML的工作,其数据格式良好,更易于解析和读写,数据是压缩的,传输速度远远高于XML。所以,设计时在微茶城前台APP和后台网站之间采用JSON数据格式进行数据交换。

1.2 微茶城开发平台

微商城是使用微信认证服务号的九大接口权限完成的开发,系统实现时主要通过微信的规则来调用微信公开的接口来实现,但编程效率低,可扩展性和可靠性差。所以,一般采用免费的微信二次开发平台来实现。Jeewx是高效的微信开发平台,采用Java语言,支持敏捷开发,使开发者专注于微信具体业务的开发,短时间内构建企业应用,同时保证了系统的复用性和二次开发特性,安全性好,开发成本低,是本文微茶城系统选用的微信开发平台。

1.3 系统体系架构

微茶城系统分为管理后台和手机购物前台,按照经典Web开发模式分为三层:表示层、业务逻辑层和数据层。用户分为客户、店铺管理员、茶城管理员三类。表示层主要是指与客户交互的微茶城前端APP应用界面,部署在智能手机端,用于接收用户输入的数据和显示处理后用户需要的数据。业务逻辑层是表示层和数据层之间的桥梁,由茶城管理后台中的Web应用组件负责,部署在Web服务器上,实现业务逻辑,包括:用户验证、安全管理、数据操作等业务规则等。业务层通过访问数据层,从数据层取数据、修改数据以及删除数据,并将结果返回给表现层。数据层是数据库或者数据源,在微茶城系统中,用于保存茶城业务数据,一般采用关系数据库,部署在数据库服务器上。微茶城系统体系架构图如图1所示。

图1 茶城体系结构图

1.4 系统逻辑结构

微茶城系统前端和后台管理程序均采用MVC模式进行开发,以使产品的结构清晰,产品的应用通过模型可以得到更好地体现。其中后台管理系统使用Spring MVC框架实现客户管理、茶品管理等功能。相对SSH框架,Spring MVC通过Servlet实现控制流程功能,是更轻量级的Web框架,将MVC架构进行了职责解耦使用请求、响应模型,简化了开发过程。

前端APP软件对MVC模式进行优化,增加数据接口层,采用四层架构模式,进一步降低各层之间的耦合依赖关系,增强系统复用性,利于系统的二次开发和升级。下面详细介绍微茶城前端App软件逻辑结构。

(1)数据接口层

数据接口层介于数据资源和业务逻辑之间。将对后台系统中的数据访问和高层的业务逻辑清晰的分离。主要完成连接数据库、数据增、删改和第三方API数据访问等细节。将底层数据访问操作和业务逻辑分离开,对业务层提供面向对象的数据访问接口。

(2)业务层

业务层主要是业务逻辑操作,按照每个模块运行策略、事务处理逻辑进行组织。业务层调用数据接口层实现各种业务方法,如验证用户是否存在。同时,业务层为控制层提供必要的业务逻辑和校验。

(3)控制层

控制层对应Android应用中的Activity,通过程序逻辑负责接受用户的输入并调用业务层的业务处理方法和表示层的组件去完成用户的请求,并通过用户请求实现Activity的跳转。

(4)表示层

表示层对应Android应用中的Layout,通过XML文件定义具体手机应用每个屏幕的样式和控件。在Activity中的生命周期方法onCreate()加载。微茶城系统前端逻辑结构图,如图2所示。

图2 微茶城系统前端逻辑结构图

2 微茶城系统设计

2.1 微茶城系统主要功能

本系统在对西安西北国际茶城、西部京闽茶城茶商调查的基础上、结合众多顾客的意见,做了详细的需求分析。微茶城系统的主要使用者包括茶城管理员、茶商和顾客。其中,茶城管理员负责会员管理、店铺管理等功能。茶商可以在系统中建立店铺信息、发布产品和促销信息,进行订单在线处理。顾客注册后进入茶城浏览茶品、管理购物车,可以下单购买和查看订单状态。系统主要功能图用UML中的用例图描述如图3所示。

图3 微茶城系统用例图

2.2 数据结构设计

MySQL是多用户、多线程的开源数据库系统,具有优良访问性能,是微茶城系统网站首选的数据库存储解决方案。

对应系统功能模块和内部业务逻辑,微茶城系统主要设计了以下基于MySQL数据库的数据结构:

(1) 会员表: (会员编号,昵称,姓名,手机号码,密码,性别,年龄,头像编号,电子邮件)。

(2) 店铺信息表: (店铺编号,店铺名称,店铺简介,头像编号,联系电话,联系人姓名, 店铺地址,经度信息,纬度信息)。

(3) 商品表: (商品编号,店铺编号,商品名称,商品原价,商品现价,商品总数,评分, 添加时间)。

(4) 订单表: (订单编号,产品编号,会员编号,店铺编号,价格,完成状态,下单时间)。

(5) 图片表: (图片编号,新闻编号,商品编号,商品评价编号,图片地址)。

(6) 头像表: (头像编号,头像状态,头像地址)。

(7) 商品评价表: (商品评论编号,会员编号,评论文字,评分,评论时间)。

(8) 茶文化交流表: (编号,会员编号,文字信息,发布时间,点赞次数,经度,信息, 纬度信息,发布时所在地址信息)。

(9) 用户登录行为记录表(编号,会员编号,登录时间,手机号码,经度,纬度,登录时所在地址信息,登录状态)。

3 关键技术

3.1 在线客服

为增加用户体验,提高在线营销能力,微茶城系统中为每个店铺增加365webcall在线咨询的功能。365webcall客服系统和微信实现对接的方法有两种。一是在APP菜单中嵌入在线客服链接,通过Web页面和OMS(订单管理系统)客服对话。二是用户在直接微信里输入消息和OMS后台客户沟通,由于微茶城为服务号且通过微信认证,启用了开发模式,所以,采用第二种方法,用户操作上方便,易用性更好。应用效果图,如图4所示。

图4 365webcall在线客服初始界面

3.2 JSON数据读写

JSON相对XML具有解析速度更快,占用空间更少的特点,故系统中数据流采用了JSON数据标准。系统中的服务端和客户端数据交换大量应用了JSON读写技术,其处理效率,也将直接影响手机端用户体验。所以,文中采用性能优异的阿里巴巴FastJson开源处理工具包,来实现JSON数据的读写。具体操作步骤如下:

(1)服务器端将数据转换成JSON字符串

(2)客户端将JSON字符串通过泛型技术转换为相应的JavaBean。

上面是“序列化”操作,对应JSON写操作,其逆过程 “反序列化”对应了JSON读操作。

3.3 地图定位

系统的店铺定位和茶文化发帖的定位及用户登录地记录,均需要对地址进行定位和反地址编码,在微信开发时获取当前地理位置可以采用三大地图API:百度地图API、Google地图API、腾讯地图API。鉴于百度地图控件更适应国内城市地理信息,且资料更新最快,微茶城系统中采用百度地图API实现LBS 定位和反编码等功能,实现步骤如下:

(1)注册百度开发者

(2)获取API key

(3)下载百度地图SDK开发包

(4)在Android项目中引用百度SDK

(5)在清单文件中添加开发者密钥和所需权限

(6)布局文件中添加地图控件

(7)程序文件中添加地图事件处理逻辑

3.4 登录安全性设计

手机易遗失,且容易根植后门程序,特别是微信的自动登录特性,容易给微茶城系统带来安全隐患。目前手机登录程序存在两个缺陷,首先是Android手机中采用基于首选项的参数设置[6]来记忆账号和密码,以XML文件存储,虽然易读性好,但明文存放,账号安全毫无保障。其次,只采用密码方式,容易受到冒名登录或穷举软件攻击。解决的手段是采用MD5技术对首选项中的隐私数据进行加密处理,同时创新性的在登录时采用密码、手机验证码、用户位置(百度地图API编程)、登录次数限制等多因子进行验证,从而可以进行用户真实身份认证和登录行为取证。微茶城系统手机端用户登录验证模型如图5所示。

图5 手机端用户登录验证模型

4 总结

针对移动互联网时代对传统网店茶营销模式的变革和基于微信开展微茶城的O2O电子商务模式研究,使用Jeewx微信二次开发平台和微服务框架设计了微茶城系统。该系统分为5层,分别为表示层(手机App操作界面),数据接口层(茶城数据库访问接口、第三方API接口)、业务逻辑层(实现用户管理、店铺管理、茶类管理、订单管理等操作)、控制层(实现用户请求数据、系统响应数据的接收和转发)和数据层(MySQL数据库),切实保证了系统的复用性和易用性。同时使用百度地图实现了店铺定位功能和用户登录控制功能,使得系统具有技术新、功能可靠、操作简便等特点,可以满足茶城移动电子商务的需求,对企业级和区域级农产品的移动电子商务平台建设具有很好的借鉴意义。下一步研究的工作放在基于大数据分析技术的茶城商业数据挖掘层面,通过对用户属性和行为、关注度等内容分析,更精准化的进行用户营销和社会化影响策略的制定,实现精准化茶产品生产设计和市场决策。

[1] 汪辉进,郑小平.网络信息服务系统在茶产业的应用研究[J]. 食品工业,2013(5):171-173.

[2] 陈宏. 微信电商——一种新型的电商模式[J]. 职业技术,2014(5):104.

[3] 姜欣欣. 基于微信的电子商务模式研究[D].北京:北京邮电大学,2015.

[4] 倪懿,郭叙林,陈桂珍. 基于ISMAS模式的特色农产品微信营销系统研发——以苏州乡韵太湖鹅有限公司为例[J]. 江苏农业科学,2014(11):461-463.

[5] 王磊. 农产品价格采集、预测及微信发布系统的设计与实现[J]. 湘潭大学自然科学学报,2015(2):121-126.

[6] 胡锐,赖万昌,曾国强,等. 基于Android系统的X射线荧光光谱测量软件开发[J]. 核电子学与探测技术,2014(2):243-248.

猜你喜欢
店铺逻辑微信
刑事印证证明准确达成的逻辑反思
老店铺杂事
逻辑
创新的逻辑
苏轼的店铺
女人买买买的神逻辑
微信
微信
微信
2015五道口店铺回访