/** * * @author maxd * @date 2019.8.1 */ import configdata from './config' module.exports = { //微信的appId getWxAppid() { return 'wxd0bec3a917085e78' }, //全局邀请码 getInvitation() { return uni.getStorageSync("publicRelation") }, //获取APP下载地址 getAppDownUrl() { return uni.getStorageSync("appurl") }, //全局域名 部分html中需要单独替换 需要修改config中的网络请求域名 publicYuMing() { return 'https://zp.xianmaxiong.com' }, logout() { this.remove("token"); this.remove("userId"); this.remove("mobile"); this.remove("openid"); this.remove("nickName"); this.remove("relation"); this.remove("image_url"); this.remove("relation_id"); this.remove("isInvitation"); this.remove("member"); }, loginClear() { this.remove("token"); this.remove("userId"); this.remove("mobile"); this.remove("nickName"); this.remove("image_url"); this.remove("relation_id"); this.remove("isInvitation"); this.remove("member"); }, showLoading(title) { uni.showLoading({ title: title }); }, showToast(title) { uni.showToast({ title: title, mask: false, duration: 2000, icon: "none" }); }, getChatSearchKeys: function(key) { let list = uni.getStorageSync("chatSearchKeys"); let keys = key.replace(/\s*/g, "") let over = false for (var i = 0; i < keys.length; i++) { // console.error(keys[i]) if (list.indexOf(keys[i]) != -1) { over = true; // return over; } } return over; }, setJson: function(key, value) { let jsonString = JSON.stringify(value); try { uni.setStorageSync(key, jsonString); } catch (e) { // error } }, setData: function(key, value) { try { uni.setStorageSync(key, value); } catch (e) { // error } }, getData: function(key) { try { const value = uni.getStorageSync(key); if (value) { return value; } } catch (e) { // error } }, getJson: function(key) { try { const value = uni.getStorageSync(key); if (value) { return JSON.parse(value); } } catch (e) { // error } }, clear: function() { uni.clearStorage(); }, get: function(key) { //获取队列里面全部的数据 let data = this.getJson(key); if (data instanceof Array) { return data; } return []; }, insert: function(param) { //队列插入数据 param.capacityNum = param.capacityNum || 100; //队列容量 默认队列中超过100条数据,自动删除尾部 let data = this.getJson(param.key); if (data instanceof Array) { if (data.length > param.capacityNum) { let total = data.length - param.capacityNum; for (let i = 0; i < total; i++) { data.pop(); } } data.unshift(param.value); } else { data = []; data.push(param.value); } this.setJson(param.key, data); }, removeItem: function(key, itemIds) { //提供itemIds数组 批量删除队列中的某项数据 let data = this.getJson(key); if (data instanceof Array) { for (let i = 0; i < itemIds.length; i++) { for (let p = 0; p < data.length; p++) { if (itemIds[i] === data[p].itemid) { data.splice(p, 1); break; } } } this.setJson(key, data); } }, isExist: function(key, itemId) { //检测某条数据在队列中是否存在 let data = this.getJson(key); if (data instanceof Array) { for (let p = 0; p < data.length; p++) { if (itemId === data[p].itemid) { return true; } } } return false; }, isExistPdd: function(key, itemId) { //检测某条数据在队列中是否存在 let data = this.getJson(key); if (data instanceof Array) { for (let p = 0; p < data.length; p++) { if (itemId === data[p].goodsId) { return true; } } } return false; }, isExistJd: function(key, itemId) { //检测某条数据在队列中是否存在 let data = this.getJson(key); if (data instanceof Array) { for (let p = 0; p < data.length; p++) { if (itemId === data[p].skuId) { return true; } } } return false; }, remove: function(key) { //删除某条队列 try { uni.removeStorageSync(key); //localStorage.removeItem(key) } catch (e) { // error } }, getCount: function(key) { //获取队列中全部数据数量 let data = this.getJson(key); if (data instanceof Array) { return data.length; } return 0; }, uploadFile:function(path,callback){ const uploadTask=uni.uploadFile({ // 上传接口 url: configdata.APIHOST1 + '/alioss/upload', //真实的接口地址 filePath: path, name: 'file', success: (uploadFileRes) => { let content = JSON.parse(uploadFileRes.data).data; uni.hideLoading(); callback(content) },fail:(err)=>{ callback(false) console.log(err) } }); uploadTask.onProgressUpdate((res) => { uni.showLoading({ title: '上传进度' + res.progress+'%', }) if(res.progress>=100){ uni.hideLoading() } }) }, array_column:function (arr, column_key, index_key = null) { if (index_key === null) { return arr.map(item => item[column_key]); } return arr.reduce((result, item) => { result[item[index_key]] = item[column_key]; return result; }, {}); }, isCurrentMonth:function (date) { const now = new Date(); return now.getFullYear() === date.getFullYear() && now.getMonth() === date.getMonth(); }, getHighestEducation:function (educations) { // 定义学历等级映射(从低到高) const educationLevels = { '小学': 1, '初中': 2, '高中': 3, '中专': 4, '大专': 5, '本科': 6, '硕士': 7, '博士': 8, '博士后': 9 }; let highestEducation = null; let highestLevel = -1; educations.forEach(edu => { const level = educationLevels[edu.degree] || 0; if (level > highestLevel) { highestLevel = level; highestEducation = edu.degree; } }); return highestEducation; }, appConfirm:function(content='请确认您的操作?',callback,title='操作提示',button=["继续","取消"]){ // #ifndef APP-PLUS uni.showModal({ title: title, content: content, success: function(res) { if (res.confirm) { callback(true) }else callback(false) } }); return //#endif // #ifdef APP-PLUS plus.nativeUI.confirm(content, function(e){ if(e.index==0) callback(true) else callback(false) },title,button); //#endif } };