export default { /** * @param {Array} rows * @param {Object} filter */ find_rows(rows, filter, return_index = true) { for (let i = 0; i < rows.length; i ++) { let res = true let item = rows[i] for (let key in filter) { if (item[key] != filter[key]) res = false } if (res) return return_index ? index : item } return return_index ? -1 : null }, //设置cookie setCookie: function (cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toUTCString(); document.cookie = cname + "=" + cvalue + "; " + expires; console.info(document.cookie); }, //获取cookie getCookie: function (cname) { var name = cname + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1); if (c.indexOf(name) != -1) return c.substring(name.length, c.length); } return ""; }, //清除cookie clearCookie: function (cname) { this.setCookie(cname, "", -1); }, getPlatform: function() { let platform = uni.getSystemInfoSync().platform; // #ifdef H5 if (window.navigator && window.navigator.userAgent) { const ua = window.navigator.userAgent.toLowerCase() if (ua.match(/MicroMessenger/i) == 'micromessenger') { platform = 'WX-H5' } else platform = 'H5' } // #endif // #ifdef MP-WEIXIN platform = 'MP-WEIXIN' // #endif // #ifdef MP-ALIPAY platform = 'MP-ALIPAY' // #endif // #ifdef MP-BAIDU platform = 'MP-BAIDU' // #endif return platform }, has_addon(name) { let appInfo = uni.getStorageSync('appInfo') if (!appInfo) return false if (!appInfo.plugins) return false if (appInfo.plugins.indexOf(name) != -1) return true return false }, queryStringify(obj) { let res = [] for (let k in obj) { res.push(`${k}=${obj[k]}`) } return res.join('&') }, // #ifdef H5 //获取指定form中的所有的对象 getElements(formId) { var form = document.getElementById(formId); var elements = new Array(); var tagElements = form.getElementsByTagName('input'); for (var j = 0; j < tagElements.length; j++){ elements.push(tagElements[j]); } return elements; }, //获取单个input中的【name,value】数组 inputSelector(element) { if (element.checked) return [element.name, element.value]; }, input(element) { switch (element.type.toLowerCase()) { case 'submit': case 'hidden': case 'password': case 'text': return [element.name, element.value]; case 'checkbox': case 'radio': return this.inputSelector(element); } return false; }, //组合URL serializeElement(element) { var method = element.tagName.toLowerCase(); var parameter = this.input(element); if (parameter) { var key = encodeURIComponent(parameter[0]); if (key.length == 0) return; if (parameter[1].constructor != Array) parameter[1] = [parameter[1]]; var values = parameter[1]; var results = []; for (var i=0; i