From 497c5196f8b3ebb4e96122e8f221ac724bbcfdbc Mon Sep 17 00:00:00 2001
From: wujingling0908 <2.com>
Date: Sun, 20 Sep 2026 13:43:43 +0800
Subject: [PATCH] =?UTF-8?q?=E7=8C=9C=E4=BD=A0=E6=83=B3=E9=97=AE=E6=8E=A5?=
=?UTF-8?q?=E5=8F=A3=E8=81=94=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/abstract.vue | 5 +-
src/utils/index.js | 641 +++++++++++++++++++++++-------------
2 files changed, 416 insertions(+), 230 deletions(-)
diff --git a/src/components/abstract.vue b/src/components/abstract.vue
index 020f4ed..6a3e0aa 100644
--- a/src/components/abstract.vue
+++ b/src/components/abstract.vue
@@ -47,6 +47,9 @@ const businessHandle = () => {
});
}
}
+const toDetail = (record) => {
+ console.log(window);
+}
onMounted(async () => {
businessHandle()
})
@@ -72,7 +75,7 @@ onMounted(async () => {
-
{{ item.btnText }}
+ {{ item.btnText }}
diff --git a/src/utils/index.js b/src/utils/index.js
index 61601b0..0bc4f78 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -1,15 +1,16 @@
// import Vue from 'vue'
import router from '@/router'
-import store from '@/store'
import CryptoJS from "crypto-js";
-
+import utils from '@/utils/utils';
+import wx from 'weixin-js-sdk';
+import { useAppStore } from '@/store/app.js'
/**
* 获取uuid
*/
export function getUUID() {
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
- return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
- })
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
+ return (c === 'x' ? (Math.random() * 16 | 0) : ('r&0x3' | '0x8')).toString(16)
+ })
}
/**
@@ -17,7 +18,7 @@ export function getUUID() {
* @param {*} key
*/
export function isAuth(key) {
- return JSON.parse(sessionStorage.getItem('permissions') || '[]').indexOf(key) !== -1 || false
+ return JSON.parse(sessionStorage.getItem('permissions') || '[]').indexOf(key) !== -1 || false
}
/**
@@ -27,53 +28,53 @@ export function isAuth(key) {
* @param {*} pid
*/
export function treeDataTranslate(data, id = 'id', pid = 'parentId') {
- var res = []
- var temp = {}
- for (var i = 0; i < data.length; i++) {
- temp[data[i][id]] = data[i]
- }
+ var res = []
+ var temp = {}
+ for (var i = 0; i < data.length; i++) {
+ temp[data[i][id]] = data[i]
+ }
- for (var k = 0; k < data.length; k++) {
- if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {
- if (!temp[data[k][pid]]['children']) {
- temp[data[k][pid]]['children'] = []
- }
+ for (var k = 0; k < data.length; k++) {
+ if (temp[data[k][pid]] && data[k][id] !== data[k][pid]) {
+ if (!temp[data[k][pid]]['children']) {
+ temp[data[k][pid]]['children'] = []
+ }
- if (!temp[data[k][pid]]['_level']) {
- temp[data[k][pid]]['_level'] = 1
- }
+ if (!temp[data[k][pid]]['_level']) {
+ temp[data[k][pid]]['_level'] = 1
+ }
- data[k]['_level'] = temp[data[k][pid]]._level + 1;
+ data[k]['_level'] = temp[data[k][pid]]._level + 1;
- temp[data[k][pid]]['children'].push(data[k])
- } else {
+ temp[data[k][pid]]['children'].push(data[k])
+ } else {
- res.push(data[k])
- }
+ res.push(data[k])
}
- return res
+ }
+ return res
}
export function toTreeArry(data) {
- const result = []
- data.forEach(item => {
- const loop = data => {
- let child = data.children;
- if (child) { // 是否有子节点,有则继续遍历下一级,无则是叶子节点
- for (let i = 0; i < child.length; i++) {
- loop(child[i])
- }
- } else {
- result.push(data)
- }
+ const result = []
+ data.forEach(item => {
+ const loop = data => {
+ let child = data.children;
+ if (child) { // 是否有子节点,有则继续遍历下一级,无则是叶子节点
+ for (let i = 0; i < child.length; i++) {
+ loop(child[i])
}
+ } else {
+ result.push(data)
+ }
+ }
- loop(item)
- })
+ loop(item)
+ })
- // console.log(JSON.stringify(result))
- return result;
+ // console.log(JSON.stringify(result))
+ return result;
}
@@ -91,31 +92,31 @@ export function toTreeArry(data) {
*/
export function listToTree(oldArr) {
- // 删除 所有 children,以防止多次调用
- oldArr.forEach(function (item) {
- item.checked = false;
- delete item.children;
- });
-
- oldArr.forEach(element => {
- let parentId = element.parentId;
-
- if (parentId !== 0) {
- oldArr.forEach(ele => {
- if (ele.menuId == parentId) { //当内层循环的ID== 外层循环的parendId时,(说明有children),需要往该内层id里建个children并push对应的数组;
- if (!ele.children) {
- ele.children = [];
- }
- // ele.children.push(element);
- (ele.children || (ele.children = [])).push(element);
- }
- });
+ // 删除 所有 children,以防止多次调用
+ oldArr.forEach(function (item) {
+ item.checked = false;
+ delete item.children;
+ });
+
+ oldArr.forEach(element => {
+ let parentId = element.parentId;
+
+ if (parentId !== 0) {
+ oldArr.forEach(ele => {
+ if (ele.menuId == parentId) { //当内层循环的ID== 外层循环的parendId时,(说明有children),需要往该内层id里建个children并push对应的数组;
+ if (!ele.children) {
+ ele.children = [];
+ }
+ // ele.children.push(element);
+ (ele.children || (ele.children = [])).push(element);
}
- });
- // console.log(oldArr) //此时的数组是在原基础上补充了children;
- oldArr = oldArr.filter(ele => ele.parentId === 0); //这一步是过滤,按树展开,将多余的数组剔除;
- // console.log(JSON.stringify(oldArr))
- return oldArr;
+ });
+ }
+ });
+ // console.log(oldArr) //此时的数组是在原基础上补充了children;
+ oldArr = oldArr.filter(ele => ele.parentId === 0); //这一步是过滤,按树展开,将多余的数组剔除;
+ // console.log(JSON.stringify(oldArr))
+ return oldArr;
}
@@ -126,33 +127,33 @@ export function listToTree(oldArr) {
* @param {*} parentId
*/
export function toTree(data) {
- // 删除 所有 children,以防止多次调用
- data.forEach(function (item) {
- item.checked = false;
- delete item.children;
- });
-
- // 将数据存储为 以 menuId 为 KEY 的 map 索引数据列
- var map = {};
- data.forEach(function (item) {
- map[item.menuId] = item;
- });
-
- var val = [];
- data.forEach(function (item) {
- // 以当前遍历项,的parentId,去map对象中找到索引的id
- var parent = map[item.parentId];
- // 好绕啊,如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
- if (parent) {
- (parent.children || (parent.children = [])).push(item);
- } else {
- item.children = [];
- //如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
- val.push(item);
- }
- });
- // console.log(JSON.stringify(val))
- return val;
+ // 删除 所有 children,以防止多次调用
+ data.forEach(function (item) {
+ item.checked = false;
+ delete item.children;
+ });
+
+ // 将数据存储为 以 menuId 为 KEY 的 map 索引数据列
+ var map = {};
+ data.forEach(function (item) {
+ map[item.menuId] = item;
+ });
+
+ var val = [];
+ data.forEach(function (item) {
+ // 以当前遍历项,的parentId,去map对象中找到索引的id
+ var parent = map[item.parentId];
+ // 好绕啊,如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
+ if (parent) {
+ (parent.children || (parent.children = [])).push(item);
+ } else {
+ item.children = [];
+ //如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
+ val.push(item);
+ }
+ });
+ // console.log(JSON.stringify(val))
+ return val;
}
@@ -160,39 +161,39 @@ export function toTree(data) {
* 判断tree是不是最后一级
*/
export function isTail(data) {
- const child = data.children;
- return !child || child.length == 0;
+ const child = data.children;
+ return !child || child.length == 0;
}
/**
* 把tree树的最后一级的父类children改为menuOptionsList
*/
export function changeChildenName(data) {
- const child = data.children;
- if (!!child && child.length > 0) {
- if (isTail(child[0])) {
- data.menuOptionsList = child;
- data.children = [];
- return;
- }
- child.forEach(changeChildenName);
+ const child = data.children;
+ if (!!child && child.length > 0) {
+ if (isTail(child[0])) {
+ data.menuOptionsList = child;
+ data.children = [];
+ return;
}
+ child.forEach(changeChildenName);
+ }
}
//根据最后一个找到整个家族
export function familyTree(arr, parentId) {
- var temp = [];
- var forFn = function (arr, parentId) {
- for (var i = 0; i < arr.length; i++) {
- var item = arr[i];
- if (item.menuId == parentId) {
- temp.push(item);
- forFn(arr, item.parentId);
- }
- }
- };
- forFn(arr, parentId);
- return temp;
+ var temp = [];
+ var forFn = function (arr, parentId) {
+ for (var i = 0; i < arr.length; i++) {
+ var item = arr[i];
+ if (item.menuId == parentId) {
+ temp.push(item);
+ forFn(arr, item.parentId);
+ }
+ }
+ };
+ forFn(arr, parentId);
+ return temp;
}
@@ -200,20 +201,20 @@ export function familyTree(arr, parentId) {
* 树转list
*/
export function treeToList(tree) {
- for (var i in tree) {
- var node = tree[i];
- list = []; //结果lsit
- if (node.children.length !== 0) { //遍历树的第一层,只有一个根结点
- //第一层加入到list中,因为根结点模块设置为虚拟结点,所以不用加入
- /*list.push({
- id: node.id,
- name: node.title,
- parentId:node.parentId
- });*/
- toListDF(node.children, list, node.menuId); //遍历子树,并加入到list中.
- }
+ for (var i in tree) {
+ var node = tree[i];
+ list = []; //结果lsit
+ if (node.children.length !== 0) { //遍历树的第一层,只有一个根结点
+ //第一层加入到list中,因为根结点模块设置为虚拟结点,所以不用加入
+ /*list.push({
+ id: node.id,
+ name: node.title,
+ parentId:node.parentId
+ });*/
+ toListDF(node.children, list, node.menuId); //遍历子树,并加入到list中.
}
- return list;
+ }
+ return list;
}
/**
@@ -224,28 +225,27 @@ export function treeToList(tree) {
* @params parentId:当前遍历节点的父级节点id,初始为null(因为根节点无parentId)
**/
export function toListDF(tree, list, parentId) {
- for (var i in tree) { //遍历最上层
- //将当前树放入list中
- var node = tree[i];
- list.push({
- menuId: node.menuId,
- name: node.title,
- parentId: parentId
- });
- //如果有子结点,再遍历子结点
- if (node.children.length !== 0) {
- toListDF(node.children, list, node.menuId) //递归
- }
+ for (var i in tree) { //遍历最上层
+ //将当前树放入list中
+ var node = tree[i];
+ list.push({
+ menuId: node.menuId,
+ name: node.title,
+ parentId: parentId
+ });
+ //如果有子结点,再遍历子结点
+ if (node.children.length !== 0) {
+ toListDF(node.children, list, node.menuId) //递归
}
+ }
}
/**
* 清除登录信息
*/
export function clearLoginInfo() {
- // Vue.cookie.delete('token')
- store.commit('resetStore')
- router.options.isAddDynamicMenuRoutes = false
+ // Vue.cookie.delete('token')
+ router.options.isAddDynamicMenuRoutes = false
}
@@ -258,19 +258,19 @@ export function clearLoginInfo() {
*/
export function _debounce(fn, delay) {
- var delay = delay || 500;
- var timer;
- return function () {
- var th = this;
- var args = arguments;
- if (timer) {
- clearTimeout(timer);
- }
- timer = setTimeout(function () {
- timer = null;
- fn.apply(th, args);
- }, delay);
- };
+ var delay = delay || 500;
+ var timer;
+ return function () {
+ var th = this;
+ var args = arguments;
+ if (timer) {
+ clearTimeout(timer);
+ }
+ timer = setTimeout(function () {
+ timer = null;
+ fn.apply(th, args);
+ }, delay);
+ };
}
/**
@@ -281,24 +281,24 @@ export function _debounce(fn, delay) {
* @constructor
*/
export function _throttle(fn, interval) {
- var last;
- var timer;
- var interval = interval || 500;
- return function () {
- var th = this;
- var args = arguments;
- var now = +new Date();
- if (last && now - last < interval) {
- clearTimeout(timer);
- timer = setTimeout(function () {
- last = now;
- fn.apply(th, args);
- }, interval);
- } else {
- last = now;
- fn.apply(th, args);
- }
+ var last;
+ var timer;
+ var interval = interval || 500;
+ return function () {
+ var th = this;
+ var args = arguments;
+ var now = +new Date();
+ if (last && now - last < interval) {
+ clearTimeout(timer);
+ timer = setTimeout(function () {
+ last = now;
+ fn.apply(th, args);
+ }, interval);
+ } else {
+ last = now;
+ fn.apply(th, args);
}
+ }
}
/**
@@ -308,98 +308,281 @@ export function _throttle(fn, interval) {
* @constructor
*/
export function isJSON(str) {
- if (typeof (str) === 'string') {
- try {
- var obj = JSON.parse(str);
- if (typeof (obj) === 'object' && obj) {
- return true;
- } else {
- return false;
- }
- } catch (e) {
- return false;
- }
+ if (typeof (str) === 'string') {
+ try {
+ var obj = JSON.parse(str);
+ if (typeof (obj) === 'object' && obj) {
+ return true;
+ } else {
+ return false;
+ }
+ } catch (e) {
+ return false;
}
+ }
}
//监听页面显示隐藏方法
//显示隐藏页面
export function getHiddenProp() {
- var prefixes = ['webkit', 'moz', 'ms', 'o'];
- // if 'hidden' is natively supported just return it
- if ('hidden' in document) return 'hidden';
- // otherwise loop over all the known prefixes until we find one
- for (var i = 0; i < prefixes.length; i++) {
- if ((prefixes[i] + 'Hidden') in document)
- return prefixes[i] + 'Hidden';
- }
- // otherwise it's not supported
- return null;
+ var prefixes = ['webkit', 'moz', 'ms', 'o'];
+ // if 'hidden' is natively supported just return it
+ if ('hidden' in document) return 'hidden';
+ // otherwise loop over all the known prefixes until we find one
+ for (var i = 0; i < prefixes.length; i++) {
+ if ((prefixes[i] + 'Hidden') in document)
+ return prefixes[i] + 'Hidden';
+ }
+ // otherwise it's not supported
+ return null;
}
export function getVisibilityState() {
- var prefixes = ['webkit', 'moz', 'ms', 'o'];
- if ('visibilityState' in document) return 'visibilityState';
- for (var i = 0; i < prefixes.length; i++) {
- if ((prefixes[i] + 'VisibilityState') in document)
- return prefixes[i] + 'VisibilityState';
- }
- // otherwise it's not supported
- return null;
+ var prefixes = ['webkit', 'moz', 'ms', 'o'];
+ if ('visibilityState' in document) return 'visibilityState';
+ for (var i = 0; i < prefixes.length; i++) {
+ if ((prefixes[i] + 'VisibilityState') in document)
+ return prefixes[i] + 'VisibilityState';
+ }
+ // otherwise it's not supported
+ return null;
}
export function isHidden() {
- var prop = getHiddenProp();
- if (!prop) return false;
- return document[prop];
+ var prop = getHiddenProp();
+ if (!prop) return false;
+ return document[prop];
}
//本地显示图片
export function getHost() {
- var protocol = window.location.protocol;
- var host = window.location.host;
- var hostName = '';
+ var protocol = window.location.protocol;
+ var host = window.location.host;
+ var hostName = '';
- if (host.indexOf("localhost") >= 0) {
- hostName = `https://ssp-dev.trace.com.cn`
- } else {
- hostName = `..`
- }
+ if (host.indexOf("localhost") >= 0) {
+ hostName = `https://ssp-dev.trace.com.cn`
+ } else {
+ hostName = `..`
+ }
- return hostName;
+ return hostName;
}
export function Encrypt(Okey, Oiv, payload) {
- const key = CryptoJS.enc.Utf8.parse(Okey);
- const iv = CryptoJS.enc.Utf8.parse(Oiv);
- let srcs = CryptoJS.enc.Utf8.parse(payload)
- const encrypted = CryptoJS.AES.encrypt(srcs, key, { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })
- const base64str = CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
- // return encrypted.ciphertext.toString().toUpperCase();
- return base64str
+ const key = CryptoJS.enc.Utf8.parse(Okey);
+ const iv = CryptoJS.enc.Utf8.parse(Oiv);
+ let srcs = CryptoJS.enc.Utf8.parse(payload)
+ const encrypted = CryptoJS.AES.encrypt(srcs, key, { iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })
+ const base64str = CryptoJS.enc.Base64.stringify(encrypted.ciphertext)
+ // return encrypted.ciphertext.toString().toUpperCase();
+ return base64str
}
export function Decryption(Okey, Oiv, value) {
- const key = CryptoJS.enc.Utf8.parse(Okey);
- const iv = CryptoJS.enc.Utf8.parse(Oiv);
- const decrypt = CryptoJS.AES.decrypt(value, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
- return CryptoJS.enc.Utf8.stringify(decrypt);
+ const key = CryptoJS.enc.Utf8.parse(Okey);
+ const iv = CryptoJS.enc.Utf8.parse(Oiv);
+ const decrypt = CryptoJS.AES.decrypt(value, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
+ return CryptoJS.enc.Utf8.stringify(decrypt);
}
export function DecryptionECB(keyECB, valueECB) {
- const key = CryptoJS.enc.Utf8.parse(keyECB);
- const decrypt = CryptoJS.AES.decrypt(valueECB, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
- return CryptoJS.enc.Utf8.stringify(decrypt);
+ const key = CryptoJS.enc.Utf8.parse(keyECB);
+ const decrypt = CryptoJS.AES.decrypt(valueECB, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 });
+ return CryptoJS.enc.Utf8.stringify(decrypt);
}
export function isSit() {
- return window.location.host.includes('sit')
+ return window.location.host.includes('sit')
}
export function isDev() {
- return window.location.host.includes('localhost') || window.location.host.includes('172.16')
+ return window.location.host.includes('localhost') || window.location.host.includes('172.16')
}
export function isProd() {
- return window.location.host.includes('sxznjh.trace.com.cn') || window.location.host.includes('ssp.trace.com.cn') || window.location.host.includes('dev.trace.com.cn')
+ return window.location.host.includes('sxznjh.trace.com.cn') || window.location.host.includes('ssp.trace.com.cn') || window.location.host.includes('dev.trace.com.cn')
+}
+export function jumpOpenLink(url) {
+ utils.AppToHttpHtml(url);
+}
+export function jumpOpenWeb(type, url, urlType) {
+ console.log('chat-content', type, url);
+ var params = {};
+
+ if (type === "YY_0000") {
+ //保单管家
+ params = {
+ idnum: "1",
+ ownerId: useAppStore().userInfo.encryptPid,
+ openid: useAppStore().userInfo.sourceUserId,
+ };
+ //置换密匙
+ const completeURL = handleURL(url, params)
+ Post("semantic/getYdbqTicket", { url: completeURL, userId: useAppStore().userId }).then(res => {
+ console.log(res)
+ if (res.code === 0) {
+ //data空表示开关关闭
+ if (res.data === "" || res.data === null || res.data === undefined) {
+ utils.openWxPage(url, params);
+ } else {
+ const ticketParam = {
+ accessTicket: res.data
+ }
+ utils.openWxPage(url, ticketParam);
+ }
+ } else {
+ Toast("网络异常,请重试")
+ }
+ })
+ } else if (type === "YY_ydbq") {
+ //移动保全页面
+ params = {
+ mobile: useAppStore().userInfo.phone,
+ pid: useAppStore().userInfo.encryptPid,
+ openid: useAppStore().userInfo.sourceUserId,
+ };
+ //置换密匙
+ const completeURL = handleURL(url, params)
+ Post("semantic/getYdbqTicket", { url: completeURL, userId: useAppStore().userId }).then(res => {
+ console.log(res)
+ if (res.code === 0) {
+ //data空表示开关关闭
+ if (res.data === "" || res.data === null || res.data === undefined) {
+ utils.openWxPage(url, params);
+ } else {
+ const ticketParam = {
+ accessTicket: res.data
+ }
+ utils.openWxPage(url, ticketParam);
+ }
+ } else {
+ Toast("网络异常,请重试")
+ }
+ })
+ } else if (type === "YY_APP_H5") {
+ //在app内部页面打开h5(带参形式)
+ params = {
+ mobile: useAppStore().userInfo.phone,
+ pid: useAppStore().userInfo.encryptPid,
+ };
+
+ utils.AppOpenH5(url, params);
+ } else if (type === "ydbq_2") {
+ // 给付系统
+ params = {
+ url: url,
+ generateType: type,
+ userId: useAppStore().userId,
+ };
+ return utils.openSpecPage(params);
+ } else if (type === "YY_CMD") {
+ // 查门店
+ const newUrl = url + `&idnum=1&openId=${useAppStore().userInfo.sourceUserId}&entryOpenid=${useAppStore().userInfo.entryOpenid}`
+ //置换密匙
+ Post("semantic/getYdbqTicket", { url: newUrl, userId: useAppStore().userId, isCmd: "1" }).then(res => {
+ console.log(res)
+ if (res.code === 0) {
+ //data空表示开关关闭
+ if (res.data === "" || res.data === null || res.data === undefined) {
+ return jumpOpenLink(newUrl);
+ } else {
+ const ticketUrl = url + `&accessTicket=${res.data}`
+ return jumpOpenLink(ticketUrl);
+ }
+ } else {
+ Toast("网络异常,请重试")
+ }
+ })
+ } else if (type === "YY_lsjl") {
+ // 跳转历史记录
+ const openid = utils.getUrlParams().openid
+ router.push({
+ name: "history",
+ query: {
+ ht: useAppStore().source,
+ openid: openid,
+ tokenExist: useAppStore().tokenExist,
+ isWX: useAppStore().isWX,
+ lostChatInfoNum: useAppStore().lostChatInfoNum,
+ param: utils.getUrlParams().param
+ },
+ });
+ return
+ } else if (type === "YY_kjmyd") {
+ utils.useTechSdk()
+ return
+ } else if (type === "YY_hfhz") {
+ // 回访回执
+ const param = { certNum: "1", systemSource: "yykf", userId: useAppStore().userId }
+ Post("semantic/xdhfCreateToken", param).then(res => {
+ const entryptedId = useAppStore().userInfo.versionHFHZ
+ params = {
+ sessionToken: res.data,
+ holderId: encodeURI(entryptedId),
+ holderType: 'a',
+ hzhfSystemSource: '0803',
+ ishwFlag: '1',
+ isqshzFlag: '1',
+ }
+ utils.openWxPage(url, params);
+ })
+ } else if (type === "YY_1v1") {
+ // 1v1专属服务
+ post("thirdPartyAuth/getExclusiveServicesToken").then(res => {
+ if (res.code === 0) {
+ if (res.data) {
+ params = {
+ sour: 'yykf',
+ omoSource: useAppStore().userInfo.source,
+ omoSourceName: encodeURIComponent(useAppStore().userInfo.sourceName),
+ token: res.data
+ }
+ utils.openWxPage(url, params);
+ }
+
+ } else {
+ Toast("网络异常,请重试")
+ }
+ })
+ } else if (type === "YY_yzsfx") {
+ // 一站式复效
+ Post("semantic/getYzsUrl", { userId: useAppStore().userId, bqType: url, urlType }).then(res => {
+ if (res.code === 0) {
+ if (res.data) {
+ let yUrl = res.data
+ utils.openWxPage(yUrl, '');
+ }
+ } else {
+ Toast("网络异常,请重试")
+ }
+ })
+ } else if (type === "YY_GWXCX") {
+ //官微小程序
+ const path = url;
+ wx.miniProgram.navigateTo({
+ url: path
+ });
+ } else if (type === "YY_GWXCX_HOME") {
+ //官微小程序首页
+ const path = url;
+ console.log('path', path, wx.miniProgram.reLaunch)
+ wx.miniProgram.reLaunch({
+ url: path
+ });
+ }
+}
+export function handleURL(url, params) {
+ let flag = url.indexOf("?") != -1 ? true : false
+ let urlPar = '';
+ if (params) {
+ Object.getOwnPropertyNames(params).forEach((item, index) => {
+ if (index === 0 && !flag) {
+ urlPar += `?${item}=${params[item]}`;
+ } else {
+ urlPar += `&${item}=${params[item]}`
+ }
+ });
+ }
+ return url + urlPar
}
\ No newline at end of file