var  storage =  storages. create ( "日赚3万_短视频合集" ) ;  
var  img_url =  "file://res/2.jpg" 
悬浮窗 ( ) ; 
function  悬浮窗 ( )  { 
    window =  floaty. rawWindow ( 
        < horizontal gravity= "center_vertical" > 
            < img id= "图标"  src= "https://www.runoob.com/try/demo_source/smiley-2.gif"  w= "60"  h= "60"  alpha= "0.8"  circle= "true"  borderWidth= "1dp"  borderColor= "black"  / > 
            < horizontal id= "抽屉" > 
                < vertical> 
                    < button id= "ui_运行"  textColor= "#FFFFFF"  text= "开始"  bg= "#4F4F4F"  padding= "0"  h= "40"  w= "60"  / > 
                    < text text= ""  h= "1"  / > 
                    < button id= "ui_关闭"  textColor= "#FFFFFF"  text= "结束"  bg= "#4F4F4F"  padding= "0"  h= "40"  w= "60"  / > 
                < / vertical> 
            < / horizontal> 
        < / horizontal> 
    ) ; 
    window. setPosition ( 50 ,  device. height /  3 ) ; 
    window. exitOnClose ( ) ; 
    setInterval ( ( )  =>  {  } ,  1000 ) ; 
    window. 抽屉. visibility =  8 ; 
    状态 =  false ; 
    var  execution =  null ; 
    var  x =  0 , 
        y =  0 ; 
    var  windowX,  windowY; 
    var  downTime; 
    console. log ( "w=" + device. width) ; 
    console. log ( "h=" + device. height) ; 
    window. 图标. setOnTouchListener ( function  ( view,  event )  { 
        switch  ( event. getAction ( ) )  { 
            case  event. ACTION_DOWN : 
                x =  event. getRawX ( ) ; 
                y =  event. getRawY ( ) ; 
                windowX =  window. getX ( ) ; 
                windowY =  window. getY ( ) ; 
                downTime =  new  Date ( ) . getTime ( ) ; 
                return  true ; 
            case  event. ACTION_MOVE : 
                
                let  movexx =  windowX +  ( event. getRawX ( )  -  x) ; 
                let  moveyy =  windowY +  ( event. getRawY ( )  -  y) ; 
                if ( movexx <  0   ||  movexx >  device. width) { 
                    movexx =  0 ; 
                } 
                
                if ( moveyy <  0  ||  moveyy >  device. height) { 
                    moveyy =  0 ; 
                } 
                window. setPosition ( movexx, moveyy) ; 
                    console. log ( "event y="  +  event. getRawY ( ) ) ; 
                    console. log ( "event x="  +  event. getRawX ( ) ) ; 
                return  true ; 
            case  event. ACTION_UP : 
                if  ( Math. abs ( event. getRawY ( )  -  y)  <  5  &&  Math. abs ( event. getRawX ( )  -  x)  <  5 )  { 
                    抽屉状态 ( ) ; 
                } 
                return  true ; 
        } 
        return  true ; 
    } ) ; 
    function  抽屉状态 ( )  { 
        if  ( window. 抽屉. visibility ==  8 )  { 
            window. 抽屉. visibility =  0 ; 
        }  else  { 
            window. 抽屉. visibility =  8 ; 
        } 
    } 
    window. ui_关闭. setOnTouchListener ( function  ( view,  event )  { 
        if  ( event. getAction ( )  ==  event. ACTION_UP )  { 
            toastLog ( "关闭脚本..." ) ; 
            window. close ( ) ; 
            exit ( ) ; 
        } 
        return  true ; 
    } ) ; 
    
    window. ui_运行. setOnTouchListener ( function  ( view,  event )  { 
        if  ( event. getAction ( )  ==  event. ACTION_UP )  { 
            window. setPosition ( 50 ,  device. height /  3 ) ; 
            window. disableFocus ( ) ; 
            if  ( window. ui_运行. text ( )  ==  "开始" )  { 
                window. ui_运行. text ( "暂停" ) ; 
                console. log ( "开始运行悬浮窗" ) ; 
                var  main =  threads. start ( function  ( )  { 
                    device. keepScreenOn ( ) 
                    
                    douyinTask. runDouYinTask ( ) ; 
                } ) 
                
                setTimeout ( function  ( )  { 
                    if  ( window. ui_运行. text ( )  ==  "暂停" )  { 
                        抽屉状态 ( ) 
                    } 
                } ,  3000 ) 
                
                var  监控状态 =  setInterval ( function  ( )  { 
                    if  ( window. ui_运行. text ( )  ==  "开始" )  {  
                        main. interrupt ( ) 
                        toastLog ( "暂停了" ) 
                        clearInterval ( 监控状态) 
                    } 
                } ,  100 ) 
            }  else  { 
                状态 =  false ; 
                window. ui_运行. text ( "开始" ) ; 
                toastLog ( "开始暂停..." ) ; 
            } 
        } 
        return  true ; 
    } ) ; 
}