Appearance
本文以演示环境如下:
操作系统 | 系统类型 | 作者 |
---|---|---|
kylinOS | x86_64 | 张世平 |
安装准备
①前期准备
1.2个映射到外网的端口,及对应的二级域名,2个端口使用说明,一个是移动端Nginx监听端口,一个是移动端API端口,示例:http://sh.goodwaysoft.com:8257
2.已部署好mis系统,且可以正常进入首页;
3.准备要部署的移动端代码,示例:PMwise6-202403;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一样
③开放端口
提供移动端的端口,加入到防火墙出入站中,示例:8001
firewall-cmd --zone=public --add-port=**8001**/tcp --permanent
重启防火墙:
systemctl restart firewalld
查看端口:
firewall-cmd --zone=public --list-ports
搭建移动端
①复制代码到Linux
使用WinSCP远程工具,把代码复制到linux系统中,示例:/GoodWay/2.YDDAdvert:移动端首页顶部的滑动图片,静态图片文件
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 是否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 8100;
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://sh.goodwaysoft.com:7002;#指向移动端API接口地址,此处需要用域名
proxy_set_header Host $host:$proxy_port;
}
}
设置移动端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+端口号;
电脑端跳转路径:修改为电脑Mis端跳转地址,只需修改url中的http+IP+端口号,其它不动;
AgentID: 1000061
AppSecret: 9O6sMAA5IzE8Su9GYDS03yDisN3tA1Qc1Y_Kp_GE9AE
②修改企业微信后台配置
- 打开浏览器,访问企业微信后台地址https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome
- 在‘应用管理’,浏览器滑动到页面底部,点击‘创建应用’,创建应用
- 在‘开发者接口’-‘网页授权及JS-SDK’,设置可信域名
注意:此处需要按照图片红框中的设置;
- 在‘开发者接口’-‘企业可信IP’,设置企业可信IP
注意:如果有多个,用英文;隔开,示例:116.228.144.166;116.228.144.165
- 在‘应用页面’-‘应用主页’,设置企业可信访问页面单点登录地址;
示例:https://sh.goodwaysoft.com:8257/interface/api/auth/login?EntryMenu=mainindexLinux
https://sh.goodwaysoft.com:8257,移动端Nginx监听的端口;
mainindexLinux,‘移动菜单定义’-‘单点登录配置’-‘企业微信’中对应的编号;
③验证企业微信能否正常打开
1.打开企业微信,登录企业微信;
2.在‘工作台’页面,找到创建的应用,可以正常进入移动端首页,说明企业微信部署成功;
消息、任务推送定时作业配置
1.修改消息、任务推送定时作业的配置文件app.json,如图:数据库链接直接从移动端API接口的appsettings.json中复制;
①单点登录配置
"SSOFrom": "weixin",//weixin代表推送企业微信任务及消息
//移动端单点登录页面地址
"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",
④企业微信配置
"WeiXin_ApiRoot": "https://qyapi.weixin.qq.com",
//企业微信CorpID
"WeiXin_CorpID": "ww2f153ef83032fc2d",
//应用agentid
"WeiXin_AgentId": "1000017",
//应用密钥
"WeiXin_AppSecret": "dRwI_AgXgXtlABoWtYmGBoOoBkNkwgO0DhES2ql6oYo",
//通讯录密钥
"WeiXin_AddressSecret": "XMfxwx7S1t2VAmYUWMXzIgR2xIRgvSRGYs9dUsld2Xs",
//获取程序的组织应用范围根节点ID 默认为1
"WeiXin_AuthOrgRootID": "1",
⑤单点登录配置
在‘移动菜单定义’-‘单点登录配置’-‘企业微信’,搜索编号push_task的数据;
移动端跳转路径:修改为移动端Nginx地址;
电脑端跳转路径:修改为Mis系统地址;
"WeiXin_AgentID": "1000061",
"WeiXin_CorpSecret": "9O6sMAA5IzE8Su9GYDS03yDisN3tA1Qc1Y_Kp_GE9AE", 2.设置开机自启,见移动端api接口地址的开机自启服务,配置方式一样;