Metadata-Version: 2.1
Name: seven-cloudapp-frame
Version: 1.2.155.20
Summary: seven cloudapp frame
Home-page: http://gitlab.tdtech.gao7.com/TaoBaoCloud/seven_cloudapp_frame.git
Author: seven
Author-email: tech@gao7.com
License: MIT
Platform: UNKNOWN
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: ~=3.4
Description-Content-Type: text/markdown
Requires-Dist: seven-framework (>=1.2.3)
Requires-Dist: seven-top (>=1.0.28)
Requires-Dist: asq (==1.3)
Requires-Dist: emoji (==1.6.1)
Requires-Dist: xmltodict (==0.12.0)
Requires-Dist: requests (==2.32.3)
Requires-Dist: requests-pkcs12 (==1.25)
Requires-Dist: mmh3 (==3.0.0)
Requires-Dist: bce-python-sdk (==0.8.61)

# seven_cloudapp_frame

## 项目简介

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

## 技术栈清单

| 类别 | 技术 | 版本要求 |
|------|------|----------|
| 开发语言 | Python | ~=3.8 |
| Web框架 | Tornado | 不必配置 |
| 关系型数据库 | MySQL | 5.7和8.0 |
| 缓存 | Redis | 4.0+ |
| 配置中心 | Nacos | 不必配置 |
| 基础框架 | seven-framework | &gt;=1.2.3 |
| 淘宝API | seven-top | &gt;=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（可选）

### 安装依赖

```bash
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/              # 国际化翻译文件
```

## 必须配置的环境变量示例

```json
{
  "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

---


