/** * 金钱单位置换 2999 --> 2,999.00 * @param val * @param unit * @param location * @returns {*} */ export function unitPrice(val, unit, location) { let price = formatPrice(val); if (location === "before") { return price.substr(0, price.length - 3); } if (location === "after") { return price.substr(-2); } return (unit || "") + price; } // 转义 export function enCode(v1) { var entry = { "'": "'", "<": "<", ">": ">", "(": "(", ")": ")" }; v1 = v1.replace(/(')|(<)|(>)|(()|())|\s/gi, function($0) { return entry[$0] || $0; }); return v1; } import {router} from "@/router/index"; /** * 自定义跳转 */ export function customRouterPush(push){ const setting = window.localStorage.getItem('setting') ? JSON.parse(window.localStorage.getItem('setting')) : {}; if(setting.isUseTabsRouter){ router.push(push) } else{ if(Object.keys(setting).length == 0){router.push(push)} else{ let url = router.resolve(push); window.open(url.href, '_blank'); } } } /** * 订单来源 */ export function clientTypeWay(val) { if (val == "H5") { return "移动端"; } else if (val == "PC") { return "PC端"; } else if (val == "WECHAT_MP") { return "小程序端"; } else if (val == "APP") { return "移动应用端"; } else { return val; } } /** * 货币格式化 * @param price * @returns {string} */ export function formatPrice(price) { if (typeof price !== "number") return price; return String(Number(price).toFixed(2)).replace(/\B(?=(\d{3})+(?!\d))/g, ","); } /** * 处理unix时间戳,转换为可阅读时间格式 * @param unix * @param format * @returns {*|string} */ export function unixToDate(unix, format) { let _format = format || "yyyy-MM-dd hh:mm:ss"; const d = new Date(unix * 1000); const o = { "M+": d.getMonth() + 1, "d+": d.getDate(), "h+": d.getHours(), "m+": d.getMinutes(), "s+": d.getSeconds(), "q+": Math.floor((d.getMonth() + 3) / 3), S: d.getMilliseconds() }; if (/(y+)/.test(_format)) _format = _format.replace( RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length) ); for (const k in o) if (new RegExp("(" + k + ")").test(_format)) _format = _format.replace( RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length) ); return _format; } //是否格式化 export function unixWhether(status) { switch (status) { case "YES": return "是"; case "NO": return "否"; } } export function unixSellerBillStatus(status_code) { switch (status_code) { case "OUT": return "已出账"; case "CHECK": return "已对账"; case "EXAMINE": return "已审核"; case "PAY": return "已结算"; case "COMPLETE": return "已完成"; } } export function unixSwitchStatus(status_code) { switch (status_code) { case "OPEN": return "开启"; case "CLOSE": return "关闭"; } } /** * 13888888888 -> 138****8888 * @param mobile * @returns {*} */ export function secrecyMobile(mobile) { mobile = String(mobile); if (!/\d{11}/.test(mobile)) { return mobile; } return mobile.replace(/(\d{3})(\d{4})(\d{4})/, "$1****$3"); } export function formatDate(date, fmt) { if (/(y+)/.test(fmt)) { fmt = fmt.replace( RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length) ); } let o = { "M+": date.getMonth() + 1, "d+": date.getDate(), "h+": date.getHours(), "m+": date.getMinutes(), "s+": date.getSeconds() }; for (let k in o) { if (new RegExp(`(${k})`).test(fmt)) { let str = o[k] + ""; fmt = fmt.replace( RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str) ); } } return fmt; } // 楼层装修,选择链接处理跳转方式 export function formatLinkType (item) { const types = ['goods', 'category', 'shops', 'marketing', 'pages', 'other'] // 所有跳转的分类 依次为 商品、分类、店铺、活动、页面、其他 let url = ''; switch (item.___type) { case 'goods': url = `/goodsDetail?skuId=${item.id}&goodsId=${item.goodsId}`; break; case 'category': url = `/goodsList?categoryId=${item.allId}`; break; case 'shops': url = `/merchant?id=${item.id}`; break; case 'marketing': // 暂无数据,需要后续修改 url = `/seckill?id=${item.id}`; break; case 'pages': // 暂无数据,需要后续修改 url = `/article?id=${item.id}`; break; case 'other': switch (item.title) { case '首页': url = '/'; break; case '购物车': url = '/cart'; break; case '我的订单': url = '/home/MyOrder'; break; case '收藏商品': url = '/home/Favorites'; break; case '个人中心': url = '/home'; break; case '外部链接': url = item.url; break; case '秒杀频道': url = '/seckill'; break; case '领券中心': url = '/coupon'; break; } break; } return url; }