navigate.js 889 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const navTo = function(url, data) {
  2. url += (url.indexOf('?') < 0 ? '?' : '&') + param(data)
  3. uni.navigateTo({
  4. url,
  5. success: (res) => {
  6. // 通过eventChannel向被打开页面传送数据
  7. res.eventChannel.emit('acceptDataFromOpenerPage', {
  8. data: data
  9. })
  10. }
  11. })
  12. }
  13. const navBack = function() {
  14. uni.navigateBack({
  15. delta: 1
  16. });
  17. }
  18. const navTabbar = function(url) {
  19. uni.switchTab({
  20. url
  21. });
  22. }
  23. const redirectTo = function(url) {
  24. uni.redirectTo({
  25. url
  26. });
  27. }
  28. const reLaunch = function(url) {
  29. uni.reLaunch({
  30. url
  31. });
  32. }
  33. const switchTab = function(url) {
  34. uni.switchTab({
  35. url
  36. });
  37. }
  38. function param(data) {
  39. let url = ''
  40. for (let k in data) {
  41. let value = data[k] !== undefined ? data[k] : ''
  42. url += '&' + k + '=' + encodeURIComponent(value)
  43. }
  44. return url ? url.substring(1) : ''
  45. }
  46. export {
  47. navTo,
  48. navTabbar,
  49. navBack,
  50. redirectTo,
  51. reLaunch,
  52. switchTab
  53. }