|
@@ -10,16 +10,14 @@ import prompt from "@system.prompt";
|
|
|
|
|
|
// 获取token
|
|
// 获取token
|
|
let token = null;
|
|
let token = null;
|
|
|
|
+let requestLoginTime = 0;
|
|
|
|
+
|
|
export const getToken = async () => {
|
|
export const getToken = async () => {
|
|
if (getToken.promise) return getToken.promise;
|
|
if (getToken.promise) return getToken.promise;
|
|
-
|
|
|
|
if (!token) token = (await storage.get({ key: "token" })).data;
|
|
if (!token) token = (await storage.get({ key: "token" })).data;
|
|
-
|
|
|
|
// token格式化
|
|
// token格式化
|
|
if (token && typeof token === "string") token = JSON.parse(token);
|
|
if (token && typeof token === "string") token = JSON.parse(token);
|
|
-
|
|
|
|
console.log("checkToken", checkToken(token));
|
|
console.log("checkToken", checkToken(token));
|
|
-
|
|
|
|
if (!token) getToken.promise = login();
|
|
if (!token) getToken.promise = login();
|
|
else if (checkToken(token)) return Promise.resolve(token.token);
|
|
else if (checkToken(token)) return Promise.resolve(token.token);
|
|
else {
|
|
else {
|
|
@@ -37,9 +35,13 @@ export const getToken = async () => {
|
|
return getToken.promise;
|
|
return getToken.promise;
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+
|
|
// 登录
|
|
// 登录
|
|
export const login = async () => {
|
|
export const login = async () => {
|
|
- console.log("begin login");
|
|
|
|
|
|
+ requestLoginTime++;
|
|
|
|
+ if(requestLoginTime!=1){
|
|
|
|
+ let loginResponed = await loginPromise();
|
|
|
|
+ }
|
|
const signKey = "a!A&AFRWT65Nb3NlklezUiqHyQAA@Z8M";
|
|
const signKey = "a!A&AFRWT65Nb3NlklezUiqHyQAA@Z8M";
|
|
const packages = 'com.beidao.kuaiying.zsy';
|
|
const packages = 'com.beidao.kuaiying.zsy';
|
|
let device_info = (await device.getInfo()).data;
|
|
let device_info = (await device.getInfo()).data;
|
|
@@ -50,41 +52,28 @@ export const login = async () => {
|
|
if (send_order_id) queryString = `androidid=${androidid.userId}&device_info=${JSON.stringify(device_info)}&device_no=${androidid.userId}&package=${packages}&send_order_id=${send_order_id}×tamp=${timestamp}&key=${signKey}`;
|
|
if (send_order_id) queryString = `androidid=${androidid.userId}&device_info=${JSON.stringify(device_info)}&device_no=${androidid.userId}&package=${packages}&send_order_id=${send_order_id}×tamp=${timestamp}&key=${signKey}`;
|
|
else queryString = `androidid=${androidid.userId}&device_info=${JSON.stringify(device_info)}&device_no=${androidid.userId}&package=${packages}×tamp=${timestamp}&key=${signKey}`;
|
|
else queryString = `androidid=${androidid.userId}&device_info=${JSON.stringify(device_info)}&device_no=${androidid.userId}&package=${packages}×tamp=${timestamp}&key=${signKey}`;
|
|
let data = qs.stringify({
|
|
let data = qs.stringify({
|
|
- androidid:androidid.userId,
|
|
|
|
|
|
+ androidid: androidid.userId,
|
|
device_info: JSON.stringify(device_info),
|
|
device_info: JSON.stringify(device_info),
|
|
device_no: androidid.userId,
|
|
device_no: androidid.userId,
|
|
package: packages,
|
|
package: packages,
|
|
send_order_id: send_order_id,
|
|
send_order_id: send_order_id,
|
|
timestamp: timestamp,
|
|
timestamp: timestamp,
|
|
sign: hex_md5(queryString),
|
|
sign: hex_md5(queryString),
|
|
-
|
|
|
|
});
|
|
});
|
|
- let isLoginSleep = await loginSleep();
|
|
|
|
- if(isLoginSleep){
|
|
|
|
- let ret = await fly.post("/login", data);
|
|
|
|
- await storage.set({ key: "loginTime", value: new Date().getTime() });
|
|
|
|
- console.log("login over");
|
|
|
|
- return ret;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ let ret = await fly.post("/login", data);
|
|
|
|
+ requestLoginTime = 0;
|
|
|
|
+ return ret;
|
|
};
|
|
};
|
|
|
|
|
|
-//我来判断是否要立即登录
|
|
|
|
-const loginSleep = async () =>{
|
|
|
|
- let current = new Date().getTime();
|
|
|
|
- let loginTime = (await storage.get({ key: "loginTime" })).data;
|
|
|
|
- let sleep = new Promise(function(resolve, reject) {
|
|
|
|
- if( loginTime && Math.floor((current - loginTime) / 1000) < 2 ){
|
|
|
|
- setTimeout(()=>{
|
|
|
|
- resolve(true)
|
|
|
|
- },2000)
|
|
|
|
- }else{
|
|
|
|
- resolve(true)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- return sleep;
|
|
|
|
|
|
+const loginPromise = () =>{
|
|
|
|
+ return new Promise((resolve,reject)=>{
|
|
|
|
+ setTimeout(()=>{
|
|
|
|
+ resolve(true)
|
|
|
|
+ },800)
|
|
|
|
+ })
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
// 检测数据结果
|
|
// 检测数据结果
|
|
export const checkResult = r => {
|
|
export const checkResult = r => {
|
|
if (!r.data.code) {
|
|
if (!r.data.code) {
|
|
@@ -100,10 +89,10 @@ const refreshToken = () => {
|
|
.get("/refreshToken", {
|
|
.get("/refreshToken", {
|
|
token: token.token
|
|
token: token.token
|
|
}, {
|
|
}, {
|
|
- headers: {
|
|
|
|
- Authorization: token.token
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ headers: {
|
|
|
|
+ Authorization: token.token
|
|
|
|
+ }
|
|
|
|
+ })
|
|
.then(r => {
|
|
.then(r => {
|
|
return r;
|
|
return r;
|
|
})
|
|
})
|
|
@@ -228,13 +217,13 @@ function isExceedDay(theDate, expDay) {
|
|
return theDate < targetTime;
|
|
return theDate < targetTime;
|
|
}
|
|
}
|
|
|
|
|
|
-export const getSendOrderId= (fn) =>{
|
|
|
|
|
|
+export const getSendOrderId = (fn) => {
|
|
storage.get({
|
|
storage.get({
|
|
key: 'send_order_id',
|
|
key: 'send_order_id',
|
|
success: data => {
|
|
success: data => {
|
|
- fn && fn(data);
|
|
|
|
|
|
+ fn && fn(data);
|
|
},
|
|
},
|
|
- fail: (data,code) => {
|
|
|
|
|
|
+ fail: (data, code) => {
|
|
console.log(`handling fail, code = ${code}`)
|
|
console.log(`handling fail, code = ${code}`)
|
|
}
|
|
}
|
|
})
|
|
})
|