選択できるのは25トピックまでです。
トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
52 行
1.2 KiB
52 行
1.2 KiB
package controllers
|
|
|
|
import (
|
|
"strconv"
|
|
"beeblog/service"
|
|
"github.com/astaxie/beego"
|
|
"beeblog/models"
|
|
)
|
|
|
|
type LikeController struct {
|
|
beego.Controller
|
|
}
|
|
|
|
func (this *LikeController) Save() {
|
|
uid := this.GetSession("userid")
|
|
if uid == nil {
|
|
this.Data["json"] = models.ReurnError(401, "")
|
|
this.ServeJSON()
|
|
return
|
|
}
|
|
idStr := this.Ctx.Input.Param(":id")
|
|
id, _ := strconv.ParseInt(idStr, 10, 64)
|
|
like := &models.Like{BlogId: id, UserId: uid.(int64)}
|
|
if _, err := service.SaveLike(like); err != nil {
|
|
this.Data["json"] = models.ReurnError(500, "保存失败")
|
|
}else{
|
|
this.Data["json"] = models.ReurnSuccess("")
|
|
}
|
|
this.ServeJSON()
|
|
service.CountLike(uid.(int64))
|
|
return
|
|
}
|
|
|
|
func (this *LikeController) Delete() {
|
|
uid := this.GetSession("userid")
|
|
if uid == nil {
|
|
this.Data["json"] = models.ReurnError(401, "")
|
|
this.ServeJSON()
|
|
return
|
|
}
|
|
idStr := this.Ctx.Input.Param(":id")
|
|
id, _ := strconv.ParseInt(idStr, 10, 64)
|
|
like := &models.Like{BlogId: id, UserId: uid.(int64)}
|
|
if _, err := service.DelLike(like); err != nil {
|
|
this.Data["json"] = models.ReurnError(500, "保存失败")
|
|
}else{
|
|
this.Data["json"] = models.ReurnSuccess("")
|
|
}
|
|
this.ServeJSON()
|
|
service.CountLike(uid.(int64))
|
|
return
|
|
}
|
|
|