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 @@
-
+
-
+
@@ -16,6 +16,9 @@
{{ userInfo!.nickname || "匿名用户" }}
+
+ {{ genderLabel }}
+
ID: {{ userInfo?.username || "0000000" }}
@@ -35,10 +38,13 @@
-
+
@@ -48,135 +54,156 @@
-
-
-
-
-
- 0.00
- 我的余额
-
-
-
-
- 0
- 我的收藏
-
-
-
-
- 0
- 浏览历史
-
-
-
-
-
-
-
-
-
-
- 常用工具
+
+
-
-
-
-
-
-
-
- 个人资料
+
+
+
+
+
-
-
-
-
-
-
- 常见问题
+
+ 角色
+ {{ roleText }}
-
-
-
-
-
-
- 问题反馈
-
-
-
-
-
-
-
- 关于我们
-
-
-
-
-
-
-
-
-
-
- 推荐服务
-
+
+
+
+
+
+ 部门
+ {{ deptText }}
+
+
+
+
+
+
+
+ 手机
+ {{ mobileText }}
+
+
+
+
+
+
+
+ 邮箱
+ {{ emailText }}
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+ 个人资料
+
+
+
+
+
+ 账号安全
+
+
+
+
+
+ 主题设置
+
+
+
+
+
+ 更多设置
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
-
- 退出登录
+
+
+ 退出登录
+
+
+
@@ -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 {};