| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta charset="UTF-8">
- <title></title>
- <script src="../o2_core/o2.min.js"></script>
- <script src="../o2_lib/Decimal.js"></script>
- <script>
- function getServiceAddress(config, callback){
- if (typeOf(config.center)=="object"){
- getServiceAddressConfigObject(callback);
- }else if (typeOf(config.center)=="array"){
- var center = chooseCenter(config);
- if (center){
- getServiceAddressConfigObject(callback, center);
- }else{
- getServiceAddressConfigArray(config, callback);
- }
- //this.getServiceAddressConfigArray(callback);
- }
- }
- function chooseCenter(config){
- var host = window.location.host;
- var center = null;
- for (var i=0; i<config.center.length; i++){
- var ct = config.center[i];
- if (ct.webHost==host){
- center = ct;
- break;
- }
- }
- return center;
- }
- function getServiceAddressConfigArray(config, callback) {
- var requests = [];
- config.center.each(function(center){
- requests.push(
- getServiceAddressConfigObject(function(address){
- requests.each(function(res){
- if (res.isRunning()){res.cancel();}
- });
- if (callback) callback(address);
- }.bind(this), center)
- );
- }.bind(this));
- }
- function getServiceAddressConfigObject(callback, center){
- var centerConfig = center;
- var host = centerConfig.host || window.location.hostname;
- var port = centerConfig.port;
- var uri = "";
- var locate = window.location;
- var protocol = locate.protocol;
- if (!port || port=="80"){
- uri = protocol+"//"+host+"/x_program_center/jaxrs/distribute/assemble/source/{source}";
- }else{
- uri = protocol+"//"+host+":"+port+"/x_program_center/jaxrs/distribute/assemble/source/{source}";
- }
- var currenthost = window.location.hostname;
- uri = uri.replace(/{source}/g, currenthost);
- //var uri = "http://"+layout.config.center+"/x_program_center/jaxrs/distribute/assemble";
- return MWF.restful("get", uri, null, function(json){
- var serviceAddressList = json.data;
- var addressObj = serviceAddressList["x_organization_assemble_authentication"];
- var address = protocol+"//"+addressObj.host+(addressObj.port==80 ? "" : ":"+addressObj.port)+addressObj.context;
- if (callback) callback(address);
- }.bind(this));
- }
- o2.addReady(function(){
- o2.JSON.get("res/config/config.json", function(config){
- if (!window.layout) window.layout = {};
- window.layout.config = config;
- getServiceAddress(config, function(address){
- var uri = new URI(window.location.toString());
- var xtoken = uri.getData("xtoken");
- var client = uri.getData("client");
- var redirect = uri.getData("redirect");
- if (xtoken){
- var res = new Request.JSON({
- //url: "http://hbxa01.bf.ctc.com:20080/x_organization_assemble_authentication/jaxrs/sso",
- url: o2.filterUrl(address+"/jaxrs/sso"),
- secure: false,
- method: "POST",
- noCache: true,
- withCredentials: true,
- onSuccess: function(responseJSON, responseText){
- if (redirect){
- window.location = redirect;
- }else{
- window.location = "/";
- }
- }.bind(this),
- onFailure: function(xhr){
- window.location = "/";
- }.bind(this),
- onError: function(text, error){
- window.location = "/";
- }.bind(this)
- });
- res.setHeader("Content-Type", "application/json; charset=utf-8");
- var json = {"token": xtoken, "client": client};
- res.send(JSON.encode(json));
- }else{
- if (redirect){
- window.location = redirect;
- }else{
- window.location = "/";
- }
- }
- });
- });
- });
- </script>
- </head>
- <body bgcolor="#faebd7" bgcolor="#ffc0cb">
- </body>
- </html>
|