@ -0,0 +1,17 @@
|
|||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
onLaunch: function() {
|
||||||
|
console.log('App Launch')
|
||||||
|
},
|
||||||
|
onShow: function() {
|
||||||
|
console.log('App Show')
|
||||||
|
},
|
||||||
|
onHide: function() {
|
||||||
|
console.log('App Hide')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/*每个页面公共css */
|
||||||
|
</style>
|
@ -0,0 +1,20 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<script>
|
||||||
|
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||||
|
CSS.supports('top: constant(a)'))
|
||||||
|
document.write(
|
||||||
|
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||||
|
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||||
|
</script>
|
||||||
|
<title></title>
|
||||||
|
<!--preload-links-->
|
||||||
|
<!--app-context-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"><!--app-html--></div>
|
||||||
|
<script type="module" src="/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,22 @@
|
|||||||
|
import App from './App'
|
||||||
|
|
||||||
|
// #ifndef VUE3
|
||||||
|
import Vue from 'vue'
|
||||||
|
import './uni.promisify.adaptor'
|
||||||
|
Vue.config.productionTip = false
|
||||||
|
App.mpType = 'app'
|
||||||
|
const app = new Vue({
|
||||||
|
...App
|
||||||
|
})
|
||||||
|
app.$mount()
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// #ifdef VUE3
|
||||||
|
import { createSSRApp } from 'vue'
|
||||||
|
export function createApp() {
|
||||||
|
const app = createSSRApp(App)
|
||||||
|
return {
|
||||||
|
app
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// #endif
|
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"name" : "randomcall",
|
||||||
|
"appid" : "__UNI__A58238D",
|
||||||
|
"description" : "",
|
||||||
|
"versionName" : "1.0.0",
|
||||||
|
"versionCode" : "100",
|
||||||
|
"transformPx" : false,
|
||||||
|
/* 5+App特有相关 */
|
||||||
|
"app-plus" : {
|
||||||
|
"usingComponents" : true,
|
||||||
|
"nvueStyleCompiler" : "uni-app",
|
||||||
|
"compilerVersion" : 3,
|
||||||
|
"splashscreen" : {
|
||||||
|
"alwaysShowBeforeRender" : true,
|
||||||
|
"waiting" : true,
|
||||||
|
"autoclose" : true,
|
||||||
|
"delay" : 0
|
||||||
|
},
|
||||||
|
/* 模块配置 */
|
||||||
|
"modules" : {},
|
||||||
|
/* 应用发布信息 */
|
||||||
|
"distribute" : {
|
||||||
|
/* android打包配置 */
|
||||||
|
"android" : {
|
||||||
|
"permissions" : [
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
/* ios打包配置 */
|
||||||
|
"ios" : {
|
||||||
|
"dSYMs" : false
|
||||||
|
},
|
||||||
|
/* SDK配置 */
|
||||||
|
"sdkConfigs" : {
|
||||||
|
"ad" : {}
|
||||||
|
},
|
||||||
|
"icons" : {
|
||||||
|
"android" : {
|
||||||
|
"xxhdpi" : "static/logo.png"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/* 快应用特有相关 */
|
||||||
|
"quickapp" : {},
|
||||||
|
/* 小程序特有相关 */
|
||||||
|
"mp-weixin" : {
|
||||||
|
"appid" : "wx0874fe247e4282a3",
|
||||||
|
"setting" : {
|
||||||
|
"urlCheck" : false
|
||||||
|
},
|
||||||
|
"usingComponents" : true,
|
||||||
|
"permission" : {}
|
||||||
|
},
|
||||||
|
"mp-alipay" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-baidu" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-toutiao" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"uniStatistics" : {
|
||||||
|
"enable" : false
|
||||||
|
},
|
||||||
|
"vueVersion" : "3"
|
||||||
|
}
|
@ -0,0 +1,123 @@
|
|||||||
|
{
|
||||||
|
"pages": [
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "pages/index/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "小课堂"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/shop/shop",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "商城"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/information/information",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "个人信息"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/rank/rank",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "排行榜"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/rank/mine rank/mine rank",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "我的排名"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/index/question/question",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "学生签到"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/index/attendance/attendance",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "随机点名"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/login/zhuce/shenfen",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "注册"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/login/zhuce/register/register",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "注册"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/login/zhuce/register/teacher",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "注册"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/login/stulogin",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "登录"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/login/login",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "登录"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
],
|
||||||
|
"tabBar": {
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"pagePath": "pages/index/index",
|
||||||
|
"text": "首页",
|
||||||
|
"iconPath": "static/home2.png",
|
||||||
|
"selectedIconPath": "static/home1.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/shop/shop",
|
||||||
|
"text": "商城",
|
||||||
|
"iconPath": "static/shop2.png",
|
||||||
|
"selectedIconPath":"static/shop1.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/rank/rank",
|
||||||
|
"text": "排行榜",
|
||||||
|
"iconPath":"static/rank2.png",
|
||||||
|
"selectedIconPath": "static/rank1.png"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pagePath": "pages/information/information",
|
||||||
|
"text": "我的",
|
||||||
|
"iconPath": "static/my2.png",
|
||||||
|
"selectedIconPath": "static/my1.png"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"globalStyle": {
|
||||||
|
"navigationBarTextStyle": "black",
|
||||||
|
"navigationBarTitleText": "小课堂",
|
||||||
|
"navigationBarBackgroundColor": "#f8f8f8",
|
||||||
|
"backgroundColor": "#f8f8f8"
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,137 @@
|
|||||||
|
<template>
|
||||||
|
|
||||||
|
<view class="header">
|
||||||
|
<navigator url="/pages/login/login">
|
||||||
|
<image src="../../static/exit.png" class="exit" style="height: 32px;width: 32px;"></image>
|
||||||
|
</navigator>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="profile-container">
|
||||||
|
<!-- Static Avatar -->
|
||||||
|
<navigator url="/pages/login/login">
|
||||||
|
<view class="avatar-display">
|
||||||
|
<image src='../../static/ava.png' mode="aspectFit" class="avatar-image" />
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
|
||||||
|
<!-- Editable Personal Information -->
|
||||||
|
<view class="form">
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="label">姓名</text>
|
||||||
|
<input v-model="name" class="info-input" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="label">学号</text>
|
||||||
|
<input v-model="studentId" class="info-input" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="label">班级</text>
|
||||||
|
<input v-model="className" class="info-input" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="label">年龄</text>
|
||||||
|
<input v-model="age" class="info-input" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="label">专业</text>
|
||||||
|
<input v-model="major" class="info-input" />
|
||||||
|
</view>
|
||||||
|
<button @click="saveInfo" class="save-button">保存信息</button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
name: '',
|
||||||
|
studentId: '',
|
||||||
|
className: '',
|
||||||
|
age: '',
|
||||||
|
major: ''
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
saveInfo() {
|
||||||
|
// Logic to save the information
|
||||||
|
uni.showToast({
|
||||||
|
title: '信息已保存',
|
||||||
|
icon: 'success'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.header{
|
||||||
|
display: flex;
|
||||||
|
justify-content: right;
|
||||||
|
margin: 10px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.exit{
|
||||||
|
font-weight: bold;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.profile-container {
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-display {
|
||||||
|
margin-top: 20px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar-image {
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
margin-top: 40px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group {
|
||||||
|
margin-bottom: 15px;
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-input {
|
||||||
|
margin: 5px auto;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: 5px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info {
|
||||||
|
margin-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.save-button {
|
||||||
|
margin-top: 30px;
|
||||||
|
background-color: #1E90FF;
|
||||||
|
width: 320px;
|
||||||
|
height: 60px;
|
||||||
|
color: white;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 5px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,169 @@
|
|||||||
|
<template>
|
||||||
|
<view class="login-container">
|
||||||
|
<!-- Login Form -->
|
||||||
|
<view class="form">
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">👤</text>
|
||||||
|
<input class="input" v-model="form.username" placeholder="请输入账号" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">🔒</text>
|
||||||
|
<input class="input" v-model="form.password" type="password" placeholder="请输入密码" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<button class="login-button" @click="login">登录</button>
|
||||||
|
<button class="register-button" @click="navigateToRegister">注册</button>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
const form = ref({
|
||||||
|
username: '',
|
||||||
|
password: ''
|
||||||
|
});
|
||||||
|
|
||||||
|
const loginData = ref([]);
|
||||||
|
|
||||||
|
const navigateToRegister = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/zhuce/shenfen',
|
||||||
|
success: res => {
|
||||||
|
console.log("成功跳转到注册页面");
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
console.error("跳转失败:", err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const login = async () => {
|
||||||
|
try {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: "http://10.198.140.41:3000/api/teacher/login",
|
||||||
|
method: 'POST',
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json' // 设置请求头为 JSON 格式
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
username: form.value.username,
|
||||||
|
password: form.value.password
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("响应数据:", res.data); // 打印响应数据
|
||||||
|
console.log("登录信息:",form.value);
|
||||||
|
|
||||||
|
if (res && res.data) {
|
||||||
|
loginData.value = res.data; // 处理返回的数据
|
||||||
|
if(res.data.message === "登录成功"){
|
||||||
|
uni.switchTab({
|
||||||
|
url:"/pages/index/index"/* 跳转到导航栏页面 */
|
||||||
|
})
|
||||||
|
console.log("登录成功!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("登录请求失败:", error); // 错误处理
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.login-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 20px;
|
||||||
|
height: 760px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
margin-top: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group {
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 36px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 25px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
margin-right: 10px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
height: 48px;
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 48px;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #4CAF50;
|
||||||
|
border: 1px solid #4CAF50;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-message {
|
||||||
|
color: red;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,164 @@
|
|||||||
|
<template>
|
||||||
|
<view class="login-container">
|
||||||
|
<!-- Login Form -->
|
||||||
|
<view class="form">
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">👤</text>
|
||||||
|
<input class="input" v-model="form.studentId" placeholder="请输入账号" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">🔒</text>
|
||||||
|
<input class="input" v-model="form.password" type="password" placeholder="请输入密码" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<button class="login-button" @click="login">登录</button>
|
||||||
|
<button class="register-button" @click="navigateToRegister">注册</button>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
const form = ref({
|
||||||
|
studentId: '',
|
||||||
|
password: ''
|
||||||
|
});
|
||||||
|
|
||||||
|
const loginData = ref([]);
|
||||||
|
|
||||||
|
const navigateToRegister = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/zhuce/shenfen',
|
||||||
|
success: res => {
|
||||||
|
console.log("成功跳转到注册页面");
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
console.error("跳转失败:", err);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const login = async () => {
|
||||||
|
try {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: "http://10.198.140.41:3000/api/students/login",
|
||||||
|
method: 'POST',
|
||||||
|
header: {
|
||||||
|
'Content-Type': 'application/json' // 设置请求头为 JSON 格式
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
studentId: form.value.studentId,
|
||||||
|
password: form.value.password
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("响应数据:", res.data); // 打印响应数据
|
||||||
|
|
||||||
|
if (res && res.data) {
|
||||||
|
loginData.value = res.data; // 处理返回的数据
|
||||||
|
if(res.data.message === "登录成功"){
|
||||||
|
console.log("登录成功!");
|
||||||
|
uni.switchTab({
|
||||||
|
url:"/pages/index/index"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("登录请求失败:", error); // 错误处理
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.login-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 20px;
|
||||||
|
height: 760px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
margin-top: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group {
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 36px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 25px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
margin-right: 10px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
height: 48px;
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 48px;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #4CAF50;
|
||||||
|
border: 1px solid #4CAF50;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-message {
|
||||||
|
color: red;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
@ -0,0 +1,175 @@
|
|||||||
|
<template>
|
||||||
|
<view class="login-container">
|
||||||
|
<!-- Login Form -->
|
||||||
|
<view class="form">
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">👤</text>
|
||||||
|
<input class="input" v-model="form.name" placeholder="请输入账号" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">✌</text>
|
||||||
|
<input class="input" v-model="form.studentId" placeholder="请输入学号" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">🔒</text>
|
||||||
|
<input class="input" v-model="form.password" type="password" placeholder="请输入密码" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">🔒</text>
|
||||||
|
<input class="input" v-model="form.confirmPassword" type="password" placeholder="确认输入密码" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<button class="login-button" @click="register">注册</button>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
const form = ref({
|
||||||
|
name: '',
|
||||||
|
studentId:'',
|
||||||
|
password: '',
|
||||||
|
confirmPassword: ''
|
||||||
|
});
|
||||||
|
|
||||||
|
const registerData = ref([]);
|
||||||
|
|
||||||
|
const register = async () => {
|
||||||
|
if (!form.value.name || !form.value.password || !form.value.confirmPassword || !form.value.studentId) {
|
||||||
|
console.error("请填写所有字段");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (form.value.password !== form.value.confirmPassword) {
|
||||||
|
console.error("密码和确认密码不一致");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("注册信息:", form.value); // 打印注册信息以检查
|
||||||
|
|
||||||
|
try {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: "http://10.198.140.41:3000/api/students/register",
|
||||||
|
method: "POST",
|
||||||
|
header: {
|
||||||
|
"Content-Type": "application/json", // 设置为 JSON 格式
|
||||||
|
},
|
||||||
|
data: { // 直接传递对象
|
||||||
|
name: form.value.name,
|
||||||
|
studentId: form.value.studentId,
|
||||||
|
password: form.value.password,
|
||||||
|
confirmPassword: form.value.confirmPassword,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("响应数据:", res.data);
|
||||||
|
|
||||||
|
if (res && res.data) {
|
||||||
|
registerData.value = res.data;
|
||||||
|
if (res.data.message === "注册成功,欢迎同学") {
|
||||||
|
console.log("注册成功!");
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/login/stulogin",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("注册失败:", error.response ? error.response.data : error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.login-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 20px;
|
||||||
|
height: 760px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
margin-top: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group {
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 36px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 25px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
margin-right: 10px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
height: 48px;
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 48px;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #4CAF50;
|
||||||
|
border: 1px solid #4CAF50;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-message {
|
||||||
|
color: red;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
@ -0,0 +1,169 @@
|
|||||||
|
<template>
|
||||||
|
<view class="login-container">
|
||||||
|
<!-- Login Form -->
|
||||||
|
<view class="form">
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">👤</text>
|
||||||
|
<input class="input" v-model="form.username" placeholder="请输入账号" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">🔒</text>
|
||||||
|
<input class="input" v-model="form.password" type="password" placeholder="请输入密码" />
|
||||||
|
</view>
|
||||||
|
<view class="input-group">
|
||||||
|
<text class="icon">🔒</text>
|
||||||
|
<input class="input" v-model="form.confirmPassword" type="password" placeholder="确认输入密码" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- Buttons -->
|
||||||
|
<button class="login-button" @click="register">注册</button>
|
||||||
|
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref } from 'vue';
|
||||||
|
|
||||||
|
const form = ref({
|
||||||
|
username: '',
|
||||||
|
password: '',
|
||||||
|
confirmPassword: ''
|
||||||
|
});
|
||||||
|
|
||||||
|
const registerData = ref([]);
|
||||||
|
|
||||||
|
const register = async () => {
|
||||||
|
if (!form.value.username || !form.value.password || !form.value.confirmPassword) {
|
||||||
|
console.error("请填写所有字段");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (form.value.password !== form.value.confirmPassword) {
|
||||||
|
console.error("密码和确认密码不一致");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log("注册信息:", form.value); // 打印注册信息以检查
|
||||||
|
|
||||||
|
try {
|
||||||
|
let res = await uni.request({
|
||||||
|
url: "http://10.198.140.41:3000/api/teacher/register",
|
||||||
|
method: "POST",
|
||||||
|
header: {
|
||||||
|
"Content-Type": "application/json", // 设置为 JSON 格式
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
username: form.value.username,
|
||||||
|
password: form.value.password,
|
||||||
|
confirmPassword: form.value.confirmPassword,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("响应数据:", res.data);
|
||||||
|
|
||||||
|
if (res && res.data) {
|
||||||
|
registerData.value = res.data;
|
||||||
|
if (res.data.message === "注册成功,欢迎老师") {
|
||||||
|
console.log("注册成功!");
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/login/login',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("注册失败:", error.response ? error.response.data : error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.login-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 20px;
|
||||||
|
height: 760px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subtitle {
|
||||||
|
font-size: 16px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
margin-top: 140px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input-group {
|
||||||
|
background-color: #fff;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 36px;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
background-color: white;
|
||||||
|
border-radius: 25px;
|
||||||
|
padding: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
margin-right: 10px;
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input {
|
||||||
|
flex: 1;
|
||||||
|
border: none;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
height: 48px;
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.register-button {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
height: 48px;
|
||||||
|
width: 100%;
|
||||||
|
max-width: 300px;
|
||||||
|
padding: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
color: #4CAF50;
|
||||||
|
border: 1px solid #4CAF50;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.error-message {
|
||||||
|
color: red;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
@ -0,0 +1,77 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<!-- Teacher Section -->
|
||||||
|
<navigator url="/pages/login/zhuce/register/teacher">
|
||||||
|
<view class="section">
|
||||||
|
<image src='../../../static/teacher.png' mode="aspectFit" class="identity-image" />
|
||||||
|
<button class="identity-button" @click="selectIdentity('teacher')">我是老师</button>
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
|
||||||
|
|
||||||
|
<view class="divider"></view>
|
||||||
|
|
||||||
|
<!-- Student Section -->
|
||||||
|
<navigator url="/pages/login/zhuce/register/register">
|
||||||
|
<view class="section">
|
||||||
|
<image src='../../../static/student.png' mode="aspectFit" class="identity-image" />
|
||||||
|
<button class="identity-button" @click="selectIdentity('student')">我是学生</button>
|
||||||
|
</view>
|
||||||
|
</navigator>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
methods: {
|
||||||
|
selectIdentity(identity) {
|
||||||
|
// Record the identity (e.g., store in local storage or state management)
|
||||||
|
uni.setStorageSync('selectedIdentity', identity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
justify-content: flex-start; /* 更改为向上对齐 */
|
||||||
|
padding-top: 100px; /* 添加顶部内边距以整体上移
|
||||||
|
padding-bottom: 20px; /* 可选:保持底部间距 */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.section {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.identity-image {
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.identity-button {
|
||||||
|
width: 150px;
|
||||||
|
padding: 5px;
|
||||||
|
background-color: #4CAF50;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
border-radius: 25px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.divider {
|
||||||
|
width: 80%;
|
||||||
|
height: 1px;
|
||||||
|
background-color: #ccc;
|
||||||
|
margin: 20px 0;
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,94 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<view class="circle">
|
||||||
|
<text class="total-points">{{ totalPoints }}</text>
|
||||||
|
<text class="points-label">总积分</text>
|
||||||
|
</view>
|
||||||
|
<view class="stats">
|
||||||
|
<view class="stat-item">
|
||||||
|
<text>签到次数:</text>
|
||||||
|
<text class="count">{{ signInCount }}</text>
|
||||||
|
</view>
|
||||||
|
<view class="stat-item">
|
||||||
|
<text>回答问题次数: </text>
|
||||||
|
<text class="count">{{Answers}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
signInCount: 0, // 示例签到次数
|
||||||
|
Answers: 0, // 示例回答问题次数
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
totalPoints(){
|
||||||
|
return this.signInCount*2+this.Answers*3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
padding: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.circle {
|
||||||
|
width: 160px; /* 圆圈宽度 */
|
||||||
|
height: 160px; /* 圆圈高度 */
|
||||||
|
border-radius: 50%; /* 圆形 */
|
||||||
|
background-color: dodgerblue; /* 圆圈背景色 */
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 40rpx; /* 圆圈与下方内容的间距 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.total-points {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 38px; /* 积分字体大小 */
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: bold; /* 粗体 */
|
||||||
|
padding-right: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.points-label {
|
||||||
|
font-size: 18px; /* 标签字体大小 */
|
||||||
|
padding-top: 8rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats {
|
||||||
|
margin-top: 20px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
width: 100%; /* 适应父容器宽度 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.stat-item {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between; /* 左右对齐 */
|
||||||
|
align-items: center;
|
||||||
|
font-size: 18px; /* 统计项字体大小 */
|
||||||
|
margin-bottom: 20px; /* 项间距 */
|
||||||
|
padding: 0 16px; /* 左右内边距 */
|
||||||
|
border-bottom: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.count {
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: 550;
|
||||||
|
margin-left: auto;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"appid": "wx0874fe247e4282a3",
|
||||||
|
"compileType": "miniprogram",
|
||||||
|
"libVersion": "3.5.8",
|
||||||
|
"packOptions": {
|
||||||
|
"ignore": [],
|
||||||
|
"include": []
|
||||||
|
},
|
||||||
|
"setting": {
|
||||||
|
"coverView": true,
|
||||||
|
"es6": true,
|
||||||
|
"postcss": true,
|
||||||
|
"minified": true,
|
||||||
|
"enhance": true,
|
||||||
|
"showShadowRootInWxmlPanel": true,
|
||||||
|
"packNpmRelationList": [],
|
||||||
|
"babelSetting": {
|
||||||
|
"ignore": [],
|
||||||
|
"disablePlugins": [],
|
||||||
|
"outputPath": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"condition": {},
|
||||||
|
"editorSetting": {
|
||||||
|
"tabIndent": "insertSpaces",
|
||||||
|
"tabSize": 2
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 690 B |
After Width: | Height: | Size: 672 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 804 B |
After Width: | Height: | Size: 781 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 315 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 154 KiB |
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 915 B |
After Width: | Height: | Size: 914 B |
After Width: | Height: | Size: 839 B |
After Width: | Height: | Size: 803 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.5 KiB |
@ -0,0 +1,10 @@
|
|||||||
|
uni.addInterceptor({
|
||||||
|
returnValue (res) {
|
||||||
|
if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
res.then((res) => res[0] ? reject(res[0]) : resolve(res[1]));
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
@ -0,0 +1 @@
|
|||||||
|
https://app.liuyingyong.cn/build/download/55093ea0-877a-11ef-a4a5-2b5b6ba7f9cb
|
@ -0,0 +1 @@
|
|||||||
|
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
|
@ -0,0 +1,3 @@
|
|||||||
|
andrCertfile=D:/miniApp/HBuilderX.4.24.2024072208/HBuilderX/plugins/app-safe-pack/Test.keystore
|
||||||
|
andrCertAlias=android
|
||||||
|
andrCertPass=ep/Tdjka4Y7WYqDB6/S7dw==
|
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1,23 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<title>View</title>
|
||||||
|
<link rel="stylesheet" href="app.css" />
|
||||||
|
<script>var __uniConfig = {"globalStyle":{},"darkmode":false}</script>
|
||||||
|
<script>
|
||||||
|
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||||
|
CSS.supports('top: constant(a)'))
|
||||||
|
document.write(
|
||||||
|
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||||
|
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"></div>
|
||||||
|
<script src="uni-app-view.umd.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
;(function(){
|
||||||
|
let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[];
|
||||||
|
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#f8f8f8","navigationBar":{"backgroundColor":"#f8f8f8","titleText":"小课堂","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"randomcall","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.24","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"tabBar":{"position":"bottom","color":"#999","selectedColor":"#007aff","borderStyle":"black","blurEffect":"none","fontSize":"10px","iconWidth":"24px","spacing":"3px","height":"50px","list":[{"pagePath":"pages/index/index","text":"首页","iconPath":"/static/home2.png","selectedIconPath":"/static/home1.png"},{"pagePath":"pages/shop/shop","text":"商城","iconPath":"/static/shop2.png","selectedIconPath":"/static/shop1.png"},{"pagePath":"pages/rank/rank","text":"排行榜","iconPath":"/static/rank2.png","selectedIconPath":"/static/rank1.png"},{"pagePath":"pages/information/information","text":"我的","iconPath":"/static/my2.png","selectedIconPath":"/static/my1.png"}],"selectedIndex":0,"shown":true},"locales":{},"darkmode":false,"themeConfig":{}};
|
||||||
|
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"isTabBar":true,"tabBarIndex":0,"navigationBar":{"titleText":"小课堂","type":"default"},"isNVue":false}},{"path":"pages/shop/shop","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":1,"navigationBar":{"titleText":"商城","type":"default"},"isNVue":false}},{"path":"pages/information/information","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":3,"navigationBar":{"titleText":"个人信息","type":"default"},"isNVue":false}},{"path":"pages/rank/rank","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":2,"navigationBar":{"titleText":"排行榜","type":"default"},"isNVue":false}},{"path":"pages/rank/mine rank/mine rank","meta":{"navigationBar":{"titleText":"我的排名","type":"default"},"isNVue":false}},{"path":"pages/index/question/question","meta":{"navigationBar":{"titleText":"学生签到","type":"default"},"isNVue":false}},{"path":"pages/index/attendance/attendance","meta":{"navigationBar":{"titleText":"随机点名","type":"default"},"isNVue":false}},{"path":"pages/login/zhuce/shenfen","meta":{"navigationBar":{"titleText":"注册","type":"default"},"isNVue":false}},{"path":"pages/login/zhuce/register/register","meta":{"navigationBar":{"titleText":"注册","type":"default"},"isNVue":false}},{"path":"pages/login/zhuce/register/teacher","meta":{"navigationBar":{"titleText":"注册","type":"default"},"isNVue":false}},{"path":"pages/login/stulogin","meta":{"navigationBar":{"titleText":"登录","type":"default"},"isNVue":false}},{"path":"pages/login/login","meta":{"navigationBar":{"titleText":"登录","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
|
||||||
|
__uniConfig.styles=[];//styles
|
||||||
|
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||||
|
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
|
||||||
|
service.register("uni-app-config",{create(a,b,c){if(!__uniConfig.viewport){var d=b.weex.config.env.scale,e=b.weex.config.env.deviceWidth,f=Math.ceil(e/d);Object.assign(__uniConfig,{viewport:f,defaultFontSize:16})}return{instance:{__uniConfig:__uniConfig,__uniRoutes:__uniRoutes,global:u,window:u,document:u,frames:u,self:u,location:u,navigator:u,localStorage:u,history:u,Caches:u,screen:u,alert:u,confirm:u,prompt:u,fetch:u,XMLHttpRequest:u,WebSocket:u,webkit:u,print:u}}}});
|
||||||
|
})();
|
||||||
|
|
@ -0,0 +1 @@
|
|||||||
|
(function(){})();
|
@ -0,0 +1 @@
|
|||||||
|
{"@platforms":["android","iPhone","iPad"],"id":"__UNI__A58238D","name":"randomcall","version":{"name":"1.0.0","code":"100"},"description":"","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"autoclose":true,"delay":0,"target":"id:1","waiting":true},"popGesture":"close","launchwebview":{"id":"1","kernel":"WKWebview"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"icons":{"android":{"xxhdpi":"icon-android-xxhdpi.png"}},"google":{"permissions":["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"],"packagename":"uni.UNIA58238D","aliasname":"","password":"","keystore":"html5plus://test","custompermissions":true},"apple":{"dSYMs":false,"devices":"universal"},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}},"orientation":"portrait-primary"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#f8f8f8"},"uniStatistics":{"enable":false},"allowsInlineMediaPlayback":true,"safearea":{"background":"#FFFFFF","bottom":{"offset":"auto"}},"uni-app":{"control":"uni-v3","vueVersion":"3","compilerVersion":"4.24","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal","webView":{"minUserAgentVersion":"49.0"}},"tabBar":{"position":"bottom","color":"#999","selectedColor":"#007aff","borderStyle":"rgba(0,0,0,0.4)","blurEffect":"none","fontSize":"10px","iconWidth":"24px","spacing":"3px","height":"50px","list":[{"pagePath":"pages/index/index","text":"首页","iconPath":"/static/home2.png","selectedIconPath":"/static/home1.png"},{"pagePath":"pages/shop/shop","text":"商城","iconPath":"/static/shop2.png","selectedIconPath":"/static/shop1.png"},{"pagePath":"pages/rank/rank","text":"排行榜","iconPath":"/static/rank2.png","selectedIconPath":"/static/rank1.png"},{"pagePath":"pages/information/information","text":"我的","iconPath":"/static/my2.png","selectedIconPath":"/static/my1.png"}],"selectedIndex":0,"shown":true,"child":["lauchwebview"],"selected":0},"adid":"127352090210"},"launch_path":"__uniappview.html"}
|
@ -0,0 +1 @@
|
|||||||
|
.button[data-v-6aae2cc9]{display:block;width:80%;height:60px;margin:10px auto;padding:10px;background-color:#1e90ff;color:#fff;text-align:center;border-radius:5px}.list[data-v-6aae2cc9]{margin:20px;background-color:#f9f9f9;border-bottom:1px solid #ccc;padding:10px}.list-header[data-v-6aae2cc9]{display:flex;justify-content:space-between}.list-left[data-v-6aae2cc9]{flex-grow:2}.list-mid[data-v-6aae2cc9]{text-align:center;flex-grow:1}.list-right[data-v-6aae2cc9]{padding-left:15px;padding-right:8px}.list-item[data-v-6aae2cc9]{display:flex;justify-content:space-between;padding:5px 0}.item-left[data-v-6aae2cc9]{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:6}.item-mid[data-v-6aae2cc9]{text-align:center;padding-left:60px;padding-right:45px;flex:1}.item-right[data-v-6aae2cc9]{text-align:center;padding-right:10px;flex:1}.button-container[data-v-6aae2cc9]{display:flex;justify-content:center}
|
@ -0,0 +1 @@
|
|||||||
|
.begin{font-size:1.1875rem;font-weight:700;margin-top:10px;margin-bottom:10px;margin-left:8px}.page-body{display:flex;justify-content:center}.btn-area{width:90%;height:10rem}.btn-with-icon{height:95px;padding-left:.3125rem;border-radius:5px;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.btn-content{display:flex;flex-direction:column;align-items:flex-start}.btn-icon{width:1.5625rem;height:1.5625rem;margin-top:.625rem;margin-bottom:.15625rem}.shangke{font-size:12px;margin-top:auto}.btn-text{text-align:left;font-size:1.25rem;margin-left:1.875rem;margin-top:0}.forward-icon{width:1rem;height:1rem;margin-left:auto}
|
@ -0,0 +1 @@
|
|||||||
|
.button[data-v-445667fd]{display:block;width:320px;height:60px;margin:25px auto 10px;padding:10px;background-color:#1e90ff;color:#fff;text-align:center;border-radius:5px}.answer-input[data-v-445667fd]{width:90%;padding:10px;margin:10px auto;border:1px solid #ccc;border-radius:5px}.question-container[data-v-445667fd]{display:flex;flex-direction:column;align-items:center;margin:20px;padding:10px}.txzz[data-v-445667fd]{display:flex;flex-direction:column;align-items:center}.atten[data-v-445667fd]{display:flex;align-content:center;bottom:40px}
|
@ -0,0 +1 @@
|
|||||||
|
.header[data-v-d68e552e]{display:flex;justify-content:right;margin:10px}.exit[data-v-d68e552e]{font-weight:700;cursor:pointer}.profile-container[data-v-d68e552e]{padding:20px}.avatar-display[data-v-d68e552e]{margin-top:20px;display:flex;justify-content:center;margin-bottom:20px}.avatar-image[data-v-d68e552e]{width:100px;height:100px;border-radius:50%}.form[data-v-d68e552e]{margin-top:40px;display:flex;flex-direction:column;justify-content:center;align-items:center}.input-group[data-v-d68e552e]{margin-bottom:15px;width:90%}.label[data-v-d68e552e]{font-weight:700}.info-input[data-v-d68e552e]{margin:5px auto;border:1px solid #ccc;padding:5px;border-radius:4px}.info[data-v-d68e552e]{margin-left:5px}.save-button[data-v-d68e552e]{margin-top:30px;background-color:#1e90ff;width:320px;height:60px;color:#fff;padding:10px;border:none;border-radius:5px;text-align:center}
|
@ -0,0 +1 @@
|
|||||||
|
.login-container[data-v-4958dc7a]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;height:760px}.title[data-v-4958dc7a]{font-size:30px;font-weight:700}.subtitle[data-v-4958dc7a]{font-size:16px;margin-top:10px}.form[data-v-4958dc7a]{width:100%;max-width:300px;margin-bottom:20px;margin-top:140px}.input-group[data-v-4958dc7a]{border:1px solid #ccc;display:flex;align-items:center;height:36px;margin-bottom:15px;background-color:#fff;border-radius:25px;padding:10px}.icon[data-v-4958dc7a]{margin-right:10px;font-size:18px}.input[data-v-4958dc7a]{flex:1;border:none;outline:none}.login-button[data-v-4958dc7a]{display:flex;align-items:center;justify-content:center;width:100%;max-width:300px;padding:10px;height:48px;background-color:#4caf50;color:#fff;border:none;border-radius:25px;text-align:center;margin-bottom:10px}.register-button[data-v-4958dc7a]{display:flex;align-items:center;justify-content:center;height:48px;width:100%;max-width:300px;padding:10px;background-color:transparent;color:#4caf50;border:1px solid #4CAF50;border-radius:25px;text-align:center}.error-message[data-v-4958dc7a]{color:red;margin-top:20px}
|
@ -0,0 +1 @@
|
|||||||
|
.login-container[data-v-2cad1412]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;height:760px}.title[data-v-2cad1412]{font-size:30px;font-weight:700}.subtitle[data-v-2cad1412]{font-size:16px;margin-top:10px}.form[data-v-2cad1412]{width:100%;max-width:300px;margin-bottom:20px;margin-top:140px}.input-group[data-v-2cad1412]{border:1px solid #ccc;display:flex;align-items:center;height:36px;margin-bottom:15px;background-color:#fff;border-radius:25px;padding:10px}.icon[data-v-2cad1412]{margin-right:10px;font-size:18px}.input[data-v-2cad1412]{flex:1;border:none;outline:none}.login-button[data-v-2cad1412]{display:flex;align-items:center;justify-content:center;width:100%;max-width:300px;padding:10px;height:48px;background-color:#4caf50;color:#fff;border:none;border-radius:25px;text-align:center;margin-bottom:10px}.register-button[data-v-2cad1412]{display:flex;align-items:center;justify-content:center;height:48px;width:100%;max-width:300px;padding:10px;background-color:transparent;color:#4caf50;border:1px solid #4CAF50;border-radius:25px;text-align:center}.error-message[data-v-2cad1412]{color:red;margin-top:20px}
|
@ -0,0 +1 @@
|
|||||||
|
.login-container[data-v-ad0bcc4e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;height:760px}.title[data-v-ad0bcc4e]{font-size:30px;font-weight:700}.subtitle[data-v-ad0bcc4e]{font-size:16px;margin-top:10px}.form[data-v-ad0bcc4e]{width:100%;max-width:300px;margin-bottom:20px;margin-top:140px}.input-group[data-v-ad0bcc4e]{border:1px solid #ccc;display:flex;align-items:center;height:36px;margin-bottom:15px;background-color:#fff;border-radius:25px;padding:10px}.icon[data-v-ad0bcc4e]{margin-right:10px;font-size:18px}.input[data-v-ad0bcc4e]{flex:1;border:none;outline:none}.login-button[data-v-ad0bcc4e]{display:flex;align-items:center;justify-content:center;width:100%;max-width:300px;padding:10px;height:48px;background-color:#4caf50;color:#fff;border:none;border-radius:25px;text-align:center;margin-bottom:10px}.register-button[data-v-ad0bcc4e]{display:flex;align-items:center;justify-content:center;height:48px;width:100%;max-width:300px;padding:10px;background-color:transparent;color:#4caf50;border:1px solid #4CAF50;border-radius:25px;text-align:center}.error-message[data-v-ad0bcc4e]{color:red;margin-top:20px}
|
@ -0,0 +1 @@
|
|||||||
|
.login-container[data-v-76bca410]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;height:760px}.title[data-v-76bca410]{font-size:30px;font-weight:700}.subtitle[data-v-76bca410]{font-size:16px;margin-top:10px}.form[data-v-76bca410]{width:100%;max-width:300px;margin-bottom:20px;margin-top:140px}.input-group[data-v-76bca410]{border:1px solid #ccc;display:flex;align-items:center;height:36px;margin-bottom:15px;background-color:#fff;border-radius:25px;padding:10px}.icon[data-v-76bca410]{margin-right:10px;font-size:18px}.input[data-v-76bca410]{flex:1;border:none;outline:none}.login-button[data-v-76bca410]{display:flex;align-items:center;justify-content:center;width:100%;max-width:300px;padding:10px;height:48px;background-color:#4caf50;color:#fff;border:none;border-radius:25px;text-align:center;margin-bottom:10px}.register-button[data-v-76bca410]{display:flex;align-items:center;justify-content:center;height:48px;width:100%;max-width:300px;padding:10px;background-color:transparent;color:#4caf50;border:1px solid #4CAF50;border-radius:25px;text-align:center}.error-message[data-v-76bca410]{color:red;margin-top:20px}
|
@ -0,0 +1 @@
|
|||||||
|
.container{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-start;padding-top:100px}.section{display:flex;flex-direction:column;align-items:center;margin:20px 0}.identity-image{width:120px;height:120px;margin-bottom:20px}.identity-button{width:150px;padding:5px;background-color:#4caf50;color:#fff;border:none;border-radius:25px;text-align:center}.divider{width:80%;height:1px;background-color:#ccc;margin:20px 0}
|
@ -0,0 +1 @@
|
|||||||
|
.container{display:flex;flex-direction:column;align-items:center;padding:20px}.circle{width:160px;height:160px;border-radius:50%;background-color:#1e90ff;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-bottom:1.25rem}.total-points{display:flex;justify-content:center;align-items:center;font-size:38px;font-style:italic;font-weight:700;padding-right:12px}.points-label{font-size:18px;padding-top:.25rem}.stats{margin-top:20px;display:flex;flex-direction:column;width:100%}.stat-item{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin-bottom:20px;padding:0 16px;border-bottom:1px solid #eee}.count{font-style:italic;font-weight:550;margin-left:auto}
|
@ -0,0 +1 @@
|
|||||||
|
.rrpage[data-v-49fd074f]{display:flex;flex-direction:column}.rtop-nav[data-v-49fd074f]{display:flex;flex-direction:row;position:fixed;top:0;width:100%;height:2.5rem;background-color:#f9f9f9;border-bottom:1px solid #ccc;font-size:1.125rem;font-weight:700;justify-content:space-between}.rtop-left[data-v-49fd074f]{padding-left:1.40625rem;flex-grow:1}.rtop-scole[data-v-49fd074f]{text-align:center;padding-right:40px;flex-grow:1}.rtop-rank[data-v-49fd074f]{padding-right:20px}.rtop-left[data-v-49fd074f]{text-align:left}.rtop-scole[data-v-49fd074f],.rtop-rank[data-v-49fd074f]{text-align:right}.rrpage-body[data-v-49fd074f]{width:100%;margin-top:2.1875rem;margin-bottom:.9375rem;flex-direction:column}.rank-list[data-v-49fd074f]{display:flex;flex-direction:column;overflow-y:auto;border:1px solid #ccc;border-radius:5px;padding:10px;background-color:#fff}.rank-item[data-v-49fd074f]{display:flex;flex-direction:row;padding:10px;border-bottom:1px solid #eee;justify-content:space-between}.rank-item[data-v-49fd074f]:last-child{border-bottom:none}.rank-info[data-v-49fd074f]{display:flex;align-items:center}.rank-name[data-v-49fd074f]{font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:6}.rank-score[data-v-49fd074f]{text-align:center;padding-left:110px;flex:1}.rank-position[data-v-49fd074f]{text-align:center;padding-left:55px;flex:1}.rank-score[data-v-49fd074f],.rank-position[data-v-49fd074f]{font-size:1.125rem}.rbtn-area[data-v-49fd074f]{position:fixed;bottom:0;left:0;width:100%;height:36px;background-color:#1e90ff;text-align:center;border-top:1px solid #ccc;padding:10px 0;font-size:1.1875rem}.navigator[data-v-49fd074f]{display:inline-block}
|
@ -0,0 +1 @@
|
|||||||
|
.product-list[data-v-60c61bc9]{max-width:600px;margin:auto;padding:20px;background:#fff;border-radius:5px}.product-item[data-v-60c61bc9]{margin-bottom:15px;padding:10px;border:1px solid #ddd;border-radius:5px}.shop-pri[data-v-60c61bc9]{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-top:5px}.message[data-v-60c61bc9]{margin-top:10px;color:green;font-weight:700}.shop-btn[data-v-60c61bc9]{margin-top:.625rem}
|
After Width: | Height: | Size: 690 B |
After Width: | Height: | Size: 672 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 804 B |
After Width: | Height: | Size: 781 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 315 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 154 KiB |
After Width: | Height: | Size: 120 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 915 B |
After Width: | Height: | Size: 914 B |
After Width: | Height: | Size: 839 B |
After Width: | Height: | Size: 803 B |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 2.5 KiB |
@ -0,0 +1,11 @@
|
|||||||
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||||
|
var __commonJS = (cb, mod) => function __require() {
|
||||||
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
||||||
|
};
|
||||||
|
var require_app_css = __commonJS({
|
||||||
|
"app.css.js"(exports) {
|
||||||
|
const _style_0 = {};
|
||||||
|
exports.styles = [_style_0];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
export default require_app_css();
|
@ -0,0 +1,2 @@
|
|||||||
|
Promise.resolve("./app.css.js").then(() => {
|
||||||
|
});
|
After Width: | Height: | Size: 5.7 KiB |