mirror of
https://gitee.com/dromara/electron-egg.git
synced 2026-05-14 19:52:10 +08:00
python flask fastapi demo
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -16,3 +16,6 @@ go/go.sum
|
||||
build/extraResources/java-app.jar
|
||||
build/extraResources/jre1.8.0_201/
|
||||
python/.venv/
|
||||
python/*.spec
|
||||
python/build/
|
||||
python/dist/
|
||||
|
||||
@@ -35,21 +35,26 @@ module.exports = {
|
||||
cmd: 'npm',
|
||||
args: ['run', 'build'],
|
||||
},
|
||||
go_build_w: {
|
||||
go_w: {
|
||||
directory: './go',
|
||||
cmd: 'go',
|
||||
args: ['build', '-o=../build/extraResources/goapp.exe'],
|
||||
},
|
||||
go_build_m: {
|
||||
go_m: {
|
||||
directory: './go',
|
||||
cmd: 'go',
|
||||
args: ['build', '-o=../build/extraResources/goapp'],
|
||||
},
|
||||
go_build_l: {
|
||||
go_l: {
|
||||
directory: './go',
|
||||
cmd: 'go',
|
||||
args: ['build', '-o=../build/extraResources/goapp'],
|
||||
}
|
||||
},
|
||||
python_w: {
|
||||
directory: './python',
|
||||
cmd: 'pyinstaller',
|
||||
args: ['-n=pyapp', '-F', './main.py'],
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -76,7 +81,11 @@ module.exports = {
|
||||
go_images: {
|
||||
dist: './public/images',
|
||||
target: './go/public/images'
|
||||
}
|
||||
},
|
||||
python_dist: {
|
||||
dist: './python/dist',
|
||||
target: './build/extraResources/py'
|
||||
},
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -129,7 +138,6 @@ module.exports = {
|
||||
directory: './python',
|
||||
cmd: 'python',
|
||||
args: ['./main.py', '--port=7074'],
|
||||
stdio: 'ignore',
|
||||
},
|
||||
},
|
||||
};
|
||||
@@ -119,7 +119,7 @@ module.exports = (appInfo) => {
|
||||
/**
|
||||
* Cross-language service
|
||||
* 跨语言服务
|
||||
* 例如:执行go的二进制程序
|
||||
* 例如:执行go的二进制程序,默认目录为 ./extraResources/
|
||||
*/
|
||||
config.cross = {
|
||||
go: {
|
||||
@@ -131,6 +131,8 @@ module.exports = (appInfo) => {
|
||||
python: {
|
||||
enable: false,
|
||||
name: 'pyapp',
|
||||
cmd: './py/pyapp',
|
||||
directory: './py',
|
||||
args: ['--port=7074'],
|
||||
appExit: true,
|
||||
},
|
||||
|
||||
@@ -10,9 +10,10 @@
|
||||
"dev-go": "ee-bin dev --serve=go",
|
||||
"dev-python": "ee-bin exec --cmds=python",
|
||||
"build-frontend": "ee-bin build --cmds=frontend && ee-bin move --flag=frontend_dist",
|
||||
"build-go-w": "ee-bin build --cmds=go_build_w",
|
||||
"build-go-m": "ee-bin build --cmds=go_build_m",
|
||||
"build-go-l": "ee-bin build --cmds=go_build_l",
|
||||
"build-go-w": "ee-bin build --cmds=go_w",
|
||||
"build-go-m": "ee-bin build --cmds=go_m",
|
||||
"build-go-l": "ee-bin build --cmds=go_l",
|
||||
"build-python-w": "ee-bin build --cmds=python_w && ee-bin move --flag=python_dist",
|
||||
"start": "ee-bin start",
|
||||
"move": "ee-bin move --flag=go_static,go_config,go_package,go_images",
|
||||
"rd": "ee-bin move --flag=frontend_dist",
|
||||
|
||||
29
python/flask.py
Normal file
29
python/flask.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from flask import Flask, request, jsonify
|
||||
import argparse
|
||||
|
||||
print("__name__: ", __name__)
|
||||
|
||||
# argparse
|
||||
parser = argparse.ArgumentParser(description='Process some integers.')
|
||||
parser.add_argument('--port', type=int, default=7074, help='The port number.')
|
||||
args = parser.parse_args()
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
# 定义路由和处理器
|
||||
@app.route('/', methods=['GET'])
|
||||
def index():
|
||||
name = request.args.get('name', 'World')
|
||||
return jsonify({'message': f'Hello, {name}!'}), 200
|
||||
|
||||
|
||||
@app.route('/hello', methods=['GET'])
|
||||
def hello():
|
||||
name = request.args.get('name', 'World')
|
||||
return jsonify({'message': f'Hello, {name}!'}), 200
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(port=args.port)
|
||||
|
||||
# 控制台默认关闭输出信息,如果想要查看控制台输出,请单独启动服务 npm run dev-python
|
||||
print("python server is running at port:", args.port)
|
||||
@@ -11,19 +11,10 @@ args = parser.parse_args()
|
||||
|
||||
@app.get("/")
|
||||
async def index():
|
||||
"""
|
||||
注册一个根路径
|
||||
:return:
|
||||
"""
|
||||
return {"message": "Hello World"}
|
||||
|
||||
|
||||
@app.get("/info")
|
||||
async def info():
|
||||
"""
|
||||
项目信息
|
||||
:return:
|
||||
"""
|
||||
@app.get("/hello")
|
||||
async def hello():
|
||||
return {
|
||||
"app_name": "FastAPI框架学习",
|
||||
"app_version": "v0.0.1"
|
||||
@@ -33,4 +24,4 @@ if __name__ == "__main__":
|
||||
uvicorn.run(app, host="127.0.0.1", port=args.port)
|
||||
|
||||
# 控制台默认关闭输出信息,如果想要查看控制台输出,请单独启动服务 npm run dev-python
|
||||
print("Serving at port", args.port)
|
||||
print("python server is running at port:", args.port)
|
||||
Reference in New Issue
Block a user