Appearance
本文以演示环境如下:
操作系统 | 系统类型 | 作者 |
---|---|---|
kylinOS | x86_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
②修改钉钉后台配置
- 打开浏览器,访问钉钉后台地址https://www.dingtalk.com/?lwfrom=2020052015221741000&source=1008
- 进入到钉钉开发者后台 ,https://open-dev.dingtalk.com/
在‘应用开发’,浏览器滑动到页面底部,点击‘创建应用’,创建应用 - 在‘开发配置’-‘权限管理’,设置应用权限
注意:此处需要按照图片红框中的设置;示例:点击‘个人权限’,全选,批量申请
- 在‘应用能力’-‘添加应用能力’,配置网页应用
设置‘应用首页地址’,https://sh.goodwaysoft.com:8257/Login/dingding.html?EntryMenu=mainindexLinux&dd_full_screen=true
https://sh.goodwaysoft.com:8257,移动端Nginx监听端口地址;
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",
⑤单点登录配置
在‘移动菜单定义’-‘单点登录配置’-‘钉钉’,搜索编号push_task的数据;
移动端跳转路径:修改为移动端Nginx地址;
电脑端跳转路径:修改为Mis系统地址;
AgentID:2473412241
AppKey:dingoajvsxlzyrctsd3x
AppSecret:eUmztr0zQd2vfjGicne2fpyUtL-lc4BCP84fEhu20RngP65bxTjTufas3WiKUcF9 2.设置开机自启,见移动端api接口地址的开机自启服务,配置方式一样;