Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b900fa5

Browse files
committed
修改评论,后端接口
1 parent d143a2b commit b900fa5

File tree

10 files changed

+102
-23
lines changed

10 files changed

+102
-23
lines changed

src/http/controller/comment.go

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
. "http"
1818

1919
"github.com/labstack/echo"
20+
"github.com/polaris1119/echoutils"
2021
"github.com/polaris1119/goutils"
2122
"github.com/polaris1119/slices"
2223
)
@@ -27,7 +28,7 @@ func (self CommentController) RegisterRoute(g *echo.Group) {
2728
g.Get("/at/users", self.AtUsers)
2829
g.Post("/comment/:objid", self.Create, middleware.NeedLogin(), middleware.Sensivite(), middleware.BalanceCheck(), middleware.PublishNotice())
2930
g.Get("/object/comments", self.CommentList)
30-
// g.Post("/object/comments/:cid", self.EditComment, middleware.NeedLogin, )
31+
g.Post("/object/comments/:cid", self.Modify, middleware.NeedLogin(), middleware.Sensivite(), middleware.PublishNotice())
3132

3233
g.Get("/topics/:objid/comment/:cid", self.TopicDetail)
3334
g.Get("/articles/:objid/comment/:cid", self.ArticleDetail)
@@ -58,6 +59,34 @@ func (CommentController) Create(ctx echo.Context) error {
5859
return success(ctx, comment)
5960
}
6061

62+
// 修改评论
63+
func (CommentController) Modify(ctx echo.Context) error {
64+
cid := goutils.MustInt(ctx.Param("cid"))
65+
content := ctx.FormValue("content")
66+
comment, err := logic.DefaultComment.FindById(cid)
67+
68+
if err != nil {
69+
return fail(ctx, 2, "评论不存在")
70+
}
71+
72+
if content == "" {
73+
return fail(ctx, 1, "内容不能为空")
74+
}
75+
76+
me := ctx.Get("user").(*model.Me)
77+
// CanEdit 已包含修改时间限制
78+
if !logic.CanEdit(me, comment) {
79+
return fail(ctx, 3, "没有修改权限")
80+
}
81+
82+
errMsg, err := logic.DefaultComment.Modify(echoutils.WrapEchoContext(ctx), cid, content)
83+
if err != nil {
84+
return fail(ctx, 4, errMsg)
85+
}
86+
87+
return success(ctx, map[string]interface{}{"cid": cid})
88+
}
89+
6190
// CommentList 获取某对象的评论信息
6291
func (CommentController) CommentList(ctx echo.Context) error {
6392
objid := goutils.MustInt(ctx.QueryParam("objid"))

src/logic/comment.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,14 +303,14 @@ func (CommentLogic) findByIds(cids []int) map[int]*model.Comment {
303303
return comments
304304
}
305305

306-
func (CommentLogic) findById(cid int) *model.Comment {
306+
func (CommentLogic) FindById(cid int) (*model.Comment, error) {
307307
comment := &model.Comment{}
308308
_, err := MasterDB.Where("cid=?", cid).Get(comment)
309309
if err != nil {
310310
logger.Errorln("CommentLogic findById error:", err)
311311
}
312312

313-
return comment
313+
return comment, err
314314
}
315315

316316
func (CommentLogic) decodeCmtContent(ctx context.Context, comment *model.Comment) string {

src/logic/observer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ func (UserRichObserver) Update(action string, uid, objtype, objid int) {
184184
if action == actionPublish || action == actionComment {
185185
var comment *model.Comment
186186
if action == actionComment {
187-
comment = DefaultComment.findById(objid)
187+
comment, _ = DefaultComment.FindById(objid)
188188
if comment.Cid != objid {
189189
return
190190
}

static/dist/js/sg_base.js

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -674,6 +674,8 @@ window.initPLUpload = function (options) {
674674
uploader.bind('Error',function(uploader,errObject){
675675
comTip("上传出错了:"+errObject.message);
676676
});
677+
678+
return uploader;
677679
}
678680

679681
$(function(){
@@ -805,17 +807,35 @@ jQuery(document).ready(function(){
805807

806808
// 点击编辑评论按钮
807809
$('#replies').on('click', '.btn-edit', function(evt) {
808-
evt.preventDefault();
809-
var floor = $(this).data('floor');
810+
evt.preventDefault()
811+
var floor = $(this).data('floor')
812+
var $markdown = $('.markdown[data-floor="' + floor + '"]')
813+
var $editWrapper = $markdown.children('.edit-wrapper')
814+
var $textarea = $editWrapper.children('textarea')
810815
toggleCommentShowOrEdit(floor, false)
811816

812-
var $uploadBtn = $('.upload-img[data-floor="' + floor + '"]')
813-
window.initPLUpload({
814-
ele: $uploadBtn[0],
815-
fileUploaded: function () {
816-
console.log(1214)
817-
}
818-
})
817+
var $uploadBtn = $('.upload-img[data-floor="' + floor + '"]')
818+
819+
// 复制上传
820+
// 防止重复上传
821+
var pasteUpload = $textarea.data('paste-uploader')
822+
if (!pasteUpload) {
823+
pasteUpload = $textarea.pasteUploadImage('/image/paste_upload')
824+
$textarea.data('paste-uploader', pasteUpload)
825+
}
826+
827+
// 点击按钮上传
828+
// 防止重复上传
829+
var uploader = $uploadBtn.data('uploader')
830+
if (!uploader) {
831+
uploader = window.initPLUpload({
832+
ele: $uploadBtn[0],
833+
fileUploaded: function () {
834+
console.log(1214)
835+
}
836+
})
837+
$uploadBtn.data('uploader', uploader)
838+
}
819839
});
820840

821841
// 点击取消编辑评论按钮

static/dist/js/sg_base.min.js

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

static/dist/js/sg_libs.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,7 @@ if (md5('hello') != '5d41402abc4b2a76b9719d911017c592') {
757757
}
758758
}
759759
});
760+
return true
760761
};
761762

762763
pasteText = function (text) {

static/dist/js/sg_libs.min.js

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

static/js/base/comment.js

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,35 @@
9696

9797
// 点击编辑评论按钮
9898
$('#replies').on('click', '.btn-edit', function(evt) {
99-
evt.preventDefault();
100-
var floor = $(this).data('floor');
99+
evt.preventDefault()
100+
var floor = $(this).data('floor')
101+
var $markdown = $('.markdown[data-floor="' + floor + '"]')
102+
var $editWrapper = $markdown.children('.edit-wrapper')
103+
var $textarea = $editWrapper.children('textarea')
101104
toggleCommentShowOrEdit(floor, false)
102105

103-
var $uploadBtn = $('.upload-img[data-floor="' + floor + '"]')
104-
window.initPLUpload({
105-
ele: $uploadBtn[0],
106-
fileUploaded: function () {
107-
console.log(1214)
108-
}
109-
})
106+
var $uploadBtn = $('.upload-img[data-floor="' + floor + '"]')
107+
108+
// 复制上传
109+
// 防止重复上传
110+
var pasteUpload = $textarea.data('paste-uploader')
111+
if (!pasteUpload) {
112+
pasteUpload = $textarea.pasteUploadImage('/image/paste_upload')
113+
$textarea.data('paste-uploader', pasteUpload)
114+
}
115+
116+
// 点击按钮上传
117+
// 防止重复上传
118+
var uploader = $uploadBtn.data('uploader')
119+
if (!uploader) {
120+
uploader = window.initPLUpload({
121+
ele: $uploadBtn[0],
122+
fileUploaded: function () {
123+
console.log(1214)
124+
}
125+
})
126+
$uploadBtn.data('uploader', uploader)
127+
}
110128
});
111129

112130
// 点击取消编辑评论按钮

static/js/base/puploader.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ window.initPLUpload = function (options) {
4747
uploader.bind('Error',function(uploader,errObject){
4848
comTip("上传出错了:"+errObject.message);
4949
});
50+
51+
return uploader;
5052
}
5153

5254
$(function(){

static/js/libs/paste-upload-image.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
}
3333
}
3434
});
35+
return true
3536
};
3637

3738
pasteText = function (text) {

0 commit comments

Comments
 (0)