|
@@ -0,0 +1,112 @@
|
|
|
+<template>
|
|
|
+ <view>
|
|
|
+ <m-nav-bar fixed title="本次考试成绩"></m-nav-bar>
|
|
|
+ <view class="top">
|
|
|
+ <view class="score">
|
|
|
+ <view class="circle">
|
|
|
+ <canvas
|
|
|
+ id="circle1"
|
|
|
+ class="circle-canvas"
|
|
|
+ canvas-id="circle1"
|
|
|
+ width="340"
|
|
|
+ height="300"
|
|
|
+ type="2d"
|
|
|
+ ></canvas>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ query: {
|
|
|
+ score: 90,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onLoad(query) {
|
|
|
+ // this.query = query
|
|
|
+ },
|
|
|
+ onReady() {
|
|
|
+ let that = this;
|
|
|
+ const query = wx.createSelectorQuery();
|
|
|
+
|
|
|
+ query
|
|
|
+ .select("#circle1")
|
|
|
+ .fields({ node: true, size: true })
|
|
|
+ .exec((res) => {
|
|
|
+ console.log(res);
|
|
|
+ const canvas = res[0].node;
|
|
|
+ const ctx = canvas.getContext("2d");
|
|
|
+ const dpr = wx.getSystemInfoSync().pixelRatio;
|
|
|
+ canvas.width = res[0].width * dpr;
|
|
|
+ canvas.height = res[0].height * dpr;
|
|
|
+ ctx.scale(dpr, dpr);
|
|
|
+ that.drawHalfCircleAndScore(ctx);
|
|
|
+ // ctx.fillRect(0, 0, 100, 100);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /**
|
|
|
+ * @function 绘制半圆和分数
|
|
|
+ * @param ctx {WechatMiniprogram.CanvasContext}
|
|
|
+ */
|
|
|
+ drawHalfCircleAndScore(ctx) {
|
|
|
+ let x1 = 85;
|
|
|
+ let y1 = 125;
|
|
|
+ let r1 = 70;
|
|
|
+ // ctx.moveTo(x1, y1);
|
|
|
+ // ctx.lineCap = "round";
|
|
|
+ // ctx.lineWidth = 20;
|
|
|
+ // ctx.strokeStyle = '#d8d8d8'
|
|
|
+ // ctx.beginPath();
|
|
|
+ // ctx.arc(x1, y1, r1, 0, Math.PI, true);
|
|
|
+ // ctx.stroke();
|
|
|
+ // ctx.draw()
|
|
|
+
|
|
|
+
|
|
|
+ ctx.moveTo(x1, y1);
|
|
|
+ var arcColor = ctx.createLinearGradient(15, 125, 155, 125);
|
|
|
+ arcColor.addColorStop(0, "#FF6D4E");
|
|
|
+ arcColor.addColorStop(1, "#FE3B2B");
|
|
|
+ ctx.strokeStyle = arcColor;
|
|
|
+ ctx.lineCap = "round";
|
|
|
+ ctx.lineWidth = 20;
|
|
|
+ ctx.beginPath();
|
|
|
+ ctx.arc(x1, y1, r1, Math.PI/2, 0, true);
|
|
|
+ ctx.stroke();
|
|
|
+ ctx.draw()
|
|
|
+
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+.top {
|
|
|
+ width: 750rpx;
|
|
|
+ height: 726rpx;
|
|
|
+ background-image: url("https://ct.zzxcx.net/ctjk/mp-wx/threeExamScore/topBg.png");
|
|
|
+ background-size: 100%;
|
|
|
+ padding: 0 30rpx;
|
|
|
+ overflow-x: hidden;
|
|
|
+ .score {
|
|
|
+ background: #fff;
|
|
|
+ width: 100%;
|
|
|
+ height: 472rpx;
|
|
|
+ margin-top: 150rpx;
|
|
|
+
|
|
|
+ border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|
|
+ .circle {
|
|
|
+ .circle-canvas {
|
|
|
+ width: 340rpx;
|
|
|
+ height: 300rpx;
|
|
|
+ margin: 0 auto;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|