diff --git a/docs/uni-stat-v2.md b/docs/uni-stat-v2.md index 040af156306405e54a4d9a1641e6a485a8a5c0d1..7d852637b2c9d431f07753d9ab3aadb22ba6f4b0 100644 --- a/docs/uni-stat-v2.md +++ b/docs/uni-stat-v2.md @@ -1326,11 +1326,11 @@ uni统计支持sourcemap,可直观了解到底哪行代码写的有问题。[ ## 常见问题 -**1. 启动uni统计后,何时可以查看报表数据?** +### 1. 启动uni统计后,何时可以查看报表数据? 答:与定时任务配置配置有关,默认`统计首页`、`今日概况`等数据为1小时后可见,其余数据为次日可见。要想详细了解各类型数据统计时间请参考[定时任务配置说明](#定时任务配置说明)。 -**2. 已经开启统计,定时任务配置也正常,但是后台还是看不到数据** +### 2. 已经开启统计,定时任务配置也正常,但是后台还是看不到数据 答: - 确保分清楚,业务App 和 admin 是2个工程。业务App是采集端,admin是报表端 @@ -1342,24 +1342,60 @@ uni统计支持sourcemap,可直观了解到底哪行代码写的有问题。[ - 在[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 -**3. 如何判断是否需要配置分钟级定时任务?** +### 3. 如何判断是否需要配置分钟级定时任务? 答:一般情况下是不需要自行配置的,但如果`定时任务云函数(uni-stat-cron)`出现运行超时的情况时,就要考虑去开启分钟级定时任务了。 -**4. 如何创建或授权`uni统计`运营管理员账号** +### 4. 如何创建或授权`uni统计`运营管理员账号 答:参考[uni-admin 给系统创建多个登录账户并设置不同的权限](https://uniapp.dcloud.net.cn/uniCloud/admin.html#mutiladmin) -**5. 为什么总设备数比活跃设备数少?** +### 5. 为什么总设备数比活跃设备数少? 答:总设备数计算公式为:总设备数 = 原设备数 + 新设备数,而判断一个设备是否为新设备的依据是在客户端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为主:将`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`公共模块即可。 +### 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` 吃透和做二次开发