loginUtils.js 1.4 KB

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