📖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


在将这个bat文件放到开机启动项中,也就是这个文件路径

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp


该bat执行一次,则会在路径中的生成一个当前时间的txt

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 =&gt; (
      	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&lt;this.neitxt.length;i+=3){
		//将每三个数组分开,并插入新数组中
		this.neitxttwo.push(this.neitxt.slice(i,i+3))
	}
	//如果是周日则提醒
	for(let x=0;x&lt;this.neitxt.length;x++){if(this.neitxt[x] == "周日"){this.tisi("周末登录!");break;}}
	//判断是不是早上8-9点正常登录
	for(let c=2;c&lt;this.neitxt.length;c+=3){if (this.neitxt[c].slice(0,1)&gt;10 || this.neitxt[c].slice(0,1)&lt;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=&gt;{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>

标签

🧐发表评论

您必须启用javascript才能在此处查看验证码