初始化
定义基类控制器
好处是,可以定义不同的基类,比如前台一个基类,后台一个基类,而不是默认的Base基类
/**
* src/extend/think.js 扩展全局think 对象
*/
const path = require('path');
module.exports = {
baseController: {
admin: require(path.join(think.ROOT_PATH, 'src', 'controller', 'baseController', 'admin'))
}
};
/**
* src/controller/baseController/admin.js 自定义admin模块控制器基类
*/
module.exports = class extends think.Controller {
async __before() {
console.log('-----------------------');
}
};
// 使用
module.exports = class extends think.baseController.admin {
indexAction() {
return this.display();
}
};
配置跨域访问
使用的是`kcors`中间件,所以按照一般的中间件引入格式即可
// src/config/middleware.js
// 中间件地址: https://github.com/koajs/cors
// 还有具体的配置,参开阮一峰的文章了解如何配置
const cors = require('kcors');
{
handle: cors,
options: {
origin: (ctx) => {
return ctx.header.origin;
},
credential: true,
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'
}
},