shims-uni-app.d.ts 3.6 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 25 26
  interface LayoutWindowOptions {
    matchMedia?: {
      minWidth?: number
    }
    style?: Record<string, any>
  }

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

fxy060608's avatar
fxy060608 已提交
38
  interface PageNavigationBarButton {
fxy060608's avatar
fxy060608 已提交
39
    type:
fxy060608's avatar
fxy060608 已提交
40 41 42 43 44 45 46 47
      | 'none'
      | 'forward'
      | 'back'
      | 'share'
      | 'favorite'
      | 'home'
      | 'menu'
      | 'close'
fxy060608's avatar
fxy060608 已提交
48
    color: string
fxy060608's avatar
fxy060608 已提交
49
    background?: string
fxy060608's avatar
fxy060608 已提交
50
    badgeText?: string
fxy060608's avatar
fxy060608 已提交
51 52
    colorPressed?: string
    float?: 'right' | 'left'
fxy060608's avatar
fxy060608 已提交
53 54
    fontWeight?: any
    fontSize: string
fxy060608's avatar
fxy060608 已提交
55
    fontSrc?: string
fxy060608's avatar
fxy060608 已提交
56
    fontFamily?: string
fxy060608's avatar
fxy060608 已提交
57
    select?: boolean
fxy060608's avatar
fxy060608 已提交
58
    text: string
fxy060608's avatar
fxy060608 已提交
59
    width?: string
fxy060608's avatar
fxy060608 已提交
60
    redDot?: boolean
fxy060608's avatar
fxy060608 已提交
61
  }
fxy060608's avatar
fxy060608 已提交
62 63

  interface PageNavigationBarSearchInput {
fxy060608's avatar
fxy060608 已提交
64
    color?: string
fxy060608's avatar
fxy060608 已提交
65 66 67 68 69 70 71 72 73
    autoFocus?: boolean
    align?: 'center' | 'left' | 'right'
    backgroundColor?: string
    borderRadius?: string
    placeholder?: string
    placeholderColor?: string
    disabled?: boolean
  }

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

  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 已提交
117 118 119 120 121 122 123 124 125
    id: number
    isQuit?: boolean
    isEntry?: boolean
    isTabBar?: boolean
    tabBarIndex?: number
    windowTop?: number
    topWindow?: boolean
    leftWindow?: boolean
    rightWindow?: boolean
fxy060608's avatar
fxy060608 已提交
126 127
  }

fxy060608's avatar
fxy060608 已提交
128 129
  interface PagesJsonPageOptions {
    path: string
fxy060608's avatar
fxy060608 已提交
130
    style: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
131 132 133 134 135 136
  }
  interface PagesJsonSubpackagesOptions {
    root: string
    pages: PagesJsonPageOptions[]
  }

fxy060608's avatar
fxy060608 已提交
137 138 139 140 141 142
  interface PagesJsonWindowOptions extends PagesJsonPageOptions {
    matchMedia: {
      minWidth: number
    }
  }

fxy060608's avatar
fxy060608 已提交
143 144 145 146
  interface PagesJson {
    pages: PagesJsonPageOptions[]
    subpackages?: PagesJsonSubpackagesOptions[]
    subPackages?: PagesJsonSubpackagesOptions[]
fxy060608's avatar
fxy060608 已提交
147
    globalStyle: PagesJsonPageStyle
fxy060608's avatar
fxy060608 已提交
148 149 150
    tabBar?: {
      list: []
    }
fxy060608's avatar
fxy060608 已提交
151 152 153
    topWindow?: PagesJsonWindowOptions
    leftWindow?: PagesJsonWindowOptions
    rightWindow?: PagesJsonWindowOptions
fxy060608's avatar
fxy060608 已提交
154 155
  }
}