Files
doneit-web/src/app/store/chat/chat-message.service.ts
T

46 lines
896 B
TypeScript
Raw Normal View History

2021-08-19 17:00:31 +01:00
import { Injectable } from '@angular/core';
2021-08-24 14:07:27 +01:00
import { localstoreService } from '../localstore.service'
2021-08-19 17:00:31 +01:00
import { SHA1 } from 'crypto-js'
@Injectable({
providedIn: 'root'
})
export class ChatMessageService {
private _message = []
// local storage keyName
private keyName: string;
constructor() {
2023-01-12 15:27:09 +01:00
this.keyName = (SHA1('chat'+"ChatMessageService")).toString()
2021-08-19 17:00:31 +01:00
setTimeout(()=> {
let restore = localstoreService.get(this.keyName, {})
this._message = restore.message || {}
}, 10)
}
2021-08-24 14:07:27 +01:00
get message() {
return this._message
}
2021-08-19 17:00:31 +01:00
getMessages(roomId) {
return this._message[roomId] || []
}
2021-08-24 14:07:27 +01:00
add(roomId:string, message: any[]) {
2021-08-19 17:00:31 +01:00
this._message[roomId] = message
setTimeout(()=> {
localstoreService.set(this.keyName, {
message: this._message
})
2021-08-24 14:07:27 +01:00
}, 10)
2021-08-19 17:00:31 +01:00
}
}
export const ChatMessageStore = new ChatMessageService()