上个月我家开家庭会议:要不要换空调?爸妈、我和妹妹各执一词。最后拿出纸笔投票,统计花了8分钟,还吵起来谁多划了一票。
这次我提前做了个「家庭会议投票器」——会议开始前,我把链接发到家庭群;每人扫一下,点「支持」或「反对」;我手机点「投屏」,用iPhone镜像到电视,实时柱状图自动更新。
全程没装APP、没注册账号、没连WiFi(用蜂窝网络也行),更没写一行后端代码。
秘诀?三个微信原生能力的「非标用法」:
✅ 作弊技巧1:用「微信分享卡片」替代登录态
localStorage,但用 wx.updateAppMessageShareData 动态改分享标题,比如: wx.updateAppMessageShareData({
title: 【已投票】支持换空调:${supportCount}票|反对:${opposeCount}票,
desc: '点击查看实时结果'
});
这样每次有人投票,群里分享卡片就自动更新,所有人一眼看到最新结果。
✅ 作弊技巧2:用URL Scheme唤醒微信「投屏」
location.href = 'weixin://dl/business/?t=123456789';
(这是微信官方投屏协议,实测iOS/安卓均有效)→ 自动跳转微信「屏幕共享」界面,选电视即可。
✅ 作弊技巧3:用 BroadcastChannel 实现局域网同步(伪实时)
const bc = new BroadcastChannel('family-vote');
bc.addEventListener('message', e => updateChart(e.data));
// 投票后:bc.postMessage({support: 12, oppose: 5});
即使没连外网,只要在同一路由器下,结果秒同步。
🛠️ 实操搭建(Cursor 5分钟):
> “生成单页HTML家庭投票器:顶部标题‘今晚空调会议’,两个超大按钮‘支持换新’‘反对,修一修就行’;点击后:① 存入localStorage;② 广播新结果;③ 更新页面图表(用CSS渐变柱状图,不用Chart.js);④ 底部加‘投屏看结果’按钮,点击唤醒微信投屏;⑤ 分享卡片标题动态显示票数。”
BroadcastChannel 为兼容写法(加try/catch,安卓低版本回退为localStorage轮询);💡 进阶接单场景:
技术的最高境界,是让人感觉不到技术的存在。当投票变成一次扫码、一次点击、一次投屏——共识,就已经开始了。