version.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. graceUI-JS - 安卓 app 版本检查与更新
  3. link : graceui.hcoder.net
  4. author : 5213606@qq.com 深海
  5. 版权声明 :
  6. GraceUI 的版权约束是不能转售或者将 GraceUI 直接发布到公开渠道!
  7. 侵权必究,请遵守版权约定!
  8. */
  9. module.exports = {
  10. checkAndUpdate : function (url) {
  11. // url
  12. // 联网检查版本信息 此地址返回 json 形式的数据,
  13. // 预定格式{version : 1.1, url:"h5更新页面地址", apkurl : "最新版本 apk 安装文件地址", note : "更新说明"}
  14. // 连接服务器比对版本
  15. uni.request({
  16. url: url,
  17. method: 'GET',
  18. data: {},
  19. success: res => {
  20. // 获取 app 版本 [ 此版本在打包时设置 ]
  21. var currentVersion = plus.runtime.version;
  22. // 本地版本与服务器版本不一致进行更新
  23. if(res.data.version != currentVersion){
  24. uni.showModal({ //提醒用户更新
  25. title: "更新提示",
  26. content: res.data.note,
  27. confirmText : "立即更新",
  28. success: (res2) => {
  29. if (res2.confirm) {
  30. // 获取手机操作系统
  31. var vendor = plus.os.vendor;
  32. console.log(vendor);
  33. //Android - 2.2+ (支持): 返回字符串“Google”
  34. //iOS - 4.3+ (支持): 返回字符串“Apple”
  35. //可以根据操作系统进行具体的操作
  36. // 第 1 种方式 [ 浏览器打开更新页面 ]
  37. // 跳转到 h5 页面进行下载及更新
  38. plus.runtime.openURL(res.data.url);
  39. /* 第2 种方式 [ 直接下载安装 只适合 安卓]
  40. var dtask = plus.downloader.createDownload(res.data.apkurl, {method:"GET"}, function(d, status){
  41. if(status == 200){
  42. uni.showToast({
  43. title :'新版本下载成功,开始安装',
  44. icon :"none"
  45. });
  46. plus.runtime.install(d.filename);
  47. }
  48. });
  49. dtask.start();
  50. */
  51. }
  52. }
  53. })
  54. }
  55. }
  56. });
  57. }
  58. }