×

惊人的亚马逊Alexa机器人魔术表演

消耗积分:0 | 格式:zip | 大小:1.63 MB | 2023-07-06

刘涛

分享资料个

如果您无法获得相同的尺寸,您可能需要调整各种组件的尺寸以适合您的球。对于这个技巧,您至少需要 8 个球(2 组,每组 4 种颜色。例如粉红色、紫色、蓝色和绿色)。我还有一对备用的黄色球,以防我们的狗染上其他颜色之一:)

活板门机器人

搭建乐高积木:

我建议从拼搭乐高开始,以确保尺寸适合您拥有的彩球。我已经包含了使用 Bricklink 的 Studio 2.0 软件的构建说明。您需要安装它才能查看它们。您将在原理图部分下找到这些文件:

  • 活板门机器人 - 这包括活板门机制。这包括一个锁扣,它可以将门固定到位,直到它移动以释放门。
  • 魔法盒 1 和 2 - 您需要建造 2 个相同的盒子。他们坐在活动板桌的顶部,在演出期间打开和关闭。注意:这些模型缺少一个 24 齿齿轮,该齿轮位于中型电机的轴上并与另一个 24 齿齿轮啮合以打开箱盖。该工具不允许我将其放置到位。我想我需要将其中一个齿轮旋转几度,但我不知道该怎么做,抱歉。您会在照片上看到丢失的装备。
 
 
 
poYBAGOIL_uAUkUhAACahyB3Jo0835.jpg
 
1 / 2魔法盒
 

如果您的彩球较大,您可能需要调整乐高积木以适应。这也会影响其他部分,例如木制品尺寸,因此请注意这一点。

构建 Pixy2 盒子:

您将需要一个盒子来放置 Pixy2 相机并将活板门机器人放在上面。最初的设计是在盒子内包含 EV3 积木。效果不是很好,因为您看不到屏幕,所以 EV3 积木被移到了盒子外面。这意味着盒子是半空的,但盖子可以很好地固定活板门机器人。

首先在 250mm x 180mm 的矩形中切割 12mm 的层作为盒子底座。对于方框切割的侧面:

  • 2 x 275 毫米 x 80 毫米,12 毫米层
  • 2 x 180 毫米 x 80 毫米,12 毫米层

底座适合两侧。首先将短边连接到底座的短边。这可以使用胶水、螺丝或钉子来完成。接下来将长边连接到底座和您已经连接的短边。

对于盒盖,在 280 毫米 x 210 毫米的矩形中切割 12 毫米的层。为了使盖子位于底座上,将 7mm 的层切成至少 12mm 宽的长度,以适合底座内部:

  • 2 x 248 毫米长
  • 2 x 178 毫米长

将末端切割成 45 度角,然后拧入盖子的底部,作为盖子固定在底座上的导向。

最后你应该有一个盒子来装 Pixy2 相机,盖子可以很好地放在上面。您将在稍后的构建中完成剩余的部分(连接 Pixy2、电缆孔、盖子上的孔和球托架)。

注意:以下图片包括您接下来要搭建的活板门桌底座。

 
 
 
poYBAGOIMAOAPIl9AA-2F9qlOw8442.jpg
 
1 / 3从上面看没有盖子的 Pixy2 盒子连接到活板门桌底座
 

搭建桌面、底座和桌腿:

台面和底座的构造与最初相同。首先在 400 毫米 x 330 毫米的矩形中切割 9 毫米的层作为桌子的顶部,另一个相同尺寸的矩形作为桌子的底部。

接下来,您需要切割 4 条导轨:2 条用于桌面,2 条用于底座。使用 15mm 的铺层并切割 390mm(即比顶部/底部略短)30mm 的长度。切割完导轨后,就可以将它们连接到桌面和底座上了。从底座开始,在距离长边 10 毫米的地方划一条线。将导轨的边缘放在这条线上,与底座的短边有 5 毫米的间隙。将其夹紧,然后用至少 3 个螺钉从底座下方拧入。用另一条导轨在底座的另一侧重复。你的基地现在应该已经完成​​了。

对于桌面,以相同的方式将 2 个导轨连接到桌子的底部。底部的导轨与顶部的导轨完美对齐非常重要,因此要格外小心。完成此操作后,您可以移动到腿上。

四个腿也从 9 毫米层切割。我的是 210 毫米 x 40 毫米,但我建议您将它们留长一点(例如 250 毫米),然后在检查完所有其他测量值后将其剪短。腿被拧入桌面导轨的内部,距离导轨末端约 10 毫米,每条腿至少有 2 个螺钉,因此腿不会旋转。底部支腿未拧入底座的导轨中。相反,它们会楔入底座导轨的内部,以将它们固定在适当的位置,但很容易拆卸。您需要它是可拆卸的,以便每次都能取回球。

poYBAGOIMAqAVlE9AAyGDbhPjmA678.jpg
桌面和腿
 

连接 Pixy2 盒子和活板门 LEGO:

在连接任何其他东西之前,将 Pixy2 盒子放在桌子底座上,然后将活板门乐高积木放在 Pixy2 盒子盖上。根据活板门在顶部的位置,检查它的位置是否正确。一旦你对一切都满意了,标记位置并开始附加它们:

  • 将乐高积木拧入盖子(2 个螺钉穿过横梁孔,不要拧得太紧,以免损坏塑料)
  • 将盒子底座拧到桌面底座上,至少 2 个螺丝。
pYYBAGOIMBCAWTiwAA04T4oIvws634.jpg
Trapdoor LEGO 拧入 Pixy2 盒盖(见固定绿色部件的螺丝)
 

完成 Pixy2 盒盖:

现在是时候为球从活板门滚入 Pixy2 盒子创建路径了。首先,您必须在 Pixy2 盖子上切一个 60 毫米的孔。它应该靠近乐高积木,这样当活板门掉落时,球会直接滚进去。

为确保活板门落下时球不会滚走,您需要建造一个屏障盒。这将有 3 个边,一个开口边允许球从活板门滚下。它将有一个顶部但没有底部,因为它位于孔上方的盖子上。你将需要削减:

  • 1 x 90mm x 90mm 方形 5mm 层
  • 2 x 90mm x 90mm 正方形的 9mm 层
  • 1 x 65mm x 90mm 矩形,9mm 层

要组装盒子,首先将 65mm x 90mm 矩形的最长边粘合到 9mm 层的 90mm x 90mm 方形的边之一。在另一侧重复此操作。完成后,从盖子底部拧入,使其位于盖子上 60 毫米的孔周围。然后,您需要将 90mm x 90mm 的 5mm 层板拧到顶部,确保它没有 LEGO 构建。

球现在应该一直滚下活板门进入 Pixy2 盒子。如果这有任何问题,您需要先解决它们,然后再继续。

 
 
 
pYYBAGOIMDmAaqd_AA_wlM4S6LU011.jpg
 
1 / 6Pixy2 盒子和活板门的前视图
 

完成 Pixy2 盒子底座:

当球进入 Pixy2 盒子时,它需要保持静止,以便相机可以检测到颜色。要制作这个货舱,您必须切割:

  • 2 x 70mm x 50mm 的 9mm 层
  • 1 x 80mm x 50mm 的 9mm 层

使用 2 个螺钉将其中一个较短的边以直角连接到较长的帘布层上。对另一个较短的边重复以创建一个 50 毫米高的 3 边箱。

为确保球不会滚出盒子的前部,切割 80 毫米 x 15 毫米的 9 毫米层。从前面将其拧入盒子的侧面,没有障碍物。这意味着球会留在原地,但不会阻挡 Pixy2 看到球。

当你对你的盒子感到满意时,将它放在盖子上的孔下方并标记你想要放置它的位置。用至少 2 颗螺丝从下方将其拧入 Pixy2 盒子底座。注意:您需要从活板门桌底座上卸下 Pixy2 盒底座,这样您才能执行此操作,然后重新连接它。

接下来,您必须为 Pixy2 相机搭建一个支架。首先,将 Pixy2 安装到一根乐高横梁上——我使用了一根长度为 9 的横梁。利用这根横梁搭建一个坚固的底座,让 Pixy2 可以看到球。我建议将 Pixy2 连接到您的计算机并查看 Pixy2 可以看到的内容,以确保它距离正确并且角度正确。我还添加了一些乐高积木,以防止 Pixy2 向后或向前倾斜得太远。您应该包括一些部件,以便将支架轻轻拧入 Pixy2 盒底座以将其固定到位。我没有包含乐高支架的搭建说明,但您应该能够参考图片自己制作一些东西。

 
 
 
pYYBAGOIMD-AbfdnAAqmPIknC1w989.jpg
 
1 / 2Pixy2 安装前视图
 

接下来,您需要在盒子的侧面切一个洞。它必须足够大以供 2 根电缆穿过;Pixy2 到 LEGO 电缆和用于在计算机上查看 PixyMon 的 USB 电缆。Pixy2 到 LEGO 的电缆相对较短,因此您需要确保它可以从 Pixy2 连接到积木。

完成活板门和桌面:

首先,您需要切割一个矩形作为活板门。如果您完全按照我的说明进行操作并且没有调整球的大小,那么您应该切割相同的尺寸。从 9 毫米的层中切出 63 毫米乘 87 毫米的矩形。然后按照图片用活板门底部的螺丝将其固定到乐高积木上。

poYBAGOIMESATKelAAlK0YEXkfw052.jpg
从下面的活板门
 

接下来,您必须在桌面上切出一个矩形,为活板门提供一个放置位置,使其与桌面齐平。下图显示了您需要到达的地方。

 
 
 
pYYBAGOIME6ADiKCAA3KKM6HRg0304.jpg
 
1 / 2确定在何处开孔
 

你需要稍微滑动桌子,这样你才能看到桌面上的活板门有多宽。标记一条线,这样您就知道长边将在哪里排列,然后标记短边将在哪里排列。要创建孔,请在角内钻 4 个孔。完成后,使用锯子在 4 个孔之间切割以创建一个粗略的矩形。请记住,从小处着手并稍大一点总比让它太大要好。如果您可以使用路由器,则可以更轻松地切割漂亮的直线。确保每次切割时都检查活板门是否合适。您将需要在所有侧面至少留出 2 毫米的额外间隙,并且在活板门掉落的末端可能需要多一点。

附上魔法盒:

在连接盒子之前,您必须隐藏内部结构。我的盒子是用硬纸板和布胶带装饰的。如果你想让你的盒子更有魔力,你可以添加闪光和水钻之类的东西。

接下来,您必须将盒子连接到桌面。为此,请将它们放在桌面的正确位置。左边的盒子里面需要有切割的矩形,右边的盒子必须排成一行,但它们之间有一个间隙。当您对定位螺钉感到满意时,使用轴连接器上的孔将它们拧入。

 
 
 
poYBAGOIMFeAAVFHAA--mDxghcY996.jpg
 
1 / 3桌面顶部盒子的前视图
 

连接电缆:

现在所有的木制品都已就位,是时候给机器人接线了。按如下方式连接电缆:

  • A - 方框 1(左边一个)
  • B - 方框 2(右边一个)
  • C - 陷阱门
  • D - 活板门
  • 1 - Pixy2(Pixy2 乐高附带的特殊电缆)
  • 2 - 未使用
  • 3 - 盒子 1 上的触摸传感器
  • 4 - 盒子 2 上的触摸传感器

我强烈建议在电缆上贴上标签,以防您需要将它们拆开再重新组装起来。

魔盒机器人

搭建乐高积木:

我再次包含了使用 Bricklink 的 Studio 2.0 软件的构建说明。您将在原理图部分下找到这些文件:

  • 跷跷板 - 这是将正确的球倾斜到斜坡上的机制。在模型中只有一侧。您需要为另一侧制作一个镜像模型。通常颜色并不重要,但桶中的颜色有助于了解每个桶中的球。注意:我没有粉红色的光束,所以用红色代替装有粉红色球的桶。
  • 斜坡和吊桥 - 这是球滚下进入魔法盒的斜坡。
  • 魔法盒子 3 - 您需要建造一个与活板门桌上的盒子相同的盒子。下面的构建说明中列出了一些附加内容(为 Magical Box 3 构建基础
 
 
 
pYYBAGOIMFyAbxrjAAC53c_SX_0055.jpg
 
1 / 3跷跷板
 

搭建魔法盒桌底:

Magical Box 机器人的木制品与 Trapdoor 相似,幸运的是更简单!首先使用 9mm 层切割 480mm x 300mm 的矩形底座。使用 18mm 层切割 6 个 300mm x 30mm 的导轨。使用 3 个螺钉将一根导轨连接到底座,与其中一个短边对齐。使用 3 个螺钉将第二个导轨连接到距离另一个短边 80 毫米的底座上。您应该还剩下 4 个导轨。

为了更容易取下顶部,腿连接到底座。切割 4 条 210mm x 30mm 的 18mm 层的腿。每条腿使用 2 个螺钉将它们垂直连接到导轨内侧。将 2 条导轨连接到顶部支腿的内侧,每条支腿各拧 1 个螺钉。

 
 
 
pYYBAGOIMIyAVho2ABJMNLs6WBA037.jpg
 
1 / 6魔法盒桌底俯视图
 

搭建魔法盒桌面:

使用 9mm 层切割 400mm x 300mm 的矩形顶部。用 3 个螺丝将 2 个剩余的导轨连接到顶部的下侧,与短边对齐。顶部应从底座整齐地贴合到腿的外边缘。

 
 
 
pYYBAGOIMJmAO67kAAVhm31a6as330.jpg
 
1 / 3桌面顶部
 

附上乐高积木:

使用 18 毫米厚的 100 毫米 x 210 毫米创建一个平台。使用备用孔将坡道和吊桥拧到上面。您会注意到斜坡会有轻微的倾斜度,以便球滚下。通过使用框架孔安装第一个跷跷板来布置乐高积木。然后安装坡道,确保球倾斜到上面,并且它们可以自由地滚下坡道而不会撞到桶的末端。像第一个一样安装第二个跷跷板,同时检查球是否可以自由滚动。我还安装了一些横梁,用螺丝固定在 EV3 连接的底座上。

为 Magical Box 3 建立基础:

使用废木头,为魔法盒做一个底座。您需要确保有足够的空间让吊桥在完全降下时轻轻地停在箱子的边缘(即检查高度和与坡道的距离)。接下来以与桌面上的相同的方式连接盒子。确保有一个用于填充的孔,以确保球不会弹开。您可以参考我的照片来创建适合您构建的基础。

 
 
 
poYBAGOIMKiAQ7kWABPbB6Bjf6A424.jpg
 
1 / 8魔法盒关闭
 

连接电缆

现在所有的木制品都已就位,是时候给机器人接线了。按如下方式连接电缆:

  • A - 蓝色和绿色球的跷跷板
  • B - 蓝球和绿球的跷跷板
  • C - 方框 3
  • D - 吊桥
  • 1 - 未使用
  • 2 - 未使用
  • 3 - 盒子 3 上的触摸传感器
  • 4 - 吊桥上的触摸传感器

揭秘机器人

搭建乐高积木:

您将在原理图部分下找到一个 LEGO 构建说明文件:

  • Revealer - 这是将标志向前推使其掉落并露出传奇 LEGO MINDSTORMS EV3 积木的机器人。

还有一些零件可以将轮子和电机连接到腿上,但您可以查看下面的照片来解决这个问题。

pYYBAGOIMKuAIx5AAABhgKO12vw072.jpg
标志揭示者
 

建造木制品:

从桌面的 9 毫米层中切割出 300 毫米乘 400 毫米的一块。然后切割 4 个 300mm x 30mm 的 18mm 层的导轨。用 3 个螺丝将 2 个导轨与顶部的两个短边对齐。

接下来切割 18 毫米层的 4 条 160 毫米 x 30 毫米的腿。用每条腿上的 2 个螺钉将它们连接到导轨内侧的末端。将轮子连接到与照片类似的导轨上。确保你有足够的空间让轮子在移动时不会撞到盒子。我们必须将后电动轮放在轨道的外侧才能实现这一点。

一旦它们连接到导轨上,您需要将导轨拧入腿的外侧。重要的是 Revealer 桌面与 Magical Box 桌面齐平。如果您满意,请在每条腿上使用 1 个螺丝(如果您对此不确定,请参阅照片)。

 
 
 
pYYBAGOIMLOABv_8ABGoe-icIZY622.jpg
 
1 / 6顶视图
 

附上乐高积木:

乐高积木使用一些自由孔固定在桌面上。尺寸并不重要,我只是确保标志位于桌子中央。

标志只是粘在硬纸板上的一张 A4 纸。

连接电缆

现在所有的木制品都已就位,是时候给机器人接线了。按如下方式连接电缆:

  • A - 前置电机
  • B - 后退电机
  • C - 未使用
  • D - 标志

注意:您可能需要为 A 和 B 使用更长的电缆。我使用了 1m 电缆。

这个机器人没有传感器。

配置 Pixy2 相机

如果您以前没有使用过 Pixy2 相机,他们的网站上有很多重要信息:https ://docs.pixycam.com/wiki/doku.php?id=wiki:v2:start

我会尽量专注于这个项目特别需要的东西。Pixy2 相机需要配置才能工作。要连接到 EV3,您将需要特殊的 Pixy2 LEGO 电缆,该电缆可在“Pixy2 for LEGO”包中购买或单独出售。

更新固件

ev3dev 站点上的将 Pixy/Pixy2 相机用于 LEGO Mindstorms解释说,在将它与 ev3dev 一起使用时,您必须使用 Pixy2 相机上的标准固件而不是 LEGO 固件。如果您为 LEGO 包购买了 Pixy2,那么它很可能带有 LEGO 固件。改变:

配置用于 ev3dev

接下来按照使用 Pixy/Pixy2 相机用于 LEGO Mindstorms的说明配置 Pixy2,以便 ev3dev 可以连接到它。确保您遵循的是 Pixy2 说明,而不是以前版本的说明。

配置白平衡

Pixy2 具有自动调节房间照明的能力。这称为“自动白平衡”。鉴于颜色检测将在外部光线很少的暗箱中进行(即仅使用来自 Pixy2 本身的光),您可以关闭此设置以确保一致的结果。使用 PixyMon,转到 Configure 对话框,然后转到 Camera 选项卡。确保“Auto White Balance”和“Auto White Balance on power-up”已关闭(后者通常在新的 Pixy2 相机中默认打开)。

poYBAGOIMLWASHp6AAA3Q17KMhk208.png
 

教 Pixy2 颜色

我们现在准备教 Pixy2 球的颜色。注意:当方框 2 打开时,它会显示您随机放入的球的颜色。然后相同颜色的球将出现在 box3 中。

poYBAGOIMLeAP7JAAAGD6QPWAhU301.jpg
运行表
 

我该如何改进!

我对我的项目的结果非常满意,但有些事情我可以用更多的时间和知识来改进:

  • 这个项目对我来说很有挑战性,因为我是第一次使用 Python 进行编码。我本可以简化一些代码,所以请注意复制我所做的代码。
  • 我为我所有的机器人制作了一个乐高模型。不幸的是,我没有时间一步一步地进行说明,但您将能够通过参考模型来构建它们。
  • 为了使这项技能更好,我可以让 Alexa 跟踪我们使用会话属性进行的步骤。但是我发现当我测试时能够以任何顺序执行它们更容易。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'惊人的亚马逊Alexa机器人魔术表演',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);