代码拉取完成,页面将自动刷新
1、Python环境: 理论上兼容Python2和Python3,细微地方需改动 2、引用第三方库: 1) 本项目使用自带三方包方式,部署时直接复制整个项目即可。 故第三方包存放于项目根目录,常规IDE下直接运行main.py即可。 若出现找不到三方包但确实存在,可能由于PYTHON_PATH环境变量所致,参考第3。 2) 若想使用全局Python环境中pip所安装的包, 请删除本项目自带的三方包。 3、命令行启动(以下任意方式皆可) 1) start.bat 注: on windows or ./start.sh 注: on linux 2) python src/main.py 注: 根目录下 若 出现找不到包问题:使用: set PYTHONPATH=%cd% 注: on Windows or export PYTHONPATH=`pwd` 注: on Linux 3) python main.py 注: /src目录下 4、接口访问模式 本项目使用token验证方式,用户登录成功后返回token,具体为tk和lc 前端需在登陆接口成功后本地记录tk和lc,在需要验证的接口访问时携带此二参数。 后端接收到tk和lc后若验证通过,装饰器会自动解析用户名,作为每个接口的内定形参。 具体接口测试可参考第5 5、接口测试 Interface Example: ''' login test: http://localhost:9404/webLogin?username=admin&password=123456 Interface test: http://localhost:9404/test?status=1&tk=eyJhbG&lc=1943043233 Security-code test: http://localhost:9404/login-security-code?1567569328448 ''' 6、验证码 验证码需使用字体,字体文件位于src/libs/fonts目录下, 若需替换请准备字体文件,同时修改src/libs/auth_code中create_validate_code函数的参数。 7、Require libs: pip install flask # web框架 flask_cors # 支持跨域,前后分离 md5 # md5加密 pillow # 验证码PIL mysql.connector # mysql官方数据库连接引擎 DBUtils # 数据库连接池 itsdangerous # web框架,也许flask安装会附带 redis # 若线上部署,可选 8、redis缓存 src/libs/redisEx2模块为redis的二次封装,兼容有redis和无redis两种情形。 本项目暂时使用本地程序内存模式local_model(非redis), 即在没有redis环境下模拟redis服务,真实redis环境修改配置和模式即可。 9、配置 src/config.py为主要配置文件 src/common/key.py为标准字典文件 10、数据库 数据库使用mysql,测试数据库含有user和logs两个表,转储sql文件见src/docs/testDB.sql 数据库准备: mysql -u root -p password CREATE DATABASE IF NOT EXISTS testDB DEFAULT CHARSET utf8 COLLATE utf8_general_ci; 导入数据库文件: use testDB; source /root/testDB.sql 插入测试数据: insert into user (username, password, level, createTime) values ('admin', '123456', 6, '2019-01-01') 亦可使用/src/login.py中的createUser()函数 字段说明: 由于测试库MySQL版本较低,无法使用自动时间戳字段 11、用户权限控制 src/main.py文件中接口函数的装饰器 @authRequired('lv1') 控制接口用户验证和权限, 若为开放接口无需登录,则无需添加此装饰器。 其中参数'lvn'代表所需的权限等级,对应数据库用户表的level字段,等级越高,权限越高。 高级用户有权访问低级权限接口。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。