no message

This commit is contained in:
kuaifan 2022-06-06 15:41:02 +08:00
parent 244a2031a7
commit c08e217fb8
26 changed files with 88 additions and 49 deletions

View File

@ -1,6 +1,6 @@
{
"name": "DooTask",
"version": "0.16.37",
"version": "0.16.39",
"description": "DooTask is task management system.",
"scripts": {
"start": "./cmd dev",
@ -46,7 +46,7 @@
"stylus-loader": "^6.2.0",
"tinymce": "^5.10.3",
"tui-calendar-hi": "^1.15.1-5",
"view-design-hi": "^4.7.0-26",
"view-design-hi": "^4.7.0-27",
"vue": "^2.6.14",
"vue-clipboard2": "^0.3.3",
"vue-kityminder-ggg": "^1.3.10",

2
public/css/app.css vendored

File diff suppressed because one or more lines are too long

2
public/js/app.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
public/js/build/482.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
/*! @license DOMPurify 2.3.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.6/LICENSE */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,15 +0,0 @@
/*!
* Quill Editor v1.3.7
* https://quilljs.com/
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */

File diff suppressed because one or more lines are too long

View File

@ -1 +1,15 @@
/*! @license DOMPurify 2.3.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.6/LICENSE */
/*!
* Quill Editor v1.3.7
* https://quilljs.com/
* Copyright (c) 2014, Jason Chen
* Copyright (c) 2013, salesforce.com
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
2565783f807a6be6
0d7de382ffa14f95

View File

@ -6,8 +6,6 @@
</template>
<script>
import {mapState} from "vuex";
export default {
name: "MobileBack",
props: {

View File

@ -105,7 +105,7 @@
let now = $A.Time(),
time = $A.Date(date, true),
string = '';
if (now - time < 3600 * 6 || $A.formatDate('Ymd', now) === $A.formatDate('Ymd', time)) {
if (Math.abs(now - time) < 3600 * 6 || $A.formatDate('Ymd', now) === $A.formatDate('Ymd', time)) {
string = $A.formatDate('H:i', time)
} else if ($A.formatDate('Y', now) === $A.formatDate('Y', time)) {
string = $A.formatDate('m-d', time)

View File

@ -8,7 +8,7 @@
:beforeClose="onBeforeClose"
class-name="dialog-modal"
fullscreen>
<transition name="mobile-dialog">
<transition :name="transition">
<DialogWrapper v-if="windowSmall && dialogId > 0" :dialogId="dialogId" :beforeBack="onBeforeClose"/>
</transition>
</Modal>
@ -56,6 +56,7 @@ export default {
return {
timer: null,
visible: false,
transition: $A.isIos() ? 'mobile-dialog' : ''
}
},

View File

@ -79,11 +79,13 @@
</ul>
</div>
<!--时间/阅读-->
<div v-if="msgData.created_at" class="dialog-foot">
<!--等待/时间/阅读-->
<div v-if="emojiLoad > 0 || !msgData.created_at" class="dialog-foot"><Loading/></div>
<div v-else class="dialog-foot">
<!--时间-->
<div v-if="timeShow" class="time" @click="timeShow=false">{{msgData.created_at}}</div>
<div v-else class="time" :title="msgData.created_at" @click="timeShow=true">{{$A.formatTime(msgData.created_at)}}</div>
<!--阅读-->
<template v-if="!hidePercentage">
<div v-if="msgData.send > 1 || dialogType === 'group'" class="percent" @click="openReadPercentage">
<EPopover
@ -114,8 +116,6 @@
<Icon v-else class="done" type="md-checkmark"/>
</template>
</div>
<div v-else class="dialog-foot"><Loading/></div>
</div>
</template>
@ -160,6 +160,7 @@ export default {
popperShow: false,
timeShow: false,
operateEnter: false,
emojiLoad: 0,
allList: [],
}
},
@ -560,6 +561,9 @@ export default {
},
setEmoji(emoji) {
setTimeout(_ => {
this.emojiLoad++;
}, 600);
this.$store.dispatch("call", {
url: 'dialog/msg/emoji',
data: {
@ -570,6 +574,8 @@ export default {
this.$store.dispatch("saveDialogMsg", data);
}).catch(({msg}) => {
$A.messageError(msg);
}).finally(_ => {
this.emojiLoad--;
});
}
}

View File

@ -6,6 +6,7 @@
@drop.prevent="chatPasteDrag($event, 'drag')"
@dragover.prevent="chatDragOver(true, $event)"
@dragleave.prevent="chatDragOver(false, $event)"
@touchstart="onTouchstart"
@touchmove="onTouchmove">
<!--顶部导航-->
<div class="dialog-nav" :style="navStyle">
@ -337,6 +338,7 @@ export default {
operateEmojis: ['👌', '🤝', '🤔', '👍', '👎', '👏', '✋', '✅', '❌', '❤️', '❓'],
recordState: '',
wrapperStart: 0,
}
},
@ -670,9 +672,25 @@ export default {
}
},
onTouchstart(e) {
this.wrapperStart = Object.assign(this.scrollInfo(), {
clientY: e.touches[0].clientY
});
},
onTouchmove(e) {
if (this.windowSmall && !this.$refs.scroller.$el.contains(e.target)) {
e.preventDefault();
if (this.windowSmall && this.windowScrollY > 0) {
if (this.wrapperStart.clientY > e.touches[0].clientY) {
//
if (this.wrapperStart.scrollE === 0) {
e.preventDefault();
}
} else {
//
if (this.wrapperStart.scrollY === 0) {
e.preventDefault();
}
}
}
},

View File

@ -90,9 +90,10 @@
<li v-for="items in contactsList">
<div class="label">{{items.az}}</div>
<ul>
<li v-for="(user, index) in items.list" :key="index" @click="openContacts(user.userid)">
<li v-for="(user, index) in items.list" :key="index" @click="openContacts(user)">
<div class="avatar"><UserAvatar :userid="user.userid" :size="30"/></div>
<div class="nickname">{{user.nickname}}</div>
<div v-if="user.loading" class="loading"><Loading/></div>
</li>
</ul>
</li>
@ -393,11 +394,17 @@ export default {
this.$store.dispatch("openDialog", dialogId)
},
openContacts(userid) {
if (this.windowLarge) {
this.tabActive = 'dialog';
openContacts(user) {
if (user.loading) {
return
}
this.$store.dispatch("openDialogUserid", userid);
this.$set(user, 'loading', true);
this.$store.dispatch("openDialogUserid", user.userid).then(_ => {
this.$set(user, 'loading', false);
if (this.windowLarge) {
this.tabActive = 'dialog';
}
});
},
filterDialog(dialog) {

View File

@ -353,12 +353,21 @@
height: 30px;
}
.nickname {
flex: 1;
padding: 0 12px;
font-size: 14px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.loading {
margin-right: 12px;
width: 16px;
height: 16px;
display: flex;
align-items: center;
justify-content: center;
}
}
}
}