在JavaScript / Node.js / 抖音小游戏中,使用tt.request通信

抖音小游戏中使用tt.request向基于node.js的web应用服务器发送数据,并接收服务器返回的数据。

javascript 复制代码
// 抖音小游戏
let r = tt.request({
    url: "https://www.abcd.com:4321/abc/PostAPI",
    header: { "content-type": "text/plain" },
    method: "POST",
    data: '发送给服务器的字符串', 
    dataType: "text", // 根据服务器返回的实际类型设置为text
    responseType: "text",
    timeout: 5000,
    enableProfile: false,
    redirect: "manual", // 重定向拦截策略。manual 拦截;follow 不拦截。
    enableCache: false,
    success(res) {
        console.log(`tt.request success`); // tt.request 执行成功,查看接收到的数据
        console.log(`    res.statusCode=${res.statusCode}`);
        console.log(`    res.header=${res.header}`);
        console.log(`    res.data=${res.data}`);
        console.log(`    res.errMsg=${res.errMsg}`);
    },
    fail(res) {
        console.log(`tt.request fail`);
        console.log(`    res.errMsg=${res.errMsg}`);
    },
    complete() {
        console.log(`tt.request complete`)
    }
});
javascript 复制代码
const express = require('express');
const rateLimit = require('express-rate-limit');
const path = require('path');
const helmet = require('helmet');
const compression = require('compression');
const morgan = require('morgan');
const https = require('https');
const fs = require('fs');
const bodyParser = require('body-parser');
const app = express();
const port = process.env.PORT || 4321;


// #region 添加中间件。添加顺序很重要,先添加安全相关的中间件,再添加其他中间件,最后添加请求处理中间件(路由)。

// 安全中间件
app.use(helmet());
// 添加HSTS头
app.use(helmet.hsts({
    maxAge: 31536000, // 1年有效期
    includeSubDomains: true, // 包含子域名
    preload: true // 允许预加载到浏览器HSTS列表
}));

// 读取SSL证书文件
const credentials = {
    key: fs.readFileSync('/home/ecs-user/server_crystalsearch/privkey.pem'),
    cert: fs.readFileSync('/home/ecs-user/server_crystalsearch/fullchain.pem')
};

// 使用body-parser中间件解析请求体
app.use(bodyParser.text()); // 解析text/plain类型的请求体
app.use(bodyParser.json()); // 解析application/json类型的请求体
app.use(bodyParser.urlencoded({ extended: true })); // 解析application/x-www-form-urlencoded类型的请求体

// 创建HTTPS服务器
// 按照抖音小游戏的要求,必须是https,不能是http
// 且要在开发者控制台中将服务器的域名加入白名单,或在开发者工具的调试中加入白名单
const server = https.createServer(credentials, app).listen(port, () => {
    console.log(`HTTPS server successfully launched: https://localhost:${port}`);
});

app.post('/XuJingYiYun/PostAPI', PostAPI);
async function PostAPI(req, res) {
    // 记录请求信息
    console.log(`PostAPIGetSave req.body=${req.body}`);
    console.log(`PostAPIGetSave req.headers.content-type=${req.headers['content-type']}`);
    // 返回状态码和字符串
    res.status(200).send('服务器返回的字符串');
}
相关推荐
小柯南敲键盘2 分钟前
AI批量翻译Temu商品标题的Python实践
开发语言·人工智能·python
逆境不可逃5 分钟前
Java JUC 同步工具类一次讲透:CountDownLatch、CyclicBarrier、Semaphore、Phaser 与 AQS 共享模式
java·开发语言·python
方方洛11 分钟前
AI 教程系列-TUI 应用开发教程14-技能系统与可扩展性
前端·javascript·typescript
方方洛16 分钟前
AI 教程系列-TUI 应用开发教程05-大模型对话界面设计
前端·javascript·typescript
大尚来也24 分钟前
项目上线前必须检查的清单:避开线上重大事故
开发语言
q275513004227 分钟前
AS717 Type-C转DP 8K方案外维少 AS717电路图
c语言·开发语言
方方洛29 分钟前
AI 教程系列-TUI 应用开发教程08-流式响应与动画
前端·javascript·typescript
方方洛35 分钟前
AI 教程系列-TUI 应用开发教程04-第一个 TUI 应用
前端·javascript·typescript
周全全1 小时前
2kol七月限时彩蛋开源领取
javascript
CappuccinoRose1 小时前
Rust学习文档(二)
开发语言·后端·学习·rust