import MonitorApiBase from './base' import { ajaxFollowEntInfo, ajaxFollowEntAdd, ajaxFollowEntCancel } from '../api/follow-ent' export default class MonitorEntApi extends MonitorApiBase { constructor({ id }) { super() this.id = id } /** * 提供覆盖的ajax请求 * @return {{}} */ async ajaxGetState() { return ajaxFollowEntInfo({ entId: this.id }).then((res) => { const result = this.createModel() result.canFollow = res?.data?.isShow || false result.follow = res?.data?.followed || false if (res?.data?.info) { result.expands = res.data.info } return result }) } async ajaxAdd() { return ajaxFollowEntAdd({ entId: this.id }).then((res) => { const result = { success: false, msg: '', data: {} } result.success = res?.error_code === 0 && res?.data?.status result.data = res?.data if (result.success) { this.model.expands.used += 1 this.model.expands.surplus = Math.max(this.model.expands.surplus - 1, 0) } else { result.msg = res?.error_msg || '抱歉,操作失败' } return result }) } async ajaxRemove() { return ajaxFollowEntCancel({ entId: this.id }).then( (res) => { const result = { success: false, msg: '', data: {} } result.success = res?.error_code === 0 && res?.data === 'success' result.data = res?.data if (result.success) { this.model.expands.surplus += 1 this.model.expands.used = Math.max(this.model.expands.used - 1, 0) } else { result.msg = res?.error_msg || '抱歉,操作失败' } return result } ) } }