提交 d84fa6bf 编写于 作者: JiaRongPing's avatar JiaRongPing

Merge branch 'master' of https://gitcode.net/dcloud/unidocs-zh

...@@ -150,11 +150,6 @@ export default { ...@@ -150,11 +150,6 @@ export default {
"state": 1, "state": 1,
"prefix": "群23" "prefix": "群23"
}, },
{
"number": "672494800",
"state": 1,
"prefix": "群24"
},
{ {
"number": "165297000", "number": "165297000",
"state": 1, "state": 1,
...@@ -200,16 +195,21 @@ export default { ...@@ -200,16 +195,21 @@ export default {
"state": 1, "state": 1,
"prefix": "群33" "prefix": "群33"
}, },
{
"number": "530305531",
"state": 1,
"prefix": "群34"
},
{ {
"number": "713420817", "number": "713420817",
"state": 1, "state": 1,
"prefix": "群35" "prefix": "群35"
}, },
{ {
"number": "530305531", "number": "672494800",
"state": 0, "state": 0,
"prefix": "34", "prefix": "24",
joinQQGroupHref: 'https://qm.qq.com/cgi-bin/qm/qr?k=HNy1cvtf5NepYCRMIx67mvlH41gOWgbt&jump_from=webapi&authKey=kwow35JksO6eneIGJEdu1jSvZAK/JHT/6JMaYu/PNIMpBJmKRQD3ben8NYTva/lp' joinQQGroupHref: 'https://qm.qq.com/cgi-bin/qm/qr?k=O2sgaZvsQZipcydB6XyITWel21gCEXy-&jump_from=webapi&authKey=n6PRYv4mtlBdW+JcVX9T2f0ITGE7G/kKJZSBndkqUSAtCipmRb2v5SZzMSfAXtaS'
} }
] ]
} }
* [pages.json 页面路由](collocation/pages.md) * [pages.json 页面路由](collocation/pages.md)
* [manifest.json 应用配置](collocation/manifest.md) * [manifest.json 应用配置](collocation/manifest.md)
* [App 完整manifest.json](collocation/manifest-app.md) * [App 完整manifest.json](collocation/manifest-app.md)
* [AndroidManifest.xml](tutorial/app-nativeresource-android.md)
* [Info.plist](tutorial/app-nativeresource-ios.md)
* [package.json](collocation/package.md) * [package.json](collocation/package.md)
* [vue.config.js](collocation/vue-config.md) * [vue.config.js](collocation/vue-config.md)
* [vite.config.js](collocation/vite-config.md) * [vite.config.js](collocation/vite-config.md)
......
#### 3.8.4.20230602-alpha
* 【uni-app】
* 【重要】App-Android平台 修复 3.8.3引出的 在部分设备启动白屏,报`Uncaught SyntaxError: Invalid or unexpected token at __uniappview.html:2`错误的Bug 请所有使用3.8.3的开发者重新打包[详情](https://ask.dcloud.net.cn/question/170588)
* App平台 修复 Vue2 项目在 nvue 页面 style 中使用 border-radius 样式解析不准确的Bug [详情](https://ask.dcloud.net.cn/question/168877)
* 小程序平台 修复 Vue2 项目在模板中使用 JSON.stringify 等全局变量编译报错的Bug [详情](https://ask.dcloud.net.cn/question/170722)
* 【App插件(含5+App和uni-app的App端)】
* Android平台 修复 3.8.3引出的 输入框焦点切换可能引起页面显示异常的Bug [详情](https://ask.dcloud.net.cn/question/170689)
#### 3.8.3.20230523-alpha #### 3.8.3.20230523-alpha
* 【uni-app】 * 【uni-app】
* App平台 修复 nvue 页面 switch 组件配置 type="checkbox" 后点击报错的Bug [详情](https://ask.dcloud.net.cn/question/168894) * App平台 修复 nvue 页面 switch 组件配置 type="checkbox" 后点击报错的Bug [详情](https://ask.dcloud.net.cn/question/168894)
......
...@@ -35,9 +35,9 @@ uni-app项目中,一个页面就是一个符合`Vue SFC规范`的`.vue`文件 ...@@ -35,9 +35,9 @@ uni-app项目中,一个页面就是一个符合`Vue SFC规范`的`.vue`文件
|函数名|说明|平台差异说明|最低版本| |函数名|说明|平台差异说明|最低版本|
|:-|:-|:-|:-| |:-|:-|:-|:-|
|onInit|监听页面初始化,其参数同 onLoad 参数,为上个页面传递的数据,参数类型为 Object(用于页面传参),触发时机早于 onLoad|百度小程序|3.1.0+| |onInit|监听页面初始化,其参数同 onLoad 参数,为上个页面传递的数据,参数类型为 Object(用于页面传参),触发时机早于 onLoad|百度小程序|3.1.0+|
|onLoad|监听页面加载,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参),参考[示例](/api/router?id=navigateto)||| |onLoad|监听页面加载,该钩子被调用时,响应式数据、计算属性、方法、侦听器、props、slots 已设置完成,其参数为上个页面传递的数据,参数类型为 Object(用于页面传参),参考[示例](/api/router?id=navigateto)|||
|onShow|监听页面显示页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面||| |onShow|监听页面显示页面每次出现在屏幕上都触发,包括从下级页面点返回露出当前页面|||
|onReady|监听页面初次渲染完成注意如果渲染速度快,会在页面进入动画完成前触发||| |onReady|监听页面初次渲染完成,此时组件已挂载完成,DOM 树($el)已可用,注意如果渲染速度快,会在页面进入动画完成前触发|||
|onHide|监听页面隐藏||| |onHide|监听页面隐藏|||
|onUnload|监听页面卸载||| |onUnload|监听页面卸载|||
|onResize|监听窗口尺寸变化|App、微信小程序、快手小程序|| |onResize|监听窗口尺寸变化|App、微信小程序、快手小程序||
......
...@@ -22,11 +22,13 @@ ...@@ -22,11 +22,13 @@
├─platforms 存放各平台专用页面的目录,<a href="/tutorial/platform?id=%E6%95%B4%E4%BD%93%E7%9B%AE%E5%BD%95%E6%9D%A1%E4%BB%B6%E7%BC%96%E8%AF%91">详见</a> ├─platforms 存放各平台专用页面的目录,<a href="/tutorial/platform?id=%E6%95%B4%E4%BD%93%E7%9B%AE%E5%BD%95%E6%9D%A1%E4%BB%B6%E7%BC%96%E8%AF%91">详见</a>
├─nativeplugins App原生语言插件 <a href="https://nativesupport.dcloud.net.cn/NativePlugin/README">详见</a> ├─nativeplugins App原生语言插件 <a href="https://nativesupport.dcloud.net.cn/NativePlugin/README">详见</a>
├─nativeResources App端原生资源目录 ├─nativeResources App端原生资源目录
│ └─android Android原生资源目录 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android">详见</a> │ ├─android Android原生资源目录 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android">详见</a>
| └─ios iOS原生资源目录 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios.html#%E8%B5%84%E6%BA%90%E6%96%87%E4%BB%B6-bundle-resources">详见</a>
├─hybrid App端存放本地html文件的目录,<a href="/component/web-view">详见</a> ├─hybrid App端存放本地html文件的目录,<a href="/component/web-view">详见</a>
├─wxcomponents 存放小程序组件的目录,<a href="/tutorial/miniprogram-subject?id=%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%BB%84%E4%BB%B6%E6%94%AF%E6%8C%81">详见</a> ├─wxcomponents 存放小程序组件的目录,<a href="/tutorial/miniprogram-subject?id=%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%BB%84%E4%BB%B6%E6%94%AF%E6%8C%81">详见</a>
├─unpackage 非工程代码,一般存放运行或发行的编译结果 ├─unpackage 非工程代码,一般存放运行或发行的编译结果
├─AndroidManifest.xml Android原生应用清单文件 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android">详见</a> ├─AndroidManifest.xml Android原生应用清单文件 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android">详见</a>
├─Info.plist iOS原生应用配置文件 <a href="https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios">详见</a>
├─main.js Vue初始化入口文件 ├─main.js Vue初始化入口文件
├─App.vue 应用配置,用来配置App全局样式以及监听 <a href="/collocation/App#应用生命周期">应用生命周期</a> ├─App.vue 应用配置,用来配置App全局样式以及监听 <a href="/collocation/App#应用生命周期">应用生命周期</a>
├─manifest.json 配置应用名称、appid、logo、版本等打包信息,<a href="/collocation/manifest">详见</a> ├─manifest.json 配置应用名称、appid、logo、版本等打包信息,<a href="/collocation/manifest">详见</a>
......
...@@ -1253,6 +1253,36 @@ const test = new Test() ...@@ -1253,6 +1253,36 @@ const test = new Test()
test.test() test.test()
``` ```
### 数据共享和复用
可以使用 export 语句将变量或函数导出,以便其他模块可以访问和使用它们。导出的变量可以在模块内共享,并在其他模块中导入和复用。
示例
```ts
/*-----export [global.uts]-----*/
// 导出变量
export let count = 1
// 导出函数
export function addCount() {
count++
}
```
```ts
// module1.uts
import { count, addCount } from './global.uts'
console.log(count) // 1
addCount()
console.log(count) // 2
// module2.uts
import { count, addCount } from './global.uts'
console.log(count) // 2
```
- 如果只想在不同模块中复用变量而不共享其引用,可以使用函数包装变量来创建独立的作用域。
## 内置对象和API ## 内置对象和API
uts 有一批内置对象。不管将 uts 编译为 js/kotlin/swfit,这些内置对象都可以跨平台使用。 uts 有一批内置对象。不管将 uts 编译为 js/kotlin/swfit,这些内置对象都可以跨平台使用。
......
...@@ -1326,11 +1326,11 @@ uni统计支持sourcemap,可直观了解到底哪行代码写的有问题。[ ...@@ -1326,11 +1326,11 @@ uni统计支持sourcemap,可直观了解到底哪行代码写的有问题。[
## 常见问题 ## 常见问题
**1. 启动uni统计后,何时可以查看报表数据?** ### 1. 启动uni统计后,何时可以查看报表数据?
答:与定时任务配置配置有关,默认`统计首页``今日概况`等数据为1小时后可见,其余数据为次日可见。要想详细了解各类型数据统计时间请参考[定时任务配置说明](#定时任务配置说明) 答:与定时任务配置配置有关,默认`统计首页``今日概况`等数据为1小时后可见,其余数据为次日可见。要想详细了解各类型数据统计时间请参考[定时任务配置说明](#定时任务配置说明)
**2. 已经开启统计,定时任务配置也正常,但是后台还是看不到数据** ### 2. 已经开启统计,定时任务配置也正常,但是后台还是看不到数据
答: 答:
- 确保分清楚,业务App 和 admin 是2个工程。业务App是采集端,admin是报表端 - 确保分清楚,业务App 和 admin 是2个工程。业务App是采集端,admin是报表端
...@@ -1342,24 +1342,60 @@ uni统计支持sourcemap,可直观了解到底哪行代码写的有问题。[ ...@@ -1342,24 +1342,60 @@ uni统计支持sourcemap,可直观了解到底哪行代码写的有问题。[
-[uniCloud web控制台](https://unicloud.dcloud.net.cn/)的云函数日志中,可以看到`uni-stat-cron`云函数有定时执行日志,且日志显示执行成功;如日志中显示`Not Found the cofnig file`,则查看下方第6个问题; -[uniCloud web控制台](https://unicloud.dcloud.net.cn/)的云函数日志中,可以看到`uni-stat-cron`云函数有定时执行日志,且日志显示执行成功;如日志中显示`Not Found the cofnig file`,则查看下方第6个问题;
- 如需看`uni-admin`这个管理端的统计数据,才需要在`uni-admin`工程的`manifest`里配置`uni统计2.0`并再次发行。再次强调不要搞混业务App和admin - 如需看`uni-admin`这个管理端的统计数据,才需要在`uni-admin`工程的`manifest`里配置`uni统计2.0`并再次发行。再次强调不要搞混业务App和admin
**3. 如何判断是否需要配置分钟级定时任务?** ### 3. 如何判断是否需要配置分钟级定时任务?
答:一般情况下是不需要自行配置的,但如果`定时任务云函数(uni-stat-cron)`出现运行超时的情况时,就要考虑去开启分钟级定时任务了。 答:一般情况下是不需要自行配置的,但如果`定时任务云函数(uni-stat-cron)`出现运行超时的情况时,就要考虑去开启分钟级定时任务了。
**4. 如何创建或授权`uni统计`运营管理员账号** ### 4. 如何创建或授权`uni统计`运营管理员账号
答:参考[uni-admin 给系统创建多个登录账户并设置不同的权限](https://uniapp.dcloud.net.cn/uniCloud/admin.html#mutiladmin) 答:参考[uni-admin 给系统创建多个登录账户并设置不同的权限](https://uniapp.dcloud.net.cn/uniCloud/admin.html#mutiladmin)
**5. 为什么总设备数比活跃设备数少?** ### 5. 为什么总设备数比活跃设备数少?
答:总设备数计算公式为:总设备数 = 原设备数 + 新设备数,而判断一个设备是否为新设备的依据是在客户端SDK中是否已储存该设备上次访问某一应用的时间,未存储则认为是该应用的新设备(即lvts=0时为新设备,lvts>0时为老设备)。 因此如果之前某一设备已经访问过某一应用,就算此时清除数据库中的数据,由于已经在客户端SDK中储存该设备上次访问应用的时间(即此时lvts > 0),所以该设备也不会再被认为是该应用的新设备从而不会再被计算进该应用的总设备数中而只会计算进活跃设备数中,此时可能就会出现总设备数小于活跃设备数的情况。 答:总设备数计算公式为:总设备数 = 原设备数 + 新设备数,而判断一个设备是否为新设备的依据是在客户端SDK中是否已储存该设备上次访问某一应用的时间,未存储则认为是该应用的新设备(即lvts=0时为新设备,lvts>0时为老设备)。 因此如果之前某一设备已经访问过某一应用,就算此时清除数据库中的数据,由于已经在客户端SDK中储存该设备上次访问应用的时间(即此时lvts > 0),所以该设备也不会再被认为是该应用的新设备从而不会再被计算进该应用的总设备数中而只会计算进活跃设备数中,此时可能就会出现总设备数小于活跃设备数的情况。
**6. uni-stat-cron运行日志显示 Not Found the cofnig file** ### 6. uni-stat-cron运行日志显示 Not Found the cofnig file
业务App 和 admin 是2个工程。业务App是采集端,admin是报表端;这两个项目均包含`uni-config-center`;如果这两个项目关联(复用)相同的服务空间时,很容易出现`uni-config-center`的互相覆盖问题;此时建议单点维护,方案有2种: 业务App 和 admin 是2个工程。业务App是采集端,admin是报表端;这两个项目均包含`uni-config-center`;如果这两个项目关联(复用)相同的服务空间时,很容易出现`uni-config-center`的互相覆盖问题;此时建议单点维护,方案有2种:
- 以业务App为主:将`uni-admin`项目中`uni-config-center` 下面的`uni-stat`文件夹,复制到业务App项目下的`uni-config-center`目录下,然后重新上传业务App项目下的`uni-config-center`公共模块即可。 - 以业务App为主:将`uni-admin`项目中`uni-config-center` 下面的`uni-stat`文件夹,复制到业务App项目下的`uni-config-center`目录下,然后重新上传业务App项目下的`uni-config-center`公共模块即可。
-`uni-admin`为主:将业务App项目下的`uni-config-center`,手动合并配置项到`uni-admin`项目下的`uni-config-center`中(注意:是手动合并配置项,不要整体覆盖文件),然后重新上传`uni-admin`项目下的`uni-config-center`公共模块即可。 -`uni-admin`为主:将业务App项目下的`uni-config-center`,手动合并配置项到`uni-admin`项目下的`uni-config-center`中(注意:是手动合并配置项,不要整体覆盖文件),然后重新上传`uni-admin`项目下的`uni-config-center`公共模块即可。
### 7. 子账号需要赋予哪些表的权限才能正常查看uni统计@permission
首先分三步骤
**第一步:添加用户角色权限**
1. 去权限管理,添加一个权限id为:`READ_UNI_STAT` 的权限
2. 去角色管理,添加一个角色id为:`READ_UNI_STAT` 的角色
3. 去用户管理,赋予子账号角色 `READ_UNI_STAT` 角色
**第二步:给相关的表设置read权限**
涉及表如下:
1. 所有 `uni-stat-` 开头的表
2. uni-pay-orders
3. opendb-app-list
4. opendb-app-versions
需要赋予上面的表的 `read` 权限
将上面的表的 `read` 权限全部设置为
```js
"permission": {
"read": "'READ_UNI_STAT' in auth.permission",
"create": false,
"update": false,
"delete": false
},
```
**第三步:前往菜单管理,对每一个uni统计的页面(包含子页面)设置下权限 `READ_UNI_STAT`(菜单只有拥有对应权限才会显示)**
## 参考资料 ## 参考资料
不掌握如下文档,很难对 `uni统计2.0` 吃透和做二次开发 不掌握如下文档,很难对 `uni统计2.0` 吃透和做二次开发
......
...@@ -788,7 +788,17 @@ uni-admin框架运行的基础路径默认为`/admin/`,部署到前端网页 ...@@ -788,7 +788,17 @@ uni-admin框架运行的基础路径默认为`/admin/`,部署到前端网页
用户登录逻辑:登录时系统检测没有菜单会提示“暂无权限登录”,需要给新账号绑定角色,角色有菜单方可登录 用户登录逻辑:登录时系统检测没有菜单会提示“暂无权限登录”,需要给新账号绑定角色,角色有菜单方可登录
### admin账号密码忘记了,如何重置admin账号密码? ### admin账号密码忘记了,如何重置admin账号密码?@resetpassword
有两个方案
**方案一:**
1. 去数据库把原来的admin账号的role角色改成空数组(这样你就可以再次注册admin2账号)
2. 注册admin2账号,并用admin2账号登录,去用户管理把原先的admin账号的密码重置成123456。
3. 此时就可以登录原来的admin账号了,最后去数据库把admin2账号删了。
**方案二:**
1. 使用uni-id或uni-id-co注册一个普通的账号,比如账户名:test 密码:123456 1. 使用uni-id或uni-id-co注册一个普通的账号,比如账户名:test 密码:123456
2. 前往uniCloud web控制台 - 云数据库 - 打开uni-id-users表 - 找到刚注册的test账号,复制其password字段的值,修改admin账号的password跟test账号的password一致。 2. 前往uniCloud web控制台 - 云数据库 - 打开uni-id-users表 - 找到刚注册的test账号,复制其password字段的值,修改admin账号的password跟test账号的password一致。
......
...@@ -53,7 +53,7 @@ HBuilderX内使用运行菜单运行到小程序时会连接本地调试服务 ...@@ -53,7 +53,7 @@ HBuilderX内使用运行菜单运行到小程序时会连接本地调试服务
请务必在HBuilderX内使用【发行】菜单打包小程序,【运行】菜单打包的代码只能用于本地调试,【发行】菜单打包的代码才能发布体验版和正式版。 请务必在HBuilderX内使用【发行】菜单打包小程序,【运行】菜单打包的代码只能用于本地调试,【发行】菜单打包的代码才能发布体验版和正式版。
如果域名白名单提示 `127.0.0.1` 这个ip没有加入白名单,那代表你点的就是【运行】菜单发布的体验版,请务必点【发行】发布小程序。 如果域名白名单提示 `127.0.0.1` 这个ip没有加入白名单,那代表你点的就是【运行】菜单发布的体验版,请务必点【发行】发布小程序。**uni-app项目发行与运行输出的目录不同,请注意不要选错了**
![](https://web-assets.dcloud.net.cn/unidoc/zh/uni-admin/391.png) ![](https://web-assets.dcloud.net.cn/unidoc/zh/uni-admin/391.png)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册