style: 修改样式

This commit is contained in:
zerosaturation 2026-05-08 10:55:34 +08:00
parent 958dffce6a
commit 2cfd195ef8
7 changed files with 537 additions and 10 deletions

View File

@ -212,7 +212,8 @@ INSERT INTO level_thresholds (level, exp_required, crystal_reward, description)
| `task_reward` | 任务奖励 | + |
| `mint_cost` | 铸造消耗 | - |
| `mint_reward` | 铸造奖励(基础+阶梯) | + |
| `exhibition_revenue` | 展示收益 | + |
| `exhibition_revenue` | 上架展示收益 | + |
| `like_bet_revenue` | 点赞押注收益 | + |
| `level_up_bonus` | 升级奖励由调用方主动发放AddExperience 不自动发) | + |
| `manual_adjust` | 手动调整(运营) | +/- |
@ -241,7 +242,8 @@ INSERT INTO level_thresholds (level, exp_required, crystal_reward, description)
| `task_reward` | `task_definitions.id`任务ID |
| `mint_cost` | `mint_orders.order_id`(铸造订单号) |
| `mint_reward` | `mint_orders.order_id`(铸造订单号) |
| `exhibition_revenue` | `exhibition_revenue_records.id` |
| `exhibition_revenue` | `exhibition_revenue_records.id`(上架展示收益) |
| `like_bet_revenue` | `like_bet_records.id`(点赞押注收益,记录押注者和藏品信息) |
| `level_up_bonus` | **与触发升级的经验增加 source_id 相同**(即触发升级的那笔 exp_transaction_records.source_id |
| `manual_adjust` | 运营后台操作记录ID预留 |
@ -455,11 +457,36 @@ if levelDelta > 0 {
**revenue_service.go** — `ClaimRevenue` / `ClaimAllRevenue`:
展示收益包含两部分:
1. **上架收益 R1** = R0 × T × [100% + Buff(n)],其中 n 为作品获得的点赞数
2. **点赞押注收益 R2** = [1 + (N - i)] × R3由点赞者获得
```go
newBalance, err := s.userClient.UpdateCrystalBalance(ctx, userID, starID, record.CrystalAmount,
// 上架收益 = 单位小时收益 × 时长 × (100% + Buff加成)
// Buff(n): n<5=0%, 5n<10=10%, 10n<30=20%, n30=30%
crystalAmount := r0 * t * (100 + getBuffPercent(likeCount)) / 100
newBalance, err := s.userClient.UpdateCrystalBalance(ctx, userID, starID, crystalAmount,
"exhibition_revenue",
strconv.FormatInt(record.ID, 10),
fmt.Sprintf("展示收益 #%d", record.ID))
fmt.Sprintf("展示收益 #%d点赞数:%d", record.ID, likeCount))
```
#### 获取Buff百分比的伪代码
```go
func getBuffPercent(likeCount int) int {
switch {
case likeCount >= 30:
return 30
case likeCount >= 10:
return 20
case likeCount >= 5:
return 10
default:
return 0
}
}
```
### 6.4 assetService — 铸造扣水晶
@ -1221,7 +1248,198 @@ backend/
└── asset.triple.go # 新增
```
## 十四、后续扩展预留
## 十四、展示收益系统(初始阶段)
### 14.1 上架收益
用户「铸爱」后的作品一旦在主广场进行展出每小时都可以获得展出收益。一次上架时间为6小时。上架期间当作品被点赞的次数达到一定数值会提供收益加成。
时间结束后,作品自动下架,需要手动进行再次上架。上架期间,用户不可手动下架作品。
#### 14.1.1 核心参数
| 参数 | 含义 | 默认值 |
|---|---|---|
| R0 | 单位小时收益 | 5 水晶/小时 |
| T | 上架时长 | 6 小时 |
| Buff(n) | 点赞加成Buff随当时点赞总数(n)而变化 | 见下方阶梯 |
#### 14.1.2 单次上架结算公式
```
R1 = R0 × T × [100% + Buff(n)]
```
#### 14.1.3 Buff 阶梯定义
| 点赞数 n | Buff(n) |
|---|---|
| n < 5 | 0% |
| 5 ≤ n < 10 | 10% |
| 10 ≤ n < 30 | 20% |
| n ≥ 30 | 30%(封顶) |
#### 14.1.4 示例计算
| 点赞数 | 基础收益 (R0×T) | Buff加成 | 最终收益 R1 |
|---|---|---|---|
| 0 | 30 | 0% | 30 |
| 3 | 30 | 0% | 30 |
| 5 | 30 | 10% | 33 |
| 10 | 30 | 20% | 36 |
| 30 | 30 | 30% | 39 |
---
### 14.2 点赞押注收益
一个藏品的奖金,按照每个玩家到场后,该藏品新增的点赞数来分配。
你押注之后,别人用脚投票继续赞它,说明你"看准了",你理应分得多;如果之后无人问津,说明你看走眼,收益自然低。
#### 14.2.1 核心参数
| 参数 | 含义 | 默认值 |
|---|---|---|
| N | 藏品下架时的总点赞数 | - |
| i | 你是第几位押注者1=第一个点赞) | - |
| N-i | 你押注之后,该藏品又获得的新点赞数 | - |
| R3 | 新增一个赞,提供多少奖励 | 新增1点赞 / 2 水晶 |
#### 14.2.2 个人结算公式
```
R2 = [1 + (N - i)] × R3
```
**R2 最高为 100**
#### 14.2.3 示例计算
| N (总点赞) | i (押注顺序) | N-i (新增点赞) | R2 (个人收益) |
|---|---|---|---|
| 10 | 5 | 5 | 18 |
| 20 | 1 | 19 | 60 |
| 50 | 10 | 40 | 123 → 100 (封顶) |
| 100 | 50 | 50 | 153 → 100 (封顶) |
---
### 14.3 全局测算参数
#### 14.3.1 核心参数定义
| 参数 | 含义 | 默认值 |
|---|---|---|
| U | 日活用户 | 10000 |
| L1 | 单个用户点赞押注额度 | 20 次/日 |
| W1 | 用户可以同时上架的作品数 | 2 个/次 |
| P1 | 上架参与度 | 0.6 |
| P2 | 点赞参与度 | 0.7 |
#### 14.3.2 重要假设
- 作品优劣占比:优秀 20%、一般 60%、较差 20%
- 用户点赞倾向:优秀 80%、一般 20%、较差 0%
#### 14.3.3 全局统计公式
**单日上架作品数:**
```
W = U × W1 × (24/T) × P1
```
**单日总点赞押注数:**
```
L = U × L1 × P2
```
**各类型作品点赞总数:**
```
优秀Lg = U × L1 × P2 × 80%
一般Ln = U × L1 × P2 × 20%
较差Lb = 0
```
**各类型作品平均点赞数:**
```
优秀Lg_avg = Lg / (U × P1 × 20%)
一般Ln_avg = Ln / (U × P1 × 60%)
较差Lb_avg = 0
```
**各类型作品产生的平均点赞收益:**
```
优秀R2g = Lg_avg × (Lg_avg + 1) / 2
一般R2n = Ln_avg × (Ln_avg + 1) / 2
较差R2b = 0
```
点赞收益按等差数列计算因为粗算即使优秀作品的平均点赞数离100较远仍采用此公式
**各类型作品点赞总收益:**
```
优秀R2G = R2g × U × P1 × 20%
一般R2N = R2n × U × P1 × 60%
较差R2B = 0
```
---
### 14.4 全局 Buff 期望值估算
#### 14.4.1 泊松分布参数
基于每日点赞总额按作品类型分配,计算各类作品的期望获赞数(λ):
```
优秀作品 λ_a ≈ Lg_avg
一般作品 λ_b ≈ Ln_avg
较差作品 λ_c = 0
```
#### 14.4.2 Buff 期望值公式
对单类作品Buff 期望值采用差分公式:
```
E[Buff|λ] = 10% × P(n≥5) + 10% × P(n≥10) + 10% × P(n≥30)
```
其中 P(n≥k) 服从泊松分布累积概率:
```
P(n≥k) = 1 - POISSON.DIST(k-1, λ, TRUE)
```
#### 14.4.3 全局加权平均 Buff
```
E[Buff] = 20% × E[Buff|λ_a] + 60% × E[Buff|λ_b] + 20% × E[Buff|λ_c]
```
#### 14.4.4 全局 Buff 估算结果
| 作品类型 | 占比 | 期望Buff |
|---|---|---|
| 优秀作品 | 20% | ≈ 22.84% |
| 一般作品 | 60% | ≈ 0.75% |
| 较差作品 | 20% | 0% |
| **全局加权** | 100% | **≈ 5.02%** |
---
### 14.5 上架收益全局估算
上架作品产生的总收益公式:
```
R1U = R0 × T × [100% + Buff(N)] × (24/T) × U × W1 × P1
```
其中 Buff(N) 为全局加权平均 Buff ≈ 5.05%
---
## 十五、后续扩展预留
1. **coin_transaction_records** — 等游戏币有实际用途时启用(当前 delta 写 0
2. **流水分页查询 API**`GET /api/economy/crystal-history` 等(当前只记录不查询)

View File

@ -8,7 +8,7 @@ import { ref, onMounted } from 'vue'
const webviewUrl = ref('')
//
const BOTTOM_IMAGE_URL = '/static/sucai/image-02.png'
const BOTTOM_IMAGE_URL = '/static/sucai/image-03.png'
onMounted(() => {
// static HTML

View File

@ -294,7 +294,7 @@ const showOldPassword = ref(false);
//
const showGuideListModal = ref(false);
// const guideClaimableCount = computed(() => getClaimableRewardCount());
const guideClaimableCount = computed(() => getClaimableRewardCount());
const showNewPassword = ref(false);
//

View File

@ -177,7 +177,16 @@ const checkPhoneDuplicate = async (phone) => {
//
const goToLogin = () => {
uni.navigateBack();
const pages = getCurrentPages();
if (pages.length > 1) {
//
uni.navigateBack();
} else {
// square
uni.reLaunch({
url: '/pages/login/login'
});
}
};
//

View File

@ -1,7 +1,7 @@
// API 基础配置
// const baseURL = 'http://101.132.250.62:8080'
const baseURL = 'http://101.132.250.62:8080'
// const baseURL = 'http://192.168.110.60:8080'
const baseURL = 'http://localhost:8080'
// const baseURL = 'http://localhost:8080'
// 是否使用模拟数据(开发调试时设为 true后端API准备好后改为 false
const USE_MOCK_API = false

View File

@ -0,0 +1,178 @@
初始阶段
上架收益玩法
用户「铸爱」后的作品一旦在主广场进行展出每小时都可以获得展出收益。一次上架时间为6小时。上架期间当作品被点赞的次数达到一定数值会提供收益加成。
时间结束后,作品自动下架,需要手动进行再次上架。上架期间,用户不可手动下架作品。
核心参数
R1=上架收益
R0=单位小时收益初始为5水晶/小时
T=时长默认为6小时
Buffn=点赞加成Buff随当时点赞总数n而变化
单次上架结算公式:
R1=R0 * T * [100%+Buffn]
Buffn初步设定
当点赞10n≥3Buffn为10%30当n≥10Buffn为20%当n≥30Buffn为30%,此为最高值
点赞押注玩法
一个藏品的奖金,按照每个玩家到场后,该藏品新增的点赞数来分配。
你押注之后,别人用脚投票继续赞它,说明你“看准了”,你理应分得多;如果之后无人问津,说明你看走眼,收益自然低。
核心参数
R2=点赞收益
N = 藏品下架时的总点赞数
i = 你是第几位押注者
Ni = 你押注之后,该藏品又获得的新点赞数
R3=新增一个赞提供多少奖励初始设定为2
个人结算公式:
R2=「1+N-i」*R3
R2最高为100
初始阶段全局测算:
一,核心参数:
U=日活用户
L1=单个用户点赞押注额度初步设定为20/日
W1=用户可以同时上架的作品数初始为2个/次
P1=上架参与度
P2=点赞参与度
二,重要假设:
作品优劣占比优秀20%、一般60%、较差20%
用户点赞倾向优秀80%、一般20%、较差0%
三、部分已知统计
1单日上架作品数W
W=U*W1*24/T*P1
2单日总点赞押注数L
L=U*L1*P2
各类型作品点赞总数
优秀Lg=U*L1*P2*80%
一般Ln=U*L1*P2*20%
较差Lb= U*L1*P2*0%=0
平均各类型作品点赞数
优秀Lg=U*L1*P2*80% / U*P1
一般Ln=U*L1*P2*20% / U*P1
较差Lb= U*L1*P2*0% / U*P1=0
5, 各类型作品产生的平均收益
优秀R2g= Lg*Lg+1/2
一般R2n= Ln*Ln+1/2
较差R2b= Ln*Ln+1/2=0
备注该算法较粗暴暂时如此安排。因为粗算即使优秀作品的平均点赞数离100较远因此用等差数列计算公式来计算。
6各类型作品产生的总收益
优秀R2G=R2g * U * P1 * 20%
一般R2N=R2n * U * P1 * 20%
较差R2B=R2b * U * P1 * 20%
7上架作品产生的总收益
R1U= R0 * T * [100%+BuffN] * 24/T * U * W1 *24/T* P1
BuffN估算全局Buff初步估算为5.05%
8关于BuffN的估算方式
以下是我们平台「上架收益 Buff」全局期望值的测算背景与参数请基于这些前提进行后续测算或调整
一、Buff 阶梯定义(当前版本)
当 5 ≤ n < 10Buff(n) = 10%
当 10 ≤ n < 30Buff(n) = 20%
当 n ≥ 30Buff(n) = 30%(封顶)
n < 5 Buff = 0%
二、作品流量分层(核心假设) 平台作品按品质分为三层,点赞按以下比例分配:
优秀作品:占作品总量 20%,分得总点赞数的 80%
一般作品:占作品总量 60%,分得总点赞数的 20%
较差作品:占作品总量 20%,分得总点赞数的 0%
三、关键参数(基于当前日活与行为设定)
日活用户 U单次可上架 W1=2 个作品,单次时长 T=6 小时
上架参与度 P1=0.3,点赞参与度 P2=0.8,每日点赞额度 L1=20 次
由此推算出每类作品的期望获赞数(泊松分布参数 λ):
优秀作品 λ_a ≈ 26.67
一般作品 λ_b ≈ 2.22
较差作品 λ_c = 0
四、全局 Buff 计算公式 对单类作品Buff 期望值采用差分公式:
E[Buff|λ] = 10%×P(n≥5) + 10%×P(n≥10) + 10%×P(n≥30)
其中 P(n≥k) 服从泊松分布累积概率P(n≥k) = 1 POISSON.DIST(k1, λ, TRUE)
全局加权平均 Buff
E[Buff] = 20%×E[Buff|λ_a] + 60%×E[Buff|λ_b] + 20%×E[Buff|λ_c]
五、当前测算结果
优秀作品期望 Buff ≈ 22.84%P(n≥5)≈100%P(n≥10)≈99.99%P(n≥30)≈28.39%
一般作品期望 Buff ≈ 0.75%P(n≥5)≈7.49%P(n≥10)≈0.01%
较差作品期望 Buff = 0%
全局加权平均 Buff ≈ 5.02%
六、后续任务 如需调整门槛、点赞分配比例或用户行为参数P1/P2/L1请复用上述 λ 计算逻辑与差分公式,重新输出全局 Buff 及分层明细。

122
经济系统计算器.md Normal file
View File

@ -0,0 +1,122 @@
# 经济系统计算器
| Unnamed: 0 | Unnamed: 1 | Unnamed: 2 | Unnamed: 3 |
| --- | --- | --- | --- |
| | 初始阶段 · 经济系统计算器 | | |
| | | | |
| | ▎输入区 · 参数设定(在此填入数值) | | |
| | | | |
| | ■ 基础参数 | | |
| | R0 — 单位小时收益 | 5 | 水晶 / 小时 |
| | T — 上架时长 | 6 | 小时(默认 6 |
| | W1 — 可同时上架作品数 | 2 | 个 / 用户 |
| | L1 — 每日点赞押注额度 | 20 | 次 / 日 |
| | G1 — 每日活动总奖励 | 50 | 水晶 / 天 |
| | R3 — 新增1点赞的奖励 | 3 | 水晶 / 新增1点赞 |
| | | | |
| | ■ 单次上架模拟(仅仅作为个人模拟,不涉及全局数据运算) | | |
| | n — 当前点赞总数 | 12 | 个 |
| | Buff(n) — 点赞加成比例 | 0.2 | 当10n≥5Buffn为10%30当n≥10Buffn为20%当n≥30Buffn为30%,此为最高值 |
| | | | |
| | ■ 点赞押注模拟(仅仅作为个人模拟,不涉及全局数据运算) | | |
| | N — 藏品下架时总点赞数 | 10 | 个 |
| | i — 你是第几位押注者 | 5 | 位1 = 第一个点赞) |
| | | | |
| | ■ 全局测算参数 | | |
| | U — 日活用户 | 10000 | 人 |
| | P1 — 上架玩法参与度 | 0.6 | 小数,如 0.3 = 30% |
| | P2 — 点赞玩法参与度 | 0.7 | 小数,如 0.8 = 80% |
| | P3 — 每日任务完成度自动估算输入P1P2即可 | 0.42 | 根据P1*P2得出 |
| | Buff(N)全局 — 全局Buff估算 | 0.0505 | 小数,如 0.0505 = 5.05% |
| | (如需自动计算 Buff(N),请前往 Sheet2 「Buff泊松计算器」 | | |
| | | | |
| | ▎输出区 · 计算结果(自动计算) | | |
| | | | |
| | ■ 单次上架结算 | | |
| | R1 — 单次上架收益 | 36 | 水晶 |
| | 公式说明 | R1 = R0 × T × [1 + Buff(n)] | |
| | | | |
| | ■ 点赞押注结算 | | |
| | R2 — 个人点赞收益 | 6 | 水晶(封顶 100 |
| | 公式说明 | R2 = 1 + (N i),最高 100 | |
| | | | |
| | ■ 全局测算 | | |
| | 单日上架作品总数 — W | 48000 | 个 / 日 |
| | 单日总点赞押注数 — L | 140000 | 次 / 日 |
| | 优秀类型作品总点赞数 — Lg | 112000 | 次 / 日(占总点赞 80% |
| | 一般类型作品总点赞数 — Ln | 28000 | 次 / 日(占总点赞 20% |
| | 较差类型作品总点赞数 — Lb | 0 | 次 / 日(占总点赞 0% |
| | | | |
| | 优秀作品平均点赞数 — Lg_avg | 18.6666666666667 | 个 / 作品 |
| | 一般作品平均点赞数 — Ln_avg | 4.66666666666667 | 个 / 作品 |
| | 较差作品平均点赞数 — Lb_avg | 0 | 个 / 作品 |
| | | | |
| | 优秀作品平均点赞收益 — R2g | 550.666666666669 | 水晶 / 作品 |
| | 一般作品平均点赞收益 — R2n | 39.6666666666667 | 水晶 / 作品 |
| | 较差作品平均点赞收益 — R2b | 0 | 水晶 / 作品 |
| | 备注:「点赞收益」指所有点赞用户获得的水晶的总和 | | |
| | | | |
| | 优秀作品点赞总收益 — R2G | 1982400.00000001 | 水晶 / 日 |
| | 一般作品点赞总收益 — R2N | 142800 | 水晶 / 日 |
| | 较差作品点赞总收益 — R2B | 0 | 水晶 / 日 |
| | | | |
| | 全站点赞总收益 — R2U | 2125200.00000001 | 水晶 / 日 |
| | 用户平均点赞收益 — R2a | 212.520000000001 | 水晶 / 日 |
| | | | |
| | 上架作品总收益 — R1U | 1512720 | 水晶 / 日 |
| | 用户平均上架收益 — R1a | 151.272 | 水晶 / 日 |
| | 参考值:肝帝一天收益 | 252.12 | 水晶 / 日 |
| | | | |
| | 每日任务总收益 — RgU | 210000 | |
| | | | |
| | 单日平台总产生收益 — RU | 3847920.00000001 | 水晶 / 日 |
| | | | |
| | 单月平台总产生收益 — RUmonth | 115437600 | 水晶 / 月 |
| | | | |
| | 提示:蓝色背景单元格为输入值,修改后会自动重新计算输出区结果。 | | |
# Buff泊松计算器
| Unnamed: 0 | Unnamed: 1 | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 |
| --- | --- | --- | --- | --- |
| | Buff(N) 泊松分布全局期望值计算器 | | | |
| | EXCEL好像不会运算泊松分布这一页忽略 | | | |
| | | | | |
| | ▎输入参数(自动引用自 Sheet1「经济系统计算器」 | | | |
| | U — 日活用户 | 10000 | 人 | |
| | W1 — 可同时上架作品数 | 2 | 个 / 用户 | |
| | T — 上架时长 | 6 | 小时 | |
| | P1 — 上架参与度 | 0.6 | 小数 | |
| | P2 — 点赞参与度 | 0.7 | 小数 | |
| | L1 — 每日点赞押注额度 | 20 | 次 / 日 | |
| | | | | |
| | ▎中间计算 | | | |
| | W — 单日上架作品总数 | 48000 | 个 / 日 | W = U × W1 × (24/T) × P1 |
| | L — 单日总点赞押注数 | 140000 | 次 / 日 | L = U × L1 × P2 |
| | 优秀作品数20% | 9600 | 个 / 日 | |
| | 一般作品数60% | 28800 | 个 / 日 | |
| | 较差作品数20% | 9600 | 个 / 日 | |
| | 优秀类型总点赞80% | 112000 | 次 / 日 | |
| | 一般类型总点赞20% | 28000 | 次 / 日 | |
| | λ_a — 优秀作品泊松参数 | 11.6666666666667 | | λ = 该类型总点赞 / 该类型作品数 |
| | λ_b — 一般作品泊松参数 | 0.972222222222222 | | |
| | λ_c — 较差作品泊松参数 | 0 | | |
| | | | | |
| | ▎泊松累积概率 P(n≥k) = 1 POISSON.DIST(k1, λ, TRUE) | | | |
| | 门槛 k | 优秀作品 P(n≥k) | 一般作品 P(n≥k) | 较差作品 P(n≥k) |
| | k = 5 | 0 | 0 | 0 |
| | k = 10 | 0 | 0 | 0 |
| | k = 30 | 0 | 0 | 0 |
| | | | | |
| | ▎Buff 期望值 E[Buff|λ] = 10%×P(n≥5) + 10%×P(n≥10) + 10%×P(n≥30) | | | |
| | 优秀作品 E[Buff|λ_a] | 0 | 预期 ≈ 22.84% | |
| | 一般作品 E[Buff|λ_b] | 0 | 预期 ≈ 0.75% | |
| | 较差作品 E[Buff|λ_c] | 0 | 0 | |
| | | | | |
| | ▎全局加权平均 Buff | | | |
| | E[Buff] = 20%×E[Buff|λ_a] + 60%×E[Buff|λ_b] + 20%×E[Buff|λ_c] | | | |
| | 全局 Buff(N) | 0 | (预期 ≈ 5.02% | |
| | | | | |
| | 提示:修改 Sheet1 的输入参数后,本页会自动重新计算全局 Buff。 | | | |
| | 说明POISSON.DIST(k1, λ, TRUE) 为 Excel 内置泊松累积分布函数。 | | | |