api-map.js 6.46 KB
const URI_PACKAGE_ARTICLE = 'guang/service/v2/article/';
const URI_PACKAGE_AUTHOR = 'guang/service/v1/author/';

const userPageApis = require('./api-map/userpage');
const topicApis = require('./api-map/topic');

module.exports = {
  ...userPageApis,
  ...topicApis,
  '/api/grass/userProfile': {
    api: 'app.passport.profile',
    auth: true,
    params: {},
    fields: {
      head_ico: {default: ''},
      nickname: {default: ''}
    }
  },
  '/api/grass/labelRealtedArticleDetail': {
    api: 'app.grass.labelRealtedArticleDetail',
    cache: true,
    params: {
      page: {type: Number, require: false},
      limit: {type: Number, require: false},
      labelId: {type: Number},
      lastedTime: {type: Number},
    }
  },
  '/api/grass/columnArticleDetail': {
    api: 'app.grass.columnArticleDetail',
    cache: true,
    auth: true,
    params: {
      page: {type: Number, require: false},
      limit: {type: Number, require: false},
      articleId: {type: Number},
      columnType: {type: Number},
      singleDetail: {type: String}
    }
  },
  '/api/grass/detailRecommendArticles': {
    api: 'app.grass.otherArticle',
    cache: true,
    auth: true,
    params: {
      articleId: {type: Number, require: false}
    }
  },
  '/api/grass/updateAttention': {
    api: 'app.grass.updateAttention',
    auth: true,
    params: {
      topicId: {type: Number, require: false},
      followUid: {type: Number, require: false},
      status: {type: Number},
      attentionType: {type: Number}
    }
  },
  '/api/grass/updateFavorite': {
    api: 'app.grass.updateFavorite',
    auth: true,
    params: {
      articleId: {type: Number},
      isAdd: {type: String}
    }
  },
  '/api/grass/updateArticlePraise': {
    api: 'app.grass.updateArticlePraise',
    auth: true,
    params: {
      articleId: {type: Number},
      status: {type: Number}
    }
  },
  '/api/grass/updateCommentPraise': {
    api: 'app.grass.updateCommentPraise',
    auth: true,
    params: {
      commentId: {type: Number},
      status: {type: Number}
    }
  },
  '/api/guang/article/detail': {
    service: true,
    api: URI_PACKAGE_ARTICLE,
    path: 'getArticle',
    params: {
      article_id: {type: Number}
    }
  },
  '/api/guang/article/author': {
    service: true,
    api: URI_PACKAGE_AUTHOR,
    path: 'getAuthor',
    params: {
      author_id: {type: String}
    }
  },
  '/api/guang/article/content': {
    service: true,
    cache: true,
    api: URI_PACKAGE_ARTICLE,
    path: 'getArticleContent',
    params: {
      article_id: {type: Number}
    }
  },
  '/api/guang/article/zan': {
    api: 'app.grass.articleDetailsForGuang',
    auth: true,
    params: {
      uid: {type: Number, require: false},
      articleId: {type: Number, require: false},
    }
  },
  '/api/guang/article/setFav': {
    api: 'app.grass.updateFavorite',
    auth: true,
    params: {
      uid: {type: Number, require: false},
      articleId: {type: Number, require: false},
      isAdd: {type: String, require: false}
    }
  },
  '/api/guang/article/setZan': {
    api: 'app.grass.updateFavorite',
    auth: true,
    params: {
      uid: {type: Number, require: false},
      articleId: {type: Number, require: false},
      status: {type: Number, require: false}
    }
  },
  '/api/guang/article/queryGoods': {
    api: 'app.search.recomandLi',
    cache: true,
    params: {
      query: {type: String, require: false},
      order: {type: String, require: false},
      limit: {type: Number, require: false}
    }
  },
  '/api/grass/queryArticleComments': {
    api: 'app.grass.queryArticleComments',
    auth: true,
    params: {
      page: {type: Number, require: false},
      limit: {type: Number, require: false},
      destId: {type: Number},
      columnType: {type: Number},
      rootCommentId: {type: Number},
    }
  },
  '/api/grass/queryArticleCommentReply': {
    api: 'app.grass.queryArticleCommentReply',
    auth: true,
    params: {
      page: {type: Number, require: false},
      limit: {type: Number, require: false},
      commentId: {type: Number},
    }
  },
  '/api/grass/addArticleComment': {
    api: 'app.grass.addArticleComment',
    auth: true,
    params: {
      content: {type: String},
      destId: {type: Number},
      commentId: {type: Number},
      addType: {type: Number},
      columnType: {type: Number},
    }
  },
  '/api/favorite/add': {
    api: 'app.favorite.add',
    auth: true,
    params: {
      fav_id: {type: Number},
      type: {type: String},
    }
  },
  '/api/favorite/cancel': {
    api: 'app.favorite.cancel',
    auth: true,
    params: {
      fav_id: {type: Number},
      type: {type: String},
    }
  },
  '/api/favorite/batchCheckIsFavorite': {
    api: 'app.favorite.batchCheckIsFavorite',
    auth: true,
    params: {
      favIds: {type: String},
    }
  },
  '/api/ufo/user/favoriteAdd': {
    api: 'ufo.user.favoriteAdd',
    auth: true,
    ufo: true,
    params: {
      productId: {type: Number},
    }
  },
  '/api/ufo/user/favoriteCancel': {
    api: 'ufo.user.favoriteCancel',
    auth: true,
    ufo: true,
    params: {
      productId: {type: Number},
    }
  },
  '/api/ufo/user/isFavoriteBatch': {
    api: 'ufo.user.isFavoriteBatch',
    auth: true,
    ufo: true,
    params: {
      productIds: {type: String},
    }
  },
  '/api/grass/userPublishedArticleDetail': {
    api: 'app.grass.userPublishedArticleDetail',
    auth: true,
    params: {
      page: {type: Number, require: false},
      limit: {type: Number, require: false},
      articleId: {type: Number},
      authorUid: {type: Number},
      authorType: {type: Number},
    }
  },
  '/api/grass/minePublishedArticleDetail': {
    api: 'app.grass.userPublishedArticleDetail',
    auth: true,
    params: {
      page: {type: Number, require: false},
      limit: {type: Number, require: false},
      articleId: {type: Number},
      authorUid: {type: Number, alias: 'uid'},
      authorType: {type: Number},
    }
  },
  '/api/grass/userFavouriteArticleDetail': {
    api: 'app.grass.userFavouriteArticleDetail',
    auth: true,
    params: {
      page: {type: Number, require: false},
      limit: {type: Number, require: false},
      articleId: {type: Number},
      authorUid: {type: Number},
      authorType: {type: Number},
    }
  },
  '/api/grass/reportIllegalArticle': {
    api: 'app.grass.reportIllegalArticle',
    auth: true,
    params: {
      articleId: {type: Number}
    }
  },
  '/api/grass/deleteGrassArticle': {
    api: 'app.grass.deleteGrassArticle',
    auth: true,
    params: {
      articleId: {type: Number}
    }
  }
};