uni-app 143点赞朋友圈api开发

Posted 2019ab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app 143点赞朋友圈api开发相关的知识,希望对你有一定的参考价值。

router.js

  // 点赞朋友圈
  router.post('/moment/like',controller.moment.like);

/app/controller/moment.js

// 点赞
    async like() 
        
        const  ctx, app  = this;
        let current_user_id = ctx.authUser.id;

        ctx.validate(
            id: 
                type: "int",
                required: true,
                desc: "朋友圈id"
            
        );
        
        let  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 like = await app.model.MomentLike.findOne(
            where: 
                user_id: current_user_id,
                moment_id: id
            
        );

        let message = 
            avatar: ctx.authUser.avatar,
            user_id: current_user_id,
            type: "like"
        

        if (like) 
            await like.destroy();
            ctx.apiSuccess(MomentTimeline.moment.moment_likes);
         else 
            await app.model.MomentLike.create(
                user_id: current_user_id,
                moment_id: id
            );
            ctx.apiSuccess(MomentTimeline.moment.moment_likes);
        

        // 通知作者
        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');
            
        );

    

如下图是我测试的截图

感谢大家观看,我们下次再见

以上是关于uni-app 143点赞朋友圈api开发的主要内容,如果未能解决你的问题,请参考以下文章

uni-app 145评论朋友圈api开发

uni-app 146朋友圈列表api开发

uni-app 144评论朋友圈api开发

uni-app 139发布朋友圈api开发

uni-app 140发布朋友圈api开发

uni-app 147我的朋友圈列表api开发