珠峰系統(tǒng)架構(gòu)方案

系統(tǒng)前后臺分離

  • 登錄后保存token
    Demo登錄地址:
    http://192.168.5.108:8088/oa/loginiframe.aspx
    登錄后cookie中存入訪問token和有效期expire

  • 客戶端可取token進行資源訪問
    Demo訪問地址
    http://192.168.5.108:8088/demo.html
    可以看到這個頁面是靜態(tài)的html文件蜻直,它通過cookie中的token對原系統(tǒng)進行資源訪問
    實現(xiàn)代碼:

     var getToken = function(){    //從cookie中獲取token
         var tokenCookie = getCookie('token');
         if(tokenCookie!=''){
             var usertoken = tokenCookie.split('&')[0].split('=')[1];
             var expire = tokenCookie.split('&')[1].split('=')[1];
             var timestamp = Date.parse(new Date())/ 1000;
             if(expire>timestamp){    //有效期內(nèi)
                 return usertoken;
             }
         }
         return '';
     }
     $(function(){
     if(getToken() == ''){
         alert('尚未登錄');
         window.location.;
         return false;
     }
     var postData = '{ "sql":"bookPagesByUnit @id=1","udx":"-1","flt":"","sortby":"","server":"","DB":"","token":"'+getToken()+'"}';
     $.ajax({
         type: 'POST',
         url: "/oa/api/doclistm.asmx/djson",
         data: postData,
         success: function (data) {
             if(typeof (data.d)!='undefined'){
                 var json = JSON.parse(data.d);//d的值為json的轉(zhuǎn)義文本盯质,需轉(zhuǎn)化成json使用
                 var str = '<tr><td>'+json.data.lid+'</td><td>'+json.data.mc+'</td><td><button class="btn btn-danger btn-xs">刪除</button></td></tr>';
                 $('#showlist').append(str);
             }
         },
         dataType: "json",
         beforeSend: function (x) {
             x.setRequestHeader("Content-Type", "application/json");
         },
     });
     });
    

已實現(xiàn)的ajax接口地址:http://192.168.5.108:8088//oa/api/doclistm.asmx

系統(tǒng)間的token傳遞

  • 服務(wù)器配置CORS協(xié)議支持跨域訪問,這里可以直接使用ajax調(diào)用8080的接口

  • 頁面間跳轉(zhuǎn):先訪問java系統(tǒng)的接口地址傳遞cookie
    實現(xiàn)代碼:

      var modelHost = 'http://192.168.5.108:8080/api/route';
      $('#in-btn').on('click',function(){
          $('#ifm').attr("src",modelHost+'?token='+usertoken+'&expire='+expire+'&model='+$(this).data('model'));
      });
      $('#go-btn').on('click',function(){
          window.location = modelHost+'?token='+usertoken+'&expire='+expire+'&model='+$(this).data('model');
      });
    
  • 該接口把token和expire存入localStorage(解決ajax跨域問題)

  • 頁面中獲取token訪問java業(yè)務(wù)接口

    var getToken = function(){
      var token = window.localStorage.getItem('everestec-usertoken');
      var expire = window.localStorage.getItem('everestec-expire');
      if(token==null||token==''||expire==null||expire==''){
          return '';
      }
      var timestamp = Date.parse(new Date())/ 1000;
      if(expire<timestamp){
          return '';
      }
      else return token;
    }
    $(function(){
      var usertoken = getToken();    //從localStorage從獲取token
      if(usertoken==''){
          alert('尚未登錄');
          window.location.;
          return;
      }
      $.post('/api/wage/ctype?usertoken='+usertoken,function(data){
          if(data.ret != 0){    //服務(wù)器對token的判斷
              alert('尚未登錄');
              window.location.;
              return false;
          }
          $("#showlist").empty();
          $.each(data.data, function (i, row) {
              var str = '<tr id="tr_'+row.id+'"><td>'+row.mname+'</td><td> '+row.sname+'</td><td>'
                  +'<button class="btn btn-danger btn-xs">刪除</button>'
                  +'</td></tr>';
              $("#showlist").append(str);
          });
        });
    });
    
  • ios和安卓或者其他系統(tǒng)只需要直接使用token 訪問業(yè)務(wù)接口(不涉及跨域)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末概而,一起剝皮案震驚了整個濱河市呼巷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赎瑰,老刑警劉巖王悍,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異乡范,居然都是意外死亡配名,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門晋辆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渠脉,“玉大人,你說我怎么就攤上這事瓶佳∮蟊欤” “怎么了?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵霸饲,是天一觀的道長为朋。 經(jīng)常有香客問我,道長厚脉,這世上最難降的妖魔是什么习寸? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮傻工,結(jié)果婚禮上霞溪,老公的妹妹穿的比我還像新娘。我一直安慰自己中捆,他們只是感情好鸯匹,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著泄伪,像睡著了一般殴蓬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蟋滴,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天染厅,我揣著相機與錄音,去河邊找鬼脓杉。 笑死糟秘,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的球散。 我是一名探鬼主播尿赚,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蕉堰!你這毒婦竟也來了凌净?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤屋讶,失蹤者是張志新(化名)和其女友劉穎冰寻,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皿渗,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡斩芭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年轻腺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片划乖。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡贬养,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出琴庵,到底是詐尸還是另有隱情误算,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布迷殿,位于F島的核電站儿礼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏庆寺。R本人自食惡果不足惜蚊夫,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望懦尝。 院中可真熱鬧这橙,春花似錦、人聲如沸导披。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撩匕。三九已至鹰晨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間止毕,已是汗流浹背模蜡。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扁凛,地道東北人忍疾。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像谨朝,于是被迫代替她去往敵國和親卤妒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內(nèi)容