|
@@ -1,39 +1,41 @@
|
|
|
-const fs = require('fs');
|
|
|
-const path = require('path');
|
|
|
+const fs = require('fs')
|
|
|
+const path = require('path')
|
|
|
|
|
|
-const args = require('minimist')(process.argv.slice(2));
|
|
|
+const args = require('minimist')(process.argv.slice(2))
|
|
|
|
|
|
-const headless = args.headless || 'true';
|
|
|
-const url = args.url || 'true';
|
|
|
-const token = args.token || '';
|
|
|
+const headless = args.headless || 'true'
|
|
|
+const url = args.url || 'true'
|
|
|
+const token = args.token || ''
|
|
|
// const filePath = getDate()+(args.path || 'index.pdf');
|
|
|
-const filePath = (args.path || 'index.pdf');
|
|
|
+const filePath = (args.path || 'index.pdf')
|
|
|
|
|
|
-const puppeteer = require('puppeteer');
|
|
|
+const puppeteer = require('puppeteer')
|
|
|
|
|
|
-const saveScreenshot = async (url) => {
|
|
|
+const sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay))
|
|
|
+const saveScreenshot = async(url) => {
|
|
|
if (!url) {
|
|
|
- return;
|
|
|
+ return
|
|
|
}
|
|
|
// 启动浏览器
|
|
|
const browser = await puppeteer.launch({
|
|
|
args: ['--no-sandbox'],
|
|
|
headless: headless === 'true',
|
|
|
devtools: false
|
|
|
- });
|
|
|
+ })
|
|
|
// 打开页面
|
|
|
- const page = await browser.newPage();
|
|
|
+ const page = await browser.newPage()
|
|
|
// 设置浏览器视窗
|
|
|
page.setViewport({
|
|
|
width: 1123,
|
|
|
- height: 1080,
|
|
|
- });
|
|
|
+ height: 1080
|
|
|
+ })
|
|
|
// 地址栏输入网页地址
|
|
|
await page.goto(url, {
|
|
|
// 等界面加载完
|
|
|
waitUntil: 'networkidle0'
|
|
|
- });
|
|
|
- await page.addStyleTag({ path: './style.css' });
|
|
|
+ })
|
|
|
+ await page.addStyleTag({ path: './style.css' })
|
|
|
+ await sleep(50) // NOTE: 请求完毕不代表VUE运行完毕(比如el-table的resizeHandler),再等个小周期
|
|
|
await page.pdf({
|
|
|
path: filePath,
|
|
|
printBackground: true,
|
|
@@ -45,30 +47,30 @@ const saveScreenshot = async (url) => {
|
|
|
right: '1.27cm'
|
|
|
},
|
|
|
format: 'A4'
|
|
|
- });
|
|
|
+ })
|
|
|
// 关闭浏览器
|
|
|
- await browser.close();
|
|
|
-};
|
|
|
+ await browser.close()
|
|
|
+}
|
|
|
|
|
|
-saveScreenshot(`${url}`);
|
|
|
+saveScreenshot(`${url}`)
|
|
|
|
|
|
- function getDate(){
|
|
|
- var myDate = new Date();
|
|
|
- //获取当前年
|
|
|
- var year = myDate.getFullYear();
|
|
|
- //获取当前月
|
|
|
- var month = myDate.getMonth() + 1;
|
|
|
- //获取当前日
|
|
|
- var date = myDate.getDate();
|
|
|
- var h = myDate.getHours(); //获取当前小时数(0-23)
|
|
|
- var m = myDate.getMinutes(); //获取当前分钟数(0-59)
|
|
|
- var s = myDate.getSeconds();
|
|
|
- //获取当前时间
|
|
|
- var now = year + '' + conver(month) + "" + conver(date) + conver(h) + "" + conver(m) + "" + conver(s);
|
|
|
- return now;
|
|
|
- }
|
|
|
+function getDate() {
|
|
|
+ var myDate = new Date()
|
|
|
+ //获取当前年
|
|
|
+ var year = myDate.getFullYear()
|
|
|
+ //获取当前月
|
|
|
+ var month = myDate.getMonth() + 1
|
|
|
+ //获取当前日
|
|
|
+ var date = myDate.getDate()
|
|
|
+ var h = myDate.getHours() //获取当前小时数(0-23)
|
|
|
+ var m = myDate.getMinutes() //获取当前分钟数(0-59)
|
|
|
+ var s = myDate.getSeconds()
|
|
|
+ //获取当前时间
|
|
|
+ var now = year + '' + conver(month) + '' + conver(date) + conver(h) + '' + conver(m) + '' + conver(s)
|
|
|
+ return now
|
|
|
+}
|
|
|
|
|
|
- //日期时间处理
|
|
|
- function conver(s) {
|
|
|
- return s < 10 ? '0' + s : s;
|
|
|
- }
|
|
|
+//日期时间处理
|
|
|
+function conver(s) {
|
|
|
+ return s < 10 ? '0' + s : s
|
|
|
+}
|