Skip to content

LoadingPage 全屏加载页

全端高阶全屏加载页组件,支持 自定义品牌 Logo 图片与 GIF7 大量子动感形态纯净透屏(无中间白卡片)/ 悬浮冰晶岛双布局毛玻璃高斯模糊全局 JS 零 import 调用ref 实例 API 调用


代码示例

1. 自定义品牌 Logo 图片 (Custom Logo Image)

通过传入 image 属性,可以直接使用项目或团队专属的品牌 Logo 图片,并可配合 image-animation 配置 Logo 律动动画(pulse 呼吸、spin 旋转、bounce 弹跳、float 漂浮)。

vue
<template>
  <view>
    <mu-button type="primary" @click="showLogo = true">自定义 Logo 呼吸脉冲</mu-button>

    <!-- 自定义 Logo 图片加载页 -->
    <mu-loading-page
      v-model:show="showLogo"
      image="https://your-domain.com/logo.png"
      image-animation="pulse"
      text="Muzhiyu UI 正在加载..."
      sub-text="正在为您同步云端缓存"
    />
  </view>
</template>

<script setup>
import { ref } from 'vue'

const showLogo = ref(false)
</script>

2. 自定义图片/GIF 动画 (Custom Image Animation)

设置 type="custom" 并传入 image,可配置图片的个性化动画风格:

  • pulse:呼吸放大缩小
  • spin:360° 旋转
  • bounce:上下弹跳
  • float:轻盈浮动
  • none:静止展示
vue
<template>
  <!-- 图片弹跳动画 -->
  <mu-loading-page
    v-model:show="showCustom"
    type="custom"
    image="/static/logo.png"
    image-animation="bounce"
    text="图片弹跳加载中..."
  />
</template>

3. 7 种加载动感形态 (7 Types)

通过 type 属性可选择 7 种动感记载动画:

  • logo:Logo 呼吸脉冲波
  • bento:Bento 冰晶方块连波
  • orbit:Orbit 双轨流光环
  • wave:Wave 5柱声波律动
  • cube:Cube 3D 翻转方块
  • spinner / ring:经典轻量微旋
  • custom:自定义图片/插槽
vue
<template>
  <mu-loading-page v-model:show="show" type="orbit" text="双轨流光加载中..." />
</template>

4. 全局命名空间零 Import 调用 (Global JS Call)

request.js 响应拦截器或全局 JS 脚本中直接唤醒:

javascript
// 1. 唤醒自定义 Logo 全屏加载
uni.$emit('mu-loading-page-show', {
  image: 'https://your-domain.com/logo.png',
  text: '正在提交订单...',
  type: 'logo'
})

// 2. 数据处理完毕,隐藏加载页
uni.$emit('mu-loading-page-hide')

API 属性说明 (Props)

参数名说明类型可选值默认值
v-model:show / show控制加载页显隐Booleantrue | falsefalse
layout布局风格Stringpure (默认纯净透屏,无中间白卡片) | card (带白底悬浮卡片)'pure'
type加载形态Stringlogo | bento | orbit | wave | cube | spinner | ring | custom'logo'
image自定义品牌 Logo / GIF 图片路径String-''
imageSize图片尺寸大小 (px)Number | String-80
imageMode图片裁剪填充模式String'aspectFit' | 'scaleToFill''aspectFit'
imageAnimationLogo 图片律动动画String'pulse' | 'spin' | 'bounce' | 'float' | 'none''pulse'
icon自定义加载矢量图标名称String-''
size加载图标/动画容器尺寸 (px)Number | String-48
text核心提示主文案String-'页面加载中...'
subText辅助子文案String-''
color主主题色彩(留空在 pure 模式下自动适应高光纯白)String-''
textColor主提示文案颜色String-''
bgColor遮罩背景颜色String-'rgba(15, 23, 42, 0.55)'
blur是否开启高斯毛玻璃效果Booleantrue | falsetrue
zIndex层级 z-indexNumber | String-99999
clickClose点击背景遮罩是否允许收起Booleantrue | falsefalse

插槽说明 (Slots)

插槽名说明
image自定义顶部 Logo/动画插槽
default底部自定义描述与取消按钮插槽

事件说明 (Events)

事件名说明回调参数
update:showv-model:show 双向绑定更新(show: boolean)
close点击遮罩关闭或加载完成收起时触发-

实例方法 (Expose Methods)

获取组件 ref 实例后可调用:

方法名说明参数
open(options) / show编程式唤醒加载页options: Object (支持传入 { image, text, type })
close() / hide关闭收起加载页-

基于 MIT 协议开源发行

H5 模拟器 (loading-page)☀️🔄