display.html = {
    changePasswd:
        <ChangePasswd>
          <strong>修改口令</strong><span className="help"></span>
          <div className="help-content">
            <p>口令:可由“0-9”，"A-Z"及"-"，"_"，"@"，"#"，"$" 等组成和3－10位长度的字符串</p>
          </div>
        </ChangePasswd>,
    checkDomain:
        <Check obj="domain">
          <strong>查询域名</strong><span className="help"></span>
          <div className="help-content">
            <p>根据注册局/商的公告通知，选择对应的活动阶段。(sunrise、landrush、claims、open、custom)</p>
            <p>claims查询域名是否在TMCH进行过商标注册；<br/>avail查询域名在上面所选的阶段是否可进行注册。</p>
          </div>
        </Check>,
    checkHost:
        <Check obj="host">
          <strong>查询主机</strong><span className="help"></span>
          <div className="help-content">
            <p>查询主机是否在本系统中注册过,可录入多个，用回车区隔，如：<br/>ns.zhuoyue.wang<br/>ns2.zhuoyue.wang</p>
          </div>
        </Check>,
    checkContact:
        <Check obj="contact">
          <strong>查询联系人</strong><span className="help"></span>
          <div className="help-content">
            <p>请录入联系人ID，ID可在“联系人－联系人列表”中查询。</p>
          </div>
        </Check>,
    checkDomainLaunch:
        <Check obj="launch">
          <strong>查询域名</strong><span className="help"></span>
          <div className="help-content"><p>根据注册局/商的公告通知，选择对应的活动阶段。(sunrise、landrush、claims、open、custom)</p><p>claims查询域名是否在TMCH进行过商标注册；<br/>
          avail查询域名在上面所选的阶段是否可进行注册。</p></div>
        </Check>,
    infoDomain:
        <Info obj="domain">
          <strong>info域名</strong><span className="help"></span>
          <div className="help-content"><p>输入格式：example.wang或手机.网店。</p></div>
        </Info>,
    infoHost:
        <Info obj="host">
          <strong>info主机</strong><span className="help"></span>
          <div className="help-content"><p>输入格式如：ns.zhuoyue.wang</p></div>
        </Info>,
    infoContact:
        <Info obj="contact">
          <strong>info联系人</strong><span className="help"></span>
          <div className="help-content"><p>请录入联系人ID，ID可在“联系人－联系人列表”中查询。</p></div>
        </Info>,
    infoDomainLaunch:
        <Info obj="launch">
          <strong>info域名</strong><span className="help"></span>
          <div className="help-content">
          <p>根据注册局/商的公告通知，选择对应的活动阶段。(sunrise、landrush、claims、open、custom)</p>
          <p>在Launch期创建的域名，info域名信息时，需要复制域名列表中的applicationID。</p></div>
        </Info>,
    createDomain:
        <Create {...{
            obj: "domain",
            onFinish() {
                switchContent('listDomain', {page: 1});
            }
        }}>
          <b>填写域名信息</b><span className="help"></span>
          <div className="help-content">
            <p>域名：输入格式如：example.wang或手机.网店；</p>
            <p>NS主机：选填项；如需填写，必须为在本系统中注册过的主机；</p>
            <p>登记人：必填项，如需填写只填写一个联系人的ID号，此联系人的ID号需在本系统中注册过。</p>
          </div>
        </Create>,
    createHost:
        <Create {...{
            obj: "host",
            onFinish() {
                switchContent('listHost', {page: 1});
            }
        }}>
          <strong>填写主机信息</strong><span className="help"></span>
          <div className="help-content">
            <p>主机名：格式如：ns2.zhuoyue.wang</p>
            <p>IP地址：如果域名是我注册局提供的.wang，.商城，.集团，.网店，.我爱你，注册时需要提供IP地址.如果非以上域名后缀，则IP项为空。<br/>IPv4地址格式为：v4#1.1.1.1。</p>
          </div>
        </Create>,
    createContact:
        <Create {...{
            obj: "contact",
            onFinish() {
                switchContent('listContact', {page: 1});
            }
        }}>
          <strong>填写联系人信息</strong><span className="help"></span>
          <div className="help-content">
            <p>联系人ID：是一个字符串</p>
          </div>
        </Create>,
    createDomainLaunch:
        <Create {...{
            obj: "launch",
            onFinish() {
                switchContent('listDomainLaunch', {page: 1});
            }
        }}>
          <b>填写域名信息</b><span className="help"></span>
          <div className="help-content">
            <p>域名：根据注册局/商的公告通知，选择对应的活动阶段。(sunrise、landrush、claims、open、custom)；</p>
            <p>NS主机：选填项；如需填写，必须为在本系统中注册过的主机；</p>
            <p>登记人：必填项，如需填写只填写一个联系人的ID号，此联系人的ID号需在本系统中注册过。</p>
            <p>SMD：商标持有人在TMCH获得的一个文档。</p>
          </div>
        </Create>,
    renewDomain:
        <RenewDomain>
          <div className="help-content">
            <p>可续费年限最大年限不超过10年，视域名当前到期日期而定</p>
            <p className="red">如要续费的域名正处于自动续费期内，则在此界面续费，视为默认同意了之前的自动续费，到期日期会在自动续费到期日基础上添加手动续费年限。同样需要事后人工扣费，补全自动续费的差价。</p>
          </div>
        </RenewDomain>,
    transferDomain:
        <Transfer {...{
            obj: 'domain',
            onFinish() {
                switchContent('listDomainTransferIn', {page: 1});
            }
        }}/>,
    transferContact:
        <Transfer {...{
            obj: 'contact',
            onFinish() {
                switchContent('listContactTransferIn', {page: 1});
            }
        }}/>,
    updateDomain:
        <Update {...{
            obj: "domain",
            onFinish() {
                switchContent('listDomain');
            }
        }}>
          <strong>修改域名信息</strong><span className="help"></span>
          <div className="help-content">
            <p>域名：输入格式如：example.wang或手机.网店；</p>
            <p>NS主机：选填项；如需填写，必须为在本系统中注册过的主机；</p>
            <p>登记人：必填项，如需填写只填写一个联系人的ID号，此联系人的ID号需在本系统中注册过。</p>
          </div>
        </Update>,
    updateHost:
        <Update {...{
            obj: "host",
            onFinish() {
                switchContent('listHost');
            }
        }}>
          <strong>修改主机信息</strong><span className="help"></span>
          <div className="help-content">
            <p>主机名：格式如：ns2.zhuoyue.wang</p>
            <p>IP地址：如果域名是我注册局提供的.wang，.商城，.集团，.网店，.我爱你，注册时需要提供IP地址.如果非以上域名后缀，则IP项为空。<br/>IPv4地址格式为：v4#1.1.1.1。</p>
          </div>
        </Update>,
    updateContact:
        <Update {...{
            obj: "contact",
            onFinish() {
                switchContent('listContact');
            }
        }}>
          <strong>填写联系人信息</strong><span className="help"></span>
          <div className="help-content">
            <p>联系人ID：是一个字符串</p>
          </div>
        </Update>,
    updateDomainLaunch:
        <Update {...{
            obj: "launch",
            onFinish() {
                switchContent('listDomainLaunch');
            }
        }}>
          <b>填写域名信息</b><span className="help"></span>
          <div className="help-content">
            <p>NS主机：选填项；如需填写，必须为在本系统中注册过的主机；</p>
            <p>登记人：填写一个联系人的ID号， ID号需在本系统中注册过。注意：修改登记人时，不能修改管理联系人、交费联系人和技术联系人三项。后三项要修改时可同步操作。</p>
            <p>口令： 推荐为8-10位，由“0-9”，"A-Z"及"-"，"_"，"@"，"#"，"$" 等组成，区分大小写。</p>
          </div>
        </Update>,
    deleteDomain:
        <Delete obj="domain">
          <strong>删除域名</strong><span className="help"></span>
          <div className="help-content"><p>输入格式：example.wang或手机.网店。</p></div>
        </Delete>,
    deleteHost:
        <Delete obj="host">
          <strong>删除主机</strong><span className="help"></span>
          <div className="help-content"><p>输入格式如：ns.zhuoyue.wang</p></div>
        </Delete>,
    deleteContact:
        <Delete obj="contact">
          <strong>删除联系人</strong><span className="help"></span>
          <div className="help-content"><p>请录入联系人ID，ID可在“联系人－联系人列表”中查询。</p></div>
        </Delete>,
    deleteDomainLaunch:
        <Delete obj="launch">
          <strong>删除域名</strong><span className="help"></span>
          <div className="help-content">
          <p>根据注册局/商的公告通知，选择对应的活动阶段。(sunrise、landrush、claims、open、custom)</p>
          <p>在Launch期创建的域名，删除域名信息时，需要复制域名列表中的applicationID。</p></div>
        </Delete>,
    showRestoreDomainReport:
        <ShowRestoreDomainReport {...{
            onFinish() {
                switchContent('listRestoreDomain');
            }
        }}>
          <strong>赎回报告</strong><span className="help"></span>
          <div className="help-content">
            <p>need explain...</p>
          </div>
        </ShowRestoreDomainReport>,
    showDomainResolve:
        <ShowDomainResolve>
          <strong>解析域名</strong><span className="help"></span>
          <div className="help-content">
            <p>need explain...</p>
          </div>
        </ShowDomainResolve>,
    listDomain:
        <List {...{
            obj: 'domain',
            head: {
                id: "域名",
                registrant: "所有人",
                ns: "域名解析服务器",
                ex_date: "到期时间",
                pw: "口令",
                op: "操作"
            },
            onCreate() {
                switchContent('createDomain', null);
            },
            onUpdate(id) {
                switchContent('updateDomain', {id});
            },
            onResolve(id) {
                switchContent('resolveDomain', {id});
            }
        }}>
          <div className="help-content">
            <p>到期时间：此时间为UTC时间，转换为北京时间需要加8小时。</p>
          </div>
        </List>,
    listHost:
        <List {...{
            obj: 'host',
            head: {
                id: "主机名",
                ip: "IP地址",
                op: "操作"
            },
            onCreate() {
                switchContent('createHost', null);
            },
            onUpdate(id) {
                switchContent('updateHost', {id});
            }
        }}>
          <div className="help-content">
            <p>need explain ...</p>
          </div>
        </List>,
    listContact:
        <List {...{
            obj: 'contact',
            head: {
                id: "ID",
                name: "用户名",
                org: "组织名",
                voice: "电话",
                email: "邮件",
                emailOk: "邮箱认证",
                uniIdOk: "联系人认证",
                pw: "口令",
                op: "操作"
            },
            onEmailAuth(email) {
                api.sendVerifyCode(email, (code, data) => {
                    code === '1000'? switchContent('authEmail', {email}):alert(data);
                });
            },
            onContactAuth(id, name, org) {
                api.resultRegistrant(id, (code, data) => {                    
                    if(code === '1000'){
                        data.id = id;
                        data.name = name;
                        data.org = org;
                        switchContent('authContact', data)
                    }else{
                        alert(data);
                    }
                });
            },
            onCreate() {
                switchContent('createContact', null);
            },
            onUpdate(id) {
                switchContent('updateContact', {id});
            }
        }}>
        </List>,
    listDomainLaunch:
        <List {...{
            obj: 'launch',
            head: {
                name: "域名",
                registrant: "所有人",
                ex_date: "到期时间",
                phase: "Phase",
                id: "applicationID",
                pw: "口令",
                op: "操作"
            },
            onCreate() {
                switchContent('createDomainLaunch', null);
            },
            onUpdate(id) {
                switchContent('updateDomainLaunch', {id});
            }
        }}>
          <div className="help-content">
            <p>need explain ...</p>
          </div>
        </List>,
    listDomainLaunchAdmin:
        <List {...{
            obj: 'launch',
            head: {
                name: "域名",
                registrant: "所有人",
                ex_date: "到期时间",
                phase: "Phase",
                id: "applicationID",
                pw: "口令",
                user: "用户"
            }
        }}>
          <div className="help-content">
            <p>need explain ...</p>
          </div>
        </List>,
    listDomainTransferIn:
        <List {...{
            obj: 'transferInDomain',
            head: {
                name: "名称",
                status: "状态",
                re_id: "转入方",
                re_date: "请求时间",
                ac_id: "转出方",
                ac_date: "答复时间",
                ex_date: "到期时间",
                op: "操作"
            },
            onRequest() {
                switchContent("transferDomain", null);
            },
            onCancel(id) {
                api.transfer("cancel", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listDomainTransferIn');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            }
        }}/>,
    listContactTransferIn:
        <List {...{
            obj: 'transferInContact',
            head: {
                name: "名称",
                status: "状态",
                re_id: "转入方",
                re_date: "请求时间",
                ac_id: "转出方",
                ac_date: "答复时间",
                op: "操作"
            },
            onRequest() {
                switchContent("transferContact", null);
            },
            onCancel(id) {
                api.transfer("cancel", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listContactTransferIn');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            }
        }}/>,
    listDomainTransferOut:
        <List {...{
            obj: 'transferOutDomain',
            head: {
                name: "名称",
                status: "状态",
                re_id: "转入方",
                re_date: "请求时间",
                ac_id: "转出方",
                ac_date: "答复时间",
                ex_date: "到期时间",
                op: "操作"
            },
            onApprove(id) {
                api.transfer("approve", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listDomainTransferOut');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            },
            onReject(id) {
                api.transfer("reject", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listDomainTransferOut');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            }
        }}/>,
    listContactTransferOut:
        <List {...{
            obj: 'transferOutContact',
            head: {
                name: "名称",
                status: "状态",
                re_id: "转入方",
                re_date: "请求时间",
                ac_id: "转出方",
                ac_date: "答复时间",
                op: "操作"
            },
            onApprove(id) {
                api.transfer("approve", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listContactTransferOut');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            },
            onReject(id) {
                api.transfer("reject", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listContactTransferOut');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            }
        }}/>,
    listDomainTransfer:
        <List {...{
            obj: 'transferDomain',
            head: {
                name: "名称",
                status: "状态",
                re_id: "转入方",
                re_date: "请求时间",
                ac_id: "转出方",
                ac_date: "答复时间",
                ex_date: "到期时间",
                op: "操作"
            },
            onApprove(id) {
                api.transfer("approve", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listDomainTransfer');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            },
            onCancel(id) {
                api.transfer("cancel", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listDomainTransfer');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            }
        }}/>,
    listContactTransfer:
        <List {...{
            obj: 'transferContact',
            head: {
                name: "名称",
                status: "状态",
                re_id: "转入方",
                re_date: "请求时间",
                ac_id: "转出方",
                ac_date: "答复时间",
                op: "操作"
            },
            onApprove(id) {
                api.transfer("approve", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listContactTransfer');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            },
            onCancel(id) {
                api.transfer("cancel", id, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listContactTransfer');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            }
        }}/>,
    listRestoreDomain:
        <List {...{
            obj: 'restore',
            head: {
                name: "名称",
                ex_date: "到期时间",
                rm_date: "删除时间",
                rgp: "当前状态",
                op: "操作"
            },
            onRestore(id, rgp) {
                switch(rgp) {
                case 'pendingRestore':
                    switchContent('showRestoreDomainReport', {id});
                    break;
                default:
                    api.restore('request', id, function(code, data) {
                        switch(code) {
                        case '1001':
                            switchContent('listRestoreDomain');
                            break;
                        case '2501':
                            logout();
                            break;
                        default:
                            alert(data);
                        }
                    });
                }
            }
        }}>
          <div className="help-content">
            <p>redemptionPeriod：表示域名处于高价赎回期，可以申请赎回；<br/>pendingRestore：表示域名赎回请求成功，请提交赎回报告。可多次提交。</p>
          </div>
        </List>,
    listAutorenew:
        <List {...{
            obj: 'autorenew',
            head: {
                id: "",
                name: "域名",
                price: "价格",
                cr_date: "执行时间",
                ex_date: "到期时间"
            },
            onApprove(id) {
                api.update("autorenew", {id: id, ack: "yes"}, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listAutorenew');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            },
            onReject(id) {
                api.update("autorenew", {id: id, ack: "no"}, function(code, data) {
                    switch(code) {
                    case '1000':
                        switchContent('listAutorenew');
                        break;
                    case '2501':
                        logout();
                        break;
                    default:
                        alert(data);
                    }
                });
            }
        }}>
          <div className="help-content">
            <p className="red">此列表中的域名处于自动续费期，请在自动续费期结束前尽快确认“批准”或“拒绝”。否则，超过自动续费期，系统会将此列表中的域名全部执行删除。请尽快确认，以避免您的损失。执行了“批准”操作的域名，费用差额事后手工补扣。</p>
          </div>
        </List>,
    listBills:
        <List {...{
            obj: 'bills',
            head: {
                id: "",
                uniID: "序列号",
                opName: "操作",
                domain: "域名",
                appID: "申请ID",
                registrant: "注册人",
                opDate: "操作时间",
                price: "价格",
                period: "年",
                exDate: "到期时间",
                oldID: "关联号"
            }
        }}/>,
    loadDomain:
        <Load obj="domain">
          <strong>load域名</strong><span className="help"></span>
          <div className="help-content">
            <p>每行一个，格式：user domain</p>
          </div>
        </Load>,
    loadContact:
        <Load obj="contact">
          <strong>load联系人</strong><span className="help"></span>
          <div className="help-content">
            <p>每行一个，格式：user contact</p>
          </div>
        </Load>,
    selectPort:
        <SelectPort/>,
    resolveDomain:
        <ResolveDomain>
          <strong>解析域名</strong><span className="help"></span>
          <div className="help-content">
            <p>need explain...</p>
          </div>
        </ResolveDomain>,
    authEmail:
        <AuthEmail {...{
            onFinish(){
                switchContent('listContact');
            }
        }}>
            <strong>邮箱认证</strong><span className="help"></span>
            <div className="help-content">
                <p>服务器会向需要认证的邮箱发送认证码，查看邮箱获取认证码并输入到下面输入框中进行认证</p>
            </div>
        </AuthEmail>,
    authContact:
        <AuthContact {...{
            onFinish(){
                switchContent('listContact');
            }
        }}>
            <strong>联系人认证</strong><span className="help"></span>
            <div className="help-content">
                <p>两种认证方式：个人认证与企业认证，只需选择一种。</p>
            </div>
        </AuthContact>
};
