const Media = require('../module/Media'); const Router = require('koa-router'); const permission = require('../intercept/permission'); const router = new Router(); /** * 获取案例数据 */ router.get('/', async ctx => { let media = new Media(); media.hide = 0; for (let key in ctx.request.query) { media[key] = ctx.request.query[key] } let result = await media.query() ctx.body = { msg: '成功获取数据', content: result } }); /** * 添加案例 */ router.post('/', permission, async ctx => { let body = ctx.request.body; let media = new Media(); media.cover = body.cover; media.text = body.text; media.zip = body.zip; media.language = body.language; media.sort = body.sort; media.type = body.type; let { insertId } = await media.insert() ctx.body = { msg: '成功添加!', insertId }; }); /** * 修改案例 */ router.put('/', permission, async ctx => { let body = ctx.request.body; let media = new Media(); media.id = body.id; if (!await media.exists()) { ctx.error('该媒体不存在!') } media.cover = body.cover; media.text = body.text; media.zip = body.zip; media.sort = body.sort; media.language = body.language; media.type = body.type; await media.update() ctx.body = { msg: '成功修改!' }; }); /** * 删除案例 */ router.delete('/:id', permission, async ctx => { let id = ctx.params.id; (!id || !Number.isFinite(Number(id))) && ctx.error('该案例不存在,请刷新后重试!'); let media = new Media(); media.id = id; media.hide = 0; (await media.exists()) || ctx.error('该案例不存在,请刷新后重试!'); media.hide = 1; await media.update(); ctx.body = { msg: '成功删除!' }; }); module.exports = exports = { path: '/media', router };