123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import MonitorApiBase from './base'
- import {
- ajaxFollowProjectInfo,
- ajaxFollowProjectAdd,
- ajaxFollowProjectCancel
- } from '../api/follow-project'
- export default class MonitorProjectApi extends MonitorApiBase {
- constructor({ id, fid = '' }) {
- super()
- this.id = id
- this.fid = fid
- }
- /**
- * 提供覆盖的ajax请求
- * @return {{}}
- */
- async ajaxGetState() {
- return await ajaxFollowProjectInfo({ sid: this.id }).then((res) => {
- const result = this.createModel()
- result.canFollow = res?.data?.showFollow || false
- result.follow = res?.data?.flag || false
- if (res?.data?.info) {
- result.expands = res.data.info
- }
- if (res?.data?.fig) {
- this.fid = res.data.fig
- }
- return result
- })
- }
- async ajaxAdd() {
- return ajaxFollowProjectAdd({ sid: this.id }).then((res) => {
- const result = {
- success: false,
- data: {}
- }
- result.success = res?.error_code === 0 && res?.data?.status
- result.data = res?.data
- if (res?.data?.followId) {
- this.fid = res.data.followId
- }
- if (result.success) {
- this.model.expands.used += 1
- this.model.expands.surplus = Math.max(this.model.expands.surplus - 1, 0)
- }
- return result
- })
- }
- async ajaxRemove() {
- return ajaxFollowProjectCancel({ sid: this.id, fid: this.fid }).then(
- (res) => {
- const result = {
- success: false,
- 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)
- }
- return result
- }
- )
- }
- }
|