Appearance
本文以演示环境如下:
操作系统 | 系统类型 | 作者 |
---|---|---|
Windows 10 | x64 | 张世平 |
安装准备
①前期准备
1.1个映射到外网的端口;
2.已部署好mis系统,且可以正常进入首页;
3.准备要部署的移动端代码,示例:PMwise6-202403;Advert:移动端首页顶部的滑动图片,静态图片文件
PDFviewer:PDFviewer预览插件源码
CorpResFolder:移动端图片新闻列表生成缩略图的存放路径
Login:钉钉/企业微信单点登录静态页面
Interface:移动端api发布后代码文件
menuIcons:移动端首页菜单图标
officemobile:移动端前端页面【如果为空,联系张世平,提供移动端地址】
userIcons:协作通生成头像存放目录
②开放端口
提供移动端的端口,加入到防火墙出入站中,示例:8001
搭建移动端
①复制代码到服务器
把代码复制到服务器中,示例:E:\产品代码\移动端\PMwise6.0\API\publishinterface:移动端发布后的api代码
officemobile:移动端前端页面,静态页面文件
②搭建IIS站点
1.打开IIS,选择‘网站’,右键‘添加网站’ 网站名称:一般是端口号+系统名称+移动端,示例8006PMwise6.0移动端
屋里路径:移动端代码路径,示例:E:\产品代码\移动端\PMwise6.0\API\publish
类型:默认http,可不修改
端口:移动端使用端口,需修改
2.打开IIS,选中‘应用程序池’,找到部署的移动端,双击编辑应用程序池,.NET CLR版本,修改‘无托管代码’
③修改接口配置文件
打开IIS,选中部署的移动端站点,右键‘浏览’,修改interface下的appsettings.json文件
注意只需修改红框中的内容。
④PMwise相关配置
"IsDotnet6PMWise": true, //是否为6.0平台
"FlowApiUrl": "http://10.10.1.112:8253/WorkFlow/api/", //流程API服务器(审批任务)
"ListDefApiHost": "http://10.10.1.112:8253/", //列表定义服务器(台账权限过滤)
"UserResApiUrl": "http://10.10.1.112:8253/Base/api/ResApi/", //用户权限服务器 (面板功能权限使用)
"HRApiUrl": "http://10.10.1.112:8253/HR/api/", //人力API服务器(考勤)
"ImageStore": "http://10.10.1.112:8253", //获取新闻详情页面图片
"FileStoreApiUrl": "http://10.10.1.112:8253/MvcConfig/api/FileStoreAPI/",
"FileStore": "http://10.10.1.112:8253/FileStore/Services/OuterService.asmx",
"FileStoreHost": "http://10.10.1.112:8253", //FileStore服务器地址
⑤首页图标配置路径/日志/绑定码
"IconUrl": "", //Nginx反向代理使用,指向移动端站点监听端口
"Log4NetPath": "D://YDT4.0Logs", //日志地址
"BindCode": "gbcs",//协作通登录时绑定码,提供移动端地址,联系张世平申请
⑥数据库配置
"DBType": "SqlServer",//数据库类型SqlServer
"Base": "data source=10.10.1.242,1408\SQL2008;Initial Catalog=PMWise_Base;User ID=sa;PWD=123.zxc;Encrypt=True;TrustServerCertificate=True;Pooling=true;Min Pool Size=1;",
10.10.1.242,1408\SQL2008,SqlServer数据库服务器名称,注意此处用\斜杠
PMWise_Base,数据库库名称
Sa,数据库登录名
123.zxc,数据库登录密码
其它数据库连接,请参考Base库配置方式修改
⑦钉钉配置
"SSOFrom": "dingding",//钉钉使用,嵌入平台: dingding
/钉钉配置Start***/ "DingDing_ApiRoot": "https://oapi.dingtalk.com/", 验证方式:ping oapi.dingtalk.com
如果显示来自 106.11.43.160 的回复: 字节=32 时间=27ms TTL=88说明可以访问企业微信的API接口;
"DingDing_CorpID": "ding42c1154c61d5912e35c2f4657eb6378f",
进入到钉钉开发者后台 ,https://open-dev.dingtalk.com/,复制首页中的CorpId "dingdingUserID": "DingDing",
"dingdingJobNnumber": "WorkNo",
/钉钉配置End***/
⑧修改单点配置文件
选中部署的移动端站点,右键‘浏览’,修改Login下的dingding.html文件,注意只需修改红框中的内容。 corpId: "ding42c1154c61d5912e35c2f4657eb6378f",
进入到钉钉开发者后台 ,https://open-dev.dingtalk.com/,复制首页中的CorpId
配置调试地址
- 1.进入Mis系统,在**‘系统管理’->‘系统定义工具’->‘移动菜单定义’->‘单点登录配置’中,修改‘调试’中的地址
此处只需修改‘移动端跳转路径’,‘电脑端跳转路径’**
移动端跳转路径:修改为配置移动端站点地址,只需修改http+IP+端口号;
电脑端跳转路径:修改为电脑Mis端跳转地址,只需修改url中的http+IP+端口号,其它不动; - 2.修改调试地址:
https://sh.goodwaysoft.com:8257/interface/api/auth/login?EntryMenu=mainindexgbcs&SSOFrom=debug&code=gwadmin
https://sh.goodwaysoft.com:8257,移动端站点地址
EntryMenu=mainindexgbcs,移动菜单定义->单点登录配置,对应的编号字段
code=gwadmin系统Code账号
浏览器上访问效果如图:
钉钉配置
①修改钉钉单点登录地址
- 1.进入Mis系统,在**‘系统管理’->‘系统定义工具’->‘移动菜单定义’->‘单点登录配置’中,修改‘钉钉’中的地址
此处只需修改‘红框中的内容’**
移动端跳转路径:修改为配置移动端站点地址,只需修改http+IP+端口号;
电脑端跳转路径:修改为电脑Mis端跳转地址,只需修改url中的http+IP+端口号,其它不动;
AgentID:2473412241
AppKey:dingoajvsxlzyrctsd3x
AppSecret:eUmztr0zQd2vfjGicne2fpyUtL-lc4BCP84fEhu20RngP65bxTjTufas3WiKUcF9
②修改钉钉后台配置
- 打开浏览器,访问钉钉后台地址https://www.dingtalk.com/?lwfrom=2020052015221741000&source=1008
- 进入到钉钉开发者后台 ,https://open-dev.dingtalk.com/
在‘应用开发’,浏览器滑动到页面底部,点击‘创建应用’,创建应用 - 在‘开发配置’-‘权限管理’,设置应用权限
注意:此处需要按照图片红框中的设置;示例:点击‘个人权限’,全选,批量申请
- 在‘应用能力’-‘添加应用能力’,配置网页应用
设置‘应用首页地址’,http://sh.goodwaysoft.com:8100/Login/dingding.html?EntryMenu=mainindexLinux
http://sh.goodwaysoft.com:8100,移动端站点监听端口地址;
mainindexLinux:‘系统管理’->‘系统定义工具’->‘移动菜单定义’->‘单点登录配置’,‘钉钉’中编号字段 - 在‘应用开发’-‘钉钉应用’,设置钉钉服务器出口IP地址;
或者‘返回旧版平台’
在‘开发管理’,修改应用页面,设置服务器出口IP
③验证钉钉应用能否正常打开
1.打开钉钉,登录钉钉;
2.在‘工作台’页面,找到创建的应用,可以正常进入移动端首页,说明钉钉部署成功;
消息、任务推送定时作业配置
- 1.修改消息、任务推送定时作业的配置文件app.json,如图:
数据库链接直接从移动端API接口的appsettings.json中复制;
①单点登录配置
"SSOFrom": "dingding",//dingding代表推送钉钉任务及消息
//移动端单点登录页面地址
"SSOUrl": "https://sh.goodwaysoft.com:8257/interface/api/auth/login",
②组织人员同步
//是否同步新增组织
"Org_IsAdd": "false",
//是否同步修改组织
"Org_IsUpdate": "false",
//是否同步删除组织
"Org_IsDelete": "false",
//组织同步最后时间
"Org_LastSyncTime": "2020-1-1",
//组织同步间隔小时
"Org_SyncPeriod": "4",
//同步的组织名称字段
"Org_NameField": "Name",
//排除要同步的组织以及组织下的组织,逗号隔开(只需填组织ID,不用填下属组织ID)
"Org_WithoutIDs": "abba0129-c0a3-4afe-807e-d33c70f1d68b",
//是否同步新增账户
"User_IsAdd": "false",
//是否同步修改账户
"User_IsUpdate": "false",
//是否同步删除账户
"User_IsDelete": "false",
//是否绑定账户
"User_IsBind": "false",
//用户是否同步所属部门(false为所属部门,true为当前部门)
"User_IsOrgIDs": "false",
//帐户同步最后时间
"User_LastSyncTime": "2020-5-25",
//帐户同步间隔小时
"User_SyncPeriod": "0",
//MIS手机号不存在时自动拼接邮箱
"User_MailboxSuffix": "",
③任务/消息推送
//是否推送任务
"Task_IsPush": "true",
//任务推送最后时间
"Task_LastPushTime": "2023-03-19 00:00:00 000",
//是否推送系统消息
"Msg_IsPush": "true",
//通知推送最后时间
"Msg_LastPushTime": "2023-01-29 00:00:00 000",
//消息执行页面菜单编号
"Msg_EntryMenu": "push_msg",
//是否推送系统提醒
"Alarm_IsPush": "true",
//通知推送最后时间
"Alarm_LastPushTime": "2020-6-19",
//系统提醒执行页面菜单编号
"Alarm_EntryMenu": "push_alarm",
④钉钉配置
"DingDing_ApiRoot": "https://oapi.dingtalk.com",
//钉钉CorpID
"DingDing_CorpID": "ding42c1154c61d5912e35c2f4657eb6378f",
//应用agentid
"DingDing_AgentId": "639837520",
//应用Key
"DingDing_AppKey": "dingu9mdf049chppzdjj",
//通讯录密钥
"DingDing_AppSecret": "SNZSFW1IGDU2m-fDXIWILoYo4hngb_cBIlMm8COgmaHqYRlK0d0_kUonkNiuUqBL",
//获取程序的组织应用范围根节点ID 默认为1
"DingDing_AuthOrgRootID": "1",
⑤部署任务计划服务
双击打开‘任务计划程序’,选中‘任务计划程序库’
常规配置
触发器:新版移动端定时服务,设置,选择‘一次’,服务会一起启动运行;
操作:程序或脚本选择定时作业代码所在的ScheduleJob.exe文件,示例:E:\产品代码\移动端\PMwise6.0\ScheduleJob6.0\ScheduleJob\bin\Debug\ScheduleJob.exe