Vika 3 tahun lalu
induk
melakukan
73252985e8
3 mengubah file dengan 118 tambahan dan 0 penghapusan
  1. 13 0
      js15/index.html
  2. 105 0
      js15/main.js
  3. 0 0
      js15/style.css

+ 13 - 0
js15/index.html

@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Document</title>
+  <link href="style.css" rel="stylesheet">
+</head>
+<body>
+  <script src="main.js"></script>
+</body>
+</html>

+ 105 - 0
js15/main.js

@@ -0,0 +1,105 @@
+const getGQL = url =>
+    (query, variables = {}) => fetch(url, {
+        
+        method: 'POST',
+        headers: {
+          ...(localStorage.authToken ? {"Authorization": "Bearer " + localStorage.authToken} : {}),
+          "Content-Type": "application/json",
+        },
+        body: JSON.stringify({query, variables})
+            
+    }).then(res => res.json())
+      .then(data => { console.log(data);
+        if (data.errors && !data.data)
+            throw new Error(JSON.stringify(data.errors))
+        return data.data[Object.keys(data.data)[0]]
+    })
+
+const gql = getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql');
+
+const autoriz = () =>
+  gql(`query autoriz ($login:String, $password:String){
+    login(login:$login, password:$password)
+    }`,
+    {
+      "login": "vika",
+      "password": "2021"
+    })
+
+   
+async function autorization () {
+  let token = await autoriz();
+  localStorage.setItem ("authToken", token);
+}
+
+autorization();
+
+
+let _id = "5dcad1316d09c45440d14d07";
+
+async function orderGood (_id) {
+  const oderUpsert = await gql(`mutation order{
+    OrderUpsert(order:{
+      orderGoods:[
+        {count:3, good:{_id: "${_id}"}
+        }
+      ]
+    }) {
+      total _id 
+    }}
+  `)   
+}
+orderGood(_id);
+
+let _idOderUpsert = "61a9f1c8c750c12ba6ba41d9";
+
+async function orderById (_id) {
+   await gql(`query order($q1:String) {
+        OrderFindOne(query:$q1){
+            _id total, 
+        }
+    }`, {"q1": JSON.stringify([{_id}])})
+}
+orderById(_idOderUpsert);
+
+async function catById(_){
+  let category = await gql(`query category {
+    CategoryFind(query:"[{}]"){
+       _id 
+    }
+  }`);
+  const oneCategory = category[1]._id; console.log(oneCategory)
+  await gql(`query catByOne ($query:String){
+    CategoryFindOne(query:$query){
+      name goods{
+        _id name
+      }
+    }
+  }`, {"query": JSON.stringify([{_id :oneCategory}])})
+}
+
+catById();
+
+const goodId = "5dc87cb90e36db246e3049b0";
+const backURL = 'http://shop-roles.asmer.fs.a-level.com.ua';
+
+async function getImageGood (_id) {
+  const data = await gql(`query imageFind($image:String){
+    ImageFind(query: $image){
+     url good {
+      _id name
+      }
+    }
+   }`, {
+    "image": JSON.stringify([{_id}])
+   })
+   
+  document.body.innerHTML =`<img src= "${backURL}/${data[0].url}" alt="альтернативный текст" />`
+}
+
+getImageGood(goodId);
+
+
+
+
+                                       

+ 0 - 0
js15/style.css