Skip to content

Commit

Permalink
内容安全保存fix
Browse files Browse the repository at this point in the history
  • Loading branch information
QwQ-wuwuwu committed Jun 14, 2024
1 parent 366e9ce commit e818b65
Show file tree
Hide file tree
Showing 8 changed files with 52 additions and 24 deletions.
19 changes: 16 additions & 3 deletions src/frontend/src/components/Pro/security/AssistantSetting.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ import FormView from "./FormView";
import { getSensitiveApi, sensitiveSaveApi } from "@/controllers/API/pro";
import { useToast } from "@/components/bs-ui/toast/use-toast";
import { useTranslation } from "react-i18next";
import { QuestionMarkCircledIcon } from "@radix-ui/react-icons";
import { Tooltip, TooltipProvider, TooltipContent, TooltipTrigger } from "@/components/bs-ui/tooltip";

export default function AssistantSetting({ id, type }) {

Expand Down Expand Up @@ -52,11 +54,23 @@ export default function AssistantSetting({ id, type }) {
return <AccordionItem value="item-3">
<AccordionTrigger>
<div className="flex flex-1 items-center justify-between">
<span>内容安全审查</span>
<div className="flex items-center space-x-2">
<span>内容安全审查</span>
<TooltipProvider>
<Tooltip>
<TooltipTrigger>
<QuestionMarkCircledIcon />
</TooltipTrigger>
<TooltipContent>
<p>通过敏感词表或 API 对会话内容进行安全审查</p>
</TooltipContent>
</Tooltip>
</TooltipProvider>
</div>
<div className="h-[20px] flex items-center">
<Sheet open={open} onOpenChange={(bln) => setOpen(bln)}>
<SheetTrigger>
<SettingIcon onClick={(e) => { e.stopPropagation(); setOpen(!open) }} className="w-[32px] h-[32px]" />
{form.isCheck && <SettingIcon onClick={(e) => { e.stopPropagation(); setOpen(!open) }} className="w-[32px] h-[32px]" />}
</SheetTrigger>
<SheetContent className="w-[500px]" onClick={(e) => e.stopPropagation()}>
<SheetTitle className="font-[500] pl-3 pt-2">内容安全审查设置</SheetTitle>
Expand All @@ -74,7 +88,6 @@ export default function AssistantSetting({ id, type }) {
</AccordionTrigger>
<AccordionContent className="mb-[-16px]">
<FormView data={form} />
<div className="text-center text-xs text-muted-foreground mb-2">通过敏感词表或 API 对会话内容进行安全审查</div>
</AccordionContent>
</AccordionItem>
};
9 changes: 4 additions & 5 deletions src/frontend/src/components/Pro/security/FlowSetting.tsx
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
import { SettingIcon } from "@/components/bs-icons";
import { AccordionContent, AccordionItem, AccordionTrigger } from "@/components/bs-ui/accordion";
import { Sheet, SheetContent, SheetTitle, SheetTrigger } from "@/components/bs-ui/sheet";
import { Switch } from "@/components/bs-ui/switch";
import { useToast } from "@/components/bs-ui/toast/use-toast";
import { getSensitiveApi, sensitiveSaveApi } from "@/controllers/API/pro";
import { useEffect, useState } from "react";
import { useTranslation } from "react-i18next";
import FormSet from "./FormSet";
import FormView from "./FormView";
import { getSensitiveApi, sensitiveSaveApi } from "@/controllers/API/pro";
import { useToast } from "@/components/bs-ui/toast/use-toast";
import { useTranslation } from "react-i18next";

export default function FlowSetting({ id, type }) {

Expand Down Expand Up @@ -55,7 +54,7 @@ export default function FlowSetting({ id, type }) {
<div className="flex items-center ml-6">
<Sheet open={open} onOpenChange={(bln) => setOpen(bln)}>
<SheetTrigger>
<SettingIcon onClick={(e) => { e.stopPropagation(); setOpen(!open) }} className="w-[32px] h-[32px]" />
{form.isCheck && <SettingIcon onClick={(e) => { e.stopPropagation(); setOpen(!open) }} className="w-[32px] h-[32px]" />}
</SheetTrigger>
<SheetContent className="w-[500px]" onClick={(e) => e.stopPropagation()}>
<SheetTitle className="font-[500] pl-3 pt-2">内容安全审查设置</SheetTitle>
Expand Down
5 changes: 3 additions & 2 deletions src/frontend/src/components/Pro/security/FormSet.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,9 @@ export default function FormSet({ data, onChange, onSave, onCancel }) {
}
}
const handleSave = () => {
onSave()
onChange(form)
onChange(form).then(res => {
!res && onSave()
})
}
return <>
<div className="px-4 mt-6">
Expand Down
6 changes: 6 additions & 0 deletions src/frontend/src/components/bs-icons/down/DropDown.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions src/frontend/src/components/bs-icons/down/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
import React, { forwardRef } from "react";
import { ReactComponent as DropDown } from "./DropDown.svg";

export const DropDownIcon = forwardRef<
SVGSVGElement & { className: any },
React.PropsWithChildren<{ className?: string }>
>((props, ref) => {
return <DropDown ref={ref} {...props} />;
});
1 change: 1 addition & 0 deletions src/frontend/src/components/bs-icons/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,4 @@ export { ToolIcon } from './tool';
export { UploadIcon } from './upload';
export { UserIcon } from './user';
export { LogIcon } from './log';
export { DropDownIcon } from './down'
7 changes: 5 additions & 2 deletions src/frontend/src/layout/MainLayout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import {
ModelIcon,
QuitIcon,
SystemIcon,
TechnologyIcon
TechnologyIcon,
DropDownIcon
} from "@/components/bs-icons";
import { SelectHover, SelectHoverItem } from "@/components/bs-ui/select/hover";
import { LockClosedIcon } from "@radix-ui/react-icons";
Expand Down Expand Up @@ -88,7 +89,9 @@ export default function MainLayout() {
<img className="h-7 w-7 rounded-2xl mr-4" src="/user.png" alt="" />
<SelectHover
triagger={
<span className="leading-8 text-[14px] mr-8 max-w-40 cursor-pointer text-ellipsis overflow-hidden whitespace-nowrap">{user.user_name}</span>
<span className="leading-8 text-[14px] mr-8 max-w-40 cursor-pointer text-ellipsis overflow-hidden whitespace-nowrap">
{user.user_name} <DropDownIcon className=" inline-block mt-[-2px]"/>
</span>
}>
<SelectHoverItem onClick={JumpResetPage}><LockClosedIcon className="w-4 h-4 mr-1" /><span>修改密码</span></SelectHoverItem>
<SelectHoverItem onClick={handleLogout}><QuitIcon className="w-4 h-4 mr-1" /><span>退出登录</span></SelectHoverItem>
Expand Down
20 changes: 8 additions & 12 deletions src/frontend/src/pages/SystemPage/components/EditUserGroup.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,13 @@ function FlowRadio({ limit, onChange }) {
const { t } = useTranslation()

const handleChange = (e) => {
console.log('---------->>>')
const value = e.target.value
if(value < 0) return
onChange(parseInt(value))
}

return <div>
<RadioGroup className="flex space-x-2 h-[20px]" value={limit ? 'true' : 'false'}
<RadioGroup className="flex space-x-2 h-[20px] items-center" value={limit ? 'true' : 'false'}
onValueChange={(value) => onChange(value === 'false' ? 0 : 10)}>
<div>
<Label className="flex justify-center">
Expand All @@ -54,13 +53,10 @@ function FlowRadio({ limit, onChange }) {
<RadioGroupItem className="mr-2" value="true" />{t('system.limit')}
</Label>
</div>
{limit !== 0 && <div>
<Label>
<p className="mt-[-3px]">
{t('system.maximum')}<Input type="number" value={limit} className="inline h-5 w-[70px]"
onChange={handleChange}/>{t('system.perMinute')}
</p>
</Label>
{limit !== 0 && <div className="mt-[-3px]">
<Label>{t('system.maximum')}</Label>
<Input type="number" value={limit} className="inline h-5 w-[70px] font-medium"onChange={handleChange}/>
<Label>{t('system.perMinute')}</Label>
</div>}
</RadioGroup>
</div>
Expand Down Expand Up @@ -119,16 +115,16 @@ function FlowControl({ groupId, type, onChange }) {
<Table>
<TableHeader>
<TableRow>
<TableHead>{name}</TableHead>
<TableHead className=" w-[160px]">{name}</TableHead>
<TableHead>{t('system.createdBy')}</TableHead>
<TableHead className="flex justify-evenly items-center">{t('system.flowCtrlStrategy')}</TableHead>
<TableHead>{t('system.flowCtrlStrategy')}</TableHead>
</TableRow>
</TableHeader>
<TableBody>
{data.map((i: any) => (<TableRow key={i.id}>
<TableCell>{i.name}</TableCell>
<TableCell>{i.user_name}</TableCell>
<TableCell className="flex justify-evenly items-center pt-[15px]">
<TableCell className="pt-4">
<FlowRadio limit={i.limit} onChange={(val) => handleChange(val, i.id)}></FlowRadio>
</TableCell>
</TableRow>))}
Expand Down

0 comments on commit e818b65

Please sign in to comment.