cshenfu
2023-06-14 de93aa62c83d6afb9f70cd5a22838375db0a8cbc
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
import {
        store,
        mutations
    } from '@/uni_modules/uni-id-pages/common/store.js'
import config from '@/uni_modules/uni-id-pages/config.js'
let mixin = {
    data() {
        return {
            config,
            uniIdRedirectUrl: '',
            isMounted: false
        }
    },
    onUnload() {
        // #ifdef H5
        document.onkeydown = false
        // #endif
    },
    mounted() {
        this.isMounted = true;
    },
    onLoad(e) {
        if (e.is_weixin_redirect) {
            uni.showLoading({
                mask: true
            })
 
            if( window.location.href.includes('#') ){
                // 将url通过 ? 分割获取后面的参数字符串 再通过 & 将每一个参数单独分割出来
                let paramsArr = window.location.href.split('?')[1].split('&')
                paramsArr.forEach(item=>{
                    let arr = item.split('=')
                    if(arr[0] == 'code'){
                        e.code = arr[1]
                    }
                })
            }
            this.$nextTick(n => {
                // console.log(this.$refs.uniFabLogin);
                this.$refs.uniFabLogin.login({
                    code:e.code
                }, 'weixin')
            })
        }
 
        if (e.uniIdRedirectUrl) {
            this.uniIdRedirectUrl = decodeURIComponent(e.uniIdRedirectUrl)
        }
        
        if(getCurrentPages().length === 1){
            uni.hideHomeButton()
            console.log('已隐藏:返回首页按钮');
        }
    },
    computed: {
        needAgreements() {
            if (this.isMounted) {
                if (this.$refs.agreements) {
                    return this.$refs.agreements.needAgreements
                } else {
                    return false
                }
            }
        },
        agree: {
            get() {
                if (this.isMounted) {
                    if (this.$refs.agreements) {
                        return this.$refs.agreements.isAgree
                    } else {
                        return true
                    }
                }
            },
            set(agree) {
                if (this.$refs.agreements) {
                    this.$refs.agreements.isAgree = agree
                } else {
                    console.log('不存在 隐私政策协议组件');
                }
            }
        }
    },
    methods: {
        loginSuccess(e) {
            mutations.loginSuccess({
                ...e,
                uniIdRedirectUrl: this.uniIdRedirectUrl
            })
        }
    }
}
export default mixin