actions.js 3.4 KB
import * as Types from './types';

export default {
  async followUser(actions, {followUid, status, authorType}) {
    const result = await this.$api.post('/api/grass/updateAttention', {
      followUid,
      status,
      attentionType: 1,
      authorType
    });

    return result;
  },
  async followTopic(actions, {topicId, status}) {
    const result = await this.$api.post('/api/grass/updateAttention', {
      topicId,
      status,
      attentionType: 0
    });

    return result;
  },
  async followArticle(actions, {articleId, status}) {
    const result = await this.$api.post('/api/grass/updateFavorite', {
      articleId,
      isAdd: status ? 'Y' : 'N'
    });

    return result;
  },
  async praiseArticle(actions, {articleId, status}) {
    const result = await this.$api.post('/api/grass/updateArticlePraise', {
      articleId,
      status: status ? 0 : 1
    });

    return result;
  },
  async praiseComment(actions, {commentId, status}) {
    const result = await this.$api.post('/api/grass/updateCommentPraise', {
      commentId,
      status: status ? 0 : 1
    });

    return result;
  },
  async autherBaseInfo({commit}, {authorUid, authorType}) {
    commit(Types.FETCH_AUTHOR_INFO_REQUEST);
    const result = await this.$api.get('/api/grass/getGrassUserBaseInfo', {
      authorUid,
      authorType
    });

    if (result && result.code === 200) {
      if (!result.data) {
        result.data = {};
      }
      commit(Types.FETCH_AUTHOR_INFO_SUCCESS, result);
    } else {
      commit(Types.FETCH_AUTHOR_INFO_FAILD);
    }

    return result;
  },
  async autherAritcleNum(actions, {authorUid, authorType}) {
    const result = await this.$api.get('/api/grass/getGrassPubAndFavorNum', {
      authorUid,
      authorType
    });

    return result;
  },
  async autherPubList(actions, {authorUid, authorType, limit, page, lastedTime}) {
    const result = await this.$api.get('/api/grass/userPublishedArticleList', {
      authorUid,
      authorType,
      limit,
      page,
      lastedTime
    });

    return result;
  },
  async autherFavList(actions, {authorUid, authorType, limit, page, lastedTime}) {
    const result = await this.$api.get('/api/grass/userFavouriteArticleList', {
      authorUid,
      authorType,
      limit,
      page,
      lastedTime
    });

    return result;
  },
  async autherMineBaseInfo({commit}, {authorType}) {
    commit(Types.FETCH_AUTHOR_INFO_REQUEST);
    const result = await this.$api.get('/api/grass/getMineGrassBaseInfo', {
      authorType
    });

    if (result && result.code === 200) {
      if (!result.data) {
        result.data = {};
      }
      commit(Types.FETCH_AUTHOR_INFO_SUCCESS, result);
    } else {
      commit(Types.FETCH_AUTHOR_INFO_FAILD);
    }

    return result;
  },
  async autherMineAritcleNum(actions, {authorType}) {
    const result = await this.$api.get('/api/grass/getMineGrassPubAndFavorNum', {
      authorType
    });

    return result;
  },
  async autherMinePubList(actions, {authorType, limit, page, lastedTime}) {
    const result = await this.$api.get('/api/grass/minePublishedArticleList', {
      authorType,
      limit,
      page,
      lastedTime
    });

    return result;
  },
  async autherMineFavList(actions, {authorType, limit, page, lastedTime}) {
    const result = await this.$api.get('/api/grass/mineFavouriteArticleList', {
      authorType,
      limit,
      page,
      lastedTime
    });

    return result;
  },
};