簡體   English   中英

如何為flask-socketio中的每條消息自動賦予唯一的ID?

[英]How to automatically give a unique id to each message in flask-socketio?

 let user_input = $( 'textarea.message' ).val() let v = user_input.trim() if (v) { let user_name = "You" let today = new Date(); let date = today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear() let time = today.getHours() + ":" + today.getMinutes() socket.emit( 'my event', { msg_id: id, // I want an id assigned every time a message is written here user_name: user_name, message: user_input, time_now: String(date+","+time) } ) $( 'textarea.message' ).val( '' ).focus()

** Flask-socketio 是否提供了一種簡單的方法來做到這一點,還是我應該自己用 Javascript 來做? **使用 Javascript 執行此操作的最佳方法是什么?

我假設您可以使用內置的 python uuid 庫來生成唯一 ID

import uuid
unique_id = uuid.uuid4()
print(unique_id)  // UUID('8441edfd-297c-4bb7-8803-aee9f5675e36')

 let user_input = $( 'textarea.message' ).val() let v = user_input.trim() if (v) { let user_name = "You" let today = new Date(); let date = today.getDate()+'-'+(today.getMonth()+1)+'-'+today.getFullYear() let time = today.getHours() + ":" + today.getMinutes() if (typeof id == 'undefined') { id = 0 } function plus() { id += 1; return id } socket.emit( 'my event', { msg_id: plus(), // Each new message id will increase by 1 digit user_name: user_name, message: user_input, time_now: String(date+","+time) } ) $( 'textarea.message' ).val( '' ).focus()

我以簡單的方式做到了這一點。每次用戶登錄該站點時,我都會恢復聊天記錄,並且我將獲取聊天記錄中的最后一個 id 並繼續它。所以,我定義了一個獨特而簡單的每條消息的 id。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM