yirenyishi
6 years ago
commit
853086d707
13 changed files with 171 additions and 0 deletions
@ -0,0 +1,3 @@ |
|||
appname = beeblog |
|||
httpport = 8082 |
|||
runmode = dev |
@ -0,0 +1,13 @@ |
|||
package controllers |
|||
|
|||
import ( |
|||
"github.com/astaxie/beego" |
|||
) |
|||
|
|||
type IndexController struct { |
|||
beego.Controller |
|||
} |
|||
|
|||
func (c *IndexController) Get() { |
|||
c.TplName = "index.html" |
|||
} |
@ -0,0 +1,15 @@ |
|||
package controllers |
|||
|
|||
import "github.com/astaxie/beego" |
|||
|
|||
type UserController struct { |
|||
beego.Controller |
|||
} |
|||
|
|||
func (u *UserController) LoginPage() { |
|||
u.Ctx.WriteString("login page") |
|||
} |
|||
|
|||
func (u *UserController) Login() { |
|||
u.Ctx.WriteString("login method") |
|||
} |
Binary file not shown.
@ -0,0 +1,18 @@ |
|||
package main |
|||
|
|||
import ( |
|||
_ "beeblog/routers" |
|||
"github.com/astaxie/beego" |
|||
"beeblog/models" |
|||
"github.com/astaxie/beego/orm" |
|||
) |
|||
|
|||
func init() { |
|||
models.RegistDB() |
|||
} |
|||
func main() { |
|||
orm.Debug = true |
|||
orm.RunSyncdb("default",false,true) |
|||
beego.Run() |
|||
} |
|||
|
@ -0,0 +1,24 @@ |
|||
package models |
|||
|
|||
import ( |
|||
"github.com/Unknwon/com" |
|||
"os" |
|||
"path" |
|||
"github.com/astaxie/beego/orm" |
|||
_ "github.com/mattn/go-sqlite3" |
|||
) |
|||
|
|||
const( |
|||
_DB_NAME = "data/beeblog.db" |
|||
_SQLITE3_DRIVER = "sqlite3" |
|||
) |
|||
|
|||
func RegistDB() { |
|||
if !com.IsExist(_DB_NAME){ |
|||
os.MkdirAll(path.Dir(_DB_NAME),os.ModePerm) |
|||
os.Create(_DB_NAME) |
|||
} |
|||
orm.RegisterModel(new(Category),new(Topic)) |
|||
orm.RegisterDriver(_SQLITE3_DRIVER,orm.DRSqlite) |
|||
orm.RegisterDataBase("default",_SQLITE3_DRIVER,_DB_NAME,10) |
|||
} |
@ -0,0 +1,8 @@ |
|||
package models |
|||
|
|||
type Category struct { |
|||
Id int64 |
|||
Title string |
|||
Views int64 `orm:"index"` |
|||
TopicCount int64 |
|||
} |
@ -0,0 +1,15 @@ |
|||
package models |
|||
|
|||
import "time" |
|||
|
|||
type Topic struct { |
|||
Id int64 |
|||
Uid int64 |
|||
Title string |
|||
Content string `orm:"size(5000)"` |
|||
Attachment string |
|||
Created time.Time `orm:"index"` |
|||
ViewCount int64 `orm:"index"` |
|||
Author string |
|||
ReplayCount int64 |
|||
} |
@ -0,0 +1,13 @@ |
|||
package routers |
|||
|
|||
import ( |
|||
"beeblog/controllers" |
|||
"github.com/astaxie/beego" |
|||
) |
|||
|
|||
func init() { |
|||
beego.Router("/", &controllers.IndexController{}) |
|||
beego.Router("/login", &controllers.UserController{}, "Get:LoginPage") |
|||
beego.Router("/login", &controllers.UserController{}, "post:Login") |
|||
|
|||
} |
@ -0,0 +1 @@ |
|||
function b(a){var c=new WebSocket(a);c.onclose=function(){setTimeout(function(){b(a)},2E3)};c.onmessage=function(){location.reload()}}try{if(window.WebSocket)try{b("ws://localhost:12450/reload")}catch(a){console.error(a)}else console.log("Your browser does not support WebSockets.")}catch(a){console.error("Exception during connecting to Reload:",a)}; |
@ -0,0 +1,39 @@ |
|||
package test |
|||
|
|||
import ( |
|||
"net/http" |
|||
"net/http/httptest" |
|||
"testing" |
|||
"runtime" |
|||
"path/filepath" |
|||
_ "beeblog/routers" |
|||
|
|||
"github.com/astaxie/beego" |
|||
. "github.com/smartystreets/goconvey/convey" |
|||
) |
|||
|
|||
func init() { |
|||
_, file, _, _ := runtime.Caller(1) |
|||
apppath, _ := filepath.Abs(filepath.Dir(filepath.Join(file, ".." + string(filepath.Separator)))) |
|||
beego.TestBeegoInit(apppath) |
|||
} |
|||
|
|||
|
|||
// TestBeego is a sample to run an endpoint test
|
|||
func TestBeego(t *testing.T) { |
|||
r, _ := http.NewRequest("GET", "/", nil) |
|||
w := httptest.NewRecorder() |
|||
beego.BeeApp.Handlers.ServeHTTP(w, r) |
|||
|
|||
beego.Trace("testing", "TestBeego", "Code[%d]\n%s", w.Code, w.Body.String()) |
|||
|
|||
Convey("Subject: Test Station Endpoint\n", t, func() { |
|||
Convey("Status Code Should Be 200", func() { |
|||
So(w.Code, ShouldEqual, 200) |
|||
}) |
|||
Convey("The Result Should Not Be Empty", func() { |
|||
So(w.Body.Len(), ShouldBeGreaterThan, 0) |
|||
}) |
|||
}) |
|||
} |
|||
|
@ -0,0 +1,8 @@ |
|||
{{define "header"}} |
|||
<!DOCTYPE html> |
|||
<html> |
|||
<head> |
|||
<title>Beego</title> |
|||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> |
|||
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> |
|||
{{end}} |
@ -0,0 +1,14 @@ |
|||
{{template "header"}} |
|||
</head> |
|||
<body> |
|||
<div> |
|||
<ul class="nav nav-pills"> |
|||
<li role="presentation" class="active"><a href="/">首页</a></li> |
|||
<li role="presentation"><a href="/">列表</a></li> |
|||
<li role="presentation"><a href="/">分类</a></li> |
|||
</ul> |
|||
</div> |
|||
<script src="/static/js/reload.min.js"></script> |
|||
</body> |
|||
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> |
|||
</html> |
Loading…
Reference in new issue