基于php+vue的新闻资讯微信小程序

项目介绍

随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,新闻资讯被用户普遍使用,为方便用户能够可以随时进行新闻资讯的数据信息管理,特开发了基于新闻资讯的管理系统。

新闻资讯的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便用户可以很容易明了的找到自己所需要的信息,还有系统平台后期的可操作性,通过对信息内容的详细了解进行技术的开发。

新闻资讯的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与新闻资讯管理的实际需求相结合,讨论了基于新闻资讯管理的使用。
在这里插入图片描述
在这里插入图片描述

开发环境

编程语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
编译工具:idea或者eclipse,微信开发者工具,jdk1.8,maven
支持定做:java/php/python/android/小程序vue/爬虫/c#/asp.net

系统实现

5.1用户端功能实现
用户登录通过用户名、密码行页面,进入到新闻资讯主界面,进入到操作界面,进行相对应操作,如图5-1所示。
在这里插入图片描述

图5-1用户登录界面图

用户首页页面可以查看首页、新闻信息、我的等信息,进行提交操作,如图5-2所示。
在这里插入图片描述

图5-2首页界面图

用户进入新闻信息页面可以填写新闻标题、新闻类别、新闻图片、新闻视频、发布日期等信息,进行提交操作,如图5-3所示。

在这里插入图片描述

图5-3新闻信息界面图

用户进入添加评论页面可以填写评论内容等信息,进行提交操作,如图5-4-所示。

在这里插入图片描述

图5-4添加评论界面图

用户进入用户信息页面可以填写用户名、密码、姓名、性别、头像、手机、邮箱等信息,进行保存、退出登录操作,如图5-5-所示。

在这里插入图片描述

图5-5用户信息界面图

用户进入我的页面可以填写新闻信息等信息,进行提交操作,如图5-6-所示。

在这里插入图片描述

图5-6我的界面图

5.2管理端功能实现
管理员通过新闻资讯进行确认,管理员进入到新闻资讯主界面,管理员进入到操作界面,通过登录窗口进行在线填写自己的用户名和密码、角色进行登录,登录成功后进入到系统操作界面进行相应信息的获取,如图5-7所示。
在这里插入图片描述

图5-7管理员登录主界面图

管理员进入到界面,通过界面的任务大厅,登录成功后进入到系统可以进行查看首页、个人中心、新闻类别管理、新闻信息管理、用户管理、管理员管理、系统管理等功能模块,进行相对应操作,如图5-8所示。
在这里插入图片描述

图5-8管理员功能界面图

管理员点击个人信息进入页面可以查看用户名等信息,进行详情、修改、删除操作,如图5-9示。
在这里插入图片描述

图5-9个人信息界面图

管理员进入新闻类别管理界面,通过界面的任务大厅,登录成功后进入到系统可以进行查看新闻类别等信息,进行详情、修改、删除操作,如图5-10所示。
在这里插入图片描述

图5-10新闻类别管理界面图

管理员进入到新闻信息管理界面,通过界面的任务大厅,登录成功后进入到系统可以查看新闻标题、新闻类别、新闻图片、新闻视频、发布日期等信息,进行详情、修改、删除操作,如图5-11所示。
在这里插入图片描述

图5-11新闻信息管理界面图

管理员进入到用户管理界面,通过界面的任务大厅,登录成功后进入到系统可以查看用户名、密码、姓名、性别、头像、手机、邮箱等信息,进行详情、修改、删除操作,如图5-12所示。
在这里插入图片描述

图5-12用户管理界面图

管理员进入到管理员管理界面,通过界面的任务大厅,登录成功后进入到系统可以查看用户名、密码、角色等信息,进行详情、修改、删除操作,如图5-13所示。
在这里插入图片描述

图5-13管理员管理界面图

管理员进入到系统公告界面,通过界面的任务大厅,登录成功后进入到系统可以查看标题、简介、图片等信息,进行详情、修改、删除操作,如图5-14所示。
在这里插入图片描述

图5-14系统公告界面图

轮播图;该页面为轮播图管理界面。管理员可以在此页面进行首页轮播图的管理,通过新建操作可在轮播图中加入新的图片,还可以对以上传的图片进行修改操作,以及图片的删除操作,如图5-15所示。
在这里插入图片描述

图5-15轮播图管理界面图

核心代码

<?php
session_start();
class XinwenxinxiController extends CommonController {

    public function __construct()
    {
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
        header('Access-Control-Allow-Headers:Origin,Content-Type,Accept,token,X-Requested-With,device');
    }
    public $columData = [
		'id','addtime'
                ,'xinwenbiaoti'
                ,'xinwenleibie'
                ,'xinwentupian'
                ,'xinwenshipin'
                ,'xinwenxiangqing'
                ,'faburiqi'
                ,'thumbsupnum'
                ,'crazilynum'
                ,'clicktime'
                ,'clicknum'
            ];
        /**
     * 分页,列表
     * get
     */
    public function page(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];
		$where = " where 1 ";//查询条件
				
        $page = isset($_REQUEST['page'])?$_REQUEST['page']:"1";
        $limt = isset($_REQUEST['limit'])?$_REQUEST['limit']:"10";
        $sort = isset($_REQUEST['sort'])?$_REQUEST['sort']:"id";
        $order = isset($_REQUEST['order'])?$_REQUEST['order']:"asc";
        foreach ($_REQUEST as $k => $val){
			if(in_array($k, $this->columData)){
                if ($val != ''){
                    $where.= " and ".$k." like '".$val."'";
                }
			}
        }
                                                                                                                                                                                        		        
                                                $sql = "select * from `xinwenxinxi` ".$where;
        $count = table_sql($sql);
        if ($count->num_rows < 1){
            $numberCount = 0;
        }else{
            $numberCount = $count->num_rows;
        }
        $page_count = ceil($numberCount/$limt);//页数
        $startCount = ($page-1)*$limt;
                $lists = "select * from `xinwenxinxi` ".$where." order by ".$sort." ".$order." limit ".$startCount.",".$limt;
                $result = table_sql($lists);
        $arrayData = array();
        if ($result->num_rows > 0) {
            while ($datas = $result->fetch_assoc()){
                array_push($arrayData,$datas);
            }
        }
        exit(json_encode([
            'code'=>0,
            'data' => [
                "total" => $numberCount,
                "pageSize" => $limt,
                "totalPage" => $page_count,
                "currPage" => $page,
                "list" => $arrayData
            ]
        ]));
		    }
    /**
     * 分页,列表list
     * get
     */
    public function lists(){
                $page = isset($_REQUEST['page'])?$_REQUEST['page']:"1";
        $limt = isset($_REQUEST['limit'])?$_REQUEST['limit']:"10";
        $sort = isset($_REQUEST['sort'])?$_REQUEST['sort']:"id";
        $order = isset($_REQUEST['order'])?$_REQUEST['order']:"asc";
        $refid = isset($_REQUEST['refid']) ? $_REQUEST['refid'] : "0";
		$where = " where 1 ";//查询条件
				foreach ($_REQUEST as $k => $val){
			if(in_array($k, $this->columData)){
				$where.= " and ".$k." like '".$val."'";
			}
        }
		                                                                                                                                                                                        		                                        $sql = "select * from `xinwenxinxi`".$where;
        $count = table_sql($sql);
        if ($count->num_rows < 1){
            $numberCount = 0;
        }else{
            $numberCount = $count->num_rows;
        }
        $page_count = ceil($numberCount/$limt);//页数
        $startCount = ($page-1)*$limt;
        $lists = "select * from `xinwenxinxi` ".$where." order by ".$sort." ".$order." limit ".$startCount.",".$limt;
        $result = table_sql($lists);
        $arrayData = array();
        if ($result->num_rows > 0) {
            while ($datas = $result->fetch_assoc()){
                array_push($arrayData,$datas);
            }
        }
        exit(json_encode([
            'code'=>0,
            'data' => [
                "total" => $numberCount,
                "pageSize" => $limt,
                "totalPage" => $page_count,
                "currPage" => $page,
                "list" => $arrayData
            ]
        ]));
		    }
    
    

    /**
     * 新增数据接口
     * post
     */
    public function save(){
        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $uid = $tokens['id'];
                $keyArr = $valArr = array();
        $tmpData = strval(file_get_contents("php://input"));//Content-Type: application/json 需要用到php://input 处理输入流
        if (!empty($tmpData)&& isset($tmpData)){
            $postData = json_decode($tmpData,true);
                        foreach ($postData as $key => $value){
                if (in_array($key, $this->columData)){
                    if(!empty($value) || $value === 0) {
                        array_push($keyArr,"`".$key."`");
                        array_push($valArr,"'".$value."'");
                    }
                }
            }
        }
        $k = implode(',',$keyArr);
        $v = implode(',',$valArr);
                        $sql = "INSERT INTO `xinwenxinxi` (".$k.") VALUES (".$v.")";
                $result = table_sql($sql);
		        exit(json_encode(['code'=>0]));
    }
    /**
     * 新增数据接口 add
     * post
     */
    public function add(){
        $keyArr = $valArr = array();
		                        $tmpData = strval(file_get_contents("php://input"));
        if (!empty($tmpData)&& isset($tmpData)){
            $postData = json_decode($tmpData,true);
			            foreach ($postData as $key => $value){
                if (in_array($key, $this->columData)){
                    if(!empty($value) || $value === 0) {
                        array_push($keyArr,"`".$key."`");
                        array_push($valArr,"'".$value."'");
                    }
                }
            }
        }
        $k = implode(',',$keyArr);
        $v = implode(',',$valArr);
                $sql = "INSERT INTO `xinwenxinxi` (".$k.") VALUES (".$v.")";
        $result = table_sql($sql);
		        exit(json_encode(['code'=>0]));
    }
    /**
     * 更新接口
     * post
     */
    public function update(){
        $tmpData = strval(file_get_contents("php://input"));
        $postData = json_decode($tmpData,true);
        $v = array();
        foreach ($postData as $key => $value){
            if (in_array($key, $this->columData)){
                if ($key == "id"){
                    $id = $value;
                }
                if(!empty($value) || $value === 0) {
                    array_push($v,$key." = '".$value."'");
                }
            }
        }
        $value = implode(',',$v);
         $sql = "UPDATE xinwenxinxi SET ".$value." where id = ".$id;
        $result = table_sql($sql);
        exit(json_encode(['code'=>0]));
    }
    /**
     * 删除
     * post
     */
    public function delete(){
        $ids = strval(file_get_contents("php://input"));//发现接收的是字符串
        preg_match_all('/\d+/',$ids,$arr);
        $str = implode(',',$arr[0]);//拼接字符,
        $sql = "delete from xinwenxinxi WHERE id in({$str})";
        $result = table_sql($sql);
        exit(json_encode(['code'=>0]));
    }
    /**
     * 查询一条数据
     * get
     */
    public function info($id=false){

        $token = $this->token();
        $tokens = json_decode(base64_decode($token),true);
        if (!isset($tokens['id']) || empty($tokens['id'])) exit(json_encode(['code'=>403,'msg'=>"你还没有登录。"]));
        $userid = $tokens['id'];
        $name = isset($_REQUEST['name'])? $_REQUEST['name']:"";
        if (!empty($id)){
            $where = "`id` = ".$id;
        }else{
            $where = "`name` = ".$name;
        }
                $this->andone('xinwenxinxi',$id,$column='clicknum',$num=1);
                        $clicktime = "update xinwenxinxi set clicktime = ".date('Y-m-d H:i:s',time())." where ".$where;
        table_sql($clicktime);
                $sql = "select * from `xinwenxinxi` where ".$where;
        $result = table_sql($sql);
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                $lists = $row;
            }
        }
        exit(json_encode([
            'code'=>0,
            'data'=> $lists
        ]));
    }
    /**
     * 查询一条数据
     * get
     */
    public function detail($id=false){
                $name = isset($_REQUEST['name'])? $_REQUEST['name']:"";
        if ($id){
            $where = "`id` = ".$id;
        }else{
            $where = "`name` = ".$name;
        }
                $this->andone('xinwenxinxi',$id,$column='clicknum',$num=1);
                        $clicktime = "update xinwenxinxi set clicktime = ".date('Y-m-d H:i:s',time())." where ".$where;
        table_sql($clicktime);
                $sql = "select * from `xinwenxinxi` where ".$where;
        $result = table_sql($sql);
        if (!$result) exit(json_encode(['code'=>500,'msg'=>"查询数据发生错误。"]));
        if ($result->num_rows > 0) {
            // 输出数据
            while($row = $result->fetch_assoc()) {
                $lists = $row;
            }
        }
        exit(json_encode([
            'code'=>0,
            'data'=> $lists
        ]));
    }
            /**
     * 赞和踩
     **/
    public function thumbsup($id=false){
        $type = isset($_REQUEST['type'])?$_REQUEST['type']:"";
        if ($type==1){
            $result = $this->andone('xinwenxinxi',$id,$column = 'thumbsupnum',$num = 1);
        }else{
            $result = $this->andone('xinwenxinxi',$id,$column = 'crazilynum',$num = 1);
        }
        exit(json_encode(['code'=>0,'msg'=>"投票成功"]));
    }
        
        public function autoSort(){
		$limt = isset($_REQUEST['limit'])?$_REQUEST['limit']:"5";
				$sort = 'clicknum';
				$lists = "select * from `xinwenxinxi` order by ".$sort." desc limit 0,".$limt;
		$result = table_sql($lists);
		$arrayData = array();
		if ($result->num_rows > 0) {
			while ($datas = $result->fetch_assoc()){
				array_push($arrayData,$datas);
			}
		}
		exit(json_encode([
			'code'=>0,
			'data' => [
				"total" => 0,
				"pageSize" => $limt,
				"totalPage" => 0,
				"currPage" => 0,
				"list" => $arrayData
			]
		]));
	}
    
    /**
     * 获取需要提醒的记录数接口
     * get
     */
    public function remind($columnName,$type){
        $remindStart = isset($_GET['remindStart'])?$_GET['remindStart']:"";
        $remindEnd = isset($_GET['remindEnd'])?$_GET['remindEnd']:"";
        if ($type == 1){//数字
            $sql = "select * from `xinwenxinxi` where ".$columnName."<='".$remindEnd."' and ".$columnName.">='".$remindStart."'";
        }else{
            $sql = "select * from `xinwenxinxi` where ".$columnName."<='".date("Y-m-d",strtotime("+".$remindStart." day"))."' and ".$columnName.">='".date("Y-m-d",strtotime("+".$remindStart." day"))."'";
        }
        $result = table_sql($sql);
        exit(json_encode(['code'=> 0 ,'count' => $result->num_rows]));
    }
}

论文参考

在这里插入图片描述

目 录
摘 要 I
Abstract II
第一章 绪 论 2
1.1选题背景 3
1.2研究现状 4
1.3研究内容 7
第二章 开发工具及关键技术介绍 8
2.1微信开发者工具 8
2.2小程序框架以及目录结构介绍 8
2.3 java语言介绍 8
2.4 Mysql数据库 8
第三章 系统分析 10
3.1需求分析 10
3.2可行性分析 10
3.2.1技术可行性:技术背景      10
3.2.2经济可行性 11
3.2.3操作可行性:  11
3.3性能分析 11
3.4系统操作流程 12
3.4.1管理员登录流程 12
3.4.2信息添加流程 12
3.4.3信息删除流程 13
第四章 系统设计与实现 15
4.1系统架构设计 15
4.2开发流程设计 15
4.3数据库设计 16
4.3.1实体ER图 16
4.3.2数据表 18
第五章 系统实现 21
5.1用户端功能实现 24
5.2 管理端功能实现 24
第六章 系统的测试 27
6.1 测试目的 27
6.2 测试方案设计 27
6.2.1 测试策略 27
6.2.2 测试分析 28
6.3 测试结果 28
结 论 29
参考文献 30
致 谢 31

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q_2781179521

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值