Blame view

common/requestServer.js 3.34 KB
4b045f7c   刘淇   江阴初始化项目
1
2
  import common from "./common.js";
  
e133a83d   chenbiao   add 接口文档更新
3
4
5
6
7
8
9
  export const myRequest = (options) => {
      // 调接口加载
      uni.showLoading({
          title: "加载中",
          mask: true,
      });
      return new Promise((resolve, reject) => {
4b045f7c   刘淇   江阴初始化项目
10
          uni.request({
e133a83d   chenbiao   add 接口文档更新
11
12
13
14
15
16
17
18
19
20
21
22
23
24
              url: common,
              //默认参数
              data: options.data || {},
              // 配置请求头参数-例如token
  			header: { 
  				'content-type': 'application/json', 
  				Token: common.SetToken,
  				 // Accept: 'application/json',
  				 // 'Content-Type': 'application/json',
  				 // 'X-Requested-With': 'XMLHttpRequest'
  				 },
  			dataType: "json",
              method: options.method || 'GET',
              // sslVerify: true,
4b045f7c   刘淇   江阴初始化项目
25
  
e133a83d   chenbiao   add 接口文档更新
26
              // 接口请求成功
4b045f7c   刘淇   江阴初始化项目
27
              success: (res) => {
e133a83d   chenbiao   add 接口文档更新
28
                  // 关闭加载
4b045f7c   刘淇   江阴初始化项目
29
                  uni.hideLoading();
e133a83d   chenbiao   add 接口文档更新
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
                  console.log('接口所有参数', res);
                  if (res.statusCode !== 200) {
                      // 不同报错信息的提示和配置
                      if (res.statusCode == 500) {
                          return uni.showToast({
                              title: '服务器重启中...',
                              icon: "none",
                              mask: true,
                          })
                      } else {
                          return uni.showToast({
                              title: '获取数据失败',
                              icon: "none",
                              mask: true,
                          })
                      }
4b045f7c   刘淇   江阴初始化项目
46
                  }
e133a83d   chenbiao   add 接口文档更新
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
                  // 调用成功且有数据 返回数据  组件内通过 .then() 或者async await 接受异步返回数据
                  //resolve(res.data)
                  //在接口200 调用成功后 才能进行判断接口内的状态码 return_code 以此判定作何操作和提示
  		        const { statusCode, data } = res
  		        let return_code = res.data.return_code
  		        let return_message = res.data.return_message
  		        switch (return_code) {
  		          case '0':
  		            // 成功的数据data状态码  则直接返回数据
  		            resolve(res.data)
  		            break
  		          case '4011':
  		            uni.clearStorage()
  		            if (hasUserInfo && !isExisited && !checkToken) {
  		              isExisited = true
  		              uni.showModal({
  		                title: '提示',
  		                content: '身份失效,请重新登录!',
  		                complete: () => {
  		                  uni.reLaunch({ url: '/pages/index/index' })
  		                },
  		              })
  		            } else {
  		              reject(res.data)
  		            }
  		            break
  		          default:
  		            // 其他的如无特定要求 则做提示
  		            // reject(res.data)
  		            return uni.showToast({
  		              title: return_message || '请求失败',
  		              duration: 2000,
  		              icon: 'none',
  		            })
  		        }
4b045f7c   刘淇   江阴初始化项目
82
              },
4b045f7c   刘淇   江阴初始化项目
83
  
e133a83d   chenbiao   add 接口文档更新
84
85
86
              // 接口接口失败
              fail: (error) => {
                  // 关闭加载
4b045f7c   刘淇   江阴初始化项目
87
                  uni.hideLoading();
e133a83d   chenbiao   add 接口文档更新
88
89
90
91
92
93
94
95
                  console.log(2, error);
                  uni.showToast({
                      title: '请求接口失败',
                      icon: "none",
                      mask: true,
                  })
                  // 失败数据
                  reject(error)
4b045f7c   刘淇   江阴初始化项目
96
              }
e133a83d   chenbiao   add 接口文档更新
97
98
99
          })
      })
  }