瀏覽代碼

开发安卓登录逻辑

bayi 1 年之前
父節點
當前提交
26072ab2d6
共有 2 個文件被更改,包括 44 次插入20 次删除
  1. 43 20
      pages/donutLogin/index.js
  2. 1 0
      pages/index/index.js

+ 43 - 20
pages/donutLogin/index.js

@@ -1,16 +1,31 @@
 import {
     userLogin,
 } from '~/api/user'
+import {
+    createStoreBindings
+} from 'mobx-miniprogram-bindings'
+import {
+    store
+} from '~/store/index'
+let storeBindings
 Page({
     data: {
         checkedAgree: false,
         loginSuccess: false, // 标记是否登录成功
     },
-
+    onLoad() {
+        if (!this.storeBindings) {
+            this.storeBindings = createStoreBindings(this, {
+                store,
+                actions: ['setUser']
+            })
+        }
+    },
     /**
      * 退出页面时触发基础库回调,由基础库内部处理系统登录态。
      */
     onUnload() {
+        this.storeBindings.destroyStoreBindings()
         const eventChannel = this.getOpenerEventChannel();
         if (eventChannel) {
             eventChannel.emit('__donutLogin__', {
@@ -23,27 +38,35 @@ Page({
      * 触发小程序登录,登录成功后自动退出页面
      */
     onTapWeixinMiniProgramLogin() {
-        wx.getMiniProgramCode({
-            success: async (res) => {
-                let data = {
-                    code: res.code,
-                    userChannelCode
-                }
-                let userRes = await userLogin(data)
+        wx.weixinMiniProgramLogin({
+            success: () => {
+                this.setData({
+                    loginSuccess: true
+                });
+                wx.getMiniProgramCode({
+                    success: async (res) => {
+                        console.log(res);
+                        let data = {
+                            code: res.code,
+                            userChannelCode: 3001
+                        }
+                        let userRes = await userLogin(data)
+                        this.setUser(userRes.data)
+                        wx.setStorageSync('uid', userRes.data.uid)
+                        wx.setStorageSync('user', userRes.data)
+                        wx.switchTab({
+                          url: '/pages/index/index',
+                        })
+                    }
+                })
+            },
+            fail: () => {
+                wx.showToast({
+                    title: '小程序登录失败',
+                    icon: 'none'
+                });
             }
         })
-        /* wx.weixinMiniProgramLogin({
-          success: () => {
-            this.setData({ loginSuccess: true });
-            wx.navigateBack();
-          },
-          fail: () => {
-            wx.showToast({
-              title: '小程序登录失败',
-              icon: 'none'
-            });
-          }
-        }) */
     },
 
     onCheckboxChange() {

+ 1 - 0
pages/index/index.js

@@ -15,6 +15,7 @@ import {
 import {
     store
 } from '~/store/index'
+let storeBindings
 Page({
     behaviors: [share, event],
     data: {