|
知识路径: > 电子商务系统程序设计基础 > 电子商务系统建设 >
|
相关知识点:120个
|
|
|
|
|
|
|
登录是用户在电子商务网站中进行各种商务活动的前提,登录模块的功能是判断用户是否合法(已注册),如果合法用户忘记了密码要能根据注册信息找回密码,如果是非法用户,登录了多次是否要进行限制,只有合法用户且密码正确才能登录成功。登录模块的基本功能如下图所示。
|
|
|
|
|
|
登录页面包括TextBox和Label控件,分别用于用户信息的输入及显示提示性文本信息,另外,验证控件对用户输入进行验证。登录页面如下图所示。
|
|
|
|
|
|
当用户单击“登录”按钮时,首先验证控件会验证用户是否填写信息,如果没有填写则提示用户填写,如果已经填写了,则判断用户是否是合法用户,如果是合法用户,再判断用户密码是否正确。主要程序代码如下:
|
|
|
|
|
|
与PC端一样,移动端登录是商务活动不可或缺的功能。用户应用社交、电商、金融等App必须进行注册登录,如微信、QQ、支付宝、淘宝、美团等。移动端用户账号登录注册主要有几种形式:第三方账号、手机号、邮箱。
|
|
|
(1)第三方账号(QQ、微信、微博等)。使用第三方账号优势是用户操作简单,方便用户快速的体验产品;其缺点是通过第三方平台获取到的用户信息太少,手机没有安装对应App时,通过网页进行登录认证需要输入账号密码,复杂度很高。移动端第三方登录模块的基本功能如下图所示。
|
|
|
|
|
(2)手机号注册登录。通过手机获取验证码(短信),验证后设置密码进行注册;登录时使用手机号和密码登录。获取验证码的优点是可以很大程度上防止恶意注册,可以导入通讯录关系而且用户不需要记忆成本;其缺点是短信验证码需要成本,用户隐私可能泄露,手机号丢失后找回复杂。移动端手机号注册登录模块的基本功能如下图所示。
|
|
|
|
|
(3)邮箱登录注册。邮箱登录验证成本低,对用户来说隐私性更好,但是移动端邮箱输入复杂,验证不方便,普及率不高普及率高。
|
|
|
|
由于移动端(手机)屏幕的限制,长字符串的输入以及字母数字符号间的切换对用户来说很不方便,因此要特别注意在注册登录界面的设计环节。在输入方面增加单词的输入联想,邮箱的后缀列为选择菜单,输入手机号/卡号/验证码时自动弹出数字输入面板,减少冗余操作,默认勾选用户协议等;在显示方面,手机号、银行卡等长字符串应进行分类,如手机号显示为***_****_****,验证码短信发送时将数字显示到短信最前方,这样用户可以直接从短信摘要取得信息而不需要切换到短信应用。
|
|
|
|
移动端界面的代码实现由于采用的编程方式各不相同,实现的过程差异很大,这里通过HTML、CSS和JSP+MySQL数据库设计一个简单的手机验证登录界面,如下图所示。当用户单击“获取验证码”按钮时,获取验证码设置点击事件,并将值发送到send()方法,然后判断是否传输成功。如果成功,为数据库中添加字段,由前端控制器方法实现添加成功后,服务器端JSON返回信息,随后前台进行登录验证。
|
|
|
|
|
|
|
|
|
|
电子商务系统购物车只是一个临时保存用户选购商品的容器,每个在线的用户选购商品时应具有独立的购物车,当用户确认购买下订单后或者用户退出网站后,购物车中的内容都应该清空。根据购物车的这些特征,一般采用session对象实现购物车。购物车保存商品名称、商品数量、商品单价、商品图片等信息。
|
|
|
购物的一般流程为:单击购买按钮,如果购物车已存在该商品,商品数量加1,否则,将对应的商品放入购物车(默认数量为1)。在查看购物车时,可以查看已选购商品的种类及数量,总计价格等,还可以修改商品的数量,删除某种商品等操作。
|
|
|
|
|
|
|
|
在页面加载方法中,首先要判断用户是否登录,如果用户登录且购物车不为空,要将购物车中的内容显示在页面上。代码如下:
|
|
|
|
将session中内容取出转换成DataTable,并绑定到页面的Gridview控件上,代码如下:
|
|
|
|
当要删除购物车中的商品时,GridView删除按钮处理事件代码如下:
|
|
|
|
如果需要修改购物车中的信息,只允许修改商品数量,GridView更新按钮处理事件程序代码如下:
|
|
|
|
将购物车中的商品绑定到页面之后,还需要将商品的总价计算出来,程序如下:
|
|
|
|
|
电子商务系统中搜索功能是非常重要的一部分,用户可以使用搜索找到自己希望购买的商品,因此,搜索功能要设计全面、高效,可以按照多种方式查询。一般在电子商务系统中有两种搜索类型:快速搜索和高级搜索,快速搜索根据用户输入的信息快速查找商品,而高级搜索是根据类型、商品名等条件进行精确查找。
|
|
|
快速搜索的页面需要一个用来输入搜索关键字的文本框、一个按钮和一个绑定查询结果的GridView控件,搜索过程的主要程序内容都在按钮的Click事件中,程序如下:
|
|
|
|
快速搜索的过程是在商品表中,将关键字按照商品名称或者按照商品信息进行模糊查询。
|
|
|
|
|
|
在设计程序时,首先要将数据库中商品大类及商品小类分别绑定到页面上相应的下拉框中,并在商品大类下拉框的下拉项发生变化时,商品小类下拉框中的下拉项要随之变化。在搜索时,如果某些搜索条件不为空,就要根据这些搜索条件进行组合查询,查询按钮的Click事件中,程序代码如下:
|
|
|
|
在高级搜索时,如果输入多个条件,则按照多条件进行查询,如果一个条件都没有,则查询所有的商品。
|
|
|
|
电子商务系统的后台管理中,添加、修改、删除数据功能模块都是必不可少的。下面,以商品的各种操作为例,介绍各个功能模块的设计。
|
|
|
|
|
|
页面中各控件的属性设置按照通用设置即可,商品类型下拉框需要绑定商品小类数据。添加商品的主要程序是在“保存”按钮的click事件中,如下所示:
|
|
|
|
|
修改商品数据的过程是首先在商品管理页面(如下图所示)上的绑定商品信息的Gridview控件中添加一列“编辑”超级链接列,代码如下:
|
|
|
|
|
|
“编辑”超级链接指向的URL是Modify.aspx页面,并且传递参数“sw_productID”,可以在Modify.aspx页面上根据参数“sw_productID”获取商品信息,Modify.aspx页面设计与添加商品的页面设计基本一致。在Modify.aspx.cs文件中,首先要获取传递的参数“sw_productID”,然后根据参数值获取商品信息并显示在页面上,再根据需要对商品信息进行修改。主要程序代码如下:
|
|
|
|
|
|
删除商品功能是在商品管理页面中完成的,删除分为单行删除和多行删除。
|
|
|
|
单行删除需要在GridView控件每一行数据后加一个删除按钮列,代码如下:
|
|
|
|
|
|
删除结束后,需要将sw_Products表中的数据重新绑定到页面GridView控件上,调用BindData()完成该功能。BindData()方法与第9.3.3节搜索设计程序类似,在此不再介绍。
|
|
|
|
多行删除需要在GridView控件每一行数据前加一个复选框列,代码如下:
|
|
|
|
另外,还要再增加一个全选复选框和一个删除按钮,代码如下:
|
|
|
|
其中,全选复选框的onclick事件方法是一个js方法,代码如下:
|
|
|
|
|
|
其中GetSelIDlist()方法功能是获取所有选中的商品id,程序代码如下:
|
|
|
|
|
目前,常见的二维码都是以QR码作为编码的码制,它是在一个矩形空间内,通过黑、白像素在矩阵中的不同分布来进行编码的。它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
|
|
|
App扫码设计主要解决二维码扫描、闪光灯开启、本地二维码图片识别、二维码生成这几个关键问题。目前,App扫码设计开发最常用的开源框架是zxing和zbar。
|
|
|
|
zxing的内核采用C++编写,是Google推出的用来识别多种格式条形码的开源项目,项目地址为https://github.com/zxing/zxing。zxing目前持续在维护,支持Java、C#、Ponthy等主流编程语言,也是目前还在维护的较受欢迎的二维码扫描开源项目之一。
|
|
|
|
zbar的内核用C来编写,速度极快,运行速度大概是zxing的4~5倍。zbar推出了iPhone的SDK和Android的相关调用方法(JNI),在Andriod和iPhone上运行效率很高。但是相对zxing而言,zbar项目已经多年没有开发人员维护,项目地址为https://github.com/ZBar/ZBar。
|
|
|
|
.zxing支持更多的码制:datamatix、PDF417等,zbar不能很好支持PDF417(但是在源码中有对于PDF417码的处理)。
|
|
|
.zxing的执行解码效率低于zbar,从耗费内存空间角度看,zbar更适合嵌入式设备开发,大部分手机App的解码采用的是zxing,因为zxing当初就是面向Android开发。
|
|
|
.zbar和zxing两者都不能很好地支持条码扫描,在摄像头分辨率低、目标条码打印在曲面上或者目标条码密集或扫描角度非垂直的情况下,很难识别条形码,且条码扫描会产生误读,这种致命缺点致使激光扫描头仍然为条码识读领域的工业级设备。
|
|
|
.zxing在解码运算中执行的浮点运算非常耗时,一般不支持浮点运算的CPU在做图像处理方面会严重延时。
|
|
|
.两者在扫描QR码方面基本没有什么差异,都能准确快速地接触码值。
|
|
|