mirror of
https://github.com/ikechan8370/chatgpt-plugin.git
synced 2025-12-16 21:37:11 +00:00
fix: 小重构必应
This commit is contained in:
parent
389940085a
commit
76ecabe104
19 changed files with 536 additions and 305 deletions
|
|
@ -2,128 +2,122 @@ import { UserInfo } from './user_data.js'
|
|||
import { Config } from '../../utils/config.js'
|
||||
import { deleteOnePrompt, getPromptByName, readPrompts, saveOnePrompt } from '../../utils/prompts.js'
|
||||
|
||||
async function Prompt(fastify, options) {
|
||||
// 获取设定列表
|
||||
fastify.post('/getPromptList', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
reply.send([
|
||||
{
|
||||
name: 'Sydney默认',
|
||||
content: Config.sydney
|
||||
},
|
||||
{
|
||||
name: 'API默认',
|
||||
content: Config.promptPrefixOverride
|
||||
},
|
||||
...readPrompts()
|
||||
])
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
}
|
||||
return reply
|
||||
})
|
||||
// 添加设定
|
||||
fastify.post('/addPrompt', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
const body = request.body || {}
|
||||
if (body.prompt && body.content) {
|
||||
saveOnePrompt(body.prompt, body.content)
|
||||
reply.send({ state: true })
|
||||
} else {
|
||||
reply.send({ err: '参数不足' })
|
||||
async function Prompt (fastify, options) {
|
||||
// 获取设定列表
|
||||
fastify.post('/getPromptList', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
reply.send([
|
||||
{
|
||||
name: 'Sydney默认',
|
||||
content: Config.sydney
|
||||
},
|
||||
{
|
||||
name: 'API默认',
|
||||
content: Config.promptPrefixOverride
|
||||
},
|
||||
...readPrompts()
|
||||
])
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
}
|
||||
return reply
|
||||
})
|
||||
// 添加设定
|
||||
fastify.post('/addPrompt', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
const body = request.body || {}
|
||||
if (body.prompt && body.content) {
|
||||
saveOnePrompt(body.prompt, body.content)
|
||||
reply.send({ state: true })
|
||||
} else {
|
||||
reply.send({ err: '参数不足' })
|
||||
}
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
}
|
||||
return reply
|
||||
})
|
||||
// 删除设定
|
||||
fastify.post('/deletePrompt', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
const body = request.body || {}
|
||||
if (body.prompt) {
|
||||
deleteOnePrompt(body.prompt)
|
||||
reply.send({ state: true })
|
||||
} else {
|
||||
reply.send({ err: '参数不足' })
|
||||
}
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
}
|
||||
return reply
|
||||
})
|
||||
// 使用设定
|
||||
fastify.post('/usePrompt', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
const body = request.body || {}
|
||||
if (body.prompt) {
|
||||
let promptName = body.prompt
|
||||
let prompt = getPromptByName(promptName)
|
||||
let use = await redis.get('CHATGPT:USE') || 'api'
|
||||
if (!prompt) {
|
||||
if (promptName === 'API默认') {
|
||||
prompt = {
|
||||
name: 'API默认',
|
||||
content: Config.promptPrefixOverride
|
||||
}
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
}
|
||||
return reply
|
||||
})
|
||||
// 删除设定
|
||||
fastify.post('/deletePrompt', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
const body = request.body || {}
|
||||
if (body.prompt) {
|
||||
deleteOnePrompt(body.prompt)
|
||||
reply.send({ state: true })
|
||||
} else {
|
||||
reply.send({ err: '参数不足' })
|
||||
} else if (promptName === 'Sydney默认') {
|
||||
prompt = {
|
||||
name: 'Sydney默认',
|
||||
content: Config.sydney
|
||||
}
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
} else {
|
||||
prompt = false
|
||||
reply.send({ state: false, use, error: '未找到设定' })
|
||||
}
|
||||
}
|
||||
return reply
|
||||
})
|
||||
// 使用设定
|
||||
fastify.post('/usePrompt', async (request, reply) => {
|
||||
const token = request.cookies.token || request.body?.token || 'unknown'
|
||||
let user = UserInfo(token)
|
||||
if (!user) {
|
||||
reply.send({ err: '未登录' })
|
||||
} else if (user.autho === 'admin') {
|
||||
const body = request.body || {}
|
||||
if (body.prompt) {
|
||||
let promptName = body.prompt
|
||||
let prompt = getPromptByName(promptName)
|
||||
let use = await redis.get('CHATGPT:USE') || 'api'
|
||||
if (!prompt) {
|
||||
if (promptName === 'API默认') {
|
||||
prompt = {
|
||||
name: 'API默认',
|
||||
content: Config.promptPrefixOverride
|
||||
}
|
||||
} else if (promptName === 'Sydney默认') {
|
||||
prompt = {
|
||||
name: 'Sydney默认',
|
||||
content: Config.sydney
|
||||
}
|
||||
} else {
|
||||
prompt = false
|
||||
reply.send({ state: false, use: use, error: '未找到设定' })
|
||||
}
|
||||
}
|
||||
if (use.toLowerCase() === 'bing') {
|
||||
if (Config.toneStyle === 'Custom') {
|
||||
use = 'Custom'
|
||||
}
|
||||
}
|
||||
const keyMap = {
|
||||
api: 'promptPrefixOverride',
|
||||
Custom: 'sydney',
|
||||
claude: 'slackClaudeGlobalPreset'
|
||||
}
|
||||
if (prompt) {
|
||||
if (keyMap[use]) {
|
||||
if (Config.ttsMode === 'azure') {
|
||||
Config[keyMap[use]] = prompt.content + '\n' + await AzureTTS.getEmotionPrompt(e)
|
||||
logger.warn(Config[keyMap[use]])
|
||||
} else {
|
||||
Config[keyMap[use]] = prompt.content
|
||||
}
|
||||
await redis.set(`CHATGPT:PROMPT_USE_${use}`, promptName)
|
||||
reply.send({ state: true, use: use })
|
||||
} else {
|
||||
reply.send({ state: false, use: use, error: '当前模式不支持设定修改' })
|
||||
}
|
||||
}
|
||||
const keyMap = {
|
||||
api: 'promptPrefixOverride',
|
||||
Custom: 'sydney',
|
||||
claude: 'slackClaudeGlobalPreset'
|
||||
}
|
||||
if (prompt) {
|
||||
if (keyMap[use]) {
|
||||
if (Config.ttsMode === 'azure') {
|
||||
Config[keyMap[use]] = prompt.content + '\n' + await AzureTTS.getEmotionPrompt(e)
|
||||
logger.warn(Config[keyMap[use]])
|
||||
} else {
|
||||
reply.send({ err: '参数不足' })
|
||||
Config[keyMap[use]] = prompt.content
|
||||
}
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
await redis.set(`CHATGPT:PROMPT_USE_${use}`, promptName)
|
||||
reply.send({ state: true, use })
|
||||
} else {
|
||||
reply.send({ state: false, use, error: '当前模式不支持设定修改' })
|
||||
}
|
||||
}
|
||||
return reply
|
||||
})
|
||||
|
||||
} else {
|
||||
reply.send({ err: '参数不足' })
|
||||
}
|
||||
} else {
|
||||
reply.send({ err: '权限不足' })
|
||||
}
|
||||
return reply
|
||||
})
|
||||
}
|
||||
export default Prompt
|
||||
export default Prompt
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue