今天回复我了吗
今天回复我了吗
  • 发布:2025-05-07 15:31
  • 更新:2025-05-13 16:23
  • 阅读:81

【报Bug】红米手机 redmi K30 pinia 获取有问题

分类:uni小程序sdk

产品分类: uni小程序SDK

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: miui13 系统

页面类型: vue

SDK版本号: unimpsdk 4.36

示例代码:

页面中点击事件获取该数据

const beforeGoPublish = () => {  
  // Toast(`${getStorage('Authorization')}`)  
  Toast(`${useUserStore().loading}`)  
  // console.log(useUserStore().userInfo.id)  
  try {  
    // Toast(`哈哈哈${useUserStore().userInfo.id}`)  
    Toast(`嘻嘻嘻${useUserStore().loading}`)  
  } catch (error) {  
    Toast(`哈哈哈2${error}`)  
  }  
  if (getStorage('Authorization')) {  
    if (useUserStore().loading) return  
    const userPhone = useUserStore().userInfo.mobile  
    if (userPhone) {  
      emits('handle-tap')  
    } else {  
      useUserStore()  
        .send()  
        .then((res: any) => {  
          emits('handle-tap')  
        })  
    }  
  } else {  
    openLoginVC({}, () => {  
      getTokenVC()  
    })  
  }  
}

操作步骤:

useUserStore().loading 打印出来是undefined, ios 打印出来是 false

预期结果:

安卓打印出来是 false 或者true

实际结果:

useUserStore().loading 为 undefined

bug描述:

使用pinia方法 ,useUserStore().loading 打印出来是undefined, ios 打印出来是 false

import { defineStore } from 'pinia'  
import { useRequest } from 'alova/client'  
import { setStorage, getStorage } from '@/utils/storage'  
import { getUserInfoAPI } from '@/api/common'  
import { uniAppAreaNative } from '@/utils/native'  

export const useUserStore = defineStore('user', () => {  
  const userInfo = ref<any>({  
    id: void 0,  
    nickname: '',  
    avatar: '',  
    mobile: ''  
  })  

  const { send, loading, onSuccess } = useRequest(() => getUserInfoAPI(), {  
    immediate: false  
  })  

  // const phoneKey = `${useUserStore().userInfo.id}_self_phone`  
  onSuccess((response) => {  
    const rawData = response.data as AnyObject  
    if (rawData.code === '00000') {  
      const data = rawData.data  
      userInfo.value = data  
      // setStorage(phoneKey, data.mobile)  
    }  
  })  

  const area = ref({  
    name: '',  
    latitude: 0,  
    longitude: 0  
  })  
  const getArea = () => {  
    uniAppAreaNative((ret: any) => {  
      // console.log('获取地区', ret)  
      area.value = ret  
    })  
  }  
  if (!area.value.name) {  
    getArea()  
  }  

  return { userInfo, send, loading, getArea, area }  
})
2025-05-07 15:31 负责人:DCloud_App_Array 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

在android平台js都是运行在v8中的,先确认是在特定android设备还是所有设备都会出现这个问题?

要回复问题请先登录注册