UNPKG

@daysnap/horn-jssdk

Version:

原生容器面向 H5 开发者提供的基于容器应用内的网页开发工具包

30 lines (29 loc) 912 B
import { log, nf } from '../utils'; import { Code } from './code'; import { config } from '../config'; /** * jssdk 核心 无需直接调用 */ export const core = (options) => { const { success = nf, fail = nf, service, action, ...params } = options; const fn = config.mock ?? HornApi.call; log(service, action, '请求参数 => ', params); fn((res) => { log(service, action, '请求返回 => ', res); const { code, data } = res; code === Code.SUCCESS ? success(data) : fail(res); }, (err) => { log(service, action, '请求错误 => ', err); fail(err); }, service, action, params); }; /** * 包装函数 */ export const call = (options) => { const { success, fail } = options; if (success || fail) { return core(options); } return new Promise((success, fail) => core(Object.assign({}, options, { success, fail }))); };