修改后台
This commit is contained in:
parent
f10e70b9d0
commit
3c6a8ccfca
2
admin-client/dist/index.html
vendored
2
admin-client/dist/index.html
vendored
|
|
@ -7,7 +7,7 @@
|
|||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>寰梦后台管理</title>
|
||||
<script type="module" crossorigin src="/static/js/index-BDfjS8Pq.js"></script>
|
||||
<script type="module" crossorigin src="/static/js/index-Cw_NB0vp.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/static/css/index-CzwB8sLn.css">
|
||||
</head>
|
||||
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
.hzy-layout .ant-layout-header{position:relative;z-index:6;width:100%;height:auto!important;line-height:normal!important}.hzy-layout .hzy-layout-header{padding:0;position:relative;display:flex;align-items:center;height:48px!important;transition:background-color .1s;-moz-transition:background-color .1s;-webkit-transition:background-color .1s;-o-transition:background-color .1s}.hzy-layout .hzy-layout-header .hzy-header-btn{padding:0 8px;cursor:pointer;height:100%;display:inline-flex;justify-content:center;align-items:center}.hzy-layout .hzy-layout-header .hzy-header-btn:hover{background:var(--091c5174)}
|
||||
|
|
@ -25,6 +25,7 @@ const state = reactive({
|
|||
total: 100,
|
||||
columns: [] as any,
|
||||
data: [] as any,
|
||||
scroll: { x: "100vw", y: "60vh" },
|
||||
});
|
||||
|
||||
//权限
|
||||
|
|
@ -140,6 +141,11 @@ function exportExcel() {
|
|||
<hm-tenant-select v-model:value="state.search.vm.tenantId" :ShowAll="true" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6">
|
||||
<a-form-item class="mb-0" name="ModelName" label="模型名称">
|
||||
<a-input v-model:value="state.search.vm.modelName" placeholder="模型名称" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<!--button-->
|
||||
<a-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="text-right">
|
||||
<a-space :size="8">
|
||||
|
|
@ -212,20 +218,20 @@ function exportExcel() {
|
|||
<!-- table-col -->
|
||||
<template #table-col>
|
||||
<template v-for="item,index in state.columns.filter((w:any) => w.show)" :key="item.fieldName">
|
||||
<a-table-column v-if="item.fieldName!='systemTemplate'" :title="item.title" :data-index="item.fieldName" :sorter="item.sort ? { multiple: index + 1 } : false" />
|
||||
<a-table-column v-else
|
||||
title="模型上下文模板"
|
||||
data-index="systemTemplate"
|
||||
|
||||
<a-table-column v-if="(item.fieldName=='systemTemplate'||item.fieldName=='headersTemplate'||item.fieldName=='requestTemplate')"
|
||||
:title="item.title" :data-index="item.fieldName" :sorter="item.sort ? { multiple: index + 1 } : false"
|
||||
min-width="300px"
|
||||
width="500px"
|
||||
:resizable="true"
|
||||
>
|
||||
<template #default="{ record }">
|
||||
<div style="width: 100%; min-height: 150px;max-height: 300px; overflow: auto">
|
||||
{{ record.systemTemplate }}
|
||||
{{ record[item.fieldName] }}
|
||||
</div>
|
||||
</template>
|
||||
</a-table-column>
|
||||
<a-table-column v-else :title="item.title" :data-index="item.fieldName" :sorter="item.sort ? { multiple: index + 1 } : false" width="150px" />
|
||||
</template>
|
||||
<!-- 操作 -->
|
||||
<a-table-column title="操作" data-index="id" v-if="power.update || power.delete" width="200px" fixed="right">
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ function save() {
|
|||
:title="state.vm.id ? '编辑' : '新建'"
|
||||
centered
|
||||
@ok="state.visible = false"
|
||||
:width="1200"
|
||||
:width="1400"
|
||||
>
|
||||
<template #footer>
|
||||
<a-button type="primary" :loading="state.loading" @click="save()">
|
||||
|
|
@ -86,7 +86,7 @@ function save() {
|
|||
<hm-tenant-select v-model:value="state.vm.form.tenantId" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4">
|
||||
<a-form-item
|
||||
label="模型名称"
|
||||
name="modelName"
|
||||
|
|
@ -98,9 +98,9 @@ function save() {
|
|||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4">
|
||||
<a-form-item
|
||||
label="model"
|
||||
label="模型model"
|
||||
name="model"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
|
|
@ -110,19 +110,7 @@ function save() {
|
|||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="x-api-key"
|
||||
name="apiKey"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.apiKey"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4">
|
||||
<a-form-item
|
||||
label="max_tokens"
|
||||
name="maxTokens"
|
||||
|
|
@ -134,11 +122,20 @@ function save() {
|
|||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4">
|
||||
<a-form-item
|
||||
label="模型请求地址"
|
||||
name="url"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input v-model:value="state.vm.form.url" placeholder="请输入" />
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4">
|
||||
<a-form-item
|
||||
label="模型版本"
|
||||
name="anthropicVersion"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.anthropicVersion"
|
||||
|
|
@ -146,30 +143,85 @@ function save() {
|
|||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="请求地址"
|
||||
name="url"
|
||||
label="是否默认"
|
||||
name="isDefabult"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-input v-model:value="state.vm.form.url" placeholder="请输入" />
|
||||
<a-select v-model:value="state.vm.form.isDefabult">
|
||||
<a-select-option :value="false">否</a-select-option>
|
||||
<a-select-option :value="true">是</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xs="12" :sm="12" :md="12" :lg="12" :xl="12">
|
||||
<a-form-item
|
||||
label="key x-api-key"
|
||||
name="apiKey"
|
||||
|
||||
>
|
||||
<a-input
|
||||
v-model:value="state.vm.form.apiKey"
|
||||
placeholder="请输入"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="system上下文模板"
|
||||
name="systemTemplate"
|
||||
:rules="[{ required: true, message: '请输入', trigger: 'blur' }]"
|
||||
>
|
||||
<a-textarea
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.systemTemplate"
|
||||
placeholder="可为空,非必填"
|
||||
:rows="10"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="请求模板"
|
||||
name="requestTemplate"
|
||||
>
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.requestTemplate"
|
||||
placeholder="可为空,非必填"
|
||||
:rows="10"
|
||||
/>
|
||||
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="headers对象"
|
||||
name="headersTemplate"
|
||||
|
||||
>
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.headersTemplate"
|
||||
placeholder="可为空,非必填"
|
||||
:rows="10"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
||||
<a-form-item
|
||||
label="返回数据模板"
|
||||
name="responseTemplate"
|
||||
|
||||
>
|
||||
<a-textarea
|
||||
v-model:value="state.vm.form.responseTemplate"
|
||||
placeholder="可为空,非必填"
|
||||
:rows="10"
|
||||
/>
|
||||
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</a-form>
|
||||
</a-spin>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
|
||||
using MiaoYu.Repository.ChatAI.Admin.Entities.Apps;
|
||||
namespace MiaoYu.Api.Admin.ApplicationServices.Apps;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -20,20 +20,38 @@ public class T_Model_ConfigService : ApplicationService<IRepository<T_Model_Conf
|
|||
public async Task<PagingView> FindListAsync(PagingSearchInput<T_Model_Config> pagingSearchInput)
|
||||
{
|
||||
var query = this._defaultRepository.Select
|
||||
|
||||
//项目
|
||||
.WhereIf(pagingSearchInput.Search?.TenantId!=null,
|
||||
w => w.TenantId==pagingSearchInput.Search.TenantId)
|
||||
|
||||
|
||||
|
||||
//项目
|
||||
.WhereIf(pagingSearchInput.Search?.TenantId != null,
|
||||
w => w.TenantId == pagingSearchInput.Search.TenantId)
|
||||
|
||||
|
||||
|
||||
//模型名称
|
||||
.WhereIf(!string.IsNullOrWhiteSpace(pagingSearchInput.Search?.ModelName),
|
||||
w => w.ModelName.Contains(pagingSearchInput.Search.ModelName ?? ""))
|
||||
|
||||
|
||||
.OrderByDescending(w => w.Id)
|
||||
.Select(w => new
|
||||
{
|
||||
w.Id,
|
||||
w.ModelName,w.Model,w.MaxTokens,w.ApiKey,w.Url,w.AnthropicVersion,w.CreateTime,w.UpdateTime,w.TenantId,w.SystemTemplate,
|
||||
// w.LastModificationTime,
|
||||
// w.CreationTime
|
||||
w.ModelName,
|
||||
w.Model,
|
||||
w.MaxTokens,
|
||||
w.ApiKey,
|
||||
w.Url,
|
||||
w.AnthropicVersion,
|
||||
w.CreateTime,
|
||||
w.UpdateTime,
|
||||
w.TenantId,
|
||||
w.SystemTemplate,
|
||||
w.RequestTemplate,
|
||||
w.HeadersTemplate,
|
||||
w.ResponseTemplate,
|
||||
w.IsDefabult,
|
||||
// w.LastModificationTime,
|
||||
// w.CreationTime
|
||||
})
|
||||
;
|
||||
|
||||
|
|
@ -64,19 +82,19 @@ public class T_Model_ConfigService : ApplicationService<IRepository<T_Model_Conf
|
|||
/// </summary>
|
||||
/// <param name="id">id</param>
|
||||
/// <returns></returns>
|
||||
public async Task<Dictionary<string,object>> FindFormAsync(int id)
|
||||
public async Task<Dictionary<string, object>> FindFormAsync(int id)
|
||||
{
|
||||
var res = new Dictionary<string, object>();
|
||||
var form = await this._defaultRepository.FindByIdAsync(id);
|
||||
form = form.NullSafe();
|
||||
//if (form.CreateTime == null || form.CreateTime == DateTime.MinValue)
|
||||
//{
|
||||
// form.CreateTime = DateTime.Now;
|
||||
//}
|
||||
//if (form.UpdateTime == null || form.UpdateTime == DateTime.MinValue)
|
||||
//{
|
||||
// form.UpdateTime = DateTime.Now;
|
||||
//}
|
||||
if (form.CreateTime == null || form.CreateTime == DateTime.MinValue)
|
||||
{
|
||||
form.CreateTime = DateTime.Now;
|
||||
}
|
||||
if (form.UpdateTime == null || form.UpdateTime == DateTime.MinValue)
|
||||
{
|
||||
form.UpdateTime = DateTime.Now;
|
||||
}
|
||||
res[nameof(id)] = id;
|
||||
res[nameof(form)] = form;
|
||||
return res;
|
||||
|
|
@ -89,6 +107,14 @@ public class T_Model_ConfigService : ApplicationService<IRepository<T_Model_Conf
|
|||
/// <returns></returns>
|
||||
public Task SaveFormAsync(T_Model_Config form)
|
||||
{
|
||||
if (form.CreateTime == null || form.CreateTime == DateTime.MinValue)
|
||||
{
|
||||
form.CreateTime = DateTime.Now;
|
||||
}
|
||||
if (form.UpdateTime == null || form.UpdateTime == DateTime.MinValue)
|
||||
{
|
||||
form.UpdateTime = DateTime.Now;
|
||||
}
|
||||
return this._defaultRepository.InsertOrUpdateAsync(form);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// 连接字符串
|
||||
"ConnectionStrings": {
|
||||
// redis
|
||||
"Redis": "127.0.0.1:6379,password=123456,defaultDatabase=0"
|
||||
"Redis": "124.220.55.158:6379,defaultDatabase=1"
|
||||
},
|
||||
// pi计算 数据库管理
|
||||
"AdminRepositoryOptions": {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
// 连接字符串
|
||||
"ConnectionStrings": {
|
||||
// redis
|
||||
"Redis": "127.0.0.1:6379,password=123456,defaultDatabase=0"
|
||||
"Redis": "192.168.195.5:6379,defaultDatabase=1"
|
||||
},
|
||||
// pi计算 数据库管理
|
||||
"AdminRepositoryOptions": {
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class T_Model_Config : DefaultEntityV4
|
|||
|
||||
|
||||
/// <summary>
|
||||
/// model => 备注: 模型model
|
||||
/// 模型model => 备注: 模型model
|
||||
/// </summary>
|
||||
public string? Model { get; set; }
|
||||
|
||||
|
|
@ -27,13 +27,13 @@ public class T_Model_Config : DefaultEntityV4
|
|||
|
||||
|
||||
/// <summary>
|
||||
/// x-api-key => 备注: 模型key x-api-key
|
||||
/// key x-api-key => 备注: 模型key x-api-key
|
||||
/// </summary>
|
||||
public string? ApiKey { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 请求地址 => 备注: 模型请求地址
|
||||
/// 模型请求地址 => 备注: 模型请求地址
|
||||
/// </summary>
|
||||
public string? Url { get; set; }
|
||||
|
||||
|
|
@ -57,9 +57,33 @@ public class T_Model_Config : DefaultEntityV4
|
|||
|
||||
|
||||
/// <summary>
|
||||
/// system上下文模板 => 备注: system上下文模板
|
||||
/// 上下文模板 => 备注: system上下文模板
|
||||
/// </summary>
|
||||
public string? SystemTemplate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 请求模板 => 备注: 请求模板
|
||||
/// </summary>
|
||||
public string? RequestTemplate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// headers对象 => 备注: headers对象
|
||||
/// </summary>
|
||||
public string? HeadersTemplate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 返回数据模板 => 备注: 返回数据模板
|
||||
/// </summary>
|
||||
public string? ResponseTemplate { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 是否默认 => 备注: 是否默认
|
||||
/// </summary>
|
||||
public Boolean? IsDefabult { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -419,7 +419,7 @@
|
|||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.Model">
|
||||
<summary>
|
||||
model => 备注: 模型model
|
||||
模型model => 备注: 模型model
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.MaxTokens">
|
||||
|
|
@ -429,12 +429,12 @@
|
|||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.ApiKey">
|
||||
<summary>
|
||||
x-api-key => 备注: 模型key x-api-key
|
||||
key x-api-key => 备注: 模型key x-api-key
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.Url">
|
||||
<summary>
|
||||
请求地址 => 备注: 模型请求地址
|
||||
模型请求地址 => 备注: 模型请求地址
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.AnthropicVersion">
|
||||
|
|
@ -454,7 +454,27 @@
|
|||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.SystemTemplate">
|
||||
<summary>
|
||||
system上下文模板 => 备注: system上下文模板
|
||||
上下文模板 => 备注: system上下文模板
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.RequestTemplate">
|
||||
<summary>
|
||||
请求模板 => 备注: 请求模板
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.HeadersTemplate">
|
||||
<summary>
|
||||
headers对象 => 备注: headers对象
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.ResponseTemplate">
|
||||
<summary>
|
||||
返回数据模板 => 备注: 返回数据模板
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_Model_Config.IsDefabult">
|
||||
<summary>
|
||||
是否默认 => 备注: 是否默认
|
||||
</summary>
|
||||
</member>
|
||||
<member name="T:MiaoYu.Repository.ChatAI.Admin.Entities.Apps.T_User">
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user