auth.js 873 B

12345678910111213141516171819202122232425262728293031323334353637
  1. function browserDetection() {
  2. const ua = window.navigator.userAgent.toLowerCase()
  3. // 检测是否包含 micromessenger 且不包含 miniprogram(排除小程序环境)
  4. const isWeixin = /micromessenger/i.test(ua) && !/miniprogram/i.test(ua)
  5. if (!isWeixin) {
  6. uni.redirectTo({
  7. url: '/pages/warning',
  8. });
  9. }
  10. }
  11. function safeToNumber(value, options = {}) {
  12. const { defaultVal = NaN, allowFloat = true } = options;
  13. if (typeof value !== 'string') {
  14. return defaultVal;
  15. }
  16. const trimmed = value.trim();
  17. if (trimmed === '') {
  18. return defaultVal;
  19. }
  20. let result;
  21. if (allowFloat) {
  22. result = Number(trimmed);
  23. } else {
  24. if (/\.|e/i.test(trimmed)) {
  25. return defaultVal;
  26. }
  27. result = parseInt(trimmed, 10);
  28. }
  29. if (!Number.isFinite(result)) {
  30. return defaultVal;
  31. }
  32. return result;
  33. }
  34. export { browserDetection , safeToNumber }