给手机端页面留一个调试后门吧(vue)

给手机端页面留一个调试后门吧(vue),第1张

在开发移动端页面的时候我们通常是在浏览器完成开发完成,之后才在手机端测试,如果测试出现问题还得重新回到浏览器上寻找错误。甚至还有嵌入在APP的页面,经过调试之后还要重新发包。当然还有更加奇怪的现象,由于手机浏览器和Web浏览器的差异,经常会发现在Web浏览器上好好的,一到手机上就不行的情况。

因此首先我们需要一个能在手机端调试的插件。如果你还在使用alert一步步来定位移动端页面bug的话,不妨试试vConsole。

vConsole是一个由微信公众平台前端团队研发的Web前端开发者面板,可用于展示console日志,方便开发、调试。可以在https://github.com/Tencent/vConsole/releases/tag/v3.1.0下载所需的js。下载解压之后,在dist文件夹中找到vconsole.min.js,加入工程中:

<script src="/a2020/img/data-img.jpg" data-src="path/to/vconsole.min.js"></script>

<script>

// init vConsole

var vConsole = new VConsole()

console.log('Hello world')

</script>

请注意,VConsole 只是 vConsole 的原型,而非一个已实例化的对象。所以在手动 new 实例化之前,vConsole 不会被插入到网页中。

在安装完vConsole之后,你以为事情就结束了吗?

还有一个很大的问题就是肯定不能让用户看到我们的调试页面的,因此我们需要偷偷给我们的程序设置后门。

这里有两种设计的思路以供参考:

设置后门

在程序中某个地方设置长按10秒自动引入代码。

首先长按10秒的效果需要3个事件结合才能产生。

绑定事件

代码如下,在标签上引入这三个事件:

<p @touchstart="handleTouchstart" @touchmove="handleTouchmove" @touchend="handleTouchend">

<van-col span="24" class="loginPage-title">title<an-col>

</p>

对应的方法:

handleTouchstart() {

touchStart()

},

handleTouchmove() {

touchMove()

},

handleTouchend() {

touchEnd()

},

其中的touchStart,touchMove,touchEnd方法由外部文件import进来,便于统一管理,当然其实也可以直接在这个文件里实现。

长按10秒

首先什么才叫长按10秒。touchstart然后开始计时10秒之后肯定不叫长按10秒,这样就叫做点击过后10秒了。长按10秒应该是手指触碰连续10秒,期间不能触发touchmove和touchend事件。

因此思路应该是,touchstart开始计时,期间如果触发了touchmove和touchend事件则将计时器重置:

let timeOutEvent = null

export const touchStart = () =>{

timeOutEvent = setTimeout(function () {

longPress()

}, 10000)

}

export const touchMove = () =>{

clearTimeout(timeOutEvent)

timeOutEvent = 0

}

export const touchEnd = () =>{

clearTimeout(timeOutEvent)

}

在longPress方法中去动态引入vConsole:

const longPress = () =>{

clearTimeout(timeOutEvent)//清除定时器

timeOutEvent = 0

//执行长按要执行的内容

vConsoleLog()

}

const vConsoleLog = () =>{

let mapScript = document.getElementById("vConsoleLog")

if(mapScript){

return

}

let script = document.createElement('script')

script.id = 'vConsoleLog'

script.type = 'text/javascript'

script.src = './console.js'

document.body.appendChild(script)

}

这样,我们就在程序中植入了一个后门,需要调试的时候只需要长按10秒,vConsole就出来了。

根据环境动态引入

如果想要严谨一点,不希望用户在任何时候看到这个调试按钮的话,则可以根据环境(env)来引入vConsole。

转评赞就是最大的鼓励

添加门禁卡需满足以下条件:

1、需要确保手机的NFC 打开,且网络状态正常;

2、查看手机是否支持;

3、同时将华为钱包升级至华为应用市场能看到的最新版本(请勿在第三方应用市场下载钱包)。

一、华为钱包版本9.0.14.230或以上:

查看钱包版本方法:钱包 >我的 >关于,如版本较低可至华为应用市场将钱包升级至最新版本再 *** 作。

1、在华为钱包>卡包 >钥匙,进入添加门禁卡页面。

2、点击模拟实体门禁卡,将实体门卡贴在手机NFC感应部位,读卡成功后自动模拟门禁卡。

3、模拟成功后编辑门禁卡样式和名称,然后点击完成添加成功。

以华为手机P40,EMUI10系统为例,手机绑定门禁卡具体 *** 作如下:

1、首先打开手机,在手机桌面上找到“钱包”图标并点击进入;

2、进入到“钱包”页面可以看到“门钥匙”选项,点击进入后再点击“添加”按钮;

3、将门禁卡放在手机后盖处,手机会自动打开NFC功能,并读取门禁卡;

4、读取门禁卡成功后,点击下方的“去添加”选项,之后系统提示需要验证手机账号的密码,输入密码后点击确定;

5、手机便会自动添加门禁卡,之后可以设置卡片的名称,最后点击“完成”,这样手机绑定门禁卡就成功了。

以iPhone11,IOS13系统为例,手机绑定门禁卡具体 *** 作如下:

1、点击进入“设置”,找到钱包与ApplePay,点击进入;

2、点击“添加卡片”,点击“继续”;

3、选择一个公交卡购买,添加成功后这张卡就可以做门禁卡使用;

4、当在手机上添加成功以后,接下来还需要去找到门禁卡管理员,一般是小区的物业。请管理员把苹果手机的NFC信息录入添加到门禁系统中。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11955604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存