123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- // const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOnsiaWQiOiI2MWE0ZGIyOWM3NTBjMTJiYTZiYTQwMjIiLCJsb2dpbiI6ImVxd2VxZXdldyIsImFjbCI6WyI2MWE0ZGIyOWM3NTBjMTJiYTZiYTQwMjIiLCJ1c2VyIl19LCJpYXQiOjE2MzgxOTQ1NzZ9.Pi1GO6x7wdNrIrUKCQT-32-SsqmgFY-oFDrrXmw74-8'
- // JSON.parse(atob(token.split('.')[1]))
- // let qqq = 'fdhfakfalfjskgfsdadasdasdasdasdadfsdfkarieqfowerdaesfa'
- // function checkSum(str) {
- // let res = 0
- // for (let letter of str) {
- // res += letter.charCodeAt()
- // }
- // return res
- // }
- // console.log(checkSum(qqq))
- // function sign(data, salt) {
- // const json = JSON.stringify(data)
- // const sum = checkSum(json + salt)
- // return json + sum
- // }
- // function verify(signed, salt) {
- // const json = signed.slice(0, signed.lastIndexOf('}') + 1)
- // const tokenSum = + signed.slice(signed.lastIndexOf('}') + 1)
- // const sum = checkSum(json + salt)
- // console.log(json, tokenSum, sum)
- // return sum === tokenSum
- // }
- // добавить заголовок Authorization если в localStorage есть authToken (не забудьте слово Bearer и пробел после него.
- // Таким образом все запросы будут уходить не анонимно если в localStorage есть токен.
- const originalFetch = fetch;
- fetch = (url, params={headers:{}}) => {
- if (localStorage.authToken !== undefined) {
- params.headers.Authorization = "Bearer " + localStorage.authToken
- }
- return originalFetch(url, params)
- }
- const getGQL = (url) => (
- (query, variables) => fetch(url, {
- method: 'POST',
- headers: {
- "Content-Type": "application/json"
- },
- body: JSON.stringify({query, variables})
-
- }).then(res => res.json()).then((data) => {
- if ('errors' in data) {
- Promise.reject(new Error('ОШИБКА'))
- // throw new Error('GFSFSDFS')
- } else {
- return data.data
- }
- })
- );
- (async function() {
- const gql = getGQL('http://shop-roles.asmer.fs.a-level.com.ua/graphql')
- console.log((await gql(`query cats($q:String) {
- CategoryFind(query:$q){
- name goods{
- name images{
- url
- }
- }
- }
- }`, {q: "[{}]"})))
- console.log((await gql(`
- query NameForMe1($login:String, $password:String){
- login(login:$login, password:$password)
- }
- `, {login: 'tst', password: '123'})))
- console.log(await gql(`query userFind {
- UserFind(query: "[{}]") {
- login
- nick
- }
- }`, {q: "[{}]"}))
- // написать функции по типу:
- // для логина, регистрации, а так же для остальных страниц будущего сайта, которые вам пришли на ум.
- function catById(_id){
- return gql(`query catById($query:String) {
- CategoryFindOne(query:$query) {
- name goods{
- _id name
- }
- }
- }`, {query: JSON.stringify([{_id}])})
- }
- console.log(await catById("5dc45acf5df9d670df48cc48"))
-
- })()
|