actions.js 4.44 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 authorBaseInfo({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);
      return result.data;
    } else {
      commit(Types.FETCH_AUTHOR_INFO_FAILD);
      return {};
    }
  },
  async authorAritcleNum(actions, {authorUid, authorType}) {
    const result = await this.$api.get('/api/grass/getGrassPubAndFavorNum', {
      authorUid,
      authorType
    });

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

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

    return result;
  },
  async authorMineBaseInfo({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);
      return result.data;
    } else {
      commit(Types.FETCH_AUTHOR_INFO_FAILD);
      return {};
    }
  },
  async authorMineAritcleNum(actions, {authorType}) {
    const result = await this.$api.get('/api/grass/getMineGrassPubAndFavorNum', {
      authorType
    });

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

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

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

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

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

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

    return result;
  },
};