url重定向,循环请求一个url列表,如果接口调通则停止循环,跳转到相应页面

url重定向

    import {getUrl} from './api.js'
    import axios from 'axios';
    export default {
        name: 'Login',
        data(){
            return {
                urls:[]
            }
        },
        components:{},
        created() {
        },
        mounted() {
            //如果不存在缓存则调用this.getUrl()获取url列表
            if(localStorage.getItem('projectUrl')==null){
                this.getUrl()
            }else{
                axios.get(localStorage.getItem('dataRemark')).then((res)=>{
                    if(res.status == 200){//缓存接口调通,直接重定向
                        // if(window.android){
                        //     window.android.config(localStorage.getItem('projectUrl'))
                        // }
                        window.location.href = localStorage.getItem('projectUrl');
                    }else{
                        this.getUrl();//缓存接口调不通,重新获取url列表
                    }
                }).catch((err) =>{
                    this.getUrl();//缓存接口报错,重新获取url列表
                });
                
            }
            
        },
        methods:{
            getUrl(){//获取url列表
                getUrl().then(res=>{
					if(res.data && res.data.code == 0){
                        this.urls=res.data.data
                        this.fetchData(this.urls)
                    }
				})
            },
            async  fetchData(urls) {
                for (const url of urls) {//循环遍历url
                    let flag=false;
                    await axios.get(url.dataRemark).then((res)=>{
                        if(res.status == 200){
                            flag=true
                        }
                    }).catch((err) =>{
                    });
                    if(flag){
                        // if(window.android){
                        //     window.android.config(url.dataValue)
                        // }
                        localStorage.setItem('projectUrl',url.dataValue)
                        localStorage.setItem('dataRemark',url.dataRemark)
                        window.location.href = url.dataValue;
                        return false
                    }
                }
            },
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值