uni-app 145评论朋友圈api开发
Posted 2019ab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app 145评论朋友圈api开发相关的知识,希望对你有一定的参考价值。
router.js
// 评论朋友圈
router.post('/moment/comment',controller.moment.comment);
app/controller/moment.js
// 朋友圈评论
async comment()
const ctx, app = this;
let current_user_id = ctx.authUser.id;
ctx.validate(
id:
type: "int",
required: true,
desc: "朋友圈id"
,
content:
type: "string",
required: true,
desc: "评论内容"
,
reply_id:
type: "int",
required: true,
defValue: 0,
desc: "回复id"
);
let id, content, reply_id = ctx.request.body;
let MomentTimeline = await app.model.MomentTimeline.findOne(
where:
user_id: current_user_id,
moment_id: id
,
include: [
model: app.model.Moment,
attributes: ['user_id'],
include: [
model: app.model.MomentLike,
attributes: ['user_id']
]
]
);
if (!MomentTimeline)
return ctx.apiFail('朋友圈消息不存在');
let comment = await app.model.MomentComment.create(
user_id: current_user_id,
moment_id: id,
content,
reply_id
);
ctx.apiSuccess(comment);
let message =
avatar: ctx.authUser.avatar,
user_id: current_user_id,
type: "comment"
// 通知作者
if (MomentTimeline.moment.user_id && MomentTimeline.moment.user_id !== current_user_id)
ctx.sendAndSaveMessage(MomentTimeline.moment.user_id, message, 'moment');
// 通知相关人
MomentTimeline.moment.moment_likes.forEach(item =>
if (item.user_id !== current_user_id)
ctx.sendAndSaveMessage(item.user_id, message, 'moment');
);
// 通知被回复人
if (reply_id > 0)
let index = MomentTimeline.moment.moment_likes.findIndex(item =>
return item.user_id === reply_id
);
if (index === -1)
ctx.sendAndSaveMessage(reply_id, message, 'moment');
下图是我测试的截图
感谢大家观看,我们下次见
以上是关于uni-app 145评论朋友圈api开发的主要内容,如果未能解决你的问题,请参考以下文章