Se han modificado 17 ficheros con 268 adiciones y 45 borrados
@ -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" |
|||
} |
Archivo binario no mostrado.
@ -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") |
|||
} |
@ -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 |
|||
} |
@ -0,0 +1,5 @@ |
|||
.blog-root{ |
|||
width: 100%; |
|||
height: 100%; |
|||
margin: 50px 4% 0 4%; |
|||
} |
@ -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; |
|||
} |
|||
} |
|||
|
|||
::-webkit-scrollbar { |
|||
width: 1px; |
|||
height: 0px; |
|||
} |
|||
|
|||
::-webkit-scrollbar-track-piece { |
|||
background-color: rgba(0, 0, 0, 0); |
|||
-webkit-border-radius: 6px; |
|||
} |
|||
|
|||
.cursor{ |
|||
cursor: pointer |
|||
} |
|||
|
@ -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 |
|||
} |
|||
|
@ -0,0 +1,14 @@ |
|||
{{template "header"}} |
|||
<title>博客 - 个人随笔</title> |
|||
<link type="text/css" rel="styleSheet" href="/static/css/blog.css"/> |
|||
</head> |
|||
<body> |
|||
<div class="root-container"> |
|||
{{template "nav" .}} |
|||
<div class="blog-root"> |
|||
<h1>{{.Blog.Title}}</h1> |
|||
|
|||
</div> |
|||
</div> |
|||
</body> |
|||
</html> |
@ -1,9 +1,67 @@ |
|||
{{template "header"}} |
|||
<title>首页 - 个人随笔</title> |
|||
<link type="text/css" rel="styleSheet" href="/static/css/index.css"/> |
|||
</head> |
|||
<body> |
|||
<div class='container'> |
|||
<div class="root-container"> |
|||
{{template "nav" .}} |
|||
</div> |
|||
<div class="home-container"> |
|||
<div class="home-hearder"> |
|||
<div style="flex: 1"> |
|||
<span class="sui-dropdown dropdown-bordered select dropdown-large"> |
|||
<span class="dropdown-inner"> |
|||
<a id="select" role="button" href="javascript:void(0);" data-toggle="dropdown" |
|||
class="dropdown-toggle"> |
|||
<input value="hz" name="city" type="hidden"><i class="caret"></i><span>选择分类</span></a> |
|||
<ul role="menu" aria-labelledby="drop4" class="sui-dropdown-menu"> |
|||
<li role="presentation"><a role="menuitem" tabindex="-1" href="javascript:void(0);" |
|||
value="bj">北京</a></li> |
|||
<li role="presentation"><a role="menuitem" tabindex="-1" href="javascript:void(0);" value="sb">圣彼得堡</a></li> |
|||
<li role="presentation" class="active"><a role="menuitem" tabindex="-1" href="javascript:void(0);" |
|||
value="hz">杭州</a></li> |
|||
</ul> |
|||
</span> |
|||
</span> |
|||
<div class="sui-btn-group "> |
|||
<button class="sui-btn btn-primary btn-large btn-bordered">最新</button> |
|||
<button class="sui-btn btn-primary btn-large btn-bordered">最热</button> |
|||
</div> |
|||
</div> |
|||
<a href="/blog/new" target="_blank" class="sui-btn btn-bordered btn-large nelson-btn">写文章</a> |
|||
</div> |
|||
<div> |
|||
<div class="home-content" style="min-height: 40px;line-height: 40px;color: #888"> |
|||
<div class="home-content-title cursor" style="font-size: 14px"> |
|||
文章标题 |
|||
</div> |
|||
<div style="display: inline-block;width: 260px"> |
|||
<div class="home-content-desc"> |
|||
<span style="width: 60px;font-size: 14px">类型</span> |
|||
<span style="width: 60px"> 用户</span> |
|||
<span style="width: 60px;font-size: 14px">浏览量</span> |
|||
<span style="flex: 1;font-size: 14px">日期</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<hr style="height:1px;border:none;border-top:1px solid lightgray;"/> |
|||
</div> |
|||
{{range .Blogs}} |
|||
<div> |
|||
<div class="home-content"> |
|||
<div class="home-content-title cursor"> |
|||
<a href="/blog/{{.Id}}">{{.Title}}</a> |
|||
</div> |
|||
<div style="display: inline-block;width: 260px"> |
|||
<div class="home-content-desc"> |
|||
<span style="width: 60px;font-size: 14px">{{.CateName}}</span> |
|||
<span style="width: 60px" class="cursor">{{.UserName}}</span> |
|||
<span style="width: 60px;font-size: 14px">2555</span> |
|||
<span style="flex: 1;font-size: 14px">{{.CtimeStr}}</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<hr style="height:1px;border:none;border-top:1px solid #EEE;"/> |
|||
</div> |
|||
{{end}} |
|||
</body> |
|||
</html> |
Cargando…
Referencia en una nueva incidencia