赞
踩
目 录
摘 要 I
ABSTRACT II
一、前言 1
1.1 研究的背景、目的和意义 1
1.2 国内外文献综述 2
1.3 研究的主要内容 3
二、系统相关技术研究 5
2.1 微信小程序 5
2.2 ThinkPHP 5 框架 7
2.3 RESTFul API 8
2.4 微信支付技术 10
2.5 MySQL数据库 12
三、需求分析与可行性研究 14
3.1 市场定位分析 14
3.2 可行性分析 14
3.3 需求目标 15
3.3.1 概述 15
3.3.2 商城整体说明 15
四、系统解决方案 17
4.1 设计方案的论证 17
4.1.1 设计方案的选择 17
4.1.2 工具的选择 17
4.2 设计方案的说明 18
4.2.1 系统总体描述 18
4.2.2 系统角色类型 18
4.2.3 系统规划 20
4.2.4 预期目的 20
4.2.5 技术要求 21
五、系统详细设计 22
5.1 系统模块架构 22
5.2 系统功能说明 22
5.2.1 系统登录模块 22
5.2.2 数码商城设置模块 23
5.2.3 数码商城内容更改模块 25
5.2.4 数码商城管理员模块 26
5.2.5 基本商城功能模块 27
5.3 数据字典 28
六、系统实现 31
6.1 模块实现的理论基础 31
6.2 系统登录模块的实现 31
6.3 设置数码商城信息模块的实现 31
6.4 数码商城选货模块的实现 39
6.4.1 选货模块 39
6.4.2 选货后编辑及提交模块 40
6.5 管理员审核模块 43
七、系统测试 45
7.1 概述 45
7.2 系统测试用例 45
7.3 测试总结 47
总 结 48
致 谢 49
参考文献 50
数码商城是一种新的消费模式,采用线上线下结合的消费模式,线下消费,线上付款。对于线下,其形式是:放一个数码商城到学生,这个数码商城归的人所共享,数码商城运营商放固定数量的商品进数码商城,用户消费的时候,直接拿数码商城里的东西,然后往数码商城里丢钱,自己找零,数码商城运营商定期去维护数码商城里的商品,是一种只适用于大数码商城园的高自觉、高素质人群的消费模式。
而这次我的开发任务是,将这个模式转移到线上,对用户而言,在用户端数码商城模块就相当于自己的一个“收藏夹”,用户可以定义这个“收藏夹”里放什么东西,后台商家收到用户的自定义信息之后,将会上门把客户选择的商品放进数码商城里,这个过程是免费的,因为用户还没有产生真正的消费。在线下,实体纸箱数码商城就是用户可以随时消费的“寝室超市”,其消费流程很简单,从数码商城里拿东西,在“收藏夹”(线上数码商城模块)快速找到商品进行线上付款,一切基于诚信。
微信已经通过它的大数据改变了当下的广告营销市场[7],而且因为它的轻量化和跨平台化,所以没有选择APP开发,避开了开发攻坚,安卓IOS双平台同步,软件推广三大难题,在电子商务发展的过程中,微信是一个很好的营销平台[8]。
整个商城是基于微擎版人人商城的二次开发,我的开发任务就是对人人商城进行数据库和代码逻辑分析,然后完成数码商城的功能开发以及数码商城数据库和人人商城数据库的融合,相当于在一块打了地基的土地上盖房子,本文转载自http://www.biyezuopin.vip/onews.asp?id=11098用成熟的底层写自己的逻辑模块。
这次选用的数据库是Mysql,利用HTML+JS+CSS技术完成前端页面的设计开发,用PHP+AJAX技术完成后台逻辑功能的实现[13]。系统一共有五大模块,其详细实现方法见以下各小节。
// app.js App({ d: { hostUrl: 'https://tao.leiang-ele.com/index.php', hostImg: 'http://img.ynjmzb.net', hostVideo: 'http://zhubaotong-file.oss-cn-beijing.aliyuncs.com', userId: 1, appId:"", appKey:"", ceshiUrl:'https://tao.leiang-ele.com/index.php', }, onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs); //login this.getUserInfo(); }, getUserInfo:function(cb){ var that = this if(this.globalData.userInfo){ typeof cb == "function" && cb(this.globalData.userInfo) }else{ //调用登录接口 wx.login({ success: function (res) { var code = res.code; //get wx user simple info wx.getUserInfo({ success: function (res) { that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo); //get user sessionKey //get sessionKey that.getUserSessionKey(code); } }); } }); } }, getUserSessionKey:function(code){ //用户的订单状态 var that = this; wx.request({ url: that.d.ceshiUrl + '/Api/Login/getsessionkey', method:'post', data: { code: code }, header: { 'Content-Type': 'application/x-www-form-urlencoded' }, success: function (res) { //--init data var data = res.data; if(data.status==0){ wx.showToast({ title: data.err, duration: 2000 }); return false; } that.globalData.userInfo['sessionId'] = data.session_key; that.globalData.userInfo['openid'] = data.openid; that.onLoginUser(); }, fail:function(e){ wx.showToast({ title: '网络异常!err:getsessionkeys', duration: 2000 }); }, }); }, onLoginUser:function(){ var that = this; var user = that.globalData.userInfo; wx.request({ url: that.d.ceshiUrl + '/Api/Login/authlogin', method:'post', data: { SessionId: user.sessionId, gender:user.gender, NickName: user.nickName, HeadUrl: user.avatarUrl, openid:user.openid }, header: { 'Content-Type': 'application/x-www-form-urlencoded' }, success: function (res) { //--init data var data = res.data.arr; var status = res.data.status; if(status!=1){ wx.showToast({ title: res.data.err, duration: 3000 }); return false; } that.globalData.userInfo['id'] = data.ID; that.globalData.userInfo['NickName'] = data.NickName; that.globalData.userInfo['HeadUrl'] = data.HeadUrl; var userId = data.ID; if (!userId){ wx.showToast({ title: '登录失败!', duration: 3000 }); return false; } that.d.userId = userId; }, fail:function(e){ wx.showToast({ title: '网络异常!err:authlogin', duration: 2000 }); }, }); }, getOrBindTelPhone:function(returnUrl){ var user = this.globalData.userInfo; if(!user.tel){ wx.navigateTo({ url: 'pages/binding/binding' }); } }, globalData:{ userInfo:null }, onPullDownRefresh: function (){ wx.stopPullDownRefresh(); } });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。