tab.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. "use strict";
  2. const common_vendor = require("../common/vendor.js");
  3. let _data = {};
  4. function setData(data) {
  5. _data = data;
  6. }
  7. function getData() {
  8. return _data;
  9. }
  10. const Tab = {
  11. getData,
  12. /**
  13. * 关闭所有页面,打开到应用内的某个页面
  14. * @param url 页面路径
  15. * @returns
  16. */
  17. reLaunch(url, config = {}) {
  18. setData(config.data);
  19. return new Promise((resolve, reject) => {
  20. common_vendor.index.reLaunch({
  21. url,
  22. success: resolve,
  23. fail: reject
  24. });
  25. });
  26. },
  27. /**
  28. * 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
  29. * @param url 页面路径
  30. * @returns
  31. */
  32. switchTab(url, config = {}) {
  33. setData(config.data);
  34. return new Promise((resolve, reject) => {
  35. common_vendor.index.switchTab({
  36. url,
  37. success: resolve,
  38. fail: reject
  39. });
  40. });
  41. },
  42. /**
  43. * 关闭当前页面,跳转到应用内的某个页面
  44. * @param url 页面路径
  45. * @returns
  46. */
  47. redirectTo(url, config = {}) {
  48. setData(config.data);
  49. return new Promise((resolve, reject) => {
  50. common_vendor.index.redirectTo({
  51. url,
  52. success: resolve,
  53. fail: reject
  54. });
  55. });
  56. },
  57. /**
  58. * 保留当前页面,跳转到应用内的某个页面
  59. * @param url 页面路径
  60. * @returns
  61. */
  62. navigateTo(url, config = {}) {
  63. setData(config.data);
  64. return new Promise((resolve, reject) => {
  65. common_vendor.index.navigateTo({
  66. url,
  67. success: resolve,
  68. fail: reject
  69. });
  70. });
  71. },
  72. /**
  73. * 关闭当前页面,返回上一页面或多级页面
  74. * @returns
  75. */
  76. navigateBack(config = {}) {
  77. setData(config.data);
  78. return new Promise((resolve, reject) => {
  79. common_vendor.index.navigateBack({
  80. success: resolve,
  81. fail: reject
  82. });
  83. });
  84. }
  85. };
  86. exports.Tab = Tab;