修改解锁英雄的逻辑

This commit is contained in:
zhl 2021-01-21 20:56:57 +08:00
parent e71d984e53
commit 3ebd25f3ce
4 changed files with 61 additions and 22 deletions

View File

@ -450,6 +450,34 @@
} }
``` ```
### 17. 分解卡片
1. Method: POST
2. URI: /api/:accountid/card/destory
| 字段 | 说明 |
| -------- | -------------------------------------- |
| accountid | 帐号id |
> POST参数
| 字段 | 说明 |
| -------- | -------------------------------------- |
| cardid |卡牌id |
| count |使用数量 |
3. Response: JSON
```js
[ //物品列表
{
"itemid": 0, //道具id
"itemnum": 0, //道具数量
},
]
```
@ -473,6 +501,4 @@
```
```

View File

@ -40,16 +40,17 @@ export default class AccountController extends BaseController {
let cards: Card[] = [] let cards: Card[] = []
for (let i = 1; i <= 4; i++) { for (let i = 1; i <= 4; i++) {
const cardid = cfg[`follower${ i }id`] const cardid = cfg[`follower${ i }id`]
let card = new Card() let card = cardMap.get(cardid + '')
card.cardid = cardid if (!card) {
card.owned = true card = new Card()
card.ban = false card.cardid = cardid
card.usetype = 0 card.owned = true
card.free = true card.ban = false
card.free_expire = 0 card.usetype = 0
card.time = Date.now() card.free = true
cards.push(card) card.free_expire = 0
if (!cardMap.has(cardid + '')) { card.time = Date.now()
cards.push(card)
cardMap.set(cardid + '', card) cardMap.set(cardid + '', card)
} }
} }

View File

@ -165,4 +165,11 @@ export default class CardController extends BaseController {
await account.save() await account.save()
return results return results
} }
@router('post /api/:accountid/card/destory')
async destoryCard(req: any) {
let { cardid, count, accountid } = req.params
return {}
}
} }

View File

@ -34,7 +34,7 @@ export default class HeroController extends BaseController {
hero = await account.unlockHero(heroid, userMoney) hero = await account.unlockHero(heroid, userMoney)
// 将该英雄的默认卡组添加到玩家的卡组中, // 将该英雄的默认卡组添加到玩家的卡组中,
// 将默认卡组里的卡添加到玩家可用卡牌中 // 将默认卡组里的卡添加到玩家可用卡牌中
let cardSet = new Set(account.cards) let cardMap = account.cardMap
let cfg = global.$cfg.get(BaseConst.HERO).get(parseInt(hero.heroid)) let cfg = global.$cfg.get(BaseConst.HERO).get(parseInt(hero.heroid))
let cardgroup = new CardGroup({}) let cardgroup = new CardGroup({})
let cards: Card[] = [] let cards: Card[] = []
@ -42,15 +42,21 @@ export default class HeroController extends BaseController {
if (!cfg[`follower${ i }id`]) { if (!cfg[`follower${ i }id`]) {
break break
} }
let card = new Card() const cardid = cfg[`follower${ i }id`]
card.cardid = cfg[`follower${ i }id`] let card = cardMap.get(cardid + '')
card.owned = false if (!card) {
card.ban = false card = new Card()
card.usetype = 0 card.cardid = cardid
card.free = true card.owned = false
card.free_expire = 0 card.ban = false
card.usetype = 0
card.free = true
card.time = Date.now()
card.free_expire = 0
cardMap.set(card.cardid + '', card)
}
cards.push(card) cards.push(card)
cardSet.add(card.cardid)
} }
cardgroup.accountid = account.id cardgroup.accountid = account.id
cardgroup.heroid = hero.heroid cardgroup.heroid = hero.heroid
@ -58,7 +64,6 @@ export default class HeroController extends BaseController {
cardgroup.isdefault = true cardgroup.isdefault = true
cardgroup.cards = cards cardgroup.cards = cards
await cardgroup.save() await cardgroup.save()
account.cards = [...cardSet]
await account.save() await account.save()
} else { } else {
hero = await account.tryHero(heroid) hero = await account.tryHero(heroid)