mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-09-19 18:22:10 +08:00
实现部署到二级虚拟目录
This commit is contained in:
@@ -32,7 +32,7 @@ func (c *AccountController) Login() {
|
||||
u = c.Ctx.Request.Header.Get("Referer")
|
||||
}
|
||||
if u == "" {
|
||||
u = beego.URLFor("HomeController.Index")
|
||||
u = utils.URLFor("HomeController.Index")
|
||||
}
|
||||
c.Redirect(u,302)
|
||||
}
|
||||
@@ -83,7 +83,7 @@ func (c *AccountController) Login() {
|
||||
u = c.Ctx.Request.Header.Get("Referer")
|
||||
}
|
||||
if u == "" {
|
||||
u = beego.URLFor("HomeController.Index")
|
||||
u = utils.URLFor("HomeController.Index")
|
||||
}
|
||||
|
||||
c.JsonResult(0, "ok", u)
|
||||
@@ -97,7 +97,7 @@ func (c *AccountController) Login() {
|
||||
u = c.Ctx.Request.Header.Get("Referer")
|
||||
}
|
||||
if u == "" {
|
||||
u = beego.URLFor("HomeController.Index")
|
||||
u = utils.URLFor("HomeController.Index")
|
||||
}
|
||||
c.Data["url"] = url.PathEscape(u)
|
||||
}
|
||||
@@ -111,7 +111,7 @@ func (c *AccountController) LoggedIn(isPost bool) interface{} {
|
||||
if !isPost {
|
||||
// 检查是否存在 turl 参数,如果有则重定向至 turl 处,否则进入 Home 页面
|
||||
if turl == "" {
|
||||
turl = beego.URLFor("HomeController.Index")
|
||||
turl = utils.URLFor("HomeController.Index")
|
||||
}
|
||||
c.Redirect(turl, 302)
|
||||
return nil
|
||||
@@ -130,7 +130,7 @@ func (c *AccountController) Register() {
|
||||
|
||||
//如果用户登录了,则跳转到网站首页
|
||||
if member, ok := c.GetSession(conf.LoginSessionName).(models.Member); ok && member.MemberId > 0 {
|
||||
c.Redirect(beego.URLFor("HomeController.Index"),302)
|
||||
c.Redirect(utils.URLFor("HomeController.Index"),302)
|
||||
}
|
||||
// 如果没有开启用户注册
|
||||
if v, ok := c.Option["ENABLED_REGISTER"]; ok && !strings.EqualFold(v, "true") {
|
||||
@@ -244,7 +244,7 @@ func (c *AccountController) FindPassword() {
|
||||
|
||||
data := map[string]interface{}{
|
||||
"SITE_NAME": c.Option["SITE_NAME"],
|
||||
"url": c.BaseUrl() + beego.URLFor("AccountController.FindPassword", "token", member_token.Token, "mail", email),
|
||||
"url": utils.URLFor("AccountController.FindPassword", "token", member_token.Token, "mail", email),
|
||||
"BaseUrl": c.BaseUrl(),
|
||||
}
|
||||
|
||||
@@ -302,7 +302,7 @@ func (c *AccountController) FindPassword() {
|
||||
//}
|
||||
}(mail_conf, email, body)
|
||||
|
||||
c.JsonResult(0, "ok", c.BaseUrl()+beego.URLFor("AccountController.Login"))
|
||||
c.JsonResult(0, "ok", utils.URLFor("AccountController.Login"))
|
||||
}
|
||||
|
||||
token := c.GetString("token")
|
||||
@@ -396,7 +396,7 @@ func (c *AccountController) ValidEmail() {
|
||||
beego.Error(err)
|
||||
c.JsonResult(6006, "保存密码失败")
|
||||
}
|
||||
c.JsonResult(0, "ok", c.BaseUrl()+beego.URLFor("AccountController.Login"))
|
||||
c.JsonResult(0, "ok", utils.URLFor("AccountController.Login"))
|
||||
}
|
||||
|
||||
// Logout 退出登录
|
||||
@@ -407,7 +407,7 @@ func (c *AccountController) Logout() {
|
||||
|
||||
u := c.Ctx.Request.Header.Get("Referer")
|
||||
|
||||
c.Redirect(beego.URLFor("AccountController.Login","url",u), 302)
|
||||
c.Redirect(utils.URLFor("AccountController.Login","url",u), 302)
|
||||
}
|
||||
|
||||
// 验证码
|
||||
|
@@ -47,7 +47,7 @@ func (c *BookController) Index() {
|
||||
}
|
||||
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize,c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
@@ -111,7 +111,7 @@ func (c *BookController) Setting() {
|
||||
c.Abort("403")
|
||||
}
|
||||
if book.PrivateToken != "" {
|
||||
book.PrivateToken = c.BaseUrl() + beego.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken)
|
||||
book.PrivateToken = utils.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken)
|
||||
}
|
||||
c.Data["Model"] = book
|
||||
|
||||
@@ -345,7 +345,7 @@ func (c *BookController) UploadCover() {
|
||||
|
||||
oldCover := book.Cover
|
||||
|
||||
book.Cover = url
|
||||
book.Cover = utils.URLForWithCdnImage(url)
|
||||
|
||||
if err := book.Update(); err != nil {
|
||||
c.JsonResult(6001, "保存图片失败")
|
||||
@@ -383,7 +383,7 @@ func (c *BookController) Users() {
|
||||
members, totalCount, err := models.NewMemberRelationshipResult().FindForUsersByBookId(book.BookId, pageIndex, 15)
|
||||
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize,c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
@@ -554,7 +554,7 @@ func (c *BookController) CreateToken() {
|
||||
logs.Error("生成阅读令牌失败 => ", err)
|
||||
c.JsonResult(6003, "生成阅读令牌失败")
|
||||
}
|
||||
c.JsonResult(0, "ok", c.BaseUrl()+beego.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken))
|
||||
c.JsonResult(0, "ok", utils.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken))
|
||||
} else {
|
||||
book.PrivateToken = ""
|
||||
if err := book.Update(); err != nil {
|
||||
|
@@ -105,7 +105,7 @@ func promptUserToLogIn(c *DocumentController) {
|
||||
if c.IsAjax() {
|
||||
c.JsonResult(6000, "请重新登录。")
|
||||
} else {
|
||||
c.Redirect(beego.URLFor("AccountController.Login")+ "?url=" + url.PathEscape(conf.BaseUrl+ c.Ctx.Request.URL.RequestURI()), 302)
|
||||
c.Redirect(utils.URLFor("AccountController.Login")+ "?url=" + url.PathEscape(conf.BaseUrl+ c.Ctx.Request.URL.RequestURI()), 302)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -522,7 +522,7 @@ func (c *DocumentController) Upload() {
|
||||
if strings.EqualFold(ext, ".jpg") || strings.EqualFold(ext, ".jpeg") || strings.EqualFold(ext, ".png") || strings.EqualFold(ext, ".gif") {
|
||||
attachment.HttpPath = "/" + strings.Replace(strings.TrimPrefix(filePath, conf.WorkingDirectory), "\\", "/", -1)
|
||||
if strings.HasPrefix(attachment.HttpPath, "//") {
|
||||
attachment.HttpPath = string(attachment.HttpPath[1:])
|
||||
attachment.HttpPath = utils.URLForWithCdnImage(string(attachment.HttpPath[1:]))
|
||||
}
|
||||
|
||||
is_attach = false
|
||||
@@ -537,7 +537,7 @@ func (c *DocumentController) Upload() {
|
||||
}
|
||||
|
||||
if attachment.HttpPath == "" {
|
||||
attachment.HttpPath = c.BaseUrl() + beego.URLFor("DocumentController.DownloadAttachment", ":key", identify, ":attach_id", attachment.AttachmentId)
|
||||
attachment.HttpPath = utils.URLFor("DocumentController.DownloadAttachment", ":key", identify, ":attach_id", attachment.AttachmentId)
|
||||
|
||||
if err := attachment.Update(); err != nil {
|
||||
beego.Error("SaveToFile => ", err)
|
||||
@@ -564,19 +564,19 @@ func (c *DocumentController) DownloadAttachment() {
|
||||
c.Prepare()
|
||||
|
||||
identify := c.Ctx.Input.Param(":key")
|
||||
attach_id, _ := strconv.Atoi(c.Ctx.Input.Param(":attach_id"))
|
||||
attachId, _ := strconv.Atoi(c.Ctx.Input.Param(":attach_id"))
|
||||
token := c.GetString("token")
|
||||
|
||||
member_id := 0
|
||||
memberId := 0
|
||||
|
||||
if c.Member != nil {
|
||||
member_id = c.Member.MemberId
|
||||
memberId = c.Member.MemberId
|
||||
}
|
||||
|
||||
book_id := 0
|
||||
bookId := 0
|
||||
|
||||
// 判断用户是否参与了项目
|
||||
bookResult, err := models.NewBookResult().FindByIdentify(identify, member_id)
|
||||
bookResult, err := models.NewBookResult().FindByIdentify(identify, memberId)
|
||||
|
||||
if err != nil {
|
||||
// 判断项目公开状态
|
||||
@@ -593,13 +593,13 @@ func (c *DocumentController) DownloadAttachment() {
|
||||
}
|
||||
}
|
||||
|
||||
book_id = book.BookId
|
||||
bookId = book.BookId
|
||||
} else {
|
||||
book_id = bookResult.BookId
|
||||
bookId = bookResult.BookId
|
||||
}
|
||||
|
||||
// 查找附件
|
||||
attachment, err := models.NewAttachment().Find(attach_id)
|
||||
attachment, err := models.NewAttachment().Find(attachId)
|
||||
|
||||
if err != nil {
|
||||
beego.Error("DownloadAttachment => ", err)
|
||||
@@ -610,7 +610,7 @@ func (c *DocumentController) DownloadAttachment() {
|
||||
}
|
||||
}
|
||||
|
||||
if attachment.BookId != book_id {
|
||||
if attachment.BookId != bookId {
|
||||
c.Abort("404")
|
||||
}
|
||||
|
||||
@@ -892,7 +892,7 @@ func (c *DocumentController) Export() {
|
||||
}
|
||||
|
||||
if !strings.HasPrefix(bookResult.Cover, "http:://") && !strings.HasPrefix(bookResult.Cover, "https:://") {
|
||||
bookResult.Cover = c.BaseUrl() + bookResult.Cover
|
||||
bookResult.Cover = utils.URLForWithCdnImage(bookResult.Cover)
|
||||
}
|
||||
|
||||
if output == "markdown" {
|
||||
@@ -951,7 +951,7 @@ func (c *DocumentController) QrCode() {
|
||||
c.Abort("404")
|
||||
}
|
||||
|
||||
uri := c.BaseUrl() + beego.URLFor("DocumentController.Index", ":key", identify)
|
||||
uri := utils.URLFor("DocumentController.Index", ":key", identify)
|
||||
code, err := qr.Encode(uri, qr.L, qr.Unicode)
|
||||
if err != nil {
|
||||
beego.Error(err)
|
||||
@@ -1079,7 +1079,7 @@ func (c *DocumentController) History() {
|
||||
c.Data["Document"] = doc
|
||||
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, conf.PageSize, c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
}
|
||||
}
|
||||
|
@@ -1,12 +1,14 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"net/url"
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/lifei6671/mindoc/models"
|
||||
"github.com/lifei6671/mindoc/utils/pagination"
|
||||
"math"
|
||||
"net/url"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/lifei6671/mindoc/conf"
|
||||
"github.com/lifei6671/mindoc/models"
|
||||
"github.com/lifei6671/mindoc/utils"
|
||||
"github.com/lifei6671/mindoc/utils/pagination"
|
||||
)
|
||||
|
||||
type HomeController struct {
|
||||
@@ -18,7 +20,7 @@ func (c *HomeController) Index() {
|
||||
c.TplName = "home/index.tpl"
|
||||
//如果没有开启匿名访问,则跳转到登录页面
|
||||
if !c.EnableAnonymous && c.Member == nil {
|
||||
c.Redirect(beego.URLFor("AccountController.Login") + "?url=" + url.PathEscape(conf.BaseUrl + c.Ctx.Request.URL.RequestURI()), 302)
|
||||
c.Redirect(utils.URLFor("AccountController.Login")+"?url="+url.PathEscape(conf.BaseUrl+c.Ctx.Request.URL.RequestURI()), 302)
|
||||
}
|
||||
pageIndex, _ := c.GetInt("page", 1)
|
||||
pageSize := 18
|
||||
@@ -35,7 +37,7 @@ func (c *HomeController) Index() {
|
||||
c.Abort("500")
|
||||
}
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,pageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, pageSize, c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
|
@@ -1,12 +1,14 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"math"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/astaxie/beego/orm"
|
||||
"github.com/lifei6671/mindoc/conf"
|
||||
"github.com/lifei6671/mindoc/models"
|
||||
"github.com/lifei6671/mindoc/utils"
|
||||
"github.com/lifei6671/mindoc/utils/pagination"
|
||||
"math"
|
||||
)
|
||||
|
||||
type LabelController struct {
|
||||
@@ -18,7 +20,7 @@ func (c *LabelController) Prepare() {
|
||||
|
||||
//如果没有开启你们访问则跳转到登录
|
||||
if !c.EnableAnonymous && c.Member == nil {
|
||||
c.Redirect(beego.URLFor("AccountController.Login"), 302)
|
||||
c.Redirect(utils.URLFor("AccountController.Login"), 302)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -54,7 +56,7 @@ func (c *LabelController) Index() {
|
||||
return
|
||||
}
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, conf.PageSize,c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
@@ -77,7 +79,7 @@ func (c *LabelController) List() {
|
||||
c.ShowErrorPage(50001, err.Error())
|
||||
}
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, conf.PageSize, c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
|
@@ -52,7 +52,7 @@ func (c *ManagerController) Users() {
|
||||
}
|
||||
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize,c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
@@ -292,7 +292,7 @@ func (c *ManagerController) Books() {
|
||||
if totalCount > 0 {
|
||||
//html := utils.GetPagerHtml(c.Ctx.Request.RequestURI, pageIndex, 8, totalCount)
|
||||
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize, c.BaseUrl())
|
||||
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
@@ -352,7 +352,7 @@ func (c *ManagerController) EditBook() {
|
||||
c.JsonResult(0, "ok")
|
||||
}
|
||||
if book.PrivateToken != "" {
|
||||
book.PrivateToken = c.BaseUrl() + beego.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken)
|
||||
book.PrivateToken = utils.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken)
|
||||
}
|
||||
c.Data["Model"] = book
|
||||
}
|
||||
@@ -403,7 +403,7 @@ func (c *ManagerController) CreateToken() {
|
||||
logs.Error("生成阅读令牌失败 => ", err)
|
||||
c.JsonResult(6003, "生成阅读令牌失败")
|
||||
}
|
||||
c.JsonResult(0, "ok", c.BaseUrl()+beego.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken))
|
||||
c.JsonResult(0, "ok", utils.URLFor("DocumentController.Index", ":key", book.Identify, "token", book.PrivateToken))
|
||||
} else {
|
||||
book.PrivateToken = ""
|
||||
if err := book.Update(); err != nil {
|
||||
@@ -572,7 +572,7 @@ func (c *ManagerController) AttachList() {
|
||||
}
|
||||
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, conf.PageSize, c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
@@ -610,7 +610,7 @@ func (c *ManagerController) AttachDetailed() {
|
||||
}
|
||||
|
||||
attach.FilePath = filepath.Join(conf.WorkingDirectory, attach.FilePath)
|
||||
attach.HttpPath = c.BaseUrl() + attach.HttpPath
|
||||
attach.HttpPath = utils.URLForWithCdnImage(attach.HttpPath)
|
||||
|
||||
attach.IsExist = utils.FileExists(attach.FilePath)
|
||||
|
||||
@@ -639,7 +639,7 @@ func (c *ManagerController) AttachDelete() {
|
||||
}
|
||||
|
||||
//标签列表
|
||||
func (c *ManagerController) LabelList(){
|
||||
func (c *ManagerController) LabelList() {
|
||||
c.Prepare()
|
||||
c.TplName = "manager/label_list.tpl"
|
||||
|
||||
@@ -651,7 +651,7 @@ func (c *ManagerController) LabelList(){
|
||||
c.ShowErrorPage(50001, err.Error())
|
||||
}
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request,totalCount,conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, conf.PageSize, c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
|
@@ -21,7 +21,7 @@ func (c *SearchController) Index() {
|
||||
|
||||
//如果没有开启你们访问则跳转到登录
|
||||
if !c.EnableAnonymous && c.Member == nil {
|
||||
c.Redirect(beego.URLFor("AccountController.Login"), 302)
|
||||
c.Redirect(utils.URLFor("AccountController.Login"), 302)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ func (c *SearchController) Index() {
|
||||
return
|
||||
}
|
||||
if totalCount > 0 {
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, conf.PageSize)
|
||||
pager := pagination.NewPagination(c.Ctx.Request, totalCount, conf.PageSize,c.BaseUrl())
|
||||
c.Data["PageHtml"] = pager.HtmlPages()
|
||||
} else {
|
||||
c.Data["PageHtml"] = ""
|
||||
|
Reference in New Issue
Block a user