yangjie #49

Merged
yangqiang merged 71 commits from yangjie into master 2025-03-10 14:21:26 +08:00
8 changed files with 54 additions and 33 deletions
Showing only changes of commit 440f19b436 - Show all commits

View File

@ -194,14 +194,17 @@ const App: React.FC = () => {
}, [navigate]) }, [navigate])
} }
useEffect(() => { useEffect(() => {
document.addEventListener('keydown', (event) => { document.addEventListener('keydown', async (event) => {
if (event.keyCode == 122) { if (event.keyCode == 122) {
event.preventDefault(); event.preventDefault();
} else if (((event.ctrlKey && event.keyCode == 82) || event.keyCode == 116) && window.electron.getEnv() !== 'development') { } else if (((event.ctrlKey && event.keyCode == 82) || event.keyCode == 116)) {
let env = await window.electron.getEnv()
if (env !== 'development') {
event.preventDefault(); event.preventDefault();
} }
}
}); });
document.getElementsByTagName('title')[0].innerText = getTitle() getTitle()
}, []) }, [])
const handleResize = (): void => { const handleResize = (): void => {
setWindowSize({ setWindowSize({

View File

@ -14,10 +14,11 @@ const Code = forwardRef((props: any, ref: any) => {
<> <>
<Popover <Popover
placement="bottom" placement="bottom"
onOpenChange={(e: boolean) => { onOpenChange={async (e: boolean) => {
setBaseImage('') setBaseImage('')
if (e) { if (e) {
GetQrcode(roomNum, window.electron.getEnv() === 'development' ? 'trial' : 'release').then(res => { let env = await window.electron.getEnv()
GetQrcode(roomNum, env === 'development' ? 'trial' : 'release').then(res => {
if (res.code === 200) { if (res.code === 200) {
setBaseImage(res.data) setBaseImage(res.data)
} }

View File

@ -245,7 +245,8 @@ const VideoComponents = () => {
}, [darkLightEnhancement]); }, [darkLightEnhancement]);
useEffect(() => { useEffect(() => {
if (typeof virtualBackground.sourceIndex === 'number') { if (typeof virtualBackground.sourceIndex === 'number') {
if (window.electron.getEnv() === 'development') { window.electron.getEnv().then(res=>{
if (res === 'development') {
window.electron.getAppPath().then((res: string) => { window.electron.getAppPath().then((res: string) => {
const imagePath = path.join(res, 'src', 'assets', 'virtualBackground', `${virtualBackground.sourceIndex + 1}.png`); const imagePath = path.join(res, 'src', 'assets', 'virtualBackground', `${virtualBackground.sourceIndex + 1}.png`);
agora.enableVirtualBackground(virtualBackground.isVirtualBackground, { agora.enableVirtualBackground(virtualBackground.isVirtualBackground, {
@ -262,6 +263,7 @@ const VideoComponents = () => {
color: Number(virtualBackground.color), color: Number(virtualBackground.color),
}) })
} }
})
} else { } else {
agora.enableVirtualBackground(virtualBackground.isVirtualBackground, { agora.enableVirtualBackground(virtualBackground.isVirtualBackground, {
background_source_type: 1, background_source_type: 1,

View File

@ -2,7 +2,7 @@ import styles from '@/components/UpdateModal/index.module.scss'
import ImageUrl from '@/utils/package/imageUrl'; import ImageUrl from '@/utils/package/imageUrl';
import { getUpdateUrl } from '@/utils/package/public'; import { getUpdateUrl } from '@/utils/package/public';
import { Button, Flex, Modal, Progress } from 'antd'; import { Button, Flex, Modal, Progress } from 'antd';
import { forwardRef, useImperativeHandle, useState, memo } from "react"; import { forwardRef, useImperativeHandle, useState, memo, useEffect } from "react";
const UpdateModal = forwardRef((props: any, ref: any) => { const UpdateModal = forwardRef((props: any, ref: any) => {
useImperativeHandle(ref, () => ({ useImperativeHandle(ref, () => ({
@ -44,7 +44,12 @@ const UpdateModal = forwardRef((props: any, ref: any) => {
const [isUpdateModal, setIsUpdateModal] = useState(false); const [isUpdateModal, setIsUpdateModal] = useState(false);
const [progress, setProgress] = useState(0); // 下载进度值 const [progress, setProgress] = useState(0); // 下载进度值
const [updateContent, setUpdateContent] = useState('') // 版本更新内容 const [updateContent, setUpdateContent] = useState('') // 版本更新内容
const [env, setEnv] = useState('')
useEffect(() => {
window.electron.getEnv().then(res => {
setEnv(res)
})
}, [])
function getContent() { function getContent() {
fetch(`${getUpdateUrl()}/update.txt?t=${+new Date()}`) // 配置服务器地址 fetch(`${getUpdateUrl()}/update.txt?t=${+new Date()}`) // 配置服务器地址
.then(async response => { .then(async response => {
@ -90,7 +95,7 @@ const UpdateModal = forwardRef((props: any, ref: any) => {
style={{ width: '100%', height: '40px', marginBottom: '10px' }} style={{ width: '100%', height: '40px', marginBottom: '10px' }}
className={`m-ant-btn`} className={`m-ant-btn`}
></Button> ></Button>
{window.electron.getEnv() === "development" ? <div className={styles.button2} onClick={() => setIsUpdateModal(false)}></div> : null} {env === "development" ? <div className={styles.button2} onClick={() => setIsUpdateModal(false)}></div> : null}
</div> : progress < 100 ? </div> : progress < 100 ?
<div style={{ margin: '20px 0' }}> <div style={{ margin: '20px 0' }}>
{progress}% {progress}%

View File

@ -40,13 +40,16 @@ const Login: React.FC = () => {
roomNum: '', roomNum: '',
}) })
const [nameModal, setNameModal] = useState(false) const [nameModal, setNameModal] = useState(false)
const [env, setEnv] = useState('')
useEffect(() => { useEffect(() => {
window.electron.setMainWindowSize({ window.electron.setMainWindowSize({
width: 752, width: 752,
height: 520, height: 520,
key: 'login' key: 'login'
}) })
window.electron.getEnv().then(res => {
setEnv(res)
})
if (storage.getItem('login')) { if (storage.getItem('login')) {
const login = JSON.parse(storage.getItem('login') as string); const login = JSON.parse(storage.getItem('login') as string);
const data = { const data = {
@ -201,7 +204,7 @@ const Login: React.FC = () => {
<> <>
<div className={styles.login}> <div className={styles.login}>
<div className={styles.loginBg}> <div className={styles.loginBg}>
{window.electron.getEnv() ? <img src={window.electron.getEnv() === 'xy' ? ImageUrl.icon53 : ImageUrl.icon1} alt="" /> : null} {env ? <img src={env === 'xy' ? ImageUrl.icon53 : ImageUrl.icon1} alt="" /> : null}
</div> </div>
<div className={styles.loginContent}> <div className={styles.loginContent}>
<div> <div>

2
src/render.d.ts vendored
View File

@ -27,7 +27,7 @@ export interface IElectronAPI {
startLoad: () => any; startLoad: () => any;
updateHandle: () => any; updateHandle: () => any;
getVersion: () => Promise<string>; getVersion: () => Promise<string>;
getEnv: () => string; getEnv: () => Promise<string>;
isVisible: () => Promise<string>; isVisible: () => Promise<string>;
setRegistry: (uuid: string) => any; setRegistry: (uuid: string) => any;
getRegistry: () => any; getRegistry: () => any;

View File

@ -58,8 +58,9 @@ export const storageSeeting: any = {
}, },
} }
export const getUpdateUrl = () => { export const getUpdateUrl = async () => {
switch (window.electron.getEnv()) { let env = await window.electron.getEnv()
switch (env) {
case 'xy': case 'xy':
return 'https://meeting-api.23544.com/meeting/xysz' return 'https://meeting-api.23544.com/meeting/xysz'
case 'development': case 'development':
@ -68,15 +69,21 @@ export const getUpdateUrl = () => {
return 'https://meeting-api.23544.com/meeting/update' return 'https://meeting-api.23544.com/meeting/update'
} }
} }
export const getTitle = () => { export const getTitle = async () => {
switch (window.electron.getEnv()) { let env = await window.electron.getEnv()
let str;
switch (env) {
case 'xy': case 'xy':
return '湖北襄阳四中教研平台' str = '湖北襄阳四中教研平台'
break;
case 'development': case 'development':
return '智汇享' str = '智汇享'
break;
default: default:
return '智汇享' str = '智汇享'
break;
} }
document.getElementsByTagName('title')[0].innerText = str
} }
export const compareVersions = (version1: string, version2: string): number => { export const compareVersions = (version1: string, version2: string): number => {
const v1Parts = version1.split('.').map(Number); const v1Parts = version1.split('.').map(Number);

View File

@ -1,9 +1,10 @@
import { AxiosRequestConfig, AxiosResponse } from 'axios' import { AxiosRequestConfig, AxiosResponse } from 'axios'
import Request from './request' import Request from './request'
import { constant } from '@/config' import { constant } from '@/config'
let baseURL = !location.hostname.includes('meeting-api.23544.com') ? 'http://192.168.2.9:5192' : 'https://meeting-api.23544.com/pc'
// 实例化 // 实例化
const req = new Request({ const req = new Request({
baseURL: window.electron.getEnv() === 'development' ? 'http://192.168.2.9:5192' : 'https://meeting-api.23544.com/pc', baseURL,
timeout: constant.CONFIG_REQUEST_TIMEOUT_TIME as number, timeout: constant.CONFIG_REQUEST_TIMEOUT_TIME as number,
interceptors: { interceptors: {
// 请求拦截器 // 请求拦截器
@ -21,5 +22,4 @@ const request = (config: any) => {
} }
return req.request<any>(config) return req.request<any>(config)
} }
export default request export default request