一、操作题
使用canvas组件实现五个圆圈的绘制
//bh.wxml
<view class="cdf">
<canvas canvas-id="ed" style="width: 300px; height: 300px;"></canvas>
</view>
//bh.js
Page({
onReady: function () {
const cgf = wx.createCanvasContext('ed');
// 绘制蓝色圆
cgf.beginPath();
cgf.arc(100, 80, 40, 0, 2 * Math.PI);
cgf.moveTo(80,80)
cgf.lineWidth=3;
cgf.strokeStyle='#0099FF'
cgf.stroke();
// 绘制黑色圆
cgf.beginPath();
cgf.arc(160, 80, 40, 0, 2 * Math.PI);
cgf.moveTo(140,80)
cgf.lineWidth=3;
cgf.strokeStyle='#000000'
cgf.stroke();
// 绘制红色圆
cgf.beginPath();
cgf.arc(220, 80, 40, 0, 2 * Math.PI);
cgf.moveTo(200,80)
cgf.lineWidth=3;
cgf.strokeStyle='#FF0000'
cgf.stroke();
// 绘制黄色圆
cgf.beginPath();
cgf.arc(130, 120, 40, 0, 2 * Math.PI);
cgf.moveTo(110,120)
cgf.lineWidth=3;
cgf.strokeStyle='#FFCC00'
cgf.stroke();
// 绘制绿色圆
cgf.beginPath();
cgf.arc(190, 120, 40, 0, 2 * Math.PI);
cgf.moveTo(170,120)
cgf.lineWidth=3;
cgf.strokeStyle='#00CC00'
cgf.stroke();
cgf.draw();
}
})
2.所有相应组件,完成书单页面
<!-- wxml文件 -->
<view class="cd1">← 书单</view>
<!-- 上面的结构 -->
<view class="cd2">
<view class="cd3">培养商业意识,走出生活,职场和事业的困境</view>
<view class="cd4">创新者是如何思考问题的?本书单包括了互联网,思维方式,商业,文案,市场,营销等方方面面,是在思维方式上的创新,略去传统商学院的教条</view>
</view>
<!-- 中间的结构 -->
<view class="hao">
<view class="imgone" style="display: flex;">
<image class="hao2" src="/pages/image/xxs.png"/>
<view class="hao3">
<view class="text1">金字塔原理</view>
<view class="text2">芭芭拉•明托(Barbara Minto)</view>
<view class="text3">金字塔原理是一种重点突出、逻辑清晰、主次分明的逻辑思路、表达方式和规范动作……</view>
</view>
</view>
<view class="vg3"></view>
<!-- 下面的结构 -->
<view class="vvv33" style="display: flex;">
<image class="ni2" src="/pages/image/xcd.png"/>
<view class="cghjk">
<view class="text1">基业长青</view>
<view class="text2">[美]吉姆•柯林斯,杰里•波勒斯</view>
<view class="text3">《基业长青(珍藏版)》打破了旧有神话,提供了新颖的见解,并为那些有志于建立经得……</view>
</view>
</view>
</view>
//bh.wxss
.cd1{
font-size: 60rpx;
margin-top: 200rpx;
}
.cd2{
background-color: black;
}
.cd3{
color: aliceblue;
text-align: center;
font-size: 45rpx;
padding: 30rpx;
}
.cd4{
color: aliceblue;
padding: 20rpx;
}
/* 中间的样式 */
.hao{
margin: 50rpx;
}
.hao3{
margin-left: 50rpx;
}
.hao2{
width: 700rpx;
height: 350rpx;
}
.ni2{
width: 700rpx;
height: 350rpx;
}
.text1{
font-size: 70rpx;
font-weight: 700;
}
.text2{
font-size: 40rpx;
font-weight: 600;
}
.vg3{
margin-top: 50rpx;
border-bottom: 4px solid #ccc;
}
/* 下面的样式 */
.vvv33{
margin-top: 50rpx;
}
.cghjk{
margin-left: 50rpx;
}
3.使用相应组件,完成西安找拼车页面
//bh.wxml
<view class="cfg">联系方式(手机和微信至少填一项)</view>
<view class="cfg1">
<view class="cf1"><text>称呼*</text><input placeholder="请输入称呼" class="cv2"/></view>
<view class="cf2"><text>手机号</text><input placeholder="请输入手机号" class="cv1"/></view>
<view class="cf3"><text>微信号</text><input placeholder="请输入微信号" class="cv1"/></view>
</view>
<view class="cfg">拼车信息</view>
<view class="cfg2">
<view class="cf1"><text>出发地点*</text><input placeholder="限7个字" class="cv4"/></view>
<view class="cf2"><text>目的地*</text><input placeholder="限7个字" class="cv1"/></view>
<view class="cf3"><text>空座数*</text><input placeholder="请输入空座数" class="cv1"/></view>
</view>
//bh.wxss
.cfg{
padding: 10px;
background-color: darkgrey;
}
.cfg1{
margin-top: 20px;
}
.cf2,.cf1,.cf3{
display: flex;
flex-direction: row;
margin-top: 30px;
margin-left: 20px;
}
.cf2,.cf3{
padding-left: 20px;
}
.cf1{
padding-left: 20px;
}
.cv2{
padding-left: 55px;
}
.cv1{
padding-left: 45px;
}
.cf2,.cf1{
border-bottom: 1px solid #ccc;
}
.cv4{
padding-left: 30px;
}
四、编程题。
“人生进程”是一款极简的小程序,它只有一个功能:就是计算一个人从出生到现在已经度过了多少个月,请编写程序完成此功能。
//bh.wxml
<view class="dd2">中国现阶段人均寿命900个月</view>
<view class="dd3">{{n}}年{{y}}月{{r}}日至今{{e}}个月</view>
<view class="dd">
<picker mode="date" start="{{startdate}}" end="{{enddate}}" value="{{date}}" bindchange="changedate">
<button style="width: 140px;"> 换一个日期</button>
</picker>
<button class="b4" style="width: 120px;" bind:tap="clean">清除记录</button>
</view>
<image src="/pages/image/cfg.jpg" mode=""/>
<view class="wz">能把在前面行走的机会抓住的人,十有八九都会成功。</view>
//bh.wxss
.dd2{
text-align: center;
}
.dd3{
text-align: center;font-weight: bold;margin-top: 10px;
}
picker{
float: left;
}
.dd{
margin: 25px 0 0 40px;
}
image{
width: 200px;
height: 380px; margin-left: 85px;
}
.wz{
font-size: 16px;margin: 0 15px;font-weight: bold;
}
//bh.js
Page({
data: {
startdate:2000,
enddate:2050,
date:'2004',
n:"2004",
y:"10",
r:"24",
e:"233"
},
changedate(e){
this.setData({date:e.detail.value});
console.log(e.detail.value);
// 将字符串转换为Date对象
let date = new Date(e.detail.value);
// 创建一个Date对象
let sjc=new Date()//当前的时间
let newyear = sjc.getFullYear(); // 获取年份
let newmonth = sjc.getMonth() + 1; // 获取月份,需要+1因为月份是从0开始的
// 获取年、月、日
let year = date.getFullYear(); // 获取年份
let month = date.getMonth() + 1; // 获取月份,需要+1因为月份是从0开始的
let day = date.getDate(); // 获取日
let yue=(newyear-year-1)*12+12-(month-newmonth)
console.log(yue);
this.setData({n:year,y:month,r:day});
this.setData({e:yue});
// 打印结果
console.log("年: " + year + ", 月: " + month + ", 日: " + day);
},
clean(){
this.setData({
n:"",
y:"",
r:"",
e:""
})
},
})