Browse Source

广告页倒计时

zhangweicheng 5 năm trước cách đây
mục cha
commit
dc40f79be6

+ 2 - 0
modules/all_models/welcome_setting.js

@@ -15,11 +15,13 @@ let modelSchema = {
     compilationId: String,
     normal:{
       showType:{type:Number,default:0},// 1 每天一次 2 每次登录显示,0 关闭
+      showTime:Number,
       context:String
     },
     // 专业用户
     professional: {
        showType:{type:Number,default:0},// 1 每天一次 2 每次登录显示,0 关闭
+       showTime:Number,
        context:String
     }
 };

+ 2 - 1
modules/pm/controllers/pm_controller.js

@@ -322,11 +322,12 @@ module.exports = {
         let absoluteUrl = compilationData.overWriteUrl ? request.app.locals.rootDir + compilationData.overWriteUrl : request.app.locals.rootDir;
         let overWriteUrl = fs.existsSync(absoluteUrl) && fs.statSync(absoluteUrl).isFile()? compilationData.overWriteUrl : null;
         //欢迎页显示控制
-        let [isShow,context] = await pm_facade.getWelcomeInfo(sessionCompilation._id,request.session.sessionUser,request.session.compilationVersion.includes('免费'));
+        let [isShow,context,showTime] = await pm_facade.getWelcomeInfo(sessionCompilation._id,request.session.sessionUser,request.session.compilationVersion.includes('免费'));
         let renderData = {
             isFirst: isFirst,
             isShow:isShow,
             context:context,
+            showTime:showTime,
             userAccount: request.session.userAccount,
             userID: request.session.sessionUser.id,
             compilationData: JSON.stringify(sessionCompilation),

+ 4 - 2
modules/pm/facade/pm_facade.js

@@ -1958,14 +1958,16 @@ async function getWelcomeInfo(compilationId,sessionUser,isFree=true) {
     let welcom_setting = await welcomeModel.findOne({compilationId:compilationId});
     let isShow = false;
     let context = "";
+    let showTime = 0;
     let setting = null
     if(welcom_setting){
       setting = isFree? welcom_setting.normal:welcom_setting.professional;//区分专业版和免费版
     }
 
     if(setting){
-        if(setting.showType == 0) return [false,""];//关闭
+        if(setting.showType == 0) return [false,"",showTime];//关闭
         context = setting.context;
+        showTime = setting.showTime;
         if(setting.showType == 1){//每天一次
             let dataString =moment(Date.now()).tz("Asia/Shanghai").format('YYYY-MM-DD');//今天的日期字符串
             let userInfo =await userModel.findOne({_id: mongoose.Types.ObjectId(sessionUser.id)});
@@ -1980,6 +1982,6 @@ async function getWelcomeInfo(compilationId,sessionUser,isFree=true) {
 
     }
 
-    return [isShow,context]
+    return [isShow,context,showTime]
 
 }

+ 3 - 1
web/building_saas/pm/html/project-management.html

@@ -674,11 +674,13 @@
         <div class="modal-content">
             <div class="modal-header">
                 <h5 class="modal-title">欢迎使用纵横公路养护云造价</h5>
-                <button type="button" class="close text-danger" data-dismiss="modal" aria-label="Close">
+                <label id="countdown" ></label>
+                <button type="button" id="welcomeCloseBtn" class="close text-danger" data-dismiss="modal" aria-label="Close">
                     <span aria-hidden="true">&times;</span>
                 </button>
             </div>
             <div class="modal-body" id="welcomeBody">
+              <input type="hidden" id="showTime" value="<%= showTime %>">
                 <div style="max-height:465px">
                      <%- context %>
                 </div>

+ 19 - 3
web/building_saas/pm/js/pm_newMain.js

@@ -3925,6 +3925,22 @@ function doAfterImport(projectDatas) {
     }
 }
 
-$(function () {
-   if(isShow)  $('#welcomePage').modal('show');//是否显示欢迎页
-});
+if(isShow){
+  let showTime = parseInt($("#showTime").val()); 
+ if(showTime > 0){
+   $("#welcomeCloseBtn").hide();
+   function countdown(){
+     if(showTime > 0){
+       showTime--
+       $("#countdown").text(showTime);
+     }else{
+       $("#countdown").text("");
+       $("#welcomeCloseBtn").show();
+       clearInterval(welcomeTimer);
+     }
+   }
+   countdown();
+   let welcomeTimer = setInterval("countdown()", 1000);   
+ }
+ $('#welcomePage').modal('show');//是否显示欢迎页
+}