示例仅供参考,请以真机为主

useCool 基础

使用

import { useCool } from "/@/cool";

const { refs, setRefs, mitt, router, service, upload, storage, ui } = useCool();
名称说明类型可选值默认值
refsref 的集合object
setRefs设置 reffunction(name: string)
mitt事件通讯,同 uni.$onobject
router路由管理Router
service请求服务Service
upload文件上传Upload
storage数据储存Storage
ui便捷操作Ui

refs

默认绑定 ref 的方法:

<template>
	<custom-el ref="customEl" />
</template>

<script lang="ts" setup>
	import { ref } from "vue";
	const customEl = ref<any>();

	// 调用组件的方法
	customEl.value.open();
</script>

使用 refssetRefs 的方法,无需定义多个变量:

<template>
	<custom-el :ref="setRefs('customEl')" />
</template>

<script lang="ts" setup>
	import { useCool } from "/@/cool";
	const { refs, setRefs } = useCool();

	// 调用组件的方法
	refs.value.customEl.open();
</script>

upload

本地上传、前端 oss 直传等

import { useCool } from "/@/cool";
const { upload } = useCool();

// 选择文件
uni.chooseImage({
	count: 1,
	sourceType: ["album", "camera"],
	success(res) {
		// 上传文件
		upload(res.tempFiles[0], {
			// 获取上传进度
			onProgressUpdate({ progress }) {
				console.log(progress);
			}
		}).then((url) => {
			console.log(url);
		});
	}
});

storage

基于 uni.storage 封装:

名称说明类型可选值默认值
get根据关键字获取值function(key: string)
once获取一次后删除function(key: string)
set根据关键字设置值、过期时间function(key: string, value: any, expires?: number)
remove根据关键字删除值function(key: string)
info获取全部值function()
clear清空所有值function()
isExpired是否过期function(key: string)
Last Updated: