mirror of
https://github.com/mindoc-org/mindoc.git
synced 2026-02-27 17:03:57 +08:00
实现单页文章功能
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"github.com/lifei6671/mindoc/models"
|
||||
)
|
||||
|
||||
type BlogController struct{
|
||||
BaseController
|
||||
@@ -8,24 +12,93 @@ type BlogController struct{
|
||||
|
||||
func (c *BlogController) Index() {
|
||||
c.Prepare()
|
||||
|
||||
c.TplName = "blog/index.tpl"
|
||||
}
|
||||
|
||||
func (c *BlogController) List() {
|
||||
c.Prepare()
|
||||
c.TplName = "blog/list.tpl"
|
||||
|
||||
}
|
||||
|
||||
//管理后台
|
||||
func (c *BlogController) ManageList() {
|
||||
c.Prepare()
|
||||
c.TplName = "blog/manage_list.tpl"
|
||||
}
|
||||
|
||||
//文章设置
|
||||
func (c *BlogController) ManageSetting() {
|
||||
c.Prepare()
|
||||
c.TplName = "blog/manage_setting.tpl"
|
||||
//如果是post请求
|
||||
if c.Ctx.Input.IsPost() {
|
||||
blogId,_ := c.GetInt("id",0)
|
||||
blogTitle := c.GetString("title")
|
||||
blogIdentify := c.GetString("identify")
|
||||
orderIndex,_ := c.GetInt("order_index",0)
|
||||
blogType,_ := c.GetInt("blog_type",0)
|
||||
documentId,_ := c.GetInt("document_id",0)
|
||||
|
||||
if blogTitle == "" {
|
||||
c.JsonResult(6001,"文章标题不能为空")
|
||||
}
|
||||
if blogType != 0 && blogType != 1 {
|
||||
c.JsonResult(6005,"未知的文章类型")
|
||||
}else if documentId <= 0 && blogType == 1 {
|
||||
c.JsonResult(6006,"请选择链接的文章")
|
||||
}else if blogType == 1 && documentId > 0 && !models.NewDocument().IsExist(documentId){
|
||||
c.JsonResult(6007,"链接的文章不存在")
|
||||
}
|
||||
if strings.Count(blogTitle,"") > 200 {
|
||||
c.JsonResult(6002,"文章标题不能大于200个字符")
|
||||
}
|
||||
var blog *models.Blog
|
||||
var err error
|
||||
//如果文章ID存在,则从数据库中查询文章
|
||||
if blogId > 0 {
|
||||
if c.Member.IsAdministrator() {
|
||||
blog, err = models.NewBlog().Find(blogId)
|
||||
} else {
|
||||
blog, err = models.NewBlog().FindByIdAndMemberId(blogId, c.Member.MemberId)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
c.JsonResult(6003, "文章不存在")
|
||||
}
|
||||
//如果设置了文章标识
|
||||
if blogIdentify != "" {
|
||||
//如果查询到的文章标识存在并且不是当前文章的id
|
||||
if b,err := models.NewBlog().FindByIdentify(blogIdentify); err == nil && b.BlogId != blogId {
|
||||
c.JsonResult(6004,"文章标识已存在")
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//如果设置了文章标识
|
||||
if blogIdentify != "" {
|
||||
if models.NewBlog().IsExist(blogIdentify) {
|
||||
c.JsonResult(6004,"文章标识已存在")
|
||||
}
|
||||
}
|
||||
|
||||
blog = models.NewBlog()
|
||||
blog.MemberId = c.Member.MemberId
|
||||
}
|
||||
|
||||
|
||||
blog.BlogTitle = blogTitle
|
||||
blog.BlogIdentify = blogIdentify
|
||||
blog.OrderIndex = orderIndex
|
||||
blog.BlogType = blogType
|
||||
if blogType == 1 {
|
||||
blog.DocumentId = documentId
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//文章创建或编辑
|
||||
func (c *BlogController) ManageEdit() {
|
||||
c.Prepare()
|
||||
c.TplName = "blog/manage_edit.tpl"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user