需求:
需求是日志加载向上滑动滚动分页,并解析后端返回字符串中含有的特殊字符并替换成标签修改特殊字符包裹文本的样式
后端使用echo格式:
使用的命令如下:
echo -e "\033[30m 要修改样式的文本 \033[0m"
echo -e "\033[31m 要修改样式的文本 \033[0m"
echo -e "\033[32m 要修改样式的文本 \033[0m"
方法:正则匹配、替换
关键代码及注释:
- 常量定义:func.js
/**
* 处理日志字体高亮
*/
import {
isExist } from '@/utils/func';
/** 日志字体颜色
* 字颜色:30-----------39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色
*/
const colorObject = {
30: 'black',
31: 'red',
32: 'green',
33: 'yellow',
34: 'blue',
35: 'purple',
36: '#006400',
37: 'white',
};
/**
* 字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色
*/
const backgroundColor = {
40: 'black',
41: '#8B0000',
42: 'green',
43: 'yellow',
44: 'blue',
45: 'purple',
46: '#006400',
47: 'white',
};
// const startExpG = /\\033\[[4][0-9];[3][0-9]m/g;
// const startExp = /\\033\[[4][0-9];[3][0-9]m/;
// const endExpG = /\\033\[[0-9]m/g;
const startExpG = /\[[4][0-9];[3][0-9]m/g;
const startExp =