diff --git a/README.md b/README.md index 16d6713d..6e79c61f 100644 --- a/README.md +++ b/README.md @@ -148,6 +148,37 @@ neutrino.proxy.client.license-key=b0a907332b474b25897c4dcb31fc7eb6 - 微信: yuyunshize - Gitee: https://gitee.com/asgc/neutrino-proxy +# 10、贡献者列表 +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ # ❤️ 感谢 * [Solon](https://gitee.com/noear/solon?from=NeutrinoProxy) * [Hutool](https://hutool.cn?from=NeutrinoProxy) diff --git a/bin/admin_build_dev.sh b/bin/admin_build_dev.sh new file mode 100644 index 00000000..5f612b78 --- /dev/null +++ b/bin/admin_build_dev.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# 中微子代理管理后台编译打包脚本,基础参数请自行修改 + +#环境 +env=dev +nvmDir=$HOME/.nvm +nodeVersion=v13.12.0 +deployDir="deploy" +serverDeployDir=$deployDir"/server" +adminDeployDir=$serverDeployDir"/neutrino-proxy-admin" +giteePagesDir=$deployDir"/gitee-pages" + +#设置nvm生效 +export NVM_DIR="$HOME/.nvm" +[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + # This loads nvm +[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" + +#初始化文件夹 +cd .. +rm -rf $adminDeployDir +if [ ! -d "$deployDir" ];then + mkdir $deployDir +fi +if [ ! -d "$serverDeployDir" ];then + mkdir $serverDeployDir +fi +if [ ! -d "$adminDeployDir" ];then + mkdir $adminDeployDir +fi +#切node版本 +nvm use $nodeVersion +#进入admin项目目录 +cd ./neutrino-proxy-admin +#删除之前的build +rm -rf ./dist +#安装依赖 +npm i +#编译 +npm run build:$env +#拷贝 +cd .. +cp -rf ./neutrino-proxy-admin/dist $adminDeployDir/ +cp -rf ./neutrino-proxy-admin/dist/ $giteePagesDir \ No newline at end of file diff --git a/bin/admin_build.sh b/bin/admin_build_docker.sh similarity index 91% rename from bin/admin_build.sh rename to bin/admin_build_docker.sh index 12469361..44f5d63d 100644 --- a/bin/admin_build.sh +++ b/bin/admin_build_docker.sh @@ -8,6 +8,7 @@ nodeVersion=v13.12.0 deployDir="deploy" serverDeployDir=$deployDir"/server" adminDeployDir=$serverDeployDir"/neutrino-proxy-admin" +giteePagesDir=$deployDir"/gitee-pages" #设置nvm生效 export NVM_DIR="$HOME/.nvm" @@ -40,3 +41,4 @@ npm run build:$env #拷贝 cd .. cp -rf ./neutrino-proxy-admin/dist $adminDeployDir/ +cp -rf ./neutrino-proxy-admin/dist/ $giteePagesDir \ No newline at end of file diff --git a/docs/开发问题汇总.MD b/docs/开发问题汇总.MD new file mode 100644 index 00000000..b8978af5 --- /dev/null +++ b/docs/开发问题汇总.MD @@ -0,0 +1,8 @@ +# 管理后台问题汇总 +## 问题1... +> 描述、解决方式 + +# 代理服务端问题汇总 + + +# 代理客户端问题汇总 \ No newline at end of file diff --git a/neutrino-proxy-admin/src/api/portGroup.js b/neutrino-proxy-admin/src/api/portGroup.js new file mode 100644 index 00000000..c7d5d81b --- /dev/null +++ b/neutrino-proxy-admin/src/api/portGroup.js @@ -0,0 +1,45 @@ +import request from '@/utils/request' + +export function fetchList(query) { + return request({ + url: '/port-group/page', + method: 'get', + params: query + }) +} + +export function portGroupList() { + return request({ + url: '/port-group/list', + method: 'get' + }) +} + +export function updateEnableStatus(id, enable) { + return request({ + url: '/port-group/update/enable-status', + method: 'post', + data: { + id: id, + enable: enable + } + }) +} + +export function createPortGroup(data) { + return request({ + url: '/port-group/create', + method: 'post', + data + }) +} + +export function deleteGroup(id) { + return request({ + url: '/port-group/delete', + method: 'post', + params: { + id: id + } + }) +} diff --git a/neutrino-proxy-admin/src/api/portPool.js b/neutrino-proxy-admin/src/api/portPool.js index 0d6115c8..7dc48ba3 100644 --- a/neutrino-proxy-admin/src/api/portPool.js +++ b/neutrino-proxy-admin/src/api/portPool.js @@ -14,6 +14,15 @@ export function portPoolList() { method: 'get' }) } +export function availablePortList(licenseId) { + return request({ + url: '/port-pool/get-available-port-list', + method: 'get', + params: { + licenseId: licenseId + } + }) +} export function updateEnableStatus(id, enable) { return request({ diff --git a/neutrino-proxy-admin/src/api/report.js b/neutrino-proxy-admin/src/api/report.js new file mode 100644 index 00000000..f4632503 --- /dev/null +++ b/neutrino-proxy-admin/src/api/report.js @@ -0,0 +1,16 @@ +import request from '@/utils/request' +export function fetchUserFlowReportList(query) { + return request({ + url: '/report/user/flow-report/page', + method: 'get', + params: query + }) +} + +export function fetchLicenseFlowReportList(query) { + return request({ + url: '/report/license/flow-report/page', + method: 'get', + params: query + }) +} diff --git a/neutrino-proxy-admin/src/lang/zh.js b/neutrino-proxy-admin/src/lang/zh.js index e021cbf8..7fc4f215 100644 --- a/neutrino-proxy-admin/src/lang/zh.js +++ b/neutrino-proxy-admin/src/lang/zh.js @@ -48,6 +48,7 @@ export default { user: '用户管理', system: '系统管理', portPool: '端口池管理', + portGroup: '端口分组管理', proxy: '代理配置', license: 'License管理', portMapping: '端口映射', @@ -55,7 +56,10 @@ export default { jobLog: '调度日志', log: '日志管理', loginLog: '登录日志', - clientConnectLog: '客户端连接日志' + clientConnectLog: '客户端连接日志', + report: '报表管理', + userFlowReport: '用户流量报表', + licenseFlowReport: 'License流量报表' }, navbar: { logOut: '退出登录', @@ -118,6 +122,11 @@ export default { confirm: '确 定', userId: '用户ID', userName: '用户名', + group: '分组', + groupName: '分组名称', + groupPossessor: '分组所属', + possessorType: '所属类', + possessorId: '分组所属', license: 'License', createTime: '创建时间', updateTime: '更新时间', @@ -147,7 +156,10 @@ export default { msg: '消息', outcome: '结果', err: '异常信息', - resetKey: '重置Key' + resetKey: '重置Key', + upFlow: '上行流量', + downFlow: '下行流量', + totalFlow: '总流量' }, button: { lookOver: '查看' diff --git a/neutrino-proxy-admin/src/router/index.js b/neutrino-proxy-admin/src/router/index.js index 7e44c8d4..1dd444cf 100644 --- a/neutrino-proxy-admin/src/router/index.js +++ b/neutrino-proxy-admin/src/router/index.js @@ -75,10 +75,25 @@ export const asyncRouterMap = [ }, children: [ { path: 'user', component: _import('system/user'), name: 'user', meta: { title: 'user' }}, + { path: 'portGroup', component: _import('system/portGroup'), name: 'portGroup', meta: { title: 'portGroup' }}, { path: 'portPool', component: _import('system/portPool'), name: 'portPool', meta: { title: 'portPool' }}, { path: 'jobManager', component: _import('system/jobManager'), name: 'jobManager', meta: { title: 'jobManager' }} ] }, + { + path: '/report', + component: Layout, + redirect: 'noredirect', + name: 'report', + meta: { + title: 'report', + icon: 'component' + }, + children: [ + { path: 'userFlowReport', component: _import('report/userFlowReport'), name: 'userFlowReport', meta: { title: 'userFlowReport' }}, + { path: 'licenseFlowReport', component: _import('report/licenseFlowReport'), name: 'licenseFlowReport', meta: { title: 'licenseFlowReport' }} + ] + }, { path: '/log', component: Layout, diff --git a/neutrino-proxy-admin/src/views/proxy/license.vue b/neutrino-proxy-admin/src/views/proxy/license.vue index 5c8d89a4..306ad48d 100644 --- a/neutrino-proxy-admin/src/views/proxy/license.vue +++ b/neutrino-proxy-admin/src/views/proxy/license.vue @@ -1,6 +1,15 @@ + + diff --git a/neutrino-proxy-admin/src/views/system/portPool.vue b/neutrino-proxy-admin/src/views/system/portPool.vue index 108cfa35..98dd69ee 100644 --- a/neutrino-proxy-admin/src/views/system/portPool.vue +++ b/neutrino-proxy-admin/src/views/system/portPool.vue @@ -17,6 +17,11 @@ {{scope.row.port}} + + +