123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- const appid = '487987498'
- const language = 'zh'
- var common = require('./common.js');
- var storage = require('./storage.js');
- var config = require('./config.js');
- import crypto from '@/node_modules/crypto-js';
- function _checkTokenValid(res) {
-
- if(res.data.code === 305){
- uni.showToast({
- title:'账号已在其他设备登录!',
- icon:'none'
- })
- return false
- }
- if (
- res.data.code === 402 ||
- res.data.code === 403 ||
- res.data.code === 404 ||
- res.data.code === 405 ||
- res.data.code === 300 ||
- res.data.code === 302 ||
- res.data.code === 303 ||
- res.data.code === 304 ||
- res.data.code === 305 ||
- res.data.code === 306
- ) {
-
-
-
-
-
- storage.removeUserToken()
- uni.removeStorageSync('car_info')
- uni.removeStorageSync('USER_INFO_DATA')
- uni.reLaunch({
- url: '/pages/loginRegister/login'
- });
- return false;
- }
- return true;
- }
- async function getRequest(url, data) {
-
-
-
- if (url.indexOf('?') > 0) {
- url = url + '&' + common.obj2UrlQuery(data);
- } else {
- url = '?' + common.obj2UrlQuery(data);
-
- }
- let res = await uni.request({
- url: url,
- method: 'GET',
- });
-
- uni.hideLoading();
- res = res[1]
- if(!res.data.code){
- throw Error(res.data);
- }
- if(res.data.code == 200){
- return res
- }
- if(res.data.code === 503){
- throw Error(res.data.msg);
- return
- }
- if (_checkTokenValid(res)) {
- return res
- }
- throw Error(res.data.msg);
- }
- async function postRequest(url, data ) {
- const datetime = Math.floor(Date.now() / 1000)
- data.time = datetime.toString()
- let jsonStr = JSON.stringify(selfSort(data))
- var encrypted = crypto.SHA256(jsonStr)
- var sign = encrypted.toString()
- var token = storage.getUserToken()
-
-
- data.sign = sign
-
- let res = await uni.request({
- url: url,
- data: data,
- header: {
- 'content-type': 'application/json',
- 'X-Token': token
- },
- method: 'POST',
- });
- res = res[1]
-
- wx.hideLoading();
- if(!res.data.code){
- throw Error(res.data);
- }
- if (res.data.code == 200) {
- res.succeed = true
- res.body = res.data
- return res
- }
- if(res.data.code === 503){
- throw Error(res.data.msg);
- }
- if (_checkTokenValid(res)) {
- return res
- }
- throw Error(res.data.msg);
- }
- function selfSort(data) {
-
- let sortedKeys = Object.keys(data).sort((a, b) => {
-
- let reversedA = a.split("").reverse().join("");
- let reversedB = b.split("").reverse().join("");
- let len = reversedA.length > reversedB.length ? reversedA.length : reversedB.length
- for (let i = 0; i < len; i++) {
- if (typeof(reversedA[i]) == 'undefined') {
- return 1;
- }
- if (typeof(reversedB[i]) == 'undefined') {
- return -1;
- }
- if (reversedA[i] > reversedB[i]) {
- return -1;
- } else if (reversedB[i] > reversedA[i]) {
- return 1;
- }
- }
- return 1
- })
- let sortedJson = {};
- sortedKeys.forEach(key => {
- sortedJson[key] = data[key];
- })
- return sortedJson
- }
- async function getApi(url, data) {
- var token = storage.getUserToken();
- data.token = token;
- data.v = config.APP_VERSION;
- data.appid = appid
- if(!data.from){
- data.from = 'app'
-
- data.from = 'ali'
-
-
- data.from = 'wx'
-
- }
-
- data.language = language
- return await getRequest(url, data);
- }
- async function postApi(url, data) {
- var token = storage.getUserToken();
- console.log(data, 'token');
- data.token = token;
- data.v = config.APP_VERSION;
- data.appid = appid
- if(!data.from){
- data.from = 'app'
-
- data.from = 'ali'
-
-
- data.from = 'wx'
-
- }
- data.language = language
- return await postRequest(url, data);
- }
- async function reportFormId(formId) {
- const accountInfo = uni.getAccountInfoSync();
- var postData = {
- formId: formId,
- appid
- };
- await postApi(config.API_FORMID_REPORT, postData);
- }
- async function getAppConfig() {
- const pData = {
- appid,
- terminal: 'wx_app'
- };
- let resp = await getApi(config.API_INDEX_APP_CONFIG, pData);
- if (resp.data.code === 200) {
- const appConfig = resp.data.data.appConfig;
- storage.setAppConfig(appConfig);
-
- uni.setNavigationBarTitle({
- title: ''
- });
-
-
- wx.setNavigationBarTitle({
- title: appConfig.app_name
- });
-
- return appConfig
- } else {}
- }
- module.exports = {
- getRequest: getRequest,
- postRequest: postRequest,
- getApi: getApi,
- postApi: postApi,
- reportFormId: reportFormId,
- getAppConfig: getAppConfig
- };
|