前言

作者利用业余时间开发,维护, 下载请给个好评或收藏

有问题给5星后加作者qq 2214904953 可得到及时的解答

插件交流QQ群 : 736073015

做一个新的项目就需要常用的代码,比如

  • 登录,注册 ,找回密码,用户协议,404页面(模板)
  • 全局路由守卫(路由配置)
  • Request封装(请求封装)
  • api集中管理
  • 引入依赖的UI库(color-ui,uview-ui2.0)
  • flex常用布局css,
  • 小程序更新提示代码,配置分包,等必备代码
  • utils常用工具函数
  • 全局过滤器filters
  • 配置Vuex(store)
  • 无关系组件间的通信。
  • 使用easycom模式,让您无需引入组件即可直接使用(按需加载)
  • 进可攻,退可守的架构
  • 后面持续更新

为了提高自己的效率(说白了有点懒)决定把这些作为基础模板,下次做新项目直接用就行了

效果图

1、全局路由守卫

(1) 路由拦截

uni-simple-router 路由、拦截、最优雅的解决方案

(2) 路由配置

通过 vue.config.js 配合uni-read-pages,可以随心所欲的读取 pages.json 下的所有配置

2、Request封装

适用于一项目多域名请求、七牛云图片上传、本地服务器图片上传、支持 Promise.

3、api集中管理

api集中管理; 为简化逻辑代码量整洁的原则,像调用函数一样调用api,做到代码分离,在apis目录统一创建api函数

4、小程序更新提示代码,配置分包,等必备代码

sub目录分包管理 由于微信小程序的限制,上传发布机制总包大小不能大于2m,所以项目若超出该限制,要在page.json中做分包处理,分包处理的配置与pages目录保持一致,封装更新提示代码

5、配置vuex

不需要引入每个子store模块

import Vue from "vue";
import Vuex from "vuex";Vue.use(Vuex);
const files = require.context("./modules", false, /\.js$/);
let modules = {state: {},mutations: {},actions: {}
};files.keys().forEach((key) => {Object.assign(modules.state, files(key)["state"]);Object.assign(modules.mutations, files(key)["mutations"]);Object.assign(modules.actions, files(key)["actions"]);
});
const store = new Vuex.Store(modules);
export default store;

页面使用Vuex

import { mapState,mapActions } from 'vuex';computed: {...mapState(['userInfo'])}
methods: {...mapActions(['getUserInfo'])}

通用的mutations方法,只需要写一个就行了

 //更新state数据setStateAttr(state, param) {if (param instanceof Array) {for (let item of param) {state[item.key] = item.val;}} else {state[param.key] = param.val;}}

actions调用

 async setUserData({state,commit}, data) {commit('setStateAttr', {key: 'userInfo',val: data})uni.setStorageSync('userInfo', data);},

6、全局过滤器filters

main.js引入filters,使用如下

{{shop.shopAddress|autoAddPoints}}

7、无关系组件间的通信=>事件车

事件车的基本原理就是在本项目Vue的原型对象里新生成一个Vue对象专门用来负责无关系,跨级组件间的通信

main.js声明事件bus

Vue.prototype.$bus = new Vue() // event Bus 用于无关系组件间的通信。

A组件 监听($on)

// onload 里面this.$bus.$on('updateChecked', this.updateChecked)// methods 里面
updateChecked(index){console.log('这里就拿到了跨级组件的index',index)}

B组件 触发($emit)

B组件触发A组件的updateChecked 传index值给A组件

 this.$bus.$emit('updateChecked', index);

github源码下载

插件市场源码

常见问题

1 运行不了,控制台报错,请安装依赖

npm install

后面持续更新。。。。

如果你导入源码或者学习过程中有任何问题,都可以加我qq:2214904953。大家一起学习,一起进步。
前端学习大佬群493671066,美女多多。老司机快上车,来不及解释了。

作者相关文章

反编译获取任何微信小程序源码——看这篇就够了

零基础搭建获利的美团饿了么优惠券CPS小程序(附源码)

5分钟实现微信云小程序支付功能(含源码)

基于uni-app的模板,支持h5,小程序,安卓,ios,request请求封装,全局路由拦截,也可作为项目基础模板使用相关推荐

  1. 免费开源的B2B、B2C商城系统(支持PC+小程序+Android+IOS+H5)

    真正的大师,永远都怀着一颗学徒的心! 一.项目简介 可免费二开的商城系统,支持PC端和移动端(小程序+Android+IOS+H5). 二.实现功能 首页.用户中心.分类页 产品详情.购物车.下单页 ...

  2. 微信小程序系列-wx.request 请求中文乱码问题

    method: "post",header: {'content-type': 'application/x-www-form-urlencoded;charset=utf-8', ...

  3. 微信小程序开发之——网络请求封装

    一 概述 网络请求地址放到url.js中,分别制定开发环境,体验环境,线上环境 网络请求的方法放到request.js中,暴露get.post.upload方法 请求前显示加载中,请求结束后隐藏加载中 ...

  4. 基于Uni-APP多端「h5+小程序+App」高仿抖音小视频|直播|聊天实例

    uni-ttLive 基于uni-app+uView-ui跨端开发短视频+直播聊天实例. 全新研发的一款多端仿制抖音短视频+直播+聊天项目,基于uniApp+Vue.js+Vuex+Nvue+uVie ...

  5. PHP开发B2C商城 微信小程序商城系统源码+数据库,轻量级前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP

    项目介绍 一款轻量级.高性能.前后端分离的电商系统,支持微信小程序 + H5+ 公众号 + APP,前后端源码完全开源,看见及所得,完美支持二次开发,可学习可商用,让您快速搭建个性化独立商城. 完整代 ...

  6. 基于uniapp+vue+微信小程序+安卓app电影院订票小程序H5网站设计

    开发技术:uniapp + vue + ElementUI + 微信小程序 + 安卓app + Springboot 开发工具环境:HBuilder + 微信开发者工具 + VsCode + Idea ...

  7. 【毕业设计之微信小程序系列】基于APP的微信点餐小程序的设计与实现

    基于APP的微信点餐小程序的设计与实现 摘 要 本文介绍了一种基于APP的微信点餐小程序的设计与实现方法.该系统利用微信公众号作为用户入口,用户可以通过微信扫码进入点餐系统,选择菜品.下单.支付等操作 ...

  8. 基于H5 小程序 UI框架选型 2020年9月10号

    基于H5 小程序 UI框架选型 选型标准: 1. 便于后面项目小程序 app等改造 2. 开发轻便 3. 学习成本低 4. 框架生态完整 一.方案确定 方案1 (使用原生HTML+CSS实现) 优点 ...

  9. 开源小游戏app源码和H5小游戏源码大全

    从技术上讲,微信小程序游戏框架在小程序框架中加入了程序游戏库API.因此,小程序游戏只能在小程序环境下运行,既不是原生程序游戏也不是HTML5程序游戏.也就是说,小程序游戏与HTML5程序游戏紧密相关 ...

  10. PHP酒店管理系统源码(多酒店)+数据库,酒店管理系统APP+H5+小程序预订

    酒店管理系统(多酒店) APP+H5+小程序预订 完整代码下载地址:PHP酒店管理系统源码(多酒店)+数据库 安装手册(必看) 安装手册: (1)sql在根目录(hotel.sql),需要把表导入自己 ...

最新文章

  1. ACC026简要题解
  2. Redis之七种武器
  3. the 12th UESTC Programming Contest Final Justice is Given by Light (几何+ 二分)
  4. Bind和Eval的区别详解(ZT)
  5. BeetleX之Websocket协议分析详解
  6. HTML网页结构化框架、meta标签和语义化标签
  7. mysql数据库的存储过程不用学吗,MySql数据库之存储过程学习_MySQL
  8. SQL Server中唯一索引和唯一约束之间的区别
  9. cj20n sap 报错未知列的名称_SAP,PS模块配置和操作手册
  10. 浙大python读者验证码_Python实现简单生成验证码功能【基于random模块】
  11. 20191106每日一句
  12. mysql存储过程多值_mysql存储过程之返回多个值的方法示例
  13. redis,ruby安装
  14. 计算机化学试题,08计算机化学试卷yuanj.doc
  15. 金融产业数据治理实践及方法论
  16. echarts使用复选框样式legend控制显隐
  17. VMware下安装centos6.7的步骤
  18. Vue 添加组件和跳转
  19. 通俗易懂的函数指针及函数指针数组
  20. 天圆地方· 围棋界的盲棋天才 -- 鲍云

热门文章

  1. 几点减几点怎么列算式_时间加减法怎么算
  2. 百万不是梦!盘点2012年六大IT高薪岗位
  3. 第一篇博客--有志者,事竟成
  4. 构词法——现代单词记忆十大规律
  5. 记忆测试系统c语言,单词记忆测试器程序设计.doc
  6. c语言编程十进制转八进制算法,C语言十进制如何转八进制?
  7. gopher攻击mysql_机窝安全--安全技术 | 巧用Gopher协议扩展SSRF攻击手法
  8. C# 谷歌邮箱发送邮件
  9. 计算机网络安全 的论文,计算机网络安全论文6000字
  10. [网络安全自学篇] 十.论文之基于机器学习算法的主机恶意代码