fix: 修复设备ID类型错误并优化选项处理
- 将设备ID从string类型改为number类型以匹配后端接口 - 为packageOptions添加默认空数组防止undefined错误 - 优化选项获取逻辑,正确处理API返回的数据结构 - 修复自动点赞任务创建时的friendsGroups校验条件
This commit is contained in:
26
Cunkebao/dist/.vite/manifest.json
vendored
26
Cunkebao/dist/.vite/manifest.json
vendored
@@ -1,18 +1,14 @@
|
||||
{
|
||||
"_charts-DRkEUjsu.js": {
|
||||
"file": "assets/charts-DRkEUjsu.js",
|
||||
"_charts-BKZw5YGd.js": {
|
||||
"file": "assets/charts-BKZw5YGd.js",
|
||||
"name": "charts",
|
||||
"imports": [
|
||||
"_ui-ltFujOOi.js",
|
||||
"_ui-CQE-Ac3N.js",
|
||||
"_vendor-2vc8h_ct.js"
|
||||
]
|
||||
},
|
||||
"_ui-D0C0OGrH.css": {
|
||||
"file": "assets/ui-D0C0OGrH.css",
|
||||
"src": "_ui-D0C0OGrH.css"
|
||||
},
|
||||
"_ui-ltFujOOi.js": {
|
||||
"file": "assets/ui-ltFujOOi.js",
|
||||
"_ui-CQE-Ac3N.js": {
|
||||
"file": "assets/ui-CQE-Ac3N.js",
|
||||
"name": "ui",
|
||||
"imports": [
|
||||
"_vendor-2vc8h_ct.js"
|
||||
@@ -21,6 +17,10 @@
|
||||
"assets/ui-D0C0OGrH.css"
|
||||
]
|
||||
},
|
||||
"_ui-D0C0OGrH.css": {
|
||||
"file": "assets/ui-D0C0OGrH.css",
|
||||
"src": "_ui-D0C0OGrH.css"
|
||||
},
|
||||
"_utils-6WF66_dS.js": {
|
||||
"file": "assets/utils-6WF66_dS.js",
|
||||
"name": "utils",
|
||||
@@ -33,18 +33,18 @@
|
||||
"name": "vendor"
|
||||
},
|
||||
"index.html": {
|
||||
"file": "assets/index-C1eWqLbB.js",
|
||||
"file": "assets/index-Do1bKVHK.js",
|
||||
"name": "index",
|
||||
"src": "index.html",
|
||||
"isEntry": true,
|
||||
"imports": [
|
||||
"_vendor-2vc8h_ct.js",
|
||||
"_ui-ltFujOOi.js",
|
||||
"_ui-CQE-Ac3N.js",
|
||||
"_utils-6WF66_dS.js",
|
||||
"_charts-DRkEUjsu.js"
|
||||
"_charts-BKZw5YGd.js"
|
||||
],
|
||||
"css": [
|
||||
"assets/index-DqyE1UEk.css"
|
||||
"assets/index-ZCB0Bf2x.css"
|
||||
]
|
||||
}
|
||||
}
|
||||
8
Cunkebao/dist/index.html
vendored
8
Cunkebao/dist/index.html
vendored
@@ -11,13 +11,13 @@
|
||||
</style>
|
||||
<!-- 引入 uni-app web-view SDK(必须) -->
|
||||
<script type="text/javascript" src="/websdk.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-C1eWqLbB.js"></script>
|
||||
<script type="module" crossorigin src="/assets/index-Do1bKVHK.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/assets/vendor-2vc8h_ct.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/ui-ltFujOOi.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/ui-CQE-Ac3N.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/utils-6WF66_dS.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/charts-DRkEUjsu.js">
|
||||
<link rel="modulepreload" crossorigin href="/assets/charts-BKZw5YGd.js">
|
||||
<link rel="stylesheet" crossorigin href="/assets/ui-D0C0OGrH.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-DqyE1UEk.css">
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-ZCB0Bf2x.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
@@ -10,7 +10,7 @@ export interface FriendSelectionItem {
|
||||
export interface FriendSelectionProps {
|
||||
selectedOptions?: FriendSelectionItem[];
|
||||
onSelect: (friends: FriendSelectionItem[]) => void;
|
||||
deviceIds?: string[];
|
||||
deviceIds?: number[];
|
||||
enableDeviceFilter?: boolean;
|
||||
placeholder?: string;
|
||||
className?: string;
|
||||
|
||||
@@ -12,7 +12,7 @@ interface SelectionPopupProps {
|
||||
onVisibleChange: (visible: boolean) => void;
|
||||
selectedOptions: FriendSelectionItem[];
|
||||
onSelect: (friends: FriendSelectionItem[]) => void;
|
||||
deviceIds?: string[];
|
||||
deviceIds?: number[];
|
||||
enableDeviceFilter?: boolean;
|
||||
readonly?: boolean;
|
||||
onConfirm?: (
|
||||
|
||||
@@ -15,7 +15,7 @@ interface BatchAddModalProps {
|
||||
const BatchAddModal: React.FC<BatchAddModalProps> = ({
|
||||
visible,
|
||||
onClose,
|
||||
packageOptions,
|
||||
packageOptions = [],
|
||||
batchTarget,
|
||||
setBatchTarget,
|
||||
selectedCount,
|
||||
|
||||
@@ -9,10 +9,10 @@ export function fetchTrafficPoolList(params: {
|
||||
return request("/v1/traffic/pool", params, "GET");
|
||||
}
|
||||
|
||||
export async function fetchScenarioOptions(): Promise<any[]> {
|
||||
export async function fetchScenarioOptions() {
|
||||
return request("/v1/plan/scenes", {}, "GET");
|
||||
}
|
||||
|
||||
export async function fetchPackageOptions(): Promise<any[]> {
|
||||
export async function fetchPackageOptions() {
|
||||
return request("/v1/traffic/pool/getPackage", {}, "GET");
|
||||
}
|
||||
|
||||
@@ -78,8 +78,14 @@ export function useTrafficPoolListLogic() {
|
||||
|
||||
// 获取筛选项
|
||||
useEffect(() => {
|
||||
fetchPackageOptions().then(setPackageOptions);
|
||||
fetchScenarioOptions().then(setScenarioOptions);
|
||||
fetchPackageOptions().then(res => {
|
||||
console.log("packageOptions", res);
|
||||
|
||||
setPackageOptions(res.list || []);
|
||||
});
|
||||
fetchScenarioOptions().then(res => {
|
||||
setScenarioOptions(res.list || []);
|
||||
});
|
||||
}, []);
|
||||
|
||||
// 筛选条件变化时刷新列表
|
||||
|
||||
@@ -173,8 +173,8 @@ const TrafficPoolList: React.FC = () => {
|
||||
status: "offline" as const,
|
||||
})),
|
||||
);
|
||||
setPackageId(filters.packageId);
|
||||
setScenarioId(filters.scenarioId);
|
||||
setPackageId(filters.packageId ? parseInt(filters.packageId) : 0);
|
||||
setScenarioId(filters.scenarioId ? parseInt(filters.scenarioId) : 0);
|
||||
setUserValue(filters.userValue);
|
||||
setUserStatus(filters.userStatus);
|
||||
// 重新获取列表
|
||||
|
||||
@@ -79,9 +79,9 @@ export interface CreateLikeTaskData {
|
||||
startTime: string;
|
||||
endTime: string;
|
||||
contentTypes: ContentType[];
|
||||
deveiceGroups: string[];
|
||||
deveiceGroups: number[];
|
||||
deveiceGroupsOptions: DeviceSelectionItem[];
|
||||
friendsGroups: string[];
|
||||
friendsGroups: number[];
|
||||
friendsGroupsOptions: FriendSelectionItem[];
|
||||
friendMaxLikes: number;
|
||||
friendTags?: string;
|
||||
|
||||
@@ -330,7 +330,12 @@ const NewAutoLike: React.FC = () => {
|
||||
<div className={style.formItem}>
|
||||
<DeviceSelection
|
||||
selectedOptions={formData.deveiceGroupsOptions}
|
||||
onSelect={devices => handleUpdateFormData({ devices })}
|
||||
onSelect={devices =>
|
||||
handleUpdateFormData({
|
||||
deveiceGroups: devices.map(v => v.id),
|
||||
deveiceGroupsOptions: devices,
|
||||
})
|
||||
}
|
||||
showInput={true}
|
||||
showSelectedList={true}
|
||||
/>
|
||||
@@ -363,7 +368,7 @@ const NewAutoLike: React.FC = () => {
|
||||
selectedOptions={formData.friendsGroupsOptions || []}
|
||||
onSelect={friends =>
|
||||
handleUpdateFormData({
|
||||
friendsGroups: friends.map(f => String(f.id)),
|
||||
friendsGroups: friends.map(f => f.id),
|
||||
friendsGroupsOptions: friends,
|
||||
})
|
||||
}
|
||||
@@ -385,7 +390,7 @@ const NewAutoLike: React.FC = () => {
|
||||
size="large"
|
||||
loading={isSubmitting}
|
||||
disabled={
|
||||
!formData.friendsgroups || formData.friendsgroups.length === 0
|
||||
!formData.friendsGroups || formData.friendsGroups.length === 0
|
||||
}
|
||||
>
|
||||
{isEditMode ? "更新任务" : "创建任务"}
|
||||
|
||||
Reference in New Issue
Block a user