
考虑到之前的问题,如果采用原始的硬编码,很快就会陷入自己挖的大坑。
所以,就需要一些大多数VFP开发者所说的“技巧”--其实就是所谓的设计模式--来达到目的。
当然,单一的设计模式肯定是不够的,需要综合几种设计模式来达到目的。作为一个生产级别的组件,首先需要验证的是它是否“胜任”。所以,我就使用 Ollama 的搜索 API 做了第一步。下面是它的测试程序:
Clear
Set Classlib To websearchmanager.vcx
Local loObj As websearchmanager of websearchmanager.vcx
Local loReturn As Collection
loObj = CreateObject([websearchmanager])
loReturn = m.loObj.Search([VFP如何访问PLC])
For each loItem in loReturn
? m.loItem.Title
? m.loItem.Link
? Left(m.loItem.Snippet, 50)
? "=============="
EndFor 输出:

输出完美!可替换的“搜索引擎”,统一的输出格式。AnythingLLM 的相关设计理念在VFP中被完美的复刻了出来。所以,就可以添加其他的“搜索引擎”来解决所谓的“免费”问题了。。。