更新记录

1.0.11(2024-05-25)

  • 优化 page-view

1.0.10(2024-05-21)

  • 优化 /stores/user.js

1.0.9(2024-05-13)

  • 优化优化
查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.0 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × ×

hi-uniapp-starter

介绍

  • 一个基于 Vue3 + Vite + Pinia + hi-ui 的应用快速开发基本项目模板

使用的 Vue 相关全家桶

  • Vue3 - 版本
  • Pinia - 数据状态管理
  • Vite - 构建工具

使用的 UI 框架

  • hi-ui - 一个基于 Vue3 的轻量级 UI 框架

manifest.json 配置说明

// manifest.json
"mp-weixin": {
    // 合并组件虚拟节点外层属性
    "mergeVirtualHostAttributes": true,
    // 开启小程序按需注入特性
    "lazyCodeLoading": "requiredComponents"
},
"mp-alipay": {
    // 合并组件虚拟节点外层属性
    "mergeVirtualHostAttributes": true,
    // 开启小程序按需注入特性
    "lazyCodeLoading": "requiredComponents",
    // 组件样式隔离方式
    "styleIsolation": "shared"
}

main.js 配置说明

// main.js
import App from "./App";

// 引入 hi-ui
import "@/uni_modules/hi-config";

// 配置扩展图标前缀,支持多前缀
uni.$hi.config.icon.prefix = ["app-iconfont"];

// 引入 hiRouter 的 mixin 配置
import hiRouterMixin from "@/uni_modules/hi-router/mixin";

// #ifdef VUE3
import { createSSRApp } from "vue";

// 引入 Pinia
import * as Pinia from "pinia";

// 创建 Pinia 实例
const pinia = Pinia.createPinia();

// Pinia 持久化插件
import piniaPluginPersistedstate from "pinia-plugin-persistedstate";

// 使用 Pinia 持久化插件
pinia.use(piniaPluginPersistedstate);

export function createApp() {
    const app = createSSRApp(App);

    // 使用 Pinia
    app.use(pinia);

    // 在此处混入 hiRouter 的 mixin 配置
    app.mixin(hiRouterMixin);

    return {
        app
    };
}
// #endif

App.vue 配置说明

<!-- App.vue -->
<script setup>
    // 引入 HiRouter
    import { useHiRouter } from "@/uni_modules/hi-router";
    // 引入项目 HiRouter 配置
    import hiRouterConfig from "@/src/router/config";

    /**
     * 应用初始化时触发,全局只触发一次
     * @param {Object} opts 应用启动参数
     */
    onLaunch((opts) => {
        // 当应用初始化完成后再配置 HiRouter
        const hiRouter = useHiRouter(hiRouterConfig);

        // 将 HiRouter 函数挂载到全局
        uni.$hi.router = hiRouter;
    });
</script>

<style lang="scss">
    /* 引入 hi-ui 样式  */
    @import "@/uni_modules/hi-styles/index.scss";

    /* 引入项目全局样式 */
    @import "@/src/styles/index.scss";
</style>

开始

  • 安装依赖 - npm install

使用到的 npm 包

  • pinia-plugin-persistedstate - Pinia 状态数据持久化插件

项目目录结构

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |-- components: 组件目录 | |-- a-component: 一个基础的组件模板 | |-- page-view: 页面根元素组件,用来统一管理页面公共元素和逻辑等 |-- src: 资源目录 | |-- apis: 接口管理目录 | |-- constants: 常量管理目录 | |-- functions: 工具函数管理目录 | |-- hooks: 组合式工具函数管理目录 | |-- router: 路由管理目录 | |-- settings: 项目配置文件目录 | |-- stores: 状态数据管理目录 | |-- styles: 样式管理目录 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问