更新记录

2.0(2026-08-21) 下载此版本

项目初始化


平台兼容性

uni-app(4.21)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× - - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 - -

星珠拾光(zodiac)

轻娱乐星座运势小程序:每日主题自动轮换、每日运势卡片、星座点亮、生命卡分享等玩法。 基于 uni-app + Vue 3 + TypeScript 的多端项目,支持 H5 / 微信小程序 / 支付宝小程序等平台。

技术栈

  • 框架:uni-app 3.x(vueVersion: 3)+ Vue 3.4 + TypeScript 5.9
  • 构建@uni-helper/unh + Vite 5
  • 状态管理:Pinia 2
  • UI:wot-design-uni + 自定义组件(unplugin 自动注册)
  • 后端:微信云开发(CloudBase)云函数
  • 样式:SCSS(src/uni.scss

环境要求

  • Node.js ≥ 20(推荐 20 LTS 或 22 LTS)
  • pnpm ≥ 9(项目使用 pnpm-lock.yaml,建议统一用 pnpm)
  • 微信开发者工具(开发 / 调试微信小程序、上传云函数)
  • 微信小程序 AppID:wx976accb11cb713a1(已配置在 src/manifest.json

快速开始

1. 安装依赖

pnpm install

2. 本地开发

pnpm dev                # 启动 H5(unh.config.ts 默认平台 h5)
pnpm dev -- wx          # 启动微信小程序开发 → dist/dev/mp-weixin
pnpm dev -- mp-alipay   # 启动支付宝小程序开发 → dist/dev/mp-alipay

平台别名见 unh.config.tswx = mp-weixinw / h = h5。 微信小程序调试:用微信开发者工具导入 dist/dev/mp-weixin 目录。首次使用需在开发者工具中开通「云开发」并选中正确的云环境。

3. 生产构建

pnpm build              # 构建 H5 → dist/build/h5
pnpm build -- wx        # 构建微信小程序 → dist/build/mp-weixin

4. 云函数部署

云函数源码位于 src/cloudfunctions/,共 8 个:

getDailyHoroscope / getMatchResult / getOpenId / getQrCode / initData / lightZodiac / unlockIdentity / userProfile

pnpm deploy:cloud:dev   # 部署到 dist/dev/mp-weixin(需先执行 pnpm dev -- wx)
pnpm deploy:cloud       # 先执行 build -- wx,再部署到 dist/build/mp-weixin

部署脚本(scripts/deploy-cloud.mjs)会复制云函数到对应 dist 目录并安装依赖。完成后在微信开发者工具中:

  1. 打开对应 dist 目录;
  2. 右键 cloudfunctions/ 下各函数;
  3. 选择「上传并部署:云端安装依赖」。

5. 代码质量

pnpm type-check   # vue-tsc 类型检查
pnpm lint         # ESLint 检查
pnpm lint:fix     # ESLint 检查并自动修复

常用命令速查

命令 说明
pnpm dev 启动 H5 开发服务
pnpm dev -- wx 启动微信小程序开发(产物 dist/dev/mp-weixin
pnpm build 构建 H5
pnpm build -- wx 构建微信小程序(产物 dist/build/mp-weixin
pnpm deploy:cloud 构建并部署云函数(生产)
pnpm deploy:cloud:dev 部署云函数(开发)
pnpm type-check TypeScript 类型检查
pnpm lint / pnpm lint:fix ESLint 检查 / 修复

目录结构

zodiac/
├─ src/
│  ├─ pages/             # 页面(首页、选星座、点亮落地页、个人中心、星座详情、生命卡等)
│  ├─ components/        # 自定义组件(unplugin 自动注册)
│  ├─ stores/            # Pinia 状态(用户、星座、主题)
│  ├─ utils/             # 工具库(theme.ts 每日主题、cloud.ts 云开发封装等)
│  ├─ data/              # 静态数据与运势生成算法(daily-horoscope.ts 等)
│  ├─ cloudfunctions/    # 微信云开发云函数
│  ├─ static/            # 静态资源
│  ├─ uni_modules/       # uni-app 插件
│  ├─ App.vue            # 全局生命周期(启动参数兜底、数据迁移、强制选星座引导)
│  ├─ main.ts / pages.json / manifest.json / uni.scss / theme.json
├─ scripts/
│  └─ deploy-cloud.mjs   # 云函数部署脚本
├─ docs/
│  └─ privacy-policy.md  # 隐私政策
├─ unh.config.ts         # unh 构建配置(平台默认值 / 别名)
├─ vite.config.ts / tsconfig.json / eslint.config.js

注意事项

  • 每日主题src/utils/theme.ts 按「本地自然日」0 点自动轮换,页面通过 useTodayTheme()onShow 时刷新。
  • 分享链路:分享卡片参数(sid / cid 等)由 App.onLaunch / onShow 缓存兜底,冷启动进入落地页也能正确解析。
  • 平台差异:支付宝小程序分享 path 不带前导 /,代码已用条件编译(#ifdef MP-ALIPAY)处理。

相关文档

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。