微信小程序-用类的方法封装请求(基于uniapp)

367 阅读1分钟

http.js文件,引入基地址进行如下封装:

import BASE_URL from '@/environmen/environment.js';

class httputil {
    /**
     *  get请求
     * @param {*} url 
     * @param {*} params 
     */
    get({url, params}) {
        const token = uni.getStorageSync('token')
        // console.log(token);
        // console.log(url);
        url = BASE_URL+url;
        const header={
            'Admin-Token':token
        }
				let request = {
            method:"GET", url, header
        }
				request['data'] = params;
        return this.request(request);
    }

    /**
     *  post 请求
     * @param {*} param0 
     */
    post({url, params}) {
        const token = uni.getStorageSync('token')
        // console.log(token);
        // console.log(url);
        url = BASE_URL+url;
        const header={
            'Admin-Token':token,
            'content-type':'application/json',
        }
        return this.request({
            method:"POST", url,params,header
        });
    }

    /**
     * 请求
     * @param {*} param0 
     */
    postparam({url, params}) {
			  // 请求拦截器中的逻辑
				
        const token = uni.getStorageSync('token');
        // console.log(token);
        // console.log(url);
        url = BASE_URL+url;
        const header={
            'Admin-Token':token,
            'content-type':'application/x-www-form-urlencoded',
        }
        return this.request({
            method:"POST", url, params,header
        });
    }



    /**
     * 请求基方法
     * @param {} param0 
     */
    request({method, url, params, header}){
        return uni.request({
            url,
            method,
            header,
            data:params,
        }) 
    }


     buildURLSearchParams(paramMap) {
        let params;
        Object.keys(paramMap).forEach(key => {
          const val = paramMap[key];
          params=(key, val);
        });
        return params;
      }
    
}

export default new httputil();