更新记录

1.0.0(2025-10-22) 下载此版本

  • 初始版本发布
  • 支持多步骤流程展示
  • 支持高亮区域自动定位
  • 支持对话框智能定位(自动避让)
  • 支持自定义按钮文本
  • 支持蒙版点击关闭配置
  • 支持关闭按钮
  • 兼容 H5 和微信小程序
  • 提供 show、hide 等方法
  • 提供 finish、close、step-change 等事件

平台兼容性

uni-app(4.66)

Vue2 Vue2插件版本 Vue3 Vue2插件版本 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
1.0.0 1.0.0 - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟
- - - - - - - × ×

其他

多语言 暗黑模式 宽屏模式
× ×

process-guide 流程指引蒙版组件

组件名:process-guide

process-guide 是一个通用的流程指引蒙版组件,用于在用户首次进入某个页面时显示流程指引。支持多步骤流程展示、高亮区域定位、自动记录显示状态,避免重复显示。

功能特性

  • ✅ 多步骤流程展示
  • ✅ 高亮区域自动定位
  • ✅ 对话框智能定位(自动避让)
  • ✅ 第一步仅显示【下一步】按钮
  • ✅ 中间步骤显示【上一步】和【下一步】按钮
  • ✅ 最后一步显示【上一步】和自定义按钮(默认【开始模拟】)
  • ✅ 支持关闭按钮(X)
  • ✅ 支持蒙版点击关闭(可配置)
  • ✅ 响应式设计,支持主题变量
  • ✅ 提供显示、隐藏等方法
  • ✅ 兼容 H5 和微信小程序

平台兼容性

H5 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序 App

Props

属性 类型 必需 默认值 说明
steps Array - 流程步骤数据,每项需包含 titlecontenthighlight
finalButtonText String '开始模拟' 最后一步按钮的文本
maskClosable Boolean false 是否允许点击蒙版关闭
highlightPadding Number 10 高亮区域的内边距(单位:px)
dialogOffset Number 20 对话框距离高亮区域的距离(单位:px)

Events

事件名 参数 说明
finish - 点击最后一步的完成按钮时触发
close - 点击关闭按钮或蒙版关闭时触发
step-change step (Number) 步骤变化时触发,参数为当前步骤索引

Methods

方法名 参数 说明
show - 手动显示指引
hide - 手动隐藏指引

使用示例

基础使用

<template>
  <view>
    <!-- 流程指引组件 -->
    <process-guide
      ref="processGuideRef"
      :steps="guideSteps"
      :finalButtonText="'开始模拟'"
      @finish="handleFinish"
      @close="handleClose"
    />

    <!-- 页面内容 -->
    <view class="page-content">
      <view class="step1" id="step1">步骤1区域</view>
      <view class="step2" id="step2">步骤2区域</view>
      <view class="step3" id="step3">步骤3区域</view>
    </view>
  </view>
</template>

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

const processGuideRef = ref(null);

const guideSteps = ref([
  {
    title: '第一步',
    content: '这是第一步的说明内容',
    highlight: '#step1'  // 高亮区域的选择器
  },
  {
    title: '第二步',
    content: '这是第二步的说明内容',
    highlight: '#step2'
  },
  {
    title: '第三步',
    content: '这是第三步的说明内容',
    highlight: '#step3'
  }
]);

const handleFinish = () => {
  console.log('用户完成了流程指引');
  // 执行相关业务逻辑
};

const handleClose = () => {
  console.log('用户关闭了流程指引');
};
</script>

高级使用

<script setup>
// 手动显示指引
const showGuide = () => {
  processGuideRef.value?.show();
};

// 手动隐藏指引
const hideGuide = () => {
  processGuideRef.value?.hide();
};

// 监听步骤变化
const handleStepChange = (step) => {
  console.log(`当前步骤: ${step + 1}`);
};
</script>

<template>
  <process-guide
    ref="processGuideRef"
    :steps="guideSteps"
    :finalButtonText="'开始使用'"
    :maskClosable="true"
    :highlightPadding="15"
    :dialogOffset="30"
    @finish="handleFinish"
    @close="handleClose"
    @step-change="handleStepChange"
  />
</template>

数据结构

steps 数组格式

[
  {
    title: '步骤标题',           // 必需,显示在弹窗顶部
    content: '步骤内容说明',      // 必需,显示在标题下方
    highlight: '#element-id'    // 必需,高亮区域的选择器(支持 id、class 等)
  },
  // ... 更多步骤
]

样式定制

组件支持 CSS 变量定制:

// 使用主题变量
--light-primary: #0098ff  // 按钮颜色

注意事项

  1. 高亮选择器: highlight 属性需要指定一个有效的 CSS 选择器,如 #id.class
  2. 步骤数据验证: steps 数组中每项必须包含 titlecontenthighlight 属性
  3. 自动显示: 组件会在 onMounted 时自动显示,无需手动调用
  4. H5 兼容: 组件已针对 H5 平台的导航栏高度进行了适配

常见场景

场景1: 在线多轮竞价页面

const guideSteps = ref([
  { 
    title: '竞价倒计时', 
    content: '请关注此处倒计时,把握竞价时机',
    highlight: '#countdown'
  },
  { 
    title: '出价规则', 
    content: '每次出价必须高于当前价格',
    highlight: '#price-input'
  },
  { 
    title: '出价方式', 
    content: '可选择手动出价或自动出价',
    highlight: '#bid-buttons'
  },
  { 
    title: '成交确认', 
    content: '竞价结束后,最高出价者成交',
    highlight: '#result-area'
  }
]);

场景2: 表单填写指引

const guideSteps = ref([
  { 
    title: '填写基本信息', 
    content: '请先填写您的基本信息',
    highlight: '#basic-info'
  },
  { 
    title: '上传证件', 
    content: '上传身份证正反面照片',
    highlight: '#upload-area'
  },
  { 
    title: '提交审核', 
    content: '确认信息无误后点击提交',
    highlight: '#submit-btn'
  }
]);

更新日志

v1.0.0 (2024-01-01)

  • 初始版本发布
  • 支持多步骤流程展示
  • 支持高亮区域自动定位
  • 支持对话框智能定位
  • 支持自定义按钮文本
  • 兼容 H5 和微信小程序

许可证

MIT License

联系方式

如有问题或建议,欢迎反馈。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT License

Copyright (c) 2024 process-guide

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

暂无用户评论。