1.1.1 • Published 3 years ago

ironknt-uniapp-graphql v1.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

配置config.js

import generateRequest from 'ironknt-uniapp-graphql'

const Fly = require('flyio/dist/npm/wx');

const fly = new Fly();

// 设置超时
fly.config.timeout = 12000;

// api基地址
import config from '../apiConfig'

const { loginUrl } = config;

// 自动检查storage数据以及自动将数据附加到请求头
const checkList = {
  // 失败提醒和失败跳转页
  token: {
    errorHint: '未登陆,请先登陆',
    errorTo: '/pages/login/index'
  },
  user: {
    errorHint: '未登陆,请先登陆',
    errorTo: '/pages/login/index'
  },
  // 需要特殊处理的字段,传入一个resolve
  obj: {
    errorHint: '未登陆,请先登陆',
    errorTo: '/pages/login/index',
    resolve: res => {
      if (!res || typeof res !== 'string') return '';
      const tmp = JSON.parse(res);
      return tmp.value;
    }
  },
  // 不需要从storage读取的字段,设置value即可
  text: {
    errorHint: '未登陆,请先登陆',
    errorTo: '/pages/login/index',
    value: '',
  },
  // 有些时候请求头字段为other,但是读取storage
  // 为otherKey,设置key字段即可
  other: {
    key: 'otherKey',
    errorHint: '未登陆,请先登陆',
    errorTo: '/pages/login/index',
    value: '',
  }
}

// checkList 检查请求头,loginPath 登陆页
export const request = generateRequest(fly, loginUrl, checkList, loginPath='/pages/login/index');

export default request;

具体请求

import request from './config';

// graphql请求
// 第一个参数为payload,第二个dataPath,第三个请求子路径,第四个失败后显示信息(后台返回错误信息优先级更高)
// 后二者默认为空
export function login (params) {
	return request({
		operationName: 'login',
		query: `mutation login($username: String!, $password: String!) {
			login(username: $username, password: $password) {
				token
			}
		}`,
		variables: {
			...params
		}
	}, 'login', '', '登陆失败');
}

// 非graphql请求,格式为:await request({ ...data }, '', '/login');
// 非graphql请求,仅支持post
// 第三个参数传递子路径
export function login2 (params) {
	return request({
    ...params,
	}, '', '/login/');
}
1.1.1

3 years ago

1.1.0

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago