请问大家帮我看看 这个封装的请求如何携带一个共用的参数?

export const request = (options = {}) => {

//异步封装接口,使用Promise处理异步请求
return new Promise((resolve, reject) => {
    console.log(options.data);
        let rd3_key = uni.getStorageSync('rd3_key') ? uni.getStorageSync('rd3_key') : ''
        
        // 发送请求
        uni.request({
            url: baseUrl + options.url || '', //接收请求的API
            method: options.method || 'GET', //接收请求的方式,如果不传默认为GET
            data: options.data || {}, //接收请求的data,不传默认为空
            header: {
                'content-type': 'application/x-www-form-urlencoded', //修改此处即可
            }
        }).then(data => {
            let [err, res] = data;
            resolve(res);
        }).catch(error => {
            reject(error);
        })
    

})

}

我想在data 参数里 携带一个rd3_key:rd3_key 所有接口都需要这个,请问如何去写

阅读 1.4k
3 个回答
//异步封装接口,使用Promise处理异步请求
return new Promise((resolve, reject) => {
    console.log(options.data);
        let rd3_key = uni.getStorageSync('rd3_key') ? uni.getStorageSync('rd3_key') : ''
        let params = {
            ...options.data,
            rd3_key
        }
        // 发送请求
        uni.request({
            url: baseUrl + options.url || '', //接收请求的API
            method: options.method || 'GET', //接收请求的方式,如果不传默认为GET
            data: options.data ? params: {}, //接收请求的data,不传默认为空
            header: {
                'content-type': 'application/x-www-form-urlencoded', //修改此处即可
            }
        }).then(data => {
            let [err, res] = data;
            resolve(res);
        }).catch(error => {
            reject(error);
        })
    

})
}

Object.assign({}, options.data, { rd3_key })

不需要额外包一层Promise

export const request = (options = {}) => {
  let rd3_key = uni.getStorageSync('rd3_key') ? uni.getStorageSync('rd3_key') : ''
  // 发送请求
  return uni.request({
      url: baseUrl + options.url || '', //接收请求的API
      method: options.method || 'GET', //接收请求的方式,如果不传默认为GET
      data: {
        ...options.data,
        rd3_key
      }, //接收请求的data,不传默认为空
      header: {
          'content-type': 'application/x-www-form-urlencoded', //修改此处即可
      }
  }).then(data => {
      return data.res
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题