southnote-mini-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.js +22 -0
- package/app.json +53 -0
- package/app.wxss +15 -0
- package/assets/file/badwords.js +63008 -0
- package/assets/file/rules.js +38 -0
- package/assets/images/emoji/smile001.png +0 -0
- package/assets/images/emoji/smile002.png +0 -0
- package/assets/images/emoji/smile003.png +0 -0
- package/assets/images/emoji/smile004.png +0 -0
- package/assets/images/emoji/smile005.png +0 -0
- package/assets/images/emoji/smile006.png +0 -0
- package/assets/images/emoji/smile007.png +0 -0
- package/assets/images/emoji/smile008.png +0 -0
- package/assets/images/emoji/smile009.png +0 -0
- package/assets/images/emoji/smile010.png +0 -0
- package/assets/images/emoji/smile011.png +0 -0
- package/assets/images/emoji/smile012.png +0 -0
- package/assets/images/emoji/smile013.png +0 -0
- package/assets/images/emoji/smile014.png +0 -0
- package/assets/images/emoji/smile015.png +0 -0
- package/assets/images/emoji/smile016.png +0 -0
- package/assets/images/emoji/smile017.png +0 -0
- package/assets/images/emoji/smile018.png +0 -0
- package/assets/images/emoji/smile019.png +0 -0
- package/assets/images/emoji/smile020.png +0 -0
- package/assets/images/emoji/smile021.png +0 -0
- package/assets/images/emoji/smile022.png +0 -0
- package/assets/images/emoji/smile023.png +0 -0
- package/assets/images/emoji/smile024.png +0 -0
- package/assets/images/emoji/smile025.png +0 -0
- package/assets/images/emoji/smile026.png +0 -0
- package/assets/images/emoji/smile027.png +0 -0
- package/assets/images/emoji/smile028.png +0 -0
- package/assets/images/emoji/smile029.png +0 -0
- package/assets/images/emoji/smile030.png +0 -0
- package/assets/images/emoji/smile031.png +0 -0
- package/assets/images/emoji/smile032.png +0 -0
- package/assets/images/emoji/smile033.png +0 -0
- package/assets/images/emoji/smile034.png +0 -0
- package/assets/images/emoji/smile035.png +0 -0
- package/assets/images/emoji/smile036.png +0 -0
- package/assets/images/emoji/smile037.png +0 -0
- package/assets/images/emoji/smile038.png +0 -0
- package/assets/images/emoji/smile039.png +0 -0
- package/assets/images/emoji/smile040.png +0 -0
- package/assets/images/emoji/smile041.png +0 -0
- package/assets/images/emoji/smile042.png +0 -0
- package/assets/images/emoji/smile043.png +0 -0
- package/assets/images/emoji/smile044.png +0 -0
- package/assets/images/emoji/smile045.png +0 -0
- package/assets/images/emoji/smile046.png +0 -0
- package/assets/images/emoji/smile047.png +0 -0
- package/assets/images/emoji/smile048.png +0 -0
- package/assets/images/emoji/smile049.png +0 -0
- package/assets/images/emoji/smile050.png +0 -0
- package/assets/images/emoji/smile051.png +0 -0
- package/assets/images/emoji/smile052.png +0 -0
- package/assets/images/icons/age1.png +0 -0
- package/assets/images/icons/age2.png +0 -0
- package/assets/images/icons/age3.png +0 -0
- package/assets/images/icons/attachment.png +0 -0
- package/assets/images/icons/clear.png +0 -0
- package/assets/images/icons/edit_input.png +0 -0
- package/assets/images/icons/header_placeholder.png +0 -0
- package/assets/images/icons/home_collect.png +0 -0
- package/assets/images/icons/home_collected.png +0 -0
- package/assets/images/icons/home_comment.png +0 -0
- package/assets/images/icons/home_like.png +0 -0
- package/assets/images/icons/home_liked.png +0 -0
- package/assets/images/icons/home_message.png +0 -0
- package/assets/images/icons/home_share.png +0 -0
- package/assets/images/icons/icon_more.png +0 -0
- package/assets/images/icons/input_game.png +0 -0
- package/assets/images/icons/logo.png +0 -0
- package/assets/images/icons/lv1.png +0 -0
- package/assets/images/icons/lv2.png +0 -0
- package/assets/images/icons/lv3.png +0 -0
- package/assets/images/icons/lv4.png +0 -0
- package/assets/images/icons/search.png +0 -0
- package/assets/images/icons/sex1.png +0 -0
- package/assets/images/icons/sex2.png +0 -0
- package/assets/images/icons/sign_empty.png +0 -0
- package/assets/images/icons/sign_login.png +0 -0
- package/assets/wheel/wheel_bg.png +0 -0
- package/assets/wheel/wheel_bg2.png +0 -0
- package/assets/wheel/wheel_fore.png +0 -0
- package/assets/wheel/wheel_to.png +0 -0
- package/components/bottomSheet/bottomSheet.js +473 -0
- package/components/bottomSheet/bottomSheet.json +3 -0
- package/components/bottomSheet/bottomSheet.wxml +73 -0
- package/components/bottomSheet/bottomSheet.wxss +238 -0
- package/components/experience-item/experience-item.js +105 -0
- package/components/experience-item/experience-item.json +4 -0
- package/components/experience-item/experience-item.wxml +39 -0
- package/components/experience-item/experience-item.wxss +110 -0
- package/components/grid-item/grid-item.js +8 -0
- package/components/grid-item/grid-item.json +4 -0
- package/components/grid-item/grid-item.wxml +62 -0
- package/components/grid-item/grid-item.wxss +191 -0
- package/components/post-item/post-item.js +1085 -0
- package/components/post-item/post-item.json +4 -0
- package/components/post-item/post-item.wxml +427 -0
- package/components/post-item/post-item.wxss +525 -0
- package/components/wiki-renderer/wiki-renderer.js +636 -0
- package/components/wiki-renderer/wiki-renderer.json +12 -0
- package/components/wiki-renderer/wiki-renderer.wxml +150 -0
- package/components/wiki-renderer/wiki-renderer.wxss +412 -0
- package/components/wiki-tabs/wiki-tabs.js +52 -0
- package/components/wiki-tabs/wiki-tabs.json +3 -0
- package/components/wiki-tabs/wiki-tabs.wxml +28 -0
- package/components/wiki-tabs/wiki-tabs.wxss +43 -0
- package/index.js +49 -0
- package/package.json +35 -0
- package/pages/addGame/addGame.js +454 -0
- package/pages/addGame/addGame.json +3 -0
- package/pages/addGame/addGame.wxml +71 -0
- package/pages/addGame/addGame.wxss +110 -0
- package/pages/addSubject/addSubject.js +199 -0
- package/pages/addSubject/addSubject.json +4 -0
- package/pages/addSubject/addSubject.wxml +78 -0
- package/pages/addSubject/addSubject.wxss +85 -0
- package/pages/commonLogin/commonLogin.js +269 -0
- package/pages/commonLogin/commonLogin.json +4 -0
- package/pages/commonLogin/commonLogin.wxml +57 -0
- package/pages/commonLogin/commonLogin.wxss +177 -0
- package/pages/copyOfficial/copyOfficial.js +25 -0
- package/pages/copyOfficial/copyOfficial.json +3 -0
- package/pages/copyOfficial/copyOfficial.wxml +22 -0
- package/pages/copyOfficial/copyOfficial.wxss +49 -0
- package/pages/demo/demo.js +23 -0
- package/pages/demo/demo.json +3 -0
- package/pages/demo/demo.wxml +8 -0
- package/pages/demo/demo.wxss +24 -0
- package/pages/game/game.js +1254 -0
- package/pages/game/game.json +8 -0
- package/pages/game/game.wxml +371 -0
- package/pages/game/game.wxss +672 -0
- package/pages/home/home.js +665 -0
- package/pages/home/home.json +10 -0
- package/pages/home/home.wxml +115 -0
- package/pages/home/home.wxss +231 -0
- package/pages/lottery-winners/lottery-winners.js +60 -0
- package/pages/lottery-winners/lottery-winners.json +4 -0
- package/pages/lottery-winners/lottery-winners.wxml +53 -0
- package/pages/lottery-winners/lottery-winners.wxss +127 -0
- package/pages/message/messageCommentsAndAt/messageCommentsAndAt.js +178 -0
- package/pages/message/messageCommentsAndAt/messageCommentsAndAt.json +5 -0
- package/pages/message/messageCommentsAndAt/messageCommentsAndAt.wxml +93 -0
- package/pages/message/messageCommentsAndAt/messageCommentsAndAt.wxss +177 -0
- package/pages/message/messageEntire/messageEntire.js +112 -0
- package/pages/message/messageEntire/messageEntire.json +4 -0
- package/pages/message/messageEntire/messageEntire.wxml +44 -0
- package/pages/message/messageEntire/messageEntire.wxss +88 -0
- package/pages/message/messageLikeAndCollect/messageLikeAndCollect.js +147 -0
- package/pages/message/messageLikeAndCollect/messageLikeAndCollect.json +5 -0
- package/pages/message/messageLikeAndCollect/messageLikeAndCollect.wxml +84 -0
- package/pages/message/messageLikeAndCollect/messageLikeAndCollect.wxss +166 -0
- package/pages/message/messageNewFans/messageNewFans.js +139 -0
- package/pages/message/messageNewFans/messageNewFans.json +5 -0
- package/pages/message/messageNewFans/messageNewFans.wxml +35 -0
- package/pages/message/messageNewFans/messageNewFans.wxss +85 -0
- package/pages/officialWebview/officialWebview.js +13 -0
- package/pages/officialWebview/officialWebview.json +3 -0
- package/pages/officialWebview/officialWebview.wxml +2 -0
- package/pages/officialWebview/officialWebview.wxss +1 -0
- package/pages/post/post.js +1856 -0
- package/pages/post/post.json +6 -0
- package/pages/post/post.wxml +694 -0
- package/pages/post/post.wxss +1003 -0
- package/pages/post-editor/post-editor.js +465 -0
- package/pages/post-editor/post-editor.json +4 -0
- package/pages/post-editor/post-editor.wxml +63 -0
- package/pages/post-editor/post-editor.wxss +195 -0
- package/pages/postDialog/postDialog.js +560 -0
- package/pages/postDialog/postDialog.json +6 -0
- package/pages/postDialog/postDialog.wxml +377 -0
- package/pages/postDialog/postDialog.wxss +979 -0
- package/pages/report-category/report-category.js +29 -0
- package/pages/report-category/report-category.json +4 -0
- package/pages/report-category/report-category.wxml +14 -0
- package/pages/report-category/report-category.wxss +43 -0
- package/pages/report-form/report-form.js +65 -0
- package/pages/report-form/report-form.json +3 -0
- package/pages/report-form/report-form.wxml +11 -0
- package/pages/report-form/report-form.wxss +44 -0
- package/pages/sevenDaySignDetail/sevenDaySignDetail.js +273 -0
- package/pages/sevenDaySignDetail/sevenDaySignDetail.json +3 -0
- package/pages/sevenDaySignDetail/sevenDaySignDetail.wxml +82 -0
- package/pages/sevenDaySignDetail/sevenDaySignDetail.wxss +173 -0
- package/pages/topic/topic.js +266 -0
- package/pages/topic/topic.json +6 -0
- package/pages/topic/topic.wxml +77 -0
- package/pages/topic/topic.wxss +162 -0
- package/pages/user/user.js +939 -0
- package/pages/user/user.json +5 -0
- package/pages/user/user.wxml +179 -0
- package/pages/user/user.wxss +340 -0
- package/pages/userDatum/userDatum.js +24 -0
- package/pages/userDatum/userDatum.json +4 -0
- package/pages/userDatum/userDatum.wxml +36 -0
- package/pages/userDatum/userDatum.wxss +41 -0
- package/pages/userGameLib/userGameLib.js +105 -0
- package/pages/userGameLib/userGameLib.json +4 -0
- package/pages/userGameLib/userGameLib.wxml +42 -0
- package/pages/userGameLib/userGameLib.wxss +119 -0
- package/pages/webview/webview.js +25 -0
- package/pages/webview/webview.json +3 -0
- package/pages/webview/webview.wxml +22 -0
- package/pages/webview/webview.wxss +50 -0
- package/pages/wheelActivivty/wheelActivivty.js +492 -0
- package/pages/wheelActivivty/wheelActivivty.json +8 -0
- package/pages/wheelActivivty/wheelActivivty.wxml +131 -0
- package/pages/wheelActivivty/wheelActivivty.wxss +459 -0
- package/pages/wiki/wiki.js +138 -0
- package/pages/wiki/wiki.json +6 -0
- package/pages/wiki/wiki.wxml +20 -0
- package/pages/wiki/wiki.wxss +44 -0
- package/request/JKRequest.js +177 -0
- package/services/home.js +603 -0
- package/towxml/config.js +291 -0
- package/towxml/decode.js +35 -0
- package/towxml/decode.json +11 -0
- package/towxml/decode.wxml +137 -0
- package/towxml/decode.wxss +0 -0
- package/towxml/img/img.js +98 -0
- package/towxml/img/img.json +3 -0
- package/towxml/img/img.wxml +1 -0
- package/towxml/img/img.wxss +0 -0
- package/towxml/index.js +19 -0
- package/towxml/latex/latex.js +53 -0
- package/towxml/latex/latex.json +5 -0
- package/towxml/latex/latex.wxml +1 -0
- package/towxml/latex/latex.wxss +0 -0
- package/towxml/parse/highlight/highlight.js +1 -0
- package/towxml/parse/highlight/index.js +8 -0
- package/towxml/parse/highlight/languages/bash.js +111 -0
- package/towxml/parse/highlight/languages/c-like.js +236 -0
- package/towxml/parse/highlight/languages/c.js +22 -0
- package/towxml/parse/highlight/languages/css.js +132 -0
- package/towxml/parse/highlight/languages/dart.js +134 -0
- package/towxml/parse/highlight/languages/go.js +63 -0
- package/towxml/parse/highlight/languages/htmlbars.js +80 -0
- package/towxml/parse/highlight/languages/java.js +125 -0
- package/towxml/parse/highlight/languages/javascript.js +265 -0
- package/towxml/parse/highlight/languages/json.js +52 -0
- package/towxml/parse/highlight/languages/less.js +148 -0
- package/towxml/parse/highlight/languages/nginx.js +101 -0
- package/towxml/parse/highlight/languages/php.js +161 -0
- package/towxml/parse/highlight/languages/python-repl.js +29 -0
- package/towxml/parse/highlight/languages/python.js +131 -0
- package/towxml/parse/highlight/languages/scss.js +122 -0
- package/towxml/parse/highlight/languages/shell.js +22 -0
- package/towxml/parse/highlight/languages/typescript.js +215 -0
- package/towxml/parse/highlight/languages/xml.js +139 -0
- package/towxml/parse/highlight/style/github.wxss +99 -0
- package/towxml/parse/highlight/style/monokai.wxss +70 -0
- package/towxml/parse/index.js +118 -0
- package/towxml/parse/markdown/index.js +67 -0
- package/towxml/parse/markdown/markdown.js +4 -0
- package/towxml/parse/markdown/plugins/echarts.js +11 -0
- package/towxml/parse/markdown/plugins/emoji.js +2 -0
- package/towxml/parse/markdown/plugins/ins.js +1 -0
- package/towxml/parse/markdown/plugins/latex.js +158 -0
- package/towxml/parse/markdown/plugins/mark.js +1 -0
- package/towxml/parse/markdown/plugins/sub.js +1 -0
- package/towxml/parse/markdown/plugins/sup.js +1 -0
- package/towxml/parse/markdown/plugins/todo.js +147 -0
- package/towxml/parse/markdown/plugins/yuml.js +20 -0
- package/towxml/parse/parse2/Parser.js +492 -0
- package/towxml/parse/parse2/Tokenizer.js +903 -0
- package/towxml/parse/parse2/domelementtype/index.js +55 -0
- package/towxml/parse/parse2/domhandler/index.js +145 -0
- package/towxml/parse/parse2/domhandler/node.js +474 -0
- package/towxml/parse/parse2/entities/decode.js +179 -0
- package/towxml/parse/parse2/entities/decode_codepoint.js +60 -0
- package/towxml/parse/parse2/entities/encode.js +77 -0
- package/towxml/parse/parse2/entities/escape.js +112 -0
- package/towxml/parse/parse2/entities/generated/decode-data-html.js +9 -0
- package/towxml/parse/parse2/entities/generated/decode-data-xml.js +9 -0
- package/towxml/parse/parse2/entities/generated/encode-html.js +12 -0
- package/towxml/parse/parse2/entities/index.js +137 -0
- package/towxml/parse/parse2/index.js +8 -0
- package/towxml/style/main.wxss +419 -0
- package/towxml/style/theme/dark.wxss +73 -0
- package/towxml/style/theme/light.wxss +63 -0
- package/towxml/table/table.js +11 -0
- package/towxml/table/table.json +6 -0
- package/towxml/table/table.wxml +24 -0
- package/towxml/table/table.wxss +0 -0
- package/towxml/todogroup/todogroup.js +20 -0
- package/towxml/todogroup/todogroup.json +6 -0
- package/towxml/todogroup/todogroup.wxml +12 -0
- package/towxml/todogroup/todogroup.wxss +3 -0
- package/towxml/towxml.js +22 -0
- package/towxml/towxml.json +6 -0
- package/towxml/towxml.wxml +5 -0
- package/towxml/towxml.wxss +8 -0
- package/towxml/yuml/yuml.js +51 -0
- package/towxml/yuml/yuml.json +5 -0
- package/towxml/yuml/yuml.wxml +5 -0
- package/towxml/yuml/yuml.wxss +0 -0
- package/utils/auth.js +17 -0
- package/utils/base64.js +67 -0
- package/utils/compressImage.js +41 -0
- package/utils/exp.js +49 -0
- package/utils/formatPost.js +18 -0
- package/utils/parseContent.js +191 -0
- package/utils/query-select.js +9 -0
- package/utils/sensitive.js +82 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/*正文样式*/
|
|
2
|
+
.h2w-dark {
|
|
3
|
+
color:#ddd;
|
|
4
|
+
background-color:#000;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**标题**/
|
|
8
|
+
.h2w-dark .h2w__h1,
|
|
9
|
+
.h2w-dark .h2w__h2 {
|
|
10
|
+
border-color:#3d3d3d;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/**表格**/
|
|
15
|
+
.h2w-dark .h2w__thead .h2w__tr {
|
|
16
|
+
background-color:#1f1f1f;
|
|
17
|
+
}
|
|
18
|
+
.h2w-dark .h2w__table .h2w__tr:nth-child(2n){
|
|
19
|
+
background-color:#090909;
|
|
20
|
+
}
|
|
21
|
+
.h2w-dark .h2w__th,
|
|
22
|
+
.h2w-dark .h2w__td {
|
|
23
|
+
border-color:#333;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/**代码块**/
|
|
28
|
+
.h2w-dark .h2w__pre,
|
|
29
|
+
.h2w-dark .h2w__pre .h2w__code {
|
|
30
|
+
background-color:#1b1b1b;
|
|
31
|
+
border-color:#262626;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.h2w-dark .h2w__code {
|
|
35
|
+
background-color:#272822;
|
|
36
|
+
border-color:#1b1c18;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
/**块元素**/
|
|
41
|
+
.h2w-dark .h2w__blockquote {
|
|
42
|
+
border-left-color:#10230f;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**内连元素**/
|
|
46
|
+
.h2w-dark .h2w__a {
|
|
47
|
+
color:#1aad16; border-color:#4d804b;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.h2w-dark .h2w__hr {
|
|
51
|
+
background-color:#242424;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.h2w-dark .h2w__mark {
|
|
55
|
+
background:yellow;
|
|
56
|
+
color:black;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.h2w-dark .h2w__todoCheckbox .wx-checkbox-input {
|
|
60
|
+
background:#2e2e2e; border-color:#494949;
|
|
61
|
+
}
|
|
62
|
+
.h2w-dark .h2w__todoCheckbox .wx-checkbox-input.wx-checkbox-input-checked {
|
|
63
|
+
background:green; border-color:#4d804b;
|
|
64
|
+
}
|
|
65
|
+
.h2w-dark .h2w__todoCheckbox .wx-checkbox-input.wx-checkbox-input-checked::before {
|
|
66
|
+
color:white;
|
|
67
|
+
}
|
|
68
|
+
.h2w-dark .h2w__lineNum {
|
|
69
|
+
color:#494949;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**代码高亮样式**/
|
|
73
|
+
@import '../../parse/highlight/style/monokai.wxss';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*正文样式*/
|
|
2
|
+
.h2w-light {
|
|
3
|
+
color:#333;
|
|
4
|
+
background-color:white;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
/**标题**/
|
|
8
|
+
.h2w-light .h2w__h1,
|
|
9
|
+
.h2w-light .h2w__h2 {
|
|
10
|
+
border-color:#eee;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
/**表格**/
|
|
15
|
+
.h2w-light .h2w__thead .h2w__tr {
|
|
16
|
+
background-color:#f6f8fa;
|
|
17
|
+
}
|
|
18
|
+
.h2w-light .h2w__table .h2w__tr:nth-child(2n){
|
|
19
|
+
background-color:#fbfcfd;
|
|
20
|
+
}
|
|
21
|
+
.h2w-light .h2w__th,
|
|
22
|
+
.h2w-light .h2w__td {
|
|
23
|
+
border-color:#dfe2e5;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/**代码块**/
|
|
28
|
+
.h2w-light .h2w__pre {
|
|
29
|
+
background-color:#f6f8fa;
|
|
30
|
+
border-color:#eaedf0;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.h2w-light .h2w__code {
|
|
34
|
+
background-color:#f6f8fa;
|
|
35
|
+
border-color:#eaedf0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
/**块元素**/
|
|
40
|
+
.h2w-light .h2w__blockquote {
|
|
41
|
+
border-left-color:#dfe2e5;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**内连元素**/
|
|
45
|
+
.h2w-light .h2w__a {
|
|
46
|
+
color: #406ce3; border-color: #576b95;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.h2w-light .h2w__hr {
|
|
50
|
+
background-color:#eee;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.h2w-light .h2w__mark {
|
|
54
|
+
background:yellow;
|
|
55
|
+
color:black;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.h2w-light .h2w__lineNum {
|
|
59
|
+
color:#ccc;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**代码高亮样式**/
|
|
63
|
+
@import '../../parse/highlight/style/github.wxss';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!--table-->
|
|
2
|
+
<block wx:if="{{data.tag === 'table'}}">
|
|
3
|
+
<view class="h2w__tableParent">
|
|
4
|
+
<view class="{{data.attrs.class}}" width="{{data.attrs.width}}" style="{{data.attrs.style}}">
|
|
5
|
+
<!--thead、tbody、tfoot-->
|
|
6
|
+
<block wx:if="{{data.children}}" wx:for="{{data.children}}" wx:for-item="item" wx:key="i">
|
|
7
|
+
<view wx:if="{{item.tag}}" class="{{item.attrs.class}}">
|
|
8
|
+
<!--tr-->
|
|
9
|
+
<block wx:if="{{item.children}}" wx:for="{{item.children}}" wx:for-item="item" wx:key="i">
|
|
10
|
+
<view wx:if="{{item.tag}}" class="{{item.attrs.class}}">
|
|
11
|
+
<!--td-->
|
|
12
|
+
<block wx:if="{{item.children}}" wx:for="{{item.children}}" wx:for-item="item" wx:key="i">
|
|
13
|
+
<view wx:if="{{item.tag}}" class="{{item.attrs.class}}" width="{{data.attrs.width}}" style="{{data.attrs.style}}">
|
|
14
|
+
<!--content-->
|
|
15
|
+
<decode wx:if="{{item.children}}" nodes="{{item}}"/>
|
|
16
|
+
</view>
|
|
17
|
+
</block>
|
|
18
|
+
</view>
|
|
19
|
+
</block>
|
|
20
|
+
</view>
|
|
21
|
+
</block>
|
|
22
|
+
</view>
|
|
23
|
+
</view>
|
|
24
|
+
</block>
|
|
File without changes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Component({
|
|
2
|
+
options: {
|
|
3
|
+
styleIsolation: 'shared'
|
|
4
|
+
},
|
|
5
|
+
properties: {
|
|
6
|
+
data: {
|
|
7
|
+
type: Object,
|
|
8
|
+
value: {}
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
data: {
|
|
12
|
+
},
|
|
13
|
+
methods: {
|
|
14
|
+
_change:function(...arg){
|
|
15
|
+
if(global._events && typeof global._events.change === 'function'){
|
|
16
|
+
global._events.change(...arg);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
})
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<checkbox-group wx:if="{{data.tag === 'todogroup'}}" class="{{data.attrs.class}}" bindchange="_change">
|
|
2
|
+
<block wx:if="{{data.children}}" wx:for="{{data.children}}" wx:for-item="item" wx:key="i">
|
|
3
|
+
<label wx:if="{{item.tag}}" class="{{item.attrs.class}}">
|
|
4
|
+
<block wx:if="{{item.children}}" wx:for="{{item.children}}" wx:for-item="item" wx:key="i">
|
|
5
|
+
<!--解析选择框-->
|
|
6
|
+
<checkbox wx:if="{{item.tag === 'checkbox'}}" class="{{item.attrs.class}}" value="{{item.attrs.value}}" data-_e="{{item}}" checked="{{item.attrs.checked}}" disabled="{{item.attrs.disabled}}"/>
|
|
7
|
+
<!--解析文字-->
|
|
8
|
+
<decode wx:if="{{item.children}}" nodes="{{item}}"/>
|
|
9
|
+
</block>
|
|
10
|
+
</label>
|
|
11
|
+
</block>
|
|
12
|
+
</checkbox-group>
|
package/towxml/towxml.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Component({
|
|
2
|
+
options:{
|
|
3
|
+
styleIsolation:'shared'
|
|
4
|
+
},
|
|
5
|
+
properties:{
|
|
6
|
+
nodes:{
|
|
7
|
+
type:Object,
|
|
8
|
+
value:{}
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
data:{
|
|
12
|
+
someData:{
|
|
13
|
+
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
methods: {
|
|
17
|
+
// ✅ 透传 linktap 事件到外层
|
|
18
|
+
onLinktap(e) {
|
|
19
|
+
this.triggerEvent('linktap', e.detail, { bubbles: true, composed: true })
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
})
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const config = require('../config');
|
|
2
|
+
Component({
|
|
3
|
+
options: {
|
|
4
|
+
styleIsolation: 'shared'
|
|
5
|
+
},
|
|
6
|
+
properties: {
|
|
7
|
+
data: {
|
|
8
|
+
type: Object,
|
|
9
|
+
value: {}
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
data: {
|
|
13
|
+
attr:{
|
|
14
|
+
src:'',
|
|
15
|
+
class:''
|
|
16
|
+
},
|
|
17
|
+
size:{
|
|
18
|
+
w:0,
|
|
19
|
+
h:0
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
lifetimes:{
|
|
23
|
+
attached:function(){
|
|
24
|
+
const _ts = this;
|
|
25
|
+
let dataAttr = this.data.data.attrs;
|
|
26
|
+
|
|
27
|
+
// 设置公式图片
|
|
28
|
+
_ts.setData({
|
|
29
|
+
attr:{
|
|
30
|
+
src:`${config.yuml.api}=${dataAttr.value}&theme=${global._theme}`,
|
|
31
|
+
class:`${dataAttr.class}`
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
methods: {
|
|
37
|
+
load:function(e){
|
|
38
|
+
const _ts = this;
|
|
39
|
+
// 公式图片加载完成则根据其图片大小、类型计算其显示的合适大小
|
|
40
|
+
let scale = 20,
|
|
41
|
+
w = e.detail.width / scale,
|
|
42
|
+
h = e.detail.height / scale;
|
|
43
|
+
_ts.setData({
|
|
44
|
+
size:{
|
|
45
|
+
w:w,
|
|
46
|
+
h:h
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
})
|
|
File without changes
|
package/utils/auth.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// utils/auth.js
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 检查是否登录
|
|
5
|
+
* @returns {boolean} 是否已登录
|
|
6
|
+
*/
|
|
7
|
+
export function checkLogin() {
|
|
8
|
+
const token = wx.getStorageSync('token');
|
|
9
|
+
if (!token) {
|
|
10
|
+
// 未登录,跳转登录页
|
|
11
|
+
wx.navigateTo({
|
|
12
|
+
url: '/pages/commonLogin/commonLogin',
|
|
13
|
+
});
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
return true;
|
|
17
|
+
}
|
package/utils/base64.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import pako from 'pako'
|
|
2
|
+
|
|
3
|
+
// Base64 + gzip 解压
|
|
4
|
+
export function decompressBase64Gzip(base64String) {
|
|
5
|
+
try {
|
|
6
|
+
// 1. Base64 -> ArrayBuffer
|
|
7
|
+
const arrayBuffer = wx.base64ToArrayBuffer(base64String)
|
|
8
|
+
|
|
9
|
+
// 2. gzip 解压
|
|
10
|
+
const uint8Array = new Uint8Array(arrayBuffer)
|
|
11
|
+
const decompressed = pako.ungzip(uint8Array)
|
|
12
|
+
|
|
13
|
+
// 3. 转字符串
|
|
14
|
+
const text = uint8ArrayToString(decompressed)
|
|
15
|
+
|
|
16
|
+
// 4. 解析 JSON
|
|
17
|
+
const json = JSON.parse(text)
|
|
18
|
+
|
|
19
|
+
return json
|
|
20
|
+
} catch (err) {
|
|
21
|
+
console.error('解压失败:', err)
|
|
22
|
+
throw err
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Uint8Array -> string
|
|
27
|
+
function uint8ArrayToString(uint8Array) {
|
|
28
|
+
let out = ''
|
|
29
|
+
let i = 0
|
|
30
|
+
let len = uint8Array.length
|
|
31
|
+
|
|
32
|
+
while (i < len) {
|
|
33
|
+
let c = uint8Array[i++]
|
|
34
|
+
|
|
35
|
+
switch (c >> 4) {
|
|
36
|
+
case 0:
|
|
37
|
+
case 1:
|
|
38
|
+
case 2:
|
|
39
|
+
case 3:
|
|
40
|
+
case 4:
|
|
41
|
+
case 5:
|
|
42
|
+
case 6:
|
|
43
|
+
case 7:
|
|
44
|
+
out += String.fromCharCode(c)
|
|
45
|
+
break
|
|
46
|
+
case 12:
|
|
47
|
+
case 13:
|
|
48
|
+
const char2 = uint8Array[i++]
|
|
49
|
+
out += String.fromCharCode(((c & 31) << 6) | (char2 & 63))
|
|
50
|
+
break
|
|
51
|
+
case 14:
|
|
52
|
+
const char2b = uint8Array[i++]
|
|
53
|
+
const char3 = uint8Array[i++]
|
|
54
|
+
out += String.fromCharCode(
|
|
55
|
+
((c & 15) << 12) | ((char2b & 63) << 6) | (char3 & 63)
|
|
56
|
+
)
|
|
57
|
+
break
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
return out
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// 判断是否空对象
|
|
65
|
+
export function isEmptyObject(obj) {
|
|
66
|
+
return obj && Object.keys(obj).length === 0
|
|
67
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 压缩图片方法
|
|
3
|
+
* @param {string} path 原图路径
|
|
4
|
+
* @returns {Promise<string>} 压缩后的临时路径
|
|
5
|
+
*/
|
|
6
|
+
export function compressImages(path) {
|
|
7
|
+
return new Promise((resolve, reject) => {
|
|
8
|
+
wx.getImageInfo({
|
|
9
|
+
src: path,
|
|
10
|
+
success: (info) => {
|
|
11
|
+
let {
|
|
12
|
+
width,
|
|
13
|
+
height
|
|
14
|
+
} = info;
|
|
15
|
+
const isLong = height > width * 4;
|
|
16
|
+
let targetWidth, targetHeight;
|
|
17
|
+
|
|
18
|
+
if (isLong) {
|
|
19
|
+
targetWidth = 1024;
|
|
20
|
+
targetHeight = Math.floor(height * (1024 / width));
|
|
21
|
+
} else {
|
|
22
|
+
const scale = Math.min(2048 / width, 2048 / height, 1);
|
|
23
|
+
targetWidth = Math.floor(width * scale);
|
|
24
|
+
targetHeight = Math.floor(height * scale);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
wx.compressImage({
|
|
28
|
+
src: path,
|
|
29
|
+
quality: 80,
|
|
30
|
+
width: targetWidth,
|
|
31
|
+
height: targetHeight,
|
|
32
|
+
success: (res) => {
|
|
33
|
+
resolve(res.tempFilePath);
|
|
34
|
+
},
|
|
35
|
+
fail: reject
|
|
36
|
+
});
|
|
37
|
+
},
|
|
38
|
+
fail: reject
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
package/utils/exp.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// 计算经验对应等级
|
|
2
|
+
export function getLevelByExp(totalExp) {
|
|
3
|
+
const levelCost = [
|
|
4
|
+
0, // 占位(0 -> 1 等级)
|
|
5
|
+
500,
|
|
6
|
+
1500,
|
|
7
|
+
3000,
|
|
8
|
+
5000,
|
|
9
|
+
10000,
|
|
10
|
+
20000,
|
|
11
|
+
40000,
|
|
12
|
+
80000,
|
|
13
|
+
150000,
|
|
14
|
+
250000,
|
|
15
|
+
400000,
|
|
16
|
+
600000,
|
|
17
|
+
1000000,
|
|
18
|
+
1800000,
|
|
19
|
+
3000000,
|
|
20
|
+
6000000,
|
|
21
|
+
10000000,
|
|
22
|
+
30000000
|
|
23
|
+
];
|
|
24
|
+
|
|
25
|
+
const total = Number(totalExp) || 0;
|
|
26
|
+
|
|
27
|
+
// 前缀和:prefix[i] = 到 i 级需累计经验
|
|
28
|
+
const prefix = [0];
|
|
29
|
+
for (let i = 1; i < levelCost.length; i++) {
|
|
30
|
+
prefix[i] = prefix[i - 1] + levelCost[i];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// 找当前等级:最大的 L 使 total >= prefix[L]
|
|
34
|
+
let level = 0;
|
|
35
|
+
for (let i = 1; i < prefix.length; i++) {
|
|
36
|
+
if (total >= prefix[i]) level = i;
|
|
37
|
+
else break;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return level;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
export function getLevelImg(level) {
|
|
45
|
+
if (level >= 15) return "/assets/images/icons/lv4.png";
|
|
46
|
+
if (level >= 10) return "/assets/images/icons/lv3.png";
|
|
47
|
+
if (level >= 5) return "/assets/images/icons/lv2.png";
|
|
48
|
+
return "/assets/images/icons/lv1.png";
|
|
49
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default function formatUTC(timestamp) {
|
|
2
|
+
var date = new Date(timestamp * 1000)
|
|
3
|
+
var month = date.getMonth() + 1
|
|
4
|
+
var day = date.getDate()
|
|
5
|
+
var hours = date.getHours().toString().padStart(2, '0')
|
|
6
|
+
var minutes = date.getMinutes().toString().padStart(2, '0')
|
|
7
|
+
return `${month}-${day} ${hours}:${minutes}`
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function formatUTCYear(timestamp) {
|
|
11
|
+
var date = new Date(timestamp * 1000)
|
|
12
|
+
var year = date.getFullYear()
|
|
13
|
+
var month = date.getMonth() + 1
|
|
14
|
+
var day = date.getDate()
|
|
15
|
+
var hours = date.getHours().toString().padStart(2, '0')
|
|
16
|
+
var minutes = date.getMinutes().toString().padStart(2, '0')
|
|
17
|
+
return `${year}-${month}-${day} ${hours}:${minutes}`
|
|
18
|
+
}
|