编排新增HTML解析、上传、下载

This commit is contained in:
fofolee
2025-01-08 17:35:27 +08:00
parent ebbc7b7661
commit 01183d06e8
10 changed files with 346 additions and 180 deletions

View File

@@ -4,6 +4,7 @@ const fs = require("fs");
const kill = require("tree-kill");
const iconv = require("iconv-lite");
const path = require("path");
const axios = require("axios");
const getQuickcommandTempFile = require("./getQuickcommandTempFile");
const getCommandToLaunchTerminal = require("./getCommandToLaunchTerminal");
@@ -72,9 +73,9 @@ const quickcommand = {
},
// 下载文件
downloadFile: function (url, file = {}) {
downloadFile: function (url, file) {
return new Promise((reslove, reject) => {
if (file instanceof Object)
if (!file || file instanceof Object)
file = window.utools.showSaveDialog(JSON.parse(JSON.stringify(file)));
axios({
method: "get",
@@ -95,13 +96,13 @@ const quickcommand = {
},
// 上传文件
uploadFile: function (url, file = {}, name = "file", formData = {}) {
uploadFile: function (url, file, name = "file", formData = {}) {
return new Promise((reslove, reject) => {
var objfile;
if (file instanceof File) {
objfile = file;
} else {
if (file instanceof Object)
if (!file || file instanceof Object)
file = window.utools.showOpenDialog(
JSON.parse(JSON.stringify(file))
)[0];

View File

@@ -0,0 +1,14 @@
const htmlParser = (html, selector = "", attr = "") => {
const parser = new DOMParser();
const doc = parser.parseFromString(html, "text/html");
if (!selector) return doc;
const elements = doc.querySelectorAll(selector);
if (!attr) return elements;
let result = Array.from(elements).map((element) => element[attr]);
if (result.length === 1) return result[0];
return result;
};
module.exports = {
htmlParser,
};

View File

@@ -1,9 +1,11 @@
const string = require("./string");
const buffer = require("./buffer");
const zlib = require("./zlib");
const htmlParser = require("./htmlParser");
module.exports = {
...string,
...htmlParser,
buffer,
zlib,
};