2022-01-28 02:25:18 +08:00
|
|
|
-- 指定模块引用目录,否则无法加载同目录下的其他文件
|
2022-02-08 13:57:15 +08:00
|
|
|
--package.path = package.path .. ';/usr/local/opt/openresty/nginx/scripts/?.lua';
|
2022-02-08 14:14:57 +08:00
|
|
|
package.path = package.path .. ';<SCRIPT_PATH>/?.lua';
|
2022-02-08 13:57:15 +08:00
|
|
|
|
2021-12-30 22:04:57 +08:00
|
|
|
local cjson = require "cjson"
|
2022-06-30 01:58:26 +08:00
|
|
|
local pl = require "pl.pretty"
|
2022-06-27 03:56:15 +08:00
|
|
|
local http = require 'resty.http'
|
2023-11-06 01:26:09 +08:00
|
|
|
local uuid = require("lib.my_uuid")
|
2022-06-28 22:47:38 +08:00
|
|
|
local upyun_upload = require("lib.upyun_upload")
|
|
|
|
|
local get_wx_media = require("lib.wx_download")
|
2021-12-30 22:04:57 +08:00
|
|
|
|
2022-08-31 23:42:45 +08:00
|
|
|
local verify = require('lib.jwt_verify')
|
|
|
|
|
|
2022-06-27 03:56:15 +08:00
|
|
|
local httpc = http:new()
|
2022-08-31 23:42:45 +08:00
|
|
|
local authHeader = ngx.req.get_headers().Authorization
|
|
|
|
|
local sudoerToken = ngx.req.get_headers().HtySudoerToken
|
|
|
|
|
|
|
|
|
|
verify(httpc, authHeader, sudoerToken)
|
2022-06-27 03:56:15 +08:00
|
|
|
|
2021-12-30 22:22:15 +08:00
|
|
|
local function convert()
|
2023-05-08 00:41:22 +08:00
|
|
|
ngx.log(ngx.INFO, "convert_audio -> upyun_upload -> ", pl.dump(upyun_upload));
|
2022-01-14 14:11:17 +08:00
|
|
|
|
2021-12-30 22:22:15 +08:00
|
|
|
local file_dir = ngx.var.tmp_file_dir
|
|
|
|
|
ngx.req.read_body()
|
|
|
|
|
local req_body = cjson.decode(ngx.req.get_body_data())
|
2023-11-06 00:19:05 +08:00
|
|
|
ngx.log(ngx.INFO, 'convert_audio -> REQ_BODY -> ', ngx.req.get_body_data())
|
2021-12-30 22:04:57 +08:00
|
|
|
|
2022-06-30 01:58:26 +08:00
|
|
|
local input_audio_file = get_wx_media(httpc, req_body["payload"]["media_id"], cjson, pl);
|
2023-11-06 01:22:29 +08:00
|
|
|
local converted_audio_file = file_dir .. "/" .. uuid.uuid() .. ".mp3";
|
2021-12-30 23:00:43 +08:00
|
|
|
|
2023-11-06 00:19:05 +08:00
|
|
|
ngx.log(ngx.INFO, "convert_audio -> input audio file -> ", input_audio_file);
|
|
|
|
|
ngx.log(ngx.INFO, "convert_audio -> converted audio filename -> ", converted_audio_file);
|
2021-12-30 23:00:43 +08:00
|
|
|
|
|
|
|
|
local cmd = "/usr/local/bin/file_convert" .. " " .. input_audio_file .. " " .. converted_audio_file
|
2021-12-30 22:04:57 +08:00
|
|
|
|
2023-11-06 00:41:28 +08:00
|
|
|
ngx.log(ngx.INFO, 'convert_audio -> audio convert command -> ', cmd)
|
2021-12-30 23:00:43 +08:00
|
|
|
|
|
|
|
|
local result, _, code = os.execute(cmd)
|
|
|
|
|
if result and code == 0 then
|
2023-11-06 00:19:05 +08:00
|
|
|
ngx.log(ngx.INFO, "convert_audio - > result -> ", result);
|
2022-06-26 17:49:50 +08:00
|
|
|
upyun_upload.upload(converted_audio_file, nil);
|
2021-12-30 23:00:43 +08:00
|
|
|
else
|
|
|
|
|
ngx.status = 500
|
2023-11-06 00:46:47 +08:00
|
|
|
ngx.log(ngx.ERR, "converted_audio_file *FAILED*")
|
2021-12-30 23:00:43 +08:00
|
|
|
end
|
2021-12-30 22:22:15 +08:00
|
|
|
end
|
2021-12-30 22:04:57 +08:00
|
|
|
|
2021-12-30 22:22:15 +08:00
|
|
|
convert();
|