shims-uni-app.d.ts 3.8 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8 9 10 11 12
declare namespace Page {
  interface PageInstance {
    $page: {
      id: number
      path: string
      route: string
      fullPath: string
      options: Record<string, any>
      meta: UniApp.PageRouteMeta
    }
  }
}
fxy060608's avatar
fxy060608 已提交
13
declare namespace UniApp {
fxy060608's avatar
fxy060608 已提交
14 15
  type ClassObj = Record<string, boolean>
  type StyleObj = Record<string, any>
fxy060608's avatar
fxy060608 已提交
16
  type PLATFORM = keyof PagesJsonPagePlatformStyle
fxy060608's avatar
fxy060608 已提交
17 18 19 20 21 22 23 24
  interface LayoutWindowOptions {
    matchMedia?: {
      minWidth?: number
    }
    style?: Record<string, any>
  }

  interface UniConfig {
fxy060608's avatar
fxy060608 已提交
25
    ready?: boolean
fxy060608's avatar
fxy060608 已提交
26 27
    router: {
      strict: boolean
fxy060608's avatar
fxy060608 已提交
28
      base: string
fxy060608's avatar
fxy060608 已提交
29
    }
fxy060608's avatar
fxy060608 已提交
30 31 32 33
    globalStyle: {
      navigationBar: PageNavigationBar
      refreshOptions?: PageRefreshOptions
    }
fxy060608's avatar
fxy060608 已提交
34 35 36 37
    topWindow?: LayoutWindowOptions
    leftWindow?: LayoutWindowOptions
    rightWindow?: LayoutWindowOptions
  }
fxy060608's avatar
fxy060608 已提交
38

fxy060608's avatar
fxy060608 已提交
39 40
  interface UniRoute {
    path: string
fxy060608's avatar
fxy060608 已提交
41
    alias?: string
fxy060608's avatar
fxy060608 已提交
42 43 44 45 46 47
    meta: PageRouteMeta
    component?: any
  }

  type UniRoutes = UniRoute[]

fxy060608's avatar
fxy060608 已提交
48
  interface PageNavigationBarButton {
fxy060608's avatar
fxy060608 已提交
49
    type:
fxy060608's avatar
fxy060608 已提交
50 51 52 53 54 55 56 57
      | 'none'
      | 'forward'
      | 'back'
      | 'share'
      | 'favorite'
      | 'home'
      | 'menu'
      | 'close'
fxy060608's avatar
fxy060608 已提交
58
    color: string
fxy060608's avatar
fxy060608 已提交
59
    background?: string
fxy060608's avatar
fxy060608 已提交
60
    badgeText?: string
fxy060608's avatar
fxy060608 已提交
61 62
    colorPressed?: string
    float?: 'right' | 'left'
fxy060608's avatar
fxy060608 已提交
63 64
    fontWeight?: any
    fontSize: string
fxy060608's avatar
fxy060608 已提交
65
    fontSrc?: string
fxy060608's avatar
fxy060608 已提交
66
    fontFamily?: string
fxy060608's avatar
fxy060608 已提交
67
    select?: boolean
fxy060608's avatar
fxy060608 已提交
68
    text: string
fxy060608's avatar
fxy060608 已提交
69
    width?: string
fxy060608's avatar
fxy060608 已提交
70
    redDot?: boolean
fxy060608's avatar
fxy060608 已提交
71
  }
fxy060608's avatar
fxy060608 已提交
72 73

  interface PageNavigationBarSearchInput {
fxy060608's avatar
fxy060608 已提交
74
    color?: string
fxy060608's avatar
fxy060608 已提交
75 76 77 78 79 80 81 82 83
    autoFocus?: boolean
    align?: 'center' | 'left' | 'right'
    backgroundColor?: string
    borderRadius?: string
    placeholder?: string
    placeholderColor?: string
    disabled?: boolean
  }

fxy060608's avatar
fxy060608 已提交
84
  interface PageNavigationBar {
fxy060608's avatar
fxy060608 已提交
85 86
    type?: 'default' | 'transparent' | 'float' | 'none'
    titleText?: string
fxy060608's avatar
fxy060608 已提交
87 88
    titleImage?: string
    titleColor?: '#000' | '#fff'
fxy060608's avatar
fxy060608 已提交
89 90 91 92 93 94 95
    timingFunc?: string
    duration?: string
    backgroundColor?: string
    titlePenetrate?: 'YES' | 'NO'
    shadowColorType?: 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'yellow'
    backButton?: boolean
    buttons?: PageNavigationBarButton[]
fxy060608's avatar
fxy060608 已提交
96 97
    searchInput?: PageNavigationBarSearchInput
    style?: 'default' | 'custom'
fxy060608's avatar
fxy060608 已提交
98 99
    loading?: boolean
    coverage?: string
fxy060608's avatar
fxy060608 已提交
100 101 102 103 104 105 106 107 108
  }
  interface PageRefreshOptions {
    support: boolean
    color: string
    style: 'circle' | string
    height: number
    range: number
    offset: number
  }
fxy060608's avatar
fxy060608 已提交
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126

  interface PagesJsonPagePlatformStyle {
    h5?: PagesJsonPageStyle
    'app-plus'?: PagesJsonPageStyle
    'mp-alipay'?: PagesJsonPageStyle
    'mp-baidu'?: PagesJsonPageStyle
    'mp-qq'?: PagesJsonPageStyle
    'mp-toutiao'?: PagesJsonPageStyle
    'mp-weixin'?: PagesJsonPageStyle
    'quickapp-webview'?: PagesJsonPageStyle
  }

  interface PagesJsonPageStyle extends PagesJsonPagePlatformStyle {
    enablePullDownRefresh?: boolean
    navigationBar: PageNavigationBar
    refreshOptions?: PageRefreshOptions
  }
  interface PageRouteMeta extends PagesJsonPageStyle {
fxy060608's avatar
fxy060608 已提交
127
    id: number
fxy060608's avatar
fxy060608 已提交
128
    isNVue?: boolean
fxy060608's avatar
fxy060608 已提交
129 130 131 132 133 134 135 136
    isQuit?: boolean
    isEntry?: boolean
    isTabBar?: boolean
    tabBarIndex?: number
    windowTop?: number
    topWindow?: boolean
    leftWindow?: boolean
    rightWindow?: boolean
fxy060608's avatar
fxy060608 已提交
137 138
  }

fxy060608's avatar
fxy060608 已提交
139 140
  interface PagesJsonPageOptions {
    path: string
fxy060608's avatar
fxy060608 已提交
141
    style: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
142 143 144 145 146 147
  }
  interface PagesJsonSubpackagesOptions {
    root: string
    pages: PagesJsonPageOptions[]
  }

fxy060608's avatar
fxy060608 已提交
148 149 150 151 152 153
  interface PagesJsonWindowOptions extends PagesJsonPageOptions {
    matchMedia: {
      minWidth: number
    }
  }

fxy060608's avatar
fxy060608 已提交
154 155 156 157
  interface PagesJson {
    pages: PagesJsonPageOptions[]
    subpackages?: PagesJsonSubpackagesOptions[]
    subPackages?: PagesJsonSubpackagesOptions[]
fxy060608's avatar
fxy060608 已提交
158
    globalStyle: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
159 160 161
    tabBar?: {
      list: []
    }
fxy060608's avatar
fxy060608 已提交
162 163 164
    topWindow?: PagesJsonWindowOptions
    leftWindow?: PagesJsonWindowOptions
    rightWindow?: PagesJsonWindowOptions
fxy060608's avatar
fxy060608 已提交
165 166
  }
}