合肥做网站_合肥seo_宜昌网站制作_武汉网页制作
基于PHP安龙县农产品销售网站的详细设计与实现主要是根据前面的基于PHP安龙县农产品销售网站的需求分析和基于PHP安龙县农产品销售网站的总体设计来设计页面并实现业务逻辑。主要从基于PHP安龙县农产品销售网站界面实现、业务逻辑实现这两部分进行介绍。 5.1普通用户功能模块
5.1.1 前台首页界面
网站首页以上中下的布局进行展示,正上方是网站的导航栏,中间是轮播图,下面是产品信息、产品资讯等信息,其主界面展示如下图5-1所示。
图5-1 前台首页界面图
5.1.2 用户注册界面
用户右上角“注册”按钮进入注册页面填写账号、密码、确认密码、昵称、邮箱、身份等信息后点击“注册”按钮,网站会对输入的信息进行验证,验证通过后即可完成注册,其界面展示如下图5-2所示。
图5-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' => '注册失败,账号已存在']];
}
}
5.1.3 用户登录界面
用户注册后可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,网站会对输入的信息进行验证,验证通过后即可完成登录,其界面如下图5-3所示。
图5-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{
5.1.4产品资讯界面
用户可以查看产品资讯列表中某一资讯详情并可以进行点赞、收藏和发表评论操作,其界面如下图5-4所示。
图5-4产品资讯界面图
5.1.5 产品信息界面
用户可以查看商品列表中某一商品详情并进行点赞、加入购物车或直接购买操作,购买后可以对商品进行评论,其界面如下图5-5所示。
图5-5产品信息界面图
5.1.6 商城管理界面
用户可以查看和管理“我的购物车”、“我的订单”和“我的地址信息”,如地址的新增或修改,对购物车里的商品进行购买支付或删除操作等,其界面如图5-6所示。
图5-6 商城管理界面图
5.1.7 个人中心
用户可以查看个人中心中的个人首页、订单配送和收藏列表信息,可以对订单配送信息进行查询和重置操作,其界面如下图5-7所示:
图5-7 个人中心界面图
5.2管理员功能模块
5.2.1 后台首页界面
管理员可以查看后台首页展示的商品销售金额、商品销售数量统计表等信息,其界面如下图5-8所示。
图5-8后台首页界面图
5.2.2系统用户界面
管理员可以对系统用户信息进行查询、重置、添加和删除操作,其界面如下图5-9所示。
图5-9系统用户界面图
添加关键代码如下:
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);
}
删除的关键代码如下:
public function del()
{
$request = Request::param();
$result = $this->model->del_data($request, $this->table, $this->table_id);
$data = $result;
return json_encode($data);
}
5.2.3产品标签管理界面
管理员可以添加产品标签信息,可以查看产品标签列表中某一标签详情,可以对产品标签列表信息进行查询、重置和删除操作,其界面如下图5-10所示。
图5-10产品标签管理界面图
5.2.4系统管理界面
管理员可以对系统轮播图进行查询、添加、重置和删除操作,其界面如下图5-11所示。
图5-11系统管理界面图
图片上传的关键代码如下:
public function upload()
{
$month = date('Ym', time());
$data = 'file';
$path = 'upload/file/' . $month . "/";//上传文件保存位置
$allow_ext = explode(",", "jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP");
if ($_FILES) {
$file = $_FILES[$data];
$rst = [];
if (!empty($file['name'])) {
$file_type = explode('.', $file['name']);
$ext = end($file_type); //获取文件的格式
$ext = strtolower($ext);
if (!in_array($ext, $allow_ext)) {
$rst['error']['code'] = 30000;
$rst['message'] = '只能上传jpg,jpeg,png,jfif,bmp,gif,ico,xls,xlsx,AVI,mov,rmvb,rm,FLV,mp4,3GP类型文件';
} else {
if (!is_dir($path))
{
mkdir($path, 0777, true);
};
$name = date('YmdHis') . '_' . rand(10000, 99999) . '.' . $ext;
$save_rst = move_uploaded_file($file['tmp_name'], $path . $name);
if ($save_rst !== false) {
$rst['result']['url'] = 'http://'.$_SERVER['HTTP_HOST'].'/'.$path . $name;
} else {
$rst['error']['code'] = 30000;
$rst['error']['message'] = '文件上传失败';
}
}
} else {
$rst['error']['code'] = 30000;
$rst['error']['message'] = '未选择文件';
}
} else {
$rst['error']['code'] = 30000;
$rst['error']['message'] = '未获取到文件';
}
return json_encode($rst);
}
5.2.5留言管理界面
管理员可以查看用户反馈信息列表中某一信息详情并进行回复,可以对用户反馈信息进行查询、重置和删除操作,其界面如下图5-12所示。
图5-12留言界面图
5.2.6公告信息管理界面
管理员可以对公告信息进行查询、添加、重置和删除操作,其界面如下图5-13所示。
图5-13公告信息管理界面图
5.2.7资源管理
管理员可以添加资讯分类信息,可以对产品资讯信息进行查询、添加、重置和删除操作,可以查看产品资讯列表中某一资讯详情和评论信息,其界面如下图5-14所示。
图5-14资源管理界面图
5.2.8商城管理界面
管理员可以对产品信息、分类列表信息进行查询、添加、重置和删除操作,可以查看订单列表中某一订单详情和修改订单状态,可以对订单列表、订单配送信息进行查询、重置和删除操作,其界面如下图5-15所示。
图5-15商城管理界面图
">