request.js 977 B

1234567891011121314151617181920212223242526272829303132333435
  1. import Envs from "./envs"
  2. import store from '../store/store'
  3. const debug = process.env.NODE_ENV !== 'production'
  4. /// 环境对象
  5. class Env {
  6. static defaultEnv = debug ? Envs.dev : Envs.release
  7. static currentEnv() { return Object.values(Envs).find((e)=>e.index==store.state.selectedEnv) ?? Api.defaultEnv }
  8. }
  9. /// 公共请求处理
  10. const request = (config) => {
  11. config.url = Env.currentEnv().url + config.url
  12. if(!config.data) config.data = {}
  13. if(!config.method) config.method = 'GET'
  14. console.log(JSON.stringify(config));
  15. let promise = new Promise(function(resolve, reject) {
  16. uni.request(config).then(responses => {
  17. // 异常
  18. if (responses[0]) {
  19. reject({message : "网络超时"})
  20. } else {
  21. let response = responses[1].data // 如果返回的结果是data.data的,嫌麻烦可以用这个,return res,这样只返回一个data
  22. resolve(response)
  23. }
  24. }).catch(error => {
  25. reject(error)
  26. })
  27. })
  28. return promise
  29. };
  30. export default request