t***@qq.com
t***@qq.com
  • 发布:2022-05-09 15:52
  • 更新:2022-05-11 17:43
  • 阅读:483

【报Bug】uni-app使用自定义基座运行正常,打云端正式包,点击页面不跳转,会卡住不动

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 11 家庭中文版-21H2-22000.613

HBuilderX类型: 正式

HBuilderX版本号: 3.4.7

手机系统: Android

手机系统版本号: Android 12

手机厂商: 联想

手机机型: 小新Pad Plus 和 华为nova5z

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
uni.navigateTo({  
     url:"/pages/crystal/growth/crystalRemoval/manage/manage",  
     fail:(res)=>{  
     }  
})

操作步骤:

在自定义基座上运行是正常都, 就是打云端正式包的时候出现问题,单纯点击页面跳转app卡住不动, 有的页面也能正常跳转, 页面的区别就在于, 一个路径比较浅,一个路径比较深

预期结果:

正常页面跳转

实际结果:

app卡住不动

bug描述:

uni-app使用自定义基座运行正常,打云端正式包,点击页面不跳转,会卡住不动,包括弹出的消息界面也是卡住不消失。
有部分页面跳转正常,这个不正常的页面跳转的目录层次比较深,怀疑可能是这个问题

2022-05-09 15:52 负责人:无 分享
已邀请:
t***@qq.com

t***@qq.com (作者)

经过多次测试,发现跟路径也没有关系,实在找不到原因了。关键是这个还只能打包成正式包才能发现问题

小枫叶

小枫叶 - 外包接单加v:wlmk1234567 注明来意

你创建个空项目 然后 搞得路径深一点 再打包 测试一下

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

    测试了, 好想跟路径没关系, 因为同样的页面, 我在登录页面是能打开的,在登录后的tabBar首页是打不开得,不知道啥原因

    2022-05-10 08:57

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

    请看最新回复

    2022-05-10 15:29

t***@qq.com

t***@qq.com (作者)

经过两天不断打包测试, 发现问题所在。应该是tabBar首页引用了一个自定义组件 “navbar”, 首页要跳转的页面也引用了这个自定义组件,所以新的页面就打不开了。
我是将首页的引入"navbar"的组件注释掉后,发现其他的页面都能正常打开。再次强调这个只是在打正式包的时候才出现的问题,自定义基座调试没有任何问题.。希望官方早点解决
具体为什么,目前还是不知道,多次打包已经花了多少钱了....

t***@qq.com

t***@qq.com (作者)

确定了, 就是下面这段代码有问题, 但是我实在没看出什么问题来,各位大神麻烦帮忙看看

<view class="header">  
            <view class="left">  
                <image src="@/static/logoText.png"></image>  
                <view class="text">xxxxxxx</view>  
            </view>  
            <view class="right">  
                <view class="userinfo">  
                    <view class="news">  
                        <button size="30"  class="iconfont icon-xitongxiaoxi"  
                            @click="toNewsPage">  
                            <view class="redCir" v-show="isRead"></view>  
                        </button>  
                    </view>  
                    <view class="user"  @click="showFuntions(funcShow)">  
                        <image src="@/static/logo.png" ></image>  
                        <view class="username">  
                            {{userInfo.trueName}}  
                        </view>  
                    </view>  

                    <view class="showList" v-show="funcShow" @click="showFuntions(true)">  
                        <view class="shadow">  
                            <view class="changePwd a" @click="isShowFuntions(isShow)">  
                                <uni-icons type="compose"  size="30"></uni-icons>  
                                <text>修改密码</text>  
                            </view>  
                            <view class="logOut a" @click="logOut">  
                                <uni-icons type="close" size="30"></uni-icons>  
                                <text>退出</text>  
                            </view>  
                        </view>  
                    </view>  
                </view>  
            </view>  
            <!-- <view class="changePassword" v-show="isShow">  
                <view class="mask">  
                    <view class="exit">  
                        <uni-icons type="closeempty" size="30" @click="cancel"></uni-icons>  
                    </view>  
                    <view class="pwdContent" @catchtouchmove="disabledShow" @touchmove.stop.prevent="disabledShow">  
                        <text class="title">请修改密码</text>  
                        <uni-forms ref="baseForm" :modelValue="baseFormData" :rules="rules">  
                            <uni-forms-item label="请输入旧密码" required name="oldUserPassword">  
                                <uni-easyinput type="password" v-model="baseFormData.oldUserPassword" :maxlength="17" placeholder="请输入旧密码" />  
                            </uni-forms-item>  
                            <uni-forms-item label="请输入新密码" required name="userPassword">  
                                <uni-easyinput type="password"  
                                v-model="baseFormData.userPassword" :maxlength="17" placeholder="请输入新密码" />  
                            </uni-forms-item>  
                        </uni-forms>  
                        <view class="btns">  
                            <view class="btn">  
                                <button type="default" size="default" @click="cancel">取消</button>  
                            </view>  
                            <view class="btn">  
                                <button class="submit" type="primary" size="default" @click="changepass" @click.stop="disabledShow" >提交</button>  
                            </view>  
                        </view>  
                    </view>  

                </view>  
            </view> -->  
        </view>
t***@qq.com

t***@qq.com (作者)

结贴

根本原因是使用了VUEX的原因, tabBar根页面使用了VUEX获取用户信息, 点击要跳转的页面也使用了VUEX,可能是两个页面同时在使用vuex获取,导致冲突吧

<view class="user"  @click="showFuntions(funcShow)">    
     <image src="@/static/logo.png" ></image>    
    <view class="username">    
         {{userInfo.trueName}}    
    </view>    
</view>    

// 以下是获取的vuex的代码  
const userInfo = computed({  
    get(){  
        return proxy.$store.getters["user/getUserInfo"];  
   }  
}) 

该问题目前已经被锁定, 无法添加新回复