diff --git a/db/SQLite/InitData.sql b/db/SQLite/InitData.sql
index fef9954f..4745bef9 100644
--- a/db/SQLite/InitData.sql
+++ b/db/SQLite/InitData.sql
@@ -26,7 +26,7 @@ INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('头像地址
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('网站样式', '蓝色样式', 'blue.css', 0);
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('网站样式', '黑色样式', 'black.css', 0);
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('网站样式', 'AdminLTE', 'lte.css', 0);
-INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('当前样式', '使用样式', 'blue.css', 0);
+INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('网站设置', '使用样式', 'blue.css', 0);
INSERT INTO [Dicts] ([Category], [Name], [Code], [Define]) VALUES ('网站设置', '前台首页', '~/Home/Index', 0);
-- 网站UI设置
diff --git a/src/admin/Bootstrap.Admin/BootstrapAdmin.db b/src/admin/Bootstrap.Admin/BootstrapAdmin.db
index e8c0623b..fc871028 100644
Binary files a/src/admin/Bootstrap.Admin/BootstrapAdmin.db and b/src/admin/Bootstrap.Admin/BootstrapAdmin.db differ
diff --git a/src/admin/Bootstrap.Admin/Controllers/Api/SettingsController.cs b/src/admin/Bootstrap.Admin/Controllers/Api/SettingsController.cs
index 2628f8f7..9733fdd6 100644
--- a/src/admin/Bootstrap.Admin/Controllers/Api/SettingsController.cs
+++ b/src/admin/Bootstrap.Admin/Controllers/Api/SettingsController.cs
@@ -22,8 +22,8 @@ namespace Bootstrap.Admin.Controllers.Api
///
///
[HttpPost]
- [ButtonAuthorize(Url = "~/Admin/Settings", Auth = "saveTitle,saveFooter,saveTheme,saveUISettings,clearCache,clearAllCache,loginSettings,lockScreen,defaultApp,blazor")]
- public bool Post([FromBody]IEnumerable values) => DictHelper.SaveSettings(values);
+ [ButtonAuthorize(Url = "~/Admin/Settings", Auth = "saveTitle,saveFooter,saveTheme,saveUISettings,loginSettings,lockScreen,defaultApp,blazor,iplocate")]
+ public bool Post([FromBody]IEnumerable values) => DictHelper.SaveUISettings(values);
///
/// 获取网站缓存站点集合
diff --git a/src/admin/Bootstrap.Admin/Pages/Views/Components/SettingsBase.cs b/src/admin/Bootstrap.Admin/Pages/Views/Components/SettingsBase.cs
index 686f30dd..2241829b 100644
--- a/src/admin/Bootstrap.Admin/Pages/Views/Components/SettingsBase.cs
+++ b/src/admin/Bootstrap.Admin/Pages/Views/Components/SettingsBase.cs
@@ -165,7 +165,13 @@ namespace Bootstrap.Admin.Pages.Views.Admin.Components
///
protected void SaveWebTitle()
{
- var ret = DictHelper.SaveWebTitle(Model.Title);
+ var ret = DictHelper.SaveSettings(new BootstrapDict[]{
+ new BootstrapDict() {
+ Category = "网站设置",
+ Name = "网站标题",
+ Code = Model.Title
+ }
+ });
RootLayout?.OnWebTitleChanged(Model.Title);
ShowMessage("保存网站标题", ret);
}
@@ -175,7 +181,13 @@ namespace Bootstrap.Admin.Pages.Views.Admin.Components
///
protected void SaveWebFooter()
{
- var ret = DictHelper.SaveWebFooter(Model.Footer);
+ var ret = DictHelper.SaveSettings(new BootstrapDict[]{
+ new BootstrapDict() {
+ Category = "网站设置",
+ Name = "网站页脚",
+ Code = Model.Footer
+ }
+ });
RootLayout?.OnWebFooterChanged(Model.Footer);
ShowMessage("保存网站页脚", ret);
}
diff --git a/src/admin/Bootstrap.Admin/wwwroot/js/settings.js b/src/admin/Bootstrap.Admin/wwwroot/js/settings.js
index 0bf4f310..4c4820e6 100644
--- a/src/admin/Bootstrap.Admin/wwwroot/js/settings.js
+++ b/src/admin/Bootstrap.Admin/wwwroot/js/settings.js
@@ -11,7 +11,9 @@ $(function () {
case 'footer':
data = dataBinder.get();
$.bc({
- url: Settings.url, data: [{ name: '网站页脚', code: data.Footer, category: '网站设置' }], title: '保存网站页脚', method: "post",
+ url: Settings.url, data: [
+ { name: 'SaveWebFooter', code: data.Footer }
+ ], title: '保存网站页脚', method: "post",
callback: function (result) {
if (result) $('#websiteFooter').text(data.Footer);
}
@@ -20,16 +22,20 @@ $(function () {
case 'title':
data = dataBinder.get();
$.bc({
- url: Settings.url, data: [{ name: '网站标题', code: data.Title, category: '网站设置' }], title: '保存网站标题', method: "post",
+ url: Settings.url, data: [
+ { name: 'SaveWebTitle', code: data.Title }
+ ], title: '保存网站标题', method: "post",
callback: function (result) {
- if (result) $('#websiteTitle').text(data.Title);
+ if (result) $('#websiteTitle, aside .nav-brand a span').text(data.Title);
}
});
break;
case 'css':
var cssDefine = $css.val();
$.bc({
- url: Settings.url, data: [{ name: '使用样式', code: cssDefine, category: '当前样式' }], title: '保存网站样式', method: "post",
+ url: Settings.url, data: [
+ { name: 'SaveTheme', code: cssDefine }
+ ], title: '保存网站样式', method: "post",
callback: function (result) {
if (result) {
window.setTimeout(function () { window.location.reload(true); }, 1000);
@@ -43,9 +49,9 @@ $(function () {
var fixedTableHeader = $('#tableHeader').prop('checked') ? "1" : "0";
$.bc({
url: Settings.url, data: [
- { name: '卡片标题状态', code: cardTitle, category: '网站设置' },
- { name: '侧边栏状态', code: uiSettings, category: '网站设置' },
- { name: '固定表头', code: fixedTableHeader, category: '网站设置' }
+ { name: 'ShowCardTitle', code: cardTitle },
+ { name: 'ShowSideBar', code: uiSettings },
+ { name: 'FixedTableHeader', code: fixedTableHeader }
], title: '保存网站设置', method: "post",
callback: function (result) {
if (result) {
@@ -58,13 +64,19 @@ $(function () {
var mobile = $('#mobile').prop('checked') ? "1" : "0";
var oauth = $('#oauth').prop('checked') ? "1" : "0";
$.bc({
- url: Settings.url, data: [{ name: 'OAuth 认证登录', code: oauth, category: '网站设置' }, { name: '短信验证码登录', code: mobile, category: '网站设置' }], title: '登录设置', method: "post"
+ url: Settings.url, data: [
+ { name: 'OAuth', code: oauth },
+ { name: 'SMS', code: mobile }
+ ], title: '登录设置', method: "post"
});
break;
case 'saveAutoLock':
var autoLock = $('#lockScreen').prop('checked') ? "1" : "0";
$.bc({
- url: Settings.url, data: [{ name: '自动锁屏', code: autoLock, category: '网站设置' }, { name: '自动锁屏时长', code: $('#lockPeriod').val(), category: '网站设置' }], title: '保存自动锁屏设置', method: "post",
+ url: Settings.url, data: [
+ { name: 'AutoLock', code: autoLock },
+ { name: 'AutoLockPeriod', code: $('#lockPeriod').val() }
+ ], title: '保存自动锁屏设置', method: "post",
callback: function (result) {
if (result) {
window.setTimeout(function () { window.location.reload(true); }, 1000);
@@ -75,13 +87,13 @@ $(function () {
case 'saveDefaultApp':
var defaultApp = $('#defaultApp').prop('checked') ? "1" : "0";
$.bc({
- url: Settings.url, data: [{ name: '默认应用程序', code: defaultApp, category: '网站设置' }], title: '保存默认应用程序设置', method: "post"
+ url: Settings.url, data: [{ name: 'DefaultApp', code: defaultApp }], title: '保存默认应用程序设置', method: "post"
});
break;
case 'saveBlazor':
var blazor = $('#blazor').prop('checked') ? "1" : "0";
$.bc({
- url: Settings.url, data: [{ name: 'Blazor', code: blazor, category: '网站设置' }], title: 'Blazor 设置', method: "post",
+ url: Settings.url, data: [{ name: 'Blazor', code: blazor }], title: 'Blazor 设置', method: "post",
callback: function (result) {
if (result) {
// 通过值设置是否显示 Blazor 挂件
@@ -95,7 +107,7 @@ $(function () {
case 'saveIpLocator':
var iplocator = $iplocator.val();
$.bc({
- url: Settings.url, data: [{ name: 'IP地理位置接口', code: iplocator, category: '网站设置' }], title: '保存地理位置服务设置', method: "post"
+ url: Settings.url, data: [{ name: 'IPLocator', code: iplocator }], title: '保存地理位置服务设置', method: "post"
});
break;
}
diff --git a/src/admin/Bootstrap.DataAccess/Dict.cs b/src/admin/Bootstrap.DataAccess/Dict.cs
index 1b734e1f..1cfdccc9 100644
--- a/src/admin/Bootstrap.DataAccess/Dict.cs
+++ b/src/admin/Bootstrap.DataAccess/Dict.cs
@@ -101,7 +101,7 @@ namespace Bootstrap.DataAccess
///
public virtual string RetrieveActiveTheme()
{
- var theme = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "使用样式" && d.Category == "当前样式" && d.Define == 0);
+ var theme = DictHelper.RetrieveDicts().FirstOrDefault(d => d.Name == "使用样式" && d.Category == "网站设置" && d.Define == 0);
return theme == null ? string.Empty : (theme.Code.Equals("site.css", StringComparison.OrdinalIgnoreCase) ? string.Empty : theme.Code);
}
diff --git a/src/admin/Bootstrap.DataAccess/Helper/DictHelper.cs b/src/admin/Bootstrap.DataAccess/Helper/DictHelper.cs
index 1638534c..fd8a1c32 100644
--- a/src/admin/Bootstrap.DataAccess/Helper/DictHelper.cs
+++ b/src/admin/Bootstrap.DataAccess/Helper/DictHelper.cs
@@ -116,30 +116,34 @@ namespace Bootstrap.DataAccess
}
///
- /// 保存网站标题
+ /// 保存网站UI设置
///
- ///
+ ///
///
- public static bool SaveWebTitle(string code)
+ public static bool SaveUISettings(IEnumerable items)
{
- var ret = DictHelper.SaveSettings(new BootstrapDict[]
+ var cache = new Dictionary()
{
- new BootstrapDict() { Category = "网站设置", Name = "网站标题", Code = code }
- });
- return ret;
- }
-
- ///
- /// 保存网站页脚
- ///
- ///
- ///
- public static bool SaveWebFooter(string code)
- {
- var ret = DictHelper.SaveSettings(new BootstrapDict[]
+ ["SaveWebTitle"] = "网站标题",
+ ["SaveWebFooter"] = "网站页脚",
+ ["SaveTheme"] = "使用样式",
+ ["ShowCardTitle"] = "卡片标题状态",
+ ["ShowSideBar"] = "侧边栏状态",
+ ["FixedTableHeader"] = "固定表头",
+ ["OAuth"] = "OAuth 认证登录",
+ ["SMS"] = "短信验证码登录",
+ ["AutoLock"] = "自动锁屏",
+ ["AutoLockPeriod"] = "自动锁屏时长",
+ ["DefaultApp"] = "默认应用程序",
+ ["Blazor"] = "Blazor",
+ ["IPLocator"] = "IP地理位置接口"
+ };
+ var ret = DictHelper.SaveSettings(items.Where(i => cache.Any(c => c.Key == i.Name)).Select(i => new BootstrapDict()
{
- new BootstrapDict() { Category = "网站设置", Name = "网站页脚", Code = code }
- });
+ Category = "网站设置",
+ Name = cache[i.Name],
+ Code = i.Code
+ }));
return ret;
}