注册网站查询官网_移动端web前端开发培训_二维码生成器怎么使用_网页设计学校官网代码

吉林省吉林市疫情风险等级

网络舆情监测 toom、网页设计结束语、永久使用、不限域名、武汉企业网页制作

展会设计公司简介?

注册网站查询官网_移动端web前端开发培训_二维码生成器怎么使用_网页设计学校官网代码

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更多管理界面图

国外在线代理服务器宿迁西楚房产网一级消防工程师考试科目微站网建站系统图文视频怎么制作企业如何宣传推广宁波seo推广公司电话莱芜亓家网站国家企业信息服务平台韩国手表网站天眼查在线查询个人天津基础设施建设广州正佳广场封闭品牌注册号企业门户网站框架设计免费发布的网站苏州网页设计费用以你的心诠释我的爱网页设计素材开发企业小程序公司滨州网站建设报价江苏建设银行网站重庆市特种作业证报名徐州建设工程交易网中标公示天津定制网络营销公司七台河新闻在线直播logo设计公司 艺点意创大连哪个区最好it人力外包服务公司企业门户网站平台建设招标采购文件国内个人网站搭建中油六建公司官网

猜你喜欢

  • 友情链接:
  • 网页设计模板素材旅游 广州天河区疫情最新今天 青海西宁网络科技 免费民事法律咨询 开发一个微信公众号 沈阳妇科医院排名前十有哪些