zhanghua
2024-09-26 7af9f4e5dbdbc4f6b1fad7e218e73799d140e2a0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// import ApolloClient from 'apollo-boost';
 
// const apolloClient = new ApolloClient({
//   uri: 'http://127.0.0.1:7001/graphql'
// })
 
// export default apolloClient;
// 定义不同请求地址
const EFORMURI = "/dream/graphql";
const IOTURI = "/dream/graphql";
// import ApolloClient from 'apollo-boost' //引入apollo-boost插件
import { ApolloClient } from "apollo-client";
import { createHttpLink } from "apollo-link-http";
import { InMemoryCache } from "apollo-cache-inmemory";
import { ApolloLink } from "apollo-link";
 
const httpLink = createHttpLink({
  uri: EFORMURI, //配置api调用连接
});
 
const middlewareLink = new ApolloLink((operation, forward) => {
  operation.setContext({
    headers: {
      Authorization: JSON.parse(localStorage.getItem("user")).jwtToken,
      // Authorization:'eyJhbGciOiJIUzI1NiJ9.eyJleHBUaW1lIjoiMjAyNC8wNy8zMSAxODoxMSIsInVzZXJJZCI6NDQsImp0aSI6ImVlMDM3NmFjLWQ5OTAtNDRkZS05YTVmLTUxYjhjMjc0YWNiOSIsImlhdCI6MTcyMjQxMzUwMSwic3ViIjoieWNsIiwiZXhwIjoxNzIyNDIwNzAxfQ.bSd0qag44dwXeJQpvryYJXEtrQ03-8MmHQWhgILGXO4',
      staffId: JSON.parse(localStorage.getItem("selectStaff")).id,
      playerId:
        JSON.parse(localStorage.getItem("user")).players.length > 0
          ? JSON.parse(localStorage.getItem("user")).players[0].id
          : 0,
    },
  }); //request拦截器
 
  return forward(operation).map((response) => {
    return response;
  }); //response拦截器,但是此处并不能对错误响应进行拦截
});
 
const authLink = middlewareLink.concat(httpLink);
 
const defaultOptions = {
  watchQuery: {
    fetchPolicy: "network-only",
    errorPolicy: "ignore",
  },
  query: {
    fetchPolicy: "network-only",
    errorPolicy: "all",
  },
};
 
const apolloClient = new ApolloClient({
  link: authLink,
  cache: new InMemoryCache(),
  connectToDevTools: true,
  defaultOptions: defaultOptions,
});
// const apolloClient = new ApolloClient({
//   uri: 'https://countries.trevorblades.com/',
//   headers:{
//     Authorization: 'eyJhbGciOiJIUzI1NiJ9.eyJleHBUaW1lIjoiMjAyNC8wNy8yNSAxMTozOSIsInVzZXJJZCI6MSwianRpIjoiZGVkZWRlMWQtYTU4MC00NDkxLWI0YzAtMjA5ODRjYTk3NmE3IiwiaWF0IjoxNzIxODcxNTYyLCJzdWIiOiJ5Y2wiLCJleHAiOjE3MjE4Nzg3NjJ9.gvEk8RHvJD7QQjr83XVwPe9msqEeVITXg3hIJRaNubI',
//     staffId: "1680",
//     playerId: '3350',
//   }
// })
//导出实例
export default apolloClient;