tab.ts 1.8 KB

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