# nuxtmodules **Repository Path**: zzh-company/nuxtmodules ## Basic Information - **Project Name**: nuxtmodules - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-26 - **Last Updated**: 2025-11-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # @ys_front/core - 生态警务智慧平台核心模块 [![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![License][license-src]][license-href] [![Nuxt][nuxt-src]][nuxt-href] 一个功能丰富的Nuxt.js核心模块,为生态警务智慧平台提供完整的解决方案。 - [✨  更新日志](/CHANGELOG.md) ## 🚀 主要功能 ### 核心功能 - 🎯 **全局配置管理** - 统一的配置系统,支持多环境配置 - 🎨 **UI组件库集成** - 集成Ant Design Vue和Vant移动端组件库 - 📱 **响应式设计** - 支持PC端和移动端自适应 - 🔧 **插件系统** - 模块化的插件架构,易于扩展 ### 视频播放功能 - 🎥 **H5播放器** - 基于WebRTC的H.265视频播放器 - 🎬 **插件播放器** - 支持多种视频格式的插件播放器 - 📺 **回放功能** - 完整的视频回放和录制功能 - 🎮 **播放控制** - 丰富的播放控制选项 ### 地图功能 - 🗺️ **3D地图引擎** - 基于Cesium的3D地图渲染 - 🛰️ **Mars3D集成** - 集成Mars3D地图框架 - 📍 **地理定位** - 支持GPS定位和坐标转换 - 🎯 **图层管理** - 支持KML、SHP等多种图层格式 ### 微信集成 - 📱 **微信JS-SDK** - 完整的微信JS-SDK封装 - 🔐 **签名验证** - 自动处理微信签名验证 - 📤 **分享功能** - 支持微信分享和朋友圈分享 - 📷 **扫码功能** - 集成微信扫码功能 ### 构建优化 - 📦 **自动打包** - 构建完成后自动创建ZIP压缩包 - 🧹 **文件清理** - 自动清理构建目录中的冗余文件 - ⚡ **性能优化** - 智能文件复制和缓存机制 - 🔄 **增量更新** - 支持增量文件更新,提升构建速度 ## 📦 安装 ```bash npm install @ys_front/core ``` ## ⚙️ 配置 在 `nuxt.config.ts` 中添加模块配置: ```typescript export default defineNuxtConfig({ modules: [ '@ys_front/core' ], ysCoreConfig: { // 播放器配置 player: { open: true, mode: 'h5', // 'h5' | 'plugin' appKey: 'your-app-key', appSecret: 'your-app-secret', port: 8080, protocol: 'http', ip: 'localhost', autoIp: true }, // 微信配置 wx: { open: true, appId: 'your-wechat-app-id', appSecret: 'your-wechat-app-secret' }, // 地图配置 map: { open: true, lazyLoad: false, // 是否懒加载地图资源 kml: true, // 支持KML格式 shp: true // 支持SHP格式 }, // PC端配置 pc: { open: true }, // 移动端配置 h5: true, // 可视化弹窗配置 visualDialog: { open: true, background: 'linear-gradient(135deg, #0a2a4a 0%, #1a3a5a 100%)', prefixCls: 'visual-dialog' }, // 构建配置 zip: { open: true, indexName: 'index.html', deleteOldZips: true, deleteBuildDir: false, singlePage: false, cleanHtmlFiles: true } } }) ``` ## 🎯 使用方法 ### 全局弹窗 ```vue ``` ### 视频播放器 ```vue ``` ### 地图组件 ```vue ``` ### 微信功能 ```javascript // 在组件中使用微信功能 const { $wx } = useNuxtApp() // 分享到微信 $wx.updateAppMessageShareData({ title: '分享标题', desc: '分享描述', link: '分享链接', imgUrl: '分享图片' }) // 获取位置 $wx.getLocation({ type: 'gcj02', success: (res) => { console.log('位置信息:', res) } }) ``` ## 🔌 插件系统 ### 已集成的插件 1. **glob.plugin.js** - 全局配置管理 - 解析URL查询参数 - 构建应用配置对象 - 提供全局配置访问 2. **dialog.plugin.js** - 弹窗系统 - 全局弹窗管理 - 支持多种弹窗类型 - 可视化主题配置 3. **axios.plugin.js** - HTTP请求 - 基于axios的HTTP客户端 - 请求拦截和响应拦截 - 错误处理和重试机制 4. **artemis.plugin.js** - Artemis API - Artemis服务集成 - 认证和授权 - API请求封装 5. **wx.plugin.js** - 微信SDK - 微信JS-SDK封装 - 签名验证 - 微信API调用 6. **h5player.plugin.js** - H5播放器 - H.265视频播放 - WebRTC支持 - 播放控制 7. **webplayer.plugin.js** - 插件播放器 - 多种视频格式支持 - 插件播放器集成 - 回放功能 8. **map.plugin.js** - 地图组件 - Cesium 3D地图 - Mars3D集成 - 图层管理 9. **pc.plugin.js** - PC端组件 - Ant Design Vue集成 - PC端UI组件 10. **app.plugin.js** - 移动端组件 - Vant组件库集成 - 移动端UI组件 ## 🛠️ 开发 ### 本地开发 ```bash # 安装依赖 npm install # 生成类型存根 npm run dev:prepare # 启动开发环境 npm run dev # 构建测试 npm run dev:build # 运行测试 npm run test # 发布新版本 npm run build:prod ``` ### 构建流程 1. **文件复制** - 自动复制静态资源文件 2. **插件注册** - 根据配置注册相应插件 3. **页面扩展** - 添加内置页面路由 4. **HTML清理** - 清理构建目录中的冗余HTML文件 5. **ZIP打包** - 创建部署压缩包 ## 📁 项目结构 ``` src/ ├── module.ts # 模块主文件 ├── runtime/ │ ├── plugins/ # 插件目录 │ │ ├── app.plugin.js # 移动端组件 │ │ ├── artemis.plugin.js # Artemis API │ │ ├── axios.plugin.js # HTTP请求 │ │ ├── dialog.plugin.js # 弹窗系统 │ │ ├── glob.plugin.js # 全局配置 │ │ ├── h5player.plugin.js # H5播放器 │ │ ├── map.plugin.js # 地图组件 │ │ ├── pc.plugin.js # PC端组件 │ │ ├── webplayer.plugin.js # 插件播放器 │ │ └── wx.plugin.js # 微信SDK │ ├── pages/ # 内置页面 │ ├── components/ # 组件目录 │ └── static/ # 静态资源 └── test/ # 测试文件 ``` ## 🔧 配置选项 ### player 配置 - `open`: 是否启用播放器功能 - `mode`: 播放器模式 ('h5' | 'plugin') - `appKey`: 应用密钥 - `appSecret`: 应用密钥 - `port`: 服务端口 - `protocol`: 协议类型 - `ip`: 服务器IP - `autoIp`: 是否自动获取IP ### wx 配置 - `open`: 是否启用微信功能 - `appId`: 微信应用ID - `appSecret`: 微信应用密钥 ### map 配置 - `open`: 是否启用地图功能 - `lazyLoad`: 是否懒加载地图资源 - `kml`: 是否支持KML格式 - `shp`: 是否支持SHP格式 ### zip 配置 - `open`: 是否启用ZIP打包 - `indexName`: 主页面文件名 - `deleteOldZips`: 是否删除旧的ZIP文件 - `deleteBuildDir`: 是否删除构建目录 - `singlePage`: 是否为单页面应用 - `cleanHtmlFiles`: 是否清理HTML文件 ## 📄 许可证 MIT License [npm-version-src]: https://img.shields.io/npm/v/@ys_front/core/latest.svg?style=flat&colorA=020420&colorB=00DC82 [npm-version-href]: https://npmjs.com/package/@ys_front/core [npm-downloads-src]: https://img.shields.io/npm/dm/@ys_front/core.svg?style=flat&colorA=020420&colorB=00DC82 [npm-downloads-href]: https://npm.chart.dev/@ys_front/core [license-src]: https://img.shields.io/npm/l/@ys_front/core.svg?style=flat&colorA=020420&colorB=00DC82 [license-href]: https://npmjs.com/package/@ys_front/core [nuxt-src]: https://img.shields.io/badge/Nuxt-020420?logo=nuxt.js [nuxt-href]: https://nuxt.com