API : System - RemaxThailand/Socket GitHub Wiki

Action

  • translate : แปลภาษาจาก Google Translate (ไม่เก็บข้อมูล)
  • i18nUpdate : แปลภาษาจาก Google Translate (เก็บข้อมูลลงในระบบ)
  • i18nData : ข้อมูลภาษาที่ใช้ในระบบทั้งหมด
  • i18nMessage : แปลข้อความในภาษาที่ใช้ในระบบ
  • systemScreen : ข้อมูลสิทธิ์การเข้าใช้งานหน้าจอต่างๆ ในระบบ
  • screenGroupUpdate : เพิ่มหรือแก้ไขข้อมูลกลุ่มของเมนูหลักในระบบ
  • screenGroupDelete : ลบข้อมูลกลุ่มของเมนูหลักในระบบ
  • screenUpdate : เพิ่มหรือแก้ไขข้อมูลเมนูย่อยในระบบ
  • screenDelete : ลบข้อมูลเมนูย่อยในระบบ
  • memberScreenUpdate : เพิ่มหรือแก้ไขข้อมูลสิทธิ์การเข้าใช้งานหน้าจอต่างๆ
  • reload : สั่งให้ระบบทำการโหลดข้อมูลต่างๆ ในระบบใหม่อีกครั้ง

File ที่เกี่ยวข้อง


translate

แปลภาษาจาก Google Translate (ไม่เก็บข้อมูล)

Required Field รายละเอียด
token Token ที่ได้จากการ Login
message ข้อความที่จะแปล
from ภาษาต้นทางที่จะแปล

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'translate'
	, token: 'ABC123'
	, from: 'en'
	, message: 'Hello'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
result ↓↓↓
{
  en: 'Hello',
  lo: 'ສະບາຍດີ',
  th: 'สวัสดี',
  'zh-CN': '你好',
  ja: 'こんにちは'
}

i18nUpdate

แปลภาษาจาก Google Translate (เก็บข้อมูลลงในระบบ)

Required Field รายละเอียด
token Token ที่ได้จากการ Login
message ข้อความที่จะแปล
from ภาษาต้นทางที่จะแปล
[system] ชื่อระบบ (ถ้าไม่ส่งค่ามา จะเป็นค่าระบบที่เรียกใช้งาน API)

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'i18nUpdate'
	, token: 'ABC123'
	, from: 'en'
	, message: 'Hello'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
  • updatei18n : ส่ง Trigger ไปบอกผู้ใช้งานในระบบว่า มีข้อความ Update มาใหม่

ตัวอย่างข้อมูล

{
  "system":"S1",
  "message":"Hello",
  "result":{
    "en":"Hello",
    "lo":"ສະບາຍດີ",
    "th":"สวัสดี",
    "zh-CN":"你好",
    "ja":"こんにちは"
  }
}

i18nData

ข้อมูลภาษาที่ใช้ในระบบทั้งหมด

Required Field รายละเอียด
token Token ที่ได้จากการ Login
system ชื่อระบบที่จะใช้งาน

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'i18nData'
	, token: 'ABC123'
	, system: 'socket'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
result ↓↓↓
{
  en:{
    Success:'Success',
    Username:'Username',
    Yes:'Yes',
  },
  ja:{
    Success:'成功',
    Username:'ユーザー名',
    Yes:'はい',
  },
  lo:{
    Success:'​ສໍາ​ເລັດ',
    Username:'ຊື່ຜູ້ໃຊ້',
    Yes:'ແມ່ນ',
  },
  th:{
    Success:'สำเร็จ',
    Username:'ชื่อผู้ใช้',
    Yes:'ใช่',
  },
  'zh-CN':{
    Success:'成功',
    Username:'用户名',
    Yes:'是'
  }
}

i18nMessage

แปลข้อความในภาษาที่ใช้ในระบบ ถ้าคำใดไม่มีการแปลไว้ในระบบ ข้อความที่ส่งกลับจะเป็นค่า key ที่ส่งมา

Required Field รายละเอียด
token Token ที่ได้จากการ Login
key ข้อความที่จะแปล

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'i18nMessage'
	, token: 'ABC123'
	, key: 'Username'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
result ↓↓↓
{
  en:'Username',
  th:'ชื่อผู้ใช้',
  lo:'ຊື່ຜູ້ໃຊ້',
  ja:'ユーザー名',
  'zh-CN':'用户名'
}

systemScreen

ข้อมูลสิทธิ์การเข้าใช้งานหน้าจอต่างๆ ในระบบ

Required Field รายละเอียด
token Token ที่ได้จากการ Login

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'systemScreen'
	, token: 'ABC123'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
result ↓↓↓
{
  "company":{
    "company1":{
      "name":"Remax (Thailand)",
      "website":"https://www.remaxthailand.co.th",
      ...
    },
    "company2":{
      ...
    },
    ...
  },
  "system":{
    "company1":[
      {
        "id":"system1",
        "name":"Remax Website"
      }
    ]
  },
  "role":{
    "company1":[
      {
        "role":"role1",
        "name":"ผู้เยี่ยมชม",
        "index":0,
        "active":true
      },
      {
        "role":"role2",
	...
      },
      ...
    ]
  },
  "screenGroup":{
    "system1":[
      {
        "id":"screenGroup1",
        "key":"screen-main",
        "name":"เมนูหลัก",
        "index":0
      },
      {
        "id":"group2",
	...
      },
      ...
    ]
  },
  "screen":{
    "system1":{
      "screen1":{
        "name":"ชื่อหน้าจอ 1",
        "link":"#",
        "icon":"remax"
      },
      {
        "id":"screen2",
	...
      },
      ...
    }
  },
  "screenMapping":{
    "company1":{
      "role1":{
        "system1":{
          "screenGroup1":{
            "child":{
              "screen1":{
                "insert":true,
                "update":true,
                "delete":true,
                "index":0,
                "child":{
                }
              },
	      ...
            }
          }
        }
      }
    }
  }
}

screenGroupUpdate

เพิ่มหรือแก้ไขข้อมูลกลุ่มของเมนูหลักในระบบ

Required Field รายละเอียด
token Token ที่ได้จากการ Login
id รหัสกลุ่มของเมนู
en คำแปลชื่อเมนูภาษาอังกฤษ
th คำแปลชื่อเมนูภาษาไทย
lo คำแปลชื่อเมนูภาษาลาว
ja คำแปลชื่อเมนูภาษาญี่ปุ่น
cn คำแปลชื่อเมนูภาษาจีน

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'screenGroupUpdate'
	, token: 'ABC123'
	, id: 'g3'
	, en: 'Hello'
	, th: 'สวัสดี'
	, lo: 'ສະບາຍດີ'
	, ja: '你好'
	, cn: 'こんにちは'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
  • reload-memberScreen : ส่ง Trigger ไปบอกผู้ใช้งานในระบบ ให้ทำการโหลดเมนูใหม่
ตัวแปร ค่า
screen 'common'

screenGroupDelete

ลบข้อมูลกลุ่มของเมนูหลักในระบบ

Required Field รายละเอียด
token Token ที่ได้จากการ Login
id รหัสเมนู

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'screenGroupDelete'
	, token: 'ABC123'
	, id: 'g1'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false

screenUpdate

เพิ่มหรือแก้ไขข้อมูลเมนูย่อยในระบบ

Required Field รายละเอียด
token Token ที่ได้จากการ Login
id รหัสของเมนู
link URL ของเมนู
icon ไอคอนของเมนู
en คำแปลชื่อเมนูภาษาอังกฤษ
th คำแปลชื่อเมนูภาษาไทย
lo คำแปลชื่อเมนูภาษาลาว
ja คำแปลชื่อเมนูภาษาญี่ปุ่น
cn คำแปลชื่อเมนูภาษาจีน

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'screenUpdate'
	, token: 'ABC123'
	, id: 's7'
	, link: '/hello/world'
	, icon: 'heart'
	, en: 'Hello'
	, th: 'สวัสดี'
	, lo: 'ສະບາຍດີ'
	, ja: '你好'
	, cn: 'こんにちは'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
  • reload-memberScreen : ส่ง Trigger ไปบอกผู้ใช้งานในระบบ ให้ทำการโหลดหน้าจอใหม่
ตัวแปร ค่า
screen รหัสเมนูที่ทำการเพิ่มหรือแก้ไข
  • create-screen : ส่ง Trigger ไปบอกผู้ใช้งานในระบบว่า มีการเพิ่มเมนูเข้ามาในระบบใหม่
ตัวแปร ค่า
screen รหัสเมนูที่ทำการเพิ่มหรือแก้ไข

screenDelete

ลบข้อมูลเมนูย่อยในระบบ

Required Field รายละเอียด
token Token ที่ได้จากการ Login
id รหัสเมนู

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'screenDelete'
	, token: 'ABC123'
	, id: 's1'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
  • reload-memberScreen : ส่ง Trigger ไปบอกผู้ใช้งานในระบบ ให้ทำการโหลดหน้าจอใหม่
ตัวแปร ค่า
screen รหัสเมนูที่ทำการลบ
  • delete-screen : ส่ง Trigger ไปบอกผู้ใช้งานในระบบว่า มีการลบเมนูออกจากระบบแล้ว
ตัวแปร ค่า
screen รหัสเมนูที่ทำการลบ

memberScreenUpdate

เพิ่มหรือแก้ไขข้อมูลสิทธิ์การเข้าใช้งานหน้าจอต่างๆ

Required Field รายละเอียด
token Token ที่ได้จากการ Login
screen รหัสหน้าจอ
role รหัสประเภทสมาชิก
permission สิทธิ์การใช้งาน 4 หลัก (VIUD)
เช่น 1000 คือ V(ดู)=1, I(เพิ่ม)=0, U(แก้ไข)=0, D(ลบ)=0

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'memberScreenUpdate'
	, token: 'ABC123'
	, screen: 'dashboard'
	, role: 'guest'
	, permission: '1010'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false
screen รหัสหน้าจอที่ทำการแก้ไข
role รหัสประเภทสมาชิกที่ทำการแก้ไข

reload

สั่งให้ระบบทำการโหลดข้อมูลต่างๆ ในระบบใหม่อีกครั้ง

Required Field รายละเอียด
token Token ที่ได้จากการ Login
data รหัสคำสั่งต่างๆ

ตัวอย่าง

socket.emit('api', {
	module: 'system'
	, action: 'reload'
	, token: 'ABC123'
	, data: 'memberInfo'
});

ค่าที่ส่งกลับ

ตัวแปร ค่า
success true, false

⚠️ **GitHub.com Fallback** ⚠️