Skip to content

本文以演示环境如下:

操作系统系统类型作者
Windows 10x64张世平

安装准备

①前期准备

1.1个映射到外网的端口;
2.已部署好mis系统,且可以正常进入首页;
3.准备要部署的移动端代码,示例:PMwise6-202403;
Advert:移动端首页顶部的滑动图片,静态图片文件
PDFviewer:PDFviewer预览插件源码
CorpResFolder:移动端图片新闻列表生成缩略图的存放路径
Login:钉钉/企业微信单点登录静态页面
Interface:移动端api发布后代码文件
menuIcons:移动端首页菜单图标
officemobile:移动端前端页面【如果为空,联系张世平,提供移动端地址】
userIcons:协作通生成头像存放目录

②开放端口

提供移动端的端口,加入到防火墙出入站中,示例:8001

搭建移动端

①复制代码到服务器

把代码复制到服务器中,示例:E:\产品代码\移动端\PMwise6.0\API\publish
interface:移动端发布后的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

②修改钉钉后台配置

  1. 打开浏览器,访问钉钉后台地址https://www.dingtalk.com/?lwfrom=2020052015221741000&source=1008

  2. 进入到钉钉开发者后台 ,https://open-dev.dingtalk.com/
    在‘应用开发’,浏览器滑动到页面底部,点击‘创建应用’,创建应用
  3. 在‘开发配置’-‘权限管理’,设置应用权限
    注意:此处需要按照图片红框中的设置;示例:点击‘个人权限’,全选,批量申请
  4. 在‘应用能力’-‘添加应用能力’,配置网页应用
    设置‘应用首页地址’,http://sh.goodwaysoft.com:8100/Login/dingding.html?EntryMenu=mainindexLinux
    http://sh.goodwaysoft.com:8100,移动端站点监听端口地址;
    mainindexLinux:‘系统管理’->‘系统定义工具’->‘移动菜单定义’->‘单点登录配置’,‘钉钉’中编号字段
  5. 在‘应用开发’-‘钉钉应用’,设置钉钉服务器出口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