mindoc/controllers/BlogController.go

105 lines
2.4 KiB
Go
Raw Normal View History

2018-07-13 16:46:40 +08:00
package controllers
2018-07-13 19:04:51 +08:00
import (
"strings"
"github.com/lifei6671/mindoc/models"
)
2018-07-13 16:46:40 +08:00
type BlogController struct{
BaseController
}
func (c *BlogController) Index() {
c.Prepare()
2018-07-13 19:04:51 +08:00
c.TplName = "blog/index.tpl"
2018-07-13 16:46:40 +08:00
}
func (c *BlogController) List() {
c.Prepare()
2018-07-13 19:04:51 +08:00
c.TplName = "blog/list.tpl"
2018-07-13 16:46:40 +08:00
}
//管理后台
func (c *BlogController) ManageList() {
c.Prepare()
2018-07-13 19:04:51 +08:00
c.TplName = "blog/manage_list.tpl"
2018-07-13 16:46:40 +08:00
}
//文章设置
func (c *BlogController) ManageSetting() {
c.Prepare()
2018-07-13 19:04:51 +08:00
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
}
}
2018-07-13 16:46:40 +08:00
}
//文章创建或编辑
func (c *BlogController) ManageEdit() {
c.Prepare()
2018-07-13 19:04:51 +08:00
c.TplName = "blog/manage_edit.tpl"
2018-07-13 16:46:40 +08:00
}