账号互T

master
tpingzhang 5 years ago
parent c3db417a0d
commit 6c97f97038

@ -1097,9 +1097,31 @@ class UserModel extends Model{
$data["last_login_ip"] = $user['login_ip'];
$data["last_device_number"] = $user['device_number'];
$data["token"] = $this->generateToken($uid,$account,$password);
if (!$user['user_token']) {
$data["user_token"] = $this->generateToken($uid,$account,$password);
$userToken = $this->generateToken($uid,$account,$password);
$userTokens = M('user_token','tab_')->where([
'user_id' => $uid,
'game_id' => $game_id
])->find();
if (!$userTokens) {
M('user_token', 'tab_')->add([
'user_id' => $uid,
'game_id' => $game_id,
'user_token' => $userToken,
'login_cnt' => 0,
'create_time' => time(),
'update_time' => time()
]);
} else {
M('user_token', 'tab_')->where([
'id' => $userTokens['id']
])->save([
'user_token' => $userToken,
'login_cnt' => $userTokens['login_cnt'] + 1,
'update_time' => time()
]);
}
if($user_fgame_id){
$model->save($data);
}else{

@ -10,9 +10,9 @@ 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','get_user_money',
'file_pay','pay','GameGiftPage','UserH', 'PayH5','init_sdk','sign_contract', 'Apple'
// 'test','Game.get_suspend',
'Apple.apple_weixin_pay','Ipa365','User.user_login','user_register','platform_coin_deduction','get_user_money',
'file_pay','pay','GameGiftPage','UserH', 'PayH5','init_sdk','sign_contract', 'Apple','Shortcut'
// 'test','Game.get_suspend',
];
// 不需要验证TOKEN的接口
@ -34,13 +34,24 @@ class BaseController extends RestController{
$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))) {
// 解决在游戏中未退出的用户 user_token 不存在问题
$userToken = M('user', 'tab_')->where(['id' => $data['user_id']])->getField('user_token');
if (!$userToken) {
$str = $data['user_id'].NOW_TIME.sp_random_string(7);
$userToken = MD5($str);
M('user', 'tab_')->where(['id' => $data['user_id']])->save(['user_token' => $userToken]);
if (!(in_array($c, $this->noNeedGame)
|| in_array($a, $this->noNeedGame)
|| in_array($c.".".$a, $this->noNeedGame))) {
if ($data['api_ver'] == 2) {
$userToken = M('user_token', 'tab_')->where([
'user_id' => $data['user_id'],
'game_id' => $data['game_id']
])->getField('user_token');
if (!$userToken || $userToken != $data['user_token']) {
echo base64_encode (json_encode(array(
"code" => 9999,
"msg" => $data['user_token']."您已下线,请重新登入".$userToken,
"return_msg" => $data['user_token']."您已下线,请重新登入".$userToken,
"data" => ""
)));
exit ();
// 退出
}
}
$this->userToken = $userToken;
@ -49,11 +60,11 @@ class BaseController extends RestController{
*/
// #判断数据是否为空
if (empty ( $data ) || empty ( $data ['game_id'] )) {
echo base64_encode ( json_encode ( array (
"status" => 10,
"return_msg" => "操作数据或游戏ID不能为空"
) ) );
exit ();
echo base64_encode (json_encode(array(
"status" => 10,
"return_msg" => "操作数据或游戏ID不能为空"
)));
exit();
}
/* if (!$data['timestamp'] || !$data['nonce']) {
@ -82,21 +93,51 @@ class BaseController extends RestController{
}
if (!(in_array($c, $this->noNeedToken) || in_array($a, $this->noNeedToken) || in_array($c.".".$a, $this->noNeedToken))) {
$userToken = I("request.user_token");
if (!$userToken) {
re_msg(11, "参数有误,请重新登入获取!");
}
$this->userId = M("user", "tab_")->where(['user_token' => $userToken])->getField("id");
$this->userToken = $userToken;
if (!$this->userId) {
re_msg(12, $userToken."Token失效");
}
if (I('request.api_ver') == 2) {
if (!(in_array($c, $this->noNeedToken) || in_array($a, $this->noNeedToken) || in_array($c.".".$a, $this->noNeedToken))) {
$user = self::webH5Vetify();
$this->userId = $user['userId'];
$this->userToken = $user['userToken'];
}
}
}
public static function webH5Vetify() {
$userToken = I("request.user_token");
if (!$userToken) {
echo "token not found!!!";
die();
// re_msg(11, "参数有误,请重新登入获取!");
}
$where['user_token'] = $userToken;
if (I("request.game_id", 0)) {
$where['game_id'] = I("request.game_id");
}
if (I("request.user_id", 0)) {
$where['user_id'] = I("request.user_id");
}
$user = [];
$user['userId'] = M("user_token", "tab_")->where($where)->getField("user_id");
$user['userToken'] = $userToken;
if (!$user['userId']) {
if (IS_AJAX) {
echo json_encode([
'code' => 200,
'url' => U('Spend/notice_logout',array('user_id'=>$user['userId'],'game_id'=>I("request.game_id", 0),'msg'=>'您已下线', 'user_token' => $userToken))
]);
exit();
} else {
redirect(U('Spend/notice_logout',array('user_id'=>$user['userId'],'game_id'=>I("request.game_id", 0),'msg'=>'您已下线', 'user_token' => $userToken)));
exit;
}
// re_msg(12, $userToken."Token失效");
}
return $user;
}
/**
* 获取数据库中的配置列表

@ -52,7 +52,8 @@ class ExchangeController extends BaseController{
}
// 用户
$userToken = M('user', 'tab_')->where(['id' => $request['user_id']])->getField('user_token');
$userToken = $request['user_token'];
// M('user', 'tab_')->where(['id' => $request['user_id']])->getField('user_token');
if (!$userToken) {
$this->set_message(0,"fail","请重新登入");
}

@ -157,10 +157,13 @@ class GameController extends BaseController{
if(empty($data['user_id'])) {
re_msg(1004, 'fail', '用户不存在');
}
$user = M('user','tab_')->field('user_token,balance')->where(['id' => $data['user_id']])->find();
$user['user_token'] = $data['user_token'];
if (!$user['user_token']) {
re_msg(1004, 'fail', '数据有误');
}
}
$sdkMenus = M('tool','tab_')->where(['name' => 'sdk_menu'])->find();
$menus = json_decode($sdkMenus['config'],true);
foreach($menus as $k => $v) {

@ -2,21 +2,15 @@
namespace Sdk\Controller;
use Think\Controller;
use Common\Api\GaemApi;
class GameGiftPageController extends Controller{
public $userId;
public function _initialize()
{
$userToken = I("request.user_token");
if (!$userToken) {
re_msg(11, "参数有误,请重新登入获取!");
}
$this->userId = M("user", "tab_")->where(['user_token' => $userToken])->getField("id");
$this->userToken = $userToken;
if (!$this->userId) {
re_msg(12, $userToken."Token失效");
}
// if (I("request.api_ver") == 2) {
BaseController::webH5Vetify();
// }
}
public function gift_list(){
$gameId = I('game_id');
@ -24,9 +18,9 @@ class GameGiftPageController extends Controller{
if (!$gameId || $sdkVersion == -1) {
$this->error("参数有误");
}
if (I("debug") == 1) {
/* if (I("debug") == 1) {
$data['user_token'] = 'b9c9739f7e3dc0b338dc3f4a4f02cb29';
}
} */
$gift = M("Giftbag","tab_");
$map['game_id'] = $gameId;

@ -0,0 +1,450 @@
<?php
namespace Sdk\Controller;
use Think\Controller;
use Common\Api\GameApi;
use Org\SqpaySDK\Sqpay;
use Qiniu\json_decode;
use Think\Log;
class ShortcutController extends BaseController{
// 签约处理
public function sign_contract() {
$sqpay = new Sqpay();
$param = I("request.");
// $param['signCode'] = 357926;
// pp($param);
if (IS_POST && !$param['signCode']) {
//echo "调用认证 签约==》".time()."<br>"; 发送短信
$rsign = $sqpay->sign_contract(array(
'merNo' => C('sqpay.partner'),
'custName' => $param['custName'],
'phoneNo' => $param['phoneNo'],
'cardNo' => $param['cardNo'],
'idNo' => $param['idNo'],
'reqMsgId' => date('YmdHis').rand(0, 9999),
'authMsg' => '',
'custType' => '01', // 认证 发短信
'secret' => C('sqpay.key'),
));
//echo "调用认证 签约==》".time()."<br>";
if ($rsign['respCode'] == 'success') { // 认证成功发送短信
$this->success('签约短信发送成功', '', true);
} else {
if (strlen($rsign['respMessage']) > 100) {
$this->error('填写信息有误,请核对!', '', true);
} else {
$this->error($rsign['respMessage'], '', true);
}
}
// var_dump($rsign);
exit();
}
if (IS_POST && $param['signCode']) {
$rauth = $sqpay->sign_contract(array(
'merNo' => C('sqpay.partner'),
'custName' => $param['custName'],
'phoneNo' => $param['phoneNo'],
'cardNo' => $param['cardNo'],
'idNo' => $param['idNo'],
'reqMsgId' => date('YmdHis').rand(0, 9999),
'authMsg' => $param['signCode'],
'custType' => '02', // 签约
'secret' => C('sqpay.key'),
));
if ($rauth['respCode'] == 'success') { // 签约成功
$this->success('签约成功', '', true);
$signContract = true;
} else {
$this->error($rauth['respMessage'], '', true);
}
}
}
/**\
* 快捷支付'merNo' => $data['merNo'],
'merOrderNo' => $data['merOrderNo'],
'cardNo' => $data['cardNo'],
'custName' => $data['custName'],
'idType' => '0',
'idNo' => $data['idNo'],
'phone' => $data['phoneNo'],
'purpose' => $data['purpose'],
'payAmount' => $data['payAmount'],
'bankCode' => $bankInfo['bank'],
'payType' => 'XYPAY',
'NotifyURL' => $data['NotifyURL'],
'txnTime' => $data['txnTime'],
'smsCode' => $data['smsCode'],
*/
public function shortcut_pay() {
$sqpay = new Sqpay();
$param = I("request.");
$signContract = false; // 签约标记
if (!$param['user_id'] || !$param['game_id']) {
$this->error("参数有误", '', true);
}
// 支付验证 是否让支付
$payCheck = pay_check($param['user_id']);
if (!$payCheck['code']) {
$this->set_message(1088, "fail", $payCheck['msg']);
}
$payInfo = M('pay_info', 'tab_')->where(array(
'user_id' => $param['user_id'],
'game_id' => $param['game_id'],
'extend' => $param['extend']
))->order('id desc')->find();
// $info = json_decode($payInfo['info'], true);
if ($payInfo['type'] == 'sq_shortcut') {
$spend = M('spend', 'tab_')->where([
'pay_order_number' => $payInfo['order_id']
])->find();
$orderPrice = $spend['pay_amount'];
} else {
$deposit = M('deposit', 'tab_')->where([
'pay_order_number' => $payInfo['order_id']
])->find();
$orderPrice = $deposit['pay_amount'];
}
if ($orderPrice != $payInfo['price']) {
$this->error($orderPrice."数据有误.".$payInfo['price'], '', true);
}
if ($payInfo['type'] == 'sq_shortcut_platform' && $payInfo['price'] < 1) {
$this->error("数据有误", '', true);
}
if ($payInfo['status'] == 'payed') {
$this->error("订单已支付");
}
// 发起支付
if (IS_POST && $param['smsCode']) {
//echo "发起支付==》".time()."<br>";
$rsp = $sqpay->shortcut_pay(array(
'merNo' => C('sqpay.partner'),
'merOrderNo' => $payInfo['order_id'],
'custName' => $param['custName'],
'phoneNo' => $param['phoneNo'],
'cardNo' => $param['cardNo'],
'idNo' => $param['idNo'],
'purpose' => 'purpose',
'payAmount' => $payInfo['price'],
'txnTime' => $payInfo['txnTime'],
'smsCode' => $param['smsCode'],
'secret' => C('sqpay.key'),
'NotifyURL' => C('PAY_DOMAIN')."/callback.php/Notify/sq_callback",//通知
));
//echo "发起支付==》".time()."<br>";
if ($rsp['responseCode'] == '88') {
// sleep(5);
echo json_encode([
'status' => 1,
'info' => '请求成功',
'url' => U('Spend/shortcut_notice',array('status'=> 1, 'orderno' => $payInfo['order_id'], 'user_id'=>$param['user_id'],'game_id'=>$param['game_id'])),
]);
exit();
// redirect(U('Spend/shortcut_notice',array('status'=> 1, 'orderno' => $payInfo['order_id'], 'user_id'=>$param['user_id'],'game_id'=>$param['game_id'])));exit;
} else {
// 支付失败
echo json_encode([
'status' => 0,
'info' => $rsp['resMess']
]);
exit();
// redirect(U('Spend/pay_success',array('status'=> 0, 'orderno' => $payInfo['order_id'], 'user_id'=>$param['user_id'],'game_id'=>$param['game_id'])));exit;
}
}
// 发送短信
if (IS_POST && !isset($param['smsCode'])) {
// 查看是否签约
//echo "查看是否签约==》".time()."<br>";
$rcs = $sqpay->contract_status(array(
'merNo' => C('sqpay.partner'),
'custName' => $param['custName'],
'phoneNo' => $param['phoneNo'],
'cardNo' => $param['cardNo'],
'idNo' => $param['idNo'],
'payAmount' => $payInfo['price'],
'secret' => C('sqpay.key'),
));
// pp($rcs);
//echo "查看是否签约==》".time()."<br>";
if ($rcs['respCode'] == 4) {
$this->error($rcs['respMessage'], '', true);
pp($rcs);
pp($rcs['respMessage']);
}
if ($rcs['respCode'] == 1 || $rcs['respCode'] == 2 || $rcs['respCode'] == 3) {
echo json_encode([
'status' => 2, //
'info' => '未签约'
]);
exit();
}
/* // 调用认证 签约 6222031402001028203 500236199608024075
if ($rcs['respCode'] == 1 || $rcs['respCode'] == 2 || $rcs['respCode'] == 3) {
//echo "调用认证 签约==》".time()."<br>"; 发送短信
$rsign = $sqpay->sign_contract(array(
'merNo' => C('sqpay.partner'),
'custName' => $param['custName'],
'phoneNo' => $param['phoneNo'],
'cardNo' => $param['cardNo'],
'idNo' => $param['idNo'],
'reqMsgId' => date('YmdHis').rand(0, 9999),
'authMsg' => 'ok',
'custType' => '01',
'secret' => C('sqpay.key'),
));
//echo "调用认证 签约==》".time()."<br>";
if ($rsign['respCode'] == 'success') { // 认证成功 接着签约
$rauth = $sqpay->sign_contract(array(
'merNo' => C('sqpay.partner'),
'custName' => $param['custName'],
'phoneNo' => $param['phoneNo'],
'cardNo' => $param['cardNo'],
'idNo' => $param['idNo'],
'reqMsgId' => date('YmdHis').rand(0, 9999),
'authMsg' => $rsign['authMsg'],
'custType' => '02',
'secret' => C('sqpay.key'),
));
pp($rauth);
if ($rauth['respCode'] == 'success') {
$signContract = true;
} else {
$this->error($rauth['respMessage'], '', true);
}
} else {
$this->error($r['respMessage'], '', true);
}
}*/
// 无需签约 发送短信
if ($rcs['respCode'] == 0 || $rcs['respCode'] == 10) {
//echo "发送短信==》".time()."<br>";
$ret = $sqpay->protocol_pay_send_sms(array(
'merNo' => C('sqpay.partner'),
'custName' => $param['custName'],
'phoneNo' => $param['phoneNo'],
'cardNo' => $param['cardNo'],//'6214855913999401',
'idNo' => $param['idNo'],
'payAmount' => $payInfo['price'],
'secret' => C('sqpay.key'),
'merOrderNo' => $payInfo['order_id'],
'NotifyURL' => "http://api.wmtxkj.cn"."/callback.php?Notify/sq_callback",
'purpose' => '游戏充值'
));
//echo "发送短信==》".time()."<br>";
if ($ret['resFlag'] == 'success') {
M('pay_info', 'tab_')->where(array(
'id' => $payInfo['id'],
))->save(array(
'txn_time' => $ret['txnTime']
));
$this->success('发送成功', '', true);
} else {
$this->error($ret['resMess'], '', true);
}
}
}
$this->display();
}
/**
* android获取 支付url
*/
public function android_shortcut_pay() {
$request = json_decode(base64_decode(file_get_contents("php://input")), true);
file_put_contents("./Application/Sdk/OrderNo/".$request['user_id']."-".$request['game_id'].".txt",think_encrypt(json_encode($request)));
// 支付验证 是否让支付
$payCheck = pay_check($request['user_id']);
if (!$payCheck['code']) {
$this->set_message(1088, "fail", $payCheck['msg']);
}
$user_id = $request['user_id'];
$game_id = $request['game_id'];
$data = array(
'status' => 200,
"url" => 'http://' . $_SERVER ['HTTP_HOST'] ."/sdk.php/WapPay/wap_shortcut_pay/user_id/{$user_id}/game_id/{$game_id}",
"html" => '',
"return_msg" => '',
"paytype" => 'shortcut',
);
echo base64_encode(json_encode($data));
exit();
}
/**
* 快捷支付 用户点击
*/
public function wap_shortcut_pay($user_id,$game_id)
{
// $file=file_get_contents("./Application/Sdk/OrderNo/".$user_id."-".$game_id.".txt");
// $request = json_decode(think_decrypt($file),true);
// Log::write(serialize($request), Log::DEBUG);
$is_platform = 0;
if (I('request.code') == 0 && I('request.type') == 'platform') {
$is_platform = 1; // 平台币充值
}
$prefix = ($is_platform == 1) ? 'PF_' : 'SP_';
$request['pay_order_number'] = $prefix . date('Ymd') . date('His') . sp_random_string(4);
$request['game_id'] = I('request.game_id');
$game_id = $request['game_id'];
$request['user_id'] = I('request.user_id');
$user_id = $request['user_id'];
$request['code'] = I('request.code');
if ($is_platform) {
$request['price'] = I('request.price');
} else {
$payInfo = M('pay_info', 'tab_')->where([
'user_id' => I('user_id'),
'game_id' => I('game_id'),
'extend' => I('extend'),
])->order('id desc')->find();
$request['price'] = $payInfo['price'];
}
$userToken = I('request.user_token');
/* $request['user_id'] = 232;
$request['game_id'] = 78;
$request['price'] = 0.02;
$request['code'] = 1;
$request['extend'] = "SP_522992339581";
$request['pay_order_number'] = "SP_24522992339581"; */
if (empty($request)) {
redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'is_platform'=> $is_platform,'msg'=>'登录数据不能为空', 'user_token' => $userToken)));exit;
}
// 支付验证 是否让支付
$payCheck = pay_check($request['user_id']);
if (!$payCheck['code']) {
$this->set_message(1088, "fail", $payCheck['msg']);
}
$game = M('Game','tab_')->where(['id'=>$request['game_id']])->field('pay_status')->find();
if($game['pay_status'] == 0){
redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'is_platform'=> $is_platform,'msg'=>'该游戏暂时无法充值,请联系客服!', 'user_token' => $userToken)));exit;
}
if($request['price']*1<=0){
redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'is_platform'=> $is_platform,'msg'=>'充值金额有误', 'user_token' => $userToken)));exit;
}
C(api('Config/lists'));
if (!$is_platform) {
$request['extend'] = I('request.extend');
$extend_data = M('spend','tab_')->where(array('extend'=>$request['extend'],'game_id'=>$request['game_id'],'pay_status'=>1))->find();
if($extend_data){
redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'is_platform'=> $is_platform,'msg'=>$request['game_id'].'订单号重复,请关闭支付页面重新支付'.$request['extend'], 'user_token' => $userToken)));exit;
}
}
//折扣
$user = get_user_entity($request['user_id']);
$discount = $this->get_discount($request['game_id'],$user['promote_id'],$request['user_id']);
$discount = $discount['discount'];
$pay_amount = $discount * $request['price'] / 10;
if ($pay_amount < 0.01) {
redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'is_platform'=> $is_platform, 'msg'=>'充值金额有误.'.$pay_amount, 'user_token' => $userToken)));exit;
}
if (!$is_platform) {
$this->other_price($request, $request['price']-$pay_amount);
}
// 平台币充值
if ($is_platform) {
$request['code'] = 0;
$request['user_id'] = I('request.user_id');
$request['price'] = intval(I('request.price'));
$request['game_id'] = I('request.game_id');
$type = "platform";
$request['pay_way'] = C("PAY_WAY.SQ_SHORTCUT"); // 支付方式(-1绑币 0:平台币,1:支付宝,2:微信(扫码)3微信app 4 威富通 5聚宝云 6竣付通 7苹果支付8金猪支付 9双乾支付-支付宝 10双乾支付-银联 15双乾支付-快捷
$request['pay_status'] = 0;
$request['spend_ip'] = get_client_ip();
$out_trade_no = $request['pay_order_number'];
$ret = M('pay_info', 'tab_')->add(array(
'user_id' => $request['user_id'],
'game_id' => $request['game_id'],
'order_id' => $request['pay_order_number'],
'extend' => $request['pay_order_number'],
'price' => $request['price'],
'type' => 'sq_shortcut_platform', // 平台币充值
'info' => json_encode($request),
'status' => 'normal',
'create_time' => time(),
));
if (!$ret) {
return ;
}
} else { // 游戏充值
$request['code'] = 1;
$payInfo = M('pay_info', 'tab_')->where([
'user_id' => I('user_id'),
'game_id' => I('game_id'),
'extend' => I('extend'),
])->order('id desc')->find();
if ($payInfo) {
$info = json_decode($payInfo['info'], true);
$info['deduction_amount'] = $request['deduction_amount'];
$info['actual_amount'] = $request['actual_amount'];
$info['discount_amount'] = $request['discount_amount'];
$info['price'] = $request['price'];
$infosave = json_encode($info);
M('pay_info', 'tab_')->where([
'id' => $payInfo['id']
])->save([
'type' => 'sq_shortcut', // 游戏充值
'order_id' => $request['pay_order_number'],
'price' => $request['actual_amount'] ? $request['actual_amount'] : $request['price'],
'info' => $infosave
]);
$info['code'] = $request['code'];
$info['pay_order_number'] = $request['pay_order_number'];
$request = $info;
$request['pay_way'] = C("PAY_WAY.SQ_SHORTCUT");
$request['pay_status'] = 0;
$request['spend_ip'] = get_client_ip();
}
}
//0 官方 1双乾
if (get_shortcut_pay_type() == 0) {
// 暂时只有双乾
}elseif(get_shortcut_pay_type() == 1){
if($request['code']==1){
$this->add_spend($request,1);
}else{
$this->add_deposit($request,1);
}
}
$this->assign("pay_amount", $request['actual_amount']?$request['actual_amount']:$request['price']);
$this->assign("user_id", $request['user_id']);
$this->assign("game_id", $request['game_id']);
$this->assign("extend", $is_platform ? $request['pay_order_number'] : I('extend'));
$this->display();
}
}

@ -51,9 +51,13 @@ class SpendController extends Controller {
echo "access deny!";
die();
}
$userId = M('user', 'tab_')->where(['user_token'=>$user_token])->getField('id');
if ($userId != $user_id) {
echo "请重新登入!";
$userId = M('user_token', 'tab_')->where([
'user_token'=>$user_token,
'user_id' => $user_id,
'game_id' => $game_id
])->getField('id');
if (!$userId) {
echo $user_token."请重新登入!".$user_id.$game_id;
die();
}
C(BaseController::get_tool());
@ -392,6 +396,7 @@ ADD COLUMN `pay_url` varchar(255) NOT NULL DEFAULT '' AFTER `check_sign`;
exit();
}
// 快捷支付通知
public function shortcut_notice() {
$status = $_GET['status'];
$orderno = $_GET ['orderno'] == "" ? $_GET ['out_trade_no'] : $_GET ['orderno'];
@ -419,4 +424,9 @@ ADD COLUMN `pay_url` varchar(255) NOT NULL DEFAULT '' AFTER `check_sign`;
}
// 通知下线
public function notice_logout() {
$this->display();
}
}

@ -304,6 +304,11 @@ class UserController extends BaseController
$buddies_request = get_buddies_unagree_count($user['user_id']);
$unread_count += $buddies_request;
M('nearby', 'tab_') -> where(['user_id' => $user['user_id']]) -> setField(['game_status' => 1, 'update_time' => time(), 'user_nickname' => $user_res['nickname'], 'head_img' => $user_res['head_img']]);
$userToken = M('user_token', 'tab_') ->where([
'user_id' => $user['user_id'],
'game_id' => $user['game_id']
])->getField('user_token');
$res_msg = array(
"status" => 200,
"return_code" => "success",
@ -314,7 +319,7 @@ class UserController extends BaseController
"sex" => $user_res["sex"] ? $user_res["sex"] : 0,
"is_platform" => $platform,
"token" => $result['token'],
"user_token" => $user_res['user_token'],
"user_token" => $userToken,
"OTP_token" => think_encrypt(json_encode(array('uid' => $user["user_id"], 'time' => time())), 1),
'is_uc' => 0,
"is_open_small_account" => C('IS_OPEN_SMALL_ACCOUNT'),
@ -954,7 +959,7 @@ class UserController extends BaseController
$this -> new_set_message(1027, "密码必须6-15位字母和数字组合");
} */
if(!preg_match('/^[0-9a-zA-Z]{6,15}$/', $user['password'])){
$this -> set_message(1027, "fail", "密码6-15位字母或数字");
$this -> new_set_message(1027, "fail", "密码6-15位字母或数字");
}
if ($user['old_password'] == $user['password']) {

@ -7,21 +7,13 @@ use Think\Log;
class UserHController extends Controller
{
public $userId;
public $userToken;
public function _initialize()
{
$userToken = I("request.user_token");
if (!$userToken) {
re_msg(11, "参数有误,请重新登入获取!");
}
$this->userId = M("user", "tab_")->where(['user_token' => $userToken])->getField("id");
$this->userToken = $userToken;
if (!$this->userId) {
re_msg(12, $userToken."Token失效");
}
$user = BaseController::webH5Vetify();
$this->userId = $user['userId'];
$this->userToken = $user['userToken'];
}
@ -33,7 +25,7 @@ class UserHController extends Controller
{
$data['user_token'] = I('user_token');
$user_info = M('user','tab_')->where(['user_token' => $data['user_token']])->field('id,account,balance')->find();
$user_info = M('user','tab_')->where(['id' => $this->userId])->field('id,account,balance')->find();
$user_play = M('user_play','tab_')->alias('user')
->join('tab_game as game on user.game_id = game.id')

@ -254,7 +254,7 @@
<p style="font-size: .28rem;margin-top:.3rem;">支付结果将在一分钟内反馈,请稍后在游戏内查看</p>
</div>
<form id="wfform" name="wfform" method="post" action="{:U('WapPay/shortcut_pay')}" target="_parent" >
<form id="wfform" name="wfform" method="post" action="{:U('Shortcut/shortcut_pay')}" target="_parent" >
<input type="hidden" id="wfddll" name="wfddll" value="wfddll" />
<input type="hidden" name="user_id" id="user_id" value="{$user_id}" />
<input type="hidden" name="game_id" id="game_id" value="{$game_id}" />
@ -350,7 +350,7 @@
//获取短信验证码
$.ajax({
type: "POST",
url: "/sdk.php/WapPay/shortcut_pay",
url: "/sdk.php/Shortcut/shortcut_pay",
dataType:'json',
data: {
'user_id' : $("#user_id").val(),
@ -420,7 +420,7 @@
//获取短信验证码
$.ajax({
type: "POST",
url: "/sdk.php/WapPay/sign_contract",
url: "/sdk.php/Shortcut/sign_contract",
dataType:'json',
data: {
'user_id' : $("#user_id").val(),
@ -478,7 +478,7 @@
}
$.ajax({
type: "POST",
url: "/sdk.php/WapPay/sign_contract",
url: "/sdk.php/Shortcut/sign_contract",
dataType:'json',
data: {
'user_id' : $("#user_id").val(),
@ -543,7 +543,7 @@
$.ajax({
type: "POST",
dataType: "json",
url: "{:U('WapPay/shortcut_pay')}" ,
url: "{:U('Shortcut/shortcut_pay')}" ,
data: $('#wfform').serialize(),
success: function (result) {
btnpay = false;

@ -0,0 +1,34 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1, maximum-scale=1,minimal-ui">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<script src="__JS__/jquery-1.11.1.min.js"></script>
<title>您已下线</title>
</head>
<body>
<input type="hidden" name="pay_order_number" class="orderno" value="{:I('pay_order_number')}">
<input type="hidden" name="Scheme" class="Scheme" value="{$Scheme}">
</body>
</html>
<script>
$(function () {
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
if (isAndroid) {
window.txyxsdk.noticelogout("您已下线,请重新登入。");
} else {
window.location.href = "?action=relogin";
}
});
</script>

@ -163,7 +163,7 @@
<div class="border-half-line" style="position: absolute;"></div>
<div class="paylist-box">
<if condition="C('alipay.status') eq 1 or (C('goldpig.status') eq 1 and C('goldpig.zfb') eq 1) or (C('sqpay.status') eq 1 and C('sqpay.zfb') eq 1)">
<a id="alipaybtn" class="weui-cell" href="javascript:;" data-url="{:U('PayH5/ali_pay',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token')))}" id="alipaybtn" class="recharge_way_btn recharge_way_btn_alipay">
<a id="alipaybtn" class="weui-cell" href="javascript:;" data-url="{:U('PayH5/ali_pay',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token'),'api_ver'=>2))}" id="alipaybtn" class="recharge_way_btn recharge_way_btn_alipay">
<div class="weui-cell__hd"><img src="__IMG__/alipay.png"></div>
<div class="weui-cell__bd">
@ -174,7 +174,7 @@
</if>
<if condition="$pay_price elt C('WX_PAY_LIMIT')">
<if condition="C('wei_xin.status') eq 1 or C('weixin_gf.status') eq 1 or (C('goldpig.status') eq 1 and C('goldpig.wx') eq 1) or (C('heepay.status') eq 1 and C('heepay.wxp') eq 1) or (C('sqpay.status') eq 1 and C('sqpay.wx_small') eq 1)">
<a id="wxpay" class="weui-cell" data-url="{:U('PayH5/weixin_pay',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token')))}" class="recharge_way_btn recharge_way_btn_wechat">
<a id="wxpay" class="weui-cell" data-url="{:U('PayH5/weixin_pay',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token'),'api_ver'=>2))}" class="recharge_way_btn recharge_way_btn_wechat">
<div class="weui-cell__hd"><img src="__IMG__/wxpay.png"></div>
<div class="weui-cell__bd">
<p style="color: #292929;font-size:.28rem;">微信支付</p>
@ -184,7 +184,7 @@
</if>
</if>
<if condition="C('sqpay.status') eq 1 and C('sqpay.shortcut') eq 1">
<a id="shorcut" class="weui-cell" data-url="{:U('WapPay/wap_shortcut_pay', array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token'),'code'=>1,'extend'=>I('extend')))}" class="recharge_way_btn recharge_way_btn_alipay">
<a id="shorcut" class="weui-cell" data-url="{:U('Shortcut/wap_shortcut_pay', array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token'),'code'=>1,'extend'=>I('extend'),'api_ver'=>2))}" class="recharge_way_btn recharge_way_btn_alipay">
<div class="weui-cell__hd"><img src="__IMG__/onlinepay.png"></div>
<div class="weui-cell__bd">
<p style="color: #292929;font-size:.28rem;">快捷支付</p>
@ -194,7 +194,6 @@
</if>
</div>
</div>
@ -279,7 +278,7 @@ $(function() {
// })
$("#platform_pay").click(function() {
var url = "{:U('PayH5/platform_coin_deduction',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token')))}";
var url = "{:U('PayH5/platform_coin_deduction',array('user_id'=>I('user_id'),'game_id'=>I('game_id'),'user_token'=>I('user_token'), 'api_ver' => 2))}";
window.location.href = url;
});

Loading…
Cancel
Save