کلاینت رسمی رای کانکت
 
 
Go to file
Drfelfel c90c65d4c1 fix 2021-10-30 12:24:09 +03:30
core fix 2021-10-25 19:48:41 +03:30
providers multi appID connection available 2021-08-18 23:21:05 +04:30
services fixing localstorage problem in guest users (By add ignore param such as guest to getaccess function) 2020-12-11 15:53:32 +03:30
storage fix logs problem 2021-08-13 14:43:48 +04:30
.gitignore publish 2020-02-26 15:01:51 +03:30
README.md fix 2021-06-03 21:24:15 +04:30
connection_test.ts fix 2021-09-26 21:36:10 +03:30
index.d.ts fixed 2020-09-02 00:46:56 +04:30
k3sup fix 2021-09-26 13:17:58 +03:30
package-lock.json 0.11.78 2021-10-25 19:49:08 +03:30
package.json 0.11.78 2021-10-25 19:49:08 +03:30
public-api.ts fix 2021-09-26 14:54:26 +03:30
rayconnect.spec.ts fixing localstorage problem in guest users (By add ignore param such as guest to getaccess function) 2020-12-11 15:53:32 +03:30
rayconnect.ts fix 2021-09-26 21:36:10 +03:30
test.server.ts fix 2021-10-30 12:24:09 +03:30
test.ts fix 2021-10-30 12:24:09 +03:30
tsconfig.browser.json bundle new browser 2020-03-05 22:51:03 +03:30
tsconfig.json fix 2021-06-03 21:56:22 +04:30
webpack.config.js bundle new browser 2020-03-06 17:39:59 +03:30

README.md

فریم ورک ابری رای کانکت

رای کانکت یک فریم ورک ابری هست ، یعنی بسیاری از ابزار های مورد نیاز شما رو در بستر یک فضای ابری بهتون ارائه میکنه و شما به وسیله اون میتونید مدیریت کاملی بر کاربرانتون و کنترل دسترسی کاربرانتون و هزار و یک چیز داشته باشید حتی توابع بلادرنگ (ریل تایم)

Rayconnect Client

کلاینت رسمی رای کانکت در زبان جاوا اسکریپت راه ارتباطی شما با این فریم ورک ابری هست

install

جهت نصب و راه اندازی رای کانکت میتونید از دستور زیر استفاده کنید

npm install rayconnect-client --save

create rayconnect app

قبل از هر چیزی بهتره یک اپ رای کانکتی بسازید که میتونید از لینک زیر برای ساخت اپتون استفاده کنید https://account.http-gateway.ir بعد از ساخته شدن اپ بهتون نام کاربری و کلمه عبور داده میشه که باید در ادامه مراحل از اون استفاده کنید

connect to rayconnect

برای ساخت یک پروژه رای کانکتی باید از روی رای کانکت یک اینستنس جدید بسازید اسکوپ ها در واقع قسمت های مختلفی هستند که برنامه شما میتونند داشته باشند مثل قسمت کاربران - مطالب و ... که به سادگی میتونید هر اسمی براشون بزارید appID رو در هنگام ثبت اکانت خودتون انتخاب میکنید و اسپیس میتونه در حالت مین یا دیباگ مورد استفاده قرار بگیره در نهایت تایپ هم برای اینه که مشخص کنه چیزی که شما نوشتید در حال سرویس دادنه یا سرویس گرفتن

const rayconnect =  new Rayconnect({
        scopes: 'SCOPE_NAME', // example : chats,apps,users
        appID: 'APP_ID', // your app id from registration process
        space: 'main', // main or debug
        type: 'client or micros' // micros for server and client for browsers (or cli client)
      });

تابع زیر یک تابع ضروری و مهم است که نشون میده رای کانکت کانکت شده یا نه :)

rayconnect.OnConnect(async () => {
  await app.GetUserAccess({
        username:"ACCOUNT_USERNAME",
        password:"ACCOUNT_PASSWORD"
    })
})

توابع

مثل هر فریم ورک دیگری شما باید توابعتون رو تعریف کنید که اتفاقا کار خیلی ساده ای هست


app.Query({
    address:"one",
    method:"GET",
    scope:"blog"
}, (res)=>{

    res.send({
        status:true,
        message:"کاربر عزیر به بخش مطالب وبلاگ خوش آمدید",
        posts:[
            {
                id:1,
                title:"hello",
                content:"world"
            }
        ]
    })
})

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

ساخت کاربر جدید

دقت کنید ساخت کاربر جدید یا باید در رویداد OnConnect صورت بگیرد یا باید بعد از کانکت شدن به صورت کامل باشد :)

جهت ساخت یک کاربر جدید میتوان از کد زیر استفاده کرد

await app.addUser({
        username:"demo",
        password:"demodemo"
    })

احراز هویت با کاربر

با تابع احراز هویت از قبل اشنایی دارید که به شکل زیر است

await app.GetUserAccess({
        username:"ACCOUNT_USERNAME",
        password:"ACCOUNT_PASSWORD"
    })

استفاده از رای کانکت در مرورگر

خب حالا برای اینکه با تابع بالا ارتباط برقرار کنیم میخوایم رای کانکت رو در مرورگر هم فعال کنیم :)

فرض میکنیم شما یک فایل به نام index.html دارید

<script src="https://cdn.jsdelivr.net/npm/rayconnect-client@latest/dist/browser/bundle.js"><script>

بعد از لود کردن بقیه مراحل مثل قبل هست :)

استفاده از اکانت مهمان

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

که کافیه به شکل زیر عمل کنید

rayconnect.OnConnect(async () => {
  await app.GetGuestAccess({})
})

نکته : توجه کنید نباید اطلاعات مدیریتی و یوزر نیم پسورد اصلی برنامه را در مرورگر به کار ببرید

استفاده از اکانت

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

    await app.GetUserAccess({
        username:"ACCOUNT_USERNAME",
        password:"ACCOUNT_PASSWORD"
    })

نکته : توجه کنید نباید اطلاعات مدیریتی و یوزر نیم پسورد اصلی برنامه را در مرورگر به کار ببرید

کنترل دسترسی

رای کانکت به صورت دیفالت دسترسی کلیه کاربران را محدود میکند و هیچ کاربری به هیچ جایی دسترسی ندارد که میتوانید با روش زیر به کاربران دسترسی بدهید

مثال کاربران مهمان

await app.changePermissions({
        address: "one",
        method: "GET",
        mode: "add",
        scope: "blog",
        uid: "guest",
    });

کد بالا دسترسی مربوطه به تابع نوشته شده در قبل را به همه کاربران میدهد

در بخش uid میتوانید از * به معنای همه کاربران به جز مهمان ها و guest به معنای همه کاربران و مهمان ها و یا یک uid
مشخص یعنی نام کاربری یک کاربر خاص استفاده کنید

مثال کاربر

await app.changePermissions({
        address: "one",
        method: "POST",
        mode: "add",
        scope: "blog",
        uid: "demo",
    });

مثال همه کاربران به غیر از مهمان

await app.changePermissions({
        address: "one",
        method: "POST",
        mode: "add",
        scope: "blog",
        uid: "*",
    });

اجرای یک تابع

خب حالا فرض کنید قراره تابعی که نوشتیم رو اجرا کنیم و در مرورگر اطلاعات رو نشون بدیم :)


const result = await app.Run({
        address:"one",
        scope:"blog",
        method:"GET",
        data:{}
    })

  console.log(result)

به همین سادگی

اجرای توابع به وسیله http

رای کانکت یک مزیت خیلی خوب داره و اونم اینه که اتوماتیک براتون وب سرویس میسازه

اما قبلش شما باید یک توکن ارائه کنید

تابع
LoginWithPassword بعد از دریافت یوزر نیم و پسورد یک توکن در اختیار شما قرار میدهد

اما شما میتوانید به سادگی یک توکن مهمان دریافت کنید

دریافت توکن مهمان

https://s1.iranserver1.rayconnect.ir/api/v2/guest?aid=آیدی_اپ

دسترسی به تابع با توکن مهمان

چون تابع تعریف شده از نوع GET میباشد میتوانید آن را در مرورگر خود مشاهده کنید

https://http-gateway.ir/api/v1/restful/run/آیدی_اپ/blog/one?token=توکن دریافت شده