Merge remote-tracking branch 'upstream/master'

This commit is contained in:
wangbin8909
2021-04-11 17:19:54 +08:00
62 changed files with 1226 additions and 1095 deletions

View File

@@ -5,8 +5,8 @@ import (
"net/url"
"regexp"
"github.com/astaxie/beego"
"github.com/astaxie/beego/context"
"github.com/beego/beego/v2/server/web"
"github.com/beego/beego/v2/server/web/context"
"github.com/mindoc-org/mindoc/conf"
"github.com/mindoc-org/mindoc/models"
)
@@ -30,14 +30,14 @@ func init() {
}
}
}
beego.InsertFilter("/manager", beego.BeforeRouter, FilterUser)
beego.InsertFilter("/manager/*", beego.BeforeRouter, FilterUser)
beego.InsertFilter("/setting", beego.BeforeRouter, FilterUser)
beego.InsertFilter("/setting/*", beego.BeforeRouter, FilterUser)
beego.InsertFilter("/book", beego.BeforeRouter, FilterUser)
beego.InsertFilter("/book/*", beego.BeforeRouter, FilterUser)
beego.InsertFilter("/api/*", beego.BeforeRouter, FilterUser)
beego.InsertFilter("/manage/*", beego.BeforeRouter, FilterUser)
web.InsertFilter("/manager", web.BeforeRouter, FilterUser)
web.InsertFilter("/manager/*", web.BeforeRouter, FilterUser)
web.InsertFilter("/setting", web.BeforeRouter, FilterUser)
web.InsertFilter("/setting/*", web.BeforeRouter, FilterUser)
web.InsertFilter("/book", web.BeforeRouter, FilterUser)
web.InsertFilter("/book/*", web.BeforeRouter, FilterUser)
web.InsertFilter("/api/*", web.BeforeRouter, FilterUser)
web.InsertFilter("/manage/*", web.BeforeRouter, FilterUser)
var FinishRouter = func(ctx *context.Context) {
ctx.ResponseWriter.Header().Add("MinDoc-Version", conf.VERSION)
@@ -46,7 +46,8 @@ func init() {
}
var StartRouter = func(ctx *context.Context) {
sessionId := ctx.Input.Cookie(beego.AppConfig.String("sessionname"))
sessname, _ := web.AppConfig.String("sessionname")
sessionId := ctx.Input.Cookie(sessname)
if sessionId != "" {
//sessionId必须是数字字母组成且最小32个字符最大1024字符
if ok, err := regexp.MatchString(`^[a-zA-Z0-9]{32,512}$`, sessionId); !ok || err != nil {
@@ -54,6 +55,6 @@ func init() {
}
}
}
beego.InsertFilter("/*", beego.BeforeStatic, StartRouter, false)
beego.InsertFilter("/*", beego.BeforeRouter, FinishRouter, false)
web.InsertFilter("/*", web.BeforeStatic, StartRouter, web.WithReturnOnOutput(false))
web.InsertFilter("/*", web.BeforeRouter, FinishRouter, web.WithReturnOnOutput(false))
}

View File

@@ -1,149 +1,149 @@
package routers
import (
"github.com/astaxie/beego"
"github.com/beego/beego/v2/server/web"
"github.com/mindoc-org/mindoc/controllers"
)
func init() {
beego.Router("/", &controllers.HomeController{}, "*:Index")
web.Router("/", &controllers.HomeController{}, "*:Index")
beego.Router("/login", &controllers.AccountController{}, "*:Login")
beego.Router("/dingtalk_login", &controllers.AccountController{}, "*:DingTalkLogin")
beego.Router("/qrlogin/:app", &controllers.AccountController{}, "*:QRLogin")
beego.Router("/logout", &controllers.AccountController{}, "*:Logout")
beego.Router("/register", &controllers.AccountController{}, "*:Register")
beego.Router("/find_password", &controllers.AccountController{}, "*:FindPassword")
beego.Router("/valid_email", &controllers.AccountController{}, "post:ValidEmail")
beego.Router("/captcha", &controllers.AccountController{}, "*:Captcha")
web.Router("/login", &controllers.AccountController{}, "*:Login")
web.Router("/dingtalk_login", &controllers.AccountController{}, "*:DingTalkLogin")
web.Router("/qrlogin/:app", &controllers.AccountController{}, "*:QRLogin")
web.Router("/logout", &controllers.AccountController{}, "*:Logout")
web.Router("/register", &controllers.AccountController{}, "*:Register")
web.Router("/find_password", &controllers.AccountController{}, "*:FindPassword")
web.Router("/valid_email", &controllers.AccountController{}, "post:ValidEmail")
web.Router("/captcha", &controllers.AccountController{}, "*:Captcha")
beego.Router("/manager", &controllers.ManagerController{}, "*:Index")
beego.Router("/manager/users", &controllers.ManagerController{}, "*:Users")
beego.Router("/manager/users/edit/:id", &controllers.ManagerController{}, "*:EditMember")
beego.Router("/manager/member/create", &controllers.ManagerController{}, "post:CreateMember")
beego.Router("/manager/member/delete", &controllers.ManagerController{}, "post:DeleteMember")
beego.Router("/manager/member/update-member-status", &controllers.ManagerController{}, "post:UpdateMemberStatus")
beego.Router("/manager/member/change-member-role", &controllers.ManagerController{}, "post:ChangeMemberRole")
beego.Router("/manager/books", &controllers.ManagerController{}, "*:Books")
beego.Router("/manager/books/edit/:key", &controllers.ManagerController{}, "*:EditBook")
beego.Router("/manager/books/delete", &controllers.ManagerController{}, "*:DeleteBook")
web.Router("/manager", &controllers.ManagerController{}, "*:Index")
web.Router("/manager/users", &controllers.ManagerController{}, "*:Users")
web.Router("/manager/users/edit/:id", &controllers.ManagerController{}, "*:EditMember")
web.Router("/manager/member/create", &controllers.ManagerController{}, "post:CreateMember")
web.Router("/manager/member/delete", &controllers.ManagerController{}, "post:DeleteMember")
web.Router("/manager/member/update-member-status", &controllers.ManagerController{}, "post:UpdateMemberStatus")
web.Router("/manager/member/change-member-role", &controllers.ManagerController{}, "post:ChangeMemberRole")
web.Router("/manager/books", &controllers.ManagerController{}, "*:Books")
web.Router("/manager/books/edit/:key", &controllers.ManagerController{}, "*:EditBook")
web.Router("/manager/books/delete", &controllers.ManagerController{}, "*:DeleteBook")
beego.Router("/manager/comments", &controllers.ManagerController{}, "*:Comments")
beego.Router("/manager/setting", &controllers.ManagerController{}, "*:Setting")
beego.Router("/manager/books/token", &controllers.ManagerController{}, "post:CreateToken")
beego.Router("/manager/books/transfer", &controllers.ManagerController{}, "post:Transfer")
beego.Router("/manager/books/open", &controllers.ManagerController{}, "post:PrivatelyOwned")
web.Router("/manager/comments", &controllers.ManagerController{}, "*:Comments")
web.Router("/manager/setting", &controllers.ManagerController{}, "*:Setting")
web.Router("/manager/books/token", &controllers.ManagerController{}, "post:CreateToken")
web.Router("/manager/books/transfer", &controllers.ManagerController{}, "post:Transfer")
web.Router("/manager/books/open", &controllers.ManagerController{}, "post:PrivatelyOwned")
beego.Router("/manager/attach/list", &controllers.ManagerController{}, "*:AttachList")
beego.Router("/manager/attach/detailed/:id", &controllers.ManagerController{}, "*:AttachDetailed")
beego.Router("/manager/attach/delete", &controllers.ManagerController{}, "post:AttachDelete")
beego.Router("/manager/label/list", &controllers.ManagerController{}, "get:LabelList")
beego.Router("/manager/label/delete/:id", &controllers.ManagerController{}, "post:LabelDelete")
web.Router("/manager/attach/list", &controllers.ManagerController{}, "*:AttachList")
web.Router("/manager/attach/detailed/:id", &controllers.ManagerController{}, "*:AttachDetailed")
web.Router("/manager/attach/delete", &controllers.ManagerController{}, "post:AttachDelete")
web.Router("/manager/label/list", &controllers.ManagerController{}, "get:LabelList")
web.Router("/manager/label/delete/:id", &controllers.ManagerController{}, "post:LabelDelete")
//beego.Router("/manager/config", &controllers.ManagerController{}, "*:Config")
//web.Router("/manager/config", &controllers.ManagerController{}, "*:Config")
beego.Router("/manager/team", &controllers.ManagerController{}, "*:Team")
beego.Router("/manager/team/create", &controllers.ManagerController{}, "POST:TeamCreate")
beego.Router("/manager/team/edit", &controllers.ManagerController{}, "POST:TeamEdit")
beego.Router("/manager/team/delete", &controllers.ManagerController{}, "POST:TeamDelete")
web.Router("/manager/team", &controllers.ManagerController{}, "*:Team")
web.Router("/manager/team/create", &controllers.ManagerController{}, "POST:TeamCreate")
web.Router("/manager/team/edit", &controllers.ManagerController{}, "POST:TeamEdit")
web.Router("/manager/team/delete", &controllers.ManagerController{}, "POST:TeamDelete")
beego.Router("/manager/team/member/list/:id", &controllers.ManagerController{}, "*:TeamMemberList")
beego.Router("/manager/team/member/add", &controllers.ManagerController{}, "POST:TeamMemberAdd")
beego.Router("/manager/team/member/delete", &controllers.ManagerController{}, "POST:TeamMemberDelete")
beego.Router("/manager/team/member/change_role", &controllers.ManagerController{}, "POST:TeamChangeMemberRole")
beego.Router("/manager/team/member/search", &controllers.ManagerController{}, "*:TeamSearchMember")
web.Router("/manager/team/member/list/:id", &controllers.ManagerController{}, "*:TeamMemberList")
web.Router("/manager/team/member/add", &controllers.ManagerController{}, "POST:TeamMemberAdd")
web.Router("/manager/team/member/delete", &controllers.ManagerController{}, "POST:TeamMemberDelete")
web.Router("/manager/team/member/change_role", &controllers.ManagerController{}, "POST:TeamChangeMemberRole")
web.Router("/manager/team/member/search", &controllers.ManagerController{}, "*:TeamSearchMember")
beego.Router("/manager/team/book/list/:id", &controllers.ManagerController{}, "*:TeamBookList")
beego.Router("/manager/team/book/add", &controllers.ManagerController{}, "POST:TeamBookAdd")
beego.Router("/manager/team/book/delete", &controllers.ManagerController{}, "POST:TeamBookDelete")
beego.Router("/manager/team/book/search", &controllers.ManagerController{}, "*:TeamSearchBook")
web.Router("/manager/team/book/list/:id", &controllers.ManagerController{}, "*:TeamBookList")
web.Router("/manager/team/book/add", &controllers.ManagerController{}, "POST:TeamBookAdd")
web.Router("/manager/team/book/delete", &controllers.ManagerController{}, "POST:TeamBookDelete")
web.Router("/manager/team/book/search", &controllers.ManagerController{}, "*:TeamSearchBook")
beego.Router("/manager/itemsets", &controllers.ManagerController{}, "*:Itemsets")
beego.Router("/manager/itemsets/edit", &controllers.ManagerController{}, "post:ItemsetsEdit")
beego.Router("/manager/itemsets/delete", &controllers.ManagerController{}, "post:ItemsetsDelete")
web.Router("/manager/itemsets", &controllers.ManagerController{}, "*:Itemsets")
web.Router("/manager/itemsets/edit", &controllers.ManagerController{}, "post:ItemsetsEdit")
web.Router("/manager/itemsets/delete", &controllers.ManagerController{}, "post:ItemsetsDelete")
beego.Router("/setting", &controllers.SettingController{}, "*:Index")
beego.Router("/setting/password", &controllers.SettingController{}, "*:Password")
beego.Router("/setting/upload", &controllers.SettingController{}, "*:Upload")
web.Router("/setting", &controllers.SettingController{}, "*:Index")
web.Router("/setting/password", &controllers.SettingController{}, "*:Password")
web.Router("/setting/upload", &controllers.SettingController{}, "*:Upload")
beego.Router("/book", &controllers.BookController{}, "*:Index")
beego.Router("/book/:key/dashboard", &controllers.BookController{}, "*:Dashboard")
beego.Router("/book/:key/setting", &controllers.BookController{}, "*:Setting")
beego.Router("/book/:key/users", &controllers.BookController{}, "*:Users")
beego.Router("/book/:key/release", &controllers.BookController{}, "post:Release")
beego.Router("/book/:key/sort", &controllers.BookController{}, "post:SaveSort")
beego.Router("/book/:key/teams", &controllers.BookController{}, "*:Team")
web.Router("/book", &controllers.BookController{}, "*:Index")
web.Router("/book/:key/dashboard", &controllers.BookController{}, "*:Dashboard")
web.Router("/book/:key/setting", &controllers.BookController{}, "*:Setting")
web.Router("/book/:key/users", &controllers.BookController{}, "*:Users")
web.Router("/book/:key/release", &controllers.BookController{}, "post:Release")
web.Router("/book/:key/sort", &controllers.BookController{}, "post:SaveSort")
web.Router("/book/:key/teams", &controllers.BookController{}, "*:Team")
beego.Router("/book/create", &controllers.BookController{}, "*:Create")
beego.Router("/book/itemsets/search", &controllers.BookController{}, "*:ItemsetsSearch")
web.Router("/book/create", &controllers.BookController{}, "*:Create")
web.Router("/book/itemsets/search", &controllers.BookController{}, "*:ItemsetsSearch")
beego.Router("/book/users/create", &controllers.BookMemberController{}, "post:AddMember")
beego.Router("/book/users/change", &controllers.BookMemberController{}, "post:ChangeRole")
beego.Router("/book/users/delete", &controllers.BookMemberController{}, "post:RemoveMember")
beego.Router("/book/users/import", &controllers.BookController{}, "post:Import")
beego.Router("/book/users/copy", &controllers.BookController{}, "post:Copy")
web.Router("/book/users/create", &controllers.BookMemberController{}, "post:AddMember")
web.Router("/book/users/change", &controllers.BookMemberController{}, "post:ChangeRole")
web.Router("/book/users/delete", &controllers.BookMemberController{}, "post:RemoveMember")
web.Router("/book/users/import", &controllers.BookController{}, "post:Import")
web.Router("/book/users/copy", &controllers.BookController{}, "post:Copy")
beego.Router("/book/setting/save", &controllers.BookController{}, "post:SaveBook")
beego.Router("/book/setting/open", &controllers.BookController{}, "post:PrivatelyOwned")
beego.Router("/book/setting/transfer", &controllers.BookController{}, "post:Transfer")
beego.Router("/book/setting/upload", &controllers.BookController{}, "post:UploadCover")
beego.Router("/book/setting/delete", &controllers.BookController{}, "post:Delete")
web.Router("/book/setting/save", &controllers.BookController{}, "post:SaveBook")
web.Router("/book/setting/open", &controllers.BookController{}, "post:PrivatelyOwned")
web.Router("/book/setting/transfer", &controllers.BookController{}, "post:Transfer")
web.Router("/book/setting/upload", &controllers.BookController{}, "post:UploadCover")
web.Router("/book/setting/delete", &controllers.BookController{}, "post:Delete")
beego.Router("/book/team/add", &controllers.BookController{}, "POST:TeamAdd")
beego.Router("/book/team/delete", &controllers.BookController{}, "POST:TeamDelete")
beego.Router("/book/team/search", &controllers.BookController{}, "*:TeamSearch")
web.Router("/book/team/add", &controllers.BookController{}, "POST:TeamAdd")
web.Router("/book/team/delete", &controllers.BookController{}, "POST:TeamDelete")
web.Router("/book/team/search", &controllers.BookController{}, "*:TeamSearch")
//管理文章的路由
beego.Router("/manage/blogs", &controllers.BlogController{}, "*:ManageList")
beego.Router("/manage/blogs/setting/?:id", &controllers.BlogController{}, "*:ManageSetting")
beego.Router("/manage/blogs/edit/?:id", &controllers.BlogController{}, "*:ManageEdit")
beego.Router("/manage/blogs/delete", &controllers.BlogController{}, "post:ManageDelete")
beego.Router("/manage/blogs/upload", &controllers.BlogController{}, "post:Upload")
beego.Router("/manage/blogs/attach/:id", &controllers.BlogController{}, "post:RemoveAttachment")
web.Router("/manage/blogs", &controllers.BlogController{}, "*:ManageList")
web.Router("/manage/blogs/setting/?:id", &controllers.BlogController{}, "*:ManageSetting")
web.Router("/manage/blogs/edit/?:id", &controllers.BlogController{}, "*:ManageEdit")
web.Router("/manage/blogs/delete", &controllers.BlogController{}, "post:ManageDelete")
web.Router("/manage/blogs/upload", &controllers.BlogController{}, "post:Upload")
web.Router("/manage/blogs/attach/:id", &controllers.BlogController{}, "post:RemoveAttachment")
//读文章的路由
beego.Router("/blogs", &controllers.BlogController{}, "*:List")
beego.Router("/blog-attach/:id:int/:attach_id:int", &controllers.BlogController{}, "get:Download")
beego.Router("/blog-:id([0-9]+).html", &controllers.BlogController{}, "*:Index")
web.Router("/blogs", &controllers.BlogController{}, "*:List")
web.Router("/blog-attach/:id:int/:attach_id:int", &controllers.BlogController{}, "get:Download")
web.Router("/blog-:id([0-9]+).html", &controllers.BlogController{}, "*:Index")
//模板相关接口
beego.Router("/api/template/get", &controllers.TemplateController{}, "get:Get")
beego.Router("/api/template/list", &controllers.TemplateController{}, "post:List")
beego.Router("/api/template/add", &controllers.TemplateController{}, "post:Add")
beego.Router("/api/template/remove", &controllers.TemplateController{}, "post:Delete")
web.Router("/api/template/get", &controllers.TemplateController{}, "get:Get")
web.Router("/api/template/list", &controllers.TemplateController{}, "post:List")
web.Router("/api/template/add", &controllers.TemplateController{}, "post:Add")
web.Router("/api/template/remove", &controllers.TemplateController{}, "post:Delete")
beego.Router("/api/attach/remove/", &controllers.DocumentController{}, "post:RemoveAttachment")
beego.Router("/api/:key/edit/?:id", &controllers.DocumentController{}, "*:Edit")
beego.Router("/api/upload", &controllers.DocumentController{}, "post:Upload")
beego.Router("/api/:key/create", &controllers.DocumentController{}, "post:Create")
beego.Router("/api/:key/delete", &controllers.DocumentController{}, "post:Delete")
beego.Router("/api/:key/content/?:id", &controllers.DocumentController{}, "*:Content")
beego.Router("/api/:key/compare/:id", &controllers.DocumentController{}, "*:Compare")
beego.Router("/api/search/user/:key", &controllers.SearchController{}, "*:User")
web.Router("/api/attach/remove/", &controllers.DocumentController{}, "post:RemoveAttachment")
web.Router("/api/:key/edit/?:id", &controllers.DocumentController{}, "*:Edit")
web.Router("/api/upload", &controllers.DocumentController{}, "post:Upload")
web.Router("/api/:key/create", &controllers.DocumentController{}, "post:Create")
web.Router("/api/:key/delete", &controllers.DocumentController{}, "post:Delete")
web.Router("/api/:key/content/?:id", &controllers.DocumentController{}, "*:Content")
web.Router("/api/:key/compare/:id", &controllers.DocumentController{}, "*:Compare")
web.Router("/api/search/user/:key", &controllers.SearchController{}, "*:User")
beego.Router("/history/get", &controllers.DocumentController{}, "get:History")
beego.Router("/history/delete", &controllers.DocumentController{}, "*:DeleteHistory")
beego.Router("/history/restore", &controllers.DocumentController{}, "*:RestoreHistory")
web.Router("/history/get", &controllers.DocumentController{}, "get:History")
web.Router("/history/delete", &controllers.DocumentController{}, "*:DeleteHistory")
web.Router("/history/restore", &controllers.DocumentController{}, "*:RestoreHistory")
beego.Router("/docs/:key", &controllers.DocumentController{}, "*:Index")
beego.Router("/docs/:key/:id", &controllers.DocumentController{}, "*:Read")
beego.Router("/docs/:key/search", &controllers.DocumentController{}, "post:Search")
beego.Router("/export/:key", &controllers.DocumentController{}, "*:Export")
beego.Router("/qrcode/:key.png", &controllers.DocumentController{}, "get:QrCode")
web.Router("/docs/:key", &controllers.DocumentController{}, "*:Index")
web.Router("/docs/:key/:id", &controllers.DocumentController{}, "*:Read")
web.Router("/docs/:key/search", &controllers.DocumentController{}, "post:Search")
web.Router("/export/:key", &controllers.DocumentController{}, "*:Export")
web.Router("/qrcode/:key.png", &controllers.DocumentController{}, "get:QrCode")
beego.Router("/attach_files/:key/:attach_id", &controllers.DocumentController{}, "get:DownloadAttachment")
web.Router("/attach_files/:key/:attach_id", &controllers.DocumentController{}, "get:DownloadAttachment")
beego.Router("/comment/create", &controllers.CommentController{}, "post:Create")
beego.Router("/comment/delete", &controllers.CommentController{}, "post:Delete")
beego.Router("/comment/lists", &controllers.CommentController{}, "get:Lists")
beego.Router("/comment/index", &controllers.CommentController{}, "*:Index")
web.Router("/comment/create", &controllers.CommentController{}, "post:Create")
web.Router("/comment/delete", &controllers.CommentController{}, "post:Delete")
web.Router("/comment/lists", &controllers.CommentController{}, "get:Lists")
web.Router("/comment/index", &controllers.CommentController{}, "*:Index")
beego.Router("/search", &controllers.SearchController{}, "get:Index")
web.Router("/search", &controllers.SearchController{}, "get:Index")
beego.Router("/tag/:key", &controllers.LabelController{}, "get:Index")
beego.Router("/tags", &controllers.LabelController{}, "get:List")
web.Router("/tag/:key", &controllers.LabelController{}, "get:Index")
web.Router("/tags", &controllers.LabelController{}, "get:List")
beego.Router("/items", &controllers.ItemsetsController{}, "get:Index")
beego.Router("/items/:key", &controllers.ItemsetsController{}, "get:List")
web.Router("/items", &controllers.ItemsetsController{}, "get:Index")
web.Router("/items/:key", &controllers.ItemsetsController{}, "get:List")
}