<template> </template> <script> export default { methods: { // 高亮显示搜索内容 lightSearchStr(keyword, str) { if (!keyword) { return str } else { let unicodes = ''; for (let i of Array.from(keyword)) { unicodes += this.unicode(i) + "|" } const rule = '(' + unicodes + ')' const reg = new RegExp(rule, 'gi'); return str ? str.replace(reg, matchValue => `<span style="color:${this.lightColor}">${matchValue}</span>` ) : '' } }, // 转换为unicode unicode(str) { var value = ''; for (var i = 0; i < str.length; i++) { value += '\\u' + this.left_zero_4(parseInt(str.charCodeAt(i)).toString(16)); } return value; }, left_zero_4(str) { if (str != null && str != '' && str != 'undefined') { if (str.length == 2) { return '00' + str; } } return str; }, // 数据去重一下 只显示一次 减免 劵 什么的 getPromotion(item) { if (item.promotionMap) { let array = []; Object.keys(item.promotionMap).forEach((child) => { if (!array.includes(child.split("-")[0])) { array.push(child.split("-")[0]); } }); return array; } }, // 跳转到商品详情 navigateToDetailPage(item) { uni.navigateTo({ url: `/pages/product/goods?id=${item.id}&goodsId=${item.goodsId}`, }); }, // 跳转地址 navigateToStoreDetailPage(item) { uni.navigateTo({ url: `/pages/product/shopPage?id=${item.storeId}`, }); }, }, } </script> <style lang='scss' scoped> </style>