MiddleUpdate.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. cc.Class({
  2. /**
  3. * 收到JNI发上来的事件
  4. *
  5. * @author Pyden
  6. * @date 2020-03-11
  7. * @param {Object} eventData
  8. */
  9. handleEvent (eventData) {
  10. /* eventData参数:
  11. * @param {String} sdkName
  12. * @param {String} eventKey
  13. * @param {Integer} code
  14. * @param {String} errorMsg
  15. * @param {Object} data
  16. */
  17. /*
  18. 版本更新回调事件,eventKey如下:
  19. update_download_start // 开始下载
  20. update_download_update_progress // 下载进度
  21. eventData.data.progress: 进度 0~100
  22. update_download_pause // 下载暂停
  23. update_download_finished // 下载完成
  24. update_download_fail // 下载失败
  25. eventData.errorMsg: 失败原因。枚举 Downloads.java
  26. */
  27. let eventKey = eventData.eventKey;
  28. switch (eventKey) {
  29. case 'update_download_start': {
  30. cc.game.emit('e_middle_update_download_start', eventData);
  31. break;
  32. }
  33. case 'update_download_update_progress': {
  34. cc.game.emit('e_middle_update_download_update_progress', eventData);
  35. break;
  36. }
  37. case 'update_download_pause': {
  38. cc.game.emit('e_middle_update_download_pause', eventData);
  39. break;
  40. }
  41. case 'update_download_finished': {
  42. cc.game.emit('e_middle_update_download_finished', eventData);
  43. break;
  44. }
  45. case 'update_download_fail': {
  46. cc.game.emit('e_middle_update_download_fail', eventData);
  47. break;
  48. }
  49. default: {
  50. break;
  51. }
  52. }
  53. },
  54. /**
  55. * 获取更新模块的配置信息
  56. *
  57. * @author Pyden
  58. * @date 2020-03-23
  59. * @returns {Object}
  60. * config.sdkName sdk名称
  61. */
  62. getConfig () {
  63. if (!this._config) {
  64. let gameConfig = G.MiddleMgr.getGameConfig();
  65. if (gameConfig && gameConfig.update) {
  66. this._config = gameConfig.update;
  67. }
  68. }
  69. return this._config;
  70. },
  71. /**
  72. * sdk名称。本模块只能有一个SDK
  73. *
  74. * @author Pyden
  75. * @date 2020-03-23
  76. * @returns {String}
  77. */
  78. getSdkName () {
  79. let config = this.getConfig() || {};
  80. return config.sdkName;
  81. },
  82. /**
  83. * 是否支持版本更新 update_isSupportUpdate
  84. *
  85. * @author Pyden
  86. * @date 2020-02-26
  87. * @returns {Boolean}
  88. */
  89. isSupportUpdate () {
  90. return false;
  91. },
  92. /**
  93. * 是否已下载更新 未使用 update_isDidDownload
  94. *
  95. * @author Pyden
  96. * @date 2020-02-26
  97. * @returns {Boolean}
  98. */
  99. isDidDownload () {
  100. return false;
  101. },
  102. /**
  103. * 暂停当前下载 update_pauseDownload
  104. *
  105. * @author Pyden
  106. * @date 2020-02-26
  107. */
  108. pauseDownload () {
  109. },
  110. /**
  111. * 继续当前下载 update_resumeDownload
  112. *
  113. * @author Pyden
  114. * @date 2020-02-26
  115. */
  116. resumeDownload () {
  117. },
  118. /**
  119. * 判断是否正在下载 未使用 update_isDownloading
  120. *
  121. * @author Pyden
  122. * @date 2020-02-26
  123. * @returns {Boolean}
  124. */
  125. isDownloading () {
  126. return false;
  127. },
  128. /**
  129. * 下载更新 update_download
  130. *
  131. * @author Pyden
  132. * @date 2020-02-26
  133. * @param {String} newAppUrl 下载地址
  134. * @param {String} newAppMd5 包的md5值
  135. * @returns {Boolean} 返回值表示是否调起下载
  136. */
  137. download (newAppUrl, newAppMd5) {
  138. return false;
  139. },
  140. /**
  141. * 安装更新 update_install
  142. *
  143. * @author Pyden
  144. * @date 2020-02-26
  145. * @returns {Boolean} 返回值表示是否调起安装
  146. */
  147. install () {
  148. return false;
  149. },
  150. /**
  151. * 获取包的下载保存地址 update_getDownloadedPath
  152. *
  153. * @author Pyden
  154. * @date 2020-02-26
  155. * @param {String} newAppUrl
  156. * @param {String} newAppMd5
  157. * @returns {String}
  158. */
  159. getDownloadedPath (newAppUrl, newAppMd5) {
  160. return '';
  161. },
  162. /**
  163. * 获取当前的下载进度(百分比) update_getCurProgress
  164. *
  165. * @author Pyden
  166. * @date 2020-02-26
  167. * @returns {Integer}
  168. */
  169. getCurProgress () {
  170. return 0;
  171. },
  172. /**
  173. * 设定仅WiFi下载 update_setWifiOnlyDownload
  174. *
  175. * @author Pyden
  176. * @date 2020-02-26
  177. * @param {Boolean} wifiOnly
  178. */
  179. setWifiOnlyDownload (wifiOnly) {
  180. },
  181. /**
  182. * 设置静默下载 update_setSilenceDownload
  183. *
  184. * @author Pyden
  185. * @date 2020-02-26
  186. * @param {Boolean} silence
  187. */
  188. setSilenceDownload (silence) {
  189. },
  190. /**
  191. * 删除已下载的文件 调试用 update_deleteDownloadedApk
  192. *
  193. * @author Pyden
  194. * @date 2020-02-26
  195. * @returns {Boolean} 返回值表示是否删除
  196. */
  197. deleteDownloadedApk () {
  198. return false;
  199. }
  200. });