《spimo微信端营销平台的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
TP311学号;1425025撕学校代码:10270分类号:,?a上毒畔兹乂爹硕dr专业学位论文y—Ik.SPIMO微信端营销平台的设计与实现..;V.■■硕±^专业学位类别:工程r;!V■.??-I专业领域;计算机技术;作者姓名扯指导教师:李鲁群张建华答辩日期;2016年5月18日 上海师范大学硕士学位论文摘要摘要“互联网+”概念的提出给中国传统行业带来了巨大的改变,它也成为众多行业发展的机遇。因此“互联网+传统行业”这一新业态已经被越来越多的传统行业所重视。中国邮政集团上海分公司的直属机构上海邮政国际邮购有限公司(SPIMO),后文简称上海邮政,也希望通过“互联网+邮寄业务”来改变公司的业务模式,这是上海邮政实施业务转型的重要尝试。上海邮政转型的第一步是截至2015年9月份,在全市各区县共设有43个“海淘屋”实体店,至2016年将开出120家,主要为全市居民提供海外商品的销售。在过去一年的销售中发现实体店的销售不仅远远不能满足消费者的购买需求,也未能带动内部大量营销员这一人力资源,更无法有效利用邮政传统的寄递服务的优势。随着消费方式的变化,线上和线下O2O相结合的电子商务消费才是发展的主流。邮政急需一个针对“海淘屋”的轻巧实用,主动深入客户,并能够建立一个1:N分销模式的营销平台,此平台营销员可以推广商品并带来忠实消费者,又可以将现有的寄递服务最大化利用。目前邮政现有的“邮政海外购”PC端网站虽然能够将自身的寄递服务充分结合起来,但是不能达到方便内部营销员利用碎片化时间随时分享和营销商品的目的。现有的“上海邮政海淘屋”微信公众号也仅能供个别管理人员推送商品消息,还是不能够充分利用现有的人力资源,并且无法作为一个通用平台满足其他商户的接入。针对上述问题,本文设计出SPIMO微信端营销平台系统。第一,利用微信JS-SDKAPI,结合JavaEE技术进行微信的二次开发,解决系统想要实现轻便小巧的问题。微信分享功能的二次开发将助于商品的推广及消费者无需注册也可完成商品的购买。第二,利用URL携带参数的方式将记录每一商品的分享者完成1:N分销模型的搭建。第三,利用ApachePOI技术完成订单等重要数据的导出功能。本文生成的营销平台,能够帮助企业及个人增加利润,市场实际应用价值高。最后通过上海邮政的测试及使用表明,系统的运行稳定高效,仅仅上线半个月就带来了200多名消费者。其中SPIMO微信端营销平台完成的几个关键的功能模块是分享商品功能、积分及提现功能、统一数据管理、第三方商户接入(商户只需提供商品推送接口,接口中包括商户号、商品推送方法名称即可完成第三方商户的接入。目前本平台只接入了“海淘屋”这一平台。)。本文的创新工作内容如下:(一)、本文实现的基于微信端的营销平台不同于移动端原生APP,利用JavaEE、WebService、BootStrap等技术生成可直接部署在微信公众号上的APP,I 摘要上海师范大学硕士学位论文无需消费者注册账号就可完成购买的过程,简化了购物流程。不占用消费者任何软硬件资源。比起目前行业内的其它电子商务更加便捷。(二)、购买流程建立了一个1:N的分销关系模型。对于邮政后期分销模型的拓展提供了思路。关键词:SPIMO;电子商务;JS-SDKII ShanghaiNormalUniversityMasterofPhilosophyAbstractAbstractTheconceptof"Internet+"hasbroughtahugechangetotraditionalindustriesinChina,ithasalsobecomeopportunitiesforthedevelopmentofmanyindustries.Therefore,"Internet+traditionalindustries"hasbeenmoreandmoreattentiontotraditionalindustriesasthenewformat.InstitutionsdirectlyundertheChinaPostGroupShanghaiBranchofShanghaiPostInternationalMailOrderCo.,Ltd(SPIMO),hereinafterreferredtoastheShanghaiPost,alsohopethatthroughthe"Internet+Mailservice"tochangetheirbusinessmodel,whichisanimportantattempttoconductpostalbusinesstransformation.ThefirststepinthetransformationofShanghaiPostasofSeptember2015,inthecity'sdistrictsandcountiesatotalof43"seaAmoyHouse"store,2016willbeout120forthecity'sresidentsaremainlysoldoverseasgoods.Wefoundthatinthepastyearsalesinthestore'ssalesnotonlycannotmeettheneedsofconsumersbuy,butalsofailedtodrivealargenumberofinternalmarketingstaffofthehumanresources,butcannoteffectivelytakeadvantageofthetraditionalpostalservicedeliveryconcerns.Mainstreame-commercespendingisunderdevelopmentwiththechangeinconsumptionpatterns,onlineandofflineO2Ocombination.Postneedforalightweightandpracticalforthe"seaAmoyhouse",activein-depthcustomerandtheabilitytobuilda1:Ndistributionmodelmarketingplatformthatmarketerscanpromotetradeandbringloyalconsumers,butalsotheexistingmaximizetheuseofservicedeliveryconcerns.Postcurrentlyexisting"postaloverseaspurchase"PCterminalsitethoughtheirservicedeliveryconcernscanbefullyintegrated,butnoteasytoachieveinternalmarketingstaffusefragmentedtimeandreadytosharemarketingmerchandisepurposes.Existing"ShanghaiPostalseaAmoyhouse"micro-channelpublicnumberisalsoonlyforindividualmanagerspushcommoditynews,ornotbeabletomakefulluseofexistinghumanresources,andnotbeusedasacommonplatformtomeetotherbusinessaccess.Inresponsetotheseproblems,wedesignedSPIMOWeChatmarketingplatform.First,theuseofWeChatJS-SDKAPI,combinedwithJavaEEtechnologyforsecondarydevelopmentofWeChat,compactandlightweightsystemtosolvetheproblemyouwanttoachieve.WeChatsharingsecondarydevelopmentwillcontributetothepromotionandconsumergoodswithoutregistrationcanalsobedonetobuyIII AbstractShanghaiNormalUniversityMasterofPhilosophygoods.Second,theuseofURLparametersmannertocarrygoodsrecordedeachsharetocomplete1:Ndistributorstobuildthemodel.Third,theuseofApachePOItechnologytocompleteordersandotherimportantdataexportcapabilities.Thisarticlegeneratedmarketingplatformtohelpcompaniesandindividualstoincreaseprofits,highrealmarketvalue.Finally,theShanghaiPostandusetestsshowthatstableandefficientoperationofthesystem,onlytwoweekstobringonlinemorethan200consumers.SeveralofthekeyfunctionalmodulesSPIMOWeChatmarketingplatformistosharecompleteproductfeatures,integrationandwithdrawalfeatures,unifieddatamanagement,accesstothird-partymerchant(Simplypushbusinessestoprovidegoodsinterface,whichincludesthebusinessnumber,tradenamepushmethodtocompletethethird-partymerchantsaccess.Atpresent,theonlyaccesstotheinternet"seaAmoyhouse"platform.).Innovationcontentsareasfollows:(一)BasedWeChatmarketingplatformdifferentfromthemobileterminalpaperimplementsnativeAPP,theuseofJavaEE,WebService,BootStraptechnologiesgeneratedeployeddirectlyontheWeChatpublicnumberofAPP,withouttheconsumerregisteredaccountcancompletethepurchaseprocess,simplifytheshoppingprocess.Consumersdonottakeupanyhardwareandsoftwareresources.Comparedtoothere-commerceindustryiscurrentlymoreconvenient.(二)thepurchaseprocesstoestablisha1:Nrelationshipdistributionmodel.Fortheexpansionofthepostaldistributionnetworkmodelprovidesalateidea.KeyWords:SPIMO;electroniccommerce;JS-SDKIV 上海师范大学硕士学位论文目录目录摘要·······························································································IAbstract·························································································III目录······························································································V第1章绪论·····················································································11.1研究背景及意义······································································11.2国内外研究现状······································································41.2.1移动互联网环境下网络营销现状·········································41.2.2微信给移动互联网环境下网络营销带来的影响························61.3主要研究内容·········································································81.4论文的组织结构······································································91.5本章小结···············································································9第2章相关知识与技术····································································102.1微信端营销平台的概念和优势··················································102.2微信开发介绍·······································································102.2.1微信开发环境准备·························································102.2.2营销平台与微信服务器的数据交互····································112.3营销平台分销模型建立···························································142.4技术路线·············································································152.5本章小结·············································································17第3章系统需求分析·······································································183.1营销平台系统的组成······························································183.2系统业务需求·······································································193.2.1营销员业务需求·····························································203.2.2后台管理员业务需求·······················································203.2.3消费者业务需求·····························································203.3系统功能需求·······································································203.3.1系统功能概述·······························································203.3.2系统功能模块分析·························································213.4系统非功能需求····································································233.4.1界面需求······································································233.4.2易用性需求···································································233.4.3可移植性需求································································243.5本章小结··············································································24第4章系统总体设计·······································································25V 目录上海师范大学硕士学位论文4.1系统平台的选择和部署···························································254.1.1系统平台的选择·····························································254.1.2系统平台的部署·····························································264.2系统功能流程设计·································································264.3系统功能模块设计·································································274.3.1营销员服务模块设计·······················································284.3.2商品服务模块设计··························································294.3.3订单服务模块设计··························································314.3.4积分服务模块设计··························································324.3.5管理员服务模块设计·······················································334.4系统数据库设计····································································344.5本章小结·············································································36第5章系统详细设计与实现······························································375.1系统环境及首页····································································375.1.1系统环境·····································································375.1.2系统首页·····································································375.2营销员服务功能详细设计与实现···············································395.2.1营销员注册申请····························································395.2.2营销员找回密码····························································395.2.3营销员资料修改····························································415.3商品服务功能详细设计与实现··················································425.3.1商品查询·····································································425.3.2商品分享·····································································465.3.3商品购买·····································································485.4订单服务功能详细设计与实现··················································495.4.1订单列表查询·······························································495.4.2支付结果信息查询·························································525.5积分服务功能详细设计与实现··················································535.5.1积分查询·····································································535.5.2积分兑换·····································································545.6管理员服务功能详细设计与实现···············································555.7本章小结·············································································58第6章系统测试·············································································596.1功能测试·············································································596.2性能测试·············································································596.3本章小结·············································································60第7章结论与展望··········································································617.1结论···················································································61VI 上海师范大学硕士学位论文目录7.2进一步工作的方向·································································61参考文献·······················································································63攻读学位期间取得的研究成果····························································65致谢·····························································································66VII 上海师范大学硕士学位论文第1章绪论第1章绪论1.1研究背景及意义邮政传统的服务主要集中在包裹寄递、信件、邮发报刊等业务上,这些业务[1]的发展随着“互联网+”时代到来已经慢慢的出现萎缩。其快递寄递服务在市场的占有率对比其他快递公司近几年的快速发展所开拓出的市场占有率来说更是排不上名次。其他快递公司交易量的激增很大部分取决于2003年淘宝网成立。继此之后购物型网站或APP便如雨后春笋一般渗入企业。特别是智能手机的普[2]及,从奢侈品变为日常生活的必要工具,使得通过移动终端购物更加便捷而得到用户的依赖。如图1-1显示了近几年中国智能手机用户数的变化预测情况。因此邮政为了巩固自己在寄递行业的地位,把握互联网时代的特殊机遇,利用好邮政自身丰富的经验、政策优势及广泛的区域网点覆盖的支持,需要发展电子商务对自身业务进行转型。而邮政发展电子商务的前提就是要设计一个重客户、促推广、易移植、轻维护的商品营销平台。图1-1中国智能手机用户数变化预测图邮政通过发展电子商务转型之前做了大量的尝试,这些前期的工作一方面确实给邮政的业务量带来了好转,另一方面一些区域网点的努力尝试给了邮政其他网点借鉴。例如“邮上海”网站的上线正是上海邮政为了适应市场发展而推出的一款网上商城;除了自己推出商城网站之外,邮政还试图同第三方企业展开合作,即使是中国较为偏远的地区,中国邮政也能凭借其物流优势为用户提供众多品牌的产品,2009年中国邮政和TOM集团携手呈现“邮乐网”正是将双方在各自领域独有的经验和资源紧密结合在一起的充分体现,这是线上销售同线下物流于一体的完美购物新平台;江西省邮政速递物流公司于2010年上线的“邮礼网”依1 第1章绪论上海师范大学硕士学位论文托EMS提供一站式专业礼仪服务。上述一系列成功的尝试让邮政发展电子商务[3]转型的信心更加高涨。2014年中国邮政又与电商巨头阿里巴巴签订合作协议,这对邮政寄递业务的发展无疑是一种推动作用。2015年邮政仅快递业务的收入就已经达到了2767亿元,比2014年同期增长35.4%。表1-1列出了2014-2015年间邮政每月的快递业务的收入情况。表1-1邮政快递业务收入情况(单位:亿元)收入月份年份12345678910111220141561181601591651621641691801832282252015211136197212214226221221239252325313从上述统计数据可以看出邮政快递业务近两年的收入大体呈现出逐月增加、逐年增长的态势。这从实际的运行情况证明了邮政业务转型之路是正确的,可以借助于电子商务平台的商品推广销售来带动现有业务的发展。邮政只有用互联网的速度行动,互联网的思维谋划才能打造出开拓邮政现有业务的电子商务营销平台。目前邮政速递物流遍及全国31个省的所有市乡镇,营业网点超过了45000[4]个,员工数更是达到了10万人的规模。在业务转型过程中上述一些网站(邮上海、邮乐网、邮礼网)的产生直接增加了收益,却还没有达到重客户、促推广、易移植的目标,而邮政也想通过电子商务平台综合利用集团内部大量的人力资源来帮忙营销。因此开发微信端营销平台(微信端APP),将APP嵌入微信公众号能够完美的解决上面的需求。这种混合模式主要基于以下两点:[5]一、互联网时代APP应用充斥着我们的手机,用户依赖于通过APP改变自己的生活,APP的发展确实让整个社会的生活方式发生了翻天覆地的变化,但[6]是其也有着自身的局限性制约。二、当今社会,微信在电子商务的发展中更加迅速,微信营销是随着微信技[7]术的发展而产生的一种创新型点对点的营销方式。尤其是“朋友圈”的发展,商品营销者同购买者多为朋友关系,因此这种买卖流程显得简单而快速。微信营销亲和力也比较高,朋友圈营销信息的传播基本都来自于朋友之间的交流互动。同时,朋友之间的亲身使用推荐和经验交流等对于潜在客户更易于接受,主要是[8]更有说服力和引导性,这就是有效的利用了关系营销策略和一对一营销策略。综合运用邮政内部每个员工的碎片化时间,通过朋友圈的分享,用户可以关注到商家的信息甚至会随手转发,达到信息的广泛快速传播的目的。本文设计的微信端营销平台主要是作为中国邮政集团上海分公司的直属机构上海邮政国际邮购有限公司转型的一款电子商务平台,简称SPIMO微信端营销平台,主要是推广上海邮政现有平台“海淘屋”上的商品。“海淘屋”目前在2 上海师范大学硕士学位论文第1章绪论上海各区县共设有43个门店,如下表1-2所示为所有门店信息,2016年将开出120个实体店面,邮政要充分利用门店营销员的优势发展此营销平台。表1-2上海邮政海淘屋门店信息区局门店地址浦东惠南浦东新区惠南镇北门大街25号浦东凌兆浦东新区灵岩南路1136号浦东周浦浦东新区周浦年家浜路327号浦东高桥浦东新区高桥镇石家街146号浦东新川浦东新区新川路333号浦东康桥浦东新区康桥镇康沈公路222号浦东合庆浦东新区合庆镇庆荣路245号浦东金杨浦东新区枣庄路811号浦东北艾路浦东新区北艾路910号浦东下沙浦东新区航头镇下沙镇新街69号浦东泥城浦东新区泥城镇泥城路21号黄埔建国东路黄浦区建国中路123号黄埔南车站路黄浦区南车站路198号黄埔丽园路黄浦区鲁班路197号黄埔黄埔黄浦区福建中路414号黄埔卢湾黄浦区思南路7号徐汇东安路徐汇区东安路360号徐汇康健徐汇区桂林西街64号徐汇习勤路徐汇区徐汇区习勤路47号徐汇漕河泾徐汇区漕宝路389号市西天山路长宁区天山路1730号市西仙霞路长宁区仙霞路787号市西北新泾长宁区淞虹路838号普陀沪太普陀区宜川路349号普陀普陀普陀区常德路1269号普陀武宁普陀区东新路360号闸北火车站闸北区秣陵路280号3 第1章绪论上海师范大学硕士学位论文虹口车站北路虹口区车站北路620号杨浦民星杨浦区嫩江路897号杨浦控江杨浦区控江路910号宝山聚丰园路宝山区聚丰园路127号宝山月浦宝山区月浦龙镇路71号宝山友谊路宝山区牡丹江路1745号宝山吴淞宝山区淞滨路815号闵行莘庄闵行区莘建路120号嘉定城中路嘉定区张马路50号嘉定丰庄嘉定区丰庄路333号嘉定南翔嘉定区南翔镇解放街32号松江松江人民路松江区人民南路65号奉贤南桥奉贤区南桥镇解放西路29号青浦新风青浦区朱家角镇新风路125号金山石化金山区金一东路233号崇明堡镇崇明县堡镇工农路238号这个营销平台有着极高的应用价值,就其通用性而言中国邮政集团下面所有的电子商务平台都可以扩充至此营销平台上来。所有邮政员工能够利用自己的碎片化时间推广公司的产品、提高了公司在行业内的竞争力、带动邮政EMS快递业务的发展。1.2国内外研究现状1.2.1移动互联网环境下网络营销现状互联网技术的不断发展,彻底的改变了人们的生活习惯。各行各业也借助于互联网的优势来得到发展或者营销自己的产品,网络营销与传统的营销方式相比[9]具有以下几个方面的独特优势,如图1-2所示:4 上海师范大学硕士学位论文第1章绪论图1-2网络营销优势图因此为了顺应市场趋势并挖掘消费者的需求,各个企业商家抢占商机的重要入口便是开发出不同的应用程序来满足市场上多样化的需求。APP开始逐渐向[10,11]生活的各个领域发展渗入,对许多行业产生了影响。国内的APP应用软件起步比美国等西方国家慢了一两年,但是目前其发展速度飞快,处于高速增长阶段。[12]APP几乎成了移动互联网的代名词,文献就分析了中国电子商务研究的多样性。下面列出了部分网络营销在电商领域、教学领域、医疗领域等的研究与应用的例子。在电商领域:日本乐天通过“双12”大力度的打折促销,来推广自己[13]的产品、通过发现消费者的购买习惯,推荐消费者喜欢的商品的营销模式获得[14]用户认可。王晶等人提出针对每个品牌的商家推出一个品牌的APP即可以完[15][16]成对商品的低成本营销;在教学领域:从传锋就对APP在高校英语学与教[17]中的应用进行了分析、国内图书馆利用APP为读者提供服务分析及现状、国外有些大学的图书馆推出关于图书馆技能培训的APP,以帮助用户检索数字资源[18][19]等;在医疗领域:牛启润分析了医疗APP在导医、预约挂号等方面在市场上的应用情况;文献[20]中也列出了国内外一些有名的医疗APP产品。其中在电商领域,APP移动客户端是最广为人知的,国内我们熟知的有天猫商城、京东商城、一号店等。这些正是电子商务发展到了竞争白热化阶段所出现的产物。他们都利用了互联网这个平台,打造出足不出户就可以买到消费者需要的任何物品。在一定程度上让消费者享受到互联网所带来的便利。但是上述这些成熟的电子商务APP在进行商品营销时都存在如下缺点:首先需要用户自行下载应用安装程序,这时或多或少的会占用用户的移动终端的存储空间,并且许多的应用程序经常会跟新,每次跟新操作程序大小又会增加,给存储空间带来负担;其次每一个新用户的加入必须完成注册,这对于当下每个都珍惜时间的人来说显得过于繁琐;最后就是APP的卸载问题,很多APP的卸载都会残留部分系统垃圾存在于用户的手机上,影响用户手机的运行速度。5 第1章绪论上海师范大学硕士学位论文对于商品营销而言,传统APP显得特别的被动,除非是非常知名的APP用户会去主动打开并去浏览商品,非知名或者刚上线的APP只有通过大量的广告、做活动来宣传才会吸引用户去打开应用。就邮政行业而言,中国邮政认识到互联网是自身行业转型的重要选择。并且邮政发展电子商务营销有着其他行业没有的独特优势:政府的政策支持优势、老品牌和良好的信誉优势以及遍布全国的邮政网点优势。到目前为止,邮政的主要业务基本上都实行了“电子邮政”,包括邮政电子商城、邮政信息服务、邮政电[21]子银行及其他业务等。上文1.1节中提到的“邮礼网”、“邮乐网”、“邮上海”都是邮政营销商品而推出的网站或者APP。这些平台同市场上的应用程序无[22]异,都属于被动式营销。2015年上海邮政推出“海淘屋”这一平台,线下在上海各区县已经设立了43个“海淘屋”实体门店,通过线上网站或微信公众号[23]推广和线下销售相结合的方式来促进EMS快递业务发展。国外的邮政行业在电子商务领域开展业务活动也比较早,美国邮政在1994年就已经建立了usps.com[24]网站作为其主要的电子商务网站,将邮政网点的零售业务转移到网上营销,营销的产品有邮票、零售商品等800多种产品,当时每月平均营业收入能达到1900万美元;英国邮政也借助于ebay购物网站促进包裹快递业务的发展;法国和荷[25]兰等国家的邮政行业则通过收购电子商务领域相关的企业来发展自身的业务。可以发现邮政行业的电子商务大部分仅局限在建设一个网站方面。1.2.2微信给移动互联网环境下网络营销带来的影响微信自2011年由腾讯公司推出之后便获得了飞速的发展,其与日俱增的用户量可以说明微信是用户使用良好的一款APP产品,下表列出了2015年平台型APP排行。表1-32015平台型APP排名名次应用名称1微信2QQ3支付宝4UC浏览器5手机百度6大众点评7携程旅游858同城6 上海师范大学硕士学位论文第1章绪论在手机应用程序中用户接触次数最多的一款应用即为微信,特别是微信的“朋友圈”功能,许多个人“微商”通过在朋友圈发送产品图片或者文字介绍信息来营销产品,这是最简单的微信营销方式,一直火热的存在于微信朋友圈,其特点是只适用于产品比较单一的情况,对大批量的产品营销操作繁琐;作为企业方而言,几乎100%的企业都有自己的微信公众号来营销产品,微信公众号通过群发功能可以给关注了公众号的用户统一发送推广信息,信息内容可以是图文消息、纯文字信息、图片、语音、视频等多种形式,这种推广是当前比较流行的微信营销模式,比如日本的名创优品连锁店在消费者购物结束时会让消费者扫描其公司的二维码关注公众号即可免费获得手提袋一个,大部分情况下消费者对这种行为是不抵触的,之后公司就可以对关注了的用户发送最新的商品、推荐的商品等等一系列的营销活动。通过微信公众号发送信息如图1-3所示:图1-3微信公众号群发信息功能上海邮政也不例外,上文1.2.1节提到的邮政转型尝试推出的“海淘屋”平台也有其微信公众号:shyzhaitaowu,关注该公众号后就可以收到邮政商品的推荐信息,其公众号界面如图1-4所示。7 第1章绪论上海师范大学硕士学位论文图1-4上海邮政海淘屋公众号上海邮政利用微信的营销优势,对微信进行二次开发,将营销商品的APP集成在微信公众号当中,提高公众号的功能,充分利用邮政各门店的营销员。这正是本文所要研究的内容。1.3主要研究内容本文主要是基于上海邮政国际邮购有限公司的实际需求,建立基于微信端的商品营销平台。通过Bootstrap、JavaEE、WebService等技术设计并部署在微信的公众平台上而形成。具体的研究内容如下:1.分享商品功能:销售员可以将系统中的商品分享至微信朋友圈,微信好友,QQ空间,微博,twitter等主流社交平台供消费者去购买,消费者也可继续将销售员分享的商品继续在主流社交平台进行分享。不过本文主要集中研究分享至微信朋友圈。2.积分及兑换功能:消费者购买了相应销售员分享的商品之后,销售员就会拿到相应的积分作为提成,至于消费者继续将对应的商品分享后别的消费者购买后生成的积分,还是算作一级销售员的积分。积分只可以用来兑换邮政公司提供的一些兑换物品,当积分达到相应兑换物的积分数时,销售员就可以在营销平台的兑换页完成积分兑换。3.后台管理功能:微信端营销平台有一个单独的能够操控营销平台一切功能8 上海师范大学硕士学位论文第1章绪论的后台系统,SPIMO后台管理系统。主要是对微信端营销平台的数据进行操作与分析。这在后文会重点详述这一部分。1.4论文的组织结构第一章,绪论。介绍了基于微信端APP开发的背景及意义。接着对APP开发的国内外现状进行了分析。发现目前的APP开发其实也是有着许多自身的局限性。而微信端APP能够弥补这些缺陷。正是对目前的研究的分析和实际项目的调研提出了本文论文的研究内容。第二章,相关概念及技术介绍。本文使用的技术有比较成熟的JavaEE企业级业务解决方案,也有目前比较受欢迎的前端展示框架Bootstrap,再结合WebService实现不用平台、不用开发语言应用程序之间的通信,使得微信端的营销平台开发更加的方便快捷。第三章,系统的需求分析。即本文营销平台开发的依据。主要是界面和功能两个方面的需求。本营销平台是邮政对现有电子商务平台“海淘屋”的一个补充,主要是利用本营销平台能够对“海淘屋”的商品进行推广销售。包括营销平台的使用者不是普通的大众用户,而是邮政自身的内部员工进行注册申请方可成为本营销平台的使用者。所以本营销平台使用的很多服务或者功能都是通过调用“海淘屋”的服务来获取。第四章,系统总体设计。根据系统的需求说明书,按照功能模块对营销平台进行功能模块设计,也包括底层数据库的设计。第五章,系统详细设计与实现。这章也是根据功能模块分别进行详细设计,贴出了每一个功能模块实现的关键算法及功能实现图。第六章,系统测试。第七章,结论与展望。1.5本章小结本章中首先介绍了:随着互联网和移动通信技术的迅速发展的大背景下,APP以其方便、无处不在的特点成为各行各业的新宠。然后介绍了在这种背景下国内外对它的研究也是相当的多,但是基于微信端的APP的研究还是比较少的。基于微信端的APP有着它自己的独到好处成为本文研究的基点。最后简要的介绍了本文的行文结构。9 第2章相关知识与技术上海师范大学硕士学位论文第2章相关知识与技术本章主要介绍同微信端营销平台实现相关的知识点及所使用的技术,包括平台应用框架的JavaEE架构、微信二次开发技术(JS-SDK)、微信APP同“海淘屋”服务端接口的交互过程、服务端与客户端传递的数据格式及方式、前台页面设计的Bootstrap技术等。2.1微信端营销平台的概念和优势本文介绍的微信端营销平台是在微信公众号上嵌入网页形成的微信APP,这是一种轻量级的APP,有效的解决了传统APP的可扩展性问题。与此同时,此营销平台同传统APP相比还具有开发成本少、开发周期较短、营销价值高、安装更便捷、占用空间少、易于升级维护、推广成本低等显著特点,在基本功能实现方面,传统APP能够完成的操作,微信APP均能够满足。微信端营销平台是以微信公众平台为入口,以微信为基础向用户提供信息推送和交互服务,解决Android、ios等主流平台兼容性限制,给营销员一种绝佳的用户体验。所以本文设计的SPIMO微信端营销平台在商品推广方面具有很大的潜力与价值。2.2微信开发介绍SPIMO微信端营销平台建设的关键是进行微信的二次开发,涉及开发环境的准备、平台同微信服务端的交互等;本文所介绍的微信开发是基于微信的JS-SDK文档进行的开发,下面详细介绍微信开发的相关内容。2.2.1微信开发环境准备微信的二次开发首先需要有一个开发环境,这个环境就是微信公众号,其有三种类型,分别为订阅号、服务号和企业号;注册用户将根据自己的需求选择注册公众号的类型。其中这三者的部分区别如表2-1所示:表2-1微信公众号三种类型的区别订阅号服务号企业号面向人群个人/媒体企业/政府/组织企业/政府/事业单位/非政府组织10 上海师范大学硕士学位论文第2章相关知识与技术消息次数限制1条/天最多4条/月最多群发200次/分钟高级接口权限不支持支持支持特别是高级接口权限部分,比如微信的分享、支付这一系列功能在订阅号当中是不支持的,本文采用的是通过认证的服务号进行的开发,具备应有的所有权限。当微信公众号申请成功后,使用微信JS-SDK之前还需要在微信公众平台绑定开发中使用的域名,微信中称作“JS接口安全域名”。2.2.2营销平台与微信服务器的数据交互微信二次开发过程中系统平台与微信服务器数据交互频繁,营销平台必须按[26]照微信JS-SDKAPI规定的参数传递给微信服务器,才能获得微信服务器的响应。特别是有的参数传递是链式传递,第一个参数传递正确结束之后获得第二个参数,再利用第二个参数结合第三个参数传递方可获得第四个参数,每一个参数的传递失败都将导致程序中止。营销平台同微信服务器交互的时序图如下所示:图2-1营销平台同微信服务器交互时序图当营销员在营销系统执行相应的动作后都是微信公众号获得相应的请求,微信公众号再将此消息交给微信服务器处理,将消息发送给微信后台使用的是HTTP请求协议,本文通过使用Apache的HttpClient这一Http协议客户端编程工具包请求微信服务器。微信服务器接到请求会返回相应的JSON字符串,再分解JSON字符串获取需要的内容即可。本营销平台在与微信服务器进行数据交互的过程中主要涉及以下几个方面:一:在使用微信JS-SDK的页面需要进行权限验证,涉及要校验签名signature。11 第2章相关知识与技术上海师范大学硕士学位论文其中签名也是由其他参数获取而来,下面介绍每个参数之间的关系:1).通过在微信开发环境中得到的应用ID即AppID和应用密钥AppSecret生成凭证access_token。通过HttpGet请求方式向服务器发出请求。当请求的AppID和AppSecret都正确时,返回如下Json数据:{“access_token”:“ACCESS_TOKEN”,“expires_in”:7200}ACCESS_TOKEN即为获取到的调用接口凭证。2).根据上一步得到的接口凭证作为参数,再利用HttpGet请求方式访问微信服务器获得调用微信接口的临时票据jsapi_ticket。3).利用上一步微信服务器返回的jsapi_ticket同随机字符串noncestr、时间戳timestamp以及营销平台网页url共同生成签名signature。这些参数在生成签名的过程中都是不可中断的,任何一个参数微信服务器端没有正确返回就会导致签名失败,从而导致微信就不会成功接入SPIMO微信端营销平台。下图2-2展示了参数的传递过程:图2-2生成签名参数传递过程图参数签名signature生成之后,同微信服务器传递过来的同样的参数signature比较是否一致,只有当这两个signature签名一样才说明微信服务器的请求正确的发送至开发者服务器中,成功后开发者服务器返回echostr参数并通知微信服务器。二:在发起微信支付通知过程中,微信服务器需要接收五个参数,分别为支付签名timestamp、支付nonceStr、package(统一支付接口中产生prepay_id参数值的封装,格式为:prepay_id=***)、签名方式signType及支付签名paySign。这几个参数当中需要通过向微信服务器发起请求获得的是package。其参数的获取传递关系如下:1).首先需要进行用户授权获得code,向微信服务器传递公众号唯一标识appid、授权后重定向的回调链接地址redirect_uri、返回类型response_type(值为固定值code)、应用授权作用域scope,这里取值为snsapi_base以及固定的参数值为#wechat_redirect。当用户授权后及返回code。12 上海师范大学硕士学位论文第2章相关知识与技术2).利用第一步获取得到的code及公众号唯一标识appid、公众号的appsecret和grant_type(值为固定值authorization_code)共同提交给微信服务器获得用户标识openid,随后进行签名sign的生成。3).签名sign是通过将第二步得到的openid与微信商户平台设置的密钥key在内的共11个参数按照微信提供的签名算法生成。参与签名的其他9个参数依次为商户appid、商户编号mch_id、随机字符串nonce_str、商品简要描述body、订单号out_trade_no、订单的总金额total_fee、营销平台的终端ip地址spbill_create_ip、接受微信支付异步通知的回调地址notify_url、交易类型trade_type为固定值JSAPI。生成的签名sign再与上述的10个参数共同提交给微信服务器发起微信统一下单请求。4).第三步的微信统一下单请求完成之后微信服务器将返回预支付交易会话[27]标识prepay_id,封装prepay_id=***为pakage。5).由第四步生成的package同appid、timeStamp、nonceStr、签名方式signType(默认为SHA1)同样根据微信提供的签名生成规则生成支付签名paySign。这样发送微信支付请求的所有参数都得到了。下图2-3(a)、(b)展示了调用微信支付数据的请求传递流程:图2-3(a)微信支付数据请求传递过程13 第2章相关知识与技术上海师范大学硕士学位论文图2-3(b)微信支付数据请求传递过程2.3营销平台分销模型建立SPIMO营销平台实行主动营销策略,充分利用邮政“海淘屋”门店所有营销员的人员优势,将商品实现高效快速的传播。微信分享功能能够帮助营销员将众多商品发送至朋友圈供朋友浏览购买或者再次转发,这样就达到了分享次数的递增效果。营销员分享商品可以通过给予奖励来提高分享商品的积极性,分享商品的次数越多,分享商品的种类越多则给予的积分奖励也就越多。由于本营销系统尚属于邮政在营销商品上的一次尝试,现阶段分享商品的记录信息只记录为初始分享者分享的商品,即当营销员分享商品至朋友圈后就为营销员分享的该商品增加一条记录信息,其朋友圈的朋友依然分享了此商品链接营销员的分享记录增加一次,以此类推。为了记录在朋友圈中分享的商品属于哪位营销员,分享商品的链接后增加一个营销员id的参数userID,微信分享操作触发时首先获取分享链接中营销员的ID,截取操作是在前台页面通过JS操作获得,这在后文商品分享模块实现中会介绍具体的JS截取过程。因此这样就形成了以营销员为树根的1:N树形分销模型,其模型图如下2-4所示:14 上海师范大学硕士学位论文第2章相关知识与技术图2-4营销平台分销模型上图显示了营销员下面每一级分享转发的消费者都会携带对应营销员的唯一标识。2.4技术路线微信APP营销系统的建设采用的核心基础构架为J2EE,项目中涉及的技术还包括BootStrap、jQuery技术、WebServices、XML、json技术等等。下面简单介绍其中的几个技术。1).前端Bootstrap技术关于前端页面显示开发人员对于HTML、css是非常熟悉的。基于目前企业开发过程当中要求开发周期短、开发成本少、代码精简方便日后维护等需求。以及,单纯HTML、css开发需要针对各种类型的浏览器进行调试、在各种尺寸屏幕下显示的兼容性和效果比较糟糕。许多开发人员开始借用一些前端开发框架来开发网页,这样既节省时间、缩减代码量还具有高兼容性。比较优秀的前端框架有:jQueryUI、jQueryMobile和Bootstrap等。本文开发选用的Bootstrap是Twitter公司的两名设计师基于HTML5和CSS3开发推出的一个开源、响应式主流前端[28]开发框架,很好地避免了各种浏览器和各种尺寸屏幕之间兼容性这一问题。仅[29]需引用相关组件就能实现多种样式,文献介绍了Bootstrap的安装及使用。Bootstrap适合本文微信端营销平台前端设计要求。2).前端jQuery技术jQuery是压缩的Javascript函数库,对于非专业的前端开发工程师来说,jQuery能够使开发者从原生JS语法设计中解脱出来,让程序开发人员比较迅速控制HTML网页标签对象,比如选择文档对象模型中的某个元素,能够搭建更加[30]醒目的网站。真正实现了写较少的代码完成更多的功能。在实际项目中,关于[31]jQuery中使用的最广泛的是其提供的AJAX技术,前台页面当中有部分数据需要传递给系统后台处理,当后台处理完毕返回给前台处理结果时,页面当中仅15 第2章相关知识与技术上海师范大学硕士学位论文仅需要改动这一小部分的数据即可,而不需要刷新整个页面,即异步刷新,给用户带来较好的交互体验。3).JavaEE技术架构JavaEE架构是一种企业级应用架构,在程序开发中用的非常广泛。JavaEE[32]技术架构也是开放、自由、大型的技术应用平台当中的典范。利用这种架构在程序开发中通常将进行分层开发。展现给用户的作为表现层,主要是客户端网页代码编写;而进行业务逻辑处理的是为表现层提供各种数据服务的服务层;同数据库进行数据交互的持久层。这种分层次开发可以降低每个模块之间的耦合性,对于将来程序的维护带来的方便,这种模式也就是模型-视图-控制器(MVC)[33]模式。4).Webservice当前的企业开发经常会同其他公司合作开发一个共同的项目,别的公司的地理位置可能分布在任何一个区域,为了获取他们提供的服务就可以通过Webservice来获取,互联网上还有一些免费通用的服务资源比如天气预报服务、来电归属地查询服务等,这些服务向开发者提供了访问接口,也能够通过Webservice对其调用。而在调用的过程中开发者不必考虑所调用服务的开发语言是什么,直接就可以获取服务提供者提供的方法。Webservice程序的编写包括服务端发布和客户端的调用。所谓服务端开发即服务的提供者将服务对象发布成Webservice服务,发布的方式可以是通过程序发布或者利用第三方工具发布。程序发布方式直接就可以利用JDK中EndPoint类发布web服务。第三方工具诸如Axis2等。客户端开发即获取服务者按照服务发布方给予的具体服务的方法及参数发起请求即可,通常调用的方法是通过wsimport命令生成本地代码调用或者通过HttpClient发起Htttp请求访问调用。这两种方法在本营销平台中都有使用。通过上面的介绍,Webservice分为三个部分,分别是发布、请求、代理服务方。这三者之间的关系如图2-5所示:图2-5WebService体系结构16 上海师范大学硕士学位论文第2章相关知识与技术首先是提供服务方将服务放至服务的代理上,这样方可让调用者查询到这个服务,而服务代理则为服务请求者提供其代理的服务。2.5本章小结本章主要介绍了微信营销系统设计过程中涉及到的主要技术和概念。系统平台是基于微信JS-SDK的二次开发,对于熟悉营销系统与微信服务器后台数据的交互流程过程是掌握其开发的关键,系统1:N分销模型的建立就是建立在微信分享的基础上完成的;对于项目中使用的其他技术介绍了其在本项目中使用的关键功能及发挥的优势。17 第3章系统需求分析上海师范大学硕士学位论文第3章系统需求分析软件系统设计过程中的需求分析就是同客户确定系统的业务功能,是一项基础性工作,同开发过程相比也不是简单的事。确定用户对业务活动的需求情况,了解系统应该为用户的业务活动做哪些工作。由于程序开发人员对系统涉及的业务领域不是很熟悉熟悉,而用户对于计算机方面知识也是毫无所知,需求分析则需要消除开发人员同用户之间交流的隔阂,可以最大限度的得出系统全面的功能和性能要求。尽量减少软件开发结束后重新改需求、改功能的现象。3.1营销平台系统的组成上海邮政打造的营销平台,以现有电子商务平台“海淘屋”(上海邮政利用邮政网点优势并试图发展网络分销模式进行行业转型的尝试,“海淘屋”不仅具有实体店零售一些商品,还通过网站或者手机移动终端展示国外一些产品供消费者购买,把境外商品以更快的速度寄递至用户家中。)为基础,主要给本营销系统给予商品同步更新、支付、订单上传等接口的支持。以邮政各区域门店销售员及邮政旗下其他员工为核心作为本营销平台的使用者。让消费者在购买到实惠便宜的进口商品同时,还能享受到邮政便捷的EMS快递服务,直接配送到家。下图为邮政营销平台的系统结构图:图3-1邮政营销平台系统结构图18 上海师范大学硕士学位论文第3章系统需求分析上图显示的A表示上海邮政现有的网络营销平台“海淘屋”,其在本系统中的主要功能是为微信端营销系统提供商品相关联的一些接口,其中付款方式包括连连支付(此处调用的接口)和微信支付。每个接口的功能如表3-1所示:表3-1各接口功能表接口名称功能商品推送接口“海淘屋”定期推出新商品,本平台借助此接口获取更新的商品订单接口本平台买家产生订单详情借助此接口返回给“海淘屋”支付接口本平台的购买付款方式之一连连支付借助于此接口由于此次课题的主要内容是完成微信端营销平台的设计与实现,所以上面的系统组成部分仅仅描述SPIMO微信端营销平台和其后台管理部分的内容。3.2系统业务需求本营销平台的设计主要是紧跟互联网爆炸式崛起的势头进行的。从最开始的PC端网站购物,到受欢迎的移动终端APP购物,再到如今流行的微信平台营销。微信作为移动互联网的新媒介正在步入人们生活中的诸多细节。它自身影响力甚至于超过了移动终端媒介工具本身。据统计微信的月活跃用户就已经达到了4-5亿人次。利用微信众多在营销方面的优势:最主要是手机通讯录中的联系人都能够被微信功能中的“新的朋友”所识别,手机联系人都能转变为微信中的好友,这使得微信中的好友都是比较熟悉,比较亲密的人,因此商品都是在熟悉的朋友圈中传递肯定会加快商品的分享传递速度。上海邮政希望结合自己公司的性质,同时也是其他许多大的电商公司的优势:公司拥有众多的员工,而现在的员工们的“碎片化”时间也比较多,这些时间零散,分布不规律都可以有效的利用起来。本营销平台正是在这样的背景下提出来,通过对邮政领导意见的归纳总结,以及各部门员工的反馈,SPIMO微信端营销平台的业务需求如下图所示:图3-2系统业务需求19 第3章系统需求分析上海师范大学硕士学位论文3.2.1营销员业务需求(1)按照邮政工作人员部门的不同分为海淘屋营销员、普通营销员、其他这三种类型的用户来注册本营销平台。(2)营销员将浏览的商品可以选择分享至微信朋友圈供别人购买(营销员自身也可购买商品),分享不同的商品会获得不同的分享积分,每种商品只会在第一次分享的时候获得分享积分。分享的商品顾客下单后营销员即可获得一定的购买积分。购买积分的获取没有次数限制,顾客买的次数多营销员就获得多少次购买积分。顾客同样可将商品继续分享出去。(3)营销员可以管理自己的积分收益,积分达到一定的数目可以申请用积分兑换礼品。(4)营销员可以管理从自己这分享出去的商品生成的所有订单。3.2.2后台管理员业务需求管理员需要具有营销平台的所有权限,包括审批营销员的注册申请是否通过,商品的更新,所有营销员所属订单、积分、积分兑换物品审批操作以及海淘屋门店进行统一管理。3.2.3消费者业务需求(1)消费者通过打开营销员分享的商品链接页面,直接付款填写收货所需信息即可完成购买,无需消费者进行注册登录等繁琐操作。(2)消费者能够通过其分享地商品链接页面查看营销员的具体身份情况。(3)消费者利用营销员分享的商品链接购买商品后,接收短信提醒,并提供其查询物流页面。3.3系统功能需求3.3.1系统功能概述SPIMO微信端营销平台从功能上分为前后台两大部分:其中前台主要是在移动端微信上实现,后台是在PC端实现。前台需完成的主要基本功能包括商品展示、个人资料展示、积分兑换和订单展示。每个基本功能目标如表3-2所示:20 上海师范大学硕士学位论文第3章系统需求分析表3-2前台基本功能基本功能功能描述商品展示“海淘屋”上架的商品通过此平台展示给营销员。个人资料展示每个营销员的所有详细资料,营销员在此可以修改资料,也可以修改密码。积分兑换营销员获得积分可以在此进行管理,当积分达到一定的数目可以选择可以兑换相应的物品,兑换记录也可以方便营销员查看。订单展示营销员自身营销出去产生了订单能够查询。物流查询根据消费者订单编号精确查找消费者快递发货状态。其中产品展示部分涉及到分享,支付一系列操作。后台需完成的主要基本功能包括营销员、积分、订单和营销员业绩等模块的管理。每个基本功能目标如表3-3所示:表3-3后台基本功能基本功能功能描述营销员管理涉及到注册审批、销售员的类别等操作。商品管理对产品实行上架增加、下架去除,更改一些操作。订单管理订单的增删改查一系列处理积分管理积分的增改查一系列处理物兑物品管理能够随时改变营销员能够兑换的物品种类。营销员业绩管理对营销员的订单数,分享商品次数等数据进行统计,得出营销员的业绩。3.3.2系统功能模块分析上面功能概述部分详细的罗列了本营销平台的所有基本功能。前台的功能模块之间的关系可以通过如图3-3所示:21 第3章系统需求分析上海师范大学硕士学位论文图3-3营销平台前台功能模块关系后台为了对营销平台每个功能点实施管理,所以功能模块大致同前台一致,这里主要描述一下后台特有的功能,管理员拥有对所有数据进行操作的权限,第一:可以对营销员的注册进行审批,唯有审批通过的营销员方可登录营销平台进行其他属于营销员的操作。营销员的查看、删除等操作。营销员的类别管理员也可以进行修改,如将普通营销员修改为“海淘屋”营销员。第二:积分模块管理员可以对每个营销员的积分查看,修改、删除等操作,其中积分兑换的物品也可以在这动态的添加、删除。第三:商品模块可以手动更新最新的上架产品,或者能够对部分产品下架处理。设置每一种商品的分享积分及购买积分数。第四:订单模块,能够浏览每条订单并可修改、删除等处理。同时对每一个营销员的订单情况进行统计得出营销员的业绩。下图3-4显示了后台管理员的操作需求用例:22 上海师范大学硕士学位论文第3章系统需求分析图3-4后台管理员用例图3.4系统非功能需求非功能需求是需求制定人员最容易忽视的部分,然而其地位却是在项目启动时就应该考虑进来。在本营销平台的实现起初,技术人员就分析了本平台的界面需求、易用性需求、可移植性需求。下面就以这些部分的非功能性需求为代表,讲述在本文营销平台中的体现。3.4.1界面需求界面需求在APP开发中占据着越来越重要的地位,每个用户在使用产品的第一印象就是产品的界面是否满足自己的审美要求。连用户看着都觉得不舒服的产品其生命周期肯定不会长。所以本系统本着简单大方的开发原则,用户登录系统之后首页底部标签就能看到系统包含的所有功能:商品、个人中心、收益、订单。因此使用代价低。当前移动智能终端的种类琳琅满目,适应性成了界面设计最大的挑战。要做到界面在每一种平台上都能兼容,差异性小,那么是一件非常困难的事情。这里本平台设计为基于微信端营销平台,充分的利用了微信自身遍及各种智能终端的特点,因此不必考虑智能终端的种类是什么,只需完成页面自身的设计就可。真正体现了“易移植性”的特性。3.4.2易用性需求23 第3章系统需求分析上海师范大学硕士学位论文营销平台的易用性做到既方便营销员宣传商品,也方便消费者的浏览及购买。平台最主要的功能点就集中在了商品的分享上面,只有商品分享出去之后才会吸引消费者的购买,而分享功能恰恰就是直接利用微信自身的分享功能进行分享,而基本上大部分人都熟悉微信的分享操作和逻辑,这对于利用微信的分享功能进行商品的分享无疑符合营销员的使用习惯,容易理解。3.4.3可移植性需求本营销平台最大的特点就是适应性强,不局限于特定的移动平台。这在软件维护、软件更新等方面都带来了极大地好处。基于微信端的营销平台只要用户的移动端支持微信的安装,那么也就意味着安装了本营销平台。当软件出现升级,用户也不需要自己手动下载安装最新版,用户一键关注就解决了普通APP出现的所有问题。3.5本章小结本章从需求分析入手描述了SPIMO微信端营销平台功能及非功能方面的需求。前者主要分为营销员、消费者、产品、积分、订单这七大模块,对其分别作阐述,还以图形展示了这几部分分别涉及到的小的功能点;后者主要是偏向于软件的人性化设计,界面需美观大方、软件要容易操作、适应各个终端的能力强。24 上海师范大学硕士学位论文第4章系统总体设计第4章系统总体设计本章将依据第3章中系统需求分析对营销平台总体进行设计,将系统运行的平台确定之后,介绍其搭建的总体架构,将整个营销平台细分化、模块化,并依次单独设计。4.1系统平台的选择和部署4.1.1系统平台的选择平台的选择主要来源于上文提到的非功能需求,这对本营销平台发挥出它的强大作用是至关重要的一步。在开发过程中,针对Android和ios这两个平台,每一个应用都需要分别为其设计和开发,因为这两种架构平台是截然不同的,不仅开发语言不一致,而且部分功能键也不一样,使得一个应用需要花费两倍的开发成本。因此选择微信做营销系统的平台,直接越过了安卓与ios的隔阂。其次在没有无线网络的环境下,APP的下载依靠移动网络的信号是无法完成下载安装的,通常APP的大小都介于几兆至几十兆的范围之类,尽管现在wifi的覆盖范围比较广泛,但那也仅仅是局限在大都市的繁华地段,当用户急需要使用某一款APP时若没有提供下载的网络支持便也是一种缺陷。而对于微信端的APP而言,仅依靠手机的移动数据网络就可以实现在微信中搜索应用的微信公众号关注,简单实用。再者对于许多不常用的APP,升级对于用户是一种不好的体验,经常会在应用的图标上出现红色的数字或者发送提示信息提醒用户升级,升级还会重新下载升级包,占用用户手机内存,而且经常还会出现升级之后的界面反而不符合用户的使用习惯了,这种升级显得很不友好。而对于微信端的APP,所有的功能改进和版本的升级都是在服务器端进行的,用户在不打开应用的时候完全感觉不到自己的微信端应用已经做了更改,并且这种更改对用户的移动端没有任何影响,也不要求用户做任何自己不想做的动作,用户使用感觉良好。对于基于安卓或是ios系统的传统APP来说,由于体量大的原因,用户启动应用的时间也是不理想的,当用户等待的时间过久势必会对应用产生一种厌恶,而微信端的APP则非常的轻巧,就是借助于微信公众平台的网页的展现,除了包含文字图片之外就没有其他任何东西了再占用过大的启动响应时间了。25 第4章系统总体设计上海师范大学硕士学位论文基于以上叙述,本文选择了微信端的SPIMO商品推广平台的webAPP方案。4.1.2系统平台的部署由于是基于微信端的APP,第一步需要申请微信公众号,此公众号必须要经过微信认证,否则无法完成此项目的部署。登录微信公众平台的首页,选择设置中的公众号设置,再选择功能设置,在JS接口安全域名中输入本项目中访问的域名。接着设置功能菜单中的自定义菜单,设置访问本系统的菜单,将菜单点击内容设置为跳转网页,输入营销平台的登录URL地址即完成了系统在微信端的配置。具体的设置步骤如图4-1所示:图4-1系统平台部署图系统环境部署实质上就是营销系统访问的地址即URL添加至微信公众平台菜单栏上,通过点击公众号菜单项进入SPIMO微信端营销平台登录界面。4.2系统功能流程设计SPIMO微信端商品推广系统的用法是通过关注上海邮政公司旗下“海淘屋”微信公众账号,进入公众号之后会有一个登录本平台的菜单“帮我买”,系统主界面为登录界面,营销员第一步要进行注册,直至管理员审批允许后才能登录系统。下面大致的介绍了整个营销平台工作流程:当营销员进入系统之后,商品列表提供不同种类的商品供营销员分享或者购买,最主要是分享操作多一点。本文最主要的功能也是商品的分享功能,这在下26 上海师范大学硕士学位论文第4章系统总体设计文系统功能模块设计会详细描述。营销员的积分获取规则会在系统最明显的位置告知营销员。基于商品的分享操作产生了本系统的其他主要功能,如商品订单查询,营销员积分兑换、查询等。各个功能的流出如图4-2所示:图4-2系统功能流程4.3系统功能模块设计营销平台功能模块依照3.3节中功能需求部分划分为:营销员、商品、订单、积分及管理员一共五个大的服务模块。系统的功能模块图如图4-3所示:27 第4章系统总体设计上海师范大学硕士学位论文图4-3系统功能模块上图罗列了营销平台主要的功能模块,每个功能模块的具体设计将按照上图中的营销员、商品、订单、积分及管理员服务的分类进行详细描述。每个服务模块为了叙述的简洁性只选择了部分类进行表述,其他类的描述都相类似。4.3.1营销员服务模块设计营销员是营销平台的核心角色,它是营销平台运作的前提,通过营销员手动将商品分享至社交平台来吸引用户消费的方式促进商品的宣传与销售。订单服务模块(订单的查看、修改、删除)、积分服务模块(积分查询、修改、删除,积分兑换)都源自于营销员服务模块。营销员服务这部分包括的主要类有:1.UserBean类为营销员实体类。用于记录营销员的一些属性信息,并可用于存储和传递数据。2.RegisterServlet类为营销员注册控制类,此类用于获取界面类传递过来的营销员注册参数再继续交给业务类。营销员其他控制类此处省略。3.UserBusinessService类为营销员业务逻辑接口类,其实现类为UserBusinessServiceImpl。其主要功能根据业务调用对应的数据操作类。4.UserDao类为营销员进行数据处理的数据访问类,这也是一个接口类,其实现类为UserDaoImpl。主要功能是根据业务层需要对营销员信息给予增、删、改、查处理。营销员服务这一部分静态类图如图4-4所示:28 上海师范大学硕士学位论文第4章系统总体设计图4-4营销员服务模块部分类图上面营销员服务模块类图展现的只是一部分类(营销员的注册类、登录类)之间的关系。4.3.2商品服务模块设计商品服务模块包括为营销员提供商品的浏览、商品详情的查看、商品的购买,商品信息分享至微信朋友圈等操作。营销员在登录营销平台之后首先进入的便是商品列表界面,商品列表页会同步邮政“海淘屋”发布的所有商品至营销平台上,此时商品列表页面上只是显示了产品的全称、编号、价格以及购买或者分享这个产品会获得多少积分。点击商品列表中的商品会进入到对应商品的详细介绍页面,即商品详情页,商品详情包括商品的参数属性及商品介绍。若是营销员自己希望买下对应的产品,直接选中产品详情页下的一键购买就行了。如果想分享给微信朋友圈的朋友去购买,则可以点击右上角的微信自带的分享按钮把商品分享出去。商品服务模块类也有同营销员模块一样的业务逻辑接口类ProductService及29 第4章系统总体设计上海师范大学硕士学位论文其实现类ProductServiceImpl、数据处理接口类ProductDao及其实现类ProdunctDaoImpl。这里罗列同上不一样的主要一些实体类和业务流程控制类(商品的购买、商品的分享)。1.Product类为商品的属性数据包装实体类。属性包括产品的编号、封面和展示图片、价格、税率等。2.ProductSeiviceProxy类为通过WebService调用邮政“海淘屋”提供的获取上架商品的API而生成的类,通过此类可以获得推送的所有上架的最新商品信息,然后存进数据库。3.SysContextListener类为营销平台服务监听器类,此类当本营销平台每次启动时都会自动去获取“海淘屋”推送的商品,以保证营销员浏览的商品都是最新的商品。已经下架的商品营销平台将不再显示。4.ListProductServlet类为查询数据库中的所有上架商品并显示在营销平台首页的商品控制类。5.BuyServlet类为购买商品时执行的操作类,此类会将用户购买商品时填写的用户姓名、收件人电话号码、收件人地址等信息封装生成后文要描述的订单信息。6.PaySuccessServlet类为用户购买商品并付款后所执行的类,此类用途是后文需要介绍的将付完款后的订单修改为已支付订单,计算营销员此单获得的积分并存入该营销员的积分。同时给用户发送短信提醒,告知用户订单号,订单已经下单成功,并可通过订单号让营销员查询商品的物流信息。7.WeiXinUtils类是获取微信开发调用其分享接口时所需要的公众号全局唯一票据acess_token、生成签名以及校验签名等工作的工具类。8.WechatServlet类用于封装微信接口所需要的服务器地址(url)、随机字符串(noncestr)、时间戳(timestamp)及微信公众号注册时的应用ID(APPId)、应用密钥(APPSecret)等数据。9.CacheManage类作用主要针对由于微信对获取公众号唯一票据参数调用次数有限制,并且必须两小时重新得到一次,否则上次获取的access_token就会失效,因此使用此类将access_token利用缓存将获取的值存储起来,之后每次获取之前将先从缓存之中取值,如果缓存之中没有再调用微信的接口进行获取。商品服务模块部分类图如图4-5所示:30 上海师范大学硕士学位论文第4章系统总体设计图4-5商品服务模块部分类图4.3.3订单服务模块设计订单服务模块是供营销员方便查看自己的客户的下单详情,当客户购买商品之后便会在订单页显示属于此营销员客户的订单。订单页分为待付款订单、已付款订单和已退单订单,营销员点击每一个选项就会显示相应选项下的所有订单情况,罗列出来的只是订单的基本情况,再继续点击进去便可查看订单详情,包括订单所包括的商品、订单的收货人信息等。在订单页的顶部提供了一个搜索框,用于当订单非常多的情况下,利用订单号在此处搜索对应的订单。订单的物流信息由邮政“海淘屋”提供,此营销平台产生的已付款订单都是会提交至邮政“海淘屋”平台,然后由“海淘屋”进行发货处理,其物流信息会提供给此营销平台,所以此营销平台给用户提供了一个单独的物流查询页面,只需用户输入商品购买成功后由此营销平台发送给客户的订单号便可进行订单的物流查询操作。和订单服务模块有关联的类有:1.Order类为订单实体类,记录了订单的编号,订单所属营销员、订单所包31 第4章系统总体设计上海师范大学硕士学位论文括的商品(此营销平台一个订单只包含一件商品)、订单的收货人等属性信息。2.OrderService类为订单业务层接口类,其实现类为OrderServiceImpl,主要实现订单的业务逻辑。3.OrderDao类为订单的数据处理接口类,其实现类为OrderDaoImpl,主要进行订单的增加、查询,修改和删除等操作。4.OrderServiceProxy类调用“海淘屋”订单上传接口,将产生的订单上传至“海淘屋”平台。订单服务模块部分类图如图4-6所示:图4-6订单服务模块部分类图4.3.4积分服务模块设计积分服务模块主要是供营销员查询自己收益情况,在该部分营销员可以浏览自己的剩余/本月/已领取积分数目及已完成订单数等相关统计数据。方便营销员了解自己的收益细节。在积分服务模块营销员点击积分明细,可以看到营销员是购买还是分享商品获得的积分,以及获得此积分时分享或者购买商品的名称、时间等。当营销员的积分数目达到一定的数目时,营销员可以消费自己的所获得的积分,暂时的消费方法是营销员兑换一些物品,营销员在积分兑换物品页面选择自32 上海师范大学硕士学位论文第4章系统总体设计己所需要的物品,包括上海市公共交通卡、纪念邮票等物品,这些兑换物分为不同的面值,具体兑换的面值取决于营销员自己拥有的积分数,兑换完成之后积分会被扣除,由上海邮政随后利用快递寄给营销员。营销员亦可在次查看自己的兑换记录。积分模块主要的类有:1.Point类为积分实体类,描述了积分所属的订单、积分所属的营销员,积分的数目等积分属性信息。2.Cash类为积分兑换物品的实体类,该类包括兑换物品所属的营销员,兑换的金额,兑换物品的名称,兑换的时间以及兑换审核状态(包括未通过、已通过和拒绝兑换三种状态,兑换申请提交之后需得到管理员的审批通过之后方可完成兑换)。3.PointDao类,此类用于商品的购买和分享发生之后添加积分操作,当营销员完成兑换之后对积分进行扣除并向数据库中添加体现记录等积分和兑换相关的数据层操作,其实现类为PointDaoImpl。积分服务模块的部分类图如图4-7所示:图4-7积分服务模块部分类图4.3.5管理员服务模块设计管理员服务是整个营销平台的后台处理部分,前台营销员所有的操作都会受控制于管理员服务模块。管理员服务模块要做到所有的营销员注册都必须得到管理员的审批方可成为邮政此营销平台的营销员,审批通过后管理员管理所有营销33 第4章系统总体设计上海师范大学硕士学位论文员的信息。包括营销员的自身信息、营销员的订单信息,营销员的积分信息,营销员的兑换物品信息(管理员可以跟换营销员的积分可以兑换哪些物品),营销员的业绩打印报表还有所有前台商品的上架和下架操作。管理员服务模块涉及到的主要类有:1.RoleAction类主要作用是提供了营销员的审核,查询所有营销员,根据搜索条件进行营销员查找,添加、删除、修改营销员信息等的方法。2.ProductAction类中有查询修改、删除商品的相关方法。3.OrderAction类中有查询、增加、修改订单的相关方法。4.PointDetailAction类中有积分的查询、修改等相关方法。5.CashAction类中有提现记录查询,修改和删除处理等的方法。下面是管理员服务模块的操作示意图:图4-8管理员服务模块操作图4.4系统数据库设计数据库中的数据是任何一家企业最为重要的东西,保证数据安全、稳定的存储是数据库设计当中应该考虑的问题。数据库的设计关系到营销平台运行的效率,在尽量避免数据冗余来提高数据处理速度的前提下,选择合适的数据库也成了关键的一部分。本营销平台选择的数据库是Oracle11g数据库,因为作为电子商务类型的系统,其用户量之大、数据之多等因素都需要纳入其中,而Oracle11g34 上海师范大学硕士学位论文第4章系统总体设计在稳定性和安全机制方面都要强一些。而在实体设计当中,因为此营销平台暂时还是在刚运营阶段,后期的功能扩展性强大,为了方便功能的扩展,实体之间设置外键,但是取消外键约束,否则后期的数据删除和插入将会显得非常的麻烦。这里以商品相关表为例具体地介绍本营销平台的数据库设计。由于所有的商品都是从“海淘屋”的商品接口中获取,按照获取的数据方便存储,这里共设计了商品相关的四张表,分别为商品表(buy_product)、商品参数表(buy_parameters)、商品规格表(buy_specifications)和商品属性表(buy_attributes)。下图4-9显示了商品的表结构的关联关系:图4-9商品表结构关联关系图根据上文数据设计原则的叙述,下面将分别设计每张表如下:表4-1商品表字段名字段类型约束说明pro_idvarchar2(10)主键,不能为空产品ID,唯一标识符pro_namevarchar2(100)不能为空产品的名字pro_fullnamevarchar2(200)不能为空产品的全名pro_pricenumber(12,5)不能为空产品的价格pro_unitvarchar2(50)不能为空产品的单位(罐/件)pro_stocknumber(20)不能为空产品的库存pro_introductionvarchar2(2000)不能为空产品图文介绍35 第4章系统总体设计上海师范大学硕士学位论文pro_brandvarchar2(30)不能为空产品品牌pro_pointnumber(10)不能为空产品积分数pro_sharepointnumber(10)不能为空产品分享积分数表4-2商品参数表字段名字段类型约束说明para_idvarchar2(10)主键,不能为空商品参数IDpara_keyvarchar2(50)不能为空商品参数名para_valuevarchar2(50)不能为空商品参数值pro_idvarchar2(10)外键,不能为空商品ID表4-3商品规格表字段名字段类型约束说明spec_idvarchar2(10)主键,不能为空商品规格IDspec_keyvarchar2(50)不能为空商品规格名spec_valuevarchar2(50)不能为空商品规格值pro_idvarchar2(10)外键,不能为空商品ID表4-4商品属性表字段名字段类型约束说明attr_idvarchar2(10)主键,不能为空商品属性IDattr_keyvarchar2(50)不能为空商品属性名attr_valuevarchar2(50)不能为空商品属性值pro_idvarchar2(10)外键,不能为空商品ID4.5本章小结本章依据SPIMO微信端营销平台APP的需求,首先选择合适的平台为本系统做底层支持,并介绍了在微信端部署本系统的流程。然后划分系统各大服务模块,详细的设计了每个模块的类,按照设计好的类便可方便的实现系统的功能。最后从稳定和安全方面考虑选择Oracle11g作为本营销平台的数据库。36 上海师范大学硕士学位论文第5章系统详细设计与实现第5章系统详细设计与实现系统需求分析和总体设计完成,整个系统的功能逻辑的实现就简单了,本章主要介绍SPIMO营销平台每个功能模块及其技术点的详细设计过程,并将详细设计的实现结果图文并茂展示出来。5.1系统环境及首页5.1.1系统环境系统的运行依赖于微信公众平台的支持,系统的运行环境设置将按照4.1.2节的设置步骤进行。5.1.2系统首页系统的微信公众平台环境设置完毕之后,此处是设置在上海邮政海淘屋的微信公众号之上的,营销员用微信关注后进入此公众号,下方菜单栏中会有本营销平台的菜单选项“帮我买”。如图5-1所示:图5-1系统登录选项菜单页点击“帮我买”菜单选项即进入到本系统的营销员登录主界面,登录主界面的设计简单大方,当营销员首次进入到登录界面时,需要输入用户名及密码,而37 第5章系统详细设计与实现上海师范大学硕士学位论文当营销员非第一次进入登录界面时,系统记住上次输入的用户名及密码自动填充到输入框中去,其周期设置为一个星期,超过一个星期之后必须重新手动的输入用户名及密码了,避免使用者每次都需要手动输入账号的不良用户体验。主要作用类为LoginServlet类,具体是获取到登录界面传来的用户名及密码之后,将用户名及密码放置到浏览器Cookie中,再次进入登录界面查找Cookie中有无上次登陆的用户名及密码,有则取出填入输入框,没有则不取。系统登录主界面如图5-2所示:图5-2系统登录主界面主要的实现代码如下所示://获取用户登录账号StringloginName=request.getParameter("loginName");//获取用户登录密码StringloginPwd=request.getParameter("password");//将用户名及密码加入CookieCookiecookiename=newCookie("cookiename",loginName);cookiename.setPath("/");//设置cookie的有效时间为一个星期;cookiename.setMaxAge(7*24*3600);response.addCookie(cookiename);Cookiecookiepwd=newCookie("cookiepwd",loginPwd);cookiename.setPath("/");38 上海师范大学硕士学位论文第5章系统详细设计与实现cookiepwd.setMaxAge(7*24*3600);response.addCookie(cookiepwd);5.2营销员服务功能详细设计与实现营销员服务功能主要介绍营销员的注册申请,找回密码,资料修改三个方面。这三个方面是营销员最基础的功能模块。5.2.1营销员注册申请营销员在登录营销平台之前首先需要具备上海邮政公司认可的邮政营销员资格方可进行邮政商品的销售。上海邮政目前在上海共有五十几家“海淘屋”门店分布在不同的区,未来门店还在不断的扩充。所以这个可以通过管理员在后台增加门店信息,营销平台前端可以动态获取。当营销员选择所属市辖区后出现对应辖区的所有门店,这在后文管理员服务功能会叙述。营销员注册时需要根据身份的不同来进行注册,分为三种类别,分别为海淘屋员工、邮政普通员工、其他。如果为海淘屋员工,还需选择自己所属的海淘屋门店信息。填完整注册信息后管理员会审批所注册的用户,审批通过的营销员才可以登录本平台,否则无法完成登录。注册功能主要的类为RegisterServet。营销平台要确保用户数据能够安全存储,注册后密码存入数据库前应该经过MD5加密算法处理。营销员注册页面如下图所示:图5-3营销员注册页面5.2.2营销员找回密码39 第5章系统详细设计与实现上海师范大学硕士学位论文营销员找回密码功能是为了防止营销员忘记自己的密码而提供的一项功能,该功能只需要营销员记住注册时填写的手机号和身份证号便可以找回密码,而手机号和身份证号这两个信息的特殊性一般都不会忘记,所以用这两个信息进行密码的找回非常方便。当营销员提交找回密码的申请后,便会通过手机短信的形式将新生成的随机六位数字新密码发送到营销员注册的手机账号中去。登录成功后营销员又可在资料修改页面修改此系统随机密码。营销员找回密码的页面如图5-4所示:图5-4营销员找回密码找回密码当中用到的关键方法便是利用webservice调用邮政“海淘屋”的短信发送服务SMSService。“海淘屋”提供了短信发送服务的地址和接口相关参数信息,如下表所示:表5-1短信发送接口表接口地址http://global.postbuy.com.cn/postoversea/services/SMSService方法名send参数1.StringsendTime,定时发送时间(yyyyMMddHHmmss),可为空2.String[]mobiles,手机号码组3.Stringname,短信标签名,可为空4.Stringcontent,短信内容5.Longid,商户ID6.Stringtoken,由sendTime+mobiles[0]+...+mobiles[n]+name+content经MD5算法生成40 上海师范大学硕士学位论文第5章系统详细设计与实现返回值String结果000发送成功002发送失败102验签未通过106商户ID不存在具体的调用方法是利用wsimport命令生成本地的短信服务客户端代码。命令为:wsimport-keep-pcom.suxsoft.WebService.SmsSynchttp://global.postbuy.com.cn/postoversea/services/SMSService?wsdl。生成的本地代码的主要类为SMSServiceProxy。下面为调用短信服务接口发送营销员新密码的主要代码:privatelongid=Long.valueOf(Config.getValue("id"));//商户编号privateStringname="上海邮政帮我买";privateStringsendTime="";publicStringsendMessage(Stringmobile,Stringcontent){Stringtemp=sendTime+mobile+name+content+id;Stringtoken=MD5Util.getStringMD5CodeUTF8(temp);Stringresult="";try{Stringsendresult=newSMSServiceProxy().send(sendTime,newString[]{mobile},name,content,Long.valueOf(id),token);if(sendresult.equals("000")){result="发送成功";}elseif(sendresult.equals("002")){result="发送失败";}elseif(sendresult.equals("102")){result="验签未通过";}elseif(sendresult.equals("106")){result="商户ID不存在";}}catch(RemoteExceptione){e.printStackTrace();}returnresult;}5.2.3营销员资料修改营销员资料修改是营销员登录系统之后可以完成的操作,该项功能的作用主要是营销员后期类别发生变动,比如由普通员工转变为邮政海淘屋员工等都需要41 第5章系统详细设计与实现上海师范大学硕士学位论文营销员自己完成资料的修改。资料修改页面如图5-5所示:图5-5营销员资料修改5.3商品服务功能详细设计与实现商品服务功能是SPIMO营销平台“帮我买”的核心功能模块,该功能模块涉及到产品的展示、分享、购买等业务操作。5.3.1商品查询商品列表的产品通过接口从“海淘屋”平台发布的上架产品中获取来的。“海淘屋”随时会更新发布的商品,进行商品的上架和下架操作。当上架新商品时,“海淘屋”会提供商品的编号,商品的参数信息、规格信息、属性信息等。没有变动的商品第二次依然会推送,但是只会推送商品的编号。若商品下架了则没有该下架产品的推送。商品信息的数据都是以Json数据格式推送过来,根据推送的商品在营销平台展示所有上架的商品。由于商品的更新是任意时刻,所以系统采用了定时器任务,每隔一天都会获取更新后的商品进行展示。下表为商品推送接口表:表5-2商品推送接口表接口地址http://global.postbuy.com.cn/postoversea/services/ProductService方法名getAllProduct参数Longid,商户ID返回值String,Json格式字符串42 上海师范大学硕士学位论文第5章系统详细设计与实现上表中商品推送接口的返回值为商品数据的Json格式字符串,结构如下所示:[//商品大类列表(goodsList)[//商品列表(productList){//商品信息(product)sn:商品编号,name:商品名称,fullName:商品全称,price:销售价,taxRate:税率,shipping:运费,freeShippingAmount:单笔订单免运费商品数,url:商品的手机页面地址,image:{pageImage:封面图片URL,showImage:[展示图片1URL,展示图片2URL,...]},unit:商品单位,stock:库存,introduction:商品介绍(包含HTML语句),brand:品牌,isMarketable:是否上架,specifications:{规格名称1:规格值1,规格名称2:规格值2,...},attributes:{属性名1:属性值1,属性名2:属性值2,...},parameters:{参数名1:参数值1,参数名2:参数值2,...}},43 第5章系统详细设计与实现上海师范大学硕士学位论文...],...]调用商品推送接口的webservice方法同5.2.2节介绍的调用短信发送接口方法一致。核心类ProductServiceProxy,其获取商品的主要代码如下:ProductServiceservice=newProductServiceImpl();ProductServiceProxyssp=newProductServiceProxy();Stringtemppro=ssp.getAllProduct(id);//根据商户ID取商品//解析Json数据,取出所有商品数据JSONArrayarray=newJSONArray(temppro);List
此文档下载收益归作者所有