123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- const COS = require('../lib/cos-wx-sdk-v5');
- const config = require('../config');
- const { cos, requestCallback } = require('../tools');
- const auditDao = {
- '图片同步审核 getImageAuditing': getImageAuditing,
- '图片批量审核 postImagesAuditing': postImagesAuditing,
- '查询图片审核任务结果 getImageAuditingResult': getImageAuditingResult,
- '提交视频审核任务 postVideoAuditing': postVideoAuditing,
- '查询视频审核任务结果 getVideoAuditingResult': getVideoAuditingResult,
- '提交音频审核任务 postAudioAuditing': postAudioAuditing,
- '查询音频审核任务结果 getAudioAuditingResult': getAudioAuditingResult,
- '提交文本审核任务 postTextAuditing': postTextAuditing,
- '提交直播审核任务 postLiveAuditing': postLiveAuditing,
- '查询直播审核任务结果 getLiveAuditingResult': getLiveAuditingResult,
- };
- function getImageAuditing() {
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'GET',
- Key: '1.png',
- Query: {
- 'ci-process': 'sensitive-content-recognition' /** 固定值,必须 */,
- 'biz-type': '' /** 审核类型,非必须 */,
- 'detect-url': '' /** 审核任意公网可访问的图片链接,非必须,与Key二选一传递 */,
- interval: 5 /** 审核 GIF 动图时,每隔interval帧截取一帧,非必须 */,
- 'max-frames': 5 /** 审核 GIF 动图时,最大截帧数,非必须 */,
- 'large-image-detect': '0' /** 是否需要压缩图片后再审核,非必须 */,
- },
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function postImagesAuditing() {
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/image/auditing';
- var body = COS.util.json2xml({
- Request: {
- Input: [
- {
- Object: '1.png',
- },
- {
- Object: '6.png',
- },
- ],
- Conf: {
- BizType: '',
- },
- },
- });
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'POST',
- Url: url,
- Key: '/image/auditing',
- ContentType: 'application/xml',
- Body: body,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function getImageAuditingResult() {
- var jobId = 'si8263213daf3711eca0d1525400d88xxx'; // jobId可以通过图片批量审核返回
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/image/auditing/' + jobId;
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'GET',
- Key: '/image/auditing/' + jobId,
- Url: url,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function postVideoAuditing() {
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/video/auditing';
- var body = COS.util.json2xml({
- Request: {
- Input: {
- Object: '1.mp4',
- },
- Conf: {
- BizType: '',
- Snapshot: {
- Count: 1000, // 视频截帧数量
- },
- DetectContent: 1, // 是否审核视频声音,0-只审核视频不审核声音;1-审核视频+声音
- },
- },
- });
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'POST',
- Url: url,
- Key: '/video/auditing',
- ContentType: 'application/xml',
- Body: body,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function getVideoAuditingResult() {
- var jobId = 'av5bd873d9f39011ecb6c95254009a49da'; // jobId可以通过提交视频审核任务返回
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/video/auditing/' + jobId;
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'GET',
- Key: '/video/auditing/' + jobId,
- Url: url,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function postAudioAuditing() {
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/audio/auditing';
- var body = COS.util.json2xml({
- Request: {
- Input: {
- Object: '1.mp3',
- },
- Conf: {
- BizType: '',
- },
- },
- });
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'POST',
- Url: url,
- Key: '/audio/auditing',
- ContentType: 'application/xml',
- Body: body,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function getAudioAuditingResult() {
- var jobId = 'sa0c28d41daff411ecb23352540078cxxx'; // jobId可以通过提交音频审核任务返回
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/audio/auditing/' + jobId;
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'GET',
- Key: '/audio/auditing/' + jobId,
- Url: url,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function postTextAuditing() {
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/text/auditing';
- var body = COS.util.json2xml({
- Request: {
- Input: {
- Content: COS.util.encodeBase64('hello') /* 需要审核的文本内容 */,
- },
- Conf: {
- BizType: '',
- },
- },
- });
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'POST',
- Url: url,
- Key: '/text/auditing' /** 固定值,必须 */,
- ContentType: 'application/xml' /** 固定值,必须 */,
- Body: body,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function postLiveAuditing() {
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/video/auditing';
- var body = COS.util.json2xml({
- Request: {
- Type: 'live_video',
- Input: {
- Url: 'rtmp://example.com/live/123', // 需要审核的直播流播放地址
- // DataId: '',
- // UserInfo: {},
- },
- Conf: {
- BizType: '',
- // Callback: 'https://callback.com', // 回调地址,非必须
- // CallbackType: 1, // 回调片段类型,非必须
- },
- },
- });
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'POST',
- Url: url,
- Key: '/video/auditing',
- ContentType: 'application/xml',
- Body: body,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- function getLiveAuditingResult() {
- var jobId = 'av2b14a74dbd9011edb05a52540084c0xx'; // jobId可以通过提交直播审核任务返回
- var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com';
- var url = 'https://' + host + '/video/auditing/' + jobId;
- cos.request(
- {
- Bucket: config.Bucket,
- Region: config.Region,
- Method: 'GET',
- Key: '/video/auditing/' + jobId,
- Url: url,
- },
- function (err, data) {
- console.log(err || data);
- }
- );
- }
- module.exports = auditDao;
|