request.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import config from "@/config";
  2. import storage from "./storage";
  3. export default {
  4. console(options){
  5. // if(config.debug){
  6. // console.log("====================【request start】===========================");
  7. // console.log("header: " + JSON.stringify(options.header));
  8. // console.log("method: " + options.method + " URL: " + options.url);
  9. // console.log(options.data);
  10. // console.log("====================【request end】===========================");
  11. // }
  12. },
  13. domain(){
  14. return config.uni_app_web_api_url.replace("api","");
  15. },
  16. send(options={}){
  17. if(options.url == '/user/session' || options.url == '/user/login'){
  18. options.url=config.uni_app_web_api_url.replace("/api","") + '' + options.url
  19. }else{
  20. options.url = config.uni_app_web_api_url + '' + options.url;
  21. }
  22. options.method = options.method || "GET";
  23. let users = storage.getJson("users");
  24. let token = storage.getJson("token");
  25. if(users != null && token != null){
  26. options.header = { "Authorization" : token };
  27. }
  28. this.console(options);
  29. return new Promise((resolve, reject) =>{
  30. uni.request(options).then(data=>{
  31. var [error, res] = data;
  32. this.console(res);
  33. if(error != null){
  34. reject(error);
  35. }else{
  36. if(res.data.status == '-1001'){
  37. uni.hideLoading();
  38. uni.navigateTo({
  39. url: '/pages/public/login'
  40. });
  41. }else{
  42. resolve(res.data);
  43. }
  44. }
  45. });
  46. });
  47. },
  48. get(url="",data={}){
  49. return this.send({
  50. url: url,
  51. data: data
  52. });
  53. },
  54. post(url="",data={}){
  55. return this.send({
  56. url: url,
  57. data: data,
  58. method: "POST",
  59. });
  60. }
  61. };