合同小程序前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Lj 55251de6f4 新增订单页面 1 week ago
..
addUnit 新增订单页面 1 week ago
animation 新增订单页面 1 week ago
areaData 新增订单页面 1 week ago
arrayBufferToFile 新增订单页面 1 week ago
base64ToArrayBuffer 新增订单页面 1 week ago
base64ToPath 新增订单页面 1 week ago
camelCase 新增订单页面 1 week ago
canIUseCanvas2d 新增订单页面 1 week ago
capitalizedAmount 新增订单页面 1 week ago
characterLimit 新增订单页面 1 week ago
clamp 新增订单页面 1 week ago
cloneDeep 新增订单页面 1 week ago
closest 新增订单页面 1 week ago
components/lime-shared 新增订单页面 1 week ago
createAnimation 新增订单页面 1 week ago
createCanvas 新增订单页面 1 week ago
createImage 新增订单页面 1 week ago
debounce 新增订单页面 1 week ago
exif 新增订单页面 1 week ago
fillZero 新增订单页面 1 week ago
floatAdd 新增订单页面 1 week ago
floatDiv 新增订单页面 1 week ago
floatMul 新增订单页面 1 week ago
floatSub 新增订单页面 1 week ago
getClassStr 新增订单页面 1 week ago
getCurrentPage 新增订单页面 1 week ago
getLocalFilePath 新增订单页面 1 week ago
getRect 新增订单页面 1 week ago
getStyleStr 新增订单页面 1 week ago
hasOwn 新增订单页面 1 week ago
isBase64 新增订单页面 1 week ago
isBrowser 新增订单页面 1 week ago
isDef 新增订单页面 1 week ago
isEmpty 新增订单页面 1 week ago
isFunction 新增订单页面 1 week ago
isNumber 新增订单页面 1 week ago
isNumeric 新增订单页面 1 week ago
isObject 新增订单页面 1 week ago
isPromise 新增订单页面 1 week ago
isString 新增订单页面 1 week ago
kebabCase 新增订单页面 1 week ago
obj2url 新增订单页面 1 week ago
pathToBase64 新增订单页面 1 week ago
platform 新增订单页面 1 week ago
raf 新增订单页面 1 week ago
random 新增订单页面 1 week ago
range 新增订单页面 1 week ago
selectAllComponent 新增订单页面 1 week ago
selectComponent 新增订单页面 1 week ago
selectElement 新增订单页面 1 week ago
shuffle 新增订单页面 1 week ago
sleep 新增订单页面 1 week ago
throttle 新增订单页面 1 week ago
toArray 新增订单页面 1 week ago
toBoolean 新增订单页面 1 week ago
toNumber 新增订单页面 1 week ago
unitConvert 新增订单页面 1 week ago
vue 新增订单页面 1 week ago
changelog.md 新增订单页面 1 week ago
index.ts 新增订单页面 1 week ago
package.json 新增订单页面 1 week ago
readme.md 新增订单页面 1 week ago

readme.md

lime-shared 工具库

  • 本人插件的几个公共函数
  • 按需引入

安装

在插件市场导入即可

文档

shared

使用

按需引入只会引入相关的方法,不要看着 插件函数列表多 而占空间,只要不引用不会被打包

import {getRect} from '@/uni_modules/lime-shared/getRect'

目录

  • getRect: 获取节点尺寸信息
  • addUnit: 将未带单位的数值添加px,如果有单位则返回原值
  • unitConvert: 将带有rpx|px的字符转成number,若本身是number则直接返回
  • canIUseCanvas2d: 环境是否支持使用 canvas 2d
  • getCurrentPage: 获取当前页
  • base64ToPath: 把base64的图片转成临时路径
  • pathToBase64: 把图片的临时路径转成base64
  • sleep: async 内部程序等待一定时间后再执行
  • throttle: 节流
  • debounce: 防抖
  • random: 返回指定范围的随机数
  • range: 生成区间数组
  • clamp: 夹在min和max之间的数值
  • floatAdd: 返回两个浮点数相加的结果
  • fillZero: 补零,如果传入的是个位数则在前面补0
  • exif: 获取图片exif
  • selectComponent: 获取页面或当前实例的指定组件
  • createAnimation: uni.createAnimation
  • animation: 数值从一个值到另一个值的过渡
  • camelCase: 字符串转换为 camelCase 或 PascalCase 风格的命名约定
  • kebabCase: 将字符串转换为指定连接符的命名约定
  • closest: 在给定数组中找到最接近目标数字的元素
  • shuffle: 将给定的数组打乱
  • isBase64: 判断字符串是否为base64
  • isNumber: 检查一个值是否为数字类型
  • isNumeric: 检查一个值是否为数字类型或表示数字的字符串
  • isString: 检查一个值是否为字符串类型
  • composition-api: 为兼容vue2

Utils

getRect

  • 返回节点尺寸信息
// 组件内需要传入上下文
// 如果是nvue 则需要在节点上加与id或class同名的ref
getRect('#id',this).then(res => {})
兼容性
uni-app uni-app x

addUnit

  • 将未带单位的数值添加px,如果有单位则返回原值
addUnit(10)
// 10px
兼容性
uni-app uni-app x

unitConvert

  • 将带有rpx|px的字符转成number,若本身是number则直接返回
unitConvert('10rpx') 
// 5 设备不同 返回的值也不同
unitConvert('10px') 
// 10
unitConvert(10) 
// 10
兼容性
uni-app uni-app x

canIUseCanvas2d

  • 环境是否支持使用 canvas 2d
canIUseCanvas2d()
// 若支持返回 true 否则 false
兼容性
uni-app uni-app x

getCurrentPage

  • 获取当前页
const page = getCurrentPage()
兼容性
uni-app uni-app x

base64ToPath

  • 把base64的图片转成临时路径
base64ToPath(`xxxxx`).then(res => {})
兼容性
uni-app uni-app x

pathToBase64

  • 把图片的临时路径转成base64
pathToBase64(`xxxxx/xxx.png`).then(res => {})
兼容性
uni-app uni-app x

sleep

  • 睡眠,让 async 内部程序等待一定时间后再执行
async next () => {
	await sleep(300)
	console.log('limeui');
}
兼容性
uni-app uni-app x

throttle

  • 节流
throttle((nama) => {console.log(nama)}, 200)('limeui');
兼容性
uni-app uni-app x

debounce

  • 防抖
debounce((nama) => {console.log(nama)}, 200)('limeui');
兼容性
uni-app uni-app x

random

  • 返回指定范围的随机数
random(1, 5);
兼容性
uni-app uni-app x

range

  • 生成区间数组
range(0, 5)
// [0,1,2,3,4,5]
兼容性
uni-app uni-app x

clamp

  • 夹在min和max之间的数值,如小于min,返回min, 如大于max,返回max,否侧原值返回
clamp(0, 10, -1)
// 0
clamp(0, 10, 11)
// 10
clamp(0, 10, 9)
// 9
兼容性
uni-app uni-app x

floatAdd

  • 返回两个浮点数相加的结果
floatAdd(0.1, 0.2) // 0.3
兼容性
uni-app uni-app x

fillZero

  • 补零,如果传入的是个位数则在前面补0
fillZero(9);
// 09
兼容性
uni-app uni-app x

exif

  • 获取图片exif
  • 支持临时路径、base64
uni.chooseImage({
	count: 1, //最多可以选择的图片张数
	sizeType: "original",
	success: (res) => {
		exif.getData(res.tempFiles[0], function() {
			let tagj = exif.getTag(this, "GPSLongitude");
			let	Orientation = exif.getTag(this, 'Orientation');  
			console.log(tagj, Orientation)
		})
	}
})
兼容性
uni-app uni-app x
x

selectComponent

  • 获取页面或当前实例的指定组件,会在页面或实例向所有的节点查找(包括子组件或子子组件)
  • 仅vue3,vue2没有测试过
// 当前页面
const page = getCurrentPage()
selectComponent('.custom', {context: page}).then(res => {
})
兼容性
uni-app uni-app x
x

createAnimation

  • 创建动画,与uni.createAnimation使用方法一致,只为了抹平nvue
<view ref="ball" :animation="animationData"></view>
const ball = ref(null)
const animation = createAnimation({
  transformOrigin: "50% 50%",
  duration: 1000,
  timingFunction: "ease",
  delay: 0
})

animation.scale(2,2).rotate(45).step()
// nvue 无导出数据,这样写只为了平台一致,
// nvue 需要把 ref 传入,其它平台不需要
const animationData = animation.export(ball.value)
兼容性
uni-app uni-app x
兼容性
uni-app uni-app x

camelCase

  • 将字符串转换为 camelCase 或 PascalCase 风格的命名约定
camelCase("hello world") // helloWorld
camelCase("hello world", true) // HelloWorld
兼容性
uni-app uni-app x

kebabCase

  • 将字符串转换为指定连接符的命名约定
kebabCase("helloWorld") // hello-world
kebabCase("hello world_example") // hello-world-example
kebabCase("helloWorld", "_") // hello_world
兼容性
uni-app uni-app x

closest

  • 在给定数组中找到最接近目标数字的元素
closest([1, 3, 5, 7, 9], 6) // 5
兼容性
uni-app uni-app x

shuffle

  • 在给定数组中找到最接近目标数字的元素
shuffle([1, 3, 5, 7, 9]) 
兼容性
uni-app uni-app x

isBase64

  • 判断字符串是否为base64
isBase64('xxxxx')
兼容性
uni-app uni-app x

isNumber

  • 检查一个值是否为数字类型
isNumber('0') // false
isNumber(0) // true
兼容性
uni-app uni-app x

isNumeric

  • 检查一个值是否为数字类型或表示数字的字符串
isNumeric('0') // true
isNumeric(0) // true
兼容性
uni-app uni-app x

isString

  • 检查一个值是否为数字类型或表示数字的字符串
isString('0') // true
isString(0) // false
兼容性
uni-app uni-app x

composition-api

  • 因本人插件需要兼容vue2/vue3,故增加一个vue文件,代替条件编译
  • vue2需要在main.js加上这一段
// vue2
import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)
//使用
import {computed, onMounted, watch, reactive} from '@/uni_modules/lime-shared/vue'
兼容性
uni-app uni-app x
x