| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { useAppStore } from "@/stores/app.js";
- import Cache from "../utils/cache";
- import { Debounce } from "@/utils/validate.js";
- import {
- LOGIN_STATUS,
- USER_INFO,
- EXPIRES_TIME,
- STATE_R_KEY,
- BACK_URL,
- } from "@/config/cache";
- function prePage() {
- let pages = getCurrentPages();
- let prePage = pages[pages.length - 1];
- return prePage.route;
- }
- export const toLogin = Debounce(_toLogin, 800);
- export function _toLogin(push, pathLogin) {
- const appStore = useAppStore();
- appStore.LOGOUT();
- let path = prePage();
- let login_back_url = Cache.get(BACK_URL);
- uni.navigateTo({
- url: "/pages/users/login/index",
- });
- }
- export function checkLogin() {
- let token = Cache.get(LOGIN_STATUS);
- let expiresTime = Cache.get(EXPIRES_TIME);
- let newTime = Math.round(new Date() / 1000);
- const appStore = useAppStore();
- // 如果没有token,清除所有登录信息
- if (!token) {
- Cache.clear(LOGIN_STATUS);
- Cache.clear(EXPIRES_TIME);
- Cache.clear(USER_INFO);
- Cache.clear(STATE_R_KEY);
- return false;
- }
- // 如果有过期时间且已过期,清除所有登录信息
- if (expiresTime && expiresTime < newTime) {
- Cache.clear(LOGIN_STATUS);
- Cache.clear(EXPIRES_TIME);
- Cache.clear(USER_INFO);
- Cache.clear(STATE_R_KEY);
- return false;
- }
- // 恢复登录状态
- appStore.UPDATE_LOGIN(token);
- let userInfo = Cache.get(USER_INFO, true);
- if (userInfo) {
- appStore.UPDATE_USERINFO(userInfo);
- }
- return true;
- }
|