Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
V
VIZ.TVP
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.TVP
Commits
6c361a41
Commit
6c361a41
authored
Dec 30, 2022
by
wangonghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改本地资源和媒体资源绑定实体
parent
18874b14
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
289 additions
and
129 deletions
+289
-129
VIZ.TVP.Domain/Model/Resource/MH/MHResourceFileModel.cs
+129
-0
VIZ.TVP.Domain/Model/Resource/MH/MHResourceFolderModel.cs
+46
-0
VIZ.TVP.Domain/VIZ.TVP.Domain.csproj
+2
-0
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/ILocalResourceFileSupport.cs
+4
-4
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/LocalResourceFileController.cs
+4
-4
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/ThumbnailHelper.cs
+1
-1
VIZ.TVP.Module/Resource/LocalResource/View/LocalResourceView.xaml
+1
-1
VIZ.TVP.Module/Resource/LocalResource/ViewModel/LocalResourceViewModel.cs
+16
-16
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/IMediaResourceFileSupport.cs
+4
-4
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileController.cs
+35
-77
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileService.cs
+24
-0
VIZ.TVP.Module/Resource/MediaResource/ViewModel/MediaResourceViewModel.cs
+23
-22
No files found.
VIZ.TVP.Domain/Model/Resource/MH/MHResourceFileModel.cs
0 → 100644
View file @
6c361a41
using
System
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.TVP.Storage
;
namespace
VIZ.TVP.Domain
{
public
class
MHResourceFileModel
:
ResourceFileModelBase
,
IResourceDrag
,
IDisposable
{
/// <summary>
/// GH 节点
/// </summary>
public
GH_Entry_Node
EntryNode
{
get
;
set
;
}
#
region
FloderModel
--
所属文件夹模型
private
MHResourceFolderModel
floderModel
;
/// <summary>
/// 所属文件夹模型
/// </summary>
public
MHResourceFolderModel
FloderModel
{
get
{
return
floderModel
;
}
set
{
floderModel
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
FloderModel
));
}
}
#
endregion
#
region
Src
--
源
private
string
src
;
/// <summary>
/// 源
/// </summary>
public
string
Src
{
get
{
return
src
;
}
set
{
src
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Src
));
}
}
#
endregion
#
region
Thumbnail
--
缩略图
private
string
thumbnail
;
/// <summary>
/// 缩略图
/// </summary>
public
string
Thumbnail
{
get
{
return
thumbnail
;
}
set
{
thumbnail
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Thumbnail
));
}
}
#
endregion
#
region
MimeType
--
文件格式
private
string
mimeType
;
/// <summary>
/// 文件格式
/// </summary>
public
string
MimeType
{
get
{
return
mimeType
;
}
set
{
mimeType
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
MimeType
));
}
}
#
endregion
#
region
Path
--
路径
private
string
path
;
/// <summary>
/// 路径
/// </summary>
public
string
Path
{
get
{
return
path
;
}
set
{
path
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Path
));
}
}
#
endregion
#
region
ResourcePath
--
资源路径
/// <summary>
/// 资源路径
/// </summary>
public
string
ResourcePath
{
get
{
return
$"
{
this
.
FileType
}
*
{
this
.
Path
}
"
;
}
}
#
endregion
// ---------------------------------------------------------------------
// 扩展属性
#
region
ThumbnailBitmap
--
缩略图图片
private
Bitmap
thumbnailBitmap
;
/// <summary>
/// 缩略图图片
/// </summary>
public
Bitmap
ThumbnailBitmap
{
get
{
return
thumbnailBitmap
;
}
set
{
thumbnailBitmap
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
ThumbnailBitmap
));
}
}
#
endregion
// ---------------------------------------------------------------------
// 方法
/// <summary>
/// 销毁
/// </summary>
public
void
Dispose
()
{
this
.
ThumbnailBitmap
?.
Dispose
();
this
.
ThumbnailBitmap
=
null
;
}
}
}
VIZ.TVP.Domain/Model/Resource/MH/MHResourceFolderModel.cs
0 → 100644
View file @
6c361a41
using
System
;
using
System.Collections.Generic
;
using
System.Collections.ObjectModel
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
using
VIZ.TVP.Storage
;
namespace
VIZ.TVP.Domain
{
public
class
MHResourceFolderModel
:
ResourceFolderModelBase
{
/// <summary>
/// GH 节点
/// </summary>
public
GH_Entry_Node
EntryNode
{
get
;
set
;
}
#
region
Path
--
路径
private
string
path
;
/// <summary>
/// 路径
/// </summary>
public
string
Path
{
get
{
return
path
;
}
set
{
path
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Path
));
}
}
#
endregion
#
region
Files
--
文件集合
private
ObservableCollection
<
MHResourceFileModel
>
files
;
/// <summary>
/// 文件集合
/// </summary>
public
ObservableCollection
<
MHResourceFileModel
>
Files
{
get
{
return
files
;
}
set
{
files
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Files
));
}
}
#
endregion
}
}
VIZ.TVP.Domain/VIZ.TVP.Domain.csproj
View file @
6c361a41
...
@@ -103,6 +103,8 @@
...
@@ -103,6 +103,8 @@
<Compile Include="Model\Resource\IResourceDrag.cs" />
<Compile Include="Model\Resource\IResourceDrag.cs" />
<Compile Include="Model\Resource\LF\LFResourceFileModel.cs" />
<Compile Include="Model\Resource\LF\LFResourceFileModel.cs" />
<Compile Include="Model\Resource\LF\LFResourceFolderModel.cs" />
<Compile Include="Model\Resource\LF\LFResourceFolderModel.cs" />
<Compile Include="Model\Resource\MH\MHResourceFileModel.cs" />
<Compile Include="Model\Resource\MH\MHResourceFolderModel.cs" />
<Compile Include="Model\Resource\ResourceDragData.cs" />
<Compile Include="Model\Resource\ResourceDragData.cs" />
<Compile Include="Model\TVPConnection\ITVPEndpointManager.cs" />
<Compile Include="Model\TVPConnection\ITVPEndpointManager.cs" />
<Compile Include="Model\TVPConnection\TVPConnectionGroupModel.cs" />
<Compile Include="Model\TVPConnection\TVPConnectionGroupModel.cs" />
...
...
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/ILocalResourceFileSupport.cs
View file @
6c361a41
...
@@ -13,22 +13,22 @@ namespace VIZ.TVP.Module
...
@@ -13,22 +13,22 @@ namespace VIZ.TVP.Module
/// <summary>
/// <summary>
/// 文件夹目录集合
/// 文件夹目录集合
/// </summary>
/// </summary>
ObservableCollection
<
GH
ResourceFolderModel
>
FolderModels
{
get
;
set
;
}
ObservableCollection
<
LF
ResourceFolderModel
>
FolderModels
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 当前选中的文件夹
/// 当前选中的文件夹
/// </summary>
/// </summary>
GH
ResourceFolderModel
SelectedFolderModel
{
get
;
set
;
}
LF
ResourceFolderModel
SelectedFolderModel
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 文件集合
/// 文件集合
/// </summary>
/// </summary>
ObservableCollection
<
GH
ResourceFileModel
>
FileModels
{
get
;
set
;
}
ObservableCollection
<
LF
ResourceFileModel
>
FileModels
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 选中的文件模型
/// 选中的文件模型
/// </summary>
/// </summary>
GH
ResourceFileModel
SelectedFileModel
{
get
;
set
;
}
LF
ResourceFileModel
SelectedFileModel
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 是否正在加载文件
/// 是否正在加载文件
...
...
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/LocalResourceFileController.cs
View file @
6c361a41
...
@@ -41,14 +41,14 @@ namespace VIZ.TVP.Module
...
@@ -41,14 +41,14 @@ namespace VIZ.TVP.Module
/// 更新文件模型
/// 更新文件模型
/// </summary>
/// </summary>
/// <param name="folder">文件夹</param>
/// <param name="folder">文件夹</param>
public
void
UpdateFileModels
(
GH
ResourceFolderModel
folder
)
public
void
UpdateFileModels
(
LF
ResourceFolderModel
folder
)
{
{
//FolderModels = new ObservableCollection<LFResourceFolderModel>();
//FolderModels = new ObservableCollection<LFResourceFolderModel>();
//FolderModels = tempfolderModel;
//FolderModels = tempfolderModel;
//SelectedFolderModel = tempSelecFolder;
//SelectedFolderModel = tempSelecFolder;
if
(
folder
==
null
)
return
;
if
(
folder
==
null
)
return
;
ObservableCollection
<
GHResourceFileModel
>
ImgeFile
=
new
ObservableCollection
<
GH
ResourceFileModel
>();
ObservableCollection
<
LFResourceFileModel
>
ImgeFile
=
new
ObservableCollection
<
LF
ResourceFileModel
>();
//Task.Run(() =>
//Task.Run(() =>
//{
//{
...
@@ -100,12 +100,12 @@ namespace VIZ.TVP.Module
...
@@ -100,12 +100,12 @@ namespace VIZ.TVP.Module
/// <summary>
/// <summary>
/// 销毁文件模型
/// 销毁文件模型
/// </summary>
/// </summary>
public
void
DisposeFileModels
(
GH
ResourceFolderModel
folder
)
public
void
DisposeFileModels
(
LF
ResourceFolderModel
folder
)
{
{
if
(
folder
==
null
||
folder
.
Files
==
null
||
folder
.
Files
.
Count
==
0
)
if
(
folder
==
null
||
folder
.
Files
==
null
||
folder
.
Files
.
Count
==
0
)
return
;
return
;
foreach
(
GH
ResourceFileModel
file
in
folder
.
Files
)
foreach
(
LF
ResourceFileModel
file
in
folder
.
Files
)
{
{
file
.
Dispose
();
file
.
Dispose
();
}
}
...
...
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/ThumbnailHelper.cs
View file @
6c361a41
...
@@ -88,7 +88,7 @@ namespace VIZ.TVP.Module
...
@@ -88,7 +88,7 @@ namespace VIZ.TVP.Module
return
false
;
return
false
;
}
}
}
}
p
rivate
static
Boolean
IsImageByName
(
string
name
)
p
ublic
static
Boolean
IsImageByName
(
string
name
)
{
{
int
pos
=
name
.
LastIndexOf
(
"."
);
int
pos
=
name
.
LastIndexOf
(
"."
);
if
(
name
.
Length
-
pos
-
1
<
3
)
if
(
name
.
Length
-
pos
-
1
<
3
)
...
...
VIZ.TVP.Module/Resource/LocalResource/View/LocalResourceView.xaml
View file @
6c361a41
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
xmlns:common="clr-namespace:VIZ.TVP.Common;assembly=VIZ.TVP.Common"
xmlns:common="clr-namespace:VIZ.TVP.Common;assembly=VIZ.TVP.Common"
xmlns:domain="clr-namespace:VIZ.TVP.Domain;assembly=VIZ.TVP.Domain"
xmlns:domain="clr-namespace:VIZ.TVP.Domain;assembly=VIZ.TVP.Domain"
mc:Ignorable="d"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=local:
Viz
ResourceViewModel}"
d:DataContext="{d:DesignInstance Type=local:
Local
ResourceViewModel}"
d:DesignHeight="450" d:DesignWidth="800">
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<UserControl.Resources>
...
...
VIZ.TVP.Module/Resource/LocalResource/ViewModel/LocalResourceViewModel.cs
View file @
6c361a41
...
@@ -79,11 +79,11 @@ namespace VIZ.TVP.Module
...
@@ -79,11 +79,11 @@ namespace VIZ.TVP.Module
#
region
FolderModels
--
文件夹目录集合
#
region
FolderModels
--
文件夹目录集合
private
ObservableCollection
<
GH
ResourceFolderModel
>
folderModels
;
private
ObservableCollection
<
LF
ResourceFolderModel
>
folderModels
;
/// <summary>
/// <summary>
/// 文件夹目录集合
/// 文件夹目录集合
/// </summary>
/// </summary>
public
ObservableCollection
<
GH
ResourceFolderModel
>
FolderModels
public
ObservableCollection
<
LF
ResourceFolderModel
>
FolderModels
{
{
get
{
return
folderModels
;
}
get
{
return
folderModels
;
}
set
set
...
@@ -97,11 +97,11 @@ namespace VIZ.TVP.Module
...
@@ -97,11 +97,11 @@ namespace VIZ.TVP.Module
#
region
SelectedFolderModel
--
当前选中的文件夹
#
region
SelectedFolderModel
--
当前选中的文件夹
private
GH
ResourceFolderModel
selectedFolderModel
;
private
LF
ResourceFolderModel
selectedFolderModel
;
/// <summary>
/// <summary>
/// 当前选中的文件夹
/// 当前选中的文件夹
/// </summary>
/// </summary>
public
GH
ResourceFolderModel
SelectedFolderModel
public
LF
ResourceFolderModel
SelectedFolderModel
{
{
get
{
return
selectedFolderModel
;
}
get
{
return
selectedFolderModel
;
}
set
set
...
@@ -123,11 +123,11 @@ namespace VIZ.TVP.Module
...
@@ -123,11 +123,11 @@ namespace VIZ.TVP.Module
#
region
FileModels
--
文件集合
#
region
FileModels
--
文件集合
private
ObservableCollection
<
GH
ResourceFileModel
>
fileModels
;
private
ObservableCollection
<
LF
ResourceFileModel
>
fileModels
;
/// <summary>
/// <summary>
/// 文件集合
/// 文件集合
/// </summary>
/// </summary>
public
ObservableCollection
<
GH
ResourceFileModel
>
FileModels
public
ObservableCollection
<
LF
ResourceFileModel
>
FileModels
{
{
get
{
return
fileModels
;
}
get
{
return
fileModels
;
}
set
set
...
@@ -142,11 +142,11 @@ namespace VIZ.TVP.Module
...
@@ -142,11 +142,11 @@ namespace VIZ.TVP.Module
#
region
SelectedFileModel
--
选中的文件模型
#
region
SelectedFileModel
--
选中的文件模型
private
GH
ResourceFileModel
selectedFileModel
;
private
LF
ResourceFileModel
selectedFileModel
;
/// <summary>
/// <summary>
/// 选中的文件模型
/// 选中的文件模型
/// </summary>
/// </summary>
public
GH
ResourceFileModel
SelectedFileModel
public
LF
ResourceFileModel
SelectedFileModel
{
{
get
{
return
selectedFileModel
;
}
get
{
return
selectedFileModel
;
}
set
{
selectedFileModel
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectedFileModel
));
}
set
{
selectedFileModel
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectedFileModel
));
}
...
@@ -253,10 +253,10 @@ namespace VIZ.TVP.Module
...
@@ -253,10 +253,10 @@ namespace VIZ.TVP.Module
try
try
{
{
// 获取电脑上的每个逻辑驱动
// 获取电脑上的每个逻辑驱动
this
.
FolderModels
=
new
ObservableCollection
<
GH
ResourceFolderModel
>();
this
.
FolderModels
=
new
ObservableCollection
<
LF
ResourceFolderModel
>();
foreach
(
var
drive
in
Directory
.
GetLogicalDrives
())
foreach
(
var
drive
in
Directory
.
GetLogicalDrives
())
{
{
FolderModels
.
Add
(
new
GH
ResourceFolderModel
()
FolderModels
.
Add
(
new
LF
ResourceFolderModel
()
{
{
Name
=
drive
,
Name
=
drive
,
Path
=
drive
.
ToString
(),
Path
=
drive
.
ToString
(),
...
@@ -312,7 +312,7 @@ namespace VIZ.TVP.Module
...
@@ -312,7 +312,7 @@ namespace VIZ.TVP.Module
/// </summary>
/// </summary>
private
void
RefreshFile
()
private
void
RefreshFile
()
{
{
GH
ResourceFolderModel
folder
=
this
.
SelectedFolderModel
;
LF
ResourceFolderModel
folder
=
this
.
SelectedFolderModel
;
if
(
folder
==
null
)
if
(
folder
==
null
)
return
;
return
;
...
@@ -367,7 +367,7 @@ namespace VIZ.TVP.Module
...
@@ -367,7 +367,7 @@ namespace VIZ.TVP.Module
// 为目录做迭代,添加目录
// 为目录做迭代,添加目录
directories
.
ForEach
(
directoryPath
=>
directories
.
ForEach
(
directoryPath
=>
{
{
selectedFolderModel
.
Children
.
Add
(
new
GH
ResourceFolderModel
()
selectedFolderModel
.
Children
.
Add
(
new
LF
ResourceFolderModel
()
{
{
Name
=
GetFileFolderName
(
directoryPath
),
Name
=
GetFileFolderName
(
directoryPath
),
Path
=
directoryPath
,
Path
=
directoryPath
,
...
@@ -421,7 +421,7 @@ namespace VIZ.TVP.Module
...
@@ -421,7 +421,7 @@ namespace VIZ.TVP.Module
/// 获取选中的文件
/// 获取选中的文件
/// </summary>
/// </summary>
/// <param name="value"></param>
/// <param name="value"></param>
private
void
GetFile
(
GH
ResourceFolderModel
value
)
private
void
GetFile
(
LF
ResourceFolderModel
value
)
{
{
#
region
Get
Files
#
region
Get
Files
...
@@ -441,11 +441,11 @@ namespace VIZ.TVP.Module
...
@@ -441,11 +441,11 @@ namespace VIZ.TVP.Module
}
}
catch
{
}
catch
{
}
List
<
GHResourceFileModel
>
files
=
new
List
<
GH
ResourceFileModel
>();
List
<
LFResourceFileModel
>
files
=
new
List
<
LF
ResourceFileModel
>();
// 为目录做迭代,添加文件
// 为目录做迭代,添加文件
Files
.
ForEach
(
filePath
=>
Files
.
ForEach
(
filePath
=>
{
{
var
ghFileModel
=
new
GH
ResourceFileModel
();
var
ghFileModel
=
new
LF
ResourceFileModel
();
ghFileModel
.
Name
=
GetFileFolderName
(
filePath
);
ghFileModel
.
Name
=
GetFileFolderName
(
filePath
);
ghFileModel
.
Path
=
filePath
;
ghFileModel
.
Path
=
filePath
;
...
@@ -575,7 +575,7 @@ namespace VIZ.TVP.Module
...
@@ -575,7 +575,7 @@ namespace VIZ.TVP.Module
/// <param name="e">赛选参数</param>
/// <param name="e">赛选参数</param>
private
void
FileRowFilter
(
RowFilterArgs
e
)
private
void
FileRowFilter
(
RowFilterArgs
e
)
{
{
GHResourceFileModel
fileModel
=
e
.
Item
as
GH
ResourceFileModel
;
LFResourceFileModel
fileModel
=
e
.
Item
as
LF
ResourceFileModel
;
if
(
fileModel
==
null
)
if
(
fileModel
==
null
)
{
{
e
.
Visible
=
false
;
e
.
Visible
=
false
;
...
...
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/IMediaResourceFileSupport.cs
View file @
6c361a41
...
@@ -13,22 +13,22 @@ namespace VIZ.TVP.Module
...
@@ -13,22 +13,22 @@ namespace VIZ.TVP.Module
/// <summary>
/// <summary>
/// 文件夹目录集合
/// 文件夹目录集合
/// </summary>
/// </summary>
ObservableCollection
<
G
HResourceFolderModel
>
FolderModels
{
get
;
set
;
}
ObservableCollection
<
M
HResourceFolderModel
>
FolderModels
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 当前选中的文件夹
/// 当前选中的文件夹
/// </summary>
/// </summary>
G
HResourceFolderModel
SelectedFolderModel
{
get
;
set
;
}
M
HResourceFolderModel
SelectedFolderModel
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 文件集合
/// 文件集合
/// </summary>
/// </summary>
ObservableCollection
<
G
HResourceFileModel
>
FileModels
{
get
;
set
;
}
ObservableCollection
<
M
HResourceFileModel
>
FileModels
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 选中的文件模型
/// 选中的文件模型
/// </summary>
/// </summary>
G
HResourceFileModel
SelectedFileModel
{
get
;
set
;
}
M
HResourceFileModel
SelectedFileModel
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 是否正在加载文件
/// 是否正在加载文件
...
...
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileController.cs
View file @
6c361a41
...
@@ -3,9 +3,12 @@ using System;
...
@@ -3,9 +3,12 @@ using System;
using
System.Collections.Generic
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Drawing
;
using
System.Drawing.Imaging
;
using
System.Drawing.Imaging
;
using
System.IO
;
using
System.Linq
;
using
System.Linq
;
using
System.Net.Http
;
using
System.Text
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Threading.Tasks
;
using
System.Web
;
using
VIZ.Framework.Core
;
using
VIZ.Framework.Core
;
using
VIZ.TVP.Domain
;
using
VIZ.TVP.Domain
;
using
VIZ.TVP.Service
;
using
VIZ.TVP.Service
;
...
@@ -34,21 +37,12 @@ namespace VIZ.TVP.Module
...
@@ -34,21 +37,12 @@ namespace VIZ.TVP.Module
/// </summary>
/// </summary>
public
IMediaResourceFileSupport
Support
{
get
;
private
set
;
}
public
IMediaResourceFileSupport
Support
{
get
;
private
set
;
}
/// <summary>
/// GH 资源服务
/// </summary>
private
IGHResourceService
ghResourceService
=
new
GHResourceService
();
/// <summary>
/// GH 服务
/// </summary>
private
IGHService
ghService
=
new
GHService
();
/// <summary>
/// <summary>
/// 更新文件模型
/// 更新文件模型
/// </summary>
/// </summary>
/// <param name="folder">文件夹</param>
/// <param name="folder">文件夹</param>
public
void
UpdateFileModels
(
G
HResourceFolderModel
folder
)
public
void
UpdateFileModels
(
M
HResourceFolderModel
folder
)
{
{
// 文件夹对象不存在
// 文件夹对象不存在
if
(
folder
==
null
)
if
(
folder
==
null
)
...
@@ -100,43 +94,52 @@ namespace VIZ.TVP.Module
...
@@ -100,43 +94,52 @@ namespace VIZ.TVP.Module
string
header
=
string
.
Format
(
"http://192.168.3.76:9000/api/home/GetListFile?filePath={0}"
,
folder
.
Path
);
string
header
=
string
.
Format
(
"http://192.168.3.76:9000/api/home/GetListFile?filePath={0}"
,
folder
.
Path
);
var
FileResult
=
await
MediaResourceFileService
.
PostObjectAsync
<
fileListResult
,
string
>(
header
,
""
);
var
FileResult
=
await
MediaResourceFileService
.
PostObjectAsync
<
fileListResult
,
string
>(
header
,
""
);
List
<
GHResourceFileModel
>
list
=
new
List
<
G
HResourceFileModel
>();
List
<
MHResourceFileModel
>
list
=
new
List
<
M
HResourceFileModel
>();
// folder.Files = new System.Collections.ObjectModel.ObservableCollection<GHResourceFileModel>();
// folder.Files = new System.Collections.ObjectModel.ObservableCollection<GHResourceFileModel>();
foreach
(
var
file
in
FileResult
.
masterData
)
foreach
(
var
file
in
FileResult
.
masterData
)
{
{
GHResourceFileModel
GHFile
=
new
G
HResourceFileModel
();
MHResourceFileModel
GHFile
=
new
M
HResourceFileModel
();
GHFile
.
Name
=
file
.
fileName
;
GHFile
.
Name
=
file
.
fileName
;
GHFile
.
Path
=
file
.
smallIconUrl
;
GHFile
.
Path
=
file
.
smallIconUrl
;
list
.
Add
(
GHFile
);
if
(
ThumbnailHelper
.
IsImage
(
GHFile
.
Name
))
if
(
ThumbnailHelper
.
IsImage
ByName
(
GHFile
.
Name
))
{
{
//GetFile
//GetFile
string
url
=
string
.
Format
(
"http://192.168.3.76:9000/api/home/GetFile?filePath={0}"
,
folder
.
Path
);
string
url
=
string
.
Format
(
"http://192.168.3.76:9000/api/home/GetFile?filePath={0}"
,
GHFile
.
Path
);
var
fileResult
=
await
MediaResourceFileService
.
GetImage
(
url
);
GHFile
.
FileType
=
ResourceFileType
.
IMAGE
;
Image
img
=
Bitmap
.
FromStream
(
fileResult
);
Bitmap
bmp
=
new
Bitmap
(
img
);
GHFile
.
ThumbnailBitmap
=
bmp
;
// var r
}
}
else
if
(
ThumbnailHelper
.
Is
Image
(
GHFile
.
Name
))
else
if
(
ThumbnailHelper
.
Is
Video
(
GHFile
.
Name
))
{
{
string
strVedioPath
=
string
.
Format
(
"{0}{1}"
,
System
.
Environment
.
CurrentDirectory
,
"\\VedioImage\\Vedio.jpeg"
);
Image
vedioImage
=
Image
.
FromFile
(
strVedioPath
);
Bitmap
vedioBtm
=
new
Bitmap
(
vedioImage
);
GHFile
.
ThumbnailBitmap
=
vedioBtm
;
GHFile
.
FileType
=
ResourceFileType
.
Video
;
}
}
list
.
Add
(
GHFile
);
}
}
});
folder
.
Files
=
list
.
ToObservableCollection
();
this
.
Support
.
FileModels
=
folder
.
Files
;
});
}
}
public
async
Task
<
List
<
G
HResourceFolderModel
>>
GetMeiaResourceFolder
()
public
async
Task
<
List
<
M
HResourceFolderModel
>>
GetMeiaResourceFolder
()
{
{
var
folderResult
=
await
MediaResourceFileService
.
PostObjectAsync
<
fileListResult
,
string
>(
"http://192.168.3.76:9000/api/home/GetListFiles"
,
""
);
var
folderResult
=
await
MediaResourceFileService
.
PostObjectAsync
<
fileListResult
,
string
>(
"http://192.168.3.76:9000/api/home/GetListFiles"
,
""
);
...
@@ -148,23 +151,23 @@ namespace VIZ.TVP.Module
...
@@ -148,23 +151,23 @@ namespace VIZ.TVP.Module
private
List
<
G
HResourceFolderModel
>
GetFolder
(
List
<
ms
>
foldersDatas
)
private
List
<
M
HResourceFolderModel
>
GetFolder
(
List
<
ms
>
foldersDatas
)
{
{
List
<
GHResourceFolderModel
>
listFolderModel
=
new
List
<
G
HResourceFolderModel
>();
List
<
MHResourceFolderModel
>
listFolderModel
=
new
List
<
M
HResourceFolderModel
>();
foreach
(
var
floderData
in
foldersDatas
)
foreach
(
var
floderData
in
foldersDatas
)
{
{
if
(
floderData
.
fileType
==
"floder"
)
if
(
floderData
.
fileType
==
"floder"
)
{
{
GHResourceFolderModel
child
=
new
G
HResourceFolderModel
();
MHResourceFolderModel
child
=
new
M
HResourceFolderModel
();
child
.
Name
=
floderData
.
fileName
;
child
.
Name
=
floderData
.
fileName
;
child
.
FolderType
=
ResourceFolderType
.
Folder
;
child
.
FolderType
=
ResourceFolderType
.
Folder
;
child
.
Path
=
floderData
.
smallIconUrl
;
child
.
Path
=
floderData
.
smallIconUrl
;
List
<
G
HResourceFolderModel
>
children_list
=
GetFolder
(
floderData
.
m
);
List
<
M
HResourceFolderModel
>
children_list
=
GetFolder
(
floderData
.
m
);
foreach
(
G
HResourceFolderModel
item
in
children_list
)
foreach
(
M
HResourceFolderModel
item
in
children_list
)
{
{
child
.
Children
.
Add
(
item
);
child
.
Children
.
Add
(
item
);
...
@@ -179,60 +182,15 @@ namespace VIZ.TVP.Module
...
@@ -179,60 +182,15 @@ namespace VIZ.TVP.Module
return
listFolderModel
;
return
listFolderModel
;
}
}
/// <summary>
/// 开始下载缩略图
/// </summary>
/// <param name="folder">文件夹</param>
public
void
BeginDownloadThumbnail
(
GHResourceFolderModel
folder
)
{
if
(
folder
==
null
||
folder
.
Files
==
null
||
folder
.
Files
.
Count
==
0
)
return
;
ThreadHelper
.
SafeRun
(()
=>
{
foreach
(
GHResourceFileModel
file
in
folder
.
Files
)
{
this
.
DownloadThumbnail
(
file
);
}
});
}
/// <summary>
/// 开始下载缩略图
/// </summary>
/// <param name="file">文件</param>
public
void
DownloadThumbnail
(
GHResourceFileModel
file
)
{
if
(
file
==
null
||
string
.
IsNullOrWhiteSpace
(
file
.
Thumbnail
))
return
;
try
{
Bitmap
bmp
=
this
.
ghService
.
GetImage
(
file
.
Thumbnail
);
WPFHelper
.
BeginInvoke
(()
=>
{
file
.
ThumbnailBitmap
=
bmp
;
});
}
catch
(
Exception
ex
)
{
log
.
Error
(
ex
);
}
}
/// <summary>
/// <summary>
/// 销毁文件模型
/// 销毁文件模型
/// </summary>
/// </summary>
public
void
DisposeFileModels
(
G
HResourceFolderModel
folder
)
public
void
DisposeFileModels
(
M
HResourceFolderModel
folder
)
{
{
if
(
folder
==
null
||
folder
.
Files
==
null
||
folder
.
Files
.
Count
==
0
)
if
(
folder
==
null
||
folder
.
Files
==
null
||
folder
.
Files
.
Count
==
0
)
return
;
return
;
foreach
(
G
HResourceFileModel
file
in
folder
.
Files
)
foreach
(
M
HResourceFileModel
file
in
folder
.
Files
)
{
{
file
.
Dispose
();
file
.
Dispose
();
}
}
...
...
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileService.cs
View file @
6c361a41
...
@@ -139,5 +139,29 @@ namespace VIZ.TVP.Module
...
@@ -139,5 +139,29 @@ namespace VIZ.TVP.Module
}
}
/// <summary>
/// 获取图片
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public
static
async
Task
<
MemoryStream
>
GetImage
(
string
url
)
{
HttpClient
client
=
new
HttpClient
(
new
HttpClientHandler
()
{
UseCookies
=
false
});
HttpResponseMessage
response
=
await
client
.
GetAsync
(
url
);
response
.
EnsureSuccessStatusCode
();
//用来抛异常的
using
(
Stream
stream
=
response
.
Content
.
ReadAsStreamAsync
().
Result
)
{
MemoryStream
ms
=
new
MemoryStream
();
stream
.
CopyTo
(
ms
);
return
ms
;
}
}
}
}
}
}
VIZ.TVP.Module/Resource/MediaResource/ViewModel/MediaResourceViewModel.cs
View file @
6c361a41
...
@@ -71,11 +71,11 @@ namespace VIZ.TVP.Module
...
@@ -71,11 +71,11 @@ namespace VIZ.TVP.Module
#
region
FolderModels
--
文件夹目录集合
#
region
FolderModels
--
文件夹目录集合
private
ObservableCollection
<
G
HResourceFolderModel
>
folderModels
;
private
ObservableCollection
<
M
HResourceFolderModel
>
folderModels
;
/// <summary>
/// <summary>
/// 文件夹目录集合
/// 文件夹目录集合
/// </summary>
/// </summary>
public
ObservableCollection
<
G
HResourceFolderModel
>
FolderModels
public
ObservableCollection
<
M
HResourceFolderModel
>
FolderModels
{
{
get
{
return
folderModels
;
}
get
{
return
folderModels
;
}
set
{
folderModels
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
FolderModels
));
}
set
{
folderModels
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
FolderModels
));
}
...
@@ -85,11 +85,11 @@ namespace VIZ.TVP.Module
...
@@ -85,11 +85,11 @@ namespace VIZ.TVP.Module
#
region
SelectedFolderModel
--
当前选中的文件夹
#
region
SelectedFolderModel
--
当前选中的文件夹
private
G
HResourceFolderModel
selectedFolderModel
;
private
M
HResourceFolderModel
selectedFolderModel
;
/// <summary>
/// <summary>
/// 当前选中的文件夹
/// 当前选中的文件夹
/// </summary>
/// </summary>
public
G
HResourceFolderModel
SelectedFolderModel
public
M
HResourceFolderModel
SelectedFolderModel
{
{
get
{
return
selectedFolderModel
;
}
get
{
return
selectedFolderModel
;
}
set
set
...
@@ -105,11 +105,11 @@ namespace VIZ.TVP.Module
...
@@ -105,11 +105,11 @@ namespace VIZ.TVP.Module
#
region
FileModels
--
文件集合
#
region
FileModels
--
文件集合
private
ObservableCollection
<
G
HResourceFileModel
>
fileModels
;
private
ObservableCollection
<
M
HResourceFileModel
>
fileModels
;
/// <summary>
/// <summary>
/// 文件集合
/// 文件集合
/// </summary>
/// </summary>
public
ObservableCollection
<
G
HResourceFileModel
>
FileModels
public
ObservableCollection
<
M
HResourceFileModel
>
FileModels
{
{
get
{
return
fileModels
;
}
get
{
return
fileModels
;
}
set
{
fileModels
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
FileModels
));
}
set
{
fileModels
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
FileModels
));
}
...
@@ -119,11 +119,11 @@ namespace VIZ.TVP.Module
...
@@ -119,11 +119,11 @@ namespace VIZ.TVP.Module
#
region
SelectedFileModel
--
选中的文件模型
#
region
SelectedFileModel
--
选中的文件模型
private
G
HResourceFileModel
selectedFileModel
;
private
M
HResourceFileModel
selectedFileModel
;
/// <summary>
/// <summary>
/// 选中的文件模型
/// 选中的文件模型
/// </summary>
/// </summary>
public
G
HResourceFileModel
SelectedFileModel
public
M
HResourceFileModel
SelectedFileModel
{
{
get
{
return
selectedFileModel
;
}
get
{
return
selectedFileModel
;
}
set
{
selectedFileModel
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectedFileModel
));
}
set
{
selectedFileModel
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectedFileModel
));
}
...
@@ -248,18 +248,19 @@ namespace VIZ.TVP.Module
...
@@ -248,18 +248,19 @@ namespace VIZ.TVP.Module
//http://192.168.3.76:9000/api/home/GetListFiles
//http://192.168.3.76:9000/api/home/GetListFiles
//List <GHResourceFolderModel> list= await this.mediaResourceFileController.GetMeiaResourceFolder();
// if (list == null) return
;
List
<
MHResourceFolderModel
>
list
=
await
this
.
mediaResourceFileController
.
GetMeiaResourceFolder
()
;
//this.FolderModels = list.ToObservableCollection();
if
(
list
==
null
)
return
;
this
.
FolderModels
=
list
.
ToObservableCollection
();
//WPFHelper.BeginInvoke(() =>
//WPFHelper.BeginInvoke(() =>
//{
//{
// this.FolderModels = list.FirstOrDefault()?.Children.Select(p => (GHResourceFolderModel)p).ToObservableCollection();
// this.FolderModels = list.FirstOrDefault()?.Children.Select(p => (GHResourceFolderModel)p).ToObservableCollection();
//
this.IsFolderLoading = false;
this
.
IsFolderLoading
=
false
;
//
});
//
});
...
@@ -285,16 +286,16 @@ namespace VIZ.TVP.Module
...
@@ -285,16 +286,16 @@ namespace VIZ.TVP.Module
/// </summary>
/// </summary>
private
void
RefreshFile
()
private
void
RefreshFile
()
{
{
G
HResourceFolderModel
folder
=
this
.
SelectedFolderModel
;
//M
HResourceFolderModel folder = this.SelectedFolderModel;
if
(
folder
==
null
)
//
if (folder == null)
return
;
//
return;
this
.
mediaResourceFileController
.
DisposeFileModels
(
folder
);
//
this.mediaResourceFileController.DisposeFileModels(folder);
folder
.
IsRefreshedFiles
=
false
;
//
folder.IsRefreshedFiles = false;
this
.
mediaResourceFileController
.
UpdateFileModels
(
this
.
SelectedFolderModel
);
//
this.mediaResourceFileController.UpdateFileModels(this.SelectedFolderModel);
}
}
#
endregion
#
endregion
...
@@ -334,7 +335,7 @@ namespace VIZ.TVP.Module
...
@@ -334,7 +335,7 @@ namespace VIZ.TVP.Module
{
{
this
.
FilterResourceFileType
=
type
;
this
.
FilterResourceFileType
=
type
;
VizResourceView
view
=
this
.
GetView
<
Viz
ResourceView
>();
MediaResourceView
view
=
this
.
GetView
<
Media
ResourceView
>();
if
(
view
==
null
)
if
(
view
==
null
)
return
;
return
;
...
@@ -389,7 +390,7 @@ namespace VIZ.TVP.Module
...
@@ -389,7 +390,7 @@ namespace VIZ.TVP.Module
if
(
service
==
null
)
if
(
service
==
null
)
return
;
return
;
service
.
AddSceneTemplate
(
this
.
SelectedFileModel
);
//
service.AddSceneTemplate(this.SelectedFileModel);
}
}
#
endregion
#
endregion
...
@@ -407,7 +408,7 @@ namespace VIZ.TVP.Module
...
@@ -407,7 +408,7 @@ namespace VIZ.TVP.Module
/// <param name="e">赛选参数</param>
/// <param name="e">赛选参数</param>
private
void
FileRowFilter
(
RowFilterArgs
e
)
private
void
FileRowFilter
(
RowFilterArgs
e
)
{
{
GHResourceFileModel
fileModel
=
e
.
Item
as
G
HResourceFileModel
;
MHResourceFileModel
fileModel
=
e
.
Item
as
M
HResourceFileModel
;
if
(
fileModel
==
null
)
if
(
fileModel
==
null
)
{
{
e
.
Visible
=
false
;
e
.
Visible
=
false
;
...
...
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