vue3移动端脚手架(纯净,集成丰富)

news2024/10/6 22:30:27

概述

一个纯净的移动端框架 ,用到了 Vue3 + vuex + Vite3 + Vant3 + sass + eslint + stylelint + htmlhint + husky + commitlint axios + axios-adapter + VConsole + 自定义全局 loading ,自定义函数式 dialog (api模仿微信小程序),非常适合做脚手架。

详细

框架demo介绍

Vue3 + vuex + Vite3 + Vant3
sass
eslint + stylelint + htmlhint
husky + commitlint
axios + axios-adapter
VConsole(with custom plugin)
Custom components: loading
Custom components: dialog (api模仿微信小程序)

是一个纯净的前端框架,集成丰富,适合做二次开发。

代码目录结构

代码目录结构

示例代码

定义api(同时可以定义mock数据,可自己写mock逻辑)

    static login(params?: any) {
        return this.post({
          url: `/login`,
          params: params,
          statusCode: 200,
          getJsonPath() {
            const loginSuccess = import('./mock/login/login.json')
            const loginFail = import('./mock/login/loginFail.json')
            // 可以自己写逻辑判断返回不同的mock
            return loginSuccess
          }
        })
      }
    // 实现的核心代码(方便定义api的时候顺便定义mock数据)
    ![](/contentImages/image/20220805/GZzd31UCRK8Euvz0WLe.png)
    // 利用动态导入,避免非mock状态下,加载太多mock数据

使用函数式对话框

    // api 参考微信小程序 https://developers.weixin.qq.com/miniprogram/dev/api/ui/interaction/wx.showModal.html
    showModal({
        content: '测试内容',
        // showCancel: false
      })

效果截图
 

    // 实现思路
    import { createVNode, render } from "vue"
    import modal from './modal.vue'
    // 创建一个容器,用来放dialog
    const div = document.createElement('div')
    div.setAttribute('class', 'global_modal_container')
    document.body.appendChild(div)
    // 定义好输入
    export type ModalConfig = {
      title?: string,
      content: string,
      showCancel?: boolean,
      cancelText?: string,
      confirmText?: string,
      confirm?: Function,
      cancel?: Function,
      div?: HTMLDivElement,
    }
    export default (modalConfig: ModalConfig) => {
      return new Promise((resolve, reject) => {
        const confirm = () => {
            // 根据点击时间,把内容设置为null,达到取消弹窗的效果。
          render(null, div)
          resolve(true)
        }
        const cancel = () => {
          render(null, div)
        }
        // 判断如果没有回调,那么会返回Promise对象
        if (!modalConfig.confirm) {
          modalConfig.confirm = confirm
        }
        if (!modalConfig.cancel) {
          modalConfig.cancel = cancel
        }
        modalConfig.div = div
        const vnode = createVNode(modal, modalConfig)
        render(vnode, div)
      })
    }

dialog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1295233.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

选自《洛谷深入浅出进阶篇》——欧拉函数+欧拉定理+扩展欧拉定理

欧拉函数: 欧拉函数定义: 1~n中与n互质的数的个数。 比如 欧拉函数是积性函数:(也就是)当 n与m互质的时候: 由算术基本定理,我们可以设n,那么我们只要计算出的取值就能求出的取…

【后端学前端学习记录】学习计划

1、个人背景 写了足够久的后端了,常用的语言基本上都接触过,没有在工作中写过前端 一直想做一些前端的工作,但是前端技能不足加上自己审美不行,写出的界面总是很丑 所以一直对前端做不好,也没有真正下手。 2、动机 种…

C# Solidworks二次开发:选择管理器相关的API介绍

今天在讲述主要内容之前,先说一个不太相关的问题。 我之前在其他文章中看到有一些朋友在问为什么获取到的点位数据需要乘以1000进行单位转换,其实原因是这样的,在所有使用的API中如果没有特殊说明,所有的长度单位都是米&#xff…

Langchain-Chatchat大语言模型本地知识库的踩坑、部署、使用

Langchain-Chatchat的部署 Langchain-Chatchat概述实现原理 开发环境准备软件要求硬件要求 部署拉取仓库创建虚拟环境安装全部依赖初始化配置文件初始化知识库模型下载启动项目启动API服务启动Web UI服务使用对话功能知识库管理文件对话搜索引擎问答 异常集合异常1异常2异常3 L…

Linux——web网站服务(一)

一、安装httpd服务器Apache网站服务 1、准备工作 为了避免发送端口冲突,程序冲突等现象,卸载使用rpm方式安装的httpd #使用命令检查是否下载了httpd [rootserver ~]# rpm -qa httpd #如果有则使用 [rootserver ~]# rpm -e httpd --nodeps Apache的配置…

AGI 时代,小红书邀您一起复盘年度 100 件值得学习的好案例

2023 年,由 ChatGPT 引爆新一轮人工智能热潮,开启了由大模型驱动的 AGI 时代。随着 AIGC 的快速崛起,传统的研发模式是否会被 AI 颠覆也成为了巨大的未知数。面对不同规模团队与不同业务场景,企业想要找到可靠、可行、可落地的转型…

temu日本站在哪里入驻

在跨境电商领域中,Temu是拼多多推出的一款备受瞩目的平台。如今,越来越多的商家希望将自己的业务扩展到日本市场,而在Temu日本站上入驻就成为了一个不可忽视的机遇。本文将为您介绍如何在Temu日本站上入驻,并提供一些有用的技巧和…

Swing程序设计(9)复选框,下拉框

文章目录 前言一、复选框二、下拉框总结 前言 该篇文章简单介绍了Java中Swing组件里的复选框组件、列表框组件、下拉框组件,这些在系统中都是常用的组件。 一、复选框 复选框(JCheckBox)在Swing组件中的使用也非常广泛,一个方形方…

【MATLAB源码-第98期】基于matlab的能量谷优化算法(EVO)无人机三维路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 能量谷优化算法(Energy Valley Optimization, EVO)是一种启发式优化算法,灵感来源于物理学中的“能量谷”概念。它试图模拟能量在不同能量谷中的转移过程,以寻找最优解。 在EVO…

Spring boot各种Date时间相差8小时出现的问题及其解决方法!

数据库中存的是2019-07-22 22:00:00 但是页面展示2019-07-22 14:00:00 查看数据时区是08:00导致的,数据库是Oracle,生成数据库没办法改时区 一:Spring boot ResponseBody转换JSON 时 Date 时间相差8小时 一描述:当使用jackson时,…

什么是JVM的内存模型?详细阐述Java中局部变量、常量、类名等信息在JVM中的存储位置

导航: 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/黑马旅游/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码-CSDN博客 目录 一、JVM基本介绍 二、JVM内存模型 2.0 概述 2.1 类加载子系统 2.2 运行时数据区 2.2.0 基本…

使用静态HTTP提供动态内容

在Web开发中,静态HTTP和动态HTTP常被视作两种截然不同的技术。静态HTTP主要用于传输不变的内容,如HTML、CSS和JavaScript文件,而动态HTTP则能处理用户交互、实时数据等动态需求。但鲜为人知的是,我们其实可以通过一些技巧&#xf…

Python Appium Selenium 查杀进程的实用方法

一、前置说明 在自动化过程中,经常需要在命令行中执行一些操作,比如启动应用、查杀应用等,因此可以封装成一个CommandExecutor来专门处理这些事情。 二、操作步骤 # cmd_util.pyimport logging import os import platform import shutil i…

软件测试--selenium安装使用

安装selenium不少人使用pip命令来安装selenium,辛辛苦苦安装完之后,还是不能使用。所以我们可以是直接使用编译器,pycharm直接安装selenium扩展包。 file中点击settings 在Settings中点击Project Interpreter,点击加号就可以安装各种需要的扩…

SpringBoot 项目将jar 部署在服务器引用外部 配置文件

SpringBoot 官方给出了四种方式引用外部配置文件的方式 在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下(最常用)直接把配置文件放到jar包的同级目录在classpath下建一个config文件夹,然后把配置文件放进去在classpath下直接放配…

AI智能降重软件大全,免费最新AI智能降重软件

在当今信息爆炸的时代,内容创作者们面临着巨大的写作压力,如何在保持高质量的前提下提高效率成为摆在许多人面前的难题。AI智能降重软件因其独特的算法和功能逐渐成为提升文案质量的得力助手。本文将专心分享一些优秀的AI智能降重软件。 147SEO改写软件 …

unity 2d 入门 飞翔小鸟 柱子移动(十一)

c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class PoleMove : MonoBehaviour {//移动上限制public float up;//移动下限public float below;//速度private float speed;// Start is called before the first frame update…

中断分类、中断过程、向量中断

中断过程: (1)中断请求 中断源以硬件信号形式通过中断控制线路向CPU提出中断请求。 中断源:引起中断事件的原因。 中断源可以是外部的硬件设备,如键盘、打印机等输入/输出设备和各种控制设备;也可以是软件…

C/C++ 实现动态资源文件释放

当我们开发Windows应用程序时,通常会涉及到使用资源(Resource)的情况。资源可以包括图标、位图、字符串等,它们以二进制形式嵌入到可执行文件中。在某些情况下,我们可能需要从可执行文件中提取自定义资源并保存为独立的…

CV计算机视觉每日开源代码Paper with code速览-2023.12.4

点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【目标检测】TIDE: Test Time Few Shot Object Detection 论文地址:https://arxiv.org//pdf/2311.18358 开源代码:G…