I wrote this thing this morning, it is full of function, in the project, the effect is very good.
Below is an example diagram (Demo interface):