How to use PHP to develop the schedule reminder function of WeChat applet?
With the popularity of WeChat mini programs, more and more developers are beginning to pay attention to how to implement more functions in mini programs. Among them, the schedule reminder function is one of the commonly used and practical functions for users. This article will introduce how to use PHP to develop the schedule reminder function of WeChat applet and provide specific code examples.
First, make sure you have installed the PHP environment. Before starting, you need to install the following dependent packages or libraries:
In the MySQL database, create a database named schedule
, and create a database named reminder
data table. The data table fields are as follows:
CREATE TABLE `reminder` ( `id` int(11) NOT NULL AUTO_INCREMENT, `openid` varchar(255) NOT NULL, `title` varchar(255) NOT NULL, `content` text NOT NULL, `reminder_time` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
When the user logs in to the applet, get the user's openid and save it in a global variable.
// 在 app.js 中 App({ // ... globalData: { openid: null }, // ... onLaunch: function() { // 获取用户openid wx.login({ success: function(res) { if (res.code) { // 调用后端接口获取openid wx.request({ url: 'https://your-backend-domain.com/getOpenid.php', data: { code: res.code }, success: function(res) { // 将openid保存在全局变量中 getApp().globalData.openid = res.data.openid; } }); } else { console.log('登录失败!' + res.errMsg); } } }); }, // ... });
In the applet, when the user adds a schedule reminder, first we need to send a request to the backend and save the schedule information to the database .
wx.request({ url: 'https://your-backend-domain.com/addReminder.php', method: 'POST', data: { openid: getApp().globalData.openid, title: '日程标题', content: '日程内容', reminder_time: '2022-01-01 10:00:00' }, success: function(res) { // 提示用户添加成功 wx.showToast({ title: '添加成功', icon: 'success', duration: 2000 }); }, fail: function(res) { console.log('添加失败!' + res.errMsg); } });
The backend needs to provide an interface to query the schedule to be reminded before the current time.
// getReminders.php <?php header('Content-Type: application/json'); // 连接数据库 $db_host = 'localhost'; $db_user = 'your_username'; $db_password = 'your_password'; $db_name = 'schedule'; $db = new mysqli($db_host, $db_user, $db_password, $db_name); if ($db->connect_errno) { die('连接数据库失败!'); } // 查询待提醒的日程 $now = date('Y-m-d H:i:s'); $query = "SELECT * FROM reminder WHERE openid = '{$_GET['openid']}' AND reminder_time <= '{$now}'"; $result = $db->query($query); // 返回查询结果 $reminders = []; while ($row = $result->fetch_assoc()) { array_push($reminders, $row); } echo json_encode($reminders); // 关闭数据库连接 $db->close(); ?>
The backend sends the schedule to be reminded to the WeChat applet based on the query results. After receiving the reminder, the mini program uses the wx.showModal
interface provided by WeChat to pop up the reminder window.
// 在 app.js 中 setInterval(function() { wx.request({ url: 'https://your-backend-domain.com/getReminders.php', data: { openid: getApp().globalData.openid }, success: function(res) { if (res.data.length > 0) { // 弹出提醒窗口 for (var i = 0; i < res.data.length; i++) { wx.showModal({ title: res.data[i].title, content: res.data[i].content, showCancel: false }); } } } }); }, 60000); // 每分钟轮询一次
The above are the steps and code examples for using PHP to develop the schedule reminder function of the WeChat applet. Through the above steps, we can implement a simple schedule reminder function to help users better manage their time. Of course, developers can optimize and expand the code according to their own needs. Hope this article is helpful to you!
The above is the detailed content of How to use PHP to develop the schedule reminder function of WeChat applet?. For more information, please follow other related articles on the PHP Chinese website!