diff --git a/conf/app.conf b/conf/app.conf index e1192ea..d2ca2c8 100644 --- a/conf/app.conf +++ b/conf/app.conf @@ -1,6 +1,6 @@ appname = beeblog httpport = 8082 -runmode = prod +runmode = dev sessionon = true sessiongcmaxlifetime = 36000 @@ -9,3 +9,6 @@ EnableGzip = true EnableDocs = true host = aiprose.com + +[dev] +[prod] \ No newline at end of file diff --git a/controllers/BlogController.go b/controllers/BlogController.go index 11c5e36..09fe271 100644 --- a/controllers/BlogController.go +++ b/controllers/BlogController.go @@ -199,3 +199,4 @@ func (this *BlogController) BlogsPage() { this.Data["IsBlog"] = true this.TplName = "blogs.html" } + diff --git a/controllers/IndexController.go b/controllers/IndexController.go index b1e76a5..683e0f4 100644 --- a/controllers/IndexController.go +++ b/controllers/IndexController.go @@ -2,6 +2,7 @@ package controllers import ( "github.com/astaxie/beego" + "beeblog/service" ) type IndexController struct { @@ -9,6 +10,20 @@ type IndexController struct { } func (this *IndexController) Get() { - this.Redirect("blogs",302) + timeBlog, _ := service.IndexBlogs(12, 0) + this.Data["TimeBlog"] = timeBlog + browsBlog, _ := service.IndexBlogs(12, 1) + this.Data["BrowsBlog"] = browsBlog + likeBlog, _ := service.IndexBlogs(12, 2) + this.Data["LikeBlog"] = likeBlog + commentBlog, _ := service.IndexBlogs(12, 3) + this.Data["CommBlog"] = commentBlog + + this.Data["UserId"] = this.GetSession("userid") + this.Data["HeadImg"] = this.GetSession("headimg") + this.Data["NickName"] = this.GetSession("nickname") + this.Data["IsLogin"] = this.GetSession("nickname") != nil + this.Data["IsHome"] = true + this.TplName = "index.html" return } diff --git a/models/Blog.go b/models/Blog.go index beaae52..d26a7dc 100644 --- a/models/Blog.go +++ b/models/Blog.go @@ -13,6 +13,8 @@ type Blog struct { Ctime time.Time `orm:"auto_now_add;type(datetime)"` Utime time.Time `orm:"auto_now_add;type(datetime)"` Browses int64 `orm:"default(0)"` + Likes int64 `orm:"default(0)"` + Comments int64 `orm:"default(0)"` Top int `orm:"default(0)"` Hot int `orm:"default(0)"` Ttime time.Time `orm:"null;type(date)"` @@ -20,10 +22,10 @@ type Blog struct { Delflag int `orm:"default(0)"` CategoryId int64 - User *User `orm:"-"` - UserName string `orm:"-"` - HeadImg string `orm:"-"` - CateName string `orm:"-"` - Lables []*NLabel `orm:"-"` - Comms []*Comment `orm:"-"` + User *User `orm:"-"` + UserName string `orm:"-"` + HeadImg string `orm:"-"` + CateName string `orm:"-"` + Lables []*NLabel `orm:"-"` + Comms []*Comment `orm:"-"` } diff --git a/models/DataInit.go b/models/DataInit.go index 01e4b7b..075fd47 100644 --- a/models/DataInit.go +++ b/models/DataInit.go @@ -24,5 +24,6 @@ func RegistDB() { //orm.RegisterDataBase("default",_SQLITE3_DRIVER,_DB_NAME,10) orm.RegisterModel(new(Attachment),new(User),new(Blog),new(NLabel),new(Note),new(NoteColl),new(Category),new(Like),new(Comment)) - orm.RegisterDataBase("default", "mysql", "root:booszy@tcp(127.0.0.1:3306)/beeblog?charset=utf8&loc=Local", 30) + //orm.RegisterDataBase("default", "mysql", "root:booszy@tcp(127.0.0.1:3306)/beeblog?charset=utf8&loc=Local", 30) + orm.RegisterDataBase("default", "mysql", "root:booszy@tcp(47.98.109.5:3306)/beeblog?charset=utf8&loc=Local", 30) } \ No newline at end of file diff --git a/service/BlogService.go b/service/BlogService.go index bd91519..d03a6e4 100644 --- a/service/BlogService.go +++ b/service/BlogService.go @@ -50,7 +50,7 @@ func TopBlogByUser(uid int64) ([]*models.Blog, error) { func ReadBlog(id int64) (*models.Blog, error) { o := orm.NewOrm() blog := &models.Blog{Id: id} - if err := o.Read(blog);err != nil { + if err := o.Read(blog); err != nil { return nil, err } return blog, nil @@ -74,8 +74,8 @@ func GetBlog(id int64) (*models.Blog, error) { if err == nil { blog.Lables = labels } - comms , berr:= FindCommentByBlog(id) - if berr == nil{ + comms, berr := FindCommentByBlog(id) + if berr == nil { blog.Comms = comms } return blog, nil @@ -161,7 +161,7 @@ func EditBlog(blog *models.Blog, strs []string) error { o.Rollback() return eror } else { - o.QueryTable(models.NLabel{}).Filter("BlogId",blog.Id).Delete() + o.QueryTable(models.NLabel{}).Filter("BlogId", blog.Id).Delete() if strs != nil && len(strs) > 0 { nlabels := make([]*models.NLabel, len(strs)) for i := 0; i < len(strs); i++ { @@ -201,6 +201,26 @@ func MeBlogs(num int, size int, flag int, uid int64) (*utils.Page, error) { return page, nil } +func IndexBlogs(size int, flag int) ([]*models.Blog, error) { + var blogs []*models.Blog + o := orm.NewOrm() + qs := o.QueryTable(&models.Blog{}) + qs = qs.Filter("Delflag", 0) + switch flag { + case 0: + qs = qs.OrderBy("-Ctime") //最新 + case 1: + qs = qs.OrderBy("-Browses") //浏览量 + case 2: + qs = qs.OrderBy("-Likes") // 收藏量 + case 3: + qs = qs.OrderBy("-Comments") // 评论量 + } + qs = qs.Limit(size, 0) + _, err := qs.All(&blogs) + return blogs, err +} + func GetNLabel(id int64) ([]*models.NLabel, error) { var labels []*models.NLabel o := orm.NewOrm() diff --git a/static/css/blogs.css b/static/css/blogs.css new file mode 100644 index 0000000..69d26d5 --- /dev/null +++ b/static/css/blogs.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/index.css b/static/css/index.css index 69d26d5..be9fe34 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -1,50 +1,7 @@ -.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 +.blog-root h5{ + color: #888; } +.blog-root a { + text-decoration: none; +} \ No newline at end of file diff --git a/views/blogs.html b/views/blogs.html index 8d81c7a..e65fe6e 100644 --- a/views/blogs.html +++ b/views/blogs.html @@ -1,7 +1,7 @@ {{template "header"}} 博客列表 - 个人随笔 - +
diff --git a/views/index.html b/views/index.html new file mode 100644 index 0000000..4218159 --- /dev/null +++ b/views/index.html @@ -0,0 +1,50 @@ +{{template "header"}} + +首页 - 个人随笔 + + + +{{template "nav" .}} +
+

Hello, world!

+

个人随笔2.0(golang)版本正式上线

+

Learn more

+
+
+
+
+
最新发布
+ {{range .TimeBlog}} +

{{.Title}}

+ {{end}} +
+
+
流量王者
+ {{range .BrowsBlog}} +

{{.Title}}

+ {{end}} +
+
+
+
+
收藏排行
+ {{range .LikeBlog}} +

{{.Title}}

+ {{end}} +
+
+
人气最旺
+ {{range .CommBlog}} +

{{.Title}}

+ {{end}} +
+
+
+
+ +
+
+{{template "footer"}} +
+ + \ No newline at end of file