From 7660f398209707e2a22207e1c51579b6009af1b6 Mon Sep 17 00:00:00 2001 From: XiaoLi Date: Wed, 9 Aug 2023 00:15:43 +0800 Subject: [PATCH] update --- scripts/combine.lua | 52 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 12 deletions(-) diff --git a/scripts/combine.lua b/scripts/combine.lua index a10dc65..2bdc29c 100644 --- a/scripts/combine.lua +++ b/scripts/combine.lua @@ -2,34 +2,44 @@ --package.path = package.path .. ';/usr/local/opt/openresty/nginx/scripts/?.lua'; package.path = package.path .. ';/?.lua'; +-- Requires local uuid = require "resty.jit-uuid" local cjson = require "cjson" local pl = require "pl.pretty" - local http = require "resty.http" local verify = require('lib.jwt_verify') +-- Verify token local httpc = http:new() local authHeader = ngx.req.get_headers().Authorization local sudoerToken = ngx.req.get_headers().HtySudoerToken - verify(httpc, authHeader, sudoerToken) - uuid.seed() +-- Get ngx var local file_dir = ngx.var.tmp_file_dir + +-- Read request body ngx.req.read_body() local req_body = cjson.decode(ngx.req.get_body_data()) ngx.log(ngx.INFO, 'REQ_BODY -> ', ngx.req.get_body_data()) -local image_origin = read_body["payload"]["image_origin"] + local images = req_body["payload"]["images"] -ngx.log(ngx.INFO, "IMAGE ORIGIN -> ", image_origin) +local image_origin = read_body["payload"]["image_origin"] -local combined_uuid = uuid.generate_v4() -local output_filename = combined_uuid .. ".jpeg"; -local output_filepath = file_dir .. "/" .. output_filename +-- Judge payload image origin +if image_origin == "WX" then + ngx.log(ngx.INFO, "IMAGE ORIGIN -> ", image_origin) +elseif image_origin == "LOCAL" then + ngx.log(ngx.INFO, "IMAGE ORIGIN -> ", image_origin) +else + ngx.status = 400 + ngx.log(ngx.ERR, "COMBINE REQUEST PAYLOAD IMAGES ORIGIN NOT FOUND.") + return +end +-- Judge payload images para length local len = table.getn(images) if len == 0 then ngx.status = 500 @@ -37,6 +47,20 @@ if len == 0 then return ; end +-- If combine images from WX +local wx_download_images = {} +if image_origin == "WX" then + for i = 1, len do + ngx.log(ngx.INFO, "DOWNLOAD WX URL -> ", images[i]) + wx_download_images[i] = get_wx_media(httpc, images[i], cjson, pl); + end +end + +-- Prepare combined file name and path +local combined_uuid = uuid.generate_v4() +local output_filename = combined_uuid .. ".jpeg"; +local output_filepath = file_dir .. "/" .. output_filename + local origin = {} -- ไปŽ nginx ๅ˜้‡ๅ– @@ -53,11 +77,15 @@ for i = 1, len do local incoming if image_origin == "WX" then - ngx.log(ngx.INFO, "DOWNLOAD WX FILE -> ", images[i]) - incoming = get_wx_media(httpc, images[i], cjson, pl); - else - ngx.log(ngx.INFO, "COMBINE FILE -> ", images[i]) + ngx.log(ngx.INFO, "DOWNLOAD WX FILE -> ", wx_download_images[i]) + incoming = wx_download_images[i] + elseif image_origin == "LOCAL" then + ngx.log(ngx.INFO, "LOCAL FILE -> ", images[i]) incoming = file_dir .. "/" .. images[i] + else + ngx.status = 400 + ngx.log(ngx.ERR, "COMBINE REQUEST PAYLOAD IMAGES ORIGIN NOT FOUND.") + return end origin[i] = incoming .. ".png "