昌吉学院二手书屋网站的详细设计与实现主要是根据前面的昌吉学院二手书屋网站的需求分析和昌吉学院二手书屋网站的总体设计来设计页面并实现业务逻辑。主要从昌吉学院二手书屋网站界面实现、业务逻辑实现这两部分进行介绍。
4.1用户功能模块
4.1.1 前台首页界面
在昌吉学院二手书屋网站的前台首页界面上采用了上+中+下的方式来布局界面,最右上角是登录+注册这+搜索这三个链接,下面依次是导航栏+轮播图以及下面的公告栏,下面依次是推荐的图书商城展示,其主界面展示如下图4-1所示。
图4-1 前台首页界面图
4.1.2注册界面
不是昌吉学院二手书屋网站中正式用户的是可以在线进行注册的,当填写上自己的账号+设置密码+确认密码+昵称+邮箱+手机号+身份后+用户名再点击“注册”按钮后将会先验证输入的有没有空数据,再次验证密码和确认密码是否是一样的,最后验证输入的账户名和数据库表中已经注册的账户名是否重复,只有都验证没问题后即可用户注册成功。其用用户注册界面展示如下图4-2所示。
图4-2 前台用户注册界面图
注册逻辑关键代码如下所示。
public function register()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->register($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function register($request=[],$table_name = ''){
$username = $request['username'];
$bol = $this->where(['username'=>$username])->find();
if (!$bol){
$result = self::allowField(true)->save($request);
if ($result) {
return ['result' => 1];
} else {
return ['error' => ['code' => 3000, 'message' => '注册失败']];
}
}else{
return ['error' => ['code' => 3000, 'message' => '注册失败,账号已存在']];
}
}
4.1.3 登录界面
昌吉学院二手书屋网站中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到昌吉学院二手书屋网站的首页中;否则将会提示相应错误信息,用户登录界面如下图4-3所示。
图4-3登录界面图
登录系统主要代码如下。
public function login()
{
if (Request::isPost()) {
$request = Request::param();
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
$request['password'] = md5($request['password']);
$result = $this->model->login($request, $this->table);
$data = $result;
}
} else {
$data['error'] = 30000;
$data['message'] = "field的值不能为空!";
}
return json_encode($data);
}
public function login($request=[],$table_name = ''){
$username = $request['username'];
$password = $request['password'];
$bol = $this->where(['username'=>$username])->find();
if ($bol){
$password = md5($password);
if ($request['password']==$bol['password']) {
//添加token信息
$access_token['create_time'] = date('Y-m-d H:i:s');
$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
// $access_token['info'] = $bol;
$access_token['token'] = md5(date('Y-m-d H:i:s'));
$bol_token = Db::name('AccessToken')->insert($access_token);
if ($bol_token){
$data['obj'] = $bol;
$data['obj']['token'] = $access_token['token'];
return ['result' => $data];
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,token生成失败']];
}
} else {
return ['error' => ['code' => 5000, 'message' => '登录失败,密码不正确']];
}
}else{
return ['error' => ['code' => 5000, 'message' => '登录失败,账号不存在']];
}
}
4.1.4网站公告界面
用户在点击导航栏上面的网站公告后,就可以搜索查看网站公告信息,用户根据自己的喜好可以进行交流,关于我们界面如下图4-4所示。
图4-4网站公告界面图
4.1.5 图书资讯界面
当访客点击昌吉学院二手书屋网站中导航栏上的“图书资讯”后将会进入到该“图书资讯”列表的界面,然后选择想要看的图书资讯,点击进入到详细界面,在详细界面可以收藏+点赞+评论等操作,图书资讯界面如下图4-5所示。
图4-5图书资讯界面图
4.1.6 图书详情界面
当访客点击了任意图书后将会进入该款图书的详情界面,可以了解到该图书的商品信息、价钱信息,同时可以对该图书进行购买+加购+点赞+收藏+评论,图书详情展示页面如图4-6所示。
图4-6 图书详情界面图
4.1.7地址管理界面
当用户点击“地址管理”右后,就回去显示出目前现有的地址,也可以添加新的地址,界面如下图4-7所示。
图4-7 地址管理界面图
4.1.8订单管理界面
当用户点击“订单管理”链接后就进入自己购买的订单的界面展示,界面如下图4-8所示。
图4-8 订单管理界面图
4.2管理员功能模块
4.2.1 注册用户界面
昌吉学院二手书屋网站中的管理人员是可以对前台注册的用户进行管理。注册用户界面如下图4-9所示。
图4-9注册用户界面图
4.2.2 图书资讯界面
昌吉学院二手书屋网站中的管理人员是可以对前台用户发布的图书资讯进行管控,图书资讯界面如下图4-10所示。
图4-10图书资讯界面图
图书资讯管理逻辑代码如下所示。
public function get_obj()
{
$request = Request::param();
$result = $this->model->get_obj($request, $this->table, $this->table_id, $this->table_id);
$data['result'] = $result;
return json_encode($data);
}
4.2.3 图书商城界面
昌吉学院二手书屋网站中的管理人员是可以对昌吉学院二手书屋网站内的不同图书的分类下的图书信息进行维护和管理的,支持查看到各个图书的库存量情况以及添加+删除图书。图书商城界面如下图4-11所示。
图4-11图书商城界面图
图书商城逻辑代码如下所示。
public function add()
{
if (Request::isPost()) {
$request = Request::param();
$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
$result = $this->validate($request, $this->validate);
if (true !== $result) {
// 验证失败 输出错误信息
$data['error'] = 30000;
$data['message'] = $result;
} else {
if($this->table == 'user'){
$request['password'] = md5($request['password']);
}
$res = $this->add_before($request, $this->table, $this->table_id);
if($res['code'] == 200){
$result = $this->model->add($request, $this->table, $this->table_id);
$this->add_after($this->table);
$data = $result;
}else{
$data['error'] = $res;
}
}
} else {
$data['error']['code'] = 30000;
$data['error']['message'] = "field的值不能为空!";
}
return json_encode($data);
}
4.2.4订单列表界面
昌吉学院二手书屋网站中的管理人员是可以对昌吉学院二手书屋网站内的图书订单进行在线发货和管理等,同时支持根据订单号来具体检索图书订单记录信息。订单列表界面如下图4-12所示。
图4-12订单列表界面图
4.2.5订单数据管理界面
昌吉学院二手书屋网站中的管理人员是可以进行订单数据管理的,可以实现对订单数据的增删改查等操作。订单数据管理界面如下图4-13所示。
图4-13订单数据管理界面图
5.1 系统测试用例
系统测试包括:用户登录功能测试、用户注册功能测试、图书展示功能测试、图书添加功能测试,如表5-1、5-2、5-3、5-4所示:
用户登录功能测试:
表5-1 用户登录功能测试表
测试名称
测试功能
操作
操作过程
预期结果
测试结果
用户登录模块测试
正确输入用户信息,用户成功登录
输入用户的信息
1.在密码框输入用户密码。2.点击登录
跳转到首页
正确
用户注册功能测试:
表5-2 用户登录功能测试表
测试名称
测试功能
操作
操作过程
预期结果
测试结果
用户注册模块测试
正确输入用户星系,完成用户注册
输入用户的基本信息
在注册页面填写用户相应的信息,然后点击“注册”按钮。
提示成功并跳转到登录界面
正确
用户注册模块测试
用户注册失败
用户两次输入密码不一致
用户在注册页面填写信息时输入两个不一致的密码然后点击“注册”按钮。
注册失败提示两次密码输入不一致
正确
图书信息界面测试:
表5-3 图书信息界面测试表
测试名称
测试功能
操作
操作过程
预期结果
测试结果
图书信息功能模块测试
图书信息正常的显示
浏览图书信息
在前台首页选择一个图书分类进入分类列表,然后选择一个图书
进入该图书的详细信息界面
正确
管理员添加图书功能测试:
表5-4 管理员添加图书功能测试表
测试名称
测试功能
操作
操作过程
预期结果
测试结果
管理员添加图书功能测试
添加图书成功的情况
输入新图书的基本信息
后台选择“发布图书”选项,然后填写新图书基本信息点击“添加”按钮
新图书添加成功
正确
管理员添加图书功能测试
添加图书失败的情况
输入图书基本信息不完全
后台选择“发布图书”选项,然后不完全填写图书信息,点击“添加”按钮。
对应信息框后出现提示请输入XXXX信息
正确
管理员添加图书功能测试
添加图书失败的情况
管理员在价格框输入非数字字符
后台选择“发布图书”选项然后再价格框输入非数字字符,点击“添加”按钮。
添加失败,提示“价格必须时货币格式!”
正确
5.2 系统测试结果
通过编写昌吉学院二手书屋网站的测试用例,已经检测完毕用户登录模块、用户注册模块、图书分类展示模块、图书添加模块功能测试,通过这4大模块为昌吉学院二手书屋网站的后期推广运营提供了强力的技术支撑。
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.ksxb.net/tnews/4158.html