// router.js



//import {getCurrentPageUrl} from "./getUrl"
module.exports = {
  navigateTo(object) {
    let pages = getCurrentPages();
    let len = pages.length;
    let dlt = 0;
    let cur_url=object.url; 
    // let token='';
    // const { envVersion } = wx.getAccountInfoSync().miniProgram;
    // if(envVersion=='release'){
    //   token = wx.getStorageSync('AUTH_TOKEN');
    // }else{
    //   token = wx.getStorageSync('DEV_AUTH_TOKEN');
        
    // };
    // if(!token){
    //     if(cur_url.indexOf('/mobileLogin/mobileLogin')!=-1 || cur_url.indexOf('/linkPage/linkPage')!=-1 || cur_url.indexOf('patient/pages/login/login')!=-1 || cur_url.indexOf('index/index') !=-1){
    //         AnimatorControllerStateModel.log(111)
    //         wx.reLaunch({
    //             url: '/patient/pages/login/login'
    //           });
    //     }
      
    // };
 
 
   
  object.fail=function(error){
      console.log(error)
  };
  let is_otherCommon=false;
  let currentOptions=cur_url.split("?")[1];
  for (let i = 0; i < len; i++) {
    //判断是否是聊天页面
    if(pages[i].route=="TUIService/pages/index" && cur_url.indexOf("TUIService/pages/index")!=-1 ) {
      let currentOptionsArr=currentOptions.split("&");
      let cur_options=currentOptionsArr[0].toString()+"&"+currentOptionsArr[1].toString();
      let options=pages[i].options;
      //let params="currentConversationID="+options['currentConversationID']+"&order_inquiry_id="+options['order_inquiry_id']+"&inquiry_type="+options['inquiry_type']
      let  params="currentConversationID="+options['currentConversationID']+"&order_inquiry_id="+options['order_inquiry_id'];
      //判断历史路由栈中是否有打开过同一个问诊聊天
      if(cur_options==params){
        dlt = i+1 ; //目标页在栈中的位置
        break;
      }else{
        is_otherCommon=true;
        dlt = i+1 ; //目标页在栈中的位置
        break;
      }
      
    }else if(pages[i].route=="pages/expertDetail/expertDetail" && cur_url.indexOf("pages/expertDetail/expertDetail")!=-1){
      let options=pages[i].options;
      let params='doctor_id='+options['doctor_id'];
      if(currentOptions.indexOf(params)!=-1){
        dlt = i+1 ; //目标页在栈中的位置
        break;
      }
    }
  };
  if (!dlt) {	//这个判断里面的跳转代码可根据自己项目实际需求场景进行修改
  	if (len < 10) {
      wx.navigateTo(object);
    } else {
      wx.redirectTo(object)
    }
  } else {	//主要是else里面的跳转代码用来解决页面栈10层限制问题导致卡住的问题
    wx.navigateBack({
      delta: len - dlt,
      fail(error){
          console.log(error)
      },
      success(){
        // iOS使用navigateBack返回超过4级之后会导致页面点击事件失效以及都是聊天页但不是同一个用户，都对页面进行重新载入
        if(is_otherCommon || len - dlt>=5){
          wx.redirectTo(object)
        }
     
      }
    });
  }

      // if (getCurrentPages().length > 9) {
      //     wx.redirectTo(object)
      //     // this.reLaunch(object)
      // } else {
      
      //     wx.navigateTo(object)
      // }
  },
  goTo(object){
    //let pages=getCurrentPages();
     
  },
  // 其他跳转不处理
  navigateBack(object) {
      wx.navigateBack(object)
  },

  switchTab(object) {
      wx.switchTab(object)
  },

  redirectTo(object) {
      wx.redirectTo(object)
  },

  reLaunch(object) {
      wx.reLaunch(object)
  },

}
