UNPKG

@tencentcloud/chat-cs-uniapp

Version:

TCCC uniapp UIKit

66 lines (62 loc) 1.63 kB
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); }, }); }); }