From 59055982ab5f92c1dbec642332e36cee097c4a39 Mon Sep 17 00:00:00 2001
From: Gaoxs <704041637@qq.com>
Date: Tue, 22 Sep 2020 17:32:13 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96h5=E5=BE=AE=E4=BF=A1=E6=8E=88?=
=?UTF-8?q?=E6=9D=83=E9=80=BB=E8=BE=91;=E4=BF=AE=E6=94=B9CountDown?=
=?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/CountDown.vue | 177 ++++++++++++++++++++-------------------
libs/wechat.js | 7 +-
main.js | 99 +++++++++++-----------
utils/index.js | 21 +++--
4 files changed, 154 insertions(+), 150 deletions(-)
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 @@
- {{ rtipText }}
- {{ rday }}
- {{ rdayText }}
+ {{ tipText }}
+ {{ day }}
+ {{ dayText }}
{{ hour }}
- {{ rhourText }}
+ {{ hourText }}
{{ minute }}
- {{ rminuteText }}
+ {{ minuteText }}
{{ second }}
- {{ rsecondText }}
+ {{ secondText }}
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,6 +82,29 @@ 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 APP-PLUS
+// App平台编译的代码
+Vue.prototype.$deviceType = 'app'
+store.commit('updateDevicetype', 'app')
+Vue.prototype.$platform = uni.getSystemInfoSync().platform
+// #endif
+
+// #ifdef MP-WEIXIN
+// 微信小程序编译的代码
+Vue.prototype.$deviceType = 'routine'
+store.commit('updateDevicetype', 'routine')
+// #endif
+
+// !!! ps 不建议在 template 中使用 $deviceType 去判断当前环境,很有可能出现 $deviceType 为 undefined 导致判断出错的问题,可以在 script 模块中正常使用
+// 建议通过 store 去获取 $deviceType 可以保证 template 中取到的值有效
+// import { mapState, mapMutations, mapActions } from 'vuex';
+// computed: {
+// ...mapState(['$deviceType'])
+// },
+
+
// #ifdef H5
// H5编译的代码
@@ -102,8 +125,6 @@ import {
} from '@/libs/wechat'
import { isWeixin } from '@/utils'
-
-
const CACHE_KEY = "clear_0.0.1";
if (!cookie.has(CACHE_KEY)) {
@@ -122,56 +143,36 @@ if (urlSpread !== undefined) {
cookie.set("spread", urlSpread || 0);
}
}
+// #endif
-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')
-}
+
+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
-// #endif
+ // #ifndef H5
+ app.$mount()
+ // #endif
-// #ifdef APP-PLUS
-// App平台编译的代码
-Vue.prototype.$deviceType = 'app'
-store.commit('updateDevicetype', 'app')
-Vue.prototype.$platform = uni.getSystemInfoSync().platform
-// #endif
-
-// #ifdef MP-WEIXIN
-// 微信小程序编译的代码
-Vue.prototype.$deviceType = 'routine'
-store.commit('updateDevicetype', 'routine')
-// #endif
-
-// !!! ps 不建议在 template 中使用 $deviceType 去判断当前环境,很有可能出现 $deviceType 为 undefined 导致判断出错的问题,可以在 script 模块中正常使用
-// 建议通过 store 去获取 $deviceType 可以保证 template 中取到的值有效
-// import { mapState, mapMutations, mapActions } from 'vuex';
-// computed: {
-// ...mapState(['$deviceType'])
-// },
+}
-app.$mount()
+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) {