


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序列化输出
└── 路由分发处理完成