Commit 9dcffe95 by haojie

去除没有用到的变量

parent 0f6f667a
{
"extends": [
"plugin:@typescript-eslint/recommended",
"eslint-config-airbnb-base",
"plugin:vue/vue3-recommended",
"plugin:prettier/recommended"
],
"extends": ["plugin:vue/essential", "eslint:recommended"],
"env": {
"browser": true,
"node": true,
......@@ -15,10 +10,7 @@
"defineProps": "readonly",
"defineEmits": "readonly"
},
"plugins": [
"vue",
"@typescript-eslint"
],
"plugins": ["vue", "@typescript-eslint"],
"parserOptions": {
"parser": "@typescript-eslint/parser",
"sourceType": "module",
......@@ -28,22 +20,25 @@
}
},
"settings": {
"import/extensions": [
".js",
".jsx",
".ts",
".tsx"
]
"import/extensions": [".js", ".jsx", ".ts", ".tsx"]
},
"rules": {
"vue/no-setup-props-destructure": 0,
"vue/no-v-model-argument": 0,
"vue/no-v-for-template-key": 0,
"no-unused-vars": ["warn", { "vars": "all", "args": "all" }],
"vue/no-unused-vars": "warn",
"no-console": "off",
"no-continue": "off",
"no-restricted-syntax": "off",
"no-plusplus": "off",
"no-param-reassign": "off",
"no-shadow": "off",
"no-param-reassign": "off",
"no-shadow": "off",
"guard-for-in": "off",
// 无法到达的代码,例如提前return
"no-unreachable": 1,
// 禁止根目录存在同级元素
"vue/no-multiple-template-root": 0,
"import/extensions": "off",
"import/no-unresolved": "off",
"import/no-extraneous-dependencies": "off",
......@@ -51,19 +46,20 @@
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"vue/first-attribute-linebreak": 0
"vue/first-attribute-linebreak": 0,
"vue/component-name-in-template-casing": 0,
"vue/no-mutating-props": 0
},
"overrides": [
{
"files": ["*.vue"],
"rules": {
"vue/component-name-in-template-casing": [2, "kebab-case"],
"vue/component-name-in-template-casing": 0,
"vue/require-default-prop": 0,
"vue/multi-word-component-names": 0,
"vue/no-reserved-props": 0,
"vue/no-v-html": 0,
"vue/no-v-html": 0
}
}
]
}
\ No newline at end of file
}
......@@ -29,16 +29,21 @@
"devDependencies": {
"@types/js-cookie": "^3.0.3",
"@types/uuid": "^9.0.2",
"@typescript-eslint/eslint-plugin": "^6.2.0",
"@typescript-eslint/parser": "^6.2.0",
"@vitejs/plugin-legacy": "^4.1.0",
"@vitejs/plugin-vue": "^1.3.0",
"@vitejs/plugin-vue-jsx": "^1.1.7",
"axios": "^0.24.0",
"eslint": "^8.45.0",
"eslint-plugin-vue": "^9.15.1",
"less": "^4.1.1",
"rollup-plugin-visualizer": "^5.9.0",
"typescript": "^4.4.3",
"vite": "^4.0.0",
"vite-plugin-cdn-import": "^0.3.5",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-eslint": "^1.8.1",
"vite-plugin-html": "^3.2.0",
"vite-plugin-mock": "^2.9.6",
"vite-svg-loader": "^3.1.0",
......
......@@ -36,13 +36,12 @@
</div>
</div>
</template>
<audio ref="audioRef" :src="CurrentUrl()" @canplay="onCanplay"></audio>
</div>
<audio ref="audioRef" :src="CurrentUrl()" @canplay="onCanplay"></audio>
</template>
<script setup lang="ts">
import { ref, onBeforeMount, onBeforeUnmount, computed, watch, onMounted } from 'vue';
import { ref, onBeforeMount, onBeforeUnmount, computed, watch } from 'vue';
const props = withDefaults(
defineProps<{
url?: string | string[];
......@@ -150,8 +149,6 @@ watch(
},
);
// onMounted(() => {});
// 更新音频
const UpdateAudio = async () => {
// 进入到下一个
......
<template>
<div class="custom-change-name-box">
<template v-if="isEdit">
<template v-if="componentIsEdit">
<CustomInput
v-model="inputValue"
align="left"
......@@ -14,7 +14,7 @@
<template v-else-if="!value">
<span class="empty-tips">未命名草稿</span>
</template>
<template v-else-if="!isEdit"> {{ value }}</template>
<template v-else-if="!componentIsEdit"> {{ value }}</template>
<span @click="onEdit" class="edit-icon">
<EditSvg></EditSvg>
</span>
......@@ -38,19 +38,19 @@ const props = withDefaults(
);
const emit = defineEmits(['change']);
// 是否处于编辑状态
const isEdit = ref(false);
const componentIsEdit = ref(props.isEdit);
// 输入框的内容
const inputValue = ref(props.value);
// 进入编辑模式
const onEdit = () => {
isEdit.value = true;
componentIsEdit.value = true;
};
// 退出编辑模式
const inputBlur = async () => {
isEdit.value = false;
componentIsEdit.value = false;
let status = await props.event(inputValue.value);
if (!status) {
// 恢复默认值
......
......@@ -61,7 +61,6 @@ import PublicPwdSvg from '@/assets/svg/login/publicPwd.svg?component';
import { RulesType } from './Interfase';
import { emailReg } from '@/constants/token';
import { reactive, ref, watch, onMounted } from 'vue';
const input_value = ref<string>(props.modelValue);
const props = withDefaults(
defineProps<{
className?: string;
......@@ -102,6 +101,7 @@ const props = withDefaults(
},
);
const emit = defineEmits(['update:modelValue', 'submitType', 'submitAccount', 'inputChange', 'inputBlur']);
const input_value = ref<string>(props.modelValue);
// element
const customInput = ref<HTMLInputElement>();
// 是否聚焦
......@@ -230,7 +230,7 @@ watch(
//
watch(
() => props.num,
(v) => {
() => {
// 校验
FormValidation();
},
......@@ -245,7 +245,7 @@ onMounted(() => {
watch(
() => props.blurNum,
(v) => {
() => {
if (customInput.value) {
customInput.value.focus();
}
......
......@@ -13,8 +13,8 @@
</TTable>
<div class="custom-pagination" v-if="pagination">
<t-pagination
v-model="pageNum"
v-model:page-size="pageSize"
v-model="cPageNum"
v-model:page-size="cPageSize"
:total="total"
:pageSizeOptions="[]"
@current-change="pageChange"
......@@ -24,11 +24,8 @@
<script lang="ts" setup>
import { Table as TTable, Checkbox as TCheckbox } from 'tdesign-vue-next';
import { onBeforeMount, reactive, ref, watch } from 'vue';
import { ref } from 'vue';
import { Pagination as TPagination } from 'tdesign-vue-next';
import { getLocalData, setLocalData } from '@/utils/tool';
import { EditButtonEvent, language_type } from '@/constants/admin_form';
import { show_message } from '@/utils/tool';
const props = withDefaults(
defineProps<{
......@@ -56,16 +53,15 @@ const props = withDefaults(
);
const emit = defineEmits(['ChangeList', 'ChoseList', 'PageNumChange']);
// const pageNum = ref<number>(props.pageNum);
// const pageSize = ref<number>(props.pageSize);
// const total = ref<number>(props.total);
const cPageNum = ref<number>(props.pageNum);
const cPageSize = ref<number>(props.pageSize);
// 是否选择全部
const is_check_all = ref(false);
// 修改当前页
const ChangeCurrentPage = (value: number) => {
pageNum.value = value;
cPageNum.value = value;
emit('PageNumChange', value);
};
const pageChange = (value: number) => {
......@@ -90,7 +86,7 @@ const CheckAll = () => {
};
// 选择行
const CheckOne = (row: any) => {
const CheckOne = () => {
let check_all_num = 0;
let not_check_num = 0;
// 判断是否全选或全不选
......@@ -114,18 +110,6 @@ const CheckOne = (row: any) => {
SubmitChoseRow(list);
}
};
// 添加表格多选框和状态
const setTableCheckBox = (res: any) => {
if (props.checkbox) {
// 增加一个选中状态
res.list.forEach((item: any, index: number) => {
item.is_check = false;
item.index = index;
});
}
return res;
};
</script>
<style lang="less">
......
......@@ -19,7 +19,7 @@ import LoginDropdown from './LoginDropdown.vue';
import { useRoute, useRouter } from 'vue-router';
import ChangeName from '@/components/changeName.vue';
import { useStore } from 'vuex';
import { computed, onMounted } from 'vue';
import { computed } from 'vue';
import routerConfig from '@/router/tool';
import { getUserCookie } from '@/utils/api/userApi';
const route = useRoute();
......
<template>
<t-popup
<TPopup
overlayClassName="placement-user-info"
placement="bottom-left"
trigger="click"
......@@ -8,13 +8,6 @@
>
<template #content>
<div class="s-header-user-info-dropdown">
<!-- content -->
<!-- <div class="user-info-dropdown-content">
<div @click="backRouter('AssetsOverview')">
<img :src="Imgs.myMoney" alt="" />
<div class="dropdown-content-text"></div>
</div>
</div> -->
<div class="user-info-dropdown-footer" @click="logout">
<img :src="Imgs.logout" alt="" />
<div class="dropdown-footer-text">退出</div>
......@@ -26,7 +19,7 @@
<div class="user-message-dot" v-if="mes_num">{{ mes_num }}</div>
<div v-else></div>
</div>
</t-popup>
</TPopup>
</template>
<script setup lang="ts">
......@@ -34,68 +27,22 @@ import { Popup as TPopup } from 'tdesign-vue-next';
import UserSvg from '@/assets/svg/header/user.svg';
import { computed, onMounted, ref } from 'vue';
import { useStore } from 'vuex';
import { useRoute, useRouter } from 'vue-router';
import STYLE_CONFIG from '@/config/style';
const Imgs = {
logout: new URL('../../assets/svg/user/userdropdown/logout.svg', import.meta.url).href,
};
// 消息数量
const mes_num = ref<number>(0);
const store = useStore();
const route = useRoute();
const router = useRouter();
const userInfo = computed(() => store.getters['user/userInfo']);
// 当前主题
const Tmode = computed(() => store.getters['setting/mode']);
// 当前主题开关
const swicth_checked = ref(Tmode.value === 'dark' ? true : false);
// 用户登录状态
const userToken = computed(() => store.getters['user/token']);
// 当前模式
const mode = computed(() => store.getters['setting/mode']);
const user_popup_visible = ref<boolean>(false);
// 需要展示的内容
const ShowUserInfo = computed(() => {
return function () {
if (userInfo.value.email) {
return userInfo.value.email;
} else if (userInfo.value.phone) {
return userInfo.value.phone;
}
};
});
onMounted(() => {
if (!Object.keys(userInfo.value).length) {
store.dispatch('user/getUserInfo');
}
});
// 跳转路由
const backRouter = (value: string) => {
router.push({
path: value,
name: value,
});
user_popup_visible.value = false;
};
// 切换主题
const swicth_onChange = (value: boolean) => {
let mode = Tmode.value === 'dark' ? 'light' : 'dark';
store.dispatch('setting/changeTheme', {
...STYLE_CONFIG,
mode,
});
};
// 点击不同选项
const gotoMember = (label: string) => {
if (label === 'install') {
return;
}
const resUrl = router.resolve({
path: label,
});
window.open(resUrl.href);
};
// 退出
const logout = () => {
store.dispatch('user/logout');
......
......@@ -53,7 +53,6 @@ import ConfirmDialog from '@/components/ConfirmDialog.vue';
import Button from '@/components/Button.vue';
import Loading from '@/components/loading.vue';
import CardOne from '@/components/cardOne.vue';
import { createTestData } from '@/utils/tool';
import { onMounted, reactive, ref } from 'vue';
import { useRouter } from 'vue-router';
import routerConfig from '@/router/tool';
......
......@@ -27,8 +27,7 @@ import CustomTabs from '@/components/CustomTabs';
import CustomTabPanel from '@/components/CustomTabPanel';
import Customizable from '@/components/Customizable';
import PersonSvg from '@/assets/svg/custom/person.svg';
import UploadSuccessIcon from '@/assets/svg/upload/video.svg';
import { onMounted, ref } from 'vue';
import { ref } from 'vue';
import { customizedImageSubmission } from '@/utils/api/userApi';
import { show_message } from '@/utils/tool';
......
......@@ -48,30 +48,18 @@
import ChangeName from '@/components/changeName.vue';
import Audio from '@/components/Audio.vue';
import ConfirmDialog from '@/components/ConfirmDialog.vue';
import Button from '@/components/Button.vue';
import Loading from '@/components/loading.vue';
import CardOne from '@/components/cardOne.vue';
import { createTestData } from '@/utils/tool';
import { onMounted, reactive, ref } from 'vue';
import { useRouter } from 'vue-router';
import routerConfig from '@/router/tool';
import { getTonesList } from '@/service/Common';
import { LIVE_AUDIT_STATUS } from '@/service/Live';
const router = useRouter();
const personList = reactive({
list: [],
});
const confirmDialog = ref(false);
const deleteId = ref();
const loading = ref(false);
const openDialog = (item: any) => {
confirmDialog.value = true;
deleteId.value = item.id;
};
// 音频开始直播
const startPlay = (id: number) => {
// 修改play状态
......@@ -84,9 +72,6 @@ const startPlay = (id: number) => {
});
};
// 修改名称
const nameChange = (id: number | string, name: string) => {};
// 确认删除
const confirm = () => {
//
......@@ -107,16 +92,6 @@ const getList = async () => {
console.log(e);
}
};
const startLive = (item: any) => {
router.push({
path: routerConfig.createLive.path,
name: routerConfig.createLive.name,
query: {
id: item.id,
title: '',
},
});
};
onMounted(() => {
getList();
......
......@@ -27,8 +27,6 @@ import MyDigitalPerson from './components/MyDigitalPerson.vue';
import CustomTabs from '@/components/CustomTabs';
import CustomTabPanel from '@/components/CustomTabPanel';
import Customizable from '@/components/Customizable';
import PersonSvg from '@/assets/svg/custom/audit.svg';
import UploadSuccessIcon from '@/assets/svg/upload/video.svg';
import { ref } from 'vue';
import { customizedPhoneticSubmission } from '@/utils/api/userApi';
import { show_message } from '@/utils/tool';
......
......@@ -142,7 +142,7 @@ import Dialog from '@/components/Dialog.vue';
import Textarea from '@/components/textarea.vue';
import SelectionPopup from '@/components/SelectionPopup.vue';
import { onMounted, reactive, ref, watch } from 'vue';
import { createTestData, show_message } from '@/utils/tool';
import { show_message } from '@/utils/tool';
import { getUploadConfig, getTonesList } from '@/service/Common';
import { createLiveInteraction } from '@/utils/api/userApi';
const props = withDefaults(
......@@ -281,7 +281,7 @@ const clearData = () => {
disabled.value = true;
};
const onCreate = async (params: any) => {
const onCreate = async (params: any, status: any) => {
try {
loading.value = true;
let res: any = await createLiveInteraction(params);
......@@ -303,7 +303,7 @@ const onCreate = async (params: any) => {
};
// 修改
const onEdit = async (params, status) => {
const onEdit = async (params) => {
// 通知父组件修改
let result = await props.editRow(params, props.info.id);
if (result) {
......@@ -394,7 +394,7 @@ const onSave = async (status: boolean) => {
await onCreate(params, status);
} else if (props.type == 'edit') {
//
await onEdit(params, status);
await onEdit(params);
}
};
const getConfig = async () => {
......
......@@ -107,7 +107,7 @@ const rowChange = (row: any) => {
const switchChange = async (value: string | number | boolean, id: string | number) => {
let index = tableList.list.findIndex((item: any) => item.id == id);
let oldStatus = !value;
// let oldStatus = !value;
let params = {};
if (index !== -1) {
let item = tableList.list[index];
......
......@@ -91,7 +91,7 @@ import DeleteSvg from '@/assets/svg/home/delete.svg';
import Popup from '@/components/Popup.vue';
import MessageSvg from '@/assets/svg/interact/message.svg';
import Button from '@/components/Button.vue';
import { createTestData, getElBounding, getWindowClient, show_message } from '@/utils/tool';
import { getElBounding, getWindowClient, show_message } from '@/utils/tool';
import { onMounted, reactive, ref } from 'vue';
import InteractTable from './components/InteractTable.vue';
import Input from '@/components/input/index.vue';
......
......@@ -32,9 +32,7 @@
<script lang="ts" setup>
import Select from '@/components/Select.vue';
import Button from '@/components/Button.vue';
import CardOne from '@/components/cardOne.vue';
import { ref, onMounted, reactive, watch, computed } from 'vue';
import { getElBounding, getWindowClient } from '@/utils/tool';
import { ref, onMounted, watch, computed } from 'vue';
import { useStore } from 'vuex';
import { createLiveKeys } from '@/service/CreateLive';
import { useLiveInfoSubmit } from '@/hooks/useStoreCommit';
......@@ -140,8 +138,6 @@ onMounted(async () => {
}
.value {
margin-top: 6px;
.interact-reset-select {
}
.custom-select-box {
.t-input__wrap {
.t-input {
......
......@@ -46,7 +46,6 @@
</template>
<script lang="ts" setup>
import Grid from '@/components/Grid.vue';
import CardOne from '@/components/cardOne.vue';
import Button from '@/components/Button.vue';
import Dialog from '@/components/Dialog.vue';
......
......@@ -164,7 +164,7 @@ const nameChange = async (id: any, value: string) => {
let obj = myDigtalList.list.find((item: any) => item.id == id);
if (obj) {
obj.name = value;
let res: any = await onUpdateLiveTask(id, obj);
await onUpdateLiveTask(id, obj);
}
};
......@@ -177,7 +177,7 @@ onMounted(() => {
watch(
() => props.reloadNum,
(v) => {
() => {
getList();
},
);
......
......@@ -76,7 +76,6 @@ import DigitalPeopleDraft from './components/digitalPeopleDraft.vue';
import CustomDialog from '@/components/Dialog.vue';
import CustomInput from '@/components/input/index.vue';
import routerConfig from '@/router/tool';
import { show_message } from '@/utils/tool';
import { useRouter } from 'vue-router';
import { getDigitalPeopleList } from '@/service/Common';
import Button from '@/components/Button.vue';
......@@ -131,23 +130,6 @@ const openPage = (item: any) => {
}
};
const createList = () => {
let list = [];
for (let i = 0; i < 20; i++) {
list.push({
id: 1,
img: 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTwRTUox_S_qSFas_3lp-8Z00Las63sh2W6ORvmWgHw&s',
name: '夏波丽丽',
});
}
return choseList(list);
};
// 取五条数据
const choseList = (list: any[]) => {
return list.splice(0, 5);
};
// 数字人列表
const digitalPeopleList = reactive({
list: [],
......
......@@ -36,7 +36,6 @@
<script lang="ts" setup>
import CustomProgress from '@/components/Progress.vue';
import CustomTextarea from '@/components/textarea.vue';
import CustomPlayAudio from '@/components/Audio.vue';
import Button from '@/components/Button.vue';
import LiveSvg from '@/assets/svg/home/live.svg';
import PlayAudioSvg from '@/assets/svg/home/playAudio.svg';
......
......@@ -78,7 +78,7 @@ import Loading from '@/components/loading.vue';
import Button from '@/components/Button.vue';
import Textarea from '@/components/textarea.vue';
import SelectionPopup from '@/components/SelectionPopup.vue';
import { createTestData, show_message } from '@/utils/tool';
import { show_message } from '@/utils/tool';
import { onMounted, reactive, ref, watch } from 'vue';
import { getTonesList } from '@/service/Common';
import { liveInteractionReply } from '@/utils/api/userApi';
......
......@@ -10,15 +10,13 @@
</template>
<script lang="ts" setup>
import CustomPlayAudio from '@/components/Audio.vue';
import { onBeforeUnmount, onMounted, reactive, ref } from 'vue';
import request from '@/utils/otherRequest';
import Video from './components/video.vue';
import Audio from './components/audio.vue';
import Human from './components/human.vue';
import { getLiveDetail } from '@/utils/api/userApi';
import { useRoute, useRouter } from 'vue-router';
import { show_message, isDev } from '@/utils/tool';
import { show_message } from '@/utils/tool';
import { callPyjsInWindow, initPyqtToWindow, injectWindow } from '@/utils/pyqt';
import { getliveTaskReply, getLiveTask, getUserCookie } from '@/utils/api/userApi';
import routerConfig from '@/router/tool';
......@@ -40,8 +38,6 @@ const imgs = {
mp3: new URL('../../assets/img/2.wav', import.meta.url).href,
};
const file = ref();
const createAudio = (url: string) => {
audioFile.value = url;
};
......@@ -63,8 +59,6 @@ let interval = null;
// 定时获取直播互动内容
let intervalLive = null;
let intervalLiveStatus = null;
const startTime = ref();
const isFirst = ref(true);
// 处理后的视频
const realVideo = ref('');
......@@ -123,8 +117,6 @@ const openInterval = () => {
}, 100);
};
let num = 1;
// 获取直播互动内容
const getLive = async () => {
try {
......@@ -158,8 +150,6 @@ const getLive = async () => {
// reply_content
addVideoList.value = addVideoList.value.concat(res.data);
}
let lists = addVideoList.value.filter((item: any) => item.play_status === false);
// show_message(`共${addVideoList.value.length}个互动,剩余${lists.length}个没有播放完毕`);
} catch (e) {
console.log(e);
}
......
import { createRouter, createWebHashHistory, createWebHistory, RouteRecordRaw } from 'vue-router';
import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router';
import { getSiteRouter } from '../config/site';
const routerList = getSiteRouter();
......
/*
* @Author: walker.liu
* @Date: 2022-03-04 11:05:34
* @Copyright(C): 2019-2020 ZP Inc. All rights reserved.
*/
import STYLE_CONFIG from '@/config/style';
import { ColorToken, LIGHT_CHART_COLORS, DARK_CHART_COLORS } from '@/config/color';
......
......@@ -74,7 +74,7 @@ const getters = {
};
const actions = {
async getUserInfo({ commit, state }) {
async getUserInfo() {
try {
// const data: any = await getUserInfo();
// commit('setUserInfo', data.data);
......@@ -85,7 +85,7 @@ const actions = {
}
},
async logout({ commit, state }) {
async logout({ commit }) {
try {
commit('removeToken');
commit('removeUserInfo');
......
......@@ -319,6 +319,5 @@ export const deleteDrafts = (id: any) => {
};
export const testRequest = () => {
const token = store.getters['user/token'];
return request.get('/api/users/accounts', {});
};
......@@ -15,7 +15,7 @@ export function zipImg(file: File) {
ctx.drawImage(img, 0, 0, cvs.width, cvs.height);
// 压缩后新图的 base64
let zipBase64 = cvs.toDataURL('image/jpeg', imgQulity);
let name = file.name.split('.')[0];
// let name = file.name.split('.')[0];
let add = base642File(zipBase64);
resolve(add);
};
......@@ -29,7 +29,7 @@ export function zipImg(file: File) {
export function dataURLtoFile(dataurl: any, filename: any, mime: any) {
return new Promise((resolve) => {
let arr = dataurl.split(';base64,');
let suffix = mime.split('/')[1];
// let suffix = mime.split('/')[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
......
......@@ -9,6 +9,7 @@ import legacy from '@vitejs/plugin-legacy';
import path from 'path';
// import { visualizer } from 'rollup-plugin-visualizer';
// import importToCDN from 'vite-plugin-cdn-import';
import eslintPlugin from 'vite-plugin-eslint';
export default defineConfig(({ command, mode }) => {
// https://m.coinwg.com 测试服务器
......@@ -25,6 +26,9 @@ export default defineConfig(({ command, mode }) => {
plugins: [
createVuePlugin(),
vueJsx(),
eslintPlugin({
include: ['src/**/*.ts', 'src/**/*.vue', 'src/*.ts', 'src/*.vue'],
}),
viteMockServe({
mockPath: 'mock',
localEnabled: true,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment