😎1、同步升级 2、调整颜色json位置
This commit is contained in:
parent
613e50bd4c
commit
480c7b40f1
@ -17,7 +17,7 @@
|
||||
<PackageReference Include="AngleSharp" Version="1.1.2" />
|
||||
<PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
|
||||
<PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
|
||||
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.14.2" />
|
||||
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.14.3" />
|
||||
<PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.4.1" />
|
||||
<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.4.1" />
|
||||
<PackageReference Include="Furion.Pure" Version="4.9.4.1" />
|
||||
@ -37,7 +37,7 @@
|
||||
<PackageReference Include="SqlSugarCore" Version="5.1.4.158" />
|
||||
<PackageReference Include="SSH.NET" Version="2024.0.0" />
|
||||
<PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.0" />
|
||||
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1029" />
|
||||
<PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1030" />
|
||||
<PackageReference Include="UAParser" Version="3.1.47" />
|
||||
<PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
|
||||
</ItemGroup>
|
||||
|
||||
@ -168,7 +168,7 @@ public class SysWechatService : IDynamicApiController, ITransient
|
||||
Url = input.Url,
|
||||
MiniProgram = new CgibinMessageTemplateSendRequest.Types.MiniProgram
|
||||
{
|
||||
AppId = _wechatApiClientFactory._wechatOptions.WechatAppId,
|
||||
AppId = _wechatApiClientFactory._wechatOptions.WxOpenAppId,
|
||||
PagePath = input.MiniProgramPagePath,
|
||||
},
|
||||
Data = messageData
|
||||
|
||||
@ -135,7 +135,7 @@
|
||||
@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
@:<el-select clearable v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)">
|
||||
@:<el-option v-for="(item,index) in dl('@(@column.PropertyName)Enum')" :key="index" :value="@(@column.NetType == "string?" ? "item.value" : "Number(item.value)")" :label="`${item.name} (${item.code}) [${item.value}]`"></el-option>
|
||||
@:<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="@(@column.NetType == "string?" ? "item.value" : "Number(item.value)")" :label="`${item.name} (${item.code}) [${item.value}]`"></el-option>
|
||||
@:
|
||||
</el-select>
|
||||
@:
|
||||
@ -167,13 +167,12 @@
|
||||
</style>
|
||||
<script lang="ts" setup>
|
||||
import { ref,onMounted } from "vue";
|
||||
import { getDictDataItem as di, getDictDataList as dl } from '/@@/utils/dict-utils';
|
||||
import { ElMessage } from "element-plus";
|
||||
import type { FormRules } from "element-plus";
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "ConstSelector")){
|
||||
@:import { getConstType } from "/@@/utils/constHelper";
|
||||
}
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "Select")){
|
||||
}
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "Select") || @Model.TableField.Any(x=>x.EffectType == "EnumSelector")){
|
||||
@:import { getDictDataItem as di, getDictDataList as dl } from '/@@/utils/dict-utils';
|
||||
}
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "EnumSelector")){
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
}else if(@column.EffectType == "EnumSelector"){
|
||||
@:<el-form-item label="@column.ColumnComment">
|
||||
@:<el-select clearable="" v-model="queryParams.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)">
|
||||
@:<el-option v-for="(item,index) in dl('@(@column.PropertyName)Enum')" :key="index" :value="item.value" :label="`${item.name} (${item.code}) [${item.value}] `" />
|
||||
@:<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.value" :label="`${item.name} (${item.code}) [${item.value}] `" />
|
||||
@:
|
||||
</el-select>
|
||||
@:
|
||||
@ -165,7 +165,7 @@
|
||||
else if(@column.EffectType == "EnumSelector"){
|
||||
@:<el-table-column prop="@column.LowerPropertyName" label="@column.ColumnComment" @(column.WhetherSortable == "Y" ? "sortable='custom'" : "") show-overflow-tooltip="" >
|
||||
@:<template #default="scope">
|
||||
@:<el-tag :type="dv('@(@column.PropertyName)Enum', scope.row.@(@column.LowerPropertyName))?.tagType"> {{dv('@(@column.PropertyName)Enum', scope.row.@column.LowerPropertyName)?.name}}</el-tag>
|
||||
@:<el-tag :type="dv('@(@column.DictTypeCode)', scope.row.@(@column.LowerPropertyName))?.tagType"> {{dv('@(@column.DictTypeCode)', scope.row.@column.LowerPropertyName)?.name}}</el-tag>
|
||||
@:</template>
|
||||
@:</el-table-column>
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
@ -23,4 +23,10 @@ public class GoViewProData : EntityTenant
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "预览图片", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? IndexImageData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 背景图片
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "背景图片", ColumnDataType = StaticConfig.CodeFirst_BigString)]
|
||||
public string? BackGroundImageData { get; set; }
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
@ -36,6 +36,11 @@ public class GoViewProItemOutput
|
||||
/// </summary>
|
||||
public string IndexImage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 背景图片url
|
||||
/// </summary>
|
||||
public string BackGroundImage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建者Id
|
||||
/// </summary>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
@ -249,4 +249,75 @@ public class GoViewProService : IDynamicApiController
|
||||
var bytes = Convert.FromBase64String(projectData.IndexImageData);
|
||||
return new FileStreamResult(new MemoryStream(bytes), "image/png");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传背景图
|
||||
/// </summary>
|
||||
[DisplayName("上传背景图")]
|
||||
public async Task<GoViewProUploadOutput> UploadBackGround(IFormFile @object)
|
||||
{
|
||||
// 文件名格式示例 13414795568325_index_preview.png
|
||||
var fileNameSplit = @object.FileName.Split('_');
|
||||
var idStr = fileNameSplit[0];
|
||||
if (!long.TryParse(idStr, out var id)) return new GoViewProUploadOutput();
|
||||
|
||||
// 将预览图转换成 Base64
|
||||
var ms = new MemoryStream();
|
||||
await @object.CopyToAsync(ms);
|
||||
var base64Image = Convert.ToBase64String(ms.ToArray());
|
||||
|
||||
// 保存
|
||||
if (await _goViewProDataRep.IsAnyAsync(u => u.Id == id))
|
||||
{
|
||||
await _goViewProDataRep.AsUpdateable()
|
||||
.SetColumns(u => new GoViewProData
|
||||
{
|
||||
BackGroundImageData = base64Image
|
||||
})
|
||||
.Where(u => u.Id == id)
|
||||
.ExecuteCommandAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
await _goViewProDataRep.InsertAsync(new GoViewProData
|
||||
{
|
||||
Id = id,
|
||||
BackGroundImageData = base64Image,
|
||||
});
|
||||
}
|
||||
|
||||
var output = new GoViewProUploadOutput
|
||||
{
|
||||
Id = id,
|
||||
BucketName = null,
|
||||
CreateTime = null,
|
||||
CreateUserId = null,
|
||||
FileName = null,
|
||||
FileSize = 0,
|
||||
FileSuffix = "png",
|
||||
FileUrl = $"api/goview/project/getBackGroundImage/{id}",
|
||||
UpdateTime = null,
|
||||
UpdateUserId = null
|
||||
};
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取背景图
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[NonUnify]
|
||||
[ApiDescriptionSettings(Name = "GetBackGroundImage")]
|
||||
[DisplayName("获取背景图")]
|
||||
public async Task<IActionResult> GetBackGroundImage(long id)
|
||||
{
|
||||
var projectData = await _goViewProDataRep.AsQueryable().IgnoreColumns(u => u.Content).FirstAsync(u => u.Id == id);
|
||||
if (projectData?.BackGroundImageData == null)
|
||||
return new NoContentResult();
|
||||
|
||||
var bytes = Convert.FromBase64String(projectData.BackGroundImageData);
|
||||
return new FileStreamResult(new MemoryStream(bytes), "image/png");
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
|
||||
//
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
"name": "admin.net.pro",
|
||||
"type": "module",
|
||||
"version": "2.4.33",
|
||||
"lastBuildTime": "2024.6.16",
|
||||
"lastBuildTime": "2024.6.21",
|
||||
"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
|
||||
"author": "zuohuaijun",
|
||||
"license": "MIT",
|
||||
@ -38,7 +38,7 @@
|
||||
"jsplumb": "^2.15.6",
|
||||
"lodash-es": "^4.17.21",
|
||||
"mitt": "^3.0.1",
|
||||
"monaco-editor": "^0.49.0",
|
||||
"monaco-editor": "^0.50.0",
|
||||
"nprogress": "^0.2.0",
|
||||
"ol": "^9.2.4",
|
||||
"pinia": "^2.1.7",
|
||||
|
||||
@ -468,7 +468,7 @@ import Watermark from '/@/utils/watermark';
|
||||
import commonFunction from '/@/utils/commonFunction';
|
||||
import other from '/@/utils/other';
|
||||
import mittBus from '/@/utils/mitt';
|
||||
import chineseColorArr from '/public/colors';
|
||||
import chineseColorArr from './colors.json';
|
||||
|
||||
// 定义变量内容
|
||||
const { locale } = useI18n();
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<el-row :gutter="15" class="home-card-three">
|
||||
<el-col :xs="24" :sm="10" :md="10" :lg="8" :xl="8">
|
||||
<div class="home-card-item">
|
||||
<div class="home-card-item-title">快捷导航工具--</div>
|
||||
<div class="home-card-item-title">快捷导航工具</div>
|
||||
<div class="home-monitor">
|
||||
<div class="flex-warp">
|
||||
<div class="flex-warp-item" v-for="(v, k) in state.homeThree" :key="k">
|
||||
|
||||
59
Web/src/views/home/widgets/components/commit.vue
Normal file
59
Web/src/views/home/widgets/components/commit.vue
Normal file
@ -0,0 +1,59 @@
|
||||
<template>
|
||||
<el-card shadow="hover" header="更新记录">
|
||||
<template #header>
|
||||
<el-icon style="display: inline; vertical-align: middle"> <ele-Refresh /> </el-icon>
|
||||
<span style=""> 更新记录 </span>
|
||||
</template>
|
||||
<div class="commit">
|
||||
<el-timeline style="max-width: 600px" v-if="state.list.length > 0">
|
||||
<el-timeline-item v-for="(item, index) in state.list" :key="index" :timestamp="item.commit.committer.date">
|
||||
<el-link :href="item.html_url" target="_blank"> {{ item.commit.message }}</el-link>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
<el-empty v-else description="空"></el-empty>
|
||||
</div>
|
||||
</el-card>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
export default {
|
||||
title: '更新记录',
|
||||
icon: 'ele-Message',
|
||||
description: '当前项目更新记录',
|
||||
};
|
||||
</script>
|
||||
|
||||
<script setup lang="ts" name="commit">
|
||||
// import axios from 'axios';
|
||||
import { reactive, onMounted } from 'vue';
|
||||
|
||||
const state = reactive({
|
||||
list: [] as any,
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
axios({
|
||||
method: 'get',
|
||||
url: 'https://gitee.com/api/v5/repos/zuohuaijun/Admin.NET/commits',
|
||||
params: {
|
||||
page: 1,
|
||||
per_page: 10,
|
||||
},
|
||||
}).then((res: any) => {
|
||||
state.list = res.data;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.progress {
|
||||
text-align: center;
|
||||
}
|
||||
.progress .percentage-value {
|
||||
font-size: 28px;
|
||||
}
|
||||
.progress .percentage-label {
|
||||
font-size: 12px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
</style>
|
||||
@ -46,7 +46,7 @@ export default {
|
||||
|
||||
<script setup lang="ts" name="welcome">
|
||||
const godoc = () => {
|
||||
window.open('https://gitee.com/zuohuaijun/Admin.NET.git');
|
||||
window.open('http://101.43.53.74:5050/');
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@ -144,7 +144,11 @@ interface Grid {
|
||||
}
|
||||
const defaultGrid = {
|
||||
layout: [12, 6, 6],
|
||||
copmsList: [['welcome'], ['about', 'ver'], ['timeing', 'progressing']],
|
||||
copmsList: [
|
||||
['welcome', 'commit'],
|
||||
['about', 'ver'],
|
||||
['timeing', 'progressing'],
|
||||
],
|
||||
};
|
||||
|
||||
const customizing = ref<boolean>(false);
|
||||
@ -178,7 +182,7 @@ const availableCompsList = computed(() => {
|
||||
});
|
||||
|
||||
const myCompsList = computed(() => {
|
||||
const myGrid = Local.get('DASHBOARDGRID') || ['welcome', 'myapp', 'ver', 'timeing', 'progressing', 'echarts', 'about'];
|
||||
const myGrid = Local.get('DASHBOARDGRID') || ['welcome', 'myapp', 'ver', 'timeing', 'progressing', 'echarts', 'about', 'commit'];
|
||||
return availableCompsList.value.filter((comp) => !comp.disabled && myGrid.includes(comp.key));
|
||||
});
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user