gaoluyang
3 天以前 92230c9a97dc9ce9df3313d11d26999c04bb6b26
src/plugins/tab.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,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)
  }
}