收藏
回答

个别用户使用小程序体验版显示加载中,请问是什么问题呢?

首先在微信开发者工具和真机调试上都没有遇到这个问题,但在体验版上,个别用户碰到了登录成功后跳转至首页,没有做任何操作,却像是跳转页面,一直显示加载中的图标,重新进入小程序后又好了,无法复现这个问题,又是个别用户偶尔出现该问题,实在不知道是什么原因导致的,请求大佬解答~~~

我写了一个loadingPage页面,在首次注册成功后跳转到这个页面,再根据状态判断需要跳转的页面,以下是我的代码

//注册授权页			
userApi.getWxPhone(self.wxAccessToken, e.detail.code).then(res => {
    if (res.code === 200) {
        const phone = res.data.phone_info.phoneNumber
        self.$u.vuex('vuex_user_phone', phone)
        userApi.addUser(phone, self.vuex_user_openid).then(res => {
            if (res.code === 200) {
                self.$u.vuex('vuex_token', res.data.token)
                uni.navigateTo({
                    url: '/pages/loadingPage/loadingPage',
                })
            }
        })
    }
})


//loadingPage页面
export default {
    onLoad(options) {
        uni.showLoading({
            title: '加载中...'
        });
        setTimeout(() => {
            uni.hideLoading()
            this.redirect()
        }, 2000);
    },
    computed: {
        ...mapState(['vuex_token', 'vuex_user_phone', 'vuex_doctorId'])
    },
    methods: {
        redirect() {
            //1. 无token 
            const token = this.vuex_token
            if (!token || token === '') {
                uni.navigateTo({
                    url: '/pages/auth/auth'
                })
            } else {
                userApi.getRegisterPatientList().then(res => {
                    const data = res.data
                    if (data === [] || data === null || data.length === 0) {
                        //没有患者存在
                        uni.navigateTo({
                                url: '/pages/login/login'
                        })
                    } else {
                        const passedPatientId = data.find(e => {
                            //如果患者绑定了医生且通过审核
                            return e.status === 1
                        })?.patientId
                        const waitingPatientId = data.find(e => {
                            //患者提交了审核但医生还未进行操作
                            return e.status === 0
                        })?.patientId
                        const unbindDotorPatientId = data.find(e => {
                            //患者提交的审核被拒绝
                            return e.status === null || e.status === 2
                        })?.patientId
                        if (passedPatientId) {
                            uni.switchTab({
                                url: '/pages/home/home'
                            })
                        } else if (waitingPatientId) {
                            // 如果已经有患者,患者等待审核中,直接取第一个患者跳转到选择医生界面
                            uni.navigateTo({
                                url: '/pages/chooseDoctorTeam/chooseDoctorTeam?patientId=' +
                                    waitingPatientId
                            })
                        } else {
                            //如果已经有患者,但患者没有绑定医生,跳转到选择医生界面(此情况存在于首次注册添加患者后未绑定医生再次进入)
                            uni.navigateTo({
                                url: '/pages/chooseDoctorTeam/chooseDoctorTeam?patientId=' +
                                    unbindDotorPatientId
                            })
                        }
                    }
                })
            }
        },
    }
}

b站上传了出现该问题的视频,链接(https://www.bilibili.com/video/BV14u4y1b7oJ/?spm_id_from=333.999.0.0&vd_source=1a88a795e6ce23a3ad2e210b01058246

最后一次编辑于  2023-11-15
回答关注问题邀请回答
收藏

2 个回答

  • Jianbo
    Jianbo
    2023-11-15

    有预加载的数据?

    2023-11-15
    有用
    回复 5
    • 吴所 谓
      吴所 谓
      2023-11-15
      没有预加载数据呢
      2023-11-15
      回复
    • Jianbo
      Jianbo
      2023-11-15回复吴所 谓
      那就可能用户网络问题或微信版本的问题。
      2023-11-15
      回复
    • 吴所 谓
      吴所 谓
      2023-11-15回复Jianbo
      请问是用户的微信版本吗?
      2023-11-15
      回复
    • Jianbo
      Jianbo
      2023-11-15回复吴所 谓
      是的
      2023-11-15
      回复
    • 吴所 谓
      吴所 谓
      发表于移动端
      2023-11-15回复Jianbo
      刚核对了一下,应该跟微信版本没关系,出现该问题的用户微信版本与没有出现该问题用户的微信版本一样,这个问题真的太难查了。网络的话,都用的公司wifi🥲
      2023-11-15
      回复
  • 奎
    2023-11-15

    视频录的太短,又没点击记录,看不出来啥

    2023-11-15
    有用
    回复 10
    • 吴所 谓
      吴所 谓
      发表于移动端
      2023-11-15
      因为确实没有点击过😂用户首次登录成功跳转到首页后就有这个情况,在开发者工具上也复现不出来🥲
      2023-11-15
      回复
    • 奎
      2023-11-15回复吴所 谓
      1.登陆成功后,用哪个路由方法回到的首页
      2.  如果是navigateBack回首页,onShow里干了什么
      3.如果是reLaunch回首页,onLoad和onShow里取值和方法是否有先后问题
      2023-11-15
      回复
    • 吴所 谓
      吴所 谓
      2023-11-15
      我写了个loadingPage页面,登录成功后先跳转到这个页面,再根据状态跳转,用的是switchTab跳转到首页呢
      2023-11-15
      回复
    • 奎
      2023-11-15回复吴所 谓
      感觉这三个判断会出现问题呢,如果find找不到数据,会返回undefined,这样点出属性会报错。
      2023-11-15
      回复
    • 吴所 谓
      吴所 谓
      2023-11-15回复
      目前出现这个问题的用户都是在进入到首页之后才有的诶,没有卡在loadingPage页面呢
      2023-11-15
      回复
    查看更多(5)
登录 后发表内容