跳到主要内容
ArcBlock Community

await authClient.getUser(req.user.did); 查询报错

shenxiuqiang
支持
resolved
javascript
const AuthService = require('@blocklet/sdk/service/auth');
const middlewares = require('@blocklet/sdk/lib/middlewares');
const authClient = new AuthService();

module.exports = {
  init(app) {
    // middlewares.session() is used to get the user info from the session, see more: https://www.arcblock.io/docs/blocklet-developer/blocklet-sdk#session
    app.get('/api/user', middlewares.session(), async (req, res) => {
      if (!req.user) {
        res.json({ user: null });
        return;
      }
      try {
        // get user info from auth service
        const { user } = await authClient.getUser(req.user.did);
        user.role = user.role || req.user.role;
        res.json({ user });
      } catch (err) {
        console.error(err);
        res.json({ user: null });
      }
    });
    app.get('/api/data', (req, res) => {
      res.json({
        message: 'Hello Blocklet!',
      });
    });
  },
};

2025-04-12 13:06:10): Error: Schema Compatibility Error: Cannot query field "address" on type "UserInfo".
(2025-04-12 13:06:10): Cannot query field "parentDid" on type "Passport".
(2025-04-12 13:06:10): Cannot query field "source" on type "Passport".
(2025-04-12 13:06:10): Cannot query field "userDid" on type "Passport".
(2025-04-12 13:06:10): Cannot query field "user" on type "Passport".
(2025-04-12 13:06:10): This error typically indicates you are using an incompatible GraphQL client version. Please ensure your client version matches the server schema version.
(2025-04-12 13:06:10):     at AuthClient._doRequest (/Users/shenxiuqiang/workspace/DIDAlbum/node_modules/.pnpm/@arcblock+sdk-util@0.34.5/node_modules/@arcblock/sdk-util/src/index.js:307:19)
(2025-04-12 13:06:10):     at processTicksAndRejections (node:internal/process/task_queues:105:5)
(2025-04-12 13:06:10):     at queryFn (/Users/shenxiuqiang/workspace/DIDAlbum/node_modules/.pnpm/@arcblock+sdk-util@0.34.5/node_modules/@arcblock/sdk-util/src/index.js:149:24)
(2025-04-12 13:06:10):     at Proxy.<anonymous> (/Users/shenxiuqiang/workspace/DIDAlbum/node_modules/.pnpm/@blocklet+sdk@1.16.41/node_modules/@blocklet/sdk/lib/service/auth.js:123:29)
(2025-04-12 13:06:10):     at /Users/shenxiuqiang/workspace/DIDAlbum/api/routes/user.js:16:26 {
(2025-04-12 13:06:10):   errors: [
(2025-04-12 13:06:10):     {
(2025-04-12 13:06:10):       message: 'Cannot query field "address" on type "UserInfo".',
(2025-04-12 13:06:10):       locations: [Array],
(2025-04-12 13:06:10):       stack: [Array]
(2025-04-12 13:06:10):     },
(2025-04-12 13:06:10):     {
(2025-04-12 13:06:10):       message: 'Cannot query field "parentDid" on type "Passport".',
(2025-04-12 13:06:10):       locations: [Array],
(2025-04-12 13:06:10):       stack: [Array]
(2025-04-12 13:06:10):     },
(2025-04-12 13:06:10):     {
(2025-04-12 13:06:10):       message: 'Cannot query field "source" on type "Passport".',
(2025-04-12 13:06:10):       locations: [Array],
(2025-04-12 13:06:10):       stack: [Array]
(2025-04-12 13:06:10):     },
(2025-04-12 13:06:10):     {
(2025-04-12 13:06:10):       message: 'Cannot query field "userDid" on type "Passport".',
(2025-04-12 13:06:10):       locations: [Array],
(2025-04-12 13:06:10):       stack: [Array]
(2025-04-12 13:06:10):     },
(2025-04-12 13:06:10):     {
(2025-04-12 13:06:10):       message: 'Cannot query field "user" on type "Passport".',
(2025-04-12 13:06:10):       locations: [Array],
(2025-04-12 13:06:10):       stack: [Array]
(2025-04-12 13:06:10):     }
(2025-04-12 13:06:10):   ],
(2025-04-12 13:06:10):   status: 400
(2025-04-12 13:06:10): }

1 条回复

wangshijun17个月前

你好,看到这类错误应该就是需要升级 Server 版本了,可以用最新的 Beta 版

  • @blocklet/cli@beta
  • @blocklet/sdk@beta
回复