YYPOST群发软件 发表于 2026-5-11 08:50:06

AIWROK条件语句实用示例智能活动推荐系统

AIWROK条件语句实用示例智能活动推荐系统

/**
* ============================================
* AIWROK 条件语句实用示例 - 智能活动推荐系统
*
* 本示例演示 JavaScript 条件语句的实际应用:
* - if 语句
* - if...else 语句
* - if...else if...else 语句
* - switch 语句
*
* 应用场景:根据时间、天气、用户偏好等因素智能推荐活动
*
* 交流QQ群: 711841924 (群一) / 528816639 (苹果脚本内测群)
* 云
* ============================================
*/

// ==================== 工具函数 ====================

/**
* 获取当前时间段
* @returns {string} 时间段标识
*/
function getTimePeriod() {
    var hour = new Date().getHours();
   
    if (hour >= 5 && hour < 9) {
      return "早晨";
    } else if (hour >= 9 && hour < 12) {
      return "上午";
    } else if (hour >= 12 && hour < 14) {
      return "中午";
    } else if (hour >= 14 && hour < 18) {
      return "下午";
    } else if (hour >= 18 && hour < 22) {
      return "晚上";
    } else {
      return "深夜";
    }
}

/**
* 获取星期几的中文名称
* @returns {string} 星期几
*/
function getDayName() {
    var day = new Date().getDay();
    var dayNames = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
    return dayNames;
}

/**
* 判断是否为周末
* @returns {boolean}
*/
function isWeekend() {
    var day = new Date().getDay();
    return day === 0 || day === 6; // 0是星期日,6是星期六
}

/**
* 判断是否为工作日
* @returns {boolean}
*/
function isWorkday() {
    return !isWeekend();
}

// ==================== 条件语句示例 ====================

/**
* 示例1: if 语句 - 基础条件判断
* 只在满足条件时执行操作
*/
function example1_ifStatement() {
    console.log("\n========== 示例1: if 语句 ==========");
   
    var temperature = 28; // 模拟温度
   
    if (temperature > 25) {
      console.log("温度较高,建议多喝水");
    }
   
    if (isWeekend()) {
      console.log("今天是休息日,可以好好放松");
    }
}

/**
* 示例2: if...else 语句 - 二选一决策
* 根据条件选择两种不同的处理方式
*/
function example2_ifElseStatement() {
    console.log("\n========== 示例2: if...else 语句 ==========");
   
    var hasUmbrella = true; // 是否有伞
    var isRaining = true;   // 是否下雨
   
    if (isRaining) {
      if (hasUmbrella) {
            console.log("下雨了,但您有伞,可以放心出门");
      } else {
            console.log("下雨了,您没有伞,建议等雨停或叫车");
      }
    } else {
      console.log("天气晴朗,适合外出活动");
    }
   
    // 另一个例子:根据电量给出建议
    var batteryLevel = 35; // 电池百分比
   
    if (batteryLevel < 20) {
      console.log("电量不足 " + batteryLevel + "%,请尽快充电");
    } else {
      console.log("电量充足 " + batteryLevel + "%,可以继续使用");
    }
}

/**
* 示例3: if...else if...else 语句 - 多条件分支
* 根据多个条件选择不同的处理方式
*/
function example3_ifElseIfStatement() {
    console.log("\n========== 示例3: if...else if...else 语句 ==========");
   
    var score = 85; // 模拟分数
   
    if (score >= 90) {
      console.log("成绩优秀:A级");
    } else if (score >= 80) {
      console.log("成绩良好:B级");
    } else if (score >= 70) {
      console.log("成绩中等:C级");
    } else if (score >= 60) {
      console.log("成绩及格:D级");
    } else {
      console.log("成绩不及格:需要努力");
    }
   
    // 根据时间段推荐活动
    var period = getTimePeriod();
   
    if (period === "早晨") {
      console.log("早晨时光:适合晨练、阅读或规划一天的工作");
    } else if (period === "上午") {
      console.log("上午时光:工作效率最高,处理重要任务");
    } else if (period === "中午") {
      console.log("中午时光:午餐休息,适当小憩");
    } else if (period === "下午") {
      console.log("下午时光:继续工作或学习,可适当休息");
    } else if (period === "晚上") {
      console.log("晚上时光:休闲娱乐、陪伴家人或自我提升");
    } else {
      console.log("深夜时光:应该休息了,保证充足睡眠");
    }
}

/**
* 示例4: switch 语句 - 多值匹配
* 根据不同的值执行不同的代码块
*/
function example4_switchStatement() {
    console.log("\n========== 示例4: switch 语句 ==========");
   
    var day = new Date().getDay();
    var dayName = getDayName();
   
    console.log("今天是:" + dayName);
   
    switch (day) {
      case 1: // 星期一
            console.log("新的一周开始,制定本周计划");
            break;
      case 2: // 星期二
            console.log("继续推进工作任务");
            break;
      case 3: // 星期三
            console.log("一周过半,检查进度");
            break;
      case 4: // 星期四
            console.log("接近周末,完成收尾工作");
            break;
      case 5: // 星期五
            console.log("即将周末,可以轻松一些");
            break;
      case 6: // 星期六
            console.log("周末第一天,好好休息或外出游玩");
            break;
      case 0: // 星期日
            console.log("周末第二天,准备下周工作");
            break;
      default:
            console.log("无效的日期");
            break;
    }
   
    // 另一个例子:根据月份判断季节
    var month = new Date().getMonth() + 1; // getMonth() 返回 0-11
    var season = "";
   
    switch (month) {
      case 3:
      case 4:
      case 5:
            season = "春季";
            break;
      case 6:
      case 7:
      case 8:
            season = "夏季";
            break;
      case 9:
      case 10:
      case 11:
            season = "秋季";
            break;
      case 12:
      case 1:
      case 2:
            season = "冬季";
            break;
      default:
            season = "未知季节";
            break;
    }
   
    console.log("当前月份:" + month + "月,属于:" + season);
}

/**
* 示例5: 嵌套条件语句 - 复杂逻辑判断
* 在实际应用中经常需要多层条件判断
*/
function example5_nestedConditions() {
    console.log("\n========== 示例5: 嵌套条件语句 ==========");
   
    var weekendFlag = isWeekend();
    var period = getTimePeriod();
    var weather = "晴天"; // 可选:晴天、雨天、阴天、雪天
   
    console.log("当前状态 - " + getDayName() + " " + period + " " + weather);
   
    // 外层判断:工作日还是周末
    if (weekendFlag) {
      console.log("【周末模式】");
      
      // 内层判断:时间段
      if (period === "早晨" || period === "上午") {
            console.log("推荐活动:睡个懒觉,然后吃顿丰盛的早餐");
      } else if (period === "中午" || period === "下午") {
            // 再内层判断:天气
            if (weather === "晴天") {
                console.log("推荐活动:户外郊游、野餐或运动");
            } else if (weather === "雨天") {
                console.log("推荐活动:看电影、逛商场或在家看书");
            } else {
                console.log("推荐活动:室内活动或短途出行");
            }
      } else {
            console.log("推荐活动:与朋友聚会或家庭聚餐");
      }
    } else {
      console.log("【工作日模式】");
      
      if (period === "早晨") {
            console.log("建议:早起锻炼,为一天的工作做准备");
      } else if (period === "上午" || period === "下午") {
            console.log("建议:专注工作,提高效率");
      } else if (period === "晚上") {
            console.log("建议:学习新技能或适当放松");
      } else {
            console.log("建议:早点休息,保证明天精力充沛");
      }
    }
}

/**
* 示例6: 综合应用 - 智能活动推荐系统
* 结合多种条件语句实现完整的推荐逻辑
*/
function example6_smartRecommendation() {
    console.log("\n========== 示例6: 智能活动推荐系统 ==========");
   
    var timePeriod = getTimePeriod();
    var dayName = getDayName();
    var weekend = isWeekend();
    var temperature = 25; // 模拟温度
    var energyLevel = "高"; // 可选:高、中、低
   
    console.log("===== 个性化活动推荐 =====");
    console.log("时间:" + dayName + " " + timePeriod);
    console.log("温度:" + temperature + "°C");
    console.log("精力状态:" + energyLevel);
    console.log("=========================\n");
   
    // 第一层:判断工作日还是周末
    if (weekend) {
      console.log("【周末推荐】");
      
      // 第二层:根据时间段推荐
      switch (timePeriod) {
            case "早晨":
                if (energyLevel === "高") {
                  console.log("✓ 晨跑或瑜伽");
                  console.log("✓ 做一顿营养早餐");
                  console.log("✓ 阅读一本好书");
                } else {
                  console.log("✓ 多睡一会儿");
                  console.log("✓ 轻松的伸展运动");
                }
                break;
               
            case "上午":
            case "下午":
                // 第三层:根据温度和精力推荐
                if (temperature > 30) {
                  console.log("✓ 室内游泳");
                  console.log("✓ 参观博物馆或美术馆");
                  console.log("✓ 咖啡厅阅读");
                } else if (temperature > 20) {
                  console.log("✓ 公园散步");
                  console.log("✓ 骑自行车");
                  console.log("✓ 户外野餐");
                } else {
                  console.log("✓ 健身房锻炼");
                  console.log("✓ 购物逛街");
                  console.log("✓ 和朋友聚会");
                }
                break;
               
            case "晚上":
                console.log("✓ 看一部好电影");
                console.log("✓ 与家人共进晚餐");
                console.log("✓ 规划下周安排");
                break;
               
            default:
                console.log("✓ 休息时间,保持良好作息");
                break;
      }
    } else {
      console.log("【工作日推荐】");
      
      // 使用 if...else if 结构
      if (timePeriod === "早晨") {
            console.log("✓ 快速晨练(15分钟)");
            console.log("✓ 营养早餐");
            console.log("✓ 查看今日工作计划");
      } else if (timePeriod === "上午") {
            if (energyLevel === "高") {
                console.log("✓ 处理最重要和最困难的任务");
                console.log("✓ 创造性工作");
            } else {
                console.log("✓ 先做简单的热身任务");
                console.log("✓ 喝杯咖啡提神");
            }
      } else if (timePeriod === "中午") {
            console.log("✓ 健康午餐");
            console.log("✓ 短暂午休(20-30分钟)");
            console.log("✓ 散步放松");
      } else if (timePeriod === "下午") {
            console.log("✓ 处理常规工作任务");
            console.log("✓ 团队协作和沟通");
            console.log("✓ 适当休息,避免疲劳");
      } else if (timePeriod === "晚上") {
            console.log("✓ 学习新技能或知识");
            console.log("✓ 适度运动");
            console.log("✓ 放松娱乐");
      } else {
            console.log("✓ 准备明天的工作");
            console.log("✓ 早点休息");
      }
    }
}

/**
* 示例7: 条件运算符(三元运算符)
* 简洁的条件表达式
*/
function example7_ternaryOperator() {
    console.log("\n========== 示例7: 三元运算符 ==========");
   
    var age = 20;
    var status = age >= 18 ? "成年人" : "未成年人";
    console.log("年龄:" + age + ",状态:" + status);
   
    var score = 75;
    var result = score >= 60 ? "及格" : "不及格";
    console.log("分数:" + score + ",结果:" + result);
   
    // 嵌套三元运算符(谨慎使用,影响可读性)
    var grade = score >= 90 ? "A" : (score >= 80 ? "B" : (score >= 70 ? "C" : (score >= 60 ? "D" : "F")));
    console.log("等级:" + grade);
   
    // 实际应用场景
    var isLogin = true;
    var message = isLogin ? "欢迎回来!" : "请先登录";
    console.log(message);
}

/**
* 示例8: 实际业务场景 - 用户权限管理系统
* 演示条件语句在实际业务中的应用
*/
function example8_businessLogic() {
    console.log("\n========== 示例8: 用户权限管理系统 ==========");
   
    // 模拟用户数据
    var users = [
      { name: "张三", role: "admin", level: 3, vip: true },
      { name: "李四", role: "user", level: 2, vip: false },
      { name: "王五", role: "guest", level: 1, vip: false },
      { name: "赵六", role: "user", level: 2, vip: true }
    ];
   
    console.log("----- 用户权限检查 -----");
   
    for (var i = 0; i < users.length; i++) {
      var user = users;
      var permissions = [];
      
      // 根据角色分配基础权限
      switch (user.role) {
            case "admin":
                permissions.push("查看所有数据");
                permissions.push("修改系统设置");
                permissions.push("管理用户");
                break;
            case "user":
                permissions.push("查看个人数据");
                permissions.push("修改个人信息");
                break;
            case "guest":
                permissions.push("浏览公开内容");
                break;
            default:
                permissions.push("无权限");
                break;
      }
      
      // VIP用户额外权限
      if (user.vip) {
            permissions.push("VIP专属内容");
            permissions.push("优先客服支持");
      }
      
      // 根据等级解锁功能
      if (user.level >= 3) {
            permissions.push("高级分析工具");
      } else if (user.level >= 2) {
            permissions.push("基础分析工具");
      }
      
      console.log("\n用户:" + user.name);
      console.log("角色:" + user.role + " | 等级:" + user.level + " | VIP:" + (user.vip ? "是" : "否"));
      console.log("权限列表:");
      for (var j = 0; j < permissions.length; j++) {
            console.log("✓ " + permissions);
      }
    }
}

/**
* 示例9: 数据验证与错误处理
* 演示如何使用条件语句进行数据验证
*/
function example9_dataValidation() {
    console.log("\n========== 示例9: 数据验证与错误处理 ==========");
   
    /**
   * 验证邮箱格式
   */
    function validateEmail(email) {
      if (!email || email.length === 0) {
            return { valid: false, message: "邮箱不能为空" };
      }
      
      if (email.indexOf("@") === -1) {
            return { valid: false, message: "邮箱必须包含@符号" };
      }
      
      var parts = email.split("@");
      if (parts.length !== 2) {
            return { valid: false, message: "邮箱格式不正确" };
      }
      
      var username = parts;
      var domain = parts;
      
      if (username.length < 1) {
            return { valid: false, message: "用户名部分不能为空" };
      }
      
      if (domain.indexOf(".") === -1) {
            return { valid: false, message: "域名格式不正确" };
      }
      
      return { valid: true, message: "邮箱格式正确" };
    }
   
    /**
   * 验证密码强度
   */
    function validatePassword(password) {
      if (!password || password.length === 0) {
            return { valid: false, strength: 0, message: "密码不能为空" };
      }
      
      var strength = 0;
      var issues = [];
      
      // 长度检查
      if (password.length >= 8) {
            strength += 1;
      } else {
            issues.push("密码长度至少8位");
      }
      
      // 包含大写字母
      if (//.test(password)) {
            strength += 1;
      } else {
            issues.push("需要包含大写字母");
      }
      
      // 包含小写字母
      if (//.test(password)) {
            strength += 1;
      } else {
            issues.push("需要包含小写字母");
      }
      
      // 包含数字
      if (//.test(password)) {
            strength += 1;
      } else {
            issues.push("需要包含数字");
      }
      
      // 包含特殊字符
      if (/[^A-Za-z0-9]/.test(password)) {
            strength += 1;
      } else {
            issues.push("建议包含特殊字符");
      }
      
      var level = "";
      if (strength <= 2) {
            level = "弱";
      } else if (strength <= 4) {
            level = "中";
      } else {
            level = "强";
      }
      
      return {
            valid: strength >= 3,
            strength: strength,
            level: level,
            message: issues.length > 0 ? issues.join(";") : "密码强度良好"
      };
    }
   
    // 测试邮箱验证
    console.log("\n----- 邮箱验证测试 -----");
    var testEmails = [
      "user@example.com",
      "invalid-email",
      "@example.com",
      "user@",
      "test@test.org"
    ];
   
    for (var i = 0; i < testEmails.length; i++) {
      var result = validateEmail(testEmails);
      var icon = result.valid ? "✓" : "✗";
      console.log(icon + " " + testEmails + " - " + result.message);
    }
   
    // 测试密码验证
    console.log("\n----- 密码强度测试 -----");
    var testPasswords = [
      "123",
      "password",
      "Password1",
      "Str0ng!Pass",
      "Abcdefgh1!"
    ];
   
    for (var i = 0; i < testPasswords.length; i++) {
      var result = validatePassword(testPasswords);
      var icon = result.valid ? "✓" : "⚠";
      console.log(icon + " 密码:" + testPasswords);
      console.log("   强度:" + result.level + " (" + result.strength + "/5)");
      console.log("   提示:" + result.message);
    }
}

/**
* 示例10: 复杂条件组合 - 智能购物推荐
* 结合多个条件进行综合判断
*/
function example10_complexConditions() {
    console.log("\n========== 示例10: 智能购物推荐系统 ==========");
   
    /**
   * 根据用户画像推荐商品
   */
    function recommendProducts(userProfile) {
      var recommendations = [];
      var budget = userProfile.budget; // 预算
      var age = userProfile.age;       // 年龄
      var interests = userProfile.interests; // 兴趣标签数组
      var season = userProfile.season; // 季节
      
      console.log("\n用户画像:");
      console.log("预算:" + budget + "元");
      console.log("年龄:" + age + "岁");
      console.log("兴趣:" + interests.join("、"));
      console.log("季节:" + season);
      console.log("\n推荐商品:");
      
      // 根据预算范围推荐
      if (budget >= 5000) {
            recommendations.push("高端电子产品");
            if (interests.indexOf("摄影") !== -1) {
                recommendations.push("专业相机");
            }
            if (interests.indexOf("游戏") !== -1) {
                recommendations.push("游戏主机");
            }
      } else if (budget >= 2000) {
            recommendations.push("中端电子产品");
            if (interests.indexOf("运动") !== -1) {
                recommendations.push("智能手表");
            }
      } else if (budget >= 500) {
            recommendations.push("实用生活用品");
            if (interests.indexOf("阅读") !== -1) {
                recommendations.push("电子书阅读器");
            }
      } else {
            recommendations.push("性价比好物");
      }
      
      // 根据年龄段推荐
      if (age < 18) {
            recommendations.push("学习用品");
            recommendations.push("青少年服饰");
      } else if (age < 35) {
            if (interests.indexOf("健身") !== -1) {
                recommendations.push("健身器材");
            }
            recommendations.push("时尚单品");
      } else if (age < 50) {
            recommendations.push("家居用品");
            if (interests.indexOf("旅游") !== -1) {
                recommendations.push("旅行装备");
            }
      } else {
            recommendations.push("健康产品");
            recommendations.push("舒适家居");
      }
      
      // 根据季节推荐
      switch (season) {
            case "春":
                recommendations.push("春季服装");
                recommendations.push("户外踏青装备");
                break;
            case "夏":
                recommendations.push("清凉用品");
                recommendations.push("防晒产品");
                break;
            case "秋":
                recommendations.push("秋季服装");
                recommendations.push("保暖用品");
                break;
            case "冬":
                recommendations.push("冬季服装");
                recommendations.push("取暖设备");
                break;
      }
      
      // 去重并显示推荐
      var uniqueRecommendations = [];
      for (var i = 0; i < recommendations.length; i++) {
            if (uniqueRecommendations.indexOf(recommendations) === -1) {
                uniqueRecommendations.push(recommendations);
            }
      }
      
      for (var i = 0; i < uniqueRecommendations.length; i++) {
            console.log("✓ " + uniqueRecommendations);
      }
      
      return uniqueRecommendations;
    }
   
    // 测试不同用户画像
    console.log("===== 用户1 =====");
    var user1 = {
      budget: 8000,
      age: 25,
      interests: ["摄影", "旅游", "美食"],
      season: "夏"
    };
    recommendProducts(user1);
   
    console.log("\n===== 用户2 =====");
    var user2 = {
      budget: 1500,
      age: 40,
      interests: ["阅读", "健身", "音乐"],
      season: "冬"
    };
    recommendProducts(user2);
   
    console.log("\n===== 用户3 =====");
    var user3 = {
      budget: 300,
      age: 16,
      interests: ["游戏", "动漫"],
      season: "春"
    };
    recommendProducts(user3);
}

// ==================== 主函数 ====================

/**
* 运行所有示例
*/
function runAllExamples() {
    console.log("========================================");
    console.log("AIWROK 条件语句实用示例");
    console.log("智能活动推荐系统");
    console.log("========================================");
    console.log("当前时间:" + new Date().toLocaleString());
    console.log("今天是:" + getDayName());
    console.log("时间段:" + getTimePeriod());
   
    // 依次运行所有示例
    example1_ifStatement();
    sleep.second(2); // 延时2秒,便于观察
   
    example2_ifElseStatement();
    sleep.second(2);
   
    example3_ifElseIfStatement();
    sleep.second(2);
   
    example4_switchStatement();
    sleep.second(2);
   
    example5_nestedConditions();
    sleep.second(2);
   
    example6_smartRecommendation();
    sleep.second(2);
   
    example7_ternaryOperator();
    sleep.second(2);
   
    // 新增:示例8 - 实际业务场景应用
    example8_businessLogic();
    sleep.second(2);
   
    // 新增:示例9 - 数据验证与错误处理
    example9_dataValidation();
    sleep.second(2);
   
    // 新增:示例10 - 复杂条件组合
    example10_complexConditions();
   
    console.log("\n========================================");
    console.log("所有示例运行完成");
    console.log("========================================");
}

// 执行所有示例
runAllExamples();


页: [1]
查看完整版本: AIWROK条件语句实用示例智能活动推荐系统