loginUtils.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. export function getActionPage() {
  2. //获取当前页地址
  3. let pages = getCurrentPages();
  4. return pages[pages.length - 1]
  5. }
  6. //登录拦截
  7. export function interceptor() {
  8. let pages = getActionPage();
  9. // 获取当前页面
  10. let pageUrl = '/' + pages.route;
  11. let url = '/pages/public/login'
  12. // #ifdef H5
  13. // 判断是否为公众号调用微信授权登录
  14. let weichatBrowser = uni.getStorageSync('weichatBrowser');
  15. if (weichatBrowser) {
  16. url = '/pages/public/wxLogin';
  17. }
  18. // #endif
  19. // #ifdef MP-WEIXIN
  20. url = '/pages/public/wxLogin';
  21. // #endif
  22. if (pageUrl != url) {
  23. uni.navigateTo({
  24. url
  25. })
  26. }
  27. }
  28. // 保存页面
  29. export function saveUrl() {
  30. let path = getPageUrl(true)
  31. uni.setStorageSync('present', path);
  32. }
  33. // 处理分享链接地址
  34. export function getPageUrl(showSpeard=false) {
  35. let page = getActionPage();
  36. let path = '/' + page.route;
  37. let url = '';
  38. // 获取对象可枚举键值列表
  39. let objKeys = Object.keys(page.options);
  40. // 判断有无传值
  41. if (objKeys.length > 0) {
  42. // 循环赋值对象数据
  43. for (let a in page.options) {
  44. // 判断有无邀请人
  45. if (a != 'speard') {
  46. url += a + "=" + page.options[a] + "&"
  47. }else{
  48. // 判断是否需要存储邀请人
  49. if(showSpeard){
  50. url += a + "=" + page.options[a] + "&"
  51. }
  52. }
  53. }
  54. path += '?' + url.substr(0, url.length - 1);
  55. }
  56. // 返回处理邀请人后的邀请地址
  57. return path
  58. }