lib.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import $http from "./request.js";
  2. // 网络监听
  3. const NetWork = {
  4. // 网络状态
  5. isConnect:false,
  6. // 监听网络状态
  7. On(){
  8. // 获取当前网络状态
  9. uni.getNetworkType({
  10. success: (res) => {
  11. if(res.networkType!=='none'){
  12. this.isConnect=true;
  13. return;
  14. }
  15. uni.showModal({
  16. title: '',
  17. content:"请先连接网络哦",
  18. showCancel: false,
  19. confirmText: "确定",
  20. success: function (res) {
  21. }
  22. });
  23. }
  24. })
  25. // 监听网络状态变化
  26. uni.onNetworkStatusChange((res)=>{
  27. this.isConnect = res.isConnected;
  28. if(!res.isConnected){
  29. uni.showModal({
  30. title: '',
  31. content:"您目前处于断网状态",
  32. showCancel: false,
  33. confirmText: "确定",
  34. success: function (res) {
  35. }
  36. });
  37. }
  38. })
  39. }
  40. }
  41. // app更新
  42. const Update = function(showToast = false){
  43. // #ifdef APP-PLUS
  44. plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
  45. /*
  46. {
  47. "msg": "ok",
  48. "data": {
  49. "id": 1,
  50. "url": "http://www.baidu.com",
  51. "version": "1.0.1",
  52. "status": 1,
  53. "create_time": null
  54. }
  55. }
  56. */
  57. $http.post('/update',{
  58. ver:widgetInfo.version,
  59. }).then((res) => {
  60. let [err,result] = res;
  61. // 错误处理
  62. if (!$http.errorCheck(err,result)) return;
  63. // 成功
  64. var data = result.data.data;
  65. if (!data.url){
  66. // 无需更新
  67. if (showToast) {
  68. return uni.showToast({ title: 'YT无需更新',icon:"none" })
  69. }
  70. }
  71. uni.showModal({
  72. title: '发现新的版本',
  73. content: '最新版本:'+data.version,
  74. cancelText: '放弃更新',
  75. confirmText: '立即更新',
  76. success: res => {
  77. if(res.confirm){
  78. uni.downloadFile({
  79. url: data.url,
  80. success: (downloadResult) => {
  81. if (downloadResult.statusCode === 200) {
  82. plus.runtime.install(downloadResult.tempFilePath, {
  83. force: false
  84. }, function() {
  85. console.log('install success...');
  86. plus.runtime.restart();
  87. }, function(e) {
  88. console.error('install fail...');
  89. });
  90. }
  91. }
  92. });
  93. }
  94. }
  95. });
  96. });
  97. });
  98. // #endif
  99. }
  100. import config from "./config.js"
  101. export default {
  102. NetWork,
  103. Update
  104. }