GAC-CMS

广新公共模块


广汽二期--公共模块对外接口

<p>[TOC]</p> <h1>广新二期 公共模块接口文档</h1> <table> <thead> <tr> <th>版本</th> <th>时间</th> <th>修改人</th> <th>备注</th> </tr> </thead> <tbody> <tr> <td>V2.1</td> <td>2022813</td> <td>谢凤胜</td> <td>修改获取用户信息接口</td> </tr> <tr> <td>V2.2</td> <td>2022824</td> <td>谢凤胜</td> <td>更新测试环境地址</td> </tr> </tbody> </table> <h1>广汽应用系统对接前置说明</h1> <ol> <li>广新二期项目登录修改为 <strong>公共模块对接广汽的IAM SSO</strong>,之前有接入公共模块登录的应用系统,注释掉之前对接的代码,只留下通过token获取用户信息接口;</li> <li>二期角色,权限设置不变</li> </ol> <p>外网在线接口文档地址: <a href="https://www.showdoc.com.cn/gaccms">https://www.showdoc.com.cn/gaccms</a></p> <h1>【腾讯文档】公共模块对接说明文档</h1> <p><a href="https://docs.qq.com/slide/DT2pISWJKVklsVUVp">https://docs.qq.com/slide/DT2pISWJKVklsVUVp</a></p> <p>公网开发环境: 一期:<a href="http://cms.gp2dev.fii-fmc.com/">http://cms.gp2dev.fii-fmc.com/</a> 二期:<a href="http://cms2.gp2dev.fii-fmc.com">http://cms2.gp2dev.fii-fmc.com</a> 账密: //提示修改密码的,请修改为 Gac123456!! t202180 Gac123456!! 冲压 t202206 Gac123456!! 冲压 t202207 Gac123456!! 冲压 t202208 Gac123456!! 冲压 2厂 t202183 Gac123456!! 总装 t202184 Gac123456!! 总装 t202218 Gac123456!! 总装 2厂 t202182 Gac123456!! 涂装 2厂 t202200 Gac123456!! 涂装 t202201 Gac123456!! 涂装 t202181 Gac123456!! 焊装 t202203 Gac123456!! 焊装 t202217 Gac123456!! 焊装 2厂 t202216 Gac123456!! 焊装 t202219 Gac123456!! 电池 t202205 Gac123456!! 电池 t202204 Gac123456!! 电池 t202202 Gac123456!! 电池</p> <p>APP登录账号: t202181/123456 t202182/123456 t202183/123456 t202180/123456 t202206/123456 t202207/123456 t202208/123456</p> <p>广汽环境: 测试环境(广汽内网):<a href="https://test-p2-cms.10-102-12-52.sslip.io">https://test-p2-cms.10-102-12-52.sslip.io</a> 账密: t202159/Gac123456@@test 无车间 t202157/Gac123456@@test 冲压 t202156/Gac123456@@test 焊装 t202145/Gac123456@@test涂装 t202160/Gac123456@@test总装</p> <p>更多账号请查看,修改密码后请登记 【腾讯文档】IAM_用户数据_临时账号_测试环境 <a href="https://docs.qq.com/sheet/DT0VieVZuTFpyRE1a?tab=BB08J2">https://docs.qq.com/sheet/DT0VieVZuTFpyRE1a?tab=BB08J2</a></p> <p>生产环境:<a href="https://aimsii.gacne.com.cn/">https://aimsii.gacne.com.cn/</a> 账密: t202180/Gac123456!! t202181/Gac123456!!</p> <p>IAM SSO登录(浏览器新标签打开时判断到用户未登录时) 测试环境:<a href="https://iamdev.gacne.com.cn:4443/oauth2/rest/authz?response_type=code&amp;client_id=792e9c2eaa344188a89eb09fc4be9c16&amp;domain=IAMDomain&amp;state=smart_factory&amp;scope=IAMResource.UserProfile.me">https://iamdev.gacne.com.cn:4443/oauth2/rest/authz?response_type=code&amp;client_id=792e9c2eaa344188a89eb09fc4be9c16&amp;domain=IAMDomain&amp;state=smart_factory&amp;scope=IAMResource.UserProfile.me</a> openid email phone profile&amp;redirect_uri=<a href="http://test-p2-cms.10-102-12-52.sslip.io/cms/main">http://test-p2-cms.10-102-12-52.sslip.io/cms/main</a> 生产环境: <a href="https://iam.gacne.com.cn:4443/oauth2/rest/authz?response_type=code&amp;client_id=0f09b8d1d25a43bc94e7f8f61607e209&amp;domain=IAMDomain&amp;state=smart_factory&amp;scope=IAMResource.UserProfile.me">https://iam.gacne.com.cn:4443/oauth2/rest/authz?response_type=code&amp;client_id=0f09b8d1d25a43bc94e7f8f61607e209&amp;domain=IAMDomain&amp;state=smart_factory&amp;scope=IAMResource.UserProfile.me</a> openid email phone profile&amp;redirect_uri=<a href="https://aimsii.gacne.com.cn/cms/main">https://aimsii.gacne.com.cn/cms/main</a></p> <p>IAM SSO 退出:(浏览器新标签打开时单独需要退出时) 测试环境:[GET] <a href="https://iamdev.gacne.com.cn:4443/oam/server/logout?end_url=https://iamdev.gacne.com.cn:4443/ssologin/login.jsp">https://iamdev.gacne.com.cn:4443/oam/server/logout?end_url=https://iamdev.gacne.com.cn:4443/ssologin/login.jsp</a> 生产环境:[GET] <a href="https://iam.gacne.com.cn:4443/oam/server/logout?end_url=https://iam.gacne.com.cn:4443/ssologin/login.jsp">https://iam.gacne.com.cn:4443/oam/server/logout?end_url=https://iam.gacne.com.cn:4443/ssologin/login.jsp</a></p> <h1>一. 应用注册</h1> <p>应用接入的Client_ID,Client_Secret信息,需要在应用注册页面进行填写信息后,得到相应的信息。 接入应用有三种情况:</p> <ol> <li>只接入用户登录鉴权 在应用注册页面中,只输入应用名,应用地址,选择应用类型,点击【确定】按钮进行保存。 添加的应用会在登录成功后,主页面左侧菜单中出现应用名,点击后跳转到相应的应用链接</li> <li>接入用户登录鉴权+菜单链接 在应用注册页面中,输入应用名,应用地址,勾选接入模块 “统一菜单集成”,输入菜单地址 菜单地址返回数据格式请按以下格式: <pre><code>{     &amp;quot;code&amp;quot;: 0,     &amp;quot;message&amp;quot;:&amp;quot;&amp;quot;,     &amp;quot;payload&amp;quot;: [{         &amp;quot;id&amp;quot;:&amp;quot;1&amp;quot;,//ID为字符型         &amp;quot;parentId&amp;quot;:&amp;quot;0&amp;quot;,//父ID, 根节点为0值         &amp;quot;name&amp;quot;:&amp;quot;设备管理&amp;quot;,//菜单名         &amp;quot;url&amp;quot;:&amp;quot;&amp;quot;//菜单相对地址,如果是目录,URL值给&amp;quot;&amp;quot;     }, {         &amp;quot;id&amp;quot;:&amp;quot;2&amp;quot;,         &amp;quot;parentId&amp;quot;:&amp;quot;1&amp;quot;,         &amp;quot;name&amp;quot;:&amp;quot;设备列表&amp;quot;,//菜单名         &amp;quot;url&amp;quot;:&amp;quot;/equipment/list&amp;quot;//菜单相对地址     },     {....}]   }</code></pre></li> <li>接入用户登录鉴权+菜单链接+权限设置 在应用注册页面中,输入应用名,应用地址,勾选接入模块 “统一菜单集成”,输入菜单地址,勾选“统一权限管理” 后继权限资源录入,权限设置统一在公共模块进行,具体权限设置查看权限管理</li> </ol> <h1>二. 用户相关</h1> <ul> <li> <h2>1. 获取当前登录用户信息[Token值由前端接收到后调用后台接口,后台请求公共模块]</h2> <p>前端获取Token方法详见 <a href="https://docs.qq.com/slide/DT2pISWJKVklsVUVp">https://docs.qq.com/slide/DT2pISWJKVklsVUVp</a> 文档 5,6,7页 说明</p> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/oauth/current/user</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>POST /x-www-form-urlencoded </li> </ul> <p><strong>参数:</strong> </p> <pre><code>token:&amp;quot;xxxx&amp;quot; </code></pre> <p><strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: { &amp;quot;index&amp;quot;: null, &amp;quot;id&amp;quot;: &amp;quot;6c6330b7-8cfc-4ade-9e11-5428d7fa574a&amp;quot;, &amp;quot;domain&amp;quot;: &amp;quot;冲压车间&amp;quot;, --车间 &amp;quot;account&amp;quot;: &amp;quot;t202102&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;邹世钦&amp;quot;, &amp;quot;sex&amp;quot;: &amp;quot;男&amp;quot;, &amp;quot;mobile&amp;quot;: &amp;quot;13560227456&amp;quot;, &amp;quot;email&amp;quot;: &amp;quot;default@gacne.com.cn&amp;quot;, &amp;quot;category&amp;quot;: &amp;quot;直间人员&amp;quot;, &amp;quot;position&amp;quot;: &amp;quot;设备技术员&amp;quot;, &amp;quot;onboardingTime&amp;quot;: &amp;quot;2017/10/01&amp;quot;, &amp;quot;status&amp;quot;: 0, &amp;quot;superiorId&amp;quot;: null, &amp;quot;superior&amp;quot;: null, &amp;quot;superiorName&amp;quot;: null, &amp;quot;agentId&amp;quot;: null, &amp;quot;agent&amp;quot;: null, &amp;quot;agentName&amp;quot;: null, &amp;quot;orgCode&amp;quot;: &amp;quot;10000005&amp;quot;, &amp;quot;orgName&amp;quot;: &amp;quot;冲压车间&amp;quot;, &amp;quot;technicalList&amp;quot;: [], &amp;quot;roleList&amp;quot;: [ { &amp;quot;id&amp;quot;: &amp;quot;3&amp;quot;, &amp;quot;roleName&amp;quot;: &amp;quot;所有人&amp;quot;, &amp;quot;enable&amp;quot;: 0, &amp;quot;count&amp;quot;: null, &amp;quot;delete&amp;quot;: 1 } ], &amp;quot;authorityInfo&amp;quot;: [--权限集合 { &amp;quot;appId&amp;quot;: &amp;quot;5f934999-26a2-4de7-b563-fc8204257582&amp;quot;, &amp;quot;appName&amp;quot;: &amp;quot;系统管理&amp;quot;, &amp;quot;clientId&amp;quot;: &amp;quot;084ad33e-cbf6-4f3c-95f5-033a58c3f517&amp;quot;, &amp;quot;authorityInfo&amp;quot;: [--具体应用权限集 { &amp;quot;id&amp;quot;: &amp;quot;2&amp;quot;, &amp;quot;modelName&amp;quot;: &amp;quot;系统管理&amp;quot;, &amp;quot;modelParentId&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;resourceId&amp;quot;: null, &amp;quot;resourceName&amp;quot;: null, &amp;quot;status&amp;quot;: 0, &amp;quot;other&amp;quot;: null, &amp;quot;appId&amp;quot;: &amp;quot;5f934999-26a2-4de7-b563-fc8204257582&amp;quot;, &amp;quot;appName&amp;quot;: &amp;quot;系统管理&amp;quot;, &amp;quot;clientId&amp;quot;: &amp;quot;084ad33e-cbf6-4f3c-95f5-033a58c3f517&amp;quot;, &amp;quot;factoryCode&amp;quot;:1 }, { &amp;quot;id&amp;quot;: &amp;quot;fdb3c4f2-0de0-46da-b98d-7185b2c3cd1c&amp;quot;, &amp;quot;modelName&amp;quot;: &amp;quot;角色管理&amp;quot;, &amp;quot;modelParentId&amp;quot;: &amp;quot;2&amp;quot;, &amp;quot;resourceId&amp;quot;: &amp;quot;SYS-ROLE-M&amp;quot;, &amp;quot;resourceName&amp;quot;: &amp;quot;角色管理&amp;quot;, &amp;quot;status&amp;quot;: 0, &amp;quot;other&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;appId&amp;quot;: &amp;quot;5f934999-26a2-4de7-b563-fc8204257582&amp;quot;, &amp;quot;appName&amp;quot;: &amp;quot;系统管理&amp;quot;, &amp;quot;clientId&amp;quot;: &amp;quot;084ad33e-cbf6-4f3c-95f5-033a58c3f517&amp;quot;, &amp;quot;factoryCode&amp;quot;:1 }, { &amp;quot;id&amp;quot;: &amp;quot;42f692f4-2369-4f2f-9ae7-d6a1185430db&amp;quot;, &amp;quot;modelName&amp;quot;: &amp;quot;查看用户&amp;quot;, &amp;quot;modelParentId&amp;quot;: &amp;quot;c5c97f91-3c72-4f54-8909-5a8960c430df&amp;quot;, &amp;quot;resourceId&amp;quot;: &amp;quot;SYS-ORG-USER&amp;quot;, &amp;quot;resourceName&amp;quot;: &amp;quot;查看用户&amp;quot;, &amp;quot;status&amp;quot;: 0, &amp;quot;other&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;appId&amp;quot;: &amp;quot;5f934999-26a2-4de7-b563-fc8204257582&amp;quot;, &amp;quot;appName&amp;quot;: &amp;quot;系统管理&amp;quot;, &amp;quot;clientId&amp;quot;: &amp;quot;084ad33e-cbf6-4f3c-95f5-033a58c3f517&amp;quot; }, { ...... } ] } ], &amp;quot;factoryCode&amp;quot;: 1, -- 厂区,1-一厂,2-二厂 &amp;quot;theme&amp;quot;: null-- 主题,用户没有设置则应用使用默认主题 } }</code></pre> <ul> <li> <h2>2.批量获取指定用户信息【2023-01-07修改】</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/oauth/info/accounts?accounts=xxx,xxx</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li> <p>GET</p> <pre><code>Authorization:xxxx 【2023-01-07修改】</code></pre> <p><strong>返回示例</strong></p> </li> </ul> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: [ { &amp;quot;account&amp;quot;: &amp;quot;180100&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;蔡龙德&amp;quot;, &amp;quot;mobile&amp;quot;: &amp;quot;18033160837&amp;quot;, &amp;quot;email&amp;quot;: &amp;quot;default@gacne.com.cn&amp;quot; }, { &amp;quot;account&amp;quot;: &amp;quot;18901&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;张三&amp;quot;, &amp;quot;mobile&amp;quot;: &amp;quot;10086&amp;quot;, &amp;quot;email&amp;quot;: &amp;quot;default@gac.com&amp;quot; } ] }</code></pre> <ul> <li> <h2>3.1 批量获取用户信息(只返回姓名,工号,厂区,组织代码,组织名称, 上级主管,上级主管工号)</h2> <p>【适用场景:下拉选择用户,同步数据基础信息】</p> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/open/oauth/user/message?account=xxxx&amp;amp;pageNum=1&amp;amp;pageSize=10</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li> <p>GET</p> <p><strong>返回示例</strong></p> <pre><code>{     &amp;quot;code&amp;quot;: 0,     &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;,     &amp;quot;payload&amp;quot;: {         &amp;quot;page&amp;quot;: true,         &amp;quot;count&amp;quot;: 1,         &amp;quot;pageCount&amp;quot;: 1,         &amp;quot;pageNum&amp;quot;: 1,         &amp;quot;pageSize&amp;quot;: 10,         &amp;quot;data&amp;quot;: [             {                 &amp;quot;index&amp;quot;: null,                 &amp;quot;id&amp;quot;: null,                 &amp;quot;domain&amp;quot;: null,                 &amp;quot;account&amp;quot;: &amp;quot;170300&amp;quot;,                 &amp;quot;username&amp;quot;: &amp;quot;王鹏洋&amp;quot;,                 &amp;quot;sex&amp;quot;: null,                 &amp;quot;mobile&amp;quot;: null,                 &amp;quot;email&amp;quot;: null,                 &amp;quot;category&amp;quot;: null,                 &amp;quot;position&amp;quot;: null,                 &amp;quot;onboardingTime&amp;quot;: null,                 &amp;quot;status&amp;quot;: 0,                 &amp;quot;superiorId&amp;quot;: null,                 &amp;quot;superior&amp;quot;: &amp;quot;t10086&amp;quot;, --上级主管工号                 &amp;quot;superiorName&amp;quot;: &amp;quot;张三&amp;quot;, --上级主管姓名                 &amp;quot;agentId&amp;quot;: null,                 &amp;quot;agent&amp;quot;: null,                 &amp;quot;agentName&amp;quot;: null,                 &amp;quot;orgCode&amp;quot;: &amp;quot;10010415&amp;quot;,                 &amp;quot;orgName&amp;quot;: &amp;quot;工厂规划、数字化&amp;quot;,                 &amp;quot;roleName&amp;quot;: null,                 &amp;quot;technicalList&amp;quot;: null,                 &amp;quot;roleList&amp;quot;: null,                 &amp;quot;authorityInfo&amp;quot;: null,                 &amp;quot;localRes&amp;quot;: null,                 &amp;quot;factoryCode&amp;quot;: 0,                 &amp;quot;theme&amp;quot;: null,                 &amp;quot;accessToken&amp;quot;: null,                 &amp;quot;orgIds&amp;quot;: null             }         ]     },     &amp;quot;success&amp;quot;: true }</code></pre> </li> <li> <h2>3.2 批量获取用户信息(请输入多些条件进行查询)</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/open/oauth/user/list?account=xxxx&amp;amp;domain=&amp;amp;factoryCode=1&amp;amp;orgCode=&amp;amp;pageNum=1&amp;amp;pageSize=10</code> 【2023/01/31更新:增加account、domain、orgCode至少输入一个搜索条件限制】</li> </ul> <p><strong>请求方式:</strong></p> <ul> <li> <p>GET</p> <p><strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: { &amp;quot;page&amp;quot;: true, &amp;quot;count&amp;quot;: 1, &amp;quot;pageCount&amp;quot;: 1, &amp;quot;pageNum&amp;quot;: 1, &amp;quot;pageSize&amp;quot;: 10, &amp;quot;data&amp;quot;: [{ &amp;quot;index&amp;quot;: null, &amp;quot;id&amp;quot;: null, &amp;quot;domain&amp;quot;: &amp;quot;涂装&amp;quot;, &amp;quot;account&amp;quot;: &amp;quot;t202180&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;测试管理员(生产环境)&amp;quot;, &amp;quot;sex&amp;quot;: null, &amp;quot;mobile&amp;quot;: null, &amp;quot;email&amp;quot;: &amp;quot;abc@123.com&amp;quot;, &amp;quot;category&amp;quot;: null, &amp;quot;position&amp;quot;: null, &amp;quot;onboardingTime&amp;quot;: null, &amp;quot;status&amp;quot;: 0, &amp;quot;superiorId&amp;quot;: null, &amp;quot;superior&amp;quot;: &amp;quot;t202207&amp;quot;, &amp;quot;superiorName&amp;quot;: &amp;quot;沈宁远&amp;quot;, &amp;quot;agentId&amp;quot;: null, &amp;quot;agent&amp;quot;: null, &amp;quot;agentName&amp;quot;: null, &amp;quot;orgCode&amp;quot;: null, &amp;quot;orgName&amp;quot;: null, &amp;quot;roleName&amp;quot;: &amp;quot;冲压物流一厂生产班长,科长(物流),物流最后审核人,测试1,品质组长(物流),保全组长(焊装),安东管理员,设备web管理员,安东App管理员,冲压物流一厂品质组长,仓库管理员,生产系长(物流),冲压质量管理员,冲压物流一厂科长,生产计划员(物流),普通管理员12,冲压物流一厂生产系长,质量管理员-test,设备APP(测试模具点检)不要动,权限资源管理员,公共模块测试2,ABC,物流第一审核人,模具APP,模具Web管理员,冲压物流一厂材料管理员,冲压物流一厂生产组长,amy-test33-999,test,冲压物流一厂申请系系长,设备技术员(焊装),测试二个厂区权限,角色&amp;amp;组织管理测试,pan1,aviAPP管理员,公共模块测试,模具APP管理员,系统管理/一般管理员,pan2,智能安灯一厂冲压管理员,智能安灯一厂焊装管理员,智能安灯一厂涂装管理员,智能安灯一厂总装管理员,智能安灯一厂冲压操作员,智能安灯一厂焊&amp;quot;, &amp;quot;technicalList&amp;quot;: null, &amp;quot;roleList&amp;quot;: null, &amp;quot;authorityInfo&amp;quot;: null, &amp;quot;localRes&amp;quot;: null, &amp;quot;factoryCode&amp;quot;: 1, &amp;quot;theme&amp;quot;: null, &amp;quot;accessToken&amp;quot;: null }] }, &amp;quot;success&amp;quot;: true }</code></pre> </li> <li> <h2>4.传入用户工号获取下属信息【2023-01-07修改】</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/oauth/sbordinate/info?account=xxxx</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET</li> </ul> <pre><code> Authorization:xxxx 【2023-01-07修改】</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: [ { &amp;quot;account&amp;quot;: &amp;quot;180296&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;沈宁远&amp;quot;, &amp;quot;mobile&amp;quot;: &amp;quot;18257220813&amp;quot;, &amp;quot;email&amp;quot;: &amp;quot;default@gacne.com.cn&amp;quot; }, { &amp;quot;account&amp;quot;: &amp;quot;170345&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;李赞云&amp;quot;, &amp;quot;mobile&amp;quot;: &amp;quot;10086&amp;quot;, &amp;quot;email&amp;quot;: &amp;quot;111113@gacne.com.cn&amp;quot; } ] }</code></pre> <ul> <li> <h2>5.传入用户工号获取上级主管</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/open/oauth/user/list/param?account=xxxx</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li> <p>GET</p> <pre><code>参数:account= 工号</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: [{ &amp;quot;superior&amp;quot;: &amp;quot;t202180&amp;quot;, &amp;quot;superiorName&amp;quot;: &amp;quot;测试管理员(生产环境)&amp;quot; }], &amp;quot;success&amp;quot;: true }</code></pre> </li> <li> <h2>6.APP重置密码</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/oauth/editPassword</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li> <p>POST/form-data ```{ &quot;account&quot;:&quot;xxx&quot;,//工号 &quot;onboardingTime&quot;:&quot;&quot;,//入厂日期 &quot;email&quot;:&quot;&quot;,//邮箱 &quot;password&quot;:&quot;xxxx&quot;//密码 }</p> <pre><code> **返回示例**</code></pre> </li> </ul> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;&amp;quot;,--输入的入厂日期和邮箱与工号不匹配时修改失败信息 &amp;quot;payload&amp;quot;: {} }</code></pre> <ul> <li> <h2>7.APP接入登录</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/oauth/token</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li> <p>POST/form-data</p> <pre><code>grant_type:password, username:{用户名}, password:{密码}, client_id:{client},-- 应用注册时返回的Client client_secret:{secret} --应用注册时返回的Secret</code></pre> <p><strong>返回示例</strong></p> </li> </ul> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;payload&amp;quot;: {} }</code></pre> <ul> <li> <h2>8. APP退出登录</h2> <p><strong>请求URL:</strong> </p> </li> <li><code>http://{host:port}/oauth/logout</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET</li> </ul> <p><strong>参数:</strong> header: Authorization: &quot;Bearer {token}&quot; --Header传入token</p> <ul> <li> <h2>9. Web端退出登录</h2> <p>【公共模块退出,PostMessage 消息给到各打开的Tab页面】 前端 =&gt; 调用自己应用的后台接口 =&gt; 公共模块退出接口 =&gt; 返回成功状态 =&gt; 后台删除Redis等缓存信息 =&gt; 前端删除用户信息</p> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/oauth/current/user/exit</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>POST</li> </ul> <p><strong>参数:</strong> token <strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;&amp;quot;, &amp;quot;payload&amp;quot;: {} }</code></pre> <h1>三. 角色管理</h1> <ul> <li> <h2>3.1 获取角色列表【2023-01-07修改】</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/role/role/list?roleName=&amp;amp;isAll=all</code> -- isAll=all 查所有角色,如果不传或其它值,则默认查当前用户角色</li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET </li> </ul> <p><strong>参数:</strong> ```header中加入 Authorization:xxxx 【2023-01-07修改】</p> <pre><code> **返回示例** </code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: [ { &quot;index&quot;: 1, &quot;id&quot;: &quot;2&quot;, &quot;roleName&quot;: &quot;系统管理员&quot;, -- 角色名 &quot;status&quot;: 0, --状态,0正常,1禁用 &quot;isEdit&quot;: 1, --是否可修改 &quot;count&quot;: 1 --角色下人数 } ] }</p> <pre><code> - ## 3.2 获取角色下用户列表【2023-01-07修改】 **请求URL:** - ` http://{host:port}/oauth/user/list` -- 修改请求接口 **请求方式:** - POST ```header中加入 Authorization:xxxx 【2023-01-07修改】</code></pre> <p><strong>请求参数:</strong></p> <pre><code>{   &amp;quot;pageNum&amp;quot;: 1,   &amp;quot;pageSize&amp;quot;: 10,   &amp;quot;roleId&amp;quot;: &amp;quot;a29d8e41-c2b7-4430-a0c9-fed7bdbbefc9&amp;quot; }</code></pre> <p><strong>返回示例</strong></p> <pre><code>{     &amp;quot;code&amp;quot;: 0,     &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;,     &amp;quot;payload&amp;quot;: {         &amp;quot;count&amp;quot;: 1,         &amp;quot;pageCount&amp;quot;: 1,         &amp;quot;pageNum&amp;quot;: 1,         &amp;quot;pageSize&amp;quot;: 20,         &amp;quot;data&amp;quot;: [             {                 &amp;quot;index&amp;quot;: 1,                 &amp;quot;id&amp;quot;: &amp;quot;8052de52-e45e-4ae6-9a40-a4c1980c79261&amp;quot;,                 &amp;quot;domain&amp;quot;: &amp;quot;焊装&amp;quot;,                 &amp;quot;account&amp;quot;: &amp;quot;t202182&amp;quot;,                 &amp;quot;username&amp;quot;: &amp;quot;陆伟泉&amp;quot;,                 &amp;quot;sex&amp;quot;: &amp;quot;1&amp;quot;,                 &amp;quot;mobile&amp;quot;: &amp;quot;889220&amp;quot;,                 &amp;quot;email&amp;quot;: &amp;quot;1443@gac.com&amp;quot;,                 &amp;quot;category&amp;quot;: &amp;quot;直接&amp;quot;,                 &amp;quot;position&amp;quot;: &amp;quot;大灯调整生产员&amp;quot;,                 &amp;quot;onboardingTime&amp;quot;: &amp;quot;2019/12/02&amp;quot;,                 &amp;quot;status&amp;quot;: 0,                 &amp;quot;superiorId&amp;quot;: &amp;quot;85fcfbf5-79f3-4de5-8a9f-db7254e4a2d2&amp;quot;,                 &amp;quot;superior&amp;quot;: &amp;quot;t202200&amp;quot;,                 &amp;quot;superiorName&amp;quot;: &amp;quot;石紫文&amp;quot;,                 &amp;quot;agentId&amp;quot;: null,                 &amp;quot;agent&amp;quot;: null,                 &amp;quot;agentName&amp;quot;: null,                 &amp;quot;orgCode&amp;quot;: null,                 &amp;quot;orgName&amp;quot;: null,                 &amp;quot;roleName&amp;quot;: null,                 &amp;quot;technicalList&amp;quot;: [],                 &amp;quot;roleList&amp;quot;: [                     {                         &amp;quot;id&amp;quot;: &amp;quot;04bb25c1-9ae9-4d4f-9ade-46879e19c935&amp;quot;,                         &amp;quot;roleName&amp;quot;: &amp;quot;CopyMAGA&amp;quot;,                         &amp;quot;role&amp;quot;: &amp;quot;ROLE_USER&amp;quot;,                         &amp;quot;enable&amp;quot;: 0,                         &amp;quot;count&amp;quot;: null,                         &amp;quot;delete&amp;quot;: 0,                         &amp;quot;roleTag&amp;quot;: null,                         &amp;quot;createBy&amp;quot;: null                     }                 ],                 &amp;quot;authorityInfo&amp;quot;: null,                 &amp;quot;localRes&amp;quot;: null,                 &amp;quot;factoryCode&amp;quot;: 1,                 &amp;quot;theme&amp;quot;: &amp;quot;blue&amp;quot;,                 &amp;quot;accessToken&amp;quot;: null,                 &amp;quot;orgIds&amp;quot;: null             }         ]     },     &amp;quot;success&amp;quot;: true }</code></pre> <h1>四. 组织管理</h1> <ul> <li> <h2>4.1 获取组织列表 【2023-01-07修改】</h2> </li> </ul> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/open/org/list?organizeName=</code> -- 树型结构, 开放接口,不需要token 【2023-01-10 增加】</li> <li><code>http://{host:port}/organize/org/ping/list</code> -- 平铺结构</li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET </li> </ul> <p>```header中加入 Authorization:xxxx 【2023-01-07修改】</p> <pre><code> **返回示例** </code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: [ { &quot;orgCode&quot;: &quot;10000001&quot;, &quot;orgName&quot;: &quot;广汽埃安&quot;, &quot;orgEnName&quot;: &quot;GACNE&quot;, &quot;orgLevel&quot;: null, &quot;orgLevelName&quot;: &quot;公司&quot;, &quot;activeDate&quot;: null, &quot;endDate&quot;: null, &quot;fullOrgCode&quot;: null, &quot;fullOrgName&quot;: null, &quot;parentOrgCode&quot;: &quot;0&quot;, &quot;parentOrgName&quot;: null, &quot;status&quot;: &quot;ENABLE&quot;, &quot;factoryCode&quot;: null, &quot;costCenter&quot;: null, &quot;costCenterName&quot;: null, &quot;account&quot;: &quot;180105&quot;, &quot;accountName&quot;: &quot;欧阳文&quot;, &quot;organizeVOList&quot;: [ { &quot;orgCode&quot;: &quot;10000002&quot;, &quot;orgName&quot;: &quot;广汽埃安新能源汽车有限公司&quot;, &quot;orgEnName&quot;: &quot;GACNE&quot;, &quot;orgLevel&quot;: null, &quot;orgLevelName&quot;: &quot;公司&quot;, &quot;activeDate&quot;: null, &quot;endDate&quot;: null, &quot;fullOrgCode&quot;: null, &quot;fullOrgName&quot;: null, &quot;parentOrgCode&quot;: &quot;10000001&quot;, &quot;parentOrgName&quot;: null, &quot;status&quot;: &quot;ENABLE&quot;, &quot;factoryCode&quot;: null, &quot;costCenter&quot;: null, &quot;costCenterName&quot;: null, &quot;account&quot;: &quot;180128&quot;, &quot;accountName&quot;: &quot;陆光维&quot;, &quot;organizeVOList&quot;: [ { &quot;orgCode&quot;: &quot;10000003&quot;, &quot;orgName&quot;: &quot;第一智造中心&quot;, &quot;orgEnName&quot;: &quot;GACNE&quot;, &quot;orgLevel&quot;: null, &quot;orgLevelName&quot;: &quot;制造处&quot;, &quot;activeDate&quot;: null, &quot;endDate&quot;: null, &quot;fullOrgCode&quot;: null, &quot;fullOrgName&quot;: null, &quot;parentOrgCode&quot;: &quot;10000002&quot;, &quot;parentOrgName&quot;: null, &quot;status&quot;: &quot;ENABLE&quot;, &quot;factoryCode&quot;: null, &quot;costCenter&quot;: null, &quot;costCenterName&quot;: null, &quot;account&quot;: &quot;180105&quot;, &quot;accountName&quot;: &quot;欧阳文&quot;, &quot;organizeVOList&quot;: [ { &quot;orgCode&quot;: &quot;10000005&quot;, &quot;orgName&quot;: &quot;冲压车间&quot;, &quot;orgEnName&quot;: &quot;GACNE&quot;, &quot;orgLevel&quot;: null, &quot;orgLevelName&quot;: &quot;车间&quot;, &quot;activeDate&quot;: null, &quot;endDate&quot;: null, &quot;fullOrgCode&quot;: null, &quot;fullOrgName&quot;: null, &quot;parentOrgCode&quot;: &quot;10000003&quot;, &quot;parentOrgName&quot;: null, &quot;status&quot;: &quot;ENABLE&quot;, &quot;factoryCode&quot;: null, &quot;costCenter&quot;: &quot;NE502040&quot;, &quot;costCenterName&quot;: null, &quot;account&quot;: &quot;star&quot;, &quot;accountName&quot;: &quot;staro&quot;, &quot;organizeVOList&quot;: null }, { &quot;orgCode&quot;: &quot;10000006&quot;, &quot;orgName&quot;: &quot;焊装车间&quot;, &quot;orgEnName&quot;: &quot;GACNE&quot;, &quot;orgLevel&quot;: null, &quot;orgLevelName&quot;: &quot;车间&quot;, &quot;activeDate&quot;: null, &quot;endDate&quot;: null, &quot;fullOrgCode&quot;: null, &quot;fullOrgName&quot;: null, &quot;parentOrgCode&quot;: &quot;10000003&quot;, &quot;parentOrgName&quot;: null, &quot;status&quot;: &quot;ENABLE&quot;, &quot;factoryCode&quot;: null, &quot;costCenter&quot;: &quot;NE502041&quot;, &quot;costCenterName&quot;: null, &quot;account&quot;: null, &quot;accountName&quot;: null, &quot;organizeVOList&quot;: null } ] }, { &quot;orgCode&quot;: &quot;10000004&quot;, &quot;orgName&quot;: &quot;第二智造中心&quot;, &quot;orgEnName&quot;: &quot;GACNE&quot;, &quot;orgLevel&quot;: null, &quot;orgLevelName&quot;: &quot;制造处&quot;, &quot;activeDate&quot;: null, &quot;endDate&quot;: null, &quot;fullOrgCode&quot;: null, &quot;fullOrgName&quot;: null, &quot;parentOrgCode&quot;: &quot;10000002&quot;, &quot;parentOrgName&quot;: null, &quot;status&quot;: &quot;ENABLE&quot;, &quot;factoryCode&quot;: null, &quot;costCenter&quot;: null, &quot;costCenterName&quot;: null, &quot;account&quot;: &quot;180128&quot;, &quot;accountName&quot;: &quot;陆光维&quot;, &quot;organizeVOList&quot;: null } ] } ] } ] }</p> <pre><code> - ## 4.2 获取组织下用户列表 参数详见【## 3.2 批量获取用户信息】传入具体的orgcode - ## 4.3 获取指定组织信息 **请求URL:** - ` http://{host:port}/open/organize/info/new?orgCode=xxx ` **请求方式:** - GET **返回示例** </code></pre> <p>{     &quot;code&quot;: 0,     &quot;errmsg&quot;: &quot;Success&quot;,     &quot;payload&quot;: {         &quot;orgCode&quot;: &quot;10010414&quot;,         &quot;orgName&quot;: &quot;冲压&quot;,         &quot;orgEnName&quot;: &quot;GACNE&quot;,         &quot;orgLevel&quot;: &quot;3&quot;,         &quot;orgLevelName&quot;: &quot;科&quot;,         &quot;activeDate&quot;: &quot;2021-10-22 00:00:00&quot;,         &quot;endDate&quot;: &quot;9999-12-31 00:00:00&quot;,         &quot;fullOrgCode&quot;: &quot;10000000&gt;10000001&gt;10000055&gt;10000073&gt;10010414&quot;,         &quot;fullOrgName&quot;: &quot;广汽埃安&gt;广汽埃安新能源汽车有限公司&gt;整车技术中心&gt;工艺部&gt;冲压&quot;,         &quot;parentOrgCode&quot;: &quot;10000073&quot;,         &quot;parentOrgName&quot;: &quot;工艺部&quot;,         &quot;status&quot;: &quot;ENABLE&quot;,         &quot;factoryCode&quot;: &quot;0&quot;,         &quot;costCenter&quot;: null,         &quot;costCenterName&quot;: null,         &quot;account&quot;: null,         &quot;accountName&quot;: null,         &quot;userId&quot;: null,         &quot;createTime&quot;: null,         &quot;isExcel&quot;: null,         &quot;organizeVOList&quot;: null     },     &quot;success&quot;: true }</p> <pre><code> # 五. 权限资源管理 应客户胡锡雄提的需求,广汽所有应用,权限统一管理,统一配置,用户,角色可以一下看到他在各应用下的权限。 当页面没有权限时,页面跳转到404,提示“您所访问的资源不存在”; 当按钮没有权限时,按钮进行隐藏; 当数据没有权限时,后台数据查询不查询出来,页面不显示相应字段或用“/”替代。 - ## 5.1. 添加权限项 **请求URL:** - ` http://{host:port}/auth/add/point ` **请求方式:** - POST **参数:** header: Authorization: &amp;quot;Bearer {token}&amp;quot; --Header传入token body: json</code></pre> <p>{ &quot;appId&quot;: &quot;198e2d8f-d6f1-40df-a2d7-d5943993ccd7&quot;,//应用id &quot;pointParentId&quot;: &quot;fe25a7e4-664f-4f5b-84d6-674f3647c882&quot;, //你节点 &quot;resourceId&quot;: &quot;aps-test&quot;,//资源ID &quot;resourceName&quot;: &quot;测试节点&quot;,//资源名 &quot;pointName&quot;: &quot;测试节点&quot;,//资源名 &quot;other&quot;: &quot;&quot;,//资源说明 &quot;status&quot;: 0//0- 启用,1-禁用 }</p> <pre><code> 返回</code></pre> <p>{ &quot;code&quot;: 0,//0-成功,其它值为失败 &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: null }</p> <pre><code> - ## 5.2. 删除权限项 **请求URL:** - ` http://{host:port}/auth/remove/point ` **请求方式:** - POST **参数:** header: Authorization: &amp;quot;Bearer {token}&amp;quot; --Header传入token body: **Form Data**</code></pre> <p>appId:198e2d8f-d6f1-40df-a2d7-d5943993ccd7 pointId:4dc15397-63fc-46b3-8bd0-317073c21bbb</p> <pre><code> 返回</code></pre> <p>{ &quot;code&quot;: 0,//0-成功,其它值为失败 &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: null }</p> <pre><code> # 六. 统一菜单接入接口 - ## 各应用返回当前登录用户**有权限**的菜单列表 **请求URL示例:** - GET ` http://{host:port}/xxx/getUserMenus ` -- 1. 菜单地址可自定义,GET方式 -- 2. 菜单地址在应用注册时录入到配置中(如果应用注册时勾选了“统一菜单集成”) -- 3. **调用接口Header头Authorization传入&amp;quot;Bearer {Token}&amp;quot;,可用于获取当前用户信息,以验证用户有权限的菜单是哪些** **请求方式:** - GET **返回示例** </code></pre> <p>{ &quot;code&quot;: 0, &quot;message&quot;:&quot;&quot;, &quot;payload&quot;: [{ &quot;id&quot;:&quot;1&quot;, --ID为字符型 &quot;parentId&quot;:&quot;0&quot;, --父ID, 根节点为0值 &quot;name&quot;:&quot;设备管理&quot;,-- 菜单名 &quot;url&quot;:&quot;&quot;--菜单相对地址,如果是目录,URL值给&quot;&quot; }, { &quot;id&quot;:&quot;2&quot;, &quot;parentId&quot;:&quot;1&quot;, &quot;name&quot;:&quot;设备列表&quot;, &quot;url&quot;:&quot;/equipment/list&quot; }] }</p> <pre><code> **返回参数说明** 请&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;**参照上面的格式**&amp;lt;/font&amp;gt;,如果菜单树有多级目录,平铺展开数据,树形菜单由公共模块前端组织 ![](http://10.129.8.22/server/../Public/Uploads/2021-06-18/60cbfb4ba1723.png) ## Q&amp;amp;A: ### 1. 系统已经有自己的左侧菜单和顶部导航,要怎么集成? A: 返回的菜单可加上参数,如 /equipment/list?isHidenFlag=true, 页在打开时,隐藏左侧菜单和顶部导航,做到单独部署也可以有自己的菜单,&amp;quot;isHidenFlag&amp;quot; 参数可系统自行定义 ### 2. 没有做登录对接与权限管理,要怎么处理? A: 先确保本次6.30演示的功能列表,返回,后期对接用户,设置权限,再返回相应用户有权限的菜单 ### 3. 为什么公共模块不增加菜单配置进行统一菜单管理? A: 解偶,应用增加、删除页面自行维护,减少与其它系统的依赖与注册操作 # 七. 消息中心 </code></pre> <p>RabbitMQ 测试环境: gost -L tcp://127.0.1.10:5672/rabbitmq-user-root.rabbitmq-1:5672 -F socks5+mws://gost-mws.10-124-130-142.sslip.io:80 test/123456</p> <pre><code>消息中心采用MQ进行系统解偶,按以下json格式发送消息到 RabbitMQ 服务器中的 gac_message_queue 队列中 ## 7.1 消息格式</code></pre> <p>{ &quot;from&quot;: &quot;设备叫修&quot;, //发送方(必填) &quot;recipient&quot;: &quot;170300&quot;, //接收方(必填):工号,多个用英文逗号隔开 &quot;messageType&quot;: &quot;normal&quot;, //消息类型(必填):normal(普通消息)/todo(待办事项) &quot;subject&quot;: &quot;【设备故障】xxxxxxxxxx&quot;, //消息标题(必填) &quot;message&quot;: &quot;//json字符串(选填),可用于自定义数据呈现,消息中心不呈现给用户&quot;, &quot;content&quot;: &quot;xxxxx,xxxxxx&quot;, //消息内容(必填) 消息内容太长时(&gt;500字时,建议传入下面的URL地址,用户点击查看详情进页面查看) &quot;coverImageUrl&quot;:&quot;<a href="http://图片完整URL地址&quot;,//图片类型时传入图片地址(选填,messagesSendFormart:image">http://图片完整URL地址&quot;,//图片类型时传入图片地址(选填,messagesSendFormart:image</a> 必填) &quot;url&quot;:&quot;&quot;,//链接地址(选填) &quot;time&quot;:&quot;2021-09-09 13:05&quot;//消息发生时间(必填) &quot;sending&quot;: &quot;app,mail,wechat&quot;, //发送途径(必填):app,mail,wechat,多个用英文逗号隔开 &quot;todoId&quot;: &quot;xxxxxxxx&quot;, //待办事项ID(UUID)-当消息类型为todo时必填 &quot;messagesSendFormart&quot;:&quot;news/markdown/image&quot;//消息发送格式,如果没有传,默认news }</p> <pre><code> 待办事项更新状态 发送消息到 gac_message_status_queue 队列</code></pre> <p>[{ &quot;todoId&quot;: &quot;xxxxxxxx&quot;, &quot;status&quot;: 1 //处理中 }, { &quot;todoId&quot;: &quot;xxxxxxxx&quot;, &quot;status&quot;: 2 //已完成 }, { &quot;todoId&quot;: &quot;xxxxxxxx&quot;, &quot;status&quot;: 3 //删除 }]</p> <pre><code> ## 7.2 消息中心接口 ### 7.2.1. 消息列表 **请求URL:** - ` http://{host:port}/message/list?messageType=normal&amp;amp;pageNum=1&amp;amp;pageSize=10&amp;amp;token=dDIwMjE4MA==WEB ` - messageType : normal 站内消息,todo 待办 **请求方式:** - GET **参数:** **返回示例** </code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: { &quot;count&quot;: 40, &quot;pageCount&quot;: 4, &quot;pageNum&quot;: 1, &quot;pageSize&quot;: 10, &quot;data&quot;: [{ &quot;id&quot;: &quot;fa50311d-4551-45ff-9dc4-06a020b6c18e&quot;, &quot;subject&quot;: &quot;安全告知&quot;, &quot;content&quot;: &quot;【安全告知】:工事任务G20210927150558009涉及安全作业,更多注意事项请查看工单详情&quot;, &quot;url&quot;: &quot;<a href="http://106.52.232.176/gx/Urgency/ModelDetail/G20210927150558009&quot">http://106.52.232.176/gx/Urgency/ModelDetail/G20210927150558009&quot</a>;, &quot;status&quot;: &quot;0&quot;, --状态,0-未开始,1-处理中,2-完成 &quot;isRead&quot;: 0, --是否已读 0 未读,1 已读 &quot;receiveDate&quot;: &quot;2021-09-27 23:05:58&quot; }] } }</p> <pre><code> ### 2.2. 删除消息 **请求URL:** - ` http://{host:port}/message/remove ` **请求方式:** - POST **参数:** header: Authorization: &amp;quot;Bearer {token}&amp;quot; Form Data: ids: {消息id} **返回示例** </code></pre> <p>{&quot;code&quot;:0,&quot;errmsg&quot;:&quot;Success&quot;,&quot;payload&quot;:null}</p> <pre><code> # 生产日历 **请求URL:** - ` http://{host:port}/system/product/calendar/list?areaCode=WE&amp;amp;factoryCode=1300&amp;amp;month=2023-04` **请求方式:** - GET **参数:** header: Authorization: &amp;quot;openApi&amp;quot; areaCode= 冲压车间 PR 焊装车间 WE 涂装车间 PA 总装车间 AF 质量车间 VQ factoryCode=1000/1300 // 一厂1000,二厂1300 month=2023-04 //具体月份 **返回示例** </code></pre> <p>shiftCode:0-早班,1-中班 areaCode:原始同步过来的值,可以忽略不用看</p> <pre><code>![](https://www.showdoc.com.cn/server/api/attachment/visitFile?sign=d1952e568d61244e1b10dee66cc8c208&amp;amp;file=file.png) # 八. 知识库 ## 作业文档 ### 8.1. 作业文档接口【2023-01-07修改】 **请求URL:** - ` http://{host:port}/doc/list` **请求方式:** - POST **参数:** ```header中加入 Authorization:xxxx 【2023-01-07修改】</code></pre> <p>body: json</p> <pre><code>{ &amp;quot;key_word&amp;quot;: &amp;quot;xxxx&amp;quot;, //搜索关键字 &amp;quot;page_num&amp;quot;: 1, &amp;quot;page_size&amp;quot;: 20 }</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: { &amp;quot;count&amp;quot;: 22, &amp;quot;pageCount&amp;quot;: 2, &amp;quot;pageNum&amp;quot;: 1, &amp;quot;pageSize&amp;quot;: 20, &amp;quot;data&amp;quot;: [ { &amp;quot;docId&amp;quot;: &amp;quot;37&amp;quot;, //文档ID &amp;quot;docCode&amp;quot;: &amp;quot;Word12&amp;quot;,//文档编号 &amp;quot;docName&amp;quot;: &amp;quot;sdf&amp;quot;,//文档名 &amp;quot;version&amp;quot;: &amp;quot;1&amp;quot;,//文档最新版本号 &amp;quot;docDesc&amp;quot;: &amp;quot;&amp;quot;,//文档描述 &amp;quot;assetType&amp;quot;: &amp;quot;设备&amp;quot;,//资产类型,是设备还是模具 &amp;quot;equipmentType&amp;quot;: &amp;quot;&amp;quot;, //资产类型 &amp;quot;equipmentCode&amp;quot;: &amp;quot;&amp;quot;, //资产代码 &amp;quot;typeName&amp;quot;: &amp;quot;冲压车间文档&amp;quot;,//文档类型 &amp;quot;typeId&amp;quot;: &amp;quot;13&amp;quot;,//文档类型ID &amp;quot;binding&amp;quot;: false, //是否绑定资产 &amp;quot;fileId&amp;quot;: &amp;quot;80&amp;quot;, //附件ID &amp;quot;fileName&amp;quot;: &amp;quot;0820任务Word12sdf1.doc&amp;quot;, //附件名 &amp;quot;preview&amp;quot;: true//是否支持在线预览 } ] } }</code></pre> <h3>8.2. 作业文档 - 附件下载【2023-01-07修改】</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/doc/downloadurl?doc_id={docId}</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>Get </li> </ul> <p><strong>参数:</strong> ```header中加入 Authorization:xxxx 【2023-01-07修改】</p> <pre><code> **返回示例** 使用Payload中返回URL下载文件 </code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: &quot;<a href="http://minio01.10-124-130-142.sslip.io/gac-cms-file/document/DOC1%E6%B8%85%E6%B4%97%E6%9C%BA%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8C1.1_c0006197-fedc-4228-8892-0fbf56dbb3d3.xlsx?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=admin%2F20210915%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20210915T083740Z&amp;X-Amz-Expires=604800&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Signature=f960531fcaffb9ded4697d4920267f6231b6c907e5f05fd2028873367528517e&quot">http://minio01.10-124-130-142.sslip.io/gac-cms-file/document/DOC1%E6%B8%85%E6%B4%97%E6%9C%BA%E6%93%8D%E4%BD%9C%E6%89%8B%E5%86%8C1.1_c0006197-fedc-4228-8892-0fbf56dbb3d3.xlsx?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=admin%2F20210915%2Fus-east-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20210915T083740Z&amp;X-Amz-Expires=604800&amp;X-Amz-SignedHeaders=host&amp;X-Amz-Signature=f960531fcaffb9ded4697d4920267f6231b6c907e5f05fd2028873367528517e&quot</a>; }</p> <pre><code> ### 8.3. 作业文档 - 附件 - 历史版本列表接口【2023-01-07修改】 **请求URL:** - ` http://{host:port}/doc/history?doc_id={作业文档ID}&amp;amp;page_num=1&amp;amp;page_size=10` **请求方式:** - GET **参数:** ```header中加入 Authorization:xxxx 【2023-01-07修改】</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: { &amp;quot;count&amp;quot;: 1, &amp;quot;pageCount&amp;quot;: 1, &amp;quot;pageNum&amp;quot;: 1, &amp;quot;pageSize&amp;quot;: 10, &amp;quot;data&amp;quot;: [ { &amp;quot;doc_id&amp;quot;: &amp;quot;9&amp;quot;, &amp;quot;version&amp;quot;: &amp;quot;1.0&amp;quot;, &amp;quot;file_id&amp;quot;: &amp;quot;10&amp;quot;,//文件ID &amp;quot;file_name&amp;quot;: &amp;quot;DOC1清洗机操作手册1.0.doc&amp;quot;,//附件名 &amp;quot;preview&amp;quot;: false, &amp;quot;update_time&amp;quot;: &amp;quot;2021-08-19 10:19:37&amp;quot; } ] } }</code></pre> <h2>九.培训项目</h2> <h3>9.1. 培训项目列表接口【2023-01-07修改】</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/project/list?keyword={xxxx}&amp;amp;page_num=1&amp;amp;page_size=20</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET </li> </ul> <p><strong>参数:</strong> ```header中加入 Authorization:xxxx 【2023-01-07修改】</p> <pre><code> **返回示例** </code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: { &quot;count&quot;: 4, &quot;pageCount&quot;: 1, &quot;pageNum&quot;: 1, &quot;pageSize&quot;: 20, &quot;data&quot;: [ { &quot;id&quot;: &quot;15&quot;,//培训项目ID &quot;project_code&quot;: &quot;C10201&quot;, //培训项目编号 &quot;project_name&quot;: &quot;设备基本操作&quot;,//培训项目名称 &quot;project_desc&quot;: &quot;&quot;,//培训项目说明 &quot;count&quot;: 2 //课程数量 } ] } }</p> <pre><code> ### 9.2. 培训项目 - 课程接口【2023-01-07修改】 **请求URL:** - ` http://{host:port}/project/course/list?project_id={培训项目ID}` **请求方式:** - GET **参数:** ```header中加入 Authorization:xxxx 【2023-01-07修改】</code></pre> <p><strong>返回示例</strong></p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: [ { &amp;quot;id&amp;quot;: &amp;quot;12&amp;quot;,//课程ID &amp;quot;course_code&amp;quot;: &amp;quot;C010103&amp;quot;,//课程编号 &amp;quot;course_name&amp;quot;: &amp;quot;研配机作业标准书系列&amp;quot;,//课程名称 &amp;quot;ability_detail&amp;quot;: &amp;quot;能进行研配机的基本操作&amp;quot;,//考核内容 &amp;quot;training_duration&amp;quot;: &amp;quot;3h&amp;quot;,//培训时长 &amp;quot;practice_duration&amp;quot;: &amp;quot;1周&amp;quot;,//练习时长 &amp;quot;examine_duration&amp;quot;: &amp;quot;1h&amp;quot;,//考核时长 &amp;quot;examine_details&amp;quot;: &amp;quot;研配机的基本操作&amp;quot;,//考核内容 &amp;quot;count&amp;quot;: 2 //附件数 }, { &amp;quot;id&amp;quot;: &amp;quot;11&amp;quot;, &amp;quot;course_code&amp;quot;: &amp;quot;C1010102&amp;quot;, &amp;quot;course_name&amp;quot;: &amp;quot;压力机作业标准书系列&amp;quot;, &amp;quot;ability_detail&amp;quot;: &amp;quot;能进行压力机及液压垫的基本操作&amp;quot;, &amp;quot;training_duration&amp;quot;: &amp;quot;4h&amp;quot;, &amp;quot;practice_duration&amp;quot;: &amp;quot;2周&amp;quot;, &amp;quot;examine_duration&amp;quot;: &amp;quot;1h&amp;quot;, &amp;quot;examine_details&amp;quot;: &amp;quot;压力机及液压垫操作&amp;quot;, &amp;quot;count&amp;quot;: 0 } ] }</code></pre> <h3>9.3. 培训项目 - 课程附件列表 接口【2023-01-07修改】</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/project/course/annex/list?course_id={课程ID}</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET </li> </ul> <p><strong>参数:</strong> ```header中加入 Authorization:xxxx 【2023-01-07修改】</p> <pre><code> **返回示例** </code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: [ { &quot;id&quot;: &quot;68&quot;, //附件ID &quot;file_name&quot;: &quot;研配机作业标准书系列数字化决策+报表查询+KPI+20210825 (2).xls1.xls&quot;, //附件名 &quot;preview&quot;: true, &quot;version&quot;: &quot;1&quot;, //最新版本号 &quot;createTime&quot;: &quot;2021-08-25 15:49:55&quot; }, { &quot;id&quot;: &quot;64&quot;, &quot;file_name&quot;: &quot;研配机作业标准书系列0820任务.doc1.doc&quot;, &quot;preview&quot;: true, &quot;version&quot;: &quot;1&quot;, &quot;createTime&quot;: &quot;2021-08-25 15:46:42&quot; } ] }</p> <pre><code> ### 9.4. 培训项目 - 课程 - 附件 - 下载接口【2023-01-07修改】 **请求URL:** - ` http://{host:port}/project/course/annex/download?file_id={附件ID}` **请求方式:** - GET **参数:** ```header中加入 Authorization:xxxx 【2023-01-07修改】</code></pre> <p><strong>返回示例</strong> 使用Payload中URL下载文件本地查看</p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: &amp;quot;http://minio01.10-124-130-142.sslip.io/gac-cms-file/projectcourse/%E7%A0%94%E9%85%8D%E6%9C%BA%E4%BD%9C%E4%B8%9A%E6%A0%87%E5%87%86%E4%B9%A6%E7%B3%BB%E5%88%97%E6%95%B0%E5%AD%97%E5%8C%96%E5%86%B3%E7%AD%96%2B%E6%8A%A5%E8%A1%A8%E6%9F%A5%E8%AF%A2%2BKPI%2B20210825%20%282%29.xls1_bccdf1ac-635d-4231-97e2-c60d0125690c.xls?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;amp;X-Amz-Credential=admin%2F20210915%2Fus-east-1%2Fs3%2Faws4_request&amp;amp;X-Amz-Date=20210915T085653Z&amp;amp;X-Amz-Expires=604800&amp;amp;X-Amz-SignedHeaders=host&amp;amp;X-Amz-Signature=d60d2b1e6761bf8454863060e3c898b10ab74034c7ed854db8eb1c921984263d&amp;quot; }</code></pre> <h4>9.5. 培训项目 - 课程 - 附件 - 历史版本列表接口</h4> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/project/course/annex/history?file_id={附件ID}&amp;amp;page_num=1&amp;amp;page_size=10</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET </li> </ul> <p><strong>参数:</strong> ```header中加入 Authorization:xxxx 【2023-01-07修改】</p> <pre><code> **返回示例** 使用Payload中URL下载文件本地查看</code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: { &quot;count&quot;: 3, &quot;pageCount&quot;: 1, &quot;pageNum&quot;: 1, &quot;pageSize&quot;: 10, &quot;data&quot;: [ { &quot;id&quot;: &quot;65&quot;, //附件ID &quot;file_name&quot;: &quot;研配机作业标准书系列0824开发周会纪要.doc1.doc&quot;, //附件名 &quot;preview&quot;: true, &quot;version&quot;: &quot;1.1&quot;,//版本号 &quot;createTime&quot;: &quot;2021-08-25 15:48:23&quot; }, { &quot;id&quot;: &quot;66&quot;, &quot;file_name&quot;: &quot;研配机作业标准书系列信润录屏旁白信息收集-20210823(調整產品順序).xlsx1.xlsx&quot;, &quot;preview&quot;: true, &quot;version&quot;: &quot;1.2&quot;, &quot;createTime&quot;: &quot;2021-08-25 15:48:31&quot; }, { &quot;id&quot;: &quot;67&quot;, &quot;file_name&quot;: &quot;研配机作业标准书系列数字化决策+报表查询+KPI+20210825.xls1.xls&quot;, &quot;preview&quot;: true, &quot;version&quot;: &quot;1.3&quot;, &quot;createTime&quot;: &quot;2021-08-25 15:49:55&quot; } ] } }</p> <pre><code> # 十. 学习相关接口 ## 10.1. 学习任务推送 【2023-01-07修改】 ### 1). 准备课程数据 **请求URL:** - ` http://{host:port}/study/user/list` -- 获取用户列表 - ` http://{host:port}/project/list` -- 获取课程列表 - ` http://{host:port}/project/course/list?project_id={课程id}` -- 获取课程目录列表 **请求方式:** - GET ```header中加入 Authorization:xxxx 【2023-01-07修改】</code></pre> <h3>2). 任务推送</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/study/create/task</code> </li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>POST</li> </ul> <p><strong>参数</strong></p> <pre><code>{ &amp;quot;course_ids&amp;quot;: [&amp;quot;16&amp;quot;, &amp;quot;15&amp;quot;], -- 课程信息 &amp;quot;user_ids&amp;quot;: [&amp;quot;4105a8b2-5cf3-47a8-805b-1ea0924579a9&amp;quot;, &amp;quot;b4ee2217-e23e-4590-a846-4cac2f31f999&amp;quot;] --用户id }</code></pre> <p><strong>返回示例:</strong> </p> <pre><code>{&amp;quot;code&amp;quot;:0,&amp;quot;errmsg&amp;quot;:&amp;quot;Success&amp;quot;,&amp;quot;payload&amp;quot;:null}</code></pre> <h2>10.2. 学习任务【2023-01-07修改】</h2> <h3>1). 学习列表</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/study/task?pageNum=1&amp;amp;pageSize=10&amp;amp;status=false</code> </li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET</li> </ul> <p>```header中加入 Authorization:xxxx 【2023-01-07修改】</p> <pre><code> **返回示例:** </code></pre> <p>{ &quot;code&quot;: 0, &quot;errmsg&quot;: &quot;Success&quot;, &quot;payload&quot;: { &quot;count&quot;: 1, &quot;pageCount&quot;: 1, &quot;pageNum&quot;: 1, &quot;pageSize&quot;: 1, &quot;data&quot;: [{ &quot;id&quot;: &quot;11&quot;, &quot;task_num&quot;: &quot;STM20210103071569&quot;, -- 任务编号 &quot;create_time&quot;: &quot;2021-10-30 08:20:39&quot;, &quot;complete_time&quot;: null, &quot;projects&quot;: [{ &quot;project_id&quot;: &quot;9&quot;, &quot;project_name&quot;: &quot;测试002&quot;, -- 培训项目名 &quot;courses&quot;: [{ &quot;course_id&quot;: &quot;16&quot;,-- 培训课程ID &quot;course_name&quot;: &quot;abca&quot;, -- 培训课程名 &quot;course_code&quot;: &quot;111&quot;, &quot;ability_detail&quot;: &quot;&quot;, &quot;status&quot;: &quot;0&quot; -- 学习状态,1 已学习,0 未学习 }] }, { &quot;project_id&quot;: &quot;8&quot;, &quot;project_name&quot;: &quot;测试课程&quot;, &quot;courses&quot;: [{ &quot;course_id&quot;: &quot;15&quot;, &quot;course_name&quot;: &quot;test&quot;, &quot;course_code&quot;: &quot;ttest001&quot;, &quot;ability_detail&quot;: &quot;x&quot;, &quot;status&quot;: &quot;0&quot; }] }] }] } }</p> <pre><code> ### 2). 学习附件 **请求URL:** - ` http://{host:port}/study/course/annex/list?course_id={培训课程ID}&amp;amp;task_id={学习任务id}` -- 如上数据 course_id=15&amp;amp;task_id=11 **请求方式:** - GET ```header中加入 Authorization:xxxx 【2023-01-07修改】</code></pre> <p><strong>返回示例:</strong> </p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: [{ &amp;quot;id&amp;quot;: &amp;quot;48&amp;quot;, &amp;quot;file_name&amp;quot;: &amp;quot;0820任务test1.doc&amp;quot;, &amp;quot;preview&amp;quot;: true, &amp;quot;version&amp;quot;: &amp;quot;1&amp;quot;, &amp;quot;createTime&amp;quot;: &amp;quot;2021-10-30 08:01:23&amp;quot;, &amp;quot;status&amp;quot;: &amp;quot;0&amp;quot; }] }</code></pre> <h3>3). 学习完成</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/study/complete?task_id={学习任务id}&amp;amp;file_ids={文件id}</code> -- 如上数据 /study/complete?task_id=11&amp;file_ids=48</li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET ```header中加入 Authorization:xxxx 【2023-01-07修改】 <pre><code></code></pre></li> </ul> <p><strong>返回示例:</strong> </p> <pre><code>{&amp;quot;code&amp;quot;:0,&amp;quot;errmsg&amp;quot;:&amp;quot;Success&amp;quot;,&amp;quot;payload&amp;quot;:null}</code></pre> <h2>10.3. 员工学习记录</h2> <h3>1). 员工学习记录列表</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/study/task/user/list?keyword=&amp;amp;page_num=1&amp;amp;page_size=10</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET ```header中加入 Authorization:xxxx 【2023-01-07修改】 <pre><code></code></pre></li> </ul> <p><strong>返回示例:</strong> </p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: { &amp;quot;count&amp;quot;: 2, &amp;quot;pageCount&amp;quot;: 1, &amp;quot;pageNum&amp;quot;: 1, &amp;quot;pageSize&amp;quot;: 10, &amp;quot;data&amp;quot;: [{ &amp;quot;id&amp;quot;: &amp;quot;b4ee2217-e23e-4590-a846-4cac2f31f999&amp;quot;, &amp;quot;domain&amp;quot;: &amp;quot;焊装车间&amp;quot;, &amp;quot;account&amp;quot;: &amp;quot;zsshz2&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;zss焊装2&amp;quot;, &amp;quot;password&amp;quot;: null, &amp;quot;sex&amp;quot;: null, &amp;quot;mobile&amp;quot;: null, &amp;quot;email&amp;quot;: null, &amp;quot;enabled&amp;quot;: 0, &amp;quot;category&amp;quot;: null, &amp;quot;position&amp;quot;: &amp;quot;上车体A班保全员&amp;quot;, &amp;quot;onboardingTime&amp;quot;: null, &amp;quot;onboarding_time&amp;quot;: null, &amp;quot;superiorId&amp;quot;: null, &amp;quot;superior&amp;quot;: null, &amp;quot;superiorName&amp;quot;: null, &amp;quot;agentId&amp;quot;: null, &amp;quot;agent&amp;quot;: null, &amp;quot;agentName&amp;quot;: null, &amp;quot;organizeId&amp;quot;: &amp;quot;59ea5f78-c3c7-48f9-b560-94a7081cfc2b&amp;quot;, &amp;quot;organizeName&amp;quot;: &amp;quot;上车体A班&amp;quot;, &amp;quot;technicalList&amp;quot;: [], &amp;quot;roleList&amp;quot;: null }, { &amp;quot;id&amp;quot;: &amp;quot;4105a8b2-5cf3-47a8-805b-1ea0924579a9&amp;quot;, &amp;quot;domain&amp;quot;: &amp;quot;焊装车间&amp;quot;, &amp;quot;account&amp;quot;: &amp;quot;zsshz&amp;quot;, &amp;quot;username&amp;quot;: &amp;quot;zss焊装&amp;quot;, &amp;quot;password&amp;quot;: null, &amp;quot;sex&amp;quot;: null, &amp;quot;mobile&amp;quot;: null, &amp;quot;email&amp;quot;: null, &amp;quot;enabled&amp;quot;: 0, &amp;quot;category&amp;quot;: null, &amp;quot;position&amp;quot;: &amp;quot;上车体A班保全员&amp;quot;, &amp;quot;onboardingTime&amp;quot;: null, &amp;quot;onboarding_time&amp;quot;: null, &amp;quot;superiorId&amp;quot;: null, &amp;quot;superior&amp;quot;: null, &amp;quot;superiorName&amp;quot;: null, &amp;quot;agentId&amp;quot;: null, &amp;quot;agent&amp;quot;: null, &amp;quot;agentName&amp;quot;: null, &amp;quot;organizeId&amp;quot;: &amp;quot;59ea5f78-c3c7-48f9-b560-94a7081cfc2b&amp;quot;, &amp;quot;organizeName&amp;quot;: &amp;quot;上车体A班&amp;quot;, &amp;quot;technicalList&amp;quot;: [], &amp;quot;roleList&amp;quot;: null }] } }</code></pre> <h3>2). 员工学习记录明细</h3> <p><strong>请求URL:</strong> </p> <ul> <li><code>http://{host:port}/study/user/record?user_id={用户id}</code></li> </ul> <p><strong>请求方式:</strong></p> <ul> <li>GET</li> </ul> <p><strong>返回示例:</strong> </p> <pre><code>{ &amp;quot;code&amp;quot;: 0, &amp;quot;errmsg&amp;quot;: &amp;quot;Success&amp;quot;, &amp;quot;payload&amp;quot;: [{ &amp;quot;task_num&amp;quot;: &amp;quot;STM20210103071569&amp;quot;, &amp;quot;course_code&amp;quot;: &amp;quot;ttest001&amp;quot;, &amp;quot;course_name&amp;quot;: &amp;quot;test&amp;quot;, &amp;quot;create_time&amp;quot;: &amp;quot;2021-10-30 08:20:39&amp;quot;, &amp;quot;complete_time&amp;quot;: &amp;quot;2021-10-30 08:31:10&amp;quot;, &amp;quot;status&amp;quot;: &amp;quot;1&amp;quot;, -- 学习状态,1 已学习,0 未学习 &amp;quot;technicalList&amp;quot;: [] }, { &amp;quot;task_num&amp;quot;: &amp;quot;STM20210103071569&amp;quot;, &amp;quot;course_code&amp;quot;: &amp;quot;111&amp;quot;, &amp;quot;course_name&amp;quot;: &amp;quot;abca&amp;quot;, &amp;quot;create_time&amp;quot;: &amp;quot;2021-10-30 08:20:39&amp;quot;, &amp;quot;complete_time&amp;quot;: null, &amp;quot;status&amp;quot;: &amp;quot;0&amp;quot;, &amp;quot;technicalList&amp;quot;: [] }] }</code></pre>

页面列表

ITEM_HTML