diff --git a/src/components/x-confirm/index.vue b/src/components/x-confirm/index.vue
index 943f8a8..1ca153e 100644
--- a/src/components/x-confirm/index.vue
+++ b/src/components/x-confirm/index.vue
@@ -10,8 +10,10 @@ let onCancel=null
const confirm=ref(true)
const contentText=ref('')
const imageRef=ref('')
-const confirmLabel=ref(language('components.confirm.confirmText'))
-const cancelLabel=ref(language('components.confirm.cancelText'))
+const confirmLabel=ref('确定')
+const cancelLabel=ref('取消')
+const confirmC=ref('#46299D')
+const cancelC=ref('#1A1A1A')
const sendCancel=()=>{
confirmState.value=false
if (typeof onCancel==='function'){
@@ -24,7 +26,7 @@ const sendConfirm=()=>{
onConfirm()
}
}
-const showConfirm=({content,image,onConfirm:confirm,onCancel:cancel,confirmText,cancelText})=>{
+const showConfirm=({content,image,onConfirm:confirm,onCancel:cancel,confirmText,cancelText,confirmColor,cancelColor})=>{
confirmState.value=true
contentText.value=content
imageRef.value = image?image:''
@@ -32,6 +34,8 @@ const showConfirm=({content,image,onConfirm:confirm,onCancel:cancel,confirmText,
onCancel=cancel
confirmLabel.value = confirmText || confirmLabel.value
cancelLabel.value = cancelText || cancelLabel.value
+ confirmC.value = confirmColor || confirmC.value
+ cancelC.value = cancelColor || cancelC.value
}
defineExpose({
showConfirm
@@ -59,7 +63,7 @@ defineExpose({
:fontSize="32"
:height="112"
:margin="[0]"
- :font-color="'#1A1A1A'"
+ :font-color="cancelC"
:transprent="cancel"
text
:label="cancelLabel">
@@ -75,7 +79,7 @@ defineExpose({
:transprent="confirm"
:height="112"
:margin="[0]"
- :font-color="'#46299D'"
+ :font-color="confirmC"
text
:label="confirmLabel">
diff --git a/src/pages.json b/src/pages.json
index 8877684..36e7e2b 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -22,6 +22,22 @@
"enablePullDownRefresh":false
}
},
+ {
+ "path": "pages/creatGroupChat/index",
+ "type": "page",
+ "style": {
+ "navigationStyle": "custom",
+ "enablePullDownRefresh":false
+ }
+ },
+ {
+ "path": "pages/chooseGroupType/index",
+ "type": "page",
+ "style": {
+ "navigationStyle": "custom",
+ "enablePullDownRefresh":false
+ }
+ },
{
"path": "pages/chooseChat/index",
"type": "page",
diff --git a/src/pages/chooseGroupType/index.vue b/src/pages/chooseGroupType/index.vue
new file mode 100644
index 0000000..82a1728
--- /dev/null
+++ b/src/pages/chooseGroupType/index.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+ 群类型保存后将不可修改
+
+
+ 请创建过程中正确选择
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/creatGroupChat/index.vue b/src/pages/creatGroupChat/index.vue
new file mode 100644
index 0000000..d84363e
--- /dev/null
+++ b/src/pages/creatGroupChat/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
diff --git a/src/pages/dialog/index.vue b/src/pages/dialog/index.vue
index c78f62a..c779c98 100644
--- a/src/pages/dialog/index.vue
+++ b/src/pages/dialog/index.vue
@@ -70,7 +70,7 @@
-
onContextMenu(menuType, item)"
:isShowCopy="isShowCopy(item)"
:isShowWithdraw="isRevoke(talkParams.uid,item)"
@@ -163,6 +163,27 @@
+
+
+
+ 撤回该条消息?
+
+
+
+ 撤回
+
+
+
+ 取消
+
+
+
@@ -206,6 +227,7 @@ import zu6052 from "@/static/image/chatList/zu6052@2x.png"
import zu6053 from "@/static/image/chatList/zu6053@2x.png"
import deepBubble from "@/components/deep-bubble/deep-bubble.vue"
import {isRevoke } from './menu'
+import useConfirm from '@/components/x-confirm/useConfirm.js'
@@ -213,6 +235,7 @@ Quill.register('formats/emoji', EmojiBlot)
const { getDialogueList, updateZpagingRef, virtualList } = useDialogueListStore()
const talkStore = useTalkStore()
+const { showConfirm } = useConfirm();
const settingsStore = useSettingsStore()
const userStore = useUserStore()
const dialogueStore = useDialogueStore()
@@ -235,6 +258,8 @@ const talkParams = reactive({
const state = ref({
isOpenEmojiPanel: false,
isOpenFilePanel: false,
+ showWin: false,
+ onfocusItem: null,
})
const handleEmojiPanel = () => {
@@ -353,7 +378,7 @@ const isShowCopy = (item) => {
default:
return false
}
-
+
}
const selectedMessage = computed(() => {
@@ -552,7 +577,14 @@ const actionCite = (item) => {
const actionWithdraw = (item) => {
console.log('撤回');
- dialogueStore.ApiRevokeRecord(item.msg_id)
+ state.value.onfocusItem = item
+ state.value.showWin = true;
+}
+
+const withdrawerConfirm = () => {
+ dialogueStore.ApiRevokeRecord(state.value.onfocusItem.msg_id)
+ state.value.onfocusItem = null
+ state.value.showWin = false;
}
const actionDelete = (item) => {
@@ -603,10 +635,20 @@ const handleDelete = () => {
return message.warning('未选择消息')
}
console.log('删除');
- const msgIds = selectedMessage.value.map(item => item.msg_id)
- virtualList.value = virtualList.value.filter(item => !msgIds.includes(item.msg_id))
- dialogueStore.ApiDeleteRecord(msgIds)
- clearMultiSelect()
+ showConfirm({
+ content: '确定删除聊天记录',
+ confirmText:'删除',
+ confirmColor:'#CF3050',
+ onConfirm: async () => {
+ const msgIds = selectedMessage.value.map(item => item.msg_id)
+ virtualList.value = virtualList.value.filter(item => !msgIds.includes(item.msg_id))
+ dialogueStore.ApiDeleteRecord(msgIds)
+ clearMultiSelect()
+ },
+ onCancel: () => {
+ }
+ })
+
}
@@ -946,4 +988,9 @@ page {
z-index: 1;
/* 确保 z-index 低于 deepBubble */
}
+.divider {
+ width: 100%;
+ height: 1rpx;
+ background-color: #E7E7E7;
+}
diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue
index 81069dd..907bb59 100644
--- a/src/pages/index/index.vue
+++ b/src/pages/index/index.vue
@@ -1,27 +1,74 @@
-
+
-
-
-
{{ userStore.nickname }}
+
+
+
+ {{ userStore.nickname }}
+
-
+
-
+
diff --git a/src/static/image/chatList/cahtPopover.png b/src/static/image/chatList/cahtPopover.png
new file mode 100644
index 0000000..fb79ec6
Binary files /dev/null and b/src/static/image/chatList/cahtPopover.png differ
diff --git a/src/static/image/chatList/zu3289@2x.png b/src/static/image/chatList/zu3289@2x.png
new file mode 100644
index 0000000..ee440a2
Binary files /dev/null and b/src/static/image/chatList/zu3289@2x.png differ
diff --git a/src/static/image/chatList/zu6030@2x.png b/src/static/image/chatList/zu6030@2x.png
new file mode 100644
index 0000000..5ad34ac
Binary files /dev/null and b/src/static/image/chatList/zu6030@2x.png differ
diff --git a/src/static/image/chatList/zu6031@2x.png b/src/static/image/chatList/zu6031@2x.png
new file mode 100644
index 0000000..514f146
Binary files /dev/null and b/src/static/image/chatList/zu6031@2x.png differ
diff --git a/src/static/image/chatList/zu6032@2x.png b/src/static/image/chatList/zu6032@2x.png
new file mode 100644
index 0000000..19a1605
Binary files /dev/null and b/src/static/image/chatList/zu6032@2x.png differ
diff --git a/src/store/auth/index.js b/src/store/auth/index.js
index 7aefa06..47da20d 100644
--- a/src/store/auth/index.js
+++ b/src/store/auth/index.js
@@ -4,7 +4,7 @@ import {uniStorage} from "@/utils/uniStorage.js"
import {ref} from 'vue'
export const useAuth = createGlobalState(() => {
// const token = useStorage('token', '', uniStorage)
- const token = ref('30119d9978a6f3321fb4779c0040e997df4dd0dd0cf6b71119657617d2249ed783f940b0050d5be7e758740ea467afdf3eeb4d28fb5ea234af60ebe51fb218ff6a0563074f3084b41c1bc8dc0733d06bfbb433a8d5a1d13eb6227adbf50a5da566a4cacdbf91899e563f10864fe2acfe9526343f2c27f726448f6cf9ac172a9716f21a7079e22f4ded14f57418364bea07bfd33259ff97ca4c3c4a54cd90e529b1ac523444d29485f9ee637bb0ca5dfdd87125a1161291696084029bc0cc6bbcf690e3d99787d75eabd8906b6f79035c23391abf12bbabf10ab7b1a0ca998c38')
+ const token = ref('79b5c732d96d2b27a48a99dfd4a5566c43aaa5796242e854ebe3ffc198d6876b9628e7b764d9af65ab5dbb2d517ced88170491b74b048c0ba827c0d3741462cb89dc59ed46653a449af837a8262941ca1430937103230a1e32a1715f569f3efdbe6f8cb8b7b8642bd679668081b9b08f693d1b5be6002d936ec51e1e3e0c4927de9e32ac99a109b326e5d2bda27ec87624bb416ec70d2a95a2e190feeba9f0d6bae8571b3dfe89c824712344759a8f2bff9d70747c52525cf6a5614f9c770bca461a9b9c247b6dca97bcf83bbaf99bb726752c4fe1e9a4aa7de5c4cf3e88a3e480801280d45cdc124f9d8221105d8529c7c268c1251c3477bff5c051043bf980d1ae32bb67035d540ba9325759be69093c01497a2ece6c54d7ba2c2ccd07bb67242ccd7b216049b2afefd767f7269fa45ebb81dff8bec485f539e91611a2908af4407a64e67e6a1cb533d30ae71e630f')
const refreshToken = useStorage('refreshToken', '', uniStorage)
const userInfo = useStorage('userInfo', {}, uniStorage)
const leaderList = useStorage('leaderList', [], uniStorage)