add local storage of token and services

main
Dawn1Ocean 2024-03-20 01:00:50 +08:00
parent f2f4929fc9
commit 9f77cb0f2a
6 changed files with 126 additions and 0 deletions

View File

@ -22,6 +22,7 @@ export default {
}, },
}, },
'POST /user/update': { 'POST /user/update': {
success: true,
data: {}, data: {},
}, },
'GET /user/locale/get': { 'GET /user/locale/get': {
@ -31,9 +32,11 @@ export default {
}, },
}, },
'POST /user/locale/update': { 'POST /user/locale/update': {
success: true,
data: {}, data: {},
}, },
'POST /report': { 'POST /report': {
success: true,
data: {}, data: {},
}, },
'GET /user/mytickets': { 'GET /user/mytickets': {
@ -45,21 +48,27 @@ export default {
data: ticketInfo, data: ticketInfo,
}, },
'POST /tickets/addnote': { 'POST /tickets/addnote': {
success: true,
data: {}, data: {},
}, },
'POST /tickets/create': { 'POST /tickets/create': {
success: true,
data: {}, data: {},
}, },
'POST /tickets/addtooreo': { 'POST /tickets/addtooreo': {
success: true,
data: {}, data: {},
}, },
'POST /tickets/pick': { 'POST /tickets/pick': {
success: true,
data: {}, data: {},
}, },
'POST /tickets/update': { 'POST /tickets/update': {
success: true,
data: {}, data: {},
}, },
'POST /tickets/retrieve': { 'POST /tickets/retrieve': {
success: true,
data: {}, data: {},
}, },
'POST /member/login': { 'POST /member/login': {

View File

@ -3,10 +3,20 @@ import { useLaunch } from '@tarojs/taro';
import 'taro-ui/dist/style/index.scss'; import 'taro-ui/dist/style/index.scss';
import './app.scss'; import './app.scss';
import { getLocaleData } from './service/localeData'; import { getLocaleData } from './service/localeData';
import { checkLogin, checkToken } from './service/checkLogin';
import wechatUser from './wechat';
import { loginAte } from './service/login';
import { memberInfo } from './service/memberInfo';
function App({ children }: PropsWithChildren<any>) { function App({ children }: PropsWithChildren<any>) {
useLaunch(() => { useLaunch(() => {
console.log('App launched.'); console.log('App launched.');
if (checkLogin()) {
wechatUser.setToken(checkToken());
memberInfo();
} else {
loginAte();
}
getLocaleData(); getLocaleData();
}); });

View File

@ -0,0 +1,40 @@
import Taro from '@tarojs/taro';
import { getUrl } from '.';
export function checkLogin(): boolean {
let token = checkToken();
if (token.length !== 0) {
Taro.request({
url: getUrl('/checklogin'),
method: 'GET',
data: {
token: token,
},
})
.then((res) => {
if (res.data.data.islogin) {
return true;
}
return false;
})
.catch((err) => {
console.log(err);
return false;
});
}
return false;
}
export function checkToken(): string {
try {
let token: string = Taro.getStorageSync('token');
if (token) {
return token;
} else {
return '';
}
} catch (err) {
console.log(err);
return '';
}
}

View File

@ -0,0 +1,33 @@
import Taro from '@tarojs/taro';
import wechatUser from '@/wechat';
import { getUrl } from '.';
export function loginAte() {
Taro.login({
success: function (res) {
if (res.code) {
Taro.request({
url: getUrl('/login'),
method: 'POST',
data: {
code: res.code,
},
})
.then((re) => {
const data = re.data.data;
Taro.setStorage({
key: 'token',
data: data.token,
});
wechatUser.setToken(data.token);
wechatUser.setAccess(data.isMember);
})
.catch((err) => {
console.log(err);
});
} else {
console.log('登陆失败' + res.errMsg);
}
},
});
}

View File

@ -0,0 +1,25 @@
import Taro from '@tarojs/taro';
import wechatUser, { UserInfo } from '@/wechat';
import { getUrl } from '.';
export function memberInfo() {
Taro.request({
url: getUrl('/member/login'),
method: 'POST',
data: {
token: wechatUser.getToken(),
},
})
.then((res) => {
if (res.data.success) {
wechatUser.setInfo(res.data.data as UserInfo);
wechatUser.setAccess(true);
Taro.reLaunch({
url: '/pages/member/member',
});
}
})
.catch((err) => {
console.log(err);
});
}

View File

@ -7,6 +7,7 @@ export interface UserInfo {
class WechatUser { class WechatUser {
private userInfo: UserInfo; private userInfo: UserInfo;
private isMember: boolean; private isMember: boolean;
private token: string;
constructor() { constructor() {
this.userInfo = { this.userInfo = {
@ -26,6 +27,10 @@ class WechatUser {
return this.userInfo; return this.userInfo;
} }
getToken() {
return this.token;
}
setInfo(userInfo: UserInfo) { setInfo(userInfo: UserInfo) {
this.userInfo = userInfo; this.userInfo = userInfo;
} }
@ -33,6 +38,10 @@ class WechatUser {
setAccess(isMember: boolean) { setAccess(isMember: boolean) {
this.isMember = isMember; this.isMember = isMember;
} }
setToken(token: string) {
this.token = token;
}
} }
const wechatUser = new WechatUser(); const wechatUser = new WechatUser();