|
@@ -2,48 +2,30 @@
|
|
|
import wx from 'weixin-js-sdk'
|
|
|
// #endif
|
|
|
import store from '@/store/index.js'
|
|
|
-import {
|
|
|
- isWeixin,
|
|
|
- getQueryVariable
|
|
|
-} from "./common.js"
|
|
|
-import {
|
|
|
- delayPerform
|
|
|
-} from "js-perform-lock";
|
|
|
-import md5 from "md5"
|
|
|
-import {getUserInfo} from "./util.js"
|
|
|
+import { isWeixin, getQueryVariable } from './common.js'
|
|
|
+import { delayPerform } from 'js-perform-lock'
|
|
|
+import md5 from 'md5'
|
|
|
+import { getUserInfo } from './util.js'
|
|
|
|
|
|
-import {
|
|
|
- goLoginPage
|
|
|
-} from "@/mixins/index.js"
|
|
|
+import { goLoginPage } from '@/mixins/index.js'
|
|
|
|
|
|
-import {
|
|
|
- setStorage,
|
|
|
- getStorage,
|
|
|
- removeStorage
|
|
|
-} from "@/common/utils/storage.js"
|
|
|
+import { setStorage, getStorage, removeStorage } from '@/common/utils/storage.js'
|
|
|
|
|
|
-export const navToPage = (function() {
|
|
|
+export const navToPage = (function () {
|
|
|
var gopageid = null
|
|
|
|
|
|
// 需要拦截的地址
|
|
|
- var blacklist = [
|
|
|
- "/packageGoods/pages/order",
|
|
|
- "/packageMine/pages/myWebsit",
|
|
|
- "/packageMine/pages/distributorEnter"
|
|
|
- ]
|
|
|
+ var blacklist = ['/packageGoods/pages/order', '/packageMine/pages/myWebsit', '/packageMine/pages/distributorEnter']
|
|
|
|
|
|
- return async function(p, goToType = "navigateTo") {
|
|
|
- var {
|
|
|
- url,
|
|
|
- ...data
|
|
|
- } = p
|
|
|
+ return async function (p, goToType = 'navigateTo') {
|
|
|
+ var { url, ...data } = p
|
|
|
|
|
|
- if(url && blacklist.find(item=>!!~url.indexOf(item))){
|
|
|
+ if (url && blacklist.find(item => !!~url.indexOf(item))) {
|
|
|
try {
|
|
|
var userinfo = await getUserInfo()
|
|
|
// 补充手机号判断
|
|
|
|
|
|
- if(!userinfo.mobile){
|
|
|
+ if (!userinfo.mobile) {
|
|
|
uni[goToType]({
|
|
|
url: webHref('/packageMine/pages/phone'),
|
|
|
...data
|
|
@@ -66,15 +48,15 @@ export const navToPage = (function() {
|
|
|
if (isWeixin()) {
|
|
|
wx.miniProgram.getEnv(res => {
|
|
|
if (res.miniprogram) {
|
|
|
- var i = 0;
|
|
|
- (function goTo() {
|
|
|
+ var i = 0
|
|
|
+ ;(function goTo() {
|
|
|
if (gopageid) {
|
|
|
clearTimeout(gopageid)
|
|
|
}
|
|
|
i++
|
|
|
if (uniWebview && uniWebview[goToType]) {
|
|
|
// h5跳转小程序
|
|
|
- if (getStorage('miniProgram') == "jsm_env") {
|
|
|
+ if (getStorage('miniProgram') == 'jsm_env') {
|
|
|
// 家盛茂小程序环境
|
|
|
uniWebview[goToType]({
|
|
|
...(() => {
|
|
@@ -90,7 +72,7 @@ export const navToPage = (function() {
|
|
|
} else {
|
|
|
// 原生小程序页面
|
|
|
var miniProgramPages = []
|
|
|
- if (!!~miniProgramPages.indexOf(url.split("?")[0])) {
|
|
|
+ if (!!~miniProgramPages.indexOf(url.split('?')[0])) {
|
|
|
// 第三方小程序跳转我们的h5页面处理
|
|
|
uniWebview[goToType]({
|
|
|
...(() => {
|
|
@@ -119,7 +101,7 @@ export const navToPage = (function() {
|
|
|
}
|
|
|
}
|
|
|
} else if (i < 10) {
|
|
|
- gopageid = setTimeout(function() {
|
|
|
+ gopageid = setTimeout(function () {
|
|
|
gopageid = null
|
|
|
goTo()
|
|
|
}, 200)
|
|
@@ -156,40 +138,42 @@ export function webViewHref(url, pam = {}, crossPagePam = {}) {
|
|
|
var defaultPam = {
|
|
|
...pam,
|
|
|
...crossPagePam,
|
|
|
- "x-token": (store.state.user.token),
|
|
|
- openId: (store.state.user.openId),
|
|
|
- userId: (store.state.user.userId),
|
|
|
- mobile: (store.state.user.mobile),
|
|
|
- username: (store.state.user.name),
|
|
|
- useravatar: (store.state.user.avatar),
|
|
|
- appId: (store.state.user.appId),
|
|
|
- ...(()=>{
|
|
|
- if(store.state.user.miniOpenId){
|
|
|
- return{
|
|
|
- miniOpenId: (store.state.user.miniOpenId),
|
|
|
+ 'x-token': store.state.user.token,
|
|
|
+ openId: store.state.user.openId,
|
|
|
+ userId: store.state.user.userId,
|
|
|
+ mobile: store.state.user.mobile,
|
|
|
+ username: store.state.user.name,
|
|
|
+ useravatar: store.state.user.avatar,
|
|
|
+ appId: store.state.user.appId,
|
|
|
+ ...(() => {
|
|
|
+ if (store.state.user.miniOpenId) {
|
|
|
+ return {
|
|
|
+ miniOpenId: store.state.user.miniOpenId
|
|
|
}
|
|
|
}
|
|
|
return {}
|
|
|
})(),
|
|
|
- ...(()=>{
|
|
|
- if(store.state.user.sharerOpenId){
|
|
|
- return{
|
|
|
- sharerOpenId: (store.state.user.sharerOpenId),
|
|
|
+ ...(() => {
|
|
|
+ if (store.state.user.sharerOpenId) {
|
|
|
+ return {
|
|
|
+ sharerOpenId: store.state.user.sharerOpenId
|
|
|
}
|
|
|
}
|
|
|
return {}
|
|
|
})(),
|
|
|
// #ifndef H5
|
|
|
- miniProgram: "jsm_env",
|
|
|
+ miniProgram: 'jsm_env'
|
|
|
// #endif
|
|
|
}
|
|
|
|
|
|
- var pamstr = Object.entries(defaultPam).map(item => item.join("=")).join("&");
|
|
|
+ var pamstr = Object.entries(defaultPam)
|
|
|
+ .map(item => item.join('='))
|
|
|
+ .join('&')
|
|
|
|
|
|
- if (!!~url.indexOf("?")) {
|
|
|
- return process.env.VUE_APP_HREF + url + `${pamstr?"&"+pamstr:""}`
|
|
|
+ if (!!~url.indexOf('?')) {
|
|
|
+ return process.env.VUE_APP_HREF + url + `${pamstr ? '&' + pamstr : ''}`
|
|
|
} else {
|
|
|
- return process.env.VUE_APP_HREF + url + `${pamstr?"?"+pamstr:""}`
|
|
|
+ return process.env.VUE_APP_HREF + url + `${pamstr ? '?' + pamstr : ''}`
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -199,74 +183,75 @@ window.navToPage = navToPage
|
|
|
|
|
|
// #endif
|
|
|
|
|
|
-
|
|
|
export function webHref(url, pam = {}, crossPagePam = {}) {
|
|
|
- if(!url) {
|
|
|
- return false;
|
|
|
+ if (!url) {
|
|
|
+ return undefined
|
|
|
}
|
|
|
var defaultPam = {
|
|
|
...pam,
|
|
|
...crossPagePam,
|
|
|
- "x-token": (store.state.user.token),
|
|
|
- openId: (store.state.user.openId),
|
|
|
- userId: (store.state.user.userId),
|
|
|
- mobile: (store.state.user.mobile),
|
|
|
- username: (store.state.user.name),
|
|
|
- useravatar: (store.state.user.avatar),
|
|
|
- appId: (store.state.user.appId),
|
|
|
- ...(()=>{
|
|
|
- if(store.state.user.miniOpenId){
|
|
|
- return{
|
|
|
- miniOpenId: (store.state.user.miniOpenId),
|
|
|
+ 'x-token': store.state.user.token,
|
|
|
+ openId: store.state.user.openId,
|
|
|
+ userId: store.state.user.userId,
|
|
|
+ mobile: store.state.user.mobile,
|
|
|
+ username: store.state.user.name,
|
|
|
+ useravatar: store.state.user.avatar,
|
|
|
+ appId: store.state.user.appId,
|
|
|
+ ...(() => {
|
|
|
+ if (store.state.user.miniOpenId) {
|
|
|
+ return {
|
|
|
+ miniOpenId: store.state.user.miniOpenId
|
|
|
}
|
|
|
}
|
|
|
return {}
|
|
|
})(),
|
|
|
- ...(()=>{
|
|
|
- if(store.state.user.sharerOpenId){
|
|
|
- return{
|
|
|
- sharerOpenId: (store.state.user.sharerOpenId),
|
|
|
+ ...(() => {
|
|
|
+ if (store.state.user.sharerOpenId) {
|
|
|
+ return {
|
|
|
+ sharerOpenId: store.state.user.sharerOpenId
|
|
|
}
|
|
|
}
|
|
|
return {}
|
|
|
})(),
|
|
|
// #ifndef H5
|
|
|
- miniProgram: "jsm_env",
|
|
|
+ miniProgram: 'jsm_env'
|
|
|
// #endif
|
|
|
}
|
|
|
|
|
|
- var pamstr = Object.entries(defaultPam).map(item => item.join("=")).join("&");
|
|
|
+ var pamstr = Object.entries(defaultPam)
|
|
|
+ .map(item => item.join('='))
|
|
|
+ .join('&')
|
|
|
|
|
|
- if (!!~url.indexOf("?")) {
|
|
|
- return url + `${pamstr?"&"+pamstr:""}`
|
|
|
+ if (!!~url.indexOf('?')) {
|
|
|
+ return url + `${pamstr ? '&' + pamstr : ''}`
|
|
|
} else {
|
|
|
- return url + `${pamstr?"?"+pamstr:""}`
|
|
|
+ return url + `${pamstr ? '?' + pamstr : ''}`
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-export const crossPage = (function() {
|
|
|
+export const crossPage = (function () {
|
|
|
var funs = {}
|
|
|
var tiemIdIs = {}
|
|
|
var datacd = []
|
|
|
|
|
|
// #ifndef H5
|
|
|
- var delaydeparture = (new delayPerform(250)).refactor(function() {
|
|
|
+ var delaydeparture = new delayPerform(250).refactor(function () {
|
|
|
var data = {}
|
|
|
- datacd.map(function([name, val]) {
|
|
|
+ datacd.map(function ([name, val]) {
|
|
|
data[name] = val
|
|
|
})
|
|
|
- setStorage("crossPageTs", encodeURIComponent(JSON.stringify(data)));
|
|
|
- store.commit("user/setcrossPagePam", (new Date().getTime()));
|
|
|
- setTimeout(function() {
|
|
|
- removeStorage("crossPageTs")
|
|
|
+ setStorage('crossPageTs', encodeURIComponent(JSON.stringify(data)))
|
|
|
+ store.commit('user/setcrossPagePam', new Date().getTime())
|
|
|
+ setTimeout(function () {
|
|
|
+ removeStorage('crossPageTs')
|
|
|
}, 350)
|
|
|
datacd = []
|
|
|
- });
|
|
|
+ })
|
|
|
// #endif
|
|
|
|
|
|
// #ifdef H5
|
|
|
- var delaydepartFun = (new delayPerform(250)).refactor(function() {
|
|
|
- var data = getQueryVariable("crossPageTs")
|
|
|
+ var delaydepartFun = new delayPerform(250).refactor(function () {
|
|
|
+ var data = getQueryVariable('crossPageTs')
|
|
|
if (data) {
|
|
|
data = JSON.parse(decodeURIComponent(data))
|
|
|
Object.keys(data).map(name => {
|
|
@@ -275,29 +260,29 @@ export const crossPage = (function() {
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
- });
|
|
|
+ })
|
|
|
// #endif
|
|
|
|
|
|
// #ifdef H5
|
|
|
var idss = {}
|
|
|
wx.miniProgram.getEnv(res => {
|
|
|
if (res.miniprogram) {
|
|
|
- (function tiemID() {
|
|
|
- try{
|
|
|
+ ;(function tiemID() {
|
|
|
+ try {
|
|
|
Object.keys(idss).map(name => {
|
|
|
- if(idss[name] && idss[name] < new Date().getTime()){
|
|
|
- if(getStorage(name)){
|
|
|
+ if (idss[name] && idss[name] < new Date().getTime()) {
|
|
|
+ if (getStorage(name)) {
|
|
|
removeStorage(name)
|
|
|
}
|
|
|
delete idss[name]
|
|
|
}
|
|
|
})
|
|
|
- }catch(e){
|
|
|
+ } catch (e) {
|
|
|
//TODO handle the exception
|
|
|
}
|
|
|
- try{
|
|
|
+ try {
|
|
|
Object.keys(funs).map(name => {
|
|
|
- var data = getStorage(name);
|
|
|
+ var data = getStorage(name)
|
|
|
if (data && !idss[name]) {
|
|
|
Object.keys(funs[name]).map(key => {
|
|
|
funs[name][key](data)
|
|
@@ -305,7 +290,7 @@ export const crossPage = (function() {
|
|
|
idss[name] = new Date().getTime() + 500
|
|
|
}
|
|
|
})
|
|
|
- }catch(e){
|
|
|
+ } catch (e) {
|
|
|
//TODO handle the exception
|
|
|
}
|
|
|
setTimeout(tiemID, 200)
|
|
@@ -339,11 +324,11 @@ export const crossPage = (function() {
|
|
|
// h5在小程序环境下通过定时器传送
|
|
|
wx.miniProgram.getEnv(res => {
|
|
|
if (res.miniprogram) {
|
|
|
- var postMessage = (window.uniWebview && window.uniWebview.postMessage) || (window.postMessage)
|
|
|
+ var postMessage = (window.uniWebview && window.uniWebview.postMessage) || window.postMessage
|
|
|
if (postMessage) {
|
|
|
postMessage({
|
|
|
data: {
|
|
|
- type: "crossPageTs",
|
|
|
+ type: 'crossPageTs',
|
|
|
name,
|
|
|
data
|
|
|
}
|
|
@@ -352,8 +337,8 @@ export const crossPage = (function() {
|
|
|
if (tiemIdIs[name]) {
|
|
|
clearTimeout(tiemIdIs[name])
|
|
|
}
|
|
|
- setStorage(name, data === undefined ? true : data);
|
|
|
- tiemIdIs[name] = setTimeout(function() {
|
|
|
+ setStorage(name, data === undefined ? true : data)
|
|
|
+ tiemIdIs[name] = setTimeout(function () {
|
|
|
removeStorage(name)
|
|
|
}, 350)
|
|
|
}
|
|
@@ -373,32 +358,28 @@ export const crossPage = (function() {
|
|
|
},
|
|
|
|
|
|
$off(name, fun) {
|
|
|
- if(fun){
|
|
|
+ if (fun) {
|
|
|
var skey = md5(fun.toString())
|
|
|
if (funs[name] && funs[name][skey]) {
|
|
|
delete funs[name][skey]
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
delete funs[name]
|
|
|
}
|
|
|
},
|
|
|
|
|
|
// #ifndef H5
|
|
|
$listener(e) {
|
|
|
- e.detail.data.map(({
|
|
|
- type,
|
|
|
- name,
|
|
|
- data
|
|
|
- }) => {
|
|
|
+ e.detail.data.map(({ type, name, data }) => {
|
|
|
if (funs[name]) {
|
|
|
Object.keys(funs[name]).map(key => {
|
|
|
funs[name][key](data)
|
|
|
})
|
|
|
}
|
|
|
})
|
|
|
- },
|
|
|
+ }
|
|
|
// #endif
|
|
|
- };
|
|
|
+ }
|
|
|
|
|
|
return funco
|
|
|
})()
|