'use strict'; const Router = require('koa-router'); const common = require('./actions/common'); const dashboard = require('./actions/dashboard'); const index = require('./actions/index'); const projects = require('./actions/projects'); const servers = require('./actions/servers'); const login = require('./actions/login'); const monitor = require('./actions/monitor'); const users = require('./actions/users'); const hotfix = require('./actions/hotfix'); const operationLog = require('./actions/operation_log'); const clientPrecache = require('./actions/client-precache'); const pageCache = require('./actions/page_cache'); const cdnCache = require('./actions/cdn_cache'); const productCache = require('./actions/product_cache'); const apiCache = require('./actions/api_cache'); const degrade = require('./actions/degrade'); const deploy = require('./actions/deploy'); const keywords = require('./actions/keywords'); const hotKeywords = require('./actions/hot-keywords'); const api = require('./actions/api'); const abuseProtection = require('./actions/abuse_protection'); const crawler = require('./actions/crawler'); const seo = require('./actions/seo'); const profile = require('./actions/profile').router; const checkcode = require('./actions/checkcode').router; const noAuth = new Router(); const base = new Router(); const file = require('./actions/file'); const riskManagement = require('./actions/risk_management'); const ssrDegrade = require('./actions/ssr_degrade'); const logs = require('./actions/logs'); const spa = require('./actions/spa'); const upload = require('./actions/upload'); module.exports = function(app) { noAuth.use('', login.routes(), login.allowedMethods()); noAuth.use('', common.routes(), common.allowedMethods()); noAuth.use('/api', api.routes(), api.allowedMethods()); app.use(noAuth.routes(), noAuth.allowedMethods()); app.use(async(ctx, next) => { if (ctx.session && ctx.session.user) { await next(); } else { ctx.redirect('/login'); } }); base.use('', dashboard.routes(), dashboard.allowedMethods()); base.use('/projects', projects.routes(), projects.allowedMethods()); base.use('/servers', servers.routes(), servers.allowedMethods()); base.use('/monitor', monitor.routes(), monitor.allowedMethods()); base.use('/users', users.routes(), users.allowedMethods()); // base.use('/hotfix', hotfix.routes(), hotfix.allowedMethods()); base.use('/precache', clientPrecache.routes(), clientPrecache.allowedMethods()); base.use('/operation', operationLog.routes(), operationLog.allowedMethods()); base.use('/check', checkcode.routes(), checkcode.allowedMethods()); base.use('/page_cache', pageCache.routes(), pageCache.allowedMethods()); base.use('/cdn_cache', cdnCache.routes(), cdnCache.allowedMethods()); base.use('/product_cache', productCache.routes(), productCache.allowedMethods()); base.use('/api_cache', apiCache.routes(), apiCache.allowedMethods()); base.use('/degrade', degrade.routes(), degrade.allowedMethods()); base.use('/deploys', deploy.routes(), deploy.allowedMethods()); base.use('/keywords', keywords.routes(), keywords.allowedMethods()); base.use('/hot-keywords', hotKeywords.routes(), hotKeywords.allowedMethods()); base.use('/profile', profile.routes(), profile.allowedMethods()); const white = crawler('/crawler/ip_whitelists', '/crawler/ua_whitelists', '白名单', false); const black = crawler('/crawler/ip_blacklists', '/crawler/ua_blacklists', '黑名单', true); base.use('/crawler_white', white.routes(), white.allowedMethods()); base.use('/crawler_black', black.routes(), black.allowedMethods()); base.use('/abuse_protection', abuseProtection.routes(), degrade.allowedMethods()); base.use('/seo', seo.routes(), seo.allowedMethods()); base.use('/files', file.routes(), file.allowedMethods()); // base.use('', index.routes(), index.allowedMethods()); base.use('/risk_management', riskManagement.routes(), riskManagement.allowedMethods()); base.use('/ssr_degrade', ssrDegrade.routes(), ssrDegrade.allowedMethods()); base.use('/logs', logs.routes(), logs.allowedMethods()); base.use('/upload', upload.routes(), upload.allowedMethods()); base.use('', spa.routes(), spa.allowedMethods()); app.use(base.routes(), base.allowedMethods()); };