博客列表 >uniapp小程序发布新版本提示用户更新

uniapp小程序发布新版本提示用户更新

搁浅
搁浅原创
2023年06月30日 15:49:27817浏览
  1. <script>
  2. export default {
  3. onLaunch: function() {
  4. this.update()
  5. },
  6. methods:{
  7. update() {
  8. // 获取小程序更新机制兼容
  9. if (uni.canIUse('getUpdateManager')) {
  10. const updateManager = uni.getUpdateManager()
  11. //1. 检查小程序是否有新版本发布
  12. updateManager.onCheckForUpdate((res) => {
  13. // 请求完新版本信息的回调
  14. if (res.hasUpdate) {
  15. //检测到新版本,需要更新,给出提示
  16. uni.showModal({
  17. title: '更新提示',
  18. content: '检测到新版本,是否下载新版本并重启小程序?',
  19. success: (res) => {
  20. if (res.confirm) {
  21. //2. 用户确定下载更新小程序,小程序下载及更新静默进行
  22. this.downLoadUpdate(updateManager)
  23. } else if (res.cancel) {
  24. //用户点击取消按钮的处理,如果需要强制更新,则给出二次弹窗,如果不需要,则这里的代码都可以删掉了
  25. uni.showModal({
  26. title: '温馨提示~',
  27. content: '本次版本更新涉及到新的功能添加,旧版本无法正常访问的哦~',
  28. showCancel: false, //隐藏取消按钮
  29. confirmText: "确定更新", //只保留确定更新按钮
  30. success: (res) => {
  31. if (res.confirm) {
  32. //下载新版本,并重新应用
  33. this.downLoadUpdate(updateManager)
  34. }
  35. }
  36. })
  37. }
  38. }
  39. })
  40. }
  41. })
  42. } else {
  43. // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
  44. uni.showModal({
  45. title: '提示',
  46. content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
  47. })
  48. }
  49. },
  50. /**
  51. * 下载小程序新版本并重启应用
  52. */
  53. downLoadUpdate(updateManager) {
  54. uni.showLoading();
  55. //静默下载更新小程序新版本
  56. updateManager.onUpdateReady(() => {
  57. uni.hideLoading()
  58. //新的版本已经下载好,调用 applyUpdate 应用新版本并重启
  59. updateManager.applyUpdate()
  60. })
  61. updateManager.onUpdateFailed(() => {
  62. // 新的版本下载失败
  63. uni.showModal({
  64. title: '已经有新版本了哟~',
  65. content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
  66. })
  67. })
  68. },
  69. }
  70. }
  71. </script>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议