12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import store from '@/store/index.js'
- import config from '@/admin.config.js'
- const debugOptions = config.navBar.debug
- const db = uniCloud.database()
- export function request (action, params, options) {
- const {objectName, functionName, showModal, ...objectOptions} = Object.assign({
- objectName: 'uni-id-co',
- functionName: '',
- showModal: false,
-
- customUI: true,
- loadingOptions: {
- title: 'xxx'
- },
- }, options)
- // 兼容 云函数 与 云对象 请求,默认为云对象
- let call
- if (functionName) {
- call = uniCloud.callFunction({
- name: functionName,
- data: {
- action,
- params
- }
- })
- } else {
- const uniCloudObject = uniCloud.importObject(objectName, objectOptions)
- call = uniCloudObject[action](params)
- }
- return call.then(result => {
- if (!result) {
- return Promise.resolve(result)
- }
- if (result.errCode) {
- return Promise.reject(result)
- }
- return Promise.resolve(result)
- }).catch(err => {
- showModal && uni.showModal({
- content: err.errMsg || '请求服务失败',
- showCancel: false
- })
- // #ifdef H5
- const noDebugPages = ['/uni_modules/uni-id-pages/pages/login/login-withpwd', '/uni_modules/uni-id-pages/pages/register/register']
- const path = location.hash.split('#')[1]
- if (debugOptions && debugOptions.enable === true && noDebugPages.indexOf(path) === -1) {
- store.dispatch('error/add', {
- err: err.toString(),
- info: '$request("' + action + '")',
- route: '',
- time: new Date().toLocaleTimeString()
- })
- }
- // #endif
- return Promise.reject(err)
- })
- }
- // #ifndef VUE3
- export function initRequest(Vue) {
- Vue.prototype.$request = request
- }
- // #endif
- // #ifdef VUE3
- export function initRequest(app) {
- app.config.globalProperties.$request = request
- }
- // #endif
|