mix-public 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +8 -3
  2. package/docs/01./346/241/206/346/236/266/344/273/213/347/273/215/01./347/233/256/345/275/225/347/273/223/346/236/204.md +16 -0
  3. package/docs/01./346/241/206/346/236/266/344/273/213/347/273/215/02./345/211/215/347/253/257/346/241/206/346/236/266.md +220 -0
  4. package/docs/01./346/241/206/346/236/266/344/273/213/347/273/215/03./345/211/215/347/253/257/351/241/271/347/233/256/344/273/213/347/273/215.md +253 -0
  5. package/docs/01./346/241/206/346/236/266/344/273/213/347/273/215/04./345/211/215/347/253/257/344/273/243/347/240/201/350/247/204/350/214/203.md +153 -0
  6. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./346/234/254/345/234/260/345/234/260/345/235/200/350/267/263/350/275/254/01.Goto.md +35 -0
  7. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./346/234/254/345/234/260/345/234/260/345/235/200/350/267/263/350/275/254/02.GotoMain.md +28 -0
  8. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./346/234/254/345/234/260/345/234/260/345/235/200/350/267/263/350/275/254/03.Drawer.md +53 -0
  9. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./346/234/254/345/234/260/345/234/260/345/235/200/350/267/263/350/275/254/04.PopupShow.md +53 -0
  10. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./346/234/254/345/234/260/345/234/260/345/235/200/350/267/263/350/275/254/05.GoBack.md +31 -0
  11. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/01./346/234/254/345/234/260/345/234/260/345/235/200/350/267/263/350/275/254/06.ReturnHomePage.md +30 -0
  12. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/02./347/275/221/347/273/234/345/234/260/345/235/200/350/267/263/350/275/254/01.GoTo.md +31 -0
  13. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/02./347/275/221/347/273/234/345/234/260/345/235/200/350/267/263/350/275/254/02.GotoUrlByBrowse.md +30 -0
  14. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/03./350/267/263/350/275/254/347/211/271/346/256/212/351/241/265/351/235/242/01.GoToVideo.md +31 -0
  15. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/03./350/267/263/350/275/254/347/211/271/346/256/212/351/241/265/351/235/242/02.GoToMap.md +30 -0
  16. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/03./350/267/263/350/275/254/347/211/271/346/256/212/351/241/265/351/235/242/03.MapSearch.md +31 -0
  17. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/03./350/267/263/350/275/254/347/211/271/346/256/212/351/241/265/351/235/242/04.OnlineService.md +28 -0
  18. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/04./350/267/263/350/275/254/344/270/211/346/226/271/01.OpenOtherApp.md +36 -0
  19. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/04./350/267/263/350/275/254/344/270/211/346/226/271/02.OpenWechatMiniProgram.md +37 -0
  20. package/docs/02.API/00./351/241/265/351/235/242/350/267/263/350/275/254/_meta.json +30 -0
  21. package/docs/02.API/01./346/234/254/345/234/260/345/217/202/346/225/260/345/255/230/345/202/250/01.putCookieInfo.md +29 -0
  22. package/docs/02.API/01./346/234/254/345/234/260/345/217/202/346/225/260/345/255/230/345/202/250/02.getCookieInfo.md +52 -0
  23. package/docs/02.API/02.APP/345/210/206/344/272/253/01./345/210/206/344/272/253/351/223/276/346/216/245/350/207/263/345/276/256/344/277/241/01.ShareSessionUrl.md +32 -0
  24. package/docs/02.API/02.APP/345/210/206/344/272/253/01./345/210/206/344/272/253/351/223/276/346/216/245/350/207/263/345/276/256/344/277/241/02.ShareTimelineUrl.md +32 -0
  25. package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/01.ShareSessionImage.md +29 -0
  26. package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/02.Base64ImageShareWechatSession.md +29 -0
  27. package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/03.ShareTimelineImage.md +29 -0
  28. package/docs/02.API/02.APP/345/210/206/344/272/253/02./345/210/206/344/272/253/345/233/276/347/211/207/350/207/263/345/276/256/344/277/241/04.Base64ImageShareWechatTimeline.md +29 -0
  29. package/docs/02.API/02.APP/345/210/206/344/272/253/_meta.json +16 -0
  30. package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/01.UploadPhoto.md +44 -0
  31. package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/02.LibraryPhoto.md +44 -0
  32. package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/03.CanemaPhoto.md +44 -0
  33. package/docs/02.API/04.APP/345/233/276/347/211/207/01./345/233/276/347/211/207/351/200/211/346/213/251/04.ImgUpload.md +131 -0
  34. package/docs/02.API/04.APP/345/233/276/347/211/207/02./345/233/276/347/211/207/344/277/235/345/255/230/01.SaveToSd.md +26 -0
  35. package/docs/02.API/04.APP/345/233/276/347/211/207/02./345/233/276/347/211/207/344/277/235/345/255/230/02.SaveBase64ImageToSd.md +23 -0
  36. package/docs/02.API/04.APP/345/233/276/347/211/207/02./345/233/276/347/211/207/344/277/235/345/255/230/03.CachePicture.md +32 -0
  37. package/docs/02.API/04.APP/345/233/276/347/211/207/03./345/233/276/347/211/207/351/242/204/350/247/210/01.PhotoBrowser.md +30 -0
  38. package/docs/02.API/04.APP/345/233/276/347/211/207/_meta.json +23 -0
  39. package/docs/02.API/05./345/260/217/347/250/213/345/272/217/01./345/260/217/347/250/213/345/272/217/350/267/263/350/275/254/01.JumpMiniApp.md +34 -0
  40. package/docs/02.API/05./345/260/217/347/250/213/345/272/217/01./345/260/217/347/250/213/345/272/217/350/267/263/350/275/254/02.JumpHalfScreenApp.md +33 -0
  41. package/docs/02.API/05./345/260/217/347/250/213/345/272/217/01./345/260/217/347/250/213/345/272/217/350/267/263/350/275/254/03.getMiniProgramUsageRecord.md +28 -0
  42. package/docs/02.API/05./345/260/217/347/250/213/345/272/217/02./346/270/205/351/231/244/345/260/217/347/250/213/345/272/217/347/274/223/345/255/230/01.MiniAppDelete.md +27 -0
  43. package/docs/02.API/05./345/260/217/347/250/213/345/272/217/_meta.json +16 -0
  44. package/docs/02.API/06./345/271/277/345/221/212/01.ShowRewardedVideo.md +26 -0
  45. package/docs/02.API/06./345/271/277/345/221/212/02.ShowInterstitial.md +26 -0
  46. package/docs/02.API/07./346/226/207/344/273/266/347/256/241/347/220/206/01./346/226/207/344/273/266/344/270/213/350/275/275/01.DownloadFiles.md +38 -0
  47. package/docs/02.API/07./346/226/207/344/273/266/347/256/241/347/220/206/01./346/226/207/344/273/266/344/270/213/350/275/275/02.DownloadFileCancel.md +33 -0
  48. package/docs/02.API/07./346/226/207/344/273/266/347/256/241/347/220/206/01./346/226/207/344/273/266/344/270/213/350/275/275/03.getDownloadFileProgress.md +41 -0
  49. package/docs/02.API/07./346/226/207/344/273/266/347/256/241/347/220/206/02./346/226/207/344/273/266/345/210/240/351/231/244/01.DownloadFileDelete.md +33 -0
  50. package/docs/02.API/07./346/226/207/344/273/266/347/256/241/347/220/206/03./346/226/207/344/273/266/351/242/204/350/247/210/01.FilesPreview.md +32 -0
  51. package/docs/02.API/07./346/226/207/344/273/266/347/256/241/347/220/206/04./350/216/267/345/217/226/346/226/207/344/273/266/344/270/213/350/275/275/345/210/227/350/241/250/01.getFinishDownloadPaths.md +28 -0
  52. package/docs/02.API/07./346/226/207/344/273/266/347/256/241/347/220/206/_meta.json +30 -0
  53. package/docs/02.API/08./351/241/265/351/235/242/346/226/271/346/263/225/01.OnStart.md +28 -0
  54. package/docs/02.API/08./351/241/265/351/235/242/346/226/271/346/263/225/02.OnStop.md +28 -0
  55. package/docs/02.API/08./351/241/265/351/235/242/346/226/271/346/263/225/03.RefreshDialog.md +30 -0
  56. package/docs/02.API/08./351/241/265/351/235/242/346/226/271/346/263/225/04.returnPageUrl.md +27 -0
  57. package/docs/02.API/08./351/241/265/351/235/242/346/226/271/346/263/225/05.keyboard.md +30 -0
  58. package/docs/02.API/09.OCR/01.getBase64Info.md +86 -0
  59. package/docs/02.API/09.OCR/02.OCRBankCard.md +44 -0
  60. package/docs/02.API/09.OCR/03.OCRIdCard.md +46 -0
  61. package/docs/02.API/10./346/211/253/346/217/217/346/226/271/346/263/225/01.ScanQRCode.md +39 -0
  62. package/docs/02.API/10./346/211/253/346/217/217/346/226/271/346/263/225/02.QRCodeBase64.md +33 -0
  63. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/01.SetTitle.md +32 -0
  64. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/02.SetRightButtonTitle.md +38 -0
  65. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/03.SetStatusBarBgColor.md +34 -0
  66. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/04.SetStatusBarStyle.md +32 -0
  67. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/05.PlayMusic.md +30 -0
  68. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/06.PageCheck.md +25 -0
  69. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/07.SetBadgeValue.md +31 -0
  70. package/docs/02.API/11./350/256/276/347/275/256/351/241/265/351/235/242/351/205/215/347/275/256/344/277/241/346/201/257/08.ClearBadgeValue.md +30 -0
  71. package/docs/02.API/12./350/216/267/345/217/226/350/256/276/345/244/207/344/277/241/346/201/257/01.getDeviceInfo.md +42 -0
  72. package/docs/02.API/12./350/216/267/345/217/226/350/256/276/345/244/207/344/277/241/346/201/257/02.getBrightness.md +27 -0
  73. package/docs/02.API/12./350/216/267/345/217/226/350/256/276/345/244/207/344/277/241/346/201/257/03.getVolume.md +27 -0
  74. package/docs/02.API/12./350/216/267/345/217/226/350/256/276/345/244/207/344/277/241/346/201/257/04.getClipboardContent.md +27 -0
  75. package/docs/02.API/12./350/216/267/345/217/226/350/256/276/345/244/207/344/277/241/346/201/257/05.IsNet.md +27 -0
  76. package/docs/02.API/12./350/216/267/345/217/226/350/256/276/345/244/207/344/277/241/346/201/257/06.GetLocation.md +31 -0
  77. package/docs/02.API/12./350/216/267/345/217/226/350/256/276/345/244/207/344/277/241/346/201/257/07.getApnsAuthorizationStatus.md +37 -0
  78. package/docs/02.API/13./346/217/220/344/272/244/350/256/276/345/244/207/344/277/256/346/224/271/01.Brightness.md +32 -0
  79. package/docs/02.API/13./346/217/220/344/272/244/350/256/276/345/244/207/344/277/256/346/224/271/02.VolumeControl.md +32 -0
  80. package/docs/02.API/13./346/217/220/344/272/244/350/256/276/345/244/207/344/277/256/346/224/271/03.ScheduleReminder.md +38 -0
  81. package/docs/02.API/13./346/217/220/344/272/244/350/256/276/345/244/207/344/277/256/346/224/271/04.SettingApns.md +24 -0
  82. package/docs/02.API/14./350/216/267/345/217/226APP/344/277/241/346/201/257/01.GetAppVersion.md +27 -0
  83. package/docs/02.API/14./350/216/267/345/217/226APP/344/277/241/346/201/257/02.getStatusBarHeight.md +27 -0
  84. package/docs/02.API/14./350/216/267/345/217/226APP/344/277/241/346/201/257/03.CacheSize.md +26 -0
  85. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/01.GreyAllPages.md +24 -0
  86. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/02.ClosePop.md +26 -0
  87. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/03.ClearAppCache.md +24 -0
  88. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/04.ExitApp.md +24 -0
  89. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/05.getAppIconsPath.md +26 -0
  90. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/06.ReplaceAppIcon.md +25 -0
  91. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/07.getBiometricRecognition.md +26 -0
  92. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/08.IsOpenPushSound.md +30 -0
  93. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/09.BindCloudChannel.md +30 -0
  94. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/10.UnbindCloudChannel.md +24 -0
  95. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/11.Shock.md +27 -0
  96. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/12.SetApplicationIconBadgeNumber.md +30 -0
  97. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/13.ClearApplicationIconBadgeNumber.md +24 -0
  98. package/docs/02.API/15.APP/346/223/215/344/275/234/346/226/271/346/263/225/14.AutoLogin.md +31 -0
  99. package/docs/02.API/16.APP/345/274/271/347/252/227/01.ShowLoading.md +24 -0
  100. package/docs/02.API/16.APP/345/274/271/347/252/227/02.HideLoading.md +24 -0
  101. package/docs/02.API/16.APP/345/274/271/347/252/227/03.ShowMsg.md +31 -0
  102. package/docs/02.API/16.APP/345/274/271/347/252/227/04.ShowDialog.md +42 -0
  103. package/docs/02.API/16.APP/345/274/271/347/252/227/05.FloatingWindowData.md +40 -0
  104. package/docs/02.API/17./350/256/276/345/244/207/346/226/271/346/263/225/01./351/231/200/350/236/272/344/273/252/01.OpenGyro.md +37 -0
  105. package/docs/02.API/17./350/256/276/345/244/207/346/226/271/346/263/225/01./351/231/200/350/236/272/344/273/252/02.CloseGyro.md +25 -0
  106. package/docs/02.API/17./350/256/276/345/244/207/346/226/271/346/263/225/02./346/213/250/345/217/267/01.PhoneCall.md +31 -0
  107. package/docs/02.API/17./350/256/276/345/244/207/346/226/271/346/263/225/_meta.json +16 -0
  108. package/docs/02.API/18.IOS/347/213/254/346/234/211/346/226/271/346/263/225/01.SaveToiCloud.md +31 -0
  109. package/docs/02.API/18.IOS/347/213/254/346/234/211/346/226/271/346/263/225/02.FullScreen.md +24 -0
  110. package/docs/02.API/19.Android/347/213/254/346/234/211/346/226/271/346/263/225/01.InitCloudChannel.md +32 -0
  111. package/docs/02.API/20.APP/347/231/273/345/275/225/01.WeChatLogin.md +26 -0
  112. package/docs/02.API/20.APP/347/231/273/345/275/225/02.QQLogin.md +26 -0
  113. package/docs/02.API/21./346/234/254/345/234/260/346/234/215/345/212/241/345/231/250/01.StartHttpServer.md +24 -0
  114. package/docs/02.API/21./346/234/254/345/234/260/346/234/215/345/212/241/345/231/250/02.StopHttpServer.md +24 -0
  115. package/docs/02.API/APP/346/224/257/344/273/230/01.RequestAlipay.md +36 -0
  116. package/docs/02.API/APP/346/224/257/344/273/230/02.RequestWechatPay.md +35 -0
  117. package/docs/02.API/_meta.json +156 -0
  118. package/main/mixappfunc.js +158 -112
  119. package/mix-project/src/pages/index/index.vue +20 -2
  120. package/mix-project/src/pages/my/index.vue +34 -33
  121. package/mixRender.css +99 -8
  122. package/mixRender.js +1 -1
  123. package/package.json +1 -1
  124. package/pageRender/pageDisplay.js +87 -0
  125. package/pageRender/tabbar.js +52 -34
  126. package/pageRender/pop.js +0 -14
package/README.md CHANGED
@@ -5,8 +5,8 @@
5
5
 
6
6
  - mixAPP依赖,可用于web/app开发
7
7
 
8
-
9
8
  ### 安装方法
9
+
10
10
  ```javascript
11
11
  // npm
12
12
  npm i mix-public
@@ -15,7 +15,9 @@
15
15
  // pnpm
16
16
  pnpm i mix-public
17
17
  ```
18
+
18
19
  ### 初始化方式
20
+
19
21
  ```javascript
20
22
  // 布局使用(入口文件)
21
23
  import mixRender from "mix-public"
@@ -39,6 +41,7 @@
39
41
  ```
40
42
 
41
43
  ### 生命周期
44
+
42
45
  ```javascript
43
46
  // 页面加载时
44
47
  OnloadPage((op)=>{
@@ -53,6 +56,7 @@
53
56
  ```
54
57
 
55
58
  ### 方法使用方式
59
+
56
60
  ```javascript
57
61
 
58
62
  // 调用类型
@@ -66,8 +70,8 @@
66
70
  })
67
71
  ```
68
72
 
69
-
70
73
  ### 更新记录
74
+
71
75
  - v1.0.0 项目初始化
72
76
  - v1.0.1 调整文档调用方式
73
77
  - v1.0.2 调整publicLib调用方式(区分类app样式及单公共调用方法)
@@ -84,4 +88,5 @@
84
88
  - v1.1.3 方法包剩余调用方式整体调整
85
89
  - v1.1.4 goto 方法参数调整
86
90
  - v1.1.5 部分方法网页版完善/优化方法样式
87
- - v1.1.6 添加APPpop页面
91
+ - v1.1.6 添加APPpop页面
92
+ - v1.1.7 添加文档模板/部分 web 实现添加
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: 目录结构
3
+ date: 2023-08-07 11:37:11
4
+ permalink: /pages/8f427a/
5
+ categories:
6
+ - 前端军刀
7
+ - 框架介绍
8
+ tags:
9
+ -
10
+ author:
11
+ name: ABpasser
12
+ ---
13
+
14
+ ## 目录介绍
15
+
16
+ ## 文件介绍
@@ -0,0 +1,220 @@
1
+ ---
2
+ title: 前端框架
3
+ date: 2022-03-18 09:52:33
4
+ permalink: /pages/325da5/
5
+ categories:
6
+ - docs
7
+ - 前端军刀
8
+ - 框架介绍
9
+ tags:
10
+ -
11
+ author:
12
+ name: ABpasser
13
+ ---
14
+ ## 爽客邦ES Hybrid APP开发-前端开发框架(基于VUE-CLI)
15
+
16
+ # 前端框架依赖
17
+
18
+ ### 1.编译时依赖
19
+
20
+ * Vue CLI
21
+ * copy-webpack-plugin
22
+ * html-inline-css-webpack-plugin
23
+ * html-webpack-plugin
24
+ * inline-chunk-html-plugin
25
+ * mini-css-extract-plugin
26
+ * postcss-pxtorem
27
+ * pug-plain-loader
28
+ * sass,
29
+ * sass-loader,
30
+
31
+ ### 2.运行时依赖
32
+
33
+ * vue,
34
+ * vant,
35
+ * axios,
36
+ * crypto-js,
37
+ * core-js,
38
+ * echarts,
39
+ * libpag@,
40
+
41
+ ### 3.三方依赖包
42
+
43
+ * h5lock (移动端手势密码)
44
+ * arealist (中国地区表)
45
+ * clipboard (复制文本)
46
+ <!-- ![Tmage text](./img/productStructure.png) -->
47
+
48
+ # 介绍
49
+
50
+ ### 爽客邦ES 是一个基于 Vue CLI、Vue.js + APP原生 进行快速开发多页面APP的完整系统,提供
51
+
52
+ * 通过 @vue/cli 实现的交互式的多页面项目脚手架
53
+ * 项目输出结构为多页面web APP,多页面上传服务器通过服务器与APP原生进行交互,具有快速部署、页面灵活性高、快速迭代等优势
54
+ * 爽客邦ES项目打包文件为本地运行,
55
+ * 爽客邦ES致力于将web APP页面标准化、模块化。提高了传统H5页面在本地加载的安全性。
56
+
57
+ ### 项目开发目录结构
58
+
59
+ ```
60
+ |-- root
61
+ |-- config
62
+ |-- cleanfile.js
63
+ |-- inlinecode.js
64
+ |-- pages.config.js
65
+ |-- split-chunks.js
66
+ |-- public
67
+ |-- index.html
68
+ |-- src
69
+ |-- assets
70
+ |-- api
71
+ |-- .js
72
+ |-- public
73
+ |-- .js
74
+ |-- scss
75
+ |-- .scss
76
+ |-- static
77
+ |-- images
78
+ |-- .png/.jpe?g/.gif/webp
79
+ |-- pag
80
+ |-- .pag
81
+ |-- components
82
+ |-- pages
83
+ |-- .gitignore
84
+ |-- babel.config.js
85
+ |-- jsconfig.json
86
+ |-- package-lock.json
87
+ |-- package.js
88
+ |-- vue.config.js
89
+ ```
90
+
91
+ ### 打包目录结构
92
+
93
+ ```
94
+ |-- dist
95
+ |-- static
96
+ |-- css
97
+ |-- .css
98
+ |-- img
99
+ |-- .png/.jpe?g/.gif/webp
100
+ |-- js
101
+ |-- .js/.wasm
102
+ |-- pag
103
+ |-- .pag
104
+ |-- .html
105
+ ```
106
+
107
+ # 安装
108
+
109
+ ### Node 版本要求
110
+
111
+ Vue CLI 4.x 需要 Node.js v8.9 或更高版本 (推荐 v10 以上)。你可以使用 n,nvm 或 nvm-windows 在同一台电脑中管理多个 Node 版本。
112
+
113
+ #### 可以使用下列任一命令安装这个新的包
114
+
115
+ ```
116
+ npm install -g @vue/cli
117
+
118
+ # OR
119
+
120
+ yarn global add @vue/cli
121
+ ```
122
+
123
+ #### 项目依赖安装
124
+
125
+ ```
126
+ npm i
127
+
128
+ # OR
129
+
130
+ yarn
131
+ ```
132
+
133
+ # 开发
134
+
135
+ ## HTML 和静态资源
136
+
137
+ ### Index.html 文件
138
+
139
+ * public/index.html 文件是一个会被 html-webpack-plugin 处理的模板。在构建过程中,资源链接会被自动注入。另外,Vue CLI 也会自动注入图标链接,以及构建过程中处理的 JavaScript 和 CSS 文件的资源链接(页面私有逻辑及样式会以内联的形式注入html页面)
140
+
141
+ ### 插值
142
+
143
+ 因为 index 文件被用作模板,所以你可以使用 lodash template 语法插入内容:
144
+
145
+ * <%= VALUE %> 用来做不转义插值;
146
+ * <%- VALUE %> 用来做 HTML 转义插值;
147
+ * <% expression %> 用来描述 JavaScript 流程控制。
148
+
149
+ 除了被 html-webpack-plugin 暴露的默认值之外,所有客户端环境变量也可以直接使用。例如,BASE_URL 的用法:
150
+
151
+ ```html
152
+ <link rel="icon" href="<%= BASE_URL %>favicon.ico">
153
+ ```
154
+
155
+ ### 多页应用配置
156
+
157
+ * 爽客邦打包编译为多页面应用,需要对VUE CLI进行多页面配置。
158
+
159
+ * 在config/pages.config.js 中的 list 添加已有页面文件名及html标题名, 构建好的应用将会在不同的入口之间高效共享通用的 chunk 以获得最佳的加载性能。
160
+
161
+ ### 处理静态资源
162
+
163
+ 静态资源可以通过两种方式进行处理:
164
+
165
+ * 在 JavaScript 被导入或在 template/CSS 中通过相对路径被引用。这类引用会被 webpack 进行路径处理。
166
+
167
+ * 放置在 public 目录下或通过绝对路径被引用。这类资源将会直接被拷贝,而不会经过 webpack 处理(不推荐直接将静态资源放置public文件夹下,这样会导致静态资源会在打包编译后直接放在打包根目录处)
168
+
169
+ 图片资源压缩处理:
170
+
171
+ * 你可以通过 chainWebpack 调整内联文件的大小限制。例如,下列代码会将内联图片资源限制设置为 4KiB:
172
+
173
+ ```
174
+ chainWebpack:(config) => {
175
+ config.module
176
+ .rule('images')
177
+ .set('parser', {
178
+ dataUrlCondition: {
179
+ maxSize: 2 * 1024, // 2KiB
180
+ }
181
+ })
182
+ },
183
+ ```
184
+
185
+ ### 预处理器
186
+
187
+ * pug:爽客邦ES的html都是由pug进行撰写并转义,减少不必要的双标签代码量,并由pug-loader进行转义并编译。
188
+
189
+ ``` html
190
+ <template lang="pug">
191
+ .app
192
+ div(@click="goback")
193
+ img(src="~images/test.png")
194
+ #inputpassword(@click="setsuccess")
195
+ #goon(@click="goindex")
196
+ .lock.bgcfff
197
+ #passwordiswrong(@click="forgetpassword")
198
+ .forgetpassword.c999(@click="forgetpassword") 忘记手势密码
199
+ </template>
200
+ ````
201
+
202
+ ## CSS相关
203
+
204
+ 爽客邦ES项目天生支持 PostCSS、CSS Modules 和包含 Sass、Less、Stylus 在内的预处理器。
205
+
206
+ ### 引用静态资源
207
+
208
+ 所有编译后的 CSS 都会通过 css-loader 来解析其中的 url() 引用,并将这些引用作为模块请求来处理。这意味着你可以根据本地的文件结构用相对路径来引用静态资源。另外要注意的是如果你想要引用一个 npm 依赖中的文件,或是想要用 webpack alias,则需要在路径前加上 ~ 的前缀来避免歧义。
209
+
210
+ ### 样式预处理器
211
+
212
+ * scss:爽客邦ES前端项目的css与正常MPA并无区别,可定义公共样式与页面私有样式,但在页面中 style的SCOPE标签 无论添加与否都无全局生效作用。
213
+
214
+ ``` html
215
+ <style lang="scss">
216
+ ···
217
+ </style>
218
+ ````
219
+
220
+ # 部署
@@ -0,0 +1,253 @@
1
+ ---
2
+ title: 前端项目介绍
3
+ date: 2022-03-18 09:52:33
4
+ permalink: /pages/9ac2f1/
5
+ categories:
6
+ - docs
7
+ - 前端军刀
8
+ - 框架介绍
9
+ tags:
10
+ -
11
+ author:
12
+ name: ABpasser
13
+ ---
14
+ # 爽客邦ES Hybrid APP开发-前端总结(VUE)
15
+
16
+ ### 工具类
17
+ * pug2html (pug代码编译)
18
+ * sacss2css (sacss编译)
19
+ * JS & CSS Minifier(js及css压缩)
20
+ ### 三方
21
+ * VUE框架
22
+ * clipboard (复制文本)
23
+ * h5lock (手势密码二次封装)
24
+ * echarts (echarts图表)
25
+ * axios (ajax网络请求)
26
+ * vant组件库 (基于vue的三方组件库)
27
+ * arealist (中国地区表)
28
+ * PAG (腾讯动画解决方案)
29
+
30
+ ## 1、多页面混合APP开发介绍
31
+
32
+ - Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。Hybrid App兼具了Native App良好用户体验的优势,也兼具了Web App使用HTML5跨平台开发低成本的优势。
33
+
34
+ - Native 让开发者可以充分利用现代移动设备所提供的全部不同的特性和功能。另一方面,使用 Web 语言编写的所有代码都可以在不同的移动平台之间共享,使得开发和日常维护过程变得集中式、更简短、更经济高效。
35
+
36
+ - 混合APP在开发没有开发语言的限制也没有客户端和服务端的限制问题,更易于原生开发调试,开发周期短,投入少,易实现,兼容各种设备。
37
+
38
+ - 如果用 HTML 来编写 App 的大部分代码,并且只有在需要时才使用 Native 代码,能确保今天的投入在明天不会变得过时,因为 HTML 功能变得更丰富且开发周期短,易维护等特征,可以满足现代企业一系列更广泛的移动要求。
39
+
40
+ - 多页面混合APP开发优于单页面开发,在页面切换动效方面更贴近于原生APP开发,APP稳定性也优于单页面(当单页面中某一部分逻辑混乱或者内存溢出等各个方面情况发生时,多页面开发在退出当前页面时会销毁原有页面,不会影响其他页面显示及逻辑)
41
+
42
+
43
+ ## 2、混合APP开发结构图
44
+
45
+ - 移动终端webview,是使用操作系统的 API 来创建嵌入式 HTML的渲染引擎。主要功能是定义Android/ios应用程序与网页之间的接口,允许网页中的JavaScript调用Android/ios应用程序,提供基于web的应用程序的Android/ios API,将Web嵌入到Android/ios应用程序中。
46
+
47
+ - 前端交互js:包括基础功能js和业务功能js。
48
+
49
+ - 前端适配:前端页面+JS适配不同的终端:Pad、android、ios等。
50
+
51
+ - Hybrid APP 结构示意:
52
+
53
+ 这是|原生|title
54
+ --|:--:|--:
55
+ html|css|JS
56
+ 这是|原生|tab
57
+
58
+ ## 3、JS调用原生功能
59
+
60
+ - 原生方法调用:将JS与原生交互方法进行封装、判断终端类型通过页面调用不同的JS所对应的原生方法。
61
+
62
+ - 原生方法回调:在一些需要进行后续回应的操作中,需要原生对JS页面逻辑的回调或者通过页面返回触发OnStart执行相对相应的页面逻辑。(如:扫码逻辑中,APP对所识别的内容进行本地存储,再通过页面JS中声明的方法,在OnStart中触发页面的后续逻辑,从本地存储中拿到对应的值进行后续处理)
63
+
64
+ ```javascript
65
+ // 只要进入页面就会触发OnStart回调(OnStart需定义在window下)
66
+ function OnStart(){
67
+ app.todo();
68
+ }
69
+ let app = new Vue({
70
+ el:'#app',
71
+ data(){
72
+ return {
73
+ // vue内部变量申明
74
+ }
75
+ },
76
+ created(){
77
+ // 页面一开始加载就需要处理的逻辑(如:页面请求)
78
+ },
79
+ mounted(){
80
+ todo(){
81
+ // 具体执行逻辑(如:扫码之后的后续流程)
82
+ },
83
+ },
84
+ })
85
+ ```
86
+ ## 4、web页面注意事项
87
+
88
+ - 页面高度需要根据不同机型进行适配
89
+
90
+ - 在原生title与页面title做选择时,优先选择原生title。原生title暂时不支持渐变色,所以在做特使效果页面时需要使用webtitle
91
+
92
+ - 在页面中如果有原生title时,web页面展示内容区域为原生title以下一直到屏幕可视区域底部,此时整个web的body部分可以设置为整个滑动
93
+
94
+ - 使用webtitle时,web页面展示区域则为整个屏幕可视区域,如果要适配顶部状态栏,则需将状态栏与title栏固定(注意:顶部状态栏在固定时不支持绝对定位与渐变色同时存在)
95
+
96
+ - 使用webtitle时,自定义状态栏颜色时,滑动区域将不能设置为整个body,需要使用一个内部容器作为滑动容器,整个body容器需要设置overflow:hidden,否则页面会产生跳动,影响使用
97
+
98
+ - 所有的列表界面都需要做好下拉刷新以及触底加载(下拉刷新及触底加载需要将滚动盒子的高度设置为固定)
99
+
100
+ - body页面不滚动或内部盒子进行下拉滚动部分,需要将body标签设置为overflow:hidden,否则页面会跳动
101
+
102
+ - 安卓端在webview加载渲染时会根据机型不同做对应次数的resize事件,在resize中,整个html页面的高度为0
103
+
104
+
105
+
106
+ ### 页面图标展示规范
107
+
108
+ - 页面图表主要以eacharts为主,对统计图表进行修改
109
+
110
+ - eachart包融入整体JS方法包
111
+
112
+ ## 5、JS代码编写注意事项
113
+
114
+ ### 1.网络请求
115
+
116
+ - 在进行网络请求模块封装时需要拿到请求拦截器与响应拦截器,对所有的页面请求进行预先处理
117
+
118
+ - POST请求中,需要对POST请求进行限制,POST请求在没有返回值时应该限制再次发起POST请求,否则会在用户对POST请求多次点击是,服务器中同时存在多个相同的POST请求,造成服务器队列阻塞
119
+
120
+ - 在请求拦截器中需要对错误请求加强重试机制,在请求失败时,需要对失败的请求进行2-3次的重试,减少APP因为意外原因造成接口阻塞,直接请求失败地情况
121
+
122
+ - 需要对APP登录做唯一性处理,需要后端配合,根据返回值进行判断。
123
+
124
+ ```javascript
125
+ request.interceptors.response.use(
126
+ response => {
127
+ // 该处为后端返回正确是的整个内容
128
+ return res;
129
+ },
130
+ err => {
131
+ // 如果状态码为401,则表示有其他人登录,就返回登录页面
132
+ if (err.status === 401) {
133
+ tips('该账号在别处登录,请重新登录');
134
+ setTimeout(()=>{
135
+ // 1.5秒钟之后退出为登录页面
136
+ },1500);
137
+ };
138
+ // 重试机制开始
139
+ var config = err.config;
140
+ // 判断是否配置了重试
141
+ if(!config || !config.retry) return Promise.reject(err);
142
+
143
+ if(!config.shouldRetry || typeof config.shouldRetry != 'function') {
144
+ return Promise.reject(err);
145
+ }
146
+
147
+ //判断是否满足重试条件
148
+ if(!config.shouldRetry(err)) {
149
+ return Promise.reject(err);
150
+ }
151
+
152
+ // 设置重置次数,默认为0
153
+ config.__retryCount = config.__retryCount || 2;
154
+
155
+ // 判断是否超过了重试次数
156
+ if(config.__retryCount >= config.retry) {
157
+ return Promise.reject(err);
158
+ }
159
+
160
+ //重试次数自增
161
+ config.__retryCount += 1;
162
+ //延时处理
163
+ var backoff = new Promise(function(resolve) {
164
+ setTimeout(function() {
165
+ resolve();
166
+ }, 1000);
167
+ // }, config.retryDelay || 1);
168
+ });
169
+
170
+ //重新发起axios请求
171
+ return backoff.then(function() {
172
+ return request(config);
173
+ });
174
+ // return Promise.reject(error);
175
+ }
176
+ );
177
+ ```
178
+ ### 2.公共方法封装
179
+
180
+ - 在APP中需要用到的公共方法需要在公共JS包中封装成全局方法(如:toast卡片,对用户操作进行反馈等)
181
+
182
+ - 表单验证方法封装,在整个APP中会有很多个地方都会用到各式各样的表单验证,可以做到一次封装,在后续使用时便可任意复用
183
+
184
+ - APP适配处理的方法封装,通过JS判断不同机型,操作不同的CSS样式,实现web方式的APP适配
185
+
186
+ ### 3.多端运行JS区别
187
+
188
+ - web端运行需要将isWeb变量设置为true
189
+
190
+ - 在web端编写代码时会编写title栏以及tab栏,在进行APP打包时需要将title栏以及tab栏进行隐藏处理,如果在JS公共变量中设置了isWeb为true,需要注释该变量
191
+
192
+ ```javascript
193
+ // 底部导航栏是否显示
194
+ const bottomtabisshow = true;
195
+ // 顶部标题栏是否显示
196
+ const toptitleisshow = true;
197
+ Host = 'http://xxxxxxx/';
198
+ const showHost = 'http://xxxxxxx';
199
+ isWeb = true;
200
+ ```
201
+
202
+ ## 6、页面bug定位
203
+
204
+ - 操作型问题(如:页面跳转携带参数,页面操作逻辑,页面展示性问题)问题定位为web前端部分
205
+
206
+ - 页面数据展示不完整、有缺少部分,首先检查前端代码部分(包括:接口传参,后端数据返回字段展示、字段引用等)
207
+
208
+ - 页面title显示、tab栏显示问题、页面整体显示问题(首先判断JS进程是否有错误),定位为APP框架部分
209
+
210
+ - 页面渲染逻辑:web代码生成 -> APP框架加载web代码 -> 逐行执行JS代码逻辑 -> vue框架生命周期中发起请求,渲染页面,生命周期mounted执行完毕 -> 页面+逻辑加载完成 -> 用户对web页面操作,以JS代码调用APP原生方法
211
+
212
+ # VUE多页面开发模式(基础)
213
+
214
+ ``` javascript
215
+ doctype html
216
+ html
217
+ head
218
+ meta(charset='utf-8')
219
+ title 欢迎
220
+ meta(name='keywords', content='欢迎')
221
+ meta(name='description', content='欢迎')
222
+ meta(content='width=device-width,minimum-scale=1.0,maximum-scale=1.0,shrink-to-fit=no,user-scalable=no', name='viewport',viewport='cover')
223
+ //- 开启仿APP模式
224
+ meta(name='apple-mobile-web-app-capable', content='yes')
225
+ meta(name='apple-mobile-web-app-status-bar-style', content='black-translucent')
226
+ //- 控制页面内容
227
+ meta(content='telephone=no', name='format-detection')
228
+ meta(content='email=no', name='format-detection')
229
+ meta(name='apple-mobile-web-app-title', content='欢迎')
230
+ meta(http-equiv='Cache-Control', content='no-siteapp')
231
+ body
232
+ #app
233
+ script.
234
+ let app = new Vue({
235
+ el: '#app',
236
+ data() {
237
+ return {
238
+ };
239
+ },
240
+ created() {
241
+ },
242
+ mounted() {
243
+ },
244
+ methods: {
245
+ }
246
+ });
247
+ ```
248
+ # VUE多页面开发模式(模块化)
249
+
250
+ - 以vuecli为基础进行打包配置,多入口输入输出,将页面逻辑及页面公共样式嵌入html文件。
251
+
252
+ * 由于APP页面跳转方式为原生跳转,html页面组件模式为多页面,根据不同的路径渲染不同的页面
253
+ *
@@ -0,0 +1,153 @@
1
+ ---
2
+ title: 前端代码规范
3
+ date: 2024-06-11 10:53:22
4
+ permalink: /pages/bd8244/
5
+ categories:
6
+ - docs
7
+ - 前端军刀
8
+ - 框架介绍
9
+ tags:
10
+ -
11
+ author:
12
+ name: ABpasser
13
+ ---
14
+ <!--
15
+ * @Author: guicheng 1625811865@qq.com
16
+ * @Date: 2024-04-01 12:00:35
17
+ * @LastEditors: guicheng 1625811865@qq.com
18
+ * @LastEditTime: 2024-04-01 15:01:48
19
+ * @FilePath: /docs/docs/01.前端军刀/01.框架介绍/04.前端代码规范.md
20
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
21
+ -->
22
+
23
+ ---
24
+
25
+ title: 前端项目介绍
26
+ date: 2022-03-18 09:52:33
27
+ permalink: /pages/3ba9g2/
28
+ categories:
29
+
30
+ - docs
31
+ - 前端军刀
32
+ - 框架介绍
33
+ tags:
34
+ - author:
35
+ name: ABpasser
36
+
37
+ ---
38
+
39
+ # 爽客邦 ES Hybrid APP 开发-前端代码规范
40
+
41
+ ### 文件编码格式
42
+
43
+ - UTF-8
44
+
45
+ ### 文件命名
46
+
47
+ #### html 文件/夹命名
48
+
49
+ - 全小写以-分隔单词
50
+
51
+ ```javascript
52
+ "user-login.html";
53
+ ```
54
+
55
+ #### html 文件夹命名
56
+
57
+ - 全小写以-分隔单词
58
+
59
+ ```javascript
60
+ "user-login.scss";
61
+ ```
62
+
63
+ ### JS 代码命名
64
+
65
+ #### 环境常量
66
+
67
+ - 全大写以\_分隔单词
68
+
69
+ ```javascript
70
+ const PRODUCTION_ENVIRONMENT = "develop";
71
+ ```
72
+
73
+ #### 常量
74
+
75
+ - 大驼峰命名
76
+
77
+ ```javascript
78
+ const MerchantNo = 6230214578451254112;
79
+ ```
80
+
81
+ #### 变量
82
+
83
+ - 小驼峰命名
84
+
85
+ ```javascript
86
+ let merchantNo = "6230214578451254112";
87
+ ```
88
+
89
+ #### 函数命名
90
+
91
+ - 小驼峰命名
92
+
93
+ ```javascript
94
+ const stockFormatter = (num) => {
95
+ return num * 2;
96
+ };
97
+ ```
98
+
99
+ #### 组件
100
+
101
+ - 小驼峰命名
102
+
103
+ ```javascript
104
+ merchantCard.vue;
105
+ ```
106
+
107
+ ### 注释
108
+
109
+ - 注释应多用于某段代码为什么存在
110
+ - 强调代码的目的,用途和背后的逻辑
111
+
112
+ #### 单行注释
113
+
114
+ - 单行注释放在注释代码上方,如果单行注释不是代码块的首行,需在注释前面空一行
115
+
116
+ ```javascript
117
+ // 库存格式化,用于将当前库存翻倍显示
118
+ const stockFormatter = (num) => {
119
+ return num * 2;
120
+ };
121
+ ```
122
+
123
+ #### 多行注释
124
+
125
+ - 多行注释 /\*\*... \*/ 用于文件说明,类型说明,参数说明
126
+
127
+ ```javascript
128
+ /**
129
+ * 用于将当前库存翻倍显示
130
+ * num: 当前库存数量
131
+ * */
132
+ const stockFormatter = (num)=>{
133
+ return num * 2;
134
+ };
135
+ ```
136
+
137
+ - 多行注释 //... 用于代码块多行解释
138
+
139
+ ```javascript
140
+ // 库存格式化
141
+ // 用于将当前库存翻倍显示
142
+ const stockFormatter = (num)=>{
143
+ return num * 2;
144
+ };
145
+ ```
146
+
147
+ ### 字符串格式
148
+
149
+ - 字符串符号应为""
150
+
151
+ ```javascript
152
+ const SnNo = "62312012452123654"
153
+ ```