Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
Svn-to-Git
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王进波
Svn-to-Git
Commits
298ae9a4
Commit
298ae9a4
authored
Mar 07, 2019
by
王进波
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
0bcad0a3
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
8 deletions
+10
-8
工作交接.md
doc/工作交接.md
+10
-8
No files found.
doc/工作交接.md
View file @
298ae9a4
...
...
@@ -60,7 +60,7 @@ TenantService安装及后续自动部署可以通过一条命令触发,说明
```
shell
.
├── CloudPlatformAssistant
#该文件夹为云平台早期原型,以控制台应用程序承载,具备单机运维的创建站点,
│ 销毁站点的基本功能,现在项目对此没有依赖,运服务器中重启 VPN 以及 微信│
token更新的服务是用的这个
├── CloudPlatformAssistant
#该文件夹为云平台早期原型,以控制台应用程序承载,具备单机运维的创建站点,
销毁站点的基本功能,现在项目对此没有依赖,运服务器中重启 VPN 以及 微信
token更新的服务是用的这个
│ ├── App.config
│ ├── BaseTask.cs
│ ├── CloudPlatformAssistant.csproj
...
...
@@ -329,7 +329,7 @@ TenantService安装及后续自动部署可以通过一条命令触发,说明
│ ├── Status
# 子站及子站主机状态维护
│ │ ├── HostStatus.cs
│ │ └── ServiceStatus.cs
│ ├── TenantAgent.cs
# TenantServer的非ThriftServer服务,包括启动后的检查和必要
│
的初始化操作
│ ├── TenantAgent.cs
# TenantServer的非ThriftServer服务,包括启动后的检查和必要的初始化操作
│ ├── TenantClient
│ │ └── BaseClientOfAdmin.cs
│ ├── TenantImpl
# TenantServer的自定义Thrift接口实现
...
...
@@ -411,7 +411,7 @@ TenantService安装及后续自动部署可以通过一条命令触发,说明
#### 编译和部署
这个服务在部署时需要按照项目名称不同,在配置文件中设置ServiceName配置项,服务会据此安装成不同的名称,即不同项目会
对应一个WindowsService,但是只有
一套代码,差异化的配置文件同样使用了 Visual Studio 插件
[
ConfigTransform
](
https://marketplace.visualstudio.com/items?itemName=GolanAvraham.ConfigurationTransform
)
,编译对应项目的服务是,需要选择对应的编译方案。
这个服务在部署时需要按照项目名称不同,在配置文件中设置ServiceName配置项,服务会据此安装成不同的名称,即不同项目会
单独安装成一个WindowsService,但是共用同
一套代码,差异化的配置文件同样使用了 Visual Studio 插件
[
ConfigTransform
](
https://marketplace.visualstudio.com/items?itemName=GolanAvraham.ConfigurationTransform
)
,编译对应项目的服务是,需要选择对应的编译方案。
### 营收系统
...
...
@@ -423,17 +423,17 @@ TenantService安装及后续自动部署可以通过一条命令触发,说明
营收系统是将第三方营收系统通过 Nginx 服务端跨域后嵌入到我们系统页面中的一个小小的 Hack,除了 Nginx 服务端跨域以外,还通过 Fiddler 截获和修改的请求的资源来达到修改页面样式的目的以及在 Fiddler 中进行免登录代理,免登录代理需要一个 Python 的简单脚本支持,这个脚本被部署成一个 WindowsService ,安装在 12.12 服务器中,Fiddler也部署在 12.12 服务器中。下面详细介绍下
#### Nginx服务端跨域
####
1.
Nginx服务端跨域
营收系统源域名为 http://demo.hbtsoft.cn:8081 。我们注册了一个 hbtsoft.wohitech.com的域名,在wohitech.com云服务器的Nginx中反向代理到 12.12 服务器的 8888 端口,监听该端口的程序为Fiddler,最终请求被转发给域名http://demo.hbtsoft.cn:8081。
#### Fiddler 拦截
####
2.
Fiddler 拦截
Fiddler 中做了很多配置,不能随意替换,Fiddler程序的启动目录为 12.12 服务器的 D:
\P
rograms
\F
iddler 目录
Fiddler 拦截请求后,会通过AutoResponser功能匹配请求是否为静态资源,是否在以配置的资源列表中,如果是,则读取保存在本地的静态资源作为请求的真实响应,欺骗浏览器,从而达到修改样式的目的;
除了这样修改样式,还需要对每一次经过 Fiddler 的请求判断是否为转发到 http://demo.hbtsoft.cn:8081 的,如果是,则读取保存在12.12服务器上
`FiddlerScript`
脚本文件中的
`JSessionID`
,调用 Python 的
FlaskServer 的api 判断是否过期,如果过期,则自动登录并获取最新的JSessionID
保存在本地供后续请求使用。
除了这样修改样式,还需要对每一次经过 Fiddler 的请求判断是否为转发到 http://demo.hbtsoft.cn:8081 的,如果是,则读取保存在12.12服务器上
`FiddlerScript`
脚本文件中的
`JSessionID`
,调用 Python 的
FlaskServer 的api 判断是否过期,如果过期,则自动登录并获取最新的 JSessionID
保存在本地供后续请求使用。
具体逻辑在下面代码中,代码是
`FiddlerScript`
中做了修改的两个方法,分别对应请求转发前和请求响应前两个阶段对请求所做的过滤和修改操作。
...
...
@@ -569,11 +569,11 @@ Fiddler 拦截请求后,会通过AutoResponser功能匹配请求是否为静
}
```
#### FlaskServer
####
3.
FlaskServer
这只是一个不到100行代码的Python脚本,主要功能是实现JSessionID的过期检验和登录并更新FiddlerScript本地JSessionID,将这两个操作通过Flask的包发布成api,供FiddlerScript中的请求处理消费。
代码位置:12.12服务器的 D:
\F
laskServer 目录下
代码位置:12.12服务器的 D:
\F
laskServer 目录下
,FlaskServer在12.12上部署成一个WindowsService,就叫FlaskServer
### BIM三位数据模型展示
...
...
@@ -585,6 +585,8 @@ Fiddler 拦截请求后,会通过AutoResponser功能匹配请求是否为静
该项目也没什么好说的,用了一个国外大神写的开源插件,将AutoDesk的Revit三维数据模型转换成了支持Three.js 的Json数据格式,然后用Three.js 进行了简单展示。具体看代码,包含了项目的十多个数据。
李俊杰当时在公司内网一台服务器上安装了AutoDesk的桌面套件,然后我找了工具进行了破解,数据转换的插件已经在上面安装了,如果后期需要在新的AutoDesk上安装该插件,需要到下面的插件GitHub主页上去下载代码,编译成插件,然后参照官网的插件安装方法,将其安装到AutoDesk上再用。
关于这个插件以及数据转换的具体资料:
[
Add-In Integration
](
http://help.autodesk.com/view/RVT/2019/ENU/?guid=Revit_API_Revit_API_Developers_Guide_Introduction_Add_In_Integration_html
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment