基于iphone os 的O2O电子商务平台系统设计与实现.docx
- 文档编号:26134747
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:39
- 大小:1.42MB
基于iphone os 的O2O电子商务平台系统设计与实现.docx
《基于iphone os 的O2O电子商务平台系统设计与实现.docx》由会员分享,可在线阅读,更多相关《基于iphone os 的O2O电子商务平台系统设计与实现.docx(39页珍藏版)》请在冰豆网上搜索。
基于iphoneos的O2O电子商务平台系统设计与实现
基于iphoneos的O2O电子商务平台系统设计与实现
引论
随着移动互联网时代时代的到来,网购已经成为生活中必不可少的一项活动,网购也给人们生活带来了很大的便利,用户可以足不出户,买到自己偏爱的物品。
不同于传统的网上购物,用户可以在线上选好商品后,以包裹的形式受到商品,在O2O电子商务模式下,最终用户买到的商品不是以包裹的形式寄到我们身边,而是一种服务,可以在线下去亲身体验消费感受。
1O2O电子商务平台系统综述
1.1O2O电子商务简要介绍
O2O顾明思议就是英文中的OnlinetoOffline,浅显的翻译也就是线上到线下。
但是什么线上到线下呢?
这里指的是用户从线上到线下。
具体的解释是这样的:
用户下载购物类的移动应用软件,在客户端,浏览不同的界面,或者在网站上浏览不同的商品商家或相关服务类的信息,遇到自己心仪的商品,或者满意的服务时,通过支付宝,或者其他第三方的支付手段,在线支付,线上付款成功后,会收到相关的凭证(比如短信凭证)。
之后,用户再通过此凭证到线下实体店去消费体验享受服务的一个过程。
这种模式促进了线上的消费者转移到线下实体店中去体验,感受服务,通过线上的宣传比较,大大增加了商家的客户量。
O2O电子商务的主要特点就是在网上,在线上进行了商品,商户等信息的传递,以及资金的流转,用户体验在实体店线下进行,商品的流转也在线下进行。
通过O2O电子商务App,商家可以更多的宣传展示自身的品牌,自己的产品,也可以及时得到消费者的反馈信息,及时调整改变自己不足的地方,与此同时商家也可以通过消费者的消费信息,浏览习惯等掌握用户的资料,进而进一步挖掘数据,分析消费者的行为,实现进一步的营销。
消费者可以足不出户,轻松地获得各个商家商品的详细信息,能够轻松、及时、全面的筛选信息,了解优惠产品,打折信息,不仅仅拥有了更好的用户体验,给自己生活带来了便利,也是自己生活的小助手,轻易的找到最划算最适合自己的产品。
无疑,此模式是一种双赢互利的模式,商家与用户相辅相成,相互促进,各取所需,各获其力。
1.2市场现状与分析
据CNNIC发布第33次《中国互联网络发展状况统计报告》显示,截至2013年12月,中国网民的数量已经高达6.18亿,互联网的普及率已经达到45.8%[2]。
而其中,移动端手机网络的用户数量已经高达5亿[2]。
移动手机端用户的持续增长的促进了手机移动客户端各类App的发展。
2013年以网络购物(例如淘宝,阿里巴巴)、团购(例如美团,拉手网)等为主的移动客户端App应用一直在稳步发展与前进。
[2]2013年,中国移动端网络购物的数量相比上以一年已经有了很大的提高。
由此可见移动应用有着非常强大的市场,而以网络购物为主的商务类应用也保持着较高的发展速度,O2O电子商务系统不仅仅给人们生活带来很大的便利也有着有很大的发展空间与市场。
随着iphone5c,iphone5s,ipadAir的相继上市,ios7.0,ios7.1的相继发布,苹果产品与新的设计理念备受关注,苹果用户也相继增高,与此同时苹果的软件市场也在为人们关注的热点之中。
据新浪科技统计显示,2013年在苹果市场的软件收益已经超过100亿美元[3]。
由此可见苹果移动端App应用软件市场有着巨大的潜质与发展空间,而电子商务类移动端App也有着很好的发展前景。
1.3基本功能简要描述
O2O电子商务平台移动端App主要分为首页、专题、周边、订单、搜索、应用中心、返现状态、摇一摇、购物车九大功能模块。
首页上端展示了广告轮播,为商品提供了很好的展示平台,根据相关不同状态,点击可以跳转到到商品详情,商户详情,以及登陆注册的界面。
界面下端使用轮播图对商品商户提供了很好的展示,同样也可以跳转到商品商户详情页面。
而中间主要提供了返现状态,摇一摇,购物车等界面的入口。
返现状态,记录了所有已支付的记录的商品对应的返现记录,在用户登录状态下可以直接浏览,否则跳转到登录界面。
摇一摇,用户在摇晃手机后,随机匹配出商品信息,用户可以根据自己的喜好选择摇到的商品。
购物车,用户在未登录的情况下,会跳转进入登录界面,登录以后点击购物车按钮,通过Http请求,Json解析显示出用户加入购物车的产品。
应用中心,如果用户已经注册,并且登录的情况下,用户可以直接进入应用中心界面。
如果没有登录否则跳转进入登录注册的界面。
在应用中心这一模块中用户可以设置自己个人资料,查看我的消息,账户记录,以及安全中心。
用于也可以对软件进行相关的设置,反馈建议。
查看关于软件的信息。
专题,主要以列表的形式对特卖商品进行了相关的展示,用户可以浏览此界面,根据个人偏好,跳转到不同的商品详情,商户详情。
周边,首先进行用户定位。
用户可在筛选框中,选择适合自己的条件,分别有分类,距离,默认排序。
然后展示出相关商品,供用户选择。
订单,用户在未登录的情况下,跳转进入登录界面;在登录的情况下,通过Http请求,Jason解析,展示出用户交易完成后形成的不同的订单。
2开发环境、开发工具以及重要技术点介绍
2.1开发环境
2.1.1MacOSX操作系统
OSX是苹果公司开发的操作系统,被应用于Mac系列产品。
苹果操作系统是全球第一个选用“面向对象”的思想而且是在UNIX系统的基础上开发的操作系统[1]。
史蒂夫·乔布斯(SteveJobs)在1985年由于种种缘故被迫离开了苹果公司,之后乔布斯又重新成立了NeXT公司,而“面向对象操作系统”就是在这段时间所开发出来的。
苹果操作系统的版本命名基本上都是以大型猫科动物命名以及版本号。
苹果操作系统版本命名对猫科动物偏爱有佳,10.0到10.8版本的命名依次如下所示:
猎豹(Cheetah),美洲豹(Puma),美洲虎(Jaguar),黑豹(Panther),老虎(Tiger),豹子(Leopard),雪豹(SnowLeopard),狮子(Lion),美洲狮(MountainLion)[8]。
2013年6月10日在WWDC大会上,10.9版本的OSX的命名结束了之前9个版本的命名规则,不再是以大型猫科动物命名,取而代之的是Mavericks(巨浪)这一命名。
本系统在MacOSX10.8.4的环境下开发。
2.1.2iphoneos操作系统
iphoneos即ios,是Apple公司的移动操作系统。
因为苹果移动端设备都使用iPhoneOS操作系统,所以在2010WWDC大会上苹果宣布其原来的名字iphoneos改名为iOS。
iOS是iPad、iPhone、iPod touch等苹果移动设备的操作系统。
ios具有简单易用的界面,以及超强的稳定性。
ios系统从最初的iPhoneOS1.2,ios4,ios5,ios6到现在得ios7经历了漫长的时间和蜕变。
2.2开发工具与主要技术
2.2.1主要使用语言Object-C
诞生于20世纪80年代的Objective-C语言,是由BradCox发明,其目的在于将Smalltalk语言与C语言结合在一起[6]。
Objective-C是不仅仅是对C语言的一个扩展集,也是面向对象的编程语言。
由于MacOSX的技术源自NextStep的OpenStep操作系统,并且其软件框架(framework)都是基于Objetive-C,顺利成章的Objective-C成为最适合苹果开发的语言[3]。
Object-C的一些主要特点:
a.Object-C不像C++一样支持命名空间原则,解决这一缺陷一般都是在类名称加前缀。
b.Object-C不支持运算符重载,它只支持单继承,不允许多重继承,但是object-C中的协议可以解决这一缺点。
c.Object-C的消息传递模型,对象是不调用方法的,而是互相传递消息。
2.2.2Xcode与InterfaceBuilder
Xcode主要用于开发苹果操作系统和苹果移动客户端各类软件,是苹果公司向开发人员提供的专门开发苹果App的集成开发环境。
Xcode是由NeXT的ProjectBuilder慢慢的演变过来的。
它支持C语言、C++、Objective-C、Objective-C++、Java等语言[5]。
作为Xcode套件的一部分,InterfaceBuilder,也就是界面编辑器,主要用于苹果操作系统的软件视图界面的开发。
苹果开发者使用界面编辑器来设计,创建和修改App的不同的图形界面。
界面编辑器的数据是以XML的格式被储存在.xib的文件中。
但是在过去,界面编辑器的数据则是被储存在.nib文件中。
界面编辑器向开发者提供了一系列包含着各种各样的用户界面对象的工具箱。
这些对象包括按钮,列表,风火轮,文本框,滑动图片,滚动条,进度条等不同的控件。
使用界面编辑器,开发者只是通过拖拽选定的对象到面板上,这样就创建了选中的对象,也可以移动此对象的位置,很容易的就布局了整个图形界面。
开发者不但可以使用苹果系统所提供的控件,也可以使用自己定义的控件,用这种方法创建对象,相比单纯代码创建对象容易的多,而且整个界面布局可以一目了然,可视化也强。
。
2.3JSON解析
JSON也就是JavascriptObjectNotation,是一种比较方便阅读的,轻量级的并且以文字为基础的语言。
[7]
JSON描述数据结构时,主要一以下的形式存在:
a.对象(object):
对象的描述是以“{”开始,并遇到“}”结束。
一个对象包含一系列没有排序的key/value键值对,每个key/value键值对之间都用用“,”逗号分割开。
b.key/value键值对:
key也就是关键字,value是与key相对应的值。
关键字与其相对应的值之间用“:
”隔开。
一般的形式如右:
{key:
value}。
key关键字只能是一个字符串,而与之相对应的value值既可以是字符串类型,也可以是数值,对象,布尔值,数组,或者null值等等。
C.数组:
数组中可以存放对象,或者基本数据类型,当然也可以存放不同的数组。
不同的类型之间用“,”逗号分割开,最后使用“[”,“]”中括号括起来,这样就就形成了数组。
最终服务器返回这样的格式,被开发人员解析出来使用。
d.字符串:
以""括起来的一串字符。
e.数值:
一系列0-9的数字组合,可以为负数或者小数。
f.布尔值(Bool):
表示为true或者false。
3O2O电子商务平台系统需求分析
3.1业务流程分析
通过对O2O电子商务平台系统的需求分析,确定了O2O电子商务平台系统的各个模块的业务流程。
O2O电子商务平台系统的流程图如图3-1所示
3.2功能型需求分析
根据客户需求以及功能要求,O2O电子商务平台系统简要需求分析如下:
首页模块:
通过HTTP通信,JSON解析,展示出广告轮播,以及相关活动展示,用户通过浏览相关界面可以跳转到相应的商品详情页面,商户详情页面,并且提供了摇一摇,返现状态,购物车,应用中心,搜索界面等功能的入口。
返现状态模块:
通过HTTP通信,JSON解析,在登录的情况下展示出所有已支付的记录的商品对应的返现记录,没有登录的状态下,跳转到登陆界面。
摇一摇模块:
用户在摇晃手机后,根据后台匹配出商品信息,展示到界面上,用户可以根据个人偏好,选择购买商品,或者退出此界面。
购物车模块:
未登录的时候显示登录界面,登录以后通过Http请求显示出用户加入购物车的产品,以列表的形式展示出来。
应用中心模块:
未登录的时候跳转进入登陆界面,未注册的时候,用户可以在登陆界面找到注册按钮,跳转到注册个人信息。
完成注册登录以后,用户可以进入应用中心界面。
在这一模块中用户可以设置自己个人资料,查看我的消息,账户记录,以及安全中心。
用于也可以对软件进行相关的设置,反馈建议。
查看关于软件的信息。
专题模块:
主要对特卖商品进行了相关的展示。
用户可以根据个人喜好,选择适合自己的产品。
周边模块:
首先进行用户定位。
用户可在筛选框中,选择适合自己的条件,分别有分类,距离,默认排序。
然后展示出相关商品,供用户选择。
订单模块:
在登录的状态下,显示出用户交易完成后形成的不同的订单,否则跳转登录界面。
图3-1系统业务流程图
备注:
应用中心,订单,以及购物车功能需要在登录成功的状态下才能显示出来,若没有登录用户显示登录界面。
3.3与服务器端共用的数据字典分析
3.3.1登录成功后获取个人信息
请求报文:
参数名称
数据类型
说明
Phonenum
String
手机号码
返回报文:
参数名称
数据类型
说明
Nickname
String
昵称
Userid
Int
Userid
Userimg
String
用户头像url
Phonenum
String
用户手机号
Sexy
Int
性别,0male1female
Brithday
String
生日
Constellation
String
星座
Local
String
所在地
Professional
String
职业
Interest
String
兴趣
Balance
Float
余额
Unbanlance
Float
不可用余额
String
3.3.2商品详情页
请求报文:
参数名称
数据类型
说明
Productid
Int
商品id
Longitude
Float
经度
Latitude
Float
纬度
返回报文:
返回数组
参数名称
数据类型
说明
Productname
String
商品名字
Productimg
Array
商品图片组url
Rebate
Float
返现比
Is7day
Int
1支持7天退换
Isexpired
Int
1支持过期退换
Isback
Int
1支持随时退
isgenuine
Int
1正品
Isinvoice
Int
1支持提供发票
Storename
String
商户名字
Stocknum
Int
库存数量
Buyernum
Int
购买人数
Buerendtime
String
购买截止日期
Consumptiontime
String
消费截止日期
Evaluate
Array
用户评价数组
Storeid
Int
所属商户id
Distance
Float
距离
Phone
String
商户电话
Detailinfo
String
图文详情url
Hotproduct
Array
本店热门商品数组(数组中包含productid和productname)
Producturl
String
商品url
3.3.3商户详情页
请求报文:
参数名称
数据类型
说明
shopid
Int
商户id
Longitude
Float
经度
Latitude
Float
纬度
返回报文:
返回数组
参数名称
数据类型
说明
Productname
String
商品名字
Productimg
Array
商品图片组url
Rebate
Float
返现比
Is7day
Int
1支持7天退换
Isexpired
Int
1支持过期退换
Isback
Int
1支持随时退
isgenuine
Int
1正品
Isinvoice
Int
1支持提供发票
Storename
String
商户名字
Stocknum
Int
库存数量
Buyernum
Int
购买人数
Buerendtime
String
购买截止日期
Consumptiontime
String
消费截止日期
Evaluate
Array
用户评价数组
Storeid
Int
所属商户id
Distance
Float
距离
Phone
String
商户电话
Detailinfo
String
图文详情url
Hotproduct
Array
本店热门商品数组(数组中包含productid和productname)
Producturl
String
商品url
3.3.4周边页面
请求报文:
参数名称
数据类型
说明
Longitude
Float
经度
Latitude
Float
纬度
Typeid
Int
周边的分类
Sord
Int
排序种类
Distance
Int
距离
返回报文:
参数名称
数据类型
说明
Imgurl
String
图片url
Productid
Int
商品id
Productname
String
商品名字
Isnew
Int
判断是否最新
Price
Float
价格
Productprecent
Float
返现比例
Longitude
Float
经度
Latitude
Float
纬度
Type
Int
标记是人气,最新,还是无
4O2O电子商务平台系统设计
系统App设计,是指在在分析App功能模块的前提下,充分了解用户的需求,然后再设计出以能满足用户需求为目标,实现基本功能的过程[8]。
系统设计的主要内容包括:
1)确定设计方针和方法
2)将系统分解为若干子系统
3)了解各个子系统的目标,并且确定各个子目标的功能及各个子目标之间的相互关系,便于后期开发
4)决定对子系统的管理体制和控制方式
5)对各子系统进行技术设计和评价
6)对全系统进行技术设计和评价等。
本阶段的主要目标是划分O2O电子商务平台App的模块,并且对各个模块进行分析,了各个模块以及子模块所使用的开发的技术要点,以及各个界面的切换逻辑。
O2O电子商务平台系统功能模块如图4-1。
图4-1O2O电子商务平台系统功能模块
5O2O电子商务平台系统的实现
5.1首页功能模块的实现
如图5-1所示:
图5-1首页功能模块图
部分功能代码实现如下:
购物车功能模块的入口
-(IBAction)cartAction:
(id)sender
{
点击购物车按钮后,通过gGlobalSetting.loginUser判断是用户是否登录,假如用户没有登录,则跳转进入登录界面。
if(!
gGlobalSetting.loginUser){
LoginViewController*login=[[LoginViewControlleralloc]init];
UINavigationController*navi=[[UINavigationControlleralloc]initWithRootViewController:
login];
navi.navigationBarHidden=YES;
[gRootViewControllerpresentModalViewController:
navianimated:
YES];
[loginrelease];
[navirelease];
return;
}
登录了以后跳转进入购物车界面
CartViewController*vc=[[CartViewControlleralloc]init];
[selfpushViewController:
vcanimated:
YESgestureEnable:
YES];
[vcrelease];
}
摇一摇功能模块的入口
-(IBAction)shakeAction:
(id)sender
{
跳转进入摇一摇界面
ShakeViewController*vc=[[ShakeViewControlleralloc]init];
[selfpushViewController:
vcanimated:
YESgestureEnable:
YES];
[vcrelease];
}
返现状态模块的入口
-(IBAction)rebateAction:
(id)sender
{
判断是否登录,没有登录的话,跳转登陆界面
if(!
gGlobalSetting.loginUser){
LoginViewController*login=[[LoginViewControlleralloc]init];
UINavigationController*navi=[[UINavigationControlleralloc]initWithRootViewController:
login];
navi.navigationBarHidden=YES;
[gRootViewControllerpresentModalViewController:
navianimated:
YES];
[loginrelease];
[navirelease];
return;
}
登陆成功了以后,进入返利状态界面。
RebateStatusViewController*vc=[[RebateStatusViewControlleralloc]init];
[selfpushViewController:
vcanimated:
YESgestureEnable:
YES];
[vcrelease];
}
5.2专题功能模块的实现
如图5-2所示
图5-2专题功能模块图
代码实现如下:
专题下部分下拉列表的实现:
-(BOOL)refreshAction
{
上拉刷新列表,加载更多
[gNetworkManagergetActivityListByPageIndex:
FMUSTRING_WRAP_D(_currentPage)perpageCount:
FMUSTRING_WRAP_D(_countPerPage)delegate:
self];
returnYES;
}
-(BOOL)moreAction
{
下拉刷新列表,加载更多。
[gNetworkManagergetActivityListByPageIndex:
FMUSTRING_WRAP_D(_currentPage)perpageCount:
FMUSTRING_WRAP_D(_countPerPage)delegate:
self];
returnYES;
}
5.3周边功能模块的实现
代码实现如下:
-(void)viewDidLoad
{
[superviewDidLoad];
//排序种类1默认排序2距离最近3最新发布4销量最高5价格最低6价格最高
[selfloadConditions];
[gNetworkManagergetCategories:
self];
[gNetworkManagergetAreas:
self];
}
-(void)loadConditions
{
self.categories=[NSMutableArrayarray];
self.areas=[NSMutab
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于iphone os 的O2O电子商务平台系统设计与实现 基于 iphone O2O 电子商务平台 系统 设计 实现