以下是活动奖励,大家跟着我的步骤做任务轻轻松松能得 16 分,也就是 800 云资源券。
积分数 | 可兑换奖品( 2 选 1 ) | 限量说明 |
---|---|---|
4 分 | 200 元云资源券 | 无限制 |
8 分 | 400 元云资源券 | 无限制 |
12 分 | 600 元云资源券 400 元云资源券 + 开发者定制帆布包 |
帆布包限量 |
14 分 | 700 元云资源券 1099 元工作级认证代金券 |
代金券限量 50 张 |
16 分 | 800 元云资源券 600 元云资源券 + 云宝盲盒 |
盲盒限量 100 个 |
20 分 | 1000 元云资源券 700 元云资源券 + 开发者定制双肩包 |
双肩包限量 50 个 |
50 分 | 1200 元云资源券 900 元云资源券 + 开发者定制水杯 |
水杯限量 50 个 |
积分榜二(≥100 分) | 1500 元云资源券 1200 元云资源券 + 华为耳机 FreeBuds SE2 |
限量 |
积分榜一(≥200 分) | 2000 元云资源券 1500 元云资源券 + 华为手环 9 |
限量 |
积分说明:
( 1 )本人考证赢积分:自己微认证考证积分上限 18 分
( 2 )邀请好友赢积分:本人通过以上任意 1 门微认证后,邀请好友报名,好友通过以上微认证后,邀请人可获得 1 门/1 分。
( 3 )积分数据统计周期:仅统计8 月 25 日—9 月 25 日期间的考试数据(首次考取以上认证可参与积分,重复考取过往已通过认证不积分)
⚠️ 注意事项:
- 所有奖品限量,必须积分足额后填写兑换问卷,否则兑换无效。
- 限量奖品库存为 0 时,将自动替换为对应档位的云资源券。
- 兑换问卷填写截止时间:2025 年 10 月 8 日 24:00
邀请人数 | 可领取云资源代金券 |
---|---|
5 人 | ¥50 云资源券 |
10 人 | ¥100 云资源券 |
20 人 | ¥200 云资源券 |
30 人 | ¥300 云资源券 |
50 人 | ¥500 云资源券 |
100 人 | ¥1000 云资源券 |
榜二(≥120 人) | ¥1200 云资源券 |
榜一(≥150 人) | ¥1500 云资源券 |
✅ 查看邀请人数:点击活动页面右上角「分享有礼」按钮,即可查看已成功邀请报名的人数。 🎁 所有奖励将在活动结束后统一发放,按最终邀请人数对应档位发放云资源券。 ⚠️ 仅限个人实名账号参与,企业账号不计入统计。
由于这个活动入口不是特别好找,大家可以点击我的AFF 地址参与任务,这样我也有分享有礼,谢谢大家。
✅第一步: 华为账号绑定邮箱,已经绑定朋友们可忽略,未绑定的一定要先绑定,因为这个活动的前提条件是绑定邮箱,并且邮箱有三天的审核期,也就是说三天后才会生效,我把绑定邮箱的地址给大家贴出来,大家可以直接点击去绑定邮箱。
绑定华为云邮箱的地址:地址
✅第二步: 活动报名,领取微认证代金券
活动报名后,每个账户共可以领取 6 张微认证代金券:点此领取 3 张 27 元微认证代金券(满 28 元可用);点此领取 2 张 37 元微认证代金券(满 38 元可用);点此领取 1 张 47 元微认证代金券(满 48 元可用)。
通过任意 4 门微认证后点此申请 1 张 699 元开发者认证代金券+任选 3 张微认证代金券( 27 元/37 元/47 元/57 元)问卷填写时间截止到 9 月 25 日 18:00 ,请及时填写;最后 1 次发放考试代金券时间为 9 月 26 日(但考证积分统计到 9 月 25 日的数据)。
注意:链接点击一次只能领取一张代金券,两张需要点击链接两次,以此类推。
✅第三步: 报名参加华为云微认证专场,这是我翻出来的可以和集证有礼一块做的任务,两个任务可以同时完成,已经做过的可以忽略。
✅第四步: 进入考证入口,马上就完事了,大家再坚持一下。(小声嘀咕:其实是刚开始,哈哈哈)
参与 1 元购🧠微认证(叠加上面领的优惠券后 1 元)获取积分,注意:免费激活的微认证不算积分,所以大家一定要选 1 元微认证,下面是微认证入口列表:
序号 | 认证名称 | 积分 | 价格(元) | 购买入口 |
---|---|---|---|---|
1 | ModelArts 实现零售商客户分群 | 2 分 | ¥28 | 点击进入 |
2 | 实现图片压缩及水印添加 | 2 分 | ¥28 | 点击进入 |
3 | 基于鲲鹏搭建 Zabbix 分布式监控系统 | 2 分 | ¥28 | 点击进入 |
4 | 听歌识曲 - 抖音背景音乐识别 | 2 分 | ¥28 | 点击进入 |
5 | 华为云数据库服务实践 | 2 分 | ¥28 | 点击进入 |
6 | 华为云计算服务实践 | 2 分 | ¥28 | 点击进入 |
7 | HCCDA 入门级开发者认证(除大数据) | 4 分 | ¥700 | 点击进入 |
8 | HCCDP 工作级开发者认证 | 4 分 | ¥1100 | 点击进入 |
9 | 点击了解更多认证(考取同样可以积分)—免费激活微认证不算积分 | 2 分 | / | / |
✅ 微认证最多可获得 18 分(上限 9 门),开发者认证无积分上限
⚠️ 微认证考试通过后需手动点击“获取证书”按钮,成功生成证书 + 活动报名才可计入积分
🎁 完成 4 门微认证后可申请 ¥699 开发者认证代金券(限量发放)
注意:一定要等邮箱审核通过再进行微认证(新绑定的邮箱要三天才可以哈)。大家:为什么?因为官方说微认证证书需要发到邮箱里面。
接下来以华为云计算服务实践为例:
✅第一步:购买认证
Pasted image 20250825200215.png
Pasted image 20250825200340.png
全勾上就行,这一步不选优惠券,在下一步。点击去支付按钮
Pasted image 20250825200501.png
Pasted image 20250825200614.png
地址给大家贴出来了,大家直接点击就可以看到自己购买的服务啦。
✅第二步: 考试获取证书
大家如果没有关闭之前微认证服务的可以直接使用之前的浏览器页签,这步主要是大家可以看到自己进行中的微认证列表。
进入自己进行中的微认证页面,一定要点击我的微认证!!!,具体看图。
Pasted image 20250825201949.png
点击对应的微认证服务,就可以跳到微认证页面啦。
Pasted image 20250825202242.png
点击考试就可以考试啦,那大家不会怎么办,别慌,考试有妙招(#^.^#),看下方:
其实这步是最简单的,在大模型百花齐放的时代,大家可以选择自己喜欢(我试过通义灵问可以),最好支持多模态(这样可以直接截图)的大模型进行考试就好啦。
至此大家已经获取 2 积分,剩下的积分大家继续参考上面的 考证入口
,继续购买考试就可以啦。
码子不易,恳请大家给点个赞,谢谢 Thanks♪(・ω・)ノ
每人仅有一次抽奖机会,务必先完成任意实验进度 100%再抽奖。
内心 Tips:反正我是没抽中,大家可以试试,抽中的可以发在评论区,哈哈哈哈。
实验名称 | 实验入口 |
---|---|
华为云教你一键安装宝塔面板 | 点击进入 |
Spring Boot 接入 DeepSeek 深度求索 | 点击进入 |
轻松快速上手 Docker | 点击进入 |
完成上述任意云实验进度 100%可参与抽奖,点此抽奖(每人仅有一次抽奖机会,务必先完成任意实验进度 100%再抽奖,若先抽奖再完成实验则无法获得奖品) |
已完成实验查看入口:我的→我的学堂→我的实验
**点此免费领取华为开发者空间**,然后完成下方任意 1 个案例实践后,在论坛贴评论区发布:案例名称+完成案例实践截图+心得,即可参与抽奖。
指定空间案例(含实操入口) |
基于 DeepSeek 和 Dify 构建心理咨询师应用 |
基于开发者空间搭建知识库构建儿科医生应用 |
基于仓颉编程语言+DeepSeek 实现智能聊天助手开发秘籍 |
基于 DeepSeek+Cherry Studio 构建模拟面试助手 |
FastGPT 问答系统实战:知识库检索×联网搜索 |
基于 DeepSeek+Dify 构建财务报表分析模型 |
奖品 | 数量(个) |
开发者定制水杯 | 5 |
开发者定制双肩包 | 5 |
云宝盲盒 | 10 |
定制雨伞 | 10 |
开发者定制帆布袋 | 25 |
不要再往下看啦,没啦
![]() |
1
wangguo1230 OP wangguo1230
几秒前 考试大家可以把手机打开,和大模型聊天来输入问题,获取到答案,或者可以用油猴脚本,我想把脚本放到这里面,但是放不开了 |
![]() |
2
wangguo1230 OP // ==UserScript==
// @name 华为云考试助手 (复制题目+防切屏) // @namespace http://tampermonkey.net/ // @version 2.0 // @description 在华为云微认证考试页面添加一个按钮,用于一键复制所有题目为 JSON 格式,并集成防切屏检测功能。 // @author linuxdo // @match https://connect.huaweicloud.com/courses/exam* // @run-at document-start // @grant GM_addStyle // @grant GM_setClipboard // @grant unsafeWindow // @license MIT // ==/UserScript== (function() { 'use strict'; // ========================================================================= // Part 1: 通用阻止切屏检测模块 // Code from "通用阻止切屏检测" script to prevent focus/visibility tracking. // This part runs at document-start to patch browser APIs immediately. // ========================================================================= const window = unsafeWindow; // 使用原始 window 对象 // 黑名单事件,这些事件的监听器将被阻止 const blackListedEvents = new Set([ "visibilitychange", "blur", "focus", "pagehide", "freeze", "resume", "mouseleave", "mouseout" ]); // 白名单属性,这些属性在 document 对象上将被伪造 const spoofedDocumentProperties = { hidden: { value: false, configurable: true }, mozHidden: { value: false, configurable: true }, msHidden: { value: false, configurable: true }, webkitHidden: { value: false, configurable: true }, visibilityState: { value: "visible", configurable: true }, hasFocus: { value: () => true, configurable: true } }; // 需要清空/置空的事件处理器属性 (on-event handlers) const eventHandlersToNullifyDocument = [ "onvisibilitychange", "onblur", "onfocus", "onmouseleave", "onmouseout", "onpagehide", "onfreeze", "onresume" ]; const eventHandlersToNullifyWindow = [ "onblur", "onfocus", "onpagehide", "onpageshow", "onfreeze", "onresume", "onmouseleave", "onmouseout" ]; const isDebug = false; // 设置为 true 以启用调试日志 const scriptPrefix = "[防切屏检测]"; const log = console.log.bind(console, `%c${scriptPrefix}`, 'color: #4CAF50; font-weight: bold;'); const warn = console.warn.bind(console, `%c${scriptPrefix}`, 'color: #FFC107; font-weight: bold;'); const error = console.error.bind(console, `%c${scriptPrefix}`, 'color: #F44336; font-weight: bold;'); const debug = isDebug ? log : () => {}; function patchToString(modifiedFunction, originalFunction) { if (typeof modifiedFunction !== 'function' || typeof originalFunction !== 'function') return; try { modifiedFunction.toString = () => Function.prototype.toString.call(originalFunction); } catch (e) { error("patchToString failed:", e, "for function:", originalFunction.name); } } function patchAddEventListener(targetObject, objectName) { if (!targetObject || typeof targetObject.addEventListener !== 'function') return; const originalAddEventListener = targetObject.addEventListener; targetObject.addEventListener = function(type, listener, optionsOrCapture) { if (blackListedEvents.has(type.toLowerCase())) { log(`BLOCKED ${objectName}.addEventListener: ${type}`); return undefined; } return originalAddEventListener.call(this, type, listener, optionsOrCapture); }; patchToString(targetObject.addEventListener, originalAddEventListener); } function patchRemoveEventListener(targetObject, objectName) { if (!targetObject || typeof targetObject.removeEventListener !== 'function') return; const originalRemoveEventListener = targetObject.removeEventListener; targetObject.removeEventListener = function(type, listener, optionsOrCapture) { return originalRemoveEventListener.call(this, type, listener, optionsOrCapture); }; patchToString(targetObject.removeEventListener, originalRemoveEventListener); } function spoofProperties(targetObject, propertiesToSpoof, objectName) { if (!targetObject) return; for (const prop in propertiesToSpoof) { if (Object.prototype.hasOwnProperty.call(propertiesToSpoof, prop)) { try { Object.defineProperty(targetObject, prop, propertiesToSpoof[prop]); } catch (e) { error(`Failed to spoof ${objectName}.${prop}:`, e); } } } } function nullifyEventHandlers(targetObject, eventHandlerNames, objectName) { if (!targetObject) return; eventHandlerNames.forEach(handlerName => { try { Object.defineProperty(targetObject, handlerName, { get: () => undefined, set: () => { log(`Attempt to set ${objectName}.${handlerName} blocked.`); }, configurable: true }); } catch (e) { error(`Failed to nullify ${objectName}.${handlerName}:`, e); } }); } |
![]() |
3
wangguo1230 OP // --- 开始执行防切屏 ---
log("Anti screen-switch script starting..."); patchAddEventListener(window, "window"); patchRemoveEventListener(window, "window"); patchAddEventListener(document, "document"); patchRemoveEventListener(document, "document"); spoofProperties(document, spoofedDocumentProperties, "document"); nullifyEventHandlers(document, eventHandlersToNullifyDocument, "document"); nullifyEventHandlers(window, eventHandlersToNullifyWindow, "window"); const observer = new MutationObserver((mutations, obs) => { if (document.body) { patchAddEventListener(document.body, "document.body"); patchRemoveEventListener(document.body, "document.body"); nullifyEventHandlers(document.body, ["onmouseleave", "onmouseout", "onblur", "onfocus"], "document.body"); obs.disconnect(); } }); if (document.body) { patchAddEventListener(document.body, "document.body"); patchRemoveEventListener(document.body, "document.body"); nullifyEventHandlers(document.body, ["onmouseleave", "onmouseout", "onblur", "onfocus"], "document.body"); } else { observer.observe(document.documentElement || document, { childList: true, subtree: true }); } log("Anti screen-switch script loaded. Monitoring active."); // ========================================================================= // Part 2: 华为云考试题目复制器模块 // Code from "华为云考试题目复制器" script. // It waits for the page to load the necessary elements and then adds the button. // ========================================================================= /** * 创建并添加“复制题目”按钮到页面上 */ function addCopyButton() { const headerRight = document.querySelector('.header .right'); if (headerRight && !document.getElementById('copy-questions-btn')) { const button = document.createElement('button'); button.innerHTML = '📋 复制题目 (JSON)'; button.id = 'copy-questions-btn'; button.className = 'red'; // 使用一个现有 class 以匹配基本风格 button.style.backgroundColor = '#007d40'; button.style.borderColor = '#007d40'; button.style.marginRight = '10px'; button.style.color = 'white'; button.style.padding = '0 15px'; // 调整内边距以匹配其他按钮 button.style.lineHeight = '30px'; // 调整行高 button.style.height = '32px'; // 调整高度 button.addEventListener('click', extractAndCopyQuestions); headerRight.insertBefore(button, headerRight.firstChild); console.log('[题目复制器]: 按钮已添加。'); } } /** * 提取页面所有题目信息并复制到剪贴板 */ function extractAndCopyQuestions() { console.log("[题目复制器]: 开始提取题目..."); const allQuestions = []; const questionElements = document.querySelectorAll('.exam .exam-content'); if (questionElements.length === 0) { alert('未找到任何题目。请确保考试页面已完全加载。'); return; } questionElements.forEach((el, index) => { const questionObj = { number: index + 1, type: 'Unknown', question: '', points: 0, options: [] }; const questionTextEl = el.querySelector('.the-exam-page-html'); if (!questionTextEl) return; let fullText = questionTextEl.textContent.trim(); const pointMatch = fullText.match(/\((\d+)分\)|((\d+)分)/); if (pointMatch) { questionObj.points = parseInt(pointMatch[1] || pointMatch[2], 10); fullText = fullText.replace(pointMatch[0], '').trim(); } questionObj.question = fullText; const radioGroup = el.querySelector('.el-radio-group'); const checkboxGroup = el.querySelector('.el-checkbox-group'); if (radioGroup) { const options = Array.from(radioGroup.querySelectorAll('.el-radio__label > div')).map(div => div.textContent.trim()); questionObj.options = options; if (options.length === 2 && (options.includes('正确') && options.includes('错误') || options.includes('true') && options.includes('false'))) { questionObj.type = 'True/False'; } else { questionObj.type = 'Single Choice'; } } else if (checkboxGroup) { const options = Array.from(checkboxGroup.querySelectorAll('.el-checkbox__label > div')).map(div => div.textContent.trim()); questionObj.options = options; questionObj.type = 'Multiple Choice'; } allQuestions.push(questionObj); }); if (allQuestions.length > 0) { const jsonOutput = JSON.stringify(allQuestions, null, 2); GM_setClipboard(jsonOutput, 'text'); const btn = document.getElementById('copy-questions-btn'); if (btn) { btn.textContent = `✅ 已复制 ${allQuestions.length} 题`; setTimeout(() => { btn.textContent = '📋 复制题目 (JSON)'; }, 3000); } } else { alert('提取题目失败,未找到有效题目内容。'); } } // 由于脚本在 document-start 运行,DOM 此时尚未构建完成。 // 我们必须等待 DOM 加载完毕后才能查找按钮容器。 // 使用定时器轮询是可靠的方法。 const checkInterval = setInterval(() => { const headerRight = document.querySelector('.header .right'); if (headerRight) { clearInterval(checkInterval); addCopyButton(); } }, 500); })(); |
![]() |
4
wangguo1230 OP 大家可以自己拼起来
|
5
NotAProgrammer 8 天前
不能放个在线文档地址嘛
|
![]() |
6
wangguo1230 OP @NotAProgrammer 不好意思,你是说的华为云的文档地址吗,还是这个脚本的
|
![]() |
7
wangguo1230 OP 第三步: 报名参加华为云微认证专场,这是我翻出来的可以和集证有礼一块做的任务,两个任务可以同时完成,已经做过的可以忽略。 这一步大家先忽略,任务奖励有冲突
|