This commit is contained in:
sx1989827 2024-07-08 14:20:48 +08:00
parent a27a280e1f
commit 5484f78fdb
19 changed files with 576 additions and 309 deletions

View File

@ -35,7 +35,7 @@
"@types/node": "^18.15.11",
"@types/uuid": "^9.0.0",
"@vitejs/plugin-vue": "^5.0.4",
"@vue/language-server": "^1.8.22",
"@vue/language-server": "^2.0.21",
"fast-glob": "^3.3.1",
"typescript": "^4.6.4",
"vite": "^5.2.9",

View File

@ -28,7 +28,7 @@
{{$t("controller.app.finder.finder.searchResult")}}:
</template>
<a-row>
<a-input-search size="mini" style="background-color: white;border: 1px lightgray solid" @search="onSearch"></a-input-search>
<a-input-search size="mini" style="background-color: white;border: 1px lightgray solid" @search="onSearch" @press-enter="onSearch"></a-input-search>
</a-row>
</a-row>
<a-row style="width: 100%;height: calc(100% - 50px)">
@ -47,15 +47,15 @@
</template>
<script setup lang="ts">
import FinderFolderTree from "./finderFolderTree.vue";
import {onBeforeMount, onBeforeUnmount, ref, watch} from "vue";
import {ECommon_Model_Finder_Item_Type, ICommon_Model_Finder_Item} from "../../../../../../common/model/finder_item";
import {DCSType} from "../../../../../../common/types";
import {EClient_EVENTBUS_TYPE, eventBus} from "../../../common/event/event";
import {apiFinder} from "../../../common/request/request";
import FinderContent from "./finderContent.vue";
import {EClient_EVENTBUS_TYPE, eventBus} from "../../../common/event/event";
import FinderFolderTree from "./finderFolderTree.vue";
import FinderItemInfo from "./finderItemInfo.vue";
import {ECommon_Model_Finder_Item_Type, ICommon_Model_Finder_Item} from "../../../../../../common/model/finder_item";
import FinderSearchContent from "./finderSearchContent.vue";
import {DCSType} from "../../../../../../common/types";
enum EClient_Finder_Mode {
NORMAL,

View File

@ -1,7 +1,7 @@
<template>
<div style="height: 100%">
<a-row style="width: 100%">
<a-input-search :placeholder="$t('placeholder.imMessageSearch')" v-model="keyword" @search="onSearch" search-button></a-input-search>
<a-input-search :placeholder="$t('placeholder.imMessageSearch')" v-model="keyword" @search="onSearch" @press-enter="onSearch" search-button></a-input-search>
</a-row>
<a-divider></a-divider>
<a-row style="width: 100%;">

View File

@ -15,7 +15,7 @@
<a-row style="height: 30px;width: 100%;">
<a-space>
{{$t("controller.app.meeting.meeting.meetingList")}}:
<a-input-search search-button :placeholder="$t('placeholder.typeMeetingName')" size="mini" @search="onSearch" v-model="keyword"></a-input-search>
<a-input-search search-button :placeholder="$t('placeholder.typeMeetingName')" size="mini" @search="onSearch" v-model="keyword" @press-enter="onSearch"></a-input-search>
</a-space>
</a-row>
<a-row style="height: calc(100% - 30px);width: 100%;border-top: 1px solid lightgray;overflow-y: auto;flex-direction: column">

View File

@ -21,7 +21,7 @@
<a-option :label="$t('util.created')" value="created"></a-option>
<a-option :label="$t('util.joined')" value="joined"></a-option>
</a-select>
<a-input-search style="width: 250px" v-model="keyword" :placeholder="$t('placeholder.typeProjectName')" @search="onSearch"></a-input-search>
<a-input-search style="width: 250px" v-model="keyword" :placeholder="$t('placeholder.typeProjectName')" @search="onSearch" @press-enter="onSearch"></a-input-search>
<a-button type="primary" @click="onAddProject" v-if="checkPermission(storeOrganization.organizationPermission,Permission_Types.Organization.CREATE_PROJECT)">{{$t("util.create")}}</a-button>
</a-space>
</a-row>

View File

@ -1,7 +1,7 @@
<template>
<div style="width: 100%;height: 100%">
<a-row>
<a-input-search size="small" style="width: 200px" :placeholder="$t('placeholder.typeProjectIssueName')" @search="onSearch" v-model="keyword"></a-input-search>
<a-input-search size="small" style="width: 200px" :placeholder="$t('placeholder.typeProjectIssueName')" @search="onSearch" v-model="keyword" @press-enter="onSearch"></a-input-search>
</a-row>
<a-row style="margin-top: 10px">
<a-table style="width: 100%" :pagination="pagination" :row-selection="{

View File

@ -16,7 +16,7 @@
<div class="commonTopR" style="float: right"><a-link @click="onIndex">{{$t("controller.login.goToHomePage")}}</a-link></div>
</div>
<div class="commonHi" style="margin-top: 46px">{{$t("controller.login.welcomeBack")}}</div>
<div class="commonSubTitle" style="margin-top: 13px;margin-bottom: 55px;">{{$t("controller.login.noAccount")}}<a-link @click="onRegister">{{$t("controller.login.signUp")}}</a-link></div>
<div class="commonSubTitle" v-if="$deployMode.value===ECommon_Application_Mode.ONLINE" style="margin-top: 13px;margin-bottom: 55px;">{{$t("controller.login.noAccount")}}<a-link @click="onRegister">{{$t("controller.login.signUp")}}</a-link></div>
<div>
<a-form :model="form" auto-label-width @submit="onSubmit" v-if="!organizationList">
<span class="commonTitle">{{$t('util.username')}}</span>
@ -30,10 +30,10 @@
<a-form-item>
<a-row style="justify-content: center;width: 100%">
<span style="width:100%;text-align:right;"><a-link @click="onReset" style="font-size: 18px;font-family: PingFangSC, PingFang SC;font-weight: 500;color: #2864FF;line-height: 25px;">{{$t("controller.login.forgetPassword")}}</a-link></span>
<span style="width:100%;text-align:right;" v-if="$deployMode.value===ECommon_Application_Mode.ONLINE"><a-link @click="onReset" style="font-size: 18px;font-family: PingFangSC, PingFang SC;font-weight: 500;color: #2864FF;line-height: 25px;">{{$t("controller.login.forgetPassword")}}</a-link></span>
<a-button html-type="submit" type="primary" style="width: 100%; height: 60px;background: #2864FF;font-size: 22px;
font-family: PingFangSC, PingFang SC;font-weight: 500;color: #FFFFFF;line-height: 30px;margin-top: 45px">{{ $t("util.login") }}</a-button>
<div style="text-align: center">
<div style="text-align: center" v-if="$deployMode.value===ECommon_Application_Mode.ONLINE">
<div style="width: 40rem;margin-top: 40px; margin-bottom: 15px;font-size: 18px">{{$t("controller.login.thirdLogin")}}</div>
<a-button type="text" @click="onWechat">
<template #icon>

View File

@ -1,5 +1,5 @@
<template>
<div class="commonBox">
<div class="commonBox" v-if="$deployMode.value===ECommon_Application_Mode.ONLINE">
<a-row style="width: 100%;margin: 0px auto;">
<a-col :span="12">
<!--<div class="commonL" style="width: 100%"></div>-->
@ -58,6 +58,7 @@ import md5 from "blueimp-md5";
import {useI18n} from "vue-i18n";
import loginBg from "@/assert/loginBg.png";
import logo2 from "@/assert/logo2.png";
import {ECommon_Application_Mode} from "../../../../../common/types";
let form=reactive({
username:"",

View File

@ -1,5 +1,5 @@
<template>
<div class="commonBox">
<div class="commonBox" v-if="$deployMode.value===ECommon_Application_Mode.ONLINE && username">
<a-row style="width: 100%;margin: 0px auto;">
<a-col :span="12">
<!--<div class="commonL" style="width: 100%"></div>-->

View File

@ -1,5 +1,5 @@
<template>
<div class="commonBox">
<div class="commonBox" v-if="$deployMode.value===ECommon_Application_Mode.ONLINE">
<a-row style="width: 100%;margin: 0px auto;">
<a-col :span="12">
<!--<div class="commonL" style="width: 100%"></div>-->

View File

@ -1,5 +1,5 @@
<template>
<div class="commonBox">
<div class="commonBox" v-if="$deployMode.value===ECommon_Application_Mode.ONLINE && username">
<a-row style="width: 100%;margin: 0px auto;">
<a-col :span="12">
<!--<div class="commonL" style="width: 100%"></div>-->

View File

@ -84,7 +84,7 @@ export default {
deleteFolder:"你要删除这个文件夹吗?",
deleteItems:"你要删除这些项目吗?",
deleteItem:"你要删除这个项目吗?",
deleteFavorite:"你要删除这个会议吗?",
deleteFavorite:"你要删除这个收藏吗?",
leaveMeeting:"你要离开这个会议吗?",
endMeeting:"你要结束这个会议吗?",
kick:"你要踢出",

View File

@ -1,14 +1,16 @@
"use strict";
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
if (ar || !(i in from)) {
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
ar[i] = from[i];
}
}
return to.concat(ar || Array.prototype.slice.call(from));
};
Object.defineProperty(exports, "__esModule", { value: true });
var ts = __importStar(require("typescript"));
var path = __importStar(require("path"));
var ts = require("typescript");
var path = require("path");
exports.default = (function (program) {
return function (ctx) {
return function (sourceFile) {
@ -33,15 +35,15 @@ var visitNode = function (node, program) {
return node;
}
if (!node.typeArguments) {
return ts.createArrayLiteral([]);
return ts.factory.createArrayLiteralExpression([]);
}
var type = typeChecker.getTypeFromTypeNode(node.typeArguments[0]);
var properties = [];
var symbols = typeChecker.getPropertiesOfType(type);
symbols.forEach(function (symbol) {
properties = properties.concat(getPropertiesOfSymbol(symbol, [], symbolMap));
properties = __spreadArray(__spreadArray([], properties, true), getPropertiesOfSymbol(symbol, [], symbolMap), true);
});
return ts.createArrayLiteral(properties.map(function (property) { return ts.createRegularExpressionLiteral(JSON.stringify(property)); }));
return ts.factory.createArrayLiteralExpression(properties.map(function (property) { return ts.factory.createRegularExpressionLiteral(JSON.stringify(property)); }));
};
var getPropertiesOfSymbol = function (symbol, outerLayerProperties, symbolMap) {
var properties = [];
@ -71,7 +73,7 @@ var getPropertiesOfSymbol = function (symbol, outerLayerProperties, symbolMap) {
};
properties.push(key);
var propertiesOfSymbol = _getPropertiesOfSymbol(symbol, propertyPathElements, symbolMap);
properties = properties.concat(propertiesOfSymbol);
properties = __spreadArray(__spreadArray([], properties, true), propertiesOfSymbol, true);
return properties;
};
var getPropertyType = function (propertySignature) {
@ -97,20 +99,7 @@ var getPropertyType = function (propertySignature) {
case ts.SyntaxKind.KeyOfKeyword:
return 'keyOf';
case ts.SyntaxKind.ArrayType:
if(propertySignature.elementType && propertySignature.elementType.members && propertySignature.elementType.members.length>0)
{
let arr=[]
for(let o of propertySignature.elementType.members)
{
arr.push(o.symbol.escapedName)
}
return "("+arr.join("|")+")[]"
}
else
{
return getPropertyType(propertySignature.elementType) + "[]";
}
return "".concat(getPropertyType(propertySignature.elementType), "[]");
case ts.SyntaxKind.UnionType:
return uniq(propertySignature.types.map(function (type) { return getPropertyType(type); })).join(' | ');
case ts.SyntaxKind.LiteralType:
@ -152,8 +141,7 @@ var _getPropertiesOfSymbol = function (symbol, propertyPathElements, symbolMap)
members = propertyTypeSymbol.members;
}
else {
if(propertyTypeSymbol.exportSymbol)
{
if (propertyTypeSymbol.exportSymbol) {
members = propertyTypeSymbol.exportSymbol.members;
}
}
@ -161,7 +149,7 @@ var _getPropertiesOfSymbol = function (symbol, propertyPathElements, symbolMap)
}
if (members) {
members.forEach(function (member) {
properties = properties.concat(getPropertiesOfSymbol(member, propertyPathElements, symbolMap));
properties = __spreadArray(__spreadArray([], properties, true), getPropertiesOfSymbol(member, propertyPathElements, symbolMap), true);
});
}
return properties;

View File

@ -33,7 +33,7 @@ const visitNode = (node: ts.Node, program: ts.Program): ts.Node => {
return node;
}
if (!node.typeArguments) {
return ts.createArrayLiteral([]);
return ts.factory.createArrayLiteralExpression([]);
}
const type = typeChecker.getTypeFromTypeNode(node.typeArguments[0]);
let properties: InterfaceProperty[] = [];
@ -42,7 +42,7 @@ const visitNode = (node: ts.Node, program: ts.Program): ts.Node => {
properties = [ ...properties, ...getPropertiesOfSymbol(symbol, [], symbolMap) ];
});
return ts.createArrayLiteral(properties.map(property => ts.createRegularExpressionLiteral(JSON.stringify(property))));
return ts.factory.createArrayLiteralExpression(properties.map(property => ts.factory.createRegularExpressionLiteral(JSON.stringify(property))));
};
const getPropertiesOfSymbol = (symbol: any, outerLayerProperties: InterfaceProperty[], symbolMap: Map<string, ts.Symbol>): InterfaceProperty[] => {
@ -175,8 +175,8 @@ const isKeysCallExpression = (node: ts.Node, typeChecker: ts.TypeChecker): node
}
const { declaration } = signature;
return !!declaration
&& !ts.isJSDocSignature(declaration)
&& (path.join(declaration.getSourceFile().fileName) === indexTs)
&& !!declaration.name
&& declaration.name.getText() === 'keys';
&& !ts.isJSDocSignature(declaration)
&& (path.join(declaration.getSourceFile().fileName) === indexTs)
&& !!declaration.name
&& declaration.name.getText() === 'keys';
};

View File

@ -62,7 +62,7 @@ class MeetingController {
let end=endTime || obj.getItem().end_time
if(start>end) {
throw Err.Meeting.endTimeLarger
} else if(start<moment().subtract(1,"hour").toDate().getTime()) {
} else if(<number>start<moment().subtract(1,"hour").toDate().getTime()) {
throw Err.Meeting.startTimeLess
}
}

View File

@ -5,7 +5,7 @@
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"compile": "rm -rf ./dist && ttsc ./gateway/index.ts && mkdir -p ./dist/client && cp -r ../client/dist/* ./dist/client && cp ./teamlinker.config.json ./dist/server && cp ./init.sql ./dist/server && cp ./package.json ./dist/server && cp ./patch/*.sql ./dist/server/patch>/dev/null || : && zip -q -r ./dist/teamlinker.zip ./dist && cp ./dist/teamlinker.zip ../docker"
"compile": "rm -rf ./dist && tspc ./gateway/index.ts && mkdir -p ./dist/client && cp -r ../client/dist/* ./dist/client && cp ./teamlinker.config.json ./dist/server && cp ./init.sql ./dist/server && cp ./package.json ./dist/server && cp ./patch/*.sql ./dist/server/patch>/dev/null || : && zip -q -r ./dist/teamlinker.zip ./dist && cp ./dist/teamlinker.zip ../docker"
},
"pkg": {
"scripts": [],
@ -40,7 +40,7 @@
"koa-static": "^5.0.0",
"koa-static-server": "^1.5.2",
"koa2-formidable": "^1.0.3",
"mediasoup": "3.14.1",
"mediasoup": "3.14.7",
"moment": "^2.29.4",
"mysql2": "^2.3.3",
"node-schedule": "^2.1.0",
@ -69,9 +69,10 @@
"reflect-metadata": "^0.1.13",
"ts-node": "^10.9.1",
"ttypescript": "^1.5.15",
"typescript": "4.6.4",
"typescript": "^5.4.5",
"vue-tsc": "^2.0.13",
"vite-plugin-dts": "^3.9.1",
"vite": "^5.2.9"
"vite": "^5.2.9",
"ts-patch": "^3.2.0"
}
}

View File

@ -10,9 +10,10 @@
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitOverride": true,
"ignoreDeprecations": "5.0",
"baseUrl": "./",
"plugins": [
{ "transform": "../common/transform/transformer.js" }
{ "transform": "../common/transform/transformer" }
]
},
"files": [

View File

@ -17,6 +17,6 @@
"reflect-metadata": "^0.1.13",
"ts-node": "^9.1.1",
"ttypescript": "^1.5.12",
"typescript": "4.6.4"
"typescript": "^5.4.5"
}
}

File diff suppressed because it is too large Load Diff