v1.7.4 编辑框换行符统一为\n

This commit is contained in:
fan
2021-08-19 20:40:51 +08:00
parent d3e296a4ec
commit cf854bffbe
11 changed files with 334 additions and 419 deletions
-130
View File
@@ -1,130 +0,0 @@
import { MESSAGE_TYPE, MESSAGE_STATUS, CONTACT_TYPE } from "utils/constant";
import { error } from "utils";
import { isPlainObject } from "utils/validate";
const constraintContactBasic = data =>
constraintObject(data, {
id: true,
displayName: true,
avatar: true,
type: {
required: true,
has: CONTACT_TYPE
}
});
const constraintMessageBasic = data =>
constraintObject(data, {
content: true,
sendTime: true,
type: {
required: true,
has: MESSAGE_TYPE
}
});
// constraintContact({
// id: "123",
// displayName: "123asd",
// avatar: "123",
// type: "single",
// message: {
// unread: 0,
// sendTime: 12312312,
// content: "12312312",
// type: "image"
// }
// });
constraintContact({
id: "123",
displayName: "123asd",
avatar: "123",
type: "single",
unread: 0,
lastSendTime: "",
subText: "12312312"
// message: {
// unread: 0,
// sendTime: 12312312,
// content: "12312312",
// type: "image"
// }
});
// constraintRecentContact({
// fromContactId: 0,
// unread: 0,
// sendTime: 12312312,
// content: "12312312"
// });
constraintMessage({
id: "123",
status: "succeed",
type: "image",
sendTime: 12312312312,
content: "asdas",
fromContactId: "123",
fromUser: { id: "123", displayName: "123", avatar: "123", type: "single" }
});
export function constraintObject(data, options) {
if (!data || !isPlainObject(data)) {
error("argument must be an object");
}
Object.keys(options).forEach(k => {
const option = options[k];
const val = data[k];
if ((option === true || option.required === true) && val === undefined) {
error(`"${k}" cannot be "${val}" `);
} else if (option.has && !option.has.includes(val)) {
error(
`"${k}" cannot be "${val}",can only be the following data "${
option.has
}"`
);
}
});
return true;
}
// export function constraintRecentContact(data) {
// constraintContact(data);
// constraintMessageBasic(data.message);
// constraintObject(data, {
// unread: true
// });
// }
export function constraintContact(data) {
constraintContactBasic(data);
// constraintObject(data, {
// unread: true,
// lastSendTime: true,
// lastContent: true
// });
}
export function constraintMessage(data) {
constraintObject(data, {
status: {
required: true,
has: MESSAGE_STATUS
},
fromContactId: true
});
constraintMessageBasic(data);
constraintContactBasic(data.fromUser);
let options = {};
switch (data.type) {
case "file":
options = {
fileSize: true,
fileName: true
};
break;
case "text":
options = {
text: true
};
break;
}
constraintObject(data, options);
}
+8 -6
View File
@@ -1,4 +1,6 @@
import { isPlainObject, isFunction } from "utils/validate";
export function messageToHtml() {}
export function messageToText() {}
/**
* 使用某个组件上的作用域插槽
* @param {VueComponent} inject
@@ -44,7 +46,7 @@ export function timeFormat(t, format) {
padZero(t.getDate().toString()),
padZero(t.getHours().toString()),
padZero(t.getMinutes().toString()),
padZero(t.getSeconds().toString())
padZero(t.getSeconds().toString()),
];
const reg = "ymdhis";
for (let i = 0; i < formatArr.length; i++) {
@@ -71,12 +73,12 @@ export function arrayIntersect(a, b) {
return a.filter(x => b.includes(x));
}
//清除字符串内的所有HTML标签
export function clearHtml(str){
return str.replace(/<.*?>/ig,"");
export function clearHtml(str) {
return str.replace(/<.*?>/gi, "");
}
//清除字符串内的所有HTML标签,除了IMG
export function clearHtmlExcludeImg(str){
return str.replace(/<(?!img).*?>/ig, "");
export function clearHtmlExcludeImg(str) {
return str.replace(/<(?!img).*?>/gi, "");
}
export function error(text) {
throw new Error(text);
@@ -122,7 +124,7 @@ export function generateUUID() {
d += performance.now(); //use high-precision timer if available
}
var uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(
c
c,
) {
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);