微信小程序中使用云函数调用豆包免费模型,部署云函数设置(触发器)执行每日自动生成书籍的文章赏析,完整过程

这篇文章的出发点,是学习ai工程师准备的,因为我没有后端所以我需要在小程序中调用豆包模型,实现一个定时任务场景,然后开始使用云函数,便于后面学习ai工程师将小程序云开发作为后端保存数据的初次使用,云函数...

学习:

  1. 云函数的开通、使用场景
  2. 云函数从文件创建、编写、到代码使用闭环
  3. 云函数的触发器(定时任务)的添加、
  4. 代码配置和控制面板无法配置成功触发器的原因
  5. 使用脚本安装,打开线上云函数的控制面板,编辑触发器、开通标准版会员(首月3元)、免费的接口超时只有3秒
  6. 云函数与云开发的关系(待补充)

案例功能:

  1. 在模拟器中点击【我的】→ 选择《资治通鉴》或《平凡之路》
  2. 首次访问会调用云函数生成文章
  3. 刷新页面会使用缓存(秒开)
  4. 点击"重新生成"可以手动刷新

一、云函数的介绍

  1. 小程序中什么场景用云函数?
    当遇到前端无法实现 / 不安全实现的场景时需使用云函数,例如:

    需要服务端能力(如数据库读写、文件存储、第三方 API 调用)

    需要安全环境(如获取用户 OpenId、支付签名、敏感数据处理)

    需要复杂计算(如数据统计、图片处理、算法逻辑)

  2. 云函数是什么?
    云函数是运行在微信云端的 Node.js 代码片段,具备以下特点:

    无需购买服务器,由微信自动弹性扩容

    拥有完整的服务端能力(文件读写、网络请求、数据库操作)

    与小程序天然集成,可直接调用微信开放接口

  3. 如何免费使用?
    登录微信后台、云开发、开通-扫描选择小程序,点击开通云开发环境,点击勾选确定等待生成云开发环境;

    3.1 扫描后,选择小程序开通

    3.2 勾选及创建、等待创建开发环境后,进入管理页


  4. 云函数业务场景举例

二、云函数的实践案例(实现小程序内每日自动生成赏析书籍的每日学习文章)

步骤 1:开通云开发
  1. 小程序后台开通云开发(上述已完成)
步骤 2:在项目目录下创建云函数文件【默认是没有云环境】
  1. xxxx结构和创建云函数目录暂时没贴...【是否有快捷操作】
步骤 3:上传云函数

如果创建项目选的是云函数的模板项目,则执行执行下面即可,反之项目开发过程中配置云函数,手动搭建云函数目录和配置文件,则需要结合步骤2、3并行操作

  1. 在微信开发者工具左侧,找到 cloudfunctions 目录
  2. 右键点击 generateDailyArticle 文件夹
  3. 选择 "上传并部署:云端安装依赖"
  4. 等待上传完成(状态变为 ✅)
步骤 4:关联云环境【可选-视情况定】
  1. 初始化创建项目,选择云开发的模板则自带云函数目录和环境
  2. 如果是后面项目开发过程中需要使用云开发环境,则只能通过自己创建云函数目录+配置云环境(简:手动创建云函数文件夹,需要配置云开环境,否则无法执行,云函数的右键部署并安装依赖的指令)

案例:单纯配置云函数目录和代码编写,这里直接右键云函数,部署并安装的明命令报错了

配置云环境:直接点云图标(云开发控制台),在新出的控制面板进行复制环境id,到cloudbaserc目录中,最后重启微信开发者工具,因为有时候配置文件已经配置了云函数的环境,这些配置必须重启在点击图标看到项目识别到云环境了



步骤 5:配置定时触发器
  1. 在云开发控制台,就是之前的云图标点击打开
  2. 点击 generateDailyArticle 函数名
  3. 切换到 "触发器" 标签
  4. 点击 "添加触发器"
  5. 配置 Cron 表达式: 0 0 2 * * * * (每天凌晨 2 点)
  6. 点击确定

如果这么顺利就好了,一个配置触发器折腾我半天,最后发现挺坑的,

  1. 代码配置的触发器,死活不生效,清缓存、部署、重启项目来回试都没反应

  2. 打开云函数控制面板只能看,不能编辑触发器,找资料说控制面板的版本太低?

  3. 真的绝望,柳暗花明又一村,我的trae给出了一个办法真的挺不错,通过脚本安装打开云函数的线上版本的终端控制台,通过扫描进去直接找到云函数编辑触发器保存
    配置触发器方法:

  4. 进入你的项目目录:cd d:\greg-mini-project

  5. 安装 CloudBase CLI:npm install -g @cloudbase/cli

  6. 执行tcb login,浏览器打开腾讯云函数平台,微信扫描登录,找到云函数控制台,,,就很好操作了...

  7. 最后就是接口的等待时间,免费版本只有3秒,超时不候真的绝,好在后面可以开一个标准版一个月会员,首月3块,次月有点恐怖,反正用于学习够用了,

  8. 然后设置1分钟的请求频率,在微信开发者工具的云函数控制面板,终于看到自动执行任务的日志了,爽

步骤 6【一段闭环】:排查日志报错
  1. 在模拟器中点击【我的】→ 选择《资治通鉴》或《平凡之路》

  2. 首次访问会调用云函数生成文章

  3. 刷新页面会使用缓存(秒开)

  4. 点击"重新生成"可以手动刷新


三、总结

微信云函数初次使用,就是这个触发器的配置,花费时间多了,部分其他知识耽搁未记录,总的还是记录比较全

A. 触发器配置
问题

  1. 配置文件方式,配置触发器不生效
    本地config.json配置了触发器,反复部署后,微信开发者工具旧版控制台的「定时触发器」始终显示为空

原因

  1. 微信开发者工具内置的旧版 v1.6.46 云开发控制台存在界面 bug,即使触发器配置成功,界面也可能不显示;
  2. 部分版本的开发者工具,「云端安装依赖」的部署模式不会同步config.json的触发器配置到云端;
  3. 未找到新版控制台的可视化配置入口

解决

  1. 放弃本地config.json配置,直接进入腾讯云 CloudBase 新版控制台,在云函数详情页的「触发器」选项卡,可视化创建定时触发器,100% 生效;
  2. 通过实时日志验证触发器运行状态,不纠结旧版控制台的界面显示

B. 云函数部署
问题

  1. 云函数部署报错、依赖安装失败
    全量上传部署时,弹出「云函数中有未安装的依赖 node-fetch,是否确认上传」的警告

原因

  1. package.json里声明了node-fetch依赖,但本地没有执行npm install安装,node_modules文件夹不存在,全量上传时工具检测到依赖缺失

解决

  1. 右键云函数文件夹打开终端,执行npm install安装本地依赖,再执行全量上传部署

C. 触发器运行正常,云函数报错
问题

  1. 触发器每分钟正常调用云函数,但返回报错「缺少必要参数:bookType 或 date」

原因

  1. 云函数代码仅适配了「前端手动调用」的场景(前端会传入bookType和date参数),但定时触发器自动调用时,只会传入系统内置参数,不会自动传入业务必填参数,触发了代码里的参数校验规则

解决:修改云函数主入口代码,增加「定时触发器调用」的兼容逻辑

  1. 判断调用来源,若为定时触发器触发,自动填充默认的bookType;
  2. 自动生成当前日期(YYYY-MM-DD 格式),补齐必填参数;
  3. 保留原有的前端调用参数校验逻辑,不影响原有功能

D. 免费版云函数默认超时时间只有3秒
问题

  1. 腾讯云控制台里,云函数的执行超时固定为 3 秒,加号按钮无法点击,无法修改为更长时间

原因

  1. CloudBase 免费体验版(个人版)默认锁定了超时时间修改权限,免费版默认最大超时为 3 秒,该能力需要开通付费资源扩展项才能解锁

解决:开通标准版一个月会员(首月3块),

三、小程序示例代码

见下一篇文章更新,这里太长了就不贴了,

四、云函数与云开发的区别【扩展学习】

其实区别蛮大具体见另一篇文章

相关推荐
PeanutSplsh7 小时前
wx.setStorage 存的数据,没你以为的那么安全
微信小程序
帅次9 小时前
讯飞与腾讯云:Android 实时语音识别服务对比选择
android·ios·微信小程序·小程序·android studio·android runtime
he___H13 小时前
微信小程序实现两行交错功能
微信小程序·小程序
前端小木屋1 天前
uniapp与蓝牙设备连接详细步骤
前端·微信小程序
huang_jimei2 天前
【无标题】
微信小程序
Brave & Real2 天前
小程序 const 在js中以及与同类的var和let之间的差异
javascript·微信小程序·小程序
silvia_Anne2 天前
微信小程序商品列表
微信小程序·小程序
ze^03 天前
Day05 APP应用&微信小程序&原生态开发&H5+Vue技术&封装打包&反编译抓包点
vue.js·微信小程序·小程序
用户8574824354803 天前
useList 通用列表管理hook
vue.js·微信小程序
陪小甜甜赏月3 天前
微信小程序分享onShareAppMessage
前端·微信小程序·小程序