The Points Ranking Plugin provides a user points leaderboard module for GuaQi sites that can be placed directly into a page. It supports weekly, monthly, and all-time rankings simultaneously, and is adapted for content areas and narrow parent layouts, so it can be used both as a main page module and as a sidebar widget.
View three rankings in one module
- Weekly ranking:Aggregates points records for the current week, suitable for short-cycle campaigns and weekly incentives.
- Monthly ranking:Aggregates points records for the current month, suitable for monthly operations and member incentives.
- All-time ranking:Ranks by users’ current total points, showing long-term cumulative results.
Administrators can set the default ranking to open, the number of users displayed in the ranking, whether to show points changes, and whether to display the current logged-in user’s rank.
How the weekly, monthly, and all-time rankings are calculated
The weekly and monthly rankings read the record time from GuaQi points details and aggregate the positive points earned within the current calendar week and current calendar month respectively. The change value is compared with the points from the previous week or previous month, and is visually displayed with an up, down, or flat arrow.
The all-time ranking is not accumulated over a period of time; instead, it sorts by each user’s current total points from their latest points record, so historical transactions are not added repeatedly. The all-time ranking does not display period change values.
Initial data is not requested repeatedly
The default ranking data is merged into the existing auth.pageData page data, and no separate identical request is made for the first screen. When users switch to a weekly, monthly, or all-time ranking that has not yet been loaded, the corresponding data is fetched asynchronously; rankings that have already been fetched are reused within the component.
The module does not depend on SSR. During data preparation, it uses the project’s built-in gq-gs skeleton screen solution to avoid blank areas and abrupt jumps.
Compatible with narrow parent containers and sidebars
The layout responds based on the module’s own available width, rather than only judging the browser window width. When placed in a narrow sidebar, points changes are tucked into the user information area, keeping the avatar, name, and points columns clear; in a wide content area, it expands into a full table.
Ranking information is easier to identify
- The top three use gold, silver, and bronze ranking icons.
- Points changes are expressed using both directional arrows and values.
- The row of the currently logged-in user is highlighted; if they are not within the currently displayed range, their rank is shown separately below the ranking.
- Avatars uniformly go through the project’s avatar address handling method to avoid 404s caused by relative addresses.
- The list background remains restrained, and the current user highlight is still clear but does not overpower the ranking content.
Installation method
Two downloads are provided below: the direct-use version is suitable for installation and deployment, and the source code version is suitable for developers to inspect and perform secondary development. The current version is 1.0.0. After downloading, install and enable it according to the GuaQi runtime plugin process.
