当前位置: 首页 > 工具软件 > Notifier.js > 使用案例 >

Vue+Element+Node.js+Mysql实现后端分页

葛兴发
2023-12-01

table.vue:

<template>
  <div>
    <el-card>
      <el-row :style="{marginBottom: '15px'}">
        <el-col :span="24">
          <el-button type="primary" size="small" icon="el-icon-plus" @click="openAddDialog">添加</el-button>
          <el-button type="primary" size="small" icon="el-icon-minus" @click="deleteArticle">删除</el-button>
          <el-input
            :style="{width: '300px', float: 'right'}"
            placeholder="搜索"
            v-model="searchText"
            suffix-icon="el-icon-search"
            @change="searchArticle"
            :clearable="true"
          ></el-input>
        </el-col>
      </el-row>
      <el-table :data="tableData" style="width: 100%" v-loading="loading" ref="articleTable">
        <el-table-column type="selection" width="45"></el-table-column>
        <el-table-column prop="id" label="ID" width="50"></el-table-column>
        <el-table-column prop="title" label="标题" width="400"></el-table-column>
        <el-table-column prop="content" label="内容" :formatter="formatterContent"></el-table-column>
        <el-table-column label="状态" width="200">
          <template slot-scope="scope">
            <el-progress :percentage="Math.ceil(Math.random()*100)" color="#5cb87a"></el-progress>
          </template>
        </el-table-column>
        <el-table-column label="编辑" width="100">
          <template slot-scope="scope">
            <el-button
              size="mini"
              icon="el-icon-edit"
              type="primary"
              @click="editArticle(scope.row)"
            ></el-button>
          </template>
        </el-table-column>
      </el-table>

      <el-pagination
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="currentPage"
        :page-sizes="[5, 10, 20, 30, 50]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="total"
        :style="{marginTop: '20px'}"
      ></el-pagination>
    </el-card>
  </div>
</template>

<script>
export default {
  data() {
    return {
      loading: true,
      currentPage: 1,
      pageSize: 5,
      total: 0,
      tableData: [],
      searchText: "",
    };
  },
  methods: {
    formatterContent(row, column) {
      return row.content.substring(0, 60) + "...";
    },
    handleSizeChange(val) {
      console.log(`每页 ${val} 条`);
      this.pageSize = val;
      this.getData(this.currentPage, val);
    },
    handleCurrentChange(val) {
      console.log(`当前页: ${val}`);
      this.currentPage = val;
      this.getData(val, this.pageSize);
    },
    getData(pageNumber, pageSize) {
      this.loading = true;
      this.$axios
        .get(
          `http://localhost:5555/api/blog_list/?pageSize=${pageSize}&pageNumber=${pageNumber}&sortName=id&sortOrder=desc`
        )
        .then(
          resp => {
            console.log(resp);
            this.loading = false;
            let ajaxData = [];
            for (let i = 0; i < resp.data.rows.length; i++) {
              ajaxData.push({
                key: resp.data.rows[i].id,
                id: resp.data.rows[i].id,
                title: resp.data.rows[i].title,
                content: resp.data.rows[i].content
              });
            }

            this.tableData = ajaxData;
            this.total = resp.data.total;
          },
          err => {
            this.loading = false;
            console.log(err);
          }
        );
    },
    deleteArticle() {
      // 删除文章
      let _this = this;
      let selection = this.$refs.articleTable.selection;
      let len = selection.length;
      let idArr = [];
      for (let i = 0; i < len; i++) {
        idArr.push(selection[i].id);
      }

      if (len === 0) {
        this.$notify.error({
          title: "错误提示",
          message: "请选择要删除的文章!"
        });
      } else {
        this.$axios
          .post("/api/article/delete/", {
            ids: idArr
          })
          .then(res => {
            if (res.data.ret) {
              _this.$notify.success({
                title: "成功提示",
                message: "文章删除成功!"
              });
              this.getData(1, 5);
              console.log(res);
            } else {
              _this.$notify.success({
                title: "错误提示",
                message: res.data.errMsg
              });
            }
          })
          .catch(error => {
            this.$notify.success({
              title: "错误提示",
              message: "网络错误,删除失败!"
            });
          });
      }
    },
    searchArticle() {
      // 搜索
      console.log(this.searchText);
    }
  },
  mounted() {
    this.getData(1, 5);
  }
};
</script>

<style scoped>
</style>

vue package.json:

{
  "name": "vue-cli3",
  "version": "1.0.0",
  "description": "A Vue.js project",
  "author": "samve <samveduan@163.com>",
  "private": true,
  "scripts": {
    "dev": "webpack-dev-server --open --inline --progress --config build/webpack.dev.conf.js",
    "start": "npm run dev",
    "build": "node build/build.js"
  },
  "dependencies": {
    "axios": "^0.19.2",
    "echarts": "^4.2.1",
    "element-ui": "^2.13.2",
    "popper.js": "^1.16.1",
    "vue": "^2.5.2",
    "vue-router": "^3.0.1",
    "vuex": "^3.1.0"
  },
  "devDependencies": {
    "autoprefixer": "^7.1.2",
    "babel-core": "^6.22.1",
    "babel-helper-vue-jsx-merge-props": "^2.0.3",
    "babel-loader": "^7.1.1",
    "babel-plugin-syntax-jsx": "^6.18.0",
    "babel-plugin-transform-runtime": "^6.22.0",
    "babel-plugin-transform-vue-jsx": "^3.5.0",
    "babel-preset-env": "^1.3.2",
    "babel-preset-stage-2": "^6.22.0",
    "chalk": "^2.0.1",
    "copy-webpack-plugin": "^4.0.1",
    "css-loader": "^0.28.0",
    "extract-text-webpack-plugin": "^3.0.0",
    "file-loader": "^1.1.4",
    "friendly-errors-webpack-plugin": "^1.6.1",
    "html-webpack-plugin": "^2.30.1",
    "node-notifier": "^5.1.2",
    "node-sass": "^4.11.0",
    "optimize-css-assets-webpack-plugin": "^3.2.0",
    "ora": "^1.2.0",
    "portfinder": "^1.0.13",
    "postcss-import": "^11.0.0",
    "postcss-loader": "^2.0.8",
    "postcss-url": "^7.2.1",
    "rimraf": "^2.6.0",
    "sass-loader": "^7.1.0",
    "semver": "^5.3.0",
    "shelljs": "^0.7.6",
    "uglifyjs-webpack-plugin": "^1.1.1",
    "url-loader": "^0.5.8",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.0.1",
    "vue-template-compiler": "^2.5.2",
    "webpack": "^3.6.0",
    "webpack-bundle-analyzer": "^2.9.0",
    "webpack-dev-server": "^2.9.1",
    "webpack-merge": "^4.1.0"
  },
  "engines": {
    "node": ">= 6.0.0",
    "npm": ">= 3.0.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

node.js:

const express = require("express")
const fs = require("fs")
const mysql = require("mysql")
const util = require("util")
const {getNow} = require("./tool")

const app = express();
const bodyParser = require("body-parser");
const { nextTick } = require("process");
app.use("/static/", express.static("./static/"));
app.use('/node_modules/', express.static('./node_modules/'));
app.engine("html", require("express-art-template"))
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

const connection = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '666123',
    database: 'vue'
});

connection.connect();

// 渲染页面
app.get("/", (req, res) => {
    res.render("index.html");
})

app.get("/test", (req, res) => {
    let obj = {
        ret: false, 
        total: 0, 
        rows: [], 
        msg: ""
    }
    
    res.header("Access-Control-Allow-Origin", "*");
    res.type('application/json');
    res.jsonp(obj);
})

// 获取所有数据
app.get("/api/blog_list", (req, res) => {
    let obj = {
        ret: false, 
        total: 0, 
        rows: [], 
        msg: ""
    }

    const pageSize = Number(req.query.pageSize);
    const pageNumber = Number(req.query.pageNumber)-1;

    connection.query(`SELECT * FROM blog`, (error, results, fields) => {
        if (!error) {
            obj.total = results.length;
            // 分页查询 begin
            connection.query(`SELECT * FROM blog limit ${pageNumber*pageSize}, ${pageSize}`, (error, results, fields) => {
                if (!error) {
                    obj.ret = true;
                    obj.rows = results.map((value, key) => {
                        return {
                            id: value.id,
                            title: value.title,
                            content: value.content.toString(),
                            datetime: value.datetime
                        }
                    });
                    res.header("Access-Control-Allow-Origin", "*");
                    res.type('application/json');
                    res.jsonp(obj);
                }else{
                    next(error);
                }
            })
            // 分页查询 end
        }else{
            next(error);
        }
    })
})

app.get("/api/get_blog_detail", (req, res) => {
    let obj = {
        ret: false, 
        content: "",
        msg: ""
    }

    connection.query(`SELECT * FROM blog WHERE ID=${req.query.id}`, (error, results, fields) => {
        if(!error){
            obj.ret = true;
            obj.content = results[0].content.toString();
            res.header("Access-Control-Allow-Origin", "*");
            res.type('application/json');
            res.jsonp(obj);
        }else{
            next(error);
        }
    })
})

app.post("/api/add_blog", (req, res) => {
    let obj = {
        ret: false,
        msg: ""
    }

    console.log(req.body);
    console.log(typeof req.body);
    console.log(req.body.title);
    console.log(req.body.content);

    //connection.query(`INSERT INTO users(id, name, sex, city, age) VALUES(NULL, '${req.body.name}', '${req.body.sex}', '${req.body.city}', '${req.body.age}')`, function (error, results, fields) {
    connection.query(`INSERT INTO blog(id, title, content, datetime) VALUES(NULL, '${req.body.title}', '${req.body.content}', '${getNow()}')`, function(error, result, fields){
        if(!error){
            obj.ret = true;
            obj.msg = "信息添加成功!";
            res.header("Access-Control-Allow-Origin", "*");
            res.type('application/json');
            res.jsonp(obj);
        }else{
            next(error);
        }
    })
})

app.post("/api/delete_blogs", (req, res) => {
    let obj = {
        ret: false,
        msg: ""
    }

    var idArr = JSON.parse(req.body.idArr);

    for(let i = 0; i<idArr.length; i++){
        connection.query(`DELETE FROM blog WHERE id='${idArr[i]}'`, (error, results, fields) => {
            if(!error){
                obj.ret = true;
                obj.msg = "删除成功!";
                res.header("Access-Control-Allow-Origin", "*");
                res.type('application/json');
                res.jsonp(obj);
            }else{
                next(error);
            }
        })
    }
})

app.get("/404", (req, res) => {
    res.render("404.html");
})

// 配置一个全局错误处理中间件
app.use(function (err, req, res, next) {
    res.status(500).json({
        err_code: 500,
        message: err.message
    })
})

app.listen(9999, () => {
    console.log("服务启动成功......");
})

node package.json:

{
  "name": "node1",
  "version": "1.0.0",
  "description": "",
  "main": "b.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "art-template": "^4.13.2",
    "body-parser": "^1.19.0",
    "cookie-parser": "^1.4.5",
    "express": "^4.17.1",
    "express-art-template": "^1.0.1",
    "mysql": "^2.18.1"
  }
}

sql:


/*
Navicat MySQL Data Transfer
Source Server         : node
Source Server Version : 50717
Source Host           : localhost:3306
Source Database       : react-ts-blog
Target Server Type    : MYSQL
Target Server Version : 50717
File Encoding         : 65001
Date: 2021-01-29 15:33:35
*/
 
SET FOREIGN_KEY_CHECKS=0;
 
-- ----------------------------
-- Table structure for blog
-- ----------------------------
DROP TABLE IF EXISTS `blog`;
CREATE TABLE `blog` (
  `id` int(16) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `content` longblob,
  `datetime` datetime DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8;
 
-- ----------------------------
-- Records of blog
-- ----------------------------
INSERT INTO `blog` VALUES ('1', '情牵游子——把人民放在心中最高位置', 0xE59CA8E696B0E586A0E882BAE7828EE796ABE68385E585A8E79083E89493E5BBB6E79A84E58DB1E68385E4B88BEFBC8CE8BAABE59CA8E5BC82E59BBDE4BB96E4B9A1E79A84E5ADA6E5AD90E4BEA8E8839EE7949FE591BDE581A5E5BAB7E58F97E588B0E5A881E88381E38082E4B9A0E8BF91E5B9B3E680BBE4B9A6E8AEB0E7ACACE4B880E697B6E997B4E4BD9CE587BAE983A8E7BDB2EFBC8CE8A681E6B182E58AA0E5BCBAE5AFB9E5A283E5A496E68891E59BBDE585ACE6B091E796ABE68385E998B2E68EA7E79A84E68C87E5AFBCE5928CE694AFE68C81EFBC8CE5819AE5A5BDE59084E9A1B9E5B7A5E4BD9CEFBC8CE4BF9DE68AA4E4BB96E4BBACE79A84E7949FE591BDE5AE89E585A8E5928CE8BAABE4BD93E581A5E5BAB7E38082, '2021-01-07 16:55:57');
INSERT INTO `blog` VALUES ('20', '新华社:扭曲“奋斗观”当休矣 996等所谓“奋斗”绝不是福报', 0xE68BBCE6908FE4B88DE698AFE68BBCE591BDEFBC8CE58BA4E58AB3E4B88DE883BDE8BF87E58AB3EFBC8CE6BCA0E8A786E58AB3E58AA8E88085E69D83E79B8AE38081E9808FE694AFE58AB3E58AA8E88085E581A5E5BAB7E79A84E68980E8B093E2809CE5A58BE69697E2809DEFBC8CE7BB9DE4B88DE698AFE4BB80E4B988E2809CE7A68FE68AA5E2809DEFBC8CE8BF99E697A2E8BF9DE58F8DE58AB3E58AA8E6B395EFBC8CE69BB4E8838CE7A6BBE5A58BE69697E7B2BEE7A59EEFBC8CE585B6E7A4BEE4BC9AE58DB1E5AEB3E680A7E4B88DE58FAFE5B08FE79C8BE38082E59BA0E8808CEFBC8CE697A2E8A681E6B2BBE79086E795B8E5BDA2E58AA0E78FADE78EB0E8B1A1EFBC8CE69BB4E5BA94E6ADA3E69CACE6B885E6BA90EFBC8CE5A4A7E58A9BE7A0B4E999A4E585B6E8838CE5908EE79A84E689ADE69BB2E4BBB7E580BCE8A782EFBC8CE58887E5AE9EE5BC98E689ACE5A58BE69697E7B2BEE7A59EEFBC8CE8AEA9E5B9BFE5A4A7E5A58BE69697E88085E7A8B3E581A5E5898DE8A18CE380820A0AE59C86E6A2A6E9A1BBE68BBCE6908FEFBC8CE68890E58A9FE99DA0E5A58BE69697E38082E4BB8AE5A4A9E79A84E4B8ADE59BBDEFBC8CE697A0E8AEBAE698AFE5AE9EE78EB0E59BBDE5AEB6E58F91E5B195E8939DE59BBEEFBC8CE8BF98E698AFE68890E5B0B1E4B8AAE4BABAE6A2A6E683B3EFBC8CE983BDE69BB4E58AA0E99C80E8A681E889B0E88BA6E5A58BE69697E38081E4B88DE68788E5A58BE69697EFBC8CE983BDE69BB4E58AA0E591BCE594A4E695A2E997AFE38081E695A2E5B9B2E38081E695A2E68BBCE79A84E7B2BEE6B094E7A59EE38082E8808CE79C9FE6ADA3E79A84E5A58BE69697EFBC8CE698AFE5BF83E68080E6A2A6E683B3E5B9B6E4B8BAE4B98BE4BB98E587BAE8BE9BE58BA4E6B197E6B0B4EFBC8CE698AFE59FBAE4BA8EE5AFB9E4BA8BE4B89AE79A84E783ADE788B1E5928CE8B4A3E4BBBBE5BF83E8808CE58B87E4BA8EE799BBE69480EFBC8CE698AFE58AB3E58AA8E88085E5889BE980A0E4BBB7E580BCE5B9B6E4BAABE58F97E58AB3E58AA8E68890E69E9CE79A84E8BF87E7A88BE38082E4B880E4B8AAE68B85E5BD93E7A4BEE4BC9AE8B4A3E4BBBBE79A84E4BC81E4B89AEFBC8CE697A2E883BDE59CA8E6BF80E78388E7AB9EE4BA89E4B8ADE5AE9EE78EB0E4B89AE7BBA9E4B88AE689ACEFBC8CE69BB4E883BDE59CA8E585B1E4BAABE58F91E5B195E4B8ADE8AEA9E59198E5B7A5E79A84E5B9B8E7A68FE68C87E695B0E68C81E7BBADE4B88AE58D87E380820A0AE4BABAE698AFE69C80E58FAFE5AE9DE8B4B5E79A84E38082E4B880E58887E79A84E5A58BE69697EFBC8CE983BDE698AFE4B8BAE4BA86E8AEA9E4BABAE4BBACE8BF87E4B88AE69BB4E5A5BDE7949FE6B4BBE38081E4BF83E8BF9BE4BABAE79A84E585A8E99DA2E58F91E5B195E38082E4BBA5E4BABAE4B8BAE69CACEFBC8CE698AFE5A58BE69697E5A78BE7BB88E4B88DE58F98E79A84E4BBB7E580BCE58F96E59091E38082E4BB8EE8BF99E4B8AAE6848FE4B989E4B88AE8AFB4EFBC8CE4BF9DE68AA4E58AB3E58AA8E88085E59088E6B395E69D83E79B8AEFBC8CE4B88DE696ADE5A29EE5BCBAE58AB3E58AA8E88085E79A84E88EB7E5BE97E6849FE38081E5B9B8E7A68FE6849FE38081E5AE89E585A8E6849FEFBC8CE698AFE5BC98E689ACE5A58BE69697E7B2BEE7A59EE79A84E5BA94E69C89E4B98BE4B989E38082E99288E5AFB9E7A4BEE4BC9AE58F8DE698A0E5BCBAE78388E79A84E4BBA5E5A58BE69697E4B8BAE5B98CE5AD90EFBC8CE8A18CE7ABADE6B3BDE8808CE6B894E79A84E795B8E5BDA2E58AA0E78FADE997AEE9A298EFBC8CE5BF85E9A1BBE4BE9DE6B395E58AA0E5BCBAE79B91E7AEA1EFBC8CE695A2E4BA8EE58AA8E79C9FE7A2B0E7A1ACEFBC8CE8AEA9E58AB3E58AA8E6B395E7AD89E6B395E5BE8BE6B395E8A784E995BFE587BAE2809CE78999E9BDBFE2809DEFBC8CE4B8BAE58AB3E58AA8E88085E68F90E4BE9BE69BB4E58AA0E59D9AE5AE9EE69C89E58A9BE79A84E4BF9DE99A9CE5928CE694AFE68C81E38082E59198E5B7A5E581A5E5BAB7E5B7A5E4BD9CEFBC8CE4BC81E4B89AE581A5E5BAB7E58F91E5B195EFBC8CE8BF99E6898DE698AFE5A58BE69697E69CACE69DA5E79A84E6A0B7E5AD90EFBC8CE4B99FE698AFE58F91E5B195E8AFA5E69C89E79A84E6B8A9E5BAA6E38082, '2021-01-07 17:03:05');
INSERT INTO `blog` VALUES ('33', '百度宣布重大决定,龙头股秒板,超5万手大单封死涨停,概念股被爆买!', 0x3C703E3C7374726F6E673EE6B1BDE8BDA6E8A18CE4B89AE4B88DE696ADE4BCA0E69DA5E5A4A7E6B688E681AFEFBC8C41E882A1E79BB8E585B3E585ACE58FB8E882A1E4BBB7E6B3A2E58AA8E5A4A7E380823C2F7374726F6E673E3C2F703E0A3C703E3C2F703E0A3C703E31E69C883131E697A5EFBC8CE799BEE5BAA6E7AA81E784B6E5AE98E5AEA3E980A0E8BDA6EFBC8CE5AEA3E5B883E6ADA3E5BC8FE7BB84E5BBBAE4B880E5AEB6E699BAE883BDE6B1BDE8BDA6E585ACE58FB8EFBC8CE4BBA5E695B4E8BDA6E588B6E980A0E59586E79A84E8BAABE4BBBDE8BF9BE5869BE6B1BDE8BDA6E8A18CE4B89AE38082E799BEE5BAA6E6B1BDE8BDA6E585ACE58FB8E5B086E78BACE7AB8BE4BA8EE6AF8DE585ACE58FB8E4BD93E7B3BBEFBC8CE4BF9DE68C81E887AAE4B8BBE8BF90E890A5EFBC8CE5B086E4BABAE5B7A5E699BAE883BDE3808141706F6C6C6FE887AAE58AA8E9A9BEE9A9B6E38081E5B08FE5BAA6E8BDA6E8BDBDE38081E799BEE5BAA6E59CB0E59BBEE7AD89E6A0B8E5BF83E68A80E69CAFE585A8E99DA2E8B58BE883BDE6B1BDE8BDA6E585ACE58FB8EFBC8CE694AFE68C81E585B6E5BFABE9809FE68890E995BFE380823C2F703E0A, '2021-01-11 16:21:46');
INSERT INTO `blog` VALUES ('35', '菱歌一曲踏浪来——在红船起航地感受美好中国', 0x3C703EE8BF99E9878CE698AFE4B8ADE59BBDE99DA9E591BDE7BAA2E888B9E8B5B7E888AAE59CB0EFBC8CE5A682E4BB8AE698AFE9AB98E6B0B4E5B9B3E59D87E8A1A1E58F91E5B195E58588E8A18CE59CB0E380823C2F703E0A3C703EE7A9BAE4B8ADE4BFAFE79EB0E59889E585B4E58D97E6B996E58F8AE59889E585B4E59F8EE58CBAEFBC88E697A0E4BABAE69CBAE785A7E78987EFBC8C32303230E5B9B43130E69C883237E697A5E69184EFBC89E38082E696B0E58D8EE7A4BEE8AEB0E8808520E5BE90E698B120E691843C2F703E0A3C703EE8BF99E9878CE698AFE4B8B0E9A5B6E7A780E7BE8EE79A84E9B1BCE7B1B3E4B98BE4B9A1EFBC8CE5A682E4BB8AE698AFE58AA8E883BDE6BE8EE6B983E79A84E7A791E5889BE9AB98E59CB0E380823C2F703E0A3C703EE8BF99E9878CEFBC8CE698AFE6B599E6B19FE59889E585B4E380823C2F703E0A3C703EE59889E585B4E5B882E6B5B7E79B90E58EBFE7BBBFE883BDE78EAFE4BF9DE9A1B9E79BAEE59BADE58CBAE699AFE8A782EFBC8832303230E5B9B43132E69C883137E697A5E69184EFBC89E38082E696B0E58D8EE7A4BEE58F91EFBC88E6B19FE6B18920E69184EFBC893C2F703E0A3C703EE4B880E799BEE5B9B4E5898DEFBC8CE4B880E58FB6E7BAA2E888B9E4BB8EE59889E585B4E58D97E6B996E9A9B6E587BAEFBC8CE5BC95E9A286E4B880E4B8AAE6B091E6978FE4B9A6E58699E69591E4BAA1E59BBEE5AD98E79A84E5A3AEE4B8BDE58FB2E8AF97EFBC9BE4B880E799BEE5B9B4E5908EEFBC8CE58D97E6B996E7A780E6B0B4E4BE9DE697A7EFBC8CE7BAA2E889B2E59C9FE59CB0E68DA2E4BA86E4BABAE997B4E380823C2F703E0A3C703E3C7374726F6E673EE59D87E8A1A1E58F91E5B195E58588E8A18CE59CB03C2F7374726F6E673E3C2F703E0A3C703EE59889E59684E58EBFE59889E59684E5A4A7E98193E4B88EE4B896E7BAAAE5A4A7E98193E8B7AFE58FA3E699AFE8A782EFBC88E697A0E4BABAE69CBAE785A7E78987EFBC8C32303230E5B9B43132E69C883136E697A5E69184EFBC89E38082E696B0E58D8EE7A4BEE58F91EFBC88E6B19FE6B18920E69184EFBC893C2F703E0A3C703EE5A49AE5B9B4E69DA5EFBC8CE59889E585B4E59F8EE4B9A1E5B185E6B091E694B6E585A5E59CA8E6B599E6B19FE68B94E5A4B4E7ADB9EFBC9AE5869CE69D91E5B185E6B091E4BABAE59D87E58FAFE694AFE9858DE694B6E585A5E8BF9EE7BBAD3136E5B9B4E5B185E585A8E79C81E7ACACE4B880EFBC9B32303230E5B9B4E5898DE4B889E5ADA3E5BAA6EFBC8CE59F8EE4B9A1E5B185E6B091E694B6E585A5E6AF94E8BF9BE4B880E6ADA5E7BCA9E5B08FE588B0312E3439EFBC9A31E380823C2F703E0A3C703EE695B0E5AD97E8838CE5908EEFBC8CE698AFE9AB98E6B0B4E5B9B3E59D87E8A1A1E58F91E5B195E79A84E7BE8EE5A5BDE59BBEE699AFE380823C2F703E0A3C703EE9AB98E6B0B4E5B9B3E59D87E8A1A1EFBC8CE698AFE7BBBFE6B0B4E99D92E5B1B1E38081E699AFE7BE8EE4BABAE5928CE38081E8AF97E6848FE6A096E5B185E380823C2F703E0A3C703EE59889E585B4E7A780E6B4B2E58CBAE6B2B9E8BDA6E6B8AFE99587E8839CE4B8B0E69D91E59D90E890BDE4BA8EE993B6E69D8FE5A4A9E9B985E6B996E4B88EE8A5BFE58D83E4BAA9E88DA1E4B98BE997B4EFBC8CE4BFAEE697A7E5A682E697A7E79A84E6A088E98193E4B88EE78EB0E4BBA3E889BAE69CAFE5A299E7BB98E79BB8E698A0E68890E8B6A3EFBC8CE5B4ADE696B0E79A84E6B091E5B185E58685E7949FE6B4BBE8AEBEE696BDE4B880E5BA94E4BFB1E585A8E38082E586ACE697A5E69A96E998B3E785A7E8BF9BE78EBBE79283E7AA97EFBC8CE4BABAE4BBACE79BB8E8819AE8AF9DE5AEB6E5B8B8E380823C2F703E0A3C703EE7949FE6B4BBE8B68AE69DA5E8B68AE5A5BDEFBC8CE6898DE69C89E4BA86E69BB4E5A49AE2809CE5B9B8E7A68FE585A5E794BBE2809DE79A84E7BE8EE699AFE38082E5A4A7E8BF90E6B2B3E4B88AE8B59BE9BE99E8889FEFBC8CE88FB1E6AD8CE4B880E69BB2E8B88FE6B5AAE69DA5E28094E28094E8BF99E698AFE4BBA5E2809CE59BBDE6B3B0E6B091E5AE89E2809DE4B8BAE4B8BBE9A298E79A84E7A780E6B4B2E58CBAE6B2B9E8BDA6E6B8AFE99587E5869CE6B091E794BBEFBC8CE4BD9CE88085E698AFE6B599E6B19FE79C81E5869CE6B091E794BBE99D9EE789A9E8B4A8E69687E58C96E98197E4BAA7E4BCA0E689BFE4BABAE5BCA0E98791E6B389E38082E4BB96E8AFB4EFBC9AE2809CE5AEB6E59BADE38081E794B0E9878EE38081E4B9A1E68385EFBC8CE698AFE68891E4BBACE8A1A8E8BEBEE79A84E6B0B8E68192E4B8BBE9A298E38082E68891E79A84E5889BE4BD9CE781B5E6849FE680BBE698AFE69DA5E887AAE4BA8EE5AEB6E4B9A1E79A84E697A5E696B0E69C88E5BC82E38082E2809D3C2F703E0A, '2021-01-12 11:08:45');
INSERT INTO `blog` VALUES ('47', '弯道超车的机会来了!中国这些核心技术或将突破', 0x3C703EE4BBBBE6ADA3E99D9EE8A1A8E7A4BAEFBC8CE68891E59BBDE79A84E59FBAE7A180E5B7A5E4B89AE8BF98E698AFE4B88DE5BCBAE79A84EFBC8CE5B08FE5B08FE4B880E6BBB4E883B6EFBC8CE5B0B1E588B6E7BAA6E4B880E4B8AAE59BBDE5AEB6E79A84E69585E4BA8BEFBC8CE68891E4BBACE5B7B2E7BB8FE79C8BE588B0E4BA86EFBC8CE8BF99E698AFE58886E5AD90E5B7A5E7A88BEFBC8CE698AFE9AB98E7A791E68A80E4B8ADE79A84E9AB98E7A791E68A80E38082E8808CE8BF99E587A0E58D83E7A78DE883B6E38081E7A094E7A3A8E58982E38081E789B9E7A78DE6B094E4BD93E280A6E280A6E983BDE698AFE9AB98E7A791E68A80E4B8ADE79A84E9AB98E7A791E68A80EFBC8CE68891E59BBDE78EB0E59CA8E8BF98E59FBAE69CACE8BEBEE4B88DE588B0EFBC8CE5BE88E5A49AE7A78DE68A80E69CAFE4B880E5B9B4E79A84E99C80E6B182E9878FE58FAAE69C89E587A0E58D83E4B887E7BE8EE58583E38081E587A0E799BEE4B887E7BE8EE58583E7949AE887B3E69BB4E5B091EFBC8CE8AF95E79C8BE6B3A1E6B2ABE7BB8FE6B58EE4B88BE69C89E587A0E4B8AAE585ACE58FB8E882AFE5B9B2E8BF99E7A78DE4BA8BE38082E7BCBAE4B880E7A78DE5B0B1E4BC9AE58DA1E4BA86E4B880E4B8AAE59BBDE5AEB6E79A84E88496E5AD90E380823C2F703E0A, '2021-01-22 11:17:59');
INSERT INTO `blog` VALUES ('50', '如何深化新时代教育督导体制机制改革 湖南打算这样干', 0x3C703EE697A5E5898DEFBC8CE79C81E5A794E58A9EE585ACE58E85E38081E79C81E694BFE5BA9CE58A9EE585ACE58E85E88194E59088E58DB0E58F91E3808AE585B3E4BA8EE6B7B1E58C96E696B0E697B6E4BBA3E69599E882B2E79DA3E5AFBCE4BD93E588B6E69CBAE588B6E694B9E99DA9E79A84E5AE9EE696BDE6848FE8A781E3808BEFBC88E7AE80E7A7B0E3808AE5AE9EE696BDE6848FE8A781E3808BEFBC89EFBC8CE5B9B6E58F91E587BAE9809AE79FA5EFBC8CE8A681E6B182E59084E59CB0E59084E983A8E997A8E7BB93E59088E5AE9EE99985E8AEA4E79C9FE8B4AFE5BDBBE890BDE5AE9EE38082E3808AE5AE9EE696BDE6848FE8A781E3808BE585A8E69687E5A682E4B88BEFBC9A3C2F703E0A3C703EE4B8BAE4BA86E6B7B1E585A5E8B4AFE5BDBBE4B9A0E8BF91E5B9B3E696B0E697B6E4BBA3E4B8ADE59BBDE789B9E889B2E7A4BEE4BC9AE4B8BBE4B989E6809DE683B3EFBC8CE585A8E99DA2E8B4AFE5BDBBE5859AE79A84E58D81E4B99DE5A4A7E5928CE58D81E4B99DE5B18AE4BA8CE4B8ADE38081E4B889E4B8ADE38081E59B9BE4B8ADE38081E4BA94E4B8ADE585A8E4BC9AE4BBA5E58F8AE585A8E59BBDE69599E882B2E5A4A7E4BC9AE7B2BEE7A59EEFBC8CE7B4A7E7B4A7E59BB4E7BB95E7A1AEE4BF9DE69599E882B2E4BC98E58588E58F91E5B195E38081E890BDE5AE9EE7AB8BE5BEB7E6A091E4BABAE6A0B9E69CACE4BBBBE58AA1EFBC8CE6B7B1E58C96E696B0E697B6E4BBA3E69599E882B2E79DA3E5AFBCE4BD93E588B6E69CBAE588B6E694B9E99DA9EFBC8CE58585E58886E58F91E68CA5E69599E882B2E79DA3E5AFBCE4BD9CE794A8EFBC8CE4B88DE696ADE68F90E9AB98E69599E882B2E79DA3E5AFBCE8B4A8E9878FE5928CE6B0B4E5B9B3EFBC8CE4B8BAE5A4A7E58A9BE5AE9EE696BDE2809CE4B889E9AB98E59B9BE696B0E2809DE68898E795A5E38081E5A58BE58A9BE5BBBAE8AEBEE78EB0E4BBA3E58C96E696B0E6B996E58D97E4BD9CE587BAE8B4A1E78CAEEFBC8CE6A0B9E68DAEE4B8ADE585B1E4B8ADE5A4AEE58A9EE585ACE58E85E38081E59BBDE58AA1E999A2E58A9EE585ACE58E85E58DB0E58F91E79A84E3808AE585B3E4BA8EE6B7B1E58C96E696B0E697B6E4BBA3E69599E882B2E79DA3E5AFBCE4BD93E588B6E69CBAE588B6E694B9E99DA9E79A84E6848FE8A781E3808BEFBC8CE7BB93E59088E68891E79C81E5AE9EE99985EFBC8CE78EB0E68F90E587BAE5A682E4B88BE5AE9EE696BDE6848FE8A781E380823C2F703E0A, '2021-01-22 11:21:11');
INSERT INTO `blog` VALUES ('54', '传输量50倍于5G?华为6G技术已领先世界 欧洲追赶中美', 0x3C703EE68DAEE6B395E59BBDE3808AE59B9EE5A3B0E68AA5E3808BE7BD91E7AB9931E69C8836E697A5E68AA5E98193EFBC8CE59CA8E6B395E59BBDE68EA8E587BA3547E4BB85E8BF87E4BA86E4B880E4B8AAE69C88E4B98BE5908EEFBC8CE6ACA7E79B9FE5B0B1E5B7B2E59CA8E4B8BAE69CAAE69DA5E79A843647E6A087E58786E5819AE58786E5A487E38082E6ACA7E79B9FE6ADA4E795AAE58AAAE58A9BE4BBA531E69C8831E697A5E68EA8E587BA486578612D58E9A1B9E79BAEE4BD9CE4B8BAE8B1A1E5BE81E680A7E5BC80E7ABAFE38082E8BF99E4B880E591A8E69C9FE4B8BAE4B8A4E5B9B4E58D8AE79A84E5A4A7E59E8BE7A791E7A094E9A1B9E79BAEEFBC8CE697A8E59CA8E4B8BA32303330E5B9B4E79A843647E7BD91E7BB9CE5819AE58786E5A487E380823C2F703E0A3C703EE68AA5E98193E4BB8BE7BB8DEFBC8CE8AFA5E9A1B9E79BAEE794B1E8AFBAE59FBAE4BA9AE789B5E5A4B4EFBC8CE59CA8E68A80E69CAFE4B88AE788B1E7AB8BE4BFA1E4B99FE983A8E58886E58F82E4B88EEFBC8CE6B187E99B86E4BA863235E5AEB6E6ACA7E6B4B2E4BC81E4B89AE5928CE9AB98E6A0A1E38082E6B395E59BBDE696B9E99DA2E69C89E794B5E4BFA1E8BF90E890A5E59586E5A5A5E69C97E68DB7EFBC884F72616E6765EFBC89E38081E6BA90E8AEAFE585ACE58FB8E3808142636F6DE7A094E7A9B6E68980E7AD89E69CBAE69E84E58F82E4B88EE38082E4BD9CE4B8BAE6848FE5A4A7E588A9E7A7BBE58AA8E794B5E4BFA1E99B86E59BA2E4BCA0E7BB9FE59088E4BD9CE4BC99E4BCB4E79A84E8A5BFE997A8E5AD90EFBC8CE4BBA5E58F8AE8A5BFE78FADE78999E794B5E4BFA1E585ACE58FB8E4B99FE58F82E4B88EE4BA86E8AFA5E9A1B9E79BAEE38082E7949AE887B3E8BF9EE7BE8EE59BBDE4B99FE58F82E4B88EE4BA86E8BF9BE69DA5EFBC8CE4B88DE8BF87E58FAAE69C89E88BB1E789B9E5B094E585ACE58FB8E4B880E5AEB6E4BC81E4B89AE380823C2F703E0A3C703EE5A5A5E69C97E68DB7E585ACE58FB8E8B49FE8B4A3E7A7BBE58AA8E7BD91E7BB9CE79A84E589AFE680BBE8A381E998BFE5B094E8AFBAC2B7E4B887E5B895E9878CE8A7A3E9878AE8AFB4EFBC9AE2809C486578612D58E698AFE6ACA7E79B9FE59CA83647E9A286E59F9FE79A84E9A696E4B8AAE68C87E5BC95E680A7E9A1B9E79BAEEFBC8CE79BAEE6A087E698AFE7A1AEE5AE9AE4B880E4B8AAE585B1E5908CE79A84E8B7AFE7BABFE59BBEEFBC8CE4BBA5E58F8AE68EA2E8AEA8E68A80E69CAFE4B88AE593AAE4BA9BE58FAFE8A18CE38081E593AAE4BA9BE4B88DE58FAFE8A18CE38082E2809D3C2F703E0A3C703E486578612D58E9A1B9E79BAEE5B19EE4BA8EE3808AE6ACA7E6B4B232303230E8BF9CE699AFE8A784E58892E3808BE79A84E88C83E795B4EFBC8CE8BF99E698AFE6ACA7E79B9FE4B880E4B8AAE5A4A7E59E8BE7A791E7A094E5928CE5889BE696B0E8A784E58892EFBC88E8AEA1E5889237E5B9B4E58685E9A1B9E79BAEE68A95E8B584383030E4BABFE6ACA7E58583EFBC89E38082486578612D58E698AFE6ACA7E79B9FE4B8BAE2809CE5908E3547E2809DE697B6E4BBA3E98089E5AE9AE79A8435E4B8AAE9A1B9E79BAEE4B98BE4B880EFBC8CE69BBEE69C893831E4B8AAE9A1B9E79BAEE58F82E58AA0E6ACA7E79B9FE79A84E68B9BE6A087E38082486578612D58E9A1B9E79BAEE79A84E9A284E7AE97E5B09AE69CAAE585ACE5BC80E380823C2F703E0A3C703EE59CA83647E9A286E59F9FE6ACA7E79B9FE4B88DE8BF87E698AFE5889AE5889AE8B5B7E6ADA5EFBC8CE58FAAE698AFE5BBBAE7AB8BE4BA86E4B880E4B8AA3647E79A84E2809CE7B297E795A5E79C8BE6B395E2809DEFBC8CE7A1AEE5AE9AE4BA86E58C85E68BACE78EAFE5A283E5928CE699BAE883BDE88194E7BD91E7AD8936E4B8AAE7A094E7A9B6E9A286E59F9FE38082E4B887E5B895E9878CE8A1A8E7A4BAEFBC9AE2809C3547E79A84E8AEBEE8AEA1E5838FE4B880E4B8AAE4B889E8A792E5BDA2EFBC8CE69C8933E5A4A7E4B8BBE8A681E79086E5BFB5EFBC9AE9AB98E9809FE78E87E38081E69BB4E5A49AE9878DE8A681E5BA94E794A8E38081E4B887E789A9E4BA92E88194E38082E8808C3647E69BB4E5838FE698AFE4B880E4B8AAE585ADE8BEB9E5BDA2EFBC8CE8AEBEE8AEA1E79086E5BFB5E698AFE59CA836E4B8AAE696B9E59091E4B88AE69BB4E5A49AE6BBA1E8B6B3E68891E4BBACE79A84E99C80E8A681E38082E2809D3C2F703E0A3C703EE8AFBAE59FBAE4BA9AE8B49DE5B094E5AE9EE9AA8CE5AEA4E4BABAE59198E8A7A3E9878AE8AFB4EFBC9AE2809C3647E99C80E8A681E99C80E8A681E59CA8E7A7BBE58AA8E7BD91E7BB9CE8BF9EE68EA5E696B9E5BC8FE4B88AE8BF9BE8A18CE5BDBBE5BA95E694B9E58F98EFBC8CE99C80E8A681E7BBBCE59088E58D8FE8B083E5BE88E5A49AE58F82E695B0E380823647E7BD91E7BB9CE5B086E6BBA1E8B6B3E695B0E68DAEE4BCA0E8BE93E79A84E5A4A7E5B985E68F90E58D87E5928CE88194E7BD91E789A9E4BD93E79A84E78886E782B8E5BC8FE5A29EE995BFEFBC8CE4BD86E698AFE4B99FE5BA94E8AFA5E59CA8E883BDE6BA90E4BDBFE794A8E69588E78E87E38081E5AE89E585A8E38081E8A686E79B96E78E87E58F8AE7BBB4E68AA4E7AD89E696B9E99DA2E8A1A8E78EB0E69BB4E587BAE889B2E38082E2809D3C2F703E0A3C703EE59CA83547E79A84E4BDBFE794A8E5928CE2809CE59586E4B89AE6A8A1E5BC8FE2809DE5B09AE69CAAE58786E7A1AEE5AE9AE4B989E79A84E68385E586B5E4B88BE5B0B1E68EA8E587BA486578612D58EFBC8CE6ACA7E6B4B2E698AFE5B88CE69C9BE981BFE5858DE8BF87E4BA8EE890BDE5908EE4BA8EE4B8ADE59BBDE5928CE7BE8EE59BBDE38082E4B8ADE7BE8EE4B8A4E4B8AAE5A4A7E59BBD32303139E5B9B4E78E87E58588E68EA8E587BAE4BA863547EFBC8CE6AF94E6ACA7E6B4B2E697A9E4BA86E4B880E5B9B4EFBC8CE8808CE4B894E983BDE697A9E5B7B2E5BC80E5A78BE7A094E58F913647E68A80E69CAFE380823C2F703E0A3C703EE4BE8BE5A682EFBC8CE58C97E4BAACE58EBBE5B9B43131E69C88E59091E5A4AAE7A9BAE58F91E5B084E4BA86E4B880E9A2973730E585ACE696A4E9878DE79A84E58DABE6989FEFBC8CE4BBA5E8BF9BE8A18C3647E68980E99C80E8A681E79A84E5A4AAE8B5ABE585B9E6B3A2E8AF95E9AA8CEFBC8CE8BF99E698AFE585A8E79083E9A696E6ACA1E3808232303139E5B9B4EFBC8CE7BE8EE59BBDE794B5E4BFA1E79B91E7AEA1E69CBAE69E84E4B99FE5BC80E694BEE4BA86E5A4AAE8B5ABE585B9E6B3A2E79A84E9A291E78E87E4BBA5E8BF9BE8A18CE8AF95E9AA8CE380823C2F703E0A3C703EE5A4AAE8B5ABE585B9E6B3A2E698AFE5AE9EE78EB03647E68A80E69CAFE79A84E585B3E994AEEFBC8CE9A291E78E87E5A4A7E4BA8E313130E58D83E58586E8B5ABEFBC8CE58FAFE4BBA5E68F90E4BE9BE69BB4E9AB98E79A84E4BCA0E8BE93E9809FE78E87E38082E4B889E6989FE585ACE58FB8E68C87E587BAEFBC8CE4BE9DE99DA0E5A4AAE8B5ABE585B9E6B3A2EFBC8C3647E4BCA0E8BE93E5B3B0E580BCE58FAFE4BBA5E8BEBEE588B0E6AF8FE7A79231303030E58D83E58586E6AF94E789B9EFBC8CE8BF99E79BB8E5BD93E4BA8E3547E4BCA0E8BE93E9878FE79A843530E5808DE38082E6ADA4E5A496EFBC8CE7BD91E7BB9CE79A84E58F8DE5BA94E9809FE5BAA6E4B99FE58FAAE69C893547E79A84E58D81E58886E4B98BE4B880EFBC8CE5BBB6E697B6E58FAFE4BBA5E7BCA9E79FADE887B3302E31E6AFABE7A792E38082E8BF99E58FAFE4BBA5E6BBA1E8B6B3E5BE88E5A49AE9878DE5A4A7E5BA94E794A8EFBC8CE5B0A4E585B6E698AFE6B1BDE8BDA6E887AAE58AA8E9A9BEE9A9B6E5928CE8BF9CE7A88BE58CBBE79697E380823C2F703E0A3C703EE999A4E4BA86E59BBDE99985E68A80E69CAFE7AB9EE4BA89E5A496EFBC8C3647E59CA8E4BAA7E4B89AE9A286E59F9FE4B99FE585B7E69C89E58D81E58886E585B3E994AEE38082E59CA8E794B5E4BFA1E9A286E59F9FEFBC8CE7A7BBE58AA8E794B5E8AF9DE6AF8F3130E5B9B4E69BB4E696B0E4B880E4BBA3E38082E5B882E59CBAE4B88AE4BB85E69C89E79A8432E5AEB6E6ACA7E6B4B2E794B5E4BFA1E8AEBEE5A487E4BE9BE5BA94E59586E28094E28094E8AFBAE59FBAE4BA9AE5928CE788B1E7AB8BE4BFA1EFBC8CE5BD93E784B6E5B88CE69C9BE883BDE8B5B0E59CA8E5898DE6B2BFE4BBA5E69C9FE88EB7E5BE97E68A80E69CAFE9A286E58588E59CB0E4BD8DEFBC8CE4B99FE5B88CE69C9BE883BDE5B086E69BB4E5A49AE8AEBEE5A487E58D96E7BB99E585A8E79083E79A84E794B5E4BFA1E8BF90E890A5E59586E380823C2F703E0A3C703EE784B6E8808CE8BF98E5BE97E7AD89E5BE853647E6A087E58786E79A84E7A1AEE7AB8BEFBC8CE8BF99E5B086E4BC9AE698AFE4B880E4B8AAE59CA8E4B889E59B9BE5B9B4E58685E5BC80E5A78BE79A84E38081E59BBDE99985E88C83E59BB4E58685E79A84E6BCABE995BFE68A80E69CAF2DE5A496E4BAA4E8BF87E7A88BE38082E59BBDE99985E794B5E4BFA1E88194E79B9FE4BABAE5A3ABE8A1A8E7A4BAEFBC9AE2809CE59BBDE99985E794B5E4BFA1E88194E79B9FE79BAEE5898DE8BF98E6B2A1E69C89E5BC80E5A78BE7A094E7A9B63647E6A087E58786E38082E2809D3C2F703E0A3C703EE6ADA4E5A496EFBC8CE696B0E4B880E4BBA3E6898BE69CBAE4B99FE8AEB8E4BC9AE694B9E58F98E6A0BCE5B180E38082E4BE8BE5A682EFBC8C3547E68A80E69CAFE8AEA9E788B1E7AB8BE4BFA1E9878DE59B9EE68A80E69CAFE5898DE6B2BFE38082E59CA832303130E5B9B4E5898DE5908EEFBC8CE7A7BBE58AA8E9809AE4BFA1E68A80E69CAFE590913447E8BF87E6B8A1E697B6EFBC8CE788B1E7AB8BE4BFA1E69BBEE8A2ABE58D8EE4B8BAE5898AE5BCB1E38082E5908CE6A0B7EFBC8CE8AFBAE59FBAE4BA9AE4B99FE8AEB8E68C87E69C9BE99DA03647E681A2E5A48DE7BB8FE890A5E78AB6E586B5E380823C2F703E0A3C703EE58D8EE4B8BAE4B99FE59CA8E4B8BAE6ADA4E8BF9BE8A18CE8A784E58892EFBC8CE5B7B2E59CA8E6B395E59BBDE58D97E983A8E79A84E7B4A2E88FB2E5A885C2B7E5AE89E89282E6B3A2E588A9E696AFE5BBBAE7AB8BE4BA863647E7A094E58F91E4B8ADE5BF83E38082E59CA832303139E5B9B4E68EA5E58F97E3808AE7BABDE7BAA6E697B6E68AA5E3808BE98787E8AEBFE697B6EFBC8CE58D8EE4B8BAE5889BE5A78BE4BABAE4BBBBE6ADA3E99D9EE69BBEE8A1A8E7A4BAEFBC9AE2809CE7BE8EE59BBDE5B086E5B88CE69C9BE694BEE59CA8E4BA863647E68A80E69CAFE4B88AE38082E4BD86E698AFEFBC8CE59CA83647E7A094E58F91E696B9E99DA2E58D8EE4B8BAE5B7B2E7BB8FE9A286E58588E4B896E7958CE38082E2809D3C2F703E0A, '2021-01-22 16:41:34');

 

 类似资料: