Maison  >  Article  >  développement back-end  >  Comment utiliser PHP pour implémenter la fonction réveil de l'applet WeChat ?

Comment utiliser PHP pour implémenter la fonction réveil de l'applet WeChat ?

王林
王林original
2023-10-27 16:58:52967parcourir

Comment utiliser PHP pour implémenter la fonction réveil de lapplet WeChat ?

Comment utiliser PHP pour implémenter la fonction réveil de l'applet WeChat ?

Avec la popularité des mini-programmes WeChat, de plus en plus de développeurs commencent à s'intéresser à la manière de mettre en œuvre diverses fonctions pratiques dans les mini-programmes WeChat. Parmi elles, la fonction réveil fait partie des fonctions très pratiques. Cet article expliquera comment utiliser PHP pour écrire une interface back-end et la combiner avec le code front-end de l'applet WeChat pour implémenter une simple fonction de réveil.

  1. Créer une table de base de données

Tout d'abord, nous devons créer une table de base de données pour stocker les informations relatives au réveil. Vous pouvez utiliser l'instruction SQL suivante pour créer une table nommée "alarm":

CREATE TABLE `alarm` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `user_id` INT(11) NOT NULL,
  `time` INT(11) NOT NULL,
  `is_enabled` TINYINT(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. Écrivez l'interface back-end

Ensuite, nous utilisons PHP pour écrire l'interface back-end afin de gérer les requêtes envoyées par l'applet WeChat . Créez un fichier appelé "alarm.php" et écrivez le code suivant :

<?php

// 连接数据库
$dsn = 'mysql:host=localhost;dbname=your_database_name';
$username = 'your_username';
$password = 'your_password';

try {
    $pdo = new PDO($dsn, $username, $password);
} catch (PDOException $e) {
    die('Connection failed: ' . $e->getMessage());
}

// 设置字符集
$pdo->exec('SET NAMES utf8');

// 处理添加闹钟请求
if ($_GET['action'] == 'add') {
    $user_id = $_GET['user_id'];
    $time = $_GET['time'];
    
    $stmt = $pdo->prepare('INSERT INTO alarm (user_id, time) VALUES (?, ?)');
    $stmt->execute([$user_id, $time]);
    
    echo json_encode(['result' => 'success']);
    exit;
}

// 处理获取闹钟请求
if ($_GET['action'] == 'get') {
    $user_id = $_GET['user_id'];
    
    $stmt = $pdo->prepare('SELECT * FROM alarm WHERE user_id = ?');
    $stmt->execute([$user_id]);
    
    $alarms = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    echo json_encode($alarms);
    exit;
}

// 处理删除闹钟请求
if ($_GET['action'] == 'delete') {
    $id = $_GET['id'];
    
    $stmt = $pdo->prepare('DELETE FROM alarm WHERE id = ?');
    $stmt->execute([$id]);
    
    echo json_encode(['result' => 'success']);
    exit;
}

?>

Remplacez "votre_nom_de_données", "votre_nom d'utilisateur" et "votre_mot de passe" dans le code ci-dessus par votre nom de base de données, votre nom d'utilisateur et votre mot de passe réels.

  1. Écrire du code front-end

Ensuite, nous utilisons l'outil de développement d'applet WeChat pour créer un nouveau projet d'applet et y écrire le code front-end. Créez une page nommée "alarme" et écrivez le code suivant dans son fichier js correspondant :

// 发送添加闹钟请求
function addAlarm(user_id, time) {
  wx.request({
    url: 'http://your_domain.com/alarm.php?action=add',
    data: {
      user_id: user_id,
      time: time
    },
    success: function(res) {
      console.log(res.data);
    }
  });
}

// 发送获取闹钟请求
function getAlarms(user_id) {
  wx.request({
    url: 'http://your_domain.com/alarm.php?action=get',
    data: {
      user_id: user_id
    },
    success: function(res) {
      console.log(res.data);
    }
  });
}

// 发送删除闹钟请求
function deleteAlarm(id) {
  wx.request({
    url: 'http://your_domain.com/alarm.php?action=delete',
    data: {
      id: id
    },
    success: function(res) {
      console.log(res.data);
    }
  });
}

// 页面加载时发送获取闹钟请求
onLoad: function(options) {
  var user_id = options.user_id;
  getAlarms(user_id);
},

Remplacez "votre_domaine.com" dans le code ci-dessus par le nom de domaine ou l'adresse IP réelle.

  1. Compléter la fonction réveil

À ce stade, nous avons terminé l'interface back-end de base et le code front-end. Dans la page "alarme" du mini programme, en appelant les fonctions addAlarm, getAlarms et deleteAlarm, vous pouvez ajouter, obtenir et supprimer des réveils.

De plus, vous pouvez également utiliser la minuterie pour réaliser la fonction de rappel d'alarme. Dans la page "alarme" du mini programme, ajoutez le code suivant :

// 监听定时器
setInterval(function() {
  var currentTime = new Date().getTime() / 1000;
  var alarms = this.data.alarms;
  var that = this;

  for (var i = 0; i < alarms.length; i++) {
    if (alarms[i].is_enabled && alarms[i].time <= currentTime) {
      wx.showModal({
        title: '闹钟',
        content: '时间到了!',
        success: function(res) {
          if (res.confirm) {
            deleteAlarm(alarms[i].id);
            getAlarms(that.data.user_id);
          }
        }
      });
      break;
    }
  }
}, 1000);

Grâce au code ci-dessus, nous pouvons vérifier une fois par seconde si l'heure actuelle a atteint l'heure fixée par le réveil, et si oui, un pop La fenêtre -up le rappellera à l'utilisateur.

En résumé, voici les étapes et les exemples de code permettant d'utiliser PHP pour implémenter la fonction réveil de l'applet WeChat. Les développeurs peuvent développer et optimiser en conséquence en fonction de leurs propres besoins et des conditions réelles. J'espère que cet article vous aidera !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn