flask+pyinstaller实现mock接口,并打包到exe运行使用postman验证

news2024/11/28 4:41:46

flask代码

from flask import Flask, request, jsonify

app = Flask(__name__)


@app.route("/login", methods=['POST'])
def login():
    username = request.json.get("username").strip()  # 用户名
    password = request.json.get("password").strip()  # 密码
    if username and password:
        if len(username) <= 2:
            return jsonify({"code": 999, "msg": "用户名不能少于2位"})
        elif len(password) <= 6:
            return jsonify({"code": 999, "msg": "密码不能少于6位"})
        else:
            return jsonify({"code": 200, "msg": "请求成功", 'token': 'ey66666', 'user_balance': 2000})
    else:
        return jsonify({"code": 999, "msg": "用户名/密码不能为空,请检查"})


@app.route("/goods_info", methods=['GET'])
def goods_info():
    token = request.headers.get("token")
    if token != 'ey66666':
        return jsonify({"code": 999, "msg": "请登录后重试"})
    return jsonify({'goods_id': 1, 'goods_inventory': 99, 'goods_price': 888.9, 'goods_notes': '这是一个虚假的货物'})


@app.route("/purchase", methods=['POST'])
def purchase():
    token = request.headers.get("token")
    if token != 'ey66666':
        return jsonify({"code": 999, "msg": "请登录后重试"})
    purchase_quantity = request.json.get("purchase_quantity") # 购买数量
    goods_id = request.json.get("goods_id") # 商品id
    user_balance = request.json.get("user_balance") # 用户余额
    print(purchase_quantity,goods_id,user_balance)
    if goods_id == 1:
        if 99 < purchase_quantity:
            return jsonify({"code": 999, "msg": "商品库存不足"})
        elif 888.9 * purchase_quantity > user_balance:
            return jsonify({"code": 999, "msg": "余额不足"})
        return jsonify({"code": 200, "msg": "购买成功", 'goods_id': goods_id})
    else:
        return jsonify({"code": 999, "msg": "商品不存在"})
if __name__ == '__main__':
    app.run(host='0.0.0.0', port=7979 , debug=True)

打包

命令执行目录要和py文件在一个目录里面
在这里插入图片描述

这里是打包运行exe程序时带cmd窗口,有修改ico图标和重新命名

pyinstaller --onefile --icon=D:\log_v5\oco.ico --name=mock app.py

打包后会生成一个mock.exe
在这里插入图片描述
在这里插入图片描述

运行mock.exe

这2个地址可以访问的地址,如果处于同一个局域网下面,别人的电脑可以用http://192.168.3.100:7979来访问
下面的是一些接口参数说明
在这里插入图片描述

使用postman测试

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1432817.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FastAdmin青动CRM-E售后

应用介绍 一款基于FastAdminThinkPHP和uniapp开发的CRM售后管理系统&#xff0c;旨在助力企业销售售后全流程精细化、数字化管理&#xff0c;主要功能&#xff1a;客户、合同、工单、任务、报价、产品、库存、出纳、收费&#xff0c;适用于&#xff1a;服装鞋帽、化妆品、机械机…

随机森林超参数的网格优化(机器学习的精华--调参)

随机森林超参数的网格优化&#xff08;机器学习的精华–调参&#xff09; 随机森林各个参数对算法的影响 影响力参数⭐⭐⭐⭐⭐几乎总是具有巨大影响力n_estimators&#xff08;整体学习能力&#xff09;max_depth&#xff08;粗剪枝&#xff09;max_features&#xff08;随机…

STM32--SPI通信协议(3)SPI通信外设

前言 硬件SPI&#xff1a;通过硬件电路实现&#xff0c;所以硬件SPI速度更快&#xff0c;有专门的寄存器和 库函数 &#xff0c;使用起来更方便。 软件SPI&#xff1a;也称模拟SPI&#xff0c;通过程序控制IO口电平模拟SPI时序实现&#xff0c;需要程序不断控制IO电平翻转&am…

网工每日一练(2月4日)

试题1 通过HFC网络实现宽带接入&#xff0c;用户端需要的设备是&#xff08;A&#xff09;&#xff0c;局端用于控制和管理用户的设备是&#xff08;D&#xff09;。 &#xff08;1&#xff09;A.Cable Modem B.ADSL Modem C.OLT D.CMTS &#xff08;2&#xff09;A. Cable Mo…

代码编辑器1.9.0

多线程&#xff01;&#xff01;&#xff01; #include <winsock2.h> #include <windows.h> #include <iostream> #include <stdlib.h> #include <string.h> #include <fstream> #include <conio.h> #include <stdio.h> #incl…

实现屏蔽 Ctrl + Alt + Del 、Ctrl + Shift + Esc 等热键(二)

目录 前言 一、概述 Winlogon 的 RPC 例程 二、Handler 函数的消息处理机制 三、讨论如何安全执行 HOOK 代码 3.1 挂钩例程解决方案 3.2 脱钩例程解决方案 3.3 钩子例程解决方案 3.4 地址信息查询函数 3.5 简单保护加载的模块 四、模块如何安全地注入&#xff1f; 4…

泡泡清新文艺的微社区系统PHP源码

泡泡微社区&#xff0c;小巧而强大&#xff0c;为您带来卓越的社区交流体验。 凭借GoZinc的先进架构&#xff0c;泡泡在保持轻盈身姿的同时&#xff0c;功能一应俱全。前端采用Vue3匠心打造&#xff0c;界面清新简约&#xff0c;三栏式布局仿若Twitter&#xff0c;让您一见倾心…

前端开发中不同语言【react-i18next】

目录 查看并设置语言 单页面&#xff1a;html lang ​编辑 浏览器 自定义翻译&#xff1a;react-i18next 设置 模块&#xff1a;staticData.ts 散(重复利用)&#xff1a;命名空间.json 应用 准备 html标签 查看并设置语言 单页面&#xff1a;html lang 英语: <…

Fink CDC数据同步(五)Kafka数据同步Hive

6、Kafka同步到Hive 6.1 建映射表 通过flink sql client 建Kafka topic的映射表 CREATE TABLE kafka_user_topic(id int,name string,birth string,gender string ) WITH (connector kafka,topic flink-cdc-user,properties.bootstrap.servers 192.168.0.4:6668…

合体积木

欢迎来到程序小院 合体积木 玩法&#xff1a;点击积木移动&#xff0c;将积木合并一起&#xff0c;移动步数越少获得⭐️⭐️越多&#xff0c; 共52关卡&#xff0c;每关卡都有不同的积木摆放&#xff0c;快去闯关吧^^。开始游戏 html <canvas id"gameCanvas" w…

多播路由选择

目录 1 多播路由选择 1.1 转发多播数据报时使用三种方法 (1) 洪泛与剪除 RPB 的要点&#xff1a; 1.检查&#xff0c;转发 2.形成以源为根节点的多播转发树 3.剪枝与嫁接 (2) 隧道技术 (tunneling) (3) 基于核心的发现技术 1.2 几种多播路由选择协议 1 多播路由选择 …

C++实战Opencv第二天——色彩空间转换函数和opencv中图像对象创建与赋值(从零开始,保姆教学)

OpenCV是一个强大的计算机视觉库&#xff0c;使用C作为主要编程语言&#xff0c;对于图像处理和计算机视觉领域具有重要意义。其提供了丰富的功能和算法&#xff0c;使得开发者能够快速实现各种图像处理和计算机视觉应用。OpenCV C为图像处理和计算机视觉领域的开发者提供了一个…

前端JavaScript篇之JavaScript 类数组对象的定义?如何将类数组对象转换为真正的数组

目录 JavaScript 类数组对象的定义&#xff1f;如何将类数组对象转换为真正的数组如何将类数组对象转换为真正的数组 JavaScript 类数组对象的定义&#xff1f;如何将类数组对象转换为真正的数组 类数组对象指的是具有类似数组结构&#xff08;类似于数组的属性或方法&#xf…

西瓜书学习笔记——流形学习(公式推导+举例应用)

文章目录 等度量映射&#xff08;仅保留点与其邻近点的距离&#xff09;算法介绍实验分析 局部线性嵌入&#xff08;不仅保留点与其邻近点的距离还要保留邻近关系&#xff09;算法介绍实验分析 等度量映射&#xff08;仅保留点与其邻近点的距离&#xff09; 算法介绍 等度量映…

vue中 日期选择--本日、本周、本月、本年选择器实现(基于elementui)

效果图&#xff1a; 由于项目需要图标统计展示&#xff0c;需要日期美观化选择如上图所示&#xff0c;代码如下&#xff1a; <template><div class"el-page body"><el-row><el-col class"statistic-analysis-report-style" :span&qu…

Elastic Search 6.x 版本 rollover 配置

背景 业务里有发送消息的请求&#xff0c;如短信、邮件、企信等&#xff0c;这些数据都会存储到 ES 中&#xff0c;用于数据的查询和问题排查等。每天都有几十万至几百万的数据&#xff0c;手动删除数据也比较繁琐&#xff0c;可以通过 ES 的 rollover 机制来实现根据条件自动…

PHP框架详解 - symfony框架

首先说一下为什么要写symfony框架&#xff0c;这个框架也属于PHP的一个框架&#xff0c;小编接触也是3年前&#xff0c;原因是小编接触Golang&#xff0c;发现symfony框架有PHP框架的东西也有Golang的东西&#xff0c;所以决定总结一下&#xff0c;有需要的同学可以参看小编的G…

【数据结构与算法】(7)基础数据结构之双端队列的链表实现、环形数组实现示例讲解

目录 2.6 双端队列1) 概述2) 链表实现3) 数组实现习题E01. 二叉树 Z 字层序遍历-Leetcode 103 2.6 双端队列 1) 概述 双端队列、队列、栈对比 定义特点队列一端删除&#xff08;头&#xff09;另一端添加&#xff08;尾&#xff09;First In First Out栈一端删除和添加&…

电脑上常见的绘图软件有哪些?

现在在电脑上绘图很流行&#xff0c;不仅可以随时更改&#xff0c;还可以提高绘图效率&#xff0c;绘图软件中有很多工具。市场上的计算机绘图软件种类繁多。包括艺术设计、工业绘图和3D绘图。那么每个绘图软件都有自己的特点。那么&#xff0c;哪个更适合计算机绘画软件呢&…

信任与创新 | 回顾通付盾的2023!

-END- 数信云&#xff0c;基于区块链与人工智能的数据安全应用与服务平台