/** 接口返回数据类型 */
type IResData<T> = {
    code?: number
    msg?: string
    data: T
    encryptAesKeys?: string
    systemTime?: string
    rows: T[]
    total: number
}


/** 分页查询参数类型 */
type PageQuery = {
    pageNum: number
    pageSize?: number
}

/** 字典类型 */
type Dict = {
    searchValue?: any
    createBy: string
    createTime?: any
    updateBy?: any
    updateTime?: any
    remark: string
    dictCode: number
    dictSort: number
    dictLabel: string
    dictValue: string
    dictType: string
    cssClass?: any
    listClass?: any
    isDefault: string
    status: string
    code?: any
    images?: any
    default: boolean
}

/** APP版本类型 */
type AppVersion = {
    // 版本号
    version: string
    versionNo: string
    // 是否强制更新 0-否 1-是
    isForce: string
    // 更新地址
    url: string
    // 版本更新说明
    content: string
}

/** 协议类型 */
type Agreement = {
    searchValue?: any
    createBy: string
    createTime: string
    updateBy: string
    updateTime: string
    remark?: any
    id: string
    delFlag: number
    title: string
    content: string
    code: string
}

/** 消息 */
type Message = {
    createBeginTime?: any;
    createEndTime?: any;
    filterDisable: boolean;
    createBy?: any;
    createTime?: any;
    updateBy?: any;
    updateTime?: any;
    id: string;
    titleZh: string;
    titleEn: string;
    title: string;
    sketchZh: string;
    sketchEn: string;
    sketch: string;
    contentZh?: any;
    contentEn?: any;
    content?: any;
    type: number;
    userId: string;
    objectId: string;
    isRead: number;
}


/** 地址 */
interface Address {
    createBy: string;
    createTime: string;
    updateBy: string;
    updateTime: string;
    id: string;
    delFlag: number;
    contacts: string;
    phone: string;
    areaCode: string;
    postcode: string;
    addressLine: string;
    block: string;
    unit: string;
    isDefault: number;
    userId: string;
}

interface MemberRechargeRecord {
    createBy: string;
    createTime: string;
    updateBy?: any;
    updateTime: string;
    id: string;
    delFlag: number;
    userId: string;
    rechargeAmount: string;
    memberLevel: string;
    memberDays: number;
    discountAmount: string;
    sort?: any;
    redeemCode: string;
    isRedeem: number;
    rechargeType: number;
    byUserId?: any;
    voucher: string;
    auditStatus: number;
    failReason?: any;
    payTaxAmount: string;
    payAmount: string;
    backgroundImage?: any;
    memberExpireTime: string;
    paynowQrCode?: any;
}

/** 用户信息类型 */
interface IUserInfo {
    createBy?: any;
    createTime: string;
    updateBy?: any;
    updateTime?: any;
    id: string;
    delFlag: number;
    loginPwd: string;
    phone: string;
    areaCode: string;
    email: string;
    firstName: string;
    surname: string;
    avatar: string;
    appleId?: any;
    facebookId?: any;
    googleId?: any;
    balance: string;
    points: string;
    payPwd?: any;
    logoutTime?: any;
    invitationCode: string;
    storeId?: any;
    nickName?: any;
    userPort: number;
    memberRechargeRecord: MemberRechargeRecord;
}