| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- let baseUrl = 'http://localhost:8080';
- switch (process.env.NODE_ENV) {
- case 'development':
- baseUrl = 'https://zhuoka.izouma.com';
- break;
- case 'test':
- baseUrl = 'http://localhost:8080';
- break;
- case 'production':
- baseUrl = 'https://zhuoka.izouma.com';
- break;
- }
- function parseUrl(url) {
- let _baseUrl = baseUrl;
- console.log(baseUrl)
- if (url.startsWith('http')) {
- return url;
- }
- if (!_baseUrl.endsWith('/')) {
- _baseUrl += '/';
- }
- if (url.startsWith('/')) {
- url = url.slice(1);
- }
- return _baseUrl + url;
- }
- const http = {
- parseUrl: parseUrl,
- setToken(token) {
- uni.setStorageSync('token', token);
- this.token = token;
- },
- clearToken() {
- this.token = '';
- uni.removeStorageSync('token');
- console.log('clear token');
- },
- getToken() {
- if (!this.token) {
- try {
- this.token = uni.getStorageSync('token');
- } catch (e) {}
- }
- return this.token;
- },
- get(url, params, options) {
- options = options || {};
- return new Promise((resolve, reject) => {
- uni.request({
- method: 'GET',
- url: parseUrl(url),
- data: params,
- dataType: 'json',
- header: {
- Accept: 'application/json',
- Authorization: this.getToken() ? 'Bearer ' + this.getToken() : 'Bearer ',
- ...(options.header || {})
- },
- success(res) {
- if (res && res.statusCode === 200) {
- resolve(res.data);
- } else {
- reject(res.data || res);
- }
- },
- fail(err) {
- reject(err.data || err);
- }
- });
- });
- },
- post(url, data, options, backHeader = false) {
- console.log('post');
- options = options || {};
- return new Promise((resolve, reject) => {
- uni.request({
- method: 'post',
- url: parseUrl(url),
- data: data,
- dataType: 'json',
- header: {
- Accept: 'application/json',
- 'content-type': 'application/x-www-form-urlencoded',
- Authorization: this.getToken() ? 'Bearer ' + this.getToken() : '',
- ...(options.header || {})
- },
- success(res) {
- if (res && res.statusCode === 200) {
- resolve(backHeader ? res : res.data);
- } else {
- reject(res.data || res);
- }
- },
- fail(err) {
- reject(err.data || err);
- }
- });
- });
- },
- postJson(url, data, options, backHeader = false) {
- options = options || {};
- return new Promise((resolve, reject) => {
- uni.request({
- method: 'post',
- url: parseUrl(url),
- data: data,
- dataType: 'json',
- header: {
- Accept: 'application/json',
- 'Content-Type': 'application/json',
- Authorization: this.getToken() ? 'Bearer ' + this.getToken() : '',
- ...(options.header || {})
- },
- success(res) {
- if (res && res.statusCode === 200) {
- resolve(backHeader ? res : res.data);
- } else {
- reject(res.data || res);
- }
- },
- fail(err) {
- reject(err.data || err);
- }
- });
- });
- },
- uploadFile(filePath, options) {
- options = options || {};
- return new Promise((resolve, reject) => {
- uni.uploadFile({
- url: baseUrl + '/upload/file',
- filePath: filePath,
- name: 'file',
- header: {
- Accept: 'application/json',
- 'content-type': 'application/x-www-form-urlencoded',
- Authorization: this.getToken() ? 'Bearer ' + this.getToken() : '',
- ...(options.header || {})
- },
- formData: options.formData || {},
- success(res) {
- if (res && res.statusCode === 200) {
- try {
- resolve(res.data);
- } catch (e) {
- reject(e);
- }
- } else {
- reject(res);
- }
- },
- fail(err) {
- reject(err);
- }
- });
- });
- }
- };
- export default {
- http: http,
- install(_Vue) {
- _Vue.prototype.$baseUrl = baseUrl;
- _Vue.prototype.$http = http;
- _Vue.prototype.$request = options => {
- options = options || {};
- options.url = parseUrl(options.url);
- return new Promise((resolve, reject) => {
- options.success = res => {
- resolve(res);
- };
- options.success = err => {
- reject(err);
- };
- });
- };
- }
- };
|