[JavaScript] 纯文本查看 复制代码
//next页面api接口
router.post('/api/:page', async ctx => {
await routePost({ params: ctx.params.page, query: ctx.request.body }).then((res, err) => {
response(res, err, ctx)
})
})
router.get('/api/:page', async ctx => {
await routeGet({ params: ctx.params.page, query: ctx.request.query }).then((res, err) => {
response(res, err, ctx)
})
})
router.delete('/api/:page', async ctx => {
await routeDelete({ params: ctx.params.page, query: ctx.request.body }).then((res, err) => {
response(res, err, ctx)
})
})
//mock数据接口
router.all('/mock/:project_id/*', async ctx => {
const { method, body, url, header } = ctx.request
await routeMock({ params: ctx.params, body, method, url, header }).then((res, err) => {
response(res, err, ctx)
})
})
//next页面接口
app.prepare()
.then(() => {
// 首页
router.get('/', async ctx => {
await app.render(ctx.req, ctx.res, '/', ctx.query)
ctx.respond = false
})
// 项目
router.get('/project', async ctx => {
await app.render(ctx.req, ctx.res, `/project`, ctx.query)
ctx.respond = false
})
// 如果没有配置nginx做静态文件服务,下面代码请务必开启
router.get('*', async ctx => {
await handle(ctx.req, ctx.res)
ctx.respond = false
})
// 防止出现控制台报404错误
server.use(async (ctx, next) => {
ctx.res.statusCode = 200
await next()
})
server.use(router.routes()).use(router.allowedMethods())
server.listen(port, () => {
console.log(`> Ready on http://localhost:${port}`)
})
})
[JavaScript] 纯文本查看 复制代码
routeDelete: async ({ params, query }) => {
const { id } = query
switch (params) {
case 'project':
await api.deleteApi(id) //删除项目的同时清空对应的api接口
return await project.deleteOne(id).then(res => response(0, res)).catch(error => response(1, error.message))
case 'interface':
return await api.deleteOneApi(id).then(res => response(0, res)).catch(error => response(1, error.message))
default:
return '接口请求出错'
}
},