mirror of https://github.com/certd/certd
				
				
				
			chore: 设置tab页签标题中英文优化
							parent
							
								
									7bdde68ece
								
							
						
					
					
						commit
						1476b9cb9c
					
				| 
						 | 
				
			
			@ -23,6 +23,7 @@ export type AddonDefine = Registrable & {
 | 
			
		|||
  input?: {
 | 
			
		||||
    [key: string]: AddonInputDefine;
 | 
			
		||||
  };
 | 
			
		||||
  showTest?: boolean;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export type AddonInstanceConfig = {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -707,6 +707,10 @@ export default {
 | 
			
		|||
    pipeline: "Pipeline",
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
  addonType: "Type",
 | 
			
		||||
  addonName: "Name",
 | 
			
		||||
  addonNameHelper: "Fill freely, helps to distinguish when multiple same type exist",
 | 
			
		||||
  addonTypeSelect: "Select type",
 | 
			
		||||
  sys: {
 | 
			
		||||
    setting: {
 | 
			
		||||
      showRunStrategy: "Show RunStrategy",
 | 
			
		||||
| 
						 | 
				
			
			@ -714,7 +718,12 @@ export default {
 | 
			
		|||
 | 
			
		||||
      captchaEnabled: "Enable Login Captcha",
 | 
			
		||||
      captchaHelper: "Whether to enable captcha verification for login",
 | 
			
		||||
      captchaType: "Captcha Type",
 | 
			
		||||
      captchaType: "Captcha Setting",
 | 
			
		||||
 | 
			
		||||
      baseSetting: "Base Settings",
 | 
			
		||||
      registerSetting: "Register Settings",
 | 
			
		||||
      safeSetting: "Safe Settings",
 | 
			
		||||
      paymentSetting: "Payment Settings",
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  modal: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -695,7 +695,10 @@ export default {
 | 
			
		|||
  setAsDefault: "设为默认",
 | 
			
		||||
  disabledLabel: "禁用",
 | 
			
		||||
  confirmToggleStatus: "确定要{action}吗?",
 | 
			
		||||
 | 
			
		||||
  addonType: "类型",
 | 
			
		||||
  addonName: "名称",
 | 
			
		||||
  addonNameHelper: "随意填写,相同类型助于区分即可",
 | 
			
		||||
  addonTypeSelect: "请选择",
 | 
			
		||||
  template: {
 | 
			
		||||
    title: "流水线模版",
 | 
			
		||||
    edit: "流水线模版编辑",
 | 
			
		||||
| 
						 | 
				
			
			@ -717,7 +720,12 @@ export default {
 | 
			
		|||
 | 
			
		||||
      captchaEnabled: "启用登录验证码",
 | 
			
		||||
      captchaHelper: "登录时是否启用验证码",
 | 
			
		||||
      captchaType: "验证码类型",
 | 
			
		||||
      captchaType: "验证码配置",
 | 
			
		||||
 | 
			
		||||
      baseSetting: "基本设置",
 | 
			
		||||
      registerSetting: "注册设置",
 | 
			
		||||
      safeSetting: "安全设置",
 | 
			
		||||
      paymentSetting: "支付设置",
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  modal: {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -127,3 +127,16 @@ export function createAddonApi(opts: { from: any; addonType: string }) {
 | 
			
		|||
    },
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export const AddonTypeDefines = {
 | 
			
		||||
  captcha: {
 | 
			
		||||
    name: "captcha",
 | 
			
		||||
    title: "验证码",
 | 
			
		||||
    showDefault: false,
 | 
			
		||||
    showTest: false,
 | 
			
		||||
  },
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export function getAddonTypeDefine(addonType: string) {
 | 
			
		||||
  return AddonTypeDefines[addonType];
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,6 +6,7 @@ import { Modal } from "ant-design-vue";
 | 
			
		|||
import { mitter } from "/@/utils/util.mitt";
 | 
			
		||||
import { useI18n } from "/src/locales";
 | 
			
		||||
import * as pipelineApi from "/@/views/certd/pipeline/api";
 | 
			
		||||
import { getAddonTypeDefine } from "/@/views/certd/addon/api";
 | 
			
		||||
 | 
			
		||||
export function addonProvide(api: any) {
 | 
			
		||||
  provide("addonApi", api);
 | 
			
		||||
| 
						 | 
				
			
			@ -104,7 +105,7 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a
 | 
			
		|||
    //   },
 | 
			
		||||
    // },
 | 
			
		||||
    type: {
 | 
			
		||||
      title: t("certd.notificationType"),
 | 
			
		||||
      title: t("certd.addonType"),
 | 
			
		||||
      type: "dict-select",
 | 
			
		||||
      dict: addonTypeDictRef,
 | 
			
		||||
      search: {
 | 
			
		||||
| 
						 | 
				
			
			@ -138,7 +139,7 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a
 | 
			
		|||
            );
 | 
			
		||||
          },
 | 
			
		||||
        },
 | 
			
		||||
        rules: [{ required: true, message: t("certd.selectNotificationType") }],
 | 
			
		||||
        rules: [{ required: true, message: t("certd.addonTypeSelect") }],
 | 
			
		||||
        valueChange: {
 | 
			
		||||
          immediate: true,
 | 
			
		||||
          async handle({ value, mode, form, immediate }) {
 | 
			
		||||
| 
						 | 
				
			
			@ -173,14 +174,14 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a
 | 
			
		|||
      },
 | 
			
		||||
    } as ColumnCompositionProps,
 | 
			
		||||
    name: {
 | 
			
		||||
      title: t("certd.notificationName"),
 | 
			
		||||
      title: t("certd.addonName"),
 | 
			
		||||
      search: {
 | 
			
		||||
        show: true,
 | 
			
		||||
      },
 | 
			
		||||
      type: ["text"],
 | 
			
		||||
      form: {
 | 
			
		||||
        rules: [{ required: true, message: t("certd.enterName") }],
 | 
			
		||||
        helper: t("certd.helperNotificationName"),
 | 
			
		||||
        helper: t("certd.addonNameHelper"),
 | 
			
		||||
      },
 | 
			
		||||
      column: {
 | 
			
		||||
        width: 200,
 | 
			
		||||
| 
						 | 
				
			
			@ -196,6 +197,9 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a
 | 
			
		|||
        ],
 | 
			
		||||
      }),
 | 
			
		||||
      form: {
 | 
			
		||||
        show: computed(() => {
 | 
			
		||||
          return getAddonTypeDefine(addonType)?.showDefault ?? false;
 | 
			
		||||
        }),
 | 
			
		||||
        value: false,
 | 
			
		||||
        rules: [{ required: true, message: t("certd.selectIsDefault") }],
 | 
			
		||||
        order: 999,
 | 
			
		||||
| 
						 | 
				
			
			@ -203,6 +207,9 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a
 | 
			
		|||
      column: {
 | 
			
		||||
        align: "center",
 | 
			
		||||
        width: 100,
 | 
			
		||||
        show: computed(() => {
 | 
			
		||||
          return getAddonTypeDefine(addonType)?.showDefault ?? false;
 | 
			
		||||
        }),
 | 
			
		||||
        component: {
 | 
			
		||||
          name: "a-switch",
 | 
			
		||||
          vModel: "checked",
 | 
			
		||||
| 
						 | 
				
			
			@ -210,6 +217,7 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a
 | 
			
		|||
            return value === true;
 | 
			
		||||
          }),
 | 
			
		||||
          on: {
 | 
			
		||||
            // @ts-ignore
 | 
			
		||||
            change({ row }) {
 | 
			
		||||
              Modal.confirm({
 | 
			
		||||
                title: t("certd.prompt"),
 | 
			
		||||
| 
						 | 
				
			
			@ -226,12 +234,12 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any, a
 | 
			
		|||
          },
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    } as ColumnCompositionProps,
 | 
			
		||||
    },
 | 
			
		||||
    test: {
 | 
			
		||||
      title: t("certd.test"),
 | 
			
		||||
      form: {
 | 
			
		||||
        show: compute(({ form }) => {
 | 
			
		||||
          return !!form.type;
 | 
			
		||||
          return !!form.type && currentDefine.value?.showTest === true;
 | 
			
		||||
        }),
 | 
			
		||||
        component: {
 | 
			
		||||
          name: "api-test",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,17 +5,17 @@
 | 
			
		|||
    <!--    </template>-->
 | 
			
		||||
    <div class="sys-settings-body md:p-5">
 | 
			
		||||
      <a-tabs :active-key="activeKey" type="card" class="sys-settings-tabs" @update:active-key="onChange">
 | 
			
		||||
        <a-tab-pane key="base" tab="基本设置">
 | 
			
		||||
        <a-tab-pane key="base" :tab="t('certd.sys.setting.baseSetting')">
 | 
			
		||||
          <SettingBase v-if="activeKey === 'base'" />
 | 
			
		||||
        </a-tab-pane>
 | 
			
		||||
        <a-tab-pane key="register" tab="注册设置">
 | 
			
		||||
        <a-tab-pane key="register" :tab="t('certd.sys.setting.registerSetting')">
 | 
			
		||||
          <SettingRegister v-if="activeKey === 'register'" />
 | 
			
		||||
        </a-tab-pane>
 | 
			
		||||
        <a-tab-pane v-if="settingsStore.isComm" key="payment" tab="支付设置">
 | 
			
		||||
        <a-tab-pane v-if="settingsStore.isComm" key="payment" :tab="t('certd.sys.setting.paymentSetting')">
 | 
			
		||||
          <SettingPayment v-if="activeKey === 'payment'" />
 | 
			
		||||
        </a-tab-pane>
 | 
			
		||||
        <a-tab-pane key="save" tab="安全设置">
 | 
			
		||||
          <SettingSafe v-if="activeKey === 'save'" />
 | 
			
		||||
        <a-tab-pane key="safe" :tab="t('certd.sys.setting.safeSetting')">
 | 
			
		||||
          <SettingSafe v-if="activeKey === 'safe'" />
 | 
			
		||||
        </a-tab-pane>
 | 
			
		||||
      </a-tabs>
 | 
			
		||||
    </div>
 | 
			
		||||
| 
						 | 
				
			
			@ -30,9 +30,11 @@ import SettingSafe from "/@/views/sys/settings/tabs/safe.vue";
 | 
			
		|||
import { useRoute, useRouter } from "vue-router";
 | 
			
		||||
import { ref } from "vue";
 | 
			
		||||
import { useSettingStore } from "/@/store/settings";
 | 
			
		||||
import { useI18n } from "/@/locales";
 | 
			
		||||
defineOptions({
 | 
			
		||||
  name: "SysSettings",
 | 
			
		||||
});
 | 
			
		||||
const { t } = useI18n();
 | 
			
		||||
const settingsStore = useSettingStore();
 | 
			
		||||
const activeKey = ref("base");
 | 
			
		||||
const route = useRoute();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,22 +5,24 @@ import { ICaptchaAddon } from "../api.js";
 | 
			
		|||
@IsAddon({
 | 
			
		||||
  addonType:"captcha",
 | 
			
		||||
  name: 'geetest',
 | 
			
		||||
  title: '极验验证码',
 | 
			
		||||
  title: '极验验证码v4',
 | 
			
		||||
  desc: '',
 | 
			
		||||
  showTest:false,
 | 
			
		||||
})
 | 
			
		||||
export class GeeTestCaptcha extends BaseAddon implements ICaptchaAddon{
 | 
			
		||||
 | 
			
		||||
  @AddonInput({
 | 
			
		||||
    title: 'captchaId',
 | 
			
		||||
    title: '验证ID',
 | 
			
		||||
    component: {
 | 
			
		||||
      placeholder: 'captchaId',
 | 
			
		||||
    },
 | 
			
		||||
    helper:"[极验验证码v4](https://console.geetest.com/sensbot/management) -> 创建业务模块 -> 新增业务场景",
 | 
			
		||||
    required: true,
 | 
			
		||||
  })
 | 
			
		||||
  captchaId = '';
 | 
			
		||||
 | 
			
		||||
  @AddonInput({
 | 
			
		||||
    title: 'captchaKey',
 | 
			
		||||
    title: '验证Key',
 | 
			
		||||
    component: {
 | 
			
		||||
      placeholder: 'captchaKey',
 | 
			
		||||
    },
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,6 +8,7 @@ import { nanoid } from "nanoid";
 | 
			
		|||
  name: 'image',
 | 
			
		||||
  title: '图片验证码',
 | 
			
		||||
  desc: '',
 | 
			
		||||
  showTest:false,
 | 
			
		||||
})
 | 
			
		||||
export class ImageCaptcha extends BaseAddon implements ICaptchaAddon{
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue