Files
medical-mall/server/routes/deploy.js
not-like-juvenile 427010f7db 云服务推送
2026-02-27 16:02:44 +08:00

33 lines
1.3 KiB
JavaScript

const express = require('express');
const router = express.Router();
const { deployCloudFunction } = require('../tools/deploy-cloudfunc-service');
// POST /api/v1/deploy-cloudfunc
// body: { uploadUrl, uploadToken, deployApi?, deployToken?, funcInvokeUrl?, pushToken?, testCid? }
router.post('/deploy-cloudfunc', async (req, res) => {
try {
const body = req.body || {};
const options = {
uploadUrl: body.uploadUrl || process.env.CLOUD_UPLOAD_URL,
uploadToken: body.uploadToken || process.env.CLOUD_UPLOAD_TOKEN,
uniAppId: body.uniAppId || process.env.UNI_PUSH_APPID,
deployApi: body.deployApi || process.env.CLOUD_DEPLOY_API,
deployToken: body.deployToken || process.env.CLOUD_DEPLOY_TOKEN,
funcInvokeUrl: body.funcInvokeUrl || process.env.CLOUD_FUNC_URL,
pushToken: body.pushToken || process.env.PUSH_TOKEN,
testCid: body.testCid || process.env.TEST_DEVICE_CID,
deployPayload: body.deployPayload || {}
};
if (!options.uploadUrl) return res.status(400).json({ error: 'uploadUrl required (or set CLOUD_UPLOAD_URL env)' });
const result = await deployCloudFunction(options);
res.json({ ok: true, result });
} catch (e) {
console.error('deploy endpoint error', e);
res.status(500).json({ ok: false, error: e && e.message });
}
});
module.exports = router;