Gunakan PHP dan Vue untuk merealisasikan fungsi rebat mata ahli selepas pembayaran
Dengan perkembangan pesat e-dagang, sistem keahlian juga semakin popular sejagat. Untuk menarik lebih ramai pengguna menyertai, ramai peniaga akan memberi ganjaran kepada ahli melalui rebat. Artikel ini akan memperkenalkan cara menggunakan PHP dan Vue untuk melaksanakan fungsi rebat mata ahli selepas pembayaran, dan memberikan contoh kod khusus.
1 Prinsip rebat mata
Pelaksanaan fungsi rebat mata terbahagi terutamanya kepada langkah berikut:
Cipta pangkalan data
user_points
: CREATE TABLE `user_points` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `points` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# 🎜 🎜#Gunakan PHP pada bahagian belakang untuk mengendalikan logik perniagaan. Pertama, kita perlu menulis fail bernama updatePoints.php
untuk mengemas kini maklumat mata pengguna. Kod sampel adalah seperti berikut: user_points
的表:
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "test"; $conn = new mysqli($servername, $username, $password, $dbname); // 获取用户ID和返利积分 $user_id = $_POST['user_id']; $points = $_POST['points']; // 查询用户当前的积分余额 $sql = "SELECT * FROM user_points WHERE user_id = $user_id"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 更新用户的积分信息 $row = $result->fetch_assoc(); $current_points = $row['points']; $new_points = $current_points + $points; $sql = "UPDATE user_points SET points = $new_points WHERE user_id = $user_id"; if ($conn->query($sql) === TRUE) { echo "积分更新成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } else { // 添加新的积分信息 $sql = "INSERT INTO user_points (user_id, points) VALUES ($user_id, $points)"; if ($conn->query($sql) === TRUE) { echo "积分添加成功"; } else { echo "Error: " . $sql . "<br>" . $conn->error; } } $conn->close(); ?>
在后端使用PHP来处理业务逻辑。首先,我们需要编写一个名为updatePoints.php
的文件,用于更新用户的积分信息。示例代码如下:
use IlluminateSupportFacadesRoute; Route::post('/updatePoints', function () { return view('updatePoints'); });
使用PHP框架(如Laravel)可以方便地设置路由,调用updatePoints.php
<template> <div> <button @click="updatePoints">购买商品并支付</button> <p>我的积分余额:{{ points }}</p> </div> </template> <script> export default { data() { return { user_id: 123, // 用户ID points: 0 // 积分余额 } }, methods: { updatePoints() { // 计算返利积分 const orderAmount = 100; // 购买商品的金额 const rebateRate = 0.1; // 返利比例 const points = orderAmount * rebateRate; // 调用后端API更新积分 axios.post('/updatePoints', { user_id: this.user_id, points: points }) .then(response => { // 更新成功,刷新积分余额 this.getPoints(); }) .catch(error => { console.log(error); }); }, getPoints() { // 调用后端API获取积分余额 axios.get(`/getPoints?user_id=${this.user_id}`) .then(response => { this.points = response.data; }) .catch(error => { console.log(error); }); } }, mounted() { // 页面加载时获取积分余额 this.getPoints(); } } </script>
updatePoints.php
. Kod sampel adalah seperti berikut: Gunakan Vue untuk melaksanakan halaman hadapan dan kemas kini halaman pengguna dengan memanggil API yang disediakan oleh maklumat Mata bahagian belakang. Kod sampel adalah seperti berikut:
rrreee3. Ringkasan
#🎜🎜# Melalui langkah di atas, kami berjaya melaksanakan fungsi rebat mata ahli selepas pembayaran. Selepas pengguna membeli produk dan menyelesaikan pembayaran, bahagian belakang akan mengira mata rebat berdasarkan jumlah produk dan menambahkannya pada akaun mata pengguna. Halaman hadapan akan memaparkan baki mata pengguna tepat pada masanya. #🎜🎜##🎜🎜#Kod sampel ini boleh digunakan sebagai asas untuk diubah suai dan dilanjutkan mengikut keperluan sebenar. Harap ini membantu! #🎜🎜#Atas ialah kandungan terperinci Gunakan PHP dan Vue untuk melaksanakan fungsi rebat mata ahli selepas pembayaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!