xiongzhu 3 years ago
parent
commit
497fdd5fd5

+ 1 - 0
android/app/capacitor.build.gradle

@@ -28,6 +28,7 @@ dependencies {
     implementation project(':capacitor-status-bar')
     implementation project(':appsflyer-capacitor-plugin')
     implementation project(':capacitor-codepush')
+    implementation project(':capacitor-facebook')
 
 }
 

+ 18 - 0
android/app/src/main/AndroidManifest.xml

@@ -12,6 +12,8 @@
         <meta-data
             android:name="com.openinstall.APP_KEY"
             android:value="crgkm2"/>
+        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
+        <meta-data android:name="com.facebook.sdk.ClientToken" android:value="@string/facebook_client_token"/>
         <activity
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
             android:name="com.bigauction.mobile.MainActivity"
@@ -46,6 +48,22 @@
             </intent-filter>
         </activity>
 
+        <activity android:name="com.facebook.FacebookActivity"
+            android:configChanges=
+                "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
+            android:label="@string/app_name" />
+        <activity
+            android:name="com.facebook.CustomTabActivity"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <data android:scheme="@string/fb_login_protocol_scheme" />
+            </intent-filter>
+        </activity>
+
+
         <provider
             android:name="androidx.core.content.FileProvider"
             android:authorities="${applicationId}.fileprovider"

BIN
android/app/src/main/assets/cdvasset.manifest


+ 11 - 1
android/app/src/main/java/com/bigauction/mobile/MainActivity.java

@@ -1,5 +1,15 @@
 package com.bigauction.mobile;
 
+import android.os.Bundle;
+import android.os.PersistableBundle;
+
+import androidx.annotation.Nullable;
+
 import com.getcapacitor.BridgeActivity;
 
-public class MainActivity extends BridgeActivity {}
+public class MainActivity extends BridgeActivity {
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
+        super.onCreate(savedInstanceState, persistentState);
+    }
+}

+ 3 - 0
android/app/src/main/res/values/strings.xml

@@ -4,4 +4,7 @@
     <string name="title_activity_main">FirstCash</string>
     <string name="package_name">com.bigauction.mobile</string>
     <string name="custom_url_scheme">com.bigauction.mobile</string>
+    <string name="facebook_app_id">683776590201632</string>
+    <string name="facebook_client_token">4d7ea8d7755de6e8b297ab3cfc32bced</string>
+    <string name="fb_login_protocol_scheme">fb683776590201632</string>
 </resources>

+ 3 - 0
android/capacitor.settings.gradle

@@ -58,3 +58,6 @@ project(':appsflyer-capacitor-plugin').projectDir = new File('../node_modules/ap
 
 include ':capacitor-codepush'
 project(':capacitor-codepush').projectDir = new File('../node_modules/capacitor-codepush/android')
+
+include ':capacitor-facebook'
+project(':capacitor-facebook').projectDir = new File('../../../capacitor/capacitor-facebook/android')

+ 4 - 0
capacitor.config.json

@@ -22,5 +22,9 @@
             "ANDROID_DEPLOY_KEY": "ZrEsHcngd89oYtHZYQxLRUSMJ8trafzoNUVDN",
             "SERVER_URL": "https://codepush.appcenter.ms/"
         }
+    },
+    "server": {
+        "url": "http://192.168.6.215:5173/h5/",
+        "clearText": true
     }
 }

+ 2 - 2
ios/App/App.xcodeproj/project.pbxproj

@@ -352,7 +352,7 @@
 				CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
 				CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 2;
 				DEFINES_MODULE = NO;
 				DEVELOPMENT_TEAM = 72P5Y6N578;
 				INFOPLIST_FILE = App/Info.plist;
@@ -377,7 +377,7 @@
 				CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO;
 				CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 2;
 				DEFINES_MODULE = NO;
 				DEVELOPMENT_TEAM = 72P5Y6N578;
 				INFOPLIST_FILE = App/Info.plist;

+ 4 - 0
ios/App/App/Info.plist

@@ -2,6 +2,10 @@
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 <plist version="1.0">
 <dict>
+    <key>ITSAppUsesNonExemptEncryption</key>
+    <false/>
+	<key>NSPhotoLibraryUsageDescription</key>
+	<string>Requires access to the photo library to save images</string>
 	<key>CFBundleDevelopmentRegion</key>
 	<string>en</string>
 	<key>CFBundleDisplayName</key>

+ 1 - 0
ios/App/Podfile

@@ -30,6 +30,7 @@ def capacitor_pods
   pod 'CapacitorStatusBar', :path => '../../node_modules/@capacitor/status-bar'
   pod 'AppsflyerCapacitorPlugin', :path => '../../node_modules/appsflyer-capacitor-plugin'
   pod 'CapacitorCodepush', :path => '../../node_modules/capacitor-codepush'
+  pod 'CapacitorFacebook', :path => '../../../../capacitor/capacitor-facebook'
 end
 
 target 'App' do

+ 1 - 0
package.json

@@ -39,6 +39,7 @@
     "appsflyer-capacitor-plugin": "^6.9.2",
     "axios": "^1.2.0",
     "capacitor-codepush": "https://github.com/x1ongzhu/capacitor-codepush.git",
+    "capacitor-facebook": "link:/Users/drew/Projects/capacitor/capacitor-facebook",
     "cordova-plugin-android-notch": "^1.0.3",
     "date-fns": "^2.29.3",
     "eruda": "^2.6.1",

+ 4 - 0
src/main.js

@@ -23,6 +23,7 @@ import { useStorage } from '@vueuse/core'
 import { init as initEruda } from '@/utils/console'
 import { codePush, InstallMode } from 'capacitor-codepush'
 import { Network } from '@capacitor/network'
+import { Facebook } from 'capacitor-facebook'
 
 import 'normalize.css/normalize.css'
 
@@ -180,6 +181,9 @@ document.addEventListener('deviceready', () => {
         })
     }
 })
+Facebook.init({ appId: '683776590201632' }).then(() => {
+    console.log('Facebook init success')
+})
 
 if (useStorage('showConsole', 0).value > new Date().getTime()) {
     initEruda()

+ 29 - 5
src/views/LoginPage.vue

@@ -70,6 +70,17 @@
                     </div>
                 </div>
             </van-form>
+            <div class="third-login">
+                <div class="title">Login with</div>
+                <div class="logos">
+                    <ion-icon
+                        class="facebook"
+                        style="color: #0080fb"
+                        :icon="logoFacebook"
+                        @click="Facebook.login()"
+                    ></ion-icon>
+                </div>
+            </div>
         </ion-content>
     </ion-page>
 </template>
@@ -84,6 +95,8 @@ import inactiveIcon from '../assets/icon_gouxuan_huise.png'
 import zhanghao from '../assets/login_icon_zhanghao.svg'
 import mima from '../assets/login_icon_mima.svg'
 import { Browser } from '@capacitor/browser'
+import { Facebook } from 'capacitor-facebook'
+import { logoFacebook } from 'ionicons/icons'
 
 let fromRoute = null
 export default {
@@ -100,7 +113,6 @@ export default {
         const agreeTerm = useStorage('agreeTerm', false, localStorage)
 
         const userStore = useUserStore()
-
         return {
             router,
             formData,
@@ -110,11 +122,12 @@ export default {
             mima,
             login: userStore.login,
             activeIcon,
-            inactiveIcon
+            inactiveIcon,
+            Facebook,
+            logoFacebook
         }
     },
     beforeRouteEnter(to, from) {
-        console.log(from)
         fromRoute = from
     },
     methods: {
@@ -139,10 +152,8 @@ export default {
                         fromRoute.name === 'login' ||
                         fromRoute.name === 'loginPhone'
                     ) {
-                        console.log('navigate')
                         this.router.navigate('/home', 'back', 'pop')
                     } else {
-                        console.log('back')
                         this.router.back()
                     }
                 })
@@ -274,4 +285,17 @@ export default {
     width: 24px;
     height: 24px;
 }
+.third-login {
+    margin-top: 30px;
+    .title {
+        text-align: center;
+        font-size: 12px;
+        color: rgba(255, 255, 255, 0.6);
+    }
+    .logos {
+        text-align: center;
+        font-size: 32px;
+        margin-top: 10px;
+    }
+}
 </style>

+ 4 - 0
yarn.lock

@@ -2079,6 +2079,10 @@ caniuse-lite@^1.0.30001400:
   dependencies:
     code-push "^4.0.2"
 
+"capacitor-facebook@link:/Users/drew/Projects/capacitor/capacitor-facebook":
+  version "0.0.0"
+  uid ""
+
 caw@^2.0.0, caw@^2.0.1:
   version "2.0.1"
   resolved "https://registry.npmmirror.com/caw/-/caw-2.0.1.tgz#6c3ca071fc194720883c2dc5da9b074bfc7e9e95"