33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
const express = require('express');
|
|
const { getResolvedUserWithPageAccess } = require('../services/pageAccess');
|
|
const { getAlibaba1688Product } = require('../services/alibaba1688ProductService');
|
|
const { attachEncodingDetail } = require('../services/alibaba1688ProductEncodingRegistry');
|
|
const router = express.Router();
|
|
|
|
async function ensureSelectionFissionAccess(req) {
|
|
// Selection workflows are available to every authenticated user. They share
|
|
// this router with template uploads, but must not inherit upload permissions.
|
|
return getResolvedUserWithPageAccess(req.user.sub);
|
|
}
|
|
|
|
|
|
router.get('/selection-fission/1688-products/:productId', async (req, res) => {
|
|
try {
|
|
await ensureSelectionFissionAccess(req);
|
|
const result = await attachEncodingDetail(
|
|
await getAlibaba1688Product(req.params.productId)
|
|
);
|
|
res.setHeader('Cache-Control', 'private, no-store, no-cache, must-revalidate');
|
|
res.setHeader('Pragma', 'no-cache');
|
|
res.json({ success: true, data: result });
|
|
} catch (error) {
|
|
console.error('获取1688待上架商品详情失败:', error);
|
|
res.status(error.statusCode || error.status || 500).json({
|
|
success: false,
|
|
error: error.message || '获取1688待上架商品详情失败',
|
|
});
|
|
}
|
|
});
|
|
|
|
module.exports = router;
|