上传代码

This commit is contained in:
pengxiaolong
2025-07-01 21:22:43 +08:00
parent 560581f1a4
commit 01e9c26821
7 changed files with 572 additions and 317 deletions

View File

@@ -1,11 +1,12 @@
// pythonBridge.js
import { ref, onMounted } from 'vue';
const bridge = ref(null);
import { ElMessage } from 'element-plus';
const pyBridge = ref(null);
// 初始化 QWebChannel
const initBridge = () => {
if (/localhost/.test(window.location.href)) return
new QWebChannel(qt.webChannelTransport, (channel) => {
bridge.value = channel.objects.bridge;
pyBridge.value = channel.objects.bridge;
});
};
export function usePythonBridge() {
@@ -13,95 +14,123 @@ export function usePythonBridge() {
// 调用 Python 方法
const fetchDataConfig = (data) => {
// // 调用 Python 方法
// const fetchDataConfig = (data) => {
// return new Promise((resolve, reject) => {
// if (bridge.value) {
// bridge.value.fetchDataConfig(data, function (result) {
// resolve(result);
// });
// }
// });
// };
// // 查询获取主播的数据
// const fetchDataCount = () => {
// return new Promise((resolve, reject) => {
// if (bridge.value) {
// bridge.value.fetchDataCount(function (result) {
// resolve(result);
// });
// }
// });
// };
// 查询获取大哥的数据
const controlTask = (data) => {
return new Promise((resolve, reject) => {
if (bridge.value) {
bridge.value.fetchDataConfig(data, function (result) {
if (pyBridge.value) {
pyBridge.value.control_task(data,function (result) {
resolve(result);
});
}else{
console.log("pyBridge is null未连接上")
}
});
};
// 查询获取主播的数据
const fetchDataCount = () => {
//总数有效数
const getBrotherInfo = () => {
return new Promise((resolve, reject) => {
if (bridge.value) {
bridge.value.fetchDataCount(function (result) {
resolve(result);
if (pyBridge.value) {
pyBridge.value.getBrotherInfo(function (result) {
resolve(JSON.parse(result));
// ElMessage.success(result);
});
}else{
console.log("pyBridge is null未连接上")
}
});
};
// 打开tk后台
const loginTikTok = () => {
if (bridge.value) {
bridge.value.loginTikTok(function (result) {
if (pyBridge.value) {
pyBridge.value.loginTikTok(function (result) {
});
}
};
// 登录tk后台
const loginBackStage = (data) => {
if (bridge.value) {
if (data.index == 0) {
bridge.value.loginBackStage(JSON.stringify(data));
} else if (data.index == 1) {
bridge.value.loginBackStageCopy(JSON.stringify(data));
}
}else{
console.log("pyBridge is null未连接上")
}
};
// // 登录tk后台
// const loginBackStage = (data) => {
// if (bridge.value) {
// if (data.index == 0) {
// bridge.value.loginBackStage(JSON.stringify(data));
// } else if (data.index == 1) {
// bridge.value.loginBackStageCopy(JSON.stringify(data));
// }
// }
// };
//跳转到主播页面
const givePyAnchorId = (id) => {
if (bridge.value) {
bridge.value.givePyAnchorId(id, function (result) {
console.log("id",id);
if (pyBridge.value) {
ElMessage.success(id);
pyBridge.value.givePyAnchorId(id, function (result) {
});
}
};
//查询登录状态
const backStageloginStatus = () => {
return new Promise((resolve, reject) => {
if (bridge.value) {
bridge.value.backStageloginStatus(function (result) {
resolve(result);
});
}
});
// //查询登录状态
// const backStageloginStatus = () => {
// return new Promise((resolve, reject) => {
// if (bridge.value) {
// bridge.value.backStageloginStatus(function (result) {
// resolve(result);
// });
// }
// });
};
//查询登录状态
const backStageloginStatusCopy = () => {
return new Promise((resolve, reject) => {
if (bridge.value) {
bridge.value.backStageloginStatusCopy(function (result) {
resolve(result);
});
}
});
// };
// //查询登录状态
// const backStageloginStatusCopy = () => {
// return new Promise((resolve, reject) => {
// if (bridge.value) {
// bridge.value.backStageloginStatusCopy(function (result) {
// resolve(result);
// });
// }
// });
};
// };
//导出表格
const exportToExcel = (data) => {
if (bridge.value) {
bridge.value.exportToExcel(JSON.stringify(data));
if (pyBridge .value) {
pyBridge .value.exportToExcel(JSON.stringify(data));
}
};
const stopScript = () => {
if (bridge.value) {
bridge.value.stopScript();
if (pyBridge .value) {
pyBridge .value.stopScript();
}
};
@@ -109,8 +138,8 @@ export function usePythonBridge() {
//获取版本号
const getVersion = () => {
return new Promise((resolve, reject) => {
if (bridge.value) {
bridge.value.currentVersion(function (result) {
if (pyBridge.value) {
pyBridge.value.currentVersion(function (result) {
resolve(result);
});
}
@@ -120,15 +149,12 @@ export function usePythonBridge() {
onMounted(initBridge);
return {
fetchDataConfig,
fetchDataCount,
loginBackStage,
loginTikTok,
givePyAnchorId,
backStageloginStatus,
backStageloginStatusCopy,
exportToExcel,
stopScript,
getVersion
controlTask,
getBrotherInfo,
getVersion,
givePyAnchorId
};
}