DBUtility/obj/Release/DBUtility.csproj.AssemblyReference.cacheBinary files differ
DBUtility/obj/Release/DBUtility.csproj.GenerateResource.CacheBinary files differ
Model/obj/Release/Model.csproj.AssemblyReference.cacheBinary files differ
NETERPNoWin/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cacheBinary files differ
SQLHelper/obj/Release/SQLHelper.csproj.AssemblyReference.cacheBinary files differ
WebAPI/App_Start/WebApiConfig.cs
@@ -29,6 +29,12 @@ routeTemplate: "actionapi/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); // å ¨å±å¯ç¨ JWT è®¤è¯ // config.Filters.Add(new JwtAuthorizeAttribute()); // å¯ç¨JWTååºæ¦æªå¨ï¼èªå¨å·æ°JWT // config.MessageHandlers.Add(new TokenAppendHandler()); } } } WebAPI/Controllers/BaseSet/Xt_grdAlignment_WMESController.cs
@@ -12,6 +12,7 @@ using WebAPI.Models; namespace WebAPI.Controllers.BaseSet { [AllowAnonymous] public class Xt_grdAlignment_WMESController : ApiController { private json objJsonResult = new json(); @@ -875,6 +876,8 @@ #region æ¥éä¿¡æ¯ æ¥è¯¢ [Route("Xt_grdAlignment_WMES/SelectMessageError")] [HttpGet] [AllowAnonymous] public object SelectMessageError(string ErrorCode) { try WebAPI/Controllers/JHGL/Gy_RoutingBillController.cs
@@ -2648,6 +2648,8 @@ #region å·¥èºè·¯çº¿éè¦æå®¡æ¹æµå®¡æ¹ç [Route("Gy_Routing/NeedChecklist")] [HttpGet] [AllowAnonymous] public object NeedChecklist(string user, string userid) { try WebAPI/Controllers/SBGL/Gy_EquipFileMainController.cs
@@ -1322,6 +1322,73 @@ } #endregion #region 设å¤è¿è¡æ¥è¡¨(å页) [Route("SB_EquipRunningStatus/ReportPage")] [HttpGet] public object ReportPage(string sWhere, string user, int page=1, int size=50) { try { List<object> columnNameList = new List<object>(); //if (!DBUtility.ClsPub.Security_Log("Gy_EquipFileList", 1, false, user)) //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "æ²¡ææ¥çæé"; // objJsonResult.data = null; // return objJsonResult; //} if (sWhere == null || sWhere.Equals("")) { ds = oCN.RunProcReturn("select * from h_v_Sb_EquipRunningStatusReport " + sWhere + " order by æå±æ¥æ desc", "h_v_Sb_EquipRunningStatusReport"); } else { string sql1 = "select * from h_v_Sb_EquipRunningStatusReport where 1 = 1 "; string sql = sql1 + sWhere + " order by æå±æ¥æ desc"; sql += $" offset {(page - 1) * size} rows fetch next {size} rows only"; ds = oCN.RunProcReturn(sql, "h_v_Sb_EquipRunningStatusReport"); } //æ·»å åå foreach (DataColumn col in ds.Tables[0].Columns) { Type dataType = col.DataType; string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}"; columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//è·åå°DataColumnå对象çåå } objJsonResult.code = "1"; objJsonResult.count = 1; objJsonResult.Message = "Sucessï¼"; objJsonResult.data = ds.Tables[0]; objJsonResult.list = columnNameList; return objJsonResult; //if (ds.Tables[0].Rows.Count != 0 && ds != null) //{ //} //else //{ // objJsonResult.code = "0"; // objJsonResult.count = 0; // objJsonResult.Message = "æ æ°æ®"; // objJsonResult.data = null; // return objJsonResult; //} } catch (Exception e) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "Exceptionï¼" + e.ToString(); objJsonResult.data = null; return objJsonResult; } } #endregion #region 设å¤è¿è¡ç¶ææ¥è¡¨ [Route("SB_EquipRunningStatus/Report")] WebAPI/Controllers/WebAPIController.cs
@@ -340,6 +340,7 @@ /// <returns></returns> [Route("Web/GetUser")] [HttpGet] [AllowAnonymous] public object GetUser(string UserName, string PassWord, string HOrgName) { try @@ -384,11 +385,23 @@ } } if (!oSystemParameter.ShowBill(ref DBUtility.ClsPub.sErrInfo)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "ç»å½å¼å¸¸ï¼Token çæå¼å¸¸ï¼æ æ³è·åå ¬å¸ä¿¡æ¯ï¼"; } string tokenStr = Utility.JWTHelper.GenerateToken(UserName.Trim(), DBUtility.ClsPub.StrToPsd(PassWord.Trim())); objjson.code = "0"; objjson.count = 1; objjson.Message = "[0000-1-073]ç»å½æåï¼"; objjson.data = ds.Tables[0]; return objjson; JObject jobjJsonResult = JObject.FromObject(objjson); jobjJsonResult["token"] = tokenStr; return jobjJsonResult; } catch (Exception e) @@ -2619,6 +2632,7 @@ /// <returns></returns> [Route("Web/GetDataBases")] [HttpGet] [AllowAnonymous] public object GetDataBases() { try @@ -18965,6 +18979,7 @@ /// <returns></returns> [Route("Web/GetOrganizations")] [HttpGet] [AllowAnonymous] public object GetOrganizations() { try @@ -18997,6 +19012,7 @@ /// <returns></returns> [Route("Web/BaseInfo")] [HttpGet] [AllowAnonymous] public object GetBaseInfo() { try WebAPI/Controllers/ÌõÂë¹ÜÀí/WEBSController.cs
@@ -46,6 +46,7 @@ /// <returns></returns> [Route("WEBSController/GetUser_Json")] [HttpGet] [AllowAnonymous] public object GetUser_Json(string HUserNumber, string HPassWord, Int64 HStockOrgID, string HStockOrgName) { try @@ -91,11 +92,23 @@ return objJsonResult; } if(!oSystemParameter.ShowBill(ref DBUtility.ClsPub.sErrInfo)) { objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "ç»å½å¼å¸¸ï¼Token çæå¼å¸¸ï¼æ æ³è·åå ¬å¸ä¿¡æ¯ï¼"; } string tokenStr = JWTHelper.GenerateToken(ds.Tables[0].Rows[0]["Czybm"].ToString(), ds.Tables[0].Rows[0]["Czmm"].ToString()); objJsonResult.code = "0"; objJsonResult.count = 1; objJsonResult.Message = "ç»å½æåï¼"; objJsonResult.data = ds.Tables[0]; return objJsonResult; JObject jobjJsonResult = JObject.FromObject(objJsonResult); jobjJsonResult["token"] = tokenStr; return jobjJsonResult; } } catch (Exception e) WebAPI/Global.asax.cs
@@ -11,6 +11,7 @@ { protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); } } WebAPI/Properties/PublishProfiles/FolderProfile4.pubxml.user
@@ -5,7 +5,7 @@ <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <_PublishTargetUrl>D:\ç½ç«åå¸\æºäºMESWMS\API</_PublishTargetUrl> <History>True|2026-03-24T00:56:28.1340424Z;True|2026-03-24T08:11:40.8167004+08:00;False|2026-03-24T08:10:24.5227115+08:00;True|2026-03-23T16:52:06.1962112+08:00;True|2026-03-23T10:48:43.9146974+08:00;False|2026-03-23T10:47:37.6567528+08:00;True|2026-03-23T10:21:45.2785227+08:00;False|2026-03-23T10:21:38.6946638+08:00;True|2026-03-20T13:20:00.4199413+08:00;False|2026-03-20T13:19:48.2280600+08:00;True|2026-03-19T16:53:44.5050326+08:00;True|2026-03-19T10:10:35.5101923+08:00;False|2026-03-19T10:10:15.7270659+08:00;True|2026-03-18T19:51:55.1022153+08:00;True|2026-03-18T19:41:13.5178535+08:00;False|2026-03-18T19:40:38.2085412+08:00;True|2026-03-18T09:40:21.0697989+08:00;True|2026-03-18T09:34:25.1335941+08:00;False|2026-03-18T09:33:56.8767961+08:00;False|2026-03-17T11:45:46.0943251+08:00;True|2026-03-16T14:55:19.5092172+08:00;True|2026-03-16T14:39:12.2885876+08:00;True|2026-03-16T13:20:59.6155796+08:00;True|2026-03-16T12:53:38.9806066+08:00;False|2026-03-16T12:53:28.1149911+08:00;True|2026-03-16T10:21:54.6583129+08:00;False|2026-03-16T10:20:22.8166196+08:00;True|2026-03-13T13:56:44.7436815+08:00;True|2026-03-13T13:48:09.2962246+08:00;True|2026-03-13T10:01:06.8006672+08:00;False|2026-03-13T09:59:31.4203821+08:00;True|2026-03-09T01:54:24.1336085+08:00;False|2026-03-09T01:53:17.3398700+08:00;True|2026-03-09T01:28:43.0746681+08:00;True|2026-03-09T00:35:43.7572081+08:00;False|2026-03-09T00:34:44.1380553+08:00;True|2026-03-02T10:58:08.4918461+08:00;True|2026-02-28T14:36:37.1813756+08:00;True|2026-02-28T09:10:06.2035727+08:00;True|2026-02-28T08:45:06.8758170+08:00;False|2026-02-28T08:45:00.2780485+08:00;True|2026-02-27T16:29:24.9278951+08:00;False|2026-02-27T16:29:01.8985145+08:00;True|2026-02-27T15:25:58.1156917+08:00;False|2026-02-27T15:25:50.1203408+08:00;True|2026-02-27T08:48:32.3741487+08:00;False|2026-02-27T08:47:49.7647299+08:00;True|2026-02-26T13:55:29.1843761+08:00;True|2026-02-26T10:17:02.6775428+08:00;False|2026-02-26T10:15:56.8080083+08:00;True|2026-02-25T16:35:36.1616346+08:00;False|2026-02-25T16:35:02.7930400+08:00;True|2026-02-25T15:14:31.7665279+08:00;True|2026-02-25T15:06:38.2831461+08:00;True|2026-02-25T14:53:16.9553043+08:00;True|2026-02-25T14:18:12.0055193+08:00;True|2026-02-25T14:11:45.2316738+08:00;True|2026-02-25T14:02:16.3161429+08:00;True|2026-02-25T13:47:25.4930099+08:00;False|2026-02-25T13:46:34.1837894+08:00;True|2026-02-24T10:25:01.2146652+08:00;True|2026-02-24T10:16:06.3505078+08:00;True|2026-02-24T10:08:41.7064926+08:00;False|2026-02-24T10:07:25.4868308+08:00;True|2026-02-21T14:56:37.2206752+08:00;True|2026-02-21T14:53:44.6277903+08:00;True|2026-02-21T14:40:10.4687091+08:00;False|2026-02-21T14:39:13.1736140+08:00;True|2026-02-11T11:45:25.6746436+08:00;True|2026-02-11T11:44:47.3185555+08:00;True|2026-02-11T10:54:59.0679758+08:00;True|2026-02-11T10:43:35.2341241+08:00;True|2026-02-11T10:36:26.6768242+08:00;True|2026-02-11T10:26:54.7470684+08:00;True|2026-02-11T10:26:14.5696000+08:00;True|2026-02-11T10:19:17.3267746+08:00;True|2026-02-11T10:03:08.9096446+08:00;True|2026-02-11T10:00:03.1731421+08:00;False|2026-02-11T09:58:47.2916714+08:00;True|2026-02-10T15:11:02.0203382+08:00;True|2026-02-10T15:07:21.6761915+08:00;True|2026-02-10T14:56:44.3660951+08:00;True|2026-02-10T14:42:24.1573010+08:00;True|2026-02-10T14:17:49.6012996+08:00;True|2026-02-10T10:54:27.8849732+08:00;True|2026-02-10T10:37:09.4615737+08:00;True|2026-02-10T10:32:50.2882198+08:00;True|2026-02-10T10:16:38.5004114+08:00;True|2026-02-10T10:04:58.3653257+08:00;False|2026-02-10T10:04:05.6938724+08:00;True|2026-02-09T11:58:12.9122757+08:00;True|2026-02-09T11:52:51.2402774+08:00;True|2026-02-09T11:47:15.5230979+08:00;True|2026-02-09T10:53:15.6587025+08:00;False|2026-02-09T10:52:01.4586729+08:00;True|2026-02-05T12:04:14.1139398+08:00;True|2026-02-05T10:00:41.8883921+08:00;False|2026-02-05T09:59:49.2086159+08:00;True|2026-02-04T13:30:53.8564398+08:00;True|2026-02-04T13:30:06.5486103+08:00;True|2026-02-04T13:21:44.7322601+08:00;True|2026-02-04T13:15:45.0093895+08:00;True|2026-02-04T13:06:30.4891537+08:00;False|2026-02-04T13:05:35.5287589+08:00;True|2026-02-04T12:39:42.2682329+08:00;True|2026-02-04T12:21:52.9722100+08:00;True|2026-02-04T12:16:07.8303016+08:00;True|2026-02-04T12:08:43.8268899+08:00;True|2026-02-04T12:03:26.1174616+08:00;True|2026-02-04T10:33:15.5394044+08:00;False|2026-02-04T10:32:30.7038502+08:00;True|2026-02-02T15:42:04.9554792+08:00;True|2026-02-02T15:39:28.7017318+08:00;True|2026-02-02T15:38:33.5592835+08:00;True|2026-02-02T15:34:24.8450917+08:00;True|2026-02-02T15:30:36.5990146+08:00;True|2026-02-02T15:09:46.1965065+08:00;True|2026-02-02T15:09:24.9794288+08:00;True|2026-02-02T15:05:46.0763516+08:00;True|2026-02-02T14:56:30.1210013+08:00;True|2026-02-02T14:52:50.7435709+08:00;True|2026-02-02T14:47:49.5891710+08:00;True|2026-02-02T14:43:23.0006294+08:00;True|2026-02-02T14:31:10.1220612+08:00;True|2026-02-02T14:21:15.6540317+08:00;True|2026-02-02T14:15:41.6183116+08:00;True|2026-02-02T14:11:32.1234982+08:00;True|2026-02-02T14:01:34.6298901+08:00;True|2026-02-02T13:55:03.4760402+08:00;True|2026-02-02T13:49:00.0420220+08:00;True|2026-02-02T13:17:17.0678676+08:00;False|2026-02-02T13:15:46.0360589+08:00;False|2026-02-02T13:15:27.1689505+08:00;False|2026-02-02T13:14:27.3078641+08:00;True|2026-02-02T12:55:41.9272586+08:00;True|2026-02-02T12:55:22.0826476+08:00;True|2026-02-02T12:09:21.8247404+08:00;True|2026-02-02T12:03:58.9256304+08:00;True|2026-02-02T11:56:01.5744871+08:00;True|2026-02-02T11:42:30.2218073+08:00;True|2026-02-02T10:59:29.6077968+08:00;False|2026-02-02T10:59:08.7803594+08:00;True|2026-01-29T14:40:47.4658031+08:00;True|2026-01-29T14:36:18.2141550+08:00;True|2026-01-29T14:32:52.4872179+08:00;True|2026-01-29T14:32:06.4197291+08:00;True|2026-01-29T14:09:33.9372276+08:00;True|2026-01-29T14:08:17.6503129+08:00;True|2026-01-29T14:06:27.5784162+08:00;True|2026-01-29T13:10:48.6581055+08:00;True|2026-01-29T13:07:28.5589276+08:00;True|2026-01-29T12:44:24.3707488+08:00;True|2026-01-29T12:42:34.6204068+08:00;True|2026-01-29T12:39:55.3867683+08:00;True|2026-01-29T12:29:41.8565928+08:00;True|2026-01-29T12:17:04.5932345+08:00;True|2026-01-29T10:08:23.4550691+08:00;True|2026-01-29T10:04:05.4236307+08:00;False|2026-01-29T10:03:18.4044168+08:00;True|2026-01-28T16:00:38.3698743+08:00;True|2026-01-28T14:15:04.1203132+08:00;True|2026-01-28T14:03:32.3230252+08:00;False|2026-01-28T14:02:41.6157812+08:00;True|2026-01-28T13:18:24.5590390+08:00;True|2026-01-28T13:10:49.5716734+08:00;True|2026-01-28T12:25:03.3201915+08:00;True|2026-01-28T12:24:37.6029904+08:00;True|2026-01-28T12:16:13.3862190+08:00;True|2026-01-28T11:43:57.8268938+08:00;True|2026-01-28T10:57:22.9246991+08:00;True|2026-01-28T10:49:34.6185686+08:00;True|2026-01-28T10:44:07.6308515+08:00;True|2026-01-28T10:36:00.0391721+08:00;True|2026-01-28T10:27:26.1658915+08:00;False|2026-01-28T10:27:00.5898601+08:00;True|2026-01-27T15:02:41.1819512+08:00;True|2026-01-27T14:55:32.3962262+08:00;True|2026-01-27T14:31:09.0105130+08:00;True|2026-01-27T13:19:08.8705541+08:00;True|2026-01-27T11:43:17.0109305+08:00;True|2026-01-27T10:53:13.5941761+08:00;True|2026-01-27T10:49:18.5740094+08:00;True|2026-01-27T10:43:29.4337654+08:00;True|2026-01-27T10:00:49.1779297+08:00;False|2026-01-27T10:00:34.2083888+08:00;True|2026-01-26T16:29:09.5100352+08:00;False|2026-01-26T16:29:04.6554601+08:00;False|2026-01-26T14:39:05.7640208+08:00;True|2026-01-26T09:57:23.8775907+08:00;False|2026-01-26T09:56:43.8599383+08:00;True|2026-01-26T09:37:16.8828589+08:00;False|2026-01-26T09:36:35.9597492+08:00;True|2026-01-25T15:20:11.0096169+08:00;True|2026-01-25T14:52:25.7167654+08:00;True|2026-01-25T14:28:16.6779637+08:00;False|2026-01-25T14:27:32.6753765+08:00;True|2026-01-23T16:17:17.9227805+08:00;True|2026-01-23T14:37:25.7929932+08:00;True|2026-01-23T14:32:25.7611106+08:00;False|2026-01-23T14:31:28.4811198+08:00;True|2026-01-22T09:55:07.0908298+08:00;True|2026-01-22T09:38:49.9102490+08:00;False|2026-01-22T09:37:53.0384929+08:00;True|2026-01-21T16:50:27.5625267+08:00;True|2026-01-21T10:50:18.7634322+08:00;True|2026-01-21T10:47:56.7913811+08:00;True|2026-01-21T10:41:46.5883817+08:00;True|2026-01-21T09:29:22.5824101+08:00;False|2026-01-21T09:28:13.4362586+08:00;True|2026-01-20T14:26:36.7806712+08:00;True|2026-01-20T13:13:01.3064754+08:00;False|2026-01-20T13:12:08.1800841+08:00;True|2026-01-20T10:28:19.5250951+08:00;True|2026-01-20T10:27:41.5947282+08:00;True|2026-01-20T10:23:10.6474490+08:00;True|2026-01-20T10:07:24.8412652+08:00;True|2026-01-20T09:53:19.8583529+08:00;True|2026-01-20T08:21:20.5302494+08:00;False|2026-01-20T08:20:24.6093320+08:00;True|2026-01-19T15:58:34.1439056+08:00;True|2026-01-19T15:56:47.6488483+08:00;True|2026-01-19T15:12:36.9286562+08:00;True|2026-01-19T14:55:17.2807312+08:00;True|2026-01-19T14:47:03.8892836+08:00;True|2026-01-19T14:36:15.0507410+08:00;True|2026-01-19T14:26:05.5060287+08:00;True|2026-01-19T13:50:54.8654304+08:00;True|2026-01-19T13:37:47.2294303+08:00;True|2026-01-19T13:20:13.3781676+08:00;True|2026-01-19T13:07:18.8111360+08:00;True|2026-01-19T13:01:15.1432453+08:00;True|2026-01-19T11:54:26.6582081+08:00;True|2026-01-19T11:23:28.6100843+08:00;True|2026-01-19T08:41:23.8724527+08:00;True|2026-01-19T08:34:06.3247836+08:00;True|2026-01-19T07:48:11.5052413+08:00;False|2026-01-19T07:47:21.4586297+08:00;True|2026-01-18T14:27:24.9640228+08:00;True|2026-01-18T13:21:44.9690334+08:00;False|2026-01-18T13:20:08.6314025+08:00;False|2026-01-16T16:53:24.3290896+08:00;True|2026-01-16T09:03:14.4122067+08:00;True|2026-01-16T08:44:23.0342932+08:00;False|2026-01-16T08:43:34.3488415+08:00;True|2026-01-15T16:27:10.8480719+08:00;False|2026-01-15T16:26:06.6002625+08:00;True|2026-01-15T13:04:43.0602637+08:00;</History> <History>True|2026-03-25T08:35:08.8050103Z;True|2026-03-25T15:37:15.6317912+08:00;True|2026-03-25T15:27:23.3932111+08:00;True|2026-03-25T15:11:11.1967438+08:00;True|2026-03-25T15:00:30.5147369+08:00;True|2026-03-25T14:52:56.0204639+08:00;True|2026-03-25T14:47:51.3529176+08:00;True|2026-03-25T14:46:04.5196908+08:00;True|2026-03-25T14:40:04.4992796+08:00;True|2026-03-25T14:38:45.0508837+08:00;True|2026-03-25T13:40:00.6412255+08:00;True|2026-03-25T13:17:17.5126232+08:00;True|2026-03-25T13:05:28.8923666+08:00;True|2026-03-25T11:16:11.6477493+08:00;True|2026-03-25T10:56:54.5866590+08:00;False|2026-03-25T10:55:40.1765744+08:00;True|2026-03-24T08:56:28.1340424+08:00;True|2026-03-24T08:11:40.8167004+08:00;False|2026-03-24T08:10:24.5227115+08:00;True|2026-03-23T16:52:06.1962112+08:00;True|2026-03-23T10:48:43.9146974+08:00;False|2026-03-23T10:47:37.6567528+08:00;True|2026-03-23T10:21:45.2785227+08:00;False|2026-03-23T10:21:38.6946638+08:00;True|2026-03-20T13:20:00.4199413+08:00;False|2026-03-20T13:19:48.2280600+08:00;True|2026-03-19T16:53:44.5050326+08:00;True|2026-03-19T10:10:35.5101923+08:00;False|2026-03-19T10:10:15.7270659+08:00;True|2026-03-18T19:51:55.1022153+08:00;True|2026-03-18T19:41:13.5178535+08:00;False|2026-03-18T19:40:38.2085412+08:00;True|2026-03-18T09:40:21.0697989+08:00;True|2026-03-18T09:34:25.1335941+08:00;False|2026-03-18T09:33:56.8767961+08:00;False|2026-03-17T11:45:46.0943251+08:00;True|2026-03-16T14:55:19.5092172+08:00;True|2026-03-16T14:39:12.2885876+08:00;True|2026-03-16T13:20:59.6155796+08:00;True|2026-03-16T12:53:38.9806066+08:00;False|2026-03-16T12:53:28.1149911+08:00;True|2026-03-16T10:21:54.6583129+08:00;False|2026-03-16T10:20:22.8166196+08:00;True|2026-03-13T13:56:44.7436815+08:00;True|2026-03-13T13:48:09.2962246+08:00;True|2026-03-13T10:01:06.8006672+08:00;False|2026-03-13T09:59:31.4203821+08:00;True|2026-03-09T01:54:24.1336085+08:00;False|2026-03-09T01:53:17.3398700+08:00;True|2026-03-09T01:28:43.0746681+08:00;True|2026-03-09T00:35:43.7572081+08:00;False|2026-03-09T00:34:44.1380553+08:00;True|2026-03-02T10:58:08.4918461+08:00;True|2026-02-28T14:36:37.1813756+08:00;True|2026-02-28T09:10:06.2035727+08:00;True|2026-02-28T08:45:06.8758170+08:00;False|2026-02-28T08:45:00.2780485+08:00;True|2026-02-27T16:29:24.9278951+08:00;False|2026-02-27T16:29:01.8985145+08:00;True|2026-02-27T15:25:58.1156917+08:00;False|2026-02-27T15:25:50.1203408+08:00;True|2026-02-27T08:48:32.3741487+08:00;False|2026-02-27T08:47:49.7647299+08:00;True|2026-02-26T13:55:29.1843761+08:00;True|2026-02-26T10:17:02.6775428+08:00;False|2026-02-26T10:15:56.8080083+08:00;True|2026-02-25T16:35:36.1616346+08:00;False|2026-02-25T16:35:02.7930400+08:00;True|2026-02-25T15:14:31.7665279+08:00;True|2026-02-25T15:06:38.2831461+08:00;True|2026-02-25T14:53:16.9553043+08:00;True|2026-02-25T14:18:12.0055193+08:00;True|2026-02-25T14:11:45.2316738+08:00;True|2026-02-25T14:02:16.3161429+08:00;True|2026-02-25T13:47:25.4930099+08:00;False|2026-02-25T13:46:34.1837894+08:00;True|2026-02-24T10:25:01.2146652+08:00;True|2026-02-24T10:16:06.3505078+08:00;True|2026-02-24T10:08:41.7064926+08:00;False|2026-02-24T10:07:25.4868308+08:00;True|2026-02-21T14:56:37.2206752+08:00;True|2026-02-21T14:53:44.6277903+08:00;True|2026-02-21T14:40:10.4687091+08:00;False|2026-02-21T14:39:13.1736140+08:00;True|2026-02-11T11:45:25.6746436+08:00;True|2026-02-11T11:44:47.3185555+08:00;True|2026-02-11T10:54:59.0679758+08:00;True|2026-02-11T10:43:35.2341241+08:00;True|2026-02-11T10:36:26.6768242+08:00;True|2026-02-11T10:26:54.7470684+08:00;True|2026-02-11T10:26:14.5696000+08:00;True|2026-02-11T10:19:17.3267746+08:00;True|2026-02-11T10:03:08.9096446+08:00;True|2026-02-11T10:00:03.1731421+08:00;False|2026-02-11T09:58:47.2916714+08:00;True|2026-02-10T15:11:02.0203382+08:00;True|2026-02-10T15:07:21.6761915+08:00;True|2026-02-10T14:56:44.3660951+08:00;True|2026-02-10T14:42:24.1573010+08:00;True|2026-02-10T14:17:49.6012996+08:00;True|2026-02-10T10:54:27.8849732+08:00;True|2026-02-10T10:37:09.4615737+08:00;True|2026-02-10T10:32:50.2882198+08:00;True|2026-02-10T10:16:38.5004114+08:00;True|2026-02-10T10:04:58.3653257+08:00;False|2026-02-10T10:04:05.6938724+08:00;True|2026-02-09T11:58:12.9122757+08:00;True|2026-02-09T11:52:51.2402774+08:00;True|2026-02-09T11:47:15.5230979+08:00;True|2026-02-09T10:53:15.6587025+08:00;False|2026-02-09T10:52:01.4586729+08:00;True|2026-02-05T12:04:14.1139398+08:00;True|2026-02-05T10:00:41.8883921+08:00;False|2026-02-05T09:59:49.2086159+08:00;True|2026-02-04T13:30:53.8564398+08:00;True|2026-02-04T13:30:06.5486103+08:00;True|2026-02-04T13:21:44.7322601+08:00;True|2026-02-04T13:15:45.0093895+08:00;True|2026-02-04T13:06:30.4891537+08:00;False|2026-02-04T13:05:35.5287589+08:00;True|2026-02-04T12:39:42.2682329+08:00;True|2026-02-04T12:21:52.9722100+08:00;True|2026-02-04T12:16:07.8303016+08:00;True|2026-02-04T12:08:43.8268899+08:00;True|2026-02-04T12:03:26.1174616+08:00;True|2026-02-04T10:33:15.5394044+08:00;False|2026-02-04T10:32:30.7038502+08:00;True|2026-02-02T15:42:04.9554792+08:00;True|2026-02-02T15:39:28.7017318+08:00;True|2026-02-02T15:38:33.5592835+08:00;True|2026-02-02T15:34:24.8450917+08:00;True|2026-02-02T15:30:36.5990146+08:00;True|2026-02-02T15:09:46.1965065+08:00;True|2026-02-02T15:09:24.9794288+08:00;True|2026-02-02T15:05:46.0763516+08:00;True|2026-02-02T14:56:30.1210013+08:00;True|2026-02-02T14:52:50.7435709+08:00;True|2026-02-02T14:47:49.5891710+08:00;True|2026-02-02T14:43:23.0006294+08:00;True|2026-02-02T14:31:10.1220612+08:00;True|2026-02-02T14:21:15.6540317+08:00;True|2026-02-02T14:15:41.6183116+08:00;True|2026-02-02T14:11:32.1234982+08:00;True|2026-02-02T14:01:34.6298901+08:00;True|2026-02-02T13:55:03.4760402+08:00;True|2026-02-02T13:49:00.0420220+08:00;True|2026-02-02T13:17:17.0678676+08:00;False|2026-02-02T13:15:46.0360589+08:00;False|2026-02-02T13:15:27.1689505+08:00;False|2026-02-02T13:14:27.3078641+08:00;True|2026-02-02T12:55:41.9272586+08:00;True|2026-02-02T12:55:22.0826476+08:00;True|2026-02-02T12:09:21.8247404+08:00;True|2026-02-02T12:03:58.9256304+08:00;True|2026-02-02T11:56:01.5744871+08:00;True|2026-02-02T11:42:30.2218073+08:00;True|2026-02-02T10:59:29.6077968+08:00;False|2026-02-02T10:59:08.7803594+08:00;True|2026-01-29T14:40:47.4658031+08:00;True|2026-01-29T14:36:18.2141550+08:00;True|2026-01-29T14:32:52.4872179+08:00;True|2026-01-29T14:32:06.4197291+08:00;True|2026-01-29T14:09:33.9372276+08:00;True|2026-01-29T14:08:17.6503129+08:00;True|2026-01-29T14:06:27.5784162+08:00;True|2026-01-29T13:10:48.6581055+08:00;True|2026-01-29T13:07:28.5589276+08:00;True|2026-01-29T12:44:24.3707488+08:00;True|2026-01-29T12:42:34.6204068+08:00;True|2026-01-29T12:39:55.3867683+08:00;True|2026-01-29T12:29:41.8565928+08:00;True|2026-01-29T12:17:04.5932345+08:00;True|2026-01-29T10:08:23.4550691+08:00;True|2026-01-29T10:04:05.4236307+08:00;False|2026-01-29T10:03:18.4044168+08:00;True|2026-01-28T16:00:38.3698743+08:00;True|2026-01-28T14:15:04.1203132+08:00;True|2026-01-28T14:03:32.3230252+08:00;False|2026-01-28T14:02:41.6157812+08:00;True|2026-01-28T13:18:24.5590390+08:00;True|2026-01-28T13:10:49.5716734+08:00;True|2026-01-28T12:25:03.3201915+08:00;True|2026-01-28T12:24:37.6029904+08:00;True|2026-01-28T12:16:13.3862190+08:00;True|2026-01-28T11:43:57.8268938+08:00;True|2026-01-28T10:57:22.9246991+08:00;True|2026-01-28T10:49:34.6185686+08:00;True|2026-01-28T10:44:07.6308515+08:00;True|2026-01-28T10:36:00.0391721+08:00;True|2026-01-28T10:27:26.1658915+08:00;False|2026-01-28T10:27:00.5898601+08:00;True|2026-01-27T15:02:41.1819512+08:00;True|2026-01-27T14:55:32.3962262+08:00;True|2026-01-27T14:31:09.0105130+08:00;True|2026-01-27T13:19:08.8705541+08:00;True|2026-01-27T11:43:17.0109305+08:00;True|2026-01-27T10:53:13.5941761+08:00;True|2026-01-27T10:49:18.5740094+08:00;True|2026-01-27T10:43:29.4337654+08:00;True|2026-01-27T10:00:49.1779297+08:00;False|2026-01-27T10:00:34.2083888+08:00;True|2026-01-26T16:29:09.5100352+08:00;False|2026-01-26T16:29:04.6554601+08:00;False|2026-01-26T14:39:05.7640208+08:00;True|2026-01-26T09:57:23.8775907+08:00;False|2026-01-26T09:56:43.8599383+08:00;True|2026-01-26T09:37:16.8828589+08:00;False|2026-01-26T09:36:35.9597492+08:00;True|2026-01-25T15:20:11.0096169+08:00;True|2026-01-25T14:52:25.7167654+08:00;True|2026-01-25T14:28:16.6779637+08:00;False|2026-01-25T14:27:32.6753765+08:00;True|2026-01-23T16:17:17.9227805+08:00;True|2026-01-23T14:37:25.7929932+08:00;True|2026-01-23T14:32:25.7611106+08:00;False|2026-01-23T14:31:28.4811198+08:00;True|2026-01-22T09:55:07.0908298+08:00;True|2026-01-22T09:38:49.9102490+08:00;False|2026-01-22T09:37:53.0384929+08:00;True|2026-01-21T16:50:27.5625267+08:00;True|2026-01-21T10:50:18.7634322+08:00;True|2026-01-21T10:47:56.7913811+08:00;True|2026-01-21T10:41:46.5883817+08:00;True|2026-01-21T09:29:22.5824101+08:00;False|2026-01-21T09:28:13.4362586+08:00;True|2026-01-20T14:26:36.7806712+08:00;True|2026-01-20T13:13:01.3064754+08:00;False|2026-01-20T13:12:08.1800841+08:00;True|2026-01-20T10:28:19.5250951+08:00;True|2026-01-20T10:27:41.5947282+08:00;True|2026-01-20T10:23:10.6474490+08:00;True|2026-01-20T10:07:24.8412652+08:00;True|2026-01-20T09:53:19.8583529+08:00;True|2026-01-20T08:21:20.5302494+08:00;False|2026-01-20T08:20:24.6093320+08:00;True|2026-01-19T15:58:34.1439056+08:00;True|2026-01-19T15:56:47.6488483+08:00;True|2026-01-19T15:12:36.9286562+08:00;True|2026-01-19T14:55:17.2807312+08:00;True|2026-01-19T14:47:03.8892836+08:00;True|2026-01-19T14:36:15.0507410+08:00;True|2026-01-19T14:26:05.5060287+08:00;True|2026-01-19T13:50:54.8654304+08:00;True|2026-01-19T13:37:47.2294303+08:00;True|2026-01-19T13:20:13.3781676+08:00;True|2026-01-19T13:07:18.8111360+08:00;True|2026-01-19T13:01:15.1432453+08:00;True|2026-01-19T11:54:26.6582081+08:00;True|2026-01-19T11:23:28.6100843+08:00;True|2026-01-19T08:41:23.8724527+08:00;True|2026-01-19T08:34:06.3247836+08:00;True|2026-01-19T07:48:11.5052413+08:00;False|2026-01-19T07:47:21.4586297+08:00;True|2026-01-18T14:27:24.9640228+08:00;True|2026-01-18T13:21:44.9690334+08:00;False|2026-01-18T13:20:08.6314025+08:00;False|2026-01-16T16:53:24.3290896+08:00;True|2026-01-16T09:03:14.4122067+08:00;True|2026-01-16T08:44:23.0342932+08:00;False|2026-01-16T08:43:34.3488415+08:00;True|2026-01-15T16:27:10.8480719+08:00;False|2026-01-15T16:26:06.6002625+08:00;True|2026-01-15T13:04:43.0602637+08:00;</History> </PropertyGroup> <ItemGroup> <File Include="apiapp.json"> @@ -125,6 +125,15 @@ <File Include="bin/Microsoft.CSharp.dll"> <publishTime>09/26/2012 03:16:08</publishTime> </File> <File Include="bin/Microsoft.IdentityModel.JsonWebTokens.dll"> <publishTime>11/21/2023 06:59:58</publishTime> </File> <File Include="bin/Microsoft.IdentityModel.Logging.dll"> <publishTime>11/21/2023 07:01:42</publishTime> </File> <File Include="bin/Microsoft.IdentityModel.Tokens.dll"> <publishTime>11/21/2023 07:08:26</publishTime> </File> <File Include="bin/Microsoft.Owin.Cors.dll"> <publishTime>01/19/2019 04:50:50</publishTime> </File> @@ -234,7 +243,7 @@ <publishTime>09/26/2012 03:16:08</publishTime> </File> <File Include="bin/System.IdentityModel.Tokens.Jwt.dll"> <publishTime>08/19/2014 18:03:34</publishTime> <publishTime>11/21/2023 06:58:04</publishTime> </File> <File Include="bin/System.Memory.dll"> <publishTime>04/18/2019 00:24:34</publishTime> @@ -330,13 +339,13 @@ <publishTime>11/24/2014 19:18:48</publishTime> </File> <File Include="bin/WebAPI.dll"> <publishTime>03/24/2026 08:56:12</publishTime> <publishTime>03/25/2026 16:34:51</publishTime> </File> <File Include="bin/WebAPI.pdb"> <publishTime>03/24/2026 08:56:12</publishTime> <publishTime>03/25/2026 16:34:51</publishTime> </File> <File Include="bin/WebAPI.XmlSerializers.dll"> <publishTime>03/24/2026 08:56:25</publishTime> <publishTime>03/25/2026 16:35:05</publishTime> </File> <File Include="bin/WebGrease.dll"> <publishTime>07/18/2013 01:03:52</publishTime> @@ -441,7 +450,7 @@ <publishTime>04/21/2025 11:46:16</publishTime> </File> <File Include="packages.config"> <publishTime>03/04/2026 13:17:49</publishTime> <publishTime>03/24/2026 16:14:20</publishTime> </File> <File Include="Properties/PublishProfiles/JFAPI.pubxml.user"> <publishTime>12/07/2025 12:01:10</publishTime> @@ -561,7 +570,7 @@ <publishTime>04/21/2025 11:46:17</publishTime> </File> <File Include="Web.config"> <publishTime>03/23/2026 16:52:04</publishTime> <publishTime>03/25/2026 10:56:54</publishTime> </File> </ItemGroup> </Project> WebAPI/Service/JwtAuthorizeAttribute.cs
@@ -7,37 +7,64 @@ using System.Web.Http; using System.Web.Http.Controllers; using System.Web.Http.Filters; using WebAPI.Models; using WebAPI.Utility; public class JwtAuthorizeAttribute : AuthorizationFilterAttribute { private json objjson = new json(); private SQLHelper.ClsCN oCN = new SQLHelper.ClsCN(); private Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter(); private string campanyName = ""; public JwtAuthorizeAttribute() { if (oSystemParameter.ShowBill(ref DBUtility.ClsPub.sErrInfo)) { campanyName = oSystemParameter.omodel.WMS_CampanyName; } } // 忥鴿 public override void OnAuthorization(HttpActionContext actionContext) { // æ£æ¥å¿åè®¿é® if (IsAnonymousAllowed(actionContext)) return; // è·åToken var token = GetTokenFromHeader(actionContext); if (string.IsNullOrEmpty(token)) try { HandleUnauthorized(actionContext); return; } // æ£æ¥å¿åè®¿é® if (IsAnonymousAllowed(actionContext)) return; // éªè¯Token var principal = JWTHelper.ValidateToken(token, "123"); if (principal == null) // è·åToken var token = GetTokenFromHeader(actionContext); if (string.IsNullOrEmpty(token)) { HandleUnauthorized(actionContext); return; } // éªè¯Token // å¯ä»¥å¢å æ´ç»ç²åº¦çæ§å¶ï¼æ·»å æ ¹æ®ç»ç»ID 夿ï¼é®é¢: å ¬å¸åä¸è½ä½¿ç¨ä¸æï¼å¯è½éè¦æ·»å è±æåæ®µï¼ var principal = JWTHelper.ValidateToken(token); if (principal == null) { HandleUnauthorized(actionContext); return; } // éªè¯æ¯å¦æ¥æè®¿é®æ¨¡åçæé // æä¸¤ç§å¤ææ¹å¼ ä¸ç§æ¯éè¿è§è²å»å¤æï¼ä¸ç§æ¯éè¿ç¨æ·å»å¤æ ç®åææ¶ä¸ååºåï¼åç»å¯å¢å ç³»ç»åæ°æ¥è¿è¡åºå // è®¾ç½®ç¨æ· actionContext.RequestContext.Principal = principal; } catch (Exception e) { HandleUnauthorized(actionContext); return; HandleError(actionContext, e.Message); } // è®¾ç½®ç¨æ· actionContext.RequestContext.Principal = principal; } // 弿¥é´æï¼æ»¡è¶³WebAPI 2è¦æ±ï¼å ¼å®¹.NET4.5ï¼ // 弿¥é´æ public override Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken) { OnAuthorization(actionContext); @@ -45,7 +72,7 @@ return Task.FromResult(0); } // æ¯å¦å 许å¿åè®¿é® // æ¯å¦å 许å¿å访é®(æ§å¶å¨çº§å«åå¨ä½çº§å«é½å¯ç¨) private bool IsAnonymousAllowed(HttpActionContext context) { return @@ -70,7 +97,34 @@ private void HandleUnauthorized(HttpActionContext context) { var response = new HttpResponseMessage(HttpStatusCode.Unauthorized); response.Content = new StringContent("æªææï¼è¯·ç»å½åéè¯"); objjson.code = "0"; objjson.count = 0; objjson.Message = "æªææï¼è¯·ç»å½åéè¯"; response.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(objjson), System.Text.Encoding.UTF8, "application/json"); context.Response = response; } // 403 æ æé private void HandleForbidden(HttpActionContext context) { var response = new HttpResponseMessage(HttpStatusCode.Forbidden); objjson.code = "0"; objjson.count = 0; objjson.Message = "å½åè§è²æ æé"; response.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(objjson), System.Text.Encoding.UTF8, "application/json"); context.Response = response; } private void HandleError(HttpActionContext context, string ErrorInfo) { var response = new HttpResponseMessage(HttpStatusCode.InternalServerError); objjson.code = "0"; objjson.count = 0; objjson.Message = "æå¡å¨å¼å¸¸: " + ErrorInfo; response.Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(objjson), System.Text.Encoding.UTF8, "application/json"); context.Response = response; } } WebAPI/Service/TokenAppendHandler.cs
New file @@ -0,0 +1,65 @@ using System; using System.Linq; using System.Net.Http; using System.Threading; using System.Threading.Tasks; using System.Web.Http; using Newtonsoft.Json.Linq; using WebAPI.Utility; public class TokenAppendHandler : DelegatingHandler { protected override async Task<HttpResponseMessage> SendAsync( HttpRequestMessage request, CancellationToken cancellationToken) { // 1. å è®©è¯·æ±æ£å¸¸æ§è¡å° Action var response = await base.SendAsync(request, cancellationToken); try { // 2. åªå¤çæåçè¯·æ± if (response.IsSuccessStatusCode && response.Content != null) { // 3. è·åæ§ token var oldToken = request.Headers.GetValues("token")?.FirstOrDefault(); if (string.IsNullOrEmpty(oldToken)) return response; // 4. 夿æ¯å¦éè¦ç»æ bool needRenew = JWTHelper.TokenAboutToExpire(oldToken); if (!needRenew) return response; // 5. çææ° token string newToken = JWTHelper.refreshToken(oldToken); // 6. 读å忬çè¿åæ°æ® var json = await response.Content.ReadAsStringAsync(); JObject obj; if (string.IsNullOrWhiteSpace(json)) obj = new JObject(); else obj = JObject.Parse(json); // 7. å ³é®ï¼è¿½å token åæ®µå°è¿åä½ obj["token"] = newToken; // 8. æ¿æ¢ææ°çè¿åå 容 response.Content = new StringContent( obj.ToString(), System.Text.Encoding.UTF8, "application/json"); } } catch { } return response; } } WebAPI/Utility/JWTHelper.cs
@@ -22,7 +22,7 @@ new SymmetricSecurityKey(Encoding.UTF8.GetBytes(SecretKey)); // ç¾å Token public static string GenerateToken(string userId, string userName, string HCampanyName) public static string GenerateToken(string userId, string userName, string HCampanyName= "zjzyms") { var claims = new[] { @@ -45,7 +45,7 @@ } // éªè¯ Token å¹¶è¿å ClaimsPrincipal public static ClaimsPrincipal ValidateToken(string token, string HCampanyName) public static ClaimsPrincipal ValidateToken(string token, string HCampanyName= "zjzyms") { var handler = new JwtSecurityTokenHandler(); @@ -75,5 +75,28 @@ return null; } } // å·æ°Token public static string refreshToken(string token) { var jwt = new JwtSecurityTokenHandler().ReadJwtToken(token); var czybm = jwt.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value; var zymm = jwt.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name)?.Value; // éè¿ä¸ä¸ä¸ªtokençå¼å·æ°token return GenerateToken(czybm, zymm); } // 夿Token æ¯å¦å³å°è¿æ public static bool TokenAboutToExpire(string token) { var jwt = new JwtSecurityTokenHandler().ReadJwtToken(token); var validTo = jwt.ValidTo; if(validTo.Subtract(DateTime.UtcNow).TotalMinutes < 5) { return true; } return false; } } } WebAPI/WebAPI.csproj
@@ -1251,6 +1251,7 @@ </Compile> <Compile Include="Utility\JWTHelper.cs" /> <Compile Include="Utility\ServerTools.cs" /> <Compile Include="Service\TokenAppendHandler.cs" /> <Compile Include="Utility\Util.cs" /> <Compile Include="Code\Common.cs" /> <Compile Include="Code\Test2.cs" /> WebAPI/WebAPI.csproj.user
@@ -12,7 +12,7 @@ <UseGlobalApplicationHostFile /> <NameOfLastUsedPublishProfile>D:\gz\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile1.pubxml</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>D:\gz\MES-WEB-API\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile8.pubxml</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>D:\å·¥ä½ä»£ç \æºäºè¿æ\MES\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile2.pubxml</NameOfLastUsedPublishProfile> <NameOfLastUsedPublishProfile>D:\WorkBench\MES-WEB-API\WebAPI\Properties\PublishProfiles\FolderProfile4.pubxml</NameOfLastUsedPublishProfile> <ProjectView>ShowAllFiles</ProjectView> </PropertyGroup> <ProjectExtensions>