Commit e7cdb23f by Sixong.Zhu

update for detail name

parent a33fdcc0
......@@ -100,7 +100,7 @@ export const enum MessageType {
Withdraw = "withdraw",
MyPurchasePlan = "my_purchase_plan",
MyWelfare = "my_welfare",
QuestionAnswer ="question_answer"
QuestionAnswer = "question_answer",
}
export const enum MessageHandled {
......@@ -137,6 +137,7 @@ export type MessageRequestResult = readonly Message[];
export interface BaseChatItemBusinessData {
model_name: string;
obj_id: string;
detail_name?: string;
}
export interface BaseChatItem extends BaseChatItemBusinessData {
......
......@@ -83,10 +83,17 @@ async function preCacheImgs(msgs?: any[]) {
}
function buildChatItem(chat: RawChatItem) {
if (!chat.model_name && chat.business_data) {
if (chat.business_data) {
const b = JSON.parse(chat.business_data) as BaseChatItemBusinessData;
chat.model_name = b.model_name;
b.obj_id && (chat.obj_id = b.obj_id);
if (!chat.model_name) {
chat.model_name = b.model_name;
b.obj_id && (chat.obj_id = b.obj_id);
}
b.detail_name &&
!chat.detail_name &&
(chat.detail_name = b.detail_name);
}
return { ...chat, chat_id: chat.id } as ChatType;
}
......@@ -386,6 +393,25 @@ export default {
async [ChatStore.ACTION_GET_MY_CHAT_LIST]({ commit, state }) {
let cache = await dbController.getChatList();
for (const item of cache) {
if (item.business_data && !item.detail_name) {
const d = JSON.parse(
item.business_data
) as BaseChatItemBusinessData;
if (d) {
if (d.detail_name) {
item.detail_name = d.detail_name;
}
if (!item.obj_id && d.obj_id) {
item.obj_id = d.obj_id;
}
if (!item.model_name && d.model_name) {
item.model_name = d.model_name;
}
}
}
}
const buildUnreadMessage = (items: ChatType[]) => {
let sum = 0;
items.forEach((i) => (sum += i.unread_msg_count));
......@@ -923,7 +949,10 @@ export default {
return await Chat.getSdk()
.model(currentChat.model_name)
.chat(currentChat.obj_id, orgId())
.addMember(uids.map((id) => +id), -30)
.addMember(
uids.map((id) => +id),
-30
)
.finally(() => dispatch(ChatStore.ACTION_GET_CHAT_MEMBERS));
},
async [ChatStore.ACTION_CHAT_REMOVE_MEMBER](
......
......@@ -47,6 +47,8 @@ export interface Chat {
chat_id: number;
catalog: string;
biz_type_id: number;
business_data?: string;
detail_name?: string;
}
export interface Message {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment