loginUtils.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. // 获取当前页面
  2. export function getActionPage() {
  3. let pages = getCurrentPages();
  4. return pages[pages.length - 1]
  5. }
  6. // 处理分享链接地址
  7. export function getPageUrl(config) {
  8. let page = getActionPage();
  9. let path = '/' + page.route;
  10. let url = '';
  11. // 获取对象可枚举键值列表
  12. let objKeys = Object.keys(page.options);
  13. // 判断有无传值
  14. if (objKeys.length > 0) {
  15. // 循环赋值对象数据
  16. for (let a in page.options) {
  17. // 判断有无邀请人
  18. if (a != 'spread') {
  19. url += a + "=" + page.options[a] + "&"
  20. }
  21. }
  22. path += '?' + url.substr(0, url.length - 1);
  23. }
  24. // 返回处理邀请人后的邀请地址
  25. return path
  26. }
  27. //登录拦截
  28. export function interceptor() {
  29. let pages = getActionPage();
  30. // 获取当前页面
  31. let pageUrl = '/' + pages.route;
  32. let url = '/pages/login/login'
  33. // #ifdef H5
  34. // 判断是否为公众号调用微信授权登录
  35. // let ua =
  36. if (navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger') {
  37. let weichatBrowser = uni.getStorageSync('weichatBrowser');
  38. if (weichatBrowser) {
  39. url = '/pages/public/wxLogin';
  40. }
  41. if (pageUrl != url) {
  42. uni.navigateTo({
  43. url
  44. })
  45. }
  46. } else {
  47. uni.showModal({
  48. title: '提示',
  49. content: '请使用微信扫码!',
  50. })
  51. // uni.navigateTo({
  52. // url
  53. // })
  54. }
  55. // #endif
  56. // #ifdef MP-WEIXIN
  57. url = '/pages/public/wxLogin';
  58. if (pageUrl != url) {
  59. uni.navigateTo({
  60. url
  61. })
  62. }
  63. // #endif
  64. }
  65. // 保存页面
  66. export function saveUrl() {
  67. // 获取当前页面
  68. let page = getActionPage();
  69. // 获取跳转前路由地址
  70. let path = '/' + page.route;
  71. let url = '';
  72. // 获取对象可枚举键值列表
  73. let objKeys = Object.keys(page.options);
  74. // 判断有无传值
  75. if (objKeys.length > 0) {
  76. // 循环赋值对象数据
  77. for (let a in page.options) {
  78. url += a + "=" + page.options[a] + "&"
  79. }
  80. path += '?' + url.substr(0, url.length - 1);
  81. }
  82. // uni.showModal({
  83. // title: '地址',
  84. // content: path,
  85. // fail: function (res) {
  86. // console.log(res.errMsg);
  87. // uni.showModal({
  88. // title: 'error',
  89. // content: res.errMsg
  90. // })
  91. // }
  92. // })
  93. uni.setStorageSync('present', path);
  94. // // 获取当前页面
  95. // let page = getActionPage();
  96. // // 获取跳转前路由地址
  97. // let path = '/' + page.route;
  98. // let url = '';
  99. // // 获取对象可枚举键值列表
  100. // let objKeys = Object.keys(page.options);
  101. // // 判断有无传值
  102. // if (objKeys.length > 0) {
  103. // // 循环赋值对象数据
  104. // for (let a in page.options) {
  105. // url += a + "=" + page.options[a] + "&"
  106. // }
  107. // path += '?' + url.substr(0, url.length - 1);
  108. // }
  109. // console.log(path,1)
  110. // uni.setStorageSync('present', path);
  111. }