diff --git a/user-dashboard/src/app/assets/src/components/PageHeader/index.less b/user-dashboard/src/app/assets/src/components/PageHeader/index.less
index ae0fddc38..6552f0656 100644
--- a/user-dashboard/src/app/assets/src/components/PageHeader/index.less
+++ b/user-dashboard/src/app/assets/src/components/PageHeader/index.less
@@ -18,7 +18,7 @@
}
.tabs {
- margin: 0 0 -17px -8px;
+ margin: 0 0 -1px -8px;
:global {
.ant-tabs-bar {
diff --git a/user-dashboard/src/app/assets/src/routes/SmartContract/Info/deploy.js b/user-dashboard/src/app/assets/src/routes/SmartContract/Info/deploy.js
index e3eb2cc55..b843b7eae 100644
--- a/user-dashboard/src/app/assets/src/routes/SmartContract/Info/deploy.js
+++ b/user-dashboard/src/app/assets/src/routes/SmartContract/Info/deploy.js
@@ -147,8 +147,11 @@ export default class Deploy extends Component {
render() {
const { stepDirection, current, version, versionId, chainName, chainId, installing, instantiating } = this.state;
- const { chains, codes } = this.props;
+ const { chains, codes, currentSmartContract } = this.props;
const { getFieldDecorator } = this.props.form;
+ const defaultValues = currentSmartContract.default || {};
+ const defaultParameters = defaultValues.parameters || {};
+ const defaultInstantiateParameters = defaultParameters.instantiate ? defaultParameters.instantiate.join(",") : "";
const versionOptions = codes.map(code => );
const chainOptions = chains.map(chain => );
const versionDesc = (
@@ -221,7 +224,7 @@ export default class Deploy extends Component {
extra="Must use ',' separate arguments."
>
{getFieldDecorator('args', {
- initialValue: '',
+ initialValue: defaultInstantiateParameters,
rules: [
{
required: true,
diff --git a/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/index.js b/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/index.js
index 727248923..0b0dbeabe 100644
--- a/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/index.js
+++ b/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/index.js
@@ -148,12 +148,14 @@ export default class AdvancedProfile extends Component {
operation: 'invoke',
onSubmit: this.operateAPI,
submitting: operating,
+ currentDeploy,
};
const queryProps = {
operation: 'query',
onSubmit: this.operateAPI,
submitting: operating,
result: queryResult,
+ currentDeploy,
};
const contentList = {
diff --git a/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/operate.js b/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/operate.js
index 4fd0684d2..0ede06f8c 100644
--- a/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/operate.js
+++ b/user-dashboard/src/app/assets/src/routes/SmartContract/InvokeQuery/operate.js
@@ -37,7 +37,14 @@ export default class OperateDeploy extends Component {
});
};
render() {
- const { form: { getFieldDecorator }, operation, submitting, result } = this.props;
+ const { form: { getFieldDecorator }, operation, submitting, result, currentDeploy } = this.props;
+ const smartContract = currentDeploy.smartContract || {};
+ const defaultValues = smartContract.default || {};
+ const parameters = defaultValues.parameters || {};
+ const functions = defaultValues.functions || {};
+ const functionName = operation === "query" ? functions.query || "" : functions.invoke || "";
+ const parameter = operation === "query" ? parameters.query || [] : parameters.invoke || [];
+ const parameterStr = parameter.join(",");
const formItemLayout = {
labelCol: {
xs: { span: 24 },
@@ -74,7 +81,7 @@ export default class OperateDeploy extends Component {
label="Function Name"
>
{getFieldDecorator('functionName', {
- initialValue: '',
+ initialValue: functionName,
rules: [
{
required: true,
@@ -89,7 +96,7 @@ export default class OperateDeploy extends Component {
extra="Must use ',' separate arguments."
>
{getFieldDecorator('args', {
- initialValue: '',
+ initialValue: parameterStr,
rules: [
{
required: true,
diff --git a/user-dashboard/src/app/model/smart-contract.js b/user-dashboard/src/app/model/smart-contract.js
index 8b12f3011..98acf24df 100644
--- a/user-dashboard/src/app/model/smart-contract.js
+++ b/user-dashboard/src/app/model/smart-contract.js
@@ -14,6 +14,7 @@ module.exports = app => {
description: { type: String },
path: { type: String },
createTime: { type: Date, default: Date.now },
+ default: { type: Schema.Types.Mixed },
});
SmartContractSchema.post('remove', function(doc) {
diff --git a/user-dashboard/src/app/service/deploy.js b/user-dashboard/src/app/service/deploy.js
index 437b903b0..218fe237c 100644
--- a/user-dashboard/src/app/service/deploy.js
+++ b/user-dashboard/src/app/service/deploy.js
@@ -29,7 +29,7 @@ class DeployService extends Service {
}
async query(id) {
const { ctx } = this;
- const deploy = await ctx.model.SmartContractDeploy.findOne({ _id: id }, '_id name status deployTime').populate('smartContractCode chain smartContract', '_id version name chainId type size');
+ const deploy = await ctx.model.SmartContractDeploy.findOne({ _id: id }, '_id name status deployTime').populate('smartContractCode chain smartContract', '_id version name chainId type size default');
if (!deploy) {
return {
success: false,
diff --git a/user-dashboard/src/app/service/smart_contract.js b/user-dashboard/src/app/service/smart_contract.js
index 58847ed95..d0096657b 100644
--- a/user-dashboard/src/app/service/smart_contract.js
+++ b/user-dashboard/src/app/service/smart_contract.js
@@ -36,6 +36,7 @@ class SmartContractService extends Service {
name: smartContract.name,
description: smartContract.description,
path: smartContractPath,
+ default: smartContract.default,
user: userId,
});
await ctx.model.SmartContractCode.create({
@@ -145,7 +146,7 @@ class SmartContractService extends Service {
}
async querySmartContract(id) {
const { ctx } = this;
- const smartContract = await ctx.model.SmartContract.findOne({ _id: id }, '_id description name createTime');
+ const smartContract = await ctx.model.SmartContract.findOne({ _id: id }, '_id description name createTime default');
if (!smartContract) {
return {
success: false,
diff --git a/user-dashboard/src/config/config.default.js b/user-dashboard/src/config/config.default.js
index b1d25e5c1..bf5095e90 100644
--- a/user-dashboard/src/config/config.default.js
+++ b/user-dashboard/src/config/config.default.js
@@ -44,7 +44,18 @@ module.exports = appInfo => {
name: 'chaincode_example02',
path: '/var/www/resource/smart_contract/fabric/chaincode_example02',
version: 'v1.0',
- description: 'This is a demo smart contract example02.',
+ description: 'This is a demo smart contract example02 for fabric v1.0, can not install&instantiate on fabric v1.2',
+ default: {
+ parameters: {
+ instantiate: ['a', '100', 'b', '100'],
+ invoke: ['a', 'b', '1'],
+ query: ['a'],
+ },
+ functions: {
+ invoke: 'invoke',
+ query: 'query',
+ },
+ },
},
],
},