作者 吴孟雨

首页静态页,启动页

@@ -2,22 +2,21 @@ @@ -2,22 +2,21 @@
2 <project version="4"> 2 <project version="4">
3 <component name="ChangeListManager"> 3 <component name="ChangeListManager">
4 <list default="true" id="75f2dbf1-3658-44f1-8934-8f4aa7a66688" name="Default Changelist" comment=""> 4 <list default="true" id="75f2dbf1-3658-44f1-8934-8f4aa7a66688" name="Default Changelist" comment="">
5 - <change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />  
6 - <change afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />  
7 - <change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />  
8 - <change afterPath="$PROJECT_DIR$/.idea/科学队长.iml" afterDir="false" />  
9 - <change afterPath="$PROJECT_DIR$/app.js" afterDir="false" />  
10 - <change afterPath="$PROJECT_DIR$/app.json" afterDir="false" />  
11 - <change afterPath="$PROJECT_DIR$/app.wxss" afterDir="false" />  
12 - <change afterPath="$PROJECT_DIR$/pages/index/index.js" afterDir="false" />  
13 - <change afterPath="$PROJECT_DIR$/pages/index/index.wxml" afterDir="false" />  
14 - <change afterPath="$PROJECT_DIR$/pages/index/index.wxss" afterDir="false" />  
15 - <change afterPath="$PROJECT_DIR$/pages/logs/logs.js" afterDir="false" />  
16 - <change afterPath="$PROJECT_DIR$/pages/logs/logs.json" afterDir="false" />  
17 - <change afterPath="$PROJECT_DIR$/pages/logs/logs.wxml" afterDir="false" />  
18 - <change afterPath="$PROJECT_DIR$/pages/logs/logs.wxss" afterDir="false" />  
19 - <change afterPath="$PROJECT_DIR$/project.config.json" afterDir="false" />  
20 - <change afterPath="$PROJECT_DIR$/utils/util.js" afterDir="false" /> 5 + <change afterPath="$PROJECT_DIR$/images/start-logo.png" afterDir="false" />
  6 + <change afterPath="$PROJECT_DIR$/pages/start/start.js" afterDir="false" />
  7 + <change afterPath="$PROJECT_DIR$/pages/start/start.json" afterDir="false" />
  8 + <change afterPath="$PROJECT_DIR$/pages/start/start.wxml" afterDir="false" />
  9 + <change afterPath="$PROJECT_DIR$/pages/start/start.wxss" afterDir="false" />
  10 + <change afterPath="$PROJECT_DIR$/templates/templates.wxml" afterDir="false" />
  11 + <change afterPath="$PROJECT_DIR$/templates/templates.wxss" afterDir="false" />
  12 + <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
  13 + <change beforePath="$PROJECT_DIR$/app.js" beforeDir="false" afterPath="$PROJECT_DIR$/app.js" afterDir="false" />
  14 + <change beforePath="$PROJECT_DIR$/app.json" beforeDir="false" afterPath="$PROJECT_DIR$/app.json" afterDir="false" />
  15 + <change beforePath="$PROJECT_DIR$/app.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/app.wxss" afterDir="false" />
  16 + <change beforePath="$PROJECT_DIR$/pages/index/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.js" afterDir="false" />
  17 + <change beforePath="$PROJECT_DIR$/pages/index/index.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.wxml" afterDir="false" />
  18 + <change beforePath="$PROJECT_DIR$/pages/index/index.wxss" beforeDir="false" afterPath="$PROJECT_DIR$/pages/index/index.wxss" afterDir="false" />
  19 + <change beforePath="$PROJECT_DIR$/project.config.json" beforeDir="false" afterPath="$PROJECT_DIR$/project.config.json" afterDir="false" />
21 </list> 20 </list>
22 <ignored path="$PROJECT_DIR$/.tmp/" /> 21 <ignored path="$PROJECT_DIR$/.tmp/" />
23 <ignored path="$PROJECT_DIR$/temp/" /> 22 <ignored path="$PROJECT_DIR$/temp/" />
@@ -38,32 +37,158 @@ @@ -38,32 +37,158 @@
38 </usages-collector> 37 </usages-collector>
39 <usages-collector id="statistics.file.extensions.open"> 38 <usages-collector id="statistics.file.extensions.open">
40 <counts> 39 <counts>
41 - <entry key="wxml" value="1" /> 40 + <entry key="js" value="4" />
  41 + <entry key="json" value="7" />
  42 + <entry key="wxml" value="6" />
  43 + <entry key="wxss" value="7" />
42 </counts> 44 </counts>
43 </usages-collector> 45 </usages-collector>
44 <usages-collector id="statistics.file.types.open"> 46 <usages-collector id="statistics.file.types.open">
45 <counts> 47 <counts>
46 - <entry key="HTML" value="1" /> 48 + <entry key="CSS" value="7" />
  49 + <entry key="HTML" value="6" />
  50 + <entry key="JSON" value="7" />
  51 + <entry key="JavaScript" value="4" />
  52 + </counts>
  53 + </usages-collector>
  54 + <usages-collector id="statistics.file.extensions.edit">
  55 + <counts>
  56 + <entry key="js" value="197" />
  57 + <entry key="json" value="79" />
  58 + <entry key="txt" value="12" />
  59 + <entry key="wxml" value="405" />
  60 + <entry key="wxss" value="567" />
  61 + </counts>
  62 + </usages-collector>
  63 + <usages-collector id="statistics.file.types.edit">
  64 + <counts>
  65 + <entry key="CSS" value="567" />
  66 + <entry key="HTML" value="405" />
  67 + <entry key="JSON" value="79" />
  68 + <entry key="JavaScript" value="197" />
  69 + <entry key="PLAIN_TEXT" value="12" />
47 </counts> 70 </counts>
48 </usages-collector> 71 </usages-collector>
49 </session> 72 </session>
50 </component> 73 </component>
51 <component name="FileEditorManager"> 74 <component name="FileEditorManager">
52 <leaf> 75 <leaf>
  76 + <file pinned="false" current-in-tab="false">
  77 + <entry file="file://$PROJECT_DIR$/pages/start/start.js">
  78 + <provider selected="true" editor-type-id="text-editor">
  79 + <state relative-caret-position="506">
  80 + <caret line="32" column="37" lean-forward="true" selection-start-line="32" selection-start-column="37" selection-end-line="32" selection-end-column="37" />
  81 + </state>
  82 + </provider>
  83 + </entry>
  84 + </file>
53 <file pinned="false" current-in-tab="true"> 85 <file pinned="false" current-in-tab="true">
  86 + <entry file="file://$PROJECT_DIR$/app.json">
  87 + <provider selected="true" editor-type-id="text-editor">
  88 + <state relative-caret-position="396">
  89 + <caret line="18" column="30" lean-forward="true" selection-start-line="18" selection-start-column="30" selection-end-line="18" selection-end-column="30" />
  90 + </state>
  91 + </provider>
  92 + </entry>
  93 + </file>
  94 + <file pinned="false" current-in-tab="false">
  95 + <entry file="file://$PROJECT_DIR$/templates/templates.wxml">
  96 + <provider selected="true" editor-type-id="text-editor">
  97 + <state relative-caret-position="220">
  98 + <caret line="10" column="58" selection-start-line="10" selection-start-column="51" selection-end-line="10" selection-end-column="58" />
  99 + </state>
  100 + </provider>
  101 + </entry>
  102 + </file>
  103 + <file pinned="false" current-in-tab="false">
  104 + <entry file="file://$PROJECT_DIR$/templates/templates.wxss">
  105 + <provider selected="true" editor-type-id="text-editor">
  106 + <state relative-caret-position="740">
  107 + <caret line="66" column="25" selection-start-line="66" selection-start-column="25" selection-end-line="66" selection-end-column="25" />
  108 + </state>
  109 + </provider>
  110 + </entry>
  111 + </file>
  112 + <file pinned="false" current-in-tab="false">
  113 + <entry file="file://$PROJECT_DIR$/app.wxss">
  114 + <provider selected="true" editor-type-id="text-editor">
  115 + <state relative-caret-position="418">
  116 + <caret line="19" column="16" selection-start-line="19" selection-start-column="16" selection-end-line="19" selection-end-column="16" />
  117 + </state>
  118 + </provider>
  119 + </entry>
  120 + </file>
  121 + <file pinned="false" current-in-tab="false">
  122 + <entry file="file://$PROJECT_DIR$/pages/start/start.wxml">
  123 + <provider selected="true" editor-type-id="text-editor">
  124 + <state relative-caret-position="242">
  125 + <caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
  126 + </state>
  127 + </provider>
  128 + </entry>
  129 + </file>
  130 + <file pinned="false" current-in-tab="false">
54 <entry file="file://$PROJECT_DIR$/pages/index/index.wxml"> 131 <entry file="file://$PROJECT_DIR$/pages/index/index.wxml">
55 <provider selected="true" editor-type-id="text-editor"> 132 <provider selected="true" editor-type-id="text-editor">
56 - <state relative-caret-position="286">  
57 - <caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" /> 133 + <state relative-caret-position="352">
  134 + <caret line="16" column="23" lean-forward="true" selection-start-line="16" selection-start-column="23" selection-end-line="16" selection-end-column="23" />
  135 + </state>
  136 + </provider>
  137 + </entry>
  138 + </file>
  139 + <file pinned="false" current-in-tab="false">
  140 + <entry file="file://$PROJECT_DIR$/pages/index/index.wxss">
  141 + <provider selected="true" editor-type-id="text-editor">
  142 + <state relative-caret-position="426">
  143 + <caret line="51" column="18" lean-forward="true" selection-start-line="51" selection-start-column="18" selection-end-line="51" selection-end-column="18" />
  144 + </state>
  145 + </provider>
  146 + </entry>
  147 + </file>
  148 + <file pinned="false" current-in-tab="false">
  149 + <entry file="file://$PROJECT_DIR$/pages/index/index.json">
  150 + <provider selected="true" editor-type-id="text-editor" />
  151 + </entry>
  152 + </file>
  153 + <file pinned="false" current-in-tab="false">
  154 + <entry file="file://$PROJECT_DIR$/pages/index/index.js">
  155 + <provider selected="true" editor-type-id="text-editor">
  156 + <state relative-caret-position="333">
  157 + <caret line="16" column="25" lean-forward="true" selection-start-line="16" selection-start-column="25" selection-end-line="16" selection-end-column="25" />
  158 + <folding>
  159 + <element signature="n#!!doc" expanded="true" />
  160 + </folding>
58 </state> 161 </state>
59 </provider> 162 </provider>
60 </entry> 163 </entry>
61 </file> 164 </file>
62 </leaf> 165 </leaf>
63 </component> 166 </component>
  167 + <component name="FindInProjectRecents">
  168 + <findStrings>
  169 + <find>getUserInfo</find>
  170 + </findStrings>
  171 + </component>
64 <component name="Git.Settings"> 172 <component name="Git.Settings">
65 <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" /> 173 <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
66 </component> 174 </component>
  175 + <component name="IdeDocumentHistory">
  176 + <option name="CHANGED_PATHS">
  177 + <list>
  178 + <option value="$PROJECT_DIR$/project.config.json" />
  179 + <option value="$PROJECT_DIR$/app.js" />
  180 + <option value="$PROJECT_DIR$/pages/start/start.wxml" />
  181 + <option value="$PROJECT_DIR$/pages/start/start.js" />
  182 + <option value="$PROJECT_DIR$/app.wxss" />
  183 + <option value="$PROJECT_DIR$/pages/index/index.wxss" />
  184 + <option value="$PROJECT_DIR$/pages/index/index.wxml" />
  185 + <option value="$PROJECT_DIR$/pages/index/index.js" />
  186 + <option value="$PROJECT_DIR$/templates/templates.wxml" />
  187 + <option value="$PROJECT_DIR$/templates/templates.wxss" />
  188 + <option value="$PROJECT_DIR$/app.json" />
  189 + </list>
  190 + </option>
  191 + </component>
67 <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" /> 192 <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
68 <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" /> 193 <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
69 <component name="JsGulpfileManager"> 194 <component name="JsGulpfileManager">
@@ -71,9 +196,10 @@ @@ -71,9 +196,10 @@
71 <sorting>DEFINITION_ORDER</sorting> 196 <sorting>DEFINITION_ORDER</sorting>
72 </component> 197 </component>
73 <component name="ProjectFrameBounds" extendedState="6"> 198 <component name="ProjectFrameBounds" extendedState="6">
74 - <option name="x" value="-8" />  
75 - <option name="width" value="1936" />  
76 - <option name="height" value="1047" /> 199 + <option name="x" value="437" />
  200 + <option name="y" value="57" />
  201 + <option name="width" value="1400" />
  202 + <option name="height" value="1000" />
77 </component> 203 </component>
78 <component name="ProjectLevelVcsManager" settingsEditedManually="true" /> 204 <component name="ProjectLevelVcsManager" settingsEditedManually="true" />
79 <component name="ProjectView"> 205 <component name="ProjectView">
@@ -99,6 +225,11 @@ @@ -99,6 +225,11 @@
99 <item name="pages" type="462c0819:PsiDirectoryNode" /> 225 <item name="pages" type="462c0819:PsiDirectoryNode" />
100 <item name="index" type="462c0819:PsiDirectoryNode" /> 226 <item name="index" type="462c0819:PsiDirectoryNode" />
101 </path> 227 </path>
  228 + <path>
  229 + <item name="科学队长" type="b2602c69:ProjectViewProjectNode" />
  230 + <item name="科学队长" type="462c0819:PsiDirectoryNode" />
  231 + <item name="templates" type="462c0819:PsiDirectoryNode" />
  232 + </path>
102 </expand> 233 </expand>
103 <select /> 234 <select />
104 </subPane> 235 </subPane>
@@ -108,10 +239,17 @@ @@ -108,10 +239,17 @@
108 </component> 239 </component>
109 <component name="PropertiesComponent"> 240 <component name="PropertiesComponent">
110 <property name="WebServerToolWindowFactoryState" value="false" /> 241 <property name="WebServerToolWindowFactoryState" value="false" />
111 - <property name="last_opened_file_path" value="$PROJECT_DIR$" /> 242 + <property name="last_opened_file_path" value="D:/info" />
112 <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> 243 <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
113 <property name="nodejs_npm_path_reset_for_default_project" value="true" /> 244 <property name="nodejs_npm_path_reset_for_default_project" value="true" />
114 </component> 245 </component>
  246 + <component name="RecentsManager">
  247 + <key name="CopyFile.RECENT_KEYS">
  248 + <recent name="D:\小程序\科学队长" />
  249 + <recent name="D:\小程序\科学队长\images" />
  250 + <recent name="D:\小程序\科学队长\pages" />
  251 + </key>
  252 + </component>
115 <component name="RunDashboard"> 253 <component name="RunDashboard">
116 <option name="ruleStates"> 254 <option name="ruleStates">
117 <list> 255 <list>
@@ -134,22 +272,30 @@ @@ -134,22 +272,30 @@
134 <option name="number" value="Default" /> 272 <option name="number" value="Default" />
135 <option name="presentableId" value="Default" /> 273 <option name="presentableId" value="Default" />
136 <updated>1541813457161</updated> 274 <updated>1541813457161</updated>
137 - <workItem from="1541813458425" duration="326000" /> 275 + <workItem from="1541813458425" duration="8400000" />
  276 + </task>
  277 + <task id="LOCAL-00001" summary="first commit">
  278 + <created>1541813802326</created>
  279 + <option name="number" value="00001" />
  280 + <option name="presentableId" value="LOCAL-00001" />
  281 + <option name="project" value="LOCAL" />
  282 + <updated>1541813802326</updated>
138 </task> 283 </task>
  284 + <option name="localTasksCounter" value="2" />
139 <servers /> 285 <servers />
140 </component> 286 </component>
141 <component name="TimeTrackingManager"> 287 <component name="TimeTrackingManager">
142 - <option name="totallyTimeSpent" value="326000" /> 288 + <option name="totallyTimeSpent" value="8400000" />
143 </component> 289 </component>
144 <component name="ToolWindowManager"> 290 <component name="ToolWindowManager">
145 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" /> 291 <frame x="-8" y="-8" width="1936" height="1056" extended-state="6" />
146 <editor active="true" /> 292 <editor active="true" />
147 <layout> 293 <layout>
148 <window_info id="Favorites" side_tool="true" /> 294 <window_info id="Favorites" side_tool="true" />
149 - <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.12170706" /> 295 + <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.12170706" />
150 <window_info id="Structure" order="1" side_tool="true" weight="0.25" /> 296 <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
151 <window_info anchor="bottom" id="Docker" show_stripe_button="false" /> 297 <window_info anchor="bottom" id="Docker" show_stripe_button="false" />
152 - <window_info active="true" anchor="bottom" id="Version Control" visible="true" weight="0.329718" /> 298 + <window_info anchor="bottom" id="Version Control" weight="0.329718" />
153 <window_info anchor="bottom" id="Terminal" /> 299 <window_info anchor="bottom" id="Terminal" />
154 <window_info anchor="bottom" id="Event Log" side_tool="true" /> 300 <window_info anchor="bottom" id="Event Log" side_tool="true" />
155 <window_info anchor="bottom" id="Message" order="0" /> 301 <window_info anchor="bottom" id="Message" order="0" />
@@ -196,11 +342,117 @@ @@ -196,11 +342,117 @@
196 <component name="VcsContentAnnotationSettings"> 342 <component name="VcsContentAnnotationSettings">
197 <option name="myLimit" value="2678400000" /> 343 <option name="myLimit" value="2678400000" />
198 </component> 344 </component>
  345 + <component name="VcsManagerConfiguration">
  346 + <MESSAGE value="first commit" />
  347 + <option name="LAST_COMMIT_MESSAGE" value="first commit" />
  348 + </component>
199 <component name="editorHistoryManager"> 349 <component name="editorHistoryManager">
  350 + <entry file="file://$PROJECT_DIR$/pages/start/start.json">
  351 + <provider selected="true" editor-type-id="text-editor" />
  352 + </entry>
  353 + <entry file="file://$PROJECT_DIR$/pages/logs/logs.wxss">
  354 + <provider selected="true" editor-type-id="text-editor">
  355 + <state relative-caret-position="176">
  356 + <caret line="8" lean-forward="true" selection-start-line="8" selection-end-line="8" />
  357 + </state>
  358 + </provider>
  359 + </entry>
  360 + <entry file="file://$PROJECT_DIR$/pages/logs/logs.wxml">
  361 + <provider selected="true" editor-type-id="text-editor" />
  362 + </entry>
  363 + <entry file="file://$PROJECT_DIR$/pages/logs/logs.json">
  364 + <provider selected="true" editor-type-id="text-editor" />
  365 + </entry>
  366 + <entry file="file://$PROJECT_DIR$/pages/logs/logs.js">
  367 + <provider selected="true" editor-type-id="text-editor" />
  368 + </entry>
  369 + <entry file="file://$PROJECT_DIR$/pages/start/start.wxss">
  370 + <provider selected="true" editor-type-id="text-editor">
  371 + <state relative-caret-position="660">
  372 + <caret line="30" column="25" lean-forward="true" selection-start-line="30" selection-start-column="25" selection-end-line="30" selection-end-column="25" />
  373 + </state>
  374 + </provider>
  375 + </entry>
  376 + <entry file="file://$PROJECT_DIR$/app.js">
  377 + <provider selected="true" editor-type-id="text-editor">
  378 + <state relative-caret-position="410">
  379 + <caret line="141" column="21" lean-forward="true" selection-start-line="141" selection-start-column="21" selection-end-line="141" selection-end-column="21" />
  380 + </state>
  381 + </provider>
  382 + </entry>
  383 + <entry file="file://$PROJECT_DIR$/project.config.json">
  384 + <provider selected="true" editor-type-id="text-editor">
  385 + <state relative-caret-position="484">
  386 + <caret line="22" column="4" selection-start-line="22" selection-start-column="4" selection-end-line="22" selection-end-column="4" />
  387 + </state>
  388 + </provider>
  389 + </entry>
  390 + <entry file="file://$PROJECT_DIR$/pages/start/start.wxml">
  391 + <provider selected="true" editor-type-id="text-editor">
  392 + <state relative-caret-position="242">
  393 + <caret line="11" lean-forward="true" selection-start-line="11" selection-end-line="11" />
  394 + </state>
  395 + </provider>
  396 + </entry>
  397 + <entry file="file://$PROJECT_DIR$/pages/start/start.js">
  398 + <provider selected="true" editor-type-id="text-editor">
  399 + <state relative-caret-position="506">
  400 + <caret line="32" column="37" lean-forward="true" selection-start-line="32" selection-start-column="37" selection-end-line="32" selection-end-column="37" />
  401 + </state>
  402 + </provider>
  403 + </entry>
  404 + <entry file="file://$PROJECT_DIR$/app.wxss">
  405 + <provider selected="true" editor-type-id="text-editor">
  406 + <state relative-caret-position="418">
  407 + <caret line="19" column="16" selection-start-line="19" selection-start-column="16" selection-end-line="19" selection-end-column="16" />
  408 + </state>
  409 + </provider>
  410 + </entry>
  411 + <entry file="file://$PROJECT_DIR$/pages/index/index.json">
  412 + <provider selected="true" editor-type-id="text-editor" />
  413 + </entry>
  414 + <entry file="file://$PROJECT_DIR$/pages/index/index.js">
  415 + <provider selected="true" editor-type-id="text-editor">
  416 + <state relative-caret-position="333">
  417 + <caret line="16" column="25" lean-forward="true" selection-start-line="16" selection-start-column="25" selection-end-line="16" selection-end-column="25" />
  418 + <folding>
  419 + <element signature="n#!!doc" expanded="true" />
  420 + </folding>
  421 + </state>
  422 + </provider>
  423 + </entry>
200 <entry file="file://$PROJECT_DIR$/pages/index/index.wxml"> 424 <entry file="file://$PROJECT_DIR$/pages/index/index.wxml">
201 <provider selected="true" editor-type-id="text-editor"> 425 <provider selected="true" editor-type-id="text-editor">
202 - <state relative-caret-position="286">  
203 - <caret line="13" lean-forward="true" selection-start-line="13" selection-end-line="13" /> 426 + <state relative-caret-position="352">
  427 + <caret line="16" column="23" lean-forward="true" selection-start-line="16" selection-start-column="23" selection-end-line="16" selection-end-column="23" />
  428 + </state>
  429 + </provider>
  430 + </entry>
  431 + <entry file="file://$PROJECT_DIR$/pages/index/index.wxss">
  432 + <provider selected="true" editor-type-id="text-editor">
  433 + <state relative-caret-position="426">
  434 + <caret line="51" column="18" lean-forward="true" selection-start-line="51" selection-start-column="18" selection-end-line="51" selection-end-column="18" />
  435 + </state>
  436 + </provider>
  437 + </entry>
  438 + <entry file="file://$PROJECT_DIR$/templates/templates.wxml">
  439 + <provider selected="true" editor-type-id="text-editor">
  440 + <state relative-caret-position="220">
  441 + <caret line="10" column="58" selection-start-line="10" selection-start-column="51" selection-end-line="10" selection-end-column="58" />
  442 + </state>
  443 + </provider>
  444 + </entry>
  445 + <entry file="file://$PROJECT_DIR$/templates/templates.wxss">
  446 + <provider selected="true" editor-type-id="text-editor">
  447 + <state relative-caret-position="740">
  448 + <caret line="66" column="25" selection-start-line="66" selection-start-column="25" selection-end-line="66" selection-end-column="25" />
  449 + </state>
  450 + </provider>
  451 + </entry>
  452 + <entry file="file://$PROJECT_DIR$/app.json">
  453 + <provider selected="true" editor-type-id="text-editor">
  454 + <state relative-caret-position="396">
  455 + <caret line="18" column="30" lean-forward="true" selection-start-line="18" selection-start-column="30" selection-end-line="18" selection-end-column="30" />
204 </state> 456 </state>
205 </provider> 457 </provider>
206 </entry> 458 </entry>
1 //app.js 1 //app.js
  2 +// import md5 from 'utils/md5.js';
2 App({ 3 App({
3 onLaunch: function () { 4 onLaunch: function () {
4 // 展示本地存储能力 5 // 展示本地存储能力
5 var logs = wx.getStorageSync('logs') || [] 6 var logs = wx.getStorageSync('logs') || []
6 logs.unshift(Date.now()) 7 logs.unshift(Date.now())
7 wx.setStorageSync('logs', logs) 8 wx.setStorageSync('logs', logs)
8 -  
9 // 登录 9 // 登录
10 - wx.login({  
11 - success: res => {  
12 - // 发送 res.code 到后台换取 openId, sessionKey, unionId 10 + // wx.login({
  11 + // success: res => {
  12 + // // 发送 res.code 到后台换取 openId, sessionKey, unionId
  13 + // }
  14 + // })
  15 + // 获取用户信息
  16 + // wx.getSetting({
  17 + // success: res => {
  18 + // if (res.authSetting['scope.userInfo']) {
  19 + // // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  20 + // wx.getUserInfo({
  21 + // success: res => {
  22 + // // 可以将 res 发送给后台解码出 unionId
  23 + // this.globalData.userInfo = res.userInfo
  24 + // // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  25 + // // 所以此处加入 callback 以防止这种情况
  26 + // if (this.userInfoReadyCallback) {
  27 + // this.userInfoReadyCallback(res)
  28 + // }
  29 + // }
  30 + // })
  31 + // }
  32 + // }
  33 + // })
  34 + },
  35 + post: function (url,data,headerParams) {
  36 + /**
  37 + * 自定义post函数,返回Promise
  38 + * +-------------------
  39 + * @param {String} url 接口网址
  40 + * @param {arrayObject} data 要传的数组对象 like: {name: 'name', age: 32}
  41 + * +-------------------
  42 + * @return {Promise} promise 返回promise供后续操作
  43 + */
  44 + // wx.showLoading({
  45 + // title: '加载中',
  46 + // })
  47 + wx.showNavigationBarLoading()
  48 + // wx.showToast({
  49 + // title: '加载中',
  50 + // icon:'none',
  51 + // })
  52 + var promise = new Promise((resolve, reject) => {
  53 + //init
  54 + let that = this;
  55 + let postData = data;
  56 + let baseUrl = 'http://informationxcx.w.bronet.cn/api';
  57 + //网络请求
  58 + let header = {
  59 + 'content-type': 'application/x-www-form-urlencoded'
13 } 60 }
  61 + header = Object.assign(header, headerParams)
  62 + wx.request({
  63 + url: baseUrl + url,
  64 + data: postData,
  65 + method: 'POST',
  66 + header: header,
  67 + success: function (res) {//返回取得的数据
  68 + if (res.data.code == '20000') {
  69 + resolve(res.data.data);
  70 + } else if (res.data.code == '40001') {//返回错误提示信息
  71 + wx.showModal({
  72 + title: '提示',
  73 + content: '登录已过期请重新登录!',
  74 + showCancel: false,
  75 + success: function (res) {
  76 + if (res.confirm) {
  77 + wx.removeStorageSync('token');
  78 + wx.navigateTo({
  79 + url: '/pages/start/start',
14 }) 80 })
15 - // 获取用户信息  
16 - wx.getSetting({  
17 - success: res => {  
18 - if (res.authSetting['scope.userInfo']) {  
19 - // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框  
20 - wx.getUserInfo({  
21 - success: res => {  
22 - // 可以将 res 发送给后台解码出 unionId  
23 - this.globalData.userInfo = res.userInfo  
24 -  
25 - // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回  
26 - // 所以此处加入 callback 以防止这种情况  
27 - if (this.userInfoReadyCallback) {  
28 - this.userInfoReadyCallback(res)  
29 } 81 }
30 } 82 }
31 }) 83 })
  84 + } else if (res.data.code == '40000') {
  85 + wx.showModal({
  86 + title: '提示',
  87 + content: res.data.msg,
  88 + showCancel: false,
  89 + success: function (res) { }
  90 + })
  91 + } else {
  92 + wx.showModal({
  93 + title: '提示',
  94 + content: res.data.msg,
  95 + showCancel: false,
  96 + })
  97 + reject(res.data)
32 } 98 }
  99 + setTimeout(function () {
  100 + // wx.hideLoading()
  101 + // wx.hideToast()
  102 + wx.hideNavigationBarLoading()
  103 + }, 500)
  104 + },
  105 + error: function (e) {
  106 + reject('网络出错');
  107 + // wx.hideLoading()
  108 + wx.hideNavigationBarLoading()
33 } 109 }
34 }) 110 })
  111 + });
  112 + return promise;
  113 + },
  114 + formCollect(id){
  115 + let url = '/sign/formid'
  116 + let params = {
  117 + formid: id,
  118 + openid: wx.getStorageSync('openId')
  119 + }
  120 + this.post(url,params).then((res)=>{
  121 + console.log(res)
  122 + }).catch((errMsg)=>{
  123 +
  124 + })
  125 + },
  126 + nowDate() {
  127 + let date = new Date();
  128 + let month = date.getMonth() + 1;
  129 + let day = date.getDate();
  130 + let hours = date.getHours();
  131 + let minutes = date.getMinutes();
  132 + let Y = date.getFullYear() + '/' + (month > 9 ? month : ('0' + month)) + '/' + (day > 9 ? day : ('0' + day));
  133 + let H = (hours>9?hours:('0'+hours)) + ':' +(minutes>9?minutes:('0'+minutes));
  134 + let time = [];
  135 + time.push(Y,H);
  136 + let new_time = time.join(' ');
  137 + return new_time;
  138 + },
  139 + initDate(a){
  140 + let date1 = new Date();
  141 + let time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate();
  142 + let date2 = new Date(date1);
  143 + date2.setDate(date1.getDate() + a);
  144 + let time2 = date2.getFullYear() + "-" + (date2.getMonth() + 1) + "-" + date2.getDate();
  145 + return time2;
  146 + },
  147 + // 数组移除指定元素
  148 + arryRemove(arr, item){
  149 + return arr.filter(function (ele) {
  150 + return ele != item;
  151 + })
  152 + },
  153 + strTime(strtime){
  154 + let str = 'bronet' + strtime + 'beijing'
  155 + return md5(md5(str))
35 }, 156 },
36 globalData: { 157 globalData: {
37 - userInfo: null 158 + userInfo: null,
  159 + baseUrl:'https://beijing.wx.broteam.cn'
38 } 160 }
39 }) 161 })
1 { 1 {
2 - "pages":[ 2 + "pages": [
3 "pages/index/index", 3 "pages/index/index",
4 - "pages/logs/logs" 4 + "pages/start/start",
  5 + "pages/logs/logs",
  6 + "pages/clock/clock",
  7 + "pages/my/my"
5 ], 8 ],
6 - "window":{  
7 - "backgroundTextStyle":"light",  
8 - "navigationBarBackgroundColor": "#fff",  
9 - "navigationBarTitleText": "WeChat",  
10 - "navigationBarTextStyle":"black" 9 + "window": {
  10 + "backgroundTextStyle": "light",
  11 + "navigationBarBackgroundColor": "#3FA9F5",
  12 + "navigationBarTitleText": "科学队长实验室",
  13 + "navigationBarTextStyle": "white"
  14 + },
  15 + "tabBar": {
  16 + "color": "#6F6F6F",
  17 + "selectedColor": "#5AB7F9",
  18 + "borderStyle": "black",
  19 + "backgroundColor": "#fff",
  20 + "list": [
  21 + {
  22 + "pagePath": "pages/index/index",
  23 + "text": "首页",
  24 + "iconPath": "/images/home0.png",
  25 + "selectedIconPath": "/images/home1.png"
  26 + },
  27 + {
  28 + "pagePath": "pages/clock/clock",
  29 + "text": "打卡",
  30 + "iconPath": "/images/clock0.png",
  31 + "selectedIconPath": "/images/clock1.png"
  32 + },
  33 + {
  34 + "pagePath": "pages/my/my",
  35 + "text": "我的",
  36 + "iconPath": "/images/my0.png",
  37 + "selectedIconPath": "/images/my1.png"
  38 + }
  39 + ]
11 } 40 }
12 } 41 }
1 /**app.wxss**/ 1 /**app.wxss**/
2 -.container {  
3 - height: 100%;  
4 - display: flex;  
5 - flex-direction: column;  
6 - align-items: center;  
7 - justify-content: space-between;  
8 - padding: 200rpx 0;  
9 - box-sizing: border-box; 2 +/*.container {*/
  3 + /*height: 100%;*/
  4 + /*display: flex;*/
  5 + /*flex-direction: column;*/
  6 + /*align-items: center;*/
  7 + /*justify-content: space-between;*/
  8 + /*padding: 200rpx 0;*/
  9 + /*box-sizing: border-box;*/
  10 +/*}*/
  11 +@font-face {
  12 + font-family: 'iconfont'; /* project id 912375 */
  13 + src: url('//at.alicdn.com/t/font_912375_rrnjo8y2a0b.eot');
  14 + src: url('//at.alicdn.com/t/font_912375_rrnjo8y2a0b.eot?#iefix') format('embedded-opentype'),
  15 + url('//at.alicdn.com/t/font_912375_rrnjo8y2a0b.woff') format('woff'),
  16 + url('//at.alicdn.com/t/font_912375_rrnjo8y2a0b.ttf') format('truetype'),
  17 + url('//at.alicdn.com/t/font_912375_rrnjo8y2a0b.svg#iconfont') format('svg');
10 } 18 }
  19 +.iconfont {
  20 + font-family:"iconfont" !important;
  21 + font-size:16px;
  22 + font-style:normal;
  23 + -webkit-font-smoothing: antialiased;
  24 + -moz-osx-font-smoothing: grayscale;
  25 +}
  26 +.icon-wode:before { content: "\e67b"; }
  27 +.icon-shouye:before { content: "\e6a5"; }
  28 +.icon-dianji:before { content: "\e600"; }
  1 +// pages/clock/clock.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +<!--pages/clock/clock.wxml-->
  2 +<text>pages/clock/clock.wxml</text>
  1 +/* pages/clock/clock.wxss */
@@ -4,15 +4,23 @@ const app = getApp() @@ -4,15 +4,23 @@ const app = getApp()
4 4
5 Page({ 5 Page({
6 data: { 6 data: {
7 - motto: 'Hello World',  
8 - userInfo: {},  
9 - hasUserInfo: false,  
10 - canIUse: wx.canIUse('button.open-type.getUserInfo') 7 + imgUrls:[
  8 + {'url': '../../images/banner.jpg'},
  9 + {'url': '../../images/banner.jpg'},
  10 + {'url': '../../images/banner.jpg'},],
  11 + autoplay: true, //是否自动轮播
  12 + interval: 2000, //间隔时间
  13 + duration: 500, //滑动时间
  14 + test_info: {
  15 + is_this_week: true,
  16 + url: [{url:'../../images/test_img.jpg'}],
  17 + ordered: false,
  18 + time: '10月08号-10月14号'
11 }, 19 },
12 - //事件处理函数  
13 - bindViewTap: function() {  
14 - wx.navigateTo({  
15 - url: '../logs/logs' 20 + },
  21 + swiperChange: function (e) { //切换轮播图
  22 + this.setData({
  23 + currentSwiper: e.detail.current
16 }) 24 })
17 }, 25 },
18 onLoad: function () { 26 onLoad: function () {
1 <!--index.wxml--> 1 <!--index.wxml-->
2 <view class="container"> 2 <view class="container">
3 - <view class="userinfo">  
4 - <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>  
5 - <block wx:else>  
6 - <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>  
7 - <text class="userinfo-nickname">{{userInfo.nickName}}</text> 3 + <!--轮播图-->
  4 + <view class="wrap">
  5 + <swiper autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="true"
  6 + bindchange="swiperChange">
  7 + <block wx:for="{{imgUrls}}" wx:key="index">
  8 + <swiper-item>
  9 + <navigator url="{{item.url}}" hover-class="navigator-hover">
  10 + <view class="index_top">
  11 + <image src="{{item.url}}" class="slide-image" mode="aspectFill"/>
  12 + </view>
  13 + </navigator>
  14 + </swiper-item>
  15 + </block>
  16 + </swiper>
  17 + <view class="dots">
  18 + <block wx:for="{{ imgUrls}}" wx:key>
  19 + <view class="dot{{index == currentSwiper ? ' active' : ''}}"></view>
8 </block> 20 </block>
9 </view> 21 </view>
10 - <view class="usermotto">  
11 - <text class="user-motto">{{motto}}</text>  
12 </view> 22 </view>
  23 +
  24 + <view class="btn-box">
  25 + <view class="buy-btn">
  26 + <text>点击图片可跳转到购买页</text>
  27 + </view>
  28 + </view>
  29 +
  30 + <import src="/templates/templates.wxml" />
  31 + <template is="experiment" data="{{...test_info}}"></template>
13 </view> 32 </view>
1 /**index.wxss**/ 1 /**index.wxss**/
2 -.userinfo { 2 +@import "../../templates/templates.wxss";
  3 +
  4 +.wrap {
  5 + height: auto;
  6 + position: relative;
  7 +}
  8 +
  9 +swiper {
  10 + display: block;
  11 + height: 376rpx;
  12 +}
  13 +
  14 +/*用来包裹所有的小圆点 */
  15 +
  16 +.dots {
  17 + width: 156rpx;
  18 + height: 36rpx;
3 display: flex; 19 display: flex;
4 - flex-direction: column;  
5 - align-items: center; 20 + flex-direction: row;
  21 + position: absolute;
  22 + left: 320rpx;
  23 + bottom: 20rpx;
  24 + z-index: 10;
6 } 25 }
7 26
8 -.userinfo-avatar {  
9 - width: 128rpx;  
10 - height: 128rpx;  
11 - margin: 20rpx; 27 +/*未选中时的小圆点样式 */
  28 +
  29 +.dot {
  30 + width: 16rpx;
  31 + height: 16rpx;
12 border-radius: 50%; 32 border-radius: 50%;
  33 + margin-right: 26rpx;
  34 + background-color: white;
  35 + opacity: 0.6;
  36 +}
  37 +
  38 +/*选中以后的小圆点样式 */
  39 +
  40 +.active {
  41 + width: 30rpx;
  42 + height: 16rpx;
  43 + border-radius: 8rpx;
  44 + opacity: 1;
13 } 45 }
14 46
15 -.userinfo-nickname {  
16 - color: #aaa; 47 +.index_top {
  48 + width: 100%;
  49 + overflow: hidden;
17 } 50 }
18 51
19 -.usermotto {  
20 - margin-top: 200px; 52 +.index_top image {
  53 + width: 100%;
  54 + height: 376rpx;
  55 +}
  56 +
  57 +.btn-box {
  58 + padding: 22rpx 20rpx;
  59 + box-sizing: border-box;
  60 +}
  61 +
  62 +.buy-btn {
  63 + width: 100%;
  64 + height: 150rpx;
  65 + /*padding: 22rpx 20rpx;*/
  66 + /*margin-top: 22rpx;*/
  67 + /*margin-bottom: 22rpx;*/
  68 + /*margin-left: 20rpx;*/
  69 + /*margin-right: 20rpx;*/
  70 + box-sizing: border-box;
  71 + background: #5AB7F9;
  72 + border-radius: 20rpx;
  73 + display: flex;
  74 + align-items: center;
  75 + justify-content: center;
  76 +}
  77 +.buy-btn text {
  78 + color: #ffffff;
  79 + font-size: 24rpx;
21 } 80 }
  1 +// pages/my/my.js
  2 +Page({
  3 +
  4 + /**
  5 + * 页面的初始数据
  6 + */
  7 + data: {
  8 +
  9 + },
  10 +
  11 + /**
  12 + * 生命周期函数--监听页面加载
  13 + */
  14 + onLoad: function (options) {
  15 +
  16 + },
  17 +
  18 + /**
  19 + * 生命周期函数--监听页面初次渲染完成
  20 + */
  21 + onReady: function () {
  22 +
  23 + },
  24 +
  25 + /**
  26 + * 生命周期函数--监听页面显示
  27 + */
  28 + onShow: function () {
  29 +
  30 + },
  31 +
  32 + /**
  33 + * 生命周期函数--监听页面隐藏
  34 + */
  35 + onHide: function () {
  36 +
  37 + },
  38 +
  39 + /**
  40 + * 生命周期函数--监听页面卸载
  41 + */
  42 + onUnload: function () {
  43 +
  44 + },
  45 +
  46 + /**
  47 + * 页面相关事件处理函数--监听用户下拉动作
  48 + */
  49 + onPullDownRefresh: function () {
  50 +
  51 + },
  52 +
  53 + /**
  54 + * 页面上拉触底事件的处理函数
  55 + */
  56 + onReachBottom: function () {
  57 +
  58 + },
  59 +
  60 + /**
  61 + * 用户点击右上角分享
  62 + */
  63 + onShareAppMessage: function () {
  64 +
  65 + }
  66 +})
  1 +<!--pages/my/my.wxml-->
  2 +<text>pages/my/my.wxml</text>
  1 +/* pages/my/my.wxss */
  1 +// var appjs = require("../../app.js");
  2 +const app = getApp()
  3 +Page({
  4 +
  5 + /**
  6 + * 页面的初始数据
  7 + */
  8 + data: {
  9 + openid: '',
  10 + session_key: '',
  11 + },
  12 + // 获取用户信息
  13 + start(e) {
  14 + let that = this;
  15 + console.log('点击');
  16 + // wx.redirectTo({
  17 + // url: '/pages/index/index',
  18 + // })
  19 + let url = '/wxapp/public/login';
  20 + // console.log(that.data.openid)
  21 + let params = {
  22 + encrypted_data: e.detail.encryptedData,
  23 + iv: e.detail.iv,
  24 + raw_data: e.detail.rawData,
  25 + signature: e.detail.signature,
  26 + openid: that.data.openid,
  27 + session_key: that.data.session_key,
  28 + }
  29 + app.post(url, params).then((ret) => {
  30 + wx.setStorageSync('token', ret.token)
  31 + app.globalData.userInfo = ret.user_type
  32 + // console.log('userInfo',app.globalData.userInfo,ret);
  33 + if (ret.user_type == 2) {
  34 + wx.switchTab({
  35 + url: '/pages/index/index',
  36 + })
  37 + }
  38 + })
  39 + },
  40 + example() {
  41 + app.post(url, {
  42 + id: 1
  43 + }, {}).then((res) => {
  44 + this.setData({
  45 + code: res
  46 + })
  47 + }).catch((err) => {
  48 + })
  49 + },
  50 + /**
  51 + * 生命周期函数--监听页面加载
  52 + */
  53 + onLoad: function (options) {
  54 + let that = this
  55 + let url = '/wxapp/public/getSessionKey'
  56 + wx.login({
  57 + success: function (res) {
  58 + // console.log(res)
  59 + app.post(url, {
  60 + code: res.code
  61 + }, {}).then((ret) => {
  62 + // console.log('res',ret);
  63 + that.setData({
  64 + openid: ret.openid,
  65 + session_key: ret.session_key
  66 + })
  67 + })
  68 + },
  69 + fail: function (res) {
  70 + },
  71 + complete: function (res) {
  72 + },
  73 + })
  74 + },
  75 +
  76 + /**
  77 + * 生命周期函数--监听页面初次渲染完成
  78 + */
  79 + onReady: function () {
  80 +
  81 + },
  82 +
  83 + /**
  84 + * 生命周期函数--监听页面显示
  85 + */
  86 + onShow: function () {
  87 +
  88 + },
  89 +
  90 + /**
  91 + * 生命周期函数--监听页面隐藏
  92 + */
  93 + onHide: function () {
  94 +
  95 + },
  96 +
  97 + /**
  98 + * 生命周期函数--监听页面卸载
  99 + */
  100 + onUnload: function () {
  101 +
  102 + },
  103 +
  104 + /**
  105 + * 页面相关事件处理函数--监听用户下拉动作
  106 + */
  107 + onPullDownRefresh: function () {
  108 +
  109 + },
  110 +
  111 + /**
  112 + * 页面上拉触底事件的处理函数
  113 + */
  114 + onReachBottom: function () {
  115 +
  116 + },
  117 +
  118 + /**
  119 + * 用户点击右上角分享
  120 + */
  121 + onShareAppMessage: function () {
  122 +
  123 + }
  124 +})
  1 +<!--pages/start/start.wxml-->
  2 +<view class= 'ic_img'>
  3 + <image src='../../images/start-logo.png'></image>
  4 +</view>
  5 +
  6 +<text class='tit'>
  7 + 科学队长
  8 +</text>
  9 +
  10 +<button class='go_btn' open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="start">立即开启</button>
  11 +<!--<view class='go_btn'bindtap="start">立即开启</view>-->
  1 +/* pages/start/start.wxss */
  2 +.ic_img {
  3 + width: 320rpx;
  4 + height: 320rpx;
  5 + margin: 147rpx auto 0rpx;
  6 +}
  7 +
  8 +.ic_img image {
  9 + width: 100%;
  10 + height: 100%;
  11 +}
  12 +
  13 +.tit {
  14 + font-size: 30rpx;
  15 + color: #5493FB;
  16 + text-align: center;
  17 + display: block;
  18 + line-height: 40rpx;
  19 +}
  20 +
  21 +.go_btn {
  22 + width: 360rpx;
  23 + height: 80rpx;
  24 + color: #fff;
  25 + position: absolute;
  26 + bottom: 182rpx;
  27 + left: 0;
  28 + right: 0;
  29 + margin: 0 auto;
  30 + background: #5493FB;
  31 + /*background: linear-gradient(to bottom right, #ffc536, #ffab2e); !* 标准的语法 *!*/
  32 + border-radius: 40rpx;
  33 + line-height: 80rpx;
  34 +}
  35 +.go_btn::after {
  36 + border: none;
  37 +}
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 "ignore": [] 4 "ignore": []
5 }, 5 },
6 "setting": { 6 "setting": {
7 - "urlCheck": true, 7 + "urlCheck": false,
8 "es6": true, 8 "es6": true,
9 "postcss": true, 9 "postcss": true,
10 "minified": true, 10 "minified": true,
@@ -12,7 +12,7 @@ @@ -12,7 +12,7 @@
12 }, 12 },
13 "compileType": "miniprogram", 13 "compileType": "miniprogram",
14 "libVersion": "2.4.0", 14 "libVersion": "2.4.0",
15 - "appid": "wxaab44bbcfc0e5bc5", 15 + "appid": "wx48319d952ea4e37f",
16 "projectname": "%E7%A7%91%E5%AD%A6%E9%98%9F%E9%95%BF", 16 "projectname": "%E7%A7%91%E5%AD%A6%E9%98%9F%E9%95%BF",
17 "debugOptions": { 17 "debugOptions": {
18 "hidedInDevtools": [] 18 "hidedInDevtools": []
  1 +<template name="experiment">
  2 + <view class='experiment_box'>
  3 + <view class="title_box">
  4 + <view class="line"></view>
  5 + <text wx:if="{{is_this_week}}">本周实验</text>
  6 + <text wx:if="{{!is_this_week}}">往期实验</text>
  7 + </view>
  8 +
  9 + <view class="test_box">
  10 + <view class="time">{{time}}</view>
  11 + <view wx:for="{{url}}" wx:key="index" class="img_box">
  12 + <image src="{{item.url}}"></image>
  13 + </view>
  14 + </view>
  15 +
  16 + <view class="order_box">
  17 + <text wx:if="{{!ordered}}">前往预约</text>
  18 + <text wx:if="{{ordered}}">查看</text>
  19 + </view>
  20 + </view>
  21 +</template>
  1 +/* pages/template/template.wxss */
  2 +.experiment_box {
  3 + width: 100%;
  4 + background-color: #fff;
  5 + padding: 20rpx;
  6 + -webkit-box-sizing: border-box;
  7 + -moz-box-sizing: border-box;
  8 + box-sizing: border-box;
  9 +}
  10 +
  11 +.title_box {
  12 + width: 100%;
  13 + display: flex;
  14 + align-items: center;
  15 + justify-content: flex-start;
  16 +}
  17 +.title_box .line {
  18 + width: 6rpx;
  19 + height: 32rpx;
  20 + background-color: #3FA9F5;
  21 + margin-right: 18rpx;
  22 +}
  23 +
  24 +.title_box text {
  25 + color: #464646;
  26 + font-size: 32rpx;
  27 +}
  28 +
  29 +.test_box {
  30 + width: 100%;
  31 + display: flex;
  32 + flex-direction: column;
  33 + align-items: center;
  34 + justify-content: center;
  35 +}
  36 +
  37 +.test_box .time {
  38 + font-size: 28rpx;
  39 + color: #3FA9F5;
  40 + margin-bottom: 20rpx;
  41 +}
  42 +
  43 +.test_box .img_box {
  44 + width: 100%;
  45 + height: 300rpx;
  46 +}
  47 +.img_box image {
  48 + width: 100%;
  49 + height: 100%;
  50 + border-radius: 20rpx;
  51 +}
  52 +.order_box {
  53 + display: flex;
  54 + align-items: center;
  55 + justify-content: flex-end;
  56 + margin-top: 10rpx;
  57 +}
  58 +
  59 +.order_box text {
  60 + width: 150rpx;
  61 + height: 40rpx;
  62 + line-height: 40rpx;
  63 + color: #ffffff;
  64 + background-color: #3FA9F5;
  65 + font-size: 28rpx;
  66 + text-align: center;
  67 + border-radius: 10rpx;
  68 +}