Commit d562b7e8 by Sxy

feat: 兼容阿里 腾讯下载

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