import { reactive } from 'vue'; import { browser } from './helpers/utils'; import { postMessage } from './helpers/native-message'; type status = 'init' | 'login' | 'logout' | 'error'; export const state = reactive({ user: { status: 'init' as status, data: {} as any }, navBarHeight: 0, // 状态栏高度 ossUploadUrl: 'https://ks3-cn-beijing.ksyuncs.com/' }); // 预览上传到oss的地址 export const getOssUploadUrl = (bucket: string) => { const tmpBucket = bucket || 'gym'; return `https://${tmpBucket}.ks3-cn-beijing.ksyuncs.com/`; }; export const setLoginInit = () => { state.user.status = 'init'; state.user.data = null; }; export const setLogin = (data: any) => { state.user.status = 'login'; state.user.data = data; }; export const setLogout = () => { state.user.status = 'logout'; state.user.data = null; }; export const setLoginError = () => { state.user.status = 'error'; state.user.data = null; }; // 用于处理跳转地址,如果是在app内,则打开一个新的webview, 否则跳转连接 export const openDefaultWebView = (url?: string, callBack?: any) => { if (browser().isApp) { postMessage({ api: 'openWebView', content: { url, orientation: 1, isHideTitle: false } }); } else { callBack && callBack(); } };