UNPKG

cnetong-core-frontend

Version:

## 1. 开始使用 ```js // 在npm项目中的main.js文件中加入以下代码 import Base from "cnetong-core-frontend";

123 lines (111 loc) 3.1 kB
import querystring from "querystring"; import moment from "moment"; // 文件下载 const downFileIframe = function (url, params) { const id = "iframe_to_download_file_hidden" + new Date().getTime(); let fullURL = url + "?" + querystring.stringify(params); let iframe = document.getElementById(id); if (iframe === null) { iframe = document.createElement("iframe"); } iframe.id = id; iframe.src = fullURL; iframe.style.display = 'none'; document.body.appendChild(iframe); iframe.onload = () => { document.body.removeChild(iframe); }; }; /** * post方法下载 * @param url 下载地址 * @param params 参数 */ const downFilePost = function (url, params) { const id = "iframe_to_download_file_hidden" + new Date().getTime(); let iframe = document.createElement("iframe"); iframe.id = id; iframe.name = id; iframe.style.display = 'none'; document.body.appendChild(iframe); let turnForm = document.createElement("form"); //一定要加入到body中!! document.body.appendChild(turnForm); turnForm.method = 'post'; turnForm.action = url; turnForm.target = iframe.name; for (let name in params) { if (params.hasOwnProperty(name)) { let value = params[name]; let newElement = document.createElement("input"); newElement.setAttribute("name", name); newElement.setAttribute("type", "hidden"); newElement.setAttribute("value", value); turnForm.appendChild(newElement); } } iframe.onload = () => { document.body.removeChild(iframe); document.body.removeChild(turnForm); }; turnForm.submit(); }; /** * 数据安全处理 */ const safety = { // 防止非法数据 safeData(data) { if (typeof data !== "object") { return; } if (data) { // 过滤非法数据 // delete data.opDesc; delete data.opUuid; delete data.crUserUuid; delete data.crTime; delete data.opUserUuid; delete data.opUserName; delete data.opUserName; delete data.opTime; for (let key in data) { if (data.hasOwnProperty(key)) { // 字符串去掉空白 if (typeof data[key] === "string") { data[key] = data[key].trim(); } // 过滤 空字符串 和null 不传递 if (key === "uuid") { // uuid不能穿 空白等 if ( data[key] === "" || data[key] == null || data[key] === undefined ) { delete data[key]; } } // 处理日期类型 if (moment.isDate(data[key])) { data[key] = moment(data[key]).format("x"); } } } } return data; }, // 递归预处理数据提交 preSubmit(data) { this.safeData(data); for (let key in data) { if (data.hasOwnProperty(key)) { if (typeof data[key] === "object") { data[key] = this.preSubmit(data[key]); } } } return data; } }; export default {downFileIframe, downFilePost, safety};