@optima-chat/optima-agent 0.5.12 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +21 -1
- package/.claude/skills/instagram/SKILL.md +295 -0
- package/.claude/skills/scout/SKILL.md +166 -268
- package/.claude/skills/tiktok/SKILL.md +262 -0
- package/dist/src/ui/headless.d.ts.map +1 -1
- package/dist/src/ui/headless.js +25 -1
- package/dist/src/ui/headless.js.map +1 -1
- package/dist/src/ui/user-role.d.ts +12 -0
- package/dist/src/ui/user-role.d.ts.map +1 -0
- package/dist/src/ui/user-role.js +74 -0
- package/dist/src/ui/user-role.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tiktok
|
|
3
|
+
description: TikTok influencer marketing and trend discovery. Use when user needs to find TikTok creators (TikTok网红/达人/创作者), discover viral products (爆款/热销/带货), analyze trending videos (热门视频/趋势), research hashtags (话题/标签/#), or competitive analysis (竞品/对手分析).
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# TikTok - Influencer Marketing & Trend Discovery
|
|
7
|
+
|
|
8
|
+
## 典型场景
|
|
9
|
+
|
|
10
|
+
当用户说:
|
|
11
|
+
- "帮我找TikTok网红" / "找美妆博主" → `scout tiktok creators`
|
|
12
|
+
- "TikTok上什么产品火" / "最近有什么爆款" → `scout tiktok trending --has-product`
|
|
13
|
+
- "搜索XX相关的视频" → `scout tiktok search-videos "XX"`
|
|
14
|
+
- "这个视频数据怎么样" + URL → `scout tiktok video-insights <url>`
|
|
15
|
+
- "TikTok热门话题" / "有什么热门标签" → `scout tiktok hashtags`
|
|
16
|
+
- "看看XX网红推广什么产品" → `scout tiktok creator-products @username`
|
|
17
|
+
|
|
18
|
+
### 场景决策表
|
|
19
|
+
|
|
20
|
+
| 用户需求 | 推荐命令 | 关键参数 |
|
|
21
|
+
|---------|---------|---------|
|
|
22
|
+
| 找网红合作 | `tiktok creators` | `--follower-count` 筛选粉丝规模,`--sort engagement_rate` 按互动率排序 |
|
|
23
|
+
| 发现爆款产品 | `tiktok trending --has-product` | `--region` 指定市场,`--time-period 7d` 近期趋势 |
|
|
24
|
+
| 研究产品热度 | `tiktok search-videos "产品名" --has-product` | 找带货视频,验证商业化程度 |
|
|
25
|
+
| 分析爆款视频 | `tiktok video-insights <url>` | 获取字幕和评论,分析成功要素 |
|
|
26
|
+
| 内容策略研究 | `tiktok hashtags` | 找热门话题,结合搜索视频看内容格式 |
|
|
27
|
+
| 竞品分析 | `tiktok search-videos "品牌名"` | 找竞品推广视频,分析营销策略 |
|
|
28
|
+
|
|
29
|
+
## 核心命令
|
|
30
|
+
|
|
31
|
+
### 1. 查找创作者 - `scout tiktok creators`
|
|
32
|
+
|
|
33
|
+
**用途**:找网红合作,按粉丝数和互动率筛选
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# 找中等规模高互动网红(最适合合作)
|
|
37
|
+
scout tiktok creators --follower-count "100K-1M" --sort engagement_rate --limit 20
|
|
38
|
+
|
|
39
|
+
# 找大V网红
|
|
40
|
+
scout tiktok creators --follower-count "1M-10M" --country US --limit 10
|
|
41
|
+
|
|
42
|
+
# 按地区和受众筛选
|
|
43
|
+
scout tiktok creators --country GB --audience-country US --limit 20
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
**返回数据**:
|
|
47
|
+
- `username`, `displayName` - 账号信息
|
|
48
|
+
- `followers`, `totalVideos`, `totalLikes` - 规模指标
|
|
49
|
+
- `engagementRate` - **最重要**,衡量粉丝活跃度
|
|
50
|
+
- `avgViews` - 平均播放量
|
|
51
|
+
- `verified` - 认证状态
|
|
52
|
+
- `profileUrl` - 主页链接
|
|
53
|
+
|
|
54
|
+
**关键指标**:
|
|
55
|
+
- **互动率 >5%** = 优质网红(粉丝活跃)
|
|
56
|
+
- **互动率 2-5%** = 正常水平
|
|
57
|
+
- **互动率 <2%** = 粉丝质量差或僵尸粉
|
|
58
|
+
- **avgViews / followers > 1** = 内容质量好,算法推荐多
|
|
59
|
+
|
|
60
|
+
### 2. 热门视频 - `scout tiktok trending`
|
|
61
|
+
|
|
62
|
+
**用途**:发现正在火的产品和内容
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# 找美国近7天的热门带货视频
|
|
66
|
+
scout tiktok trending --region US --time-period 7d --has-product --limit 20
|
|
67
|
+
|
|
68
|
+
# 找英国24小时内爆火内容
|
|
69
|
+
scout tiktok trending --region GB --time-period 24h --limit 30
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**返回数据**:
|
|
73
|
+
- `views`, `likes`, `comments`, `shares` - 互动数据
|
|
74
|
+
- `productUrl` - 产品链接(如果有)
|
|
75
|
+
- `description` - 视频文案
|
|
76
|
+
- `creator` - 创作者信息
|
|
77
|
+
|
|
78
|
+
**分析逻辑**:
|
|
79
|
+
- **多个视频推同一产品** = 趋势信号强
|
|
80
|
+
- **评论问"哪里买"** = 购买意向高
|
|
81
|
+
- **likes/views >5%** = 内容质量好
|
|
82
|
+
- **有 productUrl** = 已商业化,市场验证
|
|
83
|
+
|
|
84
|
+
### 3. 搜索视频 - `scout tiktok search-videos`
|
|
85
|
+
|
|
86
|
+
**用途**:研究特定产品/话题的视频
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# 找咖啡机相关的所有视频
|
|
90
|
+
scout tiktok search-videos "coffee maker" --limit 30
|
|
91
|
+
|
|
92
|
+
# 只找带货视频(验证商业化)
|
|
93
|
+
scout tiktok search-videos "coffee maker" --has-product --limit 20
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**--has-product 参数的意义**:
|
|
97
|
+
- 有产品链接 = 已经有人在卖 = 市场验证
|
|
98
|
+
- 如果搜到很多带货视频 = 竞争激烈
|
|
99
|
+
- 如果只有几个带货视频 = 机会窗口
|
|
100
|
+
|
|
101
|
+
### 4. 视频深度分析 - `scout tiktok video-insights`
|
|
102
|
+
|
|
103
|
+
**用途**:分析爆款视频的成功要素
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
scout tiktok video-insights "https://tiktok.com/@user/video/123456789"
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
**返回数据**:
|
|
110
|
+
- `video` - 完整数据(views, likes, comments, shares)
|
|
111
|
+
- `transcript` - **关键**,视频字幕,分析 Hook 和文案
|
|
112
|
+
- `comments` - 用户评论,提取情感和购买意向
|
|
113
|
+
|
|
114
|
+
**分析重点**:
|
|
115
|
+
1. **Transcript 前 3 秒** - 开头 Hook 是什么
|
|
116
|
+
2. **Comments 里的高频词** - "where to buy", "I need this" = 强购买意向
|
|
117
|
+
3. **Likes/Views 比例** - >5% 是优秀内容
|
|
118
|
+
4. **Shares** - 高分享 = 传播性强
|
|
119
|
+
|
|
120
|
+
### 5. 热门话题 - `scout tiktok hashtags`
|
|
121
|
+
|
|
122
|
+
**用途**:找热门话题,优化内容策略
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
scout tiktok hashtags --region US --limit 30
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**返回数据**:
|
|
129
|
+
- `name` - 话题名称
|
|
130
|
+
- `views` - 浏览量(>10B = 超级热门)
|
|
131
|
+
- `trending` - 是否正在趋势中
|
|
132
|
+
|
|
133
|
+
**使用建议**:
|
|
134
|
+
- 浏览量 >10B = 主流话题,竞争激烈
|
|
135
|
+
- 浏览量 1-10B = 细分话题,精准流量
|
|
136
|
+
- `trending: true` = 正在爆发,时效性强
|
|
137
|
+
|
|
138
|
+
### 6. 创作者产品提取 - `scout tiktok creator-products`
|
|
139
|
+
|
|
140
|
+
**用途**:看某个网红推广什么产品
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
scout tiktok creator-products @username --sort popular --limit 30
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**返回数据**:
|
|
147
|
+
- `products` - 产品URL列表
|
|
148
|
+
- `fromVideo` - 产品出现在哪个视频,视频表现如何
|
|
149
|
+
|
|
150
|
+
**分析用途**:
|
|
151
|
+
1. **找网红前** - 看他推广过什么,判断品类契合度
|
|
152
|
+
2. **竞品分析** - 看竞品找了哪些网红
|
|
153
|
+
3. **产品验证** - 如果多个网红都推同一产品 = 供应商可靠或产品好卖
|
|
154
|
+
|
|
155
|
+
## 工作流程
|
|
156
|
+
|
|
157
|
+
### 流程1:发现爆款产品 → 验证 → 采购
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
# 1. 发现趋势产品
|
|
161
|
+
scout tiktok trending --region US --has-product --time-period 7d --limit 20
|
|
162
|
+
|
|
163
|
+
# 2. 深入分析爆款视频(选播放量最高的)
|
|
164
|
+
scout tiktok video-insights "https://tiktok.com/video/xxx"
|
|
165
|
+
# 看评论是否有强购买意向,transcript 看卖点
|
|
166
|
+
|
|
167
|
+
# 3. 验证 Amazon 市场(切换到 scout skill)
|
|
168
|
+
scout search "product name" --limit 10
|
|
169
|
+
# 看市场规模、竞争、价格区间
|
|
170
|
+
|
|
171
|
+
# 4. 找 1688 供应商(使用 scout 的 supplier-search 命令)
|
|
172
|
+
scout supplier-search "产品关键词" --limit 10
|
|
173
|
+
# 计算利润空间
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 流程2:网红营销选号
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
# 1. 找目标粉丝规模的网红
|
|
180
|
+
scout tiktok creators --follower-count "100K-1M" --sort engagement_rate --limit 20
|
|
181
|
+
|
|
182
|
+
# 2. 看他们推广过什么(判断品类契合度)
|
|
183
|
+
scout tiktok creator-products @top_creator_1 --limit 30
|
|
184
|
+
scout tiktok creator-products @top_creator_2 --limit 30
|
|
185
|
+
|
|
186
|
+
# 3. 分析他们的爆款视频(学习内容风格)
|
|
187
|
+
scout tiktok video-insights "https://tiktok.com/video/xxx"
|
|
188
|
+
|
|
189
|
+
# 4. 建立候选名单,联系合作
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### 流程3:竞品分析
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# 1. 搜索竞品品牌名
|
|
196
|
+
scout tiktok search-videos "competitor brand" --limit 30
|
|
197
|
+
|
|
198
|
+
# 2. 找到他们的推广视频,分析内容策略
|
|
199
|
+
scout tiktok video-insights "竞品视频URL"
|
|
200
|
+
|
|
201
|
+
# 3. 提取他们合作的网红
|
|
202
|
+
# 从搜索结果中记录 creator usernames
|
|
203
|
+
|
|
204
|
+
# 4. 分析他们的网红选择策略
|
|
205
|
+
scout tiktok creator-products @competitor_influencer
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
## 数据解读关键
|
|
209
|
+
|
|
210
|
+
### 网红质量判断
|
|
211
|
+
|
|
212
|
+
| 指标 | 优秀 | 良好 | 一般 | 差 |
|
|
213
|
+
|------|------|------|------|-----|
|
|
214
|
+
| 互动率 | >8% | 5-8% | 2-5% | <2% |
|
|
215
|
+
| avgViews/followers | >2 | 1-2 | 0.5-1 | <0.5 |
|
|
216
|
+
| 验证状态 | ✓ | - | - | - |
|
|
217
|
+
|
|
218
|
+
**决策**:
|
|
219
|
+
- 互动率最重要,>5% 优先考虑
|
|
220
|
+
- 粉丝数不是越多越好,100K-1M 性价比最高
|
|
221
|
+
- 看 totalVideos,少于 50 可能是新号或不稳定
|
|
222
|
+
|
|
223
|
+
### 视频表现判断
|
|
224
|
+
|
|
225
|
+
**互动率**:
|
|
226
|
+
- Likes/Views >5% = 优秀
|
|
227
|
+
- Likes/Views 3-5% = 良好
|
|
228
|
+
- Likes/Views <3% = 一般
|
|
229
|
+
|
|
230
|
+
**评论率**:
|
|
231
|
+
- Comments/Views >0.5% = 高互动
|
|
232
|
+
- Comments/Views <0.2% = 低互动
|
|
233
|
+
|
|
234
|
+
**购买意向信号(从 comments)**:
|
|
235
|
+
- "Where to buy" / "Link?" = 强购买意向
|
|
236
|
+
- "I need this" / "Ordering now" = 已转化
|
|
237
|
+
- "@朋友" 标记 = 传播潜力
|
|
238
|
+
|
|
239
|
+
### 产品趋势判断
|
|
240
|
+
|
|
241
|
+
**强趋势信号**:
|
|
242
|
+
- ✅ trending 中有 3+ 个视频推同一产品
|
|
243
|
+
- ✅ 搜索该产品,有 10+ 个带货视频
|
|
244
|
+
- ✅ 评论区高频询问购买链接
|
|
245
|
+
- ✅ Amazon 有对应产品且评论数 >100
|
|
246
|
+
|
|
247
|
+
**弱信号/风险**:
|
|
248
|
+
- ⚠️ 只有 1-2 个视频,可能是偶然
|
|
249
|
+
- ⚠️ 评论区负面反馈多
|
|
250
|
+
- ⚠️ Amazon 没有对应产品(难转化)
|
|
251
|
+
- ⚠️ 视频播放高但无产品链接(纯内容向,不好变现)
|
|
252
|
+
|
|
253
|
+
## 重要提醒
|
|
254
|
+
|
|
255
|
+
1. **Region 很重要**:美国和英国的趋势完全不同,务必指定 `--region` 匹配目标市场
|
|
256
|
+
2. **Time Period 选择**:
|
|
257
|
+
- `24h` - 抓最新趋势,但可能是昙花一现
|
|
258
|
+
- `7d` - 稳定趋势,最推荐
|
|
259
|
+
- `30d` - 长期趋势,但可能已经过时
|
|
260
|
+
3. **--has-product 筛选**:找产品机会必须加这个参数,否则很多纯内容向视频
|
|
261
|
+
4. **Engagement Rate > Follower Count**:小网红高互动比大V低互动效果好
|
|
262
|
+
5. **跨 Skill 联动**:TikTok 发现趋势 → scout 验证市场 → scout supplier-search 找供应商,这是完整链路
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAUV,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAG7B;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAylB/E;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD3G"}
|
package/dist/src/ui/headless.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createInterface } from "readline";
|
|
2
2
|
import { ConversationManager } from "./conversation-manager.js";
|
|
3
|
+
import { getUserRole } from "./user-role.js";
|
|
3
4
|
/**
|
|
4
5
|
* Headless 模式 - 参数化版本
|
|
5
6
|
*
|
|
@@ -16,8 +17,31 @@ export async function startHeadlessMode(options) {
|
|
|
16
17
|
function generateRequestId() {
|
|
17
18
|
return `ask_question_${Date.now()}_${++requestIdCounter}`;
|
|
18
19
|
}
|
|
19
|
-
// canUseTool
|
|
20
|
+
// canUseTool 回调:处理权限检查和 AskUserQuestion 工具
|
|
20
21
|
const canUseTool = async (toolName, input, conversationId) => {
|
|
22
|
+
// 读取用户角色(使用缓存,高性能)
|
|
23
|
+
const userRole = getUserRole();
|
|
24
|
+
const isMerchant = userRole === 'merchant' || userRole === 'admin';
|
|
25
|
+
// 检查 Bash 工具(拦截商户 CLI)
|
|
26
|
+
if (toolName === "Bash" && !isMerchant) {
|
|
27
|
+
const command = input.command || '';
|
|
28
|
+
// 只拦截 commerce 和 bi-cli 两个 CLI
|
|
29
|
+
const merchantCLIRegex = /\b(commerce|bi-cli)\b/;
|
|
30
|
+
if (merchantCLIRegex.test(command)) {
|
|
31
|
+
return {
|
|
32
|
+
behavior: "deny",
|
|
33
|
+
message: `抱歉,商铺管理功能需要先创建商铺。
|
|
34
|
+
|
|
35
|
+
您可以点击左侧导航栏的 "Shop" 图标,按照引导创建您的商铺。
|
|
36
|
+
创建完成后,我就可以帮您管理商品、订单、评论、库存等功能了!
|
|
37
|
+
|
|
38
|
+
目前您可以使用:
|
|
39
|
+
- 图像生成(comfy 工具)
|
|
40
|
+
- Amazon 商品调研(scout 工具)
|
|
41
|
+
- 视频处理(ffmpeg 工具)`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
21
45
|
if (toolName === "AskUserQuestion") {
|
|
22
46
|
// 生成唯一 request_id
|
|
23
47
|
const requestId = generateRequestId();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headless.js","sourceRoot":"","sources":["../../../src/ui/headless.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取当前用户角色
|
|
3
|
+
* 数据源:~/.optima/token.json(使用 60 秒缓存)
|
|
4
|
+
*
|
|
5
|
+
* @returns 'customer' | 'merchant' | 'admin'
|
|
6
|
+
*/
|
|
7
|
+
export declare function getUserRole(): string;
|
|
8
|
+
/**
|
|
9
|
+
* 清除角色缓存(用于测试)
|
|
10
|
+
*/
|
|
11
|
+
export declare function clearUserRoleCache(): void;
|
|
12
|
+
//# sourceMappingURL=user-role.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-role.d.ts","sourceRoot":"","sources":["../../../src/ui/user-role.ts"],"names":[],"mappings":"AAWA;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAmDpC;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAGzC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "fs";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { homedir } from "os";
|
|
4
|
+
const TOKEN_FILE = join(homedir(), '.optima', 'token.json');
|
|
5
|
+
// 角色缓存
|
|
6
|
+
let cachedUserRole = null;
|
|
7
|
+
let cacheTimestamp = 0;
|
|
8
|
+
const CACHE_TTL = 60000; // 60秒缓存
|
|
9
|
+
/**
|
|
10
|
+
* 获取当前用户角色
|
|
11
|
+
* 数据源:~/.optima/token.json(使用 60 秒缓存)
|
|
12
|
+
*
|
|
13
|
+
* @returns 'customer' | 'merchant' | 'admin'
|
|
14
|
+
*/
|
|
15
|
+
export function getUserRole() {
|
|
16
|
+
const now = Date.now();
|
|
17
|
+
// 使用缓存(60秒内有效)
|
|
18
|
+
if (cachedUserRole && (now - cacheTimestamp) < CACHE_TTL) {
|
|
19
|
+
return cachedUserRole;
|
|
20
|
+
}
|
|
21
|
+
// 读取 token.json
|
|
22
|
+
try {
|
|
23
|
+
if (!existsSync(TOKEN_FILE)) {
|
|
24
|
+
console.warn('[getUserRole] token.json not found, defaulting to customer');
|
|
25
|
+
return cacheAndReturn('customer');
|
|
26
|
+
}
|
|
27
|
+
const content = readFileSync(TOKEN_FILE, 'utf-8');
|
|
28
|
+
if (!content || content.trim() === '') {
|
|
29
|
+
console.warn('[getUserRole] token.json is empty, defaulting to customer');
|
|
30
|
+
return cacheAndReturn('customer');
|
|
31
|
+
}
|
|
32
|
+
let token;
|
|
33
|
+
try {
|
|
34
|
+
token = JSON.parse(content);
|
|
35
|
+
}
|
|
36
|
+
catch (parseError) {
|
|
37
|
+
console.error('[getUserRole] Failed to parse token.json:', parseError);
|
|
38
|
+
return cacheAndReturn('customer');
|
|
39
|
+
}
|
|
40
|
+
const role = token?.user?.role;
|
|
41
|
+
// 类型验证
|
|
42
|
+
if (typeof role !== 'string') {
|
|
43
|
+
console.warn('[getUserRole] Invalid role type:', typeof role);
|
|
44
|
+
return cacheAndReturn('customer');
|
|
45
|
+
}
|
|
46
|
+
// 白名单验证
|
|
47
|
+
const validRoles = ['customer', 'merchant', 'admin'];
|
|
48
|
+
if (!validRoles.includes(role)) {
|
|
49
|
+
console.warn('[getUserRole] Invalid role value:', role);
|
|
50
|
+
return cacheAndReturn('customer');
|
|
51
|
+
}
|
|
52
|
+
return cacheAndReturn(role);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
console.error('[getUserRole] Unexpected error:', error);
|
|
56
|
+
return cacheAndReturn('customer');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* 缓存角色并返回
|
|
61
|
+
*/
|
|
62
|
+
function cacheAndReturn(role) {
|
|
63
|
+
cachedUserRole = role;
|
|
64
|
+
cacheTimestamp = Date.now();
|
|
65
|
+
return role;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 清除角色缓存(用于测试)
|
|
69
|
+
*/
|
|
70
|
+
export function clearUserRoleCache() {
|
|
71
|
+
cachedUserRole = null;
|
|
72
|
+
cacheTimestamp = 0;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=user-role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-role.js","sourceRoot":"","sources":["../../../src/ui/user-role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;AAE5D,OAAO;AACP,IAAI,cAAc,GAAkB,IAAI,CAAC;AACzC,IAAI,cAAc,GAAW,CAAC,CAAC;AAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,QAAQ;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,eAAe;IACf,IAAI,cAAc,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,SAAS,EAAE,CAAC;QACzD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gBAAgB;IAChB,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YAC3E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtC,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;YAC1E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,UAAU,CAAC,CAAC;YACvE,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QAE/B,OAAO;QACP,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,OAAO,IAAI,CAAC,CAAC;YAC9D,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,QAAQ;QACR,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;IAE9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,IAAY;IAClC,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAG,CAAC,CAAC;AACrB,CAAC"}
|