diff --git a/controllers/index.go b/controllers/index.go index a5df817..d644e67 100644 --- a/controllers/index.go +++ b/controllers/index.go @@ -1,6 +1,9 @@ package controllers -import "liteblog/models" +import ( + "liteblog/models" + "liteblog/syserrors" +) type IndexController struct { BaseController @@ -40,6 +43,24 @@ func (c *IndexController) Get() { c.TplName = "index.html" } + +// 显示文章 +// @router /details/:key [get] +func (c *IndexController) GetDetail() { + // 得到页面传过来的key + key := c.Ctx.Input.Param(":key") + // 到数据查询对应key的文章 + note, err := models.QueryNoteByKey(key) + + if err != nil { + c.Abort500(syserrors.NewError("文章不存在", err)) + } + + c.Data["note"] = note + c.TplName = "details.html" + +} + //留言 // @router /message [get] func (c *IndexController) GetMessage() { diff --git a/models/note.go b/models/note.go index 55352f5..cc5650a 100644 --- a/models/note.go +++ b/models/note.go @@ -32,6 +32,11 @@ func QueryNoteCount(title string) (count int, err error) { return count, err } +func QueryNoteByKey(key string) (note Note, err error) { + err = db.Model(&Note{}).First(¬e, "`key` = ?", key).Error + return note, err +} + func SaveNote(n *Note) error { return db.Save(n).Error } \ No newline at end of file diff --git a/views/details.html b/views/details.html index fcbfc0f..d2cdd55 100755 --- a/views/details.html +++ b/views/details.html @@ -4,62 +4,15 @@