UNPKG

uview-ui-pr

Version:

uView UI,是uni-app生态优秀的UI框架,全面的组件和便捷的工具会让您信手拈来,如鱼得水

81 lines (64 loc) 1.85 kB
function isValidUrl(url) { return isOnlineUrl(url) || isDataUrl(url); } // ./或/ 开头的路径 视为 本地路径 function isLocalUrl(url) { return /\.?\//.test(url); } function isOnlineUrl(url) { return /(ht|f)tp(s?):\/\/([^ \\/]*\.)+[^ \\/]*(:[0-9]+)?\/?/.test(url); } function isDataUrl(url) { return /data:image\/(\w+);base64,(.*)/.test(url); } /** * 深度对比两个对象是否一致 * from: https://github.com/epoberezkin/fast-deep-equal * @param {Object} a 对象a * @param {Object} b 对象b * @return {Boolean} 是否相同 */ /* eslint-disable */ function equal(a, b) { if (a === b) return true; if (a && b && typeof a == "object" && typeof b == "object") { var arrA = Array.isArray(a), arrB = Array.isArray(b), i, length, key; if (arrA && arrB) { length = a.length; if (length != b.length) return false; for (i = length; i-- !== 0; ) if (!equal(a[i], b[i])) return false; return true; } if (arrA != arrB) return false; var dateA = a instanceof Date, dateB = b instanceof Date; if (dateA != dateB) return false; if (dateA && dateB) return a.getTime() == b.getTime(); var regexpA = a instanceof RegExp, regexpB = b instanceof RegExp; if (regexpA != regexpB) return false; if (regexpA && regexpB) return a.toString() == b.toString(); var keys = Object.keys(a); length = keys.length; if (length !== Object.keys(b).length) return false; for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false; for (i = length; i-- !== 0; ) { key = keys[i]; if (!equal(a[key], b[key])) return false; } return true; } return a !== a && b !== b; } module.exports = { isValidUrl, isLocalUrl, isOnlineUrl, isDataUrl, equal, };