25 lines
526 B
Go
25 lines
526 B
Go
package controllers
|
||
|
||
import (
|
||
"github.com/astaxie/beego"
|
||
"log"
|
||
)
|
||
|
||
type NestPreparer interface {
|
||
NestPrepare()
|
||
}
|
||
|
||
type BaseController struct {
|
||
beego.Controller
|
||
}
|
||
|
||
func (ctx *BaseController) Prepare() {
|
||
log.Println("BaseController")
|
||
// 判断子类是否实现了NestPreparer接口,如果实现了就调用接口方法。
|
||
// 将页面路径保存到path变量中
|
||
ctx.Data["Path"] = ctx.Ctx.Request.RequestURI
|
||
ctx.Data["Username"] = "xxxx"
|
||
if app, ok := ctx.AppController.(NestPreparer); ok {
|
||
app.NestPrepare()
|
||
}
|
||
} |