loginUtils.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. })
  25. }
  26. }
  27. // 保存页面
  28. export function saveUrl() {
  29. // 获取当前页面
  30. let page = getActionPage();
  31. // 获取跳转前路由地址
  32. let path = '/' + page.route;
  33. // 判断是否在商品页
  34. if (path == '/pages/product/product') {
  35. if (page.spread) {
  36. if (page.type) {
  37. path = path + '?id=' + page.id +'&type='+page.goodsType+'&spread='+page.spread;
  38. }else{
  39. path = path + '?id=' + page.id+'&spread='+page.spread;
  40. }
  41. }else{
  42. if (page.type) {
  43. path = path + '?id=' + page.id +'&type=' + page.goodsType;
  44. }else{
  45. path = path + '?id=' + page.id;
  46. }
  47. }
  48. }
  49. //订单支付页面
  50. if (path == '/pages/order/createOrder') {
  51. // 判断是否为参团订单
  52. if (page.option.type == "pink") {
  53. const data = page.option;
  54. path = path + '?pinkid=' + data.pinkid + '&type=pink' + '&pid=' + data.pid + '&gid=' + data.gid;
  55. }
  56. }
  57. //邀请好友拼团页面
  58. if (path == '/pages/product/details') {
  59. if (page.spread) {
  60. path = path + '?pink_id=' + page.gp_id + '&spread=' + page.spread +'&teamid='+page.teamid;
  61. }else{
  62. path = path + '?pink_id=' + page.gp_id +'&teamid='+ page.teamid;
  63. }
  64. }
  65. //我的订单页面
  66. if (path == '/pages/order/order') {
  67. if (page.state) {
  68. path = path + '?state='+page.state;
  69. }
  70. }
  71. //我的订单页面
  72. if (path == '/pages/index/index') {
  73. if (page.bingding) {
  74. path = path + '?bingding='+page.bingding;
  75. }
  76. console.log(path)
  77. }
  78. //文章详情页面
  79. if (path == '/pages/moments/details') {
  80. if (page.spread) {
  81. path = path +'?id=' + page.id + '&spread='+ page.spread;
  82. }else{
  83. path = path +'?id=' + page.id;
  84. }
  85. }
  86. // 判断是否在登录页
  87. // 保存当前过去页面
  88. uni.setStorageSync('present', path);
  89. }