From a59ec0c8fc78093c041adb2104037c1479d053c8 Mon Sep 17 00:00:00 2001 From: tpingzhang <635929049@qq.com> Date: Tue, 22 Oct 2019 15:24:29 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E6=82=AC=E6=B5=AE=E7=90=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Sdk/Common/function.php | 11 ++-- .../Sdk/Controller/GameController.class.php | 52 +++++++++++++------ 2 files changed, 43 insertions(+), 20 deletions(-) diff --git a/Application/Sdk/Common/function.php b/Application/Sdk/Common/function.php index f04ba640..3ba01943 100644 --- a/Application/Sdk/Common/function.php +++ b/Application/Sdk/Common/function.php @@ -237,13 +237,18 @@ function getChinaChar($num) return $str; } - -function re_msg($code=200,$msg,$data) +/** + * 公共返回方法 + * @param number $code 200成功 非200失败 + * @param string $msg 错误提示 + * @param unknown $data 业务数据 + */ +function re_msg($code=200,$msg='',$data=[]) { $ret['code'] = $code; $ret['msg'] = $msg; $ret['data'] = $data; echo base64_encode(json_encode($ret)); - die(); + exit(); } diff --git a/Application/Sdk/Controller/GameController.class.php b/Application/Sdk/Controller/GameController.class.php index 94fde25a..6b5629ff 100644 --- a/Application/Sdk/Controller/GameController.class.php +++ b/Application/Sdk/Controller/GameController.class.php @@ -40,31 +40,48 @@ class GameController extends BaseController{ * 小纯洁 */ public function get_suspend(){ - $data = json_decode(base64_decode(file_get_contents("php://input"),true)); - - $data['user_id'] = 1; + $data = json_decode(base64_decode(file_get_contents("php://input")), true); + //$data['user_id'] = 1; + //$data['sdk_version'] = 1; // 1android 2 ios + if(empty($data['user_id'])) { re_msg(1004, 'fail', '用户不存在'); } - $user_token = M('user','tab_')->where(['id' => $data['user_id']])->getField('user_token'); + $userToken = M('user','tab_')->where(['id' => $data['user_id']])->getField('user_token'); - if (!$user_token) { + if (!$userToken) { re_msg(1004, 'fail', '数据有误'); } $sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->find(); $menus = json_decode($sdkMenus['config'],true); $menus_item = $menus; - foreach($menus as $k => $v) - { - $menus[$k]['icon'] = is_https()?'https://':'http://' . $_SERVER['SERVER_NAME'] . $v['icon']; - $menus[$k]['url'] = $v['url'] . '/user_token/' . $user_token; - if ($menus[$k]['type'] == 1) + foreach($menus as $k => $v) { + $menus[$k]['icon'] = C('ADMIN_DOMAIN') . $v['icon']; + $menus[$k]['url'] = $v['url'] . '/user_token/' . $userToken; + if ($menus[$k]['type'] == 1) // 原生 $menus[$k]['ios_url'] = "?action=".$menus[$k]['name']; - else - $menus[$k]['ios_url'] = $menus[$k]['url']."?action=push"; + else { // H5 + if ($data['sdk_version'] == 2 && $v['name'] == 'suppersign') + $menus[$k]['ios_url'] = $menus[$k]['url']."?action=push"; + else + unset($menus[$k]); + } + } + $personalMenu = M('tool','tab_')->where(['name' => 'personal_menu'])->getField('config'); + $personalMenu = json_decode($personalMenu, true); + foreach($personalMenu as &$v) { + $v['icon'] = C('ADMIN_DOMAIN') . $v['icon']; + $v['url'] = $v['url'] . '/user_token/' . $userToken; + if ($v['type'] == 1) // 1 H5页面 + $v['ios_url'] = "?action=".$v['name']; + else { + if ($data['sdk_version'] == 2 && $v['name'] == 'suppersign') + $v['ios_url'] = $v['url']."?action=push"; + } } array_multisort(array_column($menus,'sort'),SORT_ASC,$menus); + array_multisort(array_column($personalMenu,'sort'),SORT_ASC,$personalMenu); $ball_status = M('config','sys_')->where(['name' => 'WAP_SUSPEND_SHWO_STATUS'])->getField('value'); $sites_ball_logo = M('config','sys_')->where(['name' => 'WAP_SUSPEND_ICON'])->getField('value'); @@ -72,17 +89,18 @@ class GameController extends BaseController{ if(strpos($sites_ball_logo, 'http')!==false){ $sites_ball_logo = $sites_ball_logo; }else{ - $sites_ball_logo = 'http://'.$_SERVER['HTTP_HOST'].$sites_ball_logo; + $sites_ball_logo = C('ADMIN_DOMAIN').$sites_ball_logo; } - $data = [ + $ret = [ 'sites_ball_logo' => $sites_ball_logo, 'ball_status' => $ball_status, 'menus' => $menus, - 'menus_item' => $menus_item, + 'mine_features' => $personalMenu, ]; -// pp($data); - re_msg(200,'获取成功',$data); + if (I('debug') == 1) + pp(($ret)); + re_msg(200, '获取成功', $ret); } //获取游戏域名 //yyh 2018 10 23 From b3c0bbc7d398b546b9c26b873061e20ff8233066 Mon Sep 17 00:00:00 2001 From: tpingzhang <635929049@qq.com> Date: Tue, 22 Oct 2019 15:25:25 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E6=82=AC=E6=B5=AE=E7=90=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sdk/Controller/BaseController.class.php | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/Application/Sdk/Controller/BaseController.class.php b/Application/Sdk/Controller/BaseController.class.php index dd727342..46b5398f 100644 --- a/Application/Sdk/Controller/BaseController.class.php +++ b/Application/Sdk/Controller/BaseController.class.php @@ -9,7 +9,7 @@ class BaseController extends RestController{ 'Apple.apple_alipay_pay','Apple.apple_weixin_pay','User.get_alipay_zmxy_return', 'Apple.apple_platform_pay','Spend.notice','Apple.apple_union_pay','WapPay.wap_shortcut_pay', 'WapPay.shortcut_pay','WapPay.android_shortcut_pay','WapPay.wap_shortcut_pay','WapPay.wap_shortcut_pay', - 'Apple.apple_weixin_pay','Ipa365','User.user_login','platform_coin_deduction','test', + 'Apple.apple_weixin_pay','Ipa365','User.user_login','platform_coin_deduction','test','get_suspend' ]; // 不需要验证TOKEN的接口 protected $noNeedToken = [ @@ -17,18 +17,20 @@ class BaseController extends RestController{ 'Jpush', 'LoginNotify', 'Notice', 'OA', 'OTP', 'OTPServer', 'Pay', 'Payios', 'PointShop', 'Spend', 'User', 'WapPay', 'Wechat', 'XinJiApi' ]; + // 验证token得到的user H5页面使用 + protected $user; protected function _initialize(){ C(api('Config/lists')); $c = CONTROLLER_NAME; $a = ACTION_NAME; - + $data = json_decode ( base64_decode ( file_get_contents ( "php://input" ) ), true ); + if (!(in_array($c, $this->noNeedGame) || in_array($a, $this->noNeedGame) || in_array($c.".".$a, $this->noNeedGame))) { /* * if( !preg_match("/apple_alipay_pay/",GetCurUrl()) &&!preg_match("/apple_weixin_pay/",GetCurUrl()) &&!preg_match("/get_alipay_zmxy_return/",GetCurUrl()) &&!preg_match("/apple_platform_pay/",GetCurUrl()) &&!preg_match("/notice/",GetCurUrl()) &&!preg_match("/apple_union_pay/",GetCurUrl()) &&!preg_match("/test/",GetCurUrl()) &&!preg_match("/wap_shortcut_pay/",GetCurUrl()) &&!preg_match("/shortcut_pay/",GetCurUrl()) &&!preg_match("/android_shortcut_pay/",GetCurUrl()) &&!preg_match("/wap_shortcut_pay/",GetCurUrl()) &&!preg_match("/apple_weixin_pay/",GetCurUrl()) &&!preg_match("/Ipa365/",GetCurUrl()) &&!preg_match("/user_login/",GetCurUrl()) &&!preg_match("/platform_coin_deduction/",GetCurUrl()) ){ */ - $data = json_decode ( base64_decode ( file_get_contents ( "php://input" ) ), true ); // #判断数据是否为空 if (empty ( $data ) || empty ( $data ['game_id'] )) { echo base64_encode ( json_encode ( array ( @@ -37,6 +39,12 @@ class BaseController extends RestController{ ) ) ); exit (); } + + /* if (!$data['timestamp'] || !$data['nonce']) { + re_msg(10, "参数不足", $data); + } */ + + $md5Sign = $data['md5_sign']; unset($data['md5_sign']); @@ -51,12 +59,21 @@ class BaseController extends RestController{ if (isset($data['openid'])) // 小程序支付增加参数 unset($data['openid']); + $md5_sign = $this->encrypt_md5($data,$game_data["access_key"]);//mengchuang DZQkkiz!@#9527 if($md5Sign !== $md5_sign){ $this->set_message(0,"fail","验签失败"); } } + + // 验证token 获取登入用户 + if (!(in_array($c, $this->noNeedToken) || in_array($a, $this->noNeedToken) || in_array($c.".".$a, $this->noNeedToken))) { + $this->user = M("user", "tab_")->where(['user_token' => $data['user_token']])->find(); + if (!$this->user) { + + } + } } From 3c5ebcfb506a71309c775153b19744d2d4a454a3 Mon Sep 17 00:00:00 2001 From: tpingzhang <635929049@qq.com> Date: Tue, 22 Oct 2019 15:48:07 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=82=AC=E6=B5=AE=E7=90=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sdk/Controller/BaseController.class.php | 3 ++- .../Sdk/Controller/GameController.class.php | 27 +++++++++++++------ 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/Application/Sdk/Controller/BaseController.class.php b/Application/Sdk/Controller/BaseController.class.php index 46b5398f..5e2236e8 100644 --- a/Application/Sdk/Controller/BaseController.class.php +++ b/Application/Sdk/Controller/BaseController.class.php @@ -9,7 +9,8 @@ class BaseController extends RestController{ 'Apple.apple_alipay_pay','Apple.apple_weixin_pay','User.get_alipay_zmxy_return', 'Apple.apple_platform_pay','Spend.notice','Apple.apple_union_pay','WapPay.wap_shortcut_pay', 'WapPay.shortcut_pay','WapPay.android_shortcut_pay','WapPay.wap_shortcut_pay','WapPay.wap_shortcut_pay', - 'Apple.apple_weixin_pay','Ipa365','User.user_login','platform_coin_deduction','test','get_suspend' + 'Apple.apple_weixin_pay','Ipa365','User.user_login','platform_coin_deduction','test','get_user_money', + 'file_pay','pay','get_suspend', ]; // 不需要验证TOKEN的接口 protected $noNeedToken = [ diff --git a/Application/Sdk/Controller/GameController.class.php b/Application/Sdk/Controller/GameController.class.php index 6b5629ff..f09ec577 100644 --- a/Application/Sdk/Controller/GameController.class.php +++ b/Application/Sdk/Controller/GameController.class.php @@ -41,29 +41,28 @@ class GameController extends BaseController{ */ public function get_suspend(){ $data = json_decode(base64_decode(file_get_contents("php://input")), true); - //$data['user_id'] = 1; - //$data['sdk_version'] = 1; // 1android 2 ios + if (I('debug') == 1) { + $data['user_id'] = 1; + } if(empty($data['user_id'])) { re_msg(1004, 'fail', '用户不存在'); } $userToken = M('user','tab_')->where(['id' => $data['user_id']])->getField('user_token'); - if (!$userToken) { re_msg(1004, 'fail', '数据有误'); } $sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->find(); $menus = json_decode($sdkMenus['config'],true); - $menus_item = $menus; foreach($menus as $k => $v) { $menus[$k]['icon'] = C('ADMIN_DOMAIN') . $v['icon']; - $menus[$k]['url'] = $v['url'] . '/user_token/' . $userToken; - if ($menus[$k]['type'] == 1) // 原生 + $menus[$k]['url'] = $v['url'] . '/user_token/' . $user_token; + if ($menus[$k]['type'] == 1) $menus[$k]['ios_url'] = "?action=".$menus[$k]['name']; else { // H5 if ($data['sdk_version'] == 2 && $v['name'] == 'suppersign') $menus[$k]['ios_url'] = $menus[$k]['url']."?action=push"; - else + if ($data['sdk_version'] == 1 && $v['name'] == 'suppersign') unset($menus[$k]); } } @@ -77,8 +76,19 @@ class GameController extends BaseController{ else { if ($data['sdk_version'] == 2 && $v['name'] == 'suppersign') $v['ios_url'] = $v['url']."?action=push"; + else + unset($v); } } + + foreach($menus_item as $k => $v) { + $menus_item[$k]['icon'] = C('ADMIN_DOMAIN') . $v['icon']; + $menus_item[$k]['url'] = $v['url'] . '/user_token/' . $user_token; + if ($menus_item[$k]['type'] == 1) + $menus_item[$k]['ios_url'] = "?action=".$menus_item[$k]['name']; + else + $menus_item[$k]['ios_url'] = $menus_item[$k]['url']."?action=push"; + } array_multisort(array_column($menus,'sort'),SORT_ASC,$menus); array_multisort(array_column($personalMenu,'sort'),SORT_ASC,$personalMenu); @@ -100,8 +110,9 @@ class GameController extends BaseController{ ]; if (I('debug') == 1) pp(($ret)); - re_msg(200, '获取成功', $ret); + re_msg(200,'获取成功',$ret); } + //获取游戏域名 //yyh 2018 10 23 public function get_game_domain(){ From 20127711071ae37d07ac039250cb9bdc00bbdbf7 Mon Sep 17 00:00:00 2001 From: tpingzhang <635929049@qq.com> Date: Tue, 22 Oct 2019 15:59:33 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=82=AC=E6=B5=AE=E7=90=83=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Application/Sdk/Common/function.php | 1 - .../Sdk/Controller/GameController.class.php | 4 ++-- .../Sdk/Controller/UserController.class.php | 15 +++++++-------- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/Application/Sdk/Common/function.php b/Application/Sdk/Common/function.php index 3ba01943..f0b6d1fe 100644 --- a/Application/Sdk/Common/function.php +++ b/Application/Sdk/Common/function.php @@ -248,7 +248,6 @@ function re_msg($code=200,$msg='',$data=[]) $ret['code'] = $code; $ret['msg'] = $msg; $ret['data'] = $data; - echo base64_encode(json_encode($ret)); exit(); } diff --git a/Application/Sdk/Controller/GameController.class.php b/Application/Sdk/Controller/GameController.class.php index f09ec577..5a72e7b6 100644 --- a/Application/Sdk/Controller/GameController.class.php +++ b/Application/Sdk/Controller/GameController.class.php @@ -56,7 +56,7 @@ class GameController extends BaseController{ $menus = json_decode($sdkMenus['config'],true); foreach($menus as $k => $v) { $menus[$k]['icon'] = C('ADMIN_DOMAIN') . $v['icon']; - $menus[$k]['url'] = $v['url'] . '/user_token/' . $user_token; + $menus[$k]['url'] = $_SERVER['HTTP_HOST'].$v['url'] . '/user_token/' . $userToken; if ($menus[$k]['type'] == 1) $menus[$k]['ios_url'] = "?action=".$menus[$k]['name']; else { // H5 @@ -70,7 +70,7 @@ class GameController extends BaseController{ $personalMenu = json_decode($personalMenu, true); foreach($personalMenu as &$v) { $v['icon'] = C('ADMIN_DOMAIN') . $v['icon']; - $v['url'] = $v['url'] . '/user_token/' . $userToken; + $v['url'] = $_SERVER['HTTP_HOST'].$v['url'] . '/user_token/' . $userToken; if ($v['type'] == 1) // 1 H5页面 $v['ios_url'] = "?action=".$v['name']; else { diff --git a/Application/Sdk/Controller/UserController.class.php b/Application/Sdk/Controller/UserController.class.php index 56f8a31e..a2df4288 100644 --- a/Application/Sdk/Controller/UserController.class.php +++ b/Application/Sdk/Controller/UserController.class.php @@ -3146,21 +3146,20 @@ class UserController extends BaseController * 获取用户平台币充值记录绑币余额 * @return [type] [description] */ - public function get_user_money() - { + public function get_user_money() + { $data = json_decode(base64_decode(file_get_contents("php://input"),true)); - $data['user_token'] = 1; + $data['user_token'] = 'f6ddd0b38dc037293a18f5525d59d4eb'; if(empty($data['user_token'])) { re_msg(1004,'fail','用户不存在'); } $user_info = M('user','tab_')->where(['user_token' => $data['user_token']])->field('id,account,balance')->find(); - $user_play = M('user_play','tab_')->alias('user') - ->join('tab_game as game on user.game_id = game.id') - ->where(['user_id' => $user_info['id']]) - ->field('user.game_name,user.bind_balance,game.cover')->select(); + ->join('tab_game as game on user.game_id = game.id') + ->where(['user_id' => $user_info['id']]) + ->field('user.game_name,user.bind_balance,game.cover')->select(); foreach($user_play as $k => $v) { $cover = get_cover($v['cover'],'path'); @@ -3179,7 +3178,7 @@ class UserController extends BaseController $deposit[$k]['create_time'] = date('Y-m-d',$v['create_time']); } $this->assign('account',$user_info['account']); - $this->assign('balance',$user_info['balance']); + $this->assign('balance',$user_info['balance']?:0); $this->assign('deposit',$deposit); $this->assign('user_play',$user_play); $this->display('balance');