网站开发进阶(十九)计划任务功能——信息自动弹出

2024-02-16 20:48

本文主要是介绍网站开发进阶(十九)计划任务功能——信息自动弹出,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

计划任务功能——信息自动弹出

在项目开发中需求如下:用户在购药APP发出购药请求后,匹配送货的药店端在登陆后或处于在线状态时,系统会以弹窗形式进行信息提示。

初步尝试在控制器中使用window.load方法解决,但失败了。估计放在单个页面中不以分离的形式应该会起作用。

//应用window.onload方法

 

window.onload = function(){alert("window.onload");}

 

思路

在经过多次尝试无果后,自己重新整理了一下思路。完成以上功能主要包括2点:1)设置一个标志用户登录的标志;2)设置定时器(有关定时器详见博文“Java实现定时器(Timer)”)。因为只有在管理员登陆之后,通过定时检查是否有新的订单出现。逻辑图如下所示:

编程实现

对于“设置一个标志用户登录的标志”的要求,可以采用在用户登录成功之后再调用的方式替换。可采用如下代码实现:

 

appCallServer($http,"S001",{"uid":$scope.uid,"passwd":MyRsaEncrypt(localStorage.publickey,$scope.passwd)},function(data){
//登录成功
localStorage.uid=$scope.uid;
localStorage.mangname=data.mangname;
localStorage.sessionid=data.sessionid;
$state.go('shop_MedManag');
//window.alert("Test");
appCallServer($http,"1015",{"uid":$scope.uid},function(data){
console.log(data); 	//控制台输出data数据结构,对于调试很管用
if(data.cnt <= 0){
alert("无订单");
return;
}
if(confirm("有新的订单请求,是否查看?")){
//显示订单
$state.go('shop_billManag');
}
},
//fail function
function(data){
alert(data.errtext);
});
});

 

注:confirm用法

如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false。

在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 confirm() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。

对于“设置定时器”的要求,可采用如下代码实现:

 

<script type="text/javascript">
var btn = document.getElementById("butQuery");
var shq = true;
btn.onclick = function(){
//alert("SHQ");
appCallServer($http,"1015",{"uid":$scope.uid},function(data){
if(data.cnt <= 0){
alert("无订单");
return;
}else{
console.log("data:");
console.log(data);//控制台输出data数据结构,对于调试很管用
if(confirm("有新的订单请求,是否查看啊?")){
//显示订单
$state.go('shop_billManag');
}
}
},
//fail function
function(data){
alert(data.errtext);
});
}
if (shq){
window.setInterval(function(){btn.click()},1*10*1000);
shq = false;
}
</script>

 

注:window.setInterval()函数的用法

javescript网页页脚函数,该函数的意义是让浏览器定时执行一些设定好的函数代码,如:window.setInterval('abc()',3000);即浏览器第隔3称秒都会执行一次abc函数。

现在能够实现的功能是用户登陆之后,若有新的订单,则会进行弹窗提醒。若用户选择查看订单,则会跳转到“订单管理”页面,然后在“订单管理”页面定时刷新。

问题

若用户处于别的管理界面中,即使有新的订单到来,服务端后台会执行查询并返回相应结果。但是管理端前台无法实现弹窗提醒效果。这是一个缺陷。需要寻求一种方法实现弹框可以总是出现在最前端

解决思路

想起了一种新的解决思路:自己创建一个新的弹出框,在每个状态页面执行订单查询操作,若有新的订单需求到来,则进行弹窗提示。

这篇关于网站开发进阶(十九)计划任务功能——信息自动弹出的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/715671

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

C#实现高性能拍照与水印添加功能完整方案

《C#实现高性能拍照与水印添加功能完整方案》在工业检测、质量追溯等应用场景中,经常需要对产品进行拍照并添加相关信息水印,本文将详细介绍如何使用C#实现一个高性能的拍照和水印添加功能,包含完整的代码实现... 目录1. 概述2. 功能架构设计3. 核心代码实现python3.1 主拍照方法3.2 安全HBIT

Spring定时任务之fixedRateString的实现示例

《Spring定时任务之fixedRateString的实现示例》本文主要介绍了Spring定时任务之fixedRateString的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录从毫秒到 Duration:为何要改变?核心:Java.time.Duration.parse

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日