Browse Source

feat: uni 统计增加

liangan 1 month ago
parent
commit
1c3774f4a3

+ 24 - 23
manifest.config.ts

@@ -82,33 +82,33 @@ export default defineManifestConfig({
       /* 图标配置 */
       icons: {
         android: {
-          hdpi: 'static/app/icons/72x72.png',
-          xhdpi: 'static/app/icons/96x96.png',
-          xxhdpi: 'static/app/icons/144x144.png',
-          xxxhdpi: 'static/app/icons/192x192.png',
+          hdpi: 'src/static/app/icons/72x72.png',
+          xhdpi: 'src/static/app/icons/96x96.png',
+          xxhdpi: 'src/static/app/icons/144x144.png',
+          xxxhdpi: 'src/static/app/icons/192x192.png',
         },
         ios: {
-          appstore: 'static/app/icons/1024x1024.png',
+          appstore: 'src/static/app/icons/1024x1024.png',
           ipad: {
-            'app': 'static/app/icons/76x76.png',
-            'app@2x': 'static/app/icons/152x152.png',
-            'notification': 'static/app/icons/20x20.png',
-            'notification@2x': 'static/app/icons/40x40.png',
-            'proapp@2x': 'static/app/icons/167x167.png',
-            'settings': 'static/app/icons/29x29.png',
-            'settings@2x': 'static/app/icons/58x58.png',
-            'spotlight': 'static/app/icons/40x40.png',
-            'spotlight@2x': 'static/app/icons/80x80.png',
+            'app': 'src/static/app/icons/76x76.png',
+            'app@2x': 'src/static/app/icons/152x152.png',
+            'notification': 'src/static/app/icons/20x20.png',
+            'notification@2x': 'src/static/app/icons/40x40.png',
+            'proapp@2x': 'src/static/app/icons/167x167.png',
+            'settings': 'src/static/app/icons/29x29.png',
+            'settings@2x': 'src/static/app/icons/58x58.png',
+            'spotlight': 'src/static/app/icons/40x40.png',
+            'spotlight@2x': 'src/static/app/icons/80x80.png',
           },
           iphone: {
-            'app@2x': 'static/app/icons/120x120.png',
-            'app@3x': 'static/app/icons/180x180.png',
-            'notification@2x': 'static/app/icons/40x40.png',
-            'notification@3x': 'static/app/icons/60x60.png',
-            'settings@2x': 'static/app/icons/58x58.png',
-            'settings@3x': 'static/app/icons/87x87.png',
-            'spotlight@2x': 'static/app/icons/80x80.png',
-            'spotlight@3x': 'static/app/icons/120x120.png',
+            'app@2x': 'src/static/app/icons/120x120.png',
+            'app@3x': 'src/static/app/icons/180x180.png',
+            'notification@2x': 'src/static/app/icons/40x40.png',
+            'notification@3x': 'src/static/app/icons/60x60.png',
+            'settings@2x': 'src/static/app/icons/58x58.png',
+            'settings@3x': 'src/static/app/icons/87x87.png',
+            'spotlight@2x': 'src/static/app/icons/80x80.png',
+            'spotlight@3x': 'src/static/app/icons/120x120.png',
           },
         },
       },
@@ -142,7 +142,8 @@ export default defineManifestConfig({
     usingComponents: true,
   },
   'uniStatistics': {
-    enable: false,
+    enable: true, // 全局开启
+    version: '2', // 开启新版uni统计,值为字符串
   },
   'vueVersion': '3',
 })

+ 1 - 1
package.json

@@ -4,7 +4,7 @@
   "version": "3.2.0",
   "packageManager": "pnpm@10.10.0",
   "description": "unibest - 最好的 uniapp 开发模板",
-  "update-time": "2025-08-26",
+  "update-time": "2025-08-28",
   "author": {
     "name": "feige996",
     "zhName": "菲鸽",

+ 24 - 23
src/manifest.json

@@ -46,33 +46,33 @@
       "sdkConfigs": {},
       "icons": {
         "android": {
-          "hdpi": "static/app/icons/72x72.png",
-          "xhdpi": "static/app/icons/96x96.png",
-          "xxhdpi": "static/app/icons/144x144.png",
-          "xxxhdpi": "static/app/icons/192x192.png"
+          "hdpi": "src/static/app/icons/72x72.png",
+          "xhdpi": "src/static/app/icons/96x96.png",
+          "xxhdpi": "src/static/app/icons/144x144.png",
+          "xxxhdpi": "src/static/app/icons/192x192.png"
         },
         "ios": {
-          "appstore": "static/app/icons/1024x1024.png",
+          "appstore": "src/static/app/icons/1024x1024.png",
           "ipad": {
-            "app": "static/app/icons/76x76.png",
-            "app@2x": "static/app/icons/152x152.png",
-            "notification": "static/app/icons/20x20.png",
-            "notification@2x": "static/app/icons/40x40.png",
-            "proapp@2x": "static/app/icons/167x167.png",
-            "settings": "static/app/icons/29x29.png",
-            "settings@2x": "static/app/icons/58x58.png",
-            "spotlight": "static/app/icons/40x40.png",
-            "spotlight@2x": "static/app/icons/80x80.png"
+            "app": "src/static/app/icons/76x76.png",
+            "app@2x": "src/static/app/icons/152x152.png",
+            "notification": "src/static/app/icons/20x20.png",
+            "notification@2x": "src/static/app/icons/40x40.png",
+            "proapp@2x": "src/static/app/icons/167x167.png",
+            "settings": "src/static/app/icons/29x29.png",
+            "settings@2x": "src/static/app/icons/58x58.png",
+            "spotlight": "src/static/app/icons/40x40.png",
+            "spotlight@2x": "src/static/app/icons/80x80.png"
           },
           "iphone": {
-            "app@2x": "static/app/icons/120x120.png",
-            "app@3x": "static/app/icons/180x180.png",
-            "notification@2x": "static/app/icons/40x40.png",
-            "notification@3x": "static/app/icons/60x60.png",
-            "settings@2x": "static/app/icons/58x58.png",
-            "settings@3x": "static/app/icons/87x87.png",
-            "spotlight@2x": "static/app/icons/80x80.png",
-            "spotlight@3x": "static/app/icons/120x120.png"
+            "app@2x": "src/static/app/icons/120x120.png",
+            "app@3x": "src/static/app/icons/180x180.png",
+            "notification@2x": "src/static/app/icons/40x40.png",
+            "notification@3x": "src/static/app/icons/60x60.png",
+            "settings@2x": "src/static/app/icons/58x58.png",
+            "settings@3x": "src/static/app/icons/87x87.png",
+            "spotlight@2x": "src/static/app/icons/80x80.png",
+            "spotlight@3x": "src/static/app/icons/120x120.png"
           }
         }
       }
@@ -105,7 +105,8 @@
     "usingComponents": true
   },
   "uniStatistics": {
-    "enable": false
+    "enable": true,
+    "version": "2"
   },
   "vueVersion": "3",
   "locale": "en",

+ 6 - 0
src/uni_modules/uni-config-center/changelog.md

@@ -0,0 +1,6 @@
+## 0.0.3(2022-11-11)
+- 修复 config 方法获取根节点为数组格式配置时错误的转化为了对象的Bug
+## 0.0.2(2021-04-16)
+- 修改插件package信息
+## 0.0.1(2021-03-15)
+- 初始化项目

+ 81 - 0
src/uni_modules/uni-config-center/package.json

@@ -0,0 +1,81 @@
+{
+  "id": "uni-config-center",
+  "displayName": "uni-config-center",
+  "version": "0.0.3",
+  "description": "uniCloud 配置中心",
+  "keywords": [
+    "配置",
+    "配置中心"
+],
+  "repository": "",
+  "engines": {
+    "HBuilderX": "^3.1.0"
+  },
+"dcloudext": {
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "",
+    "type": "unicloud-template-function"
+  },
+  "directories": {
+    "example": "../../../scripts/dist"
+  },
+  "uni_modules": {
+    "dependencies": [],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "u",
+          "app-nvue": "u"
+        },
+        "H5-mobile": {
+          "Safari": "u",
+          "Android Browser": "u",
+          "微信浏览器(Android)": "u",
+          "QQ浏览器(Android)": "u"
+        },
+        "H5-pc": {
+          "Chrome": "u",
+          "IE": "u",
+          "Edge": "u",
+          "Firefox": "u",
+          "Safari": "u"
+        },
+        "小程序": {
+          "微信": "u",
+          "阿里": "u",
+          "百度": "u",
+          "字节跳动": "u",
+          "QQ": "u"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "u"
+        }
+      }
+    }
+  }
+}

+ 93 - 0
src/uni_modules/uni-config-center/readme.md

@@ -0,0 +1,93 @@
+# 为什么使用uni-config-center
+
+实际开发中很多插件需要配置文件才可以正常运行,如果每个插件都单独进行配置的话就会产生下面这样的目录结构
+
+```bash
+cloudfunctions
+└─────common 公共模块
+        ├─plugin-a // 插件A对应的目录
+        │  ├─index.js
+        │  ├─config.json // plugin-a对应的配置文件
+        │  └─other-file.cert  // plugin-a依赖的其他文件
+        └─plugin-b // plugin-b对应的目录
+           ├─index.js
+           └─config.json // plugin-b对应的配置文件
+```
+
+假设插件作者要发布一个项目模板,里面使用了很多需要配置的插件,无论是作者发布还是用户使用都是一个大麻烦。
+
+uni-config-center就是用了统一管理这些配置文件的,使用uni-config-center后的目录结构如下
+
+```bash
+cloudfunctions
+└─────common 公共模块
+        ├─plugin-a // 插件A对应的目录
+        │  └─index.js
+        ├─plugin-b // plugin-b对应的目录
+        │  └─index.js
+        └─uni-config-center
+           ├─index.js // config-center入口文件
+           ├─plugin-a
+           │  ├─config.json  // plugin-a对应的配置文件
+           │  └─other-file.cert  // plugin-a依赖的其他文件
+           └─plugin-b
+              └─config.json  // plugin-b对应的配置文件
+```
+
+使用uni-config-center后的优势
+
+- 配置文件统一管理,分离插件主体和配置信息,更新插件更方便
+- 支持对config.json设置schema,插件使用者在HBuilderX内编写config.json文件时会有更好的提示(后续HBuilderX会提供支持)
+
+# 用法
+
+在要使用uni-config-center的公共模块或云函数内引入uni-config-center依赖,请参考:[使用公共模块](https://uniapp.dcloud.net.cn/uniCloud/cf-common)
+
+```js
+const createConfig = require('uni-config-center')
+
+const uniIdConfig = createConfig({
+    pluginId: 'uni-id', // 插件id
+    defaultConfig: { // 默认配置
+        tokenExpiresIn: 7200,
+        tokenExpiresThreshold: 600,
+    },
+    customMerge: function(defaultConfig, userConfig) { // 自定义默认配置和用户配置的合并规则,不设置的情况侠会对默认配置和用户配置进行深度合并
+        // defaudltConfig 默认配置
+        // userConfig 用户配置
+        return Object.assign(defaultConfig, userConfig)
+    }
+})
+
+
+// 以如下配置为例
+// {
+//   "tokenExpiresIn": 7200,
+//   "passwordErrorLimit": 6,
+//   "bindTokenToDevice": false,
+//   "passwordErrorRetryTime": 3600,
+//   "app-plus": {
+//     "tokenExpiresIn": 2592000
+//   },
+//   "service": {
+//     "sms": {
+//       "codeExpiresIn": 300
+//     }
+//   }
+// }
+
+// 获取配置
+uniIdConfig.config() // 获取全部配置,注意:uni-config-center内不存在对应插件目录时会返回空对象
+uniIdConfig.config('tokenExpiresIn') // 指定键值获取配置,返回:7200
+uniIdConfig.config('service.sms.codeExpiresIn') // 指定键值获取配置,返回:300
+uniIdConfig.config('tokenExpiresThreshold', 600) // 指定键值获取配置,如果不存在则取传入的默认值,返回:600
+
+// 获取文件绝对路径
+uniIdConfig.resolve('custom-token.js') // 获取uni-config-center/uni-id/custom-token.js文件的路径
+
+// 引用文件(require)
+uniIDConfig.requireFile('custom-token.js') // 使用require方式引用uni-config-center/uni-id/custom-token.js文件。文件不存在时返回undefined,文件内有其他错误导致require失败时会抛出错误。
+
+// 判断是否包含某文件
+uniIDConfig.hasFile('custom-token.js') // 配置目录是否包含某文件,true: 文件存在,false: 文件不存在
+```

File diff suppressed because it is too large
+ 0 - 0
src/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/index.js


+ 13 - 0
src/uni_modules/uni-config-center/uniCloud/cloudfunctions/common/uni-config-center/package.json

@@ -0,0 +1,13 @@
+{
+    "name": "uni-config-center",
+    "version": "0.0.3",
+    "description": "配置中心",
+    "main": "index.js",
+    "keywords": [],
+    "author": "DCloud",
+    "license": "Apache-2.0",
+    "origin-plugin-dev-name": "uni-config-center",
+    "origin-plugin-version": "0.0.3",
+    "plugin-dev-name": "uni-config-center",
+    "plugin-version": "0.0.3"
+}

+ 36 - 0
src/uni_modules/uni-id-common/changelog.md

@@ -0,0 +1,36 @@
+## 1.0.18(2024-07-08)
+- checkToken时如果传入的token为空则返回uni-id-check-token-failed错误码以便uniIdRouter能正常跳转
+## 1.0.17(2024-04-26)
+- 兼容uni-app-x对客户端uniPlatform的调整(uni-app-x内uniPlatform区分app-android、app-ios)
+## 1.0.16(2023-04-25)
+- 新增maxTokenLength配置,用于限制数据库用户记录token数组的最大长度
+## 1.0.15(2023-04-06)
+- 修复部分语言国际化出错的Bug
+## 1.0.14(2023-03-07)
+- 修复 admin用户包含其他角色时未包含在token的Bug
+## 1.0.13(2022-07-21)
+- 修复 创建token时未传角色权限信息生成的token不正确的bug
+## 1.0.12(2022-07-15)
+- 提升与旧版本uni-id的兼容性(补充读取配置文件时回退平台app-plus、h5),但是仍推荐使用新平台名进行配置(app、web)
+## 1.0.11(2022-07-14)
+- 修复 部分情况下报`read property 'reduce' of undefined`的错误
+## 1.0.10(2022-07-11)
+- 将token存储在用户表的token字段内,与旧版本uni-id保持一致
+## 1.0.9(2022-07-01)
+- checkToken兼容token内未缓存角色权限的情况,此时将查库获取角色权限
+## 1.0.8(2022-07-01)
+- 修复clientDB默认依赖时部分情况下获取不到uni-id配置的Bug
+## 1.0.7(2022-06-30)
+- 修复config文件不合法时未抛出具体错误的Bug
+## 1.0.6(2022-06-28)
+- 移除插件内的数据表schema
+## 1.0.5(2022-06-27)
+- 修复使用多应用配置时报`Cannot read property 'appId' of undefined`的Bug
+## 1.0.4(2022-06-27)
+- 修复使用自定义token内容功能报错的Bug [详情](https://ask.dcloud.net.cn/question/147945)
+## 1.0.2(2022-06-23)
+- 对齐旧版本uni-id默认配置
+## 1.0.1(2022-06-22)
+- 补充对uni-config-center的依赖
+## 1.0.0(2022-06-21)
+- 提供uni-id token创建、校验、刷新接口,简化旧版uni-id公共模块

+ 84 - 0
src/uni_modules/uni-id-common/package.json

@@ -0,0 +1,84 @@
+{
+	"id": "uni-id-common",
+	"displayName": "uni-id-common",
+	"version": "1.0.18",
+	"description": "包含uni-id token生成、校验、刷新功能的云函数公共模块",
+	"keywords": [
+        "uni-id-common",
+        "uniCloud",
+        "token",
+        "权限"
+    ],
+	"repository": "https://gitcode.net/dcloud/uni-id-common",
+    "engines": {
+	},
+    "dcloudext": {
+        "sale": {
+			"regular": {
+				"price": 0
+			},
+			"sourcecode": {
+				"price": 0
+			}
+		},
+		"contact": {
+			"qq": ""
+		},
+		"declaration": {
+			"ads": "无",
+			"data": "无",
+			"permissions": "无"
+		},
+        "npmurl": "",
+        "type": "unicloud-template-function"
+	},
+	"uni_modules": {
+		"dependencies": ["uni-config-center"],
+		"encrypt": [],
+		"platforms": {
+			"cloud": {
+				"tcb": "y",
+                "aliyun": "y",
+                "alipay": "n"
+			},
+			"client": {
+				"Vue": {
+					"vue2": "u",
+					"vue3": "u"
+				},
+				"App": {
+					"app-vue": "u",
+					"app-nvue": "u"
+				},
+				"H5-mobile": {
+					"Safari": "u",
+					"Android Browser": "u",
+					"微信浏览器(Android)": "u",
+					"QQ浏览器(Android)": "u"
+				},
+				"H5-pc": {
+					"Chrome": "u",
+					"IE": "u",
+					"Edge": "u",
+					"Firefox": "u",
+					"Safari": "u"
+				},
+				"小程序": {
+					"微信": "u",
+					"阿里": "u",
+					"百度": "u",
+					"字节跳动": "u",
+					"QQ": "u",
+					"钉钉": "u",
+					"快手": "u",
+					"飞书": "u",
+                    "京东": "u"
+				},
+				"快应用": {
+					"华为": "u",
+					"联盟": "u"
+				}
+			}
+		}
+	}
+}

+ 3 - 0
src/uni_modules/uni-id-common/readme.md

@@ -0,0 +1,3 @@
+# uni-id-common
+
+文档请参考:[uni-id-common](https://uniapp.dcloud.net.cn/uniCloud/uni-id-common.html)

File diff suppressed because it is too large
+ 0 - 0
src/uni_modules/uni-id-common/uniCloud/cloudfunctions/common/uni-id-common/index.js


+ 20 - 0
src/uni_modules/uni-id-common/uniCloud/cloudfunctions/common/uni-id-common/package.json

@@ -0,0 +1,20 @@
+{
+    "name": "uni-id-common",
+    "version": "1.0.18",
+    "description": "uni-id token生成、校验、刷新",
+    "main": "index.js",
+    "homepage": "https:\/\/uniapp.dcloud.io\/uniCloud\/uni-id-common.html",
+    "repository": {
+        "type": "git",
+        "url": "git+https:\/\/gitee.com\/dcloud\/uni-id-common.git"
+    },
+    "author": "DCloud",
+    "license": "Apache-2.0",
+    "dependencies": {
+        "uni-config-center": "file:..\/..\/..\/..\/..\/uni-config-center\/uniCloud\/cloudfunctions\/common\/uni-config-center"
+    },
+    "origin-plugin-dev-name": "uni-id-common",
+    "origin-plugin-version": "1.0.18",
+    "plugin-dev-name": "uni-id-common",
+    "plugin-version": "1.0.18"
+}

+ 12 - 0
uniCloud-aliyun/database/JQL查询.jql

@@ -0,0 +1,12 @@
+// 本文件用于,使用JQL语法操作项目关联的uniCloud空间的数据库,方便开发调试和远程数据库管理
+// 编写clientDB的js API(也支持常规js语法,比如var),可以对云数据库进行增删改查操作。不支持uniCloud-db组件写法
+// 可以全部运行,也可以选中部分代码运行。点击工具栏上的运行按钮或者按下【F5】键运行代码
+// 如果文档中存在多条JQL语句,只有最后一条语句生效
+// 如果混写了普通js,最后一条语句需是数据库操作语句
+// 此处代码运行不受DB Schema的权限控制,移植代码到实际业务中注意在schema中配好permission
+// 不支持clientDB的action
+// 数据库查询有最大返回条数限制,详见:https://uniapp.dcloud.net.cn/uniCloud/cf-database.html#limit
+// 详细JQL语法,请参考:https://uniapp.dcloud.net.cn/uniCloud/jql.html
+
+// 下面示例查询uni-id-users表的所有数据
+db.collection('uni-id-users').get();

Some files were not shown because too many files changed in this diff