Commit 1f759b0e authored by gengshaojing's avatar gengshaojing

update:上传图片、导出订单改为调用node接口

parent fd55430f
const fs = require("fs");
const API_INTERNAL_URI = require("../config.js").API_INTERNAL_URI;
const req = require("../utils/request").httpReq;
const FormData = require("form-data");
const http = require("http");
const GROUPMEAL_URI = require("../config.js").GROUPMEAL_URI;
exports.uploadPic = async (ctx, next) => {
const url = `${API_INTERNAL_URI}/ksy/ks3apiunencrypt/ks3api_upload`;
const {
body: { type },
files,
} = ctx.request;
console.log("type", type);
const filePath = files.file.path;
const file = fs.createReadStream(filePath);
const form = new FormData();
form.append("file", file);
form.append("type", type);
const opts = {
method: "post",
url: url,
body: form,
headers: form.getHeaders(),
};
ctx.body = await req(opts);
};
exports.oldOrderExport = async (ctx) => {
const { marketing_id, type } = ctx.query;
// `${ENV}order/oldbackground/order_export?marketing_id=${eventId}&type=${type}`;
const url = `${GROUPMEAL_URI}/order/oldbackground/order_export?marketing_id=${marketing_id}&type=${type}`;
console.log('url', url);
const options = new URL(url);
let { buffer, res } = await requestPromise(options);
const fileName = res.headers["content-disposition"].split("=")[1];
ctx.set("Content-Type", "application/octet-stream");
ctx.set("Content-Disposition", `attachment; filename=${fileName}`);
ctx.body = buffer;
}
exports.orderExport = async (ctx) => {
const { marketing_id, type } = ctx.query;
const url = `${GROUPMEAL_URI}/order/background/order_export?marketing_id=${marketing_id}&type=${type}`;
console.log('url', url);
const options = new URL(url);
let { buffer, res } = await requestPromise(options);
const fileName = res.headers["content-disposition"].split("=")[1];
ctx.set("Content-Type", "application/octet-stream");
ctx.set("Content-Disposition", `attachment; filename=${fileName}`);
ctx.body = buffer;
};
function requestPromise(options) {
return new Promise(function(resolve, reject) {
const req = http.request(options, function(res) {
let { statusCode } = res;
//返回不是200
if (statusCode !== 200) {
return reject(new Error("error"));
}
let arr = [];
let len = 0;
res.on("data", (chunk) => {
len += chunk.length;
arr.push(Buffer.from(chunk));
});
res.on("end", () => {
//正确 success
return resolve({
buffer: Buffer.concat(arr, len),
res,
});
});
});
//请求出错
req.on("error", (err) => {
return reject(err);
});
req.end();
});
}
...@@ -10,6 +10,7 @@ const activity = require('./controllers/activity'); ...@@ -10,6 +10,7 @@ const activity = require('./controllers/activity');
const withdrawal = require('./controllers/withdrawal'); const withdrawal = require('./controllers/withdrawal');
const groupmeal = require('./controllers/groupmeal'); const groupmeal = require('./controllers/groupmeal');
const qr_code = require('./controllers/qr-code'); const qr_code = require('./controllers/qr-code');
const relay = require('./controllers/relay');
const router = Router(); const router = Router();
const API_VERSION = "/api/v1"; const API_VERSION = "/api/v1";
...@@ -131,4 +132,9 @@ router.post(`${API_VERSION}/get_reblack_list`, withdrawal.getReblackList) ...@@ -131,4 +132,9 @@ router.post(`${API_VERSION}/get_reblack_list`, withdrawal.getReblackList)
router.get(`${API_VERSION}/get_wallet_account_status`, withdrawal.getWalletAccountStatus) router.get(`${API_VERSION}/get_wallet_account_status`, withdrawal.getWalletAccountStatus)
router.post(`${API_VERSION}/reset_wallet_account_status`, withdrawal.resetAccountStatus) router.post(`${API_VERSION}/reset_wallet_account_status`, withdrawal.resetAccountStatus)
// 图片上传
router.post(`${API_VERSION}/relay/ks3api_upload`, relay.uploadPic)
router.get(`${API_VERSION}/relay/order_export`, relay.orderExport)
router.get(`${API_VERSION}/relay/old_order_export`, relay.oldOrderExport)
module.exports = router; module.exports = router;
\ No newline at end of file
...@@ -32,3 +32,17 @@ exports.httpReq = (ctx, opts) => { ...@@ -32,3 +32,17 @@ exports.httpReq = (ctx, opts) => {
}); });
}); });
}; };
exports.httpReqOther = (opts) => {
opts.timeout = opts.timeout || 10000;
return new Promise((resolve, reject) => {
request(opts, (err, res, body) => {
if (!err) {
resolve(body);
} else {
reject(err);
console.error(opts.url, err);
}
});
});
};
...@@ -368,7 +368,7 @@ var addProduct = { ...@@ -368,7 +368,7 @@ var addProduct = {
picUrlList: [], picUrlList: [],
picUploadList: [], // 上传详情图片列表 picUploadList: [], // 上传详情图片列表
isShowPopver: false, // 是否展示图片框 isShowPopver: false, // 是否展示图片框
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址 uploadUrl: `/api/v1/relay/ks3api_upload`, // 金山云上传地址
hideUpload: false, hideUpload: false,
limitCount: 1, limitCount: 1,
......
...@@ -71,7 +71,7 @@ export default { ...@@ -71,7 +71,7 @@ export default {
picSubmitList: [], // 发布功能需要的图片列表 picSubmitList: [], // 发布功能需要的图片列表
propData: {}, propData: {},
isShowPopver: false, // 是否展示图片框 isShowPopver: false, // 是否展示图片框
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址 uploadUrl: `/api/v1/relay/ks3api_upload`, // 金山云上传地址
hideUpload: false, hideUpload: false,
limitCount: 9 limitCount: 9
}; };
......
...@@ -793,7 +793,7 @@ export default { ...@@ -793,7 +793,7 @@ export default {
activeStartTime: "", // 活动开始时间 activeStartTime: "", // 活动开始时间
activeEndTime: "", // 活动结束时间 activeEndTime: "", // 活动结束时间
uploadUrl: `${GOODS_URI}/ksy/ks3apiunencrypt/ks3api_upload`, // 金山云上传地址 uploadUrl: `/api/v1/relay/ks3api_upload`, // 金山云上传地址
addShopShow: false, // 添加门店弹框显示 addShopShow: false, // 添加门店弹框显示
......
...@@ -124,15 +124,21 @@ export async function orderRefundReject(params) { ...@@ -124,15 +124,21 @@ export async function orderRefundReject(params) {
// 导出订单 // 导出订单
export function getOrderExportURL(eventId, type) { export function getOrderExportURL(eventId, type) {
var ENV; // var ENV;
if(process.env.NODE_ENV == "development"){ // if(process.env.NODE_ENV == "development"){
ENV = "http://bp-dev.ini.yidian-inc.com/" // ENV = "http://bp-dev.ini.yidian-inc.com/"
}else if(process.env.NODE_ENV == "test"){ // }else if(process.env.NODE_ENV == "test"){
ENV = "http://bp-test.ini.yidian-inc.com/" // ENV = "http://bp-test.ini.yidian-inc.com/"
}else{ // }else{
ENV = "http://bp.int.yidian-inc.com/" // ENV = "http://bp.int.yidian-inc.com/"
// }
// return `${ENV}order/oldbackground/order_export?marketing_id=${eventId}&type=${type}`;
if(process.env.NODE_ENV === 'development') {
return `http://127.0.0.1:8055/api/v1/relay/old_order_export?marketing_id=${eventId}&type=${type}`;
} else {
return `/api/v1/relay/old_order_export?marketing_id=${eventId}&type=${type}`;
} }
return `${ENV}order/oldbackground/order_export?marketing_id=${eventId}&type=${type}`;
} }
// 新订单管理 // 新订单管理
...@@ -210,13 +216,10 @@ export async function newOrderRefundReject(params) { ...@@ -210,13 +216,10 @@ export async function newOrderRefundReject(params) {
// 导出订单 // 导出订单
export function newGetOrderExportURL(eventId, type) { export function newGetOrderExportURL(eventId, type) {
var ENV; if(process.env.NODE_ENV === 'development') {
if(process.env.NODE_ENV == "development"){ return `http://127.0.0.1:8055/api/v1/relay/order_export?marketing_id=${eventId}&type=${type}`;
ENV = "http://bp-dev.ini.yidian-inc.com/" } else {
}else if(process.env.NODE_ENV == "test"){ return `/api/v1/relay/order_export?marketing_id=${eventId}&type=${type}`;
ENV = "http://bp-test.ini.yidian-inc.com/"
}else{
ENV = "http://bp.int.yidian-inc.com/"
} }
return `${ENV}order/background/order_export?marketing_id=${eventId}&type=${type}`; // return `/api/v1/relay/order_export?marketing_id=${eventId}&type=${type}`;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment