1***@qq.com
1***@qq.com
  • 发布:2024-08-28 13:45
  • 更新:2024-10-25 17:51
  • 阅读:709

uni-upgrade-center - App安装后不显示弹窗

分类:uni-app

我在引用该插件后调用该函数,然后安装app新版本后不显示更新弹窗.是我函数调用不对吗还是哪里格式有问题,(我确保我的项目和uniapp后台绑定同一个云服务空间)

2024-08-28 13:45 负责人:无 分享
已邀请:
赵永强

赵永强 - 前端老菜鸟

可以看看我的插件https://ext.dcloud.net.cn/plugin?id=7286 支持传统服务器,也支持云函数

唐家三少

唐家三少 - 我要写代码

检查升级,只有新版本才会弹框,你可以在前端代码中打印一下服务端的返回信息,或者看一下云函数的日志。

  • 1***@qq.com (作者)

    好的 我看都是0啊

    2024-08-28 20:56

DCloud_UNI_LXH

DCloud_UNI_LXH

是否有报错信息,云端是否配置正常?贴一下 uni-admin 后台中 uni-upgrade-center 云函数的请求信息

  • 1***@qq.com (作者)

    是这个吗


    15:22:01.783 [本地调试][clientDB请求]表名:opendb-app-list,返回数据: {"code":0,"errCode":0,"message":"",...}

    15:22:01.845 [本地调试][clientDB请求]表名:opendb-app-versions

    15:22:02.066 [本地调试][clientDB请求]表名:opendb-app-versions,返回数据: {"code":0,"errCode":0,"message":"",...}

    2024-08-28 20:36

  • 1***@qq.com (作者)

    能加我qq帮我看一下吗 拜托拜托 1250236488

    2024-08-28 20:38

  • 唐家三少

    回复 1***@qq.com: 那说明云端没有错误,你要检查你的服务端新版本号的配置,只有更新了新版,才会有提示升级。

    2024-08-29 12:06

  • 1***@qq.com (作者)

    回复 唐家三少: 是mainfest.json里面的app基础配置里面吗,我是1.0.5 1.06 这样更新的

    能加一下我qq 帮我看一下吗 1250236488 拜托

    2024-08-29 13:10

  • 1***@qq.com (作者)

    回复 1***@qq.com: 这是我最新打包发行后的日志信息:

    {"code":0,"errCode":0,"message":"","errMsg":"","systemInfo":[],"data":[{"_id":"66d0075707a97091a941c09b","appid":"UNI2297894","contents":"修复已知bug","create_date":1724909399896,"name":"vn云端播放","platform":["Android"],"stable_publish":true,"store_list":[],"title":"更新内容","type":"native_app","url":"https://env-00jxh6pnc0n9.normal.cloudstatic.cn/UNI2297894_0829132645_1724909288843_0.apk?expire_at=1724912976&er_sign=7db4e7a518bc824912630ba7d3662464","version":"107"},{"_id":"66d0050fb5d950c810cb15e1","appid":"UNI2297894","contents":"更新版本","create_date":1724908815517,"name":"vn云端播放","platform":["Android"],"stable_publish":false,"store_list":[],"title":"更新版本","type":"native_app","url":"https://env-00jxh6pnc0n9.normal.cloudstatic.cn/UNI2297894_0829131723_1724908717395_0.apk?expire_at=1724912346&er_sign=abbed8e8d093b2554f0e57ec161cd8b0","version":"106"}],"count":2}

    2024-08-29 13:32

  • 1***@qq.com (作者)

    回复 唐家三少: 但是我的app他还是没有更新弹窗啥的

    2024-08-29 13:33

1***@qq.com

1***@qq.com (作者) - benben

这是对应的后台信息

  • DCloud_UNI_LXH

    版本号填写的不对啊,使用的是以 . 分隔的三段式格式

    2024-08-29 14:36

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 但是我这个再更新的话他没法在用1.x.x的形式了,他说必须大于当前版本(假如目前版本是106),我更新为1.0.7就不行

    2024-08-29 14:46

1***@qq.com

1***@qq.com (作者) - benben

我后面后台换成这个版本以.分割的版本
也不行

1***@qq.com

1***@qq.com (作者) - benben

这是我刚才复制的云函数信息
{"code":0,"errCode":0,"message":"","errMsg":"","systemInfo":[],"data":[{"_id":"66d0223b58a280277de35871","appid":"UNI2297894","contents":"修复已知bug","create_date":1724916284226,"create_env":"upgrade-center","is_mandatory":true,"is_silently":false,"name":"vn云端播放","platform":["Android"],"stable_publish":true,"store_list":[],"title":"更新版本10702","type":"native_app","uni_platform":"android","url":"https://env-00jxh6pnc0n9.normal.cloudstatic.cn/UNI2297894_0829152231_1724916252066_0.apk?expire_at=1724919872

  • DCloud_UNI_LXH

    按说不应该,看着都已经请求到新版本了。使用的什么版本的升级中心?在跳转这个页面的逻辑处调试一下,看看是否有报错信息,在升级中心插件包里搜这个页面名称就可以找到

    2024-08-29 16:42

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 你说的这个我点进去之后他没有ComponentPublicInstance这个东西,下面是有红色的波浪线

    2024-08-29 17:39

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 版本中心就是按照步骤在文件里面创建后直接用的模板

    2024-08-29 17:43

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 要不开个todesk吧,我不太会调试

    2024-08-29 17:55

1***@qq.com

1***@qq.com (作者) - benben

就是这个样子,指针悬停一会他又说什么导入..........,唉 咋回事这

  • DCloud_UNI_LXH

    你是 uni1 的,条件编译 uni-app x 的你都不用看,看下面的跳转逻辑,uni.navigator

    2024-08-30 16:08

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 麻烦看一下下面这个。

    2024-09-01 19:14

1***@qq.com

1***@qq.com (作者) - benben

我的插件版本已经是最新的了,我找到了弹窗不显示的原因是因为upgrade-pop.vue里面的url的地址是空的,所以才调用了uni.navigateBack()的方法返回上一层,而实际在call-check-version.ts里面是有对应的下载链接/应用名称/应用版本的,
我想知道的是,url这个地址是如何传到upgrade-pop.vue里面的,或者你可以告诉我,如何解决upgrade-pop.vue---url为空的问题,以下为具体图片解释:

  • DCloud_UNI_LXH

    你在填写应用信息的时候需要填。你填的时候没有填写安卓下载地址或 AppStore 跳转链接?那你希望让用户怎么下载升级呢?

    2024-09-02 15:42

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 这个是写了的,目前打的自定义基座里面是107.1.1版本,目前后台发行的版本是107.1.2

    2024-09-02 16:57

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 而且在call-check-version 里面也是能够检测到版本名称、版本id、新版本链接的

    2024-09-02 16:59

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 你看下下方

    2024-09-02 17:02

1***@qq.com

1***@qq.com (作者) - benben

链接是有的,但是upgrade-pop这个页面他接受不到传过来的url参数,想排查下这个url是从哪里没有传过来

  • DCloud_UNI_LXH

    升级中心请求到的信息会从 check-update.ts 文件中以 __package_info__ 为 key,存入 storage 中,可以在这里调试一下,看看存之前是否正常。我看你在 2024-08-29 15:31 的回复中,是有 url 的,现在没有 url 这个字段了,是因为改了什么东西或者发了新的版本吗?

    2024-09-02 17:37

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH:有url的,只是没打印出来

    2024-09-02 22:04

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: 好的我去调试一下

    2024-09-02 22:05

  • 1***@qq.com (作者)

    回复 DCloud_UNI_LXH: ok已经解决了,支付宝云他返回云链接是个空值,所以一直拿不到tempfileurl,一直判定为空,我们直接改了源码如下方:

    // #这里改动:原因接受不到支付宝云函数返回的信息

    uni.setStorageSync('PACKAGE_INFO_KEY', uniUpgradeCenterResult)

    2024-09-03 14:20

  • DCloud_UNI_LXH

    回复 1***@qq.com: 意思是支付宝云实际上在 uniUpgradeCenterResult 中是有返回 url 字段的,但是 uniCloud.getTempFileURL 处理后获取到的 tempFileURLundefined?但是按照升级中心此处的逻辑,就算 tempFileURL 的返回值是 undefined, 应该也不会影响到 uniUpgradeCenterResult 中的 url 才对

    2024-09-03 14:37

x***@qq.com

x***@qq.com

我也遇到类似的问题,

  • 1***@qq.com

    我也遇到了 找到原因了吗

    2024-12-23 14:48

1***@qq.com

1***@qq.com (作者) - benben

可能是因为支付宝云的问题,暂时搞不清楚了,但是可以明确的是这里支付宝云返回的链接里面的一个字段:tempfileurl为空,你们后面可以着手测试一下,可能是个bug

要回复问题请先登录注册