vue3 移动端添加暗门 vconsole调试和显示隐藏
一、说明
需求:
生产环境出bug,是app单点登录,没法调试,需要加一个vconsole,但是不影响其他用户使用,于是想到用暗门的方式

实现:
最终实现如上图,点击个人中心几个字,点击10次显示vconsole,再点击10次隐藏
二、安装
框架是vue3的,首先引入vconsole,文档:https://github.com/Tencent/vConsole
1、npm
$ npm install vconsole
2、在合适的地方新建一个文件vconsole.js,内容如下:
import Vconsole from 'vconsole'
let vConsole = new Vconsole()
export default vConsole
3、main.js 引入
import vConsole from './vconsole/index'
经过以上三步走,绿色图标就会出现,点击可以看到console的调试界面

三、控制显示和隐藏
1、全局添加样式,这个id是vconsole按钮内置的,写了下面这句话,按钮就隐藏了,我们后面只需要控制显示就可以了
#__vconsole {
display: none;
&.show{
display: block;
}
}
2、在需要点击的地方添加方法,我这里是在“个人中心”几个字这里加方法
默认隐藏了,下面方法操作加“show” class显示
1.addClass:为指定的dom元素添加样式
2.removeClass:删除指定dom元素的样式
3.toggleClass:如果存在(不存在),就删除(添加)一个样式
4.hasClass:判断样式是否存在
<div class="vc-tigger" @click="toggleVc"></div> // 控制点击十次显示隐藏
hasClass(obj, cls) {
return obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
},
addClass(obj, cls) {
if (!this.hasClass(obj, cls)) obj.className += " " + cls;
},
toggleClass(obj,cls){
if(this.hasClass(obj,cls)){
this.removeClass(obj, cls);
}else{
this.addClass(obj, cls);
}
},
removeClass(obj, cls) {
if (this.hasClass(obj, cls)) {
var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');
obj.className = obj.className.replace(reg, ' ');
}
},
toggleVc(){
const nowTime = new Date().getTime();
if(nowTime - this.lastClickTime < 3000){
this.count ++;
} else {
this.count = 0;
}
this.lastClickTime = nowTime;
if(this.count >= 10) {
let vconDom = document.getElementById('__vconsole');
this.toggleClass(vconDom,'show')
this.count = 0;
}
}
以上就是所有代码了。
后续扩展还有,根据环境显示(判断当前环境:process.env.NODE_ENV),或者根据用户显示(userid 进行判断)等,灵活调整选用。
vue3 移动端添加暗门 vconsole调试和显示隐藏的更多相关文章
- 借助FreeHttp为任意移动端web网页添加vConsole调试
以下介绍在不用修改代码并发布项目的情况下,为我们日常使用的移动web应用(如手机web淘宝)添加vConsole调试工具的方法 vConsole介绍 vConsole是一个轻量.可拓展.针 ...
- 移动端真机debug调试神器 vConsole学习(一)之基础
参考 使用方法 移动端真机debug调试神器 vConsole的引入说明(原生态与WebPack) 移动端使用vconsole调试console vConsole ——开源的前端 console 调试 ...
- 你在寻找Vue3移动端项目框架嘛?请看这里
现在web开发变得更加美妙高效,在于开发工具设计得更好了,丰富性与易用性,都有所提高.丰富性带来了一个幸福的烦恼,就是针对实际应用场景,如何选择工具 ? 1. Vue Cli和Vite之间的选择 Vi ...
- 网页外部注入vConsole调试
概要 本篇介绍一种十分方便的方法为网站添加 vConsole 调试(通过篡改请求外部注入的方式,不需要您是网站的拥有者,主要用于调试线上站点). 之前已经发过一篇<借助FreeHttp为任意 ...
- 杭州蓝松科技推出的安卓端的USB转串口调试助手, 欢迎下载使用
杭州蓝松科技推出的安卓端的USB转串口调试助手, 欢迎下载使用 下载地址:http://files.cnblogs.com/guobaPlayer/%E8%93%9D%E6%9D%BEUSB%E4%B ...
- 解决:GitHub 远程端添加了 README.md 文件后,本地 push 代码时出现错误
一.错误描述 To github.com:compassblog/PythonExercise.git ! [rejected] master -> master (fetch first) e ...
- linux下svn(subversion)服务端添加工程及配置权限
linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...
- 5. zabbix服务端添加fping
zabbix服务端添加fping 原文链接:http://blog.chinaunix.net/uid-23500957-id-4366928.html fping-3.15.tar.gz 包的路径D ...
- 前端提升生产力系列三(vant3 vue3 移动端H5下拉刷新,上拉加载组件的封装)
| 在日常的移动端开发中,经常会遇到列表的展示,以及数据量变多的情况下还会有上拉和下拉的操作.进入新公司后发现移动端好多列表,但是在看代码的时候发现,每个列表都是单独的代码,没有任何的封装,都是通过v ...
- ESXI | ESXI6.7如何在网页端添加用户并且赋予不同的权限
一.首先添加一个用户 管理---用户---安全和用户 添加的新用户会显示在下面 二.给添加上的用户赋予对应权限(我这里演示赋予的是只读权限) 主机---操作---权限 三.测试登录 当用只赋予了只读权 ...
随机推荐
- Java_Day16_作业
A:简答题 1.请把我们讲解过的所有类中的方法在API中找到,并使用自己的话进行描述 答案: Map public V put(K key, V value): public void clear() ...
- Abaqus添加初始缺陷
主要介绍通过施加节点位移的方法 步骤一: 复制model,新建Step,static linear perturbation Tools->Analytical Field 定义场函数,例如:A ...
- kafka-eagle-2.0.5安装指南
kafka eagle 安装文档 环境介绍 :kafka 三台 版本:2.2.1+cdh6.3.2 管理:ZK kafka-eagle-bin-2.0.5.tar.gz安装包准备 官网 :http:/ ...
- 编码技巧 --- 使用dynamic简化反射
引言 dynamic 是 Framework 4.0 就出现特性,它的出现让 C# 具有了弱语言类型的特性.编译器在编译的时候不再对类型进行检查,默认 dynamic 对象支持开发者想要的任何特性. ...
- 从 iOS App 启动速度看如何为基础性能保驾护航
1 前言 启动是App给用户的第一印象,一款App的启动速度,不单单是用户体验的事情,往往还决定了它能否获取更多的用户.所以到了一定阶段App的启动优化是必须要做的事情.App启动基本分为以下两种 1 ...
- DevOps实战:使用GitLab+Jenkins+Kubernetes(k8s)建立CI/CD解决方案
目录 一.系统环境 二.前言 三.DevOps简介 四.CI/CD简介 五.安装并配置docker参数 六.使用registry搭建镜像仓库 七.安装部署gitlab代码仓库 7.1 创建gitlab ...
- 【NestJS系列】核心概念:Providers提供者
前言 Providers是Nest中的一个基本概念,许多Nest中定义的类都可以被视为一个Provider,比如:service.repository.factory.helper等,它们都可以通过c ...
- fastjson 1.2.80 漏洞浅析及利用payload
0x01 说明 在fastjson的1.2.80版本中可以通过将依赖加入到java.lang.Exception 期望类的子类中,绕过checkAuto. 0x02 简析 { "@type& ...
- shell分析nginx日志的一些指令
前言 nginx日志格式默认 shell指令 查看有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 查看某一个页面被访问的次数: grep &qu ...
- 利用IPV6随时访问家中影音Jellyfin
本文章主要记录通过ipv6实现家庭影音中心在互联网上的访问. 之前很多方案都是通过第三方进行内网穿透,实际体验不是很好.目前ipv6发展迅速,完全可以取代这种以ipv4为中心的内网资源外网访问的方式. ...