This commit is contained in:
zpc 2026-01-03 22:23:21 +08:00
parent 43f8a88394
commit d9c48599ab
17 changed files with 501 additions and 136 deletions

View File

@ -379,7 +379,7 @@ export default {
const res = await getDanYeContent(id);
if (res.status == 1) {
if (res.data) {
res.data = res.data.replace(
res.data = res.data.content.replace(
/\<img/gi,
'<img style="width: 100%;vertical-align: middle;"'
)

View File

@ -148,7 +148,7 @@ export const getBossData = async (params = {}) => {
* @returns {Promise} 商品详情
*/
export const getInfiniteGoodsDetail = async (goodsId) => {
return await RequestManager.post('/infinite_goodsdetail', {
return await RequestManager.get('/infinite_goodsdetail', {
goods_id: goodsId
}, true);
};

View File

@ -3,24 +3,32 @@
"WorkspaceRootPath": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\couponcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
@ -34,6 +42,26 @@
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\authcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\authcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\addresscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\addresscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\redeemcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\redeemcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
@ -62,15 +90,106 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 4,
"SelectedChildIndex": 1,
"Children": [
{
"$type": "Bookmark",
"Name": "ST:128:0:{116d2292-e37d-41cd-a077-ebacac4c8cc4}"
},
{
"$type": "Document",
"DocumentIndex": 0,
"Title": "GoodsModels.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"RelativeToolTip": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"ViewState": "AgIAAJEAAAAAAAAAAADwv64AAAAOAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T14:01:36.805Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "WelfareHouse.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"RelativeToolTip": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T13:33:55.966Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "WelfareController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"ViewState": "AgIAAB8AAAAAAAAAAAAAwFAAAAAXAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T13:11:54.84Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "WarehouseController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"ViewState": "AgIAAFoAAAAAAAAAAAAAADcAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T12:11:16.344Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "UserController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\UserController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\UserController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T12:11:15.83Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "RedeemController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\RedeemController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\RedeemController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\RedeemController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\RedeemController.cs",
"ViewState": "AgIAAFIAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T11:40:46.393Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 10,
"Title": "AddressController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AddressController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AddressController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AddressController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\AddressController.cs",
"ViewState": "AgIAAGkAAAAAAAAAAADwvwAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T11:40:39.283Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 13,
"Title": "UserAddress.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\UserAddress.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\UserAddress.cs",
@ -83,7 +202,7 @@
},
{
"$type": "Document",
"DocumentIndex": 4,
"DocumentIndex": 14,
"Title": "PayController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\PayController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\PayController.cs",
@ -96,59 +215,59 @@
},
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 7,
"Title": "CouponController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CouponController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CouponController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CouponController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\CouponController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"ViewState": "AgIAADEBAAAAAAAAAAAAAEQAAAA3AAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T06:35:48.625Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 0,
"DocumentIndex": 12,
"Title": "ConfigController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\ConfigController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\ConfigController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\ConfigController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\ConfigController.cs",
"ViewState": "AgIAAIcAAAAAAAAAAADwv6QAAABOAAAAAAAAAA==",
"ViewState": "AgIAAJsAAAAAAAAAAADwv7QAAAANAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T06:15:47.201Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 7,
"DocumentIndex": 9,
"Title": "AuthController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AuthController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AuthController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AuthController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\AuthController.cs",
"ViewState": "AgIAAGYAAAAAAAAAAAAuwCUBAAAWAAAAAAAAAA==",
"ViewState": "AgIAAC4BAAAAAAAAAAAuwCUBAAAWAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T06:07:38.674Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"DocumentIndex": 8,
"Title": "CollectionController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CollectionController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CollectionController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CollectionController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\CollectionController.cs",
"ViewState": "AgIAAA0BAAAAAAAAAAAAAEkBAAAUAAAAAAAAAA==",
"ViewState": "AgIAAFMBAAAAAAAAAADwvyABAAAZAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T06:07:37.824Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 8,
"DocumentIndex": 15,
"Title": "appsettings.json",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\appsettings.json",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\appsettings.json",
@ -161,33 +280,33 @@
},
{
"$type": "Document",
"DocumentIndex": 3,
"DocumentIndex": 1,
"Title": "GoodsController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"ViewState": "AgIAAD0AAAAAAAAAAAAAAFkAAAAIAAAAAAAAAA==",
"ViewState": "AgIAACcBAAAAAAAAAAAMwEIBAABiAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T05:07:08.788Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 4,
"Title": "HoneyBoxDbContext.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"RelativeToolTip": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"ViewState": "AgIAAFUAAAAAAAAAAAAUwHAAAAAqAAAAAAAAAA==",
"ViewState": "AgIAAFUAAAAAAAAAAAAUwHQAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-02T06:46:26.809Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 9,
"DocumentIndex": 16,
"Title": "Program.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Program.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Program.cs",
@ -200,7 +319,7 @@
},
{
"$type": "Document",
"DocumentIndex": 10,
"DocumentIndex": 17,
"Title": "ApiResponse.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Base\\ApiResponse.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Base\\ApiResponse.cs",
@ -212,7 +331,7 @@
},
{
"$type": "Document",
"DocumentIndex": 11,
"DocumentIndex": 18,
"Title": "PrizeModels.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs",
@ -224,7 +343,7 @@
},
{
"$type": "Document",
"DocumentIndex": 12,
"DocumentIndex": 19,
"Title": "T_Task.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\T_Task.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\T_Task.cs",

View File

@ -2,6 +2,34 @@
"Version": 1,
"WorkspaceRootPath": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\",
"Documents": [
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\models\\goods\\goodsmodels.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\welfarecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\warehousecontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\welfarehouse.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\usercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\couponcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\couponcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@ -26,18 +54,10 @@
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\configcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\data\\honeyboxdbcontext.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{B3732485-B324-43A2-AEB0-092AD84A1302}|src\\HoneyBox.Model\\HoneyBox.Model.csproj|solutionrelative:src\\honeybox.model\\entities\\useraddress.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\goodscontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|d:\\outsource\\haniblindbox\\server\\c#\\honeybox\\src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{73C88F2C-A98A-4E84-A61C-02FBA69416A4}|src\\HoneyBox.Api\\HoneyBox.Api.csproj|solutionrelative:src\\honeybox.api\\controllers\\paycontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
@ -70,7 +90,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
"SelectedChildIndex": 5,
"SelectedChildIndex": 1,
"Children": [
{
"$type": "Bookmark",
@ -78,7 +98,72 @@
},
{
"$type": "Document",
"DocumentIndex": 4,
"DocumentIndex": 0,
"Title": "GoodsModels.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"RelativeToolTip": "src\\HoneyBox.Model\\Models\\Goods\\GoodsModels.cs",
"ViewState": "AgIAAJEAAAAAAAAAAADwv64AAAAOAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T14:01:36.805Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 5,
"Title": "WelfareHouse.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"RelativeToolTip": "src\\HoneyBox.Model\\Entities\\WelfareHouse.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAgAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T13:33:55.966Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 2,
"Title": "WelfareController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WelfareController.cs",
"ViewState": "AgIAAB8AAAAAAAAAAAAAwFAAAAAXAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T13:11:54.84Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 3,
"Title": "WarehouseController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\WarehouseController.cs",
"ViewState": "AgIAAFoAAAAAAAAAAAAAADcAAAAnAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T12:11:16.344Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"Title": "UserController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\UserController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\UserController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\UserController.cs",
"ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T12:11:15.83Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"Title": "RedeemController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\RedeemController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\RedeemController.cs",
@ -91,7 +176,7 @@
},
{
"$type": "Document",
"DocumentIndex": 3,
"DocumentIndex": 10,
"Title": "AddressController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AddressController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AddressController.cs",
@ -104,7 +189,7 @@
},
{
"$type": "Document",
"DocumentIndex": 7,
"DocumentIndex": 13,
"Title": "UserAddress.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\UserAddress.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\UserAddress.cs",
@ -117,7 +202,7 @@
},
{
"$type": "Document",
"DocumentIndex": 9,
"DocumentIndex": 14,
"Title": "PayController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\PayController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\PayController.cs",
@ -130,7 +215,7 @@
},
{
"$type": "Document",
"DocumentIndex": 0,
"DocumentIndex": 7,
"Title": "CouponController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CouponController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CouponController.cs",
@ -143,7 +228,7 @@
},
{
"$type": "Document",
"DocumentIndex": 5,
"DocumentIndex": 12,
"Title": "ConfigController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\ConfigController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\ConfigController.cs",
@ -156,7 +241,7 @@
},
{
"$type": "Document",
"DocumentIndex": 2,
"DocumentIndex": 9,
"Title": "AuthController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\AuthController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\AuthController.cs",
@ -169,7 +254,7 @@
},
{
"$type": "Document",
"DocumentIndex": 1,
"DocumentIndex": 8,
"Title": "CollectionController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\CollectionController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\CollectionController.cs",
@ -182,7 +267,7 @@
},
{
"$type": "Document",
"DocumentIndex": 10,
"DocumentIndex": 15,
"Title": "appsettings.json",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\appsettings.json",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\appsettings.json",
@ -195,33 +280,33 @@
},
{
"$type": "Document",
"DocumentIndex": 8,
"DocumentIndex": 1,
"Title": "GoodsController.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"RelativeToolTip": "src\\HoneyBox.Api\\Controllers\\GoodsController.cs",
"ViewState": "AgIAAD0AAAAAAAAAAAAAAFkAAAAIAAAAAAAAAA==",
"ViewState": "AgIAACcBAAAAAAAAAAAMwEIBAABiAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-03T05:07:08.788Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 6,
"DocumentIndex": 4,
"Title": "HoneyBoxDbContext.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"ToolTip": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"RelativeToolTip": "src\\HoneyBox.Model\\Data\\HoneyBoxDbContext.cs",
"ViewState": "AgIAAFUAAAAAAAAAAAAUwHIAAAAqAAAAAAAAAA==",
"ViewState": "AgIAAFUAAAAAAAAAAAAUwHQAAAAqAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2026-01-02T06:46:26.809Z",
"EditorCaption": ""
},
{
"$type": "Document",
"DocumentIndex": 11,
"DocumentIndex": 16,
"Title": "Program.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Api\\Program.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Api\\Program.cs",
@ -234,7 +319,7 @@
},
{
"$type": "Document",
"DocumentIndex": 12,
"DocumentIndex": 17,
"Title": "ApiResponse.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Base\\ApiResponse.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Base\\ApiResponse.cs",
@ -246,7 +331,7 @@
},
{
"$type": "Document",
"DocumentIndex": 13,
"DocumentIndex": 18,
"Title": "PrizeModels.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Models\\Prize\\PrizeModels.cs",
@ -258,7 +343,7 @@
},
{
"$type": "Document",
"DocumentIndex": 14,
"DocumentIndex": 19,
"Title": "T_Task.cs",
"DocumentMoniker": "D:\\outsource\\HaniBlindBox\\server\\C#\\HoneyBox\\src\\HoneyBox.Model\\Entities\\T_Task.cs",
"RelativeDocumentMoniker": "src\\HoneyBox.Model\\Entities\\T_Task.cs",

View File

@ -1,8 +1,10 @@
using System.Security.Claims;
using HoneyBox.Core.Interfaces;
using HoneyBox.Model.Base;
using HoneyBox.Model.Models;
using HoneyBox.Model.Models.Goods;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@ -138,7 +140,7 @@ public class GoodsController : ControllerBase
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to get goods children: GoodsId={GoodsId}, GoodsListId={GoodsListId}",
_logger.LogError(ex, "Failed to get goods children: GoodsId={GoodsId}, GoodsListId={GoodsListId}",
request?.GoodsId, request?.GoodsListId);
return ApiResponse<List<GoodsChildrenDto>>.Fail("获取子奖品列表失败");
}
@ -315,17 +317,11 @@ public class GoodsController : ControllerBase
/// </remarks>
/// <param name="request">中奖记录请求参数包含商品ID、箱号、分页信息</param>
/// <returns>中奖记录分页数据</returns>
[HttpPost("goods_prize_logs")]
[Authorize]
[HttpGet("goods_prize_logs")]
[ProducesResponseType(typeof(ApiResponse<PrizeLogsResponseDto>), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(ApiResponse<PrizeLogsResponseDto>), StatusCodes.Status401Unauthorized)]
public async Task<ApiResponse<PrizeLogsResponseDto>> GetPrizeLogs([FromBody] PrizeLogsRequest? request)
public async Task<ApiResponse<PrizeLogsResponseDto>> GetPrizeLogs([FromQuery] PrizeLogsRequest? request)
{
var userId = GetCurrentUserId();
if (userId == null)
{
return ApiResponse<PrizeLogsResponseDto>.Unauthorized();
}
try
{
@ -338,10 +334,10 @@ public class GoodsController : ControllerBase
var pageSize = request.PageSize < 1 ? 15 : request.PageSize;
var result = await _prizeService.GetPrizeLogsAsync(
request.GoodsId,
request.GoodsNum,
request.ShangId,
page,
request.GoodsId,
request.GoodsNum,
request.ShangId ?? 0,
page,
pageSize);
return ApiResponse<PrizeLogsResponseDto>.Success(result);
}

View File

@ -467,11 +467,11 @@ public class OrderController : ControllerBase
/// <summary>
/// 无限赏中奖记录查询
/// POST /api/infinite_shang_log
/// GET /api/infinite_shang_log
/// Requirements: 4.1-4.3
/// </summary>
[HttpPost("infinite_shang_log")]
public async Task<ApiResponse<InfiniteShangLogResponseDto>> GetInfiniteShangLog([FromBody] InfiniteShangLogRequest? request)
[HttpGet("infinite_shang_log")]
public async Task<ApiResponse<InfiniteShangLogResponseDto>> GetInfiniteShangLog([FromQuery] InfiniteShangLogRequest? request)
{
try
{
@ -486,8 +486,8 @@ public class OrderController : ControllerBase
var result = await _lotteryService.GetInfiniteShangLogAsync(
request.GoodsId,
request.ShangId,
request.IsMibao,
request.ShangId ?? 0,
request.IsMibao ?? 0,
page,
pageSize);
return ApiResponse<InfiniteShangLogResponseDto>.Success(result);

View File

@ -35,18 +35,23 @@ public class WarehouseController : ControllerBase
/// 仓库首页查询
/// </summary>
/// <remarks>
/// POST /api/warehouse_index
/// GET /api/warehouse_index
///
/// 获取用户仓库中的奖品列表
/// Requirements: 10.1-10.3
/// </remarks>
/// <param name="request">仓库查询请求参数</param>
/// <param name="page">页码</param>
/// <param name="type">类型: 1赏品 2预售 3卡册 4保险柜 5无限赏</param>
/// <param name="keyword">搜索关键词</param>
/// <returns>仓库奖品列表</returns>
[HttpPost("warehouse_index")]
[HttpGet("warehouse_index")]
[Authorize]
[ProducesResponseType(typeof(ApiResponse<WarehouseIndexResponseDto>), StatusCodes.Status200OK)]
[ProducesResponseType(typeof(ApiResponse<WarehouseIndexResponseDto>), StatusCodes.Status401Unauthorized)]
public async Task<ApiResponse<WarehouseIndexResponseDto>> GetWarehouseIndex([FromBody] WarehouseIndexRequest? request)
public async Task<ApiResponse<WarehouseIndexResponseDto>> GetWarehouseIndex(
[FromQuery] int page = 1,
[FromQuery] int type = 1,
[FromQuery] string? keyword = null)
{
var userId = GetCurrentUserId();
if (userId == null)
@ -56,9 +61,13 @@ public class WarehouseController : ControllerBase
try
{
request ??= new WarehouseIndexRequest();
if (request.Page < 1) request.Page = 1;
if (request.PageSize < 1) request.PageSize = 10;
var request = new WarehouseIndexRequest
{
Page = page < 1 ? 1 : page,
Type = type,
Keyword = keyword,
PageSize = 10
};
var result = await _warehouseService.GetWarehouseIndexAsync(userId.Value, request);
return ApiResponse<WarehouseIndexResponseDto>.Success(result);

View File

@ -1,9 +1,13 @@
using System.Security.Claims;
using System.Security.Claims;
using HoneyBox.Core.Interfaces;
using HoneyBox.Model.Base;
using HoneyBox.Model.Data;
using HoneyBox.Model.Models.Welfare;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
namespace HoneyBox.Api.Controllers;
@ -18,16 +22,57 @@ namespace HoneyBox.Api.Controllers;
public class WelfareController : ControllerBase
{
private readonly IWelfareService _welfareService;
private readonly HoneyBoxDbContext _dbContext;
private readonly ILogger<WelfareController> _logger;
public WelfareController(
IWelfareService welfareService,
HoneyBoxDbContext dbContext,
ILogger<WelfareController> logger)
{
_welfareService = welfareService;
_dbContext = dbContext;
_logger = logger;
}
/// <summary>
/// 获取福利屋配置列表 (兼容PHP /welfare_house_list 接口)
/// POST /api/welfare_house_list
/// </summary>
/// <remarks>
/// 从 welfare_house 表获取启用的福利屋配置列表
/// </remarks>
[HttpPost("welfare_house_list")]
public async Task<ApiResponse<List<WelfareHouseDto>>> GetWelfareHouseList()
{
try
{
var list = await _dbContext.WelfareHouses
.Where(w => w.Status == 1)
.OrderBy(w => w.Sort)
.ThenByDescending(w => w.Id)
.Select(w => new WelfareHouseDto
{
Id = w.Id,
Name = w.Name,
Image = w.Image,
Url = w.Url,
Sort = w.Sort,
Status = w.Status,
CreateTime = w.CreateTime,
UpdateTime = w.UpdateTime
})
.ToListAsync();
return ApiResponse<List<WelfareHouseDto>>.Success(list, "获取成功");
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to get welfare house list");
return ApiResponse<List<WelfareHouseDto>>.Fail("获取福利屋列表失败");
}
}
/// <summary>
/// 获取福利屋列表 (兼容PHP /fuliwu 接口)
/// GET/POST /api/fuliwu
@ -92,54 +137,18 @@ public class WelfareController : ControllerBase
}
catch (InvalidOperationException ex)
{
_logger.LogWarning("Buy welfare failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}",
_logger.LogWarning("Buy welfare failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}",
userId, request.GoodsId, ex.Message);
return ApiResponse<WelfareBuyResponse>.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to buy welfare: UserId={UserId}, GoodsId={GoodsId}",
_logger.LogError(ex, "Failed to buy welfare: UserId={UserId}, GoodsId={GoodsId}",
userId, request.GoodsId);
return ApiResponse<WelfareBuyResponse>.Fail("购买失败,请刷新重试");
}
}
/// <summary>
/// 获取福利屋列表
/// POST /api/welfare_house_list
/// Requirements: 12.1-12.5
/// </summary>
[HttpPost("welfare_house_list")]
[Authorize]
public async Task<ApiResponse<WelfareListResponse>> GetWelfareList([FromForm] WelfareListRequest request)
{
var userId = GetCurrentUserId();
if (userId == null)
{
return ApiResponse<WelfareListResponse>.Unauthorized();
}
try
{
var result = await _welfareService.GetWelfareListAsync(
userId.Value,
request.Type,
request.Page,
request.Limit);
return ApiResponse<WelfareListResponse>.Success(result);
}
catch (ArgumentException ex)
{
_logger.LogWarning("Get welfare list failed: UserId={UserId}, Error={Error}", userId, ex.Message);
return ApiResponse<WelfareListResponse>.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to get welfare list: UserId={UserId}", userId);
return ApiResponse<WelfareListResponse>.Fail("获取福利屋列表失败");
}
}
/// <summary>
/// 获取福利屋详情
/// POST /api/fuliwu_detail
@ -162,13 +171,13 @@ public class WelfareController : ControllerBase
}
catch (InvalidOperationException ex)
{
_logger.LogWarning("Get welfare detail failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}",
_logger.LogWarning("Get welfare detail failed: UserId={UserId}, GoodsId={GoodsId}, Error={Error}",
userId, request.GoodsId, ex.Message);
return ApiResponse<WelfareDetailResponse>.Fail(ex.Message);
}
catch (Exception ex)
{
_logger.LogError(ex, "Failed to get welfare detail: UserId={UserId}, GoodsId={GoodsId}",
_logger.LogError(ex, "Failed to get welfare detail: UserId={UserId}, GoodsId={GoodsId}",
userId, request.GoodsId);
return ApiResponse<WelfareDetailResponse>.Fail("获取福利屋详情失败");
}
@ -193,8 +202,8 @@ public class WelfareController : ControllerBase
try
{
var result = await _welfareService.GetParticipantsAsync(
request.GoodsId,
request.Page,
request.GoodsId,
request.Page,
request.Limit);
return ApiResponse<List<ParticipantDto>>.Success(result);
}
@ -223,8 +232,8 @@ public class WelfareController : ControllerBase
try
{
var result = await _welfareService.GetWinningRecordsAsync(
request.GoodsId,
request.Page,
request.GoodsId,
request.Page,
request.Limit);
return ApiResponse<List<WinningRecordDto>>.Success(result);
}
@ -243,7 +252,7 @@ public class WelfareController : ControllerBase
[HttpGet("fuliwu_user_records")]
[Authorize]
public async Task<ApiResponse<List<UserParticipationDto>>> GetUserParticipationRecords(
[FromQuery] int page = 1,
[FromQuery] int page = 1,
[FromQuery] int limit = 15)
{
var userId = GetCurrentUserId();
@ -272,7 +281,7 @@ public class WelfareController : ControllerBase
[HttpGet("fuliwu_user_winning_records")]
[Authorize]
public async Task<ApiResponse<List<UserWinningDto>>> GetUserWinningRecords(
[FromQuery] int page = 1,
[FromQuery] int page = 1,
[FromQuery] int limit = 15)
{
var userId = GetCurrentUserId();

View File

@ -110,6 +110,8 @@ public partial class HoneyBoxDbContext : DbContext
public virtual DbSet<FloatBallConfig> FloatBallConfigs { get; set; }
public virtual DbSet<WelfareHouse> WelfareHouses { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
// Connection string is configured in Program.cs via dependency injection
@ -3067,6 +3069,46 @@ public partial class HoneyBoxDbContext : DbContext
.HasColumnName("updated_at");
});
modelBuilder.Entity<WelfareHouse>(entity =>
{
entity.HasKey(e => e.Id).HasName("pk_welfare_house");
entity.ToTable("welfare_house", tb => tb.HasComment("福利屋配置表"));
entity.HasIndex(e => e.Status, "ix_welfare_house_status");
entity.HasIndex(e => e.Sort, "ix_welfare_house_sort");
entity.Property(e => e.Id)
.HasComment("主键ID")
.HasColumnName("id");
entity.Property(e => e.Name)
.HasMaxLength(100)
.HasComment("名称")
.HasColumnName("name");
entity.Property(e => e.Image)
.HasMaxLength(255)
.HasComment("图片")
.HasColumnName("image");
entity.Property(e => e.Url)
.HasMaxLength(255)
.HasComment("跳转链接")
.HasColumnName("url");
entity.Property(e => e.Sort)
.HasDefaultValue(0)
.HasComment("排序")
.HasColumnName("sort");
entity.Property(e => e.Status)
.HasDefaultValue((byte)1)
.HasComment("状态0禁用 1启用")
.HasColumnName("status");
entity.Property(e => e.CreateTime)
.HasComment("创建时间")
.HasColumnName("create_time");
entity.Property(e => e.UpdateTime)
.HasComment("更新时间")
.HasColumnName("update_time");
});
OnModelCreatingPartial(modelBuilder);
}

View File

@ -0,0 +1,60 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace HoneyBox.Model.Entities;
/// <summary>
/// 福利屋配置表
/// </summary>
[Table("welfare_house")]
public class WelfareHouse
{
[Key]
[Column("id")]
public int Id { get; set; }
/// <summary>
/// 名称
/// </summary>
[Column("name")]
[MaxLength(100)]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 图片
/// </summary>
[Column("image")]
[MaxLength(255)]
public string Image { get; set; } = string.Empty;
/// <summary>
/// 跳转链接
/// </summary>
[Column("url")]
[MaxLength(255)]
public string Url { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
[Column("sort")]
public int Sort { get; set; }
/// <summary>
/// 状态0禁用 1启用
/// </summary>
[Column("status")]
public byte Status { get; set; } = 1;
/// <summary>
/// 创建时间
/// </summary>
[Column("create_time")]
public int? CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column("update_time")]
public int? UpdateTime { get; set; }
}

View File

@ -9,6 +9,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.2.5" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>

View File

@ -1,4 +1,5 @@
using System.Text.Json.Serialization;
using Microsoft.AspNetCore.Mvc;
namespace HoneyBox.Model.Models;
@ -11,12 +12,14 @@ public class PageRequest
/// 页码从1开始
/// </summary>
[JsonPropertyName("page")]
[FromQuery(Name = "page")]
public int Page { get; set; } = 1;
/// <summary>
/// 每页数量
/// </summary>
[JsonPropertyName("page_size")]
[FromQuery(Name = "page_size")]
public int PageSize { get; set; } = 10;
}

View File

@ -1,5 +1,6 @@
using System.Text.Json.Serialization;
using System.Text.Json.Serialization;
using HoneyBox.Model.Models;
using Microsoft.AspNetCore.Mvc;
namespace HoneyBox.Model.Models.Goods;
@ -157,19 +158,22 @@ public class PrizeLogsRequest : PageRequest
/// 商品ID
/// </summary>
[JsonPropertyName("goods_id")]
[FromQuery(Name = "goods_id")]
public int GoodsId { get; set; }
/// <summary>
/// 箱号
/// </summary>
[JsonPropertyName("goods_num")]
[FromQuery(Name = "goods_num")]
public int GoodsNum { get; set; }
/// <summary>
/// 赏品分类ID (0表示全部)
/// 赏品分类ID (null或0表示全部)
/// </summary>
[JsonPropertyName("shang_id")]
public int ShangId { get; set; } = 0;
[FromQuery(Name = "shang_id")]
public int? ShangId { get; set; }
}
#endregion

View File

@ -2,6 +2,7 @@ using System.Text.Json.Serialization;
using HoneyBox.Model.Models;
using HoneyBox.Model.Models.Goods;
using HoneyBox.Model.Models.Order;
using Microsoft.AspNetCore.Mvc;
namespace HoneyBox.Model.Models.Lottery;
@ -28,19 +29,22 @@ public class InfiniteShangLogRequest : PageRequest
/// 商品ID
/// </summary>
[JsonPropertyName("goods_id")]
[FromQuery(Name = "goods_id")]
public int GoodsId { get; set; }
/// <summary>
/// 赏品等级ID0表示全部
/// </summary>
[JsonPropertyName("shang_id")]
public int ShangId { get; set; }
[FromQuery(Name = "shang_id")]
public int? ShangId { get; set; }
/// <summary>
/// 是否秘宝池0=否1=是)
/// </summary>
[JsonPropertyName("is_mibao")]
public int IsMibao { get; set; }
[FromQuery(Name = "is_mibao")]
public int? IsMibao { get; set; }
}
/// <summary>

View File

@ -0,0 +1,33 @@
using System.Text.Json.Serialization;
namespace HoneyBox.Model.Models.Welfare;
/// <summary>
/// 福利屋配置项 DTO
/// </summary>
public class WelfareHouseDto
{
[JsonPropertyName("id")]
public int Id { get; set; }
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
[JsonPropertyName("image")]
public string Image { get; set; } = string.Empty;
[JsonPropertyName("url")]
public string Url { get; set; } = string.Empty;
[JsonPropertyName("sort")]
public int Sort { get; set; }
[JsonPropertyName("status")]
public byte Status { get; set; }
[JsonPropertyName("create_time")]
public int? CreateTime { get; set; }
[JsonPropertyName("update_time")]
public int? UpdateTime { get; set; }
}