This commit is contained in:
aozhiwei 2024-06-04 13:22:08 +08:00
parent ae84812eeb
commit e47870db61
3 changed files with 10 additions and 37 deletions

View File

@ -64,13 +64,13 @@ class BlockChain(object):
'group': 'BlockChain', 'group': 'BlockChain',
'url': 'webapp/index.php?c=BlockChain&a=active721Nft', 'url': 'webapp/index.php?c=BlockChain&a=active721Nft',
'params': [ 'params': [
['type', 0, '1英雄 2枪械 3芯片'], ['type', 0, '1英雄 2金砖'],
['uniid', '', '唯一id'], ['uniid', '', '唯一id'],
], ],
'response': [ 'response': [
_common.RspHead(), _common.RspHead(),
['trans_id', '', '事务id'], ['trans_id', '', '事务id'],
['!params', [''], '合约参数列表'], ['trans_req', _common.MFTransactionRequest(), '调用合约参数'],
] ]
}, },
{ {

View File

@ -1661,3 +1661,11 @@ class MFGameMail(object):
['expiretime', 0, '过期时间'], ['expiretime', 0, '过期时间'],
['!attachments', [MFAttachment()], ''], ['!attachments', [MFAttachment()], ''],
] ]
class MFTransactionRequest(object):
def __init__(self):
self.fields = [
['to', '', '调用的目标合约地址'],
['data', '', '包含报文相关的字节字符串'],
]

View File

@ -187,41 +187,6 @@ class BlockChainController extends BaseAuthedController {
$this->internalActivate721Nft($tokenId, Nft::EQUIP_TYPE, $gunDb['gun_uniid'], $gunDb['gun_id']); $this->internalActivate721Nft($tokenId, Nft::EQUIP_TYPE, $gunDb['gun_uniid'], $gunDb['gun_id']);
} }
break; break;
case 3:
{
if (true) {
myself()->_rspErr(1, 'cant mint');
return;
}
$chipDb = Chip::find($uniid);
if (!$chipDb) {
myself()->_rspErr(1, 'chip not found');
return;
}
if ($chipDb['token_id']) {
myself()->_rspErr(1, 'already activated');
return;
}
$tokenId = $chipDb['active_token_id'];
if (!$tokenId) {
$tokenId = BuyRecord::genOrderId
(
2006,
phpcommon\BC_FUNC_CREATION,
myself()->_getNowTime(),
myself()->_getAddress()
);
Chip::Update($chipDb['chip_uniid'],
array(
'active_token_id' => $tokenId,
'active_count' => function () {
return 'active_count + 1';
}
));
}
$this->internalActivate721Nft($tokenId, Nft::CHIP_TYPE, $chipDb['chip_uniid'], $chipDb['item_id']);
}
break;
default: default:
{ {
myself()->_rspErr(1, 'type param error'); myself()->_rspErr(1, 'type param error');