recaptcha-v3 相关问题


验证 reCaptcha 的正确 URL

我正在编写一个 scala 后端来验证用户是否正确完成了验证码,但我不清楚要使用哪个 URL。 reCaptcha 网站告诉我们使用 http://www.google.com/recaptcha/api/veri...


切换 range-v3 的包含标头顺序后编译失败

当我在range-v3 v0.12.0中一起使用views::set_intersection和views::transform时,标题range/v3/view/set_algorithm.hpp和range/v3/view/transform.hpp的顺序很重要。如果是前者


AWS Cloudfront 多种行为

我正在配置 AWS CloudFront。我有两条后端路线 /api/v3/test1/统计 /api/v3/test2/主题 我创建了 2 个行为 /api/v3/*/统计信息 /api/v3/*/主题 我正在使用预定义的策略


YouTube API V3 - 获取新提要的推荐视频

关于实施和迁移到 API V3 的 YouTube 官方文档,他们说: YouTube 数据 API (v2) 功能:检索视频推荐 v3 API 不会检索以下列表


无法使用 API v3 刷新反射

我正在尝试发出请求以触发数据集的反射刷新: 字符串 url = "https://dremio-ee.k8s...net/api/v3/dataset//reflection";


reCAPTCHA Enterprise 中的严重安全漏洞

我正在构建一个 Flutter 应用程序,并且使用 Firebase Auth 进行身份验证。我最近通过 Play 商店部署了 Flutter 应用程序,但收到以下消息: 您最新的生产...


如何使用 YouTube API 版本 3 获取视频时长?

我正在使用 YouTube API v3 来搜索 YouTube。 https://developers.google.com/youtube/v3/docs/search 如您所见,响应 JSON 不包含视频时长。有没有办法获得视频硬膜...


移动特定机器人检测

我想确保我的移动应用程序能够抵御机器人攻击。 我发现移动应用程序的 reCAPTCHA 实现并不理想,因为它是为网络浏览器设计的。有什么帮助吗


Powershell v3 New-Job每天重复触发

Powershell v3 附带了所有这些新的作业调度 cmdlet。它们看起来很棒,但我在创建特定触发器时遇到困难。我需要每天运行一项工作,每小时重复一次,特别是......


我的 iOS 应用程序使用 Youtube API v3 时出现“意外响应数据(上传到错误的 URL?)”

我正在为我的iOS应用程序开发将视频上传到YouTube的功能。 所以我使用 YouTube API v3 的 GTLYoutube 库。 我认为 OAuth2 步骤可能在我的应用程序上成功了。 但是当我的应用程序上传时...


Google Maps API v3 Noop 算法 (MarkerClusterer) 不起作用

我正在尝试通过内置标记聚类算法渲染〜2000个谷歌地图标记。 GridAlgorithm 和 SuperClusterAlgorithm 工作正常并渲染集群,但 NoopAlgorithm 的


dplyr:用最后一列的数据进行变异

我想使用数据框最后一列的数据创建一个新列: df <- matrix(1:4, ncol = 2) %>% as.data.frame() df %>% 变异(V3 = .[[ncol(.)]] * 2) 有没有更容易重...


如何通过命令行在组织下创建GitHub存储库?

据我了解,要在命令行上创建个人存储库,使用 GitHub v3 API,可以执行此操作(适当替换 USERNAME 和 REPONAME): 卷曲 -u '用户名' https://...


Nightwatchjs - 从全局文件中提取值

我正在使用 nightwatchjs (v3.x) 来运行我的测试脚本,我刚刚引入了一些 before 和 beforeEach 挂钩来帮助完成这些测试。 因此,在我的 globals.js 文件中,我有以下代码(即


(0 , core_1.default) 不是使用 @middy/core 的 lambda 处理程序上的函数

我正在尝试在我的 lambda 中间件上使用 middy,我的堆栈是使用 TypeScript 和 Serverless v3、Node.js v18 创建的。 有一个最小生殖的例子: tsconfig.json: { “编译器操作...


Chrome 扩展 V3 离屏音频由于“接收端不存在”而无法工作。

我正在尝试在服务人员发送消息后播放声音。我一直在遵循本指南,但它总是交替提供以下错误: “未捕获(承诺)呃...


Windows 10 IOT Core,普通 C++ dll 和 C# 代码支持?

我有一个基于 OpenCV v3 用 C++ 编写的实时图像处理 DLL 和一个基于该 dll 的带有 GUI 的 C# 程序。我想在 Windows 10 IOT 核心中使用该 dll,可以吗? DLL 就是我们...


无法从 Javascript v3 客户端连接到 Localstack SQS

创建 Localstack 实例进行测试时:我可以创建一个队列,并且通过 AWS CLI 一切似乎都工作正常。我可以看到它存在并发送/接收消息。 但是当我尝试使用


我在使用 youtube v3 api 和 RAPIDAPI 时不断收到错误消息

我在 youtube 上使用 javascript mastery API 课程来尝试创建 YouTube 克隆,但是在尝试使用 API 获取视频时,我遇到了一些错误,并且 React 应用程序停止了重新渲染。


Chrome 扩展:在网页中的任何其他 JS 之前运行可访问窗口的自定义 JS

我正在编写Chrome扩展(manifest v3),主要目的是覆盖一些Window本机函数并在任何其他网页脚本可以访问它们之前替换它们。 我有 contentscript.js


未提供配置文件:找不到 docker compose up --scale chrome=5

这可能看起来与现有的解决方案类似,但我已经尝试了那里提到的所有解决方案,但似乎没有一个解决方案可以解决我的问题。 我创建了一个 docker compose 文件,Docker-Compose-V3.yml...


Vue 3如何获取$children的信息

这是我在 Tabs 组件中使用 VUE 2 的旧代码: 创建(){ this.tabs = this.$children; } 标签: .... 这是我在 Tabs 组件中使用 VUE 2 的旧代码: created() { this.tabs = this.$children; } 标签: <Tabs> <Tab title="tab title"> .... </Tab> <Tab title="tab title"> .... </Tab> </Tabs> VUE 3: 如何使用组合 API 获取有关 Tabs 组件中子项的一些信息?获取长度,迭代它们,并创建选项卡标题,...等?有任何想法吗? (使用组合API) 这是我现在的 Vue 3 组件。我使用 Provide 来获取子 Tab 组件中的信息。 <template> <div class="tabs"> <div class="tabs-header"> <div v-for="(tab, index) in tabs" :key="index" @click="selectTab(index)" :class="{'tab-selected': index === selectedIndex}" class="tab" > {{ tab.props.title }} </div> </div> <slot></slot> </div> </template> <script lang="ts"> import {defineComponent, reactive, provide, onMounted, onBeforeMount, toRefs, VNode} from "vue"; interface TabProps { title: string; } export default defineComponent({ name: "Tabs", setup(_, {slots}) { const state = reactive({ selectedIndex: 0, tabs: [] as VNode<TabProps>[], count: 0 }); provide("TabsProvider", state); const selectTab = (i: number) => { state.selectedIndex = i; }; onBeforeMount(() => { if (slots.default) { state.tabs = slots.default().filter((child) => child.type.name === "Tab"); } }); onMounted(() => { selectTab(0); }); return {...toRefs(state), selectTab}; } }); </script> 选项卡组件: <script lang="ts"> export default defineComponent({ name: "Tab", setup() { const index = ref(0); const isActive = ref(false); const tabs = inject("TabsProvider"); watch( () => tabs.selectedIndex, () => { isActive.value = index.value === tabs.selectedIndex; } ); onBeforeMount(() => { index.value = tabs.count; tabs.count++; isActive.value = index.value === tabs.selectedIndex; }); return {index, isActive}; } }); </script> <template> <div class="tab" v-show="isActive"> <slot></slot> </div> </template> 哦伙计们,我解决了: this.$slots.default().filter(child => child.type.name === 'Tab') 对于想要完整代码的人: 标签.vue <template> <div> <div class="tabs"> <ul> <li v-for="tab in tabs" :class="{ 'is-active': tab.isActive }"> <a :href="tab.href" @click="selectTab(tab)">{{ tab.name }}</a> </li> </ul> </div> <div class="tabs-details"> <slot></slot> </div> </div> </template> <script> export default { name: "Tabs", data() { return {tabs: [] }; }, created() { }, methods: { selectTab(selectedTab) { this.tabs.forEach(tab => { tab.isActive = (tab.name == selectedTab.name); }); } } } </script> <style scoped> </style> 标签.vue <template> <div v-show="isActive"><slot></slot></div> </template> <script> export default { name: "Tab", props: { name: { required: true }, selected: { default: false} }, data() { return { isActive: false }; }, computed: { href() { return '#' + this.name.toLowerCase().replace(/ /g, '-'); } }, mounted() { this.isActive = this.selected; }, created() { this.$parent.tabs.push(this); }, } </script> <style scoped> </style> 应用程序.js <template> <Tabs> <Tab :selected="true" :name="'a'"> aa </Tab> <Tab :name="'b'"> bb </Tab> <Tab :name="'c'"> cc </Tab> </Tabs> <template/> 我扫描子元素的解决方案(在对 vue 代码进行大量筛选之后)是这样的。 export function findChildren(parent, matcher) { const found = []; const root = parent.$.subTree; walk(root, child => { if (!matcher || matcher.test(child.$options.name)) { found.push(child); } }); return found; } function walk(vnode, cb) { if (!vnode) return; if (vnode.component) { const proxy = vnode.component.proxy; if (proxy) cb(vnode.component.proxy); walk(vnode.component.subTree, cb); } else if (vnode.shapeFlag & 16) { const vnodes = vnode.children; for (let i = 0; i < vnodes.length; i++) { walk(vnodes[i], cb); } } } 这将返回子组件。我对此的用途是我有一些通用的对话框处理代码,用于搜索子表单元素组件以咨询其有效性状态。 const found = findChildren(this, /^(OSelect|OInput|OInputitems)$/); const invalid = found.filter(input => !input.checkHtml5Validity()); 如果你复制粘贴与我相同的代码 然后只需向“选项卡”组件添加一个创建的方法,该方法将自身添加到其父级的选项卡数组中 created() { this.$parent.tabs.push(this); }, 使用脚本设置语法,您可以使用useSlots:https://vuejs.org/api/sfc-script-setup.html#useslots-useattrs <script setup> import { useSlots, ref, computed } from 'vue'; const props = defineProps({ perPage: { type: Number, required: true, }, }); const slots = useSlots(); const amountToShow = ref(props.perPage); const totalChildrenCount = computed(() => slots.default()[0].children.length); const childrenToShow = computed(() => slots.default()[0].children.slice(0, amountToShow.value)); </script> <template> <component :is="child" v-for="(child, index) in childrenToShow" :key="`show-more-${child.key}-${index}`" ></component> </template> 我对 Ingrid Oberbüchler 的组件做了一个小改进,因为它不支持热重载/动态选项卡。 在 Tab.vue 中: onBeforeMount(() => { // ... }) onBeforeUnmount(() => { tabs.count-- }) 在 Tabs.vue 中: const selectTab = // ... // ... watch( () => state.count, () => { if (slots.default) { state.tabs = slots.default().filter((child) => child.type.name === "Tab") } } ) 我也遇到了同样的问题,在做了很多研究并问自己为什么他们删除了$children之后,我发现他们创建了一个更好、更优雅的替代方案。 这是关于动态组件的。 (<component: is =" currentTabComponent "> </component>). 我在这里找到的信息: https://v3.vuejs.org/guide/component-basics.html#dynamic-components 希望这对你有用,向大家问好!! 我发现这个更新的 Vue3 教程使用 Vue 插槽构建可重用的选项卡组件对于与我相关的解释非常有帮助。 它使用 ref、provide 和ject 来替换我遇到同样问题的this.tabs = this.$children;。 我一直在遵循我最初发现的构建选项卡组件(Vue2)的教程的早期版本创建您自己的可重用 Vue 选项卡组件。 根据 Vue 文档,假设您在 Tabs 组件下有一个默认插槽,您可以直接在模板中访问该插槽的子级,如下所示: // Tabs component <template> <div v-if="$slots && $slots.default && $slots.default()[0]" class="tabs-container"> <button v-for="(tab, index) in getTabs($slots.default()[0].children)" :key="index" :class="{ active: modelValue === index }" @click="$emit('update:model-value', index)" > <span> {{ tab.props.title }} </span> </button> </div> <slot></slot> </template> <script setup> defineProps({ modelValue: Number }) defineEmits(['update:model-value']) const getTabs = tabs => { if (Array.isArray(tabs)) { return tabs.filter(tab => tab.type.name === 'Tab') } else { return [] } </script> <style> ... </style> 并且 Tab 组件可能类似于: // Tab component <template> <div v-show="active"> <slot></slot> </div> </template> <script> export default { name: 'Tab' } </script> <script setup> defineProps({ active: Boolean, title: String }) </script> 实现应类似于以下内容(考虑一组对象,每个部分一个,带有 title 和 component): ... <tabs v-model="active"> <tab v-for="(section, index) in sections" :key="index" :title="section.title" :active="index === active" > <component :is="section.component" ></component> </app-tab> </app-tabs> ... <script setup> import { ref } from 'vue' const active = ref(0) </script> 另一种方法是使用 useSlots,如 Vue 文档(上面的链接)中所述。 在 3.x 中,$children 属性已被删除并且不再受支持。相反,如果您需要访问子组件实例,他们建议使用 $refs。作为数组 https://v3-migration.vuejs.org/writing-changes/children.html#_2-x-syntax 在 3.x 版本中,$children 已被删除且不再受支持。使用 ref 访问子实例。 <script setup> import { ref, onMounted } from 'vue' import ChildComponent from './ChildComponent .vue' const child = ref(null) onMounted(() => { console.log(child.value) // log an instance of <Child /> }) </script> <template> <ChildComponent ref="child" /> </template> 详细信息:https://vuejs.org/guide/essentials/template-refs.html#template-refs 基于@Urkle的回答: /** * walks a node down * @param vnode * @param cb */ export function walk(vnode, cb) { if (!vnode) return; if (vnode.component) { const proxy = vnode.component.proxy; if (proxy) cb(vnode.component.proxy); walk(vnode.component.subTree, cb); } else if (vnode.shapeFlag & 16) { const vnodes = vnode.children; for (let i = 0; i < vnodes.length; i++) { walk(vnodes[i], cb); } } } 除了已接受的答案之外: 而不是 this.$root.$children.forEach(component => {}) 写 walk(this.$root, component => {}) 这就是我让它为我工作的方式。


© www.soinside.com 2019 - 2024. All rights reserved.