דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עזרה בהגדרת פרוייקט קליינט vue) adminify)

עזרה בהגדרת פרוייקט קליינט vue) adminify)

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 180 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC
    chagoldC
    chagold
    כתב ב נערך לאחרונה על ידי chagold
    #1

    פרוייקט הזה.

    אני מנסה למצוא איפה מגדירים את כתובת פניות הapi שיוצאים מהקליינט.

    מבנה התיקיות כדלהלן, (וגם רואים את כתובת ה-baseurl שניסיתי להגדיר בקובץ הapi):
    295e17c9-d0f7-4a75-ba63-08a744664cdf-image.png

    וכן קובץ vue.config.js

    const path = require("path");
    const webpack = require("webpack");
    
    module.exports = {
        publicPath: process.env.NODE_ENV == "production" ? "/" :  "/",
    	transpileDependencies: [
            "vue-echarts",
            "resize-detector"
        ],
        configureWebpack: {
              resolve: {
                alias: {
                    "vue$": "vue/dist/vue.esm.js",
                    "@": path.resolve(__dirname, "src/"),
                    Api: path.resolve(__dirname, "src/api/"),
                    Components: path.resolve(__dirname, "src/components/"),
                    Constants: path.resolve(__dirname, "src/constants/"),
                    Container: path.resolve(__dirname, "src/container/"),
                    Views: path.resolve(__dirname, "src/views/"),
                    Helpers: path.resolve(__dirname, "src/helpers/"),
                    Themes: path.resolve(__dirname, "src/themes/"),
                    Assets: path.resolve(__dirname, "src/assets")
                    
                },
                extensions: ["*", ".js", ".vue", ".json"]
            },
            plugins: [
                  //jquery plugin
                new webpack.ProvidePlugin({
                    $: "jquery",
                    jquery: "jquery",
                    "window.jQuery": "jquery",
                    jQuery: "jquery"
                })
            ]
        }
    }
    

    וקובץ main.js

    const path = require("path");
    const webpack = require("webpack");
    
    module.exports = {
        publicPath: process.env.NODE_ENV == "production" ? "/" :  "/",
    	transpileDependencies: [
            "vue-echarts",
            "resize-detector"
        ],
        configureWebpack: {
              resolve: {
                alias: {
                    "vue$": "vue/dist/vue.esm.js",
                    "@": path.resolve(__dirname, "src/"),
                    Api: path.resolve(__dirname, "src/api/"),
                    Components: path.resolve(__dirname, "src/components/"),
                    Constants: path.resolve(__dirname, "src/constants/"),
                    Container: path.resolve(__dirname, "src/container/"),
                    Views: path.resolve(__dirname, "src/views/"),
                    Helpers: path.resolve(__dirname, "src/helpers/"),
                    Themes: path.resolve(__dirname, "src/themes/"),
                    Assets: path.resolve(__dirname, "src/assets")
                    
                },
                extensions: ["*", ".js", ".vue", ".json"]
            },
            plugins: [
                  //jquery plugin
                new webpack.ProvidePlugin({
                    $: "jquery",
                    jquery: "jquery",
                    "window.jQuery": "jquery",
                    jQuery: "jquery"
                })
            ]
        }
    }
    

    קובץ login.vue

    <template>
    	<div class="session-wrapper overlay">
    		<div class="container">
    			<div class="row justify-content-center">
    				<div class="col-lg-5  col-md-7 col-sm-10 col-xs-12 ">
    					<div class="logo-wrap text-center mb-50">
    						<img src="/static/img/logo.png" alt="site-logo" width="200" height="60">
    					</div>
    					<div class="session-block d-block">
    						<div class="text-center mb-30">
    							<div class="mb-20">
    								<img class="img-fluid rounded-circle" width="60" height="60" src="/static/img/user-1.jpg" />
    							</div>
    							<h3 class="mb-20">{{$t('message.login')}}</h3>
    							<span
    								class="fs-12 d-block w-75 mx-auto">{{$t('message.enterUsernameAndPasswordToAccessControlPanelOfAdminify')}}</span>
    						</div>
    						<div class="form-wrapper">
    							<b-form>
    								<b-form-group id="exampleInputGroup1" label="E-mail ID" label-for="emailInput1">
    									<b-form-input id="emailInput1" type="email" v-model="form.email" required
    										placeholder="Enter Your Email">
    									</b-form-input>
    								</b-form-group>
    								<b-form-group id="exampleInputGroup2" label="Password" label-for="passwordInput1">
    									<b-form-input id="passwordInput1" type="password" v-model="form.password" required
    										placeholder="Enter Your Password">
    									</b-form-input>
    								</b-form-group>
    								<div class="d-flex justify-content-between align-items-center mb-15">
    									<b-form-group id="exampleGroup4" class="mb-0">
    										<b-form-checkbox value="me">{{$t('message.rememberMe')}}</b-form-checkbox>
    									</b-form-group>
    									<a href="javascript:;"
    										class="text-danger text-center fs-12 d-block">{{$t('message.forgotPassword')}}</a>
    								</div>
    								<b-button @click="submit" variant="primary" class="session-btn mb-15">{{$t('message.login')}}
    								</b-button>
    								<a href="javascript:void(0)" @click="onCreateAccount"
    									class="text-center fs-12 d-block text-success">{{$t('message.dontHaveAnAccount')}}</a>
    							</b-form>
    						</div>
    					</div>
    				</div>
    				<div class="col-lg-3 col-sm-6 d-flex justify-content-center align-items-center social-block">
    					<div class="social-wrap">
    						<h3 class="text-white mb-30">Or Login With</h3>
    						<ul class="social-btn-wrap p-0 m-0 list-unstyled">
    							<li class="list-item mb-20">
    								<a target="_blank" @click="signInWithFacebook">
    									<span class="social-icon facebook">
    										<i class="zmdi zmdi-facebook"></i>
    									</span>
    									<span class="fs-12 text-white">Login using Facebook</span>
    								</a>
    							</li>
    							<li class="list-item mb-20">
    								<a target="_blank" @click="signInWithGoogle">
    									<span class="social-icon google">
    										<i class="zmdi zmdi-google-plus"></i>
    									</span>
    									<span class="fs-12 text-white">Login using Google+</span>
    								</a>
    							</li>
    							<li class="list-item mb-20">
    								<a target="_blank" @click="signInWithTwitter">
    									<span class="social-icon twitter">
    										<i class="zmdi zmdi-twitter"></i>
    									</span>
    									<span class="fs-12 text-white">Login using Twitter</span>
    								</a>
    							</li>
    							<li class="list-item mb-20">
    								<a target="_blank" @click="signInWithGithub">
    									<span class="social-icon github">
    										<i class="zmdi zmdi-github-alt"></i>
    									</span>
    									<span class="fs-12 text-white">Login using Github</span>
    								</a>
    							</li>
    							<li class="list-item mb-20">
    								<b-button variant="danger" @click="signinWithAuth0">Signin With Auth0</b-button>
    								</a>
    							</li>
    						</ul>
    					</div>
    				</div>
    			</div>
    		</div>
    	</div>
    </template>
    
    <script>
    	import firebase from "firebase/app";
    	import AuthService from "../../auth/AuthService";
    
    	const auth = new AuthService();
    	const { login, logout, authenticated, authNotifier } = auth;
    
    	export default {
    		data: function () {
    			return {
    				form: {
    					email: 'demo@example.com',
    					password: 'test#123',
    				}
    			}
    		},
    		methods: {
    			submit() {
    				// evt.preventDefault();
    				const user = {
    					email: this.form.email,
    					password: this.form.password
    				};
    				this.$store.dispatch("signinUserInFirebase", {
    					user
    				});
    			},
    			signInWithFacebook() {
    				this.$store.dispatch("signinUserWithFacebook");
    			},
    			signInWithGoogle() {
    				this.$store.dispatch("signinUserWithGoogle");
    			},
    			signInWithTwitter() {
    				this.$store.dispatch("signinUserWithTwitter");
    			},
    			signInWithGithub() {
    				this.$store.dispatch("signinUserWithGithub");
    			},
    			signinWithAuth0() {
    				login();
    			},
    			onCreateAccount() {
    				this.$router.push("/session/sign-up");
    			}
    		}
    	}
    </script>
    

    כל פניה של הלוגין , פונה משום מה לכתובת

    https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key=AIzaSyD_2FLh1f_BJyKdzeqMvF-oB9Av2cLG6ps
    

    9a18d9a7-d342-4843-860d-4756769c9df5-image.png
    תודה רבה

    yossizY תגובה 1 תגובה אחרונה
    0
    • chagoldC chagold

      פרוייקט הזה.

      אני מנסה למצוא איפה מגדירים את כתובת פניות הapi שיוצאים מהקליינט.

      מבנה התיקיות כדלהלן, (וגם רואים את כתובת ה-baseurl שניסיתי להגדיר בקובץ הapi):
      295e17c9-d0f7-4a75-ba63-08a744664cdf-image.png

      וכן קובץ vue.config.js

      const path = require("path");
      const webpack = require("webpack");
      
      module.exports = {
          publicPath: process.env.NODE_ENV == "production" ? "/" :  "/",
      	transpileDependencies: [
              "vue-echarts",
              "resize-detector"
          ],
          configureWebpack: {
                resolve: {
                  alias: {
                      "vue$": "vue/dist/vue.esm.js",
                      "@": path.resolve(__dirname, "src/"),
                      Api: path.resolve(__dirname, "src/api/"),
                      Components: path.resolve(__dirname, "src/components/"),
                      Constants: path.resolve(__dirname, "src/constants/"),
                      Container: path.resolve(__dirname, "src/container/"),
                      Views: path.resolve(__dirname, "src/views/"),
                      Helpers: path.resolve(__dirname, "src/helpers/"),
                      Themes: path.resolve(__dirname, "src/themes/"),
                      Assets: path.resolve(__dirname, "src/assets")
                      
                  },
                  extensions: ["*", ".js", ".vue", ".json"]
              },
              plugins: [
                    //jquery plugin
                  new webpack.ProvidePlugin({
                      $: "jquery",
                      jquery: "jquery",
                      "window.jQuery": "jquery",
                      jQuery: "jquery"
                  })
              ]
          }
      }
      

      וקובץ main.js

      const path = require("path");
      const webpack = require("webpack");
      
      module.exports = {
          publicPath: process.env.NODE_ENV == "production" ? "/" :  "/",
      	transpileDependencies: [
              "vue-echarts",
              "resize-detector"
          ],
          configureWebpack: {
                resolve: {
                  alias: {
                      "vue$": "vue/dist/vue.esm.js",
                      "@": path.resolve(__dirname, "src/"),
                      Api: path.resolve(__dirname, "src/api/"),
                      Components: path.resolve(__dirname, "src/components/"),
                      Constants: path.resolve(__dirname, "src/constants/"),
                      Container: path.resolve(__dirname, "src/container/"),
                      Views: path.resolve(__dirname, "src/views/"),
                      Helpers: path.resolve(__dirname, "src/helpers/"),
                      Themes: path.resolve(__dirname, "src/themes/"),
                      Assets: path.resolve(__dirname, "src/assets")
                      
                  },
                  extensions: ["*", ".js", ".vue", ".json"]
              },
              plugins: [
                    //jquery plugin
                  new webpack.ProvidePlugin({
                      $: "jquery",
                      jquery: "jquery",
                      "window.jQuery": "jquery",
                      jQuery: "jquery"
                  })
              ]
          }
      }
      

      קובץ login.vue

      <template>
      	<div class="session-wrapper overlay">
      		<div class="container">
      			<div class="row justify-content-center">
      				<div class="col-lg-5  col-md-7 col-sm-10 col-xs-12 ">
      					<div class="logo-wrap text-center mb-50">
      						<img src="/static/img/logo.png" alt="site-logo" width="200" height="60">
      					</div>
      					<div class="session-block d-block">
      						<div class="text-center mb-30">
      							<div class="mb-20">
      								<img class="img-fluid rounded-circle" width="60" height="60" src="/static/img/user-1.jpg" />
      							</div>
      							<h3 class="mb-20">{{$t('message.login')}}</h3>
      							<span
      								class="fs-12 d-block w-75 mx-auto">{{$t('message.enterUsernameAndPasswordToAccessControlPanelOfAdminify')}}</span>
      						</div>
      						<div class="form-wrapper">
      							<b-form>
      								<b-form-group id="exampleInputGroup1" label="E-mail ID" label-for="emailInput1">
      									<b-form-input id="emailInput1" type="email" v-model="form.email" required
      										placeholder="Enter Your Email">
      									</b-form-input>
      								</b-form-group>
      								<b-form-group id="exampleInputGroup2" label="Password" label-for="passwordInput1">
      									<b-form-input id="passwordInput1" type="password" v-model="form.password" required
      										placeholder="Enter Your Password">
      									</b-form-input>
      								</b-form-group>
      								<div class="d-flex justify-content-between align-items-center mb-15">
      									<b-form-group id="exampleGroup4" class="mb-0">
      										<b-form-checkbox value="me">{{$t('message.rememberMe')}}</b-form-checkbox>
      									</b-form-group>
      									<a href="javascript:;"
      										class="text-danger text-center fs-12 d-block">{{$t('message.forgotPassword')}}</a>
      								</div>
      								<b-button @click="submit" variant="primary" class="session-btn mb-15">{{$t('message.login')}}
      								</b-button>
      								<a href="javascript:void(0)" @click="onCreateAccount"
      									class="text-center fs-12 d-block text-success">{{$t('message.dontHaveAnAccount')}}</a>
      							</b-form>
      						</div>
      					</div>
      				</div>
      				<div class="col-lg-3 col-sm-6 d-flex justify-content-center align-items-center social-block">
      					<div class="social-wrap">
      						<h3 class="text-white mb-30">Or Login With</h3>
      						<ul class="social-btn-wrap p-0 m-0 list-unstyled">
      							<li class="list-item mb-20">
      								<a target="_blank" @click="signInWithFacebook">
      									<span class="social-icon facebook">
      										<i class="zmdi zmdi-facebook"></i>
      									</span>
      									<span class="fs-12 text-white">Login using Facebook</span>
      								</a>
      							</li>
      							<li class="list-item mb-20">
      								<a target="_blank" @click="signInWithGoogle">
      									<span class="social-icon google">
      										<i class="zmdi zmdi-google-plus"></i>
      									</span>
      									<span class="fs-12 text-white">Login using Google+</span>
      								</a>
      							</li>
      							<li class="list-item mb-20">
      								<a target="_blank" @click="signInWithTwitter">
      									<span class="social-icon twitter">
      										<i class="zmdi zmdi-twitter"></i>
      									</span>
      									<span class="fs-12 text-white">Login using Twitter</span>
      								</a>
      							</li>
      							<li class="list-item mb-20">
      								<a target="_blank" @click="signInWithGithub">
      									<span class="social-icon github">
      										<i class="zmdi zmdi-github-alt"></i>
      									</span>
      									<span class="fs-12 text-white">Login using Github</span>
      								</a>
      							</li>
      							<li class="list-item mb-20">
      								<b-button variant="danger" @click="signinWithAuth0">Signin With Auth0</b-button>
      								</a>
      							</li>
      						</ul>
      					</div>
      				</div>
      			</div>
      		</div>
      	</div>
      </template>
      
      <script>
      	import firebase from "firebase/app";
      	import AuthService from "../../auth/AuthService";
      
      	const auth = new AuthService();
      	const { login, logout, authenticated, authNotifier } = auth;
      
      	export default {
      		data: function () {
      			return {
      				form: {
      					email: 'demo@example.com',
      					password: 'test#123',
      				}
      			}
      		},
      		methods: {
      			submit() {
      				// evt.preventDefault();
      				const user = {
      					email: this.form.email,
      					password: this.form.password
      				};
      				this.$store.dispatch("signinUserInFirebase", {
      					user
      				});
      			},
      			signInWithFacebook() {
      				this.$store.dispatch("signinUserWithFacebook");
      			},
      			signInWithGoogle() {
      				this.$store.dispatch("signinUserWithGoogle");
      			},
      			signInWithTwitter() {
      				this.$store.dispatch("signinUserWithTwitter");
      			},
      			signInWithGithub() {
      				this.$store.dispatch("signinUserWithGithub");
      			},
      			signinWithAuth0() {
      				login();
      			},
      			onCreateAccount() {
      				this.$router.push("/session/sign-up");
      			}
      		}
      	}
      </script>
      

      כל פניה של הלוגין , פונה משום מה לכתובת

      https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key=AIzaSyD_2FLh1f_BJyKdzeqMvF-oB9Av2cLG6ps
      

      9a18d9a7-d342-4843-860d-4756769c9df5-image.png
      תודה רבה

      yossizY
      yossizY
      yossiz
      כתב ב נערך לאחרונה על ידי
      #2

      @chagold אמר בעזרה בהגדרת פרוייקט קליינט vue) adminify):

      כל פניה של הלוגין , פונה משום מה לכתובת
      https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key=AIzaSyD_2FLh1f_BJyKdzeqMvF-oB9Av2cLG6ps

      זה הכתובת של firebase. כנראה שזה מוגדר בברירת מחדל לעשות לוגין דרך firebase.

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
      👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

      chagoldC תגובה 1 תגובה אחרונה
      1
      • yossizY yossiz

        @chagold אמר בעזרה בהגדרת פרוייקט קליינט vue) adminify):

        כל פניה של הלוגין , פונה משום מה לכתובת
        https://www.googleapis.com/identitytoolkit/v3/relyingparty/getAccountInfo?key=AIzaSyD_2FLh1f_BJyKdzeqMvF-oB9Av2cLG6ps

        זה הכתובת של firebase. כנראה שזה מוגדר בברירת מחדל לעשות לוגין דרך firebase.

        chagoldC
        chagoldC
        chagold
        כתב ב נערך לאחרונה על ידי
        #3

        @yossiz תודה.

        הנתונים (ומנוע האימות) למעשה נמצאים בphp.
        אני אמור לדרוס את כל החלק הזה של firebase בפרוייקט? או שהfirebase יכול להיות גשר לPHP?

        yossizY תגובה 1 תגובה אחרונה
        0
        • chagoldC chagold

          @yossiz תודה.

          הנתונים (ומנוע האימות) למעשה נמצאים בphp.
          אני אמור לדרוס את כל החלק הזה של firebase בפרוייקט? או שהfirebase יכול להיות גשר לPHP?

          yossizY
          yossizY
          yossiz
          כתב ב נערך לאחרונה על ידי yossiz
          #4

          @chagold לכאורה אתה אמור להוסיף אקשיין ב-vuex בשם signinUserWithLocalAuth ולממש אותו. ואז לערוך את הפעולה של טופס ההתחברות שישלח אקשיין זו במקום signinUserInFirebase.
          במימוש של ה-action תשלח את השם משתמש וסיסמה לבק אנד שלך ובחזרה הוא ישלח סשן קוקי ואולי עוד מידע שמן הסתם תשמור ב-vuex.
          תקח השראה מהמימושים שלהם לצורות כניסה אחרות.
          אני לא יכול לומר יותר מבלי לראות את הקוד שלהם...

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה
          👈 רוצים כתובת מייל בעברית? כנסו למייל.קום 👉

          תגובה 1 תגובה אחרונה
          1

          שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

          נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

          בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

          הרשמה התחברות
          תגובה
          • תגובה כנושא
          התחברו כדי לפרסם תגובה
          • מהישן לחדש
          • מהחדש לישן
          • הכי הרבה הצבעות


          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום