Compare commits

30 Commits

Author SHA1 Message Date
28fbc40f70 绑定更换手机号 2025-08-15 14:06:05 +08:00
ea881adbd2 后台增加 礼盒配置 title 标题字段 2025-08-15 11:53:48 +08:00
314e519937 后台赠送装扮修改 2025-08-14 18:47:31 +08:00
3fc247e8e5 安装基础信息配置 2025-08-13 11:13:35 +08:00
ebdfd04105 优化:云账户回调 2025-08-13 10:38:37 +08:00
4fc571e5e2 拍卖模式下 同意上麦 过滤 2025-08-13 10:13:01 +08:00
3957e831f9 优化:主题功能调整 2025-08-12 17:06:00 +08:00
eef23f6bba 优化:主题功能调整 2025-08-12 15:27:41 +08:00
c7fb6078a9 主题 2025-08-12 15:17:17 +08:00
a0ea15ef2a Merge remote-tracking branch 'origin/develop' into develop 2025-08-12 14:13:36 +08:00
f635515d61 优化:提现状态查询接口暂停 2025-08-12 14:13:20 +08:00
a3b3bd04ef 登录处理 2025-08-12 14:05:47 +08:00
f9d9a1bf5c 登录处理 2025-08-12 11:16:48 +08:00
06c5df0207 Merge remote-tracking branch 'origin/develop' into develop 2025-08-12 11:13:39 +08:00
917d95f5f3 BUG:0点以后房间热度值清零 错误修改 2025-08-12 11:13:32 +08:00
89e6c023db 清数据 ip限制 2025-08-11 18:58:23 +08:00
d2baceadea 房间火热值 2025-08-11 17:49:11 +08:00
93d75a4ef3 每天执行脚本:清除房间热度值 脚本修改 2025-08-11 17:36:59 +08:00
07d631a7bb 每天执行脚本:清除房间热度值 2025-08-11 17:32:10 +08:00
c232caf2f0 Merge branch 'master' into develop 2025-08-11 16:23:02 +08:00
20a6ecffa6 测试 2025-08-11 16:18:26 +08:00
08cc1dabd8 测试自动更新脚本 2025-08-11 16:14:56 +08:00
3741278825 提现回调修改 2025-08-11 16:08:51 +08:00
4a77c59baf ios 上架版本过滤处理 2025-08-11 15:55:11 +08:00
96f236a433 房间关系过滤处理 2025-08-11 15:08:41 +08:00
fca4eb5fd1 投放机器人和在线人数等相关 2025-08-11 15:01:20 +08:00
92a63551c6 后台bug:是否机器人功能修改 加机器人库存数量判断 2025-08-11 14:26:45 +08:00
11ada68d54 是否机器人 功能修改 buG 2025-08-11 11:38:52 +08:00
d3003db0f8 提现配置修改。 2025-08-11 09:01:19 +08:00
e233c814e7 提现配置修改 2025-08-08 18:26:20 +08:00
26 changed files with 366 additions and 103 deletions

View File

@@ -498,6 +498,7 @@ class Activities extends adminApi
$meet = input('meet','');
$num = input('num', 0);
$content = input('content', 0);
$title = input('title', "");
if($gift_bag_id==""){
return V(0,"请选择礼包类型");
}
@@ -516,6 +517,7 @@ class Activities extends adminApi
'num' => $num
];
$data['ext'] = json_encode($ext);
$data['title'] = $title;
$res = db::name($this->table)->where(['id'=>$gift_bag_id])->update($data);
if(!$res){
return V(0,"失败");

View File

@@ -374,10 +374,11 @@ class Decorate extends adminApi
$user_id = input('user_id', '');
$decorate_id = input('decorate_id', '');
$day = input('day', '');
$user = db::name('user')->where(['id'=>$user_id])->find();
$user = db::name('user')->where(['user_code'=>$user_id])->find();
if(!$user){
return V(0,"用户不存在");
}
$user_id = $user['id'];
$decorate = db::name('vs_decorate')->where(['did'=>$decorate_id])->find();
if(!$decorate){
return V(0,"装扮不存在");

View File

@@ -468,6 +468,7 @@ class Room extends adminApi
$lists[$key]['guild_name'] = !empty($guild) ? $guild['guild_name'] : "";
$lists[$key]['room_status_str'] = model('Room')->room_status[$value['room_status']];
$lists[$key]['createtime'] = date('Y-m-d H:i:s', $value['createtime']);
$lists[$key]['is_robot_num'] = $value['robot_num']==0 ? 1 : 2;
}
$return_data = [
'page' =>$page,
@@ -516,6 +517,7 @@ class Room extends adminApi
$room_data['room_type_str'] = db::name('vs_room_type')->where(['id'=>$room_data['type_id']])->value('type_name');
$room_data['liang'] = model('api/Decorate')->user_decorate_detail($room_data['id'],7);
$room_data['owner'] = db::name('user')->where(['id'=>$room_data['user_id']])->value('nickname');
$room_data['is_robot_num'] = $room_data['robot_num']==0 ? 2 : 1;
$room_data['guild_name'] = '';
$guild_id = db::name('vs_guild_user')->where('user_id',$room_data['user_id'])->value('guild_id');
if($guild_id){
@@ -818,11 +820,16 @@ class Room extends adminApi
//在用户表里找 $robot_num 个机器人 进入到房间
$user_list = db::name('user')->field('id')->where('is_robot',1)->limit($robot_num)->orderRaw('rand()')->select();
if($user_list){
if(count($user_list) != $robot_num){
return V(0,"机器人数量不足");
}
foreach ($user_list as $v){
model('api/Room')->join_room($v['id'],$room_id,$room_password);
}
}else{
return V(0,"没有可用机器人");
}
}elseif ($is_robot_num == 2 && $robot_num == 0){
}elseif ($is_robot_num == 2 || $robot_num == 0){
$data['robot_num'] = 0;
//查询在房间中的机器人 并退出
$user_list = db::name('vs_room_visitor')->alias('a')->join('user b','a.user_id = b.id','left')

View File

@@ -44,6 +44,10 @@ class Theme extends adminApi
}
$list = db::name($this->table)->where($where)->page($page, $page_limit)->select();
$count = db::name($this->table)->where($where)->count();
foreach ($list as &$value) {
$value['begin_time'] = date('Y-m-d H:i:s',$value['begin_time']);
$value['end_time'] = date('Y-m-d H:i:s',$value['end_time']);
}
$return_data = [
'page' =>$page,
'page_limit' => $page_limit,
@@ -62,6 +66,10 @@ class Theme extends adminApi
$auxiliary_color = input('auxiliary_color', '');
$file_url = input('file_url', '');
$is_active = input('is_active', '');
$begin_time = input('begin_time', '');
$end_time = input('end_time', '');
$begin_time = !empty($begin_time) ? strtotime($begin_time) : 0;
$end_time = !empty($end_time) ? strtotime($end_time) : 0;
$data = [
'theme_name' => $theme_name,
'theme_color' => $theme_color,
@@ -69,7 +77,9 @@ class Theme extends adminApi
'file_url' => $file_url,
'is_active' => $is_active,
'admin_id' => $admin_id,
'createtime' => time()
'createtime' => time(),
'begin_time' => $begin_time,
'end_time' => $end_time,
];
$res = db::name($this->table)->insert($data);
if($res){
@@ -87,6 +97,10 @@ class Theme extends adminApi
$auxiliary_color = input('auxiliary_color', '');
$file_url = input('file_url', '');
$is_active = input('is_active', '');
$begin_time = input('begin_time', '');
$end_time = input('end_time', '');
$begin_time = !empty($begin_time) ? strtotime($begin_time) : 0;
$end_time = !empty($end_time) ? strtotime($end_time) : 0;
$id = input('id', '');
$data = [
'theme_name' => $theme_name,
@@ -94,7 +108,9 @@ class Theme extends adminApi
'auxiliary_color' => $auxiliary_color,
'file_url' => $file_url,
'is_active' => $is_active,
'updatetime' => time()
'updatetime' => time(),
'begin_time' => $begin_time,
'end_time' => $end_time,
];
$res = db::name($this->table)->where(['id'=>$id])->update($data);
if($res){

View File

@@ -8,8 +8,10 @@ use think\Log;
class Ceshi extends Controller
{
//测试 发送各种消息
//设置白名单ip访问本类接口
protected $allowIp = [
'113.201.181.82'
];
//发送群组系统消息
public function send_group_system_notification()
@@ -150,6 +152,13 @@ class Ceshi extends Controller
//清空数据 禁用 慎用
public function clear_data()
{
//ip
$ip = request()->ip();
//白名单
$white_list = $this -> allowIp;
if (!in_array($ip, $white_list)) {
return V(301, '非法访问!');
}
$i = 0;
$res = [];
//开启事务

View File

@@ -24,4 +24,11 @@ class Cron
$cron = new \app\cron\controller\TenSeconds();
$cron->index();
}
//每天执行
public function DaySeconds()
{
$cron = new \app\cron\controller\DaySeconds();
$cron->index();
}
}

View File

@@ -219,13 +219,13 @@ class Payment extends Controller
$yun_pay = new YunPay();
$result = $yun_pay->yun_callback($data,$mess,$timestamp,$sign);
if($result['code']==1){
$data = $result['data']['data'];
$data = $result['data'];
if($data){
$status = $data['status'];
if(!isset($data['status'])){
echo 'fail';
die;
}
$status = $data['status'];
switch ($status){
case "1":
// 支付成功(对于支付宝和微信支付是最终状态,对于银行卡大部分情况是终态,小概率会出现"退汇现象",状态由"成功"变为"退汇"

View File

@@ -395,4 +395,15 @@ class Room extends BaseCom
$reslut = model('Room')->room_online_number($room_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间在线列表
public function room_online_list_ceshi()
{
$room_id = input('room_id', 0);
$page = input('page', 1);
$limit = input('limit', 50);
$reslut = model('Room')->room_online_list($room_id, $page, $limit);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -84,7 +84,7 @@ class Search extends BaseCom
$lists[$k]['picture'] = $v['room_cover'];
$lists[$k]['code'] = $v['room_number'];
$lists[$k]['label_icon'] = db::name('vs_room_label')->where('id', $v['label_id'])->value('label_icon');
$lists[$k]['hot_value'] = $v['hot_value'];
$lists[$k]['hot_value'] = $v['today_hot_value'];
}elseif($type == 3){
$lists[$k]['id'] = $v['id'];
$lists[$k]['name'] = $v['guild_name'];

View File

@@ -15,12 +15,37 @@ class Theme extends controller
}
/*
* 启动页列表
* @return array
*
* app背景图片 app_bg
* 首页选中 home_sel
* 首页正常 home_nor
* 广场选中 find_sel
* 广场正常 find_nor
* 消息选中 msg_sel
* 消息正常 msg_nor
* 我的选中 mine_sel
* 我的正常 mine_nor
* 主题色 theme_color
* 按钮文字颜色 btn_text_color
*/
public function get_theme_data()
{
$reslut = DB::name('vs_theme')->where('is_active',1)->where('delete_time',0)->find();
$reslut = DB::name('vs_theme')->field('theme_color,file_url,auxiliary_color')
->where(['delete_time' => 0 ,'is_active' => 1,'begin_time' => ['<',time()],'end_time' => ['>',time()]])->order('id desc')->find();
if($reslut){
$url = $reslut['file_url'];
$reslut['btn_text_color'] = $reslut['auxiliary_color'];
$reslut['app_bg'] = get_system_config_value('web_site').'/static/theme/'.$url.'/app_bg.png';
$reslut['home_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/home_sel.png';
$reslut['home_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/home_nor.png';
$reslut['find_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/find_sel.png';
$reslut['find_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/find_nor.png';
$reslut['msg_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/msg_sel.png';
$reslut['msg_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/msg_nor.png';
$reslut['mine_sel'] = get_system_config_value('web_site').'/static/theme/'.$url.'/mine_sel.png';
$reslut['mine_nor'] = get_system_config_value('web_site').'/static/theme/'.$url.'/mine_nor.png';
}
return V(1,'操作成功', $reslut);
}
}

View File

@@ -98,7 +98,7 @@ class Chat extends Model
'Text' => $content
];
$data = model('Tencent')->send_group_system_notification('room'.$roomId,json_encode($text));
$data = model('api/Tencent')->send_group_system_notification('room'.$roomId,json_encode($text));
if($data['code'] == 0){
Log::record("腾讯发送群消息:".$data['msg'].$type,"info");

View File

@@ -505,6 +505,7 @@ class GiveGift extends Model
//增加房间火热值hot_value
$gift_totalaa = $gift_total * get_system_config_value('coin_charm_exp');
Db::name('vs_room')->where(['id'=>$from_id,'apply_status'=>2])->setInc('hot_value',$gift_totalaa);
Db::name('vs_room')->where(['id'=>$from_id,'apply_status'=>2])->setInc('today_hot_value',$gift_totalaa);
Db::commit();
return ['code' => 1, 'msg' => '送礼成功', 'data' => null];

View File

@@ -16,7 +16,7 @@ class Room extends Model
parent::__construct();
$this->redis = \think\Cache::store('redis')->handler();
}
//创建房间
//创建房间 创建
public function user_create_room($uid, $room_name,$room_cover,$room_intro,$type = 0)
{
$user_mobile = model('User')->where('id', $uid)->value('mobile');
@@ -181,7 +181,7 @@ class Room extends Model
$map['is_top'] = $is_top;
}
$list = db::name('vs_room')->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,hot_value,label_id,is_show_room')
$list = db::name('vs_room')->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,today_hot_value as hot_value,label_id,is_show_room')
->where($map)->order('hot_value desc')->page($page, $page_limit)->select();
// var_dump($list);
foreach ($list as $k => &$v){
@@ -231,7 +231,7 @@ class Room extends Model
}
}
if(!empty($user_room_list)){
$list = db::name('vs_room')->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,hot_value')
$list = db::name('vs_room')->field('id as room_id,room_number,user_id,room_name,room_cover,room_password,today_hot_value as hot_value')
->where('id', 'in', $user_room_list)->order('hot_value desc')->page($page, $page_limit)->select();
foreach ($list as $k => &$v){
// $v['hot_value'] = $v['hot_value'] * 10;
@@ -599,7 +599,7 @@ class Room extends Model
foreach ($song_list as $key => $value){
if($value['status'] == 2 && $value['times_status'] == 1){
//切歌
model('RoomSong')->change_song($room_id,$value['did']);
model('api/RoomSong')->change_song($room_id,$value['did']);
}
if($value['status'] == 1){
db::name('vs_room_song')->where(['did' => $value['did']])->update(['status' => 3]);
@@ -617,7 +617,7 @@ class Room extends Model
db::name('vs_room_visitor')->where(['room_id' => $room_user, 'user_id' => $user_id])->delete();
$nickname = db::name('user')->where('id', $user_id)->value('nickname');
$text['text'] = '用户 ' . $nickname .' 退出了房间';
model('Chat')->sendMsg(1002,$room_user,$text,$user_id);
model('api/Chat')->sendMsg(1002,$room_user,$text,$user_id);
}else{
//退出其他房间
$this->quit_room($user_id, $room_user,$user_id);
@@ -655,8 +655,8 @@ class Room extends Model
$value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room['id'], 'user_id' => $value['user_id']])->value('charm');
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6);
$value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
}
}
$user_pit = db::name('vs_room_pit')->where(['room_id' => $room['id'],'user_id' => $user_id])->find();
@@ -672,7 +672,7 @@ class Room extends Model
if($room_time <= time()){
db::name('vs_room')->where(['id' => $room_id])->update(['room_status' => 3]);
db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->update(['status' => 2]);
model('Tencent')->delete_group('room'.$room_id);
model('api/Tencent')->delete_group('room'.$room_id);
return ['code' => 0, 'msg' => 'cp房间已到期', 'data' => ''];
}
$room_status = db::name('vs_room_cp_movie')->where(['room_id' => $room['id']])->value('status');
@@ -690,8 +690,8 @@ class Room extends Model
if($cp_users['user_id'] != $user_id && $cp_users['user_id1'] != $user_id){
return ['code' => 0, 'msg' => '您不是房间的cp用户请勿进入', 'data' => ''];
}
$cp_users['dress'] = model('Decorate')->user_decorate_detail($cp_users['user_id'],1);
$cp_users['dress1'] = model('Decorate')->user_decorate_detail($cp_users['user_id1'],1);
$cp_users['dress'] = model('api/Decorate')->user_decorate_detail($cp_users['user_id'],1);
$cp_users['dress1'] = model('api/Decorate')->user_decorate_detail($cp_users['user_id1'],1);
if($cp_users['user_id'] == $user_id){
$room_name = db::name('user')->where('id', $cp_users['user_id1'])->value('nickname');
}
@@ -708,7 +708,7 @@ class Room extends Model
}
$room['is_use_code'] = 0;
$liang = model('Decorate')->user_decorate_detail($room['id'],7);
$liang = model('api/Decorate')->user_decorate_detail($room['id'],7);
if($liang != $room['room_number']){
$room['is_use_code'] = 1;
$room['room_number'] = $liang;
@@ -822,7 +822,7 @@ class Room extends Model
'label_id' => $label_id,
'label_icon' => db::name('vs_room_label')->where('id', $room['label_id'])->value('label_icon_room'),
'room_background' => $room['room_background'],
'hot_value' => $room['hot_value'],
'hot_value' => $room['today_hot_value'],
'chatrooms' => 'room'.$room['id'],
'pit_list' => $pit_list,
'room_up_pit_type'=>$room['room_up_pit_type'],
@@ -835,23 +835,23 @@ class Room extends Model
//房主信息
$room_owner = db::name('user')->where('id', $room['user_id'])->field('id as user_id,user_code,sex,nickname,avatar')->find();
$room_owner['user_code'] = model('Decorate')->user_decorate_detail($room['user_id'],6);
$room_owner['user_code'] = model('api/Decorate')->user_decorate_detail($room['user_id'],6);
//当前用户信息
$user_info = $this ->get_user_info($room_id,$user_id,$user_pit,1);//用户进入房间 才会获取声网token更新房间不获取声网token
$user_info['is_room_owner'] = ($user_id == $room['user_id']) ? 1 : 0;
//推送信息
$text['text'] = '欢迎用户 ' . $user_info['nickname'] .' 进入房间';
$text['jia_jia'] = model('Decorate')->user_decorate_detail($user_id,2);
$text['jia_jia'] = model('api/Decorate')->user_decorate_detail($user_id,2);
$text['FromUserInfo'] = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$text['FromUserInfo']['dress'] = model('Decorate')->user_decorate_detail($user_id,1);
$text['FromUserInfo']['mic_dress'] = model('Decorate')->user_decorate_detail($user_id,4);
$text['FromUserInfo']['chat_dress'] = model('Decorate')->user_decorate_detail($user_id,5);
model('Chat')->sendMsg(1001,$room_id,$text,$user_id);
$text['FromUserInfo']['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$text['FromUserInfo']['mic_dress'] = model('api/Decorate')->user_decorate_detail($user_id,4);
$text['FromUserInfo']['chat_dress'] = model('api/Decorate')->user_decorate_detail($user_id,5);
model('api/Chat')->sendMsg(1001,$room_id,$text,$user_id);
//记录用户访问记录
if($user_id != $room_owner['user_id']){
model('User')->add_user_visit_log(2,$user_id, $room_id);
model('api/User')->add_user_visit_log(2,$user_id, $room_id);
}
return ['code' => 1,
'msg' => '成功',
@@ -873,18 +873,18 @@ class Room extends Model
public function get_user_info($room_id,$user_id,$user_pit,$is_join = 0)
{
$user_info = db::name('user')->where('id', $user_id)->field('id as user_id,user_code,sex,nickname,avatar')->find();
$user_info['dress'] = model('Decorate')->user_decorate_detail($user_id,1);
$user_info['user_code'] = model('Decorate')->user_decorate_detail($user_id,6);
$user_info['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$user_info['user_code'] = model('api/Decorate')->user_decorate_detail($user_id,6);
$user_info['pit_number'] = (isset($user_pit['pit_number'])) ? $user_pit['pit_number'] : 0;
$user_info['count_down'] = 0;
$user_info['is_collect'] = db::name('user_follow')->where(['follow_id' => $room_id,'user_id' => $user_id,'type' => 2])->find() ? 1 : 0;
$user_info['is_host'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 1,'delete_time' => null])->find() ? 1 : 0;
$user_info['is_management'] = db::name('vs_room_host')->where(['room_id' => $room_id,'user_id' => $user_id,'type' => 2,'delete_time' => null])->find() ? 1 : 0;
$user_info['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标
$user_info['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标
$user_info['icon'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$user_info['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
if($is_join){
$user_info['agora_token'] =model('Agora')->agora_token_info($user_id, $room_id);
$user_info['agora_rtm_token'] = model('Agora')->agora_rtm_token_info($user_id, $room_id);//连麦用的
$user_info['agora_token'] =model('api/Agora')->agora_token_info($user_id, $room_id);
$user_info['agora_rtm_token'] = model('api/Agora')->agora_rtm_token_info($user_id, $room_id);//连麦用的
}
$user_info['is_mute'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 1])->find() ? 1 : 0;
$user_info['is_mute_pit'] = db::name('vs_room_user_muted')->where(['room_id' => $room_id, 'user_id' => $user_id,'status' => 2])->find() ? 1 : 0;
@@ -907,7 +907,7 @@ class Room extends Model
'poster' => $song['poster'],
'duration' => $song['duration'],
'user_id' => $song['user_id'],
'dress' => model('Decorate')->user_decorate_detail($song['user_id'], 1),
'dress' => model('api/Decorate')->user_decorate_detail($song['user_id'], 1),
'nickname' => db::name('user')->where('id',$song['user_id'])->value('nickname'),
'avatar' => db::name('user')->where('id',$song['user_id'])->value('avatar'),
'charm' => db::name('vs_room_user_charm')->where(['user_id' =>$song['user_id'],'room_id' => $room_id])->value('charm'),
@@ -926,7 +926,7 @@ class Room extends Model
'poster' => $data[0]['poster'],
'duration' => $data[0]['duration'],
'user_id' => $data[0]['user_id'],
'dress' => model('Decorate')->user_decorate_detail($data[0]['user_id'], 1),
'dress' => model('api/Decorate')->user_decorate_detail($data[0]['user_id'], 1),
'nickanme' => db::name('user')->where('id',$data[0]['user_id'])->value('nickname'),
'avatar' => db::name('user')->where('id',$data[0]['user_id'])->value('avatar'),
'charm' => db::name('vs_room_user_charm')->where('user_id',$data[0]['user_id'])->value('charm'),
@@ -943,19 +943,19 @@ class Room extends Model
$value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6);
$value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
}
}
$song_pit_list = db::name('vs_room_pit_simulate')->where(['room_id' => $room_id])->select();
if($song_pit_list){
foreach ($song_pit_list as &$value){
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1);
$value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['nickname'] = db::name('user')->where('id',$value['user_id'])->value('nickname');
$value['avatar'] = db::name('user')->where('id',$value['user_id'])->value('avatar');
$value['sex'] = db::name('user')->where('id',$value['user_id'])->value('sex');
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6);
$value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
$value['is_lock'] = 0;
$value['is_mute'] = 0;
$value['count_down'] = 0;
@@ -995,14 +995,14 @@ class Room extends Model
->where(['a.room_id' => $room_id,'a.status' => 2])->find();
// var_dump($auction);exit;
if($auction){
$auction['dress'] = model('Decorate')->user_decorate_detail($auction['user_id'], 1);
$auction['dress'] = model('api/Decorate')->user_decorate_detail($auction['user_id'], 1);
$auction['relation_name'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('name');
$auction['relation_icon'] = db::name('vs_relation')->where('id',$auction['relation_id'])->value('icon');
$auction['base_image'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('base_image');
$auction['gift_name'] = db::name('vs_gift')->where('gid',$auction['gift_id'])->value('gift_name');
$auction['time_day'] = $auction['time_day'] / 60 / 60;
$auction['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $auction['user_id']])->value('charm') ?? 0;
$auction_list = model('RoomAuction')->room_auction_list_on($auction['auction_id']);
$auction_list = model('api/RoomAuction')->room_auction_list_on($auction['auction_id']);
$auction_user = $auction;
if($auction['user_id'] == $user_id){
$user_pit['pit_number'] = 888;
@@ -1018,7 +1018,7 @@ class Room extends Model
}else{
$auction_list = null;
$users = db::name('user')->where('id',$catdc)->field('id as user_id,nickname,avatar,sex,user_code')->find();
$users['dress'] = model('Decorate')->user_decorate_detail($catdc, 1);
$users['dress'] = model('api/Decorate')->user_decorate_detail($catdc, 1);
$users['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $catdc])->value('charm') ?? 0;
$auction_user = $users;
if($catdc == $user_id){
@@ -1039,8 +1039,8 @@ class Room extends Model
$value['dress'] = '';
if (isset($value['user_id']) && $value['user_id'] > 0) {
$value['charm'] = db::name('vs_room_user_charm')->where(['room_id' => $room_id, 'user_id' => $value['user_id']])->value('charm') ?? 0;
$value['dress'] = model('Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('Decorate')->user_decorate_detail($value['user_id'], 6);
$value['dress'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 1);
$value['user_code'] = model('api/Decorate')->user_decorate_detail($value['user_id'], 6);
if($value['user_id'] == $user_id){
$user_pit['pit_number'] = 9;
}
@@ -1059,7 +1059,7 @@ class Room extends Model
$nickname = db::name('user')->where('id', $user_id)->value('nickname');
}
if($type == 1){
if(!model('QuanXian')->quan_xian($uid, $user_id, $room_id)){
if(!model('api/QuanXian')->quan_xian($uid, $user_id, $room_id)){
return ['code' => 0, 'msg' => '您没有权限操作', 'data' => null];
}
}
@@ -1067,7 +1067,7 @@ class Room extends Model
//记录用户退出房
db::name('vs_room_visitor')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
//房间的模式
$res = model('Room')->get_room_label($room_id);
$res = model('api/Room')->get_room_label($room_id);
$room_label = $res['data']['label_id'];
$room_type = $res['data']['type_id'];
@@ -1082,30 +1082,30 @@ class Room extends Model
//在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
}
}elseif ($apply_type == 2){
//在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
}
if(db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->find()){
db::name('vs_room_pit_simulate')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
$FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标
$FromUserInfo['icon'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
//推送告诉前端下了几号麦位
$text['text'] = $FromUserInfo['nickname'].' 下麦了 ';
$text['FromUserInfo'] = $FromUserInfo;
$text['pit_number'] = '';
model('Chat')->sendMsg(1004,$room_id,$text);
model('api/Chat')->sendMsg(1004,$room_id,$text);
}
}else{
//在麦位上 移除用户
$room_pit = db::name('vs_room_pit')->where(['room_id' => $room_id, 'user_id' => $user_id])->find();
if (isset($room_pit)) {
model('RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
model('api/RoomPit')->DownPit($user_id, $room_id, $room_pit['pit_number']);
}
}
@@ -1115,9 +1115,9 @@ class Room extends Model
db::name('vs_room_pit_apply')->where(['room_id' => $room_id, 'user_id' => $user_id])->delete();
}
$FromUserInfo = db::name('user')->where('id',$user_id)->field('id as user_id,nickname,avatar,sex')->find();
$FromUserInfo['icon'][0] = model('UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('UserData')->user_charm_icon($user_id);//魅力图标
$FromUserInfo['dress'] = model('Decorate')->user_decorate_detail($user_id,1);
$FromUserInfo['icon'][0] = model('api/UserData')->user_wealth_icon($user_id);//财富图标
$FromUserInfo['icon'][1] = model('api/UserData')->user_charm_icon($user_id);//魅力图标
$FromUserInfo['dress'] = model('api/Decorate')->user_decorate_detail($user_id,1);
$text['FromUserInfo'] = $FromUserInfo;
//1-踢出房间
@@ -1136,14 +1136,14 @@ class Room extends Model
//发送消息
$text['text'] = '用户 ' . $nickname . ' 被 '. $room_typer .' 踢出房间';
model('Chat')->sendMsg(1011,$room_id,$text,$user_id);
model('api/Chat')->sendMsg(1011,$room_id,$text,$user_id);
//1-禁麦位2-清空消息3-清空魅力值4-加入黑名单5-踢出房间6-关闭麦克风7-申请上麦8-同意上麦9-拒绝上麦10-点歌11-开启PK',
model('Room')->room_operation_record($uid,$room_id,5,$user_id);
model('api/Room')->room_operation_record($uid,$room_id,5,$user_id);
}
if($type == 0){
//发送消息
$text['text'] = '用户 ' . $nickname .' 退出了房间';
model('Chat')->sendMsg(1002,$room_id,$text,$user_id);
model('api/Chat')->sendMsg(1002,$room_id,$text,$user_id);
}
return ['code' => 1, 'msg' => '成功','data' => []];
}
@@ -1268,11 +1268,19 @@ class Room extends Model
$dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select();
//循环获取在线用户ID 拼接数据
$user_id_array = [];
//机器人user_id
$robot_user_id = [];
foreach ($dblist as $v) {
//机器人
if(db::name('user')->where(['id' => $v['user_id']])->value('is_robot')){
$robot_user_id[] = $v['user_id'];
continue;
}
$user_id_array[] = 'u'.$v['user_id'];
}
//获取腾讯的在线用户
$online_users = model('Tencent')->query_user_online_status($user_id_array);
$online_user = [];
if(isset($online_users['ActionStatus']) && $online_users['ActionStatus'] == 'OK'){
if($online_users['QueryResult']){
foreach ($online_users['QueryResult'] as $v){
@@ -1284,12 +1292,12 @@ class Room extends Model
}
}
}
if(empty($online_user)){
$online_user = [];
}
if($dblist){
$onpit = db::name('vs_room_pit')->field('user_id')->where(['room_id' => $room_id])->select();
$array = $online_user;
//合并数组
$array = array_merge($online_user,$robot_user_id);
// $array = $online_user;
$arraypit = array_values((array)$onpit);
foreach ($dblist as &$v){
// if(in_array($v['user_id'],$arraypit)){
@@ -1955,7 +1963,7 @@ class Room extends Model
'label_id' => $label_id,
'label_icon' => db::name('vs_room_label')->where('id', $room['label_id'])->value('label_icon_room'),
'room_background' => $room['room_background'],
'hot_value' => $room['hot_value'],
'hot_value' => $room['today_hot_value'],
'chatrooms' => 'room'.$room['id'],
'pit_list' => $pit_list,
'room_up_pit_type'=>$room['room_up_pit_type'],
@@ -2421,19 +2429,29 @@ class Room extends Model
return ['code' => 1, 'msg' => '操作成功', 'data' => null];
}
//房间在线人数
//房间在线人
public function room_online_number($room_id)
{
if(!$room_id){
return ['code' => 0, 'msg' => '参数错误', 'data' => null];
}
//查找数据库用户
$dblist = db::name('vs_room_visitor')->where(['room_id' => $room_id])->field('user_id')->select();
$num_robit = 0;
foreach ($dblist as $v) {
//机器人
if(db::name('user')->where(['id' => $v['user_id']])->value('is_robot')){
$num_robit++;
}
}
$room_online_number = model('Tencent')->get_group_online_num($room_id);
if($room_online_number['ActionStatus'] != 'OK'){
return ['code' => 0, 'msg' => $room_online_number['ErrorInfo'].'-'.$room_online_number['ErrorCode'], 'data' => null];
}
$data = [
'online_number' => $room_online_number['OnlineMemberNum'],
'online_number' => $room_online_number['OnlineMemberNum'] + $num_robit,
];
return ['code' => 1, 'msg' => '操作成功', 'data' => $data];

View File

@@ -11,7 +11,7 @@ class RoomAuction extends Model
//房间关系列表
public function room_relation_list($type_id)
{
$list = db::name('vs_relation')->field('id as relation_id,name,type,icon')->where('type',$type_id)->select();
$list = db::name('vs_relation')->field('id as relation_id,name,type,icon')->where(['type' => $type_id,'delete_time' => 0])->select();
return ['code' => 1, 'msg' => '操作成功','data' => $list];
}

View File

@@ -534,6 +534,20 @@ class RoomPit extends Model
model('Chat')->sendMsg(1034,$room_id,$text);
return ['code' => 1, 'msg' => '上麦成功', 'data' => null];
}elseif($apply_type == 3){
if(count($to_user) >= 2){
return ['code' => 0, 'msg' => '拍卖模式下只能一个人上麦', 'data' => null];
}
//拍卖房当前到哪一步了
$step = db::name('vs_room_auction')->where(['room_id' => $room_id])->order('auction_id desc')->value('status');
if($step == 2){
return ['code' => 0, 'msg' => '拍卖已经开始', 'data' => null];
}
//拍卖位上有人吗
$paimai_user = Cache::get('auction_user_'.$room_id);
if($paimai_user){
//有人就让他下麦
return ['code' => 0, 'msg' => '拍卖位上已有人,请先抱对方下麦', 'data' => null];
}
$i = 0;
foreach ($to_user as &$value) {
$i++;

View File

@@ -26,8 +26,8 @@ class Sms extends Model
if($type == 1 || $type == 2){
//查询手机号绑定的数量
$map = [];
$map[] = ['mobile', '=', $mobile];
$map[] = ['status', '=', 1];
$map['mobile'] = $mobile;
$map['status'] = 1;
$user_info = db::name('user')->where($map)->count();
if($user_info >= 4){
return ['code' => 0, 'msg' => '该手机号已达绑定上线','data' =>null];

View File

@@ -252,7 +252,7 @@ class UserData extends Model
public function modify_mobile($new_mobile,$user_id)
{
//查询旧手机号
$mobile = db::name('user')->where(['id' => $user_id])->value('user_name');
$mobile = db::name('user')->where(['id' => $user_id])->value('username');
//查询是否实名
$is_real = db::name('user_auth')->where(['mobile' => $mobile,'is_real' => 1])->find();
if($is_real){
@@ -260,7 +260,7 @@ class UserData extends Model
db::startTrans();
//修改实名手机号
$red = db::name('user_auth')->where(['id' => $is_real['id']])->update(['mobile' => $new_mobile]);
$reslut = db::name('user')->where(['id' => $user_id])->update(['user_name' => $new_mobile]);
$reslut = db::name('user')->where(['id' => $user_id])->update(['username' => $new_mobile]);
if ($reslut && $red) {
Db::commit();
return ['code' => 1, 'msg' => '修改成功','data' =>null];
@@ -269,7 +269,7 @@ class UserData extends Model
return ['code' => 0, 'msg' => '修改失败','data' =>null];
}
}else{
$reslut = db::name('user')->where(['id' => $user_id])->update(['user_name' => $new_mobile]);
$reslut = db::name('user')->where(['id' => $user_id])->update(['username' => $new_mobile]);
if ($reslut) {
return ['code' => 1, 'msg' => '修改成功','data' =>null];
}
@@ -393,7 +393,7 @@ class UserData extends Model
//房间历史足迹
public function user_room_history_list($uid,$page,$page_limit){
$list = db::name('user_visit_log')->alias('a')->join('fa_vs_room b','a.to_id = b.id')
->field('b.id as room_id,b.room_number,b.room_name,b.room_cover,b.room_intro,b.label_id,b.room_password,b.is_show_room,b.hot_value')
->field('b.id as room_id,b.room_number,b.room_name,b.room_cover,b.room_intro,b.label_id,b.room_password,b.is_show_room,b.today_hot_value as hot_value')
->where('a.from_uid',$uid)
->where('a.type',2)
->where('b.type_id','<>',6)

View File

@@ -10,14 +10,14 @@ class UserToken extends Model
public function check_login_token($token)
{
if (empty($token)) {
return ['code' => 301, 'msg' => '登录失效', 'data' =>null];
return ['code' => 301, 'msg' => '登录失效!', 'data' =>null];
}
$user_token = $this->where('token', $token)->find();
if (empty($user_token)) {
return ['code' => 301, 'msg' => '登录失效', 'data' => null];
return ['code' => 301, 'msg' => '登录失效!!', 'data' => null];
}
if ($user_token['expiretime'] < time()) {
return ['code' => 301, 'msg'=> '登录失效', 'data' => null];
return ['code' => 301, 'msg'=> '登录失效!!!', 'data' => null];
}
$block1 = db::name('block')->where(['type' => 1,'type_text' => $user_token['user_id']])->find();

View File

@@ -122,7 +122,7 @@ class UserZone extends Model
//查询房主此时是否在聊天室
$room_id = db::name('vs_room_visitor')->where(['user_id' => $v['user_id'], 'is_delete' => 1])->value('room_id');
if ($room_id) {
$room = db::name('vs_room')->where(['id' => $room_id, 'room_status' => 1])->field('id,room_name,room_number,room_cover,room_intro,hot_value,type_id')->find();
$room = db::name('vs_room')->where(['id' => $room_id, 'room_status' => 1])->field('id,room_name,room_number,room_cover,room_intro,today_hot_value as hot_value,type_id')->find();
$v['room_id'] = $room['id'];
$v['room_cover'] = $room['room_cover'];
$v['room_type'] = db::name('vs_room_type')->where(['id' => $room['type_id'], 'status' => 1])->field('type_name');

View File

@@ -3,6 +3,7 @@
namespace app\common\controller;
use think\Controller;
use think\Db;
class BaseCom extends Controller
@@ -19,27 +20,67 @@ class BaseCom extends Controller
header("Access-Control-Max-Age: 3600");
//检测系统是否维护中
// $config = get_system_config();
$is_maintenance = get_system_config_value('is_maintenance');
if($is_maintenance == 2){
return V(203, '系统维护中');
}
$token = input('token', '');
if (empty($token)) {
$token = request()->header('token');
if(empty($token)){
return V(301, '登录失效');
}
//检测是什么系统
$system = input('system','');
if(empty($system)){
$system = request()->header('system');
}
//版本号
$version = input('App-Version','');
if(empty($version)){
$version = request()->header('App-Version');
}
$zhenshi_version = db::name('version')->where('type', 2)->value('oldversion');
$result = version_compare($version,$zhenshi_version);
//请求的接口
$api = request()->controller().'/'.request()->action();
if($system == 'iOS' && $result > 0){
if($api == 'Index/index_banner' || $api == 'Index/room_type_list' || $api == 'Index/room_list' || $api == 'UserZone/expand_zone' || $api == 'UserZone/zone_list' || $api == 'UserZone/topic_list' || $api == 'UserZone/get_zone_topic'){
$this->uid = 0;
//定义一个常量
define('UID', $this->uid);
}else{
$token = request()->header('token');
if (empty($token)) {
$token = input('token', '');
if(empty($token)){
return V(301, '登录失效');
}
}
$reslut = model('UserToken')->check_login_token($token);
if($reslut['code'] != 1) {
model('UserToken')->where('token', $token)->update(['token' => 1]);
return V($reslut['code'], $reslut['msg'],$reslut['data']);
} else {
$this->uid = $reslut['data'];
//定义一个常量
define('UID', $this->uid);
$reslut = model('UserToken')->check_login_token($token);
if($reslut['code'] != 1) {
model('UserToken')->where('token', $token)->update(['token' => 1]);
return V($reslut['code'], $reslut['msg'],$reslut['data']);
} else {
$this->uid = $reslut['data'];
//定义一个常量
define('UID', $this->uid);
}
}
}else{
$token = request()->header('token');
if (empty($token)) {
$token = input('token', '');
if(empty($token)){
return V(301, '登录失效');
}
}
$reslut = model('UserToken')->check_login_token($token);
if($reslut['code'] != 1) {
model('UserToken')->where('token', $token)->update(['token' => 1]);
return V($reslut['code'], $reslut['msg'],$reslut['data']);
} else {
$this->uid = $reslut['data'];
//定义一个常量
define('UID', $this->uid);
}
}
}

View File

@@ -0,0 +1,43 @@
<?php
namespace app\cron\controller;
use think\Db;
/*
* 定时任务,每秒执行的方法
*/
class DaySeconds
{
/*
* 运行函数
*/
function index()
{
echo "清除房间热度值:\n";
$this->clear_room_today_hot_value();//0点以后房间热度值清零
echo "\n";
}
/*
* 0点以后房间热度值清零
* 配置:定时脚本每天 0点 执行
* 配置http://vschat.qxmier.com/api/Cron/DaySeconds
*/
public function clear_room_today_hot_value() {
$where = [];
$where['delete_time'] = 0;
$where['is_show_room'] = 1;
$room = db::name('vs_room')->where($where)->select();
echo date('Y-m-d H:i:s').' 开始清零:'.count($room)."\n";
foreach ($room as $key => $value) {
$data = [
'today_hot_value' => 0,
];
db::name('vs_room')->where(['id' => $value['id']])->update($data);
}
echo date('Y-m-d H:i:s').' 完成'."\n";
die;
}
}

View File

@@ -30,9 +30,9 @@ class PerformPerSecond
echo "pk发起10秒后无应答拒绝\n";
$this->pk_start_refuse();
echo "\n";
echo "提现云账号订单状态查询:\n";
$this->withdraw_order_status();
echo "\n";
// echo "提现云账号订单状态查询:\n";
// $this->withdraw_order_status();
// echo "\n";
}
@@ -144,6 +144,7 @@ class PerformPerSecond
db::name('vs_user_withdrawal')->where('order_sn',$value['order_sn'])->update([
'status' => 6,
'pay_time' => time(),
'pay_message' => $result['data']['msg'],
'updatetime' => time()
]);
}else{

View File

@@ -231,12 +231,13 @@ class YunPay
$notifyReq = new NotifyRequest ($data, $mess, $timestamp, $sign) ;// 发起验签解密
try {
$result = $notifyClient->verifyAndDecrypt($notifyReq) ;
Log::record("云账户回调信息".json_encode($result),"info");
if ($result) {
Log::record("云账户回调信息-返回:".json_encode($result),"info");
$result = json_decode($result,true);
if ($result['signRes']) {
// 验签通过、解密成功
return ['code' => 1, 'msg' => "验签通过、解密成功:", 'data' => $result];
return ['code' => 1, 'msg' => "验签通过、解密成功:", 'data' => $result['data']];
}else{
return ['code' => 0, 'msg' => "验签失败", 'data' => null];
return ['code' => 0, 'msg' => "验签失败", 'data' => $result['data']];
}
}
catch(Exception $e){

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
[{"id": 3, "name": "\u6bcf\u79d2\u6267\u884c", "type": "minute-n", "where1": "1", "where_hour": 1, "where_minute": 1, "echo": "3b2a68def60d02214f0fc9b8f651b882", "addtime": "2025-08-04 19:23:26", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/PerformPerSecond", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf\u79d2\u6267\u884c", "keyword": "", "post_param": "", "flock": 0, "time_set": "", "backup_mode": "0", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "1", "stop_site": "0"}, {"id": 4, "name": "\u8bbf\u95eeURL-[ http://chat.qxmier.com/api/Cron/TenSeconds ]", "type": "minute-n", "where1": "1", "where_hour": 1, "where_minute": 1, "echo": "ce799a9f4d0839178a49e12521134382", "addtime": "2025-08-04 19:23:26", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/TenSeconds", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf10\u79d2\u6267\u884c\u4e00\u4e0b", "keyword": "", "post_param": "", "flock": 0, "time_set": "", "backup_mode": "0", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "10", "stop_site": "0"}, {"id": 5, "name": "\u6bcf\u5468\u6267\u884c", "type": "week", "where1": "1", "where_hour": 1, "where_minute": 30, "echo": "6dee8a90ed46c5ba3ef343da4a58fa38", "addtime": "2025-08-04 19:24:31", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/PerformPerWeek", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf\u5468\u6267\u884c", "keyword": "", "post_param": "", "flock": 1, "time_set": "", "backup_mode": "", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "", "stop_site": "0"}, {"id": 6, "name": "\u7eed\u7b7eLet's Encrypt\u8bc1\u4e66", "type": "day", "where1": "", "where_hour": 12, "where_minute": 3, "echo": "3ab48c27ec99cb9787749c362afae517", "addtime": "2025-08-08 09:53:50", "status": 1, "save": "", "backupTo": "localhost", "sName": "", "sBody": "/www/server/panel/pyenv/bin/python3 -u /www/server/panel/class/acme_v2.py --renew_v2=1", "sType": "toShell", "urladdress": "", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": 0, "type_id": "", "rname": "", "keyword": "", "post_param": "", "flock": 0, "time_set": "", "backup_mode": "", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "", "stop_site": ""}, {"id": 7, "name": "\u6bcf\u5929\u6267\u884c", "type": "day", "where1": "1", "where_hour": 0, "where_minute": 1, "echo": "774e9b9fc6a752b50e0d48487c944f9b", "addtime": "2025-08-11 17:41:38", "status": 1, "save": "", "backupTo": "", "sName": "", "sBody": "", "sType": "toUrl", "urladdress": "http://chat.qxmier.com/api/Cron/DaySeconds", "save_local": 0, "notice": 0, "notice_channel": "", "db_type": "", "split_type": "", "split_value": "", "type_id": "", "rname": "\u6bcf\u5929\u6267\u884c", "keyword": "", "post_param": "", "flock": 1, "time_set": "", "backup_mode": "0", "db_backup_path": "", "time_type": "", "special_time": "", "log_cut_path": "", "user_agent": "", "version": "", "table_list": "", "result": 1, "second": "", "stop_site": "0"}]