commit efe11c1611b864b917b259b203b93e98d1cc2d8e Author: chfei Date: Mon Nov 9 14:53:33 2026 +0800 Initial StoreWeb publish artifacts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66b6425 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +appsettings.json +appsettings.*.json +dotnet-tools.json +.env +.env.* +*.config +*.ini +*.yaml +*.yml diff --git a/Asp.Versioning.Abstractions.dll b/Asp.Versioning.Abstractions.dll new file mode 100644 index 0000000..c125edb Binary files /dev/null and b/Asp.Versioning.Abstractions.dll differ diff --git a/Asp.Versioning.Http.dll b/Asp.Versioning.Http.dll new file mode 100644 index 0000000..3835b8e Binary files /dev/null and b/Asp.Versioning.Http.dll differ diff --git a/Asp.Versioning.Mvc.ApiExplorer.dll b/Asp.Versioning.Mvc.ApiExplorer.dll new file mode 100644 index 0000000..6dc2cc8 Binary files /dev/null and b/Asp.Versioning.Mvc.ApiExplorer.dll differ diff --git a/Asp.Versioning.Mvc.dll b/Asp.Versioning.Mvc.dll new file mode 100644 index 0000000..9be0405 Binary files /dev/null and b/Asp.Versioning.Mvc.dll differ diff --git a/Asp.Versioning.OpenApi.dll b/Asp.Versioning.OpenApi.dll new file mode 100644 index 0000000..bc3377e Binary files /dev/null and b/Asp.Versioning.OpenApi.dll differ diff --git a/BouncyCastle.Cryptography.dll b/BouncyCastle.Cryptography.dll new file mode 100644 index 0000000..782adf4 Binary files /dev/null and b/BouncyCastle.Cryptography.dll differ diff --git a/FreeSql.DbContext.dll b/FreeSql.DbContext.dll new file mode 100644 index 0000000..68315ae Binary files /dev/null and b/FreeSql.DbContext.dll differ diff --git a/FreeSql.Provider.MySql.dll b/FreeSql.Provider.MySql.dll new file mode 100644 index 0000000..321844b Binary files /dev/null and b/FreeSql.Provider.MySql.dll differ diff --git a/FreeSql.Repository.dll b/FreeSql.Repository.dll new file mode 100644 index 0000000..d739403 Binary files /dev/null and b/FreeSql.Repository.dll differ diff --git a/FreeSql.dll b/FreeSql.dll new file mode 100644 index 0000000..99f4ad9 Binary files /dev/null and b/FreeSql.dll differ diff --git a/Google.Protobuf.dll b/Google.Protobuf.dll new file mode 100644 index 0000000..5363ce3 Binary files /dev/null and b/Google.Protobuf.dll differ diff --git a/Hangfire.AspNetCore.dll b/Hangfire.AspNetCore.dll new file mode 100644 index 0000000..2ee7421 Binary files /dev/null and b/Hangfire.AspNetCore.dll differ diff --git a/Hangfire.Core.dll b/Hangfire.Core.dll new file mode 100644 index 0000000..86a7d57 Binary files /dev/null and b/Hangfire.Core.dll differ diff --git a/Hangfire.MySql.dll b/Hangfire.MySql.dll new file mode 100644 index 0000000..dbfeacd Binary files /dev/null and b/Hangfire.MySql.dll differ diff --git a/Hangfire.NetCore.dll b/Hangfire.NetCore.dll new file mode 100644 index 0000000..7662905 Binary files /dev/null and b/Hangfire.NetCore.dll differ diff --git a/HangfireBasicAuthenticationFilter.dll b/HangfireBasicAuthenticationFilter.dll new file mode 100644 index 0000000..1808b90 Binary files /dev/null and b/HangfireBasicAuthenticationFilter.dll differ diff --git a/K4os.Compression.LZ4.Streams.dll b/K4os.Compression.LZ4.Streams.dll new file mode 100644 index 0000000..57bc9f2 Binary files /dev/null and b/K4os.Compression.LZ4.Streams.dll differ diff --git a/K4os.Compression.LZ4.dll b/K4os.Compression.LZ4.dll new file mode 100644 index 0000000..0711563 Binary files /dev/null and b/K4os.Compression.LZ4.dll differ diff --git a/K4os.Hash.xxHash.dll b/K4os.Hash.xxHash.dll new file mode 100644 index 0000000..7796fb9 Binary files /dev/null and b/K4os.Hash.xxHash.dll differ diff --git a/MAX.Core.dll b/MAX.Core.dll new file mode 100644 index 0000000..1f66b0f Binary files /dev/null and b/MAX.Core.dll differ diff --git a/MAX.Core.pdb b/MAX.Core.pdb new file mode 100644 index 0000000..f671d27 Binary files /dev/null and b/MAX.Core.pdb differ diff --git a/MAX.Core.xml b/MAX.Core.xml new file mode 100644 index 0000000..e1f5a11 --- /dev/null +++ b/MAX.Core.xml @@ -0,0 +1,2167 @@ + + + + MAX.Core + + + + + 缓存 + + + + + 是否存在指定键的缓存 + + 缓存键 + + + + 从缓存中获取数据 + + + + + + + 从缓存中获取数据,如果不存在,则执行获取数据操作并添加到缓存中 + + 缓存数据类型 + 缓存键 + 获取数据操作 + + + + 当缓存数据不存在则添加,已存在不会添加,添加成功返回true + + 缓存数据类型 + 缓存键 + 值 + + + + 覆盖添加 + + + + + + + + + 移除缓存 + + 缓存键 + + + + 清空缓存 + + + + + 是否存在指定键的缓存 + + 缓存键 + + + + 从缓存中获取数据,如果不存在,则执行获取数据操作并添加到缓存中 + + 缓存数据类型 + 缓存键 + + + + 从缓存中获取数据,如果不存在,则执行获取数据操作并添加到缓存中 + + 缓存数据类型 + 缓存键 + 获取数据操作 + + + + 当缓存数据不存在则添加,已存在不会添加,添加成功返回true + + 缓存数据类型 + 缓存键 + 值 + + + + 覆盖添加 + + + + + + + + + 移除缓存 + + 缓存键 + + + + 清空缓存 + + + + + 内存缓存 + + + + + 获取所有Key + + + + + + 单例缓存抽象类 + + 单例对象 + 缓存类型 + + + + 自定义前缀 + + + + + 获取所有Key + + + + + + 公共Value + + + + + + 公共TextValue + + + + + + 公共TextValue + + + + + 默认公共键值对 Key Value + + + + + 通用返回 + + + + + 返回结果是否成功 + + + + + 返回消息 + + + + + 返回内容 + + + + + 返回状态码 + + + + + 通用返回 指定Data类型 + + 数据类型 + + + + 返回内容 + + + + + 通用返回 + + 状态类型枚举 + 数据类型 + + + + 状态 + + + + + 返回内容 + + + + + Base64加密 + + 加密采用的编码方式 + 待加密的明文 + + + + + Base64加密,采用utf8编码方式加密 + + 待加密的明文 + 加密后的字符串 + + + + Base64解密 + + 解密采用的编码方式,注意和加密时采用的方式一致 + 待解密的密文 + 解密后的字符串 + + + + Base64解密,采用utf8编码方式解密 + + 待解密的密文 + 解密后的字符串 + + + + DES加密字符串 + + 待加密的字符串 + 加密密钥,要求为8位 + 加密成功返回加密后的字符串,失败返回源串 + + + + DES解密字符串 + + 待解密的字符串 + 解密密钥,要求为8位,和加密密钥相同 + 解密成功返回解密后的字符串,失败返源串 + + + + 截取字符串函数 + + 所要截取的字符串 + 截取字符串的长度 + + + + + 截取字符串函数,如果超过指定长度则将超出的部分用指定字符串代替 + + 所要截取的字符串 + 截取字符串的长度 + 截取字符串后省略部分的字符串 + + + + + 取指定长度的字符串 + + 要检查的字符串 + 起始位置 + 指定长度 + 用于替换的字符串 + 截取后的字符串 + + + + MD5加密 + + + + + + + MD5加密 + + + + + + MD5 16位加密转long + + + + + + + Url 加密 解密 + + + + + Url加密 + + 加密采用的编码方式 + 待加密的明文 + + + + + Url加密,采用utf8编码方式加密 + + 待加密的明文 + 加密后的字符串 + + + + Url解密 + + 解密采用的编码方式,注意和加密时采用的方式一致 + 待解密的密文 + 解密后的字符串 + + + + Url解密,采用utf8编码方式解密 + + 待解密的密文 + 解密后的字符串 + + + + 依赖注册器:把当前模块的服务注册到 。 + 底层使用哪个容器由宿主项目决定,MAX.Core 不引用任何容器。 + + + + + 注册服务 + + + + + 作用域(每个 Scope/请求一个实例) + + + + + 依赖注册抽象(由 MAX.Core 自己定义,不依赖任何第三方 DI 容器)。 + 具体实现由宿主项目提供,内部适配外部容器(Autofac、Microsoft.Extensions.DependencyInjection 等)。 + + + + + 注册单例: 实现 + + + + + 注册单例实例 + + + + + 注册单例(匿名工厂) + + + + + 注册单例(key): 实现 + + + + + 注册单例实例(key) + + + + + 注册单例(key + 匿名工厂) + + + + + 注册作用域生命周期 + + + + + 注册作用域生命周期(匿名工厂) + + + + + 注册作用域生命周期(key): 实现 + + + + + 注册作用域生命周期(key + 匿名工厂) + + + + + 注册瞬时生命周期 + + + + + 注册瞬时生命周期(匿名工厂) + + + + + 注册瞬时生命周期(key): 实现 + + + + + 注册瞬时生命周期(key + 匿名工厂) + + + + + 单例 + + + + + 每次实例化 + + + + + 系统扩展 - 类型转换 + + + + + IsNullOrEmpty + + + + + + + 安全转换为字符串,去除两端空格,当值为null时返回"" + + 输入值 + + + + 转换为bool + + 数据 + + + + 转换为可空bool + + 数据 + + + + 转换为int + + 数据 + + + + 转换为可空int + + 数据 + + + + 转换为long + + 数据 + + + + 转换为可空long + + 数据 + + + + 转换为double + + 数据 + + + + 转换为可空double + + 数据 + + + + 转换为decimal + + 数据 + + + + 转换为可空decimal + + 数据 + + + + 转换为日期 + + 数据 + + + + 转换为可空日期 + + 数据 + + + + 转换为Guid + + 数据 + + + + 转换为可空Guid + + 数据 + + + + 转换为Guid集合 + + 数据,范例: "83B0233C-A24F-49FD-8083-1337209EBC9A,EAB523C6-2FE7-47BE-89D5-C6D440C3033A" + + + + 转换为Guid集合 + + 字符串集合 + + + + 转换枚举描述 + + + + + + + 枚举值 → 单个 EnumItem + + + + + + + + 是否单一标记 + + + + + + + 获取第一个标记 + + + + + + + + 字典转url Get 参数 + + + + + + + 常用公共操作 + + + + + 获取类型 + + 类型 + + + + 获取类型 + + 类型 + + + + 换行符 + + + + + 初始化 + + 文本 + 值 + 排序号 + 组 + 禁用 + + + + 文本 + + + + + 值 + + + + + 描述 + + + + + 排序号 + + + + + 组 + + + + + 是否选中 + + + + + 禁用 + + + + + 比较 + + 其它列表项 + + + + 类型转换 + + + + + 转换为32位整型 + + 输入值 + + + + 转换为32位可空整型 + + 输入值 + + + + 转换为64位整型 + + 输入值 + + + + 转换为64位可空整型 + + 输入值 + + + + 转换为32位浮点型,并按指定小数位舍入 + + 输入值 + 小数位数 + + + + 转换为32位可空浮点型,并按指定小数位舍入 + + 输入值 + 小数位数 + + + + 转换为64位浮点型,并按指定小数位舍入 + + 输入值 + 小数位数 + + + + 转换为64位可空浮点型,并按指定小数位舍入 + + 输入值 + 小数位数 + + + + 转换为128位浮点型,并按指定小数位舍入 + + 输入值 + 小数位数 + + + + 转换为128位可空浮点型,并按指定小数位舍入 + + 输入值 + 小数位数 + + + + 转换为布尔值 + + 输入值 + + + + 转换为可空布尔值 + + 输入值 + + + + 获取布尔值 + + + + + 转换为日期 + + 输入值 + + + + 转换为可空日期 + + 输入值 + + + + 转换为Guid + + 输入值 + + + + 转换为可空Guid + + 输入值 + + + + 转换为Guid集合 + + 以逗号分隔的Guid集合字符串,范例:83B0233C-A24F-49FD-8083-1337209EBC9A,EAB523C6-2FE7-47BE-89D5-C6D440C3033A + + + + 泛型集合转换 + + 目标元素类型 + 以逗号分隔的元素集合字符串,范例:83B0233C-A24F-49FD-8083-1337209EBC9A,EAB523C6-2FE7-47BE-89D5-C6D440C3033A + + + + 通用泛型转换 + + 目标类型 + 输入值 + + + + 转换为字节数组 + + 输入值 + + + + 转换为字节数组 + + 输入值 + 字符编码 + + + + 拷贝帮助 + + + + + 反射深拷贝 + + + + + + + + Superfast deep copier class, which uses Expression trees. + + + + + Creates a deep copy of an object. + + Object type. + Object to copy. + Dictionary of already copied objects (Keys: original objects, Values: their copies). + + + + + Unix纪元时间 + + + + + 将时间转换为秒级时间戳 + + + + + + + 将时间转换为毫秒级时间戳 + + + + + + + 将时间转换为微秒时间戳 + + + + + + + 将时间Ticks转换为毫微秒时间戳 + + + + + + + 将秒级时间戳转换为时间 + + + + + + + 将毫秒级时间戳转换为时间 + + + + + + + 将微秒级时间戳转换为时间 + + + + + + + 获取当前时间的秒级时间戳 + + + + + + 获取当前时间的毫秒级时间戳 + + + + + + 获取当前时间的微秒级时间戳 + + + + + + 枚举操作 + + + + + 获取实例 + + 枚举类型 + 成员名或值,范例:Enum1枚举有成员A=0,则传入"A"或"0"获取 Enum1.A + + + + 获取成员名 + + 枚举类型 + 成员名、值、实例均可,范例:Enum1枚举有成员A=0,则传入Enum1.A或0,获取成员名"A" + + + + 获取成员名 + + 枚举类型 + 成员名、值、实例均可 + + + + 获取成员值 + + 枚举类型 + 成员名、值、实例均可,范例:Enum1枚举有成员A=0,可传入"A"、0、Enum1.A,获取值0 + + + + 获取成员值 + + 枚举类型 + 成员名、值、实例均可 + + + + 获取描述,使用System.ComponentModel.Description特性设置描述 + + 枚举类型 + 成员名、值、实例均可 + + + + 获取描述,使用System.ComponentModel.Description特性设置描述 + + 枚举类型 + 成员名、值、实例均可 + + + + 获取项集合,文本设置为Description,值为Value + + 枚举类型 + + + + 获取项集合,文本设置为Description,值为Value + + 枚举类型 + + + + 添加描述项 + + + + + 获取名称集合 + + 枚举类型 + + + + 获取名称集合 + + 枚举类型 + + + + 获取名称集合 + + 枚举类型 + + + + 获取名称集合 + + 枚举类型 + + + + 是否单一标记 + + + + + + + 获取第一个标记 + + + + + + + + Enum展示类型 + + + + + 文件和流操作 + + + + + 流转换为字节流 + + 流 + + + + 流转换为字节流 + + 流 + + + + 字符串转换成字节数组 + + 数据,默认字符编码utf-8 + + + + 字符串转换成字节数组 + + 数据 + 字符编码 + + + + 将文件读取到字节流中 + + 文件的绝对路径 + + + + 流转换成字符串 + + 流 + 字符编码 + 缓冲区大小 + 读取完成是否释放流,默认为true + + + + 流转换成字符串 + + 流 + 字符编码 + 缓冲区大小 + 读取完成是否释放流,默认为true + + + + 复制流并转换成字符串 + + 流 + 字符编码 + + + + Http连接操作帮助类 + + + + + 下载文件 + + + + + + + 下载文件 + + + + + + + 根据相传入的数据,得到相应页面数据 + + 参数类对象 + 返回HttpResult类型 + + + + 获取数据的并解析的方法 + + + + + + + 设置返回的Byte + + HttpItem + result + byte + + + + 设置编码 + + HttpItem + HttpResult + byte[] + + + + 提取网页Byte + + + + + + 4.0以下.net版本取数据使用 + + 流 + + + + 为请求准备参数 + + 参数列表 + + + + 设置证书 + + + + + + 设置多个证书 + + + + + + 设置Cookie + + Http参数 + + + + 设置Post数据 + + Http参数 + + + + 设置代理 + + 参数对象 + + + + 回调验证证书问题 + + 流对象 + 证书 + X509Chain + SslPolicyErrors + bool + + + + Http请求参考类 + + + + + 请求URL必须填写 + + + + + 请求方式默认为GET方式,当为POST方式时必须设置Postdata的值 + + + + + 默认请求超时时间 + + + + + 默认写入Post数据超时间 + + + + + 获取或设置一个值,该值指示是否与 Internet 资源建立持久性连接默认为true。 + + + + + 请求标头值 默认为text/html, application/xhtml+xml, */* + + + + + 请求返回类型默认 text/html + + + + + 客户端访问信息默认Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0) + + + + + 返回数据编码默认为NUll,可以自动识别,一般为utf-8,gbk,gb2312 + + + + + Post的数据类型 + + + + + Post请求时要发送的字符串Post数据 + + + + + Post请求时要发送的Byte类型的Post数据 + + + + + 设置代理对象,不想使用IE默认配置就设置为Null,而且不要设置ProxyIp + + + + + Cookie对象集合 + + + + + 请求时的Cookie + + + + + 来源地址,上次访问地址 + + + + + 证书绝对路径 + + + + + 是否设置为全文小写,默认为不转化 + + + + + 支持跳转页面,查询结果将是跳转后的页面 + + + + + 最大连接数 + + + + + 代理Proxy 服务器用户名 + + + + + 代理 服务器密码 + + + + + 代理 服务IP ,如果要使用IE代理就设置为ieproxy + + + + + 设置返回类型String和Byte + + + + + header对象 + + + + + 获取或设置用于请求的 HTTP 版本。返回结果:用于请求的 HTTP 版本。默认为 System.Net.HttpVersion.Version11。 + + + + + 获取或设置一个 System.Boolean 值,该值确定是否使用 100-Continue 行为。如果 POST 请求需要 100-Continue 响应,则为 true;否则为 false。默认值为 true。 + + + + + 设置509证书集合 + + + + + 设置或获取Post参数编码,默认的为Default编码 + + + + + Cookie返回类型,默认的是只返回字符串类型 + + + + + 获取或设置请求的身份验证信息。 + + + + + Http返回参数类 + + + + + Http请求返回的Cookie + + + + + Cookie对象集合 + + + + + 返回的String类型数据 只有ResultType.String时才返回数据,其它情况为空 + + + + + 返回的Byte数组 只有ResultType.Byte时才返回数据,其它情况为空 + + + + + header对象 + + + + + 返回状态说明 + + + + + 返回状态码,默认为OK + + + + + HttpItem类,用于存储实际执行所用到的HttpItem对象 + + + + + 返回类型 + + + + + 表示只返回字符串 只有Html有数据 + + + + + 表示返回字符串和字节流 ResultByte和Html都有数据返回 + + + + + Post的数据格式默认为string + + + + + 字符串类型,这时编码Encoding可不设置 + + + + + Byte类型,需要设置PostdataByte参数的值编码Encoding可设置为空 + + + + + 传文件,Postdata必须设置为文件的绝对路径,必须设置Encoding的值 + + + + + Cookie返回类型 + + + + + 只返回字符串类型的Cookie + + + + + CookieCollection格式的Cookie集合同时也返回String类型的cookie + + + + + 标识生成器 + + + + + 标识 + + + + + 设置标识 + + Id + + + + 重置标识 + + + + + 用Guid创建标识,去掉分隔符 + + + + + This is a generic parameters base class used for Dialog Parameters and Navigation Parameters. + + + + + Default constructor. + + + + + Constructs a list of parameters. + + Query string to be parsed. + + + + Searches Parameter collection and returns value if Collection contains key. + Otherwise returns null. + + The key for the value to be returned. + The value of the parameter referenced by the key; otherwise null. + + + + The count, or number, of parameters in collection. + + + + + Returns an IEnumerable of the Keys in the collection. + + + + + Adds the key and value to the parameters collection. + + The key to reference this value in the parameters collection. + The value of the parameter to store. + + + + Checks collection for presence of key. + + The key to check in the collection. + true if key exists; else returns false. + + + + Gets an enumerator for the KeyValuePairs in parameter collection. + + Enumerator. + + + + Returns the value of the member referenced by key. + + The type of object to be returned. + The key for the value to be returned. + Returns a matching parameter of if one exists in the Collection. + + + + Returns an IEnumerable of all parameters. + + The type for the values to be returned. + The key for the values to be returned. + Returns a IEnumerable of all the instances of type . + + + + Checks to see if the parameter collection contains the value. + + The type for the values to be returned. + The key for the value to be returned. + Value of the returned parameter if it exists. + + + + Converts parameter collection to a parameter string. + + A string representation of the parameters. + + + + Adds a collection of parameters to the local parameter list. + + An IEnumerable of KeyValuePairs to add to the current parameter list. + + + + Searches for + + The type of the parameter to return + A collection of parameters to search + The key of the parameter to find + A matching value of if it exists + + + + Searches for value referenced by + + A collection of parameters to search + The key of the parameter to find + The type of the parameter to return + A matching value of if it exists + Unable to convert the value of Type + + + + Searches for value referenced by + + The type of the parameter to return + A collection of parameters to search + The key of the parameter to find + The value of parameter to return + Success if value is found; otherwise returns false + + + + Searches for value referenced by + + The type of the parameter to return + A collection of parameters to search + The key of the parameter to find + An IEnumerable{T} of all the values referenced by key + + + + Checks to see if key exists in parameter collection + + IEnumerable to search + The key to search the for existence + true if key exists; false otherwise + + + + 反射操作 + + + + + 获取类型描述,使用DescriptionAttribute设置描述 + + 类型 + + + + 获取类型成员描述,使用DescriptionAttribute设置描述 + + 类型 + 成员名称 + + + + 获取类型成员描述,使用DescriptionAttribute设置描述 + + 类型 + 成员名称 + + + + 获取类型成员描述,使用DescriptionAttribute设置描述 + + 成员 + + + + 获取显示名称,使用DisplayNameAttribute设置显示名称 + + 类型 + + + + 获取显示名称,使用DisplayAttribute或DisplayNameAttribute设置显示名称 + + + + + 获取显示名称或描述,使用DisplayNameAttribute设置显示名称,使用DescriptionAttribute设置描述 + + 类型 + + + + 获取属性显示名称或描述,使用DisplayAttribute或DisplayNameAttribute设置显示名称,使用DescriptionAttribute设置描述 + + + + + 查找类型列表 + + 查找类型 + 待查找的程序集列表 + + + + 查找类型列表 + + 查找类型 + 待查找的程序集列表 + + + + 获取类型列表 + + + + + 添加类型 + + + + + 泛型匹配 + + + + + 获取实现了接口的所有实例 + + 接口类型 + 待查找的程序集列表 + + + + 动态创建实例 + + 目标类型 + 类型 + 传递给构造函数的参数 + + + + 获取程序集 + + 程序集名称 + + + + 是否布尔类型 + + 成员 + + + + 是否布尔类型 + + + + + 是否枚举类型 + + 成员 + + + + 是否枚举类型 + + + + + 是否日期类型 + + 成员 + + + + 是否日期类型 + + + + + 是否整型 + + 成员 + + + + 是否整型 + + + + + 是否数值类型 + + 成员 + + + + 是否数值类型 + + + + + 是否集合 + + 类型 + + + + 是否泛型集合 + + 类型 + + + + 从目录中获取所有程序集 + + 目录绝对路径 + + + + 获取公共属性列表 + + 实例 + + + + 获取顶级基类 + + 类型 + + + + 获取顶级基类 + + 类型 + + + + 获取元素类型,如果是集合,返回集合的元素类型 + + 类型 + + + + 带有前缀的域名 + + + + + + + 获取域名 + + + + + + + 获取 URL + + URL 地址 + + + + + URL 解码 + + URL 地址 + + + + + URL 解码 + + URL 地址 + 编码格式 + + + + + URL 编码 + + URL 地址 + + + + + URL 编码 + + URL 地址 + 编码格式 + + + + + 获取参数列表 + + Url 地址 + + + + + 获取参数列表 + + Url 地址 + 编码格式 + + + + + 获取参数字典 + + Url 地址 + + + + + 获取参数字典 + + Url 地址 + 编码格式 + + + + 优先级(优先级越高越先执行) + + + + 启动器:实现 ,由宿主项目统一发现并按 排序执行。 + + + + + 初始化 + + + + + 单例,需要在当前类中定义 + + + + + + Implementation of that logs into a . + + + + + Initializes a new instance of that writes to + the console output. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + Calls . + 2 + + + 自定义日志记录器接口 + + + 记录日志信息 + 日志分组 + 日志内容 + + + + 日志操作 + + + + + 调试级别是否启用 + + + + + 调试 + + + + + 调试 + + 日志消息 + + + + 信息 + + + + + 信息 + + 日志消息 + + + + 警告 + + + + + 警告 + + 日志消息 + + + + 错误 + + + + + 错误 + + 日志消息 + + + + 致命错误 + + + + + 致命错误 + + 日志消息 + + + + 写入日志 + + + + + + + 日志等级 + + + + 提供请求自身的参数校验;不合法时抛出 ValidationException。 + + + 声明命令管道。每个特性独占一行,按源码行号从上到下执行。 + + + 声明命令管道。每个特性独占一行,按源码行号从上到下执行。 + + + + 所有程序集 + + + + + 程序集是否匹配 + + + + + 查找当前程序集中所有继承或实现了指定类型的非抽象类。 + + + 要匹配的目标类型,可以是: + + 普通接口类型(例如 IMyService) + 开放泛型接口类型(例如 IRepository<>) + 普通基类类型(例如 BaseHandler) + 开放泛型基类类型(例如 BaseHandler<>) + + + + 所有满足条件的具体类(非抽象类)的 数组。 + + + 当 为 null 时抛出。 + + + + 此方法会遍历 GetAllTypes() 返回的所有类型,并筛选出: + + 实现了指定接口的类(包括开放泛型接口的封闭实现) + 继承了指定基类的类(包括开放泛型基类的封闭实现) + + + 示例: + + // 查找所有实现了 IEnumDisplayHandler<T> 的类 + var handlers = FindAllDerivedTypes(typeof(IEnumDisplayHandler<>)); + + // 查找所有实现了 IMyService 的类 + var services = FindAllDerivedTypes(typeof(IMyService)); + + // 查找所有继承 BaseHandler 的类 + var subclasses = FindAllDerivedTypes(typeof(BaseHandler)); + + // 查找所有继承开放泛型基类 BaseHandler<T> 的类 + var genericSubclasses = FindAllDerivedTypes(typeof(BaseHandler<>)); + + + + + + 检查指定类型是否继承自某个开放泛型基类。 + + 要检查的类型。 + 开放泛型基类类型,例如 BaseHandler<>。 + + 如果 的继承链中存在指定的开放泛型基类,则返回 true;否则返回 false。 + + + 此方法会沿着 的继承链向上遍历, + 并在每一级检查是否为指定的开放泛型基类定义。 + + + + + 泛型包装方法,查找所有继承或实现了指定类型 的非抽象类。 + + + 目标类型,可以是接口、开放泛型接口、基类或开放泛型基类。 + + + 所有满足条件的具体类(非抽象类)的 数组。 + + + 调用示例: + + var handlers = FindAllDerivedTypes<IEnumDisplayHandler<>>(); + var services = FindAllDerivedTypes<IMyService>(); + var subclasses = FindAllDerivedTypes<BaseHandler>(); + var genericSubclasses = FindAllDerivedTypes<BaseHandler<>>(); + + + + + + 跳过的程序集 + + + + + 获取程序集列表 + + + + + 加载程序集到当前应用程序域 + + 目录绝对路径 + + + + 程序集是否匹配 + + + + + 将程序集添加当前应用程序域 + + + + + 从当前应用程序域获取程序集列表 + + + + + 程序集是否匹配 + + + + + 查找类型列表 + + 查找类型 + 在指定的程序集列表中查找 + + + + 查找类型列表 + + 查找类型 + 在指定的程序集列表中查找 + + + + A special attribute recognized by Roslyn, that marks a type as "embedded", meaning it won't ever be visible from other assemblies. + + + + diff --git a/MAX.Framework.dll b/MAX.Framework.dll new file mode 100644 index 0000000..d5cffd3 Binary files /dev/null and b/MAX.Framework.dll differ diff --git a/MAX.Framework.pdb b/MAX.Framework.pdb new file mode 100644 index 0000000..24c74a2 Binary files /dev/null and b/MAX.Framework.pdb differ diff --git a/MAX.Plugins.dll b/MAX.Plugins.dll new file mode 100644 index 0000000..6bae06f Binary files /dev/null and b/MAX.Plugins.dll differ diff --git a/MAX.Plugins.pdb b/MAX.Plugins.pdb new file mode 100644 index 0000000..2d4b6fa Binary files /dev/null and b/MAX.Plugins.pdb differ diff --git a/MediatR.dll b/MediatR.dll new file mode 100644 index 0000000..ef0c3e0 Binary files /dev/null and b/MediatR.dll differ diff --git a/Microsoft.AspNetCore.OpenApi.dll b/Microsoft.AspNetCore.OpenApi.dll new file mode 100644 index 0000000..547d445 Binary files /dev/null and b/Microsoft.AspNetCore.OpenApi.dll differ diff --git a/Microsoft.Extensions.DependencyModel.dll b/Microsoft.Extensions.DependencyModel.dll new file mode 100644 index 0000000..dae1950 Binary files /dev/null and b/Microsoft.Extensions.DependencyModel.dll differ diff --git a/Microsoft.IO.RecyclableMemoryStream.dll b/Microsoft.IO.RecyclableMemoryStream.dll new file mode 100644 index 0000000..6e0ea40 Binary files /dev/null and b/Microsoft.IO.RecyclableMemoryStream.dll differ diff --git a/Microsoft.OpenApi.dll b/Microsoft.OpenApi.dll new file mode 100644 index 0000000..fc8cd69 Binary files /dev/null and b/Microsoft.OpenApi.dll differ diff --git a/MySql.Data.dll b/MySql.Data.dll new file mode 100644 index 0000000..73db097 Binary files /dev/null and b/MySql.Data.dll differ diff --git a/Newtonsoft.Json.dll b/Newtonsoft.Json.dll new file mode 100644 index 0000000..5813d8c Binary files /dev/null and b/Newtonsoft.Json.dll differ diff --git a/Plugins/Store.CloudProduct/OpenSearch.Client.dll b/Plugins/Store.CloudProduct/OpenSearch.Client.dll new file mode 100644 index 0000000..db5c979 Binary files /dev/null and b/Plugins/Store.CloudProduct/OpenSearch.Client.dll differ diff --git a/Plugins/Store.CloudProduct/OpenSearch.Net.dll b/Plugins/Store.CloudProduct/OpenSearch.Net.dll new file mode 100644 index 0000000..8de5366 Binary files /dev/null and b/Plugins/Store.CloudProduct/OpenSearch.Net.dll differ diff --git a/Plugins/Store.CloudProduct/Store.CloudProduct.deps.json b/Plugins/Store.CloudProduct/Store.CloudProduct.deps.json new file mode 100644 index 0000000..fe5f420 --- /dev/null +++ b/Plugins/Store.CloudProduct/Store.CloudProduct.deps.json @@ -0,0 +1,954 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v10.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v10.0": { + "Store.CloudProduct/1.0.0": { + "dependencies": { + "OpenSearch.Client": "2.1.0", + "Store.Framework": "1.0.0", + "Store.Plugins": "1.0.0" + }, + "runtime": { + "Store.CloudProduct.dll": {} + } + }, + "Asp.Versioning.Abstractions/10.2.1": { + "runtime": { + "lib/net10.0/Asp.Versioning.Abstractions.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15149" + } + } + }, + "Asp.Versioning.Http/10.2.1": { + "dependencies": { + "Asp.Versioning.Abstractions": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Http.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.Mvc/10.2.1": { + "dependencies": { + "Asp.Versioning.Http": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Mvc.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.Mvc.ApiExplorer/10.2.1": { + "dependencies": { + "Asp.Versioning.Mvc": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Mvc.ApiExplorer.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.OpenApi/10.2.1": { + "dependencies": { + "Asp.Versioning.Mvc.ApiExplorer": "10.2.1", + "Microsoft.AspNetCore.OpenApi": "10.0.10", + "Microsoft.OpenApi": "2.7.5" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.OpenApi.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "BouncyCastle.Cryptography/2.3.1": { + "runtime": { + "lib/net6.0/BouncyCastle.Cryptography.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.1.17862" + } + } + }, + "FreeSql/3.5.311": { + "runtime": { + "lib/netstandard2.1/FreeSql.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.DbContext/3.5.311": { + "dependencies": { + "FreeSql": "3.5.311" + }, + "runtime": { + "lib/net10.0/FreeSql.DbContext.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.Provider.MySql/3.5.311": { + "dependencies": { + "FreeSql": "3.5.311", + "MySql.Data": "9.1.0" + }, + "runtime": { + "lib/net10.0/FreeSql.Provider.MySql.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.Repository/3.5.311": { + "dependencies": { + "FreeSql.DbContext": "3.5.311" + }, + "runtime": { + "lib/net10.0/FreeSql.Repository.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "Google.Protobuf/3.26.1": { + "runtime": { + "lib/net5.0/Google.Protobuf.dll": { + "assemblyVersion": "3.26.1.0", + "fileVersion": "3.26.1.0" + } + } + }, + "Hangfire.AspNetCore/1.8.25": { + "dependencies": { + "Hangfire.NetCore": "1.8.25" + }, + "runtime": { + "lib/netcoreapp3.0/Hangfire.AspNetCore.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + } + }, + "Hangfire.Core/1.8.25": { + "dependencies": { + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "lib/netstandard2.0/Hangfire.Core.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + }, + "resources": { + "lib/netstandard2.0/zh/Hangfire.Core.resources.dll": { + "locale": "zh" + } + } + }, + "Hangfire.Dashboard.Basic.Authentication/8.0.0": { + "dependencies": { + "Hangfire.AspNetCore": "1.8.25", + "Hangfire.Core": "1.8.25" + }, + "runtime": { + "lib/net8.0/HangfireBasicAuthenticationFilter.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Hangfire.MySql/1.0.0": { + "dependencies": { + "FreeSql.Provider.MySql": "3.5.311", + "Hangfire.Core": "1.8.25", + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "lib/net10.0/Hangfire.MySql.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Hangfire.NetCore/1.8.25": { + "dependencies": { + "Hangfire.Core": "1.8.25" + }, + "runtime": { + "lib/netstandard2.1/Hangfire.NetCore.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + } + }, + "K4os.Compression.LZ4/1.3.8": { + "runtime": { + "lib/net6.0/K4os.Compression.LZ4.dll": { + "assemblyVersion": "1.3.8.0", + "fileVersion": "1.3.8.0" + } + } + }, + "K4os.Compression.LZ4.Streams/1.3.8": { + "dependencies": { + "K4os.Compression.LZ4": "1.3.8", + "K4os.Hash.xxHash": "1.0.8" + }, + "runtime": { + "lib/net6.0/K4os.Compression.LZ4.Streams.dll": { + "assemblyVersion": "1.3.8.0", + "fileVersion": "1.3.8.0" + } + } + }, + "K4os.Hash.xxHash/1.0.8": { + "runtime": { + "lib/net6.0/K4os.Hash.xxHash.dll": { + "assemblyVersion": "1.0.8.0", + "fileVersion": "1.0.8.0" + } + } + }, + "MediatR/9.0.0": { + "runtime": { + "lib/netstandard2.1/MediatR.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.0.0" + } + } + }, + "Microsoft.AspNetCore.OpenApi/10.0.10": { + "dependencies": { + "Microsoft.OpenApi": "2.7.5" + }, + "runtime": { + "lib/net10.0/Microsoft.AspNetCore.OpenApi.dll": { + "assemblyVersion": "10.0.10.0", + "fileVersion": "10.0.1026.32716" + } + } + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "runtime": { + "lib/net10.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.25.52411" + } + } + }, + "Microsoft.IO.RecyclableMemoryStream/3.0.1": { + "runtime": { + "lib/net6.0/Microsoft.IO.RecyclableMemoryStream.dll": { + "assemblyVersion": "3.0.1.0", + "fileVersion": "3.0.1.0" + } + } + }, + "Microsoft.OpenApi/2.7.5": { + "runtime": { + "lib/net8.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "2.7.5.0", + "fileVersion": "2.7.5.0" + } + } + }, + "MySql.Data/9.1.0": { + "dependencies": { + "BouncyCastle.Cryptography": "2.3.1", + "Google.Protobuf": "3.26.1", + "K4os.Compression.LZ4.Streams": "1.3.8", + "System.Configuration.ConfigurationManager": "8.0.0", + "System.Security.Permissions": "8.0.0", + "ZstdSharp.Port": "0.8.0" + }, + "runtime": { + "lib/net8.0/MySql.Data.dll": { + "assemblyVersion": "9.1.0.0", + "fileVersion": "9.1.0.0" + } + }, + "runtimeTargets": { + "runtimes/win-x64/native/comerr64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/gssapi64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/k5sprt64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/krb5_64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/krbcc64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + } + } + }, + "Newtonsoft.Json/13.0.4": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.4.30916" + } + } + }, + "OpenSearch.Client/2.1.0": { + "dependencies": { + "OpenSearch.Net": "2.1.0" + }, + "runtime": { + "lib/netstandard2.1/OpenSearch.Client.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "OpenSearch.Net/2.1.0": { + "runtime": { + "lib/net10.0/OpenSearch.Net.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Riok.Mapperly/4.3.1": { + "runtime": { + "lib/netstandard2.0/Riok.Mapperly.Abstractions.dll": { + "assemblyVersion": "4.3.1.0", + "fileVersion": "4.3.1.0" + } + } + }, + "Serilog/4.3.0": { + "runtime": { + "lib/net9.0/Serilog.dll": { + "assemblyVersion": "4.3.0.0", + "fileVersion": "4.3.0.0" + } + } + }, + "Serilog.AspNetCore/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Hosting": "10.0.0", + "Serilog.Formatting.Compact": "3.0.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.Debug": "3.0.0", + "Serilog.Sinks.File": "7.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.AspNetCore.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Hosting/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Logging": "10.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Hosting.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Logging/10.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Filters.Expressions/2.1.0": { + "dependencies": { + "Serilog": "4.3.0", + "Superpower": "2.3.0" + }, + "runtime": { + "lib/netstandard2.0/Serilog.Filters.Expressions.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Serilog.Formatting.Compact/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Formatting.Compact.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Settings.Configuration/10.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Settings.Configuration.dll": { + "assemblyVersion": "10.0.1.0", + "fileVersion": "10.0.1.0" + } + } + }, + "Serilog.Sinks.Console/6.1.1": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "6.1.1.0", + "fileVersion": "6.1.1.0" + } + } + }, + "Serilog.Sinks.Debug/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Debug.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Sinks.File/7.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net9.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.0.0" + } + } + }, + "Superpower/2.3.0": { + "runtime": { + "lib/netstandard2.0/Superpower.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "2.3.0.0" + } + } + }, + "System.Configuration.ConfigurationManager/8.0.0": { + "dependencies": { + "System.Security.Cryptography.ProtectedData": "8.0.0" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Security.Cryptography.ProtectedData/8.0.0": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Security.Permissions/8.0.0": { + "dependencies": { + "System.Windows.Extensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/System.Security.Permissions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Windows.Extensions/8.0.0": { + "runtime": { + "lib/net8.0/System.Windows.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Windows.Extensions.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "ZstdSharp.Port/0.8.0": { + "runtime": { + "lib/net8.0/ZstdSharp.dll": { + "assemblyVersion": "0.8.0.0", + "fileVersion": "0.8.0.0" + } + } + }, + "MAX.Core/1.0.0": { + "dependencies": { + "MediatR": "9.0.0" + }, + "runtime": { + "MAX.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MAX.Framework/1.0.0": { + "dependencies": { + "Asp.Versioning.Mvc.ApiExplorer": "10.2.1", + "Asp.Versioning.OpenApi": "10.2.1", + "FreeSql": "3.5.311", + "FreeSql.Provider.MySql": "3.5.311", + "FreeSql.Repository": "3.5.311", + "Hangfire.AspNetCore": "1.8.25", + "Hangfire.Dashboard.Basic.Authentication": "8.0.0", + "Hangfire.MySql": "1.0.0", + "MAX.Core": "1.0.0", + "MAX.Plugins": "1.0.0", + "Microsoft.IO.RecyclableMemoryStream": "3.0.1", + "Newtonsoft.Json": "13.0.4", + "Riok.Mapperly": "4.3.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Filters.Expressions": "2.1.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0" + }, + "runtime": { + "MAX.Framework.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MAX.Plugins/1.0.0": { + "runtime": { + "MAX.Plugins.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Framework/1.0.0": { + "dependencies": { + "MAX.Core": "1.0.0", + "MAX.Framework": "1.0.0" + }, + "runtime": { + "Store.Framework.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Plugins/1.0.0": { + "dependencies": { + "MAX.Plugins": "1.0.0", + "Store.Users.Contracts": "1.0.0" + }, + "runtime": { + "Store.Plugins.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Users.Contracts/1.0.0": { + "runtime": { + "Store.Users.Contracts.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Store.CloudProduct/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Asp.Versioning.Abstractions/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jMBztsVim+rYVrkNY23dMuOjTGXGQ9+je1xb3i17KgUof7OcBZtMMDduEWoCQ52SpTlYqKsuzgJyUMCMOFCBfg==", + "path": "asp.versioning.abstractions/10.2.1", + "hashPath": "asp.versioning.abstractions.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Http/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XaVOKS4AV6a6JdFsiuyLkNwU0ilWhUK2U71mBEXJsgi5AGpo24UkfZ4KUhpRGpuMmQNrugS7yxCIscGcnujdFA==", + "path": "asp.versioning.http/10.2.1", + "hashPath": "asp.versioning.http.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Mvc/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fMzUraYZOAobKQn2PffrgPsULbCWFeWroYRYndPasxPsiQl1+i8x5qYRuMYZAbzDrBnymPUMBxT2gZG2PwbkcQ==", + "path": "asp.versioning.mvc/10.2.1", + "hashPath": "asp.versioning.mvc.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Mvc.ApiExplorer/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Tv1megkpUy+3FN9yfVJKIcYMLXTe5CPs4zftBxGaZhADJe6h9CJZ2Okh5cG4PoE7wzHTef+AK++8IuZta3Ppog==", + "path": "asp.versioning.mvc.apiexplorer/10.2.1", + "hashPath": "asp.versioning.mvc.apiexplorer.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.OpenApi/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vYPWPl+8Ur0oyIdJb8gCwotp2fPwlQkRiiUVO8A/MtCVd05RAOc6m2OiDpBQzus2FT5RkZcyi7SseX7uSMsP2Q==", + "path": "asp.versioning.openapi/10.2.1", + "hashPath": "asp.versioning.openapi.10.2.1.nupkg.sha512" + }, + "BouncyCastle.Cryptography/2.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-buwoISwecYke3CmgG1AQSg+sNZjJeIb93vTAtJiHZX35hP/teYMxsfg0NDXGUKjGx6BKBTNKc77O2M3vKvlXZQ==", + "path": "bouncycastle.cryptography/2.3.1", + "hashPath": "bouncycastle.cryptography.2.3.1.nupkg.sha512" + }, + "FreeSql/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jC8dehy9GQXH1b/g5VTpTbYkO15SzDwGY3/452dIJhDsKAmHHdVglSWTunOzR9VbkUiJTDMyA4MOFp9d0NOEeA==", + "path": "freesql/3.5.311", + "hashPath": "freesql.3.5.311.nupkg.sha512" + }, + "FreeSql.DbContext/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7XDHHX+/cp+GyfivHCQOindb6qHRobZusOfFY6fKnxdODJVSxypyrv9K9cQXlompPgSWxyHV0Z5S6yHTG1E83Q==", + "path": "freesql.dbcontext/3.5.311", + "hashPath": "freesql.dbcontext.3.5.311.nupkg.sha512" + }, + "FreeSql.Provider.MySql/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5nPcyltxxA4ix7Vcu8muIPNBTVDTpSN6J22fmWaNIF7NZbkI6ZkktyFxLDVlm2M0ZTi13y53cDlI5AkL8L1nrA==", + "path": "freesql.provider.mysql/3.5.311", + "hashPath": "freesql.provider.mysql.3.5.311.nupkg.sha512" + }, + "FreeSql.Repository/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JyQiuBtndXwxuQsky55kB9ZcmMGOp02jUsazoztE5qcLSQzpCuK8Zil8sz0Y4jXmnuEXuaWoOn9+1VcDFjKD1g==", + "path": "freesql.repository/3.5.311", + "hashPath": "freesql.repository.3.5.311.nupkg.sha512" + }, + "Google.Protobuf/3.26.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CHZX8zXqhF/fdUtd+AYzew8T2HFkAoe5c7lbGxZY/qryAlQXckDvM5BfOJjXlMS7kyICqQTMszj4w1bX5uBJ/w==", + "path": "google.protobuf/3.26.1", + "hashPath": "google.protobuf.3.26.1.nupkg.sha512" + }, + "Hangfire.AspNetCore/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IqklPyZDacfrCM6I9vpoTd9n14AvP5tepgR/IfKTUlPzGihLzey9jpL7PTKguJ3CPAA12qz3WCDUfIJ9IsCLQw==", + "path": "hangfire.aspnetcore/1.8.25", + "hashPath": "hangfire.aspnetcore.1.8.25.nupkg.sha512" + }, + "Hangfire.Core/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BxzXlHwXNrGPHJ7YfAVfeiXC+BHd6uPoyyfV+9bCJVPPGs4z0EQCW1X44Og/IUFM81ENCqAFP1r2rOkQhm4ydA==", + "path": "hangfire.core/1.8.25", + "hashPath": "hangfire.core.1.8.25.nupkg.sha512" + }, + "Hangfire.Dashboard.Basic.Authentication/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sOYBeFePIohQZLzRHOWdWgnSJz9bhcJ3yEWYH2uvwUkFjFANOlGaO1dtFHZfCkjFleBpO+gCBvTDYNPmCpCGrQ==", + "path": "hangfire.dashboard.basic.authentication/8.0.0", + "hashPath": "hangfire.dashboard.basic.authentication.8.0.0.nupkg.sha512" + }, + "Hangfire.MySql/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KbhEIxAokbT07rMiwUGe20Tyhtf6Amn+lUF1R35tpjD17kGOMmGl5wlUPDYeGrkpTzHsqp/Btwpj8hopxm0sUA==", + "path": "hangfire.mysql/1.0.0", + "hashPath": "hangfire.mysql.1.0.0.nupkg.sha512" + }, + "Hangfire.NetCore/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZfI7gwr7n70r635VS9aKsWSzOodY6U0bSIG0jDrqd5ODRLKvc+e5aXXGCnWHWzjvagvlwtUcRGG/lD0/3C7chA==", + "path": "hangfire.netcore/1.8.25", + "hashPath": "hangfire.netcore.1.8.25.nupkg.sha512" + }, + "K4os.Compression.LZ4/1.3.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LhwlPa7c1zs1OV2XadMtAWdImjLIsqFJPoRcIWAadSRn0Ri1DepK65UbWLPmt4riLqx2d40xjXRk0ogpqNtK7g==", + "path": "k4os.compression.lz4/1.3.8", + "hashPath": "k4os.compression.lz4.1.3.8.nupkg.sha512" + }, + "K4os.Compression.LZ4.Streams/1.3.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P15qr8dZAeo9GvYbUIPEYFQ0MEJ0i5iqr37wsYeRC3la2uCldOoeCa6to0CZ1taiwxIV+Mk8NGuZi+4iWivK9w==", + "path": "k4os.compression.lz4.streams/1.3.8", + "hashPath": "k4os.compression.lz4.streams.1.3.8.nupkg.sha512" + }, + "K4os.Hash.xxHash/1.0.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wp2F7BamQ2Q/7Hk834nV9vRQapgcr8kgv9Jvfm8J3D0IhDqZMMl+a2yxUq5ltJitvXvQfB8W6K4F4fCbw/P6YQ==", + "path": "k4os.hash.xxhash/1.0.8", + "hashPath": "k4os.hash.xxhash.1.0.8.nupkg.sha512" + }, + "MediatR/9.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8b3UYNxegHVYcJMG2zH8wn+YqxLvXG+eMfj0cMCq/jTW72p6O3PCKMkrIv0mqyxdW7bA4gblsocw7n+/9Akg5g==", + "path": "mediatr/9.0.0", + "hashPath": "mediatr.9.0.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.OpenApi/10.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d4Atx9IHq7JgX0F/h7Db+m9zAUzC+cKdI9k+OWnnyQIOUQtfvjIEuhvbjPigVMkAmPUgCbJ8Yp6M9ghUqHtJSQ==", + "path": "microsoft.aspnetcore.openapi/10.0.10", + "hashPath": "microsoft.aspnetcore.openapi.10.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==", + "path": "microsoft.extensions.dependencymodel/10.0.0", + "hashPath": "microsoft.extensions.dependencymodel.10.0.0.nupkg.sha512" + }, + "Microsoft.IO.RecyclableMemoryStream/3.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-s/s20YTVY9r9TPfTrN5g8zPF1YhwxyqO6PxUkrYTGI2B+OGPe9AdajWZrLhFqXIvqIW23fnUE4+ztrUWNU1+9g==", + "path": "microsoft.io.recyclablememorystream/3.0.1", + "hashPath": "microsoft.io.recyclablememorystream.3.0.1.nupkg.sha512" + }, + "Microsoft.OpenApi/2.7.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0FA67RSnRM4tcBKqiqVu/HPdZ9+QOKbmeRjxRUGTCjPU4C0bmUhd97Dso7Yild5P7nOV6GxJ2xrK0Kv/O9xp0w==", + "path": "microsoft.openapi/2.7.5", + "hashPath": "microsoft.openapi.2.7.5.nupkg.sha512" + }, + "MySql.Data/9.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-E4t/IQzcXg4nYGqrGkoGwwSWA1V2L+LKzVddPABAPcj2i6RESP2fcZQ4XFC0Wv+Cq4DlgR3DYhX/fGaZ3VxCPQ==", + "path": "mysql.data/9.1.0", + "hashPath": "mysql.data.9.1.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", + "path": "newtonsoft.json/13.0.4", + "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" + }, + "OpenSearch.Client/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jwXLsSDDfgvE5TrL+IaSDSeiWLQktm2isHQLwCUwPCQjeXbnKbhpozpY3jHLI0IFF0c6RDqEA2BLuWLOGQ6udA==", + "path": "opensearch.client/2.1.0", + "hashPath": "opensearch.client.2.1.0.nupkg.sha512" + }, + "OpenSearch.Net/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-67uFxgPREhiqRhLvaktc+sJokhXwoB7F5NQBaCcfcXOyRfxyP7Wz9S1R+lWGOebJamBOMpNwcqV5A047O80IxQ==", + "path": "opensearch.net/2.1.0", + "hashPath": "opensearch.net.2.1.0.nupkg.sha512" + }, + "Riok.Mapperly/4.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oSE+OVLHyiojrws0QVbQaAT2YKsYbyHqJXPdV7EhGseR/dYgeWS2x1T5qY5I4E+RJkJqMSG+FyZOq4SljWgJWQ==", + "path": "riok.mapperly/4.3.1", + "hashPath": "riok.mapperly.4.3.1.nupkg.sha512" + }, + "Serilog/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+cDryFR0GRhsGOnZSKwaDzRRl4MupvJ42FhCE4zhQRVanX0Jpg6WuCBk59OVhVDPmab1bB+nRykAnykYELA9qQ==", + "path": "serilog/4.3.0", + "hashPath": "serilog.4.3.0.nupkg.sha512" + }, + "Serilog.AspNetCore/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a/cNa1mY4On1oJlfGG1wAvxjp5g7OEzk/Jf/nm7NF9cWoE7KlZw1GldrifUBWm9oKibHkR7Lg/l5jy3y7ACR8w==", + "path": "serilog.aspnetcore/10.0.0", + "hashPath": "serilog.aspnetcore.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Hosting/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-E7juuIc+gzoGxgzFooFgAV8g9BfiSXNKsUok9NmEpyAXg2odkcPsMa/Yo4axkJRlh0se7mkYQ1GXDaBemR+b6w==", + "path": "serilog.extensions.hosting/10.0.0", + "hashPath": "serilog.extensions.hosting.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Logging/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==", + "path": "serilog.extensions.logging/10.0.0", + "hashPath": "serilog.extensions.logging.10.0.0.nupkg.sha512" + }, + "Serilog.Filters.Expressions/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e0ZaK+NWx6+j71xB5dRXohdreSeHgMJ9mp4giSp83/4UC8VsJWDH+CAT1YVXsyINAR9IQznXllnJ0e5j+BvwzA==", + "path": "serilog.filters.expressions/2.1.0", + "hashPath": "serilog.filters.expressions.2.1.0.nupkg.sha512" + }, + "Serilog.Formatting.Compact/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wQsv14w9cqlfB5FX2MZpNsTawckN4a8dryuNGbebB/3Nh1pXnROHZov3swtu3Nj5oNG7Ba+xdu7Et/ulAUPanQ==", + "path": "serilog.formatting.compact/3.0.0", + "hashPath": "serilog.formatting.compact.3.0.0.nupkg.sha512" + }, + "Serilog.Settings.Configuration/10.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ayFE7h66mqMqzwfPrzDCMbWU27FdNC2bkCG+jnkeHFZTBRh+yWdr4aa/2WuX7c8RmqxGPMW2UqoJ3fw9hK3QhA==", + "path": "serilog.settings.configuration/10.0.1", + "hashPath": "serilog.settings.configuration.10.0.1.nupkg.sha512" + }, + "Serilog.Sinks.Console/6.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8jbqgjUyZlfCuSTaJk6lOca465OndqOz3KZP6Cryt/IqZYybyBu7GP0fE/AXBzrrQB3EBmQntBFAvMVz1COvAA==", + "path": "serilog.sinks.console/6.1.1", + "hashPath": "serilog.sinks.console.6.1.1.nupkg.sha512" + }, + "Serilog.Sinks.Debug/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4BzXcdrgRX7wde9PmHuYd9U6YqycCC28hhpKonK7hx0wb19eiuRj16fPcPSVp0o/Y1ipJuNLYQ00R3q2Zs8FDA==", + "path": "serilog.sinks.debug/3.0.0", + "hashPath": "serilog.sinks.debug.3.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKL7mXv7qaiNBUC71ssvn/dU0k9t0o45+qm2XgKAlSt19xF+ijjxyA3R6HmCgfKEKwfcfkwWjayuQtRueZFkYw==", + "path": "serilog.sinks.file/7.0.0", + "hashPath": "serilog.sinks.file.7.0.0.nupkg.sha512" + }, + "Superpower/2.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-L7ZLWjec5aPWWebsOKM6+8SdobSFMPJFIS8S8TT46oH2iELA70H95spRMeP1yPH9nDL/o+XYP29DPtVwVdzPeA==", + "path": "superpower/2.3.0", + "hashPath": "superpower.2.3.0.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==", + "path": "system.configuration.configurationmanager/8.0.0", + "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==", + "path": "system.security.cryptography.protecteddata/8.0.0", + "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512" + }, + "System.Security.Permissions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v/BBylw7XevuAsHXoX9dDUUfmBIcUf7Lkz8K3ZXIKz3YRKpw8YftpSir4n4e/jDTKFoaK37AsC3xnk+GNFI1Ow==", + "path": "system.security.permissions/8.0.0", + "hashPath": "system.security.permissions.8.0.0.nupkg.sha512" + }, + "System.Windows.Extensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Obg3a90MkOw9mYKxrardLpY2u0axDMrSmy4JCdq2cYbelM2cUwmUir5Bomvd1yxmPL9h5LVHU1tuKBZpUjfASg==", + "path": "system.windows.extensions/8.0.0", + "hashPath": "system.windows.extensions.8.0.0.nupkg.sha512" + }, + "ZstdSharp.Port/0.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z62eNBIu8E8YtbqlMy57tK3dV1+m2b9NhPeaYovB5exmLKvrGCqOhJTzrEUH5VyUWU6vwX3c1XHJGhW5HVs8dA==", + "path": "zstdsharp.port/0.8.0", + "hashPath": "zstdsharp.port.0.8.0.nupkg.sha512" + }, + "MAX.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "MAX.Framework/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "MAX.Plugins/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Framework/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Plugins/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Users.Contracts/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/Store.CloudProduct/Store.CloudProduct.dll b/Plugins/Store.CloudProduct/Store.CloudProduct.dll new file mode 100644 index 0000000..244e9cc Binary files /dev/null and b/Plugins/Store.CloudProduct/Store.CloudProduct.dll differ diff --git a/Plugins/Store.CloudProduct/Store.CloudProduct.pdb b/Plugins/Store.CloudProduct/Store.CloudProduct.pdb new file mode 100644 index 0000000..c405441 Binary files /dev/null and b/Plugins/Store.CloudProduct/Store.CloudProduct.pdb differ diff --git a/Plugins/Store.CloudProduct/Store.CloudProduct.runtimeconfig.json b/Plugins/Store.CloudProduct/Store.CloudProduct.runtimeconfig.json new file mode 100644 index 0000000..52c2c3e --- /dev/null +++ b/Plugins/Store.CloudProduct/Store.CloudProduct.runtimeconfig.json @@ -0,0 +1,20 @@ +{ + "runtimeOptions": { + "tfm": "net10.0", + "rollForward": "LatestMinor", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "10.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "10.0.0" + } + ], + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/Plugins/Store.CloudProduct/Store.CloudProduct.xml b/Plugins/Store.CloudProduct/Store.CloudProduct.xml new file mode 100644 index 0000000..4b95d12 --- /dev/null +++ b/Plugins/Store.CloudProduct/Store.CloudProduct.xml @@ -0,0 +1,1459 @@ + + + + Store.CloudProduct + + + + + 管道装配阶段(builder.Build() 之后、app.Run() 之前):这里可以挂中间件、解析容器里的服务 + + + + 按图片阅读顺序返回文字和中文品牌名,无识别项返回空数组。 + + + 云商品管理:商品查询、导入、违规上报及搜索索引维护。 + + + 获取全部违规原因字典,包含未启用违规判定的原因,按ID升序返回。 + + + 批量上报违规商品;重复上报合并原因。 + + + 记录已完成的违规上报(1)、自动上货剔除(2)或店铺自动下架(3)。 + + + 按店铺编号数组查询违规日志,可筛选商品,按日志编号倒序翻页。 + + + 批量解除商品违规,恢复正常商品索引;失败后由后台索引任务重试。 + + + 按商品编号批量查询是否违规。 + + + 获取服务器当前日期(长日期格式)。 + + + 手动执行待处理商品的索引任务。 + + + + 分页搜索商品,可按标题、价格、类目、销量和平台筛选。 + + 商品筛选条件及分页参数。 + 符合条件的商品列表及总数。 + + + + 分词搜索,直接返回索引中的商品摘要(路由保持 SearchGoodsToIds 不变) + + + + + 导入测试数据:读取 ImportConverters/data.txt 并走完整解析 + 入库 + 分词流程。 + + + + + 导入接口:接收客户端批量上传的 JSON 文件,解析后入库并写入分词索引。 + + + + + 查询 OpenSearch 状态。 + + + + + 检查搜索索引是否存在。 + + + + + 检查索引映射(分析器)是否符合当前服务要求。 + + + + + 创建搜索索引(含 IK 分词映射,已存在且映射正常时跳过)。 + + + + + 删除搜索索引。 + + + + + 手动刷新搜索索引,使最新写入立即可搜索。 + + + + + 手动新增或覆盖一条搜索文档。 + + + + + 读取指定商品详情:解压缩原始数据并返回 JSON。 + + + + + 读取指定商品的原始数据(解压缩后原样返回)。 + + + + + 重新从数据库读取指定商品,覆盖 OpenSearch 已有分词并重新分词。 + ids 为空时重建全部商品。 + + + + + 删除商品(按商品编号)。是否软删除由配置 Delete:SoftDelete 决定, + 软删除将 Status 置 1,硬删除物理删除记录;两种方式都会删除 OpenSearch 中对应文档。 + + + + + 清空并重建搜索索引(路由保持 ClearSearch 不变)。 + + + + + 统计索引中的文档数(路由保持 GetSearchCount 不变)。 + + + + 上传图片识别及当前用户的商品安全记录。 + + + 上传图片识别及当前用户的商品安全记录。 + + + + 用户收藏商品:收藏/取消收藏(数据库 + 收藏索引同步)、收藏分组、收藏状态查询、收藏检索与索引重建。 + 请求中的 userName 允许为空,为空时取当前登录用户。 + + + + + 批量收藏商品:写入 user_goods_favorites 并同步写入收藏索引,返回本次成功收藏的商品数量。 + 商品已收藏时视为修改收藏分组;商品不存在/已删除的编号会被跳过。 + + + + 更新用户已收藏商品的安全结论。 + + + + 批量取消收藏:删除 user_goods_favorites 记录并同步删除收藏索引文档,返回实际取消的条数。 + + + + + 创建收藏分组:创建成功返回 true,同名分组已存在返回 false。 + + + + + 查询用户的收藏分组(含默认分组)及分组下收藏数量。 + + + + + 按 GoodsIds 顺序返回每个商品是否已被收藏(如 [true,false,...]),前台可按顺序直接渲染。 + + + + + 检索用户收藏的商品(标题、销量、价格、类目、分组)。 + + + + + 移除所有用户收藏索引并重新创建,随后按 user_goods_favorites 关联 goods 全量回填。 + + + + + 取用户名:显式传入优先,否则取当前登录用户。 + + + + + 收藏商品请求(支持多选批量收藏) + + + + + 用户名(为空时取当前登录用户) + + + + + 商品编号集合(可多选) + + + + + 收藏分组ID(默认0,表示默认分组;大于0时必须存在且属于该用户) + + + + + 创建收藏分组请求 + + + + + 用户名(为空时取当前登录用户) + + + + + 分组名 + + + + + 导入项:商品模型 + 原始数据 + + + + + 解析后的商品模型 + + + + + 原始数据(JSON 原文,压缩后落盘) + + + + + 商品导入结果 + + + + + 成功条数 + + + + + 失败条数 + + + + + 总条数 + + + + + 错误明细 + + + + + 商品搜索文档:OpenSearch 索引中的商品模型,Id 为主键,Title 用于分词搜索 + + + + 一级类目ID + + + 二级类目ID + + + 三级类目ID + + + 四级类目ID + + + 最低价快照,用于价格区间过滤和按价格排序 + + + 销量,用于按销量排序 + + + + 商品搜索请求 + + + + + 标题(模糊搜索) + + + + + 最低价格(分) + + + + + 最高价格(分) + + + + + 一级类目ID + + + + + 二级类目ID + + + + + 三级类目ID + + + + + 四级类目ID + + + + + 最低销量 + + + + + 最高销量 + + + + + 平台类型 + + + + + 页码(默认1) + + + + + 每页数量(默认20) + + + + + 排序字段 + + + + + 排序方式:asc/desc(默认desc) + + + + 原因名称,例如“出售假冒商品”;新名称默认仅记录字典,不判定违规。 + + + 存在违规记录且已完成索引下架时为 true,否则为 false。 + + + 当前商品命中的违规原因,供客户端记录实际处理动作。 + + + 商品不存在、已删除或恢复期间再次被上报违规的编号。 + + + 日志记录的实际业务动作,与商品违规原因分别保存。 + + + 客户端在店铺动作完成后提交一条日志。 + + + 违规类型在 violation_reason 中的编号。 + + + 按商铺编号查询违规日志;翻页时传入上一页最后一条日志的编号。 + + + 单张商品图片,使用 multipart/form-data 上传。 + + + 客户端指定的 32 位十六进制 MD5 缓存键,大小写均可。 + + + 图片原始字节的 Base64 字符串,不含 Data URL 前缀。 + + + + OpenSearch 运行状态 + + + + + 节点地址 + + + + + 索引名称 + + + + + 是否可连接 + + + + + OpenSearch 服务及目标索引是否健康 + + + + + 集群名称 + + + + + 集群状态(green、yellow 或 red) + + + + + 集群节点总数 + + + + + 数据节点数量 + + + + + 活跃主分片数量 + + + + + 活跃分片总数 + + + + + 正在迁移的分片数量 + + + + + 正在初始化的分片数量 + + + + + 未分配的分片数量 + + + + + 索引是否存在 + + + + + 索引映射是否符合当前服务要求 + + + + + 标题字段的索引分析器 + + + + + 标题字段的搜索分析器 + + + + + 文档总数(索引不存在或读取失败时为 -1) + + + + + 状态检测耗时(毫秒) + + + + + 状态说明或错误信息 + + + + + 取消收藏(批量)请求 + + + + + 用户名(为空时取当前登录用户) + + + + + 要取消收藏的商品编号集合 + + + + 保存收藏商品的检测结论,沿用原接口的字符串商品编号。 + + + + 用户收藏分组 + + + + 分组ID + + + 用户名 + + + 分组名 + + + 该分组下的收藏数量 + + + + 用户收藏商品(索引文档回显模型) + + + + 收藏记录自增主键 + + + 用户名 + + + 收藏分组ID(0 表示默认分组) + + + 收藏分组名 + + + 商品编号 + + + 平台类型 + + + 商品标题 + + + 缩略图 + + + 一级类目ID + + + 二级类目ID + + + 三级类目ID + + + 四级类目ID + + + 最低价快照(分) + + + 销量 + + + 收藏时间 + + + + 安全检测 + + + + + 用户收藏商品搜索文档:OpenSearch 索引中的收藏模型。 + 一条收藏记录 = 用户 + 商品快照(标题/价格/销量/类目)+ 收藏分组, + 文档 Id 固定为 "{user_name}:{goods_id}"(表 uk_user_goods 保证唯一),便于收藏/取消收藏时幂等覆盖与删除。 + + + + 安全检测结论;为空表示尚未检测。 + + + + 文档主键(同时作为 OpenSearch 的 _id):{user_name}:{goods_id} + + + + + 收藏记录自增主键(user_goods_favorites.id) + + + + 用户名(收藏归属人,检索时强制过滤) + + + 收藏分组ID(0 表示默认分组) + + + 收藏分组名(分组ID为0时为默认分组名) + + + 商品编号 + + + 平台类型(1 PDD、2 WX) + + + 商品标题,用于分词搜索 + + + 缩略图 + + + 一级类目ID + + + 二级类目ID + + + 三级类目ID + + + 四级类目ID + + + 最低价快照(分),用于价格区间过滤和按价格排序 + + + 销量,用于按销量排序 + + + 收藏时间,默认按此字段倒序 + + + + 生成文档主键:{user_name}:{goods_id} + + + + + 用户收藏商品搜索请求(仅检索当前用户自己的收藏) + + + + 安全状态:0 全部(默认),1 安全,2 违规,3 未检测。 + + + + 用户名(为空时取当前登录用户) + + + + + 标题关键字(分词模糊搜索) + + + + + 收藏分组ID(0 表示默认分组) + + + + + 收藏分组名(与分组ID二选一,同时传入时以分组ID为准) + + + + + 最低价格(分) + + + + + 最高价格(分) + + + + + 一级类目ID + + + + + 二级类目ID + + + + + 三级类目ID + + + + + 四级类目ID + + + + + 最低销量 + + + + + 最高销量 + + + + + 平台类型 + + + + + 页码(默认1) + + + + + 每页数量(默认20) + + + + + 排序方式:CreatedTimeDesc(默认,收藏时间倒序)/ CreatedTimeAsc / PriceAsc / PriceDesc / SoldDesc + + + + + 查询商品是否已被收藏请求:按 GoodsIds 顺序返回是否已收藏 + + + + + 用户名(为空时取当前登录用户) + + + + + 商品编号集合 + + + + + 商品表实体(对应数据库表 goods) + + + + + 自增ID + + + + + 平台类型 + 1 PDD + + + + + 商品编号 + + + + + 标题 + + + + + 描述 + + + + + 缩略图 + + + + + 一级类目ID + + + + + 二级类目ID + + + + + 三级类目ID + + + + + 四级类目ID + + + + + 最低价快照(元),导入时计算 + + + + + 最高价快照(元),导入时计算 + + + + + 销量 + + + + + 状态:0正常 1已删除 + + + + + 创建时间 + + + + + 更新时间(自动更新) + + + + + 是否已分词:0未 1已 + + + + 不可变的违规事件历史,解除商品违规时保留。 + + + 对应 violation_reason.id。 + + + 跨用户复用的图片识别数据,仅存储成功识别结果。 + + + 客户端指定的 MD5 缓存键,统一保存为 32 位小写十六进制。 + + + 模型识别结果的 JSON 字符串数组,空数组表示未识别到文字或品牌。 + + + 缓存最近更新时间,UTC。 + + + + 用户收藏商品表实体(对应数据库表 user_goods_favorites) + + + + + 自增主键 + + + + + 用户名(同一用户不能重复收藏同一商品) + + + + + 收藏分组ID(0 表示默认分组),对应 user_goods_favorites_group.id + + + + + 商品编号,对应 goods.goods_id + + + + 最近上报的安全结论,null 表示尚未检测。 + + + + 收藏时间 + + + + + 用户收藏分组表实体(对应数据库表 user_goods_favorites_group) + + + + + 自增主键,即收藏表 user_goods_favorites.group_id 的取值 + + + + + 用户名 + + + + + 分组名 + + + + + 搜索排序方式 + + + + 相关性(默认) + + + 价格从低到高 + + + 价格从高到低 + + + 销量从高到低 + + + + 用户收藏商品搜索排序方式 + + + + 按收藏时间倒序(默认) + + + 按收藏时间正序 + + + 价格从低到高 + + + 价格从高到低 + + + 销量从高到低 + + + + 导入商品数据转换器 + + + + + 原始数据(JSON 原文) + + + + + 获取转换器名称 + + + + + 支持的平台类型 + + + + + 读取内容 + + JSON 原文内容 + + + + 判断是否匹配当前转换器 + + 是否匹配 + + + + 转换为标准商品模型 + + + + + 转换器基类:统一实现读取、校验与转换骨架,子类只需实现匹配判定与字段映射。 + + + + + 由子类实现的具体匹配判定 + + + + + 带校验的转换(基类统一实现) + + + + + 由子类实现的具体字段映射 + + + + + 导入商品转换工厂:按顺序尝试各转换器,返回标准商品模型。 + + + + + 根据本地 JSON 文件路径转换。 + + + + + 根据 JSON 内容字符串转换。 + + + + + PDD 前端商品详情数据转换器(数据源格式见 data.txt) + + + + + 计算价格区间。优先使用顶层 price 节点,其次遍历 sku。 + + + + + 商品仓储(对应 goods 表) + + + + + 用户收藏分组仓储(对应 user_goods_favorites_group 表) + + + + + 用户收藏商品仓储(对应 user_goods_favorites 表) + + + + 查询搜索服务状态;网络不可用时记录错误,不阻止 HTTP 服务启动。 + + + 查询搜索服务状态;网络不可用时记录错误,不阻止 HTTP 服务启动。 + + + + Hangfire 定时任务:把数据库中未同步(IndexStatus=0)的商品写入 OpenSearch 分词索引。 + + + + 跨实例串行化违规上报和商品索引写入,防止下架后被旧批次写回。 + + + 跨实例串行化违规上报和商品索引写入,防止下架后被旧批次写回。 + + + 收藏重建、整条文档写入和安全状态更新共用独立锁,防止旧快照覆盖新结论。 + + + + 批量导入商品:先落库(按平台 + 商品编号去重)+ 保存原始数据, + 然后根据配置决定“立即分词”还是“标记未同步交给后台任务分词”。 + + + + + 后台任务:批量处理未同步(IsSegmented=0)的商品,写入 OpenSearch 后标记为已同步。 + + + + + 按平台 + 商品编号查找已存在记录,存在则更新,不存在则新增。 + + + + + 根据商品编号(GoodsId)列表读取商品。 + + + + + 重新从数据库读取指定商品,覆盖 OpenSearch 中已有的分词并重新分词。 + ids 为空时重建全部商品。重建成功的记录标记为已同步。 + + + + + 删除商品:按配置决定软删除(Status=1)还是硬删除(物理删除), + 两种方式都会删除 OpenSearch 中对应的文档。 + + + + + 批量更新商品缩略图。 + + + + + 是否导入时立即分词(Indexing:Mode = Immediate)。 + + + + + 是否软删除(Delete:SoftDelete,默认 true)。 + + + + + 违规商品搜索索引清理任务,由 CloudProductPlugin 注册为每分钟执行一次。 + 每批处理最多 1000 个尚未完成索引删除的违规商品,循环处理至无待处理记录。 + + + + + 违规商品搜索索引清理任务,由 CloudProductPlugin 注册为每分钟执行一次。 + 每批处理最多 1000 个尚未完成索引删除的违规商品,循环处理至无待处理记录。 + + + + + 删除待处理商品的 OpenSearch 索引,成功后将违规记录的 IsIndexDeleted 标记为 true。 + 失败时异常交由 Hangfire 处理,尚未标记完成的记录留待后续执行继续处理。 + + + + 整批校验后统一写入日志,每个事件保留一条记录。 + + + 分页读取违规事件,beforeId 为上一页最后一条日志编号。 + + + + ============ 1. 创建索引 ============ + + + + + ============ 2. 删除索引 ============ + + + + + ============ 3.1 批量写入商品搜索文档(存在则覆盖) ============ + + + + + ============ 3.2 根据数据库商品重建搜索索引 ============ + + + + + ============ 3.3 按商品编号批量删除 OpenSearch 文档(软/硬删除共用) ============ + + + + + ============ 4. 手动新增一条搜索文档 ============ + + + + + ============ 5. 分词搜索(分页 + 类目/价格/销量/平台过滤 + 排序) ============ + + 搜索条件(关键词、类目、价格、销量、平台、分页) + 排序方式 + + + + ============ 6. 统计文档数 ============ + + + + + ============ 7. 查询 OpenSearch 状态 ============ + + + + + 清空索引:删除后按统一映射重建,重建期间该索引不可查(由后台定时任务负责回填数据,接受短暂空窗) + + + + 商品检测业务入口,负责上传图片识别、MD5 缓存和当前用户的商品安全记录。 + + + 商品检测业务入口,负责上传图片识别、MD5 缓存和当前用户的商品安全记录。 + + + 通过千问兼容接口识别上传图片中的文字及品牌。 + + + 按插件配置创建并复用模型客户端,定期更新池内连接以跟随 DNS 变化。 + + + + 商品原始数据文件存储:按 goodsId % 100 分目录,文件名即商品ID,GZip 压缩保存。 + + + + + 保存原始数据,返回保存后的完整路径。 + + + + + 读取并解压原始数据;文件不存在时返回 null。 + + + + + 判断指定商品的原始数据文件是否存在。 + + + + + + + + + + + + + + 用户收藏商品索引服务:负责收藏索引(Search:FavoritesIndexName)的 + 创建、写入、删除、重建与检索,索引文档由 user_goods_favorites 关联 goods 补全而来。 + + + + 检查索引是否存在 + + + 检查索引映射(分析器)是否符合当前服务要求 + + + 创建索引(含 IK 分词映射;已存在且映射正常时跳过) + + + 删除并重建索引(映射统一,重建期间该索引不可查) + + + 批量写入收藏文档(存在则覆盖) + + + 更新单条收藏的安全字段并等待对检索可见。 + + + 按文档Id批量删除收藏文档 + + + 统计索引文档数 + + + 按用户检索收藏商品(标题/销量/价格/类目/分组) + + + + ============ 1. 索引是否存在 ============ + + + + + ============ 2. 索引映射是否健康 ============ + + + + + ============ 3. 创建索引 ============ + + + + + ============ 4. 删除并重建索引 ============ + + + + + ============ 5. 批量写入收藏文档(存在则覆盖) ============ + + + + + ============ 6. 按文档Id批量删除收藏文档 ============ + + + + + ============ 7. 统计文档数 ============ + + + + + ============ 8. 检索用户收藏商品(标题/价格/销量/类目/分组 + 排序 + 分页) ============ + + + + + 用户收藏商品业务:收藏/取消收藏(数据库 + 收藏索引同步写入)、收藏分组维护、收藏状态查询、收藏检索与索引重建。 + + + + 批量收藏商品,返回本次成功收藏的商品数量(已收藏的商品视为修改收藏分组) + + + 按用户和商品编号更新已存在的收藏记录。 + + + 批量取消收藏,返回实际取消的条数 + + + 创建收藏分组:创建成功返回 true,同名分组已存在返回 false + + + 查询用户的收藏分组(含默认分组)及分组下收藏数量 + + + 按 GoodsIds 顺序返回每个商品是否已被该用户收藏 + + + 检索用户收藏的商品(标题/销量/价格/类目/分组) + + + 移除所有用户收藏索引并按数据库数据全量重建,返回重建的文档数 + + + 未归属任何分组的收藏所使用的分组名(对应 group_id = 0) + + + 重建索引时单次 bulk 的文档数,避免一次请求过大 + + + + 批量收藏商品:先落库(user_goods_favorites),再同步写入收藏索引; + 商品不存在/已删除的编号会被跳过,返回本次成功收藏的商品数量。 + 任意一步失败都会回滚本次已写入的数据库记录,保证“数据库中有收藏 = 索引中可搜索到”。 + + + + 仅修改安全字段,避免覆盖同时发生的收藏分组变更。 + + + + 批量取消收藏:先删除数据库记录,再删除索引文档; + 索引删除失败时回补数据库记录,避免“库里有收藏但搜索不到”。 + + + + + 创建收藏分组:创建成功返回 true,同一用户同名分组已存在返回 false。 + + + + + 查询用户的收藏分组及分组下收藏数量,默认分组(分组ID=0)存在收藏时一并返回。 + + + + + 按 GoodsIds 顺序返回每个商品是否已被该用户收藏(商品编号无效的返回 false)。 + 以数据库为准,不依赖索引,索引重建期间结果依然准确。 + + + + + 从收藏索引检索当前用户的收藏商品。 + + + + + 移除所有用户收藏索引并重新创建,然后从 user_goods_favorites 关联 goods 全量回填。 + + + + + 收藏落库成功但索引写入失败时的补偿:撤销本次新增的收藏记录、还原被修改的收藏分组。 + + + + + 取分组名:分组ID <= 0 返回默认分组名,分组不存在返回空串。 + + + + + 组装收藏索引文档:收藏记录 + 商品快照 + 分组名。 + + + + + 解析排序方式,非法值一律按“收藏时间倒序”处理。 + + + + + Generates a documentation comment ID for a type. + Example: T:Namespace.Outer+Inner`1 becomes T:Namespace.Outer.Inner`1 + + + + + Generates a documentation comment ID for a property. + Example: P:Namespace.ContainingType.PropertyName or for an indexer P:Namespace.ContainingType.Item(System.Int32) + + + + + Generates a documentation comment ID for a property given its container type and property name. + Example: P:Namespace.ContainingType.PropertyName + + + + + Generates a documentation comment ID for a method (or constructor). + For example: + M:Namespace.ContainingType.MethodName(ParamType1,ParamType2)~ReturnType + M:Namespace.ContainingType.#ctor(ParamType) + + + + + Generates a documentation ID string for a type. + This method handles nested types (replacing '+' with '.'), + generic types, arrays, pointers, by-ref types, and generic parameters. + The flag controls whether + constructed generic type arguments are emitted, while + controls whether the generic arity marker (e.g. "`1") is appended. + + + + + Normalizes a documentation comment ID to match the compiler-style format. + Strips the return type suffix for ordinary methods but retains it for conversion operators. + + The documentation comment ID to normalize. + The normalized documentation comment ID. + + + + A special attribute recognized by Roslyn, that marks a type as "embedded", meaning it won't ever be visible from other assemblies. + + + + diff --git a/Plugins/Store.CloudProduct/Store.Plugins.dll b/Plugins/Store.CloudProduct/Store.Plugins.dll new file mode 100644 index 0000000..79f0e19 Binary files /dev/null and b/Plugins/Store.CloudProduct/Store.Plugins.dll differ diff --git a/Plugins/Store.CloudProduct/Store.Plugins.pdb b/Plugins/Store.CloudProduct/Store.Plugins.pdb new file mode 100644 index 0000000..eb4c464 Binary files /dev/null and b/Plugins/Store.CloudProduct/Store.Plugins.pdb differ diff --git a/Plugins/Store.ImageCache/Store.ImageCache.deps.json b/Plugins/Store.ImageCache/Store.ImageCache.deps.json new file mode 100644 index 0000000..af87887 --- /dev/null +++ b/Plugins/Store.ImageCache/Store.ImageCache.deps.json @@ -0,0 +1,932 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v10.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v10.0": { + "Store.ImageCache/1.0.0": { + "dependencies": { + "MAX.Plugins": "1.0.0", + "Store.Framework": "1.0.0" + }, + "runtime": { + "Store.ImageCache.dll": {} + } + }, + "Asp.Versioning.Abstractions/10.2.1": { + "runtime": { + "lib/net10.0/Asp.Versioning.Abstractions.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15149" + } + } + }, + "Asp.Versioning.Http/10.2.1": { + "dependencies": { + "Asp.Versioning.Abstractions": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Http.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.Mvc/10.2.1": { + "dependencies": { + "Asp.Versioning.Http": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Mvc.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.Mvc.ApiExplorer/10.2.1": { + "dependencies": { + "Asp.Versioning.Mvc": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Mvc.ApiExplorer.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.OpenApi/10.2.1": { + "dependencies": { + "Asp.Versioning.Mvc.ApiExplorer": "10.2.1", + "Microsoft.AspNetCore.OpenApi": "10.0.10", + "Microsoft.OpenApi": "2.7.5" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.OpenApi.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "BouncyCastle.Cryptography/2.3.1": { + "runtime": { + "lib/net6.0/BouncyCastle.Cryptography.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.1.17862" + } + } + }, + "FreeSql/3.5.311": { + "runtime": { + "lib/netstandard2.1/FreeSql.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.DbContext/3.5.311": { + "dependencies": { + "FreeSql": "3.5.311" + }, + "runtime": { + "lib/net10.0/FreeSql.DbContext.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.Provider.MySql/3.5.311": { + "dependencies": { + "FreeSql": "3.5.311", + "MySql.Data": "9.1.0" + }, + "runtime": { + "lib/net10.0/FreeSql.Provider.MySql.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.Repository/3.5.311": { + "dependencies": { + "FreeSql.DbContext": "3.5.311" + }, + "runtime": { + "lib/net10.0/FreeSql.Repository.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "Google.Protobuf/3.26.1": { + "runtime": { + "lib/net5.0/Google.Protobuf.dll": { + "assemblyVersion": "3.26.1.0", + "fileVersion": "3.26.1.0" + } + } + }, + "Hangfire.AspNetCore/1.8.25": { + "dependencies": { + "Hangfire.NetCore": "1.8.25" + }, + "runtime": { + "lib/netcoreapp3.0/Hangfire.AspNetCore.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + } + }, + "Hangfire.Core/1.8.25": { + "dependencies": { + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "lib/netstandard2.0/Hangfire.Core.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + }, + "resources": { + "lib/netstandard2.0/ca/Hangfire.Core.resources.dll": { + "locale": "ca" + }, + "lib/netstandard2.0/de/Hangfire.Core.resources.dll": { + "locale": "de" + }, + "lib/netstandard2.0/es/Hangfire.Core.resources.dll": { + "locale": "es" + }, + "lib/netstandard2.0/fa/Hangfire.Core.resources.dll": { + "locale": "fa" + }, + "lib/netstandard2.0/fr/Hangfire.Core.resources.dll": { + "locale": "fr" + }, + "lib/netstandard2.0/nb/Hangfire.Core.resources.dll": { + "locale": "nb" + }, + "lib/netstandard2.0/nl/Hangfire.Core.resources.dll": { + "locale": "nl" + }, + "lib/netstandard2.0/pt-BR/Hangfire.Core.resources.dll": { + "locale": "pt-BR" + }, + "lib/netstandard2.0/pt-PT/Hangfire.Core.resources.dll": { + "locale": "pt-PT" + }, + "lib/netstandard2.0/pt/Hangfire.Core.resources.dll": { + "locale": "pt" + }, + "lib/netstandard2.0/ru/Hangfire.Core.resources.dll": { + "locale": "ru" + }, + "lib/netstandard2.0/sv/Hangfire.Core.resources.dll": { + "locale": "sv" + }, + "lib/netstandard2.0/tr-TR/Hangfire.Core.resources.dll": { + "locale": "tr-TR" + }, + "lib/netstandard2.0/zh-TW/Hangfire.Core.resources.dll": { + "locale": "zh-TW" + }, + "lib/netstandard2.0/zh/Hangfire.Core.resources.dll": { + "locale": "zh" + } + } + }, + "Hangfire.Dashboard.Basic.Authentication/8.0.0": { + "dependencies": { + "Hangfire.AspNetCore": "1.8.25", + "Hangfire.Core": "1.8.25" + }, + "runtime": { + "lib/net8.0/HangfireBasicAuthenticationFilter.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Hangfire.MySql/1.0.0": { + "dependencies": { + "FreeSql.Provider.MySql": "3.5.311", + "Hangfire.Core": "1.8.25", + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "lib/net10.0/Hangfire.MySql.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Hangfire.NetCore/1.8.25": { + "dependencies": { + "Hangfire.Core": "1.8.25" + }, + "runtime": { + "lib/netstandard2.1/Hangfire.NetCore.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + } + }, + "K4os.Compression.LZ4/1.3.8": { + "runtime": { + "lib/net6.0/K4os.Compression.LZ4.dll": { + "assemblyVersion": "1.3.8.0", + "fileVersion": "1.3.8.0" + } + } + }, + "K4os.Compression.LZ4.Streams/1.3.8": { + "dependencies": { + "K4os.Compression.LZ4": "1.3.8", + "K4os.Hash.xxHash": "1.0.8" + }, + "runtime": { + "lib/net6.0/K4os.Compression.LZ4.Streams.dll": { + "assemblyVersion": "1.3.8.0", + "fileVersion": "1.3.8.0" + } + } + }, + "K4os.Hash.xxHash/1.0.8": { + "runtime": { + "lib/net6.0/K4os.Hash.xxHash.dll": { + "assemblyVersion": "1.0.8.0", + "fileVersion": "1.0.8.0" + } + } + }, + "MediatR/9.0.0": { + "runtime": { + "lib/netstandard2.1/MediatR.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.0.0" + } + } + }, + "Microsoft.AspNetCore.OpenApi/10.0.10": { + "dependencies": { + "Microsoft.OpenApi": "2.7.5" + }, + "runtime": { + "lib/net10.0/Microsoft.AspNetCore.OpenApi.dll": { + "assemblyVersion": "10.0.10.0", + "fileVersion": "10.0.1026.32716" + } + } + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "runtime": { + "lib/net10.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.25.52411" + } + } + }, + "Microsoft.IO.RecyclableMemoryStream/3.0.1": { + "runtime": { + "lib/net6.0/Microsoft.IO.RecyclableMemoryStream.dll": { + "assemblyVersion": "3.0.1.0", + "fileVersion": "3.0.1.0" + } + } + }, + "Microsoft.OpenApi/2.7.5": { + "runtime": { + "lib/net8.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "2.7.5.0", + "fileVersion": "2.7.5.0" + } + } + }, + "MySql.Data/9.1.0": { + "dependencies": { + "BouncyCastle.Cryptography": "2.3.1", + "Google.Protobuf": "3.26.1", + "K4os.Compression.LZ4.Streams": "1.3.8", + "System.Configuration.ConfigurationManager": "8.0.0", + "System.Security.Permissions": "8.0.0", + "ZstdSharp.Port": "0.8.0" + }, + "runtime": { + "lib/net8.0/MySql.Data.dll": { + "assemblyVersion": "9.1.0.0", + "fileVersion": "9.1.0.0" + } + }, + "runtimeTargets": { + "runtimes/win-x64/native/comerr64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/gssapi64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/k5sprt64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/krb5_64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + }, + "runtimes/win-x64/native/krbcc64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.1.0.0" + } + } + }, + "Newtonsoft.Json/13.0.4": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.4.30916" + } + } + }, + "Riok.Mapperly/4.3.1": { + "runtime": { + "lib/netstandard2.0/Riok.Mapperly.Abstractions.dll": { + "assemblyVersion": "4.3.1.0", + "fileVersion": "4.3.1.0" + } + } + }, + "Serilog/4.3.0": { + "runtime": { + "lib/net9.0/Serilog.dll": { + "assemblyVersion": "4.3.0.0", + "fileVersion": "4.3.0.0" + } + } + }, + "Serilog.AspNetCore/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Hosting": "10.0.0", + "Serilog.Formatting.Compact": "3.0.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.Debug": "3.0.0", + "Serilog.Sinks.File": "7.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.AspNetCore.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Hosting/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Logging": "10.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Hosting.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Logging/10.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Filters.Expressions/2.1.0": { + "dependencies": { + "Serilog": "4.3.0", + "Superpower": "2.3.0" + }, + "runtime": { + "lib/netstandard2.0/Serilog.Filters.Expressions.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Serilog.Formatting.Compact/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Formatting.Compact.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Settings.Configuration/10.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Settings.Configuration.dll": { + "assemblyVersion": "10.0.1.0", + "fileVersion": "10.0.1.0" + } + } + }, + "Serilog.Sinks.Console/6.1.1": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "6.1.1.0", + "fileVersion": "6.1.1.0" + } + } + }, + "Serilog.Sinks.Debug/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Debug.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Sinks.File/7.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net9.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.0.0" + } + } + }, + "Superpower/2.3.0": { + "runtime": { + "lib/netstandard2.0/Superpower.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "2.3.0.0" + } + } + }, + "System.Configuration.ConfigurationManager/8.0.0": { + "dependencies": { + "System.Security.Cryptography.ProtectedData": "8.0.0" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Security.Cryptography.ProtectedData/8.0.0": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Security.Permissions/8.0.0": { + "dependencies": { + "System.Windows.Extensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/System.Security.Permissions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Windows.Extensions/8.0.0": { + "runtime": { + "lib/net8.0/System.Windows.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Windows.Extensions.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "ZstdSharp.Port/0.8.0": { + "runtime": { + "lib/net8.0/ZstdSharp.dll": { + "assemblyVersion": "0.8.0.0", + "fileVersion": "0.8.0.0" + } + } + }, + "MAX.Core/1.0.0": { + "dependencies": { + "MediatR": "9.0.0" + }, + "runtime": { + "MAX.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MAX.Framework/1.0.0": { + "dependencies": { + "Asp.Versioning.Mvc.ApiExplorer": "10.2.1", + "Asp.Versioning.OpenApi": "10.2.1", + "FreeSql": "3.5.311", + "FreeSql.Provider.MySql": "3.5.311", + "FreeSql.Repository": "3.5.311", + "Hangfire.AspNetCore": "1.8.25", + "Hangfire.Dashboard.Basic.Authentication": "8.0.0", + "Hangfire.MySql": "1.0.0", + "MAX.Core": "1.0.0", + "MAX.Plugins": "1.0.0", + "Microsoft.IO.RecyclableMemoryStream": "3.0.1", + "Newtonsoft.Json": "13.0.4", + "Riok.Mapperly": "4.3.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Filters.Expressions": "2.1.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0" + }, + "runtime": { + "MAX.Framework.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MAX.Plugins/1.0.0": { + "runtime": { + "MAX.Plugins.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Framework/1.0.0": { + "dependencies": { + "MAX.Core": "1.0.0", + "MAX.Framework": "1.0.0" + }, + "runtime": { + "Store.Framework.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Store.ImageCache/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Asp.Versioning.Abstractions/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jMBztsVim+rYVrkNY23dMuOjTGXGQ9+je1xb3i17KgUof7OcBZtMMDduEWoCQ52SpTlYqKsuzgJyUMCMOFCBfg==", + "path": "asp.versioning.abstractions/10.2.1", + "hashPath": "asp.versioning.abstractions.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Http/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XaVOKS4AV6a6JdFsiuyLkNwU0ilWhUK2U71mBEXJsgi5AGpo24UkfZ4KUhpRGpuMmQNrugS7yxCIscGcnujdFA==", + "path": "asp.versioning.http/10.2.1", + "hashPath": "asp.versioning.http.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Mvc/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fMzUraYZOAobKQn2PffrgPsULbCWFeWroYRYndPasxPsiQl1+i8x5qYRuMYZAbzDrBnymPUMBxT2gZG2PwbkcQ==", + "path": "asp.versioning.mvc/10.2.1", + "hashPath": "asp.versioning.mvc.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Mvc.ApiExplorer/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Tv1megkpUy+3FN9yfVJKIcYMLXTe5CPs4zftBxGaZhADJe6h9CJZ2Okh5cG4PoE7wzHTef+AK++8IuZta3Ppog==", + "path": "asp.versioning.mvc.apiexplorer/10.2.1", + "hashPath": "asp.versioning.mvc.apiexplorer.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.OpenApi/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vYPWPl+8Ur0oyIdJb8gCwotp2fPwlQkRiiUVO8A/MtCVd05RAOc6m2OiDpBQzus2FT5RkZcyi7SseX7uSMsP2Q==", + "path": "asp.versioning.openapi/10.2.1", + "hashPath": "asp.versioning.openapi.10.2.1.nupkg.sha512" + }, + "BouncyCastle.Cryptography/2.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-buwoISwecYke3CmgG1AQSg+sNZjJeIb93vTAtJiHZX35hP/teYMxsfg0NDXGUKjGx6BKBTNKc77O2M3vKvlXZQ==", + "path": "bouncycastle.cryptography/2.3.1", + "hashPath": "bouncycastle.cryptography.2.3.1.nupkg.sha512" + }, + "FreeSql/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jC8dehy9GQXH1b/g5VTpTbYkO15SzDwGY3/452dIJhDsKAmHHdVglSWTunOzR9VbkUiJTDMyA4MOFp9d0NOEeA==", + "path": "freesql/3.5.311", + "hashPath": "freesql.3.5.311.nupkg.sha512" + }, + "FreeSql.DbContext/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7XDHHX+/cp+GyfivHCQOindb6qHRobZusOfFY6fKnxdODJVSxypyrv9K9cQXlompPgSWxyHV0Z5S6yHTG1E83Q==", + "path": "freesql.dbcontext/3.5.311", + "hashPath": "freesql.dbcontext.3.5.311.nupkg.sha512" + }, + "FreeSql.Provider.MySql/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5nPcyltxxA4ix7Vcu8muIPNBTVDTpSN6J22fmWaNIF7NZbkI6ZkktyFxLDVlm2M0ZTi13y53cDlI5AkL8L1nrA==", + "path": "freesql.provider.mysql/3.5.311", + "hashPath": "freesql.provider.mysql.3.5.311.nupkg.sha512" + }, + "FreeSql.Repository/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JyQiuBtndXwxuQsky55kB9ZcmMGOp02jUsazoztE5qcLSQzpCuK8Zil8sz0Y4jXmnuEXuaWoOn9+1VcDFjKD1g==", + "path": "freesql.repository/3.5.311", + "hashPath": "freesql.repository.3.5.311.nupkg.sha512" + }, + "Google.Protobuf/3.26.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CHZX8zXqhF/fdUtd+AYzew8T2HFkAoe5c7lbGxZY/qryAlQXckDvM5BfOJjXlMS7kyICqQTMszj4w1bX5uBJ/w==", + "path": "google.protobuf/3.26.1", + "hashPath": "google.protobuf.3.26.1.nupkg.sha512" + }, + "Hangfire.AspNetCore/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IqklPyZDacfrCM6I9vpoTd9n14AvP5tepgR/IfKTUlPzGihLzey9jpL7PTKguJ3CPAA12qz3WCDUfIJ9IsCLQw==", + "path": "hangfire.aspnetcore/1.8.25", + "hashPath": "hangfire.aspnetcore.1.8.25.nupkg.sha512" + }, + "Hangfire.Core/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BxzXlHwXNrGPHJ7YfAVfeiXC+BHd6uPoyyfV+9bCJVPPGs4z0EQCW1X44Og/IUFM81ENCqAFP1r2rOkQhm4ydA==", + "path": "hangfire.core/1.8.25", + "hashPath": "hangfire.core.1.8.25.nupkg.sha512" + }, + "Hangfire.Dashboard.Basic.Authentication/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sOYBeFePIohQZLzRHOWdWgnSJz9bhcJ3yEWYH2uvwUkFjFANOlGaO1dtFHZfCkjFleBpO+gCBvTDYNPmCpCGrQ==", + "path": "hangfire.dashboard.basic.authentication/8.0.0", + "hashPath": "hangfire.dashboard.basic.authentication.8.0.0.nupkg.sha512" + }, + "Hangfire.MySql/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KbhEIxAokbT07rMiwUGe20Tyhtf6Amn+lUF1R35tpjD17kGOMmGl5wlUPDYeGrkpTzHsqp/Btwpj8hopxm0sUA==", + "path": "hangfire.mysql/1.0.0", + "hashPath": "hangfire.mysql.1.0.0.nupkg.sha512" + }, + "Hangfire.NetCore/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZfI7gwr7n70r635VS9aKsWSzOodY6U0bSIG0jDrqd5ODRLKvc+e5aXXGCnWHWzjvagvlwtUcRGG/lD0/3C7chA==", + "path": "hangfire.netcore/1.8.25", + "hashPath": "hangfire.netcore.1.8.25.nupkg.sha512" + }, + "K4os.Compression.LZ4/1.3.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LhwlPa7c1zs1OV2XadMtAWdImjLIsqFJPoRcIWAadSRn0Ri1DepK65UbWLPmt4riLqx2d40xjXRk0ogpqNtK7g==", + "path": "k4os.compression.lz4/1.3.8", + "hashPath": "k4os.compression.lz4.1.3.8.nupkg.sha512" + }, + "K4os.Compression.LZ4.Streams/1.3.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P15qr8dZAeo9GvYbUIPEYFQ0MEJ0i5iqr37wsYeRC3la2uCldOoeCa6to0CZ1taiwxIV+Mk8NGuZi+4iWivK9w==", + "path": "k4os.compression.lz4.streams/1.3.8", + "hashPath": "k4os.compression.lz4.streams.1.3.8.nupkg.sha512" + }, + "K4os.Hash.xxHash/1.0.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wp2F7BamQ2Q/7Hk834nV9vRQapgcr8kgv9Jvfm8J3D0IhDqZMMl+a2yxUq5ltJitvXvQfB8W6K4F4fCbw/P6YQ==", + "path": "k4os.hash.xxhash/1.0.8", + "hashPath": "k4os.hash.xxhash.1.0.8.nupkg.sha512" + }, + "MediatR/9.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8b3UYNxegHVYcJMG2zH8wn+YqxLvXG+eMfj0cMCq/jTW72p6O3PCKMkrIv0mqyxdW7bA4gblsocw7n+/9Akg5g==", + "path": "mediatr/9.0.0", + "hashPath": "mediatr.9.0.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.OpenApi/10.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d4Atx9IHq7JgX0F/h7Db+m9zAUzC+cKdI9k+OWnnyQIOUQtfvjIEuhvbjPigVMkAmPUgCbJ8Yp6M9ghUqHtJSQ==", + "path": "microsoft.aspnetcore.openapi/10.0.10", + "hashPath": "microsoft.aspnetcore.openapi.10.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==", + "path": "microsoft.extensions.dependencymodel/10.0.0", + "hashPath": "microsoft.extensions.dependencymodel.10.0.0.nupkg.sha512" + }, + "Microsoft.IO.RecyclableMemoryStream/3.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-s/s20YTVY9r9TPfTrN5g8zPF1YhwxyqO6PxUkrYTGI2B+OGPe9AdajWZrLhFqXIvqIW23fnUE4+ztrUWNU1+9g==", + "path": "microsoft.io.recyclablememorystream/3.0.1", + "hashPath": "microsoft.io.recyclablememorystream.3.0.1.nupkg.sha512" + }, + "Microsoft.OpenApi/2.7.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0FA67RSnRM4tcBKqiqVu/HPdZ9+QOKbmeRjxRUGTCjPU4C0bmUhd97Dso7Yild5P7nOV6GxJ2xrK0Kv/O9xp0w==", + "path": "microsoft.openapi/2.7.5", + "hashPath": "microsoft.openapi.2.7.5.nupkg.sha512" + }, + "MySql.Data/9.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-E4t/IQzcXg4nYGqrGkoGwwSWA1V2L+LKzVddPABAPcj2i6RESP2fcZQ4XFC0Wv+Cq4DlgR3DYhX/fGaZ3VxCPQ==", + "path": "mysql.data/9.1.0", + "hashPath": "mysql.data.9.1.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", + "path": "newtonsoft.json/13.0.4", + "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" + }, + "Riok.Mapperly/4.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oSE+OVLHyiojrws0QVbQaAT2YKsYbyHqJXPdV7EhGseR/dYgeWS2x1T5qY5I4E+RJkJqMSG+FyZOq4SljWgJWQ==", + "path": "riok.mapperly/4.3.1", + "hashPath": "riok.mapperly.4.3.1.nupkg.sha512" + }, + "Serilog/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+cDryFR0GRhsGOnZSKwaDzRRl4MupvJ42FhCE4zhQRVanX0Jpg6WuCBk59OVhVDPmab1bB+nRykAnykYELA9qQ==", + "path": "serilog/4.3.0", + "hashPath": "serilog.4.3.0.nupkg.sha512" + }, + "Serilog.AspNetCore/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a/cNa1mY4On1oJlfGG1wAvxjp5g7OEzk/Jf/nm7NF9cWoE7KlZw1GldrifUBWm9oKibHkR7Lg/l5jy3y7ACR8w==", + "path": "serilog.aspnetcore/10.0.0", + "hashPath": "serilog.aspnetcore.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Hosting/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-E7juuIc+gzoGxgzFooFgAV8g9BfiSXNKsUok9NmEpyAXg2odkcPsMa/Yo4axkJRlh0se7mkYQ1GXDaBemR+b6w==", + "path": "serilog.extensions.hosting/10.0.0", + "hashPath": "serilog.extensions.hosting.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Logging/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==", + "path": "serilog.extensions.logging/10.0.0", + "hashPath": "serilog.extensions.logging.10.0.0.nupkg.sha512" + }, + "Serilog.Filters.Expressions/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e0ZaK+NWx6+j71xB5dRXohdreSeHgMJ9mp4giSp83/4UC8VsJWDH+CAT1YVXsyINAR9IQznXllnJ0e5j+BvwzA==", + "path": "serilog.filters.expressions/2.1.0", + "hashPath": "serilog.filters.expressions.2.1.0.nupkg.sha512" + }, + "Serilog.Formatting.Compact/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wQsv14w9cqlfB5FX2MZpNsTawckN4a8dryuNGbebB/3Nh1pXnROHZov3swtu3Nj5oNG7Ba+xdu7Et/ulAUPanQ==", + "path": "serilog.formatting.compact/3.0.0", + "hashPath": "serilog.formatting.compact.3.0.0.nupkg.sha512" + }, + "Serilog.Settings.Configuration/10.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ayFE7h66mqMqzwfPrzDCMbWU27FdNC2bkCG+jnkeHFZTBRh+yWdr4aa/2WuX7c8RmqxGPMW2UqoJ3fw9hK3QhA==", + "path": "serilog.settings.configuration/10.0.1", + "hashPath": "serilog.settings.configuration.10.0.1.nupkg.sha512" + }, + "Serilog.Sinks.Console/6.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8jbqgjUyZlfCuSTaJk6lOca465OndqOz3KZP6Cryt/IqZYybyBu7GP0fE/AXBzrrQB3EBmQntBFAvMVz1COvAA==", + "path": "serilog.sinks.console/6.1.1", + "hashPath": "serilog.sinks.console.6.1.1.nupkg.sha512" + }, + "Serilog.Sinks.Debug/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4BzXcdrgRX7wde9PmHuYd9U6YqycCC28hhpKonK7hx0wb19eiuRj16fPcPSVp0o/Y1ipJuNLYQ00R3q2Zs8FDA==", + "path": "serilog.sinks.debug/3.0.0", + "hashPath": "serilog.sinks.debug.3.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKL7mXv7qaiNBUC71ssvn/dU0k9t0o45+qm2XgKAlSt19xF+ijjxyA3R6HmCgfKEKwfcfkwWjayuQtRueZFkYw==", + "path": "serilog.sinks.file/7.0.0", + "hashPath": "serilog.sinks.file.7.0.0.nupkg.sha512" + }, + "Superpower/2.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-L7ZLWjec5aPWWebsOKM6+8SdobSFMPJFIS8S8TT46oH2iELA70H95spRMeP1yPH9nDL/o+XYP29DPtVwVdzPeA==", + "path": "superpower/2.3.0", + "hashPath": "superpower.2.3.0.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==", + "path": "system.configuration.configurationmanager/8.0.0", + "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==", + "path": "system.security.cryptography.protecteddata/8.0.0", + "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512" + }, + "System.Security.Permissions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v/BBylw7XevuAsHXoX9dDUUfmBIcUf7Lkz8K3ZXIKz3YRKpw8YftpSir4n4e/jDTKFoaK37AsC3xnk+GNFI1Ow==", + "path": "system.security.permissions/8.0.0", + "hashPath": "system.security.permissions.8.0.0.nupkg.sha512" + }, + "System.Windows.Extensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Obg3a90MkOw9mYKxrardLpY2u0axDMrSmy4JCdq2cYbelM2cUwmUir5Bomvd1yxmPL9h5LVHU1tuKBZpUjfASg==", + "path": "system.windows.extensions/8.0.0", + "hashPath": "system.windows.extensions.8.0.0.nupkg.sha512" + }, + "ZstdSharp.Port/0.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z62eNBIu8E8YtbqlMy57tK3dV1+m2b9NhPeaYovB5exmLKvrGCqOhJTzrEUH5VyUWU6vwX3c1XHJGhW5HVs8dA==", + "path": "zstdsharp.port/0.8.0", + "hashPath": "zstdsharp.port.0.8.0.nupkg.sha512" + }, + "MAX.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "MAX.Framework/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "MAX.Plugins/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Framework/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Plugins/Store.ImageCache/Store.ImageCache.dll b/Plugins/Store.ImageCache/Store.ImageCache.dll new file mode 100644 index 0000000..4b568db Binary files /dev/null and b/Plugins/Store.ImageCache/Store.ImageCache.dll differ diff --git a/Plugins/Store.ImageCache/Store.ImageCache.pdb b/Plugins/Store.ImageCache/Store.ImageCache.pdb new file mode 100644 index 0000000..0ce7c00 Binary files /dev/null and b/Plugins/Store.ImageCache/Store.ImageCache.pdb differ diff --git a/Plugins/Store.ImageCache/Store.ImageCache.runtimeconfig.json b/Plugins/Store.ImageCache/Store.ImageCache.runtimeconfig.json new file mode 100644 index 0000000..52c2c3e --- /dev/null +++ b/Plugins/Store.ImageCache/Store.ImageCache.runtimeconfig.json @@ -0,0 +1,20 @@ +{ + "runtimeOptions": { + "tfm": "net10.0", + "rollForward": "LatestMinor", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "10.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "10.0.0" + } + ], + "configProperties": { + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/Plugins/Store.ImageCache/ca/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/ca/Hangfire.Core.resources.dll new file mode 100644 index 0000000..6528e0a Binary files /dev/null and b/Plugins/Store.ImageCache/ca/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/de/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/de/Hangfire.Core.resources.dll new file mode 100644 index 0000000..e234271 Binary files /dev/null and b/Plugins/Store.ImageCache/de/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/es/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/es/Hangfire.Core.resources.dll new file mode 100644 index 0000000..13eb482 Binary files /dev/null and b/Plugins/Store.ImageCache/es/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/fa/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/fa/Hangfire.Core.resources.dll new file mode 100644 index 0000000..c9bf8c5 Binary files /dev/null and b/Plugins/Store.ImageCache/fa/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/fr/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/fr/Hangfire.Core.resources.dll new file mode 100644 index 0000000..5cded34 Binary files /dev/null and b/Plugins/Store.ImageCache/fr/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/nb/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/nb/Hangfire.Core.resources.dll new file mode 100644 index 0000000..6919b87 Binary files /dev/null and b/Plugins/Store.ImageCache/nb/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/nl/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/nl/Hangfire.Core.resources.dll new file mode 100644 index 0000000..813814c Binary files /dev/null and b/Plugins/Store.ImageCache/nl/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/pt-BR/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/pt-BR/Hangfire.Core.resources.dll new file mode 100644 index 0000000..543ce75 Binary files /dev/null and b/Plugins/Store.ImageCache/pt-BR/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/pt-PT/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/pt-PT/Hangfire.Core.resources.dll new file mode 100644 index 0000000..e7e1530 Binary files /dev/null and b/Plugins/Store.ImageCache/pt-PT/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/pt/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/pt/Hangfire.Core.resources.dll new file mode 100644 index 0000000..8d9885c Binary files /dev/null and b/Plugins/Store.ImageCache/pt/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/ru/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/ru/Hangfire.Core.resources.dll new file mode 100644 index 0000000..4ac9ff0 Binary files /dev/null and b/Plugins/Store.ImageCache/ru/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/sv/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/sv/Hangfire.Core.resources.dll new file mode 100644 index 0000000..3d8a22a Binary files /dev/null and b/Plugins/Store.ImageCache/sv/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/tr-TR/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/tr-TR/Hangfire.Core.resources.dll new file mode 100644 index 0000000..0457fb8 Binary files /dev/null and b/Plugins/Store.ImageCache/tr-TR/Hangfire.Core.resources.dll differ diff --git a/Plugins/Store.ImageCache/zh-TW/Hangfire.Core.resources.dll b/Plugins/Store.ImageCache/zh-TW/Hangfire.Core.resources.dll new file mode 100644 index 0000000..f88c1ea Binary files /dev/null and b/Plugins/Store.ImageCache/zh-TW/Hangfire.Core.resources.dll differ diff --git a/Riok.Mapperly.Abstractions.dll b/Riok.Mapperly.Abstractions.dll new file mode 100644 index 0000000..be98b82 Binary files /dev/null and b/Riok.Mapperly.Abstractions.dll differ diff --git a/Scalar.AspNetCore.dll b/Scalar.AspNetCore.dll new file mode 100644 index 0000000..715c7a8 Binary files /dev/null and b/Scalar.AspNetCore.dll differ diff --git a/Serilog.AspNetCore.dll b/Serilog.AspNetCore.dll new file mode 100644 index 0000000..6f50f9e Binary files /dev/null and b/Serilog.AspNetCore.dll differ diff --git a/Serilog.Extensions.Hosting.dll b/Serilog.Extensions.Hosting.dll new file mode 100644 index 0000000..b050a9b Binary files /dev/null and b/Serilog.Extensions.Hosting.dll differ diff --git a/Serilog.Extensions.Logging.dll b/Serilog.Extensions.Logging.dll new file mode 100644 index 0000000..fa270b8 Binary files /dev/null and b/Serilog.Extensions.Logging.dll differ diff --git a/Serilog.Filters.Expressions.dll b/Serilog.Filters.Expressions.dll new file mode 100644 index 0000000..27e0b5d Binary files /dev/null and b/Serilog.Filters.Expressions.dll differ diff --git a/Serilog.Formatting.Compact.dll b/Serilog.Formatting.Compact.dll new file mode 100644 index 0000000..bbd2122 Binary files /dev/null and b/Serilog.Formatting.Compact.dll differ diff --git a/Serilog.Settings.Configuration.dll b/Serilog.Settings.Configuration.dll new file mode 100644 index 0000000..68151ee Binary files /dev/null and b/Serilog.Settings.Configuration.dll differ diff --git a/Serilog.Sinks.Console.dll b/Serilog.Sinks.Console.dll new file mode 100644 index 0000000..8d0638d Binary files /dev/null and b/Serilog.Sinks.Console.dll differ diff --git a/Serilog.Sinks.Debug.dll b/Serilog.Sinks.Debug.dll new file mode 100644 index 0000000..7c94015 Binary files /dev/null and b/Serilog.Sinks.Debug.dll differ diff --git a/Serilog.Sinks.File.dll b/Serilog.Sinks.File.dll new file mode 100644 index 0000000..066c164 Binary files /dev/null and b/Serilog.Sinks.File.dll differ diff --git a/Serilog.dll b/Serilog.dll new file mode 100644 index 0000000..de3e99d Binary files /dev/null and b/Serilog.dll differ diff --git a/Store.Api b/Store.Api new file mode 100755 index 0000000..d97118b Binary files /dev/null and b/Store.Api differ diff --git a/Store.Api.deps.json b/Store.Api.deps.json new file mode 100644 index 0000000..eaac49e --- /dev/null +++ b/Store.Api.deps.json @@ -0,0 +1,936 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v10.0/linux-x64", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v10.0": {}, + ".NETCoreApp,Version=v10.0/linux-x64": { + "Store.Api/1.0.0": { + "dependencies": { + "Microsoft.AspNetCore.OpenApi": "10.0.10", + "Scalar.AspNetCore": "2.16.18", + "Store.Framework": "1.0.0", + "Store.Users": "1.0.0" + }, + "runtime": { + "Store.Api.dll": {} + } + }, + "Asp.Versioning.Abstractions/10.2.1": { + "runtime": { + "lib/net10.0/Asp.Versioning.Abstractions.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15149" + } + } + }, + "Asp.Versioning.Http/10.2.1": { + "dependencies": { + "Asp.Versioning.Abstractions": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Http.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.Mvc/10.2.1": { + "dependencies": { + "Asp.Versioning.Http": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Mvc.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.Mvc.ApiExplorer/10.2.1": { + "dependencies": { + "Asp.Versioning.Mvc": "10.2.1" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.Mvc.ApiExplorer.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "Asp.Versioning.OpenApi/10.2.1": { + "dependencies": { + "Asp.Versioning.Mvc.ApiExplorer": "10.2.1", + "Microsoft.AspNetCore.OpenApi": "10.0.10", + "Microsoft.OpenApi": "2.7.5" + }, + "runtime": { + "lib/net10.0/Asp.Versioning.OpenApi.dll": { + "assemblyVersion": "10.2.0.0", + "fileVersion": "10.2.9714.15157" + } + } + }, + "BouncyCastle.Cryptography/2.3.1": { + "runtime": { + "lib/net6.0/BouncyCastle.Cryptography.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.3.1.17862" + } + } + }, + "FreeSql/3.5.311": { + "runtime": { + "lib/netstandard2.1/FreeSql.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.DbContext/3.5.311": { + "dependencies": { + "FreeSql": "3.5.311" + }, + "runtime": { + "lib/net10.0/FreeSql.DbContext.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.Provider.MySql/3.5.311": { + "dependencies": { + "FreeSql": "3.5.311", + "MySql.Data": "9.1.0" + }, + "runtime": { + "lib/net10.0/FreeSql.Provider.MySql.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "FreeSql.Repository/3.5.311": { + "dependencies": { + "FreeSql.DbContext": "3.5.311" + }, + "runtime": { + "lib/net10.0/FreeSql.Repository.dll": { + "assemblyVersion": "3.5.311.0", + "fileVersion": "3.5.311.0" + } + } + }, + "Google.Protobuf/3.26.1": { + "runtime": { + "lib/net5.0/Google.Protobuf.dll": { + "assemblyVersion": "3.26.1.0", + "fileVersion": "3.26.1.0" + } + } + }, + "Hangfire.AspNetCore/1.8.25": { + "dependencies": { + "Hangfire.NetCore": "1.8.25" + }, + "runtime": { + "lib/netcoreapp3.0/Hangfire.AspNetCore.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + } + }, + "Hangfire.Core/1.8.25": { + "dependencies": { + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "lib/netstandard2.0/Hangfire.Core.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + }, + "resources": { + "lib/netstandard2.0/zh/Hangfire.Core.resources.dll": { + "locale": "zh" + } + } + }, + "Hangfire.Dashboard.Basic.Authentication/8.0.0": { + "dependencies": { + "Hangfire.AspNetCore": "1.8.25", + "Hangfire.Core": "1.8.25" + }, + "runtime": { + "lib/net8.0/HangfireBasicAuthenticationFilter.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.0.0" + } + } + }, + "Hangfire.MySql/1.0.0": { + "dependencies": { + "FreeSql.Provider.MySql": "3.5.311", + "Hangfire.Core": "1.8.25", + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "lib/net10.0/Hangfire.MySql.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Hangfire.NetCore/1.8.25": { + "dependencies": { + "Hangfire.Core": "1.8.25" + }, + "runtime": { + "lib/netstandard2.1/Hangfire.NetCore.dll": { + "assemblyVersion": "1.8.25.0", + "fileVersion": "1.8.25.0" + } + } + }, + "K4os.Compression.LZ4/1.3.8": { + "runtime": { + "lib/net6.0/K4os.Compression.LZ4.dll": { + "assemblyVersion": "1.3.8.0", + "fileVersion": "1.3.8.0" + } + } + }, + "K4os.Compression.LZ4.Streams/1.3.8": { + "dependencies": { + "K4os.Compression.LZ4": "1.3.8", + "K4os.Hash.xxHash": "1.0.8" + }, + "runtime": { + "lib/net6.0/K4os.Compression.LZ4.Streams.dll": { + "assemblyVersion": "1.3.8.0", + "fileVersion": "1.3.8.0" + } + } + }, + "K4os.Hash.xxHash/1.0.8": { + "runtime": { + "lib/net6.0/K4os.Hash.xxHash.dll": { + "assemblyVersion": "1.0.8.0", + "fileVersion": "1.0.8.0" + } + } + }, + "MediatR/9.0.0": { + "runtime": { + "lib/netstandard2.1/MediatR.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.0.0" + } + } + }, + "Microsoft.AspNetCore.OpenApi/10.0.10": { + "dependencies": { + "Microsoft.OpenApi": "2.7.5" + }, + "runtime": { + "lib/net10.0/Microsoft.AspNetCore.OpenApi.dll": { + "assemblyVersion": "10.0.10.0", + "fileVersion": "10.0.1026.32716" + } + } + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "runtime": { + "lib/net10.0/Microsoft.Extensions.DependencyModel.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.25.52411" + } + } + }, + "Microsoft.IO.RecyclableMemoryStream/3.0.1": { + "runtime": { + "lib/net6.0/Microsoft.IO.RecyclableMemoryStream.dll": { + "assemblyVersion": "3.0.1.0", + "fileVersion": "3.0.1.0" + } + } + }, + "Microsoft.OpenApi/2.7.5": { + "runtime": { + "lib/net8.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "2.7.5.0", + "fileVersion": "2.7.5.0" + } + } + }, + "MySql.Data/9.1.0": { + "dependencies": { + "BouncyCastle.Cryptography": "2.3.1", + "Google.Protobuf": "3.26.1", + "K4os.Compression.LZ4.Streams": "1.3.8", + "System.Configuration.ConfigurationManager": "8.0.0", + "System.Security.Permissions": "8.0.0", + "ZstdSharp.Port": "0.8.0" + }, + "runtime": { + "lib/net8.0/MySql.Data.dll": { + "assemblyVersion": "9.1.0.0", + "fileVersion": "9.1.0.0" + } + } + }, + "Newtonsoft.Json/13.0.4": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.4.30916" + } + } + }, + "Riok.Mapperly/4.3.1": { + "runtime": { + "lib/netstandard2.0/Riok.Mapperly.Abstractions.dll": { + "assemblyVersion": "4.3.1.0", + "fileVersion": "4.3.1.0" + } + } + }, + "Scalar.AspNetCore/2.16.18": { + "runtime": { + "lib/net10.0/Scalar.AspNetCore.dll": { + "assemblyVersion": "2.16.18.0", + "fileVersion": "2.16.18.0" + } + } + }, + "Serilog/4.3.0": { + "runtime": { + "lib/net9.0/Serilog.dll": { + "assemblyVersion": "4.3.0.0", + "fileVersion": "4.3.0.0" + } + } + }, + "Serilog.AspNetCore/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Hosting": "10.0.0", + "Serilog.Formatting.Compact": "3.0.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.Debug": "3.0.0", + "Serilog.Sinks.File": "7.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.AspNetCore.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Hosting/10.0.0": { + "dependencies": { + "Serilog": "4.3.0", + "Serilog.Extensions.Logging": "10.0.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Hosting.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Extensions.Logging/10.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Extensions.Logging.dll": { + "assemblyVersion": "10.0.0.0", + "fileVersion": "10.0.0.0" + } + } + }, + "Serilog.Filters.Expressions/2.1.0": { + "dependencies": { + "Serilog": "4.3.0", + "Superpower": "2.3.0" + }, + "runtime": { + "lib/netstandard2.0/Serilog.Filters.Expressions.dll": { + "assemblyVersion": "2.1.0.0", + "fileVersion": "2.1.0.0" + } + } + }, + "Serilog.Formatting.Compact/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Formatting.Compact.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Settings.Configuration/10.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyModel": "10.0.0", + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net10.0/Serilog.Settings.Configuration.dll": { + "assemblyVersion": "10.0.1.0", + "fileVersion": "10.0.1.0" + } + } + }, + "Serilog.Sinks.Console/6.1.1": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Console.dll": { + "assemblyVersion": "6.1.1.0", + "fileVersion": "6.1.1.0" + } + } + }, + "Serilog.Sinks.Debug/3.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net8.0/Serilog.Sinks.Debug.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.0.0.0" + } + } + }, + "Serilog.Sinks.File/7.0.0": { + "dependencies": { + "Serilog": "4.3.0" + }, + "runtime": { + "lib/net9.0/Serilog.Sinks.File.dll": { + "assemblyVersion": "7.0.0.0", + "fileVersion": "7.0.0.0" + } + } + }, + "Superpower/2.3.0": { + "runtime": { + "lib/netstandard2.0/Superpower.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "2.3.0.0" + } + } + }, + "System.Configuration.ConfigurationManager/8.0.0": { + "dependencies": { + "System.Security.Cryptography.ProtectedData": "8.0.0" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Security.Cryptography.ProtectedData/8.0.0": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Security.Permissions/8.0.0": { + "dependencies": { + "System.Windows.Extensions": "8.0.0" + }, + "runtime": { + "lib/net8.0/System.Security.Permissions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "System.Windows.Extensions/8.0.0": { + "runtime": { + "lib/net8.0/System.Windows.Extensions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "ZstdSharp.Port/0.8.0": { + "runtime": { + "lib/net8.0/ZstdSharp.dll": { + "assemblyVersion": "0.8.0.0", + "fileVersion": "0.8.0.0" + } + } + }, + "MAX.Core/1.0.0": { + "dependencies": { + "MediatR": "9.0.0" + }, + "runtime": { + "MAX.Core.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MAX.Framework/1.0.0": { + "dependencies": { + "Asp.Versioning.Mvc.ApiExplorer": "10.2.1", + "Asp.Versioning.OpenApi": "10.2.1", + "FreeSql": "3.5.311", + "FreeSql.Provider.MySql": "3.5.311", + "FreeSql.Repository": "3.5.311", + "Hangfire.AspNetCore": "1.8.25", + "Hangfire.Dashboard.Basic.Authentication": "8.0.0", + "Hangfire.MySql": "1.0.0", + "MAX.Core": "1.0.0", + "MAX.Plugins": "1.0.0", + "Microsoft.IO.RecyclableMemoryStream": "3.0.1", + "Newtonsoft.Json": "13.0.4", + "Riok.Mapperly": "4.3.1", + "Serilog.AspNetCore": "10.0.0", + "Serilog.Filters.Expressions": "2.1.0", + "Serilog.Settings.Configuration": "10.0.1", + "Serilog.Sinks.Console": "6.1.1", + "Serilog.Sinks.File": "7.0.0" + }, + "runtime": { + "MAX.Framework.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "MAX.Plugins/1.0.0": { + "runtime": { + "MAX.Plugins.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Framework/1.0.0": { + "dependencies": { + "MAX.Core": "1.0.0", + "MAX.Framework": "1.0.0" + }, + "runtime": { + "Store.Framework.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Shops/1.0.0": { + "dependencies": { + "Store.Framework": "1.0.0", + "Store.Shops.Contracts": "1.0.0", + "Store.Users.Contracts": "1.0.0" + }, + "runtime": { + "Store.Shops.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Shops.Contracts/1.0.0": { + "runtime": { + "Store.Shops.Contracts.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Users/1.0.0": { + "dependencies": { + "Store.Framework": "1.0.0", + "Store.Shops": "1.0.0", + "Store.Shops.Contracts": "1.0.0", + "Store.Users.Contracts": "1.0.0" + }, + "runtime": { + "Store.Users.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Store.Users.Contracts/1.0.0": { + "runtime": { + "Store.Users.Contracts.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "Store.Api/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Asp.Versioning.Abstractions/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jMBztsVim+rYVrkNY23dMuOjTGXGQ9+je1xb3i17KgUof7OcBZtMMDduEWoCQ52SpTlYqKsuzgJyUMCMOFCBfg==", + "path": "asp.versioning.abstractions/10.2.1", + "hashPath": "asp.versioning.abstractions.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Http/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XaVOKS4AV6a6JdFsiuyLkNwU0ilWhUK2U71mBEXJsgi5AGpo24UkfZ4KUhpRGpuMmQNrugS7yxCIscGcnujdFA==", + "path": "asp.versioning.http/10.2.1", + "hashPath": "asp.versioning.http.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Mvc/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fMzUraYZOAobKQn2PffrgPsULbCWFeWroYRYndPasxPsiQl1+i8x5qYRuMYZAbzDrBnymPUMBxT2gZG2PwbkcQ==", + "path": "asp.versioning.mvc/10.2.1", + "hashPath": "asp.versioning.mvc.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.Mvc.ApiExplorer/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Tv1megkpUy+3FN9yfVJKIcYMLXTe5CPs4zftBxGaZhADJe6h9CJZ2Okh5cG4PoE7wzHTef+AK++8IuZta3Ppog==", + "path": "asp.versioning.mvc.apiexplorer/10.2.1", + "hashPath": "asp.versioning.mvc.apiexplorer.10.2.1.nupkg.sha512" + }, + "Asp.Versioning.OpenApi/10.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vYPWPl+8Ur0oyIdJb8gCwotp2fPwlQkRiiUVO8A/MtCVd05RAOc6m2OiDpBQzus2FT5RkZcyi7SseX7uSMsP2Q==", + "path": "asp.versioning.openapi/10.2.1", + "hashPath": "asp.versioning.openapi.10.2.1.nupkg.sha512" + }, + "BouncyCastle.Cryptography/2.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-buwoISwecYke3CmgG1AQSg+sNZjJeIb93vTAtJiHZX35hP/teYMxsfg0NDXGUKjGx6BKBTNKc77O2M3vKvlXZQ==", + "path": "bouncycastle.cryptography/2.3.1", + "hashPath": "bouncycastle.cryptography.2.3.1.nupkg.sha512" + }, + "FreeSql/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-jC8dehy9GQXH1b/g5VTpTbYkO15SzDwGY3/452dIJhDsKAmHHdVglSWTunOzR9VbkUiJTDMyA4MOFp9d0NOEeA==", + "path": "freesql/3.5.311", + "hashPath": "freesql.3.5.311.nupkg.sha512" + }, + "FreeSql.DbContext/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7XDHHX+/cp+GyfivHCQOindb6qHRobZusOfFY6fKnxdODJVSxypyrv9K9cQXlompPgSWxyHV0Z5S6yHTG1E83Q==", + "path": "freesql.dbcontext/3.5.311", + "hashPath": "freesql.dbcontext.3.5.311.nupkg.sha512" + }, + "FreeSql.Provider.MySql/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5nPcyltxxA4ix7Vcu8muIPNBTVDTpSN6J22fmWaNIF7NZbkI6ZkktyFxLDVlm2M0ZTi13y53cDlI5AkL8L1nrA==", + "path": "freesql.provider.mysql/3.5.311", + "hashPath": "freesql.provider.mysql.3.5.311.nupkg.sha512" + }, + "FreeSql.Repository/3.5.311": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JyQiuBtndXwxuQsky55kB9ZcmMGOp02jUsazoztE5qcLSQzpCuK8Zil8sz0Y4jXmnuEXuaWoOn9+1VcDFjKD1g==", + "path": "freesql.repository/3.5.311", + "hashPath": "freesql.repository.3.5.311.nupkg.sha512" + }, + "Google.Protobuf/3.26.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CHZX8zXqhF/fdUtd+AYzew8T2HFkAoe5c7lbGxZY/qryAlQXckDvM5BfOJjXlMS7kyICqQTMszj4w1bX5uBJ/w==", + "path": "google.protobuf/3.26.1", + "hashPath": "google.protobuf.3.26.1.nupkg.sha512" + }, + "Hangfire.AspNetCore/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-IqklPyZDacfrCM6I9vpoTd9n14AvP5tepgR/IfKTUlPzGihLzey9jpL7PTKguJ3CPAA12qz3WCDUfIJ9IsCLQw==", + "path": "hangfire.aspnetcore/1.8.25", + "hashPath": "hangfire.aspnetcore.1.8.25.nupkg.sha512" + }, + "Hangfire.Core/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BxzXlHwXNrGPHJ7YfAVfeiXC+BHd6uPoyyfV+9bCJVPPGs4z0EQCW1X44Og/IUFM81ENCqAFP1r2rOkQhm4ydA==", + "path": "hangfire.core/1.8.25", + "hashPath": "hangfire.core.1.8.25.nupkg.sha512" + }, + "Hangfire.Dashboard.Basic.Authentication/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-sOYBeFePIohQZLzRHOWdWgnSJz9bhcJ3yEWYH2uvwUkFjFANOlGaO1dtFHZfCkjFleBpO+gCBvTDYNPmCpCGrQ==", + "path": "hangfire.dashboard.basic.authentication/8.0.0", + "hashPath": "hangfire.dashboard.basic.authentication.8.0.0.nupkg.sha512" + }, + "Hangfire.MySql/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KbhEIxAokbT07rMiwUGe20Tyhtf6Amn+lUF1R35tpjD17kGOMmGl5wlUPDYeGrkpTzHsqp/Btwpj8hopxm0sUA==", + "path": "hangfire.mysql/1.0.0", + "hashPath": "hangfire.mysql.1.0.0.nupkg.sha512" + }, + "Hangfire.NetCore/1.8.25": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZfI7gwr7n70r635VS9aKsWSzOodY6U0bSIG0jDrqd5ODRLKvc+e5aXXGCnWHWzjvagvlwtUcRGG/lD0/3C7chA==", + "path": "hangfire.netcore/1.8.25", + "hashPath": "hangfire.netcore.1.8.25.nupkg.sha512" + }, + "K4os.Compression.LZ4/1.3.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-LhwlPa7c1zs1OV2XadMtAWdImjLIsqFJPoRcIWAadSRn0Ri1DepK65UbWLPmt4riLqx2d40xjXRk0ogpqNtK7g==", + "path": "k4os.compression.lz4/1.3.8", + "hashPath": "k4os.compression.lz4.1.3.8.nupkg.sha512" + }, + "K4os.Compression.LZ4.Streams/1.3.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-P15qr8dZAeo9GvYbUIPEYFQ0MEJ0i5iqr37wsYeRC3la2uCldOoeCa6to0CZ1taiwxIV+Mk8NGuZi+4iWivK9w==", + "path": "k4os.compression.lz4.streams/1.3.8", + "hashPath": "k4os.compression.lz4.streams.1.3.8.nupkg.sha512" + }, + "K4os.Hash.xxHash/1.0.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Wp2F7BamQ2Q/7Hk834nV9vRQapgcr8kgv9Jvfm8J3D0IhDqZMMl+a2yxUq5ltJitvXvQfB8W6K4F4fCbw/P6YQ==", + "path": "k4os.hash.xxhash/1.0.8", + "hashPath": "k4os.hash.xxhash.1.0.8.nupkg.sha512" + }, + "MediatR/9.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8b3UYNxegHVYcJMG2zH8wn+YqxLvXG+eMfj0cMCq/jTW72p6O3PCKMkrIv0mqyxdW7bA4gblsocw7n+/9Akg5g==", + "path": "mediatr/9.0.0", + "hashPath": "mediatr.9.0.0.nupkg.sha512" + }, + "Microsoft.AspNetCore.OpenApi/10.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d4Atx9IHq7JgX0F/h7Db+m9zAUzC+cKdI9k+OWnnyQIOUQtfvjIEuhvbjPigVMkAmPUgCbJ8Yp6M9ghUqHtJSQ==", + "path": "microsoft.aspnetcore.openapi/10.0.10", + "hashPath": "microsoft.aspnetcore.openapi.10.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-RFYJR7APio/BiqdQunRq6DB+nDB6nc2qhHr77mlvZ0q0BT8PubMXN7XicmfzCbrDE/dzhBnUKBRXLTcqUiZDGg==", + "path": "microsoft.extensions.dependencymodel/10.0.0", + "hashPath": "microsoft.extensions.dependencymodel.10.0.0.nupkg.sha512" + }, + "Microsoft.IO.RecyclableMemoryStream/3.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-s/s20YTVY9r9TPfTrN5g8zPF1YhwxyqO6PxUkrYTGI2B+OGPe9AdajWZrLhFqXIvqIW23fnUE4+ztrUWNU1+9g==", + "path": "microsoft.io.recyclablememorystream/3.0.1", + "hashPath": "microsoft.io.recyclablememorystream.3.0.1.nupkg.sha512" + }, + "Microsoft.OpenApi/2.7.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0FA67RSnRM4tcBKqiqVu/HPdZ9+QOKbmeRjxRUGTCjPU4C0bmUhd97Dso7Yild5P7nOV6GxJ2xrK0Kv/O9xp0w==", + "path": "microsoft.openapi/2.7.5", + "hashPath": "microsoft.openapi.2.7.5.nupkg.sha512" + }, + "MySql.Data/9.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-E4t/IQzcXg4nYGqrGkoGwwSWA1V2L+LKzVddPABAPcj2i6RESP2fcZQ4XFC0Wv+Cq4DlgR3DYhX/fGaZ3VxCPQ==", + "path": "mysql.data/9.1.0", + "hashPath": "mysql.data.9.1.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", + "path": "newtonsoft.json/13.0.4", + "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" + }, + "Riok.Mapperly/4.3.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oSE+OVLHyiojrws0QVbQaAT2YKsYbyHqJXPdV7EhGseR/dYgeWS2x1T5qY5I4E+RJkJqMSG+FyZOq4SljWgJWQ==", + "path": "riok.mapperly/4.3.1", + "hashPath": "riok.mapperly.4.3.1.nupkg.sha512" + }, + "Scalar.AspNetCore/2.16.18": { + "type": "package", + "serviceable": true, + "sha512": "sha512-R/S9FSpMLjdd75uOe22YPNnfDtPYygK31feG6XJ9BLjX/y4WM8cGRzwT49iEBKhnJB2CnWUnfLlWGV7TsVDk+Q==", + "path": "scalar.aspnetcore/2.16.18", + "hashPath": "scalar.aspnetcore.2.16.18.nupkg.sha512" + }, + "Serilog/4.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+cDryFR0GRhsGOnZSKwaDzRRl4MupvJ42FhCE4zhQRVanX0Jpg6WuCBk59OVhVDPmab1bB+nRykAnykYELA9qQ==", + "path": "serilog/4.3.0", + "hashPath": "serilog.4.3.0.nupkg.sha512" + }, + "Serilog.AspNetCore/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-a/cNa1mY4On1oJlfGG1wAvxjp5g7OEzk/Jf/nm7NF9cWoE7KlZw1GldrifUBWm9oKibHkR7Lg/l5jy3y7ACR8w==", + "path": "serilog.aspnetcore/10.0.0", + "hashPath": "serilog.aspnetcore.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Hosting/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-E7juuIc+gzoGxgzFooFgAV8g9BfiSXNKsUok9NmEpyAXg2odkcPsMa/Yo4axkJRlh0se7mkYQ1GXDaBemR+b6w==", + "path": "serilog.extensions.hosting/10.0.0", + "hashPath": "serilog.extensions.hosting.10.0.0.nupkg.sha512" + }, + "Serilog.Extensions.Logging/10.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vx0kABKl2dWbBhhqAfTOk53/i8aV/5VaT3a6il9gn72Wqs2pM7EK2OB6No6xdqK2IaY6Zf9gdjLuK9BVa2rT+Q==", + "path": "serilog.extensions.logging/10.0.0", + "hashPath": "serilog.extensions.logging.10.0.0.nupkg.sha512" + }, + "Serilog.Filters.Expressions/2.1.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e0ZaK+NWx6+j71xB5dRXohdreSeHgMJ9mp4giSp83/4UC8VsJWDH+CAT1YVXsyINAR9IQznXllnJ0e5j+BvwzA==", + "path": "serilog.filters.expressions/2.1.0", + "hashPath": "serilog.filters.expressions.2.1.0.nupkg.sha512" + }, + "Serilog.Formatting.Compact/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wQsv14w9cqlfB5FX2MZpNsTawckN4a8dryuNGbebB/3Nh1pXnROHZov3swtu3Nj5oNG7Ba+xdu7Et/ulAUPanQ==", + "path": "serilog.formatting.compact/3.0.0", + "hashPath": "serilog.formatting.compact.3.0.0.nupkg.sha512" + }, + "Serilog.Settings.Configuration/10.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ayFE7h66mqMqzwfPrzDCMbWU27FdNC2bkCG+jnkeHFZTBRh+yWdr4aa/2WuX7c8RmqxGPMW2UqoJ3fw9hK3QhA==", + "path": "serilog.settings.configuration/10.0.1", + "hashPath": "serilog.settings.configuration.10.0.1.nupkg.sha512" + }, + "Serilog.Sinks.Console/6.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-8jbqgjUyZlfCuSTaJk6lOca465OndqOz3KZP6Cryt/IqZYybyBu7GP0fE/AXBzrrQB3EBmQntBFAvMVz1COvAA==", + "path": "serilog.sinks.console/6.1.1", + "hashPath": "serilog.sinks.console.6.1.1.nupkg.sha512" + }, + "Serilog.Sinks.Debug/3.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4BzXcdrgRX7wde9PmHuYd9U6YqycCC28hhpKonK7hx0wb19eiuRj16fPcPSVp0o/Y1ipJuNLYQ00R3q2Zs8FDA==", + "path": "serilog.sinks.debug/3.0.0", + "hashPath": "serilog.sinks.debug.3.0.0.nupkg.sha512" + }, + "Serilog.Sinks.File/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fKL7mXv7qaiNBUC71ssvn/dU0k9t0o45+qm2XgKAlSt19xF+ijjxyA3R6HmCgfKEKwfcfkwWjayuQtRueZFkYw==", + "path": "serilog.sinks.file/7.0.0", + "hashPath": "serilog.sinks.file.7.0.0.nupkg.sha512" + }, + "Superpower/2.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-L7ZLWjec5aPWWebsOKM6+8SdobSFMPJFIS8S8TT46oH2iELA70H95spRMeP1yPH9nDL/o+XYP29DPtVwVdzPeA==", + "path": "superpower/2.3.0", + "hashPath": "superpower.2.3.0.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==", + "path": "system.configuration.configurationmanager/8.0.0", + "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==", + "path": "system.security.cryptography.protecteddata/8.0.0", + "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512" + }, + "System.Security.Permissions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-v/BBylw7XevuAsHXoX9dDUUfmBIcUf7Lkz8K3ZXIKz3YRKpw8YftpSir4n4e/jDTKFoaK37AsC3xnk+GNFI1Ow==", + "path": "system.security.permissions/8.0.0", + "hashPath": "system.security.permissions.8.0.0.nupkg.sha512" + }, + "System.Windows.Extensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Obg3a90MkOw9mYKxrardLpY2u0axDMrSmy4JCdq2cYbelM2cUwmUir5Bomvd1yxmPL9h5LVHU1tuKBZpUjfASg==", + "path": "system.windows.extensions/8.0.0", + "hashPath": "system.windows.extensions.8.0.0.nupkg.sha512" + }, + "ZstdSharp.Port/0.8.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Z62eNBIu8E8YtbqlMy57tK3dV1+m2b9NhPeaYovB5exmLKvrGCqOhJTzrEUH5VyUWU6vwX3c1XHJGhW5HVs8dA==", + "path": "zstdsharp.port/0.8.0", + "hashPath": "zstdsharp.port.0.8.0.nupkg.sha512" + }, + "MAX.Core/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "MAX.Framework/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "MAX.Plugins/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Framework/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Shops/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Shops.Contracts/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Users/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Store.Users.Contracts/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Store.Api.dll b/Store.Api.dll new file mode 100644 index 0000000..29a52c2 Binary files /dev/null and b/Store.Api.dll differ diff --git a/Store.Api.pdb b/Store.Api.pdb new file mode 100644 index 0000000..227f27c Binary files /dev/null and b/Store.Api.pdb differ diff --git a/Store.Api.runtimeconfig.json b/Store.Api.runtimeconfig.json new file mode 100644 index 0000000..2911150 --- /dev/null +++ b/Store.Api.runtimeconfig.json @@ -0,0 +1,20 @@ +{ + "runtimeOptions": { + "tfm": "net10.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "10.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "10.0.0" + } + ], + "configProperties": { + "System.GC.Server": true, + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/Store.Api.staticwebassets.endpoints.json b/Store.Api.staticwebassets.endpoints.json new file mode 100644 index 0000000..21da96b --- /dev/null +++ b/Store.Api.staticwebassets.endpoints.json @@ -0,0 +1 @@ +{"Version":1,"ManifestType":"Publish","Endpoints":[]} \ No newline at end of file diff --git a/Store.Framework.dll b/Store.Framework.dll new file mode 100644 index 0000000..afde215 Binary files /dev/null and b/Store.Framework.dll differ diff --git a/Store.Framework.pdb b/Store.Framework.pdb new file mode 100644 index 0000000..ad4a913 Binary files /dev/null and b/Store.Framework.pdb differ diff --git a/Store.Shops.Contracts.dll b/Store.Shops.Contracts.dll new file mode 100644 index 0000000..5654ffa Binary files /dev/null and b/Store.Shops.Contracts.dll differ diff --git a/Store.Shops.Contracts.pdb b/Store.Shops.Contracts.pdb new file mode 100644 index 0000000..da18835 Binary files /dev/null and b/Store.Shops.Contracts.pdb differ diff --git a/Store.Shops.dll b/Store.Shops.dll new file mode 100644 index 0000000..430c633 Binary files /dev/null and b/Store.Shops.dll differ diff --git a/Store.Shops.pdb b/Store.Shops.pdb new file mode 100644 index 0000000..6c7a6cd Binary files /dev/null and b/Store.Shops.pdb differ diff --git a/Store.Users.Contracts.dll b/Store.Users.Contracts.dll new file mode 100644 index 0000000..4259171 Binary files /dev/null and b/Store.Users.Contracts.dll differ diff --git a/Store.Users.Contracts.pdb b/Store.Users.Contracts.pdb new file mode 100644 index 0000000..4d8d8ec Binary files /dev/null and b/Store.Users.Contracts.pdb differ diff --git a/Store.Users.dll b/Store.Users.dll new file mode 100644 index 0000000..e295994 Binary files /dev/null and b/Store.Users.dll differ diff --git a/Store.Users.pdb b/Store.Users.pdb new file mode 100644 index 0000000..4360625 Binary files /dev/null and b/Store.Users.pdb differ diff --git a/Superpower.dll b/Superpower.dll new file mode 100644 index 0000000..e2caf46 Binary files /dev/null and b/Superpower.dll differ diff --git a/System.Configuration.ConfigurationManager.dll b/System.Configuration.ConfigurationManager.dll new file mode 100644 index 0000000..accdffe Binary files /dev/null and b/System.Configuration.ConfigurationManager.dll differ diff --git a/System.Security.Cryptography.ProtectedData.dll b/System.Security.Cryptography.ProtectedData.dll new file mode 100644 index 0000000..40f1b5a Binary files /dev/null and b/System.Security.Cryptography.ProtectedData.dll differ diff --git a/System.Security.Permissions.dll b/System.Security.Permissions.dll new file mode 100644 index 0000000..8f01a8b Binary files /dev/null and b/System.Security.Permissions.dll differ diff --git a/System.Windows.Extensions.dll b/System.Windows.Extensions.dll new file mode 100644 index 0000000..8a70d63 Binary files /dev/null and b/System.Windows.Extensions.dll differ diff --git a/ZstdSharp.dll b/ZstdSharp.dll new file mode 100644 index 0000000..8b68efa Binary files /dev/null and b/ZstdSharp.dll differ diff --git a/zh/Hangfire.Core.resources.dll b/zh/Hangfire.Core.resources.dll new file mode 100644 index 0000000..f8199f7 Binary files /dev/null and b/zh/Hangfire.Core.resources.dll differ