UNPKG

@cloudcome/utils-uni

Version:
59 lines (58 loc) 2.27 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const type = require("@cloudcome/utils-core/type"); const request = require("@cloudcome/utils-vue/request"); const _helpers = require("./_helpers.cjs"); function importCloudObject(objectName, importOptions) { const fallbackErrorMessage = importOptions?.fallbackErrorMessage || "请求失败"; const server = importOptions?._mockServer || uniCloud.importObject(objectName, importOptions); const useCloudMethod = (method, caller, options) => { return request.useRequest( async (...inputs) => { const methodName = type.isFunction(method) ? method(...inputs) : method; const request2 = server[methodName]; const output = await caller(request2, ...inputs); return _helpers.parseCloudMethodOutput(output, fallbackErrorMessage); }, { ...options, onBefore(...inputs) { if (options?.showLoading) uni.showLoading({ title: "", mask: true }); importOptions?.onBefore?.(); options?.onBefore?.(...inputs); }, onSuccess(data, ...inputs) { importOptions?.onSuccess?.(); options?.onSuccess?.(data, ...inputs); }, onError(err, ...inputs) { importOptions?.onError?.(err); options?.onError?.(err, ...inputs); if (options?.showError) { setTimeout(() => { uni.showToast({ title: err.message, icon: "none", duration: 3e3, mask: false }); }); } }, onAfter(...inputs) { if (options?.showLoading) uni.hideLoading(); importOptions?.onAfter?.(); options?.onAfter?.(...inputs); } } ); }; return useCloudMethod; } function useDatabase(caller, options) { const db = options?._mockDatabase || uniCloud.database(); return request.useRequest(async (...inputs) => { const { result } = await caller(db, ...inputs); if (!result.errCode) return result; throw new Error(result.errMsg || "请求失败"); }, options); } exports.parseCloudMethodOutput = _helpers.parseCloudMethodOutput; exports.importCloudObject = importCloudObject; exports.useDatabase = useDatabase; //# sourceMappingURL=client.cjs.map