lei-mu / luch-request

luch-request 是一个基于Promise 开发的uni-app跨平台、项目级别的请求库,它有更小的体积,易用的api,方便简单的自定义能力。
https://www.quanzhan.co/luch-request/
MIT License
628 stars 96 forks source link

如何全局挂载?另外这个还在维护吗 #142

Closed pifeifei closed 4 months ago

pifeifei commented 4 months ago

怎么全局挂载那

hbuilder x: 4.15 luch-request: 最新版

目录 js_sdk/luch-request/luch-request 我像全局挂载方便 http 请求,跟实例中的目录不一样,请问如何处理呢?

luch-request-tt

lei-mu commented 4 months ago
import Request from '@/js_sdk/luch-request/luch-request/index.js' // 下载的插件
// import Request from 'luch-request' // 使用npm

const http = new Request();

Vue.prototype.$http = http 
pifeifei commented 4 months ago
import Request from '@/js_sdk/luch-request/luch-request/index.js' // 下载的插件
// import Request from 'luch-request' // 使用npm

const http = new Request();

Vue.prototype.$http = http 

这个是 vue2 版本的吧?支持 vue 3 吗

pifeifei commented 4 months ago

基于 vue3

# 安装
npm install luch-request --save  
// /main.js 全局设置

// #ifdef VUE3
import { createSSRApp } from 'vue'
import Request from 'luch-request'

const http = new Request();
http.setConfig((config) => { /* config 为默认全局配置*/
    config.baseURL = 'http://127.0.0.1:8000/api'; /* 根域名 */
    config.method = 'POST';
    config.header = {
        a: 1, // 演示用
        b: 2  // 演示用
    }
    return config
})
export function createApp() {
  const app = createSSRApp(App)
  app.config.globalProperties.$http = http;
  return {
    app
  }
}
// #endif
// 参考 https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html#%E5%85%A8%E5%B1%80%E5%B1%9E%E6%80%A7
// pages/index/index.vue 使用
    export default {
       // 其他代码
        onLoad() {
            this.$http.request({
                url: 'test',
                data: {
                  firstName: 'Fred',
                  lastName: 'Flintstone'
                }
            })
            .then(res => {
                console.log(res) // 打印返回结果
            }).catch(err => {
                console.log(res)
            })
        }
    }