QgApi.ts 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. import fly from "flyio";
  2. import QgRewardedAd from "./QgRewardedAd";
  3. import QgIntersAd from "./QgIntersAd";
  4. import QgBanner from "./QgBanner";
  5. import Global from "../../Global";
  6. import QgNative from "./QgNative";
  7. import LogMgr from "../../LogMgr";
  8. export default class QgApi {
  9. public static createAdv () {
  10. if (!Global.isVivo)return ;
  11. this.createVideo() ;
  12. this.createInters() ;
  13. this.createNative() ;
  14. }
  15. public static createBanner () {
  16. if (!Global.isVivo)return ;
  17. this.createBannerAd() ;
  18. }
  19. private static createVideo() {
  20. QgRewardedAd.createRewardedVideo().then(()=>{
  21. QgRewardedAd.loadRewardedVideo().then()
  22. }).catch(()=>{
  23. setTimeout(()=>{
  24. if (!QgRewardedAd.isLoad_Rewarded) {
  25. this.createVideo() ;
  26. }
  27. },5000)
  28. })
  29. }
  30. private static createInters() {
  31. QgIntersAd.createInters().then().catch(()=>{
  32. setTimeout(()=>{
  33. if (!QgIntersAd.isLoad_Inters) {
  34. this.createInters() ;
  35. }
  36. },5000)
  37. })
  38. }
  39. private static createNative() {
  40. QgNative.createNative().then(()=>{
  41. QgNative.loadNative().then() ;
  42. }).catch(()=>{
  43. setTimeout(()=>{
  44. if (!QgNative.isLoad_Native) {
  45. this.createNative() ;
  46. }
  47. },5000)
  48. })
  49. }
  50. private static createBannerAd() {
  51. QgBanner.createBanner().then(()=>{
  52. if (Global.config.gameConfig.bannerShow == 1) {
  53. QgBanner.showBanner() ;
  54. }
  55. }).catch(()=>{
  56. setTimeout(()=>{
  57. if (!QgBanner.isLoad) {
  58. this.createBannerAd() ;
  59. }
  60. },5000)
  61. })
  62. }
  63. /**
  64. * 发起HTTPS网络请求
  65. */
  66. public static sponsorHttps(options) {
  67. if (!options.hasOwnProperty("url")) {
  68. console.warn("request param url is null")
  69. return
  70. }
  71. let url = options.url
  72. let data: any = null
  73. let param: any = {}
  74. if (!options.hasOwnProperty("method")) {
  75. param.method = "GET"
  76. } else {
  77. param.method = options.method
  78. }
  79. if (options.hasOwnProperty("data")) {
  80. data = options.data
  81. }
  82. if (options.hasOwnProperty("timeOut")) {
  83. param.timeout = options.timeout
  84. }
  85. if (options.hasOwnProperty("header")) {
  86. param.headers = options.header
  87. }
  88. param.pareseJson = true
  89. fly.request(url, data, param).then(data => {
  90. if (options.hasOwnProperty("success")) {
  91. options.success(data)
  92. }
  93. }).catch(e => {
  94. if (options.hasOwnProperty("fail")) {
  95. options.fail(data)
  96. }
  97. })
  98. }
  99. /**
  100. * 登录
  101. */
  102. public static login() {
  103. return new Promise((resolve, reject) => {
  104. // @ts-ignore
  105. if (qg.getSystemInfoSync().platformVersionCode >= 1063) {
  106. // @ts-ignore
  107. window.qg.login().then((res) => {
  108. if (res.data.token) {
  109. console.log('登录成功!!', res.data.token)
  110. resolve(res.data.token);
  111. }
  112. }, (err) => {
  113. resolve(false);
  114. console.error('登录失败' + JSON.stringify(err));
  115. })
  116. } else {
  117. resolve(false);
  118. console.error('版本号过低,无法登录')
  119. }
  120. })
  121. }
  122. /**
  123. * 分享
  124. */
  125. public static share() {
  126. // @ts-ignore
  127. qg.share()
  128. }
  129. /**
  130. * 判断是否已创建桌面图标
  131. */
  132. public static judgeShortIcon () {
  133. return new Promise((resolve,reject)=>{
  134. // @ts-ignore
  135. qg.hasShortcutInstalled({
  136. success : (res)=>{
  137. if (res) {
  138. resolve(false) ;
  139. }else {
  140. resolve(true) ;
  141. }
  142. },
  143. fail : (err)=>{
  144. LogMgr.log(err) ;
  145. reject(false) ;
  146. }
  147. })
  148. })
  149. }
  150. /**
  151. * 添加桌面图标
  152. */
  153. public static addShortcutIcon () {
  154. return new Promise((resolve)=>{
  155. this.judgeShortIcon().then((res)=>{
  156. if (res) {
  157. // @ts-ignore
  158. qg.installShortcut({
  159. message : '创建桌面游戏图标,快捷进入游戏!',
  160. success : ()=>{
  161. LogMgr.log('创建成功') ;
  162. resolve(true) ;
  163. },
  164. fail : ()=>{
  165. LogMgr.error('创建失败') ;
  166. resolve(false) ;
  167. }
  168. })
  169. }else {
  170. resolve(false) ;
  171. return
  172. }
  173. }).catch(()=>{
  174. resolve(false) ;
  175. return
  176. })
  177. })
  178. }
  179. }