export function getAllRect(context, selector) { return new Promise((resolve) => { uni.createSelectorQuery() .in(context) .selectAll(selector) .boundingClientRect() .exec((rect = []) => resolve(rect[0])); }); } export function getRect(context, selector) { return new Promise((resolve) => { uni.createSelectorQuery() .in(context) .select(selector) .boundingClientRect() .exec((rect = []) => resolve(rect[0])); }); } export function requestAnimationFrame(cb) { const systemInfo = uni.getSystemInfoSync(); if (systemInfo.platform === 'devtools') { return setTimeout(() => { cb(); }, 1000 / 30); } return uni .createSelectorQuery() .selectViewport() .boundingClientRect() .exec(() => { cb(); }); }