全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 551|回复: 5
打印 上一主题 下一主题

[经验] 华为云700代金券

[复制链接]
跳转到指定楼层
1#
发表于 2025-7-13 21:45:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lemoner 于 2025-7-13 21:47 编辑

前几天在论坛看到华为云活动, **【华为云学堂】云计算新手入门集证有礼,热门认证1元购**,今天弄了下,挺顺利的,过程写下来顺便加个aff分享。

活动链接aff:https://edu.huaweicloud.com/signup/9990e06079984850979909a6a602d283?medium=share_kfzlb&invitation=445f56d1c6ee4e2aafb8af04c19e2c91
主要有二个活动可以领取代金券:

**邀请好友**:就像上面我分享的链接
**考试认证**:这是主要要写的,总共有22个考试,价格分别是28/48/700,因为现在可以领取7张优惠27元的优惠券,每个考试给2个积分,所以我们需要参加7个考试,每个考试有五次机会,按顺序选就行,不建议参加第四个考试 **华为云存储服务实践**,AI做了五次才过。

过程

领取代金券

点击链接进入网页

点击这些超链接,虽然说是要通过微认证后才能领取,但是直接点也能领到,两张代金券的就点两次,直到点进去显示次数已用完就可以了,反正算下来领了五张,考完试是10个积分,可以兑换500的代金券。

上面还有个说明,意思是7.1之前领取的可以补零,点两次又能领取两张,但是他针对的是7.1之前就领取过代金券的用户,我之前没领取过,也领取成功了,不知道会不会影响积分发放,反正我领了。

买认证

选择下面的认证,买价格28的,随便买7个就行,可以一次买完,也可以买一个考完 再买,付款的时候记得使用代金券。


考试

最后就是考试了,进控制台,会有个华为云微认证,进去点击前台地址,选择我的微认证,就可以看到买的考试了,进去在线考试就可以了。

我是用的油猴插件/copyfish ocr 识别和Gemini,油猴插件就是之前坛子分享的这个:

  1. // ==UserScript==
  2. // [url=home.php?mod=space&uid=5839]@name[/url]         jijiguowang
  3. // @namespace    http://tampermonkey.net/
  4. // [url=home.php?mod=space&uid=73703]@version[/url]      2025-07-02
  5. // @description  仅用作学习用途,请勿转载
  6. // @match        https://connect.huaweicloud.com/courses/exam/page/sp:cloudEdu_
  7. // @icon         https://www.google.com/s2/favicons?sz=64&domain=huaweicloud.com
  8. // @grant        none
  9. // ==/UserScript==
  10. (function() {
  11.     'use strict';

  12.     const targetUrl = 'https://svc.connect.huaweicloud.com/svc/innovation/userapi/exam2d/so/servlet/getExamPaper';
  13.     let capturedData = null;

  14.     // 创建浮动按钮
  15.     function createFloatingButton() {
  16.         const btn = document.createElement('button');
  17.         btn.id = 'api-capture-btn';
  18.         btn.style.cssText = 'position:fixed;top:50%;right:20px;transform:translateY(-50%);width:80px;height:80px;background:#dc3545;color:white;border:none;border-radius:50%;cursor:pointer;z-index:9999;display:none;box-shadow:0 2px 10px rgba(0,0,0,0.3);font-size:14px;font-weight:bold;line-height:1.2';
  19.         btn.textContent = '试题JSON';
  20.         btn.onclick = () => capturedData && createPopup(capturedData);
  21.         document.body.appendChild(btn);
  22.         return btn;
  23.     }

  24.     function createPopup(response) {
  25.         // 创建遮罩和弹窗
  26.         const overlay = document.createElement('div');
  27.         overlay.style.cssText = 'position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);z-index:9999';

  28.         const popup = document.createElement('div');
  29.         popup.style.cssText = 'position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:600px;height:70%;background:white;border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,0.3);z-index:10000;display:flex;flex-direction:column';

  30.         // 头部
  31.         const header = document.createElement('div');
  32.         header.style.cssText = 'padding:15px 20px;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;align-items:center';
  33.         header.innerHTML = '<h3 style="margin:0">JSON</h3><button style="border:none;background:none;font-size:24px;cursor:pointer">×</button>';

  34.         // 内容区
  35.         const content = document.createElement('div');
  36.         content.style.cssText = 'flex:1;padding:20px;overflow-y:auto';

  37.         const pre = document.createElement('pre');
  38.         pre.style.cssText = 'background:#f5f5f5;padding:15px;border-radius:4px;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word;margin:0';
  39.         pre.textContent = typeof response === 'string' ? JSON.stringify(JSON.parse(response), null, 2) : JSON.stringify(response, null, 2);

  40.         content.appendChild(pre);

  41.         // 底部按钮
  42.         const footer = document.createElement('div');
  43.         footer.style.cssText = 'padding:15px 20px;border-top:1px solid #ddd;text-align:right';

  44.         const copyBtn = document.createElement('button');
  45.         copyBtn.style.cssText = 'padding:8px 20px;background:#007bff;color:white;border:none;border-radius:4px;cursor:pointer';
  46.         copyBtn.textContent = '复制到剪贴板';
  47.         copyBtn.onclick = () => {
  48.             navigator.clipboard.writeText(pre.textContent).then(() => {
  49.                 copyBtn.textContent = '已复制!';
  50.                 setTimeout(() => {copyBtn.textContent = '复制到剪贴板';}, 2000);
  51.             });
  52.         };

  53.         footer.appendChild(copyBtn);

  54.         // 组装
  55.         popup.appendChild(header);
  56.         popup.appendChild(content);
  57.         popup.appendChild(footer);

  58.         document.body.appendChild(overlay);
  59.         document.body.appendChild(popup);

  60.         // 关闭功能
  61.         const close = () => {
  62.             overlay.remove();
  63.             popup.remove();
  64.         };

  65.         header.querySelector('button').onclick = close;
  66.         overlay.onclick = close;
  67.     }

  68.     // 初始化按钮
  69.     const floatingBtn = createFloatingButton();

  70.     // 拦截请求
  71.     const originalSend = XMLHttpRequest.prototype.send;
  72.     XMLHttpRequest.prototype.send = function(data) {
  73.         const self = this;
  74.         this.addEventListener('readystatechange', function() {
  75.             if (self.readyState === 4 && self.status === 200 && self.responseURL === targetUrl) {
  76.                 capturedData = self.responseText;
  77.                 floatingBtn.style.display = 'block';
  78.             }
  79.         });
  80.         originalSend.call(this, data);
  81.     };

  82.     const originalFetch = window.fetch;
  83.     window.fetch = function(url, ...args) {
  84.         if (url === targetUrl) {
  85.             return originalFetch.apply(this, arguments).then(response => {
  86.                 response.clone().text().then(data => {
  87.                     capturedData = data;
  88.                     floatingBtn.style.display = 'block';
  89.                 });
  90.                 return response;
  91.             });
  92.         }
  93.         return originalFetch.apply(this, arguments);
  94.     };
  95. })();
复制代码


Tips:

参加考试是需要绑定邮箱的,如果之前没有绑定邮箱,现绑的话需要三天才能生效~
2#
发表于 2025-7-13 21:52:16 来自手机 | 只看该作者
帮顶,考了七个,等明天问卷优惠卷到账继续考
3#
发表于 2025-7-14 00:29:51 | 只看该作者
不考了,报名的那个1000元优惠券下来了结果续到期时间超过10年不让续费了。
4#
发表于 2025-7-14 00:53:43 来自手机 | 只看该作者
菜鸡鲲 发表于 2025-7-14 00:29
不考了,报名的那个1000元优惠券下来了结果续到期时间超过10年不让续费了。 ...

填了问卷好几天了,一直没到,无语了
5#
发表于 2025-7-17 09:42:06 | 只看该作者
XieZeBin 发表于 2025-7-14 00:53
填了问卷好几天了,一直没到,无语了

活动结束后统一发放。
6#
发表于 2025-7-17 22:51:42 | 只看该作者
choevps 发表于 2025-7-17 09:42
活动结束后统一发放。

啊这,好吧,谢谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-7 13:56 , Processed in 0.060350 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表