Pine
|
2fc620daa9
|
feat(website): 大厅与社区页面(四厅 Hub + 详情 + 发布 + 帖子流)
- 导航新增「大厅」「社区」;路由 hall/hall-tasks/hall-talents/hall-jobs/hall-services/community 等 14 条
- 大厅 Hub(四厅统计卡);任务大厅(模式筛选 grab/bid/register + 详情 + 发布表单,报名模式含报名数/名额与已报名态)
- 人才大厅(OPC/求职者筛选 + 档案详情:领域/技能/案例/服务列表);岗位大厅(类型筛选 + 详情 + 投递表单)
- 服务大厅(列表 + 详情含作品集与人才卡 + 咨询单 + 发布表单)
- 社区页(话题筛选帖子流 + 点赞 + 发帖;实体社区载体卡片复用 park-detail/parks 入驻流程)
- 新增 services/hall.js(/hall/* /community/* 全量请求)与 styles/hall.css(沿用既有设计语言)
|
2026-08-31 22:30:06 +08:00 |
|
Pine
|
b2ddcb1641
|
feat(website): 云南载体地图(点阵地图+载体列表+园区详情)
- 顶级页 #/map:16 州市边界点阵地图(构建期预计算 yunnan-map.json,Canvas 按容器缩放绘制+ResizeObserver 重绘),载体点位悬浮卡、市域着色与名称标注,全出血占满屏宽
- #/parks 载体列表、#/park-detail 园区详情(位置高德外链/介绍/政策/入驻流程/在园企业)
- 导航加「载体」入口;依赖 @suxiong/react-dotted-map 与 dompurify;gen:yunnan-map 脚本可再生成点阵
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-31 20:39:01 +08:00 |
|
Pine
|
442c35e9d9
|
feat(website): 活动体系与报名全流程
- 活动列表:六类型 tab 单行横滑 + 区域/模式标签 + 真实价格展示
- 活动详情:文章式双栏布局(左详情右更多活动)、富文本消毒渲染、注意事项展示、微信扫码进小程序支付(二维码+轮询)
- 我的报名:displayStatus 状态徽标与删除/取消/申诉操作
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-08-31 20:38:29 +08:00 |
|
Pine
|
9b5eb3fbbf
|
feat(website): API基址统一+扫码登录倒计时/失效蒙版+绑定状态修复
- 新增 services/base.js 统一 API_BASE(VITE_API_BASE 可覆盖),9 个 service 去硬编码
- 登录页去账密(手机号/微信/小程序);二维码倒计时+失效模糊蒙版+手动刷新(绝不自动刷新、失效即停轮询)
- AuthGate/Login logo 换标准 /logo.png;Profile 挂载即刷新绑定状态;Header refreshMe 同步头像
|
2026-08-28 17:20:31 +08:00 |
|
Pine
|
20e2f0d916
|
feat(网站): 资讯详情点赞/分享/微信式评论区同步 + Icon导入修复 + 富文本媒体限宽 + 动作条样式对齐
|
2026-08-28 17:19:37 +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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |
|