先前曾总结了2篇文章(见:《log4js按分类和日期存储为多文件问题》和《使用定时任务解决log4js的按日期存储问题》)描述如何解决log4js的按日期存储问题,然而,通过日志可以发现,前述方案虽然解决了操作日志的按日期存储问题,却并没有解决通过log4js.connectLogger中间件方式产生的访问日志的按日...[阅读全文] 国内接入Google Gemini全过程详解(附适配国内环境的Google Gemini Node.js SDK安装包)。[阅读全文] 近日,在进行多租户改造时,增加了一个查询条件,却导致了意外的发生……原本的查询是这样的:this.userModel .findByPk(userId, { attributes: attrs, include: [ { model: UserMetaModel, attributes: ['metaKey', 'metaValue'] } ] }) .t...[阅读全文] 题记在 OpenAI SDK 刚发布 v4.0 几天(发布 v4.2 几个小时)后,很巧合地进行了更新,于是成了第一批吃螃蟹的人……此文原本应在更新、发布上线的当天(OpenAI SDK v4.2 发布后的第二天)进行总结并发布,或许,可以帮到一众同样遇到升级问题的小伙伴;然而,彼时正焦头烂额于...[阅读全文] 近日,在做对话分享时,遇到一个关联查询时的排序问题……最初,按照直觉,直接在include中定义了order:include: [ { model: BotMessageModel, where: { messageStatus: BotMessageStatus.NORMAL }, order: [['messageCreated', 'asc']] }]但发现查询返...[阅读全文] 内容提要:如何解决本地开发环境调用 OpenAI API 需要梯子的问题?如何配置 Nginx 反向代理?Nest.js 如何调用 OpenAI SDK?如何解决Error: Request failed with status code 404问题?如何解决Error: Request failed with status code 502问题?如何解决Error: Request failed wi...[阅读全文] 众所周知,JWT token 是无状态的,前端请求携带加密后的 token 到后端,后端解密后进行登录态和权限的校验等,整个过程中 token 一旦生成就无法撤销、销毁,直至其到期失效。这就产生了一个问题,在 token 失效前如果手动点击了“退出登录”,我们能做的只是销毁客户端(浏览器)缓存的 t...[阅读全文] 线上环境中,用户通过微博注册后,直接使用微博授权接口返回的用户信息显示头像发现显示的是一个叉叉;而在新窗口中打开头像时,返回的是 403 Forbidden 错误。诡异的是,开发环境通过 localhost 域名访问却是一切正常。很明显,初步判断是微博做了防盗链所致。然而,图片不像 API 接口,可以通过...[阅读全文] 在爬取壁纸的时候,需要将其下载到本地,本着不重复造轮子的信念,想着是否有成熟的三方库可以直接调用,逛了一圈后,发现最近更新是在三年前!o(╯□╰)o无奈,只能自己“造个轮子”了……一般的方式是先调用http接口发起请求爬取图片,然后再调用文件接口保存图片。如下:http...[阅读全文]