diff --git a/1.png b/1.png new file mode 100644 index 0000000..0552865 Binary files /dev/null and b/1.png differ diff --git a/README.md b/README.md index 1c70300..9a96bf9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # clock +C:\Users\dell\WeChatProjects\miniprogram-4\clock\1.png diff --git a/app.json b/app.json new file mode 100644 index 0000000..362db77 --- /dev/null +++ b/app.json @@ -0,0 +1,14 @@ +{ + "pages": [ + "pages/index/index", + "pages/logs/logs" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "Weixin", + "navigationBarTextStyle": "black" + }, + "style": "v2", + "sitemapLocation": "sitemap.json" +} \ No newline at end of file diff --git a/app.ts b/app.ts new file mode 100644 index 0000000..1af73a8 --- /dev/null +++ b/app.ts @@ -0,0 +1,18 @@ +// app.ts +App({ + globalData: {}, + onLaunch() { + // 展示本地存储能力 + const logs = wx.getStorageSync('logs') || [] + logs.unshift(Date.now()) + wx.setStorageSync('logs', logs) + + // 登录 + wx.login({ + success: res => { + console.log(res.code) + // 发送 res.code 到后台换取 openId, sessionKey, unionId + }, + }) + }, +}) \ No newline at end of file diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..06c6fc9 --- /dev/null +++ b/app.wxss @@ -0,0 +1,10 @@ +/**app.wxss**/ +.container { + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + padding: 200rpx 0; + box-sizing: border-box; +} diff --git a/pages/index/debug.log b/pages/index/debug.log new file mode 100644 index 0000000..e208e75 --- /dev/null +++ b/pages/index/debug.log @@ -0,0 +1 @@ +[0604/211312.595:ERROR:registration_protocol_win.cc(102)] CreateFile: ϵͳҲָļ (0x2) diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..edd67f4 --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,118 @@ +Page({ + width:0, + height:0, + onLoad:function(){ + //获取系统信息 + wx.getSystemInfo({ + //获取系统信息成功,保存获取到的系统窗口的窗高 + success:res=>{ + this.width=res.windowWidth + this.height=res.windowWidth + } + }) + }, + timer:null, + onReady: function () { + //创建ctx实例 + var ctx =wx.creatCanvasContext('mycanvas') + //将角度转换为弧度,方便在后面使用 + //计算公式:弧度=角度*Math.PI/180 + const D6=6*Math.PI/180 + const D30=30*Math.PI/180 + const D90=90*Math.PI/180 + //获取宽和高的值 + var width=this.width,height=this.height + //计算表盘半径,留下30px外边距 + var radius=width/2-30 + //每秒绘制一次 + draw () + this.timer=setInterval(draw,1000) + //绘制函数 + function draw(){ + //设置坐标轴原点为窗口的中心点 + ctx.translate(width/2,height/2) + //绘制表盘 + drawClock(ctx,radius) + //绘制指针 + drawHand(ctx,radius) + //执行绘制 + ctx.draw() + } + //绘制表盘部分 + function drawClock(ctx,radius){ + + } + //绘制指针部分 + function drawHand(ctx,radius){ + } + function drawClock(ctx,radius){ + ctx.setLinWidth(2) + ctx.beginpath() + ctx.arc(0,0,radius,0,2*Math.PI,true) + ctx.setLineWidth(1) + ctx.beginPath() + ctx.arc(0,0,8,0,2*Math.PI,true) + ctx.stroke() + ctx.setLineWidth(5) + for(var i=0;i<12;++i){ + ctx.rotate(D30) + ctx.beginPath() + ctx.moveTo(radius,0) + ctx.lineTo(radius-15,0) + ctx.stroke() + } + ctx.setLineWidth(1) + for(var i=0;i<60;++i){ + ctx.rotate(D6) + ctx.beginPath() + ctx.moveTo(radius,0) + ctx.lineTo(radius-10,0) + ctx.stroke() + } + ctx.setFontSize(20) + ctx.textBaseline='middle' + var r=radius-30 + for(var i=1;i<=12;++i){ + var x=r*Math.cos(D30*i-D90) + var y=r*Math.sin(D30*i-D90) + if(i>10){ + ctx.fillText(i,x-12,y) + }else{ + ctx.fillText(i,x-6,y) + } + } + } + function drawHand(ctx,radius){ + var t=new Date() + var h=t.getHours() + var m=t.getMinutes() + var s=t.getSeconds() + h=h>12?h-12:h + ctx.rotate(-D90) + ctx.save() + ctx.rotate(D30*(h+m/60+s/3600)) + ctx.setLineWidth(6) + ctx.beginPath() + ctx.moveTo(-20,0) + ctx.lineTo(radius/2.6,0) + ctx.stroke() + ctx,restore() + ctx.save() + ctx.rotate(D6*(m+s/60)) + ctx.setLineWidth(4) + ctx.beginPath() + ctx.moveTo(-20,0) + ctx.lineTo(radius/1.8,0) + ctx.stroke() + ctx.restore() + ctx.save() + ctx.rotate(D6*s) + ctx.setLineWidth(2) + ctx.beginPath() + ctx.moveTo(-20,0) + ctx.lineTo(radius/1.6,0) + ctx.stroke() + ctx.restore() + } + } +}) diff --git a/pages/index/index.json b/pages/index/index.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/index/index.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/index/index.ts b/pages/index/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..c4e02a9 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/pages/index/index.wxss b/pages/index/index.wxss new file mode 100644 index 0000000..7af89fc --- /dev/null +++ b/pages/index/index.wxss @@ -0,0 +1,5 @@ +.mycanvas{ + width: 100%; + height: 100%; + position: fixed; +} \ No newline at end of file diff --git a/pages/logs/logs.json b/pages/logs/logs.json new file mode 100644 index 0000000..3ee76c1 --- /dev/null +++ b/pages/logs/logs.json @@ -0,0 +1,4 @@ +{ + "navigationBarTitleText": "查看启动日志", + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/logs/logs.ts b/pages/logs/logs.ts new file mode 100644 index 0000000..2fcfb22 --- /dev/null +++ b/pages/logs/logs.ts @@ -0,0 +1,19 @@ +// logs.ts +// const util = require('../../utils/util.js') +import { formatTime } from '../../utils/util' + +Page({ + data: { + logs: [], + }, + onLoad() { + this.setData({ + logs: (wx.getStorageSync('logs') || []).map((log: string) => { + return { + date: formatTime(new Date(log)), + timeStamp: log + } + }), + }) + }, +}) diff --git a/pages/logs/logs.wxml b/pages/logs/logs.wxml new file mode 100644 index 0000000..0b6b645 --- /dev/null +++ b/pages/logs/logs.wxml @@ -0,0 +1,6 @@ + + + + {{index + 1}}. {{log.date}} + + diff --git a/pages/logs/logs.wxss b/pages/logs/logs.wxss new file mode 100644 index 0000000..94d4b88 --- /dev/null +++ b/pages/logs/logs.wxss @@ -0,0 +1,8 @@ +.log-list { + display: flex; + flex-direction: column; + padding: 40rpx; +} +.log-item { + margin: 10rpx; +} diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/utils/util.ts b/utils/util.ts new file mode 100644 index 0000000..69a2e19 --- /dev/null +++ b/utils/util.ts @@ -0,0 +1,19 @@ +export const formatTime = (date: Date) => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + + return ( + [year, month, day].map(formatNumber).join('/') + + ' ' + + [hour, minute, second].map(formatNumber).join(':') + ) +} + +const formatNumber = (n: number) => { + const s = n.toString() + return s[1] ? s : '0' + s +}