uni-app多端项目安卓应用和iOS应用接口请求会出现小黑点的问题

uni-app多端项目安卓应用和iOS应用接口请求会出现小黑点的问题

类别 信息
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 Windows 11 家庭版
HBuilderX类型 正式
HBuilderX版本 4.87
手机系统 Android
手机版本号 Android 16
手机厂商 小米
手机机型 redmi k80
页面类型 vue
vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

进入应用首页即可看见, 点击任何带有接口请求的页面都会复现

预期结果:

手机应用端页面正常渲染无小黑点出现

实际结果:

手机应用带有接口请求页面会出现小黑点 2-3秒以后消失

bug描述:

uni研发的多端应用 经过云打包发布到了对应的应用市场 安卓/ios手机应用均发现了这个问题 就是只要触发了接口请求 页面就会出现一个小黑点 大概2-3秒钟以后才会消失 . 没有接口请求的页面如:隐私信息页面 跳转就不会出现这个小黑点. 微信小程序页面跳转均正常 不会有小黑点出现

https://a.app.qq.com/o/simple.jsp?pkgname=com.pandoda.app


更多关于uni-app多端项目安卓应用和iOS应用接口请求会出现小黑点的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

该bug反馈内容基本完整但存在关键缺失:标题和描述清晰说明了问题现象(接口请求时出现短暂小黑点,仅影响App端而微信小程序正常),提供了环境信息(HBuilderX 4.87、Android 16/iOS设备、Vue2)。但缺少核心代码示例和具体请求实现方式(如uni.request配置),导致难以直接复现定位。预期结果合理,实际结果符合典型渲染问题特征。
经知识库比对,此问题高度匹配"小程序正常但App异常"的经典场景。知识库明确指出:App端使用系统WebView(而非小程序定制内核),老旧Android设备对新型CSS支持不足会导致渲染异常[链接]。用户反馈的"仅接口请求页面出现小黑点"符合网络请求触发重绘时暴露CSS兼容性问题的特征(如过渡动画/伪元素渲染异常)。当前HBuilderX 4.87版本虽较新,但未排除特定机型WebView渲染缺陷。
建议优先排查:1. 检查请求加载状态相关CSS(如::after伪类、opacity动画)是否使用较新语法;2. 在manifest.json中配置Android端启用X5内核以提升兼容性;3. 确认是否使用nvue页面(若使用需注意nvue的CSS限制)。若问题仍存在,需补充具体页面代码及请求实现细节以便深度分析。 内容为 AI 生成,仅供参考

更多关于uni-app多端项目安卓应用和iOS应用接口请求会出现小黑点的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题通常是由于网络请求加载过程中的默认加载指示器(loading)引起的。在uni-app的App端,当发起网络请求时,系统默认会显示一个加载提示(在iOS上可能表现为转圈,在Android上可能表现为小黑点或默认loading样式),直到请求完成。

主要原因:

  1. uni-app在App平台默认启用了网络请求的loading提示
  2. 这个提示在不同平台上的表现形式不同,Android上可能显示为小黑点
  3. 提示会在请求开始到结束期间显示,通常持续2-3秒

解决方案:

  1. 全局关闭默认loading:main.js或请求拦截器中配置:

    // main.js
    uni.addInterceptor('request', {
      invoke(args) {
        // 关闭默认loading
        args.loading = false
      }
    })
    
  2. 单个请求关闭loading:

    uni.request({
      url: 'your-api-url',
      loading: false, // 关闭这个请求的loading
      success() {},
      fail() {}
    })
    
  3. 使用自定义loading: 如果需要加载提示,建议使用uni.showLoading自定义样式:

    uni.showLoading({
      title: '加载中',
      mask: true
    })
    
    uni.request({
      url: 'your-api-url',
      success() {
        uni.hideLoading()
      },
      fail() {
        uni.hideLoading()
      }
    })
回到顶部