import BaseStore from '@src/stores/base'; export default class MainStore extends BaseStore { courseStruct() { return this.getExercise().then((result) => { return result.filter(row => row.isCourse); }); } dataStruct() { return this.getExercise().then((result) => { return result.filter(row => row.isData); }); } /** * 获取首页配置 */ getIndex() { return this.apiGet('/base/index'); } /** * 获取基础配置 */ getBase() { return this.apiGet('/base/base'); } /** * 获取广告列表 */ getAd(channel) { return this.apiGet('/base/ad', { channel }); } /** * 获取优惠信息 */ getPromote() { return this.apiGet('/base/promote'); } /** * 获取微信信息 */ getWechat() { return this.apiGet('/base/wechat'); } /** * 获取对应位置的提示tips * @param {*} position */ getTips(position) { return this.apiGet('/base/tips', { position }); } /** * 获取考分排行信息 */ getScore(total, quant) { return this.apiGet('/base/score', { total, quant }); } /** * 所有练习头2层 */ getExercise() { return this.getApiCache('API:main:getExercise', () => { return this.apiGet('/base/exercise/main'); }, 3600); } /** * 获取对应节点下的子节点 * @param {*} id * @param {*} children */ getExerciseChildren(id, children) { return this.apiGet('/base/exercise/children', { id, children }); } /** * 获取对应节点的所有父级节点 * @param {*} id */ getExerciseParent(id) { return this.apiGet('/base/exercise/parent', { id }); } /** * 所有模考层级 */ getExamination() { return this.getApiCache('API:main:getExamination', () => { return this.apiGet('/base/examination/main'); }, 3600); } /** * 获取对应节点下的子节点 * @param {*} id * @param {*} children */ getExaminationChildren(id, children) { return this.apiGet('/base/examination/children', { id, children }); } /** * 获取对应节点的所有父级节点 * @param {*} id */ getExaminationParent(id) { return this.apiGet('/base/examination/parent', { id }); } /** * 获取模考题目数 */ getExaminationNumber() { return this.getApiCache('API:main:getExaminationNumber', () => { return this.apiGet('/base/examination/number'); }, 3600); } /** * 获取服务信息 * @param {*} service */ getService(service) { return this.apiGet('/base/service', { service }); } getContract(key) { return this.apiGet('/base/contract', { key }); } listFaq(page, size, channel, position) { return this.apiGet('/base/faq/list', { page, size, channel, position }); } listComment(page, size, channel, position) { return this.apiGet('/base/comment/list', { page, size, channel, position }); } readyInfo() { return this.apiGet('/base/ready_info'); } listRead(page, size, plate) { return this.apiGet('/base/read/list', { page, size, plate }); } } export const Main = new MainStore({ key: 'main' });