-
Notifications
You must be signed in to change notification settings - Fork 59
/
Copy pathApp.vue
149 lines (130 loc) · 4.09 KB
/
App.vue
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<!--
* @Description:
* @Author: FangYaoTang
* @Date: 2023-08-16 08:57:26
* @LastEditor: FangYaoTang
* @LastEditTime: 2023-09-08 11:22:45
* @Copyright: by 南阳迈特网络科技有限公司 禁止任何形式(包含二次开发)转售系统源码,违者必究。
-->
<script>
// #ifdef APP-PLUS
const request = require('./common/request/index').default
const utils = require('./common/utils/index.js').default
import checkappupdate from '@/common/utils/checkappupdate.js'
import api from '@/common/request/api.js'
// #endif
import {imgAxios} from "@/components/jqueryImg.js"
import { mapState, mapGetters, mapMutations, mapActions } from "vuex"
export default {
globalData:{
status:1,
isColor:'',
isBgColor:''
},
async onLaunch(options) {
let that = this
//做img接口请求
console.log("App Launch");
// 保存分享参数(H5、小程序)
options.query.scene && this.setShare({ spm: options.query.scene })
// 获取配置信息
await this.getConfigInfo()
// #ifdef APP-PLUS
// nvue变量
this.request = request
this.utils = utils
// 锁定竖屏模式
plus.screen.lockOrientation('portrait-primary');
// app版本检测
checkappupdate.check({
api: this.$BASE_URL + api.common.update.url
})
// #endif
// #ifdef H5
// 非微信浏览器拦截
// const useragent = navigator.userAgent
// if (useragent.match(/MicroMessenger/i) != 'MicroMessenger') {
// window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=888"
// }
// #endif
// #ifdef MP-WEIXIN
// 朋友圈场景
if(options.scene === 1155) {
if(options.path != 'pages/home/index') {
uni.switchTab({
url: '/pages/home/index'
})
}
}
// 小程序更新
const updateManager = uni.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 请求完新版本信息的回调
console.log(res.hasUpdate, "版本检测");
if(res.hasUpdate) {
updateManager.onUpdateReady(function (res) {
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: res => {
if (res.confirm) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function (res) {
// 新版本下载失败
uni.showModal({
title: '提示',
content: '新版小程序下载失败\n请自行退出程序,手动卸载本程序,再运行',
confirmText: "知道了"
});
})
}
})
// #endif
that.$isResolve()
},
async onShow() {
// #ifdef H5
imgAxios().then(res=>{
})
// #endif
//小程序自动登陆
this.isLogin()
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
},
methods: {
async isLogin(){
// #ifdef H5
console.log('进入')
const obj = {
host: this.$WXOA_CALLBACK,
event: 'login',
};
const payload = encodeURIComponent(JSON.stringify(obj));
const redirect_uri = encodeURIComponent(`${this.$BASE_URL}/addons/drama/user/wxOfficialAccountOauth/sign/${this.$SIGN}?payload=${payload}`);
const oauthUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${this.$store.state.app.appid}&redirect_uri=${redirect_uri}&response_type=code&scope=snsapi_userinfo&state=1`
const page = getCurrentPages();
const prevPage = page[page.length - 2]
const lastPage = prevPage.__page__.fullPath
uni.setStorageSync("lastPage", lastPage);
window.location.href = oauthUrl;
// #endif
},
...mapActions("user", ["getUserInfo"]),
...mapActions("app", ["getConfigInfo"]),
...mapMutations("app", ["setShare"])
},
}
</script>
<style lang="scss">
/*每个页面公共css */
@import "@/uview-ui/index.scss";
@import "@/common/style/style.scss";
</style>