import $store from '@/store/index.js'; import pinyin from './getPingYin.js'; class utils { constructor(arg) { } //返回上一页 back(delta = 1){ uni.navigateBack({ delta:delta }) } //获取好友备注,没有返回昵称 getNickName(friend_id,nickname){ var friendIds = uni.getStorageSync("friendIds"); if(friendIds.length){ let petName = nickname; friendIds.forEach((item)=>{ if(friend_id == item.friend_id){ if(item.pet_name != undefined){ petName = item.pet_name; } } }) return petName; }else{ return nickname; } } getGroupById(id){ let groups = uni.getStorageSync("groupList"); let info = []; if(groups && groups.length){ groups.forEach((item)=>{ if(id == item._id){ info = item; } }) } return info; } getGroupAvatarList(id){ var avatarList = []; if(id){ let groups = this.getGroupById(id); if(groups.group_users != undefined && groups.group_users.length){ groups.group_users.forEach((item)=>{ avatarList.push(item.avatar) }) } } return avatarList; } getFriendInfoById(id){ let friends = $store.state.user.friendList; let info = []; if(friends.length){ friends.forEach((item)=>{ if(id == item._id){ info = item; } }) } return info; } //获取缓存头像 getImageCache(url) { return url; let key = `images_cache`; let list = uni.getStorageSync(key); list = list ? list : []; let index = list.findIndex(item => item.url === url) if (index !== -1) { return list[index]['cache']; } else { var cache = { url: url, cache: url, }; uni.downloadFile({ url: url, success: (res) => { if (res.statusCode === 200) { cache.cache = res.tempFilePath; list.push(cache); uni.setStorageSync(key, list); } }, fail: (e) => { } }); return cache.cache; } } //好友列表按首字母排序 sortFriendList(data) { var friendList = data; var letter = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ,"#" ]; var indexData = []; letter.forEach((letterItem, letterIndex) => { var letterData = { letter: letterItem, data: [] } friendList.forEach((friendListItem, friendListIndex) => { var firstLetter = friendListItem.nickname.substr(0, 1); var p = /[a-z]/i; var b = p.test(firstLetter); if(b){ var firstWord = firstLetter.toUpperCase(); }else{ var firstWord = pinyin.initial(firstLetter); } var p2 = /[A-Z]/i; var b2 = p2.test(firstWord); if(!b2 && letterItem === "#"){ letterData.data.push(friendListItem); } if (b2 && letterItem === firstWord) { letterData.data.push(friendListItem); } }) if (letterData.data.length > 0) { indexData.push(letterData); } }) return indexData; } //格式化时间 formatChatTime(time) { time = this.dateFormat("YY-mm-dd HH:MM:SS", new Date(time)); var date = time.toString(); var year = date.split("-")[0]; var month = date.split("-")[1]; var day = date.split("-")[2]; var d1 = new Date(year + '/' + month + '/' + day.split(" ")[0]); var d3 = new Date(date.replace(/-/g, "/")); var dd = new Date(); var y = dd.getFullYear(); var m = dd.getMonth() + 1; var d = dd.getDate(); var d2 = new Date(y + '/' + m + '/' + d); var iday = parseInt(d2 - d1) / 1000 / 60 / 60 / 24; var hours = d3.getHours(); var minutes = d3.getMinutes(); if (minutes < 10) { minutes = '0' + minutes; } if (hours < 10) { hours = '0' + hours; } if (iday == 0) { if (hours >= 12) { return "下午 " + hours + ":" + minutes; } else { return "上午 " + hours + ":" + minutes;; } } else if (iday == 1) { var dt = ""; if (hours >= 12) { dt = "下午 " + hours + ":" + minutes; } else { dt = "上午 " + hours + ":" + minutes;; } return "昨天 " + dt; } else if (iday == 2) { var dt = ""; if (hours >= 12) { dt = "下午 " + hours + ":" + minutes; } else { dt = "上午 " + hours + ":" + minutes;; } return "前天 " + dt; } else { return year + '/' + month + "/" + d1.getDate() } } dateFormat(fmt, date) { let ret; const opt = { "Y+": date.getFullYear().toString(), // 年 "m+": (date.getMonth() + 1).toString(), // 月 "d+": date.getDate().toString(), // 日 "H+": date.getHours().toString(), // 时 "M+": date.getMinutes().toString(), // 分 "S+": date.getSeconds().toString() // 秒 }; for (let k in opt) { ret = new RegExp("(" + k + ")").exec(fmt); if (ret) { fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) }; }; return fmt; } } export default utils