@tencentcloud/chat-cs-uniapp
Version:
TCCC uniapp UIKit
66 lines (62 loc) • 1.63 kB
JavaScript
import { ulid } from './ulid';
import * as Cookie from './cookie';
import { getAuthorization } from './authorization';
const UrlMap = {
development: {
http: 'https://test.ccclogic.pstn.avc.qcloud.com',
socket: 'wss://test.cccstate.pstn.avc.qcloud.com/staff',
},
preproduction: {
http: 'https://pre.ccclogic.pstn.avc.qcloud.com',
socket: 'wss://pre.cccstate.pstn.avc.qcloud.com/staff',
},
production: {
http: 'https://api.tccc.qcloud.com',
socket: 'wss://api.tccc.qcloud.com/staff',
},
};
export const getBaseUrl = () => {
return UrlMap.production;
};
export function appRequest(
url,
data = {},
) {
const nonce = ulid();
return new Promise((resolve, reject) => {
uni.request({
url: `${getBaseUrl().http}/${url.replace(/^\//, '')}`,
method: 'POST',
header: {
Cookie: Cookie.getCookiesStr(),
...getAuthorization(url),
},
data: {
nonce,
requestId: nonce,
timestamp: `${Date.now()}`,
...data,
},
success(res) {
const { data, header } = res;
const resData = data;
const setCookieStr = header['Set-Cookie'] || header['set-cookie'] || '';
Cookie.setCookieFromHeader(setCookieStr);
if (resData.errorCode === '0') {
return resolve(resData);
}
if (resData.errorCode === '-2015') {
Cookie.removeCookie('openId');
Cookie.removeCookie('userKey');
}
reject({
...resData,
message: resData.msg,
});
},
fail(res) {
reject(res);
},
});
});
}