12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import fetch from 'node-fetch';
- import Ids from '../models/ids'
- export default class BaseComponent {
- constructor(){
- }
- async fetch(url = '', data = {}, type = 'GET', resType = 'JSON'){
- type = type.toUpperCase();
- resType = resType.toUpperCase();
- if (type == 'GET') {
- let dataStr = ''; //数据拼接字符串
- Object.keys(data).forEach(key => {
- dataStr += key + '=' + data[key] + '&';
- })
- if (dataStr !== '') {
- dataStr = dataStr.substr(0, dataStr.lastIndexOf('&'));
- url = url + '?' + dataStr;
- }
- }
- let requestConfig = {
- method: type,
- headers: {
- 'Accept': 'application/json',
- 'Content-Type': 'application/json'
- },
- }
- if (type == 'POST') {
- Object.defineProperty(requestConfig, 'body', {
- value: JSON.stringify(data)
- })
- }
- let responseJson;
- try {
- const response = await fetch(url, requestConfig);
- if (resType === 'TEXT') {
- responseJson = await response.text();
- }else{
- responseJson = await response.json();
- }
- } catch (error) {
- console.error(error)
- throw new Error(error)
- }
- return responseJson
- }
- //获取id列表
- async getId(type){
- try{
- const idData = await Ids.findOne();
- idData[type] ++ ;
- await idData.save();
- return idData[type]
- }catch(err){
- throw new Error(err)
- }
- }
- }
|