uniapp 长时间不操作,自动退出登录页

store 下的inex.js文件

import Vue from 'vue'
import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({state: {// 记录最后一次点击时间的元素lastTime: new Date().getTime(),},mutations: {//点击事件调用,刷新最后一次点击时间lastTimeUpdata: (state, lastTime) => {state.lastTime = lastTime;}},actions: {}
})
export default store

time.js

import store from '../store/index.js';
export const timeOut = () => {let WebviewList = [];// 上一次点击时间let lastTime = null// 当前时间let currentTime = null// 超时时间【可以自己设置】// let sys_timeout = 5 * 1000let sys_timeout = 30 * 60 * 1000// 每隔多长时间检查是否超时【可以自己设置】let check_time = 1000// 计时器【此为功能实现的方法,现在为空】	let goOut = nullconst isTimeOut = () => {// 页面上一次的点击时间lastTime = store.state.lastTimecurrentTime = new Date().getTime()// 超时了if ((currentTime - lastTime) > sys_timeout) {return true;} else {return false;}}const isLoginOut = () => {clearInterval(goOut);//setInterval方法来确定多长时间检测一次有没有超时goOut = setInterval(() => {// #ifdef APP-PLUSvar pages = getCurrentPages();var page = pages[pages.length - 1];var currentWebview = page.$getAppWebview();// console.log(currentWebview); //获得当前webview的id// 判断一下是否超时,如果超时了就退出if (isTimeOut()) {if (currentWebview.__uniapp_route != 'pages/index/index') {// 需要转到的页面【这里用你自己的跳转方法和地址】uni.reLaunch({url: `/pages/index/index`,});}//已经超时跳转到相应界面,不需要计时了// clearInterval(goOut)} else {}let flag = false;for (let webview of WebviewList) {if (webview.__uniapp_route == currentWebview.__uniapp_route) {flag = true;}}if (!flag) {WebviewList.push(currentWebview);currentWebview.addEventListener('touchstart', function() {console.log('点击了');store.commit('lastTimeUpdata', new Date().getTime());}, false);currentWebview.addEventListener('close', function() {// console.log('关闭了');for (var i = 0; i < WebviewList.length; i++) {if (WebviewList[i].__uniapp_route == currentWebview.__uniapp_route) {WebviewList.splice(i, 1);}}}, false);}// #endif// #ifdef H5if (isTimeOut()) {// 需要转到的页面【这里用你自己的跳转方法和地址】uni.reLaunch({url: `/pages/index/index`,});//已经超时跳转到相应界面,不需要计时了// clearInterval(goOut)}// #endif}, check_time);}isLoginOut();
}

main.js 挂载全局

import store from './store/index.js'
Vue.prototype.$store = store

app.vue文件引用

<script>
import { timeOut } from './common/time.js';
export default {onLaunch: function() {let that = this;console.log('App Launch');timeOut();// #ifdef H5// /* 实现全局点击事件监听 */setTimeout(function() {var body_ = document.getElementsByTagName('body')[0];body_.addEventListener('click', function() {that.$store.commit('lastTimeUpdata', new Date().getTime());});}, 1000);// #endif},onShow: function() {console.log('App Show');},onHide: function() {console.log('App Hide');}
};
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/19319.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大牛练成记:用JavaScript徒手写出一个日期选择插件

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;本文已收录于专栏&#xff1a;100个JavaScript的小应用。 &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收…

【C语言】初识指针

【C语言】初识指针 一、指针是什么&#xff1f;二、指针和指针类型1. 指针-整数2. 指针的解引用三、野指针1.野指针成因2 .如何规避野指针四、指针运算五、二级指针七、指针数组 &#x1f388;个人主页&#xff1a;库库的里昂&#x1f390;CSDN新晋作者&#x1f389;欢迎 &…

ansible安装及rhel8仓库配置

目录 一、本地仓库 问题&#xff1a; 解决&#xff1a; 1.创建一个仓库&#xff1a; 内容&#xff1a; 2.挂载&#xff1a; 挂载&#xff1a; 测试&#xff1a; 3.或者直接使用阿里云的源 二.配置ansible仓库 1.下载&#xff1a; 2.检查 一、本地仓库 问题&#xff1a; 当…

R并行计算-parallel例子1

前言&#xff1a; 通常&#xff0c;如果进程运行时间超过3分钟&#xff0c;则会考虑使用并行处理。 这听起来可能很复杂&#xff0c;但是并行计算很简单。 当你有一个重复的任务&#xff0c;它占用了你太多宝贵的时间&#xff0c;为什么不使用并行计算来节省时间呢&#xff…

vue3+uniapp自定义tabbar

首先把tabbar中的元素写在一个list中用v-for进行渲染 用一个interface进行定义接口&#xff0c;这样别人在review你的代码就可以清晰知道你的tabbar包含什么元素。 利用typescript特性进行类型定义&#xff0c;可以省去很多麻烦 import { reactive } from "vue" imp…

docker快速入门

文章目录 简介&#xff1a;组成&#xff1a;安装&#xff1a;运行&#xff1a;原理&#xff1a;常用命令&#xff1a;1.帮助启动类命令2.镜像命令3.容器命令4.命令交互图5.将镜像打包发布到阿里云1.将本地容器制作为镜像2.登录阿里云3.创建个人实例4.创建镜像仓库5.将镜像推送到…

马上解锁 StarRocks 存算分离,降本增效无需等!

StarRocks 于 4 月底正式发布了 3.0 版本&#xff0c;该里程碑版本带来了大家期盼已久的新特性--存算分离。此新功能一推出&#xff0c;立即受到社区热情追捧&#xff0c;用户纷纷开始在自己的业务中评估和测试存算分离效果。从芒果TV、聚水潭、网易邮箱、浪潮、天道金科等数十…

【VScode】Remote-SSH XHR failed无法访问远程服务器

问题概述 当使用VScode连接远程服务器时&#xff0c;往往需要使用Remote-SSH这个插件。而该插件有一个小bug&#xff0c;当远程服务器网络不佳时容易出现。 在控制台会出现下述语句&#xff1a; Resolver error: Error: XHR failed at y.onerror (vscode-file://vscode-app/…

桥接模式——处理多维度变化

1、简介 1.1、概述 桥接模式是一种很实用的结构型设计模式。如果软件系统中某个类存在两个独立变化的维度&#xff0c;通过该模式可以将这两个维度分离出来&#xff0c;使两者可以独立扩展&#xff0c;让系统更加符合单一职责原则。与多层继承方案不同&#xff0c;它将两个独…

游戏APP开发:创新设计的秘诀

在游戏 APP开发中&#xff0c;创新设计是游戏开发公司的一大追求&#xff0c;为了可以为用户带来更好的游戏体验&#xff0c;这就需要对游戏 APP开发进行创新设计。那么&#xff0c;游戏 APP开发中的创新设计是什么呢&#xff1f;接下来&#xff0c;我们就一起来看看吧。 想要…

mongodb docker 及常用命令

MongoDB属于非关系型数据库&#xff0c;它是由C编写的分布式文档数据库。内部使用类似于Json的bson二进制格式。 中文手册 https://www.w3cschool.cn/mongodb/ 安装 https://www.mongodb.com/try/download/community 二进制安装可见另一篇&#xff1a; centos7 mongodb 4.0.28…

基于SpringBoot+Vue驾校理论课模拟考试系统源码(自动化部署)

DrivingTestSimulation Unity3D Project, subject two, simulated driving test 【更新信息】 更新时间-2021-1-17 解决了方向盘不同机型转动轴心偏离 更新时间-2021-2-18 加入了手刹系统 待更新-2021-6-19&#xff08;工作太忙少有时间更新&#xff0c;先指出问题&#xf…

SSL原理详解

SSL协议结构&#xff1a; SSL协议分为两层&#xff0c;下层为SSL记录协议&#xff0c;上层为SSL握手协议、SSL密码变化协议和SSL警告协议。 1.下层为SSL记录协议&#xff0c;主要作用是为高层协议提供基本的安全服务 建立在可靠的传输之上&#xff0c;负责对上层的数据进行分块…

ISP记1

噪声分类 空间区域 分布模型分类&#xff1a;Gaussian噪声、瑞利噪声、泊松噪声、乘性噪声、脉冲噪声、均匀分布噪声 频域谱波形分类&#xff1a;均匀分布噪声、白噪声&#xff08;噪声的功率谱为参数&#xff0c;且与图像线性无关&#xff09;1/f噪声、a f 2 f^{2} f2噪声&a…

Vue3+Vite+TypeScript常用项目模块详解

目录 1.Vue3ViteTypeScript 概述 1.1 vue3 1.1.1 Vue3 概述 1.1.2 vue3的现状与发展趋势 1.2 Vite 1.2.1 现实问题 1.2 搭建vite项目 1.3 TypeScript 1.3.1 TypeScript 定义 1.3.2 TypeScript 基本数据类型 1.3.3 TypeScript语法简单介绍 2. 项目配置简单概述 2.…

小白到运维工程师自学之路 第六十三集 (dockerfile安装sshd、httpd、nginx)

一、概述 Dockerfile的指令根据作用可以分为两种&#xff0c;构建指令和设置指令。构建指令用于构建image&#xff0c;其指定的操作不会在运行image的容器上执行&#xff1b;设置指令用于设置image的属性&#xff0c;其指定的操作将在运行image的容器中执行。 1、FROM 镜像:T…

em3288 linux_4.19 sd卡调试

默认配置&#xff0c;根据实际配置即可。

Maven-学习笔记

文章目录 1. Maven简介2.Maven安装和基础配置3.Maven基本使用4.Maven坐标介绍 1. Maven简介 概念 Maven是专门用于管理和构建Java项目的工具 主要功能有: 提供了一套标准化的项目结构提供了一套标准化的构建流程&#xff08;编译&#xff0c;测试&#xff0c;打包&#xff0c;…

语音识别 — 特征提取 MFCC 和 PLP

一、说明 语音识别是一种技术&#xff0c;通过计算机和软件系统&#xff0c;将人们的口头语言转换为计算机可读的文本或命令。它使用语音信号处理算法来识别和理解人类语言&#xff0c;并将其转换为计算机可处理的格式。语音识别技术被广泛应用于许多领域&#xff0c;如语音助手…

什么是图像特征?如何让计算机理解图像特征?

图像的特征 大多数人都玩过拼图游戏。首先拿到完整图像的碎片&#xff0c;然后把这些碎片以正确的方式排列起来从而重建这幅图像。如果把拼图游戏的原理写成计算机程序&#xff0c;那计算机就也会玩拼图游戏了。 在拼图时&#xff0c;我们要寻找一些唯一的特征&#xff0c;这…