From 64670f4cc6ea077f7794b46fcc4b92845b0a66b3 Mon Sep 17 00:00:00 2001 From: xiexiaoqin <xie.xiaoqin@mingwork.com> Date: Wed, 22 Apr 2020 15:58:09 +0800 Subject: [PATCH] perf:修改登录和请求 --- api/login.js | 33 ++++++++++++++++++--------------- api/xFetch.js | 29 ++++++++++++++++++++++------- 2 files changed, 40 insertions(+), 22 deletions(-) diff --git a/api/login.js b/api/login.js index 8f87c74..49d0ea4 100644 --- a/api/login.js +++ b/api/login.js @@ -18,31 +18,34 @@ export default async function login() { method: 'POST', dataType: 'json', success: function (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" - }); - lock = false; - resolve(res) + if (res.data.code == 0) { + 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" + }); + lock = false; + resolve(res) + } else { + lock = false; + reject(res.data); + } }, fail: function (err) { lock = false; reject(err); - console.log('err:' + err); } }) }, fail: function (err) { lock = false; reject(err); - console.log('fail:' + err); } }) }) diff --git a/api/xFetch.js b/api/xFetch.js index 5af61ef..6bfe439 100644 --- a/api/xFetch.js +++ b/api/xFetch.js @@ -1,3 +1,5 @@ +import login from "./login"; + export default function xFetch({ url, method, data, type }) { if (type == 'binding') { url = `${getApp().globalData.globalUrl2}${url}` @@ -14,22 +16,35 @@ export default function xFetch({ url, method, data, type }) { method: method, dataType: "json", data: data, - timeout: 10000, + timeout: 15000, success: function (res) { if (res.data.code == 0) { resolve(res); } else { - rejects({ ...res.data, refresh: true }); - dd.alert({ - content: res.data.msg || "请求数据异常", - buttonText: "确定" - }); + if (res.data.code == 401) { + login(); + } + alertOnce('请求异常,请重试', rejects); } }, fail: function (err) { - rejects({ refresh: true }); + alertOnce('网络异常,请重试', rejects); } }); }); } +let alert = false; +function alertOnce(content, rejects) { + if (alert == false) { + dd.alert({ + content: content, + buttonText: "确定", + success: () => { + rejects({ refresh: true }); + alert = false; + } + }); + } + alert = true; +} \ No newline at end of file -- libgit2 0.26.0