From ae08b222af90366b844c3b8291f122942bdd4c59 Mon Sep 17 00:00:00 2001
From: zoujiandong <10130823232@qq.com>
Date: Fri, 19 Sep 2025 17:37:19 +0800
Subject: [PATCH] =?UTF-8?q?9.19=E8=87=AA=E5=AE=9A=E4=B9=89=E6=B6=88?=
=?UTF-8?q?=E6=81=AF=EF=BC=8C=E8=81=8A=E5=A4=A9=E7=9B=B8=E5=85=B3=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App.vue | 9 +-
api/api.js | 18 +-
pages.json | 60 ++
pages/my/my.vue | 2 +-
pages_app/selectPatient/selectPatient.vue | 8 +-
.../selectPatientSingle.vue | 4 +-
pages_chat/article/article.vue | 668 ++++++++++++++
pages_chat/chat/message/message-custom.vue | 234 +++++
pages_chat/chat/message/message-input.vue | 316 ++++++-
pages_chat/chat/message/message-item.vue | 40 +-
pages_chat/groupMessage/groupMessage.vue | 292 +++++-
pages_chat/groupSend/groupSend.vue | 347 +++++++
pages_chat/patientGroup/patientGroup.vue | 714 +++++++++++++++
pages_chat/quickReply/quickReply.vue | 279 ++++++
pages_chat/searchArticle/searchArticle.vue | 762 ++++++++++++++++
pages_chat/video/video.vue | 860 ++++++++++++++++++
static/im_icon_camera_on.png | Bin 0 -> 3779 bytes
static/im_icon_images_on.png | Bin 0 -> 4388 bytes
static/outpatient_true.png | Bin 0 -> 2566 bytes
static/quck_message.png | Bin 0 -> 2499 bytes
static/ytx_chatting_hospital.png | Bin 0 -> 1801 bytes
static/ytx_chattingfooter_shopping.png | Bin 0 -> 2602 bytes
22 files changed, 4543 insertions(+), 70 deletions(-)
create mode 100644 pages_chat/article/article.vue
create mode 100644 pages_chat/chat/message/message-custom.vue
create mode 100644 pages_chat/groupSend/groupSend.vue
create mode 100644 pages_chat/patientGroup/patientGroup.vue
create mode 100644 pages_chat/quickReply/quickReply.vue
create mode 100644 pages_chat/searchArticle/searchArticle.vue
create mode 100644 pages_chat/video/video.vue
create mode 100644 static/im_icon_camera_on.png
create mode 100644 static/im_icon_images_on.png
create mode 100644 static/outpatient_true.png
create mode 100644 static/quck_message.png
create mode 100644 static/ytx_chatting_hospital.png
create mode 100644 static/ytx_chattingfooter_shopping.png
diff --git a/App.vue b/App.vue
index e4cd2d0..4b2d614 100644
--- a/App.vue
+++ b/App.vue
@@ -331,6 +331,10 @@ export default {
/** nim sdk 登录 */
nim.V2NIMLoginService.login(opts.account, opts.token).then(async () => {
+ console.log("登录成功");
+ nim.V2NIMLoginService.on('onKickedOffline', (res) => {
+ console.log("被踢下线", res);
+ });
// #ifdef APP-PLUS
/** 初始化音视频通话插件*/
nimCallKit.initConfig(
@@ -345,6 +349,7 @@ export default {
if (ret.code != 200) {
// callkit init失败
} else {
+
nimCallKit.login(
{
account: opts.account,
@@ -355,6 +360,7 @@ export default {
// 登录失败
} else {
// 登录成功
+
}
}
);
@@ -396,7 +402,8 @@ export default {
console.log("音视频通话插件退出失败", error);
}
// 退出登录
- uni.$UIKitNIM.V2NIMLoginService.logout().then(() => {
+ uni.$UIKitNIM.V2NIMLoginService.logout().then((res) => {
+ console.log("退出登录", res);
uni.$UIKitStore.destroy();
customReLaunch({
url: "/pages/Login/index",
diff --git a/api/api.js b/api/api.js
index 329b707..195ce04 100644
--- a/api/api.js
+++ b/api/api.js
@@ -493,9 +493,21 @@ const api = {
meetingV2Video(data){
return request('/expertAPI/meetingV2Video', data, 'post', false);
},
-
-
-
+ listGroupSendMsg(data){
+ return request('/expertAPI/listGroupSendMsg', data, 'post', false);
+ },
+ addGroupSendMsg4YunXin(data){
+ return request('/expertAPI/addGroupSendMsg4YunXin', data, 'post', false);
+ },
+ quickReplyList(data){
+ return request('/expertAPI/QuickReplyList', data, 'post', false);
+ },
+ addQuickReply(data){
+ return request('/expertAPI/addQuickReply', data, 'post', false);
+ },
+ deleteQuickReply(data){
+ return request('/expertAPI/deleteQuickReply', data, 'post', false);
+ },
}
diff --git a/pages.json b/pages.json
index fa5d51e..14dac99 100644
--- a/pages.json
+++ b/pages.json
@@ -1047,6 +1047,66 @@
}
}
},
+ {
+ "path": "groupSend/groupSend",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "patientGroup/patientGroup",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "quickReply/quickReply",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "article/article",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "searchArticle/searchArticle",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "video/video",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
{
"path": "groupMessage/groupMessage",
"style": {
diff --git a/pages/my/my.vue b/pages/my/my.vue
index 65839c4..f18e982 100644
--- a/pages/my/my.vue
+++ b/pages/my/my.vue
@@ -304,7 +304,7 @@
url="/pages_app/patientGroup/patientGroup"
break;
case 'groupMessage':
- url="/pages_app/groupMessage/groupMessage"
+ url="/pages_chat/groupMessage/groupMessage"
break;
case 'qrcode':
url="/pages_app/myCode/myCode"
diff --git a/pages_app/selectPatient/selectPatient.vue b/pages_app/selectPatient/selectPatient.vue
index 8c66861..375c7f7 100644
--- a/pages_app/selectPatient/selectPatient.vue
+++ b/pages_app/selectPatient/selectPatient.vue
@@ -88,7 +88,7 @@
const updateSelectedDetail = () => {
selectedDetail.value = selectedIds.value.map(id => {
const p = patientList.value.find(x => x.uuid === id)
- return { uuid: id, realName: p?.realName || '', photo: p?.photo || '' }
+ return { uuid: id, realName: p?.realName || '', photo: p?.photo || '',nickName: p?.nickName || '' }
})
}
@@ -103,7 +103,7 @@
// 如果未选中,则选中
selectedIds.value.push(id)
const p = patientList.value.find(x => x.uuid === id)
- selectedDetail.value.push({ uuid: id, realName: p?.realName || '', photo: p?.photo || '' })
+ selectedDetail.value.push({ uuid: id, realName: p?.realName || '', photo: p?.photo || '',nickName: p?.nickName || '' })
}
}
@@ -116,7 +116,9 @@
const pages = getCurrentPages()
const curr = pages[pages.length - 1]
const ec = curr?.getOpenerEventChannel?.()
- ec?.emit && ec.emit('onPatientsSelected', payload)
+ ec?.emit && ec.emit('onPatientsSelected', payload);
+ console.log(selectedDetail.value)
+ uni.$emit('selectedChatPatientsSingle', { patients: selectedDetail.value });
} catch (e) {}
// 兜底:使用本地存储
try { uni.setStorageSync('patientsSelectedPayload', payload) } catch (e) {}
diff --git a/pages_app/selectPatientSingle/selectPatientSingle.vue b/pages_app/selectPatientSingle/selectPatientSingle.vue
index 81e05cf..f616d18 100644
--- a/pages_app/selectPatientSingle/selectPatientSingle.vue
+++ b/pages_app/selectPatientSingle/selectPatientSingle.vue
@@ -88,7 +88,7 @@
const updateSelectedDetail = () => {
selectedDetail.value = selectedIds.value.map(id => {
const p = patientList.value.find(x => x.uuid === id)
- return { uuid: id, realName: p?.realName || '', photo: p?.photo || '' }
+ return { uuid: id, realName: p?.realName || '', photo: p?.photo || '',nickname: p?.nickname || '' }
})
}
@@ -105,7 +105,7 @@
selectedIds.value.push(id)
const p = patientList.value.find(x => x.uuid === id)
selectedDetail.value.push({ uuid: id, realName: p?.realName || '', photo: p?.photo || '' })
- let payload = { uuid: id, realName: p?.realName || '', photo: p?.photo || '' }
+ let payload = { uuid: id, realName: p?.realName || '', photo: p?.photo || '',nickname: p?.nickname || '' }
const pages = getCurrentPages()
const curr = pages[pages.length - 1]
const ec = curr?.getOpenerEventChannel?.()
diff --git a/pages_chat/article/article.vue b/pages_chat/article/article.vue
new file mode 100644
index 0000000..8ea9599
--- /dev/null
+++ b/pages_chat/article/article.vue
@@ -0,0 +1,668 @@
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+ {{type==1?'最新':'最热'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ article.title }}
+
+ 今日
+ {{ article.date }}
+
+
+
+ {{ article.views }}
+
+
+
+ {{ article.likes }}
+
+
+
+
+
+
+
+
+
+ 加载中...
+
+
+
+
+ 没有更多数据了
+
+
+
+
+
+ 暂无文章
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages_chat/chat/message/message-custom.vue b/pages_chat/chat/message/message-custom.vue
new file mode 100644
index 0000000..f9dad6b
--- /dev/null
+++ b/pages_chat/chat/message/message-custom.vue
@@ -0,0 +1,234 @@
+
+
+
+ {{ JSON.parse(msg.attachment.raw).gdxz_title }}
+
+ 肝胆相照®肝胆病在线公共服务平台
+
+
+
+
+
+
+ {{ JSON.parse(msg.attachment.raw).gdxz_title }}
+
+ 点击查看问题详情
+
+
+
+
+
+
+
+ {{ JSON.parse(msg.attachment.raw).gdxz_title }}
+
+ 肝胆相照®肝胆病在线公共服务平台
+
+
+
+
+
+
+ {{ JSON.parse(msg.attachment.raw).gdxz_title }}
+
+
+ {{ JSON.parse(msg.attachment.raw).gdxz_content }}
+
+
+
+
+
+
+
+
+
+ 肝胆相照互联网医院
+
+
+ {{ JSON.parse(msg.attachment.raw).gdxz_content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_chat/chat/message/message-input.vue b/pages_chat/chat/message/message-input.vue
index f0b9784..5458aab 100644
--- a/pages_chat/chat/message/message-input.vue
+++ b/pages_chat/chat/message/message-input.vue
@@ -78,9 +78,9 @@
-
+
@@ -157,8 +157,54 @@
{{ t('albumText') }}
+
+
handleCustom('reply', event)"
+ >
+
+
+
快捷回复
+
+
+
handleCustom('hj', event)"
+ >
+
+
+
患教
+
+
+
handleCustom('outpatient', event)"
+ >
+
+
+
出/停诊公告
+
+
+
handleCustom('mall', event)"
+ >
+
+
+
商城
+
+
+
-
{{ t('voiceCallText') }}
-
+ -->
-
{{ t('videoCallText') }}
-
- -->
+
@@ -208,12 +254,38 @@
>
+
+
+
+ 温馨提示
+
+
+ 图文科普
+
+
+
+ 视频科普
+
+
+
+
+
+ 温馨提示
+
+
+ 纽娃复合营养素固体饮料
+
+
+
+ 更多商品正在准备中
+
+
+
+
diff --git a/pages_chat/patientGroup/patientGroup.vue b/pages_chat/patientGroup/patientGroup.vue
new file mode 100644
index 0000000..5ee63ce
--- /dev/null
+++ b/pages_chat/patientGroup/patientGroup.vue
@@ -0,0 +1,714 @@
+
+
+
+
+
+
+ 确定({{ totalSelectedCount }})
+
+
+
+
+
+ {{ groupSortTitle }}
+
+
+
+
+
+
+ {{ innerSortTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ group.name || '未命名分组' }} | {{ group.patientNum || (group.patientList ? group.patientList.length : 0) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 清空选择
+
+
+
+
+
+
+
diff --git a/pages_chat/quickReply/quickReply.vue b/pages_chat/quickReply/quickReply.vue
new file mode 100644
index 0000000..2391f12
--- /dev/null
+++ b/pages_chat/quickReply/quickReply.vue
@@ -0,0 +1,279 @@
+
+
+
+
+
+
+
+
+
+
+ 添加快捷回复
+
+
+
+
+
+
+
+
+
+
+ {{text.replystr }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages_chat/searchArticle/searchArticle.vue b/pages_chat/searchArticle/searchArticle.vue
new file mode 100644
index 0000000..27cc488
--- /dev/null
+++ b/pages_chat/searchArticle/searchArticle.vue
@@ -0,0 +1,762 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ article.title }}
+
+ 今日
+ {{ article.date }}
+
+
+
+ {{ article.views }}
+
+
+
+ {{ article.likes }}
+
+
+
+
+
+
+
+
+
+ 加载中...
+
+
+
+
+ 没有更多数据了
+
+
+
+
+
+ 暂无文章
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages_chat/video/video.vue b/pages_chat/video/video.vue
new file mode 100644
index 0000000..85b0db5
--- /dev/null
+++ b/pages_chat/video/video.vue
@@ -0,0 +1,860 @@
+
+
+
+
+
+
+
+
+
+ {{typeName}}
+
+
+
+
+
+ {{sort==2?'最新':'最热'}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{video.title || video.name}}
+
+ {{video.public_name}}
+
+
+ {{video.readnum}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/im_icon_camera_on.png b/static/im_icon_camera_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..3f80a201fc4588442386b4c8d12b47be456c472b
GIT binary patch
literal 3779
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
R9d~~#jr7cPtFO
literal 0
HcmV?d00001
diff --git a/static/im_icon_images_on.png b/static/im_icon_images_on.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b4e90dfd95ca4f7ab518d34ae38801ea62f4722
GIT binary patch
literal 4388
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
literal 0
HcmV?d00001
diff --git a/static/quck_message.png b/static/quck_message.png
new file mode 100644
index 0000000000000000000000000000000000000000..f92f10735dac858e3d8b1794d084815510bbfd3e
GIT binary patch
literal 2499
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
y2TZ-NSB`Y~4BkJV0Fl
literal 0
HcmV?d00001
diff --git a/static/ytx_chattingfooter_shopping.png b/static/ytx_chattingfooter_shopping.png
new file mode 100644
index 0000000000000000000000000000000000000000..744f0af74f2238a5cdbc7e1b08e745953528ad1a
GIT binary patch
literal 2602
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
M07*qoM6N<$g0wr&qW}N^
literal 0
HcmV?d00001