青岛网站价格建议k青岛博采网络_阳江网红猪肠碌_泰安网约车有哪些平台_庆阳地网站制作 当然,我也不能忘记我的父母,是他们用无私的爱抚养我成人。你们的养育之恩我将永生难忘,将来我一定会用我的成绩回报你们。在成长的道路上,我会不断努力,不负众望,用实际行动来回报你们对我的期望。

">

apple私人免费网站怎么下载软件

手机平面设计软件免费下载、动态网站需要学哪些语言、永久使用、不限域名、网络规划和方案设计

全国招标信息采购平台官网?

青岛网站价格建议k青岛博采网络_阳江网红猪肠碌_泰安网约车有哪些平台_庆阳地网站制作

4 水果百科动态网站详细设计与实现

水果百科动态网站的详细设计与实现主要是根据前面的水果百科动态网站 的需求分析和水果百科动态网站的总体设计来设计页面并实现业务逻辑。主要从水果百科动态网站 界面实现、业务逻辑实现这两部分进行介绍。

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.2管理员功能模块

4.2.1 用户管理界面

水果百科动态网站中的管理人员是可以对前台注册的用户进行管理的,也可以对管理员进行管控。界面如下图4-7所示。

 

图4-7用户管理界面图

用户管理关键代码如下所示。

public function get_list($request=[],$table_name = '',$table_id = ''){

        $page = 1;

        $size = $table_name == "auth" ? 100 : 10;

        $where = [];

        $order = $table_id.'_id desc';

        $field = '*';

//        echo $order;exit;

        $columns = Db::query( "show COLUMNS FROM `".$table_name."`");

        foreach($columns as $key=>$val){

            $field_name = $val['Field'];

            if(isset($request['like'])){

                if ($request['like']==true){

                    //字段模糊查询

                    if(isset($request[$field_name])){

                        $where[] = [$field_name, '=', $request[$field_name]];

                    }

                }else{

                    //字段模糊查询

                    if(isset($request[$field_name])){

                        $where[] = [$field_name, 'like', '%' . $request[$field_name] . '%'];

                    }

                }

            }else{

                //字段模糊查询

                if(isset($request[$field_name])){

                    $where[] = [$field_name, 'like', '%' . $request[$field_name] . '%'];

                }

            }

            //范围查询

            if(isset($request[$field_name.'_min'])){

                $where[] = [$field_name, '>=', $request[$field_name.'_min']];

            }

            if(isset($request[$field_name.'_max'])){

                $where[] = [$field_name, '<=', $request[$field_name.'_max']];

            }

        }

        //分页

        if (isset($request['page'])){

            $page = $request['page'];

        }

        if (isset($request['size'])){

            $size = $request['size'];

        }

        //排序

        if (isset($request['order'])){

            $order = $request['order'];

        }

        //查询字段

        if (isset($request['field'])){

            $field = $request['field'];

        }

        //模糊查询

        $list= $this->where($where)->order($order)->field($field)->page($page, $size)->select()->toArray();

        foreach($list as &$l){

         foreach($l as &$o){

         if(strpos($o,$_SERVER['HTTP_HOST']) === false){

         $o = str_replace('upload','http://'.$_SERVER['HTTP_HOST'].'/upload',$o);

         }

         }

        }

        return $list;

    }

4.2.2 留言管理界面

水果百科动态网站中的管理人员是可以对前台用户发布的留言进行管控的,界面如下图4-8所示。

 

图4-8留言界面图

留言交流管理逻辑代码如下所示。

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-9所示。

 

图4-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);

    }

4.2.4 更多管理界面

水果百科动态网站中的管理人员在“更多管理”这一菜单下是可以对水果百科动态网站内水果分类、水果常识、水果养生、推送分类、水果推送的进行管控的,其管理界面如下图4-10所示。

 

图4-10更多管理界面图

软文发布平台源码公司平面图设计师培训机构报名入口短视频营销培训天津网站设计合理成都柚米科技09做网站视频你懂我意思正能量免费建网站可被收录本机ip地址查询计算机软件编程培训班宁波好品质品牌网站设计企业网站建设阳江网上追逃人员名单网络推广优化方案的内容中国动漫专业最好的学校东莞南城候机楼网上购票网站开发思路网络营销定义江门新闻头条最新消息临沂疫情最新消息多少例了管理系统中计算机应用实践报告免费的论坛平台哈尔滨企业建网站制作中国源码网zgymw企业信息系统近年来发展变化的特点预制装配式围墙山东滕州市疫情最新消息凡客的商品来源镇江0511网站六安景上海外贸交流会近期国内新闻大事20条外贸流程优化项目启动会感想及改善计划

猜你喜欢

  • 友情链接:
  • 网站视频源不支持下载 建行网上银行个人登录官网 好看的网站懂我意思吧2022 黑马程序员就业率真实吗 桂林搬家公司 网页代码模板代码