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
| import {
| fetchLoginPW,
| fetchUserInfo,
| fetchUserBaseInfo,
| } from '../services/usercenter/fetchUser';
| import { loadConfig } from '../behaviors/loadConfig';
| import dayjs from 'dayjs';
|
| const app = getApp();
|
| export const useLogin = Behavior({
| methods: {
| loginPw(accessTokenPW) {
| wx.showLoading({
| title: '登录中',
| mask: true,
| });
| setTimeout(() => {
| wx.hideLoading();
| }, 10000);
| var that = this;
| wx.login({
| success: res => {
| accessTokenPW.code = res.code;
| fetchLoginPW(accessTokenPW).then(data => {
| wx.hideLoading();
| if (data.success) {
| wx.getStorage({
| key: 'accessToken',
| success(res) {
| app.globalData.accessToken = res.data;
| app.globalData.accessToken.userId = data.userId;
| app.globalData.accessToken.suserId = data.suserId;
| app.globalData.accessToken.openId = data.openId;
| if (accessTokenPW.userName) {
| app.globalData.accessToken.userName =
| accessTokenPW.userName;
| }
| if (accessTokenPW.password) {
| app.globalData.accessToken.password =
| accessTokenPW.password;
| }
| wx.setStorage({
| key: 'accessToken',
| data: app.globalData.accessToken,
| });
| that.gotoHomePage();
| },
| fail(e) {
| app.globalData.accessToken = {
| userName: accessTokenPW.userName,
| password: accessTokenPW.password,
| userId: data.userId,
| suserId: data.suserId,
| openId: data.openId,
| };
| wx.setStorage({
| key: 'accessToken',
| data: app.globalData.accessToken,
| });
| that.gotoHomePage();
| },
| });
| } else {
| that._onLoginFail();
| }
| });
| },
| });
| },
|
| gotoHomePage() {
| fetchUserBaseInfo(app.globalData.accessToken.userId).then(res => {
| app.globalData.baseInfo = res.data;
| });
| fetchUserInfo(app.globalData.accessToken.userId).then(data => {
| if (!this.isAdmin(data.usertypeid)) {
| wx.showToast({
| title: '账户权限不足',
| duration: 1000,
| icon: 'none',
| });
| this.setData({
| loading: false,
| });
| return;
| }
|
| if (data.uiCreateTime) {
| const registerTime = dayjs(data.uiCreateTime);
| const now = dayjs();
| app.globalData.newUser = now.diff(registerTime, 'months') <= 1;
| }
| app.globalData.userInfo = data;
| app.globalData.userInfo.name = data.realname;
| app.globalData.userInfo.district = data.extension1;
| app.globalData.isLogin = true;
| wx.setStorage({
| key: 'userInfo',
| data: data,
| success: result => {
| loadConfig().then(res => {
| wx.switchTab({
| url: '/pages/home/index',
| });
| });
| },
| });
| });
| },
|
| isAdmin(userTypeId) {
| return userTypeId <= 2;
| },
| },
| });
|
|