HolyKnightIX vor 1 Jahr
Ursprung
Commit
25cf7f13e1
2 geänderte Dateien mit 81 neuen und 12 gelöschten Zeilen
  1. +41
    -0
      src/api/coin.js
  2. +40
    -12
      src/pages/index/buyCoin.vue

+ 41
- 0
src/api/coin.js Datei anzeigen

@@ -0,0 +1,41 @@
import request from "../utils/request"

/**
* @description:获取金币价格列表
* @param {*} (pageSize, pageNum)
* @return: list
*/
export function getCoinList(pageSize, pageNum) {
return request({
url: `api/product/list?projectType=5&type=1&pageSize=${pageSize}&pageNum=${pageNum}`,
method: 'get'
})
}

/**
* @description:购买金币下单
* @param productId
* @return: data
*/
export function createOrder(productId) {
return request({
url: `api/productOrder/createOrder`,
method: 'post',
data: {
productId
}
})
}

/**
* @description:获取收银台数据
* @param data
* @return: data
*/
export function createPay(data) {
return request({
url: `api/productOrder/createPay`,
method: 'post',
data
})
}

+ 40
- 12
src/pages/index/buyCoin.vue Datei anzeigen

@@ -2,17 +2,17 @@
<view class="page">
<text class="tips">金币可以用来生成写真和制作视频</text>
<view
v-for="item in orderList"
v-for="item in coinList"
class="orderListItem"
:class="active == item.num ? 'border' : ''"
:class="active == item.id ? 'border' : ''"
@click="select(item)"
>
<image src="../../assets/icon/coin.png" mode="scaleToFill" />
<text class="num">金币{{ item.num }}枚</text>
<text class="price">¥{{ item.money }}</text>
<text class="num">{{ item.title }}</text>
<text class="price">¥{{ item.sellPriceRmb / 100 }}</text>
</view>
<view class="buyBtn">
<view class="btn">立刻购买</view>
<view class="btn" @click="createProductOrder">立刻购买</view>
<view class="pro" @click="goPro">《慧拍金币充值协议》</view>
</view>
</view>
@@ -21,23 +21,51 @@
<script setup>
//#region 导入
import { ref, reactive } from "vue";
import { getCoinList, createOrder, createPay } from "../../api/coin.js";
//#endregion --------------

//#region 列表数据
const active = ref(5);
const orderList = ref([
{ num: 5, money: 4.9 },
{ num: 20, money: 18.9 },
{ num: 30, money: 28.9 },
]);
const active = ref("");
const coinList = ref([]);
function select(item) {
active.value = item.num;
active.value = item.id;
}
const goPro = () => {
uni.navigateTo({
url: "/pages/protocol/coin",
});
};

const getList = async () => {
try {
const res = await getCoinList(5, 1);
coinList.value = res.data.list;
console.log(coinList.value, "coinList.value");
} catch (error) {
console.log(error, "error");
}
};

const createProductOrder = async () => {
try {
const res = await createOrder(1);
console.log(res, "res");
// createProductPay()
} catch (error) {
console.log(error, "error");
}
};

const createProductPay = async () => {
try {
const res = await createPay(1);
console.log(res, "res");
} catch (error) {
console.log(error, "error");
}
};

getList();
</script>

<style lang="scss">


Laden…
Abbrechen
Speichern