域名 AXUM.RS 将于 2025 年 10 月到期。我们无意再对其进行续费,如果你有意接续这个域名,请与我们取得联系。
  • AXUM.RS 现仅需人民币 3000 元(大写:叁仟元整。接受适度议价
  • 按照行业规则,AXUM.RS 到期后,大概率会进入长时间的赎回期,该期间内,如果你想拥有该域名,将要付出高额的费用
  • 我们已启用 AXUM.EU.ORG 域名,并将持续运营
  • 仅接受微信或支付宝交易
如果你对 AXUM.RS 有兴趣,请和我们进行联系:

用户积分变动记录

// src/db/pointer_log.rs

pub async fn list_all<'a>(c: impl PgExecutor<'a>, user_id: &'a str) -> Result<Vec<Model>> {
    let mut q = QueryBuilder::new(
        r#"SELECT id, user_id, dateline, pointer_amount, before_pointer, after_pointer, "note" FROM pointer_logs WHERE user_id="#,
    );
    q.push_bind(user_id)
        .push(" ORDER BY id DESC")
        .push(" LIMIT 50");
    q.build_query_as().fetch_all(c).await
}
  • 根据用户ID列出所有积分变动记录
// src/handler/api/user.rs

pub async fn pointer_log(
    State(state): State<ArcAppState>,
    auth: mid::Auth,
) -> Result<resp::JsonResp<Vec<model::pointer_log::PointerLog>>> {
    let user = auth.get_user()?;

    let data = db::pointer_log::list_all(&*state.pool, &user.id).await?;
    Ok(resp::Resp::success(data).to_json())
}
  • 获取当前登录用户
  • 从数据库中查找该用户积分变动记录

前端

本章代码位于09.积分变动分支。

要查看完整内容,请先登录