| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- import {
- baseUrl,
- api_version
- } from './setting.js'
- import {
- getToken,
- getSign,
- getSycCache,
- setSycCache,
- } from './cache.js'
- /*
- * 获取配置信息
- */
- const apiGetConfig = async (refresh = false) => {
- let config = getSycCache('config');
- if (!config || refresh) {
- const res = await apiGet('/config');
- if (res.success == true) {
- let config = typeof(res.data) != 'undefined' ? res.data : {};
- setSycCache('config', config)
- return config;
- }
- }
- return config;
- }
- /*
- * 获取用户信息
- */
- const apiGetUserInfo = async (vue, refresh = false, type = 'mine') => {
- let info = getSycCache('userInfo');
- if (!info || refresh) {
- const res = await apiGet('/user/info');
- if (res.success == true) {
- let info = typeof(res.data) != 'undefined' ? res.data : {};
- setSycCache('userInfo', info)
- return info;
- } else if (res.code == '403') {
- uni.navigateTo({
- url: '/pages/login/login?type=' + type
- })
- }
- }
- return info;
- }
- /*
- * 请求带token
- */
- const apiGet = (url = '', data = {}, header = '') => {
- url = '/api/' + api_version + url
- data = typeof(data) != 'undefined' && data ? data : {};
- data.system = {}
- data.system.uuid = uni.getSystemInfoSync().deviceId;
- data.system.sys_time = (Date.parse(new Date()) / 1000);
- var token = getToken();
- token = typeof(token) != 'undefined' ? token : '';
- if (typeof(header) != 'undefined' && header) {
- if (token) {
- header.Authorization = 'Bearer ' + token
- }
- let signStr = url + '&' + data.system.uuid + '&' + data.system.sys_time;
- let sign = getSign(signStr)
- header.Sign = sign;
- } else {
- let signStr = url + '&' + data.system.uuid + '&' + data.system.sys_time;
- let sign = getSign(signStr)
- header = {
- 'Content-Type': 'application/json',
- 'Authorization': token ? 'Bearer ' + token : '',
- 'Sign': sign,
- };
- }
- try {
- return new Promise((resolve, reject) => {
- uni.request({
- method: 'GET',
- url: baseUrl + url,
- data: data,
- header: header,
- dataType: 'json',
- timeout: 8000,
- }).then((response) => {
- let [error, res] = response;
- if (typeof(res) != 'undefined' && typeof(res.data) != 'undefined') {
- resolve(res.data);
- } else {
- throw response
- }
- }).catch(error => {
- //console.log('请求错误:', error)
- let err = typeof(error[0].errMsg) ? error[0].errMsg : '';
- let patt = /^request:fail/;
- err = patt.test(err) ? '网络错误' : err;
- resolve({
- success: false,
- msg: err ? err : '请求失败'
- })
- })
- });
- } catch (e) {
- //console.log('请求异常', e)
- // console.log(e)
- return {
- 'success': false,
- 'msg': 'request error'
- };
- }
- }
- /*
- * 请求带token
- */
- const api = (url = '', data = {}, header = '', type = 'post') => {
- url = '/api/' + api_version + url
- data = typeof(data) != 'undefined' && data ? data : {};
- data.system = {}
- data.system.app_version = uni.getSystemInfoSync().appVersion;
- data.system.app_sources = uni.getSystemInfoSync().osName;
- data.system.sys_version = uni.getSystemInfoSync().osVersion;
- data.system.sys_model = uni.getSystemInfoSync().deviceModel;
- data.system.uuid = uni.getSystemInfoSync().deviceId;
- data.system.sys_time = (Date.parse(new Date()) / 1000);
- var token = getToken();
- token = typeof(token) != 'undefined' ? token : '';
- if (typeof(header) != 'undefined' && header) {
- if (token) {
- header.Authorization = 'Bearer ' + token
- }
- let signStr = url + '&' + data.system.uuid + '&' + data.system.sys_time;
- let sign = getSign(signStr)
- header.Sign = sign;
- } else {
- let signStr = url + '&' + data.system.uuid + '&' + data.system.sys_time;
- let sign = getSign(signStr)
- header = {
- 'Content-Type': 'application/json',
- 'Authorization': token ? 'Bearer ' + token : '',
- 'Sign': sign,
- };
- }
- try {
- return new Promise((resolve, reject) => {
- uni.request({
- method: type,
- url: baseUrl + url,
- data: data,
- header: header,
- dataType: 'json',
- timeout: 8000,
- }).then((response) => {
- let [error, res] = response;
- if (typeof(res) != 'undefined' && typeof(res.data) != 'undefined') {
- resolve(res.data);
- } else {
- throw response
- }
- }).catch(error => {
- //console.log('请求错误:', error)
- let err = typeof(error[0].errMsg) ? error[0].errMsg : '';
- let patt = /^request:fail/;
- err = patt.test(err) ? '网络错误' : err;
- resolve({
- success: false,
- msg: err ? err : '请求失败'
- })
- })
- });
- } catch (e) {
- //console.log('请求异常', e)
- // console.log(e)
- return {
- 'success': false,
- 'msg': 'request error'
- };
- }
- }
- /*
- * 请求带token
- */
- const uploadApi = (url = '', data = {}, header = '', type = 'post') => {
- url = '/api/' + api_version + url
- data = typeof(data) != 'undefined' && data ? data : {};
- data.system = {}
- data.system.app_version = uni.getSystemInfoSync().appVersion;
- data.system.app_sources = uni.getSystemInfoSync().osName;
- data.system.sys_version = uni.getSystemInfoSync().osVersion;
- data.system.sys_model = uni.getSystemInfoSync().deviceModel;
- data.system.uuid = uni.getSystemInfoSync().deviceId;
- data.system.sys_time = (Date.parse(new Date()) / 1000);
- var token = getToken();
- token = typeof(token) != 'undefined' ? token : '';
- if (header) {
- if (token) {
- header.Authorization = 'Bearer ' + token
- }
- } else {
- header = {
- 'Content-Type': 'application/json',
- 'Authorization': token ? 'Bearer ' + token : '',
- };
- }
- try {
- return new Promise((resolve, reject) => {
- uni.uploadFile({
- url: baseUrl + url, // 服务器接口地址
- filePath: data.file_url,
- header: header,
- name: 'video', // 对应后台的参数名称
- formData: data, // 其他需要发送到服务器的formdata信息
- dataType: 'json',
- success(response) {
- // console.log(response)
- let res = response ? JSON.parse(response.data) : {};
- if (typeof(res) != 'undefined' && typeof(res.data) != 'undefined') {
- resolve(res);
- } else {
- throw response
- }
- },
- fail(error) {
- console.log('上传失败:', error)
- reject(error)
- }
- });
- });
- } catch (e) {
- console.log('请求异常', e)
- return {
- 'success': false,
- 'msg': 'request error'
- };
- }
- }
- export default {
- api,
- apiGet,
- apiGetConfig,
- apiGetUserInfo,
- uploadApi,
- }
|