From 3b03f87a02458f719e2eb4bf112a13441b427d14 Mon Sep 17 00:00:00 2001
From: ‘chensiAb’ <‘chenchenco03@163.com’>
Date: Tue, 25 Mar 2025 13:54:34 +0800
Subject: [PATCH] Merge branch 'master' of ssh://dev.zhiheiot.com:29418/mob-components

---
 _cursor.ai/layout.doc/h5Page.doc/CH5Page.doc.md |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 175 insertions(+), 0 deletions(-)

diff --git a/_cursor.ai/layout.doc/h5Page.doc/CH5Page.doc.md b/_cursor.ai/layout.doc/h5Page.doc/CH5Page.doc.md
new file mode 100644
index 0000000..00e2eb4
--- /dev/null
+++ b/_cursor.ai/layout.doc/h5Page.doc/CH5Page.doc.md
@@ -0,0 +1,175 @@
+# CH5Page H5页面布局
+
+## 功能说明
+
+H5页面布局组件集,用于构建标准的H5页面结构,包含页面容器、导航栏和内容区域三个部分,适用于需要遵循统一布局规范的H5页面。
+
+## 引用方式
+
+```js
+import { CPage, CNavBar, CContent } from '@components/layout/h5Page';
+```
+
+## 组件结构
+
+H5页面布局组件由以下三个组件组成:
+
+1. `CPage` - 页面容器,作为整个页面的最外层容器
+2. `CNavBar` - 导航栏,显示页面标题和导航按钮
+3. `CContent` - 内容区域,显示页面主要内容,可选择是否支持滚动
+
+## 组件参数
+
+### CPage
+
+无特定参数,通过插槽嵌套其他组件使用
+
+### CNavBar
+
+- `title` (String,必选):导航栏标题
+- `iconType` (String,可选):左侧图标类型,默认值为 'chevron-left'
+- `onClickIcon` (Function,可选):左侧图标点击事件回调函数,返回true时将执行默认的返回上一页行为
+- `dropNav` (Array,可选):右侧下拉菜单配置,数组中的每项为对象,包含以下属性:
+  - `title` (String):菜单项标题
+  - `url` (String):点击菜单项跳转的页面路径
+
+### CContent
+
+- `scroll` (String,可选):是否开启滚动功能,默认值为 'off'
+  - `off`:不开启滚动
+  - `on`:开启滚动
+
+## 实例方法
+
+### CContent
+
+- `$scrollTop(top)`:滚动到指定位置
+  - `top` (Number):要滚动到的位置,单位为像素,默认为0
+
+## 使用示例
+
+### 基础用法
+
+```html
+<template>
+  <CPage>
+    <CNavBar title="页面标题" />
+    <CContent>
+      <view class="page-content">
+        <!-- 页面内容 -->
+        <view class="content-item">内容项1</view>
+        <view class="content-item">内容项2</view>
+        <view class="content-item">内容项3</view>
+      </view>
+    </CContent>
+  </CPage>
+</template>
+
+<script>
+import { CPage, CNavBar, CContent } from '@components/layout/h5Page';
+
+export default {
+  components: {
+    CPage,
+    CNavBar,
+    CContent
+  }
+}
+</script>
+```
+
+### 带滚动的内容和自定义返回事件
+
+```html
+<template>
+  <CPage>
+    <CNavBar 
+      title="详情页面" 
+      :onClickIcon="handleBackClick"
+    />
+    <CContent 
+      scroll="on"
+      ref="content"
+    >
+      <view class="page-content">
+        <!-- 长内容需要滚动 -->
+        <view class="content-section" v-for="i in 20" :key="i">
+          内容区域 {{i}}
+        </view>
+      </view>
+      <view class="scroll-top-btn" @tap="evt => scrollToTop()">回到顶部</view>
+    </CContent>
+  </CPage>
+</template>
+
+<script>
+import { CPage, CNavBar, CContent } from '@components/layout/h5Page';
+
+export default {
+  components: {
+    CPage,
+    CNavBar,
+    CContent
+  },
+  methods: {
+    handleBackClick() {
+      // 在返回前执行一些操作
+      console.log('用户点击了返回按钮');
+      // 返回true继续执行默认的返回行为
+      return true;
+    },
+    scrollToTop() {
+      this.$refs.content.$scrollTop(0);
+    }
+  }
+}
+</script>
+```
+
+### 带下拉菜单的导航栏
+
+```html
+<template>
+  <CPage>
+    <CNavBar 
+      title="订单列表" 
+      :dropNav="navMenuItems"
+    />
+    <CContent>
+      <!-- 页面内容 -->
+    </CContent>
+  </CPage>
+</template>
+
+<script>
+import { CPage, CNavBar, CContent } from '@components/layout/h5Page';
+
+export default {
+  components: {
+    CPage,
+    CNavBar,
+    CContent
+  },
+  data() {
+    return {
+      navMenuItems: [
+        { title: '新增订单', url: '/pages/order/create' },
+        { title: '订单筛选', url: '/pages/order/filter' },
+        { title: '导出订单', url: '/pages/order/export' }
+      ]
+    }
+  }
+}
+</script>
+```
+
+## 注意事项
+
+1. H5页面组件需要按照 `CPage > CNavBar + CContent` 的层级结构使用
+2. 当使用下拉菜单时,点击页面其他区域会自动关闭菜单
+3. CNavBar 的下拉菜单项需要设置 url 才能正常跳转
+4. CContent 设置 scroll="on" 后会自动处理内容区域的滚动,无需额外设置样式
+5. 当点击CNavBar的返回图标时,如果没有设置 onClickIcon 回调,将默认执行 Taro.navigateBack()
+6. 组件会监听页面点击和触摸事件来处理下拉菜单的关闭逻辑
+
+<!-- 作者:Tevin -->
\ No newline at end of file

--
Gitblit v1.9.1