业务要求是:需要在首页或者商城或者帖子页面的首页弹出一个弹窗广告,可以配置在那个首页的页面弹出,配置时间段弹出(比如:下午6:00弹出广告,在首页和商城页面弹出,弹出时间为10秒,只要是第一次进来的用户没有超过登录15天的用户都弹出)?这怎么实现?大佬们
综合上面就可以了
大致思路你可以参考一下:
export default {
data() {
return {
// 用户登录时间
userLoginTime: null,
// 当前时间
currentTime: null,
};
},
onShow() {
// 获取用户登录时间
this.userLoginTime = getUserLoginTime();
// 获取当前时间
this.currentTime = new Date();
// 计算用户登录天数
let loginDays = Math.floor((this.currentTime - this.userLoginTime) / (1000 * 60 * 60 * 24));
// 如果用户登录天数小于或等于15天,就弹出广告
if (loginDays <= 15) {
// 设定6点弹出广告
let targetTime = new Date();
targetTime.setHours(18);
targetTime.setMinutes(0);
targetTime.setSeconds(0);
targetTime.setMilliseconds(0);
// 计算当前时间与目标时间的差值
let delay = targetTime - this.currentTime;
// 如果差值小于0,说明今天的6点已经过了,设置为明天的6点
if (delay < 0) {
delay += 24 * 60 * 60 * 1000;
}
// 定时弹出广告
setTimeout(() => {
this.showAd(); // 弹出广告
// 设置广告显示10秒后关闭
setTimeout(() => {
this.closeAd(); // 关闭广告
}, 10000);
}, delay);
}
},
};
在请求返回后继续执行章节中,我们介绍了一种实现的方法,这里我们 介绍一种更优雅更通用的方法:ngx.timer.at()。 ngx.timer.at 会创建一个 Nginx timer。在事件循环中,Nginx 会找出到期的 timer,并在一个独立的协程中执行对应的 Lua 回调函数。 有了这种机制,ngx_lua 的功能得到了非常大的扩展,我们有机会做一些更有想象力的功能出来。比如 批量提交和
在 Blade 2.0.8 版本之后加入了 cron 表达式来完成定时执行任务的需求。 你只需要在处理任务的方法上添加一个 @Schedule 注解,然后编写 cron 表达式即可。 Blade 的任务系统提供你创建、停止、获取任务列表的 API。 创建一个任务 @Bean public class SimpleTask { @Schedule(cron = "* * * * * ?")
定时任务即在指定的时间点对关联资源进行指定动作。 定时任务即在指定的时间点对关联资源进行指定动作。目前仅支持对虚拟机进行定时开关机、重启等操作。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “运维工具/常用工具/定时任务” 菜单项,进入定时任务页面。 新建定时任务 该功能用于创建定时任务。 在定时任务页面,单击列表上方 “新建” 按钮,进入新建定时任务也没。 配置以下参数: 指定
帮助用户快速部署定时任务。 定时任务(CronJob)可以根据设定的策略周期性的运行job任务。CronJob的详细介绍内容,请参考kubernets官方文档-CronJobs 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “容器/应用/定时任务” 菜单项,进入定时任务页面。 定时说明 请参考Cron # 定时设置举例 */1 * * * * # 表示每分钟创建一个job任务。
通常来说,执行定时任务会通过 Linux 的 crontab 命令来实现,但现实情况下,并不是所有开发人员都能够拥有生产环境的服务器去设置定时任务的,这里 hyperf/crontab 组件为您提供了一个 秒级 定时任务功能,只需通过简单的定义即可完成一个定时任务的定义。 安装 composer require hyperf/crontab 使用 启动任务调度器进程 在使用定时任务组件之前,需要
说明 在实际项目中,我们经常会有一些任务是需要定时执行的。 虽然有 cron、crontab、systemd 等系统级内置的,定时任务工具存在。 但是他们的一些让人掉头发的配置写法,以及增加运维心智负担,无法适应多实例部署场景等等原因,势必需要在 imi 框架中提供这个功能。 设计 imi 通过增加一个 CronProcess 进程用于定时任务的调度和执行,使用 Redis 作为数据存储。 定时任