http.js 1.83 KB
import { login } from './login'
export default function http(data) {
  if (getApp().globalData.token !== '') {
    return new Promise((resolve, rejects) => {
      dd.httpRequest({
        headers: {
          // "Content-Type": `${ data.method === 'POST' ? 'application/x-www-form-urlencoded' : 'application/json' }`,
          "Content-Type": 'application/json;charset=UTF-8',
          "Authorization": `Bearer ${getApp().globalData.token}`
        },
        url: `${getApp().globalData.globalUrl}${data.url}`,
        method: data.method,
        dataType: 'json',
        data: data.data,
        success: function (res) {
          if (res.data.code == 0) {
            resolve(res);
          }
        },
        fail: function (res) {
          rejects(res)
          console.log(res)
        }
      })
    })
  } else {
    return new Promise((resolve, rejects) => {
      login().then(res => {
        const { oapiUser } = res.data.data;
        getApp().globalData.token = res.data.data.accessToken.access_token
        getApp().globalData.name = res.data.data.oapiUser.name
        getApp().globalData.userid = res.data.data.oapiUser.userid
        getApp().globalData.avatar = res.data.data.oapiUser.avatar
        getApp().globalData.userInfo = JSON.stringify({ username: oapiUser.name, userId: oapiUser.userid, headUrl: oapiUser.avatar, "platform": "dingtalk" })
        dd.httpRequest({
          headers: {
            "Content-Type": "application/json",
            "Authorization": `Bearer ${getApp().globalData.token}`
          },
          url: `${getApp().globalData.globalUrl}${data.url}`,
          method: data.method,
          data: data.data,
          dataType: 'json',
          success: function (res) {
            resolve(res)
          },
          fail: function (res) {
            rejects(res)
          }
        })
      })
    })
  }
}