红色熊猫
红色熊猫
  • 发布:2024-12-06 17:05
  • 更新:2024-12-08 19:45
  • 阅读:90

【报Bug】天塌了!SSR使用JQL或者unicloud-db触发schema扩展传的userInfo和clientInfo都是空的???

分类:uniCloud

产品分类: uniCloud/App

示例代码:

通过以下方式获取的数据

let testData = ssrRef({}, 'testData')  
onServerPrefetch(async (e)=> {  
        let res = await uniCloud.database().collection('uni-cms-articles').where('_id=="67515cf521821bdf93ae4056"').get()  
        testData.value = res.result.data  
})  
// userInfo和clientInfo没有任何有效信息  
afterRead: async function ({userInfo, clientInfo, result, where, field}) {

操作步骤:

使用unicloud-db或者JQL通过SSR获取数据

预期结果:

ssr触发schema扩展时,传给schema扩展的userInfo和clientInfo需要正常包含客户端信息

实际结果:

userInfo和clientInfo基本都是空的

bug描述:

通过SSR和unicloud-db或者JQL获取的数据触发*.schema.ext.js时传的userInfo和clientInfo不包含客户端信息!! 比如uni-cms-articles.schema.ext.js。连token和uid都拿不到,这就没法做用户相关的数据处理了。

这个是哪里需要配置么?!?!?
如果是我自己的云函数调用云函数我还能通过传参自己传。 但是ssr触发的schema扩展我没法自己控制传参啊

// userInfo和clientInfo没有任何有效信息
afterRead: async function ({userInfo, clientInfo, result, where, field})

2024-12-06 17:05 负责人:无 分享
已邀请:
DCloud_uniCloud_CRL

DCloud_uniCloud_CRL

uni-cms 配置文件配置clientAppIds了吗?

  • 红色熊猫 (作者)

    配置了,我客户端直接获取数据是有走schema扩展拿到处理后的数据的

    2024-12-06 17:28

  • 红色熊猫 (作者)

    我重新上传下config再试试,今天的数据库免费读取次数用完了。。

    2024-12-06 17:46

  • 红色熊猫 (作者)

    找到原因了,是因为ssr云函数调用schema扩展时参数clientInfo中没有appId,求问大佬这个有的解么?

    // 读取文章后触发

    afterRead: async function ({userInfo, clientInfo, result, where, field}) {

    clientInfo.appId是undefined

    2024-12-08 19:45

  • 红色熊猫 (作者)

    回复 红色熊猫: 看了下服务器日志,ssr云服务调用schema扩展传入的clientInfo中的数据很少:

    "clientInfo": {

    "DEVICEID": "17334726045083952035",

    "deviceId": "17334726045083952035",

    "locale": "en",

    "LOCALE": "en"

    }

    2024-12-08 20:40

  • 红色熊猫 (作者)

    而且ssr云函数请求uni-cms-articles.schema.ext.js时,userInfo也是空的,这就很麻烦了呀,需要做些用户操作的

    2024-12-08 22:55

红色熊猫

红色熊猫 (作者)


ssr云函数调用schema扩展时参数clientInfo中没有appId
求解

要回复问题请先登录注册