Browse Source

添加证书页面

lex 1 year ago
parent
commit
858fc48f7d

BIN
src/components/TheAuth/images/auth-title-bg.png


BIN
src/components/TheAuth/images/btn-done.png


BIN
src/components/TheAuth/images/btn-down.png


BIN
src/components/TheAuth/images/btn-up.png


BIN
src/components/TheAuth/images/downlowdCert.png


BIN
src/components/TheAuth/images/icon-close.png


BIN
src/components/TheAuth/images/mac/1.png


BIN
src/components/TheAuth/images/mac/2.png


BIN
src/components/TheAuth/images/mac/3.png


BIN
src/components/TheAuth/images/mac/4.png


BIN
src/components/TheAuth/images/mac/5.png


BIN
src/components/TheAuth/images/mac/6.png


BIN
src/components/TheAuth/images/window/1.png


BIN
src/components/TheAuth/images/window/2.png


BIN
src/components/TheAuth/images/window/3.png


BIN
src/components/TheAuth/images/window/4.png


BIN
src/components/TheAuth/images/window/5.png


BIN
src/components/TheAuth/images/window/6.png


BIN
src/components/TheAuth/images/window/7.png


BIN
src/components/TheAuth/images/window/8.png


+ 353 - 0
src/components/TheAuth/index.tsx1

@@ -0,0 +1,353 @@
+import { defineComponent, reactive, ref } from "vue";
+import styles from "./index.module.less";
+import { NButton, NScrollbar } from "naive-ui";
+import w1 from "./images/window/1.png";
+import w2 from "./images/window/2.png";
+import w3 from "./images/window/3.png";
+import w4 from "./images/window/4.png";
+import w5 from "./images/window/5.png";
+import w6 from "./images/window/6.png";
+import w7 from "./images/window/7.png";
+import w8 from "./images/window/8.png";
+
+import m1 from "./images/mac/1.png";
+import m2 from "./images/mac/2.png";
+import m3 from "./images/mac/3.png";
+import m4 from "./images/mac/4.png";
+import m5 from "./images/mac/5.png";
+import m6 from "./images/mac/6.png";
+import { browser } from "@/utils";
+
+export default defineComponent({
+  name: "the-auth",
+  emits: ["close"],
+  setup(props, { emit }) {
+    const scrollbarRef = ref();
+    const state = reactive({
+      step: 1,
+      maxStep: browser().ios ? 5 : 7
+    });
+    // 下载证书
+    const onDownload = () => {
+      // const agent = navigator.userAgent.toLowerCase();
+      const isMac = (function() {
+        return /macintosh|mac os x/i.test(navigator.userAgent);
+      })();
+      if (isMac) {
+        window.open(
+          `https://oss.dayaedu.com/https-ssl/安全证书.p12?v=${new Date().getTime()}`
+        );
+      } else {
+        window.open("https://oss.dayaedu.com/https-ssl/安全证书.pfx");
+      }
+      // emit('close');
+    };
+    return () => (
+      <div class={styles.theAuth}>
+        <div class={styles.theTitle} />
+        {/* <i class={styles.iconClose} onClick={() => emit('close')}></i> */}
+        <div class={styles.authContent}>
+          <div class={styles.steps}>
+            <NScrollbar ref={scrollbarRef}>
+              {browser().ios ? (
+                <>
+                  {state.step === 1 && (
+                    <>
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>01</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            点击下方【下载证书】按钮,下载数据安全证书安装包
+                          </p>
+
+                          <div>
+                            <div
+                              class={styles.downloadCert}
+                              onClick={onDownload}
+                            />
+                          </div>
+                        </div>
+                      </div>
+
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>02</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            双击<span>《安全证书.p12》</span>
+                            ,输入钥匙串密码 ,点击
+                            <span>【修改钥匙串】</span>
+                            <span
+                              style={{ "font-weight": 400, color: "#777777" }}
+                            >
+                              (若无此步骤则忽略)
+                            </span>
+                          </p>
+                          <div class={[styles.imgs, styles.imgs2]}>
+                            <img src={m1} class={styles.m1} />
+                            <img src={m6} class={styles.m6} />
+                          </div>
+                        </div>
+                      </div>
+                    </>
+                  )}
+
+                  {state.step === 2 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>03</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          输入证书密码:
+                          <span
+                            class={styles.red}
+                            style={{ "text-decoration": "underline" }}
+                          >
+                            colexiu.com
+                          </span>
+                          ,点击
+                          <span>【好】</span>
+                        </p>
+
+                        <div class={styles.imgs}>
+                          <img src={m2} class={styles.m2} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+
+                  {state.step === 3 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>04</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          <span class={styles.red}>重启浏览器</span>
+                          (在电脑屏幕左上方选择当前浏览器并点击
+                          <span>【退出】</span>),再重新打开音乐数字课堂网址
+                        </p>
+                        <div class={styles.imgs}>
+                          <img src={m3} class={styles.m3} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+
+                  {state.step === 4 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>05</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          在【选择证书】弹窗中点击<span>【确定】</span>按钮
+                        </p>
+                        <div class={styles.imgs}>
+                          <img src={m4} class={styles.m4} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+
+                  {state.step === 5 && (
+                    <>
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>06</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            输入您的电脑密码,点击<span>【始终允许】</span>
+                            <span
+                              style={{ "font-weight": 400, color: "#777777" }}
+                            >
+                              (若无此步骤则忽略)
+                            </span>
+                          </p>
+                          <div class={styles.imgs}>
+                            <img src={m5} class={styles.m5} />
+                          </div>
+                        </div>
+                      </div>
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>07</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            证书安装完成,开始使用音乐数字课堂吧!
+                          </p>
+                        </div>
+                      </div>
+                    </>
+                  )}
+                </>
+              ) : (
+                <>
+                  {state.step === 1 && (
+                    <>
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>01</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            点击下方【下载证书】按钮,下载数据安全证书安装包
+                          </p>
+                          <div>
+                            <div
+                              class={styles.downloadCert}
+                              onClick={onDownload}
+                            />
+                          </div>
+                        </div>
+                      </div>
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>02</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            双击<span>《安全证书.pfx》</span>,出现弹窗后点击
+                            <span>【下一步】</span>
+                          </p>
+                          <div class={[styles.imgs, styles.imgs2]}>
+                            <img src={w1} class={styles.w1} />
+                            <img src={w2} class={styles.w2} />
+                          </div>
+                        </div>
+                      </div>
+                    </>
+                  )}
+
+                  {state.step === 2 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>03</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          点击<span>【下一步】</span>
+                        </p>
+                        <div class={styles.imgs}>
+                          <img src={w3} class={styles.w3} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+
+                  {state.step === 3 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>04</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          点击<span>【下一步】</span>
+                        </p>
+                        <div class={styles.imgs}>
+                          <img src={w4} class={styles.w4} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+                  {state.step === 4 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>05</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          点击<span>【下一步】</span>
+                        </p>
+                        <div class={styles.imgs}>
+                          <img src={w8} class={styles.w8} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+                  {state.step === 5 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>06</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          点击<span>【完成】</span>
+                        </p>
+                        <div class={styles.imgs}>
+                          <img src={w5} class={styles.w5} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+                  {state.step === 6 && (
+                    <div class={styles.step}>
+                      <div class={styles.stepNum}>07</div>
+                      <div class={styles.stepContent}>
+                        <p class={styles.txt}>
+                          点击<span>【确定】</span>
+                        </p>
+                        <div class={styles.imgs}>
+                          <img src={w6} class={styles.w6} />
+                        </div>
+                      </div>
+                    </div>
+                  )}
+                  {state.step === 7 && (
+                    <>
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>08</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            <span class={styles.red}>重启浏览器</span>
+                            ,打开音乐数字课堂网址
+                          </p>
+                        </div>
+                      </div>
+
+                      <div class={styles.step}>
+                        <div class={styles.stepNum}>09</div>
+                        <div class={styles.stepContent}>
+                          <p class={styles.txt}>
+                            在【选择证书】弹窗中点击<span>【确定】</span>
+                            按钮,证书安装完成,开始使用音乐数字课堂吧!
+                            {/* (若浏览器没有弹出该弹窗请
+                        <span class={styles.red}>重启电脑</span>
+                        后重试) */}
+                          </p>
+                          <img src={w7} class={styles.w7} />
+                        </div>
+                      </div>
+                    </>
+                  )}
+
+                  {/* <div class={styles.step}>
+                    <div class={styles.stepNum}>05</div>
+                    <div class={styles.stepContent}>
+                      <p class={styles.txt}>
+                        证书安装完成,开始使用音乐数字课堂吧。
+                      </p>
+                    </div>
+                  </div> */}
+                </>
+              )}
+            </NScrollbar>
+          </div>
+
+          <div class={styles.btnGroup}>
+            {/* <NButton round type="primary" onClick={onDownload}>
+              下载证书
+            </NButton> */}
+            <div
+              class={[styles.btn, styles.btnUp]}
+              style={{
+                cursor: state.step <= 1 ? "not-allowed" : "pointer"
+              }}
+              onClick={() => {
+                if (state.step <= 1) return;
+                state.step -= 1;
+                scrollbarRef.value.scrollTo({ top: 0, left: 0 });
+              }}
+            />
+            <div
+              class={[
+                styles.btn,
+                styles.btnDown,
+                state.step === state.maxStep && styles.btnDone
+              ]}
+              onClick={() => {
+                if (state.step >= state.maxStep) {
+                  emit("close");
+                } else {
+                  state.step += 1;
+                }
+
+                scrollbarRef.value.scrollTo({ top: 0, left: 0 });
+              }}
+            />
+          </div>
+        </div>
+      </div>
+    );
+  }
+});

+ 512 - 0
src/components/TheAuth/index.vue

@@ -0,0 +1,512 @@
+<template>
+  <div class="theAuth">
+    <div class="theTitle"></div>
+    <!-- {/* <i class={styles.iconClose} onClick={() => emit('close')}></i> */} -->
+    <div class="authContent">
+      <div class="steps">
+        <div ref="scrollbarRef">
+          <div v-if="brower.ios">
+            <div v-if="step === 1">
+              <div class="step">
+                <div class="stepNum">01</div>
+                <div class="stepContent">
+                  <p class="txt">
+                    点击下方【下载证书】按钮,下载数据安全证书安装包
+                  </p>
+
+                  <div>
+                    <div class="downloadCert" @click="onDownload"></div>
+                  </div>
+                </div>
+              </div>
+
+              <div class="step">
+                <div class="stepNum">02</div>
+                <div class="stepContent">
+                  <p class="txt">
+                    双击<span>《安全证书.p12》</span>
+                    ,输入钥匙串密码 ,点击
+                    <span>【修改钥匙串】</span>
+                    <span styl="font-weight: 400; color: #777">
+                      (若无此步骤则忽略)
+                    </span>
+                  </p>
+                  <div class="imgs imgs2">
+                    <img src="./images/mac/1.png" class="m1" />
+                    <img src="./images/mac/6.png" class="m6" />
+                  </div>
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 2">
+              <div class="stepNum">03</div>
+              <div class="stepContent">
+                <p class="txt">
+                  输入证书密码:
+                  <span class="red" style="text-decoration: underline">
+                    colexiu.com
+                  </span>
+                  ,点击
+                  <span>【好】</span>
+                </p>
+
+                <div class="imgs">
+                  <img src="./images/mac/2.png" class="m2" />
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 3">
+              <div class="stepNum">04</div>
+              <div class="stepContent">
+                <p class="txt">
+                  <span class="red">重启浏览器</span>
+                  (在电脑屏幕左上方选择当前浏览器并点击
+                  <span>【退出】</span>),再重新打开音乐数字课堂网址
+                </p>
+                <div class="imgs">
+                  <img src="./images/mac/3.png" class="m3" />
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 4">
+              <div class="stepNum">05</div>
+              <div class="stepContent">
+                <p class="txt">
+                  在【选择证书】弹窗中点击<span>【确定】</span>按钮
+                </p>
+                <div class="imgs">
+                  <img src="./images/mac/4.png" class="m4" />
+                </div>
+              </div>
+            </div>
+
+            <div v-if="step === 5">
+              <div class="step">
+                <div class="stepNum">06</div>
+                <div class="stepContent">
+                  <p class="txt">
+                    输入您的电脑密码,点击<span>【始终允许】</span>
+                    <span style="font-weight: 400; color: #777">
+                      (若无此步骤则忽略)
+                    </span>
+                  </p>
+                  <div class="imgs">
+                    <img src="./images/mac/5.png" class="m5" />
+                  </div>
+                </div>
+              </div>
+              <div class="step">
+                <div class="stepNum">07</div>
+                <div class="stepContent">
+                  <p class="txt">证书安装完成,开始使用音乐数字课堂吧!</p>
+                </div>
+              </div>
+            </div>
+          </div>
+
+          <div v-else>
+            <div v-if="step === 1">
+              <div class="step">
+                <div class="stepNum">01</div>
+                <div class="stepContent">
+                  <p class="txt">
+                    点击下方【下载证书】按钮,下载数据安全证书安装包
+                  </p>
+                  <div>
+                    <div class="downloadCert" @click="onDownload"></div>
+                  </div>
+                </div>
+              </div>
+              <div class="step">
+                <div class="stepNum">02</div>
+                <div class="stepContent">
+                  <p class="txt">
+                    双击<span>《安全证书.pfx》</span>,出现弹窗后点击
+                    <span>【下一步】</span>
+                  </p>
+                  <div class="imgs imgs2">
+                    <img src="./images/window/1.png" class="w1" />
+                    <img src="./images/window/2.png" class="w2" />
+                  </div>
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 2">
+              <div class="stepNum">03</div>
+              <div class="stepContent">
+                <p class="txt">点击<span>【下一步】</span></p>
+                <div class="imgs">
+                  <img src="./images/window/3.png" class="w3" />
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 3">
+              <div class="stepNum">04</div>
+              <div class="stepContent">
+                <p class="txt">点击<span>【下一步】</span></p>
+                <div class="imgs">
+                  <img src="./images/window/4.png" class="w4" />
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 4">
+              <div class="stepNum">05</div>
+              <div class="stepContent">
+                <p class="txt">点击<span>【下一步】</span></p>
+                <div class="imgs">
+                  <img src="./images/window/8.png" class="w8" />
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 5">
+              <div class="stepNum">06</div>
+              <div class="stepContent">
+                <p class="txt">点击<span>【完成】</span></p>
+                <div class="imgs">
+                  <img src="./images/window/5.png" class="w5" />
+                </div>
+              </div>
+            </div>
+
+            <div class="step" v-if="step === 6">
+              <div class="stepNum">07</div>
+              <div class="stepContent">
+                <p class="txt">点击<span>【确定】</span></p>
+                <div class="imgs">
+                  <img src="./images/window/6.png" class="w6" />
+                </div>
+              </div>
+            </div>
+
+            <div v-if="step === 7">
+              <div class="step">
+                <div class="stepNum">08</div>
+                <div class="stepContent">
+                  <p class="txt">
+                    <span class="red">重启浏览器</span>
+                    ,打开音乐数字课堂网址
+                  </p>
+                </div>
+              </div>
+
+              <div class="step">
+                <div class="stepNum">09</div>
+                <div class="stepContent">
+                  <p class="txt">
+                    在【选择证书】弹窗中点击<span>【确定】</span>
+                    按钮,证书安装完成,开始使用音乐数字课堂吧!
+                  </p>
+                  <img src="./images/window/7.png" class="w7" />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+
+      <div class="btnGroup">
+        <div
+          class="btn btnUp"
+          :style="{ cursor: step <= 1 ? 'not-allowed' : 'pointer' }"
+          @click="
+            () => {
+              if (step <= 1) return;
+              step -= 1;
+              // scrollbarRef.value.scrollTo({ top: 0, left: 0 })
+            }
+          "
+        ></div>
+        <div
+          :class="['btn', 'btnDown', step === maxStep && 'btnDone']"
+          @click="
+            () => {
+              if (step >= maxStep) {
+                emit('close');
+              } else {
+                step += 1;
+              }
+              // scrollbarRef.value.scrollTo({ top: 0, left: 0 })
+            }
+          "
+        ></div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { browser } from "@/common/common";
+export default {
+  data: {
+    browser: browser(),
+    step: 1,
+    maxStep: browser().ios ? 5 : 7
+  },
+  methods: {
+    onDownload() {
+      const isMac = (function() {
+        return /macintosh|mac os x/i.test(navigator.userAgent);
+      })();
+      if (isMac) {
+        window.open(
+          `https://oss.dayaedu.com/https-ssl/安全证书.p12?v=${new Date().getTime()}`
+        );
+      } else {
+        window.open("https://oss.dayaedu.com/https-ssl/安全证书.pfx");
+      }
+    }
+  }
+};
+</script>
+
+<style lang="less" scoped>
+.theAuth {
+  // background-color: #fff;
+  width: 724px;
+  padding-top: 130px;
+  box-shadow: none;
+  position: relative;
+  // overflow: hidden;
+
+  .iconClose {
+    position: absolute;
+    right: 38px;
+    top: 118px;
+    width: 16px;
+    height: 16px;
+    background: url("./images/icon-close.png") no-repeat center;
+    background-size: contain;
+    cursor: pointer;
+  }
+}
+
+.theTitle {
+  position: absolute;
+  top: 0;
+  left: 0;
+  background: url("./images/auth-title-bg.png") top center no-repeat;
+  background-size: 100%;
+  width: 100%;
+  height: 142px;
+}
+
+.authContent {
+  background: linear-gradient(180deg, #e1f8ff 0%, #bbe7fd 100%);
+  border-radius: 0 0 23px 23px;
+}
+
+.steps {
+  margin: 11px 27px 0;
+  padding-top: 12px;
+
+  background: linear-gradient(
+    180deg,
+    rgba(255, 255, 255, 0.7) 0%,
+    rgba(255, 255, 255, 0.7) 88%,
+    #cdf0ff 100%
+  );
+  border-radius: 23px;
+  border: 1px solid #ffffff;
+
+  :global {
+    .n-scrollbar {
+      margin: 0 0 25px;
+      padding: 14px 25px 25px;
+      min-height: calc(55vh - 28px);
+      max-height: calc(55vh - 28px);
+    }
+  }
+}
+
+.step {
+  display: flex;
+  align-items: flex-start;
+  padding-bottom: 35px;
+
+  .stepNum {
+    width: 33px;
+    height: 33px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    text-align: center;
+    background: #b9eaff;
+    border: 1px solid #ffffff;
+    font-size: 14px;
+    font-weight: 600;
+    color: #131415;
+    border-radius: 50%;
+    margin-right: 14px;
+    flex-shrink: 0;
+  }
+
+  .stepContent {
+    .txt {
+      font-size: 14px;
+      font-family: PingFangSC, PingFang SC;
+      font-weight: 600;
+      color: #000000;
+      line-height: 33px;
+
+      span {
+        color: #1f6dec;
+      }
+
+      .red {
+        color: #e80000;
+      }
+    }
+  }
+
+  .downloadCert {
+    margin-top: 14px;
+    width: 165px;
+    height: 39px;
+    background: url("./images/downlowdCert.png") no-repeat center;
+    background-size: contain;
+    border-radius: 50px;
+    cursor: pointer;
+  }
+
+  .imgs2 {
+    display: flex;
+    align-items: flex-start;
+    padding-top: 12px;
+
+    .m6,
+    .w2 {
+      margin-left: 38px;
+    }
+  }
+
+  img {
+    border-radius: 2px;
+  }
+
+  .w1 {
+    width: 90px;
+    height: 98px;
+  }
+
+  .w2 {
+    width: 250px;
+    height: 258px;
+  }
+
+  .w3,
+  .w4,
+  .w5,
+  .w8 {
+    margin-top: 12px;
+    width: 313px;
+    height: 322px;
+  }
+
+  .w6 {
+    width: 196px;
+    height: 207px;
+  }
+
+  .w7 {
+    margin-top: 8px;
+    width: 96%;
+  }
+
+  .m1 {
+    width: 73px;
+    height: 80px;
+  }
+
+  .m6 {
+    width: 263px;
+  }
+
+  .m3 {
+    margin-top: 8px;
+    width: 358px;
+  }
+
+  .m2,
+  .m4,
+  .m5 {
+    margin-top: 8px;
+    width: 100%;
+  }
+
+  .m2 {
+    width: 90%;
+  }
+
+  .moreImg {
+    display: flex;
+    align-items: center;
+    flex-wrap: wrap;
+
+    img {
+      width: 47%;
+      margin-bottom: 32px;
+
+      &:nth-child(2n + 2) {
+        margin-left: 6%;
+      }
+    }
+  }
+}
+
+.btnGroup {
+  padding: 25px 0;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+
+  // :global {
+  //   .n-button {
+  //     height: 37px !important;
+  //     width: 223px !important;
+  //     --n-border: none !important;
+  //     --n-border-hover: none !important;
+  //     --n-border-pressed: none !important;
+  //     --n-border-focus: none !important;
+  //     background: linear-gradient(305deg, #15BBFF 0%, #1784FF 100%);
+  //     border-radius: 22px;
+  //     font-size: 15Px;
+  //     font-family: AlimamaShuHeiTi, AlimamaShuHeiTi;
+  //     font-weight: bold;
+  //     color: #FFFFFF;
+  //     line-height: 22px;
+  //     letter-spacing: 1px;
+  //   }
+  // }
+  .btn {
+    width: 165px;
+    height: 39px;
+    cursor: pointer;
+
+    + .btn {
+      margin-left: 16px;
+    }
+  }
+
+  .btnUp {
+    background: url("./images/btn-up.png") no-repeat center center;
+    background-size: contain;
+  }
+
+  .btnDown {
+    background: url("./images/btn-down.png") no-repeat center center;
+    background-size: contain;
+  }
+
+  .btnDone {
+    background: url("./images/btn-done.png") no-repeat center center;
+    background-size: contain;
+  }
+}
+</style>