---
# System prepended metadata

title: 優惠活動-紅包信息

---

# 優惠活動-紅包信息
## 功能
取得紅包信息

## 使用
``` jsx!
<script setup>
  // 引入 onBeforeMount
  import { onBeforeMount } from "vue";
  import { useStore } from "vuex";
  import common from "@/utils/common";

  const store = useStore();
  const { errorHandling } = common();
  const DomainLayoutId = computed(() => store.state.DomainLayoutId);
  const redPacketStatusNo = ref('');
  const currency = ref('');
  const startTime = ref(0);
  const endTime = ref(0);
  
  const getRedPacketInfo = async () => {
    const params = {
      sessionKey: localStorage.getItem('sessionKey'),
      currencyNo: +localStorage.getItem('currencyNo'),
      DomainLayoutId: DomainLayoutId.value,
    }
    isLoading.value = true;
    try {
      const res = await apiService.post('/Promotion/RedPacket/Info', params)
      
      redPacketStatusNo.value = res.data.status
      currency.value = res.data.currency?.currencyId;

      startTime.value = res.data.startTime;
      endTime.value = res.data.endTime;
      
    } catch (err) {
      errorHandling(err);
    }
    isLoading.value = false;
  }
  
  onBeforeMount(() => {
    getRedPacketInfo();
  })
</script>
```

## 說明書
### API 路徑
![20240227144502](https://hackmd.io/_uploads/BJwSSWjnT.png) /api/Promotion/RedPacket/Info

### 前端傳入資料(以 aai 版面為例)
##### Example Value
``` jsx
// params
{
  "sessionKey": "b822c7204d8c4219804d569bcecf494d",
  "currencyNo": 1,
  "DomainLayoutId": "aah"
}
```
##### parameters
| params         | Description | type            | required | other |
| -------------- | ----------- | --------------- | -------- |-------|
| sessionKey     | Session Key | string          | false    |       |
| currencyNo     | 貨幣編號      | integer($int32) | true    |maximum: 2147483647<br/>minimum: 0|
| domainLayoutId | 域名版面識別碼 | string          | true    |        |

### 後端回傳資料(以 aah 版面為例)
#### 成功
##### Example Value
``` jsx!
// status code: 200
{
  "status": 3, // 優惠活動紅包信息狀態 | integer($int32) | 1=無活動, 2=活動尚未開始, 3=可點擊領取, 4=已領取, 5=活動已結束, 6=未達領取條件 
  "startTime": 1706112000000, // 活動開始時間 | integer($int64) | nullable: true
  "endTime": 1713974399999, // 活動結束時間 |  integer($int64) | nullable: true
  "currency": { // 幣別信息
    "no": 1, // 幣別編號 | integer($int32)
    "currencyId": "CNY", // 幣別 | string | nullable: true
    "protocol": null, // 虛擬貨幣協議 | string | nullable: true
    "isVirtual": false, // 是否為虛擬貨幣 | boolean
    "isPublicityCoin": false // 是否為宣傳(試玩)幣 | boolean
  }
}
```
| params          | Description              | type            | nullable | 
| --------------- | ------------------------ | --------------- | -------- |
| status          | 優惠活動紅包信息狀態         | integer($int32) |     |
| startTime       | 活動開始時間               | integer($int64) | true      |
| endTime         | 內容                     | integer($int64) | true     |
| no              | 活動結束時間               | integer($int32) |          |
| currencyId      | 幣別                     | string          | true     |
| protocol        | 虛擬貨幣協議               | string          | true     |
| isVirtual       | 是否為虛擬貨幣             | boolean         |          |
| isPublicityCoin | 是否為宣傳(試玩)幣          | boolean         |          |

#### 失敗
![螢幕擷取畫面 2024-03-05 133111](https://hackmd.io/_uploads/BJ1ERQETa.png)


