网站设计说明书摘要_雅布设计师_徐州手机网站开发公司_山东省建筑施工企业安全生产管理

湖南做网站seo

建程网下载安装、广东中山今天最新通知、永久使用、不限域名、云顶香港最新消息

推广普通话的意义简短?

网站设计说明书摘要_雅布设计师_徐州手机网站开发公司_山东省建筑施工企业安全生产管理

  1. 系统实现
    1. 管理员功能模块的实现

系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。

登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.php页面发送登录请求,调用登录验证方法来验证。

用户登录模块的IPO如下所示:

输入:用户名和密码。

处理:

1)检测用户输入的账号、密码是否正确及在数据库已对应存在。

2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。

3)根据用户名,将其显示在系统首页上。

输出:是否成功的信息。

登录流程图如下所示。

 

图5-1登录流程图

系统登录界面如下所示。

 

图5-2管理员登录界面

登录关键代码如下所示。

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' => '登录失败,账号不存在']];

        }

    }

    

    1. 轮播图管理模块

轮播图展示,管理员通过输入标题等查询添加、删除操作,如图5-3所示

轮播图管理界面如下图所示。

 

图5-3轮播图管理界面

    1. 部门管理模块

部门信息展示,管理员通过输入部门编号、昵称、用户名、负责人等查询添加、删除操作,如图5-4所示

部门管理界面如下图所示。

图5-4部门管理界面

 

部门信息添加界面如下所示。

 

图5-5部门信息添加界面

部门管理关键代码如下所示。

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

    }

5.4校园新闻管理模块

校园新闻展示,管理员通过输入标题、封面图、文章分类、标签等查询、添加删除操作,如图5-6所示

校园新闻界面如下图所示。

 

图5-6校园新闻界面图

校园新闻关键代码如下所示。

public function del()

    {

        $request = Request::param();

        $result = $this->model->del_data($request, $this->table, $this->table_id);

        $data = $result;

        return json_encode($data);

    }

5.5栏目管理模块

栏目信息展示,管理员通过栏目查询添加、删除等操作,如图5-7所示

栏目信息界面如下图所示。

 

图5-7栏目信息界面图

栏目管理关键代码如下所示。

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

    }

5.6个人资料模块

登录用户在首页点击进入用户中心userCenter.html,再点击修改个人按钮进入userChangeInfo.html界面,系统根据session中存储的目前登录的用户的账号,向控制层userAction发送请求,搜索当前用户,userAction向userDAOImp调用queryByUserId(user),向数据库的用户表搜索当前用户并将用户以对象的形式层层返回到userChangeInfo.html界面,显示出当前用户的个人。

若用户要对个人进行修改,则通过修改当前之后点击确认,向控制层userAction发送更改后的用户,调用changeUser(user)方法,通过userDAOImp向数据库用户表更新用户,若成功则反馈注册成功,则返回的userChangeInfo.html界面被更改成功;若失败则显示修改失败。

个人信息界面如下图所示。

 

图5-8个人信息界面图

 

图5-9密码修改界面图

密码修改关键代码如下所示。

public function change_password()

    {

        $accessTokenModel = new AccessTokenModel();

        $token = Request::header('x-auth-token');

        if (!empty($token)) {

            $result = $accessTokenModel->getToken($token);

            if (Request::isPost()) {

                $get = Request::get();

                $keys = array_keys($get);

                $where = [];

                if ($result) {

                    $where[] = ["user_id", '=', $result['user_id']];

                    $i = 0;

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

                        $where[] = [$keys[$i], '=', $val];

                        $i++;

                    }

                    $request = Request::post();

                    $request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');

                    $result = $this->validate($request, $this->validate);

$new_password['password'] = $request['password'];

                    if (true !== $result) {

                        // 验证失败 输出错误信息

                        $data['error'] = 30000;

                        $data['message'] = $result;

                    } else {

                        $result = $this->model->change_password($new_password, $this->table, $this->table_id, $where);

                        $data = $result;

                    }

                } else {

                    $data['error'] = 30000;

                    $data['message'] = "token错误或失效,未查询到用户数据";

                }

            } else {

                $data['error'] = 30000;

                $data['message'] = "field的值不能为空!";

            }

        } else {

            $data['error'] = 30000;

            $data['message'] = "token的值不能为空!";

        }

        return json_encode($data);

    }

5.7部门动态管理模块

部门动态信息展示,管理员通过部门编号、标题、栏目、封面、相关附件等查询添加、删除等操作,如图5-10所示

 

图5-10部门动态管理界面图

部门动态管理关键代码如下所示。

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

        $result = self::allowField(true)->save($request);

        if ($result) {

            return ['result' => 1];

        } else {

            return ['error' => ['code' => 3000, 'message' => '数据添加失败']];

        }

    }

  1. 测试

6.1测试目的

在对该系统进行完详细设计和编码之后,就要对法律全书了系统程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。

6.2测试过程

在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。

注册测试用例表如下所示。

表6-1注册测试用例

测试性能

新用户注册

用例目的

测试系统新用户个人信息注册功能的功能和安全性

前提条件

进入注册页面填写个人信息

输入条件

预期输出

实际情况

各项基本信息输入不完整

不允许注册,无法点击注册按钮

一致

填写已存在的用户名

系统显示出提示信息,要求重新填写

一致

两次密码输入不一致

系统显示出提示信息,要求重新填写

一致

填写的各项信息没有符合提示的长度和字符要求

系统显示出提示信息,要求重新填写

一致

胡乱填写电话号码

收不到验证码

一致

填写验证码与收到的不一致

系统显示提示信息告知用户验证码错误,不予注册

一致

登录测试用例表如下所示。

表6-2登录测试用例

测试性能

用户或操作员登录系统

用例目的

测试用户或操作员登录系统时功能是否正常

前提条件

进入用户登录页面或操作员登录页面

输入条件

预期输出

实际情况

各项信息不予填写,直接点击登陆按钮

不允许登录,提示填写账号相关信息

一致

填写错误的登录名或密码后点击登录系统

提示用户名或密码错误,要求重新填写进行登录

一致

填写与验证码信息不一致的信息

系统显示出提示信息,表明验证码错误,要求重新填写

一致

部门信息测试用例表如下所示。

表6-3部门信息测试用例

测试性能

用户进行部门信息的操作

用例目的

测试用户进行部门信息操作时,该功能是否正常

前提条件

用户进入部门详情页,该部门能够被受理

输入条件

预期输出

实际情况

对着某部门点击“受理”按钮

界面跳转至受理界面

一致

在受理界面,输入必填项,点击“提交”按钮

提示“受理成功”,并返回上一级界面

一致

在受理界面,填写受理表单的时候未输入完整,点击“提交”按钮

提示“受理失败”

一致

部门动态测试用例表如下所示。

表6-4部门动态测试用例

测试性能

事故相关信息管理功能

用例目的

测试系统操作者对部门动态相关信息进行管理的功能是否正常

前提条件

登录系统进入相关管理页面

输入条件

预期输出

实际情况

进入部门界面,点击“录入”按钮,填写所有必填项,点击提交

提示“录入成功”,并返回查询界面

一致

进入部门动态界面,点击“录入”按钮,未填写一个或者多个必填项,点击提交

提示“录入失败”,请填写必填项

一致

进入违章记录界面,选择要修改的一条数据,点击该条数据后面的“修改”按钮 

节目跳转至修改界面

一致

在修改界面,修改可修改项后,点击“提交”按钮

提示“修改成功”,并返回查询界面

一致

进入部门动态界面,点击某条数据后面的删除按钮

提示“是否要删除该数据”,如果用户点击“确定”按钮,则成功删除该条数据,并提示“删除成功”,之后返回查询界面

一致

6.3测试结果

经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。

北京平面设计公司名称seo优化测试安康网站定制厂家手机如何自制游戏贵阳公司电话号码大全担保公司发展规划个人申请公司流程主页模板ai简历在线制作官网和网站的区别告别厅北京告别厅在合肥注册公司流程及费用动态网站开发有哪些技术常用的网页开发技术有哪些优秀企业网页设计黄crm在线投资公司注册条件和要求网站开发定制企业搭建一个app需要什么湖南网络推广服务平台中国咨询公司杭州seo培训学校手机app开发上市公司重庆沙坪坝火车站专题网站策划书义乌购全球小商品批发平台宝塔linux面板官网搜索引擎营销的主要方法包括北京市家装公司排行榜十大网站黄页的免费什么是网络营销?网络营销的内容有哪些?你是怎么理解的?

猜你喜欢

  • 友情链接:
  • 贵阳疫情最新消息今天又解封 在网上建设网站 怎么为网站网页注册免费网址 四川九江龙钢结构网架公司 东莞seo建站怎么投放 所有复刻手表网站