18910140161

angular解决服务封装$http权限时出现的问题

顺晟科技

2021-08-28 09:38:26

7

$http封装,授权时拦截403等状态,获取验证码倒计时:

阻塞接口返回状态

var app=angular . module(' app ');

App.factory ('user interceptor ',[$ q ',$ rootscope ',$ location ',function ($ q))

return { request : function(config){ config . headers[' authorization ']=' bearer ' local storage Var urGettime();}else{ config.url=config.url '?Time=' new Date()。Gettime();} } return config},response error : function(response){ switch(response . status){ case 4013360 local storage . clear . $ local布雷克;case 40: $ location . path('/log in ');布雷克;}}

}

}]);

Response.status是返回状态代码

软件包$http

App.factory ('resource get ',function ($ http,$ q){ Var service={ } service . callback=ff Var deference$ http({ method 3360 ' get ',url3360 urlaction,params : params })。success(function(data)})return deferred . promise;} return service

});

App.factory ('resourceput ',function ($ http,$ q)){

Var service={}

service . callback=function(action,params){ var URL=' 335810 . 0 . 10 . 20133608080/' vards URL 3360 urlactionCharset=utf-8'})。success(function(data){ deferred . resolve(data)})return defers

}

Return service

})。

App.factory ('resourcepost ',function ($ http,$ q)){

Var service={}

service . callback=function(action,params){ var URL=' 335810 . 0 . 10 . 20133608080/' vards URL 3360 urlactionCharset=utf-8'})。success(function(data){ deferred . resolve(data)})return defers

}

Return service

})。

App.factory ('resource delete ',function ($ http,$ q)){

Var service={}

service . callback=function(action,params){ var URL=' 335810 . 0 . 10 . 20133608080/' vards/headers

}

Return service

})。

更正跨域问题

App.config (['$ httpprovider ',function($ http provider){ $ http provider . defaults . with creder)

}]);

获取验证码倒计时

App.service ('waitsecond ',function () {

Var wait=60

Var t=this

This.waittime=function(代码){ if(wait==0){ $(‘#’code)。html(“获取验证码”)$(“#”代码)。remove attr(' disabled ');Wait=60} else {console.log(代码);$ ('#' code)。html(function(){ return wait ' s ' })。attr('disabled ',' true ')Wait-;settime out(function(){ t . wait time(代码);},1000);}

}

})。

Html:

button id=' code ' ng-click=' register . get code(' code ')' class=' ng-binding '获得验证码bubs

Controller:

wait second . wait time(id);

5.统一接口定义全局变量

App.constant ('apiimg ',' http://10 . 0 . 10 . 20033608080/seeme interface/img/uploadimg ')

我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航