no message

This commit is contained in:
kuaifan
2022-06-06 16:08:55 +08:00
parent 244a2031a7
commit c08e217fb8
26 changed files with 88 additions and 49 deletions
+2 -2
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",
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+2
View File
File diff suppressed because one or more lines are too long
+1
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 */
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
-2
View File
File diff suppressed because one or more lines are too long
-15
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> */
+1 -1
View File
File diff suppressed because one or more lines are too long
+15 -1
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> */
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
2565783f807a6be6
0d7de382ffa14f95
@@ -6,8 +6,6 @@
</template>
<script>
import {mapState} from "vuex";
export default {
name: "MobileBack",
props: {
+1 -1
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)
@@ -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' : ''
}
},
@@ -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--;
});
}
}
@@ -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();
}
}
}
},
+12 -5
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) {
+9
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;
}
}
}
}