Skip to content

微服务鉴权接口

登陆态检查及鉴权接口 http://account.cluster.gm/auth/check

Method
    GET
请求
    login_type  M   string  可选值:STATION, MANAGE, BSHOP
    sessionid   M   string  从cookies中的sessionid中获得

响应
    user_id     M   int
示例
    request
        http://account.cluster.gm/auth/check?login_type=STATION
    response
        { code: 0, msg: "OK", data: { user_id: 123 } }
        { code: 3001, msg: "Unauthorized", data: null }
        { code: 1 or 5xx, msg: "系统繁忙,请稍后重试", data: null }
逻辑
    从 cookies 中获取 seesion id 信息,然后从数据库中根据 session id 获取用户的登陆态并返回相关信息。

获取 station 用户信息

GraphQL 入口:http://account.cluster.gm/station/standard_graphql

GraphQL 文档:https://doc.guanmai.cn/模块文档/account模块/station/

获取 manage 用户信息

GraphQL 入口:http://account.cluster.gm/ma/standard_graphql

GraphQL 文档:https://doc.guanmai.cn/模块文档/account模块/ma/

注意 account.cluster.gm 是内网域名,在 docker 只才能访问

例子:

查看用户名
request:
    http://account.cluster.gm/ma/standard_graphql?query=query{user(id:123){id,name}}
response:
    {
        "data": {
            "user": {
                "id": 123,
                "name": "yeliuxing"
            }
        }
    }


查看用户拥有的所有权
request:
    http://account.cluster.gm/station/standard_graphql?query=query{
        user(id:244){
            id
            roles {
                id
                name
                permissions {
                    id
                    name
                }
            }
        }
    }
response:
    {
        "data": {
            "user": {
                "roles": [
                    {
                        "id": 4243,
                        "name": "\u7cfb\u7edf\u5206\u914d\u89d2\u8272 57",
                        "permissions": [
                            {
                                "id": 70,
                                "name": "\u67e5\u770b\u91c7\u8d2d\u62a5\u4ef7\u5355"
                            },
                            {
                                "id": 71,
                                "name": "\u6dfb\u52a0\u91c7\u8d2d\u62a5\u4ef7\u5355"
                            },
                            {
                                "id": 72,
                                "name": "\u7f16\u8f91\u91c7\u8d2d\u62a5\u4ef7\u5355"
                            },
                            {
                                "id": 73,
                                "name": "\u67e5\u770b\u91c7\u8d2d\u5546\u54c1\u89c4\u683c"
                            },
                            {
                                "id": 74,
                                "name": "\u6dfb\u52a0\u91c7\u8d2d\u5546\u54c1\u89c4\u683c"
                            },
                            {
                                "id": 75,
                                "name": "\u7f16\u8f91\u91c7\u8d2d\u5546\u54c1\u89c4\u683c"
                            },
                            {
                                "id": 80,
                                "name": "\u67e5\u770b\u8ba2\u5355"
                            },
                            {
                                "id": 81,
                                "name": "\u7f16\u8f91\u8ba2\u5355"
                            },
                            {
                                "id": 82,
                                "name": "\u65b0\u5efa\u8ba2\u5355"
                            },
                            {
                                "id": 83,
                                "name": "\u5220\u9664\u8ba2\u5355"
                            },
                            {
                                "id": 84,
                                "name": "\u67e5\u770b\u91c7\u8d2d\u4efb\u52a1"
                            },
                            {
                                "id": 86,
                                "name": "\u67e5\u770b\u914d\u9001\u4efb\u52a1"
                            },
                            {
                                "id": 87,
                                "name": "\u67e5\u770b\u7ecf\u8425\u5206\u6790\uff0d\u5168\u91cf\u6210\u4ea4"
                            },
                            {
                                "id": 88,
                                "name": "\u67e5\u770b\u7ecf\u8425\u5206\u6790\uff0d\u771f\u5b9e\u6210\u4ea4"
                            },
                            {
                                "id": 89,
                                "name": "\u67e5\u770b\u7ecf\u8425\u5206\u6790\uff0d\u54c1\u7c7b\u6210\u672c"
                            },
                            {
                                "id": 90,
                                "name": "\u67e5\u770b\u7ecf\u8425\u5206\u6790\uff0d\u8ba2\u5355\u660e\u7ec6"
                            },
                            {
                                "id": 91,
                                "name": "\u67e5\u770b\u5f02\u5e38\u5206\u6790"
                            },
                            {
                                "id": 102,
                                "name": "\u67e5\u770b\u901a\u7528SPU"
                            },
                            {
                                "id": 106,
                                "name": "\u6dfb\u52a0\u672c\u7ad9SPU"
                            },
                            {
                                "id": 107,
                                "name": "\u7f16\u8f91\u672c\u7ad9SPU"
                            },
                            {
                                "id": 108,
                                "name": "\u67e5\u770b\u5206\u62e3\u914d\u7f6e"
                            },
                            {
                                "id": 109,
                                "name": "\u7f16\u8f91\u5206\u62e3\u914d\u7f6e"
                            },
                            {
                                "id": 310,
                                "name": "\u53f8\u673a\u7ba1\u7406"
                            },
                            {
                                "id": 417,
                                "name": "\u6253\u5370\u88c5\u8f66\u5355\u548c\u6e05\u5355"
                            },
                            {
                                "id": 494,
                                "name": "\u67e5\u770b\u5e97\u94fa\u8fd0\u8425"
                            },
                            {
                                "id": 496,
                                "name": "\u7f16\u8f91\u5e97\u94fa\u88c5\u4fee"
                            },
                            {
                                "id": 499,
                                "name": "\u5bfc\u51fa\u62a5\u4ef7\u5355\u5546\u54c1"
                            },
                            {
                                "id": 500,
                                "name": "\u6253\u5370\u91c7\u8d2d\u4efb\u52a1\u548c\u660e\u7ec6"
                            },
                            {
                                "id": 509,
                                "name": "\u7f16\u8f91\u57fa\u7840\u8bbe\u7f6e"
                            },
                            {
                                "id": 510,
                                "name": "\u67e5\u770b\u5e97\u94fa\u88c5\u4fee"
                            },
                            {
                                "id": 544,
                                "name": "\u67e5\u770b\u5206\u62e3\u8fdb\u5ea6"
                            },
                            {
                                "id": 545,
                                "name": "\u67e5\u770b\u5206\u62e3\u660e\u7ec6"
                            }
                        ]
                    }
                ],
                "id": 244
            }
        }
    }

获取 bshop 用户信息

TODO

Web 服务需要提供给发布脚本的接口

  1. 提供一个 project_name (比如 station,manage,order),发布脚本会把每一个 web 服务放在 /data/www/${project_name}/${branch_name}/ 目录下
  2. 提供任意一种方式(比如一个函数、一条 shell 语句 ...),可以让发布脚本获取下面的信息
  3. 这台机器上运行了这个工程的哪些分支
  4. 这些分支分别占用了哪些端口
  5. 提供一个非常简单的 http 接口,用于在启动工程后,由发布脚本简单测试一下工程是否启动成功。
  6. 在工程中放一个 shell 脚本文件,可以实现下面的功能(其中 1234 是端口号,由发布脚本提供)

    sh xxx/yyy start 1234 sh xxx/yyy stop sh xxx/yyy reload

docker

进入和退出 docker 环境

  1. 登录到 devhost,切换到 superman 用户
  2. 执行 sudo docker exec -it wwen6 zsh 进入 docker 环境
  3. 进入 /data/www/fe-micro/master 进行相关操作
  4. 执行 exit 退出 docker 环境

在 docker 环境中安装 node v12

apt update
apt install -y curl
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt install -y nodejs

数据库

station:
  host: "127.0.0.1"
  user: "root"
  password: ""
  port: 3306