chabokpush / chabok-client-js

Chabok Push Javascript SDK
https://webpush.chabokpush.com/
MIT License
8 stars 1 forks source link

مشکل در اتصال از طریق کد جاوااسکریپت #15

Closed amiriun closed 5 years ago

amiriun commented 5 years ago

سلام وقتتون بخیر پس از رجیستر کردن کاربر در جاوااسکریپت ، کاربر در قسمت مشترکین رجیستر نشده و قابل مشاهده نیست کد جاوا اسکریپت:

<script type="text/javascript" src="https://unpkg.com/chabokpush/dist/chabokpush.min.js"></script>
            <script>
                $(function () {
                    const auth = {
                        appId: '<APP_ID>',
                        apiKey: '<API_KEY>',
                        username: '<USERNAME>',
                        password: '<PASSWORD>',
                        devMode: true
                    };
                    const options = {
                        webpush: {
                            enabled: true,
                            publicKey: '<PUBLIC_KEY>'
                        },
                        silent: false
                    };
                    const chabok = new chabokpush.Chabok(auth, options);
                    if (chabok.isRegistered()) {
                        chabok.register(chabok.getUserId());
                    } else {
                        chabok.register('15334');
                    }
                });
            </script>

پاسخی که هنگام رجیستر در کنسول مرورگر دریافت میکنم:

Promise { "pending" }​<state>: "pending"​<prototype>: PromiseProto​​catch: function catch()​​constructor: function Promise()​​finally: function finally()​​then: function then()​​Symbol(Symbol.toStringTag): "Promise"​​<prototype>: Object { … } 
amir-yaghoubi commented 5 years ago

سلام

ظاهر کد تقریبا درست هستش.(شرط بررسی ریجستر بودن کاربر بهتره به حالت زیر تغییر پیدا کنه )

if (chabok.isRegistered() && chabok.getUserId())

متد chabok.register همانطور که میبینید یک پرامیس بر میگردونه لطفا مقدار خروجی این تابع رو به این صورت دریافت نمایید تا بیشتر بررسی کنیم

// if .....
chabok.register(chabok.getUserId())
              .then(res => {
                        console.log('user-reRegistered:', res)
                       })
              .catch(err => {
                       console.log('error:', err)
                       })

// else ....

chabok.register('15334')
              .then(res => {
                        console.log('user-registered:', res)
                       })
              .catch(err => {
                       console.log('error:', err)
                       })
amiriun commented 5 years ago

من این تکه کد رو که تو else بود مستقیم تو کنسول مرورگر وارد کردم و چیزی جز همون پرامیس ندیدم

amir-yaghoubi commented 5 years ago

اگه درون کنسول همچنان مقدار Promise نمایش داده می‌شود احتمالا به خاطر interpret شدن تنها خط اول در کنسول هست.

بهتره در کد اصلی جایگزین و اونجا نتیجه رو بررسی کنین

amiriun commented 5 years ago

نه همرو تو یه خط گذاشتم و بعد تو کنسول تست کردم تو کد اصلی هم تست کردم باز نتیجه ای نداد

amir-yaghoubi commented 5 years ago

یک مقدار عجیب هست یعنی هیچکدام از لاگ‌های

console.log('user-registered:', res)
console.log('error:', err)

نمایش داده نشد؟

خطایی در بخش network و یا در کنسول مرورگر دریافت نمیکنین؟

amiriun commented 5 years ago

مشکل حل شد به جای استفاده از سی دی ان ، فایل های جاوااسکریپت رو تو خود سرور آپلود کردم