src/ZKEACMS/Widget/WidgetPackageInstaller.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/* http://www.zkea.net/
* Copyright (c) ZKEASOFT. All rights reserved.
* http://www.zkea.net/licenses */
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using ZKEACMS.PackageManger;
using Microsoft.AspNetCore.Hosting;
using Easy.Modules.DataDictionary;
namespace ZKEACMS.Widget
{
public class WidgetPackageInstaller : FilePackageInstaller
{
public WidgetPackageInstaller(IWebHostEnvironment hostingEnvironment) : base(hostingEnvironment)
{
}
public override string PackageInstaller
{
get
{
return "WidgetPackageInstaller";
}
}
public override object Install(Package package)
{
base.Install(package);
var widgetPackage = package as WidgetPackage;
if (widgetPackage != null)
{
if (widgetPackage.Widget != null)
{
var widget = Easy.Serializer.JsonConverter.Deserialize(JObject.Parse(package.Content.ToString()).GetValue("Widget").ToString(), widgetPackage.Widget.GetViewModelType()) as WidgetBase;
widget.PageId = null;
widget.LayoutId = null;
widget.ZoneId = null;
widget.IsSystem = false;
widget.IsTemplate = true;
return widget;
}
}
return null;
}
public override Package Pack(object obj)
{
//obj is widget
var package = base.Pack(GetWidgetFiles());
(package as WidgetPackage).Widget = obj as WidgetBase;
return package;
}
public override FilePackage CreatePackage()
{
return new WidgetPackage(PackageInstaller);
}
后面还有 58 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。