|
@@ -1,12 +1,14 @@
|
|
|
import fly from "./fly";
|
|
|
import qs from "qs";
|
|
|
-import storage from '@system.storage';
|
|
|
-import device from '@system.device';
|
|
|
-
|
|
|
+import storage from "@system.storage";
|
|
|
+import device from "@system.device";
|
|
|
+import request from '@system.request';
|
|
|
+import media from '@system.media';
|
|
|
+import prompt from '@system.prompt';
|
|
|
// 获取token
|
|
|
let token = null;
|
|
|
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;
|
|
|
|
|
@@ -21,14 +23,16 @@ export const getToken = async () => {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- getToken.promise = getToken.promise.finally(() => {
|
|
|
- getToken.promise = null;
|
|
|
- }).then(r => {
|
|
|
- return setToken(r);
|
|
|
- })
|
|
|
+ getToken.promise = getToken.promise
|
|
|
+ .finally(() => {
|
|
|
+ getToken.promise = null;
|
|
|
+ })
|
|
|
+ .then(r => {
|
|
|
+ return setToken(r);
|
|
|
+ });
|
|
|
|
|
|
return getToken.promise;
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 登录
|
|
|
export const login = async () => {
|
|
@@ -42,50 +46,111 @@ export const login = async () => {
|
|
|
let ret = await fly.post("/login", data);
|
|
|
console.log("login over");
|
|
|
return ret;
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 检测数据结果
|
|
|
-export const checkResult = (r) => {
|
|
|
+export const checkResult = r => {
|
|
|
if (!r.data.code) {
|
|
|
return r.data.data;
|
|
|
} else {
|
|
|
- return Promise.reject(r)
|
|
|
+ return Promise.reject(r);
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 刷新token
|
|
|
const refreshToken = () => {
|
|
|
- return fly.get("/RefreshToken", {
|
|
|
- token: token.token
|
|
|
- }).then(r => {
|
|
|
- return checkResult(r)
|
|
|
- }).catch(e => {
|
|
|
- console.error('刷新token失败')
|
|
|
- return Promise.reject(e)
|
|
|
- })
|
|
|
-}
|
|
|
+ return fly
|
|
|
+ .get("/RefreshToken", {
|
|
|
+ token: token.token
|
|
|
+ })
|
|
|
+ .then(r => {
|
|
|
+ return checkResult(r);
|
|
|
+ })
|
|
|
+ .catch(e => {
|
|
|
+ console.error("刷新token失败");
|
|
|
+ return Promise.reject(e);
|
|
|
+ });
|
|
|
+};
|
|
|
|
|
|
// 检查token的有效期
|
|
|
-const checkToken = (t) => {
|
|
|
- return new Date() < t.time
|
|
|
-}
|
|
|
+const checkToken = t => {
|
|
|
+ return new Date() < t.time;
|
|
|
+};
|
|
|
|
|
|
// 设置token
|
|
|
-const setToken = async (t) => {
|
|
|
+const setToken = async t => {
|
|
|
token = formatToken(t);
|
|
|
await storage.set({ key: "token", value: token });
|
|
|
return t.token;
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 清除token
|
|
|
export const clearToken = async () => {
|
|
|
- token = null
|
|
|
- await storage.delete({ key: 'token' })
|
|
|
-}
|
|
|
+ token = null;
|
|
|
+ await storage.delete({ key: "token" });
|
|
|
+};
|
|
|
|
|
|
// 处理token的格式
|
|
|
-const formatToken = (t) => {
|
|
|
- t.token = 'Bearer ' + t.token
|
|
|
- t.time = t.time * 1000 - 5 * 1000 * 60
|
|
|
- return t
|
|
|
-}
|
|
|
+const formatToken = t => {
|
|
|
+ t.token = "Bearer " + t.token;
|
|
|
+ t.time = t.time * 1000 - 5 * 1000 * 60;
|
|
|
+ return t;
|
|
|
+};
|
|
|
+
|
|
|
+// 下载图片
|
|
|
+export const downImg = photoPath => {
|
|
|
+ //获取图片名
|
|
|
+ let list = photoPath.split(".");
|
|
|
+ let timeValue = new Date().valueOf();
|
|
|
+ /* 获取图片后缀 */
|
|
|
+ let photoExt = list[list.length - 1];
|
|
|
+ /* 设置要保存的图片名 */
|
|
|
+ let filename = `${timeValue}.${photoExt}`;
|
|
|
+ request.download({
|
|
|
+ url: photoPath,
|
|
|
+ filename: filename,
|
|
|
+ success: data => {
|
|
|
+ request.onDownloadComplete({
|
|
|
+ token: data.token,
|
|
|
+ success: data => {
|
|
|
+ /* 保存图片 */
|
|
|
+ media.saveToPhotosAlbum({
|
|
|
+ uri: data.uri,
|
|
|
+ success: () => {
|
|
|
+ prompt.showToast({
|
|
|
+ message: "图片保存成功!"
|
|
|
+ });
|
|
|
+ },
|
|
|
+ fail: (data, code) => {
|
|
|
+ if (code == 201) {
|
|
|
+ prompt.showToast({
|
|
|
+ message: "授权成功后才能保存图片哦"
|
|
|
+ });
|
|
|
+ } else if (code == 202) {
|
|
|
+ prompt.showToast({
|
|
|
+ message: "请刷新后重试"
|
|
|
+ });
|
|
|
+ } else if (code == 300) {
|
|
|
+ prompt.showToast({
|
|
|
+ message: "图片保存失败"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ fail: (data, code) => {
|
|
|
+ if (code == 1000) {
|
|
|
+ prompt.showToast({
|
|
|
+ message: "图片下载失败"
|
|
|
+ });
|
|
|
+ } else if (code == 1001) {
|
|
|
+ prompt.showToast({
|
|
|
+ message: "下载任务不存在"
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ fail: () => {}
|
|
|
+ });
|
|
|
+};
|