一. node
1. node-数据流导出文件
①. node端:api返回数据流形式,在node中间件通过管道处理res传给前端调用
②. axious:和url/get/data,同级给个有关buffer属性
③. vue:调用接口,Blob + URL.createObjectURL()
a.创建Blob对象
b.判断是否为traffer对象
c. 创建临时的url
d. 创建<a>标签并触发点击下载
e. 释放URL对象并移除<a>标签
function downloadFile(content, fileName, mimeType) {
// 1. 创建 Blob 对象
const blob = new Blob([content], { type: mimeType });
// 2. 创建临时 URL
const url = URL.createObjectURL(blob);
// 3. 创建 <a> 标签并触发点击下载
const a = document.createElement('a');
a.href = url;
a.download = fileName;
document.body.appendChild(a);
a.click();
// 4. 释放 URL 对象并移除 <a> 标签
setTimeout(() => {
URL.revokeObjectURL(url);
document.body.removeChild(a);
}, 100);
}
// 示例:导出文本文件
const textContent = "Hello, this is a text file!";
downloadFile(textContent, "example.txt", "text/plain");
// 示例:导出 JSON 文件
const jsonData = { name: "Alice", age: 25 };
downloadFile(JSON.stringify(jsonData, null, 2), "data.json", "application/json");
// 示例:导出 CSV 文件
const csvContent = "Name,Age\nAlice,25\nBob,30";
downloadFile(csvContent, "data.csv", "text/csv");
新需求:状态码也需要返回到vue调用???
二. vscode插件
1. vsode插件--prettier:.js文件自动保存并进制4个空格,vue不自动保存
vetur和beauty插件冲突
三.git
1.vscode中没有提交的文件,合并dev提示,有未提交的文件
加载撤销修改的文件过程中就合并了dev
解决:
①.git status 查看问题
②.git merge:--abort(如果合并未完成)
③.git reset --hard origin/分支(强制同步远程)
④.git pull 重新拉取
⑤.如有冲突,手动解决后提交
四.elementplus
1. el-input:input输入框输入文本切换路由,获取失焦事件,调用更新草稿api
直接调用api,不用防抖
2. el-checkbox:点击全选,选中项是否都在列表中存在。是则全选,不是则取消全选
every遍历列表,列表项是否includes选中项
3. el-selected:点击全选删除的选中项存在输入框中,除非人为删除???
五.状态码
1. 权限问题:合同中心的合同号在其他账户依然可以看到详情
需要后台返回权限的状态码,如果try--success则200,304,511;catch--false