| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | import { isDef, isNumber, isPlainObject, isPromise } from './validator';import { canIUseGroupSetData, canIUseNextTick, getSystemInfoSync, } from './version';export { isDef } from './validator';export { getSystemInfoSync } from './version';export function range(num, min, max) {    return Math.min(Math.max(num, min), max);}export function nextTick(cb) {    if (canIUseNextTick()) {        wx.nextTick(cb);    }    else {        setTimeout(() => {            cb();        }, 1000 / 30);    }}export function addUnit(value) {    if (!isDef(value)) {        return undefined;    }    value = String(value);    return isNumber(value) ? `${value}px` : value;}export function requestAnimationFrame(cb) {    return setTimeout(() => {        cb();    }, 1000 / 30);}export function pickExclude(obj, keys) {    if (!isPlainObject(obj)) {        return {};    }    return Object.keys(obj).reduce((prev, key) => {        if (!keys.includes(key)) {            prev[key] = obj[key];        }        return prev;    }, {});}export function getRect(context, selector) {    return new Promise((resolve) => {        wx.createSelectorQuery()            .in(context)            .select(selector)            .boundingClientRect()            .exec((rect = []) => resolve(rect[0]));    });}export function getAllRect(context, selector) {    return new Promise((resolve) => {        wx.createSelectorQuery()            .in(context)            .selectAll(selector)            .boundingClientRect()            .exec((rect = []) => resolve(rect[0]));    });}export function groupSetData(context, cb) {    if (canIUseGroupSetData()) {        context.groupSetData(cb);    }    else {        cb();    }}export function toPromise(promiseLike) {    if (isPromise(promiseLike)) {        return promiseLike;    }    return Promise.resolve(promiseLike);}// 浮点数精度处理export function addNumber(num1, num2) {    const cardinal = Math.pow(10, 10);    return Math.round((num1 + num2) * cardinal) / cardinal;}// 限制value在[min, max]之间export const clamp = (num, min, max) => Math.min(Math.max(num, min), max);export function getCurrentPage() {    const pages = getCurrentPages();    return pages[pages.length - 1];}export const isPC = ['mac', 'windows'].includes(getSystemInfoSync().platform);// 是否企业微信export const isWxWork = getSystemInfoSync().environment === 'wxwork';
 |