Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.Package
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
刘龙飞
VIZ.Package
Commits
0fd7b8bf
Commit
0fd7b8bf
authored
Mar 14, 2023
by
liulongfei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
缩略图
parent
9811b555
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
133 additions
and
84 deletions
+133
-84
VIZ.Package.Domain/Model/Page/PageModelBase.cs
+0
-14
VIZ.Package.Module/Page/Core/Controller/PageModelController.cs
+21
-21
VIZ.Package.Module/Page/Group/Controller/PageModelCopyController.cs
+0
-2
VIZ.Package.Module/Page/Group/ViewModel/PageGroupViewModel.cs
+0
-15
VIZ.Package.Module/Page/Templage/ViewModel/PageTemplateViewModel.cs
+0
-11
VIZ.Package.Service/DB/File/FileService.cs
+1
-0
VIZ.Package.Service/DB/Page/PageService.cs
+103
-7
VIZ.Package.Service/Viz/VizControlObjectDownloadService.cs
+1
-4
VIZ.Package.Storage/Entity/Page/PageEntityBase.cs
+0
-10
VIZ.Package.Storage/ProjectDbContext.cs
+7
-0
No files found.
VIZ.Package.Domain/Model/Page/PageModelBase.cs
View file @
0fd7b8bf
...
...
@@ -42,20 +42,6 @@ namespace VIZ.Package.Domain
#
endregion
#
region
ThumbnailUri
--
缩略图地址
private
string
thumbnailUri
;
/// <summary>
/// 缩略图地址
/// </summary>
public
string
ThumbnailUri
{
get
{
return
thumbnailUri
;
}
set
{
thumbnailUri
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ThumbnailUri
));
}
}
#
endregion
#
region
Remark
--
备注
private
string
remark
;
...
...
VIZ.Package.Module/Page/Core/Controller/PageModelController.cs
View file @
0fd7b8bf
...
...
@@ -39,27 +39,27 @@ namespace VIZ.Package.Module
/// 开始下载图片任务
/// </summary>
/// <param name="pages">页集合</param>
public
void
BeginDownLoadIamge
(
List
<
PageModelBase
>
pages
)
{
ThreadHelper
.
SafeRun
(()
=>
{
foreach
(
PageModelBase
page
in
pages
)
{
if
(
page
.
ThumbnailBitmap
!=
null
)
continue
;
if
(
string
.
IsNullOrWhiteSpace
(
page
.
ThumbnailUri
))
continue
;
var
bitmap
=
this
.
ghService
.
GetImage
(
page
.
ThumbnailUri
);
WPFHelper
.
BeginInvoke
(()
=>
{
page
.
ThumbnailBitmap
=
bitmap
;
});
}
});
}
//
public void BeginDownLoadIamge(List<PageModelBase> pages)
//
{
//
ThreadHelper.SafeRun(() =>
//
{
//
foreach (PageModelBase page in pages)
//
{
//
if (page.ThumbnailBitmap != null)
//
continue;
//
if (string.IsNullOrWhiteSpace(page.ThumbnailUri))
//
continue;
//
var bitmap = this.ghService.GetImage(page.ThumbnailUri);
//
WPFHelper.BeginInvoke(() =>
//
{
//
page.ThumbnailBitmap = bitmap;
//
});
//
}
//
});
//
}
/// <summary>
/// 开始下载控制对象
...
...
VIZ.Package.Module/Page/Group/Controller/PageModelCopyController.cs
View file @
0fd7b8bf
...
...
@@ -64,7 +64,6 @@ namespace VIZ.Package.Module
page
.
PageGroupID
=
pageGroup
.
GroupID
;
page
.
Scene
=
template
.
Scene
;
page
.
ScenePath
=
template
.
ScenePath
;
page
.
ThumbnailUri
=
template
.
ThumbnailUri
;
page
.
Remark
=
vm
.
Remark
;
page
.
Layer
=
vm
.
Layer
;
page
.
EngineType
=
template
.
EngineType
;
...
...
@@ -108,7 +107,6 @@ namespace VIZ.Package.Module
page
.
PageGroupID
=
srcPage
.
PageGroupID
;
page
.
Scene
=
srcPage
.
Scene
;
page
.
ScenePath
=
srcPage
.
ScenePath
;
page
.
ThumbnailUri
=
srcPage
.
ThumbnailUri
;
page
.
Remark
=
srcPage
.
Remark
;
page
.
Layer
=
srcPage
.
Layer
;
page
.
EngineType
=
srcPage
.
EngineType
;
...
...
VIZ.Package.Module/Page/Group/ViewModel/PageGroupViewModel.cs
View file @
0fd7b8bf
...
...
@@ -502,9 +502,6 @@ namespace VIZ.Package.Module
string
remark
=
string
.
Join
(
","
,
pages
.
Select
(
p
=>
p
.
Scene
));
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
RecordLogOperate
.
Operate
,
RecordLogTrigger
.
Human
,
RecordLogConstants
.
OPERATE_PAGE_UPDATE
,
remark
);
// 开始下载图片
this
.
pageModelController
.
BeginDownLoadIamge
(
pages
);
// 开始下载控制对象
this
.
pageModelController
.
BeginDownLoadControlObject
(
pages
,
()
=>
{
...
...
@@ -708,8 +705,6 @@ namespace VIZ.Package.Module
destGroup
.
Order
=
this
.
PageGroupModels
.
MaxOrDefault
(
p
=>
p
.
Order
)
+
1
;
this
.
PageGroupModels
.
Add
(
destGroup
);
this
.
pageModelController
.
BeginDownLoadIamge
(
destGroup
.
Pages
.
ToList
<
PageModelBase
>());
}
#
endregion
...
...
@@ -805,8 +800,6 @@ namespace VIZ.Package.Module
this
.
SelectedPageGroupModel
.
Pages
.
Add
(
destPage
);
}
this
.
pageModelController
.
BeginDownLoadIamge
(
this
.
pageModelCopyController
.
WaitCopyPages
.
ToList
<
PageModelBase
>());
}
#
endregion
...
...
@@ -909,8 +902,6 @@ namespace VIZ.Package.Module
pages
.
AddRange
(
group
.
Pages
);
}
this
.
pageModelController
.
BeginDownLoadIamge
(
pages
);
});
}
...
...
@@ -1076,9 +1067,6 @@ namespace VIZ.Package.Module
// 添加页
this
.
SelectedPageGroupModel
.
Pages
.
Add
(
destPage
);
// 获取缩略图
this
.
pageModelController
.
BeginDownLoadIamge
(
new
List
<
PageModelBase
>
{
destPage
});
return
destPage
;
}
...
...
@@ -1099,9 +1087,6 @@ namespace VIZ.Package.Module
// 添加页
this
.
SelectedPageGroupModel
.
Pages
.
Add
(
destPage
);
// 下载缩略图
this
.
pageModelController
.
BeginDownLoadIamge
(
new
List
<
PageModelBase
>
{
destPage
});
return
destPage
;
}
...
...
VIZ.Package.Module/Page/Templage/ViewModel/PageTemplateViewModel.cs
View file @
0fd7b8bf
...
...
@@ -295,9 +295,6 @@ namespace VIZ.Package.Module
string
remark
=
string
.
Join
(
","
,
templates
.
Select
(
p
=>
p
.
Scene
));
this
.
recordLogService
.
AppendLog
(
ApplicationConstants
.
APPLICATION_GROUP_NAME
,
RecordLogOperate
.
Operate
,
RecordLogTrigger
.
Human
,
RecordLogConstants
.
OPERATE_TEMPLATE_UPDATE
,
remark
);
// 开始下载图片
this
.
pageModelController
.
BeginDownLoadIamge
(
templates
);
// 开始下载控制对象
this
.
pageModelController
.
BeginDownLoadControlObject
(
templates
,
()
=>
{
...
...
@@ -409,9 +406,6 @@ namespace VIZ.Package.Module
this
.
IsLoading
=
false
;
});
// 获取场景模板缩略图
this
.
pageModelController
.
BeginDownLoadIamge
(
sceneTemplateModels
.
ToList
<
PageModelBase
>());
});
}
...
...
@@ -482,16 +476,11 @@ namespace VIZ.Package.Module
model
.
Layer
=
VizLayer
.
MAIN_LAYER
;
model
.
PageType
=
PageType
.
Scene
;
model
.
EngineType
=
EngineType
.
Viz
;
model
.
ThumbnailUri
=
fileModel
.
Thumbnail
;
model
.
ThumbnailBitmap
=
fileModel
.
ThumbnailBitmap
;
list
.
Add
(
model
);
this
.
SceneTemplateModels
.
Add
(
model
);
}
// 开始下载缩略图
this
.
pageModelController
.
BeginDownLoadIamge
(
list
);
// 开始下载控制对象
this
.
pageModelController
.
BeginDownLoadControlObject
(
list
,
()
=>
{
...
...
VIZ.Package.Service/DB/File/FileService.cs
View file @
0fd7b8bf
...
...
@@ -6,6 +6,7 @@ using System.Linq;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Storage
;
namespace
VIZ.Package.Service
{
...
...
VIZ.Package.Service/DB/Page/PageService.cs
View file @
0fd7b8bf
using
System
;
using
LiteDB
;
using
log4net
;
using
log4net.Repository.Hierarchy
;
using
System
;
using
System.Collections.Generic
;
using
System.Collections.ObjectModel
;
using
System.Linq
;
...
...
@@ -6,6 +9,7 @@ using System.Reflection;
using
System.Text
;
using
System.Text.RegularExpressions
;
using
System.Threading.Tasks
;
using
System.Web.UI
;
using
VIZ.Framework.Core
;
using
VIZ.Package.Domain
;
using
VIZ.Package.Storage
;
...
...
@@ -18,6 +22,11 @@ namespace VIZ.Package.Service
public
class
PageService
{
/// <summary>
/// 日志
/// </summary>
private
readonly
static
ILog
log
=
LogManager
.
GetLogger
(
typeof
(
PageService
));
/// <summary>
/// 加载页模板集合
/// </summary>
/// <returns>节目模板集合</returns>
...
...
@@ -25,13 +34,12 @@ namespace VIZ.Package.Service
{
List
<
PageTemplateModel
>
list
=
new
List
<
PageTemplateModel
>();
foreach
(
var
entity
in
ApplicationDomainEx
.
ProjectDbContext
.
PageTemplate
.
FindAll
())
foreach
(
var
entity
in
ApplicationDomainEx
.
ProjectDbContext
.
PageTemplate
.
FindAll
()
.
ToList
()
)
{
PageTemplateModel
model
=
new
PageTemplateModel
();
model
.
Scene
=
entity
.
Scene
;
model
.
ScenePath
=
entity
.
ScenePath
;
model
.
ThumbnailUri
=
entity
.
ThumbnailUri
;
model
.
Remark
=
entity
.
Remark
;
model
.
Layer
=
entity
.
Layer
;
model
.
EngineType
=
entity
.
EngineType
;
...
...
@@ -42,6 +50,8 @@ namespace VIZ.Package.Service
model
.
StateIdentifier
=
entity
.
StateIdentifier
;
model
.
BackgroundScene
=
entity
.
BackgroundScene
;
model
.
TemplateID
=
entity
.
TemplateID
;
// 获取缩略图
model
.
ThumbnailBitmap
=
this
.
GetSceneThumbnailFromDB
(
model
);
list
.
Add
(
model
);
}
...
...
@@ -55,6 +65,7 @@ namespace VIZ.Package.Service
/// <param name="pageTemplates">页模板集合</param>
public
void
SavePageTemplates
(
IList
<
PageTemplateModel
>
pageTemplates
)
{
// Step 1. 保存数据
ApplicationDomainEx
.
ProjectDbContext
.
PageTemplate
.
DeleteAll
();
List
<
PageTemplateEntity
>
list
=
new
List
<
PageTemplateEntity
>();
...
...
@@ -66,7 +77,6 @@ namespace VIZ.Package.Service
entity
.
Scene
=
model
.
Scene
;
entity
.
ScenePath
=
model
.
ScenePath
;
entity
.
ThumbnailUri
=
model
.
ThumbnailUri
;
entity
.
Remark
=
model
.
Remark
;
entity
.
Layer
=
model
.
Layer
;
entity
.
EngineType
=
model
.
EngineType
;
...
...
@@ -79,6 +89,8 @@ namespace VIZ.Package.Service
entity
.
TemplateID
=
model
.
TemplateID
;
entity
.
Order
=
i
;
this
.
SaveSceneThumbnailToDB
(
model
,
model
.
ThumbnailBitmap
);
list
.
Add
(
entity
);
}
...
...
@@ -106,7 +118,7 @@ namespace VIZ.Package.Service
}
// 页
foreach
(
var
entity
in
ApplicationDomainEx
.
ProjectDbContext
.
Page
.
FindAll
())
foreach
(
var
entity
in
ApplicationDomainEx
.
ProjectDbContext
.
Page
.
FindAll
()
.
ToList
()
)
{
if
(!
dic
.
TryGetValue
(
entity
.
PageGroupID
,
out
PageGroupModel
groupModel
))
continue
;
...
...
@@ -115,7 +127,6 @@ namespace VIZ.Package.Service
model
.
Scene
=
entity
.
Scene
;
model
.
ScenePath
=
entity
.
ScenePath
;
model
.
ThumbnailUri
=
entity
.
ThumbnailUri
;
model
.
Remark
=
entity
.
Remark
;
model
.
Layer
=
entity
.
Layer
;
model
.
EngineType
=
entity
.
EngineType
;
...
...
@@ -134,6 +145,8 @@ namespace VIZ.Package.Service
model
.
PluginName
=
ApplicationDomainEx
.
PluginInfos
.
FirstOrDefault
(
p
=>
p
.
ID
==
entity
.
PluginID
)?.
Name
;
model
.
PageNum
=
entity
.
PageNum
;
model
.
ConnGroupID
=
entity
.
ConnGroupID
;
// 场景缩略图
model
.
ThumbnailBitmap
=
this
.
GetSceneThumbnailFromDB
(
model
);
groupModel
.
Pages
.
Add
(
model
);
}
...
...
@@ -178,7 +191,6 @@ namespace VIZ.Package.Service
pageEntity
.
Scene
=
pageModel
.
Scene
;
pageEntity
.
ScenePath
=
pageModel
.
ScenePath
;
pageEntity
.
ThumbnailUri
=
pageModel
.
ThumbnailUri
;
pageEntity
.
Remark
=
pageModel
.
Remark
;
pageEntity
.
Layer
=
pageModel
.
Layer
;
pageEntity
.
EngineType
=
pageModel
.
EngineType
;
...
...
@@ -196,6 +208,8 @@ namespace VIZ.Package.Service
pageEntity
.
LayerIdentifier
=
pageModel
.
LayerIdentifier
;
pageEntity
.
StateIdentifier
=
pageModel
.
StateIdentifier
;
pageEntity
.
BackgroundScene
=
pageModel
.
BackgroundScene
;
// 保存缩略图
this
.
SaveSceneThumbnailToDB
(
pageModel
,
pageModel
.
ThumbnailBitmap
);
pages
.
Add
(
pageEntity
);
}
...
...
@@ -207,5 +221,87 @@ namespace VIZ.Package.Service
ApplicationDomainEx
.
ProjectDbContext
.
PageGroup
.
Insert
(
groups
);
ApplicationDomainEx
.
ProjectDbContext
.
Page
.
Insert
(
pages
);
}
/// <summary>
/// 从缓存获取场景缩略图
/// </summary>
/// <param name="pageBase">页基类</param>
/// <returns>场景缩略图</returns>
private
System
.
Drawing
.
Bitmap
GetSceneThumbnailFromDB
(
PageModelBase
pageBase
)
{
try
{
Guid
id
=
Guid
.
Empty
;
if
(
pageBase
is
PageTemplateModel
template
)
{
id
=
template
.
TemplateID
;
}
else
if
(
pageBase
is
PageModel
page
)
{
id
=
page
.
PageID
;
}
else
{
return
null
;
}
LiteFileInfo
<
Guid
>
img
=
ApplicationDomainEx
.
ProjectDbContext
.
SceneThumbnailCache
.
FindById
(
id
);
if
(
img
==
null
)
return
null
;
using
(
System
.
IO
.
MemoryStream
ms
=
new
System
.
IO
.
MemoryStream
())
{
img
.
CopyTo
(
ms
);
return
new
System
.
Drawing
.
Bitmap
(
ms
);
}
}
catch
(
Exception
ex
)
{
log
.
Error
(
ex
);
return
null
;
}
}
/// <summary>
/// 保存缩略图至缓存
/// </summary>
/// <param name="pageBase">页基类</param>
/// <param name="bmp">场景缩略图</param>
private
void
SaveSceneThumbnailToDB
(
PageModelBase
pageBase
,
System
.
Drawing
.
Bitmap
bmp
)
{
if
(
bmp
==
null
)
return
;
try
{
Guid
id
=
Guid
.
Empty
;
if
(
pageBase
is
PageTemplateModel
template
)
{
id
=
template
.
TemplateID
;
}
else
if
(
pageBase
is
PageModel
page
)
{
id
=
page
.
PageID
;
}
else
{
return
;
}
using
(
System
.
IO
.
MemoryStream
ms
=
new
System
.
IO
.
MemoryStream
())
{
bmp
.
Save
(
ms
,
System
.
Drawing
.
Imaging
.
ImageFormat
.
Jpeg
);
ms
.
Position
=
0
;
ApplicationDomainEx
.
ProjectDbContext
.
SceneThumbnailCache
.
Upload
(
id
,
$"
{
id
}
"
,
ms
);
}
}
catch
(
Exception
ex
)
{
log
.
Error
(
ex
);
}
}
}
}
VIZ.Package.Service/Viz/VizControlObjectDownloadService.cs
View file @
0fd7b8bf
...
...
@@ -83,10 +83,7 @@ namespace VIZ.Package.Service
this
.
vizCommandService
.
SetObject
(
ApplicationDomainEx
.
PreviewConn
,
pageBase
.
ScenePath
,
pageBase
.
Layer
);
// 获取场景缩略图
//if (pageBase.ThumbnailBitmap == null)
//{
// pageBase.ThumbnailBitmap = this.vizCommandService.GetSceneImage(ApplicationDomainEx.PreviewConn, pageBase.ScenePath);
//}
pageBase
.
ThumbnailBitmap
=
this
.
vizCommandService
.
GetSceneImage
(
ApplicationDomainEx
.
PreviewConn
,
pageBase
.
ScenePath
);
// 获取控制对象
ControlObjectModel
controlObject
=
this
.
vizCommandControlObjectService
.
GetControlObject
(
ApplicationDomainEx
.
PreviewConn
);
...
...
VIZ.Package.Storage/Entity/Page/PageEntityBase.cs
View file @
0fd7b8bf
...
...
@@ -29,16 +29,6 @@ namespace VIZ.Package.Storage
public
string
ScenePath
{
get
;
set
;
}
/// <summary>
/// 缩略图地址
/// </summary>
public
string
ThumbnailUri
{
get
;
set
;
}
/// <summary>
/// 缩略图数据
/// </summary>
public
byte
[]
ThumbnailBuffer
{
get
;
set
;
}
/// <summary>
/// 备注
/// </summary>
public
string
Remark
{
get
;
set
;
}
...
...
VIZ.Package.Storage/ProjectDbContext.cs
View file @
0fd7b8bf
...
...
@@ -39,6 +39,8 @@ namespace VIZ.Package.Storage
this
.
Page
=
this
.
Database
.
GetCollection
<
PageEntity
>();
this
.
ControlField
=
this
.
Database
.
GetCollection
<
ControlFieldEntity
>();
this
.
ControlObject
=
this
.
Database
.
GetCollection
<
ControlObjectEntity
>();
this
.
SceneThumbnailCache
=
this
.
Database
.
GetStorage
<
Guid
>(
"_SceneThumbnailFiles"
,
"_SceneThumbnailChunks"
);
}
/// <summary>
...
...
@@ -72,6 +74,11 @@ namespace VIZ.Package.Storage
public
ILiteCollection
<
ControlObjectEntity
>
ControlObject
{
get
;
private
set
;
}
/// <summary>
/// 场景缩略图缓存
/// </summary>
public
ILiteStorage
<
Guid
>
SceneThumbnailCache
{
get
;
private
set
;
}
/// <summary>
/// 销毁
/// </summary>
public
void
Dispose
()
...
...
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