@jctrans-materials/comps-vue3 1.0.42-beta.1 → 1.0.42-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,8 @@
1
+ /** 组件属性类型定义 */
1
2
  interface Props {
3
+ /** 当前表单模式:login=登录 / register=注册 */
2
4
  formMode: "login" | "register";
5
+ /** 是否为英文界面 */
3
6
  isEn: boolean;
4
7
  }
5
8
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<Props>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
@@ -1,14 +1,48 @@
1
1
  import { ComputedRef } from 'vue';
2
2
  import { AreaCodeData, CaptchaData, LoginFormData } from '../loginDialog';
3
3
 
4
+ /**
5
+ * useAuthLogin 配置选项
6
+ *
7
+ * 控制登录认证流程的行为,包括成功回调、语言环境、
8
+ * 完善信息拦截以及测试模式开关。
9
+ */
4
10
  interface AuthOptions {
11
+ /** 应用标识,默认 "ERA",用于区分不同业务线的登录请求 */
5
12
  appId?: string;
13
+ /** 是否为英文环境,支持布尔值或计算属性 */
6
14
  isEn?: boolean | ComputedRef<boolean>;
15
+ /** 登录成功后的回调,传入登录返回数据 */
7
16
  onSuccess?: (data: any) => void;
17
+ /** 需要完善企业信息时的回调(improveComp 拦截),传入登录返回数据 */
8
18
  onNeedComplete?: (data: any) => void;
19
+ /** 测试模式:true 时跳过 redirect 与 token 持久化,改为 console.log 打印完整返回值 */
9
20
  test?: boolean | ComputedRef<boolean>;
10
21
  }
22
+ /**
23
+ * 登录方式类型
24
+ * - "account": 账号密码登录
25
+ * - "code": 手机/邮箱验证码登录
26
+ * - "wechat": 微信扫码登录
27
+ * - "TEST": 测试模式
28
+ * - "linkedin": LinkedIn OAuth 登录
29
+ * - "facebook": Facebook OAuth 登录
30
+ */
11
31
  type LoginType = "account" | "code" | "wechat" | "TEST" | "linkedin" | "facebook";
32
+ /**
33
+ * 认证登录组合式函数
34
+ *
35
+ * 负责处理三种核心认证场景:
36
+ * 1. 常规登录(账号密码 / 验证码 / 微信扫码)
37
+ * 2. 微信绑定已有账号(账号密码绑定 / 验证码绑定)
38
+ * 3. 登录成功后的统一跳转与完善信息拦截
39
+ *
40
+ * 内部包含踢人确认(Kick Confirm)递归流程、improveComp 拦截模式、
41
+ * 以及测试模式下的登录结果打印。
42
+ *
43
+ * @param options - 配置选项,见 {@link AuthOptions}
44
+ * @returns 返回 loading 状态、登录/绑定方法、跳转方法、完善信息状态标志
45
+ */
12
46
  export declare function useAuthLogin(options?: AuthOptions): {
13
47
  loading: import('vue').Ref<boolean, boolean>;
14
48
  handleAuthSubmit: (params: {
@@ -2,10 +2,30 @@ import { ComputedRef, Ref } from 'vue';
2
2
  import { FormInstance } from 'element-plus';
3
3
  import { AreaCodeData, CaptchaData, LoginFormData, LoginMethod, LoginType } from '../loginDialog';
4
4
 
5
+ /**
6
+ * useLoginForm 配置选项
7
+ *
8
+ * 提供登录表单所需的响应式依赖项。
9
+ */
5
10
  interface UseLoginFormOptions {
11
+ /** 是否为英文环境(计算属性,由父组件传入) */
6
12
  isEn: ComputedRef<boolean>;
13
+ /** 当前登录方式(响应式引用,表单内部可修改以触发视图切换) */
7
14
  loginType: Ref<LoginType>;
8
15
  }
16
+ /**
17
+ * 登录表单管理组合式函数
18
+ *
19
+ * 负责登录表单的所有核心交互逻辑:
20
+ * 1. 表单状态管理 —— 维护 loginForm、verifyData、areaCodeData 等响应式状态
21
+ * 2. 表单校验规则 —— 根据登录方式(account/code)动态生成 Element Plus 校验规则
22
+ * 3. 验证码发送 —— 调用短信/邮件发送 API,处理 NO_ACCOUNT 特殊场景
23
+ * 4. 登录方式切换 —— 切换 account/code/wechat 时重置表单状态与校验凭证
24
+ * 5. 区号加载 —— 根据 IP 自动定位区号,支持手动切换区号
25
+ *
26
+ * @param options - 配置选项,见 {@link UseLoginFormOptions}
27
+ * @returns 返回表单 ref、状态字段、校验规则、交互方法
28
+ */
9
29
  export declare function useLoginForm(options: UseLoginFormOptions): {
10
30
  loginFormRef: Ref<FormInstance | undefined, FormInstance | undefined>;
11
31
  loginForm: Ref<{
@@ -1,15 +1,36 @@
1
1
  import { ComputedRef } from 'vue';
2
2
 
3
+ /**
4
+ * 第三方 OAuth 登录配置接口
5
+ *
6
+ * 定义 Facebook / LinkedIn 登录流程所需的全部配置项,
7
+ * 包括应用标识、回调钩子以及测试模式开关。
8
+ */
3
9
  interface ThirdPartyConfig {
10
+ /** 应用标识(如 "CPA"),用于区分不同业务线的登录请求 */
4
11
  appId: string;
12
+ /** OAuth 认证服务的基础 URL */
5
13
  baseUrl?: string;
14
+ /** 登录成功后的跳转路径 */
6
15
  redirectPath?: string;
16
+ /** 是否为英文环境,支持布尔值或计算属性 */
7
17
  isEn?: boolean | ComputedRef<boolean>;
18
+ /** 直接登录成功的回调(无需绑定/注册时触发) */
8
19
  onSuccess?: (data: any) => void;
20
+ /** 登录失败时的回调 */
9
21
  onError?: (error: any) => void;
22
+ /** 需要账号绑定时回调,传入冲突账号列表 */
10
23
  onNeedBind?: (list: any[]) => void;
24
+ /** 需要完善企业信息时的回调(improveComp 拦截) */
25
+ onNeedComplete?: (data: any) => void;
26
+ /** 测试模式:true 时跳过 redirect 与 token 持久化,改为 console.log 打印完整返回值 */
11
27
  test?: boolean | ComputedRef<boolean>;
12
28
  }
29
+ /**
30
+ * 从 sessionStorage 读取第三方登录信息
31
+ *
32
+ * @returns 包含 thirdPartyId、thirdPartyEmail、thirdPartyType、thirdPartyUserName、mobileEmailList 的对象
33
+ */
13
34
  export declare const getThirdPartySessions: () => {
14
35
  thirdPartyId: string;
15
36
  thirdPartyEmail: string;
@@ -17,6 +38,7 @@ export declare const getThirdPartySessions: () => {
17
38
  thirdPartyUserName: string;
18
39
  mobileEmailList: any;
19
40
  };
41
+ /** 设置第三方邮箱验证列表到 sessionStorage */
20
42
  export declare const setThirdPartyEmailVerifyList: (data: any[]) => void;
21
43
  export declare const getThirdPartyEmailVerifyList: () => any;
22
44
  export declare const setThirdPartyMobileVerifyList: (data: any[]) => void;