11 KiB
11 KiB
Front Design For GeSong System
Content
Before
Front(User)
1. Index Page
2. Search Page
3. History Page
4. List Page
5. Confirm Page
Back(Admin)
1. Access Page
2. Audit Page
3. List Page
4. System Page
Public
1. System Interface
Before
All template use WebApi to deal the operate
Recommand Vue.js, but you still can use jQuery(Ajax) :D
All Response Code (Int)
10000
Success
Successfully requested
20000
No enough times
No enough times to song
30000
Forbidden
Wrong Access (For User)
Front (User)
Index Page
The index page use the root path ("/"),
Server will response a 301 code to jump to search page ("/search")
Search Page
The search page use the path "/search"
A user have to log in to use the search function
WebApi Interface Detail:
Path: /api/search
Method: POST
Args:
keyword
string
keyword of the song
token
string
user token
Response Format: Json
Json Args:
code
int
response code
content
list
list of songs
List of Songs Args(content):
pid
int
platform id
id
int
song id(platform)
name
string
name of song
artists
list
list of artists
album
dict
album of this song
url
string
the media url of this song (source platform or system cache)
List of Artists Args:
id
int
artist id(platform)
name
string
name of this artist
cover
string
image url of this aritist
Album Args:
id
int
album id(platform)
name
string
name of this album
cover
string
image url of this album
History Page
The history page use the path "/history"
Anybody can directly get the history of songs
WebApi Interface Detail:
Path: /api/history
Method: GET
Args: Nothing
Response Format: Json
Json Args:
code
int
response code
content
list
list of history songs
List of Songs Args(content):
pid
int
platform id
id
int
song id(platform)
name
string
name of song
artists
list
list of artists
album
dict
album of this song
url
string
the media url of this song (system cache)
List of Artists Args:
id
int
artist id(platform)
name
string
name of this artist
cover
string
image url of this aritist
Album Args:
id
int
album id(platform)
name
string
name of this album
cover
string
image url of this album
List Page
The list page use the path "/list"
Anybody can directly get the list of whitelist and blacklist
WebApi Interface Detail:
Path: /api/list
Method: GET
Args: Nothing
Response Format: Json
Json Args:
code
int
response code
content
dict
dict of list, included whitelist and blacklist
Content Dict(content):
white
list
songs list of whitelist
black
list
songs list of blacklist
List of Songs Args:
pid
int
platform id
id
int
song id(platform)
name
string
name of song
artists
list
list of artists
album
dict
album of this song
List of Artists Args:
id
int
artist id(platform)
name
string
name of this artist
cover
string
image url of this aritist
Album Args:
id
int
album id(platform)
name
string
name of this album
cover
string
image url of this album
Confirm Page
The confirm page use the path "/confirm"
This page only use for the twice confirm
Located from the search page
Read the parameter from url on front code (Javascript)
Get Parameter:
platform
int
platform id
id
int
id of the song
Then use the id and platform id to requests the song detail
WebApi Interface Detail:
Path: /api/detail
Method: POST
Args:
platform
int
id of the platform
id
int
id of the song
token
string
user token
Response Format: Json
Json Args:
code
int
response code
content
list
list of songs
List of Songs Args(content):
pid
int
platform id
id
int
song id(platform)
name
string
name of song
artists
list
list of artists
album
dict
album of this song
url
string
the media url of this song (source platform or system cache)
List of Artists Args:
id
int
artist id(platform)
name
string
name of this artist
cover
string
image url of this aritist
Album Args:
id
int
album id(platform)
name
string
name of this album
cover
string
image url of this album
After user clicking the confirm button, send request to this interface
WebApi Interface Detail:
Path: /api/detail
Method: POST
Args:
platform
int
id of the platform
id
int
id of the song
date
string
YYYY-MM-DD
token
string
user token
Response Format: Json
Json Args:
code
int
response code
Back (Admin)
Access Page
The access page use the path "/admin/access"
Only Admin can request this interface
Get list of user:
WebApi Interface Detail:
Path: /api/userlist
Method: POST
Args:
token
string
user(admin operator) token
Response Format: Json
Json Args:
code
int
response code
content
list
list of all users
List of all users (content):
uid
int
user id
nickname
string
user's nickname
name
string
user's real name (if realname auth passed)
Request for change operate:
WebApi Interface Detail:
Path: /api/admin/access
Method: POST
Args:
token
string
user(admin operator) token
uid
int
user's id to change access
operate
string
admin or user, destination
Response Format: Json
Json Args:
code
int
response code
Audit Page
The audit page use the path "/admin/audit/song" for song audit
Only Admin can request this interface
Get list of songs that songed by users
WebApi Interface Detail:
Path: /api/auditlist/song
Method: POST
Args:
token
string
user(admin operator) token
Response Format: Json
Json Args:
code
int
response code
content
list
list of all users
List of songs that users songed (content):
sid
int
id of this song(v.) event
uid
int
user id
nickname
string
user's nickname
name
string
user's real name (if realname auth passed)
platform
int
platform of the song
id
int
id of the song
name
string
name of song
artists
list
list of artists
album
dict
album of this song
url
string
the media url of this song (source platform or system cache)
Request for audit operate:
WebApi Interface Detail:
Path: /api/admin/listaudit
Method: POST
Args:
token
string
user(admin operator) token
sid
int
id of this song(v.) event
operate
string
pass, abort or ignore
Response Format: Json
Json Args:
code
int
response code
The audit page use the path "/admin/audit/auth" for real name auth audit
Only Admin can request this interface
Get list of user's real name auth.
WebApi Interface Detail:
Path: /api/auditlist/real
Method: POST
Args:
token
string
user(admin operator) token
Response Format: Json
Json Args:
code
int
response code
content
list
list of all real name auth requests
List of real name auth requests (content):
uid
int
id of the user
img
string
the url of the real name auth img
name
string
real name of the user
Request for audit operate:
WebApi Interface Detail:
Path: /api/admin/realaudit
Method: POST
Argv:
token
string
user(admin operator) token
uid
int
id of the user that you audit
operate
string
pass or abort
Response Format: Json
Json Args:
code
int
response code
List Page
The list manage page use the path "/admin/list"
Only Admin can request this interface
Requests the public interface to get the list of blacklist songs and whitelist songs
/api/list
Request for list operate:
WebApi Interface Detail:
Path: /api/admin/list
Method: POST
Args:
token
string
user(admin operator) token
sid
int
id of this song(v.) event
operate
string
white, black, remove
Response Format: Json
Json Args:
code
int
response code
System Page
The system control page use the path "/admin/system"
Only Admin can request this interface
Options:
notice
string
System Notice
switcher
bool
Main switcher for the song function
igTime
bool
``Main switcher to ignore the time limit`
timeRule
list
the timeRule setting
timeRule look like:
[[6, "16:00:00", "23:59:59"], [0, "00:00:00", "8:00:00"]]