function.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690
  1. //const { Toast } = require("../lib/bootstrap/dist/js/bootstrap.bundle");
  2. var name_pack = "";
  3. function categoryClick(categoryid) {
  4. startLoading();
  5. let subDomain = $("#subDomain").val();
  6. window.location.href = subDomain + '/Game/ListGames?categoryId=' + categoryid;
  7. }
  8. function navigatorClick(navigator) {
  9. startLoading();
  10. let subDomain = $("#subDomain").val();
  11. window.location.href = subDomain + '/' + navigator;
  12. }
  13. function buttonHeaderClick(urlRequest) {
  14. startLoading();
  15. let subDomain = $("#subDomain").val();
  16. console.log(urlRequest);
  17. window.location.href = subDomain + '/' + urlRequest;
  18. }
  19. function routeBackOnNull() {
  20. //startLoading();
  21. window.history.back();
  22. }
  23. function routeBack(url) {
  24. startLoading();
  25. let subDomain = $("#subDomain").val();
  26. window.location.href = subDomain + '/' + url;
  27. }
  28. function changeLanguage() {
  29. let subDomain = $("#subDomain").val();
  30. let url = subDomain + '/Partial/Language';
  31. startLoading();
  32. $.ajax({
  33. type: "POST",
  34. url: url,
  35. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  36. data: {
  37. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  38. },
  39. success: function (data) {
  40. console.log(data);
  41. stopLoading();
  42. $('#contentModel').html(data);
  43. $('#myContent').modal({ "backdrop": "static", keyboard: true });
  44. $('#myContent').modal('show');
  45. },
  46. failure: function (data) {
  47. stopLoading();
  48. },
  49. error: function (data) {
  50. stopLoading();
  51. }
  52. });
  53. }
  54. function changeLanguageAction(lang) {
  55. //let subDomain = $("#subDomain").val();
  56. //window.location.href = subDomain + '/Home/SetCulture?lang=' + lang;
  57. let subDomain = $("#subDomain").val();
  58. let url = subDomain + '/Home/SetCulture';
  59. startLoading();
  60. $.ajax({
  61. type: "POST",
  62. url: url,
  63. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  64. data: {
  65. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  66. lang: lang
  67. },
  68. success: function (data) {
  69. $('#myContent').modal('hide');
  70. startLoading();
  71. location.reload();
  72. },
  73. failure: function (data) {
  74. stopLoading();
  75. },
  76. error: function (data) {
  77. stopLoading();
  78. }
  79. });
  80. }
  81. function seeHistoryClick() {
  82. startLoading();
  83. let subDomain = $("#subDomain").val();
  84. window.location.href = subDomain + '/Account/History';
  85. }
  86. function seeRuleClick() {
  87. startLoading();
  88. let subDomain = $("#subDomain").val();
  89. window.location.href = subDomain + '/Account/Rule';
  90. }
  91. function rewardClick() {
  92. startLoading();
  93. let subDomain = $("#subDomain").val();
  94. window.location.href = subDomain + '/Account/GetRewards';
  95. }
  96. function updateProfileClick() {
  97. startLoading();
  98. let subDomain = $("#subDomain").val();
  99. window.location.href = subDomain + '/Account/UpdateProfile';
  100. }
  101. function changePassClick() {
  102. startLoading();
  103. let subDomain = $("#subDomain").val();
  104. window.location.href = subDomain + '/Account/ChangePass';
  105. }
  106. function logoutClick() {
  107. startLoading();
  108. let subDomain = $("#subDomain").val();
  109. window.location.href = subDomain + '/Home/Logout';
  110. }
  111. function playClick(gameId) {
  112. startLoading();
  113. let subDomain = $("#subDomain").val();
  114. window.location.href = subDomain + '/Play?gameId=' + gameId;
  115. }
  116. function convertPackageToName(pack) {
  117. console.log("package name: " + pack);
  118. if (pack === 'GTS_IWIN_KCQ_CamID_daily') {
  119. return 'GTS_IWIN_KCQ_daily';
  120. }
  121. return pack;
  122. }
  123. function convertPackageToTurn(pack) {
  124. console.log("package name: " + pack);
  125. if (pack === 'Gts_ggame_dailygg1_camid') {
  126. return '25';
  127. } else if (pack === 'Gts-ggame_dailygg2_camid') {
  128. return '50';
  129. }
  130. return 1;
  131. }
  132. function convertPackageToPrice(pack) {
  133. console.log("package name: " + pack);
  134. if (pack === 'Gts_ggame_dailygg1_camid') {
  135. return '50000';
  136. } else if (pack === 'Gts-ggame_dailygg2_camid') {
  137. return '100000';
  138. }
  139. return 1;
  140. }
  141. function cancelV2Package(packageName) {
  142. //let subDomain = $("#subDomain").val();
  143. let url = '/Account/CancelPackage';
  144. startLoading();
  145. $.ajax({
  146. type: "POST",
  147. url: url,
  148. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  149. data: {
  150. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  151. packageName: packageName
  152. },
  153. success: function (data) {
  154. if (data.code == "0") {
  155. location.reload();
  156. } else {
  157. toastr.error(data.message);
  158. }
  159. },
  160. failure: function (data) {
  161. stopLoading();
  162. },
  163. error: function (data) {
  164. stopLoading();
  165. }
  166. });
  167. }
  168. function showPackage() {
  169. startLoading();
  170. let subDomain = $("#subDomain").val();
  171. window.location.href = subDomain + '/Account/ListPackages';
  172. }
  173. function confirmAction(functionName, param) {
  174. let subDomain = $("#subDomain").val();
  175. let url = subDomain + '/Partial/Confirm';
  176. startLoading();
  177. $.ajax({
  178. type: "POST",
  179. url: url,
  180. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  181. data: {
  182. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  183. functionName: functionName,
  184. param: param
  185. },
  186. success: function (data) {
  187. console.log(data);
  188. stopLoading();
  189. $('#contentModel').html(data);
  190. $('#myContent').modal({ "backdrop": "static", keyboard: true });
  191. $('#myContent').modal('show');
  192. },
  193. failure: function (data) {
  194. stopLoading();
  195. },
  196. error: function (data) {
  197. stopLoading();
  198. }
  199. });
  200. }
  201. var packg = new Map();
  202. //var module = new Map();
  203. var name_pack = "";
  204. var action = "";
  205. packg.set("GTS_MEDU_Daily",
  206. {
  207. name: "GTS MEDU CamID Daily",
  208. module: "GTS_MEDU_Daily",
  209. regId: 5255,
  210. cancelId: 5107,
  211. price: 100000,
  212. turn: 00,
  213. content: "Would you like to register MEDU service 10c/day/learn all courses?",
  214. name_pack: "GTS_MEDU_Daily",
  215. contentCancel: "Are you sure to cancel MEDU daily package?"
  216. });
  217. //module.set("GTS_MGame_DailyMG1", "GTS_MGAME_DAILYMG1");
  218. //module.set("GTS_MGame_DailyMG2", "GTS_MGAME_DAILYMG2");
  219. function buyMoreTurn(msisdn) {
  220. //let newName = turn == 1 ? 'BKCQ1' : 'BKCQ3';
  221. action = "BUY";
  222. name_pack = "MG3";
  223. let dataObject = {
  224. "price": 30000,
  225. "turn": 3,
  226. "name": "MGame Daily MG3",
  227. //"packageType": "DAILY_PACKAGES",
  228. "content": "Would you like to buy more MGame playing turns (3cents/3playing times)?",
  229. "msisdn": msisdn,
  230. "module": "GTS_MGAME_DAILYMG1",
  231. "name_pack": name_pack,
  232. "id_pack": 5142
  233. };
  234. let data = JSON.stringify(dataObject);
  235. console.log("data " + data);
  236. console.log("cc.sys.os: " + cc.sys.os);
  237. console.log("cc.sys.OS_ANDROID: " + cc.sys.OS_ANDROID);
  238. console.log("cc.sys.OS_IOS: " + cc.sys.OS_IOS);
  239. if (cc.sys.os == cc.sys.OS_ANDROID || cc.sys.os == cc.sys.OS_LINUX) {
  240. console.log("luồng adnroid " + data);
  241. //toastr.success("On ANDROID");
  242. Android.sendDataBuyTurn(data);
  243. } else if (cc.sys.os == cc.sys.OS_IOS) {
  244. console.log("luồng ios " + data);
  245. let d = "sendDataBuyTurn(" + data + ")";
  246. console.log("new s: " + d);
  247. //toastr.success("On IOS");
  248. window.webkit.messageHandlers.log.postMessage("sendDataBuyTurn(" + data + ")");
  249. }
  250. }
  251. function checkMsisdn(phoneNumber) {
  252. let countryCode = "855";
  253. if (!phoneNumber || phoneNumber.length === 0 || !/^\d+$/.test(phoneNumber)) {
  254. return "";
  255. } else if (phoneNumber.startsWith("0")) {
  256. // 066200017
  257. phoneNumber = countryCode + phoneNumber.substring(1);
  258. return phoneNumber.trim();
  259. } else if (phoneNumber.startsWith(countryCode)) {
  260. return phoneNumber.trim();
  261. }
  262. return "";
  263. }
  264. function convertNamePackage(pack) {
  265. console.log("package name: " + pack);
  266. if (pack === 'GTS_MEDU_Daily') {
  267. return 'GTS_MEDU_Daily';
  268. }
  269. return pack;
  270. }
  271. function registerOnAppV2(msisdn, name) {
  272. action = "REG";
  273. let packInfo = packg.get(name);
  274. name_pack = packInfo.name_pack;
  275. let dataObject = {
  276. "price": packInfo.price,
  277. "turn": packInfo.turn,
  278. "name": packInfo.name,
  279. "content": packInfo.content,
  280. "msisdn": msisdn,
  281. "module": packInfo.module,
  282. "name_pack": name_pack,
  283. "id_pack": packInfo.regId
  284. };
  285. let data = JSON.stringify(dataObject);
  286. console.log("data " + data);
  287. console.log("cc.sys.os: " + cc.sys.os);
  288. console.log("cc.sys.OS_ANDROID: " + cc.sys.OS_ANDROID);
  289. console.log("cc.sys.OS_IOS: " + cc.sys.OS_IOS);
  290. if (cc.sys.os == cc.sys.OS_ANDROID || cc.sys.os == cc.sys.OS_LINUX) {
  291. console.log("luồng adnroid " + data);
  292. //toastr.success("On ANDROID");
  293. Android.sendDataBuyTurn(data);
  294. } else if (cc.sys.os == cc.sys.OS_IOS) {
  295. console.log("luồng ios " + data);
  296. let d = "sendDataBuyTurn(" + data + ")";
  297. console.log("new s: " + d);
  298. //toastr.success("On IOS");
  299. window.webkit.messageHandlers.log.postMessage("sendDataBuyTurn(" + data + ")");
  300. }
  301. }
  302. function cancelPackage(msisdn, name) {
  303. action = "CANCEL";
  304. let packInfo = packg.get(name);
  305. name_pack = packInfo.name_pack;
  306. let dataObject = {
  307. "price": 00,
  308. "turn": 00,
  309. "name": packInfo.name,
  310. "packageType": "CANCEL_PACKAGES",
  311. "content": "Are you sure want to cancel daily package?",
  312. "msisdn": msisdn,
  313. "module": packInfo.module,
  314. "name_pack": name_pack,
  315. "id_pack": packInfo.cancelId
  316. };
  317. let data = JSON.stringify(dataObject);
  318. console.log("data " + data);
  319. console.log("cc.sys.os: " + cc.sys.os);
  320. console.log("cc.sys.OS_ANDROID: " + cc.sys.OS_ANDROID);
  321. console.log("cc.sys.OS_IOS: " + cc.sys.OS_IOS);
  322. if (cc.sys.os == cc.sys.OS_ANDROID || cc.sys.os == cc.sys.OS_LINUX) {
  323. console.log("luồng adnroid " + data);
  324. //toastr.success("On ANDROID");
  325. Android.sendDataBuyTurn(data);
  326. } else if (cc.sys.os == cc.sys.OS_IOS) {
  327. console.log("luồng ios " + data);
  328. let d = "sendDataBuyTurn(" + data + ")";
  329. console.log("new s: " + d);
  330. //toastr.success("On IOS");
  331. window.webkit.messageHandlers.log.postMessage("sendDataBuyTurn(" + data + ")");
  332. }
  333. }
  334. function registerOnApp() {
  335. console.log("registerOnApp");
  336. let phoneNumber = document.getElementById("phonenumber").value;
  337. //let countryCode = configuration.get("country_code");
  338. let msisdn = checkMsisdn(phoneNumber);
  339. if (msisdn == "") {
  340. toastr.error("Msisdn is invalid!");
  341. return;
  342. }
  343. let package_Type = $("#packageName option:selected").attr("package-type");
  344. let mType = null;
  345. //let selectElement = document.getElementById("packageName");
  346. if (package_Type == 1) {
  347. mType = "DAILY_PACKAGES";
  348. } else if (package_Type == 2) {
  349. mType = "DETAIL_PACKAGES";
  350. }
  351. let mprice = $("#packageName option:selected").attr("package-price");
  352. let turn = $("#packageName option:selected").attr("package-turm");
  353. let name = $("#packageName option:selected").attr("package-name");
  354. let content = "";
  355. let module = "GGAME";
  356. let turnInt = parseInt(turn);
  357. let price = parseInt(mprice);
  358. console.log("name_pack: " + name_pack);
  359. name_pack = convertNamePackage($("#packageName option:selected").attr("value"));
  360. console.log("name_pack after: " + name_pack);
  361. let dataObject = {
  362. "price": price,
  363. "turn": turnInt,
  364. "name": name,
  365. "packageType": mType,
  366. "content": "",
  367. "msisdn": msisdn,
  368. "module": module,
  369. "name_pack": name_pack
  370. };
  371. let data = JSON.stringify(dataObject);
  372. console.log("data " + data);
  373. console.log("cc.sys.os: " + cc.sys.os);
  374. console.log("cc.sys.OS_ANDROID: " + cc.sys.OS_ANDROID);
  375. console.log("cc.sys.OS_IOS: " + cc.sys.OS_IOS);
  376. if (cc.sys.os == cc.sys.OS_ANDROID || cc.sys.os == cc.sys.OS_LINUX) {
  377. console.log("luồng adnroid " + data);
  378. //toastr.success("On ANDROID");
  379. Android.sendDataBuyTurn(data);
  380. } else if (cc.sys.os == cc.sys.OS_IOS) {
  381. console.log("luồng ios " + data);
  382. let d = "sendDataBuyTurn(" + data + ")";
  383. console.log("new s: " + d);
  384. //toastr.success("On IOS");
  385. window.webkit.messageHandlers.log.postMessage("sendDataBuyTurn(" + data + ")");
  386. }
  387. }
  388. function onPaymentCallback(code, refId, turn, price, content, msisdn) {
  389. console.log("name_pack: " + name_pack);
  390. console.log("content: " + content);
  391. //name_pack = $("#trongductest").attr("ppacktest");
  392. //console.log("name_pack: " + name_pack);
  393. //let subDomain = $("#subDomain").val();
  394. let url = '/Wap/RegisterFromWap';
  395. startLoading();
  396. $.ajax({
  397. type: "POST",
  398. url: url,
  399. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  400. data: {
  401. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  402. action: action,
  403. code: code,
  404. refId: refId,
  405. turn: turn,
  406. price: price,
  407. content: content,
  408. msisdn: msisdn,
  409. packg: convertPackageToName(name_pack)
  410. //name_pack: name_pack == null || name_pack == "null" || name_pack == "" ? content : name_pack
  411. },
  412. success: function (data) {
  413. stopLoading();
  414. if (data.error == "0") {
  415. toastr.success("Success");
  416. $('#message-dialog').modal('show');
  417. $('#message-content').html(data.error_content);
  418. setTimeout(function () {
  419. location.reload();
  420. }, 1000);
  421. } else
  422. toastr.error(data.error_content);
  423. },
  424. failure: function (data) {
  425. stopLoading();
  426. },
  427. error: function (data) {
  428. stopLoading();
  429. }
  430. });
  431. };
  432. function cancelPackageOnWap(packageCode) {
  433. let subDomain = $("#subDomain").val();
  434. let url = subDomain + '/Account/CancelOnWap?packageName=' + packageCode;
  435. window.location.href = url;
  436. }
  437. function registerPackage(packageCode) {
  438. let subDomain = $("#subDomain").val();
  439. let url = subDomain + '/Account/RegisterOnWap?packageName=' + packageCode;
  440. window.location.href = url;
  441. }
  442. function registerPackageActionClick() {
  443. let otp = $("#otp").val();
  444. let subDomain = $("#subDomain").val();
  445. let url = subDomain + '/Account/RegisterPackageAction';
  446. //startLoading();
  447. $.ajax({
  448. type: "POST",
  449. url: url,
  450. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  451. data: {
  452. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  453. otp: otp
  454. },
  455. success: function (data) {
  456. if (data.code == "0") {
  457. startLoading();
  458. location.reload();
  459. } else {
  460. document.getElementById("message").innerHTML = data.message;
  461. }
  462. //stopLoading();
  463. },
  464. failure: function (data) {
  465. //stopLoading();
  466. },
  467. error: function (data) {
  468. //stopLoading();
  469. }
  470. });
  471. }
  472. function updateProfileActionClick() {
  473. let username = $("#username").val();
  474. let birthday = $("#birthday").val();
  475. console.log("username: " + username);
  476. console.log("birthday: " + birthday);
  477. var formData = new FormData();
  478. formData.append('image', $('#user_avatar')[0].files[0]);
  479. formData.append('username', username);
  480. formData.append('birthday', birthday);
  481. formData.append('__RequestVerificationToken', $('input[name=__RequestVerificationToken]').val());
  482. let subDomain = $("#subDomain").val();
  483. let url = subDomain + '/Account/UpdateProfileAction';
  484. startLoading();
  485. $.ajax({
  486. type: "POST",
  487. url: url,
  488. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  489. processData: false,
  490. contentType: false,
  491. data: formData,
  492. success: function (data) {
  493. if (data.code == "0") {
  494. startLoading();
  495. window.location.href = subDomain + "/" + "Account";
  496. } else {
  497. toastr(data.message);
  498. }
  499. },
  500. failure: function (data) {
  501. stopLoading();
  502. },
  503. error: function (data) {
  504. stopLoading();
  505. }
  506. });
  507. }
  508. function forgotPassClick() {
  509. let account = $("#account").val();
  510. let subDomain = $("#subDomain").val();
  511. let url = subDomain + '/Home/ForgotPass';
  512. startLoading();
  513. $.ajax({
  514. type: "POST",
  515. url: url,
  516. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  517. data: {
  518. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  519. phonenumber: account,
  520. },
  521. success: function (data) {
  522. stopLoading();
  523. if (data.code == "0")
  524. toastr.success(data.message);
  525. else
  526. toastr.error(data.message);
  527. },
  528. failure: function (data) {
  529. stopLoading();
  530. },
  531. error: function (data) {
  532. stopLoading();
  533. }
  534. });
  535. }
  536. function newsReadClick(readId) {
  537. startLoading();
  538. let subDomain = $("#subDomain").val();
  539. window.location.href = subDomain + '/News/Read?readId=' + readId;
  540. }
  541. function loginClick() {
  542. startLoading();
  543. let subDomain = $("#subDomain").val();
  544. window.location.href = subDomain + '/Home/Login';
  545. }
  546. function registerClick() {
  547. startLoading();
  548. let subDomain = $("#subDomain").val();
  549. window.location.href = subDomain + '/Account/ListPackages';
  550. }
  551. function gameDetailClick(gameId) {
  552. startLoading();
  553. let subDomain = $("#subDomain").val();
  554. window.location.href = subDomain + '/Game/GameDetail?gameId=' + gameId;
  555. }
  556. function rateClick(gameId) {
  557. let subDomain = $("#subDomain").val();
  558. let url = subDomain + '/Partial/RatePartial';
  559. startLoading();
  560. $.ajax({
  561. type: "POST",
  562. url: url,
  563. headers: { 'RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() },
  564. data: {
  565. "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val(),
  566. gameId: gameId
  567. },
  568. success: function (data) {
  569. stopLoading();
  570. $('#contentModel').html(data);
  571. $('#myContent').modal({ "backdrop": "static", keyboard: true });
  572. $('#myContent').modal('show');
  573. },
  574. failure: function (data) {
  575. stopLoading();
  576. },
  577. error: function (data) {
  578. stopLoading();
  579. }
  580. });
  581. }
  582. function routeBackToApp() {
  583. console.log("BACK TO APP");
  584. window.location = "natcom://back";
  585. }
  586. function startLoading() {
  587. $("#loading").removeClass('hide');
  588. }
  589. function stopLoading() {
  590. console.log("stopLoading ...");
  591. setTimeout(function () {
  592. $("#loading").addClass('hide');
  593. }, 10);
  594. }
  595. window.onpageshow = function (event) {
  596. if (event.persisted) {
  597. window.location.reload()
  598. }
  599. };