123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- const News = require('../module/News');
- const Router = require('koa-router');
- const permission = require('../intercept/permission');
- const router = new Router();
- async function getNews(id) {
- let news = new News();
- news.id = id;
- let [result = {}] = await news.query()
- return result
- }
- /**
- * 获取新闻数据
- */
- router.get('/', async ctx => {
- let { page = 0, keyword = '', limit = 15, language } = ctx.request.query;
- let news = new News();
- news.hide = 0;
- let result = await news.paging(page, Number(limit), keyword, language)
- ctx.body = {
- msg: '成功获取数据',
- content: result
- }
- });
- /**
- * 获取数据具体数据
- */
- router.get('/:id', async ctx => {
- let language = Number(ctx.query.language)
- let id = ctx.params.id;
- (!id || !Number.isFinite(Number(id))) &&
- ctx.error('该新闻不存在,请刷新后重试!');
- let result = await getNews(id)
- if (language && result.language !== language && result.redire) {
- let reResult = null
- let reId = language === 1 ? result.chinese_id :
- language === 2 ? result.english_id : null
- reId && (reResult = await getNews(reId))
- reResult && (result = reResult)
- }
- ctx.body = {
- msg: '成功获取!',
- content: result
- };
- });
- /**
- * 添加新闻
- */
- router.post('/', permission, async ctx => {
- let body = ctx.request.body;
- let news = new News();
- news.title = body.title;
- news.content = body.content;
- news.cover = body.cover;
- news.label = body.label;
- news.outer_link = body.outer_link
- news.redire = body.redire;
- news.date = body.date;
- news.sort = Number(body.sort) || 0;
- news.address = body.address;
- news.origin = body.origin;
- news.language = body.language;
- news.brief = body.brief
- news.chinese_id = Number(body.chinese_id) || 0;
- news.english_id = Number(body.english_id) || 0;
- news.user_id = ctx.session.user.id
- let { insertId } = await news.insert()
- ctx.body = {
- msg: '成功添加!',
- insertId
- };
- });
- /**
- * 修改新闻
- */
- router.put('/', permission, async ctx => {
- let body = ctx.request.body;
- let news = new News();
- news.id = body.id;
- if (!await news.exists()) {
- ctx.error('该新闻不存在!')
- }
- console.log('----------', body.origin, '--------------')
- news.title = body.title;
- news.content = body.content;
- news.cover = body.cover;
- news.label = body.label;
- news.date = body.date;
- news.redire = body.redire;
- news.origin = body.origin;
- news.outer_link = body.outer_link
- news.brief = body.brief
- news.language = body.language;
- news.chinese_id = Number(body.chinese_id) || 0;
- news.english_id = Number(body.english_id) || 0;
- news.sort = Number(body.sort) || 0;
- news.address = body.address;
- await news.update()
- ctx.body = {
- msg: '成功修改!'
- };
- });
- /**
- * 删除文章
- */
- router.delete('/:id', permission, async ctx => {
- let id = ctx.params.id;
- (!id || !Number.isFinite(Number(id))) &&
- ctx.error('该新闻不存在,请刷新后重试!');
- let news = new News();
- news.id = id;
- news.hide = 0;
- (await news.exists()) ||
- ctx.error('该新闻不存在,请刷新后重试!');
- news.hide = 1;
- await news.update();
- ctx.body = { msg: '成功删除!' };
- });
- module.exports = exports = { path: '/news', router };
|