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
dd8be2d5
Commit
dd8be2d5
authored
Dec 30, 2022
by
wangonghui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
媒体库资源开发
parent
fae98791
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
443 additions
and
111 deletions
+443
-111
VIZ.TVP.Domain/Model/Resource/GH/GHResourceFolderModel.cs
+1
-1
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/LocalResourceFileController.cs
+3
-88
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/ThumbnailHelper.cs
+94
-0
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileController.cs
+111
-20
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileService.cs
+143
-0
VIZ.TVP.Module/Resource/MediaResource/Controller/Model/fileListResult.cs
+42
-0
VIZ.TVP.Module/Resource/MediaResource/Controller/Model/ms.cs
+28
-0
VIZ.TVP.Module/Resource/MediaResource/ViewModel/MediaResourceViewModel.cs
+18
-2
VIZ.TVP.Module/VIZ.TVP.Module.csproj
+3
-0
No files found.
VIZ.TVP.Domain/Model/Resource/GH/GHResourceFolderModel.cs
View file @
dd8be2d5
...
...
@@ -38,7 +38,7 @@ namespace VIZ.TVP.Domain
/// <summary>
/// 文件集合
/// </summary>
public
ObservableCollection
<
GHResourceFileModel
>
Files
public
ObservableCollection
<
GHResourceFileModel
>
Files
{
get
{
return
files
;
}
set
{
files
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
Files
));
}
...
...
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/LocalResourceFileController.cs
View file @
dd8be2d5
...
...
@@ -56,7 +56,7 @@ namespace VIZ.TVP.Module
{
foreach
(
var
fileModel
in
folder
.
Files
)
{
if
(
IsImage
(
fileModel
.
Path
))
if
(
ThumbnailHelper
.
IsImage
(
fileModel
.
Path
))
{
// D:\世界杯单独项目\竖屏世界杯包装效果\VAR团队名单.jpg
...
...
@@ -72,7 +72,7 @@ namespace VIZ.TVP.Module
});
}
else
if
(
IsVideo
(
fileModel
.
Path
))
else
if
(
ThumbnailHelper
.
IsVideo
(
fileModel
.
Path
))
{
string
strVedioPath
=
string
.
Format
(
"{0}{1}"
,
System
.
Environment
.
CurrentDirectory
,
"\\VedioImage\\Vedio.jpeg"
);
...
...
@@ -94,92 +94,7 @@ namespace VIZ.TVP.Module
}
#
region
---
图片文件检测
private
Boolean
IsImage
(
string
path
)
{
try
{
if
(
IsImageByName
(
path
))
{
System
.
Drawing
.
Image
img
=
System
.
Drawing
.
Image
.
FromFile
(
path
);
return
true
;
}
return
false
;
}
catch
(
Exception
e
)
{
return
false
;
}
}
private
Boolean
IsImageByName
(
string
name
)
{
int
pos
=
name
.
LastIndexOf
(
"."
);
if
(
name
.
Length
-
pos
-
1
<
3
)
return
false
;
string
ext
=
name
.
Substring
(
pos
+
1
,
name
.
Length
-
pos
-
1
);
string
[]
imge
=
{
"jpg"
,
"jpeg"
,
"png"
,
"gif"
,
"bmp"
,
"TIFF"
,
"tif"
};
return
IsInIgnoreCase
(
ext
,
imge
);
}
private
bool
IsInIgnoreCase
(
string
source
,
params
string
[]
list
)
{
if
(
null
==
source
)
return
false
;
IEnumerable
<
string
>
en
=
list
.
Where
(
i
=>
string
.
Compare
(
i
,
source
,
StringComparison
.
OrdinalIgnoreCase
)
==
0
);
return
en
.
Count
()
==
0
?
false
:
true
;
}
/// <summary>
/// 读取图片文件
/// </summary>
/// <param name="path">图片文件路径</param>
/// <returns>图片文件</returns>
private
Bitmap
ReadImageFile
(
String
path
)
{
Bitmap
bitmap
=
null
;
try
{
FileStream
fileStream
=
File
.
OpenRead
(
path
);
Int32
filelength
=
0
;
filelength
=
(
int
)
fileStream
.
Length
;
Byte
[]
image
=
new
Byte
[
filelength
];
fileStream
.
Read
(
image
,
0
,
filelength
);
System
.
Drawing
.
Image
result
=
System
.
Drawing
.
Image
.
FromStream
(
fileStream
);
fileStream
.
Close
();
bitmap
=
new
Bitmap
(
result
);
}
catch
(
Exception
ex
)
{
// 异常输出
}
return
bitmap
;
}
private
bool
IsVideo
(
string
filePath
)
{
bool
isVideo
=
false
;
string
fileName
=
filePath
;
IList
<
string
>
formateList
=
new
List
<
string
>
{
"avi"
,
"flv"
,
"mpg"
,
"mpeg"
,
"mpe"
,
"m1v"
,
"m2v"
,
"mpv2"
,
"mp2v"
,
"dat"
,
"ts"
,
"tp"
,
"tpr"
,
"pva"
,
"pss"
,
"mp4"
,
"m4v"
,
"m4p"
,
"m4b"
,
"3gp"
,
"3gpp"
,
"3g2"
,
"3gp2"
,
"ogg"
,
"mov"
,
"qt"
,
"amr"
,
"rm"
,
"ram"
,
"rmvb"
,
"rpm"
};
string
[]
Namesuffix
=
fileName
.
Split
(
'.'
);
if
(
Namesuffix
.
Length
>
1
)
{
if
(
formateList
.
Contains
(
Namesuffix
[
1
]))
{
isVideo
=
true
;
}
}
return
isVideo
;
}
#
endregion
/// <summary>
...
...
VIZ.TVP.Module/Resource/LocalResource/Controller/LocalResourceFile/ThumbnailHelper.cs
View file @
dd8be2d5
...
...
@@ -70,5 +70,99 @@ namespace VIZ.TVP.Module
}
}
#
region
---
图片文件检测
public
static
Boolean
IsImage
(
string
path
)
{
try
{
if
(
IsImageByName
(
path
))
{
System
.
Drawing
.
Image
img
=
System
.
Drawing
.
Image
.
FromFile
(
path
);
return
true
;
}
return
false
;
}
catch
(
Exception
e
)
{
return
false
;
}
}
private
static
Boolean
IsImageByName
(
string
name
)
{
int
pos
=
name
.
LastIndexOf
(
"."
);
if
(
name
.
Length
-
pos
-
1
<
3
)
return
false
;
string
ext
=
name
.
Substring
(
pos
+
1
,
name
.
Length
-
pos
-
1
);
string
[]
imge
=
{
"jpg"
,
"jpeg"
,
"png"
,
"gif"
,
"bmp"
,
"TIFF"
,
"tif"
};
return
IsInIgnoreCase
(
ext
,
imge
);
}
private
static
bool
IsInIgnoreCase
(
string
source
,
params
string
[]
list
)
{
if
(
null
==
source
)
return
false
;
IEnumerable
<
string
>
en
=
list
.
Where
(
i
=>
string
.
Compare
(
i
,
source
,
StringComparison
.
OrdinalIgnoreCase
)
==
0
);
return
en
.
Count
()
==
0
?
false
:
true
;
}
/// <summary>
/// 读取图片文件
/// </summary>
/// <param name="path">图片文件路径</param>
/// <returns>图片文件</returns>
private
Bitmap
ReadImageFile
(
String
path
)
{
Bitmap
bitmap
=
null
;
try
{
FileStream
fileStream
=
File
.
OpenRead
(
path
);
Int32
filelength
=
0
;
filelength
=
(
int
)
fileStream
.
Length
;
Byte
[]
image
=
new
Byte
[
filelength
];
fileStream
.
Read
(
image
,
0
,
filelength
);
System
.
Drawing
.
Image
result
=
System
.
Drawing
.
Image
.
FromStream
(
fileStream
);
fileStream
.
Close
();
bitmap
=
new
Bitmap
(
result
);
}
catch
(
Exception
ex
)
{
// 异常输出
}
return
bitmap
;
}
/// <summary>
/// 是否是视频
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public
static
bool
IsVideo
(
string
filePath
)
{
bool
isVideo
=
false
;
string
fileName
=
filePath
;
IList
<
string
>
formateList
=
new
List
<
string
>
{
"avi"
,
"flv"
,
"mpg"
,
"mpeg"
,
"mpe"
,
"m1v"
,
"m2v"
,
"mpv2"
,
"mp2v"
,
"dat"
,
"ts"
,
"tp"
,
"tpr"
,
"pva"
,
"pss"
,
"mp4"
,
"m4v"
,
"m4p"
,
"m4b"
,
"3gp"
,
"3gpp"
,
"3g2"
,
"3gp2"
,
"ogg"
,
"mov"
,
"qt"
,
"amr"
,
"rm"
,
"ram"
,
"rmvb"
,
"rpm"
};
string
[]
Namesuffix
=
fileName
.
Split
(
'.'
);
if
(
Namesuffix
.
Length
>
1
)
{
if
(
formateList
.
Contains
(
Namesuffix
[
1
]))
{
isVideo
=
true
;
}
}
return
isVideo
;
}
#
endregion
}
}
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileController.cs
View file @
dd8be2d5
...
...
@@ -2,6 +2,7 @@
using
System
;
using
System.Collections.Generic
;
using
System.Drawing
;
using
System.Drawing.Imaging
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
...
...
@@ -47,7 +48,7 @@ namespace VIZ.TVP.Module
/// 更新文件模型
/// </summary>
/// <param name="folder">文件夹</param>
public
void
UpdateFileModels
(
GHResourceFolderModel
folder
)
public
void
UpdateFileModels
(
GHResourceFolderModel
folder
)
{
// 文件夹对象不存在
if
(
folder
==
null
)
...
...
@@ -57,40 +58,130 @@ namespace VIZ.TVP.Module
return
;
}
// 已经获取过文件
//
//
已经获取过文件
if
(
folder
.
IsRefreshedFiles
)
{
this
.
Support
.
FileModels
=
folder
.
Files
;
return
;
}
GH_Link_Node
link_related
=
folder
.
EntryNode
.
links
.
FirstOrDefault
(
p
=>
p
.
rel
==
GH_Link_Rel_Enums
.
related
);
if
(
link_related
==
null
||
string
.
IsNullOrWhiteSpace
(
link_related
.
href
))
{
folder
.
IsRefreshedFiles
=
true
;
return
;
}
//
GH_Link_Node link_related = folder.EntryNode.links.FirstOrDefault(p => p.rel == GH_Link_Rel_Enums.related);
//
if (link_related == null || string.IsNullOrWhiteSpace(link_related.href))
//
{
//
folder.IsRefreshedFiles = true;
//
return;
//
}
this
.
Support
.
IsFileLoading
=
true
;
//
this.Support.IsFileLoading = true;
ThreadHelper
.
SafeRun
(()
=>
{
List
<
GHResourceFileModel
>
files
=
ghResourceService
.
GetGHResourceFiles
(
link_related
.
href
,
folder
);
//
ThreadHelper.SafeRun(() =>
//
{
//
List<GHResourceFileModel> files = ghResourceService.GetGHResourceFiles(link_related.href, folder);
WPFHelper
.
BeginInvoke
(()
=>
// WPFHelper.BeginInvoke(() =>
// {
// folder.Files = files.ToObservableCollection();
// this.Support.FileModels = folder.Files;
// folder.IsRefreshedFiles = true;
// this.Support.IsFileLoading = false;
// // 开始下载缩略图
// this.BeginDownloadThumbnail(folder);
// });
//});
//
WPFHelper
.
BeginInvoke
(
async
()
=>
{
folder
.
Files
=
files
.
ToObservableCollection
();
this
.
Support
.
FileModels
=
folder
.
Files
;
folder
.
IsRefreshedFiles
=
true
;
this
.
Support
.
IsFileLoading
=
false
;
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
,
""
);
List
<
GHResourceFileModel
>
list
=
new
List
<
GHResourceFileModel
>();
// folder.Files = new System.Collections.ObjectModel.ObservableCollection<GHResourceFileModel>();
foreach
(
var
file
in
FileResult
.
masterData
)
{
GHResourceFileModel
GHFile
=
new
GHResourceFileModel
();
// 开始下载缩略图
this
.
BeginDownloadThumbnail
(
folder
);
GHFile
.
Name
=
file
.
fileName
;
GHFile
.
Path
=
file
.
smallIconUrl
;
list
.
Add
(
GHFile
);
if
(
ThumbnailHelper
.
IsImage
(
GHFile
.
Name
))
{
//GetFile
string
url
=
string
.
Format
(
"http://192.168.3.76:9000/api/home/GetFile?filePath={0}"
,
folder
.
Path
);
// var r
}
else
if
(
ThumbnailHelper
.
IsImage
(
GHFile
.
Name
))
{
}
}
});
});
}
public
async
Task
<
List
<
GHResourceFolderModel
>>
GetMeiaResourceFolder
()
{
var
folderResult
=
await
MediaResourceFileService
.
PostObjectAsync
<
fileListResult
,
string
>(
"http://192.168.3.76:9000/api/home/GetListFiles"
,
""
);
if
(
folderResult
==
null
)
return
null
;
return
GetFolder
(
folderResult
.
masterData
);
}
private
List
<
GHResourceFolderModel
>
GetFolder
(
List
<
ms
>
foldersDatas
)
{
List
<
GHResourceFolderModel
>
listFolderModel
=
new
List
<
GHResourceFolderModel
>();
foreach
(
var
floderData
in
foldersDatas
)
{
if
(
floderData
.
fileType
==
"floder"
)
{
GHResourceFolderModel
child
=
new
GHResourceFolderModel
();
child
.
Name
=
floderData
.
fileName
;
child
.
FolderType
=
ResourceFolderType
.
Folder
;
child
.
Path
=
floderData
.
smallIconUrl
;
List
<
GHResourceFolderModel
>
children_list
=
GetFolder
(
floderData
.
m
);
foreach
(
GHResourceFolderModel
item
in
children_list
)
{
child
.
Children
.
Add
(
item
);
item
.
Parent
=
child
;
}
listFolderModel
.
Add
(
child
);
}
}
return
listFolderModel
;
}
/// <summary>
/// 开始下载缩略图
/// </summary>
...
...
VIZ.TVP.Module/Resource/MediaResource/Controller/MediaResourceFile/MediaResourceFileService.cs
0 → 100644
View file @
dd8be2d5
using
log4net
;
using
Newtonsoft.Json
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Net.Http
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.TVP.Module
{
public
static
class
MediaResourceFileService
{
/// <summary>
/// 日志
/// </summary>
private
static
readonly
ILog
log
=
LogManager
.
GetLogger
(
typeof
(
VizResourceFileController
));
/// <summary>
/// 使用post方法异步请求
/// </summary>
/// <param name="url">目标链接</param>
/// <param name="json">发送的参数字符串,只能用json</param>
/// <returns>返回的字符串</returns>
public
static
async
Task
<
string
>
PostAsyncJson
(
string
url
,
string
json
)
{
try
{
HttpClient
client
=
new
HttpClient
();
HttpContent
content
=
new
StringContent
(
json
);
content
.
Headers
.
ContentType
=
new
System
.
Net
.
Http
.
Headers
.
MediaTypeHeaderValue
(
"application/json"
);
HttpResponseMessage
response
=
await
client
.
PostAsync
(
url
,
content
);
response
.
EnsureSuccessStatusCode
();
string
responseBody
=
await
response
.
Content
.
ReadAsStringAsync
();
return
responseBody
;
}
catch
(
Exception
ex
)
{
log
.
Error
(
string
.
Format
(
"{0}_{1}"
,
"获取媒体资源文件夹"
,
ex
.
ToString
()));
return
""
;
}
}
/// <summary>
/// 使用post方法异步请求
/// </summary>
/// <param name="url">目标链接</param>
/// <param name="data">发送的参数字符串</param>
/// <returns>返回的字符串</returns>
public
static
async
Task
<
string
>
PostAsync
(
string
url
,
string
data
,
Dictionary
<
string
,
string
>
header
=
null
,
bool
Gzip
=
false
)
{
HttpClient
client
=
new
HttpClient
(
new
HttpClientHandler
()
{
UseCookies
=
false
});
HttpContent
content
=
new
StringContent
(
data
);
if
(
header
!=
null
)
{
client
.
DefaultRequestHeaders
.
Clear
();
foreach
(
var
item
in
header
)
{
client
.
DefaultRequestHeaders
.
Add
(
item
.
Key
,
item
.
Value
);
}
}
HttpResponseMessage
response
=
await
client
.
PostAsync
(
url
,
content
);
response
.
EnsureSuccessStatusCode
();
string
responseBody
=
""
;
//if (Gzip)
//{
// GZipInputStream inputStream = new GZipInputStream(await response.Content.ReadAsStreamAsync());
// responseBody = new StreamReader(inputStream).ReadToEnd();
//}
//else
//{
responseBody
=
await
response
.
Content
.
ReadAsStringAsync
();
//}
return
responseBody
;
}
/// <summary>
/// 使用get方法异步请求
/// </summary>
/// <param name="url">目标链接</param>
/// <returns>返回的字符串</returns>
public
static
async
Task
<
string
>
GetAsync
(
string
url
,
Dictionary
<
string
,
string
>
header
=
null
,
bool
Gzip
=
false
)
{
HttpClient
client
=
new
HttpClient
(
new
HttpClientHandler
()
{
UseCookies
=
false
});
if
(
header
!=
null
)
{
client
.
DefaultRequestHeaders
.
Clear
();
foreach
(
var
item
in
header
)
{
client
.
DefaultRequestHeaders
.
Add
(
item
.
Key
,
item
.
Value
);
}
}
HttpResponseMessage
response
=
await
client
.
GetAsync
(
url
);
response
.
EnsureSuccessStatusCode
();
//用来抛异常的
string
responseBody
=
""
;
//if (Gzip)
//{
// GZipInputStream inputStream = new GZipInputStream(await response.Content.ReadAsStreamAsync());
// responseBody = new StreamReader(inputStream).ReadToEnd();
//}
//else
//{
responseBody
=
await
response
.
Content
.
ReadAsStringAsync
();
//}
return
responseBody
;
}
/// <summary>
/// 使用post返回异步请求直接返回对象
/// </summary>
/// <typeparam name="T">返回对象类型</typeparam>
/// <typeparam name="T2">请求对象类型</typeparam>
/// <param name="url">请求链接</param>
/// <param name="obj">请求对象数据</param>
/// <returns>请求返回的目标对象</returns>
public
static
async
Task
<
T
>
PostObjectAsync
<
T
,
T2
>(
string
url
,
T2
obj
)
{
String
json
=
JsonConvert
.
SerializeObject
(
obj
);
string
responseBody
=
await
PostAsyncJson
(
url
,
json
);
//请求当前账户的信息
return
JsonConvert
.
DeserializeObject
<
T
>(
responseBody
);
//把收到的字符串序列化
}
/// <summary>
/// 使用Get返回异步请求直接返回对象
/// </summary>
/// <typeparam name="T">请求对象类型</typeparam>
/// <param name="url">请求链接</param>
/// <returns>返回请求的对象</returns>
public
static
async
Task
<
T
>
GetObjectAsync
<
T
>(
string
url
)
{
string
responseBody
=
await
GetAsync
(
url
);
//请求当前账户的信息
return
JsonConvert
.
DeserializeObject
<
T
>(
responseBody
);
//把收到的字符串序列化
}
}
}
VIZ.TVP.Module/Resource/MediaResource/Controller/Model/fileListResult.cs
0 → 100644
View file @
dd8be2d5
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.TVP.Module
{
public
class
fileListResult
{
/// <summary>
/// 状态码:0-成功
/// </summary>
public
string
errCode
{
get
;
set
;
}
/// <summary>
/// 状态描述:0-成功
/// </summary>
public
string
message
{
get
;
set
;
}
/// <summary>
/// 状态描述:0-success
/// </summary>
public
string
status
{
get
;
set
;
}
/// <summary>
/// 设置文件信息
/// </summary>
public
List
<
ms
>
masterData
=
new
List
<
ms
>();
}
}
VIZ.TVP.Module/Resource/MediaResource/Controller/Model/ms.cs
0 → 100644
View file @
dd8be2d5
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
VIZ.TVP.Module
{
public
class
ms
{
public
string
fileName
{
get
;
set
;
}
public
string
smallIconUrl
{
get
;
set
;
}
public
string
fileType
{
get
;
set
;
}
public
List
<
ms
>
m
=
new
List
<
ms
>();
}
}
VIZ.TVP.Module/Resource/MediaResource/ViewModel/MediaResourceViewModel.cs
View file @
dd8be2d5
...
...
@@ -11,6 +11,7 @@ using System.Linq;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows
;
using
System.Windows.Documents
;
using
VIZ.Framework.Core
;
using
VIZ.Framework.Plugin
;
using
VIZ.TVP.Domain
;
...
...
@@ -96,7 +97,7 @@ namespace VIZ.TVP.Module
selectedFolderModel
=
value
;
this
.
RaisePropertyChanged
(
nameof
(
SelectedFolderModel
));
// 更新文件模型
this
.
mediaResourceFileController
.
UpdateFileModels
(
value
);
//
this.mediaResourceFileController.UpdateFileModels(value);
}
}
...
...
@@ -229,7 +230,7 @@ namespace VIZ.TVP.Module
{
this
.
IsFolderLoading
=
false
;
Task
.
Run
(()
=>
Task
.
Run
(
async
()
=>
{
try
{
...
...
@@ -245,6 +246,21 @@ namespace VIZ.TVP.Module
// this.IsFolderLoading = false;
//});
//http://192.168.3.76:9000/api/home/GetListFiles
//List <GHResourceFolderModel> list= await this.mediaResourceFileController.GetMeiaResourceFolder();
// if (list == null) return;
//this.FolderModels = list.ToObservableCollection();
//WPFHelper.BeginInvoke(() =>
//{
// this.FolderModels = list.FirstOrDefault()?.Children.Select(p => (GHResourceFolderModel)p).ToObservableCollection();
// this.IsFolderLoading = false;
//});
}
...
...
VIZ.TVP.Module/VIZ.TVP.Module.csproj
View file @
dd8be2d5
...
...
@@ -204,6 +204,9 @@
<Compile Include="Resource\LocalResource\Controller\LocalResourceFile\ThumbnailHelper.cs" />
<Compile Include="Resource\MediaResource\Controller\MediaResourceFile\IMediaResourceFileSupport.cs" />
<Compile Include="Resource\MediaResource\Controller\MediaResourceFile\MediaResourceFileController.cs" />
<Compile Include="Resource\MediaResource\Controller\MediaResourceFile\MediaResourceFileService.cs" />
<Compile Include="Resource\MediaResource\Controller\Model\fileListResult.cs" />
<Compile Include="Resource\MediaResource\Controller\Model\ms.cs" />
<Compile Include="SettingInner\Control\ViewModel\ControlSettingViewModel.cs" />
<Compile Include="SettingInner\Control\View\ControlSettingView.xaml.cs">
<DependentUpon>ControlSettingView.xaml</DependentUpon>
...
...
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