新闻模块代码总结

Original 2019-05-12 15:57:37 329
abstract:<?php /**  * Created by PhpStorm.  * User: Administrator  * Date: 2019/5/12 0012  * Time: 下午 1:37  */ namespace 
<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2019/5/12 0012
 * Time: 下午 1:37
 */
namespace app\admin\controller;

use app\admin\controller\Common;
use app\admin\model\NewsModel;
use think\facade\Request;
use think\facade\Session;

class News extends Common
{
    public function index()
    {
        $news = new NewsModel();
        $new = $news->order('id', 'desc')->paginate(4);
        $this->view->new = $new;
        return $this->fetch();
    }

    public function add()
    {
        // 渲染新闻添加界面
        return $this->fetch();
    }

    public function DoAdd(){
        // 获取数据
        $data = Request::param();
        // 加入发布的时间
        $data['time'] = time();
        // 加入发布新闻的管理员名称
        $data['username'] = Session::get('username');
        // 将新闻标题独立出来
        $title = $data['title'];
        // 将新闻标题作为条件来查询数据
        $news = NewsModel::where('title', "$title")->find();
        // 验证新闻标题是否重复
        if ($news == true) {
            // 重复并返回提示信息
            return ['res' => 0, 'msg' => '新闻标题重复!'];
        }
        // 实例化模型
        $new = new NewsModel();
        // 存储验证
        if ($new->save($data)) {
            // 返回发布成功的信息
            return ['res' => 1, 'msg' => '发布成功!'];
        } else {
            // 返回发布失败的信息
            return ['res' => 0, 'msg' => '发布失败!'];
        }


    }

    public function upload()
    {
        // 获取上传的图片信息
        $file = Request::file('img');
        // 验证图片信息并移动到指定目录
        if ($info = $file->validate(['ext' => 'jpg,jpeg,png,gif'])->move('upload')) {
            // 返回上传成功信息
            return json(['errno' => 0, 'data' => ['/upload/' . $info->getSaveName()]]);
        } else {
            // 返回错误信息
            return $file->getError();
        }
    }


    public function edit()
    {
        // 接收传递过来的id
        $newId = Request::param('id');

        // 查询新闻id对应的新闻信息
        $new = NewsModel::get($newId);
        // 将数据赋值到模板

        $this->view->new = $new;
        // 渲染新闻修改界面
        return $this->fetch();
    }

    public function DoEdit(){
        $data = Request::param();
        $new = new NewsModel();
        $res = $new->save([
            'title'=>$data['title'],
            'desc'=>$data['desc'],
            'content'=>$data['content'],
            'username'=>Session::get('username'),
            'time'=>time()
        ],['id'=>$data['id']]);
        if ($res) {
            // 返回修改成功信息
            return ['res' => 1, 'msg' => '修改成功!'];
        } else {
            // 返回修改失败信息
            return ['res' => 0, 'msg' => '修改失败!'];
        }
    }

    public function del()
    {
        // 获取需要删除的新闻id
        $newId = Request::param('id');

        // 实例化模型
        $new = new NewsModel();
        // 删除并验证
        if ($new->destroy($newId)) {
            // 返回提示信息
            return ['res' => 1, 'msg' => '删除成功!'];
        } else {
            // 返回提示信息
            return ['res' => 0, 'msg' => '删除失败!'];
        }
    }

}


Correcting teacher:查无此人Correction time:2019-05-13 09:41:41
Teacher's summary:完成的不错。后台cms管理的功能都是一样的逻辑。要好好练习,继续加油。

Release Notes

Popular Entries