import { FormSchema } from '@jdlinker/ui';

export interface ListItem {
  key: string;
  title: string;
  description: string;
  extra?: string;
  avatar?: string;
  color?: string;
}

// tab的list
export const settingList = [
  {
    key: '0',
    name: '基本设置',
    component: 'BaseSetting'
  },
  // {
  //   key: '2',
  //   name: 'OSS配置',
  //   component: 'OSSSetting',
  // },
  {
    key: '1',
    name: '系统配置',
    component: 'SysConfig'
  },
  {
    key: '3',
    name: '短信配置',
    component: 'MsgSetting'
  },
  {
    key: '4',
    name: '邮件配置',
    component: 'EmailSetting'
  }
];

// 基础设置 form
export const baseSetschemas: FormSchema[] = [
  {
    label: '系统Logo',
    field: 'logo',
    component: 'JImageUpload',
    componentProps: {
      fileMax: 1
    },
    colProps: { span: 6 }
  },
  {
    label: '登录页背景',
    field: 'backGround',
    component: 'JImageUpload',
    componentProps: {
      fileMax: 1
    },
    colProps: { span: 11 }
  },
  {
    field: 'name',
    component: 'Input',
    label: '系统名称',
    colProps: { span: 11 }
  },
  {
    field: 'platform',
    component: 'Input',
    label: '平台名称',
    colProps: { span: 11 }
  },
  {
    field: 'domain',
    component: 'Input',
    label: '系统域名',
    colProps: { span: 11 }
  },
  {
    field: 'version',
    component: 'Input',
    label: '系统版本',
    colProps: { span: 11 }
  },
  {
    field: 'copyright',
    component: 'Input',
    label: '版权信息',
    colProps: { span: 11 }
  },
  {
    field: 'description',
    component: 'InputTextArea',
    label: '系统描述',
    colProps: { span: 11 }
  },
  {
    label: '',
    field: 'id',
    component: 'Input',
    show: false
  }
  // {
  //   field: 'logo',
  //   component: 'Input',
  //   label: '系统LOGO',
  //   colProps: { span: 18 },
  //   show: false
  // },
  /*{
    field: 'email',
    component: 'Input',
    label: '邮箱',
    colProps: { span: 18 },
    required: true,
  },
  {
    field: 'name',
    component: 'Input',
    label: '姓名',
    colProps: { span: 18 },
  },
  {
    field: 'introduction',
    component: 'Input',
    label: '简介',
    colProps: { span: 18 },
  },
  {
    field: 'phone',
    component: 'Input',
    label: '手机号',
    colProps: { span: 18 },
  },
  {
    field: 'address',
    component: 'Input',
    label: '公司地址',
    colProps: { span: 18 },
  },
  {
    field: 'address',
    component: 'Input',
    label: '家庭地址',
    colProps: { span: 18 },
  },*/
];

// oss设置form
export const ossSetschemas: FormSchema[] = [
  {
    label: '服务提供商',
    field: 'serviceProvider',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: 'service_provider'
    },
    colProps: { span: 18 },
    required: true
  },
  {
    label: '存在服务地址',
    field: 'storageUrl',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },
  {
    label: '自定义域名',
    field: 'domain',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },
  {
    label: 'accessKey',
    field: 'accessKey',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },
  {
    label: 'secretKey',
    field: 'secretKey',
    component: 'InputPassword',
    colProps: { span: 18 },
    required: true
  },
  {
    label: 'bucket',
    field: 'bucket',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },
  // TODO 主键隐藏字段，目前写死为ID
  {
    label: '',
    field: 'id',
    component: 'Input',
    show: false
  }
];

// 短信设置form
export const msgSetschemas: FormSchema[] = [
  {
    label: '服务提提供商',
    field: 'serviceProvider',
    component: 'JDictSelectTag',
    componentProps: {
      dictCode: 'service_provider2'
    },
    colProps: { span: 18 },
    required: true
  },
  {
    label: '模版id',
    field: 'templateId',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },
  {
    label: 'regionId',
    field: 'regionid',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },
  {
    label: '短信签名',
    field: 'sign',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },

  {
    label: 'accessKey',
    field: 'accessKey',
    component: 'Input',
    colProps: { span: 18 },
    required: true
  },
  {
    label: 'secretKey',
    field: 'secretKey',
    component: 'InputPassword',
    colProps: { span: 18 },
    required: true
  },
  {
    label: '备注',
    field: 'remark',
    component: 'Input',
    colProps: { span: 18 }
  },
  {
    label: '',
    field: 'id',
    component: 'Input',
    show: false
  }
];

// 邮件设置form
export const emailSetschemas: FormSchema[] = [
  {
    label: 'host',
    field: 'host',
    component: 'Input',
    colProps: { span: 14 },
    required: true
  },
  {
    label: '邮件',
    field: 'userName',
    component: 'Input',
    colProps: { span: 14 },
    required: true
  },
  {
    label: '协议',
    field: 'protocol',
    component: 'Input',
    colProps: { span: 14 },
    required: true
  },
  {
    label: '密码',
    field: 'password',
    component: 'InputPassword',
    colProps: { span: 14 },
    required: true
  },
  {
    label: '端口',
    field: 'port',
    component: 'Input',
    colProps: { span: 14 },
    required: true
  },
  {
    label: '开启ssl',
    field: 'openSsl',
    component: 'Switch',
    colProps: { span: 14 }
  },
  {
    label: '邮件发送方',
    field: 'fromUser',
    component: 'Input',
    colProps: { span: 14 },
    required: true
  },
  // TODO 主键隐藏字段，目前写死为ID
  {
    label: '',
    field: 'id',
    component: 'Input',
    show: false
  }
];
