From 8628415351d12af341f5c7be89bc86bb55939935 Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Fri, 6 Mar 2026 22:46:26 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=87=8D=E6=9E=84=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E9=A1=B5=E9=9D=A2UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/user.ts | 9 + src/pages/mine/index.vue | 637 +++++++++++++++++++++++++--------- src/types/uni-components.d.ts | 374 ++++++++++---------- 3 files changed, 675 insertions(+), 345 deletions(-) diff --git a/src/api/user.ts b/src/api/user.ts index e62d6d3..981cf77 100644 --- a/src/api/user.ts +++ b/src/api/user.ts @@ -160,6 +160,15 @@ export interface UserInfo { /** 头像URL */ avatar?: string + /** 手机号 */ + mobile?: string + + /** 邮箱 */ + email?: string + + /** 部门名称 */ + deptName?: string + /** 角色编码集合 */ roles?: string[] diff --git a/src/pages/mine/index.vue b/src/pages/mine/index.vue index 3e7f881..28db29d 100644 --- a/src/pages/mine/index.vue +++ b/src/pages/mine/index.vue @@ -1,7 +1,7 @@ @@ -189,6 +216,7 @@ diff --git a/src/types/uni-components.d.ts b/src/types/uni-components.d.ts index 118ab67..e2a1902 100644 --- a/src/types/uni-components.d.ts +++ b/src/types/uni-components.d.ts @@ -8,65 +8,59 @@ // 扩展 uni-app 原生组件属性类型 declare module "@vue/runtime-core" { export interface GlobalComponents { - view: new () => { - $props: { - class?: string - style?: string | Record - hoverClass?: string - hoverStartTime?: number - hoverStayTime?: number - hoverStopPropagation?: boolean - onClick?: (event: any) => void - } - } - text: new () => { - $props: { - class?: string - style?: string | Record - selectable?: boolean - userSelect?: boolean - space?: "ensp" | "emsp" | "nbsp" - decode?: boolean - onClick?: (event: any) => void - } - } - image: new () => { - $props: { - class?: string - style?: string | Record - src?: string - mode?: - | "scaleToFill" - | "aspectFit" - | "aspectFill" - | "widthFix" - | "heightFix" - | "top" - | "bottom" - | "center" - | "left" - | "right" - | "top left" - | "top right" - | "bottom left" - | "bottom right" - lazyLoad?: boolean - fadeShow?: boolean - webp?: boolean - showMenuByLongpress?: boolean - onClick?: (event: any) => void - } - } + view: import("vue").DefineComponent<{ + class?: string; + style?: string | Record; + hoverClass?: string; + hoverStartTime?: number; + hoverStayTime?: number; + hoverStopPropagation?: boolean; + onClick?: (event: any) => void; + }>; + text: import("vue").DefineComponent<{ + class?: string; + style?: string | Record; + selectable?: boolean; + userSelect?: boolean; + space?: "ensp" | "emsp" | "nbsp"; + decode?: boolean; + onClick?: (event: any) => void; + }>; + image: import("vue").DefineComponent<{ + class?: string; + style?: string | Record; + src?: string; + mode?: + | "scaleToFill" + | "aspectFit" + | "aspectFill" + | "widthFix" + | "heightFix" + | "top" + | "bottom" + | "center" + | "left" + | "right" + | "top left" + | "top right" + | "bottom left" + | "bottom right"; + lazyLoad?: boolean; + fadeShow?: boolean; + webp?: boolean; + showMenuByLongpress?: boolean; + onClick?: (event: any) => void; + }>; button: new () => { $props: { - class?: string - style?: string | Record - size?: "default" | "mini" - type?: "primary" | "default" | "warn" - plain?: boolean - disabled?: boolean - loading?: boolean - formType?: "submit" | "reset" + class?: string; + style?: string | Record; + size?: "default" | "mini"; + type?: "primary" | "default" | "warn"; + plain?: boolean; + disabled?: boolean; + loading?: boolean; + formType?: "submit" | "reset"; openType?: | "feedback" | "share" @@ -78,149 +72,149 @@ declare module "@vue/runtime-core" { | "getAuthorize" | "contactShare" | "livestream" - | "getRealnameAuthInfo" - hoverClass?: string - hoverStartTime?: number - hoverStayTime?: number - lang?: "en" | "zh_CN" | "zh_TW" - sessionFrom?: string - sendMessageTitle?: string - sendMessagePath?: string - sendMessageImg?: string - showMessageCard?: boolean - appParameter?: string - onClick?: (event: any) => void - onGetphonenumber?: (event: any) => void - onGetuserinfo?: (event: any) => void - onContact?: (event: any) => void - onError?: (event: any) => void - onOpensetting?: (event: any) => void - onLaunchapp?: (event: any) => void - } - } + | "getRealnameAuthInfo"; + hoverClass?: string; + hoverStartTime?: number; + hoverStayTime?: number; + lang?: "en" | "zh_CN" | "zh_TW"; + sessionFrom?: string; + sendMessageTitle?: string; + sendMessagePath?: string; + sendMessageImg?: string; + showMessageCard?: boolean; + appParameter?: string; + onClick?: (event: any) => void; + onGetphonenumber?: (event: any) => void; + onGetuserinfo?: (event: any) => void; + onContact?: (event: any) => void; + onError?: (event: any) => void; + onOpensetting?: (event: any) => void; + onLaunchapp?: (event: any) => void; + }; + }; input: new () => { $props: { - class?: string - style?: string | Record - value?: string - type?: "text" | "number" | "idcard" | "digit" | "safe-password" | "nickname" - password?: boolean - placeholder?: string - placeholderStyle?: string - placeholderClass?: string - disabled?: boolean - maxlength?: number | string - cursorSpacing?: number - autoFocus?: boolean - focus?: boolean - cursor?: number - selectionStart?: number - selectionEnd?: number - adjustPosition?: boolean - holdKeyboard?: boolean - alwaysEmbed?: boolean - confirmType?: "send" | "search" | "next" | "go" | "done" - confirmHold?: boolean - onInput?: (event: any) => void - onFocus?: (event: any) => void - onBlur?: (event: any) => void - onConfirm?: (event: any) => void - } - } + class?: string; + style?: string | Record; + value?: string; + type?: "text" | "number" | "idcard" | "digit" | "safe-password" | "nickname"; + password?: boolean; + placeholder?: string; + placeholderStyle?: string; + placeholderClass?: string; + disabled?: boolean; + maxlength?: number | string; + cursorSpacing?: number; + autoFocus?: boolean; + focus?: boolean; + cursor?: number; + selectionStart?: number; + selectionEnd?: number; + adjustPosition?: boolean; + holdKeyboard?: boolean; + alwaysEmbed?: boolean; + confirmType?: "send" | "search" | "next" | "go" | "done"; + confirmHold?: boolean; + onInput?: (event: any) => void; + onFocus?: (event: any) => void; + onBlur?: (event: any) => void; + onConfirm?: (event: any) => void; + }; + }; textarea: new () => { $props: { - class?: string - style?: string | Record - value?: string - placeholder?: string - placeholderStyle?: string - placeholderClass?: string - disabled?: boolean - maxlength?: number | string - autoFocus?: boolean - focus?: boolean - autoHeight?: boolean - fixed?: boolean - cursorSpacing?: number - cursor?: number - showConfirmBar?: boolean - selectionStart?: number - selectionEnd?: number - adjustPosition?: boolean - holdKeyboard?: boolean - disableDefaultPadding?: boolean - confirmType?: "send" | "search" | "next" | "go" | "done" - confirmHold?: boolean - onInput?: (event: any) => void - onFocus?: (event: any) => void - onBlur?: (event: any) => void - onConfirm?: (event: any) => void - onLinechange?: (event: any) => void - } - } + class?: string; + style?: string | Record; + value?: string; + placeholder?: string; + placeholderStyle?: string; + placeholderClass?: string; + disabled?: boolean; + maxlength?: number | string; + autoFocus?: boolean; + focus?: boolean; + autoHeight?: boolean; + fixed?: boolean; + cursorSpacing?: number; + cursor?: number; + showConfirmBar?: boolean; + selectionStart?: number; + selectionEnd?: number; + adjustPosition?: boolean; + holdKeyboard?: boolean; + disableDefaultPadding?: boolean; + confirmType?: "send" | "search" | "next" | "go" | "done"; + confirmHold?: boolean; + onInput?: (event: any) => void; + onFocus?: (event: any) => void; + onBlur?: (event: any) => void; + onConfirm?: (event: any) => void; + onLinechange?: (event: any) => void; + }; + }; scrollview: new () => { $props: { - class?: string - style?: string | Record - scrollX?: boolean - scrollY?: boolean - upperThreshold?: number - lowerThreshold?: number - scrollTop?: number | string - scrollLeft?: number | string - scrollIntoView?: string - scrollWithAnimation?: boolean - enableBackToTop?: boolean - enableFlex?: boolean - scrollAnchors?: boolean - refresherEnabled?: boolean - refresherThreshold?: number - refresherDefaultStyle?: "black" | "white" | "none" - refresherBackground?: string - refresherTriggered?: boolean - enhanced?: boolean - bounces?: boolean - showScrollbar?: boolean - pagingEnabled?: boolean - fastDeceleration?: boolean - onScrolltoupper?: (event: any) => void - onScrolltolower?: (event: any) => void - onScroll?: (event: any) => void - onRefresherrefresh?: (event: any) => void - onRefresherrestore?: (event: any) => void - onRefresherabort?: (event: any) => void - } - } + class?: string; + style?: string | Record; + scrollX?: boolean; + scrollY?: boolean; + upperThreshold?: number; + lowerThreshold?: number; + scrollTop?: number | string; + scrollLeft?: number | string; + scrollIntoView?: string; + scrollWithAnimation?: boolean; + enableBackToTop?: boolean; + enableFlex?: boolean; + scrollAnchors?: boolean; + refresherEnabled?: boolean; + refresherThreshold?: number; + refresherDefaultStyle?: "black" | "white" | "none"; + refresherBackground?: string; + refresherTriggered?: boolean; + enhanced?: boolean; + bounces?: boolean; + showScrollbar?: boolean; + pagingEnabled?: boolean; + fastDeceleration?: boolean; + onScrolltoupper?: (event: any) => void; + onScrolltolower?: (event: any) => void; + onScroll?: (event: any) => void; + onRefresherrefresh?: (event: any) => void; + onRefresherrestore?: (event: any) => void; + onRefresherabort?: (event: any) => void; + }; + }; swiper: new () => { $props: { - class?: string - style?: string | Record - indicatorDots?: boolean - indicatorColor?: string - indicatorActiveColor?: string - autoplay?: boolean - current?: number - interval?: number - duration?: number - circular?: boolean - vertical?: boolean - previousMargin?: string - nextMargin?: string - displayMultipleItems?: number - skipHiddenItemLayout?: boolean - easingFunction?: "default" | "linear" | "easeInCubic" | "easeOutCubic" | "easeInOutCubic" - onChange?: (event: any) => void - onTransition?: (event: any) => void - onAnimationfinish?: (event: any) => void - } - } + class?: string; + style?: string | Record; + indicatorDots?: boolean; + indicatorColor?: string; + indicatorActiveColor?: string; + autoplay?: boolean; + current?: number; + interval?: number; + duration?: number; + circular?: boolean; + vertical?: boolean; + previousMargin?: string; + nextMargin?: string; + displayMultipleItems?: number; + skipHiddenItemLayout?: boolean; + easingFunction?: "default" | "linear" | "easeInCubic" | "easeOutCubic" | "easeInOutCubic"; + onChange?: (event: any) => void; + onTransition?: (event: any) => void; + onAnimationfinish?: (event: any) => void; + }; + }; swiperitem: new () => { $props: { - class?: string - style?: string | Record - } - } + class?: string; + style?: string | Record; + }; + }; } } -export {} +export {};