修改上线前遇到的问题
Some checks are pending
Check / lint (push) Waiting to run
Check / typecheck (push) Waiting to run
Check / build (build, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build, 18.x, windows-latest) (push) Waiting to run
Check / build (build:app, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:app, 18.x, windows-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, ubuntu-latest) (push) Waiting to run
Check / build (build:mp-weixin, 18.x, windows-latest) (push) Waiting to run

This commit is contained in:
wangyifeng 2025-03-27 17:25:12 +08:00
parent 2676e70c0c
commit fea7504a91
16 changed files with 60 additions and 37 deletions

View File

@ -44,7 +44,7 @@ export const ServeTopTalkList = (data) => {
// 清除聊天消息未读数服务接口 // 清除聊天消息未读数服务接口
export const ServeClearTalkUnreadNum = (data, unReadNum) => { export const ServeClearTalkUnreadNum = (data, unReadNum) => {
console.log('=======chatApp==UnreadNum', unReadNum) console.log('=======chatApp==UnreadNum', unReadNum)
if(!useTalkStore().items[useTalkStore().findTalkIndex(useDialogueStore().index_name)].is_disturb){ if(!useTalkStore().items[useTalkStore().findTalkIndex(useDialogueStore().index_name)]?.is_disturb){
if (typeof plus !== 'undefined') { if (typeof plus !== 'undefined') {
let OAWebView = plus.webview.all() let OAWebView = plus.webview.all()
OAWebView.forEach((webview) => { OAWebView.forEach((webview) => {

View File

@ -1,7 +1,6 @@
<template> <template>
<tm-navbar <tm-navbar
:hideBack="props.hideBack" :hideBack="props.hideBack"
hideHome
:title="props.title" :title="props.title"
:shadow="props.shadowNum" :shadow="props.shadowNum"
:fontSize="34" :fontSize="34"

View File

@ -117,7 +117,10 @@ class Talk extends Base {
// 判断会话列表是否存在,不存在则创建 // 判断会话列表是否存在,不存在则创建
if (useTalkStore().findTalkIndex(this.getIndexName()) == -1) { if (useTalkStore().findTalkIndex(this.getIndexName()) == -1) {
if (this.resource.msg_type == 1106) { if (this.resource.msg_type == 1102) {
//被邀请进入群聊时,需要热更新会话列表
await useTalkStore().loadTalkList()
} else if (this.resource.msg_type == 1106) {
//群解散时,需要热更新会话列表 //群解散时,需要热更新会话列表
await useTalkStore().loadTalkList() await useTalkStore().loadTalkList()
} else if ( } else if (
@ -138,7 +141,7 @@ class Talk extends Base {
this.updateTalkItem() this.updateTalkItem()
if ( if (
!useTalkStore().items[useTalkStore().findTalkIndex(this.getIndexName())] !useTalkStore().items[useTalkStore().findTalkIndex(this.getIndexName())]
.is_disturb ?.is_disturb
) { ) {
if (typeof plus !== 'undefined') { if (typeof plus !== 'undefined') {
let OAWebView = plus.webview.all() let OAWebView = plus.webview.all()
@ -200,11 +203,12 @@ class Talk extends Base {
ServeCreateTalkList({ ServeCreateTalkList({
talk_type, talk_type,
receiver_id, receiver_id,
}).then(({ code, data }) => { }).then(async ({ code, data }) => {
if (code == 200) { if (code == 200) {
let item = formatTalkItem(data) let item = formatTalkItem(data)
item.unread_num = 1 item.unread_num = 1
useTalkStore().addItem(item) useTalkStore().addItem(item)
await useTalkStore().loadTalkList()
} }
}) })
} }
@ -326,8 +330,8 @@ class Talk extends Base {
const findMention = this.resource?.extra?.mentions?.find( const findMention = this.resource?.extra?.mentions?.find(
(mention) => mention === this.getAccountId(), (mention) => mention === this.getAccountId(),
) )
//有人@我,则更新会话列表 //有人@我或者@所有人,则更新会话列表
if (findMention) { if (findMention || this.resource?.extra?.mentions?.includes(0)) {
useTalkStore().loadTalkList() useTalkStore().loadTalkList()
} }
} }

View File

@ -53,7 +53,7 @@
> >
<div class="group-member-each"> <div class="group-member-each">
<div class="group-member-avatar" :style="{ background: 'unset' }"> <div class="group-member-avatar" :style="{ background: 'unset' }">
<img src="/src/static/image/chatSettings/add-member.png" /> <img src="@/static/image/chatSettings/add-member.png" />
</div> </div>
<div class="group-member-name"> <div class="group-member-name">
<span class="text-[24rpx] font-regular">添加</span> <span class="text-[24rpx] font-regular">添加</span>
@ -71,7 +71,7 @@
> >
<div class="group-member-each"> <div class="group-member-each">
<div class="group-member-avatar" :style="{ background: 'unset' }"> <div class="group-member-avatar" :style="{ background: 'unset' }">
<img src="/src/static/image/chatSettings/remove-member.png" /> <img src="@/static/image/chatSettings/remove-member.png" />
</div> </div>
<div class="group-member-name"> <div class="group-member-name">
<span class="text-[24rpx] font-regular">移除</span> <span class="text-[24rpx] font-regular">移除</span>

View File

@ -49,7 +49,7 @@
props?.memberItem?.is_mine && props?.manageType === 'removeMembers' props?.memberItem?.is_mine && props?.manageType === 'removeMembers'
" "
> >
<img src="/src/static/image/chatSettings/is-mine.png" /> <img src="@/static/image/chatSettings/is-mine.png" />
</div> </div>
<div <div
class="is-admin-tag" class="is-admin-tag"

View File

@ -158,6 +158,7 @@ import customInput from '@/components/custom-input/custom-input.vue'
import selectMemberItem from '../components/select-member-item.vue' import selectMemberItem from '../components/select-member-item.vue'
import ZPaging from '@/uni_modules/z-paging/components/z-paging/z-paging.vue' import ZPaging from '@/uni_modules/z-paging/components/z-paging/z-paging.vue'
import useZPaging from '@/uni_modules/z-paging/components/z-paging/js/hooks/useZPaging.js' import useZPaging from '@/uni_modules/z-paging/components/z-paging/js/hooks/useZPaging.js'
import groupAllMember from '@/static/image/chatList/groupAllMember.png'
import { import {
computed, computed,
onMounted, onMounted,
@ -265,7 +266,7 @@ watch(
key: '0', key: '0',
memberList: [ memberList: [
{ {
avatar: '/src/static/image/chatList/groupAllMember.png', avatar: groupAllMember,
erp_user_id: 0, erp_user_id: 0,
gender: 0, gender: 0,
is_mute: 0, is_mute: 0,
@ -465,7 +466,7 @@ const assembleAlphabetMemberList = async (newMemberList) => {
key: '0', key: '0',
memberList: [ memberList: [
{ {
avatar: '/src/static/image/chatList/groupAllMember.png', avatar: groupAllMember,
erp_user_id: 0, erp_user_id: 0,
gender: 0, gender: 0,
is_mute: 0, is_mute: 0,

View File

@ -19,7 +19,7 @@
(props?.item?.label !== $t('chat.settings.groupName') || (props?.item?.label !== $t('chat.settings.groupName') ||
props?.item?.label !== $t('chat.settings.groupType')))) props?.item?.label !== $t('chat.settings.groupType'))))
" "
src="/src/static/image/chatSettings/pointer.png" src="@/static/image/chatSettings/pointer.png"
/> />
<tm-switch <tm-switch
:width="88" :width="88"

View File

@ -35,7 +35,7 @@
<img <img
v-if="state.groupName" v-if="state.groupName"
class="groupName-input-clearBtn" class="groupName-input-clearBtn"
src="/src/static/image/chatSettings/clear-btn.png" src="@/static/image/chatSettings/clear-btn.png"
@click="clearGroupNameInput" @click="clearGroupNameInput"
/> />
</div> </div>

View File

@ -46,7 +46,7 @@
<div class="group-admin-list-each-btns"> <div class="group-admin-list-each-btns">
<img <img
v-if="item.is_mine" v-if="item.is_mine"
src="/src/static/image/chatSettings/is-mine.png" src="@/static/image/chatSettings/is-mine.png"
/> />
<div <div
class="group-admin-list-each-btns-each" class="group-admin-list-each-btns-each"
@ -67,7 +67,7 @@
margin: state?.groupAdminList.length == 0 ? '20rpx 0 0' : '', margin: state?.groupAdminList.length == 0 ? '20rpx 0 0' : '',
}" }"
> >
<img src="/src/static/image/chatSettings/add-btn.png" /> <img src="@/static/image/chatSettings/add-btn.png" />
<span class="text-[28rpx] font-medium"> <span class="text-[28rpx] font-medium">
{{ $t('chat.manage.addAdmin') }} {{ $t('chat.manage.addAdmin') }}
</span> </span>

View File

@ -42,7 +42,7 @@
class="add-silence-member-btn chat-settings-card" class="add-silence-member-btn chat-settings-card"
@click="toSelectMembersPage" @click="toSelectMembersPage"
> >
<img src="/src/static/image/chatSettings/add-btn.png" /> <img src="@/static/image/chatSettings/add-btn.png" />
<span class="text-[28rpx] font-medium"> <span class="text-[28rpx] font-medium">
{{ $t('chat.manage.addSilenceMember') }} {{ $t('chat.manage.addSilenceMember') }}
</span> </span>

View File

@ -54,7 +54,7 @@
@click="toEditGroupInfoPage" @click="toEditGroupInfoPage"
v-if="groupParams?.groupInfo?.is_manager" v-if="groupParams?.groupInfo?.is_manager"
> >
<img src="/src/static/image/chatSettings/edit-btn.png" /> <img src="@/static/image/chatSettings/edit-btn.png" />
</div> </div>
</div> </div>
<div class="chat-group-members chat-group-infos chat-settings-card"> <div class="chat-group-members chat-group-infos chat-settings-card">

View File

@ -37,7 +37,7 @@
</div> </div>
<div class="user-info-main user-info-card"> <div class="user-info-main user-info-card">
<div class="user-info-main-title"> <div class="user-info-main-title">
<img src="/src/static/image/mine/ming001@3x.png" /> <img src="@/static/image/mine/ming001@3x.png" />
<span class="text-[28rpx] font-medium"> <span class="text-[28rpx] font-medium">
{{ $t('index.mine.basic') }} {{ $t('index.mine.basic') }}
</span> </span>
@ -84,7 +84,7 @@
<div class="do-phone-call-header"> <div class="do-phone-call-header">
<span>{{ $t('popup.title.phone') }}</span> <span>{{ $t('popup.title.phone') }}</span>
<img <img
src="/src/static/image/login/check-circle-filled@3x.png" src="@/static/image/login/check-circle-filled@3x.png"
@click="hidePhoneCallPopup" @click="hidePhoneCallPopup"
/> />
</div> </div>

View File

@ -250,7 +250,7 @@
<img <img
@click="clearQuoteInfo" @click="clearQuoteInfo"
style="width: 30rpx; height: 30rpx;" style="width: 30rpx; height: 30rpx;"
src="/src/static/image/login/check-circle-filled@3x.png" src="@/static/image/login/check-circle-filled@3x.png"
/> />
</div> </div>
</div> </div>
@ -389,7 +389,7 @@
> >
<img <img
style="width: 40rpx; height: 40rpx;" style="width: 40rpx; height: 40rpx;"
src="/src/static/image/chatList/mention_select_hide_bg.png" src="@/static/image/chatList/mention_select_hide_bg.png"
/> />
<img <img
style=" style="
@ -399,7 +399,7 @@
margin-left: -9rpx; margin-left: -9rpx;
margin-top: -5rpx; margin-top: -5rpx;
" "
src="/src/static/image/chatList/mention_select_hide_icon.png" src="@/static/image/chatList/mention_select_hide_icon.png"
/> />
</div> </div>
<span <span
@ -1400,12 +1400,13 @@ const updateMentionUserIds = () => {
} }
}) })
// 使mentionsmentionUserIds // @0
// @@0 if (currentMentions.has(0)) {
if (currentMentions.has(0) || currentMentions.size === 0) { state.value.mentionUserIds = [0]
currentMentions.add(0) } else {
// @
state.value.mentionUserIds = Array.from(currentMentions)
} }
state.value.mentionUserIds = Array.from(currentMentions)
} }
//msgsequence //msgsequence

View File

@ -9,7 +9,7 @@
:default-page-size="props.searchResultPageSize" :default-page-size="props.searchResultPageSize"
:loading-more-default-as-loading="true" :loading-more-default-as-loading="true"
:inside-more="true" :inside-more="true"
:empty-view-img="'/src/static//image/search/search-no-data.png'" :empty-view-img="'@/static/image/search/search-no-data.png'"
:empty-view-text="$t('search.hint')" :empty-view-text="$t('search.hint')"
:empty-view-img-style="{ width: '476rpx', height: '261rpx' }" :empty-view-img-style="{ width: '476rpx', height: '261rpx' }"
:empty-view-title-style="{ :empty-view-title-style="{
@ -360,9 +360,16 @@ const queryAllSearch = (pageNum, searchResultPageSize) => {
// //
const cancelSearch = () => { const cancelSearch = () => {
uni.navigateBack({ const pages = getCurrentPages()
delta: 1, if (pages.length > 1) {
}) uni.navigateBack({
delta: 1,
})
} else {
uni.reLaunch({
url: '/pages/index/index'
})
}
} }
//key //key

View File

@ -42,7 +42,7 @@
<span class="text-[28rpx] font-regular"> <span class="text-[28rpx] font-regular">
{{ state.selectedMonth }} {{ state.selectedMonth }}
</span> </span>
<img src="/src/static/image/search/down-pointer.png" /> <img src="@/static/image/search/down-pointer.png" />
</div> </div>
</tm-time-picker> </tm-time-picker>
<tm-calendar-view <tm-calendar-view
@ -209,7 +209,7 @@
v-if="state.condition === 'file'" v-if="state.condition === 'file'"
/> />
<img <img
src="/src/static/image/search/result-link-icon.png" src="@/static/image/search/result-link-icon.png"
v-if="state.condition === 'link'" v-if="state.condition === 'link'"
/> />
</div> </div>
@ -554,9 +554,16 @@ const inputSearchText = (e) => {
// //
const cancelSearch = () => { const cancelSearch = () => {
uni.navigateBack({ const pages = getCurrentPages()
delta: 1, if (pages.length > 1) {
}) uni.navigateBack({
delta: 1,
})
} else {
uni.reLaunch({
url: '/pages/index/index'
})
}
} }
// //

View File

@ -15,6 +15,10 @@ import { useAuth } from '../auth/index'
// let keyboardTimeout = null // let keyboardTimeout = null
export const useDialogueStore = defineStore('dialogue', { export const useDialogueStore = defineStore('dialogue', {
// 添加持久化配置
persist: {
paths: ['talk.talk_type', 'talk.receiver_id']
},
state: () => { state: () => {
return { return {
// 对话索引(聊天对话的唯一索引) // 对话索引(聊天对话的唯一索引)