罗广辉
2026-05-15 e3c2cd23253f3501be7d31e03955fbb6f4aa3556
README.md
@@ -19,10 +19,121 @@
/software/service/drone/web/drone-app
正式
/app/service/drone/web/drone-app
# app更新步骤
修改 /src/config 里面的development的参数,改为对应环境的对应变量
# 小程序app更新步骤
1. 修改 /src/config 里面的development的参数,改为对应环境的对应变量
2. hbuild里面点击运行 =》到小程序 =》自动打开了小程序 =》
3. 调试好=》上传 =》[微信公众号](https://mp.weixin.qq.com/) =》 提交审核
# 开发者文档
- 本项目大量采用webview方式开发,只有登录页是原生的uniapp,其他的都是webview
- 登录了之后在userStore里面存了用户信息(包括token)
- 每个页面都会走WebViewPlus组件
- WebViewPlus里面有个属性src都会走getWebViewUrl方法
- WebViewPlus会监听webview发送给app的消息,统一处理
- getWebViewUrl方法里面 会把 路径自动拼接上userInfo(包括token)和一些其他参数
- 然后到webview这里的 permission.js会去自动接收这些参数并存储到stroe里面
webview跟app通信
h5或app的webview
```
webview
const transmitData = { data: { type: 'submitSuccess', fun: 'add' } }
uni.postMessage(transmitData)
app 接收到了 然后再跳页面
uni.switchTab({
      url: `/pages/work/index?addLog=111`,
});
```
微信小程序的webview 只能在微信里面直接跳,postMessage无效
```
webview
// 跳转到小程序页面
wx.miniProgram.navigateTo({ url: '/pages/xxx/xxx' })
// 重定向到小程序页面
wx.miniProgram.redirectTo({ url: '/pages/xxx/xxx' })
// 切换Tab页
wx.miniProgram.switchTab({ url: '/pages/xxx/xxx' })
// 返回上一页
wx.miniProgram.navigateBack({ delta: 1 })
// 退出小程序
wx.miniProgram.exit()
// 获取小程序环境信息
wx.miniProgram.getEnv(function(res) {
  console.log(res.miniprogram) // true
})
```