feat(渲染能力): 完善三维渲染、字体及版本保存
build.yaml / build (push) Successful in 2m39s

This commit is contained in:
xiaoqidun committed 2026-10-11 10:20:14 +08:00
1 parent 13dbacad15
commit f71000befd
45 files changed
+4383 -422

No files matched your search

+26
View File
@@ -17,6 +17,7 @@ package ofdgo
import (
"archive/zip"
"bytes"
"context"
"encoding/xml"
"fmt"
"io"
@@ -546,6 +547,31 @@ func (r *Reader) readFileView(name string) ([]byte, error) {
return data, err
}
// readFileViewContext 读取包内文件并响应取消,已加载数据直接借用
// 入参: ctx 取消上下文, name 文件名
// 返回: []byte 只读文件内容, error 读取或取消错误
func (r *Reader) readFileViewContext(ctx context.Context, name string) ([]byte, error) {
if err := ctx.Err(); err != nil {
return nil, err
}
if data, ok := r.files[cleanPackagePath(name)]; ok {
return data, nil
}
input, err := r.openFile(name)
if err != nil {
return nil, err
}
defer input.Close()
data, err := io.ReadAll(imageInput{ReadCloser: input, context: ctx})
if err != nil {
return nil, err
}
if err := ctx.Err(); err != nil {
return nil, err
}
return data, nil
}
// readFileData 统一解析包内路径并区分缓存借用与独立读取
// 入参: name 文件名
// 返回: []byte 文件内容, bool 是否借用缓存, error 错误信息