修改错误处理,添加处理

This commit is contained in:
junleea 2025-03-25 16:05:18 +08:00
parent 2383c114da
commit 3ff429fa40
9 changed files with 79 additions and 79 deletions

View File

@ -1 +1,2 @@
{'model':'spark','appid':'d3a4647c','apiSecret':'YjRlNGNjYzM5ZjIxNGM5NzhkNDJjMGM4','apiKey':'3ee5ae2b03a4039e79ba1a490631309e'} {"model":"spark","appid":"d3a4647c","apiSecret":"YjRlNGNjYzM5ZjIxNGM5NzhkNDJjMGM4","apiKey":"3ee5ae2b03a4039e79ba1a490631309e","domain":"pro-128k"}

View File

@ -39,7 +39,7 @@
@selection-change="handleSelectionChange" table-layout="auto"> @selection-change="handleSelectionChange" table-layout="auto">
<template v-for="item in columns" :key="item.prop"> <template v-for="item in columns" :key="item.prop">
<el-table-column v-if="item.visible" :prop="item.prop" :label="item.label" :width="item.width" <el-table-column v-if="item.visible" :prop="item.prop" :label="item.label" :width="item.width"
:type="item.type" :align="item.align || 'center'"> :type="item.type" :align="item.align || 'center'" show-overflow-tooltip>
<template #default="{ row, column, $index }" v-if="item.type === 'index'"> <template #default="{ row, column, $index }" v-if="item.type === 'index'">
{{ getIndex($index) }} {{ getIndex($index) }}

View File

@ -5,7 +5,7 @@
<el-form-item :label="item.label" :prop="item.prop"> <el-form-item :label="item.label" :prop="item.prop">
<!-- 文本框数字框下拉框日期框开关上传 --> <!-- 文本框数字框下拉框日期框开关上传 -->
<el-input v-if="item.type === 'input'" v-model="form[item.prop]" :disabled="item.disabled" <el-input v-if="item.type === 'input'" v-model="form[item.prop]" :disabled="item.disabled"
:placeholder="item.placeholder" clearable></el-input> :placeholder="item.placeholder" clearable type="textarea" :row="item.rows?item.rows:1"></el-input>
<el-input-number v-else-if="item.type === 'number'" v-model="form[item.prop]" <el-input-number v-else-if="item.type === 'number'" v-model="form[item.prop]"
:disabled="item.disabled" controls-position="right"></el-input-number> :disabled="item.disabled" controls-position="right"></el-input-number>
<el-select v-else-if="item.type === 'select'" v-model="form[item.prop]" :disabled="item.disabled" <el-select v-else-if="item.type === 'select'" v-model="form[item.prop]" :disabled="item.disabled"

View File

@ -10,6 +10,7 @@ export interface FormOptionList {
label: string; label: string;
type: string; type: string;
placeholder?: string; placeholder?: string;
rows?: number;
disabled?: boolean; disabled?: boolean;
opts?: any[]; opts?: any[];
format?: string; format?: string;

View File

@ -3,6 +3,8 @@ export interface Session {
CreatedAt: string; CreatedAt: string;
UpdatedAt: string; UpdatedAt: string;
DeletedAt: string; DeletedAt: string;
MsgCount: number;
Countext: any;
Name: string; Name: string;
UserID: number; UserID: number;
} }

View File

@ -122,7 +122,7 @@ hljs.registerLanguage('shell', shell);
scrollToBottom(); scrollToBottom();
return; return;
} }
//console.log("resp:",msg); console.log("resp:",msg);
sessionID.value =msg.session_id; sessionID.value =msg.session_id;
currentAIMessage.value += msg.msg.msg.response; currentAIMessage.value += msg.msg.msg.response;
scrollToBottom(); scrollToBottom();
@ -148,7 +148,8 @@ hljs.registerLanguage('shell', shell);
let msg = { let msg = {
msg: inputMessage.value, msg: inputMessage.value,
type: "ollama", type: "ollama",
function: "gen-ai-chat" function: "gen-ai-chat",
session_id: sessionID.value,
} }
if (inputMessage.value.trim() === '') return; if (inputMessage.value.trim() === '') return;
messages.value.push({ sender: 'user', content: inputMessage.value }); messages.value.push({ sender: 'user', content: inputMessage.value });
@ -172,8 +173,8 @@ hljs.registerLanguage('shell', shell);
session_id: sessionID.value, session_id: sessionID.value,
}; };
result = await GetMessageService(req) result = await GetMessageService(req)
if(result.code===0){ if(result['code'] === 0){
return result.data; console.log(result['data']);
} }
}catch(e){ }catch(e){
console.log(e); console.log(e);

View File

@ -69,10 +69,10 @@ const handleSearch = async () => {
let columns = ref([ let columns = ref([
// { type: 'index', label: '', width: 55, align: 'center' }, // { type: 'index', label: '', width: 55, align: 'center' },
{ prop: 'ID', label: '模型ID' }, { prop: 'ID', label: '模型ID' },
{prop: 'Url', label: 'URl'},
{ prop: 'Type', label: '类型' }, { prop: 'Type', label: '类型' },
{ prop: 'Parameter', label: '参数' },
{prop: 'Description', label: '描述'}, {prop: 'Description', label: '描述'},
{ prop: 'Parameter', label: '参数', width: 250 },
{prop: 'Url', label: 'URl'},
{ prop: 'CreatedAt', label: '创建时间',type: 'date' }, { prop: 'CreatedAt', label: '创建时间',type: 'date' },
{ prop: 'operator', label: '操作', width: 250 , operate: { view: true, edit: true, delete: true,push: {link: false,label:"继续该会话"} }}, { prop: 'operator', label: '操作', width: 250 , operate: { view: true, edit: true, delete: true,push: {link: false,label:"继续该会话"} }},
]) ])
@ -103,7 +103,7 @@ let options = ref<FormOption>({
labelWidth: '100px', labelWidth: '100px',
span: 12, span: 12,
list: [ list: [
{ type: 'input', label: '类型', prop: 'Type', required: true }, { type: 'select', label: '类型', prop: 'Type', required: true , opts:[{label: '本地部署模型', value: 'ollama'},{label: '星火', value: 'spark'},{label: '豆包', value: 'doubao'}]},
{ type: 'input', label: 'URL', prop: 'Url', required: true }, { type: 'input', label: 'URL', prop: 'Url', required: true },
{ type: 'input', label: '参数', prop: 'Parameter', required: true }, { type: 'input', label: '参数', prop: 'Parameter', required: true },
{ type: 'input', label: '描述', prop: 'Description', required: true }, { type: 'input', label: '描述', prop: 'Description', required: true },
@ -115,9 +115,9 @@ let options_edit = ref<FormOption>({
labelWidth: '100px', labelWidth: '100px',
span: 12, span: 12,
list: [ list: [
{ type: 'input', label: '类型', prop: 'Type', required: true }, { type: 'select', label: '类型', prop: 'Type', required: true,opts:[{label: '本地部署模型', value: 'ollama'},{label: '星火', value: 'spark'},{label: '豆包', value: 'doubao'}]},
{ type: 'input', label: 'URL', prop: 'Url', required: true }, { type: 'input', label: 'URL', prop: 'Url', required: true },
{ type: 'input', label: '参数', prop: 'Parameter', required: true }, { type: 'input', label: '参数', prop: 'Parameter', required: true, rows: 4 },
{ type: 'input', label: '描述', prop: 'Description', required: true }, { type: 'input', label: '描述', prop: 'Description', required: true },
] ]
}) })
@ -146,7 +146,7 @@ const updateData = async (data) => {
description: data.Description description: data.Description
}; };
result = await UpdateModelService(req) result = await UpdateModelService(req)
if (result.code === 0) { if (result["code"] === 0) {
ElMessage.success("更新成功"); ElMessage.success("更新成功");
} else { } else {
ElMessage.error("更新失败"); ElMessage.error("更新失败");
@ -162,15 +162,15 @@ const updateData = async (data) => {
const addData = async (data) => { const addData = async (data) => {
let result ={} let result ={}
try{ try{
let req={}; let req={
req.token=localStorage.getItem("token"); token:localStorage.getItem("token"),
// type: data.Type,
req.type = data.Type; url: data.Url,
req.url = data.Url; parameter: data.Parameter,
req.parameter = data.Parameter; description: data.Description
req.description = data.Description; };
result = await AddModelService(req) result = await AddModelService(req)
if (result.code === 0) { if (result["code"] === 0) {
ElMessage.success("新增成功"); ElMessage.success("新增成功");
} else { } else {
ElMessage.error("新增失败"); ElMessage.error("新增失败");
@ -205,21 +205,21 @@ const handleView =async (row: Model) => {
prop: 'ID', prop: 'ID',
label: '模型ID', label: '模型ID',
}, },
{
prop: 'Url',
label: 'URL',
},
{ {
prop: 'Type', prop: 'Type',
label: '类型', label: '类型',
}, },
{
prop: 'Description',
label: '描述',
},
{ {
prop: 'Parameter', prop: 'Parameter',
label: '参数', label: '参数',
}, },
{ {
prop: 'Description', prop: 'Url',
label: '描述', label: 'URL',
}, },
{ {
prop: 'CreatedAt', prop: 'CreatedAt',
@ -243,7 +243,7 @@ const handleDelete = async (row: Model) => {
} }
try{ try{
let result = await DelModelService(req); let result = await DelModelService(req);
if(result.code===0){ if(result["code"] === 0){
ElMessage.success("删除成功"); ElMessage.success("删除成功");
getData(); getData();
}else{ }else{

View File

@ -51,10 +51,10 @@ const searchOpt = ref<FormOptionList[]>([
{ type: 'input', label: '会话ID', prop: 'name' } { type: 'input', label: '会话ID', prop: 'name' }
]) ])
const handleSearch = async () => { const handleSearch = async () => {
if (isFinite(query.name) == false){ // if (isFinite(query.name) == false){
ElMessage.error("请输入正确的会话ID"); // ElMessage.error("ID");
return; // return;
} // }
let req={ let req={
token: localStorage.getItem('token'), token: localStorage.getItem('token'),
type: "ID", type: "ID",
@ -68,10 +68,13 @@ const handleSearch = async () => {
// //
let columns = ref([ let columns = ref([
{ type: 'index', label: '序号', width: 55, align: 'center' }, { type: 'index', label: '序号', width: 55, align: 'center' },
{ prop: 'ID', label: '会话ID' }, { prop: 'ID', label: '会话ID', width: 50 },
{ prop: 'Name', label: '会话名' }, { prop: 'Name', label: '会话名' ,width: 300},
{ prop: 'CreatedAt', label: '创建时间',type: 'date' }, { prop: 'MsgCount', label: '消息数',width:50},
{ prop: 'operator', label: '操作', width: 250 , operate: { view: false, edit: true, delete: true,push: {link: true,label:"继续该会话"} }}, { prop: "Context", label: "会话背景参数" ,width: 100},
{ prop: 'CreatedAt', label: '创建时间',type: 'date',width: 150 },
{ prop: 'UpdatedAt', label: '更新时间',type: 'date',width: 150 },
{ prop: 'operator', label: '操作' , operate: { view: false, edit: true, delete: true,push: {link: true,label:"继续该会话"} }},
]) ])
const page = reactive({ const page = reactive({
index: 1, index: 1,
@ -128,13 +131,13 @@ const handleEdit = async (row: Session) => {
const updateData = async (data) => { const updateData = async (data) => {
let result ={} let result ={}
try{ try{
let req={}; let req={
req.token=localStorage.getItem("token"); token:localStorage.getItem("token"),
// id: data.ID,
req.id = data.ID; name: data.Name
req.name = data.Name; };
result = await UpdateSessionService(req) result = await UpdateSessionService(req)
if (result.code === 0) { if (result["code"] === 0) {
ElMessage.success("更新成功"); ElMessage.success("更新成功");
} else { } else {
ElMessage.error("更新失败"); ElMessage.error("更新失败");
@ -150,12 +153,12 @@ const updateData = async (data) => {
const addData = async (data) => { const addData = async (data) => {
let result ={} let result ={}
try{ try{
let req={}; let req={
req.token=localStorage.getItem("token"); token:localStorage.getItem("token"),
// name: data.Name
req.name = data.Name; };
result = await AddSessionService(req) result = await AddSessionService(req)
if (result.code === 0) { if (result["code"] === 0) {
ElMessage.success("新增成功"); ElMessage.success("新增成功");
} else { } else {
ElMessage.error("新增失败"); ElMessage.error("新增失败");
@ -197,7 +200,7 @@ const handleDelete = async (row: Session) => {
} }
try{ try{
let result = await DelSessionService(req); let result = await DelSessionService(req);
if(result.code===0){ if(result["code"] === 0){
ElMessage.success("删除成功"); ElMessage.success("删除成功");
handleSearch(); handleSearch();
}else{ }else{

View File

@ -4,9 +4,9 @@
<div class="container"> <div class="container">
<TableCustom :columns="columns" :tableData="tableData" :total="page.total" :viewFunc="handleView" <TableCustom :columns="columns" :tableData="tableData" :total="page.total" :viewFunc="handleView"
:delFunc="handleDelete" :page-change="changePage" :editFunc="handleEdit"> :delFunc="handleDelete" :page-change="changePage" :editFunc="handleEdit">
<template #toolbarBtn> <!-- <template #toolbarBtn>
<el-button type="warning" :icon="CirclePlusFilled" @click="visible_add = true">新增</el-button> <el-button type="warning" :icon="CirclePlusFilled" @click="visible_add = true">新增</el-button>
</template> </template> -->
</TableCustom> </TableCustom>
</div> </div>
@ -14,10 +14,10 @@
:close-on-click-modal="false" @close="closeDialog"> :close-on-click-modal="false" @close="closeDialog">
<TableEdit :form-data="rowData" :options="options_edit" :edit="isEdit" :update="updateData" /> <TableEdit :form-data="rowData" :options="options_edit" :edit="isEdit" :update="updateData" />
</el-dialog> </el-dialog>
<el-dialog :title="isAdd ? '新增' : '新增'" v-model="visible_add" width="700px" destroy-on-close <!-- <el-dialog :title="isAdd ? '新增' : '新增'" v-model="visible_add" width="700px" destroy-on-close
:close-on-click-modal="false" @close="closeDialog"> :close-on-click-modal="false" @close="closeDialog">
<TableEdit :form-data="rowData" :options="options" :edit="isAdd" :update="addData" /> <TableEdit :form-data="rowData" :options="options" :edit="isAdd" :update="addData" />
</el-dialog> </el-dialog> -->
<el-dialog title="查看详情" v-model="visible1" width="700px" destroy-on-close> <el-dialog title="查看详情" v-model="visible1" width="700px" destroy-on-close>
<TableDetail :data="viewData"></TableDetail> <TableDetail :data="viewData"></TableDetail>
</el-dialog> </el-dialog>
@ -48,18 +48,12 @@ const searchOpt = ref<FormOptionList[]>([
const handleSearch = async () => { const handleSearch = async () => {
let search_id= -1; let search_id= -1;
let keyword_ = ""; let keyword_ = "";
//search_id try{
if(isNaN(query.name)){ search_id = parseInt(query.name);
// }catch(e){
keyword_ = query.name; search_id = -1;
}else if(isFinite(query.name)){ keyword_ = query.name;
//ID }
search_id = parseInt(query.name);
}else{
//
ElMessage.error("输入错误,请输入数字或者关键字");
return;
}
let req={ let req={
token: localStorage.getItem('token'), token: localStorage.getItem('token'),
id: search_id, id: search_id,
@ -126,7 +120,7 @@ let options_edit = ref<FormOption>({
{ type: 'input', label: '年龄', prop: 'Age', required: false }, { type: 'input', label: '年龄', prop: 'Age', required: false },
{ type: 'input', label: '密码', prop: 'Password', required: false }, { type: 'input', label: '密码', prop: 'Password', required: false },
{ type: 'input', label: '邮箱', prop: 'Email', required: true }, { type: 'input', label: '邮箱', prop: 'Email', required: true },
{ type: 'input', label: '性别', prop: 'Gender', required: false }, { type: 'select', label: '性别', prop: 'Gender', required: false,opts:[{label: '男', value:"男"},{label: '女', value:"女"}]},
//select ,adminuser //select ,adminuser
{ type: 'select', label: '角色', prop: 'Role', opts: [{label:"管理员",value:"admin"},{label:"普通用户",value:"user"}],required: false }, { type: 'select', label: '角色', prop: 'Role', opts: [{label:"管理员",value:"admin"},{label:"普通用户",value:"user"}],required: false },
@ -148,22 +142,20 @@ const handleEdit = async (row: UserInfo) => {
const updateData = async (data) => { const updateData = async (data) => {
let result ={} let result ={}
try{ try{
let req={}; let req={
req.token=localStorage.getItem("token"); token:localStorage.getItem("token"),
//console.log(rowData.value); id: data.ID,
name: data.Name,
// age: data.Age,
req.id = data.ID; gender: data.Gender,
req.name = data.Name; password: data.Password,
req.age = data.Age; email: data.Email,
req.gender = data.Gender; avatar: data.Avatar,
req.password = data.Password; role: data.Role,
req.email = data.Email; };
req.avatar = data.Avatar;
req.role = data.Role;
result = await updateUserInfoService(req) result = await updateUserInfoService(req)
if (result.code === 0) { if (result["code"] === 0) {
ElMessage.success("更新成功"); ElMessage.success("更新成功");
} else { } else {
ElMessage.error("更新失败"); ElMessage.error("更新失败");