| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- import { spread } from "@/api/user";
- import Cache from "@/utils/cache";
- /**
- * 静默授权绑定上下级,使用在已经登录后扫描了别人的推广二维码
- * @param {Object} puid
- */
- export function silenceBindingSpread() {
- //#ifdef H5 || APP
- let puid = Cache.get("spread");
- //#endif
- //#ifdef MP
- let puid = getApp().globalData.spid;
- //#endif
- puid = parseInt(puid);
- if (Number.isNaN(puid)) {
- puid = 0;
- }
- if (puid) {
- spread(puid)
- .then((res) => {})
- .catch((res) => {});
- //#ifdef H5
- Cache.clear("spread");
- //#endif
- //#ifdef MP
- getApp().globalData.spid = 0;
- getApp().globalData.code = 0;
- //#endif
- } else {
- Cache.set("spread", 0);
- }
- }
- export function isWeixin() {
- return navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1;
- }
- export function getNetworkType() {
- return new Promise((resolve, reject) => {
- uni.getNetworkType({
- success: (res) => {
- // 无网络时 networkType 为 'none'
- if (res.networkType === "none") {
- resolve(1); // 无网络
- } else {
- resolve(0); // 有网络
- }
- },
- fail: (err) => {
- reject(err);
- },
- });
- });
- }
- export function parseQuery() {
- const res = {};
- const query = (location.href.split("?")[1] || "")
- .trim()
- .replace(/^(\?|#|&)/, "");
- if (!query) {
- return res;
- }
- query.split("&").forEach((param) => {
- const parts = param.replace(/\+/g, " ").split("=");
- const key = decodeURIComponent(parts.shift());
- const val = parts.length > 0 ? decodeURIComponent(parts.join("=")) : null;
- if (res[key] === undefined) {
- res[key] = val;
- } else if (Array.isArray(res[key])) {
- res[key].push(val);
- } else {
- res[key] = [res[key], val];
- }
- });
- return res;
- }
- export function weAtob(string) {
- const b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
- const b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
- string = String(string).replace(/[\t\n\f\r ]+/g, '');
- if (!b64re.test(string)) {
- throw new TypeError("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.");
- }
- string += '=='.slice(2 - (string.length & 3));
- let bitmap;
- let i = 0;
- let r1;
- let r2;
- let result = '';
- for (; i < string.length; ) {
- bitmap =
- (b64.indexOf(string.charAt(i++)) << 18) |
- (b64.indexOf(string.charAt(i++)) << 12) |
- ((r1 = b64.indexOf(string.charAt(i++))) << 6) |
- (r2 = b64.indexOf(string.charAt(i++)));
- result +=
- r1 === 64
- ? String.fromCharCode((bitmap >> 16) & 255)
- : r2 === 64
- ? String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255)
- : String.fromCharCode((bitmap >> 16) & 255, (bitmap >> 8) & 255, bitmap & 255);
- }
- return result;
- };
- // #ifdef H5
- const VUE_APP_WS_URL =
- process.env.VUE_APP_WS_URL || `ws://${location.hostname}:20001`;
- export { VUE_APP_WS_URL };
- // #endif
- export const VUE_APP_API_URL = "";
- export default parseQuery;
|