42 lines
1.2 KiB
PHP
42 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace app\api\model;
|
|
|
|
use think\Db;
|
|
use think\Model;
|
|
|
|
class RoomEmoji extends Model
|
|
{
|
|
public function get_emoji_list()
|
|
{
|
|
$map = [];
|
|
$map[] = ['show_status', '=', 1];
|
|
$map[] = ['is_delete', '=', 1];
|
|
$map[] = ['pid', '=', 0];
|
|
$list = Db::name('room_emoji')->field('eid,name,image')->order('sort desc')->select();
|
|
foreach ($list as $k => &$v) {
|
|
$v['music_url'] = localpath_to_netpath($v['music_url']);
|
|
}
|
|
return ['code' => 201, 'msg' => '获取成功', 'data' => $list];
|
|
}
|
|
public function send_emoji($uid, $rid, $eid)
|
|
{
|
|
|
|
$map = [];
|
|
$map[] = ['rid', '=', $rid];
|
|
$map[] = ['', 'EXP', Db::raw("FIND_IN_SET($uid,room_micro)")];
|
|
$room_info = db::name('room')->where($map)->find();
|
|
if (empty($room_info)) {
|
|
return ['code' => 201, 'msg' => '非麦位用户禁止发送', 'data' => null];
|
|
}
|
|
$map = [];
|
|
$map[] = ['pid', '=', $eid];
|
|
$map[] = ['show_status', '=', 1];
|
|
$map[] = ['is_delete', '=', 1];
|
|
$emoji_list = Db::name('room_emoji')->field('eid,type,name,image,second')->select();
|
|
$emoji = $emoji_list[array_rand($emoji_list, 1)];
|
|
//发送表情到websocket
|
|
|
|
}
|
|
}
|