如何用js给图片重置宽_如何用js给老婆每天发情话
作者: 加百利真胖
原文:https://juejin.cn/events/all
一、引言
最近家里添了小孩,在家带娃陪产了一些天,深刻体会到老婆带孩子的辛苦。
工作的时候不能在家陪她,就想着写个程序,每天固定在固定时间给她发一些情话,好让她在带娃的时候也能感受到老公的爱心,帮她缓解一下带娃的烦躁心情。
考虑的到qq和微信有诸多的限制(一不小心就被封),先来个邮箱版本的吧!
Stack Overflow 联合创始人杰夫·阿特伍德曾经说过,任何一个能用 JavaScript 编写的应用系统,最终都必将使用 JavaScript 实现。
Atwood’s Law是Jeff Atwood在2007年提出的:"any application that can be written in JavaScript, will eventually be written in JavaScript。
大佬的定律都出来了,只能说js牛x!
我们的技术选型 就是nodejs,首先你得安装一个nodejs,然后我们主要使用一个模块Nodemailer
。
下载链接和截图
二、nodemailer介绍
nodemailer
是一个发送邮件npm包,我们可以使用它方便快捷的给任何人发送邮件。
三、nodemailer的安装
打开终端(windows下使用win+r,然后输入cmd,回车即可)
然后输入如下命令
mkdir mailBot #cmd创建文件夹mailBot(touch mailBot #如果是Linux可以用touch命令)cd mailBot #进入文件夹npm init -y #初始化npmnpm install nodemailer #安装邮件发送模块复制代码
我们创建一个mailBot文件夹,在终端中进入文件夹,初始化npm,然后安装nodemailer
四、nodemailer的使用-发送邮件
接下来在项目中新建 index.js 文件,编写如下代码
const nodemailer = require("nodemailer");// 发送邮件函数async function sendMail(text) {var user = "xxx@qq.com";//自己的邮箱var pass = "xxx"; //qq邮箱授权码,如何获取授权码下面有讲var to = "waitfor_1153@qq.com";//对方的邮箱let transporter = nodemailer.createTransport({ host: "smtp.qq.com", port: 587, secure: false, auth: { user: user, // 用户账号 pass: pass, //授权码,通过QQ获取 }, });let info = await transporter.sendMail({ from: `亲爱的老公<${user}>`, // sender address to: `亲爱的老婆<${to}>`, // list of receivers subject: "亲爱的老婆", // Subject line text: text, // plain text body });console.log("发送成功");}
//测试一下send('你好老婆')
复制代码
在终端中输入 node index.js
就可以执行js文件的代码!
通过以上代码,我们就可以发送 任意一句话给你想发送的人!
注意:qq邮箱的pass(授权码)需要进入 qq邮箱 的【设置】-【账户】,然后如下图1的地方,开启smtp,下图2的地方查看你的授权码
五、自动生成情话
当然现在还有个缺点,既然要献爱心,那就要发句比较好听的话,我们也叫彩虹屁。。。
有个彩虹屁生成网站,网站名字很有意思,自己体会。
我们使用这个网站的接口来生成我们要说的内容。
使用axios
模块来下载生成的情话。
安装axios
,在终端中输入如下命令
npm i axios复制代码
使用axios
获取情话,在index.js
中 增加如下代码:
const { default: Axios } = require("axios");function getHoneyedWords() {var url = "https://chp.shadiao.app/api.php";//获取这个接口的信息return Axios.get(url);}复制代码
六、使用邮件发送情话
index.js
中增加测试邮件发送代码如下
//获取情话getHoneyedWords().then(res=>{console.log(res.data)//发送邮件 sendMail(res.data);})
复制代码
终端中输入node index.js
**结果显示 :**春水初生,春林初盛,春风十里,不如你!
七、每天定时发送
考虑到每天定时发送会显示的更有诚意,接下来搞个定时发送。我们需要启动个定时任务,使用node-schedule
模块。
安装,终端中输入如下
npm install node-schedule复制代码
使用,index.js
增加如下代码
const schedule = require("node-schedule");//每天下午5点21分发送schedule.scheduleJob({ hour: 17, minute: 21 }, function () {console.log("启动任务:" + new Date()); getHoneyedWords().then((res) => {console.log(res.data); sendMail(res.data); });});
复制代码
终端中输入node index.js
这样每天下午5点21分就会自动发送一句情话!
就连家庭地位都提高了呢!
—————END—————
最后
欢迎关注【前端瓶子君】✿✿ヽ(°▽°)ノ✿欢迎关注「前端瓶子君」,回复「算法」,加入前端算法源码编程群,每日一刷(工作日),每题瓶子君都会很认真的解答哟!回复「交流」,吹吹水、聊聊技术、吐吐槽!回复「阅读」,每日刷刷高质量好文!如果这篇文章对你有帮助,「在看」是最大的支持
》》面试官也在看的算法资料《《“在看和转发”就是最大的支持
如何用js给图片重置宽_如何用js给老婆每天发情话相关推荐
- php根据图片地址获取图片原始高宽,Js获取图片原始宽高的实现代码
如果我们页面看到的图片都是缩略图,那就需要做个图片点击放大效果,那么怎样获取图片的原始宽高呢?方法如下: //获取图片原始宽度 function getNaturalWidthAndHeight(im ...
- js 获取图片原始宽高并等比例缩放
近期做一个驾考项目,由于每张图片加载的时候比例大小都不一样,在试题练习中加载图片时大部分图片会变形,导致图片展示效果非常差,所以我们可以获取图片的原始宽高,然后以等比例展示,效果会非常好.以下就是实现 ...
- js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...
来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...
- js 格式化 java时间格式化_用JavaScript(js)对时间格式化
可以说是Web项目中不可或缺的一个Javascript类库,它可以帮助你快速的解决客户端编程的许多问题,下面贴出一个用js格式化时间的方法. Date.prototype.format=functio ...
- h5+js调取相机做取景框_使用Vue.js开发微信小程序:开源框架mpvue解析
戳蓝字"CSDN云计算"关注我们哦! 作者 | 成全 责编 | 阿秃 转自 | 美团技术团队企业博客 前言 mpvue是一款使用Vue.js开发微信小程序的前端框架.使用此框架,开 ...
- 如何用js给老婆每天发情话?
一.引言 最近家里添了小孩,在家带娃陪产了一些天,深刻体会到老婆带孩子的辛苦. 工作的时候不能在家陪她,就想着写个程序,每天固定在固定时间给她发一些情话,好让她在带娃的时候也能感受到老公的爱心,帮她缓 ...
- python如何让图片镜像翻转_如何用 Python 增量备份 Roam Research 笔记图片?
消除后顾之忧,轻松输入卡片笔记. 题图:Photo by Markus Spiske on Unsplash 前些日子,我用视频的方式给你介绍了 Roam Research 这款工具.如果你还没有来得 ...
- js打乱数组的顺序_如何用 js 实现一个类似微信红包的随机算法
如何用 js 实现一个类似微信红包的随机算法 js, 微信红包, 随机算法 "use strict"; /** * * @author xgqfrms * @license MIT ...
- ajax java 图片加载_如何用Ajax加载服务器的图片
用Ajax请求服务器的图片,并显示在浏览器中 前言 一直在数据库里面存的都是图片在服务器的地址,然后再到浏览器中显示,但是发现两个问题 第一:为了安全起见,js是无法读取本地的图片的,不然你写一个js ...
最新文章
- Metasploit攻击Oracle的环境搭建
- 横向ListView(四) —— 添加滚动条
- 设置按峰值带宽计费_腾讯云服务器按流量计费带宽值大小设置说明
- 清楚linux缓存文件,Linux删除文件 清除缓存
- AnyTrans使用教程:将照片从 Mac 传输到 iPhone 的方法
- SAP License:BWBCS学习笔记20210304
- Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test
- Python datetime 格式化字符串:strftime()
- 行内块 块级元素 行内元素
- [linux]查看机器有几个cpu,是否支持64位
- raspbian linux,如何在 Raspberry Pi 上安装 Raspbian
- mindoc快速搭建教程
- 计算适应度函数(目标函数)(单目标)
- 英语专业,不想做老师,还能做什么工作?
- 制作linux只读文件系统,一种Squashfs只读根文件系统的远程升级方法及系统的制作方法...
- 高中数学一对一培训高中数学必修一知识点总结
- 关于Android开发工程师的从业预期与自我要求
- 第四章:用Python对用户的评论数据进行情感倾向分析
- 关于OV5640的DVP接口的小结
- 通知计算机大赛的英语作文,关于诗歌比赛(通知)的英语作文