python学习

This commit is contained in:
2019-08-01 11:03:41 +08:00
parent 165f4f3ecb
commit 1548060c7f
6 changed files with 366 additions and 199 deletions

402
.idea/workspace.xml generated
View File

@@ -2,13 +2,11 @@
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="d564f57a-9f96-4262-9481-cacdf2b8445c" name="Default" comment="python学习"> <list default="true" id="d564f57a-9f96-4262-9481-cacdf2b8445c" name="Default" comment="python学习">
<change afterPath="$PROJECT_DIR$/common/libs/member/MemberService.py" afterDir="false" /> <change afterPath="$PROJECT_DIR$/web/static/js/member/index.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/mina" beforeDir="false" afterPath="$PROJECT_DIR$/mina" afterDir="false" /> <change beforePath="$PROJECT_DIR$/common/models/member/Member.py" beforeDir="false" afterPath="$PROJECT_DIR$/common/models/member/Member.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/mina/app.js" beforeDir="false" afterPath="$PROJECT_DIR$/mina/app.js" afterDir="false" /> <change beforePath="$PROJECT_DIR$/web/controllers/member/Member.py" beforeDir="false" afterPath="$PROJECT_DIR$/web/controllers/member/Member.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/mina/pages/index/index.js" beforeDir="false" afterPath="$PROJECT_DIR$/mina/pages/index/index.js" afterDir="false" /> <change beforePath="$PROJECT_DIR$/web/templates/member/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/web/templates/member/index.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/mina/pages/index/index.wxml" beforeDir="false" afterPath="$PROJECT_DIR$/mina/pages/index/index.wxml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/web/controllers/api/Member.py" beforeDir="false" afterPath="$PROJECT_DIR$/web/controllers/api/Member.py" afterDir="false" />
</list> </list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
@@ -18,64 +16,68 @@
</component> </component>
<component name="FileEditorManager"> <component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/common/models/member/Member.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-553">
<caret line="3" column="28" selection-start-line="3" selection-start-column="28" selection-end-line="3" selection-end-column="28" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/web/controllers/member/Member.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="248">
<caret line="53" selection-start-line="53" selection-end-line="53" />
<folding>
<element signature="e#24#59#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="true"> <file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.js"> <entry file="file://$PROJECT_DIR$/web/templates/member/info.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="292"> <state relative-caret-position="-651" />
<caret line="97" column="19" lean-forward="true" selection-start-line="97" selection-start-column="19" selection-end-line="97" selection-end-column="19" /> </provider>
<folding> </entry>
<element signature="e#0#1517#0" /> </file>
</folding> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/web/templates/member/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="248">
<caret line="59" column="47" lean-forward="true" selection-start-line="59" selection-start-column="47" selection-end-line="59" selection-end-column="47" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config/base_setting.py"> <entry file="file://$PROJECT_DIR$/web/templates/account/index.html">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204"> <state relative-caret-position="239">
<caret line="9" column="19" lean-forward="true" selection-start-line="9" selection-start-column="19" selection-end-line="9" selection-end-column="19" /> <caret line="90" selection-start-line="90" selection-end-line="92" selection-end-column="14" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/web/controllers/api/Member.py"> <entry file="file://$PROJECT_DIR$/web/static/js/member/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="611">
<caret line="56" column="24" lean-forward="true" selection-start-line="56" selection-start-column="24" selection-end-line="56" selection-end-column="24" />
<folding>
<element signature="e#24#65#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/mina/app.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="325"> <state relative-caret-position="325">
<caret line="77" column="6" lean-forward="true" selection-start-line="77" selection-start-column="6" selection-end-line="77" selection-end-column="6" /> <caret line="49" column="20" selection-start-line="49" selection-start-column="20" selection-end-line="49" selection-end-column="20" />
</state> </state>
</provider> </provider>
</entry> </entry>
</file> </file>
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/common/libs/member/MemberService.py"> <entry file="file://$PROJECT_DIR$/web/controllers/account/Account.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="527"> <state relative-caret-position="166">
<caret line="18" column="8" selection-start-line="18" selection-start-column="8" selection-end-line="18" selection-end-column="8" /> <caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="28" selection-end-column="5" />
</state>
</provider>
</entry>
</file>
<file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/common/models/member/Oauth_member_bind.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="155">
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
<folding> <folding>
<element signature="e#16#85#0" expanded="true" /> <element signature="e#24#76#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
@@ -102,7 +104,7 @@
<file pinned="false" current-in-tab="false"> <file pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.wxml"> <entry file="file://$PROJECT_DIR$/mina/pages/index/index.wxml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="332"> <state relative-caret-position="589">
<caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" /> <caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
</state> </state>
</provider> </provider>
@@ -132,13 +134,14 @@
<find>请输入姓名</find> <find>请输入姓名</find>
<find>getRequestHeader</find> <find>getRequestHeader</find>
<find>regFlag</find> <find>regFlag</find>
<find>page_params</find>
</findStrings> </findStrings>
<replaceStrings> <replaceStrings>
<replace>ops_render</replace> <replace>ops_render</replace>
</replaceStrings> </replaceStrings>
</component> </component>
<component name="Git.Settings"> <component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/mina" /> <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component> </component>
<component name="IdeDocumentHistory"> <component name="IdeDocumentHistory">
<option name="CHANGED_PATHS"> <option name="CHANGED_PATHS">
@@ -162,7 +165,6 @@
<option value="$PROJECT_DIR$/common/libs/user/Helper.py" /> <option value="$PROJECT_DIR$/common/libs/user/Helper.py" />
<option value="$PROJECT_DIR$/web/controllers/index.py" /> <option value="$PROJECT_DIR$/web/controllers/index.py" />
<option value="$PROJECT_DIR$/web/controllers/stat/Stat.py" /> <option value="$PROJECT_DIR$/web/controllers/stat/Stat.py" />
<option value="$PROJECT_DIR$/web/controllers/member/Member.py" />
<option value="$PROJECT_DIR$/web/controllers/food/Food.py" /> <option value="$PROJECT_DIR$/web/controllers/food/Food.py" />
<option value="$PROJECT_DIR$/web/controllers/finance/Finance.py" /> <option value="$PROJECT_DIR$/web/controllers/finance/Finance.py" />
<option value="$PROJECT_DIR$/web/static/js/user/edit.js" /> <option value="$PROJECT_DIR$/web/static/js/user/edit.js" />
@@ -183,13 +185,16 @@
<option value="$PROJECT_DIR$/config/local_setting.py" /> <option value="$PROJECT_DIR$/config/local_setting.py" />
<option value="$PROJECT_DIR$/config/base_setting.py" /> <option value="$PROJECT_DIR$/config/base_setting.py" />
<option value="$PROJECT_DIR$/数据库文件/自动生成models.txt" /> <option value="$PROJECT_DIR$/数据库文件/自动生成models.txt" />
<option value="$PROJECT_DIR$/common/models/member/Member.py" />
<option value="$PROJECT_DIR$/common/models/member/Oauth_member_bind.py" /> <option value="$PROJECT_DIR$/common/models/member/Oauth_member_bind.py" />
<option value="$PROJECT_DIR$/common/libs/member/MemberService.py" /> <option value="$PROJECT_DIR$/common/libs/member/MemberService.py" />
<option value="$PROJECT_DIR$/web/controllers/api/Member.py" /> <option value="$PROJECT_DIR$/web/controllers/api/Member.py" />
<option value="$PROJECT_DIR$/mina/pages/index/index.wxml" /> <option value="$PROJECT_DIR$/mina/pages/index/index.wxml" />
<option value="$PROJECT_DIR$/mina/app.js" /> <option value="$PROJECT_DIR$/mina/app.js" />
<option value="$PROJECT_DIR$/mina/pages/index/index.js" /> <option value="$PROJECT_DIR$/mina/pages/index/index.js" />
<option value="$PROJECT_DIR$/common/models/member/Member.py" />
<option value="$PROJECT_DIR$/web/static/js/member/index.js" />
<option value="$PROJECT_DIR$/web/templates/member/index.html" />
<option value="$PROJECT_DIR$/web/controllers/member/Member.py" />
</list> </list>
</option> </option>
</component> </component>
@@ -203,8 +208,8 @@
<packageJsonPaths /> <packageJsonPaths />
</component> </component>
<component name="ProjectFrameBounds"> <component name="ProjectFrameBounds">
<option name="x" value="874" /> <option name="x" value="1018" />
<option name="y" value="56" /> <option name="y" value="53" />
<option name="width" value="887" /> <option name="width" value="887" />
<option name="height" value="939" /> <option name="height" value="939" />
</component> </component>
@@ -214,6 +219,7 @@
<foldersAlwaysOnTop value="true" /> <foldersAlwaysOnTop value="true" />
</navigator> </navigator>
<panes> <panes>
<pane id="Scope" />
<pane id="ProjectPane"> <pane id="ProjectPane">
<subPane> <subPane>
<expand> <expand>
@@ -264,24 +270,6 @@
<item name="order" type="462c0819:PsiDirectoryNode" /> <item name="order" type="462c0819:PsiDirectoryNode" />
<item name="config" type="462c0819:PsiDirectoryNode" /> <item name="config" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="mina" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="mina" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="mina" type="462c0819:PsiDirectoryNode" />
<item name="pages" type="462c0819:PsiDirectoryNode" />
<item name="index" type="462c0819:PsiDirectoryNode" />
</path>
<path> <path>
<item name="order" type="b2602c69:ProjectViewProjectNode" /> <item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" /> <item name="order" type="462c0819:PsiDirectoryNode" />
@@ -293,6 +281,13 @@
<item name="web" type="462c0819:PsiDirectoryNode" /> <item name="web" type="462c0819:PsiDirectoryNode" />
<item name="controllers" type="462c0819:PsiDirectoryNode" /> <item name="controllers" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="controllers" type="462c0819:PsiDirectoryNode" />
<item name="account" type="462c0819:PsiDirectoryNode" />
</path>
<path> <path>
<item name="order" type="b2602c69:ProjectViewProjectNode" /> <item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" /> <item name="order" type="462c0819:PsiDirectoryNode" />
@@ -300,6 +295,62 @@
<item name="controllers" type="462c0819:PsiDirectoryNode" /> <item name="controllers" type="462c0819:PsiDirectoryNode" />
<item name="api" type="462c0819:PsiDirectoryNode" /> <item name="api" type="462c0819:PsiDirectoryNode" />
</path> </path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="controllers" type="462c0819:PsiDirectoryNode" />
<item name="member" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="static" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="static" type="462c0819:PsiDirectoryNode" />
<item name="js" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="static" type="462c0819:PsiDirectoryNode" />
<item name="js" type="462c0819:PsiDirectoryNode" />
<item name="account" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="static" type="462c0819:PsiDirectoryNode" />
<item name="js" type="462c0819:PsiDirectoryNode" />
<item name="member" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="templates" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="templates" type="462c0819:PsiDirectoryNode" />
<item name="account" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" />
<item name="web" type="462c0819:PsiDirectoryNode" />
<item name="templates" type="462c0819:PsiDirectoryNode" />
<item name="member" type="462c0819:PsiDirectoryNode" />
</path>
<path> <path>
<item name="order" type="b2602c69:ProjectViewProjectNode" /> <item name="order" type="b2602c69:ProjectViewProjectNode" />
<item name="order" type="462c0819:PsiDirectoryNode" /> <item name="order" type="462c0819:PsiDirectoryNode" />
@@ -313,13 +364,12 @@
<select /> <select />
</subPane> </subPane>
</pane> </pane>
<pane id="Scope" />
</panes> </panes>
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" /> <property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/common/libs/member" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/web/static/js/member" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" /> <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" /> <property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="options.lastSelected" value="com.jetbrains.python.configuration.PythonSdkConfigurable" /> <property name="options.lastSelected" value="com.jetbrains.python.configuration.PythonSdkConfigurable" />
@@ -329,18 +379,18 @@
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" /> <property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\order\common\libs\member" />
<recent name="D:\order\数据库文件" />
<recent name="D:\order" />
<recent name="D:\order\web\controllers\api" />
<recent name="D:\order\web\templates" />
</key>
<key name="MoveFile.RECENT_KEYS"> <key name="MoveFile.RECENT_KEYS">
<recent name="D:\order\common\libs" /> <recent name="D:\order\common\libs" />
<recent name="D:\order\web" /> <recent name="D:\order\web" />
<recent name="D:\order\web\controllers\user" /> <recent name="D:\order\web\controllers\user" />
</key> </key>
<key name="CopyFile.RECENT_KEYS">
<recent name="D:\order\web\static\js\member" />
<recent name="D:\order\common\libs\member" />
<recent name="D:\order\数据库文件" />
<recent name="D:\order" />
<recent name="D:\order\web\controllers\api" />
</key>
</component> </component>
<component name="RunDashboard"> <component name="RunDashboard">
<option name="ruleStates"> <option name="ruleStates">
@@ -443,7 +493,14 @@
<option name="project" value="LOCAL" /> <option name="project" value="LOCAL" />
<updated>1564564379831</updated> <updated>1564564379831</updated>
</task> </task>
<option name="localTasksCounter" value="12" /> <task id="LOCAL-00012" summary="python学习">
<created>1564569007474</created>
<option name="number" value="00012" />
<option name="presentableId" value="LOCAL-00012" />
<option name="project" value="LOCAL" />
<updated>1564569007474</updated>
</task>
<option name="localTasksCounter" value="13" />
<servers /> <servers />
</component> </component>
<component name="TodoView"> <component name="TodoView">
@@ -456,7 +513,8 @@
</todo-panel> </todo-panel>
</component> </component>
<component name="ToolWindowManager"> <component name="ToolWindowManager">
<frame x="874" y="56" width="887" height="939" extended-state="0" /> <frame x="1018" y="53" width="887" height="939" extended-state="0" />
<editor active="true" />
<layout> <layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.29446408" /> <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.29446408" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" /> <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
@@ -497,40 +555,6 @@
<option name="LAST_COMMIT_MESSAGE" value="python学习" /> <option name="LAST_COMMIT_MESSAGE" value="python学习" />
</component> </component>
<component name="editorHistoryManager"> <component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/web/controllers/member/Member.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="238">
<caret line="12" selection-start-line="12" selection-end-line="12" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/controllers/food/Food.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="114">
<caret line="13" selection-start-line="13" selection-end-line="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/controllers/finance/Finance.py">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/web/static/js/user/login.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="31">
<caret line="8" column="7" selection-start-line="8" selection-start-column="7" selection-end-line="11" selection-end-column="13" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/controllers/index.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="217">
<caret line="7" column="13" selection-start-line="7" selection-start-column="13" selection-end-line="7" selection-end-column="13" />
<folding>
<element signature="e#24#51#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/static/js/user/edit.js"> <entry file="file://$PROJECT_DIR$/web/static/js/user/edit.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="372"> <state relative-caret-position="372">
@@ -597,17 +621,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/common/libs/Helper.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="399">
<caret line="67" selection-start-line="67" selection-end-line="67" />
<folding>
<element signature="e#24#59#0" expanded="true" />
<element signature="e#122#1176#0" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/libs/user/UserService.py"> <entry file="file://$PROJECT_DIR$/common/libs/user/UserService.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="168"> <state relative-caret-position="168">
@@ -678,16 +691,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/web/controllers/account/Account.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1612">
<caret line="58" selection-start-line="58" selection-end-line="58" />
<folding>
<element signature="e#24#76#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/models/log/AppAccessLog.py"> <entry file="file://$PROJECT_DIR$/common/models/log/AppAccessLog.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="310"> <state relative-caret-position="310">
@@ -715,13 +718,6 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/web/templates/account/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1209">
<caret line="39" column="9" lean-forward="true" selection-start-line="39" selection-start-column="9" selection-end-line="86" selection-end-column="46" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/templates/error/error.html"> <entry file="file://$PROJECT_DIR$/web/templates/error/error.html">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
@@ -777,13 +773,6 @@
<state relative-caret-position="-837" /> <state relative-caret-position="-837" />
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/config/base_setting.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="204">
<caret line="9" column="19" lean-forward="true" selection-start-line="9" selection-start-column="19" selection-end-line="9" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/数据库文件/自动生成models.txt"> <entry file="file://$PROJECT_DIR$/数据库文件/自动生成models.txt">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="31"> <state relative-caret-position="31">
@@ -794,27 +783,37 @@
<entry file="file://$PROJECT_DIR$/数据库文件/food.sql"> <entry file="file://$PROJECT_DIR$/数据库文件/food.sql">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor" />
</entry> </entry>
<entry file="file://$PROJECT_DIR$/common/models/User.py"> <entry file="file://$PROJECT_DIR$/mina/pages/index/index.json">
<provider selected="true" editor-type-id="text-editor" />
</entry>
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="93"> <state relative-caret-position="292">
<caret line="3" selection-start-line="3" selection-end-line="3" selection-end-column="26" /> <caret line="97" column="19" selection-start-line="97" selection-start-column="19" selection-end-line="97" selection-end-column="19" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/common/models/member/Oauth_member_bind.py"> <entry file="file://$PROJECT_DIR$/config/base_setting.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="155"> <state relative-caret-position="279">
<caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" /> <caret line="9" column="19" selection-start-line="9" selection-start-column="19" selection-end-line="9" selection-end-column="19" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/controllers/api/Member.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1519">
<caret line="56" column="24" lean-forward="true" selection-start-line="56" selection-start-column="24" selection-end-line="56" selection-end-column="24" />
<folding> <folding>
<element signature="e#16#85#0" expanded="true" /> <element signature="e#24#65#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/common/models/member/Member.py"> <entry file="file://$PROJECT_DIR$/mina/app.js">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="93"> <state relative-caret-position="2387">
<caret line="3" selection-start-line="3" selection-end-line="3" selection-end-column="26" /> <caret line="77" column="6" lean-forward="true" selection-start-line="77" selection-start-column="6" selection-end-line="77" selection-end-column="6" />
</state> </state>
</provider> </provider>
</entry> </entry>
@@ -825,18 +824,22 @@
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/web/controllers/api/Member.py"> <entry file="file://$PROJECT_DIR$/common/models/member/Oauth_member_bind.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="611"> <state relative-caret-position="93">
<caret line="56" column="24" lean-forward="true" selection-start-line="56" selection-start-column="24" selection-end-line="56" selection-end-column="24" /> <caret line="5" lean-forward="true" selection-start-line="5" selection-end-line="5" />
<folding> <folding>
<element signature="e#24#65#0" expanded="true" /> <element signature="e#16#85#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.json"> <entry file="file://$PROJECT_DIR$/common/models/User.py">
<provider selected="true" editor-type-id="text-editor" /> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="93">
<caret line="3" selection-start-line="3" selection-end-line="3" selection-end-column="26" />
</state>
</provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/config/local_setting.py"> <entry file="file://$PROJECT_DIR$/config/local_setting.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
@@ -847,27 +850,78 @@
</entry> </entry>
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.wxml"> <entry file="file://$PROJECT_DIR$/mina/pages/index/index.wxml">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="332"> <state relative-caret-position="589">
<caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" /> <caret line="19" lean-forward="true" selection-start-line="19" selection-end-line="19" />
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/mina/app.js"> <entry file="file://$PROJECT_DIR$/web/controllers/account/Account.py">
<provider selected="true" editor-type-id="text-editor"> <provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="325"> <state relative-caret-position="166">
<caret line="77" column="6" lean-forward="true" selection-start-line="77" selection-start-column="6" selection-end-line="77" selection-end-column="6" /> <caret line="22" column="2" selection-start-line="22" selection-start-column="2" selection-end-line="28" selection-end-column="5" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/mina/pages/index/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="292">
<caret line="97" column="19" lean-forward="true" selection-start-line="97" selection-start-column="19" selection-end-line="97" selection-end-column="19" />
<folding> <folding>
<element signature="e#0#1517#0" /> <element signature="e#24#76#0" expanded="true" />
</folding> </folding>
</state> </state>
</provider> </provider>
</entry> </entry>
<entry file="file://$PROJECT_DIR$/common/libs/Helper.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="185">
<caret line="6" column="4" selection-start-line="6" selection-start-column="4" selection-end-line="6" selection-end-column="4" />
<folding>
<element signature="e#24#59#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/templates/member/comment.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-846" />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/common/models/member/Member.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-553">
<caret line="3" column="28" selection-start-line="3" selection-start-column="28" selection-end-line="3" selection-end-column="28" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/static/js/member/index.js">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="325">
<caret line="49" column="20" selection-start-line="49" selection-start-column="20" selection-end-line="49" selection-end-column="20" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/templates/account/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="239">
<caret line="90" selection-start-line="90" selection-end-line="92" selection-end-column="14" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/templates/member/index.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="248">
<caret line="59" column="47" lean-forward="true" selection-start-line="59" selection-start-column="47" selection-end-line="59" selection-end-column="47" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/controllers/member/Member.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="248">
<caret line="53" selection-start-line="53" selection-end-line="53" />
<folding>
<element signature="e#24#59#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/web/templates/member/info.html">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="-651" />
</provider>
</entry>
</component> </component>
</project> </project>

View File

@@ -1,7 +1,7 @@
# coding: utf-8 # coding: utf-8
from sqlalchemy import Column, DateTime, Integer, String from sqlalchemy import Column, DateTime, Integer, String
from sqlalchemy.schema import FetchedValue from sqlalchemy.schema import FetchedValue
from application import db from application import app,db
class Member(db.Model): class Member(db.Model):
@@ -17,3 +17,17 @@ class Member(db.Model):
status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue()) status = db.Column(db.Integer, nullable=False, server_default=db.FetchedValue())
updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue()) updated_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue()) created_time = db.Column(db.DateTime, nullable=False, server_default=db.FetchedValue())
@property
def status_desc(self):
return app.config['STATUS_MAPPING'][ str( self.status ) ]
@property
def sex_desc(self):
sex_mapping = {
"0":"未知",
"1":"",
"2":""
}
return sex_mapping[str(self.sex)]

View File

@@ -1,15 +1,59 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from flask import Blueprint from flask import Blueprint,redirect,request
from common.libs.Helper import ops_render from common.libs.Helper import ops_render,iPagination
from common.libs.UrlManager import UrlManager
from common.models.member.Member import Member
from application import app,db
route_member = Blueprint( 'member_page',__name__ ) route_member = Blueprint( 'member_page',__name__ )
@route_member.route( "/index" ) @route_member.route( "/index" )
def index(): def index():
return ops_render( "member/index.html" ) resp_data = {}
req = request.values
page = int( req['p'] ) if ( 'p' in req and req['p'] ) else 1
query = Member.query
if 'mix_kw' in req:
query = query.filter(Member.nickname.ilike("%{0}%".format(req['mix_kw'])))
if 'status' in req and int(req['status']) > -1:
query = query.filter(Member.status == int(req['status']))
page_params = {
'total': query.count(),
'page_size': app.config['PAGE_SIZE'],
'page': page,
'display': app.config['PAGE_DISPLAY'],
'url': request.full_path.replace("&p={}".format(page), "")
}
pages = iPagination(page_params)
offset = (page - 1) * app.config['PAGE_SIZE']
list = query.order_by(Member.id.desc()).offset(offset).limit(app.config['PAGE_SIZE']).all()
resp_data['list'] = list
resp_data['pages'] = pages
resp_data['search_con'] = req
resp_data['status_mapping'] = app.config['STATUS_MAPPING']
resp_data['current'] = 'index'
return ops_render("member/index.html", resp_data)
@route_member.route( "/info" ) @route_member.route( "/info" )
def info(): def info():
return ops_render( "member/info.html" ) resp_data = {}
req = request.args
id = int(req.get("id", 0))
reback_url = UrlManager.buildUrl("/member/index")
if id < 1:
return redirect(reback_url)
info = Member.query.filter_by(id=id).first()
if not info:
return redirect(reback_url)
resp_data['info'] = info
resp_data['current'] = 'index'
return ops_render("member/info.html", resp_data)
@route_member.route( "/set" ) @route_member.route( "/set" )
def set(): def set():

View File

@@ -0,0 +1,51 @@
;
var member_index_ops = {
init:function(){
this.eventBind();
},
eventBind:function(){
var that = this;
$(".wrap_search .search").click(function(){
$(".wrap_search").submit();
});
$(".remove").click( function(){
that.ops( "remove",$(this).attr("data") );
} );
$(".recover").click( function(){
that.ops( "recover",$(this).attr("data") );
} );
},
ops:function( act,id ){
var callback = {
'ok':function(){
$.ajax({
url:common_ops.buildUrl( "/account/ops" ),
type:'POST',
data:{
act:act,
id:id
},
dataType:'json',
success:function( res ){
var callback = null;
if( res.code == 200 ){
callback = function(){
window.location.href = window.location.href;
}
}
common_ops.alert( res.msg,callback );
}
});
},
'cancel':null
};
common_ops.confirm( ( act == "remove" ? "确定删除?":"确定恢复?" ), callback );
}
};
$(document).ready( function(){
member_index_ops.init();
} );

View File

@@ -21,13 +21,15 @@
<div class="form-group"> <div class="form-group">
<select name="status" class="form-control inline"> <select name="status" class="form-control inline">
<option value="-1">请选择状态</option> <option value="-1">请选择状态</option>
<option value="1">正常</option> {% for tmp_key in status_mapping %}
<option value="0">已删除</option> <option value="{{ tmp_key }}"{% if tmp_key == search_con['status'] %} selected {% endif %}>{{ status_mapping[ tmp_key ] }}</option>
{% endfor %}
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="input-group"> <div class="input-group">
<input type="text" name="mix_kw" placeholder="请输入关键字" class="form-control" value=""> <input type="text" name="mix_kw" placeholder="请输入关键字" class="form-control" value="{{search_con['mix_kw']}}">
<input type="hidden" name="p" value="{{ search_con['p'] }}">
<span class="input-group-btn"> <span class="input-group-btn">
<button type="button" class="btn btn-primary search"> <button type="button" class="btn btn-primary search">
<i class="fa fa-search"></i>搜索 <i class="fa fa-search"></i>搜索
@@ -49,13 +51,15 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{% if list %}
{% for item in list %}
<tr> <tr>
<td><img alt="image" class="img-circle" src="{{ buildStaticUrl('/images/common/avatar.png') }}" style="width: 40px;height: 40px;"></td> <td><img alt="image" class="img-circle" src="{{ item.avatar }}" style="width: 40px;height: 40px;"></td>
<td>编程浪子</td> <td>{{ item.nickname }}</td>
<td>未填写</td> <td>{{ item.sex_desc }}</td>
<td>正常</td> <td>{{ item.status_desc }}</td>
<td> <td>
<a href="{{ buildUrl('/member/info') }}"> <a href="{{ buildUrl('/member/info') }}?id={{ item.id}}">
<i class="fa fa-eye fa-lg"></i> <i class="fa fa-eye fa-lg"></i>
</a> </a>
<a class="m-l" href="{{ buildUrl('/member/set') }}"> <a class="m-l" href="{{ buildUrl('/member/set') }}">
@@ -67,17 +71,17 @@
</a> </a>
</td> </td>
</tr> </tr>
{% endfor %}
{% else %}
<tr><td colspan="5">暂无数据</td></tr>
{% endif %}
</tbody> </tbody>
</table> </table>
<!--分页代码已被封装到统一模板文件中--> <!--分页代码已被封装到统一模板文件中-->
<div class="row"> {% include 'common/pagenation.html'%}
<div class="col-lg-12">
<span class="pagination_count" style="line-height: 40px;">共1条记录 | 每页50条</span>
<ul class="pagination pagination-lg pull-right" style="margin: 0 0 ;">
<li class="active"><a href="javascript:void(0);">1</a></li>
</ul>
</div>
</div>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}
{% block js %}
<script src="{{ buildStaticUrl('/js/member/index.js') }}"></script>
{% endblock %}

View File

@@ -19,7 +19,7 @@
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<div class="m-b-md"> <div class="m-b-md">
<a class="btn btn-outline btn-primary pull-right" href="{{ buildUrl('/member/set') }}"> <a class="btn btn-outline btn-primary pull-right" href="{{ buildUrl('/member/set') }}?id={{ info.id }}">
<i class="fa fa-pencil"></i>编辑 <i class="fa fa-pencil"></i>编辑
</a> </a>
<h2>会员信息</h2> <h2>会员信息</h2>
@@ -28,12 +28,12 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-2 text-center"> <div class="col-lg-2 text-center">
<img class="img-circle circle-border" src="{{ buildStaticUrl('/images/common/avatar.png') }}" <img class="img-circle circle-border" src="{{ info.avatar }}"
width="100px" height="100px"> width="100px" height="100px">
</div> </div>
<div class="col-lg-10"> <div class="col-lg-10">
<p class="m-t">姓名:编程浪子</p> <p class="m-t">姓名:{{ info.nickname }}</p>
<p>性别:未填写</p> <p>性别:{{ info.sex_desc }}</p>
</div> </div>
</div> </div>
<div class="row m-t"> <div class="row m-t">