UNPKG

vite-plugin-uni-pages2dts

Version:

A Vite plugin to generate TypeScript types for UniApp pages.

362 lines (323 loc) 9.5 kB
import type { AnimationType, HEXColor, ThemeVar } from '../common' import type { H5 } from './h5' import type { AppPlus } from './appPlus' import type { MpAlipay } from './mpAlipay' import type { MpWeixin } from './mpWeixin' import type { MpBaidu } from './mpBaidu' import type { MpToutiao } from './mpToutiao' import type { MpLark } from './mpLark' import type { MpQq } from './mpQq' import type { MpKuaishou } from './mpKuaishou' import type { MpJd } from './mpJd' export interface GlobalStyle { /** * 导航栏背景颜色(同状态栏背景色),支持 HEX 颜色 * * @desc APP 与 H5 为 #F8F8F8,小程序平台请参考相应小程序文档 * * @format color */ 'navigationBarBackgroundColor'?: HEXColor | ThemeVar /** * 导航栏标题颜色及状态栏前景颜色,仅支持 "black" / "white" * * @default "black" * * @desc 支付宝小程序不支持,请使用 my.setNavigationBar */ 'navigationBarTextStyle'?: 'black' | 'white' | ThemeVar /** * 导航栏标题文字内容 */ 'navigationBarTitleText'?: string /** * 导航栏阴影 */ 'navigationBarShadow'?: { /** * 阴影颜色 */ colorType?: 'grey' | 'blue' | 'green' | 'orange' | 'red' | 'yellow' } /** * 导航栏样式,仅支持 "default" / "custom" * * "custom" 即取消默认的原生导航栏,详看 [使用注意](https://uniapp.dcloud.net.cn/collocation/pages#customnav) * * @default "default" * * @desc 微信小程序 7.0+、百度小程序、H5、App(2.0.3+) */ 'navigationStyle'?: 'default' | 'custom' /** * 下拉显示出来的窗口的背景色,支持 HEX 颜色 * * @default "#ffffff" * * @desc 微信小程序 * * @format color */ 'backgroundColor'?: HEXColor | ThemeVar /** * 下拉 loading 的样式,仅支持 "dark" / "light" * * @default "dark" * * @desc 微信小程序 */ 'backgroundTextStyle'?: 'dark' | 'light' | ThemeVar /** * 是否开启下拉刷新,详见 [页面生命周期](https://uniapp.dcloud.net.cn/tutorial/page.html#lifecycle) * * @default false */ 'enablePullDownRefresh'?: boolean /** * 页面上拉触底事件触发时距页面底部距离,单位为 px,详见 [页面生命周期](https://uniapp.dcloud.net.cn/tutorial/page.html#lifecycle) * * @default 50 */ 'onReachBottomDistance'?: number /** * 顶部窗口的背景色(bounce回弹区域) * * @default "#ffffff" * * @desc iOS * * @format color */ 'backgroundColorTop'?: HEXColor | ThemeVar /** * 底部窗口的背景色(bounce回弹区域) * * @default "#ffffff" * * @desc iOS * * @format color */ 'backgroundColorBottom'?: HEXColor | ThemeVar /** * 导航栏图片地址(替换当前文字标题) * * 支付宝小程序内必须使用 https 图片链接地址 * * @desc 支付宝小程序、H5、APP */ 'titleImage'?: string /** * 导航栏整体(前景、背景)透明设置,仅支持 "always" / "auto" / "none * * "always" 一直透明 * * "auto" 滑动自适应 * * "none" 不透明 * * @default "none" * * @desc 支付宝小程序、H5、APP */ 'transparentTitle'?: 'always' | 'auto' | 'none' /** * 导航栏点击穿透 * * @default "NO" * * @desc 支付宝小程序、H5 */ 'titlePenetrate'?: 'YES' | 'NO' /** * 横屏配置,屏幕旋转设置,仅支持 "auto" / "portrait" / "landscape",详见 [响应显示区域变化](https://developers.weixin.qq.com/miniprogram/dev/framework/view/resizable.html) * * "auto" 自动 * * "portrait" 竖屏 * * "landscape" 横屏 * * @default "portrait" * * @desc App 2.4.7+、微信小程序、QQ小程序 */ 'pageOrientation'?: string /** * 窗口显示的动画效果,详见 [窗口动画](https://uniapp.dcloud.net.cn/api/router#animation) * * @default "pop-in" * * @desc App */ 'animationType'?: AnimationType /** * 窗口显示动画的持续时间,单位为 ms * * @default 300 * * @desc App */ 'animationDuration'?: number /** * 设置编译到 App 平台的特定样式,配置项参考 [app-plus](https://uniapp.dcloud.net.cn/collocation/pages#app-plus) * * 相应的类型是 AppPlus * * @desc App */ 'app-plus'?: AppPlus /** * 设置编译到 H5 平台的特定样式,配置项参考 [H5](https://uniapp.dcloud.net.cn/collocation/pages#h5) * * 相应的类型是 H5 * * @desc H5 */ 'h5'?: H5 /** * 设置编译到 mp-alipay 平台的特定样式,配置项参考 [MP-ALIPAY](https://uniapp.dcloud.net.cn/collocation/pages#mp-alipay) 和 <https://opendocs.alipay.com/mini/framework/app-json#window> * * 相应的类型是 MpAlipay * * @desc 支付宝小程序 */ 'mp-alipay'?: MpAlipay /** * 设置编译到 mp-weixin 平台的特定样式,配置项参考 [MP-WEIXIN](https://uniapp.dcloud.net.cn/collocation/pages#mp-weixin) 和 <https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app.html#window> * * 相应的类型是 MpWeixin * * @desc 微信小程序 */ 'mp-weixin'?: MpWeixin /** * 设置编译到 mp-baidu 平台的特定样式,配置项参考 [MP-BAIDU](https://uniapp.dcloud.net.cn/collocation/pages.html#mp-baidu) 和 <https://smartprogram.baidu.com/docs/develop/framework/process/#window> * * 相应的类型是 MpBaidu * * @desc 百度小程序 */ 'mp-baidu'?: MpBaidu /** * 设置编译到 mp-toutiao 平台的特定样式,配置项参考 <https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/develop/framework/general-configuration#window> * * 相应的类型是 MpToutiao * * @desc 抖音小程序 */ 'mp-toutiao'?: MpToutiao /** * 设置编译到 mp-lark 平台的特定样式 * * 相应的类型是 MpLark * * @desc 飞书小程序 */ 'mp-lark'?: MpLark /** * 设置编译到 mp-qq 平台的特定样式 * * 相应的类型是 MpQq * * @desc QQ 小程序 */ 'mp-qq'?: MpQq /** * 设置编译到 mp-kuaishou 平台的特定样式 * * 相应的类型是 MpKuaishou * * @desc 快手小程序 */ 'mp-kuaishou'?: MpKuaishou /** * 设置编译到 mp-jd 平台的特定样式 * * 相应的类型是 MpJd * * @desc 京东小程序 */ 'mp-jd'?: MpJd /** * 引用小程序组件,详见 [小程序组件](https://uniapp.dcloud.net.cn/tutorial/miniprogram-subject.html#%E5%B0%8F%E7%A8%8B%E5%BA%8F%E8%87%AA%E5%AE%9A%E4%B9%89%E7%BB%84%E4%BB%B6%E6%94%AF%E6%8C%81) * * @desc App、微信小程序、支付宝小程序、百度小程序、京东小程序 */ 'usingComponents'?: Record<string, string> /** * 同层渲染,webrtc(实时音视频)无法正常时尝试配置为 "seperated" 强制关掉同层渲染 * * @desc 微信小程序 */ 'renderingMode'?: string /** * 当存在 leftWindow 时,默认是否显示 leftWindow,详见 [topWindow](https://uniapp.dcloud.net.cn/collocation/pages.html#topwindow) * * @default true * * @desc H5 */ 'leftWindow'?: boolean /** * 当存在 topWindow 时,默认是否显示 topWindow,详见 [topWindow](https://uniapp.dcloud.net.cn/collocation/pages.html#topwindow) * * @default true * * @desc H5 */ 'topWindow'?: boolean /** * 当存在 rightWindow 时,默认是否显示 rightWindow,详见 [topWindow](https://uniapp.dcloud.net.cn/collocation/pages.html#topwindow) * * @default true * * @desc H5 */ 'rightWindow'?: boolean /** * rpx 计算所支持的最大设备宽度,单位为 px * * @default 960 * * @desc App(vue2 且不含 nvue)、H5(2.8.12+) */ 'rpxCalcMaxDeviceWidth'?: number /** * rpx 计算使用的基准设备宽度,设备实际宽度超出 rpx 计算所支持的最大设备宽度时将按基准宽度计算,单位为 px * * @default 375 * * @desc App(vue2 且不含 nvue)、H5(2.8.12+) */ 'rpxCalcBaseDeviceWidth'?: number /** * rpx 计算特殊处理的值,始终按实际的设备宽度计算,单位为 rpx * * @default 750 * * @desc App(vue2 且不含 nvue)、H5(2.8.12+) */ 'rpxCalcIncludeWidth'?: number /** * 是否使用动态 rpx,屏幕大小变化会重新渲染 rpx * * @default false * * @desc App-nvue(vue3 固定值为 true) 3.2.13+ */ 'dynamicRpx'?: boolean /** * 当浏览器可见区域宽度大于 maxWidth 时两侧留白,当小于等于 maxWidth 时页面铺满,单位为 px * * 不同页面支持配置不同的 maxWidth * * maxWidth = leftWindow(可选)+ page(页面主体)+ rightWindow(可选) * * 使用时,页面内 fixed 元素需要使用 --window-left 和 --window-right 来保证布局位置正确 * * @desc H5(2.9.9+) */ 'maxWidth'?: number [x: string]: any }