今天开始制作一款微信小程序,一方面是巩固所学,一方面也在查漏补缺,准备尽可能的将所有电商功能模块都做出来,首先是准备工作。

这是微信小程序开发文档,下载微信开发者工具,我的开发者工具版本为1.03.2006090(突然改了界面好不习惯),UI库我选择了Vant Weapp。准备就绪,出发!

1、新建项目

打开微信开发者工具,点击新建项目进入以下界面

  • 项目名称:填写你的项目名称
  • 目录:选择项目保存的路径
  • AppID:填写appid,若无可使用测试号
  • 开发模式:小程序
  • 后端服务:我这里选择不使用云服务,因为还没有了解云开发

点击新建按钮进入以下界面

这是微信官方的HelloWorld示例,项目包含以下部分:

  • pages  存放页面文件
  • utils  存放工具文件
  • app.js  小程序启动逻辑
  • app.json  小程序公共配置
  • app.wxss  小程序公共样式表
├── app.js
├── app.json
├── app.wxss
├── pages
│   │── index
│   │   ├── index.wxml
│   │   ├── index.js
│   │   ├── index.json
│   │   └── index.wxss
│   └── logs
│       ├── logs.wxml
│       └── logs.js
└── utils

2、添加底部tab栏 

首先先下载两个图标,因为tabbar不支持网络图片,这里我选择去iconfont下载图标,建议尺寸为81px*81px。下载后在小程序根目录下新建static/img文件夹,把刚刚下载的图标存进img文件夹中。

接着配置tabbar,打开app.json,配置项如下:

属性 类型 必填 描述 最低版本
pages string[] 页面路径列表  
window Object 全局的默认窗口表现  
tabBar Object 底部 tab 栏的表现  
networkTimeout Object 网络超时时间  
debug boolean 是否开启 debug 模式,默认关闭  
functionalPages boolean 是否启用插件功能页,默认关闭 2.1.0
subpackages Object[] 分包结构配置 1.7.3
workers string Worker 代码放置的目录 1.9.90
requiredBackgroundModes string[] 需要在后台使用的能力,如「音乐播放」  
plugins Object 使用到的插件 1.9.6
preloadRule Object 分包预下载规则 2.3.0
resizable boolean PC 小程序是否支持用户任意改变窗口大小(包括最大化窗口);iPad 小程序是否支持屏幕旋转。默认关闭 2.3.0
usingComponents Object 全局自定义组件配置 开发者工具 1.02.1810190
permission Object 小程序接口权限相关设置 微信客户端 7.0.0
sitemapLocation string 指明 sitemap.json 的位置  
style string 指定使用升级后的weui样式 2.8.0
useExtendedLib Object 指定需要引用的扩展库 2.2.1
entranceDeclare Object 微信消息用小程序打开 微信客户端7.0.9
darkmode boolean 小程序支持 DarkMode 2.11.0
themeLocation string 指明 theme.json 的位置,darkmode为true为必填 开发者工具 1.03.2004271
lazyCodeLoading string 配置自定义组件代码按需注入 2.11.1
singlePage Object 单页模式相关配置 2.12.0

pages属性如下:

"pages":["pages/index/index","pages/logs/logs"],

这表示小程序有两个页面,一个index,另一个logs,它与资源管理器中文件相对应:

删除时需要将两处都删除,否则报错。

我这边准备添加一个个人中心页面,先在pages属性中新增一行"pages/user/user",编译后会该代码会匹配pages文件夹下的user页面文件,如果不存在会自动添加。

然后添加tabBar属性进行配置,helloworld示例中未配置,具体配置及注释如下图:

"tabBar": {"color": "#000000",  //tab 上的文字默认颜色,仅支持十六进制颜色"selectedColor": "#00BFFF", //tab 上的文字选中时的颜色,仅支持十六进制颜色"backgroundColor": "#FFFFFF",  //tab 的背景色,仅支持十六进制颜色"borderStyle": "black",  //tabbar 上边框的颜色, 仅支持 black / white"position": "bottom",  //tabBar 的位置,仅支持 bottom / top"custom": false,  //自定义tabBar"list": [  //tab 的列表,最少 2 个、最多 5 个 tab{"pagePath": "pages/index/index",  //页面路径,必须在 pages 中先定义"text": "首页",  //tab 上按钮文字"iconPath": "static/img/index.png",  //图片路径,不支持网络图片,当 position 为 top 时,不显示 icon"selectedIconPath": "/static/img/selectedIndex.png"  //选中时的图片路径,不支持网络图片,当 position 为 top 时,不显示 icon},{"pagePath": "pages/user/user","text": "个人中心","iconPath": "static/img/user.png","selectedIconPath": "/static/img/selectedUser.png"}]}

以上代码中的注释便于查看,实际使用中json格式不可以注释

编译后效果如下图:

然后我将pages属性中的logs路径及pages文件夹下的logs文件删除,把index页面的内容包括wxml和wxss以及js的事件函数全部删除,下一篇开始设计开发首页。

ps:第一次写这样的博客,旨在整理大脑里杂乱无章的东西。本系列内容算是自己的总结,主要面向初学者。如果能给新人一些帮助我会很高兴,如果大佬看到了能指出文中某些不足那再好不过。

成长源于失败!

从零开始的微信小程序线上商城开发(一)相关推荐

  1. 微信小程序线上预约管理系统

    微信小程序线上预约管理系统 核心代码展示 /** * 人员列表 * @param {Object} $table 表名 * @param {Object} $pageindex 分页page * @p ...

  2. Java设计-微信小程序线上点餐/外卖项目+后台管理系统

    文章目录 XOrder 前言 环境 微信开发者工具 Java开发环境 Vue开发环境 成果展示 小程序端 小程序前端 扫码点餐 文件树 技术选型 鸣谢 小程序后端 文件树 技术选型 项目总结 未完成的 ...

  3. 微信小程序线上点餐问题及解决

    2019.5.22 1.当我们遍历出数据库中菜单的菜品时,需要为其单个产品添加数量的问题. 解决:在表中加入 购买数量(buycount)的字段 然后,在js文件中,控制当前对象中的buycount ...

  4. 基于微信小程序线上生鲜选购平台

  5. 微信小程序之商用商城小程序

    微信小程序之商用商城小程序 https://pan.baidu.com/s/1CdxrlV7GeRRmsT9UWEMtJg 码cygy 2. 用户端需求列表 分类 主要功能点 功能特性描述 首页 搜索 ...

  6. 商城前端模板_如何理解微信小程序和微商城,微信公众号以及APP之间的关系?一张图看懂了!...

    老张的一位粉丝,花了几天时间把知乎里面分享的一些关于微信小程序,微信商城,微信公众号,以及APP的相关介绍全看完了. 然后用他自己的话描述了微信小程序和微商城,微信公众号以及APP之间的关系,如下图所 ...

  7. 【微信小程序宝典】从零开始做微信小程序开发

    开发前必读简要 基于大量无效开发,无法上线的案例,所以开发前部分知识十分重要:| 链接 微信小程序个人注册简单步骤 打开mp.weixin.qq.com,点击右上角立即注册,进入小程序注册| 链接 微 ...

  8. 微信小程序-计算器小程序《从零开始学微信小程序》

    主界面的代码块 <!--pages/tabbar2/complexCalc/complexCalc.wxml--> <view class="container" ...

  9. 基于毕设的微信小程序校园二手商城实现(一)

    商城系统没花多少时间在UI美化上,主要实现了微信小程序校园二手商城的一些主要功能.界面是丑了点,但是在开发中学习到了很多的东西.还是非常值得的. 下面来看主界面的主要布局代码,主要知识点是html+c ...

最新文章

  1. 软件工程技术基础-(软件复用技术)
  2. 公开课-C++学习路线实战导引:从0开始到操作系统内核开发
  3. 用dedecms自定义表单创建简易自助预约系统
  4. java符号引用 直接引用_JVM的符号引用和直接引用
  5. windows 8文件操作帮助类FileHelper
  6. 标星7000+,这个 Python 艺术二维码生成器厉害了!
  7. thinkphp5部署于Linux中nginx多站点解决方案
  8. 『Numpy』内存分析_利用共享内存创建数组
  9. 春考计算机组装与维护,计算机组装与维护教程(高职高专计算机系列)
  10. java 栅栏_Java并发包之闭锁/栅栏/信号量(转)
  11. 傻瓜式自制鼠标光标,超简单
  12. GoF设计模式(不全)
  13. Android内存泄漏总结,成功拿下大厂offer
  14. 【教程】Ubuntu20.04 + VirtualBox 各种软件环境安装
  15. android证书在线生成方法
  16. 基于机器学习的Adam 优化算法来提高深层神经网络的训练速度
  17. The type new ActionListener(){} must implement the inherited abstract method ActionListener.actionPe
  18. postfix+dovecot+openldap+extmail+spamassassin+M...
  19. 软件测试之linux——自动化
  20. 第十五章 文正学院成绩录入系统

热门文章

  1. Python爬取小说实例
  2. vscode 连接远程一直提示输入密码问题解决
  3. 数学建模专栏 | 开篇:如何备战数学建模竞赛之 MATLAB 编程
  4. c++ 头文件的创建和使用,头文件与源文件的命名关系,#include <头文件> 和 #include “头文件“的关系
  5. 基于springboot高校闲置物品交易系统微信小程序源码和论文
  6. python activiti_Appium Python 六:管理应用和Activity
  7. mysql跳过sock配置项_烦死。装个MYSQl启动时老是说mysql.sock不存在
  8. MATLAB向量的模和MATLAB向量点积、MATLAB等差元素向量
  9. Hbase高手之路 -- 第二章 -- HBase集群的搭建
  10. 【STM32F10系列实操笔记】系统时钟的配置