WXtrialInterface.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>双子星云手机</title>
  7. <link rel="stylesheet" href="./config/css/vant.css">
  8. <link rel="stylesheet" href="./css/WXtrialInterface.css">
  9. <!-- <script src="https://lf9-cdn-tos.bytecdntp.com/cdn/expire-1-M/vConsole/3.12.1/vconsole.min.js"></script>
  10. <script>
  11. const vConsole = new VConsole();
  12. </script> -->
  13. </head>
  14. <body @touchmove.prevent>
  15. <div id="app" v-cloak>
  16. <!-- 计时卡计时 -->
  17. <div class="pfi flex timing" v-if="timingVisible" v-cloak>
  18. <div>{{countdownTime}}</div>
  19. <img class="wh22" src="../static/img/close.png" alt="" @click="handlecountdownTimeClose" />
  20. </div>
  21. <!-- 悬浮框 -->
  22. <div class="levitated-sphere" :style="levitatedSpherePositionData" v-cloak
  23. @click="levitatedSphereVisible = true">
  24. <img src="../static/img/xuanfu_icon.png" alt="" @touchmove.prevent="touchmoveLevitatedSphere"
  25. @touchend="touchendLevitatedSphere">
  26. </div>
  27. <div class="layout" :style="{height: height + 'px'}">
  28. <!-- 云机位置 -->
  29. <div class="layout-view">
  30. <video ref="rtcMediaPlayer" :style="rtcMediaPlayerStyle" width="100%" height="100%" autoplay id="playerVideo"
  31. class="videoRotate" x5-playsinline playsinline webkit-playsinline
  32. :controls="false" @touchmove.prevent="(event) => {engine.touchClick(event, 2)}"
  33. @touchstart.prevent="(event) => {engine.touchClick(event, 0)}"
  34. @touchend.prevent="touchendRtcMediaPlayer">
  35. 当前浏览器暂不支持、请使用谷歌浏览器或前往双子星客户端使用
  36. </video>
  37. </div>
  38. <!-- 底部按钮 -->
  39. <div class="layout-footer">
  40. <template v-for="item in footerBtn">
  41. <img :src="item.img" alt="" @click="footerBtnFun(item.key)">
  42. </template>
  43. </div>
  44. <!-- 右侧弹框 -->
  45. <van-popup v-model="levitatedSphereVisible" position="right" class="levitated-sphere-drawer"
  46. overlay-class="levitated-sphere-overlay" v-cloak>
  47. <div class="flex-column">
  48. <div class="flex-column-container">
  49. <div>
  50. <div v-for="item in definitionList" :key="item.key"
  51. :class="['tc drawer-item mb-20', {active: definitionValue === item.value}]"
  52. @click="definitionFun(item.value)">
  53. {{item.name}}
  54. </div>
  55. <div class="tc drawer-item" @click="resolutionRatio">
  56. 分辨率
  57. </div>
  58. </div>
  59. </div>
  60. <div class="exit">
  61. <template v-for="(item, index) in exitList">
  62. <div :key="item.key" :class="['tc', {'mb-20': index !== exitList.length - 1}, item.key]"
  63. @click="exitFun(item.key)">
  64. <img :src="item.img" alt="">
  65. <div class="drawer-item">
  66. {{item.name}}
  67. </div>
  68. </div>
  69. </template>
  70. </div>
  71. </div>
  72. </van-popup>
  73. <!-- 分辨率 -->
  74. <van-dialog v-model="resolutionRatioVisible" :show-confirm-button="false" class="resolution-ratio-modal"
  75. v-cloak>
  76. <div>
  77. <div>
  78. <div class="flex-jub resolution-ratio-btn">
  79. <div @click="resolutionRatioVisible = false">取消</div>
  80. <div @click="confirmResolution">确定</div>
  81. </div>
  82. <div class="resolution-ratio-list">
  83. <div v-for="(item, index) in resolutionRatioList" :key="item"
  84. :class="{active: phoneSize.dpi === item.dpi}" @click="phoneSize = item">
  85. <div class="tc">
  86. {{item.width}} x {{item.height}}
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. </van-dialog>
  93. <!-- 粘贴板 -->
  94. <van-dialog v-model="pasteVersionVisible" :show-confirm-button="false" class="paste-version-modal" v-cloak>
  95. <template v-if="pasteVersionList.length">
  96. <div class="tc paste-version-title pre">
  97. <span class="pab">粘贴版</span>
  98. <span class="pab paste-version-clear" @click="deletePasteVersion()">
  99. 清空
  100. </span>
  101. </div>
  102. <div class="paste-version-list">
  103. <div v-for="(item,index) in pasteVersionList" :key="item"
  104. :class="[{'mb-5': index!==pasteVersionList.length - 1}]">
  105. <van-swipe-cell>
  106. <div :class="`copy-value-${index}, ellipsis`" @click="copyPasteVersiontext">
  107. {{item.content}}
  108. </div>
  109. <template #right>
  110. <div class="paste-version-delete" @click="deletePasteVersion(item.id)">
  111. 删除
  112. </div>
  113. </template>
  114. </van-swipe-cell>
  115. </div>
  116. </div>
  117. </template>
  118. <template v-else>
  119. <div class="paste-version-empty flex-center-all h100">
  120. <div>
  121. <img src="./img/jianqieban_pic@2x.png" alt="">
  122. <div class="tc">
  123. 剪贴板为空
  124. </div>
  125. </div>
  126. </div>
  127. </template>
  128. <img class="pab paste-version-close" src="./img/guanbi_icon@2x.png" alt=""
  129. @click="pasteVersionVisible = false" />
  130. </van-dialog>
  131. <!-- 增加复制粘贴板 -->
  132. <van-dialog v-model="copyTextVisible" class="copy-text-modal" confirm-button-text="确定" show-cancel-button
  133. confirm-button-color="#3cc51f" v-cloak :before-close="beforeCloseCopy">
  134. <div class="tc">
  135. 读取剪贴板失败
  136. </div>
  137. <div>
  138. <van-field v-model="copyTextValue" placeholder="请输入复制到剪切板的内容" />
  139. </div>
  140. </van-dialog>
  141. <!-- 计费规则 -->
  142. <van-dialog v-model="billingRulesVisible" :show-confirm-button="false" class="billing-rules-modal" v-cloak>
  143. <div class="tc">
  144. <img class="billing-rules-img" src="./img/countdown.png" />
  145. </div>
  146. <div class="tc billing-rules-title">
  147. 计费规则
  148. </div>
  149. <div class="tc">进入云机开始计时,点击退出并下机停止计时。点击退出云机仍处于计时状态。</div>
  150. <div class="tc billing-rules-tips">云机时长剩余:<span class="billing-rules-time">{{countdownTime}}</span>
  151. </div>
  152. <div class="billing-rules-btn" @click="getRecommend">我知道了</div>
  153. </van-dialog>
  154. <!-- 应用推荐 -->
  155. <van-dialog v-model="applyRecommendVisible" :show-confirm-button="false" class="apply-recommend-modal"
  156. v-cloak>
  157. <div>
  158. <div class="tc apply-recommend-title">
  159. 应用推荐
  160. </div>
  161. <div class="apply-recommend-list">
  162. <div v-for="(item, index) in recommendList" :key="item.id"
  163. :class="['flex w100', {'mt-16': index !== 0}]">
  164. <div class="left flex-align-c">
  165. <img :src="item.imageUrl" alt="">
  166. <div>
  167. <div class="title ellipsis">{{item.filename}}</div>
  168. <div class="download-num">有{{item.installNum}}个人下载</div>
  169. </div>
  170. </div>
  171. <div class="right flex-align-c" @click="downAndInstallApk(item)">
  172. <div>
  173. 下载
  174. </div>
  175. </div>
  176. </div>
  177. </div>
  178. <div class="apply-recommend-btn tc" @click="getRecommend">
  179. 换一批
  180. </div>
  181. </div>
  182. <img class="apply-recommend-close pab" src="./img/close.png" alt=""
  183. @click="applyRecommendVisible = false" />
  184. </van-dialog>
  185. <!-- 超过指定触碰时间的弹窗提示 -->
  186. <van-dialog v-model="noOperationSetTimeoutTimeVisible" title="提示" show-cancel-button
  187. message="由于您长时间未操作,将自动断开视频链接(不影响云手机内应用运行)" :confirm-button-text="confirmButtonText"
  188. confirm-button-color="#3cc51f" cancel-button-text="继续操作" @cancel="noOperationSetTimeout('cancel')"
  189. @confirm="noOperationSetTimeout('cancel'), exit(), noOperationSetTimeoutTimeVisible = false">
  190. </van-dialog>
  191. </div>
  192. </div>
  193. </body>
  194. <script src="./config/js/jweixin.js"></script>
  195. <script src="./config/js/clipboard.js"></script>
  196. <script type="text/javascript" src="../static/js/uni.webview.1.5.2.js"></script>
  197. <script src="./config/js/vue.js"></script>
  198. <script src="./config/js/vant.js"></script>
  199. <script src="./config/js/axios.js"></script>
  200. <script src="./config/js/rtcEngine.min.js"></script>
  201. <script src="../static/lib/qs.js"></script>
  202. <script type="module" src="./js/WXtrialInterface.js"></script>
  203. </html>