全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

AngularJS 支付倒计时功能实现思路

说明:

1、前端只负责展示倒计时,不具备实际功能;

2、实际实现方式:数据库中设置一个每分钟执行一次的定时任务(故与实际情况会有一分钟以内的误差),只要订单创建时间超过15分钟会自动将订单状态改为“取消”。

遇到难点:

1、字符串转date中,苹果satari浏览器不支持“yyyy-mm-dd hh:mi:ss”格式,须将字符串转为“yyyy/mm/dd hh:mi:ss”

new Date($scope.order.createtime.replace(/\-/g, "/")) 

2、AngularJS 对JavaScript自带的 定时任务window.setInterval 支持不完善,需使用其自有的方法 $interval

html相关代码(使用ionic框架):

<div ng-class="{true: 'payCountDown', false: ''}[payClass]" ng-bind="payCountDown"> 
</div> 

js相关代码:

$scope.order = Storage.get("order");//order为后台传来的订单信息,里面包含订单创建时间 
  var createTime;//订单创建时间 
  var curTime;//当前时间 
  var totalSecond;//设置计时总时间(分钟) 
  if($scope.order.createtime !=null){ 
    //为了支持safari浏览器 
    createTime=new Date($scope.order.createtime.replace(/\-/g, "/")).getTime(); 
    curTime=new Date().getTime(); 
    totalSecond=Math.round((createTime+15*60*1000-curTime)/1000); 
  }else{ 
    totalSecond = 15 * 60;  
  } 
   
  /** 
   * 支付倒计时 
   */ 
  timePromise = $interval(function(){  
    if (totalSecond >= 0) { 
      var t1 = Math.floor(totalSecond / 60); 
      var m = t1 < 10 ? "0" + t1 : t1; 
      var t2 = totalSecond - t1 * 60; 
      var s = t2 < 10 ? "0" + t2 : t2; 
      totalSecond = totalSecond - 1; 
      $scope.payClass=true;//添加class 
      $scope.payCountDown="支付剩余时间:"+m+"分钟"+s+"秒" 
    } else { 
      $scope.confirmPay=true; 
      $scope.payClass=true;//添加class 
      $scope.payCountDown= "支付超时,请重新下单!"; 
      $interval.cancel(timePromise);//终止倒计时 
    } 
  },1000) 

css代码:

.payCountDown{ 
  color:#FFFFFF; 
  background-color:red; 
  text-align:center; 
  padding:14px 0; 
  opacity:0.8 
}

运行效果:

补充:

oracle定时任务代码:

begin 
 sys.dbms_job.submit(job => :job, 
           what => 'UpdateOrderStatues;', 
           next_date => to_date('05-06-2017 10:05:50', 'dd-mm-yyyy hh24:mi:ss'), 
           interval => 'sysdate +1/1440'); 
 commit; 
end; 
/ 

以上所述是小编给大家介绍的AngularJS 支付倒计时功能实现思路,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# angularjs  # 支付倒计时  # javaScript实现支付10秒倒计时  # JS支付页面倒计时的实现示例  # js实现支付倒计时返回首页  # JavaScript高仿支付宝倒计时页面及代码实现  # js制作支付倒计时页面  # 基于JS实现01支付后的10秒倒计时  # 倒计时  # 小编  # 会有  # 在此  # 给大家  # 不支持  # 实际情况  # 自带  # 不具备  # 所述  # 数据库中  # 每分钟  # 下单  # 给我留言  # 不完善  # 感谢大家  # 疑问请  # 有任何  # setInterval  # window 


相关文章: 广州建站公司哪家好?十大优质服务商推荐  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  如何通过免费商城建站系统源码自定义网站主题与功能?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  如何登录建站主机?访问步骤全解析  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  如何在云服务器上快速搭建个人网站?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  网站制作员失业,怎样查看自己网站的注册者?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  制作宣传网站的软件,小红书可以宣传网站吗?  ,制作一个手机app网站要多少钱?  内网网站制作软件,内网的网站如何发布到外网?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?  中山网站制作网页,中山新生登记系统登记流程?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何解决ASP生成WAP建站中文乱码问题?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  如何在Windows虚拟主机上快速搭建网站?  ,网站推广常用方法?  建站主机是什么?如何选择适合的建站主机?  建站之星官网登录失败?如何快速解决?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何通过商城免费建站系统源码自定义网站主题?  网站制作话术技巧,网站推广做的好怎么话术?  如何通过虚拟主机快速搭建个人网站?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何在万网ECS上快速搭建专属网站?  ,在苏州找工作,上哪个网站比较好?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  海南网站制作公司有哪些,海口网是哪家的?  安徽网站建设与外贸建站服务专业定制方案  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  香港服务器选型指南:免备案配置与高效建站方案解析  建站之星Pro快速搭建教程:模板选择与功能配置指南  如何通过WDCP绑定主域名及创建子域名站点?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  小程序网站制作需要准备什么资料,如何制作小程序?  建站主机服务器选型指南与性能优化方案解析  建站主机默认首页配置指南:核心功能与访问路径优化  建站主机是否属于云主机类型?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  上海网站制作开发公司,上海买房比较好的网站有哪些?  利用JavaScript实现拖拽改变元素大小  临沂网站制作公司有哪些,临沂第四中学官网? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。