Blame view

antis-ncc-admin/src/utils/quota-summary.js 1.24 KB
ed7c85aa   “wangming”   Remove deprecated...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  /**
   * 请假额度 QuotaSummary 接口解析(兼容 RESTful 包装、PascalCase、字符串 JSON
   * 与小程序 `service/quota-summary.js` 保持一致,避免 PC 与移动端额度结构不一致。
   * 注意:此处避免使用 ?? 等语法,以兼容当前 webpack/babel 对部分 .js 的转译配置。
   */
  
  export function extractQuotaSummaryPayload(res) {
    if (!res || typeof res !== 'object') return null
    var code = res.code != null ? res.code : res.Code
    var ok = Number(code) === 200 || code === 200 || code === '200'
    var raw = res.data != null ? res.data : res.Data
    if (typeof raw === 'string') {
      try {
        raw = JSON.parse(raw)
      } catch (e) {
        raw = null
      }
    }
    if (raw && typeof raw === 'object' && raw.paid === undefined && raw.Paid === undefined) {
      var inner = raw.data != null ? raw.data : raw.Data
      if (
        inner &&
        typeof inner === 'object' &&
        (inner.paid !== undefined || inner.Paid !== undefined || inner.serverDate !== undefined || inner.ServerDate !== undefined)
      ) {
        raw = inner
      }
    }
    if (ok && raw !== undefined && raw !== null) return raw
    if (res.paid !== undefined || res.Paid !== undefined) return res
    if (raw !== undefined && raw !== null) return raw
    return null
  }