123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- import {
- defineStore
- } from 'pinia';
- import store from '../index'
- export const useChatStore = defineStore({
- id: ' chat',
- state: () => ({
- socket: null,
- badgeNum: 0,
- msgInfo: {},
- formUserId: ''
- }),
- getters: {
- getSocket() {
- return this.socket
- },
- getBadgeNum() {
- return this.badgeNum
- },
- getMsgInfo() {
- return this.msgInfo
- }
- },
- actions: {
- setSocket(socket) {
- this.socket = socket
- },
- setBadgeNum(badgeNum) {
- this.badgeNum = badgeNum
- },
- addBadgeNum(num) {
- this.badgeNum += num
- },
- reduceBadgeNum(num) {
- let badgeNum = this.badgeNum - num
- if (badgeNum < 0) badgeNum = 0
- this.badgeNum = badgeNum
- },
- setMsgInfo(msgInfo) {
- this.msgInfo = msgInfo
- },
- setMsgInfoNum(num) {
- if (num || num === 0) {
- this.msgInfo.messageCount = num
- this.msgInfo.count = num
- this.badgeNum = num
- return
- }
- this.msgInfo.messageCount -= 1
- this.msgInfo.count = this.msgInfo.messageCount
- let badgeNum = this.badgeNum - 1
- if (badgeNum < 0) badgeNum = 0
- this.badgeNum = badgeNum
- },
- setFormUserId(formUserId) {
- this.formUserId = formUserId
- },
- sendMessage(data) {
- const item = {
- account: data.toAccount,
- headIcon: data.toHeadIcon,
- id: data.toUserId,
- latestDate: data.latestDate,
- latestMessage: data.toMessage,
- messageType: data.messageType,
- realName: data.toRealName,
- unreadMessage: 0
- }
- const addItem = {
- sendUserId: data.UserId,
- contentType: data.messageType,
- content: data.toMessage,
- sendTime: data.dateTime,
- method: data.method
- }
- uni.$emit('addMsg', addItem)
- uni.$emit('updateList', item)
- },
- receiveMessage(data) {
- if (this.formUserId === data.formUserId) {
- data.unreadMessage = 0
- const item = {
- sendUserId: data.formUserId,
- contentType: data.messageType,
- content: data.formMessage,
- sendTime: data.dateTime,
- method: data.method
- }
- uni.$emit('addMsg', item)
- } else {
- data.unreadMessage = 1
- this.addBadgeNum(1)
- }
- data.id = data.formUserId
- data.latestMessage = data.formMessage
- uni.$emit('updateList', data)
- },
- getMessageList(data) {
- uni.$emit('getMessageList', data)
- },
- messagePush(data) {
- this.msgInfo.messageText = data.title;
- this.msgInfo.messageCount += data.unreadNoticeCount;
- this.msgInfo.messageDate = data.messageDefaultTime
- this.addBadgeNum(data.unreadNoticeCount || 1)
- }
- },
- });
- export function useChatStoreWithOut() {
- return useChatStore(store);
- }
|