diff --git a/config/index.js b/config/index.js
index 71246fe..caa96e8 100644
--- a/config/index.js
+++ b/config/index.js
@@ -29,6 +29,9 @@ export const DefaultAppConfigs = {
},
categoryConfig: {
type: "list"
+ },
+ momentConfig: {
+ useTagRandomColor: true
}
},
auditConfig: {
diff --git a/pages/tabbar/moments/moments.vue b/pages/tabbar/moments/moments.vue
index f7ab259..5d328a8 100644
--- a/pages/tabbar/moments/moments.vue
+++ b/pages/tabbar/moments/moments.vue
@@ -34,7 +34,7 @@
+
+
+ {{ tag }}
+
+
@@ -69,9 +76,11 @@ import tmSkeleton from '@/tm-vuetify/components/tm-skeleton/tm-skeleton.vue';
import tmFlotbutton from '@/tm-vuetify/components/tm-flotbutton/tm-flotbutton.vue';
import tmTranslate from '@/tm-vuetify/components/tm-translate/tm-translate.vue';
import tmEmpty from '@/tm-vuetify/components/tm-empty/tm-empty.vue';
+import tmTags from '@/tm-vuetify/components/tm-tags/tm-tags.vue';
import MarkdownConfig from '@/common/markdown/markdown.config.js';
import mpHtml from '@/components/mp-html/components/mp-html/mp-html.vue';
+import {getRandomNumberByRange} from "@/utils/random.js"
export default {
components: {
@@ -79,6 +88,7 @@ export default {
tmFlotbutton,
tmTranslate,
tmEmpty,
+ tmTags,
mpHtml
},
data() {
@@ -92,7 +102,8 @@ export default {
hasNext: false,
dataList: [],
isLoadMore: false,
- loadMoreText: '加载中...'
+ loadMoreText: '加载中...',
+ tagColors: ['orange', 'green', 'red', 'blue']
};
},
@@ -111,6 +122,9 @@ export default {
calcAuditModeEnabled() {
return this.haloConfigs.auditConfig.auditModeEnabled
},
+ calcUseTagRandomColor() {
+ return this.haloConfigs.pageConfig.momentConfig.useTagRandomColor
+ }
},
onLoad() {
@@ -200,6 +214,7 @@ export default {
medium.url = this.$utils.checkThumbnailUrl(medium.url, true)
})
+ item.spec.newHtml = this.removeTagLinksCompletely(item.spec.content.html, '')
item['images'] = item.spec.content.medium
.filter(x => x.type === 'PHOTO')
@@ -231,6 +246,19 @@ export default {
current: index,
urls: list.map(item => item.url)
})
+ },
+ removeTagLinksCompletely(htmlString) {
+ const regex = /]*?\s+)?class=(['"])[^'"]*?\btag\b[^'"]*?\1[^>]*?>.*?<\/a>/gi;
+ const newHtml = htmlString.replace(regex, '');
+ return newHtml
+ .replace(/<[^>]+>\s*<\/[^>]+>/g, '')
+ .replace(/\s+/g, ' ')
+ .trim();
+ },
+ randomTagColor() {
+ if (!this.calcUseTagRandomColor) return "blue";
+ const randomIndex = getRandomNumberByRange(0, this.tagColors.length);
+ return this.tagColors[randomIndex];
}
}
};
diff --git a/utils/random.js b/utils/random.js
index c0d2db9..861623c 100644
--- a/utils/random.js
+++ b/utils/random.js
@@ -12,11 +12,11 @@
/**
* 指定范围生成随机数
- * @param {Number} m
- * @param {Number} n
- * @return {Number}
+ * @param {Number} m 最小值(包含)
+ * @param {Number} n 最大(不包含)
+ * @return {Number} 随机值
*/
-export function GetRandomNumberByRange(m, n) {
+export function getRandomNumberByRange(m, n) {
return Math.floor(Math.random() * (m - n) + n);
}
@@ -26,10 +26,10 @@ export function GetRandomNumberByRange(m, n) {
* @param {*} min 最小值
* @param {*} max 最大值
*/
-export function GetRandomNumberArray(len, min, max) {
+export function getRandomNumberArray(len, min, max) {
let arr = [];
for (let index = 0; index < len; index++) {
- arr.push(GetRandomNumberByRange(min, max));
+ arr.push(getRandomNumberByRange(min, max));
}
return arr;
}