123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- // +----------------------------------------------------------------------
- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
- // +----------------------------------------------------------------------
- // | Author: CRMEB Team <admin@crmeb.com>
- // +----------------------------------------------------------------------
- import {
- HTTP_REQUEST_URL,
- HEADER,
- TOKENNAME
- } from '@/config/app';
- import {
- toLogin,
- checkLogin
- } from '../libs/login';
- import store from '../store';
- import i18n from './lang.js';
- /**
- * 发送请求
- */
- function baseRequest(url, method, data, {
- noAuth = false,
- noVerify = false
- }) {
- let Url = HTTP_REQUEST_URL,
- header = HEADER;
- if (!noAuth) {
- //登录过期自动登录
- if (!store.state.app.token && !checkLogin()) {
- toLogin();
- return Promise.reject({
- msg: i18n.t(`未登录`)
- });
- }
- }
- if (store.state.app.token) header[TOKENNAME] = 'Bearer ' + store.state.app.token;
- return new Promise((reslove, reject) => {
- if (uni.getStorageSync('locale')) {
- header['Cb-lang'] = uni.getStorageSync('locale')
- }
- uni.request({
- url: Url + '/api/' + url,
- method: method || 'GET',
- header: header,
- data: data || {},
- success: (res) => {
- if (noVerify)
- reslove(res.data, res);
- else if (res.data.status == 200)
- reslove(res.data, res);
- else if ([110002, 110003, 110004].indexOf(res.data.status) !== -1) {
- toLogin();
- reject(res.data);
- } else if (res.data.status == 100103) {
- uni.showModal({
- title: i18n.t(`提示`),
- content: res.data.msg,
- showCancel: false,
- confirmText: i18n.t(`我知道了`)
- });
- }else if(res.data.code == "980001"){
- uni.showModal({
- title: i18n.t(`提示`),
- content: res.data.msg,
- confirmText: i18n.t(`立即认证`),
- success(re) {
- if(re.confirm){
- uni.navigateTo({
- url: '/pages/users/real_name/index'
- });
- }
- }
- });
- } else{
- // console.log(res,'错误数据');
- reject(res.data.msg || i18n.t(`系统错误`));
- }
- },
- fail: (msg) => {
- console.log(msg,'请求错误');
- let data = {
- mag: i18n.t(`请求失败`),
- status: 1 //1没网
- }
- // #ifdef APP-PLUS
- reject(data);
- // #endif
- // #ifndef APP-PLUS
- reject(i18n.t(`请求失败`));
- // #endif
- }
- })
- });
- }
- const request = {};
- ['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
- request[method] = (api, data, opt) => baseRequest(api, method, data, opt || {})
- });
- export default request;
|