gaoluyang
3 天以前 92230c9a97dc9ce9df3313d11d26999c04bb6b26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import { tansParams } from "@/utils/common";
 
let _params:string = "{}"
function setParams(params:any){
  _params = JSON.stringify(params)
}
 
export default {
  /**
   * 关闭所有页面,打开到应用内的某个页面
   * @param url 页面路径
   * @returns 
   */
  reLaunch(url: string, params?: any): Promise<unknown> {
    setParams(params)
    return new Promise((resolve, reject) => {
      uni.reLaunch({
        url: !!params?url + '?' + tansParams(params):url,
        success: resolve,
        fail: reject
      });
    });
  },
 
  /**
   * 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面
   * @param url 页面路径
   * @returns 
   */
  switchTab(url: string, params?: any): Promise<unknown> {
    setParams(params)
    console.log(!!params?url + '?' + tansParams(params):url);
    
    return new Promise((resolve, reject) => {
      uni.switchTab({
        url: !!params?url + '?' + tansParams(params):url,
        success: resolve,
        fail: reject
      });
    });
  }
  ,
  /**
   * 关闭当前页面,跳转到应用内的某个页面
   * @param url 页面路径
   * @returns 
   */
  redirectTo(url: string, params?: any): Promise<unknown> {
    setParams(params)
    return new Promise((resolve, reject) => {
      uni.redirectTo({
        url: !!params?url + '?' + tansParams(params):url,
        success: resolve,
        fail: reject
      });
    });
  },
  /**
   * 保留当前页面,跳转到应用内的某个页面
   * @param url 页面路径
   * @returns 
   */
  navigateTo(url: string, params?: any): Promise<unknown> {
    setParams(params)
    return new Promise((resolve, reject) => {
      uni.navigateTo({
        url: !!params?url + '?' + tansParams(params):url,
        success: resolve,
        fail: reject
      });
    });
  },
 
  /**
   * 关闭当前页面,返回上一页面或多级页面
   * @returns 
   */
  navigateBack(): Promise<unknown> {
    return new Promise((resolve, reject) => {
      uni.navigateBack({
        success: resolve,
        fail: reject
      });
    });
  },
 
  /**
   * 获取当前页面参数
   */
  getParams(): any {
    return JSON.parse(_params)
  }
}