Skip to content

本文以演示环境如下:

操作系统系统类型作者
kylinOSx86_64张世平

安装准备

①前期准备

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

②工具准备(连接访问linux系统的工具)

WindTerm,远程访问Linux系统,输入命令使用;
下载地址:https://sh.goodwaysoft.com:8257/WindTerm_2.6.0_Prerelease_2_Windows_Portable_x86_64.zip
WinSCP,远程访问Linux系统,复制代码文件、修改Nginx配置项使用;
下载地址:https://sh.goodwaysoft.com:8257/WinSCP-6.1.1-Setup.exe
使用方法:
用WindTerm、WinSCP远程连接Linux系统
解压WindTerm后,双击运行WindTerm.exe
在会话页面,右键‘新建会话’
主机:(H) Linux系统IP地址;端口:(P) 22 默认端口,可修改;OneKey:设置Linux系统的用户名,密码
添加完成后,双击会话列表中的linux系统地址,进入linux命令页面;
注意:双击linux系统地址时,此处需要下拉选择设置的密码;
WinSCP远程连接Linux系统,在‘新建标签页’,添加Linux的访问方式,配置方式同WindTerm一样

③开放端口

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

firewall-cmd --zone=public --add-port=8257/tcp --permanent

重启防火墙:

systemctl restart firewalld

查看端口:

firewall-cmd --zone=public --list-ports

搭建移动端

①复制代码到Linux

使用WinSCP远程工具,把代码复制到linux系统中,示例:/GoodWay/2.YDD Advert:移动端首页顶部的滑动图片,静态图片文件
PDFviewer:PDFviewer预览插件源码
CorpResFolder:移动端图片新闻列表生成缩略图的存放路径
Login:钉钉/企业微信单点登录静态页面
Interface:移动端api发布后代码文件
menuIcons:移动端首页菜单图标
officemobile:移动端前端页面【如果为空,联系张世平,提供移动端接口地址】
userIcons:协作通生成头像存放目录

②修改接口配置文件

使用WinSCP远程工具,进入到/GoodWay/2.YDD/interface文件夹下,修改interface下的app.json文件。 "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库配置方式修改

③PMwise相关配置

1.打开6.0系统,使用管理员的账号,登录系统;
2.打开‘系统管理’-‘移动菜单定义’-‘环境部署配置’;
嵌入平台:钉钉
应用组织ID:钉钉后台的组织ID
进入到钉钉开发者后台 ,https://open-dev.dingtalk.com/,复制首页中的CorpId
是否6.0平台:根据Mis端对应的版本判断
Web端地址:Mis端地址,示例:http://10.10.1.112:8253
FileStore地址:文件服务地址,示例:http://10.10.0.103:8060
H5页面版本:清理缓存使用,每次更新前端,版本加1

修改Nginx配置

1.查看Nginx安装路径

whereis nginx

/etc/nginx,Nginx配置文件所在路径
/usr/sbin,Nginx启动文件所在路径
2.使用WinSCP远程工具,进入到/etc/nginx文件夹,双击打开nginx.conf文件,增加配置项

    #PMwise6.0-移动端;
    server {
        listen       8257;
        server_name  localhost;

		location / { 
			root /product/PMwise6.0/YDD/publish; #指向移动端代码路径
			index index.html index.htm; 
		}

		# 代理自己的项目
		location /officemobile {
			alias	/product/PMwise6.0/YDD/publish/officemobile;#指向移动端【前端】代码路径
			index	index.html;
			# autoindex on;
			try_files  $uri $uri/ /officemobile/index.html;   #解决刷新404
		}
			
		# 配置代理vite中的跨域
		location /interface {
			rewrite "^/interface/(.*)$" /$1 break ; 
			proxy_pass	http://localhost:7002;#指向移动端API接口地址
		}
        
    }

设置移动端API接口开机自启

1.使用WinSCP远程工具,进入到/etc/systemd/system文件夹,新建文件YDD_interface.service
2.使用WindTerm.exe工具查看dotnet安装路径

which dotnet

输出:/usr/share/dotnet/dotnet
显示dotnet的安装路径
3.修改YDD_interface.service文件

[Unit]# Unit 文件描述
Description=YDD
[Service]# Service 配置参数
User=root
Type=simple
GuessMainPID=true
# 自启动项目所在的位置路径
WorkingDirectory=/product/PMwise6.0/YDD/publish/interface
#dotnet环境变量
Environment=DOTNET_CLI_HOME=/usr/share/dotnet/dotnet
# 启动移动端API接口,此处http://localhost:7002,对应Nginx配置项移动端的api接口
ExecStart=/usr/share/dotnet/dotnet YDDAPI.Web.Entry.dll --urls http://localhost:7002
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target

4.设置开机自启
注册并启动启动服务

sudo systemctl enable YDD_interface.service

(启动服务)

sudo systemctl start YDD_interface.service

检查服务状态:

sudo systemctl status YDD_interface.service

重启服务:

sudo systemctl restart YDD_interface.service

检查服务状态:

sudo systemctl status YDD_interface.service

关闭服务:

sudo systemctl stop YDD_interface.service

配置调试地址

1.进入Mis系统,在**‘系统管理’->‘系统定义工具’->‘移动菜单定义’->‘单点登录配置’中,修改‘调试’中的地址
此处只需修改
‘移动端跳转路径’,‘电脑端跳转路径’**
移动端跳转路径:修改为配置移动端Nginx地址,只需修改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系统,在**‘系统管理’->‘系统定义工具’->‘移动菜单定义’->‘单点登录配置’中,修改‘钉钉’中的地址
此处只需修改
‘红框中的内容’**
移动端跳转路径:修改为配置移动端Nginx地址,只需修改http+IP+端口号;示例:https://sh.goodwaysoft.com:8257/officemobile/home?dd_full_screen=true
电脑端跳转路径:修改为电脑Mis端跳转地址,只需修改url中的http+IP+端口号,其它不动;示例:http://10.10.1.112:8253/Portal/Main/SSOLogin?redirect_url=http://10.10.1.112:8253/Portal/Main/Index
AgentID:2473412241
AppKey:dingoajvsxlzyrctsd3x
AppSecret:eUmztr0zQd2vfjGicne2fpyUtL-lc4BCP84fEhu20RngP65bxTjTufas3WiKUcF9

②修改钉钉后台配置

  1. 打开浏览器,访问钉钉后台地址https://www.dingtalk.com/?lwfrom=2020052015221741000&source=1008
  2. 进入到钉钉开发者后台 ,https://open-dev.dingtalk.com/
    在‘应用开发’,浏览器滑动到页面底部,点击‘创建应用’,创建应用
  3. 在‘开发配置’-‘权限管理’,设置应用权限
    注意:此处需要按照图片红框中的设置;示例:点击‘个人权限’,全选,批量申请
  4. 在‘应用能力’-‘添加应用能力’,配置网页应用
    设置‘应用首页地址’,https://sh.goodwaysoft.com:8257/Login/dingding.html?EntryMenu=mainindexLinux&dd_full_screen=true
    https://sh.goodwaysoft.com:8257,移动端Nginx监听端口地址;
    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",

⑤单点登录配置

在‘移动菜单定义’-‘单点登录配置’-‘钉钉’,搜索编号push_task的数据;
移动端跳转路径:修改为移动端Nginx地址;
电脑端跳转路径:修改为Mis系统地址;
AgentID:2473412241
AppKey:dingoajvsxlzyrctsd3x
AppSecret:eUmztr0zQd2vfjGicne2fpyUtL-lc4BCP84fEhu20RngP65bxTjTufas3WiKUcF9
2.设置开机自启,见移动端api接口地址的开机自启服务,配置方式一样;