Browse Source

个人资料

layui
yirenyishi 6 years ago
parent
commit
bec7f51084
  1. 8
      controllers/BlogController.go
  2. 18
      controllers/PageController.go
  3. 87
      controllers/UserController.go
  4. BIN
      data/beeblog.db
  5. 22
      models/DataInit.go
  6. 2
      models/Like.go
  7. 12
      models/User.go
  8. 3
      routers/UserRouter.go
  9. 7
      service/BlogService.go
  10. 44
      service/LikeService.go
  11. 4
      service/UserService.go
  12. 5
      static/css/common.css
  13. 6
      static/css/me.css
  14. 6
      views/blog.html
  15. 125
      views/iframe/user.html
  16. 88
      views/uinfo.html
  17. 37
      views/ulike.html

8
controllers/BlogController.go

@ -5,7 +5,6 @@ import (
"beeblog/service" "beeblog/service"
"github.com/astaxie/beego" "github.com/astaxie/beego"
"strconv" "strconv"
"fmt"
) )
type BlogController struct { type BlogController struct {
@ -44,8 +43,7 @@ func (this *BlogController) Get() {
this.Redirect("/500", 302) this.Redirect("/500", 302)
return return
} }
uid := this.GetSession("userid") if uid := this.GetSession("userid"); uid != nil {
if uid != nil {
if blog.UserId == uid.(int64) { if blog.UserId == uid.(int64) {
this.Data["IsAuthor"] = true this.Data["IsAuthor"] = true
} }
@ -53,6 +51,9 @@ func (this *BlogController) Get() {
this.Data["IsLike"] = flag this.Data["IsLike"] = flag
} }
} }
if blogs, err := service.TopBlogByUser(blog.UserId); err == nil {
this.Data["Top"] = blogs
}
this.Data["Blog"] = blog this.Data["Blog"] = blog
this.Data["NickName"] = this.GetSession("nickname") this.Data["NickName"] = this.GetSession("nickname")
this.Data["IsLogin"] = this.GetSession("nickname") != nil this.Data["IsLogin"] = this.GetSession("nickname") != nil
@ -126,7 +127,6 @@ func (this *BlogController) BlogsPage() {
if cat <= 0 { if cat <= 0 {
cat = -1 cat = -1
} }
fmt.Println("nelson page", num, size, cat)
pages, err := service.FindBlogs(num, size, cat, flag) pages, err := service.FindBlogs(num, size, cat, flag)
if err != nil { if err != nil {
this.Redirect("/500", 302) this.Redirect("/500", 302)

18
controllers/PageController.go

@ -3,6 +3,7 @@ package controllers
import ( import (
"github.com/astaxie/beego" "github.com/astaxie/beego"
"beeblog/service" "beeblog/service"
"beeblog/models"
) )
type PageController struct { type PageController struct {
@ -20,6 +21,23 @@ func (this *PageController) Blog() {
this.TplName = "iframe/blog.html" this.TplName = "iframe/blog.html"
} }
// @router /iframe/user [get]
func (this *PageController) IframeUser() {
uid := this.GetSession("userid")
if uid == nil {
this.Data["IsLogin"] = false
} else {
this.Data["IsLogin"] = true
if user, err := service.GetUser(uid.(int64)); err == nil {
this.Data["User"] = user
} else {
this.Data["User"] = &models.User{Id: uid.(int64)}
}
}
this.TplName = "iframe/user.html"
return
}
// @router /iframe/note [get] // @router /iframe/note [get]
func (this *PageController) IframeNote() { func (this *PageController) IframeNote() {
this.TplName = "iframe/note.html" this.TplName = "iframe/note.html"

87
controllers/UserController.go

@ -36,17 +36,13 @@ func (this *UserController) PersonBlog() {
flag, _ := this.GetInt("flag") flag, _ := this.GetInt("flag")
page, err := service.MeBlogs(num, size, flag, uid.(int64)) page, err := service.MeBlogs(num, size, flag, uid.(int64))
if err != nil { if err != nil {
if uid == nil { this.Redirect("/500", 302)
this.Redirect("/500", 302) return
return
}
} }
user, uerr := service.GetUser(uid.(int64)) user, uerr := service.GetUser(uid.(int64))
if uerr != nil { if uerr != nil {
if uid == nil { this.Redirect("/500", 302)
this.Redirect("/500", 302) return
return
}
} }
this.Data["NickName"] = this.GetSession("nickname") this.Data["NickName"] = this.GetSession("nickname")
this.Data["IsLogin"] = this.GetSession("nickname") != nil this.Data["IsLogin"] = this.GetSession("nickname") != nil
@ -75,10 +71,8 @@ func (this *UserController) PersonNote() {
notColl = make([]*models.NoteColl, 0) notColl = make([]*models.NoteColl, 0)
} }
if err != nil { if err != nil {
if uid == nil { this.Redirect("/500", 302)
this.Redirect("/500", 302) return
return
}
} }
user, uerr := service.GetUser(uid.(int64)) user, uerr := service.GetUser(uid.(int64))
if uerr != nil { if uerr != nil {
@ -106,13 +100,10 @@ func (this *UserController) PersonLike() {
if num <= 0 { if num <= 0 {
num = 1 num = 1
} }
flag, _ := this.GetInt("flag") page, err := service.MeLikes(num, size, uid.(int64))
page, err := service.MeBlogs(num, size, flag, uid.(int64))
if err != nil { if err != nil {
if uid == nil { this.Redirect("/500", 302)
this.Redirect("/500", 302) return
return
}
} }
user, uerr := service.GetUser(uid.(int64)) user, uerr := service.GetUser(uid.(int64))
if uerr != nil { if uerr != nil {
@ -121,11 +112,65 @@ func (this *UserController) PersonLike() {
return return
} }
} }
this.Data["NickName"] = this.GetSession("nickname")
this.Data["IsLogin"] = this.GetSession("nickname") != nil
this.Data["Page"] = page this.Data["Page"] = page
this.Data["IsMeBlog"] = true this.Data["IsMeLike"] = true
this.Data["Flag"] = 0
this.Data["User"] = user this.Data["User"] = user
this.TplName = "ublogs.html" this.TplName = "ulike.html"
}
func (this *UserController) PersonInfo() {
uid := this.GetSession("userid")
if uid == nil {
this.Redirect("/login", 302)
return
}
user, err := service.GetUser(uid.(int64))
if err != nil {
this.Redirect("/500", 302)
return
}
this.Data["NickName"] = this.GetSession("nickname")
this.Data["IsLogin"] = this.GetSession("nickname") != nil
this.Data["IsMeInfo"] = true
this.Data["User"] = user
this.TplName = "uinfo.html"
}
func (this *UserController) Edit() {
uid := this.GetSession("userid")
if uid == nil {
models.ReurnError(401, "")
this.ServeJSON()
return
}
user, err := service.GetUser(uid.(int64))
if err != nil {
this.Data["json"] = models.ReurnError(500, "")
this.ServeJSON()
return
}
birthday := this.GetString("birthday")
if birthday != "" {
birthday += " 00:00:00"
if localTime, errt := time.ParseInLocation("2006-01-02 15:04:05", birthday, time.Local); errt == nil {
user.Birthday = localTime
}
}
user.NickName = this.GetString("nickName")
user.Email = this.GetString("email")
user.Mobile = this.GetString("mobile")
user.QQ = this.GetString("qqnum")
user.Sex, _ = this.GetInt("catory")
user.DescInfo = this.GetString("mdesc")
if _,err :=service.EditUser(user); err !=nil{
this.Data["json"] = models.ReurnError(500, "")
}else{
this.Data["json"] = models.ReurnSuccess("")
}
this.ServeJSON()
return
} }
func (this *UserController) Login() { func (this *UserController) Login() {

BIN
data/beeblog.db

Binary file not shown.

22
models/DataInit.go

@ -1,11 +1,12 @@
package models package models
import ( import (
"github.com/Unknwon/com" //"github.com/Unknwon/com"
"os" //"os"
"path" //"path"
"github.com/astaxie/beego/orm" "github.com/astaxie/beego/orm"
_ "github.com/mattn/go-sqlite3" //_ "github.com/mattn/go-sqlite3"
_ "github.com/go-sql-driver/mysql"
) )
const( const(
@ -14,12 +15,13 @@ const(
) )
func RegistDB() { func RegistDB() {
if !com.IsExist(_DB_NAME){ //if !com.IsExist(_DB_NAME){
os.MkdirAll(path.Dir(_DB_NAME),os.ModePerm) // os.MkdirAll(path.Dir(_DB_NAME),os.ModePerm)
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),new(NoteColl),new(Category),new(Like)) orm.RegisterModel(new(Attachment),new(User),new(Blog),new(NLabel),new(Note),new(NoteColl),new(Category),new(Like))
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)
orm.RegisterDataBase("default", "mysql", "root:booszy@tcp(127.0.0.1:3306)/beeblog?charset=utf8&loc=Local", 30)
} }

2
models/Like.go

@ -8,5 +8,5 @@ type Like struct {
BlogId int64 BlogId int64
Ltime time.Time `orm:"auto_now_add;type(datetime)"` Ltime time.Time `orm:"auto_now_add;type(datetime)"`
Note Note `orm:"-"` Blog *Blog `orm:"-"`
} }

12
models/User.go

@ -9,17 +9,17 @@ type User struct {
UserPwd string UserPwd string
Salt string Salt string
Headimg string Headimg string
Birthday time.Time `orm:"null;type(date)"` Birthday time.Time `orm:"auto_now_add;type(datetime)"`
Email string Email string
Mobile string Mobile string
QQ string QQ string
HomeUrl string HomeUrl string
Sex int Sex int `orm:"default(1)"`
DescInfo string DescInfo string
Ctime time.Time `orm:"auto_now_add;type(datetime)"` Ctime time.Time `orm:"auto_now_add;type(datetime)"`
BlogCount int BlogCount int `orm:"default(0)"`
BlogBrowes int BlogBrowes int `orm:"default(0)"`
BlogComment int BlogComment int `orm:"default(0)"`
BlogLike int BlogLike int `orm:"default(0)"`
} }

3
routers/UserRouter.go

@ -11,10 +11,13 @@ func init() {
beego.Router("/login", &controllers.UserController{}, "post:Login") beego.Router("/login", &controllers.UserController{}, "post:Login")
beego.Router("/regist", &controllers.UserController{}, "post:Regist") beego.Router("/regist", &controllers.UserController{}, "post:Regist")
beego.Router("/regist", &controllers.UserController{}, "get:RegistPage") beego.Router("/regist", &controllers.UserController{}, "get:RegistPage")
beego.Router("/user/edit", &controllers.UserController{}, "post:Edit")
beego.Router("/me/blog", &controllers.UserController{}, "get:PersonBlog") beego.Router("/me/blog", &controllers.UserController{}, "get:PersonBlog")
beego.Router("/me/note", &controllers.UserController{}, "get:PersonNote") beego.Router("/me/note", &controllers.UserController{}, "get:PersonNote")
beego.Router("/me/like", &controllers.UserController{}, "get:PersonLike")
beego.Router("/me/info", &controllers.UserController{}, "get:PersonInfo")
} }

7
service/BlogService.go

@ -41,6 +41,13 @@ func EditBlogBrows(id int64) {
} }
} }
func TopBlogByUser(uid int64) ([]*models.Blog, error) {
o := orm.NewOrm()
var blogs []*models.Blog
o.QueryTable(models.Blog{}).Filter("UserId",uid).Limit(12,0).OrderBy("-Browses").All(&blogs)
return blogs, nil
}
func GetBlog(id int64) (*models.Blog, error) { func GetBlog(id int64) (*models.Blog, error) {
o := orm.NewOrm() o := orm.NewOrm()
blog := &models.Blog{Id: id} blog := &models.Blog{Id: id}

44
service/LikeService.go

@ -4,26 +4,62 @@ import (
"beeblog/models" "beeblog/models"
"github.com/astaxie/beego/orm" "github.com/astaxie/beego/orm"
"fmt" "fmt"
"beeblog/utils"
) )
func SaveLike(like *models.Like) (int64, error) { func SaveLike(like *models.Like) (int64, error) {
return orm.NewOrm().Insert(like) return orm.NewOrm().Insert(like)
} }
func DelLike(like *models.Like) (int64, error) { func DelLike(like *models.Like) (int64, error) {
return orm.NewOrm().QueryTable(models.Like{}).Filter("BlogId",like.BlogId).Filter("UserId", like.UserId).Delete() return orm.NewOrm().QueryTable(models.Like{}).Filter("BlogId", like.BlogId).Filter("UserId", like.UserId).Delete()
} }
func IsLike(bid int64, uid int64) (bool, error) { func IsLike(bid int64, uid int64) (bool, error) {
totalCount, err := orm.NewOrm().QueryTable(&models.Like{}).Filter("BlogId", bid).Filter("UserId", uid).Count() totalCount, err := orm.NewOrm().QueryTable(&models.Like{}).Filter("BlogId", bid).Filter("UserId", uid).Count()
if err == nil { if err == nil {
fmt.Println(totalCount,"like count") fmt.Println(totalCount, "like count")
if totalCount > 0 { if totalCount > 0 {
return true, nil return true, nil
} else { } else {
return false, nil return false, nil
} }
}else{ } else {
fmt.Println(err) fmt.Println(err)
return false,err return false, err
} }
} }
func MeLikes(num int, size int, uid int64) (*utils.Page, error) {
page, err := countLike(num, size, uid)
if err != nil {
return nil, err
}
var likes []*models.Like
o := orm.NewOrm()
qs := o.QueryTable(&models.Like{})
qs = qs.Filter("UserId", uid)
qs = qs.Limit(size, (page.PageNo-1)*size)
if _, err = qs.All(&likes); err != nil {
return nil, err
}
if len(likes) > 0 {
for i := 0; i < len(likes); i++ {
blog := &models.Blog{Id: likes[i].BlogId}
if err := o.Read(blog); err == nil {
likes[i].Blog = blog
}
}
}
page.List = likes
return page, nil
}
func countLike(num int, size int, uid int64) (*utils.Page, error) {
o := orm.NewOrm()
qs := o.QueryTable(&models.Like{})
totalCount, err := qs.Filter("UserId", uid).Count()
if err != nil {
return nil, err
}
return utils.PageUtil(totalCount, num, size), nil
}

4
service/UserService.go

@ -62,3 +62,7 @@ func CountLike(uid int64) {
o.Raw("UPDATE `user` SET `blog_like` = (select count(id) from like where user_id = ?1) WHERE `id` = ?2 ", uid, uid).QueryRow(&browses) o.Raw("UPDATE `user` SET `blog_like` = (select count(id) from like where user_id = ?1) WHERE `id` = ?2 ", uid, uid).QueryRow(&browses)
return return
} }
func EditUser(user *models.User) (int64, error){
return orm.NewOrm().Update(user)
}

5
static/css/common.css

@ -13,6 +13,11 @@ body {
margin-top: 2px; margin-top: 2px;
} }
.img-circle-large{
width: 110px;
height: 110px;
}
.root-container { .root-container {
position: absolute; position: absolute;
height: 100%; height: 100%;

6
static/css/me.css

@ -64,4 +64,10 @@
width: 100%; width: 100%;
height: 110px; height: 110px;
padding: 0 4%; padding: 0 4%;
}
.info-header{
flex: 1;
}
.info-header span{
margin-right: 6px;
} }

6
views/blog.html

@ -32,6 +32,12 @@
</div> </div>
</div> </div>
<hr style="height:1px;border:none;border-top:1px solid #EEE;margin: 6px;"/> <hr style="height:1px;border:none;border-top:1px solid #EEE;margin: 6px;"/>
{{range .Top}}
<div>
<a href=""><p style="max-width:245px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">{{.Title}}</p></a>
</div>
{{end}}
</div> </div>
<div class="blog-root"> <div class="blog-root">
<h1 style="text-align: center">{{.Blog.Title}}</h1> <h1 style="text-align: center">{{.Blog.Title}}</h1>

125
views/iframe/user.html

@ -0,0 +1,125 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="个人随笔是一个面向IT技术人员,提供个人平时工作总结和在线记录学习笔记,个人技术博客,在线云笔记,码农笔录,最新的技术博客,www.aiprose.com">
<meta name="keywords"
content="个人随笔,博客,个人博客,个人笔记,技术博客,免费云笔记,云笔记,随笔,IT博客,谷歌地图,码农笔录,www.aiprose.com,aiprose.com,aiprose">
<link rel="stylesheet" href="//g.alicdn.com/sui/sui3/0.0.18/css/sui.min.css">
<script type="text/javascript" src="//g.alicdn.com/sj/lib/jquery/dist/jquery.min.js"></script>
{{/*<script type="text/javascript" src="/static/js/aljquery.js"></script>*/}}
<script type="text/javascript" src="/static/js/sui.js"></script>
<script type="text/javascript" src="/static/js/layer.js"></script>
<title>首页 - 个人随笔</title>
<style>
.common {
margin: 0 0 3px 0;
}
.common label {
width: 42px;
}
.common input {
width: 150px;
height: 26px;
border-radius: 5px;
border: 1px solid #ddd;
}
</style>
</head>
<body>
<div style="margin: 20px 35px;">
<div class="common">
<label>生日:</label>
<input type="text" id="birthday" class="form-control" style="display: inline-block" placeholder="输入日期"
data-toggle="datepicker" value='{{.User.Birthday.Format "2006-01-02"}}'
data-date-start-date='1969-12-12'/>
</div>
<div class="common">
<label>昵称:</label>
<input id="nickName" value="{{.User.NickName}}">
</div>
<div class="common">
<label>邮箱:</label>
<input type="email" id="email" value="{{.User.Email}}">
</div>
<div class="common">
<label>手机:</label>
<input type="number" id="mobile" value="{{.User.Mobile}}">
</div>
<div class="common">
<label>Q Q:</label>
<input type="number" id="qqnum" value="{{.User.QQ}}">
</div>
<div class="common">
<label>性别:</label>
<select class="form-control " style="width: 150px;display: inline-block;height: 26px" id="catory">
<option value="1"></option>
<option value="0"></option>
</select>
</div>
<div class="common">
<label>简介:</label>
<textarea class="form-control" id="mdesc" rows="3"></textarea>
</div>
<div class="common" style="text-align: end;margin-top: 20px">
<button type="button" class="btn btn-xl" id="cancelBtn">取消</button>
<button type="button" class="btn btn-primary btn-xl" id="saveBtn">保存</button>
</div>
</div>
</body>
<script>
$(function () {
$("#mdesc").val("{{.User.DescInfo}}")
if(!{{.IsLogin}}){
parent.location.href = "/login"
}
$("#saveBtn").click(function () {
var obj = {}
obj.birthday = $("#birthday").val()
obj.nickName = $("#nickName").val()
obj.email = $("#email").val()
if (obj.email && obj.email.trim().length != 0) {
reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if (!reg.test(obj.email)) {
layer.msg('邮箱格式不正确', function () {
});
return
}
}
obj.mobile = $("#mobile").val()
if (obj.mobile && obj.mobile.trim() != "") {
if (obj.mobile.trim().length != 11) {
layer.msg('手机号格式不对', function () {
});
return
}
}
obj.qqnum = $("#qqnum").val()
obj.catory = $("#catory").val()
obj.mdesc = $("#mdesc").val()
$.post('/user/edit', obj,
function (data) {
if (data.Status == 0) {
parent.layer.msg("保存成功", {icon: 6});
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
parent.refresh()
} else if (data.Status == 401) {
parent.location.href = "/login"
parent.layer.close(index);
} else {
layer.msg("服务器异常", {icon: 5});
}
}, 'json')
})
$("#cancelBtn").click(function () {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
})
})
</script>
</html>

88
views/uinfo.html

@ -6,44 +6,70 @@
<div class="root-container"> <div class="root-container">
{{template "nav" .}} {{template "nav" .}}
{{template "memenu" .}} {{template "memenu" .}}
<div class="me-blog-root"> <div class="me-blog-root">
<div class="me-blog-list"> <div class="me-blog-list">
{{range .Page.List}} <ol class="breadcrumb">
<p><a href="/blog/{{.Id}}">{{.Title}}</a></p> <li>个人中心</li>
<div> <li>我的资料</li>
<em>发布时间:{{.Ctime.Format "2006/01/02"}}</em> <li class="active">个人信息</li>
<em>浏览量:{{.Browses}}</em> </ol>
<span style="width: 35px;margin-left: 30px;"><a href="" style="color: #F84822">删除</a></span> <div style="display: flex">
<span style="width: 35px;margin-left: 10px;"><a href="" style="color: #F84822">编辑</a></span> <div style="width: 128px">
</div> <img src="/static/img/2.png" alt="头像" class="img-circle img-circle-large">
<hr style="height:1px;border:none;border-top:1px solid #EEE;margin: 6px;"/> </div>
{{end}} <div class="info-header">
<div style="text-align: center"> <div style="display: flex">
<nav> <p style="flex: 1;color: #888">ID: {{.User.UserName}}</p>
<div class="pagination pagination-lg"> <p><a href="" style="text-decoration: none">个人主页 ></a></p>
<ul> </div>
{{if .Page.FirstPage}} <div>
{{else}} <span>博客 {{.User.BlogCount}}</span>
<li class="prev"> <span>浏览量 {{.User.BlogBrowes}}</span>
<a href="/me/blog?num={{ .Page.PageNo | NAdd -1}}&flag={{.Flag}}">&laquo;</a> <span>博客 {{.User.BlogCount}}</span>
</li> <span>博客 {{.User.BlogCount}}</span>
{{end}}
<li class="active"><a href="javascript:void(0)">{{.Page.PageNo}}</a></li>
{{if .Page.LastPage}}
{{else}}
<li class="next">
<a href="/me/blog?num={{ .Page.PageNo | NAdd +1}}&flag={{.Flag}}">&raquo;</a>
</li>
{{end}}
</ul>
</div> </div>
</nav> <hr style="height:1px;border:none;border-top:1px solid #EEE;margin: 10px 0 5px 0;"/>
<div>
<div style="display: flex">
<p style="flex: 1">昵称 :{{.User.NickName}}</p>
<p><a href="javascript:void(0)" style="text-decoration: none" id="editBtn">修改资料</a></p>
</div>
<p>生日 :{{.User.Birthday.Format "2006-01-02"}}</p>
<p>邮箱 :{{.User.Email}}</p>
<p>手机 :{{.User.Mobile}}</p>
<p>Q Q :{{.User.QQ}}</p>
{{if eq 0 .User.Sex}}
<p>性别 :女</p>
{{else}}
<p>性别 :男</p>
{{end}}
<p>简介 :{{.User.DescInfo}}</p>
</div>
</div>
</div> </div>
</div> </div>
{{template "footer"}} <div class="me-footer">
{{template "footer"}}
</div>
</div> </div>
</div> </div>
</div> </div>
</body> </body>
<script>
function refresh() {
window.location.href = window.location.href
}
$(function () {
$("#editBtn").click(function () {
layer.open({
type: 2,
title: '修改个人资料',
shadeClose: true,
shade: 0.5,
area: ['450px', '415px'],
content: '/iframe/user.html' //iframe的url
});
})
})
</script>
</html> </html>

37
views/ulike.html

@ -10,14 +10,16 @@
<div class="me-blog-root"> <div class="me-blog-root">
<div class="me-blog-list"> <div class="me-blog-list">
{{range .Page.List}} {{range .Page.List}}
<p><a href="/blog/{{.Id}}">{{.Title}}</a></p>
<div> <div>
<em>发布时间:{{.Ctime.Format "2006/01/02"}}</em> <p><a href="/blog/{{.BlogId}}">{{.Blog.Title}}</a></p>
<em>浏览量:{{.Browses}}</em> <div>
<span style="width: 35px;margin-left: 30px;"><a href="" style="color: #F84822">删除</a></span> <em>收藏时间:{{.Ltime.Format "2006/01/02"}}</em>
<span style="width: 35px;margin-left: 10px;"><a href="" style="color: #F84822">编辑</a></span> <em>浏览量:{{.Blog.Browses}}</em>
<span style="width: 35px;margin-left: 30px;"><a href="javascript:void(0)" style="color: #F84822"
onclick="del(this,{{.BlogId}})">删除</a></span>
</div>
<hr style="height:1px;border:none;border-top:1px solid #EEE;margin: 6px;"/>
</div> </div>
<hr style="height:1px;border:none;border-top:1px solid #EEE;margin: 6px;"/>
{{end}} {{end}}
<div style="text-align: center"> <div style="text-align: center">
<nav> <nav>
@ -46,4 +48,27 @@
</div> </div>
</div> </div>
</body> </body>
<script>
function del(obj, id) {
layer.confirm('删除后将无法恢复', {
btn: ['确认', '手滑了'] //按钮
}, function () {
$.get('/unlike/' + id,
function (data) {
if (data.Status == 0) {
$(obj).parent().parent().parent().remove()
layer.msg("删除成功", {icon: 6});
} else if (data.Status == 401) {
window.location.href = "/login"
} else if (data.Status == 403) {
layer.msg("暂无权限", {icon: 5});
} else {
layer.msg("服务器异常", {icon: 5});
}
}, 'json')
}, function () {
});
}
</script>
</html> </html>
Loading…
Cancel
Save