perf: email quote, text/plain

main
Lei OT 5 days ago
parent cbf63c5e86
commit 378c864277

@ -1,5 +1,5 @@
import { fetchJSON, postForm, postJSON } from '@/utils/request'; import { fetchJSON, postForm, postJSON } from '@/utils/request';
import { API_HOST, API_HOST_V3, DATE_FORMAT, DATEEND_FORMAT, DATETIME_FORMAT, EMAIL_HOST } from '@/config'; import { API_HOST, API_HOST_V3, DATE_FORMAT, DATEEND_FORMAT, DATETIME_FORMAT, EMAIL_HOST, EMAIL_HOST_v3 } from '@/config';
import { buildTree, groupBy, isEmpty, objectMapper, omitEmpty, uniqWith } from '@/utils/commons'; import { buildTree, groupBy, isEmpty, objectMapper, omitEmpty, uniqWith } from '@/utils/commons';
import { readIndexDB, writeIndexDB } from '@/utils/indexedDB'; import { readIndexDB, writeIndexDB } from '@/utils/indexedDB';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
@ -455,7 +455,7 @@ export const getReminderEmailTemplateAction = async (params = { coli_sn: 0, lgc:
* @param {boolean} [isDraft=false] - Whether the email is a draft. * @param {boolean} [isDraft=false] - Whether the email is a draft.
*/ */
export const saveEmailDraftOrSendAction = async (body, isDraft = false) => { export const saveEmailDraftOrSendAction = async (body, isDraft = false) => {
const url = isDraft !== false ? `${API_HOST_V3}/email_draft_save` : `${EMAIL_HOST}/sendmail`; const url = isDraft !== false ? `${API_HOST_V3}/email_draft_save` : `${EMAIL_HOST_v3}/sendmail`;
const { attaList=[], atta, content, ...bodyData } = body; const { attaList=[], atta, content, ...bodyData } = body;
bodyData.ordertype = 227001; bodyData.ordertype = 227001;
const formData = new FormData(); const formData = new FormData();

@ -9,7 +9,7 @@
export const API_HOST = 'http://202.103.68.144:8889/v2'; export const API_HOST = 'http://202.103.68.144:8889/v2';
export const API_HOST_V3 = 'http://202.103.68.144:8889/v3'; export const API_HOST_V3 = 'http://202.103.68.144:8889/v3';
// export const WS_URL = 'ws://202.103.68.144:8888'; // export const WS_URL = 'ws://202.103.68.144:8888';
// export const EMAIL_HOST = 'http://202.103.68.231:888/service-mail'; export const EMAIL_HOST_v3 = 'http://202.103.68.144:888/service-mail';
// export const WAI_HOST = 'http://47.83.248.120/api/v1'; // 香港服务器 // export const WAI_HOST = 'http://47.83.248.120/api/v1'; // 香港服务器
export const WAI_HOST = 'http://47.254.53.81/api/v1'; // 美国服务器 export const WAI_HOST = 'http://47.254.53.81/api/v1'; // 美国服务器
// export const WAI_HOST = 'http://localhost:3031/api/v1'; // 美国服务器 // export const WAI_HOST = 'http://localhost:3031/api/v1'; // 美国服务器

@ -132,16 +132,12 @@ export const useEmailDetail = (mai_sn=0, data={}, oid=0, markRead=false) => {
} }
const postEmailSaveOrSend = async (body, isDraft) => { const postEmailSaveOrSend = async (body, isDraft) => {
try {
const { id: savedID } = await saveEmailDraftOrSendAction(body, isDraft) const { id: savedID } = await saveEmailDraftOrSendAction(body, isDraft)
setMaiSN(savedID) setMaiSN(savedID)
if (isDraft) { if (isDraft) {
refresh() refresh()
} }
return savedID return savedID
} catch (error) {
console.error(error);
}
}; };
return { loading, mailData, orderDetail, postEmailResend, postEmailSaveOrSend } return { loading, mailData, orderDetail, postEmailResend, postEmailSaveOrSend }

@ -104,7 +104,7 @@ export const clearWebsocketLog = () => {
export const createIndexedDBStore = (tables, database) => { export const createIndexedDBStore = (tables, database) => {
var open = indexedDB.open(database, INDEXED_DB_VERSION) var open = indexedDB.open(database, INDEXED_DB_VERSION)
open.onupgradeneeded = function () { open.onupgradeneeded = function () {
console.log('readIndexDB onupgradeneeded', database, ) // console.log('readIndexDB onupgradeneeded', database, )
var db = open.result var db = open.result
// 数据库是否存在 // 数据库是否存在
for (const table of tables) { for (const table of tables) {
@ -124,7 +124,7 @@ export const createIndexedDBStore = (tables, database) => {
export const writeIndexDB = (rows, table, database) => { export const writeIndexDB = (rows, table, database) => {
var open = indexedDB.open(database, INDEXED_DB_VERSION) var open = indexedDB.open(database, INDEXED_DB_VERSION)
open.onupgradeneeded = function () { open.onupgradeneeded = function () {
console.log('readIndexDB onupgradeneeded', table, ) // console.log('readIndexDB onupgradeneeded', table, )
var db = open.result var db = open.result
// 数据库是否存在 // 数据库是否存在
if (!db.objectStoreNames.contains(table)) { if (!db.objectStoreNames.contains(table)) {
@ -170,7 +170,7 @@ export const readIndexDB = (keys=null, table, database) => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
let openRequest = indexedDB.open(database) let openRequest = indexedDB.open(database)
openRequest.onupgradeneeded = function () { openRequest.onupgradeneeded = function () {
console.log('readIndexDB onupgradeneeded', table, ) // console.log('readIndexDB onupgradeneeded', table, )
var db = openRequest.result var db = openRequest.result
// 数据库是否存在 // 数据库是否存在
if (!db.objectStoreNames.contains(table)) { if (!db.objectStoreNames.contains(table)) {
@ -208,7 +208,7 @@ export const readIndexDB = (keys=null, table, database) => {
// console.log(`💾Found record with key ${key}:`, result); // console.log(`💾Found record with key ${key}:`, result);
innerResolve([key, result]); // Resolve with [key, data] tuple innerResolve([key, result]); // Resolve with [key, data] tuple
} else { } else {
console.log(`No record found with key ${key}.`); // console.log(`No record found with key ${key}.`);
innerResolve(void 0); // Resolve with undefined for non-existent keys innerResolve(void 0); // Resolve with undefined for non-existent keys
} }
}; };
@ -241,7 +241,7 @@ export const readIndexDB = (keys=null, table, database) => {
// console.log(`💾Found record with key ${keys}:`, result); // console.log(`💾Found record with key ${keys}:`, result);
resolve(result); resolve(result);
} else { } else {
console.log(`No record found with key ${keys}.`); // console.log(`No record found with key ${keys}.`);
resolve(); resolve();
} }
}; };
@ -258,10 +258,10 @@ export const readIndexDB = (keys=null, table, database) => {
allData.forEach(item => { allData.forEach(item => {
resultMap.set(item.key, item); resultMap.set(item.key, item);
}); });
console.log(`💾Found all records:`, resultMap); // console.log(`💾Found all records:`, resultMap);
resolve(resultMap); resolve(resultMap);
} else { } else {
console.log(`No records found.`); // console.log(`No records found.`);
resolve(resultMap); // Resolve with an empty Map if no records resolve(resultMap); // Resolve with an empty Map if no records
} }
}; };

@ -70,7 +70,7 @@ const generateQuoteContent = (mailData, isRichText = true) => {
return isRichText ? html : parseHTMLText(html) return isRichText ? html : parseHTMLText(html)
} }
const generateMailContent = (mailData) => `${mailData.content}<br>` const generateMailContent = (mailData) => mailData.info?.MAI_ContentType === 'text/html' ? `${mailData.content}<br>` : `<p>${mailData.content.replace(/\r\n/g, '<br>')}</p>`
/** /**
* 独立窗口编辑器 * 独立窗口编辑器
@ -260,7 +260,7 @@ const NewEmail = () => {
mai_sn: pageParam.quoteid, mai_sn: pageParam.quoteid,
..._form2 ..._form2
} }
readyToInitialContent = '<br>'+ generateMailContent(mailData) readyToInitialContent = generateMailContent(mailData)
setFileList(mailData.attachments.map(ele => ({ uid: ele.ATI_SN, name: ele.ATI_Name, url: ele.ATI_ServerFile, fullPath: `${EMAIL_ATTA_HOST}${ele.ATI_ServerFile}` }))) setFileList(mailData.attachments.map(ele => ({ uid: ele.ATI_SN, name: ele.ATI_Name, url: ele.ATI_ServerFile, fullPath: `${EMAIL_ATTA_HOST}${ele.ATI_ServerFile}` })))
break break
case 'new': case 'new':
@ -271,8 +271,9 @@ const NewEmail = () => {
subject: `${info.MAI_Subject || templateFormValues.subject || ''}`, subject: `${info.MAI_Subject || templateFormValues.subject || ''}`,
..._form2, ..._form2,
} }
readyToInitialContent = generateMailContent({ content: templateContent.bodycontent || readyToInitialContent || `<br>${signatureBody}` || '' }) readyToInitialContent = generateMailContent({ content: templateContent.bodycontent || readyToInitialContent || `<p></p><br>${signatureBody}` || '' })
setFileList(mailData.attachments.map(ele => ({ uid: ele.ATI_SN, name: ele.ATI_Name, url: ele.ATI_ServerFile, fullPath: `${EMAIL_ATTA_HOST}${ele.ATI_ServerFile}` }))) // setFileList(mailData.attachments.map(ele => ({ uid: ele.ATI_SN, name: ele.ATI_Name, url: ele.ATI_ServerFile, fullPath: `${EMAIL_ATTA_HOST}${ele.ATI_ServerFile}` })))
setIsRichText(true)
break break
default: default:

Loading…
Cancel
Save