图文社交平台后端原型系统 (English Version)
该原型系统为App的社交模块服务,其中所有配置信息均已清除,仅作为参考学习使用。
MoreMom App: http://www.moremom.com/
git clone https://github.com/SixingYan/MoreTime-Backend.git
cd moretime
virtualenv --no-site-packages venv # 创建虚拟环境
source venv/bin/activate # 激活虚拟环境
mkdir logs # 创建log文件夹
pip3 install -r requirements.txt # 安装flask依赖包
# /moretime/ 下
vim .env
PYTHONPATH={0}/moretime # {0}这里改成当前位置 e.g. /var/web/moretime 测试服
FLASK_APP=api/cli.py # fkask run 命令
SERVER_MODE=PRODUCTION # 选择当前运行环境 production-生产 development-开发
[esc]:wq
# /moretime 下
source venv/bin/activate # 激活虚拟环境
source .env # 激活环境变量
flask run -p 8998 # 测试上线
nohup flask run -p 8998 & # 永久上线 测试
deactivate # 退出虚拟环境
git pull # 更新代码
# kill 旧的进程
# 启动
- api.moretime: api转发
- usecase: 业务处理
- orm: 数据库操作
- task.qiniu_multi: 七牛批量操作
- util.qiniu: 根据key & bucket生成可用的url
- poster
- __init__.py 里转发各种具体操作
- 对【摩尔时光】的所有直接操作
- reply
- __init__.py 里转发各种具体操作
- 对【回复】的所有直接操作
- visible.py
- 判断当前应使用 私有/公开/无 的多媒体
- 更新 公开/私有
- authority.py
- 所有权限验证操作(包含逻辑)
- 使用关键字转发具体操作
- user.py
- 获取头像图片等用户信息
- rate.py
- 对评分相关的操作
- picture/video.py
- 对多媒体文件的具体操作
- 两者的函数内容一致,函数名称/函数排列顺序不相同
- order.py
- 对订单信息的查询
- common.py
- 一些通用的函数
- notif.py
- 【预留】消息/提醒 相关的
usecase.poster.visible()
- 更新【摩尔时光】资料
->usecase.picture.update_to_public()
->->usecase.visible.copy_to_public()
->->->task.qiniu_multi.multi_copy() - 更新所属【评论】资料
->usecase.reply.visible()
->->usecase.picture.update_to_public()
->->->usecase.visible.copy_to_public()
->->->->task.qiniu_multi.multi_copy()
- 配置文件:/api/logger
- 日志文件:/logs