ApkController.php 93 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Facade\TableName;
  4. use App\Game\GlobalUserInfo;
  5. use App\Http\Controllers\Controller;
  6. use App\Http\helper\HttpCurl;
  7. use App\IpLocation;
  8. use App\Models\AccountsInfo;
  9. use App\Models\PrivateMail;
  10. use App\Models\RecordScoreInfo;
  11. use App\Services\ApkService;
  12. use App\Services\IpCheck;
  13. use App\Services\StoredProcedure;
  14. use App\Services\UploadOfflineConversion;
  15. use App\Services\UserAgent;
  16. use App\Util;
  17. use App\Utility\SetNXLock;
  18. use Illuminate\Http\Request;
  19. use Illuminate\Support\Facades\DB;
  20. use Illuminate\Support\Facades\Hash;
  21. use Illuminate\Support\Facades\Redis;
  22. use Log;
  23. class ApkController extends Controller
  24. {
  25. public function log (Request $request){
  26. Util::WriteLog("apkview",$request->all());
  27. }
  28. public function WebLogin(Request $request){
  29. $username=$request->get("username")??"";
  30. $password=$request->get("password")??"";
  31. if(empty($username)||empty($password)){
  32. return apiReturnFail();
  33. }
  34. if (empty($username)) return apiReturnFail(["web.login.account_empty", 'Por favor insira o nome de usuário!']);
  35. if (empty($password)) {
  36. return apiReturnFail(['web.login.password_empty', 'Por favor insira a senha!'], '', 302);
  37. }
  38. $RegisterLocation = $request->country ?? env('COUNTRY_CODE','55');
  39. // dd($username,is_numeric($username));
  40. if (strstr($username, '@')) {
  41. $user = GlobalUserInfo::getGameUserInfo("Email", $username);
  42. } else if(is_numeric($username)){
  43. $user = GlobalUserInfo::getGameUserInfo("Phone", $RegisterLocation . $username);
  44. }else{
  45. $user = GlobalUserInfo::getGameUserInfo("Accounts", $username);
  46. }
  47. if ($user) {
  48. if (Hash::check($password, $user->LogonPass)) {
  49. $accountInfo=AccountsInfo::find($user->UserID);
  50. return apiReturnSuc($accountInfo, ['login.success', 'Login bem-sucedido, bem-vindo de volta!']);//->withCookie($this->setLoginCookie($user['sign']));
  51. } else {
  52. return apiReturnFail(['web.login.notfound', 'Erro de entrada, tente novamente!'], '', 2);
  53. }
  54. } else {
  55. return apiReturnFail(['web.login.notfound', 'Sua conta não foi encontrada, registre-se ou tente novamente!']);
  56. }
  57. }
  58. //通过redis将最近一笔订单推送到这里
  59. public function check_user_pay(Request $request){
  60. $UserID=$request->get("UserID")??0;
  61. $data=[];
  62. if(Redis::exists("user_pay_order_".$UserID)){
  63. $data=Redis::get("user_pay_order_".$UserID);
  64. Redis::del("user_pay_order_".$UserID);
  65. $data=json_decode($data,true);
  66. }
  67. if(Redis::exists("user_pay_first_".$UserID)){
  68. Redis::del("user_pay_first_".$UserID);
  69. if(count($data))$data[0]['first']=1;
  70. }
  71. if(!empty($data)){
  72. $package=$request->package??"";
  73. $adjust_server= DB::table('QPPlatformDB.dbo.ChannelPackageName')
  74. ->where('PackageName',$package)
  75. ->value('AdjustPayConfig');
  76. if(!empty($adjust_server)){
  77. $adjust_server=json_decode($adjust_server,true);
  78. foreach ($data as &$v){
  79. $v['adjust_server']=$adjust_server;
  80. }
  81. }
  82. }
  83. // Redis::set("user_pay_first_".$UserID,1);
  84. if($UserID==10073863){
  85. Redis::set("user_pay_order_".$UserID,'[{"regtime":1755052911,"isd0":true,"first":1,"golds":20,"udid":"10073863","order_sn":"BR81355603656859210073863","adjust_server":{"token":"wgh5","payOk":"wgh5_empty","PaySum":"wgh5_recharge","PayCountD0":"wgh5_firstrecharge","PayCount":"wgh5_firstrecharge"}}]');
  86. }
  87. Util::WriteLog("apkpay",$data);
  88. return apiReturnSuc($data);
  89. }
  90. public function loadWebInfo(Request $request)
  91. {
  92. $devinfo=json_decode($request->get('info'),true)??[];
  93. if(empty($devinfo))return apiReturnFail("no webinfo");
  94. $package=$request->get('PackageName')??"";
  95. $Channel=DB::table('QPPlatformDB.dbo.ChannelPackageName')
  96. ->where('PackageName',$package)
  97. ->value('Channel');
  98. $ip=IpLocation::getRealIp();;
  99. $key = "webinfo_{$Channel}_$ip";
  100. if(Redis::exists($key)){
  101. $datas=json_decode(Redis::get($key),true);
  102. Util::WriteLog("webload",compact('ip','devinfo','datas'));
  103. foreach ($datas as $k=>$v){
  104. if($v['ua']==$devinfo['ua']&&$v['ch']==$devinfo['ch']&&$v['tz']==$devinfo['tz']&&$v['l']==$devinfo['l']){
  105. array_splice($datas,$k,1);
  106. if(count($datas)) {
  107. Redis::set($key, json_encode($datas));
  108. Redis::expire($key, 7200);
  109. }
  110. return apiReturnSuc($v);
  111. }
  112. }
  113. }
  114. $recents=self::getRecentsNew($Channel);
  115. foreach ($recents as $k=>$v){
  116. if($v['ua']==$devinfo['ua']&&$v['ch']==$devinfo['ch']&&$v['tz']==$devinfo['tz']&&$v['l']==$devinfo['l']){
  117. array_splice($recents,$k,1);
  118. if(count($recents)) {
  119. Redis::set("recent_webs_$Channel", json_encode($recents));
  120. }
  121. return apiReturnSuc($v);
  122. }
  123. }
  124. return apiReturnFail("no");
  125. }
  126. public function saveWebInfo(Request $request){
  127. ///{
  128. // "acc": "4536f3897deedf4b40536ce09d597476",
  129. // "info": {
  130. // ua: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36',
  131. // s: [ 2560, 1440, 30 ],
  132. // tz: 'Asia/Shanghai',
  133. // l: 'zh-CN',
  134. // ch: '2781461326'
  135. //}
  136. // "PackageName": "com.ouro777.test",
  137. // "v": "0",
  138. // "cv": "1.0.31",
  139. // "UserID": "5681071",
  140. // "sign": "871e41042e9317e257a93234e4c05fd7"
  141. //}
  142. Util::WriteLog("webSave",$request->all());
  143. $account=$request->get('acc')??"";
  144. $devinfo=json_decode($request->get('info'),true)??[];
  145. if(empty($devinfo))return $request->all();
  146. $ip=IpLocation::getRealIp();;
  147. $package=$request->get('PackageName')??"";
  148. $Channel=DB::table('QPPlatformDB.dbo.ChannelPackageName')
  149. ->where('PackageName',$package)
  150. ->value('Channel');
  151. $UserID=$request->get('UserID')??"";
  152. $devinfo['UserID']=$UserID;
  153. $devinfo['Account']=$account;
  154. $key = "webinfo_{$Channel}_$ip";
  155. $datas = [];
  156. if (Redis::exists($key)) {
  157. $datas = json_decode(Redis::get($key), true);
  158. //防止重复压入
  159. foreach ($datas as $v) {
  160. if ($devinfo['ua'] == $v['ua'] && $devinfo['ch'] == $v['ch']) {
  161. return apiReturnSuc(1);
  162. }
  163. }
  164. }
  165. array_unshift($datas, $devinfo);
  166. Redis::set($key, json_encode($datas));
  167. Redis::expire($key, 7200);
  168. //压入最近记录
  169. self::addRecentsNew($devinfo, $Channel);
  170. return $request->all();
  171. }
  172. public static function addRecentsNew($data, $Channel)
  173. {
  174. $recents = self::getRecentsNew($Channel);
  175. array_push($recents, $data);
  176. if (count($recents) > 50) {
  177. array_shift($recents);
  178. }
  179. Redis::set("recent_webs_$Channel", json_encode($recents));
  180. }
  181. public static function getRecentsNew($Channel)
  182. {
  183. $recents = [];
  184. if (Redis::exists("recent_webs_$Channel")) {
  185. $recents = json_decode(Redis::get("recent_webs_$Channel"), true);
  186. }
  187. if (!isset($recents) || empty($recents)) $recents = [];
  188. return $recents;
  189. }
  190. private function addRecents($data){
  191. $recents=$this->getRecents();
  192. array_push($recents,$data);
  193. if(count($recents)>50){
  194. array_shift($recents);
  195. }
  196. Redis::set("recent_apks",json_encode($recents));
  197. }
  198. private function getRecents(){
  199. $recents=[];
  200. if(Redis::exists("recent_apks")){
  201. $recents=json_decode(Redis::get("recent_apks"),true);
  202. }
  203. if(!isset($recents)||empty($recents))$recents=[];
  204. return $recents;
  205. }
  206. public function save_data_new(Request $request){
  207. $url_sign=$request->get('us')??"tf";
  208. ///gg or fb
  209. $type=$request->get('type')??"fb";
  210. $cookie=$request->get('data')??'';
  211. $params=$request->get('params')??'';
  212. $UserID=$request->get('UserID')??"";
  213. $ff=$request->get('ff')??"";
  214. $ip=IpLocation::getRealIp();
  215. $origin = $_SERVER['HTTP_ORIGIN'] ??$_SERVER['HTTP_REFERER']?? '*';
  216. $agent=$_SERVER['HTTP_USER_AGENT'];
  217. $time=time();
  218. $locale=$request->get('locale')??'';
  219. $data=compact('ip','agent','cookie','type','url_sign','time','params','locale','origin','ff');
  220. if(isset($UserID)&&!empty($UserID)) {
  221. //直接代userid直接存
  222. ApkService::saveCookie($UserID,$data,$ff);
  223. }else {
  224. $key = "apktmp_{$url_sign}_$ip";
  225. $datas = [];
  226. if (Redis::exists($key) && $ip != "114.92.178.175") {
  227. $datas = json_decode(Redis::get($key), true);
  228. //防止重复压入
  229. foreach ($datas as $v) {
  230. if ($data['agent'] == $v['agent'] && $data['type'] == $v['type']) {
  231. return apiReturnSuc(1);
  232. }
  233. }
  234. }
  235. array_unshift($datas, $data);
  236. Redis::set($key, json_encode($datas));
  237. Redis::expire($key, 7200);
  238. //压入最近记录
  239. ApkService::addRecentsNew($data, $url_sign);
  240. //写入快手
  241. if($type=='kw'){
  242. ApkService::sendToKwai(json_decode($cookie,true),ApkService::KWAI_EVENT['EVENT_DOWNLOAD']);
  243. }
  244. }
  245. Util::WriteLog("apksave",$data);
  246. return apiReturnSuc(1);
  247. }
  248. public function load_data_new(Request $request){
  249. $url_sign=$request->get('us')??"tf";
  250. $UserID=$request->get('UserID')??"";
  251. $ff=$request->get('ff')??"";
  252. $ip=IpLocation::getRealIp();
  253. $agent=$request->userAgent();
  254. $package=$request->get('package')??"";
  255. $agent=explode('AppleWebKit',$agent)[0];
  256. //如果存在100以上的自建key,使用appkey作为url_sign
  257. if(!empty($package)){
  258. $AppKey=DB::table('QPPlatformDB.dbo.ChannelPackageName')
  259. ->where('PackageName',$package)
  260. // ->where('Sort',100)
  261. ->value('AppKey');
  262. if(isset($AppKey)&&!empty($AppKey)){
  263. $url_sign=$AppKey;
  264. }
  265. }
  266. $key="apktmp_{$url_sign}_$ip";
  267. if(isset($UserID)&&!empty($UserID)) {
  268. $cookieExist = ApkService::loadCookie($UserID);
  269. if ($cookieExist&&is_array($cookieExist)) {
  270. $data = [];
  271. $data['cookie'] = $cookieExist['Cookie']??"";
  272. $data['params'] = $cookieExist['Params']??"";
  273. $data['url_sign'] = $cookieExist['UrlSign']??"";
  274. $data['type'] = $cookieExist['Platform']??"";
  275. $data['agent'] = $cookieExist['ClickUA']??"";
  276. return apiReturnSuc($data);
  277. }
  278. }
  279. $datas=[];
  280. if(Redis::exists($key)){
  281. $datas=json_decode(Redis::get($key),true);
  282. Util::WriteLog("apkload",compact('ip','agent','datas'));
  283. //规则1,只有一个数据,直接归1
  284. if(count($datas)==1){
  285. Redis::del($key);
  286. ApkService::saveCookie($UserID,$datas[0]);
  287. Util::writeLog("apkload", "onlyone:::".json_encode($datas[0]));
  288. return apiReturnSuc($datas[0]);
  289. }
  290. foreach ($datas as $k=>$v){
  291. if(strstr($v['agent'],$agent)||$ff==$v['ff']){
  292. array_splice($datas,$k,1);
  293. Redis::set($key,json_encode($datas));
  294. Redis::expire($key,7200);
  295. ApkService::saveCookie($UserID,$v,$ff);
  296. return apiReturnSuc($v);
  297. }
  298. }
  299. }
  300. $recents=ApkService::getRecentsNew($url_sign);
  301. foreach ($recents as $k=>$v){
  302. if(strstr($v['agent'],$agent)||$ff==$v['ff']){
  303. ApkService::saveCookie($UserID,$v,$ff);
  304. array_splice($recents,$k,1);
  305. ApkService::setRecentsNew($recents,$url_sign);
  306. return apiReturnSuc($v);
  307. }
  308. }
  309. Util::WriteLog("apkfail",compact('ip','agent','datas','url_sign','recents','key'));
  310. return apiReturnFail("");
  311. }
  312. public function test(){
  313. $UserID=3147569;
  314. $arr=ApkService::loadCookie($UserID);
  315. if(isset($arr)&&$arr['Platform']=='gg') {
  316. $cookie = json_decode($arr['Cookie'], true);
  317. UploadOfflineConversion::reg($UserID, $cookie);
  318. }
  319. //kuai测试
  320. // ApkService::sendToKwaiTest(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_PURCHASE"],['currency'=>'USD','value'=>2]);
  321. // ApkService::sendToKwaiTest(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_ADD_TO_CART"]);
  322. // ApkService::sendToKwaiTest(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_COMPLETE_REGISTRATION"]);
  323. // ApkService::sendToKwaiTest(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_CONTENT_VIEW"]);
  324. //
  325. // ApkService::sendToKwai(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_PURCHASE"],['currency'=>'USD','value'=>2]);
  326. // ApkService::sendToKwai(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_ADD_TO_CART"]);
  327. // ApkService::sendToKwai(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_COMPLETE_REGISTRATION"]);
  328. // ApkService::sendToKwai(['pixel_id'=>'545692252418097195','click_id'=>'GaxsDtjUMo1v0B6OZgyG8A=='],ApkService::KWAI_EVENT["EVENT_CONTENT_VIEW"]);
  329. //
  330. //
  331. // ApkService::sendToKwaiTest(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_PURCHASE"],['currency'=>'USD','value'=>2]);
  332. // ApkService::sendToKwaiTest(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_ADD_TO_CART"]);
  333. // ApkService::sendToKwaiTest(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_COMPLETE_REGISTRATION"]);
  334. // ApkService::sendToKwaiTest(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_CONTENT_VIEW"]);
  335. //
  336. // ApkService::sendToKwai(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_PURCHASE"],['currency'=>'USD','value'=>2]);
  337. // ApkService::sendToKwai(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_ADD_TO_CART"]);
  338. // ApkService::sendToKwai(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_COMPLETE_REGISTRATION"]);
  339. // ApkService::sendToKwai(['pixel_id'=>'545692410115539004','click_id'=>'Bf2P9znfBEa6vLlGghzDqg=='],ApkService::KWAI_EVENT["EVENT_CONTENT_VIEW"]);
  340. // $agent1=UserAgent::parse_user_agent('Mozilla/5.0 (Linux; Android 13; SM-A135M Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/117.0.0.0 Mobile Safari/537.36');
  341. // $agent2=UserAgent::parse_user_agent('Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Mobile Safari/537.36');
  342. // echo "<PRE>";
  343. // print_r($agent1);
  344. // print_r($agent2);
  345. // $users = DB::connection('write')->table(TableName::QPAccountsDB() . 'AccountsInfo')
  346. // ->whereIn('GameID', [15426031,13494895,12242600,14629608])->select("UserID","Channel","RegisterDate")->get()->toArray();
  347. //
  348. // foreach ($users as $user){
  349. // $item=['regtime'=>strtotime($user->RegisterDate),'golds' => 10];
  350. // $data = [$item];
  351. // if (Redis::exists("user_pay_order_".$user->UserID)) {
  352. // $olddatas = json_decode(Redis::get("user_pay_order_".$user->UserID), true);
  353. // array_push($olddatas, $item);
  354. // $data = $olddatas;
  355. // }
  356. // //记录redisevent,24小时
  357. // Redis::set("user_pay_order_".$user->UserID, json_encode($data));
  358. // }
  359. }
  360. public function check_action(Request $request){
  361. $udid=$request->get("udid")??0;
  362. $act=$request->get("act")??"install";
  363. $key="apk_check_".$act."_".$udid;
  364. $status=0;
  365. if(!Redis::exists($key)){
  366. Redis::set($key,1);
  367. $status=1;
  368. }
  369. $data=compact('status','act');
  370. Util::WriteLog("apkact",$data);
  371. return apiReturnSuc($data);
  372. }
  373. public function check_user_pay2(Request $request){
  374. $UserID=$request->get("UserID")??0;
  375. $data=[];
  376. if(Redis::exists("user_pay_order_".$UserID)){
  377. $data=Redis::get("user_pay_order_".$UserID);
  378. // Redis::del("user_pay_order_".$UserID);
  379. $data=json_decode($data,true);
  380. }
  381. if(Redis::exists("user_pay_first_".$UserID)){
  382. // Redis::del("user_pay_first_".$UserID);
  383. if(count($data))$data[0]['first']=1;
  384. }
  385. Redis::set("user_pay_first_".$UserID,1);
  386. Redis::set("user_pay_order_".$UserID,json_encode([['golds'=>10],['golds'=>5]]));
  387. Util::WriteLog("apkpay",$data);
  388. return apiReturnSuc($data);
  389. }
  390. ////////////////////////////////
  391. /// GOOGLE ADS
  392. /// ///////////////////////////
  393. private function uploadToGoogle(){
  394. }
  395. /**
  396. * 用户换包下载激励记录
  397. * @param $package
  398. * @param Request $request
  399. * @return false|void
  400. */
  401. public function download($package,Request $request){
  402. $package=$package??121;
  403. $cdn="http://cdn.moeda777.com/hot/download/";
  404. $play="https://play.google.com/store/apps/details?id=";
  405. $configs=Util::getPackConfigs();
  406. $packInfos=[];
  407. foreach ($configs as $pack){
  408. $packInfos[$pack['bundleid']]=$pack;
  409. $packInfos[$pack['channel']]=$pack;
  410. }
  411. if(!isset($packInfos[$package])){
  412. header('Location: https://pro.ouro777.com', true, 302);
  413. exit();
  414. }
  415. $package=$packInfos[$package];
  416. $userAgent = $_SERVER['HTTP_USER_AGENT'];
  417. $platform="pc";
  418. if(strpos($userAgent,"iPhone") || strpos($userAgent,"iPad") || strpos($userAgent,"iPod")){
  419. header('Location: '.$package['ios'], true, 302);
  420. $platform="ios";
  421. }else if(strpos($userAgent,"Android")){
  422. if($package['online']){
  423. header('Location: '.$play.$package['bundleid'], true, 302);
  424. }else{
  425. header('Location: '.$cdn.$package['name'].'.apk', true, 302);
  426. }
  427. $platform="android";
  428. } else{
  429. if($package['online']){
  430. header('Location: '.$play.$package['bundleid'], true, 302);
  431. }else{
  432. header('Location: '.$cdn.$package['name'].'.apk', true, 302);
  433. }
  434. }
  435. try {
  436. $ip = IpLocation::getRealIp();
  437. $insert = ['IP' => $ip, 'Platform' => $platform, 'Channel' => $package['channel']];
  438. $explode = explode('.', $ip);
  439. if (count($explode) < 4) {
  440. return false;
  441. }
  442. $valueN = $explode[0] * 1000000 + $explode[1] * 1000 + (int)$explode[2];
  443. $result = DB::table(TableName::QPAccountsDB() . 'CheckIP')->where('IP', $valueN)->get()->toArray();
  444. if (isset($result) && isset($result['isp'])) {
  445. $insert['Isp'] = $result['isp'];
  446. $insert['Country'] = $result['Country'];
  447. } else {
  448. $ipcheck = new IpCheck();
  449. $result = $ipcheck->getIpLocation($ip);
  450. if (isset($result) && isset($result['isp'])) {
  451. $insert['Isp'] = $result['isp'];
  452. $insert['Country'] = $result['country_code2'];
  453. } else {
  454. $result = $ipcheck->iplogger($ip);
  455. $result = $result['result'];
  456. if (isset($result) && isset($result['isp'])) {
  457. $insert['Isp'] = $result['isp'];
  458. $insert['Country'] = $result['country'];
  459. }
  460. }
  461. }
  462. DB::table("QPRecordDB.dbo.ClientShareRecords")->insert($insert);
  463. }catch (\Exception $exception){
  464. Util::WriteLog("share_error",$exception->getMessage());
  465. }
  466. exit();
  467. }
  468. public function checkDownloadNotice(Request $request){
  469. $PackageName = (string)$request->get('PackageName');
  470. $UserID = $request->get('UserID');
  471. $isH5=intval($request->get('h5')??0);
  472. // $v = (int)$request->get('v');
  473. // if(isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])&&isset($UserID)){
  474. // if(Redis::exists("Ls_$UserID")) {
  475. // Redis::set("Ls_$UserID",1);
  476. // $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 20);
  477. // DB::table(TableName::QPAccountsDB() . "AccountLocale")->updateOrInsert(['UserID' => $UserID], ['UserID' => $UserID, 'Locale' => $lang]);
  478. // }
  479. // }
  480. $downUrl='';
  481. $icon='';
  482. // $downUrl='https://cdn.moeda777.com/hot/download/slots_ouro_pro.apk';
  483. $needDown=0;
  484. $showNoti=0;
  485. $fromPackage=$PackageName;
  486. $toPackage='';
  487. $Channel=0;
  488. $bonusPackage=false;
  489. $checkDownPack=[
  490. 'com.ouro777KKK.ares02'=>['Channel'=>359,'show'=>1,'down'=>1,'url'=>'https://game.hallowin.top','to'=>'com.halloween.appwin2','icon'=>'https://cdn.moeda777.com/hot/pack/com.halloween.appwin/download_icon.png'],
  491. ];
  492. $checkDownPackH5=[
  493. 'com.ouro777.ares03'=>['Channel'=>128,'show'=>1,'down'=>1,'url'=>'https://bb3.bet/?apk=https://cdn.ouro777.com/glo/brazil/download/ares/03/SlotsOuro.apk','to'=>'com.ouro777.ares03','icon'=>'https://cdn.moeda777.com/client/orgbr/img/icon-96.png'],
  494. 'com.ouro777.ares04'=>['Channel'=>129,'show'=>1,'down'=>1,'url'=>'https://bb3.bet/?apk=https://cdn.ouro777.com/glo/brazil/download/ares/04/SlotsOuro.apk','to'=>'com.ouro777.ares04','icon'=>'https://cdn.moeda777.com/client/orgbr/img/icon-96.png'],
  495. ];
  496. $cv = $request->get('cv')??0;
  497. if(isset($request->cv)){
  498. $cvstr=explode('.',$request->cv);
  499. $cv=array_pop($cvstr);
  500. }
  501. //探测充值策略包
  502. $openForPurchase=[];
  503. $fromPacks=array_keys($checkDownPack);
  504. $fromPacksH5=array_keys($checkDownPackH5);
  505. /* $toPacks=array_map(function ($arr){
  506. return $arr['to'];
  507. },$checkDownPack);*/
  508. $toPacks=[];
  509. $toPacksToFrom=[];
  510. $checkDownPack=$checkDownPack+$checkDownPackH5;
  511. foreach ($checkDownPack as $key=>$config){
  512. $toPacks[]=$config['to'];
  513. $config['from']=$key;
  514. $toPacksToFrom[$config['to']]=$config;
  515. }
  516. //默认
  517. $Recharge=-1;
  518. //探测充值并且在记录内
  519. if(in_array($PackageName,$openForPurchase)&&in_array($PackageName,$fromPacks+$fromPacksH5)) {
  520. $Recharge = DB::connection('write')->table('QPRecordDB.dbo.RecordUserTotalStatistics')
  521. ->where('UserID', $UserID)
  522. ->select('Recharge')
  523. ->first();
  524. $Recharge=$Recharge?intval($Recharge->Recharge):0;
  525. }
  526. if($request->ip()=='116.86.210.235'){
  527. Util::WriteLog('topacks',compact('PackageName','fromPacks','fromPacksH5','Recharge','isH5'));
  528. }
  529. if($Recharge!=0&&(in_array($PackageName,$fromPacks)||$isH5&&in_array($PackageName,$fromPacksH5))){
  530. Util::WriteLog('frompacks',$request->all());
  531. $config=$checkDownPack[$PackageName];
  532. $toPackage=$config['to'];
  533. $showNoti=$config['show'];
  534. $needDown=$config['down'];
  535. $Channel=$config['Channel'];
  536. $downUrl=$config['url'];
  537. $icon=$config['icon']??'';
  538. }else if(in_array($PackageName,$toPacks)&&$isH5==0){
  539. Util::WriteLog('topacks',$request->all());
  540. $config=$toPacksToFrom[$PackageName];
  541. $fromPackage = $config['from'];
  542. $bonusPackage = true;
  543. $Channel = $config['Channel'];
  544. $downUrl = $config['url'];
  545. }else{
  546. return apiReturnSuc(['needDown'=>$needDown,'url'=>$downUrl,'showNoti'=>$showNoti]);
  547. }
  548. $redisKey = 'tcd_'.$PackageName.'_'.$UserID;
  549. if(Redis::exists($redisKey)){
  550. $state=Redis::get($redisKey);
  551. if($state==2){
  552. $showNoti=0;
  553. }
  554. $result=['needDown'=>$needDown,'url'=>$downUrl,'showNoti'=>$showNoti];
  555. if(isset($icon)&&strlen($icon)){
  556. $result['icon']=$icon;
  557. }
  558. if($state==2)return apiReturnSuc($result);
  559. }else {
  560. //每天过期
  561. Redis::set($redisKey, 1);
  562. Redis::expire($redisKey, 3600*1);
  563. }
  564. //查表
  565. $record=DB::table("QPRecordDB.dbo.AccountsChangeApk")->where('UserID', $UserID)->first();
  566. if($record){
  567. $record=(array)$record;
  568. Util::WriteLog('topacks',compact('bonusPackage','record','PackageName','UserID','downUrl','needDown','showNoti','Channel'));
  569. }else if($needDown){
  570. $record=['UserID'=>$UserID,
  571. 'FromPackage'=>$fromPackage,
  572. 'ToPackage'=>$toPackage,
  573. 'State'=>0,
  574. 'Channel'=>$Channel,
  575. ];
  576. DB::table("QPRecordDB.dbo.AccountsChangeApk")->insert($record);
  577. }
  578. //开奖励的
  579. if($bonusPackage&&$record&&$record['State']<2){
  580. //这是需要更新表
  581. DB::table("QPRecordDB.dbo.AccountsChangeApk")->where('UserID', $UserID)->update(['InstallTime'=>date('Y-m-d H:i:s'),'State'=>2]);
  582. RecordScoreInfo::addScore($UserID, (10 * 100), 42); #赠送彩金
  583. $amount = 10;
  584. $TitleString = 'Bem-vindo à versão segura do jogo';
  585. $TextString = "Sua recompensa de R$10 foi distribuída";
  586. PrivateMail::sendMail(2, $UserID, $TitleString, $TextString, '', '', 0, 3);
  587. $firstScore = DB::table('QPTreasureDB.dbo.GameScoreInfo')->where('UserID', $UserID)->value('Score');
  588. $Score = $amount*100 + $firstScore;
  589. DB::table('QPTreasureDB.dbo.GameScoreInfo')->where('UserID', $UserID)->increment('Score',$amount*100);
  590. // 服务器通知
  591. $url = config('transfer.stock')['url'] . 'notifyPay';
  592. // 2826383
  593. $data = [
  594. 'userid' => $UserID,
  595. 'getScore' => $amount,
  596. 'score' => $Score
  597. ];
  598. (new HttpCurl())->service($url, $data);
  599. Redis::set('tcd_'.$fromPackage.'_'.$UserID,2);
  600. }else if(isset($record)&&$record['State']==2){
  601. $needDown=0;
  602. $showNoti=0;
  603. Redis::set($redisKey, 2);
  604. }
  605. $result=['needDown'=>$needDown,'url'=>$downUrl,'showNoti'=>$showNoti];
  606. if(isset($icon)&&strlen($icon)){
  607. $result['icon']=$icon;
  608. }
  609. return apiReturnSuc($result);
  610. }
  611. public function clickDownloadNotice(Request $request){
  612. $PackageName = (string)$request->get('PackageName');
  613. $UserID = $request->get('UserID');
  614. //查表
  615. if(DB::table("QPRecordDB.dbo.AccountsChangeApk")->where('UserID', $UserID)->exists()){
  616. DB::table("QPRecordDB.dbo.AccountsChangeApk")->where('UserID', $UserID)->update(['ClickTimes'=>DB::raw('ClickTimes+1'),'State'=>1]);
  617. }
  618. return apiReturnSuc([]);
  619. }
  620. public function appconfig(Request $request)
  621. {
  622. $PackageName=$request->pack??"default";
  623. $locale=$request->l??"pt-BR";
  624. $config=[
  625. "default"=>['adj_token'=>"",'adj_config'=>'','config'=>'','ani_name'=>'','black'=>false],
  626. "com.ouro777.naclube"=>['adj_token'=>"",'adj_config'=>'','config'=>'','ani_name'=>'clube','black'=>false],
  627. "com.ouro777.ncandy"=>['adj_token'=>"",'adj_config'=>'','config'=>'','ani_name'=>'candy','black'=>false],
  628. "com.ouro777.tt001"=>['adj_token'=>"499wni62xfk0",'adj_config'=>'{"1":{"id":1,"key":"enter-Hall Time0-3s","name":"101从登陆进大厅成功时长1-3s","value":"mz8s29","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"2":{"id":2,"key":"enter-Hall Time3-5s","name":"102从登陆进大厅成功时长3-5s","value":"fuxnb9","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"3":{"id":3,"key":"enter-Hall Time5-10s","name":"103从登陆进大厅成功时长5-10s","value":"umdtsq","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"4":{"id":4,"key":"enter-Hall Time10-15s","name":"104从登陆进大厅成功时长10-15s","value":"5we1zn","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"5":{"id":5,"key":"enter-Hall Time15s+","name":"105从登陆进大厅成功时长15s以上","value":"mred8o","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"6":{"id":6,"key":"open-FirstRecharge","name":"10打开首充礼包界面的人数","value":"7ffte4","desc":"打开首充礼包界面的人数"},"7":{"id":7,"key":"open-game registration success","name":"11进B面且成功注册","value":"aenr4s","desc":"首先得进B面,然后成功注册(包括快速注册和手机注册,都算)"},"8":{"id":8,"key":"open-Shop player information","name":"12打开商城填写个人信息界面","value":"ak31ka","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面被打开,即统计"},"9":{"id":9,"key":"open-Shop player information save","name":"13商城个人信息保存成功","value":"3pigxw","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面玩家填写信息后,保存成功,即统计"},"10":{"id":10,"key":"open-game B side","name":"14进B面成功的用户","value":"8fi4q3","desc":"返回能进B面的消息的用户"},"11":{"id":11,"key":"open-New Shop payment page","name":"15新支付的支付页面成功弹出","value":"rrifvd","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面"},"12":{"id":12,"key":"open-New Shop payment page invalid","name":"16新支付拉起生成中页面失败","value":"e2qp7h","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面没有成功跳转的人数"},"13":{"id":13,"key":"open-New Shop payment page copy","name":"17新支付的支付页面点复制按钮","value":"m6bjum","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面,里的复制链接按钮,点击就算"},"14":{"id":14,"key":"login Success To Hall","name":"18登陆成功,准备进入大厅","value":"bd3bck","desc":"登陆成功返回,准备加载大厅场景"},"15":{"id":15,"key":"no Update","name":"19无需热更","value":"47wwzm","desc":"版本已是最新,无需热更"},"16":{"id":16,"key":"open-APP","name":"1打开应用人数","value":"tnnnzr","desc":"打开APP的人数"},"17":{"id":17,"key":"enter-Game Time0-3s","name":"201进游戏过程加载时长1-3s","value":"najwx2","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"18":{"id":18,"key":"enter-Game Time3-5s","name":"202进游戏过程加载时长3-5s","value":"4dh7fm","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"19":{"id":19,"key":"enter-Game Time5-10s","name":"203进游戏过程加载时长5-10s","value":"wk5j5c","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"20":{"id":20,"key":"enter-Game Time10-15s","name":"204进游戏过程加载时长10-15s","value":"39tv48","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"21":{"id":21,"key":"enter-Game Time15s+","name":"205进游戏过程加载时长15s以上","value":"7rvlnk","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"22":{"id":22,"key":"start Hotupdate","name":"20开始热更","value":"fhi6kd","desc":"检测到有新版本,准备热更"},"23":{"id":23,"key":"hotUpdate Success","name":"21热更完成","value":"ec4hyz","desc":"更新完成,准备重新启动"},"24":{"id":24,"key":"open-game A side","name":"22进A面","value":"kx8ii1","desc":"玩家进A面显示"},"25":{"id":25,"key":"login Success To Game","name":"23A面登陆成功,进游戏","value":"oim78t","desc":"玩家A面下登陆成功,需要直接进入游戏"},"26":{"id":26,"key":"quick Login YouKe","name":"24游客快速登录","value":"pqq2ip","desc":"启动游戏,直接游客登录进游戏"},"27":{"id":27,"key":"quick Login Phone","name":"25手机快速登录","value":"onizp6","desc":"启动偶像,直接手机账号登录进游戏"},"28":{"id":28,"key":"youkeLogin Need Register","name":"26游客登录失败,需要注册","value":"vcqokh","desc":"游客快速登录失败,需要注册"},"29":{"id":29,"key":"loginSuccess","name":"27登陆成功","value":"s4kog5","desc":"账号登陆成功"},"30":{"id":30,"key":"loginFailure","name":"28登录失败","value":"rbkwja","desc":"账号登陆失败"},"31":{"id":31,"key":"login ShowPhone","name":"29登录界面展示手机","value":"wipd8y","desc":"设置界面切换账号到登录"},"32":{"id":32,"key":"open-Loning...","name":"2加载过程人数","value":"lb2rqw","desc":"打开APP开始加载的人数(请求服务器成功)"},"33":{"id":33,"key":"enter-Shop Time0-3s","name":"301进商城过程加载时长0-3s","value":"sf3i9u","desc":"玩家打开商城的等待时间"},"34":{"id":34,"key":"enter-Shop Time3-5s","name":"302进商城过程加载时长3-5s","value":"3hdczt","desc":"玩家打开商城的等待时间"},"35":{"id":35,"key":"enter-Shop Time5-10s","name":"303进商城过程加载时长5-10s","value":"x7plvs","desc":"玩家打开商城的等待时间"},"36":{"id":36,"key":"enter-Shop Time10-15s","name":"304进商城过程加载时长10-15s","value":"342xmg","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"37":{"id":37,"key":"enter-Shop Time15s+","name":"305进商城过程加载时长15s以上","value":"5zto05","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"38":{"id":38,"key":"open-New Shop time1-5s","name":"306新支付拉起加载时长1-5s","value":"iytpr8","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"39":{"id":39,"key":"open-New Shop time5s+","name":"307新支付拉起加载时长5s以上","value":"hpiksl","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"40":{"id":40,"key":"open-New Shop invalid tips01","name":"308新支付拉起失败报错01","value":"e263ao","desc":"提示文本:“充值页面跳转失败,请稍后再试”这个错误(超时,异常,都会是这个)"},"41":{"id":41,"key":"open-New Shop invalid tips02","name":"309新支付拉起失败报错02","value":"vx3249","desc":"提示文本:“您的订单生成失败,请检查您填写的信息是否正确”"},"42":{"id":42,"key":"login ShowRegister","name":"30登录界面展示注册","value":"adn8vn","desc":"设置界面切换账号到登录"},"43":{"id":43,"key":"click-set logout","name":"31设置界面切换账号","value":"cbla0r","desc":"设置界面点击切换账号按钮"},"44":{"id":44,"key":"login Timeout30s","name":"32登录时间超过30秒","value":"m001o0","desc":"快速登录开始计时,30秒后还未登录成功或失败"},"45":{"id":45,"key":"quick Login A Side","name":"33A面快速登录","value":"ny6o05","desc":"玩家进A面,游客快速登录"},"46":{"id":46,"key":"registration success A side","name":"34A面注册成功","value":"8evbhr","desc":"玩家在A面,游客注册成功"},"47":{"id":47,"key":"registration failure","name":"35注册失败","value":"nusyuu","desc":"玩家注册失败"},"48":{"id":48,"key":"open server to login","name":"36连接成功准备登录","value":"6htu0c","desc":"服务器连接成功,准备发送登录数据"},"49":{"id":49,"key":"server already to login","name":"37服务已连接,直接登录","value":"8d2zow","desc":"服务器已连接,只需发送登录"},"50":{"id":50,"key":"open-New Shop not components","name":"38新支付没有QRCODE组件","value":"cuvqau","desc":"字面意思"},"51":{"id":51,"key":"VIP button","name":"39VIP功能点击入口次数","value":"d2f1d2","desc":"大厅的VIP功能入口点击的人数"},"52":{"id":52,"key":"open-game lobby","name":"3进B面大厅成功人数","value":"z3jf8c","desc":"成功进B面进到大厅的人数"},"53":{"id":53,"key":"VIP button-Melhorar","name":"40VIP功能点击升级按钮","value":"8h0f5m","desc":"VIP功能界面里面点击Melhorar的那个跳转商城按钮"},"54":{"id":54,"key":"Guide payment button","name":"41引导付费礼包的入口按钮点击","value":"uygj5v","desc":"只要是引导付费礼包的入口,用户主动去点击次数"},"55":{"id":55,"key":"Guide payment UI popup","name":"42引导付费礼包界面弹出次数","value":"yrti1h","desc":"引导付费礼包界面弹出成功,就记录一次,但是记录的是次数"},"56":{"id":56,"key":"Guide payment package one","name":"43引导付费礼包档位1购买按钮","value":"1ovma0","desc":"用户没有付费回到大厅主动弹的那个礼包,第一个充值档位的购买按钮点击"},"57":{"id":57,"key":"Guide payment package two","name":"44引导付费礼包档位2购买按钮","value":"s5t8qc","desc":"用户没有付费回到大厅主动弹的那个礼包,第二个充值档位的购买按钮点击"},"58":{"id":58,"key":"Guide payment close","name":"45引导付费礼包关闭按钮点击","value":"zd2kgz","desc":"用户没有付费回到大厅主动弹的那个礼包,关闭按钮点击"},"59":{"id":59,"key":"Lembrete de recarga open","name":"46游戏内没钱时的统一弹窗弹出次数","value":"u1liou","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,弹出次数"},"60":{"id":60,"key":"Lembrete de recarga go to mall","name":"47游戏内没钱时的统一弹窗点击跳转充值","value":"3hxt3i","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的跳转商城按钮点击次数"},"61":{"id":61,"key":"Lembrete de recarga close","name":"48游戏内没钱时的统一弹窗点击关闭按钮","value":"zbcnw6","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的关闭按钮点击次数"},"62":{"id":62,"key":"withdraw to recharge","name":"49提现弹出提醒充值弹框","value":"hzwbyc","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,弹出次数"},"63":{"id":63,"key":"open-Shop","name":"4商城页面被打开","value":"72rskl","desc":"打开商城页面的人数"},"64":{"id":64,"key":"withdraw to recharge go to mall","name":"50提现弹出提醒充值弹框后点击跳转充值","value":"hcb5im","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的跳转商城按钮点击次数"},"65":{"id":65,"key":"withdraw to recharge close","name":"51提现弹出提醒充值弹框后点击关闭按钮","value":"rh7p3p","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的关闭按钮点击次数"},"66":{"id":66,"key":"click-ShopItem","name":"5点击商城内任意充值档位按钮人数","value":"cwimt0","desc":"点商城内任意充值档位按钮人数"},"67":{"id":67,"key":"click-GoBuy","name":"6点击[proxima Etapa]跳转按钮成功人数","value":"2eqws2","desc":"点击商城选择渠道界面那个黄色的próxima Etapa按钮,且成功跳转人数"},"68":{"id":68,"key":"open-CashOut","name":"7打开提现页面的人数","value":"heuicd","desc":"打开提现页面的人数,注:多个页面可跳转到提现,这里是打开这个页面,而不是点击提现按钮"},"69":{"id":69,"key":"open-Agent","name":"8打开推广赚金页面人数","value":"r4vwwz","desc":"打开推广赚金页面的人数"},"70":{"id":70,"key":"open-VIPWeek","name":"9打开周卡界面的人数","value":"kkg542","desc":"打开周卡界面的人数"},"71":{"id":71,"key":"RocketLoad-pre-unpack","name":"01前置开始","value":"cej5we","desc":"01前置开始"},"72":{"id":72,"key":"RocketLoad-pre-finish","name":"02前置完成","value":"a276ub","desc":"02前置完成"},"73":{"id":73,"key":"RocketLoad-normal-startdown","name":"03下载init开始","value":"xi87ny","desc":"03下载init开始"},"74":{"id":74,"key":"RocketLoad-normal-downfinish","name":"04下载init完成","value":"rly5vr","desc":"04下载init完成"},"75":{"id":75,"key":"RocketLoad-normal-unpack","name":"05init解开","value":"po2r5s","desc":"05下载init解开"},"76":{"id":76,"key":"RocketLoad-normal-finish","name":"06init完成","value":"qntv7c","desc":"06下载init完成"}}','config'=>'','ani_name'=>'play','black'=>false],
  629. "com.fantasy.fruit"=>['adj_token'=>"srgiv5i6kphc",'adj_config'=>'{"1":{"id":1,"key":"enter-Hall Time0-3s","name":"101从登陆进大厅成功时长1-3s","value":"qf67bx","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"2":{"id":2,"key":"enter-Hall Time3-5s","name":"102从登陆进大厅成功时长3-5s","value":"88tdmx","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"3":{"id":3,"key":"enter-Hall Time5-10s","name":"103从登陆进大厅成功时长5-10s","value":"g36jgl","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"4":{"id":4,"key":"enter-Hall Time10-15s","name":"104从登陆进大厅成功时长10-15s","value":"6hadyq","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"5":{"id":5,"key":"enter-Hall Time15s+","name":"105从登陆进大厅成功时长15s以上","value":"olfgul","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"6":{"id":6,"key":"open-FirstRecharge","name":"10打开首充礼包界面的人数","value":"o0tvbn","desc":"打开首充礼包界面的人数"},"7":{"id":7,"key":"open-game registration success","name":"11进B面且成功注册","value":"pk06w4","desc":"首先得进B面,然后成功注册(包括快速注册和手机注册,都算)"},"8":{"id":8,"key":"open-Shop player information","name":"12打开商城填写个人信息界面","value":"vevhuw","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面被打开,即统计"},"9":{"id":9,"key":"open-Shop player information save","name":"13商城个人信息保存成功","value":"156mar","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面玩家填写信息后,保存成功,即统计"},"10":{"id":10,"key":"open-game B side","name":"14进B面成功的用户","value":"93rpfl","desc":"返回能进B面的消息的用户"},"11":{"id":11,"key":"open-New Shop payment page","name":"15新支付的支付页面成功弹出","value":"vnq5jc","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面"},"12":{"id":12,"key":"open-New Shop payment page invalid","name":"16新支付拉起生成中页面失败","value":"b0yxkk","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面没有成功跳转的人数"},"13":{"id":13,"key":"open-New Shop payment page copy","name":"17新支付的支付页面点复制按钮","value":"qk4mcl","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面,里的复制链接按钮,点击就算"},"14":{"id":14,"key":"login Success To Hall","name":"18登陆成功,准备进入大厅","value":"u39trn","desc":"登陆成功返回,准备加载大厅场景"},"15":{"id":15,"key":"no Update","name":"19无需热更","value":"x9b4lm","desc":"版本已是最新,无需热更"},"16":{"id":16,"key":"open-APP","name":"1打开应用人数","value":"5ysmeg","desc":"打开APP的人数"},"17":{"id":17,"key":"enter-Game Time0-3s","name":"201进游戏过程加载时长1-3s","value":"b3cegs","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"18":{"id":18,"key":"enter-Game Time3-5s","name":"202进游戏过程加载时长3-5s","value":"oq9663","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"19":{"id":19,"key":"enter-Game Time5-10s","name":"203进游戏过程加载时长5-10s","value":"hoebhc","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"20":{"id":20,"key":"enter-Game Time10-15s","name":"204进游戏过程加载时长10-15s","value":"8ur7vx","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"21":{"id":21,"key":"enter-Game Time15s+","name":"205进游戏过程加载时长15s以上","value":"z634dc","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"22":{"id":22,"key":"start Hotupdate","name":"20开始热更","value":"y5uzfi","desc":"检测到有新版本,准备热更"},"23":{"id":23,"key":"hotUpdate Success","name":"21热更完成","value":"zf1ply","desc":"更新完成,准备重新启动"},"24":{"id":24,"key":"open-game A side","name":"22进A面","value":"tnejh3","desc":"玩家进A面显示"},"25":{"id":25,"key":"login Success To Game","name":"23A面登陆成功,进游戏","value":"v57boe","desc":"玩家A面下登陆成功,需要直接进入游戏"},"26":{"id":26,"key":"quick Login YouKe","name":"24游客快速登录","value":"v5dljx","desc":"启动游戏,直接游客登录进游戏"},"27":{"id":27,"key":"quick Login Phone","name":"25手机快速登录","value":"m1ofjs","desc":"启动偶像,直接手机账号登录进游戏"},"28":{"id":28,"key":"youkeLogin Need Register","name":"26游客登录失败,需要注册","value":"1yx4vw","desc":"游客快速登录失败,需要注册"},"29":{"id":29,"key":"loginSuccess","name":"27登陆成功","value":"7t39gx","desc":"账号登陆成功"},"30":{"id":30,"key":"loginFailure","name":"28登录失败","value":"582nne","desc":"账号登陆失败"},"31":{"id":31,"key":"login ShowPhone","name":"29登录界面展示手机","value":"3yo6ra","desc":"设置界面切换账号到登录"},"32":{"id":32,"key":"open-Loning...","name":"2加载过程人数","value":"8vacc1","desc":"打开APP开始加载的人数(请求服务器成功)"},"33":{"id":33,"key":"enter-Shop Time0-3s","name":"301进商城过程加载时长0-3s","value":"p8o6kj","desc":"玩家打开商城的等待时间"},"34":{"id":34,"key":"enter-Shop Time3-5s","name":"302进商城过程加载时长3-5s","value":"melvsl","desc":"玩家打开商城的等待时间"},"35":{"id":35,"key":"enter-Shop Time5-10s","name":"303进商城过程加载时长5-10s","value":"frzav4","desc":"玩家打开商城的等待时间"},"36":{"id":36,"key":"enter-Shop Time10-15s","name":"304进商城过程加载时长10-15s","value":"wknf7d","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"37":{"id":37,"key":"enter-Shop Time15s+","name":"305进商城过程加载时长15s以上","value":"rx7yz1","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"38":{"id":38,"key":"open-New Shop time1-5s","name":"306新支付拉起加载时长1-5s","value":"9fkqro","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"39":{"id":39,"key":"open-New Shop time5s+","name":"307新支付拉起加载时长5s以上","value":"dfmwax","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"40":{"id":40,"key":"open-New Shop invalid tips01","name":"308新支付拉起失败报错01","value":"uwy9w6","desc":"提示文本:“充值页面跳转失败,请稍后再试”这个错误(超时,异常,都会是这个)"},"41":{"id":41,"key":"open-New Shop invalid tips02","name":"309新支付拉起失败报错02","value":"m3qs5w","desc":"提示文本:“您的订单生成失败,请检查您填写的信息是否正确”"},"42":{"id":42,"key":"login ShowRegister","name":"30登录界面展示注册","value":"h031i1","desc":"设置界面切换账号到登录"},"43":{"id":43,"key":"click-set logout","name":"31设置界面切换账号","value":"uu8t9r","desc":"设置界面点击切换账号按钮"},"44":{"id":44,"key":"login Timeout30s","name":"32登录时间超过30秒","value":"qjxzbk","desc":"快速登录开始计时,30秒后还未登录成功或失败"},"45":{"id":45,"key":"quick Login A Side","name":"33A面快速登录","value":"ls5p48","desc":"玩家进A面,游客快速登录"},"46":{"id":46,"key":"registration success A side","name":"34A面注册成功","value":"1dbolh","desc":"玩家在A面,游客注册成功"},"47":{"id":47,"key":"registration failure","name":"35注册失败","value":"bwsw3c","desc":"玩家注册失败"},"48":{"id":48,"key":"open server to login","name":"36连接成功准备登录","value":"sq8uzg","desc":"服务器连接成功,准备发送登录数据"},"49":{"id":49,"key":"server already to login","name":"37服务已连接,直接登录","value":"sevfr7","desc":"服务器已连接,只需发送登录"},"50":{"id":50,"key":"open-New Shop not components","name":"38新支付没有QRCODE组件","value":"difhgc","desc":"字面意思"},"51":{"id":51,"key":"VIP button","name":"39VIP功能点击入口次数","value":"1s04w6","desc":"大厅的VIP功能入口点击的人数"},"52":{"id":52,"key":"open-game lobby","name":"3进B面大厅成功人数","value":"andcgu","desc":"成功进B面进到大厅的人数"},"53":{"id":53,"key":"VIP button-Melhorar","name":"40VIP功能点击升级按钮","value":"uqiiei","desc":"VIP功能界面里面点击Melhorar的那个跳转商城按钮"},"54":{"id":54,"key":"Guide payment button","name":"41引导付费礼包的入口按钮点击","value":"yz5pwo","desc":"只要是引导付费礼包的入口,用户主动去点击次数"},"55":{"id":55,"key":"Guide payment UI popup","name":"42引导付费礼包界面弹出次数","value":"w0k2fu","desc":"引导付费礼包界面弹出成功,就记录一次,但是记录的是次数"},"56":{"id":56,"key":"Guide payment package one","name":"43引导付费礼包档位1购买按钮","value":"alkh13","desc":"用户没有付费回到大厅主动弹的那个礼包,第一个充值档位的购买按钮点击"},"57":{"id":57,"key":"Guide payment package two","name":"44引导付费礼包档位2购买按钮","value":"ukiupq","desc":"用户没有付费回到大厅主动弹的那个礼包,第二个充值档位的购买按钮点击"},"58":{"id":58,"key":"Guide payment close","name":"45引导付费礼包关闭按钮点击","value":"8ytrcl","desc":"用户没有付费回到大厅主动弹的那个礼包,关闭按钮点击"},"59":{"id":59,"key":"Lembrete de recarga open","name":"46游戏内没钱时的统一弹窗弹出次数","value":"uk7zk5","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,弹出次数"},"60":{"id":60,"key":"Lembrete de recarga go to mall","name":"47游戏内没钱时的统一弹窗点击跳转充值","value":"6gz9k8","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的跳转商城按钮点击次数"},"61":{"id":61,"key":"Lembrete de recarga close","name":"48游戏内没钱时的统一弹窗点击关闭按钮","value":"7b76vj","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的关闭按钮点击次数"},"62":{"id":62,"key":"withdraw to recharge","name":"49提现弹出提醒充值弹框","value":"hgsm6s","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,弹出次数"},"63":{"id":63,"key":"open-Shop","name":"4商城页面被打开","value":"9jxmgt","desc":"打开商城页面的人数"},"64":{"id":64,"key":"withdraw to recharge go to mall","name":"50提现弹出提醒充值弹框后点击跳转充值","value":"h7hlq1","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的跳转商城按钮点击次数"},"65":{"id":65,"key":"withdraw to recharge close","name":"51提现弹出提醒充值弹框后点击关闭按钮","value":"p11rsz","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的关闭按钮点击次数"},"66":{"id":66,"key":"click-ShopItem","name":"5点击商城内任意充值档位按钮人数","value":"1ugad7","desc":"点商城内任意充值档位按钮人数"},"67":{"id":67,"key":"click-GoBuy","name":"6点击[proxima Etapa]跳转按钮成功人数","value":"4rhhx8","desc":"点击商城选择渠道界面那个黄色的próxima Etapa按钮,且成功跳转人数"},"68":{"id":68,"key":"open-CashOut","name":"7打开提现页面的人数","value":"ixr4t4","desc":"打开提现页面的人数,注:多个页面可跳转到提现,这里是打开这个页面,而不是点击提现按钮"},"69":{"id":69,"key":"open-Agent","name":"8打开推广赚金页面人数","value":"8a343a","desc":"打开推广赚金页面的人数"},"70":{"id":70,"key":"open-VIPWeek","name":"9打开周卡界面的人数","value":"koaw2x","desc":"打开周卡界面的人数"},"71":{"id":71,"key":"RocketLoad-pre-unpack","name":"01前置开始","value":"ctxedy","desc":"01前置开始"},"72":{"id":72,"key":"RocketLoad-pre-finish","name":"02前置完成","value":"gshj22","desc":"02前置完成"},"73":{"id":73,"key":"RocketLoad-normal-startdown","name":"03下载init开始","value":"hqvhd5","desc":"03下载init开始"},"74":{"id":74,"key":"RocketLoad-normal-downfinish","name":"04下载init完成","value":"w1kdyd","desc":"04下载init完成"},"75":{"id":75,"key":"RocketLoad-normal-unpack","name":"05init解开","value":"laia25","desc":"05下载init解开"},"76":{"id":76,"key":"RocketLoad-normal-finish","name":"06init完成","value":"y94eyl","desc":"06下载init完成"}}','config'=>'','ani_name'=>'play','black'=>false],
  630. "com.fantasy.fruit2"=>['adj_token'=>"srgiv5i6kphc",'adj_config'=>'{"1":{"id":1,"key":"enter-Hall Time0-3s","name":"101从登陆进大厅成功时长1-3s","value":"qf67bx","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"2":{"id":2,"key":"enter-Hall Time3-5s","name":"102从登陆进大厅成功时长3-5s","value":"88tdmx","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"3":{"id":3,"key":"enter-Hall Time5-10s","name":"103从登陆进大厅成功时长5-10s","value":"g36jgl","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"4":{"id":4,"key":"enter-Hall Time10-15s","name":"104从登陆进大厅成功时长10-15s","value":"6hadyq","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"5":{"id":5,"key":"enter-Hall Time15s+","name":"105从登陆进大厅成功时长15s以上","value":"olfgul","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"6":{"id":6,"key":"open-FirstRecharge","name":"10打开首充礼包界面的人数","value":"o0tvbn","desc":"打开首充礼包界面的人数"},"7":{"id":7,"key":"open-game registration success","name":"11进B面且成功注册","value":"pk06w4","desc":"首先得进B面,然后成功注册(包括快速注册和手机注册,都算)"},"8":{"id":8,"key":"open-Shop player information","name":"12打开商城填写个人信息界面","value":"vevhuw","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面被打开,即统计"},"9":{"id":9,"key":"open-Shop player information save","name":"13商城个人信息保存成功","value":"156mar","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面玩家填写信息后,保存成功,即统计"},"10":{"id":10,"key":"open-game B side","name":"14进B面成功的用户","value":"93rpfl","desc":"返回能进B面的消息的用户"},"11":{"id":11,"key":"open-New Shop payment page","name":"15新支付的支付页面成功弹出","value":"vnq5jc","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面"},"12":{"id":12,"key":"open-New Shop payment page invalid","name":"16新支付拉起生成中页面失败","value":"b0yxkk","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面没有成功跳转的人数"},"13":{"id":13,"key":"open-New Shop payment page copy","name":"17新支付的支付页面点复制按钮","value":"qk4mcl","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面,里的复制链接按钮,点击就算"},"14":{"id":14,"key":"login Success To Hall","name":"18登陆成功,准备进入大厅","value":"u39trn","desc":"登陆成功返回,准备加载大厅场景"},"15":{"id":15,"key":"no Update","name":"19无需热更","value":"x9b4lm","desc":"版本已是最新,无需热更"},"16":{"id":16,"key":"open-APP","name":"1打开应用人数","value":"5ysmeg","desc":"打开APP的人数"},"17":{"id":17,"key":"enter-Game Time0-3s","name":"201进游戏过程加载时长1-3s","value":"b3cegs","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"18":{"id":18,"key":"enter-Game Time3-5s","name":"202进游戏过程加载时长3-5s","value":"oq9663","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"19":{"id":19,"key":"enter-Game Time5-10s","name":"203进游戏过程加载时长5-10s","value":"hoebhc","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"20":{"id":20,"key":"enter-Game Time10-15s","name":"204进游戏过程加载时长10-15s","value":"8ur7vx","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"21":{"id":21,"key":"enter-Game Time15s+","name":"205进游戏过程加载时长15s以上","value":"z634dc","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"22":{"id":22,"key":"start Hotupdate","name":"20开始热更","value":"y5uzfi","desc":"检测到有新版本,准备热更"},"23":{"id":23,"key":"hotUpdate Success","name":"21热更完成","value":"zf1ply","desc":"更新完成,准备重新启动"},"24":{"id":24,"key":"open-game A side","name":"22进A面","value":"tnejh3","desc":"玩家进A面显示"},"25":{"id":25,"key":"login Success To Game","name":"23A面登陆成功,进游戏","value":"v57boe","desc":"玩家A面下登陆成功,需要直接进入游戏"},"26":{"id":26,"key":"quick Login YouKe","name":"24游客快速登录","value":"v5dljx","desc":"启动游戏,直接游客登录进游戏"},"27":{"id":27,"key":"quick Login Phone","name":"25手机快速登录","value":"m1ofjs","desc":"启动偶像,直接手机账号登录进游戏"},"28":{"id":28,"key":"youkeLogin Need Register","name":"26游客登录失败,需要注册","value":"1yx4vw","desc":"游客快速登录失败,需要注册"},"29":{"id":29,"key":"loginSuccess","name":"27登陆成功","value":"7t39gx","desc":"账号登陆成功"},"30":{"id":30,"key":"loginFailure","name":"28登录失败","value":"582nne","desc":"账号登陆失败"},"31":{"id":31,"key":"login ShowPhone","name":"29登录界面展示手机","value":"3yo6ra","desc":"设置界面切换账号到登录"},"32":{"id":32,"key":"open-Loning...","name":"2加载过程人数","value":"8vacc1","desc":"打开APP开始加载的人数(请求服务器成功)"},"33":{"id":33,"key":"enter-Shop Time0-3s","name":"301进商城过程加载时长0-3s","value":"p8o6kj","desc":"玩家打开商城的等待时间"},"34":{"id":34,"key":"enter-Shop Time3-5s","name":"302进商城过程加载时长3-5s","value":"melvsl","desc":"玩家打开商城的等待时间"},"35":{"id":35,"key":"enter-Shop Time5-10s","name":"303进商城过程加载时长5-10s","value":"frzav4","desc":"玩家打开商城的等待时间"},"36":{"id":36,"key":"enter-Shop Time10-15s","name":"304进商城过程加载时长10-15s","value":"wknf7d","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"37":{"id":37,"key":"enter-Shop Time15s+","name":"305进商城过程加载时长15s以上","value":"rx7yz1","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"38":{"id":38,"key":"open-New Shop time1-5s","name":"306新支付拉起加载时长1-5s","value":"9fkqro","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"39":{"id":39,"key":"open-New Shop time5s+","name":"307新支付拉起加载时长5s以上","value":"dfmwax","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"40":{"id":40,"key":"open-New Shop invalid tips01","name":"308新支付拉起失败报错01","value":"uwy9w6","desc":"提示文本:“充值页面跳转失败,请稍后再试”这个错误(超时,异常,都会是这个)"},"41":{"id":41,"key":"open-New Shop invalid tips02","name":"309新支付拉起失败报错02","value":"m3qs5w","desc":"提示文本:“您的订单生成失败,请检查您填写的信息是否正确”"},"42":{"id":42,"key":"login ShowRegister","name":"30登录界面展示注册","value":"h031i1","desc":"设置界面切换账号到登录"},"43":{"id":43,"key":"click-set logout","name":"31设置界面切换账号","value":"uu8t9r","desc":"设置界面点击切换账号按钮"},"44":{"id":44,"key":"login Timeout30s","name":"32登录时间超过30秒","value":"qjxzbk","desc":"快速登录开始计时,30秒后还未登录成功或失败"},"45":{"id":45,"key":"quick Login A Side","name":"33A面快速登录","value":"ls5p48","desc":"玩家进A面,游客快速登录"},"46":{"id":46,"key":"registration success A side","name":"34A面注册成功","value":"1dbolh","desc":"玩家在A面,游客注册成功"},"47":{"id":47,"key":"registration failure","name":"35注册失败","value":"bwsw3c","desc":"玩家注册失败"},"48":{"id":48,"key":"open server to login","name":"36连接成功准备登录","value":"sq8uzg","desc":"服务器连接成功,准备发送登录数据"},"49":{"id":49,"key":"server already to login","name":"37服务已连接,直接登录","value":"sevfr7","desc":"服务器已连接,只需发送登录"},"50":{"id":50,"key":"open-New Shop not components","name":"38新支付没有QRCODE组件","value":"difhgc","desc":"字面意思"},"51":{"id":51,"key":"VIP button","name":"39VIP功能点击入口次数","value":"1s04w6","desc":"大厅的VIP功能入口点击的人数"},"52":{"id":52,"key":"open-game lobby","name":"3进B面大厅成功人数","value":"andcgu","desc":"成功进B面进到大厅的人数"},"53":{"id":53,"key":"VIP button-Melhorar","name":"40VIP功能点击升级按钮","value":"uqiiei","desc":"VIP功能界面里面点击Melhorar的那个跳转商城按钮"},"54":{"id":54,"key":"Guide payment button","name":"41引导付费礼包的入口按钮点击","value":"yz5pwo","desc":"只要是引导付费礼包的入口,用户主动去点击次数"},"55":{"id":55,"key":"Guide payment UI popup","name":"42引导付费礼包界面弹出次数","value":"w0k2fu","desc":"引导付费礼包界面弹出成功,就记录一次,但是记录的是次数"},"56":{"id":56,"key":"Guide payment package one","name":"43引导付费礼包档位1购买按钮","value":"alkh13","desc":"用户没有付费回到大厅主动弹的那个礼包,第一个充值档位的购买按钮点击"},"57":{"id":57,"key":"Guide payment package two","name":"44引导付费礼包档位2购买按钮","value":"ukiupq","desc":"用户没有付费回到大厅主动弹的那个礼包,第二个充值档位的购买按钮点击"},"58":{"id":58,"key":"Guide payment close","name":"45引导付费礼包关闭按钮点击","value":"8ytrcl","desc":"用户没有付费回到大厅主动弹的那个礼包,关闭按钮点击"},"59":{"id":59,"key":"Lembrete de recarga open","name":"46游戏内没钱时的统一弹窗弹出次数","value":"uk7zk5","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,弹出次数"},"60":{"id":60,"key":"Lembrete de recarga go to mall","name":"47游戏内没钱时的统一弹窗点击跳转充值","value":"6gz9k8","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的跳转商城按钮点击次数"},"61":{"id":61,"key":"Lembrete de recarga close","name":"48游戏内没钱时的统一弹窗点击关闭按钮","value":"7b76vj","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的关闭按钮点击次数"},"62":{"id":62,"key":"withdraw to recharge","name":"49提现弹出提醒充值弹框","value":"hgsm6s","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,弹出次数"},"63":{"id":63,"key":"open-Shop","name":"4商城页面被打开","value":"9jxmgt","desc":"打开商城页面的人数"},"64":{"id":64,"key":"withdraw to recharge go to mall","name":"50提现弹出提醒充值弹框后点击跳转充值","value":"h7hlq1","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的跳转商城按钮点击次数"},"65":{"id":65,"key":"withdraw to recharge close","name":"51提现弹出提醒充值弹框后点击关闭按钮","value":"p11rsz","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的关闭按钮点击次数"},"66":{"id":66,"key":"click-ShopItem","name":"5点击商城内任意充值档位按钮人数","value":"1ugad7","desc":"点商城内任意充值档位按钮人数"},"67":{"id":67,"key":"click-GoBuy","name":"6点击[proxima Etapa]跳转按钮成功人数","value":"4rhhx8","desc":"点击商城选择渠道界面那个黄色的próxima Etapa按钮,且成功跳转人数"},"68":{"id":68,"key":"open-CashOut","name":"7打开提现页面的人数","value":"ixr4t4","desc":"打开提现页面的人数,注:多个页面可跳转到提现,这里是打开这个页面,而不是点击提现按钮"},"69":{"id":69,"key":"open-Agent","name":"8打开推广赚金页面人数","value":"8a343a","desc":"打开推广赚金页面的人数"},"70":{"id":70,"key":"open-VIPWeek","name":"9打开周卡界面的人数","value":"koaw2x","desc":"打开周卡界面的人数"},"71":{"id":71,"key":"RocketLoad-pre-unpack","name":"01前置开始","value":"ctxedy","desc":"01前置开始"},"72":{"id":72,"key":"RocketLoad-pre-finish","name":"02前置完成","value":"gshj22","desc":"02前置完成"},"73":{"id":73,"key":"RocketLoad-normal-startdown","name":"03下载init开始","value":"hqvhd5","desc":"03下载init开始"},"74":{"id":74,"key":"RocketLoad-normal-downfinish","name":"04下载init完成","value":"w1kdyd","desc":"04下载init完成"},"75":{"id":75,"key":"RocketLoad-normal-unpack","name":"05init解开","value":"laia25","desc":"05下载init解开"},"76":{"id":76,"key":"RocketLoad-normal-finish","name":"06init完成","value":"y94eyl","desc":"06下载init完成"}}','config'=>'','ani_name'=>'play','black'=>false],
  631. "com.silamedia.chocolaterecipe"=>['adj_token'=>"stxguhycksn4",'adj_config'=>'{"1":{"id":1,"key":"enter-Hall Time0-3s","name":"101从登陆进大厅成功时长1-3s","value":"hdgu3b","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"2":{"id":2,"key":"enter-Hall Time3-5s","name":"102从登陆进大厅成功时长3-5s","value":"vpg4vx","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"3":{"id":3,"key":"enter-Hall Time5-10s","name":"103从登陆进大厅成功时长5-10s","value":"upx2sn","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"4":{"id":4,"key":"enter-Hall Time10-15s","name":"104从登陆进大厅成功时长10-15s","value":"g881rv","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"5":{"id":5,"key":"enter-Hall Time15s+","name":"105从登陆进大厅成功时长15s以上","value":"34l2eo","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"6":{"id":6,"key":"open-FirstRecharge","name":"10打开首充礼包界面的人数","value":"vtrhyj","desc":"打开首充礼包界面的人数"},"7":{"id":7,"key":"open-game registration success","name":"11进B面且成功注册","value":"dq59ph","desc":"首先得进B面,然后成功注册(包括快速注册和手机注册,都算)"},"8":{"id":8,"key":"open-Shop player information","name":"12打开商城填写个人信息界面","value":"sq4sq0","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面被打开,即统计"},"9":{"id":9,"key":"open-Shop player information save","name":"13商城个人信息保存成功","value":"qfv37u","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面玩家填写信息后,保存成功,即统计"},"10":{"id":10,"key":"open-game B side","name":"14进B面成功的用户","value":"i4137q","desc":"返回能进B面的消息的用户"},"11":{"id":11,"key":"open-New Shop payment page","name":"15新支付的支付页面成功弹出","value":"bxf1zi","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面"},"12":{"id":12,"key":"open-New Shop payment page invalid","name":"16新支付拉起生成中页面失败","value":"hn69qs","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面没有成功跳转的人数"},"13":{"id":13,"key":"open-New Shop payment page copy","name":"17新支付的支付页面点复制按钮","value":"gw5q86","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面,里的复制链接按钮,点击就算"},"14":{"id":14,"key":"login Success To Hall","name":"18登陆成功,准备进入大厅","value":"mc6tjz","desc":"登陆成功返回,准备加载大厅场景"},"15":{"id":15,"key":"no Update","name":"19无需热更","value":"4wvpct","desc":"版本已是最新,无需热更"},"16":{"id":16,"key":"open-APP","name":"1打开应用人数","value":"upilkr","desc":"打开APP的人数"},"17":{"id":17,"key":"enter-Game Time0-3s","name":"201进游戏过程加载时长1-3s","value":"k6ibc5","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"18":{"id":18,"key":"enter-Game Time3-5s","name":"202进游戏过程加载时长3-5s","value":"5ktg90","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"19":{"id":19,"key":"enter-Game Time5-10s","name":"203进游戏过程加载时长5-10s","value":"eye0n6","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"20":{"id":20,"key":"enter-Game Time10-15s","name":"204进游戏过程加载时长10-15s","value":"ouvcev","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"21":{"id":21,"key":"enter-Game Time15s+","name":"205进游戏过程加载时长15s以上","value":"aafmlw","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"22":{"id":22,"key":"start Hotupdate","name":"20开始热更","value":"1mudj2","desc":"检测到有新版本,准备热更"},"23":{"id":23,"key":"hotUpdate Success","name":"21热更完成","value":"tjk31x","desc":"更新完成,准备重新启动"},"24":{"id":24,"key":"open-game A side","name":"22进A面","value":"gzj8l1","desc":"玩家进A面显示"},"25":{"id":25,"key":"login Success To Game","name":"23A面登陆成功,进游戏","value":"6d7dpe","desc":"玩家A面下登陆成功,需要直接进入游戏"},"26":{"id":26,"key":"quick Login YouKe","name":"24游客快速登录","value":"nhgk8q","desc":"启动游戏,直接游客登录进游戏"},"27":{"id":27,"key":"quick Login Phone","name":"25手机快速登录","value":"gfrpyt","desc":"启动偶像,直接手机账号登录进游戏"},"28":{"id":28,"key":"youkeLogin Need Register","name":"26游客登录失败,需要注册","value":"2qyyom","desc":"游客快速登录失败,需要注册"},"29":{"id":29,"key":"loginSuccess","name":"27登陆成功","value":"159cp7","desc":"账号登陆成功"},"30":{"id":30,"key":"loginFailure","name":"28登录失败","value":"a66i3t","desc":"账号登陆失败"},"31":{"id":31,"key":"login ShowPhone","name":"29登录界面展示手机","value":"jnaf7b","desc":"设置界面切换账号到登录"},"32":{"id":32,"key":"open-Loning...","name":"2加载过程人数","value":"yfjiel","desc":"打开APP开始加载的人数(请求服务器成功)"},"33":{"id":33,"key":"enter-Shop Time0-3s","name":"301进商城过程加载时长0-3s","value":"8u4r26","desc":"玩家打开商城的等待时间"},"34":{"id":34,"key":"enter-Shop Time3-5s","name":"302进商城过程加载时长3-5s","value":"yx77ni","desc":"玩家打开商城的等待时间"},"35":{"id":35,"key":"enter-Shop Time5-10s","name":"303进商城过程加载时长5-10s","value":"1fbgdv","desc":"玩家打开商城的等待时间"},"36":{"id":36,"key":"enter-Shop Time10-15s","name":"304进商城过程加载时长10-15s","value":"eond8p","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"37":{"id":37,"key":"enter-Shop Time15s+","name":"305进商城过程加载时长15s以上","value":"h2ap3o","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"38":{"id":38,"key":"open-New Shop time1-5s","name":"306新支付拉起加载时长1-5s","value":"opm4wv","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"39":{"id":39,"key":"open-New Shop time5s+","name":"307新支付拉起加载时长5s以上","value":"v2wzqq","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"40":{"id":40,"key":"open-New Shop invalid tips01","name":"308新支付拉起失败报错01","value":"ae4tv3","desc":"提示文本:“充值页面跳转失败,请稍后再试”这个错误(超时,异常,都会是这个)"},"41":{"id":41,"key":"open-New Shop invalid tips02","name":"309新支付拉起失败报错02","value":"tdwvd0","desc":"提示文本:“您的订单生成失败,请检查您填写的信息是否正确”"},"42":{"id":42,"key":"login ShowRegister","name":"30登录界面展示注册","value":"zgi835","desc":"设置界面切换账号到登录"},"43":{"id":43,"key":"click-set logout","name":"31设置界面切换账号","value":"lye1cd","desc":"设置界面点击切换账号按钮"},"44":{"id":44,"key":"login Timeout30s","name":"32登录时间超过30秒","value":"xaubyr","desc":"快速登录开始计时,30秒后还未登录成功或失败"},"45":{"id":45,"key":"quick Login A Side","name":"33A面快速登录","value":"mduilk","desc":"玩家进A面,游客快速登录"},"46":{"id":46,"key":"registration success A side","name":"34A面注册成功","value":"fnchgq","desc":"玩家在A面,游客注册成功"},"47":{"id":47,"key":"registration failure","name":"35注册失败","value":"wd9gqp","desc":"玩家注册失败"},"48":{"id":48,"key":"open server to login","name":"36连接成功准备登录","value":"caibpq","desc":"服务器连接成功,准备发送登录数据"},"49":{"id":49,"key":"server already to login","name":"37服务已连接,直接登录","value":"6q15qa","desc":"服务器已连接,只需发送登录"},"50":{"id":50,"key":"open-New Shop not components","name":"38新支付没有QRCODE组件","value":"y3r2ax","desc":"字面意思"},"51":{"id":51,"key":"VIP button","name":"39VIP功能点击入口次数","value":"eu04tb","desc":"大厅的VIP功能入口点击的人数"},"52":{"id":52,"key":"open-game lobby","name":"3进B面大厅成功人数","value":"t2xvhh","desc":"成功进B面进到大厅的人数"},"53":{"id":53,"key":"VIP button-Melhorar","name":"40VIP功能点击升级按钮","value":"oe47hz","desc":"VIP功能界面里面点击Melhorar的那个跳转商城按钮"},"54":{"id":54,"key":"Guide payment button","name":"41引导付费礼包的入口按钮点击","value":"rd9nqp","desc":"只要是引导付费礼包的入口,用户主动去点击次数"},"55":{"id":55,"key":"Guide payment UI popup","name":"42引导付费礼包界面弹出次数","value":"ai95kh","desc":"引导付费礼包界面弹出成功,就记录一次,但是记录的是次数"},"56":{"id":56,"key":"Guide payment package one","name":"43引导付费礼包档位1购买按钮","value":"yzn0jd","desc":"用户没有付费回到大厅主动弹的那个礼包,第一个充值档位的购买按钮点击"},"57":{"id":57,"key":"Guide payment package two","name":"44引导付费礼包档位2购买按钮","value":"j34o4t","desc":"用户没有付费回到大厅主动弹的那个礼包,第二个充值档位的购买按钮点击"},"58":{"id":58,"key":"Guide payment close","name":"45引导付费礼包关闭按钮点击","value":"dhqhyt","desc":"用户没有付费回到大厅主动弹的那个礼包,关闭按钮点击"},"59":{"id":59,"key":"Lembrete de recarga open","name":"46游戏内没钱时的统一弹窗弹出次数","value":"6xxgqr","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,弹出次数"},"60":{"id":60,"key":"Lembrete de recarga go to mall","name":"47游戏内没钱时的统一弹窗点击跳转充值","value":"aawk66","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的跳转商城按钮点击次数"},"61":{"id":61,"key":"Lembrete de recarga close","name":"48游戏内没钱时的统一弹窗点击关闭按钮","value":"s44hoi","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的关闭按钮点击次数"},"62":{"id":62,"key":"withdraw to recharge","name":"49提现弹出提醒充值弹框","value":"9b8jqd","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,弹出次数"},"63":{"id":63,"key":"open-Shop","name":"4商城页面被打开","value":"h8012i","desc":"打开商城页面的人数"},"64":{"id":64,"key":"withdraw to recharge go to mall","name":"50提现弹出提醒充值弹框后点击跳转充值","value":"nb11cc","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的跳转商城按钮点击次数"},"65":{"id":65,"key":"withdraw to recharge close","name":"51提现弹出提醒充值弹框后点击关闭按钮","value":"e8jmzm","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的关闭按钮点击次数"},"66":{"id":66,"key":"click-ShopItem","name":"5点击商城内任意充值档位按钮人数","value":"tge79i","desc":"点商城内任意充值档位按钮人数"},"67":{"id":67,"key":"click-GoBuy","name":"6点击[proxima Etapa]跳转按钮成功人数","value":"yw1r51","desc":"点击商城选择渠道界面那个黄色的próxima Etapa按钮,且成功跳转人数"},"68":{"id":68,"key":"open-CashOut","name":"7打开提现页面的人数","value":"93rklo","desc":"打开提现页面的人数,注:多个页面可跳转到提现,这里是打开这个页面,而不是点击提现按钮"},"69":{"id":69,"key":"open-Agent","name":"8打开推广赚金页面人数","value":"yw54pq","desc":"打开推广赚金页面的人数"},"70":{"id":70,"key":"open-VIPWeek","name":"9打开周卡界面的人数","value":"bki2ct","desc":"打开周卡界面的人数"},"71":{"id":71,"key":"RocketLoad-pre-unpack","name":"01前置开始","value":"o5yxoz","desc":"01前置开始"},"72":{"id":72,"key":"RocketLoad-pre-finish","name":"02前置完成","value":"gf9j0h","desc":"02前置完成"},"73":{"id":73,"key":"RocketLoad-normal-startdown","name":"03下载init开始","value":"f6t870","desc":"03下载init开始"},"74":{"id":74,"key":"RocketLoad-normal-downfinish","name":"04下载init完成","value":"cznk1a","desc":"04下载init完成"},"75":{"id":75,"key":"RocketLoad-normal-unpack","name":"05init解开","value":"rey4d9","desc":"05下载init解开"},"76":{"id":76,"key":"RocketLoad-normal-finish","name":"06init完成","value":"52cqjl","desc":"06下载init完成"}}','config'=>'','ani_name'=>'play','black'=>false],
  632. "com.silamedia.chocolaterecipe2"=>['adj_token'=>"stxguhycksn4",'adj_config'=>'{"1":{"id":1,"key":"enter-Hall Time0-3s","name":"101从登陆进大厅成功时长1-3s","value":"hdgu3b","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"2":{"id":2,"key":"enter-Hall Time3-5s","name":"102从登陆进大厅成功时长3-5s","value":"vpg4vx","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"3":{"id":3,"key":"enter-Hall Time5-10s","name":"103从登陆进大厅成功时长5-10s","value":"upx2sn","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"4":{"id":4,"key":"enter-Hall Time10-15s","name":"104从登陆进大厅成功时长10-15s","value":"g881rv","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"5":{"id":5,"key":"enter-Hall Time15s+","name":"105从登陆进大厅成功时长15s以上","value":"34l2eo","desc":"玩家从登陆界面点登陆按钮后转圈到正式进大厅的时长"},"6":{"id":6,"key":"open-FirstRecharge","name":"10打开首充礼包界面的人数","value":"vtrhyj","desc":"打开首充礼包界面的人数"},"7":{"id":7,"key":"open-game registration success","name":"11进B面且成功注册","value":"dq59ph","desc":"首先得进B面,然后成功注册(包括快速注册和手机注册,都算)"},"8":{"id":8,"key":"open-Shop player information","name":"12打开商城填写个人信息界面","value":"sq4sq0","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面被打开,即统计"},"9":{"id":9,"key":"open-Shop player information save","name":"13商城个人信息保存成功","value":"qfv37u","desc":"商城那个用户名,手机,邮箱的填写界面,这个界面玩家填写信息后,保存成功,即统计"},"10":{"id":10,"key":"open-game B side","name":"14进B面成功的用户","value":"i4137q","desc":"返回能进B面的消息的用户"},"11":{"id":11,"key":"open-New Shop payment page","name":"15新支付的支付页面成功弹出","value":"bxf1zi","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面"},"12":{"id":12,"key":"open-New Shop payment page invalid","name":"16新支付拉起生成中页面失败","value":"hn69qs","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面没有成功跳转的人数"},"13":{"id":13,"key":"open-New Shop payment page copy","name":"17新支付的支付页面点复制按钮","value":"gw5q86","desc":"新的支付页,完全展示出来,那个带二维码和链接地址的页面,里的复制链接按钮,点击就算"},"14":{"id":14,"key":"login Success To Hall","name":"18登陆成功,准备进入大厅","value":"mc6tjz","desc":"登陆成功返回,准备加载大厅场景"},"15":{"id":15,"key":"no Update","name":"19无需热更","value":"4wvpct","desc":"版本已是最新,无需热更"},"16":{"id":16,"key":"open-APP","name":"1打开应用人数","value":"upilkr","desc":"打开APP的人数"},"17":{"id":17,"key":"enter-Game Time0-3s","name":"201进游戏过程加载时长1-3s","value":"k6ibc5","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"18":{"id":18,"key":"enter-Game Time3-5s","name":"202进游戏过程加载时长3-5s","value":"5ktg90","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"19":{"id":19,"key":"enter-Game Time5-10s","name":"203进游戏过程加载时长5-10s","value":"eye0n6","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"20":{"id":20,"key":"enter-Game Time10-15s","name":"204进游戏过程加载时长10-15s","value":"ouvcev","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"21":{"id":21,"key":"enter-Game Time15s+","name":"205进游戏过程加载时长15s以上","value":"aafmlw","desc":"从大厅次级页面进游戏时那个转圈的等待时间"},"22":{"id":22,"key":"start Hotupdate","name":"20开始热更","value":"1mudj2","desc":"检测到有新版本,准备热更"},"23":{"id":23,"key":"hotUpdate Success","name":"21热更完成","value":"tjk31x","desc":"更新完成,准备重新启动"},"24":{"id":24,"key":"open-game A side","name":"22进A面","value":"gzj8l1","desc":"玩家进A面显示"},"25":{"id":25,"key":"login Success To Game","name":"23A面登陆成功,进游戏","value":"6d7dpe","desc":"玩家A面下登陆成功,需要直接进入游戏"},"26":{"id":26,"key":"quick Login YouKe","name":"24游客快速登录","value":"nhgk8q","desc":"启动游戏,直接游客登录进游戏"},"27":{"id":27,"key":"quick Login Phone","name":"25手机快速登录","value":"gfrpyt","desc":"启动偶像,直接手机账号登录进游戏"},"28":{"id":28,"key":"youkeLogin Need Register","name":"26游客登录失败,需要注册","value":"2qyyom","desc":"游客快速登录失败,需要注册"},"29":{"id":29,"key":"loginSuccess","name":"27登陆成功","value":"159cp7","desc":"账号登陆成功"},"30":{"id":30,"key":"loginFailure","name":"28登录失败","value":"a66i3t","desc":"账号登陆失败"},"31":{"id":31,"key":"login ShowPhone","name":"29登录界面展示手机","value":"jnaf7b","desc":"设置界面切换账号到登录"},"32":{"id":32,"key":"open-Loning...","name":"2加载过程人数","value":"yfjiel","desc":"打开APP开始加载的人数(请求服务器成功)"},"33":{"id":33,"key":"enter-Shop Time0-3s","name":"301进商城过程加载时长0-3s","value":"8u4r26","desc":"玩家打开商城的等待时间"},"34":{"id":34,"key":"enter-Shop Time3-5s","name":"302进商城过程加载时长3-5s","value":"yx77ni","desc":"玩家打开商城的等待时间"},"35":{"id":35,"key":"enter-Shop Time5-10s","name":"303进商城过程加载时长5-10s","value":"1fbgdv","desc":"玩家打开商城的等待时间"},"36":{"id":36,"key":"enter-Shop Time10-15s","name":"304进商城过程加载时长10-15s","value":"eond8p","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"37":{"id":37,"key":"enter-Shop Time15s+","name":"305进商城过程加载时长15s以上","value":"h2ap3o","desc":"玩家打开商城的等待时间(基本判定为打开失败)"},"38":{"id":38,"key":"open-New Shop time1-5s","name":"306新支付拉起加载时长1-5s","value":"opm4wv","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"39":{"id":39,"key":"open-New Shop time5s+","name":"307新支付拉起加载时长5s以上","value":"v2wzqq","desc":"新的支付,点[proxima Etapa]跳转后会有个转圈生成的界面,这个界面到成功弹出充值页面消耗的时长"},"40":{"id":40,"key":"open-New Shop invalid tips01","name":"308新支付拉起失败报错01","value":"ae4tv3","desc":"提示文本:“充值页面跳转失败,请稍后再试”这个错误(超时,异常,都会是这个)"},"41":{"id":41,"key":"open-New Shop invalid tips02","name":"309新支付拉起失败报错02","value":"tdwvd0","desc":"提示文本:“您的订单生成失败,请检查您填写的信息是否正确”"},"42":{"id":42,"key":"login ShowRegister","name":"30登录界面展示注册","value":"zgi835","desc":"设置界面切换账号到登录"},"43":{"id":43,"key":"click-set logout","name":"31设置界面切换账号","value":"lye1cd","desc":"设置界面点击切换账号按钮"},"44":{"id":44,"key":"login Timeout30s","name":"32登录时间超过30秒","value":"xaubyr","desc":"快速登录开始计时,30秒后还未登录成功或失败"},"45":{"id":45,"key":"quick Login A Side","name":"33A面快速登录","value":"mduilk","desc":"玩家进A面,游客快速登录"},"46":{"id":46,"key":"registration success A side","name":"34A面注册成功","value":"fnchgq","desc":"玩家在A面,游客注册成功"},"47":{"id":47,"key":"registration failure","name":"35注册失败","value":"wd9gqp","desc":"玩家注册失败"},"48":{"id":48,"key":"open server to login","name":"36连接成功准备登录","value":"caibpq","desc":"服务器连接成功,准备发送登录数据"},"49":{"id":49,"key":"server already to login","name":"37服务已连接,直接登录","value":"6q15qa","desc":"服务器已连接,只需发送登录"},"50":{"id":50,"key":"open-New Shop not components","name":"38新支付没有QRCODE组件","value":"y3r2ax","desc":"字面意思"},"51":{"id":51,"key":"VIP button","name":"39VIP功能点击入口次数","value":"eu04tb","desc":"大厅的VIP功能入口点击的人数"},"52":{"id":52,"key":"open-game lobby","name":"3进B面大厅成功人数","value":"t2xvhh","desc":"成功进B面进到大厅的人数"},"53":{"id":53,"key":"VIP button-Melhorar","name":"40VIP功能点击升级按钮","value":"oe47hz","desc":"VIP功能界面里面点击Melhorar的那个跳转商城按钮"},"54":{"id":54,"key":"Guide payment button","name":"41引导付费礼包的入口按钮点击","value":"rd9nqp","desc":"只要是引导付费礼包的入口,用户主动去点击次数"},"55":{"id":55,"key":"Guide payment UI popup","name":"42引导付费礼包界面弹出次数","value":"ai95kh","desc":"引导付费礼包界面弹出成功,就记录一次,但是记录的是次数"},"56":{"id":56,"key":"Guide payment package one","name":"43引导付费礼包档位1购买按钮","value":"yzn0jd","desc":"用户没有付费回到大厅主动弹的那个礼包,第一个充值档位的购买按钮点击"},"57":{"id":57,"key":"Guide payment package two","name":"44引导付费礼包档位2购买按钮","value":"j34o4t","desc":"用户没有付费回到大厅主动弹的那个礼包,第二个充值档位的购买按钮点击"},"58":{"id":58,"key":"Guide payment close","name":"45引导付费礼包关闭按钮点击","value":"dhqhyt","desc":"用户没有付费回到大厅主动弹的那个礼包,关闭按钮点击"},"59":{"id":59,"key":"Lembrete de recarga open","name":"46游戏内没钱时的统一弹窗弹出次数","value":"6xxgqr","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,弹出次数"},"60":{"id":60,"key":"Lembrete de recarga go to mall","name":"47游戏内没钱时的统一弹窗点击跳转充值","value":"aawk66","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的跳转商城按钮点击次数"},"61":{"id":61,"key":"Lembrete de recarga close","name":"48游戏内没钱时的统一弹窗点击关闭按钮","value":"s44hoi","desc":"游戏里玩家没钱弹出的那个可跳商城的弹框,里面的关闭按钮点击次数"},"62":{"id":62,"key":"withdraw to recharge","name":"49提现弹出提醒充值弹框","value":"9b8jqd","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,弹出次数"},"63":{"id":63,"key":"open-Shop","name":"4商城页面被打开","value":"h8012i","desc":"打开商城页面的人数"},"64":{"id":64,"key":"withdraw to recharge go to mall","name":"50提现弹出提醒充值弹框后点击跳转充值","value":"nb11cc","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的跳转商城按钮点击次数"},"65":{"id":65,"key":"withdraw to recharge close","name":"51提现弹出提醒充值弹框后点击关闭按钮","value":"e8jmzm","desc":"玩家提现,点提取按钮时弹出提示充值的那个弹框,里面的关闭按钮点击次数"},"66":{"id":66,"key":"click-ShopItem","name":"5点击商城内任意充值档位按钮人数","value":"tge79i","desc":"点商城内任意充值档位按钮人数"},"67":{"id":67,"key":"click-GoBuy","name":"6点击[proxima Etapa]跳转按钮成功人数","value":"yw1r51","desc":"点击商城选择渠道界面那个黄色的próxima Etapa按钮,且成功跳转人数"},"68":{"id":68,"key":"open-CashOut","name":"7打开提现页面的人数","value":"93rklo","desc":"打开提现页面的人数,注:多个页面可跳转到提现,这里是打开这个页面,而不是点击提现按钮"},"69":{"id":69,"key":"open-Agent","name":"8打开推广赚金页面人数","value":"yw54pq","desc":"打开推广赚金页面的人数"},"70":{"id":70,"key":"open-VIPWeek","name":"9打开周卡界面的人数","value":"bki2ct","desc":"打开周卡界面的人数"},"71":{"id":71,"key":"RocketLoad-pre-unpack","name":"01前置开始","value":"o5yxoz","desc":"01前置开始"},"72":{"id":72,"key":"RocketLoad-pre-finish","name":"02前置完成","value":"gf9j0h","desc":"02前置完成"},"73":{"id":73,"key":"RocketLoad-normal-startdown","name":"03下载init开始","value":"f6t870","desc":"03下载init开始"},"74":{"id":74,"key":"RocketLoad-normal-downfinish","name":"04下载init完成","value":"cznk1a","desc":"04下载init完成"},"75":{"id":75,"key":"RocketLoad-normal-unpack","name":"05init解开","value":"rey4d9","desc":"05下载init解开"},"76":{"id":76,"key":"RocketLoad-normal-finish","name":"06init完成","value":"52cqjl","desc":"06下载init完成"}}','config'=>'','ani_name'=>'play','black'=>false],
  633. ];
  634. if(isset($config[$PackageName])){
  635. $config=$config[$PackageName];
  636. }else {
  637. $config=$config['default'];
  638. }
  639. $service = new IpCheck();
  640. $login_ip = IpLocation::getRealIp();
  641. $ipcheck=$service->ipCheck($login_ip,$PackageName,1);
  642. if($locale!='pt-BR'){
  643. // $ips=[$service->getIpLocation($login_ip),$service->iplogger($login_ip),$ipcheck];
  644. $lastRes=$service->lastLocation;
  645. Util::WriteLog('warnapp',compact('ipcheck','lastRes'));
  646. }
  647. //拉黑,不返回信息
  648. if(!$ipcheck){
  649. // $config=[];
  650. // $config['black']=true;
  651. }
  652. return $config;
  653. }
  654. }