初始化代码

This commit is contained in:
2025-08-11 10:22:05 +08:00
commit ebd8d85201
4206 changed files with 753018 additions and 0 deletions

View File

@@ -0,0 +1,191 @@
<?php
namespace app\api\controller;
use think\Controller;
class Agora extends Common
{
protected function initialize()
{
$validate_action_list = ['get_code',"get_sstoken",'update_sstoken','get_user_info','report_game_info'];
$action = request()->action();
if(!in_array($action, $validate_action_list)) {
parent::initialize();
}
}
//---------------------游戏相关服务-------------------------------------------
/**
* 登录接口获取针对当前用户UID的短期令牌Code
* 调用方APP端
*/
public function get_code(){
$uid = input('uid', 0);
$reslut = model('AgoraAuth')->get_code($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**
* 短期令牌Code更换长期令牌SSToken
* 调用方:游戏服务
*
*/
public function get_sstoken(){
// $code = input('code', '');
$data = input('post.');
$reslut = model('AgoraAuth')->get_sstoken($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
/**
* 刷新长期令牌
* 调用方:游戏服务
*
*/
public function update_sstoken(){
// $token = input('ss_token', '');
$data = input('post.');
$reslut = model('AgoraAuth')->update_sstoken($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
/**
* 获取用户信息
* 调用方:游戏服务
*
*/
public function get_user_info(){
// $token = input('ss_token', '');
$data = input('post.');
$reslut = model('AgoraAuth')->get_user_info($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
/**
* 游戏服务端上报游戏接入方的游戏的数据
* 调用方:游戏服务
*
*/
public function report_game_info(){
// $report_type = input('report_type', '');
// $report_msg = input('report_msg', '');
// $uid = input('uid', 0);
// $ss_token = input('ss_token', '');
// $reslut = model('AgoraAuth')->report_game_info($report_type, $report_msg, $uid, $ss_token);
$data = input('post.');
$reslut = model('AgoraAuth')->report_game_info($data);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
return json($reslut);
}
//获取歌曲列表
public function agora_song_list(){
// dump(111);exit;
$page = input('page',0);
$song_code = input('song_code',0);
$page_limit = input('page_limit',20);
$key_name = "api:agora:agora_song_list:".$song_code;
redis_lock_exit($key_name);
$reslut = model('Agora')->agora_song_list($page,$page_limit,$song_code);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取增量歌曲列表
public function agora_new_song_list(){
$page = input('page', 0);
$page_limit = input('page_limit',20);
$add_time = input('add_time', 0);
$reslut = model('Agora')->agora_new_song_list($page, $page_limit, $add_time);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取指定歌曲详情
public function agora_song_info(){
$song_code = input('song_code',0);
$lyric_type = input('lyric_type',0);
$key_name = "api:agora:agora_song_info:".$song_code;
redis_lock_exit($key_name);
$reslut = model('Agora')->agora_song_info($song_code, $lyric_type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**********************************************分 割 线***********************************************************/
//同步热门歌曲
public function synchro_hot_song(){
$hot_type = input('hot_type', 1);
$key_name = "api:agora:synchro_hot_song";
redis_lock_exit($key_name);
$reslut = model('Agora')->synchro_hot_song($hot_type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取热门歌曲列表
public function hot_song_list(){
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Agora')->hot_song_list($page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获得歌曲列表
public function song_list(){
$name = input('name','');
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Agora')->song_list($name, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//点歌
public function dot_song(){
$rid = input('rid', 0);
$song_code = input('song_code', '');
$is_accapella = input('is_accapella', 2);
$key_name = "api:agora:dot_song:".$this->uid;
redis_lock_exit($key_name);
$reslut = model('Agora')->dot_song($this->uid, $rid, $song_code,$is_accapella);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消点歌
public function dot_song_del(){
$rid = input('rid', 0);
$song_code = input('song_code', '');
$key_name = "api:agora:dot_song_del:".$this->uid;
redis_lock_exit($key_name);
$reslut = model('Agora')->dot_song_del($this->uid, $rid, $song_code);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//点歌列表
public function dot_song_list(){
$rid = input('rid', 0);
$reslut = model('Agora')->dot_song_list($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,308 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use app\common\pay\SignContract;
use think\facade\Env;
class Api extends BaseCom
{
protected function initialize()
{
$validate_action_list = ['get_ip_address','clears_mier','txt','get_system_base_config','send_sms_1'];
$action = request()->action();
if(!in_array($action, $validate_action_list)) {
parent::initialize();
}
}
//修改登录密码-找回密码
public function modify_password()
{
// return ajaxReturn(201,'请联系客服修改',null);
$mobile = input('mobile');
$password = input('password');
$sms_code = input('sms_code'); //短信验证码
$reslut = model('sms')->verification_code($mobile, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
$reslut = model('user')->modify_password($mobile, $password);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//发送短信
public function send_sms()
{
$mobile = input('mobile');
$type = input('type');
$key_name = "api:login:send_sms:" . $mobile;
//图片验证码--开始
$captcha_code = input('captcha_code', '');
$captcha_key = input('captcha_key', '');
$result = model('api/ImgCaptcha')->check_captcha($captcha_code, $captcha_key);
if ($result['code'] != 200) {
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
redis_lock_exit($key_name);
$reslut = model('sms')->send_sms($mobile, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function send_sms_1()
{
$mobile = input('mobile');
$type = input('type');
$key_name = "api:login:send_sms:" . $mobile;
redis_lock_exit($key_name,1,1);
$reslut = model('sms')->send_sms($mobile, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//效验验证码
public function verification_code()
{
// return ajaxReturn(201, '暂未开放', null);
$mobile = input('mobile');
$code = input('code');
$reslut = model('sms')->verification_code($mobile, $code);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取系统基础配置
public function get_system_base_config()
{
$config = get_uncache_system_config();
$data = [];
// $data['ry_app_key'] = $config['ry_app_key'];
$data['tencentyun_im_appid'] = $config['tencentyun_im_appid'];
$data['qiniu_cdn_url'] = $config['qiniu_cdn_url'];
// $data['websocket_server_address'] = $config['websocket_server_address'];
$data['face_verify_appid'] = $config['face_verify_appid'];
$data['face_verify_app_secret'] = $config['face_verify_app_secret'];
//宝箱单价
$data['gold_price'] = (int)$config['box_unit_price'];
$data['drill_price'] = (int)$config['box_drill_price'];
$data['silver_price'] = (int)$config['box_silver_price'];
$data['platina_price'] = (int)$config['box_platina_price']; // 一般对应type=4
$data['violet_price'] = (int)$config['box_violet_price']; // 一般对应type=5
$data['promise_price'] = (int)$config['box_promise_price']; // 一般对应type=6
$data['withdraw_rate'] = round((1 - $config['user_withdraw_rate']),2);
$app_version = input('app_version', '');
$app_type = input('app_type', 0);
if($app_type == 2) {
// $app_version = str_replace('.', '', $app_version);
// if($app_version < 116) {
// return ajaxReturn(201, '请更新最新版本', null);
// }
}
$app_update_version_result = model('version')->get_update_app_version($app_type, $app_version);
$app_update_version = $app_update_version_result['data'];
$data['version_app'] = $app_update_version['version'] ?? '';
$data['version_note'] = $app_update_version['note'] ?? '';
$data['version_down_url'] = $app_update_version['down_url'] ?? '';
$data['version_is_force_update'] = $app_update_version['is_force_update'] ?? 0;
$data['del_user_relation_money'] = $config['del_user_relation_money'] ? $config['del_user_relation_money']:0;
return ajaxReturn(200, 'success', $data);
}
//计算器配置
public function calculator(){
$config = get_uncache_system_config();
$data = [];
$data['is_calculator'] = $config['is_calculator'];
return ajaxReturn(200, 'success', $data);
}
//清除数据库
// public function clears_mier(){
// echo 'red语音清数据';die;
// $redis = connectionRedis();
// $txt = $redis->keys('*');
// call_user_func([$redis, 'del'], $txt);
// dump($txt);exit;
// return ajaxReturn(201, '暂未开放', null);
// model('sms')->clears();
// }
//
public function update_socket(){
$cmd = 'cd /www/wwwroot/party.manshengtong.com/server
nohup ./main &';
shell_exec($cmd);
// dump($return);exit;
}
public function txt(){
// $real_name = '何金铭';
// $card_id = '44122620020922232X';
// $age = getAgeId($card_id);
// if(!$age){
// dump(11111);
// }
// //调用第三方实名认证接口
// $reslut = model('api/AliRealNameVerify')->real_name_verify($real_name, $card_id);
// // if($reslut['code'] == 201){
// dump($reslut);
// // }
// dump($age);exit;
// $nick_name = input('nick_name');
// $nick_name = htmlspecialchars_decode($nick_name);
// echo $nick_name;exit;
// echo base64_encode('GC671OSW13XRAKMTYJYR7PUIQBBS52YO');//R0M2NzFPU1cxM1hSQUtNVFlKWVI3UFVJUUJCUzUyWU8=
// model('user')->txt();
// // $rid = 481;
// // $uid = '107545';
// // $reslut = model('RoomHost')->get_room_host_info($uid, $rid);
// // $reslut = model('NewRoom')->get_user_auction_price($uid);
// // dump($reslut);
// // model('room')->push_room_micro_data(3);
// // $real_name = input('real_name', '');
// // $id_card = input('id_card', '');
// // $reslut = model('api/AliRealNameVerify')->real_name_verify($real_name, $id_card);
// // model('RoomSubsidy')->statistics_room_last_week_earnings(1);
// // $rid = 1000003;
// // $reslut = model('RoomMicro')->create_room_micro($rid);
// // $reslut = model('Tencent')->create_group($rid);
// // return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
// echo md5('203868');
// // echo '<br>';exit;
// // echo md5(md5('cNtGrC6Q'));die;
// $result = model('admin/Decorate')->clear_user_decorate();
// dump($result);
// $order_sn = time();
// $amount = 0.1;
// $result = model('api/AdaPay')->create_order($order_sn, $amount);
// dump($result);die;
}
public function get_ip_address(){
// exit;
$code = input('code','');
model('Sms')->get_ip_address($code);
}
public function get_ips_address(){
exit;
$code = input('code','');
$ip = input('ip', '');
model('Sms')->get_ips_address($code, $ip);
}
public function del_ip_address(){
$ip = input('ip','');
$code = input('code','');
model('Sms')->del_ip_address($ip, $code);
}
public function create_user_token(){
$phone = input('phone','');
$uid = input('uid','');
$reslut = model('user')->create_user_token($uid,$phone);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//自动虚拟号砸蛋
public function auto_open_virtual_box(){
$key_name = "api:box:auto_open_virtual_box";
redis_lock_exit($key_name,1,3);
$reslut = model('box')->auto_open_virtual_box();
// redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//检测红包是否超时
public function red_envelope_time_limit(){
$key_name = "api:box:red_envelope_time_limit";
redis_lock_exit($key_name,1,2);
$reslut = model('Envelope')->red_envelope_time_limit();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//查询账户
// public function commission_gd(){
// $data = model('HuiFu')->commission_gd();
// halt($data);
// }
public function test_tx(){
model('gift')->now_week_rank_four();
// $aa = model('RoomWages')->statistics_guild_last_week_earnings(1);
// $aa = model('RoomWages')->statistics_room_last_week_earnings(1);
}
//获取上周排行榜
public function last_week_rank(){
$reslut = model('gift')->last_week_rank1();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function sortAndEncryptedParams($params) {
// 获取函数参数
// 按照ASCII大小升序排序参数
sort($params);
return md5(implode('', $params));
}
public function close_auction_pm(){
$key_name = "admin:cli:close_auction_pm";
$data = model('api/AuctionRoom')->close_auction_pm();
redis_unlock($key_name);
return ajaxReturn($data['code'], $data['msg'], $data['data']);
}
// public function aaaa999(){
// model('room')->auto_clear_robot_room();
// }
}

View File

@@ -0,0 +1,96 @@
<?php
namespace app\api\controller;
use think\Controller;
class AuctionRoom extends Common
{
//天数列表
public function get_day_list(){
$reslut = model('AuctionRoom')->get_day_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//礼物列表
public function get_gift_list(){
$reslut = model('AuctionRoom')->get_gift_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置用户拍卖信息
public function options_user_auction_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$relation_id = input('relation_id', 0);
$gid = input('gid', 0);
$day = input('day', 0);
$key_name = "api:AuctionRoom:options_user_auction_info:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->options_user_auction_info($uid, $rid, $relation_id, $gid, $day);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//开始拍卖
public function open_auction()
{
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:AuctionRoom:open_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->open_auction($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//竞拍信息
public function get_auction_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('AuctionRoom')->get_auction_info($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束拍卖
public function finish_auction(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:AuctionRoom:finish_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->finish_auction($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//单场拍卖时长
public function add_pm_line_duration(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:AuctionRoom:add_pm_line_duration:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('AuctionRoom')->add_pm_line_duration($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取榜单
public function auction_room_rank(){
$rid = input('rid', 0);
$page = input('page', 1);
$limit = input('page_limit', 20);
$reslut = model('AuctionRoom')->auction_room_rank($rid,$page,$limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace app\api\controller;
use think\Controller;
class Banner extends Common
{
//轮播图列表
public function get_banner_list()
{
$reslut = model('Banner')->get_banner_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_room_charm_rank()
{
$rid = input('rid', 0); //房间号。
$time = input('time', 0); //统计周期 1日2周3总
$type = input('type', 0); //1 贡献2魅力
$reslut = model('Room')->get_room_charm_rank($rid, $time, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace app\api\controller;
use think\App;
use think\Controller;
class BaseCom extends Controller
{
protected function initialize()
{
header('Access-Control-Allow-Origin: *');
$timestamp = request()->header('timestamp', 0);
$app_sign = request()->header('app-sign');
$result = validate_sign($app_sign, $timestamp); //验证签名是否合法
if($result['code'] != 200) {
// return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}
}

View File

@@ -0,0 +1,43 @@
<?php
namespace app\api\controller;
class BlindBox extends Common
{
//活动初始化数据
public function blind_box_init()
{
$uid = $this->uid;
$to_uid = input('to_uid', 0);
$gid = input('gid', 0);
$result = model('api/BlindBox')->blind_box_init($uid, $to_uid, $gid);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
public function get_blind_box_rank()
{
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$time_type = input('time_type', 1);
$result = model('api/BlindBox')->get_blind_box_rank($time_type, $page, $page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//中奖记录
public function get_blind_box_win_log()
{
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$result = model('api/BlindBox')->get_blind_box_win_log($page, $page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//玩法介绍
public function get_blind_box_note()
{
$result = model('api/BlindBox')->get_blind_box_note();
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,124 @@
<?php
namespace app\api\controller;
use app\common\controller\Api;
/**
* 宝箱接口
*/
class Box extends Common
{
//开宝箱
public function open_box()
{
$tid = input('tid', 0);
$open_num = input('open_num', 0);
$rid = input('rid', 0);
$reslut = model('Box')->open_box($this->uid, $rid, $tid, $open_num);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取暴条数据
public function get_bt_consume(){
$type = input('type', 0);
$reslut = model('Box')->box_store_consume($this->uid,$type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取奖池礼物列表
public function get_box_list()
{
$tid = input('tid', 0);
$rid = input('rid',1);
$reslut = model('Box')->get_box_list($tid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取奖池礼物列表
public function get_box_lists()
{
$tid = input('tid', 0);
$rid = input('rid',1);
$reslut = model('Box')->get_box_lists($tid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取开宝箱手气榜
public function get_box_user_sqb_rank()
{
$rid = input('rid', 0);
$box_type = input('box_type', 1);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('Box')->get_box_user_sqb_rank($rid, $box_type, $page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户开出礼物记录
public function get_user_box_gift_list()
{
$page = input('page', 1);
$limit = input('limit', 20);
$box_type = input('box_type', 0);
$reslut = model('Box')->get_user_box_gift_list($this->uid, $box_type, $page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取宝箱说明
public function get_box_note()
{
$type = input('type', 1);
$reslut = model('Box')->get_box_note($type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户投入产出爆率
public function get_user_box_count(){
$type = input('type',1);
$reslut = model('Box')->get_user_box_count($this->uid,$type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
// 实时榜单
//获取开宝箱榜
public function get_box_user_gift_rank()
{
$page = input('page', 1);
$limit = input('page_limit', 20);
$reslut = model('Box')->get_box_user_gift_rank($page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取投入榜单
public function get_box_user_out_amount_rank()
{
$box_type = input('box_type', 1);
$time_type = input('time_type', 1);
$reslut = model('Box')->get_box_user_out_amount_rank($box_type, $time_type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_user_box_times()
{
$reslut = model('Box')->get_user_box_times($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,44 @@
<?php
namespace app\api\controller;
use think\App;
use think\Controller;
class Common extends BaseCom
{
public $uid;
protected function initialize()
{
parent::initialize();
header('Access-Control-Allow-Origin: *');
$config = get_uncache_system_config();
if($config['is_maintenance'] == 2){
ajaxReturn(301, '系统维护中');
}
// ajaxReturn(301, '系统维护');
$login_token = input('login_token', 0);
$reslut = model('User')->check_login_token($login_token);
if ($reslut['code'] == 201) {
return ajaxReturn(301, '登录失效');
} elseif ($reslut['code'] == 202) {
return ajaxReturn(301, $reslut['msg']);
} else {
// $this->uid = 1;
$this->uid = $reslut['data'];
}
// $reslut = validate_param_sign(input(), $login_token); //验证签名是否合法
// if ($reslut['code'] == 201) {
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
// }
// add_operation(2, $this->uid); //用户行为日志
}
public function check_login_status()
{
ajaxReturn(1, '登录成功', '');
}
}

View File

@@ -0,0 +1,53 @@
<?php
namespace app\api\controller;
use think\Controller;
class Contract extends Common
{
//签约列表
public function get_user_contract_list(){
$uid = input('uid', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Contract')->get_user_contract_list($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//制作人续约是否缴费
public function user_renewal_contract_status(){
$uid = $this->uid;
$id = input('id', 0);
$reslut = model('Contract')->user_renewal_contract_status($uid, $id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//制作人续约
public function user_renewal_contract(){
$uid = $this->uid;
$keyname = "api:Contract:user_renewal_contract:uid:".$uid;
$id = input('id', 0);
redis_lock_exit($keyname);
$reslut = model('Contract')->user_renewal_contract($uid, $id);
redis_unlock($keyname);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//制作人解约
public function user_cancel_contract(){
$uid = $this->uid;
$keyname = "api:Contract:user_cancel_contract:uid:".$uid;
$id = input('id', 0);
redis_lock_exit($keyname);
$reslut = model('Contract')->user_cancel_contract($uid, $id);
redis_unlock($keyname);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,35 @@
<?php
namespace app\api\controller;
use think\Controller;
class Coupling extends Common
{
public function coupling_test(){
$uid = input('uid', 0);
$receive_uid = input('receive_uid', 0);
$integral = input('integral', 0);
$reslut = model('Coupling')->get_coupling_info($uid, $receive_uid, $integral);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//指定用户CP详情
public function user_coupling_info(){
$uid = input('uid', 0);
$reslut = model('Coupling')->user_coupling_info($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//CP排行榜
public function get_cp_rank(){
$uid = $this->uid;
$time = input('time', 1);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Coupling')->get_cp_rank($uid, $time, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,187 @@
<?php
namespace app\api\controller;
use app\common\controller\Api;
class DatingRoom extends Common
{
/******************************心动连线***************************************/
//开启心动连线
public function open_heartbeat_line(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:DatingRoom:open_heartbeat_line:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->open_heartbeat_line($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//增加心动连线时长
public function add_heartbeat_line_duration(){
$uid = $this->uid;
$rid = input('rid', 0);
$duration = input('duration', 0);
$key_name = "api:DatingRoom:add_heartbeat_line_duration:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->add_heartbeat_line_duration($uid, $rid, $duration);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束心动连线阶段
public function end_heartbeat_line(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:DatingRoom:end_heartbeat_line:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->end_heartbeat_line($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**********************************牵手良缘*******************************************/
//关系列表
public function get_relation_list(){
$type = input('type', 1);
$reslut = model('DatingRoom')->get_relation_list($type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//绑定用户关系
public function binding_user_relation(){
$uid = $this->uid;
$rid = input('rid', 0);
$user_id = input('user_id', 0);
$receive_uid = input('receive_uid', 0);
$relation_id = input('id', 0);
$key_name = "api:DatingRoom:binding_user_relation:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->binding_user_relation($uid, $rid, $user_id, $receive_uid, $relation_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束牵手良缘阶段【重新推送】
public function end_push_binding_relation(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:DatingRoom:end_push_binding_relation:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->end_push_binding_relation($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/************************私密小屋*****************************/
//真心话大冒险
public function get_truth_or_dare_list(){
$uid = $this->uid;
$prid = input('prid', 0);
$key_name = "api:DatingRoom:get_truth_or_dare_list:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->get_truth_or_dare_list($uid, $prid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//话题卡
public function get_topic_card_list(){
$uid = $this->uid;
$prid = input('prid', 0);
$key_name = "api:DatingRoom:get_topic_card_list:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->get_topic_card_list($uid, $prid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户关系列表
public function get_user_relation_list(){
$uid = $this->uid;
$user_id = input('user_id', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('DatingRoom')->get_user_relation_list($uid, $user_id, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//私密小屋详情
public function get_privacy_room_info(){
$uid = $this->uid;
$prid = input('prid', 0);
$reslut = model('DatingRoom')->get_privacy_room_info($uid, $prid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//私密续时礼物列表
public function get_privacy_room_gift_list(){
$uid = $this->uid;
$reslut = model('DatingRoomGift')->get_privacy_room_gift_list($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//赠送私密礼物续时
public function send_gift(){
$receive_uid = input('receive_uid', '');
$rid = input('rid', 0);
$prid = input('prid', 0);
$gid = input('gid', 0);
$num = input('num', 0);
$key_name = "api:DatingRoom:send_gift:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoomGift')->send_gift($this->uid, $receive_uid, $rid, $prid, $gid, $num);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束私密小屋
public function end_room_privacy(){
$uid = $this->uid;
$prid = input('prid', 0);
$key_name = "api:DatingRoom:end_room_privacy:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('DatingRoom')->end_room_privacy($uid, $prid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间挂件礼物信息
public function get_room_pendant_gift_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('DatingRoom')->get_room_pendant_gift_info($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**********************************幸运摩天轮*******************************************/
//房间挂件礼物信息
public function get_motian_rank(){
$type= input('type', 1);
$reslut = model('DatingRoom')->get_motian_rank($type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function del_user_relation(){
$user_relation_id = input('user_relation_id',0);
$reslut = model('DatingRoom')->del_user_relation($this->uid,$user_relation_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,99 @@
<?php
namespace app\api\controller;
use app\api\service\DecorateService;
use think\Db;
class Decorate extends Common
{
//装扮列表
public function get_decorate_list()
{
$type = input('type', 1);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Decorate')->get_decorate_list($type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//装扮详情
public function get_decorate_info(){
$did = input('did', 0);
$reslut = model('Decorate')->get_decorate_info($did);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//购买装扮
// public function pay_decorate(){
// $uid = $this->uid;
// $did = input('did', 0);
// $num = input('num', 1);
// $keyname = "api:Decorate:pay_decorate:uid:".$uid;
// redis_lock_exit($keyname);
// $reslut = model('Decorate')->pay_decorate($uid, $did, $num);
// redis_unlock($keyname);
// return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
// }
//购买装扮
public function pay_decorate(){
$uid = $this->uid;
$did = input('did', 0);
$day = input('day', 1);
$keyname = "api:Decorate:pay_decorate:uid:".$uid;
redis_lock_exit($keyname);
$reslut = model('Decorate')->pay_decorate($uid, $did, $day);
redis_unlock($keyname);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户装扮列表
public function user_decorate_list(){
$uid = $this->uid;
$type = input('type', 1);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('UserDecorate')->user_decorate_list($uid, $type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//使用、放弃使用装扮
public function user_use_decorate(){
$uid = $this->uid;
$udid = input('udid', 0);
$keyname = "api:Decorate:user_use_decorate:uid:".$uid;
redis_lock_exit($keyname);
$reslut = model('UserDecorate')->user_use_decorate($uid, $udid);
redis_unlock($keyname);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//购买记录
public function user_pay_decorate_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('UserDecorate')->user_pay_decorate_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_cp_decorate_list(){
$uid = $this->uid;
$type = input('type', 1);
$reslut = model('UserDecorate')->get_cp_decorate_list($uid, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,51 @@
<?php
namespace app\api\controller;
use think\Controller;
class Envelope extends Common
{
//红包展示
public function get_red_envelope_list(){
$uid = $this->uid;
$type = input('type', 1);
$reslut = model('Envelope')->get_red_envelope_list($uid, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//抢红包
public function snatch_red_envelope(){
$uid = $this->uid;
$type = input('type', 1);
$rid = input('rid', 0);
$reslut = model('Envelope')->snatch_red_envelope($uid, $rid, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//红包信息
public function red_envelope_info(){
$uid = $this->uid;
$type = input('type', 1);
$reslut = model('Envelope')->red_envelope_info($uid, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//红包规则
public function envelope_note(){
$reslut = model('Envelope')->envelope_note();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//抢红包记录
public function user_red_envelope_log_list(){
$uid = $this->uid;
$type = input('type', 1);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('Envelope')->user_red_envelope_log_list($uid, $type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace app\api\controller;
use think\Controller;
class FaceVerify extends Common
{
//人脸
public function verify()
{
$uid = $this->uid;
$reslut = model('FaceVerifyCallback')->verify($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function call_back()
{
$uid = $this->uid;
$real_name = input('real_name', '');
$card_id = input('card_id', '');
$reslut = model('FaceVerifyCallback')->call_back($this->uid, $card_id, $real_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,30 @@
<?php
namespace app\api\controller;
use think\Controller;
class Game extends Common
{
//获取游戏列表
public function get_game_list()
{
$reslut = model('game')->get_game_list($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取游戏详情
public function get_game_info()
{
$gid = input('gid', 0);
$reslut = model('game')->get_game_info($gid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加游戏点击日志
public function add_game_click_log()
{
$gid = input('gid', 0);
$reslut = model('game')->add_game_click_log($this->uid, $gid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,132 @@
<?php
namespace app\api\controller;
use think\Controller;
class Gift extends Common
{
//获取礼物列表
public function get_gift_list()
{
$reslut = model('Gift')->get_gift_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//购买礼物打赏
public function send_gift()
{
$to_uid_list = input('to_uid_list', '');
$rid = input('rid', 0);
$gid = input('gid', 0);
$num = input('num', 0);
$pack = input('pack', 1); //1购买 2背包
$help_uid = input('help_uid', 0);
$key_name = "api:gift:send_gift:" . $this->uid;
// redis_locks_exit($key_name, 1, 1);
$reslut = model('Gift')->send_gift($this->uid, $to_uid_list, $rid, $gid, $num, $pack, $help_uid);
// redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function send_all_pack_gift()
{
$rid = input('rid', 0);
$recived_uid = input('recived_uid', 0);
$help_uid = input('help_uid', 0);
$key_name = "api:gift:send_gift:" . $this->uid; //强制和 单独赠送礼物使用同一个锁
redis_locks_exit($key_name, 1, 1);
$reslut = model('Gift')->send_all_pack_gift($this->uid, $recived_uid, $rid, $help_uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取背包 礼物列表
public function get_gift_pack_list()
{
$reslut = model('Gift')->get_gift_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//是否显示砸蛋奖池
public function is_open_box(){
$reslut = model('Gift')->is_open_box($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//礼物列表
public function get_room_gift_list(){
$uid = $this->uid;
$type = input('type', 1);
$reslut = model('GiftWall')->get_room_gift_list($uid, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//本周排行榜
public function week_star_gift_list(){
$reslut = model('gift')->week_star_gift_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function last_week_rank(){
$reslut = model('gift')->last_week_rank1();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//本周排行榜
public function now_week_rank(){
$gid = input('gid', 0);
$reslut = model('gift')->now_week_rank($gid,$this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取本周周星榜前4
public function now_week_rank_four(){
$reslut = model('gift')->now_week_rank_four();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取最高cp
public function top_cp(){
$reslut = model('gift')->top_cp();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function my_cp(){
$reslut = model('gift')->my_cp($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//cp头像框
public function my_cp_txk(){
$type = input('type', 0);
$reslut = model('gift')->my_cp_txk($this->uid,$type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,32 @@
<?php
namespace app\api\controller;
use think\Controller;
class Guard extends Common
{
//获取可购买守护列表
public function get_guard_list()
{
$reslut = model('Guard')->get_guard_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//购买守护
public function buy_guard()
{
$id = input('id');
$guard_rid = input('guard_rid');
$guard_uid = input('guard_uid');
$reslut = model('Guard')->buy_guard($this->uid, $id, $guard_rid, $guard_uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户守护列表
public function get_user_guard_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('Guard')->get_user_guard_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,125 @@
<?php
namespace app\api\controller;
use think\Controller;
class Guild extends Common
{
//公会列表
public function get_guild_list(){
$uid = $this->uid;
$time = input('time', 1);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Guild')->get_guild_list($uid, $time, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//加入公会
public function join_guild(){
$uid = $this->uid;
$guild_id = input('guild_id', 0);
$key_name = "api:guild:join_guild:".$uid;
redis_lock_exit($key_name);
$reslut = model('Guild')->join_guild($uid, $guild_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//申请列表
public function get_apply_guild_list(){
$uid = $this->uid;
$guild_id = input('guild_id', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Guild')->get_apply_guild_list($uid, $guild_id, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//同意、拒绝申请
public function operate_guild(){
$uid = $this->uid;
$apply_id = input('id', 0);
$type = input('type', 1);
$key_name = "api:guild:operate_guild:".$uid;
redis_lock_exit($key_name);
$reslut = model('Guild')->operate_guild($uid, $apply_id, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//公会详细信息
public function get_guild_info(){
$uid = $this->uid;
$guild_id = input('guild_id', 0);
$type = input('type', 1);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Guild')->get_guild_info($uid, $guild_id, $type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//公会流水统计
public function get_guild_money_log_list(){
$uid = $this->uid;
$guild_id = input('guild_id', 0);
$type = input('type', 1);
$time = input('time', 1);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Guild')->get_guild_money_log_list($uid, $guild_id, $type, $time, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//踢出公会
public function kick_out_guild(){
$uid = $this->uid;
$user_id = input('user_id', 0);
$guild_id = input('guild_id', 0);
$key_name = "api:guild:kick_out_guild:".$uid;
redis_lock_exit($key_name);
$reslut = model('Guild')->kick_out_guild($uid, $user_id, $guild_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//退出公会
public function quit_guild(){
$uid = $this->uid;
$guild_id = input('guild_id', 0);
$key_name = "api:guild:quit_guild:".$uid;
redis_lock_exit($key_name);
$reslut = model('Guild')->quit_guild($uid, $guild_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//是否是公会会长
public function user_is_deacon(){
$uid = $this->uid;
$guild_id = input('guild_id', 0);
$reslut = model('Guild')->user_is_deacon($uid, $guild_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//解散公会
public function diss_guild(){
$uid = $this->uid;
$guild_id = input('guild_id', 0);
$reslut = model('Guild')->diss_guild($uid, $guild_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_the_guild_info(){
$guild_id = input('guild_id', 0);
$reslut = model('Guild')->get_the_guild_info($guild_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,63 @@
<?php
namespace app\api\controller;
use think\Controller;
class KtvRoom extends Common
{
//开始K歌活动
public function open_auction()
{
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:KtvRoom:open_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('KtvRoom')->open_auction($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户出价
public function user_auction_price(){
$uid = $this->uid;
$rid = input('rid', 0);
$user_id = input('user_id', 0);
$price = input('price', 0);
$key_name = "api:KtvRoom:user_auction_price:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('KtvRoom')->user_auction_price($uid, $rid, $user_id, $price);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束K歌活动
public function finish_auction(){
$uid = $this->uid;
$rid = input('rid', 0);
$user_id = input('user_id', 0);
$key_name = "api:KtvRoom:finish_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('KtvRoom')->finish_auction($uid, $rid, $user_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束用户唱歌时间
public function finish_user_song(){
$uid = $this->uid;
$rid = input('rid', 0);
$user_id = input('user_id', 0);
$key_name = "api:KtvRoom:finish_user_song:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('KtvRoom')->finish_user_song($uid, $rid, $user_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,126 @@
<?php
namespace app\api\controller;
use think\Controller;
class Login extends BaseCom
{
protected function initialize()
{
$validate_action_list = ['user_reg'];
$action = request()->action();
if(!in_array($action, $validate_action_list)) {
parent::initialize();
}
// parent::initialize();
header('Access-Control-Allow-Origin: *');
$config = get_uncache_system_config();
if($config['is_maintenance'] == 2){
ajaxReturn(301, '系统维护中');
}
// ajaxReturn(301, '系统维护');
// add_operation(0, 0); //用户行为日志
}
public function c(){
model('UserRecharge')->threePayFromPost('E'.time(), 30, 922);
}
public function user_login()
{
$user_name = input('user_login', '');
$password = input('password', '');
$system = input('system',0);
$last_login_device = input('last_login_device', '');
$reslut = model('UserLogin')->user_login($user_name, $password, $last_login_device, $system);
ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//注册
public function user_reg()
{
header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
$user_name = input('user_login');
$password = input('password');
$reg_code = input('reg_code', '');
$sms_code = input('sms_code', ''); //短信验证码
$key_name = "api:login:user_reg:" . $user_name;
// if($sms_code != 9999){
$reslut = model('sms')->verification_code($user_name, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
// }
redis_lock_exit($key_name,1,2);
$reslut = model('UserLogin')->user_reg($user_name, $password, $reg_code);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//发送短信
public function send_sms()
{
header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
$mobile = input('mobile');
$type = input('type');
$key_name = "api:login:send_sms:" . $mobile;
//图片验证码--开始
$captcha_code = input('captcha_code', '');
$captcha_key = input('captcha_key', '');
$result = model('api/ImgCaptcha')->check_captcha($captcha_code, $captcha_key);
if ($result['code'] != 200) {
ajaxReturn($result['code'], $result['msg'], $result['data']);
}
redis_lock_exit($key_name);
$reslut = model('sms')->send_sms($mobile, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//验证码登录
public function phone_verification_code_log(){
header("Access-Control-Allow-Origin: *"); // 允许任意域名发起的跨域请求
$user_name = input('user_login');
$system = input('system',0);
$last_login_device = input('last_login_device', '');
$sms_code = input('sms_code', ''); //短信验证码
$key_name = "api:login:phone_verification_code_log:" . $user_name;
// if($sms_code != 9999){
$reslut = model('sms')->verification_code($user_name, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
// }
redis_lock_exit($key_name);
$reslut = model('UserLogin')->phone_verification_code_log($user_name, $last_login_device, $system);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取图片验证码
public function create_captcha()
{
$reslut = model('api/ImgCaptcha')->create_captcha();
ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,41 @@
<?php
namespace app\api\controller;
use think\Controller;
class Mode extends Common
{
//开启/关闭青少年模式
public function open_teen_mode(){
$uid = $this->uid;
$key_name = "api:user:open_teen_mode:".$uid;
redis_lock_exit($key_name);
$type = input('type', 1);
$password = input('password', '');
$again_password = input('again_password', '');
$reslut = model('UserMode')->open_teen_mode($uid, $type, $password, $again_password);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//关闭青少年模式、确认青少年模式密码
public function close_teen_mode(){
$uid = $this->uid;
$key_name = "api:user:close_teen_mode:".$uid;
redis_lock_exit($key_name);
$type = input('type', 1);
$password = input('password', '');
$reslut = model('UserMode')->close_teen_mode($uid, $type, $password);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**
* 申诉身份验证
* @return void
*/
public function edit_teen_mode(){
$card_id=input('card_id','');
$real_name=input('real_name','');
$reslut = model('UserMode')->edit_teen_mode($this->uid,$card_id,$real_name);
return ajaxReturn($reslut['code'],$reslut['msg'],$reslut['data']);
}
}

View File

@@ -0,0 +1,100 @@
<?php
namespace app\api\controller;
use think\Controller;
class Monster extends Common
{
//选择金币列表
public function choice_gold_list(){
$reslut = model('Monster')->choice_gold_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//当前打怪兽详情
public function get_monster_info(){
$uid = $this->uid;
$reslut = model('Monster')->get_monster_info($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//生成/结算喂养怪兽
public function create_monster_log(){
$uid = $this->uid;
$key_name = "api:Monster:create_monster_log";
redis_lock_exit($key_name);
$reslut = model('Monster')->create_monster_log();
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//喂养怪兽
public function open_beat_monster(){
$uid = $this->uid;
$rid = input('rid', 0);
$type = input('type', 0);
$num = input('num', 0);
$key_name = "api:Monster:open_beat_monster:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('Monster')->open_beat_monster($uid, $rid, $type, $num);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//规则
public function get_monster_note(){
$reslut = model('Monster')->get_monster_note();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//奖池
public function get_monster_box_list(){
$reslut = model('Monster')->get_monster_box_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//开奖记录
public function get_monster_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Monster')->get_monster_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的记录
public function get_user_monster_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Monster')->get_user_monster_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//中奖次数榜单
public function get_monster_winner_num_list(){
$uid = $this->uid;
$time = input('time', 1);
$reslut = model('Monster')->get_monster_winner_num_list($uid, $time);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置房间期数开关
public function operate_room_monster_show_status(){
$uid = $this->uid;
$rid = input('rid', 0);
$is_show_monster_push = input('is_show_monster_push', 1);
$reslut = model('Monster')->operate_room_monster_show_status($uid, $rid, $is_show_monster_push);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace app\api\controller;
use think\Controller;
class Music extends Common
{
//获取用户歌曲列表
public function get_user_music_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('Music')->get_user_music_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,76 @@
<?php
namespace app\api\controller;
use app\common\controller\Api;
/**
* 宝箱接口
*/
class NewBox extends Common
{
//开宝箱
public function open_new_box()
{
$tid = input('nbl_id', 0);
$open_num = input('pay_amount', 0);
$rid = input('rid', 0);
$reslut = model('NewBox')->open_new_box($this->uid, $tid, $open_num, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取奖池礼物列表
public function get_new_box_list()
{
$tid = input('tid', 0);
$rid = input('rid',1);
$reslut = model('NewBox')->get_new_box_list($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_new_box_list1()
{
$tid = input('tid', 0);
$rid = input('rid',1);
$reslut = model('NewBox')->get_new_box_list1($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取开宝箱手气榜
public function get_new_box_win_user()
{
$box_type = input('box_type', 1);
$page = input('page', 1);
$limit = input('limit', 20);
$reslut = model('NewBox')->get_new_box_win_user($box_type, $page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户开出礼物记录
public function get_my_new_box_log()
{
$page = input('page', 1);
$limit = input('limit', 20);
$box_type = input('box_type', 0);
$type = input('type', 1);
$reslut = model('NewBox')->get_my_new_box_log($this->uid, $box_type, $type, $page, $limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取宝箱说明
public function get_box_note()
{
$reslut = model('NewBox')->get_box_note();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的号码
public function get_my_box_num_sn()
{
$page = input('page', 0);
$page_limit = input('page_limit', 20);
$uid = $this->uid;
$nbl_id = input('nbl_id', 0);
$reslut = model('NewBox')->get_my_box_num_sn($uid, $nbl_id, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,62 @@
<?php
namespace app\api\controller;
use think\Controller;
class NewRoom extends Common
{
//开始拍卖
public function open_auction()
{
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:NewRoom:open_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('NewRoom')->open_auction($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//当前拍卖前三名
public function get_room_new_auction_rank(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('NewRoom')->get_room_new_auction_rank($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//出价列表
public function get_room_auction_price_list(){
$reslut = model('NewRoom')->get_room_auction_price_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户出价
public function user_auction_price(){
$uid = $this->uid;
$rid = input('rid', 0);
$price = input('price', 0);
$key_name = "api:NewRoom:user_auction_price:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('NewRoom')->user_auction_price($uid, $rid, $price);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//结束拍卖
public function finish_auction(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:NewRoom:finish_auction:rid:".$rid;
redis_lock_exit($key_name);
$reslut = model('NewRoom')->finish_auction($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,24 @@
<?php
namespace app\api\controller;
use think\Controller;
class Nobility extends Common
{
//爵位列表
public function get_nobility_list()
{
$reslut = model('Nobility')->get_nobility_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//爵位详情
public function get_nobility_info(){
$uid = $this->uid;
$lid = input('lid', 0);
$reslut = model('Nobility')->get_nobility_info($uid, $lid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,98 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
use app\api\wxapi\pay\WxPayApi;
use app\api\wxapi\pay\JsApiPay;
use app\api\wxapi\pay\WxPayUnifiedOrder;
use app\api\wxapi\pay\WxPayConfig;
use app\api\wxapi\pay\WxPayNotify;
use app\api\wxapi\pay\WxPayOrderQuery;
use app\api\wxapi\pay\WxPayDataBase;
class Notifyapp extends Controller
{
public function wxnotify(){
// dump(111);exit;
$xml = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input");
// error_log($xml, 3, 'xml.log');
// exit;
// $xml = '<xml><appid><![CDATA[wx6274462930e3488e]]></appid>
// <attach><![CDATA[订单支付]]></attach>
// <bank_type><![CDATA[OTHERS]]></bank_type>
// <cash_fee><![CDATA[1]]></cash_fee>
// <fee_type><![CDATA[CNY]]></fee_type>
// <is_subscribe><![CDATA[N]]></is_subscribe>
// <mch_id><![CDATA[1612760327]]></mch_id>
// <nonce_str><![CDATA[vk18rwouhpselq44zbnddsmzglojmk5c]]></nonce_str>
// <openid><![CDATA[ocR_J6Qy6YKze82nugSW7Ork6Al4]]></openid>
// <out_trade_no><![CDATA[JSAPI18148202108281842417290]]></out_trade_no>
// <result_code><![CDATA[SUCCESS]]></result_code>
// <return_code><![CDATA[SUCCESS]]></return_code>
// <sign><![CDATA[7DCCA4B31D0FD90E97CBD303FD75F0D93AD94C137AB165E8A7212055CE42B101]]></sign>
// <time_end><![CDATA[20210828184247]]></time_end>
// <total_fee>1</total_fee>
// <trade_type><![CDATA[JSAPI]]></trade_type>
// <transaction_id><![CDATA[4200001184202108286171818578]]></transaction_id>
// </xml>';
if(!$xml){exit;}
$input = new WxPayOrderQuery();
$result =$input->FromXml($xml);
$config = new WxPayConfig();
$_sign=$result['sign'];
unset($result['sign']);
$sign = $this->getSign($result, $config);
if($_sign==$sign && array_key_exists("return_code", $result) && array_key_exists("result_code", $result) && $result["return_code"] == "SUCCESS" && $result["result_code"] == "SUCCESS"){
$fee=$result['total_fee']/100;
model('UserRecharge')->pay_notify_success($result['out_trade_no'],$fee);
exit('<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>');
//TS
// $out_trade_no=$result['out_trade_no'];
// $fee=$result['total_fee']/100;
// $transaction_id=$result['transaction_id'];
// $order=DB::name('order')->where(['order_no'=>$out_trade_no, 'status'=>1, 'price'=>$fee,])->find();
// //$order=DB::name('order')->where(['order_no'=>$orderid, 'status'=>1, ])->find();
// if(isset($order['id'])){
// //业务逻辑
// $arr['status']=2;
// $arr['paytime']=time();
// $res=DB::name('order')->where('id',$order['id'])->update($arr);
// if($res){
// //增加用户米钻及充值记录
// userStoreInc($order['user_id'],$order['mizuan'],11,'mizuan');
// exit('OK');
// }
// }
// exit('fail');
}
}
private function getSign($params, $config) {
ksort($params); //将参数数组按照参数名ASCII码从小到大排序
foreach ($params as $key => $item) {
if (!empty($item)) { //剔除参数值为空的参数
$newArr[] = $key.'='.$item; // 整合新的参数数组
}
}
$stringA = implode("&", $newArr); //使用 & 符号连接参数
$stringSignTemp = $stringA."&key=".$config->GetKey(); //拼接key
if($config->GetSignType() == "MD5"){
$stringSignTemp = md5($stringSignTemp);
} else if($config->GetSignType() == "HMAC-SHA256") {
$stringSignTemp = hash_hmac("sha256",$stringSignTemp ,$config->GetKey());
} else {
throw new WxPayException("签名类型不支持!");
}
$sign = strtoupper($stringSignTemp); //将所有字符转换为大写
return $sign;
}
}

View File

@@ -0,0 +1,71 @@
<?php
namespace app\api\controller;
use think\Controller;
class Pay extends Common
{
//充值可选金额列表
public function get_can_recharge_list()
{
$reslut = model('CanRecharge')->get_can_recharge_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户充值
public function create_pay_order()
{
$crid = input('crid', 0);
$pay_type = input('pay_type', 0); //1支付宝 2微信
$custom_amount = input('custom_amount', 0); //自定义充值金额
$key_name = "api:pay:create_pay_order:uid:".$this->uid;
redis_lock_exit($key_name);
$reslut = model('UserRecharge')->create_pay_order($this->uid, $crid, $pay_type, $custom_amount);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//购买会员
public function pay_vip_order(){
$uid = $this->uid;
$pay_type = input('pay_type', 0);
$vid = input('vid', 0);
$key_name = "api:pay:pay_vip_order:uid:".$this->uid;
redis_lock_exit($key_name);
// $reslut = model('UserRecharge')->pay_vip_order($uid, $vid, $pay_type);
$reslut = model('Vip')->pay_vip_order($uid, $vid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//更换邀请人
public function update_user_inviter(){
$uid = $this->uid;
$user_id = input('user_id', 0);
$pay_type = input('pay_type', 0);
$sms_code = input('sms_code', '');
$key_name = "api:pay:update_user_inviter:uid:".$this->uid;
redis_lock_exit($key_name);
// $reslut = model('UserRecharge')->update_user_inviter($uid, $user_id, $sms_code, $pay_type);
$reslut = model('Vip')->update_user_inviter($uid, $user_id, $sms_code);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//购买爵位
public function pay_nobility()
{
$uid = $this->uid;
$pay_type = input('pay_type', 0);
$lid = input('lid', 0);
$key_name = "api:pay:pay_vip_order:uid:".$this->uid;
redis_lock_exit($key_name);
// $reslut = model('UserRecharge')->pay_vip_order($uid, $vid, $pay_type);
$reslut = model('UserRecharge')->pay_nobility_order($uid, $lid, $pay_type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,67 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\facade\Log;
use app\common\pay\Callback;
class PayNotify extends Controller
{
public function wx_pay_notify()
{
//接收微信返回的数据数据,返回的xml格式
$xmlData = file_get_contents('php://input');
$reslut = model('UserRecharge')->wxPayNotify($xmlData);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function ali_pay_notify()
{
//接收微信返回的数据数据,返回的xml格式
$data = $this->request->request();
$reslut = model('UserRecharge')->ali_pay_notify($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function three_pay_notify()
{
//接收微信返回的数据数据,返回的xml格式
$data = $this->request->request();
$reslut = model('UserRecharge')->three_pay_notify($data);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function ada_ali_pay_notify()
{
// Log::info('汇付回调');
// Log::info($_POST);
// Log::info($_POST['data']);
// Log::info($_POST['sign']);
// //接收微信返回的数据数据,返回的xml格式
$post_data = json_decode($_POST['data'],true);
$post_sign_str = isset($_POST['sign']) ? $_POST['sign']: '';
// $post_data = [];
// $post_sign_str = '';
$reslut = model('api/UserRecharge')->ada_ali_pay_notify($post_data, $post_sign_str);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//云账号回调
public function yun_notify()
{
// echo 333;die;
Callback::order();
}
//汇付支付
public function hui_fu_pay_notify()
{
$data = $_POST;
$result = model('UserRecharge')->hui_fu_pay_notify($data);
}
}

View File

@@ -0,0 +1,302 @@
<?php
namespace app\api\controller;
use think\Db;
use think\Controller;
use app\api\wxapi\AppPayWx;
use app\api\wxapi\pay\WxPayApi;
use app\api\wxapi\pay\JsApiPay;
use app\api\wxapi\pay\WxPayUnifiedOrder;
use app\api\wxapi\pay\WxPayConfig;
use app\api\wxapi\pay\WxPayNotify;
class Payapp extends Controller
{
public function checkuser(){
// $this->AssignJson(3001,'系统维护!');
$user_id = request()->get('user_id');
$userInfo=DB::name('user')->where('uid|user_name', $user_id)->field('uid,nick_name')->order('uid desc')->find();
if(!isset($userInfo['uid'])){
$this->AssignJson(3001,'充值对象不存在,请确认!');
}
$userInfo['nickname']=urldecode($userInfo['nick_name']);
$this->AssignJson(200, '请求成功', $userInfo);
}
public function wxjsapi() {
$user_id = request()->post('user_id', 0);
if($user_id<>6012){
//exit('升级中');
}
$map[] = ['is_delete', '=', 1];
$item = Db::name('can_recharge')->field('crid,money,integral')->where($map)->select();
// $_item=DB::name('goods')->where('id', ">", 0)->order("price asc")->select();
// $item=[];
// foreach($_item as $val){
// $item[$val['price']]=$val['mizuan'];
// }
if(request()->isPost()){
// $this->AssignJson(3001,'系统维护!');
$pay_type = request()->post('pay_type', 10); //10微信公众号-11支付宝H5
$user_id = request()->post('user_id');
$user_id_has = request()->post('user_id_has');
if($user_id_has>0){
$user_id=$user_id_has;
}
if(empty($user_id)){
exit('充值对象不存在,请确认!');
$this->AssignJson(3001,'充值对象不存在,请确认!');
}
$userInfo=DB::name('user')->where('uid|user_name', $user_id)->field('uid,nick_name,is_real,card_id')->order('uid desc')->find();
if(!isset($userInfo['uid'])){
exit('充值对象不存在,请确认!');
$this->AssignJson(3001,'充值对象不存在,请确认!');
}
if($userInfo['is_real'] != 1){
exit('请先实名认证!');
$this->AssignJson(3001,'请先实名认证!');
}
$age = getAgeId($userInfo['card_id']);
if(!$age){
exit('该身份证号未满18岁');
$this->AssignJson(3001,'该身份证号未满18岁');
}
$money = request()->post('money');
if($money < 1){
exit('充值金额必须大于1');
$this->AssignJson(3001,'充值金额必须大于1');
}
if($money != ceil($money)){
exit('充值金额必须为整数!');
$this->AssignJson(3001,'充值金额必须为整数!');
}
// $money = (int)$money;
$map = [];
$map[] = ['money','=',$money];
$map[] = ['is_delete', '=', 1];
$money_info = db::name('can_recharge')->where($map)->find();
// dump($money_info);exit;
if(!isset($money_info)){
$money = (int)$money;
$money_info['integral'] = $money * 10;
// exit('充值金额不存在,请确认!');
// $this->AssignJson(3002,'充值金额不存在,请确认!');
}
//
if($pay_type == 10){
// exit('暂未开放!');
// $this->AssignJson(3003, '暂未开放!');
}
$pre='wx';
if($pay_type==11){
$pre='alipay';
}
$data = [];
$data['order_sn'] = $pre.$user_id.date("YmdHis") . rand(1000, 9999);
$data['money'] = $money;
$data['integral'] = $money_info['integral'];
$data['pay_type'] = 6;
$data['uid'] = $user_id;
$data['pay_status'] = 1;
$data['pay_time'] = 0;
$data['remarke'] = '';
$data['add_time'] = time();
$data['update_time'] = time();
$status = Db::name('user_recharge')->insertGetId($data);
// $data = [];
// if ($status) {
// if ($pay_type == 1) {
// $data = $this->alipayHand($order_sn, $pay_money);
// } else {
// $data = $this->wxpayHand($order_sn, $pay_money);
// }
// }
// $mizuan= $money_info['integral'];
// /*$money=0.01;
// $mizuan=1;*/
// $arr['order_no'] =
// $arr['user_id'] = $user_id;
// $arr['price'] = $money;
// $arr['mizuan'] = $mizuan;
// $arr['pay_type'] = $pay_type;
// $arr['remark'] = '';
// $arr['addtime'] = time();
// $res = DB::name('order')->insertGetId($arr);
if ($status) {
if($pay_type==11){
header('location:/api/Payapp/alipayh5?user_id='.$user_id.'&id='.$status);
exit;
}
header('location:/api/Payapp/jsapi?user_id='.$user_id.'&id='.$status);
exit;
}
exit('请求失败!');
$this->AssignJson(3003, '请求失败!');
}
$this -> assign('item', $item);
return $this -> fetch();
}
public function alipayh5(){
$id = request()->get('id');
$user_id = request()->get('user_id');
$order=DB::name('user_recharge')->where("uid", $user_id)->where("rid", $id)->find();
if(!isset($order['rid'])){
exit("传参异常");
}
$order_sn=$order['order_sn'];
$money=$order['money'];
/*$order_sn=time();
$money=0.01;*/
model('UserRecharge')->payh5alipay($order_sn, $money);
}
public function jsapi(){
$id = request()->get('id');
$user_id = request()->get('user_id');
$order=DB::name('user_recharge')->where("uid", $user_id)->where("rid", $id)->find();
if(!isset($order['rid'])){
exit("传参异常");
}
$order_sn=$order['order_sn'];
$money=$order['money'];
$notify_url='http://'.$_SERVER['HTTP_HOST']."/api/Notifyapp/wxnotify";// /api/wxnotify /api/pay_notify/wx_pay_notify
$title='订单支付';
try{
$tools = new JsApiPay();
$openId = $tools->GetOpenid();
/* print_r($openId);
exit;*/
//②、统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody($title);
$input->SetAttach($title);
$input->SetOut_trade_no($order_sn);
$input->SetTotal_fee($money*100);
$input->SetTime_start(date("YmdHis"));
//$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag($title);
$input->SetNotify_url($notify_url);
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$config = new WxPayConfig();
$order = WxPayApi::unifiedOrder($config, $input);
//echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
//$this->printf_info($order);
/*echo '<pre>';
print_r($order);*/
$PayConf['jsApiParameters'] = $tools->GetJsApiParameters($order);
//获取共享收货地址js函数参数
$PayConf['editAddress'] = $tools->GetEditAddressParameters();
$this -> assign('PayConf', $PayConf);
return $this -> fetch();
} catch(Exception $e) {
echo $e->getMessage();
}
}
protected function paywxapp($order_sn, $money, $notify_url='', $title='订单支付'){
//②、统一下单
$input = new WxPayUnifiedOrder();
$input->SetBody($title);
$input->SetOut_trade_no($order_sn);
$input->SetTotal_fee($money*100);
$input->SetNotify_url($notify_url);
$input->SetTrade_type("APP");
$config = new WxPayConfig();
$order = WxPayApi::unifiedOrder($config, $input);
//echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
//echo json_encode($order);
if($order['return_code'] =='SUCCESS'){
$arr =array(
'appid' => $config->GetAppId(),
'partnerid' => $config->GetMerchantId(),
'prepayid' =>$order['prepay_id'],
'package' => 'Sign=WXPay',
'noncestr' => $order['nonce_str'],//WxPayApi::getNonceStr(),
'timestamp' =>time(),
);
//第二次生成签名
$sign = $this->getSign($arr, $config);
$arr['sign'] = $sign;
return json_encode($arr);
}
return false;
}
private function getSign($params, $config) {
ksort($params); //将参数数组按照参数名ASCII码从小到大排序
foreach ($params as $key => $item) {
if (!empty($item)) { //剔除参数值为空的参数
$newArr[] = $key.'='.$item; // 整合新的参数数组
}
}
$stringA = implode("&", $newArr); //使用 & 符号连接参数
$stringSignTemp = $stringA."&key=".$config->GetKey(); //拼接key
if($config->GetSignType() == "MD5"){
$stringSignTemp = md5($stringSignTemp);
} else if($config->GetSignType() == "HMAC-SHA256") {
$stringSignTemp = hash_hmac("sha256",$stringSignTemp ,$config->GetKey());
} else {
throw new WxPayException("签名类型不支持!");
}
$sign = strtoupper($stringSignTemp); //将所有字符转换为大写
return $sign;
}
public function AssignJson($code='',$value='成功!',$result=[]) {
$reqs['code']=$code;
if(is_string($value)){
$reqs['message']=$value;
}else if(is_array($value)){
if(isset($value['message'])){
$reqs['message']=$value['message'];
unset($value['message']);
}else{
$reqs['message']='请求成功!';
}
$reqs=array_merge($reqs,$value);
}
if(!isset($value['result'])){
$reqs['result']=$result;
}
echo json_encode($reqs);
exit;
}
}

View File

@@ -0,0 +1,255 @@
<?php
namespace app\api\controller;
use think\Controller;
class Player extends Common
{
//陪玩首页
public function player_index()
{
$data = [];
//游戏列表
$reslut = model('game')->get_game_list($this->uid);
$data['game_category_list'] = $reslut['data'];
//轮播图列表
$reslut = model('banner')->get_banner_list();
$data['banner_list'] = $reslut['data'];
//置顶的陪玩主播
$reslut = model('player')->get_player_list(0, 0, 0, 2, 0, 0, 0, 3, 1, 1, 3);
$data['top_player_list'] = $reslut['data'];
return ajaxReturn(200, '获取成功', $data);
}
//获取陪玩列表
public function get_player_list()
{
$keywords = input('keywords', '');
$uid = input('uid', ''); //获取指定用户陪玩列表
$gid = input('gid', ''); //获取指定游戏类型
$is_top = input('is_top', 0); //1非置顶2置顶
$sex = input('sex', 0); //1男2女
$lid = input('lid', 0); //1男2女
$is_recommend = input('is_recommend', 0); //1非推荐2推荐
$sort = input('sort', 0); //排序字段
$sort_type = input('sort_type', 0); //排序规则
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('player')->get_player_list($uid, $gid, $keywords, $is_top, $is_recommend, $sex, $lid, $sort, $sort_type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_player_user_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('player')->get_player_user_list($page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取陪玩详情
public function get_player_info()
{
$pid = input('pid');
$reslut = model('player')->get_player_info($pid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//陪玩个人主页
public function player_home_page()
{
$from_id = input('from_id');
$reslut = model('player')->player_home_page($this->uid, $from_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//实名认证
public function real_name_authentication()
{
$real_name = input('real_name');
$card_id = input('card_id');
$identity1 = input('identity1');
$identity2 = input('identity2');
$reslut = model('player')->real_name_authentication($this->uid, $real_name, $card_id, $identity1, $identity2);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取游戏列表及审核状态
public function get_player_game_list()
{
$reslut = model('player')->get_player_game_list($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//申请陪玩
public function apply_play_game()
{
$gid = input('gid');
$skill_level = input('skill_level', '');
$price = input('price');
$skill_image = input('skill_image');
$cover_image = input('cover_image');
$sound = input('sound');
$sound_duration = input('sound_duration');
$introduction = input('introduction', '');
$key_name = "api:player:apply_play_game:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('player')->apply_play_game($this->uid, $gid, $skill_level, $price, $skill_image, $cover_image, $sound, $sound_duration, $introduction);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改 陪玩 信息
public function edit_play_game()
{
$gid = input('gid');
$skill_level = input('skill_level', '');
$price = input('price');
$skill_image = input('skill_image');
$cover_image = input('cover_image');
$sound = input('sound');
$sound_duration = input('sound_duration');
$introduction = input('introduction', '');
$key_name = "api:player:apply_play_game:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('player')->edit_play_game($this->uid, $gid, $skill_level, $price, $skill_image, $cover_image, $sound, $sound_duration, $introduction);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取审核状态
public function get_apply_status()
{
$gid = input('gid');
$reslut = model('player')->get_apply_status($this->uid, $gid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取申请详情
public function get_apply_info()
{
$gid = input('gid');
$reslut = model('player')->get_apply_info($this->uid, $gid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//陪玩下单
public function create_player_order()
{
$key_name = "api:player:create_player_order:" . $this->uid;
redis_lock_exit($key_name);
$pid = input('pid');
$buy_num = input('buy_num');
$trade_password = input('trade_password');
$reslut = model('UserPlayerOrder')->create_player_order($this->uid, $pid, $buy_num, $trade_password);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取我的陪玩下单订单
public function get_user_order()
{
$status = input('status', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('UserPlayerOrder')->get_user_order($this->uid, $status, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取我的陪玩接单订单
public function get_player_order()
{
$time = input('time', 0);
$status = input('status', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('UserPlayerOrder')->get_player_order($this->uid, $time, $status, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的陪玩订单详情
public function get_user_order_info()
{
$oid = input('oid', 0);
$reslut = model('UserPlayerOrder')->get_user_order_info($this->uid, $oid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的陪玩接单详情
public function get_player_order_info()
{
$oid = input('oid', 0);
$reslut = model('UserPlayerOrder')->get_player_order_info($this->uid, $oid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的钱包 订单收入明细
public function get_wallet_order()
{
$time = input('time', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('UserPlayerOrder')->get_wallet_order($this->uid, $time, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//陪玩接单
public function take_player_order()
{
$key_name = "api:player:take_player_order:" . $this->uid;
redis_lock_exit($key_name);
$oid = input('oid', 0);
$reslut = model('UserPlayerOrder')->take_player_order($this->uid, $oid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//下单人确认陪玩订单
public function confirm_palyer_order()
{
$key_name = "api:player:confirm_palyer_order:" . $this->uid;
redis_lock_exit($key_name);
$oid = input('oid', 0);
$reslut = model('UserPlayerOrder')->confirm_palyer_order($this->uid, $oid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//下单人取消陪玩订单
public function cancel_order()
{
$key_name = "api:player:cancel_order:" . $this->uid;
redis_lock_exit($key_name);
$oid = input('oid', 0);
$reslut = model('UserPlayerOrder')->cancel_order($this->uid, $oid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取陪玩游戏 信息 及列表
public function get_player_game_lists()
{
$pid = input('pid', 0);
$reslut = model('Player')->get_player_game_lists($pid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取首页搜索
public function search()
{
$keywords = input('keywords', 0);
$reslut = model('Player')->search($this->uid, $keywords);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//申请陪玩可选金额
public function get_player_price_list()
{
$reslut = model('Player')->get_player_price_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,82 @@
<?php
namespace app\api\controller;
use app\common\controller\Api;
class PubRoom extends Common
{
//心愿礼物
public function get_wish_gift_list(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('PubRoom')->get_wish_gift_list($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//麦上用户配置心愿礼物
public function oprate_user_wish_gift(){
$uid = $this->uid;
$rid = input('rid', 0);
$micro_id = input('micro_id', 0);
$gid = input('gid', 0);
$key_name = "api:PubRoom:oprate_user_wish_gift:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('PubRoom')->oprate_user_wish_gift($uid, $rid, $micro_id, $gid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//撩Ta
public function tease_user_send_gift(){
$uid = $this->uid;
$rid = input('rid', 0);
$receive_uid = input('receive_uid', 0);
$key_name = "api:PubRoom:tease_user_send_gift:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('PubRoom')->tease_user_send_gift($uid, $rid, $receive_uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//一键全撩
public function tease_all_send_gift(){
$uid = $this->uid;
$rid = input('rid', 0);
$to_uid_list = input('to_uid_list', '');
$key_name = "api:PubRoom:tease_all_send_gift:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('PubRoom')->tease_all_send_gift($uid, $rid, $to_uid_list);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//心愿礼物详情
public function wish_gift_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$receive_uid = input('receive_uid', 0);
$reslut = model('PubRoom')->wish_gift_info($uid, $rid, $receive_uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//约Ta
public function date_user_send_gift(){
$uid = $this->uid;
$rid = input('rid', 0);
$receive_uid = input('receive_uid', 0);
$key_name = "api:PubRoom:date_user_send_gift:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('PubRoom')->date_user_send_gift($uid, $rid, $receive_uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,816 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
class Room extends Common
{
//获取房间列表
public function get_room_list()
{
$room_number = input('room_number', '');
$tid = input('tid', 0);
$cate_id = input('cate_id', '');
$is_top = input('is_top', 0); //1非置顶2置顶
$is_hot = input('is_hot', 0); //1非热门2热门
$sort = input('sort', 2); //排序字段
$sort_type = input('sort_type', 1); //排序规则
$page = input('page', 1);
// $page_limit = input('page_limit', 21);
$page_limit = 100;
$reslut = model('room')->get_room_list($room_number, $tid, $cate_id, $is_top, $is_hot, $sort, $sort_type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//创建房间
public function user_create_room()
{
$room_name = input('room_name', '');
$cate_id = input('cate_id', 0);
$room_cover = input('room_cover', '');
$room_password = input('room_password', '');
$room_intro = input('room_intro', '');
$room_background_id = input('room_background_id', 0);
$key_name = "api:room:user_create_room:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('room')->user_create_room($this->uid, $room_name, $cate_id, $room_cover, $room_password, $room_intro, $room_background_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间是否有收益
public function get_room_is_earnings_info(){
$rid = input('rid', 0);
$reslut = model('RoomSubsidy')->get_room_is_earnings_info($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间详情
public function user_get_room_info()
{
$reslut = model('room')->user_get_room_info($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间详情
public function enter_room_info()
{
$rid = input('rid', 0);
$password = input('password', '');
$reslut = model('room')->enter_room_info($this->uid, $rid, $password);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户进入房间特权信息
public function get_room_user_vip()
{
$rid = input('rid', 0);
$reslut = model('room')->get_room_user_vip($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间基本信息
public function get_room_info()
{
$rid = input('rid', 0);
$reslut = model('room')->get_room_info($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改房间信息
public function modify_room_info()
{
$rid = input('rid', 0);
$room_name = input('room_name', '');
$tid = input('tid', 0);
$cate_id = input('cate_id', 0);
$game_list = input('game_list', '');
$room_cover = input('room_cover', '');
$room_password = input('room_password', '');
$room_intro = input('room_intro', '');
$is_auto_accumulate = input('is_auto_accumulate',2);
$room_background_id = input('room_background_id', 0);
$reslut = model('room')->modify_room_info($this->uid, $rid, $room_name, $tid, $cate_id, $game_list, $room_cover, $room_password, $room_intro, $room_background_id, $is_auto_accumulate);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间类型
public function get_power_room_cate(){
$rid = input('rid', 0);
$reslut = model('room')->get_power_room_cate($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function room_cate_applys(){
$rid = input('rid', 0);
$reslut = model('room')->room_cate_applys($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间申请
public function user_apply_room(){
$rid = input('rid', 0);
$cate_id = input('cate_id', 0);
$reslut = model('room')->user_apply_room($this->uid, $rid, $cate_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取指定房间分类
public function get_category_list()
{
$tid = input('tid', 0);
$reslut = model('room')->get_category_list($tid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取背景图列表
public function get_room_background_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 100);
$reslut = model('room')->get_room_background_list($page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取音乐列表
public function get_room_music_list()
{
$music_type = input('music_type', 0); //1音乐2音效
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('room')->get_room_music_list($music_type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间麦位 详情
public function get_room_micro_info()
{
$rid = input('rid', 0); //
$reslut = model('room')->get_room_micro_info($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户上麦
public function user_up_micro()
{
$rid = input('rid', 0);
$micro_id = input('micro_id', '');
$type = input('type', 1);
$key_name = "api:room:user_up_micro:" . $rid . ":" . $micro_id;
redis_lock_exit($key_name);
$reslut = model('room')->user_up_micro($this->uid, $rid, $micro_id, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户下麦
public function user_down_micro()
{
$rid = input('rid', 0);
$key_name = "api:room:user_down_micro:" . $this->uid;
redis_lock_exit($key_name);
$uid = $this->uid ?: input('uid');
$type = input('type', 1);
$micro_id = input('micro_id', -1);
$reslut = model('room')->user_down_micro($uid, $rid, $type, $micro_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//主持上麦
public function host_up_micro()
{
$rid = input('rid', 0);
$key_name = "api:room:host_up_micro:" . $rid;
redis_lock_exit($key_name);
$reslut = model('room')->host_up_micro($this->uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//主持下麦
public function host_down_micro()
{
$rid = input('rid', 0);
$key_name = "api:room:host_down_micro:" . $rid;
redis_lock_exit($key_name);
$reslut = model('room')->host_down_micro($this->uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//管理 抱人 上麦
public function room_owner_up_micro()
{
$uid = input('uid', 0); //上麦用户uid
$rid = input('rid', 0); //房间id
$micro_id = input('micro_id', 0); //麦位
$time = input('time', 0);
$key_name = "api:room:room_owner_up_micro:" . $rid;
redis_lock_exit($key_name);
$reslut = model('room')->room_owner_up_micro($this->uid, $uid, $rid, $micro_id, $time);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//同意被抱上麦
public function user_agree_up_micro(){
$uid = $this->uid;
$rid = input('rid', 0);
$micro_id = input('micro_id', 0);
$type = input('type', 1);
$key_name = "api:room:user_agree_up_micro:" . $rid;
redis_lock_exit($key_name);
$reslut = model('room')->user_agree_up_micro($uid, $rid, $micro_id, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//同意、拒绝被抱上麦
public function operate_room_owner_up_micro(){
$uid = $this->uid;
$id = input('id', 0);
$rid = input('rid', 0);
$micro_id = input('micro_id', 0);
$type = input('type', 1);
$key_name = "api:room:operate_room_owner_up_micro:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('room')->operate_room_owner_up_micro($uid, $id, $rid, $micro_id, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//管理强制下麦
public function room_owner_down_micro()
{
$uid = input('uid', 0); //上麦用户uid
$rid = input('rid', 0); //房间id
$micro_id = input('micro_id', -1);
$key_name = "api:room:room_owner_down_micro:" . $this->uid . ":" . $rid;
redis_lock_exit($key_name);
$reslut = model('room')->room_owner_down_micro($this->uid, $uid, $rid, $micro_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置管理员
public function set_room_admin()
{
$rid = input('rid', 0); //房间id
$uid = input('uid', 0); //管理员id
$key_name = "api:room:set_room_admin:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('room')->set_room_admin($this->uid, $rid, $uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消管理员
public function unset_room_admin()
{
$rid = input('rid', 0); //房间id
$uid = input('uid', 0); //管理员id
$key_name = "api:room:unset_room_admin:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('room')->unset_room_admin($this->uid, $rid, $uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//进入排麦队列
public function enter_room_mc_queue()
{
$rid = input('rid', 0);
$guard_type = input('guard_type', 0);
$key_name = "api:room:set_room_mc_wait:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomMcQueue')->enter_room_mc_queue($this->uid, $rid, $guard_type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消排麦队列
public function quit_room_mc_queue()
{
$key_name = "api:room:quit_room_mc_queue:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomMcQueue')->quit_room_mc_queue($this->uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户排麦状态
public function get_user_mc_queue_status()
{
$reslut = model('RoomMcQueue')->get_user_mc_queue_status($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间排麦列表
public function get_room_mc_queue_list()
{
$rid = input('rid', 0);
$guard_type = input('guard_type', 0);
$reslut = model('RoomMcQueue')->get_room_mc_queue_list($this->uid, $rid, $guard_type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间游客列表
public function get_room_visitor_list()
{
$rid = input('rid', 0); //房间号
$visitor_uid = input('visitor_uid', 0); //游客uid
$reslut = model('RoomMcQueue')->get_room_mc_queue_list($this->uid, $rid, $visitor_uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取 收藏的房间列表
public function get_user_collect_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('Room')->get_user_collect_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加房间收藏
public function collect_room()
{
$rid = input('rid', 0); //房间号
$reslut = model('Room')->collect_room($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消房间收藏
public function un_collect_room()
{
$rid = input('rid', 0); //房间号
$reslut = model('Room')->un_collect_room($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间魅力排行榜
public function get_room_rank()
{
$rid = input('rid', 0); //房间号。
$time = input('time', 0); //统计周期 1日2周3总
$type = input('type', 0); //1 贡献2魅力
$reslut = model('Room')->get_room_rank($rid, $time, $type, $this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取所有魅力排行榜
public function get_user_rank()
{
$time = input('time', 0); //统计周期 1日2周3总
$type = input('type', 0); //1 贡献2魅力
$page_limit = input('page_limit', 10); //1 贡献2魅力
$reslut = model('Room')->get_user_rank($time, $type, $page_limit, $this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取前三名数据
public function get_user_rank_top()
{
$reslut = model('Room')->get_user_rank_top();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间魅力榜24小时前三名
public function get_room_charm_top()
{
$reslut = model('Room')->get_room_charm_top();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间类型
public function get_room_type()
{
$reslut = model('Room')->get_room_type();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取表情列表
public function get_room_emoji_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 999);
$reslut = model('room')->get_room_emoji_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取 表情
public function get_room_emoji_info()
{
$eid = input('eid', 0);
$reslut = model('room')->get_room_emoji_info($eid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取礼物- 背包礼物列表
public function get_gift_list()
{
$reslut = model('room')->get_gift_list($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//锁麦
public function lock_room_micro()
{
$rid = input('rid');
$micro_id = input('micro_id');
$reslut = model('room')->lock_room_micro($this->uid, $rid, $micro_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//开放麦位
public function unlock_room_micro()
{
$rid = input('rid');
$micro_id = input('micro_id');
$reslut = model('room')->unlock_room_micro($this->uid, $rid, $micro_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//关闭用户麦克风
public function lock_user_micro()
{
$rid = input('rid');
$uid = input('uid');
$reslut = model('room')->lock_user_micro($this->uid, $rid, $uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//开启用户麦克风
public function unlock_user_micro()
{
$rid = input('rid');
$uid = input('uid');
$reslut = model('room')->unlock_user_micro($this->uid, $rid, $uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户禁言
public function lock_user_world()
{
$rid = input('rid');
$uid = input('uid');
$reslut = model('room')->lock_user_world($this->uid, $rid, $uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//解除禁言
public function unlock_user_world()
{
$rid = input('rid');
$uid = input('uid');
$reslut = model('room')->unlock_user_world($this->uid, $rid, $uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//查看用户是否被禁言
public function get_user_world_status()
{
$rid = input('rid');
$reslut = model('room')->get_user_world_status($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取其他人的信息
public function get_room_user_info()
{
$rid = input('rid');
$uid = input('uid');
$reslut = model('room')->get_room_user_info($this->uid, $rid, $uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间所有麦位用户及游客
public function get_room_user_list()
{
$rid = input('rid', 0);
$uid = input('uid', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 999);
$reslut = model('room')->get_room_user_list($rid, $uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间所有管理员及游客
public function get_room_admin_list()
{
$rid = input('rid', 0);
$uid = input('uid', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 999);
$reslut = model('room')->get_room_admin_list($rid, $uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//退出房间
public function quit_room()
{
$rid = input('rid', 0);
$reslut = model('room')->quit_room($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//踢出房间
public function out_room()
{
$rid = input('rid');
$uid = input('uid');
$reslut = model('room')->out_room($this->uid, $rid, $uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清空魅力值
public function clear_user_charm()
{
$rid = input('rid');
$uid = input('uid');
$reslut = model('room')->clear_user_charm($this->uid, $rid, $uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清空房间里所有人魅力值
public function clear_user_charm_all(){
$rid = input('rid');
$reslut = model('room')->clear_user_charm_all($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//发起PK
public function launch_room_pk()
{
$rid = input('rid', 0);
$group_a = input('group_a', 0);
$group_b = input('group_b', 0);
$pk_type = input('pk_type', 0);
$pk_time = input('pk_time', 0);
$reslut = model('room')->launch_room_pk($this->uid, $rid, $group_a, $group_b, $pk_type, $pk_time);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间历史PK记录
public function get_room_pk_list()
{
$rid = input('rid', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('room')->get_room_pk_list($rid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间PK信息
public function get_room_pk_info()
{
$rid = input('rid', 0);
$reslut = model('room')->get_room_pk_info($rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//根据厅主id获取麦上用户列表
public function get_uid_room_micro_list(){
$uid = input('uid', 0);
$reslut = model('room')->get_uid_room_micro_list($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间榜
public function get_rooms_rank(){
$uid = $this->uid;
$time = input('time', 1);
$reslut = model('room')->get_rooms_rank($uid, $time);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置主持
public function set_room_host()
{
$rid = input('rid', 0); //房间id
$uid = input('uid', 0); //主持id
$key_name = "api:room:set_room_host:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomHost')->set_room_host($this->uid, $rid, $uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消主持
public function unset_room_host()
{
$rid = input('rid', 0); //房间id
$uid = input('uid', 0); //主持id
$key_name = "api:room:unset_room_host:uid:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomHost')->unset_room_host($this->uid, $rid, $uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间主持列表
public function get_room_host_list(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('RoomHost')->get_room_host_list($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取房间主持信息
public function get_room_host_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('RoomHost')->get_room_host_info($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置主持比例
public function update_room_host_ratio(){
$rid = input('rid', 0); //房间id
$uid = input('uid', 0); //主持id
$ratio = input('ratio', 0);
$key_name = "api:room:update_room_host_ratio:uid:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomHost')->update_room_host_ratio($this->uid, $rid, $uid, $ratio);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间补贴信息
public function room_subsidy_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('RoomSubsidy')->room_subsidy_info($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//幸运房间补贴信息
public function room_lucky_subsidy_info(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('RoomSubsidy')->room_lucky_subsidy_info($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户搜索
public function user_search(){
$uid = $this->uid;
$rid = input('rid', 0);
$keywords = input('keywords', '');
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('RoomSubsidy')->user_search($uid, $rid, $keywords, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//房间补贴用户列表
public function get_room_user_subsidy_list(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('RoomSubsidy')->get_room_user_subsidy_list($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加房间补贴用户
public function add_room_user_subsidy(){
$rid = input('rid', 0); //房间id
$uid = input('uid', 0); //主持id
$ratio = input('ratio', 0);
$key_name = "api:room:add_room_user_subsidy:uid:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomSubsidy')->add_room_user_subsidy($this->uid, $rid, $uid, $ratio);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置当前房间补贴用户
public function update_room_user_subsidy(){
$rid = input('rid', 0); //房间id
$uid = input('uid', 0); //主持id
$ratio = input('ratio', 0);
$key_name = "api:room:update_room_user_subsidy:uid:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomSubsidy')->update_room_user_subsidy($this->uid, $rid, $uid, $ratio);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除当前房间补贴用户
public function del_room_user_subsidy(){
$rid = input('rid', 0);
$id = input('id', 0);
$key_name = "api:room:del_room_user_subsidy:uid:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomSubsidy')->del_room_user_subsidy($this->uid, $id, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取当前类型的随机房间ID
public function now_room_category(){
$cate_id = input('cate_id', 0);
$reslut = model('RoomSubsidy')->now_room_category($this->uid, $cate_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户所在房间权限列表
public function get_user_room_power_list(){
$uid = $this->uid;
$reslut = model('RoomHost')->get_user_room_power_list($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//辞退房间职位
public function user_retire_room_power(){
$uid = $this->uid;
$rid = input('rid', 0);
$user_type = input('user_type', 0);
$key_name = "api:room:user_retire_room_power:uid:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('RoomHost')->user_retire_room_power($uid, $rid, $user_type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**
* 房间游戏开始
*/
public function room_game_start(){
$uid = $this->uid;
$rid = input('rid', 0);
$game_id = input('game_id', 0);
$key_name = "api:room:room_game_start:".$uid;
redis_lock_exit($key_name);
$reslut = model('AgoraGame')->room_game_start($uid, $rid, $game_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
/**
* 房间游戏结束
**/
public function room_game_end(){
$uid = $this->uid;
$rid = input('rid', 0);
$game_id = input('game_id', 0);
$key_name = "api:room:room_game_end:".$uid;
redis_lock_exit($key_name);
$reslut = model('AgoraGame')->room_game_end($uid, $rid, $game_id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_room_user_black_list(){
$rid = input('rid', 1);
$page = input('page', 1);
$page_limit = input('page_limit',30);
$reslut = model('room')->get_room_user_black_list($this->uid,$rid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function exec_room_user_black(){
$rid = input('rid', 0);
$black_id = input('black_id', 1);
$status = input('status', 1);
$reslut = model('room')->exec_room_user_black($this->uid, $rid, $black_id,$status);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,116 @@
<?php
namespace app\api\controller;
use think\Controller;
class RoomMicro extends Common
{
//申请上台
public function apply_room_micro(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:RoomMicro:apply_room_micro:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('RoomApplyMicro')->apply_room_micro($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消申请
public function unapply_room_micro(){
$uid = $this->uid;
$rid = input('rid', 0);
$id = input('id', 0);
$key_name = "api:RoomMicro:unapply_room_micro:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('RoomApplyMicro')->unapply_room_micro($uid, $rid, $id);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//等待上台列表
public function get_room_micro_list(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('RoomApplyMicro')->get_room_micro_list($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//清空上台列表
public function clears_room_micro_list(){
$uid = $this->uid;
$rid = input('rid', 0);
$key_name = "api:RoomMicro:clears_room_micro_list:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('RoomApplyMicro')->clears_room_micro_list($uid, $rid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//同意、拒绝上台
public function operate_user_micro(){
$uid = $this->uid;
$rid = input('rid', 0);
$id = input('id', 0);
$type = input('type', 1);
$seat = input('seat', 0);
$time = input('time', 0);
$key_name = "api:RoomMicro:operate_user_micro:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('RoomApplyMicro')->operate_user_micro($uid, $rid, $id, $type, $seat, $time);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//助力礼物列表
public function get_help_gift_list(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('RoomApplyMicro')->get_help_gift_list($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置房间助力礼物
public function operate_room_help_gift(){
$uid = $this->uid;
$rid = input('rid', 0);
$gid = input('gid', 0);
$key_name = "api:RoomMicro:operate_room_help_gift:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('RoomApplyMicro')->operate_room_help_gift($uid, $rid, $gid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//助力送礼
public function send_gift_user_micro_help(){
$uid = $this->uid;
$rid = input('rid', 0);
$help_uid = input('help_uid', 0);
$gid = input('gid', 0);
$num = input('num', 0);
$key_name = "api:RoomMicro:send_gift_user_micro_help:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('RoomApplyMicro')->send_gift_user_micro_help($uid, $rid, $help_uid, $gid, $num);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//麦位魅力值明细
public function get_room_micro_charm_list(){
$uid = $this->uid;
$rid = input('rid', 0);
$user_id = input('user_id', 0);
$reslut = model('RoomMicro')->get_room_micro_charm_list($uid, $rid, $user_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,154 @@
<?php
namespace app\api\controller;
use think\Controller;
class Sprite extends Common
{
//选择兑换数量列表
public function choice_amount_list(){
$reslut = model('Sprite')->choice_amount_list($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//兑换门票
public function exchange_airship(){
$uid = $this->uid;
$rid = input('rid', 0);
$num = input('num', 0);
$key_name = "api:Sprite:exchange_airship:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('Sprite')->exchange_airship($uid, $rid, $num);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//当前玩法详情
public function get_monster_info(){
$uid = $this->uid;
$reslut = model('Sprite')->get_monster_info($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//生成/结算玩法
public function create_monster_log(){
$uid = $this->uid;
$key_name = "api:Sprite:create_monster_log";
redis_lock_exit($key_name);
$reslut = model('Sprite')->create_sprite_log(2);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//玩法投入【单个】
public function open_beat_monster(){
$uid = $this->uid;
$rid = input('rid', 0);
$type = input('type', 0);
$money = input('money', 0);
$num = input('num', 0);
$key_name = "api:Sprite:open_beat_monster:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('Sprite')->open_beat_monster($uid, $rid, $type, $money, $num);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//玩法投入【多个】
public function open_explore_star(){
$uid = $this->uid;
$rid = input('rid', 0);
$open_data = input('open_data','');
$key_name = "api:Sprite:open_explore_star:uid:".$uid;
redis_lock_exit($key_name);
$reslut = model('Sprite')->open_explore_star($uid, $rid, $open_data);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//规则
public function get_monster_note(){
$reslut = model('Sprite')->get_monster_note();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//奖池
public function get_monster_box_list(){
$reslut = model('Sprite')->get_monster_box_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//开奖记录
public function get_monster_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Sprite')->get_monster_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的记录
public function get_user_monster_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Sprite')->get_user_monster_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//本期记录
public function get_now_user_monster_feed_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Sprite')->get_now_user_monster_feed_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//消费记录
public function get_user_monster_feed_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Sprite')->get_user_monster_feed_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户榜
public function get_user_monster_rank(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Sprite')->get_user_monster_rank($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//当前中奖记录信息
public function get_user_win_monster_list(){
$uid = $this->uid;
$rid = input('rid', 0);
$reslut = model('Sprite')->get_user_win_monster_list($uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_monsters_log(){
$uid = $this->uid;
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$reslut = model('Sprite')->get_monsters_log($uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace app\api\controller;
use think\Controller;
class Suggest extends Common
{
//用户反馈
public function create_suggest()
{
$key_name = "api:suggest:create_suggest:" . $this->uid;
redis_lock_exit($key_name);
$image = input('image', 0);
$content = input('content', 0);
$reslut = model('Suggest')->create_suggest($this->uid, $image, $content);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,27 @@
<?php
namespace app\api\controller;
use think\Controller;
class Tencent extends Controller
{
//腾讯IM回调
public function call_back(){
$data = input('post.');
$sign_data = input('get.');
$reslut = model('UserTencent')->tencent_call_back($data,$sign_data);
return json($reslut);
}
// public function test(){
// $reslut = model('UserTencent')->tencent_group_quit_call_back(1,200067);
// halt($reslut);
// return json($reslut);
// }
}

View File

@@ -0,0 +1,45 @@
<?php
namespace app\api\controller;
use think\Controller;
class Upload extends Common
{
public function img_upload()
{
if (request()->isPost()) {
$files = request()->file('file');
if (!$files) {
return ajaxReturn(0, '请上传文件');
}
$file_category = input('file_category', 'user_upload');
$image_data = [];
foreach ($files as $file) {
$reslut = model('admin/Upload')->single_file_upload($file, $file_category);
if ($reslut['code'] != 200) {
return ajaxReturn(200, $reslut['msg'], null);
} else {
$extension = $reslut['data']['extension'];
$image_path = $reslut['data']['http_image_path'];
$result = model('Tencent')->content_moderation('Image', $image_path);
if($result['code'] != 200) {
return ajaxReturn(201, '图片违规', null);
}
$image_data[] = $reslut['data']['image_path'];
}
}
return ajaxReturn(200, '上传成功', $image_data);
}
}
public function file_upload()
{
$file = request()->file('file');
$file_category_name = input('file_category', 'user_upload');
$reslut = model('admin/Upload')->single_file_upload($file, $file_category_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,614 @@
<?php
namespace app\api\controller;
class User extends Common
{
//获取用户详情
public function get_user_info()
{
$reslut = model('user')->get_user_info($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户详情
public function get_base_user_info()
{
$uid = input('uid', 0);
$reslut = model('user')->get_base_user_info($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//欧皇钥匙数
public function europe_key_num(){
$reslut = model('user')->europe_key_num($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户余额
public function get_user_money()
{
$reslut = model('user')->get_user_money($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户邀请二维码
public function get_user_reg_qrcode()
{
$data = [];
$data['invitation_page_url'] = url('index/index/invitation', ['uid' => $this->uid], 'html', true);
return ajaxReturn(200, '获取成功', $data);
$reslut = model('user')->get_user_reg_qrcode($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户黑名单
public function get_blacklist(){
$reslut = model('UserTencent')->get_blacklist($this->uid, 0);
return ajaxReturn($reslut['code'],$reslut['msg'],$reslut['data']);
}
//添加用户黑名单
public function add_blacklist(){
$user_id = input('user_id','');
$reslut = model('UserTencent')->add_blacklist($this->uid, 0, $user_id);
return ajaxReturn($reslut['code'],$reslut['msg'],$reslut['data']);
}
//移除用户黑名单
public function remove_blacklist(){
$user_id = input('user_id','');
$reslut = model('UserTencent')->remove_blacklist($this->uid, 0, $user_id);
return ajaxReturn($reslut['code'],$reslut['msg'],$reslut['data']);
}
//用户签到
public function user_sign()
{
$key_name = "api:user:user_sign:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('user_sign')->user_sign($this->uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户收藏房间
public function get_user_collect_room_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('user')->get_user_collect_room_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的余额记录
public function get_user_money_log_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_user_money_log_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的积分记录
public function get_user_integral_log_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_user_integral_log_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的陪玩接单资金收入
public function get_player_order_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_player_order_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的礼物资金收入记录
public function get_gift_reward_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_user_integral_log_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的礼物打赏用户记录
public function get_send_gift_user_list()
{
$gift_from_type = input('gift_from_type', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_send_gift_user_list($this->uid, $gift_from_type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的礼物打赏记录
public function get_send_gift_list()
{
$gift_from_type = input('gift_from_type', 0);
$uid = input('uid', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_send_gift_list($this->uid, $gift_from_type, $uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的礼物打赏用户记录
public function get_receive_gift_user_list()
{
$gift_from_type = input('gift_from_type', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_receive_gift_user_list($this->uid, $gift_from_type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的礼物接收记录
public function get_receive_gift_list()
{
$gift_from_type = input('gift_from_type', 0);
$uid = input('uid', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_receive_gift_list($this->uid, $gift_from_type, $uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户魅力、财富等级详情
public function get_user_level_info()
{
$reslut = model('user')->get_user_level_info($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户魅力等级详情
public function get_user_charm_level_info()
{
$reslut = model('user')->get_user_charm_level_info($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户贡献值详情
public function get_user_contribution_info()
{
$reslut = model('user')->get_user_contribution_info($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户关注列表
public function get_user_follow_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_user_follow_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户粉丝列表
public function get_user_fans_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_user_fans_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取我的邀请人列表
public function get_user_child_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('user')->get_user_child_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户关注
public function follow_user()
{
$key_name = "api:user:follow_user:" . $this->uid;
redis_lock_exit($key_name);
$follow_uid = input('follow_uid', 0);
$reslut = model('user')->follow_user($this->uid, $follow_uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户取消关注
public function unfollow_user()
{
$key_name = "api:user:follow_user:" . $this->uid;
redis_lock_exit($key_name);
$follow_uid = input('follow_uid', 0);
$reslut = model('user')->unfollow_user($this->uid, $follow_uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改用户 信息
public function modify_user_info()
{
$key_name = "api:user:follow_user:" . $this->uid;
redis_lock_exit($key_name);
$nick_name = input('nick_name');
$birthday = input('birthday');
$sex = input('sex', 1);
$head_pic = input('head_pic', '');
$city = input('city', 0);
$autograph = input('autograph', '');
$hobby = input('hobby','');
$reslut = model('user')->modify_user_info($this->uid, $nick_name, $birthday, $sex, $head_pic, $city, $autograph, $hobby);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改交易密码
public function modify_trade_password()
{
$trade_password = input('trade_password');
$sms_code = input('sms_code', ''); //短信验证码
$reslut = model('sms')->verification_code_by_uid($this->uid, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
$reslut = model('user')->modify_trade_password($this->uid, $trade_password);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//兑换查询
public function exchange_check()
{
$money = input('money');
$reslut = model('user')->exchange_check($money);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//兑换
public function exchange()
{
$key_name = "api:user:exchange:" . $this->uid;
redis_lock_exit($key_name);
$money = input('money');
$reslut = model('user')->exchange($this->uid, $money);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function user_give_integral()
{
$reveive_uid = input('reveive_uid', 0);
$integral = input('integral', 0);
$last_login_device = input('last_login_device', '');
$key_name = "api:user:user_give_integral:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('user')->user_give_integral($this->uid, $reveive_uid, $integral, $last_login_device);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_user_give_integral_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('user')->get_user_give_integral_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//提现
public function user_withdrawal()
{
$type = input('type', 1);
$money = input('money', 0);
$code = input('code', 0);
$reslut = model('sms')->verification_code_by_uid($this->uid, $code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
$key_name = "api:user:user_withdrawal:" . $this->uid;
redis_lock_exit($key_name,3);
$reslut = model('user')->user_withdrawal($this->uid, $money, $type);
// if ($reslut['code'] != 200) {
// ajaxReturn($reslut['code'], $reslut['msg']);
// }
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//提现
public function user_withdrawal_bank()
{
$money = input('money', 0);
$code = input('code', 0);
$reslut = model('sms')->verification_code_by_uid($this->uid, $code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
$key_name = "api:user:user_withdrawal_bank:" . $this->uid;
redis_lock_exit($key_name,3);
$reslut = model('user')->user_withdrawal_bank($this->uid, $money);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//绑定支付宝
public function binding_zfb()
{
$alipay_name = input('alipay_name');
$alipay_account = input('alipay_account');
$reslut = model('user')->binding_zfb($this->uid, $alipay_name, $alipay_account);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//绑定银行卡
public function binding_bank_card()
{
$bank_user_name = input('bank_user_name');
$bank_card = input('bank_card');
$open_bank = input('open_bank');
$bank_card_number = input('bank_card_number');
$reslut = model('user')->binding_bank_card($this->uid, $bank_user_name, $bank_card, $open_bank, $bank_card_number);
// $bank_card_number = input('bank_card_number'); //银行卡卡号
// $bank_user_name = input('bank_user_name'); //持卡人真实姓名
// $bank_cert_id = input('bank_cert_id'); //银行卡身份证号
// $bank_tel_no = input('bank_tel_no'); //银行卡手机号
// $bank_card_name = input('bank_card_name'); //银行卡名字
// $reslut = model('user')->binding_bank_card($this->uid, $bank_card_number, $bank_user_name, $bank_cert_id, $bank_tel_no,$bank_card_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//我的钱包
public function get_user_withdrawal_info()
{
$reslut = model('user')->get_user_withdrawal_info($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取兑换记录
public function exchange_log()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('user')->exchange_log($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取提现记录
public function get_user_withdrawal_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('user')->get_user_withdrawal_list($this->uid, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//根据日志获取用户星座
public function get_user_constellation()
{
$birthday = input('birthday');
$reslut = model('user')->get_user_constellation($birthday);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户装扮
public function get_user_decorate_list()
{
return ajaxReturn(201, '该接口已废弃', null);
$type = input('type', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('UserDecorate')->get_user_decorate_list($this->uid, $type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//设置用户装扮
public function set_user_decorate()
{
return ajaxReturn(201, '该接口已废弃', null);
$udid = input('udid');
$reslut = model('UserDecorate')->set_user_decorate($this->uid, $udid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//取消用户装扮
public function cancel_user_decorate()
{
return ajaxReturn(201, '该接口已废弃', null);
$udid = input('udid');
$reslut = model('UserDecorate')->cancel_user_decorate($this->uid, $udid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//添加用户相册照片
public function add_user_albums()
{
$image = input('image', '');
$reslut = model('User')->add_user_albums($this->uid, $image);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除用户相册照片
public function delete_user_albums()
{
$aid = input('aid', 0);
$reslut = model('User')->delete_user_albums($this->uid, $aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//申请用户情缘关系
public function apply_user_relation()
{
$recived_uid = input('recived_uid', 0);
$type = input('type', 0);
$key_name = "api:user:apply_user_relation:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('user_relation')->apply_user_relation($this->uid, $recived_uid, $type);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_apply_user_relation_info()
{
$aid = input('aid', 0);
$reslut = model('user_relation')->get_apply_user_relation_info($this->uid, $aid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//处理用户情缘关系
public function deal_user_relation_apply()
{
$aid = input('aid', 0);
$status = input('status', 0);
$key_name = "api:user:deal_user_relation_apply:" . $this->uid;
redis_lock_exit($key_name);
$reslut = model('user_relation')->deal_user_relation_apply($this->uid, $aid, $status);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除用户情缘关系
public function delete_user_relation()
{
$rid = input('rid', 0);
$reslut = model('user_relation')->delete_user_relation($this->uid, $rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取用户情缘关系
public function get_user_relation_list()
{
$type = input('type', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('user_relation')->get_user_relation_list($this->uid, $type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//退出登录
public function user_log_out(){
$reslut = model('user')->log_out($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_decorate_list()
{
$result = model('UserDecorate')->get_decorate_list();
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//用户点亮礼物墙
public function get_user_illume_gift_wall(){
$uid = $this->uid;
$user_id = input('user_id', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$result = model('GiftWall')->get_user_illume_gift_wall($uid, $user_id, $page, $page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//用户未点亮礼物墙
public function get_user_unillume_gift_wall(){
$uid = $this->uid;
$user_id = input('user_id', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$result = model('GiftWall')->get_user_unillume_gift_wall($uid, $user_id, $page, $page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//注销账号
public function logout_user_name(){
$uid = $this->uid;
$key_name = "api:user:logout_user_name:uid:".$uid;
$sms_code = input('sms_code', ''); //短信验证码
$reslut = model('sms')->verification_code_by_uid($this->uid, $sms_code);
if ($reslut['code'] == 201) {
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
redis_lock_exit($key_name);
$reslut = model('User')->logout_user_name($uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户等级信息
public function get_level_list(){
$uid = $this->uid;
$type = input('type', 1);
$reslut = model('UserLevel')->get_level_list($uid, $type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//进厅隐身
public function user_is_room_hiding(){
$uid = $this->uid;
$is_room_hiding = input('is_room_hiding', 1);
$key_name = "api:user:user_is_room_hiding:".$uid;
redis_lock_exit($key_name);
$reslut = model('User')->user_is_room_hiding($uid, $is_room_hiding);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//位置信息开关
public function options_is_open_address(){
$uid = $this->uid;
$is_open_address = input('is_open_address', 1);
$key_name = "api:user:options_is_open_address:".$uid;
redis_lock_exit($key_name);
$reslut = model('User')->options_is_open_address($uid, $is_open_address);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function check_user_is_real()
{
$reslut = model('User')->check_user_is_real($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function user_day_sign(){
$uid = $this->uid;
$key_name = "api:user:user_day_sign:".$uid;
redis_lock_exit($key_name);
$reslut = model('UserSign')->user_day_sign($this->uid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function user_day_sign_log(){
$reslut = model('UserSign')->user_day_sign_log($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function get_kf_message(){
$result = model('user')->get_kf_message();
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
public function get_one_withdrawal_detail(){
$wid = input('wid', 0);
$result = model('user')->get_one_withdrawal_detail($this->uid,$wid);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
public function get_user_withdrawal_detail(){
$start = input('start', '');
$end = input('end', '');
$page = input('page', 1);
$page_limit = input('page_limit', 50);
$result = model('user')->get_user_withdrawal_detail($this->uid,$start,$end,$page,$page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,35 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\Db;
class UserMessage extends Common
{
//系统封面消息接口
public function get_user_message_cover_info()
{
$reslut = model('UserMessage')->get_user_message_cover_info($this->uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
///消息列表接口
public function get_user_message_list()
{
$type = input('type', 0); //排序规则
$page = input('page', 1);
$page_limit = input('page_limit', 30);
$reslut = model('UserMessage')->get_user_message_list($this->uid, $type, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function is_private_chat()
{
$contribution_level = Db::name('user')->where('uid', $this->uid)->value('contribution_level');
$is_private_chat = 1;
if($contribution_level >=2) {
$is_private_chat = 1;
}
$data = ['is_private_chat' => $is_private_chat];
return ajaxReturn(200, '获取数据成功', $data);
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace app\api\controller;
use think\Controller;
class UserReport extends Common
{
//用户举报
public function user_report()
{
$to_uid = input('to_uid', 0);
$type_id = input('type_id', '');
$image = input('image', '');
$content = input('content', '');
$reslut = model('user_report')->user_report($this->uid, $to_uid, $type_id, $image, $content);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function report_list(){
$reslut = model('user_report')->report_list();
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,35 @@
<?php
namespace app\api\controller;
use think\Controller;
class UserTencent extends Common
{
//获取用户黑名单
public function get_blacklist_list(){
$page = input('page', 1);
$page_limit = input('page_limit', 20);
$rid = input('rid', 0);
$reslut = model('UserTencent')->get_blacklist_list($this->uid, $rid, $page, $page_limit);
return ajaxReturn($reslut['code'],$reslut['msg'],$reslut['data']);
}
//添加用户黑名单
public function add_blacklist(){
$user_id = input('user_id','');
$rid = input('rid', 0);
$reslut = model('UserTencent')->add_blacklist($this->uid, $rid, $user_id);
return ajaxReturn($reslut['code'],$reslut['msg'],$reslut['data']);
}
//移除用户黑名单
public function remove_blacklist(){
$user_id = input('user_id','');
$rid = input('rid', 0);
$reslut = model('UserTencent')->remove_blacklist($this->uid, $rid, $user_id);
return ajaxReturn($reslut['code'],$reslut['msg'],$reslut['data']);
}
}

View File

@@ -0,0 +1,38 @@
<?php
namespace app\api\controller;
use think\Controller;
class UserTopLine extends Common
{
public function get_user_top_line_list()
{
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$result = model('api/UserTopLine')->get_user_top_line_list($page, $page_limit);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//获取抢头条最新金额
public function get_top_line_integral()
{
$result = model('api/UserTopLine')->get_top_line_integral($this->uid);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//发布头条
public function publish_top_line()
{
$pay_integral = input('pay_integral', 0);
$content = input('content', '');
$rid = input('rid', 0);
$key_name = "api:user_top_line:publish_top_line";
redis_lock_exit($key_name);
$result = model('api/UserTopLine')->publish_top_line($this->uid, $pay_integral, $content, $rid);
redis_unlock($key_name);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,117 @@
<?php
namespace app\api\controller;
use think\Controller;
class UserZone extends Common
{
//获取社区列表
public function get_zone_list()
{
$is_recommend = input('is_recommend', 0);
$is_follow = input('is_follow', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('UserZone')->get_zone_list($this->uid, $is_recommend, $is_follow, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取个人社区列表
public function get_user_zone_list()
{
$from_id = input('from_id',0);
$is_recommend = input('is_recommend', 0);
$is_follow = input('is_follow', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('UserZone')->get_user_zone_list($this->uid, $from_id, $is_recommend, $is_follow, $page, $page_limit);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取社区列表
public function get_zone_info()
{
$zid = input('zid', 0);
$reslut = model('UserZone')->get_zone_info($this->uid, $zid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//发布社区信息
public function publish_zone()
{
$images = input('images', ''); //多图上传json 类型
$sound = input('sound', '');
$sound_duration = input('sound_duration', '');
$video = input('video', '');
$content = input('content', '');
$reslut = model('UserZone')->publish_zone($this->uid, $images, $sound, $sound_duration, $video, $content);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//动态点赞
public function praise_zone()
{
$key_name = "api:usezone:praise_zone:" . $this->uid;
redis_lock_exit($key_name);
$zid = input('zid', '');
$reslut = model('UserZone')->praise_zone($this->uid, $zid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//动态收藏
public function praise_collect()
{
$key_name = "api:usezone:collect_zone:" . $this->uid;
redis_lock_exit($key_name);
$cid = input('cid', '');
$reslut = model('UserZone')->praise_collect($this->uid, $cid);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//动态评论
public function comment_zone()
{
$key_name = "api:usezone:comment_zone:" . $this->uid;
redis_lock_exit($key_name);
$zid = input('zid', 0);
$content = input('content', '');
$reslut = model('UserZone')->comment_zone($this->uid, $zid, $content);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//回复 点赞
public function praise_comment()
{
$key_name = "api:usezone:praise_comment:" . $this->uid;
redis_lock_exit($key_name);
$cid = input('cid', 0);
$content = input('content', '');
$reslut = model('UserZone')->praise_comment($this->uid, $cid, $content);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//获取指定动态评论列表
public function get_comment_list()
{
$key_name = "api:usezone:get_comment_list:" . $this->uid;
redis_lock_exit($key_name);
$zid = input('zid', 0);
$page = input('page', 1);
$page_limit = input('page_limit', 10);
$reslut = model('UserZone')->get_comment_list($zid, $page, $page_limit);
redis_unlock($key_name);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//删除社区信息
public function delete_zone()
{
$zid = input('zid', 0);
$reslut = model('UserZone')->delete_zone($this->uid, $zid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace app\api\controller;
use think\Controller;
use think\Request;
class Version extends Controller
{
public function get_app_version()
{
$type = input('type', 0);
$reslut = model('Version')->get_app_version($type);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//IOS 上架审核
public function ios_shenhe()
{
return ajaxReturn(200, "审核状态", ['status' => 1]);
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace app\api\controller;
use think\Controller;
class Vip extends Common
{
//会员类型列表
public function get_vip_list(){
$uid = $this->uid;
$reslut = model('Vip')->get_vip_list($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//换绑信息
public function get_update_invite_info(){
$uid = $this->uid;
$reslut = model('Vip')->get_update_invite_info($uid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace app\api\controller;
use think\Controller;
class Week extends Controller
{
//房间流水
public function index(){
$user_id = input('uid','');
$type = input('type', 1);
$result = model('Week')->serial_index($user_id, $type);
$this->assign('result', $result['data']);
return $this->view->fetch();
}
}

View File

@@ -0,0 +1,142 @@
<?php
namespace app\api\controller;
use app\common\controller\Api;
class XqRoom extends Common
{
//开始阶段
public function prepare_stage(){
$rid = input('rid',0);
$reslut = model('XqRoom')->prepare_stage($this->uid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//心动不选择
public function choose_love_stage(){
$rid = input('rid',0);
$reslut = model('XqRoom')->choose_love_stage($this->uid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function skill_show(){
$rid = input('rid',0);
$reslut = model('XqRoom')->skill_show($this->uid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//关闭活动
public function close_xq_activity(){
$rid = input('rid',0);
$reslut = model('XqRoom')->close_xq_activity($this->uid,$rid);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
public function modify_room_info(){
$rid = input('rid',0);
$cate_id = input('cate_id',0);
$reslut = model('XqRoom')->modify_room_info($this->uid,$rid,$cate_id);
return ajaxReturn($reslut['code'], $reslut['msg'], $reslut['data']);
}
//用户亮灯
public function user_room_light(){
$num = input('num',1);
$rid = input('rid',0);
$light_type = input('light_type',0);
$uid = $this->uid;
$key_name = "api:user:user_room_light:".$uid;
redis_lock_exit($key_name);
$result = model('XqRoom')->user_room_light_send_gift($uid,$rid,$num,$light_type);
redis_unlock($key_name);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//亮灯或爆灯的逐一才艺表演
public function ju_guang_light(){
$rid = input('rid',0);
$micro_id = input('micro_id', '');
$status = input('status', 1);
$result = model('XqRoom')->ju_guang_light($this->uid,$rid,$micro_id,$status);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//关闭相亲灯
public function close_xq_light(){
$rid = input('rid',0);
$result = model('XqRoom')->close_xq_light($this->uid,$rid);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//获取相亲指定礼物
public function xq_appoint_gift(){
$type = input('type',1);
$result = model('XqRoom')->xq_appoint_gift($type);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//相亲位关闭指定灯光
public function xq_reverse_send_gift(){
$uid = input('close_uid',0);
$rid = input('rid',0);
$gid = input('gid',0);
$num = input('num',1);
$type = input('type',1);
$key_name = "api:user:xq_reverse_send_gift:".$this->uid;
redis_lock_exit($key_name);
$result = model('XqRoom')->xq_reverse_send_gift($this->uid,$uid,$rid,$gid,$num,$type);
redis_unlock($key_name);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//主持亮明身份
public function show_xq_sf(){
$rid = input('rid',0);
$result = model('XqRoom')->show_xq_sf($this->uid,$rid);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
//执行派对
public function xq_pd(){
$rid = input('rid',0);
$receive_uid = input('receive_uid',0);
$key_name = "api:user:xq_pd:".$this->uid;
redis_lock_exit($key_name);
$result = model('XqRoom')->xq_pd($this->uid,$receive_uid,$rid);
redis_unlock($key_name);
return ajaxReturn($result['code'], $result['msg'], $result['data']);
}
}

View File

@@ -0,0 +1,78 @@
<?php
namespace app\api\controller;
use app\common\pay\SignContract;
use think\Db;
class Yun extends Common
{
//获取云账户签约状态
public function get_sign_status()
{
$user_info = Db::name('user')->find($this->uid);
if (empty($user_info)) ajaxReturn(201, '用户信息不存在');
// $real_name = $user_info['bank_user_name'];
$real_name = $user_info['real_name'];
$id_card = $user_info['card_id'];
if (empty($real_name) || empty($id_card)) {
ajaxReturn(201, '请先实名认证');
}
$result = SignContract::getSignStatus($real_name, $id_card);
ajaxReturn(...$result);
}
//获取签约url
public function get_sign_contract_url()
{
$result = SignContract::getSignContractUrl();
ajaxReturn(...$result);
}
//签约提交
public function submit_sign()
{
$card_type = 'idcard';
$user_info = Db::name('user')->find($this->uid);
if (empty($user_info)) ajaxReturn(201, '用户信息不存在');
$real_name = $user_info['real_name'];
$id_card = $user_info['card_id'];
$phone = $user_info['user_name'];
if (empty($real_name) || empty($id_card) || empty($card_type)) {
ajaxReturn(201, '请先实名认证!');
}
if (!in_array($card_type, array_column(SignContract::$cart_type, 'id'))) {
ajaxReturn(201, '证件类型错误');
}
// halt([
// $real_name,
// $id_card,
// $phone
// ]);
$result = SignContract::submitSign($real_name, $id_card, $card_type, $phone);
ajaxReturn(...$result);
}
//身份类型
public function get_card_type_yun()
{
ajaxReturn(200, '获取数据成功', SignContract::$cart_type);
}
//解约
public function release()
{
}
}