凌云UI 使用手册
接入
组件
图表
页面
  • 总览
  • 组件 1.0.42
  • 图表 1.0.27
  • 页面包 1.0.3
GitHub
接入
组件
图表
页面
  • 总览
  • 组件 1.0.42
  • 图表 1.0.27
  • 页面包 1.0.3
GitHub
  • 接入

    • 接入
    • 屏幕
    • 反馈

屏幕

Demo 页:/pages/demo/screen。拉宽窗口,或在右侧预览里切换「手机 / 宽屏」,列表里的值会变。

页面要按当前窗口、系统和硬件分叉时,用全局对象 lingyun。app.use(lingyunUi) 之后就能用。折叠、旋转或拉窗口时,这些字符串会更新。

模板

<view v-if="lingyun.os == 'ios'">iOS 布局</view>
<view v-else-if="lingyun.fold == 'expanded'">折叠屏已展开</view>
<view v-else-if="lingyun.screen == 'pad'">当前是宽屏</view>

脚本

import { lingyun } from '@/uni_modules/lingyun-ui'

if (lingyun.device == 'pad') {
  // …
}

组件以外的代码读 uni.lingyun,字段相同。

字段

字段取值含义
lingyun.screenphone / pad / pc当前窗口档
lingyun.osios / android / harmony / windows / mac操作系统
lingyun.devicephone / pad / pc硬件类型
lingyun.foldableyes / no是否折叠屏
lingyun.foldfolded / expanded / half / ''折叠、展开、半折叠。不是折叠屏时为空串

信息还没读到时,字段是空串。

机型或 UA 已明确为 iPhone Duo 时,即使小程序模拟器把 osName 固定报成 android,lingyun.os 也会按 ios 处理。iOS 手机处于折叠形态,或屏幕 / 窗口为 Duo 的 466×678 / 669×951(横竖均可)时,也会按 Duo 识别。

窗口档

按窗口宽度划分,和宽屏左侧导航用的 690 是同一条线。

宽度lingyun.screen
< 690phone
690–1199pad
≥ 1200pc

screen 看现在的窗口,device 看机器。折叠屏展开后硬件仍是手机,窗口会进宽屏档:

<view v-if="lingyun.device == 'phone' && lingyun.screen == 'pad'">
  折叠屏内屏
</view>

手机横过来、宽度到了 690,screen 也会变成 pad。iPad 分屏缩得很窄时,device 仍是 pad,screen 可以是 phone。

分开展示

窄屏和宽屏的内容分成两个组件,判断和上面的窗口档相同。

<lingyun-mobile>
  <view>手机上的内容</view>
</lingyun-mobile>
<lingyun-pc>
  <view>平板和电脑上的内容</view>
</lingyun-pc>
组件何时显示
lingyun-mobile窗口宽度 < 690,或窗口还没读到
lingyun-pc窗口宽度 ≥ 690(pad 和 pc 都算)

隐藏的那一支不会渲染。拉宽或收窄窗口后会换成另一支。

折叠

状态取值
折叠lingyun.fold == 'folded'
展开lingyun.fold == 'expanded'
半折叠lingyun.fold == 'half'
不是折叠屏lingyun.fold == ''

是否折叠屏:lingyun.foldable == 'yes'。

微信没有折叠状态接口。常见折叠屏按机型识别;内屏接近正方形,或同一次使用里短边明显拉开,也会记为折叠屏。半折叠只在窗口明显只占一半,或内屏变成宽而扁时记为 half。

重新读取

进前台和窗口尺寸变化时会自己刷新。要立刻重读:

import { refreshLingyunScreen } from '@/uni_modules/lingyun-ui'

refreshLingyunScreen()
Edit this page
最近更新: 2026/10/29 08:45
Contributors: qiu, Claude Fable 5
Prev
接入
Next
反馈