Skip to content

sb-child/sb-counter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SB-Counter 色逼数

beta版, 可以试试部署啦作者都部署了, 还怕什么?

好耶, 是色逼数! 你心里, 没有逼数!

demo

数据
图解(硬核)

这些链接可供测试

用途

记录访问量

怎么用

  1. clone本项目, 或下载压缩包并解压

  2. 创建数据库, 目前只支持postgresql:

CREATE USER "[用户名]" PASSWORD '[密码]';
CREATE DATABASE [数据库名] OWNER "[用户名]";

进入 [数据库名] 数据库

DROP TABLE public.counter;

CREATE TABLE IF NOT EXISTS public.counter
(
    id text COLLATE pg_catalog."default" NOT NULL,
    db text COLLATE pg_catalog."default" NOT NULL,
    created_at timestamp with time zone,
    ip text COLLATE pg_catalog."default" NOT NULL
)

TABLESPACE [表空间, 默认为 pg_default];

ALTER TABLE public.counter
    OWNER to "[用户名]";
  1. 在config目录下, 复制config.example.tomlconfig.toml, 按需编辑config.toml:
  • 更改数据库地址, 端口号, 名称, 用户名和密码
  • 更改监听端口
  • 更改sb-counter设置
  1. 编译
  • 准备好golang 1.20+gfcli环境
  • 拷贝manifest/config/config.yaml./config.yaml
  • ./build.sh
  1. 部署
  • 确保sb-counter-binconfig.yaml在同一目录下
  • 运行sb-counter-bin
  1. 使用
  • 写入模式, 每次访问都会计数: http://127.0.0.1:端口号/根目录/用户名/rw/card
  • 只读模式, 只能查看, 不会记录: http://127.0.0.1:端口号/根目录/用户名/ro/card

配置文件是什么鬼

每个合法的链接都包含一个标识名(称为path),访问计数器将根据这个标识名来记录访问次数。

此外,每个路径都归属于一个分组,每个分组的访问记录都将存储到数据库中。

如果多个路径属于同一分组,它们的访问计数将会共享。例如,如果两个路径都属于 sbchild-profile 分组,它们的访问计数将会合并计算。

sbcounter:
  # 省略
  user:
    - path: "sbchild"  # 这个是路径的名字 例子: http://127.0.0.1:3264/_sbcounter/sbchild/rw/card
      db: "sbchild-profile"  # 如果上述链接被访问过的话, 访问记录会保存在这个分组(sbchild-profile)里
    - path: "testuser" # 具有相同分组的链接, 看到的访问计数是一样的
      db: "sbchild-profile"
    - path: "aaa" # 这是另一个分组,它和上一个路径互不影响
      db: "2"

框架

GoFrame

许可证

Apache 2.0

Makefile 子命令

Project Makefile Commands:

  • make cli: Install or Update to the latest GoFrame CLI tool.
  • make dao: Generate go files for Entity/DAO/DO according to the configuration file from hack folder.
  • make service: Parse logic folder to generate interface go files into service folder.
  • make image TAG=xxx: Run docker build to build image according manifest/docker.
  • make image.push TAG=xxx: Run docker build and docker push to build and push image according manifest/docker.
  • make deploy TAG=xxx: Run kustomize build to build and deploy deployment to kubernetes server group according manifest/deploy.

Releases

No releases published

Packages

No packages published

Languages