Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev #115

Merged
merged 5 commits into from
Jun 19, 2024
Merged

Dev #115

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# EServer
### Windows Mac平台下的一款集成Nginx、PHPMySQL、Redis等服务的GUI集成环境
## EServer | [中文](https://github.com/xianyunleo/EServer/raw/master/README_zh.md)
### A GUI software for Windows and Mac platforms that integrates Nginx, PHP, MySQL, Redis and other servers.

## 文档:www.eserver.app/doc
## doc:www.eserver.app/doc

### 本软件的前身是 phpEnv ,www.phpenv.cn
![主界面](https://github.com/xianyunleo/EServer/raw/master/screenshots/home.png)
### The predecessor of this software is phpEnv ,www.phpenv.cn

![home](https://github.com/xianyunleo/EServer/raw/master/screenshots/home-en.png)

![主界面](https://github.com/xianyunleo/EServer/raw/master/screenshots/home.png)
9 changes: 9 additions & 0 deletions README_zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## EServer | [English](https://github.com/xianyunleo/EServer/raw/master/README.md)
### Windows Mac平台下的一款集成Nginx、PHP、MySQL、Redis等服务的GUI集成环境

## 文档:www.eserver.app/doc

### 本软件的前身是 phpEnv ,www.phpenv.cn
![主界面](https://github.com/xianyunleo/EServer/raw/master/screenshots/home.png)

![home](https://github.com/xianyunleo/EServer/raw/master/screenshots/home-en.png)
5 changes: 4 additions & 1 deletion extra/darwin/Core/script/php/swoole.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ export HOMEBREW_NO_AUTO_UPDATE=1
brew install pkg-config autoconf automake libtool
cd "swoole-$extVersion"
$phpDir/bin/phpize
./configure --with-php-config=$phpDir/bin/php-config
./configure \
--with-php-config=$phpDir/bin/php-config \
--with-openssl-dir=/Applications/EServer/Library/[email protected]/

arch -x86_64 make -j4
make install
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "eserver",
"productName": "EServer",
"version": "3.7.3",
"version": "3.8.0",
"description": "EServer",
"main": "./out/main/index.js",
"author": "xianyunleo",
Expand Down
2 changes: 1 addition & 1 deletion src/main/core/php/extension/Extension.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ export default class Extension {
} else if (phpVersion < 8.0) {
return '4.8.13';
} else {
return '5.1.1'
return '5.1.3'
}
case 'mongodb':
if (phpVersion <= 7.1) {
Expand Down
15 changes: 11 additions & 4 deletions src/renderer/assets/css/index.less
Original file line number Diff line number Diff line change
Expand Up @@ -42,19 +42,26 @@ img, a {
}

.logo-container {
height: 100px;
display: flex;
align-items: flex-start;
align-items: center;
justify-content: center;
padding: 30px 0;
border-bottom: 1px solid var(--colorBorder)
}

.logo-container img {
width: 90px;
height: 90px;
width: 25px;
height: 25px;
background: linear-gradient(to bottom, @colorPrimaryHover, @colorPrimary, @colorPrimaryActive);
border-radius: @borderRadius;
}

.logo-container span {
margin-left: 10px;
font-size: 20px;
font-weight: bold;
}

.ant-menu {
flex: 1;
display: flex;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,60 +1,68 @@
<template>
<a-card size="small" :title="t('Server')" class="settings-card">
<div class='settings-card-row flex-vertical-center'>
<span>{{mt('Server','ws','List')}}:</span>
<a-select
v-model:value="store.settings.OneClickServerList"
:options="oneClickServerOptions"
@change="oneClickServerChange"
mode="multiple" placeholder="请选择" style="flex: 1"
></a-select>
</div>

<div class='settings-card-row flex-vertical-center'>
<a-switch v-model:checked='store.settings.AutoStartAndRestartServer' @change='changeAutoStartAndRestartServer'
class='settings-switch' />
<span>{{ t('websiteAutoRestartText') }}</span>
</div>

<div class='settings-card-row flex-vertical-center'>
<a-switch v-model:checked='store.settings.AfterOpenAppStartServer' @change='changeAfterOpenAppStartServer'
class='settings-switch' />
<span>{{ t('afterOpenAppStartServer') }}</span>
</div>
</a-card>
</template>

<script setup>
import {useMainStore} from "@/renderer/store";
import {storeToRefs} from "pinia";
import { mt, t } from '@/renderer/utils/i18n'
import { createAsyncComponent } from '@/renderer/utils/utils'

const ACard = createAsyncComponent(import('ant-design-vue'), 'Card')
const store = useMainStore()
const { serverList } = storeToRefs(store)
//把PHP-FPM-X.X 过滤掉
const oneClickServerOptions = serverList.value.map(item => {
let name = item.Name;
let obj = {value: name, name};
if (name === 'Nginx') {
obj.disabled = true;
}
return obj;
});
oneClickServerOptions.unshift({label: 'PHP-FPM', value: 'PHP-FPM'});

const oneClickServerChange = () => {
store.setSettings('OneClickServerList')
}
const changeAutoStartAndRestartServer = () => {
store.setSettings('AutoStartAndRestartServer')
}
const changeAfterOpenAppStartServer = () => {
store.setSettings('AfterOpenAppStartServer')
}
</script>

<style scoped>

</style>
<template>
<a-card size="small" :title="t('Server')" class="settings-card">
<div class='settings-card-row flex-vertical-center'>
<a-tooltip>
<template #title>{{ t('OneClick') }}</template>
<span>{{mt('Server','ws','List')}}:</span>
</a-tooltip>

<a-select
v-model:value="store.settings.OneClickServerList"
:options="oneClickServerOptions"
@change="oneClickServerChange"
mode="multiple" placeholder="请选择" style="flex: 1"
></a-select>
</div>

<div class='settings-card-row flex-vertical-center'>
<a-switch v-model:checked='store.settings.AutoStartAndRestartServer' @change='changeAutoStartAndRestartServer'
class='settings-switch' />
<span>{{ t('websiteAutoRestartText') }}</span>
</div>

<div class='settings-card-row flex-vertical-center'>
<a-switch v-model:checked='store.settings.AfterOpenAppStartServer' @change='changeAfterOpenAppStartServer'
class='settings-switch' />
<span>{{ t('afterOpenAppStartServer') }}</span>
</div>
</a-card>
</template>

<script setup>
import {useMainStore} from "@/renderer/store";
import {storeToRefs} from "pinia";
import { mt, t } from '@/renderer/utils/i18n'
import { createAsyncComponent } from '@/renderer/utils/utils'
import { computed } from 'vue'

const ACard = createAsyncComponent(import('ant-design-vue'), 'Card')
const store = useMainStore()
const { serverList } = storeToRefs(store)
//把PHP-FPM-X.X 过滤掉
const oneClickServerOptions = computed(() => {
const options = serverList.value.map(item => {
let name = item.Name
let obj = { value: name, name }
if (name === 'Nginx') {
obj.disabled = true
}
return obj
})
options.unshift({ label: t('Website') + ' PHP-FPM', value: 'PHP-FPM' })
return options
})

const oneClickServerChange = () => {
store.setSettings('OneClickServerList')
}
const changeAutoStartAndRestartServer = () => {
store.setSettings('AutoStartAndRestartServer')
}
const changeAfterOpenAppStartServer = () => {
store.setSettings('AfterOpenAppStartServer')
}
</script>

<style scoped>

</style>
5 changes: 3 additions & 2 deletions src/renderer/components/SideBar.vue
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<template>
<div class="sidebar">
<div class="draggable" @dblclick="dblclick"></div>
<div class="logo-container">
<div class="draggable logo-container" @dblclick="dblclick">
<img src="@/renderer/assets/img/icons/icon-trans.png" alt="icon" />
<span>{{ APP_NAME }} </span>
</div>
<a-menu mode="vertical" @select="menuItemSelect" v-model:selectedKeys="selectedKeys">
<div style="flex: 1" class="non-draggable">
Expand Down Expand Up @@ -32,6 +32,7 @@
</template>

<script setup>
import { APP_NAME } from '@/shared/utils/constant'
import {
AppstoreTwoTone,
ExclamationCircleTwoTone,
Expand Down
2 changes: 1 addition & 1 deletion src/renderer/components/TitleBar.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<div class='title-bar draggable' @dblclick="dblclick">
<div class='notify color-text'>
{{ APP_NAME }} {{ t('notice') }}:<a class='non-draggable color-text' @click='clickUrl'>🎉{{ t('none') }}</a>
{{ t('notice') }}:<a class='non-draggable color-text' @click='clickUrl'>🎉{{ t('none') }}</a>
</div>
<div class='window-controls-container non-draggable color-text' v-if='isWindows'>
<div class='window-icon codicon codicon-chrome-minimize '
Expand Down
4 changes: 2 additions & 2 deletions src/renderer/views/Settings.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<template>
<div class='content-container'>
<App />
<OneClickServer />
<Server />
<EnvVar />
<Other />
<UserPwd v-if='!isWindows' />
Expand All @@ -10,7 +10,7 @@

<script setup>
import App from '@/renderer/components/Settings/App.vue'
import OneClickServer from '@/renderer/components/Settings/OneClickServer.vue'
import Server from '@/renderer/components/Settings/Server.vue'
import Other from '@/renderer/components/Settings/Other.vue'
import EnvVar from '@/renderer/components/Settings/EnvVar.vue'
import UserPwd from '@/renderer/components/Settings/UserPwd.vue'
Expand Down
Loading