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

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

fxy060608's avatar
fxy060608 已提交
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
  interface PageNavigationBarButton {
    type?:
      | 'none'
      | 'forward'
      | 'back'
      | 'share'
      | 'favorite'
      | 'home'
      | 'menu'
      | 'close'
    color?: string
    background?: string
    colorPressed?: string
    float?: 'right' | 'left'
    fontWeight?: string
    fontSize?: string
    fontSrc?: string
    select?: boolean
    text?: string
    width?: string
  }
fxy060608's avatar
fxy060608 已提交
44
  interface PageNavigationBar {
fxy060608's avatar
fxy060608 已提交
45 46 47 48 49 50 51 52 53 54
    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 已提交
55 56 57 58 59 60 61 62 63
  }
  interface PageRefreshOptions {
    support: boolean
    color: string
    style: 'circle' | string
    height: number
    range: number
    offset: number
  }
fxy060608's avatar
fxy060608 已提交
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81

  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 已提交
82 83 84 85 86 87 88 89 90
    id: number
    isQuit?: boolean
    isEntry?: boolean
    isTabBar?: boolean
    tabBarIndex?: number
    windowTop?: number
    topWindow?: boolean
    leftWindow?: boolean
    rightWindow?: boolean
fxy060608's avatar
fxy060608 已提交
91 92
  }

fxy060608's avatar
fxy060608 已提交
93 94
  interface PagesJsonPageOptions {
    path: string
fxy060608's avatar
fxy060608 已提交
95
    style: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
96 97 98 99 100 101
  }
  interface PagesJsonSubpackagesOptions {
    root: string
    pages: PagesJsonPageOptions[]
  }

fxy060608's avatar
fxy060608 已提交
102 103 104 105 106 107
  interface PagesJsonWindowOptions extends PagesJsonPageOptions {
    matchMedia: {
      minWidth: number
    }
  }

fxy060608's avatar
fxy060608 已提交
108 109 110 111
  interface PagesJson {
    pages: PagesJsonPageOptions[]
    subpackages?: PagesJsonSubpackagesOptions[]
    subPackages?: PagesJsonSubpackagesOptions[]
fxy060608's avatar
fxy060608 已提交
112
    globalStyle?: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
113 114 115
    tabBar?: {
      list: []
    }
fxy060608's avatar
fxy060608 已提交
116 117 118
    topWindow?: PagesJsonWindowOptions
    leftWindow?: PagesJsonWindowOptions
    rightWindow?: PagesJsonWindowOptions
fxy060608's avatar
fxy060608 已提交
119 120
  }
}