Bagaimana untuk menggunakan PHP untuk melaksanakan fungsi jam penggera applet WeChat?

王林
Lepaskan: 2023-10-27 17:00:02
asal
932 orang telah melayarinya

Bagaimana untuk menggunakan PHP untuk melaksanakan fungsi jam penggera applet WeChat?

Bagaimana untuk menggunakan PHP untuk melaksanakan fungsi jam penggera applet WeChat?

Dengan populariti program mini WeChat, lebih ramai pembangun mula memberi perhatian kepada cara melaksanakan pelbagai fungsi praktikal dalam program mini WeChat. Antaranya, fungsi jam penggera adalah salah satu fungsi yang sangat praktikal. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis antara muka belakang dan menggabungkannya dengan kod hujung hadapan applet WeChat untuk melaksanakan fungsi jam penggera yang mudah.

  1. Buat jadual pangkalan data

Pertama, kita perlu mencipta jadual pangkalan data untuk menyimpan maklumat berkaitan jam penggera. Anda boleh menggunakan pernyataan SQL berikut untuk mencipta jadual bernama "penggera":

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;
Salin selepas log masuk
  1. Tulis antara muka belakang

Seterusnya, kami menggunakan PHP untuk menulis antara muka belakang untuk mengendalikan permintaan yang dihantar oleh applet WeChat . Cipta fail bernama "alarm.php" dan tulis kod berikut:

<?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;
}

?>
Salin selepas log masuk

Ganti "nama_data_data_anda", "nama_pengguna_anda" dan "kata laluan_anda" dalam kod di atas dengan nama pangkalan data sebenar, nama pengguna dan kata laluan anda.

  1. Menulis kod bahagian hadapan

Seterusnya, kami menggunakan alat pembangunan applet WeChat untuk mencipta projek applet baharu dan menulis kod bahagian hadapan di dalamnya. Buat halaman bernama "penggera" dan tulis kod berikut dalam fail js yang sepadan:

// 发送添加闹钟请求
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);
},
Salin selepas log masuk

Ganti "domain_anda.com" dalam kod di atas dengan nama domain atau alamat IP sebenar.

  1. Lengkapkan fungsi jam penggera

Pada ketika ini, kami telah melengkapkan antara muka asas belakang dan kod hujung hadapan. Dalam halaman "penggera" program mini, dengan memanggil fungsi addAlarm, getAlarm dan deleteAlarm, anda boleh menambah, mendapatkan dan memadam jam penggera.

Selain itu, anda juga boleh menggunakan pemasa untuk merealisasikan fungsi peringatan penggera. Dalam halaman "penggera" program mini, tambahkan kod berikut:

// 监听定时器
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);
Salin selepas log masuk

Melalui kod di atas, kita boleh menyemak sekali setiap saat sama ada masa semasa telah mencapai masa yang ditetapkan oleh jam penggera, dan jika ya, pop timbul -up window akan mengingatkan pengguna.

Ringkasnya, di atas ialah langkah dan contoh kod untuk menggunakan PHP untuk melaksanakan fungsi jam penggera applet WeChat. Pembangun boleh mengembangkan dan mengoptimumkan dengan sewajarnya mengikut keperluan dan keadaan sebenar mereka sendiri. Harap artikel ini membantu anda!

Atas ialah kandungan terperinci Bagaimana untuk menggunakan PHP untuk melaksanakan fungsi jam penggera applet WeChat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!