Skip to main content

seven cloudapp frame

Project description

seven_cloudapp_frame

项目简介

天志互联Python云应用框架库,提供活动管理、任务系统、用户服务、订单支付、资产管理等电商营销类业务的基础能力框架。

技术栈清单

类别 技术 版本要求
开发语言 Python ~=3.8
Web框架 Tornado 不必配置
关系型数据库 MySQL 5.7和8.0
缓存 Redis 4.0+
配置中心 Nacos 不必配置
基础框架 seven-framework >=1.2.3
淘宝API seven-top >=1.0.28

注意事项

  • 框架支持分表模式,对大数据表(如stat_log_tb、stat_report_tb等)已内置分表支持
  • 所有错误消息建议使用translation_helper进行统一翻译处理,翻译文件需放置在指定目录,支持从配置文件读取locales_dir路径
  • 框架内置多种业务帮助类(RedisHelper、WechatHelper、AlipayHelper等),优先使用框架提供的工具类

快速开始

前置条件

  • Python 3.8+
  • MySQL 5.7和8.0
  • Redis 4.0+
  • Nacos Server(可选)

安装依赖

pip install seven-cloudapp-frame

本地开发指南

目录结构概览

seven_cloudapp_frame/
├── handlers/              # 请求处理层
│   ├── client/           # 客户端接口(C端)
│   ├── server/           # 服务端接口(管理端)
│   ├── frame_base.py     # 基类Handler
│   └── core.py           # 核心路由
├── libs/                 # 工具库
│   ├── common/           # 通用组件
│   │   ├── share_config.py    # 全局配置管理
│   │   ├── frame_db.py        # 数据库操作
│   │   └── frame_tornado.py   # Tornado框架封装
│   └── customize/        # 自定义工具类
│       ├── redis_helper.py
│       ├── wechat_helper.py
│       ├── alipay_helper.py
│       └── ...
├── models/               # 数据模型层
│   ├── db_models/        # 数据库表模型
│   │   ├── act/          # 活动相关表
│   │   ├── user/         # 用户相关表
│   │   ├── task/         # 任务相关表
│   │   └── ...
│   ├── console_models/   # 控制台业务模型
│   ├── *_base_model.py   # 各业务基类模型
│   └── seven_model.py    # 基础模型
└── locales/              # 国际化翻译文件

必须配置的环境变量示例

{
  "run_port": "8080",
  "db_cloudapp": {
    "host": "localhost",
    "port": 3306,
    "user": "root",
    "password": "password",
    "database": "cloudapp_db",
    "charset": "utf8mb4"
  },
  "redis": {
    "host": "localhost",
    "port": 6379,
    "password": "",
    "db": 0
  },
  "enable_i18n": false,
  "locales_dir": "/path/to/locales",
  "nacos_config": {
    "server_addr": "localhost:8848",
    "namespace": "",
    "data_id": "cloudapp_config",
    "group": "DEFAULT_GROUP"
  },
  "test_config": {
    "user_nick": "test_nick",
    "open_id": "test_open_id",
    "source_app_id": "test_app_id",
    "client_ver": "1.0.0",
    "access_token": ""
  }
}

部署说明

数据库配置

  • 主库配置:默认db_cloudapp
  • 是否支持主从:支持
  • 分表支持:stat_log_tb、stat_report_tb、asset_log_tb、user_asset_tb、task_count_tb、user_info_tb、prize_order_tb、prize_roster_tb

配置中心

  • 支持Nacos配置中心,通过init_config_from_nacos方法初始化配置
  • 配置文件支持本地JSON文件或远程HTTP URL加载
  • 推荐生产环境使用Nacos进行配置管理

缓存

  • 使用Redis作为缓存层
  • 支持缓存失败重试机制
  • 缓存key前缀自动管理

国际化部署

  • 设置is_translate为true开启国际化
  • 配置locales_dir指向翻译文件目录
  • 支持zh_CN和zh_EN两种语言
  • 翻译文件使用JSON格式,以中文为key

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seven_cloudapp_frame-1.2.155.20.tar.gz (369.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

seven_cloudapp_frame-1.2.155.20-py3-none-any.whl (501.1 kB view details)

Uploaded Python 3

File details

Details for the file seven_cloudapp_frame-1.2.155.20.tar.gz.

File metadata

File hashes

Hashes for seven_cloudapp_frame-1.2.155.20.tar.gz
Algorithm Hash digest
SHA256 4d404329243a95c1c8a78bb4705b87120a656df28e54ae3745af8dabe42dff08
MD5 0b127ce614d8eef2eea407ac209f1e22
BLAKE2b-256 b16585ce648b06b30200080d5c4034650e34ba09656af10972cd28afcb1996c5

See more details on using hashes here.

File details

Details for the file seven_cloudapp_frame-1.2.155.20-py3-none-any.whl.

File metadata

File hashes

Hashes for seven_cloudapp_frame-1.2.155.20-py3-none-any.whl
Algorithm Hash digest
SHA256 994a8761684f134727cf011fa142daecd886929a16c0259c025505eeb015c2bc
MD5 972f4802c47dcabb7ab0ab0edddff578
BLAKE2b-256 7dcb301cec9ea45f2b4b668bb6ea7c8ae37c707d48061daabc70358274763b10

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page