yl
2022-07-31 86a0c62c22b793ebbbc67a5f2b01a9a4800640e2
同一账号有效时间内只允许一人登录
已添加1个文件
已修改14个文件
已删除2个文件
312 ■■■■ 文件已修改
.vs/VueWebApi/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/BasicSettingController.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/KanBanManagerentController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Controllers/LoginController.cs 44 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/DLL/DAL/LoginDAL.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Properties/PublishProfiles/FolderProfile.pubxml.user 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/Tools/ChannelActionFilterAttribute.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/FastReport.Service.dll.config 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/bin/VueWebApi.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Service.dll.config 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.xml 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
VueWebApi/obj/Release/VueWebApi.pdb 补丁 | 查看 | 原始文档 | blame | 历史
.vs/VueWebApi/v16/.suo
Binary files differ
VueWebApi/Controllers/BasicSettingController.cs
@@ -17,6 +17,7 @@
{
    [RoutePrefix(prefix: "api/BasicSetting")]
    [ControllerGroup("基础设置","在线接口")]
    [ChannelActionFilter]
    public class BasicSettingController : ApiController
    {
        //定义全局信息返回变量
VueWebApi/Controllers/KanBanManagerentController.cs
@@ -77,6 +77,10 @@
        #endregion
        #region[大岛车间综合看板,右下top排行接口]
        /// <summary>
        /// å¤§å²›è½¦é—´ç»¼åˆçœ‹æ¿,右下top排行接口
        /// </summary>
        /// <returns></returns>
        [Route(template: "LineSearchBottomRightData")]
        [HttpGet]
        public HttpResponseMessage LineSearchBottomRightData()
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(注意:redis类里面的失效时间必须在key创建完成之后才生效)
                        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和redis中的用户usercode匹配
                        if (r_loginUser.usercode.Equals(loginUser.usercode))
                        {
                            mes.data = ms;
                            mes.code = "300";
                            mes.Message = "当前账号已登录!";
                            mes.code = "302";
                            mes.Message = "当前账号已登录,是否强制下线!";
                        }
                        else
                        {
                            //重置过期时间(注意:redis类里面的失效时间必须在key创建完成之后才生效)
                            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);
                            //写入登录操作记录
@@ -109,6 +109,38 @@
            return mes.ResponseMess(mes);
        }
        #region[强制下线接口]
        /// <summary>
        /// å¼ºåˆ¶ä¸‹çº¿æŽ¥å£
        /// </summary>
        /// <param name="userid">用户id</param>
        /// <param name="usercode">用户编码</param>
        /// <param name="username">用户名</param>
        /// <param name="usertype">操作端PC/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[查询登录菜单]
        /// <summary>
VueWebApi/DLL/DAL/LoginDAL.cs
@@ -152,6 +152,7 @@
        }
        #endregion
        #region[修改密码]
        public static ToMessage UpdateUserPassword(string usercode, string username, string password, string newpassword)
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>
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和redis中的用户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") };
            }
           
        }  
VueWebApi/bin/FastReport.Service.dll.config
ÎļþÒÑɾ³ý
VueWebApi/bin/VueWebApi.pdb
Binary files differ
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">操作端PC/APP</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.LoginController.LoginMenu">
            <summary>
            æŸ¥è¯¢åŠŸèƒ½èœå•
VueWebApi/obj/Release/Package/PackageTmp/bin/FastReport.Service.dll.config
ÎļþÒÑɾ³ý
VueWebApi/obj/Release/Package/PackageTmp/bin/VueWebApi.pdb
Binary files differ
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">操作端PC/APP</param>
            <returns></returns>
        </member>
        <member name="M:VueWebApi.Controllers.LoginController.LoginMenu">
            <summary>
            æŸ¥è¯¢åŠŸèƒ½èœå•
VueWebApi/obj/Release/VueWebApi.csproj.AssemblyReference.cache
Binary files differ
VueWebApi/obj/Release/VueWebApi.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
698d89f244c7cde8c23a3c191fa4ccdee5879c01
67d75f0a65fc414cc5d8c4e0a99e9ca1bbdf9412
VueWebApi/obj/Release/VueWebApi.csproj.FileListAbsolute.txt
@@ -150,11 +150,7 @@
D:\新凯迪MES\VueWebApi\VueWebApi\bin\Antlr3.Runtime.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\BouncyCastle.Crypto.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\Dapper.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.Bars.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.Editor.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.Service.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.VSDesign.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.Web.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.dll
D:\新凯迪MES\VueWebApi\VueWebApi\bin\JWT.dll
@@ -207,7 +203,6 @@
D:\新凯迪MES\VueWebApi\VueWebApi\bin\BouncyCastle.Crypto.xml
D:\新凯迪MES\VueWebApi\VueWebApi\bin\Dapper.xml
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.xml
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.Service.dll.config
D:\新凯迪MES\VueWebApi\VueWebApi\bin\FastReport.Web.xml
D:\新凯迪MES\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.pdb
D:\新凯迪MES\VueWebApi\VueWebApi\bin\ICSharpCode.SharpZipLib.xml
@@ -272,3 +267,4 @@
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.CopyComplete
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.dll
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.pdb
D:\新凯迪MES\VueWebApi\VueWebApi\obj\Release\VueWebApi.csproj.AssemblyReference.cache
VueWebApi/obj/Release/VueWebApi.pdb
Binary files differ