feat: 添加多项功能和修复
功能新增: - OSS 存储使用情况显示(文件页面) - OSS 当日流量统计(阿里云云监控API) - 分享页面路由修复(/s/xxx 格式支持) Bug修复: - 修复分享页面资源路径(相对路径改绝对路径) - 修复分享码获取逻辑(支持路径格式) - 修复OSS配额undefined显示问题 - 修复登录流程OSS配置检查 - 修复文件数为null时的显示问题 依赖更新: - 添加 @alicloud/cms20190101 云监控SDK - 添加 @alicloud/openapi-client Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
8
backend/node_modules/@alicloud/tea-xml/ChangeLog.txt
generated
vendored
Normal file
8
backend/node_modules/@alicloud/tea-xml/ChangeLog.txt
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
2024-01-10 Version: v0.0.3
|
||||
- Bump xml2js form 0.4.22 to 0.6.0
|
||||
|
||||
2021-11-23 Version: v0.0.2
|
||||
- Add case null in parseXml
|
||||
|
||||
2020-02-27 Version: v0.0.1
|
||||
- v0.0.1
|
||||
29
backend/node_modules/@alicloud/tea-xml/README.md
generated
vendored
Normal file
29
backend/node_modules/@alicloud/tea-xml/README.md
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
English | [简体中文](README-CN.md)
|
||||

|
||||
|
||||
## Alibaba Cloud Tea XML for TypeScript/Node.js
|
||||
|
||||
## Prerequisite
|
||||
|
||||
Node.js >= 8.x
|
||||
|
||||
## Installation
|
||||
If you use `npm` to manage your dependence, you can use the following command to install it and write into package.json dependences:
|
||||
|
||||
```sh
|
||||
$ npm install @alicloud/tea-xml -S
|
||||
```
|
||||
|
||||
## Issues
|
||||
[Opening an Issue](https://github.com/aliyun/tea-xml/issues/new), Issues not conforming to the guidelines may be closed immediately.
|
||||
|
||||
## Changelog
|
||||
Detailed changes for each release are documented in the [release notes](./ChangeLog.txt).
|
||||
|
||||
## References
|
||||
* [Latest Release](https://github.com/aliyun/tea-xml/tree/master/ts)
|
||||
|
||||
## License
|
||||
[Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
||||
Copyright (c) 2009-present, Alibaba Cloud All rights reserved.
|
||||
12
backend/node_modules/@alicloud/tea-xml/dist/client.d.ts
generated
vendored
Normal file
12
backend/node_modules/@alicloud/tea-xml/dist/client.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
export default class Client {
|
||||
static parseXml<T>(body: string, response: T): {
|
||||
[key: string]: any;
|
||||
};
|
||||
static toXML(body: {
|
||||
[key: string]: any;
|
||||
}): string;
|
||||
static _parseXML(body: string): any;
|
||||
static _xmlCast<T>(obj: any, clazz: T): {
|
||||
[key: string]: any;
|
||||
};
|
||||
}
|
||||
93
backend/node_modules/@alicloud/tea-xml/dist/client.js
generated
vendored
Normal file
93
backend/node_modules/@alicloud/tea-xml/dist/client.js
generated
vendored
Normal file
@@ -0,0 +1,93 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const xml2js_1 = require("xml2js");
|
||||
class Client {
|
||||
static parseXml(body, response) {
|
||||
let ret = this._parseXML(body);
|
||||
if (response !== null && typeof response !== 'undefined') {
|
||||
ret = this._xmlCast(ret, response);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
static toXML(body) {
|
||||
const builder = new xml2js_1.Builder();
|
||||
return builder.buildObject(body);
|
||||
}
|
||||
static _parseXML(body) {
|
||||
let parser = new xml2js_1.Parser({ explicitArray: false });
|
||||
let result = {};
|
||||
parser.parseString(body, function (err, output) {
|
||||
result.err = err;
|
||||
result.output = output;
|
||||
});
|
||||
if (result.err) {
|
||||
throw result.err;
|
||||
}
|
||||
return result.output;
|
||||
}
|
||||
static _xmlCast(obj, clazz) {
|
||||
obj = obj || {};
|
||||
let ret = {};
|
||||
let clz = clazz;
|
||||
let names = clz.names();
|
||||
let types = clz.types();
|
||||
Object.keys(names).forEach((key) => {
|
||||
let originName = names[key];
|
||||
let value = obj[originName];
|
||||
let type = types[key];
|
||||
switch (type) {
|
||||
case 'boolean':
|
||||
if (!value) {
|
||||
ret[originName] = false;
|
||||
return;
|
||||
}
|
||||
ret[originName] = value === 'false' ? false : true;
|
||||
return;
|
||||
case 'number':
|
||||
if (value != 0 && !value) {
|
||||
ret[originName] = NaN;
|
||||
return;
|
||||
}
|
||||
ret[originName] = +value;
|
||||
return;
|
||||
case 'string':
|
||||
if (!value) {
|
||||
ret[originName] = '';
|
||||
return;
|
||||
}
|
||||
ret[originName] = value.toString();
|
||||
return;
|
||||
default:
|
||||
if (type.type === 'array') {
|
||||
if (!value) {
|
||||
ret[originName] = [];
|
||||
return;
|
||||
}
|
||||
if (!Array.isArray(value)) {
|
||||
value = [value];
|
||||
}
|
||||
if (typeof type.itemType === 'function') {
|
||||
ret[originName] = value.map((d) => {
|
||||
return this._xmlCast(d, type.itemType);
|
||||
});
|
||||
}
|
||||
else {
|
||||
ret[originName] = value;
|
||||
}
|
||||
}
|
||||
else if (typeof type === 'function') {
|
||||
if (!value) {
|
||||
value = {};
|
||||
}
|
||||
ret[originName] = this._xmlCast(value, type);
|
||||
}
|
||||
else {
|
||||
ret[originName] = value;
|
||||
}
|
||||
}
|
||||
});
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
exports.default = Client;
|
||||
//# sourceMappingURL=client.js.map
|
||||
1
backend/node_modules/@alicloud/tea-xml/dist/client.js.map
generated
vendored
Normal file
1
backend/node_modules/@alicloud/tea-xml/dist/client.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
||||
38
backend/node_modules/@alicloud/tea-xml/package.json
generated
vendored
Normal file
38
backend/node_modules/@alicloud/tea-xml/package.json
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
"name": "@alicloud/tea-xml",
|
||||
"version": "0.0.3",
|
||||
"description": "",
|
||||
"main": "dist/client.js",
|
||||
"scripts": {
|
||||
"test": "mocha -r ts-node/register test/**/*.spec.ts",
|
||||
"test-cov": "nyc -e .ts -r=html -r=text -r=lcov npm run test",
|
||||
"build": "tsc",
|
||||
"prepublishOnly": "tsc"
|
||||
},
|
||||
"author": "Jackson Tian",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@alicloud/tea-typescript": "^1",
|
||||
"@types/xml2js": "^0.4.5",
|
||||
"xml2js": "^0.6.0"
|
||||
},
|
||||
"files": [
|
||||
"dist",
|
||||
"src"
|
||||
],
|
||||
"nyc": {
|
||||
"extends": "@istanbuljs/nyc-config-typescript",
|
||||
"all": true,
|
||||
"check-coverage": true
|
||||
},
|
||||
"devDependencies": {
|
||||
"@istanbuljs/nyc-config-typescript": "^0.1.3",
|
||||
"@types/mocha": "^5.2.7",
|
||||
"mocha": "^6.2.0",
|
||||
"ts-node": "^8.4.1",
|
||||
"typescript": "^3.6.3",
|
||||
"codecov": "^3.1.0",
|
||||
"rewire": "^4.0.1",
|
||||
"nyc": "^14.1.1"
|
||||
}
|
||||
}
|
||||
100
backend/node_modules/@alicloud/tea-xml/src/client.ts
generated
vendored
Normal file
100
backend/node_modules/@alicloud/tea-xml/src/client.ts
generated
vendored
Normal file
@@ -0,0 +1,100 @@
|
||||
// This file is auto-generated, don't edit it
|
||||
import { Readable } from 'stream';
|
||||
import * as $tea from '@alicloud/tea-typescript';
|
||||
import { Parser, Builder } from 'xml2js';
|
||||
|
||||
|
||||
|
||||
|
||||
export default class Client {
|
||||
|
||||
static parseXml<T>(body: string, response: T): { [key: string]: any } {
|
||||
let ret: { [key: string]: any } = this._parseXML(body);
|
||||
if (response !== null && typeof response !== 'undefined') {
|
||||
ret = this._xmlCast(ret, response);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
static toXML(body: { [key: string]: any }): string {
|
||||
const builder = new Builder();
|
||||
return builder.buildObject(body);
|
||||
}
|
||||
|
||||
static _parseXML(body: string): any {
|
||||
let parser = new Parser({ explicitArray: false });
|
||||
let result: { [key: string]: any } = {};
|
||||
parser.parseString(body, function (err: any, output: any) {
|
||||
result.err = err;
|
||||
result.output = output;
|
||||
});
|
||||
if (result.err) {
|
||||
throw result.err;
|
||||
}
|
||||
|
||||
return result.output;
|
||||
}
|
||||
|
||||
static _xmlCast<T>(obj: any, clazz: T): { [key: string]: any } {
|
||||
obj = obj || {};
|
||||
let ret: { [key: string]: any } = {};
|
||||
let clz = clazz as any;
|
||||
let names: { [key: string]: string } = clz.names();
|
||||
let types: { [key: string]: any } = clz.types();
|
||||
|
||||
Object.keys(names).forEach((key) => {
|
||||
let originName = names[key];
|
||||
let value = obj[originName];
|
||||
let type = types[key];
|
||||
switch (type) {
|
||||
case 'boolean':
|
||||
if (!value) {
|
||||
ret[originName] = false;
|
||||
return;
|
||||
}
|
||||
ret[originName] = value === 'false' ? false : true;
|
||||
return;
|
||||
case 'number':
|
||||
if (value != 0 && !value) {
|
||||
ret[originName] = NaN;
|
||||
return;
|
||||
}
|
||||
ret[originName] = +value;
|
||||
return;
|
||||
case 'string':
|
||||
if (!value) {
|
||||
ret[originName] = '';
|
||||
return;
|
||||
}
|
||||
ret[originName] = value.toString();
|
||||
return;
|
||||
default:
|
||||
if (type.type === 'array') {
|
||||
if (!value) {
|
||||
ret[originName] = [];
|
||||
return;
|
||||
}
|
||||
if (!Array.isArray(value)) {
|
||||
value = [value];
|
||||
}
|
||||
if (typeof type.itemType === 'function') {
|
||||
ret[originName] = value.map((d: any) => {
|
||||
return this._xmlCast(d, type.itemType);
|
||||
});
|
||||
} else {
|
||||
ret[originName] = value;
|
||||
}
|
||||
} else if (typeof type === 'function') {
|
||||
if (!value) {
|
||||
value = {}
|
||||
}
|
||||
ret[originName] = this._xmlCast(value, type);
|
||||
} else {
|
||||
ret[originName] = value;
|
||||
}
|
||||
}
|
||||
})
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user