提交 421350d5 编写于 作者: 锅巴胸's avatar 锅巴胸

feat: 新增openAPI智能接口

上级 b669d955
#企业微信配置
AGENTID="" #自建应用ID
SECRET="" #自建应用密钥
ContactsSecret="" #通讯录密钥
CORPID="" #企业ID
BASEURL="https://qyapi.weixin.qq.com/cgi-bin/" #企业微信api前缀
REDIRECT_URI="" #授权回调地址
#REDIS配置
REDISHOST="" #连接HOST
REDISPORT="" #端口
REDISPASSWORD=""#密码
REDISDB="" #连接库
#MONGODB配置
MONGODBURL="mongodb://localhost:27017/" #连接URL
#LOG日志位置
LOGGERPATH="" #日志位置 默认在项目的LOGS目录
\ No newline at end of file
......@@ -17,3 +17,4 @@ WW_verify_Z2NC0vRuRAMlccsx.txt
.htaccess
.user.ini
.well-known/
.env
language: node_js
node_js:
- '10'
before_install:
- npm i npminstall -g
- npm i npminstall@5 -g
install:
- npminstall
script:
......
'use strict';
const Controller = require('egg').Controller;
const { ChatGPTAPI } = require('chatgpt');
class StreamController extends Controller {
async postStream() {
const { ctx, app } = this;
const { keywords } = ctx.request.query;
try {
const api = new ChatGPTAPI({
sessionToken: await app.redis.get('sessionToken'),
});
await api.ensureAuth();
const response = await api.sendMessage(
keywords || ''
);
ctx.logger.info({ ask: keywords, data: response });
ctx.success('智能api处理成功', response);
await app.redis.hset('openApi', keywords + ' IP:' + ctx.ip, JSON.stringify(response));
} catch (err) {
// 处理错误
console.error(err);
}
}
}
module.exports = StreamController;
......@@ -54,4 +54,6 @@ module.exports = app => {
/* -墙start- */
router.get('/wall/get_nodes', 'wall.get_nodes'); // 获取节点
/* -墙end- */
router.get('/event/stream', 'stream.postStream'); // 请求openApi流接口
};
......@@ -4,7 +4,7 @@ environment:
install:
- ps: Install-Product node $env:nodejs_version
- npm i npminstall && node_modules\.bin\npminstall
- npm i npminstall@5 && node_modules\.bin\npminstall
test_script:
- node --version
......
/* eslint valid-jsdoc: "off" */
'use strict';
const path = require('path');
const dotenv = require('dotenv'); // 引入环境变量
dotenv.config();
/**
* @param {Egg.EggAppInfo} appInfo app info
......@@ -32,21 +32,21 @@ module.exports = appInfo => {
// myAppName: 'egg',
// jwt config
jwt: {
secret: '1qazxsw209poilkm',
secret: process.env.jwtSecret,
},
redis: {
client: {
port: '6379',
host: '47.100.197.177',
password: 'liu123321',
db: 3,
port: process.env.REDISPORT || '6379',
host: process.env.REDISHOST,
password: process.env.REDISPASSWORD,
db: process.env.REDISDB,
},
},
qywx: {
corpid: 'wwd51800cfc7708391', // 企业id
corpsecret: 'CN0fn7CljRpIS8OXz3ygNACM0Mq1vf_bwZy6XulCkR0', // 应用的凭证密钥
tx_secret: 'eDDoLpiG-_jZlt-k0v7tOmF4UESa2izoNb7rhxbVT9o', // 通讯录同步
agentId: 1000006, // 应用id
corpid: process.env.CORPID, // 企业id
corpsecret: process.env.SECRET, // 应用的凭证密钥
tx_secret: process.env.ContactsSecret, // 通讯录同步
agentId: process.env.AGENTID, // 应用id
},
};
......@@ -70,7 +70,7 @@ module.exports = appInfo => {
};
config.mongoose = {
client: {
url: 'mongodb://liubao:liubao123321@47.100.197.177:27017/egg-admin?authSource=admin',
url: process.env.MONGODBURL,
options: { useUnifiedTopology: true, useFindAndModify: false },
},
};
......
......@@ -7,8 +7,10 @@
"declarations": true
},
"dependencies": {
"chatgpt": "1.3.0",
"crypto": "^1.0.1",
"dayjs": "^1.10.5",
"dotenv": "^16.0.3",
"egg": "^2.15.1",
"egg-cors": "^2.2.3",
"egg-jwt": "^3.1.7",
......@@ -34,7 +36,7 @@
"scripts": {
"start": "egg-scripts start --port=7002 --daemon --title=egg-server-egg-admin",
"stop": "egg-scripts stop --title=egg-server-egg-admin",
"dev": "egg-bin dev",
"dev": "egg-bin dev --port=7002 ",
"debug": "egg-bin debug",
"test": "npm run lint -- --fix && npm run test-local",
"test-local": "egg-bin test",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册