云服务器部署扫码挪车程序
最近比较忙,没时间搞新功能,不过发现一个在CloudFlare的Worker运行的挪车程序——用Workers免服务器部署挪车二维码,可微信通知、拨打电话-缙哥哥,发现还不错,就改成了html项目部署到了自己的服务器上给家里人用了。
本教程基于雨云服务器实现,建议选择带有宝塔面板的系统,方便进行操作。
另外欢迎来我的博客火柴人儿的小站
创建WxPusher应用
创建新应用
应用信息如下,随意填写即可
创建成功时会显示APP_TOKEN,只会显示一次,一定要记下来,之后会用到
微信扫描二维码关注这个应用,之后其他人扫码挪车的消息就会通过这个应用发给你
关注之后在用户列表里就能看到了,记住这里的UID,之后会用到
编写HTML项目
我已经把项目上传到gitee了,可以直接拉取,或者自行按下面的步骤创建。
项目地址:nuoche-html: js实现的挪车功能,基于bgwu666 大佬的cloudflare的worker项目,将其转为了html项目方便在自己的服务器运行
本地创建文件夹,进入文件夹新建记事本文件,将以下内容复制进去后,将appToken、uids、tel处的值改为你自己的,之后将文件改名为nuoche.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49function getLastNotifyTime() {
return localStorage.getItem('lastNotifyTime') || 0;
}
function setLastNotifyTime(time) {
localStorage.setItem('lastNotifyTime', time);
}
function canNotify() {
const lastNotifyTime = getLastNotifyTime();
const currentTime = Date.now();
const fiveMinutesAgo = currentTime - 5 * 60 * 1000; //每5分钟可提醒一次,可按需修改
return lastNotifyTime < fiveMinutesAgo;
}
function notifyOwner() {
if (!canNotify()) {
alert("5分钟后等待时间未结束,暂不可通知。");
return;
}
fetch("https://wxpusher.zjiecode.com/api/send/message", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
appToken: "AT_",
content: "您好,有人需要您挪车,请及时处理。",
contentType: 1,
uids: ["UID_"] // 注意:如果你的 UID 是一个数组,确保它是字符串数组的形式
})
})
.then(response => response.json())
.then(data => {
if (data.code === 1000) {
alert("通知已发送!");
setLastNotifyTime(Date.now());
} else {
alert("通知发送失败,请稍后重试。");
}
})
.catch(error => {
console.error("Error sending notification:", error);
alert("通知发送出错,请检查网络连接。");
});
}
// 拨打车主电话
function callOwner() {
window.location.href = "tel:你的手机号";
}新建记事本,将以下内容复制进去,并改名为index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>通知车主挪车</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: Arial, sans-serif; display: flex; align-items: center; justify-content: center; height: 100vh; background: #f0f2f5; color: #333; }
.container { text-align: center; padding: 20px; width: 100%; max-width: 400px; border-radius: 8px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); background: #fff; }
h1 { font-size: 24px; margin-bottom: 20px; color: #007bff; }
p { margin-bottom: 20px; font-size: 16px; color: #555; }
button {
width: 100%;
padding: 15px;
margin: 10px 0;
font-size: 18px;
font-weight: bold;
color: #fff;
border: none;
border-radius: 6px;
cursor: pointer;
transition: background 0.3s;
}
.notify-btn { background: #28a745; }
.notify-btn:hover { background: #218838; }
.call-btn { background: #17a2b8; }
.call-btn:hover { background: #138496; }
</style>
</head>
<body>
<div class="container">
<h1>通知车主挪车</h1>
<p>如需通知车主,请点击以下按钮</p>
<button class="notify-btn" onclick="notifyOwner()">通知车主挪车</button>
<button class="call-btn" onclick="callOwner()">拨打车主电话</button>
</div>
<script src="./nuoche.js"></script>
</body>
</html>
部署项目
这里最好是有宝塔,宝塔会帮会你将LNMP环境部署好,可以很方便的部署项目,雨云服务器可选择自带宝塔面板的镜像,还是很人性化的
我这里先将宝塔部署的方式说一下,传统部署需要单独写一篇,毕竟要从部署环境开始😂
宝塔部署
进入宝塔面板,点击网站➡️HTML项目
添加项目,域名需要自己先去DNS添加记录,其他的默认即可
域名的话一般是用二级域名,到购买域名的地方解析一个A记录即可,我是在cloudflare解析的,就在cloudflare添加一条A记录即可
点击根目录会自动跳转到项目目录,在这里删除默认的index.html
然后上传本地创建的index.html和nuoche.js
浏览器访问xxxx.huochairener-blog.cn,可能会出现乱码的情况,这是因为编码的问题
在宝塔文件夹双击打开文件,发现是GBK编码
点击编码,改为UTF-8
再次刷新页面即可,若还是不行,记得看看nuoche.js文件的编码,也要改为UTF-8
测试,点击通知车主挪车,显示通知已发送,微信可以接收到通知
制作二维码
网站有了,接下来只需要二维码指向这个网站即可,制作二维码推荐草料二维码生成器,免费的,用了挺久的了,记得大二疫情的时候就开始在家玩这个草料二维码🤣
点击美化
选择标签样式,我是使用的缙哥哥博客中分享的样式用Workers免服务器部署挪车二维码,可微信通知、拨打电话-缙哥哥,编号:B342
我自己做了些修改,记得编码内容改为自己的网址
下载这个二维码图片即可,随便找个打印店,打印+塑封就能做到这个效果了,10大洋吧应该,学校的话应该会便宜得多