<h1 align="center">
mini-shop-server
</h1>
<h4 align="center">
构建微信小程序(商城)后端
<br>🤜基于 Flask 框架🤛
</h4>
<div align="center">
<img alt="img" src="" width="550px">
<div>
<a href="http://47.114.33.143:9000/apidocs/#/" target="__blank">线上 API 文档</a>
</div>
</div>
* 本项目的开发环境是 Mac OS,生产环境是 Linux Ubuntu 16.04
* 感谢慕课网的[七月老师](https://www.imooc.com/t/4294850),本项目初期是基于他的课程思路
## 🎮 互动
QQ交流群:聊天、斗图、学习、交流,伸手党勿进
<table align="center">
<tr>
<td><img alt="img" src="./media/qq_group_qr_code.jpg" width="250px"></td>
<td><img alt="img" src="./media/qq_group_from_lin.png" width="250px"></td>
</tr>
<tr>
<td>
<a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=ee34348c8d177a4218594598de6c3fb404861a1c7a7091cd9f4384e6dcd6ea32"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="葬爱代码家族群" title="葬爱代码家族群"></a>
</td>
<td>
<a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=184ed5a00c7f903271f8d55beb814b7c9779347e114e2db51db7962bf9d016de"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="林间有风团队官方交流" title="林间有风团队官方交流"></a>
</td>
</tr>
<tr>
<td>葬爱家族QQ交流群</td>
<td>林间有风团队官方QQ交流群</td>
</tr>
</table>
## ✨ 亮点
- 基于原生的 Flask 构建 RESTful API
- 更灵活的 API文档生成方式(可带 **Token**)
- AOP(面向切面编程)设计,实现 **参数校验层** & **异常统一处理层**
- Ubuntu 16.04上 Nginx + Gunicorn + Pipenv部署
## 🔩 内置
1. 用户管理:提供用户的相关配置
2. 权限组(角色)管理:接口权限分配和菜单权限分配
3. 菜单管理:实现后端配置菜单动态路由,支持多级菜单
4. 字典管理:维护系统中经常使用的字典数据,如:性别,状态
5. 参数管理:系统动态配置常用参数,如:分页数,前端主题色等
6. 通知管理:系统通知&公告信息的发布维护
7. 日志管理:操作日志和登录日志
8. 接口文档:根据业务代码自动生成相关的api接口文档(Swagger风格)
9. 错误码:前后端开发的错误码的约定
10. 文件管理和上传:文件夹和文件的管理
11. 文章管理
## 目录
- [亮点](#亮点)
- [开发工具](#开发工具)
- [开发环境搭建](#开发环境搭建)
- [服务器部署](#服务器部署)
- [本地&线上同步推进](#本地&线上同步推进):针对个人项目
- [上传&下载](#上传&下载)
- [骚操作](#骚操作)
- [三端分离](#三端分离): 后续
- [Nginx 部署](#nginx部署)
- [Python 学习路线](#Python学习路线)
## 开发工具
* Python 3.6(虚拟环境:pipenv)
* MySQL
* PyCharm(开发工具)
* Navicat(数据库可视化管理工具)
## 开发环境搭建
* MySQL安装、运行,数据库的导入
* Python 3.6
### MySQL的安装和数据导入
#### 一、安装
```
$ sudo apt-get install mysql-server
```
安装过程中,会让你输入密码。<br>
请务必记住密码!<br>
务必记住密码!<br>
记住密码!<br>
查看是否安装成功
```$ sudo netstat -tap | grep mysql```
#### 二、运行
```
$ mysql -u root -p # 执行完毕后输入密码
$ mysql -u root -p123456 # 直接输入密码,进入(我的密码是: 123456)
```
**`-u`** 表示选择登陆的用户名, **`-p`** 表示登陆的用户密码<br>
上面命令输入之后,会提示输入密码(Enter password)
#### 三、导入
下载 MySQL数据 [SQL文件](https://server.mini-shop.ivinetrue.com/static/files/zerd.sql)
> mysql的每条执行以「分号」结尾
```
mysql> create database zerd; # 建立数据库(zerd)
mysql> use zerd; # 进入该数据库
mysql> source /home/ubuntu/mini-shop-server/zerd.sql; # 导入「mini-shop-server」目录下的sql文件
```
> Tips: 其他数据库操作<br>
```
// 1. 获取存在的所有表
show tables;
// 2. 导入成功,可以直接查询(user表)
mysql> select * from user;
// 3. 删除数据库(zerd库)
mysql> drop database zerd;
// 4. 导出数据库
mysql>
```
### Python3.6版本的安装
查询本地的python3的版本 ```$ python3 --version```
如果不是python3.6的版本,则如下操作
```
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:jonathonf/python-3.6
$ sudo apt-get install python3.6
```
### pipenv的安装
如果还未安装pip3包管理工具,请先执行如下语句<br>
```$ sudo apt install python3-pip```
安装 pipenv<br>
```$ pip3 install pipenv```
> Tips: 其他 pipenv操作
```
$ pipenv install flask # 安装指定模块,并写入到 Pipfile中
$ pipenv install flask==1.0.2 # 安装指定版本的模块
$ pipenv uninstall flask # 卸载指定模块
$ pipenv update flask # 更新指定模块
$ pip list # 查看安装列表
$ pipenv graph # 查看安装列表,及其相应的以来
$ pipenv --venv # 虚拟环境信息
$ pipenv --py # Python解释器信息
$ pipenv --rm # 卸载当前虚拟环境
$ exit # 退出当前虚拟环境
```
### 本地启动
```
$ git clone https://github.com/Allen7D/mini-shop-server.git
$ cd mini-shop-server
$ mkdir .venv # 生成.venv文件夹,用于存放该项目的python解释器(包括后续所有安装的包依赖)
$ pipenv --python 3.6 # 指定某 Python 版本创建环境
$ pipenv shell # 激活虚拟环境 or 如果没有虚拟环境,则构建新的(默认版本)
$ pipenv install # 安装包依赖
$ python server.py run # 启动方式1:默认5000端口
$ python server.py run -p 8080 # 启动方式2:改为8080端口
$ python server.py run -h 0.0.0.0 -p 8080 # 启动方式3:以本地IP地址访问
```
### 生成临时管理员信息
```$ python fake.py```
### Pycharm的配置<sup>[[1]](#ref_1)</sup>
Pycharm中 配置 Pipenv生成的虚拟环境,并使用 **`指定端口`** 开启「Debug模式」
1. 获取该虚拟环境下 Python的解释器的路径
<div align="center">
<img alt="img" src="./media/python_interpreter.jpg" width="80%">
</div>
2. 配置指定端口号
**`Run > Edit Configurations`** <br>
写入 `run -h 0.0.0.0 8080` <br>
等同于,在终端执行 `python server.py run -h 0.0.0.0 -p 8080`
<div align="center">
<img alt="img" src="./media/debug_configurations.jpg" width="80%">
</div>
3. 开启 Debug
**`Run > Debug 'server'`**
## 目录结构
<details>
<summary>展开查看</summary>
<pre><code>
.
├── app
│ ├── __init__.py
│ ├── api
│ │ ├── v1 # v1的API接口
│ │ │ ├── __init__.py
│ │ │ ├── address.py # 用户地址
│ │ │ ├── banner.py # 推广横幅
│ │ │ ├── category.py # 分类
│ │ │ ├── client.py
│ │ │ ├── order.py # 订单
│ │ │ ├── pay.py # 支付
│ │ │ ├── product.py # 产品
│ │ │ ├── theme.py # 主题
│ │ │ ├── token.py # 令牌
│ │ │ └── user.py # 用户
│ │ └── v2 # v2的API接口
│ │ ├── __init__.py
│ │ └── file.py # 文件上传
│ ├── api_docs # 对应的 API文档
│ ├── config # 配置文件
│ │ ├── secure.py
│ │ ├── setting.py
│ │ └── wx.py
│ ├── libs # 自己的库
│ │ ├── enums.py
│ │ ├── error.py
│ │ ├── error_code.py
│ │ ├── httper.py
│ │ ├── limiter.py
│ │ ├── redprint.py
│ │ ├── scope.py
│ │ ├── swagger_filed.py
│ │ �
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
关于基于 Flask 框架开发的微信小程序后端项目,用于构建小程序商城后台,我找到了一些相关的资源和信息,这些信息可能对您的毕业设计有所帮助。 1. **mini-shop-server**: 这个项目是基于 Flask 框架开发的微信小程序后端项目,用于构建小程序商城后台。它具有电商相关功能、RBAC 权限管理,并附带自动生成 Swagger 风格的 API 文档。这个项目适合作为 Python 项目的毕业设计参考。 2. **wechat-shop-server**: 另一个类似的 Flask 项目,同样用于构建小程序商城后台。这个项目也提供了 RBAC 权限管理、Swagger 风格的 API 文档,并且适合作为 Python 项目的毕业设计参考。 3. **搭建flask后端和微信小程序前端**: 这是一个 CSDN 博客文章,介绍了如何搭建 Flask 后端和微信小程序前端。虽然这篇文章更侧重于前端和后端之间的交互,但它提供了关于如何将 Flask 用于微信小程序后端开发的一些实用信息。 这些资源涵盖了从系统设计到技术实现的各种细节,对于您的毕业设计应该是非常有用的。希望这些
资源推荐
资源详情
资源评论
收起资源包目录
基于 Flask 框架开发的微信小程序后端项目,用于构建小程序商城后台 (电商相关;rbac权限管理;附带自动生成Swagger (259个子文件)
index.css 443B
Python面向对象编程指南.epub 792KB
.gitignore 285B
index.html 1KB
error_code.html 532B
layout.html 431B
config.ini 369B
debug_configurations.jpg 257KB
wechat_pay.jpg 182KB
ali_pay.jpg 113KB
qq_group_qr_code.jpg 84KB
python_interpreter.jpg 81KB
token.json 211B
LICENSE 1KB
README.md 17KB
code.md 887B
example.pdf 992KB
招股说明书_error.pdf 97KB
招股说明书_previous.pdf 96KB
Pipfile 534B
wechat_pay_process.png 622KB
env_var.png 278KB
detail-11@1-dryfruit.png 106KB
banner-2a.png 105KB
banner-3a.png 97KB
detail-13@1-dryfruit.png 93KB
detail-10@1-dryfruit.png 76KB
detail-4@1-dryfruit.png 76KB
detail-6@1-dryfruit.png 69KB
detail-5@1-dryfruit.png 66KB
2@theme-head.png 61KB
banner-4a.png 54KB
detail-8@1-dryfruit.png 50KB
3@theme.png 48KB
detail-2@1-dryfruit.png 47KB
detail-3@1-dryfruit.png 47KB
navicat_new_database.png 46KB
1@theme-head.png 45KB
product-rice@2.png 44KB
product-fry@3.png 40KB
detail-9@1-dryfruit.png 40KB
product-fry@2.png 39KB
category-rice.png 38KB
product-cake@2.png 38KB
product-rice@3.png 37KB
product-fry@5.png 37KB
product-rice@4.png 37KB
product-rice@7.png 37KB
product-vg@5.png 35KB
product-rice@6.png 35KB
product-cake@1.png 35KB
product-rice@1.png 35KB
product-vg@2.png 35KB
product-fry@1.png 35KB
product-dryfruit@4.png 35KB
product-fry@4.png 34KB
product-dryfruit@5.png 33KB
product-cake-a@3.png 33KB
banner-1a.png 32KB
product-dryfruit@2.png 32KB
product-dryfruit@7.png 31KB
product-tea@2.png 31KB
product-vg@1.png 31KB
category-cake.png 30KB
product-dryfruit-a@6.png 29KB
2@theme.png 29KB
detail-12@1-dryfruit.png 28KB
product-dryfruit@8.png 28KB
product-dryfruit@3.png 27KB
product-tea@3.png 26KB
category-tea.png 26KB
product-cake-a@4.png 26KB
product-vg@4.png 26KB
product-vg@3.png 25KB
category-dryfruit.png 24KB
product-tea@1.png 23KB
category-vg.png 23KB
product-dryfruit@1.png 23KB
1@theme.png 22KB
category-fry-a.png 21KB
product-rice@5.png 20KB
arch.png 19KB
detail-1@1-dryfruit.png 16KB
detail-7@1-dryfruit.png 14KB
qq_group_from_lin.png 7KB
forms.py 16KB
swagger_filed.py 12KB
db.py 10KB
order.py 8KB
global_args.py 8KB
user.py 6KB
file.py 6KB
logger.py 5KB
login_verify.py 5KB
file.py 5KB
token_auth.py 5KB
utils.py 4KB
route.py 4KB
error.py 4KB
redprint.py 4KB
共 259 条
- 1
- 2
- 3
资源评论
人工智能教学实践
- 粉丝: 533
- 资源: 258
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java和Javascript的工程建设综合管理系统材料管理模块设计源码 - material
- c51_2_2.c
- ASCII American Standard Code for Information Interchange
- 一个chm格式的 SQL 函数手册-SQL语言手册文档
- 计算当前月份的天数和剩余天数
- 基于ARM的指令调度和延迟分支
- 基于Vue和TypeScript的极简聊天应用设计源码 - HasChat
- 基于Vue2全家桶和Zcool数据的图片收集网站设计源码 - cool-picture
- 基于C和C++的二维绘制工具设计源码 - DrawPro
- Object.defineProperty 的 IE 补丁object-defineproperty-ie-master.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功