		import http from "./http.js"
 class Action {
	
	/** 播放音效 */
	playVoice(path){

        var innerAudioContext = uni.createInnerAudioContext();  
        innerAudioContext.autoplay = true;  
        innerAudioContext.src=path;
         innerAudioContext.play();
        
	}
    toChat(message){
        if(uni.getStorageSync('ispush')===true){
              uni.setStorageSync('ispush',false)
               if(uni.getStorageSync('access_token')>0){
                   
        if(message.id>0){
             var url="../friend/chat?id="+message.id;
             if(message.type=='group') url="../group/chat?id="+message.id;
             else if(message.type=='request') {
                 url="../friend/request?type="+message.senderid;
             }
             uni.navigateTo({
                 url:url
             }) 
          
         }
         else{
            uni.reLaunch({
                url:'../index/index'
            }) 
         }        
     }
     else{
         uni.navigateTo({
             url:'../login/index'
         }) 
     }
         }
    }
     timestampToTime(timestamp) {
            var date = new Date(timestamp * 1000);//时间戳为10位需*1000，时间戳为13位的话不需乘1000
            var Y = date.getFullYear() ;
            var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1);
            var D = date.getDate();
            var h = date.getHours();
            var m = date.getMinutes();
            var s = date.getSeconds();
            if(D<10) D='0'+D;
             if(h<10) h='0'+h;
              if(m<10) m='0'+m;
               if(s<10) s='0'+s;
            return Y+'-'+M+'-'+D+' '+h+':'+m+':'+s;
    }
	/** 时间戳转换 */
	timestampFormat( timestamp ) {
		let curTimestamp = parseInt(new Date().getTime() / 1000), //当前时间戳
		timestampDiff = curTimestamp - timestamp, // 参数时间戳与当前时间戳相差秒数
		curDate = new Date( curTimestamp * 1000 ), // 当前时间日期对象
		tmDate = new Date( timestamp * 1000 ),  // 参数时间戳转换成的日期对象
		Y = tmDate.getFullYear(), 
		m = tmDate.getMonth() + 1, d = tmDate.getDate(),
		H = tmDate.getHours(), i = tmDate.getMinutes(), 
		s = tmDate.getSeconds();
		if ( timestampDiff < 60 ) { // 一分钟以内
			return "刚刚";
		} else if( timestampDiff < 3600 ) { // 一小时前之内
			return Math.floor( timestampDiff / 60 ) + "分钟前";
		} else if ( curDate.getFullYear() == Y && curDate.getMonth()+1 == m && curDate.getDate() == d ) {
			return '今天 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ? '0' : '') + i);
		} else {
			var newDate = new Date( (curTimestamp - 86400) * 1000 ); // 参数中的时间戳加一天转换成的日期对象
			if ( newDate.getFullYear() == Y && newDate.getMonth()+1 == m && newDate.getDate() == d ) {
				return '昨天 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ? '0' : '') + i);
			} else if ( curDate.getFullYear() == Y ) {
				return  ((String(m).length == 1 ? '0' : '') + m) + '月' + ((String(d).length == 1 ? '0' : '') + d) + '日 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ? '0' : '') + i);
			} else {
				return  Y + '年' + ((String(m).length == 1 ? '0' : '') + m) + '月' + ((String(d).length == 1 ? '0' : '') + d) + '日 ' + ((String(H).length == 1 ? '0' : '') + H) + ':' + ((String(i).length == 1 ? '0' : '') + i);
			}
		}
	}
    
    
    /** 显示状态通知提醒 */
    setStatusTips(){
    	let pages = getCurrentPages();
     
    	if(pages.length < 1){
    		return;
    	}
    	let route = pages[pages.length - 1].route;
    
        
         var num=0;
         if(uni.getStorageSync('access_token')){
             try{
                   var msg_key=uni.getStorageSync('access_token')+'_chat_msglist';
                    var msg_list=uni.getStorageSync(msg_key);
                   msg_list.map(item=>{
                    
                     num+=parseInt(item.msg.unread)
                   })
                        
                }catch(e){
                    
                }
                  
                 	if(num){
                 		uni.setTabBarBadge({
                 		 index: 0,
                 		 text: (num + ''),
                    
                 		});
                 		if(route == 'pages/index/index'){
                 			uni.setNavigationBarTitle({
                 				title: '消息' + '(' + num +')',
                 			});
                 		}
                 	}
              else{
             uni.removeTabBarBadge({ index: 0 });
              
                if(route == 'pages/index/index'){
                	uni.setNavigationBarTitle({
                		title: '消息' ,
                	});
                }  
              }
             
         }
         // #ifdef APP-PLUS
       if(plus.os.name=='iOS') 
         plus.runtime.setBadgeNumber(num);
          // #endif
    
     
       return num;
    	
    }
    
     
    
    /** 路由守卫执行方法 */
    routeTool() {
    	let token =  uni.getStorageSync('access_token');
    	/** 没有token就跳转到登陆去获得token */
    	if(!token){
    		uni.reLaunch({
    			url: '/pages/login/index'
    		});
    		return;
    	}
    	/** 如果没有连接上socket,则连接 */
    	if(!_data.data('socket_state')) {
    		_mixins.methods.$socketSend();
    	}
    }
    
    addFrend(userid,mark){

        
    }
    
    
    circleUpate(data){

        var k=uni.getStorageSync('access_token')+'_circle_data';
        var circle_data=uni.getStorageSync(k);
        var newdata=[];
        var info=data.info;
        try{
            circle_data.map(item=>{
              
                if(parseInt(item.id)==parseInt(data.id)){
                    if(data.action!='delete'){
                        item.like=info.like;
                        item.comment=info.comment;
                        newdata.push(item);
                    }
                }else{
                    newdata.push(item);
                }
            })
            uni.setStorageSync(k,newdata);
        }catch(e){
            //TODO handle the exception
        }
       
    }
    
   image_cache(image_url,call_back) {
    		var store=uni.getStorageSync(image_url);
            if(store){
                 console.log('本地存在缓存',store); 
            
            }else{
                console.log('本地没有缓存,需要下载');
                uni.downloadFile({
                	url: image_url,
                	success: (res) => {
                        console.log('图片下载成功',res);
                		if (res.statusCode === 200) {
                			uni.setStorageSync(res);
                		}
                	}
                }); 
                
                
            }
            
         
    	}
        
       
        
        
       init(){
           
       http.setWait(false).get('index.php?act=init',{}).then(res=>{
        var data=res.data;
 
       uni.setStorageSync('system',data.system);

         uni.setStorageSync('note',data.note);
       })
       // #ifdef APP-PLUS
       this.bindcid()
        // #endif
       }
       
       bindcid(){
        // #ifdef APP-PLUS
          var user=uni.getStorageSync('userInfo');
            if(user.id>0){
               /*var clientid= plus.push.getClientInfo().clientid;
             
               http.setWait(false).get('index.php?act=bindcid',{cid:clientid,userid:user.id,osname:plus.os.name}).then(res=>{
              
               })*/
            }
            // #endif
       }
       quitcid(){
             // #ifdef APP-PLUS
              /*  var clientid= plus.push.getClientInfo().clientid;
         http.setWait(false).get('index.php?act=quitcid',{cid:clientid}).then(res=>{
                       
         })  */
         // #endif
       }
       
   profileTips(tips,path){
     
     uni.showModal({
     	title: '提示',
     	content: tips,
     	showCancel: true,
     	cancelText: '取消',
     	confirmText: '去设置',
     	success: res => {
           
     		if(res.confirm) {
                 uni.setStorageSync('profileback',path);
               uni.redirectTo({
                 url:"/pages/mine/profile"  
               })
     		}
     	}
     });
       
   }
   
   loginTips(tips,path){
       
        if(uni.getStorageSync('access_token')>0) {
            return true;
        }
    else{
         uni.showModal({
         	title: '提示',
         	content: tips,
         	showCancel: true,
         	cancelText: '取消',
         	confirmText: '登录',
         	success: res => {
               
         		if(res.confirm) {
                     uni.setStorageSync('gourl',path);
                   uni.redirectTo({
                     url:"/pages/login/index"  
                   })
         		}
         	}
         });
         return false;
     }  
   }
   //检查用户是否被冻结
   check_userlock(){
       var user= uni.getStorageSync('userInfo');
       if(user.lock_time==undefined || user.lock_time==null) user.lock_time=0;
       if(user.status==1 || (user.status==2 && parseInt(user.lock_time)>= Date.parse(new Date())/1000)){
      
           uni.showModal({
           	title: '提示',
           	content: "您的账户已被冻结,无法完成此项操作\n如有问题，请联系客服",
           	showCancel: true,
           	cancelText: '取消',
           	confirmText: '联系客服',
           	success: res => { 
           		if(res.confirm) {
                       var system=uni.getStorageSync('system');
                     uni.redirectTo({
                       url:"/pages/friend/chat?id="+system['admin_id']  
                     })
           		}
           	}
           });
           return false;
       }
       else{
           return true;
       }
   }
   
  
   
   
        
}
export default new Action();