Skip to content

组合式 API v2.4.0

useValidator 校验器

js
import { useValidator } from 'mine-h5-ui'

const {
  /**
   * 校验手机号码
   */
  phone,
  /**
   * 校验密码 6 - 12 位数字 + 字母组合
   */
  password,
  /**
   * 只允许英文字母、数字、下划线、英文句号、以及中划线组成
   */
  email,
  /**
   * 校验身份证号
   */
  idCard,
  /**
   * 校验图片格式
   */
  imgs,
  /**
   * 千位符
   */
  thousand,
  /**
   * 小数千位符
   */
  thousandFloat
} = useValidator()
// phone.test('') // 输出: false

useBind 事件绑定

js
import { useBind } from 'mine-h5-ui'

const { addBind, removeBind } = useBind()
const fn = () => {}
addBind(document, 'click', fn)
removeBind(document, 'click', fn)

useUtils 工具函数

js
import { useUtils } from 'mine-h5-ui'

const {
  /**
   * 变量类型判断
   */
  varType,
  /**
   * 深拷贝变量-递归算法(recursive algorithm)
   */
  cloneDeep,
  /**
   * 判断是否是闰年
   */
  isLeapyear,
  /**
   * 时间转换
   */
  formatTime,
  /**
   * 倒计时
   */
  countDown,
  /**
   * 节流
   */
  throttle,
  /**
   * 防抖
   */
  debounce,
  /**
   * 格式化千位符
   */
  formatThousand,
  /**
   * 锁定
   */
  locked,
  /**
   * 加 0 补位
   */
  addZero,
  /**
   * 加减乘除运算
   */
  calculation,
  /**
   * 生成随机数
   */
  generateRandom,
  /**
   * 延迟器
   */
  retarder
} = useUtils()

useVisible 显示隐藏

js
import { useVisible } from 'mine-h5-ui'

const [visible, setVisible] = useVisible()

useStorage 本地存储 v2.7.3

js
import { useStorage } from 'mine-h5-ui'

const { setStorage, getStorage, removeStorage } = useStorage()

// setStorage('name', 'mine-ui') // 存储
// getStorage('name') // 获取
// removeStorage('name') // 移除

useScroll 本地存储 v2.8.0

js
import { useScroll } from 'mine-h5-ui'

const { scrollTo } = useScroll()

scrollTo(document.body, 0) // 返回顶部

/**
 * 自定义节点
 */
const customDomNode = document.querySelector('.customDomNode')
scrollTo(customDomNode, 0) // 滚动到指定位置

useLocked 重复点击锁 v2.11.0

  • useLocked 传入函数必须是一个异步函数
  • 同步函数不用加锁
js
import { useLocked } from 'mine-h5-ui'

const onClick = useLocked(async () => {
  // 业务操作
  // ...
})

useId 随机 ID v2.11.0

  • 可选参数进制
ts
import { useId } from 'mine-h5-ui'

console.log(useId()) // 1726733454868gl3vkrbuf9
console.log(useId(16)) // 17267336100211ca549007f31

useColorTransform 颜色转换 v2.12.0

  • 颜色转换
  • 第一个参数是需要转换的值,第二个参数是数组,由什么转化成什么
ts
import { useColorTransform } from 'mine-h5-ui'

const rgb = useColorTransform('#ff6600', ['hex', 'rgb'])
console.log(rgb) // [255, 102, 0]

useMoveHandle 移动操作处理 v2.12.0

ts
import { useTemplateRef } from 'vue'
import { useMoveHandle } from 'mine-h5-ui'
const nodeRef = useTemplateRef('demo')

interface OptionEvent {
  x: number
  y: number
  type: string
}

const option = {
  start(e: OptionEvent) {
    console.log(e) // { x: 0, y: 0, type: 'touchstart' }
  },
  move(e: OptionEvent) {
    console.log(e) // { x: 0, y: 0, type: 'touchdown' }
  },
  end(e: OptionEvent) {
    console.log(e) // { x: 0, y: 0, type: 'touchend' }
  }
}

useMoveHandle(nodeRef.value, option)

useSameTarget 相同的目标节点 v2.12.0

ts
import { useSameTarget } from 'mine-h5-ui'

const { onClick, onMousedown, onMouseup } = useSameTarget((e: PointerEvent) => {
  console.log(e) // PointerEvent {isTrusted: true, _vts: 1733714310245, pointerId: 1, width: 1, height: 1, …}
})

useCssVar 对象转 CSS 变量 v2.12.0

ts
import { useCssVar } from 'mine-h5-ui'

console.log(useCssVar({ width: '100px' })) // { --width: '100px' }
console.log(useCssVar({ fontSize: '100px' })) // { --font-size: '100px' }

基于 MIT 许可发布