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
|
|
|
|
}
|