chore: 初始开源发布

iotlcm-onelink-mock:OneLink 挡板服务(本地测试替身)。

- Go module 迁移至 git.5iot.com/iotlcm-public/iotlcm-onelink-mock
- 修复同毫秒内多次生成卡导致 ICCID/IMSI 唯一约束冲突
- 补 Apache-2.0 LICENSE,README 重写并新增 docs/deploy.md
- 移除内部部署资产(CI 触发器 / 镜像推送脚本 / 指定环境部署文档)
- 测试凭据改为 demo_appid / demo_password,真实手机号与内网 IP 脱敏
- 统一 LF 行尾并加 .gitattributes
This commit is contained in:
MiFaZhan
2026-10-22 15:08:27 +08:00
commit 4e2cd43a55
61 changed files with 10417 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
server:
address: ":8080"
openapiPath: "/api.json"
swaggerPath: "/swagger"
logPath: "logs"
logLevel: "all"
logStdout: true
accessLogEnabled: true
logger:
path: "logs"
file: "{Y-m-d}.log"
level: "all"
stdout: true
stdoutColorDisabled: true
rotateSize: "100M"
rotateBackupLimit: 10
rotateBackupExpire: "30d"
database:
default:
type: "sqlite"
link: "sqlite::@file(data/onelink_mock.db)"
runtimeLog:
capacity: 500
+6
View File
@@ -0,0 +1,6 @@
package manifest
import _ "embed"
//go:embed sql/schema.sql
var SchemaSQL string
+80
View File
@@ -0,0 +1,80 @@
CREATE TABLE IF NOT EXISTS mock_card_group (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL UNIQUE,
created_at TEXT NOT NULL,
updated_at TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS mock_t_sim_card (
id INTEGER PRIMARY KEY AUTOINCREMENT,
group_id INTEGER,
msisdn TEXT NOT NULL UNIQUE,
iccid TEXT NOT NULL UNIQUE,
imsi TEXT NOT NULL UNIQUE,
imei TEXT,
remark TEXT,
carrier TEXT,
package_code TEXT,
package_name TEXT,
package_status INTEGER,
package_total_flow_mb REAL,
is_flow_pool INTEGER,
card_status TEXT,
last_change_date TEXT,
stop_reason TEXT,
frozen_status TEXT,
frozen_reason TEXT,
frozen_oper_time TEXT,
open_date TEXT,
active_date TEXT,
on_off_status TEXT,
session_status TEXT,
apn_id TEXT,
session_ipv4 TEXT,
session_ipv6_prefix TEXT,
session_ipv6 TEXT,
session_create_date TEXT,
rat TEXT,
apn_list_json TEXT,
apn_usage_json TEXT,
primary_apn_name TEXT,
primary_apn_status TEXT,
primary_apn_usage_kb REAL,
primary_apn_usage_bytes INTEGER,
pcc_code TEXT,
pcc_usage_kb REAL,
current_month_usage_kb REAL,
pool_usage_bytes INTEGER,
daily_usage_kb REAL,
monthly_usage_kb REAL,
daily_query_date TEXT,
monthly_query_month TEXT,
monthly_deadline TEXT,
growth_per_minute_kb REAL,
auto_growth_enabled INTEGER,
last_usage_update_time TEXT,
card_bind_status TEXT,
region_limit_status TEXT,
area_restrict_type TEXT,
restricted_area TEXT,
exported INTEGER NOT NULL DEFAULT 0,
export_checked_at TEXT,
created_at TEXT,
updated_at TEXT
);
CREATE TABLE IF NOT EXISTS mock_order (
id INTEGER PRIMARY KEY AUTOINCREMENT,
order_num TEXT NOT NULL UNIQUE,
msisdn TEXT,
iccid TEXT,
imsi TEXT,
type TEXT NOT NULL,
oper_type TEXT,
apn_name TEXT,
status TEXT NOT NULL,
created_at TEXT NOT NULL
);
CREATE INDEX IF NOT EXISTS idx_mock_card_created_at ON mock_t_sim_card(created_at DESC);
CREATE INDEX IF NOT EXISTS idx_mock_order_created_at ON mock_order(created_at DESC);