diff --git a/YOLO工具箱.zip b/YOLO工具箱.zip deleted file mode 100644 index a901bd0..0000000 Binary files a/YOLO工具箱.zip and /dev/null differ diff --git a/package-lock.json b/package-lock.json index f902511..bfbb639 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,10 +8,11 @@ "name": "tk-page", "version": "0.1.0", "dependencies": { + "@element-plus/icons-vue": "^2.3.1", "axios": "^1.8.4", "core-js": "^3.8.3", "echarts": "^5.6.0", - "element-plus": "^2.9.7", + "element-plus": "^2.10.4", "pinia": "^3.0.3", "qwebchannel": "^6.2.0", "vue": "^3.2.13", @@ -6538,9 +6539,9 @@ "license": "ISC" }, "node_modules/element-plus": { - "version": "2.9.7", - "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.9.7.tgz", - "integrity": "sha512-6vjZh5SXBncLhUwJGTVKS5oDljfgGMh6J4zVTeAZK3YdMUN76FgpvHkwwFXocpJpMbii6rDYU3sgie64FyPerQ==", + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.10.4.tgz", + "integrity": "sha512-UD4elWHrCnp1xlPhbXmVcaKFLCRaRAY6WWRwemGfGW3ceIjXm9fSYc9RNH3AiOEA6Ds1p9ZvhCs76CR9J8Vd+A==", "license": "MIT", "dependencies": { "@ctrl/tinycolor": "^3.4.1", diff --git a/package.json b/package.json index 3ab880d..d23b504 100644 --- a/package.json +++ b/package.json @@ -7,10 +7,11 @@ "build": "vue-cli-service build" }, "dependencies": { + "@element-plus/icons-vue": "^2.3.1", "axios": "^1.8.4", "core-js": "^3.8.3", "echarts": "^5.6.0", - "element-plus": "^2.9.7", + "element-plus": "^2.10.4", "pinia": "^3.0.3", "qwebchannel": "^6.2.0", "vue": "^3.2.13", diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index df36fcf..0000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/index.html b/public/index.html index 0d4cbae..8141b84 100644 --- a/public/index.html +++ b/public/index.html @@ -9,7 +9,6 @@ <%= webpackConfig.name %> - diff --git a/src/App.vue b/src/App.vue index 1be4b00..a7ff752 100644 --- a/src/App.vue +++ b/src/App.vue @@ -26,8 +26,6 @@ window.ResizeObserver = class ResizeObserver extends _ResizeObserver { } - \ No newline at end of file + \ No newline at end of file diff --git a/src/assets/filter.png b/src/assets/filter.png deleted file mode 100644 index 2891329..0000000 Binary files a/src/assets/filter.png and /dev/null differ diff --git a/src/assets/list.png b/src/assets/list.png deleted file mode 100644 index 35cdece..0000000 Binary files a/src/assets/list.png and /dev/null differ diff --git a/src/assets/listAction.png b/src/assets/listAction.png deleted file mode 100644 index 7af1eac..0000000 Binary files a/src/assets/listAction.png and /dev/null differ diff --git a/src/assets/logo.png b/src/assets/logo.png index 03978b8..291b159 100644 Binary files a/src/assets/logo.png and b/src/assets/logo.png differ diff --git a/src/assets/logo1.png b/src/assets/logo1.png deleted file mode 100644 index 5f72e2b..0000000 Binary files a/src/assets/logo1.png and /dev/null differ diff --git a/src/assets/logoBg.png b/src/assets/logoBg.png deleted file mode 100644 index 07b654e..0000000 Binary files a/src/assets/logoBg.png and /dev/null differ diff --git a/src/assets/logoBg1.png b/src/assets/logoBg1.png deleted file mode 100644 index 8b3cce4..0000000 Binary files a/src/assets/logoBg1.png and /dev/null differ diff --git a/src/assets/logotext.png b/src/assets/logotext.png deleted file mode 100644 index 31128fa..0000000 Binary files a/src/assets/logotext.png and /dev/null differ diff --git a/src/assets/logotext1.png b/src/assets/logotext1.png deleted file mode 100644 index eafd6cd..0000000 Binary files a/src/assets/logotext1.png and /dev/null differ diff --git a/src/assets/logotext12.png b/src/assets/logotext12.png deleted file mode 100644 index 1f701b1..0000000 Binary files a/src/assets/logotext12.png and /dev/null differ diff --git a/src/assets/navAction.png b/src/assets/navAction.png deleted file mode 100644 index 368ad6b..0000000 Binary files a/src/assets/navAction.png and /dev/null differ diff --git a/src/assets/password.png b/src/assets/password.png deleted file mode 100644 index 25ba67d..0000000 Binary files a/src/assets/password.png and /dev/null differ diff --git a/src/assets/push.png b/src/assets/push.png new file mode 100644 index 0000000..a87c133 Binary files /dev/null and b/src/assets/push.png differ diff --git a/src/assets/username.png b/src/assets/username.png deleted file mode 100644 index cdab952..0000000 Binary files a/src/assets/username.png and /dev/null differ diff --git a/src/assets/work.png b/src/assets/work.png deleted file mode 100644 index 2136c3e..0000000 Binary files a/src/assets/work.png and /dev/null differ diff --git a/src/assets/workAction.png b/src/assets/workAction.png deleted file mode 100644 index a510944..0000000 Binary files a/src/assets/workAction.png and /dev/null differ diff --git a/src/assets/worklogo.png b/src/assets/worklogo.png deleted file mode 100644 index 4536c9a..0000000 Binary files a/src/assets/worklogo.png and /dev/null differ diff --git a/src/components/Appaside.vue b/src/components/Appaside.vue new file mode 100644 index 0000000..460616d --- /dev/null +++ b/src/components/Appaside.vue @@ -0,0 +1,173 @@ + + + + diff --git a/src/components/EChartsComponent.vue b/src/components/EChartsComponent.vue deleted file mode 100644 index 3e6ae01..0000000 --- a/src/components/EChartsComponent.vue +++ /dev/null @@ -1,160 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue deleted file mode 100644 index fa3d52b..0000000 --- a/src/components/Sidebar.vue +++ /dev/null @@ -1,142 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/mineSubComponent/AnchorLibrary.vue b/src/components/mineSubComponent/AnchorLibrary.vue new file mode 100644 index 0000000..7430f05 --- /dev/null +++ b/src/components/mineSubComponent/AnchorLibrary.vue @@ -0,0 +1,298 @@ + + + + + diff --git a/src/components/mineSubComponent/PKRecord.vue b/src/components/mineSubComponent/PKRecord.vue new file mode 100644 index 0000000..01f006b --- /dev/null +++ b/src/components/mineSubComponent/PKRecord.vue @@ -0,0 +1,31 @@ + + + + + \ No newline at end of file diff --git a/src/components/mineSubComponent/PKmessage.vue b/src/components/mineSubComponent/PKmessage.vue new file mode 100644 index 0000000..1b8593f --- /dev/null +++ b/src/components/mineSubComponent/PKmessage.vue @@ -0,0 +1,31 @@ + + + + + \ No newline at end of file diff --git a/src/components/mineSubComponent/PointsList.vue b/src/components/mineSubComponent/PointsList.vue new file mode 100644 index 0000000..906f855 --- /dev/null +++ b/src/components/mineSubComponent/PointsList.vue @@ -0,0 +1,31 @@ + + + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js index 105993b..672999b 100644 --- a/src/main.js +++ b/src/main.js @@ -6,12 +6,15 @@ import { createPinia } from 'pinia'; import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import zhCn from 'element-plus/dist/locale/zh-cn.mjs'; // 引入中文语言包 +import * as ElementPlusIconsVue from '@element-plus/icons-vue' const app = createApp(App); app.use(ElementPlus, { locale: zhCn, // 配置中文 }); - +for (const [key, component] of Object.entries(ElementPlusIconsVue)) { + app.component(key, component) + } app.use(ElementPlus) // 注册 ElementPlus app.use(createPinia()); // 注册 Pinia app.use(store); // 注册 store diff --git a/src/router/index.js b/src/router/index.js index b039b77..0ec5670 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -11,19 +11,29 @@ const routes = [ { path: '/nav', name: 'nav', - // redirect: '/nav/hostsList', // 默认跳转 - component: () => import(/* webpackChunkName: "hostsList" */ '../views/nav.vue'), + redirect: '/nav/PK', // 默认跳转 + component: () => import('../views/nav.vue'), children: [ { - path: 'hostsList', - name: 'hostsList', - component: () => import(/* webpackChunkName: "hostsList" */ '../views/hosts/hostsList.vue') + path: 'PK', + name: 'pk', + component: () => import('../views/hosts/pk.vue') + }, + { + path: 'Forum', + name: 'Forum', + component: () => import('../views/hosts/Forum.vue') + }, + { + path: 'Message', + name: 'Message', + component: () => import('../views/hosts/Message.vue') + }, + { + path: 'Mine', + name: 'Mine', + component: () => import('../views/hosts/Mine.vue') }, - // { - // path: 'workBenches', - // name: 'workBenches', - // component: () => import(/* webpackChunkName: "hostsList" */ '../views/hosts/workbenches.vue') - // }, ] } ] diff --git a/src/static/css/app.less b/src/static/css/app.less index d606010..b108308 100644 --- a/src/static/css/app.less +++ b/src/static/css/app.less @@ -1,4 +1,12 @@ -@bg-color: #022b4e; // 主色 -@bg-color-light: #022b4eaf; // 浅主色 -@bg-color-light-light: #022b4e1c; // 浅浅主色 -@btn-bg-color: #045dac; // 黄色按钮主色 \ No newline at end of file +@bg-color: #F8F9FA;// 主色 +@font-color: #212529; // 字体色 +@border-color: #E9ECEF; // 边框色 +@bg-Sidebar-color-top:#F8F9FA; // 侧边栏背景色 +@bg-Sidebar-color-bottom: #E9ECEF; // 侧边栏底色 +@Supplementary-text-color: #495057; // 补充文字色 +@Prompt-text-color: #6c757d; // 提示文字色 + + + +@bg-night-color: #1A1A1A; // 夜间模式色 +@font-color-night: #E9ECEF; // 夜间模式字体色 diff --git a/src/utils/countryUtil.js b/src/utils/countryUtil.js index 0ce1e7f..df6a2dc 100644 --- a/src/utils/countryUtil.js +++ b/src/utils/countryUtil.js @@ -255,7 +255,6 @@ export const CountryCode = { ZM: "赞比亚", ZW: "津巴布韦" }; - -export function getCountryName(code) { - return CountryCode[code] || null; -} \ No newline at end of file +export function getCountryNamesArray() { + return Object.entries(CountryCode).map(([code, nickname]) => ({ value: nickname, label: nickname })); +} diff --git a/src/utils/pythonBridge.js b/src/utils/pythonBridge.js deleted file mode 100644 index f31b361..0000000 --- a/src/utils/pythonBridge.js +++ /dev/null @@ -1,198 +0,0 @@ -// pythonBridge.js -import { ref, onMounted } from 'vue'; -import { ElMessage } from 'element-plus'; -const pyBridge = ref(null); -// 初始化 QWebChannel -const initBridge = () => { - if (/localhost/.test(window.location.href)) return - new QWebChannel(qt.webChannelTransport, (channel) => { - pyBridge.value = channel.objects.bridge; - }); -}; -export function usePythonBridge() { - - - - - // // 调用 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 deleteStorageData = (data) => { - return new Promise((resolve, reject) => { - if (pyBridge.value) { - pyBridge.value.deleteAccountInfo(JSON.stringify(data),function (result) { - resolve(result); - }); - }else{ - console.log("pyBridge is null未连接上") - } - }); - }; - - //获取前端储存数据 - const getStorageData = (data) => { - return new Promise((resolve, reject) => { - if (pyBridge.value) { - pyBridge.value.readAccountInfo(JSON.stringify(data),function (result) { - resolve(result); - }); - }else{ - console.log("pyBridge is null未连接上") - } - }); - }; - //设置前端储存数据 - const setStorageData = (data) => { - return new Promise((resolve, reject) => { - if (pyBridge.value) { - pyBridge.value.storageAccountInfo(JSON.stringify(data),function (result) { - resolve(result); - }); - }else{ - console.log("pyBridge is null未连接上") - } - }); - }; - - // 查询获取大哥的数据 - const controlTask = (data) => { - return new Promise((resolve, reject) => { - if (pyBridge.value) { - pyBridge.value.control_task(data,function (result) { - resolve(result); - }); - }else{ - console.log("pyBridge is null未连接上") - } - }); - }; - - //总数有效数 - const getBrotherInfo = () => { - return new Promise((resolve, reject) => { - if (pyBridge.value) { - pyBridge.value.getBrotherInfo(function (result) { - resolve(JSON.parse(result)); - }); - }else{ - console.log("pyBridge is null未连接上") - } - }); - }; - - // 打开tk后台 - const loginTikTok = () => { - if (pyBridge.value) { - pyBridge.value.loginTikTok(function (result) { - }); - }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) => { - console.log("id",id); - if (pyBridge.value) { - pyBridge.value.givePyAnchorId(id, function (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 exportToExcel = (data) => { - if (pyBridge .value) { - pyBridge .value.exportToExcel(JSON.stringify(data)); - } - - }; - const stopScript = () => { - if (pyBridge .value) { - pyBridge .value.stopScript(); - } - - }; - - //获取版本号 - const getVersion = () => { - return new Promise((resolve, reject) => { - if (pyBridge.value) { - pyBridge.value.currentVersion(function (result) { - resolve(result); - }); - } - }); - }; - // 在组件挂载时初始化桥接 - onMounted(initBridge); - - return { - loginTikTok, - exportToExcel, - stopScript, - controlTask, - getBrotherInfo, - getVersion, - givePyAnchorId, - getStorageData, - setStorageData, - deleteStorageData, - }; -} \ No newline at end of file diff --git a/src/utils/storage.js b/src/utils/storage.js index f843818..6533c37 100644 --- a/src/utils/storage.js +++ b/src/utils/storage.js @@ -1,70 +1,13 @@ -import { usePythonBridge} from "@/utils/pythonBridge"; - -const { getStorageData, setStorageData,deleteStorageData} = usePythonBridge(); -import { ElMessage } from 'element-plus'; - -export async function setToken(token) { - const res = await setStorageData({key: 'token',data: token}).then(res => { - }); +//存储localStorage +export function setStorage(key, value) { + window.localStorage.setItem(key, value); } - -export async function getToken() { - const res = await getStorageData({ key: 'token' }); - return JSON.parse(res); +//获取localStorage +export function getStorage(key) { + return window.localStorage.getItem(key); } - -export async function removeToken() { - const res = deleteStorageData({key: 'token'}); -} - -export async function setUser(user) { - const res = await setStorageData({key: 'user',data: user}).then(res => { - }); -} - -export async function getUser() { - const res = await getStorageData({ key: 'user' }); - return JSON.parse(res); -} - -export async function setNumData(numData) { - const res = await setStorageData({key: 'num',data: numData}) -} - -export async function getNumData() { - const res = await getStorageData({ key: 'num' }); - return JSON.parse(res); -} - - -// 导出一个函数,用于设置用户密码 -export async function setUserPass(userdata) { - const res = await setStorageData({key: 'userPass',data:userdata}) -} -// 导出一个函数,用于获取用户密码 -export async function getUserPass() { - const res = await getStorageData({ key: 'userPass' }); - return JSON.parse(res); -} -// 用于设置tk账户密码 -export async function setTkUser(userdata) { - const res = await setStorageData({key: 'tkuser',data: userdata}) -} -// 用于获取tk账户密码 - -export async function getTkUser() { - const res = await getStorageData({ key: 'tkuser' }); - return JSON.parse(res); -} - -// 用于列表筛选条件 -export async function setSerch(data) { - const res = await setStorageData({key: 'Serch',data: data}) -} - -// 用于获取列表筛选条件 -export async function getSerch() { - const res = await getStorageData({ key: 'Serch' }); - return JSON.parse(res); +//清除localStorage +export function clearStorage() { + window.localStorage.clear(); } diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index e767a66..344ea43 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -1,351 +1,30 @@ - - - + \ No newline at end of file diff --git a/src/views/hosts/Forum.vue b/src/views/hosts/Forum.vue new file mode 100644 index 0000000..865f73d --- /dev/null +++ b/src/views/hosts/Forum.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/views/hosts/Message.vue b/src/views/hosts/Message.vue new file mode 100644 index 0000000..94dc202 --- /dev/null +++ b/src/views/hosts/Message.vue @@ -0,0 +1,218 @@ +