云开发定时触发器_python抢手机脚本

云开发定时触发器_python抢手机脚本你也在做微信云开发?你也要使用事件触发器实现一些业务逻辑?你也发现微信开发文档屁都没有一个?那你来看看吧

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

微信开发文档对这个部分的使用资料很少,一个demo都没有,全靠开发者去尝试,下面跟随我的脚步,看看我是怎么试出来的吧。

一、在哪用

1.点击云开发:
在这里插入图片描述
2.点击“设置”->“其他设置”

在这里插入图片描述
3.往下拉
在这里插入图片描述
4.点击添加
在这里插入图片描述

二、怎么用

在这里插入图片描述
看这个图大致可以看懂,创建一个触发器,填写名称和描述之后,可以指定在一个集合上发生的某个操作(插入,删除,更新),可以指定某些字段满足某个条件的时候使用触发器。

像我们熟悉的mysql或者pg…一样,触发条件之后都会调用触发器函数,也就是上面执行动作。

重要的是触发器函数的编写。

这里执行动作可以设定触发频率,这个按照需求使用即可。

在这里插入图片描述

三、问题

触发器函数是当数据库集合满足条件时自动触发的,在做一些复杂的触发器业务逻辑的时候,我们需要知道是数据库的哪一条数据发生了改变。

举一个我遇到的业务逻辑:
背景:我们在做一个食品销售平台,现在做的部分是商家入驻到我们平台当中的模块,商家提交了自己商店的信息之后,我们工作人员需要审核商店的信息是否合法,这个时候有个isLegal的字段,当我们审核人员审核通过之后,通过cms将这个字段改为true,同时,我们要在鉴权集合当中给这个店主使用该商店的权限 (省流助手:我需要在isLegal字段被修改为true的那条数据上获取用户id还有商店的id加入到另外一个集合当中)

这个时候问题来了,我们怎么知道是哪条数据的isLegal被修改了,并且获取到该条数据的其他信息呢?

查文档?文档屁都没有一个

四、摸索

一个云函数主体就是这样:

exports.main = async (event, context) => { 
   
  //TODO
}

Jetbrains全家桶1年46,售后保障稳定

而我们调用云函数的参数一般都在event当中。
也就是说,我们应该看看,在触发器函数执行的时候,系统给它传了什么值。也就是event里面是什么。

很多人就想到了,直接console.log(event)不就行了,
但是云函数部署在云端,普通调用根本看不到console.log的值,就算是本地调试的时候,我们通过手动增删改来触发条件的时候也无法触发本地调试的时候的这个触发器函数。

这个时候,我们可以找一个集合,将event的值直接添加到该集合当中,即可看到event的值

也就是在触发器函数里写

await db.collection('test').add({ 
   data:event})

然后我们去手动触发触发器的条件。

到数据库里找这条数据

在这里插入图片描述
其他的字段都没什么意思,我们需要的是data字段的东西:
在这里插入图片描述
看到data里面的值,大家应该就知道这个触发器函数应该怎么写了。
RemovedFields:被移除的字段
dataType:触发这个条件的操作是什么类型的(add,update,delete)
doc:这里面是被修改的那条的数据的全部数据
docId:被修改的数据的_id(也就是doc里面的_id)
updatedFields:被更新的字段

我这里只是展示update的触发器的传入值,其他类型的操作读者有需要可以自行尝试。

五、关于cms的webhook

在这里插入图片描述
webhook的作用与触发器类似,读者也可以按照我这样的方式,去看看webhook的函数调用的时候event的值。

六、我对触发器函数文件夹的架构想法

先看我做的一个模块的触发器函数
文件夹:
在这里插入图片描述
一个模块的触发器可以分为多个类型的触发器(update,add,delete),我们在index.js当中根据event参数形式的值进行路由的分发:
index.js:

const update = require('./updateTriggers/index')
// 云函数入口函数
// 通关传入参数type进行路由选择
exports.main = async (event, context) => { 
   
  switch (event.data.dataType) { 
   
    case 'update':
      return await update.main(event.data,context)
  }
}

基于这个思想,
在类型下面还可以根据字段来进行路由的分发(我这里只是针对一个字段,针对多个字段也是按照这样的思想进行)
文件夹:
在这里插入图片描述
index.js

const licenceStatus = require('./licenceStatus/index')
// 云函数入口函数
// 通关传入参数type进行路由选择
exports.main = async (event, context) => { 
   
  for (let property in event.updatedFields) { 
   
    switch (property) { 
   
      case 'licenceStatus':
        return await licenceStatus.main(event, context)
    }
  }
}

而在一个字段还可以根据需求进行更细致的路由分发,这就是我的一点想法。

小结

做微信云开发最难受的的事情就是,官方给的资料极少,相关的博客更少,全靠自己一点一点试出来的,唉。
有什么没做好,希望能在评论区留言,或者私信我,感谢您的观看。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226895.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何创建oracle数据表空间,oracle创建数据库/表空间

    如何创建oracle数据表空间,oracle创建数据库/表空间||||||||||||||||||||||||简略的说||||||||||||||||||||||||||||以管理员身份登录:1.首先,创建(新)用户:createuserusernameidentifiedbypassword;username:新用户名的用户名password:新用户的密码也可以不创建新用户,而仍然用以前的用户,如:继续利用scott用户2.创建表空间:create…

    2022年7月11日
    19
  • StarUML入门教程

    StarUML入门教程声明 原文链接 StarUML 使用简明教程 作者 栾小邑 StarUML 入门教程 StarUML 简称 SU 是一种创建 UML 类图 生成类图和其他类型的统一建模语言 UML 图表的工具 StarUML 是一个开源项目之一发展快 灵活 可扩展性强 zj StarUML 官方下载地址 http staruml io downloadStar 主界面创建工程在启动 starUML 时 系统会默认帮我们创建一个工程 如果这个工程不是你想要的工程 你可以点击 File gt

    2025年6月30日
    3
  • 谈谈数据库连接池的原理及应用_常用的数据库连接池

    谈谈数据库连接池的原理及应用_常用的数据库连接池这次我们采取技术演进的方式来谈谈数据库连接池的技术出现过程及其原理,以及当下最流行的开源数据库连接池jar包。

    2022年9月17日
    3
  • Navicat连接SQL Server2000提示错误08001

    Navicat连接SQL Server2000提示错误08001数据库是SQLServer2000问题描述无论是本机的数据库还是局域网内的,都出现如图的提示使用系统自带的“SQL查询分析器”则可以访问!百度了一圈,给出的都是sql2005的解决办法请问2000该如何解决啊,先谢过~http://bbs.csdn.net/topics/390715240?page=1解决方法运行Navicat安装目录下的sqlncli.msi,选择修复(R

    2022年8月30日
    4
  • OpenGL的glPushMatrix()和glPopMatrix()矩阵栈顶操作函数详解「建议收藏」

    OpenGL中图形绘制后,往往需要一系列的变换来达到用户的目的,而这种变换实现的原理是又通过矩阵进行操作的。opengl中的变换一般包括视图变换、模型变换、投影变换等,在每次变换后,opengl将会呈现一种新的状态(这也就是我们为什么会成其为状态机)。    有时候在经过一些变换后我们想回到原来的状态,就像我们谈恋爱一样,换来换去还是感觉初恋好,怎么办?强大的opengl就帮我们提

    2022年4月7日
    116
  • 新书上市 | 世界名校数据挖掘经典《斯坦福数据挖掘教程(第3版)》「建议收藏」

    新书上市 | 世界名校数据挖掘经典《斯坦福数据挖掘教程(第3版)》「建议收藏」题图|作者为ScottUllman《斯坦福数据挖掘教程(第3版)》上架之后,这是我们第一次整篇文章介绍这本书。这本书相当受欢迎(前两个版本累计销量超过5万册),尤其是受学校青…

    2022年6月26日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号