12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*
- * @Author: ZhengXiaowei
- * @Date: 2019-10-15 12:06:28
- * @LastEditors: ZhengXiaowei
- * @LastEditTime: 2019-10-15 14:32:19
- * @Description: api 配置入口
- */
- import fetch from "@system.fetch";
- import Fly from "flyio/dist/npm/hap";
- import apiConfig from "./config";
- import prompt from '@system.prompt';
- import { getToken, clearToken, getSendOrderId } from "./utils";
- import it from "../helper/interface.js";
- var fly = new Fly(fetch);
- var qs = require('qs');
- var appInfo = it.getAppInfo();
- var appDev, sendOrderId;
- it.getAppDev((res) => {
- appDev = res;
- })
- getSendOrderId((id) => {
- sendOrderId = id;
- })
- fly.config.baseURL = apiConfig.baseURL;
- fly.config.headers["Content-Type"] =
- "application/x-www-form-urlencoded;charset=utf-8";
- const filterNoToken = ["/login", "/refreshToken"];
- fly.interceptors.request.use(async config => {
- // 过滤一些不需要登录的路由d
- if (filterNoToken.indexOf(config.url) === -1) {
- let token = await getToken();
- if (config.headers) {
- config.headers.Authorization = token;
- config.headers["X-Version"] = appInfo.versionName;
- config.headers["X-Brand"] = qs.stringify(appDev);
- if (sendOrderId) config.headers["send_order_id"] = sendOrderId;
- }
- else {
- if (sendOrderId) {
- config.headers = { Authorization: token, 'X-Version': appInfo.versionName, 'X-Brand': qs.stringify(appDev), 'send_order_id': sendOrderId };
- } else {
- config.headers = { Authorization: token, 'X-Version': appInfo.versionName, 'X-Brand': qs.stringify(appDev) };
- }
- }
- if (config.method === "POST") {
- config.body = qs.stringify(config.body);
- }
- return config;
- } else return config;
- });
- fly.interceptors.response.use(
- async res => {
- if (!res.data.code) {
- return res.data.data;
- } else if (res.data.code === 10023) {
- // token失效
- await clearToken();
- console.log("begin refresh token");
- let refresh_token = await getToken();
- console.log("refresh token:", refresh_token);
- return fly(res.config);
- // return getToken().then(token => {
- // });
- }
- else {
- prompt.showToast({
- message: res.data.msg
- })
- return Promise.reject(res);
- }
- },
- err => {
- console.log('err', err)
- return Promise.reject(err);
- }
- );
- export default fly;
|