首先你要确保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参数。例如,通过onLaunch
或onShow
生命周期函数获取启动参数:
<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拓展测试。