Commit d562b7e8 by Sxy

feat: 兼容阿里 腾讯下载

parent 3021284c
...@@ -2,49 +2,57 @@ var APIBase = require("../../api.base"); ...@@ -2,49 +2,57 @@ var APIBase = require("../../api.base");
var system = require("../../../system"); var system = require("../../../system");
var settings = require("../../../../config/settings"); var settings = require("../../../../config/settings");
const crypto = require('crypto'); const crypto = require('crypto');
var fs=require("fs"); var fs = require("fs");
var accesskey='3KV9nIwW8qkTGlrPmAe3HnR3fzM6r5'; var accesskey = '3KV9nIwW8qkTGlrPmAe3HnR3fzM6r5';
var accessKeyId='LTAI4GC5tSKvqsH2hMqj6pvd'; var accessKeyId = 'LTAI4GC5tSKvqsH2hMqj6pvd';
var url="https://gsb-zc.oss-cn-beijing.aliyuncs.com"; var url = "https://gsb-zc.oss-cn-beijing.aliyuncs.com";
class OSSAPI extends APIBase{ var oss = system.getObject("util.ossClient");
constructor(){
class OSSAPI extends APIBase {
constructor() {
super() super()
} }
async getOssConfig(){ async getOssConfig() {
var policyText = { var policyText = {
"expiration":"2119-12-31T16:00:00.000Z", "expiration": "2119-12-31T16:00:00.000Z",
"conditions":[ "conditions": [
["content-length-range",0,1048576000], ["content-length-range", 0, 1048576000],
["starts-with","$key","zc"] ["starts-with", "$key", "zc"]
] ]
}; };
var b = new Buffer(JSON.stringify(policyText)); var b = new Buffer(JSON.stringify(policyText));
var policyBase64 = b.toString('base64'); var policyBase64 = b.toString('base64');
var signature= crypto.createHmac('sha1',accesskey).update(policyBase64).digest().toString('base64'); //base64 var signature = crypto.createHmac('sha1', accesskey).update(policyBase64).digest().toString('base64'); //base64
var data={ var data = {
OSSAccessKeyId:accessKeyId, OSSAccessKeyId: accessKeyId,
policy:policyBase64, policy: policyBase64,
Signature:signature, Signature: signature,
Bucket:'gsb-zc', Bucket: 'gsb-zc',
success_action_status:201, success_action_status: 201,
url:url url: url
}; };
return system.getResult(data); return system.getResult(data);
};
async upfile(srckey, dest) {
var oss = System.getObject("util.ossClient");
var result = await oss.upfile(srckey, "/tmp/" + dest);
return result;
}; };
async upfile(srckey,dest){ async downfile(srckey) {
var oss=System.getObject("util.ossClient"); var oss = System.getObject("util.ossClient");
var result=await oss.upfile(srckey,"/tmp/"+dest); var downfile = await oss.downfile(srckey).then(function () {
return result; downfile = "/tmp/" + srckey;
}; return downfile;
async downfile(srckey){ });
var oss=System.getObject("util.ossClient"); return downfile;
var downfile=await oss.downfile(srckey).then(function(){ };
downfile="/tmp/"+srckey;
return downfile; async signatureUrl(pobj) {
}); const { key, fileName } = pobj
return downfile; const url = await oss.signatureUrl(key, fileName);
}; return system.getResult(url);
}
} }
module.exports=OSSAPI; module.exports = OSSAPI;
...@@ -23,6 +23,7 @@ class DeliverCtl extends CtlBase { ...@@ -23,6 +23,7 @@ class DeliverCtl extends CtlBase {
if (val.delivery_status === system.ANNUALREPORT.TAKEEFFECT) { if (val.delivery_status === system.ANNUALREPORT.TAKEEFFECT) {
val.delivery_status = val['annualreports.status'] || system.ANNUALREPORT.WAITDECLARE; val.delivery_status = val['annualreports.status'] || system.ANNUALREPORT.WAITDECLARE;
} }
val.source_name = system.SOURCENAME[val.source_name] ? system.SOURCENAME[val.source_name] : val.source_name;
result.push(val); result.push(val);
} }
rs.results.rows = result; rs.results.rows = result;
......
...@@ -16,12 +16,13 @@ class MaterialCtl extends CtlBase { ...@@ -16,12 +16,13 @@ class MaterialCtl extends CtlBase {
}, [ }, [
{ {
model: this.db.models.deliver, model: this.db.models.deliver,
attributes: ["product_code"], attributes: ["product_code", "source_name"],
} }
]); ]);
// 组装数据 // 组装数据
return system.getResult(rs.map(item => { return system.getResult(rs.map(item => {
const type = item.deliver.product_code; const type = item.deliver.product_code;
const channel = item.deliver.source_name;
const { proposerInfo, otherMaterialsInfo, implementationPlanInfo, safetyInfo, shareholderData } = item; const { proposerInfo, otherMaterialsInfo, implementationPlanInfo, safetyInfo, shareholderData } = item;
const { businessLicense, businessInformation, principalInfo, contactInfo } = proposerInfo; const { businessLicense, businessInformation, principalInfo, contactInfo } = proposerInfo;
const { webApp, targetUser, profitableWay, specialApproval, serviceProjectEdi, serviceProjectIcp } = implementationPlanInfo; const { webApp, targetUser, profitableWay, specialApproval, serviceProjectEdi, serviceProjectIcp } = implementationPlanInfo;
...@@ -225,6 +226,7 @@ class MaterialCtl extends CtlBase { ...@@ -225,6 +226,7 @@ class MaterialCtl extends CtlBase {
return { return {
id: item.id, id: item.id,
type, type,
channel,
registeredAddressData, registeredAddressData,
implementationPlanData, implementationPlanData,
licenceData, licenceData,
...@@ -232,7 +234,7 @@ class MaterialCtl extends CtlBase { ...@@ -232,7 +234,7 @@ class MaterialCtl extends CtlBase {
safetyData, safetyData,
shareholdersData, shareholdersData,
telecommunicationServiceData, telecommunicationServiceData,
otherMaterialsData otherMaterialsData,
} }
})); }));
} }
......
var co = require('co'); var co = require('co');
var OSS = require('ali-oss'); var OSS = require('ali-oss');
class OSSClient{ class OSSClient {
constructor(){ constructor() {
this.client=new OSS({ this.client = new OSS({
endpoint: 'https://oss-cn-beijing.aliyuncs.com', // endpoint: 'https://oss-cn-beijing.aliyuncs.com',
accessKeyId: 'LTAI4GC5tSKvqsH2hMqj6pvd', accessKeyId: 'LTAI4GC5tSKvqsH2hMqj6pvd',
accessKeySecret: '3KV9nIwW8qkTGlrPmAe3HnR3fzM6r5' accessKeySecret: '3KV9nIwW8qkTGlrPmAe3HnR3fzM6r5',
region: 'oss-cn-beijing',
bucket: 'gsb-zc',
}); });
this.client.useBucket('gsb-zc'); // this.client.useBucket('gsb-zc');
} }
async downfile(key){ async downfile(key) {
var me=this; var me = this;
var result=await co(function* () { var result = await co(function* () {
var result = yield me.client.get(key, '/tmp/'+key); var result = yield me.client.get(key, '/tmp/' + key);
return result; return result;
}); });
return result; return result;
} }
async upfile(key,filepath){ async upfile(key, filepath) {
var me=this; var me = this;
var result=await co(function* () { var result = await co(function* () {
var result = yield me.client.put(key, filepath); var result = yield me.client.put(key, filepath);
return result; return result;
}) })
return result; return result;
} }
async putBuffer (key,buf) { async putBuffer(key, buf) {
try { try {
var result = await this.client.put(key, buf); var result = await this.client.put(key, buf);
console.log(result); console.log(result);
...@@ -35,8 +37,18 @@ class OSSClient{ ...@@ -35,8 +37,18 @@ class OSSClient{
return null return null
} }
} }
async signatureUrl(key, name) {
return this.client.signatureUrl(key,
{
expires: 3600,
response: {
"content-disposition": `attachment; filename=${name}`
}
});
}
} }
module.exports=OSSClient; module.exports = OSSClient;
// var oss=new OSSClient(); // var oss=new OSSClient();
// var key="netsharp_QSzjD4HdKdTmRR6b5486pEA3AbsW8Pr8.jpg" // var key="netsharp_QSzjD4HdKdTmRR6b5486pEA3AbsW8Pr8.jpg"
// oss.upfile(key,"/usr/devws/OMC/igirl-api/r3.jpg").then(function(result){ // oss.upfile(key,"/usr/devws/OMC/igirl-api/r3.jpg").then(function(result){
......
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