package com.jsowell.pile.dto.agentDev;

import lombok.Data;

import java.util.List;

/**
 * 拼接授权链接 DTO
 *
 * @author Lemon
 * @Date 2023/7/31 14:04
 */
@Data
public class ConcatenateAuthLinkDTO {
    /**
     * 第三方平台方 appid
     */
    private String platformAppID;

    /**
     * 预授权码
     */
    private String preAuthCode;

    /**
     * 授权回调 URI (填写格式为https://xxx)
     */
    private String redirectUri;

    /**
     * 要授权的账号类型，即商家点击授权链接或者扫了授权码之后，展示在用户手机端的授权账号类型。
     *
     * - 1 表示手机端仅展示公众号；2 表示仅展示小程序，3 表示公众号和小程序都展示。如果为未指定，则默认小程序和公众号都展示。
     * - 第三方平台开发者可以使用本字段来控制授权的账号类型。
     * - 对于已经注销、冻结、封禁、以及未完成注册的账号不再出现于授权账号列表。
     */
    private String authType;

    /**
     * 指定授权唯一的小程序或公众号
     *
     * - 如果指定了appid，则只能是该appid的管理员进行授权，其他用户扫码会出现报错。
     * - auth_type、biz_appid 两个字段如果设置的信息冲突，则biz_appid生效的优先级更高。
     * - 例如，auth_type=1，但是biz_appid是小程序的appid，则会按照auth_type=2来处理，即以biz_appid的类型为准去拉出来对应的权限集列表.
     */
    private String bizAppid;

    /**
     * 指定的权限集id列表，如果不指定，则默认拉取当前第三方账号已经全网发布的权限集列表
     *
     * - 如需要指定单个权限集ID，写法为“category_id_list=99” ，如果有多个权限集，则权限集id与id之间用中竖线隔开。
     */
    private List<String> categoryIdList;

    /**
     * 版本类型
     * 1 - PC版
     * 2 - H5版
     */
    private String versionType;
}
