fix
parent
e934347fb6
commit
5532f0bd6a
251
README.md
251
README.md
|
@ -1,74 +1,233 @@
|
|||
# فریم ورک ابری رای کانکت
|
||||
رای کانکت یک فریم ورک ابری هست ، یعنی بسیاری از ابزار های مورد نیاز شما رو در بستر یک فضای ابری بهتون ارائه میکنه
|
||||
و شما به وسیله اون میتونید مدیریت کاملی بر کاربرانتون و کنترل دسترسی کاربرانتون و هزار و یک چیز داشته باشید
|
||||
حتی توابع بلادرنگ (ریل تایم)
|
||||
# Rayconnect Client
|
||||
Offical client of rayconnect server
|
||||
کلاینت رسمی رای کانکت در زبان جاوا اسکریپت راه ارتباطی شما با این فریم ورک ابری هست
|
||||
|
||||
# install
|
||||
|
||||
جهت نصب و راه اندازی رای کانکت میتونید از دستور زیر استفاده کنید
|
||||
|
||||
```sh
|
||||
npm install rayconnect-client --save
|
||||
```
|
||||
|
||||
# create rayconnect app (ساخت اپ رای کانکتی)
|
||||
برای کاربران فارسی زبان :)
|
||||
اگه میخواید یک اپ رای کانکتی بسازید شما باید پارتنر رای کانکت باشید
|
||||
اما ما یک سرور موقتی رای کانکت ایجاد کردیم
|
||||
که میتونید باهاش تمرین کنید و اپ رای کانکتی بسازید
|
||||
به زودی نسخه رسمی رایکانکت در ایران ارائه میشه و میتونید از طریق پنل مدیریت برنامه هاتون رو بسازید
|
||||
اما تا اون موقع از لینک زیر اقدام کنید :
|
||||
https://rayconnect-felfel.fandogh.cloud
|
||||
# create rayconnect app
|
||||
قبل از هر چیزی بهتره یک اپ رای کانکتی بسازید که میتونید از لینک زیر برای ساخت اپتون استفاده کنید
|
||||
https://account.http-gateway.ir
|
||||
بعد از ساخته شدن اپ بهتون نام کاربری و کلمه عبور داده میشه که باید در ادامه مراحل از اون استفاده کنید
|
||||
# connect to rayconnect
|
||||
|
||||
برای ساخت یک پروژه رای کانکتی باید از روی رای کانکت یک اینستنس جدید بسازید
|
||||
اسکوپ ها در واقع قسمت های مختلفی هستند که برنامه شما میتونند داشته باشند مثل قسمت کاربران - مطالب و ...
|
||||
که به سادگی میتونید هر اسمی براشون بزارید
|
||||
appID رو در هنگام ثبت اکانت خودتون انتخاب میکنید
|
||||
و اسپیس میتونه در حالت مین یا دیباگ مورد استفاده قرار بگیره
|
||||
در نهایت تایپ هم برای اینه که مشخص کنه چیزی که شما نوشتید در حال سرویس دادنه یا سرویس گرفتن
|
||||
```ts
|
||||
const rayconnect = new Rayconnect({
|
||||
scopes: 'SCOPE_NAME',
|
||||
appID: 'APP_ID',
|
||||
space: 'main',
|
||||
type: 'client or micros'
|
||||
}, "static token or undefined", true);
|
||||
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)
|
||||
});
|
||||
```
|
||||
|
||||
# get data(token and other data) for guest
|
||||
#
|
||||
|
||||
تابع زیر یک تابع ضروری و مهم است که نشون میده رای کانکت کانکت شده یا نه :)
|
||||
```ts
|
||||
rayconnect.OnConnect(async () => {
|
||||
await rayconnect.Guest()
|
||||
.then((data)=>{
|
||||
// data of guest
|
||||
})
|
||||
await app.GetUserAccess({
|
||||
username:"ACCOUNT_USERNAME",
|
||||
password:"ACCOUNT_PASSWORD"
|
||||
})
|
||||
})
|
||||
```
|
||||
|
||||
# توابع
|
||||
|
||||
# auth with token
|
||||
مثل هر فریم ورک دیگری شما باید توابعتون رو تعریف کنید که اتفاقا کار خیلی ساده ای هست
|
||||
```ts
|
||||
|
||||
app.Query({
|
||||
address:"one",
|
||||
method:"GET",
|
||||
scope:"blog"
|
||||
}, (res)=>{
|
||||
|
||||
res.send({
|
||||
status:true,
|
||||
message:"کاربر عزیر به بخش مطالب وبلاگ خوش آمدید",
|
||||
posts:[
|
||||
{
|
||||
id:1,
|
||||
title:"hello",
|
||||
content:"world"
|
||||
}
|
||||
]
|
||||
})
|
||||
})
|
||||
```
|
||||
|
||||
تابعی که در بالا تعریف شده یک تابع ساده هست که مطالب وبلاگ رو بر میگردونه
|
||||
دقت کنید اسکوپی که در تابع استفاده میکنید حتما باید به هنگام ساختن اینستنس رایکانکت مشخص شده باشه
|
||||
|
||||
# ساخت کاربر جدید
|
||||
|
||||
دقت کنید ساخت کاربر جدید یا باید در رویداد
|
||||
OnConnect
|
||||
صورت بگیرد
|
||||
یا باید بعد از کانکت شدن به صورت کامل باشد :)
|
||||
|
||||
جهت ساخت یک کاربر جدید میتوان از کد زیر استفاده کرد
|
||||
```ts
|
||||
await app.addUser({
|
||||
username:"demo",
|
||||
password:"demodemo"
|
||||
})
|
||||
```
|
||||
|
||||
# احراز هویت با کاربر
|
||||
با تابع احراز هویت از قبل اشنایی دارید
|
||||
که به شکل زیر است
|
||||
```ts
|
||||
await app.GetUserAccess({
|
||||
username:"ACCOUNT_USERNAME",
|
||||
password:"ACCOUNT_PASSWORD"
|
||||
})
|
||||
```
|
||||
|
||||
# استفاده از رای کانکت در مرورگر
|
||||
|
||||
خب حالا برای اینکه با تابع بالا ارتباط برقرار کنیم میخوایم رای کانکت رو در مرورگر هم فعال کنیم :)
|
||||
|
||||
فرض میکنیم شما یک فایل به نام index.html
|
||||
دارید
|
||||
|
||||
```html
|
||||
<script src="https://cdn.jsdelivr.net/npm/rayconnect-client@latest/dist/browser/bundle.js"><script>
|
||||
```
|
||||
بعد از لود کردن بقیه مراحل مثل قبل هست :)
|
||||
|
||||
|
||||
|
||||
# استفاده از اکانت مهمان
|
||||
بعد از اینکه رای کانکت رو در مرورگر لود کردید ممکنه بخواید به کاربران مهمان اجازه بدید به برخی چیز ها دسترسی داشته باشند
|
||||
|
||||
که کافیه به شکل زیر عمل کنید
|
||||
```ts
|
||||
rayconnect.OnConnect(async () => {
|
||||
await app.GetGuestAccess({})
|
||||
})
|
||||
```
|
||||
نکته : توجه کنید نباید اطلاعات مدیریتی و یوزر نیم پسورد اصلی برنامه را در مرورگر به کار ببرید
|
||||
|
||||
# استفاده از اکانت
|
||||
گاهی اوقات هم ممکنه دوست داشته باشید
|
||||
یک صفحه لاگین خوشگل طراحی کنید که کاربرانتون با یوزری که براشون ساختید لاگین کنند
|
||||
که باید به شکل زیر عمل کنید
|
||||
|
||||
```ts
|
||||
rayconnect.OnConnect(() => {
|
||||
rayconnect.Auth(process.env.APP_AUTH)
|
||||
})
|
||||
await app.GetUserAccess({
|
||||
username:"ACCOUNT_USERNAME",
|
||||
password:"ACCOUNT_PASSWORD"
|
||||
})
|
||||
```
|
||||
|
||||
# exec query
|
||||
نکته : توجه کنید نباید اطلاعات مدیریتی و یوزر نیم پسورد اصلی برنامه را در مرورگر به کار ببرید
|
||||
|
||||
use this method for execute query
|
||||
method can be any string
|
||||
``` js
|
||||
rayconnect.execQuery({
|
||||
scope: 'your scope name',
|
||||
uniqueID: 'UNIQUE_ID',
|
||||
TokenID: 'TOKEN_ID',
|
||||
address: 'ADDRESS',
|
||||
info: {
|
||||
method: 'METHOD',
|
||||
data: {}
|
||||
}
|
||||
})
|
||||
|
||||
# کنترل دسترسی
|
||||
|
||||
رای کانکت به صورت دیفالت دسترسی کلیه کاربران را محدود میکند و هیچ کاربری به هیچ جایی دسترسی ندارد
|
||||
که میتوانید با روش زیر به کاربران دسترسی بدهید
|
||||
|
||||
## مثال کاربران مهمان
|
||||
```ts
|
||||
await app.changePermissions({
|
||||
address: "one",
|
||||
method: "GET",
|
||||
mode: "add",
|
||||
scope: "blog",
|
||||
uid: "guest",
|
||||
});
|
||||
```
|
||||
|
||||
# on query
|
||||
on receive query
|
||||
``` ts
|
||||
rayconnect.Query({
|
||||
scope: 'your scope name',
|
||||
address: 'any address you defined',
|
||||
method: 'any method like DO GET POST DELETE RECEIVE ETC'
|
||||
}, async (data) => {
|
||||
کد بالا دسترسی مربوطه به تابع نوشته شده در قبل را به همه کاربران میدهد
|
||||
|
||||
})
|
||||
در بخش uid
|
||||
میتوانید از * به معنای همه کاربران به جز مهمان ها و
|
||||
guest
|
||||
به معنای همه کاربران و مهمان ها
|
||||
و یا یک uid
|
||||
مشخص یعنی نام کاربری یک کاربر خاص استفاده کنید
|
||||
|
||||
## مثال کاربر
|
||||
|
||||
```ts
|
||||
await app.changePermissions({
|
||||
address: "one",
|
||||
method: "POST",
|
||||
mode: "add",
|
||||
scope: "blog",
|
||||
uid: "demo",
|
||||
});
|
||||
```
|
||||
|
||||
## مثال همه کاربران به غیر از مهمان
|
||||
|
||||
```ts
|
||||
await app.changePermissions({
|
||||
address: "one",
|
||||
method: "POST",
|
||||
mode: "add",
|
||||
scope: "blog",
|
||||
uid: "*",
|
||||
});
|
||||
```
|
||||
|
||||
# اجرای یک تابع
|
||||
|
||||
خب حالا فرض کنید قراره تابعی که نوشتیم رو اجرا کنیم
|
||||
و در مرورگر اطلاعات رو نشون بدیم :)
|
||||
|
||||
```ts
|
||||
|
||||
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=توکن دریافت شده
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "rayconnect-client",
|
||||
"version": "0.11.15-wow",
|
||||
"version": "0.11.16",
|
||||
"description": "rayconnect client",
|
||||
"main": "dist/rayconnect.js",
|
||||
"types": "dist/rayconnect.d.ts",
|
||||
|
|
Loading…
Reference in New Issue