package contract_request

import (
	"encoding/json"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/model/common"
)

type ContractCloudUrlRequest struct {
	Contract *common.ContractRequest `json:"contract"`
	// <ext>core:true</ext> 【签署人联系方式】签署人联系方式  【作用】  用于查询需要获取签署链接的签署人  【特殊说明】  1、可传入用户手机号或者邮箱。  2、手机号允许使用大陆、港澳台、国际手机号，手机号格式为：区号+空格+手机号，例：852 9xxxxxxx ，大陆手机号可以不传区号。  3、邮箱需传入符合格式的字符串，例：xxxxxxxx@163.com。
	Contact string `json:"contact"`
	// 【链接过期时间】链接过期时间 【作用】 用于设置获取到的链接在多长时间后过期 【传参】 1、单位：秒。 2、当该参数不传值时，其有效期将被设置为 “管理控制台-设置-开放平台-接口页面有效期配置-接口页面默认有效期“对应的时长 3、传入时长超过 “管理控制台-设置-开放平台-接口页面有效期配置-接口页面最大有效期天数“时，以控制台配置的最大天数为准
	ExpireTime *int64 `json:"expireTime,omitempty"`
	// 【签署完成后跳转页面地址 】签署完成后跳转页面地址  【作用】  完成签署或审批操作时会跳转至传入地址，未传值时会停留在当前页
	CallbackPage string `json:"callbackPage,omitempty"`
	// 【页面语言】页面语言 【传参】 取值范围：ZH_CN（中文），EN_US（英文）；不传值默认为：该签署人在契约锁公有云设置的语言。
	Language string `json:"language,omitempty"`
	// 【移动端页面导航头部】移动端页面导航头部 【作用】 1、移动端内嵌页面默认带有头部导航区域，且区域内提供返回按钮，嵌入其他app时会与app自带的导航头部区域航重复 2、可通过本参数控制签入移动端页面时是否提供头部导航区域 【传参】 取值范围：true（隐藏导航头部），false（显示导航头部）；不传值默认为：false（显示导航头部）。
	HideHeader *bool `json:"hideHeader,omitempty"`
}

func (obj ContractCloudUrlRequest) GetUrl() string {
	return "/contract/cloud/url"
}

func (obj ContractCloudUrlRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	jsonBytes, _ := json.Marshal(obj)
	parameter.SetJsonParamer(string(jsonBytes))
	return parameter
}
