yangyin
2024-02-29 2b38be166b3b23e7c0d54e03c0c83b3d03073cc3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
let Constant = require('../utils/constant.js')
let app = getApp()
let ACCESS_TOKEN_KEY = 'AccessToken'
let API = (params) => {
  // console.log(params,2)
  let tokenInfo = wx.getStorageSync(ACCESS_TOKEN_KEY)
  // console.log(tokenInfo, 3)
  let currentDateTime = new Date().getTime()
  if (!tokenInfo) {
    wx.reLaunch({
      url: '/login/login/index',
    })
    return
  }
  //设置登录时间为七天 判断token是否失效
  let effectiveTime = 7 * 60 * 60 * 24 * 1000
  // 判断当前时间与token存入的时间相比较,如果大于七天则重新登录
  if (((currentDateTime - tokenInfo.ExpreTime) > effectiveTime) && tokenInfo.isNeedToken) {
    wx.reLaunch({
      url: '/login/login/index',
    })
    return
  }
  let defaultParams = {
    url: '',
    method: "GET",
    data: "",
    header: {
      'content-type': 'application/json'
    },
    success: function () {},
    fail: function () {},
    complete: function () {}
  }
 
  let requestParam = Object.assign(defaultParams, params)
  // 判断是否要添加token
  if (tokenInfo.isNeedToken == true) {
    requestParam.header.Authorization = 'Bearer ' + tokenInfo.Token
  }
  wx.request({
    url: requestParam.url,
    method: requestParam.method,
    data: requestParam.data,
    header: requestParam.header,
    success: res => {
      let result = res.data
      if (result.data != undefined && result.data == 401) {
        RefreshToken()
        return
      }
      if (result.code && result.code != 0) {
        wx.showToast({
          title: result.message,
          icon: 'error',
          duration: 1500
        })
        RefreshToken()
        return
      }
      requestParam.success(res)
    },
    fail: err => {
      requestParam.fail(err)
    },
    complete: () => {
      requestParam.complete()
    }
  })
 
}
const RefreshToken = () => {
  wx.reLaunch({
    url: '/login/login/index',
  })
  return
 
  // 获取账户信息
  // let accountInfo = JSON.parse(wx.getStorageSync("AccountInfo"))
 
  // console.log(accountInfo,60)
  // 获取登录的用户信息
  // let userInfo = wx.getStorageSync("LoginUserInfo");
  // let sysInfo = app.globalData.sysInfo;
  // console.log('打印userInfo', userInfo)
  // let data = {
  //   SoftType: Constant.SoftType,
  //   SoftTag: Constant.SoftTag,
  //   LoginName: accountInfo.LoginName,
  //   LoginPwd: accountInfo.LoginPwd,
  //   CorpID: Constant.CorpID,
  //   WxCode: accountInfo.WxCode,
  //   UJsCode: accountInfo.UJsCode, //是否就是jsCode有待确认
  //   UAvatarUrl: userInfo == null ? "" : userInfo.avatarUrl,
  //   UCity: userInfo == null ? "" : userInfo.city,
  //   UProvince: userInfo == null ? "" : userInfo.province,
  //   UNickName: userInfo == null ? "" : userInfo.nickName,
  //   UGender: userInfo == null ? "" : userInfo.gender + "",
  //   SBrand: sysInfo.brand,
  //   SModel: sysInfo.model,
  //   SPlatform: sysInfo.platform,
  //   SVersion: sysInfo.version
  // }
  // console.log(JSON.stringify(data),110)
  // wx.request({
  //   url: Constant.BASE_SERVER_URL + "User/UserLogin/FromCorpWechatApplet@V1.0",
  //   method: 'POST',
  //   data: data,
  //   header: {
  //     'content-type': 'application/json'
  //   },
  //   fail: function (err) { //请求失败
  //     wx.showModal({
  //       content: '网络信号不好',
  //       showCancel: false,
  //       confirmColor: "#39b5de"
  //     });
  //   },
  //   success: function (res) {
  //     console.log(res, "新的token信息")
 
  //     var result = res.data;
  //     // console.log(result);
  //     if (result.Code != 0) {
  //       wx.showToast({
  //         title: 'token获取失败,请重新登录',
  //         icon: "none",
  //         duration: 2000
  //       })
  //       return;
  //     }
 
  //     var return_data = result.Data;
  //     if (return_data.Status != 0) {
  //       wx.showToast({
  //         title: 'token获取失败,请重新登录',
  //         icon: "none",
  //         duration: 2000
  //       })
  //       return;
  //     }
  //     let Token = return_data.Token
  //     let isNeedToken = false //是否需要Token 当Token失效的时候 判断是否跳转登录
  //     if (Token) {
  //       isNeedToken = true
  //     }
  //     let ExpreTime = new Date().getTime() //获取当前时间戳
 
  //     wx.setStorageSync('AccessToken', {
  //       Token: Token,
  //       ExpreTime: ExpreTime,
  //       isNeedToken: isNeedToken
  //     })
  //     wx.setStorageSync("AccountInfo", JSON.stringify(data))
  //     // 获取新的token后重新调用接口
  //     apiCb(params)
  //   }
  // });
}
export default API