加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
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字段,等级越高,权限越高。
		高级用户有权访问低级权限接口。

空文件

简介

python标准后端框架,基于flask,含用户登录,token验证,用户权限控制,验证码,接口规范,数据库封装及线程池,redis缓存,第三方库组织引用,快速移植。 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化