Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangunan PHP dan Vue: cara memberi dan menerima mata keahlian

Pembangunan PHP dan Vue: cara memberi dan menerima mata keahlian

WBOY
WBOYasal
2023-09-24 21:21:03580semak imbas

Pembangunan PHP dan Vue: cara memberi dan menerima mata keahlian

Pembangunan dengan PHP dan Vue: Cara memberi dan menerima mata ahli

Dengan perkembangan pesat e-dagang, mata ahli telah menjadi alat penting untuk menarik pengguna. Ramai pedagang menggalakkan pengguna membeli, menilai atau mengesyorkan produk dengan memberikan mata dan pengguna boleh menggunakan mata untuk menebus produk atau menikmati diskaun. Bagaimana untuk merealisasikan pemberian dan penerimaan mata keahlian dalam pembangunan laman web telah menjadi tugas penting yang dihadapi oleh pembangun. Artikel ini akan memperkenalkan cara menggunakan PHP dan Vue untuk membangunkan dan melaksanakan fungsi memberi dan menerima mata ahli, dan menyediakan contoh kod khusus.

1. Reka bentuk pangkalan data
Apabila mereka bentuk pangkalan data, kita perlu mempertimbangkan jadual seperti maklumat ahli, rekod mata, dan produk penebusan mata.

Jadual maklumat ahli (ahli):
Medan: id (ID ahli), nama pengguna (nama pengguna), mata (mata)

Jadual rekod mata (rekod_mata):
Bidang: id (ID rekod), ID_ahli (ID keahlian ) , jadual maklumat ahli yang berkaitan), mata (mata), jenis (jenis, hadiah atau penebusan), create_at (masa penciptaan)

Jadual komoditi (barangan):
Bidang: id (ID produk), nama (nama produk), mata (Tebus mata)

2. Pembangunan bahagian belakang
PHP sebagai bahasa pembangunan bahagian belakang, kami boleh membina aplikasi dengan pantas melalui rangka kerja (seperti Laravel).

  1. Mata hadiah
    Apabila pengguna memenuhi syarat tertentu, kami boleh memberikan mata yang sepadan kepada pengguna.
// 赠送积分的API
public function givePoints(Request $request) {
    $memberId = $request->get('member_id');
    $points = $request->get('points');
    $type = '赠送';

    $member = Member::find($memberId);
    $member->points += $points;
    $member->save();

    $record = new PointRecord();
    $record->member_id = $memberId;
    $record->points = $points;
    $record->type = $type;
    $record->create_at = date('Y-m-d H:i:s');
    $record->save();

    return response()->json(['message' => '赠送积分成功']);
}
  1. Tebus mata
    Apabila pengguna memilih produk untuk ditebus, kami perlu memotong mata yang sepadan dan merekodkan rekod penebusan.
// 兑换积分的API
public function exchangePoints(Request $request) {
    $memberId = $request->get('member_id');
    $goodsId = $request->get('goods_id');

    $member = Member::find($memberId);
    $goods = Goods::find($goodsId);

    if ($member->points < $goods->points) {
        return response()->json(['message' => '积分不足,无法兑换']);
    }

    $member->points -= $goods->points;
    $member->save();

    $record = new PointRecord();
    $record->member_id = $memberId;
    $record->points = $goods->points;
    $record->type = '兑换';
    $record->create_at = date('Y-m-d H:i:s');
    $record->save();

    return response()->json(['message' => '兑换成功']);
}

3. Pembangunan bahagian hadapan
Vue, sebagai rangka kerja pembangunan bahagian hadapan, merealisasikan fungsi memberi dan menerima mata ahli dengan menghantar permintaan dan berinteraksi dengan bahagian belakang.

  1. Halaman pemberian mata
    Pada halaman pemberian mata, kita perlu memasukkan ID ahli dan bilangan mata yang akan diberikan, dan klik butang hantar untuk menghantar permintaan ke bahagian belakang.
<template>
  <div>
    <input v-model="memberId" placeholder="请输入会员ID" />
    <input v-model="points" placeholder="请输入赠送积分数量" />
    <button @click="givePoints">赠送</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      memberId: '',
      points: ''
    };
  },
  methods: {
    givePoints() {
      // 发送赠送积分的请求,示例中使用axios库发送请求
      axios.post('/api/give-points', {
        member_id: this.memberId,
        points: this.points
      }).then(response => {
        // 处理请求成功的逻辑
        console.log(response.data.message);
      }).catch(error => {
        // 处理请求失败的逻辑
        console.log(error.response.data.message);
      });
    }
  }
};
</script>
  1. Halaman Tebus Mata
    Di halaman Tebus Mata, kita perlu memaparkan senarai produk yang boleh ditebus, masukkan ID ahli dan pilih produk yang hendak ditebus, dan klik butang Hantar untuk menghantar permintaan kepada bahagian belakang.
<template>
  <div>
    <input v-model="memberId" placeholder="请输入会员ID" />
    <select v-model="goodsId">
      <option v-for="goods in goodsList" :key="goods.id" :value="goods.id">{{ goods.name }}</option>
    </select>
    <button @click="exchangePoints">兑换</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      memberId: '',
      goodsId: '',
      goodsList: []
    };
  },
  mounted() {
    // 获取商品列表,示例中使用axios库发送请求
    axios.get('/api/goods').then(response => {
      this.goodsList = response.data;
    }).catch(error => {
      console.log(error.response.data.message);
    });
  },
  methods: {
    exchangePoints() {
      // 发送兑换积分的请求,示例中使用axios库发送请求
      axios.post('/api/exchange-points', {
        member_id: this.memberId,
        goods_id: this.goodsId
      }).then(response => {
        // 处理请求成功的逻辑
        console.log(response.data.message);
      }).catch(error => {
        // 处理请求失败的逻辑
        console.log(error.response.data.message);
      });
    }
  }
};
</script>

Di atas adalah contoh kod khusus menggunakan PHP dan Vue untuk membangunkan dan melaksanakan fungsi memberi dan menerima mata ahli. Melalui API yang disediakan oleh bahagian belakang, kami dapat merealisasikan fungsi pemberian mata hadiah dan mata penebusan, dan berinteraksi dengan pengguna melalui halaman hujung hadapan. Selain itu, pembangun boleh melakukan pengembangan dan pengoptimuman yang sesuai mengikut keperluan khusus. Saya harap artikel ini dapat membantu pelaksanaan fungsi mata keahlian dalam pembangunan PHP dan Vue.

Atas ialah kandungan terperinci Pembangunan PHP dan Vue: cara memberi dan menerima mata keahlian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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