UNPKG

isun

Version:

快速创建vue项目

102 lines (93 loc) 2.7 kB
import { Result, Page } from './entity' const _ = require('lodash') const responseBody = Result export function isIE () { const bw = window.navigator.userAgent const compare = (s) => bw.indexOf(s) >= 0 const ie11 = (() => 'ActiveXObject' in window)() return compare('MSIE') || ie11 } export const builder = (data, msg = '操作成功', code = 200, headers = {}) => { responseBody.data = data if (msg !== undefined && msg !== null) { responseBody.msg = msg } if (code !== undefined && code !== 0) { responseBody.code = code } if (headers !== null && typeof headers === 'object' && Object.keys(headers).length > 0) { responseBody._headers = headers } return responseBody } export const getQueryParameters = (options) => { const url = options.url const search = url.split('?')[1] if (!search) { return {} } return JSON.parse('{"' + decodeURIComponent(search) .replace(/"/g, '\\"') .replace(/&/g, '","') .replace(/=/g, '":"') + '"}') } export const getBody = (options) => { return options.body && JSON.parse(options.body) } /** * @title 获取分页数据 * @param data 数据源 * @param current 页码 * @param size 分页数 * @return { list, current, pages, size, total } */ export const PageBuilder = (data, current, size, msg = '操作成功', code = 200) => { let daces = Page if (!data.length || data.length === 0) { daces = { msg: msg, code: code, current: Number(current), size: Number(size), data: [], pages: 0, total: 0 } } else { daces = { msg: msg, code: code, current: Number(current), size: Number(size), pages: Math.ceil(data.length / size), total: data.length, data: _.chunk(data, size)[current - 1] } } return daces } /** * @title 新增数据 * @param data 数据源 * @param params 新增的数据 * @return { data } */ export const addData = (data, params) => { const _data = [...data] _data.unshift(params) return _data } /** * @title 根据ID更新数据 * @param data 数据源 * @param id ID值 * @param params 需要更新的数据 * @return { data } */ export const updateData = (data, id, params) => { if (!data.length) return const _data = [...data] const index = _data.findIndex(item => item.id === id) _data[index] = { ..._data[index], ...params } return _data }