使用 Node.js 开发微信小程序后端接入 Taotoken 大模型服务
使用 Node.js 开发微信小程序后端接入 Taotoken 大模型服务
1. 准备工作
在开始集成 Taotoken 大模型服务前,需要确保开发环境已安装 Node.js 16 或更高版本。建议使用 npm 或 yarn 作为包管理工具。首先创建一个新的 Node.js 项目目录,初始化 package.json 文件:
mkdir wechat-miniprogram-backend cd wechat-miniprogram-backend npm init -y接下来安装必要的依赖包。除了基础的openai包外,还需要安装微信小程序后端常用的express框架和cors中间件:
npm install openai express cors2. 配置 Taotoken API 连接
在项目根目录下创建.env文件用于存储环境变量。将 Taotoken 控制台中获取的 API Key 填入该文件:
TAOTOKEN_API_KEY=your_api_key_here新建config.js文件集中管理配置项。这里需要特别注意baseURL的设置必须与 Taotoken 的 OpenAI 兼容接口地址一致:
require('dotenv').config(); module.exports = { taotoken: { apiKey: process.env.TAOTOKEN_API_KEY, baseURL: 'https://taotoken.net/api', model: 'claude-sonnet-4-6' // 可在模型广场查看其他可用模型 } };3. 实现后端 API 接口
创建app.js文件作为应用入口。以下代码展示了如何设置 Express 服务并创建与大模型交互的接口:
const express = require('express'); const cors = require('cors'); const { OpenAI } = require('openai'); const config = require('./config'); const app = express(); app.use(cors()); app.use(express.json()); const client = new OpenAI({ apiKey: config.taotoken.apiKey, baseURL: config.taotoken.baseURL, }); app.post('/api/chat', async (req, res) => { try { const { messages } = req.body; const completion = await client.chat.completions.create({ model: config.taotoken.model, messages, }); res.json({ success: true, data: completion.choices[0].message.content }); } catch (error) { console.error('API Error:', error); res.status(500).json({ success: false, message: error.message }); } }); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server running on port ${PORT}`); });4. 处理流式响应(可选)
如果需要支持流式响应以提高用户体验,可以修改接口实现如下:
app.post('/api/chat-stream', async (req, res) => { try { const { messages } = req.body; const stream = await client.chat.completions.create({ model: config.taotoken.model, messages, stream: true, }); res.setHeader('Content-Type', 'text/event-stream'); res.setHeader('Cache-Control', 'no-cache'); res.setHeader('Connection', 'keep-alive'); for await (const chunk of stream) { const content = chunk.choices[0]?.delta?.content || ''; res.write(`data: ${JSON.stringify({ content })}\n\n`); } res.end(); } catch (error) { console.error('Stream Error:', error); res.status(500).json({ success: false, message: error.message }); } });5. 微信小程序前端调用
在小程序端的app.js中配置后端接口基础地址:
App({ globalData: { apiBaseUrl: 'https://your-backend-domain.com' // 替换为实际部署地址 } });在页面中调用后端接口示例:
Page({ data: { messages: [], inputValue: '' }, sendMessage() { const that = this; wx.request({ url: getApp().globalData.apiBaseUrl + '/api/chat', method: 'POST', data: { messages: this.data.messages }, success(res) { if (res.data.success) { that.setData({ messages: [...that.data.messages, { role: 'assistant', content: res.data.data }] }); } } }); } });6. 部署与安全建议
完成开发后,建议将后端服务部署到云服务器或 Serverless 平台。部署时需注意:
- 确保生产环境不提交
.env文件 - 配置 HTTPS 以保证通信安全
- 在微信小程序后台配置合法域名
- 实现适当的速率限制和身份验证机制
可以在 Taotoken 控制台中设置 API Key 的使用限额和监控用量,避免意外消耗。
Taotoken
