mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 18:42:54 +00:00
no message
This commit is contained in:
parent
ad3e773f27
commit
479d3e3f39
@ -786,7 +786,7 @@ class DialogController extends AbstractController
|
|||||||
*
|
*
|
||||||
* @apiParam {Object} id 消息ID(组)
|
* @apiParam {Object} id 消息ID(组)
|
||||||
* - 1、多个ID用逗号分隔,如:1,2,3
|
* - 1、多个ID用逗号分隔,如:1,2,3
|
||||||
* - 2、另一种格式:{"id": "[会话ID]"},如:{"2": 0, "3": 10}
|
* - 2、另一种格式:{"id": "会话ID|0"},如:{"2": 0, "3": 10}
|
||||||
* -- 会话ID:标记id之后的消息已读
|
* -- 会话ID:标记id之后的消息已读
|
||||||
* -- 其他:标记已读
|
* -- 其他:标记已读
|
||||||
*
|
*
|
||||||
|
|||||||
@ -42,7 +42,6 @@ class UsersController extends AbstractController
|
|||||||
/**
|
/**
|
||||||
* @api {get} api/users/login 01. 登录、注册
|
* @api {get} api/users/login 01. 登录、注册
|
||||||
*
|
*
|
||||||
* @apiDescription 需要token身份
|
|
||||||
* @apiVersion 1.0.0
|
* @apiVersion 1.0.0
|
||||||
* @apiGroup users
|
* @apiGroup users
|
||||||
* @apiName login
|
* @apiName login
|
||||||
|
|||||||
@ -960,11 +960,19 @@ class Base
|
|||||||
/**
|
/**
|
||||||
* 判断是否二维数组
|
* 判断是否二维数组
|
||||||
* @param $array
|
* @param $array
|
||||||
|
* @param bool $strict 严格模式,是否每个元素都是数组
|
||||||
* @return bool
|
* @return bool
|
||||||
*/
|
*/
|
||||||
public static function isTwoArray($array)
|
public static function isTwoArray($array, bool $strict = true)
|
||||||
{
|
{
|
||||||
return is_array($array) && count(array_filter($array, 'is_array')) > 0;
|
if (!is_array($array)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$count = count(array_filter($array, 'is_array'));
|
||||||
|
if ($strict) {
|
||||||
|
return $count === count($array);
|
||||||
|
}
|
||||||
|
return $count > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -820,7 +820,7 @@ export default {
|
|||||||
},
|
},
|
||||||
render: (h, {row}) => {
|
render: (h, {row}) => {
|
||||||
const checkin_face = $A.cloneJSON(row.checkin_face || '')
|
const checkin_face = $A.cloneJSON(row.checkin_face || '')
|
||||||
return h('div', checkin_face ? this.$L('已上传') : '-');
|
return h('AutoTip', checkin_face ? this.$L('已上传') : '-');
|
||||||
},
|
},
|
||||||
}, {
|
}, {
|
||||||
key: 'checkin_mac',
|
key: 'checkin_mac',
|
||||||
|
|||||||
34
resources/assets/js/store/actions.js
vendored
34
resources/assets/js/store/actions.js
vendored
@ -3298,13 +3298,16 @@ export default {
|
|||||||
state.readTimeout = null;
|
state.readTimeout = null;
|
||||||
//
|
//
|
||||||
if (state.userId === 0) {
|
if (state.userId === 0) {
|
||||||
|
data && (data.read_at = null);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (Object.values(state.readWaitData).length === 0) {
|
const entries = Object.entries(state.readWaitData);
|
||||||
|
if (entries.length === 0) {
|
||||||
|
data && (data.read_at = null);
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const ids = $A.cloneJSON(state.readWaitData);
|
const ids = Object.fromEntries(entries.slice(0, 100));
|
||||||
state.readWaitData = {};
|
state.readWaitData = Object.fromEntries(entries.slice(100));
|
||||||
//
|
//
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
method: 'post',
|
method: 'post',
|
||||||
@ -3313,18 +3316,23 @@ export default {
|
|||||||
id: ids
|
id: ids
|
||||||
}
|
}
|
||||||
}).then(({data}) => {
|
}).then(({data}) => {
|
||||||
for (const id in ids) {
|
Object.entries(ids)
|
||||||
if (ids.hasOwnProperty(id) && /^\d+$/.test(ids[id])) {
|
.filter(([_, dialogId]) => /^\d+$/.test(dialogId))
|
||||||
state.dialogMsgs.some(item => {
|
.forEach(([msdId, dialogId]) => {
|
||||||
if (item.dialog_id == ids[id] && item.id >= id) {
|
state.dialogMsgs
|
||||||
item.read_at = $A.daytz().format("YYYY-MM-DD HH:mm:ss")
|
.filter(item => item.dialog_id == dialogId && item.id >= msdId)
|
||||||
}
|
.forEach(item => {
|
||||||
})
|
item.read_at = $A.daytz().format("YYYY-MM-DD HH:mm:ss");
|
||||||
}
|
});
|
||||||
}
|
});
|
||||||
dispatch("saveDialog", data)
|
dispatch("saveDialog", data)
|
||||||
}).catch(_ => {
|
}).catch(_ => {
|
||||||
state.readWaitData = ids;
|
Object.keys(ids)
|
||||||
|
.forEach(id => {
|
||||||
|
const msg = state.dialogMsgs.find(item => item.id == id);
|
||||||
|
if (msg) msg.read_at = null;
|
||||||
|
});
|
||||||
|
state.readWaitData = Object.assign(state.readWaitData, ids);
|
||||||
}).finally(_ => {
|
}).finally(_ => {
|
||||||
state.readLoadNum++
|
state.readLoadNum++
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user