最近一段时间,支付宝的赏金红包十分火爆,各种微信群内都是这种红包口令。这种口令需要复制后,在打开支付宝才能领取红包。然后,也出现一种黑科技,直接在微信里面点击url,自动跳转到支付宝,并且红包是直接领取的。下面我就来讲下这个是怎么实现的。
本文只针对ios,安卓已经被和谐
原理
在ios9后,ios提供了一个新特性,叫做Universal Links,这个技术的作用是,每个app可以向ios系统注册自己监控的url,当在其他应用打开这个url时,会到对应的App打开这个链接。
目前微信已经和谐这个功能,QQ还可以
实现
1.获取红包code
在支付宝把你到红包二维码发送到电脑上,然后用微信去扫,你会看到一个url
https://qr.alipay.com/c1x09500yklzfzymznwya7a
最后面那个/后面到就是你的红包code
2.建立网页
网页这一块我也是从网上抓包来到,毕竟自己也不熟悉微信API,直接贴代码
index.html
<html lang="zh-cmn-hans">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge, chrome=1">
<title>正在打开支付宝,请稍候……</title>
</head>
<body>
<script src="kouling.js"></script>
</body>
</html>
kouling.js
var _0 = "https://qr.alipay.com/c1x09500yklzfzymznwya7a";
var _1 = "https://qr.alipay.com/c1x09500yklzfzymznwya7a";
function is_weixin() {
if (/MicroMessenger/i.test(navigator.userAgent)) {
return true
} else {
return false
}
}
function is_android() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/(Android|SymbianOS)/i)) {
return true
} else {
return false
}
}
function is_ios() {
var ua = navigator.userAgent.toLowerCase();
if (/iphone|ipad|ipod/.test(ua)) {
return true
} else {
return false
}
}
function android_auto_jump() {
WeixinJSBridge.invoke("jumpToInstallUrl", {}, function(e) {});
window.close();
WeixinJSBridge.call("closeWindow")
}
function ios_auto_jump() {
if (_0 != "") {
location.href = _0
} else {
window.close();
WeixinJSBridge.call("closeWindow")
}
}
function onAutoinit() {
if (is_android()) {
android_auto_jump();
return false
}
if (is_ios()) {
ios_auto_jump();
return false
}
}
if (is_weixin()) {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener("WeixinJSBridgeReady", onAutoinit, false)
} else if (document.attachEvent) {
document.attachEvent("WeixinJSBridgeReady", onAutoinit);
document.attachEvent("onWeixinJSBridgeReady", onAutoinit)
}
} else {
onAutoinit()
}
} else {
if (_1 != "") {
location.href = _1
} else {
window.close()
}
}
把js第1,2行的code改成你自己的
3.搭建服务器
PS:你需要有自己的域名和服务器,没有域名生成不了短链接
我用的是openresty也就是nginx来搭建服务器
openresty的安装,请看http://openresty.org/en/
安装完openresty后,进入/usr/local/openresty/nginx/conf目录,新建一个配置alipay.conf
user root;
worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http{
include mime.types;
default_type application/octet-stream;
server {
listen 80;
server_name alipay.shengchaojie.com;
root /root/html;
location /scj{
}
}
}
然后建立文件夹/root/html/scj,这个你可以自定义
把index.html还有kouling.js放到文件夹下面
进入/usr/local/openresty/nginx/sbin目录,运行指令./nginx -c conf/alipay.conf
现在静态资源部署好了,把你的域名指向这台服务器,这步就不讲了。
你可以通过http://ip/scj或者http://domain/scj来访问这个页面,如果是在微信里面,那么已经跳转到支付宝领取红包了
4.转换短链接
为了美观一点,我们需要把自己的域名转换为短链接
我们百度短链接,有很多短链接的转换网站,例如http://sina.lt/
在得到短链接后,为了更美观一点你可以设计文案,比如
前任3:再见前任(郑凯 韩庚)
http://t.cn/RHBSqCh
点击链接观看即可
那么很多人的爱美之心会发作,来领取你的红包了
最后
老铁们领取下我的红包把

网友评论