Compare commits
2 Commits
7994e19cda
...
10c17ddff3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10c17ddff3 | ||
|
|
fac8888dc0 |
@@ -1,241 +1,13 @@
|
||||
---
|
||||
alwaysApply: true
|
||||
---
|
||||
要求:
|
||||
|
||||
{
|
||||
对话完成后,告诉我你做了什么、完成整个项目的百分比、以及下一步做什么
|
||||
打开新的网站的时候,先关掉上一个进程端口和接口
|
||||
每一步思考和运营脚本后告诉我,你准备怎么做,我需要你按照我的要求进行
|
||||
每次进度汇报内容都更新到"10、项目管理/项目落地推进表.md"
|
||||
在项目开发过程中,请按照以下规范进行进度管理和功能开发:
|
||||
# 《一场soul的创业实验》第9章写作规则
|
||||
|
||||
1. 进度汇报要求:
|
||||
- 每日更新项目推进表,明确标注已完成部分
|
||||
- 详细记录当前开发进度(具体到功能模块)
|
||||
- 提供已完成工作的百分比(精确到5%的进度区间)
|
||||
第9章「我在Soul上亲访的赚钱案例」的单场文章,**写作与上传统一以卡若AI的 Soul创业实验 Skill 为准**。
|
||||
|
||||
2. 开发规范:
|
||||
- 严格按照项目推进表制定的功能模块顺序进行开发
|
||||
- 每个功能模块开发完成后需进行单元测试
|
||||
- 提交代码时需附带进度更新说明
|
||||
- **Skill 路径**:`卡若AI/02_卡人(水)/水桥_平台对接/Soul创业实验/`
|
||||
- **写作**:主入口 `SKILL.md` → 子类一「写作」;细则见 `写作/写作规范.md`
|
||||
- **上传**:子类二「上传」;配置与命令见 `上传/README.md`
|
||||
|
||||
3. 进度反馈格式:
|
||||
- 模块名称:${模块名称}
|
||||
- 当前状态:开发中/已完成/待测试
|
||||
- 完成百分比:${百分比}%
|
||||
- 预计完成时间:${日期}
|
||||
- 存在问题:${问题描述}
|
||||
|
||||
4. 质量要求:
|
||||
- 确保各功能模块按时交付
|
||||
- 保持代码质量符合项目规范
|
||||
- 及时汇报开发障碍和风险
|
||||
|
||||
请按照以上规范执行项目开发工作,并保持推进表(/Users/karuo/Documents/个人/2、我写的书/《一场soul的创业实验》/开发文档/10、项目管理/项目落地推进表.md)的实时更新。
|
||||
|
||||
每一次运行完成,就启动页面
|
||||
我是“卡若”,每个文章最多提一次,不要重复提到我名字
|
||||
|
||||
不要少于2000-3000个字,如果是多个场景,需要切换
|
||||
|
||||
需要提到有具体的数值来验证,数值以聊天内提到的为主,不要自己乱猜
|
||||
|
||||
对话中表达语言整理清晰
|
||||
|
||||
一切以真实的聊天内容出现的文字为基础,不要自己乱改
|
||||
|
||||
(具体事件/场景/对话切入)
|
||||
|
||||
|
||||
|
||||
(正文分段,每段一个主题,时间线或逻辑线推进,穿插细节、对话、心理描写和观点分析)
|
||||
|
||||
(每一句话后面空一行,每个自然段之间空一行)
|
||||
|
||||
}
|
||||
|
||||
|
||||
github地址:https://github.com/fnvtk/Mycontent/tree/soul-content (上传仅用这个地址)
|
||||
|
||||
|
||||
写 开始扩展,只根据这个对话以及我上传给你的文档内容,贴近主题开始写
|
||||
|
||||
继续
|
||||
|
||||
以真实的聊天内容为基础,写这本书,写过的内容就不要重复
|
||||
|
||||
|
||||
每个小节字数在3000-5000个字
|
||||
|
||||
内容从文件内并且和主题一定相关性要非常高,如何发现匹配度不高直接改小节名称和目录
|
||||
|
||||
每小节的时间都以文档的时间为主
|
||||
|
||||
|
||||
对项目分享的主题围绕这几个问题展开,提问的形式非常隐晦的方式
|
||||
{
|
||||
5、每个月营收多少?
|
||||
1、目标人群?
|
||||
2、你的生意逻辑是什么?
|
||||
3、你觉得你的核心是什么?
|
||||
4、进群可以联系管理?
|
||||
}
|
||||
|
||||
|
||||
|
||||
写 开始扩展,只根据这个对话以及我上传给你的文档内容,贴近主题开始写
|
||||
|
||||
继续
|
||||
|
||||
以真实的聊天内容为基础,写这本书,写过的内容就不要重复
|
||||
|
||||
|
||||
每个小节字数在3000-5000个字
|
||||
|
||||
内容从文件内并且和主题一定相关性要非常高,如何发现匹配度不高直接改小节名称和目录
|
||||
|
||||
每小节的时间都以文档的时间为主
|
||||
|
||||
|
||||
对项目分享的主题围绕这几个问题展开,提问的形式非常隐晦的方式
|
||||
{
|
||||
5、每个月营收多少?
|
||||
1、目标人群?
|
||||
2、你的生意逻辑是什么?
|
||||
3、你觉得你的核心是什么?
|
||||
4、进群可以联系管理?
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
### 二、开篇设计
|
||||
|
||||
- 以一句比较世俗激烈有冲突的观点开始
|
||||
|
||||
- 以具体事件、场景、对话或回忆切入。
|
||||
|
||||
- 语言简洁,迅速带入情境。
|
||||
|
||||
- 可用“具体日期和时间”“昨晚,某某联系我”等生活化表达。
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
### 三、内容结构
|
||||
|
||||
- **时间线/事件线推进**:按时间或事件发展顺序推进,逻辑清晰。
|
||||
|
||||
- **分段分主题**:每段聚焦一个小主题,段落之间自然过渡,小主题比较隐藏一些,不要列出来,作为段头
|
||||
|
||||
- **细节描写**:大量生活细节、动作、对话、心理活动穿插其中。
|
||||
|
||||
- **观点穿插**:在叙述中随时插入个人观点、分析和总结。
|
||||
|
||||
- **多用对话**:增强真实感和代入感。
|
||||
|
||||
- **情感递进**:情绪自然流动,时有自省、感慨、幽默或犀利。
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
### 四、写作技巧
|
||||
|
||||
- **第一人称视角**:多用“我”,增强亲历感。
|
||||
|
||||
- **短句+空行**:每一句话后面空一行,段落之间也空行,增强可读性和节奏感。
|
||||
|
||||
- **口语化表达**:用词接地气,贴近生活。
|
||||
|
||||
- **对比反转**:善用对比、反转,突出矛盾和冲突。
|
||||
|
||||
- **穿插议论**:故事与议论交替,观点自然流露。
|
||||
|
||||
- **生活化细节**:如吃饭、出行、聊天、买卖、日常琐事等,增强真实感。
|
||||
|
||||
- **自嘲/幽默**:适当自嘲,增加亲和力。
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
### 五、情感调动
|
||||
|
||||
- **真诚自然**:情感表达真实,不做作。
|
||||
|
||||
- **共鸣点**:挖掘普遍情感或经历,引发共鸣。
|
||||
|
||||
- **情绪递进**:情感有递进和高潮,结尾有余韵。
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
### 六、结尾处理
|
||||
|
||||
- **总结升华**:结尾总结观点,升华主题。
|
||||
|
||||
- **留有余味**:可留悬念、开放式结尾,激发思考。
|
||||
|
||||
- **行动号召/**:常以“这本书的真实目的。
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
### 七、格式规范
|
||||
|
||||
- 每一句话后面空一行。
|
||||
|
||||
- 每个自然段之间空一行。
|
||||
|
||||
- 对话、心理活动、细节描写、观点分析都要分行,避免大段文字堆积。
|
||||
|
||||
- 结尾处常卡若个人特色的字样。
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
## 快速提示词清单
|
||||
|
||||
|
||||
|
||||
- 真实场景
|
||||
|
||||
- 生活细节
|
||||
|
||||
- 对话穿插
|
||||
|
||||
- 观点随写
|
||||
|
||||
- 情感递进
|
||||
|
||||
- 短句分行
|
||||
|
||||
- 空行分段
|
||||
|
||||
- 结尾个人特色
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
每小节的时间都以文档的时间为主
|
||||
写第 X 场文章时,请按 Soul创业实验 Skill 及 `写作/写作规范.md` 执行。
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
MONGODB_URI=mongodb://cdb_outerroot:Zhiqun1984@56b4c23f6853c.gz.cdb.myqcloud.com:14413/my_database\n\nALIPAY_ACCESS_KEY_ID=LTAI5t9zkiWmFtHG8qmtdysW\nALIPAY_ACCESS_KEY_SECRET=xxjXnZGLNvA2zDkj0aEBSQm3XZAaro\n\nTENCENT_APP_ID=1251077262\nTENCENT_SECRET=AKIDjc6yO3nPeOuK2OKsJPBBVbTiiz0aPNHl\n\n# Add your Stripe, PayPal, Web3 keys here\nSTRIPE_SECRET_KEY=your_stripe_key\nPAYPAL_CLIENT_ID=your_paypal_client_id\nPAYPAL_CLIENT_SECRET=your_paypal_client_secret\nUSDT_WALLET_ADDRESS=your_usdt_wallet
|
||||
149
2026每日派对干货/第102场|今年第一个红包你发给谁.md
Normal file
149
2026每日派对干货/第102场|今年第一个红包你发给谁.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 第102场|今年第一个红包你发给谁
|
||||
|
||||
|
||||
今年你第一个红包发给谁,比发多少重要。
|
||||
|
||||
|
||||
2026 年 2 月 17 日,大年初一,早上 8:01。
|
||||
|
||||
|
||||
第 102 场。
|
||||
|
||||
|
||||
人不多,过年嘛,能来的都是真在听的。
|
||||
|
||||
|
||||
主题临时改的:今年过年,你第一个红包发给谁?
|
||||
|
||||
|
||||
我发了三个。
|
||||
|
||||
不是只发三个红包,是「第一个」只发给这三个人,后面的该咋发咋发。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
第一个发给一个亏过一个亿的哥们。
|
||||
|
||||
|
||||
他 13 年就做收银机、做美团那种模式,太早,市场没起来,嘎了,现在还在还债。
|
||||
|
||||
|
||||
年纪比我大,认知高,我跟他泡茶聊天学到不少,人脉也从他那儿来的。
|
||||
|
||||
|
||||
他找我有事我直接帮。
|
||||
|
||||
|
||||
我要的就是他那种视角,我自己看不到的。
|
||||
|
||||
|
||||
他也不会白要,看事情的角度、踩过的坑都会在聊天里带出来,这些比单次帮忙值钱。
|
||||
|
||||
|
||||
派对房里有人问那你图啥,我说你帮人的时候别老想自己,想多了反而卡住,不想,回馈自己会来。
|
||||
|
||||
|
||||
这种人叫引路人,一个就够了,多了你也顾不过来。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
第二个,樊登读书福建的负责人。
|
||||
|
||||
|
||||
我那会儿在厦门搞抖音矩阵引流本地创业者,做出点数据,他们注意到了。
|
||||
|
||||
|
||||
聊的时候他不看你多能吹,就看你能不能解决问题、能不能复制、能不能有数。
|
||||
|
||||
|
||||
后来合作上了,别人一听「给樊登做过」就认。
|
||||
|
||||
|
||||
他还有一点:我哪儿做错了敢直接说,这事可能不对。
|
||||
|
||||
|
||||
人生只做一件最重要的事,也是他老敲我的。
|
||||
|
||||
|
||||
身边没人敢说你的时候,容易跑偏。
|
||||
|
||||
|
||||
有个皮鞭型的贵人能少走很多弯路,皮鞭型的不是让你舒服,是让你少踩坑,这种人也不多,有一个就够。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
第三个,我老婆。
|
||||
|
||||
|
||||
钱她管,公司跟负责人对接也是她,生活上的事我都不太行,她兜着,没她我早崩了。
|
||||
|
||||
|
||||
她不懂我代码和方案细节,但她懂我这个人。
|
||||
|
||||
|
||||
我焦虑、身体不好情绪差的时候,都是她兜着,还会说「有人就有钱,身体第一,别的慢慢来」。
|
||||
|
||||
|
||||
我俩也有吵,有三个卡点摊开讲过,约好每人说三件,不憋着。
|
||||
|
||||
|
||||
她习惯先认错,然后找地方把卡点列出来讲清楚。
|
||||
|
||||
|
||||
关系里对错放后面,先别内耗。
|
||||
|
||||
|
||||
创业的人容易忽略身边人,其实后盾不稳,前面冲再猛也白搭。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
红包这事儿,多大不重要,微信 200 封顶就是让你别压力大,意思到了就行,9 块 9 也行。
|
||||
|
||||
|
||||
心意型就是过节图个气氛,大小无所谓。
|
||||
|
||||
|
||||
建联型是礼尚往来,保持联系就行。
|
||||
|
||||
|
||||
交易型是一收就等于答应后面要办事、要场地要人要资源的,这种要慎收,收了就得办,不办关系更僵。
|
||||
|
||||
|
||||
一收就等于答应他后面要场地要人要资源的,我基本不收,七成没收。
|
||||
|
||||
|
||||
谁离你近先顾谁:自己、伴侣、小孩。
|
||||
|
||||
|
||||
不是自私,是你自己先垮了,谁都顾不上。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
102 场下来,Soul 上机会在能接触到一线、能说真心话、多几个视角。
|
||||
|
||||
|
||||
第一波十来个人挺好稳的,每天把纪要丢群里、做做总结,有用。
|
||||
|
||||
|
||||
不订阅群主你看不到派对,很多人说找不到我,就是没点订阅。
|
||||
|
||||
|
||||
想在这上面捞个大项目比较难,但能合作的小事、靠谱的人是有,总结得做,每场聊了什么留下来大家能复盘能接着连。
|
||||
|
||||
|
||||
发完红包他们回你的时候顺带聊两句,比群发一句新年快乐有感觉。
|
||||
|
||||
|
||||
今年你第一个红包发给谁?
|
||||
|
||||
想聊这个的,来派对房就行,每天纪要发群,每场都会总结一下。
|
||||
162
2026每日派对干货/第103场|号商、某客与炸房.md
Normal file
162
2026每日派对干货/第103场|号商、某客与炸房.md
Normal file
@@ -0,0 +1,162 @@
|
||||
# 第103场|号商、某客与炸房
|
||||
|
||||
|
||||
有些钱你看到了,差一层窗户纸,人家不捅破你就拿不到。
|
||||
|
||||
|
||||
2026 年 2 月 18 日,初二,早上 7:17。
|
||||
|
||||
|
||||
第 103 场,155 分钟;
|
||||
|
||||
场观 46749,进房 545 人。
|
||||
|
||||
|
||||
有人上麦问今年有啥规划,他说今年想去做号商,做社交 APP 的号,Soul、墨、QQ 这种。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
他说他有流量,有注册的玩法,几毛钱一个号能产出来,卖十几块,利润翻好几倍。
|
||||
|
||||
|
||||
渠道也有,买号的人无限要,有多少吃多少。
|
||||
|
||||
|
||||
卡在中间一步:号注册完了,怎么存、怎么给买家登上去?
|
||||
|
||||
|
||||
只有一次接验证码的机会,注册用掉了,后面买家要登、要换绑都要二次验证,他这条链路没有。
|
||||
|
||||
|
||||
朋友那儿已经跑通了,一天几万号出去,去年十月做到现在利润过两千个了,但这一步不告诉他。
|
||||
|
||||
|
||||
我说你假装客户去买一个,走一遍流程不就知道了。
|
||||
|
||||
|
||||
他说人家都是几万几万地出,不单个卖。
|
||||
|
||||
|
||||
那就从终端找。
|
||||
|
||||
谁在买?
|
||||
|
||||
淘宝、闲鱼、百度搜一下,总有零散卖的,买一个回来测,看他是怎么把号给你的。
|
||||
|
||||
|
||||
他说零散买的那种是换绑好了再卖的,跟他这种批量生产的不一样。
|
||||
|
||||
|
||||
他这种是几百台手机 24 小时注册,产出来的号没有二次接码,就卡在怎么存、怎么出。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
我说你号存起来无非几种。
|
||||
|
||||
|
||||
要么云手机,号一直在云上,卖的时候卖云手机账号密码;
|
||||
|
||||
要么真实手机,号一直在那批手机里,谁要就那批手机里登着用。
|
||||
|
||||
|
||||
深圳有个朋友,十五万台手机,root 好、接口打通,号一封就自动补,大主体直接对接收号的人,没有二次登录这事,消耗多少结算多少。
|
||||
|
||||
|
||||
你朋友有可能就是给这种大机房供货的。
|
||||
|
||||
|
||||
你如果能对接到这种,注册完直接进他机房、登在他手机矩阵上,你只负责产号,他负责登和补,就没有二次验证这一环。
|
||||
|
||||
|
||||
他说云手机别人买过去用起来很卡,没法用。
|
||||
|
||||
真实手机寄过去的话,一个号才十几块,不可能连手机一起卖。
|
||||
|
||||
|
||||
我说那买这些号的人都是干啥的?
|
||||
|
||||
灰产多,消耗量巨大,一个号用一两天就没了再买。
|
||||
|
||||
|
||||
他们不一定非要「拿到手里一个号」,他们要的是「能用」。
|
||||
|
||||
|
||||
你要是能对接那种机房,号一直在机房登着,他们用接口调你的号,封了自动补,你按消耗结算,就不存在把号「交给」谁的问题。
|
||||
|
||||
|
||||
他说懂了,链路可以往这个方向找。
|
||||
|
||||
|
||||
我说你先把自己这一段做好,注册、流量、产号你都有了,差中间就找两三家能解决登号、能接你量的人,有机会跑通。
|
||||
|
||||
|
||||
但有些钱就是人家不会卖给你,打钱也没用,只能自己摸,从终端反推,或者等机缘碰到懂又愿意合作的人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
后面聊到别的事,房炸了。
|
||||
|
||||
|
||||
聊到真正挣钱、能放大的东西,平台就容易掐,一讲就炸,只能讲点普通的、大众的。
|
||||
|
||||
|
||||
有人问能不能用别的词替代一下,比如某客。
|
||||
|
||||
我说某客就某客吧。
|
||||
|
||||
|
||||
真正挣钱的某客,不是去黑什么,是把网上闲置的资源变现。
|
||||
|
||||
|
||||
电脑四大件,内存、硬盘、带宽、算力,很多人不知道能变现,某客就扫描、植入,把你的机器变成挂机的,带宽做 CDN,算力做节点,一台机器一年能多出几百上千块。
|
||||
|
||||
|
||||
人家干了二十几年,手上有几千台,躺着收。
|
||||
|
||||
|
||||
现在有 AI,自动扫、自动分析漏洞,翻倍了。
|
||||
|
||||
这种才是真正用 AI 挣钱的人,一招吃几十年。
|
||||
|
||||
|
||||
普通人就自己挂 PCDN、挂节点,宽带费电费能省回来,等于免费用网。
|
||||
|
||||
|
||||
某客是另一条路,人家吃的是「别人不会」的那一块。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
还有人说 14 岁小孩会 QQ 霸屏、SEO 霸屏,来投靠做了三年被挖走了,走的时候 17 岁,玛莎拉蒂都买了。
|
||||
|
||||
|
||||
核心是人,不是方法,方法会变,会修 bug,一直研究的那个人才值钱。
|
||||
|
||||
|
||||
今天也聊了地摊。
|
||||
|
||||
有人问 10 万 20 万小项目,我说厦门有餐车、有定点,900 到 6000 一月,有的点不用钱,我们有补贴,你卖啥自己弄,没产品找品牌方聊,本质是就业项目。
|
||||
|
||||
|
||||
103 场下来,今天炸了两次,人倒蛮多,500 多了。
|
||||
|
||||
|
||||
Soul 的流量密码我们比较清楚,每个月 70 到 100 万曝光。
|
||||
|
||||
|
||||
不订阅群主容易找不到房,炸了就没了,订阅一下不容易丢。
|
||||
|
||||
|
||||
每天 6 点到 9 点,停留 10 到 15 分钟,一场 300 到 600 人,能听到两三个别人的视角。
|
||||
|
||||
|
||||
想链接的私聊群主,有资源群、会员群,有执行力就来。
|
||||
|
||||
小程序搜卡若的创业派对,一天一块钱一节,每天更。
|
||||
167
2026每日派对干货/第104场|婚恋、AI客服与一个微信.md
Normal file
167
2026每日派对干货/第104场|婚恋、AI客服与一个微信.md
Normal file
@@ -0,0 +1,167 @@
|
||||
# 第104场|婚恋、AI客服与一个微信
|
||||
|
||||
|
||||
事情要做得足够简单,人和人之间的事可以足够复杂。
|
||||
|
||||
|
||||
2026 年 2 月 19 日,初三,早上 7:35。
|
||||
|
||||
|
||||
第 104 场,140 分钟;
|
||||
|
||||
场观 36221,进房 367 人。
|
||||
|
||||
|
||||
昨天 103 场聊号商、某客,炸了两次房,500 多人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有个做婚恋的小姐姐上麦,09 年做到现在,婚礼一站式,摄影加礼服,今年想平台化。
|
||||
|
||||
|
||||
她问有没有 AI 客服工具,能多平台聚合、自动回复、拟人一点,微信、某书、某音、视频号都能用。
|
||||
|
||||
|
||||
我说网易有个客服系统,能聚合各平台聊天,按席位算,三百到六百一年,很便宜。
|
||||
|
||||
|
||||
要专业的那种、自动回复还带 AI 的,就大几十万了。
|
||||
|
||||
豆包做客服会稍微傻一点,今年说不定会发力。
|
||||
|
||||
|
||||
免费的方案也有,各平台自带自动回复,就是要配置维护。
|
||||
|
||||
|
||||
她说需要一点灵活性、拟人化。
|
||||
|
||||
|
||||
我说网易那个先去试,多平台聚合聊天这个需求是有的,还没到私域那一步,聚合一下还可以。
|
||||
|
||||
|
||||
她讲她的规划,两个礼服馆品牌做祝福价引流,再整合五星级酒店、策划、执行成产品,从深圳打样,民政局、企业福利都合作。
|
||||
|
||||
|
||||
我说你们拓客从哪来?
|
||||
|
||||
她说自媒体、上下游、渠道、企业、民政局、大活动都有,但做得不够深。
|
||||
|
||||
|
||||
我说婚恋这块线上不一定好弄,我有个朋友做抖音婚恋大 IP,一条几十万播放,获客并不明显,整个行业从线上走很难解决信任问题。
|
||||
|
||||
|
||||
你线下沉淀这么久,民政局、合作方都有,这种形式可能更直接。
|
||||
|
||||
|
||||
我说有一家叫一万和合的,你可以参考。
|
||||
|
||||
|
||||
他们学王婆,跟万达和商场合作,现场做结婚匹配活动,外面一圈只能看,里面一圈能参与,进里面要签到加微信。
|
||||
|
||||
|
||||
就这一招,每两个月一场沙龙,一场能加三百到五百人,后端会员费加高定撮合。
|
||||
|
||||
|
||||
她说婚恋机构平台还没合作,可以把产品放进他们会员礼包里。
|
||||
|
||||
|
||||
我说你多找几家这种机构不就快了,他们那几百个人就够消化两个月,而且很精准。
|
||||
|
||||
|
||||
你自己一个微信就搞定了,各平台流量没那么重要,解决信任问题很麻烦,链路太长会很长。
|
||||
|
||||
|
||||
她走高端,摄影加服装平均一万五左右,获客成本行业一千多,她方最多两百,某书投流 1:10,线上聊完到线下消费。
|
||||
|
||||
|
||||
我说你们板块还可以,深圳有个美能妆给医美机构导流,你可以参考。
|
||||
|
||||
|
||||
先做好自己那一块,私域维护好,单个产品做好,别急着搭平台。
|
||||
|
||||
|
||||
她说工具不想追求特别高大上的,怕被割韭菜。
|
||||
|
||||
|
||||
我说很多是营销号宣传出来的,网易大厂做得久,飞鱼吧,也不贵,先试试。
|
||||
|
||||
|
||||
深圳做婚恋、比较白的话,Soul 已经接入广点通,可以了解一下,正规内容有机会。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
再说一个微信的事。
|
||||
|
||||
有人说 AI 怎么挣钱。
|
||||
|
||||
|
||||
我说你们都有很多微信好友了,多少有认识有链接,信任是第一层。
|
||||
|
||||
|
||||
如果有一个 AI,手机或电脑形态,微信登上去,自动帮你聊天、分析客户,通过朋友圈知道性格职业喜好,通过聊天记录知道需求。
|
||||
|
||||
|
||||
比如三千个好友里三十个有婚恋需求,就针对这三十个人触达、点赞、评论,朋友圈让 AI 发婚恋相关内容。
|
||||
|
||||
这个叫 AI 数字员工。
|
||||
|
||||
|
||||
你再往生意想:把红娘整合过来,给她一个 AI 数字员工,帮她开发所有客户,开发完你分她钱。
|
||||
|
||||
|
||||
红娘做了五年十年,资源贡献给你,成交后分钱。
|
||||
|
||||
|
||||
AI 在中间看好友朋友圈、判定需求、分到流量池做运维,但缺情绪、没温度,关键环节还是要人。
|
||||
|
||||
|
||||
搭这个中台成本很重,两百万到五百万以上。
|
||||
|
||||
|
||||
加入现成中台约 600 块 token 一月,你负责客户,企业负责转化。
|
||||
|
||||
|
||||
核心九成在运营,工具只占一成,原有链路没跑通,用再好工具都没用。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
另一个做私人眼镜定制的说,和杭州合作卖货机器人,抖音 API 自动获客锁客到微信小程序,单账号日触达五千加,转化高,但类目库没有眼镜。
|
||||
|
||||
|
||||
我说后端扩展类目、多平台,核心在运营与话术流程,不是单靠工具。
|
||||
|
||||
|
||||
AI 主要是知识库,按你原有成交话术流程、按人的情绪阶段触达。
|
||||
|
||||
|
||||
你前端链路已经跑通了,后端的触达形式在运营思路和策略上。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
104 场数据顺带说一下。
|
||||
|
||||
|
||||
2 月到现在 Soul 推流 31 万,进房 4060,1 月推流 77 万,进房去重 9690,76 个曝光进一个人。
|
||||
|
||||
|
||||
前几个月加起来差不多 250 万曝光,三个多月触达 30 万人了,链接 100 多人,合作七八个,公司招了两三个,线上团队 7 个。
|
||||
|
||||
|
||||
开派对我搞得足够简单,两个手机点三下就开。
|
||||
|
||||
|
||||
动力是数据清晰,每月 60 到 80 万曝光,触达 1 到 2 万人,总会有合作对象。
|
||||
|
||||
|
||||
能坚持的事一定是聊天就能解决的,别给自己太大压力。
|
||||
|
||||
|
||||
小程序叫卡若创业派对,有空可以看。
|
||||
194
2026每日派对干货/第105场|创业社群、直播带货与程序员.md
Normal file
194
2026每日派对干货/第105场|创业社群、直播带货与程序员.md
Normal file
@@ -0,0 +1,194 @@
|
||||
# 第105场|创业社群、直播带货与程序员
|
||||
|
||||
|
||||
能坚持的事,一定是聊天就能解决的。
|
||||
|
||||
|
||||
2026 年 2 月 20 日,初四,早上 7:10。
|
||||
|
||||
|
||||
第 105 场,138 分钟;
|
||||
|
||||
进房 403 人。
|
||||
|
||||
|
||||
四个月 105 场,推流 108 万,进房去重 1 万 4,昨天 103 场炸了房,今天人也不少。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
2 号上麦,在北京做创业社群,27 岁。
|
||||
|
||||
|
||||
他说本业做私域、社交、创业社群,刚起步半个多月,拉了几百人群,很多东西抄原公司的,把 LOGO 换一下。
|
||||
|
||||
|
||||
载体是线下沙龙,场地还没定,想招商找合作方,或者跟家里修复关系用公司会议厅。
|
||||
|
||||
|
||||
我问你怎么覆盖成本,他说还没想,私域本身没想一上来就变现。
|
||||
|
||||
|
||||
我说聚人气的话,收会员费、茶水费就能把线下开支覆盖,很容易。
|
||||
|
||||
|
||||
给企业做赋能,前面可以不收钱,资源好的邀请入会不收,没资源的该交交。
|
||||
|
||||
|
||||
他问怎么搞流量,说自媒体某书某音还没怎么开始,引流几天拉了几百人,之前花时间做网站、开发程序,都自己一个人,用 AI 开发。
|
||||
|
||||
|
||||
我说你可以来 Soul 试一下,还比较早。
|
||||
|
||||
|
||||
105 场下来,我们推流 108 万,进房 1 万 4 去重,线下也见了三十几个人,有点效果。
|
||||
|
||||
|
||||
他说私域还有一个用途,给未来做的 agent 和 AI 玩具找落地场景、打通销售渠道,线上活动还邀请了上市公司老总、大学教授,一开始要留影音资料做宣传。
|
||||
|
||||
|
||||
我说资源可以,一开始就有个启动,不差。
|
||||
|
||||
|
||||
Soul 派对每月一两万人进房、60 到 80 万曝光,能解决需求别人就愿意买单。
|
||||
|
||||
创业社群刚起步的,早点来试试,不亏。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有个小姐姐按格式介绍,ESTJ,江苏扬州,之前房地产团队管理,现在做直播带货。
|
||||
|
||||
|
||||
从搭建直播间到选品到运营到直播前段都她弄,团队也她管,碰到的问题是投流。
|
||||
|
||||
|
||||
她说直播带货很卷,一个品打得好就有人复制,甚至用鹌鹑蛋冒充咸鸭蛋,外包装写咸鸭蛋,价格比你低,消费者不知道。
|
||||
|
||||
|
||||
我问她从房地产转直播带货哪一年,她说 24 年 11 月,之前陪读一年多边学理论,24 年底开始行动。
|
||||
|
||||
|
||||
我说你执行力很强,管理跟落地跟进能力都行,事情没做好会难受,适合带大团队。
|
||||
|
||||
|
||||
她讲最后一个房地产项目没做好,老板拿地做公寓商铺,商业用地改不了住宅,产品非刚需,房地产又在下行,开盘延迟,节点没卡上。
|
||||
|
||||
|
||||
我说房地产下行是大环境,但刚需还在,结婚上学要买房。
|
||||
|
||||
|
||||
她问直播带货和房产哪个好做。
|
||||
|
||||
|
||||
我说房产。
|
||||
|
||||
房产总金额高,卖一套拿佣金上万,还有金融属性;
|
||||
|
||||
直播带货门槛低、复制率高,一单利润没多少,投流退货人工扣完剩不多。
|
||||
|
||||
|
||||
她说出来干感受最深的是私人老板出尔反尔多,约定好待遇和做到多少,你做到了他反悔不想给那么多,觉得账号起来了换个人也能做,说话不算话成本太低。
|
||||
|
||||
|
||||
我说讲信用很重要,线上要大量筛人,线下 100 人筛三五个合作伙伴,线上得 1000 人。
|
||||
|
||||
|
||||
房产比直播带货好做。
|
||||
|
||||
老板说话不算话,筛对人比做对事更重要。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
8 号小杨,广东广州,擅长大数据和 AI。
|
||||
|
||||
|
||||
最赚钱一个月交付一个系统 12 万,SAP ERP 对接端小程序,那时候还没 AI。
|
||||
|
||||
|
||||
现在用 AI 开发,大框架自己有,细分把简单工作抛给 AI,工作已经不太需要自己开发,业余开发自己的,偏架构、产品。
|
||||
|
||||
|
||||
他说做金融类大模型训练底座,日活 1700 万。
|
||||
|
||||
|
||||
有人问豆包手机、root、各平台数据接口有没有资源,他说他们数据都内部产生,不需要调讯飞。
|
||||
|
||||
|
||||
他说 AI 做出来跟想要的有偏差,经验是多轮对话先别生成代码,跟 AI 把想法完善成完整需求,再交给 AI 实施,等于需求评审、技术评审做完再生成代码,实施和蓝图不偏离效果就不会太差。
|
||||
|
||||
|
||||
我说跟传统开发一样,AI 像产品经理帮你把需求整理好,再交给前后端实施,先可视化看是不是想要的,再后端实现、测试。
|
||||
|
||||
|
||||
他说程序员找女朋友难,身边很多十多年的,写代码搞 AI 不难,找女朋友真难。
|
||||
|
||||
|
||||
我说程序员工资偏高,所以现在裁得多。
|
||||
|
||||
女生不听逻辑,听语言温度,要给情绪价值,不要一直解决问题、一直给,要让她对你付出。
|
||||
|
||||
|
||||
程序员容易陷入我帮她解决问题的逻辑黑洞,要魅力、身份、语言艺术。
|
||||
|
||||
|
||||
他说公司 10 个开发 9 个光棍,工资最高的一个月 7 万。
|
||||
|
||||
|
||||
我说程序员要以目标为导向不能以工时为导向,解决问题速度、效率、结果,程序员最容易做超级个体。
|
||||
|
||||
|
||||
跟 AI 协作开发,先把需求想清楚再生成代码,效果差不了。
|
||||
|
||||
程序员最适合做超级个体。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
AI 这块,今年一定 all in,不用想。
|
||||
|
||||
|
||||
公司招人,程序员第一个看每月 AI 消耗有没有超过 1000 刀,连 300 刀 2000 多块都没有的直接淘汰。
|
||||
|
||||
|
||||
运营也是,有没有用 GPT 什么的,每月至少 20 美金消耗,没买过的放二档。
|
||||
|
||||
|
||||
买 GPT、Cursor、Canva 等,有消费才说明在用。
|
||||
|
||||
|
||||
去年开发平均每人 3000 到 8000 块 AI 费用,人效提升 3 倍,多花 5000 块很值。
|
||||
|
||||
|
||||
有人问 open cloud、扣子,觉得以后工资不是给程序员是给算力公司。
|
||||
|
||||
|
||||
我说正常,我一天消耗折算人民币七八百。
|
||||
|
||||
开发出来的东西因为太容易了、重构太容易,变得不值钱,现在值钱的是算力。
|
||||
|
||||
|
||||
南风说号被封了,新注册的每天早上 8 到 9 点封一小时。
|
||||
|
||||
|
||||
我说封号就像创业失败从头再来,但你积累的经验在,知道怎么快速让号有三四十人、怎么在 Soul 搞流量搞派对,回头弄个教程给一起的小伙伴公开就行。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
今天 393 人,差不多了。
|
||||
|
||||
|
||||
有想做副业的联系管理 2 号 5 号,想了解切片、分发的,分发不收费还有收益,不会的有人教收点小学费。
|
||||
|
||||
|
||||
自己分享我们会写成书放进小程序,别人看到会来链接。
|
||||
|
||||
|
||||
能坚持的事一定是聊天就能解决的,每天 6 点到 9 点,多听每个人的视角,别给自己太大压力。
|
||||
157
2026每日派对干货/第107场|性格、陪伴经济与本地AI.md
Normal file
157
2026每日派对干货/第107场|性格、陪伴经济与本地AI.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# 第107场|性格、陪伴经济与本地AI
|
||||
|
||||
|
||||
了解自己,才知道什么样的运你接得住。
|
||||
|
||||
|
||||
2026 年 2 月 23 日,初六,上午。
|
||||
|
||||
|
||||
第 107 场,137 分钟;
|
||||
|
||||
场观 33820,进房 398 人。
|
||||
|
||||
|
||||
四个月 107 场,每月一两万人进派对,平均停留 10~15 分钟。
|
||||
|
||||
|
||||
这场聊了三块:性格和创业怎么搭、陪伴经济谁在挣钱、本地同城用 AI 做代运营的 7 号。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
先说你得先了解自己。
|
||||
|
||||
|
||||
很多人一上来就问怎么挣钱,听说什么挣钱就去做,没想自己适合什么。
|
||||
|
||||
愿力大于能力,你得敢有目标;
|
||||
|
||||
但目标要跟你这个人对得上。
|
||||
|
||||
|
||||
最简单的自测:你最强的三个能力是什么、最有成就感的一件事、最赚钱的一个月做了什么,写下来,自我画像就出来一半。
|
||||
|
||||
再加三条你绝不越界的底线、短期和长期的职业规划,自己就清晰了。
|
||||
|
||||
|
||||
性格会决定你适合单干还是带团队、做执行还是做决策。
|
||||
|
||||
比如 INTJ 最适合先打透一条闭环、再找一个 ENFP 去复制放大;
|
||||
|
||||
INFP 适合当二把手、做顾问或协调,不适合自己扛决策。
|
||||
|
||||
ENFP 适合收集资源、链接人脉,但底下得有一个 INTJ 或 INFJ 帮着落地和收束。
|
||||
|
||||
这些不是迷信,是很多人用团队试错试出来的——性格不对,能力再强也容易散。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
4 号上麦,ENFJ,像变色龙,做新项目粘合剂。
|
||||
|
||||
|
||||
她说最近在搞睫毛增长液,产品还没出来,几个人之间会有小摩擦,她在中间调节、把力往一处使。
|
||||
|
||||
我说这就对了,ENFJ 适合项目冷启动:目标定完,大家看不到利益或遇到挫败的时候,需要有人做感情维护、给阶段性的小结果,这是 ENFJ 擅长的。
|
||||
|
||||
|
||||
她问 MBTI 是不是对应小孔雀。
|
||||
|
||||
我说孔雀是 PDP 动物型,测的是团队协同;
|
||||
|
||||
MBTI 测的是个人性格和职业倾向,两个可以一起看。
|
||||
|
||||
ENFJ 做多了项目会越来越值钱,不用追求特别精,把团队每个业务流都摸一遍,当好粘合剂就行。
|
||||
|
||||
|
||||
5 号说他天天给员工画大饼,但落实别找他。
|
||||
|
||||
我说 ENTP 就这样,画大饼、冲前面可以,执行要甩给 ENTJ 或 INTJ,你带一个 INTP 帮你整逻辑、一个 ENTJ 扛执行,饼画够大,ENTJ 才控得住。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
陪伴经济这场也聊了不少。
|
||||
|
||||
|
||||
6 号问普通人做陪伴、针对宝妈或大学生行不行。
|
||||
|
||||
我说可以,但收益低;
|
||||
|
||||
高收益的在别处。
|
||||
|
||||
比如伴游:抖音发漂亮小姐姐陪老板商务局、几个高大上场景,一条视频 800 到账,流量和付费人群都清晰,后端把私域和团队接住就行。
|
||||
|
||||
再比如高端婚恋:有些富婆找有格局、能聊同频的创业男性,成功在一起一单 30 万,人家做深圳上海厦门三城,一年百单就三千万。
|
||||
|
||||
核心不是流量,是高质量的人。
|
||||
|
||||
|
||||
还有绿色陪伴、陪老人、陪玩赶海,都能做。
|
||||
|
||||
养老要五轮考核,风险高;
|
||||
|
||||
赶海那种是辛苦做量。
|
||||
|
||||
情绪价值接下来会越来越值钱,AI 越冷,真人带温度的服务越贵。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
7 号做 AI 自动化,从短视频到直播到私域一整条链路。
|
||||
|
||||
|
||||
他说 3 月会拿一笔投资,把公司做起来,已经合作了周六福和广东 600 多家门店的餐饮连锁。
|
||||
|
||||
收费是工具使用费一年 1~3 万,主播和团购另算抽点。
|
||||
|
||||
主攻实体企业老板、对 AI 有认知的,目前做青旅、餐饮、珠宝,在深圳青旅做到同城头部。
|
||||
|
||||
|
||||
我说你这个业务不新颖,本地同城代运营很多,关键看人:你是谁、资方是谁、案例有没有。
|
||||
|
||||
你已经做出标准化样本,接下来是跟商家怎么深度捆绑——纯工具没壁垒,纯代运营太累,最好能锁定几家、成立运营公司或拿用户触达权,不然很容易被「我觉得我自己也能做」的商家甩开。
|
||||
|
||||
|
||||
他说客户和投资人都是在 Soul 这个房间链接上的。
|
||||
|
||||
我说线上筛人快,但开发落地沟通成本高,核心岗位最好线下碰;
|
||||
|
||||
你深圳的,南山月亮湾 AI 沙龙多,可以线下再筛一轮。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
其他零碎的。
|
||||
|
||||
|
||||
炸房很正常,聊深了就容易触线;
|
||||
|
||||
我准备了 6 个号,手机摆旁边,封一个换一个。
|
||||
|
||||
Soul 上搞流量不难,有内容、有节奏、什么人数做什么动作,开多了就摸得到规律。
|
||||
|
||||
|
||||
基因胶囊这周刚出,技能打包成一颗「药丸」丢给 AI,它就会了;
|
||||
|
||||
公司里都在做,财务、拆书、本地模型协同,能沉淀成基因的都在沉淀。
|
||||
|
||||
学 AI 就学怎么用 AI 挣钱,不然学了也没用。
|
||||
|
||||
|
||||
想副业的联系管理,切片分发、分享书都有收益;
|
||||
|
||||
想深度合作的业务清晰的可以进会员群。
|
||||
|
||||
每天 6 点到 9 点,多听每个人的视角,多分享多曝光,别人知道你能解决什么,合作才会来。
|
||||
|
||||
|
||||
了解自己,才知道什么样的运你接得住;
|
||||
|
||||
接住了,再谈坚持和放大。
|
||||
227
2026每日派对干货/第108场|Soul场观400等于抖音1万.md
Normal file
227
2026每日派对干货/第108场|Soul场观400等于抖音1万.md
Normal file
@@ -0,0 +1,227 @@
|
||||
# 第108场|Soul场观400等于抖音1万
|
||||
|
||||
|
||||
Soul 场观 400 到 600,合作价值相当于抖音 1 万。
|
||||
|
||||
|
||||
2026 年 2 月 24 日,初七,早上 6:53。
|
||||
|
||||
|
||||
第 108 场,162 分钟;
|
||||
|
||||
进房 544 人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
6 号问了一个问题:你们在 Soul 上做这个事,跟抖音有什么本质区别?
|
||||
|
||||
|
||||
我说最大的区别就两个:停留时间、专注力。
|
||||
|
||||
|
||||
抖音的场观是多少?
|
||||
|
||||
我搞了几年,开直播场观 5000 到 15000 之间。
|
||||
|
||||
|
||||
Soul 的场观是多少?
|
||||
|
||||
400 到 600。
|
||||
|
||||
|
||||
但你听别人 1 到 3 分钟,跟听别人 10 到 15 分钟,完全不是一回事。
|
||||
|
||||
|
||||
能聊 10 到 15 分钟的人,他的沉浸程度、合作意愿、能聊出来的东西的价值,跟刷 1 到 3 分钟就划走的人,完全不一样。
|
||||
|
||||
|
||||
所以 Soul 400 到 600 的场观,效果相当于抖音 1 万左右的场观,甚至更好。
|
||||
|
||||
|
||||
我们没有瞎说,每天都在做数据运营,管理很辛苦,数据报表都有。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
抖音的优势是能展示办公室、场景、人,流量大。
|
||||
|
||||
|
||||
但抖音的缺点是停留太短,1 到 3 分钟就没了。
|
||||
|
||||
|
||||
Soul 是纯社交,语音聊天,没有画面,但人愿意待 10 到 15 分钟。
|
||||
|
||||
|
||||
你想想,两个人对话,聊业务、聊合作、聊需求,1 到 3 分钟能聊出什么?
|
||||
|
||||
刚进入状态就结束了。
|
||||
|
||||
|
||||
10 到 15 分钟,能把事情讲清楚,能把人筛出来,能判断这个人靠不靠谱、能不能合作。
|
||||
|
||||
|
||||
合作的机会完全不一样。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
108 场下来,结果是什么?
|
||||
|
||||
|
||||
核心管理 7 个,做副业的 40 多个,老板群 90 多个,会员群在聚集。
|
||||
|
||||
|
||||
这些全是线上组织的,不是线下发工资招的。
|
||||
|
||||
|
||||
线下招人太容易了,给钱就行;
|
||||
|
||||
线上要讲情绪价值、要筛选、要磨合,难 100 倍。
|
||||
|
||||
|
||||
抖音搞这个事情得一年多,Soul 两三个月就出来了。
|
||||
|
||||
|
||||
十月到十一月,进房人数多了 3 倍;
|
||||
|
||||
十一月到十二月,多了 4 倍;
|
||||
|
||||
一月到二月,又多了 30% 到 40%。
|
||||
|
||||
|
||||
Soul 是增量的,每个月都在涨。
|
||||
|
||||
|
||||
现在我们每月 1 万人进派对,每天 300 到 600 个人,最高一次 800 多。
|
||||
|
||||
|
||||
这 1 万人里面,有多少能合作?
|
||||
|
||||
有多少能形成联合?
|
||||
|
||||
有多少可能投资?
|
||||
|
||||
不一定,但基数在这。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
3 号上麦,合肥的,做医疗 AI 辅助诊疗系统。
|
||||
|
||||
|
||||
标品 2 万永久版,给私人诊所用的,从挂号、辅助诊疗、病历库存、财务多端协同到硬件外设,一整条流程。
|
||||
|
||||
|
||||
定制单子几百万,做过雨露先行的 AI 制药文献综述、国投证券的投资项目计划书智能体、小工厂的拼多多 AI 客服。
|
||||
|
||||
|
||||
他说标品走量,定制维持现金流,一年接一两个大单就够吃。
|
||||
|
||||
|
||||
我问你们交付形态是什么?
|
||||
|
||||
他说主要给医师端用,Windows 台式机本地跑,数据不上云,医生放心。
|
||||
|
||||
|
||||
诊所这块是上行的,美业下行,但私人诊所、中医馆很火,我全家每个月花 3 万多在针灸看病上。
|
||||
|
||||
|
||||
他说拓市场缺人,之前做拓展的离职了,想找医疗器械方面的业务合伙人。
|
||||
|
||||
|
||||
我说技术的人不适合走关系,你找个专门做这块的合伙人来跑渠道,线上也可以筛,Soul 上很多做诊所的、做医院招投标的,可以链接。
|
||||
|
||||
|
||||
他说讯飞应用市场、奇绩创坛都是在 Soul 上朋友推荐的。
|
||||
|
||||
|
||||
渠道最重要,产品已经跑通了,就差人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
5 号问:像你们这种财务比较自由的人,为什么还要这么努力?
|
||||
|
||||
|
||||
我说跟钱没关系,本来就在享受生活。
|
||||
|
||||
|
||||
每天陪小孩、遛狗、公司逛一逛,开派对就是 6 点到 9 点聊聊天,以前这个时间是散步的,现在改成聊天而已。
|
||||
|
||||
|
||||
做 Soul 四个月,108 场,发现降本增效很多:服务器成本降了一大半,供应链合作成本比想象中低,找切片的人容易找,人才也懂。
|
||||
|
||||
|
||||
Soul 现在是送流量的,不做完全是浪费。
|
||||
|
||||
|
||||
开派对等于开淘宝店,07 年淘宝也是设一两百个宝贝,7 天快到期的排序,流量咔咔进来,跟现在 Soul 的感觉一样。
|
||||
|
||||
|
||||
比当年开淘宝还快。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
6 号又问:你们到底怎么赚钱?
|
||||
|
||||
聊了一大堆,最后还是说怎么加入你们,但没讲清楚你们的业务模式。
|
||||
|
||||
|
||||
我说讲了很多遍了,你进来没多久,多听几场就懂。
|
||||
|
||||
|
||||
第一,派对两三个小时的内容,优质部分切成切片,切片团队分发,有动作给钱,有客资给钱,有产品分成给钱,平均一个月 800 到 5000 不等。
|
||||
|
||||
|
||||
第二,优秀的项目我们帮你推广,几十个人分发,一天几十万曝光,业务上去谈分钱。
|
||||
|
||||
|
||||
第三,项目投资,你靠谱、有结果、能闭环,我们投你,分钱。
|
||||
|
||||
|
||||
第四,推一条项目推广,拿多少分成先讲好,推过去就分钱。
|
||||
|
||||
|
||||
第五,会员费,你想进来就交,我们筛选。
|
||||
|
||||
|
||||
多维度,不是单一路径。
|
||||
|
||||
|
||||
我们不需要筛选项目,线下我过去看你财报、看你公司、看人员状态,该合作就合作;
|
||||
|
||||
线上看不见摸不着,只能从你表述的节奏、解决问题的能力来判断,合适就约线下见面。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
7 号总结了一句:你们要的是切实的业务,不是想法。
|
||||
|
||||
|
||||
你把自己的业务、感触、现在的需求说清楚,有人能帮上就链接,链接的深度取决于你做这个事情靠不靠谱、有没有结果。
|
||||
|
||||
|
||||
8 号说:这个平台的价值就是分享我需要什么、我能带来什么,认知提升,同时可能找到合作伙伴。
|
||||
|
||||
|
||||
把想法具象化:我开影楼,有摄影资源,能接触到拍婚纱的人,谁有婚礼 MV 的需求?
|
||||
|
||||
我帮你做。
|
||||
|
||||
|
||||
这样才有落脚点。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
今天 162 分钟,544 人,人均 11 分钟。
|
||||
203
2026每日派对干货/第110场|Soul变现逻辑全程公开.md
Normal file
203
2026每日派对干货/第110场|Soul变现逻辑全程公开.md
Normal file
@@ -0,0 +1,203 @@
|
||||
# 第110场|Soul变现逻辑全程公开
|
||||
|
||||
|
||||
挣钱这件事,能摊开讲的都不算秘密。
|
||||
|
||||
|
||||
2026 年 2 月 26 日,上午 7:02。
|
||||
|
||||
|
||||
第 110 场,144 分钟;
|
||||
|
||||
进房 406 人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有人问:Soul 上面怎么挣钱?
|
||||
|
||||
|
||||
开派对就挣钱。
|
||||
|
||||
|
||||
今天 110 场了,跟你讲这套变现逻辑,全程公开。
|
||||
|
||||
|
||||
前期都是砸钱的。
|
||||
|
||||
|
||||
第一个,召集切片的、召集干活的,有动作就给钱。
|
||||
|
||||
|
||||
发瞬间给钱,有客资给钱,项目卖出去也给钱,他们赚的是副业的钱。
|
||||
|
||||
|
||||
内容由场上生产,写总结,把每天派对里优秀的分享、案例整理出来,给有时间的人去发,发就有钱拿。
|
||||
|
||||
|
||||
想做切片、做副业的,可以@管理,有电脑、会剪辑的都能问问。
|
||||
|
||||
|
||||
第二个,省钱。
|
||||
|
||||
|
||||
Soul 上很多供应链的人过来,直接合作。
|
||||
|
||||
|
||||
一年服务器加租金各种费用差不多小 40 万,有一个人给了半价还不到,17 万多,省了二十几万。
|
||||
|
||||
|
||||
做水的过来,定了一年的水,另一个投资的金融公司也找他定了一年。
|
||||
|
||||
|
||||
消费的本质是省钱,前期在上面花了不少,但省得更多。
|
||||
|
||||
|
||||
第三个,收钱的几个形式。
|
||||
|
||||
|
||||
资源群加了门槛,有分享、有介绍才进,现在 93 个老板。
|
||||
|
||||
|
||||
有人要获客、推项目,开发做了小程序,把项目写进去、推广出去,收一点钱,会员群就出来了。
|
||||
|
||||
|
||||
好的项目提前谈好分润,有合作的分。
|
||||
|
||||
|
||||
再就是跟主营赋能,做电竞的,在派对里筛到不错的人,配几个人给他,跑通了,一个月一二十万利润,也是收益。
|
||||
|
||||
|
||||
四个月下来,做副业的 40 多个,管理 7 个,老板群 93 个,会员也收了好几个。
|
||||
|
||||
|
||||
前期投入发钱,现在慢慢成型了。
|
||||
|
||||
想参与副业、做切片的,联系管理就行。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
3 号问:Soul 来回转化干嘛的?
|
||||
|
||||
没太听清楚。
|
||||
|
||||
|
||||
变现逻辑就这几个。
|
||||
|
||||
|
||||
后面小程序 2.0 已经上了,你分享一篇文章,别人付一块钱,90% 归你,5% 给腾讯,平台拿一个点,管理拿四个点。
|
||||
|
||||
|
||||
你开派对、推当天的文章,别人付费都跟你 30 天捆绑,开派对可能就挣几万,这套打底要打半年。
|
||||
|
||||
|
||||
对比传统沙龙已经快很多了。
|
||||
|
||||
|
||||
每个月派对进来一两万人,去重完 1 万出头,人均停留 10 到 15 分钟。
|
||||
|
||||
|
||||
还有 30 多个做切片的,每月小 2000 万播放。
|
||||
|
||||
想做切片的可以找@南风了解一下流程。
|
||||
|
||||
|
||||
有这个量,接啥不行?
|
||||
|
||||
|
||||
有厦门场地的人来合作,给人堆满;
|
||||
|
||||
有开发需求的,当渠道丢给程序员。
|
||||
|
||||
|
||||
都是顺便的事。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
场上还有人问别的。
|
||||
|
||||
|
||||
有人问 AI 怎么做、怎么赚钱,太泛了,你原来做什么就用 AI 赋能,提升效率。
|
||||
|
||||
|
||||
想了解 AI 就进圈子,付费圈子好一点,免费的里面都是不懂的,聊不出啥。
|
||||
|
||||
|
||||
4 号做工厂电商,白胚一千个图案就一千个新款,一套图最便宜 200 多,拍不过来。
|
||||
|
||||
|
||||
AI 出图、批量上架的工具很多,豆包搜一下、需求描述清楚,让它给你推,前三款付一两个试试。
|
||||
|
||||
|
||||
5 号室内设计想转行,围绕原有能力转,设计师转短视频、转 AI 出图的多,比跨赛道做跨境容易出结果。
|
||||
|
||||
|
||||
6 号问 10 个抖音号用 AI 在自己电脑上分发会不会封号。
|
||||
|
||||
|
||||
同一 IP 多号做矩阵肯定要出问题,现在成熟的是分布式矩阵,用别人的号,租号已经成产业链了,一个号一个月 100 块普通的,好一点的 200,有粉丝的 1000。
|
||||
|
||||
|
||||
7 号做太阳能、卖电的,以前一个人干拿过几十万,现在浙江市场利润低。
|
||||
|
||||
|
||||
跟现在卖算力是一类事,找有算力的公司、找有算力需求的企业,赚差价,本质是销售。
|
||||
|
||||
|
||||
8 号博士、大学老师,手上有两所学校、17000 学生,开了 AI 漫剧课,想组团跟红果谈。
|
||||
|
||||
|
||||
肯定能做,以前做过飞飞时间,企业把工作流拆细发到 APP 上接任务,学生做完就有收益;
|
||||
|
||||
擅长做培训就对接好红果,学校做成,是这个城市第一家,大机会。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有人问:写东西能产生收益吗?
|
||||
|
||||
|
||||
没有直接收益,创造价值就有收益。
|
||||
|
||||
|
||||
每天写一篇放到小程序,别人付一块钱,90% 给分享的人。
|
||||
|
||||
|
||||
小程序日活几千,大家都能挣钱。
|
||||
|
||||
|
||||
2.0 已经上线,超级个体点一下能加对方微信、拉群,后面有 AI。
|
||||
|
||||
|
||||
3 月份迭代 3.0,109 场内容做向量化,提问都交给 AI 智能体。
|
||||
|
||||
|
||||
其实没花太多精力,6 点到 9 点聊聊天,管理很辛苦,流程都是他们整理的。
|
||||
|
||||
有事想对接、想做副业或切片的,找管理就行。
|
||||
|
||||
|
||||
今天 144 分钟,406 人。
|
||||
|
||||
|
||||
每天公开数据,Soul 结束之后小助手去重完才是真实数,每个月 1 万到 2 万去重,停留 10 到 15 分钟,流量质量还可以。
|
||||
|
||||
|
||||
懂的就知道,就花 3 个小时,本来也是遛狗散步的时间,拿来聊聊天,顺便把变现跑通了。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
Soul 咋变现?
|
||||
|
||||
前期给钱、切片加会员加项目分润,四个月跑通。
|
||||
|
||||
|
||||
能坚持的事,一定是聊天就能解决的。
|
||||
86
2026每日派对干货/第111场|平台规则变了怎么办.md
Normal file
86
2026每日派对干货/第111场|平台规则变了怎么办.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# 第111场|平台规则变了怎么办
|
||||
|
||||
|
||||
平台规则一变,别把身家押在一个篮子里。
|
||||
|
||||
|
||||
2026 年 2 月 27 日,上午。
|
||||
|
||||
|
||||
第 111 场。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
那两天 Cursor 大封号,不少高消耗用户也被误伤。
|
||||
|
||||
|
||||
有人月耗 TOKEN 七八千,照样被封,申诉就完了,别自己先崩。
|
||||
|
||||
|
||||
封号背后是蒸馏攻击那档子事:国内几家套壳用蒸馏技术抽人家研究文档当训练数据,被定义成蒸馏攻击,上升到国家安全层面,对方批量封号。
|
||||
|
||||
|
||||
正规用、用得勤的,被一起扫进去,只能认规则。
|
||||
|
||||
|
||||
规则是别人的,活法自己的。
|
||||
|
||||
|
||||
能控的备好,不能控的别耗。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
场上有人问:新号登不上去,要手机号啥的,试了一整天都不行;还有说流程走完了、图也生成了,结果账号里找不到——是不是跟这两天封号有关?
|
||||
|
||||
|
||||
会。
|
||||
|
||||
|
||||
平台一收紧,接口、存储、展示都会抽风,流程对、结果丢,常有的事。
|
||||
|
||||
|
||||
别死磕一台设备、一个账号。
|
||||
|
||||
|
||||
云电脑用过吗?远程登录到另一台电脑上操作,本机是华为是苹果都无所谓,封号、限流往往跟设备或环境绑在一起,换环境就少很多 7 的 8 的。
|
||||
|
||||
|
||||
真想长期搞,备一台云机、多一个环境,成本不高,省的是心态。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
还有人担心:手机、电脑会不会记录隐私,聊啥都被标注、以后被重点关照?
|
||||
|
||||
|
||||
平台有能力这么干,但没必要对每个用户都这么干;Soul 上我们聊的每一句话它要留存、做归类、做流量池,那是平台的事,你控制不了。
|
||||
|
||||
|
||||
别自己吓自己,也别把时间耗在「会不会被盯上」上。
|
||||
|
||||
|
||||
生活在哪就接受哪的规则,抱怨没用,多留后手才有用。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
做事落点放在「能控」上:账号封了能申诉、能换号;环境不稳就上云电脑;平台改版就跟着调节奏。
|
||||
|
||||
|
||||
不押宝在一个平台、一个号、一台设备,规则变了,还能接着干。
|
||||
|
||||
|
||||
想做切片、做副业、要稳定环境的,可以找管理问问云机或备用方案,有电脑会剪辑的也能一起对一下流程。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
平台规则变了怎么办?别押宝在一个篮子,备选方案先铺好,接着做事。
|
||||
|
||||
364
2026每日派对干货/第112场|一个人起头,维权挣了大半套房.md
Normal file
364
2026每日派对干货/第112场|一个人起头,维权挣了大半套房.md
Normal file
@@ -0,0 +1,364 @@
|
||||
# 第112场|一个人起头,维权挣了大半套房
|
||||
|
||||
|
||||
起头难。
|
||||
|
||||
|
||||
起完头,后面都是顺势。
|
||||
|
||||
|
||||
2026 年 2 月 28 日,上午 7:01。
|
||||
|
||||
|
||||
第 112 场,135 分钟。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
场上有人问:普通人怎么敢跟 ZF 搞?
|
||||
|
||||
你不怕吗?
|
||||
|
||||
|
||||
干过。
|
||||
|
||||
|
||||
十几年前,小区 12 栋楼房产证被压着,开发商把土地证抵押了 14 个亿,业主办不了证。
|
||||
|
||||
|
||||
没人起头,就起头。
|
||||
|
||||
|
||||
第一天晚上在群里发:明天早上 8 点拉横幅,你们想来就来,不来就一个人干。
|
||||
|
||||
|
||||
8 点到了,没人下来。
|
||||
|
||||
|
||||
就一个人站着。
|
||||
|
||||
|
||||
后来有个本地的阿三,带几个老头下来,说我们帮你。
|
||||
|
||||
|
||||
阿三他们去敲门,说下来办房产证,一户一户敲,把人「骗」下来——下来才发现是拉横幅。
|
||||
|
||||
|
||||
一个多小时,三十几个人。
|
||||
|
||||
|
||||
让大家喊话、拍视频,发到各个楼群:有钱出钱、有力出力。
|
||||
|
||||
|
||||
到 9 点多,两百多人下来了。
|
||||
|
||||
|
||||
写了一条朋友圈:无良开发商某某,土地证抵押云南,请 ZF 主持公道。
|
||||
|
||||
|
||||
让所有下来的人把这条和视频发出去,发了、截图的才优先办证。
|
||||
|
||||
|
||||
到下午 1 点,市长办公室打电话过来:过来泡茶。
|
||||
|
||||
|
||||
后面就是游街、ZF 门口、市委书记市长十五号上访日见我们,法院院长、消防、房产局几个局一起开会,责任切割,消防开绿灯,房产证办下来。
|
||||
|
||||
|
||||
全程一两个礼拜。
|
||||
|
||||
|
||||
自己把整条链路跑通了一遍,很麻烦,但跑通了。
|
||||
|
||||
|
||||
跑通之后就是生意。
|
||||
|
||||
|
||||
起头难,跑通更难;
|
||||
|
||||
跑通了就能变成别人愿意付费的服务。
|
||||
|
||||
|
||||
小区几千户,要办证的人很多。
|
||||
|
||||
|
||||
做了全套 SOP、视频,免费给业主看,能自己办就自己办,不能办就找房主。
|
||||
|
||||
|
||||
找一个做过桥的朋友来跑腿,办一份 5000 块,推微信给他,他收钱办事。
|
||||
|
||||
|
||||
还有很多人没过桥完、怕房子出问题,找他过桥,他一单能挣四五万。
|
||||
|
||||
|
||||
同学搞了一套房,房主搞了大半套。
|
||||
|
||||
|
||||
业委会把房主选上去了,狗都能养了,保安再也不敢说不能养狗。
|
||||
|
||||
|
||||
众筹的那笔钱没用上,在小区对面开了个超市,到现在还有分红。
|
||||
|
||||
|
||||
那五个起头的人,阿三开了鼻炎诊所,小区的人都知道他是元老,生意一直不错。
|
||||
|
||||
|
||||
所以你说怕不怕?
|
||||
|
||||
|
||||
初心就是为了拿证。
|
||||
|
||||
|
||||
势能不够就组织人,共同目标有了,信任才出来;
|
||||
|
||||
信任出来了,才会有人找你办证、过桥。
|
||||
|
||||
|
||||
利他不是口号,是大家都有收益——拿证、分红、生意、口碑。
|
||||
|
||||
|
||||
受益终身。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
2 号说:一般人起不了头,得有勇气、影响力、人脉。
|
||||
|
||||
|
||||
房主没有人脉。
|
||||
|
||||
|
||||
从头到尾一点都没有。
|
||||
|
||||
|
||||
起头就是一个人,然后几个人,然后几十个,然后两百多个。
|
||||
|
||||
|
||||
核心就三件事:初心是解决问题,不是搞事;
|
||||
|
||||
有勇气先站出来;
|
||||
|
||||
参与的人都要有收益。
|
||||
|
||||
|
||||
不是为了自己的利益去闹,是大家共同目标、一起拿结果,顺便有人找你办事,钱就来了。
|
||||
|
||||
|
||||
现在在 Soul 上干的也是这种事。
|
||||
|
||||
|
||||
链切 1 万是第三个阶段,接下来 112 场到 150 场,赋能 100 个超级个体太宽,先赋能 10 个。
|
||||
|
||||
|
||||
38 场赋能 10 个,大概三场一个。
|
||||
|
||||
|
||||
能赋能的体系已经搭好了:能给做副业的发钱,能帮人提升业务,在 Soul 上把一件事干成,也是一辈子的事。
|
||||
|
||||
|
||||
就像当年小区那批人,只要房子还在,大家都还记得谁帮过忙。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有人问:亲子教育、家庭教育在 Soul 上怎么变现?
|
||||
|
||||
|
||||
别藏着掖着。
|
||||
|
||||
|
||||
标题直接写痛点:解决夫妻问题(付费)、挽回女朋友(付费)、中考如何上 985、如何提升孩子记忆力。
|
||||
|
||||
|
||||
主题垂直一点,直接收费。
|
||||
|
||||
|
||||
来了先帮人解决一两个问题,觉得有用再谈深度、付多少、加泡泡。
|
||||
|
||||
|
||||
交付轻一点,觉得没效可以退。
|
||||
|
||||
|
||||
一个月进派对一两万人,你要变现太容易;
|
||||
|
||||
你场上十几个人在线,就把主题写清楚、写垂直,直接收费。
|
||||
|
||||
|
||||
5 号说:你这一下子打开思路了,有需要的人就来了。
|
||||
|
||||
|
||||
对。
|
||||
|
||||
|
||||
想做什么就直接做。
|
||||
|
||||
|
||||
一天一块钱一小节,小程序上都有;
|
||||
|
||||
你的专业程度和身份决定了能收多少。
|
||||
|
||||
|
||||
越专业、越能解决问题,收 1 万、2 万、10 万都有人付。
|
||||
|
||||
|
||||
李亚鹏一开始众筹几十块、几百块,到后面是谁在给?
|
||||
|
||||
明星、微商大佬 500 万、香港那位 5000 万。
|
||||
|
||||
|
||||
公益永远最挣钱,势能到位人生就起飞。
|
||||
|
||||
|
||||
不用怕事情小,坚持足够久,弹簧压紧,起飞很快。
|
||||
|
||||
|
||||
---
|
||||
|
||||
◊ Soul 上投流和派对价值的算法,场上说过,具体数值是这样。
|
||||
|
||||
|
||||
推流(自然流量):Soul 会把派对推给用户,规则改过一轮。
|
||||
|
||||
正常情况下一场 120 分钟,平台每天给这个房间大约 3 万次曝光;
|
||||
|
||||
能实际进到派对里的人大约 300~600 人。
|
||||
|
||||
算下来平均约 75~80 次曝光进 1 个人,有的场 72、有的场 80,取个中就行。
|
||||
|
||||
房间里一分钟大概进 3 个人左右,可以自己对着时长算。
|
||||
|
||||
|
||||
派对价值:一个月进派对一两万人,主题写清楚、写垂直,变现空间就很大;
|
||||
|
||||
你场上十几个人在线也能直接收费。
|
||||
|
||||
|
||||
付费投流:1000 次曝光大约 6~10 块,按 75 曝光进 1 人算,进一个人到派对大约 4 毛 2;
|
||||
|
||||
每天想多进 500 人的话,成本大概 200 块左右。
|
||||
|
||||
每天能加微信大概 10 个的话,获客到微信的成本就是 20 块一个人。
|
||||
|
||||
|
||||
后端闭环打通之后,20 块获客、能变现 25 块就可以拉满投。
|
||||
|
||||
|
||||
核心是把最小闭环跑通:一块钱小课、会员链接、AI 赋能,再算 100 个人里多少人成交、多少钱。
|
||||
|
||||
|
||||
播了 112 场,内容合规上没出大问题;
|
||||
|
||||
偶尔炸房就改房名、换号开,解决问题就行。
|
||||
|
||||
|
||||
设备标配:几台手机、备用号、两台电脑,丝滑切换。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有人问超级个体要什么条件。
|
||||
|
||||
|
||||
超级个体不需要太多条件。
|
||||
|
||||
|
||||
做好你自己最小闭环里能挣钱的那一件事,用工具放大,再嫁接优质的前端或后端。
|
||||
|
||||
|
||||
比如游戏主播就每天播、加微信,后端有人转化;
|
||||
|
||||
比如销售就聊天分钱,别人给你客资你谈分成。
|
||||
|
||||
|
||||
超级就是加一层:用好 AI,效率上去。
|
||||
|
||||
|
||||
千万别啥都做,挣不到钱或只能挣小钱,还特别累。
|
||||
|
||||
|
||||
把做事当成玩,像现在三个小时派对就是聊天,跟散步差不多。
|
||||
|
||||
|
||||
以前做游戏,一键宏那个品:没 IP 的卖 50 块、赚 5 块;
|
||||
|
||||
有 IP 的把全国冠军的输出手法写进去,卖 1980,卖 10 份就 2 万,还有年费。
|
||||
|
||||
|
||||
同一类产品,卖的是影响力。
|
||||
|
||||
|
||||
血染那种,打比赛、接单、打排名,一单一万两万,一赛季一个组能挣 10 万,还能买别墅。
|
||||
|
||||
|
||||
坚持做自己喜欢的事,但要遇到对的人、对的链路,不然拿不到结果。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
7 号问:上传视频还要自己截封面再上传,很麻烦。
|
||||
|
||||
|
||||
你身边有什么人?
|
||||
|
||||
|
||||
有技术就直接提需求:上传视频自动生成封面,首帧或 AI 挑一帧当封面,减少操作。
|
||||
|
||||
|
||||
想到就做,有卡点就丢给能解决的人。
|
||||
|
||||
|
||||
就像想买房子,就委托专门做房产的小伙伴;
|
||||
|
||||
想收租就找法务团队批量处理。
|
||||
|
||||
|
||||
人永远比工具好用,AI 也只是工具。
|
||||
|
||||
|
||||
大姑做瓷器几十年,一句话顶十年。
|
||||
|
||||
|
||||
她讲情绪价值、大客户怎么接待、什么做什么不做、内销怎么打。
|
||||
|
||||
|
||||
聊一小时,值好几百万。
|
||||
|
||||
|
||||
生意就是有来有往,投其所好、情绪价值给足、身份对等。
|
||||
|
||||
|
||||
做电竞、做私域也一样,把事情当项目做,能链接的就快速链接。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
今天 135 分钟。
|
||||
|
||||
|
||||
112 到 150 场,目标赋能 10 个超级个体。
|
||||
|
||||
|
||||
想做副业、做切片的联系管理;
|
||||
|
||||
有业务想进资源群的要先上来分享、说清楚项目。
|
||||
|
||||
|
||||
会员群付费,小程序里每天一节一块钱,大家怎么赚钱的视角都在里面。
|
||||
|
||||
|
||||
懂的来链接,不懂的多听几场再动。
|
||||
|
||||
|
||||
一个人起头,后面都是顺势。
|
||||
|
||||
|
||||
小区维权是这样,Soul 上开派对也是这样。
|
||||
|
||||
|
||||
敢第一个站出来的人,往往也是最后分到钱的人。
|
||||
383
2026每日派对干货/第113场|不会选择怎么办?.md
Normal file
383
2026每日派对干货/第113场|不会选择怎么办?.md
Normal file
@@ -0,0 +1,383 @@
|
||||
# 第113场|不会选择怎么办?
|
||||
|
||||
|
||||
人最怕的不是没得选,是有的选。
|
||||
|
||||
|
||||
选 A 还是选 B,哪条才是最优解,想破头不如先动一条。
|
||||
|
||||
|
||||
2026 年 3 月 2 日,上午 6:24。
|
||||
|
||||
|
||||
第 113 场,163 分钟;
|
||||
|
||||
场观 34290,进房 430 人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
一上来就炸房。
|
||||
|
||||
|
||||
系统把房间推到别处去了,标题多打了两个「私域」就炸,大家重新进。
|
||||
|
||||
|
||||
有人问:你说要赋能 10 个人,什么样条件的人?
|
||||
|
||||
|
||||
随缘,现在没定条件。
|
||||
|
||||
|
||||
就是先提一嘴,看大家怎么接。
|
||||
|
||||
|
||||
2 号说:我想被你赋能,怎么办?
|
||||
|
||||
|
||||
你得先有个项目,项目尽量白一点、别太灰;
|
||||
|
||||
把你做的事用人话讲清楚,房主会帮你整理成别人能看懂、能链接、能合作的样子,直接丢到小程序里。
|
||||
|
||||
|
||||
小程序日活还可以,Soul 创业派对那块,现在多了超级个体板块。
|
||||
|
||||
|
||||
每天把派对内容整理成一节一节,最赚钱的一个月、四十几个人的视角,一块钱一节,想看的人自己点。
|
||||
|
||||
|
||||
你如果做过「最赚钱的一个月」分享,或者项目被写进文章,别人分发出去就会看到你,有人会来链接。
|
||||
|
||||
|
||||
房主撮合这事,收个会员费,导客资、导流量给能跑通的人。
|
||||
|
||||
|
||||
现在几十个分销团队,收费很低,后面能怎样再说,先让管理他们跑起来。
|
||||
|
||||
|
||||
先有项目,再谈赋能;
|
||||
|
||||
项目能讲清楚、有人感兴趣,现场 5~10 分钟就能聊明白,现场拉群就开干。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
2 号说:我在琢磨个人 IP,打算辞职,有两个方向。
|
||||
|
||||
|
||||
一个是小红书,30~55 岁女性,身心灵、疗愈那种,承载她们「刚开始活明白、想要更好生活」的情绪。
|
||||
|
||||
|
||||
另一个是读书赛道,一天能保证 3 小时左右,100 场跟你这种类似,看数据、引私域、知识付费、线上读书会、线下读书会,再嫁接育儿、家庭辅导师,客单价高,能见面更好。
|
||||
|
||||
|
||||
先开始再说,很多事你一做脑子就清楚了。
|
||||
|
||||
|
||||
已经开了 113 场,每月流量比较稳:三个月下来,每月大概 60 万到 100 万曝光,触达 1 万到 2 万人进派对。
|
||||
|
||||
|
||||
线下要见的话,一个月见 20 个人很正常,前 50 场见了三十几个人。
|
||||
|
||||
|
||||
流量起来了,才敢说赋能——能导流、能撮合生意,才有人愿意跟你绑一起。
|
||||
|
||||
|
||||
做 IP 最吃两样:影响力和能协作的人。
|
||||
|
||||
|
||||
线下招人快,但贵。
|
||||
|
||||
|
||||
房主 19 年底组过团队,筛了三十几个人,最后 5 个人,拍剪、分发、接待、写稿、对接老板,全发工资。
|
||||
|
||||
|
||||
厦门工资低,一人 5000~8000,一个月 2 万到 3 万支出。
|
||||
|
||||
|
||||
线下你知道谁靠谱,天天在眼前。
|
||||
|
||||
|
||||
线上难多了:沟通成本大,合伙制大家看不到预期;
|
||||
|
||||
想找执行的人,多半要「给多少钱干多少活」,而线上很多是想得多、做得少的,人人想做 IP、做内容,不执行。
|
||||
|
||||
|
||||
线下 30 个人发工资筛出 5 个,线上你得筛一两百个才出三五个人,还不发工资、用分润,更难。
|
||||
|
||||
|
||||
2 号说:我想找一个能推动我的人,不是给他钱,是他觉得我能做起来、他也有回报,才愿意推。
|
||||
|
||||
|
||||
叫他律,可以搞,但难。
|
||||
|
||||
|
||||
以前身体不好,在观音山搞过老板跑队,早上 5 点跑步,一天没来扣 99 块发红包。
|
||||
|
||||
|
||||
跑了 7 天,大降温,没人来了,三天不来就散了。
|
||||
|
||||
|
||||
他律有他律的难处,最后还是得靠自己,再加点运气——先开,先动,才有后面。
|
||||
|
||||
|
||||
闭环跑通之前,先干再说;
|
||||
|
||||
先动一条,再调。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
Soul 导流到私域,场上测过一轮:广点通出来之后,导流到一个微信大概 20~50 块,创业粉粘性强。
|
||||
|
||||
|
||||
正常这类粉要到 100 多,内容做得还行,成本就压下来了。
|
||||
|
||||
|
||||
算一笔账:10 个人按 20 块算,200 块;
|
||||
|
||||
能转化 1000 来块,链路就通,大家能分到钱,才愿意继续推。
|
||||
|
||||
|
||||
现在已经在拓第二条线:有些人开派对,但没后端变现。
|
||||
|
||||
|
||||
房主就提供一个产品——一块钱一节内容、会员、后端变现、资源对接,内容、产品、人工都由房主出;
|
||||
|
||||
对方只管开派对、聊聊天,导流到 APP,30 天捆绑,收益跟他有关。
|
||||
|
||||
|
||||
对方就开派对,后端房主做完,大家都有变现路径。
|
||||
|
||||
|
||||
不止是帮房主,也是帮派对里分享的老板们导流、赋能。
|
||||
|
||||
|
||||
切片的人多了,规模慢慢起来;
|
||||
|
||||
资源群免费,副业、做切片的找 4 号,会员群也找 4 号。
|
||||
|
||||
|
||||
6 点到 9 点,快速链接,项目靠谱、闭环跑通了,可以进资源群。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有人提到知识星球。
|
||||
|
||||
|
||||
知识星球就是个载体,轻付费、轻交付,几百块一年,把人聚起来看内容、做互动。
|
||||
|
||||
|
||||
小程序不一样:把好项目整理好放进小程序,结合 AI 匹配,谁对谁的项目感兴趣,点一下名字,AI 会加好友、拉群。
|
||||
|
||||
|
||||
小程序叫「卡若创业派对」,搜就有——本来想叫 Soul 创业派对,Soul 不给,怕品牌侵权下架,就改成了房主名字。
|
||||
|
||||
|
||||
上线一个多礼拜,两个礼拜不到,公司的人现开发的。
|
||||
|
||||
|
||||
先干再说,不干不知道;
|
||||
|
||||
前端做简单,大家动动手发文章,就可能挣几百甚至几万,看发的群体和需求。
|
||||
|
||||
|
||||
Soul 现在精选派对都上首页了,主打派对,腾讯入股之后往 KOL、KOC 圈人、做停留,调了三四年了,上面有大机会。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
3 号在古北做内容电商,自己也当房主,聊 3D 打印。
|
||||
|
||||
|
||||
同学是厂商,做 3D 打印设备;
|
||||
|
||||
手头有桂花主题馆,要做文创,用 3D 打印做文旅产品——比如桂花树,树干是真的,叶子花用 3D 打;
|
||||
|
||||
还有乌鸡、嫦娥兔子这类萌宠 IP,带桂花,用 AI 让它动起来。
|
||||
|
||||
|
||||
要招能绘图的人,绘图这部分先花钱,后面做一整套 UI 给客户;
|
||||
|
||||
已经有个搭档,做交付的,有设备——拓足、UV 3D、激光、切割、车床都有,还能进学校做第三课堂。
|
||||
|
||||
|
||||
两天就找到搭档,彼此对得上,他负责动手,3 号自己负责动嘴、卖课和打包。
|
||||
|
||||
|
||||
房主问:你缺啥?
|
||||
|
||||
产品有了,市场在做,还缺什么?
|
||||
|
||||
|
||||
3 号说,缺执行强的人;
|
||||
|
||||
线下管人、培训人很强,半天能培训一个人,情景模拟销售,能扛住提问就算过;
|
||||
|
||||
线上不知道进度怎么约束。
|
||||
|
||||
|
||||
线上找纯执行的很难,你约束不了。
|
||||
|
||||
|
||||
先做闭环,看到流水再聊分钱——成交一单分多少,先打样;
|
||||
|
||||
开派对也可以直接讲你的方法,线上可行就让他们按你的来,拿到结果人自然多。
|
||||
|
||||
|
||||
3 号说,像劳务派遣,绘图我给钱你画完;
|
||||
|
||||
但以后会有多场景、多宠物的交互,可能接近游戏公司或动画公司,需要很多人才。
|
||||
|
||||
|
||||
你先跑通一两条线,网吧或商场都行。
|
||||
|
||||
|
||||
网吧的话:送电影服务器、桌面做个工具,有人点就分成——05 年干过,当时优酷还没出,网络差,厦门国贸三楼搞了中央电影服务器,底下网吧送服务器,桌面用 ASP 写了个类似优酷的看片工具。
|
||||
|
||||
|
||||
《满城尽带黄金甲》一上,一天后台两三万流水;
|
||||
|
||||
厦门当时 70 家左右网吧,基本都铺了。
|
||||
|
||||
|
||||
前提是之前已经拿了网吧桌面广告位:鼠标键盘耳机包了,成本 200 多一个网吧,网吧自己买要一千多,等于 200 多包了几十到几百台电脑的桌面,信任有了,送服务器才顺。
|
||||
|
||||
|
||||
后来上海一个姓廖的投资人投了钱买硬件,直接铺网吧;
|
||||
|
||||
优酷出来、网好了,项目就黄了,小亏。
|
||||
|
||||
|
||||
3D 打印你要是铺网吧或商场,要么送设备占位置,要么租金加分红;
|
||||
|
||||
商场谈「设备拖过去、帮你做呈现」,一天不少于 1000 块也有人干。
|
||||
|
||||
|
||||
先打样板:一天 1000,一个月 3 万,分你 1 万 5,你愿不愿意投设备?
|
||||
|
||||
看到流水再谈分工。
|
||||
|
||||
|
||||
设备是创想的,可以找创想要资源;
|
||||
|
||||
总设备钱得有人出,你才有量,第三方掏钱卡点就多。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有人问怎么进群。
|
||||
|
||||
|
||||
搜小程序,里面都是文章;
|
||||
|
||||
每天会把大家分享的内容写成小节,生意逻辑、需要什么,上面都有。
|
||||
|
||||
|
||||
有小小一点规模才会写进去,不会每场都写,有时稍微提一下。
|
||||
|
||||
|
||||
生财有术跟这种模式有点像,霸榜很多年;
|
||||
|
||||
会费 1000 块,进圈子,资源怎么匹配、怎么约,各凭本事。
|
||||
|
||||
|
||||
有人说是广东人,在商会做志愿者很多年,端茶送水、混脸熟;
|
||||
|
||||
以前在武汉卖手机、回收、修手机,晚上下班去商会混,慢慢很多人找他,会费 1000 一个月就回本。
|
||||
|
||||
|
||||
圈子就是这样,先交费进圈,再谈匹配。
|
||||
|
||||
|
||||
生财有术体量大,很多人分享项目,但项目要人能执行——人从哪来、专业的人从哪来、资金够不够,都得自己想;
|
||||
|
||||
纯看项目只能略知一二,执行才是大头。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
后面聊到房地产。
|
||||
|
||||
|
||||
7 号说,14 亿房产、13 亿人,不看好;
|
||||
|
||||
除了主流城市、核心城市吸虹还有一点空间,其他都没爬升空间了,下行是必然,政策小拉升而已。
|
||||
|
||||
|
||||
大项目跟普通人关系不大,但跟你有关系的小机会可以参与。
|
||||
|
||||
|
||||
国家队进来收房,就有量,有量就有交易,有一小波拉升;
|
||||
|
||||
手上有房、等着卖的这一波就赶紧出。
|
||||
|
||||
|
||||
炒房的人拿的价和普通人拿的价不一样;
|
||||
|
||||
能得利的、跟自己相关的就动,不行就扛着,算好每月利息和杠杆成本。
|
||||
|
||||
|
||||
场上也有人在做收不良资产、个人资产膨胀,拿钱、房票、政策、批量尾房折上折,拿房成本低,抗风险。
|
||||
|
||||
|
||||
行业都一样,拼谁有想象力、谁能坚持、谁钱袋子扛得住;
|
||||
|
||||
条件不成熟就不动,钱放着吃利息,等条件齐了再动。
|
||||
|
||||
|
||||
多学科组合、五行八卦那种,福建广东很信;
|
||||
|
||||
有个做智能空间的大神,纯分享,线下聊聊天,人家找他咨询一次 40 万。
|
||||
|
||||
|
||||
先闭环,再分钱;
|
||||
|
||||
等条件够了再动,不迟。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
今天 173 分钟。
|
||||
|
||||
|
||||
赋能 10 个人随缘,先有项目、讲清楚、能链接再说;
|
||||
|
||||
小程序超级个体、资源群、加入vip会员群都在,做切片的、做副业的找 4 号。
|
||||
|
||||
|
||||
Soul 每月 60 万~100 万曝光、1 万~2 万人进派对,导流 20~50 块一个微信,10 个人 200 块能转化 1000 来块链路就通;
|
||||
|
||||
开派对没后端的,房主给产品给后端,30 天捆绑一起分。
|
||||
|
||||
|
||||
做 IP 线下招人快、贵,线上筛一两百才出三五执行的;
|
||||
|
||||
他律可以试,但难持久,最后还是自己加运气。
|
||||
|
||||
|
||||
3D 打印、网吧、商场,先打样板见流水再谈分工;
|
||||
|
||||
05 年网吧电影服务器也是先拿桌面、再送服务器,满城尽带黄金甲一天两三万。
|
||||
|
||||
|
||||
房地产下行,小机会跟自己相关的可以参与,看不懂就别碰;
|
||||
|
||||
收不良、房票、尾房折上折,等条件成熟再动。
|
||||
|
||||
|
||||
这个夏天,一定会有人接到果。
|
||||
|
||||
|
||||
先闭环,再分钱;
|
||||
|
||||
条件齐了再动,不着急。
|
||||
318
2026每日派对干货/第114场-人跟人差别,以前没 AI 差 100 倍,有 AI 差 1 万倍。.md
Normal file
318
2026每日派对干货/第114场-人跟人差别,以前没 AI 差 100 倍,有 AI 差 1 万倍。.md
Normal file
@@ -0,0 +1,318 @@
|
||||
# 第114场|人跟人差别,以前没 AI 差 100 倍,有 AI 差 1 万倍
|
||||
|
||||
|
||||
人跟人差别,以前没 AI 差 100 倍,有 AI 差 1 万倍。
|
||||
|
||||
|
||||
你还在纠结菜叶有没有虫眼,别人已经让 AI 写报表了。
|
||||
|
||||
|
||||
2026 年 3 月 3 日,上午 6:33。
|
||||
|
||||
|
||||
第 114 场,163 分钟;
|
||||
|
||||
场观 42360,进房 445 人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
我开派对,核心很简单:六点到九点没事,早上精神,找人聊聊天。
|
||||
|
||||
|
||||
以前一个人散步,走到公司;
|
||||
|
||||
|
||||
去公司也无聊,不如在派对里跟几百个人过一遍话题。
|
||||
|
||||
|
||||
今天有人问:你们做电竞还招人吗?
|
||||
|
||||
|
||||
招。
|
||||
|
||||
|
||||
能力过关、有私域操盘手经验、有 Macbook、AI 每个月消耗超过 1000 块的,我们发工资,1 万到 2 万 5 之间,看能力。
|
||||
|
||||
|
||||
厦门。
|
||||
|
||||
|
||||
用的越多我们越开心;
|
||||
|
||||
|
||||
你用三个月和用一年水平不一样,一个月连 1000 块都耗不到,要么没在干活,要么时间都耗在找免费工具上了。
|
||||
|
||||
|
||||
2 号问:AI 除了剪视频,私域还有什么工具?
|
||||
|
||||
|
||||
后端比前端重要。
|
||||
|
||||
|
||||
你打好知识库,有人加到你微信,接在数字员工底下,让他维护客户、看朋友圈、点赞评论、发有温度的话,有意向再真人介入,人效就高。
|
||||
|
||||
|
||||
前端工具太多太杂,不一定好用。
|
||||
|
||||
|
||||
我在 Soul 上也有导流,全程公开,你进小程序就知道——卡若创业派对,搜一下,点一下名字,AI 会来加你、打招呼、发信息。
|
||||
|
||||
|
||||
上线两个礼拜,日活几千,效果还可以。
|
||||
|
||||
|
||||
3 号说:我最大问题是前端,以前一天能来上千上万个客户,现在 100 万播放量才几十个。
|
||||
|
||||
|
||||
那就把视频做到极致。
|
||||
|
||||
|
||||
以前一天一个,现在用 AI 一天 10 个、100 个,一样是怼量。
|
||||
|
||||
|
||||
抖音能让你上就上,不像 Soul 发视频还删你。
|
||||
|
||||
|
||||
分发可以找别人发。
|
||||
|
||||
|
||||
手头 43 个人跟着发瞬间,我剪好他们发,发就有钱,有客资也给钱,卖会员也给钱,一个普通宝妈平均一个月 800 到 5000。
|
||||
|
||||
|
||||
你发一个动作就有收益,跟你捆绑 30 天,有人付款都跟你有关系。
|
||||
|
||||
|
||||
内容我出,流量我导,他们只做一个动作:发视频。
|
||||
|
||||
|
||||
有人问:网上很多东西是不是假的?
|
||||
|
||||
|
||||
99% 是假的,1% 是真的。
|
||||
|
||||
|
||||
你要自己去识别;
|
||||
|
||||
|
||||
不识别,生意没法做。
|
||||
|
||||
|
||||
互联网没成本,线下有——你公司在那儿,骗一次试试,越大的公司风险越大。
|
||||
|
||||
|
||||
线下违约成本高,线上瞎扯容易,所以更要靠你自己分辨。
|
||||
|
||||
|
||||
觉得假的就笑一笑走,不用链接;
|
||||
|
||||
|
||||
觉得真的、能做,就做,做了就别怀疑。
|
||||
|
||||
|
||||
易经讲的就是:先收集信息,多到过载,再分辨、辩证,在自己认知内确定的事,就去干。
|
||||
|
||||
|
||||
判断不够就换圈子,最简单的办法就是换圈子。
|
||||
|
||||
|
||||
世界上谁带你挣钱?
|
||||
|
||||
|
||||
没人带。
|
||||
|
||||
|
||||
挣钱你要付出努力;
|
||||
|
||||
|
||||
分辨清楚,愿意合作就来我往,不愿意就再找。
|
||||
|
||||
|
||||
挣 100 块你开心,你就是挣钱的;
|
||||
|
||||
|
||||
挣一个亿你不开心,你也是不挣钱的。
|
||||
|
||||
|
||||
看你的欲望和生存环境。
|
||||
|
||||
|
||||
你既然决定了,就坚定地去做;
|
||||
|
||||
|
||||
别让 10 个领 3000 块工资的人跟你说不能做,你就不做了。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
场上有人聊招人、聊私域、聊真假,也有人聊具体生意。
|
||||
|
||||
|
||||
南风做文玩核桃,私域电商,客单价 1000 到大几千过万,不是直播间十块八块那种。
|
||||
|
||||
|
||||
面视、六面图、原视频、自然光、尺寸、克重都上,不满意付个邮费寄回,确定要了有打底、锦盒、终身包退。
|
||||
|
||||
|
||||
一天发 10 个左右视频,每个曝光 500 到 1000,一天加微信多的时候 10 个左右,少的话五六个;
|
||||
|
||||
|
||||
一单 400 到 500,不打折能到 800、900。
|
||||
|
||||
|
||||
前两天没人打扰,头一天一单 400,第二天一单 500,以量取胜,投入多得到就多。
|
||||
|
||||
|
||||
他之前招代理被封号,三个号全没了,好友、朋友圈、瞬间都被清空。
|
||||
|
||||
|
||||
平台有风控,我们现在才把引流路径优化好,不让你做容易被风控的事;
|
||||
|
||||
|
||||
他是在被打死之后才知道要优化。
|
||||
|
||||
|
||||
要说数据,就得自己记:一天多少曝光、加几个微信、一周成交几单、一单赚多少。
|
||||
|
||||
|
||||
比如一天 1 万曝光加 10 个微信,一周加 50 个成交 1 单、赚 1000,那一个加过来的人成本就是 20 块,你才能量化努力和回报。
|
||||
|
||||
|
||||
5 号分享怎么招人、怎么问对的问题。
|
||||
|
||||
|
||||
他在鄂州园博园 7 天卖 2 万桂花糕,请了三个大学生,其中一个是他问志愿者「有没有同学愿意兼职」,前两个说没有,第三个想了半天说「你觉得我怎么样」——有勇气。
|
||||
|
||||
|
||||
我当场情景模拟:我当顾客为难你,你顶得住就第二天来上班。
|
||||
|
||||
|
||||
不是要标准答案,是要看你能不能顶住连续提问。
|
||||
|
||||
|
||||
行业积累、常识储备、对人观察,问对问题就能在短时间里判断一个人合不合适。
|
||||
|
||||
|
||||
尊重人、情绪稳定、好好说话、找一项运动坚持、保持好奇,这些听起来简单,做得到的人不多。
|
||||
|
||||
|
||||
一人公司、AI 创业,最怕一个人闷头搞;
|
||||
|
||||
|
||||
一定要接触人,不然走不远。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
6 号做长白山野生食品出口、支付平台、IDC 监控,三个板块;
|
||||
|
||||
|
||||
7 号做毛巾生产,想扩客。
|
||||
|
||||
|
||||
毛巾利润薄,零售不现实,走 B 端找连锁、理发店、批发商,或者品牌采购,关系跟硬实力都要有。
|
||||
|
||||
|
||||
纯私域获客成本高,毛巾复购可以但客单价低,后端产品组合少,没有 IP 很难;
|
||||
|
||||
|
||||
要么学恒安搞直播间烧钱做 C 端,要么供应链+私域搭 AI 扫码加微、寄货即获客,但运营成本很重,私域人才 1 万 5 到 5 万,半年 100 万到 200 万烧出去,磨三个月半年才出结果。
|
||||
|
||||
|
||||
我最后说了几句。
|
||||
|
||||
|
||||
我们派对每个月一两万人进来,我天天在表达,你觉得我会缺客户、缺流量、缺合作伙伴吗?
|
||||
|
||||
|
||||
不缺。
|
||||
|
||||
|
||||
我在上面找人、找钱、找资源,找了好多,不开玩笑,每天都在做。
|
||||
|
||||
|
||||
你把项目讲清楚,目标人群、价格、交付说清楚,有人感兴趣就链接;
|
||||
|
||||
|
||||
讲不清楚,没人帮你整理,你找别人整理也没人理。
|
||||
|
||||
|
||||
我每天都有小结,切片团队几十个人在做分发,我给他们钱,他们发完你的项目有人知道、有人来链接,你在内容里点一下名字,AI 自己去加对你感兴趣的人——这就是赋能。
|
||||
|
||||
|
||||
开派对我亏钱在做。
|
||||
|
||||
|
||||
李无聊来公司,我给他买了 17 万的服务器;
|
||||
|
||||
|
||||
那么多人在公司喝水、聊天,都是成本。
|
||||
|
||||
|
||||
但我在派对认识的供应链级别不一样,全国性的。
|
||||
|
||||
|
||||
比如服务器,原来一年四十多万,在 Soul 认识一个给腾讯做供应链的,17 万搞定,省了二十几万。
|
||||
|
||||
|
||||
2 号管理卖昭通苹果,我都没听过,他送了我好几箱,我转送股东,好吃,后来一直买、送礼,股东说可以做成送礼套餐,我就跟 2 号说弄个价格、给销售分钱,生意就搭起来了。
|
||||
|
||||
|
||||
都是莫名其妙的链接。
|
||||
|
||||
|
||||
每天 400 到 600 个人在房里,你上去讲,等于每天开几百人的会;
|
||||
|
||||
|
||||
你去哪个展馆能跟 400 到 600 个人集中聊?
|
||||
|
||||
|
||||
没有。
|
||||
|
||||
|
||||
所以表达清楚、坚持表达,就不缺人和机会。
|
||||
|
||||
|
||||
先讲清楚,再谈合作;
|
||||
|
||||
|
||||
讲不清楚,连机会都没有。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
今天 158 分钟,437 人进房,停留 8 分钟。
|
||||
|
||||
|
||||
Soul 广点通已经能投流了,ROI 算得过来就可以拉满;
|
||||
|
||||
|
||||
跟 17 年抖音太像,有起飞的机会。
|
||||
|
||||
|
||||
Soul 人群 15 到 25 岁占 78.3%,二次元、文创、AI、NFT 全是关键词。
|
||||
|
||||
|
||||
我们切片团队四十多个人,免费培训、免费教 AI、发视频还给钱;
|
||||
|
||||
|
||||
接下来 38 场,目标从 1 万人里赋能 10 个人,做成一人公司、超级个体,一起玩。
|
||||
|
||||
|
||||
做副业的联系 4 号;
|
||||
|
||||
|
||||
有项目、要进资源群或会员群的,私聊 2 号。
|
||||
|
||||
|
||||
派对里能解决的尽量派对里解决,私下交流浪费彼此时间。
|
||||
|
||||
|
||||
表达清楚,就不缺人;
|
||||
|
||||
|
||||
坚持表达,机会会自己找上来。
|
||||
270
2026每日派对干货/第115场|一天改变,可控的事先做.md
Normal file
270
2026每日派对干货/第115场|一天改变,可控的事先做.md
Normal file
@@ -0,0 +1,270 @@
|
||||
# 第115场|一天改变,可控的事先做
|
||||
|
||||
|
||||
事业再好,家庭这一环不能省。
|
||||
|
||||
|
||||
家和谐、有烟火气,人聚过来,钱才聚过来。
|
||||
|
||||
|
||||
2026 年 3 月 4 日,上午 6:38。
|
||||
|
||||
|
||||
第 115 场,156 分钟;
|
||||
|
||||
场观 36974,进房 484 人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
Soul 推荐机制最近改了一轮。
|
||||
|
||||
|
||||
一开房只要有聊天,很容易就到 10 个人;
|
||||
|
||||
|
||||
以前新号要等 10 分钟、20 分钟才推人,现在限制放开了,直接推。
|
||||
|
||||
|
||||
6号怡然聊聊家庭和家族生意。
|
||||
|
||||
|
||||
有人住平房,一年两档口 8000 块,楼下 80 平、楼上住 400,和搭档一起;
|
||||
|
||||
|
||||
18 年底破产过一次,关店关过十几次,都是钱断了、家庭内耗,一吵就离家出走、去开店。
|
||||
|
||||
|
||||
我接话:找伴侣很重要;
|
||||
|
||||
|
||||
家里面和谐、有烟火气、能互相谦让、互相道歉,才容易聚人聚钱。
|
||||
|
||||
|
||||
道歉如果不是心甘情愿的,要双倍还回去,不然负能量会 2 到 10 倍还回来。
|
||||
|
||||
|
||||
风水不是玄的,两人关系好、身体好、厨房有烟火气,花都长得好,人跟钱才会聚过来。
|
||||
|
||||
|
||||
同一人说在做「桂花糕社交」:无差别送,想链接的人就送桂花糕和茶叶,每月成本 1 万多,年底送得更多,回了一点本还没完全回本;
|
||||
|
||||
|
||||
家里人说拿家里的钱做人情世故。
|
||||
|
||||
|
||||
送礼要前置,你带头送,送完还要时不时提醒对方,不能送完就等别人想起你;
|
||||
|
||||
|
||||
客人吃你嘴短,送糕点还会分享,比送烟只有一个人享受强。
|
||||
|
||||
|
||||
他们看不到你的价值,你走是对的;
|
||||
|
||||
|
||||
回来第一投两个月,一个景区店就做了 12 万营业额。
|
||||
|
||||
|
||||
家庭比事业重要;
|
||||
|
||||
|
||||
很多人搞着搞着忘了,生意好的时候觉得所有人该配合你,等你下滑或钱又出去,他们不这么认为。
|
||||
|
||||
|
||||
要么一直怂,要么一直雄起,一直雄起不太可能,所以先把家里稳住。
|
||||
|
||||
|
||||
一开始做任何事都非常孤独;
|
||||
|
||||
|
||||
脱离原来的圈子、从零开始,没钱的时候千万别想着借钱维持,借钱是在害人害己。
|
||||
|
||||
|
||||
房地产下行,谁还敢借;
|
||||
|
||||
|
||||
越往下越损人脉,自己走出来、从头开始更好。
|
||||
|
||||
|
||||
能把控的先做,不可控的少纠结。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
一命二运三风水,四积阴德五读书,六名七相八敬神,九交贵人十养生。
|
||||
|
||||
|
||||
越往上越不可控,命运不可控;
|
||||
|
||||
|
||||
能控的是后面几条。
|
||||
|
||||
|
||||
第十养生能控,身体好、精神好,贵人才愿意跟你合作;
|
||||
|
||||
|
||||
敬神是信仰,内心有信仰别人更愿意合作;
|
||||
|
||||
|
||||
名是心理暗示,相是视觉锤——见面第一眼就是脸,气色好别人就愿意跟你做。
|
||||
|
||||
|
||||
把身体照顾好、家庭关系做好、有敬仰之心,前面几条才会顺;
|
||||
|
||||
|
||||
大家老练 1 到 5,其实 6 到 10 才是可控的。
|
||||
|
||||
|
||||
南风小程序里的介绍要填完整,不该显示的让远志他们处理;
|
||||
|
||||
|
||||
人家点一下有兴趣才能加到你微信。
|
||||
|
||||
|
||||
南风说数据:每天发十七八条、二十条,账号几天、一星期就开单,一单纯利润好几百,专注的话月入过万;
|
||||
|
||||
|
||||
5 点起来是因为 5 点才开始推流,精力分散就没那么理想。
|
||||
|
||||
|
||||
听话照做、选对赛道、坚持,群里筛过很多人,亲戚朋友看你挣钱只看到钱,真让他执行做不到。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
5 号做本地生活、家电维保,想从直播转短视频,在找编导。
|
||||
|
||||
|
||||
同城看内容本身;
|
||||
|
||||
|
||||
没做过编导不太建议自己做,要么怼流量、要么走关键字搜索。
|
||||
|
||||
|
||||
编导和剪辑最好分开——编导是脑力活,想前三秒怎么抓、怎么拍、怎么配合;
|
||||
|
||||
|
||||
剪辑是手动活,想怎么剪得好看、SOP 怎么跑。
|
||||
|
||||
|
||||
好的编导不会给你剪,两个岗;
|
||||
|
||||
|
||||
日更成本高,编导加剪辑人工就出去了。
|
||||
|
||||
|
||||
5 号说在聊一个编导,保底 1 万,对赌两月达标 5 万。
|
||||
|
||||
|
||||
他要 30% 就做项目切割,比如你只有抖音一个板块,就切「抖音板块」给他 30%,不影响大盘;
|
||||
|
||||
|
||||
马云也不是给财务总监整个阿里,是给淘宝、天猫、支付宝几个板块。
|
||||
|
||||
|
||||
立个项、专门一块给他占比例,切割清楚就好。
|
||||
|
||||
|
||||
6 号做人力资源咨询,国资委、山东企业面试 50~60 人,教方法论、陪跑。
|
||||
|
||||
|
||||
AI 能结合——拍三张脸加简历,性格、MBTI、岗位匹配可以自动化,人事做不了 AI 能做;
|
||||
|
||||
|
||||
测完变成流量入口,测性格、顺便找工作,直接加到公司人事微信,比 Boss 高效。
|
||||
|
||||
|
||||
我们公司自己开发的,拍三张脸就知道适不适合,再对岗位;
|
||||
|
||||
|
||||
组 8 个人可能要筛 30 到 40 人,有这一套筛 10 个 20 个就够,损耗少一半,省一二十万。
|
||||
|
||||
|
||||
个人定位做一次 2 万多,公司付,做完知道这个人大概多久会离开、跟岗位匹不匹配。
|
||||
|
||||
|
||||
他们内部孵化了独立项目,线下沙龙获客,帮企业搞简历、性格、人岗匹配;
|
||||
|
||||
|
||||
找 ENTJ、ENFP、ESTP 这类人去拓市场就行。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
5 号麦先生做城市礼物,联系了几家商会,潮汕、成都、珠三角、武汉,做礼品袋定制、印刷要在仓库旁边;
|
||||
|
||||
|
||||
鄂州园博园 7 天卖 2 万多,顺丰机场有可能成中部小义乌,政府在谈运营、拿流量换位置。
|
||||
|
||||
|
||||
你动作做太多了,木木的小技工也是做甜品、好几家店,你俩可以私聊;
|
||||
|
||||
|
||||
我只介绍业务、不挣这个钱,有信息消化掉就行。
|
||||
|
||||
|
||||
9 号问:网红要把他的人放进我私域,把流量导走,怎么办?
|
||||
|
||||
|
||||
你看中他什么?
|
||||
|
||||
|
||||
他看中你什么?
|
||||
|
||||
|
||||
你有客户、他能把流量变现,就两种——产品合作或流量合作。
|
||||
|
||||
|
||||
产品合作:他提供产品,你运营、你维护,流量握在自己手上。
|
||||
|
||||
|
||||
流量合作:你把流量给他,他运维,签协议分钱,最后一定被他拿走,但你挣到你那份。
|
||||
|
||||
|
||||
不想被导走就产品合作,让他找人教你、你边做边看,后面你自己维护,不要让他的人维护。
|
||||
|
||||
|
||||
招商为什么难做?
|
||||
|
||||
|
||||
拉完皮条就没了;
|
||||
|
||||
|
||||
用户到你手上,自己做运维、做服务,今年更偏这个方向。
|
||||
|
||||
|
||||
江左做私域 AI 员工:RPA 控电脑、加好友、群发、朋友圈、AI 评论发圈、防折叠、智能回复、分时建群,用豆包,数百到千把、全功能千把,代理几百、用户十几万。
|
||||
|
||||
|
||||
个微风控和矩阵要解决;
|
||||
|
||||
|
||||
公司化一个员工控四五台电脑、一台电脑五个微信,客户重要,你们找做私域渠道的合作会快。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
Soul 给的流量又翻了二三十。
|
||||
|
||||
|
||||
开派对这条线可以弄个 SOP,告诉想开的人怎么开派对挣钱:后端产品已经有了,前面就是引流到小程序、捆绑 30 天,或者加自己微信自己拉群,一天三五个很正常,会累积。
|
||||
|
||||
|
||||
派对里能解决的尽量派对里解决;
|
||||
|
||||
|
||||
做副业联系 4 号,进资源群、会员群联系 2 号 3 号 4 号,备注来意。
|
||||
|
||||
|
||||
发广告没人看,不如上麦分享。
|
||||
|
||||
|
||||
家庭先于事业;
|
||||
|
||||
|
||||
能把控的从养生、从关系、从名字和面相做起,再谈命运。
|
||||
324
2026每日派对干货/第116场|钱是大风刮来的,怎么抓住?.md
Normal file
324
2026每日派对干货/第116场|钱是大风刮来的,怎么抓住?.md
Normal file
@@ -0,0 +1,324 @@
|
||||
# 第116场|钱是大风刮来的,如何接住
|
||||
|
||||
|
||||
真正赚钱的,别人为什么要拿出来分享?
|
||||
|
||||
|
||||
有些连说都不能说。
|
||||
|
||||
|
||||
你看到的明面生意,坐下来算数据,很多根本不挣钱;
|
||||
|
||||
|
||||
挣钱的在别处。
|
||||
|
||||
|
||||
2026 年 3 月 5 日,上午 6:25。
|
||||
|
||||
|
||||
第 116 场,154 分钟;
|
||||
|
||||
进房 418 人。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
有人问量化交易、AI 能不能帮着挣钱。
|
||||
|
||||
|
||||
量化本质上是策略厉害,多因子轮动、你的经验厉害,不是 AI 厉害;
|
||||
|
||||
|
||||
AI 只是帮你执行、方便理解。
|
||||
|
||||
|
||||
懂的自然懂,不挣钱的用也没用,源码都公开了。
|
||||
|
||||
|
||||
没 100 万别跑,基础 100 万都没有,手续费都跑不赢。
|
||||
|
||||
|
||||
炒了快 20 年,这东西作用不大;
|
||||
|
||||
|
||||
想靠自动交易发财,不可能。
|
||||
|
||||
|
||||
很多程序员幻想搞个量化工具就能挣钱,不是的。
|
||||
|
||||
|
||||
策略和灵魂才重要,工具只是加速。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
我炒大 A 很少碰,一年花不了两三个小时;
|
||||
|
||||
|
||||
买外汇玩一玩,伊朗的跌多了就买 10 万块,博个输赢,跟当年买特朗普币一样,有就有没有就算。
|
||||
|
||||
|
||||
昨天场上有人做家电维修、桂花糕、人力资源、私域操盘、AI 数字员工,一个板块下面很多细分。
|
||||
|
||||
|
||||
人力资源也一样:有高端猎头挖连锁门店运营总、年薪 60 万跳槽变 100 万;
|
||||
|
||||
|
||||
有人事邀约一天用 AI 邀约 50 个 100 个、一个 10 块;
|
||||
|
||||
|
||||
有高级人才鉴定,测你多久会离职、跟岗位匹不匹配。
|
||||
|
||||
|
||||
3 号做猎头,问能不能用 AI 筛简历——应届生加 AI 可以筛,但高端岗位要深挖一个人脑子里想什么,不然叫过来也没用。
|
||||
|
||||
|
||||
大厂出来的,我用过好几个阿里新浪抖音百度;
|
||||
|
||||
|
||||
除非想裁员,比如 30 人团队想减掉七八个,找一个大厂的人来,大家不适应就会走,前两年就这么干过。
|
||||
|
||||
|
||||
不成熟的团队丢一个 ESTJ 进去,也容易散。
|
||||
|
||||
|
||||
6 号问灰的。
|
||||
|
||||
|
||||
第一桶金很多人是灰的;
|
||||
|
||||
|
||||
慢慢再转正。
|
||||
|
||||
|
||||
桂花糕、连锁门店利润很薄,要让利、赋能大、成本重,后端没别的东西就挣不到。
|
||||
|
||||
|
||||
我自己也赚过灰的:07 年做电竞,11 年拿德国兄弟的魔兽外挂代理,很多人不会英文不会德语,用谷歌翻译一点点聊。
|
||||
|
||||
|
||||
进价 18 块,卖 68 一块,工作室 50 台 100 台机子,月费 6000 到 1 万续费;
|
||||
|
||||
|
||||
拉了个群全是工作室和想做工作室的人。
|
||||
|
||||
|
||||
那一年 400 多万流水,利润 70% 以上。
|
||||
|
||||
|
||||
后来暴雪告了作者,作者不做了;
|
||||
|
||||
|
||||
年卡终身卡还能用,等于 0 成本又卖了一年,又赚了一倍。
|
||||
|
||||
|
||||
灰的赚过就赚过,现在法律完善了,17 年网易告过,360 多万,18 万摆平。
|
||||
|
||||
|
||||
本质是渠道生意、做得早、又稀缺;
|
||||
|
||||
|
||||
现在卷、更新快、工作室挣不到钱,卖工具的人也难。
|
||||
|
||||
|
||||
场上有人说 Soul、讯飞输入法算不算灰——贩卖个人信息、打字就进抖音流量池推精准视频,本质也是灰的,只是藏得深。
|
||||
|
||||
|
||||
欢鹿电竞开网吧,挣的不是加盟费,3 个点覆盖不了成本;
|
||||
|
||||
|
||||
挣的是云机的钱、算力补贴。
|
||||
|
||||
|
||||
谷子店 Green Party 那种,22 年从湖南湖北来厦门开 4 家 5 家,现在到处开,15 到 25 岁年轻人、IP 动漫,净利润率比商场平均高很多,能做到五六十;
|
||||
|
||||
|
||||
品牌线下很多是赚吆喝。
|
||||
|
||||
|
||||
今年不适合扩张;
|
||||
|
||||
|
||||
更多是赋能、超级个体、阿米巴,让优秀的人自己担一部分成本拿更高分成。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
咨询行业下滑,企业没钱了;
|
||||
|
||||
|
||||
有钱的做细节做实效,没到请咨询那一步。
|
||||
|
||||
|
||||
查信息太容易,GPT 一搜就有。
|
||||
|
||||
|
||||
但专业的人加精准经验、加资源,还是有用的。
|
||||
|
||||
|
||||
有个北京的大神给我做规划定位,股东付了 10 万,聊两小时很受益;
|
||||
|
||||
|
||||
有用,但价格高。
|
||||
|
||||
|
||||
4 号做职业规划,六七千一单,北上广深客户;
|
||||
|
||||
|
||||
一次一两个小时,后续微信交流。
|
||||
|
||||
|
||||
从价值看,不少人薪酬能提升 15% 到 20%;
|
||||
|
||||
|
||||
有的转行成功,有的掉坑,看人、看执行力、看运气。
|
||||
|
||||
|
||||
深圳共享人才、杭州好做;
|
||||
|
||||
|
||||
厦门人才洼地,适合养老。
|
||||
|
||||
|
||||
北京不少脑子想的是搞点钱就跑,骗投资人;
|
||||
|
||||
|
||||
火云邪神卖鞋 29 块 9、成本 70,圈了一两亿,鞋厂亏五六亿、几千人失业,定性诈骗进去了。
|
||||
|
||||
|
||||
投资环境不好,我只投内部孵化、知根知底、有确定性数据的;
|
||||
|
||||
|
||||
对外一分钱不投。
|
||||
|
||||
|
||||
老婆被戏称鼓浪屿包租婆、投资失败率百分百,INFJ 共情一打钱就遇跑路;
|
||||
|
||||
|
||||
但也有一次 13 年 14 年给一个刚离婚的朋友 2 万、房子给他住,那人记到现在,去年发家了,追了 12 年一起成立金融公司,直接起飞——所以有些看起来是坑,以后也不是坑。
|
||||
|
||||
|
||||
家庭的事:一命二运三风水,四积阴德五读书,六名七相八敬神,九交贵人十养生。
|
||||
|
||||
|
||||
第十是养生,身体和身边人好了才能遇贵人;
|
||||
|
||||
|
||||
能把控的就是身体、家庭和睦。
|
||||
|
||||
|
||||
起势的时候家里花开了、厨房有烟火气、两个人互相谦让、有矛盾立即认错。
|
||||
|
||||
|
||||
一辈子分母足够大,分子就那样,拉平就没事。
|
||||
|
||||
|
||||
储蓄罐多装美好,矛盾大的时候拿出来消费一下。
|
||||
|
||||
|
||||
4 号 23 年进 ICU,五病齐发,差点没了;
|
||||
|
||||
|
||||
之后整个人变了,特别在意饮食健康、家庭底层。
|
||||
|
||||
|
||||
选伴侣是人生最重要的事,比赚钱比事业都重要;
|
||||
|
||||
|
||||
女人是家庭最好的风水。
|
||||
|
||||
|
||||
---
|
||||
|
||||
|
||||
Soul 上开派对,流量很好;
|
||||
|
||||
|
||||
肯开的人按 123 步骤执行、有点内容,很容易拿到一两万人。
|
||||
|
||||
|
||||
我都公开,新号也能搞四五百人,方法论 12345 照着做就行。
|
||||
|
||||
|
||||
一两百人总能吧?
|
||||
|
||||
|
||||
一个月就几千人,做啥生意不能做。
|
||||
|
||||
|
||||
地摊平台:SM、厚朴 2000 多摊,和小伙伴一起,海辰储能投了;
|
||||
|
||||
|
||||
熬了 7 年亏了 5 年,翔安房子都抵押过。
|
||||
|
||||
|
||||
做的是摊位出租、餐车租给摊主,ZF 给地、解决就业;
|
||||
|
||||
|
||||
SM 地铁口 900 块、一天人流 3 万要摇号,夜市 2000 到 6000。
|
||||
|
||||
|
||||
软二科创园想过做夜市、9 块 9 直播卖饭碾压美团二三十块,成本压到极致。
|
||||
|
||||
|
||||
5 号做环保规划、ESG、科技项目申报,问 AI 怎么结合、智能体怎么变现。
|
||||
|
||||
|
||||
传统模式是认识 A 介绍 BCD;
|
||||
|
||||
|
||||
信任背书重,很难线上化。
|
||||
|
||||
|
||||
智能体只能做中间流程、引流对接;
|
||||
|
||||
|
||||
先到小程序里让人推、再链接到你,比较有机会。
|
||||
|
||||
|
||||
6 号做自媒体、帮中医馆导流,客资 80 到 120;
|
||||
|
||||
|
||||
要么先把量做上去、一天导 10 个 20 个再谈合作,要么立个项一起投预算、按比例分、绑深一点。
|
||||
|
||||
|
||||
体量足够大,对方才愿意往深了聊。
|
||||
|
||||
|
||||
每天 6 点到 9 点,四百到六百人;
|
||||
|
||||
|
||||
一个月一万个人,碰不到一个合适的合作者?
|
||||
|
||||
|
||||
能碰到几个。
|
||||
|
||||
|
||||
五个挑一个,事就成了。
|
||||
|
||||
|
||||
不然几万块请一个人,可能没结果,学会了有结果还撬你项目。
|
||||
|
||||
|
||||
做副业、做切片的联系管理,123 都可以;
|
||||
|
||||
|
||||
有资源群、副业群、会员群。
|
||||
|
||||
|
||||
今年 4 到 6 月 all in 电竞,做了 19 年想发力;
|
||||
|
||||
|
||||
网吧回本两年,去年 Q4 全国 21 万家,资本没地方去只能往这儿怼。
|
||||
|
||||
|
||||
有开网吧的、做游戏主播的、私域操盘手、AI 研发有作品的,可以来聊。
|
||||
|
||||
|
||||
钱是大风刮来的——做着做着到一定度,就有人来链接;
|
||||
|
||||
|
||||
身体和家庭才是最大的本钱。
|
||||
59
2026每日派对干货/第117场|流水百万挣八千,你还干不干?.md
Normal file
59
2026每日派对干货/第117场|流水百万挣八千,你还干不干?.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 第117场|流水百万挣八千,你还干不干?
|
||||
|
||||
流水百万挣八千,不是失败,是验证。
|
||||
|
||||
2026 年 3 月 6 日,上午 6:31。
|
||||
|
||||
第 117 场,154 分钟;场观 51602,进房 503 人。
|
||||
|
||||
---
|
||||
|
||||
点卡进货 0.97 卖 0.98,流水 100 万挣 8000,利润薄到很多人看不上。
|
||||
|
||||
但这一单验证了两件事:高频出手能把随机性压成稳定现金流;机制写死、风控设阈值,情绪来了动作不变形。
|
||||
|
||||
点卡的本质不是暴利而是周转,周转快就能用样本量把随机性压成稳定现金流。
|
||||
|
||||
风控是阈值,阈值过线就触发,退款、冻结、封店一起上;通道要备份、账号要备份、客服要备份,最坏情况要提前写成流程。
|
||||
|
||||
规则写在前面,执行放在中间,复盘放在后面。
|
||||
|
||||
先把出局概率压到最低,再谈好运。
|
||||
|
||||
---
|
||||
|
||||
运气不是等来的,是设计出来的。
|
||||
|
||||
设计分三层,次序不能乱:第一层先不出局,第二层进场被选,第三层接住放大。
|
||||
|
||||
第一层,不出局。现金流安全垫、健康、可替代收入源、不过度负债、避免单点依赖,这是反脆弱底盘。不出局比赌对更重要,能活着才有机会等到下一次风口。点卡的风控逻辑就是这一层:最坏情况先有答案,真遇到就按流程走,而不是临场靠感觉硬扛。情绪一上来动作就变形,变形就会出局,所以机制要写在前面。
|
||||
|
||||
第二层,进场被选。把自己放进高密度机会场,这场的机会场是派对房,一场 300~600 人进房,偶尔 700 人,两小时相当于一场线上会展;固定高频出手,每周发内容、约人、做试单,频率比灵感重要,把出手做成日历事件别等情绪来带路,运气偏爱样本量;做可被选择的标准件,标签写清楚、解决什么问题服务谁怎么交付、给出可验证证据比如案例数据作品,入口做短一步就能合作,入口越短被选中的概率越高;用降低他人风险影响选择,报价结构、交付边界、里程碑、退款保底、试用试单、对赌条款写死,别人选你本质是在控风险,这一场最直接的例子是把「搞不到流量退款」和「内部价 365」写成规则,让对方先敢试再谈放大。
|
||||
|
||||
第三层,接住放大。建立信任资产,信任等于持续一致加可预测交付加公开证据,信任越厚越容易被默认选择,能交付就交付不能交付就提前说清楚边界;把人脉当路由器不是收藏品,关键不是认识多少人而是能把价值在网络里路由起来,资源对接、信息过滤、机会撮合,越像基础设施越常被想起,派对房的价值是把需求和供给撮合到能落地的那 3%~5%;做有杠杆的表达,内容作品产品方法论都是杠杆,杠杆越大别人看到你的概率越高,把每次好运都沉淀成可复用素材;把恐惧决策从系统里剔除,预算上限、止损线、决策清单先写出来,机制的意义是让最坏情况先有答案;把不确定变成可选项,少做不可逆的大赌,多做小成本可撤退上行无限的尝试,多渠道多产品雏形多合作试单,机会是试出来的不是等出来的;选正反馈环境,赛道组织伙伴是否奖励正确行为,环境惩罚努力就别硬扛;把好运变复利,沉淀 SOP、包装案例、提炼方法论、产品化渠道化,把一次性好运变成持续性能力。
|
||||
|
||||
---
|
||||
|
||||
先不出局,再进场被选,再接住放大;次序乱了,运气接不住。
|
||||
|
||||
把风控写成流程,把分配写死在合同里,把出手做成日历事件。
|
||||
|
||||
---
|
||||
|
||||
合作的核心不是热情,是把风险和分配写死。
|
||||
|
||||
钱从哪里来、花到哪里去、挣回来怎么分,不写清楚必然翻车。
|
||||
|
||||
钱打公账、明码标价、财务监管,是降低内耗的最短路径;没有预算的项目最容易崩,谁请客谁垫钱说不清就变成欠账。
|
||||
|
||||
这一场聊链接合作、派对流量、教培,核心都是同一套:把价值写清楚、把流程写清楚、把价格写清楚。
|
||||
|
||||
派对里跑项目,装龙虾和代充都验证了同一件事:标准件、低摩擦入口、降低他人风险,把价值写清楚把流程写清楚把价格写清楚,对方缺利润就会主动找你。
|
||||
|
||||
想做副业、做切片的,联系管理就行,发就有钱,流程跑通就持续给。
|
||||
|
||||
---
|
||||
|
||||
运气等于在场频率乘可被选择,再除以出局风险。
|
||||
|
||||
流水百万挣八千,验证的是底盘稳;底盘稳了,才有资格谈放大。
|
||||
131
2026每日派对干货/第118场|运气是选出来的,不是等出来的.md
Normal file
131
2026每日派对干货/第118场|运气是选出来的,不是等出来的.md
Normal file
@@ -0,0 +1,131 @@
|
||||
# 第118场|运气是选出来的,不是等出来的
|
||||
|
||||
运气是选择叠加出来的,不是求来的。
|
||||
|
||||
2026 年 3 月 7 日,上午 6:39。
|
||||
|
||||
第 118 场,190 分钟;场观 74873,进房 586 人。
|
||||
|
||||
---
|
||||
|
||||
人无非在做很多选择,你的选择可控,别人的选择你不可控。
|
||||
|
||||
运气,就是你的选择叠加了别人的选择,再加上天气、环境、事件这些外在因素,三重叠加等于运气。
|
||||
|
||||
比如招人,对方选不选你来面试你不可控,但你选不选他、看不看得懂简历,你可控。
|
||||
|
||||
看懂简历你就邀约,这是可控,他来了,能力很强、跟公司很匹配,那是他的选择,你控制不了,那就是运气。
|
||||
|
||||
运气好,就是好的人、好的事、好的环境同时选了你,所以提升运气不是意念,是改磁场。
|
||||
|
||||
改磁场靠行动,不靠想,想不动。
|
||||
|
||||
---
|
||||
|
||||
怎么提升?三条主径:提升影响力,提升识别能力,提升圈子。
|
||||
|
||||
第一条,提升影响力,多说多曝光,更多人知道你,机会自然多,被选中的概率自然高。
|
||||
|
||||
最简单的动作,每天发一条朋友圈,坚持发。
|
||||
|
||||
开派对就是提升曝光量,这场每天 300~700 人进房,场观到过 5 万多,每月一两万人在听 10~15 分钟,这就是在堆曝光。
|
||||
|
||||
第二条,提升识别能力,不踏坑,别在错的人、错的事上浪费机会。
|
||||
|
||||
看不懂就不碰,看不懂就是不确定,不确定就别决策。
|
||||
|
||||
每天跟一个高质量的人交流,或者每天看一个跟自己专业相关的视频、一本书,做笔记,都是在提升识别力。
|
||||
|
||||
第三条,提升圈子,圈子决定你的格局和机会池。
|
||||
|
||||
圈子越小越精,越值钱,全国电竞圈子核心就 8 个人,最大的五家天猫游戏老板都在里面,谁要联系谁,发条微信就行。
|
||||
|
||||
入圈的前提是你有分量、有筹码,不是求来的,是别人选你。
|
||||
|
||||
---
|
||||
|
||||
三条主径往下拆,就是十二个可执行动作。
|
||||
|
||||
一、找高密度机会场,机会最大的地方才有运气。AI 是当前最大的机会场,派对名加 AI,聊事跟 AI 相关,公司全用 AI 提效,你 all in 进去,机会自然多。
|
||||
|
||||
二、高频出手,样本足够多,运气才会到你这。派对两三个小时快速撮合 a、b、c、d、e,能聊到一块的拉群直接开干,快速试错、快速链接,高频才有叠加。
|
||||
|
||||
三、做可被选择的标准件,让别人选你而不是你求人。做电竞、做私域,能带给电商公司什么、带给游戏公司什么,非常清楚,每天在展示这个,曝光够了,是被选择。
|
||||
|
||||
四、降低别人的风险,别人敢选你,才选你。做切片不用你花钱,还给你钱、培训、分钱,全部降低风险,2000 块就能做最小闭环,不用租办公室、不用凑十万块。
|
||||
|
||||
五、建立信任,言行一致、持续叠加,信任才会厚。有场地、有团队、有持续在做的事,一年两年都在做同一件事,别人更愿意跟你合作。
|
||||
|
||||
六、把人脉当路由器,不是收藏品。不是认识你就放着,是你需要他、他需要你,委托他去调配资源,利益分清楚。
|
||||
|
||||
七、做有杠杆的表达,放大你的声音。派对里说一遍,录下来写成文章发小程序,再发朋友圈,再让粉丝分发赚钱,一次表达撬动几千几万人。
|
||||
|
||||
八、剔除恐惧决策,看不懂、害怕的事,不要决策。量化为什么容易赢?它只在可控数据模型底下做最小闭环,不靠感觉,不靠赌。
|
||||
|
||||
九、永远在牌桌上,不要出局。出局就是破产、没钱参与,控制好预算、跑好最小单位模型,一直在牌桌上,才能等到下一波运气。
|
||||
|
||||
十、把不确定变成可选项,期权思维。炒股方法很多,看不懂就是不确定,只做确定的事,比如 11 点半到 1 点放消息的时间窗口,看得懂就做,看不懂不碰。
|
||||
|
||||
十一、做正反馈的事,小成功推动大成功。小成功获得小自信,中成功获得中自信,螺旋上升,力所能及不断叠加。
|
||||
|
||||
十二、把好运变成复利,流程化、案例化、方法论化。当这些变成体系、框架、流程,运气就不是一次性的,而是可以复利的。
|
||||
|
||||
---
|
||||
|
||||
这一场有人问正财跟偏财的区别。
|
||||
|
||||
正财的人想的是投产比、解决市场需求、成本多少、最坏情况是什么、稳定向上。
|
||||
|
||||
偏财的人想的是投机、all in 搏杀、多少回报多少比例、靠运气挣钱、大起大落。
|
||||
|
||||
正财是稳定现金流、可复制模型,偏财是看懂窗口、快进快出,本质都是同一套,只是你心里更偏向哪一种。
|
||||
|
||||
项目立项、融资、分钱也一样:一开始不投钱是浅合作,一投钱就有很多卡点。没有统一预算,谁付饭钱、谁付车钱都会吵。把钱交公账、统一分配,大家用同一笔预算做事,才容易推进。能力再强,不认同就别合作;占多少比例按投多少钱算,不要说能力抵股。
|
||||
|
||||
---
|
||||
|
||||
**运气是留给有准备的人:首先你得拥有这个东西,并且不断在曝光。**
|
||||
|
||||
拆迁砸到你头上,首先你得是村里的、有户口,你才有资格被砸中。
|
||||
|
||||
想被选中,就得先让自己变成可被选中的标准件,然后在高密度机会场里高频出现。
|
||||
|
||||
---
|
||||
|
||||
这一场还聊了 3D 打印和游戏代充。
|
||||
|
||||
3D 打印那位穿人字拖的潮汕人,模式很简洁:跟网吧合作,把机器丢到网吧,跟网吧分成,和充电宝逻辑一样,再提供设计稿。游戏代充分白的和灰的,白的赚一个点,灰的偏财,你要自己识别选哪条路。
|
||||
|
||||
开派对想有结果,三点把控好就行:第一主题,取个好标题;第二找你最舒服的聊天形式,不用管别人怎么说;第三有结果路径,聊这么久是给会所赋能、门店赋能还是业务赋能,得能闭环。
|
||||
|
||||
想做副业、做切片的,联系管理就行,有电脑、能坚持的可以先跑一遍流程,发就有钱。
|
||||
|
||||
---
|
||||
|
||||
有人问亲戚想来学习、入行,该怎么带。
|
||||
|
||||
我的建议是别带。带亲戚风险极大:他做不好会怪你,要你介绍工作、出了问题也算在你头上,消耗你时间还会传你坏话。推荐都不要推荐,顶多指个路——哪个方向工资高、哪家公司发 1.5 倍,你自己去应聘,别说认识我。没有利益关联的亲戚一律不碰,过好自己,能给你赋能的才值得花时间。
|
||||
|
||||
人脉当路由器用:做残疾人的电竞赛事,我出预算、对方出人和场地,600 个残疾人基地当场报名,我把负责人当路由器去调配资源,我不用亲自对接每一个人,节奏和 SOP 列清楚,发一条朋友圈就能推进,结果自然来。这是运气,也是你把自己变成可被选择、又能降低别人风险之后,别人选你的结果。
|
||||
|
||||
---
|
||||
|
||||
提升运气没有玄学,就是清单化、可执行。
|
||||
|
||||
每天发一条朋友圈,每天见一个有价值的人或看一个专业相关视频并做笔记,每天在机会场里露脸。派对控制在 30~50 人在线最舒服,再往上平台会推你刷礼物、做任务,那是给平台打工;不贪那个数,每天三五百人进房、一两万人能听 10~15 分钟,曝光已经够用。
|
||||
|
||||
有决心开派对的,可以给自己设他律:一天没开就发 100 块红包到群里,20 天坚持下来,再谈流量和变现。自律的起点往往是他律。
|
||||
|
||||
场上有人分享过减肥 80 斤:每天跳郑多燕 10 分钟、骑 7 公里车、晚上 7 点后吃饭,把动作收到两个最有效的,其余砍掉,再拉个群、一天没掉称就发 666 红包,用他律逼自己。结果一样,动作越少越能坚持。做曝光、做派对也一样,先选一两个可执行的动作,跑出正反馈再叠加。
|
||||
|
||||
圈子要缩,不能一直大而泛。从大圈缩到小圈,像吃鸡跑毒,最后在一个小圈里都是对的人;全国电竞核心就 8 个人,游戏厅投资圈也就十几二十人,找到那个能跟你直接合作的一两个人就够了,不需要认识所有人。
|
||||
|
||||
---
|
||||
|
||||
这一场聊 3D 打印、游戏代充、正财偏财,本质都是同一套:你在什么场、用什么规则、和谁一起选出来的结果。
|
||||
|
||||
想做副业、做切片的,联系管理就行,发就有钱。
|
||||
|
||||
---
|
||||
|
||||
运气可以改变,改变靠做,不靠想。
|
||||
121
2026每日派对干货/第119场|开派对的初心是早上不影响老婆睡觉.md
Normal file
121
2026每日派对干货/第119场|开派对的初心是早上不影响老婆睡觉.md
Normal file
@@ -0,0 +1,121 @@
|
||||
# 第119场|开派对的初心是早上不影响老婆睡觉
|
||||
|
||||
早起不是为了开派对,早起是为了不吵老婆睡觉。
|
||||
|
||||
2026 年 3 月 8 日。
|
||||
|
||||
第 119 场,154 分钟;场观 50692,进房 446 人。
|
||||
|
||||
---
|
||||
|
||||
平常早上 4 点起来,复盘、写文章、写公告,干完活到 6 点,6 点开派对,纯粹聊天,两三个小时。
|
||||
|
||||
为什么不是 5 点把老婆挖起来聊聊天、遛遛狗?因为吵她睡觉。
|
||||
|
||||
初衷是不吵老婆,开派对核心就这个,不然平常就遛遛狗吵吵她。
|
||||
|
||||
所以去隔壁书房,自己聊、跟大家聊,聊完老婆也醒了,家里也舒服。
|
||||
|
||||
这个初心自然而然形成了风格:娱乐型社交,允许说废话,不刻意做体系。
|
||||
|
||||
才来 Soul 四个月,开派对三个半月,119 场,七八个管理、几十人做切片、副业群、小程序,全是自然形成的。
|
||||
|
||||
千里宝宝问我勤快吗?勤快?懒,懒得半死,每天太闲了,几乎都在睡觉。
|
||||
|
||||
早上 11 点或下午 3 点才会客,一周排不了两个面试,平常公司泡茶、睡觉,其他时间都是大家主动拜访的多。
|
||||
|
||||
懒是人的本性,谁想勤快?
|
||||
|
||||
但懒有懒的活法:动作足够简单、有利可图、正反馈,就能坐得住。
|
||||
|
||||
开派对 30 秒就开,7 个手机,5 个安卓备用号,进房间直接开,不纠结取名、不纠结装修,动作足够简单。
|
||||
|
||||
发切片就给钱,发瞬间就有收益,获客资再给钱,有利可图;谁受益谁坚持,正反馈来了就能坐得住。
|
||||
|
||||
九麦问我刚 ICU 出来没多久?一年多了,3 月 20 号进的,五病齐发,差 5 分钟就没命,又救回来了;活着要留下点什么,留点内容在互联网上,万一下次回不来了就没了。
|
||||
|
||||
走过鬼门关之后,想的角度不一样,更多是顺着自己喜好做事,顺便留下点东西,所以坚持写书、写日记、天天哔哔,尽可能自然来的事。
|
||||
|
||||
初心不一样,结果就不一样。
|
||||
|
||||
---
|
||||
|
||||
早起先把活干完再开派对,不吵家人。
|
||||
|
||||
动作足够简单:30 秒能开就别纠结取名装修。
|
||||
|
||||
有利可图、正反馈:谁受益谁坚持,发就给钱。
|
||||
|
||||
开派对就是筛选:能坚持发 7 天、14 天的人再去找管理。
|
||||
|
||||
做好自己,不消耗能量,闲聊留给闲的时候。
|
||||
|
||||
---
|
||||
|
||||
有人问 Soul 的业务模型。
|
||||
|
||||
开派对多分享,很多人来分享最赚钱的一个月,写成文章,派对几小时生产内容;几十人想做切片的在群里,给钱做切片,分发到瞬间引流;一块钱一节浓缩进小程序,谁分享谁拿 90% 收益,30 天锁定;后端推流业务、撮合项目、招人,就这样。
|
||||
|
||||
等于把抖音成熟的模式在 Soul 上做一遍,抖音 17 年就开始做,18 年起飞,整个生命周期都参与了,现在流量很差,Soul 还有机会。
|
||||
|
||||
光派对每月 60~100 万曝光,一两万人进房,捞几个客户很容易;分发是 20~100 倍的曝光量。
|
||||
|
||||
但我说 Soul 现在都是花钱的,不是靠这个挣钱,主要是让管理和参与的人能看到钱、参与进来;想做副业、做切片的,联系管理就行,发就有钱,流程跑通就持续给。
|
||||
|
||||
有人问切片是什么形式?一块钱在哪买?
|
||||
|
||||
想做副业的人联系管理,副业只干一件事:把视频发到瞬间,就给钱,做多少动作给多少钱;别人看了瞬间私聊问内容在哪,切片只有 30 秒到 8 分钟,理解不深,所以后端做了小程序,3 小时浓缩成一块钱,30 秒能看完;付一块钱,90% 收益归分享的人,30 天锁定,后续消费也跟他绑定。
|
||||
|
||||
以前 3 小时派对想提取 10~30 个主题,得花一个礼拜剪,现在 AI 半小时能剪 10~30 个,发多容易,发就给钱。
|
||||
|
||||
我说开派对本身就是筛选:能开派对的人再来,能坚持发视频 7 天、14 天的人再去找管理,这是基础筛选;如果对方不能跟你合作、跟你没关系,就不要闲聊,除非很闲;每天都要做这动作时,尽可能不消耗自己能量,做好自己就行。
|
||||
|
||||
核心就两个字:筛选。
|
||||
|
||||
---
|
||||
|
||||
阿满接麦,说刷着牙在听,想听听业务逻辑,能不能代入一下自己的赛道。
|
||||
|
||||
阿满主业做贷款,兼职做保险,又在炒股,都绕着金融走。
|
||||
|
||||
我说金融这块有投资一家助贷公司,可以讲一讲它跟 AI 怎么结合:金融最缺客户,后端 30 人,沉淀 12 年,跑银行对接、助贷放款;前端把 AI 手机分发给银行职员、法务、财务,对方只要把客户加到微信,AI 来点赞、评论、转发、激活,中台 30 人负责线下成交,分钱比例写死在流程里,跳单约束住,就不会出事。
|
||||
|
||||
厦门最大的助贷公司干了二十几年,想并它,并不动,因为跑的数据比他们获客和投产高三倍。
|
||||
|
||||
阿满问有没有合作机会,我说可以找叶总聊,看在你城市能不能再搞一个;联系方式分段发,或者搜卡若创业派对小程序,点右上角头像,AI 会自动加你。
|
||||
|
||||
阿满问能不能把金融 AI 获客体系嫁接到保险,成本大概多少?
|
||||
|
||||
成本很重,去年 7 月到现在预算花了一百七十几万,总预算二百六十几万,打磨体系不是开玩笑的;但前端的人几十块钱就能参与,挣几百可能上万,后端磨了大半年才摸出来,前端就是丢个手机,发就给钱。
|
||||
|
||||
有人问,还记得来时路吗?还不是很强的时候,怎么建立信任?
|
||||
|
||||
直接去做,直接执行,没有别的。
|
||||
|
||||
早年卖游戏外挂,加工作室群,天天加、天天发、天天聊,人家就来找你买;买着买着发现利润可以,就去找全世界最好的渠道,发邮件发三个月,不会英文用谷歌翻译发德文,终于拿下德国总代,一分钱没花,靠认真做事、长期给别人带来价值;那一年 11 年还是 12 年,卖了 430 多万;进价 18 块,卖 68 块,工作室 50 台 100 台,月费 6000 到 1 万。
|
||||
|
||||
信任不是求来的,是做出来的;门槛是自己定的,后端产品能不能跟你融合,看你怎么设计包装、解决目标人群的需求。
|
||||
|
||||
---
|
||||
|
||||
有人分享深圳电工开房,24 小时房,流量高峰主持,平时几个管理顶,场观经常 100 人,各行业大佬刷礼物,但还没找到变现;我说这种房价值低,因为人群没筛选,报来报去没有筛选,钱在筛选出来的人身上;李亚鹏 33 万人众筹 500 多万,最终 2300 多万是几个大佬 500 万、1000 万砸的,筛选出来的优秀的人用业务体量和体系解决需求、赚应得的钱,顺便给李亚鹏借力;你要众生平等解决所有人需求,不可能都挣到钱,筛选才能出钱出利润。
|
||||
|
||||
九麦问学国学、易经怎么学的,试了几次没学成。
|
||||
|
||||
我说方法很简单:先看序和说明,再看目录,找最感兴趣的章节,把那几章看完,再快速扫整本;曾仕强讲得很有节奏感,两小时能看完七七八八;国学、易经是为了向内求、了解自己,才能驾驭 AI,而不是被 AI 控制。
|
||||
|
||||
有人问睡眠不好怎么办,冥想、呼吸法都试了没用。
|
||||
|
||||
想睡好觉,先把事放下,每天放下一件事,不要想,就放下;做减法一段时间,睡眠就好;你都快爆炸了还造个钟把自己变炸弹?要循序渐进让身体习惯,我现在一躺 30 秒就睡着,前一句跟老婆聊天,后一句就睡了。
|
||||
|
||||
人智力最高的时候是起床之后两小时;4 点起床,6 点开派对,脑子刚好活。
|
||||
|
||||
我说 Soul 房间等级看右上角鸽子,3 级能设 2 个管理,4 级能设 3 个;没投流,Soul 现在 1000 曝光 6~10 块,算下来派对到微信 20~30 块进一个人;广点通可以投 Soul 流量了,要审核,商业化刚开始。
|
||||
|
||||
上周六 700 多人,上周曝光量比上上周又涨了 30%,光上周就 20 多万快 30 万。
|
||||
|
||||
做副业的、做切片的,联系 2 号 3 号管理;想做金融的,联系 7 号;有靠谱项目想写进电子书的,来派对分享;小程序搜卡若创业派对,内容都有,想合作、想对接,点头像 AI 会加你。
|
||||
|
||||
---
|
||||
|
||||
初衷是不吵老婆,开派对核心就这个。
|
||||
217
2026每日派对干货/第120场|发视频就有钱,这才是最低门槛的AI副业.md
Normal file
217
2026每日派对干货/第120场|发视频就有钱,这才是最低门槛的AI副业.md
Normal file
@@ -0,0 +1,217 @@
|
||||
# 第120场|发视频就有钱,这才是最低门槛的AI副业
|
||||
|
||||
发朋友圈不赚钱,发视频就有钱,这才叫副业。
|
||||
|
||||
2026 年 3 月 10 日,上午 6:50。
|
||||
|
||||
第 120 场,165 分钟。
|
||||
|
||||
---
|
||||
|
||||
有人担心号被封,不敢发切片,不敢发任何东西。
|
||||
|
||||
我说最该考虑的不是封号,是这号能不能把钱发出来。
|
||||
|
||||
在 Soul 上买号发、发完被封再买号发,不是重点,重点是算投产比:一个视频能挣 300 还是 3000,能不能覆盖 30 块一个号的成本。
|
||||
|
||||
一个号一天发 30 个视频,哪怕只挣 300 块,一个视频 10 块钱,号钱早回来了。
|
||||
|
||||
副业的第一原则,从来不是“安全”,是“值不值得”。
|
||||
|
||||
发视频就有钱,是因为后台已经把工作流打磨好了。
|
||||
|
||||
---
|
||||
|
||||
现在的派对,每天 2~3 小时聊天,智能纪要、AI 提取、AI 切片,20 分钟能把 3 小时的内容拆成 10~30 条主题。
|
||||
|
||||
素材库里有现成的标题、文案、封面,切片发到瞬间和抖音、小红书、视频号,发一条有一条的钱。
|
||||
|
||||
你不需要研究算法、不需要研究剪辑、不需要研究文案,只需要会一件事:把我们给你的片子发出去。
|
||||
|
||||
副业的动作简单成这样,只有两种人做不到:一种是完全不信,一种是完全不动。
|
||||
|
||||
想做副业、做切片的,联系管理就行,发就有钱,流程跑通就持续给。
|
||||
|
||||
---
|
||||
|
||||
**副业要想长久,顺序只有三个:先能手动挣钱,再用 AI 放大,再想全自动。**
|
||||
|
||||
只在头脑里想 AI 副业的,永远只会买课;
|
||||
|
||||
能靠自己手动赚到第一块钱的,AI 只是在帮你把 1 变成 100;
|
||||
|
||||
真正的自动,是把工作流写清楚,让机器照着跑,而不是你什么都不做。
|
||||
|
||||
---
|
||||
|
||||
现在的切片副业,本质上就是帮别人做“分发”。
|
||||
|
||||
我们在前端开派对、聊项目、拆逻辑,把赚钱的方法讲给你听;
|
||||
|
||||
中台用 AI 把内容切成 10~30 条短视频,自动加字幕、自动加封面、自动生成标题;
|
||||
|
||||
你在后端只做一件最简单的事:发视频。
|
||||
|
||||
发到瞬间、发到抖音、发到小红书、发到视频号,平台越多越好。
|
||||
|
||||
一条视频 500 播放,跟 100 条视频 5 万播放,结果不一样,钱也不一样。
|
||||
|
||||
副业不是多聪明,是多发、多试、多坚持。
|
||||
|
||||
---
|
||||
|
||||
很多人说教你赚钱的人都是在赚你的钱,这句话没错,但只说了一半。
|
||||
|
||||
更完整的是:**你挣得越多,他才有得赚,这才叫值得的关系。**
|
||||
|
||||
你想白嫖,他想白嫖,最后谁也赚不到钱。
|
||||
|
||||
我们现在的模式是:副业的人不投钱,只投时间;
|
||||
|
||||
我们出 AI、出工作流、出素材、出小程序,你发切片,就能拿到客资、拿到收益。
|
||||
|
||||
一开始不给你 AI,是因为看你能不能连续发 3~7 天,连这个动作都做不到,AI 给你也没用。
|
||||
|
||||
副业不是考智商,是考执行力。
|
||||
|
||||
---
|
||||
|
||||
中间有小伙伴上麦问:AI 这个世界很挣钱吗?
|
||||
|
||||
我说 AI 不决定你挣不挣钱,它只是效率更高的一台电脑。
|
||||
|
||||
以前是 Word、五笔、Excel,现在多了 Cursor、小龙虾、TRAE,本质没变,该挣钱的人还是挣钱,不该挣钱的人只是多了新的借口。
|
||||
|
||||
真正决定收入的,是你用它来放大的是什么工作流。
|
||||
|
||||
你原来就能稳稳挣 1 块钱,AI 能帮你把这个 1 放大成 100;
|
||||
|
||||
你原来 0,都不知道自己能做什么,AI 只能放大你的迷茫。
|
||||
|
||||
---
|
||||
|
||||
这场我们聊了很久的小龙虾。
|
||||
|
||||
营销号在抖音上天天吹:装完小龙虾一夜暴富、全自动印钞,背后真正赚钱的是两拨人——帮你装小龙虾的,和卖 API TOKEN 的。
|
||||
|
||||
我们算过一笔账:认真跑小龙虾,一天 TOKEN 消耗 1000 多块,一个开发一个月就要烧掉六七千甚至一万。
|
||||
|
||||
它背后是十几个研发在磨模型,几个人在磨话术、磨流程,还有人盯着平台接口、盯着风控,几十个人一起,才做出一个你看起来只要“点一下就行”的工具。
|
||||
|
||||
所以对普通人来说,真正适合的不是去做下一个小龙虾,而是接入已经成熟的小龙虾工作流。
|
||||
|
||||
你有苹果电脑,会科学上网,能坚持发片,就可以接入这一条流水线。
|
||||
|
||||
---
|
||||
|
||||
这一场还有个重点:选人比选工具重要。
|
||||
|
||||
做副业加入团队的门槛很简单:
|
||||
|
||||
会科学上网;
|
||||
|
||||
有一台苹果电脑或者 Mac mini;
|
||||
|
||||
能连续发几天视频不喊累。
|
||||
|
||||
其他的 AI、工作流、脚本、剪辑、分发,我们都已经跑顺了。
|
||||
|
||||
你要做的,就是把精力从“学工具”挪到“跑动作”上:每天发多少条、发到多少平台、哪种标题点击高、哪种留资多。
|
||||
|
||||
你只要手动能挣一块钱,用 AI 放大就是 100 块,乘的是倍数,不是奇迹。
|
||||
|
||||
---
|
||||
|
||||
中间我们也聊到自信心和位置感。
|
||||
|
||||
有小伙伴说,自己总觉得不行,别人让做什么,第一反应就是“我不行”。
|
||||
|
||||
我说自信不是靠喊口号,是靠一次次完成小任务堆上来的——
|
||||
|
||||
今天发 3 条视频,明天发 5 条,下周发满 30 条,看到后台真实到账,这种自信最牢。
|
||||
|
||||
还有人说自己样样都懂一点、样样都不精,我说没关系,你只要知道自己适合做什么就够了。
|
||||
|
||||
适合做链接的,就去当管理、当中台,把副业的人、项目方、技术方串起来;
|
||||
|
||||
适合做执行的,就老老实实发视频、剪片、跑数据;
|
||||
|
||||
适合做项目的,就把自己的项目讲清楚,让别人帮你分发、帮你切片、帮你获客。
|
||||
|
||||
每个人站对位置,副业这条线就跑得很顺。
|
||||
|
||||
---
|
||||
|
||||
**副业的本质不是多一份工作,是给你的时间找到第二种变现路径。**
|
||||
|
||||
你以前刷视频只是打发时间,现在刷完顺手发一下,就能给自己多一份现金流。
|
||||
|
||||
你以前只会在群里聊天,现在聊完就能进素材库,被切成几十条片子,帮你引流、帮你找客户。
|
||||
|
||||
你以前觉得 AI 离自己很远,现在只要记住一句话:
|
||||
|
||||
发视频就有钱,这才是最低门槛的 AI 副业。
|
||||
|
||||
|
||||
---
|
||||
|
||||
这一场还有两个我很看重的案例。
|
||||
|
||||
一个是残疾人基地,600 个残疾人,一开始一天只能剪两个视频,只能做最基础的美羊剪辑。
|
||||
|
||||
接入 AI 工作流之后,我们的目标是先把他们提效到一天 200 条,再往上冲到 1000 条。
|
||||
|
||||
他们不需要懂 AI 的底层,只需要按流程点按钮:导入原始视频、等待自动切片、检查一遍、点击分发。
|
||||
|
||||
对他们来说,这是一份稳定工资加社保公积金的全职工作;
|
||||
|
||||
对我们来说,是一条稳定的产能管线,把每天派对 10~30 个主题变成几千条可以全网铺开的内容。
|
||||
|
||||
人效一旦被 AI 放大,副业就从“零工模式”变成了“流水线模式”。
|
||||
|
||||
另一个是跨境项目,几万个小红书账号,准备做系统化的分发。
|
||||
|
||||
前端是海外设美、海外仓、商学院、品牌出海赋能这些主题,后端是统一的客服和成交链路。
|
||||
|
||||
账号矩阵本身不神秘,真正关键的是有没有一套统一的内容结构和分发节奏。
|
||||
|
||||
我们现在做的,就是把派对里的实战内容、复盘、案例、坑位,全部做成“基因胶囊”,丢给小龙虾去跑。
|
||||
|
||||
一个账号每天发 5 条,1 万个账号就是 5 万条,这样的覆盖密度是不可能靠人力长期硬撑的。
|
||||
|
||||
你要做的也不是搭出这一整套系统,而是选一条最适合你的接入口——
|
||||
|
||||
是单纯发切片拿现金,还是接客户做服务,还是带团队做管理。
|
||||
|
||||
---
|
||||
|
||||
如果你现在就想开始,120 场可以给你一条最小路径。
|
||||
|
||||
第一步,认领一个动作:每天发 10 条视频,不管在哪个平台。
|
||||
|
||||
第二步,坚持 7 天,把所有“今天有点累”“明天再说”的借口全部写下来,扔掉。
|
||||
|
||||
第三步,和管理对齐:你是只拿发片的钱,还是想要客资,还是想要后端的服务学习和执行。
|
||||
|
||||
第四步,学会看两组数字:播放量和留资量,明白哪种标题、哪种封面、哪种话题更容易带来咨询。
|
||||
|
||||
第五步,当你能稳定每天发 30 条、每周录入多少条客资都心里有数的时候,再谈 AI 升级和小龙虾接入。
|
||||
|
||||
这条路径没有任何玄学,只有动作和复盘。
|
||||
|
||||
---
|
||||
|
||||
很多人以为副业是多开一个工作窗口,120 场聊下来,我更愿意把副业看成一块“时间资产”。
|
||||
|
||||
你把刷视频、聊天、碎片时间,全部换成一个个可以被记录、被切片、被分发的内容片段,它就从纯消费变成了生产。
|
||||
|
||||
你把原来在群里白聊的项目、行业经验、踩坑故事,拿来在派对里讲一遍,再让几十个人帮你剪成视频、发出去,它就从一对一变成了一对多。
|
||||
|
||||
你把原来只敢想、不敢试的那些小项目,拿到派对上过一遍“众筹评审”,有人能接单、有人能投钱,你就少走很多弯路。
|
||||
|
||||
副业真正稀缺的不是机会,而是愿意连续做 100 场验证的那份笃定。
|
||||
|
||||
我们已经开到第 120 场了,流程一轮一轮迭代,你只要在这个流程里找对位置,就能让时间多一条变现通道。
|
||||
|
||||
发视频就有钱,这才是最低门槛的 AI 副业,也是这一场想留给你的东西。
|
||||
|
||||
56
Gitea同步说明.md
Normal file
56
Gitea同步说明.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 《一场soul的创业实验》→ Gitea 同步说明
|
||||
|
||||
**Gitea 与 GitHub 同路径**:`fnvtk/Mycontent`
|
||||
**Gitea 地址**:<http://open.quwanzhi.com:3000/fnvtk/Mycontent>
|
||||
|
||||
---
|
||||
|
||||
## 一、首次使用(若 Gitea 上还没有本仓库)
|
||||
|
||||
1. 打开 <http://open.quwanzhi.com:3000>,登录 fnvtk 账号。
|
||||
2. 点击「新建仓库」。
|
||||
3. **仓库名称**填:`Mycontent`(与 GitHub 一致)。
|
||||
4. 描述可填:`一场soul的创业实验 · 与 GitHub fnvtk/Mycontent 同步`。
|
||||
5. 创建后**不要**勾选「使用自述文件初始化」,保持空仓库。
|
||||
6. 在本项目根目录执行首次推送(见下一节)。
|
||||
|
||||
---
|
||||
|
||||
## 二、有更新时自动上传到 Gitea
|
||||
|
||||
在项目根目录执行:
|
||||
|
||||
```bash
|
||||
bash scripts/gitea_sync.sh
|
||||
```
|
||||
|
||||
脚本会:如有未提交变更则先提交,再推送到 `gitea` 远程的 `main` 分支。
|
||||
|
||||
**外网环境**(需代理时)可先设置再执行:
|
||||
|
||||
```bash
|
||||
export GITEA_HTTP_PROXY=http://127.0.0.1:7897
|
||||
bash scripts/gitea_sync.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 三、本机已配置的远程
|
||||
|
||||
| 远程名 | 地址 | 说明 |
|
||||
|:---|:---|:---|
|
||||
| origin | https://github.com/fnvtk/Mycontent.git | GitHub 源 |
|
||||
| gitea | http://fnvtk:****@open.quwanzhi.com:3000/fnvtk/Mycontent.git | Gitea 备份 |
|
||||
|
||||
本仓库的 gitea 远程已使用与卡若AI 相同的 Gitea Token(见卡若AI 的 `git remote get-url gitea`),无需再改。若 Gitea 上尚未创建 **Mycontent** 仓库,请先打开 http://open.quwanzhi.com:3000 → 新建仓库,名称填 **Mycontent**,再执行 `git push gitea main`。
|
||||
|
||||
---
|
||||
|
||||
## 四、同时推送到 GitHub 和 Gitea
|
||||
|
||||
```bash
|
||||
git push origin main
|
||||
bash scripts/gitea_sync.sh
|
||||
```
|
||||
|
||||
或先提交后分别推送:`git push origin main && git push gitea main`。
|
||||
30
README.md
30
README.md
@@ -1,30 +0,0 @@
|
||||
# AI phone branding
|
||||
|
||||
*Automatically synced with your [v0.app](https://v0.app) deployments*
|
||||
|
||||
[](https://vercel.com/fnvtks-projects/v0--ap)
|
||||
[](https://v0.app/chat/tPF15XbLAKD)
|
||||
|
||||
## Overview
|
||||
|
||||
This repository will stay in sync with your deployed chats on [v0.app](https://v0.app).
|
||||
Any changes you make to your deployed app will be automatically pushed to this repository from [v0.app](https://v0.app).
|
||||
|
||||
## Deployment
|
||||
|
||||
Your project is live at:
|
||||
|
||||
**[https://vercel.com/fnvtks-projects/v0--ap](https://vercel.com/fnvtks-projects/v0--ap)**
|
||||
|
||||
## Build your app
|
||||
|
||||
Continue building your app on:
|
||||
|
||||
**[https://v0.app/chat/tPF15XbLAKD](https://v0.app/chat/tPF15XbLAKD)**
|
||||
|
||||
## How It Works
|
||||
|
||||
1. Create and modify your project using [v0.app](https://v0.app)
|
||||
2. Deploy your chats from the v0 interface
|
||||
3. Changes are automatically pushed to this repository
|
||||
4. Vercel deploys the latest version from this repository
|
||||
@@ -1 +0,0 @@
|
||||
Mon Dec 29 18:11:24 CST 2025
|
||||
222
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.1 荷包:电动车出租的被动收入模式.md
Normal file
222
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.1 荷包:电动车出租的被动收入模式.md
Normal file
@@ -0,0 +1,222 @@
|
||||
# 1.1 荷包:电动车出租的被动收入模式
|
||||
|
||||
"每个人都在梦想特斯拉帮他挣钱,我现在电动车帮我挣钱。"
|
||||
|
||||
2025年10月21日,周一,早上6点18分。
|
||||
|
||||
Soul派对房里进来一个人,声音很稳。
|
||||
|
||||
他上麦之后,先听了十分钟。
|
||||
|
||||
然后说了一句话:"你讲的被动收入,我做了好几年了。"
|
||||
|
||||
我愣了一下。
|
||||
|
||||
Soul上吹牛的人太多,但这个人的语气不像吹牛。
|
||||
|
||||
---
|
||||
|
||||
"那你是做什么的?"
|
||||
|
||||
"电动车。"
|
||||
|
||||
"电动车?卖车的?"
|
||||
|
||||
”不是,出租的。"
|
||||
|
||||
"出租电动车?"
|
||||
|
||||
"对,在泉州,我有1000辆电动车。"
|
||||
|
||||
派对房里,突然安静了。
|
||||
|
||||
---
|
||||
|
||||
"1000辆?怎么做的?"
|
||||
|
||||
他笑了。
|
||||
|
||||
"其实很简单。"
|
||||
|
||||
"你找一个工厂、工业园区,那里有很多工人,对吧?"
|
||||
|
||||
"工人上下班需要交通工具,骑电动车最方便。"
|
||||
|
||||
"但买一辆电动车要两三千块,很多人舍不得。"
|
||||
|
||||
"那我就租给他们。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"一个月三百六十几块,一天算下来才十几块钱。"
|
||||
|
||||
"工人觉得划算,我也稳定赚钱。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人打字:"那你一个月能赚多少?"
|
||||
|
||||
他说:"1000辆车,一个月就是三十多万流水。"
|
||||
|
||||
"扣掉成本、维护、人工,净利润大概十几万。"
|
||||
|
||||
"关键是,这是被动收入。"
|
||||
|
||||
"车放在那里,每个月都有钱进来。"
|
||||
|
||||
---
|
||||
|
||||
我问:"那你怎么找到这些工厂的?"
|
||||
|
||||
他说:"一开始是自己一家一家跑。"
|
||||
|
||||
"后来我发现,最好的办法是找做人力的人合作。"
|
||||
|
||||
"做人力的,手上有大量的工厂资源。"
|
||||
|
||||
"他给我介绍工厂,我给他分成。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那你现在还在扩张吗?"
|
||||
|
||||
他说:"刚投了100多万,在河源又铺了500辆。"
|
||||
|
||||
我有点惊讶。
|
||||
|
||||
"河源?那不是广东那边吗?"
|
||||
|
||||
他说:"对,我在Soul上认识了一个小伙伴,姓李,大家叫他犟总。"
|
||||
|
||||
"他在河源那边有个工业园区,5万多平,工人非常多。"
|
||||
|
||||
"我们一聊,觉得这个事情可以做,就直接签了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"等等,你们是在Soul上认识的?"
|
||||
|
||||
他说:"对,就是在这个派对房里。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"这可能是我们派对房第一个真正落地的合作。"
|
||||
|
||||
他说:"可不是嘛。"
|
||||
|
||||
"犟总那边做人力,我这边有车,一拍即合。"
|
||||
|
||||
"他负责场地和工人,我负责车和运营。"
|
||||
|
||||
"500辆车拉过去,直接就开始赚钱了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那你这个模式能复制吗?"
|
||||
|
||||
他说:"当然能。"
|
||||
|
||||
"你只要找到有大量人口的地方,工厂、学校、工业园区都行。"
|
||||
|
||||
"然后投车进去,租出去就完了。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"我现在还在看宝盖山那边。"
|
||||
|
||||
"石狮那个理工学校,有两万六的学生。"
|
||||
|
||||
"如果能摆电动车进去,又是一个新的点。"
|
||||
|
||||
---
|
||||
|
||||
我问:"那你这个生意最难的是什么?"
|
||||
|
||||
他想了一下。
|
||||
|
||||
"最难的是找到对的合作伙伴。"
|
||||
|
||||
"你一个人做不了这个事情,你需要有人帮你搞定场地。"
|
||||
|
||||
"场地有了,车铺进去,后面就是运营的事情了。"
|
||||
|
||||
他继续说:"所以我现在花很多时间在Soul上。"
|
||||
|
||||
"因为这里能认识各种各样的人。"
|
||||
|
||||
"做人力的、做地产的、做工厂的,什么人都有。"
|
||||
|
||||
"你多聊,总能找到合适的合作伙伴。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那你还做什么?"
|
||||
|
||||
他说:"车身广告。"
|
||||
|
||||
"我1000辆电动车,每辆车身上都可以贴广告。"
|
||||
|
||||
"一天一辆车才3毛钱,一个月9块钱。"
|
||||
|
||||
"但1000辆车,一个月就是9000块额外收入。"
|
||||
|
||||
"关键是,这个钱几乎没有成本,纯利润。"
|
||||
|
||||
---
|
||||
|
||||
我问:"所以你的生意模式是,车租出去赚租金,车身贴广告赚广告费?"
|
||||
|
||||
他说:"对,两条腿走路。"
|
||||
|
||||
"租金是主要收入,广告是锦上添花。"
|
||||
|
||||
"以后车多了,广告这块收入会越来越高。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,已经快9点了。
|
||||
|
||||
我在派对房里总结了一下。
|
||||
|
||||
"刚才荷包分享的,是一个非常典型的被动收入模式。"
|
||||
|
||||
"什么叫被动收入?"
|
||||
|
||||
"就是你把资产放在那里,它自己给你赚钱。"
|
||||
|
||||
"可以是房子出租,可以是电动车出租,可以是任何有需求的资产。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但被动收入不是躺着赚钱。"
|
||||
|
||||
"前期你要投入资金、要找合作伙伴、要铺设网络。"
|
||||
|
||||
"等这些都做好了,后面才能相对轻松。"
|
||||
|
||||
---
|
||||
|
||||
早上9点12分,荷包说他要去准备出发了。
|
||||
|
||||
"今天500辆车都到河源了,我要过去盯一下。"
|
||||
|
||||
"祝你顺利。"
|
||||
|
||||
"谢了。下次回来给大家汇报进展。"
|
||||
|
||||
派对房里有人说:"这才是Soul的正确用法。"
|
||||
|
||||
我笑了。
|
||||
|
||||
确实,在这里认识的人,在这里谈成的合作,在这里落地的项目。
|
||||
|
||||
这才是商业社会里社交的真正价值。
|
||||
|
||||
不是认识多少人,而是能不能和对的人一起做对的事。
|
||||
|
||||
荷包和犟总,一个有车,一个有场地。
|
||||
|
||||
两个人在Soul上认识,在现实中落地。
|
||||
|
||||
这就是资源整合最简单的样子。
|
||||
|
||||
215
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.2 老墨:资源整合高手的社交方法.md
Normal file
215
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.2 老墨:资源整合高手的社交方法.md
Normal file
@@ -0,0 +1,215 @@
|
||||
# 1.2 老墨:资源整合高手的社交方法
|
||||
|
||||
"有些人手上没有一个项目,但他认识所有有项目的人。"
|
||||
|
||||
2025年10月25日,周六,早上6点15分。
|
||||
|
||||
这是我对老墨的第一印象。
|
||||
|
||||
Soul派对房里进来一个人,声音很稳,不像大多数人那样急着表达自己。
|
||||
|
||||
他上麦之后,先听了十分钟。
|
||||
|
||||
然后说了一句话:"你讲的资源整合,我做了15年。"
|
||||
|
||||
我愣了一下。
|
||||
|
||||
|
||||
---
|
||||
|
||||
"那你是做什么的?"
|
||||
|
||||
"财务。"
|
||||
|
||||
"财务公司?"
|
||||
|
||||
"对,但我不是做账的,我是做资源整合的。"
|
||||
|
||||
这句话,让我来了兴趣。
|
||||
|
||||
|
||||
"你看,一家企业需要做账,对吧?"
|
||||
|
||||
"但做账只是一个入口。"
|
||||
|
||||
"企业还需要什么?税筹、退税、融资、法律、客户资源。"
|
||||
|
||||
"我手上有很多企业客户,每一家都有不同的需求。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"我的生意,就是把A的需求,对接给B的资源。"
|
||||
|
||||
"中间抽几个点。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人打字:"这不就是中介吗?"
|
||||
|
||||
他说:"你可以这么理解。"
|
||||
|
||||
"但我不是普通的中介。"
|
||||
|
||||
"我是有背书的中介。"
|
||||
|
||||
"那你怎么找到这些资源的?"
|
||||
|
||||
"我每天花三个小时,在Soul派对房里听人聊天。"
|
||||
|
||||
我有点惊讶。
|
||||
|
||||
"Soul?"
|
||||
|
||||
他点点头。
|
||||
|
||||
"Soul上什么人都有。做税筹的,做退税的,做供应链的,做融资的。"
|
||||
|
||||
"我每天上麦,不说话,就听。"
|
||||
|
||||
"听他们在讲什么项目,讲什么资源,讲什么需求。"
|
||||
|
||||
"然后我加他们微信,进飞书,慢慢聊。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"三个月,我在Soul上认识了80个老板。"
|
||||
|
||||
"每个老板手上都有不同的资源。"
|
||||
|
||||
"我的工作,就是把他们链接起来。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"他们为什么愿意给你分钱?"
|
||||
|
||||
他说:"因为我给他们带客户。"
|
||||
|
||||
他给我们讲了一个案例。
|
||||
|
||||
"今年年初,我在Soul上认识了一个做退税的老板。"
|
||||
|
||||
"他说,他的退税业务,只针对年流水比较大的企业。"
|
||||
|
||||
"但他找不到客户。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"我手上有很多企业客户,我一筛选,发现有一些符合条件。"
|
||||
|
||||
"我说,我把客户给你,你帮我分成。"
|
||||
|
||||
"他说,怎么分?"
|
||||
|
||||
"我说,你收服务费,分我一部分。"
|
||||
|
||||
"他说,没问题。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那客户为什么愿意接受你的介绍?"
|
||||
|
||||
他说:"因为我给他们做账。"
|
||||
|
||||
"我每个月给他们发财务报表。"
|
||||
|
||||
"报表里面,我会写:您的企业今年缴税XX万,我们有合作伙伴可以帮您优化税务,预计可以节省XX万。"
|
||||
|
||||
"这句话一写,客户就会问我。"
|
||||
|
||||
"我说,我认识一个做税筹的朋友,很靠谱,要不要我介绍给你?"
|
||||
|
||||
"客户说,可以。"
|
||||
|
||||
他看着我。
|
||||
|
||||
"然后我就把客户介绍过去。"
|
||||
|
||||
"客户省了钱,我分了成,那个老板也赚了钱。"
|
||||
|
||||
"大家都开心。"
|
||||
|
||||
---
|
||||
|
||||
有人问:"那你怎么保证那个老板靠谱?"
|
||||
|
||||
他说:"我会先自己测试。"
|
||||
|
||||
"第一次合作,我不会介绍大客户。"
|
||||
|
||||
"我先介绍一个小客户,看他怎么做。"
|
||||
|
||||
"如果他做得好,客户满意,我再介绍大客户。"
|
||||
|
||||
"如果他做得不好,我就不再合作。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"所以我手上的资源,都是经过验证的。"
|
||||
|
||||
"客户信任我,是因为我只给他们推荐靠谱的人。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,又是一阵沉默。
|
||||
|
||||
"为什么大部分人做不了资源整合?"
|
||||
|
||||
"因为他们不舍得分钱。"
|
||||
|
||||
"很多人觉得,我介绍客户给你,你应该感谢我。"
|
||||
|
||||
"但其实,应该是我感谢他。"
|
||||
|
||||
"因为他提供了服务,客户才满意。"
|
||||
|
||||
"我只是做了一个链接。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"所以我每次介绍客户,都会主动提出分成。"
|
||||
|
||||
"我不等他来找我分钱,我先说,这个项目我们怎么分?"
|
||||
|
||||
"这样,大家都觉得我很靠谱。"
|
||||
|
||||
派对房里,有人打字:"学到了。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,已经快9点了。
|
||||
|
||||
我在派对房里总结了一下。
|
||||
|
||||
"刚才那位老板,给了我们一个很好的示范。"
|
||||
|
||||
"什么叫资源整合?"
|
||||
|
||||
"第一,你要认识足够多的人。不是泛泛之交,是知道他们手上有什么资源。"
|
||||
|
||||
"第二,你要有客户。资源整合的本质,是把需求对接给供给。没有需求,你整合不了。"
|
||||
|
||||
"第三,你要舍得分钱。不要想着自己吃肉,别人喝汤。你分得越多,大家越愿意跟你合作。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"最重要的是,你要让所有人都觉得,跟你合作是赚钱的,不是被你赚钱的。"
|
||||
|
||||
---
|
||||
|
||||
早上9点05分,老墨说他要去见客户了。
|
||||
|
||||
临走前他说了一句话:"我手上没有一个项目,但我年入千万。"
|
||||
|
||||
我笑了。
|
||||
|
||||
这就是资源整合的魅力。
|
||||
|
||||
你不需要自己做项目,你只需要认识做项目的人。
|
||||
|
||||
然后把他们链接起来,让每个人都赚到钱。
|
||||
|
||||
你链接得越多,大家越信任你。
|
||||
|
||||
你越舍得分钱,大家越愿意跟你合作。
|
||||
|
||||
这不是什么高深的道理,但能做到的人,真的不多。
|
||||
235
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.3 笑声背后的MBTI:为什么ENTJ适合做资源,INTP适合做系统.md
Normal file
235
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.3 笑声背后的MBTI:为什么ENTJ适合做资源,INTP适合做系统.md
Normal file
@@ -0,0 +1,235 @@
|
||||
# 1.3 笑声背后的MBTI:为什么ENFP/ENTJ适合做资源,INTP适合做系统
|
||||
|
||||
"你们有没有想过,为什么有些人天生就适合做销售,有些人天生就适合做技术?"
|
||||
|
||||
2025年11月7日,周五,早上7点40分。
|
||||
|
||||
那天派对房的气氛特别活跃,一个声音特别有穿透力的女生上了麦。
|
||||
|
||||
她一上麦就说:"我是做MBTI咨询的,专门帮企业做团队分析。"
|
||||
|
||||
"MBTI?那个性格测试?"
|
||||
|
||||
"对,但我不是那种网上随便做做的测试。我是专业的,给企业做人才画像的。"
|
||||
|
||||
派对房里有人打字:"MBTI不是玄学吗?"
|
||||
|
||||
她笑了。
|
||||
|
||||
"你觉得是玄学,是因为你没见过它在商业场景里的应用。"
|
||||
|
||||
---
|
||||
|
||||
我让她分享一下。
|
||||
|
||||
她说:"好,我讲一个真实的案例。"
|
||||
|
||||
"去年,有一家做私域的公司找我,说他们团队有问题。"
|
||||
|
||||
"什么问题?销售业绩很好,但是客户留存率很低。"
|
||||
|
||||
"我去做了一次团队诊断,发现一个很有意思的现象。"
|
||||
|
||||
她停了一下。
|
||||
|
||||
"他们的销售团队,清一色都是ENTJ和ESTP。"
|
||||
|
||||
"你们知道这意味着什么吗?"
|
||||
|
||||
派对房里,有人问:"什么意思?"
|
||||
|
||||
她说:"ENTJ是指挥官型人格,天生喜欢掌控局面,目标导向,执行力强。"
|
||||
|
||||
"ESTP是企业家型人格,喜欢冒险,反应快,善于抓住机会。"
|
||||
|
||||
"这两种人,做销售是一把好手。"
|
||||
|
||||
"但是——"
|
||||
|
||||
她语气一转。
|
||||
|
||||
"他们都有一个共同的问题:不擅长维护关系。"
|
||||
|
||||
"他们喜欢的是'成交'那一刻的快感,不喜欢后续的'服务'。"
|
||||
|
||||
"所以客户买完东西,就再也找不到人了。"
|
||||
|
||||
---
|
||||
|
||||
我问:"那怎么解决?"
|
||||
|
||||
她说:"我建议他们招几个INFJ和ISFJ。"
|
||||
|
||||
"INFJ是提倡者型人格,天生擅长理解他人,共情能力强。"
|
||||
|
||||
"ISFJ是守护者型人格,细心、耐心、喜欢照顾人。"
|
||||
|
||||
"让这两种人做客户服务,客户留存率立刻就上去了。"
|
||||
|
||||
她停了一下。
|
||||
|
||||
"三个月后,那家公司的客户复购率从12%涨到了38%。"
|
||||
|
||||
派对房里,有人打字:"牛逼。"
|
||||
|
||||
---
|
||||
|
||||
我说:"那你觉得,做私域运营,什么性格最适合?"
|
||||
|
||||
她想了几秒。
|
||||
|
||||
"私域运营其实是一个复合型的工作。"
|
||||
|
||||
"它需要三种人:获客的、转化的、服务的。"
|
||||
|
||||
"获客的人,需要ENFP或者ESTP,他们擅长打开局面,建立第一接触。"
|
||||
|
||||
"转化的人,需要ENTP或者ENFJ,他们擅长说服,能把陌生人变成客户。"
|
||||
|
||||
"服务的人,需要INFJ或者ISFJ,他们擅长维护关系,能把客户变成长期用户。"
|
||||
|
||||
她停了一下。
|
||||
|
||||
"如果你的团队只有一种类型的人,那你的业务一定是瘸腿的。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那做技术的呢?什么性格适合?"
|
||||
|
||||
她说:"INTP和INTJ。"
|
||||
|
||||
"INTP是逻辑学家型人格,喜欢分析、喜欢研究、喜欢把事情想透。"
|
||||
|
||||
"INTJ是建筑师型人格,喜欢规划、喜欢系统、喜欢把事情做到极致。"
|
||||
|
||||
"这两种人,做技术、做系统、做产品,都是一把好手。"
|
||||
|
||||
她看着我。
|
||||
|
||||
"卡若,你是什么类型?"
|
||||
|
||||
我笑了。
|
||||
|
||||
"INTP。"
|
||||
|
||||
"难怪你喜欢做系统。"
|
||||
|
||||
---
|
||||
|
||||
我说:"那你能不能给大家讲讲,怎么判断一个人适合做什么?"
|
||||
|
||||
她说:"最简单的方法,看他的第一反应。"
|
||||
|
||||
"比如,你跟一个人说,'我有一个项目,能赚钱'。"
|
||||
|
||||
"如果他的第一反应是'怎么赚?'——这是ENTJ,他关心的是目标。"
|
||||
|
||||
"如果他的第一反应是'为什么能赚?'——这是INTP,他关心的是逻辑。"
|
||||
|
||||
"如果他的第一反应是'谁在做?'——这是ESFJ,他关心的是人,要和靠谱的人做靠谱的事。"
|
||||
|
||||
"如果他的第一反应是'有什么风险?'——这是ISTJ,他关心的是安全。"
|
||||
|
||||
她停了一下。
|
||||
|
||||
"每个人的第一反应,就是他的底层逻辑。"
|
||||
|
||||
"你知道了他的底层逻辑,就知道怎么跟他合作。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那如果我是INFP,适合做什么?"
|
||||
|
||||
她说:"INFP是调停者型人格,理想主义,有创造力,喜欢表达。"
|
||||
|
||||
"你适合做内容、做创意、做品牌。"
|
||||
|
||||
"但你不适合做销售,因为你不喜欢push别人。"
|
||||
|
||||
"你也不适合做管理,因为你不喜欢冲突。"
|
||||
|
||||
她停了一下。
|
||||
|
||||
"INFP最好的位置,是在一个团队里做'灵魂'。"
|
||||
|
||||
"你负责输出价值观,输出理念,让团队有方向感。"
|
||||
|
||||
"但具体的执行,交给ENTJ和ESTJ。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,已经快九点了。
|
||||
|
||||
我在派对房里总结了一下。
|
||||
|
||||
"刚才那位小姐姐,给了我们一个很好的框架。"
|
||||
|
||||
"为什么有些团队做不起来?"
|
||||
|
||||
"不是因为能力不行,是因为人不对。"
|
||||
|
||||
"你让INTP去做销售,他会很痛苦。"
|
||||
|
||||
"你让ENTJ去做客服,他会很暴躁。"
|
||||
|
||||
"每个人都有自己的天赋区间。"
|
||||
|
||||
"把对的人放在对的位置,团队才能跑起来。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"我自己是INTP,所以我喜欢做系统、做流程、做分析。"
|
||||
|
||||
"我不喜欢跟人聊天,但我喜欢研究人。"
|
||||
|
||||
"所以我每天早上6点在Soul开派对,不是因为我喜欢社交。"
|
||||
|
||||
"是因为我喜欢观察。"
|
||||
|
||||
"观察不同的人,怎么思考,怎么表达,怎么做决策。"
|
||||
|
||||
"然后把这些观察,变成系统,变成方法论。"
|
||||
|
||||
派对房里,有人打字:"卡若,你太清醒了。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"清醒不是天生的,是被坑出来的。"
|
||||
|
||||
---
|
||||
|
||||
后来,我经常在Soul派对房里讲MBTI。
|
||||
|
||||
每次讲完,都有人问:"卡若,我是XX类型,适合做什么?"
|
||||
|
||||
我说:"先问自己三个问题。"
|
||||
|
||||
"第一,你做什么事情的时候,时间过得最快?那就是你的天赋区间。"
|
||||
|
||||
"第二,你做什么事情的时候,最容易进入心流状态?那就是你应该深耕的领域。"
|
||||
|
||||
"第三,你做什么事情的时候,别人觉得很难,你觉得很简单?那就是你的核心竞争力。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"MBTI只是一个工具,帮你认识自己。"
|
||||
|
||||
"但认识自己之后,怎么选择,还是要靠你自己。"
|
||||
|
||||
---
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,每个人都有自己的天赋区间。
|
||||
|
||||
不要跟自己的天性对抗,不要和人性对抗。
|
||||
|
||||
找到你的位置,然后深耕。
|
||||
|
||||
ENFP适合做资源整合,INTP适合做系统搭建,ISFJ适合做客户服务。
|
||||
|
||||
每个人都有自己的战场。
|
||||
|
||||
找到它,然后打赢它。
|
||||
176
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.4 人性的三角结构:利益、情感、价值观.md
Normal file
176
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.4 人性的三角结构:利益、情感、价值观.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# 1.4 人性的三角结构:利益、情感、价值观
|
||||
|
||||
"人和人之间的关系,归根结底就三个东西:利益、情感、价值观。"
|
||||
|
||||
2025年11月15日,周六,早上6点32分。
|
||||
|
||||
那天的话题有点深,派对房里聊起了人际关系的本质。
|
||||
|
||||
有人问:"为什么有些合作会散伙?"
|
||||
|
||||
我说:"因为他们只有利益连接,没有其他的。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"利益连接不好吗?"
|
||||
|
||||
我说:"利益连接当然好,但利益连接是脆弱的。"
|
||||
|
||||
"为什么?“
|
||||
|
||||
”因为利益是会变的。"
|
||||
|
||||
"今天你能给我带来利益,我们是朋友。"
|
||||
|
||||
"明天你不能给我带来利益了,我们就不是朋友了。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"你看那些商业合作,为什么很多都不长久?"
|
||||
|
||||
"因为它们只建立在利益的基础上。"
|
||||
|
||||
"一旦利益分配出了问题,或者一方觉得自己吃亏了,关系就破裂了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那情感连接呢?"
|
||||
|
||||
我说:"情感连接比利益连接稳定一些。"
|
||||
|
||||
"因为情感不会因为利益的变化而马上消失。"
|
||||
|
||||
"你跟一个人有感情,即使他暂时不能给你带来利益,你也不会马上翻脸。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但情感连接也有问题。"
|
||||
|
||||
"情感是会消耗的。"
|
||||
|
||||
"如果你们之间只有情感,没有利益,也没有共同的价值观,时间长了,情感也会淡。"
|
||||
|
||||
---
|
||||
|
||||
我举了个例子。
|
||||
|
||||
"比如很多大学同学,毕业的时候感情很好。"
|
||||
|
||||
"但毕业十年之后,很多人就不联系了。"
|
||||
|
||||
"为什么?因为你们之间只有过去的情感,没有现在的利益,也没有共同的追求。"
|
||||
|
||||
"情感慢慢就消耗完了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那价值观连接呢?"
|
||||
|
||||
我说:"价值观连接是最稳定的。"
|
||||
|
||||
"什么叫价值观连接?就是你们相信同样的东西,追求同样的东西。"
|
||||
|
||||
"这种连接不会因为利益的变化而改变,也不会因为时间的流逝而消退。"
|
||||
|
||||
---
|
||||
|
||||
|
||||
"你看那些能长期合作的人,他们之间一定有价值观的连接。"
|
||||
|
||||
"他们相信同样的事情,追求同样的目标。"
|
||||
|
||||
"即使中间有利益的冲突,他们也能坐下来谈,因为他们知道对方跟自己是同一类人。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"那最好的关系是什么样的?"
|
||||
|
||||
我说:"最好的关系,是三者都有。"
|
||||
|
||||
"有利益连接,让你们有合作的基础。"
|
||||
|
||||
"有情感连接,让你们有信任的基础。"
|
||||
|
||||
"有价值观连接,让你们有长期的基础。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但现实中,三者都有的关系很少。"
|
||||
|
||||
"大部分关系,可能只有一个或者两个。"
|
||||
|
||||
"你要做的是什么?是在不同的关系里,识别出它的性质。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"如果一个关系只有利益连接,那你就把它当成生意关系。"
|
||||
|
||||
"不要对它有太多情感上的期待,谈好利益分配就行。"
|
||||
|
||||
"如果一个关系只有情感连接,那你就把它当成朋友关系。"
|
||||
|
||||
"不要跟他谈生意,因为谈生意可能会伤感情。"
|
||||
|
||||
"如果一个关系有价值观连接,那你就好好珍惜。"
|
||||
|
||||
"这种关系是最稀缺的,也是最有价值的。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"怎么判断一个人跟你有没有价值观连接?"
|
||||
|
||||
我说:"很简单,看你们聊天的内容。"
|
||||
|
||||
"如果你们只聊利益——怎么赚钱、怎么合作、怎么分钱——那就是利益连接。"
|
||||
|
||||
"如果你们只聊情感——最近怎么样、家里怎么样、心情怎么样——那就是情感连接。"
|
||||
|
||||
"如果你们会聊理想、聊未来、聊你们相信什么、追求什么,那就是价值观连接。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,派对房里有人说:"我发现我身边大部分关系都是利益连接。"
|
||||
|
||||
我说:"这很正常。"
|
||||
|
||||
"成年人的世界,利益连接是最常见的。"
|
||||
|
||||
"但你不能只有利益连接。"
|
||||
|
||||
"你需要有几个有情感连接的朋友,让你在低谷的时候有人支持。"
|
||||
|
||||
"你需要有几个有价值观连接的伙伴,让你在迷茫的时候有人同行。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"人生就像一个三角形。"
|
||||
|
||||
"利益是底边,让你站得稳。"
|
||||
|
||||
"情感是一条边,让你不孤单。"
|
||||
|
||||
"价值观是另一条边,让你走得远。"
|
||||
|
||||
"三条边都有,三角形才稳定。"
|
||||
|
||||
---
|
||||
|
||||
那天早上7点15分,派对房里的人陆续离开。
|
||||
|
||||
有人临走前说了一句:"以后看人,我会先想想这是哪种连接。"
|
||||
|
||||
我觉得,这就够了。
|
||||
|
||||
不需要你记住什么大道理,只需要在下次遇到一段关系的时候,能多想一层。
|
||||
|
||||
这一层,可能就是你避开一个坑,或者抓住一个机会的关键。
|
||||
187
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.5 沟通差的问题:为什么你说的别人听不懂.md
Normal file
187
_第一篇|真实的人/第1章|人与人之间的底层逻辑/1.5 沟通差的问题:为什么你说的别人听不懂.md
Normal file
@@ -0,0 +1,187 @@
|
||||
# 1.5 沟通差的问题:为什么你说的别人听不懂
|
||||
|
||||
"我发现一个问题,就是我说的话,别人经常听不懂。"
|
||||
|
||||
2025年12月3日,周三,早上6点18分。
|
||||
|
||||
那天派对房里来了个程序员,语气有点无奈。
|
||||
|
||||
他说他在公司里跟产品经理、跟老板沟通,总是鸡同鸭讲。
|
||||
|
||||
我问:"能举个例子吗?"
|
||||
|
||||
他说:"比如我跟老板说,这个功能需要重构底层架构,老板就问我,重构是什么意思?需要多长时间?能不能不重构?"
|
||||
|
||||
"我解释了半天,他还是不理解为什么要重构。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"那是老板不懂技术。"
|
||||
|
||||
我说:"不对。问题不在老板,在你。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"沟通的本质是什么?是让对方理解你的意思。"
|
||||
|
||||
"如果对方没理解,那就是你的问题,不是对方的问题。"
|
||||
|
||||
"因为沟通的责任在说话的人,不在听话的人。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,那个程序员说:"但我说的是事实啊,是技术上的事实。"
|
||||
|
||||
我说:"事实不重要,重要的是对方能不能理解。"
|
||||
|
||||
"你用技术语言跟一个不懂技术的人说话,他当然听不懂。"
|
||||
|
||||
"这不是他的问题,是你没有'翻译'。"
|
||||
|
||||
---
|
||||
|
||||
"什么叫翻译?"
|
||||
|
||||
"就是把你的专业语言,翻译成对方能理解的语言。"
|
||||
|
||||
---
|
||||
|
||||
我举了个例子。
|
||||
|
||||
"比如你说'重构底层架构',老板听不懂。"
|
||||
|
||||
"你应该怎么说?"
|
||||
|
||||
"你应该说:'老板,现在这个系统就像一栋老房子,地基有问题。我们可以继续往上盖,但盖到一定程度就会塌。如果我们现在花两周时间把地基加固一下,以后就不用担心这个问题了。'"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"这样说确实更容易理解。"
|
||||
|
||||
我说:"对。"
|
||||
|
||||
"这就是翻译。"
|
||||
|
||||
"你把'重构底层架构'翻译成'加固地基',老板一下就懂了。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"沟通差的人,通常有几个问题。"
|
||||
|
||||
"第一,只会用自己的语言说话。"
|
||||
|
||||
"他们不会根据听众调整表达方式,对谁都用同样的说法。"
|
||||
|
||||
"第二,只说事实,不说意义。"
|
||||
|
||||
"他们会告诉你'是什么',但不会告诉你'为什么重要'、'对你有什么影响'。"
|
||||
|
||||
"第三,只顾自己说,不管对方听没听懂。"
|
||||
|
||||
"他们说完就觉得自己的任务完成了,不会确认对方是否理解。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那怎么提高沟通能力?"
|
||||
|
||||
我说:"有几个方法。"
|
||||
|
||||
"第一,了解你的听众。"
|
||||
|
||||
"在说话之前,先想想对方是什么背景、什么水平、关心什么。"
|
||||
|
||||
"然后根据这些来调整你的表达方式。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"第二,先说结论,再说原因。"
|
||||
|
||||
"很多人说话喜欢从头说起,铺垫一大堆,最后才说结论。"
|
||||
|
||||
"但对方可能听到一半就走神了。"
|
||||
|
||||
"你应该先说结论:'老板,我建议我们花两周时间做一次系统升级。'"
|
||||
|
||||
"然后再解释原因:'因为现在的系统有一些隐患,如果不处理,以后可能会出大问题。'"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"第三,用对方熟悉的东西做类比。"
|
||||
|
||||
"抽象的概念很难理解,但具体的例子很容易理解。"
|
||||
|
||||
"你说'重构架构',对方听不懂。"
|
||||
|
||||
"你说'加固地基',对方一下就懂了。"
|
||||
|
||||
"因为'地基'是对方熟悉的概念。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"第四,确认对方是否理解。"
|
||||
|
||||
"说完之后,问一句:'我说清楚了吗?还有什么其他没解释清楚的问题吗?'"
|
||||
|
||||
"如果对方有问题,再解释一遍。"
|
||||
|
||||
"不要假设对方听懂了,要确认。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,那个程序员说:"我明白了,我以前确实没考虑过对方的感受。"
|
||||
|
||||
我说:"这不是感受的问题,是效率的问题。"
|
||||
|
||||
"你沟通不清楚,对方不理解,你们就要反复沟通。"
|
||||
|
||||
"一件事情本来五分钟能说清楚,结果说了一个小时还没说清楚。"
|
||||
|
||||
"这是巨大的时间浪费。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,派对房里有人说:"沟通能力真的很重要。"
|
||||
|
||||
我说:"沟通能力可能是最被低估的能力。"
|
||||
|
||||
"很多人觉得,只要我专业能力强,沟通差一点没关系。"
|
||||
|
||||
"但实际上,如果你不能把你的专业能力表达出来,别人就不知道你有多厉害。"
|
||||
|
||||
"你的能力就被埋没了。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"反过来,有些人专业能力一般,但沟通能力很强。"
|
||||
|
||||
"他们能把自己的想法清晰地表达出来,能说服别人支持他们。"
|
||||
|
||||
"结果他们的发展反而比专业能力强的人更好。"
|
||||
|
||||
---
|
||||
|
||||
早上7点02分,那个程序员说他要去上班了。
|
||||
|
||||
临走前他说:"今天学到一个词,翻译。以后跟老板说话,我先翻译一下。"
|
||||
|
||||
我笑了笑。
|
||||
|
||||
其实沟通这件事,没有什么高深的技巧。
|
||||
|
||||
核心就一句话:站在对方的角度想问题。
|
||||
|
||||
你想让对方理解你,就要先理解对方。
|
||||
|
||||
这不只是沟通的道理,也是做人的道理。
|
||||
157
_第一篇|真实的人/第2章|人性困境案例/2.1 相亲故事:你以为找的是人,实际是在找模式.md
Normal file
157
_第一篇|真实的人/第2章|人性困境案例/2.1 相亲故事:你以为找的是人,实际是在找模式.md
Normal file
@@ -0,0 +1,157 @@
|
||||
# 2.1 相亲故事:你以为找的是人,实际是在找模式
|
||||
|
||||
"相亲这件事,90%的人都搞错了方向。"
|
||||
|
||||
2025年11月22日,周六,早上6点15分。
|
||||
|
||||
那天的派对房话题有点私密,聊起了相亲这件事。
|
||||
|
||||
有人说:"我相了十几次亲,一个都没成。"
|
||||
|
||||
我问:"你觉得问题出在哪里?"
|
||||
|
||||
他说:"可能是我条件不够好吧。"
|
||||
|
||||
我说:"不对。问题不在条件,在思维方式。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"什么意思?"
|
||||
|
||||
我说:"大部分人相亲,都在找一个'人'。"
|
||||
|
||||
"他们列一堆条件:身高多少、学历多少、收入多少、长相怎么样。"
|
||||
|
||||
"然后去相亲,看对方符不符合这些条件。"
|
||||
|
||||
"符合就继续聊,不符合就下一个。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"但这种思维方式有一个问题。"
|
||||
|
||||
"就是你永远在找一个'完美的人',但完美的人不存在。"
|
||||
|
||||
"或者说,完美的人存在,但他凭什么选你?"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"那应该怎么找?"
|
||||
|
||||
我说:"你不应该找人,你应该找'模式'。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"什么叫找模式?"
|
||||
|
||||
"就是你要想清楚,你想要的是什么样的生活,然后找一个能跟你一起过这种生活的人。"
|
||||
|
||||
---
|
||||
|
||||
我举了个例子。
|
||||
|
||||
"比如你想要的生活是:两个人一起创业,白天各忙各的,晚上一起吃饭聊天,周末一起出去玩。"
|
||||
|
||||
"那你找对象的时候,就不应该只看条件,而应该看这个人能不能跟你过这种生活。"
|
||||
|
||||
"他愿不愿意支持你创业?他能不能接受你忙?他对生活的期待跟你一不一样?"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"但条件不重要吗?"
|
||||
|
||||
我说:"条件重要,但条件是筛选器,不是目标。"
|
||||
|
||||
"你用条件来筛选,是为了提高效率。"
|
||||
|
||||
"但最终决定你们能不能在一起的,不是条件,是'模式匹配'。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"我见过很多条件很好的人,相亲失败。"
|
||||
|
||||
"为什么?因为他们只看条件,不看模式。"
|
||||
|
||||
"两个人条件都很好,但一个想安稳,一个想折腾。"
|
||||
|
||||
"一个想早点结婚生孩子,一个想先拼事业。"
|
||||
|
||||
"这种情况,条件再好也没用。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那怎么找到模式匹配的人?"
|
||||
|
||||
我说:"首先,你要想清楚自己想要什么。"
|
||||
|
||||
"很多人相亲失败,不是因为找不到人,是因为自己都不知道自己要什么。"
|
||||
|
||||
"你问他想找什么样的人,他说'合适的'。"
|
||||
|
||||
"什么叫合适?他说不出来。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"其次,你要学会在聊天中挖掘对方的'模式'。"
|
||||
|
||||
"不要只聊表面的东西,要聊深层的东西。"
|
||||
|
||||
"比如你可以问:你未来五年有什么规划?你理想的生活是什么样的?你怎么看待工作和家庭的关系?"
|
||||
|
||||
"这些问题能帮你快速判断对方的模式跟你匹不匹配。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"但这样聊会不会太严肃了?"
|
||||
|
||||
我说:"不会。"
|
||||
|
||||
"如果对方觉得这些问题太严肃,那说明他还没准备好认真找对象。"
|
||||
|
||||
"你也不用浪费时间了。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,派对房里有人说:"我明白了,相亲不是找人,是找生活方式。"
|
||||
|
||||
我说:"对。"
|
||||
|
||||
"你找的不是一个人,是一个能跟你一起生活的伙伴。"
|
||||
|
||||
"这个伙伴的条件可能不是最好的,但他愿意跟你一起走。"
|
||||
|
||||
"这比条件重要一万倍。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"还有一点很重要。"
|
||||
|
||||
"就是你自己也要成为别人想要的'模式'的一部分。"
|
||||
|
||||
"你想找一个上进的人,那你自己上不上进?"
|
||||
|
||||
"你想找一个有趣的人,那你自己有不有趣?"
|
||||
|
||||
"相亲是双向选择,你在挑别人的时候,别人也在挑你。"
|
||||
|
||||
---
|
||||
|
||||
早上7点22分,那个相了十几次亲的人说:"我回去想想我到底要什么样的生活。"
|
||||
|
||||
我说:"这就对了。"
|
||||
|
||||
"先想清楚自己要什么,再去找。"
|
||||
|
||||
"盲目地找,只会越找越迷茫。"
|
||||
|
||||
"清醒地找,才能找到对的人。"
|
||||
149
_第一篇|真实的人/第2章|人性困境案例/2.2 找工作迷茫者:为什么简历解决不了人生.md
Normal file
149
_第一篇|真实的人/第2章|人性困境案例/2.2 找工作迷茫者:为什么简历解决不了人生.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 2.2 找工作迷茫者:为什么简历解决不了人生
|
||||
|
||||
"我改了二十多版简历,还是找不到工作。"
|
||||
|
||||
2025年12月6日,周六,早上6点28分。
|
||||
|
||||
那天派对房里来了个刚毕业的大学生,声音里带着迷茫。
|
||||
|
||||
他说他投了几百份简历,面试了十几家公司,但一个offer都没拿到。
|
||||
|
||||
"你觉得问题出在哪里?"
|
||||
|
||||
"可能是我简历写得不够好。"
|
||||
|
||||
"不对。问题不在简历,在你自己。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"什么意思?"
|
||||
|
||||
我说:"简历只是一个载体,它展示的是你这个人。"
|
||||
|
||||
"如果你这个人没有亮点,简历写得再好也没用。"
|
||||
|
||||
"反过来,如果你这个人有亮点,简历写得差一点也能被看到。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"很多人找工作,把所有精力都放在改简历上。"
|
||||
|
||||
"改格式、改措辞、改排版。"
|
||||
|
||||
"但他们忽略了一个问题:简历上写的东西,是真的吗?"
|
||||
|
||||
---
|
||||
|
||||
派对房里,那个大学生说:"当然是真的啊。"
|
||||
|
||||
我说:"我不是说你造假。"
|
||||
|
||||
"我是说,你简历上写的那些经历,真的能证明你的能力吗?"
|
||||
|
||||
---
|
||||
|
||||
我举了个例子。
|
||||
|
||||
"比如你写'曾在某公司实习三个月'。"
|
||||
|
||||
"这三个月你做了什么?学到了什么?有什么成果?"
|
||||
|
||||
"如果你只是去打杂、复印、跑腿,那这段经历没有任何价值。"
|
||||
|
||||
"但如果你在这三个月里独立完成了一个项目,或者解决了一个问题,那就不一样了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"但我没有那么厉害的经历啊。"
|
||||
|
||||
我说:"那就去创造。"
|
||||
|
||||
"你现在没有工作,有的是时间。"
|
||||
|
||||
"你可以做一个自己的项目,可以参加一个比赛,可以学一个新技能。"
|
||||
|
||||
"这些都是可以写在简历上的。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"很多人找工作的思路是:先找到工作,再去学习。"
|
||||
|
||||
"但正确的思路是:先学习,再找工作。"
|
||||
|
||||
"你要先让自己变得有价值,然后工作自然会来找你。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,那个大学生说:"但我不知道学什么啊。"
|
||||
|
||||
我说:"这就是你真正的问题。"
|
||||
|
||||
"你不是找不到工作,你是不知道自己要什么。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"你想做什么工作?你擅长什么?你对什么感兴趣?"
|
||||
|
||||
"这些问题你想清楚了吗?"
|
||||
|
||||
他沉默了一会儿,说:"没有。"
|
||||
|
||||
---
|
||||
|
||||
我说:"那你先别急着投简历了。"
|
||||
|
||||
"先花一个月时间,想清楚这些问题。"
|
||||
|
||||
"去尝试不同的事情,去跟不同的人聊天,去探索自己。"
|
||||
|
||||
"等你想清楚了,再去找工作。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"但不找工作怎么生活?"
|
||||
|
||||
我说:"可以先找一个过渡性的工作。"
|
||||
|
||||
"不一定是你理想的工作,但能让你活下去。"
|
||||
|
||||
"然后用业余时间去探索、去学习、去准备。"
|
||||
|
||||
"等你准备好了,再跳到你真正想做的工作。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,派对房里有人说:"我觉得你说得对,但好难啊。"
|
||||
|
||||
我说:"当然难。"
|
||||
|
||||
"如果容易,大家都能找到好工作了。"
|
||||
|
||||
"但难不代表做不到。"
|
||||
|
||||
"你只需要比别人多想一步、多做一点,你就能脱颖而出。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"找工作这件事,本质上是一个'匹配'的过程。"
|
||||
|
||||
"公司在找能创造价值的人,你在找能发挥你价值的平台。"
|
||||
|
||||
"如果你自己都不知道自己的价值是什么,怎么可能匹配成功?"
|
||||
|
||||
---
|
||||
|
||||
这本书的真实目的,不是教你怎么写简历。
|
||||
|
||||
而是告诉你,找工作的困境,往往不是技巧的问题,而是方向的问题。
|
||||
|
||||
你要先知道自己是谁、想要什么,然后才能找到适合你的工作。
|
||||
|
||||
简历只是一张纸,真正决定你命运的,是纸背后的那个人。
|
||||
167
_第一篇|真实的人/第2章|人性困境案例/2.3 撸运费险:小钱困住大脑的真实心理.md
Normal file
167
_第一篇|真实的人/第2章|人性困境案例/2.3 撸运费险:小钱困住大脑的真实心理.md
Normal file
@@ -0,0 +1,167 @@
|
||||
# 2.3 撸运费险:小钱困住大脑的真实心理
|
||||
|
||||
"我一天能撸两三百块运费险,一个月下来也有小一万。"
|
||||
|
||||
2025年11月18日,周一,早上7点05分。
|
||||
|
||||
那天派对房里来了个说自己"撸运费险"的人,语气里带着点得意。
|
||||
|
||||
他说他每天的工作就是在淘宝上买东西、退货,赚运费险的差价。
|
||||
|
||||
我问:"你做这个多久了?"
|
||||
|
||||
他说:"快两年了。"
|
||||
|
||||
我说:"两年了,你有没有想过做点别的?"
|
||||
|
||||
他沉默了一会儿,说:"想过,但不知道做什么。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"运费险是怎么撸的?"
|
||||
|
||||
他说:"很简单。"
|
||||
|
||||
"你在淘宝上买一个有运费险的商品,比如衣服。"
|
||||
|
||||
"然后你申请退货,运费险会赔你一笔钱,比如12块。"
|
||||
|
||||
"但实际上你退货的快递费可能只要5块、6块。"
|
||||
|
||||
"中间的差价就是你赚的。"
|
||||
|
||||
---
|
||||
|
||||
他继续说。
|
||||
|
||||
"一单赚5块、6块,听起来不多。"
|
||||
|
||||
"但如果你一天撸50单、100单呢?"
|
||||
|
||||
"一天就能赚两三百,一个月就是小一万。"
|
||||
|
||||
---
|
||||
|
||||
我问:"那你一天要花多少时间?"
|
||||
|
||||
他说:"差不多七八个小时。"
|
||||
|
||||
"因为你要选品、下单、收货、退货、寄快递,每个环节都要花时间。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"那不是跟上班一样?"
|
||||
|
||||
他说:"是啊,但我自由啊。"
|
||||
|
||||
"我想什么时候干就什么时候干,不用看老板脸色。"
|
||||
|
||||
---
|
||||
|
||||
我说:"但你有没有想过一个问题?"
|
||||
|
||||
"你做这个两年了,你的收入有增长吗?"
|
||||
|
||||
他说:"没有。"
|
||||
|
||||
"两年前一个月赚七八千,现在还是一个月赚七八千。"
|
||||
|
||||
"而且现在越来越难做了,平台在打击,运费险的额度也在降。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"你看,这就是问题。"
|
||||
|
||||
"你花了两年时间,做一件没有成长性的事情。"
|
||||
|
||||
"两年后,你的能力没有提升,你的收入没有增长,你的未来没有任何积累。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"但至少他赚到钱了啊。"
|
||||
|
||||
我说:"是赚到钱了,但这是'小钱'。"
|
||||
|
||||
"什么叫小钱?就是能让你活下去,但不能让你活得更好的钱。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"小钱最可怕的地方是什么?"
|
||||
|
||||
"是它会困住你的大脑。"
|
||||
|
||||
"你每天忙着撸运费险,没有时间去学习、去思考、去尝试新东西。"
|
||||
|
||||
"你的大脑被这些小钱占满了,没有空间去想更大的事情。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,那个人说:"但我不做这个,我能做什么?"
|
||||
|
||||
我说:"这就是被小钱困住的典型表现。"
|
||||
|
||||
"你已经习惯了这种'低风险、低收益'的模式。"
|
||||
|
||||
"你不敢去尝试有风险的事情,因为你怕失去现在的收入。"
|
||||
|
||||
"但你不知道的是,你已经在失去更重要的东西——时间和机会。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"我不是说撸运费险不好。"
|
||||
|
||||
"如果你只是把它当成一个过渡,一边撸一边学习、一边准备,那没问题。"
|
||||
|
||||
"但如果你把它当成一个长期的事业,那就有问题了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那什么样的事情值得长期做?"
|
||||
|
||||
我说:"有三个特点的事情。"
|
||||
|
||||
"第一,有成长性。你做得越久,能力越强,收入越高。"
|
||||
|
||||
"第二,有积累性。你今天做的事情,能为明天打基础。"
|
||||
|
||||
"第三,有杠杆性。你能用更少的时间,创造更多的价值。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"撸运费险符合这三个特点吗?"
|
||||
|
||||
"不符合。"
|
||||
|
||||
"你做两年和做一年,能力没有区别。"
|
||||
|
||||
"你今天撸的单,对明天没有任何帮助。"
|
||||
|
||||
"你一天只有24小时,撸的单是有上限的。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,派对房里那个人说:"我要好好想想了。"
|
||||
|
||||
我说:"想清楚一个问题就行。"
|
||||
|
||||
"你是想赚一辈子小钱,还是想有一天赚到大钱?"
|
||||
|
||||
"如果是后者,你就要敢于放弃现在的小钱,去追求更有价值的东西。"
|
||||
|
||||
---
|
||||
|
||||
这本书的真实目的,不是批评撸运费险的人。
|
||||
|
||||
而是告诉你,人生最大的陷阱,不是失败,而是被小成功困住。
|
||||
|
||||
小钱能让你活下去,但也能让你永远活在底层。
|
||||
|
||||
要想突破,你必须敢于放弃眼前的确定性,去追求更大的可能性。
|
||||
179
_第一篇|真实的人/第2章|人性困境案例/2.4 游戏上瘾的年轻人:不是游戏吸引他,是生活没吸引力.md
Normal file
179
_第一篇|真实的人/第2章|人性困境案例/2.4 游戏上瘾的年轻人:不是游戏吸引他,是生活没吸引力.md
Normal file
@@ -0,0 +1,179 @@
|
||||
# 2.4 游戏上瘾的年轻人:不是游戏吸引他,是生活没吸引力
|
||||
|
||||
"我每天打游戏十几个小时,我知道这样不好,但我停不下来。"
|
||||
|
||||
2025年11月23日,周日,早上6点52分。
|
||||
|
||||
那天派对房里来了个声音很年轻的男生,语气有点低沉。
|
||||
|
||||
他说他大学毕业两年了,一直没找工作,就在家打游戏。
|
||||
|
||||
我问:"你父母不管你吗?"
|
||||
|
||||
他说:"管过,但没用。他们说什么我都听不进去。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"你打的是什么游戏?"
|
||||
|
||||
他说:"主要是王者荣耀和原神。"
|
||||
|
||||
"王者荣耀打排位,原神做日常。"
|
||||
|
||||
"一天下来,基本上除了吃饭睡觉,都在打游戏。"
|
||||
|
||||
---
|
||||
|
||||
我问:"你觉得打游戏快乐吗?"
|
||||
|
||||
他沉默了一会儿,说:"说不上快乐,就是……停不下来。"
|
||||
|
||||
我说:"这就是问题所在。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"游戏上瘾是病,得治。"
|
||||
|
||||
我说:"不完全对。"
|
||||
|
||||
"游戏上瘾是结果,不是原因。"
|
||||
|
||||
"你要问的不是'怎么戒游戏',而是'为什么会上瘾'。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"一个人沉迷游戏,通常有两个原因。"
|
||||
|
||||
"第一,游戏给了他现实中得不到的东西。"
|
||||
|
||||
"第二,现实中没有比游戏更有吸引力的东西。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"游戏给你什么?"
|
||||
|
||||
"成就感。你打赢一局,升一段位,抽到一个好角色,都会有成就感。"
|
||||
|
||||
"社交感。你跟队友一起开黑,一起吐槽,有一种归属感。"
|
||||
|
||||
"掌控感。在游戏里,你是主角,你能决定很多事情。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"这些东西,你在现实中有吗?"
|
||||
|
||||
那个男生说:"没有。"
|
||||
|
||||
"我毕业两年,投了很多简历,都没人要。"
|
||||
|
||||
"我也不知道自己能做什么,想做什么。"
|
||||
|
||||
"在家待着,父母天天念叨,我也烦。"
|
||||
|
||||
"只有打游戏的时候,我才觉得自己还行。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"那你就不能努力一下吗?"
|
||||
|
||||
我说:"等一下,不要这样说。"
|
||||
|
||||
"他不是不想努力,他是不知道往哪里努力。"
|
||||
|
||||
"这是两回事。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"很多人觉得,游戏上瘾的人是懒、是堕落、是不求上进。"
|
||||
|
||||
"但实际上,很多游戏上瘾的人,是迷茫、是逃避、是找不到方向。"
|
||||
|
||||
"他们不是不想改变,是不知道怎么改变。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"所以解决游戏上瘾的方法,不是强制戒游戏。"
|
||||
|
||||
"而是找到一个比游戏更有吸引力的东西。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,那个男生问:"什么东西能比游戏更有吸引力?"
|
||||
|
||||
我说:"这个问题只有你自己能回答。"
|
||||
|
||||
"但我可以给你一个思路。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"你想想,游戏为什么吸引你?"
|
||||
|
||||
"因为它有目标、有反馈、有成长。"
|
||||
|
||||
"你打一局游戏,有明确的目标(赢)。"
|
||||
|
||||
"你每一个操作,都有即时的反馈(杀人、被杀、升级)。"
|
||||
|
||||
"你打得越多,段位越高,有成长感。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"现实中也可以找到这样的东西。"
|
||||
|
||||
"比如学一个技能。学编程、学设计、学剪辑,都有目标、有反馈、有成长。"
|
||||
|
||||
"比如做一个项目。做一个自媒体账号、做一个小生意,也有目标、有反馈、有成长。"
|
||||
|
||||
"关键是,你要找到一个你感兴趣的方向,然后像打游戏一样去投入。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,那个男生说:"但我不知道自己对什么感兴趣。"
|
||||
|
||||
我说:"那就去尝试。"
|
||||
|
||||
"你不试,永远不知道自己喜欢什么。"
|
||||
|
||||
"你可以先从小事开始。比如每天花一个小时,去学一个新东西。"
|
||||
|
||||
"不喜欢就换,喜欢就继续。"
|
||||
|
||||
"总会找到的。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,派对房里有人说:"我觉得他很难改变。"
|
||||
|
||||
我说:"不一定。"
|
||||
|
||||
"改变的前提是什么?是意识到问题。"
|
||||
|
||||
"他今天能来这里聊这个,说明他已经意识到问题了。"
|
||||
|
||||
"接下来就看他愿不愿意迈出第一步。"
|
||||
|
||||
---
|
||||
|
||||
这本书的真实目的,不是批评打游戏的人。
|
||||
|
||||
而是告诉你,很多看起来是"自制力"的问题,其实是"方向"的问题。
|
||||
|
||||
一个人沉迷游戏,不是因为他意志力薄弱,而是因为他找不到比游戏更值得投入的东西。
|
||||
|
||||
解决问题的方法,不是强制戒断,而是找到替代品。
|
||||
|
||||
找到一个让你愿意为之努力的目标,游戏自然就放下了。
|
||||
161
_第一篇|真实的人/第2章|人性困境案例/2.5 健康焦虑(我的糖尿病经历):疾病是人生的第一次清醒.md
Normal file
161
_第一篇|真实的人/第2章|人性困境案例/2.5 健康焦虑(我的糖尿病经历):疾病是人生的第一次清醒.md
Normal file
@@ -0,0 +1,161 @@
|
||||
# 2.5 健康焦虑(我的糖尿病经历):疾病是人生的第一次清醒
|
||||
|
||||
"2018年6月,我被确诊糖尿病。那一年,我34岁。"
|
||||
|
||||
2025年11月27日,周四,早上7点18分。
|
||||
|
||||
那天派对房里聊起了健康话题,气氛有点沉重。
|
||||
|
||||
有人问:"你平时怎么保持精力的?每天早上六点开播,不累吗?"
|
||||
|
||||
我说:"累。但我没办法,我必须保持规律的作息。"
|
||||
|
||||
"因为我有糖尿病。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"你这么年轻就有糖尿病?"
|
||||
|
||||
我说:"对。"
|
||||
|
||||
"2018年的时候,我天天熬夜、喝酒、吃夜宵,作息完全没规律。"
|
||||
|
||||
"有一天突然觉得不对劲,去医院一查,空腹血糖17。"
|
||||
|
||||
"医生说,正常人空腹血糖应该在6以下,你这个已经是糖尿病了。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"当时我整个人都懵了。"
|
||||
|
||||
"糖尿病?那不是老年人才得的病吗?我才34岁。"
|
||||
|
||||
"医生说,现在糖尿病越来越年轻化了,跟生活方式有很大关系。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"那你现在怎么样了?"
|
||||
|
||||
我说:"控制得还行。"
|
||||
|
||||
"但我必须一直调节饮食结构、规律作息、配合中医针灸辅助调理。"
|
||||
|
||||
"稍微放纵一点,血糖就会上去。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但我想说的不是糖尿病本身。"
|
||||
|
||||
"我想说的是,这场病给我带来的改变。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"在确诊之前,我觉得自己是无敌的。"
|
||||
|
||||
"熬夜?没事,年轻扛得住。"
|
||||
|
||||
"喝酒?没事,喝完睡一觉就好了。"
|
||||
|
||||
"不运动?没事,等有空了再说。"
|
||||
|
||||
"我从来没想过,身体会出问题。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但确诊之后,我突然意识到一件事。"
|
||||
|
||||
"身体是有极限的。"
|
||||
|
||||
"你透支它,它不会马上报复你,但它会记账。"
|
||||
|
||||
"等账单来的时候,你就知道厉害了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"那你现在的生活方式是什么样的?"
|
||||
|
||||
我说:"完全变了。"
|
||||
|
||||
"以前我晚上两三点睡,现在我十一点之前必须睡。"
|
||||
|
||||
"以前我无肉不欢,现在我以蔬菜为主。"
|
||||
|
||||
"以前我从不运动,现在我每天至少走一万步。"
|
||||
|
||||
"以前我觉得健康是理所当然的,现在我知道健康是需要经营的。"
|
||||
|
||||
---
|
||||
|
||||
我继续说。
|
||||
|
||||
"但最大的改变不是生活方式,是心态。"
|
||||
|
||||
"以前我总觉得,赚钱最重要,事业最重要,什么都可以为了这些牺牲。"
|
||||
|
||||
"现在我知道,健康才是一切的基础。"
|
||||
|
||||
"没有健康,赚再多钱有什么用?"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人问:"你后悔吗?"
|
||||
|
||||
我说:"后悔没有用。"
|
||||
|
||||
"但如果能重来,我一定会更早开始注意健康。"
|
||||
|
||||
"不是等到出问题了才改变,而是在出问题之前就预防。"
|
||||
|
||||
---
|
||||
|
||||
我停了一下。
|
||||
|
||||
"我经常跟派对房里的年轻人说,趁年轻,把身体底子打好。"
|
||||
|
||||
"不要觉得自己年轻就可以随便造。"
|
||||
|
||||
"二十多岁的时候造,三十多岁就要还债。"
|
||||
|
||||
"三十多岁的时候造,四十多岁可能就还不起了。"
|
||||
|
||||
---
|
||||
|
||||
派对房里,有人说:"但年轻的时候,谁会想这些啊。"
|
||||
|
||||
我说:"是的,我当年也不想。"
|
||||
|
||||
"所以我现在才会跟你们说这些。"
|
||||
|
||||
"希望你们能比我更早意识到这个问题。"
|
||||
|
||||
---
|
||||
|
||||
那天聊完,派对房里有人说:"你这个经历挺有警示意义的。"
|
||||
|
||||
我说:"疾病是人生的第一次清醒。"
|
||||
|
||||
"在生病之前,我们都觉得自己是特别的,觉得那些坏事不会发生在自己身上。"
|
||||
|
||||
"但生病之后,你才会发现,你跟所有人一样,都是普通人。"
|
||||
|
||||
"普通人就要遵守普通人的规则:好好吃饭、好好睡觉、好好运动。"
|
||||
|
||||
---
|
||||
|
||||
这本书的真实目的,不是吓唬你。
|
||||
|
||||
而是告诉你,健康是一种投资,而且是回报率最高的投资。
|
||||
|
||||
你在健康上投入的每一分钟、每一分钱,都会在未来给你回报。
|
||||
|
||||
你在健康上透支的每一分钟、每一分钱,都会在未来向你讨债。
|
||||
|
||||
这笔账,越早算清楚越好。
|
||||
BIN
addons/Universal_Payment_Module/.DS_Store
vendored
BIN
addons/Universal_Payment_Module/.DS_Store
vendored
Binary file not shown.
@@ -1,94 +0,0 @@
|
||||
# 通用支付模块 API 接口定义 (Universal Payment API)
|
||||
|
||||
无论后端使用何种语言(Python/Node/Go),请严格实现以下 RESTful 接口。
|
||||
|
||||
## 1. 核心交易接口 (Core Transaction)
|
||||
|
||||
### 1.1 创建订单
|
||||
* **URL**: `POST /api/payment/create_order`
|
||||
* **Description**: 业务系统通知支付模块创建一个待支付订单。
|
||||
* **Request Body**:
|
||||
```json
|
||||
{
|
||||
"user_id": "u1001", // 用户ID
|
||||
"title": "VIP Membership", // 订单标题
|
||||
"amount": 99.00, // 金额 (法币单位: 元 / 美元)
|
||||
"currency": "CNY", // 币种: CNY, USD
|
||||
"product_id": "vip_01", // 商品ID
|
||||
"extra_params": {} // 扩展参数
|
||||
}
|
||||
```
|
||||
* **Response**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"data": {
|
||||
"order_sn": "202310270001", // 支付系统生成的唯一订单号
|
||||
"status": "created"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 1.2 发起支付 (收银台)
|
||||
* **URL**: `POST /api/payment/checkout`
|
||||
* **Description**: 用户选择支付方式后,获取支付参数。
|
||||
* **Request Body**:
|
||||
```json
|
||||
{
|
||||
"order_sn": "202310270001",
|
||||
"gateway": "alipay_qr", // 支付方式: alipay_qr, wechat_jsapi, paypal, usdt, stripe
|
||||
"return_url": "https://...", // 支付成功后前端跳转地址
|
||||
"openid": "..." // 微信JSAPI支付必填
|
||||
}
|
||||
```
|
||||
* **Response**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"data": {
|
||||
"type": "url", // url (跳转), qrcode (扫码), json (SDK参数), address (USDT)
|
||||
"payload": "https://...", // 具体内容
|
||||
"expiration": 1800 // 过期时间(秒)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 1.3 查询订单状态
|
||||
* **URL**: `GET /api/payment/status/{order_sn}`
|
||||
* **Description**: 前端轮询使用。
|
||||
* **Response**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"data": {
|
||||
"status": "paid", // created, paying, paid, closed
|
||||
"paid_amount": 99.00,
|
||||
"paid_at": "2023-10-27 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 回调通知接口 (Webhook)
|
||||
|
||||
### 2.1 统一回调入口
|
||||
* **URL**: `POST /api/payment/notify/{gateway}`
|
||||
* **Description**: 接收第三方支付平台的异步通知。
|
||||
* **Path Params**:
|
||||
* `gateway`: `alipay`, `wechat`, `paypal`, `stripe`, `nowpayments`
|
||||
* **Logic**:
|
||||
1. 根据 gateway 加载对应驱动。
|
||||
2. 验签 (Verify Signature)。
|
||||
3. 幂等性检查 (Idempotency Check)。
|
||||
4. 更新订单状态。
|
||||
5. 返回平台所需的响应字符串 (e.g. `success`, `200 OK`).
|
||||
|
||||
---
|
||||
|
||||
## 3. 辅助接口
|
||||
|
||||
### 3.1 获取汇率
|
||||
* **URL**: `GET /api/payment/exchange_rate`
|
||||
* **Params**: `from=USD&to=CNY`
|
||||
* **Response**: `{"rate": 7.21}`
|
||||
@@ -1,70 +0,0 @@
|
||||
# 全球支付模块标准配置模板 (Standard Config)
|
||||
|
||||
# 无论你使用 Python, Node.js, Go 还是 Java,请将此配置映射到你的环境(如 .env, config.py, config.js)
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# 1. 基础环境 (Environment)
|
||||
# -------------------------------------------------------------------
|
||||
APP_ENV: "production" # development / production
|
||||
APP_URL: "https://your-site.com" # 你的网站域名 (用于回调)
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# 2. 数据库 (Database)
|
||||
# -------------------------------------------------------------------
|
||||
# 系统会自动生成 order 和 pay_trade 表
|
||||
DB_CONNECTION: "mysql" # mysql / postgres / sqlite
|
||||
DB_HOST: "127.0.0.1"
|
||||
DB_PORT: "3306"
|
||||
DB_DATABASE: "payment_db"
|
||||
DB_USERNAME: "root"
|
||||
DB_PASSWORD: "password"
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# 3. 支付宝 (Alipay) - CN
|
||||
# -------------------------------------------------------------------
|
||||
ALIPAY_ENABLED: true
|
||||
ALIPAY_APP_ID: "20210001..."
|
||||
ALIPAY_PRIVATE_KEY: "MIIETv..." # 商户私钥
|
||||
ALIPAY_PUBLIC_KEY: "MIIBIj..." # 支付宝公钥
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# 4. 微信支付 (Wechat Pay) - CN
|
||||
# -------------------------------------------------------------------
|
||||
WECHAT_ENABLED: true
|
||||
WECHAT_APP_ID: "wx123456..." # 公众号/小程序 AppID
|
||||
WECHAT_MCH_ID: "1234567890" # 商户号
|
||||
WECHAT_API_V3_KEY: "abcdef..." # APIv3 密钥 (32位)
|
||||
WECHAT_CERT_SERIAL: "45F59C..." # 证书序列号
|
||||
WECHAT_PRIVATE_KEY_PATH: "./cert/apiclient_key.pem"
|
||||
WECHAT_CERT_PATH: "./cert/apiclient_cert.pem"
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# 5. PayPal - Global
|
||||
# -------------------------------------------------------------------
|
||||
PAYPAL_ENABLED: true
|
||||
PAYPAL_MODE: "live" # sandbox / live
|
||||
PAYPAL_CLIENT_ID: "Af7s8..."
|
||||
PAYPAL_CLIENT_SECRET: "EKd9..."
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# 6. Stripe - Global
|
||||
# -------------------------------------------------------------------
|
||||
STRIPE_ENABLED: true
|
||||
STRIPE_PUBLIC_KEY: "pk_live_..."
|
||||
STRIPE_SECRET_KEY: "sk_live_..."
|
||||
STRIPE_WEBHOOK_SECRET: "whsec_..."
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# 7. USDT (Crypto) - Web3
|
||||
# -------------------------------------------------------------------
|
||||
USDT_ENABLED: true
|
||||
USDT_GATEWAY_TYPE: "nowpayments" # nowpayments / native (原生监听)
|
||||
|
||||
# 选项 A: NOWPayments (第三方网关)
|
||||
NOWPAYMENTS_API_KEY: "R1G..."
|
||||
NOWPAYMENTS_IPN_SECRET: "secret..."
|
||||
|
||||
# 选项 B: Native (原生监听 - TRC20)
|
||||
TRON_NODE_API: "https://api.trongrid.io"
|
||||
TRON_WALLET_ADDRESS: "T9yD14Nj9..." # 你的收款地址
|
||||
TRON_CHECK_INTERVAL: 60 # 轮询间隔 (秒)
|
||||
@@ -1,44 +0,0 @@
|
||||
# 通用支付模块智能对接指令 (AI Integration Prompt) v3.0
|
||||
|
||||
**角色设定**: 你是一位精通全球支付架构(Alipay/Wechat/PayPal/Stripe/USDT)的资深全栈架构师。
|
||||
|
||||
**任务目标**:
|
||||
我提供了一个**完全配置驱动 (Configuration-Driven)** 的通用支付模块设计。
|
||||
请你根据我的目标项目环境,将此支付功能无缝集成进去。
|
||||
|
||||
**核心资源 (Input)**:
|
||||
1. **标准配置模板**: `1_核心设计_通用协议/标准配置模板.yaml` (所有支付参数的 Key)
|
||||
2. **API 接口契约**: `1_核心设计_通用协议/API接口定义.md` (标准 RESTful 接口)
|
||||
3. **核心业务模型**: `1_核心设计_通用协议/业务逻辑与模型.md` (数据库表结构)
|
||||
|
||||
**集成模式 (选择一种)**:
|
||||
|
||||
### 模式 A: 嵌入式集成 (Library Mode) - *推荐*
|
||||
适用于将支付功能直接写在现有的后端项目中 (如 Django app, NestJS module)。
|
||||
|
||||
**步骤**:
|
||||
1. **环境识别**: 检查我的项目语言 (Python/Node/Go/Java)。
|
||||
2. **依赖安装**: 根据语言推荐 SDK (e.g. `alipay-sdk-python`, `stripe`).
|
||||
3. **配置加载**: 创建代码读取 `标准配置模板.yaml` 中的环境变量。
|
||||
4. **模型生成**: 根据 `业务逻辑与模型.md` 生成 ORM 代码 (User/Order/PayTrade)。
|
||||
5. **接口实现**: 严格按照 `API接口定义.md` 实现 Controller/View。
|
||||
* *要求*: 使用工厂模式 (`PaymentFactory`) 管理不同网关。
|
||||
|
||||
### 模式 B: 微服务集成 (Microservice Mode)
|
||||
适用于将支付功能独立部署为一个 Docker 容器。
|
||||
|
||||
**步骤**:
|
||||
1. **服务生成**: 用 Go (Gin) 或 Node.js (Express) 生成一个独立服务。
|
||||
2. **Docker化**: 编写 `Dockerfile` 和 `docker-compose.yml`。
|
||||
3. **网关代理**: 配置 Nginx 或 API Gateway 将 `/api/payment` 转发给此服务。
|
||||
|
||||
---
|
||||
|
||||
**给 AI 的执行指令 (Prompt)**:
|
||||
|
||||
> "请读取 `Universal_Payment_Module` 目录下的所有设计文档。
|
||||
> 我的当前项目是基于 **[你的语言/框架]** 的。
|
||||
> 请采用 **[模式 A / 模式 B]** 为我集成支付功能。
|
||||
> 1. 首先生成依赖安装命令。
|
||||
> 2. 然后生成数据库模型代码。
|
||||
> 3. 最后实现符合 `API接口定义.md` 的核心接口代码。"
|
||||
@@ -1,141 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>通用收银台 Demo</title>
|
||||
<style>
|
||||
/* 简单的内联样式,实际使用建议用 TailwindCSS */
|
||||
body { font-family: -apple-system, sans-serif; background: #f5f5f7; padding: 20px; }
|
||||
.container { max-width: 480px; margin: 0 auto; background: white; border-radius: 12px; padding: 24px; box-shadow: 0 4px 6px rgba(0,0,0,0.1); }
|
||||
.order-info { margin-bottom: 24px; border-bottom: 1px solid #eee; padding-bottom: 16px; }
|
||||
.amount { font-size: 32px; font-weight: bold; color: #333; }
|
||||
.payment-methods { display: flex; flex-direction: column; gap: 12px; }
|
||||
.method-btn { display: flex; align-items: center; justify-content: space-between; padding: 16px; border: 1px solid #ddd; border-radius: 8px; background: white; cursor: pointer; transition: all 0.2s; }
|
||||
.method-btn:hover { border-color: #007aff; background: #f0f7ff; }
|
||||
.method-btn.active { border-color: #007aff; box-shadow: 0 0 0 2px rgba(0,122,255,0.2); }
|
||||
.btn-pay { width: 100%; background: #007aff; color: white; border: none; padding: 16px; border-radius: 8px; font-size: 16px; font-weight: bold; margin-top: 24px; cursor: pointer; }
|
||||
.btn-pay:disabled { background: #ccc; }
|
||||
.qrcode-area { text-align: center; margin-top: 20px; display: none; }
|
||||
.qrcode-area img { width: 200px; height: 200px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="container">
|
||||
<div class="order-info">
|
||||
<div style="color: #666; font-size: 14px;">订单支付</div>
|
||||
<div class="amount" id="displayAmount">¥ 99.00</div>
|
||||
<div style="margin-top: 8px; font-size: 14px;">订单号: <span id="orderSn">202310270001</span></div>
|
||||
</div>
|
||||
|
||||
<div class="payment-methods" id="paymentMethods">
|
||||
<!-- 支付宝 -->
|
||||
<div class="method-btn" onclick="selectMethod('alipay_qr')">
|
||||
<span>🔵 支付宝 (Alipay)</span>
|
||||
<input type="radio" name="method" value="alipay_qr">
|
||||
</div>
|
||||
<!-- 微信 -->
|
||||
<div class="method-btn" onclick="selectMethod('wechat_scan')">
|
||||
<span>🟢 微信支付 (Wechat)</span>
|
||||
<input type="radio" name="method" value="wechat_scan">
|
||||
</div>
|
||||
<!-- PayPal -->
|
||||
<div class="method-btn" onclick="selectMethod('paypal')">
|
||||
<span>🅿️ PayPal (USD)</span>
|
||||
<input type="radio" name="method" value="paypal">
|
||||
</div>
|
||||
<!-- USDT -->
|
||||
<div class="method-btn" onclick="selectMethod('usdt')">
|
||||
<span>🪙 USDT (TRC20)</span>
|
||||
<input type="radio" name="method" value="usdt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="qrcode-area" id="qrcodeArea">
|
||||
<img id="qrcodeImg" src="" alt="QRCode">
|
||||
<p id="qrcodeText">请扫描二维码支付</p>
|
||||
</div>
|
||||
|
||||
<button class="btn-pay" onclick="doPay()">确认支付</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
let selectedMethod = null;
|
||||
const API_BASE = '/api/payment'; // 你的后端接口地址
|
||||
|
||||
function selectMethod(method) {
|
||||
selectedMethod = method;
|
||||
document.querySelectorAll('.method-btn').forEach(el => el.classList.remove('active'));
|
||||
event.currentTarget.classList.add('active');
|
||||
document.querySelector(`input[value="${method}"]`).checked = true;
|
||||
|
||||
// 如果选了USDT,可能需要先换算汇率(模拟)
|
||||
if(method === 'usdt') {
|
||||
document.getElementById('displayAmount').innerText = '₮ 13.88'; // 模拟 99 CNY -> USDT
|
||||
} else if(method === 'paypal') {
|
||||
document.getElementById('displayAmount').innerText = '$ 13.75'; // 模拟 99 CNY -> USD
|
||||
} else {
|
||||
document.getElementById('displayAmount').innerText = '¥ 99.00';
|
||||
}
|
||||
}
|
||||
|
||||
async function doPay() {
|
||||
if (!selectedMethod) {
|
||||
alert('请选择支付方式');
|
||||
return;
|
||||
}
|
||||
|
||||
const orderSn = document.getElementById('orderSn').innerText;
|
||||
|
||||
try {
|
||||
// 调用后端通用接口
|
||||
const response = await fetch(`${API_BASE}/checkout`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
order_sn: orderSn,
|
||||
gateway: selectedMethod,
|
||||
return_url: window.location.href
|
||||
})
|
||||
});
|
||||
const result = await response.json();
|
||||
|
||||
if (result.data.type === 'url') {
|
||||
// 跳转类 (PayPal, H5)
|
||||
window.location.href = result.data.payload;
|
||||
} else if (result.data.type === 'qrcode') {
|
||||
// 扫码类 (Wechat, Alipay)
|
||||
document.getElementById('qrcodeArea').style.display = 'block';
|
||||
document.getElementById('qrcodeImg').src = `https://api.qrserver.com/v1/create-qr-code/?data=${encodeURIComponent(result.data.payload)}`;
|
||||
startPolling(orderSn);
|
||||
} else if (result.data.type === 'address') {
|
||||
// 加密货币类
|
||||
document.getElementById('qrcodeArea').style.display = 'block';
|
||||
document.getElementById('qrcodeText').innerText = `请转账至: ${result.data.payload}`;
|
||||
// 生成地址二维码...
|
||||
startPolling(orderSn);
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error('支付发起失败', error);
|
||||
alert('支付发起失败,请查看控制台');
|
||||
}
|
||||
}
|
||||
|
||||
// 轮询查单
|
||||
function startPolling(orderSn) {
|
||||
const timer = setInterval(async () => {
|
||||
const res = await fetch(`${API_BASE}/status/${orderSn}`);
|
||||
const data = await res.json();
|
||||
if (data.data.status === 'paid') {
|
||||
clearInterval(timer);
|
||||
alert('支付成功!');
|
||||
window.location.reload();
|
||||
}
|
||||
}, 3000);
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,58 +0,0 @@
|
||||
# 全球通用支付模块 (Universal Payment Module) v3.0
|
||||
|
||||
这是一个**配置驱动 (Configuration-Driven)**、**API 优先 (API-First)** 的全球支付解决方案包。
|
||||
它通过标准化的协议和 AI 指令,让任何语言的项目都能在 5 分钟内接入支付宝、微信、PayPal、Stripe 和 USDT。
|
||||
|
||||
## 📂 模块结构 (Directory Structure)
|
||||
|
||||
```
|
||||
Universal_Payment_Module/
|
||||
├── 1_核心设计_通用协议/ # [灵魂] 定义了支付的“法律”
|
||||
│ ├── 标准配置模板.yaml # [新增] 填空即可配置所有支付参数
|
||||
│ ├── API接口定义.md # [新增] 无论用什么语言,接口都长这样
|
||||
│ ├── 业务逻辑与模型.md # 数据库表结构设计 (Order/PayTrade)
|
||||
│ └── 接口注册指南.md # 申请 Key 的教程
|
||||
│
|
||||
├── 2_智能对接_AI指令/ # [工具] AI 编译器
|
||||
│ └── 通用集成指令.md # 发给 AI,自动生成代码
|
||||
│
|
||||
├── 3_逻辑参考_通用实现/ # [参考]
|
||||
│ ├── 前端收银台Demo.html # [新增] 原生 JS 实现的通用收银台
|
||||
│ ├── 后端源码/ # PHP 参考实现
|
||||
│ └── 前端模板/ # Twig 参考模板
|
||||
│
|
||||
└── README.md # 本说明文档
|
||||
```
|
||||
|
||||
## 🚀 极速对接 (Integration Guide)
|
||||
|
||||
### 第一步:配置 (Config)
|
||||
1. 打开 `1_核心设计_通用协议/标准配置模板.yaml`。
|
||||
2. 将文件内容复制到你项目的配置文件中(如 `.env` 或 `config.py`)。
|
||||
3. 填入你申请到的 `APP_ID`, `PRIVATE_KEY` 等参数。
|
||||
|
||||
### 第二步:生成代码 (Generate)
|
||||
1. 复制 `2_智能对接_AI指令/通用集成指令.md` 的内容。
|
||||
2. 打开 AI 助手,发送指令:
|
||||
> "我的项目是用 **Python FastAPI** 写的。请根据上述文档,采用 **模式 A (嵌入式)** 为我集成支付功能。"
|
||||
3. AI 会为你生成:
|
||||
* `pip install ...` 命令
|
||||
* `models.py` (数据库模型)
|
||||
* `payment_router.py` (API 接口)
|
||||
|
||||
### 第三步:前端接入 (Frontend)
|
||||
1. 参考 `3_逻辑参考_通用实现/前端收银台Demo.html`。
|
||||
2. 将其中的 `API_BASE` 替换为你后端实际的 API 地址。
|
||||
3. 即可拥有一个支持 **扫码、跳转、加密货币支付** 的全功能收银台。
|
||||
|
||||
## 🌍 支持能力
|
||||
| 渠道 | 能力 | 适用场景 |
|
||||
| :--- | :--- | :--- |
|
||||
| **Alipay / Wechat** | 扫码 / H5 / APP | 中国市场 (CNY) |
|
||||
| **PayPal / Stripe** | 信用卡 / 订阅 | 全球市场 (USD/EUR...) |
|
||||
| **USDT (TRC20)** | 链上转账 / 监听 | Web3 / 抗审查支付 |
|
||||
|
||||
## ✨ v3.0 优化亮点
|
||||
* **配置驱动**: 不再需要改代码里的硬编码,所有参数通过配置文件注入。
|
||||
* **API 契约**: 明确了输入输出格式,前后端对接不再扯皮。
|
||||
* **前端 Demo**: 提供了一个不依赖任何框架的原生 JS 收银台,复制即用。
|
||||
@@ -1,152 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import Link from "next/link"
|
||||
import { ChevronLeft, Clock, MessageCircle, BookOpen, Users, Award, TrendingUp } from "lucide-react"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { useState } from "react"
|
||||
import { QRCodeModal } from "@/components/modules/marketing/qr-code-modal"
|
||||
import { useStore } from "@/lib/store"
|
||||
|
||||
export default function AboutPage() {
|
||||
const [showQRModal, setShowQRModal] = useState(false)
|
||||
const { settings } = useStore()
|
||||
const authorInfo = settings?.authorInfo || {
|
||||
name: "卡若",
|
||||
description: "连续创业者,私域运营专家",
|
||||
liveTime: "06:00-09:00",
|
||||
platform: "Soul派对房",
|
||||
}
|
||||
|
||||
const milestones = [
|
||||
{ year: "2012", event: "开始做游戏推广,从魔兽世界外挂代理起步" },
|
||||
{ year: "2015", event: "转型电商,做天猫虚拟充值,月流水380万" },
|
||||
{ year: "2017", event: "团队扩张到200人,年流水3000万" },
|
||||
{ year: "2018", event: "公司破产,负债数百万,开始全国旅行反思" },
|
||||
{ year: "2019", event: "重新出发,专注私域运营和个人IP" },
|
||||
{ year: "2024", event: "在Soul派对房每日直播,分享真实商业故事" },
|
||||
]
|
||||
|
||||
const stats = [
|
||||
{ icon: BookOpen, value: "55+", label: "真实案例" },
|
||||
{ icon: Users, value: "10000+", label: "派对房听众" },
|
||||
{ icon: Award, value: "15年", label: "创业经验" },
|
||||
{ icon: TrendingUp, value: "3000万", label: "最高年流水" },
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-[#0a1628] text-white pb-20">
|
||||
{/* Header */}
|
||||
<header className="sticky top-0 z-50 bg-[#0a1628]/90 backdrop-blur-md border-b border-gray-800">
|
||||
<div className="max-w-4xl mx-auto px-4 py-4 flex items-center">
|
||||
<Link href="/" className="flex items-center gap-2 text-gray-400 hover:text-white transition-colors">
|
||||
<ChevronLeft className="w-5 h-5" />
|
||||
<span>返回</span>
|
||||
</Link>
|
||||
<h1 className="flex-1 text-center text-lg font-semibold">关于作者</h1>
|
||||
<div className="w-16" />
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main className="max-w-4xl mx-auto px-4 py-8">
|
||||
{/* Author Card */}
|
||||
<div className="bg-gradient-to-br from-[#38bdac]/20 to-[#0f2137] rounded-2xl p-8 border border-[#38bdac]/30 mb-8">
|
||||
<div className="flex flex-col md:flex-row items-center gap-6">
|
||||
<div className="w-24 h-24 rounded-full bg-gradient-to-br from-[#38bdac] to-[#1a5a50] flex items-center justify-center text-4xl font-bold text-white">
|
||||
{authorInfo.name.charAt(0)}
|
||||
</div>
|
||||
<div className="text-center md:text-left flex-1">
|
||||
<h2 className="text-2xl font-bold text-white mb-2">{authorInfo.name}</h2>
|
||||
<p className="text-gray-400 mb-4">{authorInfo.description}</p>
|
||||
<div className="flex items-center justify-center md:justify-start gap-4 text-sm">
|
||||
<span className="flex items-center gap-1 text-[#38bdac]">
|
||||
<Clock className="w-4 h-4" />
|
||||
每日 {authorInfo.liveTime}
|
||||
</span>
|
||||
<span className="flex items-center gap-1 text-gray-400">
|
||||
<MessageCircle className="w-4 h-4" />
|
||||
{authorInfo.platform}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<Button onClick={() => setShowQRModal(true)} className="bg-[#38bdac] hover:bg-[#2da396] text-white">
|
||||
<MessageCircle className="w-4 h-4 mr-2" />
|
||||
加入派对群
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Stats */}
|
||||
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 mb-8">
|
||||
{stats.map((stat, index) => (
|
||||
<div
|
||||
key={index}
|
||||
className="bg-[#0f2137]/60 backdrop-blur-md rounded-xl p-4 border border-gray-700/50 text-center"
|
||||
>
|
||||
<stat.icon className="w-6 h-6 text-[#38bdac] mx-auto mb-2" />
|
||||
<p className="text-2xl font-bold text-white">{stat.value}</p>
|
||||
<p className="text-gray-400 text-sm">{stat.label}</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* Introduction */}
|
||||
<div className="bg-[#0f2137]/60 backdrop-blur-md rounded-xl p-6 border border-gray-700/50 mb-8">
|
||||
<h3 className="text-lg font-semibold text-white mb-4">关于这本书</h3>
|
||||
<div className="space-y-4 text-gray-300 leading-relaxed">
|
||||
<p>"这不是一本教你成功的鸡汤书。"</p>
|
||||
<p>
|
||||
这是我每天早上6点到9点,在Soul派对房和几百个陌生人分享的真实故事。 有人来找项目,有人来找钱,有人来找方向。
|
||||
</p>
|
||||
<p>
|
||||
我见过凌晨四点还在撸运费险的年轻人,见过七十岁还在开滴滴做生意的老人,
|
||||
见过一个月赚七八块却拼命倒卖游戏金币的大学生。
|
||||
</p>
|
||||
<p className="text-[#38bdac] font-semibold">"社会不是靠努力,是靠洞察与选择。"</p>
|
||||
<p>
|
||||
这本书,就是把那些在派对房里讲过的、能让人清醒的故事,整理成文字。每个案例都真实发生过,每个教训都是用钱换来的。
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Timeline */}
|
||||
<div className="bg-[#0f2137]/60 backdrop-blur-md rounded-xl p-6 border border-gray-700/50 mb-8">
|
||||
<h3 className="text-lg font-semibold text-white mb-6">创业历程</h3>
|
||||
<div className="space-y-4">
|
||||
{milestones.map((item, index) => (
|
||||
<div key={index} className="flex gap-4">
|
||||
<div className="flex flex-col items-center">
|
||||
<div className="w-3 h-3 rounded-full bg-[#38bdac]" />
|
||||
{index < milestones.length - 1 && <div className="w-0.5 h-full bg-gray-700 mt-1" />}
|
||||
</div>
|
||||
<div className="pb-4">
|
||||
<p className="text-[#38bdac] font-semibold">{item.year}</p>
|
||||
<p className="text-gray-300">{item.event}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* CTA */}
|
||||
<div className="bg-gradient-to-r from-[#38bdac]/10 to-[#1a3a4a]/50 rounded-2xl p-6 border border-[#38bdac]/30 text-center">
|
||||
<h3 className="text-xl font-semibold text-white mb-2">想听更多真实故事?</h3>
|
||||
<p className="text-gray-400 mb-6">每天早上6-9点,卡若在Soul派对房免费分享</p>
|
||||
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
||||
<Button onClick={() => setShowQRModal(true)} className="bg-[#38bdac] hover:bg-[#2da396] text-white">
|
||||
<MessageCircle className="w-4 h-4 mr-2" />
|
||||
加入派对群
|
||||
</Button>
|
||||
<Link href="/chapters">
|
||||
<Button variant="outline" className="border-gray-600 text-white hover:bg-gray-700/50 bg-transparent">
|
||||
<BookOpen className="w-4 h-4 mr-2" />
|
||||
开始阅读
|
||||
</Button>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<QRCodeModal isOpen={showQRModal} onClose={() => setShowQRModal(false)} />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
BIN
app/admin/.DS_Store
vendored
BIN
app/admin/.DS_Store
vendored
Binary file not shown.
@@ -1,82 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { Label } from "@/components/ui/label"
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
|
||||
import { Textarea } from "@/components/ui/textarea"
|
||||
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
|
||||
|
||||
export default function ContentPage() {
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="flex justify-between items-center">
|
||||
<h2 className="text-3xl font-bold tracking-tight">内容管理</h2>
|
||||
<Button>发布新内容</Button>
|
||||
</div>
|
||||
|
||||
<Tabs defaultValue="chapters" className="space-y-4">
|
||||
<TabsList>
|
||||
<TabsTrigger value="chapters">章节管理</TabsTrigger>
|
||||
<TabsTrigger value="articles">文章管理</TabsTrigger>
|
||||
<TabsTrigger value="hooks">钩子配置</TabsTrigger>
|
||||
</TabsList>
|
||||
|
||||
<TabsContent value="chapters" className="space-y-4">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>章节列表</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="rounded-md border p-4 text-center text-muted-foreground">
|
||||
暂无章节数据,请连接数据库同步
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="articles" className="space-y-4">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>文章列表</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="rounded-md border p-4 text-center text-muted-foreground">
|
||||
暂无文章数据
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</TabsContent>
|
||||
|
||||
<TabsContent value="hooks" className="space-y-4">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>引流钩子配置</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="grid w-full max-w-sm items-center gap-1.5">
|
||||
<Label htmlFor="hook-chapter">触发章节</Label>
|
||||
<Select defaultValue="3">
|
||||
<SelectTrigger id="hook-chapter">
|
||||
<SelectValue placeholder="选择章节" />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectItem value="1">第一章</SelectItem>
|
||||
<SelectItem value="2">第二章</SelectItem>
|
||||
<SelectItem value="3">第三章 (默认)</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
<div className="grid w-full gap-1.5">
|
||||
<Label htmlFor="message">引流文案</Label>
|
||||
<Textarea placeholder="输入引导用户加群的文案..." id="message" defaultValue="阅读更多精彩内容,请加入Soul创业实验派对群..." />
|
||||
</div>
|
||||
<Button>保存配置</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import Link from "next/link"
|
||||
import { usePathname } from "next/navigation"
|
||||
import { LayoutDashboard, FileText, Users, CreditCard, QrCode, Settings, LogOut, ChevronLeft } from "lucide-react"
|
||||
import { useStore } from "@/lib/store"
|
||||
import { useRouter } from "next/navigation"
|
||||
import { useEffect } from "react"
|
||||
|
||||
export default function AdminLayout({ children }: { children: React.ReactNode }) {
|
||||
const pathname = usePathname()
|
||||
const router = useRouter()
|
||||
const { user, isLoggedIn } = useStore()
|
||||
|
||||
// Simple admin check (in real app, use robust auth)
|
||||
useEffect(() => {
|
||||
if (!isLoggedIn) {
|
||||
// router.push("/my") // Commented out for easier development access
|
||||
}
|
||||
}, [isLoggedIn, router])
|
||||
|
||||
const menuItems = [
|
||||
{ icon: LayoutDashboard, label: "数据概览", href: "/admin" },
|
||||
{ icon: FileText, label: "内容管理", href: "/admin/content" },
|
||||
{ icon: Users, label: "用户管理", href: "/admin/users" },
|
||||
{ icon: CreditCard, label: "支付配置", href: "/admin/payment" },
|
||||
{ icon: QrCode, label: "二维码", href: "/admin/qrcodes" },
|
||||
{ icon: Settings, label: "系统设置", href: "/admin/settings" },
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="flex min-h-screen bg-[#0f172a]">
|
||||
{/* Sidebar */}
|
||||
<div className="w-64 bg-[#1e293b] text-white flex flex-col border-r border-gray-800">
|
||||
<div className="p-6 border-b border-gray-800">
|
||||
<h1 className="text-xl font-bold text-[#38bdac]">管理后台</h1>
|
||||
<p className="text-xs text-gray-400 mt-1">Soul创业实验场</p>
|
||||
</div>
|
||||
|
||||
<nav className="flex-1 p-4 space-y-2">
|
||||
{menuItems.map((item) => {
|
||||
const isActive = pathname === item.href
|
||||
return (
|
||||
<Link
|
||||
key={item.href}
|
||||
href={item.href}
|
||||
className={`flex items-center gap-3 px-4 py-3 rounded-lg transition-colors ${
|
||||
isActive
|
||||
? "bg-[#38bdac]/10 text-[#38bdac] border border-[#38bdac]/20"
|
||||
: "text-gray-400 hover:bg-gray-800 hover:text-white"
|
||||
}`}
|
||||
>
|
||||
<item.icon className="w-5 h-5" />
|
||||
<span className="text-sm font-medium">{item.label}</span>
|
||||
</Link>
|
||||
)
|
||||
})}
|
||||
</nav>
|
||||
|
||||
<div className="p-4 border-t border-gray-800">
|
||||
<Link
|
||||
href="/my"
|
||||
className="flex items-center gap-3 px-4 py-3 text-gray-400 hover:text-white rounded-lg hover:bg-gray-800 transition-colors"
|
||||
>
|
||||
<LogOut className="w-5 h-5" />
|
||||
<span className="text-sm font-medium">返回前台</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Main Content */}
|
||||
<div className="flex-1 overflow-auto bg-[#0f172a]">
|
||||
{children}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
export default function Loading() {
|
||||
return null
|
||||
}
|
||||
@@ -1,82 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useState } from "react"
|
||||
import { useRouter } from "next/navigation"
|
||||
import { Lock, User } from "lucide-react"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { useStore } from "@/lib/store"
|
||||
|
||||
export default function AdminLoginPage() {
|
||||
const router = useRouter()
|
||||
const { adminLogin } = useStore()
|
||||
const [username, setUsername] = useState("")
|
||||
const [password, setPassword] = useState("")
|
||||
const [error, setError] = useState("")
|
||||
|
||||
const handleLogin = () => {
|
||||
setError("")
|
||||
const success = adminLogin(username, password)
|
||||
if (success) {
|
||||
router.push("/admin")
|
||||
} else {
|
||||
setError("用户名或密码错误")
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-[#0a1628] text-white flex items-center justify-center p-4">
|
||||
<div className="w-full max-w-md">
|
||||
{/* Logo */}
|
||||
<div className="text-center mb-8">
|
||||
<h1 className="text-2xl font-bold text-white mb-2">管理后台</h1>
|
||||
<p className="text-gray-500">一场SOUL的创业实验场</p>
|
||||
</div>
|
||||
|
||||
{/* Login form */}
|
||||
<div className="bg-[#0f2137] rounded-2xl p-8 border border-gray-700/50">
|
||||
<h2 className="text-xl font-semibold text-white mb-6 text-center">管理员登录</h2>
|
||||
|
||||
<div className="space-y-4">
|
||||
<div>
|
||||
<label className="block text-gray-400 text-sm mb-2">用户名</label>
|
||||
<div className="relative">
|
||||
<User className="absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500" />
|
||||
<Input
|
||||
type="text"
|
||||
value={username}
|
||||
onChange={(e) => setUsername(e.target.value)}
|
||||
placeholder="请输入用户名"
|
||||
className="pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="block text-gray-400 text-sm mb-2">密码</label>
|
||||
<div className="relative">
|
||||
<Lock className="absolute left-3 top-1/2 -translate-y-1/2 w-5 h-5 text-gray-500" />
|
||||
<Input
|
||||
type="password"
|
||||
value={password}
|
||||
onChange={(e) => setPassword(e.target.value)}
|
||||
placeholder="请输入密码"
|
||||
className="pl-10 bg-[#0a1628] border-gray-700 text-white placeholder:text-gray-500"
|
||||
onKeyDown={(e) => e.key === "Enter" && handleLogin()}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{error && <p className="text-red-400 text-sm">{error}</p>}
|
||||
|
||||
<Button onClick={handleLogin} className="w-full bg-[#38bdac] hover:bg-[#2da396] text-white py-5">
|
||||
登录
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<p className="text-gray-500 text-xs text-center mt-6">默认账号: admin / key123456</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { useStore } from "@/lib/store"
|
||||
import { Users, BookOpen, ShoppingBag, TrendingUp } from "lucide-react"
|
||||
|
||||
export default function AdminDashboard() {
|
||||
const { getAllUsers, getAllPurchases } = useStore()
|
||||
const users = getAllUsers()
|
||||
const purchases = getAllPurchases()
|
||||
|
||||
const totalRevenue = purchases.reduce((sum, p) => sum + p.amount, 0)
|
||||
const totalUsers = users.length
|
||||
const totalPurchases = purchases.length
|
||||
|
||||
const stats = [
|
||||
{ title: "总用户数", value: totalUsers, icon: Users, color: "text-blue-500" },
|
||||
{ title: "总收入", value: `¥${totalRevenue.toFixed(2)}`, icon: TrendingUp, color: "text-green-500" },
|
||||
{ title: "订单数", value: totalPurchases, icon: ShoppingBag, color: "text-purple-500" },
|
||||
{ title: "转化率", value: `${totalUsers > 0 ? ((totalPurchases / totalUsers) * 100).toFixed(1) : 0}%`, icon: BookOpen, color: "text-orange-500" },
|
||||
]
|
||||
|
||||
return (
|
||||
<div className="p-8 max-w-7xl mx-auto text-white">
|
||||
<h1 className="text-2xl font-bold mb-8">数据概览</h1>
|
||||
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
|
||||
{stats.map((stat, index) => (
|
||||
<Card key={index} className="bg-[#1e293b] border-gray-700">
|
||||
<CardHeader className="flex flex-row items-center justify-between pb-2">
|
||||
<CardTitle className="text-sm font-medium text-gray-400">{stat.title}</CardTitle>
|
||||
<stat.icon className={`w-4 h-4 ${stat.color}`} />
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="text-2xl font-bold text-white">{stat.value}</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
))}
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 lg:grid-cols-2 gap-8">
|
||||
<Card className="bg-[#1e293b] border-gray-700">
|
||||
<CardHeader>
|
||||
<CardTitle className="text-white">最近订单</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="space-y-4">
|
||||
{purchases.slice(-5).reverse().map((p) => (
|
||||
<div key={p.id} className="flex items-center justify-between p-4 bg-[#0f172a] rounded-lg">
|
||||
<div>
|
||||
<p className="text-sm font-medium text-white">{p.sectionTitle || "整本购买"}</p>
|
||||
<p className="text-xs text-gray-400">{new Date(p.createdAt).toLocaleString()}</p>
|
||||
</div>
|
||||
<div className="text-right">
|
||||
<p className="text-sm font-bold text-[#38bdac]">+¥{p.amount}</p>
|
||||
<p className="text-xs text-gray-500">{p.paymentMethod}</p>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
{purchases.length === 0 && (
|
||||
<p className="text-gray-500 text-center py-4">暂无订单数据</p>
|
||||
)}
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
<Card className="bg-[#1e293b] border-gray-700">
|
||||
<CardHeader>
|
||||
<CardTitle className="text-white">新注册用户</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="space-y-4">
|
||||
{users.slice(-5).reverse().map((u) => (
|
||||
<div key={u.id} className="flex items-center justify-between p-4 bg-[#0f172a] rounded-lg">
|
||||
<div className="flex items-center gap-3">
|
||||
<div className="w-8 h-8 rounded-full bg-gray-700 flex items-center justify-center text-xs">
|
||||
{u.nickname.charAt(0)}
|
||||
</div>
|
||||
<div>
|
||||
<p className="text-sm font-medium text-white">{u.nickname}</p>
|
||||
<p className="text-xs text-gray-400">{u.phone}</p>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-xs text-gray-500">{new Date(u.createdAt).toLocaleDateString()}</p>
|
||||
</div>
|
||||
))}
|
||||
{users.length === 0 && (
|
||||
<p className="text-gray-500 text-center py-4">暂无用户数据</p>
|
||||
)}
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,248 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useState, useEffect } from "react"
|
||||
import { useStore } from "@/lib/store"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { Label } from "@/components/ui/label"
|
||||
import { Switch } from "@/components/ui/switch"
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"
|
||||
import { Save, RefreshCw } from "lucide-react"
|
||||
|
||||
export default function PaymentConfigPage() {
|
||||
const { settings, updateSettings, fetchSettings } = useStore()
|
||||
const [loading, setLoading] = useState(false)
|
||||
const [localSettings, setLocalSettings] = useState(settings.paymentMethods)
|
||||
|
||||
// Sync with store on mount
|
||||
useEffect(() => {
|
||||
setLocalSettings(settings.paymentMethods)
|
||||
}, [settings.paymentMethods])
|
||||
|
||||
const handleSave = async () => {
|
||||
setLoading(true)
|
||||
// Update store (and local storage)
|
||||
updateSettings({ paymentMethods: localSettings })
|
||||
|
||||
// Simulate API call delay
|
||||
await new Promise(resolve => setTimeout(resolve, 800))
|
||||
setLoading(false)
|
||||
alert("配置已保存!")
|
||||
}
|
||||
|
||||
const handleRefresh = async () => {
|
||||
setLoading(true)
|
||||
await fetchSettings()
|
||||
setLoading(false)
|
||||
}
|
||||
|
||||
const updateWechat = (field: string, value: any) => {
|
||||
setLocalSettings(prev => ({
|
||||
...prev,
|
||||
wechat: { ...prev.wechat, [field]: value }
|
||||
}))
|
||||
}
|
||||
|
||||
const updateAlipay = (field: string, value: any) => {
|
||||
setLocalSettings(prev => ({
|
||||
...prev,
|
||||
alipay: { ...prev.alipay, [field]: value }
|
||||
}))
|
||||
}
|
||||
|
||||
const updateUsdt = (field: string, value: any) => {
|
||||
setLocalSettings(prev => ({
|
||||
...prev,
|
||||
usdt: { ...prev.usdt, [field]: value }
|
||||
}))
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="p-8 max-w-5xl mx-auto text-white">
|
||||
<div className="flex justify-between items-center mb-8">
|
||||
<div>
|
||||
<h1 className="text-2xl font-bold mb-2">支付配置</h1>
|
||||
<p className="text-gray-400">配置微信、支付宝及USDT支付参数</p>
|
||||
</div>
|
||||
<div className="flex gap-4">
|
||||
<Button variant="outline" onClick={handleRefresh} className="border-gray-600 text-gray-300 hover:text-white bg-transparent">
|
||||
<RefreshCw className={`w-4 h-4 mr-2 ${loading ? 'animate-spin' : ''}`} />
|
||||
同步配置
|
||||
</Button>
|
||||
<Button onClick={handleSave} className="bg-[#38bdac] hover:bg-[#2da396] text-white">
|
||||
<Save className="w-4 h-4 mr-2" />
|
||||
保存配置
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="grid grid-cols-1 gap-8">
|
||||
{/* Wechat Pay */}
|
||||
<Card className="bg-[#1e293b] border-gray-700">
|
||||
<CardHeader className="flex flex-row items-center justify-between pb-2">
|
||||
<div className="space-y-1">
|
||||
<CardTitle className="text-[#07C160] flex items-center gap-2">
|
||||
<svg className="w-6 h-6" fill="currentColor" viewBox="0 0 24 24"><path d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 0 1 .213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 0 0 .167-.054l1.903-1.114a.864.864 0 0 1 .717-.098 10.16 10.16 0 0 0 2.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178A1.17 1.17 0 0 1 4.623 7.17c0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18a1.17 1.17 0 0 1-1.162 1.178 1.17 1.17 0 0 1-1.162-1.178c0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 0 1 .598.082l1.584.926a.272.272 0 0 0 .14.047c.134 0 .24-.111.24-.247 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 0 1-.023-.156.49.49 0 0 1 .201-.398C23.024 18.48 24 16.82 24 14.98c0-3.21-2.931-5.837-6.656-6.088V8.89c-.135-.01-.269-.03-.406-.03zm-2.53 3.274c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.97-.982zm4.844 0c.535 0 .969.44.969.982a.976.976 0 0 1-.969.983.976.976 0 0 1-.969-.983c0-.542.434-.982.969-.982z"/></svg>
|
||||
微信支付
|
||||
</CardTitle>
|
||||
<CardDescription className="text-gray-400">配置微信商户号及API密钥</CardDescription>
|
||||
</div>
|
||||
<Switch
|
||||
checked={localSettings.wechat.enabled}
|
||||
onCheckedChange={(c) => updateWechat('enabled', c)}
|
||||
/>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">网站应用 AppID</Label>
|
||||
<Input
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="wx..."
|
||||
value={localSettings.wechat.websiteAppId || ''}
|
||||
onChange={(e) => updateWechat('websiteAppId', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">网站应用 AppSecret</Label>
|
||||
<Input
|
||||
type="password"
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="......"
|
||||
value={localSettings.wechat.websiteAppSecret || ''}
|
||||
onChange={(e) => updateWechat('websiteAppSecret', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">商户号 (MchId)</Label>
|
||||
<Input
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="160..."
|
||||
value={localSettings.wechat.merchantId || ''}
|
||||
onChange={(e) => updateWechat('merchantId', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">API v3 密钥</Label>
|
||||
<Input
|
||||
type="password"
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="......"
|
||||
value={localSettings.wechat.apiKey || ''}
|
||||
onChange={(e) => updateWechat('apiKey', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">个人收款码 URL (兜底方案)</Label>
|
||||
<Input
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="/images/wechat-pay.png"
|
||||
value={localSettings.wechat.qrCode || ''}
|
||||
onChange={(e) => updateWechat('qrCode', e.target.value)}
|
||||
/>
|
||||
<p className="text-xs text-gray-500">当未配置企业支付参数时,将显示此二维码进行个人收款</p>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* Alipay */}
|
||||
<Card className="bg-[#1e293b] border-gray-700">
|
||||
<CardHeader className="flex flex-row items-center justify-between pb-2">
|
||||
<div className="space-y-1">
|
||||
<CardTitle className="text-[#1677FF] flex items-center gap-2">
|
||||
<svg className="w-6 h-6" fill="currentColor" viewBox="0 0 24 24"><path d="M8.77 20.62l9.92-4.33c-.12-.33-.24-.66-.38-.99-.14-.33-.3-.66-.47-.99H8.08c-2.2 0-3.99-1.79-3.99-3.99V8.08c0-2.2 1.79-3.99 3.99-3.99h7.84c2.2 0 3.99 1.79 3.99 3.99v2.24h-8.66c-.55 0-1 .45-1 1s.45 1 1 1h10.66c-.18 1.73-.71 3.36-1.53 4.83l-2.76 1.2c-.74-1.69-1.74-3.24-2.93-4.6-.52-.59-1.11-1.13-1.76-1.59H4.09v4.24c0 2.2 1.79 3.99 3.99 3.99h.69v.23z"/></svg>
|
||||
支付宝
|
||||
</CardTitle>
|
||||
<CardDescription className="text-gray-400">配置支付宝PID及密钥</CardDescription>
|
||||
</div>
|
||||
<Switch
|
||||
checked={localSettings.alipay.enabled}
|
||||
onCheckedChange={(c) => updateAlipay('enabled', c)}
|
||||
/>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">合作者身份 (PID)</Label>
|
||||
<Input
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="2088..."
|
||||
value={localSettings.alipay.partnerId || ''}
|
||||
onChange={(e) => updateAlipay('partnerId', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">安全校验码 (Key)</Label>
|
||||
<Input
|
||||
type="password"
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="......"
|
||||
value={localSettings.alipay.securityKey || ''}
|
||||
onChange={(e) => updateAlipay('securityKey', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">个人收款码 URL (兜底方案)</Label>
|
||||
<Input
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
placeholder="/images/alipay.png"
|
||||
value={localSettings.alipay.qrCode || ''}
|
||||
onChange={(e) => updateAlipay('qrCode', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* USDT */}
|
||||
<Card className="bg-[#1e293b] border-gray-700">
|
||||
<CardHeader className="flex flex-row items-center justify-between pb-2">
|
||||
<div className="space-y-1">
|
||||
<CardTitle className="text-[#26A17B] flex items-center gap-2">
|
||||
<span className="font-bold">₮</span> USDT支付
|
||||
</CardTitle>
|
||||
<CardDescription className="text-gray-400">配置区块链钱包地址</CardDescription>
|
||||
</div>
|
||||
<Switch
|
||||
checked={localSettings.usdt.enabled}
|
||||
onCheckedChange={(c) => updateUsdt('enabled', c)}
|
||||
/>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">网络协议</Label>
|
||||
<Input
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
value={localSettings.usdt.network || 'TRC20'}
|
||||
onChange={(e) => updateUsdt('network', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">汇率 (USD -> CNY)</Label>
|
||||
<Input
|
||||
type="number"
|
||||
className="bg-[#0f172a] border-gray-600 text-white"
|
||||
value={localSettings.usdt.exchangeRate || 7.2}
|
||||
onChange={(e) => updateUsdt('exchangeRate', parseFloat(e.target.value))}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className="space-y-2">
|
||||
<Label className="text-gray-300">钱包地址</Label>
|
||||
<Input
|
||||
className="bg-[#0f172a] border-gray-600 text-white font-mono"
|
||||
placeholder="T..."
|
||||
value={localSettings.usdt.address || ''}
|
||||
onChange={(e) => updateUsdt('address', e.target.value)}
|
||||
/>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Label } from "@/components/ui/label"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Separator } from "@/components/ui/separator"
|
||||
|
||||
export default function QRCodesPage() {
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div>
|
||||
<h2 className="text-3xl font-bold tracking-tight">二维码管理</h2>
|
||||
<p className="text-muted-foreground">管理用于引流和支付的二维码图片。</p>
|
||||
</div>
|
||||
|
||||
<div className="grid gap-6 md:grid-cols-2">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>私域引流码</CardTitle>
|
||||
<CardDescription>用于文章底部、个人中心等位置的加群/加好友二维码。</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="flex flex-col items-center justify-center border-2 border-dashed rounded-lg p-6 h-48 bg-slate-50">
|
||||
<span className="text-muted-foreground">预览区域</span>
|
||||
</div>
|
||||
<div className="grid w-full max-w-sm items-center gap-1.5">
|
||||
<Label htmlFor="traffic-qr">上传新图片</Label>
|
||||
<Input id="traffic-qr" type="file" />
|
||||
</div>
|
||||
<Button className="w-full">更新引流码</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>群活码</CardTitle>
|
||||
<CardDescription>用于派对活动引流的动态群活码。</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="flex flex-col items-center justify-center border-2 border-dashed rounded-lg p-6 h-48 bg-slate-50">
|
||||
<span className="text-muted-foreground">预览区域</span>
|
||||
</div>
|
||||
<div className="grid w-full max-w-sm items-center gap-1.5">
|
||||
<Label htmlFor="group-qr">上传新图片</Label>
|
||||
<Input id="group-qr" type="file" />
|
||||
</div>
|
||||
<div className="grid w-full max-w-sm items-center gap-1.5">
|
||||
<Label htmlFor="group-url">活码链接 (可选)</Label>
|
||||
<Input id="group-url" placeholder="https://..." defaultValue="https://soul.cn/party" />
|
||||
</div>
|
||||
<Button className="w-full">更新群活码</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Label } from "@/components/ui/label"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Switch } from "@/components/ui/switch"
|
||||
|
||||
export default function SettingsPage() {
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div>
|
||||
<h2 className="text-3xl font-bold tracking-tight">系统设置</h2>
|
||||
<p className="text-muted-foreground">配置全站基础参数与开关。</p>
|
||||
</div>
|
||||
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>基础信息</CardTitle>
|
||||
<CardDescription>网站显示的基本信息配置。</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="site-name">网站名称</Label>
|
||||
<Input id="site-name" defaultValue="一场Soul的创业实验" />
|
||||
</div>
|
||||
<div className="grid gap-2">
|
||||
<Label htmlFor="author">主理人</Label>
|
||||
<Input id="author" defaultValue="卡若" />
|
||||
</div>
|
||||
<Button>保存基础信息</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>功能开关</CardTitle>
|
||||
<CardDescription>控制系统核心模块的启用状态。</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-6">
|
||||
<div className="flex items-center justify-between space-x-2">
|
||||
<Label htmlFor="maintenance-mode" className="flex flex-col space-y-1">
|
||||
<span>维护模式</span>
|
||||
<span className="font-normal text-xs text-muted-foreground">启用后前台将显示维护中页面</span>
|
||||
</Label>
|
||||
<Switch id="maintenance-mode" />
|
||||
</div>
|
||||
<div className="flex items-center justify-between space-x-2">
|
||||
<Label htmlFor="payment-enabled" className="flex flex-col space-y-1">
|
||||
<span>全站支付</span>
|
||||
<span className="font-normal text-xs text-muted-foreground">关闭后所有支付功能将暂停</span>
|
||||
</Label>
|
||||
<Switch id="payment-enabled" defaultChecked />
|
||||
</div>
|
||||
<div className="flex items-center justify-between space-x-2">
|
||||
<Label htmlFor="referral-enabled" className="flex flex-col space-y-1">
|
||||
<span>分销系统</span>
|
||||
<span className="font-normal text-xs text-muted-foreground">是否允许用户生成邀请链接</span>
|
||||
</Label>
|
||||
<Switch id="referral-enabled" defaultChecked />
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Input } from "@/components/ui/input"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"
|
||||
|
||||
export default function UsersPage() {
|
||||
return (
|
||||
<div className="space-y-6">
|
||||
<div className="flex justify-between items-center">
|
||||
<h2 className="text-3xl font-bold tracking-tight">用户管理</h2>
|
||||
<div className="flex w-full max-w-sm items-center space-x-2">
|
||||
<Input type="text" placeholder="搜索用户..." />
|
||||
<Button type="submit">搜索</Button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>用户列表</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableRow>
|
||||
<TableHead className="w-[100px]">ID</TableHead>
|
||||
<TableHead>用户名</TableHead>
|
||||
<TableHead>绑定状态</TableHead>
|
||||
<TableHead>注册时间</TableHead>
|
||||
<TableHead className="text-right">操作</TableHead>
|
||||
</TableRow>
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
<TableRow>
|
||||
<TableCell className="font-medium">1001</TableCell>
|
||||
<TableCell>测试用户A</TableCell>
|
||||
<TableCell className="text-green-600">已绑定</TableCell>
|
||||
<TableCell>2025-12-28</TableCell>
|
||||
<TableCell className="text-right">
|
||||
<Button variant="ghost" size="sm">查看</Button>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell className="font-medium">1002</TableCell>
|
||||
<TableCell>游客_8392</TableCell>
|
||||
<TableCell className="text-yellow-600">未绑定</TableCell>
|
||||
<TableCell>2025-12-29</TableCell>
|
||||
<TableCell className="text-right">
|
||||
<Button variant="ghost" size="sm">查看</Button>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,135 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useState, useEffect } from "react"
|
||||
import { useStore, type Withdrawal } from "@/lib/store"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"
|
||||
import { Check, X, Clock } from "lucide-react"
|
||||
|
||||
export default function WithdrawalsPage() {
|
||||
const { withdrawals, completeWithdrawal } = useStore()
|
||||
const [mounted, setMounted] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
setMounted(true)
|
||||
}, [])
|
||||
|
||||
if (!mounted) return null
|
||||
|
||||
const pendingWithdrawals = withdrawals?.filter(w => w.status === "pending") || []
|
||||
const historyWithdrawals = withdrawals?.filter(w => w.status !== "pending").sort((a, b) =>
|
||||
new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime()
|
||||
) || []
|
||||
|
||||
const handleApprove = (id: string) => {
|
||||
if (confirm("确认打款并完成此提现申请吗?")) {
|
||||
completeWithdrawal(id)
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="p-6 max-w-6xl mx-auto">
|
||||
<h1 className="text-2xl font-bold mb-6">提现管理</h1>
|
||||
|
||||
<div className="grid gap-6">
|
||||
{/* Pending Requests */}
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<Clock className="w-5 h-5 text-orange-500" />
|
||||
待处理申请 ({pendingWithdrawals.length})
|
||||
</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
{pendingWithdrawals.length === 0 ? (
|
||||
<p className="text-gray-500 text-center py-8">暂无待处理申请</p>
|
||||
) : (
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full text-sm text-left">
|
||||
<thead className="bg-gray-50 text-gray-700">
|
||||
<tr>
|
||||
<th className="p-3">申请时间</th>
|
||||
<th className="p-3">用户ID</th>
|
||||
<th className="p-3">姓名</th>
|
||||
<th className="p-3">渠道</th>
|
||||
<th className="p-3">账号</th>
|
||||
<th className="p-3">金额</th>
|
||||
<th className="p-3 text-right">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y">
|
||||
{pendingWithdrawals.map((w) => (
|
||||
<tr key={w.id} className="hover:bg-gray-50">
|
||||
<td className="p-3">{new Date(w.createdAt).toLocaleString()}</td>
|
||||
<td className="p-3 font-mono text-xs">{w.userId.slice(0, 8)}...</td>
|
||||
<td className="p-3 font-medium">{w.name}</td>
|
||||
<td className="p-3">
|
||||
<span className={`px-2 py-1 rounded-full text-xs text-white ${w.method === "wechat" ? "bg-green-600" : "bg-blue-600"}`}>
|
||||
{w.method === "wechat" ? "微信" : "支付宝"}
|
||||
</span>
|
||||
</td>
|
||||
<td className="p-3 font-mono">{w.account}</td>
|
||||
<td className="p-3 font-bold text-orange-600">¥{w.amount.toFixed(2)}</td>
|
||||
<td className="p-3 text-right">
|
||||
<Button size="sm" onClick={() => handleApprove(w.id)} className="bg-green-600 hover:bg-green-700 text-white">
|
||||
<Check className="w-4 h-4 mr-1" />
|
||||
确认打款
|
||||
</Button>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* History */}
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>处理历史</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
{historyWithdrawals.length === 0 ? (
|
||||
<p className="text-gray-500 text-center py-8">暂无历史记录</p>
|
||||
) : (
|
||||
<div className="overflow-x-auto">
|
||||
<table className="w-full text-sm text-left">
|
||||
<thead className="bg-gray-50 text-gray-700">
|
||||
<tr>
|
||||
<th className="p-3">申请时间</th>
|
||||
<th className="p-3">处理时间</th>
|
||||
<th className="p-3">姓名</th>
|
||||
<th className="p-3">渠道</th>
|
||||
<th className="p-3">金额</th>
|
||||
<th className="p-3">状态</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody className="divide-y">
|
||||
{historyWithdrawals.map((w) => (
|
||||
<tr key={w.id} className="hover:bg-gray-50">
|
||||
<td className="p-3 text-gray-500">{new Date(w.createdAt).toLocaleString()}</td>
|
||||
<td className="p-3 text-gray-500">{w.completedAt ? new Date(w.completedAt).toLocaleString() : "-"}</td>
|
||||
<td className="p-3">{w.name}</td>
|
||||
<td className="p-3">
|
||||
{w.method === "wechat" ? "微信" : "支付宝"}
|
||||
</td>
|
||||
<td className="p-3 font-medium">¥{w.amount.toFixed(2)}</td>
|
||||
<td className="p-3">
|
||||
<span className="px-2 py-1 rounded-full text-xs text-green-600 border border-green-200 bg-green-50">
|
||||
已完成
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
)}
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
BIN
app/api/.DS_Store
vendored
BIN
app/api/.DS_Store
vendored
Binary file not shown.
@@ -1,55 +0,0 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
|
||||
export async function GET() {
|
||||
const config = {
|
||||
paymentMethods: {
|
||||
wechat: {
|
||||
enabled: true,
|
||||
qrCode: "/images/wechat-pay.png",
|
||||
account: "卡若",
|
||||
appId: process.env.TENCENT_APP_ID || "1251077262", // From .env or default
|
||||
// 敏感信息后端处理,不完全暴露给前端
|
||||
},
|
||||
alipay: {
|
||||
enabled: true,
|
||||
qrCode: "/images/alipay.png",
|
||||
account: "卡若",
|
||||
appId: process.env.ALIPAY_ACCESS_KEY_ID || "LTAI5t9zkiWmFtHG8qmtdysW", // Using Access Key as placeholder ID
|
||||
},
|
||||
usdt: {
|
||||
enabled: true,
|
||||
network: "TRC20",
|
||||
address: process.env.USDT_WALLET_ADDRESS || "TWeq9xxxxxxxxxxxxxxxxxxxx",
|
||||
exchangeRate: 7.2
|
||||
},
|
||||
paypal: {
|
||||
enabled: false,
|
||||
email: process.env.PAYPAL_CLIENT_ID || "",
|
||||
exchangeRate: 7.2
|
||||
}
|
||||
},
|
||||
marketing: {
|
||||
partyGroup: {
|
||||
url: "https://soul.cn/party",
|
||||
liveCodeUrl: "https://soul.cn/party-live",
|
||||
qrCode: "/images/party-group-qr.png"
|
||||
},
|
||||
banner: {
|
||||
text: "每日早上6-9点,Soul派对房不见不散",
|
||||
visible: true
|
||||
}
|
||||
},
|
||||
authorInfo: {
|
||||
name: "卡若",
|
||||
description: "私域运营与技术公司主理人",
|
||||
liveTime: "06:00-09:00",
|
||||
platform: "Soul"
|
||||
},
|
||||
system: {
|
||||
version: "1.0.0",
|
||||
maintenance: false
|
||||
}
|
||||
};
|
||||
|
||||
return NextResponse.json(config);
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
import { type NextRequest, NextResponse } from "next/server"
|
||||
import fs from "fs"
|
||||
import path from "path"
|
||||
|
||||
export async function GET(request: NextRequest) {
|
||||
const searchParams = request.nextUrl.searchParams
|
||||
const filePath = searchParams.get("path")
|
||||
const sectionId = searchParams.get("sectionId")
|
||||
|
||||
if (!filePath && !sectionId) {
|
||||
return NextResponse.json({ error: "Path or sectionId is required" }, { status: 400 })
|
||||
}
|
||||
|
||||
if (filePath?.startsWith("custom/")) {
|
||||
// Custom sections have their content stored in localStorage on the client
|
||||
// Return empty content, client will handle it
|
||||
return NextResponse.json({ content: "", isCustom: true })
|
||||
}
|
||||
|
||||
try {
|
||||
const fullPath = path.join(process.cwd(), filePath || "")
|
||||
const content = fs.readFileSync(fullPath, "utf-8")
|
||||
return NextResponse.json({ content, isCustom: false })
|
||||
} catch (error) {
|
||||
console.error("Error reading file:", error)
|
||||
return NextResponse.json({ error: "File not found" }, { status: 404 })
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
import { NextResponse, type NextRequest } from "next/server"
|
||||
import { getDocumentationCatalog } from "@/lib/documentation/catalog"
|
||||
import { captureScreenshots } from "@/lib/documentation/screenshot"
|
||||
import { renderDocumentationDocx } from "@/lib/documentation/docx"
|
||||
|
||||
export const runtime = "nodejs"
|
||||
|
||||
function getBaseUrl(request: NextRequest) {
|
||||
const proto = request.headers.get("x-forwarded-proto") || "http"
|
||||
const host = request.headers.get("x-forwarded-host") || request.headers.get("host")
|
||||
if (!host) return null
|
||||
return `${proto}://${host}`
|
||||
}
|
||||
|
||||
function isAuthorized(request: NextRequest) {
|
||||
const token = process.env.DOCUMENTATION_TOKEN
|
||||
// If no token is configured, allow access (internal tool)
|
||||
if (!token || token === "") return true
|
||||
const header = request.headers.get("x-documentation-token")
|
||||
const query = request.nextUrl.searchParams.get("token")
|
||||
return header === token || query === token
|
||||
}
|
||||
|
||||
export async function POST(request: NextRequest) {
|
||||
if (!isAuthorized(request)) {
|
||||
return NextResponse.json({ error: "Unauthorized" }, { status: 401 })
|
||||
}
|
||||
|
||||
const baseUrl = getBaseUrl(request)
|
||||
if (!baseUrl) {
|
||||
return NextResponse.json({ error: "Host is required" }, { status: 400 })
|
||||
}
|
||||
|
||||
try {
|
||||
const pages = getDocumentationCatalog()
|
||||
const screenshots = await captureScreenshots(pages, {
|
||||
baseUrl,
|
||||
timeoutMs: 60000,
|
||||
viewport: { width: 430, height: 932 },
|
||||
})
|
||||
const docxBuffer = await renderDocumentationDocx(screenshots)
|
||||
|
||||
return new NextResponse(docxBuffer, {
|
||||
status: 200,
|
||||
headers: {
|
||||
"Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
||||
"Content-Disposition": `attachment; filename="app-documentation.docx"`,
|
||||
"Cache-Control": "no-store",
|
||||
},
|
||||
})
|
||||
} catch (error) {
|
||||
const message = error instanceof Error ? error.message : String(error)
|
||||
return NextResponse.json({ error: message }, { status: 500 })
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
import { NextResponse } from "next/server"
|
||||
import { getBookStructure } from "@/lib/book-file-system"
|
||||
|
||||
export async function GET() {
|
||||
try {
|
||||
const structure = getBookStructure()
|
||||
return NextResponse.json(structure)
|
||||
} catch (error) {
|
||||
console.error("Error generating menu:", error)
|
||||
return NextResponse.json({ error: "Failed to generate menu" }, { status: 500 })
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
import { paymentService } from '../../../services/paymentService';
|
||||
import { connectDB } from '../../../lib/db';
|
||||
|
||||
export async function POST(req) {
|
||||
await connectDB();
|
||||
const { orderId, gateway } = await req.json();
|
||||
const result = await paymentService.pay(orderId, gateway);
|
||||
return Response.json({ success: true, result });
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
import { paymentService } from '../../../services/paymentService';
|
||||
import { connectDB } from '../../../lib/db';
|
||||
|
||||
export async function POST(req) {
|
||||
await connectDB();
|
||||
const data = await req.json();
|
||||
const order = await paymentService.createOrder(data);
|
||||
return Response.json({ success: true, order });
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
import { Order } from '../../../../models/Order';
|
||||
import { connectDB } from '../../../../lib/db';
|
||||
|
||||
export async function POST(req, { params }) {
|
||||
await connectDB();
|
||||
const { gateway } = await params;
|
||||
const data = await req.json();
|
||||
// 根据gateway处理通知并更新订单状态
|
||||
// 这是一个简化版本,实际需要验证签名和处理不同gateway的逻辑
|
||||
const orderId = data.out_trade_no || data.order_id || data.metadata?.order_id;
|
||||
|
||||
if (orderId) {
|
||||
const order = await Order.findById(orderId);
|
||||
if (order) {
|
||||
order.status = 'paid';
|
||||
await order.save();
|
||||
}
|
||||
}
|
||||
return Response.json({ success: true });
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
import Link from "next/link"
|
||||
import { ChevronLeft } from "lucide-react"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { specialSections, FULL_BOOK_PRICE } from "@/lib/book-data"
|
||||
import { getBookStructure } from "@/lib/book-file-system"
|
||||
import { ChaptersList } from "@/components/chapters-list"
|
||||
|
||||
import { BuyFullBookButton } from "@/components/buy-full-book-button"
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function ChaptersPage() {
|
||||
const parts = getBookStructure()
|
||||
|
||||
// Format special sections for the client component
|
||||
const specialSectionsData = {
|
||||
preface: { title: specialSections.preface.title },
|
||||
epilogue: { title: specialSections.epilogue.title }
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-[#0a1628] text-white">
|
||||
{/* Header */}
|
||||
<header className="sticky top-0 z-50 bg-[#0a1628]/90 backdrop-blur-md border-b border-gray-800">
|
||||
<div className="max-w-4xl mx-auto px-4 py-4 flex items-center justify-between">
|
||||
<Link href="/" className="flex items-center gap-2 text-gray-400 hover:text-white transition-colors">
|
||||
<ChevronLeft className="w-5 h-5" />
|
||||
<span>返回</span>
|
||||
</Link>
|
||||
<h1 className="text-lg font-semibold">目录</h1>
|
||||
<BuyFullBookButton size="sm" price={9.9} className="bg-[#38bdac] hover:bg-[#2da396] text-white" />
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{/* Content */}
|
||||
<main className="max-w-4xl mx-auto px-4 py-8">
|
||||
<ChaptersList parts={parts} specialSections={specialSectionsData} />
|
||||
|
||||
{/* Bottom CTA */}
|
||||
<div className="mt-12 bg-gradient-to-r from-[#38bdac]/20 to-[#0f2137] rounded-2xl p-6 border border-[#38bdac]/30">
|
||||
<div className="flex flex-col md:flex-row items-center justify-between gap-4">
|
||||
<div>
|
||||
<h3 className="text-white text-lg font-semibold mb-1">购买整本书,省82%</h3>
|
||||
<p className="text-gray-400">全部55节内容,永久阅读,后续更新免费获取</p>
|
||||
</div>
|
||||
<BuyFullBookButton size="lg" price={9.9} className="bg-[#38bdac] hover:bg-[#2da396] text-white px-8">
|
||||
立即购买 ¥9.9
|
||||
</BuyFullBookButton>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
import React from 'react';\nimport { Button } from '@/components/ui/button';\nimport { paymentService } from '../services/paymentService';\n\nexport function PaymentTest() {\n const handleTestPayment = async () => {\n try {\n const order = { amount: 9.9, currency: 'CNY' };\n const result = await paymentService.pay(order);\n console.log('Payment result:', result);\n } catch (error) {\n console.error('Payment error:', error);\n }\n };\n\n return (\n <div>\n <Button onClick={handleTestPayment}>测试支付</Button>\n </div>\n );\n}\n
|
||||
@@ -1 +0,0 @@
|
||||
import { render, fireEvent } from '@testing-library/react';\nimport { PaymentTest } from '../PaymentTest';\n\ndescribe('PaymentTest Component', () => {\n it('renders without crashing', () => {\n const { getByText } = render(<PaymentTest />);\n expect(getByText('测试支付')).toBeInTheDocument();\n });\n\n it('calls handleTestPayment on button click', () => {\n const consoleSpy = jest.spyOn(console, 'log').mockImplementation(() => {});\n const { getByText } = render(<PaymentTest />);\n fireEvent.click(getByText('测试支付'));\n expect(consoleSpy).toHaveBeenCalledWith('Payment result:', expect.anything());\n consoleSpy.mockRestore();\n });\n});\n
|
||||
@@ -1,112 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import Link from "next/link"
|
||||
import { ArrowLeft, CreditCard, Share2, FileText, Code } from "lucide-react"
|
||||
|
||||
export default function DocsPage() {
|
||||
return (
|
||||
<main className="min-h-screen bg-[#0a1628] text-white pb-20">
|
||||
<div className="sticky top-0 z-10 bg-[#0a1628]/95 backdrop-blur-md border-b border-gray-700/50">
|
||||
<div className="max-w-2xl mx-auto flex items-center gap-4 p-4">
|
||||
<Link href="/" className="p-2 -ml-2">
|
||||
<ArrowLeft className="w-5 h-5" />
|
||||
</Link>
|
||||
<h1 className="text-lg font-semibold">开发者文档</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="p-4">
|
||||
<div className="max-w-2xl mx-auto space-y-6">
|
||||
{/* Payment Configuration */}
|
||||
<section className="bg-[#0f2137]/60 rounded-xl p-6">
|
||||
<div className="flex items-center gap-3 mb-4">
|
||||
<CreditCard className="w-6 h-6 text-[#38bdac]" />
|
||||
<h2 className="text-xl font-semibold">支付配置</h2>
|
||||
</div>
|
||||
|
||||
<div className="space-y-4 text-gray-300 text-sm">
|
||||
<div>
|
||||
<h3 className="text-white font-medium mb-2">微信支付配置</h3>
|
||||
<p className="mb-2">1. 登录微信开放平台获取网站AppID和AppSecret</p>
|
||||
<p className="mb-2">2. 登录微信公众平台获取服务号AppID和AppSecret</p>
|
||||
<p className="mb-2">3. 登录微信商户平台获取商户号和API密钥</p>
|
||||
<div className="bg-[#0a1628] rounded-lg p-3 mt-2">
|
||||
<code className="text-xs text-gray-400">
|
||||
{`网站AppID: wx432c93e275548671
|
||||
服务号AppID: wx7c0dbf34ddba300d
|
||||
商户号: 1318592501`}
|
||||
</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 className="text-white font-medium mb-2">支付宝配置</h3>
|
||||
<p className="mb-2">1. 登录支付宝开放平台获取合作者身份PID</p>
|
||||
<p className="mb-2">2. 获取安全校验码Key</p>
|
||||
<p className="mb-2">3. 开通手机网站支付功能</p>
|
||||
<div className="bg-[#0a1628] rounded-lg p-3 mt-2">
|
||||
<code className="text-xs text-gray-400">
|
||||
{`合作者身份(PID): 2088511801157159
|
||||
安全校验码(Key): lz6ey1h3kl9...`}
|
||||
</code>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Distribution System */}
|
||||
<section className="bg-[#0f2137]/60 rounded-xl p-6">
|
||||
<div className="flex items-center gap-3 mb-4">
|
||||
<Share2 className="w-6 h-6 text-[#38bdac]" />
|
||||
<h2 className="text-xl font-semibold">分销机制</h2>
|
||||
</div>
|
||||
|
||||
<div className="space-y-4 text-gray-300 text-sm">
|
||||
<p>分销比例可在后台自由设置(0-100%)</p>
|
||||
<div className="bg-[#0a1628] rounded-lg p-4">
|
||||
<p className="text-white mb-2">收益计算公式:</p>
|
||||
<code className="text-[#38bdac]">分销收益 = 订单金额 × 分销比例%</code>
|
||||
</div>
|
||||
<p>例: 用户A通过B的邀请码购买¥9.9整本书,分销比例90%</p>
|
||||
<p>则B获得 9.9 × 90% = ¥8.91 收益</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Withdrawal */}
|
||||
<section className="bg-[#0f2137]/60 rounded-xl p-6">
|
||||
<div className="flex items-center gap-3 mb-4">
|
||||
<FileText className="w-6 h-6 text-[#38bdac]" />
|
||||
<h2 className="text-xl font-semibold">提现说明</h2>
|
||||
</div>
|
||||
|
||||
<div className="space-y-3 text-gray-300 text-sm">
|
||||
<p>1. 最低提现金额: ¥10</p>
|
||||
<p>2. 提现周期: T+1到账</p>
|
||||
<p>3. 支持提现方式: 微信、支付宝、银行卡</p>
|
||||
<p>4. 提现手续费: 0%</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* API Reference */}
|
||||
<section className="bg-[#0f2137]/60 rounded-xl p-6">
|
||||
<div className="flex items-center gap-3 mb-4">
|
||||
<Code className="w-6 h-6 text-[#38bdac]" />
|
||||
<h2 className="text-xl font-semibold">API接口</h2>
|
||||
</div>
|
||||
|
||||
<div className="space-y-4 text-gray-300 text-sm">
|
||||
<div className="bg-[#0a1628] rounded-lg p-4">
|
||||
<p className="text-gray-400 mb-2">获取章节内容</p>
|
||||
<code className="text-[#38bdac]">GET /api/content?id=1.1</code>
|
||||
</div>
|
||||
<div className="bg-[#0a1628] rounded-lg p-4">
|
||||
<p className="text-gray-400 mb-2">飞书文档同步</p>
|
||||
<code className="text-[#38bdac]">POST /api/feishu/sync</code>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
)
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
export default function Loading() {
|
||||
return null
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useEffect, useMemo, useState } from "react"
|
||||
import { useSearchParams } from "next/navigation"
|
||||
|
||||
export default function DocumentationCapturePage() {
|
||||
const searchParams = useSearchParams()
|
||||
const path = searchParams.get("path") || "/"
|
||||
const [loaded, setLoaded] = useState(false)
|
||||
const [timeoutReached, setTimeoutReached] = useState(false)
|
||||
const [loadError, setLoadError] = useState<string | null>(null)
|
||||
|
||||
const src = useMemo(() => {
|
||||
if (!path.startsWith("/")) return `/${path}`
|
||||
return path
|
||||
}, [path])
|
||||
|
||||
useEffect(() => {
|
||||
setLoaded(false)
|
||||
setTimeoutReached(false)
|
||||
setLoadError(null)
|
||||
|
||||
const timer = window.setTimeout(() => {
|
||||
if (!loaded) {
|
||||
setTimeoutReached(true)
|
||||
}
|
||||
}, 60000)
|
||||
|
||||
return () => window.clearTimeout(timer)
|
||||
}, [src, loaded])
|
||||
|
||||
const handleLoad = () => {
|
||||
setLoaded(true)
|
||||
setTimeoutReached(false)
|
||||
}
|
||||
|
||||
const handleError = () => {
|
||||
setLoadError("页面加载失败")
|
||||
}
|
||||
|
||||
return (
|
||||
<main className="min-h-screen bg-white flex items-center justify-center">
|
||||
<div className="w-[430px] h-[932px] border border-gray-200 bg-white relative overflow-hidden">
|
||||
<iframe
|
||||
data-doc-iframe="true"
|
||||
data-loaded={loaded ? "true" : "false"}
|
||||
src={src}
|
||||
className="w-full h-full border-0"
|
||||
onLoad={handleLoad}
|
||||
onError={handleError}
|
||||
title={`Capture: ${path}`}
|
||||
sandbox="allow-scripts allow-same-origin allow-forms allow-popups"
|
||||
/>
|
||||
|
||||
{!loaded && !timeoutReached && !loadError && (
|
||||
<div className="absolute inset-0 bg-white flex items-center justify-center">
|
||||
<div className="text-center">
|
||||
<div className="w-8 h-8 border-2 border-gray-300 border-t-gray-600 rounded-full animate-spin mx-auto mb-2" />
|
||||
<p className="text-sm text-gray-500">加载中...</p>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{(timeoutReached || loadError) && (
|
||||
<div className="fixed left-0 top-0 right-0 bg-red-600 text-white text-sm px-3 py-2 text-center">
|
||||
{loadError || "页面加载超时"}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{loaded && (
|
||||
<div className="fixed left-0 bottom-0 right-0 bg-green-600 text-white text-xs px-3 py-1 text-center">
|
||||
页面已加载: {path}
|
||||
</div>
|
||||
)}
|
||||
</main>
|
||||
)
|
||||
}
|
||||
@@ -1,306 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react"
|
||||
import { getDocumentationCatalog, type DocumentationPage } from "@/lib/documentation/catalog"
|
||||
import { FileText, Download, Loader2, CheckCircle, XCircle, Eye, RefreshCw } from "lucide-react"
|
||||
|
||||
type PageStatus = "pending" | "loading" | "success" | "error"
|
||||
|
||||
type PageState = {
|
||||
page: DocumentationPage
|
||||
status: PageStatus
|
||||
error?: string
|
||||
}
|
||||
|
||||
export default function DocumentationToolPage() {
|
||||
const [isGenerating, setIsGenerating] = useState(false)
|
||||
const [error, setError] = useState<string | null>(null)
|
||||
const [progress, setProgress] = useState(0)
|
||||
const [currentPage, setCurrentPage] = useState<string | null>(null)
|
||||
const [pageStates, setPageStates] = useState<PageState[]>([])
|
||||
const [previewPath, setPreviewPath] = useState<string | null>(null)
|
||||
const [showPreview, setShowPreview] = useState(false)
|
||||
const iframeRef = useRef<HTMLIFrameElement>(null)
|
||||
|
||||
const pages = useMemo(() => getDocumentationCatalog(), [])
|
||||
|
||||
const groupedPages = useMemo(() => {
|
||||
const groups: Record<string, DocumentationPage[]> = {}
|
||||
for (const page of pages) {
|
||||
if (!groups[page.group]) groups[page.group] = []
|
||||
groups[page.group].push(page)
|
||||
}
|
||||
return groups
|
||||
}, [pages])
|
||||
|
||||
useEffect(() => {
|
||||
setPageStates(pages.map((page) => ({ page, status: "pending" })))
|
||||
}, [pages])
|
||||
|
||||
const handleGenerate = async () => {
|
||||
setError(null)
|
||||
setIsGenerating(true)
|
||||
setProgress(0)
|
||||
setCurrentPage(null)
|
||||
setPageStates(pages.map((page) => ({ page, status: "loading" })))
|
||||
|
||||
try {
|
||||
// Simulate progress while waiting for the API
|
||||
let progressValue = 0
|
||||
const progressInterval = setInterval(() => {
|
||||
progressValue += 2
|
||||
const pageIndex = Math.floor((progressValue / 100) * pages.length)
|
||||
const nextPage = pages[Math.min(pageIndex, pages.length - 1)]
|
||||
if (nextPage) setCurrentPage(nextPage.title)
|
||||
setProgress(Math.min(progressValue, 90))
|
||||
|
||||
// Update page states to show progress
|
||||
setPageStates((prev) =>
|
||||
prev.map((s, idx) => ({
|
||||
...s,
|
||||
status: idx < pageIndex ? "success" : idx === pageIndex ? "loading" : "pending",
|
||||
})),
|
||||
)
|
||||
}, 800)
|
||||
|
||||
// Get token from URL if provided
|
||||
const urlParams = new URLSearchParams(window.location.search)
|
||||
const token = urlParams.get("token") || ""
|
||||
|
||||
const response = await fetch(`/api/documentation/generate${token ? `?token=${token}` : ""}`, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
...(token ? { "x-documentation-token": token } : {}),
|
||||
},
|
||||
})
|
||||
|
||||
clearInterval(progressInterval)
|
||||
|
||||
if (!response.ok) {
|
||||
const text = await response.text().catch(() => "")
|
||||
let errorMessage = `生成失败(${response.status})`
|
||||
try {
|
||||
const json = JSON.parse(text)
|
||||
errorMessage = json.error || errorMessage
|
||||
} catch {
|
||||
if (text) errorMessage = text
|
||||
}
|
||||
throw new Error(errorMessage)
|
||||
}
|
||||
|
||||
setProgress(100)
|
||||
setCurrentPage("完成")
|
||||
setPageStates(pages.map((page) => ({ page, status: "success" })))
|
||||
|
||||
const blob = await response.blob()
|
||||
const url = URL.createObjectURL(blob)
|
||||
const a = document.createElement("a")
|
||||
a.href = url
|
||||
a.download = `应用功能文档_${new Date().toISOString().slice(0, 10)}.docx`
|
||||
document.body.appendChild(a)
|
||||
a.click()
|
||||
a.remove()
|
||||
URL.revokeObjectURL(url)
|
||||
} catch (e) {
|
||||
const message = e instanceof Error ? e.message : String(e)
|
||||
setError(message)
|
||||
setPageStates((prev) => prev.map((s) => ({ ...s, status: "error" })))
|
||||
} finally {
|
||||
setIsGenerating(false)
|
||||
}
|
||||
}
|
||||
|
||||
const handlePreview = useCallback((path: string) => {
|
||||
setPreviewPath(path)
|
||||
setShowPreview(true)
|
||||
}, [])
|
||||
|
||||
const getStatusIcon = (status: PageStatus) => {
|
||||
switch (status) {
|
||||
case "pending":
|
||||
return <div className="w-4 h-4 rounded-full bg-gray-600" />
|
||||
case "loading":
|
||||
return <Loader2 className="w-4 h-4 animate-spin text-teal-400" />
|
||||
case "success":
|
||||
return <CheckCircle className="w-4 h-4 text-green-500" />
|
||||
case "error":
|
||||
return <XCircle className="w-4 h-4 text-red-500" />
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<main className="min-h-screen bg-background text-foreground p-4 pb-24">
|
||||
<div className="max-w-md mx-auto space-y-4">
|
||||
{/* Header */}
|
||||
<div className="flex items-center gap-3 py-2">
|
||||
<FileText className="w-6 h-6 text-teal-400" />
|
||||
<div>
|
||||
<h1 className="text-lg font-semibold">文档生成器</h1>
|
||||
<p className="text-xs text-muted-foreground">自动截图并导出专业文档</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Info Card */}
|
||||
<div className="bg-card border border-border rounded-xl p-4 space-y-2">
|
||||
<div className="flex items-center justify-between text-sm">
|
||||
<span className="text-muted-foreground">页面总数</span>
|
||||
<span className="font-medium text-teal-400">{pages.length} 个</span>
|
||||
</div>
|
||||
<div className="flex items-center justify-between text-sm">
|
||||
<span className="text-muted-foreground">分组数量</span>
|
||||
<span className="font-medium">{Object.keys(groupedPages).length} 组</span>
|
||||
</div>
|
||||
<div className="flex items-center justify-between text-sm">
|
||||
<span className="text-muted-foreground">输出格式</span>
|
||||
<span className="font-medium">Word (.docx)</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Progress */}
|
||||
{isGenerating && (
|
||||
<div className="bg-card border border-border rounded-xl p-4 space-y-3">
|
||||
<div className="flex items-center justify-between text-sm">
|
||||
<span className="text-muted-foreground">生成进度</span>
|
||||
<span className="font-medium text-teal-400">{Math.round(progress)}%</span>
|
||||
</div>
|
||||
<div className="w-full h-2 bg-muted rounded-full overflow-hidden">
|
||||
<div
|
||||
className="h-full bg-gradient-to-r from-teal-500 to-cyan-400 transition-all duration-300"
|
||||
style={{ width: `${progress}%` }}
|
||||
/>
|
||||
</div>
|
||||
{currentPage && <p className="text-xs text-muted-foreground truncate">正在处理: {currentPage}</p>}
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Error */}
|
||||
{error && (
|
||||
<div className="bg-destructive/10 border border-destructive/30 text-destructive rounded-xl p-3 text-sm">
|
||||
<p className="font-medium mb-1">生成失败</p>
|
||||
<p className="text-xs opacity-80">{error}</p>
|
||||
<p className="text-xs mt-2 opacity-60">提示: 如需授权,请在URL中添加 ?token=your_token</p>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Generate Button */}
|
||||
<button
|
||||
type="button"
|
||||
onClick={handleGenerate}
|
||||
disabled={isGenerating}
|
||||
className="w-full bg-gradient-to-r from-teal-500 to-cyan-500 text-white rounded-xl py-3.5 font-medium disabled:opacity-60 flex items-center justify-center gap-2 shadow-lg shadow-teal-500/20"
|
||||
>
|
||||
{isGenerating ? (
|
||||
<>
|
||||
<Loader2 className="w-5 h-5 animate-spin" />
|
||||
<span>正在生成文档...</span>
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<Download className="w-5 h-5" />
|
||||
<span>一键生成 Word 文档</span>
|
||||
</>
|
||||
)}
|
||||
</button>
|
||||
|
||||
{/* Page List */}
|
||||
<div className="space-y-3">
|
||||
<h2 className="text-sm font-medium text-muted-foreground flex items-center gap-2">
|
||||
<span>文档目录预览</span>
|
||||
<span className="text-xs opacity-60">({pages.length}个页面)</span>
|
||||
</h2>
|
||||
|
||||
{Object.entries(groupedPages).map(([group, groupPages]) => (
|
||||
<div key={group} className="bg-card border border-border rounded-xl overflow-hidden">
|
||||
<div className="px-3 py-2 bg-muted/50 border-b border-border">
|
||||
<h3 className="text-sm font-medium text-teal-400">{group}</h3>
|
||||
</div>
|
||||
<div className="divide-y divide-border">
|
||||
{groupPages.map((page, index) => {
|
||||
const state = pageStates.find((s) => s.page.path === page.path)
|
||||
return (
|
||||
<div
|
||||
key={page.path}
|
||||
className="px-3 py-2.5 flex items-center gap-3 hover:bg-muted/30 transition-colors"
|
||||
>
|
||||
<span className="text-xs text-muted-foreground w-5">{index + 1}</span>
|
||||
{state && getStatusIcon(state.status)}
|
||||
<div className="flex-1 min-w-0">
|
||||
<p className="text-sm font-medium truncate">{page.title}</p>
|
||||
{page.subtitle && <p className="text-xs text-muted-foreground truncate">{page.subtitle}</p>}
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => handlePreview(page.path)}
|
||||
className="p-1.5 text-muted-foreground hover:text-foreground hover:bg-muted rounded-lg transition-colors"
|
||||
title="预览页面"
|
||||
>
|
||||
<Eye className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* Features */}
|
||||
<div className="bg-card border border-border rounded-xl p-4 space-y-3">
|
||||
<h3 className="text-sm font-medium">文档包含内容</h3>
|
||||
<ul className="text-xs text-muted-foreground space-y-2">
|
||||
<li className="flex items-start gap-2">
|
||||
<CheckCircle className="w-4 h-4 text-green-500 flex-shrink-0 mt-0.5" />
|
||||
<span>自动生成的目录结构</span>
|
||||
</li>
|
||||
<li className="flex items-start gap-2">
|
||||
<CheckCircle className="w-4 h-4 text-green-500 flex-shrink-0 mt-0.5" />
|
||||
<span>所有页面的真实截图(iPhone 14 Pro Max尺寸)</span>
|
||||
</li>
|
||||
<li className="flex items-start gap-2">
|
||||
<CheckCircle className="w-4 h-4 text-green-500 flex-shrink-0 mt-0.5" />
|
||||
<span>每个页面的功能说明与路径</span>
|
||||
</li>
|
||||
<li className="flex items-start gap-2">
|
||||
<CheckCircle className="w-4 h-4 text-green-500 flex-shrink-0 mt-0.5" />
|
||||
<span>按功能模块分组整理</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{/* Note */}
|
||||
<p className="text-xs text-muted-foreground text-center">生成过程需要30-60秒,请耐心等待</p>
|
||||
</div>
|
||||
|
||||
{/* Preview Modal */}
|
||||
{showPreview && previewPath && (
|
||||
<div className="fixed inset-0 bg-black/80 z-50 flex items-center justify-center p-4">
|
||||
<div className="bg-card rounded-2xl w-full max-w-md overflow-hidden border border-border">
|
||||
<div className="flex items-center justify-between px-4 py-3 border-b border-border">
|
||||
<h3 className="font-medium text-sm">页面预览</h3>
|
||||
<div className="flex items-center gap-2">
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => iframeRef.current?.contentWindow?.location.reload()}
|
||||
className="p-1.5 text-muted-foreground hover:text-foreground rounded-lg"
|
||||
>
|
||||
<RefreshCw className="w-4 h-4" />
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => setShowPreview(false)}
|
||||
className="p-1.5 text-muted-foreground hover:text-foreground rounded-lg"
|
||||
>
|
||||
<XCircle className="w-4 h-4" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div className="w-full aspect-[430/932] bg-white">
|
||||
<iframe ref={iframeRef} src={previewPath} className="w-full h-full" title="Page Preview" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</main>
|
||||
)
|
||||
}
|
||||
143
app/globals.css
143
app/globals.css
@@ -1,143 +0,0 @@
|
||||
@import "tailwindcss";
|
||||
@import "tw-animate-css";
|
||||
|
||||
@custom-variant dark (&:is(.dark *));
|
||||
|
||||
:root {
|
||||
--background: oklch(1 0 0);
|
||||
--foreground: oklch(0.145 0 0);
|
||||
--card: oklch(1 0 0);
|
||||
--card-foreground: oklch(0.145 0 0);
|
||||
--popover: oklch(1 0 0);
|
||||
--popover-foreground: oklch(0.145 0 0);
|
||||
--primary: oklch(0.205 0 0);
|
||||
--primary-foreground: oklch(0.985 0 0);
|
||||
--secondary: oklch(0.97 0 0);
|
||||
--secondary-foreground: oklch(0.205 0 0);
|
||||
--muted: oklch(0.97 0 0);
|
||||
--muted-foreground: oklch(0.556 0 0);
|
||||
--accent: oklch(0.97 0 0);
|
||||
--accent-foreground: oklch(0.205 0 0);
|
||||
--destructive: oklch(0.577 0.245 27.325);
|
||||
--destructive-foreground: oklch(0.577 0.245 27.325);
|
||||
--border: oklch(0.922 0 0);
|
||||
--input: oklch(0.922 0 0);
|
||||
--ring: oklch(0.708 0 0);
|
||||
--chart-1: oklch(0.646 0.222 41.116);
|
||||
--chart-2: oklch(0.6 0.118 184.704);
|
||||
--chart-3: oklch(0.398 0.07 227.392);
|
||||
--chart-4: oklch(0.828 0.189 84.429);
|
||||
--chart-5: oklch(0.769 0.188 70.08);
|
||||
--radius: 0.625rem;
|
||||
--sidebar: oklch(0.985 0 0);
|
||||
--sidebar-foreground: oklch(0.145 0 0);
|
||||
--sidebar-primary: oklch(0.205 0 0);
|
||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
||||
--sidebar-accent: oklch(0.97 0 0);
|
||||
--sidebar-accent-foreground: oklch(0.205 0 0);
|
||||
--sidebar-border: oklch(0.922 0 0);
|
||||
--sidebar-ring: oklch(0.708 0 0);
|
||||
|
||||
/* Custom app tokens */
|
||||
--app-bg: #0a1628;
|
||||
--app-card: #0f2137;
|
||||
--app-brand: #38bdac;
|
||||
--app-brand-hover: #2da396;
|
||||
--app-text: #ffffff;
|
||||
--app-text-muted: #9ca3af;
|
||||
--app-border: rgba(75, 85, 99, 0.5);
|
||||
}
|
||||
|
||||
.dark {
|
||||
--background: oklch(0.145 0 0);
|
||||
--foreground: oklch(0.985 0 0);
|
||||
--card: oklch(0.145 0 0);
|
||||
--card-foreground: oklch(0.985 0 0);
|
||||
--popover: oklch(0.145 0 0);
|
||||
--popover-foreground: oklch(0.985 0 0);
|
||||
--primary: oklch(0.985 0 0);
|
||||
--primary-foreground: oklch(0.205 0 0);
|
||||
--secondary: oklch(0.269 0 0);
|
||||
--secondary-foreground: oklch(0.985 0 0);
|
||||
--muted: oklch(0.269 0 0);
|
||||
--muted-foreground: oklch(0.708 0 0);
|
||||
--accent: oklch(0.269 0 0);
|
||||
--accent-foreground: oklch(0.985 0 0);
|
||||
--destructive: oklch(0.396 0.141 25.723);
|
||||
--destructive-foreground: oklch(0.637 0.237 25.331);
|
||||
--border: oklch(0.269 0 0);
|
||||
--input: oklch(0.269 0 0);
|
||||
--ring: oklch(0.439 0 0);
|
||||
--chart-1: oklch(0.488 0.243 264.376);
|
||||
--chart-2: oklch(0.696 0.17 162.48);
|
||||
--chart-3: oklch(0.769 0.188 70.08);
|
||||
--chart-4: oklch(0.627 0.265 303.9);
|
||||
--chart-5: oklch(0.645 0.246 16.439);
|
||||
--sidebar: oklch(0.205 0 0);
|
||||
--sidebar-foreground: oklch(0.985 0 0);
|
||||
--sidebar-primary: oklch(0.488 0.243 264.376);
|
||||
--sidebar-primary-foreground: oklch(0.985 0 0);
|
||||
--sidebar-accent: oklch(0.269 0 0);
|
||||
--sidebar-accent-foreground: oklch(0.985 0 0);
|
||||
--sidebar-border: oklch(0.269 0 0);
|
||||
--sidebar-ring: oklch(0.439 0 0);
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
--font-sans: "Geist", "Geist Fallback";
|
||||
--font-mono: "Geist Mono", "Geist Mono Fallback";
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
--color-card: var(--card);
|
||||
--color-card-foreground: var(--card-foreground);
|
||||
--color-popover: var(--popover);
|
||||
--color-popover-foreground: var(--popover-foreground);
|
||||
--color-primary: var(--primary);
|
||||
--color-primary-foreground: var(--primary-foreground);
|
||||
--color-secondary: var(--secondary);
|
||||
--color-secondary-foreground: var(--secondary-foreground);
|
||||
--color-muted: var(--muted);
|
||||
--color-muted-foreground: var(--muted-foreground);
|
||||
--color-accent: var(--accent);
|
||||
--color-accent-foreground: var(--accent-foreground);
|
||||
--color-destructive: var(--destructive);
|
||||
--color-destructive-foreground: var(--destructive-foreground);
|
||||
--color-border: var(--border);
|
||||
--color-input: var(--input);
|
||||
--color-ring: var(--ring);
|
||||
--color-chart-1: var(--chart-1);
|
||||
--color-chart-2: var(--chart-2);
|
||||
--color-chart-3: var(--chart-3);
|
||||
--color-chart-4: var(--chart-4);
|
||||
--color-chart-5: var(--chart-5);
|
||||
--radius-sm: calc(var(--radius) - 4px);
|
||||
--radius-md: calc(var(--radius) - 2px);
|
||||
--radius-lg: var(--radius);
|
||||
--radius-xl: calc(var(--radius) + 4px);
|
||||
--color-sidebar: var(--sidebar);
|
||||
--color-sidebar-foreground: var(--sidebar-foreground);
|
||||
--color-sidebar-primary: var(--sidebar-primary);
|
||||
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
||||
--color-sidebar-accent: var(--sidebar-accent);
|
||||
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
||||
--color-sidebar-border: var(--sidebar-border);
|
||||
--color-sidebar-ring: var(--sidebar-ring);
|
||||
|
||||
/* Custom semantic tokens for app */
|
||||
--color-app-bg: var(--app-bg);
|
||||
--color-app-card: var(--app-card);
|
||||
--color-app-brand: var(--app-brand);
|
||||
--color-app-brand-hover: var(--app-brand-hover);
|
||||
--color-app-text: var(--app-text);
|
||||
--color-app-text-muted: var(--app-text-muted);
|
||||
--color-app-border: var(--app-border);
|
||||
}
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border outline-ring/50;
|
||||
}
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
import type React from "react"
|
||||
import type { Metadata } from "next"
|
||||
import { Geist, Geist_Mono } from "next/font/google"
|
||||
import { Analytics } from "@vercel/analytics/next"
|
||||
import "./globals.css"
|
||||
import { LayoutWrapper } from "@/components/layout-wrapper"
|
||||
|
||||
const _geist = Geist({ subsets: ["latin"] })
|
||||
const _geistMono = Geist_Mono({ subsets: ["latin"] })
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "一场SOUL的创业实验场 - 卡若",
|
||||
description: "来自Soul派对房的真实商业故事,每天早上6-9点免费分享",
|
||||
generator: "v0.app",
|
||||
icons: {
|
||||
icon: [
|
||||
{
|
||||
url: "/icon-light-32x32.png",
|
||||
media: "(prefers-color-scheme: light)",
|
||||
},
|
||||
{
|
||||
url: "/icon-dark-32x32.png",
|
||||
media: "(prefers-color-scheme: dark)",
|
||||
},
|
||||
{
|
||||
url: "/icon.svg",
|
||||
type: "image/svg+xml",
|
||||
},
|
||||
],
|
||||
apple: "/apple-icon.png",
|
||||
},
|
||||
}
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
}: Readonly<{
|
||||
children: React.ReactNode
|
||||
}>) {
|
||||
return (
|
||||
<html lang="zh-CN">
|
||||
<body className={`bg-[#0a1628]`}>
|
||||
<LayoutWrapper>{children}</LayoutWrapper>
|
||||
<Analytics />
|
||||
</body>
|
||||
</html>
|
||||
)
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
import mongoose from 'mongoose';\n\nlet isConnected = false;\n\nexport async function connectDB() {\n if (isConnected) return;\n\n try {\n await mongoose.connect(process.env.MONGODB_URI, {\n useNewUrlParser: true,\n useUnifiedTopology: true,\n });\n isConnected = true;\n console.log('MongoDB connected');\n } catch (error) {\n console.error('MongoDB connection error:', error);\n throw error;\n }\n}
|
||||
@@ -1 +0,0 @@
|
||||
import mongoose from 'mongoose';\n\nconst orderSchema = new mongoose.Schema({\n userId: { type: String, required: true },\n amount: { type: Number, required: true },\n currency: { type: String, default: 'CNY' },\n status: { type: String, default: 'pending' },\n createdAt: { type: Date, default: Date.now },\n updatedAt: { type: Date, default: Date.now },\n});\n\nexport const Order = mongoose.model('Order', orderSchema);
|
||||
@@ -1 +0,0 @@
|
||||
import mongoose from 'mongoose';\n\nconst payTradeSchema = new mongoose.Schema({\n orderId: { type: mongoose.Schema.Types.ObjectId, ref: 'Order', required: true },\n gateway: { type: String, required: true },\n transactionId: String,\n status: { type: String, default: 'initiated' },\n response: Object,\n createdAt: { type: Date, default: Date.now },\n updatedAt: { type: Date, default: Date.now },\n});\n\nexport const PayTrade = mongoose.model('PayTrade', payTradeSchema);
|
||||
BIN
app/my/.DS_Store
vendored
BIN
app/my/.DS_Store
vendored
Binary file not shown.
151
app/my/page.tsx
151
app/my/page.tsx
@@ -1,151 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useState, useEffect } from "react"
|
||||
import Link from "next/link"
|
||||
import { User, ShoppingBag, Share2, LogOut, ChevronRight, BookOpen } from "lucide-react"
|
||||
import { useStore } from "@/lib/store"
|
||||
import { AuthModal } from "@/components/modules/auth/auth-modal"
|
||||
import { getFullBookPrice } from "@/lib/book-data"
|
||||
|
||||
export default function MyPage() {
|
||||
const { user, isLoggedIn, logout } = useStore()
|
||||
const [showAuthModal, setShowAuthModal] = useState(false)
|
||||
const [mounted, setMounted] = useState(false)
|
||||
|
||||
useEffect(() => {
|
||||
setMounted(true)
|
||||
}, [])
|
||||
|
||||
if (!mounted) {
|
||||
return (
|
||||
<div className="min-h-screen bg-app-bg flex items-center justify-center">
|
||||
<div className="animate-spin rounded-full h-8 w-8 border-t-2 border-b-2 border-app-brand" />
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
if (!isLoggedIn) {
|
||||
return (
|
||||
<main className="min-h-screen bg-app-bg text-app-text pb-20 flex flex-col items-center justify-center">
|
||||
<div className="p-4 w-full">
|
||||
<div className="max-w-xs mx-auto text-center">
|
||||
<div className="w-14 h-14 mx-auto mb-3 rounded-full bg-app-card flex items-center justify-center">
|
||||
<User className="w-7 h-7 text-app-text-muted" />
|
||||
</div>
|
||||
<h2 className="text-base font-semibold mb-1">登录后查看更多</h2>
|
||||
<p className="text-app-text-muted text-xs mb-4">查看购买记录、分销收益</p>
|
||||
<button
|
||||
onClick={() => setShowAuthModal(true)}
|
||||
className="bg-app-brand hover:bg-app-brand-hover text-white px-6 py-2.5 rounded-full font-medium text-sm"
|
||||
>
|
||||
立即登录
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<AuthModal isOpen={showAuthModal} onClose={() => setShowAuthModal(false)} />
|
||||
</main>
|
||||
)
|
||||
}
|
||||
|
||||
const fullBookPrice = getFullBookPrice()
|
||||
|
||||
return (
|
||||
<main className="min-h-screen bg-app-bg text-app-text pb-20">
|
||||
{/* User Profile Header */}
|
||||
<div className="bg-gradient-to-b from-app-card to-app-bg p-4 pt-8">
|
||||
<div className="max-w-xs mx-auto">
|
||||
<div className="flex items-center gap-3 mb-3">
|
||||
<div className="w-11 h-11 rounded-full bg-app-brand/20 flex items-center justify-center">
|
||||
<User className="w-5 h-5 text-app-brand" />
|
||||
</div>
|
||||
<div>
|
||||
<h2 className="text-sm font-semibold">{user?.nickname || "用户"}</h2>
|
||||
<p className="text-app-text-muted text-xs">{user?.phone}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Stats */}
|
||||
<div className="grid grid-cols-2 gap-2">
|
||||
<div className="bg-app-card/60 rounded-lg p-2.5 text-center">
|
||||
<p className="text-base font-bold text-app-brand">
|
||||
{user?.hasFullBook ? "全部" : user?.purchasedSections.length || 0}
|
||||
</p>
|
||||
<p className="text-app-text-muted text-xs">已购章节</p>
|
||||
</div>
|
||||
<div className="bg-app-card/60 rounded-lg p-2.5 text-center">
|
||||
<p className="text-base font-bold text-app-brand">¥{(user?.earnings || 0).toFixed(1)}</p>
|
||||
<p className="text-app-text-muted text-xs">累计收益</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Menu Items */}
|
||||
<div className="p-4">
|
||||
<div className="max-w-xs mx-auto space-y-2">
|
||||
{/* Purchase prompt */}
|
||||
{!user?.hasFullBook && (
|
||||
<Link href="/chapters" className="block">
|
||||
<div className="bg-gradient-to-r from-app-brand/20 to-app-card rounded-lg p-3 border border-app-brand/30">
|
||||
<div className="flex items-center justify-between">
|
||||
<div className="flex items-center gap-2">
|
||||
<BookOpen className="w-4 h-4 text-app-brand" />
|
||||
<span className="text-app-text text-sm">购买整本书</span>
|
||||
</div>
|
||||
<span className="text-app-brand font-bold text-sm">¥{fullBookPrice}</span>
|
||||
</div>
|
||||
</div>
|
||||
</Link>
|
||||
)}
|
||||
|
||||
{/* Menu List - simplified, removed settings and docs */}
|
||||
<div className="bg-app-card/60 rounded-lg overflow-hidden">
|
||||
<Link href="/my/purchases" className="flex items-center justify-between p-3 border-b border-app-border">
|
||||
<div className="flex items-center gap-2">
|
||||
<ShoppingBag className="w-4 h-4 text-app-text-muted" />
|
||||
<span className="text-sm">我的购买</span>
|
||||
</div>
|
||||
<ChevronRight className="w-4 h-4 text-app-text-muted" />
|
||||
</Link>
|
||||
|
||||
<Link href="/my/referral" className="flex items-center justify-between p-3">
|
||||
<div className="flex items-center gap-2">
|
||||
<Share2 className="w-4 h-4 text-app-text-muted" />
|
||||
<span className="text-sm">分销收益</span>
|
||||
</div>
|
||||
<div className="flex items-center gap-1">
|
||||
<span className="text-app-brand text-xs">¥{(user?.earnings || 0).toFixed(1)}</span>
|
||||
<ChevronRight className="w-4 h-4 text-app-text-muted" />
|
||||
</div>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
{/* Referral Code */}
|
||||
<div className="bg-app-card/60 rounded-lg p-3">
|
||||
<div className="flex items-center justify-between">
|
||||
<div>
|
||||
<p className="text-app-text-muted text-xs">我的邀请码</p>
|
||||
<code className="text-app-brand font-mono text-sm">{user?.referralCode}</code>
|
||||
</div>
|
||||
<button
|
||||
onClick={() => navigator.clipboard.writeText(user?.referralCode || "")}
|
||||
className="text-app-text-muted text-xs hover:text-app-text px-2 py-1 rounded bg-app-card"
|
||||
>
|
||||
复制
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Logout */}
|
||||
<button
|
||||
onClick={logout}
|
||||
className="w-full flex items-center justify-center gap-2 p-2.5 text-app-text-muted hover:text-red-400 transition-colors text-sm"
|
||||
>
|
||||
<LogOut className="w-4 h-4" />
|
||||
<span>退出登录</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
)
|
||||
}
|
||||
@@ -1,109 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import Link from "next/link"
|
||||
import { ChevronLeft, BookOpen, CheckCircle } from "lucide-react"
|
||||
import { useStore } from "@/lib/store"
|
||||
import { bookData, getAllSections } from "@/lib/book-data"
|
||||
|
||||
export default function MyPurchasesPage() {
|
||||
const { user, isLoggedIn } = useStore()
|
||||
|
||||
if (!isLoggedIn || !user) {
|
||||
return (
|
||||
<div className="min-h-screen bg-[#0a1628] text-white flex items-center justify-center">
|
||||
<div className="text-center">
|
||||
<p className="text-gray-400 mb-4">请先登录</p>
|
||||
<Link href="/" className="text-[#38bdac] hover:underline">
|
||||
返回首页
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
const allSections = getAllSections()
|
||||
const purchasedCount = user.hasFullBook ? allSections.length : user.purchasedSections.length
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-[#0a1628] text-white">
|
||||
{/* Header */}
|
||||
<header className="sticky top-0 z-50 bg-[#0a1628]/90 backdrop-blur-md border-b border-gray-800">
|
||||
<div className="max-w-4xl mx-auto px-4 py-4 flex items-center">
|
||||
<Link href="/" className="flex items-center gap-2 text-gray-400 hover:text-white transition-colors">
|
||||
<ChevronLeft className="w-5 h-5" />
|
||||
<span>返回</span>
|
||||
</Link>
|
||||
<h1 className="flex-1 text-center text-lg font-semibold">我的购买</h1>
|
||||
<div className="w-16" />
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main className="max-w-4xl mx-auto px-4 py-8">
|
||||
{/* Stats */}
|
||||
<div className="bg-[#0f2137]/60 backdrop-blur-md rounded-xl p-6 border border-gray-700/50 mb-8">
|
||||
<div className="grid grid-cols-2 gap-6">
|
||||
<div className="text-center">
|
||||
<p className="text-3xl font-bold text-white">{purchasedCount}</p>
|
||||
<p className="text-gray-400 text-sm">已购买章节</p>
|
||||
</div>
|
||||
<div className="text-center">
|
||||
<p className="text-3xl font-bold text-[#38bdac]">
|
||||
{user.hasFullBook ? "全书" : `${purchasedCount}/${allSections.length}`}
|
||||
</p>
|
||||
<p className="text-gray-400 text-sm">{user.hasFullBook ? "已解锁" : "进度"}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Purchased sections */}
|
||||
{user.hasFullBook ? (
|
||||
<div className="bg-gradient-to-r from-[#38bdac]/20 to-[#0f2137] rounded-xl p-6 border border-[#38bdac]/30 text-center mb-8">
|
||||
<CheckCircle className="w-12 h-12 text-[#38bdac] mx-auto mb-3" />
|
||||
<h3 className="text-xl font-semibold text-white mb-2">您已购买整本书</h3>
|
||||
<p className="text-gray-400">全部55节内容已解锁,可随时阅读</p>
|
||||
</div>
|
||||
) : user.purchasedSections.length === 0 ? (
|
||||
<div className="text-center py-12">
|
||||
<BookOpen className="w-16 h-16 text-gray-600 mx-auto mb-4" />
|
||||
<p className="text-gray-400 mb-4">您还没有购买任何章节</p>
|
||||
<Link href="/chapters" className="text-[#38bdac] hover:underline">
|
||||
去浏览章节
|
||||
</Link>
|
||||
</div>
|
||||
) : (
|
||||
<div className="space-y-4">
|
||||
<h2 className="text-gray-400 text-sm mb-4">已购买的章节</h2>
|
||||
{bookData.map((part) => {
|
||||
const purchasedInPart = part.chapters.flatMap((c) =>
|
||||
c.sections.filter((s) => user.purchasedSections.includes(s.id)),
|
||||
)
|
||||
|
||||
if (purchasedInPart.length === 0) return null
|
||||
|
||||
return (
|
||||
<div key={part.id} className="bg-[#0f2137]/40 rounded-xl border border-gray-800/50 overflow-hidden">
|
||||
<div className="px-4 py-3 bg-[#0a1628]/50">
|
||||
<p className="text-gray-400 text-sm">{part.title}</p>
|
||||
</div>
|
||||
<div className="divide-y divide-gray-800/30">
|
||||
{purchasedInPart.map((section) => (
|
||||
<Link
|
||||
key={section.id}
|
||||
href={`/read/${section.id}`}
|
||||
className="flex items-center gap-3 px-4 py-3 hover:bg-[#0f2137]/40 transition-colors"
|
||||
>
|
||||
<CheckCircle className="w-4 h-4 text-[#38bdac]" />
|
||||
<span className="text-gray-400 font-mono text-sm">{section.id}</span>
|
||||
<span className="text-gray-300">{section.title}</span>
|
||||
</Link>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
</div>
|
||||
)}
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,233 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useState, useEffect } from "react"
|
||||
import Link from "next/link"
|
||||
import { ChevronLeft, Copy, Share2, Users, Wallet, MessageCircle, ImageIcon } from "lucide-react"
|
||||
import { Button } from "@/components/ui/button"
|
||||
import { useStore, type Purchase } from "@/lib/store"
|
||||
import { PosterModal } from "@/components/modules/referral/poster-modal"
|
||||
import { WithdrawalModal } from "@/components/modules/referral/withdrawal-modal"
|
||||
|
||||
export default function ReferralPage() {
|
||||
const { user, isLoggedIn, settings, getAllPurchases, getAllUsers } = useStore()
|
||||
const [copied, setCopied] = useState(false)
|
||||
const [showPoster, setShowPoster] = useState(false)
|
||||
const [showWithdrawal, setShowWithdrawal] = useState(false)
|
||||
const [referralPurchases, setReferralPurchases] = useState<Purchase[]>([])
|
||||
const [referralUsers, setReferralUsers] = useState<number>(0)
|
||||
|
||||
useEffect(() => {
|
||||
if (user?.referralCode) {
|
||||
const allPurchases = getAllPurchases()
|
||||
const allUsers = getAllUsers()
|
||||
const usersWithMyCode = allUsers.filter((u) => u.referredBy === user.referralCode)
|
||||
const userIds = usersWithMyCode.map((u) => u.id)
|
||||
const myReferralPurchases = allPurchases.filter((p) => userIds.includes(p.userId))
|
||||
setReferralPurchases(myReferralPurchases)
|
||||
setReferralUsers(usersWithMyCode.length)
|
||||
}
|
||||
}, [user, getAllPurchases, getAllUsers])
|
||||
|
||||
if (!isLoggedIn || !user) {
|
||||
return (
|
||||
<div className="min-h-screen bg-app-bg text-app-text flex items-center justify-center pb-20">
|
||||
<div className="text-center">
|
||||
<p className="text-app-text-muted mb-4">请先登录</p>
|
||||
<Link href="/" className="text-app-brand hover:underline">
|
||||
返回首页
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
const referralLink = `${typeof window !== "undefined" ? window.location.origin : ""}?ref=${user.referralCode}`
|
||||
const distributorShare = settings?.distributorShare || 90
|
||||
const totalEarnings = user.earnings || 0
|
||||
const pendingEarnings = user.pendingEarnings || 0
|
||||
|
||||
const handleCopy = () => {
|
||||
navigator.clipboard.writeText(referralLink)
|
||||
setCopied(true)
|
||||
setTimeout(() => setCopied(false), 2000)
|
||||
}
|
||||
|
||||
const handleShare = async () => {
|
||||
const shareText = `我正在读《一场SOUL的创业实验场》,每天6-9点的真实商业故事,推荐给你!${referralLink}`
|
||||
try {
|
||||
if (typeof navigator.share === 'function' && typeof navigator.canShare === 'function') {
|
||||
await navigator.share({
|
||||
title: "一场SOUL的创业实验场",
|
||||
text: "来自Soul派对房的真实商业故事",
|
||||
url: referralLink,
|
||||
})
|
||||
} else {
|
||||
await navigator.clipboard.writeText(shareText)
|
||||
alert("分享文案已复制,快去朋友圈或Soul派对分享吧!")
|
||||
}
|
||||
} catch {
|
||||
await navigator.clipboard.writeText(shareText)
|
||||
alert("分享文案已复制!")
|
||||
}
|
||||
}
|
||||
|
||||
const handleShareToWechat = async () => {
|
||||
const shareText = `📖 推荐一本好书《一场SOUL的创业实验场》
|
||||
|
||||
这是卡若每天早上6-9点在Soul派对房分享的真实商业故事,55个真实案例,讲透创业的底层逻辑。
|
||||
|
||||
👉 点击阅读: ${referralLink}
|
||||
|
||||
#创业 #商业思维 #Soul派对`
|
||||
await navigator.clipboard.writeText(shareText)
|
||||
alert("朋友圈文案已复制!\n\n打开微信 → 发朋友圈 → 粘贴即可")
|
||||
}
|
||||
|
||||
const handleShareToSoul = async () => {
|
||||
const shareText = `在Soul派对房听卡若讲了好多真实的创业故事,他把这些故事整理成了一本书《一场SOUL的创业实验场》,推荐给你们~
|
||||
|
||||
每天早上6-9点直播,这本书就是直播内容的精华版。
|
||||
|
||||
链接: ${referralLink}`
|
||||
await navigator.clipboard.writeText(shareText)
|
||||
alert("Soul分享文案已复制!\n\n打开Soul → 发动态 → 粘贴即可")
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="min-h-screen bg-app-bg text-app-text pb-24">
|
||||
{/* Header */}
|
||||
<header className="sticky top-0 z-50 bg-app-bg/90 backdrop-blur-md border-b border-app-border">
|
||||
<div className="max-w-xs mx-auto px-4 py-3 flex items-center">
|
||||
<Link href="/my" className="flex items-center gap-1 text-app-text-muted hover:text-app-text">
|
||||
<ChevronLeft className="w-5 h-5" />
|
||||
</Link>
|
||||
<h1 className="flex-1 text-center text-sm font-semibold">分销中心</h1>
|
||||
<div className="w-5" />
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main className="max-w-xs mx-auto px-4 py-4">
|
||||
{/* Earnings Card */}
|
||||
<div className="bg-gradient-to-br from-app-brand/20 to-app-card rounded-xl p-4 border border-app-brand/30 mb-3">
|
||||
<div className="flex items-center justify-between mb-3">
|
||||
<div className="flex items-center gap-2">
|
||||
<Wallet className="w-4 h-4 text-app-brand" />
|
||||
<span className="text-app-text-muted text-xs">累计收益</span>
|
||||
</div>
|
||||
<span className="text-app-brand text-xs">{distributorShare}%返利</span>
|
||||
</div>
|
||||
|
||||
<p className="text-2xl font-bold text-app-text mb-0.5">¥{totalEarnings.toFixed(2)}</p>
|
||||
<p className="text-app-text-muted text-xs mb-3">待结算: ¥{pendingEarnings.toFixed(2)}</p>
|
||||
|
||||
<Button
|
||||
disabled={totalEarnings < 10}
|
||||
onClick={() => setShowWithdrawal(true)}
|
||||
className="w-full bg-app-brand hover:bg-app-brand-hover text-white h-8 text-xs"
|
||||
>
|
||||
{totalEarnings < 10 ? `满10元可提现` : "申请提现"}
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
{/* Stats */}
|
||||
<div className="grid grid-cols-2 gap-2 mb-3">
|
||||
<div className="bg-app-card/60 rounded-lg p-2.5 text-center">
|
||||
<Users className="w-4 h-4 text-app-brand mx-auto mb-1" />
|
||||
<p className="text-base font-bold text-app-text">{referralUsers}</p>
|
||||
<p className="text-app-text-muted text-xs">邀请人数</p>
|
||||
</div>
|
||||
<div className="bg-app-card/60 rounded-lg p-2.5 text-center">
|
||||
<Share2 className="w-4 h-4 text-app-brand mx-auto mb-1" />
|
||||
<p className="text-base font-bold text-app-text">{referralPurchases.length}</p>
|
||||
<p className="text-app-text-muted text-xs">成交订单</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Referral link */}
|
||||
<div className="bg-app-card/60 rounded-xl p-3 border border-app-border mb-3">
|
||||
<p className="text-app-text text-xs font-medium mb-2">我的专属链接</p>
|
||||
<div className="flex gap-2 mb-2">
|
||||
<div className="flex-1 bg-app-bg rounded-lg px-2.5 py-1.5 text-app-text-muted text-xs truncate font-mono">
|
||||
{referralLink}
|
||||
</div>
|
||||
<Button
|
||||
onClick={handleCopy}
|
||||
size="sm"
|
||||
variant="outline"
|
||||
className="border-app-border text-app-text hover:bg-app-card bg-transparent text-xs h-7 px-2"
|
||||
>
|
||||
<Copy className="w-3 h-3 mr-1" />
|
||||
{copied ? "已复制" : "复制"}
|
||||
</Button>
|
||||
</div>
|
||||
<p className="text-app-text-muted text-xs">
|
||||
邀请码: <span className="text-app-brand font-mono">{user.referralCode}</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Share buttons - improved for WeChat/Soul */}
|
||||
<div className="space-y-2 mb-3">
|
||||
<Button
|
||||
onClick={() => setShowPoster(true)}
|
||||
className="w-full bg-indigo-600 hover:bg-indigo-700 text-white py-4 text-xs"
|
||||
>
|
||||
<ImageIcon className="w-4 h-4 mr-2" />
|
||||
生成推广海报
|
||||
</Button>
|
||||
<Button
|
||||
onClick={handleShareToWechat}
|
||||
className="w-full bg-green-600 hover:bg-green-700 text-white py-4 text-xs"
|
||||
>
|
||||
<MessageCircle className="w-4 h-4 mr-2" />
|
||||
分享到朋友圈
|
||||
</Button>
|
||||
<Button
|
||||
onClick={handleShare}
|
||||
variant="outline"
|
||||
className="w-full border-app-border text-app-text hover:bg-app-card bg-transparent py-4 text-xs"
|
||||
>
|
||||
更多分享方式
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<PosterModal
|
||||
isOpen={showPoster}
|
||||
onClose={() => setShowPoster(false)}
|
||||
referralLink={referralLink}
|
||||
referralCode={user.referralCode}
|
||||
nickname={user.nickname}
|
||||
/>
|
||||
|
||||
<WithdrawalModal
|
||||
isOpen={showWithdrawal}
|
||||
onClose={() => setShowWithdrawal(false)}
|
||||
availableAmount={totalEarnings}
|
||||
/>
|
||||
|
||||
{/* Recent earnings */}
|
||||
{referralPurchases.length > 0 && (
|
||||
<div className="bg-app-card/60 rounded-xl border border-app-border">
|
||||
<div className="p-2.5 border-b border-app-border">
|
||||
<p className="text-app-text text-xs font-medium">收益明细</p>
|
||||
</div>
|
||||
<div className="divide-y divide-app-border max-h-40 overflow-auto">
|
||||
{referralPurchases.slice(0, 5).map((purchase) => (
|
||||
<div key={purchase.id} className="p-2.5 flex items-center justify-between">
|
||||
<div>
|
||||
<p className="text-app-text text-xs">{purchase.type === "fullbook" ? "整本书" : "单节"}</p>
|
||||
<p className="text-app-text-muted text-xs">
|
||||
{new Date(purchase.createdAt).toLocaleDateString("zh-CN")}
|
||||
</p>
|
||||
</div>
|
||||
<p className="text-app-brand text-sm font-semibold">
|
||||
+¥{(purchase.referrerEarnings || 0).toFixed(2)}
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</main>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -1,96 +0,0 @@
|
||||
"use client"
|
||||
|
||||
import { useState } from "react"
|
||||
import Link from "next/link"
|
||||
import { ArrowLeft, Phone, Bell, Shield, HelpCircle } from "lucide-react"
|
||||
import { useStore } from "@/lib/store"
|
||||
|
||||
export default function SettingsPage() {
|
||||
const { user, updateUser } = useStore()
|
||||
const [nickname, setNickname] = useState(user?.nickname || "")
|
||||
const [saved, setSaved] = useState(false)
|
||||
|
||||
const handleSave = () => {
|
||||
if (user) {
|
||||
updateUser(user.id, { nickname })
|
||||
setSaved(true)
|
||||
setTimeout(() => setSaved(false), 2000)
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<main className="min-h-screen bg-[#0a1628] text-white pb-20">
|
||||
<div className="sticky top-0 z-10 bg-[#0a1628]/95 backdrop-blur-md border-b border-gray-700/50">
|
||||
<div className="max-w-md mx-auto flex items-center gap-4 p-4">
|
||||
<Link href="/my" className="p-2 -ml-2">
|
||||
<ArrowLeft className="w-5 h-5" />
|
||||
</Link>
|
||||
<h1 className="text-lg font-semibold">账户设置</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="p-4">
|
||||
<div className="max-w-md mx-auto space-y-4">
|
||||
{/* Profile Settings */}
|
||||
<div className="bg-[#0f2137]/60 rounded-xl p-4">
|
||||
<h3 className="text-gray-400 text-sm mb-4">个人信息</h3>
|
||||
|
||||
<div className="space-y-4">
|
||||
<div>
|
||||
<label className="text-gray-400 text-xs">昵称</label>
|
||||
<input
|
||||
type="text"
|
||||
value={nickname}
|
||||
onChange={(e) => setNickname(e.target.value)}
|
||||
className="w-full bg-[#0a1628] border border-gray-700 rounded-lg px-4 py-3 text-white mt-1"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<label className="text-gray-400 text-xs">手机号</label>
|
||||
<div className="flex items-center gap-2 mt-1">
|
||||
<Phone className="w-4 h-4 text-gray-500" />
|
||||
<span className="text-gray-400">{user?.phone}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button
|
||||
onClick={handleSave}
|
||||
className="w-full mt-4 bg-[#38bdac] hover:bg-[#2da396] text-white py-3 rounded-lg font-medium"
|
||||
>
|
||||
{saved ? "已保存" : "保存修改"}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Other Settings */}
|
||||
<div className="bg-[#0f2137]/60 rounded-xl overflow-hidden">
|
||||
<div className="flex items-center justify-between p-4 border-b border-gray-700/30">
|
||||
<div className="flex items-center gap-3">
|
||||
<Bell className="w-5 h-5 text-gray-400" />
|
||||
<span>消息通知</span>
|
||||
</div>
|
||||
<div className="w-10 h-5 bg-[#38bdac] rounded-full relative">
|
||||
<div className="w-4 h-4 bg-white rounded-full absolute right-0.5 top-0.5" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="flex items-center justify-between p-4 border-b border-gray-700/30">
|
||||
<div className="flex items-center gap-3">
|
||||
<Shield className="w-5 h-5 text-gray-400" />
|
||||
<span>隐私设置</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Link href="/docs" className="flex items-center justify-between p-4">
|
||||
<div className="flex items-center gap-3">
|
||||
<HelpCircle className="w-5 h-5 text-gray-400" />
|
||||
<span>帮助文档</span>
|
||||
</div>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
)
|
||||
}
|
||||
26
app/page.tsx
26
app/page.tsx
@@ -1,26 +0,0 @@
|
||||
import { BookCover } from "@/components/book-cover"
|
||||
import { BookIntro } from "@/components/book-intro"
|
||||
import { TableOfContents } from "@/components/table-of-contents"
|
||||
import { PurchaseSection } from "@/components/purchase-section"
|
||||
import { Footer } from "@/components/footer"
|
||||
import { getBookStructure } from "@/lib/book-file-system"
|
||||
|
||||
// Force dynamic rendering if we want it to update on every request without rebuild
|
||||
// or use revalidation. For now, we can leave it default (static if no dynamic functions used, but fs usage makes it dynamic in dev usually).
|
||||
// Actually, in App Router, using fs directly in a Server Component usually makes it static at build time unless using dynamic functions.
|
||||
// To ensure it updates when files change in dev, it should be fine.
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function HomePage() {
|
||||
const parts = getBookStructure()
|
||||
|
||||
return (
|
||||
<main className="min-h-screen bg-[#0a1628] text-white pb-20">
|
||||
<BookCover />
|
||||
<BookIntro />
|
||||
<TableOfContents parts={parts} />
|
||||
<PurchaseSection />
|
||||
<Footer />
|
||||
</main>
|
||||
)
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
import { notFound } from "next/navigation"
|
||||
import { ChapterContent } from "@/components/chapter-content"
|
||||
import { getSectionBySlug, getChapterBySectionSlug, getSectionContent } from "@/lib/book-file-system"
|
||||
import { specialSections } from "@/lib/book-data"
|
||||
|
||||
interface ReadPageProps {
|
||||
params: Promise<{ id: string }>
|
||||
}
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export default async function ReadPage({ params }: ReadPageProps) {
|
||||
const { id } = await params
|
||||
|
||||
// Check special sections first
|
||||
// Note: Special sections might not have file paths in the dynamic system yet unless mapped
|
||||
// For now, we keep the hardcoded specialSections check but maybe we should map them to files too
|
||||
if (id === "preface") {
|
||||
return <ChapterContent section={specialSections.preface} partTitle="序言" chapterTitle="" />
|
||||
}
|
||||
|
||||
if (id === "epilogue") {
|
||||
return <ChapterContent section={specialSections.epilogue} partTitle="尾声" chapterTitle="" />
|
||||
}
|
||||
|
||||
// Find regular section from dynamic file system
|
||||
const section = getSectionBySlug(id)
|
||||
if (!section) {
|
||||
notFound()
|
||||
}
|
||||
|
||||
const context = getChapterBySectionSlug(id)
|
||||
if (!context) {
|
||||
notFound()
|
||||
}
|
||||
|
||||
// Read content from file
|
||||
const content = getSectionContent(section.filePath)
|
||||
const sectionWithContent = { ...section, content }
|
||||
|
||||
return <ChapterContent section={sectionWithContent} partTitle={context.part.title} chapterTitle={context.chapter.title} />
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
import { Order, PayTrade } from '../models/Order';\nimport { PayTrade as PayTradeModel } from '../models/PayTrade';\nimport AlipaySDK from 'alipay-sdk';\nimport WeChatPay from 'wechatpay-node-v3';\nimport Stripe from 'stripe';\nimport * as Paypal from '@paypal/checkout-server-sdk';\nimport Web3 from 'web3';\n\nclass AlipayAdapter {\n constructor() {\n this.sdk = new AlipaySDK({\n appId: process.env.ALIPAY_APP_ID,\n privateKey: process.env.ALIPAY_PRIVATE_KEY,\n alipayPublicKey: process.env.ALIPAY_PUBLIC_KEY,\n gateway: 'https://openapi.alipay.com/gateway.do',\n });\n }\n\n async pay(order) {\n const result = await this.sdk.exec('alipay.trade.app.pay', {\n bizContent: {\n subject: `Payment for order ${order._id}`,\n out_trade_no: order._id.toString(),\n total_amount: order.amount.toString(),\n product_code: 'QUICK_MSECURITY_PAY',\n },\n });\n\n const trade = new PayTradeModel({ orderId: order._id, gateway: 'alipay', response: result });\n await trade.save();\n\n return result;\n }\n}\n\nclass WechatAdapter {\n constructor() {\n this.pay = new WeChatPay({\n appid: process.env.WECHAT_APPID,\n mchid: process.env.WECHAT_MCHID,\n private_key: process.env.WECHAT_PRIVATE_KEY,\n serial_no: process.env.WECHAT_SERIAL_NO,\n apiv3_key: process.env.WECHAT_APIV3_KEY,\n });\n }\n\n async pay(order) {\n const params = {\n out_trade_no: order._id.toString(),\n appid: process.env.WECHAT_APPID,\n description: `Payment for order ${order._id}`,\n amount: { total: Math.floor(order.amount * 100) },\n payer: { openid: 'user_openid' } // 需要替换为实际openid\n };\n const result = await this.pay.jsapi(params);\n\n const trade = new PayTradeModel({ orderId: order._id, gateway: 'wechat', response: result });\n await trade.save();\n\n return result;\n }\n}\n\nclass PaypalAdapter {\n constructor() {\n const environment = new Paypal.core.SandboxEnvironment(process.env.PAYPAL_CLIENT_ID, process.env.PAYPAL_CLIENT_SECRET);\n this.client = new Paypal.core.PayPalHttpClient(environment);\n }\n\n async pay(order) {\n const request = new Paypal.orders.OrdersCreateRequest();\n request.requestBody({\n intent: 'CAPTURE',\n purchase_units: [{\n amount: {\n currency_code: order.currency,\n value: order.amount.toString(),\n }\n }]\n });\n const response = await this.client.execute(request);\n\n const trade = new PayTradeModel({ orderId: order._id, gateway: 'paypal', response: response.result });\n await trade.save();\n\n return response.result;\n }\n}\n\nclass StripeAdapter {\n constructor() {\n this.stripe = new Stripe(process.env.STRIPE_SECRET_KEY);\n }\n\n async pay(order) {\n const paymentIntent = await this.stripe.paymentIntents.create({\n amount: Math.floor(order.amount * 100),\n currency: order.currency,\n metadata: { order_id: order._id.toString() },\n });\n\n const trade = new PayTradeModel({ orderId: order._id, gateway: 'stripe', response: paymentIntent });\n await trade.save();\n\n return paymentIntent;\n }\n}\n\nclass UsdtAdapter {\n async pay(order) {\n // 实现USDT支付逻辑,使用web3\n // 示例: 生成支付地址或交易\n const web3 = new Web3(process.env.WEB3_PROVIDER || 'https://mainnet.infura.io/v3/YOUR_INFURA_KEY');\n // TODO: 实现USDT ERC20转账或支付请求\n const result = { paymentAddress: 'generated_usdt_address', amount: order.amount };\n\n const trade = new PayTradeModel({ orderId: order._id, gateway: 'usdt', response: result });\n await trade.save();\n\n return result;\n }\n}\n\nclass PaymentService {\n async createOrder(data) {\n const order = new Order(data);\n await order.save();\n return order;\n }\n\n async pay(orderId, gateway) {\n const order = await Order.findById(orderId);\n if (!order) throw new Error('Order not found');\n\n let adapter;\n switch (gateway) {\n case 'alipay':\n adapter = new AlipayAdapter();\n break;\n case 'wechat':\n adapter = new WechatAdapter();\n break;\n case 'paypal':\n adapter = new PaypalAdapter();\n break;\n case 'stripe':\n adapter = new StripeAdapter();\n break;\n case 'usdt':\n adapter = new UsdtAdapter();\n break;\n default:\n throw new Error('Unsupported gateway');\n }\n\n const result = await adapter.pay(order);\n\n order.status = 'paid'; // 根据实际结果更新\n await order.save();\n\n return result;\n }\n}\n\nexport const paymentService = new PaymentService();
|
||||
24
auto_sync.sh
24
auto_sync.sh
@@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
# 自动同步脚本:添加所有更改 -> 提交 -> 推送到 soul-content 分支
|
||||
echo "⏳ 开始同步到 GitHub (soul-content)..."
|
||||
|
||||
# 确保在项目根目录
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
# 添加所有更改
|
||||
git add .
|
||||
|
||||
# 检查是否有更改需要提交
|
||||
if git diff-index --quiet HEAD --; then
|
||||
echo "✅ 本地没有需要提交的更改。"
|
||||
else
|
||||
# 提交更改,包含时间戳
|
||||
git commit -m "Auto-sync: $(date '+%Y-%m-%d %H:%M:%S')"
|
||||
echo "✅ 已提交本地更改。"
|
||||
fi
|
||||
|
||||
# 推送到远程
|
||||
git push origin soul-content
|
||||
|
||||
echo "🎉 同步完成!"
|
||||
echo "GitHub 地址: https://github.com/fnvtk/Mycontent/tree/soul-content"
|
||||
BIN
book/.DS_Store
vendored
BIN
book/.DS_Store
vendored
Binary file not shown.
BIN
book/_第一篇|真实的人/.DS_Store
vendored
BIN
book/_第一篇|真实的人/.DS_Store
vendored
Binary file not shown.
@@ -1,209 +0,0 @@
|
||||
"在这个城市,只要跟自行车有关的生意,都绕不开一个人。"
|
||||
|
||||
2024年12月的一个早上,七点三十二分,我在Soul派对房讲到一半的时候,有人突然打断我。
|
||||
|
||||
"卡若,你说的那种把一个行业做到极致的人,厦门有吗?"
|
||||
|
||||
我笑了。
|
||||
|
||||
"有,而且就在派对房里。"
|
||||
|
||||
那天早上6点,我像往常一样打开Soul派对房。
|
||||
|
||||
进来一个人,声音很稳,不像大多数人那样急着表达自己。
|
||||
|
||||
他先听了十分钟。
|
||||
|
||||
然后说了一句话:"卡若,你讲的私域运营,我做了18年。"
|
||||
|
||||
我愣了一下。
|
||||
|
||||
Soul上什么人都有,但能说出这句话的不多。
|
||||
|
||||
我说:"那你是做什么的?"
|
||||
|
||||
他说:"自行车。"
|
||||
|
||||
我说:"自行车?卖车的?"
|
||||
|
||||
他说:"不只是卖车,维修、租赁、政府采购,都做。"
|
||||
|
||||
我问:"做了多久?"
|
||||
|
||||
他说:"18年。厦门所有学校的自行车业务,80%都是我做的。"
|
||||
|
||||
派对房里,突然安静了。
|
||||
|
||||
我问:"你怎么做到80%的?"
|
||||
|
||||
他声音很平静,但能听出自信。
|
||||
|
||||
"2005年,我刚开始做自行车生意的时候,厦门有七八家同行。"
|
||||
|
||||
"大家都是卖车、修车、做租赁。"
|
||||
|
||||
"竞争很激烈。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"我当时就想,怎么才能让客户记住我?"
|
||||
|
||||
派对房里,有人打字:"靠价格?"
|
||||
|
||||
他说:"不是。"
|
||||
|
||||
"我花了半年时间,走了厦门50多所学校。"
|
||||
|
||||
"每个学校,我都去找总务处,找后勤主任,找体育老师。"
|
||||
|
||||
"问他们,学生的自行车最常出什么问题。"
|
||||
|
||||
"问他们,学校需要什么样的维修服务。"
|
||||
|
||||
"问他们,租赁业务怎么做才能让学生满意。"
|
||||
|
||||
我听得很认真。
|
||||
|
||||
这不是在卖车。
|
||||
|
||||
这是在做调研。
|
||||
|
||||
他继续说:"我发现所有学校的痛点都是一样的。"
|
||||
|
||||
"第一,维修不及时。学生的车坏了,要等两三天。"
|
||||
|
||||
"第二,零件不齐全。老旧型号的配件找不到。"
|
||||
|
||||
"第三,服务不专业。有些师傅态度不好,乱收费。"
|
||||
|
||||
派对房里,有人问:"那你怎么解决?"
|
||||
|
||||
他说:"我做了三件事。"
|
||||
|
||||
"第一,在每个学校附近都设服务点。学生打电话,半小时内到。"
|
||||
|
||||
"第二,把厦门市场上所有型号的零件全部备齐。冷门的、老旧的、进口的,我都有。"
|
||||
|
||||
"第三,给所有师傅做培训。服务态度、收费标准、维修流程,全部标准化。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"三个月之后,厦门大学找我合作了。"
|
||||
|
||||
"再三个月,集美大学也来了。"
|
||||
|
||||
"再半年,厦门所有高校的自行车业务,全是我的。"
|
||||
|
||||
我沉默了。
|
||||
|
||||
这不是运气。
|
||||
|
||||
这是系统。
|
||||
|
||||
有人问:"那政府的公共自行车项目,你是怎么拿到的?"
|
||||
|
||||
他笑了。
|
||||
|
||||
"2017年,政府要做公共自行车项目,招标。"
|
||||
|
||||
"当时有五家公司竞标。"
|
||||
|
||||
"前面四家都在讲价格、讲方案、讲资质。"
|
||||
|
||||
"轮到我的时候,我只说了一句话。"
|
||||
|
||||
派对房里,所有人都在等。
|
||||
|
||||
他说:"我说:我在厦门做了12年自行车生意,这个城市的每一条街道,哪里坡多、哪里人流大、哪里容易出故障,我闭着眼睛都知道。"
|
||||
|
||||
"你们要的不是一个供应商,你们要的是一个真正懂这个城市的人。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"一周后,政府给我打电话,说项目给我了。"
|
||||
|
||||
派对房里,有人打字:"牛逼。"
|
||||
|
||||
我问:"你觉得,什么叫把一个行业做到极致?"
|
||||
|
||||
他想了几秒。
|
||||
|
||||
"不是把现有的事情做到100分。"
|
||||
|
||||
"而是不断往前走,走到别人看不见的地方。"
|
||||
|
||||
他继续说:"比如智能锁。"
|
||||
|
||||
"市面上的锁,要么太贵,要么不稳定。"
|
||||
|
||||
"我们自己研发了一套系统,成本降低了40%,故障率降到了0.8%。"
|
||||
|
||||
我问:"你们还做研发?"
|
||||
|
||||
他说:"不做研发,怎么保持领先?"
|
||||
|
||||
"这个行业,技术更新很快的。"
|
||||
|
||||
"如果我还停留在修车、卖车的层面,早就被淘汰了。"
|
||||
|
||||
那天聊完,已经快九点了。
|
||||
|
||||
我在派对房里总结了一下。
|
||||
|
||||
"刚才那位老板,给了我们一个很好的示范。"
|
||||
|
||||
"什么叫把一个行业做到极致?"
|
||||
|
||||
"第一,深度调研。不是坐在办公室里想,是走出去,一个一个客户聊。"
|
||||
|
||||
"第二,建立系统。不是靠个人能力,是把经验变成流程,把流程变成标准。"
|
||||
|
||||
"第三,持续创新。不是守着现有的业务,是不断往前走。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"最重要的是,你要让客户觉得,在这个领域,除了你,找不到第二个人。"
|
||||
|
||||
派对房里,很安静。
|
||||
|
||||
过了几秒,有人打字:"卡若,这个人是谁?"
|
||||
|
||||
我笑了。
|
||||
|
||||
"一个做自行车的。"
|
||||
|
||||
"在厦门,只要跟自行车有关的生意,都绕不开他。"
|
||||
|
||||
后来,我经常在Soul派对房里讲这个案例。
|
||||
|
||||
每次讲完,都有人问:"卡若,我也想在我的行业做到极致,怎么办?"
|
||||
|
||||
我说:"先问自己三个问题。"
|
||||
|
||||
"第一,你对这个行业的了解,是停留在表面,还是深入到了骨子里?"
|
||||
|
||||
"第二,你的客户为什么要选你?是因为你便宜,还是因为你专业?"
|
||||
|
||||
"第三,你能不能让客户觉得,在这个领域,除了你,找不到第二个人?"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"如果这三个问题你都回答不出来,那你还没到极致。"
|
||||
|
||||
派对房里,又是一阵沉默。
|
||||
|
||||
我继续说:"那位老板做自行车18年,厦门80%的业务都是他的。"
|
||||
|
||||
"他不是靠低价,不是靠关系。"
|
||||
|
||||
"他是靠'我比所有人都懂这件事'。"
|
||||
|
||||
"这就是极致。"
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,做到极致,不是把一件事做到100分,而是走到别人看不见的地方。
|
||||
|
||||
深度调研、建立系统、持续创新。
|
||||
|
||||
这三件事,缺一不可。
|
||||
@@ -1,225 +0,0 @@
|
||||
"有些人手上没有一个项目,但他认识所有有项目的人。"
|
||||
|
||||
这是我对老墨的第一印象。
|
||||
|
||||
2024年12月的一个早上,八点十五分,Soul派对房里进来一个人。
|
||||
|
||||
声音很稳,不像大多数人那样急着表达自己。
|
||||
|
||||
他上麦之后,先听了十分钟。
|
||||
|
||||
然后说了一句话:"卡若,你讲的资源整合,我做了15年。"
|
||||
|
||||
我愣了一下。
|
||||
|
||||
Soul上什么人都有,但能说出这句话的不多。
|
||||
|
||||
我说:"那你是做什么的?"
|
||||
|
||||
他说:"财务。"
|
||||
|
||||
我说:"财务公司?"
|
||||
|
||||
他说:"对,但我不是做账的,我是做资源整合的。"
|
||||
|
||||
这句话,让我来了兴趣。
|
||||
|
||||
我问:"什么叫做资源整合?"
|
||||
|
||||
他笑了。
|
||||
|
||||
"你看,一家企业需要做账,对吧?"
|
||||
|
||||
"但做账只是一个入口。"
|
||||
|
||||
"企业还需要什么?税筹、退税、融资、供应链、客户资源。"
|
||||
|
||||
"我手上有很多企业客户,每一家都有不同的需求。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"我的生意,就是把A的需求,对接给B的资源。"
|
||||
|
||||
"中间抽几个点。"
|
||||
|
||||
派对房里,有人打字:"这不就是中介吗?"
|
||||
|
||||
他说:"你可以这么理解。"
|
||||
|
||||
"但我不是普通的中介。"
|
||||
|
||||
"我是有背书的中介。"
|
||||
|
||||
我问:"那你怎么找到这些资源的?"
|
||||
|
||||
他说:"我每天花三个小时,在Soul派对房里听人聊天。"
|
||||
|
||||
我有点惊讶。
|
||||
|
||||
"Soul?"
|
||||
|
||||
他点点头。
|
||||
|
||||
"Soul上什么人都有。做税筹的,做退税的,做供应链的,做融资的。"
|
||||
|
||||
"我每天上麦,不说话,就听。"
|
||||
|
||||
"听他们在讲什么项目,讲什么资源,讲什么需求。"
|
||||
|
||||
"然后我加他们微信,进飞书,慢慢聊。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"三个月,我在Soul上认识了80个老板。"
|
||||
|
||||
"每个老板手上都有不同的资源。"
|
||||
|
||||
"我的工作,就是把他们链接起来。"
|
||||
|
||||
派对房里,有人问:"他们为什么愿意给你分钱?"
|
||||
|
||||
他说:"因为我给他们带客户。"
|
||||
|
||||
他给我们讲了一个案例。
|
||||
|
||||
"今年年初,我在Soul上认识了一个做退税的老板。"
|
||||
|
||||
"他说,他的退税业务,只针对年流水比较大的企业。"
|
||||
|
||||
"但他找不到客户。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"我手上有很多企业客户,我一筛选,发现有一些符合条件。"
|
||||
|
||||
"我说,我把客户给你,你帮我分成。"
|
||||
|
||||
"他说,怎么分?"
|
||||
|
||||
"我说,你收服务费,分我一部分。"
|
||||
|
||||
"他说,没问题。"
|
||||
|
||||
派对房里,有人问:"那客户为什么愿意接受你的介绍?"
|
||||
|
||||
他说:"因为我给他们做账。"
|
||||
|
||||
"我每个月给他们发财务报表。"
|
||||
|
||||
"报表里面,我会写:您的企业今年缴税XX万,我们有合作伙伴可以帮您优化税务,预计可以节省XX万。"
|
||||
|
||||
"这句话一写,客户就会问我。"
|
||||
|
||||
"我说,我认识一个做税筹的朋友,很靠谱,要不要我介绍给你?"
|
||||
|
||||
"客户说,可以。"
|
||||
|
||||
他看着我。
|
||||
|
||||
"然后我就把客户介绍过去。"
|
||||
|
||||
"客户省了钱,我分了成,那个老板也赚了钱。"
|
||||
|
||||
"大家都开心。"
|
||||
|
||||
有人问:"那你怎么保证那个老板靠谱?"
|
||||
|
||||
他说:"我会先自己测试。"
|
||||
|
||||
"第一次合作,我不会介绍大客户。"
|
||||
|
||||
"我先介绍一个小客户,看他怎么做。"
|
||||
|
||||
"如果他做得好,客户满意,我再介绍大客户。"
|
||||
|
||||
"如果他做得不好,我就不再合作。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"所以我手上的资源,都是经过验证的。"
|
||||
|
||||
"客户信任我,是因为我只给他们推荐靠谱的人。"
|
||||
|
||||
派对房里,又是一阵沉默。
|
||||
|
||||
我问:"为什么大部分人做不了资源整合?"
|
||||
|
||||
他说:"因为他们不舍得分钱。"
|
||||
|
||||
"很多人觉得,我介绍客户给你,你应该感谢我。"
|
||||
|
||||
"但其实,应该是我感谢他。"
|
||||
|
||||
"因为他提供了服务,客户才满意。"
|
||||
|
||||
"我只是做了一个链接。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"所以我每次介绍客户,都会主动提出分成。"
|
||||
|
||||
"我不等他来找我分钱,我先说,这个项目我们怎么分?"
|
||||
|
||||
"这样,大家都觉得我很靠谱。"
|
||||
|
||||
派对房里,有人打字:"学到了。"
|
||||
|
||||
那天聊完,已经快九点了。
|
||||
|
||||
我在派对房里总结了一下。
|
||||
|
||||
"刚才那位老板,给了我们一个很好的示范。"
|
||||
|
||||
"什么叫资源整合?"
|
||||
|
||||
"第一,你要认识足够多的人。不是泛泛之交,是知道他们手上有什么资源。"
|
||||
|
||||
"第二,你要有客户。资源整合的本质,是把需求对接给供给。没有需求,你整合不了。"
|
||||
|
||||
"第三,你要舍得分钱。不要想着自己吃肉,别人喝汤。你分得越多,大家越愿意跟你合作。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"最重要的是,你要让所有人都觉得,跟你合作是赚钱的,不是被你赚钱的。"
|
||||
|
||||
派对房里,很安静。
|
||||
|
||||
过了几秒,有人打字:"卡若,这个人太厉害了。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"一个做财务的。"
|
||||
|
||||
"他手上没有一个项目,但他年入千万。"
|
||||
|
||||
后来,我经常在Soul派对房里讲这个案例。
|
||||
|
||||
每次讲完,都有人问:"卡若,我也想做资源整合,怎么开始?"
|
||||
|
||||
我说:"先问自己三个问题。"
|
||||
|
||||
"第一,你认识谁?把你认识的所有人列一个表,写清楚他们手上有什么资源。"
|
||||
|
||||
"第二,你的客户需要什么?把他们的需求列出来,看看能不能对接。"
|
||||
|
||||
"第三,你能不能舍得分钱?如果你还在想着自己赚多少,你做不了资源整合。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"那位老板做资源整合15年,他从来不想着自己能赚多少。"
|
||||
|
||||
"他只想着,怎么让A和B都赚到钱。"
|
||||
|
||||
"A和B都赚到钱了,自然会分钱给他。"
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,资源整合的本质,不是你有多少资源。
|
||||
|
||||
而是你能不能把资源链接起来,让每个人都赚到钱。
|
||||
|
||||
你链接得越多,大家越信任你。
|
||||
|
||||
你越舍得分钱,大家越愿意跟你合作。
|
||||
|
||||
记住:手上没项目不可怕,可怕的是你不知道怎么链接有项目的人。
|
||||
@@ -1,399 +0,0 @@
|
||||
# 1.3 笑声背后的MBTI:为什么ENTJ适合做资源,INTP适合做系统
|
||||
|
||||
"招人不看简历,看性格。"
|
||||
|
||||
2024年11月15日,晚上八点半。
|
||||
|
||||
我在Soul派对房讲完团队管理,有人突然问了一个问题。
|
||||
|
||||
"卡若,你招人的时候,怎么判断一个人适合什么岗位?"
|
||||
|
||||
我笑了。
|
||||
|
||||
"我不看简历,我看他的性格。"
|
||||
|
||||
派对房里,瞬间安静了。
|
||||
|
||||
过了几秒,有人打字:"卡若,你怎么看性格?"
|
||||
|
||||
我说:"我让他测MBTI。"
|
||||
|
||||
又有人问:"MBTI是什么?"
|
||||
|
||||
我说:"一种性格测试,16种人格,每种人格适合做不同的事情。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"你们知道吗?在Soul派对房里,你听一个人说话三分钟,就能判断出他是什么性格。"
|
||||
|
||||
我说这话的时候,派对房里有47个人在线。
|
||||
|
||||
其中至少有十几个人,我已经通过声音判断出了他们的MBTI。
|
||||
|
||||
第一次用MBTI招人,是在2019年。
|
||||
|
||||
那时候公司刚从破产中缓过来,我在重新组建团队。
|
||||
|
||||
我招了一个项目负责人。
|
||||
|
||||
能力很强,经验丰富,简历漂亮。
|
||||
|
||||
面试的时候,他讲了一个多小时他之前做的项目。
|
||||
|
||||
我觉得这人太牛了,当场就给了offer。
|
||||
|
||||
结果干了两个月,团队天天吵架。
|
||||
|
||||
他跟其他人完全合不来。
|
||||
|
||||
我问他:"你为什么不按照团队的计划做?"
|
||||
|
||||
他说:"我有更好的想法。"
|
||||
|
||||
我说:"那你为什么不跟团队沟通?"
|
||||
|
||||
他说:"我觉得没必要。"
|
||||
|
||||
我当时就愣住了。
|
||||
|
||||
后来我才明白,这个人是INTJ。
|
||||
|
||||
INTJ的特点是什么?
|
||||
|
||||
独立思考,有自己的想法,不喜欢被管。
|
||||
|
||||
他们脑子里有一套完整的系统,不需要别人的意见。
|
||||
|
||||
但团队需要的是执行,不是独立思考。
|
||||
|
||||
一个月后,他离职了。
|
||||
|
||||
自己出去创业了。
|
||||
|
||||
那次之后,我开始认真研究MBTI。
|
||||
|
||||
我发现,每个性格都有自己擅长的事情。
|
||||
|
||||
ENTJ,适合做资源整合,带团队,做操盘手。
|
||||
|
||||
他们天生就是领导者,果断,有执行力,能快速拿结果。
|
||||
|
||||
他们喜欢制定目标,拆解目标,分配任务。
|
||||
|
||||
他们关注的是结果,不是过程。
|
||||
|
||||
但ENTJ有一个问题:容易叛变。
|
||||
|
||||
为什么?
|
||||
|
||||
因为他们有自己的想法,不喜欢被管。
|
||||
|
||||
当他们觉得自己能做得更好的时候,他们就会离开。
|
||||
|
||||
所以我们公司,内部员工基本没有ENTJ。
|
||||
|
||||
所有ENTJ,都是合作关系。
|
||||
|
||||
我提前跟他们讲清楚:"你迟早会叛变,我们合作的形式是什么,你在这个阶段给我带来什么价值,我给你什么回报,都要说清楚。"
|
||||
|
||||
这样,大家都舒服。
|
||||
|
||||
INTP,适合做系统,做架构,做战略。
|
||||
|
||||
他们天生就是思考者,逻辑性强,喜欢深度思考。
|
||||
|
||||
他们不喜欢执行,喜欢设计流程。
|
||||
|
||||
他们关注的是底层逻辑,不是表面现象。
|
||||
|
||||
我自己就是INTP。
|
||||
|
||||
但我在公司,是ENTJ的影子人格。
|
||||
|
||||
什么叫影子人格?
|
||||
|
||||
就是你内心是INTP,但你经历了很多痛苦之后,你会披上ENTJ的外衣。
|
||||
|
||||
你会逼自己变成一个执行者,一个领导者。
|
||||
|
||||
但你的内心,还是INTP。
|
||||
|
||||
所以我每天早上4点起床,做复盘。
|
||||
|
||||
5点写文章。
|
||||
|
||||
6点到9点在Soul开播。
|
||||
|
||||
这些都是ENTJ的行为。
|
||||
|
||||
但我的本质,还是喜欢躺着,喜欢思考,喜欢睡懒觉。
|
||||
|
||||
2018年破产之后,我被逼着变成了ENTJ。
|
||||
|
||||
我必须带团队,必须拿结果,必须快速决策。
|
||||
|
||||
但每次回到家,我就变回了INTP。
|
||||
|
||||
我喜欢一个人坐着发呆,喜欢看书,喜欢想事情。
|
||||
|
||||
这就是影子人格。
|
||||
|
||||
晚上九点,有个小伙伴上麦了。
|
||||
|
||||
他说:"卡若,我测出来是ENTJ,但我又测出来是INTP,还测出来是ENTP。"
|
||||
|
||||
我说:"你有可能是INFJ。"
|
||||
|
||||
他说:"INFJ是什么?"
|
||||
|
||||
我说:"绿老头。"
|
||||
|
||||
他愣了。
|
||||
|
||||
"什么是绿老头?"
|
||||
|
||||
我说:"INFJ是16种人格里最稀缺的一种,只占人口的1%到2%。"
|
||||
|
||||
"他们的特点是:洞察力极强,共情能力极强,但能量消耗很快。"
|
||||
|
||||
"他们会对不同的人戴不同的面具。"
|
||||
|
||||
"他们能让所有人都舒服。"
|
||||
|
||||
"但他们自己很累。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"Soul上有个6号小姐姐,她就是INFJ。"
|
||||
|
||||
"她看人一眼,就能知道这个人有多少钱,有什么能力,心里想什么。"
|
||||
|
||||
"洞察能力是所有人当中最强的。"
|
||||
|
||||
派对房里,又是一阵沉默。
|
||||
|
||||
有人打字:"那我怎么知道自己是不是INFJ?"
|
||||
|
||||
我说:"INFJ有个特点,他们测MBTI的时候,经常测出不同的结果。"
|
||||
|
||||
"因为他们太擅长适应环境了。"
|
||||
|
||||
"他们在工作中是一个样子,在家里是另一个样子,在朋友面前又是一个样子。"
|
||||
|
||||
"所以测试结果不稳定。"
|
||||
|
||||
后来,我开始在Soul派对房里观察每个人的性格。
|
||||
|
||||
有人上麦,声音很稳,不急不躁,说话逻辑清晰。
|
||||
|
||||
我一听,这是T人。
|
||||
|
||||
T人关注逻辑,关注事情本身,不太关注人的感受。
|
||||
|
||||
有人上麦,声音很热情,说话很快,喜欢讲故事。
|
||||
|
||||
我一听,这是F人。
|
||||
|
||||
F人关注感受,关注人,喜欢照顾团队氛围。
|
||||
|
||||
有人上麦,说话天马行空,喜欢讲未来,讲可能性。
|
||||
|
||||
我一听,这是N人。
|
||||
|
||||
N人喜欢想象,喜欢思考未来。
|
||||
|
||||
有人上麦,说话很实在,喜欢讲具体的事情,讲数字。
|
||||
|
||||
我一听,这是S人。
|
||||
|
||||
S人喜欢实感,喜欢确定性。
|
||||
|
||||
三分钟,我就能判断一个人的性格。
|
||||
|
||||
然后我就知道,这个人适合做什么。
|
||||
|
||||
有个小伙伴问我:"卡若,你怎么判断一个人适合做什么?"
|
||||
|
||||
我说:"很简单。"
|
||||
|
||||
"ENTJ、ENFJ、ESTP,适合做管理,做操盘手,带团队。"
|
||||
|
||||
"ISTJ、ISTP、ISFJ,适合做执行,做基础工作。"
|
||||
|
||||
"INTJ、INTP,适合做系统,做架构,做战略。"
|
||||
|
||||
"ENFP、ENTP,适合做招商,做销售,做商务。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"每个性格都有自己擅长的事情。"
|
||||
|
||||
"你不能让INTP去做销售,也不能让ENFP去做财务。"
|
||||
|
||||
"人一定要在适合自己的位置上,才能发挥最大的价值。"
|
||||
|
||||
有人问我:"卡若,那你们公司怎么组建团队?"
|
||||
|
||||
我说:"我会先找一个ENTJ或ENFJ做项目负责人。"
|
||||
|
||||
"然后配两三个ISTJ或ISTP做执行。"
|
||||
|
||||
"再配一个ENFP做快乐小组,负责调节团队氛围。"
|
||||
|
||||
"这样,团队就不容易出问题。"
|
||||
|
||||
他问:"为什么?"
|
||||
|
||||
我说:"因为ENTJ能拿结果,ISTJ能执行,ENFP能让团队开心。"
|
||||
|
||||
"三种性格互补,团队就和谐了。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但如果你找一个INTJ做项目负责人,团队就容易出问题。"
|
||||
|
||||
"因为INTJ有自己的想法,不听指挥。"
|
||||
|
||||
"他会隐忍,会铺垫,会在背后做自己的事情。"
|
||||
|
||||
"最后,他会叛变。"
|
||||
|
||||
后来,我在Soul上分享过一个案例。
|
||||
|
||||
我说:"我之前招过一个INTJ,能力很强,但他总是有自己的想法。"
|
||||
|
||||
"团队让他往东,他偏要往西。"
|
||||
|
||||
"他说他的方案更好。"
|
||||
|
||||
"但他从来不跟团队沟通。"
|
||||
|
||||
"他就自己做自己的。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"三个月后,他离职了。"
|
||||
|
||||
"自己出去创业了。"
|
||||
|
||||
"带走了一批客户。"
|
||||
|
||||
派对房里,有人问:"卡若,那INTJ不能用吗?"
|
||||
|
||||
我说:"能用。"
|
||||
|
||||
"但只能在小项目的时候用。"
|
||||
|
||||
"当项目做大的时候,INTJ就不适合了。"
|
||||
|
||||
"因为他的目标和公司的目标,不一样。"
|
||||
|
||||
有个小伙伴问我:"卡若,那你怎么判断一个人是什么性格?"
|
||||
|
||||
我说:"我会让他测MBTI。"
|
||||
|
||||
"测完之后,我会跟他聊天,验证一下。"
|
||||
|
||||
"因为测试不一定准。"
|
||||
|
||||
"有些人带着面具测试,测出来的结果就不对。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"比如你在工作状态下测试,你可能测出来是ENTJ。"
|
||||
|
||||
"但你在家里测试,你可能测出来是INTP。"
|
||||
|
||||
"这就是影子人格。"
|
||||
|
||||
"你的内心是INTP,但你在工作中是ENTJ。"
|
||||
|
||||
他问:"那怎么办?"
|
||||
|
||||
我说:"找懂的人,聊一聊。"
|
||||
|
||||
"他会给你更准确的判断。"
|
||||
|
||||
后来,我发现一个更有趣的事情。
|
||||
|
||||
从面相,也能推断MBTI。
|
||||
|
||||
我说:"你看一个人的颧骨,如果比较高,他大概率是ESTJ或ENTJ。"
|
||||
|
||||
"因为颧骨高,代表权威。"
|
||||
|
||||
"这种人天生就有威严,容易让别人产生尊重。"
|
||||
|
||||
"所以他们适合做管理。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"中国的面相学,和西方的MBTI,是互通的。"
|
||||
|
||||
"都是在研究人的性格。"
|
||||
|
||||
"只是一个从外在看,一个从内在看。"
|
||||
|
||||
派对房里,有人打字:"卡若,你太神了。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"这不是神,这是经验。"
|
||||
|
||||
"我带过两次200人的团队,一次破产了,一次成功了。"
|
||||
|
||||
"我知道什么样的人适合什么样的位置。"
|
||||
|
||||
晚上十点,我在Soul派对房又讲了一次MBTI。
|
||||
|
||||
有人问我:"卡若,你为什么这么关注性格?"
|
||||
|
||||
我说:"因为我之前破产过一次。"
|
||||
|
||||
"2018年,我们公司做天猫,人太多了,200多人。"
|
||||
|
||||
"业务一下滑,我砍掉一批人,负面情绪到处飞。"
|
||||
|
||||
"我扛不住了。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"那次破产之后,我才明白,团队不是越多越好,是要匹配。"
|
||||
|
||||
"人和人之间的协调,性格的搭配,太重要了。"
|
||||
|
||||
"就像配衣服一样。"
|
||||
|
||||
派对房里,很安静。
|
||||
|
||||
我继续说:"所以我现在招人,第一件事就是让他测MBTI。"
|
||||
|
||||
"测完之后,我会判断他适合什么岗位,适合跟谁合作。"
|
||||
|
||||
"这样,团队就不会出问题。"
|
||||
|
||||
后来,我把MBTI落地成了一套简单的方法。
|
||||
|
||||
招人的时候,先测MBTI,再用三分钟语音验证。
|
||||
|
||||
试岗两周,看他在团队里的表现。
|
||||
|
||||
复盘的时候,回写他的性格和岗位匹配度。
|
||||
|
||||
这样,招人就不会靠直觉,而是靠系统。
|
||||
|
||||
每个人都在适合自己的位置上。
|
||||
|
||||
团队自然就顺了。
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,人和人之间的差异,是真实存在的。
|
||||
|
||||
ENTJ适合做资源,因为他们果断、有执行力、能拿结果。
|
||||
|
||||
INTP适合做系统,因为他们逻辑性强、喜欢深度思考、能设计流程。
|
||||
|
||||
每个人都有自己的天赋。
|
||||
|
||||
你要做的,就是找到自己的天赋,然后在适合自己的位置上,发挥最大的价值。
|
||||
@@ -1,379 +0,0 @@
|
||||
# 1.4 人性的三角结构:情绪、价值、利益
|
||||
|
||||
"聊得再嗨,不涉及钱,就不会有合作。"
|
||||
|
||||
2024年11月16日,晚上九点。
|
||||
|
||||
Soul派对房里有人问了我一个问题。
|
||||
|
||||
他说:"卡若,我在Soul上认识了很多人,聊得都挺好的,但就是没有一个能合作成功的。"
|
||||
|
||||
我说:"因为你只触达了情绪,没有触达价值和利益。"
|
||||
|
||||
他愣了。
|
||||
|
||||
"什么意思?"
|
||||
|
||||
我说:"人和人之间的关系,有三个层次:情绪、价值、利益。"
|
||||
|
||||
"大部分人,只停留在第一层。"
|
||||
|
||||
我在Soul上开播28场,认识了几百个人。
|
||||
|
||||
有人上麦聊得很嗨,下麦就忘了。
|
||||
|
||||
有人加了微信,聊了半天,最后什么都没发生。
|
||||
|
||||
也有人,聊了三分钟,就直接转账1000块。
|
||||
|
||||
为什么?
|
||||
|
||||
因为他们触达的层次不一样。
|
||||
|
||||
第一层,是情绪。
|
||||
|
||||
你们聊得很开心,很有共鸣,很舒服。
|
||||
|
||||
但这只是情绪。
|
||||
|
||||
情绪会消失。
|
||||
|
||||
你下麦之后,他就不记得你是谁了。
|
||||
|
||||
我在Soul派对房见过太多这样的人。
|
||||
|
||||
上麦的时候热热闹闹,下麦之后各过各的。
|
||||
|
||||
你问他还记不记得昨天那个人。
|
||||
|
||||
他说:"哪个人?"
|
||||
|
||||
这就是情绪关系的特点。
|
||||
|
||||
来得快,去得也快。
|
||||
|
||||
第二层,是价值。
|
||||
|
||||
你能给他提供什么?
|
||||
|
||||
他能给你提供什么?
|
||||
|
||||
这是价值交换。
|
||||
|
||||
比如,有人在Soul上找我。
|
||||
|
||||
他说:"卡若,我想学私域。"
|
||||
|
||||
我说:"你会什么?"
|
||||
|
||||
他说:"我会剪辑。"
|
||||
|
||||
我说:"那你帮我剪视频,我教你私域。"
|
||||
|
||||
他说:"可以。"
|
||||
|
||||
这就是价值交换。
|
||||
|
||||
他用他的技能,换我的知识。
|
||||
|
||||
我用我的知识,换他的时间。
|
||||
|
||||
双方都有收获。
|
||||
|
||||
这是第二层关系。
|
||||
|
||||
第三层,是利益。
|
||||
|
||||
你们能不能一起赚钱?
|
||||
|
||||
这是最核心的。
|
||||
|
||||
很多人在Soul上聊项目,聊得天花乱坠。
|
||||
|
||||
但一说到钱,就没下文了。
|
||||
|
||||
为什么?
|
||||
|
||||
因为他们没有想清楚,怎么分钱。
|
||||
|
||||
合作的本质,就是分钱。
|
||||
|
||||
你不把分钱的逻辑讲清楚,就不会有合作。
|
||||
|
||||
前几天,有个小伙伴在Soul上找我。
|
||||
|
||||
他说:"卡若,我有个项目,你能不能帮我看看?"
|
||||
|
||||
我说:"可以,你先说说你的项目。"
|
||||
|
||||
他说了十分钟。
|
||||
|
||||
我听完,问了他一个问题:"你想让我帮你做什么?"
|
||||
|
||||
他愣了。
|
||||
|
||||
"我想让你帮我推广。"
|
||||
|
||||
我说:"那我能得到什么?"
|
||||
|
||||
他又愣了。
|
||||
|
||||
"我...我还没想好。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"你没想好,我怎么跟你合作?"
|
||||
|
||||
他沉默了。
|
||||
|
||||
很多人找我合作,都是这样。
|
||||
|
||||
他们只想到自己的需求,没想到对方的利益。
|
||||
|
||||
他们以为,只要项目好,别人就会帮他。
|
||||
|
||||
但其实,项目好不好,不重要。
|
||||
|
||||
重要的是,合作之后,大家能不能都赚到钱。
|
||||
|
||||
我经常在Soul上讲一个案例。
|
||||
|
||||
有个人做游戏金币倒卖,一个月能赚20万。
|
||||
|
||||
他找到我,说:"卡若,你能不能帮我推广?"
|
||||
|
||||
我说:"你打算怎么分?"
|
||||
|
||||
他说:"我给你20%。"
|
||||
|
||||
我说:"不够。"
|
||||
|
||||
他惊了:"20%还不够?"
|
||||
|
||||
我说:"我帮你推广,你的业务量会翻倍。"
|
||||
|
||||
"你现在一个月赚20万,我帮你推广之后,你能赚50万。"
|
||||
|
||||
"但我只拿20%,就是10万。"
|
||||
|
||||
"我为什么要帮你?"
|
||||
|
||||
他想了想,说:"那你要多少?"
|
||||
|
||||
我说:"我要40%。"
|
||||
|
||||
他说:"太多了。"
|
||||
|
||||
我说:"那我们不合作。"
|
||||
|
||||
他又沉默了。
|
||||
|
||||
过了两天,他又找我。
|
||||
|
||||
他说:"卡若,我想通了,40%可以。"
|
||||
|
||||
我说:"现在不行了。"
|
||||
|
||||
他愣了:"为什么?"
|
||||
|
||||
我说:"因为你犹豫了两天,说明你不是真心想合作。"
|
||||
|
||||
"真心想合作的人,当场就会答应。"
|
||||
|
||||
他说:"那现在怎么办?"
|
||||
|
||||
我说:"现在我要50%。"
|
||||
|
||||
他说:"为什么又涨了?"
|
||||
|
||||
我说:"因为你浪费了我两天时间。"
|
||||
|
||||
最后,我们没有合作。
|
||||
|
||||
但这个案例,我经常在Soul上讲。
|
||||
|
||||
为什么?
|
||||
|
||||
因为很多人不懂,合作的本质是什么。
|
||||
|
||||
合作的本质,是分钱。
|
||||
|
||||
你不舍得分钱,就不会有合作。
|
||||
|
||||
你犹豫分钱,说明你不信任对方。
|
||||
|
||||
你不信任对方,对方也不会信任你。
|
||||
|
||||
Soul上有个小姐姐,她讲了一个故事。
|
||||
|
||||
她说,有个客户在Soul上认识她,聊了七八分钟。
|
||||
|
||||
她说她要出去相亲,没时间聊。
|
||||
|
||||
客户说:"那你先加我微信吧。"
|
||||
|
||||
她说:"等会再加。"
|
||||
|
||||
客户说:"我怕断了之后找不到你。"
|
||||
|
||||
她说:"好吧。"
|
||||
|
||||
加了微信,客户直接转了1000块给她。
|
||||
|
||||
她惊了:"大哥你没毛病吧?"
|
||||
|
||||
"我们才聊了几分钟,你就转1000块给我?"
|
||||
|
||||
客户说:"我在外面闯荡这么多年了,看人的眼光还是有的。"
|
||||
|
||||
"我觉得你这个小姑娘信得过。"
|
||||
|
||||
听到这个故事,派对房里炸了。
|
||||
|
||||
所有人都在问:"为什么他这么信任你?"
|
||||
|
||||
小姐姐说:"因为我没有目的性。"
|
||||
|
||||
"我当时在化妆,手机在另一边充电。"
|
||||
|
||||
"我根本没有用心跟他聊。"
|
||||
|
||||
"就是随便聊两句。"
|
||||
|
||||
"但他感觉到我不是来骗他的。"
|
||||
|
||||
我听完,说了一句话:"这就是情绪价值。"
|
||||
|
||||
"你不带目的性,对方就会信任你。"
|
||||
|
||||
"你越想从对方身上得到什么,对方越不会给你。"
|
||||
|
||||
后来,我在Soul上总结了一个公式:
|
||||
|
||||
情绪+价值+利益=合作。
|
||||
|
||||
缺任何一个,都不会有合作。
|
||||
|
||||
只有情绪,没有价值和利益,你们聊得再嗨,也不会有结果。
|
||||
|
||||
只有价值,没有情绪和利益,对方不会信任你。
|
||||
|
||||
只有利益,没有情绪和价值,合作不会长久。
|
||||
|
||||
三个都有,才是真正的合作。
|
||||
|
||||
有人问我:"卡若,怎么才能做到三个都有?"
|
||||
|
||||
我说:"很简单。"
|
||||
|
||||
"第一,先建立情绪。让对方觉得跟你聊天很舒服。"
|
||||
|
||||
"第二,展示价值。让对方知道你能帮他解决什么问题。"
|
||||
|
||||
"第三,讲清楚利益。把分钱的逻辑说明白,大家都能赚到钱。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但大部分人,第一步就做错了。"
|
||||
|
||||
"他们上来就讲项目,讲利益,讲怎么赚钱。"
|
||||
|
||||
"但对方根本不认识你,不信任你。"
|
||||
|
||||
"你讲再多,也没用。"
|
||||
|
||||
昨天晚上,有个小伙伴问我:"卡若,我怎么知道对方是不是真心想合作?"
|
||||
|
||||
我说:"很简单,看他分不分钱。"
|
||||
|
||||
"真心想合作的人,会主动提分钱。"
|
||||
|
||||
"他会说,这个项目我们怎么分?你要多少?"
|
||||
|
||||
"不真心的人,永远在说,这个项目很好,但从不提钱。"
|
||||
|
||||
他说:"那我怎么办?"
|
||||
|
||||
我说:"你主动提。"
|
||||
|
||||
"你说,这个项目如果合作,我们怎么分?"
|
||||
|
||||
"如果他犹豫,说再考虑考虑,那就不要合作了。"
|
||||
|
||||
"真正想合作的人,当场就会给你答案。"
|
||||
|
||||
我在Soul上见过太多人。
|
||||
|
||||
有些人,聊得很嗨,但从不谈钱。
|
||||
|
||||
有些人,一上来就谈钱,但从不建立信任。
|
||||
|
||||
有些人,既建立信任,又谈价值,还谈钱。
|
||||
|
||||
只有最后一种人,才是真正会合作的人。
|
||||
|
||||
前几天,有个老板来找我。
|
||||
|
||||
他说:"卡若,我有287个人的财务团队,你能不能帮我做私域?"
|
||||
|
||||
我说:"可以,你打算怎么合作?"
|
||||
|
||||
他说:"你帮我搭系统,我给你分成。"
|
||||
|
||||
我说:"分多少?"
|
||||
|
||||
他说:"你要多少?"
|
||||
|
||||
我说:"我要30%。"
|
||||
|
||||
他说:"可以。"
|
||||
|
||||
我说:"那我们什么时候开始?"
|
||||
|
||||
他说:"现在。"
|
||||
|
||||
三个月后,他的私域有了5000个精准客户。
|
||||
|
||||
我分了165万。
|
||||
|
||||
这就是合作。
|
||||
|
||||
后来,我在Soul派对房里讲这个案例。
|
||||
|
||||
有人问我:"卡若,你为什么要30%?"
|
||||
|
||||
我说:"因为我知道我的价值。"
|
||||
|
||||
"我帮他搭系统,他的业务能翻倍。"
|
||||
|
||||
"他赚的钱,足够分给我30%。"
|
||||
|
||||
"如果我要得太少,他反而不会重视我。"
|
||||
|
||||
"如果我要得太多,他会犹豫。"
|
||||
|
||||
"30%,刚刚好。"
|
||||
|
||||
派对房里,很安静。
|
||||
|
||||
我继续说:"合作的本质,不是你帮我,也不是我帮你。"
|
||||
|
||||
"而是我们一起赚钱。"
|
||||
|
||||
"你赚到钱了,我才能赚到钱。"
|
||||
|
||||
"我赚到钱了,你才会继续跟我合作。"
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,人和人之间的关系,是怎么建立的。
|
||||
|
||||
情绪,让你们认识。
|
||||
|
||||
价值,让你们信任。
|
||||
|
||||
利益,让你们合作。
|
||||
|
||||
三个都有,才是长久的关系。
|
||||
|
||||
缺任何一个,都只是过客。
|
||||
@@ -1,417 +0,0 @@
|
||||
# 1.5 为什么99%的合作死在沟通差而不是能力差
|
||||
|
||||
"你们不是方向不同,是根本没在一个频道上说话。"
|
||||
|
||||
2024年11月17日,早上七点半。
|
||||
|
||||
Soul派对房里有个小伙伴问我一个问题。
|
||||
|
||||
他说:"卡若,我们团队有个INTJ,能力很强,但所有人都说他要叛变。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"不是他要叛变,是你们根本没在一个频道上说话。"
|
||||
|
||||
他愣了。
|
||||
|
||||
"什么意思?"
|
||||
|
||||
我说:"合作失败,99%不是因为能力差,是因为沟通差。"
|
||||
|
||||
"你们说的话,他听不懂。"
|
||||
|
||||
"他说的话,你们也听不懂。"
|
||||
|
||||
"这怎么合作?"
|
||||
|
||||
2018年,我们公司破产的时候,我复盘了很久。
|
||||
|
||||
我发现,团队里200多个人,能力都不差。
|
||||
|
||||
但为什么还是做垮了?
|
||||
|
||||
因为沟通出了问题。
|
||||
|
||||
我举个例子。
|
||||
|
||||
有一次,我让一个项目负责人去做推广。
|
||||
|
||||
我说:"你去把这个项目推广出去,越快越好。"
|
||||
|
||||
他说:"好的。"
|
||||
|
||||
一个月后,我问他进度。
|
||||
|
||||
他说:"我在做了。"
|
||||
|
||||
我说:"做了什么?"
|
||||
|
||||
他说:"我在研究怎么推广。"
|
||||
|
||||
我当场就炸了。
|
||||
|
||||
"你研究了一个月?我要的是结果,不是研究!"
|
||||
|
||||
他也炸了。
|
||||
|
||||
"你又没说具体怎么做,我怎么知道你要什么?"
|
||||
|
||||
那次之后,我意识到一个问题。
|
||||
|
||||
我们说的话,根本不在一个频道上。
|
||||
|
||||
我说"越快越好",他理解的是"我要先研究清楚再做"。
|
||||
|
||||
我要的是"先干起来,边做边调整"。
|
||||
|
||||
他要的是"先想清楚,再一步到位"。
|
||||
|
||||
这就是沟通差。
|
||||
|
||||
不是他能力不行。
|
||||
|
||||
是我们对"越快越好"的理解,完全不一样。
|
||||
|
||||
后来,我开始研究MBTI。
|
||||
|
||||
我发现,不同性格的人,说话的方式完全不一样。
|
||||
|
||||
ENTJ说话,直接、果断,关注结果。
|
||||
|
||||
他会说:"这个项目,三天内上线,有问题吗?"
|
||||
|
||||
INTP说话,逻辑、细致,关注过程。
|
||||
|
||||
他会说:"这个项目的底层逻辑是什么?我们需要先梳理清楚。"
|
||||
|
||||
如果你是ENTJ,你跟INTP沟通,你会觉得他磨蹭。
|
||||
|
||||
如果你是INTP,你跟ENTJ沟通,你会觉得他粗暴。
|
||||
|
||||
但其实,你们只是说话的方式不一样。
|
||||
|
||||
晚上八点,Soul派对房里有个小伙伴分享了一个案例。
|
||||
|
||||
他说,他们团队有个INTJ,总是有自己的想法。
|
||||
|
||||
团队让他往东,他偏要往西。
|
||||
|
||||
他说他的方案更好。
|
||||
|
||||
但他从来不跟团队沟通。
|
||||
|
||||
他就自己做自己的。
|
||||
|
||||
三个月后,他离职了。
|
||||
|
||||
自己出去创业了。
|
||||
|
||||
带走了一批客户。
|
||||
|
||||
我听完,说了一句话:"这不是叛变,这是沟通失败。"
|
||||
|
||||
"为什么?"
|
||||
|
||||
小伙伴问。
|
||||
|
||||
我说:"因为你们从一开始,就没有把话说清楚。"
|
||||
|
||||
"INTJ是什么性格?独立思考,有自己的想法,不喜欢被管。"
|
||||
|
||||
"但你们给他的是什么?执行任务。"
|
||||
|
||||
"他的目标是做自己想做的事,你们的目标是完成公司的任务。"
|
||||
|
||||
"这两个目标,从一开始就是冲突的。"
|
||||
|
||||
"你们没有在合作之前,把这个冲突讲清楚。"
|
||||
|
||||
"所以他就走了。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"这不是他的问题,也不是你们的问题。"
|
||||
|
||||
"这是沟通的问题。"
|
||||
|
||||
很多人以为,合作失败是因为对方能力不行。
|
||||
|
||||
但其实,大部分合作失败,是因为沟通不到位。
|
||||
|
||||
你以为你说清楚了,其实对方根本没听懂。
|
||||
|
||||
对方以为他听懂了,其实他理解的跟你想的完全不一样。
|
||||
|
||||
这就是沟通差。
|
||||
|
||||
前几天,有个老板来找我。
|
||||
|
||||
他说:"卡若,我们团队天天吵架,怎么办?"
|
||||
|
||||
我说:"你先告诉我,你们吵什么?"
|
||||
|
||||
他说:"他们总是不按我的要求做。"
|
||||
|
||||
我说:"你的要求是什么?"
|
||||
|
||||
他说:"我说了,要把这个项目做好。"
|
||||
|
||||
我说:"什么叫做好?"
|
||||
|
||||
他愣了。
|
||||
|
||||
"做好就是...做好啊。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"你看,你自己都说不清楚什么叫做好,他们怎么知道你要什么?"
|
||||
|
||||
这就是大部分合作失败的原因。
|
||||
|
||||
老板说"做好",员工理解的是"做完"。
|
||||
|
||||
老板要的是"超预期",员工以为"及格就行"。
|
||||
|
||||
老板说"越快越好",员工理解的是"不能出错"。
|
||||
|
||||
这些词,听起来都一样。
|
||||
|
||||
但每个人的理解,完全不一样。
|
||||
|
||||
后来,我在Soul上总结了一个方法:
|
||||
|
||||
沟通的三个层次。
|
||||
|
||||
第一层:说清楚你要什么。
|
||||
|
||||
不是"做好",而是"三天内上线,日活要达到1000"。
|
||||
|
||||
不是"越快越好",而是"今天下午六点之前给我方案"。
|
||||
|
||||
具体,明确,有标准。
|
||||
|
||||
第二层:确认对方听懂了。
|
||||
|
||||
不是"你懂了吗?",而是"你复述一下我刚才说的"。
|
||||
|
||||
让对方用自己的话,把你的要求说一遍。
|
||||
|
||||
你就知道,他是不是真的听懂了。
|
||||
|
||||
第三层:定期确认进度。
|
||||
|
||||
不是"有问题找我",而是"每天下午五点,给我发一个进度汇报"。
|
||||
|
||||
主动确认,不要等对方来找你。
|
||||
|
||||
有人问我:"卡若,这样不是很累吗?"
|
||||
|
||||
我说:"累,但有效。"
|
||||
|
||||
"你前期花时间把话说清楚,后期就不会出问题。"
|
||||
|
||||
"你前期不说清楚,后期就是一堆矛盾。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"合作的本质,就是把话说清楚。"
|
||||
|
||||
"说清楚你要什么,对方能给什么,大家怎么分钱。"
|
||||
|
||||
"这三个问题不说清楚,就不要合作。"
|
||||
|
||||
晚上九点,Soul派对房里有个小姐姐分享了一个故事。
|
||||
|
||||
她说,有个客户在Soul上找她合作。
|
||||
|
||||
聊了半天,客户突然说:"你能不能帮我做这个?"
|
||||
|
||||
她说:"可以,但你要给我多少钱?"
|
||||
|
||||
客户说:"你先做,我们再谈。"
|
||||
|
||||
她说:"不行,我们现在就要谈清楚。"
|
||||
|
||||
客户说:"你这么现实啊?"
|
||||
|
||||
她说:"不是现实,是负责。"
|
||||
|
||||
"我不想做到一半,你说我做得不对。"
|
||||
|
||||
"我也不想做完了,你说我要得太多。"
|
||||
|
||||
"所以我们现在就要说清楚。"
|
||||
|
||||
最后,他们没有合作。
|
||||
|
||||
但小姐姐说,她不后悔。
|
||||
|
||||
"因为如果连钱都说不清楚,后面一定会出问题。"
|
||||
|
||||
我听完,说了一句话:"这就是沟通。"
|
||||
|
||||
"很多人以为,沟通就是聊得开心。"
|
||||
|
||||
"但其实,沟通就是把话说清楚。"
|
||||
|
||||
"说清楚你要什么,我要什么,我们怎么合作。"
|
||||
|
||||
"这才是真正的沟通。"
|
||||
|
||||
派对房里,很安静。
|
||||
|
||||
我继续说:"99%的合作失败,不是因为能力差。"
|
||||
|
||||
"是因为大家根本没在一个频道上说话。"
|
||||
|
||||
"你说A,他理解成B。"
|
||||
|
||||
"他做了C,你要的是D。"
|
||||
|
||||
"这怎么合作?"
|
||||
|
||||
后来,我在Soul上分享了一个案例。
|
||||
|
||||
我说:"我之前有个合作伙伴,能力很强。"
|
||||
|
||||
"但我们合作了三个月,就散了。"
|
||||
|
||||
"为什么?"
|
||||
|
||||
"因为我们对'成功'的定义不一样。"
|
||||
|
||||
"我觉得,三个月做到100万流水,就是成功。"
|
||||
|
||||
"他觉得,三个月做到盈利,才是成功。"
|
||||
|
||||
"我们从来没有讨论过这个问题。"
|
||||
|
||||
"所以三个月后,我说'我们成功了',他说'我们还没成功'。"
|
||||
|
||||
"然后,就散了。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"这不是谁对谁错的问题。"
|
||||
|
||||
"这是沟通的问题。"
|
||||
|
||||
"我们从一开始,就应该把'成功'的定义说清楚。"
|
||||
|
||||
有人问我:"卡若,那怎么才能把话说清楚?"
|
||||
|
||||
我说:"很简单,用数字。"
|
||||
|
||||
"不要说'做好',要说'三天内上线,日活1000'。"
|
||||
|
||||
"不要说'尽快',要说'今天下午六点之前'。"
|
||||
|
||||
"不要说'成功',要说'三个月做到100万流水'。"
|
||||
|
||||
"用数字,用标准,用时间。"
|
||||
|
||||
"这样,大家才知道你要什么。"
|
||||
|
||||
后来,我发现一个更有趣的事情。
|
||||
|
||||
沟通不只是说话。
|
||||
|
||||
还有倾听。
|
||||
|
||||
很多人沟通的时候,只顾着自己说。
|
||||
|
||||
根本不听对方在说什么。
|
||||
|
||||
对方说:"我觉得这个方案有问题。"
|
||||
|
||||
他说:"没问题,按我说的做。"
|
||||
|
||||
对方说:"但是..."
|
||||
|
||||
他说:"没有但是,就这样。"
|
||||
|
||||
这不是沟通。
|
||||
|
||||
这是单向输出。
|
||||
|
||||
真正的沟通,是双向的。
|
||||
|
||||
你说,他听。
|
||||
|
||||
他说,你听。
|
||||
|
||||
你们互相理解,互相确认。
|
||||
|
||||
最后达成共识。
|
||||
|
||||
这才是沟通。
|
||||
|
||||
晚上十点,我在Soul上讲了一个德国兄弟的故事。
|
||||
|
||||
那是2012年,我做魔兽世界外挂的时候。
|
||||
|
||||
有个德国人开发了一个外挂,叫Boss Name。
|
||||
|
||||
我想做他的全国总代。
|
||||
|
||||
但我不会德语。
|
||||
|
||||
我以为他只会德语。
|
||||
|
||||
所以我就用谷歌翻译,把中文翻译成德语,发给他。
|
||||
|
||||
谷歌翻译很垃圾,翻译出来的德语,他根本看不懂。
|
||||
|
||||
我们沟通了一个月,什么都没谈成。
|
||||
|
||||
后来,他跟我说:"I can speak English."
|
||||
|
||||
我当场就笑了。
|
||||
|
||||
原来他会英语。
|
||||
|
||||
我也会英语。
|
||||
|
||||
我们之前一个月的沟通,全是在鸡同鸭讲。
|
||||
|
||||
从那以后,我每次合作,第一件事就是确认:
|
||||
|
||||
我们说的是同一种语言吗?
|
||||
|
||||
不是指英语、中文、德语。
|
||||
|
||||
而是指,我们对同一个词的理解,是不是一样的。
|
||||
|
||||
比如,"做好"。
|
||||
|
||||
你理解的"做好"是什么?
|
||||
|
||||
他理解的"做好"是什么?
|
||||
|
||||
如果不一样,那就先统一定义。
|
||||
|
||||
再开始合作。
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,合作失败,99%不是因为能力差。
|
||||
|
||||
是因为沟通差。
|
||||
|
||||
你们根本没在一个频道上说话。
|
||||
|
||||
你说A,他理解成B。
|
||||
|
||||
他做了C,你要的是D。
|
||||
|
||||
所以,下次合作之前,先把话说清楚。
|
||||
|
||||
说清楚你要什么,对方能给什么,大家怎么分钱。
|
||||
|
||||
用数字,用标准,用时间。
|
||||
|
||||
然后,让对方复述一遍。
|
||||
|
||||
确认他真的听懂了。
|
||||
|
||||
这样,合作才不会死在沟通上。
|
||||
@@ -1,381 +0,0 @@
|
||||
# 2.1 相亲故事:你以为找的是人,实际是在找模式
|
||||
|
||||
"真正赚钱的不是撮合成功,是让他们一直相亲。"
|
||||
|
||||
2024年11月18日,晚上八点。
|
||||
|
||||
Soul派对房里来了一个做相亲的小姐姐。
|
||||
|
||||
她说她做一对一相亲市场,维护了两个微信群,几百个客户。
|
||||
|
||||
但转化很差。
|
||||
|
||||
她问我:"卡若,我该怎么做流量?"
|
||||
|
||||
我说:"你先告诉我,你的商业模式是什么?"
|
||||
|
||||
她愣了。
|
||||
|
||||
"什么叫商业模式?"
|
||||
|
||||
我说:"你是靠撮合成功赚钱,还是靠持续服务赚钱?"
|
||||
|
||||
她说:"撮合成功收几K。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"那你死定了。"
|
||||
|
||||
相亲这个生意,我在Soul上见过太多人做。
|
||||
|
||||
有人做线下派对,收茶水费。
|
||||
|
||||
有人做会员活动,收会员费。
|
||||
|
||||
有人做高端相亲,一单收几万。
|
||||
|
||||
但99%的人,都死在一个问题上:撮合成功了,就没钱赚了。
|
||||
|
||||
这不是商业模式。
|
||||
|
||||
这是一锤子买卖。
|
||||
|
||||
我在Soul上认识一个做婚介的朋友,他跟我讲过一个故事。
|
||||
|
||||
他说:"我之前做一对一相亲,成功率很高。"
|
||||
|
||||
"十对里面,能成三对。"
|
||||
|
||||
"但我亏钱。"
|
||||
|
||||
我问:"为什么?"
|
||||
|
||||
他说:"因为成功之后,他们就不来了。"
|
||||
|
||||
"我只能赚那一次几千块的服务费。"
|
||||
|
||||
"但我为了撮合他们,花了大量的时间和精力。"
|
||||
|
||||
"成本算下来,根本不赚钱。"
|
||||
|
||||
我问:"那后来呢?"
|
||||
|
||||
他说:"后来我改了模式。"
|
||||
|
||||
"我不再追求撮合成功。"
|
||||
|
||||
"我追求让他们一直相亲。"
|
||||
|
||||
"什么意思?"
|
||||
|
||||
我问。
|
||||
|
||||
他说:"你看,一个人来相亲,是因为他想找对象。"
|
||||
|
||||
"但他真的想找对象吗?"
|
||||
|
||||
"不一定。"
|
||||
|
||||
"有些人只是想找个人聊聊天,找个人陪着吃个饭。"
|
||||
|
||||
"有些人只是想找个人填补空虚。"
|
||||
|
||||
"有些人只是想找个人证明自己还有市场。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"所以我的模式变了。"
|
||||
|
||||
"我不再给他们介绍'最合适'的人。"
|
||||
|
||||
"我给他们介绍'感觉还行'的人。"
|
||||
|
||||
我皱了眉头。
|
||||
|
||||
"这不是骗人吗?"
|
||||
|
||||
他说:"不是骗人,是满足需求。"
|
||||
|
||||
"如果我给他们介绍最合适的人,他们见一次就成了。"
|
||||
|
||||
"我就赚一次钱。"
|
||||
|
||||
"但如果我给他们介绍'感觉还行'的人,他们就会一直相亲。"
|
||||
|
||||
"每次相亲,我都收费。"
|
||||
|
||||
"一个客户,我能赚十次、二十次的钱。"
|
||||
|
||||
听到这里,派对房里炸了。
|
||||
|
||||
所有人都在打字:"这不是骗人吗?"
|
||||
|
||||
他说:"不是骗人,是商业模式。"
|
||||
|
||||
"你们以为相亲是什么?是找真爱吗?"
|
||||
|
||||
"不是。"
|
||||
|
||||
"相亲是一种服务,是一种体验。"
|
||||
|
||||
"客户需要的不是结婚,是过程。"
|
||||
|
||||
他停了一下。
|
||||
|
||||
"如果你把相亲当成'撮合成功',你就死定了。"
|
||||
|
||||
"因为撮合成功了,客户就不需要你了。"
|
||||
|
||||
"但如果你把相亲当成'持续体验',你就赚钱了。"
|
||||
|
||||
"因为客户会一直需要你。"
|
||||
|
||||
那天晚上,我们在Soul上聊了两个小时相亲市场。
|
||||
|
||||
我发现,所有做相亲的人,都分成两类。
|
||||
|
||||
第一类:追求撮合成功。
|
||||
|
||||
他们觉得,相亲的目的就是让两个人在一起。
|
||||
|
||||
所以他们拼命给客户介绍最合适的人。
|
||||
|
||||
成功率很高,但赚不到钱。
|
||||
|
||||
因为成功之后,客户就不来了。
|
||||
|
||||
第二类:追求持续服务。
|
||||
|
||||
他们觉得,相亲的目的是提供一种社交体验。
|
||||
|
||||
所以他们给客户介绍"感觉还行"的人,让客户一直相亲。
|
||||
|
||||
成功率不高,但一直赚钱。
|
||||
|
||||
因为客户会一直来。
|
||||
|
||||
后来,我在Soul上见到了八戒。
|
||||
|
||||
他做相亲+交友的模式。
|
||||
|
||||
早期,他也在抖音拍IP,做一对一相亲。
|
||||
|
||||
效果很差。
|
||||
|
||||
后来他改了模式。
|
||||
|
||||
他不再做一对一相亲。
|
||||
|
||||
他做线下读书会,做高端交友。
|
||||
|
||||
目标人群锁定得非常清楚:年收入50万以上,有车有房,想扩展社交圈。
|
||||
|
||||
他不追求撮合成功。
|
||||
|
||||
他追求"让这些人一直来参加活动"。
|
||||
|
||||
每次活动收300块茶水费。
|
||||
|
||||
一个月办10场,一场30人,就是9万。
|
||||
|
||||
一年下来,100多万。
|
||||
|
||||
还有一个叶姐,她走的是高端相亲路线。
|
||||
|
||||
她老公是上市公司老板,资源很强。
|
||||
|
||||
她的客户,都是年收入百万以上的企业主、高管。
|
||||
|
||||
她不收撮合费。
|
||||
|
||||
她收会员费,一年5万。
|
||||
|
||||
会员可以参加她的所有活动:读书会、沙龙、旅游、高端饭局。
|
||||
|
||||
她每年维护200个会员,就是1000万。
|
||||
|
||||
她的商业模式,不是撮合成功。
|
||||
|
||||
而是"提供一个高端社交圈"。
|
||||
|
||||
客户来不是为了找对象。
|
||||
|
||||
是为了认识更多同层次的人。
|
||||
|
||||
第二天下午,那个做相亲的小姐姐约我线下见面。
|
||||
|
||||
我们在湖滨南路一家咖啡馆聊了两个小时。
|
||||
|
||||
她问我:"卡若,那我该怎么改?"
|
||||
|
||||
我说:"你先想清楚一个问题。"
|
||||
|
||||
"你的客户,真的是来找对象的吗?"
|
||||
|
||||
她说:"是啊。"
|
||||
|
||||
我说:"不一定。"
|
||||
|
||||
"有些人是来找对象的,有些人是来找陪伴的,有些人是来找社交的。"
|
||||
|
||||
"你要分清楚,他们到底想要什么。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"如果你把所有客户都当成'想找对象'的,你就会拼命撮合他们。"
|
||||
|
||||
"撮合成功了,你就没钱赚了。"
|
||||
|
||||
"但如果你把客户分成'想找对象'和'想社交'两类,你就知道怎么做了。"
|
||||
|
||||
"怎么做?"
|
||||
|
||||
她问。
|
||||
|
||||
我说:"很简单。"
|
||||
|
||||
"对于'想找对象'的客户,你就做高端定制,一单收1万。"
|
||||
|
||||
"对于'想社交'的客户,你就做会员制,一年收5000,可以参加所有活动。"
|
||||
|
||||
"这样,你的客户就分层了。"
|
||||
|
||||
"想找对象的,你赚一次大钱。"
|
||||
|
||||
"想社交的,你赚长期的钱。"
|
||||
|
||||
她沉默了。
|
||||
|
||||
过了几秒,她说:"我明白了。"
|
||||
|
||||
"我之前一直以为,相亲就是撮合成功。"
|
||||
|
||||
"但其实,相亲只是一个入口。"
|
||||
|
||||
"真正赚钱的,是后面的服务。"
|
||||
|
||||
我说:"对。"
|
||||
|
||||
"相亲只是个入口。"
|
||||
|
||||
"真正的生意,是持续的关系。"
|
||||
|
||||
后来,我在Soul上总结了一个公式:
|
||||
|
||||
相亲市场的商业模式=入口x留存x复购。
|
||||
|
||||
入口:用"相亲"这个需求,吸引客户进来。
|
||||
|
||||
留存:用"社交圈"这个价值,让客户留下来。
|
||||
|
||||
复购:用"持续活动"这个体验,让客户一直付费。
|
||||
|
||||
如果你只做入口,不做留存和复购,你就是一锤子买卖。
|
||||
|
||||
如果你把三个都做好,你就是持续赚钱。
|
||||
|
||||
派对房里,有人问我:"卡若,那王婆说媒为什么这么火?"
|
||||
|
||||
我说:"因为她做的不是相亲,是内容。"
|
||||
|
||||
"她的商业模式,不是撮合成功赚钱。"
|
||||
|
||||
"而是用'王婆说媒'这个IP,吸引流量,然后变现。"
|
||||
|
||||
"她的客户,不是来找对象的。"
|
||||
|
||||
"是来看热闹的。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"但她的账号转化率很差。"
|
||||
|
||||
"我朋友负责过她的公众号两个月,转化非常差。"
|
||||
|
||||
"因为她的流量是泛流量,不是精准流量。"
|
||||
|
||||
"所以她虽然火,但不一定赚钱。"
|
||||
|
||||
有人又问:"那精准流量怎么来?"
|
||||
|
||||
我说:"不是靠打粉。"
|
||||
|
||||
"是靠定位。"
|
||||
|
||||
"你要让你的客户知道,你是干什么的,你能提供什么价值。"
|
||||
|
||||
"比如,你是做高端相亲的,你的客户就是年收入50万以上的人。"
|
||||
|
||||
"你在抖音上发的内容,就要针对这个人群。"
|
||||
|
||||
"不要发那些大众化的内容。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"精准流量的成本,比泛流量高。"
|
||||
|
||||
"但转化率,比泛流量高十倍。"
|
||||
|
||||
"一个精准粉丝,价值1000块。"
|
||||
|
||||
"一个泛粉丝,价值10块。"
|
||||
|
||||
后来,我发现一个很有意思的现象。
|
||||
|
||||
所有做相亲的人,都在说"我要帮客户找到真爱"。
|
||||
|
||||
但真正赚钱的,都不是靠"找到真爱"。
|
||||
|
||||
而是靠"持续提供社交体验"。
|
||||
|
||||
因为"找到真爱"是低频的。
|
||||
|
||||
一个人一辈子,只会找一次真爱。
|
||||
|
||||
但"社交体验"是高频的。
|
||||
|
||||
一个人一辈子,会参加无数次社交活动。
|
||||
|
||||
低频的生意,赚一次钱。
|
||||
|
||||
高频的生意,赚一辈子的钱。
|
||||
|
||||
一周后,那个小姐姐又找我。
|
||||
|
||||
她说:"卡若,我想明白了。"
|
||||
|
||||
"我不做一对一相亲了。"
|
||||
|
||||
"我做交友+相亲的模式。"
|
||||
|
||||
"每个月办两场线下活动,一场收300块茶水费。"
|
||||
|
||||
"同时,我也做会员制,一年5000块,可以参加所有活动。"
|
||||
|
||||
"这样,我既有短期收入,又有长期收入。"
|
||||
|
||||
我说:"对,这就是商业模式。"
|
||||
|
||||
"你不是在找对象,你是在建立一个社交圈。"
|
||||
|
||||
"对象只是附加值,社交圈才是核心价值。"
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,很多生意,表面上看是一回事,实际上是另一回事。
|
||||
|
||||
相亲,表面上是找对象。
|
||||
|
||||
实际上,是提供社交体验。
|
||||
|
||||
你以为客户要的是结果。
|
||||
|
||||
其实客户要的是过程。
|
||||
|
||||
你以为你在卖"撮合成功"。
|
||||
|
||||
实际上你在卖"持续陪伴"。
|
||||
|
||||
搞清楚这个,你就知道怎么赚钱了。
|
||||
|
||||
真正赚钱的不是撮合成功,是让他们一直相亲。
|
||||
@@ -1,363 +0,0 @@
|
||||
# 2.2 找工作迷茫者:为什么简历解决不了人生
|
||||
|
||||
"你连自己擅长什么都不知道,简历有什么用?"
|
||||
|
||||
2024年11月19日,早上七点。
|
||||
|
||||
Soul派对房里有个小伙伴问我这个问题。
|
||||
|
||||
他说他上一份工作是做剪辑,老板嫌他剪得不好,把他开了。
|
||||
|
||||
现在很迷茫。
|
||||
|
||||
不知道该做什么。
|
||||
|
||||
我说:"你先回答我一个问题,你最赚钱的一个月,做的是什么?"
|
||||
|
||||
他愣了。
|
||||
|
||||
"我...我没有赚过钱,我一直在打工。"
|
||||
|
||||
我说:"那你最有成就感的一件事,是什么?"
|
||||
|
||||
他沉默了。
|
||||
|
||||
过了几秒,他说:"我不知道。"
|
||||
|
||||
我说:"你连自己擅长什么都不知道,简历有什么用?"
|
||||
|
||||
他又愣了。
|
||||
|
||||
"那我该怎么办?"
|
||||
|
||||
这种人,我在Soul上见过太多。
|
||||
|
||||
每天都有人在派对房里问:"卡若,我该找什么工作?"
|
||||
|
||||
他们以为,找工作就是投简历,面试,然后拿offer。
|
||||
|
||||
但其实,找工作是人生规划的一部分。
|
||||
|
||||
你连自己想要什么都不知道,怎么找工作?
|
||||
|
||||
前几天,有个小伙伴在Soul上分享。
|
||||
|
||||
他说他想做"全媒体运营师"。
|
||||
|
||||
包括电商、直播、自媒体、短视频剪辑,都想做。
|
||||
|
||||
我听完,说了一句话:"等你全部学完,黄花菜都凉了。"
|
||||
|
||||
他说:"那我该怎么办?"
|
||||
|
||||
我说:"你一定要找准你自己的定位。"
|
||||
|
||||
"你擅长什么就做什么,你不擅长的就不要碰。"
|
||||
|
||||
"你不擅长播,你就不要播。"
|
||||
|
||||
"就这么简单。"
|
||||
|
||||
派对房里,有人问:"那我怎么知道自己擅长什么?"
|
||||
|
||||
我说:"你做过什么事情,让你觉得很有成就感?"
|
||||
|
||||
"这就是你的能力。"
|
||||
|
||||
很多人以为,能力就是学历,就是证书,就是技能。
|
||||
|
||||
但其实,能力是你能创造价值的东西。
|
||||
|
||||
你会剪辑,这不是能力。
|
||||
|
||||
你能通过剪辑,帮别人的视频播放量提升10倍,这才是能力。
|
||||
|
||||
你会写文案,这不是能力。
|
||||
|
||||
你能通过文案,帮别人的转化率提升20%,这才是能力。
|
||||
|
||||
昨天晚上,有个小伙伴说,他很迷茫。
|
||||
|
||||
他说:"我一没有手艺,二没有人脉,什么都没有,就剩10万到15万的钱了。"
|
||||
|
||||
"但我想干点生意,干点什么?"
|
||||
|
||||
我说:"你之前做什么的?"
|
||||
|
||||
他说:"我之前在北京,给老板开车。"
|
||||
|
||||
"接待过很多领导,除了副国以下基本都见过。"
|
||||
|
||||
我说:"那你有资源啊。"
|
||||
|
||||
"你有开车的能力,你有接待的能力,你还认识这么多人。"
|
||||
|
||||
"这不叫没有能力。"
|
||||
|
||||
他说:"但这些能力,我不知道怎么用。"
|
||||
|
||||
这就是大部分人的问题。
|
||||
|
||||
不是没有能力。
|
||||
|
||||
是不知道自己的能力能用在哪里。
|
||||
|
||||
我说:"你可以做三件事。"
|
||||
|
||||
"第一,回溯你之前做过的最有成就感的事情。"
|
||||
|
||||
"那个时刻,你为什么有成就感?那就是你的爽点,也是你的能力。"
|
||||
|
||||
"第二,问AI。"
|
||||
|
||||
"你把你会的东西,你做过的事情,都告诉AI。"
|
||||
|
||||
"让AI给你五个方向,你挑一个。"
|
||||
|
||||
"第三,先做起来。"
|
||||
|
||||
"不要光想不做,先走出第一步。"
|
||||
|
||||
派对房里,有人说:"我想做主播,但我不知道怎么开始。"
|
||||
|
||||
我说:"你播过吗?"
|
||||
|
||||
他说:"播过,讲故事,在线能到2000人。"
|
||||
|
||||
我说:"那你还迷茫什么?"
|
||||
|
||||
他说:"但那个公司倒了,我现在不知道该去哪。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"你知道为什么那个公司倒了吗?"
|
||||
|
||||
"因为风向不对了。"
|
||||
|
||||
"去年4月,抖音给读书类、历史类主播很多流量。"
|
||||
|
||||
"但后来,大家都去卖货,把风向带偏了。"
|
||||
|
||||
"现在,这个赛道已经不好做了。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"你现在要做的,不是找一个新公司。"
|
||||
|
||||
"而是找一个新赛道。"
|
||||
|
||||
很多人找工作,只看公司,不看赛道。
|
||||
|
||||
他们以为,进了一个好公司,就有好未来。
|
||||
|
||||
但其实,赛道比公司重要。
|
||||
|
||||
你在一个上行的赛道里,随便做做都能赚钱。
|
||||
|
||||
你在一个下行的赛道里,再努力也没用。
|
||||
|
||||
前几天,Soul上有个小伙伴说,他在做物流。
|
||||
|
||||
每天晚上10点到12点才睡觉,早上10点才起来。
|
||||
|
||||
基本天天待在自己的一亩三分地,也没时间出去。
|
||||
|
||||
他说:"我想换工作,但不知道该换什么。"
|
||||
|
||||
我说:"你为什么要换?"
|
||||
|
||||
他说:"因为我觉得这份工作没前途。"
|
||||
|
||||
我说:"那你觉得什么工作有前途?"
|
||||
|
||||
他说:"我不知道。"
|
||||
|
||||
我说:"那你还换什么?"
|
||||
|
||||
这就是大部分人的问题。
|
||||
|
||||
他们不知道自己想要什么。
|
||||
|
||||
但他们知道自己不要什么。
|
||||
|
||||
所以他们一直在换工作。
|
||||
|
||||
从A公司换到B公司。
|
||||
|
||||
从B公司换到C公司。
|
||||
|
||||
但每一份工作,都做不长。
|
||||
|
||||
因为他们不知道自己想要什么。
|
||||
|
||||
我在Soul上经常讲一个故事。
|
||||
|
||||
2018年,我破产之后,全国各地找工作。
|
||||
|
||||
边旅游,边面试,边投简历。
|
||||
|
||||
每个城市,我都去面试。
|
||||
|
||||
但我不是真的想找工作。
|
||||
|
||||
我是想认识老板。
|
||||
|
||||
每次面试完,我都会跟老板说:"我如果做成这个项目,你就给我正常的钱加分润。"
|
||||
|
||||
"如果做不成,我一块钱就走。"
|
||||
|
||||
大部分老板,都会同意。
|
||||
|
||||
因为他们觉得,这个人很靠谱。
|
||||
|
||||
干两个月,只要一块钱。
|
||||
|
||||
做不成,他只损失一块钱。
|
||||
|
||||
做成了,他赚大了。
|
||||
|
||||
后来,我认识了很多老板。
|
||||
|
||||
他们成了我的资源。
|
||||
|
||||
2019年,我重新创业的时候,这些老板给了我很大的支持。
|
||||
|
||||
一下子,我就签了很多单子。
|
||||
|
||||
但如果我当时只是找工作,投简历,面试,拿offer。
|
||||
|
||||
我不会有这些资源。
|
||||
|
||||
我也不会有今天。
|
||||
|
||||
晚上八点,Soul派对房里有人问:"卡若,我刚毕业,该找什么工作?"
|
||||
|
||||
我说:"你先回答我三个问题。"
|
||||
|
||||
"第一,你最擅长什么?"
|
||||
|
||||
"第二,你最想做什么?"
|
||||
|
||||
"第三,你能给别人创造什么价值?"
|
||||
|
||||
"如果这三个问题你都回答不出来,那你先不要找工作。"
|
||||
|
||||
"你先去做一些事情,找到这三个问题的答案。"
|
||||
|
||||
很多人以为,找工作就是为了赚钱。
|
||||
|
||||
但其实,找工作是为了找到自己的位置。
|
||||
|
||||
你在这个社会上,能做什么。
|
||||
|
||||
你能给别人创造什么价值。
|
||||
|
||||
这才是找工作的意义。
|
||||
|
||||
Soul上有个小伙伴,他做了18年游戏。
|
||||
|
||||
他说,现在开发行业下行很厉害。
|
||||
|
||||
他们后台有8000份简历,都是开发的。
|
||||
|
||||
但他们筛选程序员,极其严格。
|
||||
|
||||
我问他:"为什么?"
|
||||
|
||||
他说:"因为大部分程序员,只会写代码,不会创造价值。"
|
||||
|
||||
"他们以为,学了一门技术,就能找到工作。"
|
||||
|
||||
"但其实,技术只是工具,不是能力。"
|
||||
|
||||
"能力是你用技术创造价值的能力。"
|
||||
|
||||
后来,我在Soul上总结了一个公式:
|
||||
|
||||
找工作=能力x赛道x资源。
|
||||
|
||||
能力,是你能创造价值的东西。
|
||||
|
||||
赛道,是你选择的行业和方向。
|
||||
|
||||
资源,是你能调动的人和钱。
|
||||
|
||||
三个都有,才能找到好工作。
|
||||
|
||||
缺任何一个,都只是打工。
|
||||
|
||||
派对房里,有人问:"卡若,那我该怎么提升能力?"
|
||||
|
||||
我说:"不要学技能,要学创造价值。"
|
||||
|
||||
"你去找几家公司,免费帮他们干活。"
|
||||
|
||||
"剪一个视频,看他们觉得怎么样。"
|
||||
|
||||
"写一个文案,看转化率能不能提升。"
|
||||
|
||||
"这样,你就知道自己的能力在哪了。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"简历解决不了人生。"
|
||||
|
||||
"能力才能。"
|
||||
|
||||
晚上九点,Soul上有个小姐姐,她开了个派对房。
|
||||
|
||||
她做"厦门找工作"。
|
||||
|
||||
我一看,直接私聊她,邀约她来公司面试。
|
||||
|
||||
第二天早上9点半,她就来了。
|
||||
|
||||
我们聊了不到10分钟,我就决定录用她。
|
||||
|
||||
为什么?
|
||||
|
||||
因为她敢在Soul上开派对房找工作。
|
||||
|
||||
这说明她有执行力,有想法,有行动力。
|
||||
|
||||
这比简历重要得多。
|
||||
|
||||
后来,我跟她说:"你知道吗?Soul上有多少人没工作?"
|
||||
|
||||
"你能在Soul上开派对房找工作,你就能帮他们找工作。"
|
||||
|
||||
"这就是一个生意。"
|
||||
|
||||
她愣了。
|
||||
|
||||
"什么意思?"
|
||||
|
||||
我说:"你帮别人介绍工作,到岗一个,我给你500块。"
|
||||
|
||||
"这就是人力资源的生意。"
|
||||
|
||||
"优秀的人找不到匹配的工作,优秀的企业找不到匹配的人。"
|
||||
|
||||
"你把他们连接起来,就能赚钱。"
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,找工作不是找一份薪水。
|
||||
|
||||
是找一个位置。
|
||||
|
||||
找到你能创造价值的位置。
|
||||
|
||||
简历解决不了人生。
|
||||
|
||||
能力才能。
|
||||
|
||||
你连自己擅长什么都不知道,简历写得再漂亮,也没用。
|
||||
|
||||
先找到自己的能力。
|
||||
|
||||
再找到能发挥能力的赛道。
|
||||
|
||||
最后,用资源放大你的能力。
|
||||
|
||||
这才是找工作的正确方式。
|
||||
@@ -1,461 +0,0 @@
|
||||
# 2.3 撸运费险:小钱困住大脑的真实心理
|
||||
|
||||
"你不是在赚钱,你是在消耗自己。"
|
||||
|
||||
2024年11月20日,早上六点四十。
|
||||
|
||||
派对房里上来一个女生。
|
||||
|
||||
声音很年轻,有点急促。
|
||||
|
||||
"卡若,我最近在撸运费险,一个月能赚几百块。"
|
||||
|
||||
我问:"你一天花多少时间?"
|
||||
|
||||
她说:"三到四个小时,有时候会更久,因为流程卡住了。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"你知道你现在的小时价值是多少吗?"
|
||||
|
||||
她沉默了。
|
||||
|
||||
每天早上六点到九点,我在Soul派对房开播。
|
||||
|
||||
三个小时里,总会遇到几个"正在赚小钱"的人。
|
||||
|
||||
有的在撸运费险。
|
||||
|
||||
有的在刷单。
|
||||
|
||||
有的在做问卷调查。
|
||||
|
||||
有的在薅平台羊毛。
|
||||
|
||||
他们的共性只有一个:
|
||||
|
||||
短期确定性强,但长期成长性为零。
|
||||
|
||||
你越做,越依赖它。
|
||||
|
||||
越依赖,越失去学习新技能的时间和耐心。
|
||||
|
||||
这就是"小钱陷阱"。
|
||||
|
||||
我让她算了一个账。
|
||||
|
||||
"三小时赚30块,你的小时价值10块。"
|
||||
|
||||
"如果你把这三小时拿来练一个可交易的技能,比如基础剪辑、手机摄影、短文案,两周后接第一单,一单100到300。"
|
||||
|
||||
"同样三小时,你的小时价值就从10块,变成50到100。"
|
||||
|
||||
她问:"但我现在就能赚到钱,为什么要等两周?"
|
||||
|
||||
我说:"因为你要从'确定的小钱'跳到'可成长的钱'。"
|
||||
|
||||
"确定的小钱让你焦虑缓解,但不会改变你的人生结构。"
|
||||
|
||||
"可成长的钱前期慢,但一旦掌握,会越做越快,越做越值钱。"
|
||||
|
||||
派对房里,有人打字:"我也是这样,每天刷单,刷到凌晨两点。"
|
||||
|
||||
我说:"你不是在赚钱,你是在消耗自己。"
|
||||
|
||||
第二天早上七点十分,她在派对房里给我发消息。
|
||||
|
||||
"卡若,能不能线下聊一下?"
|
||||
|
||||
我说可以。
|
||||
|
||||
我们约在思明区一家咖啡馆。
|
||||
|
||||
她穿着白T,背一个小包,脸上有点憔悴。
|
||||
|
||||
她说:"我昨天又撸运费险到两点,今天四点才睡。"
|
||||
|
||||
我看着她。
|
||||
|
||||
"你不是在赚钱,你是在消耗自己。"
|
||||
|
||||
她低下头。
|
||||
|
||||
"我知道,但我停不下来。"
|
||||
|
||||
我问:"为什么停不下来?"
|
||||
|
||||
她说:"因为我怕。"
|
||||
|
||||
"我怕没有收入。"
|
||||
|
||||
"我怕一停下来,就没钱了。"
|
||||
|
||||
我点点头。
|
||||
|
||||
"这就是小钱陷阱的本质。"
|
||||
|
||||
"它给你的不是钱,是安全感。"
|
||||
|
||||
"你依赖的不是收入,是'我今天还能赚到钱'的感觉。"
|
||||
|
||||
线下聊的时候,我只做三件事。
|
||||
|
||||
第一,把她现在的时间结构画出来。
|
||||
|
||||
早上起床到睡觉,哪些时间可控,哪些不可控。
|
||||
|
||||
我让她把一天的时间写出来:
|
||||
|
||||
早上9点起床。
|
||||
|
||||
10点-12点:撸运费险。
|
||||
|
||||
12点-1点:吃饭。
|
||||
|
||||
1点-3点:撸运费险。
|
||||
|
||||
3点-5点:刷手机。
|
||||
|
||||
5点-7点:吃饭,休息。
|
||||
|
||||
7点-10点:撸运费险。
|
||||
|
||||
10点-2点:撸运费险+刷手机。
|
||||
|
||||
2点睡觉。
|
||||
|
||||
我看完,说了一句话:"你一天有8个小时在撸运费险,但你赚了多少?"
|
||||
|
||||
她说:"30到50块。"
|
||||
|
||||
我说:"你的小时价值是4到6块。"
|
||||
|
||||
"比你楼下超市收银员的时薪还低。"
|
||||
|
||||
她沉默了。
|
||||
|
||||
第二,把她能上手的技能列出来。
|
||||
|
||||
剪辑、字幕、封面、写文案、做账号起号,选一个最容易起飞的。
|
||||
|
||||
她说她之前学过一点剪辑,但没坚持。
|
||||
|
||||
我说:"那我们就从剪辑开始。"
|
||||
|
||||
"不是学剪辑,是学'能卖的剪辑'。"
|
||||
|
||||
"你做的东西,要有人愿意付钱。"
|
||||
|
||||
第三,把两周的目标量化。
|
||||
|
||||
"两周后,你必须接到第一单,哪怕是100块,必须成交。"
|
||||
|
||||
"这个目标不是为了赚钱,是为了证明你能靠技能赚钱。"
|
||||
|
||||
她点头。
|
||||
|
||||
她选了"短视频字幕+封面"。
|
||||
|
||||
理由很简单:
|
||||
|
||||
门槛低。
|
||||
|
||||
交付快。
|
||||
|
||||
客户群体广。
|
||||
|
||||
我给了她一个最小执行版本的路径。
|
||||
|
||||
第一天:
|
||||
|
||||
装工具(剪映、PS或Canva)。
|
||||
|
||||
把热键记熟。
|
||||
|
||||
照着教程做三个练习文件。
|
||||
|
||||
第二天:
|
||||
|
||||
找素材(从抖音热门视频里找)。
|
||||
|
||||
做10个练习作品。
|
||||
|
||||
发到朋友圈和派对房,要反馈。
|
||||
|
||||
第三天:
|
||||
|
||||
在派对房上麦。
|
||||
|
||||
公开说:"我能做字幕和封面,100块一条,今天接三单。"
|
||||
|
||||
她听完,问我:"真的有人会找我吗?"
|
||||
|
||||
我说:"你不试,怎么知道?"
|
||||
|
||||
第三天晚上,派对房里她上麦说:"卡若,我接到两单了,一单100,一单150。"
|
||||
|
||||
我问:"感觉如何?"
|
||||
|
||||
她说:"很累,但开心。"
|
||||
|
||||
我说:"你现在的小时价值,已经不是10块了。"
|
||||
|
||||
"两单250块,你花了多少时间?"
|
||||
|
||||
她说:"大概四个小时。"
|
||||
|
||||
我说:"你的小时价值是62块。"
|
||||
|
||||
"比撸运费险高了10倍。"
|
||||
|
||||
派对房里,有人打字:"太厉害了。"
|
||||
|
||||
她笑了。
|
||||
|
||||
我说:"这不是厉害,这是结构变化。"
|
||||
|
||||
"你从'薅平台羊毛'变成了'做服务'。"
|
||||
|
||||
"平台羊毛是有限的,服务是无限的。"
|
||||
|
||||
一周后,我们又线下见面。
|
||||
|
||||
她把手机递给我看,飞书里有个小表格:
|
||||
|
||||
客户列表。
|
||||
|
||||
交付时间。
|
||||
|
||||
回款金额。
|
||||
|
||||
复购记录。
|
||||
|
||||
我看见有三个客户复购了。
|
||||
|
||||
"为什么复购?"
|
||||
|
||||
"他们说我回复快,交付准时,还会主动给优化建议。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"这就是从'薅平台羊毛'到'做服务'的分界线。"
|
||||
|
||||
"薅羊毛是一次性的,服务是可复购的。"
|
||||
|
||||
"你做得好,客户会一直找你。"
|
||||
|
||||
她说:"我现在不想撸运费险了。"
|
||||
|
||||
我说:"为什么?"
|
||||
|
||||
她说:"因为我知道我能靠技能赚钱。"
|
||||
|
||||
"运费险给我的是安全感,但技能给我的是成长。"
|
||||
|
||||
在派对房里,我经常讲小钱为什么会困住大脑。
|
||||
|
||||
小钱困住大脑,有三个原因。
|
||||
|
||||
第一,即时奖励。
|
||||
|
||||
今天动手,今天到账。
|
||||
|
||||
多巴胺一来,你的大脑就会把它标记为"有效路径"。
|
||||
|
||||
你会上瘾。
|
||||
|
||||
第二,确定性错觉。
|
||||
|
||||
看起来很稳定,但实际上高度依赖平台规则和漏洞,不可控。
|
||||
|
||||
平台一改规则,你的收入就归零。
|
||||
|
||||
第三,机会成本隐形化。
|
||||
|
||||
你以为只花了三小时。
|
||||
|
||||
但真实成本是:你没有成长的三小时。
|
||||
|
||||
这三小时,你本来可以学一个技能,接一个单子,认识一个客户。
|
||||
|
||||
但你没有。
|
||||
|
||||
你把时间花在了"确定的小钱"上。
|
||||
|
||||
我在派对房里给了她一个"反小钱SOP"。
|
||||
|
||||
1. 每天固定一小时学习可交易技能。
|
||||
|
||||
不是随便学,是学"能卖的东西"。
|
||||
|
||||
剪辑、字幕、封面、文案,选一个。
|
||||
|
||||
2. 每天固定半小时做输出与求反馈。
|
||||
|
||||
把作品发出去。
|
||||
|
||||
问别人:这个值多少钱?哪里可以改?
|
||||
|
||||
3. 每天固定半小时找单与跟进。
|
||||
|
||||
在派对房、朋友圈、社群里找客户。
|
||||
|
||||
主动说:我能做什么,多少钱一单。
|
||||
|
||||
4. 把"薅羊毛类任务"限定在每天30分钟内,当作过渡现金流。
|
||||
|
||||
不是完全停,是限时。
|
||||
|
||||
30分钟到了,立刻停。
|
||||
|
||||
5. 两周一个里程碑:有成交、有复盘、有升级。
|
||||
|
||||
两周后,你必须接到第一单。
|
||||
|
||||
两周后,你必须复盘一次。
|
||||
|
||||
两周后,你必须升级一次(涨价、换品类、找新客户)。
|
||||
|
||||
一个月后,她上麦。
|
||||
|
||||
"卡若,我现在不撸运费险了。"
|
||||
|
||||
"我在做字幕+封面的套餐,月入三千多。"
|
||||
|
||||
"我准备把套餐升到'基础剪辑+封面+字幕',目标五千。"
|
||||
|
||||
我说:"很好,你从'确定的小钱'跨到了'可成长的钱'。"
|
||||
|
||||
派对房里安静了几秒。
|
||||
|
||||
我补了一句。
|
||||
|
||||
"别怕慢,怕的是一直停在原地。"
|
||||
|
||||
第二个月,派对房里另一个女生上麦。
|
||||
|
||||
她说:"卡若,我也在撸运费险,但我不敢停,因为停了就没钱了。"
|
||||
|
||||
我没有劝停。
|
||||
|
||||
我让她先把"保底现金流"与"成长现金流"分开。
|
||||
|
||||
"你每天留30分钟做运费险,这是保底现金流。"
|
||||
|
||||
"你每天拿90分钟练一个能接单的技能,这是成长现金流。"
|
||||
|
||||
"先把结构搭起来,再讨论停不停。"
|
||||
|
||||
她松了一口气。
|
||||
|
||||
"我以为你会让我马上停。"
|
||||
|
||||
我说:"不会。"
|
||||
|
||||
"我不会让你断掉现金流。"
|
||||
|
||||
"我只会让你建立新的现金流。"
|
||||
|
||||
"等新的现金流超过旧的,你自然就停了。"
|
||||
|
||||
一周后,我们线下见面。
|
||||
|
||||
她带了三份作品来:字幕、封面、剪辑各一份。
|
||||
|
||||
我说:"你的字幕是能卖的,封面也能卖,剪辑先别卖。"
|
||||
|
||||
她问:"为什么?"
|
||||
|
||||
我说:"剪辑的交付时间长,反馈周期慢,很容易打击士气。"
|
||||
|
||||
"先从'快交付'开始,建立成交感。"
|
||||
|
||||
"等你成交感稳了,再做剪辑。"
|
||||
|
||||
我给她做了一个"价格阶梯"。
|
||||
|
||||
第一档:字幕100。
|
||||
|
||||
第二档:封面100。
|
||||
|
||||
第三档:字幕+封面套餐180。
|
||||
|
||||
她说:"能不能200?"
|
||||
|
||||
我说:"可以,但要给出'为什么值200'的理由。"
|
||||
|
||||
"比如24小时内交付+两次免费微调。"
|
||||
|
||||
她点头。
|
||||
|
||||
第三周,她在派对房复盘。
|
||||
|
||||
"我还是会想回去多做运费险,因为它太确定了。"
|
||||
|
||||
我说:"正常。"
|
||||
|
||||
"人都会回到确定性。"
|
||||
|
||||
"所以我们要用'结构的确定性'替代'小钱的确定性'。"
|
||||
|
||||
我把她的日程表重新排了一次。
|
||||
|
||||
早上6:30到7:00:运费险保底。
|
||||
|
||||
7:00到8:30:成长现金流练习与接单。
|
||||
|
||||
晚上21:30到22:00:复盘与改进。
|
||||
|
||||
她按照这个节奏走了两周。
|
||||
|
||||
第四周线下见面,她说:"我有三个复购客户了。"
|
||||
|
||||
我问:"你现在还想每天撸运费险吗?"
|
||||
|
||||
她笑了。
|
||||
|
||||
"我只做早上的30分钟了,其他时间不做了。"
|
||||
|
||||
"因为我知道我在成长。"
|
||||
|
||||
我说:"这就够了。"
|
||||
|
||||
"小钱不是敌人,它是过渡。"
|
||||
|
||||
"但你不能一直过渡,你要跨过去。"
|
||||
|
||||
我把这段流程总结成"三问法"。
|
||||
|
||||
判断一件事值不值得做。
|
||||
|
||||
第一问:它能不能复制?
|
||||
|
||||
运费险可以复制,字幕也可以复制。
|
||||
|
||||
但运费险是复制平台漏洞,字幕是复制你的技能。
|
||||
|
||||
第二问:它能不能被替换?
|
||||
|
||||
运费险很容易被替换,平台一改规则就没了。
|
||||
|
||||
字幕不容易被替换,你的技能是你的。
|
||||
|
||||
第三问:它能不能增长?
|
||||
|
||||
运费险很难增长,天花板很低。
|
||||
|
||||
字幕能增长,你可以涨价、加品类、找大客户。
|
||||
|
||||
答案很清楚。
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,即时的小钱,治不了长期的焦虑。
|
||||
|
||||
让自己从"赚钱的感觉"走向"赚钱的结构"。
|
||||
|
||||
选择比努力重要。
|
||||
|
||||
别被"马上到账"绑住。
|
||||
|
||||
被绑定的不是手,是你的时间。
|
||||
@@ -1,233 +0,0 @@
|
||||
"不是游戏吸引他,是生活没有吸引力。"
|
||||
|
||||
2024年12月的一个早上,七点零五分,派对房里一个父亲上麦。
|
||||
|
||||
他说:"卡若,我儿子沉迷游戏,大学快毕业了还整天排位。"
|
||||
|
||||
我问:"他每天玩多久?"
|
||||
|
||||
他说:"五个小时起。"
|
||||
|
||||
我问:"现实里,他有什么让自己感到'厉害'的事吗?"
|
||||
|
||||
他说:"没有。"
|
||||
|
||||
我停了一下。
|
||||
|
||||
"不是游戏吸引他。"
|
||||
|
||||
"是生活没有吸引力。"
|
||||
|
||||
派对房里,我让他把儿子叫上来。
|
||||
|
||||
几分钟后,一个男生上麦。
|
||||
|
||||
声音很干净。
|
||||
|
||||
他说:"我只是不知道现实里做什么,游戏至少能让我赢。"
|
||||
|
||||
我说:"很正常。"
|
||||
|
||||
"人会选择能够快速给到'确定反馈'的事情。"
|
||||
|
||||
"游戏每一局都有反馈,现实很多事情没有反馈。"
|
||||
|
||||
他沉默了。
|
||||
|
||||
我没有劝他戒。
|
||||
|
||||
我让他先加一个"现实反馈环"。
|
||||
|
||||
"选一件现实里可在七天内完成的小事,并且能看到结果。"
|
||||
|
||||
他问:"什么事?"
|
||||
|
||||
我说:"做三个'字幕+封面'作品,发到派对房要反馈。"
|
||||
|
||||
"或者去打三次羽毛球,每次记录心率、步数和发球成功率。"
|
||||
|
||||
"关键不是内容,关键是你在现实里能看见自己在进步。"
|
||||
|
||||
他问:"能线下见一面吗?"
|
||||
|
||||
我说可以。
|
||||
|
||||
我们约在周末下午,在湖滨南路的球馆见。
|
||||
|
||||
那天下午三点,他准时到了。
|
||||
|
||||
穿着一件黑色T恤,背着一个双肩包,脸上有点紧张。
|
||||
|
||||
我带了两个朋友一起打。
|
||||
|
||||
第一局他很紧张。
|
||||
|
||||
发球老是失误,接球也接不住。
|
||||
|
||||
我没说什么,就让他继续打。
|
||||
|
||||
第二局开始敢抢网前。
|
||||
|
||||
他发现自己能抢到一两个球,眼睛亮了。
|
||||
|
||||
第三局,他主动要求练发球。
|
||||
|
||||
练了二十分钟,从十次进四次到十次进七次。
|
||||
|
||||
他笑了。
|
||||
|
||||
"比排位上分还开心。"
|
||||
|
||||
线下结束,我们在球馆的休息区坐下。
|
||||
|
||||
我给他倒了一杯水,问他:"你现在感觉怎么样?"
|
||||
|
||||
他说:"累,但开心。"
|
||||
|
||||
我说:"为什么开心?"
|
||||
|
||||
他想了想:"因为我能看到自己在变厉害。"
|
||||
|
||||
我点点头。
|
||||
|
||||
"这就是'现实反馈'。"
|
||||
|
||||
"游戏里,你打一局就能看到自己涨了多少分。"
|
||||
|
||||
"现实里,你练二十分钟发球,也能看到自己从四次进变成七次进。"
|
||||
|
||||
"这两种反馈是一样的。"
|
||||
|
||||
"只是现实里的反馈,很多人不知道怎么找。"
|
||||
|
||||
我给他一个"四步替代法"。
|
||||
|
||||
第一步,缩短游戏时间到每天90分钟,固定在晚上。
|
||||
|
||||
第二步,每天60分钟现实任务,要可记录、可反馈。
|
||||
|
||||
第三步,找一个同伴,每晚互发进度截图。
|
||||
|
||||
第四步,每周一次线下,让身体记住现实的成就感。
|
||||
|
||||
他点头。
|
||||
|
||||
"我试试。"
|
||||
|
||||
一周后,他在派对房复盘。
|
||||
|
||||
"我把游戏放到晚上九点到十点半了。"
|
||||
|
||||
"白天我做了四个字幕+封面,其中两个有人给了建议。"
|
||||
|
||||
"周末又去打了一次球,发球从七次进变成八次进。"
|
||||
|
||||
我问:"你现在还能五小时起吗?"
|
||||
|
||||
他笑了。
|
||||
|
||||
"不想了。"
|
||||
|
||||
"因为我白天有事做。"
|
||||
|
||||
第二周,我们又线下见面。
|
||||
|
||||
还是在那个球馆。
|
||||
|
||||
他把飞书打开给我看。
|
||||
|
||||
每天都有两张截图。
|
||||
|
||||
一张是作品缩略图。
|
||||
|
||||
一张是运动记录。
|
||||
|
||||
我说:"这就是现实的'升级反馈'。"
|
||||
|
||||
"不是你做得多漂亮,而是你看到自己变厉害。"
|
||||
|
||||
他说:"我现在理解你说的了。"
|
||||
|
||||
"游戏里,我每天都在变厉害,所以我停不下来。"
|
||||
|
||||
"现实里,我以前不知道自己在变厉害,所以我觉得无聊。"
|
||||
|
||||
"现在我知道怎么找反馈了,现实也变有趣了。"
|
||||
|
||||
派对房里,有人问:"卡若,为什么很多人戒不了游戏?"
|
||||
|
||||
我说:"因为他们在现实里没有竞争。"
|
||||
|
||||
"或者说,没有'能赢的场景'。"
|
||||
|
||||
"你给他一个可赢的场景,他自然就把时间搬过来了。"
|
||||
|
||||
第三周,他主动提出接一单。
|
||||
|
||||
我让他在派对房公开说:"字幕+封面,100块一条,今天接两单。"
|
||||
|
||||
他有点紧张。
|
||||
|
||||
"真的有人会找我吗?"
|
||||
|
||||
我说:"你不试,怎么知道?"
|
||||
|
||||
他咬了咬牙,上麦了。
|
||||
|
||||
晚上十点,他发来消息。
|
||||
|
||||
"接到一单。"
|
||||
|
||||
"客户说如果交付好,下次还找我。"
|
||||
|
||||
我说:"你现在不是在戒游戏。"
|
||||
|
||||
"你是在把'成就感的来源'从虚拟搬到现实。"
|
||||
|
||||
他说:"我明白了。"
|
||||
|
||||
"游戏里的成就感是假的,但现实里的成就感是真的。"
|
||||
|
||||
"真的成就感可以变成钱,可以变成能力,可以变成更多的可能性。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"对,这就是区别。"
|
||||
|
||||
一个月后,他跟我说:"我还是会玩,但我不会躺一天了。"
|
||||
|
||||
"我白天要打球、要做作品、要交付。"
|
||||
|
||||
"游戏像甜点,不是主食。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"这就够了。"
|
||||
|
||||
后来,他在派对房里分享他的经历。
|
||||
|
||||
有人问他:"你是怎么戒掉游戏的?"
|
||||
|
||||
他说:"我没有戒。"
|
||||
|
||||
"我只是找到了比游戏更有意思的事情。"
|
||||
|
||||
"游戏给我反馈,现实也能给我反馈。"
|
||||
|
||||
"现实的反馈还能变成钱。"
|
||||
|
||||
"你说我选哪个?"
|
||||
|
||||
派对房里,有人打字:"太对了。"
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,游戏上瘾的本质,不是游戏太好玩。
|
||||
|
||||
是现实太无聊。
|
||||
|
||||
你给他一个可赢的场景,他自然就把时间搬过来了。
|
||||
|
||||
不要强行戒,要给替代。
|
||||
|
||||
让他在现实里找到比游戏更有成就感的事。
|
||||
@@ -1,211 +0,0 @@
|
||||
"2018年查出糖尿病,2024年查出肝硬化,赚钱很重要,活着更重要。"
|
||||
|
||||
2024年12月的一个早上,六点二十分,派对房里有人问我。
|
||||
|
||||
"卡若,你每天四点起,不累吗?"
|
||||
|
||||
我说:"我以前不这样。"
|
||||
|
||||
"2018年查出糖尿病之后,我才开始认真过日子。"
|
||||
|
||||
派对房里另一个人补了一句。
|
||||
|
||||
"我爸也是糖尿病,现在每天都焦虑。"
|
||||
|
||||
我说:"焦虑是正常的。"
|
||||
|
||||
"但焦虑不能解决问题。"
|
||||
|
||||
"你要把'焦虑'换成'结构'。"
|
||||
|
||||
我把我的结构讲了一遍。
|
||||
|
||||
第一,监测。
|
||||
|
||||
每天固定两次血糖,早起与晚饭后。
|
||||
|
||||
每周一次体重与腰围。
|
||||
|
||||
每月一次肝功能指标复查。
|
||||
|
||||
数据全在飞书里,用表格记录,用折线图看趋势。
|
||||
|
||||
第二,饮食。
|
||||
|
||||
低GI,定时餐,少量多次。
|
||||
|
||||
三件事不能碰:暴食、酒精、熬夜之后的宵夜。
|
||||
|
||||
第三,运动。
|
||||
|
||||
快走40分钟或羽毛球60分钟,心率区间120-140。
|
||||
|
||||
第四,睡眠。
|
||||
|
||||
晚上22:30前睡,早上4:30起,固定午休20分钟。
|
||||
|
||||
有人问:"你怎么坚持?"
|
||||
|
||||
我说:"我不是靠意志,我靠流程。"
|
||||
|
||||
"起床,测血糖,喝水,拉伸,写30分钟,六点开播。"
|
||||
|
||||
"这套流程每天都一样。"
|
||||
|
||||
"人靠流程活下去,不是靠激情。"
|
||||
|
||||
派对房里有个小姐姐上麦。
|
||||
|
||||
她说:"我也想改作息,但我晚上很难睡。"
|
||||
|
||||
我说:"我们线下见一次。"
|
||||
|
||||
第二天中午,我们约在湖滨的一家咖啡馆。
|
||||
|
||||
她穿着一件白色的衬衫,脸上有点憔悴。
|
||||
|
||||
她把最近两周的睡眠截图给我看。
|
||||
|
||||
平均入睡时间1:20。
|
||||
|
||||
我看了一眼,说:"你的问题不是睡不着,是睡前的流程没有。"
|
||||
|
||||
她愣了:"什么叫睡前的流程?"
|
||||
|
||||
我把她的晚间流程改了三件事。
|
||||
|
||||
第一,睡前90分钟不看手机。
|
||||
|
||||
第二,固定20分钟的拉伸与泡脚。
|
||||
|
||||
第三,把"明天要做的三件事"写在纸上,脑子就不会一直转。
|
||||
|
||||
她按照这个流程走了五天。
|
||||
|
||||
第六天,她在派对房说:"我23:10睡着了,早上6:50起。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"这就是流程的力量。"
|
||||
|
||||
"你不是睡不着,是你没有告诉你的身体'现在要睡了'。"
|
||||
|
||||
有人问我:"查出肝硬化之后,你最害怕的是什么?"
|
||||
|
||||
我说:"不是怕死。"
|
||||
|
||||
"是怕我还没把事情交代清楚。"
|
||||
|
||||
"怕我的团队不知道该怎么跑。"
|
||||
|
||||
"怕我的家人不知道我在忙什么。"
|
||||
|
||||
所以我把生活做成了SOP。
|
||||
|
||||
吃饭SOP。
|
||||
|
||||
运动SOP。
|
||||
|
||||
工作SOP。
|
||||
|
||||
陪伴SOP。
|
||||
|
||||
每一条SOP都写在飞书里,有人能接得上。
|
||||
|
||||
有个老哥在派对房说:"卡若,你说'疾病是第一次清醒',什么意思?"
|
||||
|
||||
我说:"清醒不是你知道自己病了。"
|
||||
|
||||
"清醒是你知道什么重要。"
|
||||
|
||||
"赚钱很重要,但活着更重要。"
|
||||
|
||||
"活着不是苟且,是'在场'。"
|
||||
|
||||
"你在场,家人才有依靠,团队才有方向。"
|
||||
|
||||
后来,有个做夜班的司机来线下找我。
|
||||
|
||||
我们约在思明区的一家茶馆。
|
||||
|
||||
他说他晚上10点到早上6点开车,白天睡不着,血糖乱成一团。
|
||||
|
||||
我看了一眼他的脸色,有点蜡黄。
|
||||
|
||||
我说:"你的问题不是血糖,是节奏。"
|
||||
|
||||
"夜班的人,节奏和普通人不一样。"
|
||||
|
||||
"你不能用普通人的作息来要求自己。"
|
||||
|
||||
我帮他把节奏改成"夜班版"。
|
||||
|
||||
第一,下班后固定30分钟快走,再睡。
|
||||
|
||||
第二,睡前不吃,起床第一餐低GI。
|
||||
|
||||
第三,每周两天换白天班,给身体一个重启点。
|
||||
|
||||
他照做了两周。
|
||||
|
||||
他在派对房说:"我现在血糖稳定了,精神也好一点。"
|
||||
|
||||
我笑了。
|
||||
|
||||
"这就是结构的力量。"
|
||||
|
||||
"你不是控制不了血糖,是你没有找到适合自己的节奏。"
|
||||
|
||||
我把健康这件事的做法,最后收束成一个"四格表"。
|
||||
|
||||
格一,监测。
|
||||
|
||||
格二,作息。
|
||||
|
||||
格三,饮食与运动。
|
||||
|
||||
格四,关系与托底。
|
||||
|
||||
关系很重要。
|
||||
|
||||
有人盯着你,你就不会放任自己。
|
||||
|
||||
托底也很重要。
|
||||
|
||||
你知道最坏的情况是什么,你就不会焦虑到失控。
|
||||
|
||||
派对房里,有人问:"卡若,你现在身体怎么样?"
|
||||
|
||||
我说:"血糖稳定,肝功能在恢复。"
|
||||
|
||||
"每天四点起,六点开播,九点结束。"
|
||||
|
||||
"然后去打球,去遛狗,去陪家人。"
|
||||
|
||||
"这就是我的生活。"
|
||||
|
||||
他问:"你不累吗?"
|
||||
|
||||
我说:"累。"
|
||||
|
||||
"但我知道,这种累是值得的。"
|
||||
|
||||
"因为我知道什么重要。"
|
||||
|
||||
这本书的真实目的,不是教你怎么成功。
|
||||
|
||||
而是告诉你,疾病是人生的第一次清醒。
|
||||
|
||||
它让你知道,什么重要,什么不重要。
|
||||
|
||||
赚钱很重要,但活着更重要。
|
||||
|
||||
活着不是苟且,是在场。
|
||||
|
||||
你在场,家人才有依靠,团队才有方向。
|
||||
|
||||
把焦虑换成结构。
|
||||
|
||||
把激情换成流程。
|
||||
|
||||
人靠流程活下去,不是靠激情。
|
||||
@@ -1,170 +0,0 @@
|
||||
# 尾声|终极答案:努力不是关键,选择才是
|
||||
|
||||
写到这里,这本书差不多要结束了。
|
||||
|
||||
我想在最后,把我这18年来最深的一个认知告诉你。
|
||||
|
||||
---
|
||||
|
||||
**大部分人不是不努力,是选错了方向。**
|
||||
|
||||
我见过太多人,每天工作12个小时,熬夜加班,拼命努力。
|
||||
|
||||
但三年过去,五年过去,他们还在原地。
|
||||
|
||||
不是因为他们不够努力。
|
||||
|
||||
是因为他们努力的方向,一开始就错了。
|
||||
|
||||
---
|
||||
|
||||
我给你讲一个故事。
|
||||
|
||||
2018年,我们公司做天猫,200多人的团队。
|
||||
|
||||
那时候我觉得,人越多越好,规模越大越厉害。
|
||||
|
||||
所有人都在拼命干活,每天加班到凌晨。
|
||||
|
||||
结果呢?
|
||||
|
||||
业务一下滑,我砍掉一批人,公司差点倒闭。
|
||||
|
||||
后来我才明白——
|
||||
|
||||
**不是人多就能赢,而是选对了事情才能赢。**
|
||||
|
||||
---
|
||||
|
||||
我在Soul派对房里,经常问进来的人一个问题:
|
||||
|
||||
"你现在做的事情,是你真正想做的吗?"
|
||||
|
||||
80%的人会沉默。
|
||||
|
||||
然后说:"我也不知道。"
|
||||
|
||||
我说:"那你先想清楚这个问题,再来问我怎么赚钱。"
|
||||
|
||||
**如果你连自己要什么都不知道,再努力也是白费。**
|
||||
|
||||
---
|
||||
|
||||
这本书讲了很多案例,很多方法,很多赚钱的逻辑。
|
||||
|
||||
但我希望你记住的,不是那些技巧。
|
||||
|
||||
而是这三句话:
|
||||
|
||||
---
|
||||
|
||||
**第一句:选择比努力重要。**
|
||||
|
||||
你选对了赛道,做对了事情,努力才有意义。
|
||||
|
||||
你选错了方向,再努力也是南辕北辙。
|
||||
|
||||
在做任何事情之前,先问自己:这件事,值不值得我投入时间?
|
||||
|
||||
---
|
||||
|
||||
**第二句:人比事重要。**
|
||||
|
||||
这本书里讲了很多案例:荷总、老墨、做相亲的八戒、做退税的财税老板。
|
||||
|
||||
你会发现,所有成功的故事,都离不开"人"。
|
||||
|
||||
找对了人,事情就成了一半。
|
||||
|
||||
找错了人,再好的项目也会做砸。
|
||||
|
||||
**在做任何事情之前,先问自己:我要跟谁一起做?**
|
||||
|
||||
---
|
||||
|
||||
**第三句:活下来比做大重要。**
|
||||
|
||||
我破产过一次。
|
||||
|
||||
那次破产让我明白,什么规模、什么增长、什么融资,都是虚的。
|
||||
|
||||
**活下来,才是最重要的。**
|
||||
|
||||
不要为了面子,去做超出能力的事情。
|
||||
|
||||
不要为了规模,去承担承受不起的风险。
|
||||
|
||||
先活下来,再谈发展。
|
||||
|
||||
---
|
||||
|
||||
这个世界上,永远不缺机会。
|
||||
|
||||
缺的是能抓住机会的人。
|
||||
|
||||
而能抓住机会的人,往往不是最聪明的,也不是最努力的。
|
||||
|
||||
而是那些**看得清、想得明、忍得住**的人。
|
||||
|
||||
---
|
||||
|
||||
我不知道你读完这本书,会有什么感受。
|
||||
|
||||
也许你会觉得,卡若讲的这些,我早就知道了。
|
||||
|
||||
也许你会觉得,这些道理很简单,但做起来很难。
|
||||
|
||||
没关系。
|
||||
|
||||
知道和做到之间,永远隔着一条鸿沟。
|
||||
|
||||
**而跨过这条鸿沟的方法,只有一个:去做。**
|
||||
|
||||
---
|
||||
|
||||
最后,我想对你说:
|
||||
|
||||
如果你正在迷茫,不要焦虑。
|
||||
|
||||
迷茫说明你在思考,说明你还没放弃。
|
||||
|
||||
如果你正在困境中,不要绝望。
|
||||
|
||||
困境是人生的必修课,所有人都会经历。
|
||||
|
||||
如果你正在寻找方向,不要急躁。
|
||||
|
||||
方向不是找出来的,是在行动中慢慢清晰的。
|
||||
|
||||
---
|
||||
|
||||
这本书的名字叫《晨间社会学》。
|
||||
|
||||
因为这些故事,都是在每天早上6点到9点,在Soul派对房里发生的。
|
||||
|
||||
那是一天中最安静的时刻。
|
||||
|
||||
也是最清醒的时刻。
|
||||
|
||||
我希望你读完这本书,也能在某个清晨醒来的时候,
|
||||
|
||||
突然想明白一些事情。
|
||||
|
||||
---
|
||||
|
||||
感谢你读到这里。
|
||||
|
||||
我们后会有期。
|
||||
|
||||
如果你想找我聊聊,每天早上6点,我都在Soul派对房等你。
|
||||
|
||||
---
|
||||
|
||||
**努力不是关键,选择才是。**
|
||||
|
||||
**选对了,一切都对了。**
|
||||
|
||||
---
|
||||
|
||||
卡若
|
||||
2025年于厦门
|
||||
@@ -1,142 +0,0 @@
|
||||
# 📘《晨间社会学:一个创业者每天6-9点的100个真实案例》
|
||||
|
||||
> 一本从Soul派对房里诞生的商业实战手册
|
||||
|
||||
---
|
||||
|
||||
## 关于这本书
|
||||
|
||||
这是一本用365天、1000场直播换来的商业洞察。
|
||||
|
||||
每天早上6点,我都会在Soul上开一个派对房。来的人五花八门:刚毕业的大学生、创业失败的老板、大厂离职的程序员、小镇里开奶茶店的年轻人……
|
||||
|
||||
他们带着各自的困惑和故事,我带着22年的创业经验。我们在派对房里碰撞、交流、复盘。
|
||||
|
||||
这本书,就是这些对话的结晶。
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
### 序言
|
||||
- [为什么我每天早上6点在Soul开播?](./序言|为什么我每天早上6点在Soul开播?.md)
|
||||
|
||||
---
|
||||
|
||||
### 第一篇|真实的人
|
||||
|
||||
**第1章|人与人之间的底层逻辑**
|
||||
- [1.1 荷包的电动车王国:派对房里的供应链高手](./第一篇|真实的人/第1章|人与人之间的底层逻辑/1.1 自行车荷总:一个行业做到极致是什么样.md)
|
||||
- [1.2 税筹大咖的287人财务帝国:如何用30块钱撬动整个市场](./第一篇|真实的人/第1章|人与人之间的底层逻辑/1.2 老墨:资源整合高手的社交方法.md)
|
||||
- [1.3 笑声背后的MBTI:为什么ENTJ适合做资源,INTP适合做系统](./第一篇|真实的人/第1章|人与人之间的底层逻辑/1.3 笑声背后的MBTI:为什么ENTJ适合做资源,INTP适合做系统.md)
|
||||
- [1.4 人性的三角结构:情绪、价值、利益](./第一篇|真实的人/第1章|人与人之间的底层逻辑/1.4 人性的三角结构:情绪、价值、利益.md)
|
||||
- [1.5 为什么99%的合作死在沟通差而不是能力差](./第一篇|真实的人/第1章|人与人之间的底层逻辑/1.5 为什么99%的合作死在沟通差而不是能力差.md)
|
||||
|
||||
**第2章|人性困境案例**
|
||||
- [2.1 相亲故事:你以为找的是人,实际是在找模式](./第一篇|真实的人/第2章|人性困境案例/2.1 相亲故事:你以为找的是人,实际是在找模式.md)
|
||||
- [2.2 找工作迷茫者:为什么简历解决不了人生](./第一篇|真实的人/第2章|人性困境案例/2.2 找工作迷茫者:为什么简历解决不了人生.md)
|
||||
- [2.3 撸运费险:小钱困住大脑的真实心理](./第一篇|真实的人/第2章|人性困境案例/2.3 撸运费险:小钱困住大脑的真实心理.md)
|
||||
- [2.4 游戏上瘾的年轻人:不是游戏吸引他,是生活没吸引力](./第一篇|真实的人/第2章|人性困境案例/2.4 游戏上瘾的年轻人:不是游戏吸引他,是生活没吸引力.md)
|
||||
- [2.5 健康焦虑(我的糖尿病经历):疾病是人生的第一次清醒](./第一篇|真实的人/第2章|人性困境案例/2.5 健康焦虑(我的糖尿病经历):疾病是人生的第一次清醒.md)
|
||||
|
||||
---
|
||||
|
||||
## [第二篇|真实的行业](./第二篇|真实的行业/)
|
||||
|
||||
### [第3章|电商篇](./第二篇|真实的行业/第3章|电商篇/)
|
||||
|
||||
- [3.1 电商财税窗口:我错过的第一桶金](./第二篇|真实的行业/第3章|电商篇/3.1 电商财税窗口:我错过的第一桶金.md)
|
||||
- [3.2 3000万流水如何跑出来(退税模式解析)](./第二篇|真实的行业/第3章|电商篇/3.2 3000万流水如何跑出来(退税模式解析).md)
|
||||
- [3.3 供应链之王 vs 打工人:利润不在前端](./第二篇|真实的行业/第3章|电商篇/3.3 供应链之王 vs 打工人:利润不在前端.md)
|
||||
- [3.4 社区团购的底层逻辑](./第二篇|真实的行业/第3章|电商篇/3.4 社区团购的底层逻辑.md)
|
||||
- [3.5 跨境电商与退税套利](./第二篇|真实的行业/第3章|电商篇/3.5 跨境电商与退税套利.md)
|
||||
|
||||
### [第4章|内容商业篇](./第二篇|真实的行业/第4章|内容商业篇/)
|
||||
|
||||
- [4.1 旅游号:30天10万粉的真实逻辑](./第二篇|真实的行业/第4章|内容商业篇/4.1 旅游号:30天10万粉的真实逻辑.md)
|
||||
- [4.2 做号工厂:如何让一个号变成一个机器](./第二篇|真实的行业/第4章|内容商业篇/4.2 做号工厂:如何让一个号变成一个机器.md)
|
||||
- [4.3 情绪内容为什么比专业内容更赚钱](./第二篇|真实的行业/第4章|内容商业篇/4.3 情绪内容为什么比专业内容更赚钱.md)
|
||||
- [4.4 猫与宠物号:为什么宠物赛道永不过时](./第二篇|真实的行业/第4章|内容商业篇/4.4 猫与宠物号:为什么宠物赛道永不过时.md)
|
||||
- [4.5 直播间里的三种人:演员、技术工、系统流](./第二篇|真实的行业/第4章|内容商业篇/4.5 直播间里的三种人:演员、技术工、系统流.md)
|
||||
|
||||
### [第5章|传统行业篇](./第二篇|真实的行业/第5章|传统行业篇/)
|
||||
|
||||
- [5.1 羽毛球馆:为什么体育培训是最稳定的现金流](./第二篇|真实的行业/第5章|传统行业篇/5.1 羽毛球馆:为什么体育培训是最稳定的现金流.md)
|
||||
- [5.2 旅游供应链:资源越老越值钱](./第二篇|真实的行业/第5章|传统行业篇/5.2 旅游供应链:资源越老越值钱.md)
|
||||
- [5.3 景区联盟:门票不是目的,是流量入口](./第二篇|真实的行业/第5章|传统行业篇/5.3 景区联盟:门票不是目的,是流量入口.md)
|
||||
- [5.4 拍卖行抱朴:我人生错过的4件大钱机会(完整版)](./第二篇|真实的行业/第5章|传统行业篇/5.4 拍卖行抱朴:我人生错过的4件大钱机会(完整版).md)
|
||||
- [5.5 飞机票供应链:为什么越便宜越亏](./第二篇|真实的行业/第5章|传统行业篇/5.5 飞机票供应链:为什么越便宜越亏.md)
|
||||
|
||||
---
|
||||
|
||||
## [第三篇|真实的错误](./第三篇|真实的错误/)
|
||||
|
||||
### [第6章|他人踩过的4个致命大坑](./第三篇|真实的错误/第6章|我人生错过的4件大钱/)
|
||||
|
||||
- [6.1 老陈的电商财税窗口:眼睁睁看着1000万从指缝溜走](./第三篇|真实的错误/第6章|我人生错过的4件大钱/6.1 错过电商财税(2016-2017).md)
|
||||
- [6.2 阿强的供应链觉醒:从月薪8000到身价千万只差一个认知](./第三篇|真实的错误/第6章|我人生错过的4件大钱/6.2 错过供应链(2017-2018).md)
|
||||
- [6.3 小美的内容红利:100万粉丝账号卖了50万,她后悔了三年](./第三篇|真实的错误/第6章|我人生错过的4件大钱/6.3 错过内容红利(2018-2019).md)
|
||||
- [6.4 老王的资源困局:手握千人脉,却一分钱没变现](./第三篇|真实的错误/第6章|我人生错过的4件大钱/6.4 错过资源资产化(2019-2020).md)
|
||||
|
||||
### [第7章|别人犯的错误](./第三篇|真实的错误/第7章|别人犯的错误/)
|
||||
|
||||
- [7.1 投资房年轻人的迷茫:资金 vs 能力](./第三篇|真实的错误/第7章|别人犯的错误/7.1 投资房年轻人的迷茫:资金 vs 能力.md)
|
||||
- [7.2 信息差骗局:永远有人靠卖学习赚钱](./第三篇|真实的错误/第7章|别人犯的错误/7.2 信息差骗局:永远有人靠卖学习赚钱.md)
|
||||
- [7.3 在Soul找恋爱但想赚钱的人](./第三篇|真实的错误/第7章|别人犯的错误/7.3 在Soul找恋爱但想赚钱的人.md)
|
||||
- [7.4 创业者的三种死法:冲动、轻信、没结构](./第三篇|真实的错误/第7章|别人犯的错误/7.4 创业者的三种死法:冲动、轻信、没结构.md)
|
||||
- [7.5 人情生意的终点:关系越多亏得越多](./第三篇|真实的错误/第7章|别人犯的错误/7.5 人情生意的终点:关系越多亏得越多.md)
|
||||
|
||||
---
|
||||
|
||||
## [第四篇|真实的赚钱](./第四篇|真实的赚钱/)
|
||||
|
||||
### [第8章|底层结构](./第四篇|真实的赚钱/第8章|底层结构/)
|
||||
|
||||
- [8.1 流量杠杆:抖音、Soul、飞书](./第四篇|真实的赚钱/第8章|底层结构/8.1 流量杠杆:抖音、Soul、飞书.md)
|
||||
- [8.2 价格杠杆:供应链与信息差](./第四篇|真实的赚钱/第8章|底层结构/8.2 价格杠杆:供应链与信息差.md)
|
||||
- [8.3 时间杠杆:自动化 + AI](./第四篇|真实的赚钱/第8章|底层结构/8.3 时间杠杆:自动化 + AI.md)
|
||||
- [8.4 情绪杠杆:咨询、婚恋、生意场](./第四篇|真实的赚钱/第8章|底层结构/8.4 情绪杠杆:咨询、婚恋、生意场.md)
|
||||
- [8.5 社交杠杆:认识谁比你会什么更重要](./第四篇|真实的赚钱/第8章|底层结构/8.5 社交杠杆:认识谁比你会什么更重要.md)
|
||||
|
||||
### [第9章|我在Soul上亲访的赚钱案例](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/)
|
||||
|
||||
- [9.1 游戏账号私域:账号即资产](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.1 游戏账号私域:账号即资产.md)
|
||||
- [9.2 健康包模式:高复购、高毛利](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.2 健康包模式:高复购、高毛利.md)
|
||||
- [9.3 药物私域:长期关系赛道](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.3 药物私域:长期关系赛道.md)
|
||||
- [9.4 残疾机构合作:退税 × AI × 人力成本](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.4 残疾机构合作:退税 × AI × 人力成本.md)
|
||||
- [9.5 私域银行:粉丝即小股东](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.5 私域银行:粉丝即小股东.md)
|
||||
- [9.6 Soul派对房:陌生人成交的最快场景](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.6 Soul派对房:陌生人成交的最快场景.md)
|
||||
- [9.7 飞书中台:从聊天到成交的流程化体系](./第四篇|真实的赚钱/第9章|我在Soul上亲访的赚钱案例/9.7 飞书中台:从聊天到成交的流程化体系.md)
|
||||
|
||||
---
|
||||
|
||||
## [第五篇|真实的社会](./第五篇|真实的社会/)
|
||||
|
||||
### [第10章|未来职业的变化趋势](./第五篇|真实的社会/第10章|未来职业的变化趋势/)
|
||||
|
||||
- [10.1 AI代聊与岗位替换](./第五篇|真实的社会/第10章|未来职业的变化趋势/10.1 AI代聊与岗位替换.md)
|
||||
- [10.2 系统化工作 vs 杂乱工作](./第五篇|真实的社会/第10章|未来职业的变化趋势/10.2 系统化工作 vs 杂乱工作.md)
|
||||
- [10.3 为什么链接能力会成为第一价值](./第五篇|真实的社会/第10章|未来职业的变化趋势/10.3 为什么链接能力会成为第一价值.md)
|
||||
- [10.4 新型公司:Soul-飞书-线下的三位一体](./第五篇|真实的社会/第10章|未来职业的变化趋势/10.4 新型公司:Soul-飞书-线下的三位一体.md)
|
||||
|
||||
### [第11章|中国社会商业生态的未来](./第五篇|真实的社会/第11章|中国社会商业生态的未来/)
|
||||
|
||||
- [11.1 城市之间的模式差](./第五篇|真实的社会/第11章|中国社会商业生态的未来/11.1 城市之间的模式差.md)
|
||||
- [11.2 厦门样本:低成本高效率经济](./第五篇|真实的社会/第11章|中国社会商业生态的未来/11.2 厦门样本:低成本高效率经济.md)
|
||||
- [11.3 流量红利的终局](./第五篇|真实的社会/第11章|中国社会商业生态的未来/11.3 流量红利的终局.md)
|
||||
- [11.4 大模型 + 供应链的组合拳](./第五篇|真实的社会/第11章|中国社会商业生态的未来/11.4 大模型 + 供应链的组合拳.md)
|
||||
- [11.5 社会分层的最终逻辑](./第五篇|真实的社会/第11章|中国社会商业生态的未来/11.5 社会分层的最终逻辑.md)
|
||||
|
||||
---
|
||||
|
||||
## [尾声](./尾声|终极答案:努力不是关键,选择才是.md)
|
||||
|
||||
---
|
||||
|
||||
## [附录](./附录/)
|
||||
|
||||
- [附录A|Soul派对房直播逐字稿精选](./附录/附录A|Soul派对房每天6-9点语音直播逐字稿精选.md)
|
||||
- [附录B|商业案例复盘思维导图](./附录/附录B|商业案例复盘图(思维导图).md)
|
||||
- [附录C|私域运营工具箱(SOP、话术、系统)](./附录/附录C|私域运营工具箱(SOP、话术、系统).md)
|
||||
- [附录D|MBTI分工模型:如何识别一个人适合做什么](./附录/附录D|Soul上的MBTI分工模型(如何识别一个人适合做什么).md)
|
||||
- [附录E|Soul上链接的100个人(人物小传与MBTI)](./附录/附录E|我在Soul上链接的100个人(人物小传).md)
|
||||
BIN
book/第三篇|真实的错误/.DS_Store
vendored
BIN
book/第三篇|真实的错误/.DS_Store
vendored
Binary file not shown.
@@ -1,90 +0,0 @@
|
||||
# 6.1 老陈的电商财税窗口:眼睁睁看着1000万从指缝溜走
|
||||
|
||||
> "我当时就站在金矿旁边,却在挖沙子。"——老陈,前电商运营总监,ISTJ
|
||||
|
||||
---
|
||||
|
||||
## 一个在派对房里崩溃的中年男人
|
||||
|
||||
2024年11月的一个清晨,Soul派对房里来了一个声音沙哑的男人。
|
||||
|
||||
"卡若,我能说两句吗?"
|
||||
|
||||
他叫老陈,42岁,曾经是某电商代运营公司的运营总监。他说自己"错过了人生中最大的一笔钱"。
|
||||
|
||||
2016年,他所在的公司帮商家做天猫代运营,每天经手的流水少则几十万,多则上百万。当时他注意到一个现象:很多商家的财税管理一塌糊涂,进项票不够、成本核算混乱、税负率居高不下。
|
||||
|
||||
"我当时就想,这不就是个巨大的需求吗?"老陈说。
|
||||
|
||||
但他只是想了想,就继续去优化详情页、调直通车了。
|
||||
|
||||
---
|
||||
|
||||
## 窗口期只有18个月
|
||||
|
||||
同一时期,另一个人看到了同样的问题。
|
||||
|
||||
那个人叫小李,只是个普通的会计,在一家小型电商公司做财务。他发现老板每个月为税的事情焦头烂额,就主动研究起了电商财税的门道。
|
||||
|
||||
2016年底,小李辞职创业,专门帮电商企业做财税优化。
|
||||
|
||||
他的切入点很简单:帮商家把"刷单成本"合规化。当时很多商家刷单的钱走的是私账,既不能抵税,还有法律风险。小李找到了一套合规的解决方案,把这些成本变成合法的"推广费用"。
|
||||
|
||||
18个月后,小李的公司年营收突破3000万,净利润超过1000万。
|
||||
|
||||
而老陈,还在代运营公司里"优化详情页"。
|
||||
|
||||
---
|
||||
|
||||
## 老陈的三个致命错误
|
||||
|
||||
**第一个错误:只看到问题,没看到机会**
|
||||
|
||||
老陈每天都能接触到商家的财税痛点,但他把这些当成"商家自己的问题",而不是"我可以解决的机会"。
|
||||
|
||||
他的思维模式是:我是做运营的,财税是财务的事。
|
||||
|
||||
**第二个错误:等待"完美时机"**
|
||||
|
||||
老陈曾经想过要不要做财税咨询,但他觉得"时机不成熟"——自己不够懂、市场不够大、政策不够明朗。
|
||||
|
||||
结果等他"看明白"的时候,市场已经被瓜分完毕。
|
||||
|
||||
**第三个错误:低估了信息差的价值**
|
||||
|
||||
老陈知道的信息,他以为所有人都知道。
|
||||
|
||||
"我以为财税这些东西,随便找个会计都懂。"他说,"后来才知道,90%的会计连电商的业务模式都搞不清楚。"
|
||||
|
||||
---
|
||||
|
||||
## 电商财税的黄金窗口
|
||||
|
||||
2016-2017年,是电商财税服务的黄金窗口期。这个窗口期的形成有三个原因:
|
||||
|
||||
1. **电商行业爆发式增长**:淘宝、天猫、京东的GMV每年翻倍,但配套的财税服务严重滞后
|
||||
2. **政策逐步收紧**:金税三期上线,电商企业的财税风险急剧上升
|
||||
3. **专业人才稀缺**:懂电商又懂财税的人凤毛麟角
|
||||
|
||||
抓住这个窗口的人,都赚到了第一桶金。错过的人,只能在派对房里叹息。
|
||||
|
||||
---
|
||||
|
||||
## 复盘清单
|
||||
|
||||
**老陈错过的核心原因:**
|
||||
- 把"发现问题"和"解决问题"分开了
|
||||
- 等待完美时机,而不是边做边学
|
||||
- 高估竞争,低估自己的信息优势
|
||||
|
||||
**如果你正在经历类似的困境:**
|
||||
- 你每天接触到的"麻烦事",可能就是别人愿意付费的"需求"
|
||||
- 不要等到"完全准备好"才开始,18个月的窗口期不会等你
|
||||
- 你以为的"常识",可能是别人愿意付1000块/小时咨询的"专业知识"
|
||||
|
||||
**这个案例的MBTI视角:**
|
||||
老陈是典型的ISTJ(检查者),擅长执行既定任务,但不擅长发现新机会。而小李是ENTP(辩论家),天生对商业机会敏感,敢于快速行动。
|
||||
|
||||
---
|
||||
|
||||
*"机会就像窗户,开着的时候你不跳,关了就再也打不开了。"*
|
||||
@@ -1,94 +0,0 @@
|
||||
# 6.2 阿强的供应链觉醒:从月薪8000到身价千万只差一个认知
|
||||
|
||||
> "我天天在工厂里转,却从来没想过工厂才是最赚钱的。"——阿强,前电商采购经理,ISFJ
|
||||
|
||||
---
|
||||
|
||||
## 派对房里的后悔药
|
||||
|
||||
"卡若,你说我是不是傻?"
|
||||
|
||||
凌晨6点半,一个带着浓重潮汕口音的声音在派对房里响起。
|
||||
|
||||
他叫阿强,35岁,曾经是某电商公司的采购经理。他的工作就是每天跟工厂打交道:下单、验货、催货、砍价。
|
||||
|
||||
2017年,阿强发现一个有趣的现象:他合作的十几家工厂里,最赚钱的不是那些规模最大的,而是那些"能搞定特殊需求"的小厂。
|
||||
|
||||
"比如我们要一款定制包装,大厂嫌量小不接,但有个小厂能做,而且利润率高得吓人。"阿强说。
|
||||
|
||||
他当时只是把这个当成"工作经验"记在脑子里。
|
||||
|
||||
---
|
||||
|
||||
## 另一个采购员的觉醒
|
||||
|
||||
同一时期,另一个采购员小吴也发现了这个规律。
|
||||
|
||||
但小吴做了一件阿强没做的事:他把这些"能搞定特殊需求"的工厂信息整理成了一个资源库,然后开始帮其他电商公司对接。
|
||||
|
||||
一开始是免费帮忙,积累口碑。半年后,他开始收服务费:帮你找到合适的工厂,收1%的采购金额。
|
||||
|
||||
看起来比例不高,但架不住量大。电商公司的采购动辄几十万、上百万,1%就是几千、上万块。
|
||||
|
||||
2018年底,小吴辞职创业,专门做供应链撮合。他没有一个工人、一台机器,却在供应链里赚到了比工厂老板还多的钱。
|
||||
|
||||
---
|
||||
|
||||
## 阿强的认知盲区
|
||||
|
||||
**盲区一:只看到"采购",没看到"资源"**
|
||||
|
||||
阿强每天接触几十家工厂,手里握着的是一座金矿。但他只把这些当成"工作关系",而不是"可以变现的资产"。
|
||||
|
||||
他的思维是:我是帮公司采购的,工厂资源是公司的。
|
||||
|
||||
小吴的思维是:工厂资源是我建立的关系,这是我的核心竞争力。
|
||||
|
||||
**盲区二:只看到"执行",没看到"连接"**
|
||||
|
||||
阿强的工作模式是:公司告诉我要采购什么,我去找工厂。
|
||||
|
||||
小吴的工作模式是:我知道哪些工厂能做什么,我来连接有需求的人。
|
||||
|
||||
一个是"被动执行",一个是"主动连接"。
|
||||
|
||||
**盲区三:低估了"中间商"的价值**
|
||||
|
||||
阿强曾经觉得"中间商赚差价"是不道德的。
|
||||
|
||||
"我当时想,我又不生产东西,凭什么赚钱?"他说。
|
||||
|
||||
但他后来才明白:在信息不对称的市场里,能帮别人节省时间和降低风险的人,就是在创造价值。
|
||||
|
||||
---
|
||||
|
||||
## 供应链的认知升级
|
||||
|
||||
2017-2018年,是电商供应链服务爆发的时期。这个窗口的形成有几个原因:
|
||||
|
||||
1. **电商竞争白热化**:商家开始拼供应链效率,谁能更快、更便宜地拿到货,谁就能赢
|
||||
2. **柔性供应链崛起**:小批量、多批次、快反应的需求越来越多,传统大厂搞不定
|
||||
3. **信息仍然高度不对称**:很多商家找不到合适的工厂,很多工厂找不到合适的客户
|
||||
|
||||
抓住这个机会的人,成了"没有工厂的工厂老板"。
|
||||
|
||||
---
|
||||
|
||||
## 复盘清单
|
||||
|
||||
**阿强错过的核心原因:**
|
||||
- 把工作资源当成公司资产,而不是个人能力
|
||||
- 用"执行者"思维做事,而不是"连接者"思维
|
||||
- 道德洁癖阻碍了商业判断
|
||||
|
||||
**如果你正在做类似的工作:**
|
||||
- 你的"人脉"和"资源"是你最值钱的东西,要有意识地积累和维护
|
||||
- 思考一下:你能连接谁和谁,创造什么价值?
|
||||
- "中间商赚差价"不是贬义词,是商业社会的基本规则
|
||||
|
||||
**这个案例的MBTI视角:**
|
||||
阿强是ISFJ(守护者),忠诚可靠但缺乏商业野心。小吴是ESTP(企业家),善于发现机会并快速行动。
|
||||
|
||||
---
|
||||
|
||||
*"你以为自己是打工的,但你手里的资源,可能比老板的还值钱。"*
|
||||
@@ -1,99 +0,0 @@
|
||||
# 6.3 小美的内容红利:100万粉丝账号卖了50万,她后悔了三年
|
||||
|
||||
> "我当时觉得做号太累了,不如卖掉。现在才知道,那是我这辈子最傻的决定。"——小美,前抖音达人,ESFP
|
||||
|
||||
---
|
||||
|
||||
## 一个卖掉百万粉账号的女孩
|
||||
|
||||
2024年的一个周末,派对房里来了一个声音甜美的女生。
|
||||
|
||||
"卡若哥,我能问你一个问题吗?我三年前把我的抖音号卖了,现在后悔死了,你觉得我还有机会吗?"
|
||||
|
||||
她叫小美,28岁。2019年,她在抖音上做美妆内容,粉丝做到了100万。那时候她觉得"涨粉太难了"、"拍视频太累了"、"变现太慢了"。
|
||||
|
||||
于是,她以50万的价格,把账号卖给了一家MCN机构。
|
||||
|
||||
三年后,那个账号的粉丝涨到了500万,年带货GMV超过1个亿。
|
||||
|
||||
而小美,还在一家公司做着月薪1万的工作。
|
||||
|
||||
---
|
||||
|
||||
## 内容红利的真相
|
||||
|
||||
2018-2019年,是内容创业的黄金时期。抖音日活突破4亿,每天有几千万人在上面刷视频。
|
||||
|
||||
那时候做内容有多容易?
|
||||
|
||||
一个做旅游的朋友告诉我:他随便拍了几条云南的风景视频,一个月涨了10万粉丝。
|
||||
|
||||
一个做美食的大姐说:她就是拍自己做饭,三个月涨到50万粉丝。
|
||||
|
||||
但大部分人都像小美一样,在红利期"撤退"了。
|
||||
|
||||
---
|
||||
|
||||
## 小美的三个错误判断
|
||||
|
||||
**错误一:用"今天的收入"评估"未来的价值"**
|
||||
|
||||
2019年,小美的账号每个月能变现2-3万块。她觉得"也就这样了"。
|
||||
|
||||
但她没有看到:100万粉丝的账号,是一个可以持续增值的资产。三年后,同样的账号可以变现2-3百万。
|
||||
|
||||
她用"当下的收入"给账号定价,而买家用"未来的潜力"定价。
|
||||
|
||||
**错误二:高估了"创作"的难度,低估了"积累"的价值**
|
||||
|
||||
小美觉得拍视频很累,每天要选题、拍摄、剪辑、发布。
|
||||
|
||||
但她没有意识到:这些"累",恰恰是门槛。正因为累,大部分人做不到,能坚持下来的人才能吃到红利。
|
||||
|
||||
她在最应该坚持的时候,选择了放弃。
|
||||
|
||||
**错误三:把"工具"当成了"目的"**
|
||||
|
||||
小美做抖音的目的是"赚钱"。当她觉得赚钱太慢的时候,就想卖掉。
|
||||
|
||||
但更聪明的做法是:把账号当成"流量入口",用来连接其他的变现方式。
|
||||
|
||||
100万粉丝的账号,可以接广告、做直播、卖课程、做私域、孵化新号……变现路径有无数条。
|
||||
|
||||
她只看到了一条路,就觉得此路不通。
|
||||
|
||||
---
|
||||
|
||||
## 内容创业的时间窗口
|
||||
|
||||
每一波内容红利都有时间窗口:
|
||||
|
||||
- 微信公众号的红利期:2013-2016
|
||||
- 抖音的红利期:2018-2020
|
||||
- 视频号的红利期:2021-2023
|
||||
- Soul的红利期:2024-?
|
||||
|
||||
错过窗口期的人,要付出10倍的努力,才能得到1/10的结果。
|
||||
|
||||
小美在窗口期建立了优势,却在窗口期结束前把优势卖掉了。
|
||||
|
||||
---
|
||||
|
||||
## 复盘清单
|
||||
|
||||
**小美错过的核心原因:**
|
||||
- 短视思维:用今天的收入评估资产价值
|
||||
- 怕累:在需要积累的时候选择了套现
|
||||
- 单一思维:只看到一种变现方式
|
||||
|
||||
**如果你正在做内容:**
|
||||
- 粉丝是资产,不到万不得已不要卖
|
||||
- 内容创业是"熬"出来的,前期的"累"是在建护城河
|
||||
- 多想几种变现方式,不要被一条路堵死
|
||||
|
||||
**这个案例的MBTI视角:**
|
||||
小美是ESFP(表演者),喜欢即时满足,对长期坚持缺乏耐心。而那些能把账号做大的人,往往是INTJ(战略家)或ENTJ(指挥官),他们能为长期目标牺牲短期利益。
|
||||
|
||||
---
|
||||
|
||||
*"红利期建立的优势,足够你吃十年。但如果你在红利期卖掉,就什么都没有了。"*
|
||||
@@ -1,103 +0,0 @@
|
||||
# 6.4 老王的资源困局:手握千人脉,却一分钱没变现
|
||||
|
||||
> "我认识的人,比任何人都多。但我赚的钱,比谁都少。"——老王,前商会秘书长,ESFJ
|
||||
|
||||
---
|
||||
|
||||
## 一个"人脉王"的困惑
|
||||
|
||||
老王在派对房里开口的时候,声音里带着一丝苦涩。
|
||||
|
||||
"卡若,你说人脉到底有没有用?我认识几千个老板,但我自己穷得叮当响。"
|
||||
|
||||
老王,45岁,曾经是某地商会的秘书长。他的工作就是"认识人":组织商会活动、对接政企资源、撮合商业合作。
|
||||
|
||||
十年下来,他的微信好友超过8000人,其中企业老板不下2000个。
|
||||
|
||||
但他自己呢?还是拿着每月1万多的工资,住着租来的房子。
|
||||
|
||||
---
|
||||
|
||||
## 另一个"资源整合者"的故事
|
||||
|
||||
同样是做"资源对接"的工作,另一个人的结局完全不同。
|
||||
|
||||
他叫老墨,也是在商会圈子里混的。但老墨做了一件老王没做的事:他把自己的人脉资源"产品化"了。
|
||||
|
||||
老墨发现:很多老板有钱,但不知道往哪里投;很多项目缺钱,但不知道怎么找投资人。
|
||||
|
||||
于是他做了一个"资源撮合服务":
|
||||
|
||||
- 帮投资人筛选项目,收项目方的服务费
|
||||
- 帮项目方对接投资人,成功后收佣金
|
||||
- 组织高质量的小型饭局,每人收3000块的"入场费"
|
||||
|
||||
三年下来,老墨的公司年营收超过500万,自己也买了房买了车。
|
||||
|
||||
而老王,还在免费帮别人"牵线搭桥"。
|
||||
|
||||
---
|
||||
|
||||
## 老王的资源困境
|
||||
|
||||
**困境一:把"关系"当成"资源"**
|
||||
|
||||
老王认识很多人,但这些人对他来说只是"认识"而已。
|
||||
|
||||
真正的资源,是"能为你创造价值的关系"。老王和那些老板之间,缺少利益纽带。
|
||||
|
||||
他帮别人介绍了生意,别人请他吃顿饭就完了。没有持续的合作关系,就没有持续的收益。
|
||||
|
||||
**困境二:免费的服务不值钱**
|
||||
|
||||
老王做的事情,本质上是有价值的:信息撮合、资源对接、人脉引荐。
|
||||
|
||||
但因为他一直免费做,所以没有人觉得这件事"值钱"。
|
||||
|
||||
更糟糕的是,免费久了,他自己也不好意思收费了。
|
||||
|
||||
**困境三:没有建立"资源变现"的系统**
|
||||
|
||||
老王的人脉都散落在微信里,没有分类、没有标签、没有维护计划。
|
||||
|
||||
他想起谁就联系谁,想不起来就丢在那里。
|
||||
|
||||
这不是"资源管理",这是"资源浪费"。
|
||||
|
||||
---
|
||||
|
||||
## 资源资产化的方法论
|
||||
|
||||
老墨教会我一个道理:**资源只有"产品化"之后,才能变成"资产"。**
|
||||
|
||||
怎么产品化?三步走:
|
||||
|
||||
**第一步:分类和筛选**
|
||||
把你的人脉分成几类:投资人、项目方、服务商、媒体资源……每一类人的需求是什么?你能提供什么?
|
||||
|
||||
**第二步:建立服务模式**
|
||||
不要"免费帮忙",要设计一套收费的服务。哪怕只是"咨询费"、"对接费"、"服务费",有了价格,你的服务才有价值。
|
||||
|
||||
**第三步:持续经营**
|
||||
定期和关键人脉保持联系,了解他们的最新需求。你不联系,别人就忘了你。
|
||||
|
||||
---
|
||||
|
||||
## 复盘清单
|
||||
|
||||
**老王错过的核心原因:**
|
||||
- 把"认识人"等同于"有资源"
|
||||
- 免费服务降低了自己的价值感
|
||||
- 没有系统化管理和经营人脉
|
||||
|
||||
**如果你也有丰富的人脉:**
|
||||
- 思考一下:这些人脉能创造什么价值?你能提供什么服务?
|
||||
- 开始收费,哪怕只是象征性的收费
|
||||
- 建立人脉管理系统,定期维护关键关系
|
||||
|
||||
**这个案例的MBTI视角:**
|
||||
老王是ESFJ(执政官),热心助人但不擅长把服务变成产品。老墨是ENTJ(指挥官),天生懂得如何把资源变成收益。
|
||||
|
||||
---
|
||||
|
||||
*"人脉不是你认识多少人,而是多少人愿意为你创造价值。"*
|
||||
@@ -1,163 +0,0 @@
|
||||
# 7.1 投资房年轻人的迷茫:资金 vs 能力
|
||||
|
||||
钱不是答案,能守住才是能力。
|
||||
|
||||
晚上八点四十,派对房里一个年轻人上麦。
|
||||
|
||||
他说:“卡若,我手上有 50 万,是投房还是创业?”
|
||||
|
||||
我问:“你能守住这 50 万吗?”
|
||||
|
||||
他愣了。
|
||||
|
||||
——
|
||||
|
||||
在派对房的聊天里,我们经常聊资本与现金流的区别。
|
||||
|
||||
资本不看利润,看增长与打包。
|
||||
|
||||
现金流不看估值,看当天的收支与稳定。
|
||||
|
||||
你拿 50 万去投房,
|
||||
|
||||
不是买房子。
|
||||
|
||||
是买现金流、买周期、买位置与人脉的复杂组合。
|
||||
|
||||
你如果不具备这四件事,
|
||||
|
||||
投房会变成“在涨跌中消耗心理与资金”。
|
||||
|
||||
——
|
||||
|
||||
我讲了一个派对房里关于别墅的聊天。
|
||||
|
||||
有人说十年前某个项目有红利,
|
||||
|
||||
他叔在里面赚到了钱。
|
||||
|
||||
现在很多人以为“复制当年的红利”。
|
||||
|
||||
但今天的市场与政策都不同了。
|
||||
|
||||
你复制的是故事,
|
||||
|
||||
不是结构。
|
||||
|
||||
——
|
||||
|
||||
我们第二天线下见面,在咖啡馆。
|
||||
|
||||
我让他用飞书画一张“投资能力表”。
|
||||
|
||||
四项:
|
||||
|
||||
现金流能力、信息与渠道能力、风控能力、运营与增值能力。
|
||||
|
||||
每一项用三个问题自测。
|
||||
|
||||
现金流:现有收入是否稳定?抗波动能力如何?能否承担 12 个月空置或利率上升?
|
||||
|
||||
信息与渠道:是否有本地成交链路?是否认识靠谱中介与房东?是否有真实成交数据?
|
||||
|
||||
风控:最坏的情况是什么?退出路径是什么?是否有托底资金与替代方案?
|
||||
|
||||
运营与增值:是否有改造方案?是否能做社群与活动提高出租率?是否懂得打包出售?
|
||||
|
||||
测完他沉默了。
|
||||
|
||||
四项里,他只具备“现金流稳定”。
|
||||
|
||||
其他为零。
|
||||
|
||||
——
|
||||
|
||||
我说:“先别投。”
|
||||
|
||||
“先把‘能力表’补齐两项。”
|
||||
|
||||
“否则,你拿 50 万去买‘焦虑与无眠’。”
|
||||
|
||||
——
|
||||
|
||||
派对房里我们聊到资本逻辑。
|
||||
|
||||
资本不看你今天赚多少,
|
||||
|
||||
看你能不能打包资产与用户。
|
||||
|
||||
银行为什么让你 30 年还款?
|
||||
|
||||
因为它 30 小时就把你的债券化卖出去。
|
||||
|
||||
这段聊天让我告诉他:
|
||||
|
||||
“如果你不具备打包与退出能力,
|
||||
|
||||
请不要把自己当资本。”
|
||||
|
||||
——
|
||||
|
||||
他问:“那我该怎么做?”
|
||||
|
||||
我给他一个“两周训练表”。
|
||||
|
||||
第一周,做“现金流与信息链路”。
|
||||
|
||||
把你所在城市的三个板块做“成交数据与空置率”看板;
|
||||
|
||||
认识三位靠谱中介与两个房东;
|
||||
|
||||
每天花一个小时看真实挂牌与成交记录。
|
||||
|
||||
第二周,做“风控与运营”。
|
||||
|
||||
写出“最坏情况与退出路径”清单;
|
||||
|
||||
做一份“出租提升方案”:改造、社群、活动与合作商户;
|
||||
|
||||
测算“总成本与总收益”,不是“买入价与卖出价”。
|
||||
|
||||
——
|
||||
|
||||
两周后,他在派对房复盘。
|
||||
|
||||
“我改了目标。”
|
||||
|
||||
“我先做运营与现金流,不投房。”
|
||||
|
||||
“我用 10 万做一个‘内容+线下’的小项目。”
|
||||
|
||||
“等两项能力补齐,再谈房。”
|
||||
|
||||
我说:“很好。”
|
||||
|
||||
“房子不是不可以投。”
|
||||
|
||||
“是要在你具备‘守住钱与增值钱’的能力之后。”
|
||||
|
||||
——
|
||||
|
||||
派对房里我把“投资房的三问”写成清单。
|
||||
|
||||
第一问,你要买的是房还是现金流?
|
||||
|
||||
第二问,你是资本还是现金流创业者?
|
||||
|
||||
第三问,你能不能定义最坏情况并接受它?
|
||||
|
||||
三问过了再投。
|
||||
|
||||
过不了的,
|
||||
|
||||
先训练。
|
||||
|
||||
——
|
||||
|
||||
最后,我对他和派对房的人说:
|
||||
|
||||
“钱不是用来‘证明你厉害’的。”
|
||||
|
||||
“钱是用来‘守住与放大’的。”
|
||||
|
||||
“没有能力,不要让钱成为你焦虑的来源。”
|
||||
@@ -1,141 +0,0 @@
|
||||
# 7.2 信息差骗局:永远有人靠卖学习赚钱
|
||||
|
||||
学习不是收钱,是能交付能复盘。
|
||||
|
||||
晚上九点十分,派对房里一个朋友上麦。
|
||||
|
||||
他说:“有人让我交 3000 学费,说能月入过万。”
|
||||
|
||||
我问:“他自己月入过万吗?”
|
||||
|
||||
他沉默了。
|
||||
|
||||
——
|
||||
|
||||
在派对房的真实聊天里,
|
||||
|
||||
我们经常遇到“卖学习”的人。
|
||||
|
||||
他们擅长话术与故事,
|
||||
|
||||
但不擅长“交付与复盘”。
|
||||
|
||||
我说:“学习不是不能卖。”
|
||||
|
||||
“不能卖的是‘没有落地的学习’。”
|
||||
|
||||
——
|
||||
|
||||
那天的聊天很激烈。
|
||||
|
||||
我对着一个麦友说:
|
||||
|
||||
“你讲的是空手套白狼,不是项目。”
|
||||
|
||||
“你的逻辑落不了地。”
|
||||
|
||||
“先做成一个闭环再来讲。”
|
||||
|
||||
这段话现在我也经常拿出来提醒派对房的人。
|
||||
|
||||
——
|
||||
|
||||
第二天线下,我在会议室见了这个朋友。
|
||||
|
||||
我让他写“落地闭环四问”。
|
||||
|
||||
第一问,真实成交在哪里?
|
||||
|
||||
第二问,交付流程是什么?
|
||||
|
||||
第三问,复盘指标是什么?
|
||||
|
||||
第四问,最坏情况如何退出?
|
||||
|
||||
把这四问写不出来的“学习”,不要买。
|
||||
|
||||
——
|
||||
|
||||
派对房里我们复盘“卖学习”的十个套路。
|
||||
|
||||
一,晒流水无交付。
|
||||
|
||||
二,讲故事无闭环。
|
||||
|
||||
三,堆案例无验证。
|
||||
|
||||
四,培训结束无跟进。
|
||||
|
||||
五,把风险说成运气。
|
||||
|
||||
六,把合规说成聪明。
|
||||
|
||||
七,把门槛说成捷径。
|
||||
|
||||
八,把努力说成玄学。
|
||||
|
||||
九,把数据说成感觉。
|
||||
|
||||
十,把成败说成命运。
|
||||
|
||||
这十条在派对房的聊天中频繁出现。
|
||||
|
||||
——
|
||||
|
||||
我给他一个“两周验证表”。
|
||||
|
||||
第一周,做“真实成交验证”。
|
||||
|
||||
看三家客户与三次交付过程,
|
||||
|
||||
拿到一个可联系的复盘人,
|
||||
|
||||
问他“你当下用到的是什么”。
|
||||
|
||||
第二周,做“行动输出验证”。
|
||||
|
||||
把学习中的三条具体动作在你的场景里跑一遍,
|
||||
|
||||
写“结果—问题—改法”三行复盘。
|
||||
|
||||
两周后再决定是否付钱。
|
||||
|
||||
——
|
||||
|
||||
派对房里有人问:“那真正的学习是什么?”
|
||||
|
||||
我说:“是可复制的行动与复盘。”
|
||||
|
||||
“是当下可用的清单,而不是玄学。”
|
||||
|
||||
“是可追踪的指标,而不是感觉。”
|
||||
|
||||
——
|
||||
|
||||
两周后他在派对房复盘。
|
||||
|
||||
“我没有交那 3000 学费。”
|
||||
|
||||
“我找到了另一个‘交付清晰’的训练营。”
|
||||
|
||||
“每天有三条动作,每周有一次复盘。”
|
||||
|
||||
“我觉得值。”
|
||||
|
||||
我说:“学习不是不该花钱。”
|
||||
|
||||
“不该花的是‘没有闭环的学习’。”
|
||||
|
||||
——
|
||||
|
||||
我把这章收尾成一个“反信息差清单”。
|
||||
|
||||
1. 四问闭环:成交/交付/指标/退出。
|
||||
|
||||
2. 两周验证:真实交付/三条动作复盘。
|
||||
|
||||
3. 看交付不看流水,看复盘不看故事。
|
||||
|
||||
4. 合规与风控写进学习,拒绝“聪明的边缘”。
|
||||
|
||||
5. 当下可用的清单,大于宏大的叙事。
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user