chore(addon/aikefu): 更新配置UI

This commit is contained in:
2025-12-06 17:14:17 +08:00
parent 7d3d71e0e3
commit f42b4a1036
2 changed files with 57 additions and 6 deletions

View File

@@ -9,13 +9,26 @@ use addon\aikefu\model\Config as KefuConfigModel;
use addon\aikefu\model\Conversation as KefuConversationModel;
use addon\aikefu\model\Message as KefuMessageModel;
use app\shop\controller\BaseShop;
use think\facade\View;
use think\facade\Db as Db;
/**
* 智能客服 控制器
*/
class Kefu extends BaseShop
{
/**
* 智能客服默认页面
* @return \think\response\View
*/
public function index()
{
$kefu_config_model = new KefuConfigModel();
$config_info = $kefu_config_model->getConfig($this->site_id, $this->app_module)['data']['value'] ?? [];
$this->assign("config_info", $config_info);
return $this->fetch("kefu/index");
}
/**
* 智能客服配置页
* @return \think\response\View|\think\response\Json
@@ -51,7 +64,7 @@ class Kefu extends BaseShop
*/
public function conversation()
{
return View::fetch("kefu/conversation");
return $this->fetch("kefu/conversation");
}
/**
@@ -146,7 +159,7 @@ class Kefu extends BaseShop
$kefu_message_model = new KefuMessageModel();
// 开启事务
\think\facade\Db::startTrans();
Db::startTrans();
try {
// 删除会话关联的消息
@@ -169,12 +182,12 @@ class Kefu extends BaseShop
]);
// 提交事务
\think\facade\Db::commit();
Db::commit();
return $this->success($result);
} catch (\Exception $e) {
// 回滚事务
\think\facade\Db::rollback();
Db::rollback();
return $this->error($e->getMessage());
}
}
@@ -187,7 +200,7 @@ class Kefu extends BaseShop
{
$conversation_id = input("conversation_id", "");
View::assign("conversation_id", $conversation_id);
return View::fetch("kefu/message");
return $this->fetch("kefu/message");
}
/**

View File

@@ -0,0 +1,38 @@
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-header">智能客服管理</div>
<div class="layui-card-body">
<div class="layui-tab layui-tab-brief" lay-filter="kefu-tab">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="config">配置</li>
<li lay-id="conversation">会话</li>
<li lay-id="message">消息</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
{include file="kefu/config" /}
</div>
<div class="layui-tab-item">
{include file="kefu/conversation" /}
</div>
<div class="layui-tab-item">
{include file="kefu/message" /}
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['element', 'form', 'table', 'layer', 'laypage'], function() {
var element = layui.element;
var form = layui.form;
var table = layui.table;
var layer = layui.layer;
var laypage = layui.laypage;
// 初始化表单渲染
form.render();
});
</script>