今年公司和支付宝合作,做了蛮多支付宝红包项目。在此也总结罗列下。
通常都是一个拆红包页面,点击之后支付宝授权跳转到第二个领取红包页面和领取优惠券页面地址。
有时候会有些项目需求做ip定位,规定内城市才可参加活动。
示例页面
页面流程
通常,后端同事会给到授权接口,用户信息接口,抽红包接口,优惠券接口。
授权接口我们只要将第二个页面的地址提供到后端同事让他配置好。
用户信息接口,判断该用户是否已经参与过活动,如果参与过活动,相应显示对应的文字提示。
抽红包接口,点击“抢红包”按钮,获取金额在对应区域显示出来。
优惠券接口,领取成功,则按钮变灰“已领取”。
支付宝环境自定义分享标题,描述,和分享图
<meta name="Alipay:title" content="帝豪家族感恩有豪礼"/>
<!--
自定义图片
//钱包8.6开始支持-->
<meta name="Alipay:imgUrl" content="https://www1.pcauto.com.cn/zt/sh20180710/zhongtai/images/xt.jpg"/>
<!--
自定义摘要
//钱包8.6开始支持-->
<meta name="Alipay:desc" content="帝豪家族感恩有豪礼"/>
<!--
自定义链接
//钱包10.0.0开始支持-->
<meta name="Alipay:link" content="http://www1.pcauto.com.cn/zt/sh20180710/zhongtai/index.html"/>
ajax请求注意带上cookie
$.ajax({
type: "GET",
url: “………………x.jsp”,
dataType: "json",
xhrFields: {withCredentials: true},
crossDomain: true,
success: function(obj){
//成功状态
}
})
ip定位
//示例,jsondata是自己创建的data,判断所在定位是否在jsondata里。
Locate.run(function(data){
var city0 = Locate.fStringifyResult(data.data.city);
//var city0 ='上海'; 用于测试
var city1 = city0.replace(/\"/g, "");
var city = city1.replace(new RegExp('市'), "");
for(var index = 0;index<jsondata.length;index++){
main.cityArr[index]=jsondata[index].city;
}
console.log(main.cityArr)
var d=main.cityArr.indexOf(city)
if (d==-1) {
alert("不在活动所在区域")
//window.location.replace("alipays://platformapi/startApp?appId=2017101709350139&page=pages/ar_list/ar_list&query=brandid%3D365%26isar%3D1%26toArList%3D1")
}else{
//main.init();
}
});
源码分享
链接: https://pan.baidu.com/s/1J5U0uN-s2_06csZkwB9lOA 密码: mwfk
这个项目是一个含有ip定位的项目,第一个页面5分钟红包雨,结束跳转到抢红包页面。