Przeglądaj źródła

添加AI助手权限

tags/6.5.0
tianya 1 miesiąc temu
rodzic
commit
187ce0112f
15 zmienionych plików z 94 dodań i 32 usunięć
  1. +1
    -0
      src/admin/ai_add.php
  2. +3
    -10
      src/admin/ai_edit.php
  3. +2
    -1
      src/admin/ai_log_main.php
  4. +1
    -1
      src/admin/ai_main.php
  5. +1
    -0
      src/admin/ai_model_add.php
  6. +4
    -0
      src/admin/ai_model_edit.php
  7. +1
    -1
      src/admin/ai_model_main.php
  8. +1
    -0
      src/admin/ai_prompt_add.php
  9. +3
    -0
      src/admin/ai_prompt_edit.php
  10. +1
    -2
      src/admin/ai_prompt_main.php
  11. +1
    -14
      src/admin/ai_prompt_view.php
  12. +18
    -1
      src/admin/inc/grouplist.txt
  13. +32
    -0
      src/admin/sys_info.php
  14. +2
    -2
      src/admin/templets/ai_log_main.htm
  15. +23
    -0
      src/admin/templets/sys_info.htm

+ 1
- 0
src/admin/ai_add.php Wyświetl plik

@@ -9,6 +9,7 @@
* @link https://www.dedebiz.com
*/
require(dirname(__FILE__)."/config.php");
CheckPurview('ai_New');
if (empty($dopost)) $dopost = '';
if ($dopost == "add") {
$title = isset($title)? HtmlReplace($title, -1) : '';


+ 3
- 10
src/admin/ai_edit.php Wyświetl plik

@@ -9,22 +9,15 @@
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__)."/config.php");
$ENV_GOBACK_URL = empty($_COOKIE['ENV_GOBACK_URL']) ? 'ai_main.php' : $_COOKIE['ENV_GOBACK_URL'];
if (empty($dopost)) $dopost = '';
$id = isset($id)? intval($id) : 0;
if (isset($allid)) {
$aids = explode(',', $allid);
if (count($aids) == 1) {
$id = intval($aids[0]);
$dopost = "delete";
}
}
if ($dopost == "delete") {
CheckPurview('ai_Del');
$dsql->ExecuteNoneQuery("DELETE FROM `#@__ai` WHERE id='$id'");
ShowMsg("成功删除一个大模型", $ENV_GOBACK_URL);
exit();
} else if ($dopost == "saveedit") {
CheckPurview('ai_Edit');
$title = isset($title)? HtmlReplace($title, -1) : '';
$description = isset($description)? HtmlReplace($description, -1) : '';
$company = isset($company)? HtmlReplace($company, -1) : '';
@@ -36,8 +29,8 @@ if ($dopost == "delete") {
ShowMsg("成功修改一个大模型", $ENV_GOBACK_URL);
exit();
}
CheckPurview('ai_Edit');
$myAI = $dsql->GetOne("SELECT * FROM `#@__ai` WHERE id=$id");

$sql = "SELECT * FROM `#@__ai_model` WHERE aiid=$id ORDER BY id DESC";
$dlist = new DataListCP();
$dlist->SetTemplet(DEDEADMIN.'/templets/ai_edit.htm');


+ 2
- 1
src/admin/ai_log_main.php Wyświetl plik

@@ -9,10 +9,11 @@
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__)."/config.php");
CheckPurview('sys_Log');
CheckPurview('ai_LogList');
require_once(DEDEINC."/datalistcp.class.php");
require_once(DEDEINC."/common.func.php");
DedeSetCookie("ENV_GOBACK_URL", $dedeNowurl, time() + 3600, "/");
CheckPurview('ai_Del');
$sql = $where = '';
if (empty($adminid)) $adminid = 0;
if (empty($cip)) $cip = '';


+ 1
- 1
src/admin/ai_main.php Wyświetl plik

@@ -10,7 +10,7 @@
*/
require_once(dirname(__FILE__).'/config.php');
require_once(DEDEINC.'/datalistcp.class.php');
DedeSetCookie('ENV_GOBACK_URL', $dedeNowurl, time() + 3600, '/');
CheckPurview('ai_List');

$sql = "SELECT * FROM `#@__ai` ORDER BY id DESC";
$dlist = new DataListCP();


+ 1
- 0
src/admin/ai_model_add.php Wyświetl plik

@@ -9,6 +9,7 @@
* @link https://www.dedebiz.com
*/
require(dirname(__FILE__)."/config.php");
CheckPurview('ai_ModelNew');
if (empty($dopost)) $dopost = '';
$aiid = isset($aiid) ? intval($aiid) : 0;
if ($dopost == "add") {


+ 4
- 0
src/admin/ai_model_edit.php Wyświetl plik

@@ -9,14 +9,17 @@
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__)."/config.php");

if (empty($dopost)) $dopost = '';
$id = isset($id)? intval($id) : 0;
$myModel = $dsql->GetOne("SELECT * FROM `#@__ai_model` WHERE id=$id");
if ($dopost == "delete") {
CheckPurview('ai_ModelDel');
$dsql->ExecuteNoneQuery("DELETE FROM `#@__ai_model` WHERE id='$id'");
ShowMsg("成功删除一个模型版本", "ai_model_main.php");
exit();
} else if ($dopost == "saveedit") {
CheckPurview('ai_ModelEdit');
$title = isset($title)? HtmlReplace($title, -1) : '';
$description = isset($description)? HtmlReplace($description, -1) : '';
$model = isset($model)? HtmlReplace($model, -1) : '';
@@ -26,6 +29,7 @@ if ($dopost == "delete") {
ShowMsg("成功修改一个模型版本", "ai_edit.php?id={$myModel['aiid']}&dopost=getedit");
exit();
}
CheckPurview('ai_ModelEdit');
$ai = $dsql->GetOne("SELECT * FROM `#@__ai` WHERE id=".$myModel['aiid']);
include DedeInclude('templets/ai_model_edit.htm');
?>

+ 1
- 1
src/admin/ai_model_main.php Wyświetl plik

@@ -10,7 +10,7 @@
*/
require_once(dirname(__FILE__).'/config.php');
require_once(DEDEINC.'/datalistcp.class.php');
DedeSetCookie('ENV_GOBACK_URL', $dedeNowurl, time() + 3600, '/');
CheckPurview('ai_ModelList');

$sql = "SELECT AM.*,A.title as aititle FROM `#@__ai_model` AM LEFT JOIN `#@__ai` A ON A.id = AM.aiid WHERE 1=1 ORDER BY AM.sortrank ASC,AM.id DESC";
$dlist = new DataListCP();


+ 1
- 0
src/admin/ai_prompt_add.php Wyświetl plik

@@ -9,6 +9,7 @@
* @link https://www.dedebiz.com
*/
require(dirname(__FILE__)."/config.php");
CheckPurview('ai_PromptNew');
if (empty($dopost)) $dopost = '';
$id = isset($id) ? intval($id) : 0;
if ($dopost == "add") {


+ 3
- 0
src/admin/ai_prompt_edit.php Wyświetl plik

@@ -13,10 +13,12 @@ if (empty($dopost)) $dopost = '';
$id = isset($id)? intval($id) : 0;
$myPrompt = $dsql->GetOne("SELECT * FROM `#@__ai_prompt` WHERE id=$id");
if ($dopost == "delete") {
CheckPurview('ai_PromptDel');
$dsql->ExecuteNoneQuery("DELETE FROM `#@__ai_prompt` WHERE id='$id'");
ShowMsg("成功删除一个提示词", "ai_prompt_main.php");
exit();
} else if ($dopost == "saveedit") {
CheckPurview('ai_PromptEdit');
$title = isset($title)? HtmlReplace($title, -1) : '';
$description = isset($description)? HtmlReplace($description, -1) : '';
$prompt = isset($prompt)? $prompt : '';
@@ -26,5 +28,6 @@ if ($dopost == "delete") {
ShowMsg("成功修改一个提示词", "ai_prompt_edit.php?id={$myPrompt['id']}");
exit();
}
CheckPurview('ai_PromptEdit');
include DedeInclude('templets/ai_prompt_edit.htm');
?>

+ 1
- 2
src/admin/ai_prompt_main.php Wyświetl plik

@@ -10,8 +10,7 @@
*/
require_once(dirname(__FILE__).'/config.php');
require_once(DEDEINC.'/datalistcp.class.php');
DedeSetCookie('ENV_GOBACK_URL', $dedeNowurl, time() + 3600, '/');

CheckPurview('ai_PromptList');
$sql = "SELECT * FROM `#@__ai_prompt` ORDER BY id DESC";
$dlist = new DataListCP();
$dlist->SetTemplet(DEDEADMIN.'/templets/ai_prompt_main.htm');


+ 1
- 14
src/admin/ai_prompt_view.php Wyświetl plik

@@ -9,22 +9,9 @@
* @link https://www.dedebiz.com
*/
require_once(dirname(__FILE__)."/config.php");
CheckPurview('ai_PromptView');
if (empty($dopost)) $dopost = '';
$id = isset($id)? intval($id) : 0;
$myPrompt = $dsql->GetOne("SELECT * FROM `#@__ai_prompt` WHERE id=$id");
if ($dopost == "delete") {
$dsql->ExecuteNoneQuery("DELETE FROM `#@__ai_prompt` WHERE id='$id'");
ShowMsg("成功删除一个提示词", "ai_prompt_main.php");
exit();
} else if ($dopost == "saveedit") {
$title = isset($title)? HtmlReplace($title, -1) : '';
$description = isset($description)? HtmlReplace($description, -1) : '';
$prompt = isset($prompt)? $prompt : '';
$dfprompt = isset($dfprompt)? $dfprompt : '';
$query = "UPDATE `#@__ai_prompt` SET title='$title',description='$description',prompt='$prompt',dfprompt='$dfprompt' WHERE id='$id' ";
$dsql->ExecuteNoneQuery($query);
ShowMsg("成功修改一个提示词", "ai_prompt_edit.php?id={$myPrompt['id']}");
exit();
}
include DedeInclude('templets/ai_prompt_view.htm');
?>

+ 18
- 1
src/admin/inc/grouplist.txt Wyświetl plik

@@ -85,4 +85,21 @@
>member_Type>会员类型管理
>member_List>列出会员
>member_Edit>修改会员
>member_Del>删除会员
>member_Del>删除会员

>>智能管理

>ai_List>模型管理
>ai_New>新建模型
>ai_Edit>修改模型
>ai_Del>删除模型
>ai_ModelList>模型版本管理
>ai_ModelNew>新建模型版本
>ai_ModelEdit>修改模型版本
>ai_ModelDel>删除模型版本
>ai_PromptList>提示词管理
>ai_PromptNew>新建提示词
>ai_PromptEdit>修改提示词
>ai_PromptView>预览提示词
>ai_PromptDel>删除提示词
>ai_LogList>调用日志管理

+ 32
- 0
src/admin/sys_info.php Wyświetl plik

@@ -159,6 +159,38 @@ exit;
$hash .= $chars[mt_rand(0, $max)];
}
echo $hash;
exit();
} else if($dopost == 'ping_ai_server'){
$server = isset($server) ? $server : '';
$apikey = isset($apikey) ? $apikey : '';
if (empty($server) || empty($apikey)) {
echo 'error';
} else {
require_once(DEDEINC.'/libraries/dedehttpdown.class.php');
$params = $_GET;
unset($params['dopost']);
unset($params['apikey']);
unset($params['server']);
$params['timestamp'] = time(); // 加入时间戳
$cuserLogin = new userLogin();
$params['adminid'] = $cuserLogin->getUserID(); // 加入时间戳
$params['ip'] = $_SERVER['REMOTE_ADDR'] ?? '127.0.0.1'; // 获取客户端IP
ksort($params); // 按字典序排序
$queryString = http_build_query($params); // 生成查询字符串
$params['sign'] = md5($queryString . $apikey); // 计算MD5签名
$url = $server . '/api/ping?' . http_build_query($params);

$dhd = new DedeHttpDown();
$dhd->OpenUrl($url);
$data = $dhd->GetJSON();
if (isset($data->code) && $data->code == 0) {
echo 'ok';
} else {
echo 'error';
}
}

exit();
}
include DedeInclude('templets/sys_info.htm');

+ 2
- 2
src/admin/templets/ai_log_main.htm Wyświetl plik

@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
<title>调用日志列表</title>
<title>调用日志管理</title>
<link rel="stylesheet" href="/static/web/css/font-awesome.min.css">
<link rel="stylesheet" href="/static/web/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/web/css/admin.css">
@@ -12,7 +12,7 @@
<div class="container-fluid">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li>
<li class="breadcrumb-item active">调用日志列表</li>
<li class="breadcrumb-item active">调用日志管理</li>
</ol>
<div class="card shadow-sm mb-3">
<div class="card-body">


+ 23
- 0
src/admin/templets/sys_info.htm Wyświetl plik

@@ -9,6 +9,7 @@
<link rel="stylesheet" href="/static/web/css/admin.css">
<script src="/static/web/js/jquery.min.js"></script>
<script src="/static/web/js/webajax.js"></script>
<script src="/static/web/js/bootstrap.min.js"></script>
<script src="/static/web/js/admin.main.js"></script>
</head>
<body>
@@ -152,6 +153,12 @@
if ($row['varname']=='cfg_cookie_encode') {
$addstr='<a href="javascript:resetCookieEncode();" class="btn btn-success btn-sm">更新</a>';
}
if ($row['varname']=='cfg_ai_server') {
$addstr='<a href="javascript:pingAIServer();" class="btn btn-success btn-sm">检测</a>';
}
if ($row['varname']=='cfg_ai_apikey') {
$addstr='<a href="javascript:resetAPIKey();" class="btn btn-success btn-sm">更新</a>';
}
echo "<input type='text' name='edit___{$row['varname']}' id='edit___{$row['varname']}' value=\"".dede_htmlspecialchars($row['value'])."\" class='w-65'> {$addstr}";
}
?>
@@ -221,6 +228,22 @@
jQuery("#edit___cfg_cookie_encode").val(data);
});
}
function resetAPIKey() {
jQuery.get("sys_info.php?dopost=make_encode", function(data) {
jQuery("#edit___cfg_ai_apikey").val(data);
});
}
function pingAIServer() {
let server = encodeURI(jQuery("#edit___cfg_ai_server").val());
let apikey = jQuery("#edit___cfg_ai_apikey").val();
jQuery.get("sys_info.php?dopost=ping_ai_server&server="+server+"&apikey="+apikey, function(data) {
if (data == "ok") {
ShowMsg("DedeBIZ智能助手服务连接成功")
} else {
ShowMsg("DedeBIZ智能助手服务连接失败,请检查配置")
}
});
}
$(document).ready(function() {
$("#btnClear").click(() => {
location.reload();


Ładowanie…
Anuluj
Zapisz