request.js 2.4 KB

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