📖Vue-cli 读取本地电脑开机记录
前言
前几天心血来潮忽然想着能不能通过Vue-cli 来调用出电脑的开机记录,先来简单介绍一下原理吧
电脑开机 ——> 开机时会执行一个文件 ——> 在通过文件生成一个开机记录的TXT ——> 在 Vue-cli 中调用这个txt文件 ——>通过代码整理txt内容
这只能读取到文件执行的日期,之前电脑的开机记录是读取不到的!本机系统为Windows通过bat来获取当前事件
开机记录生成
在桌面创建一个one.bat文件,用txt打开在内部中写上
其中生成的路径可以自己修改
@echo off REM chcp 65001 CLS (echo %date%%time%)>>D:\kai.txt
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Vue-cli 代码
先上整体代码,后面在详细讲解每个步骤
<div id="commp"> <table class="table"> <tbody> <tr class="active"> <td>年/月/日</td> <td>星期</td> <td>时间</td> </tr> <tr> <td>{{lie[0]}}</td> <td>{{lie[1]}}</td> <td>{{lie[2]}}</td> </tr> </tbody> </table> </div> <script> export default{ name:"commp", data(){ return { neitxt:[], neitxttwo:[], yes:true, No:false }; },methods:{ getfun(r){ //去除数据中的/r/n,并根据空格分组 this.neitxt = r.replace(/\r\n/g," ").split(" "); for(let i=0;i<this.neitxt.length;i+=3){ <p> //将每三个数组分开,并插入新数组中 this.neitxttwo.push(this.neitxt.slice(i,i+3)) } //如果是周日则提醒 for(let x=0;x<this.neitxt.length;x++){if(this.neitxt[x] == "周日"){this.tisi("周末登录!");break;}} //判断是不是早上8-9点正常登录 for(let c=2;c<this.neitxt.length;c+=3){if (this.neitxt[c].slice(0,1)>10 || this.neitxt[c].slice(0,1)<8) {this.tisi("时间出错!");break;}} }, tisi(tit){//带参数的提示函数 bootbox.confirm({message: "不在规定时间登录,请注意确认,错误代码:"+tit, buttons: {confirm: {label: '已解决',className: 'btn-success'}, cancel: {label: '查看',className: 'btn-danger'}}, callback: result=>{if(result){show("完成")}else{this.yes=!this.yes;this.No=!this.NO;}} }); } }, mounted(){ axios .get('./static/kai.txt') .then(response => ( this.getfun(response.data) )) .catch(function (error) { // 请求失败处理 console.log(error); }); } } </script> <style scoped> </style>
JS部分讲解
首先我们需要通过 axios 获取本地txt文本的内容,没有安装axios的话可以看看我之前的文章,有教如何安装也可以直接点击我前往查看
axios .get('./static/kai.txt')//引入开机记录txt .then(response => ( this.getfun(response.data)//请求成功执行getfun()函数,并传入txt中的内容 )) .catch(function (error) { // 请求失败处理 console.log(error); }); }
getfun() 函数
getfun(r){ //去除数据中的/r/n,并根据空格分组 this.neitxt = r.replace(/\r\n/g," ").split(" "); for(let i=0;i<this.neitxt.length;i+=3){ //将每三个数组分开,并插入新数组中 this.neitxttwo.push(this.neitxt.slice(i,i+3)) } //如果是周日则提醒 for(let x=0;x<this.neitxt.length;x++){if(this.neitxt[x] == "周日"){this.tisi("周末登录!");break;}} //判断是不是早上8-9点正常登录 for(let c=2;c<this.neitxt.length;c+=3){if (this.neitxt[c].slice(0,1)>10 || this.neitxt[c].slice(0,1)<8) {this.tisi("时间出错!");break;}} }
tisi()
tisi() 函数仅用于弹出提示框,这提示框我们所用到的是Bootbox感兴趣的小伙伴可以自己去看看传送门,如图所示
tisi(tit){//带参数的提示函数 bootbox.confirm({message: "不在规定时间登录,请注意确认,错误代码:"+tit,//提示错误代码 buttons: {confirm: {label: '已解决',className: 'btn-success'}, cancel: {label: '查看',className: 'btn-danger'}}, callback: result=>{if(result){show("完成")}else{this.yes=!this.yes;this.No=!this.NO;}} }); }
HTML 代码
HTML 代码比较简单,我就不讲了
<div id="commp"> <table class="table"> <tbody> <tr class="active"> <td>年/月/日</td> <td>星期</td> <td>时间</td> </tr> <tr> <td>{{lie[0]}}</td> <td>{{lie[1]}}</td> <td>{{lie[2]}}</td> </tr> </tbody> </table> </div>
🧐发表评论