Browse Source

session

layui
yirenyishi 6 years ago
parent
commit
892513a641
  1. 32
      controllers/NoteController.go
  2. 6
      controllers/PageController.go
  3. 3
      controllers/UserController.go
  4. BIN
      data/beeblog.db
  5. 2
      main.go
  6. 2
      models/DataInit.go
  7. 2
      models/NoteColl.go
  8. 1
      routers/NoteRouter.go
  9. 4
      service/NoteService.go
  10. 1
      views/iframe/note.html
  11. 64
      views/note.html

32
controllers/NoteController.go

@ -13,15 +13,15 @@ type NoteController struct {
} }
func (this *NoteController) Save() { func (this *NoteController) Save() {
pid,_ := this.GetInt64("pid") pid, _ := this.GetInt64("pid")
fmt.Println("pid",pid) fmt.Println("pid", pid)
title := this.GetString("title") title := this.GetString("title")
uid := this.GetSession("userid").(int64) uid := this.GetSession("userid").(int64)
note := &models.Note{Title: title, Pid: pid, UserId: uid} note := &models.Note{Title: title, Pid: pid, UserId: uid}
err := service.SaveNote(note) err := service.SaveNote(note)
if err == nil { if err == nil {
this.Data["json"] = note this.Data["json"] = note
} else { } else {
this.Data["json"] = models.ReurnError("保存失败") this.Data["json"] = models.ReurnError("保存失败")
} }
@ -35,7 +35,7 @@ func (this *NoteController) SaveNoteColl() {
note := &models.NoteColl{Title: title, UserId: uid} note := &models.NoteColl{Title: title, UserId: uid}
err := service.SaveNoteColl(note) err := service.SaveNoteColl(note)
if err == nil { if err == nil {
this.Data["json"] = note this.Data["json"] = note
} else { } else {
this.Data["json"] = models.ReurnError("保存失败") this.Data["json"] = models.ReurnError("保存失败")
} }
@ -52,3 +52,27 @@ func (this *NoteController) Get() {
} }
this.ServeJSON() this.ServeJSON()
} }
func (this *NoteController) Note() {
uid := this.GetSession("userid")
fmt.Println("userid", uid)
if uid == nil {
this.Redirect("/login", 302)
}
noteColls, err := service.GetNoteColl(uid.(int64))
if err != nil {
if len(noteColls) > 0 {
for i := 0; i < len(noteColls); i++ {
notes, err1 := service.GetNoteByPid(noteColls[i].Id)
if err1 != nil {
noteColls[i].Notes = notes
}
}
}
} else {
noteColls = make([]*models.NoteColl, 0)
}
fmt.Println(noteColls)
this.Data["NoteColls"] = noteColls
this.TplName = "note.html"
}

6
controllers/PageController.go

@ -15,9 +15,3 @@ func (this *PageController) Blog() {
func (this *PageController) IframeNote() { func (this *PageController) IframeNote() {
this.TplName = "iframe/note.html" this.TplName = "iframe/note.html"
} }
// @router /note [get]
func (this *PageController) Note() {
this.Data["IsNote"] = true
this.TplName = "note.html"
}

3
controllers/UserController.go

@ -60,8 +60,7 @@ func (this *UserController) Login() {
if userpwd == user.UserPwd { if userpwd == user.UserPwd {
this.Data["json"] = models.ReurnSuccess("") this.Data["json"] = models.ReurnSuccess("")
this.SetSession("userid", user.Id) this.SetSession("userid", user.Id)
tt := this.GetSession("userid").(int64) fmt.Println(this.CruSession)
fmt.Println(tt > 0)
} else { } else {
this.Data["json"] = models.ReurnError("用户名或密码错误") this.Data["json"] = models.ReurnError("用户名或密码错误")
} }

BIN
data/beeblog.db

Binary file not shown.

2
main.go

@ -16,7 +16,7 @@ func init() {
func main() { func main() {
orm.Debug = true orm.Debug = true
orm.RunSyncdb("default",false,true) orm.RunSyncdb("default",false,true)
beego.BConfig.WebConfig.Session.SessionOn = true
beego.Run() beego.Run()
} }

2
models/DataInit.go

@ -19,7 +19,7 @@ func RegistDB() {
os.Create(_DB_NAME) os.Create(_DB_NAME)
} }
//orm.RegisterModel(new(Attachment),new(Topic)) //orm.RegisterModel(new(Attachment),new(Topic))
orm.RegisterModel(new(Attachment),new(User),new(Blog),new(NLabel),new(Note)) orm.RegisterModel(new(Attachment),new(User),new(Blog),new(NLabel),new(Note),new(NoteColl))
orm.RegisterDriver(_SQLITE3_DRIVER,orm.DRSqlite) orm.RegisterDriver(_SQLITE3_DRIVER,orm.DRSqlite)
orm.RegisterDataBase("default",_SQLITE3_DRIVER,_DB_NAME,10) orm.RegisterDataBase("default",_SQLITE3_DRIVER,_DB_NAME,10)
} }

2
models/NoteColl.go

@ -6,4 +6,6 @@ type NoteColl struct {
Id int64 Id int64
UserId int64 UserId int64
Title string Title string
Notes []*Note `orm:"-"`
} }

1
routers/NoteRouter.go

@ -7,6 +7,7 @@ import (
func init() { func init() {
beego.Router("/note/:id([0-9]+)", &controllers.NoteController{}, "get:Get") beego.Router("/note/:id([0-9]+)", &controllers.NoteController{}, "get:Get")
beego.Router("/note", &controllers.NoteController{}, "get:Note")
beego.Router("/notecoll/save", &controllers.NoteController{}, "post:SaveNoteColl") beego.Router("/notecoll/save", &controllers.NoteController{}, "post:SaveNoteColl")
beego.Router("/note/save", &controllers.NoteController{}, "post:Save") beego.Router("/note/save", &controllers.NoteController{}, "post:Save")
} }

4
service/NoteService.go

@ -26,7 +26,7 @@ func GetNoteByPid(pid int64) ([]*models.Note, error) {
var notes []*models.Note var notes []*models.Note
o := orm.NewOrm() o := orm.NewOrm()
qs := o.QueryTable(models.Note{}) qs := o.QueryTable(models.Note{})
_, err := qs.Filter("Pid", pid).All(notes) _, err := qs.Filter("Pid", pid).All(&notes)
return notes,err return notes,err
} }
@ -44,6 +44,6 @@ func GetNoteColl(uid int64) ([]*models.NoteColl, error) {
var notes []*models.NoteColl var notes []*models.NoteColl
o := orm.NewOrm() o := orm.NewOrm()
qs := o.QueryTable(models.NoteColl{}) qs := o.QueryTable(models.NoteColl{})
_, err := qs.Filter("UserId", uid).All(notes) _, err := qs.Filter("UserId", uid).All(&notes)
return notes,err return notes,err
} }

1
views/iframe/note.html

@ -68,6 +68,7 @@
function (data) { function (data) {
debugger debugger
if (!data.Status) { if (!data.Status) {
parent.addNoteCallback(data)
parent.layer.msg("保存成功", {icon: 6}); parent.layer.msg("保存成功", {icon: 6});
var index = parent.layer.getFrameIndex(window.name); var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index); parent.layer.close(index);

64
views/note.html

@ -47,10 +47,10 @@
style="width: 25px;height: 25px;"> </span></label> style="width: 25px;height: 25px;"> </span></label>
<nav> <nav>
<a href="/" target="_blank">首页</a> <a href="/" target="_blank">首页</a>
<a href="http://sc.chinaz.com/">个人中心</a>
<a href="javascript:void(0)" id="newNote">新增笔记</a> <a href="javascript:void(0)" id="newNote">新增笔记</a>
<a href="javascript:void(0)">Blog</a> <a href="javascript:void(0)" id="newNoteColl">新增文件夹</a>
<a href="javascript:void(0)">Portfolio</a> <a href="javascript:void(0)">删除笔记</a>
<a href="javascript:void(0)">个人中心</a>
<a href="javascript:void(0)">Shortcodes</a> <a href="javascript:void(0)">Shortcodes</a>
</nav> </nav>
</nav> </nav>
@ -76,21 +76,8 @@
<li><a href="javascript:void(0)">Product 4</a></li> <li><a href="javascript:void(0)">Product 4</a></li>
<li><a href="javascript:void(0)">Product 5</a></li> <li><a href="javascript:void(0)">Product 5</a></li>
</ul> </ul>
</li> <!-- item-has-children --> </li>
</ul> <!-- cd-navigation --> </ul>
<ul class="cd-navigation cd-single-item-wrapper">
<li><a href="javascript:void(0)">新增文章</a></li>
</ul> <!-- cd-single-item-wrapper -->
<!-- cd-single-item-wrapper -->
{{/* <div class="cd-navigation socials">
<a class="cd-twitter cd-img-replace" href="javascript:void(0)">Twitter</a>
<a class="cd-github cd-img-replace" href="javascript:void(0)">Git Hub</a>
<a class="cd-facebook cd-img-replace" href="javascript:void(0)">Facebook</a>
<a class="cd-google cd-img-replace" href="javascript:void(0)">Google Plus</a>
</div>*/}}
</nav> </nav>
<script src="/static/js/menu.js"></script> <!-- Resource jQuery --> <script src="/static/js/menu.js"></script> <!-- Resource jQuery -->
@ -107,19 +94,31 @@
document.onkeydown = keyDown; document.onkeydown = keyDown;
function keyDown(e) { function keyDown(e) {
e.preventDefault(); // e.preventDefault();
var currKey = 0, e = e || event || window.event; var currKey = 0, e = e || event || window.event;
currKey = e.keyCode || e.which || e.charCode; currKey = e.keyCode || e.which || e.charCode;
if (currKey == 83 && (e.ctrlKey || e.metaKey)) { if (currKey == 83 && (e.ctrlKey || e.metaKey)) {
layer.msg("ctrl+s") layer.msg("ctrl+s")
return false; return false;
} }
} }
function noteClick(id) { function noteClick(id) {
layer.msg(id) layer.msg(id)
} }
function addNoteCallback(obj) {
var subMenu = $(".sub-menu")
$.each(subMenu, function (index, el) {
if ($(this).attr("value") == obj.Pid) {
var child = '<li><a href="javascript:void(0)" ' + obj.Id + '>' + obj.Title + '</a></li>'
$(".sub-menu").append(child)
return
}
})
}
$(function () { $(function () {
var height = document.documentElement.clientHeight var height = document.documentElement.clientHeight
$(".w-e-text-container").height(height - 40 - 3); $(".w-e-text-container").height(height - 40 - 3);
@ -127,7 +126,7 @@
layer.tips('文章列表点我', '#slide-container', { layer.tips('文章列表点我', '#slide-container', {
tips: [3, '#78BA32'] tips: [3, '#78BA32']
}); });
$("#newNote").click(function () { $("#newNote").click(function () {
layer.open({ layer.open({
type: 2, type: 2,
@ -138,6 +137,31 @@
content: '/iframe/note.html' //iframe的url content: '/iframe/note.html' //iframe的url
}); });
}) })
$("#newNoteColl").click(function () {
layer.prompt({title: '请输入文件夹名称'}, function (val, index) {
if (val.trim().length < 3) {
layer.msg('文件夹名称最低三个字哦', function () {
});
layer.close(index);
return
}
$.post('/notecoll/save', {
title: val.trim()
},
function (data) {
debugger
if (!data.Status) {
parent.layer.msg("保存成功", {icon: 6});
var child = '<li class="item-has-children">\n' +
' <a href="javascript:void(0)">' + data.Titled + '</a>\n' +
' <ul class="sub-menu" value="' + data.Id + '"></ul>\n' +
' </li> '
$(".cd-navigation").append(child)
layer.close(index);
}
}, 'json')
});
})
}) })
</script> </script>
</html> </html>
Loading…
Cancel
Save