UNPKG

@tplc/business

Version:

24 lines (22 loc) 833 B
import { DataSource } from 'action' import { get } from 'lodash-es' export const dynamicRequest = async ( dataSource?: DataSource, pageInfo?: Record<string, any>, userInfo?: Record<string, any>, extraParams?: Record<string, any>, ) => { if (dataSource?.source === 'remote') { if (dataSource.requestInfo?.requestUrl) { const baseParams = JSON.parse(dataSource.requestInfo.requestParams || '{}') const response = await uni.$lcb.http.post(dataSource.requestInfo.requestUrl, { ...baseParams, ...(extraParams || {}), }) /** 如果依赖key存在,则取依赖key的值 */ return response[dataSource?.dependKey || 'data'] as unknown } } else if (dataSource?.dependKey) { return get(dataSource?.source === 'context' ? pageInfo : userInfo, dataSource?.dependKey) } }