request.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. // 请求域名
  2. var domain = 'https://edu.findit.ltd/'
  3. //var domain = 'https://edu.dfwy.tech/'
  4. //var domain = 'http://kirin.com/'
  5. // #ifdef MP-WEIXIN
  6. // 'http://127.0.0.1:8000/';
  7. domain = uni.getAccountInfoSync().miniProgram.envVersion == 'release' ? 'https://edu.findit.ltd/' : 'https://edu.dfwy.tech/';
  8. // #endif
  9. // 发送网络请求的函数
  10. const request = (url, data = {}, method = 'GET') => {
  11. // 获取登录标识
  12. let userLogin = uni.getStorageSync('userLogin');
  13. // 合并参数
  14. if( userLogin && userLogin.authcode ) data = Object.assign({authcode:userLogin.authcode},data);
  15. // 封装
  16. return new Promise((resolve, reject) => {
  17. uni.request({
  18. url: domain+url,
  19. method: method,
  20. data: data,
  21. success: (res) => {
  22. // 登录提示
  23. if(res.data.code == 'no_login'){
  24. // 清空登录标识
  25. uni.setStorageSync('userLogin',null);
  26. // 清空用户信息
  27. uni.setStorageSync('userInfo',null);
  28. // 前去登录
  29. uni.showModal({
  30. title:"请登录",
  31. success(res){
  32. if (res.confirm) {
  33. // 用户点击确定按钮
  34. uni.navigateTo({
  35. url:"/pages/login/index"
  36. })
  37. }
  38. }
  39. })
  40. }
  41. // 返回结果
  42. resolve(res.data)
  43. },
  44. fail: (err) => {
  45. reject(err)
  46. }
  47. })
  48. })
  49. }
  50. const fileupload = (url, filePath,data = {}) =>{
  51. // 获取登录标识
  52. let userLogin = uni.getStorageSync('userLogin');
  53. // 合并参数
  54. if( userLogin && userLogin.authcode ) data = Object.assign({authcode:userLogin.authcode},data);
  55. // 封装
  56. return new Promise((resolve, reject) => {
  57. uni.uploadFile({
  58. url: domain+url, // 你的上传接口地址
  59. filePath: filePath,
  60. name: 'file', // 必须填写,为了后端接收文件流的参数名字
  61. formData: data,// 其他要上传的参数
  62. success: (res) => {
  63. // 登录提示
  64. if(res.data.code == 'no_login'){
  65. // 前去登录
  66. uni.showModal({
  67. title:"请登录",
  68. success(res){
  69. if (res.confirm) {
  70. // 用户点击确定按钮
  71. uni.navigateTo({
  72. url:"/pages/login/index"
  73. })
  74. }
  75. }
  76. })
  77. }
  78. // 转json,php返回可能会带bom头需要先替换
  79. let resdata = JSON.parse(res.data.replace('\uFEFF',''));
  80. resolve(resdata)
  81. },
  82. fail: (err) => {
  83. reject(err)
  84. }
  85. });
  86. })
  87. }
  88. // 模块导出,{name:object} 为对象式,导出多个使用
  89. // export default {request:request,request1:request1};
  90. // 单个对象,直接导出如下
  91. export default {request:request,fileupload:fileupload}