Browse Source

Merge remote-tracking branch 'origin/dev' into dev

heqinwei 7 years ago
parent
commit
186601f70e
20 changed files with 180 additions and 102 deletions
  1. 6 6
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/EmployeeMapper.java
  2. 5 4
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/EmployeeServiceImpl.java
  3. 3 2
      applications/document/document-server/src/main/resources/mapper/EmployeeMapper.xml
  4. 1 1
      applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutMapper.xml
  5. 1 1
      applications/storage/storage-server/src/main/resources/mapper/ProdInOutMapper.xml
  6. 59 32
      frontend/saas-portal-web/src/components/conenter/home.vue
  7. 18 9
      frontend/saas-portal-web/src/components/footer/footer.vue
  8. 26 38
      frontend/saas-portal-web/static/css/main.css
  9. BIN
      frontend/saas-portal-web/static/img/banner@2x@2x.png
  10. BIN
      frontend/saas-portal-web/static/img/banner@3x@2x.png
  11. BIN
      frontend/saas-portal-web/static/img/feature/blue1@2x.png
  12. BIN
      frontend/saas-portal-web/static/img/feature/blue3@2x.png
  13. BIN
      frontend/saas-portal-web/static/img/feature/illustration1@2x.png
  14. BIN
      frontend/saas-portal-web/static/img/feature/illustration2@2x.png
  15. BIN
      frontend/saas-portal-web/static/img/feature/illustration3@2x.png
  16. BIN
      frontend/saas-portal-web/static/img/feature/illustration4@2x.png
  17. BIN
      frontend/saas-portal-web/static/img/feature/yellow2@2x.png
  18. BIN
      frontend/saas-portal-web/static/img/feature/yellow4@2x.png
  19. 16 8
      frontend/saas-web/app/view/core/report/ReportPanel.js
  20. 45 1
      frontend/saas-web/app/view/viewport/ViewportController.js

+ 6 - 6
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/EmployeeMapper.java

@@ -20,16 +20,16 @@ public interface EmployeeMapper extends CommonBaseMapper<Employee> {
 
     List<EmployeeDTO> selectEmployeeListByCondition(@Param("con") String con,@Param("companyId") Long companyId);
 
-    Integer validateCodeWhenInsert(@Param("code") String code, @Param("companyId") Long companyId);
+    int validateCodeWhenInsert(@Param("code") String code, @Param("companyId") Long companyId);
 
-    Integer validateCodeWhenUpdate(@Param("code") String code, @Param("id") Long id, @Param("companyId") Long company);
+    int validateCodeWhenUpdate(@Param("code") String code, @Param("id") Long id, @Param("companyId") Long company);
 
-    Integer validatePhoneWhenInsert(@Param("phone") String phone, @Param("companyId") Long companyId);
+    int validatePhoneWhenInsert(@Param("phone") String phone, @Param("companyId") Long companyId);
 
-    Integer validatePhoneWhenUpdate(@Param("phone") String phone, @Param("id") Long id, @Param("companyId") Long company);
+    int validatePhoneWhenUpdate(@Param("phone") String phone, @Param("id") Long id, @Param("companyId") Long company);
 
 
-    Integer validateNameAndCodeWhenInsert(@Param("code") String code,@Param("name") String em_name,@Param("companyId") Long companyId);
+    int validateNameAndCodeWhenInsert(@Param("code") String code,@Param("name") String em_name,@Param("companyId") Long companyId);
 
-    Integer validateNameAndCodeWhenUpdate(@Param("code") String code,@Param("name") String em_name,@Param("id") Long em_id,@Param("companyId") Long id);
+    int validateNameAndCodeWhenUpdate(@Param("code") String code,@Param("name") String em_name,@Param("id") Long id,@Param("companyId") Long companyId);
 }

+ 5 - 4
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/EmployeeServiceImpl.java

@@ -65,10 +65,12 @@ public class EmployeeServiceImpl extends CommonBaseServiceImpl<EmployeeMapper, E
     @Override
     public DocBaseDTO saveFormData(Employee employee) {
         DocBaseDTO docBaseDTO = null;
-        String code = pushMaxnubmer(employee.getEm_code(), employee.getId());
+        Long companyId = BaseContextHolder.getCompanyId();
+        employee.setCompanyId(companyId);
         if(employee.getId() == 0){
+            String code = pushMaxnubmer(employee.getEm_code(), employee.getId());
             //检查名称和编号
-            int count = getMapper().validateNameAndCodeWhenInsert(code,employee.getEm_name(),BaseContextHolder.getCompanyId());
+            int count = getMapper().validateNameAndCodeWhenInsert(code,employee.getEm_name(),companyId);
             if (count>0) {
                 throw new BizException(BizExceptionCode.REPEAT_EMNAMECODE);
             }
@@ -77,7 +79,6 @@ public class EmployeeServiceImpl extends CommonBaseServiceImpl<EmployeeMapper, E
             if (count>0) {
                 throw new BizException(BizExceptionCode.REPEAT_TEL);
             }
-            employee.setCompanyId(BaseContextHolder.getCompanyId());
             employee.setCreatorId(BaseContextHolder.getUserId());
             employee.setCreateTime(new Date());
             employee.setCreatorName(BaseContextHolder.getUserName());
@@ -87,7 +88,7 @@ public class EmployeeServiceImpl extends CommonBaseServiceImpl<EmployeeMapper, E
             messageLogService.save(docBaseDTO);
         }else{
             //检查名称和编号
-            int count = getMapper().validateNameAndCodeWhenUpdate(code,employee.getEm_name(),employee.getId(),BaseContextHolder.getCompanyId());
+            int count = getMapper().validateNameAndCodeWhenUpdate(employee.getEm_code(),employee.getEm_name(),employee.getId(),companyId);
             if (count>0) {
                 throw new BizException(BizExceptionCode.REPEAT_EMNAMECODE);
             }

+ 3 - 2
applications/document/document-server/src/main/resources/mapper/EmployeeMapper.xml

@@ -239,8 +239,9 @@
   <select id="validateNameAndCodeWhenInsert" resultType="int">
     select count(*) from Employee where (em_code = #{code} or em_name = #{name}) and companyId =#{companyId}
   </select>
-  <select id="validateNameAndCodeWhenUpdate" resultType="int" >
-    select count(*) from Employee where (em_code = #{code} or em_name = #{name}) and em_id !=#{id} and companyId =#{companyId}
+  
+  <select id="validateNameAndCodeWhenUpdate" resultType="int">
+    select count(*) from Employee where (em_code = #{code} or em_name = #{name}) and em_id !=#{id}  and companyId =#{companyId}
   </select>
 
 

+ 1 - 1
applications/purchase/purchase-server/src/main/resources/mapper/ProdInOutMapper.xml

@@ -415,7 +415,7 @@
     select count(1) from prodinout where pi_inoutno = #{pi_inoutno} and companyid = #{companyId}
   </select>
   <select id="validateCodeWhenUpdate" resultType="int" >
-    select count(1) from prodinout where pi_inoutno = #{pi_inoutno} and pi_id != #{id} and companyid != #{companyId}
+    select count(1) from prodinout where pi_inoutno = #{pi_inoutno} and pi_id != #{id} and companyid = #{companyId}
   </select>
 
   <select id="selectCodeById" resultType="string" parameterType="long">

+ 1 - 1
applications/storage/storage-server/src/main/resources/mapper/ProdInOutMapper.xml

@@ -403,7 +403,7 @@
     select count(1) from prodinout where pi_inoutno = #{pi_inoutno} and companyid = #{companyId}
   </select>
   <select id="validateCodeWhenUpdate" resultType="int" >
-    select count(1) from prodinout where pi_inoutno = #{pi_inoutno} and pi_id != #{id} and companyid != #{companyId}
+    select count(1) from prodinout where pi_inoutno = #{pi_inoutno} and pi_id != #{id} and companyid = #{companyId}
   </select>
 
   <select id="selectCodeById" resultType="string" parameterType="long">

+ 59 - 32
frontend/saas-portal-web/src/components/conenter/home.vue

@@ -87,7 +87,7 @@
                  data-slice1-scale="2" data-slice2-scale="2">
               <div class="mask-overly"></div>
               <div class="bg-img slider-1">
-                <img src="/static/img/banner@3x@2x.png" alt="">
+                <img src="/static/img/banner@2x@2x.png" alt="">
               </div>
               <!-- 首页内容 -->
               <div class="my-text">
@@ -111,19 +111,40 @@
             <p class="ts-title">我们的特色</p>
             <p class="ts-text">云端部署 &nbsp;&nbsp; 轻量应用</p>
           </div>
+          <!-- 1 -->
           <div class="ts-box">
+            <div class="ts-boximg">
+              <img src="/static/img/feature/illustration1@2x.png" alt="">
+            </div>
             <div>
-              <img class="ts-img" src="/static/img/assets/1@2x.png" alt="">
+              <img class="ts-img" src="/static/img/feature/blue1@2x.png" alt="">
             </div>
           </div>
+          <!-- 2 -->
           <div class="ts-box">
             <div>
-              <img class="ts-img" src="/static/img/assets/2@3x.png" alt="">
+              <img class="ts-img" src="/static/img/feature/yellow2@2x.png" alt="">
+            </div>
+            <div class="ts-boximg" style="right:0">
+              <img src="/static/img/feature/illustration2@2x.png" alt="">
             </div>
           </div>
+          <!-- 3 -->
           <div class="ts-box">
+            <div class="ts-boximg">
+              <img src="/static/img/feature/illustration3@2x.png" alt="">
+            </div>
             <div>
-              <img class="ts-img" src="/static/img/assets/3@2x.png" alt="">
+              <img class="ts-img" src="/static/img/feature/blue3@2x.png" alt="">
+            </div>
+          </div>
+          <!-- 4 -->
+          <div class="ts-box">
+            <div>
+              <img class="ts-img" src="/static/img/feature/yellow4@2x.png" alt="">
+            </div>
+            <div class="ts-boximg" style="right:0">
+              <img src="/static/img/feature/illustration4@2x.png" alt="">
             </div>
           </div>
         </div>
@@ -136,6 +157,7 @@
           <div class="row">
             <div class="section-title text-center" style="margin-bottom: 80px;">
               <p class="ts-title">我们的功能</p>
+              <p class="ts-text">简易SCM+内部协同+外部连接</p>
             </div>
             <div class="gn-hei">
               <div class="col-md-3 col-sm-6 col-xs-12">
@@ -317,34 +339,24 @@
       }
     },
     created(){
-      document.cookie='uid=4sjrtiHZOu3sG71-9lOyB1jEPXOxBgJ_3jjuugBiDcZs9xlBhPHqdaypVsfMCD42Vnkf8n4lqYvq5Ux7dZ8CnPtKpXynrTXaF3HU7xqLKvyKJY5hp1PubmQcAsE7TQAuNlXd1aSjqY4nxAoXNKXqri2l2s6-FJ1nYOGpSPLIJoCd56Tvs14W4Az7WpFDtNHke2vs0V4_fEC8t2t1q5H2ihUDUDQqbjcVPcZJEWy3dyUUpdlfvHQtS-Ve2eOm6TES-wlXAIqyovp35Pu2LIqxPZdexh5Vb5LUjbsJV1bNe_LCx87mxhd-7E01mpaALMHuK3GJwyvEnuKf_GkPzb2eygn2r3wpgt18uUBGCEDTGBYYyTZTtrqpvigkWX8YIMIKhp0ftp2G90minOjRqySApPSAwAqTXF44x7OQK6GkMFw98BVoJqGHAWkc7knzz_sjywCg2L8nDceAq2Js26MorJfm6JBUAfvp2D0VY1R2NiyK7VFKYCR8XO7x8ubTNE4u13fCvTKY1mQYTtgSoL-h3eXOWJn7oe0iL-z_OLqWbS9N3LIadLKPHLxUfqay-PUdxnmNICBZEaX7KcOVTxlH3SgzsUeFCQoyQ1D3yFIiu6vuTdv0fzBSo4gPZ1gj1n7NNC7ghs0.';
-      $.ajax({
-               type: "POST",
-               url: "http://192.168.253.31:8560/api/auth/info",
-               dataType: 'jsonp',
-               xhrFields: {
-                      withCredentials: true
-              },
-            crossDomain: true,
-
-           success:function(a,b,c){
-              // debugger
-      },
-           error:function(a,b,c){
-              // debugger
-          }
-      })
-
-      // this.$ajax({
-      //         url: 'http://192.168.253.31:8560/api/auth/info',
-      //         method: 'get',
-      //       })
-      //        .then(res=>{
-      //           console.log("请求成功",res)
-      //       })
-      //       .catch(err=>{
-      //           console.log("请求失败",err)
-      //       })
+      var uid = this.getCookie('uid');
+      if(uid){
+        this.$ajax({
+          url: '/api/auth/info',
+          method: 'get',
+          async:false,
+          withCredentials:true
+        })
+        .then(res=>{
+          const data=res.data.data,session = data.token, account = data.account
+          account.companies = account.companies || []
+          session.account = account
+          Session.set(session);
+        })
+        .catch(err=>{
+          console.log("请求失败",err)
+        })
+      }
     },
     mounted() {
       this.clientId = Math.random().toString(36).substr(2)
@@ -367,6 +379,20 @@
       }
     },
     methods: {
+        getCookie(cookieName){  
+          var cookieValue="";  
+          if (document.cookie && document.cookie != '') {   
+              var cookies = document.cookie.split(';');  
+              for (var i = 0; i < cookies.length; i++) {   
+                  var cookie = cookies[i];  
+                  if (cookie.substring(0, cookieName.length + 2).trim() == cookieName.trim() + "=") {  
+                        cookieValue = cookie.substring(cookieName.length + 2, cookie.length);   
+                        break;  
+                  }  
+              }  
+          }   
+          return cookieValue;  
+      }, 
       tab(i){
         this.Nowindex = i;
       },
@@ -424,6 +450,7 @@
       },
       //体验
       experience(){
+        console.log(123)
         this.isexperience = true;
       },
       //关闭体验

+ 18 - 9
frontend/saas-portal-web/src/components/footer/footer.vue

@@ -4,12 +4,19 @@
 			<div class="container">
 				<div class="footer-list">
 					<div class="about">
-						<div class="logo"><img src="../../../static/img/logo_w.png" alt=""/></div>
+						<!-- <div class="logo"><img src="../../../static/img/logo_w.png" alt=""/></div> -->
+						<div class="logo"><img src="/static/img/assets/dalogo@2x_1.png" alt=""/></div>
 						<div class="time">客服热线:400-830-1818</div>
 						<div class="time">工作时间:周一至周五08:30~18:00</div>
 						<!--<div class="time">意见反馈:usoftmall.com</div>-->
 					</div>
 					<div class="link">
+						<ul>
+							<li><span>常用链接:</span></li>
+							<li><a href="https://uas.usoftchina.com/" target="_blank">UAS官网</a></li>
+							<li><a href="https://www.usoftchina.com/" target="_blank">U软云</a></li>
+							<li><a href="http://www.yitoa.com/" target="_blank">英唐官网</a></li>
+						</ul>
 						<ul>
 							<li><span>帮助中心</span></li>
 							<li><a href="#">常见问题</a></li>
@@ -18,21 +25,22 @@
 						<ul>
 							<li><span>公司</span></li>
 							<li><a href="https://uas.usoftchina.com/about" target="_blank">关于我们</a></li>
-							<!-- <li><a href="#">企业文化</a></li> -->
+							<li><a >企业文化</a></li>
+							<li><a >联系我们</a></li>
 						</ul>
 						<ul>
 							<li><span>产品</span></li>
-							<li><a href="#">U企云服</a></li>
-							<li><a href="https://mall.usoftchina.com/" target="_blank">U软商城</a></li>
-							<li><a href="https://fin.yitoa-fintech.com/" target="_blank">U智融</a></li>
-							<li><a href="https://zb.usoftchina.com/" target="_blank">U创客</a></li>
+							<li><a href="#">企云服</a></li>
+							<li><a href="https://mall.usoftchina.com/" target="_blank">软商城</a></li>
+							<li><a href="https://fin.yitoa-fintech.com/" target="_blank">智融</a></li>
+							<li><a href="https://zb.usoftchina.com/" target="_blank">闯客网</a></li>
 						</ul>
 					</div>
 					
 					<div class="qr">
 						<div class="qr-top">
 							<div class="qr-tech qr-code">
-								<img src="../../../static/img/qr-tech.png" alt="">
+								<img src="/static/img/qr-tech.png" alt="">
 								<div class="db-text">
 									<span>科技公众号</span>
 								</div>
@@ -53,12 +61,13 @@
 			</div>
 		</div>
 		<div class="friend-link">
-			<ul>
+			<span>版权所有:深圳市优软科技有限公司 Copyright @ 2017 All Rights Reserved</span>
+			<!-- <ul>
 				<li><span>常用链接:</span></li>
 				<li><a href="https://uas.usoftchina.com/" target="_blank">UAS官网</a></li>
 				<li><a href="https://www.usoftchina.com/" target="_blank">U软云</a></li>
 				<li><a href="http://www.yitoa.com/" target="_blank">英唐官网</a></li>
-			</ul>
+			</ul> -->
 		</div>
     </div>
 </template>

+ 26 - 38
frontend/saas-portal-web/static/css/main.css

@@ -308,14 +308,18 @@ main > section {
 /* 首页内容 ..........................................*/
 .my-text {
     position: absolute;
+    width: 13%;
+    height: 6%;
     top: 64%;
-    left: 7%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+    z-index: 1000;
 }
 .my-tiyan {
     background: #5172DD;
     border-radius: 4px;
-    width: 100px;
-    height: 36px;
+    width: 100%;
+    height: 100%;
     font-family: PingFangSC-Regular;
     font-size: 14px;
     color: #FFFFFF;
@@ -332,36 +336,11 @@ main > section {
     overflow: hidden;
     /* margin-top: 50px; */
     position: relative;
+    padding: 150px 0;
 }
-.ts-minimg {
-    width: 773px;
-    height: 615px;
-    position: absolute;
-    top: -35px;
-    right: 0;
-}
-.ts-mintext {
+.ts-boximg {
     position: absolute;
-    top: 142px;
-    right: 240px;
-    color: white;
-}
-.ts-mintext p {
-    font-size: 26px!important;
-    text-align: left;
-    margin-bottom: 24px;
-}
-.ts-textimg {
-    width: 40px;
-    margin-left: -40px;
-}
-.ts-lefttext {
-    left: 40px;
-    width: 560px;
-}
-.ts-textleftimg {
-    width: 40px;
-    margin-right: -40px;
+    top: 40px;
 }
 .ts-lefttext p {
     text-align: right;
@@ -553,7 +532,7 @@ main > section {
 }
 .footer-section ul{
     float: left;
-    margin-right: 70px;
+    margin-right: 45px;
 }
 .footer-section ul:last-child {
     margin-right: 0;
@@ -570,7 +549,7 @@ main > section {
 .footer-section ul>li a{
     display: inline-block;
     margin-bottom: 10px;
-    font-size: 12px;
+    font-size: 14px;
     color: #fff;
     cursor: pointer;
 }
@@ -585,16 +564,16 @@ main > section {
 }
 .footer-section .about{
     float: left;
-    margin-right: 90px;
+    margin-right: 30px;
     width: 245px;
     text-align: left;
 }
 .footer-section .about .logo{
-    margin-bottom: 32px;
+    margin-bottom: 18px;
 }
 .footer-section .about .logo img{
-    width: 156px;
-    height: 44px;
+    width: 150px;
+    /* height: 44px; */
 }
 .footer-section .about .time{
     margin-bottom: 21px;
@@ -639,6 +618,15 @@ main > section {
     background: #000;
     width: 100%;
     line-height: 100px;
+    text-align: center;
+}
+.friend-link span {
+    opacity: 0.56;
+    font-family: PingFangSC-Regular;
+    font-size: 16px;
+    color: #FFFFFF;
+    letter-spacing: 0;
+    text-align: center;
 }
 .friend-link ul{
     overflow: hidden;
@@ -1004,7 +992,7 @@ h1.navbar-brand {
     text-align: center;
     top: 0;
     width: 60%;
-    z-index: 999999;
+    z-index: 999;
     left: 50%;
     transform: translateX(-50%);
 

BIN
frontend/saas-portal-web/static/img/banner@2x@2x.png


BIN
frontend/saas-portal-web/static/img/banner@3x@2x.png


BIN
frontend/saas-portal-web/static/img/feature/blue1@2x.png


BIN
frontend/saas-portal-web/static/img/feature/blue3@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration1@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration2@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration3@2x.png


BIN
frontend/saas-portal-web/static/img/feature/illustration4@2x.png


BIN
frontend/saas-portal-web/static/img/feature/yellow2@2x.png


BIN
frontend/saas-portal-web/static/img/feature/yellow4@2x.png


+ 16 - 8
frontend/saas-web/app/view/core/report/ReportPanel.js

@@ -321,6 +321,7 @@ Ext.define('saas.view.core.report.ReportPanel', {
 
             if(c.xtype == 'datecolumn') {
                 Ext.applyIf(c, {
+                    // 这两个都要写上,才能控制到不同类型的导出格式,原因不明- -!
                     format: 'Y-m-d',
                     exportStyle: [{
                         type: 'csv',
@@ -343,20 +344,14 @@ Ext.define('saas.view.core.report.ReportPanel', {
                         var format = '0.' + xr.join();
                         return Ext.util.Format.number(v, format);
                     },
-                    exportRenderer: function (value) {
-                        return value || 0;
-                    },
-                    // 下面这个方法不写会造成求和数据错误,原因不明- -!
-                    exportSummaryRenderer: function(v) {
-                        return v || 0;
-                    }
                 });
             }
 
             if(c.summaryType) {
+                me.initSummaryType(c);
                 summarys.push({
                     field: c.dataIndex,
-                    operation: c.summaryType,
+                    operation: c.summaryTypeName,
                 });
             }
         })
@@ -366,6 +361,19 @@ Ext.define('saas.view.core.report.ReportPanel', {
         return columns;
     },
 
+    initSummaryType: function(column) {
+        var summaryType = column.summaryType;
+        if(Ext.isString(summaryType)) {
+            column.summaryTypeName = summaryType;
+        }
+        if(summaryType == 'sum') {
+            // 原生的求和方法使用的是Store.sum,在数据存在null时计算结果为NaN,这里重写一下
+            column.summaryType = function(records, values) {
+                return Ext.Array.sum(values);
+            }
+        }
+    },
+
     initSearchItems: function() {
         var me = this,
         items = me.searchItems,

+ 45 - 1
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -73,7 +73,13 @@ Ext.define('saas.view.viewport.ViewportController', {
             // There is no authenticated user, let's redirect to the login page but keep track
             // of the original route to restore the requested route after user authentication.
             me.originalRoute = route;
-            me.redirectTo('login', {replace: true});
+            //没有session时  判断cookie中的uid
+            var hasValidCookie = Ext.util.Cookies.get('uid')?me.getAccountCookie():false;
+            if(!hasValidCookie){
+                me.redirectTo('login', {replace: true});
+            }else{
+                me.redirectTo('main', {replace: true});
+            }
             return;
         }
 
@@ -85,6 +91,44 @@ Ext.define('saas.view.viewport.ViewportController', {
         }
     },
 
+    getAccountCookie:function(){
+        var hasValidCookie = false;
+        Ext.Ajax.request({
+            url: 'http://192.168.253.31:8560/api/auth/info',
+            withCredentials: true,
+            async:false,
+            dataType: 'json',
+            headers:{
+                'Authorization':'',
+                'Access-Control-Allow-Origin': '<origin> | *'
+            },
+            method: 'GET',
+            success: function(response, opts) {
+                var res = Ext.decode(response.responseText);
+                var data = res.data;
+                var token = data.token;
+                data.expire = token.expire;
+                data.timestamp = token.timestamp;
+                data.token = token.token;
+                delete data['token'];
+                if(data.conpanyId){
+                    session = data? saas.model.Session.loadData(data) : null;
+                    if (session && session.isValid()) {
+                        me.setRequestToken(session.get('token'));
+                        me.saveSession(session);
+                    }
+                    hasValidCookie = true
+                }else{
+                    window.location.href = Ext.manifest.server.accountCenter
+                }
+            },
+            failure: function(response, opts) {
+                showErrorToast('解析cookie失败:'+response.message)
+            }
+        });
+        return hasValidCookie;
+    },
+
     setRequestToken: function(token) {
         var headers = Ext.Ajax.getDefaultHeaders() || {};
         if (token) {