meituansqt

command module
v0.0.0-...-e1ecc37 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2023 License: MIT Imports: 5 Imported by: 0

README

meituansqt

美团企业版(原商企通)API 纯 Golang 实现。

功能

  • pkg/sqtobfuscate:美团企业版 API 参数 签名 加密 混淆算法(官方文档
  • pkg/sqtapi:基于泛型的通用 API 包装函数,自动处理传入传出类型转换和错误码解析成 Error
  • pkg/sqt:部分 API 实现,包括参数结构体定义
  • 根目录下有一个 Terraform provider(实验用,功能暂不完整)

示例

作为 Terraform Provider

本地编译最新的开发版本:

goreleaser build --clean --snapshot

配置 Terraform 加载本地编译的 provider:

cat > .terraformrc <<EOF
provider_installation {
    dev_overrides {
        "registry.terraform.io/jamesits/meituansqt" = "path/to/meituansqt/dist/terraform-provider-meituansqt_linux_amd64_v1"
    }
    direct {}
}
EOF

export TF_CLI_CONFIG_FILE="./.terraformrc"

最简单的 Terraform 例子:

terraform {
    required_providers {
      meituansqt = {
        source = "registry.terraform.io/jamesits/meituansqt"
      }
    }
}

provider "meituansqt" {
    ent_id = 114514
    access_key = "XXXXXXXXXXXXX-TK"
    secret_key = ""
}

resource "meituansqt_staff" "user1" {
    name = "姓名"
    phone = "13800000000"
    email = "user1@example.com"
}

运行:

terraform apply
作为 Golang 库
package main

import (
	"context"
	"fmt"
	"github.com/jamesits/meituansqt/pkg/sqt"
)

const (
	entId     = 114514
	accessKey = "XXXXXXXXXXXX-TK"
	secretKey = "XXXXXXXXXXXXXXXXXXXXXXX"
)

func main() {
	s := sqt.NewProduction(entId, accessKey, secretKey)

	// 查询城市列表
	resp1, _, err := s.AllAdminDivisionQuery(context.Background())
	if err != nil {
		panic(err)
	}
	fmt.Printf("%v", resp1)

	// 查询员工信息
	resp2, _, err := s.StaffBatchQuery(context.Background(), &sqt.StaffBatchQueryRequest{
		StaffIdType:      sqt.StaffIdTypePhone,
		StaffIdentifiers: []string{"13800000000"},
	})
	if err != nil {
		panic(err)
	}
	fmt.Printf("%v", resp2)
}

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
pkg
ecb
sqt
sqtobfuscate
Package sqtobfuscate implements the API request obfuscation required by Meituan / Dianping BEP API.
Package sqtobfuscate implements the API request obfuscation required by Meituan / Dianping BEP API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL