2021-06-20 17:02:45 +08:00

57 lines
1.7 KiB
JavaScript
Vendored

export default {
/**
* 会话消息列表
* @param state
* @param data
*/
dialogMsgListSuccess(state, data) {
const dialog = data.dialog;
const list = data.data;
// 更新当前会话消息
if (state.dialogId == dialog.id) {
state.dialogDetail = dialog;
list.forEach((item) => {
let index = state.dialogMsgList.findIndex(({id}) => id == item.id);
if (index === -1) {
state.dialogMsgList.unshift(item);
} else {
state.dialogMsgList.splice(index, 1, item);
}
});
this.commit("dialogMsgListStorageCurrent");
}
// 页数数据
state.dialogMsgCurrentPage = data.current_page;
state.dialogMsgHasMorePages = data.current_page < data.last_page;
// 更新会话数据
this.dispatch("saveDialog", dialog);
},
/**
* 保存当前会话消息
* @param state
*/
dialogMsgListStorageCurrent(state) {
if (!state.method.isJson(state.cacheDialogMsg[state.dialogId])) {
return;
}
//
state.cacheDialogMsg[state.dialogId].data = state.dialogMsgList;
state.method.setStorage("cacheDialogMsg", state.cacheDialogMsg);
},
/**
* 将会话移动到首位
* @param state
* @param dialog_id
*/
dialogMoveToTop(state, dialog_id) {
const index = state.dialogList.findIndex(({id}) => id == dialog_id);
if (index > -1) {
const tmp = state.method.cloneJSON(state.dialogList[index]);
state.dialogList.splice(index, 1);
state.dialogList.unshift(tmp);
}
}
}