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 条回复
你好,看到这类错误应该就是需要升级 Server 版本了,可以用最新的 Beta 版