shims-uni-app.d.ts 3.3 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1
declare namespace UniApp {
fxy060608's avatar
fxy060608 已提交
2 3
  type ClassObj = Record<string, boolean>
  type StyleObj = Record<string, any>
fxy060608's avatar
fxy060608 已提交
4
  type PLATFORM = keyof PagesJsonPagePlatformStyle
fxy060608's avatar
fxy060608 已提交
5 6 7 8 9 10 11 12 13 14 15
  interface LayoutWindowOptions {
    matchMedia?: {
      minWidth?: number
    }
    style?: Record<string, any>
  }

  interface UniConfig {
    router: {
      strict: boolean
    }
fxy060608's avatar
fxy060608 已提交
16 17 18 19
    globalStyle: {
      navigationBar: PageNavigationBar
      refreshOptions?: PageRefreshOptions
    }
fxy060608's avatar
fxy060608 已提交
20 21 22 23
    topWindow?: LayoutWindowOptions
    leftWindow?: LayoutWindowOptions
    rightWindow?: LayoutWindowOptions
  }
fxy060608's avatar
fxy060608 已提交
24

fxy060608's avatar
fxy060608 已提交
25
  interface PageNavigationBarButton {
fxy060608's avatar
fxy060608 已提交
26
    type:
fxy060608's avatar
fxy060608 已提交
27 28 29 30 31 32 33 34
      | 'none'
      | 'forward'
      | 'back'
      | 'share'
      | 'favorite'
      | 'home'
      | 'menu'
      | 'close'
fxy060608's avatar
fxy060608 已提交
35
    color: string
fxy060608's avatar
fxy060608 已提交
36
    background?: string
fxy060608's avatar
fxy060608 已提交
37
    badgeText?: string
fxy060608's avatar
fxy060608 已提交
38 39
    colorPressed?: string
    float?: 'right' | 'left'
fxy060608's avatar
fxy060608 已提交
40 41
    fontWeight?: any
    fontSize: string
fxy060608's avatar
fxy060608 已提交
42
    fontSrc?: string
fxy060608's avatar
fxy060608 已提交
43
    fontFamily?: string
fxy060608's avatar
fxy060608 已提交
44
    select?: boolean
fxy060608's avatar
fxy060608 已提交
45
    text: string
fxy060608's avatar
fxy060608 已提交
46
    width?: string
fxy060608's avatar
fxy060608 已提交
47
    redDot?: boolean
fxy060608's avatar
fxy060608 已提交
48
  }
fxy060608's avatar
fxy060608 已提交
49 50 51 52 53 54 55 56 57 58 59

  interface PageNavigationBarSearchInput {
    autoFocus?: boolean
    align?: 'center' | 'left' | 'right'
    backgroundColor?: string
    borderRadius?: string
    placeholder?: string
    placeholderColor?: string
    disabled?: boolean
  }

fxy060608's avatar
fxy060608 已提交
60
  interface PageNavigationBar {
fxy060608's avatar
fxy060608 已提交
61 62 63 64 65 66 67 68 69 70
    type?: 'default' | 'transparent' | 'float' | 'none'
    titleText?: string
    textStyle?: 'black' | 'white'
    timingFunc?: string
    duration?: string
    backgroundColor?: string
    titlePenetrate?: 'YES' | 'NO'
    shadowColorType?: 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'yellow'
    backButton?: boolean
    buttons?: PageNavigationBarButton[]
fxy060608's avatar
fxy060608 已提交
71 72
    searchInput?: PageNavigationBarSearchInput
    style?: 'default' | 'custom'
fxy060608's avatar
fxy060608 已提交
73 74 75 76 77 78 79 80 81
  }
  interface PageRefreshOptions {
    support: boolean
    color: string
    style: 'circle' | string
    height: number
    range: number
    offset: number
  }
fxy060608's avatar
fxy060608 已提交
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

  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 已提交
100 101 102 103 104 105 106 107 108
    id: number
    isQuit?: boolean
    isEntry?: boolean
    isTabBar?: boolean
    tabBarIndex?: number
    windowTop?: number
    topWindow?: boolean
    leftWindow?: boolean
    rightWindow?: boolean
fxy060608's avatar
fxy060608 已提交
109 110
  }

fxy060608's avatar
fxy060608 已提交
111 112
  interface PagesJsonPageOptions {
    path: string
fxy060608's avatar
fxy060608 已提交
113
    style: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
114 115 116 117 118 119
  }
  interface PagesJsonSubpackagesOptions {
    root: string
    pages: PagesJsonPageOptions[]
  }

fxy060608's avatar
fxy060608 已提交
120 121 122 123 124 125
  interface PagesJsonWindowOptions extends PagesJsonPageOptions {
    matchMedia: {
      minWidth: number
    }
  }

fxy060608's avatar
fxy060608 已提交
126 127 128 129
  interface PagesJson {
    pages: PagesJsonPageOptions[]
    subpackages?: PagesJsonSubpackagesOptions[]
    subPackages?: PagesJsonSubpackagesOptions[]
fxy060608's avatar
fxy060608 已提交
130
    globalStyle: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
131 132 133
    tabBar?: {
      list: []
    }
fxy060608's avatar
fxy060608 已提交
134 135 136
    topWindow?: PagesJsonWindowOptions
    leftWindow?: PagesJsonWindowOptions
    rightWindow?: PagesJsonWindowOptions
fxy060608's avatar
fxy060608 已提交
137 138
  }
}