得益于企业微信项目上的积累,U9C之OPENAPI阻碍因素迎刃而解了。可以开始自已独立做一些外挂的项目。
准备:
在 U9C 系统用 EA 账号创建 API 应用,如MES OA HR PLM等,获取到 clientid 与 clientsecret。参照U9C的官网。

再获得token

按照官网上指供的指引,传入必须的参数,就可以实现需要的功能。如与MES PLM 企业微信等工具做数据交互了。具体案例以后贴出来吧。
using System.Net.Http; using Newtonsoft.Json; // 1. 获取授权码 var client = new HttpClient(); var authReq = new HttpRequestMessage(HttpMethod.Get, "http://your-u9c-server/u9c/webapi/OAuth2/GetAuthorizeCode?clientid=AP&clientsecret=xxx"); var authResp = await client.SendAsync(authReq); var authBody = await authResp.Content.ReadAsStringAsync(); var authData = JsonConvert.DeserializeObject<dynamic>(authBody); var authorizeCode = authData.authorizeCode; // 2. 登录获取Token var loginReq = new HttpRequestMessage(HttpMethod.Get, $"http://your-u9c-server/u9c/webapi/OAuth2/Login?authorizeCode={authorizeCode}"); var loginResp = await client.SendAsync(loginReq); var loginBody = await loginResp.Content.ReadAsStringAsync(); var token = JsonConvert.DeserializeObject<dynamic>(loginBody).token; // 3. 调用PR/Create创建请购单 var prClient = new HttpClient(); prClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}"); var prData = new { OrgCode = "01", Requester = "张三", PRLine = new[] { new { ItemCode = "M001", Qty = 10, Unit = "PC" } } }; var prReq = new HttpRequestMessage(HttpMethod.Post, "http://your-u9c-server/u9c/webapi/PR/Create") { Content = new StringContent(JsonConvert.SerializeObject(prData), System.Text.Encoding.UTF8, "application/json") }; var prResp = await prClient.SendAsync(prReq);
1571

被折叠的 条评论
为什么被折叠?



