尝试了很多次在gemini-2.0的输入部分添加图片和附件都以api调取失败告终。但是通过colab测试发现2.0模型是支持这样的功能的。而且官网也可以做到,多模态输入+tools。只是可能我目前还没办法正确调用。而且因为后端的配置模式通过workers也比较复杂。有机会重新学习下再组合。
近期有个非常“紧急”的出行任务,去阿勒泰。需要快速的准备一下。
kv_namespaces = [
{ binding = "TRAVEL_DATA", id = "a12b9591362449f693a97bxxxxxxxxxx" }
]
但是一直都无法正常部署,即使使用 wrangler deploy --keep-vars也未能保留原有通过网页端配置的kv库。 早上参考配置成功的D1和R2的写法,一下子成功了:
[[kv_namespaces]]
binding = "TRAVEL_DATA"
id = "a12b9591362449f693a97bxxxxxxxxxx"
<EditableTable
pageId="trip-2025-01-yuandan"
tableId="schedule"
:headers="['时间', '地点', '活动', '图片', '费用', '备注']"
:columnConfig="{
'时间': {
type: 'datetime',
placeholder: '请选择时间'
},
'地点': {
type: 'text',
placeholder: '请输入地点'
},
'活动': {
type: 'text',
placeholder: '请输入活动内容'
},
'图片': { // 添加图片列配置
type: 'image',
placeholder: '点击上传图片'
},
'费用': {
type: 'number',
min: 0,
decimals: 2,
placeholder: '请输入费用'
},
'备注': {
type: 'text',
placeholder: '可选'
}
}"
/>
1. 表格基础功能
tableData.value
响应式数据)addRow()
和 removeRow(rowIndex)
实现行的增删v-model
实现单元格实时编辑handleUnlock()
实现密码保护的编辑功能2. 文件管理功能
handleFileChange()
处理多种类型文件上传previewFile(file)
根据文件类型智能处理预览/下载deleteFile(file)
实现文件删除handleCellImageChange()
处理图片类型单元格的特殊上传3. 数据持久化
handleTableContent()
管理 KV 中的表格数据handleFileUpload()
处理 R2 中的文件存储loadData()
实现数据自动同步和更新1. 数据处理
unusedAttachments
计算属性过滤重复文件formatDisplayValue()
处理不同类型数据的显示格式getColumnTotal()
实现数值列的自动合计2. 文件处理
isImageFile()
判断文件类型formatFileSize()
格式化文件大小显示getFileIcon()
根据文件类型显示对应图标3. 安全性
1. KV 存储
${pageId}:${tableId}
作为唯一键2. R2 存储
${pageId}/${tableId}/${timestamp}_${filename}
的文件路径结构1. 交互设计
2. 界面优化
3. 错误处理
这个组件通过结合 Cloudflare KV 和 R2 服务,实现了一个企业级的可编辑表格系统,特别适合需要文件管理的场景。
为了方便编辑表格,我尝试设计了一个表格组件,在需要的日志可以插入。同时尝试使用Cloudflare的KV来存储数据,目前可以正常保存和读取。但是在toml部署的时候,无法正确的binding。所以每次需要手动在页面端设置。
探索性的功能已经有了一个基本的眉目,通过Gemini-2.0实现了大语音模型与地图、视频、搜索等功能的智能结合。虽然还只是一个非常粗浅的雏形。
下一个阶段我想先把已有的功能做一个规划,同时结合曾经旅行经历以及未来出行计划的撰写,来丰富博客内容。并且看一下实际应用过程中有哪些问题和结合点。
尝试记录2025年1月1日的有趣的一天。并且优化博客的导航。
<PasswordProtected pageId="PageID">
# 加密内容
这里是需要密码才能查看的内容...
</PasswordProtected>