Skip to content

Commit 92c8914

Browse files
committed
📝 Update README
1 parent 42c46d5 commit 92c8914

File tree

1 file changed

+79
-1
lines changed

1 file changed

+79
-1
lines changed

README.md

Lines changed: 79 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,79 @@
1-
# leancloud-graphql
1+
# LeanCloud GraphQL
2+
运行在云引擎上的第三方 GraphQL 支持,允许你用 GraphQL 查询 LeanCloud 云存储中的所有数据。
3+
4+
## 部署到云引擎
5+
6+
[![Deploy to LeanEngine](http://ac-32vx10b9.clouddn.com/109bd02ee9f5875a.png)](https://leancloud.cn/1.1/engine/deploy-button)
7+
8+
## GraphQL
9+
10+
GraphQL 是 FaceBook 开源的一套查询语言,你可以用它定义数据的格式和获取方法(这就是 leancloud-graphql 做的工作,它会自动将你在 LeanCloud 的数据结构转换为 GraphQL 的 Schema),然后便可以在客户端以一种非常灵活的语法来获取数据。
11+
12+
GraphQL 在客户端几乎不需要什么 SDK,你可以花几行代码封装一个工具函数:
13+
14+
```javascript
15+
function requestGraphQL(query) {
16+
return fetch('/', {
17+
method: 'POST',
18+
headers: {
19+
'Content-Type': 'application/graphql'
20+
},
21+
body: query
22+
}).then( res => {
23+
return res.json();
24+
}).then( result => {
25+
return result.data;
26+
});
27+
}
28+
29+
requestGraphQL(`
30+
query {
31+
Todo {
32+
title, priority
33+
}
34+
}
35+
`)
36+
```
37+
38+
结果:
39+
40+
```javascript
41+
{
42+
Todo: [
43+
{title: "紧急 Bug 修复", priority: 0},
44+
{title: "打电话给 Peter",priority: 5},
45+
{title: "还信用卡账单", priority: 10}
46+
]
47+
}
48+
```
49+
50+
我们也在云引擎的根路径(本地调试时为 <http://127.0.0.1:3000/>)用 express-graphql 提供了一个支持自动补全等功能的 GraphQL 控制台,你可以在这里测试你的查询。
51+
52+
我们会应用客户端发来的 sessionToken,确保在用户的权限范围内进行查询。你可以从我们的 JavaScript SDK 上获取 sessionToken 并随着请求发送,修改 requestGraphQL:
53+
54+
```diff
55+
headers: {
56+
'Content-Type': 'application/graphql',
57+
+ 'X-LC-Session': AV.User.current() && AV.User.current().getSessionToken()
58+
},
59+
```
60+
61+
## 获取数据
62+
63+
TODO
64+
65+
## 查询
66+
67+
TODO
68+
69+
## 关系
70+
71+
TODO
72+
73+
## 创建、更新和删除
74+
75+
TODO
76+
77+
## 进阶话题
78+
79+
TODO

0 commit comments

Comments
 (0)