from flask import Flask, render_template, jsonify, request, send_from_directory
from flask_cors import CORS
import pandas as pd
import os
from routes import routes_blueprint
from functools import wraps
from models import ABC_PLANO, CalendarioProducao, AutomacaoSugestaoPedidos, ObterInfCSW, Vendas
from werkzeug.utils import secure_filename
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import dash_bootstrap_components as dbc
import plotly.express as px
app = Flask(__name__)
port = int(os.environ.get('PORT', 8000))
app.register_blueprint(routes_blueprint)
#Aqui registo todas as rotas , url's DO PROJETO, para acessar bastar ir na pasta "routes",
#duvidas o contato (62)99351-42-49 ou acessar a documentacao do projeto em:
CORS(app)
def token_required(f): #Aqui passamos o token fixo, que pode ser alterado
@wraps(f)
def decorated_function(*args, **kwargs):
token = request.headers.get('Authorization')
if token == 'a44pcp22': # Verifica se o token é igual ao token fixo
return f(*args, **kwargs)
return jsonify({'message': 'Acesso negado'}), 401
return decorated_function
# Defina o diretório onde as imagens serão armazenadas
UPLOAD_FOLDER = 'imagens'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
# Rota para enviar a imagem
@app.route('/pcp/api/upload/<string:idchamado>', methods=['POST'])
def upload_image(idchamado):
# Verifique se a solicitação possui um arquivo anexado
if 'file' not in request.files:
return jsonify({'message': 'chamado sem anexo'}), 200
file = request.files['file']
# Verifique se o nome do arquivo é vazio
if file.filename == '':
return jsonify({'message': 'chamado sem anexo'}), 200
# Verifique se a extensão do arquivo é permitida (opcional)
allowed_extensions = {'png', 'jpg', 'jpeg', 'gif'}
if not file.filename.rsplit('.', 1)[1].lower() in allowed_extensions:
return jsonify({'message': 'Extensão de arquivo não permitida'}), 400
# Renomeie o arquivo com o ID do chamado e a extensão original
filename = secure_filename(f'{idchamado}.{file.filename.rsplit(".", 1)[1]}')
# Salve o arquivo na pasta de uploads usando idchamado como diretório
upload_directory = os.path.join(app.config['UPLOAD_FOLDER'], idc
Python 实现Web API
最新推荐文章于 2025-03-26 14:26:21 发布