TM
2020-12-16 916ba7dbd9b28f126b37f4db815a91f38aac4dbb
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
let $api = require('./utils/ajaxFn.js');
 
App({
  // 存储全局需要的数据
  lastLoginMgrId:'',//最后一次登录的mgrId
  sessionId:'',
  userStyle:{
    backColor:"#F2EBFF",//背景色
    defaultColor:"#8C48FF",//主题色
    gradientColor: 'linear-gradient(90deg, #9C33FF, #8C4EF5)',
    logoSrc:"",//logo地址
    servicePhone:"02864063350"//客服电话
  },//用户配置样式
  userInfo:{},//获取到的用户信息
  userId:"",//获取到的user_id
 
  onLaunch(options) {
    // 第一次打开
    this.getAuthor()
  },
  onShow(options) {
    // 从后台被 scheme 重新打开
    // options.query == {number:1}
    console.log('从后台被 scheme 重新打开',1111)
  },
  // 进入就获取授权获取uid
  getAuthor() {
    my.getAuthCode({
      scopes: ['auth_base'],
      // 主动授权:auth_user,静默授权:auth_base。或者其它scope。如需同时获取用户多项授权,可在 scopes 中传入多个 scope 值。
      success: (res) => {
        console.log(res)
        if (res.authCode) {
          // 认证成功
          // 调用自己的服务端接口,让服务端进行后端的授权认证,并且利用session,需要解决跨域问题
          $api.ajax(
            '/sib/xcx/login/userId',
            'POST',
            (res)=>{
              this.userId = res.data.body.userId
              this.loginByUserId()
            },
            (err)=>{
 
            },
            false,
            {
              authCode:res.authCode
            }
          )
        }
      },
    });
  },
  loginByUserId(){
    $api.ajax(
      '/sib/xcx/login/loginByZfb',
      'POST',
      (res)=>{
        if(!res.data.body){
          my.navigateTo({
            url: '/pages/index/index'
          });
        }else{
          this.sessionId = res.data.body.sessionId
          this.lastLoginMgrId = res.data.body.lastLoginMgrId
          if(res.data.body.sessionId){
            
            my.setStorageSync({
              key:'sessionId',
              data:{
                sessionId:res.data.body.sessionId
              }
            })
          }
          
          if(res.data.body.lastLoginMgrId){
            this.getUserInfo()
          }else{
            my.switchTab({
              url: '/pages/changeUser/changeUser'
            });
          }
        }
      },
      (err)=>{
 
      },
      false,
      {
        zfbUserId:this.userId
      }
    )
  },
  getUserInfo(){
    $api.ajax(
      '/sib/xcx/login/mgrLogin',
      'POST',
      (res)=>{
        this.userInfo = res.data.body
        my.switchTab({
          url: '/pages/home/home'
        });
      },
      err=>{},
      true,
      {
        mgrId:this.lastLoginMgrId
      }
    )
  }
});