UNPKG

@jswork/jzyunqi-interceptors

Version:

Interceptors for jzyunqi/yw.

53 lines (52 loc) 1.58 kB
/*! * name: @jswork/jzyunqi-interceptors * description: Interceptors for jzyunqi/yw. * homepage: https://js.work * version: 1.0.12 * date: 2025-03-01 11:46:15 * license: MIT */ /** * 请求中有 when 函数,当 when 函数返回 true 时,才会执行后续的拦截器 * * A: 处理字段中出现 xxArray 的字段 * 检测逻辑为: * 1. 字段key: 以 Array 结尾 * 2. 字段value: string * 处理逻辑为: * 1. 字段 key 不变 * 2. 字段 value: split(',') * * B: 处理字段中出现 xxIdArray 的字段 * 检测逻辑为: * 1. 字段key: 以 IdArray 结尾 * 2. 字段value: string * 处理逻辑为: * 1. 字段 key: 字段 key 不变 * 2. 字段 value: split(',').map(Number) */ import nx from '@jswork/next'; import '@jswork/next-deep-each'; export default function suffixArray(options) { nx.deepEach(options.data, function (key, value, target) { if (typeof value === 'string') { var _key = String(key); if (_key.endsWith('Array')) { if (value === '') { target[key] = []; } else { var aryValue = value.split(','); target[key] = aryValue; if (_key.endsWith('IdArray')) { target[key] = aryValue.map(function (item) { var num = Number(item); return isNaN(num) ? item : num; }); } } } } }); return options; }