From 906812f02cf328813235eb3db1c9de11eb88b384 Mon Sep 17 00:00:00 2001 From: educoder_weapp Date: Sun, 8 Dec 2019 16:19:41 +0800 Subject: [PATCH] add cloudfunctions --- .gitignore | 11 +- app.js | 64 -- cloudfunctions/login/config.json | 5 + cloudfunctions/login/index.js | 36 + cloudfunctions/login/package.json | 14 + components/add-tips/assets/fav-3.jpg | Bin 72142 -> 0 bytes images/cry.png | Bin 21821 -> 0 bytes images/weapp_code_smart_class.jpg | Bin 90684 -> 0 bytes lib/av-live-query-weapp-min.js | 44 - lib/live-query-binding.js | 28 - miniprogram/.gitignore | 23 + app.json => miniprogram/app.json | 8 +- app.wxss => miniprogram/app.wxss | 0 .../components}/add-tips/README.md | 0 .../components}/add-tips/add-tips.js | 0 .../components}/add-tips/add-tips.json | 0 .../components}/add-tips/add-tips.wxml | 0 .../components}/add-tips/add-tips.wxss | 2 +- .../components}/add-tips/assets/fav-1.jpg | Bin .../components}/add-tips/assets/fav-2.jpg | Bin miniprogram/components/course/course.js | 38 + .../components/course/course.json | 0 miniprogram/components/course/course.wxml | 5 + miniprogram/components/course/course.wxss | 1 + .../components/edu-icon/edu-icon.js | 3 - .../components/edu-icon/edu-icon.json | 0 miniprogram/components/edu-icon/edu-icon.wxml | 5 + miniprogram/components/edu-icon/edu-icon.wxss | 942 ++++++++++++++++++ .../modal/join-course/join-course.js | 0 .../modal/join-course/join-course.json | 0 .../modal/join-course/join-course.wxml | 0 .../modal/join-course/join-course.wxss | 0 miniprogram/components/my-icon/my-icon.js | 31 + miniprogram/components/my-icon/my-icon.json | 4 + .../components/my-icon/my-icon.wxml | 3 +- .../components/my-icon/my-icon.wxss | 0 .../components}/test/test.js | 0 miniprogram/components/test/test.json | 4 + .../components}/test/test.wxml | 0 .../components}/test/test.wxss | 0 config.js => miniprogram/config.js | 0 {data => miniprogram/data}/client.js | 39 + {data => miniprogram/data}/cookie.js | 0 {data => miniprogram/data}/eduapi.js | 3 +- {data => miniprogram/data}/error.js | 0 {data => miniprogram/data}/requests.js | 0 miniprogram/data/test.js | 4 + {images => miniprogram/images}/avatar.png | Bin .../images}/base64/bg_user.wxss | 0 {images => miniprogram/images}/contact.jpg | Bin {images => miniprogram/images}/educoder.png | Bin {images => miniprogram/images}/email.png | Bin {images => miniprogram/images}/invite.png | Bin .../images}/loading_big.gif | Bin .../images}/loading_min.gif | Bin {images => miniprogram/images}/nodata.png | Bin {images => miniprogram/images}/none.png | Bin {images => miniprogram/images}/none2.png | Bin {images => miniprogram/images}/online.png | Bin {images => miniprogram/images}/phone.png | Bin {images => miniprogram/images}/qq.png | Bin .../tabbar-icon/tabbar_contact_default.png | Bin .../tabbar-icon/tabbar_contact_pressed.png | Bin .../tabbar-icon/tabbar_findmore_default.png | Bin .../tabbar-icon/tabbar_findmore_pressed.png | Bin .../tabbar-icon/tabbar_record_default.png | Bin .../tabbar-icon/tabbar_record_pressed.png | Bin .../tabbar-icon/tabbar_settings_default.png | Bin .../tabbar-icon/tabbar_settings_pressed.png | Bin .../tabbar-icon/tabbar_sign_default.png | Bin .../tabbar-icon/tabbar_sign_pressed.png | Bin .../tabbar-icon/tabbar_study_default.png | Bin .../tabbar-icon/tabbar_study_pressed.png | Bin {images => miniprogram/images}/weapp_code.png | Bin {images => miniprogram/images}/weixin.png | Bin {pages => miniprogram/pages}/about/about.js | 2 +- {pages => miniprogram/pages}/about/about.json | 0 {pages => miniprogram/pages}/about/about.wxml | 0 {pages => miniprogram/pages}/about/about.wxss | 0 .../pages}/agreement/agreement.js | 0 .../pages}/agreement/agreement.json | 0 .../pages}/agreement/agreement.wxml | 0 .../pages}/agreement/agreement.wxss | 0 miniprogram/pages/code_edit/code_edit.js | 66 ++ .../pages/code_edit/code_edit.json | 0 miniprogram/pages/code_edit/code_edit.wxml | 1 + miniprogram/pages/code_edit/code_edit.wxss | 6 + .../pages}/contact/contact.js | 0 .../pages}/contact/contact.json | 0 .../pages}/contact/contact.wxml | 2 +- .../pages}/contact/contact.wxss | 0 {pages => miniprogram/pages}/course/course.js | 30 - .../pages/course/course.json | 0 .../pages}/course/course.wxml | 1 - .../pages}/course/course.wxss | 0 .../pages}/course_invite/course_invite.js | 0 .../pages/course_invite/course_invite.json | 0 .../pages}/course_invite/course_invite.wxml | 0 .../pages}/course_invite/course_invite.wxss | 0 .../pages}/course_setting/course_setting.js | 0 .../pages/course_setting/course_setting.json | 0 .../pages}/course_setting/course_setting.wxml | 0 .../pages}/course_setting/course_setting.wxss | 0 .../pages}/courses/courses.js | 0 .../pages}/courses/courses.json | 2 +- .../pages}/courses/courses.wxml | 0 .../pages}/courses/courses.wxss | 0 .../pages}/exercise/exercise.js | 0 .../pages/exercise/exercise.json | 0 .../pages}/exercise/exercise.wxml | 0 .../pages}/exercise/exercise.wxss | 0 .../pages}/exercise_grade/exercise_grade.js | 0 .../pages}/exercise_grade/exercise_grade.json | 0 .../pages}/exercise_grade/exercise_grade.wxml | 0 .../pages}/exercise_grade/exercise_grade.wxss | 0 .../pages}/exercise_result/exercise_result.js | 0 .../exercise_result/exercise_result.json | 0 .../exercise_result/exercise_result.wxml | 0 .../exercise_result/exercise_result.wxss | 0 .../exercise_setting/exercise_setting.js | 0 .../exercise_setting/exercise_setting.json | 0 .../exercise_setting/exercise_setting.wxml | 0 .../exercise_setting/exercise_setting.wxss | 0 .../pages}/exercises/exercises.js | 0 .../pages}/exercises/exercises.json | 0 .../pages}/exercises/exercises.wxml | 0 .../pages}/exercises/exercises.wxss | 0 .../pages}/feedback/feedback.js | 0 .../pages/feedback/feedback.json | 0 .../pages}/feedback/feedback.wxml | 0 .../pages}/feedback/feedback.wxss | 0 {pages => miniprogram/pages}/files/files.js | 0 .../pages/files/files.json | 0 {pages => miniprogram/pages}/files/files.wxml | 0 {pages => miniprogram/pages}/files/files.wxss | 0 .../pages}/findmore/findmore.js | 0 .../pages}/findmore/findmore.json | 0 .../pages}/findmore/findmore.wxml | 0 .../pages}/findmore/findmore.wxss | 0 .../pages}/image_crop/image_crop.js | 0 .../pages}/image_crop/image_crop.json | 0 .../pages}/image_crop/image_crop.wxml | 0 .../pages}/image_crop/image_crop.wxss | 0 {pages => miniprogram/pages}/login/login.js | 36 +- {pages => miniprogram/pages}/login/login.json | 0 {pages => miniprogram/pages}/login/login.wxml | 0 {pages => miniprogram/pages}/login/login.wxss | 0 .../pages}/my_courses/my_courses.js | 12 - .../pages}/my_courses/my_courses.json | 2 +- .../pages}/my_courses/my_courses.wxml | 6 +- .../pages}/my_courses/my_courses.wxss | 0 .../question_setting/question_setting.js | 0 .../question_setting/question_setting.json | 0 .../question_setting/question_setting.wxml | 0 .../question_setting/question_setting.wxss | 0 .../pages}/register/register.js | 0 .../pages}/register/register.json | 0 .../pages}/register/register.wxml | 0 .../pages}/register/register.wxss | 0 .../pages}/reset_password/reset_password.js | 0 .../pages}/reset_password/reset_password.json | 0 .../pages}/reset_password/reset_password.wxml | 0 .../pages}/reset_password/reset_password.wxss | 0 .../pages}/setting/setting.js | 1 - .../pages}/setting/setting.json | 0 .../pages}/setting/setting.wxml | 7 +- .../pages}/setting/setting.wxss | 14 + {pages => miniprogram/pages}/test/test.js | 0 miniprogram/pages/test/test.json | 3 + {pages => miniprogram/pages}/test/test.wxml | 0 {pages => miniprogram/pages}/test/test.wxss | 0 sitemap.json => miniprogram/sitemap.json | 0 miniprogram/style/edu-all.wxss | 7 + .../style/edu-common.wxss | 0 miniprogram/style/edu-main.wxss | 0 {utils => miniprogram/utils}/dateutils.js | 0 {utils => miniprogram/utils}/pathutils.js | 0 miniprogram/utils/userutils.js | 0 model/class.js | 36 - model/grade.js | 59 -- model/message.js | 44 - model/presence.js | 55 - model/user.js | 11 - pages/classroom/classroom.js | 322 ------ pages/classroom/classroom.json | 6 - pages/classroom/classroom.wxml | 60 -- pages/classroom/classroom.wxss | 119 --- pages/mark_detail/mark_detail.js | 142 --- pages/mark_detail/mark_detail.json | 4 - pages/mark_detail/mark_detail.wxml | 29 - pages/mark_detail/mark_detail.wxss | 68 -- utils/leancloudutils.js | 20 - 192 files changed, 1283 insertions(+), 1207 deletions(-) delete mode 100644 app.js create mode 100644 cloudfunctions/login/config.json create mode 100644 cloudfunctions/login/index.js create mode 100644 cloudfunctions/login/package.json delete mode 100644 components/add-tips/assets/fav-3.jpg delete mode 100644 images/cry.png delete mode 100644 images/weapp_code_smart_class.jpg delete mode 100644 lib/av-live-query-weapp-min.js delete mode 100644 lib/live-query-binding.js create mode 100644 miniprogram/.gitignore rename app.json => miniprogram/app.json (93%) rename app.wxss => miniprogram/app.wxss (100%) rename {components => miniprogram/components}/add-tips/README.md (100%) rename {components => miniprogram/components}/add-tips/add-tips.js (100%) rename {components => miniprogram/components}/add-tips/add-tips.json (100%) rename {components => miniprogram/components}/add-tips/add-tips.wxml (100%) rename {components => miniprogram/components}/add-tips/add-tips.wxss (98%) rename {components => miniprogram/components}/add-tips/assets/fav-1.jpg (100%) rename {components => miniprogram/components}/add-tips/assets/fav-2.jpg (100%) create mode 100644 miniprogram/components/course/course.js rename components/modal/join-course/join-course.json => miniprogram/components/course/course.json (100%) create mode 100644 miniprogram/components/course/course.wxml create mode 100644 miniprogram/components/course/course.wxss rename components/myicon/myicon.js => miniprogram/components/edu-icon/edu-icon.js (86%) rename components/myicon/myicon.json => miniprogram/components/edu-icon/edu-icon.json (100%) create mode 100644 miniprogram/components/edu-icon/edu-icon.wxml create mode 100644 miniprogram/components/edu-icon/edu-icon.wxss rename {components => miniprogram/components}/modal/join-course/join-course.js (100%) rename components/test/test.json => miniprogram/components/modal/join-course/join-course.json (100%) rename {components => miniprogram/components}/modal/join-course/join-course.wxml (100%) rename {components => miniprogram/components}/modal/join-course/join-course.wxss (100%) create mode 100644 miniprogram/components/my-icon/my-icon.js create mode 100644 miniprogram/components/my-icon/my-icon.json rename components/myicon/myicon.wxml => miniprogram/components/my-icon/my-icon.wxml (80%) rename components/myicon/myicon.wxss => miniprogram/components/my-icon/my-icon.wxss (100%) rename {components => miniprogram/components}/test/test.js (100%) create mode 100644 miniprogram/components/test/test.json rename {components => miniprogram/components}/test/test.wxml (100%) rename {components => miniprogram/components}/test/test.wxss (100%) rename config.js => miniprogram/config.js (100%) rename {data => miniprogram/data}/client.js (95%) rename {data => miniprogram/data}/cookie.js (100%) rename {data => miniprogram/data}/eduapi.js (99%) rename {data => miniprogram/data}/error.js (100%) rename {data => miniprogram/data}/requests.js (100%) create mode 100644 miniprogram/data/test.js rename {images => miniprogram/images}/avatar.png (100%) rename {images => miniprogram/images}/base64/bg_user.wxss (100%) rename {images => miniprogram/images}/contact.jpg (100%) rename {images => miniprogram/images}/educoder.png (100%) rename {images => miniprogram/images}/email.png (100%) rename {images => miniprogram/images}/invite.png (100%) rename {images => miniprogram/images}/loading_big.gif (100%) rename {images => miniprogram/images}/loading_min.gif (100%) rename {images => miniprogram/images}/nodata.png (100%) rename {images => miniprogram/images}/none.png (100%) rename {images => miniprogram/images}/none2.png (100%) rename {images => miniprogram/images}/online.png (100%) rename {images => miniprogram/images}/phone.png (100%) rename {images => miniprogram/images}/qq.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_contact_default.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_contact_pressed.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_findmore_default.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_findmore_pressed.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_record_default.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_record_pressed.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_settings_default.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_settings_pressed.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_sign_default.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_sign_pressed.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_study_default.png (100%) rename {images => miniprogram/images}/tabbar-icon/tabbar_study_pressed.png (100%) rename {images => miniprogram/images}/weapp_code.png (100%) rename {images => miniprogram/images}/weixin.png (100%) rename {pages => miniprogram/pages}/about/about.js (97%) rename {pages => miniprogram/pages}/about/about.json (100%) rename {pages => miniprogram/pages}/about/about.wxml (100%) rename {pages => miniprogram/pages}/about/about.wxss (100%) rename {pages => miniprogram/pages}/agreement/agreement.js (100%) rename {pages => miniprogram/pages}/agreement/agreement.json (100%) rename {pages => miniprogram/pages}/agreement/agreement.wxml (100%) rename {pages => miniprogram/pages}/agreement/agreement.wxss (100%) create mode 100644 miniprogram/pages/code_edit/code_edit.js rename pages/course/course.json => miniprogram/pages/code_edit/code_edit.json (100%) create mode 100644 miniprogram/pages/code_edit/code_edit.wxml create mode 100644 miniprogram/pages/code_edit/code_edit.wxss rename {pages => miniprogram/pages}/contact/contact.js (100%) rename {pages => miniprogram/pages}/contact/contact.json (100%) rename {pages => miniprogram/pages}/contact/contact.wxml (99%) rename {pages => miniprogram/pages}/contact/contact.wxss (100%) rename {pages => miniprogram/pages}/course/course.js (69%) rename pages/course_invite/course_invite.json => miniprogram/pages/course/course.json (100%) rename {pages => miniprogram/pages}/course/course.wxml (79%) rename {pages => miniprogram/pages}/course/course.wxss (100%) rename {pages => miniprogram/pages}/course_invite/course_invite.js (100%) rename pages/course_setting/course_setting.json => miniprogram/pages/course_invite/course_invite.json (100%) rename {pages => miniprogram/pages}/course_invite/course_invite.wxml (100%) rename {pages => miniprogram/pages}/course_invite/course_invite.wxss (100%) rename {pages => miniprogram/pages}/course_setting/course_setting.js (100%) rename pages/exercise/exercise.json => miniprogram/pages/course_setting/course_setting.json (100%) rename {pages => miniprogram/pages}/course_setting/course_setting.wxml (100%) rename {pages => miniprogram/pages}/course_setting/course_setting.wxss (100%) rename {pages => miniprogram/pages}/courses/courses.js (100%) rename {pages => miniprogram/pages}/courses/courses.json (65%) rename {pages => miniprogram/pages}/courses/courses.wxml (100%) rename {pages => miniprogram/pages}/courses/courses.wxss (100%) rename {pages => miniprogram/pages}/exercise/exercise.js (100%) rename pages/exercise_setting/exercise_setting.json => miniprogram/pages/exercise/exercise.json (100%) rename {pages => miniprogram/pages}/exercise/exercise.wxml (100%) rename {pages => miniprogram/pages}/exercise/exercise.wxss (100%) rename {pages => miniprogram/pages}/exercise_grade/exercise_grade.js (100%) rename {pages => miniprogram/pages}/exercise_grade/exercise_grade.json (100%) rename {pages => miniprogram/pages}/exercise_grade/exercise_grade.wxml (100%) rename {pages => miniprogram/pages}/exercise_grade/exercise_grade.wxss (100%) rename {pages => miniprogram/pages}/exercise_result/exercise_result.js (100%) rename {pages => miniprogram/pages}/exercise_result/exercise_result.json (100%) rename {pages => miniprogram/pages}/exercise_result/exercise_result.wxml (100%) rename {pages => miniprogram/pages}/exercise_result/exercise_result.wxss (100%) rename {pages => miniprogram/pages}/exercise_setting/exercise_setting.js (100%) rename pages/feedback/feedback.json => miniprogram/pages/exercise_setting/exercise_setting.json (100%) rename {pages => miniprogram/pages}/exercise_setting/exercise_setting.wxml (100%) rename {pages => miniprogram/pages}/exercise_setting/exercise_setting.wxss (100%) rename {pages => miniprogram/pages}/exercises/exercises.js (100%) rename {pages => miniprogram/pages}/exercises/exercises.json (100%) rename {pages => miniprogram/pages}/exercises/exercises.wxml (100%) rename {pages => miniprogram/pages}/exercises/exercises.wxss (100%) rename {pages => miniprogram/pages}/feedback/feedback.js (100%) rename pages/files/files.json => miniprogram/pages/feedback/feedback.json (100%) rename {pages => miniprogram/pages}/feedback/feedback.wxml (100%) rename {pages => miniprogram/pages}/feedback/feedback.wxss (100%) rename {pages => miniprogram/pages}/files/files.js (100%) rename pages/question_setting/question_setting.json => miniprogram/pages/files/files.json (100%) rename {pages => miniprogram/pages}/files/files.wxml (100%) rename {pages => miniprogram/pages}/files/files.wxss (100%) rename {pages => miniprogram/pages}/findmore/findmore.js (100%) rename {pages => miniprogram/pages}/findmore/findmore.json (100%) rename {pages => miniprogram/pages}/findmore/findmore.wxml (100%) rename {pages => miniprogram/pages}/findmore/findmore.wxss (100%) rename {pages => miniprogram/pages}/image_crop/image_crop.js (100%) rename {pages => miniprogram/pages}/image_crop/image_crop.json (100%) rename {pages => miniprogram/pages}/image_crop/image_crop.wxml (100%) rename {pages => miniprogram/pages}/image_crop/image_crop.wxss (100%) rename {pages => miniprogram/pages}/login/login.js (79%) rename {pages => miniprogram/pages}/login/login.json (100%) rename {pages => miniprogram/pages}/login/login.wxml (100%) rename {pages => miniprogram/pages}/login/login.wxss (100%) rename {pages => miniprogram/pages}/my_courses/my_courses.js (83%) rename {pages => miniprogram/pages}/my_courses/my_courses.json (82%) rename {pages => miniprogram/pages}/my_courses/my_courses.wxml (80%) rename {pages => miniprogram/pages}/my_courses/my_courses.wxss (100%) rename {pages => miniprogram/pages}/question_setting/question_setting.js (100%) rename pages/test/test.json => miniprogram/pages/question_setting/question_setting.json (100%) rename {pages => miniprogram/pages}/question_setting/question_setting.wxml (100%) rename {pages => miniprogram/pages}/question_setting/question_setting.wxss (100%) rename {pages => miniprogram/pages}/register/register.js (100%) rename {pages => miniprogram/pages}/register/register.json (100%) rename {pages => miniprogram/pages}/register/register.wxml (100%) rename {pages => miniprogram/pages}/register/register.wxss (100%) rename {pages => miniprogram/pages}/reset_password/reset_password.js (100%) rename {pages => miniprogram/pages}/reset_password/reset_password.json (100%) rename {pages => miniprogram/pages}/reset_password/reset_password.wxml (100%) rename {pages => miniprogram/pages}/reset_password/reset_password.wxss (100%) rename {pages => miniprogram/pages}/setting/setting.js (97%) rename {pages => miniprogram/pages}/setting/setting.json (100%) rename {pages => miniprogram/pages}/setting/setting.wxml (70%) rename {pages => miniprogram/pages}/setting/setting.wxss (78%) rename {pages => miniprogram/pages}/test/test.js (100%) create mode 100644 miniprogram/pages/test/test.json rename {pages => miniprogram/pages}/test/test.wxml (100%) rename {pages => miniprogram/pages}/test/test.wxss (100%) rename sitemap.json => miniprogram/sitemap.json (100%) create mode 100644 miniprogram/style/edu-all.wxss rename utils/userutils.js => miniprogram/style/edu-common.wxss (100%) create mode 100644 miniprogram/style/edu-main.wxss rename {utils => miniprogram/utils}/dateutils.js (100%) rename {utils => miniprogram/utils}/pathutils.js (100%) create mode 100644 miniprogram/utils/userutils.js delete mode 100644 model/class.js delete mode 100644 model/grade.js delete mode 100644 model/message.js delete mode 100644 model/presence.js delete mode 100644 model/user.js delete mode 100644 pages/classroom/classroom.js delete mode 100644 pages/classroom/classroom.json delete mode 100644 pages/classroom/classroom.wxml delete mode 100644 pages/classroom/classroom.wxss delete mode 100644 pages/mark_detail/mark_detail.js delete mode 100644 pages/mark_detail/mark_detail.json delete mode 100644 pages/mark_detail/mark_detail.wxml delete mode 100644 pages/mark_detail/mark_detail.wxss delete mode 100644 utils/leancloudutils.js diff --git a/.gitignore b/.gitignore index fd5160b..5c115c5 100644 --- a/.gitignore +++ b/.gitignore @@ -10,14 +10,7 @@ $RECYCLE.BIN/ .TemporaryItems .Trashes project.config.json -app.js -towxml -we-cropper -components/weui +api_docs/ -.idea -api_docs - -# Node.js -node_modules/ +.idea/ \ No newline at end of file diff --git a/app.js b/app.js deleted file mode 100644 index 600f643..0000000 --- a/app.js +++ /dev/null @@ -1,64 +0,0 @@ -//app.js -//导入leancloud库,与后台交互 - -import {Session} from "./data/requests"; -import {Client} from "./data/client"; -import {Account, Course, Exercise, ExerciseQuestion} from "./data/eduapi"; -const AV = require('./lib/av-live-query-weapp-min'); -const Towxml = require('/towxml/main'); -const login = require("./model/user"); - -AV.init({ - appId: 'fQCxN98zS5thYY3AceKdI8Pj-MdYXbMMI', - appKey: 'Tdi1DcLlVYrTabFiBaA00pjj', -}); - - -App({ - towxml: new Towxml(), - client: new Client(), - logining: false, - string_format_init: function(){ - //使String类实现format方法 - //@todo: 待测试 - String.prototype.format = function (kwargs) { - return this.replace(/\{(\w+)\}/g, function (k, v) { - return kwargs[v] - }); - }; - }, - require_login(){ - if (!this.logining) { - this.logining = true; - wx.navigateTo({ - url: "/pages/login/login" - }); - } - }, - onLaunch: function () { - this.client.onRequireLogin(() => { - this.require_login(); - }); - console.log("onLauch"); - this.client.get_user_info({ - success: res=>{ - console.log("app.js: userinfo get success"); - console.log(res); - if(res.data.user_id == 2){ - this.client.callback.require_login(); - } - }, - fail:error=>{ - console.warn("app.js: get user info fail"); - } - }).then(()=>{ - login().then(localuser=>{ - //save for autologin - localuser.addUnique("edu_account_real_names", this.client.current_user.real_name); - localuser.addUnique("edu_account_names", this.client.current_user.name); - localuser.addUnique("edu_account_logins", this.client.current_user.login); - localuser.set("cookies", this.client.session.cookies).save(); - }); - }); - } -}); \ No newline at end of file diff --git a/cloudfunctions/login/config.json b/cloudfunctions/login/config.json new file mode 100644 index 0000000..16348ce --- /dev/null +++ b/cloudfunctions/login/config.json @@ -0,0 +1,5 @@ +{ + "permissions": { + "openapi": [] + } +} diff --git a/cloudfunctions/login/index.js b/cloudfunctions/login/index.js new file mode 100644 index 0000000..3c524f3 --- /dev/null +++ b/cloudfunctions/login/index.js @@ -0,0 +1,36 @@ +// 云函数模板 +// 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署” + +const cloud = require('wx-server-sdk') + +// 初始化 cloud +cloud.init({ + // API 调用都保持和云函数当前所在环境一致 + env: cloud.DYNAMIC_CURRENT_ENV +}) + +/** + * 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端 + * + * event 参数包含小程序端调用传入的 data + * + */ +exports.main = (event, context) => { + console.log(event) + console.log(context) + + // 可执行其他自定义逻辑 + // console.log 的内容可以在云开发云函数调用日志查看 + + // 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息 + const wxContext = cloud.getWXContext() + + return { + event, + openid: wxContext.OPENID, + appid: wxContext.APPID, + unionid: wxContext.UNIONID, + env: wxContext.ENV, + } +} + diff --git a/cloudfunctions/login/package.json b/cloudfunctions/login/package.json new file mode 100644 index 0000000..540894e --- /dev/null +++ b/cloudfunctions/login/package.json @@ -0,0 +1,14 @@ +{ + "name": "login", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "", + "license": "ISC", + "dependencies": { + "wx-server-sdk": "latest" + } +} diff --git a/components/add-tips/assets/fav-3.jpg b/components/add-tips/assets/fav-3.jpg deleted file mode 100644 index 817c8a0d5076a69b9a9a274cf4e6e91a3f33aa4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72142 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
rQeVxE9-eYTk1TA^L5rTvH}Rb`tC*prfb5e# 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 ZZ#Fl+uFIp-4%0cS}o$2uSyP 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 diff --git a/images/weapp_code_smart_class.jpg b/images/weapp_code_smart_class.jpg deleted file mode 100644 index e75966383bef0e8aafc71cafc298a6e0b7d992e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90684 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.each=g.forEach=function(e,t,n){t=b(t,n);var r,i;if(N(e))for(r=0,i=e.length;r0?0:s-1;for(i||(r=t[o?o[a]:a],a+=e);a>=0&&a=3;return t(e,b(n,i,4),r,o)}};g.reduce=g.foldl=g.inject=x(1),g.reduceRight=g.foldr=x(-1),g.find=g.detect=function(e,t,n){var r=N(e)?g.findIndex:g.findKey,i=r(e,t,n);if(void 0!==i&&-1!==i)return e[i]},g.filter=g.select=function(e,t,n){var r=[];return t=w(t,n),g.each(e,function(e,n,i){t(e,n,i)&&r.push(e)}),r},g.reject=function(e,t,n){return g.filter(e,g.negate(w(t)),n)},g.every=g.all=function(e,t,n){t=w(t,n);for(var r=!N(e)&&g.keys(e),i=(r||e).length,o=0;o=0},g.invoke=E(function(e,t,n){var r,i;return g.isFunction(t)?i=t:g.isArray(t)&&(r=t.slice(0,-1),t=t[t.length-1]),g.map(e,function(e){var o=i;if(!o){if(r&&r.length&&(e=A(e,r)),null==e)return;o=e[t]}return null==o?o:o.apply(e,n)})}),g.pluck=function(e,t){return g.map(e,g.property(t))},g.where=function(e,t){return g.filter(e,g.matcher(t))},g.findWhere=function(e,t){return g.find(e,g.matcher(t))},g.max=function(e,t,n){var r,i,o=-1/0,s=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e){e=N(e)?e:g.values(e);for(var a=0,u=e.length;ao&&(o=r)}else t=w(t,n),g.each(e,function(e,n,r){((i=t(e,n,r))>s||i===-1/0&&o===-1/0)&&(o=e,s=i)});return o},g.min=function(e,t,n){var r,i,o=1/0,s=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e){e=N(e)?e:g.values(e);for(var a=0,u=e.length;ar||void 0===n)return 1;if(n0?0:i-1;o>=0&&o0?s=o>=0?o:Math.max(o+a,s):a=o>=0?Math.min(o+1,a):o+a+1;else if(n&&o&&a)return o=n(r,i),r[o]===i?o:-1;if(i!==i)return o=t(f.call(r,s,a),g.isNaN),o>=0?o+s:-1;for(o=e>0?s:a-1;o>=0&&ot?(r&&(clearTimeout(r),r=null),a=c,s=e.apply(i,o),r||(i=o=null)):r||!1===n.trailing||(r=setTimeout(u,l)),s};return c.cancel=function(){clearTimeout(r),a=0,r=i=o=null},c},g.debounce=function(e,t,n){var r,i,o=function(t,n){r=null,n&&(i=e.apply(t,n))},s=E(function(s){if(r&&clearTimeout(r),n){var a=!r;r=setTimeout(o,t),a&&(i=e.apply(this,s))}else r=g.delay(o,t,this,s);return i});return s.cancel=function(){clearTimeout(r),r=null},s},g.wrap=function(e,t){return g.partial(t,e)},g.negate=function(e){return function(){return!e.apply(this,arguments)}},g.compose=function(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}},g.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},g.before=function(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}},g.once=g.partial(g.before,2),g.restArguments=E;var D=!{toString:null}.propertyIsEnumerable("toString"),F=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],M=function(e,t){var n=F.length,r=e.constructor,i=g.isFunction(r)&&r.prototype||u,o="constructor";for(O(e,o)&&!g.contains(t,o)&&t.push(o);n--;)(o=F[n])in e&&e[o]!==i[o]&&!g.contains(t,o)&&t.push(o)};g.keys=function(e){if(!g.isObject(e))return[];if(y)return y(e);var t=[];for(var n in e)O(e,n)&&t.push(n);return D&&M(e,t),t},g.allKeys=function(e){if(!g.isObject(e))return[];var t=[];for(var n in e)t.push(n);return D&&M(e,t),t},g.values=function(e){for(var t=g.keys(e),n=t.length,r=Array(n),i=0;i1&&(r=b(r,t[1])),t=g.allKeys(e)):(r=B,t=P(t,!1,!1),e=Object(e));for(var i=0,o=t.length;i1&&(n=t[1])):(t=g.map(P(t,!1,!1),String),r=function(e,n){return!g.contains(t,n)}),g.pick(e,r,n)}),g.defaults=q(g.allKeys,!0),g.create=function(e,t){var n=T(e);return t&&g.extendOwn(n,t),n},g.clone=function(e){return g.isObject(e)?g.isArray(e)?e.slice():g.extend({},e):e},g.tap=function(e,t){return t(e),e},g.isMatch=function(e,t){var n=g.keys(t),r=n.length;if(null==e)return!r;for(var i=Object(e),o=0;o":">",'"':""","'":"'","`":"`"},G=g.invert(z),H=function(e){var t=function(t){return e[t]},n="(?:"+g.keys(e).join("|")+")",r=RegExp(n),i=RegExp(n,"g");return function(e){return e=null==e?"":""+e,r.test(e)?e.replace(i,t):e}};g.escape=H(z),g.unescape=H(G),g.result=function(e,t,n){g.isArray(t)||(t=[t]);var r=t.length;if(!r)return g.isFunction(n)?n.call(e):n;for(var i=0;i/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var Q=/(.)^/,K={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},$=/\\|'|\r|\n|\u2028|\u2029/g,X=function(e){return"\\"+K[e]};g.template=function(e,t,n){!t&&n&&(t=n),t=g.defaults({},t,g.templateSettings);var r=RegExp([(t.escape||Q).source,(t.interpolate||Q).source,(t.evaluate||Q).source].join("|")+"|$","g"),i=0,o="__p+='";e.replace(r,function(t,n,r,s,a){return o+=e.slice(i,a).replace($,X),i=a+t.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":s&&(o+="';\n"+s+"\n__p+='"),t}),o+="';\n",t.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";var s;try{s=new Function(t.variable||"obj","_",o)}catch(e){throw e.source=o,e}var a=function(e){return s.call(this,e,g)};return a.source="function("+(t.variable||"obj")+"){\n"+o+"}",a},g.chain=function(e){var t=g(e);return t._chain=!0,t};var Z=function(e,t){return e._chain?g(t).chain():t};g.mixin=function(e){return g.each(g.functions(e),function(t){var n=g[t]=e[t];g.prototype[t]=function(){var e=[this._wrapped];return l.apply(e,arguments),Z(this,n.apply(g,e))}}),g},g.mixin(g),g.each(["pop","push","reverse","shift","sort","splice","unshift"],function(e){var t=a[e];g.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==e&&"splice"!==e||0!==n.length||delete n[0],Z(this,n)}}),g.each(["concat","join","slice"],function(e){var t=a[e];g.prototype[e]=function(){return Z(this,t.apply(this._wrapped,arguments))}}),g.prototype.value=function(){return this._wrapped},g.prototype.valueOf=g.prototype.toJSON=g.prototype.value,g.prototype.toString=function(){return String(this._wrapped)},r=[],void 0!==(i=function(){return g}.apply(t,r))&&(n.exports=i)}()}).call(t,n(5),n(32)(e))},function(e,t,n){"use strict";var r=n(44).Promise;r._continueWhile=function(e,t){return e()?t().then(function(){return r._continueWhile(e,t)}):r.resolve()},e.exports=r},function(e,t,n){"use strict";var r=n(0),i=n(59),o=n(0),s=o.extend,a=n(1),u=n(6),c=n(3),l=c.getSessionToken,f=c.ajax,h=function(e,t){var n=(new Date).getTime(),r=i(n+e);return t?r+","+n+",master":r+","+n},d=function(e,t){t?e["X-LC-Sign"]=h(u.applicationKey):e["X-LC-Key"]=u.applicationKey},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],n={"X-LC-Id":u.applicationId,"Content-Type":"application/json;charset=UTF-8"},r=!1;return"boolean"==typeof e.useMasterKey?r=e.useMasterKey:"boolean"==typeof u._config.useMasterKey&&(r=u._config.useMasterKey),r?u.masterKey?t?n["X-LC-Sign"]=h(u.masterKey,!0):n["X-LC-Key"]=u.masterKey+",master":(console.warn("masterKey is not set, fall back to use appKey"),d(n,t)):d(n,t),u.hookKey&&(n["X-LC-Hook-Key"]=u.hookKey),null!==u._config.production&&(n["X-LC-Prod"]=String(u._config.production)),n["X-LC-UA"]=u._sharedConfig.userAgent,a.resolve().then(function(){var t=l(e);if(t)n["X-LC-Session"]=t;else if(!u._config.disableCurrentUser)return u.User.currentAsync().then(function(e){return e&&e._sessionToken&&(n["X-LC-Session"]=e._sessionToken),n});return n})},y=function(e){var t=e.service,n=void 0===t?"api":t,r=e.version,i=void 0===r?"1.1":r,o=e.path,s=u._config.serverURLs[n];if(!s)throw new Error("undefined server URL for "+n);return"/"!==s.charAt(s.length-1)&&(s+="/"),s+=i,o&&(s+=o),s},m=function(e){var t=e.service,n=e.version,i=e.method,o=e.path,s=e.query,a=e.data,c=e.authOptions,l=e.signKey,h=void 0===l||l;if(!u.applicationId||!u.applicationKey&&!u.masterKey)throw new Error("Not initialized");u._appRouter.refresh();var d=u._config.requestTimeout,m=y({service:t,path:o,version:n});return p(c,h).then(function(e){return f({method:i,url:m,query:s,data:a,headers:e,timeout:d}).catch(function(e){var t={code:e.code||-1,error:e.message||e.responseText};if(e.response&&e.response.code)t=e.response;else if(e.responseText)try{t=JSON.parse(e.responseText)}catch(e){}t.rawMessage=t.rawMessage||t.error,u._sharedConfig.keepErrorRawMessage||(t.error+=" ["+(e.statusCode||"N/A")+" "+i+" "+m+"]");var n=new Error(t.error);throw delete t.error,r.extend(n,t)})})},v=function(e,t,n,r,i,o,a){var u="";if(e&&(u+="/"+e),t&&(u+="/"+t),n&&(u+="/"+n),i&&i._fetchWhenSave)throw new Error("_fetchWhenSave should be in the query");if(i&&i._where)throw new Error("_where should be in the query");return r&&"get"===r.toLowerCase()&&(a=s({},a,i),i=null),m({method:r,path:u,query:a,data:i,authOptions:o})};u.request=m,e.exports={_request:v,request:m}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=n(0),o=n(8),s=n(7),a=s("leancloud:request"),u=s("leancloud:request:error"),c=n(1),l=0,f=function(e){var t=e.method,n=e.url,i=e.query,f=e.data,h=e.headers,d=void 0===h?{}:h,p=e.onprogress,y=e.timeout,m={};if(i)for(var v in i){var g=i[v];void 0!==g&&("object"===(void 0===g?"undefined":r(g))?m[v]=JSON.stringify(g):m[v]=g)}var _=l++;return a("request(%d) %s %s %o %o %o",_,t,n,m,f,d),new c(function(e,r){var c=o(t,n).set(d).query(m).send(f);p&&c.on("progress",p),y&&c.timeout(y),c.end(function(o,c){return o?(c&&(s.enabled("leancloud:request")||u("request(%d) %s %s %o %o %o",_,t,n,i,f,d),u("response(%d) %d %O %o",_,c.status,c.body||c.text,c.header),o.statusCode=c.status,o.responseText=c.text,o.response=c.body),r(o)):(a("response(%d) %d %O %o",_,c.status,c.body||c.text,c.header),e(c.body))})})},h=function(e){return i.isNull(e)||i.isUndefined(e)},d=function(e){return i.isArray(e)?e:void 0===e||null===e?[]:[e]},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.keys,n=e.include,r=e.includeACL,i={};return t&&(i.keys=d(t).join(",")),n&&(i.include=d(n).join(",")),r&&(i.returnACL=r),i},y=function(e){return e.sessionToken?e.sessionToken:e.user&&"function"==typeof e.user.getSessionToken?e.user.getSessionToken():void 0},m=function(e){return function(t){return e(t),t}},v=function(){},g=function(e,t,n){var r;return r=t&&t.hasOwnProperty("constructor")?t.constructor:function(){e.apply(this,arguments)},i.extend(r,e),v.prototype=e.prototype,r.prototype=new v,t&&i.extend(r.prototype,t),n&&i.extend(r,n),r.prototype.constructor=r,r.__super__=e.prototype,r},_=function(e){return new Date(e)},b=function(e,t,n){var r=t.split("."),i=r.pop(),o=e;return r.forEach(function(e){void 0===o[e]&&(o[e]={}),o=o[e]}),o[i]=n,e},w=function(e,t){for(var n=t.split("."),r=n[0],i=n.pop(),o=e,s=0;s0&&void 0!==arguments[0]?arguments[0]:f._getAVPath("subscriptionId"),t=f._subscriptionId=i();return f.localStorage.setItemAsync(e,t).then(function(){return t})},f._getSubscriptionId=function(){if(f._subscriptionId)return l.resolve(f._subscriptionId);var e=f._getAVPath("subscriptionId");return f.localStorage.getItemAsync(e).then(function(t){return f._subscriptionId=t,f._subscriptionId||(t=f._refreshSubscriptionId(e)),t})},f._parseDate=c,f._extend=function(e,t){var n=u(this,e,t);return n.extend=this.extend,n},f._encode=function(e,t,n){var i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(e instanceof f.Object){if(n)throw new Error("AV.Objects not allowed here");return t&&!r.include(t,e)&&e._hasData?e._toFullJSON(t.concat(e),i):e._toPointer()}if(e instanceof f.ACL)return e.toJSON();if(r.isDate(e))return i?{__type:"Date",iso:e.toJSON()}:e.toJSON();if(e instanceof f.GeoPoint)return e.toJSON();if(r.isArray(e))return r.map(e,function(e){return f._encode(e,t,n,i)});if(r.isRegExp(e))return e.source;if(e instanceof f.Relation)return e.toJSON();if(e instanceof f.Op)return e.toJSON();if(e instanceof f.File){if(!e.url()&&!e.id)throw new Error("Tried to save an object containing an unsaved file.");return e._toFullJSON(t,i)}return r.isObject(e)?r.mapObject(e,function(e,r){return f._encode(e,t,n,i)}):e},f._decode=function(e,t){if(!r.isObject(e)||r.isDate(e))return e;if(r.isArray(e))return r.map(e,function(e){return f._decode(e)});if(e instanceof f.Object)return e;if(e instanceof f.File)return e;if(e instanceof f.Op)return e;if(e instanceof f.GeoPoint)return e;if(e instanceof f.ACL)return e;if("ACL"===t)return new f.ACL(e);if(e.__op)return f.Op._decode(e);var n;if("Pointer"===e.__type){n=e.className;var i=f.Object._create(n);if(Object.keys(e).length>3){var o=r.clone(e);delete o.__type,delete o.className,i._finishFetch(o,!0)}else i._finishFetch({objectId:e.objectId},!1);return i}if("Object"===e.__type){n=e.className;var s=r.clone(e);delete s.__type,delete s.className;var a=f.Object._create(n);return a._finishFetch(s,!0),a}if("Date"===e.__type)return f._parseDate(e.iso);if("GeoPoint"===e.__type)return new f.GeoPoint({latitude:e.latitude,longitude:e.longitude});if("Relation"===e.__type){if(!t)throw new Error("key missing decoding a Relation");var u=new f.Relation(null,t);return u.targetClassName=e.className,u}if("File"===e.__type){var c=new f.File(e.name),l=r.clone(e);return delete l.__type,c._finishFetch(l),c}return r.mapObject(e,f._decode)},f.parseJSON=f._decode,f.parse=function(e){return f.parseJSON(JSON.parse(e))},f.stringify=function(e){return JSON.stringify(f._encode(e,[],!1,!0))},f._encodeObjectOrArray=function(e){var t=function(e){return e&&e._toFullJSON&&(e=e._toFullJSON([])),r.mapObject(e,function(e){return f._encode(e,[])})};return r.isArray(e)?e.map(function(e){return t(e)}):t(e)},f._arrayEach=r.each,f._traverse=function(e,t,n){if(e instanceof f.Object){if(n=n||[],r.indexOf(n,e)>=0)return;return n.push(e),f._traverse(e.attributes,t,n),t(e)}return e instanceof f.Relation||e instanceof f.File?t(e):r.isArray(e)?(r.each(e,function(r,i){var o=f._traverse(r,t,n);o&&(e[i]=o)}),t(e)):r.isObject(e)?(f._each(e,function(r,i){var o=f._traverse(r,t,n);o&&(e[i]=o)}),t(e)):t(e)},f._objectEach=f._each=function(e,t){r.isObject(e)?r.each(r.keys(e),function(n){t(e[n],n)}):r.each(e,t)},f.debug={enable:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"leancloud*";return o.enable(e)},disable:o.disable},e.exports=f}).call(t,n(5))},function(e,t,n){"use strict";function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function o(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),this.useColors){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(r++,"%c"===e&&(i=r))}),t.splice(i,0,n)}}function s(){var e;return"object"===("undefined"==typeof console?"undefined":r(console))&&console.log&&(e=console).log.apply(e,arguments)}function a(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}}function u(){var e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e}t.log=s,t.formatArgs=o,t.save=a,t.load=u,t.useColors=i,t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.exports=n(35)(t),e.exports.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},function(e,t,n){function r(){}function i(e){if(!y(e))return e;var t=[];for(var n in e)o(t,n,e[n]);return t.join("&")}function o(e,t,n){if(null!=n)if(Array.isArray(n))n.forEach(function(n){o(e,t,n)});else if(y(n))for(var r in n)o(e,t+"["+r+"]",n[r]);else e.push(encodeURIComponent(t)+"="+encodeURIComponent(n));else null===n&&e.push(encodeURIComponent(t))}function s(e){for(var t,n,r={},i=e.split("&"),o=0,s=i.length;o=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4==n){var r;try{r=t.status}catch(e){r=0}if(!r){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var r=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.onprogress=r.bind(null,"download"),t.upload&&(t.upload.onprogress=r.bind(null,"upload"))}catch(e){}try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var i=this._header["content-type"],o=this._serializer||g.serialize[i?i.split(";")[0]:""];!o&&u(i)&&(o=g.serialize["application/json"]),o&&(n=o(n))}for(var s in this.header)null!=this.header[s]&&this.header.hasOwnProperty(s)&&t.setRequestHeader(s,this.header[s]);return this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0!==n?n:null),this},g.agent=function(){return new v},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){v.prototype[e.toLowerCase()]=function(t,n){var r=new g.Request(e,t);return this._setDefaults(r),n&&r.end(n),r}}),v.prototype.del=v.prototype.delete,g.get=function(e,t,n){var r=g("GET",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},g.head=function(e,t,n){var r=g("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},g.options=function(e,t,n){var r=g("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},g.del=f,g.delete=f,g.patch=function(e,t,n){var r=g("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},g.post=function(e,t,n){var r=g("POST",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},g.put=function(e,t,n){var r=g("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}},function(e,t,n){"use strict";var r=n(10),i=n(29),o=n(30),s=r.LISTENERS,a=r.CAPTURE,u=r.BUBBLE,c=r.ATTRIBUTE,l=r.newNode,f=i.defineCustomEventTarget,h=o.createEventWrapper,d=o.STOP_IMMEDIATE_PROPAGATION_FLAG,p="undefined"!=typeof window&&void 0!==window.EventTarget,y=e.exports=function e(){if(!(this instanceof e)){if(1===arguments.length&&Array.isArray(arguments[0]))return f(e,arguments[0]);if(arguments.length>0){for(var t=Array(arguments.length),n=0;n2&&void 0!==arguments[2])||arguments[2];if(this.readyState!==h)throw new Error("request is already opened");if(!n)throw new Error("sync request is not supported");this._method=e,this._url=t,this.readyState=1,this.dispatchEvent({type:"readystatechange"})}},{key:"setRequestHeader",value:function(e,t){if(1!==this.readyState)throw new Error("request is not opened");this._headers[e.toLowerCase()]=t}},{key:"send",value:function(e){var t=this;if(1!==this.readyState)throw new Error("request is not opened");if(e instanceof f){var n=e.entries(),i=n.filter(function(e){return"string"!=typeof e[1]});if(0===i.length)throw new Error("Must specify a Blob field in FormData");i.length>1&&console.warn("Only the first Blob will be send in Weapp");var o=n.filter(function(e){return"string"==typeof e[1]}).reduce(function(e,t){return c(e,r({},t[0],t[1]))},{});this._request=wx.uploadFile({url:this._url,name:i[0][0],filePath:i[0][1].uri,formData:o,header:this._headers,success:a.bind(this),fail:function(e){t.status=0,t.readyState=d,t.dispatchEvent({type:"readystatechange"}),t.dispatchEvent({type:"error"})}}),this._request&&this._request.onProgressUpdate&&this._request.onProgressUpdate(function(e){var n=e.totalBytesSent,r=e.totalBytesExpectedToSend;t.upload.dispatchEvent({type:"progress",loaded:n,total:r})})}else this._request=wx.request({url:this._url,data:e||"",method:this._method.toUpperCase(),header:this._headers,success:a.bind(this),fail:function(e){t.status=0,t.readyState=d,t.dispatchEvent({type:"readystatechange"}),t.dispatchEvent({type:"error"})}})}}]),t}(l(p));c(v,{UNSENT:h,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:d}),e.exports=v},function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,u=r(e),c=1;c0&&void 0!==arguments[0]?arguments[0]:t||window;if("object"!==(void 0===e?"undefined":r(e)))throw new Error("polyfill target is not an Object");var n={localStorage:i,XMLHttpRequest:o,FormData:s,WebSocket:a,Object:Object,navigator:c};for(var l in n)e[l]||(e[l]=n[l]);u.polyfill(e),e.navigator.product="ReactNative"},localStorage:i,XMLHttpRequest:o,FormData:s,WebSocket:a}}).call(t,n(5))},function(e,t,n){"use strict";function r(e,t){for(var n=e[s][t];null!=n;){if(n.kind===a)return n.listener;n=n.next}return null}function i(e,t,n){"function"!=typeof n&&"object"!=typeof n&&(n=null);for(var r=null,i=e[s][t];null!=i;)i.kind===a?null==r?e[s][t]=i.next:r.next=i.next:r=i,i=i.next;null!=n&&(null==r?e[s][t]=u(n,a):r.next=u(n,a))}var o=n(10),s=o.LISTENERS,a=o.ATTRIBUTE,u=o.newNode;t.defineCustomEventTarget=function(e,t){function n(){e.call(this)}var o={constructor:{value:n,configurable:!0,writable:!0}};return t.forEach(function(e){o["on"+e]={get:function(){return r(this,e)},set:function(t){i(this,e,t)},configurable:!0,enumerable:!0}}),n.prototype=Object.create(e.prototype,o),n}},function(e,t,n){"use strict";var r=n(10).createUniqueKey,i=r("stop_immediate_propagation_flag"),o=r("canceled_flag"),s=r("original_event"),a=Object.freeze({stopPropagation:Object.freeze({value:function(){var e=this[s];"function"==typeof e.stopPropagation&&e.stopPropagation()},writable:!0,configurable:!0}),stopImmediatePropagation:Object.freeze({value:function(){this[i]=!0;var e=this[s];"function"==typeof e.stopImmediatePropagation&&e.stopImmediatePropagation()},writable:!0,configurable:!0}),preventDefault:Object.freeze({value:function(){!0===this.cancelable&&(this[o]=!0);var e=this[s];"function"==typeof e.preventDefault&&e.preventDefault()},writable:!0,configurable:!0}),defaultPrevented:Object.freeze({get:function(){return this[o]},enumerable:!0,configurable:!0})});t.STOP_IMMEDIATE_PROPAGATION_FLAG=i,t.createEventWrapper=function(e,t){var n="number"==typeof e.timeStamp?e.timeStamp:Date.now(),r={type:{value:e.type,enumerable:!0},target:{value:t,enumerable:!0},currentTarget:{value:t,enumerable:!0},eventPhase:{value:2,enumerable:!0},bubbles:{value:Boolean(e.bubbles),enumerable:!0},cancelable:{value:Boolean(e.cancelable),enumerable:!0},timeStamp:{value:n,enumerable:!0},isTrusted:{value:!1,enumerable:!0}};return r[i]={value:!1,writable:!0},r[o]={value:!1,writable:!0},r[s]={value:e},void 0!==e.detail&&(r.detail={value:e.detail,enumerable:!0}),Object.create(Object.create(e,a),r)}},function(e,t,n){"use strict";var r=n(9);t.polyfill=function(e){if(wx.onNetworkStatusChange&&!e.__onlineOfflinePolyfilled){e.__onlineOfflinePolyfilled=!0;var t=new r;e.dispatchEvent||(e.addEventListener=t.addEventListener.bind(t),e.removeEventListener=t.removeEventListener.bind(t),e.dispatchEvent=t.dispatchEvent.bind(t),"function"!=typeof postMessage||e.importScripts||(e.importScripts=function(){throw new Error("mocked")})),wx.getNetworkType({success:function(t){var n=t.networkType;e.onLine="none"!==n,wx.onNetworkStatusChange(function(t){var n=t.isConnected;e.onLine!==n&&(e.onLine=n,e.dispatchEvent({type:n?"online":"offline"}))})}})}}},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e,t){var n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof window.msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto);if(n){var r=new Uint8Array(16);e.exports=function(){return n(r),r}}else{var i=new Array(16);e.exports=function(){for(var e,t=0;t<16;t++)0==(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}},function(e,t){function n(e,t){var n=t||0,i=r;return[i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],"-",i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]],i[e[n++]]].join("")}for(var r=[],i=0;i<256;++i)r[i]=(i+256).toString(16).substr(1);e.exports=n},function(e,t,n){"use strict";function r(e){function t(e){for(var t=0,n=0;n100)){var t=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*f;case"weeks":case"week":case"w":return n*l;case"days":case"day":case"d":return n*c;case"hours":case"hour":case"hrs":case"hr":case"h":return n*u;case"minutes":case"minute":case"mins":case"min":case"m":return n*a;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function r(e){var t=Math.abs(e);return t>=c?Math.round(e/c)+"d":t>=u?Math.round(e/u)+"h":t>=a?Math.round(e/a)+"m":t>=s?Math.round(e/s)+"s":e+"ms"}function i(e){var t=Math.abs(e);return t>=c?o(e,t,c,"day"):t>=u?o(e,t,u,"hour"):t>=a?o(e,t,a,"minute"):t>=s?o(e,t,s,"second"):e+" ms"}function o(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}var s=1e3,a=60*s,u=60*a,c=24*u,l=7*c,f=365.25*c;e.exports=function(e,t){t=t||{};var o=typeof e;if("string"===o&&e.length>0)return n(e);if("number"===o&&!1===isNaN(e))return t.long?i(e):r(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},function(e,t,n){"use strict";var r=n(18),i=["Weapp"].concat(n(38));e.exports="LeanCloud-JS-SDK/"+r+" ("+i.join("; ")+")"},function(e,t,n){"use strict";e.exports=[]},function(e,t,n){function r(e){if(e)return i(e)}function i(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}e.exports=r,r.prototype.on=r.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},r.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},r.prototype.off=r.prototype.removeListener=r.prototype.removeAllListeners=r.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var r,i=0;i=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!=t.status)return!0;if(e){if(e.code&&~s.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},r.prototype.then=function(e,t){if(!this._fullfilledPromise){var n=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){n.end(function(n,r){n?t(n):e(r)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.getHeader=r.prototype.get,r.prototype.set=function(e,t){if(o(e)){for(var n in e)this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null===e||void 0===e)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),o(e)){for(var n in e)this.field(n,e[n]);return this}if(Array.isArray(t)){for(var r in t)this.field(e,t[r]);return this}if(null===t||void 0===t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=""+t),this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted?this:(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort"),this)},r.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic "+r(e+":"+t));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer "+e)}return this},r.prototype.withCredentials=function(e){return void 0==e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=o(e),n=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&o(this._data))for(var r in e)this._data[r]=e[r];else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"==n?this._data?this._data+"&"+e:e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)?this:(n||this.type("json"),this)},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.indexOf("?")>=0?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},r.prototype._appendQueryString=function(){console.trace("Unsupported")},r.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error(e+t+"ms exceeded");r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.abort(),this.callback(r)}},r.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},function(e,t,n){"use strict";function r(e){if(e)return i(e)}function i(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}var o=n(42);e.exports=r,r.prototype.get=function(e){return this.header[e.toLowerCase()]},r.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=o.type(t);var n=o.params(t);for(var r in n)this[r]=n[r];this.links={};try{e.link&&(this.links=o.parseLinks(e.link))}catch(e){}},r.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e}},function(e,t,n){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),r=n.shift(),i=n.shift();return r&&i&&(e[r]=i),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),r=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=r,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},function(e,t){function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach(function(e){n.prototype[e]=function(){return this._defaults.push({fn:e,arguments:arguments}),this}}),n.prototype._setDefaults=function(e){this._defaults.forEach(function(t){e[t.fn].apply(e,t.arguments)})},e.exports=n},function(e,t,n){(function(t){/*! - * @overview es6-promise - a tiny implementation of Promises/A+. - * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) - * @license Licensed under MIT license - * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE - * @version v4.2.3+b33f4734 - */ -!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e){var t=typeof e;return null!==e&&("object"===t||"function"===t)}function r(e){return"function"==typeof e}function i(e){B=e}function o(e){V=e}function s(){return void 0!==q?function(){q(u)}:a()}function a(){var e=setTimeout;return function(){return e(u,1)}}function u(){for(var e=0;e1&&void 0!==arguments[1])||arguments[1];"string"!=typeof e?c(i._config.serverURLs,e):i._config.serverURLs=f(e),t&&(i._appRouter?i._appRouter.disable():h=!0)},i.setServerURLs=function(e){return i._setServerURLs(e)},i.keepErrorRawMessage=function(e){i._sharedConfig.keepErrorRawMessage=e},i.setRequestTimeout=function(e){i._config.requestTimeout=e},i.initialize=i.init,["applicationId","applicationKey","masterKey","hookKey"].forEach(function(e){return Object.defineProperty(i,e,{get:function(){return i._config[e]},set:function(t){i._config[e]=t}})})},function(e,t,n){"use strict";function r(e){var t=this;this.AV=e,this.lockedUntil=0,s.getAsync("serverURLs").then(function(e){if(!t.disabled){if(!e)return t.lock(0);var n=e.serverURLs,r=e.lockedUntil;t.AV._setServerURLs(n,!1),t.lockedUntil=r}}).catch(function(){return t.lock(0)})}var i=n(3),o=i.ajax,s=n(21);r.prototype.disable=function(){this.disabled=!0},r.prototype.lock=function(e){this.lockedUntil=Date.now()+e},r.prototype.refresh=function(){var e=this;if(!(this.disabled||Date.now()90)throw new Error("AV.GeoPoint latitude "+e+" > 90.0.");if(t<-180)throw new Error("AV.GeoPoint longitude "+t+" < -180.0.");if(t>180)throw new Error("AV.GeoPoint longitude "+t+" > 180.0.")},e.GeoPoint.current=function(){return new i(function(t,n){navigator.geolocation.getCurrentPosition(function(n){t(new e.GeoPoint({latitude:n.coords.latitude,longitude:n.coords.longitude}))},n)})},r.extend(e.GeoPoint.prototype,{toJSON:function(){return e.GeoPoint._validate(this.latitude,this.longitude),{__type:"GeoPoint",latitude:this.latitude,longitude:this.longitude}},radiansTo:function(e){var t=Math.PI/180,n=this.latitude*t,r=this.longitude*t,i=e.latitude*t,o=e.longitude*t,s=n-i,a=r-o,u=Math.sin(s/2),c=Math.sin(a/2),l=u*u+Math.cos(n)*Math.cos(i)*c*c;return l=Math.min(1,l),2*Math.asin(Math.sqrt(l))},kilometersTo:function(e){return 6371*this.radiansTo(e)},milesTo:function(e){return 3958.8*this.radiansTo(e)}})}},function(e,t,n){"use strict";var r=n(0);e.exports=function(e){e.ACL=function(t){var n=this;if(n.permissionsById={},r.isObject(t))if(t instanceof e.User)n.setReadAccess(t,!0),n.setWriteAccess(t,!0);else{if(r.isFunction(t))throw new Error("AV.ACL() called with a function. Did you forget ()?");e._objectEach(t,function(t,i){if(!r.isString(i))throw new Error("Tried to create an ACL with an invalid userId.");n.permissionsById[i]={},e._objectEach(t,function(e,t){if("read"!==t&&"write"!==t)throw new Error("Tried to create an ACL with an invalid permission type.");if(!r.isBoolean(e))throw new Error("Tried to create an ACL with an invalid permission value.");n.permissionsById[i][t]=e})})}},e.ACL.prototype.toJSON=function(){return r.clone(this.permissionsById)},e.ACL.prototype._setAccess=function(t,n,i){if(n instanceof e.User?n=n.id:n instanceof e.Role&&(n="role:"+n.getName()),!r.isString(n))throw new Error("userId must be a string.");if(!r.isBoolean(i))throw new Error("allowed must be either true or false.");var o=this.permissionsById[n];if(!o){if(!i)return;o={},this.permissionsById[n]=o}i?this.permissionsById[n][t]=!0:(delete o[t],r.isEmpty(o)&&delete this.permissionsById[n])},e.ACL.prototype._getAccess=function(t,n){n instanceof e.User?n=n.id:n instanceof e.Role&&(n="role:"+n.getName());var r=this.permissionsById[n];return!!r&&!!r[t]},e.ACL.prototype.setReadAccess=function(e,t){this._setAccess("read",e,t)},e.ACL.prototype.getReadAccess=function(e){return this._getAccess("read",e)},e.ACL.prototype.setWriteAccess=function(e,t){this._setAccess("write",e,t)},e.ACL.prototype.getWriteAccess=function(e){return this._getAccess("write",e)},e.ACL.prototype.setPublicReadAccess=function(e){this.setReadAccess("*",e)},e.ACL.prototype.getPublicReadAccess=function(){return this.getReadAccess("*")},e.ACL.prototype.setPublicWriteAccess=function(e){this.setWriteAccess("*",e)},e.ACL.prototype.getPublicWriteAccess=function(){return this.getWriteAccess("*")},e.ACL.prototype.getRoleReadAccess=function(t){if(t instanceof e.Role&&(t=t.getName()),r.isString(t))return this.getReadAccess("role:"+t);throw new Error("role must be a AV.Role or a String")},e.ACL.prototype.getRoleWriteAccess=function(t){if(t instanceof e.Role&&(t=t.getName()),r.isString(t))return this.getWriteAccess("role:"+t);throw new Error("role must be a AV.Role or a String")},e.ACL.prototype.setRoleReadAccess=function(t,n){if(t instanceof e.Role&&(t=t.getName()),r.isString(t))return void this.setReadAccess("role:"+t,n);throw new Error("role must be a AV.Role or a String")},e.ACL.prototype.setRoleWriteAccess=function(t,n){if(t instanceof e.Role&&(t=t.getName()),r.isString(t))return void this.setWriteAccess("role:"+t,n);throw new Error("role must be a AV.Role or a String")}}},function(e,t,n){"use strict";var r=n(0);e.exports=function(e){e.Op=function(){this._initialize.apply(this,arguments)},r.extend(e.Op.prototype,{_initialize:function(){}}),r.extend(e.Op,{_extend:e._extend,_opDecoderMap:{},_registerDecoder:function(t,n){e.Op._opDecoderMap[t]=n},_decode:function(t){var n=e.Op._opDecoderMap[t.__op];return n?n(t):void 0}}),e.Op._registerDecoder("Batch",function(t){var n=null;return e._arrayEach(t.ops,function(t){t=e.Op._decode(t),n=t._mergeWithPrevious(n)}),n}),e.Op.Set=e.Op._extend({_initialize:function(e){this._value=e},value:function(){return this._value},toJSON:function(){return e._encode(this.value())},_mergeWithPrevious:function(e){return this},_estimate:function(e){return this.value()}}),e.Op._UNSET={},e.Op.Unset=e.Op._extend({toJSON:function(){return{__op:"Delete"}},_mergeWithPrevious:function(e){return this},_estimate:function(t){return e.Op._UNSET}}),e.Op._registerDecoder("Delete",function(t){return new e.Op.Unset}),e.Op.Increment=e.Op._extend({_initialize:function(e){this._amount=e},amount:function(){return this._amount},toJSON:function(){return{__op:"Increment",amount:this._amount}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)return new e.Op.Set(this.amount());if(t instanceof e.Op.Set)return new e.Op.Set(t.value()+this.amount());if(t instanceof e.Op.Increment)return new e.Op.Increment(this.amount()+t.amount());throw new Error("Op is invalid after previous op.")}return this},_estimate:function(e){return e?e+this.amount():this.amount()}}),e.Op._registerDecoder("Increment",function(t){return new e.Op.Increment(t.amount)}),e.Op.BitAnd=e.Op._extend({_initialize:function(e){this._value=e},value:function(){return this._value},toJSON:function(){return{__op:"BitAnd",value:this.value()}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)return new e.Op.Set(0);if(t instanceof e.Op.Set)return new e.Op.Set(t.value()&this.value());throw new Error("Op is invalid after previous op.")}return this},_estimate:function(e){return e&this.value()}}),e.Op._registerDecoder("BitAnd",function(t){return new e.Op.BitAnd(t.value)}),e.Op.BitOr=e.Op._extend({_initialize:function(e){this._value=e},value:function(){return this._value},toJSON:function(){return{__op:"BitOr",value:this.value()}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)return new e.Op.Set(this.value());if(t instanceof e.Op.Set)return new e.Op.Set(t.value()|this.value());throw new Error("Op is invalid after previous op.")}return this},_estimate:function(e){return e|this.value()}}),e.Op._registerDecoder("BitOr",function(t){return new e.Op.BitOr(t.value)}),e.Op.BitXor=e.Op._extend({_initialize:function(e){this._value=e},value:function(){return this._value},toJSON:function(){return{__op:"BitXor",value:this.value()}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)return new e.Op.Set(this.value());if(t instanceof e.Op.Set)return new e.Op.Set(t.value()^this.value());throw new Error("Op is invalid after previous op.")}return this},_estimate:function(e){return e^this.value()}}),e.Op._registerDecoder("BitXor",function(t){return new e.Op.BitXor(t.value)}),e.Op.Add=e.Op._extend({_initialize:function(e){this._objects=e},objects:function(){return this._objects},toJSON:function(){return{__op:"Add",objects:e._encode(this.objects())}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)return new e.Op.Set(this.objects());if(t instanceof e.Op.Set)return new e.Op.Set(this._estimate(t.value()));if(t instanceof e.Op.Add)return new e.Op.Add(t.objects().concat(this.objects()));throw new Error("Op is invalid after previous op.")}return this},_estimate:function(e){return e?e.concat(this.objects()):r.clone(this.objects())}}),e.Op._registerDecoder("Add",function(t){return new e.Op.Add(e._decode(t.objects))}),e.Op.AddUnique=e.Op._extend({_initialize:function(e){this._objects=r.uniq(e)},objects:function(){return this._objects},toJSON:function(){return{__op:"AddUnique",objects:e._encode(this.objects())}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)return new e.Op.Set(this.objects());if(t instanceof e.Op.Set)return new e.Op.Set(this._estimate(t.value()));if(t instanceof e.Op.AddUnique)return new e.Op.AddUnique(this._estimate(t.objects()));throw new Error("Op is invalid after previous op.")}return this},_estimate:function(t){if(t){var n=r.clone(t);return e._arrayEach(this.objects(),function(t){if(t instanceof e.Object&&t.id){var i=r.find(n,function(n){return n instanceof e.Object&&n.id===t.id});if(i){var o=r.indexOf(n,i);n[o]=t}else n.push(t)}else r.contains(n,t)||n.push(t)}),n}return r.clone(this.objects())}}),e.Op._registerDecoder("AddUnique",function(t){return new e.Op.AddUnique(e._decode(t.objects))}),e.Op.Remove=e.Op._extend({_initialize:function(e){this._objects=r.uniq(e)},objects:function(){return this._objects},toJSON:function(){return{__op:"Remove",objects:e._encode(this.objects())}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)return t;if(t instanceof e.Op.Set)return new e.Op.Set(this._estimate(t.value()));if(t instanceof e.Op.Remove)return new e.Op.Remove(r.union(t.objects(),this.objects()));throw new Error("Op is invalid after previous op.")}return this},_estimate:function(t){if(t){var n=r.difference(t,this.objects());return e._arrayEach(this.objects(),function(t){t instanceof e.Object&&t.id&&(n=r.reject(n,function(n){return n instanceof e.Object&&n.id===t.id}))}),n}return[]}}),e.Op._registerDecoder("Remove",function(t){return new e.Op.Remove(e._decode(t.objects))}),e.Op.Relation=e.Op._extend({_initialize:function(t,n){this._targetClassName=null;var i=this,o=function(t){if(t instanceof e.Object){if(!t.id)throw new Error("You can't add an unsaved AV.Object to a relation.");if(i._targetClassName||(i._targetClassName=t.className),i._targetClassName!==t.className)throw new Error("Tried to create a AV.Relation with 2 different types: "+i._targetClassName+" and "+t.className+".");return t.id}return t};this.relationsToAdd=r.uniq(r.map(t,o)),this.relationsToRemove=r.uniq(r.map(n,o))},added:function(){var t=this;return r.map(this.relationsToAdd,function(n){var r=e.Object._create(t._targetClassName);return r.id=n,r})},removed:function(){var t=this;return r.map(this.relationsToRemove,function(n){var r=e.Object._create(t._targetClassName);return r.id=n,r})},toJSON:function(){var e=null,t=null,n=this,i=function(e){return{__type:"Pointer",className:n._targetClassName,objectId:e}},o=null;return this.relationsToAdd.length>0&&(o=r.map(this.relationsToAdd,i),e={__op:"AddRelation",objects:o}),this.relationsToRemove.length>0&&(o=r.map(this.relationsToRemove,i),t={__op:"RemoveRelation",objects:o}),e&&t?{__op:"Batch",ops:[e,t]}:e||t||{}},_mergeWithPrevious:function(t){if(t){if(t instanceof e.Op.Unset)throw new Error("You can't modify a relation after deleting it.");if(t instanceof e.Op.Relation){if(t._targetClassName&&t._targetClassName!==this._targetClassName)throw new Error("Related object must be of class "+t._targetClassName+", but "+this._targetClassName+" was passed in.");var n=r.union(r.difference(t.relationsToAdd,this.relationsToRemove),this.relationsToAdd),i=r.union(r.difference(t.relationsToRemove,this.relationsToAdd),this.relationsToRemove),o=new e.Op.Relation(n,i);return o._targetClassName=this._targetClassName,o}throw new Error("Op is invalid after previous op.")}return this},_estimate:function(t,n,r){if(t){if(t instanceof e.Relation){if(this._targetClassName)if(t.targetClassName){if(t.targetClassName!==this._targetClassName)throw new Error("Related object must be a "+t.targetClassName+", but a "+this._targetClassName+" was passed in.")}else t.targetClassName=this._targetClassName;return t}throw new Error("Op is invalid after previous op.")}new e.Relation(n,r).targetClassName=this._targetClassName}}),e.Op._registerDecoder("AddRelation",function(t){return new e.Op.Relation(e._decode(t.objects),[])}),e.Op._registerDecoder("RemoveRelation",function(t){return new e.Op.Relation([],e._decode(t.objects))})}},function(e,t,n){"use strict";var r=n(0);e.exports=function(e){e.Relation=function(e,t){if(!r.isString(t))throw new TypeError("key must be a string");this.parent=e,this.key=t,this.targetClassName=null},e.Relation.reverseQuery=function(t,n,r){var i=new e.Query(t);return i.equalTo(n,r._toPointer()),i},r.extend(e.Relation.prototype,{_ensureParentAndKey:function(e,t){if(this.parent=this.parent||e,this.key=this.key||t,this.parent!==e)throw new Error("Internal Error. Relation retrieved from two different Objects.");if(this.key!==t)throw new Error("Internal Error. Relation retrieved from two different keys.")},add:function(t){r.isArray(t)||(t=[t]);var n=new e.Op.Relation(t,[]);this.parent.set(this.key,n),this.targetClassName=n._targetClassName},remove:function(t){r.isArray(t)||(t=[t]);var n=new e.Op.Relation([],t);this.parent.set(this.key,n),this.targetClassName=n._targetClassName},toJSON:function(){return{__type:"Relation",className:this.targetClassName}},query:function(){var t,n;return this.targetClassName?(t=e.Object._getSubclass(this.targetClassName),n=new e.Query(t)):(t=e.Object._getSubclass(this.parent.className),n=new e.Query(t),n._extraOptions.redirectClassNameForKey=this.key),n._addCondition("$relatedTo","object",this.parent._toPointer()),n._addCondition("$relatedTo","key",this.key),n}})}},function(e,t,n){"use strict";var r=n(0),i=n(56),o=n(57),s=n(58),a=n(4),u=n(2)._request,c=n(1),l=n(3),f=l.tap,h=l.transformFetchOptions,d=n(7)("leancloud:file"),p=n(62);e.exports=function(e){var t=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)},n=function(e){return r.isString(e)?e.match(/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/)[4]:""},l=function(e){if(e<26)return String.fromCharCode(65+e);if(e<52)return String.fromCharCode(e-26+97);if(e<62)return String.fromCharCode(e-52+48);if(62===e)return"+";if(63===e)return"/";throw new Error("Tried to encode large digit "+e+" in base64.")},y=function(e){var t=[];return t.length=Math.ceil(e.length/3),r.times(t.length,function(n){var r=e[3*n],i=e[3*n+1]||0,o=e[3*n+2]||0,s=3*n+1>2&63),l(r<<4&48|i>>4&15),s?l(i<<2&60|o>>6&3):"=",a?l(63&o):"="].join("")}),t.join("")};e.File=function(t,i,o){if(this.attributes={name:t,url:"",metaData:{},base64:""},r.isString(i))throw new TypeError("Creating an AV.File from a String is not yet supported.");r.isArray(i)&&(this.attributes.metaData.size=i.length,i={base64:y(i)}),this._extName="",this._data=i,this._uploadHeaders={},i&&i.blob&&(this._extName=n(i.blob.uri)),"undefined"!=typeof Blob&&i instanceof Blob&&(i.size&&(this.attributes.metaData.size=i.size),i.name&&(this._extName=n(i.name)));var s=void 0;if(i&&i.owner)s=i.owner;else if(!e._config.disableCurrentUser)try{s=e.User.current()}catch(e){if("SYNC_API_NOT_AVAILABLE"!==e.code)throw e}this.attributes.metaData.owner=s?s.id:"unknown",this.set("mime_type",o)},e.File.withURL=function(t,n,r,i){if(!t||!n)throw new Error("Please provide file name and url");var o=new e.File(t,null,i);if(r)for(var s in r)o.attributes.metaData[s]||(o.attributes.metaData[s]=r[s]);return o.attributes.url=n,o.attributes.metaData.__source="external",o},e.File.createWithoutData=function(t){var n=new e.File;return n.id=t,n},r.extend(e.File.prototype,{className:"_File",_toFullJSON:function(t){var n=this,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=r.clone(this.attributes);return e._objectEach(o,function(n,r){o[r]=e._encode(n,t,void 0,i)}),e._objectEach(this._operations,function(e,t){o[t]=e}),r.has(this,"id")&&(o.objectId=this.id),r(["createdAt","updatedAt"]).each(function(e){if(r.has(n,e)){var t=n[e];o[e]=r.isDate(t)?t.toJSON():t}}),i&&(o.__type="File"),o},toFullJSON:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this._toFullJSON(e)},toJSON:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[this];return this._toFullJSON(n,!1)},_toPointer:function(){return{__type:"Pointer",className:this.className,objectId:this.id}},getACL:function(){return this._acl},setACL:function(t){return t instanceof e.ACL?(this._acl=t,this):new a(a.OTHER_CAUSE,"ACL must be a AV.ACL.")},name:function(){return this.get("name")},url:function(){return this.get("url")},get:function(e){switch(e){case"objectId":return this.id;case"url":case"name":case"mime_type":case"metaData":case"createdAt":case"updatedAt":return this.attributes[e];default:return this.attributes.metaData[e]}},set:function(){for(var e=this,t=function(t,n){switch(t){case"name":case"url":case"mime_type":case"base64":case"metaData":e.attributes[t]=n;break;default:e.attributes.metaData[t]=n}},n=arguments.length,r=Array(n),i=0;i2&&void 0!==arguments[2]?arguments[2]:100,r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"png",o=this.attributes.url;if(!o)throw new Error("Invalid url.");if(!e||!t||e<=0||t<=0)throw new Error("Invalid width or height value.");if(n<=0||n>100)throw new Error("Invalid quality value.");return o+"?imageView/"+(r?2:1)+"/w/"+e+"/h/"+t+"/q/"+n+"/format/"+i},size:function(){return this.metaData().size},ownerId:function(){return this.metaData().owner},destroy:function(e){return this.id?u("files",null,this.id,"DELETE",null,e):c.reject(new Error("The file id does not eixst."))},_fileToken:function(e,r){var i=this.attributes.name,o=n(i);!o&&this._extName&&(i+=this._extName,o=this._extName);var s=t()+t()+t()+t()+t()+o,a={key:s,name:i,keep_file_name:r.keepFileName,ACL:this._acl,mime_type:e,metaData:this.attributes.metaData};return this._qiniu_key=s,u("fileTokens",null,null,"POST",a,r)},save:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.id)throw new Error("File is already saved.");if(!this._previousSave)if(this._data){var n=this.get("mime_type");this._previousSave=this._fileToken(n,t).then(function(a){return a.mime_type&&(n=a.mime_type,e.set("mime_type",n)),e._token=a.token,c.resolve().then(function(){var t=e._data;if(t&&t.base64)return p(t.base64,n);if(t&&t.blob)return!t.blob.type&&n&&(t.blob.type=n),t.blob.name||(t.blob.name=e.get("name")),t.blob;if("undefined"!=typeof Blob&&t instanceof Blob)return t;throw new TypeError("malformed file data")}).then(function(n){var u=r.extend({},t);switch(t.onprogress&&(u.onprogress=function(e){if("download"!==e.direction)return t.onprogress(e)}),a.provider){case"s3":return s(a,n,e,u);case"qcloud":return i(a,n,e,u);case"qiniu":default:return o(a,n,e,u)}}).then(f(function(){return e._callback(!0)}),function(t){throw e._callback(!1),t})})}else if(this.attributes.url&&"external"===this.attributes.metaData.__source){var a={name:this.attributes.name,ACL:this._acl,metaData:this.attributes.metaData,mime_type:this.mimeType,url:this.attributes.url};this._previousSave=u("files",this.attributes.name,null,"post",a,t).then(function(t){return e.attributes.name=t.name,e.attributes.url=t.url,e.id=t.objectId,t.size&&(e.attributes.metaData.size=t.size),e})}return this._previousSave},_callback:function(e){u("fileCallback",null,null,"post",{token:this._token,result:e}).catch(d),delete this._token,delete this._data},fetch:function(e,t){return u("files",null,this.id,"GET",h(e),t).then(this._finishFetch.bind(this))},_finishFetch:function(t){var n=e.Object.prototype.parse(t);return n.attributes={name:n.name,url:n.url,mime_type:n.mime_type,bucket:n.bucket},n.attributes.metaData=n.metaData||{},n.id=n.objectId,delete n.objectId,delete n.metaData,delete n.url,delete n.name,delete n.mime_type,delete n.bucket,r.extend(this,n),this}})}},function(e,t,n){"use strict";var r=n(8),i=n(7)("cos"),o=n(1);e.exports=function(e,t,n){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n.attributes.url=e.url,n._bucket=e.bucket,n.id=e.objectId;var a=e.upload_url+"?sign="+encodeURIComponent(e.token);return new o(function(e,o){var u=r("POST",a).set(n._uploadHeaders).attach("fileContent",t,n.attributes.name).field("op","upload");s.onprogress&&u.on("progress",s.onprogress),u.end(function(t,r){if(r&&i(r.status,r.body,r.text),t)return r&&(t.statusCode=r.status,t.responseText=r.text,t.response=r.body),o(t);e(n)})})}},function(e,t,n){"use strict";var r=n(8),i=n(1),o=n(7)("qiniu");e.exports=function(e,t,n){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};n.attributes.url=e.url,n._bucket=e.bucket,n.id=e.objectId;var a=e.token,u=e.upload_url||"https://upload.qiniup.com";return new i(function(i,c){var l=r("POST",u).set(n._uploadHeaders).attach("file",t,n.attributes.name).field("name",n.attributes.name).field("key",e.key||n._qiniu_key).field("token",a);s.onprogress&&l.on("progress",s.onprogress),l.end(function(e,t){if(t&&o(t.status,t.body,t.text),e)return t&&(e.statusCode=t.status,e.responseText=t.text,e.response=t.body),c(e);i(n)})})}},function(e,t,n){"use strict";var r=n(8),i=n(1),o=function(e,t){return t&&(e.statusCode=t.status,e.responseText=t.text,e.response=t.body),e};e.exports=function(e,t,n){var s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return n.attributes.url=e.url,n._bucket=e.bucket,n.id=e.objectId,new i(function(i,a){var u=r("PUT",e.upload_url).set(Object.assign({"Content-Type":n.get("mime_type"),"Cache-Control":"public, max-age=31536000"},n._uploadHeaders));s.onprogress&&u.on("progress",s.onprogress),u.on("response",function(e){if(e.ok)return i(n);a(o(e.error,e))}),u.on("error",function(e,t){return a(o(e,t))}),u.send(t).end()})}},function(e,t,n){!function(){var t=n(60),r=n(22).utf8,i=n(61),o=n(22).bin,s=function(e,n){e.constructor==String?e=n&&"binary"===n.encoding?o.stringToBytes(e):r.stringToBytes(e):i(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||(e=e.toString());for(var a=t.bytesToWords(e),u=8*e.length,c=1732584193,l=-271733879,f=-1732584194,h=271733878,d=0;d>>24)|4278255360&(a[d]<<24|a[d]>>>8);a[u>>>5]|=128<>>9<<4)]=u;for(var p=s._ff,y=s._gg,m=s._hh,v=s._ii,d=0;d>>0,l=l+_>>>0,f=f+b>>>0,h=h+w>>>0}return t.endian([c,l,f,h])};s._ff=function(e,t,n,r,i,o,s){var a=e+(t&n|~t&r)+(i>>>0)+s;return(a<>>32-o)+t},s._gg=function(e,t,n,r,i,o,s){var a=e+(t&r|n&~r)+(i>>>0)+s;return(a<>>32-o)+t},s._hh=function(e,t,n,r,i,o,s){var a=e+(t^n^r)+(i>>>0)+s;return(a<>>32-o)+t},s._ii=function(e,t,n,r,i,o,s){var a=e+(n^(t|~r))+(i>>>0)+s;return(a<>>32-o)+t},s._blocksize=16,s._digestsize=16,e.exports=function(e,n){if(void 0===e||null===e)throw new Error("Illegal argument "+e);var r=t.wordsToBytes(s(e,n));return n&&n.asBytes?r:n&&n.asString?o.bytesToString(r):t.bytesToHex(r)}}()},function(e,t){!function(){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,r=0;n>>5]|=e[n]<<24-r%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-o)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],r=0,i=0;r>>6-2*i);return n}};e.exports=n}()},function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function r(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ -e.exports=function(e){return null!=e&&(n(e)||r(e)||!!e._isBuffer)}},function(e,t,n){"use strict";var r=function(e,t){var n;e.indexOf("base64")<0?n=atob(e):e.split(",")[0].indexOf("base64")>=0?(t=t||e.split(",")[0].split(":")[1].split(";")[0],n=atob(e.split(",")[1])):n=unescape(e.split(",")[1]);for(var r=new Uint8Array(n.length),i=0;i2&&void 0!==arguments[2]?arguments[2]:[];return this._toFullJSON(n,!1)},toFullJSON:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return this._toFullJSON(e)},_toFullJSON:function(t){var n=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=o.clone(this.attributes);if(o.isArray(t))var s=t.concat(this);return e._objectEach(i,function(t,n){i[n]=e._encode(t,s,void 0,r)}),e._objectEach(this._operations,function(e,t){i[t]=e}),o.has(this,"id")&&(i.objectId=this.id),o(["createdAt","updatedAt"]).each(function(e){if(o.has(n,e)){var t=n[e];i[e]=o.isDate(t)?t.toJSON():t}}),r&&(i.__type="Object",o.isArray(t)&&t.length&&(i.__type="Pointer"),i.className=this.className),i},_refreshCache:function(){var t=this;t._refreshingCache||(t._refreshingCache=!0,e._objectEach(this.attributes,function(n,r){n instanceof e.Object?n._refreshCache():o.isObject(n)&&t._resetCacheForKey(r)&&t.set(r,new e.Op.Set(n),{silent:!0})}),delete t._refreshingCache)},dirty:function(e){this._refreshCache();var t=o.last(this._opSetQueue);return e?!!t[e]:!this.id||o.keys(t).length>0},_toPointer:function(){return{__type:"Pointer",className:this.className,objectId:this.id}},get:function(e){switch(e){case"objectId":return this.id;case"createdAt":case"updatedAt":return this[e];default:return this.attributes[e]}},relation:function(t){var n=this.get(t);if(n){if(!(n instanceof e.Relation))throw new Error("Called relation() on non-relation field "+t);return n._ensureParentAndKey(this,t),n}return new e.Relation(this,t)},escape:function(e){var t=this._escapedAttributes[e];if(t)return t;var n,r=this.attributes[e];return n=f(r)?"":o.escape(r.toString()),this._escapedAttributes[e]=n,n},has:function(e){return!f(this.attributes[e])},_mergeMagicFields:function(t){var n=this,r=["objectId","createdAt","updatedAt"];return e._arrayEach(r,function(r){t[r]&&("objectId"===r?n.id=t[r]:"createdAt"!==r&&"updatedAt"!==r||o.isDate(t[r])?n[r]=t[r]:n[r]=e._parseDate(t[r]),delete t[r])}),t},_startSave:function(){this._opSetQueue.push({})},_cancelSave:function(){var t=o.first(this._opSetQueue);this._opSetQueue=o.rest(this._opSetQueue);var n=o.first(this._opSetQueue);e._objectEach(t,function(e,r){var i=t[r],o=n[r];i&&o?n[r]=o._mergeWithPrevious(i):i&&(n[r]=i)}),this._saving=this._saving-1},_finishSave:function(t){var n={};e._traverse(this.attributes,function(t){t instanceof e.Object&&t.id&&t._hasData&&(n[t.id]=t)});var r=o.first(this._opSetQueue);this._opSetQueue=o.rest(this._opSetQueue),this._applyOpSet(r,this._serverData),this._mergeMagicFields(t);var i=this;e._objectEach(t,function(t,r){i._serverData[r]=e._decode(t,r);var o=e._traverse(i._serverData[r],function(t){if(t instanceof e.Object&&n[t.id])return n[t.id]});o&&(i._serverData[r]=o)}),this._rebuildAllEstimatedData();var s=this._opSetQueue.map(o.clone);this._refreshCache(),this._opSetQueue=s,this._saving=this._saving-1},_finishFetch:function(t,n){this._opSetQueue=[{}],this._mergeMagicFields(t);var r=this;e._objectEach(t,function(t,n){r._serverData[n]=e._decode(t,n)}),this._rebuildAllEstimatedData(),this._refreshCache(),this._opSetQueue=[{}],this._hasData=n},_applyOpSet:function(t,n){var r=this;e._objectEach(t,function(t,o){var s=y(n,o),a=i(s,3),u=a[0],c=a[1],l=a[2];p(n,o,t._estimate(u,r,o)),c&&c[l]===e.Op._UNSET&&delete c[l]})},_resetCacheForKey:function(t){var n=this.attributes[t];if(o.isObject(n)&&!(n instanceof e.Object)&&!(n instanceof e.File)){var r=JSON.stringify(v(n));if(this._hashedJSON[t]!==r){var i=!!this._hashedJSON[t];return this._hashedJSON[t]=r,i}}return!1},_rebuildEstimatedDataForKey:function(t){var n=this;delete this.attributes[t],this._serverData[t]&&(this.attributes[t]=this._serverData[t]),e._arrayEach(this._opSetQueue,function(r){var o=r[t];if(o){var s=y(n.attributes,t),a=i(s,4),u=a[0],c=a[1],l=a[2],f=a[3];p(n.attributes,t,o._estimate(u,n,t)),c&&c[l]===e.Op._UNSET&&delete c[l],n._resetCacheForKey(f)}})},_rebuildAllEstimatedData:function(){var t=this,n=o.clone(this.attributes);this.attributes=o.clone(this._serverData),e._arrayEach(this._opSetQueue,function(n){t._applyOpSet(n,t.attributes),e._objectEach(n,function(e,n){t._resetCacheForKey(n)})}),e._objectEach(n,function(e,n){t.attributes[n]!==e&&t.trigger("change:"+n,t,t.attributes[n],{})}),e._objectEach(this.attributes,function(e,r){o.has(n,r)||t.trigger("change:"+r,t,e,{})})},set:function(t,n,r){var i;if(o.isObject(t)||f(t)?(i=o.mapObject(t,function(t,n){return _(n),e._decode(t,n)}),r=n):(i={},_(t),i[t]=e._decode(n,t)),r=r||{},!i)return this;i instanceof e.Object&&(i=i.attributes),r.unset&&e._objectEach(i,function(t,n){i[n]=new e.Op.Unset});var s=o.clone(i),a=this;e._objectEach(s,function(t,n){t instanceof e.Op&&(s[n]=t._estimate(a.attributes[n],a,n),s[n]===e.Op._UNSET&&delete s[n])}),this._validate(i,r),r.changes={};var u=this._escapedAttributes;return e._arrayEach(o.keys(i),function(t){var n=i[t];n instanceof e.Relation&&(n.parent=a),n instanceof e.Op||(n=new e.Op.Set(n));var s=!0;n instanceof e.Op.Set&&o.isEqual(a.attributes[t],n.value)&&(s=!1),s&&(delete u[t],r.silent?a._silent[t]=!0:r.changes[t]=!0);var c=o.last(a._opSetQueue);c[t]=n._mergeWithPrevious(c[t]),a._rebuildEstimatedDataForKey(t),s?(a.changed[t]=a.attributes[t],r.silent||(a._pending[t]=!0)):(delete a.changed[t],delete a._pending[t])}),r.silent||this.change(r),this},unset:function(e,t){return t=t||{},t.unset=!0,this.set(e,null,t)},increment:function(t,n){return(o.isUndefined(n)||o.isNull(n))&&(n=1),this.set(t,new e.Op.Increment(n))},add:function(t,n){return this.set(t,new e.Op.Add(h(n)))},addUnique:function(t,n){return this.set(t,new e.Op.AddUnique(h(n)))},remove:function(t,n){return this.set(t,new e.Op.Remove(h(n)))},bitAnd:function(t,n){return this.set(t,new e.Op.BitAnd(n))},bitOr:function(t,n){return this.set(t,new e.Op.BitOr(n))},bitXor:function(t,n){return this.set(t,new e.Op.BitXor(n))},op:function(e){return o.last(this._opSetQueue)[e]},clear:function(e){e=e||{},e.unset=!0;var t=o.extend(this.attributes,this._operations);return this.set(t,e)},revert:function(e){var t=o.last(this._opSetQueue);return h(e||o.keys(t)).forEach(function(e){delete t[e]}),this._rebuildAllEstimatedData(),this},_getSaveJSON:function(){var t=o.clone(o.first(this._opSetQueue));return e._objectEach(t,function(e,n){t[n]=e.toJSON()}),t},_canBeSerialized:function(){return e.Object._canBeSerializedAsValue(this.attributes)},fetch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],n=this;return c("classes",this.className,this.id,"GET",d(e),t).then(function(t){var r=n.parse(t);return e.keys||n._cleanupUnsetKeys(r),n._finishFetch(r,!0),n})},_cleanupUnsetKeys:function(t){var n=this;e._objectEach(this._serverData,function(e,r){void 0===t[r]&&delete n._serverData[r]})},save:function(t,n,r){var i,s,u;o.isObject(t)||f(t)?(i=t,u=n):(i={},i[t]=n,u=r),u=o.clone(u)||{},u.wait&&(s=o.clone(this.attributes));var l=o.clone(u)||{};l.wait&&(l.silent=!0),i&&this.set(i,l);var h=this,d=[],p=[];return e.Object._findUnsavedChildren(h,d,p),d.length+p.length>1?e.Object._deepSaveAsync(this,h,u):(this._startSave(),this._saving=(this._saving||0)+1,this._allPreviousSaves=this._allPreviousSaves||a.resolve(),this._allPreviousSaves=this._allPreviousSaves.catch(function(e){}).then(function(){var e=h.id?"PUT":"POST",t=h._getSaveJSON(),n={};if((h._fetchWhenSave||u.fetchWhenSave)&&(n.new="true"),u._failOnNotExist&&(n.failOnNotExist="true"),u.query){var r;if("function"==typeof u.query.toJSON&&(r=u.query.toJSON())&&(n.where=r.where),!n.where){throw new Error("options.query is not an AV.Query")}}o.extend(t,h._flags);var a="classes",f=h.className;"_User"!==h.className||h.id||(a="users",f=null);var d=u._makeRequest||c,p=d(a,f,h.id,e,t,u,n);return p=p.then(function(e){var t=h.parse(e);return u.wait&&(t=o.extend(i||{},t)),h._finishSave(t),u.wait&&h.set(s,l),h},function(e){throw h._cancelSave(),e})}),this._allPreviousSaves)},destroy:function(e){e=e||{};var t=this,n=function(){t.trigger("destroy",t,t.collection,e)};return this.id?(e.wait||n(),c("classes",this.className,this.id,"DELETE",this._flags,e).then(function(){return e.wait&&n(),t})):n()},parse:function(t){var n=o.clone(t);return o(["createdAt","updatedAt"]).each(function(t){n[t]&&(n[t]=e._parseDate(n[t]))}),n.createdAt&&!n.updatedAt&&(n.updatedAt=n.createdAt),n},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.id},change:function(t){t=t||{};var n=this._changing;this._changing=!0;var r=this;e._objectEach(this._silent,function(e){r._pending[e]=!0});var i=o.extend({},t.changes,this._silent);if(this._silent={},e._objectEach(i,function(e,n){r.trigger("change:"+n,r,r.get(n),t)}),n)return this;for(var s=function(e,t){r._pending[t]||r._silent[t]||delete r.changed[t]};!o.isEmpty(this._pending);)this._pending={},this.trigger("change",this,t),e._objectEach(this.changed,s),r._previousAttributes=o.clone(this.attributes);return this._changing=!1,this},hasChanged:function(e){return arguments.length?this.changed&&o.has(this.changed,e):!o.isEmpty(this.changed)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&o.clone(this.changed);var n={},r=this._previousAttributes;return e._objectEach(t,function(e,t){o.isEqual(r[t],e)||(n[t]=e)}),n},previous:function(e){return arguments.length&&this._previousAttributes?this._previousAttributes[e]:null},previousAttributes:function(){return o.clone(this._previousAttributes)},isValid:function(){try{this.validate(this.attributes)}catch(e){return!1}return!0},validate:function(t){if(o.has(t,"ACL")&&!(t.ACL instanceof e.ACL))throw new s(s.OTHER_CAUSE,"ACL must be a AV.ACL.")},_validate:function(e,t){!t.silent&&this.validate&&(e=o.extend({},this.attributes,e),this.validate(e))},getACL:function(){return this.get("ACL")},setACL:function(e,t){return this.set("ACL",e,t)},disableBeforeHook:function(){this.ignoreHook("beforeSave"),this.ignoreHook("beforeUpdate"),this.ignoreHook("beforeDelete")},disableAfterHook:function(){this.ignoreHook("afterSave"),this.ignoreHook("afterUpdate"),this.ignoreHook("afterDelete")},ignoreHook:function(t){o.contains(["beforeSave","afterSave","beforeUpdate","afterUpdate","beforeDelete","afterDelete"],t)||console.trace("Unsupported hookName: "+t),e.hookKey||console.trace("ignoreHook required hookKey"),this._flags.__ignore_hooks||(this._flags.__ignore_hooks=[]),this._flags.__ignore_hooks.push(t)}}),e.Object.createWithoutData=function(t,n,r){var i=void 0;if(o.isString(t))i=e.Object._getSubclass(t);else{if(!(t.prototype&&t.prototype instanceof e.Object))throw new Error("class must be a string or a subclass of AV.Object.");i=t}var s=new i;return s.id=n,s._hasData=r,s},e.Object.destroyAll=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e||0===e.length)return a.resolve();var n=o.groupBy(e,function(e){return JSON.stringify({className:e.className,flags:e._flags})}),r={requests:o.map(n,function(e){var t=o.map(e,"id").join(",");return{method:"DELETE",path:"/1.1/classes/"+e[0].className+"/"+t,body:e[0]._flags}})};return c("batch",null,null,"POST",r,t).then(function(e){var t=o.find(e,function(e){return!e.success});if(t)throw new s(t.error.code,t.error.error)})},e.Object._getSubclass=function(t){if(!o.isString(t))throw new Error("AV.Object._getSubclass requires a string argument.");var n=e.Object._classMap[t];return n||(n=e.Object.extend(t),e.Object._classMap[t]=n),n},e.Object._create=function(t,n,r){return new(e.Object._getSubclass(t))(n,r)},e.Object._classMap={},e.Object._extend=e._extend,e.Object.new=function(t,n){return new e.Object(t,n)},e.Object.extend=function(t,n,r){if(!o.isString(t)){if(t&&o.has(t,"className"))return e.Object.extend(t.className,t,n);throw new Error("AV.Object.extend's first argument should be the className.")}"User"===t&&(t="_User");var i=null;if(o.has(e.Object._classMap,t)){var s=e.Object._classMap[t];if(!n&&!r)return s;i=s._extend(n,r)}else n=n||{},n._className=t,i=this._extend(n,r);return i.extend=function(n){if(o.isString(n)||n&&o.has(n,"className"))return e.Object.extend.apply(i,arguments);var r=[t].concat(o.toArray(arguments));return e.Object.extend.apply(i,r)},Object.defineProperty(i,"query",Object.getOwnPropertyDescriptor(e.Object,"query")),i.new=function(e,t){return new i(e,t)},e.Object._classMap[t]=i,i},Object.defineProperty(e.Object.prototype,"className",{get:function(){var e=this._className||this.constructor._LCClassName||this.constructor.name;return"User"===e?"_User":e}}),e.Object.register=function(t,n){if(!(t.prototype instanceof e.Object))throw new Error("registered class is not a subclass of AV.Object");var r=n||t.name;if(!r.length)throw new Error("registered class must be named");n&&(t._LCClassName=n),e.Object._classMap[r]=t},Object.defineProperty(e.Object,"query",{get:function(){return new e.Query(this.prototype.className)}}),e.Object._findUnsavedChildren=function(t,n,r){e._traverse(t,function(t){return t instanceof e.Object?void(t.dirty()&&n.push(t)):t instanceof e.File?void(t.id||r.push(t)):void 0})},e.Object._canBeSerializedAsValue=function(t){var n=!0;return t instanceof e.Object||t instanceof e.File?n=!!t.id:o.isArray(t)?e._arrayEach(t,function(t){e.Object._canBeSerializedAsValue(t)||(n=!1)}):o.isObject(t)&&e._objectEach(t,function(t){e.Object._canBeSerializedAsValue(t)||(n=!1)}),n},e.Object._deepSaveAsync=function(t,n,r){var i=[],u=[];e.Object._findUnsavedChildren(t,i,u);var l=a.resolve();o.each(u,function(e){l=l.then(function(){return e.save()})});var f=o.uniq(i),h=o.uniq(f);return l.then(function(){return a._continueWhile(function(){return h.length>0},function(){var t=[],n=[];if(e._arrayEach(h,function(e){if(t.length>20)return void n.push(e);e._canBeSerialized()?t.push(e):n.push(e)}),h=n,0===t.length)return a.reject(new s(s.OTHER_CAUSE,"Tried to save a batch with a cycle."));var i=a.resolve(o.map(t,function(e){return e._allPreviousSaves||a.resolve()})),u=i.then(function(){return c("batch",null,null,"POST",{requests:o.map(t,function(e){var t=e.id?"PUT":"POST",n=e._getSaveJSON();o.extend(n,e._flags);var r=e.className,i="/classes/"+r;"_User"!==e.className||e.id||(i="/users");var i="/1.1"+i;return e.id&&(i=i+"/"+e.id),e._startSave(),{method:t,path:i,body:n}})},r).then(function(e){var n=o.map(t,function(t,n){return e[n].success?(t._finishSave(t.parse(e[n].success)),t):(t._cancelSave(),new s(e[n].error.code,e[n].error.error))});return b(n)})});return e._arrayEach(t,function(e){e._allPreviousSaves=u}),u})}).then(function(){return t})}}},function(e,t,n){"use strict";var r=n(0),i=n(4);e.exports=function(e){e.Role=e.Object.extend("_Role",{constructor:function(t,n){if(r.isString(t)?(e.Object.prototype.constructor.call(this,null,null),this.setName(t)):e.Object.prototype.constructor.call(this,t,n),n){if(!(n instanceof e.ACL))throw new TypeError("acl must be an instance of AV.ACL");this.setACL(n)}},getName:function(){return this.get("name")},setName:function(e,t){return this.set("name",e,t)},getUsers:function(){return this.relation("users")},getRoles:function(){return this.relation("roles")},validate:function(t,n){if("name"in t&&t.name!==this.getName()){var o=t.name;if(this.id&&this.id!==t.objectId)return new i(i.OTHER_CAUSE,"A role's name can only be set before it has been saved.");if(!r.isString(o))return new i(i.OTHER_CAUSE,"A role's name must be a String.");if(!/^[0-9a-zA-Z\-_ ]+$/.test(o))return new i(i.OTHER_CAUSE,"A role's name can only contain alphanumeric characters, _, -, and spaces.")}return!!e.Object.prototype.validate&&e.Object.prototype.validate.call(this,t,n)}})}},function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var i=n(0),o=n(17),s=n(4),a=n(2),u=a._request,c=a.request,l=n(1),f=function(){if("undefined"==typeof wx||"function"!=typeof wx.login)throw new Error("Weapp Login is only available in Weapp");return new l(function(e,t){wx.login({success:function(n){var r=n.code,i=n.errMsg;r?e(r):t(new Error(i))},fail:function(){return t(new Error("wx.login 失败"))}})})},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.preferUnionId,r=t.unionIdPlatform,i=void 0===r?"weixin":r,o=t.asMainAccount,s=void 0===o||o;return n?{platform:i,main_account:s,code:e}:{code:e}},d=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.unionIdPlatform,o=void 0===r?"weixin":r,a=n.asMainAccount,u=void 0!==a&&a;if("string"!=typeof t)throw new s(s.OTHER_CAUSE,"unionId is not a string");if("string"!=typeof o)throw new s(s.OTHER_CAUSE,"unionIdPlatform is not a string");return i.extend({},e,{platform:o,unionid:t,main_account:Boolean(u)})};e.exports=function(e){e.User=e.Object.extend("_User",{_isCurrentUser:!1,_mergeMagicFields:function(t){return t.sessionToken&&(this._sessionToken=t.sessionToken,delete t.sessionToken),e.User.__super__._mergeMagicFields.call(this,t)},_cleanupAuthData:function(){if(this.isCurrent()){var t=this.get("authData");t&&e._objectEach(this.get("authData"),function(e,n){t[n]||delete t[n]})}},_synchronizeAllAuthData:function(){if(this.get("authData")){var t=this;e._objectEach(this.get("authData"),function(e,n){t._synchronizeAuthData(n)})}},_synchronizeAuthData:function(t){if(this.isCurrent()){var n;i.isString(t)?(n=t,t=e.User._authProviders[n]):n=t.getAuthType();var r=this.get("authData");if(r&&t){t.restoreAuthentication(r[n])||this.dissociateAuthData(t)}}},_handleSaveResult:function(t){return t&&!e._config.disableCurrentUser&&(this._isCurrentUser=!0),this._cleanupAuthData(),this._synchronizeAllAuthData(),delete this._serverData.password,this._rebuildEstimatedDataForKey("password"),this._refreshCache(),!t&&!this.isCurrent()||e._config.disableCurrentUser?l.resolve():l.resolve(e.User._saveCurrentUser(this))},_linkWith:function(t,n){var o,s=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=a.failOnNotExist,c=void 0!==u&&u;return i.isString(t)?(o=t,t=e.User._authProviders[t]):o=t.getAuthType(),n?this.save({authData:r({},o,n)},{fetchWhenSave:!!this.get("authData"),_failOnNotExist:c}).then(function(e){return e._handleSaveResult(!0).then(function(){return e})}):t.authenticate().then(function(e){return s._linkWith(t,e)})},associateWithAuthData:function(e,t){return this._linkWith(t,e)},associateWithAuthDataAndUnionId:function(e,t,n,r){return this._linkWith(t,d(e,n,r))},associateWithWeapp:function(e){var t=this;return f().then(function(n){return t._linkWith("lc_weapp",h(n,e))})},linkWithWeapp:function(e){return console.warn("DEPRECATED: User#linkWithWeapp 已废弃,请使用 User#associateWithWeapp 代替"),this.associateWithWeapp(e)},associateWithWeappWithUnionId:function(e,t){var n=this;return f().then(function(r){return n._linkWith("lc_weapp",d({code:r},e,t))})},dissociateAuthData:function(e){return this.unset("authData."+e),this.save().then(function(e){return e._handleSaveResult(!0).then(function(){return e})})},_unlinkFrom:function(e){return console.warn("DEPRECATED: User#_unlinkFrom 已废弃,请使用 User#dissociateAuthData 代替"),this.dissociateAuthData(e)},_isLinked:function(e){var t;return t=i.isString(e)?e:e.getAuthType(),!!(this.get("authData")||{})[t]},isAnonymous:function(){return this._isLinked("anonymous")},logOut:function(){this._logOutWithAll(),this._isCurrentUser=!1},_logOutWithAll:function(){if(this.get("authData")){var t=this;e._objectEach(this.get("authData"),function(e,n){t._logOutWith(n)})}},_logOutWith:function(t){this.isCurrent()&&(i.isString(t)&&(t=e.User._authProviders[t]),t&&t.deauthenticate&&t.deauthenticate())},signUp:function(e,t){var n=e&&e.username||this.get("username");if(!n||""===n)throw new s(s.OTHER_CAUSE,"Cannot sign up user with an empty name.");var r=e&&e.password||this.get("password");if(!r||""===r)throw new s(s.OTHER_CAUSE,"Cannot sign up user with an empty password.");return this.save(e,t).then(function(e){return e.isAnonymous()&&(e.unset("authData.anonymous"),e._opSetQueue=[{}]),e._handleSaveResult(!0).then(function(){return e})})},signUpOrlogInWithMobilePhone:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e&&e.mobilePhoneNumber||this.get("mobilePhoneNumber");if(!n||""===n)throw new s(s.OTHER_CAUSE,"Cannot sign up or login user by mobilePhoneNumber with an empty mobilePhoneNumber.");var r=e&&e.smsCode||this.get("smsCode");if(!r||""===r)throw new s(s.OTHER_CAUSE,"Cannot sign up or login user by mobilePhoneNumber with an empty smsCode.");return t._makeRequest=function(e,t,n,r,i){return u("usersByMobilePhone",null,null,"POST",i)},this.save(e,t).then(function(e){return delete e.attributes.smsCode,delete e._serverData.smsCode,e._handleSaveResult(!0).then(function(){return e})})},loginWithAuthData:function(e,t,n){return this._linkWith(t,e,n)},loginWithAuthDataAndUnionId:function(e,t,n,r){return this.loginWithAuthData(d(e,n,r),t,r)},loginWithWeapp:function(e){var t=this;return f().then(function(n){return t.loginWithAuthData(h(n,e),"lc_weapp",e)})},loginWithWeappWithUnionId:function(e,t){var n=this;return f().then(function(r){return n.loginWithAuthData(d({code:r},e,t),"lc_weapp",t)})},logIn:function(){var e=this;return u("login",null,null,"POST",this.toJSON()).then(function(t){var n=e.parse(t);return e._finishFetch(n),e._handleSaveResult(!0).then(function(){return n.smsCode||delete e.attributes.smsCode,e})})},save:function(t,n,r){var o,s;return i.isObject(t)||i.isNull(t)||i.isUndefined(t)?(o=t,s=n):(o={},o[t]=n,s=r),s=s||{},e.Object.prototype.save.call(this,o,s).then(function(e){return e._handleSaveResult(!1).then(function(){return e})})},follow:function(t,n){if(!this.id)throw new Error("Please signin.");var r=void 0,o=void 0;t.user?(r=t.user,o=t.attributes):r=t;var s=i.isString(r)?r:r.id;if(!s)throw new Error("Invalid target user.");var a="users/"+this.id+"/friendship/"+s;return u(a,null,null,"POST",e._encode(o),n)},unfollow:function(e,t){if(!this.id)throw new Error("Please signin.");var n=void 0;n=e.user?e.user:e;var r=i.isString(n)?n:n.id;if(!r)throw new Error("Invalid target user.");var o="users/"+this.id+"/friendship/"+r;return u(o,null,null,"DELETE",null,t)},followerQuery:function(){return e.User.followerQuery(this.id)},followeeQuery:function(){return e.User.followeeQuery(this.id)},fetch:function(t,n){return e.Object.prototype.fetch.call(this,t,n).then(function(e){return e._handleSaveResult(!1).then(function(){return e})})},updatePassword:function(e,t,n){var r="users/"+this.id+"/updatePassword";return u(r,null,null,"PUT",{old_password:e,new_password:t},n)},isCurrent:function(){return this._isCurrentUser},getUsername:function(){return this.get("username")},getMobilePhoneNumber:function(){return this.get("mobilePhoneNumber")},setMobilePhoneNumber:function(e,t){return this.set("mobilePhoneNumber",e,t)},setUsername:function(e,t){return this.set("username",e,t)},setPassword:function(e,t){return this.set("password",e,t)},getEmail:function(){return this.get("email")},setEmail:function(e,t){return this.set("email",e,t)},authenticated:function(){return console.warn("DEPRECATED: 如果要判断当前用户的登录状态是否有效,请使用 currentUser.isAuthenticated().then(),如果要判断该用户是否是当前登录用户,请使用 user.id === currentUser.id。"),!!this._sessionToken&&!e._config.disableCurrentUser&&e.User.current()&&e.User.current().id===this.id},isAuthenticated:function(){var t=this;return l.resolve().then(function(){return!!t._sessionToken&&e.User._fetchUserBySessionToken(t._sessionToken).then(function(){return!0},function(e){if(211===e.code)return!1;throw e})})},getSessionToken:function(){return this._sessionToken},refreshSessionToken:function(e){var t=this;return u("users/"+this.id+"/refreshSessionToken",null,null,"PUT",null,e).then(function(e){return t._finishFetch(e),t._handleSaveResult(!0).then(function(){return t})})},getRoles:function(t){return e.Relation.reverseQuery("_Role","users",this).find(t)}},{_currentUser:null,_currentUserMatchesDisk:!1,_CURRENT_USER_KEY:"currentUser",_authProviders:{},signUp:function(t,n,r,i){return r=r||{},r.username=t,r.password=n,e.Object._create("_User").signUp(r,i)},logIn:function(t,n){var r=e.Object._create("_User");return r._finishFetch({username:t,password:n}),r.logIn()},become:function(e){return this._fetchUserBySessionToken(e).then(function(e){return e._handleSaveResult(!0).then(function(){return e})})},_fetchUserBySessionToken:function(t){var n=e.Object._create("_User");return c({method:"GET",path:"/users/me",authOptions:{sessionToken:t}}).then(function(e){var t=n.parse(e);return n._finishFetch(t),n})},logInWithMobilePhoneSmsCode:function(t,n){var r=e.Object._create("_User");return r._finishFetch({mobilePhoneNumber:t,smsCode:n}),r.logIn()},signUpOrlogInWithMobilePhone:function(t,n,r,i){return r=r||{},r.mobilePhoneNumber=t,r.smsCode=n,e.Object._create("_User").signUpOrlogInWithMobilePhone(r,i)},logInWithMobilePhone:function(t,n){var r=e.Object._create("_User");return r._finishFetch({mobilePhoneNumber:t,password:n}),r.logIn()},loginWithEmail:function(t,n){var r=e.Object._create("_User");return r._finishFetch({email:t,password:n}),r.logIn()},loginWithAuthData:function(t,n,r){return e.User._logInWith(n,t,r)},signUpOrlogInWithAuthData:function(){return console.warn("DEPRECATED: User.signUpOrlogInWithAuthData 已废弃,请使用 User#loginWithAuthData 代替"),this.loginWithAuthData.apply(this,arguments)},loginWithAuthDataAndUnionId:function(e,t,n,r){return this.loginWithAuthData(d(e,n,r),t,r)},signUpOrlogInWithAuthDataAndUnionId:function(){return console.warn("DEPRECATED: User.signUpOrlogInWithAuthDataAndUnionId 已废弃,请使用 User#loginWithAuthDataAndUnionId 代替"),this.loginWithAuthDataAndUnionId.apply(this,arguments)},loginWithWeapp:function(e){var t=this;return f().then(function(n){return t.loginWithAuthData(h(n,e),"lc_weapp",e)})},loginWithWeappWithUnionId:function(e,t){var n=this;return f().then(function(r){return n.loginWithAuthData(d({code:r},e,t),"lc_weapp",t)})},loginAnonymously:function(){return this.loginWithAuthData({id:o()},"anonymous")},associateWithAuthData:function(e,t,n){return console.warn("DEPRECATED: User.associateWithAuthData 已废弃,请使用 User#associateWithAuthData 代替"),e._linkWith(t,n)},logOut:function(){return e._config.disableCurrentUser?(console.warn("AV.User.current() was disabled in multi-user environment, call logOut() from user object instead https://leancloud.cn/docs/leanengine-node-sdk-upgrade-1.html"),l.resolve(null)):(null!==e.User._currentUser&&(e.User._currentUser._logOutWithAll(),e.User._currentUser._isCurrentUser=!1),e.User._currentUserMatchesDisk=!0,e.User._currentUser=null,e.localStorage.removeItemAsync(e._getAVPath(e.User._CURRENT_USER_KEY)).then(function(){return e._refreshSubscriptionId()}))},followerQuery:function(t){if(!t||!i.isString(t))throw new Error("Invalid user object id.");var n=new e.FriendShipQuery("_Follower");return n._friendshipTag="follower",n.equalTo("user",e.Object.createWithoutData("_User",t)),n},followeeQuery:function(t){if(!t||!i.isString(t))throw new Error("Invalid user object id.");var n=new e.FriendShipQuery("_Followee");return n._friendshipTag="followee",n.equalTo("user",e.Object.createWithoutData("_User",t)),n},requestPasswordReset:function(e){return u("requestPasswordReset",null,null,"POST",{email:e})},requestEmailVerify:function(e){return u("requestEmailVerify",null,null,"POST",{email:e})},requestMobilePhoneVerify:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={mobilePhoneNumber:e};return t.validateToken&&(n.validate_token=t.validateToken),u("requestMobilePhoneVerify",null,null,"POST",n,t)},requestPasswordResetBySmsCode:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={mobilePhoneNumber:e};return t.validateToken&&(n.validate_token=t.validateToken),u("requestPasswordResetBySmsCode",null,null,"POST",n,t)},resetPasswordBySmsCode:function(e,t){return u("resetPasswordBySmsCode",null,e,"PUT",{password:t})},verifyMobilePhone:function(e){return u("verifyMobilePhone",null,e,"POST",null)},requestLoginSmsCode:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n={mobilePhoneNumber:e};return t.validateToken&&(n.validate_token=t.validateToken),u("requestLoginSmsCode",null,null,"POST",n,t)},currentAsync:function(){return e._config.disableCurrentUser?(console.warn("AV.User.currentAsync() was disabled in multi-user environment, access user from request instead https://leancloud.cn/docs/leanengine-node-sdk-upgrade-1.html"),l.resolve(null)):e.User._currentUser?l.resolve(e.User._currentUser):e.User._currentUserMatchesDisk?l.resolve(e.User._currentUser):e.localStorage.getItemAsync(e._getAVPath(e.User._CURRENT_USER_KEY)).then(function(t){if(!t)return null;e.User._currentUserMatchesDisk=!0,e.User._currentUser=e.Object._create("_User"),e.User._currentUser._isCurrentUser=!0;var n=JSON.parse(t);return e.User._currentUser.id=n._id,delete n._id,e.User._currentUser._sessionToken=n._sessionToken,delete n._sessionToken,e.User._currentUser._finishFetch(n),e.User._currentUser._synchronizeAllAuthData(),e.User._currentUser._refreshCache(),e.User._currentUser._opSetQueue=[{}],e.User._currentUser})},current:function(){if(e._config.disableCurrentUser)return console.warn("AV.User.current() was disabled in multi-user environment, access user from request instead https://leancloud.cn/docs/leanengine-node-sdk-upgrade-1.html"),null;if(e.User._currentUser)return e.User._currentUser;if(e.User._currentUserMatchesDisk)return e.User._currentUser;e.User._currentUserMatchesDisk=!0;var t=e.localStorage.getItem(e._getAVPath(e.User._CURRENT_USER_KEY));if(!t)return null;e.User._currentUser=e.Object._create("_User"),e.User._currentUser._isCurrentUser=!0;var n=JSON.parse(t);return e.User._currentUser.id=n._id,delete n._id,e.User._currentUser._sessionToken=n._sessionToken,delete n._sessionToken,e.User._currentUser._finishFetch(n),e.User._currentUser._synchronizeAllAuthData(),e.User._currentUser._refreshCache(),e.User._currentUser._opSetQueue=[{}],e.User._currentUser},_saveCurrentUser:function(t){var n;return n=e.User._currentUser!==t?e.User.logOut():l.resolve(),n.then(function(){t._isCurrentUser=!0,e.User._currentUser=t;var n=t._toFullJSON();return n._id=t.id,n._sessionToken=t._sessionToken,e.localStorage.setItemAsync(e._getAVPath(e.User._CURRENT_USER_KEY),JSON.stringify(n)).then(function(){return e.User._currentUserMatchesDisk=!0,e._refreshSubscriptionId()})})},_registerAuthenticationProvider:function(t){e.User._authProviders[t.getAuthType()]=t,!e._config.disableCurrentUser&&e.User.current()&&e.User.current()._synchronizeAuthData(t.getAuthType())},_logInWith:function(t,n,r){return e.Object._create("_User")._linkWith(t,n,r)}})}},function(e,t,n){"use strict";var r=n(0),i=n(7)("leancloud:query"),o=n(1),s=n(4),a=n(2),u=a._request,c=a.request,l=n(3),f=l.ensureArray,h=l.transformFetchOptions,d=function(e,t){if(void 0===e)throw new Error(t)};e.exports=function(e){e.Query=function(t){r.isString(t)&&(t=e.Object._getSubclass(t)),this.objectClass=t,this.className=t.prototype.className,this._where={},this._include=[],this._select=[],this._limit=-1,this._skip=0,this._extraOptions={}},e.Query.or=function(){var t=r.toArray(arguments),n=null;e._arrayEach(t,function(e){if(r.isNull(n)&&(n=e.className),n!==e.className)throw new Error("All queries must be for the same class")});var i=new e.Query(n);return i._orQuery(t),i},e.Query.and=function(){var t=r.toArray(arguments),n=null;e._arrayEach(t,function(e){if(r.isNull(n)&&(n=e.className),n!==e.className)throw new Error("All queries must be for the same class")});var i=new e.Query(n);return i._andQuery(t),i},e.Query.doCloudQuery=function(t,n,i){var o={cql:t};return r.isArray(n)?o.pvalues=n:i=n,u("cloudQuery",null,null,"GET",o,i).then(function(t){var n=new e.Query(t.className);return{results:r.map(t.results,function(e){var r=n._newObject(t);return r._finishFetch&&r._finishFetch(n._processResult(e),!0),r}),count:t.count,className:t.className}})},e.Query._extend=e._extend,r.extend(e.Query.prototype,{_processResult:function(e){return e},get:function(e,t){if(!r.isString(e))throw new Error("objectId must be a string");if(""===e)return o.reject(new s(s.OBJECT_NOT_FOUND,"Object not found."));var n=this._newObject();n.id=e;var i=this.toJSON(),a={};return i.keys&&(a.keys=i.keys),i.include&&(a.include=i.include),i.includeACL&&(a.includeACL=i.includeACL),u("classes",this.className,e,"GET",h(a),t).then(function(e){if(r.isEmpty(e))throw new s(s.OBJECT_NOT_FOUND,"Object not found.");return n._finishFetch(n.parse(e),!0),n})},toJSON:function(){var t={where:this._where};return this._include.length>0&&(t.include=this._include.join(",")),this._select.length>0&&(t.keys=this._select.join(",")),void 0!==this._includeACL&&(t.returnACL=this._includeACL),this._limit>=0&&(t.limit=this._limit),this._skip>0&&(t.skip=this._skip),void 0!==this._order&&(t.order=this._order),e._objectEach(this._extraOptions,function(e,n){t[n]=e}),t},_newObject:function(t){return t&&t.className?new e.Object(t.className):new this.objectClass},_createRequest:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.toJSON(),t=arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"/classes/"+this.className;if(encodeURIComponent(JSON.stringify(e)).length>2e3){return c({path:"/batch",method:"POST",data:{requests:[{method:"GET",path:"/1.1"+n,params:e}]},authOptions:t}).then(function(e){var t=e[0];if(t.success)return t.success;var n=new Error(t.error.error||"Unknown batch error");throw n.code=t.error.code,n})}return c({method:"GET",path:n,query:e,authOptions:t})},_parseResponse:function(e){var t=this;return r.map(e.results,function(n){var r=t._newObject(e);return r._finishFetch&&r._finishFetch(t._processResult(n),!0),r})},find:function(e){return this._createRequest(void 0,e).then(this._parseResponse.bind(this))},scan:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.orderedBy,s=t.batchSize,a=arguments[1],c=this.toJSON();i("scan %O",c),c.order&&(console.warn("The order of the query is ignored for Query#scan. Checkout the orderedBy option of Query#scan."),delete c.order),c.skip&&(console.warn("The skip option of the query is ignored for Query#scan."),delete c.skip),c.limit&&(console.warn("The limit option of the query is ignored for Query#scan."),delete c.limit),n&&(c.scan_key=n),s&&(c.limit=s);var l=o.resolve([]),f=void 0,h=!1;return{next:function(){return l=l.then(function(t){return h?[]:t.length>1?t:f||0===t.length?u("scan/classes",e.className,null,"GET",f?r.extend({},c,{cursor:f}):c,a).then(function(t){return f=t.cursor,e._parseResponse(t)}).then(function(e){return e.length||(h=!0),t.concat(e)}):(h=!0,t)}),l.then(function(e){return e.shift()}).then(function(e){return{value:e,done:h}})}}},destroyAll:function(t){return this.find(t).then(function(n){return e.Object.destroyAll(n,t)})},count:function(e){var t=this.toJSON();return t.limit=0,t.count=1,this._createRequest(t,e).then(function(e){return e.count})},first:function(e){var t=this,n=this.toJSON();return n.limit=1,this._createRequest(n,e).then(function(e){return r.map(e.results,function(e){var n=t._newObject();return n._finishFetch&&n._finishFetch(t._processResult(e),!0),n})[0]})},skip:function(e){return d(e,"undefined is not a valid skip value"),this._skip=e,this},limit:function(e){return d(e,"undefined is not a valid limit value"),this._limit=e,this},equalTo:function(t,n){return d(t,"undefined is not a valid key"),d(n,"undefined is not a valid value"),this._where[t]=e._encode(n),this},_addCondition:function(t,n,r){return d(t,"undefined is not a valid condition key"),d(n,"undefined is not a valid condition"),d(r,"undefined is not a valid condition value"),this._where[t]||(this._where[t]={}),this._where[t][n]=e._encode(r),this},sizeEqualTo:function(e,t){return this._addCondition(e,"$size",t),this},notEqualTo:function(e,t){return this._addCondition(e,"$ne",t),this},lessThan:function(e,t){return this._addCondition(e,"$lt",t),this},greaterThan:function(e,t){return this._addCondition(e,"$gt",t),this},lessThanOrEqualTo:function(e,t){return this._addCondition(e,"$lte",t),this},greaterThanOrEqualTo:function(e,t){return this._addCondition(e,"$gte",t),this},containedIn:function(e,t){return this._addCondition(e,"$in",t),this},notContainedIn:function(e,t){return this._addCondition(e,"$nin",t),this},containsAll:function(e,t){return this._addCondition(e,"$all",t),this},exists:function(e){return this._addCondition(e,"$exists",!0),this},doesNotExist:function(e){return this._addCondition(e,"$exists",!1),this},matches:function(e,t,n){return this._addCondition(e,"$regex",t),n||(n=""),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),n&&n.length&&this._addCondition(e,"$options",n),this},matchesQuery:function(e,t){var n=t.toJSON();return n.className=t.className,this._addCondition(e,"$inQuery",n),this},doesNotMatchQuery:function(e,t){var n=t.toJSON();return n.className=t.className,this._addCondition(e,"$notInQuery",n),this},matchesKeyInQuery:function(e,t,n){var r=n.toJSON();return r.className=n.className,this._addCondition(e,"$select",{key:t,query:r}),this},doesNotMatchKeyInQuery:function(e,t,n){var r=n.toJSON();return r.className=n.className,this._addCondition(e,"$dontSelect",{key:t,query:r}),this},_orQuery:function(e){var t=r.map(e,function(e){return e.toJSON().where});return this._where.$or=t,this},_andQuery:function(e){var t=r.map(e,function(e){return e.toJSON().where});return this._where.$and=t,this},_quote:function(e){return"\\Q"+e.replace("\\E","\\E\\\\E\\Q")+"\\E"},contains:function(e,t){return this._addCondition(e,"$regex",this._quote(t)),this},startsWith:function(e,t){return this._addCondition(e,"$regex","^"+this._quote(t)),this},endsWith:function(e,t){return this._addCondition(e,"$regex",this._quote(t)+"$"),this},ascending:function(e){return d(e,"undefined is not a valid key"),this._order=e,this},addAscending:function(e){return d(e,"undefined is not a valid key"),this._order?this._order+=","+e:this._order=e,this},descending:function(e){return d(e,"undefined is not a valid key"),this._order="-"+e,this},addDescending:function(e){return d(e,"undefined is not a valid key"),this._order?this._order+=",-"+e:this._order="-"+e,this},near:function(t,n){return n instanceof e.GeoPoint||(n=new e.GeoPoint(n)),this._addCondition(t,"$nearSphere",n),this},withinRadians:function(e,t,n){return this.near(e,t),this._addCondition(e,"$maxDistance",n),this},withinMiles:function(e,t,n){return this.withinRadians(e,t,n/3958.8)},withinKilometers:function(e,t,n){return this.withinRadians(e,t,n/6371)},withinGeoBox:function(t,n,r){return n instanceof e.GeoPoint||(n=new e.GeoPoint(n)),r instanceof e.GeoPoint||(r=new e.GeoPoint(r)),this._addCondition(t,"$within",{$box:[n,r]}),this},include:function(e){var t=this;return d(e,"undefined is not a valid key"),r(arguments).forEach(function(e){t._include=t._include.concat(f(e))}),this},includeACL:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return this._includeACL=e,this},select:function(e){var t=this;return d(e,"undefined is not a valid key"),r(arguments).forEach(function(e){t._select=t._select.concat(f(e))}),this},each:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this._order||this._skip||this._limit>=0){var i=new Error("Cannot iterate on a query with sort, skip, or limit.");return o.reject(i)}var s=new e.Query(this.objectClass);s._limit=n.batchSize||100,s._where=r.clone(this._where),s._include=r.clone(this._include),s.ascending("objectId");var a=!1;return o._continueWhile(function(){return!a},function(){return s.find(n).then(function(e){var n=o.resolve();return r.each(e,function(e){n=n.then(function(){return t(e)})}),n.then(function(){e.length>=s._limit?s.greaterThan("objectId",e[e.length-1].id):a=!0})})})},subscribe:function(t){return e.LiveQuery.init(this,t)}}),e.FriendShipQuery=e.Query._extend({_newObject:function(){return new(e.Object._getSubclass("_User"))},_processResult:function(e){if(e&&e[this._friendshipTag]){var t=e[this._friendshipTag];return"Pointer"===t.__type&&"_User"===t.className&&(delete t.__type,delete t.className),t}return null}})}},function(e,t,n){"use strict";var r=n(0),i=n(68),o=n(1),s=n(3),a=s.inherits,u=n(2),c=u.request,l=function(e,t){return c({method:"POST",path:"/LiveQuery/subscribe",data:{query:e,id:t}})};e.exports=function(e){var t=function(){if(!e._config.realtime)throw new Error("LiveQuery not supported. Please use the LiveQuery bundle. https://url.leanapp.cn/enable-live-query")};e.LiveQuery=a(i,{constructor:function(e,t,n,r){var o=this;i.apply(this),this.id=e,this._client=t,this._client.register(this),this._queryJSON=n,this._subscriptionId=r,this._onMessage=this._dispatch.bind(this),this._onReconnect=function(){l(o._queryJSON,o._subscriptionId).catch(function(e){return console.error("LiveQuery resubscribe error: "+e.message)})},t.on("message",this._onMessage),t.on("reconnect",this._onReconnect)},_dispatch:function(t){var n=this;t.forEach(function(t){var i=t.op,o=t.object,s=t.query_id,a=t.updatedKeys;if(s===n.id){var u=e.parseJSON(r.extend({__type:"_File"===o.className?"File":"Object"},o));a?n.emit(i,u,a):n.emit(i,u)}})},unsubscribe:function(){var e=this._client;return e.off("message",this._onMessage),e.off("reconnect",this._onReconnect),e.deregister(this),c({method:"POST",path:"/LiveQuery/unsubscribe",data:{id:e.id,query_id:this.id}})}},{init:function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=r.subscriptionId,s=void 0===i?e._getSubscriptionId():i;if(t(),!(n instanceof e.Query))throw new TypeError("LiveQuery must be inited with a Query");return o.resolve(s).then(function(t){return e._config.realtime.createLiveQueryClient(t).then(function(r){var i=n.toJSON(),o=i.where,s=i.keys,a=i.returnACL,u={where:o,keys:s,returnACL:a,className:n.className},c=l(u,t).then(function(n){var i=n.query_id;return new e.LiveQuery(i,r,u,t)}).finally(function(){r.deregister(c)});return r.register(c),c})})},pause:function(){return t(),e._config.realtime.pause()},resume:function(){return t(),e._config.realtime.resume()}})}},function(e,t,n){"use strict";function r(){}function i(e,t,n){this.fn=e,this.context=t,this.once=n||!1}function o(){this._events=new r,this._eventsCount=0}var s=Object.prototype.hasOwnProperty,a="~";Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(a=!1)),o.prototype.eventNames=function(){var e,t,n=[];if(0===this._eventsCount)return n;for(t in e=this._events)s.call(e,t)&&n.push(a?t.slice(1):t);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},o.prototype.listeners=function(e,t){var n=a?a+e:e,r=this._events[n];if(t)return!!r;if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i1&&void 0!==arguments[1]?arguments[1]:{};if(r.isString(e)&&(e={mobilePhoneNumber:e}),!e.mobilePhoneNumber)throw new Error("Missing mobilePhoneNumber.");return t.validateToken&&(e=r.extend({},e,{validate_token:t.validateToken})),o("requestSmsCode",null,null,"POST",e,t)},verifySmsCode:function(e,t){if(!e)throw new Error("Missing sms code.");var n={};return r.isString(t)&&(n.mobilePhoneNumber=t),o("verifySmsCode",e,null,"POST",n)},_requestCaptcha:function(e,t){return o("requestCaptcha",null,null,"GET",e,t).then(function(e){var t=e.captcha_url;return{captchaToken:e.captcha_token,url:t}})},requestCaptcha:e.Captcha.request,verifyCaptcha:function(e,t){return o("verifyCaptcha",null,null,"POST",{captcha_code:e,captcha_token:t}).then(function(e){return e.validate_token})}})}},function(e,t,n){"use strict";var r=n(2).request;e.exports=function(e){e.Installation=e.Object.extend("_Installation"),e.Push=e.Push||{},e.Push.send=function(e,t){if(e.where&&(e.where=e.where.toJSON().where),e.where&&e.cql)throw new Error("Both where and cql can't be set");if(e.push_time&&(e.push_time=e.push_time.toJSON()),e.expiration_time&&(e.expiration_time=e.expiration_time.toJSON()),e.expiration_time&&e.expiration_time_interval)throw new Error("Both expiration_time and expiration_time_interval can't be set");return r({service:"push",method:"POST",path:"/push",data:e,authOptions:t})}}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=n(0),o=n(1),s=n(2)._request,a=n(3),u=a.getSessionToken;e.exports=function(e){var t=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return u(t)?e.User._fetchUserBySessionToken(u(t)):e.User.currentAsync()},n=function(n){return t(n).then(function(t){return e.Object.createWithoutData("_User",t.id)._toPointer()})};e.Status=function(e,t){return this.data={},this.inboxType="default",this.query=null,e&&"object"===(void 0===e?"undefined":r(e))?this.data=e:(e&&(this.data.image=e),t&&(this.data.message=t)),this},i.extend(e.Status.prototype,{get:function(e){return this.data[e]},set:function(e,t){return this.data[e]=t,this},destroy:function(e){return this.id?s("statuses",null,this.id,"DELETE",e):o.reject(new Error("The status id is not exists."))},toObject:function(){return this.id?e.Object.createWithoutData("_Status",this.id):null},_getDataJSON:function(){var t=i.clone(this.data);return e._encode(t)},send:function(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!u(r)&&!e.User.current())throw new Error("Please signin an user.");return this.query?n(r).then(function(e){var n=t.query.toJSON();n.className=t.query.className;var i={};return i.query=n,t.data=t.data||{},t.data.source=t.data.source||e,i.data=t._getDataJSON(),i.inboxType=t.inboxType||"default",s("statuses",null,null,"POST",i,r)}).then(function(n){return t.id=n.objectId,t.createdAt=e._parseDate(n.createdAt),t}):e.Status.sendStatusToFollowers(this,r)},_finishFetch:function(t){this.id=t.objectId,this.createdAt=e._parseDate(t.createdAt),this.updatedAt=e._parseDate(t.updatedAt),this.messageId=t.messageId,delete t.messageId,delete t.objectId,delete t.createdAt,delete t.updatedAt,this.data=e._decode(t)}}),e.Status.sendStatusToFollowers=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!u(r)&&!e.User.current())throw new Error("Please signin an user.");return n(r).then(function(n){var i={};i.className="_Follower",i.keys="follower",i.where={user:n};var o={};return o.query=i,t.data=t.data||{},t.data.source=t.data.source||n,o.data=t._getDataJSON(),o.inboxType=t.inboxType||"default",s("statuses",null,null,"POST",o,r).then(function(n){return t.id=n.objectId,t.createdAt=e._parseDate(n.createdAt),t})})},e.Status.sendPrivateStatus=function(t,r){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!u(o)&&!e.User.current())throw new Error("Please signin an user.");if(!r)throw new Error("Invalid target user.");var a=i.isString(r)?r:r.id;if(!a)throw new Error("Invalid target user.");return n(o).then(function(n){var r={};r.className="_User",r.where={objectId:a};var i={};return i.query=r,t.data=t.data||{},t.data.source=t.data.source||n,i.data=t._getDataJSON(),i.inboxType="private",t.inboxType="private",s("statuses",null,null,"POST",i,o).then(function(n){return t.id=n.objectId,t.createdAt=e._parseDate(n.createdAt),t})})},e.Status.countUnreadStatuses=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(i.isString(r)||(a=r),!u(a)&&null==n&&!e.User.current())throw new Error("Please signin an user or pass the owner objectId.");return o.resolve(n||t(a)).then(function(t){var n={};return n.inboxType=e._encode(r),n.owner=e._encode(t),s("subscribe/statuses/count",null,null,"GET",n,a)})},e.Status.resetUnreadCount=function(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"default",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(i.isString(r)||(a=r),!u(a)&&null==n&&!e.User.current())throw new Error("Please signin an user or pass the owner objectId.");return o.resolve(n||t(a)).then(function(t){var n={};return n.inboxType=e._encode(r),n.owner=e._encode(t),s("subscribe/statuses/resetUnreadCount",null,null,"POST",n,a)})},e.Status.statusQuery=function(t){var n=new e.Query("_Status");return t&&n.equalTo("source",t),n},e.InboxQuery=e.Query._extend({_objectClass:e.Status,_sinceId:0,_maxId:0,_inboxType:"default",_owner:null,_newObject:function(){return new e.Status},_createRequest:function(t,n){return e.InboxQuery.__super__._createRequest.call(this,t,n,"/subscribe/statuses")},sinceId:function(e){return this._sinceId=e,this},maxId:function(e){return this._maxId=e,this},owner:function(e){return this._owner=e,this},inboxType:function(e){return this._inboxType=e,this},toJSON:function(){var t=e.InboxQuery.__super__.toJSON.call(this);return t.owner=e._encode(this._owner),t.inboxType=e._encode(this._inboxType),t.sinceId=e._encode(this._sinceId),t.maxId=e._encode(this._maxId),t}}),e.Status.inboxQuery=function(t,n){var r=new e.InboxQuery(e.Status);return t&&(r._owner=t),n&&(r._inboxType=n),r}}},function(e,t,n){"use strict";var r=n(0),i=n(2)._request;e.exports=function(e){e.SearchSortBuilder=function(){this._sortFields=[]},r.extend(e.SearchSortBuilder.prototype,{_addField:function(e,t,n,r){var i={};return i[e]={order:t||"asc",mode:n||"avg",missing:"_"+(r||"last")},this._sortFields.push(i),this},ascending:function(e,t,n){return this._addField(e,"asc",t,n)},descending:function(e,t,n){return this._addField(e,"desc",t,n)},whereNear:function(e,t,n){n=n||{};var r={},i={lat:t.latitude,lon:t.longitude},o={order:n.order||"asc",mode:n.mode||"avg",unit:n.unit||"km"};return o[e]=i,r._geo_distance=o,this._sortFields.push(r),this},build:function(){return JSON.stringify(e._encode(this._sortFields))}}),e.SearchQuery=e.Query._extend({_sid:null,_hits:0,_queryString:null,_highlights:null,_sortBuilder:null,_createRequest:function(e,t){return i("search/select",null,null,"GET",e||this.toJSON(),t)},sid:function(e){return this._sid=e,this},queryString:function(e){return this._queryString=e,this},highlights:function(e){var t;return t=e&&r.isString(e)?arguments:e,this._highlights=t,this},sortBy:function(e){return this._sortBuilder=e,this},hits:function(){return this._hits||(this._hits=0),this._hits},_processResult:function(e){return delete e.className,delete e._app_url,delete e._deeplink,e},hasMore:function(){return!this._hitEnd},reset:function(){this._hitEnd=!1,this._sid=null,this._hits=0},find:function(){var e=this;return this._createRequest().then(function(t){return t.sid?(e._oldSid=e._sid,e._sid=t.sid):(e._sid=null,e._hitEnd=!0),e._hits=t.hits||0,r.map(t.results,function(n){n.className&&(t.className=n.className);var r=e._newObject(t);return r.appURL=n._app_url,r._finishFetch(e._processResult(n),!0),r})})},toJSON:function(){var t=e.SearchQuery.__super__.toJSON.call(this);if(delete t.where,this.className&&(t.clazz=this.className),this._sid&&(t.sid=this._sid),!this._queryString)throw new Error("Please set query string.");if(t.q=this._queryString,this._highlights&&(t.highlights=this._highlights.join(",")),this._sortBuilder&&t.order)throw new Error("sort and order can not be set at same time.");return this._sortBuilder&&(t.sort=this._sortBuilder.build()),t}})}},function(e,t,n){"use strict";var r=n(0),i=n(4),o=n(2),s=o.request,a=n(1);e.exports=function(e){e.Insight=e.Insight||{},r.extend(e.Insight,{startJob:function(t,n){if(!t||!t.sql)throw new Error("Please provide the sql to run the job.");var r={jobConfig:t,appId:e.applicationId};return s({path:"/bigquery/jobs",method:"POST",data:e._encode(r,null,!0),authOptions:n,signKey:!1}).then(function(t){return e._decode(t).id})},on:function(e,t){}}),e.Insight.JobQuery=function(e,t){if(!e)throw new Error("Please provide the job id.");this.id=e,this.className=t,this._skip=0,this._limit=100},r.extend(e.Insight.JobQuery.prototype,{skip:function(e){return this._skip=e,this},limit:function(e){return this._limit=e,this},find:function(e){var t={skip:this._skip,limit:this._limit};return s({path:"/bigquery/jobs/"+this.id,method:"GET",query:t,authOptions:e,signKey:!1}).then(function(e){return e.error?a.reject(new i(e.code,e.error)):a.resolve(e)})}})}},function(e,t,n){"use strict";var r=n(0),i=n(2),o=i._request,s=n(6),a=function(e){return"string"==typeof e?e:"function"==typeof e.getPayload?JSON.stringify(e.getPayload()):JSON.stringify(e)};e.exports=s.Object.extend("_Conversation",{constructor:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};s.Object.prototype.constructor.call(this,null,null),this.set("name",e),void 0!==t.isSystem&&this.set("sys",!!t.isSystem),void 0!==t.isTransient&&this.set("tr",!!t.isTransient)},getCreator:function(){return this.get("c")},getLastMessageAt:function(){return this.get("lm")},getMembers:function(){return this.get("m")},addMember:function(e){return this.add("m",e)},getMutedMembers:function(){return this.get("mu")},getName:function(){return this.get("name")},isTransient:function(){return this.get("tr")},isSystem:function(){return this.get("sys")},send:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i={from_peer:e,conv_id:this.id,transient:!1,message:a(t)};return void 0!==n.toClients&&(i.to_peers=n.toClients),void 0!==n.transient&&(i.transient=!!n.transient),void 0!==n.pushData&&(i.push_data=n.pushData),o("rtm","messages",null,"POST",i,r)},broadcast:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s={from_peer:e,conv_id:this.id,message:a(t)};if(void 0!==n.pushData&&(s.push=n.pushData),void 0!==n.validTill){var u=n.validTill;r.isDate(u)&&(u=u.getTime()),n.valid_till=u}return o("rtm","broadcast",null,"POST",s,i)}})},function(e,t,n){"use strict";function r(e){var t=e.name,n=e.value,r=e.version;this.name=t,this.value=n,this.version=r}var i=n(0),o=n(1),s=n(2),a=s.request,u=n(3),c=u.ensureArray,l=u.parseDate,f=n(6);f.LeaderboardVersionChangeInterval={NEVER:"never",DAY:"day",WEEK:"week",MONTH:"month"},f.LeaderboardOrder={ASCENDING:"ascending",DESCENDING:"descending"},f.LeaderboardUpdateStrategy={BETTER:"better",LAST:"last",SUM:"sum"};var h=function(e){var t=f._decode(e);return new r({name:t.statisticName,value:t.statisticValue,version:t.version})};f.Leaderboard=function(e){this.statisticName=e,this.order=void 0,this.updateStrategy=void 0,this.versionChangeInterval=void 0,this.version=void 0,this.nextResetAt=void 0,this.createdAt=void 0};var d=f.Leaderboard;f.Leaderboard.createWithoutData=function(e){return new d(e)},f.Leaderboard.createLeaderboard=function(e,t){var n=e.statisticName,r=e.order,i=e.versionChangeInterval,o=e.updateStrategy;return a({method:"POST",path:"/leaderboard/leaderboards",data:{statisticName:n,order:r,versionChangeInterval:i,updateStrategy:o},authOptions:t}).then(function(e){return new d(n)._finishFetch(e)})},f.Leaderboard.getLeaderboard=function(e,t){return d.createWithoutData(e).fetch(t)},f.Leaderboard.getStatistics=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.statisticNames,r=arguments[2];return o.resolve().then(function(){if(!e||!e.id)throw new Error("user must be an AV.User");return a({method:"GET",path:"/leaderboard/users/"+e.id+"/statistics",query:{statistics:n?c(n).join(","):void 0},authOptions:r}).then(function(e){return e.results.map(h)})})},f.Leaderboard.updateStatistics=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return o.resolve().then(function(){if(!e||!e.id)throw new Error("user must be an AV.User");var r=i.map(t,function(e,t){return{statisticName:t,statisticValue:e}}),o=n.overwrite;return a({method:"POST",path:"/leaderboard/users/"+e.id+"/statistics",query:{overwrite:o?1:void 0},data:r,authOptions:n}).then(function(e){return e.results.map(h)})})},f.Leaderboard.deleteStatistics=function(e,t,n){return o.resolve().then(function(){if(!e||!e.id)throw new Error("user must be an AV.User");return a({method:"DELETE",path:"/leaderboard/users/"+e.id+"/statistics",query:{statistics:c(t).join(",")},authOptions:n}).then(function(){})})},i.extend(d.prototype,{_finishFetch:function(e){var t=this;return i.forEach(e,function(e,n){"updatedAt"!==n&&"objectId"!==n&&("expiredAt"===n&&(n="nextResetAt"),"createdAt"===n&&(e=l(e)),e&&"Date"===e.__type&&(e=l(e.iso)),t[n]=e)}),this},fetch:function(e){var t=this;return a({method:"GET",path:"/leaderboard/leaderboards/"+this.statisticName,authOptions:e}).then(function(e){return t._finishFetch(e)})},count:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.version,n=arguments[1];return a({method:"GET",path:"/leaderboard/leaderboards/"+this.statisticName+"/ranks",query:{count:1,limit:0,version:t},authOptions:n}).then(function(e){return e.count})},_getResults:function(e,t,n){var r=e.skip,i=e.limit,o=e.selectUserKeys,s=e.includeStatistics,u=e.version;return a({method:"GET",path:"/leaderboard/leaderboards/"+this.statisticName+"/ranks"+(n?"/"+n:""),query:{skip:r,limit:i,includeUser:o?c(o).join(","):void 0,includeStatistics:s?c(s).join(","):void 0,version:u},authOptions:t}).then(function(e){return e.results.map(function(e){var t=f._decode(e),n=t.user,r=t.statisticValue,i=t.rank,o=t.statistics;return{user:n,value:r,rank:i,includedStatistics:(void 0===o?[]:o).map(h)}})})},getResults:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.skip,n=e.limit,r=e.selectUserKeys,i=e.includeStatistics,o=e.version,s=arguments[1];return this._getResults({skip:t,limit:n,selectUserKeys:r,includeStatistics:i,version:o},s)},getResultsAroundUser:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments[2];if(e&&"string"!=typeof e.id)return this.getResultsAroundUser(void 0,e,t);var r=t.limit,i=t.selectUserKeys,o=t.includeStatistics,s=t.version;return this._getResults({limit:r,selectUserKeys:i,includeStatistics:o,version:s},n,e?e.id:"self")},_update:function(e,t){var n=this;return a({method:"PUT",path:"/leaderboard/leaderboards/"+this.statisticName,data:e,authOptions:t}).then(function(e){return n._finishFetch(e)})},updateVersionChangeInterval:function(e,t){return this._update({versionChangeInterval:e},t)},updateUpdateStrategy:function(e,t){return this._update({updateStrategy:e},t)},reset:function(e){var t=this;return a({method:"PUT",path:"/leaderboard/leaderboards/"+this.statisticName+"/incrementVersion",authOptions:e}).then(function(e){return t._finishFetch(e)})},destroy:function(e){return f.request({method:"DELETE",path:"/leaderboard/leaderboards/"+this.statisticName,authOptions:e}).then(function(){})},getArchives:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.skip,r=t.limit,i=arguments[1];return a({method:"GET",path:"/leaderboard/leaderboards/"+this.statisticName+"/archives",query:{skip:n,limit:r},authOptions:i}).then(function(t){return t.results.map(function(t){var n=t.version,r=t.status,i=t.url,o=t.activatedAt,s=t.deactivatedAt;return{statisticName:e.statisticName,version:n,status:r,url:i,activatedAt:l(o.iso),deactivatedAt:l(s.iso)}})})}})},function(e,t,n){(function(e){!function(e,n){n(t)}(0,function(t){"use strict";function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(e,t,n,r,i,o,s){try{var a=e[o](s),u=a.value}catch(e){return void n(e)}a.done?t(u):Promise.resolve(u).then(r,i)}function i(e){return function(){var t=this,n=arguments;return new Promise(function(i,o){function s(e){r(u,i,o,s,a,"next",e)}function a(e){r(u,i,o,s,a,"throw",e)}var u=e.apply(t,n);s(void 0)})}}function o(e,t){for(var n=0;n=0||(i[n]=e[n]);return i}function f(e,t){if(null==e)return{};var n,r,i=l(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function h(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){return m(e)||v(e)||_()}function p(e){return y(e)||v(e)||g()}function y(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t100)){var t=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]);switch((t[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return n*Ht;case"weeks":case"week":case"w":return n*Gt;case"days":case"day":case"d":return n*zt;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Wt;case"minutes":case"minute":case"mins":case"min":case"m":return n*Yt;case"seconds":case"second":case"secs":case"sec":case"s":return n*Vt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function I(e){var t=Math.abs(e);return t>=zt?Math.round(e/zt)+"d":t>=Wt?Math.round(e/Wt)+"h":t>=Yt?Math.round(e/Yt)+"m":t>=Vt?Math.round(e/Vt)+"s":e+"ms"}function N(e){var t=Math.abs(e);return t>=zt?x(e,t,zt,"day"):t>=Wt?x(e,t,Wt,"hour"):t>=Yt?x(e,t,Yt,"minute"):t>=Vt?x(e,t,Vt,"second"):e+" ms"}function x(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}function R(e){function t(e){for(var t=0,r=0;r-1&&e%1==0&&e-1&&e%1==0&&e<=Zn}function Z(e){return Fn(e)&&er(e.length)&&!!tr[Dn(e)]}function ee(e){return function(t){return e(t)}}function te(e,t){var n=Hn(e),r=!n&&zn(e),i=!n&&!r&&Qn(e),o=!n&&!r&&!i&&ar(e),s=n||r||i||o,a=s?gn(e.length,String):[],u=a.length;for(var c in e)!t&&!cr.call(e,c)||s&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Xn(c,u))||a.push(c);return a}function ne(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||fr)}function re(e,t){return function(n){return e(t(n))}}function ie(e){if(!hr(e))return yr(e);var t=[];for(var n in Object(e))vr.call(e,n)&&"constructor"!=n&&t.push(n);return t}function oe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function se(e){if(!_r(e))return!1;var t=Dn(e);return t==wr||t==Er||t==br||t==Tr}function ae(e){return null!=e&&er(e.length)&&!Sr(e)}function ue(e){return Or(e)?lr(e):gr(e)}function ce(e){return null==e?[]:vn(e,Ar(e))}function le(e){return pn(Cr(e))}function fe(e){return(Hn(e)?yn:Ir)(e)}function he(e){if(!Fn(e)||Dn(e)!=Pr)return!1;var t=kr(e);if(null===t)return!0;var n=Dr.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ur.call(n)==Fr}var de="undefined"!=typeof window&&window.process||{};de.env=de.env||{};var pe="undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{},ye=function(){function e(){}var t=e.prototype;return t.getItem=function(e){return wx.getStorageSync(e)},t.setItem=function(e,t){return wx.setStorageSync(e,t)},t.removeItem=function(e){return this.setItem(e,"")},t.clear=function(){return wx.clearStorageSync()},e}(),me=new ye,ve=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,be=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,r,i=T(e),o=1;o0){for(var n=Array(arguments.length),r=0;r2&&void 0!==arguments[2])||arguments[2];if(this.readyState!==Fe)throw new Error("request is already opened");if(!n)throw new Error("sync request is not supported");this._method=e,this._url=t,this.readyState=1,this.dispatchEvent({type:"readystatechange"})},n.setRequestHeader=function(e,t){if(1!==this.readyState)throw new Error("request is not opened");this._headers[e.toLowerCase()]=t},n.send=function(e){var t=this;if(1!==this.readyState)throw new Error("request is not opened");if(e instanceof De){var n=e.entries(),r=n.filter(function(e){return"string"!=typeof e[1]});if(0===r.length)throw new Error("Must specify a Blob field in FormData");r.length>1&&console.warn("Only the first Blob will be send in Weapp");var i=n.filter(function(e){return"string"==typeof e[1]}).reduce(function(e,t){return be(e,a({},t[0],t[1]))},{});this._request=wx.uploadFile({url:this._url,name:r[0][0],filePath:r[0][1].uri,formData:i,header:this._headers,success:A.bind(this),fail:function(e){t.status=0,t.readyState=Me,t.dispatchEvent({type:"readystatechange"}),t.dispatchEvent({type:"error"})}}),this._request&&this._request.onProgressUpdate&&this._request.onProgressUpdate(function(e){var n=e.totalBytesSent,r=e.totalBytesExpectedToSend;t.upload.dispatchEvent({type:"progress",loaded:n,total:r})})}else this._request=wx.request({url:this._url,data:e||"",method:this._method.toUpperCase(),header:this._headers,success:A.bind(this),fail:function(e){t.status=0,t.readyState=Me,t.dispatchEvent({type:"readystatechange"}),t.dispatchEvent({type:"error"})}})},t}(Le(qe));be(Ye,{UNSENT:Fe,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:Me});var We=Ye,ze=0,Ge=1,He=3,Je=["open","error","message","close"],Qe=function(e){function t(t,n){var r;if(!t)throw new TypeError("Failed to construct 'WebSocket': url required");if(n&&(!wx.canIUse||!wx.canIUse("connectSocket.object.protocols")))throw new Error("subprotocal not supported in weapp");r=e.call(this)||this,r._url=t,r._protocal=n||"",r._readyState=ze;var i=function(e){r._readyState=He,r.dispatchEvent({type:"error",message:e.errMsg})},o=wx.connectSocket({url:t,protocals:r._protocal,fail:function(e){return setTimeout(function(){return i(e)},0)}});return r._socketTask=o,o.onOpen(function(e){r._readyState=Ge,r.dispatchEvent({type:"open"})}),o.onError(i),o.onMessage(function(e){var t=e.data,n=e.origin,i=e.ports,o=e.source;r.dispatchEvent({data:t,origin:n,ports:i,source:o,type:"message"})}),o.onClose(function(e){r._readyState=He;var t=e.code,n=e.reason,i=e.wasClean;r.dispatchEvent({code:t,reason:n,wasClean:i,type:"close"})}),r}c(t,e);var n=t.prototype;return n.close=function(){this.readyState!==He&&(this.readyState===ze&&console.warn("close WebSocket which is connecting might not work"),this._socketTask.close())},n.send=function(e){if(this.readyState!==Ge)throw new Error("INVALID_STATE_ERR");if(!("string"==typeof e||e instanceof ArrayBuffer))throw new TypeError("only String/ArrayBuffer supported");this._socketTask.send({data:e})},s(t,[{key:"url",get:function(){return this._url}},{key:"protocal",get:function(){return this._protocal}},{key:"readyState",get:function(){return this._readyState}}]),t}(Le(Je));be(Qe,{CONNECTING:ze,OPEN:Ge,CLOSING:2,CLOSED:He});var Ke=Qe,$e=function(e){if(wx.onNetworkStatusChange&&!e.__onlineOfflinePolyfilled){e.__onlineOfflinePolyfilled=!0;var t=new Le;e.dispatchEvent||(e.addEventListener=t.addEventListener.bind(t),e.removeEventListener=t.removeEventListener.bind(t),e.dispatchEvent=t.dispatchEvent.bind(t),"function"!=typeof postMessage||e.importScripts||(e.importScripts=function(){throw new Error("mocked")})),wx.getNetworkType({success:function(t){var n=t.networkType;e.onLine="none"!==n,wx.onNetworkStatusChange(function(t){var n=t.isConnected;e.onLine!==n&&(e.onLine=n,e.dispatchEvent({type:n?"online":"offline"}))})}})}},Xe={polyfill:$e},Ze={},et={polyfill:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:pe||window;if("object"!==n(e))throw new Error("polyfill target is not an Object");var t={localStorage:me,XMLHttpRequest:We,FormData:De,WebSocket:Ke,Object:Object,navigator:Ze};for(var r in t)e[r]||(e[r]=t[r]);Xe.polyfill(e),e.navigator.product="ReactNative"},localStorage:me,XMLHttpRequest:We,FormData:De,WebSocket:Ke},tt=et.polyfill;try{tt()}catch(e){}try{tt(GameGlobal)}catch(e){}try{window=window||{},tt(window)}catch(e){}try{localStorage=localStorage||me}catch(e){}try{XMLHttpRequest=XMLHttpRequest||We}catch(e){}try{FormData=FormData||De}catch(e){}try{WebSocket=WebSocket||Ke}catch(e){}try{navigator=navigator||Ze}catch(e){}var nt=E(function(e){/** - * @license long.js (c) 2013 Daniel Wirtz - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/long.js for details - */ -!function(t,n){"function"==typeof w&&e&&e.exports?e.exports=n():(t.dcodeIO=t.dcodeIO||{}).Long=n()}(pe,function(){function e(e,t,n){this.low=0|e,this.high=0|t,this.unsigned=!!n}function t(e){return!0===(e&&e.__isLong__)}function n(e,t){var n,r,o;return t?(e>>>=0,(o=0<=e&&e<256)&&(r=u[e])?r:(n=i(e,(0|e)<0?-1:0,!0),o&&(u[e]=n),n)):(e|=0,(o=-128<=e&&e<128)&&(r=a[e])?r:(n=i(e,e<0?-1:0,!1),o&&(a[e]=n),n))}function r(e,t){if(isNaN(e)||!isFinite(e))return t?y:p;if(t){if(e<0)return y;if(e>=f)return b}else{if(e<=-h)return w;if(e+1>=h)return _}return e<0?r(-e,t).neg():i(e%l|0,e/l|0,t)}function i(t,n,r){return new e(t,n,r)}function o(e,t,n){if(0===e.length)throw Error("empty string");if("NaN"===e||"Infinity"===e||"+Infinity"===e||"-Infinity"===e)return p;if("number"==typeof t?(n=t,t=!1):t=!!t,(n=n||10)<2||360)throw Error("interior hyphen");if(0===i)return o(e.substring(1),t,n).neg();for(var s=r(c(n,8)),a=p,u=0;u>>0:this.low},E.toNumber=function(){return this.unsigned?(this.high>>>0)*l+(this.low>>>0):this.high*l+(this.low>>>0)},E.toString=function(e){if((e=e||10)<2||36>>0,f=l.toString(e);if(s=u,s.isZero())return f+a;for(;f.length<6;)f="0"+f;a=""+f+a}},E.getHighBits=function(){return this.high},E.getHighBitsUnsigned=function(){return this.high>>>0},E.getLowBits=function(){return this.low},E.getLowBitsUnsigned=function(){return this.low>>>0},E.getNumBitsAbs=function(){if(this.isNegative())return this.eq(w)?64:this.neg().getNumBitsAbs();for(var e=0!=this.high?this.high:this.low,t=31;t>0&&0==(e&1<=0},E.isOdd=function(){return 1==(1&this.low)},E.isEven=function(){return 0==(1&this.low)},E.equals=function(e){return t(e)||(e=s(e)),(this.unsigned===e.unsigned||this.high>>>31!=1||e.high>>>31!=1)&&(this.high===e.high&&this.low===e.low)},E.eq=E.equals,E.notEquals=function(e){return!this.eq(e)},E.neq=E.notEquals,E.lessThan=function(e){return this.comp(e)<0},E.lt=E.lessThan,E.lessThanOrEqual=function(e){return this.comp(e)<=0},E.lte=E.lessThanOrEqual,E.greaterThan=function(e){return this.comp(e)>0},E.gt=E.greaterThan,E.greaterThanOrEqual=function(e){return this.comp(e)>=0},E.gte=E.greaterThanOrEqual,E.compare=function(e){if(t(e)||(e=s(e)),this.eq(e))return 0;var n=this.isNegative(),r=e.isNegative();return n&&!r?-1:!n&&r?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},E.comp=E.compare,E.negate=function(){return!this.unsigned&&this.eq(w)?w:this.not().add(m)},E.neg=E.negate,E.add=function(e){t(e)||(e=s(e));var n=this.high>>>16,r=65535&this.high,o=this.low>>>16,a=65535&this.low,u=e.high>>>16,c=65535&e.high,l=e.low>>>16,f=65535&e.low,h=0,d=0,p=0,y=0;return y+=a+f,p+=y>>>16,y&=65535,p+=o+l,d+=p>>>16,p&=65535,d+=r+c,h+=d>>>16,d&=65535,h+=n+u,h&=65535,i(p<<16|y,h<<16|d,this.unsigned)},E.subtract=function(e){return t(e)||(e=s(e)),this.add(e.neg())},E.sub=E.subtract,E.multiply=function(e){if(this.isZero())return p;if(t(e)||(e=s(e)),e.isZero())return p;if(this.eq(w))return e.isOdd()?w:p;if(e.eq(w))return this.isOdd()?w:p;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(d)&&e.lt(d))return r(this.toNumber()*e.toNumber(),this.unsigned);var n=this.high>>>16,o=65535&this.high,a=this.low>>>16,u=65535&this.low,c=e.high>>>16,l=65535&e.high,f=e.low>>>16,h=65535&e.low,y=0,m=0,v=0,g=0;return g+=u*h,v+=g>>>16,g&=65535,v+=a*h,m+=v>>>16,v&=65535,v+=u*f,m+=v>>>16,v&=65535,m+=o*h,y+=m>>>16,m&=65535,m+=a*f,y+=m>>>16,m&=65535,m+=u*l,y+=m>>>16,m&=65535,y+=n*h+o*f+a*l+u*c,y&=65535,i(v<<16|g,y<<16|m,this.unsigned)},E.mul=E.multiply,E.divide=function(e){if(t(e)||(e=s(e)),e.isZero())throw Error("division by zero");if(this.isZero())return this.unsigned?y:p;var n,i,o;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return y;if(e.gt(this.shru(1)))return v;o=y}else{if(this.eq(w)){if(e.eq(m)||e.eq(g))return w;if(e.eq(w))return m;return n=this.shr(1).div(e).shl(1),n.eq(p)?e.isNegative()?m:g:(i=this.sub(e.mul(n)),o=n.add(i.div(e)))}if(e.eq(w))return this.unsigned?y:p;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();o=p}for(i=this;i.gte(e);){n=Math.max(1,Math.floor(i.toNumber()/e.toNumber()));for(var a=Math.ceil(Math.log(n)/Math.LN2),u=a<=48?1:c(2,a-48),l=r(n),f=l.mul(e);f.isNegative()||f.gt(i);)n-=u,l=r(n,this.unsigned),f=l.mul(e);l.isZero()&&(l=m),o=o.add(l),i=i.sub(f)}return o},E.div=E.divide,E.modulo=function(e){return t(e)||(e=s(e)),this.sub(this.div(e).mul(e))},E.mod=E.modulo,E.not=function(){return i(~this.low,~this.high,this.unsigned)},E.and=function(e){return t(e)||(e=s(e)),i(this.low&e.low,this.high&e.high,this.unsigned)},E.or=function(e){return t(e)||(e=s(e)),i(this.low|e.low,this.high|e.high,this.unsigned)},E.xor=function(e){return t(e)||(e=s(e)),i(this.low^e.low,this.high^e.high,this.unsigned)},E.shiftLeft=function(e){return t(e)&&(e=e.toInt()),0==(e&=63)?this:e<32?i(this.low<>>32-e,this.unsigned):i(0,this.low<>>e|this.high<<32-e,this.high>>e,this.unsigned):i(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},E.shr=E.shiftRight,E.shiftRightUnsigned=function(e){if(t(e)&&(e=e.toInt()),0===(e&=63))return this;var n=this.high;if(e<32){return i(this.low>>>e|n<<32-e,n>>>e,this.unsigned)}return 32===e?i(n,0,this.unsigned):i(n>>>e-32,0,this.unsigned)},E.shru=E.shiftRightUnsigned,E.toSigned=function(){return this.unsigned?i(this.low,this.high,!1):this},E.toUnsigned=function(){return this.unsigned?this:i(this.low,this.high,!0)},E.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},E.toBytesLE=function(){var e=this.high,t=this.low;return[255&t,t>>>8&255,t>>>16&255,t>>>24&255,255&e,e>>>8&255,e>>>16&255,e>>>24&255]},E.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24&255,e>>>16&255,e>>>8&255,255&e,t>>>24&255,t>>>16&255,t>>>8&255,255&t]},e})}),rt=E(function(e){/** - * @license bytebuffer.js (c) 2015 Daniel Wirtz - * Backing buffer: ArrayBuffer, Accessor: Uint8Array - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/bytebuffer.js for details - */ -!function(t,n){"function"==typeof w&&e&&e.exports?e.exports=function(){var e;try{e=nt}catch(e){}return n(e)}():(t.dcodeIO=t.dcodeIO||{}).ByteBuffer=n(t.dcodeIO.Long)}(pe,function(e){function t(e){var t=0;return function(){return t1024&&(t.push(u.apply(String,e)),e.length=0),Array.prototype.push.apply(e,arguments)}}function r(e,t,n,r,i){var o,s,a=8*i-r-1,u=(1<>1,l=-7,f=n?i-1:0,h=n?-1:1,d=e[t+f];for(f+=h,o=d&(1<<-l)-1,d>>=-l,l+=a;l>0;o=256*o+e[t+f],f+=h,l-=8);for(s=o&(1<<-l)-1,o>>=-l,l+=r;l>0;s=256*s+e[t+f],f+=h,l-=8);if(0===o)o=1-c;else{if(o===u)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,r),o-=c}return(d?-1:1)*s*Math.pow(2,o-r)}function i(e,t,n,r,i,o){var s,a,u,c=8*o-i-1,l=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,p=r?1:-1,y=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=l):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),t+=s+f>=1?h/u:h*Math.pow(2,1-f),t*u>=2&&(s++,u/=2),s+f>=l?(a=0,s=l):s+f>=1?(a=(t*u-1)*Math.pow(2,i),s+=f):(a=t*Math.pow(2,f-1)*Math.pow(2,i),s=0));i>=8;e[n+d]=255&a,d+=p,a/=256,i-=8);for(s=s<0;e[n+d]=255&s,d+=p,s/=256,c-=8);e[n+d-p]|=128*y}var o=function(e,t,n){if(void 0===e&&(e=o.DEFAULT_CAPACITY),void 0===t&&(t=o.DEFAULT_ENDIAN),void 0===n&&(n=o.DEFAULT_NOASSERT),!n){if((e|=0)<0)throw RangeError("Illegal capacity");t=!!t,n=!!n}this.buffer=0===e?a:new ArrayBuffer(e),this.view=0===e?null:new Uint8Array(this.buffer),this.offset=0,this.markedOffset=-1,this.limit=e,this.littleEndian=t,this.noAssert=n};o.VERSION="5.0.1",o.LITTLE_ENDIAN=!0,o.BIG_ENDIAN=!1,o.DEFAULT_CAPACITY=16,o.DEFAULT_ENDIAN=o.BIG_ENDIAN,o.DEFAULT_NOASSERT=!1,o.Long=e||null;var s=o.prototype;s.__isByteBuffer__,Object.defineProperty(s,"__isByteBuffer__",{value:!0,enumerable:!1,configurable:!1});var a=new ArrayBuffer(0),u=String.fromCharCode;o.accessor=function(){return Uint8Array},o.allocate=function(e,t,n){return new o(e,t,n)},o.concat=function(e,t,n,r){"boolean"!=typeof t&&"string"==typeof t||(r=n,n=t,t=void 0);for(var i,s=0,a=0,u=e.length;a0&&(s+=i);if(0===s)return new o(0,n,r);var c,l=new o(s,n,r);for(a=0;a0&&(i.buffer=e.buffer,i.offset=e.byteOffset,i.limit=e.byteOffset+e.byteLength,i.view=new Uint8Array(e.buffer));else if(e instanceof ArrayBuffer)i=new o(0,n,r),e.byteLength>0&&(i.buffer=e,i.offset=0,i.limit=e.byteLength,i.view=e.byteLength>0?new Uint8Array(e):null);else{if("[object Array]"!==Object.prototype.toString.call(e))throw TypeError("Illegal buffer");i=new o(e.length,n,r),i.limit=e.length;for(var a=0;a>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}var r,i=t,o=e.length,s=o>>3,a=0;for(t+=this.writeVarint32(o,t);s--;)r=1&!!e[a++]|(1&!!e[a++])<<1|(1&!!e[a++])<<2|(1&!!e[a++])<<3|(1&!!e[a++])<<4|(1&!!e[a++])<<5|(1&!!e[a++])<<6|(1&!!e[a++])<<7,this.writeByte(r,t++);if(a>3,s=0,a=[];for(e+=r.length;o--;)n=this.readByte(e++),a[s++]=!!(1&n),a[s++]=!!(2&n),a[s++]=!!(4&n),a[s++]=!!(8&n),a[s++]=!!(16&n),a[s++]=!!(32&n),a[s++]=!!(64&n),a[s++]=!!(128&n);if(s>u++&1)}return t&&(this.offset=e),a},s.readBytes=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+"+e+") <= "+this.buffer.byteLength)}var r=this.slice(t,t+e);return n&&(this.offset+=e),r},s.writeBytes=s.append,s.writeInt8=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=1;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=1,this.view[t]=e,n&&(this.offset+=1),this},s.writeByte=s.writeInt8,s.readInt8=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var n=this.view[e];return 128==(128&n)&&(n=-(255-n+1)),t&&(this.offset+=1),n},s.readByte=s.readInt8,s.writeUint8=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=1;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=1,this.view[t]=e,n&&(this.offset+=1),this},s.writeUInt8=s.writeUint8,s.readUint8=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var n=this.view[e];return t&&(this.offset+=1),n},s.readUInt8=s.readUint8,s.writeInt16=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=2;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=2,this.littleEndian?(this.view[t+1]=(65280&e)>>>8,this.view[t]=255&e):(this.view[t]=(65280&e)>>>8,this.view[t+1]=255&e),n&&(this.offset+=2),this},s.writeShort=s.writeInt16,s.readInt16=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+2) <= "+this.buffer.byteLength)}var n=0;return this.littleEndian?(n=this.view[e],n|=this.view[e+1]<<8):(n=this.view[e]<<8,n|=this.view[e+1]),32768==(32768&n)&&(n=-(65535-n+1)),t&&(this.offset+=2),n},s.readShort=s.readInt16,s.writeUint16=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=2;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=2,this.littleEndian?(this.view[t+1]=(65280&e)>>>8,this.view[t]=255&e):(this.view[t]=(65280&e)>>>8,this.view[t+1]=255&e),n&&(this.offset+=2),this},s.writeUInt16=s.writeUint16,s.readUint16=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+2>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+2) <= "+this.buffer.byteLength)}var n=0;return this.littleEndian?(n=this.view[e],n|=this.view[e+1]<<8):(n=this.view[e]<<8,n|=this.view[e+1]),t&&(this.offset+=2),n},s.readUInt16=s.readUint16,s.writeInt32=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=4;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=4,this.littleEndian?(this.view[t+3]=e>>>24&255,this.view[t+2]=e>>>16&255,this.view[t+1]=e>>>8&255,this.view[t]=255&e):(this.view[t]=e>>>24&255,this.view[t+1]=e>>>16&255,this.view[t+2]=e>>>8&255,this.view[t+3]=255&e),n&&(this.offset+=4),this},s.writeInt=s.writeInt32,s.readInt32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var n=0;return this.littleEndian?(n=this.view[e+2]<<16,n|=this.view[e+1]<<8,n|=this.view[e],n+=this.view[e+3]<<24>>>0):(n=this.view[e+1]<<16,n|=this.view[e+2]<<8,n|=this.view[e+3],n+=this.view[e]<<24>>>0),n|=0,t&&(this.offset+=4),n},s.readInt=s.readInt32,s.writeUint32=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=4;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=4,this.littleEndian?(this.view[t+3]=e>>>24&255,this.view[t+2]=e>>>16&255,this.view[t+1]=e>>>8&255,this.view[t]=255&e):(this.view[t]=e>>>24&255,this.view[t+1]=e>>>16&255,this.view[t+2]=e>>>8&255,this.view[t+3]=255&e),n&&(this.offset+=4),this},s.writeUInt32=s.writeUint32,s.readUint32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var n=0;return this.littleEndian?(n=this.view[e+2]<<16,n|=this.view[e+1]<<8,n|=this.view[e],n+=this.view[e+3]<<24>>>0):(n=this.view[e+1]<<16,n|=this.view[e+2]<<8,n|=this.view[e+3],n+=this.view[e]<<24>>>0),t&&(this.offset+=4),n},s.readUInt32=s.readUint32,e&&(s.writeInt64=function(t,n){var r=void 0===n;if(r&&(n=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t)),n+=8;var i=this.buffer.byteLength;n>i&&this.resize((i*=2)>n?i:n),n-=8;var o=t.low,s=t.high;return this.littleEndian?(this.view[n+3]=o>>>24&255,this.view[n+2]=o>>>16&255,this.view[n+1]=o>>>8&255,this.view[n]=255&o,n+=4,this.view[n+3]=s>>>24&255,this.view[n+2]=s>>>16&255,this.view[n+1]=s>>>8&255,this.view[n]=255&s):(this.view[n]=s>>>24&255,this.view[n+1]=s>>>16&255,this.view[n+2]=s>>>8&255,this.view[n+3]=255&s,n+=4,this.view[n]=o>>>24&255,this.view[n+1]=o>>>16&255,this.view[n+2]=o>>>8&255,this.view[n+3]=255&o),r&&(this.offset+=8),this},s.writeLong=s.writeInt64,s.readInt64=function(t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+8) <= "+this.buffer.byteLength)}var r=0,i=0;this.littleEndian?(r=this.view[t+2]<<16,r|=this.view[t+1]<<8,r|=this.view[t],r+=this.view[t+3]<<24>>>0,t+=4,i=this.view[t+2]<<16,i|=this.view[t+1]<<8,i|=this.view[t],i+=this.view[t+3]<<24>>>0):(i=this.view[t+1]<<16,i|=this.view[t+2]<<8,i|=this.view[t+3],i+=this.view[t]<<24>>>0,t+=4,r=this.view[t+1]<<16,r|=this.view[t+2]<<8,r|=this.view[t+3],r+=this.view[t]<<24>>>0);var o=new e(r,i,!1);return n&&(this.offset+=8),o},s.readLong=s.readInt64,s.writeUint64=function(t,n){var r=void 0===n;if(r&&(n=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t)),n+=8;var i=this.buffer.byteLength;n>i&&this.resize((i*=2)>n?i:n),n-=8;var o=t.low,s=t.high;return this.littleEndian?(this.view[n+3]=o>>>24&255,this.view[n+2]=o>>>16&255,this.view[n+1]=o>>>8&255,this.view[n]=255&o,n+=4,this.view[n+3]=s>>>24&255,this.view[n+2]=s>>>16&255,this.view[n+1]=s>>>8&255,this.view[n]=255&s):(this.view[n]=s>>>24&255,this.view[n+1]=s>>>16&255,this.view[n+2]=s>>>8&255,this.view[n+3]=255&s,n+=4,this.view[n]=o>>>24&255,this.view[n+1]=o>>>16&255,this.view[n+2]=o>>>8&255,this.view[n+3]=255&o),r&&(this.offset+=8),this},s.writeUInt64=s.writeUint64,s.readUint64=function(t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+8) <= "+this.buffer.byteLength)}var r=0,i=0;this.littleEndian?(r=this.view[t+2]<<16,r|=this.view[t+1]<<8,r|=this.view[t],r+=this.view[t+3]<<24>>>0,t+=4,i=this.view[t+2]<<16,i|=this.view[t+1]<<8,i|=this.view[t],i+=this.view[t+3]<<24>>>0):(i=this.view[t+1]<<16,i|=this.view[t+2]<<8,i|=this.view[t+3],i+=this.view[t]<<24>>>0,t+=4,r=this.view[t+1]<<16,r|=this.view[t+2]<<8,r|=this.view[t+3],r+=this.view[t]<<24>>>0);var o=new e(r,i,!0);return n&&(this.offset+=8),o},s.readUInt64=s.readUint64),s.writeFloat32=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e)throw TypeError("Illegal value: "+e+" (not a number)");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=4;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=4,i(this.view,e,t,this.littleEndian,23,4),n&&(this.offset+=4),this},s.writeFloat=s.writeFloat32,s.readFloat32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var n=r(this.view,e,this.littleEndian,23,4);return t&&(this.offset+=4),n},s.readFloat=s.readFloat32,s.writeFloat64=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e)throw TypeError("Illegal value: "+e+" (not a number)");if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}t+=8;var r=this.buffer.byteLength;return t>r&&this.resize((r*=2)>t?r:t),t-=8,i(this.view,e,t,this.littleEndian,52,8),n&&(this.offset+=8),this},s.writeDouble=s.writeFloat64,s.readFloat64=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+8>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+8) <= "+this.buffer.byteLength)}var n=r(this.view,e,this.littleEndian,52,8);return t&&(this.offset+=8),n},s.readDouble=s.readFloat64,o.MAX_VARINT32_BYTES=5,o.calculateVarint32=function(e){return e>>>=0,e<128?1:e<16384?2:e<1<<21?3:e<1<<28?4:5},o.zigZagEncode32=function(e){return((e|=0)<<1^e>>31)>>>0},o.zigZagDecode32=function(e){return e>>>1^-(1&e)|0},s.writeVarint32=function(e,t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+0) <= "+this.buffer.byteLength)}var r,i=o.calculateVarint32(e);t+=i;var s=this.buffer.byteLength;for(t>s&&this.resize((s*=2)>t?s:t),t-=i,e>>>=0;e>=128;)r=127&e|128,this.view[t++]=r,e>>>=7;return this.view[t++]=e,n?(this.offset=t,this):i},s.writeVarint32ZigZag=function(e,t){return this.writeVarint32(o.zigZagEncode32(e),t)},s.readVarint32=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var n,r=0,i=0;do{if(!this.noAssert&&e>this.limit){var o=Error("Truncated");throw o.truncated=!0,o}n=this.view[e++],r<5&&(i|=(127&n)<<7*r),++r}while(0!=(128&n));return i|=0,t?(this.offset=e,i):{value:i,length:r}},s.readVarint32ZigZag=function(e){var t=this.readVarint32(e);return"object"==typeof t?t.value=o.zigZagDecode32(t.value):t=o.zigZagDecode32(t),t},e&&(o.MAX_VARINT64_BYTES=10,o.calculateVarint64=function(t){"number"==typeof t?t=e.fromNumber(t):"string"==typeof t&&(t=e.fromString(t));var n=t.toInt()>>>0,r=t.shiftRightUnsigned(28).toInt()>>>0,i=t.shiftRightUnsigned(56).toInt()>>>0;return 0==i?0==r?n<16384?n<128?1:2:n<1<<21?3:4:r<16384?r<128?5:6:r<1<<21?7:8:i<128?9:10},o.zigZagEncode64=function(t){return"number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned()),t.shiftLeft(1).xor(t.shiftRight(63)).toUnsigned()},o.zigZagDecode64=function(t){return"number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned()),t.shiftRightUnsigned(1).xor(t.and(e.ONE).toSigned().negate()).toSigned()},s.writeVarint64=function(t,n){var r=void 0===n;if(r&&(n=this.offset),!this.noAssert){if("number"==typeof t)t=e.fromNumber(t);else if("string"==typeof t)t=e.fromString(t);else if(!(t&&t instanceof e))throw TypeError("Illegal value: "+t+" (not an integer or Long)");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}"number"==typeof t?t=e.fromNumber(t,!1):"string"==typeof t?t=e.fromString(t,!1):!1!==t.unsigned&&(t=t.toSigned());var i=o.calculateVarint64(t),s=t.toInt()>>>0,a=t.shiftRightUnsigned(28).toInt()>>>0,u=t.shiftRightUnsigned(56).toInt()>>>0;n+=i;var c=this.buffer.byteLength;switch(n>c&&this.resize((c*=2)>n?c:n),n-=i,i){case 10:this.view[n+9]=u>>>7&1;case 9:this.view[n+8]=9!==i?128|u:127&u;case 8:this.view[n+7]=8!==i?a>>>21|128:a>>>21&127;case 7:this.view[n+6]=7!==i?a>>>14|128:a>>>14&127;case 6:this.view[n+5]=6!==i?a>>>7|128:a>>>7&127;case 5:this.view[n+4]=5!==i?128|a:127&a;case 4:this.view[n+3]=4!==i?s>>>21|128:s>>>21&127;case 3:this.view[n+2]=3!==i?s>>>14|128:s>>>14&127;case 2:this.view[n+1]=2!==i?s>>>7|128:s>>>7&127;case 1:this.view[n]=1!==i?128|s:127&s}return r?(this.offset+=i,this):i},s.writeVarint64ZigZag=function(e,t){return this.writeVarint64(o.zigZagEncode64(e),t)},s.readVarint64=function(t){var n=void 0===t;if(n&&(t=this.offset),!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: "+t+" (not an integer)");if((t>>>=0)<0||t+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+t+" (+1) <= "+this.buffer.byteLength)}var r=t,i=0,o=0,s=0,a=0;if(a=this.view[t++],i=127&a,128&a&&(a=this.view[t++],i|=(127&a)<<7,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],i|=(127&a)<<14,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],i|=(127&a)<<21,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],o=127&a,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],o|=(127&a)<<7,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],o|=(127&a)<<14,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],o|=(127&a)<<21,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],s=127&a,(128&a||this.noAssert&&void 0===a)&&(a=this.view[t++],s|=(127&a)<<7,128&a||this.noAssert&&void 0===a))))))))))throw Error("Buffer overrun");var u=e.fromBits(i|o<<28,o>>>4|s<<24,!1);return n?(this.offset=t,u):{value:u,length:t-r}},s.readVarint64ZigZag=function(t){var n=this.readVarint64(t);return n&&n.value instanceof e?n.value=o.zigZagDecode64(n.value):n=o.zigZagDecode64(n),n}),s.writeCString=function(e,n){var r=void 0===n;r&&(n=this.offset);var i,o=e.length;if(!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");for(i=0;i>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}o=l.calculateUTF16asUTF8(t(e))[1],n+=o+1;var s=this.buffer.byteLength;return n>s&&this.resize((s*=2)>n?s:n),n-=o+1,l.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),this.view[n++]=0,r?(this.offset=n,this):o},s.readCString=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var r,i=e,o=-1;return l.decodeUTF8toUTF16(function(){if(0===o)return null;if(e>=this.limit)throw RangeError("Illegal range: Truncated data, "+e+" < "+this.limit);return o=this.view[e++],0===o?null:o}.bind(this),r=n(),!0),t?(this.offset=e,r()):{string:r(),length:e-i}},s.writeIString=function(e,n){var r=void 0===n;if(r&&(n=this.offset),!this.noAssert){if("string"!=typeof e)throw TypeError("Illegal str: Not a string");if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}var i,o=n;i=l.calculateUTF16asUTF8(t(e),this.noAssert)[1],n+=4+i;var s=this.buffer.byteLength;if(n>s&&this.resize((s*=2)>n?s:n),n-=4+i,this.littleEndian?(this.view[n+3]=i>>>24&255,this.view[n+2]=i>>>16&255,this.view[n+1]=i>>>8&255,this.view[n]=255&i):(this.view[n]=i>>>24&255,this.view[n+1]=i>>>16&255,this.view[n+2]=i>>>8&255,this.view[n+3]=255&i),n+=4,l.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),n!==o+4+i)throw RangeError("Illegal range: Truncated data, "+n+" == "+(n+4+i));return r?(this.offset=n,this):n-o},s.readIString=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+4>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+4) <= "+this.buffer.byteLength)}var n=e,r=this.readUint32(e),i=this.readUTF8String(r,o.METRICS_BYTES,e+=4);return e+=i.length,t?(this.offset=e,i.string):{string:i.string,length:e-n}},o.METRICS_CHARS="c",o.METRICS_BYTES="b",s.writeUTF8String=function(e,n){var r=void 0===n;if(r&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}var i,o=n;i=l.calculateUTF16asUTF8(t(e))[1],n+=i;var s=this.buffer.byteLength;return n>s&&this.resize((s*=2)>n?s:n),n-=i,l.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),r?(this.offset=n,this):n-o},s.writeString=s.writeUTF8String,o.calculateUTF8Chars=function(e){return l.calculateUTF16asUTF8(t(e))[0]},o.calculateUTF8Bytes=function(e){return l.calculateUTF16asUTF8(t(e))[1]},o.calculateString=o.calculateUTF8Bytes,s.readUTF8String=function(e,t,r){"number"==typeof t&&(r=t,t=void 0);var i=void 0===r;if(i&&(r=this.offset),void 0===t&&(t=o.METRICS_CHARS),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal length: "+e+" (not an integer)");if(e|=0,"number"!=typeof r||r%1!=0)throw TypeError("Illegal offset: "+r+" (not an integer)");if((r>>>=0)<0||r+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+0) <= "+this.buffer.byteLength)}var s,a=0,u=r;if(t===o.METRICS_CHARS){if(s=n(),l.decodeUTF8(function(){return a>>=0)<0||r+e>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+r+" (+"+e+") <= "+this.buffer.byteLength)}var c=r+e;if(l.decodeUTF8toUTF16(function(){return r>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}var i,s,a=n;i=l.calculateUTF16asUTF8(t(e),this.noAssert)[1],s=o.calculateVarint32(i),n+=s+i;var u=this.buffer.byteLength;if(n>u&&this.resize((u*=2)>n?u:n),n-=s+i,n+=this.writeVarint32(i,n),l.encodeUTF16toUTF8(t(e),function(e){this.view[n++]=e}.bind(this)),n!==a+i+s)throw RangeError("Illegal range: Truncated data, "+n+" == "+(n+i+s));return r?(this.offset=n,this):n-a},s.readVString=function(e){var t=void 0===e;if(t&&(e=this.offset),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal offset: "+e+" (not an integer)");if((e>>>=0)<0||e+1>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+1) <= "+this.buffer.byteLength)}var n=e,r=this.readVarint32(e),i=this.readUTF8String(r.value,o.METRICS_BYTES,e+=r.length);return e+=i.length,t?(this.offset=e,i.string):{string:i.string,length:e-n}},s.append=function(e,t,n){"number"!=typeof t&&"string"==typeof t||(n=t,t=void 0);var r=void 0===n;if(r&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}e instanceof o||(e=o.wrap(e,t));var i=e.limit-e.offset;if(i<=0)return this;n+=i;var s=this.buffer.byteLength;return n>s&&this.resize((s*=2)>n?s:n),n-=i,this.view.set(e.view.subarray(e.offset,e.limit),n),e.offset+=i,r&&(this.offset+=i),this},s.appendTo=function(e,t){return e.append(this,t),this},s.assert=function(e){return this.noAssert=!e,this},s.capacity=function(){return this.buffer.byteLength},s.clear=function(){return this.offset=0,this.limit=this.buffer.byteLength,this.markedOffset=-1,this},s.clone=function(e){var t=new o(0,this.littleEndian,this.noAssert);return e?(t.buffer=new ArrayBuffer(this.buffer.byteLength),t.view=new Uint8Array(t.buffer)):(t.buffer=this.buffer,t.view=this.view),t.offset=this.offset,t.markedOffset=this.markedOffset,t.limit=this.limit,t},s.compact=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(0===e&&t===this.buffer.byteLength)return this;var n=t-e;if(0===n)return this.buffer=a,this.view=null,this.markedOffset>=0&&(this.markedOffset-=e),this.offset=0,this.limit=0,this;var r=new ArrayBuffer(n),i=new Uint8Array(r);return i.set(this.view.subarray(e,t)),this.buffer=r,this.view=i,this.markedOffset>=0&&(this.markedOffset-=e),this.offset=0,this.limit=n,this},s.copy=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}if(e===t)return new o(0,this.littleEndian,this.noAssert);var n=t-e,r=new o(n,this.littleEndian,this.noAssert);return r.offset=0,r.limit=n,r.markedOffset>=0&&(r.markedOffset-=e),this.copyTo(r,0,e,t),r},s.copyTo=function(e,t,n,r){var i,s;if(!this.noAssert&&!o.isByteBuffer(e))throw TypeError("Illegal target: Not a ByteBuffer");if(t=(s=void 0===t)?e.offset:0|t,n=(i=void 0===n)?this.offset:0|n,r=void 0===r?this.limit:0|r,t<0||t>e.buffer.byteLength)throw RangeError("Illegal target range: 0 <= "+t+" <= "+e.buffer.byteLength);if(n<0||r>this.buffer.byteLength)throw RangeError("Illegal source range: 0 <= "+n+" <= "+this.buffer.byteLength);var a=r-n;return 0===a?e:(e.ensureCapacity(t+a),e.view.set(this.view.subarray(n,r),t),i&&(this.offset+=a),s&&(e.offset+=a),this)},s.ensureCapacity=function(e){var t=this.buffer.byteLength;return te?t:e):this},s.fill=function(e,t,n){var r=void 0===t;if(r&&(t=this.offset),"string"==typeof e&&e.length>0&&(e=e.charCodeAt(0)),void 0===t&&(t=this.offset),void 0===n&&(n=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal value: "+e+" (not an integer)");if(e|=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal begin: Not an integer");if(t>>>=0,"number"!=typeof n||n%1!=0)throw TypeError("Illegal end: Not an integer");if(n>>>=0,t<0||t>n||n>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+n+" <= "+this.buffer.byteLength)}if(t>=n)return this;for(;t>>=0)<0||e+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+e+" (+0) <= "+this.buffer.byteLength)}return this.markedOffset=e,this},s.order=function(e){if(!this.noAssert&&"boolean"!=typeof e)throw TypeError("Illegal littleEndian: Not a boolean");return this.littleEndian=!!e,this},s.LE=function(e){return this.littleEndian=void 0===e||!!e,this},s.BE=function(e){return this.littleEndian=void 0!==e&&!e,this},s.prepend=function(e,t,n){"number"!=typeof t&&"string"==typeof t||(n=t,t=void 0);var r=void 0===n;if(r&&(n=this.offset),!this.noAssert){if("number"!=typeof n||n%1!=0)throw TypeError("Illegal offset: "+n+" (not an integer)");if((n>>>=0)<0||n+0>this.buffer.byteLength)throw RangeError("Illegal offset: 0 <= "+n+" (+0) <= "+this.buffer.byteLength)}e instanceof o||(e=o.wrap(e,t));var i=e.limit-e.offset;if(i<=0)return this;var s=i-n;if(s>0){var a=new ArrayBuffer(this.buffer.byteLength+s),u=new Uint8Array(a);u.set(this.view.subarray(n,this.buffer.byteLength),i),this.buffer=a,this.view=u,this.offset+=s,this.markedOffset>=0&&(this.markedOffset+=s),this.limit+=s,n+=s}else{new Uint8Array(this.buffer)}return this.view.set(e.view.subarray(e.offset,e.limit),n-i),e.offset=e.limit,r&&(this.offset-=i),this},s.prependTo=function(e,t){return e.prepend(this,t),this},s.printDebug=function(e){"function"!=typeof e&&(e=console.log.bind(console)),e(this.toString()+"\n-------------------------------------------------------------------\n"+this.toDebug(!0))},s.remaining=function(){return this.limit-this.offset},s.reset=function(){return this.markedOffset>=0?(this.offset=this.markedOffset,this.markedOffset=-1):this.offset=0,this},s.resize=function(e){if(!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal capacity: "+e+" (not an integer)");if((e|=0)<0)throw RangeError("Illegal capacity: 0 <= "+e)}if(this.buffer.byteLength>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}return e===t?this:(Array.prototype.reverse.call(this.view.subarray(e,t)),this)},s.skip=function(e){if(!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal length: "+e+" (not an integer)");e|=0}var t=this.offset+e;if(!this.noAssert&&(t<0||t>this.buffer.byteLength))throw RangeError("Illegal length: 0 <= "+this.offset+" + "+e+" <= "+this.buffer.byteLength);return this.offset=t,this},s.slice=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var n=this.clone();return n.offset=e,n.limit=t,n},s.toBuffer=function(e){var t=this.offset,n=this.limit;if(!this.noAssert){if("number"!=typeof t||t%1!=0)throw TypeError("Illegal offset: Not an integer");if(t>>>=0,"number"!=typeof n||n%1!=0)throw TypeError("Illegal limit: Not an integer");if(n>>>=0,t<0||t>n||n>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+t+" <= "+n+" <= "+this.buffer.byteLength)}if(!e&&0===t&&n===this.buffer.byteLength)return this.buffer;if(t===n)return a;var r=new ArrayBuffer(n-t);return new Uint8Array(r).set(new Uint8Array(this.buffer).subarray(t,n),0),r},s.toArrayBuffer=s.toBuffer,s.toString=function(e,t,n){if(void 0===e)return"ByteBufferAB(offset="+this.offset+",markedOffset="+this.markedOffset+",limit="+this.limit+",capacity="+this.capacity()+")";switch("number"==typeof e&&(e="utf8",t=e,n=t),e){case"utf8":return this.toUTF8(t,n);case"base64":return this.toBase64(t,n);case"hex":return this.toHex(t,n);case"binary":return this.toBinary(t,n);case"debug":return this.toDebug();case"columns":return this.toColumns();default:throw Error("Unsupported encoding: "+e)}};var c=function(){for(var e={},t=[65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,43,47],n=[],r=0,i=t.length;r>2&63]),i=(3&r)<<4,null!==(r=e())?(i|=r>>4&15,n(t[63&(i|r>>4&15)]),i=(15&r)<<2,null!==(r=e())?(n(t[63&(i|r>>6&3)]),n(t[63&r])):(n(t[63&i]),n(61))):(n(t[63&i]),n(61),n(61))},e.decode=function(e,t){function r(e){throw Error("Illegal character code: "+e)}for(var i,o,s;null!==(i=e());)if(o=n[i],void 0===o&&r(i),null!==(i=e())&&(s=n[i],void 0===s&&r(i),t(o<<2>>>0|(48&s)>>4),null!==(i=e()))){if(void 0===(o=n[i])){if(61===i)break;r(i)}if(t((15&s)<<4>>>0|(60&o)>>2),null!==(i=e())){if(void 0===(s=n[i])){if(61===i)break;r(i)}t((3&o)<<6>>>0|s)}}},e.test=function(e){return/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(e)},e}();s.toBase64=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),e|=0,t|=0,e<0||t>this.capacity||e>t)throw RangeError("begin, end");var r;return c.encode(function(){return ethis.capacity()||e>t)throw RangeError("begin, end");if(e===t)return"";for(var n=[],r=[];e=1024&&(r.push(String.fromCharCode.apply(String,n)),n=[]);return r.join("")+String.fromCharCode.apply(String,n)},o.fromBinary=function(e,t){if("string"!=typeof e)throw TypeError("str");for(var n,r=0,i=e.length,s=new o(i,t);r255)throw RangeError("illegal char code: "+n);s.view[r++]=n}return s.limit=i,s},s.toDebug=function(e){for(var t,n=-1,r=this.buffer.byteLength,i="",o="",s="";n32&&t<127?String.fromCharCode(t):".")),++n,e&&n>0&&n%16==0&&n!==r){for(;i.length<51;)i+=" ";s+=i+o+"\n",i=o=""}n===this.offset&&n===this.limit?i+=n===this.markedOffset?"!":"|":n===this.offset?i+=n===this.markedOffset?"[":"<":n===this.limit?i+=n===this.markedOffset?"]":">":i+=n===this.markedOffset?"'":e||0!==n&&n!==r?" ":""}if(e&&" "!==i){for(;i.length<51;)i+=" ";s+=i+o+"\n"}return e?s:i},o.fromDebug=function(e,t,n){for(var r,i,s=e.length,a=new o((s+1)/3|0,t,n),u=0,c=0,l=!1,f=!1,h=!1,d=!1,p=!1;u":if(!n){if(d){p=!0;break}d=!0}a.limit=c,l=!1;break;case"'":if(!n){if(h){p=!0;break}h=!0}a.markedOffset=c,l=!1;break;case" ":l=!1;break;default:if(!n&&l){p=!0;break}if(i=parseInt(r+e.charAt(u++),16),!n&&(isNaN(i)||i<0||i>255))throw TypeError("Illegal str: Not a debug encoded string");a.view[c++]=i,l=!0}if(p)throw TypeError("Illegal str: Invalid symbol at "+u)}if(!n){if(!f||!d)throw TypeError("Illegal str: Missing offset or limit");if(c>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}for(var n,r=new Array(t-e);e255))throw TypeError("Illegal str: Contains non-hex characters");s.view[u++]=r}return s.limit=u,s};var l=function(){var e={};return e.MAX_CODEPOINT=1114111,e.encodeUTF8=function(e,t){var n=null;for("number"==typeof e&&(n=e,e=function(){return null});null!==n||null!==(n=e());)n<128?t(127&n):n<2048?(t(n>>6&31|192),t(63&n|128)):n<65536?(t(n>>12&15|224),t(n>>6&63|128),t(63&n|128)):(t(n>>18&7|240),t(n>>12&63|128),t(n>>6&63|128),t(63&n|128)),n=null},e.decodeUTF8=function(e,t){for(var n,r,i,o,s=function(e){e=e.slice(0,e.indexOf(null));var t=Error(e.toString());throw t.name="TruncatedError",t.bytes=e,t};null!==(n=e());)if(0==(128&n))t(n);else if(192==(224&n))null===(r=e())&&s([n,r]),t((31&n)<<6|63&r);else if(224==(240&n))(null===(r=e())||null===(i=e()))&&s([n,r,i]),t((15&n)<<12|(63&r)<<6|63&i);else{if(240!=(248&n))throw RangeError("Illegal starting byte: "+n);(null===(r=e())||null===(i=e())||null===(o=e()))&&s([n,r,i,o]),t((7&n)<<18|(63&r)<<12|(63&i)<<6|63&o)}},e.UTF16toUTF8=function(e,t){for(var n,r=null;;){if(null===(n=null!==r?r:e()))break;n>=55296&&n<=57343&&null!==(r=e())&&r>=56320&&r<=57343?(t(1024*(n-55296)+r-56320+65536),r=null):t(n)}null!==r&&t(r)},e.UTF8toUTF16=function(e,t){var n=null;for("number"==typeof e&&(n=e,e=function(){return null});null!==n||null!==(n=e());)n<=65535?t(n):(n-=65536,t(55296+(n>>10)),t(n%1024+56320)),n=null},e.encodeUTF16toUTF8=function(t,n){e.UTF16toUTF8(t,function(t){e.encodeUTF8(t,n)})},e.decodeUTF8toUTF16=function(t,n){e.decodeUTF8(t,function(t){e.UTF8toUTF16(t,n)})},e.calculateCodePoint=function(e){return e<128?1:e<2048?2:e<65536?3:4},e.calculateUTF8=function(e){for(var t,n=0;null!==(t=e());)n+=t<128?1:t<2048?2:t<65536?3:4;return n},e.calculateUTF16asUTF8=function(t){var n=0,r=0;return e.UTF16toUTF8(t,function(e){++n,r+=e<128?1:e<2048?2:e<65536?3:4}),[n,r]},e}();return s.toUTF8=function(e,t){if(void 0===e&&(e=this.offset),void 0===t&&(t=this.limit),!this.noAssert){if("number"!=typeof e||e%1!=0)throw TypeError("Illegal begin: Not an integer");if(e>>>=0,"number"!=typeof t||t%1!=0)throw TypeError("Illegal end: Not an integer");if(t>>>=0,e<0||e>t||t>this.buffer.byteLength)throw RangeError("Illegal range: 0 <= "+e+" <= "+t+" <= "+this.buffer.byteLength)}var r;try{l.decodeUTF8toUTF16(function(){return e - * Released under the Apache License, Version 2.0 - * see: https://github.com/dcodeIO/protobuf.js for details - */ -!function(t,n){"function"==typeof w&&e&&e.exports?e.exports=n(rt,!0):(t.dcodeIO=t.dcodeIO||{}).ProtoBuf=n(t.dcodeIO.ByteBuffer)}(pe,function(e,t){var n={};return n.ByteBuffer=e,n.Long=e.Long||null,n.VERSION="5.0.3",n.WIRE_TYPES={},n.WIRE_TYPES.VARINT=0,n.WIRE_TYPES.BITS64=1,n.WIRE_TYPES.LDELIM=2,n.WIRE_TYPES.STARTGROUP=3,n.WIRE_TYPES.ENDGROUP=4,n.WIRE_TYPES.BITS32=5,n.PACKABLE_WIRE_TYPES=[n.WIRE_TYPES.VARINT,n.WIRE_TYPES.BITS64,n.WIRE_TYPES.BITS32],n.TYPES={int32:{name:"int32",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},uint32:{name:"uint32",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},sint32:{name:"sint32",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},int64:{name:"int64",wireType:n.WIRE_TYPES.VARINT,defaultValue:n.Long?n.Long.ZERO:void 0},uint64:{name:"uint64",wireType:n.WIRE_TYPES.VARINT,defaultValue:n.Long?n.Long.UZERO:void 0},sint64:{name:"sint64",wireType:n.WIRE_TYPES.VARINT,defaultValue:n.Long?n.Long.ZERO:void 0},bool:{name:"bool",wireType:n.WIRE_TYPES.VARINT,defaultValue:!1},double:{name:"double",wireType:n.WIRE_TYPES.BITS64,defaultValue:0},string:{name:"string",wireType:n.WIRE_TYPES.LDELIM,defaultValue:""},bytes:{name:"bytes",wireType:n.WIRE_TYPES.LDELIM,defaultValue:null},fixed32:{name:"fixed32",wireType:n.WIRE_TYPES.BITS32,defaultValue:0},sfixed32:{name:"sfixed32",wireType:n.WIRE_TYPES.BITS32,defaultValue:0},fixed64:{name:"fixed64",wireType:n.WIRE_TYPES.BITS64,defaultValue:n.Long?n.Long.UZERO:void 0},sfixed64:{name:"sfixed64",wireType:n.WIRE_TYPES.BITS64,defaultValue:n.Long?n.Long.ZERO:void 0},float:{name:"float",wireType:n.WIRE_TYPES.BITS32,defaultValue:0},enum:{name:"enum",wireType:n.WIRE_TYPES.VARINT,defaultValue:0},message:{name:"message",wireType:n.WIRE_TYPES.LDELIM,defaultValue:null},group:{name:"group",wireType:n.WIRE_TYPES.STARTGROUP,defaultValue:null}},n.MAP_KEY_TYPES=[n.TYPES.int32,n.TYPES.sint32,n.TYPES.sfixed32,n.TYPES.uint32,n.TYPES.fixed32,n.TYPES.int64,n.TYPES.sint64,n.TYPES.sfixed64,n.TYPES.uint64,n.TYPES.fixed64,n.TYPES.bool,n.TYPES.string,n.TYPES.bytes],n.ID_MIN=1,n.ID_MAX=536870911,n.convertFieldsToCamelCase=!1,n.populateAccessors=!0,n.populateDefaults=!0,n.Util=function(){var e={};return e.IS_NODE=!("object"!=typeof de||de+""!="[object process]"||de.browser),e.XHR=function(){for(var e=[function(){return new XMLHttpRequest},function(){return new ActiveXObject("Msxml2.XMLHTTP")},function(){return new ActiveXObject("Msxml3.XMLHTTP")},function(){return new ActiveXObject("Microsoft.XMLHTTP")}],t=null,n=0;n]/g,RULE:/^(?:required|optional|repeated|map)$/,TYPE:/^(?:double|float|int32|uint32|sint32|int64|uint64|sint64|fixed32|sfixed32|fixed64|sfixed64|bool|string|bytes)$/,NAME:/^[a-zA-Z_][a-zA-Z_0-9]*$/,TYPEDEF:/^[a-zA-Z][a-zA-Z_0-9]*$/,TYPEREF:/^(?:\.?[a-zA-Z_][a-zA-Z_0-9]*)(?:\.[a-zA-Z_][a-zA-Z_0-9]*)*$/,FQTYPEREF:/^(?:\.[a-zA-Z_][a-zA-Z_0-9]*)+$/,NUMBER:/^-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+|([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?)|inf|nan)$/,NUMBER_DEC:/^(?:[1-9][0-9]*|0)$/,NUMBER_HEX:/^0[xX][0-9a-fA-F]+$/,NUMBER_OCT:/^0[0-7]+$/,NUMBER_FLT:/^([0-9]*(\.[0-9]*)?([Ee][+-]?[0-9]+)?|inf|nan)$/,BOOL:/^(?:true|false)$/i,ID:/^(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,NEGID:/^\-?(?:[1-9][0-9]*|0|0[xX][0-9a-fA-F]+|0[0-7]+)$/,WHITESPACE:/\s/,STRING:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")|(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g,STRING_DQ:/(?:"([^"\\]*(?:\\.[^"\\]*)*)")/g,STRING_SQ:/(?:'([^'\\]*(?:\\.[^'\\]*)*)')/g},n.Reflect=function(t){function n(n){if("string"==typeof n&&(n=t.TYPES[n]),void 0===n.defaultValue)throw Error("default value for type "+n.name+" is not supported");return n==t.TYPES.bytes?new e(0):n.defaultValue}function r(e,n){if(e&&"number"==typeof e.low&&"number"==typeof e.high&&"boolean"==typeof e.unsigned&&e.low===e.low&&e.high===e.high)return new t.Long(e.low,e.high,void 0===n?e.unsigned:n);if("string"==typeof e)return t.Long.fromString(e,n||!1,10);if("number"==typeof e)return t.Long.fromNumber(e,n||!1);throw Error("not convertible to Long")}function i(e,n){var r=n.readVarint32(),o=7&r,s=r>>>3;switch(o){case t.WIRE_TYPES.VARINT:do{r=n.readUint8()}while(128==(128&r));break;case t.WIRE_TYPES.BITS64:n.offset+=8;break;case t.WIRE_TYPES.LDELIM:r=n.readVarint32(),n.offset+=r;break;case t.WIRE_TYPES.STARTGROUP:i(s,n);break;case t.WIRE_TYPES.ENDGROUP:if(s===e)return!1;throw Error("Illegal GROUPEND after unknown group: "+s+" ("+e+" expected)");case t.WIRE_TYPES.BITS32:n.offset+=4;break;default:throw Error("Illegal wire type in unknown group "+e+": "+o)}return!0}var o={},s=function(e,t,n){this.builder=e,this.parent=t,this.name=n,this.className},a=s.prototype;a.fqn=function(){for(var e=this.name,t=this;;){if(null==(t=t.parent))break;e=t.name+"."+e}return e},a.toString=function(e){return(e?this.className+" ":"")+this.fqn()},a.build=function(){throw Error(this.toString(!0)+" cannot be built directly")},o.T=s;var u=function(e,t,n,r,i){s.call(this,e,t,n),this.className="Namespace",this.children=[],this.options=r||{},this.syntax=i||"proto2"},c=u.prototype=Object.create(s.prototype);c.getChildren=function(e){if(null==(e=e||null))return this.children.slice();for(var t=[],n=0,r=this.children.length;n4294967295?0|n:n;case t.TYPES.uint32:case t.TYPES.fixed32:return("number"!=typeof n||n===n&&n%1!=0)&&i(typeof n,"not an integer"),n<0?n>>>0:n;case t.TYPES.int64:case t.TYPES.sint64:case t.TYPES.sfixed64:if(t.Long)try{return r(n,!1)}catch(e){i(typeof n,e.message)}else i(typeof n,"requires Long.js");case t.TYPES.uint64:case t.TYPES.fixed64:if(t.Long)try{return r(n,!0)}catch(e){i(typeof n,e.message)}else i(typeof n,"requires Long.js");case t.TYPES.bool:return"boolean"!=typeof n&&i(typeof n,"not a boolean"),n;case t.TYPES.float:case t.TYPES.double:return"number"!=typeof n&&i(typeof n,"not a number"),n;case t.TYPES.string:return"string"==typeof n||n&&n instanceof String||i(typeof n,"not a string"),""+n;case t.TYPES.bytes:return e.isByteBuffer(n)?n:e.wrap(n,"base64");case t.TYPES.enum:var s=this.resolvedType.getChildren(t.Reflect.Enum.Value);for(u=0;u4294967295||n<0)&&i(typeof n,"not in range for uint32"),n;i(n,"not a valid enum value");case t.TYPES.group:case t.TYPES.message:if(n&&"object"==typeof n||i(typeof n,"object expected"),n instanceof this.resolvedType.clazz)return n;if(n instanceof t.Builder.Message){var a={};for(var u in n)n.hasOwnProperty(u)&&(a[u]=n[u]);n=a}return new this.resolvedType.clazz(n)}throw Error("[INTERNAL] Illegal value for "+this.toString(!0)+": "+n+" (undefined type "+this.type+")")},f.calculateLength=function(n,r){if(null===r)return 0;var i;switch(this.type){case t.TYPES.int32:return r<0?e.calculateVarint64(r):e.calculateVarint32(r);case t.TYPES.uint32:return e.calculateVarint32(r);case t.TYPES.sint32:return e.calculateVarint32(e.zigZagEncode32(r));case t.TYPES.fixed32:case t.TYPES.sfixed32:case t.TYPES.float:return 4;case t.TYPES.int64:case t.TYPES.uint64:return e.calculateVarint64(r);case t.TYPES.sint64:return e.calculateVarint64(e.zigZagEncode64(r));case t.TYPES.fixed64:case t.TYPES.sfixed64:return 8;case t.TYPES.bool:return 1;case t.TYPES.enum:return e.calculateVarint32(r);case t.TYPES.double:return 8;case t.TYPES.string:return i=e.calculateUTF8Bytes(r),e.calculateVarint32(i)+i;case t.TYPES.bytes:if(r.remaining()<0)throw Error("Illegal value for "+this.toString(!0)+": "+r.remaining()+" bytes remaining");return e.calculateVarint32(r.remaining())+r.remaining();case t.TYPES.message:return i=this.resolvedType.calculate(r),e.calculateVarint32(i)+i;case t.TYPES.group:return(i=this.resolvedType.calculate(r))+e.calculateVarint32(n<<3|t.WIRE_TYPES.ENDGROUP)}throw Error("[INTERNAL] Illegal value to encode in "+this.toString(!0)+": "+r+" (unknown type)")},f.encodeValue=function(n,r,i){if(null===r)return i;switch(this.type){case t.TYPES.int32:r<0?i.writeVarint64(r):i.writeVarint32(r);break;case t.TYPES.uint32:i.writeVarint32(r);break;case t.TYPES.sint32:i.writeVarint32ZigZag(r);break;case t.TYPES.fixed32:i.writeUint32(r);break;case t.TYPES.sfixed32:i.writeInt32(r);break;case t.TYPES.int64:case t.TYPES.uint64:i.writeVarint64(r);break;case t.TYPES.sint64:i.writeVarint64ZigZag(r);break;case t.TYPES.fixed64:i.writeUint64(r);break;case t.TYPES.sfixed64:i.writeInt64(r);break;case t.TYPES.bool:"string"==typeof r?i.writeVarint32("false"===r.toLowerCase()?0:!!r):i.writeVarint32(r?1:0);break;case t.TYPES.enum:i.writeVarint32(r);break;case t.TYPES.float:i.writeFloat32(r);break;case t.TYPES.double:i.writeFloat64(r);break;case t.TYPES.string:i.writeVString(r);break;case t.TYPES.bytes:if(r.remaining()<0)throw Error("Illegal value for "+this.toString(!0)+": "+r.remaining()+" bytes remaining");var o=r.offset;i.writeVarint32(r.remaining()),i.append(r),r.offset=o;break;case t.TYPES.message:var s=(new e).LE();this.resolvedType.encode(r,s),i.writeVarint32(s.offset),i.append(s.flip());break;case t.TYPES.group:this.resolvedType.encode(r,i),i.writeVarint32(n<<3|t.WIRE_TYPES.ENDGROUP);break;default:throw Error("[INTERNAL] Illegal value to encode in "+this.toString(!0)+": "+r+" (unknown type)")}return i},f.decode=function(e,n,r){if(n!=this.type.wireType)throw Error("Unexpected wire type for element");var i,o;switch(this.type){case t.TYPES.int32:return 0|e.readVarint32();case t.TYPES.uint32:return e.readVarint32()>>>0;case t.TYPES.sint32:return 0|e.readVarint32ZigZag();case t.TYPES.fixed32:return e.readUint32()>>>0;case t.TYPES.sfixed32:return 0|e.readInt32();case t.TYPES.int64:return e.readVarint64();case t.TYPES.uint64:return e.readVarint64().toUnsigned();case t.TYPES.sint64:return e.readVarint64ZigZag();case t.TYPES.fixed64:return e.readUint64();case t.TYPES.sfixed64:return e.readInt64();case t.TYPES.bool:return!!e.readVarint32();case t.TYPES.enum:return e.readVarint32();case t.TYPES.float:return e.readFloat();case t.TYPES.double:return e.readDouble();case t.TYPES.string:return e.readVString();case t.TYPES.bytes:if(o=e.readVarint32(),e.remaining()0){var f;if(1!==arguments.length||null===r||"object"!=typeof r||!("function"!=typeof r.encode||r instanceof s)||Array.isArray(r)||r instanceof t.Map||e.isByteBuffer(r)||r instanceof ArrayBuffer||t.Long&&r instanceof t.Long)for(u=0,c=arguments.length;u0;){if(o=e.readVarint32(),s=7&o,a=o>>>3,s===t.WIRE_TYPES.ENDGROUP){if(a!==r)throw Error("Illegal group end indicator for "+this.toString(!0)+": "+a+" ("+(r?r+" expected":"not a group")+")");break}if(u=this._fieldsById[a]){if(u.repeated&&!u.options.packed)l[u.name].push(u.decode(s,e));else if(u.map){var f=u.decode(s,e);l[u.name].set(f[0],f[1])}else if(l[u.name]=u.decode(s,e),u.oneof){var h=l[u.oneof.name];null!==h&&h!==u.name&&(l[h]=null),l[u.oneof.name]=u.name}}else switch(s){case t.WIRE_TYPES.VARINT:e.readVarint32();break;case t.WIRE_TYPES.BITS32:e.offset+=4;break;case t.WIRE_TYPES.BITS64:e.offset+=8;break;case t.WIRE_TYPES.LDELIM:var d=e.readVarint32();e.offset+=d;break;case t.WIRE_TYPES.STARTGROUP:for(;i(a,e););break;default:throw Error("Illegal wire type for unknown field "+a+" in "+this.toString(!0)+"#decode: "+s)}}for(var p=0,y=this._fields.length;p0;case t.TYPES.bytes:return e.remaining()>0;case t.TYPES.enum:return 0!==e;case t.TYPES.message:return null!==e;default:return!0}},y.encode=function(n,r,i){if(null===this.type||"object"!=typeof this.type)throw Error("[INTERNAL] Unresolved type in "+this.toString(!0)+": "+this.type);if(null===n||this.repeated&&0==n.length)return r;try{if(this.repeated){var o;if(this.options.packed&&t.PACKABLE_WIRE_TYPES.indexOf(this.type.wireType)>=0){r.writeVarint32(this.id<<3|t.WIRE_TYPES.LDELIM),r.ensureCapacity(r.offset+=1);var s=r.offset;for(o=0;o1){var c=r.slice(s,r.offset);s+=u-1,r.offset=s,r.append(c)}r.writeVarint32(a,s-u)}else for(o=0;o=0){for(i+=e.calculateVarint32(this.id<<3|t.WIRE_TYPES.LDELIM),s=0,o=0;o=0&&!r){o=n.readVarint32(),o=n.offset+o;for(var s=[];n.offset0;){var c=u.readVarint32();e=7&c;var f=c>>>3;if(1===f)a=this.keyElement.decode(u,e,f);else{if(2!==f)throw Error("Unexpected tag in map field key/value submessage");i=this.element.decode(u,e,f)}}return[a,i]}return this.element.decode(n,e,this.id)},o.Message.Field=p;var m=function(e,t,n,r,i,o,s){p.call(this,e,t,n,null,r,i,o,s),this.extension};m.prototype=Object.create(p.prototype),o.Message.ExtensionField=m;var v=function(e,t,n){s.call(this,e,t,n),this.fields=[]};o.Message.OneOf=v;var g=function(e,t,n,r,i){u.call(this,e,t,n,r,i),this.className="Enum",this.object=null};g.getName=function(e,t){for(var n,r=Object.keys(e),i=0;i0;){if(t=r.pop(),!Array.isArray(t))throw Error("not a valid namespace: "+JSON.stringify(t));for(;t.length>0;){var o=t.shift();if(i.isMessage(o)){var s=new n.Message(this,this.ptr,o.name,o.options,o.isGroup,o.syntax),a={};o.oneofs&&Object.keys(o.oneofs).forEach(function(e){s.addChild(a[e]=new n.Message.OneOf(this,s,e))},this),o.fields&&o.fields.forEach(function(e){if(null!==s.getChild(0|e.id))throw Error("duplicate or invalid field id in "+s.name+": "+e.id);if(e.options&&"object"!=typeof e.options)throw Error("illegal field options in "+s.name+"#"+e.name);var t=null;if("string"==typeof e.oneof&&!(t=a[e.oneof]))throw Error("illegal oneof in "+s.name+"#"+e.name+": "+e.oneof);e=new n.Message.Field(this,s,e.rule,e.keytype,e.type,e.name,e.id,e.options,t,o.syntax),t&&t.fields.push(e),s.addChild(e)},this);var u=[];if(o.enums&&o.enums.forEach(function(e){u.push(e)}),o.messages&&o.messages.forEach(function(e){u.push(e)}),o.services&&o.services.forEach(function(e){u.push(e)}),o.extensions&&("number"==typeof o.extensions[0]?s.extensions=[o.extensions]:s.extensions=o.extensions),this.ptr.addChild(s),u.length>0){r.push(t),t=u,u=null,this.ptr=s,s=null;continue}u=null}else if(i.isEnum(o))s=new n.Enum(this,this.ptr,o.name,o.options,o.syntax),o.values.forEach(function(e){s.addChild(new n.Enum.Value(this,s,e.name,e.id))},this),this.ptr.addChild(s);else if(i.isService(o))s=new n.Service(this,this.ptr,o.name,o.options),Object.keys(o.rpc).forEach(function(e){var t=o.rpc[e];s.addChild(new n.Service.RPCMethod(this,s,e,t.request,t.response,!!t.request_stream,!!t.response_stream,t.options))},this),this.ptr.addChild(s);else{if(!i.isExtend(o))throw Error("not a valid definition: "+JSON.stringify(o));if(s=this.ptr.resolve(o.ref,!0))o.fields.forEach(function(t){if(null!==s.getChild(0|t.id))throw Error("duplicate extended field id in "+s.name+": "+t.id);if(s.extensions){var r=!1;if(s.extensions.forEach(function(e){t.id>=e[0]&&t.id<=e[1]&&(r=!0)}),!r)throw Error("illegal extended field id in "+s.name+": "+t.id+" (not within valid ranges)")}var i=t.name;this.options.convertFieldsToCamelCase&&(i=e.Util.toCamelCase(i));var o=new n.Message.ExtensionField(this,s,t.rule,t.type,this.ptr.fqn()+"."+i,t.id,t.options),a=new n.Extension(this,this.ptr,t.name,o);o.extension=a,this.ptr.addChild(a),s.addChild(o)},this);else if(!/\.?google\.protobuf\./.test(o.ref))throw Error("extended message "+o.ref+" is not defined")}o=null,s=null}t=null,this.ptr=this.ptr.parent}return this.resolved=!1,this.result=null,this},o.import=function(t,n){var i="/";if("string"==typeof n){if(e.Util.IS_NODE&&(n=it.resolve(n)),!0===this.files[n])return this.reset();this.files[n]=!0}else if("object"==typeof n){var o=n.root;e.Util.IS_NODE&&(o=it.resolve(o)),(o.indexOf("\\")>=0||n.file.indexOf("\\")>=0)&&(i="\\");var s;if(s=e.Util.IS_NODE?it.join(o,n.file):o+i+n.file,!0===this.files[s])return this.reset();this.files[s]=!0}if(t.imports&&t.imports.length>0){var a,u=!1;"object"==typeof n?(this.importRoot=n.root,u=!0,a=this.importRoot,n=n.file,(a.indexOf("\\")>=0||n.indexOf("\\")>=0)&&(i="\\")):"string"==typeof n?this.importRoot?a=this.importRoot:n.indexOf("/")>=0?""===(a=n.replace(/\/[^\/]*$/,""))&&(a="/"):n.indexOf("\\")>=0?(a=n.replace(/\\[^\\]*$/,""),i="\\"):a=".":a=null;for(var c=0;c=0;--r){var i=this.tryEntries[r],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var s=g.call(i,"catchLoc"),a=g.call(i,"finallyLoc");if(s&&a){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&g.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),h(n),I}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;h(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:p(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=m),I}}}(function(){return this||"object"==typeof self&&self}()||Function("return this")())}),Dt=function(){return this||"object"==typeof self&&self}()||Function("return this")(),Ft=Dt.regeneratorRuntime&&Object.getOwnPropertyNames(Dt).indexOf("regeneratorRuntime")>=0,Mt=Ft&&Dt.regeneratorRuntime;Dt.regeneratorRuntime=void 0;var qt=Ut;if(Ft)Dt.regeneratorRuntime=Mt;else try{delete Dt.regeneratorRuntime}catch(e){Dt.regeneratorRuntime=void 0}var Bt=qt,Vt=1e3,Yt=60*Vt,Wt=60*Yt,zt=24*Wt,Gt=7*zt,Ht=365.25*zt,Jt=function(e,t){t=t||{};var n=typeof e;if("string"===n&&e.length>0)return C(e);if("number"===n&&!1===isNaN(e))return t.long?N(e):I(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))},Qt=R,Kt=E(function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function r(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type&&!window.process.__nwjs)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))}function i(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),this.useColors){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,function(e){"%%"!==e&&(r++,"%c"===e&&(i=r))}),t.splice(i,0,n)}}function o(){var e;return"object"===("undefined"==typeof console?"undefined":n(console))&&console.log&&(e=console).log.apply(e,arguments)}function s(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}}function a(){var e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&void 0!==de&&"env"in de&&(e=de.env.DEBUG),e}t.log=o,t.formatArgs=i,t.save=s,t.load=a,t.useColors=r,t.storage=function(){try{return localStorage}catch(e){}}(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.exports=Qt(t),e.exports.formatters.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}),$t=(Kt.log,Kt.formatArgs,Kt.save,Kt.load,Kt.useColors,Kt.storage,Kt.colors,E(function(e){function t(e){if(e)return n(e)}function n(e){for(var n in t.prototype)e[n]=t.prototype[n];return e}e.exports=t,t.prototype.on=t.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},t.prototype.once=function(e,t){function n(){this.off(e,n),t.apply(this,arguments)}return n.fn=t,this.on(e,n),this},t.prototype.off=t.prototype.removeListener=t.prototype.removeAllListeners=t.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n=this._callbacks["$"+e];if(!n)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var r,i=0;i=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&t.status>=500&&501!=t.status)return!0;if(e){if(e.code&&~en.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},P.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},P.prototype.then=function(e,t){var n=this;if(!this._fullfilledPromise){var r=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(e,t){r.on("error",t),r.on("abort",function(){var e=new Error("Aborted");e.code="ABORTED",e.status=n.status,e.method=n.method,e.url=n.url,t(e)}),r.end(function(n,r){n?t(n):e(r)})})}return this._fullfilledPromise.then(e,t)},P.prototype.catch=function(e){return this.then(void 0,e)},P.prototype.use=function(e){return e(this),this},P.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},P.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):e.status>=200&&e.status<300)},P.prototype.get=function(e){return this._header[e.toLowerCase()]},P.prototype.getHeader=P.prototype.get,P.prototype.set=function(e,t){if(Xt(e)){for(var n in e)this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},P.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},P.prototype.field=function(e,t){if(null===e||void 0===e)throw new Error(".field(name, val) name can not be empty");if(this._data)throw new Error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()");if(Xt(e)){for(var n in e)this.field(n,e[n]);return this}if(Array.isArray(t)){for(var r in t)this.field(e,t[r]);return this}if(null===t||void 0===t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=""+t),this._getFormData().append(e,t),this},P.prototype.abort=function(){return this._aborted?this:(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort"),this)},P.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic ".concat(r("".concat(e,":").concat(t))));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer ".concat(e))}return this},P.prototype.withCredentials=function(e){return void 0==e&&(e=!0),this._withCredentials=e,this},P.prototype.redirects=function(e){return this._maxRedirects=e,this},P.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},P.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},P.prototype.send=function(e){var t=Xt(e),n=this._header["content-type"];if(this._formData)throw new Error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()");if(t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&Xt(this._data))for(var r in e)this._data[r]=e[r];else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"==n?this._data?"".concat(this._data,"&").concat(e):e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)?this:(n||this.type("json"),this)},P.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},P.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(this.url.indexOf("?")>=0?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(t>=0){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},P.prototype._appendQueryString=function(){console.trace("Unsupported")},P.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error("".concat(e+t,"ms exceeded"));r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.abort(),this.callback(r)}},P.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))};var tn=function(e){return e.split(/ *; */).shift()},nn=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),r=n.shift(),i=n.shift();return r&&i&&(e[r]=i),e},{})},rn=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),r=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=r,e},{})},on=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e},sn={type:tn,params:nn,parseLinks:rn,cleanHeader:on},an=L;L.prototype.get=function(e){return this.header[e.toLowerCase()]},L.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=sn.type(t);var n=sn.params(t);for(var r in n)this[r]=n[r];this.links={};try{e.link&&(this.links=sn.parseLinks(e.link))}catch(e){}},L.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e},["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach(function(e){D.prototype[e]=function(){for(var t=arguments.length,n=new Array(t),r=0;r=2&&e._responseTimeoutTimer&&clearTimeout(e._responseTimeoutTimer),4==n){var r;try{r=t.status}catch(e){r=0}if(!r){if(e.timedout||e._aborted)return;return e.crossDomainError()}e.emit("end")}};var r=function(t,n){n.total>0&&(n.percent=n.loaded/n.total*100),n.direction=t,e.emit("progress",n)};if(this.hasListeners("progress"))try{t.onprogress=r.bind(null,"download"),t.upload&&(t.upload.onprogress=r.bind(null,"upload"))}catch(e){}try{this.username&&this.password?t.open(this.method,this.url,!0,this.username,this.password):t.open(this.method,this.url,!0)}catch(e){return this.callback(e)}if(this._withCredentials&&(t.withCredentials=!0),!this._formData&&"GET"!=this.method&&"HEAD"!=this.method&&"string"!=typeof n&&!this._isHost(n)){var i=this._header["content-type"],o=this._serializer||d.serialize[i?i.split(";")[0]:""];!o&&u(i)&&(o=d.serialize["application/json"]),o&&(n=o(n))}for(var s in this.header)null!=this.header[s]&&this.header.hasOwnProperty(s)&&t.setRequestHeader(s,this.header[s]);this._responseType&&(t.responseType=this._responseType),this.emit("request",this),t.send(void 0!==n?n:null)},d.agent=function(){return new un},["GET","POST","OPTIONS","PATCH","PUT","DELETE"].forEach(function(e){un.prototype[e.toLowerCase()]=function(t,n){var r=new d.Request(e,t);return this._setDefaults(r),n&&r.end(n),r}}),un.prototype.del=un.prototype.delete,d.get=function(e,t,n){var r=d("GET",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},d.head=function(e,t,n){var r=d("HEAD",e);return"function"==typeof t&&(n=t,t=null),t&&r.query(t),n&&r.end(n),r},d.options=function(e,t,n){var r=d("OPTIONS",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},d.del=f,d.delete=f,d.patch=function(e,t,n){var r=d("PATCH",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},d.post=function(e,t,n){var r=d("POST",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r},d.put=function(e,t,n){var r=d("PUT",e);return"function"==typeof t&&(n=t,t=null),t&&r.send(t),n&&r.end(n),r}}),ln=(cn.Request,F),fn=Math.floor,hn=Math.random,dn=M,pn=q,yn=B,mn=V,vn=Y,gn=W,_n="object"==typeof pe&&pe&&pe.Object===Object&&pe,bn=_n,wn="object"==typeof self&&self&&self.Object===Object&&self,En=bn||wn||Function("return this")(),Tn=En,Sn=Tn.Symbol,On=Sn,An=Object.prototype,Cn=An.hasOwnProperty,In=An.toString,Nn=On?On.toStringTag:void 0,xn=z,Rn=Object.prototype,kn=Rn.toString,Pn=G,jn="[object Null]",Ln="[object Undefined]",Un=On?On.toStringTag:void 0,Dn=H,Fn=J,Mn="[object Arguments]",qn=Q,Bn=Object.prototype,Vn=Bn.hasOwnProperty,Yn=Bn.propertyIsEnumerable,Wn=qn(function(){return arguments}())?qn:function(e){return Fn(e)&&Vn.call(e,"callee")&&!Yn.call(e,"callee")},zn=Wn,Gn=Array.isArray,Hn=Gn,Jn=K,Qn=E(function(e,t){var n=t&&!t.nodeType&&t,r=n&&!0&&e&&!e.nodeType&&e,i=r&&r.exports===n,o=i?Tn.Buffer:void 0,s=o?o.isBuffer:void 0,a=s||Jn;e.exports=a}),Kn=9007199254740991,$n=/^(?:0|[1-9]\d*)$/,Xn=$,Zn=9007199254740991,er=X,tr={};tr["[object Float32Array]"]=tr["[object Float64Array]"]=tr["[object Int8Array]"]=tr["[object Int16Array]"]=tr["[object Int32Array]"]=tr["[object Uint8Array]"]=tr["[object Uint8ClampedArray]"]=tr["[object Uint16Array]"]=tr["[object Uint32Array]"]=!0,tr["[object Arguments]"]=tr["[object Array]"]=tr["[object ArrayBuffer]"]=tr["[object Boolean]"]=tr["[object DataView]"]=tr["[object Date]"]=tr["[object Error]"]=tr["[object Function]"]=tr["[object Map]"]=tr["[object Number]"]=tr["[object Object]"]=tr["[object RegExp]"]=tr["[object Set]"]=tr["[object String]"]=tr["[object WeakMap]"]=!1;var nr=Z,rr=ee,ir=E(function(e,t){var n=t&&!t.nodeType&&t,r=n&&!0&&e&&!e.nodeType&&e,i=r&&r.exports===n,o=i&&bn.process,s=function(){try{var e=r&&r.require&&r.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=s}),or=ir&&ir.isTypedArray,sr=or?rr(or):nr,ar=sr,ur=Object.prototype,cr=ur.hasOwnProperty,lr=te,fr=Object.prototype,hr=ne,dr=re,pr=dr(Object.keys,Object),yr=pr,mr=Object.prototype,vr=mr.hasOwnProperty,gr=ie,_r=oe,br="[object AsyncFunction]",wr="[object Function]",Er="[object GeneratorFunction]",Tr="[object Proxy]",Sr=se,Or=ae,Ar=ue,Cr=ce,Ir=le,Nr=fe,xr=E(function(e,t){!function(){var n={VERSION:"2.4.0",Result:{SUCCEEDED:1,NOTRANSITION:2,CANCELLED:3,PENDING:4},Error:{INVALID_TRANSITION:100,PENDING_TRANSITION:200,INVALID_CALLBACK:300},WILDCARD:"*",ASYNC:"async",create:function(e,t){var r="string"==typeof e.initial?{state:e.initial}:e.initial,i=e.terminal||e.final,o=t||e.target||{},s=e.events||[],a=e.callbacks||{},u={},c={},l=function(e){var t=Array.isArray(e.from)?e.from:e.from?[e.from]:[n.WILDCARD];u[e.name]=u[e.name]||{};for(var r=0;r=0:this.current===e},o.can=function(e){return!this.transition&&void 0!==u[e]&&(u[e].hasOwnProperty(this.current)||u[e].hasOwnProperty(n.WILDCARD))},o.cannot=function(e){return!this.can(e)},o.transitions=function(){return(c[this.current]||[]).concat(c[n.WILDCARD]||[])},o.isFinished=function(){return this.is(i)},o.error=e.error||function(e,t,n,r,i,o,s){throw s||o},o.states=function(){return Object.keys(c).sort()},r&&!r.defer&&o[r.event](),o},doCallback:function(e,t,r,i,o,s){if(t)try{return t.apply(e,[r,i,o].concat(s))}catch(t){return e.error(r,i,o,s,n.Error.INVALID_CALLBACK,"an exception occurred in a caller-provided callback function",t)}},beforeAnyEvent:function(e,t,r,i,o){return n.doCallback(e,e.onbeforeevent,t,r,i,o)},afterAnyEvent:function(e,t,r,i,o){return n.doCallback(e,e.onafterevent||e.onevent,t,r,i,o)},leaveAnyState:function(e,t,r,i,o){return n.doCallback(e,e.onleavestate,t,r,i,o)},enterAnyState:function(e,t,r,i,o){return n.doCallback(e,e.onenterstate||e.onstate,t,r,i,o)},changeState:function(e,t,r,i,o){return n.doCallback(e,e.onchangestate,t,r,i,o)},beforeThisEvent:function(e,t,r,i,o){return n.doCallback(e,e["onbefore"+t],t,r,i,o)},afterThisEvent:function(e,t,r,i,o){return n.doCallback(e,e["onafter"+t]||e["on"+t],t,r,i,o)},leaveThisState:function(e,t,r,i,o){return n.doCallback(e,e["onleave"+r],t,r,i,o)},enterThisState:function(e,t,r,i,o){return n.doCallback(e,e["onenter"+i]||e["on"+i],t,r,i,o)},beforeEvent:function(e,t,r,i,o){if(!1===n.beforeThisEvent(e,t,r,i,o)||!1===n.beforeAnyEvent(e,t,r,i,o))return!1},afterEvent:function(e,t,r,i,o){n.afterThisEvent(e,t,r,i,o),n.afterAnyEvent(e,t,r,i,o)},leaveState:function(e,t,r,i,o){var s=n.leaveThisState(e,t,r,i,o),a=n.leaveAnyState(e,t,r,i,o);return!1!==s&&!1!==a&&(n.ASYNC===s||n.ASYNC===a?n.ASYNC:void 0)},enterState:function(e,t,r,i,o){n.enterThisState(e,t,r,i,o),n.enterAnyState(e,t,r,i,o)},buildEvent:function(e,t){return function(){var r=this.current,i=t[r]||(t[n.WILDCARD]!=n.WILDCARD?t[n.WILDCARD]:r)||r,o=Array.prototype.slice.call(arguments);if(this.transition)return this.error(e,r,i,o,n.Error.PENDING_TRANSITION,"event "+e+" inappropriate because previous transition did not complete");if(this.cannot(e))return this.error(e,r,i,o,n.Error.INVALID_TRANSITION,"event "+e+" inappropriate in current state "+this.current);if(!1===n.beforeEvent(this,e,r,i,o))return n.Result.CANCELLED;if(r===i)return n.afterEvent(this,e,r,i,o),n.Result.NOTRANSITION;var s=this;this.transition=function(){return s.transition=null,s.current=i,n.enterState(s,e,r,i,o),n.changeState(s,e,r,i,o),n.afterEvent(s,e,r,i,o),n.Result.SUCCEEDED},this.transition.cancel=function(){s.transition=null,n.afterEvent(s,e,r,i,o)};var a=n.leaveState(this,e,r,i,o);return!1===a?(this.transition=null,n.Result.CANCELLED):n.ASYNC===a?n.Result.PENDING:this.transition?this.transition():void 0}}};e.exports&&(t=e.exports=n),t.StateMachine=n}()}),Rr=(xr.StateMachine,dr(Object.getPrototypeOf,Object)),kr=Rr,Pr="[object Object]",jr=Function.prototype,Lr=Object.prototype,Ur=jr.toString,Dr=Lr.hasOwnProperty,Fr=Ur.call(Object),Mr=he,qr=void 0!==e?e:"undefined"!=typeof window?window:{},Br=Symbol("expired"),Vr=Kt("LC:Expirable"),Yr=function(){function e(e,t){this.originalValue=e,"number"==typeof t&&(this.expiredAt=Date.now()+t)}return s(e,[{key:"value",get:function(){var e=this.expiredAt&&this.expiredAt<=Date.now();return e&&Vr("expired: ".concat(this.originalValue)),e?Br:this.originalValue}}]),e}();Yr.EXPIRED=Br;var Wr,zr=Kt("LC:Cache"),Gr=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"anonymous";this.name=e,this._map={}}var t=e.prototype;return t.get=function(e){var t=this._map[e];if(t){var n=t.value;if(n!==Yr.EXPIRED)return zr("[%s] hit: %s",this.name,e),n;delete this._map[e]}return zr("[".concat(this.name,"] missed: ").concat(e)),null},t.set=function(e,t,n){zr("[%s] set: %s %d",this.name,e,n),this._map[e]=new Yr(t,n)},e}(),Hr={enable:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"LC*";return Kt.enable(e)},disable:Kt.disable},Jr=function e(t){var n=new Promise(t[0]);return 1===t.length?n:n.catch(function(){return e(t.slice(1))})},Qr=function(e){return function(t){return e(t),t}},Kr=(qr.navigator&&qr.navigator.userAgent&&qr.navigator.userAgent.indexOf("MSIE 10."),new WeakMap),$r=function(e){return Kr.has(e)||Kr.set(e,{}),Kr.get(e)},Xr=function e(t,n){if(!Mr(t))return t;var r=Object.assign({},t);for(var i in r)if({}.hasOwnProperty.call(r,i)){var o=r[i];o===n?delete r[i]:r[i]=e(o,n)}return r},Zr=function(e){return Xr(e,null)},ei=function(e){return Zr(JSON.parse(JSON.stringify(e)))},ti=function(e){return Array.isArray(e)?e:void 0===e||null===e?[]:[e]},ni="object"===("undefined"==typeof wx?"undefined":n(wx))&&"function"==typeof wx.connectSocket,ri=Kt("LC:WebSocketPlus"),ii=function(e){return Math.min(1e3*Math.pow(2,e),3e5)},oi=function(e,t,n){return Object.assign({},n,{value:function(){var e;this.checkConnectionAvailability(t);for(var r=arguments.length,i=new Array(r),o=0;o3?r-3:0),o=3;o ").concat(n," %o"),i)},n.onopen=function(){this.emit("open")},n.onconnected=function(){this._startConnectionKeeper()},n.onleaveconnected=function(e,t,n){this._stopConnectionKeeper(),this._destroyWs(),"offline"!==n&&"disconnected"!==n||this.emit("disconnect")},n.onpause=function(){this.emit("offline")},n.onbeforeresume=function(){this.emit("online")},n.onreconnect=function(){this.emit("reconnect")},n.ondisconnected=function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=ii.call(null,i);ri("schedule attempt=".concat(i," delay=").concat(o)),this.emit("schedule",i,o),this.__scheduledRetry&&clearTimeout(this.__scheduledRetry),this.__scheduledRetry=setTimeout(function(){r.is("disconnected")&&r.retry(i)},o)},n.onretry=function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;this.emit("retry",i),this._open().then(function(){return r.can("reconnect")?r.reconnect():r._destroyWs()},function(){return r.can("fail")&&r.fail(i+1)})},n.onerror=function(e,t,n,r){this.emit("error",r)},n.onclose=function(){qr.removeEventListener&&(this.__pause&&qr.removeEventListener("offline",this.__pause),this.__resume&&qr.removeEventListener("online",this.__resume))},n.checkConnectionAvailability=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"API";if(!this.is("connected")){var t=this.current;throw console.warn("".concat(e," should not be called when the connection is ").concat(t)),(this.is("disconnected")||this.is("reconnecting"))&&console.warn("disconnect and reconnect event should be handled to avoid such calls."),new Error("Connection unavailable")}},n._ping=function(){ri("ping");try{this.ping()}catch(e){console.warn("websocket ping error: ".concat(e.message))}},n.ping=function(){this._ws.ping?this._ws.ping():console.warn("The WebSocket implement does not support sending ping frame.\n Override ping method to use application defined ping/pong mechanism.")},n._postponeTimeoutTimer=function(){var e=this;ri("_postponeTimeoutTimer"),this._clearTimeoutTimers(),this._timeoutTimer=setTimeout(function(){ri("timeout"),e.disconnect()},38e4)},n._clearTimeoutTimers=function(){this._timeoutTimer&&clearTimeout(this._timeoutTimer)},n._startConnectionKeeper=function(){ri("start connection keeper"),this._heartbeatTimer=setInterval(this._ping.bind(this),18e4);var e=this._ws.addListener||this._ws.addEventListener;if(!e)return void ri("connection keeper disabled due to the lack of #addEventListener.");e.call(this._ws,"message",this.__postponeTimeoutTimer),e.call(this._ws,"pong",this.__postponeTimeoutTimer),this._postponeTimeoutTimer()},n._stopConnectionKeeper=function(){ri("stop connection keeper");var e=this._ws.removeListener||this._ws.removeEventListener;e&&(e.call(this._ws,"message",this.__postponeTimeoutTimer),e.call(this._ws,"pong",this.__postponeTimeoutTimer),this._clearTimeoutTimers()),this._heartbeatTimer&&clearInterval(this._heartbeatTimer)},n._handleClose=function(e){ri("ws closed [".concat(e.code,"] ").concat(e.reason)),this.isFinished()||this.handleClose(e)},n.handleClose=function(){this.disconnect()},n.send=function(e){ri("send",e),this._ws.send(e)},n._handleMessage=function(e){ri("message",e.data),this.handleMessage(e.data)},n.handleMessage=function(e){this.emit("message",e)},t}(Lt),b(Wr.prototype,"_ping",[oi],Object.getOwnPropertyDescriptor(Wr.prototype,"_ping"),Wr.prototype),b(Wr.prototype,"send",[oi],Object.getOwnPropertyDescriptor(Wr.prototype,"send"),Wr.prototype),Wr);xr.create({target:si.prototype,initial:{state:"initialized",event:"init",defer:!0},terminal:"closed",events:[{name:"open",from:"initialized",to:"connected"},{name:"disconnect",from:"connected",to:"disconnected"},{name:"retry",from:"disconnected",to:"reconnecting"},{name:"fail",from:"reconnecting",to:"disconnected"},{name:"reconnect",from:"reconnecting",to:"connected"},{name:"pause",from:["connected","disconnected","reconnecting"],to:"offline"},{},{name:"resume",from:"offline",to:"disconnected"},{name:"close",from:["connected","disconnected","reconnecting","offline"],to:"closed"},{name:"throw",from:"*",to:"error"}]});var ai=Object.freeze({1e3:{name:"CLOSE_NORMAL"},1006:{name:"CLOSE_ABNORMAL"},4100:{name:"APP_NOT_AVAILABLE",message:"App not exists or realtime message service is disabled."},4102:{name:"SIGNATURE_FAILED",message:"Login signature mismatch."},4103:{name:"INVALID_LOGIN",message:"Malformed clientId."},4105:{name:"SESSION_REQUIRED",message:"Message sent before session opened."},4107:{name:"READ_TIMEOUT"},4108:{name:"LOGIN_TIMEOUT"},4109:{name:"FRAME_TOO_LONG"},4110:{name:"INVALID_ORIGIN",message:"Access denied by domain whitelist."},4111:{name:"SESSION_CONFLICT"},4112:{name:"SESSION_TOKEN_EXPIRED"},4113:{name:"APP_QUOTA_EXCEEDED",message:"The daily active users limit exceeded."},4116:{name:"MESSAGE_SENT_QUOTA_EXCEEDED",message:"Command sent too fast."},4200:{name:"INTERNAL_ERROR",message:"Internal error, please contact LeanCloud for support."},4301:{name:"CONVERSATION_API_FAILED",message:"Upstream Conversatoin API failed, see error.detail for details."},4302:{name:"CONVERSATION_SIGNATURE_FAILED",message:"Conversation action signature mismatch."},4303:{name:"CONVERSATION_NOT_FOUND"},4304:{name:"CONVERSATION_FULL"},4305:{name:"CONVERSATION_REJECTED_BY_APP",message:"Conversation action rejected by hook."},4306:{name:"CONVERSATION_UPDATE_FAILED"},4307:{name:"CONVERSATION_READ_ONLY"},4308:{name:"CONVERSATION_NOT_ALLOWED"},4309:{name:"CONVERSATION_UPDATE_REJECTED",message:"Conversation update rejected because the client is not a member."},4310:{name:"CONVERSATION_QUERY_FAILED",message:"Conversation query failed because it is too expansive."},4311:{name:"CONVERSATION_LOG_FAILED"},4312:{name:"CONVERSATION_LOG_REJECTED",message:"Message query rejected because the client is not a member of the conversation."},4313:{name:"SYSTEM_CONVERSATION_REQUIRED"},4314:{name:"NORMAL_CONVERSATION_REQUIRED"},4315:{name:"CONVERSATION_BLACKLISTED",message:"Blacklisted in the conversation."},4316:{name:"TRANSIENT_CONVERSATION_REQUIRED"},4317:{name:"CONVERSATION_MEMBERSHIP_REQUIRED"},4318:{name:"CONVERSATION_API_QUOTA_EXCEEDED",message:"LeanCloud API quota exceeded. You may upgrade your plan."},4323:{name:"TEMPORARY_CONVERSATION_EXPIRED",message:"Temporary conversation expired or does not exist."},4401:{name:"INVALID_MESSAGING_TARGET",message:"Conversation does not exist or client is not a member."},4402:{name:"MESSAGE_REJECTED_BY_APP",message:"Message rejected by hook."},4403:{name:"MESSAGE_OWNERSHIP_REQUIRED"},4404:{name:"MESSAGE_NOT_FOUND"},4405:{name:"MESSAGE_UPDATE_REJECTED_BY_APP",message:"Message update rejected by hook."},4406:{name:"MESSAGE_EDIT_DISABLED"},4407:{name:"MESSAGE_RECALL_DISABLED"},5130:{name:"OWNER_PROMOTION_NOT_ALLOWED",message:"Updating a member's role to owner is not allowed."}}),ui=Object.freeze(Object.keys(ai).reduce(function(e,t){return Object.assign(e,a({},ai[t].name,Number(t)))},{})),ci=function(e){var t=e.code,n=e.reason,r=e.appCode,i=e.detail,o=e.error,s=n||i||o,a=n;!s&&ai[t]&&(a=ai[t].name,s=ai[t].message||a),s||(s="Unknow Error: ".concat(t));var u=new Error(s);return Object.assign(u,{code:t,appCode:r,detail:i,name:a})},li=Kt("LC:Connection"),fi=Symbol("expire"),hi=function(e){function t(t,n){var r,i=n.format,o=n.version;li("initializing Connection");var s="lc.".concat(i,".").concat(o);return r=ni?e.call(this,t().then(function(e){return e.map(function(e){return"".concat(e).concat(-1===e.indexOf("?")?"?":"&","subprotocol=").concat(encodeURIComponent(s))})}))||this:e.call(this,t,s)||this,r._protocalFormat=i,r._commands={},r._serialId=0,h(r)}c(t,e);var n=t.prototype;return n.send=function(){function t(e){return n.apply(this,arguments)}var n=i(Bt.mark(function t(n){var r,i,o,s=this,a=arguments;return Bt.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:if(r=!(a.length>1&&void 0!==a[1])||a[1],r&&(this._serialId+=1,i=this._serialId,n.i=i),li.enabled&&li("↑ %O sent",ei(n)),"proto2base64"===this._protocalFormat?o=n.toBase64():n.toArrayBuffer&&(o=n.toArrayBuffer()),o){t.next=6;break}throw new TypeError("".concat(n," is not a GenericCommand"));case 6:if(e.prototype.send.call(this,o),r){t.next=9;break}return t.abrupt("return",void 0);case 9:return t.abrupt("return",new Promise(function(e,t){s._commands[i]={resolve:e,reject:t,timeout:setTimeout(function(){s._commands[i]&&(li.enabled&&li("✗ %O timeout",ei(n)),t(ci({error:"Command Timeout [cmd:".concat(n.cmd," op:").concat(n.op,"]"),name:"COMMAND_TIMEOUT"})),delete s._commands[i])},2e4)}}));case 10:case"end":return t.stop()}},t,this)}));return t}(),n.handleMessage=function(e){var t;try{t=At.decode(e),li.enabled&&li("↓ %O received",ei(t))}catch(t){return void console.warn("Decode message failed:",t.message,e)}var n=t.i;if(n)this._commands[n]?(clearTimeout(this._commands[n].timeout),t.cmd===Rt.error?this._commands[n].reject(ci(t.errorMessage)):this._commands[n].resolve(t),delete this._commands[n]):console.warn("Unexpected command received with serialId [".concat(n,"],\n which have timed out or never been requested."));else switch(t.cmd){case Rt.error:return void this.emit("error",ci(t.errorMessage));case Rt.goaway:return void this.emit(fi);default:this.emit("message",t)}},n.ping=function(){return this.send(new At({cmd:Rt.echo})).catch(function(e){return li("ping failed:",e)})},t}(si),di=function(e,t){e&&e.forEach(function(e){try{e(t)}catch(t){throw e._pluginName&&(t.message+="[".concat(e._pluginName,"]")),t}})},pi=function(e,t){return ti(e).reduce(function(e,n){return e.then(function(e){return!1!==e&&n.apply(void 0,p(t))}).catch(function(e){throw n._pluginName&&(e.message+="[".concat(n._pluginName,"]")),e})},Promise.resolve(!0))},yi="5.0.0-alpha.3",mi=Kt("LC:Realtime"),vi=Kt("LC:request"),gi=new Gr("push-router"),_i=function(e){function t(n){var r,i=n.plugins,o=f(n,["plugins"]);if(mi("initializing Realtime %s %O",yi,o),r=e.call(this)||this,"string"!=typeof o.appId)throw new TypeError("appId [".concat(o.appId,"] is not a string"));if("string"!=typeof o.appKey)throw new TypeError("appKey [".concat(o.appKey,"] is not a string"));r._options=Object.assign({appId:void 0,appKey:void 0,pushOfflineMessages:!1,noBinary:!1,ssl:!0,RTMServerName:de.env.RTM_SERVER_NAME},o),r._cache=new Gr("endpoints");var s=$r(h(r));s.clients=new Set,s.pendingClients=new Set;var a=[].concat(p(ti(t.__preRegisteredPlugins)),p(ti(i)));return mi("Using plugins %o",a.map(function(e){return e.name})),r._plugins=a.reduce(function(e,t){for(var n in t)({}).hasOwnProperty.call(t,n)&&"name"!==n&&(t.name&&ti(t[n]).forEach(function(e){e._pluginName=t.name}),e[n]=ti(e[n]).concat(t[n]));return e},{}),di(r._plugins.onRealtimeCreate,h(r)),r}c(t,e);var n=t.prototype;return n._request=function(){function e(e){return t.apply(this,arguments)}var t=i(Bt.mark(function e(t){var n,r,i,o,s,a,c,l,f,h,d,p,y,m;return Bt.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.method,r=t.version,i=void 0===r?"1.1":r,o=t.path,s=t.query,a=t.headers,c=t.data,l=void 0===c?{}:c,f=this._options,h=f.appId,d=f.server,e.next=4,this.constructor._getServerUrls({appId:h,server:d});case 4:return p=e.sent,y=p.api,m="".concat(y,"/").concat(i).concat(o),vi("Req: %O %O %O",n,m,{query:s,headers:a,data:l}),e.abrupt("return",cn(n,m).set(u({"X-LC-Id":this._options.appId,"X-LC-Key":this._options.appKey},a)).query(s).send(l).then(function(e){return vi("Res: %O %O %O",m,e.status,e.body),e.body},function(e){if(vi("Error: %O %O %O",m,e.response.status,e.response.body),e.response&&e.response.body&&e.response.body.code)throw ci(e.response.body);throw e}));case 9:case"end":return e.stop()}},e,this)}));return e}(),n._open=function(){var e=this;if(this._openPromise)return this._openPromise;var t="protobuf2";this._options.noBinary&&(t="proto2base64");var n=3;this._options.pushOfflineMessages&&(n=1);var r={format:t,version:n};return this._openPromise=new Promise(function(t,n){mi("No connection established, create a new one.");var o=new hi(function(){return e._getRTMServers(e._options)},r);o.on("open",function(){return t(o)}).on("error",n).on(fi,i(Bt.mark(function t(){return Bt.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return mi("Connection expired. Refresh endpoints."),e._cache.set("endpoints",null,0),t.next=4,e._getRTMServers(e._options);case 4:o.urls=t.sent,o.disconnect();case 6:case"end":return t.stop()}},t,this)}))).on("message",e._dispatchCommand.bind(e)),["disconnect","reconnect","retry","schedule","offline","online"].forEach(function(t){return o.on(t,function(){for(var n=arguments.length,r=new Array(n),i=0;i1?n-1:0),i=1;i { - console.log("query_bingding"); - let stats = [...initialStats] - const remove = value => { - console.log("remove"); - stats = stats.filter(target => target.id !== value.id) - return onChange(stats) - } - const upsert = value => { - console.log("upsert"); - let existed = false; - stats = stats.map(target => (target.id === value.id ? ((existed = true), value) : target)) - if (!existed) stats = [...stats,value] - return onChange(stats) - } - subscription.on('create', upsert) - subscription.on('update', upsert) - subscription.on('enter', upsert) - subscription.on('leave', remove) - subscription.on('delete', remove) - return () => { - subscription.off('create', upsert) - subscription.off('update', upsert) - subscription.off('enter', upsert) - subscription.off('leave', remove) - subscription.off('delete', remove) - } -} diff --git a/miniprogram/.gitignore b/miniprogram/.gitignore new file mode 100644 index 0000000..fd5160b --- /dev/null +++ b/miniprogram/.gitignore @@ -0,0 +1,23 @@ +# Windows +[Dd]esktop.ini +Thumbs.db +$RECYCLE.BIN/ + +# macOS +.DS_Store +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +project.config.json +app.js + +towxml +we-cropper +components/weui + +.idea +api_docs + +# Node.js +node_modules/ diff --git a/app.json b/miniprogram/app.json similarity index 93% rename from app.json rename to miniprogram/app.json index aa148fd..4a5854c 100644 --- a/app.json +++ b/miniprogram/app.json @@ -9,12 +9,10 @@ "pages/courses/courses", "pages/exercise/exercise", "pages/setting/setting", - "pages/classroom/classroom", "pages/about/about", "pages/test/test", "pages/course/course", "pages/files/files", - "pages/mark_detail/mark_detail", "pages/reset_password/reset_password", "pages/image_crop/image_crop", "pages/question_setting/question_setting", @@ -23,6 +21,7 @@ "pages/exercise_result/exercise_result", "pages/feedback/feedback", "pages/agreement/agreement", + "pages/code_edit/code_edit", "pages/contact/contact" ], "window": { @@ -61,5 +60,8 @@ } ] }, - "sitemapLocation": "sitemap.json" + "sitemapLocation": "sitemap.json", + "navigateToMiniProgramAppIdList": [ + "wx8c7028f9dcd29c99" + ] } \ No newline at end of file diff --git a/app.wxss b/miniprogram/app.wxss similarity index 100% rename from app.wxss rename to miniprogram/app.wxss diff --git a/components/add-tips/README.md b/miniprogram/components/add-tips/README.md similarity index 100% rename from components/add-tips/README.md rename to miniprogram/components/add-tips/README.md diff --git a/components/add-tips/add-tips.js b/miniprogram/components/add-tips/add-tips.js similarity index 100% rename from components/add-tips/add-tips.js rename to miniprogram/components/add-tips/add-tips.js diff --git a/components/add-tips/add-tips.json b/miniprogram/components/add-tips/add-tips.json similarity index 100% rename from components/add-tips/add-tips.json rename to miniprogram/components/add-tips/add-tips.json diff --git a/components/add-tips/add-tips.wxml b/miniprogram/components/add-tips/add-tips.wxml similarity index 100% rename from components/add-tips/add-tips.wxml rename to miniprogram/components/add-tips/add-tips.wxml diff --git a/components/add-tips/add-tips.wxss b/miniprogram/components/add-tips/add-tips.wxss similarity index 98% rename from components/add-tips/add-tips.wxss rename to miniprogram/components/add-tips/add-tips.wxss index a8d89f8..3bb2fbe 100644 --- a/components/add-tips/add-tips.wxss +++ b/miniprogram/components/add-tips/add-tips.wxss @@ -13,7 +13,7 @@ .arrow { width: 0; height: 0; - margin-right: 120rpx; + margin-right: 140rpx; border-width: 20rpx; border-style: solid; border-color: transparent transparent #fbbd08 transparent; diff --git a/components/add-tips/assets/fav-1.jpg b/miniprogram/components/add-tips/assets/fav-1.jpg similarity index 100% rename from components/add-tips/assets/fav-1.jpg rename to miniprogram/components/add-tips/assets/fav-1.jpg diff --git a/components/add-tips/assets/fav-2.jpg b/miniprogram/components/add-tips/assets/fav-2.jpg similarity index 100% rename from components/add-tips/assets/fav-2.jpg rename to miniprogram/components/add-tips/assets/fav-2.jpg diff --git a/miniprogram/components/course/course.js b/miniprogram/components/course/course.js new file mode 100644 index 0000000..755b430 --- /dev/null +++ b/miniprogram/components/course/course.js @@ -0,0 +1,38 @@ +// components/course/course.js +Component({ + /** + * 组件的属性列表 + */ + properties: { + name:{ + type: String + }, + teacher:{ + type:Object + }, + visits:{ + type: Number + }, + members_count:{ + type: Number + }, + homework_commons_count:{ + type:Number + }, + can_visited:{ + type: Boolean + }, + is_public:{ + type: Boolean + } + }, + + data: { + + }, + + + methods: { + + } +}) diff --git a/components/modal/join-course/join-course.json b/miniprogram/components/course/course.json similarity index 100% rename from components/modal/join-course/join-course.json rename to miniprogram/components/course/course.json diff --git a/miniprogram/components/course/course.wxml b/miniprogram/components/course/course.wxml new file mode 100644 index 0000000..daef4fd --- /dev/null +++ b/miniprogram/components/course/course.wxml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/miniprogram/components/course/course.wxss b/miniprogram/components/course/course.wxss new file mode 100644 index 0000000..0b2af36 --- /dev/null +++ b/miniprogram/components/course/course.wxss @@ -0,0 +1 @@ +/* components/course/course.wxss */ \ No newline at end of file diff --git a/components/myicon/myicon.js b/miniprogram/components/edu-icon/edu-icon.js similarity index 86% rename from components/myicon/myicon.js rename to miniprogram/components/edu-icon/edu-icon.js index df19878..e16e1d2 100644 --- a/components/myicon/myicon.js +++ b/miniprogram/components/edu-icon/edu-icon.js @@ -27,8 +27,5 @@ Component({ * 组件的方法列表 */ methods: { - onClick() { - this.triggerEvent('click'); - } } }) diff --git a/components/myicon/myicon.json b/miniprogram/components/edu-icon/edu-icon.json similarity index 100% rename from components/myicon/myicon.json rename to miniprogram/components/edu-icon/edu-icon.json diff --git a/miniprogram/components/edu-icon/edu-icon.wxml b/miniprogram/components/edu-icon/edu-icon.wxml new file mode 100644 index 0000000..40e8fbb --- /dev/null +++ b/miniprogram/components/edu-icon/edu-icon.wxml @@ -0,0 +1,5 @@ + + {{ info }} + diff --git a/miniprogram/components/edu-icon/edu-icon.wxss b/miniprogram/components/edu-icon/edu-icon.wxss new file mode 100644 index 0000000..3535090 --- /dev/null +++ b/miniprogram/components/edu-icon/edu-icon.wxss @@ -0,0 +1,942 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1572859243353'); /* IE9 */ + src: url('iconfont.eot?t=1572859243353#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'), + url('iconfont.woff?t=1572859243353') format('woff'), + url('iconfont.ttf?t=1572859243353') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1572859243353#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-roundclose:before { + content: "\e673"; +} + +.icon-timefill:before { + content: "\e679"; +} + +.icon-roundaddfill:before { + content: "\e6d8"; +} + +.icon-cuban2shangchuanyunduan:before { + content: "\e86d"; +} + +.icon-css3:before { + content: "\ea8b"; +} + +.icon-html5:before { + content: "\eb10"; +} + +.icon-31:before { + content: "\e6b2"; +} + +.icon-zhangjie1:before { + content: "\e68e"; +} + +.icon-htmal5icon19:before { + content: "\e66b"; +} + +.icon-shequ:before { + content: "\e6bc"; +} + +.icon-vs:before { + content: "\e682"; +} + +.icon-weibiaoti12:before { + content: "\e671"; +} + +.icon-pdf:before { + content: "\e740"; +} + +.icon-danxuanxuanzhong1:before { + content: "\e6bd"; +} + +.icon-shijian:before { + content: "\e69c"; +} + +.icon-shezhi:before { + content: "\e66f"; +} + +.icon-xiazai18:before { + content: "\e627"; +} + +.icon-liwu:before { + content: "\e611"; +} + +.icon-phpkaifa:before { + content: "\e67e"; +} + +.icon-fujian:before { + content: "\e670"; +} + +.icon-linux:before { + content: "\e765"; +} + +.icon-wenhao:before { + content: "\e680"; +} + +.icon-zuobiao:before { + content: "\e674"; +} + +.icon-expand:before { + content: "\e6db"; +} + +.icon-zhongzhi1:before { + content: "\e609"; +} + +.icon-luyou:before { + content: "\e677"; +} + +.icon-dianzan1:before { + content: "\e639"; +} + +.icon-fuzhi:before { + content: "\e68f"; +} + +.icon-dianzan11:before { + content: "\e66d"; +} + +.icon-sanjiaoxing-up:before { + content: "\e78f"; +} + +.icon-sanjiaoxing-down:before { + content: "\e791"; +} + +.icon-renzhengxinxi:before { + content: "\e693"; +} + +.icon-weibiaoti105:before { + content: "\e6c0"; +} + +.icon-gift:before { + content: "\e63c"; +} + +.icon-xiaoxi:before { + content: "\e614"; +} + +.icon-mail:before { + content: "\e66a"; +} + +.icon-compress:before { + content: "\e65e"; +} + +.icon-daimapeizhir:before { + content: "\e727"; +} + +.icon-tishi1:before { + content: "\e690"; +} + +.icon-net:before { + content: "\e607"; +} + +.icon-edit:before { + content: "\e691"; +} + +.icon-xianshi:before { + content: "\e695"; +} + +.icon-suo:before { + content: "\e6c9"; +} + +.icon-default:before { + content: "\e67f"; +} + +.icon-xiaoxi1:before { + content: "\e6a4"; +} + +.icon-xiazai1:before { + content: "\e6ac"; +} + +.icon-chexiao:before { + content: "\e657"; +} + +.icon-qq:before { + content: "\e687"; +} + +.icon-biaoqian:before { + content: "\e74f"; +} + +.icon-dashujucunchu:before { + content: "\e678"; +} + +.icon-guanzhu:before { + content: "\e6c5"; +} + +.icon-laba:before { + content: "\e608"; +} + +.icon-mstest:before { + content: "\e686"; +} + +.icon-tianjiachengyuan:before { + content: "\e69a"; +} + +.icon-yincang1:before { + content: "\e9b5"; +} + +.icon-triangle:before { + content: "\e600"; +} + +.icon-qizhi:before { + content: "\e699"; +} + +.icon-csdn:before { + content: "\e602"; +} + +.icon-yonghujiaose_wushuju:before { + content: "\e69e"; +} + +.icon-moban:before { + content: "\e692"; +} + +.icon-VPN:before { + content: "\e601"; +} + +.icon-jia:before { + content: "\e605"; +} + +.icon-yinhangqia1:before { + content: "\e697"; +} + +.icon-weibo:before { + content: "\e688"; +} + +.icon-kong:before { + content: "\e69f"; +} + +.icon-kecheng:before { + content: "\e60a"; +} + +.icon-shezhi1:before { + content: "\e71d"; +} + +.icon-chenggong:before { + content: "\e68b"; +} + +.icon-sandian:before { + content: "\e6f8"; +} + +.icon-jibenxinxi:before { + content: "\e694"; +} + +.icon-base:before { + content: "\e683"; +} + +.icon-weixin2:before { + content: "\e603"; +} + +.icon-StackOverflow:before { + content: "\e689"; +} + +.icon-zhongzhi2:before { + content: "\e68a"; +} + +.icon-huodong:before { + content: "\e6bb"; +} + +.icon-yincang:before { + content: "\e6a0"; +} + +.icon-weibiaoti-:before { + content: "\e60d"; +} + +.icon-weizhi:before { + content: "\e676"; +} + +.icon-jquery:before { + content: "\e67a"; +} + +.icon-docker:before { + content: "\e67b"; +} + +.icon-python:before { + content: "\e67c"; +} + +.icon-php:before { + content: "\e67d"; +} + +.icon-yinhangqia:before { + content: "\e675"; +} + +.icon-linkedin:before { + content: "\e60c"; +} + +.icon-wenjianjia:before { + content: "\e640"; +} + +.icon-SQLserver:before { + content: "\e705"; +} + +.icon-zhiliangfenxi:before { + content: "\e68d"; +} + +.icon-shangchuantupian1:before { + content: "\e7fd"; +} + +.icon-dengluIpjiankong:before { + content: "\e684"; +} + +.icon-itsm-liuchengguanli:before { + content: "\e685"; +} + +.icon-lianjie:before { + content: "\e7db"; +} + +.icon-fenzhi:before { + content: "\e610"; +} + +.icon-wangzhikelong:before { + content: "\e612"; +} + +.icon-xiazai:before { + content: "\e613"; +} + +.icon-daima:before { + content: "\e615"; +} + +.icon-tijiaojilu:before { + content: "\e616"; +} + +.icon-xuanzeti:before { + content: "\e617"; +} + +.icon-bianji:before { + content: "\e618"; +} + +.icon-xiangshang:before { + content: "\e61a"; +} + +.icon-shanchudiao:before { + content: "\e620"; +} + +.icon-xinjian:before { + content: "\e619"; +} + +.icon-shangshengpaixu:before { + content: "\e621"; +} + +.icon-jiangli:before { + content: "\e61b"; +} + +.icon-shanchu:before { + content: "\e61c"; +} + +.icon-yincangbiyan:before { + content: "\e61d"; +} + +.icon-kaisuo:before { + content: "\e61e"; +} + +.icon-guansuo:before { + content: "\e61f"; +} + +.icon-banbenku:before { + content: "\e622"; +} + +.icon-issue:before { + content: "\e623"; +} + +.icon-shangchuantupian:before { + content: "\e625"; +} + +.icon-ceping:before { + content: "\e626"; +} + +.icon-tpixiaoxitixing:before { + content: "\e624"; +} + +.icon-qqzaixianzixun:before { + content: "\e628"; +} + +.icon-erweima:before { + content: "\e629"; +} + +.icon-yijianfankui:before { + content: "\e62a"; +} + +.icon-youxiangrenzheng:before { + content: "\e62b"; +} + +.icon-shoujirenzheng:before { + content: "\e62c"; +} + +.icon-zhiyerenzheng:before { + content: "\e62d"; +} + +.icon-shenfenrenzheng:before { + content: "\e62e"; +} + +.icon-pingfen:before { + content: "\e62f"; +} + +.icon-pingfen-xian:before { + content: "\e630"; +} + +.icon-zuoye:before { + content: "\e631"; +} + +.icon-tishicuowu:before { + content: "\e632"; +} + +.icon-ziyuan:before { + content: "\e633"; +} + +.icon-tishi:before { + content: "\e636"; +} + +.icon-chengyuan:before { + content: "\e63a"; +} + +.icon-gonggao:before { + content: "\e63b"; +} + +.icon-dianzan:before { + content: "\e634"; +} + +.icon-dianzan-xian:before { + content: "\e635"; +} + +.icon-fanhuishangcidaima:before { + content: "\e637"; +} + +.icon-zhongzhi:before { + content: "\e638"; +} + +.icon-xuanzhuan:before { + content: "\e63d"; +} + +.icon-shixun:before { + content: "\e63e"; +} + +.icon-suoxiao:before { + content: "\e63f"; +} + +.icon-xiajiantou:before { + content: "\e642"; +} + +.icon-gouxuan:before { + content: "\e644"; +} + +.icon-liulanyan:before { + content: "\e646"; +} + +.icon-jingyan:before { + content: "\e647"; +} + +.icon-xiaoxilingdang:before { + content: "\e641"; +} + +.icon-shixunguanqia:before { + content: "\e648"; +} + +.icon-sousuo:before { + content: "\e643"; +} + +.icon-fabu:before { + content: "\e64a"; +} + +.icon-tianjiafangda:before { + content: "\e645"; +} + +.icon-xiangxiayidong:before { + content: "\e64b"; +} + +.icon-xiangshangyidong:before { + content: "\e64c"; +} + +.icon-guanbi:before { + content: "\e64d"; +} + +.icon-biyezhuanhuan:before { + content: "\e6f1"; +} + +.icon-zhengyan:before { + content: "\e649"; +} + +.icon-huifu1:before { + content: "\e64e"; +} + +.icon-wenjian:before { + content: "\e64f"; +} + +.icon-zhankai:before { + content: "\e650"; +} + +.icon-shousuo:before { + content: "\e651"; +} + +.icon-zuojiantou:before { + content: "\e652"; +} + +.icon-youjiantou:before { + content: "\e653"; +} + +.icon-shangjiantou:before { + content: "\e654"; +} + +.icon-bianjidaibeijing:before { + content: "\e655"; +} + +.icon-bofang:before { + content: "\e656"; +} + +.icon-wancheng:before { + content: "\e658"; +} + +.icon-fenzuzuoye:before { + content: "\e65d"; +} + +.icon-putongzuoye:before { + content: "\e65c"; +} + +.icon-shezhi2:before { + content: "\e698"; +} + +.icon-wenjuan:before { + content: "\e659"; +} + +.icon-taolun:before { + content: "\e65a"; +} + +.icon-fenban:before { + content: "\e65f"; +} + +.icon-dongtai:before { + content: "\e660"; +} + +.icon-shijuan:before { + content: "\e65b"; +} + +.icon-caidan:before { + content: "\e661"; +} + +.icon-chengyuanguanli:before { + content: "\e662"; +} + +.icon-tianjia:before { + content: "\e672"; +} + +.icon-xiangxiayi:before { + content: "\e663"; +} + +.icon-xiangshangyi:before { + content: "\e664"; +} + +.icon-gengduo:before { + content: "\e665"; +} + +.icon-reset:before { + content: "\e7fe"; +} + +.icon-xueyuanguanliyuan:before { + content: "\e666"; +} + +.icon-kongxing:before { + content: "\e667"; +} + +.icon-shixing:before { + content: "\e668"; +} + +.icon-xiajiang:before { + content: "\e669"; +} + +.icon-fuzhi1:before { + content: "\e800"; +} + +.icon-gengduo1:before { + content: "\e7f9"; +} + +.icon-congshulianjie:before { + content: "\e6ee"; +} + +.icon-shouji:before { + content: "\e69d"; +} + +.icon-zhinengjiankongtixi:before { + content: "\e6b4"; +} + +.icon-xinzengtishi:before { + content: "\e66c"; +} + +.icon-wanchenggouxuan:before { + content: "\e66e"; +} + +.icon-java:before { + content: "\f1d7"; +} + +.icon-youjiang:before { + content: "\e792"; +} + +.icon-fork:before { + content: "\e6b3"; +} + +.icon-mingpian:before { + content: "\e69b"; +} + +.icon-mysql:before { + content: "\ec6d"; +} + +.icon-kehuliuyan:before { + content: "\e71a"; +} + +.icon-github:before { + content: "\e763"; +} + +.icon-mongodb1:before { + content: "\e60b"; +} + +.icon-anquanshezhi:before { + content: "\e606"; +} + +.icon-trustie:before { + content: "\e681"; +} + +.icon-wuquanxian:before { + content: "\e6a2"; +} + +.icon-shixundaibeijing:before { + content: "\e68c"; +} + +.icon-gongcheng:before { + content: "\e60f"; +} + +.icon-jinggao:before { + content: "\e696"; +} + +.icon-tianjiadaohang:before { + content: "\e604"; +} + +.icon-zhuye:before { + content: "\e6d3"; +} + +.icon-yunweijiankong:before { + content: "\e6a3"; +} + +.icon-gongyiliucheng:before { + content: "\e6a5"; +} + +.icon-zhiliangkongzhi:before { + content: "\e6a6"; +} + +.icon-shebeiguanli:before { + content: "\e6a7"; +} + +.icon-shengmingzhouqi:before { + content: "\e6a8"; +} + +.icon-bianji1:before { + content: "\e6a1"; +} + +.icon-paixu1:before { + content: "\e6aa"; +} + +.icon-renzhengshangjia:before { + content: "\e6ab"; +} + +.icon-shenfenzhenghaomaguizheng:before { + content: "\e6ad"; +} + +.icon-Page-1:before { + content: "\e6ae"; +} + +.icon-Page-3:before { + content: "\e6af"; +} + +.icon-Page:before { + content: "\e6b0"; +} + +.icon-yemian:before { + content: "\e6b1"; +} + +.icon-bianzu:before { + content: "\e6b5"; +} + +.icon-xuexizhongxin:before { + content: "\e6b6"; +} + +.icon-tongji:before { + content: "\e6bf"; +} + +.icon-menu_voucher:before { + content: "\e6b8"; +} + +.icon-menu_events:before { + content: "\e6b9"; +} + +.icon-menu_map:before { + content: "\e6ba"; +} + +.icon-menu_date:before { + content: "\e6a9"; +} + +.icon-menu_people:before { + content: "\e6b7"; +} + +.icon-healthmode:before { + content: "\e60e"; +} + +.icon-nenghaofenxix:before { + content: "\e6be"; +} + +.icon-detectionx:before { + content: "\e6c1"; +} + +.icon-communityx:before { + content: "\e6c2"; +} + +.icon-hostingx2:before { + content: "\e6c3"; +} + +.icon-projectx:before { + content: "\e6c4"; +} + +.icon__info { + color: #fff; + left: 100%; + top: -.5em; + font-size: 0.5em; + padding: 0 0.3em; + text-align: center; + min-width: 1.2em; + line-height: 1.2; + position: absolute; + border-radius: 0.6em; + box-sizing: border-box; + background-color: #f44; + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + font-family: PingFang SC, Helvetica Neue, Arial, sans-serif; +} \ No newline at end of file diff --git a/components/modal/join-course/join-course.js b/miniprogram/components/modal/join-course/join-course.js similarity index 100% rename from components/modal/join-course/join-course.js rename to miniprogram/components/modal/join-course/join-course.js diff --git a/components/test/test.json b/miniprogram/components/modal/join-course/join-course.json similarity index 100% rename from components/test/test.json rename to miniprogram/components/modal/join-course/join-course.json diff --git a/components/modal/join-course/join-course.wxml b/miniprogram/components/modal/join-course/join-course.wxml similarity index 100% rename from components/modal/join-course/join-course.wxml rename to miniprogram/components/modal/join-course/join-course.wxml diff --git a/components/modal/join-course/join-course.wxss b/miniprogram/components/modal/join-course/join-course.wxss similarity index 100% rename from components/modal/join-course/join-course.wxss rename to miniprogram/components/modal/join-course/join-course.wxss diff --git a/miniprogram/components/my-icon/my-icon.js b/miniprogram/components/my-icon/my-icon.js new file mode 100644 index 0000000..f7d8bcb --- /dev/null +++ b/miniprogram/components/my-icon/my-icon.js @@ -0,0 +1,31 @@ +Component({ + /** + * 组件的属性列表 + */ + properties: { + addGlobalClass: true + }, + + + externalClasses: ['custom-class'], + + properties: { + info: null, + type: String, + size: String, + color: String + }, + /** + * 组件的初始数据 + */ + data: { + + }, + + /** + * 组件的方法列表 + */ + methods: { + + } +}) diff --git a/miniprogram/components/my-icon/my-icon.json b/miniprogram/components/my-icon/my-icon.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/miniprogram/components/my-icon/my-icon.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/components/myicon/myicon.wxml b/miniprogram/components/my-icon/my-icon.wxml similarity index 80% rename from components/myicon/myicon.wxml rename to miniprogram/components/my-icon/my-icon.wxml index 0d1e28f..21d6287 100644 --- a/components/myicon/myicon.wxml +++ b/miniprogram/components/my-icon/my-icon.wxml @@ -1,7 +1,6 @@ + style="{{ color ? 'color: ' + color + ';' : '' }}{{ size ? 'font-size: ' + size + 'px;' : '' }}"> {{ info }} diff --git a/components/myicon/myicon.wxss b/miniprogram/components/my-icon/my-icon.wxss similarity index 100% rename from components/myicon/myicon.wxss rename to miniprogram/components/my-icon/my-icon.wxss diff --git a/components/test/test.js b/miniprogram/components/test/test.js similarity index 100% rename from components/test/test.js rename to miniprogram/components/test/test.js diff --git a/miniprogram/components/test/test.json b/miniprogram/components/test/test.json new file mode 100644 index 0000000..e8cfaaf --- /dev/null +++ b/miniprogram/components/test/test.json @@ -0,0 +1,4 @@ +{ + "component": true, + "usingComponents": {} +} \ No newline at end of file diff --git a/components/test/test.wxml b/miniprogram/components/test/test.wxml similarity index 100% rename from components/test/test.wxml rename to miniprogram/components/test/test.wxml diff --git a/components/test/test.wxss b/miniprogram/components/test/test.wxss similarity index 100% rename from components/test/test.wxss rename to miniprogram/components/test/test.wxss diff --git a/config.js b/miniprogram/config.js similarity index 100% rename from config.js rename to miniprogram/config.js diff --git a/data/client.js b/miniprogram/data/client.js similarity index 95% rename from data/client.js rename to miniprogram/data/client.js index 4fccf77..28e45a2 100644 --- a/data/client.js +++ b/miniprogram/data/client.js @@ -65,6 +65,7 @@ export class Client{ console.log(cookie); cookie.save(); } + } onRequireLogin(cd){ this.callback.require_login = cd; @@ -166,6 +167,25 @@ export class Client{ }) }) } + attendance({success, fail, complete}={}){ + return new Promise((resolve, reject)=>{ + Account.attendance({ + session: this.session, + complete: complete, + success: res => { + if (typeof success == "function") { + success(res); + } + resolve(res); + }, + fail: error => { + if (typeof fail == "function") { + fail(error); + } + reject(error); + }}) + }); + } get_user_info({success, fail, complete}={}){ return new Promise((resolve, reject) => { Account.get_user_info({session: this.session, complete: complete, @@ -178,6 +198,7 @@ export class Client{ } resolve(res); this.save_current_user(); + this.save_user_info() }, fail: error=>{ this.callback.require_login(); @@ -189,6 +210,24 @@ export class Client{ }) }); } + save_user_info(){ + const app = getApp(); + const db = wx.cloud.database(); + if(!app.globalData.openid || !this.current_user.login){ + console.warn("save user info", "undifined data", app.globalData.openid, this.current_user.login) + return; + } + console.log("saving user info") + return db.collection("user").doc(this.current_user.login + "_" + app.globalData.openid).set({ + data: { + user_info: this.current_user, + updatedAt: new Date(), + cookies: this.session.cookies + } + }).then(res => { + console.log("save user success", res); + }).catch(console.error); + } get_verification_code_for_register({login, success, fail, complete}){ return new Promise((resolve, reject) => { Account.get_verification_code({ diff --git a/data/cookie.js b/miniprogram/data/cookie.js similarity index 100% rename from data/cookie.js rename to miniprogram/data/cookie.js diff --git a/data/eduapi.js b/miniprogram/data/eduapi.js similarity index 99% rename from data/eduapi.js rename to miniprogram/data/eduapi.js index 5442540..a41ce2e 100644 --- a/data/eduapi.js +++ b/miniprogram/data/eduapi.js @@ -72,9 +72,10 @@ export class Account{ static attendance({session, success, fail, complete}){ session.request({ url: api_base_url + "/users/attendance.json", + method:"POST", success(res) { if("status" in res.data && res.data.status<0){ - fail(new Error(res.data.status)); + fail(new Error(res.data.message)); return; } if(typeof success == "function"){ diff --git a/data/error.js b/miniprogram/data/error.js similarity index 100% rename from data/error.js rename to miniprogram/data/error.js diff --git a/data/requests.js b/miniprogram/data/requests.js similarity index 100% rename from data/requests.js rename to miniprogram/data/requests.js diff --git a/miniprogram/data/test.js b/miniprogram/data/test.js new file mode 100644 index 0000000..ca0b336 --- /dev/null +++ b/miniprogram/data/test.js @@ -0,0 +1,4 @@ +export const courses = [ + { "id": 3604, "name": "试用课程测试", "members_count": 1, "homework_commons_count": 0, "attachments_count": 0, "visits": 74, "first_category_url": "/courses/3604/shixun_homeworks/43557", "is_public": 0, "can_visited": true, "teacher": { "id": 116553, "real_name": "学生", "avatar_url": "avatars/User/116553?t=1573710191", "school_name": "国防科技大学" } }, + { "id": 3518, "name": "试用课程演示课堂", "members_count": 6, "homework_commons_count": 5, "attachments_count": 7, "visits": 628, "first_category_url": "/courses/3518/informs", "is_public": 0, "can_visited": true, "teacher": { "id": 42749, "real_name": "金柯", "avatar_url": "avatars/User/42749?t=1573398243", "school_name": "国防科技大学" } }] + diff --git a/images/avatar.png b/miniprogram/images/avatar.png similarity index 100% rename from images/avatar.png rename to miniprogram/images/avatar.png diff --git a/images/base64/bg_user.wxss b/miniprogram/images/base64/bg_user.wxss similarity index 100% rename from images/base64/bg_user.wxss rename to miniprogram/images/base64/bg_user.wxss diff --git a/images/contact.jpg b/miniprogram/images/contact.jpg similarity index 100% rename from images/contact.jpg rename to miniprogram/images/contact.jpg diff --git a/images/educoder.png b/miniprogram/images/educoder.png similarity index 100% rename from images/educoder.png rename to miniprogram/images/educoder.png diff --git a/images/email.png b/miniprogram/images/email.png similarity index 100% rename from images/email.png rename to miniprogram/images/email.png diff --git a/images/invite.png b/miniprogram/images/invite.png similarity index 100% rename from images/invite.png rename to miniprogram/images/invite.png diff --git a/images/loading_big.gif b/miniprogram/images/loading_big.gif similarity index 100% rename from images/loading_big.gif rename to miniprogram/images/loading_big.gif diff --git a/images/loading_min.gif b/miniprogram/images/loading_min.gif similarity index 100% rename from images/loading_min.gif rename to miniprogram/images/loading_min.gif diff --git a/images/nodata.png b/miniprogram/images/nodata.png similarity index 100% rename from images/nodata.png rename to miniprogram/images/nodata.png diff --git a/images/none.png b/miniprogram/images/none.png similarity index 100% rename from images/none.png rename to miniprogram/images/none.png diff --git a/images/none2.png b/miniprogram/images/none2.png similarity index 100% rename from images/none2.png rename to miniprogram/images/none2.png diff --git a/images/online.png b/miniprogram/images/online.png similarity index 100% rename from images/online.png rename to miniprogram/images/online.png diff --git a/images/phone.png b/miniprogram/images/phone.png similarity index 100% rename from images/phone.png rename to miniprogram/images/phone.png diff --git a/images/qq.png b/miniprogram/images/qq.png similarity index 100% rename from images/qq.png rename to miniprogram/images/qq.png diff --git a/images/tabbar-icon/tabbar_contact_default.png b/miniprogram/images/tabbar-icon/tabbar_contact_default.png similarity index 100% rename from images/tabbar-icon/tabbar_contact_default.png rename to miniprogram/images/tabbar-icon/tabbar_contact_default.png diff --git a/images/tabbar-icon/tabbar_contact_pressed.png b/miniprogram/images/tabbar-icon/tabbar_contact_pressed.png similarity index 100% rename from images/tabbar-icon/tabbar_contact_pressed.png rename to miniprogram/images/tabbar-icon/tabbar_contact_pressed.png diff --git a/images/tabbar-icon/tabbar_findmore_default.png b/miniprogram/images/tabbar-icon/tabbar_findmore_default.png similarity index 100% rename from images/tabbar-icon/tabbar_findmore_default.png rename to miniprogram/images/tabbar-icon/tabbar_findmore_default.png diff --git a/images/tabbar-icon/tabbar_findmore_pressed.png b/miniprogram/images/tabbar-icon/tabbar_findmore_pressed.png similarity index 100% rename from images/tabbar-icon/tabbar_findmore_pressed.png rename to miniprogram/images/tabbar-icon/tabbar_findmore_pressed.png diff --git a/images/tabbar-icon/tabbar_record_default.png b/miniprogram/images/tabbar-icon/tabbar_record_default.png similarity index 100% rename from images/tabbar-icon/tabbar_record_default.png rename to miniprogram/images/tabbar-icon/tabbar_record_default.png diff --git a/images/tabbar-icon/tabbar_record_pressed.png b/miniprogram/images/tabbar-icon/tabbar_record_pressed.png similarity index 100% rename from images/tabbar-icon/tabbar_record_pressed.png rename to miniprogram/images/tabbar-icon/tabbar_record_pressed.png diff --git a/images/tabbar-icon/tabbar_settings_default.png b/miniprogram/images/tabbar-icon/tabbar_settings_default.png similarity index 100% rename from images/tabbar-icon/tabbar_settings_default.png rename to miniprogram/images/tabbar-icon/tabbar_settings_default.png diff --git a/images/tabbar-icon/tabbar_settings_pressed.png b/miniprogram/images/tabbar-icon/tabbar_settings_pressed.png similarity index 100% rename from images/tabbar-icon/tabbar_settings_pressed.png rename to miniprogram/images/tabbar-icon/tabbar_settings_pressed.png diff --git a/images/tabbar-icon/tabbar_sign_default.png b/miniprogram/images/tabbar-icon/tabbar_sign_default.png similarity index 100% rename from images/tabbar-icon/tabbar_sign_default.png rename to miniprogram/images/tabbar-icon/tabbar_sign_default.png diff --git a/images/tabbar-icon/tabbar_sign_pressed.png b/miniprogram/images/tabbar-icon/tabbar_sign_pressed.png similarity index 100% rename from images/tabbar-icon/tabbar_sign_pressed.png rename to miniprogram/images/tabbar-icon/tabbar_sign_pressed.png diff --git a/images/tabbar-icon/tabbar_study_default.png b/miniprogram/images/tabbar-icon/tabbar_study_default.png similarity index 100% rename from images/tabbar-icon/tabbar_study_default.png rename to miniprogram/images/tabbar-icon/tabbar_study_default.png diff --git a/images/tabbar-icon/tabbar_study_pressed.png b/miniprogram/images/tabbar-icon/tabbar_study_pressed.png similarity index 100% rename from images/tabbar-icon/tabbar_study_pressed.png rename to miniprogram/images/tabbar-icon/tabbar_study_pressed.png diff --git a/images/weapp_code.png b/miniprogram/images/weapp_code.png similarity index 100% rename from images/weapp_code.png rename to miniprogram/images/weapp_code.png diff --git a/images/weixin.png b/miniprogram/images/weixin.png similarity index 100% rename from images/weixin.png rename to miniprogram/images/weixin.png diff --git a/pages/about/about.js b/miniprogram/pages/about/about.js similarity index 97% rename from pages/about/about.js rename to miniprogram/pages/about/about.js index db7fe83..1ab1c82 100644 --- a/pages/about/about.js +++ b/miniprogram/pages/about/about.js @@ -6,7 +6,7 @@ Page({ /** * 页面的初始数据 */ - md: '# 简介\n## 源码\n[https://github/jinke18/educoder_weapp](https://github.com/jinke18/educoder_weapp)\n\n## 小程序码\n![小程序码](/images/weapp_code.jpg)\n\n# 功能介绍\n\n## 教室\n- 学员可以输入邀请码进入课堂\n\n- 进入教室界面会显示在位,头像为彩色,若退出课堂界面则会显示灰色头像\n\n- 教员在教室界面中可以直观地看到学员在位情况,可以选择学员让其起立回答问题,并且对学员可以进行加分、减分操作\n\n- 在分数列表中可以看到加减分记录(数据在后台可以导出)\n\n- 学员可以收到教员让其起立提问、回答的提示,还可以点击“我要提问、回答”\n\n- 教室内有讨论区,可以交流\n\n## 课程资源\n\n- 在课程界面进入“资源”可以查看本课堂的课程文件资源\n\n- 支持打开ppt doc xls pdf文件\n\n## 试卷作答\n\n- 学员在课程内可以看到老师发布的试卷,并且回答\n\n- 试卷截止后并且老师选择了公开答案,学生可以看到公布的答案\n\n- 老师可以创建试卷,发布试卷,查看学员作答分数\n\n## 其他\n账号的注册、登陆、找回密码、头像更改等\n\n# 实现\n## educoder平台接入\n使用HTTP与平台的api接口交互\n\n接口列表如下\n- 搜索课堂https://www.educoder.net/api/courses.json\n\n- 查询用户的课堂https://www.educoder.net/api/users//courses.json\n\n- 查询学校https://www.educoder.net/api/schools/school_list.json\n\n- 新建课堂https://www.educoder.net/api/courses.json\n\n- 加入课堂https://www.educoder.net/api/courses/apply_to_join_course.json\n\n- 新建试卷https://www.educoder.net/api/courses//exercises/new.json\n\n- 查询试卷https://www.educoder.net/api/courses//exercises.json\n\n- 班级文件资源https://www.educoder.net/api/files.json\n\n# 教室学员在位情况及分数的同步实现\n使用了[leancloud](https://www.leancloud.cn/)提供的javascript开发包实现数据同步功能, 如学员在位情况、分数的同步, 其底部技术为websocket\n## 服务条款\n[查看服务条款](/pages/agreement/agreement)' + md: '# 简介\n## 源码\n[https://github/jinke18/educoder_weapp](https://github.com/jinke18/educoder_weapp)\n\n## 小程序码\n![小程序码](/images/weapp_code.png)\n\n# 功能介绍\n\n## 教室\n- 学员可以输入邀请码进入课堂\n\n- 进入教室界面会显示在位,头像为彩色,若退出课堂界面则会显示灰色头像\n\n- 教员在教室界面中可以直观地看到学员在位情况,可以选择学员让其起立回答问题,并且对学员可以进行加分、减分操作\n\n- 在分数列表中可以看到加减分记录(数据在后台可以导出)\n\n- 学员可以收到教员让其起立提问、回答的提示,还可以点击“我要提问、回答”\n\n- 教室内有讨论区,可以交流\n\n## 课程资源\n\n- 在课程界面进入“资源”可以查看本课堂的课程文件资源\n\n- 支持打开ppt doc xls pdf文件\n\n## 试卷作答\n\n- 学员在课程内可以看到老师发布的试卷,并且回答\n\n- 试卷截止后并且老师选择了公开答案,学生可以看到公布的答案\n\n- 老师可以创建试卷,发布试卷,查看学员作答分数\n\n## 其他\n账号的注册、登陆、找回密码、头像更改等\n\n# 实现\n## educoder平台接入\n使用HTTP与平台的api接口交互\n\n接口列表如下\n- 搜索课堂https://www.educoder.net/api/courses.json\n\n- 查询用户的课堂https://www.educoder.net/api/users//courses.json\n\n- 查询学校https://www.educoder.net/api/schools/school_list.json\n\n- 新建课堂https://www.educoder.net/api/courses.json\n\n- 加入课堂https://www.educoder.net/api/courses/apply_to_join_course.json\n\n- 新建试卷https://www.educoder.net/api/courses//exercises/new.json\n\n- 查询试卷https://www.educoder.net/api/courses//exercises.json\n\n- 班级文件资源https://www.educoder.net/api/files.json\n\n# 教室学员在位情况及分数的同步实现\n使用了[leancloud](https://www.leancloud.cn/)提供的javascript开发包实现数据同步功能, 如学员在位情况、分数的同步, 其底部技术为websocket\n## 服务条款\n[查看服务条款](/pages/agreement/agreement)' , data: { diff --git a/pages/about/about.json b/miniprogram/pages/about/about.json similarity index 100% rename from pages/about/about.json rename to miniprogram/pages/about/about.json diff --git a/pages/about/about.wxml b/miniprogram/pages/about/about.wxml similarity index 100% rename from pages/about/about.wxml rename to miniprogram/pages/about/about.wxml diff --git a/pages/about/about.wxss b/miniprogram/pages/about/about.wxss similarity index 100% rename from pages/about/about.wxss rename to miniprogram/pages/about/about.wxss diff --git a/pages/agreement/agreement.js b/miniprogram/pages/agreement/agreement.js similarity index 100% rename from pages/agreement/agreement.js rename to miniprogram/pages/agreement/agreement.js diff --git a/pages/agreement/agreement.json b/miniprogram/pages/agreement/agreement.json similarity index 100% rename from pages/agreement/agreement.json rename to miniprogram/pages/agreement/agreement.json diff --git a/pages/agreement/agreement.wxml b/miniprogram/pages/agreement/agreement.wxml similarity index 100% rename from pages/agreement/agreement.wxml rename to miniprogram/pages/agreement/agreement.wxml diff --git a/pages/agreement/agreement.wxss b/miniprogram/pages/agreement/agreement.wxss similarity index 100% rename from pages/agreement/agreement.wxss rename to miniprogram/pages/agreement/agreement.wxss diff --git a/miniprogram/pages/code_edit/code_edit.js b/miniprogram/pages/code_edit/code_edit.js new file mode 100644 index 0000000..f1b6d03 --- /dev/null +++ b/miniprogram/pages/code_edit/code_edit.js @@ -0,0 +1,66 @@ +// pages/code_edit/code_edit.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + code: '\n/**\n * @todo: Error类, to be finished\n */\n\nexport default class EduError extends Error{\n constructor({message=null, code=-1}){\n super(message);\n this.code = code;\n }\n}' + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/course/course.json b/miniprogram/pages/code_edit/code_edit.json similarity index 100% rename from pages/course/course.json rename to miniprogram/pages/code_edit/code_edit.json diff --git a/miniprogram/pages/code_edit/code_edit.wxml b/miniprogram/pages/code_edit/code_edit.wxml new file mode 100644 index 0000000..6a4c0f0 --- /dev/null +++ b/miniprogram/pages/code_edit/code_edit.wxml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/miniprogram/pages/code_edit/code_edit.wxss b/miniprogram/pages/code_edit/code_edit.wxss new file mode 100644 index 0000000..ba6918c --- /dev/null +++ b/miniprogram/pages/code_edit/code_edit.wxss @@ -0,0 +1,6 @@ +.code-editor{ + width: 100%; + height: 100%; + background: grey; + color: whitesmoke; +} \ No newline at end of file diff --git a/pages/contact/contact.js b/miniprogram/pages/contact/contact.js similarity index 100% rename from pages/contact/contact.js rename to miniprogram/pages/contact/contact.js diff --git a/pages/contact/contact.json b/miniprogram/pages/contact/contact.json similarity index 100% rename from pages/contact/contact.json rename to miniprogram/pages/contact/contact.json diff --git a/pages/contact/contact.wxml b/miniprogram/pages/contact/contact.wxml similarity index 99% rename from pages/contact/contact.wxml rename to miniprogram/pages/contact/contact.wxml index 1f576e8..2498bde 100644 --- a/pages/contact/contact.wxml +++ b/miniprogram/pages/contact/contact.wxml @@ -51,7 +51,7 @@ - + diff --git a/pages/contact/contact.wxss b/miniprogram/pages/contact/contact.wxss similarity index 100% rename from pages/contact/contact.wxss rename to miniprogram/pages/contact/contact.wxss diff --git a/pages/course/course.js b/miniprogram/pages/course/course.js similarity index 69% rename from pages/course/course.js rename to miniprogram/pages/course/course.js index fa2c211..2d13e0c 100644 --- a/pages/course/course.js +++ b/miniprogram/pages/course/course.js @@ -7,38 +7,8 @@ Page({ */ data: { course: {}, - show_classroom: new Date().getTime() < 1580820786606 }, - enter_page({currentTarget:{dataset}}){ - let time = new Date().getTime(); - let url = dataset.url; - if ( time> 1577820786606){ - wx.showModal({ - title: '提示', - content: '该功能稳定性不佳,已于2020年1月1日停用', - }) - } else if (time > 1574320786656){ - wx.showModal({ - title: '提示', - content: '该功能稳定性不佳,将于2020年1月1日停用,按确认进入页面', - success: res=>{ - if(res.confirm){ - wx.navigateTo({ - url: url, - }) - } - } - }) - }else{ - wx.navigateTo({ - url: url, - }) - } - }, - /** - * 生命周期函数--监听页面加载 - */ onLoad: function (options) { this.course_id = options.course_id; this.setData({course_id: options.course_id}) diff --git a/pages/course_invite/course_invite.json b/miniprogram/pages/course/course.json similarity index 100% rename from pages/course_invite/course_invite.json rename to miniprogram/pages/course/course.json diff --git a/pages/course/course.wxml b/miniprogram/pages/course/course.wxml similarity index 79% rename from pages/course/course.wxml rename to miniprogram/pages/course/course.wxml index b8dbb16..29da9d3 100644 --- a/pages/course/course.wxml +++ b/miniprogram/pages/course/course.wxml @@ -8,7 +8,6 @@ - 进入教室 试卷 资源 diff --git a/pages/course/course.wxss b/miniprogram/pages/course/course.wxss similarity index 100% rename from pages/course/course.wxss rename to miniprogram/pages/course/course.wxss diff --git a/pages/course_invite/course_invite.js b/miniprogram/pages/course_invite/course_invite.js similarity index 100% rename from pages/course_invite/course_invite.js rename to miniprogram/pages/course_invite/course_invite.js diff --git a/pages/course_setting/course_setting.json b/miniprogram/pages/course_invite/course_invite.json similarity index 100% rename from pages/course_setting/course_setting.json rename to miniprogram/pages/course_invite/course_invite.json diff --git a/pages/course_invite/course_invite.wxml b/miniprogram/pages/course_invite/course_invite.wxml similarity index 100% rename from pages/course_invite/course_invite.wxml rename to miniprogram/pages/course_invite/course_invite.wxml diff --git a/pages/course_invite/course_invite.wxss b/miniprogram/pages/course_invite/course_invite.wxss similarity index 100% rename from pages/course_invite/course_invite.wxss rename to miniprogram/pages/course_invite/course_invite.wxss diff --git a/pages/course_setting/course_setting.js b/miniprogram/pages/course_setting/course_setting.js similarity index 100% rename from pages/course_setting/course_setting.js rename to miniprogram/pages/course_setting/course_setting.js diff --git a/pages/exercise/exercise.json b/miniprogram/pages/course_setting/course_setting.json similarity index 100% rename from pages/exercise/exercise.json rename to miniprogram/pages/course_setting/course_setting.json diff --git a/pages/course_setting/course_setting.wxml b/miniprogram/pages/course_setting/course_setting.wxml similarity index 100% rename from pages/course_setting/course_setting.wxml rename to miniprogram/pages/course_setting/course_setting.wxml diff --git a/pages/course_setting/course_setting.wxss b/miniprogram/pages/course_setting/course_setting.wxss similarity index 100% rename from pages/course_setting/course_setting.wxss rename to miniprogram/pages/course_setting/course_setting.wxss diff --git a/pages/courses/courses.js b/miniprogram/pages/courses/courses.js similarity index 100% rename from pages/courses/courses.js rename to miniprogram/pages/courses/courses.js diff --git a/pages/courses/courses.json b/miniprogram/pages/courses/courses.json similarity index 65% rename from pages/courses/courses.json rename to miniprogram/pages/courses/courses.json index db19282..01e7e84 100644 --- a/pages/courses/courses.json +++ b/miniprogram/pages/courses/courses.json @@ -1,6 +1,6 @@ { "usingComponents": { - "myicon": "/components/myicon/myicon", + "myicon": "/components/my-icon/my-icon", "mp-searchbar": "/components/weui/searchbar/searchbar" } diff --git a/pages/courses/courses.wxml b/miniprogram/pages/courses/courses.wxml similarity index 100% rename from pages/courses/courses.wxml rename to miniprogram/pages/courses/courses.wxml diff --git a/pages/courses/courses.wxss b/miniprogram/pages/courses/courses.wxss similarity index 100% rename from pages/courses/courses.wxss rename to miniprogram/pages/courses/courses.wxss diff --git a/pages/exercise/exercise.js b/miniprogram/pages/exercise/exercise.js similarity index 100% rename from pages/exercise/exercise.js rename to miniprogram/pages/exercise/exercise.js diff --git a/pages/exercise_setting/exercise_setting.json b/miniprogram/pages/exercise/exercise.json similarity index 100% rename from pages/exercise_setting/exercise_setting.json rename to miniprogram/pages/exercise/exercise.json diff --git a/pages/exercise/exercise.wxml b/miniprogram/pages/exercise/exercise.wxml similarity index 100% rename from pages/exercise/exercise.wxml rename to miniprogram/pages/exercise/exercise.wxml diff --git a/pages/exercise/exercise.wxss b/miniprogram/pages/exercise/exercise.wxss similarity index 100% rename from pages/exercise/exercise.wxss rename to miniprogram/pages/exercise/exercise.wxss diff --git a/pages/exercise_grade/exercise_grade.js b/miniprogram/pages/exercise_grade/exercise_grade.js similarity index 100% rename from pages/exercise_grade/exercise_grade.js rename to miniprogram/pages/exercise_grade/exercise_grade.js diff --git a/pages/exercise_grade/exercise_grade.json b/miniprogram/pages/exercise_grade/exercise_grade.json similarity index 100% rename from pages/exercise_grade/exercise_grade.json rename to miniprogram/pages/exercise_grade/exercise_grade.json diff --git a/pages/exercise_grade/exercise_grade.wxml b/miniprogram/pages/exercise_grade/exercise_grade.wxml similarity index 100% rename from pages/exercise_grade/exercise_grade.wxml rename to miniprogram/pages/exercise_grade/exercise_grade.wxml diff --git a/pages/exercise_grade/exercise_grade.wxss b/miniprogram/pages/exercise_grade/exercise_grade.wxss similarity index 100% rename from pages/exercise_grade/exercise_grade.wxss rename to miniprogram/pages/exercise_grade/exercise_grade.wxss diff --git a/pages/exercise_result/exercise_result.js b/miniprogram/pages/exercise_result/exercise_result.js similarity index 100% rename from pages/exercise_result/exercise_result.js rename to miniprogram/pages/exercise_result/exercise_result.js diff --git a/pages/exercise_result/exercise_result.json b/miniprogram/pages/exercise_result/exercise_result.json similarity index 100% rename from pages/exercise_result/exercise_result.json rename to miniprogram/pages/exercise_result/exercise_result.json diff --git a/pages/exercise_result/exercise_result.wxml b/miniprogram/pages/exercise_result/exercise_result.wxml similarity index 100% rename from pages/exercise_result/exercise_result.wxml rename to miniprogram/pages/exercise_result/exercise_result.wxml diff --git a/pages/exercise_result/exercise_result.wxss b/miniprogram/pages/exercise_result/exercise_result.wxss similarity index 100% rename from pages/exercise_result/exercise_result.wxss rename to miniprogram/pages/exercise_result/exercise_result.wxss diff --git a/pages/exercise_setting/exercise_setting.js b/miniprogram/pages/exercise_setting/exercise_setting.js similarity index 100% rename from pages/exercise_setting/exercise_setting.js rename to miniprogram/pages/exercise_setting/exercise_setting.js diff --git a/pages/feedback/feedback.json b/miniprogram/pages/exercise_setting/exercise_setting.json similarity index 100% rename from pages/feedback/feedback.json rename to miniprogram/pages/exercise_setting/exercise_setting.json diff --git a/pages/exercise_setting/exercise_setting.wxml b/miniprogram/pages/exercise_setting/exercise_setting.wxml similarity index 100% rename from pages/exercise_setting/exercise_setting.wxml rename to miniprogram/pages/exercise_setting/exercise_setting.wxml diff --git a/pages/exercise_setting/exercise_setting.wxss b/miniprogram/pages/exercise_setting/exercise_setting.wxss similarity index 100% rename from pages/exercise_setting/exercise_setting.wxss rename to miniprogram/pages/exercise_setting/exercise_setting.wxss diff --git a/pages/exercises/exercises.js b/miniprogram/pages/exercises/exercises.js similarity index 100% rename from pages/exercises/exercises.js rename to miniprogram/pages/exercises/exercises.js diff --git a/pages/exercises/exercises.json b/miniprogram/pages/exercises/exercises.json similarity index 100% rename from pages/exercises/exercises.json rename to miniprogram/pages/exercises/exercises.json diff --git a/pages/exercises/exercises.wxml b/miniprogram/pages/exercises/exercises.wxml similarity index 100% rename from pages/exercises/exercises.wxml rename to miniprogram/pages/exercises/exercises.wxml diff --git a/pages/exercises/exercises.wxss b/miniprogram/pages/exercises/exercises.wxss similarity index 100% rename from pages/exercises/exercises.wxss rename to miniprogram/pages/exercises/exercises.wxss diff --git a/pages/feedback/feedback.js b/miniprogram/pages/feedback/feedback.js similarity index 100% rename from pages/feedback/feedback.js rename to miniprogram/pages/feedback/feedback.js diff --git a/pages/files/files.json b/miniprogram/pages/feedback/feedback.json similarity index 100% rename from pages/files/files.json rename to miniprogram/pages/feedback/feedback.json diff --git a/pages/feedback/feedback.wxml b/miniprogram/pages/feedback/feedback.wxml similarity index 100% rename from pages/feedback/feedback.wxml rename to miniprogram/pages/feedback/feedback.wxml diff --git a/pages/feedback/feedback.wxss b/miniprogram/pages/feedback/feedback.wxss similarity index 100% rename from pages/feedback/feedback.wxss rename to miniprogram/pages/feedback/feedback.wxss diff --git a/pages/files/files.js b/miniprogram/pages/files/files.js similarity index 100% rename from pages/files/files.js rename to miniprogram/pages/files/files.js diff --git a/pages/question_setting/question_setting.json b/miniprogram/pages/files/files.json similarity index 100% rename from pages/question_setting/question_setting.json rename to miniprogram/pages/files/files.json diff --git a/pages/files/files.wxml b/miniprogram/pages/files/files.wxml similarity index 100% rename from pages/files/files.wxml rename to miniprogram/pages/files/files.wxml diff --git a/pages/files/files.wxss b/miniprogram/pages/files/files.wxss similarity index 100% rename from pages/files/files.wxss rename to miniprogram/pages/files/files.wxss diff --git a/pages/findmore/findmore.js b/miniprogram/pages/findmore/findmore.js similarity index 100% rename from pages/findmore/findmore.js rename to miniprogram/pages/findmore/findmore.js diff --git a/pages/findmore/findmore.json b/miniprogram/pages/findmore/findmore.json similarity index 100% rename from pages/findmore/findmore.json rename to miniprogram/pages/findmore/findmore.json diff --git a/pages/findmore/findmore.wxml b/miniprogram/pages/findmore/findmore.wxml similarity index 100% rename from pages/findmore/findmore.wxml rename to miniprogram/pages/findmore/findmore.wxml diff --git a/pages/findmore/findmore.wxss b/miniprogram/pages/findmore/findmore.wxss similarity index 100% rename from pages/findmore/findmore.wxss rename to miniprogram/pages/findmore/findmore.wxss diff --git a/pages/image_crop/image_crop.js b/miniprogram/pages/image_crop/image_crop.js similarity index 100% rename from pages/image_crop/image_crop.js rename to miniprogram/pages/image_crop/image_crop.js diff --git a/pages/image_crop/image_crop.json b/miniprogram/pages/image_crop/image_crop.json similarity index 100% rename from pages/image_crop/image_crop.json rename to miniprogram/pages/image_crop/image_crop.json diff --git a/pages/image_crop/image_crop.wxml b/miniprogram/pages/image_crop/image_crop.wxml similarity index 100% rename from pages/image_crop/image_crop.wxml rename to miniprogram/pages/image_crop/image_crop.wxml diff --git a/pages/image_crop/image_crop.wxss b/miniprogram/pages/image_crop/image_crop.wxss similarity index 100% rename from pages/image_crop/image_crop.wxss rename to miniprogram/pages/image_crop/image_crop.wxss diff --git a/pages/login/login.js b/miniprogram/pages/login/login.js similarity index 79% rename from pages/login/login.js rename to miniprogram/pages/login/login.js index 8d80ceb..5db5ecc 100644 --- a/pages/login/login.js +++ b/miniprogram/pages/login/login.js @@ -1,13 +1,6 @@ -// pages/login/login.js -const AV = require('../../lib/av-live-query-weapp-min'); -const {jsonify} = require('../../utils/leancloudutils'); const app = getApp(); Page({ - - /** - * 页面的初始数据 - */ data: { error: "", login: "", @@ -74,15 +67,15 @@ Page({ this.login(); }, pull_test: function(){ - let query = new AV.Query("MetaData"); - query.find().then(metadatas=>{ - this.setData({metadata: metadatas[0].toJSON()}) - }); - let test_query = new AV.Query("TestAccount") - test_query.find() - .then(accounts=>{ - this.setData(jsonify({accounts})); - }) + // let query = new AV.Query("MetaData"); + // query.find().then(metadatas=>{ + // this.setData({metadata: metadatas[0].toJSON()}) + // }); + // let test_query = new AV.Query("TestAccount") + // test_query.find() + // .then(accounts=>{ + // this.setData(jsonify({accounts})); + // }) }, /** * 生命周期函数--监听页面加载 @@ -101,23 +94,16 @@ Page({ } }, - /** - * 生命周期函数--监听页面初次渲染完成 - */ + onReady: function () { }, - /** - * 生命周期函数--监听页面显示 - */ onShow: function () { this.pull_test(); }, - /** - * 生命周期函数--监听页面隐藏 - */ + onHide: function () { }, diff --git a/pages/login/login.json b/miniprogram/pages/login/login.json similarity index 100% rename from pages/login/login.json rename to miniprogram/pages/login/login.json diff --git a/pages/login/login.wxml b/miniprogram/pages/login/login.wxml similarity index 100% rename from pages/login/login.wxml rename to miniprogram/pages/login/login.wxml diff --git a/pages/login/login.wxss b/miniprogram/pages/login/login.wxss similarity index 100% rename from pages/login/login.wxss rename to miniprogram/pages/login/login.wxss diff --git a/pages/my_courses/my_courses.js b/miniprogram/pages/my_courses/my_courses.js similarity index 83% rename from pages/my_courses/my_courses.js rename to miniprogram/pages/my_courses/my_courses.js index c5112f2..ea79d23 100644 --- a/pages/my_courses/my_courses.js +++ b/miniprogram/pages/my_courses/my_courses.js @@ -1,8 +1,3 @@ -const { Class } = require("../../model/class"); -const login = require("../../model/user"); -const AV = require("../../lib/av-live-query-weapp-min.js"); -const { jsonify } = require('../../utils/leancloudutils'); -// pages/class/class.js const app = getApp(); const getDataForRender = class_ => ({ @@ -11,13 +6,6 @@ const getDataForRender = class_ => ({ }); Page({ - /** - 页面的初始数据data,用于与.wxlm文件绑定 - classes: 课程列表 type: Array - 元素class: 课程信息 class.objectId 唯一 - class.objectId 课程唯一主键 - class.name 课程名称 - */ options:{}, data: { categories: [{ name: "所有", value: "",checked:true }, { name: "我管理的", value: "manage" }, { name:"我学习的", value:"study"}], diff --git a/pages/my_courses/my_courses.json b/miniprogram/pages/my_courses/my_courses.json similarity index 82% rename from pages/my_courses/my_courses.json rename to miniprogram/pages/my_courses/my_courses.json index 467eca3..c5b60ed 100644 --- a/pages/my_courses/my_courses.json +++ b/miniprogram/pages/my_courses/my_courses.json @@ -1,7 +1,7 @@ { "navigationBarTitleText": "我的课程", "usingComponents": { - "myicon": "/components/myicon/myicon", + "my-icon": "/components/my-icon/my-icon", "add-tips":"/components/add-tips/add-tips", "join-course-modal":"/components/modal/join-course/join-course" }, diff --git a/pages/my_courses/my_courses.wxml b/miniprogram/pages/my_courses/my_courses.wxml similarity index 80% rename from pages/my_courses/my_courses.wxml rename to miniprogram/pages/my_courses/my_courses.wxml index cab1e5d..a9aeaf8 100644 --- a/pages/my_courses/my_courses.wxml +++ b/miniprogram/pages/my_courses/my_courses.wxml @@ -16,14 +16,16 @@ - + {{course.name}} + + - +