commit ed2e74f4ed29dfbb58f2dc207822d0a968e3e332
Author: 黄佳莉 <1549683615@qq.com>
Date: Sun Oct 13 00:36:04 2024 +0800
Initial commit
diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json
new file mode 100644
index 0000000..81f13f4
--- /dev/null
+++ b/.hbuilderx/launch.json
@@ -0,0 +1,16 @@
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+ // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+ "version": "0.0",
+ "configurations": [{
+ "default" :
+ {
+ "launchtype" : "local"
+ },
+ "mp-weixin" :
+ {
+ "launchtype" : "local"
+ },
+ "type" : "uniCloud"
+ }
+ ]
+}
diff --git a/App.vue b/App.vue
new file mode 100644
index 0000000..8c2b732
--- /dev/null
+++ b/App.vue
@@ -0,0 +1,17 @@
+
+
+
diff --git a/Pagesss.md b/Pagesss.md
new file mode 100644
index 0000000..13cb21f
--- /dev/null
+++ b/Pagesss.md
@@ -0,0 +1,167 @@
+# 教师:随机点名且提问,学生:签到且回答
+
+## 调用后端接口的代码
+
+
+
+
+
+
+
+
+
+
+
+ {{ student.name }}
+ {{ student.signed ? '✔' : '' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# rank调用
+
+
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c3ff205
--- /dev/null
+++ b/index.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..c1caf36
--- /dev/null
+++ b/main.js
@@ -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
\ No newline at end of file
diff --git a/manifest.json b/manifest.json
new file mode 100644
index 0000000..47637a3
--- /dev/null
+++ b/manifest.json
@@ -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" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* 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"
+}
diff --git a/pages.json b/pages.json
new file mode 100644
index 0000000..2e22d3c
--- /dev/null
+++ b/pages.json
@@ -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"
+ }
+}
\ No newline at end of file
diff --git a/pages/index/attendance/attendance.vue b/pages/index/attendance/attendance.vue
new file mode 100644
index 0000000..7b8b553
--- /dev/null
+++ b/pages/index/attendance/attendance.vue
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ student.name }}
+ {{ student.signed ? '✔' : '' }}
+ {{ student.points }}
+
+
+
+
+
+
+
+
diff --git a/pages/index/index.vue b/pages/index/index.vue
new file mode 100644
index 0000000..6bea73c
--- /dev/null
+++ b/pages/index/index.vue
@@ -0,0 +1,94 @@
+
+
+ 我的班级
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/index/question/question.vue b/pages/index/question/question.vue
new file mode 100644
index 0000000..ac37d4f
--- /dev/null
+++ b/pages/index/question/question.vue
@@ -0,0 +1,207 @@
+
+
+
+
+ 问题: {{ question }}
+
+
+
+
+
+
+
+
+ 当前积分: {{ selectedStudent.points }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/information/information.vue b/pages/information/information.vue
new file mode 100644
index 0000000..995cdcb
--- /dev/null
+++ b/pages/information/information.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 姓名
+
+
+
+ 学号
+
+
+
+ 班级
+
+
+
+ 年龄
+
+
+
+ 专业
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/login/login.vue b/pages/login/login.vue
new file mode 100644
index 0000000..28c6957
--- /dev/null
+++ b/pages/login/login.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+ 👤
+
+
+
+ 🔒
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/login/stulogin.vue b/pages/login/stulogin.vue
new file mode 100644
index 0000000..6cbcb17
--- /dev/null
+++ b/pages/login/stulogin.vue
@@ -0,0 +1,164 @@
+
+
+
+
+
+ 👤
+
+
+
+ 🔒
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/login/zhuce/register/register.vue b/pages/login/zhuce/register/register.vue
new file mode 100644
index 0000000..d0bcd87
--- /dev/null
+++ b/pages/login/zhuce/register/register.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+ 👤
+
+
+
+ ✌
+
+
+
+ 🔒
+
+
+
+ 🔒
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/login/zhuce/register/teacher.vue b/pages/login/zhuce/register/teacher.vue
new file mode 100644
index 0000000..5eeab2b
--- /dev/null
+++ b/pages/login/zhuce/register/teacher.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+ 👤
+
+
+
+ 🔒
+
+
+
+ 🔒
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/login/zhuce/shenfen.vue b/pages/login/zhuce/shenfen.vue
new file mode 100644
index 0000000..e27661d
--- /dev/null
+++ b/pages/login/zhuce/shenfen.vue
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/rank/mine rank/mine rank.vue b/pages/rank/mine rank/mine rank.vue
new file mode 100644
index 0000000..d9e0a42
--- /dev/null
+++ b/pages/rank/mine rank/mine rank.vue
@@ -0,0 +1,94 @@
+
+
+
+ {{ totalPoints }}
+ 总积分
+
+
+
+ 签到次数:
+ {{ signInCount }}
+
+
+ 回答问题次数:
+ {{Answers}}
+
+
+
+
+
+
+
+
+
diff --git a/pages/rank/rank.vue b/pages/rank/rank.vue
new file mode 100644
index 0000000..0629a61
--- /dev/null
+++ b/pages/rank/rank.vue
@@ -0,0 +1,181 @@
+
+
+
+ 姓名
+ 积分
+ 名次
+
+
+
+
+
+ {{ item.name }}
+
+
+ {{ item.score }}
+
+
+ {{ index + 1 }}
+
+
+
+
+
+ 我的排名
+
+
+
+
+
+
+
+
+
diff --git a/pages/shop/shop.vue b/pages/shop/shop.vue
new file mode 100644
index 0000000..7889392
--- /dev/null
+++ b/pages/shop/shop.vue
@@ -0,0 +1,93 @@
+
+
+ 可用积分: {{ availablePoints }} 积分
+
+
+
+ {{ product.name }}
+
+ {{ product.price }}
+ 积分
+
+
+
+ 介绍: {{ product.description }}
+
+
+
+
+
+
+
+ {{ product.message }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/project.config.json b/project.config.json
new file mode 100644
index 0000000..98cffd4
--- /dev/null
+++ b/project.config.json
@@ -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
+ }
+}
\ No newline at end of file
diff --git a/project.private.config.json b/project.private.config.json
new file mode 100644
index 0000000..a2e6435
--- /dev/null
+++ b/project.private.config.json
@@ -0,0 +1,7 @@
+{
+ "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
+ "projectname": "miniapp-demo1",
+ "setting": {
+ "compileHotReLoad": true
+ }
+}
\ No newline at end of file
diff --git a/static/atten1.png b/static/atten1.png
new file mode 100644
index 0000000..1a4e5f3
Binary files /dev/null and b/static/atten1.png differ
diff --git a/static/atten2.png b/static/atten2.png
new file mode 100644
index 0000000..f8d238d
Binary files /dev/null and b/static/atten2.png differ
diff --git a/static/ava.png b/static/ava.png
new file mode 100644
index 0000000..5c94e19
Binary files /dev/null and b/static/ava.png differ
diff --git a/static/class1.png b/static/class1.png
new file mode 100644
index 0000000..f6aa5fc
Binary files /dev/null and b/static/class1.png differ
diff --git a/static/class2.png b/static/class2.png
new file mode 100644
index 0000000..dc45829
Binary files /dev/null and b/static/class2.png differ
diff --git a/static/exit.png b/static/exit.png
new file mode 100644
index 0000000..d69ba3d
Binary files /dev/null and b/static/exit.png differ
diff --git a/static/forw.png b/static/forw.png
new file mode 100644
index 0000000..6634a98
Binary files /dev/null and b/static/forw.png differ
diff --git a/static/home1.png b/static/home1.png
new file mode 100644
index 0000000..db4bfa8
Binary files /dev/null and b/static/home1.png differ
diff --git a/static/home2.png b/static/home2.png
new file mode 100644
index 0000000..d6403c9
Binary files /dev/null and b/static/home2.png differ
diff --git a/static/logo.jpg b/static/logo.jpg
new file mode 100644
index 0000000..dbde731
Binary files /dev/null and b/static/logo.jpg differ
diff --git a/static/logo.png b/static/logo.png
new file mode 100644
index 0000000..076e8b1
Binary files /dev/null and b/static/logo.png differ
diff --git a/static/my1.png b/static/my1.png
new file mode 100644
index 0000000..595b0a3
Binary files /dev/null and b/static/my1.png differ
diff --git a/static/my2.png b/static/my2.png
new file mode 100644
index 0000000..e9da4e2
Binary files /dev/null and b/static/my2.png differ
diff --git a/static/rank1.png b/static/rank1.png
new file mode 100644
index 0000000..c2dfebb
Binary files /dev/null and b/static/rank1.png differ
diff --git a/static/rank2.png b/static/rank2.png
new file mode 100644
index 0000000..881afa8
Binary files /dev/null and b/static/rank2.png differ
diff --git a/static/shop1.png b/static/shop1.png
new file mode 100644
index 0000000..ab0de1b
Binary files /dev/null and b/static/shop1.png differ
diff --git a/static/shop2.png b/static/shop2.png
new file mode 100644
index 0000000..ab767c8
Binary files /dev/null and b/static/shop2.png differ
diff --git a/static/student.png b/static/student.png
new file mode 100644
index 0000000..5b4cb7e
Binary files /dev/null and b/static/student.png differ
diff --git a/static/teacher.png b/static/teacher.png
new file mode 100644
index 0000000..f0c311f
Binary files /dev/null and b/static/teacher.png differ
diff --git a/uni.promisify.adaptor.js b/uni.promisify.adaptor.js
new file mode 100644
index 0000000..47fbce1
--- /dev/null
+++ b/uni.promisify.adaptor.js
@@ -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]));
+ });
+ },
+});
\ No newline at end of file
diff --git a/uni.scss b/uni.scss
new file mode 100644
index 0000000..b9249e9
--- /dev/null
+++ b/uni.scss
@@ -0,0 +1,76 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+
+/* 颜色变量 */
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color:#333;//基本色
+$uni-text-color-inverse:#fff;//反色
+$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable:#c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:12px;
+$uni-font-size-base:14px;
+$uni-font-size-lg:16px;
+
+/* 图片尺寸 */
+$uni-img-size-sm:20px;
+$uni-img-size-base:26px;
+$uni-img-size-lg:40px;
+
+/* Border Radius */
+$uni-border-radius-sm: 2px;
+$uni-border-radius-base: 3px;
+$uni-border-radius-lg: 6px;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 5px;
+$uni-spacing-row-base: 10px;
+$uni-spacing-row-lg: 15px;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 4px;
+$uni-spacing-col-base: 8px;
+$uni-spacing-col-lg: 12px;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:20px;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:26px;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:15px;
diff --git a/unpackage/cache/apk/__UNI__A58238D_cm.apk b/unpackage/cache/apk/__UNI__A58238D_cm.apk
new file mode 100644
index 0000000..e4ae87c
Binary files /dev/null and b/unpackage/cache/apk/__UNI__A58238D_cm.apk differ
diff --git a/unpackage/cache/apk/apkurl b/unpackage/cache/apk/apkurl
new file mode 100644
index 0000000..4accaba
--- /dev/null
+++ b/unpackage/cache/apk/apkurl
@@ -0,0 +1 @@
+https://app.liuyingyong.cn/build/download/55093ea0-877a-11ef-a4a5-2b5b6ba7f9cb
\ No newline at end of file
diff --git a/unpackage/cache/apk/cmManifestCache.json b/unpackage/cache/apk/cmManifestCache.json
new file mode 100644
index 0000000..dfee980
--- /dev/null
+++ b/unpackage/cache/apk/cmManifestCache.json
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/unpackage/cache/certdata b/unpackage/cache/certdata
new file mode 100644
index 0000000..fc628ad
--- /dev/null
+++ b/unpackage/cache/certdata
@@ -0,0 +1,3 @@
+andrCertfile=D:/miniApp/HBuilderX.4.24.2024072208/HBuilderX/plugins/app-safe-pack/Test.keystore
+andrCertAlias=android
+andrCertPass=ep/Tdjka4Y7WYqDB6/S7dw==
diff --git a/unpackage/cache/wgt/__UNI__A58238D/.manifest/icon-android-xxhdpi.png b/unpackage/cache/wgt/__UNI__A58238D/.manifest/icon-android-xxhdpi.png
new file mode 100644
index 0000000..076e8b1
Binary files /dev/null and b/unpackage/cache/wgt/__UNI__A58238D/.manifest/icon-android-xxhdpi.png differ
diff --git a/unpackage/cache/wgt/__UNI__A58238D/__uniappautomator.js b/unpackage/cache/wgt/__UNI__A58238D/__uniappautomator.js
new file mode 100644
index 0000000..0f9252f
--- /dev/null
+++ b/unpackage/cache/wgt/__UNI__A58238D/__uniappautomator.js
@@ -0,0 +1,16 @@
+var n;
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+function __spreadArrays(){for(var s=0,i=0,il=arguments.length;in;n++)r(e,e._deferreds[n]);e._deferreds=null}function c(e,n){var t=!1;try{e((function(e){t||(t=!0,i(n,e))}),(function(e){t||(t=!0,f(n,e))}))}catch(o){if(t)return;t=!0,f(n,o)}}var a=setTimeout;o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,n){var o=new this.constructor(t);return r(this,new function(e,n,t){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof n?n:null,this.promise=t}(e,n,o)),o},o.prototype.finally=e,o.all=function(e){return new o((function(t,o){function r(e,n){try{if(n&&("object"==typeof n||"function"==typeof n)){var u=n.then;if("function"==typeof u)return void u.call(n,(function(n){r(e,n)}),o)}i[e]=n,0==--f&&t(i)}catch(c){o(c)}}if(!n(e))return o(new TypeError("Promise.all accepts an array"));var i=Array.prototype.slice.call(e);if(0===i.length)return t([]);for(var f=i.length,u=0;i.length>u;u++)r(u,i[u])}))},o.resolve=function(e){return e&&"object"==typeof e&&e.constructor===o?e:new o((function(n){n(e)}))},o.reject=function(e){return new o((function(n,t){t(e)}))},o.race=function(e){return new o((function(t,r){if(!n(e))return r(new TypeError("Promise.race accepts an array"));for(var i=0,f=e.length;f>i;i++)o.resolve(e[i]).then(t,r)}))},o._immediateFn="function"==typeof setImmediate&&function(e){setImmediate(e)}||function(e){a(e,0)},o._unhandledRejectionFn=function(e){void 0!==console&&console&&console.warn("Possible Unhandled Promise Rejection:",e)};var l=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw Error("unable to locate global object")}();"Promise"in l?l.Promise.prototype.finally||(l.Promise.prototype.finally=e):l.Promise=o},"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n();var getRandomValues="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),rnds8=new Uint8Array(16);function rng(){if(!getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return getRandomValues(rnds8)}for(var byteToHex=[],i=0;i<256;++i)byteToHex[i]=(i+256).toString(16).substr(1);function v4(options,buf,offset){var i=buf&&offset||0;"string"==typeof options&&(buf="binary"===options?new Array(16):null,options=null);var rnds=(options=options||{}).random||(options.rng||rng)();if(rnds[6]=15&rnds[6]|64,rnds[8]=63&rnds[8]|128,buf)for(var ii=0;ii<16;++ii)buf[i+ii]=rnds[ii];return buf||function(buf,offset){var i=offset||0,bth=byteToHex;return[bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],"-",bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]],bth[buf[i++]]].join("")}(rnds)}var hasOwnProperty=Object.prototype.hasOwnProperty,isArray=Array.isArray,PATH_RE=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;function getPaths(path,data){if(isArray(path))return path;if(data&&(val=data,key=path,hasOwnProperty.call(val,key)))return[path];var val,key,res=[];return path.replace(PATH_RE,(function(match,p1,offset,string){return res.push(offset?string.replace(/\\(\\)?/g,"$1"):p1||match),string})),res}function getDataByPath(data,path){var dataPath,paths=getPaths(path,data);for(dataPath=paths.shift();null!=dataPath;){if(null==(data=data[dataPath]))return;dataPath=paths.shift()}return data}var elementMap=new Map;function transEl(el){var _a;if(!function(el){if(el){var tagName=el.tagName;return 0===tagName.indexOf("UNI-")||"BODY"===tagName||0===tagName.indexOf("V-UNI-")||el.__isUniElement}return!1}(el))throw Error("no such element");var element,elementId,elem={elementId:(element=el,elementId=element._id,elementId||(elementId=v4(),element._id=elementId,elementMap.set(elementId,{id:elementId,element:element})),elementId),tagName:el.tagName.toLocaleLowerCase().replace("uni-","")};if(el.__vue__)(vm=el.__vue__)&&(vm.$parent&&vm.$parent.$el===el&&(vm=vm.$parent),vm&&!(null===(_a=vm.$options)||void 0===_a?void 0:_a.isReserved)&&(elem.nodeId=function(vm){if(vm._$weex)return vm._uid;if(vm._$id)return vm._$id;if(vm.uid)return vm.uid;var parent_1=function(vm){for(var parent=vm.$parent;parent;){if(parent._$id)return parent;parent=parent.$parent}}(vm);if(!vm.$parent)return"-1";var vnode=vm.$vnode,context=vnode.context;return context&&context!==parent_1&&context._$id?context._$id+";"+parent_1._$id+","+vnode.data.attrs._i:parent_1._$id+","+vnode.data.attrs._i}(vm)));else var vm;return"video"===elem.tagName&&(elem.videoId=elem.nodeId),elem}function getVm(el){return el.__vue__?{isVue3:!1,vm:el.__vue__}:{isVue3:!0,vm:el.__vueParentComponent}}function getScrollViewMain(el){var _a=getVm(el),isVue3=_a.isVue3,vm=_a.vm;return isVue3?vm.exposed.$getMain():vm.$refs.main}var FUNCTIONS={input:{input:function(el,value){var _a=getVm(el),isVue3=_a.isVue3,vm=_a.vm;isVue3?vm.exposed&&vm.exposed.$triggerInput({value:value}):(vm.valueSync=value,vm.$triggerInput({},{value:value}))}},textarea:{input:function(el,value){var _a=getVm(el),isVue3=_a.isVue3,vm=_a.vm;isVue3?vm.exposed&&vm.exposed.$triggerInput({value:value}):(vm.valueSync=value,vm.$triggerInput({},{value:value}))}},"scroll-view":{scrollTo:function(el,x,y){var main=getScrollViewMain(el);main.scrollLeft=x,main.scrollTop=y},scrollTop:function(el){return getScrollViewMain(el).scrollTop},scrollLeft:function(el){return getScrollViewMain(el).scrollLeft},scrollWidth:function(el){return getScrollViewMain(el).scrollWidth},scrollHeight:function(el){return getScrollViewMain(el).scrollHeight}},swiper:{swipeTo:function(el,index){el.__vue__.current=index}},"movable-view":{moveTo:function(el,x,y){el.__vue__._animationTo(x,y)}},switch:{tap:function(el){el.click()}},slider:{slideTo:function(el,value){var vm=el.__vue__,slider=vm.$refs["uni-slider"],offsetWidth=slider.offsetWidth,boxLeft=slider.getBoundingClientRect().left;vm.value=value,vm._onClick({x:(value-vm.min)*offsetWidth/(vm.max-vm.min)+boxLeft})}}};function createTouchList(touchInits){var _a,touches=touchInits.map((function(touch){return function(touch){if(document.createTouch)return document.createTouch(window,touch.target,touch.identifier,touch.pageX,touch.pageY,touch.screenX,touch.screenY,touch.clientX,touch.clientY);return new Touch(touch)}(touch)}));return document.createTouchList?(_a=document).createTouchList.apply(_a,touches):touches}var WebAdapter={getWindow:function(pageId){return window},getDocument:function(pageId){return document},getEl:function(elementId){var element=elementMap.get(elementId);if(!element)throw Error("element destroyed");return element.element},getOffset:function(node){var rect=node.getBoundingClientRect();return Promise.resolve({left:rect.left+window.pageXOffset,top:rect.top+window.pageYOffset})},querySelector:function(context,selector){return"page"===selector&&(selector="body"),Promise.resolve(transEl(context.querySelector(selector)))},querySelectorAll:function(context,selector){var elements=[],nodeList=document.querySelectorAll(selector);return[].forEach.call(nodeList,(function(node){try{elements.push(transEl(node))}catch(e){}})),Promise.resolve({elements:elements})},queryProperties:function(context,names){return Promise.resolve({properties:names.map((function(name){var value=getDataByPath(context,name.replace(/-([a-z])/g,(function(g){return g[1].toUpperCase()})));return"document.documentElement.scrollTop"===name&&0===value&&(value=getDataByPath(context,"document.body.scrollTop")),value}))})},queryAttributes:function(context,names){return Promise.resolve({attributes:names.map((function(name){return String(context.getAttribute(name))}))})},queryStyles:function(context,names){var style=getComputedStyle(context);return Promise.resolve({styles:names.map((function(name){return style[name]}))})},queryHTML:function(context,type){return Promise.resolve({html:(html="outer"===type?context.outerHTML:context.innerHTML,html.replace(/\n/g,"").replace(/(]*>)(]*>[^<]*<\/span>)(.*?<\/uni-text>)/g,"$1$3").replace(/<\/?[^>]*>/g,(function(replacement){return-1":"