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
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 (Writing)
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/audit
Method: POST
Args:
token
string
user(admin operator) token
sid
int
id of this song(v.) event
operate
string
pass, abort and ignore
Response Format: Json
Json Args:
code
int
response code
List Page (Writing)
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/
Method: POST
Args:
token
string
user(admin operator) token
sid
int
id of this song(v.) event
operate
string
pass, abort and ignore
Response Format: Json
Json Args:
code
int
response code