forked from poole/poole
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearch.xml
1234 lines (1184 loc) · 74 KB
/
search.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>Markdown 特殊字符转义</title>
<url>/2016/08/16/Markdown%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%E8%BD%AC%E4%B9%89/</url>
<content><![CDATA[<p>特殊字符使用“\”转义有时会不成功,最好的方式是直接使用特殊字符的编码,对应如下:</p>
<span id="more"></span>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">- &#45; &minus; — 减号</span><br><span class="line">! &#33; — 惊叹号Exclamation mark </span><br><span class="line">” &#34; &quot; 双引号Quotation mark </span><br><span class="line"># &#35; — 数字标志Number sign </span><br><span class="line">$ &#36; — 美元标志Dollar sign </span><br><span class="line">% &#37; — 百分号Percent sign </span><br><span class="line">& &#38; &amp; Ampersand </span><br><span class="line">‘ &#39; — 单引号Apostrophe </span><br><span class="line">( &#40; — 小括号左边部分Left parenthesis </span><br><span class="line">) &#41; — 小括号右边部分Right parenthesis </span><br><span class="line">* &#42; — 星号Asterisk </span><br><span class="line">+ &#43; — 加号Plus sign </span><br><span class="line">< &#60; &lt; 小于号Less than </span><br><span class="line">= &#61; — 等于符号Equals sign </span><br><span class="line">> &#62; &gt; 大于号Greater than </span><br><span class="line">? &#63; — 问号Question mark </span><br><span class="line">@ &#64; — Commercial at </span><br><span class="line">[ &#91; --- 中括号左边部分Left square bracket </span><br><span class="line">\ &#92; --- 反斜杠Reverse solidus (backslash) </span><br><span class="line">] &#93; — 中括号右边部分Right square bracket </span><br><span class="line">{ &#123; — 大括号左边部分Left curly brace </span><br><span class="line">| &#124; — 竖线Vertical bar </span><br><span class="line">} &#125; — 大括号右边部分Right curly brace </span><br></pre></td></tr></table></figure>
]]></content>
<categories>
<category>code</category>
</categories>
<tags>
<tag>markdown</tag>
<tag>字符转义</tag>
</tags>
</entry>
<entry>
<title>PS最常用二十组快捷键</title>
<url>/2014/01/04/PS%E6%9C%80%E5%B8%B8%E7%94%A8%E4%BA%8C%E5%8D%81%E7%BB%84%E5%BF%AB%E6%8D%B7%E9%94%AE/</url>
<content><![CDATA[<p><img src="https://i.loli.net/2021/05/19/Hb3PdLVhTCEiUpI.jpg" alt="YB8li54KVIGtC3L"></p>
<span id="more"></span>
<ol>
<li>使用快捷键快速操作<ul>
<li>F1 -帮助 </li>
<li>F2 -剪切 </li>
<li>F3 -拷贝 </li>
<li>F4-粘贴 </li>
<li>Shift+f5-填充 </li>
<li>Shift+f6-羽化</li>
<li>Shift+f7-选择→反选 </li>
<li>Ctrl+h-隐藏选定区域 </li>
<li>Ctrl+d-取消选定区域 </li>
<li>Ctrl+w-关闭文件 </li>
<li>Ctrl+Q-退出Photoshop </li>
<li>Esc-取消操作 </li>
</ul>
</li>
<li>按Tab键可以显示或隐藏工具箱和调色板,按”Shift+Tab”键可以显示或隐藏除工具以外的其他面板。 </li>
<li>按住Shift用绘画工具在画面点击就可以在每两点间画出直线,按住鼠标拖动便可画出水平或垂直线。 </li>
<li>使用其他工具时,按住Ctrl键可切换到移动工具的功能(除了选择抓手工具时)按住空格键可切换到抓手工具的功能。 </li>
<li>同时按住Alt和Ctrl-或+可让画框与画面同时缩放。 </li>
<li>按住Ctrl双击Photoshop底板相当于新建。 </li>
<li>在所有设置对话框内,只要按住Alt键,取消键会变成键重设键,按重设键变可恢复默认设置。 </li>
<li>按Alt+Backspace(Delete)键可将前景色填入选取框按Ctrl+Backspace(Delete)键可将背景色填入选取框。 </li>
<li>同时按住Ctrl和Alt移动可马上复制到新的图层并可同时移动物体。 </li>
<li>在图层,通道和路径面板上,按Alt单击,按单击这些面板底部的工具图标时,对于有参数设置的工具可调出相应的对话框来更改设置。 </li>
<li>若要在两上窗口间拖放拷贝,拖动过程中按住Shift键,图像拖动到目的窗口后会自动居中。 </li>
<li>按住Shift选择区域时可在原区域上增加新的区域;按住Alt选择区域时,可在原区域上减去新选区域,同时按住Shift和Alt选择区域时,可取得与原选择区域相交的部分 </li>
<li>移动图层和选取框时,按住Shift键可做水平,垂直或45度角的移动,按键盘上的方向键,可做每次1像素的移动,按住Shift键再键盘上的方向键可做每次10像素的移动。 </li>
<li>使用笔形工具制作路径是按住Shift键可以强制路径或方向线成水平或垂直或45度角按住Ctrl键可暂时切换到路径选取工具按住Alt键将笔形光标在黑色的接点上单击可以改变方向线的方向,使曲线可以转折;按Alt键用路径选取工具单击路径会选取整个路径,要同时选取多个路径可按住Shift后逐个单击,用路径选取工具是按住Ctrl+Alt键移近路径会切换到加节点与件节点的笔行工具。 </li>
<li>在使用选取工具时,按Shift键拖动鼠标可以在原选取框外增加选取范围;同时按Shift与Alt键拖动鼠标可以选取与原选取框重叠的范围(交集)。 </li>
<li>alt+Delete加填前景颜色,Ctrl或Shift加Delete填背景颜色。 </li>
<li>使用滤镜/渲染/云彩时,先按住Alt可加云彩的反差,先按住Shift键则降低反差 。 </li>
<li>在使用自由变形功能时,按Ctrl键并拖动某一控制点可以进行随意变形的调整,”Shift+Ctrl”键并拖动某一控制点可以时行倾斜调整;按Alt键并拖动某一控制点可以进行对称调整;按Shift+Ctrl+Alt键并拖动某一控制点可以进行透视效果的调整。 </li>
<li>想从中心开始画选框可按住Alt拖动。</li>
</ol>
]]></content>
<categories>
<category>tools</category>
</categories>
<tags>
<tag>photoshop</tag>
<tag>快捷键</tag>
</tags>
</entry>
<entry>
<title>next主题markdown引用本地图片路径问题</title>
<url>/2021/05/18/next%E4%B8%BB%E9%A2%98%E5%BC%95%E7%94%A8%E6%9C%AC%E5%9C%B0%E5%9B%BE%E7%89%87%E8%B7%AF%E5%BE%84%E9%97%AE%E9%A2%98/</url>
<content><![CDATA[<div class="note default"><p>next主题在更新到v8.4后, 官方给出获取主题的方式提供2种, 一种为通过<code>git clone</code>的方式, 另一种通过<code>npm install</code>安装 hexo theme, 俩种方式主题根目录的path不一致, 所以会导致以前发布的引用本地路径的方法失效了, 目前没找到一个清楚描述解决方案的, 遂整理出方法给遇到同样问题的网友们</p>
</div>
<p>首先, 你的主题通过 git 还是通过 npm 安装, git 安装的方式, 主题路径为<code>./your blog home path/themes/next-xxx/</code>, 此时图片可以放置在此文件夹下的<strong>soure/images/</strong>, 引用的时候写法为:</p>
<span id="more"></span>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">/images/xxx.jpg</span><br></pre></td></tr></table></figure>
<p>如果是通过 npm 安装, 主题的路径变为<code>./your blog home path/node_modules/hexo-theme-next/</code>, 重点: **此时图片需要放在此目录的soure/images/下, 虽然引用的时候写法和上面相同, 这就是为什么很多明明写法一致引用却不显示图片的原因</p>
<h2 id="引用本地pdf"><a href="#引用本地pdf" class="headerlink" title="引用本地pdf"></a>引用本地pdf</h2><p>pdf 引用可参考上面的逻辑, 需要注意安装方式, 然后把 pdf 位置放到指定的路径, 比如我的站点通过 npm 方式安装, 我会在<code>./my blog/node_modules/hexo-theme-next/source</code>下新建<code>pdf</code>文件夹, 引用的时候:</p>
<figure class="highlight plaintext"><table><tr><td class="code"><pre><span class="line">{% pdf /pdf/[your pdf name].pdf %}</span><br></pre></td></tr></table></figure>
<p>next 引用pdf需要在配置依赖, 详情可参见<a href="https://github.com/next-theme/theme-next-pdf">官方文档</a></p>
]]></content>
<categories>
<category>next教程</category>
</categories>
<tags>
<tag>next</tag>
<tag>issue</tag>
</tags>
</entry>
<entry>
<title>业务管理后台文档</title>
<url>/2021/05/20/%E4%B8%9A%E5%8A%A1%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0%E6%96%87%E6%A1%A3/</url>
<content><![CDATA[<div class="note danger"><p>部分图片有缺失, 完整请参见原型</p>
</div>
<p>业务后台的部分包括: 商品管理系统、客户管理系统、交易管理系统、资金账户系统、权限管理等模块, 整体方案能满足客户通过商户平台完成礼品卡购买、加油卡充值等服务,平台需能够在未来应对流量相关业务的高承载能力,后台的部分主要连同上下游渠道商, 提高业务运转的效率</p>
<span id="more"></span>
<p>本文所述所有内容均为流量管理后台项目一期所必须完成的系统后台部分的业务功能,匹配<a href="#">原型demo管理后台v1.1</a>。</p>
<h2 id="概述"><a href="#概述" class="headerlink" title="概述"></a>概述</h2><h3 id="迭代计划"><a href="#迭代计划" class="headerlink" title="迭代计划"></a>迭代计划</h3><table>
<thead>
<tr>
<th>计划</th>
<th>描述</th>
<th>上线时间</th>
</tr>
</thead>
<tbody><tr>
<td>后台管理一期</td>
<td>商品管理功能;通道配置功能;客户管理功能;商品价格配置;商品配置功能;订单管理。</td>
<td></td>
</tr>
<tr>
<td>后台管理二期</td>
<td>交易管理系统;权限管理功能(包含客户、管理员);客户消费记录;操作日志;管理员管理</td>
<td></td>
</tr>
</tbody></table>
<h3 id="名词解释"><a href="#名词解释" class="headerlink" title="名词解释"></a>名词解释</h3><p><code>基础产品</code>:标准产品数据</p>
<p><code>供应商产品</code>:上游商品, 包括流量, 话费, 礼品卡等</p>
<p><code>客户产品</code>:按照一定价格配置给客户的供应商产品</p>
<h3 id="功能结构"><a href="#功能结构" class="headerlink" title="功能结构"></a>功能结构</h3><p>后台产品信息图</p>
<p><img src="/images/%E8%99%9A%E6%8B%9F%E5%95%86%E5%93%81%E7%AE%A1%E7%90%86_170614.png" alt="虚拟商品管理"></p>
<h3 id="流程图"><a href="#流程图" class="headerlink" title="流程图"></a>流程图</h3><p>充值类订单处理流程</p>
<p><del><img src="E:\downloads\Desktop\test\document\个人资料\sxkj\test\产品\流程图\充值类产品流程图.jpg" alt="充值类产品流程"></del></p>
<p>购买类订单处理流程</p>
<p><img src="/images/%E8%B4%AD%E4%B9%B0%E7%B1%BB%E4%BA%A7%E5%93%81%E6%B5%81%E7%A8%8B%E5%9B%BE.jpg" alt="购买类产品流程"></p>
<h3 id="功能模块"><a href="#功能模块" class="headerlink" title="功能模块"></a>功能模块</h3><p>功能结构</p>
<p><img src="/images/%E7%AE%A1%E7%90%86%E5%90%8E%E5%8F%B0.png" alt="结构图"></p>
<table>
<thead>
<tr>
<th>名称</th>
<th>说明</th>
<th>备注</th>
</tr>
</thead>
<tbody><tr>
<td>商品管理</td>
<td>通过后台产品管理模块,对整体网站供用户购买的商品进行统一管理,如新品上市商品的添加、停售商品的删除以及无货源商品的上下架设置等;对产品类目的管理,产品基础数据的管理设置产品的属性、关联的类目</td>
<td>商品的增删改查</td>
</tr>
<tr>
<td>供应商通道管理</td>
<td>将我们平台的基础商品与供应商提供的商品匹配上并与供应商系统平台提供的接口绑定关系,通道后期需具备一定的自我监测能力;商品配置:对通道匹配到的基础产品进行统一管理,可设置是否销售,商品的进货价等</td>
<td>对通道的增删改查;对供应商提供的产品进行产品配置及基础价格的配置</td>
</tr>
<tr>
<td>客户管理</td>
<td>对客户进行统一管理;主要包括对客户增删改查、为客户配置产品并配置产品的客户折扣,可对客户账户进行冲扣值操作</td>
<td>客户的增删改查;为客户配置产品;冲扣值</td>
</tr>
<tr>
<td>系统管理</td>
<td>后台应具备管理员管理模块,基础的添加修改删除功能需要提供;管理员的操作日志需要被记录,每个登录平台的管理员能看到自己的操作记录;可对管理员账户资料进行修改、账户进行停用设置等,超级管理员可为其他管理员分配权限</td>
<td>管理员账户增删改;操作日志;资料修改</td>
</tr>
</tbody></table>
<h3 id="表单规范及校验"><a href="#表单规范及校验" class="headerlink" title="表单规范及校验"></a>表单规范及校验</h3><p><img src="/images/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20180705205042.png" alt="表单"></p>
<h3 id="全局说明"><a href="#全局说明" class="headerlink" title="全局说明"></a>全局说明</h3><ol>
<li><p>所有列表项的删除操作需弹出提示框,确认后进行<strong>逻辑删除</strong></p>
<p><del><img src="C:\Users\test\Pictures\截图\微信截图_20170704154624.png" alt="提示框"></del></p>
</li>
<li><p>操作执行中的交互动画,圈圈转,所有对列表的增删改操作需弹窗提示结果(ps:搜索除外)</p>
<p><del><img src="C:\Users\test\Pictures\截图\微信截图_20170704161023.png" alt="提示框"></del></p>
</li>
<li><p>所有列表按照创建时间倒序显示,每页最多加载20条,超出翻页,显示当前列表数据加载的总条数</p>
<p><del><img src="C:\Users\test\Pictures\截图\微信截图_20170704161556.png" alt="提示框"></del></p>
</li>
<li><p>列表数据为空时,提示:暂无数据(ps:包括查询结果为空)</p>
<p><del><img src="C:\Users\test\Pictures\截图\微信截图_20170704161731.png" alt="提示框"></del></p>
</li>
<li><p>平台基础折扣、代理折扣在0-10之间(包括10),保留小数点后2位</p>
</li>
</ol>
<h3 id="搜索-筛选"><a href="#搜索-筛选" class="headerlink" title="搜索+筛选"></a>搜索+筛选</h3><ol>
<li><p>采用组合搜索的方式:即点击搜索时执行多条件查询。</p>
</li>
<li><p>分为下拉框筛选和输入搜索2种条件输入方式,根据搜索的字段特点分别执行精确匹配及模糊匹配</p>
<p><img src="test" alt="~~图片~~"></p>
</li>
</ol>
<h3 id="修订记录"><a href="#修订记录" class="headerlink" title="修订记录"></a>修订记录</h3><table>
<thead>
<tr>
<th>日期</th>
<th>内容</th>
<th>修订人</th>
<th>版本</th>
</tr>
</thead>
<tbody><tr>
<td>2017年7月4日</td>
<td>功能模块;后台管理功能模块概述, 整理添加表单校验项及提示文字, 全局规则</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年7月5日</td>
<td>添加主要页面的功能逻辑</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年7月6日</td>
<td>补充基础产品修改的逻辑</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年7月7日</td>
<td>搜索+筛选规则; 产品编码改为手动添加</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年7月11日</td>
<td>基础产品列表添加类目名称字段</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年7月12日</td>
<td>增加产品管理逻辑表</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年7月20日</td>
<td>补充添加管理员、修改密码表单校验</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年8月21日</td>
<td>添加消费记录相关说明;客户冲扣值</td>
<td></td>
<td></td>
</tr>
<tr>
<td>2017年11月22日</td>
<td>添加流量部分功能说明及订单管理;修改礼品卡订单管理</td>
<td></td>
<td></td>
</tr>
</tbody></table>
<h2 id="功能逻辑"><a href="#功能逻辑" class="headerlink" title="功能逻辑"></a>功能逻辑</h2><h3 id="基础商品管理"><a href="#基础商品管理" class="headerlink" title="基础商品管理"></a>基础商品管理</h3><p>![<del>图片</del>]</p>
<ul>
<li>添加类目:可一次添加多个,用<code>空格</code>或<code>,</code>分割</li>
<li>产品编码不允许修改</li>
<li>修改产品状态为上下架或进行删除操作将对供应商产品表以及客户产品表产生影响,确保每个供应商产品表以及每个客户产品表都是上架状态的基础产品</li>
<li>已上传图片的类目,再次上传图片直接覆盖原图片,删除图片则对当前上传的图片做删除操作</li>
</ul>
<p><strong>当前的类目是否有上传图片需在列表有标识区分</strong></p>
<p><del><img src="C:\Users\test\Pictures\截图\微信截图_20170704155843.png" alt="图片"></del></p>
<ul>
<li>选择类目中的相应的类别,列出关联的类目</li>
</ul>
<p><del>基础产品表需具备导出Excel表格功能,导出字段=序号+类型+编码+名称+价格+产品状态</del></p>
<p><img src="/images/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170711153901.png" alt="提示框"></p>
<h3 id="礼品卡通道"><a href="#礼品卡通道" class="headerlink" title="礼品卡通道"></a>礼品卡通道</h3><p>![<del>通道编辑逻辑</del>]</p>
<p><del>确保供应商接口中展示的都可以正常用,不显示正在调试的接口</del></p>
<ul>
<li>关于通道的添加:</li>
</ul>
<p>首次添加,将对产品编码中匹配到的基础商品(状态为上架)生成供应商产品配置表,点击配置,进入当前通道产品配置页面,列表列出匹配的产品,默认全部产品未配置、不选中,基础折扣10</p>
<ul>
<li>修改</li>
</ul>
<p>修改通道,若产品编码发生变化,则再点击配置后列出修改后匹配到的产品表,<strong>新匹配到的产品执行缺省操作,不对之前匹配到的产品做任何修改</strong>,每次有新的编码被添加或修改,需确保生成的产品表中显示的全部为上架的基础产品</p>
<ul>
<li>删除</li>
</ul>
<p>删除通道</p>
<p><img src="/images/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170704181212.png" alt="原型图"></p>
<p>单个商品进行基础价格修改,亦可批量 ;</p>
<ul>
<li>每次更新产品,产品被重新设置为勾选或未勾选,需重新更新当前客户可配置的产品表,确保所有客户可配置的产品全部为勾选的产品,并对新添加的产品执行缺省操作,不影响客户已配置好折扣的产品</li>
</ul>
<p><del><img src="%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170704184153.png" alt="图片"></del></p>
<h3 id="客户管理"><a href="#客户管理" class="headerlink" title="客户管理"></a>客户管理</h3><p>客户产品配置</p>
<ul>
<li>列出所有通道产品配置中的打钩产品,默认全部产品未选中、未配置,客户折扣10</li>
<li>可对客户折扣进行单个或批量修改</li>
<li>更新产品点击后,将更新当前页选中产品的复选框状态</li>
<li>客户配置产品不允许重复;(流量产品的重复验证:通道类型、流量类型、流量类别、支持省份及流量包体相同时,为重复产品)</li>
</ul>
<p><img src="/images/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20170705152816.png" alt="图片"></p>
<p>客户冲扣值</p>
<p><img src="C:\Users\test\Pictures\截图\微信截图_20170821181425.png" alt="图片"></p>
<h3 id="订单管理"><a href="#订单管理" class="headerlink" title="订单管理"></a>订单管理</h3><p>礼品卡订单:参考礼品卡购买下单流程,后台部分展示管理礼品卡订单基本信息,订单状态分别为:待处理、处理中、成功、失败。</p>
<ul>
<li><p>礼品卡订单筛选条件为:时间区间、订单状态、供应商通道、订单编号、商户名称、产品类型。商户订单号、供应商订单号、<strong>失败状态(部分失败、全部失败)</strong>;对于筛选条件提供清空功能;</p>
</li>
<li><p>礼品卡订单部分基本功能:按照当前筛选条件导出Excel表、部分失败订单提供手动补货功能:</p>
<p>提交时对文本输入框进行格式、数量校验,输入的礼品卡数量可<code><=</code>实际补充数量,不正确时分别做出提示信息;</p>
<p>补充的礼品卡数量=实际订单失败数量时,为补充完成,订单状态为<code>成功</code>;</p>
<p><del>![微信截图]</del></p>
</li>
</ul>
<p>充值类订单(话费、加油卡、话费):充值类订单由于其订单的特殊性,将提供2种订单信息后台管理的呈现方案,将通过编号、订单号分别展示充值类的订单的内部处理逻辑。</p>
<ul>
<li><p>通过编号分别展示:待充值、充值中、已完成:</p>
<p>待充值:编号内订单全部未提交;</p>
<p>充值中:编号内订单部分提交,且出现提交问题的订单;可查看失败订单中具体手机号;</p>
<p>已完成:编号内订单全部已提交;</p>
</li>
<li><p>通过订单号展示充值队列、状态报告:</p>
<p>充值队列:等待提交的订单;</p>
<p>状态报告:有提价状态的订单;</p>
</li>
<li><p>充值类订单后台管理部分基本功能:</p>
<p>待充值状态订单提供订单<strong>终止功能</strong><a href="%E5%B0%86%E7%BC%96%E5%8F%B7%E5%86%85%E8%AE%A2%E5%8D%95%E5%A4%B1%E8%B4%A5%E5%A4%84%E7%90%86%EF%BC%8C%E5%90%8C%E6%97%B6%E6%89%A7%E8%A1%8C%E9%80%80%E6%AC%BE%E6%93%8D%E4%BD%9C%EF%BC%9B">^注释1</a>;</p>
<p>充值中订单可重新提交或<strong>终止任务</strong><a href="%E4%BB%85%E5%AF%B9%E7%BC%96%E5%8F%B7%E5%86%85%E5%A4%B1%E8%B4%A5%E8%AE%A2%E5%8D%95%E5%81%9A%E9%87%8D%E6%96%B0%E6%8F%90%E4%BA%A4%E6%88%96%E9%80%80%E6%AC%BE%E5%A4%84%E7%90%86%EF%BC%9B">^注释2</a> ;</p>
<p>已完成订单可查看该编号下其他所有订单,点击状态报告跳转到状态报告页面,列出该编号下其他订单,同时将编号信息初始化到筛选条件;</p>
<p>状态报告中订单,按当前筛选条件可导出Excel表格。</p>
</li>
</ul>
<h3 id="消费记录"><a href="#消费记录" class="headerlink" title="消费记录"></a>消费记录</h3><p>需记录的消费类型共4种:冲扣值、充值扣费、购买扣费、充值返还、购买返还</p>
<ul>
<li>冲扣值:客户账户充值</li>
<li>充值扣费:充值类订单扣费记录</li>
<li>购买扣费:购买类订单扣费记录</li>
<li>充值返还:充值类产品充值失败后订单金额返还客户账户</li>
<li>购买返还:购买类产品购买失败后订单金额返还客户账户</li>
</ul>
<p>消费记录备注字段:</p>
<ul>
<li><p>冲扣值:</p>
<p>操作时间、管理员账号(示例图缺少该信息)、回执单号、备注信息(文本框可贴入图片)</p>
<p><img src="C:\Users\test\Pictures\截图\微信截图_20170821171716.png" alt="图片"></p>
<p>消费记录附加信息时,需在原来备注信息内补充此次提交的信息中的操作时间、管理员账号、回执单号、备注信息</p>
<p><img src="C:\Users\test\Pictures\截图\微信截图_20170821172609.png" alt="图片"></p>
</li>
<li><p>充值扣费</p>
<p>流量:编号【编号】为移动手机号【手机号】充值【包体】,为联通手机号【手机号】充值【包体】,为电信手机号【手机号】充值【包体】</p>
<p>油卡:订单【订单号】为卡号【卡号】充值【面额】</p>
</li>
<li><p>购买扣费:订单【订单号】购买【产品名称】【数量】张,共计【订单总额】</p>
</li>
<li><p>充值返还:为编号【编号】,订单号【订单号】,号码【手机号】,失败返还【订单金额】 </p>
</li>
<li><p>购买返还;订单【订单号】,失败返还【订单总额】</p>
</li>
</ul>
<p>类型:根据所下订单的产品分类而定,目前为:流量、礼品卡、加油卡</p>
<p>冲扣值类消费记录可附加信息:</p>
<ul>
<li>可对记录的支付状态进行修改</li>
<li>备注信息可存入图片</li>
</ul>
<p><img src="C:\Users\test\Pictures\截图\微信截图_20170821175009.png" alt="图片"></p>
<h3 id="非功能需求"><a href="#非功能需求" class="headerlink" title="非功能需求"></a>非功能需求</h3><ol>
<li>产品编码用json的格式,前面的编码是我们的产品编码,后面的编码是供应商提供的产品编码,需按照正确的方式对产品编码进行添加及解析。例如:aa:xxx,前面的aa是我们的基础产品编码</li>
<li>类目、基础产品数据的录入</li>
<li>产品编码的填写规则</li>
</ol>
]]></content>
<categories>
<category>项目介绍</category>
</categories>
<tags>
<tag>业务文档</tag>
<tag>原型</tag>
</tags>
</entry>
<entry>
<title>分时租赁 - 租车流程图</title>
<url>/2021/06/25/%E5%88%86%E6%97%B6%E7%A7%9F%E8%BD%A6%E6%B5%81%E7%A8%8B%E5%9B%BE/</url>
<content><![CDATA[<div class="note default"><p>分时租车 - 自由用户租车流程</p>
</div>
<span id="more"></span>
<p><img src="/images/%E5%88%86%E6%97%B6%E7%A7%9F%E8%BD%A6-%E8%87%AA%E7%94%B1%E7%94%A8%E6%88%B7%E7%A7%9F%E8%BD%A6%E6%B5%81%E7%A8%8B.jpg" alt="分时租车"></p>
]]></content>
<categories>
<category>项目介绍</category>
</categories>
<tags>
<tag>流程图</tag>
</tags>
</entry>
<entry>
<title>自媒体平台 - 多酷汽车网</title>
<url>/2021/05/19/%E5%A4%9A%E9%85%B7%E6%B1%BD%E8%BD%A6/</url>
<content><![CDATA[<div class="note default"><p>自媒体品牌<a href="#">汽车小咖</a>, 主要面向车主用户提供维护保养进口车资讯等, 自有媒体网站多酷汽车, 在网易, 腾讯, 今日头条, 易车, 一点资讯, 微博, 微信, UC资讯, 搜狐等平台平步发布</p>
</div>
<span id="more"></span>
<h2 id="部分截图"><a href="#部分截图" class="headerlink" title="部分截图"></a>部分截图</h2><h3 id="wap端"><a href="#wap端" class="headerlink" title="wap端"></a>wap端</h3><p><img src="https://i.loli.net/2021/05/19/lvP2ZDouckFgHJ6.jpg" alt="Web capture_19-5-2021_16209_"></p>
<h3 id="web端"><a href="#web端" class="headerlink" title="web端"></a>web端</h3><p><img src="https://i.loli.net/2021/05/19/bhyI3tLKrCfUnis.jpg" alt="7f689fb7jw1f5b0l7p7caj20wv0iowk3"></p>
<h2 id="其他文档"><a href="#其他文档" class="headerlink" title="其他文档"></a>其他文档</h2><p><code>wap端</code>一期文档: <a href="https://www.zybuluo.com/bg-dizzy/note/389705">PRD: 多酷移动网页需求文档v1.0</a></p>
]]></content>
<categories>
<category>项目介绍</category>
</categories>
<tags>
<tag>汽车自媒体</tag>
<tag>汽车小咖</tag>
</tags>
</entry>
<entry>
<title>大方组网连接流程图</title>
<url>/2021/05/19/%E5%A4%A7%E6%96%B9%E7%BB%84%E7%BD%91%E6%B5%81%E7%A8%8B/</url>
<content><![CDATA[<div class="note default"><p>智能摄像机<a href="https://www.mi.com/dafang">大方</a>组网连接流程图</p>
</div>
<span id="more"></span>
<p><img src="https://i.loli.net/2021/05/17/Av3klsyh7oCcPRB.jpg" alt="大方组网连接流程"></p>
]]></content>
<categories>
<category>项目介绍</category>
</categories>
<tags>
<tag>flow</tag>
</tags>
</entry>
<entry>
<title>充值服务接入支付宝手机网页支付流程图</title>
<url>/2021/05/19/%E6%94%AF%E4%BB%98%E5%AE%9D%E6%89%8B%E6%9C%BA%E7%BD%91%E9%A1%B5%E6%94%AF%E4%BB%98%E6%B5%81%E7%A8%8B/</url>
<content><![CDATA[<div class="note default"><p>流量sdk接入支付宝网页支付, 研究接入流程的时候绘制的流程图, 用来向开发人员讲解流程</p>
</div>
<span id="more"></span>
<p><img src="https://i.loli.net/2021/05/17/G1ITdyNAMBx4Xce.jpg" alt="单号码充值-支付宝手机网页支付流程"></p>
]]></content>
<categories>
<category>项目介绍</category>
</categories>
<tags>
<tag>flow</tag>
</tags>
</entry>
<entry>
<title>正则表达式匹配规则表</title>
<url>/2015/09/26/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%8C%B9%E9%85%8D%E8%A7%84%E5%88%99%E8%A1%A8/</url>
<content><![CDATA[<p><img src="https://i.loli.net/2021/05/19/3hJs6ltmZwR9qdD.png" alt="card"></p>
<span id="more"></span>
<h2 id="字符及含义"><a href="#字符及含义" class="headerlink" title="字符及含义"></a>字符及含义</h2><table>
<thead>
<tr>
<th>字符</th>
<th>描述</th>
</tr>
</thead>
<tbody><tr>
<td>\</td>
<td>将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“<code>n</code>”匹配字符“<code>n</code>”。“<code>\n</code>”匹配一个换行符。串行“<code>\\</code>”匹配“<code>\</code>”而“<code>\(</code>”则匹配“<code>(</code>”。</td>
</tr>
<tr>
<td>^</td>
<td>匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“<code>\n</code>”或“<code>\r</code>”之后的位置。</td>
</tr>
<tr>
<td>$</td>
<td>匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“<code>\n</code>”或“<code>\r</code>”之前的位置。</td>
</tr>
<tr>
<td>*</td>
<td>匹配前面的子表达式零次或多次。例如,zo<em>能匹配“<code>z</code>”以及“<code>zoo</code>”。</em>等价于{0,}。</td>
</tr>
<tr>
<td>+</td>
<td>匹配前面的子表达式一次或多次。例如,“<code>zo+</code>”能匹配“<code>zo</code>”以及“<code>zoo</code>”,但不能匹配“<code>z</code>”。+等价于{1,}。</td>
</tr>
<tr>
<td>?</td>
<td>匹配前面的子表达式零次或一次。例如,“<code>do(es)?</code>”可以匹配“<code>does</code>”或“<code>does</code>”中的“<code>do</code>”。?等价于{0,1}。</td>
</tr>
<tr>
<td>{<em>n</em>}</td>
<td><em>n</em>是一个非负整数。匹配确定的<em>n</em>次。例如,“<code>o{2}</code>”不能匹配“<code>Bob</code>”中的“<code>o</code>”,但是能匹配“<code>food</code>”中的两个o。</td>
</tr>
<tr>
<td>{<em>n</em>,}</td>
<td><em>n</em>是一个非负整数。至少匹配<em>n</em>次。例如,“<code>o{2,}</code>”不能匹配“<code>Bob</code>”中的“<code>o</code>”,但能匹配“<code>foooood</code>”中的所有o。“<code>o{1,}</code>”等价于“<code>o+</code>”。“<code>o{0,}</code>”则等价于“<code>o*</code>”。</td>
</tr>
<tr>
<td>{<em>n</em>,<em>m</em>}</td>
<td><em>m</em>和<em>n</em>均为非负整数,其中<em>n</em><=<em>m</em>。最少匹配<em>n</em>次且最多匹配<em>m</em>次。例如,“<code>o{1,3}</code>”将匹配“<code>fooooood</code>”中的前三个o。“<code>o{0,1}</code>”等价于“<code>o?</code>”。请注意在逗号和两个数之间不能有空格。</td>
</tr>
<tr>
<td>?</td>
<td>当该字符紧跟在任何一个其他限制符(*,+,?,{<em>n</em>},{<em>n</em>,},{<em>n</em>,<em>m</em>})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“<code>oooo</code>”,“<code>o+?</code>”将匹配单个“<code>o</code>”,而“<code>o+</code>”将匹配所有“<code>o</code>”。</td>
</tr>
<tr>
<td>.</td>
<td>匹配除“<code>\</code>*<code>n</code><em>”之外的任何单个字符。要匹配包括“<code>\</code></em><code>n</code>*”在内的任何字符,请使用像“<code>(.&#124;\n)</code>”的模式。</td>
</tr>
<tr>
<td>(pattern)</td>
<td>匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“<code>\(</code>”或“<code>\)</code>”。</td>
</tr>
<tr>
<td>(?:pattern)</td>
<td>匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“<code>(&#124;)</code>”来组合一个模式的各个部分是很有用。例如“<code>industr(?:y&#124;ies)</code>”就是一个比“<code>industry&#124;industries</code>”更简略的表达式。</td>
</tr>
<tr>
<td>(?=pattern)</td>
<td>正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“<code>Windows(?=95&#124;98&#124;NT&#124;2000)</code>”能匹配“<code>Windows2000</code>”中的“<code>Windows</code>”,但不能匹配“<code>Windows3.1</code>”中的“<code>Windows</code>”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。</td>
</tr>
<tr>
<td>(?!pattern)</td>
<td>正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“<code>Windows(?!95&#124;98&#124;NT&#124;2000)</code>”能匹配“<code>Windows3.1</code>”中的“<code>Windows</code>”,但不能匹配“<code>Windows2000</code>”中的“<code>Windows</code>”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始</td>
</tr>
<tr>
<td>(?<=pattern)</td>
<td>反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“<code>(?<=95&#124;98&#124;NT&#124;2000)Windows</code>”能匹配“<code>2000Windows</code>”中的“<code>Windows</code>”,但不能匹配“<code>3.1Windows</code>”中的“<code>Windows</code>”。</td>
</tr>
<tr>
<td>(?<!pattern)</td>
<td>反向否定预查,与正向否定预查类拟,只是方向相反。例如“<code>(?<!95&#124;98&#124;NT&#124;2000)Windows</code>”能匹配“<code>3.1Windows</code>”中的“<code>Windows</code>”,但不能匹配“<code>2000Windows</code>”中的“<code>Windows</code>”。</td>
</tr>
<tr>
<td>x|y</td>
<td>匹配x或y。例如,“<code>z&#124;food</code>”能匹配“<code>z</code>”或“<code>food</code>”。“<code>(z&#124;f)ood</code>”则匹配“<code>zood</code>”或“<code>food</code>”。</td>
</tr>
<tr>
<td>[xyz]</td>
<td>字符集合。匹配所包含的任意一个字符。例如,“<code>[abc]</code>”可以匹配“<code>plain</code>”中的“<code>a</code>”。</td>
</tr>
<tr>
<td>[^xyz]</td>
<td>负值字符集合。匹配未包含的任意字符。例如,“<code>[^abc]</code>”可以匹配“<code>plain</code>”中的“<code>p</code>”。</td>
</tr>
<tr>
<td>[a-z]</td>
<td>字符范围。匹配指定范围内的任意字符。例如,“<code>[a-z]</code>”可以匹配“<code>a</code>”到“<code>z</code>”范围内的任意小写字母字符。</td>
</tr>
<tr>
<td>[^a-z]</td>
<td>负值字符范围。匹配任何不在指定范围内的任意字符。例如,“<code>[^a-z]</code>”可以匹配任何不在“<code>a</code>”到“<code>z</code>”范围内的任意字符。</td>
</tr>
<tr>
<td>\b</td>
<td>匹配一个单词边界,也就是指单词和空格间的位置。例如,“<code>er\b</code>”可以匹配“<code>never</code>”中的“<code>er</code>”,但不能匹配“<code>verb</code>”中的“<code>er</code>”。</td>
</tr>
<tr>
<td>\B</td>
<td>匹配非单词边界。“<code>er\B</code>”能匹配“<code>verb</code>”中的“<code>er</code>”,但不能匹配“<code>never</code>”中的“<code>er</code>”。</td>
</tr>
<tr>
<td>\cx</td>
<td>匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“<code>c</code>”字符。</td>
</tr>
<tr>
<td>\d</td>
<td>匹配一个数字字符。等价于[0-9]。</td>
</tr>
<tr>
<td>\D</td>
<td>匹配一个非数字字符。等价于[^0-9]。</td>
</tr>
<tr>
<td>\f</td>
<td>匹配一个换页符。等价于\x0c和\cL。</td>
</tr>
<tr>
<td>\n</td>
<td>匹配一个换行符。等价于\x0a和\cJ。</td>
</tr>
<tr>
<td>\r</td>
<td>匹配一个回车符。等价于\x0d和\cM。</td>
</tr>
<tr>
<td>\s</td>
<td>匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。</td>
</tr>
<tr>
<td>\S</td>
<td>匹配任何非空白字符。等价于[^ \f\n\r\t\v]。</td>
</tr>
<tr>
<td>\t</td>
<td>匹配一个制表符。等价于\x09和\cI。</td>
</tr>
<tr>
<td>\v</td>
<td>匹配一个垂直制表符。等价于\x0b和\cK。</td>
</tr>
<tr>
<td>\w</td>
<td>匹配包括下划线的任何单词字符。等价于“<code>[A-Za-z0-9_]</code>”。</td>
</tr>
<tr>
<td>\W</td>
<td>匹配任何非单词字符。等价于“<code>[^A-Za-z0-9_]</code>”。</td>
</tr>
<tr>
<td>\x<em>n</em></td>
<td>匹配<em>n</em>,其中<em>n</em>为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“<code>\x41</code>”匹配“<code>A</code>”。“<code>\x041</code>”则等价于“<code>\x04&1</code>”。正则表达式中可以使用ASCII编码。.</td>
</tr>
<tr>
<td>*num*</td>
<td>匹配<em>num</em>,其中<em>num</em>是一个正整数。对所获取的匹配的引用。例如,“<code>(.)\1</code>”匹配两个连续的相同字符。</td>
</tr>
<tr>
<td>*n*</td>
<td>标识一个八进制转义值或一个向后引用。如果*n<em>之前至少</em>n<em>个获取的子表达式,则</em>n<em>为向后引用。否则,如果</em>n<em>为八进制数字(0-7),则</em>n*为一个八进制转义值。</td>
</tr>
<tr>
<td>*nm*</td>
<td>标识一个八进制转义值或一个向后引用。如果*nm<em>之前至少有</em>nm<em>个获得子表达式,则</em>nm<em>为向后引用。如果*nm</em>之前至少有<em>n</em>个获取,则<em>n</em>为一个后跟文字<em>m</em>的向后引用。如果前面的条件都不满足,若<em>n</em>和<em>m</em>均为八进制数字(0-7),则*nm<em>将匹配八进制转义值</em>nm*。</td>
</tr>
<tr>
<td>*nml*</td>
<td>如果<em>n</em>为八进制数字(0-3),且<em>m和l</em>均为八进制数字(0-7),则匹配八进制转义值<em>nm</em>l。</td>
</tr>
<tr>
<td>\u<em>n</em></td>
<td>匹配<em>n</em>,其中<em>n</em>是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。</td>
</tr>
</tbody></table>
<h2 id="常用正则表达式"><a href="#常用正则表达式" class="headerlink" title="常用正则表达式"></a>常用正则表达式</h2><table>
<thead>
<tr>
<th>字符</th>
<th>描述</th>
</tr>
</thead>
<tbody><tr>
<td>用户名</td>
<td>/^[a-z0-9_-]{3,16}$/</td>
</tr>
<tr>
<td>密码</td>
<td>/^[a-z0-9_-]{6,18}$/</td>
</tr>
<tr>
<td>十六进制值</td>
<td>/^#?([a-f0-9]{6}|[a-f0-9]{3})$/</td>
</tr>
<tr>
<td>电子邮箱</td>
<td>/^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/ /^[a-z\d]+(.[a-z\d]+)*@(<a href="-%5B%5Cda-z%5D">\da-z</a>?)+(.{1,2}[a-z]+)+$/</td>
</tr>
<tr>
<td>URL</td>
<td>/^(https?://)?([\da-z.-]+).([a-z.]{2,6})([/\w .-]*)*/?$/</td>
</tr>
<tr>
<td>IP 地址</td>
<td>/((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/ /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/</td>
</tr>
<tr>
<td>HTML 标签</td>
<td>/^<([a-z]+)([^<]+)<em>(?:>(.</em>)</\1>|\s+/>)$/</td>
</tr>
<tr>
<td>删除代码\注释</td>
<td>(?<!http:|\S)//.*$</td>
</tr>
<tr>
<td>Unicode编码中的汉字范围</td>
<td>/^[\u2E80-\u9FFF]+$/</td>
</tr>
</tbody></table>
<h2 id="Everything-Regex"><a href="#Everything-Regex" class="headerlink" title="Everything Regex"></a>Everything Regex</h2><table>
<thead>
<tr>
<th>字符</th>
<th>描述</th>
</tr>
</thead>
<tbody><tr>
<td>a|b</td>
<td>匹配 a 或 b</td>
</tr>
<tr>
<td>gr(a|e)y</td>
<td>匹配 gray 或 grey</td>
</tr>
<tr>
<td>.</td>
<td>匹配任一字符</td>
</tr>
<tr>
<td>[abc]</td>
<td>匹配任一字符: a 或 b 或 c</td>
</tr>
<tr>
<td>[^abc]</td>
<td>匹配任一字符, 但不包括 a, b, c</td>
</tr>
<tr>
<td>[a-z]</td>
<td>匹配从 a 到 z 之间的任一字符</td>
</tr>
<tr>
<td>[a-zA-Z]</td>
<td>匹配从 a 到 z, 及从 A 到 Z 之间的任一字符</td>
</tr>
<tr>
<td>^</td>
<td>匹配文件名的头部</td>
</tr>
<tr>
<td>$</td>
<td>匹配文件名的尾部</td>
</tr>
<tr>
<td>( )</td>
<td>匹配标记的子表达式</td>
</tr>
<tr>
<td>\n</td>
<td>匹配第 nth 个标记的子表达式, nth 代表 1 到 9</td>
</tr>
<tr>
<td>\b</td>
<td>匹配字词边界</td>
</tr>
<tr>
<td>*</td>
<td>匹配前一项内容 0 或多次</td>
</tr>
<tr>
<td>?</td>
<td>匹配前一项内容 0 或 1 次</td>
</tr>
<tr>
<td>+</td>
<td>匹配前一项内容 1 或多次</td>
</tr>
<tr>
<td>*?</td>
<td>匹配前一项内容 0 或多次 (懒人模式)</td>
</tr>
<tr>
<td>+?</td>
<td>匹配前一项内容 1 或多次 (懒人模式)</td>
</tr>
<tr>
<td>{x}</td>
<td>匹配前一项内容 x 次</td>
</tr>
<tr>
<td>{x,}</td>
<td>匹配前一项内容 x 或多次</td>
</tr>
<tr>
<td>{x,y}</td>
<td>匹配前一项内容次数介于 x 和 y 之间</td>
</tr>
<tr>
<td>\</td>
<td>特殊转义字符</td>
</tr>
</tbody></table>
]]></content>
<categories>
<category>code</category>
</categories>
<tags>
<tag>正则表达式</tag>
</tags>
</entry>
<entry>
<title>流量sdk系统平台</title>
<url>/2021/05/20/%E6%B5%81%E9%87%8FSDK%E7%B3%BB%E7%BB%9F%E5%B9%B3%E5%8F%B0/</url>
<content><![CDATA[<div class="note info"><p>sdk流量平台是一个 mvp 产品, 帮助 App 厂商变现的一种尝试, 总的来说就是建立一个变现平台, 可将服务原生集成到自己的 App 内(应用内增加入口, 支持 ios, Android), 用户可点击进入流量充值页面, 通过订单分成的方式为厂商提供变现能力, 可通过商家后台查看营业额, 报表等数据, 初期以销售运营商流量为主</p>
</div>
<span id="more"></span>
<p>下图展示了变现平台的系统结构:</p>
<div class="pdf-container" data-target="/pdf/流量充值系统结构.pdf" data-height="500px"></div>
]]></content>
<categories>
<category>项目介绍</category>
</categories>
<tags>
<tag>sdk</tag>
<tag>系统图</tag>
</tags>
</entry>
<entry>
<title>流量营销方案</title>
<url>/2021/05/19/%E6%B5%81%E9%87%8F%E8%90%A5%E9%94%80%E6%96%B9%E6%A1%88/</url>
<content><![CDATA[<div class="note default"><p>为证券公司制定的流量营销方案</p>
</div>
<span id="more"></span>
<div class="pdf-container" data-target="/pdf/流量营销方案.pdf" data-height="500px"></div>
]]></content>
<categories>
<category>项目介绍</category>
</categories>
<tags>
<tag>营销方案</tag>
<tag>pdf</tag>
</tags>
</entry>
<entry>
<title>电商平台 - 港口车</title>
<url>/2021/05/19/%E6%B8%AF%E5%8F%A3%E8%BD%A6/</url>
<content><![CDATA[<div class="note default"><p>港口车是一个平行进口车购车网, 用户可在pc端下单付定金, 平台购车服务顾问协同到店购车, 港口车和中国人寿合作解决平行进口车售后问题</p>
</div>
<span id="more"></span>
<p>汽车电商这个方向当年很多都是网站选车下定金, 顾问协同购车的模式, 港口车打通了线上购车的整个流程, 后续由于商业融资问题没能大规模推广, <del>港口车网站: <a href="https://www.gangkouche.com/">https://www.gangkouche.com</a></del>, 以下挑选部分文档整理出来供参考:</p>
<ul>
<li>平台处理订单状态</li>
</ul>
<table>
<thead>
<tr>
<th>序号</th>
<th>用户</th>
<th>个人用户</th>
<th>用户3</th>
<th>经销商</th>
<th>经销商2</th>
<th>OP</th>
<th>OP2</th>
<th>车源</th>
<th>车源2</th>
<th>分析</th>
</tr>
</thead>
<tbody><tr>
<td></td>
<td>前操作</td>
<td>订单显示状态</td>
<td>后操作</td>
<td>订单显示状态</td>
<td>订单操作</td>
<td>订单显示状态</td>
<td>订单操作</td>
<td>车源状态</td>
<td>是否可下单</td>
<td>情况说明</td>
</tr>
<tr>
<td>1</td>
<td>提交订单</td>
<td>待支付</td>
<td>取消</td>
<td>不显示</td>
<td>无</td>
<td>待支付</td>
<td>取消</td>
<td>销售中</td>
<td>是</td>
<td>用户提交订单后</td>
</tr>
<tr>
<td></td>
<td>提交订单</td>
<td>待支付</td>
<td>支付订金</td>
<td>不显示</td>
<td>无</td>
<td>待支付</td>
<td>取消</td>
<td>销售中</td>
<td>是</td>
<td>用户提交订单后</td>
</tr>
<tr>
<td>2</td>
<td>支付订金成功</td>
<td>已支付</td>
<td>取消</td>
<td>已支付</td>
<td>无</td>
<td>已支付</td>
<td>取消</td>
<td>已预订</td>
<td>否</td>
<td>用户点击支付订金到付款接口,付款成功</td>
</tr>
<tr>
<td></td>
<td>支付订金成功</td>
<td>已支付</td>
<td>付款给商家</td>
<td>已支付</td>
<td>无</td>
<td>已支付</td>
<td>取消</td>
<td>已预订</td>
<td>否</td>
<td>用户点击支付订金到付款接口,付款成功</td>
</tr>
<tr>
<td>3</td>
<td>已付款给商家</td>
<td>交易成功</td>
<td>删除</td>
<td>交易成功</td>
<td>无</td>
<td>交易成功</td>
<td></td>
<td>已售</td>
<td>否</td>
<td>线下销售陪同用户完成购车</td>
</tr>
<tr>
<td>4</td>
<td>无(到期未付订金)</td>
<td>交易关闭(过期)</td>
<td>删除</td>
<td>不显示</td>
<td>无</td>
<td>交易关闭(过期)</td>
<td>删除</td>
<td>销售中</td>
<td>是</td>
<td>下单后用户无任何操作,订单过期关闭,订单可删除</td>
</tr>
<tr>
<td></td>
<td>无(到期未付订金)</td>
<td>交易关闭(过期)</td>
<td>重新下单</td>
<td>不显示</td>
<td>无</td>
<td>交易关闭(过期)</td>
<td>删除</td>
<td>销售中</td>
<td>是</td>
<td>下单后用户无任何操作,订单过期关闭,可重新提交订单。创建一个新订单,删除用户当前订单</td>
</tr>
<tr>
<td>5</td>
<td>取消(未支付订金)</td>
<td>交易失败</td>
<td>删除</td>
<td>不显示</td>
<td>无</td>
<td>交易失败</td>
<td>删除</td>
<td>销售中</td>
<td>是</td>
<td>用户主动取消未付订金的订单</td>
</tr>
<tr>
<td></td>
<td>取消(未支付订金)</td>
<td>交易失败</td>
<td>重新下单</td>
<td>不显示</td>
<td>无</td>
<td>交易失败</td>
<td>删除</td>
<td>销售中</td>
<td>是</td>
<td>用户主动取消未付订金的订单</td>
</tr>
<tr>
<td></td>
<td>取消(已退款)</td>
<td>交易失败(退款成功)</td>
<td>删除</td>
<td>交易失败(用户退订)</td>
<td>删除</td>
<td>交易失败(用户退订)</td>
<td>删除</td>
<td>销售中</td>
<td>是</td>
<td>已支付订金的订单,用户主动取消,OP确认退款后的订单</td>
</tr>
<tr>
<td></td>
<td>取消</td>
<td>交易取消(退款中)</td>
<td>无</td>
<td>交易取消(用户退订)</td>
<td>无</td>
<td>交易取消(申请退款)</td>
<td>退款给用户</td>
<td>已预订</td>
<td>否</td>
<td>已支付订金的订单,用户主动取消</td>
</tr>
</tbody></table>
<ul>
<li>平台购车顾问处理订单, 接入OA办公</li>
</ul>
<p><img src="https://i.loli.net/2021/05/17/I47uhNBicYP9W6n.jpg" alt="顾问创建订单业务流程"></p>
<h2 id="原型图"><a href="#原型图" class="headerlink" title="原型图"></a>原型图</h2><ul>
<li>买车筛选</li>
</ul>
<p><img src="https://i.loli.net/2021/05/17/o9WIMt3ASYGg5rO.png" alt="image-20210517163751958"></p>