# 升级AI新闻
# 10.1 ~ 10.4 版本
1: 上传文件夹 /public/admin/templates/ai/ 和 aisearch.tpl 文件
2: 修改 setting.tpl 文件
<div class="form-group">
<label class="col-md-3 label-width control-label" for="">AI新闻发布条数:</label>
<div class="col-md-3">
<input name="ai_publish_num" id="ai_publish_num" class="form-control" type="text" value="{{ $config.ai_publish_num }}" />
</div>
<div class="col-md-5">
<div class="tag-state"></div>
<div id='dtag' class='input-wz'>每天最多发布2条</div>
</div>
</div>
<div class="form-group">
<label class="col-md-3 label-width control-label" for="">AI新闻发布状态:</label>
<div class="col-md-3">
<div class="beautify-checkbox">
<input type="checkbox" id="ai_publish_flag" name="ai_publish_flag" value="1" {{ if $config.ai_publish_flag==1 }}checked="checked" {{ /if }}>
<label for="ai_publish_flag"></label>
</div>
</div>
</div>
3: 修改 xycms_setting.php 文件
//ai管理开关
$ai_publish_num = Core_Fun::detect_number(Core_Fun::rec_post("ai_publish_num", 1)) ?: '1';
$ai_publish_flag = Core_Fun::detect_number(Core_Fun::rec_post("ai_publish_flag", 1));
if ($ai_publish_num > $GLOBALS['appConfig']['aiPublishMaxNum']) {
$ai_publish_num = $GLOBALS['appConfig']['aiPublishMaxNum'];
}
'ai_publish_num' => $ai_publish_num,
'ai_publish_flag' => $ai_publish_flag,
if ($config['ai_publish_num'] != $array['ai_publish_num']) {
$header = ['Accept:application/json', 'token:' . $config['resource_token']];
curl($GLOBALS['appConfig']['aliApi'] . '/site/ai-publish', ['ai_publish_num' => $array['ai_publish_num']], 5, $header);
}
4: /source/conf/app.php 添加代码
// AI新闻发布最大数
'aiPublishMaxNum' => 2,
//chatgpt接口
'chat' => 'chat.cn86.cn',
5: 数据库xypt-config 添加字段 ai_publish_num 2 、 ai_publish_flag 1 、 ainews_flag 1 、 ai_flag 1
6: 导入4个数据库 xypt_ainews_media 、 xypt_ainews_tag 、 xypt_ainews_title 、 xypt_aisearch
7: 添加数据库表添加权限
ai_manage 和 ainews_manage // xypt_menu_permission 表添加两个权限
ai_manage 和 ainews_manage // xypt_permissions 表添加两个权限
8: /source/conf/permission.php php 文件添加权限
'ai_manage' => 'AI内容助手',
'ainews_manage' => 'AI新闻管理',
9: 新闻表添加字段 img_path
10: 新闻详情页添加判断ai新闻
<div class="xypg-detail-con">
{% if news_detail.img_path is not empty %}
<div style="text-align: center">
<img src="{{ news_detail.img_path }}" alt="{{ news_detail.title }}" title="{{ news_detail.title }}">
</div>
{% endif %}
{{ news_detail.content | raw }}
</div>
11: core.func.php 加一个方法
protected static $client;
// 头部增加一行
/**
* 获取gettoken返回数据
*/
public static function gettoken()
{
self::$client = new \GuzzleHttp\Client([
'headers' => [
'token' => '4e0f0cab4e5baae3d5ef6a867469976e',
'referer' => PATH_URL
],
'timeout' => 600
]);
$response = self::$client->request('GET', 'http://www.cn86.cn/api/v1/get-gpt-key');
if ($response->getStatusCode() >= 400) {
self::error('查询异常');
}
$token = json_decode($response->getBody()->getContents(), true);
return $token;
}
12: tpl.php 增加一行
define('server_request_scheme', $server_request_scheme);
13: 添加后台菜单
AI新闻管理 图标 icon-xiangmuguanli
AI内容助手 地址 xycms_aisearch.php 权限 ai_manage
新闻标题 地址 xycms_ainews_title.php 权限 ainews_manage
新闻列表 地址 xycms_ainews.php 权限 ainews_manage
标签管理 地址 xycms_ainews_tag.php 权限 ainews_manage
媒体库 地址 xycms_ainews_media.php 权限 ainews_manage