26 changed files with 1380 additions and 1 deletions
@ -0,0 +1,3 @@ |
|||
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd"> |
|||
<ConfigureAwait ContinueOnCapturedContext="false" /> |
|||
</Weavers> |
|||
@ -0,0 +1,30 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
|||
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. --> |
|||
<xs:element name="Weavers"> |
|||
<xs:complexType> |
|||
<xs:all> |
|||
<xs:element name="ConfigureAwait" minOccurs="0" maxOccurs="1"> |
|||
<xs:complexType> |
|||
<xs:attribute name="ContinueOnCapturedContext" type="xs:boolean" /> |
|||
</xs:complexType> |
|||
</xs:element> |
|||
</xs:all> |
|||
<xs:attribute name="VerifyAssembly" type="xs:boolean"> |
|||
<xs:annotation> |
|||
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation> |
|||
</xs:annotation> |
|||
</xs:attribute> |
|||
<xs:attribute name="VerifyIgnoreCodes" type="xs:string"> |
|||
<xs:annotation> |
|||
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation> |
|||
</xs:annotation> |
|||
</xs:attribute> |
|||
<xs:attribute name="GenerateXsd" type="xs:boolean"> |
|||
<xs:annotation> |
|||
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation> |
|||
</xs:annotation> |
|||
</xs:attribute> |
|||
</xs:complexType> |
|||
</xs:element> |
|||
</xs:schema> |
|||
@ -0,0 +1,27 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<Import Project="..\..\..\configureawait.props" /> |
|||
<Import Project="..\..\..\common.props" /> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>netstandard2.0</TargetFramework> |
|||
<RootNamespace /> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<None Remove="LINGYUN\Platform\Settings\VueVbenAdmin\Localization\Resources\*.json" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<EmbeddedResource Include="LINGYUN\Platform\Settings\VueVbenAdmin\Localization\Resources\*.json" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Volo.Abp.Settings" Version="$(VoloAbpPackageVersion)" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\LINGYUN.Platform.Domain.Shared\LINGYUN.Platform.Domain.Shared.csproj" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,135 @@ |
|||
{ |
|||
"culture": "en", |
|||
"texts": { |
|||
"DisplayName:DarkMode": "Dark Mode", |
|||
"Description:DarkMode": "Dark Mode", |
|||
"DisplayName:PageLoading": "Page Loading", |
|||
"Description:PageLoading": "Page Loading", |
|||
"DisplayName:PermissionCacheType": "Permission cache type", |
|||
"Description:PermissionCacheType": "Permission-related cache is stored in sessionStorage or localStorage", |
|||
"DisplayName:ShowSettingButton": "Show Setting Button", |
|||
"Description:ShowSettingButton": "Whether to show the configuration button", |
|||
"DisplayName:ShowDarkModeToggle": "Show Dark Mode Toggle", |
|||
"Description:ShowDarkModeToggle": "Whether to show the theme switch button", |
|||
"DisplayName:SettingButtonPosition": "Setting Button Position", |
|||
"Description:SettingButtonPosition": "`Settings` button position", |
|||
"DisplayName:PermissionMode": "Permission Mode", |
|||
"Description:PermissionMode": "Permission Mode, Options: ROLE、BACK、ROUTE_MAPPING", |
|||
"DisplayName:SessionTimeoutProcessing": "Session Timeout Processing", |
|||
"Description:SessionTimeoutProcessing": "Session timeout processing", |
|||
"DisplayName:GrayMode": "Gray Mode", |
|||
"Description:GrayMode": "Website gray mode, open for possible mourning dates", |
|||
"DisplayName:ColorWeak": "Color Weak", |
|||
"Description:ColorWeak": "Color Weakness Mode", |
|||
"DisplayName:ThemeColor": "Theme Color", |
|||
"Description:ThemeColor": "Theme Color", |
|||
"DisplayName:FullContent": "Full Content", |
|||
"Description:FullContent": "Whether to cancel the menu, the top, the multi-tab page display, for possible embedded in other systems", |
|||
"DisplayName:ContentMode": "Content Mode", |
|||
"Description:ContentMode": "Content Mode", |
|||
"DisplayName:ShowLogo": "Show Logo", |
|||
"Description:ShowLogo": "Whether to display the logo", |
|||
"DisplayName:ShowFooter": "Show Footer", |
|||
"Description:ShowFooter": "Whether to show footer", |
|||
"DisplayName:OpenKeepAlive": "Open Keep Alive", |
|||
"Description:OpenKeepAlive": "Whether to enable KeepAlive cache is best to close during development, otherwise the cache needs to be cleared every time", |
|||
"DisplayName:LockTime": "Lock Time", |
|||
"Description:LockTime": "Automatic screen lock time, 0 does not lock the screen. Unit minute default 0", |
|||
"DisplayName:ShowBreadCrumb": "Show Bread Crumb", |
|||
"Description:ShowBreadCrumb": "Whether to show breadcrumbs", |
|||
"DisplayName:ShowBreadCrumbIcon": "Show Bread Crumb Icon", |
|||
"Description:ShowBreadCrumbIcon": "Whether to show the breadcrumb icon", |
|||
"DisplayName:UseErrorHandle": "Use Error Handle", |
|||
"Description:UseErrorHandle": "Use error-handler-plugin", |
|||
"DisplayName:UseOpenBackTop": "Use Open Back Top", |
|||
"Description:UseOpenBackTop": "Whether to open back to top", |
|||
"DisplayName:CanEmbedIFramePage": "Can Embed IFrame Page", |
|||
"Description:CanEmbedIFramePage": "Is it possible to embed iframe pages", |
|||
"DisplayName:CloseMessageOnSwitch": "Close Message On Switch", |
|||
"Description:CloseMessageOnSwitch": "Whether to delete unclosed messages and notify when switching the interface", |
|||
"DisplayName:RemoveAllHttpPending": "Remove All Http Pending", |
|||
"Description:RemoveAllHttpPending": "Whether to cancel the http request that has been sent but not responded when switching the interface.", |
|||
"DisplayName:Header_BgColor": "Header Background Color", |
|||
"Description:Header_BgColor": "Header Background Color", |
|||
"DisplayName:Header_Fixed": "Fixed Header", |
|||
"Description:Header_Fixed": "Fixed at the top", |
|||
"DisplayName:Header_Show": "Show Header", |
|||
"Description:Header_Show": "Whether to show top", |
|||
"DisplayName:Header_Theme": "Header Theme", |
|||
"Description:Header_Theme": "Header Theme", |
|||
"DisplayName:Header_ShowFullScreen": "Show Full Screen", |
|||
"Description:Header_ShowFullScreen": "Whether to show the full screen button", |
|||
"DisplayName:Header_UseLockPage": "Use Lock Page", |
|||
"Description:Header_UseLockPage": "Whether to enable the lock screen function", |
|||
"DisplayName:Header_ShowDoc": "Show Document", |
|||
"Description:Header_ShowDoc": "Whether to show the document button", |
|||
"DisplayName:Header_ShowNotice": "Show Notice", |
|||
"Description:Header_ShowNotice": "Whether to show the notification button", |
|||
"DisplayName:Header_ShowSearch": "Show Search", |
|||
"Description:Header_ShowSearch": "Whether to display the menu search", |
|||
"DisplayName:Menu_BgColor": "Sidebar Background Color", |
|||
"Description:Menu_BgColor": "Sidebar menu bg color", |
|||
"DisplayName:Menu_Fixed": "Fixed Sidebar", |
|||
"Description:Menu_Fixed": "Whether to fix the left menu", |
|||
"DisplayName:Menu_Collapsed": "Collapsed Menu", |
|||
"Description:Menu_Collapsed": "Menu collapse", |
|||
"DisplayName:Menu_CanDrag": "Can Dragged", |
|||
"Description:Menu_CanDrag": "Whether it can be dragged", |
|||
"DisplayName:Menu_Show": "Show Menu", |
|||
"Description:Menu_Show": "Whether to show no dom", |
|||
"DisplayName:Menu_Hidden": "Hidden Menu", |
|||
"Description:Menu_Hidden": "Whether to show dom", |
|||
"DisplayName:Menu_Split": "Split Menu", |
|||
"Description:Menu_Split": "Split menu", |
|||
"DisplayName:Menu_MenuWidth": "Menu Width", |
|||
"Description:Menu_MenuWidth": "Menu width", |
|||
"DisplayName:Menu_Mode": "Menu Mode", |
|||
"Description:Menu_Mode": "Menu mode", |
|||
"DisplayName:Menu_Type": "Menu Type", |
|||
"Description:Menu_Type": "Menu type", |
|||
"DisplayName:Menu_Theme": "Menu Theme", |
|||
"Description:Menu_Theme": "Menu theme", |
|||
"DisplayName:Menu_TopMenuAlign": "Top Menu Align", |
|||
"Description:Menu_TopMenuAlign": "Top menu layout", |
|||
"DisplayName:Menu_Trigger": "Fold Trigger Position", |
|||
"Description:Menu_Trigger": "Fold Trigger Position", |
|||
"DisplayName:Menu_Accordion": "Accordion", |
|||
"Description:Menu_Accordion": "Turn on accordion mode, only show a menu", |
|||
"DisplayName:Menu_CloseMixSidebarOnChange": "Close Mix Sidebar On Change", |
|||
"Description:Menu_CloseMixSidebarOnChange": "Switch page to close menu", |
|||
"DisplayName:Menu_CollapsedShowTitle": "Collapsed Show Title", |
|||
"Description:Menu_CollapsedShowTitle": "Whether to display the menu name when folding the menu", |
|||
"DisplayName:Menu_MixSideTrigger": "Mix Side Trigger", |
|||
"Description:Menu_MixSideTrigger": "Module opening method ‘click’ |'hover'", |
|||
"DisplayName:Menu_MixSideFixed": "Fixed Expanded Menu", |
|||
"Description:Menu_MixSideFixed": "Fixed expanded menu", |
|||
"DisplayName:MultiTabs_Cache": "Multi Tabs Cache", |
|||
"Description:MultiTabs_Cache": "Multi Tabs Cache", |
|||
"DisplayName:MultiTabs_Show": "Show Tabs", |
|||
"Description:MultiTabs_Show": "Turn on", |
|||
"DisplayName:MultiTabs_ShowQuick": "Show Quick", |
|||
"Description:MultiTabs_ShowQuick": "Turn on quick actions", |
|||
"DisplayName:MultiTabs_CanDrag": "Can Dragged", |
|||
"Description:MultiTabs_CanDrag": "Is it possible to drag and drop sorting tabs", |
|||
"DisplayName:MultiTabs_ShowRedo": "Show Redo", |
|||
"Description:MultiTabs_ShowRedo": "Whether to show the refresh button", |
|||
"DisplayName:MultiTabs_ShowFold": "Show Fold", |
|||
"Description:MultiTabs_ShowFold": "Whether to show the collapse button", |
|||
"DisplayName:Transition_Enable": "Enable Transition", |
|||
"Description:Transition_Enable": "Enable Transition", |
|||
"DisplayName:Transition_BasicTransition": "Basic Transition", |
|||
"Description:Transition_BasicTransition": "Route basic switching animation", |
|||
"DisplayName:Transition_OpenPageLoading": "Open Page Loading", |
|||
"Description:Transition_OpenPageLoading": "Whether to open page switching loading", |
|||
"DisplayName:Transition_OpenNProgress": "Open Progress", |
|||
"Description:Transition_OpenNProgress": "Whether to open the top progress bar", |
|||
"DisplayName:BeforeMini_MenuCollapsed": "Menu Collapsed", |
|||
"Description:BeforeMini_MenuCollapsed": "Restores the shrunken menu when restoring the window", |
|||
"DisplayName:BeforeMini_MenuSplit": "Menu Split", |
|||
"Description:BeforeMini_MenuSplit": "Restore separated menus when restoring Windows", |
|||
"DisplayName:BeforeMini_MenuMode": "Menu Mode", |
|||
"Description:BeforeMini_MenuMode": "Restore menu mode when restore window", |
|||
"DisplayName:BeforeMini_MenuType": "Menu Type", |
|||
"Description:BeforeMini_MenuType": "Restore menu type when restore window" |
|||
} |
|||
} |
|||
@ -0,0 +1,135 @@ |
|||
{ |
|||
"culture": "zh-Hans", |
|||
"texts": { |
|||
"DisplayName:DarkMode": "主题", |
|||
"Description:DarkMode": "应用程序主题", |
|||
"DisplayName:PageLoading": "页面加载状态", |
|||
"Description:PageLoading": "页面加载状态", |
|||
"DisplayName:PermissionCacheType": "权限缓存位置", |
|||
"Description:PermissionCacheType": "指定权限缓存存储在sessionStorage或localStorage中", |
|||
"DisplayName:ShowSettingButton": "显示配置按钮", |
|||
"Description:ShowSettingButton": "是否显示配置按钮", |
|||
"DisplayName:ShowDarkModeToggle": "显示主题切换按钮", |
|||
"Description:ShowDarkModeToggle": "是否显示主题切换按钮", |
|||
"DisplayName:SettingButtonPosition": "设置按钮位置", |
|||
"Description:SettingButtonPosition": "设置按钮展示位置", |
|||
"DisplayName:PermissionMode": "权限模式", |
|||
"Description:PermissionMode": "权限模式, 可选ROLE、BACK、ROUTE_MAPPING", |
|||
"DisplayName:SessionTimeoutProcessing": "会话超时处理", |
|||
"Description:SessionTimeoutProcessing": "会话超时处理", |
|||
"DisplayName:GrayMode": "灰色模式", |
|||
"Description:GrayMode": "网站灰色模式,开放可能的哀悼日期", |
|||
"DisplayName:ColorWeak": "色弱模式", |
|||
"Description:ColorWeak": "色弱模式", |
|||
"DisplayName:ThemeColor": "主题颜色", |
|||
"Description:ThemeColor": "主题颜色", |
|||
"DisplayName:FullContent": "仅显示内容", |
|||
"Description:FullContent": "是否取消菜单、上顶、多选项卡页面显示,以备可能嵌入其他系统", |
|||
"DisplayName:ContentMode": "内容模式", |
|||
"Description:ContentMode": "内容模式", |
|||
"DisplayName:ShowLogo": "显示Logo", |
|||
"Description:ShowLogo": "是否显示logo", |
|||
"DisplayName:ShowFooter": "显示页脚", |
|||
"Description:ShowFooter": "是否显示页脚", |
|||
"DisplayName:OpenKeepAlive": "是否启用KeepAlive缓存", |
|||
"Description:OpenKeepAlive": "是否启用KeepAlive缓存最好在开发过程中关闭,否则每次都需要清空缓存", |
|||
"DisplayName:LockTime": "自动锁屏时间", |
|||
"Description:LockTime": "自动锁屏时间,0不锁屏,单位分钟。默认0", |
|||
"DisplayName:ShowBreadCrumb": "显示面包屑", |
|||
"Description:ShowBreadCrumb": "是否显示面包屑", |
|||
"DisplayName:ShowBreadCrumbIcon": "显示面包屑图标", |
|||
"Description:ShowBreadCrumbIcon": "是否显示面包屑图标", |
|||
"DisplayName:UseErrorHandle": "启用错误处理插件", |
|||
"Description:UseErrorHandle": "是否使用错误处理插件", |
|||
"DisplayName:UseOpenBackTop": "启用返回顶部", |
|||
"Description:UseOpenBackTop": "是否启用返回顶部", |
|||
"DisplayName:CanEmbedIFramePage": "是否有可能嵌入iframe页面", |
|||
"Description:CanEmbedIFramePage": "是否有可能嵌入iframe页面", |
|||
"DisplayName:CloseMessageOnSwitch": "切换页面时关闭消息通知", |
|||
"Description:CloseMessageOnSwitch": "切换接口时是否删除未关闭消息和通知", |
|||
"DisplayName:RemoveAllHttpPending": "切换页面时取消网络请求", |
|||
"Description:RemoveAllHttpPending": "切换接口时,是否取消已经发送但没有响应的http请求。", |
|||
"DisplayName:Header_BgColor": "标题栏背景色", |
|||
"Description:Header_BgColor": "标题栏背景色", |
|||
"DisplayName:Header_Fixed": "固定标题栏", |
|||
"Description:Header_Fixed": "固定标题栏", |
|||
"DisplayName:Header_Show": "显示标题栏", |
|||
"Description:Header_Show": "显示标题栏", |
|||
"DisplayName:Header_Theme": "标题栏主题", |
|||
"Description:Header_Theme": "标题栏主题", |
|||
"DisplayName:Header_ShowFullScreen": "显示全屏按钮", |
|||
"Description:Header_ShowFullScreen": "显示全屏按钮", |
|||
"DisplayName:Header_UseLockPage": "是否开启锁屏功能", |
|||
"Description:Header_UseLockPage": "是否开启锁屏功能", |
|||
"DisplayName:Header_ShowDoc": "是否显示文档按钮", |
|||
"Description:Header_ShowDoc": "是否显示文档按钮", |
|||
"DisplayName:Header_ShowNotice": "是否显示通知按钮", |
|||
"Description:Header_ShowNotice": "是否显示通知按钮", |
|||
"DisplayName:Header_ShowSearch": "是否显示搜索按钮", |
|||
"Description:Header_ShowSearch": "是否显示搜索按钮", |
|||
"DisplayName:Menu_BgColor": "菜单栏背景色", |
|||
"Description:Menu_BgColor": "菜单栏背景色", |
|||
"DisplayName:Menu_Fixed": "固定菜单栏", |
|||
"Description:Menu_Fixed": "固定菜单栏", |
|||
"DisplayName:Menu_Collapsed": "收缩菜单栏", |
|||
"Description:Menu_Collapsed": "收缩菜单栏", |
|||
"DisplayName:Menu_CanDrag": "是否可以拖动", |
|||
"Description:Menu_CanDrag": "鼠标在菜单的右侧有一个拖拽条,仅局限于打开左侧菜单", |
|||
"DisplayName:Menu_Show": "显示菜单栏", |
|||
"Description:Menu_Show": "显示菜单栏", |
|||
"DisplayName:Menu_Hidden": "隐藏菜单栏", |
|||
"Description:Menu_Hidden": "隐藏菜单栏", |
|||
"DisplayName:Menu_Split": "分隔菜单", |
|||
"Description:Menu_Split": "分隔菜单", |
|||
"DisplayName:Menu_MenuWidth": "菜单展开宽度", |
|||
"Description:Menu_MenuWidth": "菜单展开宽度", |
|||
"DisplayName:Menu_Mode": "菜单模式", |
|||
"Description:Menu_Mode": "菜单模式", |
|||
"DisplayName:Menu_Type": "菜单类型", |
|||
"Description:Menu_Type": "菜单类型", |
|||
"DisplayName:Menu_Theme": "菜单主题", |
|||
"Description:Menu_Theme": "菜单主题", |
|||
"DisplayName:Menu_TopMenuAlign": "顶部菜单布局", |
|||
"Description:Menu_TopMenuAlign": "顶部菜单布局", |
|||
"DisplayName:Menu_Trigger": "混合菜单触发方式", |
|||
"Description:Menu_Trigger": "混合菜单触发方式", |
|||
"DisplayName:Menu_Accordion": "侧边菜单手风琴模式", |
|||
"Description:Menu_Accordion": "侧边菜单手风琴模式", |
|||
"DisplayName:Menu_CloseMixSidebarOnChange": "切换页面关闭菜单", |
|||
"Description:Menu_CloseMixSidebarOnChange": "切换页面关闭菜单", |
|||
"DisplayName:Menu_CollapsedShowTitle": "折叠菜单显示名称", |
|||
"Description:Menu_CollapsedShowTitle": "折叠菜单显示名称", |
|||
"DisplayName:Menu_MixSideTrigger": "模块打开方法", |
|||
"Description:Menu_MixSideTrigger": "模块打开方法", |
|||
"DisplayName:Menu_MixSideFixed": "固定侧边菜单", |
|||
"Description:Menu_MixSideFixed": "固定侧边菜单", |
|||
"DisplayName:MultiTabs_Cache": "缓存标签页", |
|||
"Description:MultiTabs_Cache": "缓存标签页", |
|||
"DisplayName:MultiTabs_Show": "显示标签页", |
|||
"Description:MultiTabs_Show": "显示标签页", |
|||
"DisplayName:MultiTabs_ShowQuick": "标签页快捷按钮", |
|||
"Description:MultiTabs_ShowQuick": "标签页快捷按钮", |
|||
"DisplayName:MultiTabs_CanDrag": "是否可以拖放排序", |
|||
"Description:MultiTabs_CanDrag": "是否可以拖放排序", |
|||
"DisplayName:MultiTabs_ShowRedo": "标签页刷新按钮", |
|||
"Description:MultiTabs_ShowRedo": "标签页刷新按钮", |
|||
"DisplayName:MultiTabs_ShowFold": "标签页折叠按钮", |
|||
"Description:MultiTabs_ShowFold": "标签页折叠按钮", |
|||
"DisplayName:Transition_Enable": "切换动画", |
|||
"Description:Transition_Enable": "切换动画", |
|||
"DisplayName:Transition_BasicTransition": "动画类型", |
|||
"Description:Transition_BasicTransition": "动画类型", |
|||
"DisplayName:Transition_OpenPageLoading": "切换loading", |
|||
"Description:Transition_OpenPageLoading": "切换loading", |
|||
"DisplayName:Transition_OpenNProgress": "顶部进度条", |
|||
"Description:Transition_OpenNProgress": "顶部进度条", |
|||
"DisplayName:BeforeMini_MenuCollapsed": "收缩的菜单", |
|||
"Description:BeforeMini_MenuCollapsed": "恢复窗口时恢复收缩的菜单", |
|||
"DisplayName:BeforeMini_MenuSplit": "分隔的菜单", |
|||
"Description:BeforeMini_MenuSplit": "恢复窗口时恢复分隔的菜单", |
|||
"DisplayName:BeforeMini_MenuMode": "菜单模式", |
|||
"Description:BeforeMini_MenuMode": "恢复窗口时恢复菜单模式", |
|||
"DisplayName:BeforeMini_MenuType": "菜单类型", |
|||
"Description:BeforeMini_MenuType": "恢复窗口时恢复菜单类型" |
|||
} |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
using LINGYUN.Platform.Localization; |
|||
using Volo.Abp.Localization; |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.VirtualFileSystem; |
|||
|
|||
namespace LINGYUN.Platform.Settings.VueVbenAdmin; |
|||
|
|||
[DependsOn( |
|||
typeof(PlatformDomainSharedModule))] |
|||
public class PlatformSettingsVueVbenAdminModule : AbpModule |
|||
{ |
|||
public override void ConfigureServices(ServiceConfigurationContext context) |
|||
{ |
|||
Configure<AbpVirtualFileSystemOptions>(options => |
|||
{ |
|||
options.FileSets.AddEmbedded<PlatformSettingsVueVbenAdminModule>(); |
|||
}); |
|||
|
|||
Configure<AbpLocalizationOptions>(options => |
|||
{ |
|||
options.Resources |
|||
.Get<PlatformResource>() |
|||
.AddVirtualJson("/LINGYUN/Platform/Settings/VueVbenAdmin/Localization/Resources"); |
|||
}); |
|||
} |
|||
} |
|||
@ -0,0 +1,410 @@ |
|||
using LINGYUN.Platform.Localization; |
|||
using Volo.Abp.Localization; |
|||
using Volo.Abp.Settings; |
|||
|
|||
namespace LINGYUN.Platform.Settings.VueVbenAdmin; |
|||
|
|||
public class VueVbenAdminSettingDefinitionProvider : SettingDefinitionProvider |
|||
{ |
|||
public override void Define(ISettingDefinitionContext context) |
|||
{ |
|||
context.Add(CreateThemeBasicSettings()); |
|||
context.Add(CreateProjectConfigSettings()); |
|||
context.Add(CreateHeaderConfigSettings()); |
|||
context.Add(CreateMenuConfigSettings()); |
|||
context.Add(CreateMultiTabsConfigSettings()); |
|||
context.Add(CreateTransitionConfigSettings()); |
|||
context.Add(CreateBeforeMiniConfigSettings()); |
|||
} |
|||
|
|||
protected SettingDefinition[] CreateThemeBasicSettings() |
|||
{ |
|||
return new SettingDefinition[] |
|||
{ |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.DarkMode, |
|||
defaultValue: "light", |
|||
displayName: L("DisplayName:DarkMode"), |
|||
description: L("Description:DarkMode")), |
|||
}; |
|||
} |
|||
|
|||
protected SettingDefinition[] CreateProjectConfigSettings() |
|||
{ |
|||
return new SettingDefinition[] |
|||
{ |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.PermissionCacheType, |
|||
defaultValue: "1", |
|||
displayName: L("DisplayName:PermissionCacheType"), |
|||
description: L("Description:PermissionCacheType")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ShowSettingButton, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:ShowSettingButton"), |
|||
description: L("Description:ShowSettingButton")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ShowDarkModeToggle, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:ShowDarkModeToggle"), |
|||
description: L("Description:ShowDarkModeToggle")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.SettingButtonPosition, |
|||
defaultValue: "auto", |
|||
displayName: L("DisplayName:SettingButtonPosition"), |
|||
description: L("Description:SettingButtonPosition")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.PermissionMode, |
|||
defaultValue: "BACK", |
|||
displayName: L("DisplayName:PermissionMode"), |
|||
description: L("Description:PermissionMode")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.SessionTimeoutProcessing, |
|||
defaultValue: "0", |
|||
displayName: L("DisplayName:SessionTimeoutProcessing"), |
|||
description: L("Description:SessionTimeoutProcessing")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.GrayMode, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:GrayMode"), |
|||
description: L("Description:GrayMode")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ColorWeak, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:ColorWeak"), |
|||
description: L("Description:ColorWeak")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ThemeColor, |
|||
defaultValue: "#0960bd", |
|||
displayName: L("DisplayName:ThemeColor"), |
|||
description: L("Description:ThemeColor")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.FullContent, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:FullContent"), |
|||
description: L("Description:FullContent")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ContentMode, |
|||
defaultValue: "full", |
|||
displayName: L("DisplayName:ContentMode"), |
|||
description: L("Description:ContentMode")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ShowLogo, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:ShowLogo"), |
|||
description: L("Description:ShowLogo")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ShowFooter, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:ShowFooter"), |
|||
description: L("Description:ShowFooter")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.OpenKeepAlive, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:OpenKeepAlive"), |
|||
description: L("Description:OpenKeepAlive")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.LockTime, |
|||
defaultValue: "0", |
|||
displayName: L("DisplayName:LockTime"), |
|||
description: L("Description:LockTime")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumb, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:ShowBreadCrumb"), |
|||
description: L("Description:ShowBreadCrumb")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumbIcon, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:ShowBreadCrumbIcon"), |
|||
description: L("Description:ShowBreadCrumbIcon")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.UseErrorHandle, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:UseErrorHandle"), |
|||
description: L("Description:UseErrorHandle")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.UseOpenBackTop, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:UseOpenBackTop"), |
|||
description: L("Description:UseOpenBackTop")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.CanEmbedIFramePage, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:CanEmbedIFramePage"), |
|||
description: L("Description:CanEmbedIFramePage")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.CloseMessageOnSwitch, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:CloseMessageOnSwitch"), |
|||
description: L("Description:CloseMessageOnSwitch")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.RemoveAllHttpPending, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:RemoveAllHttpPending"), |
|||
description: L("Description:RemoveAllHttpPending")), |
|||
}; |
|||
} |
|||
|
|||
protected SettingDefinition[] CreateHeaderConfigSettings() |
|||
{ |
|||
return new SettingDefinition[] |
|||
{ |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.BgColor, |
|||
defaultValue: "#ffffff", |
|||
displayName: L("DisplayName:Header_BgColor"), |
|||
description: L("Description:Header_BgColor")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Fixed, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Header_Fixed"), |
|||
description: L("Description:Header_Fixed")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Show, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Header_Show"), |
|||
description: L("Description:Header_Show")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Theme, |
|||
defaultValue: "light", |
|||
displayName: L("DisplayName:Header_Theme"), |
|||
description: L("Description:Header_Theme")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowFullScreen, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Header_ShowFullScreen"), |
|||
description: L("Description:Header_ShowFullScreen")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.UseLockPage, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Header_UseLockPage"), |
|||
description: L("Description:Header_UseLockPage")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowDoc, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Header_ShowDoc"), |
|||
description: L("Description:Header_ShowDoc")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowNotice, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Header_ShowNotice"), |
|||
description: L("Description:Header_ShowNotice")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowSearch, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Header_ShowSearch"), |
|||
description: L("Description:Header_ShowSearch")), |
|||
}; |
|||
} |
|||
|
|||
protected SettingDefinition[] CreateMenuConfigSettings() |
|||
{ |
|||
return new SettingDefinition[] |
|||
{ |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.BgColor, |
|||
defaultValue: "#001529", |
|||
displayName: L("DisplayName:Menu_BgColor"), |
|||
description: L("Description:Menu_BgColor")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Fixed, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Menu_Fixed"), |
|||
description: L("Description:Menu_Fixed")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Collapsed, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Menu_Collapsed"), |
|||
description: L("Description:Menu_Collapsed")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CanDrag, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Menu_CanDrag"), |
|||
description: L("Description:Menu_CanDrag")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Show, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Menu_Show"), |
|||
description: L("Description:Menu_Show")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Hidden, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Menu_Hidden"), |
|||
description: L("Description:Menu_Hidden")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Split, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Menu_Split"), |
|||
description: L("Description:Menu_Split")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MenuWidth, |
|||
defaultValue: "210", |
|||
displayName: L("DisplayName:Menu_MenuWidth"), |
|||
description: L("Description:Menu_MenuWidth")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Mode, |
|||
defaultValue: "inline", |
|||
displayName: L("DisplayName:Menu_Mode"), |
|||
description: L("Description:Menu_Mode")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Type, |
|||
defaultValue: "sidebar", |
|||
displayName: L("DisplayName:Menu_Type"), |
|||
description: L("Description:Menu_Type")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Theme, |
|||
defaultValue: "dark", |
|||
displayName: L("DisplayName:Menu_Theme"), |
|||
description: L("Description:Menu_Theme")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.TopMenuAlign, |
|||
defaultValue: "center", |
|||
displayName: L("DisplayName:Menu_TopMenuAlign"), |
|||
description: L("Description:Menu_TopMenuAlign")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Trigger, |
|||
defaultValue: "HEADER", |
|||
displayName: L("DisplayName:Menu_Trigger"), |
|||
description: L("Description:Menu_Trigger")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Accordion, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Menu_Accordion"), |
|||
description: L("Description:Menu_Accordion")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CloseMixSidebarOnChange, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Menu_CloseMixSidebarOnChange"), |
|||
description: L("Description:Menu_CloseMixSidebarOnChange")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CollapsedShowTitle, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Menu_CollapsedShowTitle"), |
|||
description: L("Description:Menu_CollapsedShowTitle")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideTrigger, |
|||
defaultValue: "click", |
|||
displayName: L("DisplayName:Menu_MixSideTrigger"), |
|||
description: L("Description:Menu_MixSideTrigger")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideFixed, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Menu_MixSideFixed"), |
|||
description: L("Description:Menu_MixSideFixed")), |
|||
}; |
|||
} |
|||
|
|||
protected SettingDefinition[] CreateMultiTabsConfigSettings() |
|||
{ |
|||
return new SettingDefinition[] |
|||
{ |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Cache, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:MultiTabs_Cache"), |
|||
description: L("Description:MultiTabs_Cache")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Show, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:MultiTabs_Show"), |
|||
description: L("Description:MultiTabs_Show")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowQuick, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:MultiTabs_ShowQuick"), |
|||
description: L("Description:MultiTabs_ShowQuick")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.CanDrag, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:MultiTabs_CanDrag"), |
|||
description: L("Description:MultiTabs_CanDrag")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowRedo, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:MultiTabs_ShowRedo"), |
|||
description: L("Description:MultiTabs_ShowRedo")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowFold, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:MultiTabs_ShowFold"), |
|||
description: L("Description:MultiTabs_ShowFold")), |
|||
}; |
|||
} |
|||
|
|||
protected SettingDefinition[] CreateTransitionConfigSettings() |
|||
{ |
|||
return new SettingDefinition[] |
|||
{ |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.Enable, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Transition_Enable"), |
|||
description: L("Description:Transition_Enable")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.BasicTransition, |
|||
defaultValue: "fade-slide", |
|||
displayName: L("DisplayName:Transition_BasicTransition"), |
|||
description: L("Description:Transition_BasicTransition")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenPageLoading, |
|||
defaultValue: "true", |
|||
displayName: L("DisplayName:Transition_OpenPageLoading"), |
|||
description: L("Description:Transition_OpenPageLoading")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenNProgress, |
|||
defaultValue: "false", |
|||
displayName: L("DisplayName:Transition_OpenNProgress"), |
|||
description: L("Description:Transition_OpenNProgress")), |
|||
}; |
|||
} |
|||
|
|||
protected SettingDefinition[] CreateBeforeMiniConfigSettings() |
|||
{ |
|||
return new SettingDefinition[] |
|||
{ |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.BeforeMiniInfo.MenuCollapsed, |
|||
defaultValue: null, |
|||
displayName: L("DisplayName:BeforeMini_MenuCollapsed"), |
|||
description: L("Description:BeforeMini_MenuCollapsed")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.BeforeMiniInfo.MenuSplit, |
|||
defaultValue: null, |
|||
displayName: L("DisplayName:BeforeMini_MenuSplit"), |
|||
description: L("Description:BeforeMini_MenuSplit")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.BeforeMiniInfo.MenuMode, |
|||
defaultValue: null, |
|||
displayName: L("DisplayName:BeforeMini_MenuMode"), |
|||
description: L("Description:BeforeMini_MenuMode")), |
|||
CreateSetting( |
|||
name: VueVbenAdminSettingNames.BeforeMiniInfo.MenuType, |
|||
defaultValue: null, |
|||
displayName: L("DisplayName:BeforeMini_MenuType"), |
|||
description: L("Description:BeforeMini_MenuType")), |
|||
}; |
|||
} |
|||
|
|||
protected SettingDefinition CreateSetting( |
|||
string name, |
|||
ILocalizableString displayName, |
|||
ILocalizableString description, |
|||
string defaultValue = null, |
|||
bool isVisibleToClients = false, |
|||
bool isInherited = true, |
|||
bool isEncrypted = false) |
|||
{ |
|||
return new SettingDefinition(name, defaultValue, displayName, description, isVisibleToClients, isInherited, isEncrypted) |
|||
.WithProviders( |
|||
DefaultValueSettingValueProvider.ProviderName, |
|||
GlobalSettingValueProvider.ProviderName, |
|||
TenantSettingValueProvider.ProviderName, |
|||
UserSettingValueProvider.ProviderName); |
|||
} |
|||
|
|||
protected LocalizableString L(string name) |
|||
{ |
|||
return LocalizableString.Create<PlatformResource>(name); |
|||
} |
|||
} |
|||
@ -0,0 +1,101 @@ |
|||
namespace LINGYUN.Platform.Settings.VueVbenAdmin; |
|||
|
|||
public static class VueVbenAdminSettingNames |
|||
{ |
|||
public const string GroupName = PlatformSettingNames.GroupName + ".Theme.VueVbenAdmin"; |
|||
|
|||
public const string DarkMode = GroupName + ".DarkMode"; |
|||
|
|||
public static class ProjectConfig |
|||
{ |
|||
public const string Prefix = GroupName + ".ProjectConfig"; |
|||
public const string PermissionCacheType = Prefix + ".PermissionCacheType"; |
|||
public const string ShowSettingButton = Prefix + ".ShowSettingButton"; |
|||
public const string ShowDarkModeToggle = Prefix + ".ShowDarkModeToggle"; |
|||
public const string SettingButtonPosition = Prefix + ".SettingButtonPosition"; |
|||
public const string PermissionMode = Prefix + ".PermissionMode"; |
|||
public const string SessionTimeoutProcessing = Prefix + ".SessionTimeoutProcessing"; |
|||
public const string GrayMode = Prefix + ".GrayMode"; |
|||
public const string ColorWeak = Prefix + ".ColorWeak"; |
|||
public const string ThemeColor = Prefix + ".ThemeColor"; |
|||
public const string FullContent = Prefix + ".FullContent"; |
|||
public const string ContentMode = Prefix + ".ContentMode"; |
|||
public const string ShowLogo = Prefix + ".ShowLogo"; |
|||
public const string ShowFooter = Prefix + ".ShowFooter"; |
|||
public const string OpenKeepAlive = Prefix + ".OpenKeepAlive"; |
|||
public const string LockTime = Prefix + ".LockTime"; |
|||
public const string ShowBreadCrumb = Prefix + ".ShowBreadCrumb"; |
|||
public const string ShowBreadCrumbIcon = Prefix + ".ShowBreadCrumbIcon"; |
|||
public const string UseErrorHandle = Prefix + ".UseErrorHandle"; |
|||
public const string UseOpenBackTop = Prefix + ".UseOpenBackTop"; |
|||
public const string CanEmbedIFramePage = Prefix + ".CanEmbedIFramePage"; |
|||
public const string CloseMessageOnSwitch = Prefix + ".CloseMessageOnSwitch"; |
|||
public const string RemoveAllHttpPending = Prefix + ".RemoveAllHttpPending"; |
|||
|
|||
public static class HeaderSetting |
|||
{ |
|||
public const string Prefix = ProjectConfig.Prefix + ".HeaderSetting"; |
|||
public const string BgColor = Prefix + ".BgColor"; |
|||
public const string Fixed = Prefix + ".Fixed"; |
|||
public const string Show = Prefix + ".Show"; |
|||
public const string Theme = Prefix + ".Theme"; |
|||
public const string ShowFullScreen = Prefix + ".ShowFullScreen"; |
|||
public const string UseLockPage = Prefix + ".UseLockPage"; |
|||
public const string ShowDoc = Prefix + ".ShowDoc"; |
|||
public const string ShowNotice = Prefix + ".ShowNotice"; |
|||
public const string ShowSearch = Prefix + ".ShowSearch"; |
|||
} |
|||
|
|||
public static class MenuSetting |
|||
{ |
|||
public const string Prefix = ProjectConfig.Prefix + ".MenuSetting"; |
|||
public const string BgColor = Prefix + ".BgColor"; |
|||
public const string Fixed = Prefix + ".Fixed"; |
|||
public const string Collapsed = Prefix + ".Collapsed"; |
|||
public const string CanDrag = Prefix + ".CanDrag"; |
|||
public const string Show = Prefix + ".Show"; |
|||
public const string Hidden = Prefix + ".Hidden"; |
|||
public const string Split = Prefix + ".Split"; |
|||
public const string MenuWidth = Prefix + ".MenuWidth"; |
|||
public const string Mode = Prefix + ".Mode"; |
|||
public const string Type = Prefix + ".Type"; |
|||
public const string Theme = Prefix + ".Theme"; |
|||
public const string TopMenuAlign = Prefix + ".TopMenuAlign"; |
|||
public const string Trigger = Prefix + ".Trigger"; |
|||
public const string Accordion = Prefix + ".Accordion"; |
|||
public const string CloseMixSidebarOnChange = Prefix + ".CloseMixSidebarOnChange"; |
|||
public const string CollapsedShowTitle = Prefix + ".CollapsedShowTitle"; |
|||
public const string MixSideTrigger = Prefix + ".MixSideTrigger"; |
|||
public const string MixSideFixed = Prefix + ".MixSideFixed"; |
|||
} |
|||
|
|||
public static class MultiTabsSetting |
|||
{ |
|||
public const string Prefix = ProjectConfig.Prefix + ".MultiTabsSetting"; |
|||
public const string Cache = Prefix + ".Cache"; |
|||
public const string Show = Prefix + ".Show"; |
|||
public const string ShowQuick = Prefix + ".ShowQuick"; |
|||
public const string CanDrag = Prefix + ".CanDrag"; |
|||
public const string ShowRedo = Prefix + ".ShowRedo"; |
|||
public const string ShowFold = Prefix + ".ShowFold"; |
|||
} |
|||
|
|||
public static class TransitionSetting |
|||
{ |
|||
public const string Prefix = ProjectConfig.Prefix + ".TransitionSetting"; |
|||
public const string Enable = Prefix + ".Enable"; |
|||
public const string BasicTransition = Prefix + ".BasicTransition"; |
|||
public const string OpenPageLoading = Prefix + ".OpenPageLoading"; |
|||
public const string OpenNProgress = Prefix + ".OpenNProgress"; |
|||
} |
|||
} |
|||
|
|||
public static class BeforeMiniInfo |
|||
{ |
|||
public const string Prefix = GroupName + ".BeforeMiniInfo"; |
|||
public const string MenuCollapsed = Prefix + ".MenuCollapsed"; |
|||
public const string MenuSplit = Prefix + ".MenuSplit"; |
|||
public const string MenuMode = Prefix + ".MenuMode"; |
|||
public const string MenuType = Prefix + ".MenuType"; |
|||
} |
|||
} |
|||
@ -0,0 +1,3 @@ |
|||
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd"> |
|||
<ConfigureAwait ContinueOnCapturedContext="false" /> |
|||
</Weavers> |
|||
@ -0,0 +1,30 @@ |
|||
<?xml version="1.0" encoding="utf-8"?> |
|||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
|||
<!-- This file was generated by Fody. Manual changes to this file will be lost when your project is rebuilt. --> |
|||
<xs:element name="Weavers"> |
|||
<xs:complexType> |
|||
<xs:all> |
|||
<xs:element name="ConfigureAwait" minOccurs="0" maxOccurs="1"> |
|||
<xs:complexType> |
|||
<xs:attribute name="ContinueOnCapturedContext" type="xs:boolean" /> |
|||
</xs:complexType> |
|||
</xs:element> |
|||
</xs:all> |
|||
<xs:attribute name="VerifyAssembly" type="xs:boolean"> |
|||
<xs:annotation> |
|||
<xs:documentation>'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.</xs:documentation> |
|||
</xs:annotation> |
|||
</xs:attribute> |
|||
<xs:attribute name="VerifyIgnoreCodes" type="xs:string"> |
|||
<xs:annotation> |
|||
<xs:documentation>A comma-separated list of error codes that can be safely ignored in assembly verification.</xs:documentation> |
|||
</xs:annotation> |
|||
</xs:attribute> |
|||
<xs:attribute name="GenerateXsd" type="xs:boolean"> |
|||
<xs:annotation> |
|||
<xs:documentation>'false' to turn off automatic generation of the XML Schema file.</xs:documentation> |
|||
</xs:annotation> |
|||
</xs:attribute> |
|||
</xs:complexType> |
|||
</xs:element> |
|||
</xs:schema> |
|||
@ -0,0 +1,23 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<Import Project="..\..\..\configureawait.props" /> |
|||
<Import Project="..\..\..\common.props" /> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>net6.0</TargetFramework> |
|||
<RootNamespace /> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="$(VoloAbpPackageVersion)" /> |
|||
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="$(VoloAbpPackageVersion)" /> |
|||
</ItemGroup> |
|||
|
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\LINGYUN.Platform.Application.Contracts\LINGYUN.Platform.Application.Contracts.csproj" /> |
|||
<ProjectReference Include="..\LINGYUN.Platform.Domain\LINGYUN.Platform.Domain.csproj" /> |
|||
<ProjectReference Include="..\LINGYUN.Platform.Settings.VueVbenAdmin\LINGYUN.Platform.Settings.VueVbenAdmin.csproj" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,9 @@ |
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class BeforeMiniStateDto |
|||
{ |
|||
public bool? MenuCollapsed { get; set; } |
|||
public bool? MenuSplit { get; set; } |
|||
public string MenuMode { get; set; } |
|||
public string MenuType { get; set; } |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class HeaderSettingDto |
|||
{ |
|||
public string BgColor { get; set; } = "#ffffff"; |
|||
public bool Fixed { get; set; } = true; |
|||
public bool Show { get; set; } = true; |
|||
public string Theme { get; set; } = "light"; |
|||
public bool ShowFullScreen { get; set; } = true; |
|||
public bool UseLockPage { get; set; } = true; |
|||
public bool ShowDoc { get; set; } = true; |
|||
public bool ShowNotice { get; set; } = true; |
|||
public bool ShowSearch { get; set; } = true; |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Services; |
|||
|
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public interface IThemeSettingAppService : IApplicationService |
|||
{ |
|||
Task<ThemeSettingDto> GetAsync(); |
|||
|
|||
Task ChangeAsync(ThemeSettingDto input); |
|||
} |
|||
@ -0,0 +1,23 @@ |
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class MenuSettingDto |
|||
{ |
|||
public string BgColor { get; set; } = "#001529"; |
|||
public bool Fixed { get; set; } = true; |
|||
public bool Collapsed { get; set; } |
|||
public bool CanDrag { get; set; } |
|||
public bool Show { get; set; } = true; |
|||
public bool Hidden { get; set; } |
|||
public bool Split { get; set; } |
|||
public int MenuWidth { get; set; } = 210; |
|||
public string Mode { get; set; } = "inline"; |
|||
public string Type { get; set; } = "sidebar"; |
|||
public string Theme { get; set; } = "dark"; |
|||
public string TopMenuAlign { get; set; } = "center"; |
|||
public string Trigger { get; set; } = "HEADER"; |
|||
public bool Accordion { get; set; } = true; |
|||
public bool CloseMixSidebarOnChange { get; set; } |
|||
public bool CollapsedShowTitle { get; set; } |
|||
public string MixSideTrigger { get; set; } = "click"; |
|||
public bool MixSideFixed { get; set; } |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class MultiTabsSettingDto |
|||
{ |
|||
public bool Cache { get; set; } |
|||
public bool Show { get; set; } = true; |
|||
public bool ShowQuick { get; set; } = true; |
|||
public bool CanDrag { get; set; } = true; |
|||
public bool ShowRedo { get; set; } = true; |
|||
public bool ShowFold { get; set; } = true; |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
using LINGYUN.Platform.Settings.VueVbenAdmin; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Volo.Abp.AspNetCore.Mvc; |
|||
using Volo.Abp.Modularity; |
|||
|
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
[DependsOn( |
|||
typeof(PlatformDomainModule), |
|||
typeof(PlatformSettingsVueVbenAdminModule), |
|||
typeof(PlatformApplicationContractModule), |
|||
typeof(AbpAspNetCoreMvcModule))] |
|||
public class PlatformThemeVueVbenAdminModule : AbpModule |
|||
{ |
|||
public override void PreConfigureServices(ServiceConfigurationContext context) |
|||
{ |
|||
PreConfigure<IMvcBuilder>(mvcBuilder => |
|||
{ |
|||
mvcBuilder.AddApplicationPartIfNotExists(typeof(PlatformThemeVueVbenAdminModule).Assembly); |
|||
}); |
|||
} |
|||
} |
|||
@ -0,0 +1,31 @@ |
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class ProjectConfigDto |
|||
{ |
|||
public int PermissionCacheType { get; set; } = 1; |
|||
public bool ShowSettingButton { get; set; } = true; |
|||
public bool ShowDarkModeToggle { get; set; } = true; |
|||
public string SettingButtonPosition { get; set; } = "auto"; |
|||
public string PermissionMode { get; set; } = "BACK"; |
|||
public int SessionTimeoutProcessing { get; set; } = 0; |
|||
public bool GrayMode { get; set; } |
|||
public bool ColorWeak { get; set; } |
|||
public string ThemeColor { get; set; } = "#0960bd"; |
|||
public bool FullContent { get; set; } |
|||
public string ContentMode { get; set; } = "full"; |
|||
public bool ShowLogo { get; set; } = true; |
|||
public bool ShowFooter { get; set; } |
|||
public HeaderSettingDto HeaderSetting { get; set; } = new HeaderSettingDto(); |
|||
public MenuSettingDto MenuSetting { get; set; } = new MenuSettingDto(); |
|||
public MultiTabsSettingDto MultiTabsSetting { get; set; } = new MultiTabsSettingDto(); |
|||
public TransitionSettingDto TransitionSetting { get; set; } = new TransitionSettingDto(); |
|||
public bool OpenKeepAlive { get; set; } = true; |
|||
public int LockTime { get; set; } = 0; |
|||
public bool ShowBreadCrumb { get; set; } = true; |
|||
public bool ShowBreadCrumbIcon { get; set; } |
|||
public bool UseErrorHandle { get; set; } |
|||
public bool UseOpenBackTop { get; set; } = true; |
|||
public bool CanEmbedIFramePage { get; set; } = true; |
|||
public bool CloseMessageOnSwitch { get; set; } = true; |
|||
public bool RemoveAllHttpPending { get; set; } |
|||
} |
|||
@ -0,0 +1,265 @@ |
|||
using LINGYUN.Platform.Localization; |
|||
using LINGYUN.Platform.Settings.VueVbenAdmin; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Services; |
|||
using Volo.Abp.Settings; |
|||
using Volo.Abp.SettingManagement; |
|||
using Microsoft.AspNetCore.Authorization; |
|||
|
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class ThemeSettingAppService : ApplicationService, IThemeSettingAppService |
|||
{ |
|||
protected ISettingManager SettingManager { get; } |
|||
|
|||
public ThemeSettingAppService( |
|||
ISettingManager settingManager) |
|||
{ |
|||
SettingManager = settingManager; |
|||
|
|||
LocalizationResource = typeof(PlatformResource); |
|||
} |
|||
|
|||
public async virtual Task<ThemeSettingDto> GetAsync() |
|||
{ |
|||
var theme = new ThemeSettingDto(); |
|||
|
|||
var settings = await SettingProvider.GetAllAsync(GetAllSettingNames()); |
|||
|
|||
theme.DarkMode = GetSettingValue(settings, VueVbenAdminSettingNames.DarkMode); |
|||
|
|||
theme.ProjectConfig.PermissionCacheType = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.PermissionCacheType, 1); |
|||
theme.ProjectConfig.ShowSettingButton = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ShowSettingButton, true); |
|||
theme.ProjectConfig.ShowDarkModeToggle = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ShowDarkModeToggle, true); |
|||
theme.ProjectConfig.SettingButtonPosition = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.SettingButtonPosition); |
|||
theme.ProjectConfig.PermissionMode = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.PermissionMode); |
|||
theme.ProjectConfig.SessionTimeoutProcessing = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.SessionTimeoutProcessing, 0); |
|||
theme.ProjectConfig.GrayMode = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.GrayMode, false); |
|||
theme.ProjectConfig.ColorWeak = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ColorWeak, false); |
|||
theme.ProjectConfig.ThemeColor = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ThemeColor); |
|||
theme.ProjectConfig.FullContent = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.FullContent, false); |
|||
theme.ProjectConfig.ContentMode = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ContentMode); |
|||
theme.ProjectConfig.ShowLogo = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ShowLogo, true); |
|||
theme.ProjectConfig.ShowFooter = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ShowFooter, false); |
|||
theme.ProjectConfig.OpenKeepAlive = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.OpenKeepAlive, true); |
|||
theme.ProjectConfig.LockTime = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.LockTime, 0); |
|||
theme.ProjectConfig.ShowBreadCrumb = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumb, true); |
|||
theme.ProjectConfig.ShowBreadCrumbIcon = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumbIcon, false); |
|||
theme.ProjectConfig.UseErrorHandle = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.UseErrorHandle, false); |
|||
theme.ProjectConfig.UseOpenBackTop = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.UseOpenBackTop, true); |
|||
theme.ProjectConfig.CanEmbedIFramePage = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.CanEmbedIFramePage, true); |
|||
theme.ProjectConfig.CloseMessageOnSwitch = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.CloseMessageOnSwitch, true); |
|||
theme.ProjectConfig.RemoveAllHttpPending = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.RemoveAllHttpPending, false); |
|||
|
|||
theme.ProjectConfig.HeaderSetting.BgColor = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.BgColor); |
|||
theme.ProjectConfig.HeaderSetting.Fixed = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Fixed, true); |
|||
theme.ProjectConfig.HeaderSetting.Show = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Show, true); |
|||
theme.ProjectConfig.HeaderSetting.Theme = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Theme); |
|||
theme.ProjectConfig.HeaderSetting.ShowFullScreen = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowFullScreen, true); |
|||
theme.ProjectConfig.HeaderSetting.UseLockPage = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.UseLockPage, true); |
|||
theme.ProjectConfig.HeaderSetting.ShowDoc = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowDoc, true); |
|||
theme.ProjectConfig.HeaderSetting.ShowNotice = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowNotice, true); |
|||
theme.ProjectConfig.HeaderSetting.ShowSearch = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowSearch, false); |
|||
|
|||
theme.ProjectConfig.MenuSetting.BgColor = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.BgColor); |
|||
theme.ProjectConfig.MenuSetting.Fixed = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Fixed, true); |
|||
theme.ProjectConfig.MenuSetting.Collapsed = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Collapsed, false); |
|||
theme.ProjectConfig.MenuSetting.CanDrag = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CanDrag, false); |
|||
theme.ProjectConfig.MenuSetting.Show = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Show, true); |
|||
theme.ProjectConfig.MenuSetting.Hidden = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Hidden, false); |
|||
theme.ProjectConfig.MenuSetting.Split = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Split, false); |
|||
theme.ProjectConfig.MenuSetting.MenuWidth = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MenuWidth, 210); |
|||
theme.ProjectConfig.MenuSetting.Mode = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Mode); |
|||
theme.ProjectConfig.MenuSetting.Type = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Type); |
|||
theme.ProjectConfig.MenuSetting.Theme = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Theme); |
|||
theme.ProjectConfig.MenuSetting.Show = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Show, true); |
|||
theme.ProjectConfig.MenuSetting.Theme = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Theme); |
|||
theme.ProjectConfig.MenuSetting.TopMenuAlign = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.TopMenuAlign); |
|||
theme.ProjectConfig.MenuSetting.Trigger = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Trigger); |
|||
theme.ProjectConfig.MenuSetting.Accordion = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Accordion, true); |
|||
theme.ProjectConfig.MenuSetting.CloseMixSidebarOnChange = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CloseMixSidebarOnChange, false); |
|||
theme.ProjectConfig.MenuSetting.CollapsedShowTitle = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CollapsedShowTitle, false); |
|||
theme.ProjectConfig.MenuSetting.MixSideTrigger = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideTrigger); |
|||
theme.ProjectConfig.MenuSetting.MixSideFixed = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideFixed, false); |
|||
|
|||
theme.ProjectConfig.MultiTabsSetting.Cache = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Cache, false); |
|||
theme.ProjectConfig.MultiTabsSetting.Show = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Show, true); |
|||
theme.ProjectConfig.MultiTabsSetting.ShowQuick = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowQuick, true); |
|||
theme.ProjectConfig.MultiTabsSetting.CanDrag = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.CanDrag, true); |
|||
theme.ProjectConfig.MultiTabsSetting.ShowRedo = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowRedo, true); |
|||
theme.ProjectConfig.MultiTabsSetting.ShowFold = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowFold, true); |
|||
|
|||
theme.ProjectConfig.TransitionSetting.Enable = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.Enable, true); |
|||
theme.ProjectConfig.TransitionSetting.BasicTransition = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.BasicTransition); |
|||
theme.ProjectConfig.TransitionSetting.OpenPageLoading = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenPageLoading, true); |
|||
theme.ProjectConfig.TransitionSetting.OpenNProgress = GetSettingValue(settings, VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenNProgress, false); |
|||
|
|||
// 忽略
|
|||
//theme.BeforeMiniInfo.MenuCollapsed = GetSettingValue(settings, VueVbenAdminSettingNames.BeforeMiniInfo.MenuCollapsed)?.To<bool>();
|
|||
//theme.BeforeMiniInfo.MenuSplit = GetSettingValue(settings, VueVbenAdminSettingNames.BeforeMiniInfo.MenuSplit)?.To<bool>();
|
|||
//theme.BeforeMiniInfo.MenuMode = GetSettingValue(settings, VueVbenAdminSettingNames.BeforeMiniInfo.MenuMode);
|
|||
//theme.BeforeMiniInfo.MenuType = GetSettingValue(settings, VueVbenAdminSettingNames.BeforeMiniInfo.MenuType);
|
|||
|
|||
return theme; |
|||
} |
|||
|
|||
[Authorize] |
|||
public async virtual Task ChangeAsync(ThemeSettingDto input) |
|||
{ |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.DarkMode, input.DarkMode); |
|||
|
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.PermissionCacheType, input.ProjectConfig.PermissionCacheType.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ShowSettingButton, input.ProjectConfig.ShowSettingButton.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ShowDarkModeToggle, input.ProjectConfig.ShowDarkModeToggle.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.SettingButtonPosition, input.ProjectConfig.SettingButtonPosition); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.PermissionMode, input.ProjectConfig.PermissionMode); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.SessionTimeoutProcessing, input.ProjectConfig.SessionTimeoutProcessing.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.GrayMode, input.ProjectConfig.GrayMode.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ColorWeak, input.ProjectConfig.ColorWeak.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ThemeColor, input.ProjectConfig.ThemeColor); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.FullContent, input.ProjectConfig.FullContent.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ContentMode, input.ProjectConfig.ContentMode); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ShowLogo, input.ProjectConfig.ShowLogo.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ShowFooter, input.ProjectConfig.ShowFooter.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.OpenKeepAlive, input.ProjectConfig.OpenKeepAlive.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.LockTime, input.ProjectConfig.LockTime.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumb, input.ProjectConfig.ShowBreadCrumb.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumbIcon, input.ProjectConfig.ShowBreadCrumbIcon.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.UseErrorHandle, input.ProjectConfig.UseErrorHandle.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.UseOpenBackTop, input.ProjectConfig.UseOpenBackTop.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.CanEmbedIFramePage, input.ProjectConfig.CanEmbedIFramePage.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.CloseMessageOnSwitch, input.ProjectConfig.CloseMessageOnSwitch.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.RemoveAllHttpPending, input.ProjectConfig.RemoveAllHttpPending.ToString()); |
|||
|
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.BgColor, input.ProjectConfig.HeaderSetting.BgColor); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Fixed, input.ProjectConfig.HeaderSetting.Fixed.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Show, input.ProjectConfig.HeaderSetting.Show.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Theme, input.ProjectConfig.HeaderSetting.Theme); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowFullScreen, input.ProjectConfig.HeaderSetting.ShowFullScreen.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.UseLockPage, input.ProjectConfig.HeaderSetting.UseLockPage.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowDoc, input.ProjectConfig.HeaderSetting.ShowDoc.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowNotice, input.ProjectConfig.HeaderSetting.ShowNotice.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowSearch, input.ProjectConfig.HeaderSetting.ShowSearch.ToString()); |
|||
|
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.BgColor, input.ProjectConfig.MenuSetting.BgColor); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Fixed, input.ProjectConfig.MenuSetting.Fixed.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Collapsed, input.ProjectConfig.MenuSetting.Collapsed.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CanDrag, input.ProjectConfig.MenuSetting.CanDrag.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Show, input.ProjectConfig.MenuSetting.Show.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Hidden, input.ProjectConfig.MenuSetting.Hidden.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Split, input.ProjectConfig.MenuSetting.Split.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MenuWidth, input.ProjectConfig.MenuSetting.MenuWidth.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Mode, input.ProjectConfig.MenuSetting.Mode); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Type, input.ProjectConfig.MenuSetting.Type); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Theme, input.ProjectConfig.MenuSetting.Theme); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.TopMenuAlign, input.ProjectConfig.MenuSetting.TopMenuAlign); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Trigger, input.ProjectConfig.MenuSetting.Trigger); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Accordion, input.ProjectConfig.MenuSetting.Accordion.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CloseMixSidebarOnChange, input.ProjectConfig.MenuSetting.CloseMixSidebarOnChange.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CollapsedShowTitle, input.ProjectConfig.MenuSetting.CollapsedShowTitle.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideTrigger, input.ProjectConfig.MenuSetting.MixSideTrigger); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideFixed, input.ProjectConfig.MenuSetting.MixSideFixed.ToString()); |
|||
|
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Cache, input.ProjectConfig.MultiTabsSetting.Cache.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Show, input.ProjectConfig.MultiTabsSetting.Show.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowQuick, input.ProjectConfig.MultiTabsSetting.ShowQuick.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.CanDrag, input.ProjectConfig.MultiTabsSetting.CanDrag.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowRedo, input.ProjectConfig.MultiTabsSetting.ShowRedo.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowFold, input.ProjectConfig.MultiTabsSetting.ShowFold.ToString()); |
|||
|
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.Enable, input.ProjectConfig.TransitionSetting.Enable.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.BasicTransition, input.ProjectConfig.TransitionSetting.BasicTransition); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenPageLoading, input.ProjectConfig.TransitionSetting.OpenPageLoading.ToString()); |
|||
await SettingManager.SetForCurrentUserAsync(VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenNProgress, input.ProjectConfig.TransitionSetting.OpenNProgress.ToString()); |
|||
} |
|||
|
|||
protected virtual string[] GetAllSettingNames() |
|||
{ |
|||
return new string[] |
|||
{ |
|||
VueVbenAdminSettingNames.DarkMode, |
|||
|
|||
VueVbenAdminSettingNames.ProjectConfig.PermissionCacheType, |
|||
VueVbenAdminSettingNames.ProjectConfig.ShowSettingButton, |
|||
VueVbenAdminSettingNames.ProjectConfig.ShowDarkModeToggle, |
|||
VueVbenAdminSettingNames.ProjectConfig.SettingButtonPosition, |
|||
VueVbenAdminSettingNames.ProjectConfig.PermissionMode, |
|||
VueVbenAdminSettingNames.ProjectConfig.SessionTimeoutProcessing, |
|||
VueVbenAdminSettingNames.ProjectConfig.GrayMode, |
|||
VueVbenAdminSettingNames.ProjectConfig.ColorWeak, |
|||
VueVbenAdminSettingNames.ProjectConfig.ThemeColor, |
|||
VueVbenAdminSettingNames.ProjectConfig.FullContent, |
|||
VueVbenAdminSettingNames.ProjectConfig.ContentMode, |
|||
VueVbenAdminSettingNames.ProjectConfig.ShowLogo, |
|||
VueVbenAdminSettingNames.ProjectConfig.ShowFooter, |
|||
VueVbenAdminSettingNames.ProjectConfig.OpenKeepAlive, |
|||
VueVbenAdminSettingNames.ProjectConfig.LockTime, |
|||
VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumb, |
|||
VueVbenAdminSettingNames.ProjectConfig.ShowBreadCrumbIcon, |
|||
VueVbenAdminSettingNames.ProjectConfig.UseErrorHandle, |
|||
VueVbenAdminSettingNames.ProjectConfig.UseOpenBackTop, |
|||
VueVbenAdminSettingNames.ProjectConfig.CanEmbedIFramePage, |
|||
VueVbenAdminSettingNames.ProjectConfig.CloseMessageOnSwitch, |
|||
VueVbenAdminSettingNames.ProjectConfig.RemoveAllHttpPending, |
|||
|
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.BgColor, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Fixed, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Show, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.Theme, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowFullScreen, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.UseLockPage, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowDoc, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowNotice, |
|||
VueVbenAdminSettingNames.ProjectConfig.HeaderSetting.ShowSearch, |
|||
|
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.BgColor, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Fixed, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Collapsed, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CanDrag, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Show, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Hidden, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Split, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MenuWidth, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Mode, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Type, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Theme, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.TopMenuAlign, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Trigger, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.Accordion, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CloseMixSidebarOnChange, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.CollapsedShowTitle, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideTrigger, |
|||
VueVbenAdminSettingNames.ProjectConfig.MenuSetting.MixSideFixed, |
|||
|
|||
VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Cache, |
|||
VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.Show, |
|||
VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowQuick, |
|||
VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.CanDrag, |
|||
VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowRedo, |
|||
VueVbenAdminSettingNames.ProjectConfig.MultiTabsSetting.ShowFold, |
|||
|
|||
VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.Enable, |
|||
VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.BasicTransition, |
|||
VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenPageLoading, |
|||
VueVbenAdminSettingNames.ProjectConfig.TransitionSetting.OpenNProgress, |
|||
}; |
|||
} |
|||
|
|||
protected virtual string GetSettingValue(IEnumerable<SettingValue> settings, string name, string defaultValue = null) |
|||
{ |
|||
var settingValue = settings.FirstOrDefault(x => x.Name == name)?.Value; |
|||
|
|||
return settingValue ?? defaultValue; |
|||
} |
|||
|
|||
protected virtual T GetSettingValue<T>(IEnumerable<SettingValue> settings, string name, T defaultValue = default) |
|||
where T : struct |
|||
{ |
|||
var settingValue = settings.FirstOrDefault(x => x.Name == name)?.Value; |
|||
|
|||
return settingValue?.To<T>() ?? defaultValue; |
|||
} |
|||
} |
|||
@ -0,0 +1,34 @@ |
|||
using Microsoft.AspNetCore.Authorization; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.AspNetCore.Mvc; |
|||
|
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
[Controller] |
|||
[RemoteService(Name = PlatformRemoteServiceConsts.RemoteServiceName)] |
|||
[Route("api/theme/vue-vben-admin")] |
|||
public class ThemeSettingController : AbpControllerBase, IThemeSettingAppService |
|||
{ |
|||
protected IThemeSettingAppService ThemeSettingAppService { get; } |
|||
|
|||
public ThemeSettingController( |
|||
IThemeSettingAppService themeSettingAppService) |
|||
{ |
|||
ThemeSettingAppService = themeSettingAppService; |
|||
} |
|||
|
|||
[HttpGet] |
|||
public Task<ThemeSettingDto> GetAsync() |
|||
{ |
|||
return ThemeSettingAppService.GetAsync(); |
|||
} |
|||
|
|||
[HttpPut] |
|||
[Authorize] |
|||
public Task ChangeAsync(ThemeSettingDto input) |
|||
{ |
|||
return ThemeSettingAppService.ChangeAsync(input); |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class ThemeSettingDto |
|||
{ |
|||
public string DarkMode { get; set; } = "light"; |
|||
public bool PageLoading { get; set; } |
|||
public ProjectConfigDto ProjectConfig { get; set; } = new ProjectConfigDto(); |
|||
public BeforeMiniStateDto BeforeMiniInfo { get; set; } = new BeforeMiniStateDto(); |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
namespace LINGYUN.Platform.Theme.VueVbenAdmin; |
|||
|
|||
public class TransitionSettingDto |
|||
{ |
|||
public bool Enable { get; set; } = true; |
|||
public string BasicTransition { get; set; } = "fade-slide"; |
|||
public bool OpenPageLoading { get; set; } = true; |
|||
public bool OpenNProgress { get; set; } |
|||
} |
|||
Loading…
Reference in new issue