no message

This commit is contained in:
kuaifan 2025-05-06 16:13:37 +08:00
parent 3a337940d1
commit cb4b9a361f
43 changed files with 89 additions and 89 deletions

View File

@ -205,7 +205,7 @@ export default {
handler() { handler() {
this.$store.dispatch("websocketConnection"); this.$store.dispatch("websocketConnection");
// //
if (this.$isEEUiApp) { if (this.$isEEUIApp) {
this.umengAliasTimer && clearTimeout(this.umengAliasTimer) this.umengAliasTimer && clearTimeout(this.umengAliasTimer)
if (this.userId > 0) { if (this.userId > 0) {
// APP // APP
@ -373,7 +373,7 @@ export default {
}, },
onRouterViewMounted() { onRouterViewMounted() {
document.documentElement.setAttribute("data-platform", $A.isElectron ? "desktop" : $A.isEEUiApp ? "app" : "web") document.documentElement.setAttribute("data-platform", $A.isElectron ? "desktop" : $A.isEEUIApp ? "app" : "web")
}, },
/** /**
@ -596,7 +596,7 @@ export default {
}, },
eeuiEvents() { eeuiEvents() {
if (!this.$isEEUiApp) { if (!this.$isEEUIApp) {
return; return;
} }
// APP // APP

View File

@ -1,6 +1,6 @@
const isElectron = !!(window && window.process && window.process.type && window.electron); const isElectron = !!(window && window.process && window.process.type && window.electron);
const isEEUiApp = window && window.navigator && /eeui/i.test(window.navigator.userAgent); const isEEUIApp = window && window.navigator && /eeui/i.test(window.navigator.userAgent);
const isSoftware = isElectron || isEEUiApp; const isSoftware = isElectron || isEEUIApp;
import {languageName, switchLanguage as $L} from "./language"; import {languageName, switchLanguage as $L} from "./language";
@ -184,7 +184,7 @@ Vue.prototype.copyText = function (obj) {
error: "复制失败" error: "复制失败"
} }
} }
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
$A.eeuiAppCopyText(obj.text) $A.eeuiAppCopyText(obj.text)
obj.success && $A.messageSuccess(obj.success) obj.success && $A.messageSuccess(obj.success)
return return
@ -203,7 +203,7 @@ $A.Electron = null;
$A.Platform = "web"; $A.Platform = "web";
$A.isMainElectron = false; $A.isMainElectron = false;
$A.isSubElectron = false; $A.isSubElectron = false;
$A.isEEUiApp = isEEUiApp; $A.isEEUIApp = isEEUIApp;
$A.isElectron = isElectron; $A.isElectron = isElectron;
$A.isSoftware = isSoftware; $A.isSoftware = isSoftware;
$A.openLog = false; $A.openLog = false;
@ -212,7 +212,7 @@ if (isElectron) {
$A.Platform = /macintosh|mac os x/i.test(navigator.userAgent) ? "mac" : "win"; $A.Platform = /macintosh|mac os x/i.test(navigator.userAgent) ? "mac" : "win";
$A.isMainElectron = /\s+MainTaskWindow\//.test(window.navigator.userAgent); $A.isMainElectron = /\s+MainTaskWindow\//.test(window.navigator.userAgent);
$A.isSubElectron = /\s+SubTaskWindow\//.test(window.navigator.userAgent); $A.isSubElectron = /\s+SubTaskWindow\//.test(window.navigator.userAgent);
} else if (isEEUiApp) { } else if (isEEUIApp) {
$A.Platform = /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) ? "ios" : "android"; $A.Platform = /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) ? "ios" : "android";
} }
@ -283,7 +283,7 @@ Vue.prototype.$Electron = $A.Electron;
Vue.prototype.$Platform = $A.Platform; Vue.prototype.$Platform = $A.Platform;
Vue.prototype.$isMainElectron = $A.isMainElectron; Vue.prototype.$isMainElectron = $A.isMainElectron;
Vue.prototype.$isSubElectron = $A.isSubElectron; Vue.prototype.$isSubElectron = $A.isSubElectron;
Vue.prototype.$isEEUiApp = $A.isEEUiApp; Vue.prototype.$isEEUIApp = $A.isEEUIApp;
Vue.prototype.$isSoftware = $A.isSoftware; Vue.prototype.$isSoftware = $A.isSoftware;
Vue.config.productionTip = false; Vue.config.productionTip = false;
@ -317,7 +317,7 @@ const $init = async () => {
} }
const $preload = async () => { const $preload = async () => {
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
const requireTime = new Date().getTime(); const requireTime = new Date().getTime();
while (typeof requireModuleJs !== "function") { while (typeof requireModuleJs !== "function") {
await new Promise(resolve => setTimeout(resolve, 200)); await new Promise(resolve => setTimeout(resolve, 200));

View File

@ -4,7 +4,7 @@
:placement="placement" :placement="placement"
:effect="tooltipTheme" :effect="tooltipTheme"
:delay="delay" :delay="delay"
:disabled="$isEEUiApp || windowTouch || !showTooltip || disabled" :disabled="$isEEUIApp || windowTouch || !showTooltip || disabled"
:max-width="tooltipMaxWidth" :max-width="tooltipMaxWidth"
transfer> transfer>
<span ref="content" @mouseenter="handleTooltipIn" class="common-auto-tip" @click="onClick"> <span ref="content" @mouseenter="handleTooltipIn" class="common-auto-tip" @click="onClick">

View File

@ -1,5 +1,5 @@
<template> <template>
<ETooltip v-if="visible" :disabled="$isEEUiApp || windowTouch || content == ''" :content="content"> <ETooltip v-if="visible" :disabled="$isEEUIApp || windowTouch || content == ''" :content="content">
<svg v-if="type === 'svg'" viewBox="25 25 50 50" class="common-loading"> <svg v-if="type === 'svg'" viewBox="25 25 50 50" class="common-loading">
<circle cx="50" cy="50" r="20" fill="none" stroke-width="5" stroke-miterlimit="10" class="common-path"></circle> <circle cx="50" cy="50" r="20" fill="none" stroke-width="5" stroke-miterlimit="10" class="common-path"></circle>
</svg> </svg>

View File

@ -124,7 +124,7 @@ export default {
systemInfo: window.systemInfo, systemInfo: window.systemInfo,
isEEUiApp: $A.isEEUiApp, isEEUIApp: $A.isEEUIApp,
isElectron: $A.isElectron, isElectron: $A.isElectron,
isMainElectron: $A.isMainElectron, isMainElectron: $A.isMainElectron,
isSubElectron: $A.isSubElectron, isSubElectron: $A.isSubElectron,

View File

@ -175,7 +175,7 @@ export default {
}, },
appAndroidEvents() { appAndroidEvents() {
if (this.$isEEUiApp && $A.isAndroid()) { if (this.$isEEUIApp && $A.isAndroid()) {
$A.eeuiAppSetPageBackPressed({ $A.eeuiAppSetPageBackPressed({
pageName: 'firstPage', pageName: 'firstPage',
}, _ => { }, _ => {

View File

@ -32,7 +32,7 @@ export default {
}, },
previewImageList(l) { previewImageList(l) {
if (l.length > 0) { if (l.length > 0) {
if ($A.isEEUiApp || $A.isElectron) { if ($A.isEEUIApp || $A.isElectron) {
let position = Math.min(Math.max(this.$store.state.previewImageIndex, 0), this.$store.state.previewImageList.length - 1) let position = Math.min(Math.max(this.$store.state.previewImageIndex, 0), this.$store.state.previewImageList.length - 1)
let paths = l.map(item => { let paths = l.map(item => {
if ($A.isJson(item)) { if ($A.isJson(item)) {
@ -74,7 +74,7 @@ export default {
}, },
methods: { methods: {
videoPreview(path) { videoPreview(path) {
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
$A.eeuiAppSendMessage({ $A.eeuiAppSendMessage({
language: $A.eeuiAppConvertLanguage(), language: $A.eeuiAppConvertLanguage(),
action: 'videoPreview', action: 'videoPreview',
@ -89,7 +89,7 @@ export default {
} }
}, },
imagePreview(index, paths) { imagePreview(index, paths) {
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
$A.eeuiAppSendMessage({ $A.eeuiAppSendMessage({
language: $A.eeuiAppConvertLanguage(), language: $A.eeuiAppConvertLanguage(),
action: 'picturePreview', action: 'picturePreview',

View File

@ -18,7 +18,7 @@ const convertLocalResourcePath = (() => {
if (initialized) return if (initialized) return
// 设置应用前缀URL // 设置应用前缀URL
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
appPreUrl = $A.eeuiAppRewriteUrl('../public/') appPreUrl = $A.eeuiAppRewriteUrl('../public/')
if ($A.isAndroid()) { if ($A.isAndroid()) {
appPreUrl = appPreUrl.replace(/^file:\/\/assets\//, 'file:///android_asset/') appPreUrl = appPreUrl.replace(/^file:\/\/assets\//, 'file:///android_asset/')

View File

@ -97,11 +97,11 @@ export default {
}, },
showDown() { showDown() {
return !this.$isEEUiApp && !this.windowTouch && ['login', 'index', 'manage-dashboard'].includes(this.routeName) return !this.$isEEUIApp && !this.windowTouch && ['login', 'index', 'manage-dashboard'].includes(this.routeName)
}, },
showPrivacy() { showPrivacy() {
return $A.isDooServer() && this.$isEEUiApp && ['login'].includes(this.routeName) return $A.isDooServer() && this.$isEEUIApp && ['login'].includes(this.routeName)
} }
}, },

View File

@ -12,7 +12,7 @@
v-if="item.hidden !== true" v-if="item.hidden !== true"
placement="top" placement="top"
:key="key" :key="key"
:disabled="$isEEUiApp || windowTouch || !item.title" :disabled="$isEEUIApp || windowTouch || !item.title"
:content="item.title" :content="item.title"
:enterable="false" :enterable="false"
:open-delay="600"> :open-delay="600">

View File

@ -1,7 +1,7 @@
<template> <template>
<ETooltip <ETooltip
:open-delay="openDelay" :open-delay="openDelay"
:disabled="$isEEUiApp || windowTouch || tooltipDisabled || isBot" :disabled="$isEEUIApp || windowTouch || tooltipDisabled || isBot"
:placement="tooltipPlacement"> :placement="tooltipPlacement">
<div v-if="user" slot="content" class="common-avatar-transfer"> <div v-if="user" slot="content" class="common-avatar-transfer">
<slot/> <slot/>

View File

@ -724,7 +724,7 @@ const timezone = require("dayjs/plugin/timezone");
* @returns {string} * @returns {string}
*/ */
reloadUrl() { reloadUrl() {
if ($A.isEEUiApp && $A.isAndroid()) { if ($A.isEEUIApp && $A.isAndroid()) {
let url = window.location.href; let url = window.location.href;
let key = '_=' let key = '_='
let reg = new RegExp(key + '\\d+'); let reg = new RegExp(key + '\\d+');

View File

@ -1156,7 +1156,7 @@ import {convertLocalResourcePath} from "../components/Replace/utils";
autoDarkMode() { autoDarkMode() {
let darkScheme = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches let darkScheme = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
darkScheme = $A.eeuiAppGetThemeName() === "dark" darkScheme = $A.eeuiAppGetThemeName() === "dark"
} }
if (darkScheme) { if (darkScheme) {

View File

@ -6,7 +6,7 @@
<div class="login-box"> <div class="login-box">
<div class="login-mode-switch"> <div class="login-mode-switch">
<div class="login-mode-switch-box"> <div class="login-mode-switch-box">
<ETooltip :disabled="$isEEUiApp || windowTouch" :content="$L(loginMode=='qrcode' ? '帐号登录' : '扫码登录')" placement="left"> <ETooltip :disabled="$isEEUIApp || windowTouch" :content="$L(loginMode=='qrcode' ? '帐号登录' : '扫码登录')" placement="left">
<span class="login-mode-switch-icon" @click="switchLoginMode"> <span class="login-mode-switch-icon" @click="switchLoginMode">
<svg v-if="loginMode=='qrcode'" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-icon="PcOutlined"><path d="M23 16a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v12ZM21 4H3v9h18V4ZM3 15v1h18v-1H3Zm3 6a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Z" fill="currentColor"></path></svg> <svg v-if="loginMode=='qrcode'" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-icon="PcOutlined"><path d="M23 16a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h18a2 2 0 0 1 2 2v12ZM21 4H3v9h18V4ZM3 15v1h18v-1H3Zm3 6a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1Z" fill="currentColor"></path></svg>
<svg v-else viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-icon="QrOutlined"><path d="M6.5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1Z" fill="currentColor"></path><path d="M4.5 2.5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2h-7Zm0 2h7v7h-7v-7ZM11 16a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm0 3.5a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm4-7.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm3.5 0a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1ZM15 17c0-1.1.9-2 2-2h2.5c1.1 0 2 .9 2 2v2.5c0 1.1-.9 2-2 2H17c-1.1 0-2-.9-2-2V17Zm4.5 0H17v2.5h2.5V17Zm-15-2c-1.1 0-2 .9-2 2v2.5c0 1.1.9 2 2 2H7c1.1 0 2-.9 2-2V17c0-1.1-.9-2-2-2H4.5Zm0 2H7v2.5H4.5V17ZM15 4.5c0-1.1.9-2 2-2h2.5c1.1 0 2 .9 2 2V7c0 1.1-.9 2-2 2H17c-1.1 0-2-.9-2-2V4.5Zm4.5 0H17V7h2.5V4.5Z" fill="currentColor"></path></svg> <svg v-else viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" data-icon="QrOutlined"><path d="M6.5 7.5a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1v-1Z" fill="currentColor"></path><path d="M4.5 2.5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2h-7Zm0 2h7v7h-7v-7ZM11 16a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm0 3.5a1 1 0 1 1 2 0v1a1 1 0 1 1-2 0v-1Zm4-7.5a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm3.5 0a1 1 0 0 1 1-1h1a1 1 0 1 1 0 2h-1a1 1 0 0 1-1-1ZM15 17c0-1.1.9-2 2-2h2.5c1.1 0 2 .9 2 2v2.5c0 1.1-.9 2-2 2H17c-1.1 0-2-.9-2-2V17Zm4.5 0H17v2.5h2.5V17Zm-15-2c-1.1 0-2 .9-2 2v2.5c0 1.1.9 2 2 2H7c1.1 0 2-.9 2-2V17c0-1.1-.9-2-2-2H4.5Zm0 2H7v2.5H4.5V17ZM15 4.5c0-1.1.9-2 2-2h2.5c1.1 0 2 .9 2 2V7c0 1.1-.9 2-2 2H17c-1.1 0-2-.9-2-2V4.5Zm4.5 0H17V7h2.5V4.5Z" fill="currentColor"></path></svg>
@ -205,7 +205,7 @@ export default {
}, },
async mounted() { async mounted() {
this.privacyShow = !!this.$isEEUiApp && (await $A.IDBString("cachePrivacyShow")) !== "no"; this.privacyShow = !!this.$isEEUIApp && (await $A.IDBString("cachePrivacyShow")) !== "no";
this.email = await $A.IDBString("cacheLoginEmail") || '' this.email = await $A.IDBString("cacheLoginEmail") || ''
// //
if (this.$isSoftware) { if (this.$isSoftware) {

View File

@ -1065,7 +1065,7 @@ export default {
}, },
addDialogMsg(data) { addDialogMsg(data) {
if (!this.natificationReady && !this.$isEEUiApp) { if (!this.natificationReady && !this.$isEEUIApp) {
return; // return; //
} }
if (this.windowActive && data.dialog_id === $A.last(this.dialogIns)?.dialog_id) { if (this.windowActive && data.dialog_id === $A.last(this.dialogIns)?.dialog_id) {
@ -1089,7 +1089,7 @@ export default {
const notificationFuncB = (title, userimg) => { const notificationFuncB = (title, userimg) => {
if (this.__notificationId === id) { if (this.__notificationId === id) {
this.__notificationId = null this.__notificationId = null
if (this.$isEEUiApp) { if (this.$isEEUIApp) {
emitter.emit('openMobileNotification', { emitter.emit('openMobileNotification', {
userid: userid, userid: userid,
title, title,

View File

@ -386,7 +386,7 @@ export default {
{ value: "vote", label: "群投票", sort: 100 }, { value: "vote", label: "群投票", sort: 100 },
{ value: "addProject", label: "创建项目", sort: 110 }, { value: "addProject", label: "创建项目", sort: 110 },
{ value: "addTask", label: "添加任务", sort: 120 }, { value: "addTask", label: "添加任务", sort: 120 },
{ value: "scan", label: "扫一扫", sort: 130, show: $A.isEEUiApp }, { value: "scan", label: "扫一扫", sort: 130, show: $A.isEEUIApp },
{ value: "setting", label: "设置", sort: 140 }, { value: "setting", label: "设置", sort: 140 },
{ value: "appstore", label: "应用商店", sort: 999 }, { value: "appstore", label: "应用商店", sort: 999 },
]; ];

View File

@ -56,24 +56,24 @@
:visibleArrow="false" :visibleArrow="false"
placement="top" placement="top"
popperClass="chat-input-emoji-popover"> popperClass="chat-input-emoji-popover">
<ETooltip slot="reference" ref="emojiTip" :disabled="$isEEUiApp || windowTouch || showEmoji" placement="top" :enterable="false" :content="$L('表情')"> <ETooltip slot="reference" ref="emojiTip" :disabled="$isEEUIApp || windowTouch || showEmoji" placement="top" :enterable="false" :content="$L('表情')">
<i class="taskfont">&#xe7ad;</i> <i class="taskfont">&#xe7ad;</i>
</ETooltip> </ETooltip>
<ChatEmoji v-if="showEmoji" @on-select="onSelectEmoji" :searchKey="emojiQuickKey"/> <ChatEmoji v-if="showEmoji" @on-select="onSelectEmoji" :searchKey="emojiQuickKey"/>
</EPopover> </EPopover>
<ETooltip v-else ref="emojiTip" :disabled="$isEEUiApp || windowTouch || showEmoji" placement="top" :enterable="false" :content="$L('表情')"> <ETooltip v-else ref="emojiTip" :disabled="$isEEUIApp || windowTouch || showEmoji" placement="top" :enterable="false" :content="$L('表情')">
<i class="taskfont" @click="showEmoji=!showEmoji">&#xe7ad;</i> <i class="taskfont" @click="showEmoji=!showEmoji">&#xe7ad;</i>
</ETooltip> </ETooltip>
</li> </li>
<!-- @ # --> <!-- @ # -->
<li> <li>
<ETooltip placement="top" :disabled="$isEEUiApp || windowTouch" :enterable="false" :content="$L('选择成员')"> <ETooltip placement="top" :disabled="$isEEUIApp || windowTouch" :enterable="false" :content="$L('选择成员')">
<i class="taskfont" @click="onToolbar('user')">&#xe78f;</i> <i class="taskfont" @click="onToolbar('user')">&#xe78f;</i>
</ETooltip> </ETooltip>
</li> </li>
<li> <li>
<ETooltip placement="top" :disabled="$isEEUiApp || windowTouch" :enterable="false" :content="$L('选择任务')"> <ETooltip placement="top" :disabled="$isEEUIApp || windowTouch" :enterable="false" :content="$L('选择任务')">
<i class="taskfont" @click="onToolbar('task')">&#xe7d6;</i> <i class="taskfont" @click="onToolbar('task')">&#xe7d6;</i>
</ETooltip> </ETooltip>
</li> </li>
@ -86,7 +86,7 @@
:visibleArrow="false" :visibleArrow="false"
placement="top" placement="top"
popperClass="chat-input-more-popover"> popperClass="chat-input-more-popover">
<ETooltip slot="reference" ref="moreTip" :disabled="$isEEUiApp || windowTouch || showMore" placement="top" :enterable="false" :content="$L('展开')"> <ETooltip slot="reference" ref="moreTip" :disabled="$isEEUIApp || windowTouch || showMore" placement="top" :enterable="false" :content="$L('展开')">
<i class="taskfont">&#xe790;</i> <i class="taskfont">&#xe790;</i>
</ETooltip> </ETooltip>
<template v-if="!isAiBot"> <template v-if="!isAiBot">
@ -150,7 +150,7 @@
trigger="manual" trigger="manual"
placement="top" placement="top"
popperClass="chat-input-more-popover"> popperClass="chat-input-more-popover">
<ETooltip slot="reference" ref="sendTip" placement="top" :disabled="$isEEUiApp || windowTouch || showMenu" :enterable="false" :content="$L(sendContent)"> <ETooltip slot="reference" ref="sendTip" placement="top" :disabled="$isEEUIApp || windowTouch || showMenu" :enterable="false" :content="$L(sendContent)">
<div v-if="loading"> <div v-if="loading">
<div class="chat-load"> <div class="chat-load">
<Loading/> <Loading/>
@ -515,7 +515,7 @@ export default {
} }
}, 1000) }, 1000)
// //
if (this.$isEEUiApp) { if (this.$isEEUIApp) {
window.__onPermissionRequest = (type, result) => { window.__onPermissionRequest = (type, result) => {
if (type === 'recordAudio' && result === false) { if (type === 'recordAudio' && result === false) {
// Android // Android
@ -563,7 +563,7 @@ export default {
...mapGetters(['getDialogDraft', 'getDialogQuote']), ...mapGetters(['getDialogDraft', 'getDialogQuote']),
isEnterSend({cacheKeyboard}) { isEnterSend({cacheKeyboard}) {
if (this.$isEEUiApp) { if (this.$isEEUIApp) {
return cacheKeyboard.send_button_app === 'enter'; return cacheKeyboard.send_button_app === 'enter';
} else { } else {
return cacheKeyboard.send_button_desktop === 'enter'; return cacheKeyboard.send_button_desktop === 'enter';
@ -578,7 +578,7 @@ export default {
}, },
canCall() { canCall() {
return this.dialogData.type === 'user' && !this.dialogData.bot && this.$isEEUiApp return this.dialogData.type === 'user' && !this.dialogData.bot && this.$isEEUIApp
}, },
canAnon() { canAnon() {
@ -937,7 +937,7 @@ export default {
readOnly: false, readOnly: false,
placeholder: this.placeholder, placeholder: this.placeholder,
modules: { modules: {
toolbar: this.$isEEUiApp || this.windowTouch ? false : this.toolbar, toolbar: this.$isEEUIApp || this.windowTouch ? false : this.toolbar,
keyboard: this.simpleMode ? {} : { keyboard: this.simpleMode ? {} : {
bindings: { bindings: {
'short enter': { 'short enter': {
@ -1089,7 +1089,7 @@ export default {
// Set enterkeyhint // Set enterkeyhint
this.$nextTick(_ => { this.$nextTick(_ => {
if (this.$isEEUiApp && this.cacheKeyboard.send_button_app === 'enter') { if (this.$isEEUIApp && this.cacheKeyboard.send_button_app === 'enter') {
this.quill.root.setAttribute('enterkeyhint', 'send') this.quill.root.setAttribute('enterkeyhint', 'send')
} }
}) })

View File

@ -3856,7 +3856,7 @@ export default {
height: Math.min(window.screen.availHeight, 900), height: Math.min(window.screen.availHeight, 900),
}, },
}); });
} else if (this.$isEEUiApp) { } else if (this.$isEEUIApp) {
this.$store.dispatch('openAppChildPage', { this.$store.dispatch('openAppChildPage', {
pageType: 'app', pageType: 'app',
pageTitle: title, pageTitle: title,
@ -4420,7 +4420,7 @@ export default {
autoScrollInto() { autoScrollInto() {
return this.location === "modal" return this.location === "modal"
&& this.$isEEUiApp && this.$isEEUIApp
&& this.windowPortrait && this.windowPortrait
&& this.$refs.input?.isFocus && this.$refs.input?.isFocus
}, },

View File

@ -55,14 +55,14 @@
</Dropdown> </Dropdown>
<template v-if="!file.only_view"> <template v-if="!file.only_view">
<div class="header-icons"> <div class="header-icons">
<ETooltip :disabled="$isEEUiApp || windowTouch" :content="$L('文件链接')"> <ETooltip :disabled="$isEEUIApp || windowTouch" :content="$L('文件链接')">
<div class="header-icon" @click="handleClick('link')"><i class="taskfont">&#xe785;</i></div> <div class="header-icon" @click="handleClick('link')"><i class="taskfont">&#xe785;</i></div>
</ETooltip> </ETooltip>
<EPopover v-model="historyShow" trigger="click"> <EPopover v-model="historyShow" trigger="click">
<div class="file-content-history"> <div class="file-content-history">
<FileHistory :value="historyShow" :file="file" @on-restore="onRestoreHistory"/> <FileHistory :value="historyShow" :file="file" @on-restore="onRestoreHistory"/>
</div> </div>
<ETooltip slot="reference" ref="historyTip" :disabled="$isEEUiApp || windowTouch || historyShow" :content="$L('历史版本')"> <ETooltip slot="reference" ref="historyTip" :disabled="$isEEUIApp || windowTouch || historyShow" :content="$L('历史版本')">
<div class="header-icon"><i class="taskfont">&#xe71d;</i></div> <div class="header-icon"><i class="taskfont">&#xe71d;</i></div>
</ETooltip> </ETooltip>
</EPopover> </EPopover>

View File

@ -194,7 +194,7 @@ export default {
height: Math.min(window.screen.availHeight, 900), height: Math.min(window.screen.availHeight, 900),
}, },
}); });
} else if (this.$isEEUiApp) { } else if (this.$isEEUIApp) {
this.$store.dispatch('openAppChildPage', { this.$store.dispatch('openAppChildPage', {
pageType: 'app', pageType: 'app',
pageTitle: title, pageTitle: title,

View File

@ -298,7 +298,7 @@ export default {
async onOpen(isDirect = false) { async onOpen(isDirect = false) {
// //
let isMeeting = false; let isMeeting = false;
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
isMeeting = this.appMeetingShow; isMeeting = this.appMeetingShow;
} else if ($A.Electron) { } else if ($A.Electron) {
const meetingWindow = await $A.Electron.sendAsync("getChildWindow", 'meeting-window') const meetingWindow = await $A.Electron.sendAsync("getChildWindow", 'meeting-window')
@ -349,7 +349,7 @@ export default {
delete data.name; delete data.name;
delete data.msgs; delete data.msgs;
// App 使 // App 使
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
loader(true); loader(true);
this.loadNum = 0 this.loadNum = 0
this.loadTimer && clearInterval(this.loadTimer) this.loadTimer && clearInterval(this.loadTimer)

View File

@ -3,7 +3,7 @@
<div :id="id" class="player"> <div :id="id" class="player">
<div class="player-bg" :style="playerStyle"></div> <div class="player-bg" :style="playerStyle"></div>
</div> </div>
<ETooltip :disabled="$isEEUiApp || windowTouch || !username"> <ETooltip :disabled="$isEEUIApp || windowTouch || !username">
<div slot="content"> <div slot="content">
{{username}} {{username}}
</div> </div>

View File

@ -229,7 +229,7 @@ export default {
height: Math.min(window.screen.availHeight, 900), height: Math.min(window.screen.availHeight, 900),
}, },
}); });
} else if (this.$isEEUiApp) { } else if (this.$isEEUIApp) {
this.$store.dispatch('openAppChildPage', { this.$store.dispatch('openAppChildPage', {
pageType: 'app', pageType: 'app',
pageTitle: this.$L(title), pageTitle: this.$L(title),

View File

@ -20,7 +20,7 @@
</li> </li>
<template v-if="!(windowWidth <= 980 || projectData.cacheParameter.chat) && projectUser.length > 0" v-for="item in projectUser"> <template v-if="!(windowWidth <= 980 || projectData.cacheParameter.chat) && projectUser.length > 0" v-for="item in projectUser">
<li v-if="item.userid === -1" class="more"> <li v-if="item.userid === -1" class="more">
<ETooltip :disabled="$isEEUiApp || windowTouch" :content="$L('共' + (projectData.project_user.length) + '个成员')"> <ETooltip :disabled="$isEEUIApp || windowTouch" :content="$L('共' + (projectData.project_user.length) + '个成员')">
<Icon type="ios-more"/> <Icon type="ios-more"/>
</ETooltip> </ETooltip>
</li> </li>
@ -31,7 +31,7 @@
</ul> </ul>
</li> </li>
<li class="project-icon" @click="addTaskOpen(0)"> <li class="project-icon" @click="addTaskOpen(0)">
<ETooltip :disabled="$isEEUiApp || windowTouch" :content="$L('添加任务')"> <ETooltip :disabled="$isEEUIApp || windowTouch" :content="$L('添加任务')">
<Icon class="menu-icon" type="md-add" /> <Icon class="menu-icon" type="md-add" />
</ETooltip> </ETooltip>
</li> </li>
@ -104,7 +104,7 @@
<Draggable <Draggable
:list="columnList" :list="columnList"
:animation="150" :animation="150"
:disabled="sortDisabled || $isEEUiApp || windowTouch" :disabled="sortDisabled || $isEEUIApp || windowTouch"
class="column-list" class="column-list"
tag="ul" tag="ul"
draggable=".column-item" draggable=".column-item"
@ -167,7 +167,7 @@
<Draggable <Draggable
:list="column.tasks" :list="column.tasks"
:animation="150" :animation="150"
:disabled="sortDisabled || $isEEUiApp || windowTouch" :disabled="sortDisabled || $isEEUIApp || windowTouch"
class="task-list" class="task-list"
draggable=".task-draggable" draggable=".task-draggable"
filter=".complete" filter=".complete"
@ -213,7 +213,7 @@
<ETooltip <ETooltip
v-if="item.end_at" v-if="item.end_at"
:class="['task-time', item.today ? 'today' : '', item.overdue ? 'overdue' : '']" :class="['task-time', item.today ? 'today' : '', item.overdue ? 'overdue' : '']"
:disabled="$isEEUiApp || windowTouch" :disabled="$isEEUIApp || windowTouch"
:open-delay="600" :open-delay="600"
:content="item.end_at"> :content="item.end_at">
<div v-if="!item.complete_at"><i class="taskfont">&#xe71d;</i>{{ expiresFormat(item.end_at) }}</div> <div v-if="!item.complete_at"><i class="taskfont">&#xe71d;</i>{{ expiresFormat(item.end_at) }}</div>

View File

@ -67,7 +67,7 @@
<Draggable <Draggable
:list="data.project_flow_item" :list="data.project_flow_item"
:animation="150" :animation="150"
:disabled="$isEEUiApp || windowTouch" :disabled="$isEEUIApp || windowTouch"
class="taskflow-config-table-list-wrapper" class="taskflow-config-table-list-wrapper"
tag="div" tag="div"
draggable=".column-border" draggable=".column-border"

View File

@ -12,13 +12,13 @@
<Radio label="daily" :disabled="id > 0 && reportData.type =='weekly'">{{ $L("日报") }}</Radio> <Radio label="daily" :disabled="id > 0 && reportData.type =='weekly'">{{ $L("日报") }}</Radio>
</RadioGroup> </RadioGroup>
<ButtonGroup v-if="id === 0" class="report-buttongroup"> <ButtonGroup v-if="id === 0" class="report-buttongroup">
<ETooltip :disabled="$isEEUiApp || windowTouch" :content="prevCycleText" placement="bottom"> <ETooltip :disabled="$isEEUIApp || windowTouch" :content="prevCycleText" placement="bottom">
<Button type="primary" @click="prevCycle"> <Button type="primary" @click="prevCycle">
<Icon type="ios-arrow-back" /> <Icon type="ios-arrow-back" />
</Button> </Button>
</ETooltip> </ETooltip>
<div class="report-buttongroup-vertical"></div> <div class="report-buttongroup-vertical"></div>
<ETooltip :disabled="$isEEUiApp || windowTouch || reportData.offset >= 0" :content="nextCycleText" placement="bottom"> <ETooltip :disabled="$isEEUIApp || windowTouch || reportData.offset >= 0" :content="nextCycleText" placement="bottom">
<Button type="primary" @click="nextCycle" :disabled="reportData.offset >= 0"> <Button type="primary" @click="nextCycle" :disabled="reportData.offset >= 0">
<Icon type="ios-arrow-forward" /> <Icon type="ios-arrow-forward" />
</Button> </Button>

View File

@ -43,7 +43,7 @@
<Button @click="advanced=!advanced">{{$L('高级选项')}}</Button> <Button @click="advanced=!advanced">{{$L('高级选项')}}</Button>
<ul class="advanced-priority"> <ul class="advanced-priority">
<li v-for="(item, key) in taskPriority" :key="key"> <li v-for="(item, key) in taskPriority" :key="key">
<ETooltip :disabled="$isEEUiApp || windowTouch" :content="taskPriorityContent(item)"> <ETooltip :disabled="$isEEUIApp || windowTouch" :content="taskPriorityContent(item)">
<i <i
class="taskfont" class="taskfont"
:style="{color:item.color}" :style="{color:item.color}"

View File

@ -17,7 +17,7 @@
<div v-if="parentId == 0" class="priority"> <div v-if="parentId == 0" class="priority">
<ul> <ul>
<li v-for="(item, key) in taskPriority" :key="key"> <li v-for="(item, key) in taskPriority" :key="key">
<ETooltip v-if="active" :disabled="$isEEUiApp || windowTouch" :content="taskPriorityContent(item)"> <ETooltip v-if="active" :disabled="$isEEUIApp || windowTouch" :content="taskPriorityContent(item)">
<i <i
class="taskfont" class="taskfont"
:style="{color:item.color}" :style="{color:item.color}"
@ -57,7 +57,7 @@
<div class="priority"> <div class="priority">
<ul> <ul>
<li v-for="(item, key) in taskPriority" :key="key"> <li v-for="(item, key) in taskPriority" :key="key">
<ETooltip v-if="active" :disabled="$isEEUiApp || windowTouch" :content="taskPriorityContent(item)"> <ETooltip v-if="active" :disabled="$isEEUIApp || windowTouch" :content="taskPriorityContent(item)">
<i <i
class="taskfont" class="taskfont"
:style="{color:item.color}" :style="{color:item.color}"

View File

@ -181,7 +181,7 @@ export default {
height: Math.min(window.screen.availHeight, 900), height: Math.min(window.screen.availHeight, 900),
}, },
}); });
} else if (this.$isEEUiApp) { } else if (this.$isEEUIApp) {
this.$store.dispatch('openAppChildPage', { this.$store.dispatch('openAppChildPage', {
pageType: 'app', pageType: 'app',
pageTitle: title, pageTitle: title,

View File

@ -81,7 +81,7 @@
<p v-if="taskDetail.id"><span>{{taskDetail.id}}</span></p> <p v-if="taskDetail.id"><span>{{taskDetail.id}}</span></p>
</div> </div>
<div class="function"> <div class="function">
<ETooltip v-if="$Electron" :disabled="$isEEUiApp || windowTouch" :content="$L('独立窗口显示')"> <ETooltip v-if="$Electron" :disabled="$isEEUIApp || windowTouch" :content="$L('独立窗口显示')">
<i class="taskfont open" @click="openNewWin">&#xe776;</i> <i class="taskfont open" @click="openNewWin">&#xe776;</i>
</ETooltip> </ETooltip>
<div class="menu"> <div class="menu">
@ -266,7 +266,7 @@
</div> </div>
<ul class="item-content loop"> <ul class="item-content loop">
<li> <li>
<ETooltip :disabled="$isEEUiApp || windowTouch || !taskDetail.loop_at" :content="`${$L('下个周期')}: ${taskDetail.loop_at}`" placement="right"> <ETooltip :disabled="$isEEUIApp || windowTouch || !taskDetail.loop_at" :content="`${$L('下个周期')}: ${taskDetail.loop_at}`" placement="right">
<span ref="loopText" @click="onLoop">{{$L(loopLabel(taskDetail.loop))}}</span> <span ref="loopText" @click="onLoop">{{$L(loopLabel(taskDetail.loop))}}</span>
</ETooltip> </ETooltip>
</li> </li>
@ -1861,7 +1861,7 @@ export default {
height: Math.min(window.screen.availHeight, 900), height: Math.min(window.screen.availHeight, 900),
}, },
}); });
} else if (this.$isEEUiApp) { } else if (this.$isEEUIApp) {
this.$store.dispatch('openAppChildPage', { this.$store.dispatch('openAppChildPage', {
pageType: 'app', pageType: 'app',
pageTitle: `${file.name} (${$A.bytesToSize(file.size)})`, pageTitle: `${file.name} (${$A.bytesToSize(file.size)})`,
@ -2104,7 +2104,7 @@ export default {
}, },
autoScrollInto() { autoScrollInto() {
return this.$isEEUiApp return this.$isEEUIApp
&& this.windowPortrait && this.windowPortrait
&& this.$refs.chatInput?.isFocus && this.$refs.chatInput?.isFocus
}, },

View File

@ -94,7 +94,7 @@
<ETooltip <ETooltip
v-if="!item.complete_at && item.end_at" v-if="!item.complete_at && item.end_at"
:class="['task-time', item.today ? 'today' : '', item.overdue ? 'overdue' : '']" :class="['task-time', item.today ? 'today' : '', item.overdue ? 'overdue' : '']"
:disabled="$isEEUiApp || windowTouch" :disabled="$isEEUIApp || windowTouch"
:open-delay="600" :open-delay="600"
:content="item.end_at"> :content="item.end_at">
<div @click="openTask(item)">{{expiresFormat(item.end_at)}}</div> <div @click="openTask(item)">{{expiresFormat(item.end_at)}}</div>

View File

@ -90,7 +90,7 @@
<i class="taskfont">&#xe71f;</i> <i class="taskfont">&#xe71f;</i>
<em>{{item.sub_complete}}/{{item.sub_num}}</em> <em>{{item.sub_complete}}/{{item.sub_num}}</em>
</div> </div>
<ETooltip v-if="item.end_at" :disabled="$isEEUiApp || windowTouch" :content="item.end_at" placement="right"> <ETooltip v-if="item.end_at" :disabled="$isEEUIApp || windowTouch" :content="item.end_at" placement="right">
<div :class="['item-icon', item.today ? 'today' : '', item.overdue ? 'overdue' : '']"> <div :class="['item-icon', item.today ? 'today' : '', item.overdue ? 'overdue' : '']">
<i class="taskfont">&#xe71d;</i> <i class="taskfont">&#xe71d;</i>
<em>{{expiresFormat(item.end_at)}}</em> <em>{{expiresFormat(item.end_at)}}</em>

View File

@ -1113,7 +1113,7 @@ export default {
return; return;
} }
// //
if (this.$Electron || this.$isEEUiApp) { if (this.$Electron || this.$isEEUIApp) {
this.openFileSingle(item); this.openFileSingle(item);
return; return;
} }
@ -1138,7 +1138,7 @@ export default {
height: Math.min(window.screen.availHeight, 900), height: Math.min(window.screen.availHeight, 900),
}, },
}); });
} else if (this.$isEEUiApp) { } else if (this.$isEEUIApp) {
this.$store.dispatch('openAppChildPage', { this.$store.dispatch('openAppChildPage', {
pageType: 'app', pageType: 'app',
pageTitle: $A.getFileName(item), pageTitle: $A.getFileName(item),

View File

@ -60,7 +60,7 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="$isEEUiApp && !appNotificationPermission" class="messenger-notify-permission" @click="onOpenAppSetting"> <div v-if="$isEEUIApp && !appNotificationPermission" class="messenger-notify-permission" @click="onOpenAppSetting">
{{$L('未开启通知权限')}}<i class="taskfont">&#xe733;</i> {{$L('未开启通知权限')}}<i class="taskfont">&#xe733;</i>
</div> </div>
<Scrollbar <Scrollbar
@ -358,7 +358,7 @@ export default {
// //
this.$nextTick(_ => this.activeNum++) this.$nextTick(_ => this.activeNum++)
// //
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
$A.eeuiAppSendMessage({action: 'getNotificationPermission'}); $A.eeuiAppSendMessage({action: 'getNotificationPermission'});
} }
}, },

View File

@ -128,7 +128,7 @@ export default {
* 唤醒APP * 唤醒APP
*/ */
wakeApp() { wakeApp() {
if (!$A.Electron && !$A.isEEUiApp && navigator.userAgent.indexOf("MicroMessenger") === -1) { if (!$A.Electron && !$A.isEEUIApp && navigator.userAgent.indexOf("MicroMessenger") === -1) {
if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {
try { try {
if (/Android/i.test(navigator.userAgent)) { if (/Android/i.test(navigator.userAgent)) {

View File

@ -86,7 +86,7 @@
<Radio label="close">{{$L('关闭')}}</Radio> <Radio label="close">{{$L('关闭')}}</Radio>
</RadioGroup> </RadioGroup>
<div class="form-tip">{{$L('任务完成后自动归档。')}}</div> <div class="form-tip">{{$L('任务完成后自动归档。')}}</div>
<ETooltip v-if="formDatum.auto_archived=='open'" placement="right" :disabled="$isEEUiApp || windowTouch"> <ETooltip v-if="formDatum.auto_archived=='open'" placement="right" :disabled="$isEEUIApp || windowTouch">
<div class="setting-auto-day"> <div class="setting-auto-day">
<Input v-model="formDatum.archived_day" type="number"> <Input v-model="formDatum.archived_day" type="number">
<span slot="append">{{$L('天')}}</span> <span slot="append">{{$L('天')}}</span>

View File

@ -32,7 +32,7 @@
</li> </li>
</ul> </ul>
</div> </div>
<transition :name="$isEEUiApp ? 'mobile-dialog' : 'none'"> <transition :name="$isEEUIApp ? 'mobile-dialog' : 'none'">
<div v-if="showContent" class="setting-content"> <div v-if="showContent" class="setting-content">
<MobileNavTitle :title="settingTitleName"/> <MobileNavTitle :title="settingTitleName"/>
<div class="setting-content-title">{{titleNameRoute}}</div> <div class="setting-content-title">{{titleNameRoute}}</div>
@ -62,7 +62,7 @@ export default {
}, },
mounted() { mounted() {
if (this.$isEEUiApp) { if (this.$isEEUIApp) {
this.clientVersion = `${window.systemInfo.version} (${$A.eeuiAppLocalVersion()})` this.clientVersion = `${window.systemInfo.version} (${$A.eeuiAppLocalVersion()})`
} }
}, },
@ -87,11 +87,11 @@ export default {
{path: 'theme', name: '主题设置'}, {path: 'theme', name: '主题设置'},
] ]
if (this.$Electron || this.$isEEUiApp) { if (this.$Electron || this.$isEEUIApp) {
menu.push({path: 'keyboard', name: '键盘设置', desc: ' (Beta)'}) menu.push({path: 'keyboard', name: '键盘设置', desc: ' (Beta)'})
} }
if ($A.isDooServer() && this.$isEEUiApp) { if ($A.isDooServer() && this.$isEEUIApp) {
menu.push(...[ menu.push(...[
{path: 'privacy', name: '隐私政策', divided: true}, {path: 'privacy', name: '隐私政策', divided: true},
{path: 'delete', name: '删除帐号'}, {path: 'delete', name: '删除帐号'},
@ -198,7 +198,7 @@ export default {
openPrivacy() { openPrivacy() {
const url = $A.apiUrl('privacy') const url = $A.apiUrl('privacy')
if (this.$isEEUiApp) { if (this.$isEEUIApp) {
this.$store.dispatch('openAppChildPage', { this.$store.dispatch('openAppChildPage', {
pageType: 'app', pageType: 'app',
pageTitle: ' ', pageTitle: ' ',

View File

@ -28,7 +28,7 @@
</div> </div>
</FormItem> </FormItem>
</template> </template>
<FormItem v-if="$isEEUiApp" :label="$L('发送按钮')"> <FormItem v-if="$isEEUIApp" :label="$L('发送按钮')">
<RadioGroup v-model="formData.send_button_app"> <RadioGroup v-model="formData.send_button_app">
<Radio label="button">{{$L('开启')}}</Radio> <Radio label="button">{{$L('开启')}}</Radio>
<Radio label="enter">{{$L('关闭')}}</Radio> <Radio label="enter">{{$L('关闭')}}</Radio>

View File

@ -3,7 +3,7 @@
<PageTitle :title="pageName"/> <PageTitle :title="pageName"/>
<Loading v-if="loadIng > 0"/> <Loading v-if="loadIng > 0"/>
<template v-else-if="fileInfo"> <template v-else-if="fileInfo">
<FilePreview v-if="isPreview" :code="code" :file="fileInfo" :historyId="historyId" :headerShow="!$isEEUiApp"/> <FilePreview v-if="isPreview" :code="code" :file="fileInfo" :historyId="historyId" :headerShow="!$isEEUIApp"/>
<FileContent v-else v-model="fileShow" :file="fileInfo"/> <FileContent v-else v-model="fileShow" :file="fileInfo"/>
</template> </template>
</div> </div>

View File

@ -35,7 +35,7 @@ export default {
return { return {
loadIng: 0, loadIng: 0,
info: null, info: null,
showHeader: !$A.isEEUiApp, showHeader: !$A.isEEUIApp,
} }
}, },
mounted() { mounted() {

View File

@ -479,7 +479,7 @@ export default {
}, () => { }, () => {
// 失败 // 失败
}); });
} else if ($A.isEEUiApp) { } else if ($A.isEEUIApp) {
$A.eeuiAppOpenWeb(url); $A.eeuiAppOpenWeb(url);
} else { } else {
window.open(url) window.open(url)
@ -553,7 +553,7 @@ export default {
return; return;
} }
if (!$A.dark.utils.supportMode()) { if (!$A.dark.utils.supportMode()) {
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
$A.modalWarning("仅Android设置支持主题功能"); $A.modalWarning("仅Android设置支持主题功能");
} else { } else {
$A.modalWarning("仅客户端或Chrome浏览器支持主题功能"); $A.modalWarning("仅客户端或Chrome浏览器支持主题功能");
@ -593,7 +593,7 @@ export default {
state.themeName = $A.dark.isDarkEnabled() ? 'dark' : 'light' state.themeName = $A.dark.isDarkEnabled() ? 'dark' : 'light'
window.localStorage.setItem("__system:themeConf__", state.themeConf) window.localStorage.setItem("__system:themeConf__", state.themeConf)
// //
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
$A.eeuiAppSendMessage({ $A.eeuiAppSendMessage({
action: 'updateTheme', action: 'updateTheme',
themeName: state.themeName, themeName: state.themeName,
@ -734,7 +734,7 @@ export default {
state.userId = userInfo.userid; state.userId = userInfo.userid;
state.userToken = userInfo.token; state.userToken = userInfo.token;
state.userIsAdmin = $A.inArray('admin', userInfo.identity); state.userIsAdmin = $A.inArray('admin', userInfo.identity);
if ($A.isSubElectron || ($A.isEEUiApp && !state.isFirstPage)) { if ($A.isSubElectron || ($A.isEEUIApp && !state.isFirstPage)) {
// 子窗口Electron、不是第一个页面App 不保存 // 子窗口Electron、不是第一个页面App 不保存
} else { } else {
await $A.IDBSet("userInfo", state.userInfo); await $A.IDBSet("userInfo", state.userInfo);

View File

@ -54,11 +54,11 @@ function __callData(key, requestData, state) {
} else { } else {
deleted_id = [] deleted_id = []
} }
if ($A.isEEUiApp) { if ($A.isEEUIApp) {
hasUpdate = state.isFirstPage hasUpdate = state.isFirstPage
} }
if (hasUpdate) { if (hasUpdate) {
if ($A.isSubElectron || ($A.isEEUiApp && !state.isFirstPage)) { if ($A.isSubElectron || ($A.isEEUIApp && !state.isFirstPage)) {
// 子窗口Electron、不是第一个页面App 不保存 // 子窗口Electron、不是第一个页面App 不保存
} else { } else {
await $A.IDBSet("callAt", state.callAt) await $A.IDBSet("callAt", state.callAt)

View File

@ -78,8 +78,8 @@
document.body.classList.add("dark"); document.body.classList.add("dark");
} }
// //
const isEEUiApp = window && window.navigator && /eeui/i.test(window.navigator.userAgent); const isEEUIApp = window && window.navigator && /eeui/i.test(window.navigator.userAgent);
if (isEEUiApp) { if (isEEUIApp) {
document.querySelector(".link").addEventListener('click', function (e) { document.querySelector(".link").addEventListener('click', function (e) {
e.preventDefault(); e.preventDefault();
window.top.postMessage({ window.top.postMessage({