|
@@ -19,16 +19,45 @@ const Index: React.FC = () => {
|
|
|
|
|
|
const [token, setToken] = useState<string>('')
|
|
|
|
|
|
- useDidShow(() => {
|
|
|
+ const [ code, setCode ] = useState<string>('')
|
|
|
+
|
|
|
+ useDidShow( async () => {
|
|
|
setToken(Taro.getStorageSync('token'))
|
|
|
+ const r = await Taro.login()
|
|
|
+ console.log(r, 'codecodecodecode');
|
|
|
+
|
|
|
+ setCode(r.code)
|
|
|
})
|
|
|
+
|
|
|
+ const checkSession = () => {
|
|
|
+ return new Promise( resolve => {
|
|
|
+ Taro.checkSession({
|
|
|
+ success: async res => {
|
|
|
+ console.log('session_key 未过期,并且在本生命周期一直有效', res);
|
|
|
+ resolve(1)
|
|
|
+ },
|
|
|
+ fail: async res => {
|
|
|
+
|
|
|
+ // session_key 已经失效,需要重新执行登录流程
|
|
|
+ const r = await Taro.login() //重新登录
|
|
|
+ setCode(r.code)
|
|
|
+ resolve(0)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }).catch(e => e)
|
|
|
+}
|
|
|
|
|
|
// 获取用户手机号
|
|
|
const Getphonenumber = async (item: number ,e: any): Promise<void> => {
|
|
|
|
|
|
Tip.loading('正在登录...')
|
|
|
- const { code } = await Taro.login()
|
|
|
- const data = await getUserPhoneNumber({code, ...e.detail})
|
|
|
+
|
|
|
+ await checkSession()
|
|
|
+
|
|
|
+ console.log(code, '获取用户手机号');
|
|
|
+
|
|
|
+ const data = await getUserPhoneNumber({...e.detail, code})
|
|
|
+
|
|
|
Tip.loaded()
|
|
|
|
|
|
Taro.setStorageSync('token', data)
|
|
@@ -38,7 +67,6 @@ const Index: React.FC = () => {
|
|
|
|
|
|
// 跳转页面
|
|
|
const goPage = ( index: number ): void => {
|
|
|
- console.log(index, 'indexindexindexindexindexindex');
|
|
|
|
|
|
if (!Taro.getStorageSync('token')) {
|
|
|
Tip.toast('登录错误')
|