Pine
|
2251eb36a8
|
feat(web): 公开登录墙 AuthGate 支持「小程序扫码登录」(完整微信登录)
- 新增 components/MpQrLogin.jsx:小程序码轮询(mpQrStart/mpQrPoll) → applyAuthResult(profile) 登录
- AuthGate 改「手机号登录 / 小程序扫码」双 tab;小程序扫码已在微信小程序登录过的账号可一键登录网页端
- auth.css 加 .auth-debug 样式
|
2026-08-27 20:36:27 +08:00 |
|
Pine
|
3216e2399b
|
fix(auth): web 正确识别手机号与小程序/微信绑定状态
- auth.pickUser 持久化 wxBound/wxMiniBound
- Profile.refreshBind 用 fresh /auth/me 回写用户缓存与卡片,取消 stale localStorage
|
2026-08-27 20:27:02 +08:00 |
|
Pine
|
6fef616205
|
style(user-center): 服务/空状态图标改线性 SVG Icon,去掉表情符号
- Profile 我的服务宫格 + My*/空状态 用 @/components/atoms 的 Icon atom(calendar/route/map-pin/shield),禁止 emoji 图标
- user-center.css 补 uc-svc-icon/uc-empty-icon 尺寸与配色
|
2026-08-27 20:20:35 +08:00 |
|
Pine
|
4419c9265f
|
feat(user-center): 顶栏用户下拉 + 玻璃个人中心 + 我的报名/任务/园区/认证页
- Header: 登录后头像+用户名玻璃下拉(个人中心/我的报名/我的任务/我的园区/认证中心/退出);未登录显示登录/注册;移动端同步
- Profile: 玻璃用户卡(头像上传/身份标签) + 我的服务宫格(实时状态) + 报名资料 + 登录绑定
- 新增 my-bookings/my-tasks/my-park/my-cert 四页;auth.pickUser 保留 role/account_type;booking/park 新增 myBookings/myParkAdmission
- 新增 user-center.css 玻璃样式;vite build 通过
|
2026-08-27 20:15:01 +08:00 |
|
Pine
|
ed49a0b885
|
brand: 首屏防白屏底部黑改纯浅色(#f7f7f7),消除刷新露黑背景
|
2026-08-27 20:01:14 +08:00 |
|
Pine
|
aeecf9ed4c
|
brand: .logo 去除圆形徽章背景与内缩,logo 整体整幅显示
|
2026-08-27 19:56:19 +08:00 |
|
Pine
|
d364e2dd2b
|
brand: 网站 Logo 与 favicon 改用 logo.png
|
2026-08-27 19:53:45 +08:00 |
|
Pine
|
0d0969c91d
|
feat(园区端): 独立任务管理页(不弹窗) —— 登录/本园任务/发单/指派/上下架
- services/parkTask.js:园区租户登录(/park/auth/login) + 本园任务列表/发单/指派/上下架(租户token)
- platform/ParkCenter.jsx:园区独立管理页(登录墙→任务列表),行内展开做发单(可见性)/指派(成员user_id),上下架按钮——不使用弹窗
- 路由 #/park-center;页眉对 carrier 角色显示「园区管理」
|
2026-08-27 19:49:04 +08:00 |
|
Pine
|
813c7ee1aa
|
feat(web): 页眉对 service 角色显示「企业中心」入口
|
2026-08-27 19:43:43 +08:00 |
|
Pine
|
2dae55741e
|
feat(web): 企业端门户(甲方/service) —— 发布任务/竞标评审/验收结算
- services/enterprise.js:/enterprise/tasks* (发标/提交发布/竞标列表/评标中标/验收)
- platform/Enterprise.jsx:service 角色门户(登录墙+角色校验)
· 发标表单:模式/可见性/预算/名额/竞标报名·中标数/接单条件JSON/托管方式 + C端可见/公有/独占
· 我的任务列表 + 竞标查看/评标中标 + 验收通过(结算)/驳回 + 重新上架
- 路由 #/enterprise;浅色 token 样式
|
2026-08-27 19:43:05 +08:00 |
|
Pine
|
7547de82ec
|
feat(web): 任务广场/详情透出 can_accept(可接/原因) + 按角色放行抢单
- 任务卡/详情显示「✓可抢 / 条件不符(附原因)」徽标;原因展示在卡内
- 条件不符时禁用抢单按钮;未登录仅浏览、抢单/报名引导登录
- 竞标任务按钮显示「报名」;详情页同样按 can_accept 放行/禁用
- 首页「接单生态」CTA 指向 #/tasks 任务广场
|
2026-08-27 19:09:35 +08:00 |
|
Pine
|
45367204e5
|
feat(web): 任务广场公开可见(免登录) + 新增任务详情页
- services/tasks.js:listTasks/getTask 公开(免登录),myTasks/grabTask 带登录
- user/Tasks.jsx:任务广场免登录展示;「我的接单」tab 与抢单需登录(AuthGate);任务卡点击进详情
- user/TaskDetail.jsx:任务详情页(预算/分类/模式/截止/交付/人数/发包方 + 抢单),路由 #/task-detail?id=
- styles/tasks.css 补齐详情版式
|
2026-08-27 18:36:33 +08:00 |
|
Pine
|
9ae938d87d
|
feat(web): 新增「任务」菜单 + 任务广场页(接入任务系统,展示待接单)
- services/tasks.js:/opc/tasks(待接单广场) /opc/my-tasks(我的接单) /opc/tasks/{id}/grab(抢单),带 Bearer
- user/Tasks.jsx:OPC 端登录墙 + 待接单/我的接单 两个 tab;任务卡(分类/mode/预算/截止/标签/交付天数/人数) + 抢单
- App.jsx 加路由 'tasks';site.js NAV 加「任务」项
- styles/tasks.css 浅色 token 卡片(圆角24/软阴影/悬浮上移)
|
2026-08-27 18:14:56 +08:00 |
|
Pine
|
56f10e65b9
|
feat(home): 删除居中三句堆叠块,拆「没地→入驻园区」「没单→接单生态」为两个独立分栏模块
|
2026-08-27 18:06:24 +08:00 |
|
Pine
|
18ee61d262
|
feat(theme): 完全去除暗黑模式,只保留浅色(强制 light,移除 data-theme,杜绝黑屏)
- theme.js 强制 getTheme=light、applyTheme 始终移除 data-theme;Header 移除明暗切换按钮
- tokens.css 删除 [data-theme=dark] 深色覆盖块;global/home 删除深色覆盖
- 按钮系统统一双主题适配:新增 .btn-ghost 全局态,.btn-cta 改单色蓝渐变去彩虹
- 转双主题 token:opcTest/opcSurvey/policyTest/park/pineAdmin 页样式(面板→panel-2、正文→text/heading、强调→primary、状态→语义色、白描边→line)
|
2026-08-27 17:55:06 +08:00 |
|
Pine
|
669848db68
|
style(home): 柔彩 pastel 洗背景改固定层(.bg-scene)常驻视口顶部,不再随内容滚走
|
2026-08-27 17:51:10 +08:00 |
|
Pine
|
939da29fe7
|
style(home): Hero 大标题 DESIGNED TO EVOLVE 恢复彩虹字(悬浮顶部页眉下方)
|
2026-08-27 17:50:07 +08:00 |
|
Pine
|
0bf0439b90
|
style(home): 恢复英雄区顶部柔彩 pastel 背景(粉/蓝/紫光晕自顶向下渐隐,仿 portrait)
|
2026-08-27 17:49:25 +08:00 |
|
Pine
|
3fadd4971f
|
style(home): 强调词由彩虹渐变改单色蓝(hero / 小标题 .gr),彩虹按钮改单色蓝渐变(去彩虹)
|
2026-08-27 17:48:44 +08:00 |
|
Pine
|
c99c8438ce
|
style(home): 去除 hero 下方马赛克拼贴(及冗余样式/响应式)
|
2026-08-27 17:47:04 +08:00 |
|
Pine
|
0711430fd6
|
feat(home): 按 portrait.so 结构 1:1 复刻首页(内容重组为 OPC)
完全照抄 portrait.layout 节奏:
- Hero:像素彩虹大标题 + 副文 + 深色胶囊/线框按钮 + 3格方型马赛克拼贴
- F1淡紫窗口(近期活动实况) / F2淡绿窗口(陪跑路线) / F3奶油窗口(测评) / F4深色窗口(OPC名片)
- 白卡CTA带(icon胶带条) / 居中早鸟段(三句价值主张+漂浮芯片) / icon拼贴带
- 三步卡(上手很简单) / 定价卡(怎么加入·免费,无付费价,守红线) / 双列FAQ / 结尾CTA
- 深色胶囊主按钮 + 彩虹渐变强调词.pt-h .gr;保留像素彩虹标题
|
2026-08-27 17:45:24 +08:00 |
|
Pine
|
79e4ae04be
|
feat(home): 对齐 portrait 首页动线 —— Hero 下方马赛克拼贴 + 标题内联渐变强调词
- Hero 下方加 4×N 圆角渐变马赛克拼贴(抽象化 portrait 的照片网格,避免无版权照片)
- 标题内联强调词 .pt-h .ac / .ink-grad 改彩虹渐变文字(background-clip:text)
- 特征面板/居中主张沿用 portrait 的 tint分栏 + 早鸟漂浮芯片节奏
|
2026-08-27 17:41:21 +08:00 |
|
Pine
|
eecd918002
|
style(home): 页面底色改 portrait 扁平纯色(去除整页彩洗),特征面板改单色相低饱和一角辉光
|
2026-08-27 17:40:18 +08:00 |
|
Pine
|
b6428d85a0
|
style: 对齐 portrait 精确度量 shadow-sm-border(#00000008 七层)/小节标题 fluid clamp(h2-fluid, weight500)
|
2026-08-27 17:38:48 +08:00 |
|
Pine
|
382deb74d8
|
feat(home): 首页改为 portrait 真实布局,放弃重卡片网格
- 新增三句价值主张:「不会?我们提供标准的业务陪跑/没地?一键申请入驻园区/没单?我们开放接单生态」(居中段落)
- 特征分栏:左「发光渐变面板 + 单个悬浮UI窗口(近期活动/接单)」+ 右「kicker胶囊 + 大标题(内联强调色词) + 副文 + 头像墙」
- 移除原多卡片网格:统计卡×4 / 快捷入口卡×4 / 前后对比卡×2 / 三档定价卡
- 三步上手改细步骤栏;近期场次改倒计时+行列表;FAQ/报名CTA/多栏页脚保留
- 像素彩虹大标题保留
|
2026-08-27 17:35:11 +08:00 |
|
Pine
|
b438119d34
|
style(home): 大标题改像素字体+彩虹渐变;页眉改 portrait 浮动玻璃胶囊
- 自托管像素字体 BubbledotICG-FinePos(public/fonts/bubbledot.woff2),@font-face + --font-pixel
- 首页 hero 标题 .mk-display 用像素字体,第二行文字保留彩虹渐变(background-clip:text),字号/行距适配像素字
- 页眉重构为 portrait 浮动玻璃胶囊(单个圆角胶囊内含 logo+导航+个人中心+明暗切换,悬浮于顶部)
- 全局 header/nav/footer 样式同步调整;移动端折叠为汉堡+主题切换
|
2026-08-27 17:29:33 +08:00 |
|
Pine
|
f3b80ed5ef
|
fix(home): 旧vs新对比板块标题改用 MK_PRINCIPLE(移除未导入的 MK_CORE 引用)
|
2026-08-27 17:25:02 +08:00 |
|
Pine
|
211442e76d
|
feat(web): 网站按 portrait.so 重构设计系统 + 首页完全重建(浅色为主/双模式)
设计系统(明暗双模 token):
- tokens.css 重写:portrait 语义色(浅灰#f7f7f7/藏青#08304c/霓虹彩虹渐变)+ [data-theme=dark] 覆盖
- 自托管 5 套字体(Switzer/BasierCircle/OpenRunde/JetBrainsMono/Junicode),public/fonts/ 来自镜像
- global.css 主题参数化:玻璃胶囊导航/彩虹CTA/软阴影卡片/fluid标题/主题背景(替换WebGL粒子)
- organisms:Header 加明暗切换按钮(+theme.js),ParticleField 改纯CSS背景,SiteFooter 改多栏
- App.jsx 首载 initTheme(pine_theme/prefers-color-scheme)
首页完全重建(portrait 叙事结构,保留全部内容/功能,红线不展示付费价格):
- Hero(流体标题+终点彩虹渐变词+数据带) / 便捷入口四卡 / 前旧后新对比 / 三档免费产品
- 「手艺变产品」高亮带(新增) / 三步上手(新增) / 近期场次倒计时 / 测评+调研带 / FAQ手风琴(新增) / 报名CTA / 多栏页脚(新增)
其余页面(Content/Events/OPCTest/Login/forms/pine) 待单独批次同款重构
|
2026-08-27 17:23:44 +08:00 |
|
Pine
|
c5281e45ea
|
style(content): 小程序 Soft UI 浅色柔彩主题 + 封面3.35:1
- 提取 design/Soft UI.sketch 色板:柔彩(粉紫#e5a7e0/薄荷#97e1d4/天蓝#9ee1ec/#3b4f7d 文本/#edf2ff 面)
- 资讯中心/详情:浅色渐变背景 + 柔白光卡 + 圆角 + 软阴影 + 类别柔彩
- app.config window 改浅色(避开暗缝);类别颜色改 Soft 色板
- (封面统一 3.35:1 已在上条)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-27 16:00:54 +08:00 |
|
Pine
|
b88e5459cd
|
fix(content): 封面统一裁切 3.35:1(小程序/网站 卡片+详情)
|
2026-08-27 15:57:47 +08:00 |
|
Pine
|
14e52d7f73
|
feat(content): 网站卡片按 card_mode + 去 emoji 图标(内联SVG)
- Content.jsx 大/小图由 card_mode 决定,播放角标改内联SVG
- ContentDetail 动作条(点赞/转发/收藏/写留言)与留言区 emoji 全换内联SVG(Ic)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-27 15:49:16 +08:00 |
|
Pine
|
b8c8e31c7d
|
feat(content): 网站资讯独立详情页 + 留言
- 新增 user/ContentDetail.jsx 独立路由 #/content-detail?id=,微信式:标题/作者/日期/阅读X + 富文本 + 动作条(点赞/转发/收藏/写留言) + 留言区(输入+列表,登录 AuthGate)
- Content.jsx 卡片链接到独立详情页(去掉内联展开)
- services/content.js +getOne/getComments/addComment;App 路由 content-detail
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-27 15:32:56 +08:00 |
|
Pine
|
e6152cb932
|
feat(content): C端正文富文本渲染(HTML)
- 小程序 content-detail:<RichText nodes=body> 渲染 HTML(图片/视频/排版),样式对齐
- 网站 Content.jsx 详情展开:dangerouslySetInnerHTML 渲染富文本
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-27 15:01:05 +08:00 |
|
Pine
|
ef28c6127a
|
feat(content): C端资讯卡片/详情 封面·视频·发布人
- 小程序 content 卡片:封面(有则图,无则类别渐变)、视频播放角标、作者(昵称/头像,回落云超服/渐变)
- content-detail:视频或封面 + 发布人行 + 图集横滑 + 外链复制 + 正文
- 网站 Content.jsx:大图/行式混排卡片 + 封面/播放角标/发布人 + 详情展开(图集/外链)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-27 14:40:51 +08:00 |
|
Pine
|
05d19aed0f
|
feat(content): 网站 资讯中心(分类feed) + 同步小程序
- 新增 user/Content.jsx:类别分段tab(政策/资讯/技能/动态) + published列表,点击展开正文
- services/content.js:listContent(cat)
- App.jsx 路由 content、data/site.js 导航加「资讯」、Home 申请区加「资讯中心」入口
- PolicyTest(政策测评) 保留;遵守 C端网页↔小程序同步约束
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-27 14:12:22 +08:00 |
|
Pine
|
35e87889db
|
feat(c端): 补齐 OPC认证申请 + 转园申请发起页(小程序+网站)
- 小程序:新增 pages/cert-apply(OPC认证)、pages/park-transfer(转园);utils/profile.js 封装 /opc/certification/apply|mine、/opc/park-transfer/apply|mine;app.config 注册;首页/我的加入口
- 网站:新增 services/opcProfile.js、user/CertApply.jsx、user/ParkTransfer.jsx;App.jsx 路由 + Home.jsx 申请区入口
- 登录门复用 auth(phoneLogin/bindPhone/isAuthed);重复提交/已认证前端禁用;build:weapp + website build 通过
- 至此 申请入驻/OPC认证/转园 三条流:C端发起 → 园区端|平台端审核 → 回填用户 全链路打通
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-26 19:37:01 +08:00 |
|
Pine
|
600f4fc5a9
|
feat(park-apply): 小程序+网站入驻申请(园区入驻)页
- 小程序/网站新增园区入驻申请流程页,与平台/园区端入园审核联动
|
2026-08-26 19:03:30 +08:00 |
|
Pine
|
c7d9a74063
|
feat(profile): 网站个人中心「绑定小程序」—— 小程序码+扫码确认绑定
- 小程序行加「绑定」→ 显示bind-start小程序码, 轮询确认; services/auth 加 mpQrBindStart
|
2026-08-26 12:48:17 +08:00 |
|
Pine
|
d0979aa8ef
|
feat(profile): 网站个人中心加「登录与绑定」 —— 绑定手机号, 解绑 手机/小程序/微信
- Profile 页加「登录与绑定」区块: 绑定手机号(验证码), 展示+解绑 手机/小程序/微信
- services/auth.js 加 bindPhone(合并返新令牌)/unbind/me
|
2026-08-26 12:37:31 +08:00 |
|
Pine
|
d6c28b0015
|
feat(auth): 登录页移除「微信扫码」tab(只保留账号/短信/小程序)
|
2026-08-26 12:25:53 +08:00 |
|
Pine
|
a39fbc7955
|
feat(auth): 小程序扫码登录其它端口 —— 确认页+我的扫码登录
- 小程序 pages/scan-login(读scene→复用微信登录→/auth/mp-qr/confirm→目标端口登录)
- 我的页「跨端口登录·扫码登录其它端口」; auth.js mpQrConfirm
- 网站 Login.jsx PollingQr 支持 qr_image(小程序码)渲染
|
2026-08-26 12:00:09 +08:00 |
|
Pine
|
0b264ee9b3
|
feat(admission): 园区入驻申请 —— 小程序首页按钮+表单 + 网站详细流程
- 小程序: 首页首屏Hero(预约/测评后)加「申请入驻」; pages/park-apply 对照《入园申请表》全字段分区表单+资料上传; utils/parks
- 网站: #/park-apply 7步入驻wizard(选园区→申请人→企业→项目→需求→上传→承诺提交); services/park; 首页入口
- 修复循环请求(getParks入useEffect一次); 输入框样式对齐event-detail
|
2026-08-26 12:00:09 +08:00 |
|
Pine
|
b05a606df8
|
feat(auth): 网站登录页支持四种登录(账号/短信/微信扫码/小程序扫码)
- Login.jsx 改四方式Tab,PollingQr 用 @rc-component/qrcode 渲染+轮询
- auth.js 加 wxQrStart/wxQrPoll/mpQrStart/mpQrPoll/applyAuthResult;auth.css 加 tab/code-row 样式
- package.json 加 @rc-component/qrcode(锁文件只提交 npm package-lock.json)
|
2026-08-25 22:47:46 +08:00 |
|
Pine
|
18a2ad04f7
|
feat(website): 培训网站登录迁移到平台 /auth(统一账号 + 平台 JWT)
阶段2 网站侧补全(阶段3 已停用 /api/auth 登录):
- services/auth.js 端点 /api/auth/*→/auth/*:sendCode/phone-login/login/update-profile 走平台,
pine_token 存平台 JWT;用户端 X-Client:web→source=web;sendCode 兼容 stub_code→debugCode。
- updateProfile/phoneLogin/login 映射平台 profile→本地 user 契约
(username/name/avatar/phone/phoneBound/status/topics/source),与小程序一致。
- logout 改本地清除;业务(报名/测评/政策等)用平台 JWT(Phase3 培训 require_auth 已验证)。
- 不再产生 accounts 双套账号;手机验证码统一由平台下发校验。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-25 20:28:53 +08:00 |
|
Pine
|
d93e1d4226
|
feat(tasks): 小程序扫码接单 — 个人中心入口 + scan 页
- miniprogram/src/utils/tasks.js:claimByCode/getMyTasks/parseTaskCode。
- 新增 pages/scan/index(jsx/scss/config):Taro.scanCode→解析 task_code→领单→展示我的接单。
- app.config.js 注册 pages/scan/index。
- mine/index.jsx 加「扫码接单」入口卡(navigateTo scan);mine/index.scss 加样式。
- 接单走 OPC/创业者身份(后端按账号 find-or-create);属小程序增量,web C 端暂不同步。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-25 18:43:07 +08:00 |
|
Pine
|
440c15e969
|
feat(auth): 来源上报 X-Client(web/miniprogram)
- website fetch 带 X-Client:web; miniprogram 统一请求带 X-Client:miniprogram
- server-core /auth 据此识别 source, 零推断(与 desktop 端对应)
|
2026-08-25 16:32:27 +08:00 |
|
Pine
|
97054a9699
|
feat: 培训业务 Web(Vite+React)
- user 端:课程/活动/报名/测评/政策/调研
- 后端已并入 server-core/app/training,/api/* 走 opc.pinesound.cn
|
2026-08-23 22:32:42 +08:00 |
|