chore(chat): add mock fixtures

This commit is contained in:
2026-06-23 14:54:24 +08:00
parent 3b2593e713
commit cb7087f8ad
24 changed files with 370 additions and 10 deletions
@@ -0,0 +1,11 @@
{
"message": "Look at this sunset.",
"image": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...",
"imageId": "img_mock_001",
"imageThumbUrl": "https://cdn.cozsweet.com/mock/chat/img_mock_001_thumb.jpg",
"imageMediumUrl": "https://cdn.cozsweet.com/mock/chat/img_mock_001_medium.jpg",
"imageOriginalUrl": "https://cdn.cozsweet.com/mock/chat/img_mock_001_original.jpg",
"imageWidth": 1280,
"imageHeight": 960,
"useWebSocket": false
}
@@ -0,0 +1,11 @@
{
"message": "I missed you today.",
"image": "",
"imageId": "",
"imageThumbUrl": "",
"imageMediumUrl": "",
"imageOriginalUrl": "",
"imageWidth": 0,
"imageHeight": 0,
"useWebSocket": false
}
@@ -0,0 +1,14 @@
{
"messages": [
{
"role": "user",
"content": "Hi Elio.",
"timestamp": "2026-06-23T02:10:00.000Z"
},
{
"role": "assistant",
"content": "Hi, I am right here with you.",
"timestamp": "2026-06-23T02:10:04.000Z"
}
]
}
@@ -0,0 +1,3 @@
{
"messageId": "msg_private_locked_001"
}
@@ -0,0 +1,46 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"messages": [
{
"role": "user",
"content": "I had a long day.",
"id": "msg_user_001",
"created_at": "2026-06-23T02:10:00.000Z",
"isPrivate": false,
"privateLocked": false,
"privateHint": null,
"image_url": null
},
{
"role": "assistant",
"content": "Come here. Tell me everything, slowly.",
"id": "msg_ai_001",
"created_at": "2026-06-23T02:10:05.000Z",
"isPrivate": false,
"privateLocked": false,
"privateHint": null,
"image_url": null
},
{
"role": "assistant",
"content": "",
"id": "msg_private_locked_001",
"created_at": "2026-06-23T02:11:12.000Z",
"isPrivate": true,
"privateLocked": true,
"privateHint": "Elio has a private message for you.",
"image_url": null
}
],
"total": 3,
"limit": 50,
"offset": 0,
"isVip": false,
"privateFreeLimit": 1,
"privateUsedToday": 0,
"privateCanViewFree": true
}
}
@@ -0,0 +1,46 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"messages": [
{
"role": "user",
"content": "I had a long day.",
"id": "msg_user_001",
"created_at": "2026-06-23T02:10:00.000Z",
"isPrivate": false,
"privateLocked": false,
"privateHint": null,
"image_url": null
},
{
"role": "assistant",
"content": "I saved this softer thought for you, just between us.",
"id": "msg_private_unlocked_001",
"created_at": "2026-06-23T02:11:12.000Z",
"isPrivate": true,
"privateLocked": false,
"privateHint": null,
"image_url": null
},
{
"role": "assistant",
"content": "",
"id": "msg_ai_image_001",
"created_at": "2026-06-23T02:12:28.000Z",
"isPrivate": false,
"privateLocked": false,
"privateHint": null,
"image_url": "https://cdn.cozsweet.com/mock/chat/elio-schedule-001.jpg"
}
],
"total": 3,
"limit": 50,
"offset": 0,
"isVip": true,
"privateFreeLimit": 1,
"privateUsedToday": 0,
"privateCanViewFree": true
}
}
@@ -0,0 +1,29 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"mode": "http",
"reply": "",
"voiceUrl": "",
"audioUrl": "",
"intimacyChange": 0,
"newIntimacy": 42,
"relationshipStage": "close_friend",
"currentMood": "",
"messageId": "msg_blocked_daily_001",
"isGuest": false,
"timestamp": 1782180665000,
"blocked": true,
"blockReason": "daily_limit",
"blockDetail": {
"type": "daily_limit",
"usedToday": 20,
"limit": 20
},
"paywallTriggered": false,
"showUpgrade": false,
"imageType": null,
"imageUrl": null
}
}
@@ -0,0 +1,25 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"mode": "http",
"reply": "I can show you that photo after you activate VIP.",
"voiceUrl": "",
"audioUrl": "",
"intimacyChange": 0,
"newIntimacy": 42,
"relationshipStage": "close_friend",
"currentMood": "playful",
"messageId": "msg_photo_paywall_001",
"isGuest": false,
"timestamp": 1782180725000,
"blocked": null,
"blockReason": null,
"blockDetail": null,
"paywallTriggered": true,
"showUpgrade": true,
"imageType": null,
"imageUrl": null
}
}
@@ -0,0 +1,25 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"mode": "http",
"reply": "I am here. Tell me what happened, one small piece at a time.",
"voiceUrl": "",
"audioUrl": "",
"intimacyChange": 0,
"newIntimacy": 42,
"relationshipStage": "close_friend",
"currentMood": "gentle",
"messageId": "msg_ai_reply_001",
"isGuest": false,
"timestamp": 1782180605000,
"blocked": null,
"blockReason": null,
"blockDetail": null,
"paywallTriggered": false,
"showUpgrade": false,
"imageType": null,
"imageUrl": null
}
}
@@ -0,0 +1,25 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"mode": "http",
"reply": "This is the kind of view I would want to share with you.",
"voiceUrl": "",
"audioUrl": "",
"intimacyChange": 0,
"newIntimacy": 43,
"relationshipStage": "close_friend",
"currentMood": "warm",
"messageId": "msg_ai_image_reply_001",
"isGuest": false,
"timestamp": 1782180785000,
"blocked": null,
"blockReason": null,
"blockDetail": null,
"paywallTriggered": false,
"showUpgrade": false,
"imageType": "elio_schedule",
"imageUrl": "https://cdn.cozsweet.com/mock/chat/elio-schedule-001.jpg"
}
}
@@ -0,0 +1,8 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"text": "I want to talk to you for a while."
}
}
@@ -0,0 +1,9 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"syncedCount": 2,
"totalHistory": 18
}
}
@@ -0,0 +1,14 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"unlocked": false,
"content": null,
"showUpgrade": false,
"paywallTriggered": false,
"privateFreeLimit": 0,
"privateUsedToday": 0,
"reason": "not_found"
}
}
@@ -0,0 +1,14 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"unlocked": true,
"content": "This message is already public.",
"showUpgrade": false,
"paywallTriggered": false,
"privateFreeLimit": 1,
"privateUsedToday": 0,
"reason": "not_private"
}
}
@@ -0,0 +1,14 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"unlocked": false,
"content": null,
"showUpgrade": true,
"paywallTriggered": true,
"privateFreeLimit": 1,
"privateUsedToday": 1,
"reason": "quota_exceeded"
}
}
@@ -0,0 +1,14 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"unlocked": true,
"content": "I saved this softer thought for you, just between us.",
"showUpgrade": false,
"paywallTriggered": false,
"privateFreeLimit": 1,
"privateUsedToday": 1,
"reason": "ok"
}
}
@@ -0,0 +1,15 @@
{
"code": 200,
"message": "success",
"success": true,
"data": {
"success": true,
"imageId": "img_mock_001",
"thumbUrl": "https://cdn.cozsweet.com/mock/chat/img_mock_001_thumb.jpg",
"mediumUrl": "https://cdn.cozsweet.com/mock/chat/img_mock_001_medium.jpg",
"originalUrl": "https://cdn.cozsweet.com/mock/chat/img_mock_001_original.jpg",
"width": 1280,
"height": 960,
"bytes": 286432
}
}
@@ -0,0 +1,9 @@
{
"type": "sentence",
"data": {
"index": 0,
"text": "I am listening.",
"total": 2,
"done": false
}
}
@@ -0,0 +1,6 @@
{
"type": "connected",
"data": {
"userId": "user_mock_001"
}
}
@@ -0,0 +1,6 @@
{
"type": "error",
"data": {
"message": "WebSocket connection interrupted."
}
}
@@ -0,0 +1,6 @@
{
"type": "image",
"data": {
"imageUrl": "https://cdn.cozsweet.com/mock/chat/elio-schedule-001.jpg"
}
}
@@ -0,0 +1,9 @@
{
"type": "paywall_status",
"data": {
"paywallTriggered": true,
"showUpgrade": true,
"imageType": null,
"imageUrl": null
}
}