gotopage.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import config from '../config.js'
  2. /*导航菜单白名单*/
  3. const tabBarLinks = [
  4. '/pages/index/index',
  5. '/pages/product/category',
  6. '/pages/cart/cart',
  7. '/pages/user/index/index'
  8. ];
  9. /*分享页面白名单*/
  10. const shareLinks = [
  11. '/pages/plus/assemble/fight-group-detail/fight-group-detail',
  12. '/pages/plus/bargain/haggle/haggle',
  13. '/pages/user/invite/invite',
  14. '/pages/product/detail/detail',
  15. '/pages/plus/seckill/detail/detail',
  16. '/pages/plus/assemble/detail/detail',
  17. '/pages/plus/bargain/detail/detail',
  18. '/pages/plus/points/detail/detail'
  19. ]
  20. /*
  21. * 跳转页面
  22. */
  23. export const gotopage = (url, type) => {
  24. if (!url || url.length == 0) {
  25. return false;
  26. }
  27. if(url.substr(0,1)!=='/'){
  28. url='/' + url;
  29. }
  30. let p = url;
  31. if(url.indexOf('?') != -1){
  32. p = url.substr(0, url.indexOf('?'));
  33. // #ifdef H5
  34. if(url.search("app_id") == -1){
  35. url = url + '&app_id='+config.app_id;
  36. }
  37. // #endif
  38. }else{
  39. // #ifdef H5
  40. if(url.search("app_id") == -1){
  41. url = url + '?app_id='+config.app_id;
  42. }
  43. // #endif
  44. }
  45. // tabBar页面
  46. if (tabBarLinks.indexOf(p) > -1) {
  47. uni.reLaunch({
  48. url: url
  49. });
  50. } else {
  51. if(process.env.NODE_ENV === 'production'){
  52. //判断是否分享页面
  53. if (shareLinks.indexOf(p) > -1) {
  54. //公众号
  55. // #ifdef H5
  56. window.location.href = config.app_url + config.h5_addr + url;
  57. return;
  58. // #endif
  59. }
  60. }
  61. if(type == 'redirect'){
  62. uni.redirectTo({
  63. url: url
  64. });
  65. return
  66. }
  67. if(type == 'reLaunch'){
  68. uni.reLaunch({
  69. url: url
  70. });
  71. return
  72. }
  73. // 普通页面
  74. uni.navigateTo({
  75. url: url
  76. });
  77. }
  78. }