const nanoid = requirenanoidconst sha256 = requiresha256const WebSocket = requirewsconst wss = new WebSocketServerport3001wssonconnection ws = const appId = 0c1b5e4ca7aaa024 const secretKey
const { nanoid } = require('nanoid') const sha256 = require('sha256') const WebSocket = require('ws')
module.exports = { async connectToWebSocket(ctx) { const wss = new WebSocket.Server({ port: 3001 })
wss.on('connection', ws => {
const appId = '0c1b5e4ca7aaa024'
// const secretKey = 'dPRBMN0Yskb3KvB5JWRTAFclDAmO6fu3'
const secretKey = '3IzRWkQmbU2Qb3Vpk4DKFwGv9wciYxoS'
const salt = nanoid()
const curtime = Math.floor(Date.now() / 1000)
const sign = sha256(appId + salt + curtime + secretKey)
const signType = 'v4'
const langType = 'zh-CHS'
const format = 'wav'
const channel = '1'
const version = 'v1'
const rate = '16000'
const params = `appKey=${appId}&salt=${salt}&curtime=${curtime}&sign=${sign}&signType=${signType}&langType=${langType}&format=${format}&channel=${channel}&version=${version}&rate=${rate}`
ws.on('message', data => {
const youdaoWs = new WebSocket(`wss://openapi.youdao.com/stream_asropenapi?${params}`) //填服务器地址
youdaoWs.addEventListener('open', () => {
console.log('连接上服务器了')
youdaoWs.send(data)
})
// 服务器返回的数据
youdaoWs.addEventListener('message', ({ data }) => {
console.log(data)
ws.send(data)
})
})
ws.on('close', () => {
console.log('关闭连接了')
})
})
},
原文地址: https://www.cveoy.top/t/topic/h3YC 著作权归作者所有。请勿转载和采集!