From 86a0c62c22b793ebbbc67a5f2b01a9a4800640e2 Mon Sep 17 00:00:00 2001
From: yl <ykxkd@outlook.com>
Date: 星期日, 31 七月 2022 13:06:58 +0800
Subject: [PATCH] 同一账号有效时间内只允许一人登录

---
 VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache |    2 
 VueWebApi/obj/Release/VueWebApi.pdb                            |    0 
 VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt    |    6 -
 VueWebApi/Controllers/KanBanManagerentController.cs            |    4 
 VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user |    8 
 .vs/VueWebApi/v16/.suo                                         |    0 
 VueWebApi/bin/VueWebApi.xml                                    |   42 ++++++++
 VueWebApi/DLL/DAL/LoginDAL.cs                                  |    1 
 /dev/null                                                      |   72 --------------
 VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache |    0 
 VueWebApi/Tools/ChannelActionFilterAttribute.cs                |   18 +-
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb     |    0 
 VueWebApi/Controllers/BasicSettingController.cs                |    1 
 VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml     |   42 ++++++++
 VueWebApi/bin/VueWebApi.pdb                                    |    0 
 VueWebApi/Controllers/LoginController.cs                       |   56 ++++++++--
 16 files changed, 149 insertions(+), 103 deletions(-)

diff --git a/.vs/VueWebApi/v16/.suo b/.vs/VueWebApi/v16/.suo
index e8f1db5..f799956 100644
--- a/.vs/VueWebApi/v16/.suo
+++ b/.vs/VueWebApi/v16/.suo
Binary files differ
diff --git a/VueWebApi/Controllers/BasicSettingController.cs b/VueWebApi/Controllers/BasicSettingController.cs
index 8be5193..6c08983 100644
--- a/VueWebApi/Controllers/BasicSettingController.cs
+++ b/VueWebApi/Controllers/BasicSettingController.cs
@@ -17,6 +17,7 @@
 {
     [RoutePrefix(prefix: "api/BasicSetting")]
     [ControllerGroup("鍩虹璁剧疆","鍦ㄧ嚎鎺ュ彛")]
+    [ChannelActionFilter]
     public class BasicSettingController : ApiController
     {
         //瀹氫箟鍏ㄥ眬淇℃伅杩斿洖鍙橀噺
diff --git a/VueWebApi/Controllers/KanBanManagerentController.cs b/VueWebApi/Controllers/KanBanManagerentController.cs
index 1209c38..d29d485 100644
--- a/VueWebApi/Controllers/KanBanManagerentController.cs
+++ b/VueWebApi/Controllers/KanBanManagerentController.cs
@@ -77,6 +77,10 @@
         #endregion
 
         #region[澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笅top鎺掕鎺ュ彛]
+        /// <summary>
+        /// 澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笅top鎺掕鎺ュ彛
+        /// </summary>
+        /// <returns></returns>
         [Route(template: "LineSearchBottomRightData")]
         [HttpGet]
         public HttpResponseMessage LineSearchBottomRightData()
diff --git a/VueWebApi/Controllers/LoginController.cs b/VueWebApi/Controllers/LoginController.cs
index 011d134..5d31614 100644
--- a/VueWebApi/Controllers/LoginController.cs
+++ b/VueWebApi/Controllers/LoginController.cs
@@ -50,11 +50,11 @@
                     //User loginUser = JsonConvert.DeserializeObject<User>(HttpContext.Current.Session["User"].ToString());
                     User loginUser = JsonConvert.DeserializeObject<User>(JsonConvert.SerializeObject(ms));
                     //濡傛灉redis鐧诲綍鐢ㄦ埛涓笉瀛樺湪褰撳墠鐢ㄦ埛
-                    if (redis.Get<User>("LoginUserID" + ms.userid, 0) == null)
+                    if (redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0) == null)
                     {
                         //redis.Remove("LoginUserID" + ms.userid, 0);
                         //鍐欏叆redis(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
-                        redis.Set<User>("LoginUserID" + ms.userid, ms, redis.secondsTimeOut, 0);
+                        redis.Set<User>("LoginUserID" + ms.usertype + ms.userid, ms, redis.secondsTimeOut, 0);
                         //鐧诲綍淇℃伅鍐欏叆session
                         HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                         //鍐欏叆鐧诲綍鎿嶄綔璁板綍
@@ -66,18 +66,18 @@
                     else //濡傛灉瀛樺湪
                     {
                         //鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
-                        User r_loginUser = redis.Get<User>("LoginUserID" + ms.userid, 0);
+                        User r_loginUser = redis.Get<User>("LoginUserID" + ms.usertype + ms.userid, 0);
                         //濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
                         if (r_loginUser.usercode.Equals(loginUser.usercode))
                         {
                             mes.data = ms;
-                            mes.code = "300";
-                            mes.Message = "褰撳墠璐﹀彿宸茬櫥褰�!";
+                            mes.code = "302";
+                            mes.Message = "褰撳墠璐﹀彿宸茬櫥褰�,鏄惁寮哄埗涓嬬嚎!";
                         }
                         else
                         {
                             //閲嶇疆杩囨湡鏃堕棿(娉ㄦ剰锛歳edis绫婚噷闈㈢殑澶辨晥鏃堕棿蹇呴』鍦╧ey鍒涘缓瀹屾垚涔嬪悗鎵嶇敓鏁�)
-                            redis.Set<User>("LoginUserID" + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
+                            redis.Set<User>("LoginUserID" + ms.usertype + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
                             //鐧诲綍淇℃伅鍐欏叆session
                             HttpContext.Current.Session["User"] = JsonConvert.SerializeObject(ms);
                             //鍐欏叆鐧诲綍鎿嶄綔璁板綍
@@ -105,9 +105,41 @@
                 mes.code = "300";
                 mes.Message = e.Message;
             }
-           
+
             return mes.ResponseMess(mes);
         }
+
+        #region[寮哄埗涓嬬嚎鎺ュ彛]
+        /// <summary>
+        /// 寮哄埗涓嬬嚎鎺ュ彛
+        /// </summary>
+        /// <param name="userid">鐢ㄦ埛id</param>
+        /// <param name="usercode">鐢ㄦ埛缂栫爜</param>
+        /// <param name="username">鐢ㄦ埛鍚�</param>
+        /// <param name="usertype">鎿嶄綔绔疨C/APP</param>
+        /// <returns></returns>
+        [Route(template: "ForcedOffline")]
+        [HttpPost]
+        public HttpResponseMessage ForcedOffline(int userid, string usercode, string username, string usertype)
+        {
+            try
+            {
+                redis.Remove("LoginUserID"+usertype+ userid, 0); //鍒犻櫎redis
+                mes.code = "200";
+                mes.count = 0;
+                mes.Message = "寮哄埗涓嬬嚎鎴愬姛!";
+                mes.data = null;
+            }
+            catch (Exception e)
+            {
+                mes.code = "300";
+                mes.count = 0;
+                mes.Message = e.Message;
+                mes.data = null;
+            }
+            return mes.ResponseMess(mes);
+        }
+        #endregion
 
 
         #region[鏌ヨ鐧诲綍鑿滃崟]
@@ -142,11 +174,11 @@
         /// <param name="password">瀵嗙爜</param>
         /// <param name="newpassword">鏂板瘑鐮�</param>
         /// <returns></returns>
-        [ChannelActionFilter,Route(template: "UpdateUserPassword")]
+        [ChannelActionFilter, Route(template: "UpdateUserPassword")]
         [HttpPost]
-        public HttpResponseMessage UpdateUserPassword(string usercode, string username, string password,string newpassword)
+        public HttpResponseMessage UpdateUserPassword(string usercode, string username, string password, string newpassword)
         {
-            mes = LoginBLL.UpdateUserPassword(usercode,username, password,newpassword);
+            mes = LoginBLL.UpdateUserPassword(usercode, username, password, newpassword);
             return mes.ResponseMess(mes);
         }
         #endregion
@@ -162,9 +194,9 @@
         /// <returns></returns>
         [Route(template: "LoginOut")]
         [HttpPost]
-        public HttpResponseMessage LoginOut(int userid, string usercode, string username,string usertype)
+        public HttpResponseMessage LoginOut(int userid, string usercode, string username, string usertype)
         {
-            mes = LoginBLL.LoginOut(userid,usercode, username, usertype);
+            mes = LoginBLL.LoginOut(userid, usercode, username, usertype);
             return mes.ResponseMess(mes);
         }
         #endregion
diff --git a/VueWebApi/DLL/DAL/LoginDAL.cs b/VueWebApi/DLL/DAL/LoginDAL.cs
index 1379bdb..5817556 100644
--- a/VueWebApi/DLL/DAL/LoginDAL.cs
+++ b/VueWebApi/DLL/DAL/LoginDAL.cs
@@ -152,6 +152,7 @@
         }
         #endregion
 
+      
 
         #region[淇敼瀵嗙爜]
         public static ToMessage UpdateUserPassword(string usercode, string username, string password, string newpassword)
diff --git a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
index 6ba920b..536a991 100644
--- a/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -696,16 +696,16 @@
       <publishTime>12/24/2021 15:38:29</publishTime>
     </File>
     <File Include="bin/VueWebApi.dll">
-      <publishTime>07/27/2022 08:43:00</publishTime>
+      <publishTime>07/29/2022 14:06:06</publishTime>
     </File>
     <File Include="bin/VueWebApi.dll.config">
       <publishTime>06/15/2022 15:31:43</publishTime>
     </File>
     <File Include="bin/VueWebApi.pdb">
-      <publishTime>07/27/2022 08:43:00</publishTime>
+      <publishTime>07/29/2022 14:06:06</publishTime>
     </File>
     <File Include="bin/VueWebApi.xml">
-      <publishTime>07/27/2022 08:43:00</publishTime>
+      <publishTime>07/29/2022 14:06:06</publishTime>
     </File>
     <File Include="bin/WebActivatorEx.dll">
       <publishTime>02/08/2013 16:42:28</publishTime>
@@ -1287,7 +1287,7 @@
       <publishTime>06/10/2022 08:20:24</publishTime>
     </File>
     <File Include="Web.config">
-      <publishTime>07/27/2022 08:43:06</publishTime>
+      <publishTime>07/29/2022 14:06:07</publishTime>
     </File>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/VueWebApi/Tools/ChannelActionFilterAttribute.cs b/VueWebApi/Tools/ChannelActionFilterAttribute.cs
index fa4b7e5..d56afee 100644
--- a/VueWebApi/Tools/ChannelActionFilterAttribute.cs
+++ b/VueWebApi/Tools/ChannelActionFilterAttribute.cs
@@ -32,35 +32,35 @@
                 User loginUser = JsonConvert.DeserializeObject<User>(User);
                 base.OnActionExecuting(actionContext);
                 //濡傛灉瀛樺湪
-                if (redis.Get<User>("LoginUserID" + loginUser.userid, 0).userid.ToString() != "")
+                if (redis.Get<User>("LoginUserIDPC" + loginUser.userid, 0).userid.ToString() != "")
                 {
                     //鑾峰彇redis涓綋鍓嶇敤鎴蜂俊鎭�
-                    User r_loginUser = redis.Get<User>("LoginUserID" + loginUser.userid, 0);
+                    User r_loginUser = redis.Get<User>("LoginUserIDPC" + loginUser.userid, 0);
                     //濡傛灉session涓殑鐢ㄦ埛usercode鍜宺edis涓殑鐢ㄦ埛usercode鍖归厤
                     if (r_loginUser.usercode.Equals(loginUser.usercode))
                     {
                         //閲嶇疆杩囨湡鏃堕棿
-                        redis.Set<User>("LoginUserID" + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
+                        redis.Set<User>("LoginUserIDPC" + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
                     }
                     else
                     {
-                        mes.code = "300";
+                        mes.code = "303";
                         mes.Message = "鐧诲綍宸茶秴鏃�,璇烽噸鏂扮櫥褰�!";
-                        actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.Ambiguous, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
+                        actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
                     }
                 }
                 else //濡傛灉redis鐧诲綍鐢ㄦ埛涓笉瀛樺湪褰撳墠鐢ㄦ埛
                 {
-                    mes.code = "300";
+                    mes.code = "303";
                     mes.Message = "鐧诲綍宸茶秴鏃�,璇烽噸鏂扮櫥褰�!";
-                    actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.Ambiguous, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
+                    actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
                 }
             }
             catch (Exception)
             {
-                mes.code = "300";
+                mes.code = "303";
                 mes.Message = "鐧诲綍宸茶秴鏃�,璇烽噸鏂扮櫥褰�!";
-                actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.Ambiguous, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
+                actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
             }
            
         }  
diff --git a/VueWebApi/bin/FastReport.Service.dll.config b/VueWebApi/bin/FastReport.Service.dll.config
deleted file mode 100644
index 518ccae..0000000
--- a/VueWebApi/bin/FastReport.Service.dll.config
+++ /dev/null
@@ -1,72 +0,0 @@
-锘�<?xml version="1.0"?>
-<configuration>
-  <appSettings>
-    <!-- path to folder with reports -->
-    <add key="FastReport.ReportsPath" value="C:\Program files\FastReports\FastReport.Net\Demos\WCF" />
-    <!-- name of connection string for reports -->
-    <add key="FastReport.ConnectionStringName" value="FastReportDemo" />
-    <!-- Comma-separated list of available formats PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX. 
-    You can delete any or change order in this list. -->
-    <add key="FastReport.Gear" value="PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX" />
-  </appSettings>
-  <connectionStrings>
-     <!-- you need change path to database to your own -->
-     <add name="FastReportDemo" connectionString="XsdFile=;XmlFile=C:\MyProjects\fr.net\Demos\Reports\nwind.xml"/>
-  </connectionStrings>
-  <system.web>
-    <compilation debug="true" />
-    <membership defaultProvider="ClientAuthenticationMembershipProvider">
-      <providers>
-        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
-      </providers>
-    </membership>
-    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
-      <providers>
-        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
-      </providers>
-    </roleManager>
-  </system.web>
-  <!-- When deploying the service library project, the content of the config file must be added to the host's 
-  app.config file. System.Configuration does not support config files for libraries. -->
-  <system.serviceModel>
-    <services>
-      <service behaviorConfiguration="FastReportServiceBehavior" name="FastReport.Service.ReportService">
-        <endpoint address="" binding="wsHttpBinding" contract="FastReport.Service.IFastReportService">
-          <identity>
-            <dns value="localhost" />
-          </identity>
-        </endpoint>
-        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:8732/FastReportService/" />
-          </baseAddresses>
-        </host>
-      </service>
-    </services>
-    <behaviors>
-      <serviceBehaviors>
-        <behavior name="FastReportServiceBehavior">
-          <serviceMetadata httpGetEnabled="True" />
-          <serviceDebug includeExceptionDetailInFaults="True" />
-        </behavior>
-      </serviceBehaviors>
-    </behaviors>
-    <bindings>
-      <basicHttpBinding>
-        <binding messageEncoding="Mtom"
-          closeTimeout="00:02:00" openTimeout="00:02:00"
-          receiveTimeout="00:10:00" sendTimeout="00:02:00"
-          maxReceivedMessageSize="67108864" maxBufferSize="65536"
-          transferMode="Streamed">
-          <security mode="None">
-            <transport clientCredentialType="None" />
-          </security>
-        </binding>
-      </basicHttpBinding>
-    </bindings>
-  </system.serviceModel>
-  <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
-  </startup>
-</configuration>
\ No newline at end of file
diff --git a/VueWebApi/bin/VueWebApi.pdb b/VueWebApi/bin/VueWebApi.pdb
index bc0aa6c..6a2a099 100644
--- a/VueWebApi/bin/VueWebApi.pdb
+++ b/VueWebApi/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/bin/VueWebApi.xml b/VueWebApi/bin/VueWebApi.xml
index be885d9..d7d4547 100644
--- a/VueWebApi/bin/VueWebApi.xml
+++ b/VueWebApi/bin/VueWebApi.xml
@@ -970,6 +970,38 @@
             <param name="FileName">鏂囦欢鍚嶇О</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.ShopSearchLine(System.String)">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,鐢熶骇杞﹂棿鏌ユ壘浜х嚎鎺ュ彛
+            </summary>
+            <param name="shopcode">杞﹂棿缂栫爜</param>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchTopLeftData(System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笂浜х嚎鍔犲伐浠诲姟鎺ュ彛
+            </summary>
+            <param name="json">鎻愪氦鏁版嵁(鍙傝�冨伐搴忓畾涔夊叧鑱斿伐浣滅珯鎻愪氦)</param>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchBottomLeftData">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笅鍒楄〃鎺ュ彛
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchTopRightData">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笂top鎺掕鎺ュ彛
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchBottomRightData">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笅top鎺掕鎺ュ彛
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.LoginController.LoginSave(System.String,System.String)">
             <summary>
             鐢ㄦ埛鐧诲綍
@@ -978,6 +1010,16 @@
             <param name="password">瀵嗙爜</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.LoginController.ForcedOffline(System.Int32,System.String,System.String,System.String)">
+            <summary>
+            寮哄埗涓嬬嚎鎺ュ彛
+            </summary>
+            <param name="userid">鐢ㄦ埛id</param>
+            <param name="usercode">鐢ㄦ埛缂栫爜</param>
+            <param name="username">鐢ㄦ埛鍚�</param>
+            <param name="usertype">鎿嶄綔绔疨C/APP</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.LoginController.LoginMenu">
             <summary>
             鏌ヨ鍔熻兘鑿滃崟
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Service.dll.config b/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Service.dll.config
deleted file mode 100644
index 518ccae..0000000
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Service.dll.config
+++ /dev/null
@@ -1,72 +0,0 @@
-锘�<?xml version="1.0"?>
-<configuration>
-  <appSettings>
-    <!-- path to folder with reports -->
-    <add key="FastReport.ReportsPath" value="C:\Program files\FastReports\FastReport.Net\Demos\WCF" />
-    <!-- name of connection string for reports -->
-    <add key="FastReport.ConnectionStringName" value="FastReportDemo" />
-    <!-- Comma-separated list of available formats PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX. 
-    You can delete any or change order in this list. -->
-    <add key="FastReport.Gear" value="PDF,DOCX,XLSX,PPTX,RTF,ODS,ODT,MHT,CSV,DBF,XML,TXT,FPX" />
-  </appSettings>
-  <connectionStrings>
-     <!-- you need change path to database to your own -->
-     <add name="FastReportDemo" connectionString="XsdFile=;XmlFile=C:\MyProjects\fr.net\Demos\Reports\nwind.xml"/>
-  </connectionStrings>
-  <system.web>
-    <compilation debug="true" />
-    <membership defaultProvider="ClientAuthenticationMembershipProvider">
-      <providers>
-        <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />
-      </providers>
-    </membership>
-    <roleManager defaultProvider="ClientRoleProvider" enabled="true">
-      <providers>
-        <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />
-      </providers>
-    </roleManager>
-  </system.web>
-  <!-- When deploying the service library project, the content of the config file must be added to the host's 
-  app.config file. System.Configuration does not support config files for libraries. -->
-  <system.serviceModel>
-    <services>
-      <service behaviorConfiguration="FastReportServiceBehavior" name="FastReport.Service.ReportService">
-        <endpoint address="" binding="wsHttpBinding" contract="FastReport.Service.IFastReportService">
-          <identity>
-            <dns value="localhost" />
-          </identity>
-        </endpoint>
-        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
-        <host>
-          <baseAddresses>
-            <add baseAddress="http://localhost:8732/FastReportService/" />
-          </baseAddresses>
-        </host>
-      </service>
-    </services>
-    <behaviors>
-      <serviceBehaviors>
-        <behavior name="FastReportServiceBehavior">
-          <serviceMetadata httpGetEnabled="True" />
-          <serviceDebug includeExceptionDetailInFaults="True" />
-        </behavior>
-      </serviceBehaviors>
-    </behaviors>
-    <bindings>
-      <basicHttpBinding>
-        <binding messageEncoding="Mtom"
-          closeTimeout="00:02:00" openTimeout="00:02:00"
-          receiveTimeout="00:10:00" sendTimeout="00:02:00"
-          maxReceivedMessageSize="67108864" maxBufferSize="65536"
-          transferMode="Streamed">
-          <security mode="None">
-            <transport clientCredentialType="None" />
-          </security>
-        </binding>
-      </basicHttpBinding>
-    </bindings>
-  </system.serviceModel>
-  <startup>
-    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0" />
-  </startup>
-</configuration>
\ No newline at end of file
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
index bc0aa6c..6a2a099 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
diff --git a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
index be885d9..d7d4547 100644
--- a/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
+++ b/VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml
@@ -970,6 +970,38 @@
             <param name="FileName">鏂囦欢鍚嶇О</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.ShopSearchLine(System.String)">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,鐢熶骇杞﹂棿鏌ユ壘浜х嚎鎺ュ彛
+            </summary>
+            <param name="shopcode">杞﹂棿缂栫爜</param>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchTopLeftData(System.Collections.Generic.List{VueWebApi.Models.ObjectData})">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笂浜х嚎鍔犲伐浠诲姟鎺ュ彛
+            </summary>
+            <param name="json">鎻愪氦鏁版嵁(鍙傝�冨伐搴忓畾涔夊叧鑱斿伐浣滅珯鎻愪氦)</param>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchBottomLeftData">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,宸︿笅鍒楄〃鎺ュ彛
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchTopRightData">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笂top鎺掕鎺ュ彛
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:VueWebApi.Controllers.KanBanManagerentController.LineSearchBottomRightData">
+            <summary>
+            澶у矝杞﹂棿缁煎悎鐪嬫澘,鍙充笅top鎺掕鎺ュ彛
+            </summary>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.LoginController.LoginSave(System.String,System.String)">
             <summary>
             鐢ㄦ埛鐧诲綍
@@ -978,6 +1010,16 @@
             <param name="password">瀵嗙爜</param>
             <returns></returns>
         </member>
+        <member name="M:VueWebApi.Controllers.LoginController.ForcedOffline(System.Int32,System.String,System.String,System.String)">
+            <summary>
+            寮哄埗涓嬬嚎鎺ュ彛
+            </summary>
+            <param name="userid">鐢ㄦ埛id</param>
+            <param name="usercode">鐢ㄦ埛缂栫爜</param>
+            <param name="username">鐢ㄦ埛鍚�</param>
+            <param name="usertype">鎿嶄綔绔疨C/APP</param>
+            <returns></returns>
+        </member>
         <member name="M:VueWebApi.Controllers.LoginController.LoginMenu">
             <summary>
             鏌ヨ鍔熻兘鑿滃崟
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache b/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..a7c8db6
--- /dev/null
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
Binary files differ
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache b/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
index 7674f1e..9de9644 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-698d89f244c7cde8c23a3c191fa4ccdee5879c01
+67d75f0a65fc414cc5d8c4e0a99e9ca1bbdf9412
diff --git a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
index 7728157..3edc3f7 100644
--- a/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
+++ b/VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
@@ -150,11 +150,7 @@
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\Antlr3.Runtime.dll
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\BouncyCastle.Crypto.dll
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\Dapper.dll
-D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.Bars.dll
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.dll
-D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.Editor.dll
-D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.Service.dll
-D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.VSDesign.dll
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.Web.dll
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.dll
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\JWT.dll
@@ -207,7 +203,6 @@
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\BouncyCastle.Crypto.xml
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\Dapper.xml
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.xml
-D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.Service.dll.config
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\FastReport.Web.xml
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.pdb
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.xml
@@ -272,3 +267,4 @@
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
 D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\obj\Release\VueWebApi.pdb
+D:\鏂板嚡杩狹ES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.AssemblyReference.cache
diff --git a/VueWebApi/obj/Release/VueWebApi.pdb b/VueWebApi/obj/Release/VueWebApi.pdb
index bc0aa6c..6a2a099 100644
--- a/VueWebApi/obj/Release/VueWebApi.pdb
+++ b/VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ

--
Gitblit v1.9.3