diff --git a/docs/.vitepress/sibar.js b/docs/.vitepress/sibar.js
index 2347489..4850de8 100644
--- a/docs/.vitepress/sibar.js
+++ b/docs/.vitepress/sibar.js
@@ -129,6 +129,10 @@ export function sidebarUsageFrame() {
text: "速记",
link: "/usage-frame/小程序/uniapp/速记",
},
+ {
+ text: "nvue开发指导",
+ link: "/usage-frame/小程序/uniapp/nvue开发指导",
+ },
],
},
],
diff --git "a/docs/usage-frame/\345\260\217\347\250\213\345\272\217/uniapp/nvue\345\274\200\345\217\221\346\214\207\345\257\274.md" "b/docs/usage-frame/\345\260\217\347\250\213\345\272\217/uniapp/nvue\345\274\200\345\217\221\346\214\207\345\257\274.md"
new file mode 100644
index 0000000..b03ad79
--- /dev/null
+++ "b/docs/usage-frame/\345\260\217\347\250\213\345\272\217/uniapp/nvue\345\274\200\345\217\221\346\214\207\345\257\274.md"
@@ -0,0 +1,286 @@
+# nvue开发指导
+
+## 官网注意事项
+
+### template
+
+- 只能在`text`标签中设置字体大小、颜色等属性
+- 只支持`v-if`,不支持`v-show`
+- `image`标签不支持svg图片
+
+### script
+
+- 不支持`onLoad`钩子,可使用`mounted`钩子
+
+### css
+
+- 只支持`class`选择器
+- 只支持flex布局
+- 只支持`px`,`rpx`,不支持`%`, `rem`, `vw`, `vh`
+- 不支持`background-image`,可使用`image`组件和`position`定位代替
+- `fixed`不支持`z-index`
+- `:class`, `:style`只支持数组模式
+- 全局样式,应该放在`uni.scss`文件中,或者将样式导入到该文件。这样整个项目都可以用这些样式了
+
+### nvue获取组件的节点信息
+
+在nvue中,不能使用 uni.createSelectorQuery获取节点信息
+
+可使用下面方案进行代替:
+
+```vue
+
+```
+
+### 与webview事件通信
+
+#### 事前准备
+
+第一步:点击[DCloud uni-app](https://gitcode.net/dcloud/hello-uni-app-x/-/tree/alpha/hybrid/html),下载`uni.webview.x.x.x.js`文件,放入到与`index.html`同级的目录下
+
+第二步:在应用的入口文件(比如index.html)中,加入以下代码:
+
+```html
+
+
+
+
+
+
+
+
+
+```
+
+第三步:在使用`uni.xxx`功能的代码文件中,关闭eslint功能
+
+#### web应用发送给/接收到基座apk的数据
+
+第一步:在使用`uni.xxx`功能的代码文件中,关闭eslint功能
+
+第二步:`uni.postMessage`方法的参数定义:
+
+```javascript
+/**
+ * type: {string} 发送数据的目的,比如获取token(getToken)
+ * type的值:
+ * getToken
+ * getAuth
+ * ......
+ * payload:{object} 发送数据附带的其他数据信息
+ */
+function uni.postMessage ({
+ type: string,
+ payload: object
+}) {
+ return null
+}
+```
+
+第三步:发送数据
+
+**vue3**:
+
+```vue
+
+
+
+
+
+ 展示从基座app接收的数据:{{ baseAppData }}
+
+
+
+
+```
+
+#### 基座apik发送给/接收到web应用的数据
+
+```vue
+
+
+
+
+
+
+
+```
+
+## 开发注意事项
+
+### 项目运行
+
+对于某些包,需要使用`npm i xxx`进行安装,所以在第一次运行的时候,需要使用`npm i`进行项目依赖的安装
+
+### 连接到模拟器
+
+打开模拟器安装目录,找到类似`adb.exe`的文件后,然后运行`adb connect 127.0.0.1:[port]`提示连接成功后,打开【运行】-【运行到手机或模拟器】-【运行到安卓基座】,点击刷新,找到相同的`port`即可
+
+### 复杂布局可多使用插槽
+
+在复杂的页面布局中,可灵活使用(嵌套的)插槽的形式进行组件的开发。这样数据的传递和获取都变得更加的容易。类似下面:
+
+```vue
+
+
+
+
+
+
+
+```
+
+### 系统导航栏占位
+
+使用`uni-nav-bar`中的`status-bar`组件放在页面/组件顶部即可
+
+### u-image图片无法显示
+
+使用网络图片,或者使用类似`@/static/xxx.png`的形式,而非相对路径`..`的形式
+
+### webview非实际高宽展示
+
+出现该问题,应该该路由页面的后缀改为`.nvue`即可,因为`.vue`后缀模式中webview是直接占据全屏的
+
+### 在webview上面(z-index)显示其他内容
+
+使用position定位属性、`cover-view`元素。若上面内容需全面覆盖webview窗口,则上面内容组件的flex应该设为1
+
+### webview在nvue安卓手机无法滚动
+
+当页面整体存在滚动条时,内部是滚动条是失效的,所以,要让内部子元素(比如列表、webview)的滚动条生效,则子元素的祖先元素必须不能出现滚动条,即该元素的高度不能超过视口最大高度,否则滚不动
+
+### template、block占位元素失效
+
+两者互相替换试试,总有一个有效果
+
+### 内容无法滚动
+
+若想使得内容滚动,需要嵌套一个`scroll-view`
+
+### 点击事件触发不了
+
+view、text赋予点击事件无法触发时,可使用其他第三方组件库的组件进行包裹
+
+### 页面元素布局混乱
+
+- 检查元素的高宽度是否合适,可将不应该显示的元素高度设为0
+- 设置元素的flex,当为0时,元素的占位是实际的高宽度,当为1时,是剩余宽度/均分剩余宽度
+
+## 错误汇总
diff --git "a/docs/usage-frame/\345\260\217\347\250\213\345\272\217/uniapp/\351\200\237\350\256\260.md" "b/docs/usage-frame/\345\260\217\347\250\213\345\272\217/uniapp/\351\200\237\350\256\260.md"
index 4f038cf..08e527b 100644
--- "a/docs/usage-frame/\345\260\217\347\250\213\345\272\217/uniapp/\351\200\237\350\256\260.md"
+++ "b/docs/usage-frame/\345\260\217\347\250\213\345\272\217/uniapp/\351\200\237\350\256\260.md"
@@ -2,6 +2,8 @@
> 注意:
> 若内容和实际不符,有可能是文档过时了
+> 注意:
+> 若内容和实际不符,有可能是文档过时了
> 最新内容还是得看官方文档
## 基础速记
@@ -35,7 +37,7 @@
- 使用@dcloudio/uvm自动更新uniapp编译器的主要依赖,使用`npx @dcloudio/uvm@latest`更新到最新正式版,`npx @dcloudio/uvm@latest 3.2.0`更新到指定版本
- 打包时,使用`npm run build:xx`会在`/dist/build/xx`下生成对应的打包资源
- dev和build的区别:dev模式有sourcemap可进行断点调试,process.env.NODE_ENV值为development;build会将代码进行压缩体积更小,同时NODE_ENV值为production
-- 跨端注意事项:https://uniapp.dcloud.net.cn/matter.html
+- 跨端注意事项:
## can i use
@@ -56,6 +58,7 @@ uni.canIUse(${component}.${attribute}.${option})
## 编译及条件编译
条件编译:
+
- 注释内容基本都是`#ifdef %platform%`,`#ifndef %platform%`(除该平台之外)开始,尾部注释是`#endif`结束。不同语言对应的注释写法不一样,比如js/json/uts使用`//`,css使用`/* */`,vue/nvue/uvue组件使用``
- platform:VUE3、UNI-APP-X、uniVersion、APP、APP-PLUS、APP-PLUS-NVUE、APP-NVUE、APP-ANDROID、APP-IOS、H5、WEB、MP(小程序)、MP-WEIXIN、MP-QQ、MP-TOUTIAO等
- 使用`||`支持多平台编译,比如`#ifdef plat1 || plat2`
@@ -68,6 +71,7 @@ uni.canIUse(${component}.${attribute}.${option})
```
注意:
+
- 保证条件编译前和编译后文件都应当能够通过语法校验
- ios和Android不支持通过条件编译来区分,需要调用`uni.getSystemInfo`获取平台信息
@@ -78,6 +82,7 @@ uni.canIUse(${component}.${attribute}.${option})
作用:应用的全局配置文件,用于配置页面文件路径pages、窗口样式globalStyle、导航栏globalStyle、tabbar等。类似微信小程序app.json的页面管理
注意:
+
- topWindow、leftWindow、rightWindow属性用于适配宽屏的(上、左、右栏)
### manifest.json
@@ -87,6 +92,7 @@ uni.canIUse(${component}.${attribute}.${option})
### App.vue/App.uvue
作用:
+
- 作为应用的入口文件,所有页面都是在该组件下进行切换的;
- 本身不是页面,不能编写视图元素,没有``标签,有`