From d5a326fb6a3756fc4f90e215d7394ba5711d2086 Mon Sep 17 00:00:00 2001 From: yirenyishi Date: Sat, 17 Nov 2018 18:14:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E5=8F=8A=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=A1=B5=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/BlogController.go | 34 ++++++++++++++++++ controllers/IndexController.go | 5 +++ controllers/UserController.go | 23 +----------- data/beeblog.db | Bin 45056 -> 28672 bytes models/Blog.go | 30 +++++++++------- models/Comment.go | 2 +- models/DataInit.go | 2 +- routers/BlogRouter.go | 11 ++++++ service/BlogService.go | 43 +++++++++++++++++++++++ static/css/blog.css | 5 +++ static/css/common.css | 26 +++++++++++++- static/css/index.css | 50 ++++++++++++++++++++++++++ static/css/reset.css | 4 --- views/T.header.tpl | 1 + views/blog.html | 14 ++++++++ views/index.html | 62 +++++++++++++++++++++++++++++++-- views/map.html | 1 - 17 files changed, 268 insertions(+), 45 deletions(-) create mode 100644 controllers/BlogController.go create mode 100644 routers/BlogRouter.go create mode 100644 service/BlogService.go create mode 100644 static/css/blog.css create mode 100644 static/css/index.css create mode 100644 views/blog.html diff --git a/controllers/BlogController.go b/controllers/BlogController.go new file mode 100644 index 0000000..013a86c --- /dev/null +++ b/controllers/BlogController.go @@ -0,0 +1,34 @@ +package controllers + +import ( + "github.com/astaxie/beego" + "beeblog/models" + "beeblog/service" + "strconv" +) + +type BlogController struct { + beego.Controller +} + +func (this *BlogController) Save() { + blog := &models.Blog{Title: "ELK+logback+kafska+nginx 搭建分布式日志分析平台"} + err := service.SaveBlog(blog) + if (err == nil) { + this.Data["json"] = blog + } else { + this.Data["json"] = models.ReurnError("保存失败") + } + this.ServeJSON() +} + +func (this *BlogController) Get() { + idStr := this.Ctx.Input.Param(":id") + id, _ := strconv.ParseInt(idStr, 10, 64) + blog, err := service.GetBlog(id) + if (err == nil) { + this.Data["Blog"] = blog + } + //this.Data["IsHome"] = true + this.TplName = "blog.html" +} diff --git a/controllers/IndexController.go b/controllers/IndexController.go index 1ca0e6a..787cfb7 100644 --- a/controllers/IndexController.go +++ b/controllers/IndexController.go @@ -2,6 +2,8 @@ package controllers import ( "github.com/astaxie/beego" + "fmt" + "beeblog/service" ) type IndexController struct { @@ -9,6 +11,9 @@ type IndexController struct { } func (c *IndexController) Get() { + blogs,_ := service.FindBlogs() + fmt.Println(blogs) + c.Data["Blogs"] = blogs c.Data["IsHome"] = true c.TplName = "index.html" } diff --git a/controllers/UserController.go b/controllers/UserController.go index d13aa81..133f556 100644 --- a/controllers/UserController.go +++ b/controllers/UserController.go @@ -16,28 +16,7 @@ type UserController struct { } func (u *UserController) LoginPage() { - //o := orm.NewOrm() - // - //category := &models.Category{Title: "slene", Views: 5, TopicCount: 0} - // - //id,err := o.Insert(category) - //fmt.Printf("ID: %d, ERR: %v\n", id, err) - // - //category.Title = "nelson" - //num, err := o.Update(&category) - //fmt.Printf("NUM: %d, ERR: %v\n", num, err) - // - //c := &models.Category{Id:1} - //err := o.Read(c) - //fmt.Printf("ERR: %v\n", err) - //fmt.Println(c.Title) - ////c.Title = "nelson" - ////num, err := o.Update(c) - ////fmt.Printf("NUM: %d, ERR: %v\n", num, err) - //qs := o.QueryTable(&models.Category{}) - //var tests []*models.Category - //qs.Filter("Title","slene") - //qs.All(&tests) + // //for i:=0; i*&Eb_U%?YP@{P3~ZeK41BlwI{CD@8+d=013yJCFYc-CMcAoR+K3C`G+X@h5GpDa47%*SX+EXNp23B^kgnB`N`*b z*;z|VGILWW@8OkVODf7QFHW7jkzZr-Lw?!G=lR*0GV&)s;Fkk3IkZ5^5)@JrOH!dG zXJCk=q~@gMB&Nf3b0z~7r{@<{!d%NG#iiL&&I0yqXCT>*k~Env9!2aab`j zvQF0JQsZU=1|bJ17-N_x$8o7JvP^E~GM~JIFNnEGiE;8?E(J!W&G)z%85wyuGbS(# zurcy~W8nX`S14kn> zFR#Bp2M5p=4h~lzZ*8E4q{QTG?d-&~;_O82y!6bx3WaAA);`_6>uE>Z(;dxE_w+xT zzVzw-=|JwYc@v)Q-2AkEgQ1aup@puYp{}91f`NsViMf@5iJpbAp}D1*nYMv}m4N}e rf_e-UjXX>s2QgB`LFm?58Jg&sm>LsB-3Ojw=GO#k-_-Dw$!OfW->`C`0hfeQH$a$}MX2za6J44P*+0Ayti)wb)f$<&HacNIw_xNF{wh~j5 zCM%2Gnlx1VcepmZpJv2C5xPsb?H0ivaUv2XAU^&d^CDseZPFdSQt4tvQH0knL3U7Vtmn%|A61-ODN~R;ClV{-J5fEv*D43SCh`-mOYJILz*nh{x81Y|B_)j z?0MLpJ{n6q69EY+wtUxULzvtg41xRBgqu3{}G=)5MA@ zD@H+43W_EvrLm$urpcq4TrQS%b3~TMWVy}6vh#`V9Cq<3T+)eV*p6T!Ss{j@ zo0eQQZGv@dnJTt1Hl31H$8}kCOieR!sif;=O*VB)U!hwXQ_G`e8K7+;(XKVvV@~ diff --git a/models/Blog.go b/models/Blog.go index 997db41..90eee9a 100644 --- a/models/Blog.go +++ b/models/Blog.go @@ -3,18 +3,22 @@ package models import "time" type Blog struct { - Id int64 - UserId int64 - Title string - BlogValue string `orm:"size(5000)"` - BlogHtml string `orm:"size(5000)"` - Ctime time.Time `orm:"datetime"` - Utime time.Time `orm:"datetime"` - Browses int64 `orm:"datetime"` - Top int - Hot int - Ttime time.Time `orm:"datetime"` - Htime time.Time `orm:"datetime"` - Delflag int + Id int64 + UserId int64 + Title string + BlogValue string `orm:"type(text)"` + BlogHtml string `orm:"type(text)"` + Ctime time.Time `orm:"auto_now_add;type(datetime)"` + Utime time.Time `orm:"auto_now_add;type(datetime)"` + Browses int64 `orm:"default(0)"` + Top int `orm:"default(0)"` + Hot int `orm:"default(0)"` + Ttime time.Time `orm:"null;type(date)"` + Htime time.Time `orm:"null;type(date)"` + Delflag int `orm:"default(0)"` CategoryId int64 + + CtimeStr string `orm:"-"` + UserName string `orm:"-"` + CateName string `orm:"-"` } diff --git a/models/Comment.go b/models/Comment.go index cadbf24..c0fdda4 100644 --- a/models/Comment.go +++ b/models/Comment.go @@ -9,5 +9,5 @@ type Comment struct { BlogId int64 Ctime time.Time `orm:"datetime"` Pid int64 - ComVal string `orm:"size(2000)"` + ComVal string `orm:"type(text)"` } diff --git a/models/DataInit.go b/models/DataInit.go index 2144fef..fc41286 100644 --- a/models/DataInit.go +++ b/models/DataInit.go @@ -19,7 +19,7 @@ func RegistDB() { os.Create(_DB_NAME) } //orm.RegisterModel(new(Attachment),new(Topic)) - orm.RegisterModel(new(Attachment),new(User)) + orm.RegisterModel(new(Attachment),new(User),new(Blog)) orm.RegisterDriver(_SQLITE3_DRIVER,orm.DRSqlite) orm.RegisterDataBase("default",_SQLITE3_DRIVER,_DB_NAME,10) } \ No newline at end of file diff --git a/routers/BlogRouter.go b/routers/BlogRouter.go new file mode 100644 index 0000000..004335d --- /dev/null +++ b/routers/BlogRouter.go @@ -0,0 +1,11 @@ +package routers + +import ( + "github.com/astaxie/beego" + "beeblog/controllers" +) + +func init() { + beego.Router("/blog/save", &controllers.BlogController{}, "get:Save") + beego.Router("/blog/:id([0-9]+)", &controllers.BlogController{}, "get:Get") +} diff --git a/service/BlogService.go b/service/BlogService.go new file mode 100644 index 0000000..d64c39f --- /dev/null +++ b/service/BlogService.go @@ -0,0 +1,43 @@ +package service + +import ( + "github.com/astaxie/beego/orm" + "beeblog/models" +) + +type BlogService struct { +} + +func GetBlog(id int64) (*models.Blog, error) { + o := orm.NewOrm() + blog := &models.Blog{Id:id} + err := o.Read(blog) + if err != nil { + return nil, err + } + return blog, nil +} + + +func FindBlogs() ([]*models.Blog, error) { + o := orm.NewOrm() + qs := o.QueryTable(&models.Blog{}) + var blogs []*models.Blog + _, err := qs.Filter("Delflag", 0).All(&blogs) + if err != nil { + return nil, err + } + return blogs, nil +} + +func SaveBlog(blog *models.Blog) error { + o := orm.NewOrm() + id, eror := o.Insert(blog) + if eror != nil { + return eror + } else { + blog.Id = id + o.Commit() + } + return nil +} diff --git a/static/css/blog.css b/static/css/blog.css new file mode 100644 index 0000000..3afc186 --- /dev/null +++ b/static/css/blog.css @@ -0,0 +1,5 @@ +.blog-root{ + width: 100%; + height: 100%; + margin: 50px 4% 0 4%; +} \ No newline at end of file diff --git a/static/css/common.css b/static/css/common.css index 16cd2b9..2904990 100644 --- a/static/css/common.css +++ b/static/css/common.css @@ -1,9 +1,33 @@ +.root-container{ + position: absolute; + height: 100%; + width: 100%; + max-width: 100%; +} + .nav-container{ + max-height: 40px; position: fixed; width: 100%; z-index: 1000; + left: 0; + top: 0; } .nav-container .sui-navbar .navbar-inner{ padding: 0 50px; -} \ No newline at end of file +} + +::-webkit-scrollbar { + width: 1px; + height: 0px; +} + +::-webkit-scrollbar-track-piece { + background-color: rgba(0, 0, 0, 0); + -webkit-border-radius: 6px; +} + +.cursor{ + cursor: pointer +} diff --git a/static/css/index.css b/static/css/index.css new file mode 100644 index 0000000..69d26d5 --- /dev/null +++ b/static/css/index.css @@ -0,0 +1,50 @@ +.home-container{ + height: 100%; + margin: 50px 4% 0 4%; +} +.home-container hr{ + margin: 0; +} + +.home-hearder { + margin: 10px 0; + display: flex; + height: 30px; + line-height: 30px; +} + +.nelson-btn{ + color: #ec6149 !important; + border-radius: 15px; + border: 1px solid #bbb !important; +} + +.nelson-btn:hover{ + background: #fff !important; + color: #ec6149 !important; + border-radius: 15px; + border: 1px solid #ec6149 !important; +} + +.home-content{ + display: flex; + min-height: 50px; + line-height: 50px; +} + +.home-content-title{ + display: inline-block; + font-size: 16px; + /*width: 65%;*/ + flex: 1; +} + +.home-content-desc{ + display: flex +} + +.home-content-desc span{ + display: inline-block; + text-align: center +} + diff --git a/static/css/reset.css b/static/css/reset.css index 7b3195c..40b3ce4 100644 --- a/static/css/reset.css +++ b/static/css/reset.css @@ -87,7 +87,3 @@ body { -webkit-text-size-adjust: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } - -.cursor{ - cursor: pointer -} diff --git a/views/T.header.tpl b/views/T.header.tpl index 68465eb..2fcf35d 100644 --- a/views/T.header.tpl +++ b/views/T.header.tpl @@ -9,4 +9,5 @@ + {{end}} \ No newline at end of file diff --git a/views/blog.html b/views/blog.html new file mode 100644 index 0000000..fce9ca4 --- /dev/null +++ b/views/blog.html @@ -0,0 +1,14 @@ +{{template "header"}} +博客 - 个人随笔 + + + +
+{{template "nav" .}} +
+

{{.Blog.Title}}

+ +
+
+ + \ No newline at end of file diff --git a/views/index.html b/views/index.html index 63a0a2c..f891893 100644 --- a/views/index.html +++ b/views/index.html @@ -1,9 +1,67 @@ {{template "header"}} 首页 - 个人随笔 + -
+
{{template "nav" .}} -
+
+
+
+ + + + 选择分类 + + + +
+ + +
+
+ 写文章 +
+
+
+
+ 文章标题 +
+
+
+ 类型 + 用户 + 浏览量 + 日期 +
+
+
+
+
+ {{range .Blogs}} +
+
+ +
+
+ {{.CateName}} + {{.UserName}} + 2555 + {{.CtimeStr}} +
+
+
+
+
+ {{end}} \ No newline at end of file diff --git a/views/map.html b/views/map.html index c40f4bd..4bf9e0d 100644 --- a/views/map.html +++ b/views/map.html @@ -3,7 +3,6 @@ -