component-shipinlv 2.0.17 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActiveAccountMode/hour-enabled.d.ts +9 -0
- package/dist/ActiveAccountMode/hour-enabled.js +42 -0
- package/dist/ActiveAccountMode/hour-enabled.less +24 -0
- package/dist/ActiveAccountMode/index.d.ts +7 -0
- package/dist/ActiveAccountMode/index.js +12 -0
- package/dist/ActiveAccountMode/index.less +0 -0
- package/dist/ActiveAccountMode/setting.d.ts +8 -0
- package/dist/ActiveAccountMode/setting.js +206 -0
- package/dist/ActiveAccountMode/setting.less +39 -0
- package/dist/ActiveAccountMode/task/index.d.ts +36 -0
- package/dist/ActiveAccountMode/task/index.js +811 -0
- package/dist/Auth/index.js +2 -0
- package/dist/AuthClient/qr/h5-we-public-login.js +1 -1
- package/dist/Notice/index.d.ts +4 -0
- package/dist/Notice/index.js +36 -0
- package/dist/VideoPublish/account-manage/home.js +1 -0
- package/dist/VideoPublish/account-manage/list.js +1 -0
- package/dist/VideoPublish/create-task/base/index.js +1 -1
- package/dist/VideoPublish/index.js +11 -1
- package/dist/VideoPublish/index.less +2 -2
- package/dist/VideoPublish/publish-task-plan/tool.js +1 -1
- package/dist/VideoPublish/video-account/create.js +1 -1
- package/dist/VideoPublish/video-account/group.js +1 -1
- package/dist/VideoPublish/video-account/index.js +56 -5
- package/dist/lib/Tool.js +7 -0
- package/dist/lib/allow-mine-type.d.ts +4 -0
- package/dist/lib/allow-mine-type.js +19 -0
- package/dist/lib/file-type.d.ts +2 -0
- package/dist/lib/file-type.js +156 -0
- package/dist/lib/fs.d.ts +14 -0
- package/dist/lib/fs.js +479 -0
- package/dist/lib/getFileExt.d.ts +2 -0
- package/dist/lib/getFileExt.js +6 -0
- package/dist/lib/save-path.d.ts +17 -0
- package/dist/lib/save-path.js +173 -0
- package/dist/lib/save-path.less +21 -0
- package/dist/service/api/ActiveAccountModeSettingController.d.ts +2 -0
- package/dist/service/api/ActiveAccountModeSettingController.js +53 -0
- package/dist/service/api/PublishTaskPlanStatisticController.d.ts +1 -0
- package/dist/service/api/PublishTaskPlanStatisticController.js +28 -0
- package/dist/service/api/VideoPublishController.d.ts +4 -0
- package/dist/service/api/VideoPublishController.js +23 -0
- package/dist/types/AutoMakeTaskSetting.d.ts +18 -0
- package/dist/types/AutoMakeTaskSetting.js +0 -0
- package/dist/types/PublishTaskPlanStatistic.d.ts +15 -0
- package/dist/types/PublishTaskPlanStatistic.js +0 -0
- package/dist/types/VideoPublish.d.ts +1 -0
- package/dist/typings/VideoPublishVideoAccount.d.ts +1 -0
- package/dist/typings.d.ts +1 -0
- package/dist/window.d.ts +5 -0
- package/package.json +1 -1
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import "./hour-enabled.less";
|
3
|
+
interface Props {
|
4
|
+
disabled?: boolean;
|
5
|
+
dayTimeHourList: string[];
|
6
|
+
onDayTimeHourList: (dayTimeHourList: string[]) => void;
|
7
|
+
}
|
8
|
+
declare const VideoPublishCreateTaskHourSelect: React.FC<Props>;
|
9
|
+
export default VideoPublishCreateTaskHourSelect;
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import "./hour-enabled.less";
|
3
|
+
import { Col, Row } from "antd";
|
4
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
6
|
+
var VideoPublishCreateTaskHourSelect = function VideoPublishCreateTaskHourSelect(_ref) {
|
7
|
+
var disabled = _ref.disabled,
|
8
|
+
dayTimeHourList = _ref.dayTimeHourList,
|
9
|
+
_ref$onDayTimeHourLis = _ref.onDayTimeHourList,
|
10
|
+
onDayTimeHourList = _ref$onDayTimeHourLis === void 0 ? function () {} : _ref$onDayTimeHourLis;
|
11
|
+
var onHour = function onHour(hour) {
|
12
|
+
if (disabled) {
|
13
|
+
return;
|
14
|
+
}
|
15
|
+
var index = dayTimeHourList.indexOf(hour);
|
16
|
+
if (index > -1) {
|
17
|
+
dayTimeHourList.splice(index, 1);
|
18
|
+
} else {
|
19
|
+
dayTimeHourList.push(hour);
|
20
|
+
}
|
21
|
+
onDayTimeHourList(dayTimeHourList);
|
22
|
+
};
|
23
|
+
return /*#__PURE__*/_jsx("div", {
|
24
|
+
className: "videoPublishCreatTaskHourSelect",
|
25
|
+
children: /*#__PURE__*/_jsx(Row, {
|
26
|
+
children: Array(24).join(',').split(',').map(function (_, i) {
|
27
|
+
var hour = i <= 9 ? "0".concat(i) : "".concat(i);
|
28
|
+
return /*#__PURE__*/_jsx(Col, {
|
29
|
+
span: 3,
|
30
|
+
children: /*#__PURE__*/_jsxs("div", {
|
31
|
+
className: "itemsHour ".concat(disabled ? 'disabled' : '', " ").concat(dayTimeHourList !== null && dayTimeHourList !== void 0 && dayTimeHourList.includes(hour) ? 'active' : ''),
|
32
|
+
onClick: function onClick() {
|
33
|
+
return onHour(hour);
|
34
|
+
},
|
35
|
+
children: [hour, ":00"]
|
36
|
+
})
|
37
|
+
}, hour);
|
38
|
+
})
|
39
|
+
})
|
40
|
+
});
|
41
|
+
};
|
42
|
+
export default VideoPublishCreateTaskHourSelect;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
.videoPublishCreatTaskHourSelect{
|
2
|
+
max-width: 720px;
|
3
|
+
.itemsHour{
|
4
|
+
background-color: #F2F2F2;
|
5
|
+
padding: 7px 0;
|
6
|
+
line-height: 1em;
|
7
|
+
margin: 0 3px 3px 0;
|
8
|
+
text-align: center;
|
9
|
+
border-radius: 2px;
|
10
|
+
-webkit-user-select: none;
|
11
|
+
-ms-user-select: none;
|
12
|
+
user-select: none;
|
13
|
+
cursor: pointer;
|
14
|
+
transition: all 0.3s ease-in-out;
|
15
|
+
-webkit-transition: all 0.3s ease-in-out;
|
16
|
+
&.active{
|
17
|
+
background-color: #722ED1;
|
18
|
+
color: #FFF;
|
19
|
+
}
|
20
|
+
&.disabled{
|
21
|
+
cursor: not-allowed !important;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import ActiveAccountModeSetting from "./setting";
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
4
|
+
var ActiveAccountMode = function ActiveAccountMode(_ref) {
|
5
|
+
var disabled = _ref.disabled,
|
6
|
+
env = _ref.env;
|
7
|
+
return /*#__PURE__*/_jsx(ActiveAccountModeSetting, {
|
8
|
+
env: env,
|
9
|
+
disabled: disabled
|
10
|
+
});
|
11
|
+
};
|
12
|
+
export default ActiveAccountMode;
|
File without changes
|
@@ -0,0 +1,206 @@
|
|
1
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
3
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
4
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
5
|
+
import React, { useEffect, useState } from 'react';
|
6
|
+
import { Button, ConfigProvider, Divider, Form, InputNumber, Switch } from 'antd';
|
7
|
+
import "./setting.less";
|
8
|
+
import LayoutContent from "../UI/LayoutContent";
|
9
|
+
import { useRequest } from "@umijs/hooks";
|
10
|
+
import * as ActiveAccountModeSettingController from "../service/api/ActiveAccountModeSettingController";
|
11
|
+
import VideoPublishCreateTaskHourSelect from "./hour-enabled";
|
12
|
+
import ActiveAccountModeTask from "./task";
|
13
|
+
import toast from "../lib/toast";
|
14
|
+
|
15
|
+
// 1、每个账户 要发的视频,和文件夹绑定关系;,从本地文件夹 随机 读取视频发布;
|
16
|
+
// 2、每天 发 6个;
|
17
|
+
// 3、发完删除;
|
18
|
+
// 4、8:00 - 20点;
|
19
|
+
// 5、时间平均后,随机 15% 偏移
|
20
|
+
// 6:只发 3天
|
21
|
+
// 7、话题.txt 在视频目录
|
22
|
+
// 8 封号问题
|
23
|
+
// 9 循环一遍,只生成一天,保证每一个账号 均衡
|
24
|
+
// 10、 视频被发布之后,最大任务天数 + 2, 还没清理,强行删除
|
25
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
26
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
27
|
+
var ActiveAccountModeSetting = function ActiveAccountModeSetting(_ref) {
|
28
|
+
var disabled = _ref.disabled,
|
29
|
+
env = _ref.env;
|
30
|
+
var _Form$useForm = Form.useForm(),
|
31
|
+
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
32
|
+
form = _Form$useForm2[0];
|
33
|
+
var _useState = useState({
|
34
|
+
dayTimeHourList: [],
|
35
|
+
// [ '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20' ],
|
36
|
+
dayPublishMaxAmount: 6,
|
37
|
+
timeAreaRandOffsetPercent: 15,
|
38
|
+
// videoRootFolder: '',
|
39
|
+
publishMaxDay: 2,
|
40
|
+
enabled: true,
|
41
|
+
isPublishFinishDelVideo: true
|
42
|
+
// ...Tool.store.get('publishMake-setting'),
|
43
|
+
}),
|
44
|
+
_useState2 = _slicedToArray(_useState, 2),
|
45
|
+
formData = _useState2[0],
|
46
|
+
setFormData = _useState2[1];
|
47
|
+
var _useState3 = useState(formData.enabled),
|
48
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
49
|
+
enabled = _useState4[0],
|
50
|
+
setEnabled = _useState4[1];
|
51
|
+
var _useRequest = useRequest(function () {
|
52
|
+
return ActiveAccountModeSettingController.detail({}, {
|
53
|
+
env: env
|
54
|
+
});
|
55
|
+
}, {
|
56
|
+
onSuccess: function onSuccess(result) {
|
57
|
+
var info = _objectSpread(_objectSpread({}, formData), result);
|
58
|
+
setFormData(_objectSpread({}, info));
|
59
|
+
form.setFieldsValue(info);
|
60
|
+
}
|
61
|
+
}),
|
62
|
+
runSetting = _useRequest.run,
|
63
|
+
loadingSetting = _useRequest.loading,
|
64
|
+
errorSetting = _useRequest.error;
|
65
|
+
var _useRequest2 = useRequest(function (data) {
|
66
|
+
return ActiveAccountModeSettingController.create(data, {
|
67
|
+
env: env
|
68
|
+
});
|
69
|
+
}, {
|
70
|
+
manual: true,
|
71
|
+
onSuccess: function onSuccess(result) {
|
72
|
+
toast('已保存');
|
73
|
+
}
|
74
|
+
}),
|
75
|
+
runSettingCreate = _useRequest2.run,
|
76
|
+
loadingSettingCreate = _useRequest2.loading;
|
77
|
+
var onFinish = /*#__PURE__*/function () {
|
78
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(data) {
|
79
|
+
var saveData;
|
80
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
81
|
+
while (1) switch (_context.prev = _context.next) {
|
82
|
+
case 0:
|
83
|
+
saveData = _objectSpread(_objectSpread({}, formData), data);
|
84
|
+
console.log('onFinish values 1:', saveData, data);
|
85
|
+
saveData.dayTimeHourList.sort(function (a, b) {
|
86
|
+
return parseInt(a) - parseInt(b);
|
87
|
+
});
|
88
|
+
runSettingCreate(_objectSpread({}, saveData));
|
89
|
+
case 4:
|
90
|
+
case "end":
|
91
|
+
return _context.stop();
|
92
|
+
}
|
93
|
+
}, _callee);
|
94
|
+
}));
|
95
|
+
return function onFinish(_x) {
|
96
|
+
return _ref2.apply(this, arguments);
|
97
|
+
};
|
98
|
+
}();
|
99
|
+
useEffect(function () {
|
100
|
+
var task = new ActiveAccountModeTask(env);
|
101
|
+
return function () {
|
102
|
+
task.destroy();
|
103
|
+
};
|
104
|
+
}, []);
|
105
|
+
return /*#__PURE__*/_jsx(LayoutContent, {
|
106
|
+
title: "\u517B\u53F7\u6A21\u5F0F",
|
107
|
+
subtitle: "",
|
108
|
+
error: errorSetting,
|
109
|
+
loading: loadingSetting,
|
110
|
+
onReload: runSetting,
|
111
|
+
className: "publishTaskMakeSetting",
|
112
|
+
children: /*#__PURE__*/_jsxs(Form, {
|
113
|
+
form: form,
|
114
|
+
labelCol: {
|
115
|
+
span: 4
|
116
|
+
},
|
117
|
+
disabled: loadingSettingCreate,
|
118
|
+
autoComplete: "off",
|
119
|
+
initialValues: _objectSpread({}, formData),
|
120
|
+
onFinish: onFinish,
|
121
|
+
children: [/*#__PURE__*/_jsx(Form.Item, {
|
122
|
+
label: "\u542F\u7528",
|
123
|
+
name: "enabled",
|
124
|
+
children: /*#__PURE__*/_jsx(Switch, {
|
125
|
+
checkedChildren: "\u5F00\u542F\u517B\u53F7\u6A21\u5F0F",
|
126
|
+
unCheckedChildren: "\u7981\u7528\u517B\u53F7\u6A21\u5F0F",
|
127
|
+
onChange: function onChange(e) {
|
128
|
+
return setEnabled(e);
|
129
|
+
}
|
130
|
+
})
|
131
|
+
}), /*#__PURE__*/_jsx(Form.Item, {
|
132
|
+
label: "\u6BCF\u5929\u53D1\u5E03\u65F6\u95F4\u6BB5"
|
133
|
+
// name="dayTimeHourArea"
|
134
|
+
,
|
135
|
+
children: /*#__PURE__*/_jsx(VideoPublishCreateTaskHourSelect, {
|
136
|
+
dayTimeHourList: formData.dayTimeHourList || [],
|
137
|
+
onDayTimeHourList: function onDayTimeHourList(dayTimeHourList) {
|
138
|
+
formData.dayTimeHourList = dayTimeHourList;
|
139
|
+
setFormData(_objectSpread({}, formData));
|
140
|
+
}
|
141
|
+
})
|
142
|
+
}), /*#__PURE__*/_jsx(Form.Item, {
|
143
|
+
label: "\u65F6\u95F4\u968F\u673A\u504F\u79FB",
|
144
|
+
name: "timeAreaRandOffsetPercent",
|
145
|
+
children: /*#__PURE__*/_jsx(InputNumber, {
|
146
|
+
precision: 0,
|
147
|
+
min: 1,
|
148
|
+
max: 30,
|
149
|
+
addonBefore: "+/-",
|
150
|
+
addonAfter: "%",
|
151
|
+
disabled: !enabled
|
152
|
+
})
|
153
|
+
}), /*#__PURE__*/_jsx(Form.Item, {
|
154
|
+
label: "\u89C6\u9891\u9650\u989D",
|
155
|
+
name: "dayPublishMaxAmount",
|
156
|
+
children: /*#__PURE__*/_jsx(InputNumber, {
|
157
|
+
precision: 0,
|
158
|
+
min: 1,
|
159
|
+
max: 100,
|
160
|
+
disabled: !enabled,
|
161
|
+
addonBefore: "\u6BCF\u5929\u6700\u591A",
|
162
|
+
addonAfter: "\u4E2A"
|
163
|
+
})
|
164
|
+
}), /*#__PURE__*/_jsx(Form.Item, {
|
165
|
+
label: "\u53D1\u5E03\u9650\u5236",
|
166
|
+
name: "publishMaxDay",
|
167
|
+
children: /*#__PURE__*/_jsx(InputNumber, {
|
168
|
+
precision: 0,
|
169
|
+
min: 1,
|
170
|
+
max: 14,
|
171
|
+
addonBefore: "\u6700\u591A\u751F\u6210",
|
172
|
+
addonAfter: "\u5929\u7684\u4EFB\u52A1",
|
173
|
+
disabled: !enabled
|
174
|
+
})
|
175
|
+
}), /*#__PURE__*/_jsx(Form.Item, {
|
176
|
+
label: "\u53D1\u5E03\u5B8C\u6210\u540E",
|
177
|
+
name: "isPublishFinishDelVideo",
|
178
|
+
children: /*#__PURE__*/_jsx(ConfigProvider, {
|
179
|
+
theme: {
|
180
|
+
token: {
|
181
|
+
colorPrimary: '#F60',
|
182
|
+
colorTextQuaternary: '#1677ff'
|
183
|
+
}
|
184
|
+
},
|
185
|
+
children: /*#__PURE__*/_jsx(Switch, {
|
186
|
+
disabled: true
|
187
|
+
// unCheckedChildren="保留视频并改名"
|
188
|
+
,
|
189
|
+
unCheckedChildren: "\u5220\u9664\u89C6\u9891\u4E0D\u4FDD\u7559",
|
190
|
+
checkedChildren: "\u5220\u9664\u89C6\u9891\u4E0D\u4FDD\u7559"
|
191
|
+
})
|
192
|
+
})
|
193
|
+
}), /*#__PURE__*/_jsx(Divider, {}), /*#__PURE__*/_jsx(Form.Item, {
|
194
|
+
wrapperCol: {
|
195
|
+
offset: 4
|
196
|
+
},
|
197
|
+
children: /*#__PURE__*/_jsx(Button, {
|
198
|
+
type: "primary",
|
199
|
+
htmlType: "submit",
|
200
|
+
children: "\u4FDD\u5B58"
|
201
|
+
})
|
202
|
+
})]
|
203
|
+
})
|
204
|
+
});
|
205
|
+
};
|
206
|
+
export default ActiveAccountModeSetting;
|
@@ -0,0 +1,39 @@
|
|
1
|
+
.publishTaskMakeSetting{
|
2
|
+
.language{
|
3
|
+
width: 300px;
|
4
|
+
}
|
5
|
+
.select{
|
6
|
+
small{
|
7
|
+
color: #999;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
.modelItem{
|
11
|
+
padding: 4px 0 8px 0;
|
12
|
+
display: flex;
|
13
|
+
flex-direction: row;
|
14
|
+
small{
|
15
|
+
color: #999;
|
16
|
+
padding-right: 10px;
|
17
|
+
}
|
18
|
+
}
|
19
|
+
.fileSize{
|
20
|
+
color: #666;
|
21
|
+
font-size: smaller;
|
22
|
+
background-color: #E6E6E6;
|
23
|
+
margin: 0 12px 0 6px;
|
24
|
+
padding: 3px 6px;
|
25
|
+
border-radius: 3px;
|
26
|
+
:global{
|
27
|
+
.file-size-unit{
|
28
|
+
font-size: smaller;
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
}
|
34
|
+
|
35
|
+
.select{
|
36
|
+
small{
|
37
|
+
color: #999;
|
38
|
+
}
|
39
|
+
}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
/// <reference types="node" />
|
2
|
+
declare class ActiveAccountModeTask {
|
3
|
+
timer: NodeJS.Timeout;
|
4
|
+
loopSecond: number;
|
5
|
+
modeSetting: ActiveAccountModeSetting.Detail;
|
6
|
+
env: Global.Env | undefined;
|
7
|
+
accountList: VideoPublishVideoAccount.List[];
|
8
|
+
planDict: {
|
9
|
+
[id: number]: PublishTaskPlanStatistic.List[];
|
10
|
+
};
|
11
|
+
constructor(env?: Global.Env);
|
12
|
+
destroy(): void;
|
13
|
+
loop(): Promise<void>;
|
14
|
+
makePublishTask(videoAccountId: number, needTaskCount: number, dayIndex: number): Promise<unknown>;
|
15
|
+
postTask(videoAccountId: number, videoList: string[], topicList: string[], dayIndex: number): Promise<unknown>;
|
16
|
+
getSetting(): Promise<ActiveAccountModeSetting.Detail>;
|
17
|
+
getTopicList(dir: string): Promise<string[]>;
|
18
|
+
getAccountList(): Promise<VideoPublishVideoAccount.ListResult>;
|
19
|
+
getTaskPlanStatisticList(startTime: number, endTime: number): Promise<PublishTaskPlanStatistic.List[]>;
|
20
|
+
getaArrayRandList(list: string[], count: number): string[];
|
21
|
+
removeFiveUniqueItems(arr: string[], count: number): string[];
|
22
|
+
getFileList(videoAccountId: number, needTaskCount: number, videoFromFolder: string): Promise<{
|
23
|
+
videoList: string[];
|
24
|
+
topicList: string[];
|
25
|
+
}>;
|
26
|
+
getCommandByPath(filePath: string): {
|
27
|
+
command: string;
|
28
|
+
fileTime: number;
|
29
|
+
};
|
30
|
+
getLocalVideoList(videoFromFolder: string): string[];
|
31
|
+
getFileName(filePath: string): string;
|
32
|
+
videoRename(videoPath: string): Promise<string>;
|
33
|
+
fileTimeTooLongNeedDel(filePath: string): void;
|
34
|
+
checkDelFile(accountId: number, videoFromFolder: string): Promise<void>;
|
35
|
+
}
|
36
|
+
export default ActiveAccountModeTask;
|