index.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  6. <title>WestKiss</title>
  7. <link rel="stylesheet" type="text/css" href="./css/api.css" />
  8. <link rel="stylesheet" type="text/css" href="./css/common.css" />
  9. <style>
  10. .page {
  11. width: 100%;
  12. height: 100%;
  13. background: #fff;
  14. display:flex;
  15. justify-content:center;
  16. align-items: center;
  17. }
  18. .body{
  19. position: relative;
  20. }
  21. .center{
  22. display:-webkit-box;
  23. -webkit-box-orient:vertical;
  24. -webkit-box-pack:center;
  25. -webkit-box-align:center;
  26. position: fixed;
  27. top: 50%;
  28. left: 50%;
  29. transform: translate3d(-50%,-50%,0);
  30. width: 40px;
  31. height: 40px;
  32. }
  33. .img{
  34. display:block;
  35. width: 40px;
  36. height: 40px;
  37. }
  38. </style>
  39. </head>
  40. <body>
  41. <div id="wrap" style='background:#ffffff;'>
  42. <div id="main" class='center'>
  43. <img id='loading' src='image/loading.gif'>
  44. </div>
  45. </div>
  46. </body>
  47. <script type="text/javascript" src="./script/api.js"></script>
  48. <script type="text/javascript">
  49. var launchRemoved = false;
  50. var loadingRemoved = false;
  51. apiready = function(){
  52. api.setStatusBarStyle({
  53. style: 'light'
  54. });
  55. api.openFrame({
  56. name: 'main',
  57. url: 'https://m.westkiss.com',
  58. rect: {
  59. x: 0,
  60. y: 0,
  61. w: 'auto',
  62. h: 'auto'
  63. },
  64. useWKWebView: true,
  65. historyGestureEnabled: true,
  66. bounces: false,
  67. progress:{
  68. type:'page'
  69. }
  70. });
  71. api.setStatusBarStyle({
  72. style: 'light'
  73. });
  74. api.setFrameClient({
  75. frameName:'main'
  76. },function(ret){
  77. onBrowserStateChange(ret);
  78. });
  79. removeLogic();
  80. api.addEventListener({
  81. name: 'keyback'
  82. }, function(ret, err){
  83. api.historyBack({
  84. frameName:'main'
  85. },function(ret,err){
  86. if(!ret.status){
  87. api.closeWidget();
  88. }
  89. });
  90. });
  91. removeLogic();
  92. googlePushInit();
  93. };
  94. function onBrowserStateChange(ret){
  95. if(0 == ret.state){//开始加载
  96. if(!launchRemoved){
  97. launchRemoved = true;
  98. removeLaunch();
  99. }
  100. }
  101. if(2 == ret.state){
  102. if(!loadingRemoved){
  103. loadingRemoved = true;
  104. document.getElementById('loading').style.display = 'none';
  105. }
  106. }
  107. }
  108. function removeLogic(){
  109. setTimeout(function(){
  110. if(!launchRemoved){
  111. launchRemoved = true;
  112. removeLaunch();
  113. }
  114. }, 3000);
  115. }
  116. function removeLaunch(){
  117. api.removeLaunchView({
  118. animation:{
  119. type:"fade",
  120. subType:"from_right",
  121. duration:300
  122. }
  123. });
  124. }
  125. // google推送
  126. function googlePushInit() {
  127. var googlePush = api.require('googlePush');
  128. // 初始化
  129. googlePush.initFcm(function(ret, err) {
  130. console.log('---initFcm satrt---');
  131. console.log(JSON.stringify(ret));
  132. console.log(JSON.stringify(err));
  133. console.log('---initFcm end---');
  134. // 获取token
  135. googlePush.registerToken(function(ret, err){
  136. console.log('---registerToken satrt---');
  137. console.log(JSON.stringify(ret));
  138. console.log(JSON.stringify(err));
  139. console.log('---registerToken end---');
  140. });
  141. // 收到消息时会触发
  142. googlePush.addOnMessageLisener(function(ret){
  143. console.log('---addOnMessageLisener satrt---');
  144. console.log(JSON.stringify(ret));
  145. console.log('---addOnMessageLisener end---');
  146. });
  147. });
  148. // 监听通知栏消息被点击
  149. api.addEventListener({
  150. name:'appintent'
  151. },function(ret,err){
  152. console.log('---appintent satrt---');
  153. /*
  154. {
  155. "iosUrl":"",
  156. "sourceAppId":"com.westkiss.m",
  157. "appParam":{
  158. "android.intent.extra.REFERRER":"com.westkiss.m",
  159. "google.delivered_priority":"high",
  160. "google.sent_time":1672015802071,
  161. "google.ttl":604800,
  162. "google.original_priority":"high",
  163. "title ":"02 test",
  164. "url":"https://m.westkiss.com/return_policy",
  165. "from":"506304076475",
  166. "google.message_id":"0:1672015802081797%3781dfb93781dfb9",
  167. "content":"this is test 002",
  168. "collapse_key":"com.westkiss.m"
  169. }
  170. }
  171. */
  172. console.log(JSON.stringify(ret));
  173. console.log(JSON.stringify(err));
  174. console.log('---appintent end---');
  175. var appParam = ret.appParam;
  176. if(api.systemType == 'ios'){
  177. var iosUrl = ret.iosUrl;
  178. } else {
  179. var sourceAppId = ret.sourceAppId;
  180. console.log(JSON.stringify(appParam));
  181. if(appParam.url) {
  182. api.openWin({
  183. name: 'WestKiss Sale',
  184. url: appParam.url,
  185. pageParam: {
  186. name: 'test'
  187. }
  188. });
  189. }
  190. }
  191. });
  192. }
  193. </script>
  194. </html>