uni-app schema拓展测试

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app schema拓展测试

9 回复

首先你要确保db 是uniCloud.databaseForJQL,其次日志需要去clientDB日志那里查看。


本地云函数和云端云函数都无法拿到clientInfo,我也配置了运行测试参数,但还是不行

图片代码都在这里,麻烦帮忙看看






完整代码发一下

回复 DCloud_uniCloud_CRL: 我代码写的很简单,没什么业务逻辑,在service中调用了jql语法执行

回复 DCloud_uniCloud_CRL: 可以查看一下我下面的代码以及截图

回复 DCloud_uniCloud_CRL: 我单独在service中打印this.ctx.context是有数据的

这个是test扩展的代码// schema扩展相关文档请参阅:https://uniapp.dcloud.net.cn/uniCloud/jql-schema-ext.html module.exports = { trigger: { beforeRead: async function({ clientInfo } = {}) { console.log(“aaaaaa”, clientInfo); const dbJQL = uniCloud.databaseForJQL({ clientInfo, skipTrigger: true // true跳过执行触发器,false则继续执行触发器。默认为false }) dbJQL.collection(“test”).add({ nickname: “你好测试”, clientInfo: { …clientInfo } }) }, afterRead: async function({ clientInfo } = {}) { console.log(“读取后触发”, clientInfo); }, beforeCreate: async function() { console.log(“新增后触发”); }, } }。然后截图是调用的位置

针对uni-app的schema拓展测试,我们可以编写一些示例代码来展示如何定义和使用自定义的schema。以下是一个基本的示例,包括schema的定义、页面的注册以及如何在页面中处理这些schema。

1. 定义Schema

首先,在manifest.json中定义自定义的schema。例如,我们定义一个名为myapp://example的schema:

{
  "mp-weixin": {
    "appid": "your-app-id",
    "setting": {
      "urlCheck": false
    },
    "usingComponents": true,
    "permission": {},
    "window": {
      "defaultTitle": "uni-app"
    },
    "app-plus": {
      "distribute": {
        "schemas": [
          {
            "action": "android.intent.action.VIEW",
            "data": "myapp://example",
            "host": "example",
            "pathname": "/",
            "scheme": "myapp"
          }
        ]
      }
    }
  }
}

2. 注册页面处理Schema

接下来,在pages.json中注册一个页面来处理这个schema。例如,我们注册一个名为pages/example/example的页面:

{
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "首页"
      }
    },
    {
      "path": "pages/example/example",
      "style": {
        "navigationBarTitleText": "Example Page"
      }
    }
  ]
}

3. 处理Schema的页面代码

pages/example/example.vue中,我们可以编写代码来处理接收到的schema参数。例如,通过onLaunchonShow生命周期函数获取启动参数:

<template>
  <view>
    <text>Welcome to Example Page!</text>
    <text>Received Params: {{ params }}</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      params: {}
    };
  },
  onShow() {
    // 获取启动参数(仅适用于App平台)
    if (process.env.PLATFORM === 'app-plus') {
      const launchOptions = plus.runtime.getLaunchOptions();
      if (launchOptions && launchOptions.query) {
        this.params = launchOptions.query;
      }
    }
  }
};
</script>

<style scoped>
/* 添加你的样式 */
</style>

4. 测试Schema

为了测试这个自定义schema,你可以通过以下方式:

  • 在Android或iOS设备上安装并运行你的uni-app应用。
  • 使用一个支持自定义schema的浏览器或应用(如Chrome或Firefox)访问myapp://example
  • 系统会提示你选择一个应用来处理这个schema,选择你的uni-app应用。
  • 你的应用应该会启动并导航到pages/example/example页面,同时显示接收到的参数(如果有的话)。

通过上述步骤,你可以完成uni-app的schema拓展测试。

回到顶部