request.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import Request from '@/utils/luch-request/index.js'
  2. const getTokenStorage = () => {
  3. let token = ''
  4. try {
  5. token = uni.getStorageSync('token')
  6. } catch (e) {
  7. }
  8. return token
  9. }
  10. const http = new Request()
  11. http.setConfig((config={}) => { /* 设置全局配置 */
  12. config.header = {
  13. ...config.header,
  14. }
  15. return config
  16. })
  17. http.interceptors.request.use((config) => { /* 请求之前拦截器。可以使用async await 做异步操作 */
  18. console.log('这里再看config',config);
  19. config.header = {
  20. ...config.header,
  21. 'X-AIYANGNIU-SIGNATURE': getTokenStorage()
  22. }
  23. // let token = getTokenStorage()
  24. // if (!token) { // 如果token不存在,return Promise.reject(config) 会取消本次请求
  25. // return Promise.reject(config)
  26. // }
  27. //如果需要json传递方式
  28. if(config.custom.isJson){
  29. config.header = {
  30. ...config.header,
  31. 'Content-Type': 'application/json;charset=UTF-8'
  32. }
  33. } else {
  34. config.header = {
  35. ...config.header,
  36. 'Content-Type': 'application/x-www-form-urlencoded'
  37. }
  38. }
  39. return config
  40. }, (config) => {
  41. return Promise.reject(config)
  42. })
  43. http.interceptors.response.use(async (response) => { /* 请求之后拦截器。可以使用async await 做异步操作 */
  44. // if (response.data.code !== 200) { // 服务端返回的状态码不等于200,则reject()
  45. // return Promise.reject(response)
  46. // }
  47. console.log('标记',response)
  48. return response.data
  49. }, (response) => { // 请求错误做点什么。可以使用async await 做异步操作
  50. return Promise.reject(response)
  51. })
  52. // export default (options = {})=>{
  53. // console.log('走方法',options);
  54. // // 实例请求方法
  55. // http.request({
  56. // method: options.method, // 请求方法必须大写
  57. // url: options.url,
  58. // data: options.data,
  59. // // #ifdef MP-ALIPAY || MP-WEIXIN
  60. // timeout: 30000, // 仅微信小程序(2.10.0)、支付宝小程序支持
  61. // // #endif
  62. // params: options.params,
  63. // // 注:如果局部custom与全局custom有同名属性,则后面的属性会覆盖前面的属性,相当于Object.assign(全局,局部)
  64. // custom: {
  65. // isJson: options.isJson,
  66. // needToken: options.needToken
  67. // }, // 自定义参数
  68. // })
  69. // }
  70. export { http }