MrShi
2025-04-17 b1c7e4acea76040cf6efe95e948456ac270064cd
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
<script>
    export default {
        onLaunch: function() {
            this.init()
        },
        onShow: function() {
            console.log('App Show')
        },
        onHide: function() {
            console.log('App Hide')
        },
        methods: {
            async init() {
                // if (!this.$store.state.userInfo) {
                //     let res = await this.$u.api.login({ code: 'ShiXuHui' })
                //     if (res.code === 200) {
                //         this.$store.commit('setUserInfo', res.data)
                //     }
                // }
                // return
                let code = this.getQueryVariable('code')
                if (code) {
                    let res = await this.$u.api.login({ code: code })
                    if (res.code === 200) {
                        this.$store.commit('setUserInfo', res.data)
                        this.initRegister()
                        
                        // 判断是否跳转详情
                        let url = window.location.href
                        if (url.indexOf('state=') !== -1 && url.indexOf('#') !== -1) {
                            let value = url.substring(url.indexOf('state=') + 6, url.indexOf('#')).split('_')
                            console.log(value)
                            if (value.length > 0) {
                                if (value[0] == 0) {
                                    uni.navigateTo({
                                        url: `/pages/details_she/details_she?id=${value[1]}`
                                    })
                                } else if (value[0] == 1) {
                                    uni.navigateTo({
                                        url: `/pages/workOrder_dca/workOrder_dca?id=${value[1]}`
                                    })
                                } else if (value[0] == 3) {
                                    uni.navigateTo({
                                        url: `/pages/workOrder_she/workOrder_she?id=${value[1]}`
                                    })
                                }
                            }
                        }
                    }
                } else {
                    let loc_href = encodeURIComponent("https://dmtest.ahapp.net/lianhelihua_web/")
                    
                    let corpId = 'wweea8f71b54e3b835';
                    let agentId = '1000095';
            
                    let wxUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${corpId}&redirect_uri=${loc_href}&response_type=code&scope=snsapi_base&state=#wechat_redirect`
                    
                    location.href = wxUrl;
                }
            },
            // 获取url参数
            getQueryVariable(variable) {
                var query = window.location.search.substring(1);
                var vars = query.split("&");
                for (var i = 0; i < vars.length; i++) {
                    var pair = vars[i].split("=");
                    if (pair[0] == variable) {
                        return pair[1];
                    }
                }
                return (false);
            },
            async initRegister() {
                let fullURL = window.location.href.substring(0, window.location.href.lastIndexOf('#'))
                console.log(fullURL)
                let resData = await this.$u.api.getQwSignature({ url: fullURL })
                if (resData.code === 200) {
                    this.$ww.register({
                        corpId: 'wweea8f71b54e3b835',
                        agentId: '1000095',
                        jsApiList: [
                            'initOpenData',
                            'selectEnterpriseContact'
                        ],
                        getConfigSignature: (url) => {
                            console.log(this.$ww.getSignature(resData.data.ticket))
                            return this.$ww.getSignature(resData.data.ticket)
                        }
                    })
                    this.$ww.initOpenData({
                        success: (res) => {
                            console.log('success', res)
                        },
                        fail: (err) => {
                            console.log('fail', err)
                        }
                    })
                }
            }
        }
    }
</script>
 
<style lang="scss">
    @import "uview-ui/index.scss";
</style>