Commit b2d16677 authored by hanfeng zhang's avatar hanfeng zhang

321

parent 859a176e
import axios,{AxiosInstance,AxiosResponse} from "axios"; import axios,{AxiosInstance,AxiosResponse} from "axios";
import {CreateVoteDto} from '@/types/Dto'
interface Account{ interface Account{
...@@ -30,6 +31,7 @@ class ChainService { ...@@ -30,6 +31,7 @@ class ChainService {
private async chainRequire(method:string,data:any[],cb?:Callback){ private async chainRequire(method:string,data:any[],cb?:Callback){
return await this.service.request({ return await this.service.request({
data:{ data:{
"jsonrpc":"2.0",
id:1, id:1,
method:method, method:method,
params:data params:data
...@@ -49,45 +51,12 @@ class ChainService { ...@@ -49,45 +51,12 @@ class ChainService {
} }
/** /**
* * 创建投票项目
* @param toAddr 要转账的目标地址 * @param data
* @param contractPair
* @returns * @returns
*/ */
async creatTransition(toAddr:string,amount:number,execer?:string){ async createVote(data:CreateVoteDto){
return await this.chainRequire('Chain33.CreateRawTransaction',[{ return await this.chainRequire('rankvote.CreateRankVoteTx',[data])
to:toAddr,
amount:amount,
fee:0.003*10e8,
isWithdraw:false,
execer:execer?execer:'coins'
}])
} }
async signTransition(txHex:string,privateKey:string){
return await this.chainRequire('Chain33.SignRawTx',[{
privkey:privateKey,
txHex:txHex,
expire:'1h',
fee:0.003*10e8
}])
}
async sendTransaction(txHex:string){
return await this.chainRequire('Chain33.SendTransaction',[{
data:txHex
}])
}
async buildGroupTransaction(txHexs:string[]){
return await this.chainRequire('Chain33.CreateRawTxGroup',[{
txs:txHexs
}])
}
async getInfoByHash(hash:string){
return await this.chainRequire('Chain33.QueryTransaction',[{
"hash":hash
}])
}
} }
\ No newline at end of file
interface ListItem {
name: string
desc: string
}
interface MemberItem{
addr: string
name: string
}
export interface CreateVoteDto{
name:string;
options:ListItem[];
startHeight:number;
endHeight:number;
description?:string;
url:string;
numType:number; //投票期间可复投次数 1 表示一次性 2表示每天一次
members:MemberItem[];
isOpen:boolean;
type:number;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment