tuchuang_myfiles&&share文件列表_共享文件



ApiMyfiles() # 我的文件列表接口主入口

├── QueryParseKeyValue() # 解析URL中的cmd参数

├── 根据cmd分发到不同处理逻辑

│ ├── cmd = "count" → 处理文件数量查询

│ │ ├── decodeCountJson() # 解析数量查询JSON数据

│ │ │ ├── jsonReader.parse() # JSON字符串解析

│ │ │ ├── root"user".asString() # 提取用户名

│ │ │ └── root"token".asString() # 提取Token

│ │ ├── VerifyToken() # 验证用户Token有效性

│ │ ├── handleUserFilesCount() # 处理文件数量查询

│ │ │ └── getUserFilesCount() # 查询用户文件总数

│ │ │ ├── FormatString() # 格式化SQL查询语句

│ │ │ ├── db_conn->ExecuteQuery() # 执行SQL查询

│ │ │ ├── result_set->Next() # 遍历查询结果

│ │ │ └── result_set->GetInt() # 获取文件数量

│ │ └── encodeCountJson() # 封装数量查询响应

│ │ ├── root"code" = ret # 设置状态码

│ │ ├── root"total" = total # 设置文件总数

│ │ └── writer.write(root) # JSON序列化输出

│ └── cmd = "normal" → 处理文件列表查询

│ ├── decodeFileslistJson() # 解析文件列表JSON数据

│ │ ├── jsonReader.parse() # JSON字符串解析

│ │ ├── root"user".asString() # 提取用户名

│ │ ├── root"token".asString() # 提取Token

│ │ ├── root"start".asInt() # 提取分页起始位置

│ │ └── root"count".asInt() # 提取每页数量

│ ├── VerifyToken() # 验证用户Token有效性

│ └── getUserFileList() # 获取用户文件列表

│ ├── getUserFilesCount() # 先查询文件总数

│ ├── FormatString() # 格式化分页SQL查询

│ ├── db_conn->ExecuteQuery() # 执行文件列表查询

│ ├── 遍历查询结果集 # 逐个处理文件信息

│ │ ├── result_set->GetString() # 获取文件名

│ │ ├── result_set->GetString() # 获取MD5

│ │ ├── result_set->GetString() # 获取创建时间

│ │ ├── result_set->GetInt() # 获取分享状态

│ │ ├── result_set->GetInt() # 获取下载次数

│ │ ├── result_set->GetString() # 获取文件URL

│ │ ├── result_set->GetInt() # 获取文件大小

│ │ └── result_set->GetString() # 获取文件类型

│ ├── 构建JSON文件数组 # 组装文件列表数据

│ └── JSON序列化输出 # 返回文件列表结果

└── 路由分发处理完成

复制代码
ApiSharepicture()                          # 分享图片接口主入口
├── QueryParseKeyValue()                   # 解析URL中的cmd参数
├── 根据cmd分发到不同处理逻辑
│   ├── cmd = "share" → 处理图片分享
│   │   ├── decodeSharePictureJson()       # 解析分享图片JSON数据
│   │   │   ├── jsonReader.parse()         # JSON字符串解析
│   │   │   ├── root["token"].asString()   # 提取Token
│   │   │   ├── root["user"].asString()    # 提取用户名
│   │   │   ├── root["md5"].asString()     # 提取文件MD5
│   │   │   └── root["filename"].asString() # 提取文件名
│   │   └── handleSharePicture()           # 处理图片分享
│   │       ├── CDBManager::getInstance()  # 获取数据库管理器实例
│   │       ├── GetDBConn("tuchuang_slave") # 获取从数据库连接
│   │       ├── RandomString(32)           # 生成随机URL MD5
│   │       ├── time() & localtime()       # 获取当前时间
│   │       ├── FormatString()             # 格式化SQL插入语句
│   │       ├── db_conn->ExecuteCreate()   # 执行SQL插入操作
│   │       └── encodeSharePictureJson()   # 封装分享响应
│   │           ├── root["code"] = ret     # 设置状态码
│   │           ├── root["urlmd5"] = urlmd5 # 设置分享URL MD5
│   │           └── writer.write(root)     # JSON序列化输出
│   ├── cmd = "browse" → 处理图片浏览
│   │   ├── decodeBrowsePictureJson()      # 解析浏览图片JSON数据
│   │   │   ├── jsonReader.parse()         # JSON字符串解析
│   │   │   └── root["urlmd5"].asString()  # 提取URL MD5
│   │   └── handleBrowsePicture()          # 处理图片浏览
│   │       ├── CDBManager::getInstance()  # 获取数据库管理器实例
│   │       ├── GetDBConn("tuchuang_master") # 获取主数据库连接
│   │       ├── FormatString()             # 格式化查询SQL
│   │       ├── db_conn->ExecuteQuery()    # 执行分享信息查询
│   │       │   └── result_set->Next()     # 遍历查询结果
│   │       │       ├── GetString("user")  # 获取用户名
│   │       │       ├── GetString("filemd5") # 获取文件MD5
│   │       │       ├── GetString("file_name") # 获取文件名
│   │       │       ├── GetInt("pv")       # 获取访问次数
│   │       │       └── GetString("create_time") # 获取创建时间
│   │       ├── FormatString()             # 格式化文件URL查询SQL
│   │       ├── db_conn->ExecuteQuery()    # 执行文件信息查询
│   │       │   └── result_set->Next()     # 遍历查询结果
│   │       │       └── GetString("url")   # 获取文件URL
│   │       ├── FormatString()             # 格式化更新PV SQL
│   │       ├── db_conn->ExecuteUpdate()   # 执行PV更新操作
│   │       └── encodeBrowselPictureJson() # 封装浏览响应
│   │           ├── root["code"] = ret     # 设置状态码
│   │           ├── root["pv"] = pv        # 设置访问次数
│   │           ├── root["url"] = url      # 设置文件URL
│   │           ├── root["user"] = user    # 设置用户名
│   │           ├── root["time"] = time    # 设置创建时间
│   │           └── writer.write(root)     # JSON序列化输出
│   └── cmd = "normal" → 处理分享图片列表
│       ├── decodePictureListJson()        # 解析图片列表JSON数据
│       │   ├── jsonReader.parse()         # JSON字符串解析
│       │   ├── root["token"].asString()   # 提取Token
│       │   ├── root["user"].asString()    # 提取用户名
│       │   ├── root["start"].asInt()      # 提取分页起始位置
│       │   └── root["count"].asInt()      # 提取每页数量
│       └── handleGetSharePicturesList()   # 获取分享图片列表
│           ├── CDBManager::getInstance()  # 获取数据库管理器实例
│           ├── GetDBConn("tuchuang_slave") # 获取从数据库连接
│           ├── getSharePicturesCount()    # 获取分享图片总数
│           │   └── DBGetSharePictureCountByUsername() # 查询用户分享图片数
│           ├── sprintf()                  # 格式化分页查询SQL
│           ├── db_conn->ExecuteQuery()    # 执行图片列表查询
│           ├── 遍历查询结果集             # 逐个处理图片信息
│           │   ├── result_set->Next()     # 遍历查询结果
│           │   ├── GetString("user")      # 获取用户名
│           │   ├── GetString("filemd5")   # 获取文件MD5
│           │   ├── GetString("file_name") # 获取文件名
│           │   ├── GetString("urlmd5")    # 获取分享URL MD5
│           │   ├── GetInt("pv")           # 获取访问次数
│           │   ├── GetString("create_time") # 获取创建时间
│           │   └── GetInt("size")         # 获取文件大小
│           ├── 构建JSON文件数组           # 组装图片列表数据
│           └── root.toStyledString()      # JSON序列化输出
└── 路由分发处理完成
相关推荐
czzxxxxxx2 分钟前
知识IP卡在变现第一步:创客匠人用一套陪跑系统回答“谁来陪你落地”
大数据·人工智能
Java 码思客3 分钟前
【Redis分布式缓存实战】第2章 Redis核心数据结构与业务实战场景
redis·分布式·缓存
无聊的老谢4 分钟前
Vue 3 + Leaflet 实现高性能 Web GIS 基站监控平台
前端·javascript·vue.js
j7~4 分钟前
【MYSQL】索引特性--详解
数据库·mysql·索引操作·索引的理解·mysql与磁盘·b+树与mysql
之歆5 分钟前
Day23_Bootstrap 前端框架完全指南:从栅格系统到组件化开发
开发语言·前端·javascript·前端框架·bootstrap·ecmascript·less
前端 贾公子5 分钟前
3.响应式系统基础:从发布订阅模式的角度理解 Vue2 的数据响应式原理(上)
前端·javascript·vue.js
2501_940041749 分钟前
纯前端高阶实战:涵盖3D、音频可视化与复杂交互的开发命题
前端
AIFQuant9 分钟前
外汇交易平台技术栈深度解析:行情 API、清算、风控、前端一体化方案
前端·python·websocket·金融·restful
Rick19931 小时前
Redis 分布式锁 + 部署模式
redis·分布式
NiceCloud喜云8 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring