diff --git a/components/CountDown.vue b/components/CountDown.vue index 8ca5cff..1f61135 100644 --- a/components/CountDown.vue +++ b/components/CountDown.vue @@ -1,99 +1,104 @@ diff --git a/libs/wechat.js b/libs/wechat.js index a252815..5cad6b7 100644 --- a/libs/wechat.js +++ b/libs/wechat.js @@ -88,7 +88,7 @@ let wechatObj; let appId let wechatLoading = false -export async function wechat() { +export function wechat() { console.log('初始化微信配置') wechatLoading = false return new Promise((resolve, reject) => { @@ -148,7 +148,7 @@ export async function oAuth() { }) } -export function auth(code) { +export async function auth(code) { console.log('获取微信授权') return new Promise((resolve, reject) => { let loginType = cookie.get(LOGINTYPE); @@ -170,7 +170,7 @@ export function auth(code) { }) } -export function toAuth() { +export async function toAuth() { if (wechatLoading) { return } @@ -187,7 +187,6 @@ function getAuthUrl(appId) { // #ifdef H5 // #endif - debugger cookie.set('redirect', window.location.href) const redirect_uri = encodeURIComponent(`${location.origin}/pages/Loading/index`); // const redirect_uri = encodeURIComponent(`${location.origin}/pages/Loading/index?path=${encodeURIComponent(window.location.href)}`); diff --git a/main.js b/main.js index e88baee..23eb888 100644 --- a/main.js +++ b/main.js @@ -82,77 +82,7 @@ Object.defineProperty(Vue.prototype, '$yroute', { Vue.prototype.$VUE_APP_RESOURCES_URL = VUE_APP_RESOURCES_URL Vue.prototype.$VUE_APP_API_URL = VUE_APP_API_URL Vue.component('cu-custom', cuCustom); -// #ifdef H5 -// H5编译的代码 -import { - wechat, - clearAuthStatus, - oAuth, - auth, - toAuth, - pay, - openAddress, - openShareAll, - openShareAppMessage, - openShareTimeline, - wechatEvevt, - ready, - wxShowLocation, -} from '@/libs/wechat' - -import { isWeixin } from '@/utils' - - -const CACHE_KEY = "clear_0.0.1"; - -if (!cookie.has(CACHE_KEY)) { - cookie.clearAll(); - cookie.set(CACHE_KEY, 1); -} - -var urlSpread = parseQuery()["spread"]; - -if (urlSpread !== undefined) { - var spread = cookie.get("spread"); - urlSpread = parseInt(urlSpread); - if (!Number.isNaN(urlSpread) && spread !== urlSpread) { - cookie.set("spread", urlSpread || 0); - } else if (spread === 0 || typeof spread !== "number") { - cookie.set("spread", urlSpread || 0); - } -} - -Vue.prototype.wechat = wechat -Vue.prototype.clearAuthStatus = clearAuthStatus -Vue.prototype.oAuth = oAuth -Vue.prototype.auth = auth -Vue.prototype.toAuth = toAuth -Vue.prototype.pay = pay -Vue.prototype.openAddress = openAddress -Vue.prototype.openShareAll = openShareAll -Vue.prototype.openShareAppMessage = openShareAppMessage -Vue.prototype.openShareTimeline = openShareTimeline -Vue.prototype.wechatEvevt = wechatEvevt -Vue.prototype.ready = ready -Vue.prototype.wxShowLocation = wxShowLocation - -// 判断是否是微信浏览器 -if (isWeixin()) { - Vue.prototype.$deviceType = 'weixin' - store.commit('updateDevicetype', 'weixin') - let wechat = await wechat() - if (wechat) { - await oAuth() - } -} else { - Vue.prototype.$deviceType = 'weixinh5' - store.commit('updateDevicetype', 'weixinh5') -} - - - -// #endif // #ifdef APP-PLUS // App平台编译的代码 @@ -174,4 +104,75 @@ store.commit('updateDevicetype', 'routine') // ...mapState(['$deviceType']) // }, -app.$mount() + +// #ifdef H5 +// H5编译的代码 + +import { + wechat, + clearAuthStatus, + oAuth, + auth, + toAuth, + pay, + openAddress, + openShareAll, + openShareAppMessage, + openShareTimeline, + wechatEvevt, + ready, + wxShowLocation, +} from '@/libs/wechat' + +import { isWeixin } from '@/utils' +const CACHE_KEY = "clear_0.0.1"; + +if (!cookie.has(CACHE_KEY)) { + cookie.clearAll(); + cookie.set(CACHE_KEY, 1); +} + +var urlSpread = parseQuery()["spread"]; + +if (urlSpread !== undefined) { + var spread = cookie.get("spread"); + urlSpread = parseInt(urlSpread); + if (!Number.isNaN(urlSpread) && spread !== urlSpread) { + cookie.set("spread", urlSpread || 0); + } else if (spread === 0 || typeof spread !== "number") { + cookie.set("spread", urlSpread || 0); + } +} +// #endif + + + +async function init() { + + // #ifdef H5 + // H5编译的代码 + // 判断是否是微信浏览器 + if (isWeixin()) { + Vue.prototype.$deviceType = 'weixin' + store.commit('updateDevicetype', 'weixin') + let wechatInit = await wechat() + console.log(wechatInit) + if (wechatInit) { + await oAuth() + app.$mount() + } + } else { + Vue.prototype.$deviceType = 'weixinh5' + store.commit('updateDevicetype', 'weixinh5') + app.$mount() + + } + // #endif + + // #ifndef H5 + app.$mount() + // #endif + +} + +init() diff --git a/utils/index.js b/utils/index.js index 5f738c0..7bc8f02 100644 --- a/utils/index.js +++ b/utils/index.js @@ -204,25 +204,25 @@ export const authorize = (authorizeStr) => { } export const login = () => { - debugger; - console.log(Vue.prototype) return new Promise((resolve, reject) => { if (Vue.prototype.$deviceType == 'weixin') { // 微信授权登录 const { code } = parseQuery() - debugger; if (code) { auth(code) .then(() => { - // location.replace( - // decodeURIComponent(decodeURIComponent(this.$route.params.url)) - // ); let redirect = cookie.get('redirect') console.log(redirect) - debugger; - location.href = decodeURIComponent( - decodeURIComponent(this.$route.params.url) - ); + if (redirect) { + redirect = redirect.split('/pages')[1] + reLaunch({ + path: '/pages' + redirect, + }); + } else { + reLaunch({ + path: '/pages/home/index', + }); + } }) .catch(() => { reject('当前运行环境为微信浏览器') @@ -866,7 +866,6 @@ export const handleLoginFailure = () => { store.commit("updateAuthorization", false); let currentPageUrl = getCurrentPageUrl() - debugger if (store.state.$deviceType == 'weixin') { // 如果不是授权页面, if (!store.getters.isAuthorizationPage) {