# uav **Repository Path**: bjbs/uav ## Basic Information - **Project Name**: uav - **Description**: 应急无人机对接数据后台-功能包括 日志,账号等 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-07 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: JavaScript, Koa, Redis, MySQL ## README # 无人机数据对接 ## 安装 ```shell brew install pkg-config cairo pango libpng jpeg giflib librsvg ``` ```shell cnpm install ``` ## linux centos8 打包 1. docker pull clonelin/centos8-node22:1.0.0 2. docker run --name node22 -v ~/code/js/koa:/koa -it centos8_node22:1.0.0 /bin/bash 3. npm install -g prisma 4. yum install -y cairo-devel libjpeg-turbo-devel pango-devel giflib.x86_64 librsvg2-devel pixman-devel 5. cd /koa/uav 6. npm install 7. npm run build:linux ## 注意事项 1. axios 版本需要使用 0.30.0 版本 否则打包会有问题 2. 需要使用 npm 安装 cnpm 安装时打包会有问题 或可尝试 cnpm 版本与 npm 版本一致 3. 打包 canvas 后 运行报错 提示缺少动态链接库 可尝试在 package.json 中添加 canvas 相关动态链接库,如还报错把 mode_modules/canvas/build/Release 里的所有文件放到报错的路径上 4. 打包后放到 linux 服务器上报错处理: ```bash 1. 修改 src/model/prisma/schema.prisma 中 binaryTargets 为 ["native", "rhel-openssl-1.1.x", "windows"] binaryTargets 参数参考 https://www.prisma.io/docs/orm/reference/prisma-schema-reference#binarytargets-options 需要根据操作系统版本来确认对应的 rhel-openssl-1.1.x 版本 src/model/prisma/schema.prisma 里修改后 还需要对应的修改 /util/prisma.js里的 版本 2. cd src/model 执行 prisma generate 3. 重新打包 npm run build:linux ``` 5. 提示 libssl.so.3: cannot open shared object file: No such file or directory ``` 确认操作系统与 src/model/prisma/schema.prisma中的 binaryTargets 版本一致 ``` 6. v1/captcha.js Error: /tmp/pkg/df56637b84dbaba4cc7a7982686a52f690153092ffce8f4e5c503094936e037b/canvas/build/Release/canvas.node: invalid ELF header ``` node-gyp rebuild --target=18.16.0 --arch=x64 ``` ```测试数据 需要注意 REDIS 中是存在有 CODE:77e8341028d78a9e05b18ca3e9a7cd40 这个 key 的,如果没有会一值NOT FOUND 需要替换 code curl --location 'http://localhost:3000/v1/log/create' --header 'code:77e8341028d78a9e05b18ca3e9a7cd40' --header 'Content-Type: application/json' --header 'Authorization: ••••••' --data '{"req_id":"ticJSYNiBKlA8n1o1755827253802","module":"timeLog","level":"info","body":"{\"url\":\"/v1/admin/uas/list?source=2&pageNo=1&pageSize=10&startTime=&endTime=\",\"method\":\"GET\",\"ip\":\"::1\",\"duration\":119,\"start\":1755827253812,\"end\":1755827253931}"}' --request post 如果提示 NOT FOUND ,请确认是否有 CODE:xxxx 这个 key curl --location 'http://localhost:3001/v1/uas/data' --header 'platform: KFlight' --header 'source: 2' --header 'programVersion: version1.0' --header 'signature: {"paths":[{"uasID":30003,"timeStamp":"20240124095001","uasModel":"X8L-25","coordinate":1,"longitude":1138792667,"latitude":226398167,"heightType":1,"height":130,"altitude":130,"VS":30,"GS":118,"course":680}]}' --header 'Content-Type: application/json' --request POST 需要替换 Token curl --header 'Content-Type: application/json' --header 'Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6ImwqciIsInBob25lIjoiMTc2KioqKjQ0NDQiLCJyb2xlIjoibm9ybWFsIiwiaWF0IjoxNzU1ODU5NDc2LCJleHAiOjE3NTU4NjMwNzZ9.1NlPwudhCiNQvCH2E5v9YGAb7NCzydaYoSUkwoB5Xak' --location 'http://localhost:3001/v1/admin/uas/list?pageSize=10&pageNo=1' curl --header 'Content-Type: application/json' --header 'Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwibmFtZSI6ImwqciIsInBob25lIjoiMTc2KioqKjQ0NDQiLCJyb2xlIjoibm9ybWFsIiwiaWF0IjoxNzU1ODU5NDc2LCJleHAiOjE3NTU4NjMwNzZ9.1NlPwudhCiNQvCH2E5v9YGAb7NCzydaYoSUkwoB5Xak' --location 'http://localhost:3000/v1/admin/dashboard/info' ```