正在显示
9 个修改的文件
包含
508 行增加
和
199 行删除
@@ -2,13 +2,13 @@ | @@ -2,13 +2,13 @@ | ||
2 | <project version="4"> | 2 | <project version="4"> |
3 | <component name="ChangeListManager"> | 3 | <component name="ChangeListManager"> |
4 | <list default="true" id="e93f11c2-a7d9-4d35-8b1c-8dd18e7f5fef" name="Default" comment=""> | 4 | <list default="true" id="e93f11c2-a7d9-4d35-8b1c-8dd18e7f5fef" name="Default" comment=""> |
5 | - <change type="DELETED" beforePath="$PROJECT_DIR$/application/api/controller/Demo.php" afterPath="" /> | ||
6 | - <change type="DELETED" beforePath="$PROJECT_DIR$/application/api/controller/Index.php" afterPath="" /> | 5 | + <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/application/api/controller/Pay.php" /> |
7 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> | 6 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" /> |
8 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/admin/lang/zh-cn/video.php" afterPath="$PROJECT_DIR$/application/admin/lang/zh-cn/video.php" /> | 7 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/admin/lang/zh-cn/video.php" afterPath="$PROJECT_DIR$/application/admin/lang/zh-cn/video.php" /> |
9 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/admin/view/video/add.html" afterPath="$PROJECT_DIR$/application/admin/view/video/add.html" /> | 8 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/admin/view/video/add.html" afterPath="$PROJECT_DIR$/application/admin/view/video/add.html" /> |
10 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/admin/view/video/edit.html" afterPath="$PROJECT_DIR$/application/admin/view/video/edit.html" /> | 9 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/admin/view/video/edit.html" afterPath="$PROJECT_DIR$/application/admin/view/video/edit.html" /> |
11 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/api/controller/User.php" afterPath="$PROJECT_DIR$/application/api/controller/User.php" /> | 10 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/api/controller/User.php" afterPath="$PROJECT_DIR$/application/api/controller/User.php" /> |
11 | + <change type="MODIFICATION" beforePath="$PROJECT_DIR$/application/extra/verify.php" afterPath="$PROJECT_DIR$/application/extra/verify.php" /> | ||
12 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/api.html" afterPath="$PROJECT_DIR$/public/api.html" /> | 12 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/api.html" afterPath="$PROJECT_DIR$/public/api.html" /> |
13 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/assets/js/backend/video.js" afterPath="$PROJECT_DIR$/public/assets/js/backend/video.js" /> | 13 | <change type="MODIFICATION" beforePath="$PROJECT_DIR$/public/assets/js/backend/video.js" afterPath="$PROJECT_DIR$/public/assets/js/backend/video.js" /> |
14 | </list> | 14 | </list> |
@@ -21,52 +21,40 @@ | @@ -21,52 +21,40 @@ | ||
21 | </component> | 21 | </component> |
22 | <component name="FileEditorManager"> | 22 | <component name="FileEditorManager"> |
23 | <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> | 23 | <leaf SIDE_TABS_SIZE_LIMIT_KEY="300"> |
24 | - <file leaf-file-name="Video.php" pinned="false" current-in-tab="false"> | ||
25 | - <entry file="file://$PROJECT_DIR$/application/admin/controller/Video.php"> | 24 | + <file leaf-file-name="User.php" pinned="false" current-in-tab="true"> |
25 | + <entry file="file://$PROJECT_DIR$/application/api/controller/User.php"> | ||
26 | <provider selected="true" editor-type-id="text-editor"> | 26 | <provider selected="true" editor-type-id="text-editor"> |
27 | - <state relative-caret-position="1464"> | ||
28 | - <caret line="169" column="0" lean-forward="true" selection-start-line="169" selection-start-column="0" selection-end-line="169" selection-end-column="0" /> | ||
29 | - <folding /> | ||
30 | - </state> | ||
31 | - </provider> | ||
32 | - </entry> | ||
33 | - </file> | ||
34 | - <file leaf-file-name="video.php" pinned="false" current-in-tab="true"> | ||
35 | - <entry file="file://$PROJECT_DIR$/application/admin/lang/zh-cn/video.php"> | ||
36 | - <provider selected="true" editor-type-id="text-editor"> | ||
37 | - <state relative-caret-position="325"> | ||
38 | - <caret line="13" column="24" lean-forward="false" selection-start-line="13" selection-start-column="24" selection-end-line="13" selection-end-column="24" /> | ||
39 | - <folding /> | ||
40 | - </state> | ||
41 | - </provider> | ||
42 | - </entry> | ||
43 | - </file> | ||
44 | - <file leaf-file-name="video.js" pinned="false" current-in-tab="false"> | ||
45 | - <entry file="file://$PROJECT_DIR$/public/assets/js/backend/video.js"> | ||
46 | - <provider selected="true" editor-type-id="text-editor"> | ||
47 | - <state relative-caret-position="50"> | ||
48 | - <caret line="23" column="26" lean-forward="true" selection-start-line="23" selection-start-column="26" selection-end-line="23" selection-end-column="26" /> | ||
49 | - <folding /> | ||
50 | - </state> | ||
51 | - </provider> | ||
52 | - </entry> | ||
53 | - </file> | ||
54 | - <file leaf-file-name="add.html" pinned="false" current-in-tab="false"> | ||
55 | - <entry file="file://$PROJECT_DIR$/application/admin/view/video/add.html"> | ||
56 | - <provider selected="true" editor-type-id="text-editor"> | ||
57 | - <state relative-caret-position="51"> | ||
58 | - <caret line="90" column="4" lean-forward="false" selection-start-line="90" selection-start-column="4" selection-end-line="113" selection-end-column="10" /> | ||
59 | - <folding /> | ||
60 | - </state> | ||
61 | - </provider> | ||
62 | - </entry> | ||
63 | - </file> | ||
64 | - <file leaf-file-name="edit.html" pinned="false" current-in-tab="false"> | ||
65 | - <entry file="file://$PROJECT_DIR$/application/admin/view/video/edit.html"> | ||
66 | - <provider selected="true" editor-type-id="text-editor"> | ||
67 | - <state relative-caret-position="326"> | ||
68 | - <caret line="104" column="40" lean-forward="true" selection-start-line="104" selection-start-column="40" selection-end-line="104" selection-end-column="40" /> | ||
69 | - <folding /> | 27 | + <state relative-caret-position="534"> |
28 | + <caret line="606" column="5" lean-forward="true" selection-start-line="606" selection-start-column="5" selection-end-line="606" selection-end-column="5" /> | ||
29 | + <folding> | ||
30 | + <element signature="e#38#68#0#PHP" expanded="true" /> | ||
31 | + <element signature="e#337#456#0#PHP" expanded="false" /> | ||
32 | + <element signature="e#462#1200#0#PHP" expanded="false" /> | ||
33 | + <element signature="e#1205#2868#0#PHP" expanded="false" /> | ||
34 | + <element signature="e#2874#3402#0#PHP" expanded="false" /> | ||
35 | + <element signature="e#3407#4178#0#PHP" expanded="false" /> | ||
36 | + <element signature="e#4184#4591#0#PHP" expanded="false" /> | ||
37 | + <element signature="e#4596#4939#0#PHP" expanded="false" /> | ||
38 | + <element signature="e#4945#5597#0#PHP" expanded="false" /> | ||
39 | + <element signature="e#5602#7545#0#PHP" expanded="false" /> | ||
40 | + <element signature="e#7551#8000#0#PHP" expanded="false" /> | ||
41 | + <element signature="e#8005#8888#0#PHP" expanded="false" /> | ||
42 | + <element signature="e#8894#9411#0#PHP" expanded="false" /> | ||
43 | + <element signature="e#9416#10415#0#PHP" expanded="false" /> | ||
44 | + <element signature="e#10421#11105#0#PHP" expanded="false" /> | ||
45 | + <element signature="e#11110#12606#0#PHP" expanded="false" /> | ||
46 | + <element signature="e#12612#13482#0#PHP" expanded="false" /> | ||
47 | + <element signature="e#13487#15300#0#PHP" expanded="false" /> | ||
48 | + <element signature="e#15306#15683#0#PHP" expanded="false" /> | ||
49 | + <element signature="e#15688#15952#0#PHP" expanded="false" /> | ||
50 | + <element signature="e#15958#16463#0#PHP" expanded="false" /> | ||
51 | + <element signature="e#16468#16719#0#PHP" expanded="false" /> | ||
52 | + <element signature="e#16725#17204#0#PHP" expanded="false" /> | ||
53 | + <element signature="e#17209#17966#0#PHP" expanded="false" /> | ||
54 | + <element signature="e#17972#18387#0#PHP" expanded="false" /> | ||
55 | + <element signature="e#18392#18900#0#PHP" expanded="false" /> | ||
56 | + <element signature="e#18906#19123#0#PHP" expanded="false" /> | ||
57 | + </folding> | ||
70 | </state> | 58 | </state> |
71 | </provider> | 59 | </provider> |
72 | </entry> | 60 | </entry> |
@@ -111,17 +99,18 @@ | @@ -111,17 +99,18 @@ | ||
111 | <option value="$PROJECT_DIR$/.gitlab-ci.yml" /> | 99 | <option value="$PROJECT_DIR$/.gitlab-ci.yml" /> |
112 | <option value="$PROJECT_DIR$/.gitignore" /> | 100 | <option value="$PROJECT_DIR$/.gitignore" /> |
113 | <option value="$PROJECT_DIR$/public/.gitignore" /> | 101 | <option value="$PROJECT_DIR$/public/.gitignore" /> |
114 | - <option value="$PROJECT_DIR$/application/extra/verify.php" /> | ||
115 | <option value="$PROJECT_DIR$/application/common/library/Auth.php" /> | 102 | <option value="$PROJECT_DIR$/application/common/library/Auth.php" /> |
116 | <option value="$PROJECT_DIR$/public/assets/js/backend/pic.js" /> | 103 | <option value="$PROJECT_DIR$/public/assets/js/backend/pic.js" /> |
117 | <option value="$PROJECT_DIR$/application/admin/lang/zh-cn/pic.php" /> | 104 | <option value="$PROJECT_DIR$/application/admin/lang/zh-cn/pic.php" /> |
118 | <option value="$PROJECT_DIR$/application/admin/view/pic/add.html" /> | 105 | <option value="$PROJECT_DIR$/application/admin/view/pic/add.html" /> |
119 | <option value="$PROJECT_DIR$/application/admin/view/pic/edit.html" /> | 106 | <option value="$PROJECT_DIR$/application/admin/view/pic/edit.html" /> |
120 | - <option value="$PROJECT_DIR$/application/api/controller/User.php" /> | 107 | + <option value="$PROJECT_DIR$/application/extra/verify.php" /> |
108 | + <option value="$PROJECT_DIR$/application/api/controller/Pay.php" /> | ||
121 | <option value="$PROJECT_DIR$/public/assets/js/backend/video.js" /> | 109 | <option value="$PROJECT_DIR$/public/assets/js/backend/video.js" /> |
110 | + <option value="$PROJECT_DIR$/application/admin/lang/zh-cn/video.php" /> | ||
122 | <option value="$PROJECT_DIR$/application/admin/view/video/add.html" /> | 111 | <option value="$PROJECT_DIR$/application/admin/view/video/add.html" /> |
123 | <option value="$PROJECT_DIR$/application/admin/view/video/edit.html" /> | 112 | <option value="$PROJECT_DIR$/application/admin/view/video/edit.html" /> |
124 | - <option value="$PROJECT_DIR$/application/admin/lang/zh-cn/video.php" /> | 113 | + <option value="$PROJECT_DIR$/application/api/controller/User.php" /> |
125 | </list> | 114 | </list> |
126 | </option> | 115 | </option> |
127 | </component> | 116 | </component> |
@@ -139,11 +128,11 @@ | @@ -139,11 +128,11 @@ | ||
139 | <sorting>DEFINITION_ORDER</sorting> | 128 | <sorting>DEFINITION_ORDER</sorting> |
140 | </component> | 129 | </component> |
141 | <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" /> | 130 | <component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" /> |
142 | - <component name="ProjectFrameBounds" extendedState="7"> | ||
143 | - <option name="x" value="44" /> | ||
144 | - <option name="y" value="79" /> | ||
145 | - <option name="width" value="1560" /> | ||
146 | - <option name="height" value="948" /> | 131 | + <component name="ProjectFrameBounds" extendedState="1"> |
132 | + <option name="x" value="159" /> | ||
133 | + <option name="y" value="20" /> | ||
134 | + <option name="width" value="1722" /> | ||
135 | + <option name="height" value="946" /> | ||
147 | </component> | 136 | </component> |
148 | <component name="ProjectView"> | 137 | <component name="ProjectView"> |
149 | <navigator currentView="ProjectPane" proportions="" version="1"> | 138 | <navigator currentView="ProjectPane" proportions="" version="1"> |
@@ -176,56 +165,15 @@ | @@ -176,56 +165,15 @@ | ||
176 | <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | 165 | <item name="areial" type="b2602c69:ProjectViewProjectNode" /> |
177 | <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | 166 | <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> |
178 | <item name="application" type="2a2b976b:PhpTreeStructureProvider$1" /> | 167 | <item name="application" type="2a2b976b:PhpTreeStructureProvider$1" /> |
179 | - <item name="admin" type="2a2b976b:PhpTreeStructureProvider$1" /> | 168 | + <item name="api" type="2a2b976b:PhpTreeStructureProvider$1" /> |
180 | </path> | 169 | </path> |
181 | <path> | 170 | <path> |
182 | <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | 171 | <item name="areial" type="b2602c69:ProjectViewProjectNode" /> |
183 | <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | 172 | <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> |
184 | <item name="application" type="2a2b976b:PhpTreeStructureProvider$1" /> | 173 | <item name="application" type="2a2b976b:PhpTreeStructureProvider$1" /> |
185 | - <item name="admin" type="2a2b976b:PhpTreeStructureProvider$1" /> | 174 | + <item name="api" type="2a2b976b:PhpTreeStructureProvider$1" /> |
186 | <item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" /> | 175 | <item name="controller" type="2a2b976b:PhpTreeStructureProvider$1" /> |
187 | </path> | 176 | </path> |
188 | - <path> | ||
189 | - <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | ||
190 | - <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
191 | - <item name="application" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
192 | - <item name="admin" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
193 | - <item name="view" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
194 | - </path> | ||
195 | - <path> | ||
196 | - <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | ||
197 | - <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
198 | - <item name="application" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
199 | - <item name="admin" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
200 | - <item name="view" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
201 | - <item name="video" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
202 | - </path> | ||
203 | - <path> | ||
204 | - <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | ||
205 | - <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
206 | - <item name="public" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
207 | - </path> | ||
208 | - <path> | ||
209 | - <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | ||
210 | - <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
211 | - <item name="public" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
212 | - <item name="assets" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
213 | - </path> | ||
214 | - <path> | ||
215 | - <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | ||
216 | - <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
217 | - <item name="public" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
218 | - <item name="assets" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
219 | - <item name="js" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
220 | - </path> | ||
221 | - <path> | ||
222 | - <item name="areial" type="b2602c69:ProjectViewProjectNode" /> | ||
223 | - <item name="areial" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
224 | - <item name="public" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
225 | - <item name="assets" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
226 | - <item name="js" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
227 | - <item name="backend" type="2a2b976b:PhpTreeStructureProvider$1" /> | ||
228 | - </path> | ||
229 | </expand> | 177 | </expand> |
230 | <select /> | 178 | <select /> |
231 | </subPane> | 179 | </subPane> |
@@ -236,10 +184,11 @@ | @@ -236,10 +184,11 @@ | ||
236 | </component> | 184 | </component> |
237 | <component name="PropertiesComponent"> | 185 | <component name="PropertiesComponent"> |
238 | <property name="WebServerToolWindowFactoryState" value="false" /> | 186 | <property name="WebServerToolWindowFactoryState" value="false" /> |
239 | - <property name="last_opened_file_path" value="$PROJECT_DIR$/../hotel" /> | 187 | + <property name="last_opened_file_path" value="$PROJECT_DIR$/../scrap1/scrap" /> |
240 | </component> | 188 | </component> |
241 | <component name="RecentsManager"> | 189 | <component name="RecentsManager"> |
242 | <key name="CopyFile.RECENT_KEYS"> | 190 | <key name="CopyFile.RECENT_KEYS"> |
191 | + <recent name="D:\htdocs\areial\application\api\controller" /> | ||
243 | <recent name="D:\htdocs\areial\public" /> | 192 | <recent name="D:\htdocs\areial\public" /> |
244 | <recent name="D:\htdocs\areial" /> | 193 | <recent name="D:\htdocs\areial" /> |
245 | <recent name="D:\htdocs\areial\areial" /> | 194 | <recent name="D:\htdocs\areial\areial" /> |
@@ -272,7 +221,7 @@ | @@ -272,7 +221,7 @@ | ||
272 | <workItem from="1574122453532" duration="15780000" /> | 221 | <workItem from="1574122453532" duration="15780000" /> |
273 | <workItem from="1574141466352" duration="745000" /> | 222 | <workItem from="1574141466352" duration="745000" /> |
274 | <workItem from="1574143209694" duration="3660000" /> | 223 | <workItem from="1574143209694" duration="3660000" /> |
275 | - <workItem from="1574146994475" duration="15295000" /> | 224 | + <workItem from="1574146994475" duration="23222000" /> |
276 | </task> | 225 | </task> |
277 | <task id="LOCAL-00001" summary="调试"> | 226 | <task id="LOCAL-00001" summary="调试"> |
278 | <created>1574145133364</created> | 227 | <created>1574145133364</created> |
@@ -285,7 +234,7 @@ | @@ -285,7 +234,7 @@ | ||
285 | <servers /> | 234 | <servers /> |
286 | </component> | 235 | </component> |
287 | <component name="TimeTrackingManager"> | 236 | <component name="TimeTrackingManager"> |
288 | - <option name="totallyTimeSpent" value="63648000" /> | 237 | + <option name="totallyTimeSpent" value="71575000" /> |
289 | </component> | 238 | </component> |
290 | <component name="TodoView"> | 239 | <component name="TodoView"> |
291 | <todo-panel id="selected-file"> | 240 | <todo-panel id="selected-file"> |
@@ -297,10 +246,10 @@ | @@ -297,10 +246,10 @@ | ||
297 | </todo-panel> | 246 | </todo-panel> |
298 | </component> | 247 | </component> |
299 | <component name="ToolWindowManager"> | 248 | <component name="ToolWindowManager"> |
300 | - <frame x="-8" y="-8" width="1936" height="1056" extended-state="7" /> | 249 | + <frame x="159" y="20" width="1722" height="946" extended-state="1" /> |
301 | <editor active="true" /> | 250 | <editor active="true" /> |
302 | <layout> | 251 | <layout> |
303 | - <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.15138593" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" /> | 252 | + <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.17087846" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" /> |
304 | <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32912987" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> | 253 | <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32912987" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" /> |
305 | <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" /> | 254 | <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" /> |
306 | <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> | 255 | <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" /> |
@@ -308,7 +257,7 @@ | @@ -308,7 +257,7 @@ | ||
308 | <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> | 257 | <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" /> |
309 | <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> | 258 | <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" /> |
310 | <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> | 259 | <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
311 | - <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.1772784" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> | 260 | + <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33992583" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" /> |
312 | <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" /> | 261 | <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" /> |
313 | <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> | 262 | <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" /> |
314 | <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> | 263 | <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" /> |
@@ -355,13 +304,6 @@ | @@ -355,13 +304,6 @@ | ||
355 | <watches-manager /> | 304 | <watches-manager /> |
356 | </component> | 305 | </component> |
357 | <component name="editorHistoryManager"> | 306 | <component name="editorHistoryManager"> |
358 | - <entry file="file://$PROJECT_DIR$/application/admin/view/type/add.html"> | ||
359 | - <provider selected="true" editor-type-id="text-editor"> | ||
360 | - <state relative-caret-position="550"> | ||
361 | - <caret line="22" column="41" lean-forward="true" selection-start-line="22" selection-start-column="41" selection-end-line="22" selection-end-column="41" /> | ||
362 | - </state> | ||
363 | - </provider> | ||
364 | - </entry> | ||
365 | <entry file="file://$PROJECT_DIR$/application/admin/view/type/edit.html"> | 307 | <entry file="file://$PROJECT_DIR$/application/admin/view/type/edit.html"> |
366 | <provider selected="true" editor-type-id="text-editor"> | 308 | <provider selected="true" editor-type-id="text-editor"> |
367 | <state relative-caret-position="300"> | 309 | <state relative-caret-position="300"> |
@@ -594,14 +536,6 @@ | @@ -594,14 +536,6 @@ | ||
594 | <state /> | 536 | <state /> |
595 | </provider> | 537 | </provider> |
596 | </entry> | 538 | </entry> |
597 | - <entry file="file://$PROJECT_DIR$/application/extra/verify.php"> | ||
598 | - <provider selected="true" editor-type-id="text-editor"> | ||
599 | - <state relative-caret-position="450"> | ||
600 | - <caret line="18" column="40" lean-forward="true" selection-start-line="18" selection-start-column="40" selection-end-line="18" selection-end-column="40" /> | ||
601 | - <folding /> | ||
602 | - </state> | ||
603 | - </provider> | ||
604 | - </entry> | ||
605 | <entry file="file://$PROJECT_DIR$/application/common/library/Auth.php"> | 539 | <entry file="file://$PROJECT_DIR$/application/common/library/Auth.php"> |
606 | <provider selected="true" editor-type-id="text-editor"> | 540 | <provider selected="true" editor-type-id="text-editor"> |
607 | <state relative-caret-position="585"> | 541 | <state relative-caret-position="585"> |
@@ -681,74 +615,105 @@ | @@ -681,74 +615,105 @@ | ||
681 | </state> | 615 | </state> |
682 | </provider> | 616 | </provider> |
683 | </entry> | 617 | </entry> |
684 | - <entry file="file://$PROJECT_DIR$/application/api/controller/User.php"> | 618 | + <entry file="file://$PROJECT_DIR$/application/admin/controller/Video.php"> |
619 | + <provider selected="true" editor-type-id="text-editor"> | ||
620 | + <state relative-caret-position="1464"> | ||
621 | + <caret line="169" column="0" lean-forward="true" selection-start-line="169" selection-start-column="0" selection-end-line="169" selection-end-column="0" /> | ||
622 | + <folding /> | ||
623 | + </state> | ||
624 | + </provider> | ||
625 | + </entry> | ||
626 | + <entry file="file://$PROJECT_DIR$/application/api/controller/Pay.php"> | ||
685 | <provider selected="true" editor-type-id="text-editor"> | 627 | <provider selected="true" editor-type-id="text-editor"> |
686 | - <state relative-caret-position="309"> | ||
687 | - <caret line="459" column="5" lean-forward="true" selection-start-line="459" selection-start-column="5" selection-end-line="459" selection-end-column="5" /> | 628 | + <state relative-caret-position="235"> |
629 | + <caret line="43" column="37" lean-forward="true" selection-start-line="43" selection-start-column="37" selection-end-line="43" selection-end-column="37" /> | ||
688 | <folding> | 630 | <folding> |
689 | - <element signature="e#38#68#0#PHP" expanded="true" /> | ||
690 | - <element signature="e#337#456#0#PHP" expanded="false" /> | ||
691 | - <element signature="e#462#1200#0#PHP" expanded="false" /> | ||
692 | - <element signature="e#1205#2868#0#PHP" expanded="false" /> | ||
693 | - <element signature="e#2874#3402#0#PHP" expanded="false" /> | ||
694 | - <element signature="e#3407#4178#0#PHP" expanded="false" /> | ||
695 | - <element signature="e#4184#4591#0#PHP" expanded="false" /> | ||
696 | - <element signature="e#4596#4939#0#PHP" expanded="false" /> | ||
697 | - <element signature="e#4945#5597#0#PHP" expanded="false" /> | ||
698 | - <element signature="e#5602#7545#0#PHP" expanded="false" /> | ||
699 | - <element signature="e#7551#8000#0#PHP" expanded="false" /> | ||
700 | - <element signature="e#8005#8888#0#PHP" expanded="false" /> | ||
701 | - <element signature="e#8894#9411#0#PHP" expanded="false" /> | ||
702 | - <element signature="e#9416#10415#0#PHP" expanded="false" /> | ||
703 | - <element signature="e#10421#11105#0#PHP" expanded="false" /> | ||
704 | - <element signature="e#11110#12606#0#PHP" expanded="false" /> | ||
705 | - <element signature="e#12612#13336#0#PHP" expanded="false" /> | ||
706 | - <element signature="e#13341#14959#0#PHP" expanded="false" /> | ||
707 | - <element signature="e#14965#15342#0#PHP" expanded="false" /> | ||
708 | - <element signature="e#15347#15611#0#PHP" expanded="false" /> | 631 | + <element signature="e#600#719#0#PHP" expanded="false" /> |
632 | + <element signature="e#3357#4413#0#PHP" expanded="false" /> | ||
633 | + <element signature="e#4436#5354#0#PHP" expanded="false" /> | ||
634 | + <element signature="e#5361#5826#0#PHP" expanded="false" /> | ||
635 | + <element signature="e#5831#6636#0#PHP" expanded="false" /> | ||
636 | + <element signature="e#6642#7049#0#PHP" expanded="false" /> | ||
637 | + <element signature="e#7054#9439#0#PHP" expanded="false" /> | ||
709 | </folding> | 638 | </folding> |
710 | </state> | 639 | </state> |
711 | </provider> | 640 | </provider> |
712 | </entry> | 641 | </entry> |
713 | - <entry file="file://$PROJECT_DIR$/application/admin/controller/Video.php"> | 642 | + <entry file="file://$PROJECT_DIR$/application/extra/verify.php"> |
714 | <provider selected="true" editor-type-id="text-editor"> | 643 | <provider selected="true" editor-type-id="text-editor"> |
715 | - <state relative-caret-position="1464"> | ||
716 | - <caret line="169" column="0" lean-forward="true" selection-start-line="169" selection-start-column="0" selection-end-line="169" selection-end-column="0" /> | 644 | + <state relative-caret-position="160"> |
645 | + <caret line="13" column="43" lean-forward="true" selection-start-line="13" selection-start-column="43" selection-end-line="13" selection-end-column="43" /> | ||
717 | <folding /> | 646 | <folding /> |
718 | </state> | 647 | </state> |
719 | </provider> | 648 | </provider> |
720 | </entry> | 649 | </entry> |
721 | - <entry file="file://$PROJECT_DIR$/public/assets/js/backend/video.js"> | 650 | + <entry file="file://$PROJECT_DIR$/application/admin/view/video/edit.html"> |
722 | <provider selected="true" editor-type-id="text-editor"> | 651 | <provider selected="true" editor-type-id="text-editor"> |
723 | - <state relative-caret-position="50"> | ||
724 | - <caret line="23" column="26" lean-forward="true" selection-start-line="23" selection-start-column="26" selection-end-line="23" selection-end-column="26" /> | 652 | + <state relative-caret-position="251"> |
653 | + <caret line="83" column="10" lean-forward="false" selection-start-line="83" selection-start-column="10" selection-end-line="83" selection-end-column="10" /> | ||
725 | <folding /> | 654 | <folding /> |
726 | </state> | 655 | </state> |
727 | </provider> | 656 | </provider> |
728 | </entry> | 657 | </entry> |
729 | <entry file="file://$PROJECT_DIR$/application/admin/view/video/add.html"> | 658 | <entry file="file://$PROJECT_DIR$/application/admin/view/video/add.html"> |
730 | <provider selected="true" editor-type-id="text-editor"> | 659 | <provider selected="true" editor-type-id="text-editor"> |
731 | - <state relative-caret-position="51"> | ||
732 | - <caret line="90" column="4" lean-forward="false" selection-start-line="90" selection-start-column="4" selection-end-line="113" selection-end-column="10" /> | 660 | + <state relative-caret-position="101"> |
661 | + <caret line="83" column="10" lean-forward="false" selection-start-line="83" selection-start-column="10" selection-end-line="83" selection-end-column="10" /> | ||
733 | <folding /> | 662 | <folding /> |
734 | </state> | 663 | </state> |
735 | </provider> | 664 | </provider> |
736 | </entry> | 665 | </entry> |
737 | - <entry file="file://$PROJECT_DIR$/application/admin/view/video/edit.html"> | 666 | + <entry file="file://$PROJECT_DIR$/application/admin/lang/zh-cn/video.php"> |
738 | <provider selected="true" editor-type-id="text-editor"> | 667 | <provider selected="true" editor-type-id="text-editor"> |
739 | - <state relative-caret-position="326"> | ||
740 | - <caret line="104" column="40" lean-forward="true" selection-start-line="104" selection-start-column="40" selection-end-line="104" selection-end-column="40" /> | 668 | + <state relative-caret-position="350"> |
669 | + <caret line="14" column="34" lean-forward="false" selection-start-line="14" selection-start-column="34" selection-end-line="14" selection-end-column="34" /> | ||
741 | <folding /> | 670 | <folding /> |
742 | </state> | 671 | </state> |
743 | </provider> | 672 | </provider> |
744 | </entry> | 673 | </entry> |
745 | - <entry file="file://$PROJECT_DIR$/application/admin/lang/zh-cn/video.php"> | 674 | + <entry file="file://$PROJECT_DIR$/public/assets/js/backend/video.js"> |
746 | <provider selected="true" editor-type-id="text-editor"> | 675 | <provider selected="true" editor-type-id="text-editor"> |
747 | - <state relative-caret-position="325"> | ||
748 | - <caret line="13" column="24" lean-forward="false" selection-start-line="13" selection-start-column="24" selection-end-line="13" selection-end-column="24" /> | 676 | + <state relative-caret-position="475"> |
677 | + <caret line="40" column="73" lean-forward="false" selection-start-line="40" selection-start-column="73" selection-end-line="40" selection-end-column="73" /> | ||
749 | <folding /> | 678 | <folding /> |
750 | </state> | 679 | </state> |
751 | </provider> | 680 | </provider> |
752 | </entry> | 681 | </entry> |
682 | + <entry file="file://$PROJECT_DIR$/application/api/controller/User.php"> | ||
683 | + <provider selected="true" editor-type-id="text-editor"> | ||
684 | + <state relative-caret-position="534"> | ||
685 | + <caret line="606" column="5" lean-forward="true" selection-start-line="606" selection-start-column="5" selection-end-line="606" selection-end-column="5" /> | ||
686 | + <folding> | ||
687 | + <element signature="e#38#68#0#PHP" expanded="true" /> | ||
688 | + <element signature="e#337#456#0#PHP" expanded="false" /> | ||
689 | + <element signature="e#462#1200#0#PHP" expanded="false" /> | ||
690 | + <element signature="e#1205#2868#0#PHP" expanded="false" /> | ||
691 | + <element signature="e#2874#3402#0#PHP" expanded="false" /> | ||
692 | + <element signature="e#3407#4178#0#PHP" expanded="false" /> | ||
693 | + <element signature="e#4184#4591#0#PHP" expanded="false" /> | ||
694 | + <element signature="e#4596#4939#0#PHP" expanded="false" /> | ||
695 | + <element signature="e#4945#5597#0#PHP" expanded="false" /> | ||
696 | + <element signature="e#5602#7545#0#PHP" expanded="false" /> | ||
697 | + <element signature="e#7551#8000#0#PHP" expanded="false" /> | ||
698 | + <element signature="e#8005#8888#0#PHP" expanded="false" /> | ||
699 | + <element signature="e#8894#9411#0#PHP" expanded="false" /> | ||
700 | + <element signature="e#9416#10415#0#PHP" expanded="false" /> | ||
701 | + <element signature="e#10421#11105#0#PHP" expanded="false" /> | ||
702 | + <element signature="e#11110#12606#0#PHP" expanded="false" /> | ||
703 | + <element signature="e#12612#13482#0#PHP" expanded="false" /> | ||
704 | + <element signature="e#13487#15300#0#PHP" expanded="false" /> | ||
705 | + <element signature="e#15306#15683#0#PHP" expanded="false" /> | ||
706 | + <element signature="e#15688#15952#0#PHP" expanded="false" /> | ||
707 | + <element signature="e#15958#16463#0#PHP" expanded="false" /> | ||
708 | + <element signature="e#16468#16719#0#PHP" expanded="false" /> | ||
709 | + <element signature="e#16725#17204#0#PHP" expanded="false" /> | ||
710 | + <element signature="e#17209#17966#0#PHP" expanded="false" /> | ||
711 | + <element signature="e#17972#18387#0#PHP" expanded="false" /> | ||
712 | + <element signature="e#18392#18900#0#PHP" expanded="false" /> | ||
713 | + <element signature="e#18906#19123#0#PHP" expanded="false" /> | ||
714 | + </folding> | ||
715 | + </state> | ||
716 | + </provider> | ||
717 | + </entry> | ||
753 | </component> | 718 | </component> |
754 | </project> | 719 | </project> |
@@ -11,11 +11,8 @@ return [ | @@ -11,11 +11,8 @@ return [ | ||
11 | 'Four_url' => '4k视频地址', | 11 | 'Four_url' => '4k视频地址', |
12 | 'Eight_url' => '8k视频地址', | 12 | 'Eight_url' => '8k视频地址', |
13 | 'Price' =>'2k正常价格', | 13 | 'Price' =>'2k正常价格', |
14 | - 'Vip_price' =>'2k会员价格', | ||
15 | 'Four_price' =>'4K正常价格', | 14 | 'Four_price' =>'4K正常价格', |
16 | - 'Four_vipprice' =>'4K会员价格', | ||
17 | 'Eight_price' =>'8K正常价格', | 15 | 'Eight_price' =>'8K正常价格', |
18 | - 'Eight_vipprice' =>'8K会员价格', | ||
19 | 'Content' =>'视频介绍', | 16 | 'Content' =>'视频介绍', |
20 | 'Is_recommend' => '是否精选', | 17 | 'Is_recommend' => '是否精选', |
21 | 'Buy_num' =>'购买数量', | 18 | 'Buy_num' =>'购买数量', |
@@ -83,36 +83,18 @@ | @@ -83,36 +83,18 @@ | ||
83 | </div> | 83 | </div> |
84 | </div> | 84 | </div> |
85 | <div class="form-group"> | 85 | <div class="form-group"> |
86 | - <label class="control-label col-xs-12 col-sm-2">{:__('Vip_price')}:</label> | ||
87 | - <div class="col-xs-12 col-sm-8"> | ||
88 | - <input id="c-vip_price" class="form-control" name="row[vip_price]" type="text" placeholder="请输入2k会员价格"> | ||
89 | - </div> | ||
90 | - </div> | ||
91 | - <div class="form-group"> | ||
92 | <label class="control-label col-xs-12 col-sm-2">{:__('Four_price')}:</label> | 86 | <label class="control-label col-xs-12 col-sm-2">{:__('Four_price')}:</label> |
93 | <div class="col-xs-12 col-sm-8"> | 87 | <div class="col-xs-12 col-sm-8"> |
94 | <input id="c-four_price" class="form-control" name="row[four_price]" type="text" placeholder="请输入4k普通价格"> | 88 | <input id="c-four_price" class="form-control" name="row[four_price]" type="text" placeholder="请输入4k普通价格"> |
95 | </div> | 89 | </div> |
96 | </div> | 90 | </div> |
97 | <div class="form-group"> | 91 | <div class="form-group"> |
98 | - <label class="control-label col-xs-12 col-sm-2">{:__('Four_vipprice')}:</label> | ||
99 | - <div class="col-xs-12 col-sm-8"> | ||
100 | - <input id="c-four_vipprice" class="form-control" name="row[four_vipprice]" type="text" placeholder="请输入4k会员价格"> | ||
101 | - </div> | ||
102 | - </div> | ||
103 | - <div class="form-group"> | ||
104 | <label class="control-label col-xs-12 col-sm-2">{:__('Eight_price')}:</label> | 92 | <label class="control-label col-xs-12 col-sm-2">{:__('Eight_price')}:</label> |
105 | <div class="col-xs-12 col-sm-8"> | 93 | <div class="col-xs-12 col-sm-8"> |
106 | <input id="c-eight_price" class="form-control" name="row[eight_price]" type="text" placeholder="请输入8k普通价格"> | 94 | <input id="c-eight_price" class="form-control" name="row[eight_price]" type="text" placeholder="请输入8k普通价格"> |
107 | </div> | 95 | </div> |
108 | </div> | 96 | </div> |
109 | <div class="form-group"> | 97 | <div class="form-group"> |
110 | - <label class="control-label col-xs-12 col-sm-2">{:__('Eight_vipprice')}:</label> | ||
111 | - <div class="col-xs-12 col-sm-8"> | ||
112 | - <input id="c-eight_vipprice" class="form-control" name="row[eight_vipprice]" type="text" placeholder="请输入8k会员价格"> | ||
113 | - </div> | ||
114 | - </div> | ||
115 | - <div class="form-group"> | ||
116 | <label class="control-label col-xs-12 col-sm-2">{:__('Is_recommend')}:</label> | 98 | <label class="control-label col-xs-12 col-sm-2">{:__('Is_recommend')}:</label> |
117 | <div class="col-xs-12 col-sm-8"> | 99 | <div class="col-xs-12 col-sm-8"> |
118 | {:build_radios('row[is_recommend]', ['1'=>__('是'), '0 '=>__('否')])} | 100 | {:build_radios('row[is_recommend]', ['1'=>__('是'), '0 '=>__('否')])} |
@@ -83,36 +83,18 @@ | @@ -83,36 +83,18 @@ | ||
83 | </div> | 83 | </div> |
84 | </div> | 84 | </div> |
85 | <div class="form-group"> | 85 | <div class="form-group"> |
86 | - <label class="control-label col-xs-12 col-sm-2">{:__('Vip_price')}:</label> | ||
87 | - <div class="col-xs-12 col-sm-8"> | ||
88 | - <input id="c-vip_price" class="form-control" name="row[vip_price]" type="text" value="{$row.vip_price}" placeholder="请输入2k会员价格"> | ||
89 | - </div> | ||
90 | - </div> | ||
91 | - <div class="form-group"> | ||
92 | <label class="control-label col-xs-12 col-sm-2">{:__('Four_price')}:</label> | 86 | <label class="control-label col-xs-12 col-sm-2">{:__('Four_price')}:</label> |
93 | <div class="col-xs-12 col-sm-8"> | 87 | <div class="col-xs-12 col-sm-8"> |
94 | <input id="c-four_price" class="form-control" name="row[four_price]" type="text" value="{$row.four_price}" placeholder="请输入4k普通价格"> | 88 | <input id="c-four_price" class="form-control" name="row[four_price]" type="text" value="{$row.four_price}" placeholder="请输入4k普通价格"> |
95 | </div> | 89 | </div> |
96 | </div> | 90 | </div> |
97 | <div class="form-group"> | 91 | <div class="form-group"> |
98 | - <label class="control-label col-xs-12 col-sm-2">{:__('Four_vipprice')}:</label> | ||
99 | - <div class="col-xs-12 col-sm-8"> | ||
100 | - <input id="c-four_vipprice" class="form-control" name="row[four_vipprice]" type="text" value="{$row.four_vipprice}" placeholder="请输入4k会员价格"> | ||
101 | - </div> | ||
102 | - </div> | ||
103 | - <div class="form-group"> | ||
104 | <label class="control-label col-xs-12 col-sm-2">{:__('Eight_price')}:</label> | 92 | <label class="control-label col-xs-12 col-sm-2">{:__('Eight_price')}:</label> |
105 | <div class="col-xs-12 col-sm-8"> | 93 | <div class="col-xs-12 col-sm-8"> |
106 | <input id="c-eight_price" class="form-control" name="row[eight_price]" type="text" value="{$row.eight_price}" placeholder="请输入8k普通价格"> | 94 | <input id="c-eight_price" class="form-control" name="row[eight_price]" type="text" value="{$row.eight_price}" placeholder="请输入8k普通价格"> |
107 | </div> | 95 | </div> |
108 | </div> | 96 | </div> |
109 | <div class="form-group"> | 97 | <div class="form-group"> |
110 | - <label class="control-label col-xs-12 col-sm-2">{:__('Eight_vipprice')}:</label> | ||
111 | - <div class="col-xs-12 col-sm-8"> | ||
112 | - <input id="c-eight_vipprice" class="form-control" name="row[eight_vipprice]" type="text" value="{$row.eight_vipprice}" placeholder="请输入8k会员价格"> | ||
113 | - </div> | ||
114 | - </div> | ||
115 | - <div class="form-group"> | ||
116 | <label class="control-label col-xs-12 col-sm-2">{:__('Is_recommend')}:</label> | 98 | <label class="control-label col-xs-12 col-sm-2">{:__('Is_recommend')}:</label> |
117 | <div class="col-xs-12 col-sm-8"> | 99 | <div class="col-xs-12 col-sm-8"> |
118 | {:build_radios('row[is_recommend]', ['1'=>__('是'), '0'=>__('否')], $row['is_recommend'])} | 100 | {:build_radios('row[is_recommend]', ['1'=>__('是'), '0'=>__('否')], $row['is_recommend'])} |
application/api/controller/Pay.php
0 → 100644
1 | +<?php | ||
2 | + | ||
3 | +namespace app\api\controller; | ||
4 | + | ||
5 | +use app\admin\model\PayMember; | ||
6 | +use app\admin\model\ToBalance; | ||
7 | +use app\common\controller\Api; | ||
8 | +use EasyWeChat\Factory; | ||
9 | +use function GuzzleHttp\Promise\inspect; | ||
10 | +use think\Db; | ||
11 | +use app\admin\model\User; | ||
12 | +use think\Log; | ||
13 | +use fast\Http; | ||
14 | +use think\Validate; | ||
15 | +use Exception; | ||
16 | +use function EasyWeChat\Kernel\Support\generate_sign; | ||
17 | +/** | ||
18 | + * 支付接口 | ||
19 | + */ | ||
20 | +class Pay extends Api | ||
21 | +{ | ||
22 | + protected $noNeedLogin = ['payMemberNotify','paySecurityNotify','payOrderNotify']; | ||
23 | + protected $noNeedRight = ['*']; | ||
24 | + protected $uid = '';//token存贮uid | ||
25 | + protected $order_status = [];//订单状态 | ||
26 | + public function _initialize() | ||
27 | + { | ||
28 | + parent::_initialize(); | ||
29 | + $this->uid = $this->auth->getUserId(); | ||
30 | + } | ||
31 | + | ||
32 | + /** | ||
33 | + * @ApiTitle (充值/支付订单) | ||
34 | + * @ApiSummary (充值支付) | ||
35 | + * @ApiMethod (POST) | ||
36 | + * @ApiRoute (/api/pay/pay) | ||
37 | + * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") | ||
38 | + * | ||
39 | + * @ApiParams (name="openid", type="string", required=true, description="小程序openid") | ||
40 | + * @ApiParams (name="num", type="inter", required=false, description="支付订单号") | ||
41 | + * | ||
42 | + */ | ||
43 | + public function pay(){ | ||
44 | + if($this->request->isPost()){ | ||
45 | + $openid = $this->request->post('openid'); | ||
46 | + $order_sn = $this->request->post('num'); | ||
47 | + | ||
48 | + if(empty($openid)){ | ||
49 | + $this->error(['code'=>2,'msg'=>'openid不能为空']); | ||
50 | + } | ||
51 | + if($order_sn){ | ||
52 | + //支付订单 | ||
53 | + $res = Db::name('order')->where(['num'=>$order_sn,'uid'=>$this->uid])->find(); | ||
54 | + if($res){ | ||
55 | + if($res['status'] == 2){ | ||
56 | + $this->error('该订单已支付过了'); | ||
57 | + }else{ | ||
58 | + //创建支付对象 | ||
59 | + $config = config('verify.wx_pay'); | ||
60 | + $app = Factory::payment($config); | ||
61 | + $result = $app->order->unify([ | ||
62 | + 'body' => '山东航拍', | ||
63 | + 'out_trade_no' => $order_sn,//支付订单号 | ||
64 | + 'total_fee' => $money*100,//单位分 | ||
65 | + 'notify_url' => $notify_url, // 支付结果通知网址,如果不设置则会使用配置里的默认地址 | ||
66 | + 'trade_type' => 'JSAPI', // 请对应换成你的支付方式对应的值类型 | ||
67 | + 'openid' => $openid, | ||
68 | + ]); | ||
69 | + if($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS'){ | ||
70 | + $params = [ | ||
71 | + 'appId' => $config['app_id'], | ||
72 | + 'timeStamp' => time(), | ||
73 | + 'nonceStr' => $result['nonce_str'], // 统一下单返回的随机字符串 | ||
74 | + 'package' => 'prepay_id='.$result['prepay_id'], // 统一下单Id | ||
75 | + 'signType' => 'MD5', // 签名方法 | ||
76 | + ]; | ||
77 | + // 注意这里用的是商户平台的Key进行二次签名 | ||
78 | + $params['paySign'] = generate_sign($params, $config['key']); | ||
79 | + $this->success('成功',$params); | ||
80 | + } | ||
81 | + $this->error($result['err_code_des']); | ||
82 | + } | ||
83 | + }else{ | ||
84 | + $this->error('无效的订单'); | ||
85 | + } | ||
86 | + } | ||
87 | + }else{ | ||
88 | + $this->error('请求方式错误'); | ||
89 | + } | ||
90 | + } | ||
91 | + | ||
92 | + //购买会员回调通知(无需调用) | ||
93 | + public function payMemberNotify(){ | ||
94 | + $config = config('verify.wx_pay'); | ||
95 | + $app = Factory::payment($config); | ||
96 | + Log::info('会员'); | ||
97 | + $response = $app->handlePaidNotify(function($message, $fail){ | ||
98 | + //return_code 表示通信状态 | ||
99 | + Log::info($message); | ||
100 | + if ($message['return_code'] === 'SUCCESS') { | ||
101 | + | ||
102 | + if ($message['result_code'] === 'SUCCESS') { | ||
103 | + //支付成功 | ||
104 | + //更新成为会员 | ||
105 | + $userModel = new User(); | ||
106 | + $userModel->where('openid',$message['openid'])->update(['member'=>1]); | ||
107 | + //增加记录 | ||
108 | + $payMemberModel = new PayMember(); | ||
109 | + $payMemberModel->create(['openid'=>$message['openid'],'pay_order'=>$message['out_trade_no']]); | ||
110 | + }elseif($message['result_code'] === 'FAIL') { | ||
111 | + //支付失败 | ||
112 | + } | ||
113 | + } else { | ||
114 | + return $fail('通信失败,请稍后再通知我'); | ||
115 | + } | ||
116 | + return true; // 返回处理完成 | ||
117 | + }); | ||
118 | + $response->send(); | ||
119 | + } | ||
120 | + | ||
121 | + //支付订单(无需调用) | ||
122 | + public function payOrderNotify(){ | ||
123 | + $config = config('verify.wx_pay'); | ||
124 | + $app = Factory::payment($config); | ||
125 | + $response = $app->handlePaidNotify(function($message, $fail){ | ||
126 | + //return_code 表示通信状态 | ||
127 | + if ($message['return_code'] === 'SUCCESS') { | ||
128 | + | ||
129 | + if ($message['result_code'] === 'SUCCESS') { | ||
130 | + //支付成功,更新订单状态 | ||
131 | + $orderModel = new \app\admin\model\Order(); | ||
132 | + $orderModel->where(['order_sn'=>$message['out_trade_no']])->update(['status'=>1]); | ||
133 | + | ||
134 | + //创建订房记录 | ||
135 | + $this->auth->createHouseRecord($message['out_trade_no']); | ||
136 | + | ||
137 | + }elseif($message['result_code'] === 'FAIL') { | ||
138 | + //支付失败 | ||
139 | + } | ||
140 | + } else { | ||
141 | + return $fail('通信失败,请稍后再通知我'); | ||
142 | + } | ||
143 | + return true; // 返回处理完成 | ||
144 | + }); | ||
145 | + $response->send(); | ||
146 | + } | ||
147 | + | ||
148 | + | ||
149 | + /** | ||
150 | + * @ApiTitle (更新订单号(支付订单失败后调用)) | ||
151 | + * @ApiSummary (更新订单号(支付订单失败后调用)) | ||
152 | + * @ApiMethod (POST) | ||
153 | + * @ApiRoute (/api/pay/updateOrder) | ||
154 | + * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") | ||
155 | + * | ||
156 | + * @ApiParams (name="order_sn", type="inter", required=false, description="支付订单号") | ||
157 | + * | ||
158 | + * @ApiReturn({ | ||
159 | + "code": 1, | ||
160 | + "msg": "成功", | ||
161 | + "time": "1571812329", | ||
162 | + "data": null | ||
163 | + }) | ||
164 | + */ | ||
165 | + public function updateOrder(){ | ||
166 | + if($this->request->isPost()){ | ||
167 | + $order_sn = $this->request->post('order_sn'); | ||
168 | + | ||
169 | + $rule = config('verify.order_sn'); | ||
170 | + $validate = new Validate($rule['rule'],$rule['msg']); | ||
171 | + if (!$validate->check(['order_sn'=>$order_sn])) { | ||
172 | + $this->error($validate->getError()); | ||
173 | + } | ||
174 | + | ||
175 | + $orderModel = new \app\admin\model\Order(); | ||
176 | + $pay_order = $this->auth->genPayOrderSn('pay');//支付订单号 | ||
177 | + $res = $orderModel->where(['order_sn'=>$order_sn,'uid'=>$this->uid])->update(['order_sn'=>$pay_order]); | ||
178 | + if($res){ | ||
179 | + $this->success('成功'); | ||
180 | + }else{ | ||
181 | + $this->error('失败'); | ||
182 | + } | ||
183 | + }else{ | ||
184 | + $this->error('请求方式错误'); | ||
185 | + } | ||
186 | + } | ||
187 | + | ||
188 | + /** | ||
189 | + * @ApiTitle (提现到微信零钱) | ||
190 | + * @ApiSummary (提现到微信零钱) | ||
191 | + * @ApiMethod (POST) | ||
192 | + * @ApiRoute (/api/pay/payBalance) | ||
193 | + * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") | ||
194 | + * | ||
195 | + * @ApiParams (name="openid", type="string", required=true, description="小程序openid") | ||
196 | + * @ApiParams (name="price", type="inter", required=true, description="提现金额") | ||
197 | + */ | ||
198 | + public function payBalance(){ | ||
199 | + if($this->request->isPost()){ | ||
200 | + $price = $this->request->post('price'); | ||
201 | + $openid = $this->request->post('openid'); | ||
202 | + | ||
203 | + $rule = config('verify.to_balance'); | ||
204 | + $validate = new Validate($rule['rule'],$rule['msg']); | ||
205 | + if (!$validate->check(['price'=>$price,'openid'=>$openid])) { | ||
206 | + $this->error($validate->getError()); | ||
207 | + } | ||
208 | + | ||
209 | + if($price < 0.3){ | ||
210 | + $this->error('提现金额不能低于0.3元'); | ||
211 | + } | ||
212 | + | ||
213 | + //每天提现次数不超过三次 | ||
214 | + $count = Db::name('to_balance')->where('uid',$this->uid)->whereTime('createtime','today')->count(); | ||
215 | + if($count >= 3){ | ||
216 | + $this->error('每天提现次数不能超过3次'); | ||
217 | + } | ||
218 | + //查询该用户钱包金额 | ||
219 | + $userModel = new User(); | ||
220 | + $user = $userModel->where(['id'=>$this->uid])->field('id,money,nickname')->find(); | ||
221 | + if($price > $user['money']){ | ||
222 | + $this->error('钱包金额不足'); | ||
223 | + } | ||
224 | + | ||
225 | + //创建支付对象 | ||
226 | + $config = config('verify.wx_pay'); | ||
227 | + $app = Factory::payment($config); | ||
228 | + $balance_order = $this->auth->genPayOrderSn('balance');//提现单号 | ||
229 | + $result = $app->transfer->toBalance([ | ||
230 | + 'partner_trade_no' => $balance_order, // 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号) | ||
231 | + 'openid' => $openid, | ||
232 | + 'check_name' => 'NO_CHECK', // NO_CHECK:不校验真实姓名, FORCE_CHECK:强校验真实姓名 | ||
233 | + 're_user_name' => '', // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名 | ||
234 | + 'amount' => $price*100, // 企业付款金额,单位为分 | ||
235 | + 'desc' => '提现到零钱', // 企业付款操作说明信息。必填 | ||
236 | + ]); | ||
237 | + if($result['return_code'] === 'SUCCESS' && $result['result_code'] === 'SUCCESS'){ | ||
238 | + //创建提现记录 | ||
239 | + $balanceRecordModel = new ToBalance(); | ||
240 | + $data['uid'] = $this->uid; | ||
241 | + $data['openid'] = $openid; | ||
242 | + $data['price'] = $price; | ||
243 | + $data['to_order'] = $result['partner_trade_no']; | ||
244 | + $balanceRecordModel->create($data); | ||
245 | + //更新余额表 | ||
246 | + $userModel = new User(); | ||
247 | + $userModel->where(['id'=>$this->uid])->setDec('money',$price); | ||
248 | + $this->success('成功'); | ||
249 | + } | ||
250 | + $this->error($result['err_code_des']); | ||
251 | + }else{ | ||
252 | + $this->error('请求方式错误'); | ||
253 | + } | ||
254 | + } | ||
255 | +} |
@@ -413,6 +413,10 @@ class User extends Api | @@ -413,6 +413,10 @@ class User extends Api | ||
413 | "water_url"://小样视频网址 | 413 | "water_url"://小样视频网址 |
414 | "price"://2K价格, | 414 | "price"://2K价格, |
415 | "vip_price"://2Kvip价格, | 415 | "vip_price"://2Kvip价格, |
416 | + "four_price"://4K价格, | ||
417 | + "four_vipprice"://4Kvip价格, | ||
418 | + "eight_price"://8K价格, | ||
419 | + "eight_vipprice"://8Kvip价格, | ||
416 | "content"://图片介绍, | 420 | "content"://图片介绍, |
417 | "is_vip"://是否为会员(0否 1是) | 421 | "is_vip"://是否为会员(0否 1是) |
418 | } | 422 | } |
@@ -432,9 +436,12 @@ class User extends Api | @@ -432,9 +436,12 @@ class User extends Api | ||
432 | $this->error(['code'=>2,'msg'=>'缺少必要参数']); | 436 | $this->error(['code'=>2,'msg'=>'缺少必要参数']); |
433 | } | 437 | } |
434 | $data = Db::name('video') | 438 | $data = Db::name('video') |
435 | - ->field('id,title,thumbnail,video,price,vip_price,water_url,content') | 439 | + ->field('id,title,thumbnail,video,price,four_price,eight_price,water_url,content') |
436 | ->where('id',$pic_id) | 440 | ->where('id',$pic_id) |
437 | ->find(); | 441 | ->find(); |
442 | + $data['vip_price'] = $data['price']*0.75; | ||
443 | + $data['four_vipprice'] = $data['four_price']*0.75; | ||
444 | + $data['eight_vipprice'] = $data['eight_price']*0.75; | ||
438 | $data['thumbnail'] = $rule.$data['thumbnail']; | 445 | $data['thumbnail'] = $rule.$data['thumbnail']; |
439 | $data['video'] = $rule.$data['video']; | 446 | $data['video'] = $rule.$data['video']; |
440 | $data['water_url'] = $rule.$data['water_url']; | 447 | $data['water_url'] = $rule.$data['water_url']; |
@@ -487,4 +494,116 @@ class User extends Api | @@ -487,4 +494,116 @@ class User extends Api | ||
487 | $this->success('SUCCESS',$data); | 494 | $this->success('SUCCESS',$data); |
488 | } | 495 | } |
489 | 496 | ||
497 | + /** | ||
498 | + * @ApiTitle (我的) | ||
499 | + * @ApiSummary (我的) | ||
500 | + * @ApiMethod (POST) | ||
501 | + * @ApiRoute (/api/user/mine) | ||
502 | + * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") | ||
503 | + * | ||
504 | + * @ApiReturn({ | ||
505 | + "code": 1, | ||
506 | + "msg": "成功", | ||
507 | + "time": "1571492001", | ||
508 | + "data": { | ||
509 | + "id": //用户ID | ||
510 | + "nickname": //昵称, | ||
511 | + "avatar": //头像, | ||
512 | + "money" : //余额 | ||
513 | + "is_vip": //是否为会员(0否 1是) | ||
514 | + } | ||
515 | + }) | ||
516 | + */ | ||
517 | + public function mine() | ||
518 | + { | ||
519 | + $user_id = $this->uid; | ||
520 | + $data = Db::name('user') | ||
521 | + ->where('id',$user_id) | ||
522 | + ->field('id,nickname,avatar,money,is_vip') | ||
523 | + ->find(); | ||
524 | + $this->success('SUCCESS',$data); | ||
525 | + } | ||
526 | + | ||
527 | + /** | ||
528 | + * @ApiTitle (创建充值订单) | ||
529 | + * @ApiSummary (创建充值订单) | ||
530 | + * @ApiMethod (POST) | ||
531 | + * @ApiRoute (/api/user/toporder) | ||
532 | + * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") | ||
533 | + * | ||
534 | + * @ApiParams (name="money", type="float", required=true, description="充值金额") | ||
535 | + * | ||
536 | + * @ApiReturn({ | ||
537 | + "code": 1, | ||
538 | + "msg": "成功", | ||
539 | + "time": "1571492001", | ||
540 | + "data": { | ||
541 | + "order_id"://订单ID | ||
542 | + } | ||
543 | + }) | ||
544 | + */ | ||
545 | + public function toporder() | ||
546 | + { | ||
547 | + $param['user_id'] = $this->uid; | ||
548 | + $param['money'] = $this->request->post('money'); | ||
549 | + if(empty( $param['money'])){ | ||
550 | + $this->error(['code'=>2,'msg'=>'缺少必要参数']); | ||
551 | + }elseif ( $param['money']<=0){ | ||
552 | + $this->error(['code'=>3,'msg'=>'非法操作']); | ||
553 | + }else{ | ||
554 | + $param['createtime'] = time(); | ||
555 | + $param['num'] = date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8); | ||
556 | + $data = Db::name('toporder') | ||
557 | + ->insertGetId($param); | ||
558 | + if(empty($data)){ | ||
559 | + $this->error(['code'=>2,'msg'=>'sql执行失败']); | ||
560 | + } | ||
561 | + $this->success('SUCCESS',['order_id'=>$data]); | ||
562 | + } | ||
563 | + | ||
564 | + } | ||
565 | + | ||
566 | + /** | ||
567 | + * @ApiTitle (充值支付) | ||
568 | + * @ApiSummary (充值支付) | ||
569 | + * @ApiMethod (POST) | ||
570 | + * @ApiRoute (/api/user/pay) | ||
571 | + * @ApiHeaders (name=token, type=string, required=true, description="请求的Token") | ||
572 | + * | ||
573 | + * @ApiParams (name="order_id", type="inter", required=true, description="订单id") | ||
574 | + * | ||
575 | + * @ApiReturn({ | ||
576 | + "code": 1, | ||
577 | + "msg": "成功", | ||
578 | + "time": "1571492001", | ||
579 | + }) | ||
580 | + */ | ||
581 | + public function pay() | ||
582 | + { | ||
583 | + $user_id = $this->uid; | ||
584 | + $id = $this->request->post('order_id'); | ||
585 | + if(empty($id)){ | ||
586 | + $this->error(['code'=>2,'msg'=>'确实必要参数']); | ||
587 | + } | ||
588 | + $where['id'] = ['eq',$id]; | ||
589 | + $where['user_id'] = ['eq',$user_id]; | ||
590 | + $data = Db::name('toporder')->where($where)->find(); | ||
591 | + if(empty($data)){ | ||
592 | + $this->error(['code'=>41001,'msg'=>'数据错误']); | ||
593 | + } | ||
594 | + $openid = $this->getopenid(); | ||
595 | + $this->success('SUCCESS'); | ||
596 | + } | ||
597 | + | ||
598 | + public function getopenid() | ||
599 | + { | ||
600 | + $user_id = $this->uid; | ||
601 | + $openid = Db::name('user') | ||
602 | + ->where('id',$user_id) | ||
603 | + ->field('openid') | ||
604 | + ->find(); | ||
605 | + | ||
606 | + return $openid; | ||
607 | + } | ||
608 | + | ||
490 | } | 609 | } |
@@ -17,4 +17,16 @@ return [ | @@ -17,4 +17,16 @@ return [ | ||
17 | ] | 17 | ] |
18 | ], | 18 | ], |
19 | 'path'=>'http://areial.w.brotop.cn', | 19 | 'path'=>'http://areial.w.brotop.cn', |
20 | + //微信支付配置 | ||
21 | + 'wx_pay' => [ | ||
22 | + 'app_id' => '', | ||
23 | + 'mch_id' => '', | ||
24 | + 'key' => '', // 支付 密钥 | ||
25 | + | ||
26 | + // 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书) | ||
27 | + 'cert_path' => ROOT_PATH.'public/cert/apiclient_cert.pem', // XXX: 绝对路径!!!! | ||
28 | + 'key_path' => ROOT_PATH.'public/cert/apiclient_key.pem', // XXX: 绝对路径!!!! | ||
29 | + | ||
30 | + 'notify_url' => '默认的订单回调地址', // 你也可以在下单时单独设置来想覆盖它 | ||
31 | + ], | ||
20 | ]; | 32 | ]; |
此 diff 太大无法显示。
@@ -37,11 +37,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | @@ -37,11 +37,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | ||
37 | {field: 'buy_num', title: __('Buy_num')}, | 37 | {field: 'buy_num', title: __('Buy_num')}, |
38 | {field: 'click_num', title: __('Click_num')}, | 38 | {field: 'click_num', title: __('Click_num')}, |
39 | {field: 'price', title: __('Price')}, | 39 | {field: 'price', title: __('Price')}, |
40 | - {field: 'vip_price', title: __('Vip_price')}, | ||
41 | {field: 'four_price', title: __('Four_price')}, | 40 | {field: 'four_price', title: __('Four_price')}, |
42 | - {field: 'four_vipprice', title: __('Four_vipprice')}, | ||
43 | {field: 'eight_price', title: __('Eight_price')}, | 41 | {field: 'eight_price', title: __('Eight_price')}, |
44 | - {field: 'eight_vipprice', title: __('Eight_vipprice')}, | ||
45 | {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime}, | 42 | {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', formatter: Table.api.formatter.datetime}, |
46 | {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} | 43 | {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} |
47 | ] | 44 | ] |
-
请 注册 或 登录 后发表评论