Hay dos piezas de contenido para compartir hoy,
1. Guarde los registros de chat en la base de datos (persistencia del formulario);
2. Abra inicialmente la interfaz de chat y muestre el historial de chat reciente.
No puedo esperar, así que comencemos ...
Uno, crea una tabla de base de datos
Tabla de historial de chat:
Tabla de nombres de usuario:
2. Modifique el código según el código de "Crear función de chat similar a WeChat: tp5 + workerman realiza la función de servicio al cliente de chat en línea (1)" :
1. Agregue o modifique en events.php (código en cuadro rojo):
2. Se aumenta el índice de la capa de vista (código en el cuadro rojo):
El código de get_message_list (fid, tid) para obtener la función de historial de chat es el siguiente:
//初始化上一次的聊天记录
function get_message_list(fid,tid)
{
$.post('{:url("index/get_message_list")}',
{fid:fid,tid,tid},
function(data){
$.each(data,function(i,v){
console.log(v);
if(v.fid==fid){
$("#message").append('<p style="float:left"><img src="http://192.168.1.103/tp/public/static/'+fid+'.png" style="border-radius:50%">'+fid+'SAY:'+v.content+'</p><div style="clear: both;"></div>');
}else
{
$("#message").append('<p style="float:right">'+v.content+':SAY'+tid+'<img src="http://192.168.1.103/tp/public/static/'+tid+'.png" style="border-radius:50%"></p><div style="clear: both;"></div>');
}
})
})
}
guardado (mensaje) El código de función para guardar el contenido del chat es el siguiente:
//保存每一次聊天内容
function saved(mes)
{
$.post('{:url("index/saved")}',
mes,
function(data){
})
}
3. Cómo aumentar el índice del controlador:
//保存聊天内容方法
public function saved(){
if(request()->isAjax()){
$data=input('post.');
$adddata=[
'fid'=>$data['fid'],
'tid'=>$data['tid'],
'content'=>$data['data'],
'isread'=>$data['isread'],
'addtime'=>$data['time']
];
$id=Db::name('chat')->insertGetId($adddata);
echo $id;
}
}
//聊天内容记录方法
public function get_message_list(){
if(request()->isAjax()){
$message=Db::name('chat')
->where("(fid=:fid and tid=:tid) or (fid=:tid1 and tid=:fid1)",['fid'=>input('fid'),'tid'=>input('tid'),'fid1'=>input('fid'),'tid1'=>input('tid')])
->select();
return json($message);
}
}