utils.js 932 B

123456789101112131415161718192021222324252627282930313233343536
  1. export function isDef(value) {
  2. return value !== undefined && value !== null;
  3. }
  4. export function isObj(x) {
  5. const type = typeof x;
  6. return x !== null && (type === 'object' || type === 'function');
  7. }
  8. export function isNumber(value) {
  9. return /^\d+(\.\d+)?$/.test(value);
  10. }
  11. export function range(num, min, max) {
  12. return Math.min(Math.max(num, min), max);
  13. }
  14. export function nextTick(fn) {
  15. setTimeout(() => {
  16. fn();
  17. }, 1000 / 30);
  18. }
  19. let systemInfo = null;
  20. export function getSystemInfoSync() {
  21. if (!systemInfo) {
  22. const deviceInfo = wx.getDeviceInfo();
  23. const oldSystemName = deviceInfo.osName; // 直接使用新接口的规范
  24. systemInfo = {
  25. system: oldSystemName
  26. };
  27. }
  28. return systemInfo;
  29. }
  30. export function addUnit(value) {
  31. if (!isDef(value)) {
  32. return undefined;
  33. }
  34. value = String(value);
  35. return isNumber(value) ? `${value}px` : value;
  36. }