微信小程序环境搭建,flex布局及仿豆瓣登录界面

2020-03-10  本文已影响0人  YYFast

1. 开发环境的搭建

1.1 小程序开发与网页开发的差异

1.2 微信开发者工具

微信开发者工具下载: 链接 (建议下载稳定版)

注册小程序: 链接 (开发时需要用到AppID)

image.png

1.3 VSCode的安装

由于微信开发者工具在写代码时,有些很常用的提示没有,不是很智能,所以可以选择VSCode来开发,并且可以下载微信开发相关的插件,非常方便;
VSCode下载链接: 链接

VSCode常用插件

google浏览器快捷键

2. 创建小程序及仿写豆瓣登录页面

打开微信开发者工具,新建一个小程序项目,AppID使用注册小程序获得的AppID:


新建项目

创建项目以后,会发现小程序的模块大体上可以分为4部分,如下图:

注意: 在右侧箭头中,存放的是你创建的pages位置,当你创建一个pages时会自动将路径保存到此处,所以有时候创建了pages后又删除了,这里的路径不删除编译会报错(亲身经历)

模块

2.1 关于Flex布局

在小程序开发中建议使用Flex布局,在其它开发语言,如JS,Dart等也是用了Flex布局,此处引用的小码哥细致的总结和其课件:
官方文档1
官方文档2

常用的CSS属性:

常用css属性

主轴:属性flex-direction:

属性flex-direction

主轴:属性justfy-content:

属性justfy-content

交叉轴:属性align-items:

属性align-items

交叉轴:属性align-content:


属性align-content

属性:align-content值对应的内容:


align-content值对应的内容

小程序发开建议使用尺寸单位rpx:

尺寸单位rpx

2.2 豆瓣登录界面搭建

效果图

豆瓣评分登录页面主要有logo,两个登录按钮,以及底部的协议信息组成,相对而言,是最简单搭建的一个页面;

首先创建一个文件夹login,然后右击文件夹,创建page;
注意: page的名字和文件夹的名称最好一致;
创建完成以后,会出现login开头的4个文件;

2.2.1 配置导航栏标题

全局的标题在app.json文件中配置navigationBarTitleText:

{
"pages": [
 "pages/login/login",
 "pages/agreement/agreement"
],
"window": {
 "backgroundTextStyle": "light",
 "navigationBarBackgroundColor": "#fff",
 "navigationBarTitleText": "豆瓣评分",
 "navigationBarTextStyle": "black"
},
"style": "v2",
"sitemapLocation": "sitemap.json"
}   

login.json中配置当前登录页面的导航栏标题:

{
    "navigationBarTitleText": "登录"
}

2.2.2 login.wxml文件

添加logo以及按钮:简单的点击建议直接使用最简单的控件view,绑定手势即可;
最外层使用一个view作为容器,方便后面的布局


<view class="container">    
   <image class="logo" src="/assets/imgs/ic_launcher.png" />
   <view class="wechat btn-login" bind:tap="wechatLogin">微信登录</view>
   <view class="douban btn-login" bind:tap="doubanLogin">已有豆瓣账号登录</view>
   <view class="agreement">
       登录表示同意 
       <view class="open" bind:tap="openAgreement">豆瓣使用协议/隐私协议</view>
     </view>
 </view>

2.2.3 login.wxss文件

控件的布局

.container {
    display: flex;          //外层container使用flex布局
    flex-direction: column; //主轴方向为上下
    align-items: center;    //交叉轴对齐方式为center
    padding: 0 40rpx;
}

.logo{
    width: 144rpx;
    height: 144rpx;
    margin: 40rpx 0;  //上下边距 40rpx 左右边距为0
}

.btn-login {                 //微信登录按钮和豆瓣按钮共有方法
    height: 80rpx;           //高度
    line-height: 80rpx;      //文本高度
    width: 100%;             //宽度占比100%
    text-align: center;      //文本居中对齐
    border-radius: 10rpx;    //圆角10rpx
}

.wechat {
    background-color: #42BD55;
    color: #fff; 
    margin-bottom: 30rpx;    //底部间距
}

.douban {
    background-color: #fff;
    color: #42BD55; 
    border: 2rpx solid #42BD55; //边框
}

.agreement{
    color: #9D9D9D;
    font-size: 24rpx;
    display: flex;        //使用flex布局
    position: absolute;   //相对布局
    bottom: 50rpx;        //相对底部50rpx (相对于当前页面)
}

.agreement .open{
    color: #4BB65C;
    margin-left: 15rpx;   //左边距15rpx
}
   

2.2.4 login.json文件

Page({
  //微信登录按钮点击方法
  wechatLogin:function(){
    console.log('wechatLogin');
  },
  
  //豆瓣登录按钮点击方法
  doubanLogin(){
    console.log('doubanLogin');
  },

  //点击协议方法
  openAgreement:function(){  
    console.log('openAgreement');
    //使用navigateTo跳转到协议界面
    wx.navigateTo({
      //url 先往上层找到pages,然后再往下找agreement文件夹,然后找到agreement对应文件  
      url: '/pages/agreement/agreement',
      success: (result) => {},
      fail: () => {},
      complete: () => {}
    });
  }
})

小程序包大小有限制,所以页面实现也比较简单,图片等资源最好放在服务器.

上一篇下一篇

猜你喜欢

热点阅读